内容发布更新时间 : 2024/12/23 10:55:06星期一 下面是文章的全部内容请认真阅读。
第一章
1.将下列十进制数转换成二进制数。
(1)49 (2)49.75 (3) 100 (4)100.8125 解:(1) (49)10=(110001)2
(2) (49.75)10=(110001.11)2 (3) (100)10=(1100100)2
(4) (100.8125)10=(1100100.1101)2
2.将下列十六进制数转换成二进制数和十进制数。 (1)FAH (2) 78A2H (3) FFFFH (4)3CH 解:(1) (FA)16=(11111010)2=(250)10
(2) (78A2)16=(111100010100010)2=(30882)10 (3) (FFFF)16=(1111111111111111)2=(65535)10 (4) (3C)16=(111100)2=(60)10
3.将下列二进制数转换成十六进制数和八进制数。
(1)101101.11 (2)1111111 (3)1101001011.01 (4) 10111101 解:(1) (101101.11)2=(2D.C)16=(55.6)8 (2) (1111111)2=(7F)16=(177)8
(3) (1101001011.01)2=(34B.4)16=(1513.2)8 (4) (10111101)2=(BD)16=(275)8
4.设机器字长为8位,写出下列各二进制数的原码、反码和补码。 (1)+1010101 (2)-1000000 (3)+1111111 (4)-1111111 解:(1) 原码:01010101;反码:01010101;补码:01010101。 (2) 原码:11000000;反码:10111111;补码:11000000。 (3) 原码:01111111;反码:01111111;补码:01111111。 (4) 原码:11111111;反码:10000000;补码:10000001。
5.设下列四组为8位二进制补码表示的十六进制数,计算a+b和a-b,并判断其结果是否溢出。
(1)a=0F6H,b=0D5H (2) a=0B7H,b=0C7H
(3)a=37H,b=67H (4) a=73H,b=7BH 解:(1) a+b=CBH,没有发生溢出;a-b=21H,没有发生溢出。 (2) a+b=7EH,发生溢出;a-b=F0H,没有发生溢出。 (3) a+b=9EH,发生溢出;a-b=D0H,没有发生溢出。 (4) a+b=EEH,发生溢出;a-b=F8H,没有发生溢出。
6.已知a=00111000B,b=11110011B,计算下列逻辑运算。 (1) a AND b (2) a OR b (3) a XOR b (4) NOT a
解:(1)a AND b=00110000B (2)a OR b=11111011B (3)a XOR b=11001011B (4)NOT a=11000111B
7.将下列算式中的十进制数表示成组合BCD码进行运算,并根据需要进行调整。 (1)38+42 (2) 56+77 (3) 99+77 (4)34+7 解:(1)00111000 + 01000010 01111010
+ 0110 10000000(80) (2)01010110 + 01110111 11001101 + 01100110
000100110011(133) (3)10011001 + 01110111 100010000 + 01100110
000101110110(176) (4)00110111 + 00000111 00111011 + 0110
01000001(41)
8.将下列字符串表示成相应的ASCII码(用十六进制数表示)。 (1) 102 (2) ABC (3) ASCII (4) abc 解:(1)313032H (2)414243H
(3)4153434949H (4)616263H
9.已知[X]原=10101100B,计算[(1/2)X]补及[(-1/2)X]补的值。 解:∵[X]原=10101100B ∴[(1/2)X]原=10010110B,[(-1/2)X]原=00010110B ∴[(1/2)X]补=11101010B,[(-1/2)X]补=00010110B
10.请将十进制数7.5表示成二进制浮点规格化数(阶符1位,阶码2位,数符1位,尾数4位)。
解:十进制数7.5用二进制表示为:111.1B 111.1B=0.1111×2+3
浮点规格化数表示成:01101111。
第二章
1.8086/8088微处理器从逻辑结构上可以分成哪两部分?试说明每一部分的组成与功能。
答:8086/8088微处理器从逻辑结构上可以分成执行单元(EU)和总线接口单元(BIU)。
执行部件(EU)包含一个16位的算术逻辑单元(ALU)、一个16位反映CPU状态和控制标志的状态标志寄存器(FLAG)、一组8个16位通用寄存器组、数据暂存寄存器和EU的控制电路。总线接口部件(BIU)包含一组段寄存器(CS,SS,DS和ES)、一个指令指针寄存器(IP)、4或6个字节的指令队列、地址形成器件和总线控制逻辑。
EU的功能是负责指令的执行;BIU的功能是根据EU的请求,完成CPU与存储器或I/O接口间的数据传送。
2.写出8086/8088 CPU中14个16位寄存器的名称。 答:8086/8088 CPU中14个16位寄存器的名称如下: AX:累加器。 BX:基址寄存器。 CX:计数寄存器。 DX:数据寄存器。 SP:堆栈指针寄存器。 BP:基地址指针寄存器。 SI:源变址寄存器。 DI:目的变址寄存器。 CS:代码段寄存器。 DS:数据段寄存器。 SS:堆栈段寄存器。 ES:附加段寄存器。 IP:指令指针寄存器。 FLAG:标志寄存器。
3.写出8086/8088 CPU标志寄存器中的6个状态标志位和3个控制标志位的定义。 答:6个状态标志位的定义如下:
CF:进位标志;当最高位有进位或借位时,CF=1;否则CF=0;
PF:奇偶标志;当运算结果中低8位中“1”的个数为偶数时,PF=1;否则PF=0; AF:辅助进行标志;当D3向D4有进位或借位时,AF=1;否则AF=0; ZF:零标志;运算结果每位都为0时,ZF=1;否则ZF=0; SF:符号标志;运算结果的最高位为1时,SF=1;否则SF=0;
OF:溢出标志;两个符号数进行运算产生溢出时,OF=1;否则OF=0。 3个控制标志位的定义如下:
TF:陷阱标志;当TF=1时,CPU将进入单步执行工作方式;
IF:中断标志;当IF=1时允许CPU响应可屏蔽中断;当IF=0时禁止CPU响应可屏蔽中断;
DF:方向标志;当DF=0时,串操作指令时地址朝增加方向;当DF=1时,串操作指令时地址朝减少方向。
4.在8086/8088 CPU中,十六进制补码数8070H与9E85H进行加法运算,请写出运算结束后SF、OF、CF、AF、ZF及PF标志位的值?
解:8070H 1000000001110000
+ 9E85H 1001111010000101 128F5H +10010100011110101
从运算结果可以看出:SF=0;OF=1;AF=0;CF=1;ZF=0;PF=1。
5.写出8086/8088 CPU引脚中ALE、NMI、INTR、INTA及DT/R的含义及输入/输出方向。
答:ALE:地址锁存输出信号。
NMI:非屏蔽中断请求输入信号。 INTR:可屏蔽中断请求输入信号。
INTA:中断响应输出信号。 DT/R:数据传送方向输出信号。
6.8088 CPU中的RESET、READY信号的作用分别是什么?
答:RESET:CPU复位输入信号,高电平有效。当此输入线有效并维持至少4个时钟周期时完成CPU内部复位操作。复位后CPU内的寄存器及引脚处于初始状态。
READY:准备就绪输入信号,高电平有效。用于协调CPU与存储器或I/O端口之间的数据传送。当CPU对存储器或I/O进行操作时,在T3周期开始采样READY信号。若其为低电平,表明被访问的存储器或I/O还未准备就绪;若其为高电平,表明被访问的存储器或I/O已准备就绪。
7.写出段基址、偏移地址、逻辑地址和物理地址的含义,同时写出它们之间的联系。 答:段基址:段首地址的高16位地址码,常存于相应的段寄存器中; 偏移地址:段内的相对地址,也称有效地址;
逻辑地址:由段基址与段内偏移地址组合表示存储单元地址; 物理地址:用20位二进制编号表示存储单元地址; 物理地址=段基址×16+段内偏移地址。 8.试填写物理地址。
(1)CS=1200H,IP=2500H,物理地址为 14500H 。 (2)DS=39A0H,BX=4700H,物理地址为 3E100H 。 (3)ES=6200H,DI=2000H,物理地址为 64000H 。 (4)SS=8200H,BP=1050H,物理地址为 83050H 。 9.请画出8088 CPU一个基本的存储器写总线周期时序图。 答:
一个总线周期
CLK T1 T2 T3 T4
A19 ~A16/S6~S3 地址输出 状态输出
A15~A8 地址输出
AD7~AD0 地址输出 数据输出
ALE
IO/M
WR
DT/R
DEN
10.请写出时钟周期、总线周期与指令周期的含义。
答:时钟周期是CPU的基本时间计量单位,即计算机主频的倒数。
总线周期是指CPU通过总线对存储器或I/O端口进行一次访问(读/写操作)所需
的时间;一个总线周期至少包含4个时钟周期,即T1、T2、T3、T4。
指令周期是指计算机完成一条指令的执行所需要的时间。
11.在总线周期的T1、T2、T3和T4状态,CPU分别执行什么动作?什么情况下需要插入等待状态TW?TW插入的位置?
答:在T1状态,BIU把要访问的存储器单元或I/O端口的地址输出到总线。
在T2状态,地址/数据复用总线停止输出地址信号。若是读周期,T2中地址/数据复用总线处于高阻状态,CPU有足够的时间使其从输出方式变为输入方式;若为写周期,CPU不必转变输出方式。
在T3~T4状态,CPU与存储器或I/O接口进行数据传送。CPU若与慢速的存储器或I/O端口之间的数据传送,READY信号在T3状态时仍为低电平,则在T3之后插入等待状态TW,加入TW的个数由外设的速度与CPU速度匹配决定。
12.8088 CPU 工作在最小模式下,请回答以下问题: (1)CPU访问存储器时,需要哪些信号? (2)CPU访问I/O接口时,需要哪些信号?
(3)当HOLD有效并得到响应时,CPU的哪些信号置高阻状态?
答:(1)利用A15~ A8,AD7~AD0,ALE,WR,RD,DT/R,DEN,IO/M。 (2)利用A15~ A8,AD7~AD0,ALE,WR,RD,DT/R,DEN,IO/M。 (3)当HOLD有效并得到响应时,CPU中呈高阻状态的信号有:A15~ A8,AD7~AD0,
ALE,WR,RD,DT/R,DEN,IO/M。