《微机原理及应用》习题答案
第一章
?1.11 请完成下列数制转换:
(1) 将174.66D转换为对应的二进制和十六进制形式。 (2) 将1.01011B转换为对应的十进制和十六进制形式。 (3) 将F18A6.6H转换为对应的二进制和十进制形式。 答:174.66D=10101110.1010B=AE.AH
1.01011B=2283.34375D=8EB.58H F18A6.6H=989350.375D
?1.12 请写出与数据+37和-37对应的8位机器数原码、反码和补码,并分别用二进制和十六进制表示出来。
答:-37D=(10100101B)原=(11011010B)反=(11011011B)补
?1.13 8位机器数46H,若作为无符号数和补码有符号数,其对应的真值各是什么?若作为BCD码和ASCII码,其对应的又是什么?
答:无符号数46H=70,补码46H=+70 BCD码46H=46,ASCII码46H=“F”
第二章
?2.5什么是8088中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?1MB最多能分成多少个逻辑段?请将如下逻辑地址用物理地址表达:
(1) FFFFH:0H (2) 40H:17H (3) 2000H:4500H (4) B821H:4567H
答:⑴ FFFFH:0H = FFFF0H ⑵ 40H:17H = 00417H ⑶ 2000H:4500H = 24500H ⑷ B821H:4567H = BC777H
?2.8已知DS=2000H,BX=0100H,SI=0002,存储单元[20100H]~[20103H]依次存放12H,34H,56H,78H,[21200H]~[21203H]依次存放2AH,4CH,87H,65H,说明下列每条指令执行完后AX寄存器的内容以及源操作数的寻址方式? 答:⑴ AX=1200H,立即数寻址; ⑵ AX=0100H,寄存器寻址; ⑶ AX=4C2AH,直接寻址;
⑷ AX=3412H,寄存器间接寻址; ⑸ AX=4C2AH,寄存器相对寻址; ⑹ AX=7865H,基址变址寻址;
⑺ AX=65B7H,基址变址相对寻址。 ?2.9 说明下面各条指令的具体错误原因:
(1) mov cx,dl (2)mov ip,ax (3)mov es,1234h (4)mov es,ds (5) mov al,300 (6)mov [sp],ax (7)mov ax,bx+di (8)mov 20h,ah 答: ⑴操作数类型不同;
⑵不能手工修改IP;
⑶不能将立即数直接MOV到段寄存器; ⑷不能在段寄存器之间直接MOV数据; ⑸300大于AL所能存放的数据的范围;
1 / 27
⑹寄存器间接寻址只能用BX/BP/SI/DI之一; ⑺MOV AX,[BX+DI]; ⑻目的操作数不能是立即数。
?2.10 已知数字0~9对应的格雷码依次为:18H,34H,05H,06H,09H,0AH,0CH,11H,12H,14H,它存在于以table为首地址(设为200H)的连续区域中。请为如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。 lea bx,table mov al,8 xlat 答:
lea bx,table ;bx=0200h mov al,8 ;al=08h xlat ;al=12h
?2.11给出下列各条指令执行后的AL值,以及CF,ZF,SF,OF和PF的状态: mov al,89h add al,al add al,9dh cmp al,0bch sub a