微机原理与接口技术第2章习题.ppt_第1页
微机原理与接口技术第2章习题.ppt_第2页
微机原理与接口技术第2章习题.ppt_第3页
微机原理与接口技术第2章习题.ppt_第4页
微机原理与接口技术第2章习题.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

2.3设AX=1122H、BX=3344H、CX=5566H、SS=095BH、SP=40H,下述程序执行后AX、BX、CX、DX等通用寄存器的内容各是多少?画出堆栈存储器的逻辑地址及其存储内容和SP指向的示意图。PUSHAXPUSHBXPUSHCXPOPBXPOPAXPOPDX,堆栈存储器的逻辑地址、堆栈指示器的指向及栈区的内容如图所示。四个通用寄存器的内容如下:BX=5566HAX=3344HCX=5566HDX=1122,2.4设SP=0040H,如果用进栈指令存入5个数据,则SP=,若又用出栈指令取出2个数据,则SP=。,解:存入5个数据需要占用10个字节,SP10,所以SP0040H0AH0036H。取出2个数据,让出4个字节,SP4,所以SP0036H04H003AH。所以,如果用进栈指令存入5个数据,则SP=0036H,若又用出栈指令取出2个数据,则SP=003AH。,2.8AX中有一负数,欲求其绝对值。若该数为补码,则用指令;若该数为原码,则用指令。,NEGAX,ANDAX,7FFFH,2.9分别写出实现如下功能的程序段:(1)将AX中间八位,BX低四位,DX高四位拚成一个新字。,MOVCL,4SHLAX,CLSHLBL,CLMOVAL,BLSHRDH,CLORAL,DH,(2)将CX中间八位取反其余位不变。解:方法1:方法2:,XORCX,0FF0H,MOVAX,CXMOVCL,4RORAX,CLNOTALROLAX,CLMOVCX,AX,(3)对数据段中以BX为偏移地址的连续三单元中的无符号数求和。,MOVAL,BXMOVAH,0ADDAL,BX+1ADCAH,0ADDAL,2BXADCAH,0,(4)将数据段中以BX为偏移地址的连续四单元的内容颠倒过来。方法1:,MOVAL,BXXCHGAL,3BXMOVBX,ALMOVAL,1BXXCHGAL,2BXMOV1BX,AL,方法2:MOVAX,BXXCHGAH,2BXXCHGAL,3BXMOVBX,AX,(5)将BX中的四位BCD数用非压缩BCD数按序放在AL、BL、CL和DL中。,MOVDX,BXMOVCL,4SHRBX,CLANDBL,0FHANDDX,0F0FHMOVAL,BHMOVCL,BLMOVBL,DH,2.10一数据段定义为:DATASEGMENTS1DB0,1,2,3,4,5S2DB12345COUNTEQU$S1NBDB3DUP(2)NWDW120,256PWDW1DATAENDS,(1)画出该数据段中数据的存储形式数据的存储形式如下图所示。,(2)在下表中填写各变量的偏移地址和各变量的值。,各变量的偏移地址和各变量的值如下表:,(3)填写表中程序段各指令执行后,目的寄存器的值,并指出源操作数所使用的寻址方式目的寄存器的值以及源操作数所使用的寻址方式如下表:,(4)改正下列程序段中不正确指令的错误:a.MOVAX,S1MOVAL,S1b.MOVBP,OFFSETS2MOVCL,BPMOVCL,DS:BPc.MOVSI,OFFSETNBMOVSI,+MOVBYTEPTRSI,+d.MOVDL,NW+2MOVDX,NW+2e.MOVDI,CHMOVDI,CHf.MOVBX,OFFSETS1MOVDH,BX+3MOVDH,3BXg.INCCOUNT立即数不能增1h.MOVNB,S2通过8位寄存器中转i.MOVAX,BX+S1MOVAL,S1BXj.ADDAX,DX+NWADDAX,NWDI,2.11编写程序将双字变量FIRST中的无符号数乘以4后存入字节变量SECOND数据区中。解:编制的程序段如下:FIRSTDD0A46E5F90HSECONDDB5DUP(0),MOVAX,WORDPTRFIRSTMOVDX,WORDPTRFIRST+2MOVSECOND+4,0SHLAX,1RCLDX,1RCLSECOND+4,1SHLAX,1RCLDX,1RCLSECOND+4,1MOVWRORDPTRSECOND,AXMOVWORDPTRSECOND+2,DX,2.12编写程序将双字变量FIRST中的补码数除以4后存入字节变量THIRD数据区中。解:编制的程序段如下:FIRSTDD0A46E5F90HTHIRDDB4DUP(0),MOVAX,WORDPTRFIRSTMOVDX,WORDPTRFIRST+2SARDX,1RCRAX,1SARDX,1RCRAX,1MOVWORDPTRTHIRD,AXMOVWORDPTRTHIRD+2,DX,2.13编写程序将双字变量FIRST中的补码数求补以后存入字节变量FORTH数据区中。解:编制的程序如下:FIRSTDD0A46E5F90HFORTHDB4DUP(0),MOVAX,WORDPTRFIRSTNOTAXMOVWORDPTRFORTH,AXMOVAX,WORDPTRFIRST+2NOTAXMOVWORDPTRFIRTH+2,AXADDWORDPTRFORTH,1ADCWORDPTRFORTH+2,0,2.14阅读如下源程序,画出程序在9号功能调用之前数据段的内存映象图并指出此程序的功能。BUFDB78HOBUF1DB0AH,0DH,(BUF)=OBUF2DW2DUP(0),MOVAL,BUFMOVAH,ALMOVCL,4SHRAH,CLADDAH,30HANDAL,0FHADDAL,30HXORBX,BXXCHGAH,ALMOVOBUF2BX,AXMOV

温馨提示

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

评论

0/150

提交评论