汇编语言调试及运行
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
UP EI PL NZ NA PO NC
0B17:0100 3031 XOR [BX+DI],DH
DS:0000=CD
-a100
0B17:0100 MOV AX,1234
0B17:0103 MOV [1000],AX
0B17:0106 MOV BX,1002
0B17:0109 MOV BYTE PTR[BX],20
-F11011F41
-D110 11F
0B17:0110 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
-E100 30 31 32 33 34 35 36 37 38 393A3B3C3D 3E 3F
-D100 10F
0B17:0120
-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=0103 NV UP EI PL NZ NAPONC
0B17:0103 A30010 MOV [1000],AX DS:1000=DE8B
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: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
二、实验内容
1、键入 DEBUG 进入 DEBUG 控制状态,显示提示符 '- '
2、用命令 F10010F'A' 将'A'的ASCII码填入内存。
3、用命令 D10010F观察内存中的十六进制码及屏幕右边的ASCII字符。
4、用命令 F11011F41 重复上二项实验,观察结果并比较。
5、用命令E100 30 31 32 ……3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的十六进制数是什么字符的ASCII码?
0B17:0100 30 31 32 33 34 35 36 37-38 393A3B3C3D 3E3F0123456789:;<=>?
-A100
0B17: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 来自百度文库3 INC BX
-T
AX=1234 BX=1003 CX=0000 DX=0039 SP=FFEE BP=0000 SI=0000 DI=0000
0B17:0118 885001 MOV [BX+SI+01],DL DS:1007=75
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
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
-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
BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=0115 NV
UP EI PL NZ NA PO NC
0B17:0115 2B060211 SUB AX,[1102]
DS:1102=5678
-T
AX=DDCD 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
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
-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=010CNV UP EI PL NZ NAPONC
0B17:010CB239 MOV DL,39
-T
⑥ 怎样执行程序
⑦ 怎样跟踪程序
⑧ 怎样命名和读写文件
⑨ 怎样退出Debug
2、熟悉汇编中通用传送指令。
3、理解指令不同的寻址方式,注意规定或限制使用的寄存器如:双操作数指令中,源操作数和目的操作数的地址不能同时为存储器地址,段跨越前缀不能使用CS,操作对象是地址还是地址中的内容,指令隐含使用的寄存器。
-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
0B17:0116 8810 MOV [BX+SI],DL DS:1006=00
-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=0118 NV UP EI PL NZ NAPONC
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
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
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
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=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
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
汇编语言程序设计实验
实验一
汇编语言的调试和运行
班级:
姓名:
学号:
日期:
实验一汇编语言的调试和运行
一、实验目的
1、熟悉DEBUG程序和命令,并用它运行基本指令和察看运行结果。
怎样调用Debug
② 如何显示和修改内存单元
③ 如何显示和修改CPU的寄存器
④各标志位的状态是如何表示的,怎样修改标志寄存器
⑤ 怎样汇编与反汇编
BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=0106 NV
UP EI PL NZ NA PO NC
0B17:0106 C70602117856 MOV WORD PTR
[1102],5678 DS:1102=2FCD
-T
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE
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
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
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
UP EI PL NZ NA PO NC
0B17:0100 3031 XOR [BX+DI],DH
DS:0000=CD
-a100
0B17:0100 MOV AX,1234
0B17:0103 MOV [1000],AX
0B17:0106 MOV BX,1002
0B17:0109 MOV BYTE PTR[BX],20
-F11011F41
-D110 11F
0B17:0110 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
-E100 30 31 32 33 34 35 36 37 38 393A3B3C3D 3E 3F
-D100 10F
0B17:0120
-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=0103 NV UP EI PL NZ NAPONC
0B17:0103 A30010 MOV [1000],AX DS:1000=DE8B
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: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
二、实验内容
1、键入 DEBUG 进入 DEBUG 控制状态,显示提示符 '- '
2、用命令 F10010F'A' 将'A'的ASCII码填入内存。
3、用命令 D10010F观察内存中的十六进制码及屏幕右边的ASCII字符。
4、用命令 F11011F41 重复上二项实验,观察结果并比较。
5、用命令E100 30 31 32 ……3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的十六进制数是什么字符的ASCII码?
0B17:0100 30 31 32 33 34 35 36 37-38 393A3B3C3D 3E3F0123456789:;<=>?
-A100
0B17: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 来自百度文库3 INC BX
-T
AX=1234 BX=1003 CX=0000 DX=0039 SP=FFEE BP=0000 SI=0000 DI=0000
0B17:0118 885001 MOV [BX+SI+01],DL DS:1007=75
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
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
-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
BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=0115 NV
UP EI PL NZ NA PO NC
0B17:0115 2B060211 SUB AX,[1102]
DS:1102=5678
-T
AX=DDCD 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
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
-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=010CNV UP EI PL NZ NAPONC
0B17:010CB239 MOV DL,39
-T
⑥ 怎样执行程序
⑦ 怎样跟踪程序
⑧ 怎样命名和读写文件
⑨ 怎样退出Debug
2、熟悉汇编中通用传送指令。
3、理解指令不同的寻址方式,注意规定或限制使用的寄存器如:双操作数指令中,源操作数和目的操作数的地址不能同时为存储器地址,段跨越前缀不能使用CS,操作对象是地址还是地址中的内容,指令隐含使用的寄存器。
-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
0B17:0116 8810 MOV [BX+SI],DL DS:1006=00
-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=0118 NV UP EI PL NZ NAPONC
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
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
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
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=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
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
汇编语言程序设计实验
实验一
汇编语言的调试和运行
班级:
姓名:
学号:
日期:
实验一汇编语言的调试和运行
一、实验目的
1、熟悉DEBUG程序和命令,并用它运行基本指令和察看运行结果。
怎样调用Debug
② 如何显示和修改内存单元
③ 如何显示和修改CPU的寄存器
④各标志位的状态是如何表示的,怎样修改标志寄存器
⑤ 怎样汇编与反汇编
BP=0000 SI=0000 DI=0000
DS=0B17 ES=0B17 SS=0B17 CS=0B17 IP=0106 NV
UP EI PL NZ NA PO NC
0B17:0106 C70602117856 MOV WORD PTR
[1102],5678 DS:1102=2FCD
-T
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE
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
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