5、用补码运算完成下列算式并指出运算结果是否产生了溢出: (1)33H+5AH; (2)-29H-5DH; (3)65H-3EH; (4)4CH-68H; 解:(1)正数的补码是它本身,负数的补码是它的反码+1. 00110011 +01011010
-------------
10001101
CY?0,CS?1,OF?0?1?1,有溢出
(2)正数的符号用0表示,负数的符号用1表示。 100101001补码是011010110+1=11010111 101011101补码是010100010+1=10100011 11010111 +10100011 ------------ 101111010
CY?1,CS?0,OF?1?0?1,有溢出。
(3)
01100101的补码是01100101;100111110的补码是011000001+1=11000010 01100101 +11000010 -------------- 100100111
CY?1,CS?1,OF?1?1?0,无溢出
(4)
01001100的补码是01001100;101101000的补码是010010111+1=10011000 01001100 +10011000 --------------- 11100100
CY?0,CS?0,OF?0?0?0,无溢出
6、将8位无符号数AAH矿展为16位应为( );将8位原码数BBH矿展为16位应为( );将8位补码数88H矿展为16位应为( )。 解:00AAH,10111011------>1000 0000 0011 1101=803BH;10001000--->1111111110001000=FF88H 7、将下列各组二进制数进行“与”运算。
解:(1)DAH∧99H (2)BAH∧56H (3)95H∧FFH (1)11011010∧10011001 11011010 ^ 10011001 10011000
?11011010∧10011001=10011000 (2)10111100∧01010110
1
?10111100∧01010110=00010100 (3)10010101∧1111111 10010101 ^ 11111111 10010101
?10010101∧11111111=10010101
8、将下列各组二进制数进行“或”运算。
(1)DAH∨99H (2)F0H∨5AH (3)C6H∨45H 11011010?10011001 11011011
?11011010∨10011001=11011011 (2)11110000∨01011010 11110000 ?0101101011111010
?11110000∨01011010=11111010 (3)11000110∨00000000 11000110?0000000011000110
?11000110∨00000000=11000110
9、将下列各组二进制数进行“异或”运算。
(1)86H?5AH (2)BCH?AAH (3)DAH?99H
10000110?01011010=11011100 10111100?10101010=00010110 11011010?10011001=01000011
16、假设用户程序装入内存后SS=095BH,SP=40H,试问该用户程序的可用栈底部物理地址是多少?
解:栈底地址:逻辑地址为095BH:0000H
物理地址为095BH*16+0000H=95B0H
18、8086/8088系统中,设CS=0914H,共有243字节长的代码段,该代码段末地址的逻辑地址(段地址:偏移地址)和物理地址各是多少? 解: 第二章
3、分别指出下列指令中源操作数和目的操作数的寻址方式: (1)MOV AX,1000H (2)MOV AX,ES:1000H (3)MOV [BX],AL (4)MOV DI,[SI]
(5)ADD AX,[BX+4] (6)SUB AX,[BX+DI+5] (7)MOV [DI+2],AX (8)ADD AX,[BP+DI-7] 解:(1)源操作数为立即寻址方式,目的操作数为寄存器寻址方式; (2)源操作数为直接寻址方式,目的操作数为寄存器寻址方式; (3)源操作数为寄存器寻址方式,目的操作数为间接寻址方式;
2
10111100 ^ 01010110 00010100
(4)源操作数为间接寻址方式,目的操作数为寄存器寻址方式; (5)源操作数为基址寻址方式,目的操作数为寄存器寻址方式; (6)源操作数为基址变址寻址方式,目的操作数为寄存器寻址方式; (7)源操作数为寄存器寻址方式,目的操作数为变址寻址方式; (8)源操作数为基址变址寻址方式,目的操作数为寄存器寻址; 4、指出下列指令是否合法:
(1)MOV AX,DL 不合法,源操作数和目的操作数的类型不匹配; (2)MOV [BX],5 不合法,源操作数和目的操作数存在二异性, (3)ADD AX,5 合法
(4)MOV DS,[SI] 不合法,立即数不能直接送到段寄存器 (5)PUSH CH PUSH是字类型操作数,CH是字节类型; (6)POP CS 不合法,CS不能作为目的操作数来用;
(7)ADD ES,AX 不合法,在加法指令中,ES不能作为目的操作数; (8)MOV SS,CS 不合法,在转换指令中,段寄存器不能送到段寄存器; (9)DEC BX 合法
(10)INC [BX] 不合法,目的操作数类型不明确,存在二异性。 5、表中程序段各指令执行后AX的值用十六进制数填入表中: 程 序 段 MOV AX,0 DEC AX ADD AX,7FFFH ADC AX,1 NEG AX OR AX,3FDFH AND AX,0EBEDH XCHG AH,AL SAL AX,1 RCL AX,1 指 令 SUB [BP],AL MOV [BX],BH MOV [DI],DL MOV ES:[SI],BL ADD [BP+500H],AH SUB [SI?300H],AL MOV [DI+1000H],DL MOV [BX?8],CL MOV ES:[DI+1000H],CH MOV [BP+SI],DH MOV [BX+DI],DL 7、0000H, 0880H, 0081H, 0800H
AX 0000 FFFF 7FFE 8000 8000 BFDF ABCD CDAB 9B56 36AD 存储器操作数的逻辑地址 0FC0H:0000H 1000H:0000H 1000H:0000H 2000H:0000H 0FC0H:0500H 1000H:FD00H 1000H:1000H 1000H:FFF8H 2000H:1000H 0FC0H:0000H 1000H:0000H 注 释 段地址在SS 段地址在SS ?300H=FD00H ?8=FFF8H 段地址在SS 6、用十六进制数填写下表。已知DS=1000H,ES=2000H,SS=0FC0H,通用寄存器的值为0. 3
8、NEG AX, AND AX,7FFFH 9、
(1)MOV CL,4 SHL AX,CL SHL BL,CL MOV AL,BL SHR DH,CL OR AL,DH
(2)XOR CX,0FF0H (3)MOV AL,[BX] MOV AH,0
ADD AL,[BX+1] ADC AH,0
ADD AL,2 [BX] ADC AH,0 (4)方法1: MOV AL,[BX] XCHG AL,[BX+3] MOV [BX],AL MOV AL,1[BX] XCHG AL,2[BX] MOV 1[BX],AL
方法2: MOV AX,[BX] XCHG AH,2[BX] XCHG AL,3[BX] MOV [BX],AX
(5)XCHG BH,BL MOV AL,BL AND BL,0FH MOV CL,4 SHR AL,CL MOV DL,BH AND DL,0FH SHR BH,CL MOV CL,BH
(6)MOV AH,0;将AL中的无符号数扩展成16位 MOV CL,2
SHL AX,CL;将AX乘以4 MOV DX,AX
SHL AX,CL;将AX再乘以4 ADD AX,DX 10、 (1)
4
(2)
变量名 偏移地址(H) 变量的值(H) S1 0000 00 S2 0006 31 NB 000B 02 NW 000E 0078 P 0012 FFFF (3) 程 序 段 目的寄存器的值 源操作数的寻址方式 MOV BX, OFFSET S1+3 0003 立即寻址 MOV SI, OFFSET S2 0006 立即寻址 MOV CL, COUNT 0B 立即寻址 MOV BP, NW+2 FF00 直接寻址 MOV DX, WORD PTR NB 0202 直接寻址 MOV AL, [SI+3] 34 变址寻址 MOV AH, [SI+BX+1] 35 基址变址寻址 MOV CH, BYTE PTR NW+3 FF 直接寻址
5
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库微机课后答案在线全文阅读。
相关推荐: