微机第三章答案

  • 格式:pdf
  • 大小:95.79 KB
  • 文档页数:5

3-1.指出下列指令的寻址方式:

目的操作数 源操作数

(1)MOV SI,100 寄存器寻址 立即数寻址

(2)LDS DI,[2130H] 寄存器寻址 存储器直接寻址

(3)AND DI,[BX+SI+20H] 寄存器寻址 存储器相对的基址变址寻址

(4)MOV [BP],CX 存储器寄存器间接寻址 寄存器寻址

(5)MOV CX,DISP[BX] 寄存器寻址 存储器寄存器相对寻址

(6)PUSH DS 固定寻址 寄存器寻址

3-2.判别下列指令是否有错,并说明理由;有错地加以改正

(1)MOV [DI],[SI] 错, MOV指令中src和dst不能同时为存贮器寻址, 应借助寄存器

为桥梁

(2)MOV CS,AX 错, 不能用CS和IP做dst, CS和IP的内容只能了解不能改变

(3)MUL -25 错, 乘数可以是R/M中的无符号数, 但不能为立即数

(4)MOV 128,CL 错,立即数不能做dst

(5)MOV DS, CS 错,不允许在段R之间直接传送信息

(6)ADD AX,[SI][DI] 错,基址变址寻址中BX和BP为基址R,SI和DI为变址R

(7)PUSH FLAG 错,标志寄存器F的内容进出栈指令为 PUSHF POPF

(8)MOV AX,[AX] 错,AX不能作为间址R

(9)MOV AX,BYTE PTR[SI] 错,MOV指令操作数的类型要匹配

(10)MOV CL,AX 错,MOV指令操作数的类型要匹配

(11)OUT CX,AL 错,使用短格式I/O指令时,先将端口地址赋给DX,而且只能赋给DX

(12)MOV AX,DISP[BX][BP] 错,基址变址寻址中BX和BP为基址R,SI和DI为变址R

(13)IN AL,DX 对

(14)LEA BX,4[BX] 对

(15)SAR AX,5 错,移位一次的在指令中直接给出,移位n次的。需预先将n送入CL中

3-3.

MOV DX ,X+2

MOV AX ,X

ADD AX ,X

ADC DX ,X+2

CMP DX ,Y+2

([有符号数]JG/JA[无符号数]) L2

([有符号数]JL/JB[无符号数]) L1

CMP AX , Y

([有符号数]JG/JA[无符号数]) L2

L1: MOV AX , 1

JMP EXIT

L2: MOV AX , 2

EXIT:HLT

3-4.

3-5.

完成的数学计算公式: X+Y-Z W (X、Y、Z、W都是双字变量)

3-6.

MAX: MOV BX, 2000H

MOV AL, [BX]

MOV CX, 0063H/99

L1: INC BX

CMP AL, [BX]

JGE L2

MOV AL, [BX]

L2: DEC CX

JNZ L1

MOV [2100H], AL

3-7.

将XXXXH中的内容与BX中的奇数列逐个进行比较,直到BX中的奇数大于XXXXH中的

数值时程序终止

3-8.

(1)MOV AX,BX

(2)ADD AL,DH

(3)ADC BX,CX

(4)SUB AX,2710H

(5)DEC BX 课本87页

(6)NEG CX 求变补即0-CX或CX+1

(7)INC BL

(8)MUL BX课本89页 若运算结果AH、DX不为零,则CF、OF同时置1,不影响其它标志位

(9)DIV CL 课本91页 CF ZF OF

①(AX)=(BX)=06FAH 1 不影响 不影响

②(AL)=66H 0 0 0

③(BX)=0831H 0 0 0

④(AX)=1B25H 0 0 0

⑤(BX)=06F9H 1 不影响 0 0

⑥(CX)=0FEBDH 1 0 0

⑦(BL)=0FBH 1不影响 0 0

⑧(AX)=0E5C2H,

(DX)=01CDH 1 无意义 1

⑨(AL)=商=0FCH

(AH)=余数=41H 无意义 无意义 无意义

3-9.

(1)MOV AX ,X1 (2)MOV AX , X1

ADD AX ,X2 ADD AX , X2

MOV RESULT, AX MOV RESULT , AX

(3)MOV AX , X1 MOV AX , X1+2

SUB AX , X2 ADC AX , X2+2

MOV RESULT, AX MOV RESULT+2,AX

