当前位置:文档之家› 南航自动化学院硬件作业答案作业4

南航自动化学院硬件作业答案作业4

3.2 寻址方式可分三种:立即寻址、寄存器寻址、存储器寻址。 说明了数据存放的地方有三种可能:1.指令中 2.寄存器中 3.存储器中

3.3 存储器寻址方式可分为: 1. 直接寻址 2. 寄存器间接寻址 3. 基址寻址和变址寻址 4. 基址变址寻址 5. 基址变址相对寻址

3.4 当用BP寄存器的内容作为有效地址的一部分时,则缺省的段寄存器是SS。因为:如果用BP寻址,操作数一般放在堆栈中,用BP指针可以直接操作堆栈中的任意单元,为堆栈操作提供了方便。

3.6 (1) 立即寻址:MOV AX, 4237H 无有效地址 (2) 直接寻址:MOV AX, [4237H] EA=4237H (3) 用BX的寄存器寻址方式:MOV AX, BX 无有效地址 (4) 用BX的寄存器间址:MOV AX, [BX] EA=637DH (5) 基址寻址:MOV AX, [BX+4237H] EA= 637DH+4237H=A5B4H (6) 变址寻址:MOV AX, [SI+4237H] EA= 2A9BH+4237H=6CD2H (7) 基址加变址寻址:MOV AX, [BX+SI] EA= 637DH+2A9BH =8E18H

3.7 目的操作数 源操作数 (1) OR AX,AX 寄存器寻址 寄存器寻址 (2) MOV AH,0FFH 寄存器寻址 立即寻址 (3) ADD AX,[BX][DI] 寄存器寻址 基址变址寻址 (4) IN AL,DX 寄存器寻址 寄存器寻址 (5) JMP OPRD 直接寻址 无 (6) HLT 无 无 (7) JMP WORD PRT[BX] 寄存器间接寻址 无 (8) LDS SI,[BX] 寄存器 寄存器间接寻址 (9) MOV DI,OFFSET DATA 寄存器 立即寻址 (10) DAA 隐含 隐含 (11) OUT 7FH,AX 直接寻址 寄存器寻址 (12) CALL FAR PROC 直接寻址 无 (13) XLAT 隐含 隐含 (15) IMUL [BX+SI] 隐含 基址变址

3.8 (1) 段内直接寻址:转移地址=2BC0H+3+5119H=7CDCH (2) 使用BX寄存器和寄存器寻址方式的段内间接寻址方式: JMP BX 转移地址=1200H (3) 使用BX寄存器和基址寻址方式的段内间接寻址方式: JMP WORD PTR [BX+5119H] 转移地址=098AH 3.9 (1)MOV BX, AL 错,两个操作数位数不一致 (2)IN AL, BX 错,端口间接寻址寄存器不能用BX (3)MOV CS, [3202H] 错,目的操作数不能用CS (4)XCHG AX, 1234H 错,操作数不能用立即数 (5)MOV DS, SEG DATA 错,立即数不能直接送入段寄存器 (6)ADD AL, [BX+BP+10] 错,不能同时用两个基址寄存器寻址 (7)MOV DX, [BX] 对 (8)LEA AX, OFFSET DATA 错,OFFSET多余 (9)JMP VAR1 对 (10)JE VAR1 错,如果VAR1标号的范围超过(-128~+127)则错 (11)JMP TABLE1[SI] 对 (12)POP 2000H 错,目的操作数不能是立即数 (13)XCHG CX, DS 错,DS不做XCHG操作数 (14)JMP DWORD PTR VAR1 错,是段间直接转移,应为JMP FAR PTR VAR1

3.10(1)DX=0006H, BX= 0004H (2) SP=FFFEH, [SP]=17C6H (3) CX=0004H, [BX]=0004H (4) AX=8094H, CF=0 (5) AL=87H (6) AL=CCH, CF=0, AL=32H (7) SI=0009H (8) [DI]=94H (9) AH=84H, BL=04H (10)IP=17C6H

3.11 MOV AX,1234H AX=1234H MOV AL,98H AX=1298H MOV AH,76H AX=7698H ADD AL,81H AX=7619H SUB AL,35H AX=76E4H ADD AL,AH AX=765AH, CF=1 ADC AH,AL AX=D05AH ADD AX,0D2H AX=D12CH SUB AX,0FFH AX=D02DH ( D12DH?) 3.12 指令 CF ZF SF OF PF AF 1.AL=89H 不影响 不影响 不影响 不影响 不影响 不影响

