2018年自考《汇编语言程序设计》习题八
四、计算
1.已知x,机器字长为8位,试求 [x]原、[x]反、[x]补?
(1)x = +1001101B (2) x = +0001110B (3) x = -1011001B (4) x = -0100111B
2.已知x及y,试分别计算[x+y]补、[x-y]补,并指出是否产生溢出(设补码均用8位表示)。
(1)x = +1001110, y = +0010110
(2)x = +0101101,y = -1100100
(3)x = -0101110,y = +0111011
(4)x = -1000101,y = -0110011
3.完成下列各式补码数的运算,指出运算结果是否有效。
(1)00101101+10011100 (2)01011101-10111010
(3)70ADH-0B1CEH (4)0A2C0H+1234H
4. 一个16位二进制整数,若采用补码表示,由5个“1”和11个“0”组成,则最小值是多少?最大值是多少?(用十进制数表示)
5.已知(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么?
(1) 立即寻址
(2) 直接寻址
(3) 使用BX的寄存器寻址
(4) 使用BX的寄存器间接寻址
(5) 使用BX的寄存器相对寻址
6.在0624H单元内有一条二字节指令:JMP SHORT OBJ,若其中位移量分别为(1) 27H,(2) 6BH,(3)0C6H,试问转向地址OBJ的值是多少?
7.求出以下各十六进制数与十六进制数62A0H之和,并根据结果设置标志位SF,ZF,CF和OF的值。
(1)1234H (2) 4321H (3) 0CFA0H (4) 9D60H
8.设(DS)=2000H,(BX)=1256H,(SI)=528FH,TABLE=20A1H,(232F7H)=3280H,
(264E5H)=2450H,执行下述指令
(1)JMP BX ;(IP)=?
(2) JMP TABLE[BX] ;(IP)=?
(3) JMP [BX][SI] ;(IP)=?
9.给定(IP)=2BC0H,(CS)=0200H,位移量D=5119H,(BX)=1200H,(DS)=212AH, (224A0)=0600H,(275B9)=098AH,试为以下的转移指令找出转移的偏移地址。
(1)段内直接寻址。
(2)使用BX及寄存器间接寻址方式的段内间接寻址。
(3)使用BX及寄存器相对寻址方式的段内间接寻址。
10.求出以下各十六进制数与十六进制数4AE0H之差,并根据结果设置标志位SF,ZF,CF和OF的值。
(1)1234H (2) 5D90H (3) 9090H (4) 0EA04H
11. 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,20100H=12H,(20101)=34H,(20102)=56H,
(20103)=78H,(21200)=2AH,(21201)=4CH,(21202)=0B7H,(21203)=65H,试说明下列各条指令执行完后AX寄存器的内容。
(1) MOV AX,1200H
(2) MOV AX,BX
(3) MOV AX,[1200H]
(4) MOV AX,[BX]
(5) MOV AX,1100[BX]
(6) MOV AX,[BX][SI]
(7) MOV AX,1100[BX][SI]
12. 已知(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,
(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228)=1E40H,(1EAF6H)=091DH,试求单独执行下列指令后的结果。
(1) MOV CL,20H[BX][SI] ;(CL)=?
(2) MOV [BP][DI],CX ;(1E4F6H)=?
(3) LEA BX,20H[BX][SI] ;(BX)=?
MOV AX,2[BX] ;(AX)=?
(4) LDS SI,[BX][DI] ;(SI)=?
MOV [SI],BX ;((SI))=?
(5) XCHG CX,32H[BX] ;(CX)=?
XCHG 20[BX][SI],AX ;(AX)=? (09226H)=?
五、应用
1.试根据以下要求写出相应的汇编语言指令。
(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中。
(2)用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。