1632位微机原理汇编语言及接口技术第2版习题答案.docx
- 文档编号:17461175
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:33
- 大小:125.17KB
1632位微机原理汇编语言及接口技术第2版习题答案.docx
《1632位微机原理汇编语言及接口技术第2版习题答案.docx》由会员分享,可在线阅读,更多相关《1632位微机原理汇编语言及接口技术第2版习题答案.docx(33页珍藏版)》请在冰点文库上搜索。
1632位微机原理汇编语言及接口技术第2版习题答案
第一章
1.1解:
五代,详细见书
1.2解:
微型计算机:
以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心,所构造出的计算机系统。
PC机:
PC(PersonalComputer)机就是面向个人单独使用的一类微机。
单片机:
用于控制的微处理器芯片,内部除CPU外还集成了计算机的其他一些主要部件,如:
ROM、RAM、定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等。
数字信号处理器DSP:
主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用
1.3解:
微机主要有存储器、I/O设备和I/O接口、CPU、系统总线、操作系统和应用软件组成,各部分功能如下:
CPU:
统一协调和控制系统中的各个部件
系统总线:
传送信息
存储器:
存放程序和数据
I/O设备:
实现微机的输入输出功能
I/O接口:
I/O设备与CPU的桥梁
操作系统:
管理系统所有的软硬件资源
1.4解:
系统总线:
传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息交换。
好处:
组态灵活、扩展方便
三组信号线:
数据总线、地址总线和控制总线。
其使用特点是:
在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。
1.5解:
(1)用于数值计算、数据处理及信息管理方向。
采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段。
(2)用于过程控制及嵌人应用方向。
采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。
1.6解:
1.7解:
I/O通道:
位于CPU和设备控制器之间,其目的是承担一些原来由CPU处理的I/O任务,从而把CPU从繁杂的I/O任务中解脱出来。
由10根信号线组成(A9-A0)。
1.8解:
BIOS:
基本输入输出系统。
主要功能:
用来驱动和管理诸如键盘、显示器、打印机、磁盘、时钟、串行通信接口等基本的输入输出设备
1.9解:
基本RAM区:
640KB
保留RAM区:
128KB
扩展ROM区:
128KB
基本ROM区:
128KB
1.10解:
(1)、数—用来直接表征量的大小,包括:
定点数、浮点数。
(2)、码—用来指代某个事物或事物的某种状态属性,包括:
二进制、八进制、十进制、十六进制。
区别:
使用场合不同,详见P16.
1.11解:
(1)
(2)
(3)
1.12解:
原码反码补码
+3700100101/25H00100101/25H00100101/25H
-3710100101/A5H11011010/DAH11011011/DBH
1.13解:
+37
-37
16位
32位
16位
32位
0025H
00000025H
FF5BH
FFFFFF5BH
1.14解:
无符号数:
70D
补码有符号数:
70D
BCD码:
46D
ASCII:
F
1.15解:
1)、相加后若出现和大于9,则将和减去10后再向高位进1
2)、若出现组间进位,则将低位加6
1.16解:
详见课本16页。
1.17解:
C3402000
1.18解:
50
50H
十进制值
50
80
二进制
十六进制
二进制
十六进制
00110010B
32H
01010000B
50H
1.19解:
D:
44H
d:
64H
CR:
0DH
LF:
0AH
0:
30H
SP:
20H
NUL:
00H
1.20解:
国标码:
3650H
机内码:
B6B0H
第二章
2.1
算术逻辑单元ALU、寄存器组和控制器;
总线接口单元BIU:
管理8088与系统总线的接口负责cpu对接口和外设进行访问
执行单元EU:
负责指令译码、执行和数据运算;
8位cpu在指令译码前必须等待取指令操作的完成,8088中需要译码的指令已经取到了指令队列,不需要等待取指令。
而取指令是cpu最为频繁的操作,因此8088的结构和操作方式节省了大量等待时间,比8位cpu节省了时间,提高了性能。
2.2
8个8位寄存器:
AH、AL、BH、BL、CH、CL、DH、DL;
8个16位寄存器:
累加器AX、基址寄存器BX、计数器CX、数据寄存器DX、源地址寄存器SI、目的地址寄存器DI、基址指针BP、堆栈指针SP。
2.3
标志用于反映指令执行结果或者控制指令执行形式。
状态标志用于记录程序运行结果的状态信息;控制标志用于控制指令执行的形式。
2.4
例:
有运算:
3AH+7CH=B6H
作为无符号数运算,没有进位,CF=0;
作为有符号数运算,结果超出范围,OF=1.
2.5
8088中每个存储单元有唯一的20位地址,称为物理地址。
处理器通过总线存取存储器数据时,采用这个物理地址。
在用户编程过程中采用的“段地址:
偏移地址”的形式称为逻辑地址。
将逻辑地址中的段地址左移4位,加上偏移地址就得到物理地址。
1MB最多能分成65536个逻辑段。
2.6
代码段:
存放程序的指令序列;
堆栈段:
确定堆栈所在的主存储区;
数据段:
存放当前运行程序的数据;
附加段:
附加数据段,用于数据保存。
另外串操作指令将其作为目的操作数的存放区。
2.7
8088的存储空间分段管理,程序设计时采用逻辑地址。
由于段地址在默认的或指定的段寄存器中,所以只需要偏移地址,称为有效地址EA.
操作数在主存中有以下几种寻址方式:
直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址。
2.8
(1)立即数寻址ax:
1200H
(2)寄存器寻址ax:
0100H
(3)存储器直接寻址ax:
4C2AH
(4)寄存器间接寻址ax:
3412H
(5)寄存器间接寻址ax:
4C2AH
(6)基址变址寻址ax:
7856H
(7)相对基址变址寻址ax:
65B7H
2.9
(1)cx为字寄存器,dl为字节寄存器,类型不匹配。
(2)mov指令的目的操作数只能是寄存器或者主存单元,ip是指针。
(3)不允许立即数到段寄存器的传送。
(4)不允许段寄存器之间的直接传送。
(5)数据溢出。
(6)sp不能用于寄存器间接寻址。
(7)格式不对。
应为:
movax,[bx+di]
(8)mov指令的操作数不能是立即数。
2.10
(1)bx得到table的偏移地址,bx=200H.
(2)将立即数8送到al。
(3)换码,al=12H.
2.11
(1)al=89H
(2)al=12H,cf=1,zf=0,sf=0,of=1,pf=1
(3)al=0AFH,cf=0,zf=0,sf=1,of=0,pf=1
(4)al=0AFH,cf=1,zf=0,sf=1,of=1,pf=1
(5)al=0,cf=0,zf=1,sf=0,of=0,pf=1
(6)al=0FFH,cf=0,zf=0,sf=1,of=0,pf=1
(7)al=0,cf=0,zf=1,sf=0,of=0,pf=1
2.12
(1)adddx,bx
(2)addal,[bx+si]
(3)addwordptr[bx+0B2H],cx
(4)addwordptr[0520H],3412H
(5)addal,0A0H
2.13
运算公式:
。
商存储在ax,余数存储在dx。
2.14
(1)ax=1470H
(2)ax=1470H,cf=0,of=0,sf=0,zf=0,pf=0
(3)ax=1470H,cf=0,of=0,sf=0,zf=0,pf=0
(4)ax=0,cf=0,of=0,sf=0,zf=1,pf=1
(5)ax=0FFFFH,cf=0,of=0,sf=0,zf=1,pf=1
(6)ax=0FFFFH,cf=0,of=0,sf=1,zf=0,pf=1
2.15
相对寻址方式、直接寻址方式、间接寻址方式。
2.16
(1)1256H
(2)3280H
2.17
(1)ax=1E1EH
(2)al的D0、D7位不全为0
(3)cx<64H
2.18
执行65536次。
2.19
功能:
将数组中每个字元素相加,结果存储于total。
2.20
(1)leasi,string
Movdh,[si]
Movdl,[si+5]
(2)movaxwordptrbuffer1
Subaxwordptrbuffer2
Movdxwordptrbuffer1+2
Sbbdxwordptrbuffer2+2
(3)testdx,0F000H
jzeven
even:
movax,0
(4)movcx,4
again:
sardx,1
rcrax,1
loopagain
(5)movcx,100
movsi,0
again:
moval,0FFH
addal,array[si]
movarray[si],al
incsi
loopagain
2.21
Htoascproc
Movbl,al
Moval,ah
Movbh,10
Mulbh
Andax,00FFH
Addal,bl
Htoend:
ret
Htoascendp
2.22
计算机系统利用中断为用户提供硬件设备驱动程序。
在IBM-PC系列微机中,基本输入输出系统ROM-BIOS和DOS都提供了丰富的中断服务程序,称为系统功能调用。
调用步骤
(1)AH中设置系统功能调用号
(2)在指定寄存器中设置入口参数
(3)使用中断调用指令执行功能调用
(4)根据出口参数分析调用情况
2.23
Htoascproc
Andal,0FH
Addal,90H
Daa
Adcal,40H
Daa
Movah,02H
Movdl,al
Int21H
Ret
Htoascendp
2.24
Numoutproc
Xorah,ah
Aam
Addax,3030H
Movdl,ah
Movah,02H
Int21H
Movdl,al
Movah,02H
Int31H
Ret
Numoutendp
2.25
Msgkeydb”inputnumber0-9”,”$”
Msgwrgdb”error”,”$”
Movah,09H
Movdx,offsetmsgkey
Int21H
Again:
movah,01H
Int21H
Cmpal,30H
Jbdisp
Cmpal,39H
Jadisp
Movdl,al
Movah,02H
Int21H
Jmpdone
Disp:
movdx,offsetmsgwrg
Movah,09H
Int21H
Jmpagain
Done:
movah,02H
Movdl,al
Int21H
第四章
4.1
20;
;65536;
;扩展板
4.4
总线操作周期中,8088在第三个时钟周期的前沿测试READY引脚,若无效,表明被访问的设备与CPU操作不同步,CPU插入等待周期。
4.5
最小组态模式用于小规模系统,MN/MX*接高电平,分时复用引脚是:
,
,当MN/MX*接低电平,8088构成最大组态模式,应用大规模应用程序。
4.6
引脚三态能力主要针对引脚输出信号状态:
高电平、低电平和高阻。
输出高阻意味着芯片放弃对引脚的控制。
这样它所连接的设备就可以接管该引脚及连接导线的控制权。
4.7
RESET:
复位请求,高电平有效时,CPU回到初始状态。
HOLD:
总线请求,高电平有效时,其他总线主控设备向CPU申请占用总线。
NMI:
不可屏蔽中断请求。
外界向CPU申请不可屏蔽中断。
INTR:
可屏蔽中断请求。
高电平有效时,中断请求设备向CPU申请可屏蔽中断。
4.10
(1)T1周期,CPU进行读操作。
(2)T2-T4期间,CPU对数据总线输出高阻态,选通存储器或I/O接口,向CPU传送数据。
(3)T4的下降沿,CPU对数据总线采样。
4.15
三态透明锁存器指芯片具有三态输出能力。
当G有效,允许数据输出,否则不允许。
当地址输出端DE*无效,说明不允许CPU向总线输出地址。
4.16
数据收发器指向两个方向驱动数据。
74LS245的G*标示输出控制端,DIR标示方向控制端。
4.17
(1)8086是真正的16位微处理器。
8088的数据总线只有8位;
(2)8086指令队列长度为4字节,8088为6字节;
(3)最小组态下,8088选择访问对象的信号为IO/M*,8086为M/IO*
(4)8086数据存储按照16位数据宽度组织,由奇偶两个对称的存储器组织,提高访问效率。
第五章
5.1解:
主存的作用:
保存正在使用的、处于活动状态的程序和数据。
辅存的作用:
长期保存程序文件和数据文件,在需要时将这些文件调入RAM内存并激活使用。
cache的作用:
提高对存储器的访问速度。
虚拟存储:
由容量较小的主存和容量较大的辅存构成,其目标是扩大程序员眼中的主存容量。
区别:
通过存储器访问指令用户可对主存进行随机访问;用户利用操作系统提供的用户命令和功能调用对辅存进行访问。
5.2在半导体存储器中,RAM指的是随机存取存储器,他可读可写,但断电后信息一般会丢失;而ROM指的是只读存储器,正常工作时只能从中读取信息,但断电后信息不会丢失。
以EPROM芯片2764为例,其存储容量为8K×8位,共有8条数据线和13条地址线。
用它组成64KB的ROM存储区共需8片2764芯片。
5.3解:
双译码方式使得地址译码器的输出线的数目大为减少,使得芯片设计得时候复杂度就低了。
地址线A9~A0
4根数据线I/O4~I/O1
片选CS*
读写WE*
5.4解:
假想的RAM有12根地址线、4根数据线
片选端CS*或CE*:
有效时,可以对该芯片进行读写操作,通过对系统高位地址线的译码来选中各个存储芯片
输出OE*:
控制读操作。
有效时,芯片内数据输出,该控制端对应系统的读控制线MEMR*(MRDC*)
写WE*:
控制写操作。
有效时,数据进入芯片中,该控制端对应系统的写控制线MEMW*(MWTC*)
5.5解:
位片结构:
每个存储单元具有一个唯一的地址,可存储1位。
(4116)
字片结构:
每个存储单元具有一个唯一的地址,可存储多位。
(2114)
5.6解:
组成单元
速度
集成度
应用
SRAM
触发器
快
低
小容量系统
DRAM
极间电容
慢
高
大容量系统
NVRAM
带微型电池
慢
低
小容量非易失
掩膜ROM:
信息制作在芯片中,不可更改
PROM:
允许一次编程,此后不可更改
EPROM:
用紫外光擦除,擦除后可编程;并允许用户多次擦除和编程
EEPROM(E2PROM):
采用加电方法在线进行擦除和编程,也可多次擦写
FlashMemory(闪存):
能够快速擦写的EEPROM,但只能按块(Block)擦除
5.7解:
位扩充——存储器芯片数据位数小于主机数据线数时,利用多个存储器芯片在数据“位”方向的扩充;
地址扩充(字扩充)——当一个存储器芯片不能满足系统存储容量时,利用多个存储器芯片在“地址”方向的扩充
组成32KB存储空间,用SRAM2114(1K×4)需要64个芯片;
组成32KB存储空间,用DRAM4116(16K×1)需要16个芯片;
它们都需要进行位扩充和地址扩充
5.8解:
片选信号说明该存储器芯片是否被选中正常工作,设置它可以比较方便地实现多个存储器芯片组成大容量的存储空间
存储器片选信号通常与CPU地址总线的高位地址线相关联,可以采用“全译码”、“部分译码”、“线选译码”方式
采用全译码方式可以避免地址重复
采用部分或线选译码可以节省译码硬件
5.9解:
24=16
5.10解:
5.11解:
5.12解:
5.13解:
5.14解:
动态随机存取存储器(DRAM)的存储单元电路动态存储单元是由MOS管的栅极电容C和门控管组成的。
数据以电荷的形式存储在栅极电容上,电容上的电压高表示存储数据1;电容没有储存电荷,电压为0,表明存储数据0。
因存在漏电,使电容存储的信息不能长久保持,为防止信息丢失,就必须定时地给电容补充电荷,这种操作称为“刷新”由于要不断地刷新,所以称为动态存储。
方法:
采用“仅行地址有效”方法刷新;
刷新周期:
15µs
刷新次数:
128
5.15解:
4256KBA19-A164
5.16解:
访问的局部性原理:
在一个较短的时间间隔内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。
指令地址的分布本来就是连续的,再加上循环程序段和子程序段要重复执行多次。
因此,对这些地址的访问就自然地具有时间上集中分布的倾向。
数据分布的这种集中倾向不如指令明显,但对数组的存储和访问以及工作单元的选择都可以使存储器地址相对集中。
这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象,就称为程序访问的局部性。
cache的作用:
提高对存储器的访问速度。
虚拟存储:
其目标是扩大程序员眼中的主存容量。
第六章
6.1
独立,I/O,2,直接寻址和DX间接寻址。
6.2
(1)数据寄存器:
输入时保存从外设发往CPU的数据,输出时保护从CPU发往外设的数据。
(2)状态寄存器:
保存状态数据。
CPU可以获取当前接口电路或外设的状态。
(3)控制寄存器:
保存控制数据。
CPU可以向其写入命令,选择接口电路工作方式,控制外设。
6.4
Taskmovdx,8000H
Inal,dx
Notal
Cmpal,1
Jzstatus1
Cmpal,2
Jzstatus2
Moval,0
Outdx,al
Jmpdone
Status1:
rolal,1
Outdx,al
Calldelay
Jmpstatus1
Status2:
roral,1
Outdx,al
Calldelay
Jmpstatus2
Done:
……
6.5
Code
Start:
movax,2000H
Movds,ax
Movbx,2000H
Movdx,0FFE2H
Movcx,100
Next:
inal,dx
Testal,1
Jznext
Subdx,2
Inal,dx
Mov[bx],al
Incbx
Adddx,2
Loopnext
6.6
Code
Start:
movdx,80H
Leabx,ADDR
Next:
inal,dx
Testal,80H
Jnznext
Cmp[bx],’$’
Jzdone
Moval,[bx]
Outdx,al
Incbx
Jmpnext
Done:
……
6.8
中断源指的是能够引起中断的时间或原因。
安排中断的优先级原因:
(1)多个中断源同时向CPU申请中断,需要决定先响应哪个。
(2)一个中断没有结束,是否允许新的中断打断该中断。
6.9
Interrupt:
movdx,8000H
Inal,dx
Cmpal,1
Jnznext1
Callproc1
Jmpdone
Next1:
cmpal,2
Jnznext2
Callproc2
Jmpdone
Next2:
cmpal,3
Jnzdone
Callproc3
Done:
……
6.10
直接存储器存取,DMA请求,HOLD,HLDA,高阻,DMA。
第七章
7.1解:
总线:
指可以由多个信息处理单元所共享的信息通道。
使用特点:
⑴在某一时刻,只能由一个主设备控制总线,其他主设备此时可作为从设备出现
⑵在某一时刻,只能有一个设备向总线上发送数据,但可以有多个设备从总线上接收数据
7.2在各种微机总线中,根据总线连接对象的不同可将它们分为以下几类,它们是:
片内总线、芯片总线、板级总线、设备总线和互连总线_。
例如,ISA总线属于板级总线,USB总线属于设备总线,I2C总线属于芯片总线。
总线中除电源和地线外的信号线,也可按传输信息的不同分为以下3类,即:
数据总线、地址总线、控制总线。
7.3解:
分时复用就是一个引脚在不同的时刻具有两个甚至多个作用
总线复用的目的是为了减少对外引脚个数
在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或I/O端口的低8位地址A7~A0,其他时间用于传送8位数据D7~D0
7.4解:
并行总线:
多维数据通过多根信号线同时进行传递。
并行同步传输、并行异步传输见P174。
7.5解:
见P174.
7.6解:
总线的性能指标包括:
总线宽度、标准传输、时钟同步/异步、总线复用、信号线数、总线控制方式
总线宽度:
它是指数据总线的根数,用bit(位)表示,如8位、16位、32位、64位。
7.9解:
D0~D7:
8位双向数据总线
A0~A19:
20位输出地址总线
ALE:
地址锁存允许,每个CPU总线周期有效
IOR*:
I/O读,输出
IOW*:
I/O写,输出
IOCHRDY:
I/O通道准备好,输入
第八章
8.1
(一)内部中断。
由8088内部执行程序出现异常引起。
(1)除法错中断(2)指令中断(3)溢出中断(4)单步中断
(二)外部中断。
由8088外部提出中断请求引起。
(1)不可屏蔽中断。
外部通过NMI向CPU提出中断请求,CPU执行完当前指令就予以响应。
(2)可屏蔽中断。
外部通过INTR信号向CPU发出请求。
当IF=1时,CPU在当前指令结束予以响应。
可屏蔽中断向量号由外部提供,处理器产生中断响应周期的同时读取一个字节的中断向量号数据,其他类型的中断向量号包含在指令中或者已经预置。
8.2
中断向量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1632 微机 原理 汇编语言 接口 技术 习题 答案