汇编语言程序设计实验指导大作业

上传人:xzh****18 文档编号:41398136 上传时间:2018-05-29 格式:DOC 页数:18 大小:1.36MB
返回 下载 相关 举报
汇编语言程序设计实验指导大作业_第1页
第1页 / 共18页
汇编语言程序设计实验指导大作业_第2页
第2页 / 共18页
汇编语言程序设计实验指导大作业_第3页
第3页 / 共18页
汇编语言程序设计实验指导大作业_第4页
第4页 / 共18页
汇编语言程序设计实验指导大作业_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《汇编语言程序设计实验指导大作业》由会员分享,可在线阅读,更多相关《汇编语言程序设计实验指导大作业(18页珍藏版)》请在金锄头文库上搜索。

1、实验一、调试工具 DEBUG 的应用 一、DEBUG 命令使用1、开机后,切换到命令提示符窗口下,出现提示符后键入命令DEBUG, 进入调试环境, 显示提示符 - 。2、用命令 F 200 220 AB 将AB的两个ASCII码循环填入内存。注:第一个参数200是当前段的起始偏移地址,第二个参数220是终了偏移地址,第三个参数AB是被填入的数值,若不给出第二个参数则填入128(8行)个字节。3、用命令 D200 观察内存中的十六进制码及屏幕右边的ASCII字符。4、用命令 F230 23F 12 重复上二项实验,观察结果并比较。5、用命令 E200 41 42 43 44 45将A-E的ASC

2、II码写入地址为200开始的内存单元中,再用D命令观察结果,看键入的十六进制数和ASCII码的对应关系。6、用H命令检查下列各组十六进制数的和与差(补码表示):(1)56H,34H (2)23H,45H (3)AB,3045H注:输入 H 12 34 则在下一行显示0046 FFDE,即二者的补码和与差。在DEBUG环境下所有数据和地址都是按16进制处理,所以不要加后面的H标志。7、用R命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。8、用R命令将AX,BX内容改写为1050H及23A8H。二、8086 常用指令练习 1、传送指令1)用A命令在内存4

3、00H处键入下列内容: -A 0400*:0400 MOV AX,1234*:0403 MOV BX,5678*:0406 XCHG AX,BX*:0408 MOV AH,10*:040A MOV AL,20*:040C MOV CX,89AB*:040F XCHG AX,CX*:0411 注:*为段寄存器CS的当前值,内容是不一定的,每行命令以回车键结束。2)用U命令检查键入的程序并记录,特别注意左边的机器码与指令的对应关系。-U 04003)用T命令逐条运行这些指令,每运行一行指令观察各寄存器及IP的变化情况,并注意标志位的变化情况。-T =0400 (注:=400是表示从偏移地址400处

4、开始单步执行)-T (不给出地址,则表示接续上一条指令执行)-T2、加减法指令:1)用A命令在内存100H处键入下列内容:MOVAH,11MOVAL,22ADDAL,AHSUBAL,33MOVCX,1234MOVDX,5678ADDCX,DXSUBCX,AXSUBCX,CX2)用U命令检查键入的程序及对应的机器码。3)用T命令逐条运行这些指令,检查并记录有关寄存器及ZF情况。当进行 mov 运算时,ZF 标志位不会改变,因为 mov 指令的执行并不会改变标志位。ZR 表 示 ZF=1,NZ 表示 ZF=0。3、带进位加减法: 1)用A命令在内存200H处键入下列内容,并用U命令检查:MOVAH

5、,12MOVAL,84MOVCH,56MOVCL,78ADDAL,CLADCAH,CHMOVDH,A7MOVDL,58SUBDL,7FSBBDH,342)用T命令逐条运行这些指令,检查并记录有寄存器及CF内容。3)上面这段程序若改用 16 位操作指令达到同样结果,怎么改?试修改并运行之。 修改后:4、BCD码加减法(选作)1)内容:MOVAL,65ADDAL,16DAA2)要求:用A 命令键入,U命令检查,T命令逐条运行并记录有关寄存器及AF内容。注:相加后AL值本来是7B,经DAA指令调整后变为81,即65和16两个BCD码的和。实验二 内存操作数及寻址方法 一、内存操作数及各种寻址方式使用

6、MOVAX,2000 MOV200,AXMOVBX,210MOVBYTE PTRBX,50MOVCL,40INCBXMOVBX,CLDECCLMOVSI,5MOVBX+SI,CLMOVBX+SI+1,CLMOVWORD PTRBX+SI+2,1234 1)用A命令键入上述程序,并用T命令逐条运行。2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注意是什么寻址方式。注:D命令显示结果时,双字节数在内存的存放是高地址对应高数据位;指令中出现的BYTE PTR及WORD PTR是因为操作数的宽度必须一致。二、求累加和程序MOVBX,200MOVCX,9XORAX,AXAD

7、DAL,BX ;按字节相加ADCAH,0 ;若有进位则到AH中INCBXLOOP108INT31)进入DEBUG环境。2)用命令F 200 L10 40 在内存200H-20FH地址处填入一系列值40H。3)用命令A 100 将上述程序键入到100H开始的内存中。注:LOOP指令用到108H号地址,即为ADD指令的当前地址,构成一个循环。4)用命令G =100 执行该程序段,程序运行后停在INT 3 指令上,此时观察AX寄存器的值为240H,即为9个40H的和。注:INT 3指令是一条断点中断指令,程序遇到该指令则停止。5)用T =100命令单步执行,观察IP、CX及AX寄存器的值,分析程序执行过程。单步执行结果显示:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号