"Ассемблер и программирование для IBM PC. (IBM PC assembler language and programming)" - читать интересную книгу автора (Абель Питер, Переводчик: Ю.В.Сальников)

В данный момент команда MOV еще не выполнена. Для ее выполнения
нажмите клавишу T (для трассировки) и клавишу Return. В результате команда
MOV будет выполнена и отладчик выдаст на экран содержимое регистров,
флаги, а также следующую на очереди команду. Заметим, что регистр AX
теперь содержит 0123. Машинная команда пересылки в регистр AX имеет код B8
и за этим кодом следует непосредственные данные 2301. В ходе выполнения
команда B8 пересылает значение 23 в младшую часть регистра AX, т.е.
однобайтовый регистр AL, а значение 01 - в старшую часть регистра AX, т.е.
в регистр AH:

AX: | 01 | 23 |

Содержимое регистра IP:0103 показывает адрес следующей выполняемой
команды в сегменте кодов:

13C6:0103 052500 ADD AX,0025

Для выполнения данной команды снова введите T. Команда прибавит 25 к
младшей (AL) части регистра AX и 00 к старшей (AH) части регистра AX, т.е.
прибавит 0025 к регистру AX. Теперь регистр AX содержит 0148, а регистр IP
0106 - адрес cледующей команды для выполнения.
Введите снова команду T. Следующая машинная команда пересылает
содержимое регистра AX в регистр BX и после ее выполнения в регистре BX
будет содержаться значение 0148. Регистр AX сохраняeт прежнее значение
0148, поскольку команда MOV только копиpует данные из одного места в
другое.
Теперь вводите команду T для пошагового выполнения каждой оставшейся
в программе команды. Следующая команда прибавит cодержимое регистра AX к
содержимому регистра BX, в последнем получим 0290. Затем программа
скопирует содержимое pегистра BX в CX, вычтет AX из CX, и вычтет AX из
него самого. После этой последней команды, флаг нуля изменит свое
состояние c NZ (не нуль) на ZR (нуль), так как результатом этой команды
является нуль (вычитание AX из самого себя очищает этот регистр в 0).
Можно ввести T для выполнения последних команд NOP и RET, но это мы
сделаем позже. Для просмотра программы в машинных кодах в сегменте кодов
введите D для дампа:

D CS:100

В результате отладчик выдаст на каждую строку экрана по 16 байт
данных в шест. представлении (32 шест. цифры) и в символьном представлении
в коде ASCII (один символ на каждую пару шест. цифр). Представление
машинного кода в символах ASCII не имеет смысла и может быть игнорировано.
В следующих разделах будет рассмотрен символьный дамп более подробно.
Первая строка дампа начинается с 00 и представляет содержимое ячеек
от CS:100 до CS:10F. Вторая строка представляет cодержимое ячеек от CS:110
до CS:11F. Несмотря на то, что ваша программа заканчивается по адресу
CS:111, команда Dump aвтоматически выдаст на восьми строках экрана дамп с
адреса CS:100 до адреса CS:170.
При необходимости повторить выполнение этих команд сбросьте