微机原理作业及参考答案

更新时间:2023-12-10 00:48:01 阅读量: 教育文库 文档下载

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

第一章 计算机基础 (P32)

1-3 写出下列机器数的真值:

(1)01101110 (2)10001101 (3)01011001 (4)11001110 答案:

(1)+110 (2)-13(原码) -114(反码)-115(补码) (3)+89 (4)-78(原码)-49(反码)-50(补码)

1-4 写出下列二进制数的原码、反码和补码(设字长为8位): (1)+010111 (2)+101011 (3)-101000 (4)-111111 答案:

(1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111 (2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011 (3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000 (4)[x]原=10111111 [x]反= 11000000 [x]补=11000001

1-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少?

(1)00001110 表示原码14, 反码14,表示补码为14 (2)11111111 表示原码-127, 反码-0,表示补码为-1 (3)10000000 表示原码-0, 反码-127,表示补码为-128 (4)10000001 表示原码-1, 反码-126,表示补码为-127

1-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。(字长8位)

(1)[x1+y1]补 (2)[x1-y2]补 (3)[x2-y2]补 (4)[x2+y2]补 (5)[x1+2*y2]补 (6)[x2+y2/8]补 答案:

(1)[x1+y1]补=[00010100+00100001]补=[00110101]补=00110101 (2)[x1-y2]补=[x1]补+[-y2]补=00010100+00100001=00110101 (3)[x2-y2]补=[x2]补+[-y2]补=11101100+00100001=00001101 (4)[x2+y2]补=[x2]补+[y2]补=11101100+11011111=11001011

(5)[x1+2*y2]补=[x1]补+[2*y2]补=00010100+10111110=11010010 (6)[x2+y2/8]补=11101100+[y2/8]补=11101100+11111100=11101000

1-7 用补码来完成下列运算,并判断有无溢出产生(字长为8位): (1)85+60 (2)-85+60 (3)85-60 (4)-85-60 答案:

(1)[x]补+[y]补=01010101+00111100=10010001 = -111,有溢出 (2)[x]补+[y]补=10101011+00111100=11100111 =-25,无溢出

(3)[x]补+[y]补= 01010101+11000100=00011001 =25,无溢出 (4)[x]补+[y]补=10101011+11000100=01101111 =111,有溢出

1-8在微型计算机中存放的两个补码数,试用补码加法完成计算,并判断有无溢出产生。

(1)[x]补+[y]补=01001010+01100001=10101011 有溢出

(2)[x]补-[y]补=01101100-01010110 = 01101100+10101010=00010110

无溢出

注:[ X]补-[Y]补=[X]补+[-Y]补

[-Y]补的算法:将[Y]补连同符号位一起按位取反加1

1-9 试将下列各数转换成BCD码: (1)(30)10 (2)(127)10 (3)00100010B (4)74H 答案: (1)(30)10 = (0011 0000)BCD (2)(127)10 = (0001 0010 0111)BCD

(3)00100010B = 34 = (0011 0100)BCD

(4)74H = (116)10 = (0001 0001 0110)BCD

1-10 下列各数代表什么ASCII字符:

(1)41H (2) 72H (3) 65H (4) 20H 答案:

(1)41H =(0100 0001)2,代表字符A。 (2)72H = (0111 0010)2,代表字符r。 (3)65H = (0110 0101)2,代表字符e。 (4)20H = (32)10 = (0010 0000)2, 代表SP。

1-11 写出下列字符的ASCII码: 9,*,=,!,$

答案: 9 0011 1001 * 0010 1010 = 0011 1101 ! 0010 0001 $ 0010 0001

1-21 试用示意图说明内存储器的结构和读、写操作。 参考课本P22

第二章 80X86/Pentium微处理器(P90)

2-3 在执行指令期间,EU能直接访问存储器吗?为什么?

答:不能,因为CPU由EU和BIU组成,在指令执行期间,EU负责到BIU指令队列去取指令,执行指令,如果需要从存储器取数据,由BIU负责总线操作。

2-7 8086/8088有几位状态位?有几位控制位?其含义分别是什么? 答:8086/8088有6位状态位,3位控制位。

状态位:CF进位标志;PF奇偶标志;AF辅助进位标志;ZF零标志;SF符号标志,OF溢出标志。

控制位:IF 允许中断标志;DF方向标志;TF陷阱标志

2-9 简述A0与/BHE在8086系统中的作用。 答:8086有16根数据线,可以在一个总线读写周期中,读写一个字数据。8086CPU配置的内存分为奇地址和偶地址存储体。如果要读写一个字数据,需要分别从奇地址和偶地址存储体读写一个字节数据。由A0=0选通偶地址存储体,一个字节数据送到低八位数据线D0~D7;由/BHE=0选通奇地址存储体,一个字节数据送到高八位数据线D8~D15。

2-19设双字12345678H的起始地址是A001H,试说明这个双字在存储器中如何存放?

答:地址为A001H、A002H、A003H、A004H的存储单元分别存放:78H、56H、34H、12H。存放原则:低地址存放低位数据,依次存放在连续的存储单元中。

2-20 已知堆栈段寄存器SS=A000H,堆栈指示器SP=0100H,试将数据1234ABCDH推入堆栈,画出进栈示意图。最后栈顶SP=? 答: SP=00FCH

物理地址 0A00FCH---0A00FFH的内容依次为CD,AB,34,12.

注:SP:堆栈栈顶指示器,16位寄存器,存放栈顶的偏移地址。

2-21 试求出下列运算后的各个状态标志,并说明进位标志和溢出标志的区别。 (1)1278H+3469H (2)54E3H-27A0H (3)3881H+3597H (4)01E3H-01E3H 解:(1) 0001 0010 0111 1000 + 0011 0100 0110 1001 0100 0110 1110 0001

CF=0 PF=1 AF=1 ZF=0 SF=0 OF=0

(2) 0101 0100 1110 0011 + 1101 1000 0110 0000 1 0010 1101 0100 0011

CF=0 PF=0 AF=0 ZF=0 SF=0 OF=0

(3) 0011 1000 1000 0001 + 0011 0101 1001 0111 0110 1110 0001 1000

CF=0 PF=1 AF=0 ZF=0 SF=0 OF=0

(4) 0000 0001 1110 0011 + 1111 1110 0001 1101 1 0000 0000 0000 0000

CF=0 PF=1 AF=0 ZF=1 SF=0 OF=0

注:16位操作数的最低二进制位:b0、最高二进制位:b15 AF:看b3是否向b4有进(借)位:辅助进借位

2-24 什么是时钟周期,机器周期,总线周期,什么是指令周期? 参考课本P55。

第三章 80X86/Pentium指令系统(P135)

3-5

寻址方式:要注意题目要求是源操作数还是目的操作数。

(1)MOV SI,2100H (2)MOV CX,DISP[BX] (3)MOV [SI],AX (4)ADC AX,[BX][SI] (5)AND AX,DX (6)MOV AX,[BX+10H] (7)MOV AX,ES:[BX] (8)MOV AX,[BX+SI+20H] (9)MOV [BP],CX (10)PUSH DS

参见课本内容,掌握寻址方式和EA、PA的计算。 地址表达式:标号/变量/常量+基址寄存器+变址寄存器

[地址表达式]:存储器操作数,以地址表达式的值为偏移地址 如下:是否正确? MOV AX, [SI][DI] MOV AX, [BX][BP] MOV AX, [ELEMS+CX] MOV AX,[ELEMS+100-SI] MOV BX, [AX] 3-8 (1)AX=3355H, SP=1FFFEH

(2) AX=3355H, DX=4466H, SP=1FFFEH

3-12 (3)BX=0056H, AX=1E40H (4)SI=00F6H, [SI]=0024H

(5)AX=5678H, [09226H]=1234H

3-14 (1)MOV AX,0 XOR AX,AX

(2)MOV CL,4 ROR BL,CL

(3)假设N1、N2、M1、M2都为字节变量,则 MOV AX,N1 CWD IDIV N2 MOV M1,AL MOV M2,AH

(4)AND BX,1111011110101111b (5)XOR AX 4020H

(6) TEST DX,0000001000000001b

JZ ZERO;ZF=1说明bo、b9全为0 TEST DX,0000000000000001b

JZ B0ZERO; ZF=1说明bo为0 TEST DX,0000001000000000b JZ B9ZERO; ZF=1说明b9为0 …; bo、b9全为1

ZERO:…

B0ZERO:… B9ZERO:…

(7) OR CX,1 3-17

NUM1 DW 4148H,2816H NUM2 DW 2258H,8452H (1) MOV AX,NUM2 ADD NUM1,AX MOV AX,NUM2+2 ADD NUM1+2,AX (2) RES DB 2DUP(?)

MOV AL,BYTE PTR NUM1 ADD AL,BYTE PTR NUM1+1 ADD AL,BYTE PTR NUM1+2 ADD AL,BYTE PTR NUM1+3 MOV RES,AL

(3) 假设存放的数据为无符号数 MOV SI,OFFSET NUM1 XOR AX,AX MOV CX,8 LP:ADD AL,[SI] ADC AH,0 INC SI

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

Top