微机原理及应用教材课后习题及答案 下载本文

内容发布更新时间 : 2024/6/23 11:40:32星期一 下面是文章的全部内容请认真阅读。

《微机原理及应用》习题答案

第一章

?1.11 请完成下列数制转换:

(1) 将174.66D转换为对应的二进制和十六进制形式。

(2) 将100011101011.01011B转换为对应的十进制和十六进制形式。 (3) 将F18A6.6H转换为对应的二进制和十进制形式。 答:174.66D=10101110.1010B=AE.AH

100011101011.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所能存放的数据的范围;

⑹寄存器间接寻址只能用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 al,al dec al inc al

答:⑴ al=89h

⑵ al=12h,CF=1,ZF=0,SF=0,OF=1,PF=1,AF=1 ⑶ al=afh, CF=0,ZF=0,SF=1,OF=0,PF=1,AF=0 ⑷ al=afh, CF=1,ZF=0,SF=1,OF=1,PF=1,AF=0 ⑸ al=00h,CF=0,ZF=1,SF=0,OF=0,PF=1,AF=0 ⑹ al=ffh, CF=0,ZF=0,SF=1,OF=0,PF=1,AF=1 ⑺ al=00h,CF=0,ZF=1,SF=0,OF=0,PF=1,AF=1 ?2.12请分别用一条汇编语言指令完成如下功能:

(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。

(2)用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加

并把结果送到AL中。用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内 容相加,并把结果送回存储器中。

(4) 用位移量为0520H的直接寻址方式把存储器中的一个字与数3412H相加,并把结果

送回该存储单元中。

(5) 把数0A0H与AL寄存器的内容相加,并把结果送回AL中。 答:

⑴ add dx, bx;

⑵ add al,[bx+si]; ⑶ add [bx+00b2h],cx

⑷ add word ptr [0520h],3412h ⑸ add al,0a0h

?2.13设X,Y,Z,V均为16位带符号数,分别装在X,Y,Z,V存储器单元中,阅读如下程序段,得出它的运算公式,并说明运算结果存于何处。

mov ax,x imul y mov cx,ax mox bx,dx mov ax,z cwd

add cx,ax adc bx,dx sub cx,540 abb bx,0 mov ax,v cwd

sub ax,cx abb dx,bx idiv x

答:(V -( X * Y + Z - 540 ) )/ X

?2.14给出下列各条指令执行后的结果,以及状态标志CF、OF、SF、ZF、PF的状态。 mov ax,1470h and ax,ax or ax,ax xor ax,ax not ax

test ax,0f0f0h

答:⑴ ax=1470h

⑵ ax=1470h,CF=0,ZF=0,SF=0,OF=0,PF=0 ⑶ ax=1470h,CF=0,ZF=0,SF=0,OF=0,PF=0 ⑷ ax=0000h,CF=0,ZF=0,SF=0,OF=1,PF=1 ⑸ ax=0ffffh, CF=0,ZF=0,SF=0,OF=1,PF=1

⑹ ax=0ffffh, CF=0,ZF=0,SF=1,OF=0,PF=1?2.16假设DS=2000H,BX=1256H,TABLE的偏移地址是20A1H,物理地址232F7H处存放3280H,试问执行下列段内间接寻址的转移指令后,转移的有效地址是什么? 答:⑴ 1256h; ⑵ 3280h

?2.17判断下列程序段跳转的条件 (1) xor ax,leleh

je equal

(2) test al,10000001b

jnz there (3) cmp cx,64h

jb there

答:⑴ ax=1e1eh; ⑵ al=1******1b; ⑶ cx<64h

?2.18如下是一段软件延时程序,请问NOP指令执行了多少次? xor cx,cx delay: nop

loop delay