楼第4章指令系统习题解答_第1页
楼第4章指令系统习题解答_第2页
楼第4章指令系统习题解答_第3页
楼第4章指令系统习题解答_第4页
楼第4章指令系统习题解答_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

本文格式为Word版,下载可任意编辑——楼第4章指令系统习题解答

习题解答:

1、什么叫寻址方式?8086/8088CPU共有哪几种寻址方式?

答:指令的寻址方式就是指获得操作数所在地址的方法。8086/8088CPU指令的寻址方式可分为8种,为马上寻址、直接寻址、寄放器寻址、寄放器间接寻址、寄放器相对寻址、基址变址寻址、基址变址相对寻址、隐含寻址。

2、指出以下指令中源操作数和目的操作数的寻址方式

(1)MOVAX,[SI]源操作数:寄放器寻址目的操作数:寄放器间接寻址(2)MOVDI,100源操作数:寄放器寻址目的操作数:马上寻址(3)MOV[BX],AL源操作数:寄放器间接寻址目的操作数:寄放器寻址(4)MOV[BX+SI],CX源操作数:基址变址寻址目的操作数:寄放器寻址(5)ADDDX,106H[SI]源操作数:寄放器寻址目的操作数:寄放器相对寻址

3、判读以下指令的对错

(1)STI对(2)CALL1000H错(3)DIVAX,DL错(4)SHLAL,4错(5)POPAX对(6)INAL,[30H]错(7)INCCS错(8)OUT40H,AL对

4、根据已知条件,计算划线部分的物理地址。已知:SS=1000H,ES=2000H,DS=3000H,CS=4000H,BX=5000H,DI=1200H,BP=2300H

(1)(2)(3)(4)(5)

5、设SP初值为2400H,AX=4000H,BX=3600H,则执行指令PUSHAX后,SP=?,再执行PUSHBX和POPAX后SP=?

答:则执行指令PUSHAX后,SP=2400H-2=23FEH,再执行PUSHBX和POPAX

MOVAX,[2300H]计算公式:DS×16+2300HMOV[BX][DI],AX计算公式:DS×16+BX+DIADDAX,ES:[2100H]计算公式:ES×16+2100HSUBDX,[BP+6]计算公式:SS×16+BP+6MOVAX,[DI]计算公式:DS×16+DI

后SP=23FEH。

6、依次执行MOVAX,84A0H和ADDAX,9460H两条指令后,FLAGS的六个状态位各为什么状态?

答:两个16位数的加法运算不影响PF和AF的标识位状态,只影响其他4个标识位状态,CF=1,ZF=0,SF=0,OF=1。

7、判断以下程序段执行后BX中的内容MOVCL,3MOVBX,0B7HROLBX,1RORBX,CL

答:先将BX内容不带进位位循环左移1位,再循环右移3位,执行后BX=0C02DH。

8、说明指令MOVBX,5[BX]与指令LEABX,5[BX]的区别。

答:前者数据传送类指令,表示将数据段中以(BX+5)为偏移地址的16位数据送寄放器BX,后者为取偏移地址指令,执行结果BX=BX+5。

9、已知AX=8060H,DX=03F8H,端口PORT1的地址是48H,内容为40H,请指出以下指令执行后的结果。

(1)OUTDX,AL将60H输出到地址为03F8H的端口中(2)INAL,PORT1从地址为48H的端口读入1字节的数据送给AL(3)OUTDX,AX将8060H从地址为03F8H的端口输出

(4)INAX,48H从地址为48H的端口读入2字节的数据送给AX

10、按要求写指令

(1)写出两条使AX内容为0的指令MOVAX,0XORAX,AX

(2)使BL寄放器的高4位和低4位互换

MOVCL,4ROLBL,CL

(3)屏蔽CX寄放器的b11、b7和b3位。

ANDCX,0F777H

11、指出以下指令错误原因

(1)MOVAH,CX原因:两操作数字长不等

(2)MOV33H,AL原因:MOV指令不允许目标操作数是马上数

(3)MOVAX,[SI+DI]原因:寄放器基址变址寻址中不允许两个寄放器都为变址(4)MOV[BX],[SI]原因:两个操作数同为存储器操作数(5)ADDBYTEPTR[BP],256原因:两操作数字长不等(6)MOVDATA[SI],ES:AX原因:源操作数未加段重设符

12、若两个数比较大小,可以使用CMP指令,请说明如何通过判断符号位来确定大小(包括有、无符号数)?

答:CMP指令主要用来比较两个数的大小关系,可以在比较指令执行后,根据标志位的状态判断两个操作数的谁大谁小或是否相等。判断方法如下:

(1)相等关系。

假使ZF=1,则两个操作数相等,否则不等。

(2)大小关系。分有符号数和无符号数两种状况考虑。

①对两个无符号数,根据CF标志位的状态确定,若CF=0,则被减数大于减数,若CF=1,则被减数小于减数

②对两个有符号数,需考虑两个数是同号还是异号。可由分析得出当OF⊕SF=0时,被减数大于减数,当OF⊕SF=1时,被减数小于减数。

13、试比较调用指令和中断指令有什么异同点?

答:调用指令是用于调用程序中常用到的功能子程序,是在程序设计中就设计好的。根据所调用过程入口地址的位置可将调用指令分为段内调用和段间调用。在执行调用指令后,CPU要保护断点。

中断指令是因一些突发事件而是CPU暂时中止它正在运行的程序,转去执行一组专门的中断服务程序,并在执行完后返回原被中止处继续执行原程序,它是随机的。在相应中断后CPU不仅要保护断点,还要将标志寄放器FLAGS压入堆栈保存。

14、试编写程序统计BUFFER为起始地址的连续200个单元中0的个数。答:LEASI,BUFFERMOVCX,200XORBX,BXAGAIN:MOVAL,[SI]CMPAL,0

JNEGOONINCBXGOON:INCSILOOPAGAINHLT

15、试编写程序将AX寄放器的内容按相反的顺序存入BX寄放器中。MOVCX,16

MOVBX,0CLCROX:RCLAXJNCRNDINCBXRND:

RCRDXLOOPROX

16、试编写程序将偏移地址为BUFF1的20个字节型的数据传送到首地址为BUFF2的内存区。

答:LEASI,BUFF1LEADI,BUFF2MOVCX,20AGAIN:MOVAX,[SI]MOV[DI],AXINCSIINCDIDECCXJNZAGAINHLT

17、设AL=85H,BL=2AH,均为带符号数,则执行指令IMULBL后AX=?,标志位CF=?,OF=?

答:AX=0EBD2H,标志位CF=OF=1。

18、已知AL=7BH,BL=38H,请问执行指令ADDAL,BL后,AF、CF、OF、PF、SF、ZF的值各为多少?

答:AF=1,CF=0,OF=1,PF=0,SF=1,ZF=0。

19、比较无条件转移指令和条件转移指令有什么异同点?

答:无条件转移指令的操作是无条件地使程序转移到指定的目标地址,并从该地址开始执行新的程序段,其转移的目标地址既可以在当前规律段,也可以是在不同的规律

温馨提示

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

评论

0/150

提交评论