微机课后答案

更新时间:2023-11-02 23:25:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

本文来源:https://www.bwwdw.com/article/m852.html

Top