第5章作业参考答案.doc_第1页
第5章作业参考答案.doc_第2页
第5章作业参考答案.doc_第3页
第5章作业参考答案.doc_第4页
第5章作业参考答案.doc_第5页
全文预览已结束

下载本文档

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

文档简介

第5章作业参考答案5.2 分别指出下列指令中源操作数和目的操作数的寻址方式指令源操作数寻址方式目的操作数寻址方式(1)MOV DI,9000H 立即寄存器(2)MOV BX,4SI相对基址寄存器(3)MOV SI,AX寄存器寄存器间址(4)ADD AX,90立即寄存器(5)MOV AX,COUNTBXDI相对基址变址寄存器(6)MOV BX,DS:1000H直接寄存器(7)MOV CL,AL寄存器寄存器(8)MOV DX,DS:BP寄存器间址寄存器5.3 指出下列指令的错误(1)MOV AL,1000答:源操作数超出字节表数范围,可改为MOV AX,1000(2)MOV BX,AL答:源和目的操作数类型不一致,可改为MOV BX,AX(3)MOV SI,800H答:源和目的操作数类型不明确,可改为MOV WORD PTR SI,800H(4)ADD DI,SI答:源和目的操作数不能同为存储器操作数,可改为MOV AL,SI ADD DI,AL(5)MOV AX,COUNTBXBP答:目的操作数寻址采用两个基址寄存器错误,可改为MOV AX, COUNTBXSI(6)SHL AX,2答:移位次数超过2及以上,不能直接用数值表示,必须用CL寄存器表示,可改为MOV CL, 2 SHL AX,CL(7)MOV CS,AX答:CS寄存器不能作目的操作数(8)SHR DL,CH答:移位次数不能用CH表示,必须用CL寄存器表示,可改为MOV CL, CH SHL DL,CL(9)MOV 86H,AL答:立即数不能作目的操作数(10)9答:MUL指令中源操作数不能是立即数,可改为MOV CL, 9 MUL CL(11)MOV DS,SS答:段寄存器之间不能传送数据,可改为MOV AX, SS MOV DS, AX(12)INC DI 答:源操作数类型不明确,可改为INC BYTE PTR DI5.5 用若干种方法实现下列要求,给出指令或指令序列。(1) 清累加器AX答: MOV AX,0 SUB AX,AX AND AX,0 XOR AX,AX(2) 清进位标志位答: CLC AND AX,AX(3) 将累加器AL的内容乘以2答: SHL AL,1 ADD AL,AL(4) 使BL寄存器低4位清零,高4位保持不变答:AND BL,0F0H(5) 使BL寄存器低4位置1,高4位保持不变答:OR BL,0FH(6) 使AL寄存器低4位保持不变,高4位取反答:XOR AL,0F0H5.6 设DS=1000H,ES=2000H,SS=1500H,SI=0080H,BX=0900H,BP=0110H,试指出下列指令的源操作数是什么寻址方式?它的物理地址是多少? (1)MOV AX,098H答:源操作数是立即寻址,它来自于指令 (2)MOV AX,1000H答:源操作数是直接寻址,它的逻辑地址是DS:1000H物理地址是11000H (3)MOV AL,SI答:源操作数是寄存器间接寻址,它的逻辑地址是DS:SI,物理地址是10080H (4*)MOV AX,BP答:源操作数是寄存器间接寻址,它的逻辑地址是SS:BP,物理地址是15110H (5*)MOV AX,DS:BP+10答:源操作数是寄存器相对寻址,它的逻辑地址是DS:BP+10,物理地址是1011AH (6)MOV AX,BXSI答:源操作数是寄存器基址变址寻址,它的逻辑地址是DS:BX+SI,物理地址是10980H (7)ADD BX,SS:SI答:源操作数是寄存器间接寻址,它的逻辑地址是SS:SI,物理地址是15080H (8)ADD CX,BX答:源操作数是寄存器寻址,它的逻辑地址是DS:BX,物理地址是10900H5.7 写出执行以下二进制运算的指令序列,其中X、Y、Z、W、R均为存放16位带符号数变量。 (1)Z(ZX)W答:MOV AX, ZSUB AX, XADD AX, WMOV Z, AX (2*)ZW(X10)(R8)答:MOV BX, XADD BX, 10MOV AX, WSUB AX, BXMOV BX, RADD BX, 8SUB AX, BXMOV Z, AX (3)Z(WX)/(Y4)答:MOV BX, XMOV AX, WIMUL BX; DX,AX=WXMOV BX, YADD BX, 4IDIV BXMOV Z, AX; 存商MOV Z+2, DX; 存余数5.8 假定AX和BX中是有符号数,CX和DX中是无符号数,请为下列各项确定CMP和条件转移指令: (1)CX值超过DX转移至标号NEXT处。答:CMP CX, DXJA NEXT (2)AX值超过BX转移至标号NEXT处。答:CMP AX, BXJG NEXT (3)DX值为0转移至标号NEXT处。答:CMP DX, 0JZ NEXT (4)CX值小于等于DX转移至标号NEXT处。答:CMP CX, DXJBE NEXT5.9 自BUFFER单元开始连续存放两个双字类型数据,编程序求它们的和,并将结果存放在这两个数据之后。答:MOV AX, WORD PTR BUFFERMOV DX, WORD PTR BUFFER+2ADD AX, WORD PTR BUFFER+4ADC DX, WORD PTR BUFFER+6MOV WORD PTR BUFFER+8, AXMOV WORD PTR BUFFER+10, DX5.10* 编写一程序段,实现比较两个10字节的字符串OLDS和NEWS,若两串不等,则转向NSAME标号,否则顺序执行程序。答:LEA SI, OLDSLEA DI, NEWSMOV CX, 10LP:MOV AL, SICMP AL, DIJNE NSAMEINC SI INC DILOOP LP.NSAME: .5.11 写出4条使AX清零的指令。答: MOV AX,0 SUB AX,AX AND AX,0 XOR AX,AX5.12* 写一程序片段求AL和BL之差的绝对值。答:解法1SUB AL, BLJS NEXTJMP ENDONEXT:NEG ALENDO:MOV RESULT, AL答:解法2CMP AL, BLJGE NEXTXCHG AL, BLNEXT:SUB AL, BLMOV RESULT, AL5.13* 写出把首址为BUF的字型数组的第二个字送到AX寄存器的指令,要求使用3种不同的寻址方式实现。答: MOV AX, BUF+2; 直接寻址 LEA SI, BUF MOV AX, SI+2 ; 相对寻址 MOV SI, 2 MOV AX, BUFSI ; 相对寻址 LEA BX, BUF MOV SI, 2 MOV AX, BX+SI ; 基址变址寻址5.14* 已知(AL)=8EH,标志寄存器中的标志位OF、SF、ZF、AF、PF、CF均为0,指出执行指令ADD AL, 72H后,各标志位的值。答:执行指令ADD AL, 72H后,各标志位的值是:OF=0、SF=0、ZF=1、AF=1、PF=1、CF=15.15 分别用乘法指令和移位、加法指令实现y=12x的运算。答: MO

温馨提示

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

评论

0/150

提交评论