已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第三章作业习题课P121(2,3,6,8,9,10,11,13,14,15,18),杭州电子科技大学自动化学院,微机原理与接口技术,2,2.已知:DS=1000H,BX=0200H,SI=02H,(10200H10205H)依次存有10H,2AH,3CH,46H,59H,6BH。下列每条指令执行完后AX寄存器的内容各是什么?MOVAX,0200HAX=0200HMOVAX,200H物理地址=1000H10H+200H=10200H,AX=2A10H,3,MOVAX,BXAX=0200HMOVAX,3BX物理地址=1000H10H+0200H+3H=10203H,AX=5946HMOVAX,BX+SI物理地址=1000H10H+0200H+2H=10202H,AX=463CHMOVAX,2BX+SI物理地址=1000H10H+0200H+2H+2H=10204H,AX=6B59H,4,3.设DS1000H,ES2000H,SS3500H,SI00A0H,DI0024H,BX0100H,BP0200H,数据段中变量名为VAL的偏移地址值为0030H,试说明下列源操作数字段的寻址方式是什么?物理地址值是多少?,5,(1)MOVAX,100H直接寻址方式,10100H(2)MOVAX,VAL直接寻址方式,10030H(3)MOVAX,BX寄存器间接寻址,10100H(4)MOVAX,ES:BX带段超越前缀的寄存器间接寻址,20100H(5)MOVAX,SI寄存器间接寻址,100A0H(6)MOVAX,BX+10H寄存器相对寻址,10110H(7)MOVAX,BP寄存器间接寻址,35200H(8)MOVAX,VALBPSI相对基址变址寻址,352D0H(9)MOVAX,VALBXDI相对基址变址寻址,10154H(10)MOVAX,BPDI基址变址寻址,35224H,6,6.指出下列指令哪些是错误的,错在哪里。MOVDL,AX错,寄存器寻址方式中,目的操作数与源操作数长度必须一致MOV8650,AX错,目的操作数不可以是立即数MOVDS,0200H错,MOV指令不允许将立即数传入段寄存器MOVBX,1200H错,MOV指令的两个操作数不能同时为存储器,7,MOVIP,0FFH错,IP不能作为MOV指令的目的操作数MOVBX+SI+3,IP错,IP不能作为MOV指令的源操作数MOVAX,BXBP错,BX与BP是两个基址寄存器,不可以同时出现在源操作数当中MOVAL,ES:BP对MOVDL,SIDI错,SI与DI是两个变址寄存器,不可以同时出现在源操作数中MOVAX,OFFSET0A20H错,OFFSET后面跟的应该是变量或标号的符号地址,再把符号地址的值作为操作数,8,(11)MOVAL,OFFSETTABLE错,TABLE的偏移地址是16位,目的与源长度不一致(12)XCHGAL,50H错,交换指令可以在寄存器之间、寄存器和存储器之间进行,不可以是立即数(13)INBL,05H错,BL不能作为IN指令的目的操作数,只能用AL或AX(14)OUTAL,0FFEH错,端口地址0FFEHFFH,应用DX间接寻址,同时源操作数和目标操作数的位置颠倒了,应改为OUTDX,AL。,9,8.已知当前SS1050H,SP0100H,AX4860H,BX1287H,试用示意图表示执行下列指令过程中,堆栈中的内容和堆栈指针SP是怎样变化的。PUSHAX(SP00FEH)PUSHBX(SP00FCH)POPBX(SP00FEH)POPAX(SP0100H),10,9.下列指令完成什么功能?(1)ADDAL,DH(AL=AL+DH)(2)ADCBX,CX(BX=BX+CX+CF)(3)SUBAX,2710H(AX=AX-2710H)(4)DECBX(BX=BX-1)(5)NEGCX(CX=-CX)(6)INCBL(BL=BL+1)(7)MULBX(DX,AX)AX*BX)(8)DIVCL(AL=AX/CL的商,AH=AX/CL的余数),11,10.已知AX2508H,BX0F36H,CX0004H,DX1864H,求下列每条指令执行后的结果是什么?标志位CF等于什么?ANDAH,CLAH=04H,CF=0;ORBL,30HBL=36H,CF=0;NOTAXAX=DAF7H,CF无影响;XORCX,0FFF0HCX=FFF4H,CF=0;TESTDH,0FHTEST操作并不修改结果,CF=0;CMPCX,00HCMP操作并不修改结果,CF0;,12,SHRDX,CLDX=0186H,CF=0;SARAL,1AL=04H,CF=0;SHLBH,CLBH=F0H,CF=0;SALAX,1AX=4A10H,CF=0;(11)RCLBX,1若程序执行之前CF=0,BX=1E6CH,CF=0;若程序执行之前CF=1,BX=1E6DH,CF=0。(12)RORDX,CLDX=4186H,CF=0。,13,11.假设数据段定义如下:DATASEGMENTSTRINGDBThePersonalComputer取出字符后该单元清零CMPAL,AJBOTHERCMPAL,ZJAOTHERSTOSB;存大写字符JMPL2OTHER:XCHGBX,DI;存其它字符STOSBXCHGBX,DIL2:LOOPL1HLT,18,13.设CS=1200H,IP=0100H,SS5000H,SP=0400H,DS=2000H,SI=3000H,BX=0300H,(20300)=4800H,(20302H)=00FFH,TABLE=0500H,PROG_N标号的地址为1200:0278H,PROG_F标号的地址为3400:0ABCH。说明下列每条指令执行完后,程序将分别转移到何处执行?JMPPROG_NJMPBXJMPBXJMPFARPROG_FJMPDWORDPTRBX如将上述指令中的操作码JMP改为CALL,则每条指令完成后,程序转向何处执行?并请画图说明堆栈中内容和堆栈指针如何变化。,19,13.(1)JMPPROG_N段内直接近转移,目的地址为1200H:0278H(或12278H)(2)JMPBX段内寄存器间接转移,目的地址为1200H:0300H(或12300H)(3)JMPBX物理地址DS10H+BX=2000H10H+0300H=20300H(20300H)=4800HIP段内存储器间接转移,目的地址为1200H:4800H(或16800H)(4)JMPFARPROG_F段间立即直接转移,目的地址为3400H:0ABCH(或34ABCH)(5)JMPDWORDPTRBX物理地址DS10H+BX=2000H10H+0300H=20300H(20300H)=4800HIP,(20302H)=00FFHCS段间存储器间接转移,目的地址为00FFH:4800H(或057F0H),20,JMP改为CALL后,目的地址与JMP相同。(1)CALLPROG_N段内直接调用,3字节指令,0103H入栈,SP=03FEH(2)CALLBX段内寄存器间接调用,2字节指令,0102H入栈,SP=03FEH(3)CALLBX段内存储器间接调用,2字节指令,0102H入栈,SP=03FEH(4)CALLFARPROG_F段间直接调用,5字节指令,1200H和0105H入栈,SP=03FCH(5)CALLDWORDPTRBX段间间接调用,2字节指令,1200H和0102H入栈,SP=03FCH,21,14.如在下列程序段的括号中分别填入以下指令:(1)LOOPNEXT(2)LOOPENEXT(3)LOOPNENEXT试说明在这三种情况下,程序段执行完后,AX,BX,CX,DX寄存器的内容分别是什么。START:MOVAX,01HMOVBX,02HMOVDX,03HMOVCX,04HNEXT:INCAXADDBX,AXSHRDX,1(),22,START:MOVAX,01HMOVBX,02HMOVDX,03HMOVCX,04HNEXT:INCAXADDBX,AXSHRDX,1()程序运行前DX=00000011B,则运行后:(1)AX=05HBX=10HCX=00HDX=00H(2)AX=02HBX=04HCX=03HDX=01H(CX0且ZF=1时循环)(3)AX=03HBX=07HCX=02HDX=00H(CX0且ZF=0时循环),23,15.某班有7个同学的英语成绩低于80分,分数存在ARRAY数组中,试编程完成以下工作:(1)给每人加5分,结果存到NEW数组中。(2)把总分存到SUM单元中。(3)把平均分存到AVERAGE单元中。(附加),24,15.解:ARRAYDBNEWDB7DUP(?)SUMDW0AVERAGEDB0(1)MOVCX,07HMOVBX,00HNEXT:MOVAL,ARRAYBXADDAL,5DAAMOVNEWBX,ALINCBXLOOPNEXTHLT,25,(2)MOVCX,06HMOVBX,01HMOVAH,00HMOVAL,ARRAYL1:ADDAL,ARRAYBXDAAADCAH,00H;将进位加到AH中INCBXLOOPL1MOVSUM,AXHLT,26,(3)MOVDX,SUM;DX=0H(BCD码)MOVBL,07HMOVAX,DX;取十位数,并移至低4位ANDAL,0F0HMOVCL,04HROLAL,CL;AX=00HAAD;ALAH10AL,AH00DIVBL;十位商在AL中,余数在AH中MOVAVERAGE+1,AL;存平均成绩十位MOVAL,DL;取个位和数ANDAL,0FHAAD;ALAH10AL,AH00DIVBL;个位商在AL中,余数在AH中MOVAVERAGE,AL;存平均成绩个位MOVAVERAGE+2,AH;存余数,27,18.若中断向量表中地址为0040H中存放240BH,0042H单元里存放的是D169H,试问:,(1)这些单元对应的中断类型是什么?答:0040H为类型16(或10H)的中断。(2)该中断服务程序的起始地址是什么?答:D169H:240BH,28,附加题1:设AX=4235H,BX=06FAH,CX=0143H,DX=3105H,CF=1。下列每条指令执行后的结果是什么?CF、ZF、OF等标志位的值各等于多少?MOVAX,BXAX=06FAH,CF,ZF,OF均无影响,CF=1。ADDAL,DHAL=66H,CF=0,ZF=0,OF=0。ADCBX,CXBX=083EH,CF=0,ZF=0,OF=0。SUBAX,2710HAX=1B25H,CF=0,ZF=0,OF=0。,29,DECBXBX=06F9H,CF=1(无影响),ZF=0,OF=0。NEGCXCX=FEBDH,CF=1,ZF=0,OF=0。INCBLBL=FBH,CF=1(无影响),ZF=0,OF=0。MULBXDX=01CDH,AX=E5C2H,CF=1,ZF不定,OF=1。DIVCLAL=0FCH,AH=41H,标志位均无定义。,30,附加题2:已知变量X1和X2的定义如下:X1DW1024HDW2476HX2DW3280HDW9351H请按下列要求进行运算或操作后,将运算结果存到RESULT单元中,低位在前,高位在后。试分别写出指令序列。将X1和X2两个字数据相加。MOVAX,X1ADDAX,X2MOVRESULT,AX,31,将X1和X2两个双字数据相加。MOVAX,X1ADDAX,X2MOVRESULT,AXMOVAX,X1+2ADCAX,X2+2MOVRESULT+2,AX将X1和X2两个字数据相减。MOVAX,X1SUBAX,X2MOVRESULT,AX将X1和X2两个字数数据交换位置。MOVAX,X1XCHGAX,X2MOVX1,AX,32,(5)将X1和X2看作双字BCD数再相加MOVBX,OFFSETRESULTMOVSI,OFFSETX1MOVDI,OFFSETX2MOVCX,04CLCL1:MOVAL,BSIADCAL,BDIDAA;十进制调整MOVBX,AL;存结果INCBX;修改地址指针INCSIINCDILOOPL1;未结束,继续MOVAL,00HADCAL,00HMOVBX,AL;存进位位CF,33,将X1当作BCD字数据,然后与6相乘。MOVBL,06HMOVDX,X1MOVAL,DLANDAL,0FH;取个位MULBL;与X1的个位乘AAM;AL/10=AH(进位)余数在ALMOVRESULT,AL;存积的个位MOVBH,AH;个位向十位的进位位暂存BHMOVAL,DL;取十位,并移到低4位ANDAL,0F0HMOVCL,04HROLAL,CL,34,MULBL;与X1的十位乘ADDAL,BH;加个位向十位的进位AAM;十位在AL,向百位进位在AHMOVRESULT1,AL;存积的十位MOVBH,AH;向百位的进位暂存BH中MOVAL,DH;取百位ANDAL,0FHMULBL;与X1的百位乘ADDAL,BH;加十位向百位的进位AAM;百位在AL,向千位进位在AHMOVRESULT+2,AL;存积的百位MOVBH,AH;向千位的进位暂存BH中MOVAL,DH;取千位,并移到低4位ANDAL,0F0HMOVCL,04HROLAL,CL,35,MULBL;与X1的千位乘ADDAL,BH;加百位向千位的进位AAM;千位在AL中,向万位的进位在AHMOVRESULT+3,AL;存积的千位MOVRESULT+4,AH;存积的万位,36,将X2当作BCD字数据,然后除以6。MOVBL,06HMOVDX,X2MOVAL,DH;取千位数,并移至低4位ANDAL,0F0HMOVCL,04HROLAL,CLMOVAH,00HDIVBL;千位商在AL中,余数在AH中MOVRESULT+3,AL;存千位商,37,MOVAL,DH;取百位数ANDAL,0FHAAD;ALAH10AL,AH00DIVBL;百位商在AL中,余数在AH中MOVRESULT+2,AL;存百位商MOVAL,DL;取十位数,并移至低4位ANDAL,0F0HMOVCL,04HROLAL,CLAAD;ALAH10AL,AH00DIVBL;十位商在AL中,余数在AH中MOVRESULT+1,AL;存十位商,38,MOVAL,DL;取个位数ANDAL,0FHAAD;ALAH10AL,AH00DIVBL;个位商在AL中,余数在AH中MOVRESULT,AL;存个位商MOVRESULT+4,AH;存余数,39,附加题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 26新六上英语必背知识点《人教PEP版》
- 上消化道内镜止血方法总结2026
- 3G网络智能监控系统:技术、挑战与实践应用研究
- 360度评估方法在ZHL企业绩效考核中的应用:实践、成效与展望
- 2米路面铣刨机控制系统:原理、问题与优化策略
- 20世纪中叶扎赉特旗蒙古人北迁:历史动因、路径与影响的深度剖析
- 竹基全降解环保袋生产应用项目可行性研究报告模板立项申批备案
- 垃圾分类宣传舆情常态化细则
- 人事管理某公司招聘管理制度
- 港口项目直埋供热管道施工方案
- 2026年老年养生保健知识课件
- DB11T 1526-2025地下连续墙施工技术规程
- 2026年大学生英语六级考试必背全部词汇表汇编(包过版)
- 口腔门诊护士培训制度
- 2026年注册安全工程师题库300道【考点精练】
- SJG 57-2019深圳市道路声屏障设计指引
- 房屋市政重大隐患事故判定标准试题(附答案)
- 广义线性模型在保险精算中的应用
- 国家安全生产生产考试
- 2025年英语考研201英语一真题汇编试卷(含答案)
- 多联机空调维护保养方案
评论
0/150
提交评论