微型计算机技术课后习题一二三章答案 下载本文

内容发布更新时间 : 2024/4/28 2:03:58星期一 下面是文章的全部内容请认真阅读。

.

解:EA=0150H+BX+SI=26A4H;PA=DS*16+EA=10000H+26A4H=126A4H; (126A4H)=9DH,BH=12H

BH=75H, SF=0,ZF=0,PF=0, CF=1 ,OF=0 (8)INC BYTE PTR 0152H[BX]

(11352H)=____,(11353H)=____,CF=____

解:EA=0152H+ BX= 1352H,PA=DS*16+EA=11352, (11352H)=0FFH,

(11352H)=00H, (11353H)= 26H, 不影响CF (9)INC WORD PTR 0152H[BX]

(11352H)=____,(11353H)=____,CF=____

解:EA=0152H+ BX= 1352H, PA=DS*16+EA=11532, (11352H)=0FFH, (11353H)= 26H

(11352H)=00H, (11353H)= 27H, 不影响CF (10)SAR BYTE PTR 0150H[BX],1

(11350H) =____, CF=____, OF=____ 解:EA=BX+0150H=1350H PA=DS*16+EA=11350H, (11350H)=0A5H= 10100101B 11010010B=0D2H, CF=1,OF=0

(当移位数为1是,最高位不变则OF=0)

(11)SAL BYTE PTR 0150H[BX],1 (11350H)=____,CF=____,OF=____

解:EA=BX+0150H=1350H,PA=DS*16+EA=11350, (11350H)=0A5H= 10100101B 01001010B=4AH, CF=1,OF=1

3、3 设下列各转移指令的第一字节在内存中的地址为CS=2000H和IP=016EH,且环境均为DS=6000H,BX=16C0H,(616C0H)=46H,(616C1H)=01H,(616C2H)=00H,(616C3H)=30H,(61732H)=70H,(61733H)=17H。写出下列各无条件转移指令执行后CS和IP值。个指令左首的16进制编码是该指令的机器码。指令中的目的地址用相应的标号表示。 (1)EBE7 JMP SHOURT AGAIN (2)E90016 JMP NEARPTR OTHER (3)E3 JMP BX

(4)EA46010010 JMP FAR PROB

(5)FF67 JMP WORD PTR 0072H[BX] (6)FFEB JMP DWORD PTR [BX] 解:

(1)E7补码为-19,IP目标=IP源+2+EA(即-19) =016EH+2-19=0157H

因为段内寻址,所以cs=2000H不变 (2)IP目标=IP源+3 +EA=016EH+3+1600H=1771H 因为段内寻址 所以cs=2000H不变

(3) IP=16C0H, 因为段内寻址 所以cs=2000H不变 (4)段间寻址,有机器码可看出IP=0146H CS=3000H

.

.

(5)段内寻址,所以CS=2000H不变 DS*16+0072H+BX=61732H (61732H)=70H,(61733H)=17H IP=1770H

(6)PA=DS*16+BX=60000H+16C0H=616C0H

(616C0H)=46H (616C1H)=01H IP=0146H (616C2H)=00H (616C3H)=30H CS=3000H 3.4 阅读下列各小题的指令序列,在后面空格中填入 该指令序列的执行结果。 (1) MOV BL,85H MOV AL,17H ADD AL,BL DAA

AL=____, BL=____, CF=____

解:17H+85H=9CHAL

DAA 压缩的BCD码加法十进制调整指令。

(AL的低4位>9或AF=1,ALAL+06H,AF1; AF是辅助进位标志用以标志D3向D4的进位 AL的高4位>9或CF=1,ALAL+60H,CF1;)

AL=9CH+ 06H=0A2H

AL=0A2H+60H=02H, BL=85H CF=1

(2) MOV AX,BX;NOT AX; ADD AX,BX; lNC AX AX=____,CF=____

解:lNC不影响标志位 AX=0000H, CF=0

