微机原理及应用(陈继红、徐晨)课后习题答案
2) -361.25D=-101101001.01B=29×(-0.101101001010000)
+9=1001,补码:1001,尾数:[ -0.101101001010000]补=1.010010110110000 规格化浮点数
:0 0001001 1 010010110110000
3.14 设某计算机用
12位表示一个浮点数,该浮点数从高位到低位依次为:阶符 1位、 阶码
3位(原码表示)、数符 1位、尾数 7位(补码表示 ),则
0 100 1 0110011的真值是多少? 答案:-9.625
3.15 8086汇编语言指令的寻址方式有哪几类 ?哪种寻址方式的指令执行速度最快 ?
解:寻址方式分为
:立即数寻址方式、寄存器操作数寻址方式和存储器操作数寻址方式。 其中,寄存器操作数寻址方式的指令执行速度最快。
3.16 在直接寻址方式中
,一般只指出操作数的偏移地址 ,那么,段地址如何确定?如果要用 某个段寄存器指出段地址 ,指令中应该如何表示 ?
解:默认的数据访问 ,操作数在
DS段;堆栈操作在 SS段;串操作源操作数 (SI)在 DS
段,目的操作数 (DI)在 ES段;用
BP作为指针在
SS段。如果要显式地指定段地址,则在操作 数中规定段寄存器。例如:
MOV AX, ES:(BX+10H)
3.17 8086系统中,设
DS=1000H,ES=2000H,SS=1200H,BX=0300H,SI=0200H, BP=0100H,VAR的偏移量为
0600H,请指出下列指令的目标操作数的寻址方式,若目 标操作数为存储器操作数,计算它们的物理地址。
(1)MOV BX,12 ;目标操作数为寄存器寻址 (2)MOV [BX],12 ;目标操作数为寄存器间址 PA=10300H
(3)MOV ES:[SI],AX ;目标操作数为寄存器间址 PA=20200H
(4)MOV VAR,8 ;目标操作数为存储器直接寻址 PA=10600H
(5)MOV [BX][SI],AX ;目标操作数为基址加变址寻址 PA=10500H
(6)MOV 6[BP][SI],AL;目标操作数为相对的基址加变址寻址 PA=12306H
(7)MOV [1000H],DX ;目标操作数为存储器直接寻址 PA=11000H
(8)MOV 6[BX],CX ;目标操作数为寄存器相对寻址 PA=10306H
(9)MOV VAR+5,AX ;目标操作数为存储器直接寻址 PA=10605H
3.18 下面这些指令中哪些是正确的?那些是错误的?如果是错误的,请说明原因。 (1)XCHG CS,AX ;错,CS不能参与交换
(2)MOV [BX],[1000] ;错,存储器之不能交换 (3)XCHG BX,IP;错, IP不能参与交换
(4)PUSH CS;错, CS不能为 PUSH的操作数
(5)POP CS;错,不能将数据弹到 CS中
(6)IN BX,DX ;输入 /输出只能通过 AL/AX
(7)MOV BYTE[BX],1000;1000大于 255,不能装入字节单元
(8)MOV CS,[1000];CS不能作为目标寄存器
(9)MOV BX,OFFSET VAR[SI] ;OFFSET只能取变量的偏移地址 (10)MOV AX,[SI][DI] ;SI、DI不能成为基址加变址
(11)MOV COUNT[BX][SI