微机原理.doc_第1页
微机原理.doc_第2页
微机原理.doc_第3页
微机原理.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

。 实验一 :汇编指令调试1. 设堆栈指针SP=2000H,AX=3000H,BX=5000H,编写一段程序,将AX的内容和BX的内容进行交换,用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。程序如下:第一步是令SP=2000H,第二步令AX=3000H,第三步令BX=5000H,第四步把AX里的数3000H压入栈顶,第5步是把BX里的数据5000H压入栈顶,第6步是把栈顶的数据也就是5000H弹出给AX,第7步再把栈顶的数据2000H弹出给BX,这样就实现了AX,BX里的数据交换2. 设DS=当前段地址,BX=0300H,SI=0002H,用DEBUG的命令将十六进制数据0AH、0BH、0CH、0DH、0EH顺序装入偏移地址为300H304H的连续存储单元。在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程?当数据传送完毕时,AX中的内容是什么?程序如下:程序第一步是先用DEBUG的-e 0300:00 0a,0b,0c,0d,0e命令将十六进制数据0AH、0BH、0CH、0DH、0EH顺序装入偏移地址为300H304H的连续存储单元。第二步MOV BX,300是令BX=300H。第三步MOV SI,0002是令SI=0002H。第三步MOV AX,BX把BX里存的300H给AX令AX=300H。第四步MOV AX,0304H是把立即数0304H给AX,令AX=0304H。第五步MOV AX,0304H是把有效地址EA:0304H中的0E和0305H中的00H给AX令AX=000E。第六步MOV AX,BX是把偏移地址为300H里存储的0AH和301H里的0B给AX,AX=0B0AH。第七步MOV AX,0001 BX是把偏移地址为301H中存储的0BH和302H中存储的0CH给AX,AX=0C0BH。第八步MOV AX,BXSI是把BX+SI即偏移地址为0302H中的0c和0303H中的0D给AX,AX=0D0C。第九步MOV AX,0001 BX SI把BX+SI+1即偏移地址为0303H中的0D和0304H中的0E给AX,AX=0E0D。第十步INT 3中断指令。3.设AX=0002H,编一个程序段用移位的方法将AX的内容乘10。第一步令AX=0002H。第二步令BX=0002H。第三步把AX左移一位,AX=0004H。第四步把AX左移一位,AX=0008H。第五步将AX和BX相加并将所得结果存入AX,AX=000AH。第六步把AX左移一位,得到最后放大十倍的AX=0014H。THANKS !

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论