1632位微机原理汇编语言及接口技术课后习题答案.docx
《1632位微机原理汇编语言及接口技术课后习题答案.docx》由会员分享,可在线阅读,更多相关《1632位微机原理汇编语言及接口技术课后习题答案.docx(39页珍藏版)》请在冰豆网上搜索。
1632位微机原理汇编语言及接口技术课后习题答案
第一章
解:
五代,详细见书
解:
微型运算机:
以大规模、超大规模集成电路为要紧部件,以集成了运算机要紧部件——操纵器和运算器的微处置器为核心,所构造出的运算机系统。
PC机:
PC(PersonalComputer)机确实是面向个人单独利用的一类微机。
单片机:
用于操纵的微处置器芯片,内部除CPU外还集成了运算机的其他一些要紧部件,如:
ROM、RAM、按时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等。
数字信号处置器DSP:
要紧面向大流量数字信号的实时处置,在宿主系统中充当数据处置中心,在网络通信、多媒体应用等领域正取得愈来愈多的应用
解:
微机要紧有存储器、I/O设备和I/O接口、CPU、系统总线、操作系统和应用软件组成,各部份功能如下:
CPU:
统一和谐和操纵系统中的各个部件
系统总线:
传送信息
存储器:
寄存程序和数据
I/O设备:
实现微机的输入输出功能
I/O接口:
I/O设备与CPU的桥梁
操作系统:
治理系统所有的软硬件资源
解:
系统总线:
传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息互换。
益处:
组态灵活、扩展方便
三组信号线:
数据总线、地址总线和操纵总线。
其利用特点是:
在某一时刻,只能由一个总线主控设备来操纵系统总线,只能有一个发送者向总线发送信号;但能够有多个设备从总线上同时取得信号。
解:
(1)用于数值计算、数据处置及信息治理方向。
采纳通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的保护、扩充手腕。
(2)用于进程操纵及嵌人应用方向。
采纳操纵类微机,要求能抗击各类干扰、适应现场的恶劣环境、确保长时刻稳固地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。
解:
解:
I/O通道:
位于CPU和设备操纵器之间,其目的是承担一些原先由CPU处置的I/O任务,从而把CPU从繁杂的I/O任务中摆脱出来。
由10根信号线组成(A9-A0)。
解:
BIOS:
大体输入输出系统。
要紧功能:
用来驱动和治理诸如键盘、显示器、打印机、磁盘、时钟、串行通信接口等大体的输入输出设备
解:
大体RAM区:
640KB
保留RAM区:
128KB
扩展ROM区:
128KB
大体ROM区:
128KB
解:
(1)、数—用来直接表征量的大小,包括:
定点数、浮点数。
(2)、码—用来指代某个事物或事物的某种状态属性,包括:
二进制、八进制、十进制、十六进制。
区别:
利用处合不同,详见P16.
解:
(1)
(2)
(3)
解:
原码反码补码
+3700100101/25H00100101/25H00100101/25H
-37/A5H/DAH/DBH
解:
+37
-37
16位
32位
16位
32位
0025H
00000025H
FF5BH
FFFFFF5BH
解:
无符号数:
70D
补码有符号数:
70D
BCD码:
46D
ASCII:
F
解:
1)、相加后假设显现和大于9,那么将和减去10后再向高位进1
2)、假设显现组间进位,那么将低位加6
解:
详见讲义16页。
解:
C3402000
解:
50
50H
十进制值
50
80
二进制
十六进制
二进制
十六进制
00110010B
32H
01010000B
50H
解:
D:
44H
d:
64H
CR:
0DH
LF:
0AH
0:
30H
SP:
20H
NUL:
00H
解:
国标码:
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.
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.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
Htoascproc
Movbl,al
Moval,ah
Movbh,10
Mulbh
Andax,00FFH
Addal,bl
Htoend:
ret
Htoascendp
运算机系统利用中断为用户提供硬件设备驱动程序。
在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
Numoutproc
Xorah,ah
Aam
Addax,3030H
Movdl,ah
Movah,02H
Int21H
Movdl,al
Movah,02H
Int31H
Ret
Numoutendp
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
第四章
20;
;65536;
;扩展板
总线操作周期中,8088在第三个时钟周期的前沿测试READY引脚,假设无效,说明被访问的设备与CPU操作不同步,CPU插入等待周期。
最小组态模式用于小规模系统,MN/MX*接高电平,分时复用引脚是:
,
,当MN/MX*接低电平,8088组成最大组态模式,应用大规模应用程序。
引脚三态能力要紧针对引脚输出信号状态:
高电平、低电平和高阻。
输出高阻意味着芯片舍弃对引脚的操纵。
如此它所连接的设备就能够够接管该引脚及连接导线的操纵权。
RESET:
复位请求,高电平有效时,CPU回到初始状态。
HOLD:
总线请求,高电平有效时,其他总线主控设备向CPU申请占用总线。
NMI:
不可屏蔽中断请求。
外界向CPU申请不可屏蔽中断。
INTR:
可屏蔽中断请求。
高电平有效时,中断请求设备向CPU申请可屏蔽中断。
(1)T1周期,CPU进行读操作。
(2)T2-T4期间,CPU对数据总线输出高阻态,选通存储器或I/O接口,向CPU传送数据。
(3)T4的下降沿,CPU对数据总线采样。
三态透明锁存器指芯片具有三态输出能力。
当G有效,许诺数据输出,不然不许诺。
本地址输出端DE*无效,说明不许诺CPU向总线输出地址。
数据收发器指向两个方向驱动数据。
74LS245的G*标示输出操纵端,DIR标示方向操纵端。
(1)8086是真正的16位微处置器。
8088的数据总线只有8位;
(2)8086指令队列长度为4字节,8088为6字节;
(3)最小组态下,8088选择访问对象的信号为IO/M*,8086为M/IO*
(4)8086数据存储依照16位数据宽度组织,由奇偶两个对称的存储器组织,提高访问效率。
第五章
解:
主存的作用:
保留正在利用的、处于活动状态的程序和数据。
辅存的作用:
长期保留程序文件和数据文件,在需要时将这些文件调入RAM内存并激活利用。
cache的作用:
提高对存储器的访问速度。
虚拟存储:
由容量较小的主存和容量较大的辅存组成,其目标是扩大程序员眼中的主存容量。
区别:
通过存储器访问指令用户可对主存进行随机访问;用户利用操作系统提供的用户命令和功能挪用对辅存进行访问。
在半导体存储器中,RAM指的是随机存取存储器,他可读可写,但断电后信息一样会丢失;而ROM指的是只读存储器,正常工作时只能从中读取信息,但断电后信息可不能丢失。
以EPROM芯片2764为例,其存储容量为8K×8位,共有8条数据线和13条地址线。
用它组成64KB的ROM存储区共需8片2764芯片。
解:
双译码方式使得地址译码器的输出线的数量大为减少,使得芯片设计得时候复杂度就低了。
地址线A9~A0
4根数据线I/O4~I/O1
片选CS*
读写WE*
解:
假想的RAM有12根地址线、4根数据线
片选端CS*或CE*:
有效时,能够对该芯片进行读写操作,通过对系统高位地址线的译码来选中各个存储芯片
输出OE*:
操纵读操作。
有效时,芯片内数据输出,该操纵端对应系统的读操纵线MEMR*(MRDC*)
写WE*:
操纵写操作。
有效时,数据进入芯片中,该操纵端对应系统的写操纵线MEMW*(MWTC*)
解:
位片结构:
每一个存储单元具有一个唯一的地址,可存储1位。
(4116)
字片结构:
每一个存储单元具有一个唯一的地址,可存储多位。
(2114)
解:
组成单元
速度
集成度
应用
SRAM
触发器
快
低
小容量系统
DRAM
极间电容
慢
高
大容量系统
NVRAM
带微型电池
慢
低
小容量非易失
掩膜ROM:
信息制作在芯片中,不可更改
PROM:
许诺一次编程,尔后不可更改
EPROM:
用紫外光擦除,擦除后可编程;并许诺用户多次擦除和编程
EEPROM(E2PROM):
采纳加电方式在线进行擦除和编程,也可多次擦写
FlashMemory(闪存):
能够快速擦写的EEPROM,但只能按块(Block)擦除
解:
位扩充——存储器芯片数据位数小于主机数据线数时,利用多个存储器芯片在数据“位”方向的扩充;
地址扩充(字扩充)——当一个存储器芯片不能知足系统存储容量时,利用多个存储器芯片在“地址”方向的扩充
组成32KB存储空间,用SRAM2114(1K×4)需要64个芯片;
组成32KB存储空间,用DRAM4116(16K×1)需要16个芯片;
它们都需要进行位扩充和地址扩充
解:
片选信号说明该存储器芯片是不是被选中正常工作,设置它能够比较方便地实现多个存储器芯片组成大容量的存储空间
存储器片选信号通常与CPU地址总线的高位地址线相关联,能够采纳“全译码”、“部份译码”、“线选译码”方式
采纳全译码方式能够幸免地址重复
采纳部份或线选译码能够节省译码硬件
解:
24=16
解:
解:
解:
解:
解:
动态随机存取存储器(DRAM)的存储单元电路动态存储单元是由MOS管的栅极电容C和门控管组成的。
数据以电荷的形式存储在栅极电容上,电容上的电压高表示存储数据1;电容没有贮存电荷,电压为0,说明存储数据0。
因存在漏电,使电容存储的信息不能长久维持,为避免信息丢失,就必需按时地给电容补充电荷,这种操作称为“刷新”由于要不断地刷新,因此称为动态存储。
方式:
采纳“仅行地址有效”方式刷新;
刷新周期:
15µs
刷新次数:
128
解:
4256KBA19-A164
解:
访问的局部性原理:
在一个较短的时刻距离内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。
指令地址的散布本来确实是持续的,再加上循环程序段和子程序段要重复执行多次。
因此,对这些地址的访问就自然地具有时刻上集中散布的偏向。
数据散布的这种集中偏向不如指令明显,但对数组的存储和访问和工作单元的选择都能够使存储器地址相对集中。
这种对局部范围的存储器地址频繁访问,而对此范围之外的地址那么访问甚少的现象,就称为程序访问的局部性。
cache的作用:
提高对存储器的访问速度。
虚拟存储:
其目标是扩大程序员眼中的主存容量。
第六章
独立,I/O,2,直接寻址和DX间接寻址。
(1)数据寄放器:
输入时保留从外设发往CPU的数据,输出时爱惜从CPU发往外设的数据。
(2)状态寄放器:
保留状态数据。
CPU能够获取当前接口电路或外设的状态。
(3)操纵寄放器:
保留操纵数据。
CPU能够向其写入命令,选择接口电路工作方式,操纵外设。
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:
……
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
Code
Start:
movdx,80H
Leabx,ADDR
Next:
inal,dx
Testal,80H
Jnznext
Cmp[bx],’$’
Jzdone
Moval,[bx]
Outdx,al
Incbx
Jmpnext
Done:
……
中断源指的是能够引发中断的时刻或缘故。
安排中断的优先级缘故:
(1)多个中断源同时向CPU申请中断,需要决定先响应哪个。
(2)一个中断没有终止,是不是许诺新的中断打断该中断。
Interrupt:
movdx,8000H
Inal,dx
Cmpal,1
Jnznext1
Callproc1
Jmpdone
Next1:
cmpal,2
Jnznext2
Callproc2
Jmpdone
Next2:
cmpal,3
Jnzdone
Callproc3
Done:
……
直接存储器存取,DMA请求,HOLD,HLDA,高阻,DMA。
第七章
解:
总线:
指能够由多个信息处置单元所共享的信息通道。
利用特点:
⑴在某一时刻,只能由一个主设备操纵总线,其他主设备现在可作为从设备显现
⑵在某一时刻,只能有一个设备向总线上发送数据,但能够有多个设备从总线上接收数据
在各类微机总线中,依照总线连接对象的不同可将它们分为以下几类,它们是:
片内总线、芯片总线、板级总线、设备总线和互连总线_。
例如,ISA总线属于板级总线,USB总线属于设备总线,I2C总线属于芯片总线。
总线中除电源和地线外的信号线,也可按传输信息的不同分为以下3类,即:
数据总线、地址总线、操纵总线。
解:
分时复用确实是一个引脚在不同的时刻具有两个乃最多个作用
总线复用的目的是为了减少对外引脚个数
在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或I/O端口的低8位地址A7~A0,其他时刻用于传送8位数据D7~D0
解:
并行总线:
多维数据通过量根信号线同时进行传递。
并行同步传输、并行异步传输见P174。
解:
见P174.
解:
总线的性能指标包括:
总线宽度、标准传输、时钟同步/异步、总线复用、信号线数、总线操纵方式
总线宽度:
它是指数据总线的根数,用bit(位)表示,如8位、16位、32位、64位。
解:
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
中断向量表是一种表数据结构。
是中断向量号与对应中断效劳程序之间的连接表。
8.4
IRR:
中断请求寄放器。
存储外界中断请求信号。
ISR:
中断效劳寄放器。
存储正在被效劳的中断状态。
IMR:
中断屏蔽寄放器。
保留对中断信号的屏蔽状态。
8.6
IR3有中断请求,IR3正在效劳,20H,05H
8.8
mov al,13H
mov dx,0FFDCH
out dx,al
jmp intr1
intr1:
mov al,90H
mov dx,0FFDEH
out dx,al
jmp intr2