第3章作业及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 判断下列指令书写是否正确,如有错误,指出错在何处并用正确的程序段(一条或多条指令)实现原错误指令((8)、(13)除外)期望实现的操作。

(1)MOV AL,BX (9)MOV ES,3278H

(2)MOV AL,SL (10)PUSH AL

(3)INC [BX] (11)POP [BX]

(4)MOV 5,AL (12)MOV [1A8H],23DH

(5)MOV [BX],[SI] (13)PUSH IP

(6)MOV BL,F5H (14)MOV [AX],23DH

(7)MOV DX,2000H (15)SHL AX,5

(8)POP CS (16)MUL AX,BX

答:(7)、(11)、(12)正确,其他指令有错误

(1)两操作数类型不匹配,可改为MOV AL,BL或MOV AX,BX

(2)SL寄存器书写错误,原意应为SI,另外两操作数类型不匹配,可改为MOV AX,SI (3)操作数是字还是字节不明确,可改为INC WORD PTR [BX]或INC BYTE PTR [BX] (4)立即数不能为目的操作数

(5)两操作数不能同时为存储器寻址,可改为

MOV AX,[SI]

MOV [BX],AX

(6)F5H前应加0,以区别符号变量F5H

(8)CS不能为操作数

(9)立即数不能直接送给段寄存器,可改为

MOV AX,3278H

MOV ES,AX

(10)立即数应为字类型,可改为PUSH AX

(13)IP不能为操作数

(14)AX不能用于寄存器间接寻址,可改为

MOV BX,AX

MOV [BX],23DH

(15)大于1的移动次数不能直接出现在指令中,只能用CL,可改为

MOV CL,5

SHL AX,CL

(16)在MUL指令中AX为隐含操作数,可改为MUL BX

2、MOV AX,BX

NOT AX

ADD AX,BX ;AX=_ 0FFFFH

INC AX

AX= 0H CF=___0___

3、MOV BL, 02H

MOV AL, 07H

MUL BL ; AX=__ 0E_H

AAM

AH=__ 01__H, AL=__ 04___H

4、设寄存器AL,BL,CL中内容均为1CH,执行上述指令序列后,

XOR AL,0FH

AND BL,0FH

OR CL,0FH

AL= 13H,BL= 0C H,CL= 1F H。

5、SAL AL, 1

MOV BL, AL

MOV CL, 2

SAL AL,CL

ADD AL, BL

回答:程序实现的完整功能是将AL左移1位(2*AL)后和再左移2位(4*2*AL)相加,结果实现10*AL。

6、LEA SI,BUFFER

LEA DI,ARRAY

MOV CX,100

XOR BL,BL

LP:CMP [SI],01H

JNZ LP1

INC BL

LP1:INC SI

LOOP LP

MOV [DI],BL

回答:程序实现的完整功能是从BUFFER开始的连续100个字节单元内容为1的个数保存到ARRAY开始的存储单元中

MOV AX,2000H

MOV DS,AX

MOV SS,AX

MOV BX,2050H

MOV SI,BX

MOV DI,3050H

MOV SI,DI

MOV SP,5FFFH

MOV CL,25

MOV BL,CL

MOV AH,0F0H

MOV CH,AH

MOV BYTE PTR[DI],64

MOV WORD PTR[SI],256

MOV DL,[SI+1]

MOV DH,1[SI]

MOV WORD PTR[BX][SI],34H

MOV [BX+SI+4],BX

MOV BP,2[BX+DI]

MOV [BP][DI],BX

MOV AX,[BP][DI]

MOV BL,AL

MOV ES,BX

PUSH BX

PUSH DI

POP CX

POP DX XCHG AX,BP XCHG DH,BL SAHF

CMC

LAHF

STD

CLI

PUSHF

CLD

POPF

NOP

相关文档
最新文档