汇编语言调试及运行
HLT
其中粗斜体的数字可以修改。
7、内存操作数及各种寻址方式使用
程序内容:
MOVAX,1234
MOV[1000],AX
MOVBX,1002
MOVBYTE PTR[BX],20
MOVDL,39
INCBX
MOV[BX],DL
DECDL
MOVSI,3
MOV[BX+SI],DL
MOV[BX+SI+1],DL
0B17:0113 BE0300 MOV SI,0003
-T
AX=1234 BX=1003 CX=0000 DX=0038 SP=FFEE BP=0000 SI=0003 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=0116 NV UP EI PL NZ NAPONC
UP EI PL NZ NA PO NC
0B17:0100 3031 XOR [BX+DI],DH
DS:0000=CD
-A100
0B17:0100 MOV WORD PTR[1100],3445
0B17:0106 MOV WORD PTR[1102],5678
0B17:010CMOV WORD PTR[1106],6732
MOVWORD PTR[BX+SI+2],2846
操作步骤
1) 用A命令键入上述程序,并用T命令逐条运行。
2) 每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。
-F10010F'A'
-D100 10F
0B17:0100 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
6、用DEBUG调试和运行下列程序,记录所用的DEBUG命令和运行结果。
MOV WORD PTR [1100],3445
MOV WORD PTR [1102],5678
MOV WORD PTR [1106],6732
MOV AX,[1100]
SUB AX,[1102]
ADD AX,[1106]
MOV [1104],AX
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=010FNV UP EI PL NZ NA PE NC
0B17:010F8817 MOV [BX],DL DS:1003=83
-T
AX=1234 BX=1003 CX=0000 DX=0039 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=0122 NV
UP EI PL NZ NA PO CY
0B17:0122 49 DEC CX
-R
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE
BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=0100 NV
-T
AX=1234 BX=1002 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=0109 NV UP EI PL NZ NAPONC
0B17:0109 C60720 MOV BYTE PTR [BX],20 DS:1002=51
-T
AX=1234 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=0106 NV UP EI PL NZ NAPONC
0B17:0106 BB0210 MOV BX,1002
0B17:010CMOV DL,39
0B17:010E INC BX
0B17:010FMOV [BX],DL
0B17:0111 DEC DL
0B17:0113 MOV SI,3
0B17:0116 MOV [BX+SI],DL
0B17:0118 MOV [BX+SI+1],DL
0B17:011B MOV WORD PTR[BX+SI+2],2846
0B17:0112 MOV AX,[1100]
0B17:0115 SUB AX,[1102]
0B17:0119 ADD AX,[1106]
0B17:011D MOV [1104],AX
0B17:0120 HLT
0B17:0121
-T
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE
BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=010CNV
UP EI PL NZ NA PO NC
0B17:010CC70606113267 MOV WORD PTR
[1106],6732 DS:1106=924E
-T
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE
BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=0120 NV
UP EI PL NZ NA PE CY
0B17:0120 F4 HLT
-T
AX=44FF BX=0000 CX=0000 DX=0000 SP=FFEE
BP=0000 SI=0001 DI=0000
0B17:0100 30 31 32 33 34 35 36 37-38 393A3B3C3D 3E3F0123456789:;<=>?Leabharlann -A1000B17:0100
-R
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE
BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=0100 NV
AX=1234 BX=1002 CX=0000 DX=0039 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=010E NV UP EI PL NZ NA PO NC
0B17:010E 43 INC BX
-T
AX=1234 BX=1003 CX=0000 DX=0039 SP=FFEE BP=0000 SI=0000 DI=0000
BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=011D NV
UP EI PL NZ NA PE CY
0B17:011D A30411 MOV [1104],AX
DS:1104=068C
-T
AX=44FF BX=0000 CX=0000 DX=0000 SP=FFEE
BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=0119 NV
UP EI NG NZ ACPOCY
0B17:0119 03060611 ADD AX,[1106]
DS:1106=6732
-T
AX=44FF BX=0000 CX=0000 DX=0000 SP=FFEE
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=0111 NV UP EI PL NZ NA PE NC
0B17:0111 FECA DEC DL
-T
AX=1234 BX=1003 CX=0000 DX=0038 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=0113 NV UP EI PL NZ NAPONC
汇编语言程序设计实验
实验一
汇编语言的调试和运行
班级:
姓名:
学号:
日期:
实验一汇编语言的调试和运行
一、实验目的
1、熟悉DEBUG程序和命令,并用它运行基本指令和察看运行结果。
怎样调用Debug
② 如何显示和修改内存单元
③ 如何显示和修改CPU的寄存器
④各标志位的状态是如何表示的,怎样修改标志寄存器
⑤ 怎样汇编与反汇编
二、实验内容
1、键入 DEBUG 进入 DEBUG 控制状态,显示提示符 '- '
2、用命令 F10010F'A' 将'A'的ASCII码填入内存。
3、用命令 D10010F观察内存中的十六进制码及屏幕右边的ASCII字符。
4、用命令 F11011F41 重复上二项实验,观察结果并比较。
5、用命令E100 30 31 32 ……3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的十六进制数是什么字符的ASCII码?
BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=0112 NV
UP EI PL NZ NA PO NC
0B17:0112 A10011 MOV AX,[1100]
DS:1100=3445
-T
AX=3445 BX=0000 CX=0000 DX=0000 SP=FFEE
0B17:0116 8810 MOV [BX+SI],DL DS:1006=00