logo
Полный текст учебника

Основные команды отладчика debug

-R

AX=0005 BX=0005 CX=0000 DX=0001 SP=FFEE BP=0000 SI=0000 DI=0000

DS=1A8E ES=1A8E SS=1A8E CS=1A8E IP=010A NV UP EI PL NZ NA PO NC

1A8E:010A B81500 MOV AX,0015 ;

Если отображается содержимое одного регистра, то команда R позволяет изменить его содержимое:

-R ax

AX 0005

:45

-R ax

AX 0045

Пример ввода программы:

-A 100

1A8E:0100 mov ax,15

1A8E:0103 mov bx,5

1A8E:0106 add ax,bx

1A8E:0108 div bx

1A8E:010A

Пример деассемблирования программы:

-U100 La

1A8E:0100 B81500 MOV AX,0015

1A8E:0103 BB0500 MOV BX,0005

1A8E:0106 01D8 ADD AX,BX

1A8E:0108 F7F3 DIV BX

Пример трассировки программы:

-R

AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=1A8E ES=1A8E SS=1A8E CS=1A8E IP=0100 NV UP EI PL NZ NA PO NC

1A8E:0100 B81500 MOV AX,0015

-t

AX=0015 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=1A8E ES=1A8E SS=1A8E CS=1A8E IP=0103 NV UP EI PL NZ NA PO NC

1A8E:0103 BB0500 MOV BX,0005

-t

AX=0015 BX=0005 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=1A8E ES=1A8E SS=1A8E CS=1A8E IP=0106 NV UP EI PL NZ NA PO NC

1A8E:0106 01D8 ADD AX,BX

-t

AX=001A BX=0005 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=1A8E ES=1A8E SS=1A8E CS=1A8E IP=0108 NV UP EI PL NZ NA PO NC

1A8E:0108 F7F3 DIV BX

-t

AX=0005 BX=0005 CX=0000 DX=0001 SP=FFEE BP=0000 SI=0000 DI=0000

DS=1A8E ES=1A8E SS=1A8E CS=1A8E IP=010A NV UP EI PL NZ NA PO NC

1A8E:010A 48 DEC AX

После выполнения команд (команды) на дисплей выводятся:

После выполнения программы получим:

-g 10a

AX=0005 BX=0005 CX=0000 DX=0001 SP=FFEE BP=0000 SI=0000 DI=0000

DS=1A8E ES=1A8E SS=1A8E CS=1A8E IP=010A NV UP EI PL NZ NA PO NC

1A8E:010A 48 DEC AX

-d

1D20:0C00 F7 07 01 00 75 12 2E C7-06 CB 98 02 00 EB 09 E8 ....u...........

1D20:0C10 96 00 F8 EB 0D F9 EB 0A-50 B0 03 B4 FF E8 03 00 ........P.......

1D20:0C20 58 F8 C3 57 26 8B 7F 04-2E 89 3E CF 98 26 88 05 X..W&.....>..&..

1D20:0C30 26 88 65 01 50 2E A1 DE-98 26 89 45 02 58 3C 01 &.e.P....&.E.X<.

1D20:0C40 75 0A 26 89 55 04 26 89-4D 06 EB 5A 3C 02 75 06 u.&.U.&.M..Z<.u.

1D20:0C50 26 89 55 04 EB 50 3C 07-74 E8 3C 08 74 E4 3C 06 &.U..P<.t.<.t.<.

1D20:0C60 75 06 26 88 55 04 EB 3E-3C 04 75 0F 2E A1 D8 98 u.&.U..><.u.....

1D20:0C70 40 26 89 45 04 26 8C 5D-06 EB 2B 26 89 75 04 26 @&.E.&.]..+&.u.&

Частные случаи:

Примеры:

-d 3b43 L3

1A8E:3B40 6C 6C 65 lle

-d 3b43 L1

1A8E:3B40 6C l

-d 405

1A8E:0400 69 6C 65-66 69 6C 65 66 69 6C 65 ilefilefile

1A8E:0410 66 69 6C 65 66 69 6C 65-66 69 6C 65 66 69 6C 65 filefilefilefile

1A8E:0420 00 44 CD 21 F6 C2 80 74-05 F6 C2 10 75 05 E8 52 .D.!...t....u..R

1A8E:0430 FD 8C DB 53 81 C3 2D 00-03 DA 8C CD 8B C2 80 E4 ...S..-.........

1A8E:0440 0F B1 04 8B F2 D3 E6 8B-CE D1 E9 4E 4E 8B FE 2B ...........NN..+

1A8E:0450 E8 2B D8 8E C5 8E DB F3-A5 FC 8E DD 07 06 BF 00 .+..............

1A8E:0460 01 33 F6 AD 95 BA 10 00-EB 2B AD 95 B2 10 EB 35 .3.......+.....5

1A8E:0470 AD 95 B2 10 EB 36 AD 95-B2 10 EB 3B AD 95 B2 10 .....6.....;....

1A8E:0480 EB 5D AD 95 B2 .]...

Содержимое выводится в шестнадцатеричном коде и в соответствующих символах ASCII (символы расширенного набора ASCII замещаются точкой (.).

–e 200 'pole', 'файл', 'file'

выводится информация:

-d Lc

1A8E:0200 70 6F 6C 65 E4 A0 A9 AB-66 69 6C 65 pole...file;

При вводе числовой информации (машинных кодов команд) следует набрать E n, нажать клавишу Enter, и после отображенного байта информации и точки ввести новое значение (1 байт), например:

-e 300

1A8E:0300 73.20

Для ввода последующих байтов нужно нажать клавишу Space и выполнить ввод очередного байта.

–f 400 L20 'file'.

Результат выполнения команды:

-d 400 L30

1A8E:0400 66 69 6C 65 66 69 6C 65-66 69 6C 65 66 69 6C 65 filefilefilefile

1A8E:0410 66 69 6C 65 66 69 6C 65-66 69 6C 65 66 69 6C 65 filefilefilefile

1A8E:0420 00 44 CD 21 F6 C2 80 74-05 F6 C2 10 75 05 E8 52 .D.!...t....u..R

-s 200 l10 'fi'.

Результат работы команды:

1A8E:0208.

Заметим, что:

mov AX, 0123

на экране получим код ассемблера для команды mov ax:

B82301