2.AL=12H 1 0 0 1 1 1 3.AL=AFH 0 0 1 0 1 0 4.AL=AFH 1 0 1 0 1 0 5.AL=00H 0 1 0 0 1 0 6.AL=FFH 不影响 0 1 0 1 1 7.AL=00H 不影响 1 0 0 1 0 3.13 (1) AL=45H, 不影响标志位 (2) AL=05H, ZF= 0 SF= 0 PF=1 (3) AL=C7H, ZF= 0 SF=1 PF=0 (4) AL=0, ZF= 1 SF= 0 PF=1

3.14 (1) MOV AX , 0 XOR AX , AX SUB AX , AX AND AX , 0 (2) MOV AH , CL MOV AL , CL AND AL , 0FH MOV CL, 4 SHR AH,CL (3) XOR AL,0F0H (4) 乘以2:SHL AX,1 RCL DX,1 除以2:SHR DX,1 RCR AX,1

3.15 (1) 存放在DX,AX,BX中的48位数乘以2 (2)DX=2004H AX=6009H BX=000CH

3.17 (1) 转向L1 (2)转向L1 (3) 转向L2 (4) 顺序执行

3.18 (1) AX=14H, BX=0200H, CX=00H, DX=00H (2) AX=12H, BX=80H, CX=02H, DX=00H (3) AX=11H, BX=40H, CX=03H, DX=01H

3.19 (1) 将AL中的8位数据送到580H端口,[580H]=60H (2)将AX中的 16位数据送到580H端口, [580H]=80H, [581H]=60H (3) 将端口40H中的8位数据读入到AL中,AL=4FH (4) 将端口40H、41H中的16位数据读到AX中,AX=XX4FH(41H端口的内容XX) (5) 将AL中的8位数据送到端口45H,[45H]=60H (6) 将AX中的16位数据送到端口45H、46H,[45H]=60H, [46]=80H

3.20 (1) MOV AX,NUM1 ADD AX,NUM2 MOV NUM1,AX (2) MOV AL,NUM1 ADD AL,NUM1+1 ADD AL,NUM1+2 ADD AL,NUM1+3 MOV RES,AL (3) LEA SI,NUM1 MOV CX,8 MOV AX,0 AGAIN:ADD AL,[SI] ADC AH,0 INC SI LOOP AGAIN MOV RES,AX (4) MOV AX,NUM1 ADD AX,NUM2 MOV NUM2,AX MOV AX,NUM1+2 ADC AX,NUM2+2 MOV NUM2+2,AX

3.21 (1) MOV AL, NUM1 MUL NUM2 MOV RES,AL MOV RES+1,AH (2) MOV AX, NUM1 IMUL NUM2 MOV RES , AX MOV RES+2, DX (3) MOV AL,NUM1 MOV BL,46 CBW DIV BL MOV RES,AL MOV RES+1,AH (4) MOV AX,NUM1 CWD DIV NUM2 MOV RES,AX MOV RES+2,DX

3.22 +53*2: SAL AL,1 6AH=106,CF=0 -49*2: SAL AL,1 9EH=-98,CF=1 +53/2: SAR AL,1 1AH=26, CF=1 -49/2: SAR AL,1 E7H=-25,CF=1 3.23 (1) 0094H (2) 0061H (3) 8071H (4) 10F7H (5) FF1CH

3.24(1)将FIRST开始的10个字节送到SECOND开始的10个单元中 (2)将0404H开始的256个字节(128个字)单元清0

3.25 无符号数 并设AX*5/2≤FFFFH 算法1:AX*5/2=(AX*2)*2+AX再除2 MOV BX,AX SHL AX,1 ;×2 SHL AX,1 ;×4 ADD AX,BX ;×5 SHR AX,1 ;/2

算法2:AX*5/2=AX*2+AX/2 XOR BX,BX ;CF=0 MOV BX,AX SHL BX,1 ;AX*2 SHR AX,1 ;AX/2 ADD AX,BX

3.26 LEA BX,[0A80H] ;或MOV BX,0A80H MOV AL,5 XLAT

3.27 (IP)=([DI]) (CS)=([DI]+2) (SS)=1000H (SP)=2EH [SP]=09H [SP+1]=10H [SP+2]=94H [SP+3]=13H

3-28 CMP AL,01H JZ LAB1 CMP AL,02H JZ LAB2 CMP AL,04H JZ LAB3 TEST AL,07H JNZ END ...... END:HLT

相关主题