(4)MOV AX ,X1

XCHG AX ,X2

XCHG AX ,X1

(5)MOV CX ,4

CLC

LEA SI ,X1

LEA DI ,X2

LEA BX ,RESULT

LA: MOV AL ,[SI]

ADC AL ,[DI]

DAA

MOV [BX] ,AL

INC SI

INC DI

INC BX

LOOP LA

?(6)MOV AX, 0

MOV CX, 6

CLC

L2: LEA SI, X1

MOV DWORD PTR [RESULT], 0

LEA DI, RESULT

MOV BX, 2

L1: MOV AL,[DI]

ADC AL,[SI]

DAA

MOV [DI],AL

INC SI

INC DI

DEC BX

JNZ L1

MOV AL, 0

ADC AL, O

DAA

MOV [DI], AL

LOOP L2

3-10.

X1 DB 2BH

X2 DB 0F5H

RESULT DB ?, ?

MOV AL, X1

ADD/SUB/ADD/MUL/IDIV AL, X2

MOV RESULT, AL

(1) AF=1,CF=1,SF=ZF=OF=PF=0

(2) CF=1,PF=1,ZF=SF=AF=OF=0

(3) AF=CF=1,SF=ZF=OF=PF=0

(4) CF=OF=1 其它标志位无意义 P89页

(5) 所有标志位无意义 P92页

3-11.

LEA SI ,ARRAY

LEA DI ,NEW

MOV CX ,7

MOV WORD PTR SUM ,0

LA: MOV AL ,[SI]

ADD SUM ,AL

ADC SUM+1 ,0

ADD AL ,5

MOV [DI],AL

INC SI

INC DI

LOOP LA

MOV AX ,SUM

MOV CL ,7

DIV CL

MOV AVERAGE ,AL

3-12.

(1)AH=04H CF=0 (2)BL=36H CF=0

(3)AX=DAF7H CF不受影响 (4)CX=0FFF4H CF=0

(5)寄存器值不变 CF=0 (6)寄存器值不变 CF=0

(7)DX=0186H CF=0 (8)AL=04H CF=0

(9)BH=0F0H CF=0 (10)AX=4A10H CF=0

(11)BX=1E6CH CF=0 (12)DX=4186H CF=0

3-13.

(2) DATA SEGMENT

STRING DB‘THE ……&TV’

COUNT1 EQU $-STRING

COUNT DW COUNT1

T_STRING DB ‘THE COMPUTER’

COUNT_T DW $-T_STRING

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA, ES:DATA

MOV AX ,DATA

MOV ES ,AX

MOV DS ,AX

LEA SI ,STRING

LEA DI ,T_STRING

MOV CX ,COUNT

CMP CX ,COUNT_T

JNZ DONE

REPE CMPSB

JNZ LA

MOV AL ,1

JMP DONE

LA: MOV AL ,0

DONE:MOV BX ,COUNT

SUB BX ,CX

CODE ENDS

3-14.

MOV BL ,0 ;DX中的1的个数存放在BL中

MOV CX ,16 ;共有16位数字

LA: ROL AX ,1

JNC LA1 ;CF为零时跳转

INC BL

LA1: RCR DX ,1 ;将CF中的值移入DX中

LOOP LA

3-15.

(1)逻辑地址 1200H:0278H PA=12278H

(2)逻辑地址 1200H:0300H PA=12300H

(3)逻辑地址 1200H:4800H PA=16800H

(4)逻辑地址 3400H:0ABCH PA=34ABCH

(5)逻辑地址 00FFH:4800H PA=058F0H

3-16.

START: MOV AX,01H

MOV BX,02H

MOV DX,03H

MOV CX,04H

NEXT: INC AX

ADD BX,AX

SHR DX,1

( )

(1)AX=5H BX=10H CX=0H DX=0

(2)AX=2H BX=4H CX=3H DX=1H

(3)AX=3H BX=7H CX=2H DX=0

3-17.

中断向量表是存放中断向量的,它位于内存最低端PA=00000H-003FFH的1KB空间,中断向

量表中0000CH-0000FH用于存放类型3的中断。

3-18. 16H 00008H

00H 00009H

85H 0000AH

04H 0000BH

3-19.

(1) 这些单元对应的中断类型是16/10H

(2) 该中断服务程序的起始地址是D169:240B PA=D3A9B