(3)MOV AX,0FF60H ; STC ; MOV DX,96 XOR DH,0FFH ; SBB AX DX AX=____,CF=____

解:XOR 命令 会使 CF0,OF0 96=60H,AX=0000H, CF=0

(4)MOV BX,0FFFEH ; MOV CL,2;SAR BX,CL BX=____,CF=____

解:0FFFEH=1111111111111110B 1111111111111111B,CF=0 1111 1111 1111 1111B,CF=1 3.5 阅读分析下列指令序列 ADD AX,BX JNO Ll JNO L2 SUB AX,BX JNC L3

.

.

JNO L4 JMP L5

(1)AX=14C6H,BX=80DCH 解: ADD AX,BX OF=0,CF=0; L1 (2)AX=0B568H,BX=5487H 解: ADD AX,BX OF=0,CF=1; L1 (3)AX=42C8H,BX=608DH 解:ADD AX,BX

CF=0 ,OF=1, AX=0AC55H SUB AX,BX;CF=0,OF=0;L3

(4) AX=0D023H,BX=9FDOH 解:ADD AX,BX OF=1,CF=1,AX=6FF3H

SUB AX,BX ;CF=1,OF=1;L5

(5)AX=9FDOH,BX=0D023H 解:ADD AX,BX OF=1,CF=1,AX=6FF3H

SUB AX,BX ;CF=1,OF=1;L5 3.6 AND AL,AL JZ BRCHl RCR AL,1 JZ BRCH2 RCL AL,1 INC AL JZ BRCH3

上述程序运行后,试回答 (1)当AL =00H时, 程序转向BRCHl

(2)当AL =01H时, 程序转向BRCH2

(3)当AL =0FFH时, 程序转向BRCH3 3.7完成下列操作,选用什么指令:

(1)将AX的内容减去0520H,和上次运算的借位; SBB AX,0520H

(2)将变量名TABL的段地址送AX。 MOV AX SEG TABL 3.8 D1 DB 20H DUP(?) D2 DW D1

.

.

请写出用一条指令实现取D1的偏移地址 SI中的三种方法。 (A) LEA SI,D1 (B) MOV SI,OFFSET D1 (C) MOV SI,D2

3.9 程序段1 程序段2 MOV AX , 147BH MOV AX , 99D8H MOV BX , 80DCH MOV BX , 9847H ADD AX , BX SUB AX , BX JNO L1 JNC L3 JNC L2 JNO L4 上述两个程序段执行后,分别转移到哪里? 解:1) L1 2) L3

3.10 MOV BX , 0FFH

AND BX , 0FFFH OR BX , 0F0FH XOR BX , 00FFH

上述程序段运行后,BX= 0F00H,CF= 0

(注意:对于8086 的加法和减法操作,使用CF 来标识将两个操作数看成无符号数时计算是否发生了溢出,而OF 则标识将两个操作数看成有符号数时的情况。计算CF 位时,加法操作是直接将最高位的进位赋给CF,而对于减法操作而言,转换后的补码加法有进位表示实际进行的减法没有借位(即没有溢出),因此需要将最高位进位取反以后赋给CF;对于OF 位的计算则是相同的,通过将最高位的进位和次高位的进位进行异或运算,结果赋给OF(当然也可以使用双符号位来进行计算)。当然对于减法操作而言,我们也可以简单地认为:对于CF 位,将减数与被减数都看成无符号数,如果减数>被减数,则CF=1,否则CF 为0;对于OF 位,若两个数的符号相反,而结果的符号与减数相同则OF=1,其他情况OF=0。) 3.11 CMP AX , BX JGE NEXT XCHG AX , BX

NEXT: CMP AX , CX JGE DONE XCHG AX , CX DONE: …. 试回答:

(1)上述程序段执行后,原有AX 、BX 、CX中最大数存放在哪个寄存器中? 最大数在AX中

(2)这3个数是带符号数还是无符号数? 是带符号数

单纯的课本内容,并不能满足学生的需要,通过补充,达到内容的完善 教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能。教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议。

.