资源描述:
《汇编指导书范文.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、汇编指导书范文 2.掌握8088/8086指令系统---数据传送指令、算术指令。 3.掌握用DEBUG调试程序的方法。 4.掌握8088/8086CPU寄存器的用途和存储器组织及它们之间的关系。 5.掌握内存操作数及寻址方法。 6.掌握汇编语言伪操作:BYTEPTR,WORDPTR。 【实验性质】验证性实验(学时数2H)【实验内容】 一、DEBUG命令的使用1.敲DEBUG进入DEBUG环境,显示提示符'_'。 2.用命令D10010F观察内存中的16进制码及屏幕右边的ASCII字符。 3.用命令E100303132……3F将
2、30H~3FH写入地址为100H开始的内存单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码?4.用命令F100L0F'A'将'A'的ASCII码填入内存,用D命令查看结果。 5.用命令F11011F41将41H填入内存,用D命令观察结果并比较。 6.用R命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。 7.用R命令将AX,BX内容改写为1234H及5678H。 8.用H命令检查下列各组16进制数加减结果并和你的手算结果比较: (1)34H,22H (2)56H,78H
3、 (3)A5,79H (4)1284H,5678H (5)A758,347FH 二、8088/8086常用指令练习1.传送指令1)用A命令在内存100H处键入下列内容:MOVAX,1234MOVBX,5678XCHGAX,BXMOVAH,34MOVAL,56MOVCX,75ABXCHGAX,CX2)用U命令检查键入的程序,特别注意左边的机器码。 3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。 并注意标志位有无变化。 2.加减法指令:1)用A命令在内存200H处键入下列内容:MOVAH,34MOVAL
4、,2EADDAL,AHSUBAL,78MOVCX,1234MOVDX,5678ADDCX,DXSUBSUBCX,AXCX,CX2)用U命令检查键入的程序及对应的机器码。 3)用T命令逐条运行这些指令,检查并记录有关寄存器及ZF情况。 思考题这次运行还是打入T,行不行?如何单步运行上述小程序?用R命令检查一下IP的内容。 注意T命令与IP的关系。 3.带进位加减法:1)用A命令在内存300H处键入下列内容,并用U命令检查:MOVAH,12MOVAL,89MOVCH,56MOVCL,98ADDAL,CLADCAH,CHMOVDH,A7MOV
5、DL,58SUBDL,7FSBBDH,342)用T命令逐条运行这些指令,检查并记录有关寄存器及CF内容。 3)上面这段程序若改用16位操作指令达到同样结果,怎么改?试修改并运行之。 4.BCD码加减法1)内容:MOVADDDAA2)要求:用A命令键入,U命令检查,T命令逐条运行并记录有关寄存器及AF内容。 AL,58AL,25 三、内存操作数及各种寻址方式使用:1)用A命令在内存400H处键入下列内容,并用U命令检查:MOVAX,1234MOV[1000],AXMOVBX,1002MOVBYTEPTR[BX],20MOVDL,39INC
6、BXMOV[BX],DLDECDLMOVSI,3MOV[BX+SI],DLMOV[BX+SI+1],DLMOVWORDPTR[BX+SI+2],28462)用T命令逐条运行这些指令,每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。 注意D命令显示结果中右边的ASCII字符及双字节数存放法。 思考题:有关指令中BYTEPTR及WORDPTR伪操作不加行不行?试一试。 四、DEBUG环境下汇编运行程序方法用A命令汇编程序,编程完成将DS:1000开始的10个字节的内存单元的内容相加,并把相加结果存放
7、在DS100A内存单元中,用DEBUG调试运行该程序,并察看运行结果。 内容MOVCX,0AHMOVAL,0MOVBX,1000LL:ADDAL,[BX]INCBXDECCXJNZLLMOV[BX],ALINT3步骤1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LL的实际地址,在键入JNZ指令时LL用实际地址值代替。 2)用U命令检查键入的程序及对应的机器码。 3)用E10000102030405060708090A将1000H开始的前10个内存单元的内容修改为01,02,03,04,05……0A,用D命令查看修改结果。
8、 4)用T命令逐条运行上述小程序指令,检查并记录有关寄存器、存储单元内容及ZF情况。 5)用F2000L0A02030405……0B将1000H开始