网站大量收购独家精品文档,联系QQ:2885784924

汇编语言程序设计实验指导.doc

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言程序设计 PAGE 136 汇编语言程序设计实验指导 PAGE 135 汇编语言程序设计实验指导 【实验提要】 以下列举的10个实验,都是以Intel的8086及后续系列微处理器的指令系统为核心,采用宏汇编工具MASM6. X以及调试工具DEBUG或DEBUG32,针对本教材所述内容进行相关的上机实践。旨在帮助学生加深认识和理解理论教学知识,通过大量的上机实验熟悉8086 CPU的指令功能、用途和使用技巧,进而提高汇编语言程序设计的能力。 (带*号的为选作内容) 实验一 调试工具DEBUG的应用 实验目的 通过实验掌握下列知识: 1、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG的功能; 2、DEBUG命令: A,D,E,F,H,R,T,U的使用; 3、BCD码、ASCII码及用十六进制数表示二进制码的方法; 4、寄存器: AX,BX,CX,DX,FLAGS,IP。 内容及步骤 注:本次实验可以参照教材上关于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的ASCII码写入地址为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的内容。 注:若在DEBUG32环境下用R16和R32命令分别显示16位和32位寄存器内容。 8、用R命令将AX,BX内容改写为1050H及23A8H。 二、8086常用指令练习 1、传送指令 用A命令在内存400H处键入下列内容: -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的当前值,内容是不一定的,每行命令以回车键结束。 用U命令检查键入的程序并记录,特别注意左边的机器码与指令的对应关系。 -U 0400 用T命令逐条运行这些指令,每运行一行指令观察各寄存器及IP的变化情况,并注意标志位的变化情况。 -T =0400 (注:=400是表示从偏移地址400处开始单步执行) -T (不给出地址,则表示接续上一条指令执行) -T ┇ 2、加减法指令: 1)用A命令在内存100H处键入下列内容: MOV AH,11 MOV AL,22 ADD AL,AH SUB AL,33 MOV CX,1234 MOV DX,5678 ADD CX,DX SUB CX,AX SUB CX,CX 2)用U命令检查键入的程序及对应的机器码。 3)用T命令逐条运行这些指令,检查并记录有关寄存器及ZF情况。 3、带进位加减法: 1)用A命令在内存200H处键入下列内容,并用U命令检查: MOV AH,12 MOV AL,84 MOV CH,56 MOV CL,78 ADD AL,CL ADC AH,CH MOV DH,A7 MOV DL,58 SUB DL,7F SBB DH,34 2)用T命令逐条运行这些指令,检查并记录有寄存器及CF内容。 3)上面这段程序若改用16位操作指令达到同样结果,怎么改?试修改并运行之。 * 4、BCD码加减法(选作) 1)内容: MOV AL,65 ADD AL,16 DAA 2)要求:用A 命令键入,U命令检查,T命令逐条运行并记录有关寄存器及AF内容。 注:相加后AL值本来是7B,经D

文档评论(0)

131****9010 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档