内容发布更新时间 : 2024/12/28 20:30:34星期一 下面是文章的全部内容请认真阅读。
N1: MOV DL, [BX]
ADD AL, DL ADC AH, 0 INC BX DEC CL JNZ N1
MOV [050AH], AX HLT
第四章 习题2(教材P143~P144) 作业7
4.18 在0100H单元和010AH单元开始,存放两个各为10个字节的BCD数(地址最低处放的是最低字节),求它们的和,且把和存入0114H开始的存储单元中。 【解】
LEA SI,[0100H] LEA DI, [0114H] CLC
MOV CL, 10 N1: MOV AL, [SI]
MOV BL, [SI+10] ADC AL, BL DAA
MOV [DI], AL INC SI INC DI DEC CL JNZ N1
4.28 若从0200H单元开始有100个数,编写一个程序检查这些数,正数保持不变,负数都取补后送回。 【解】
LEA BX, [0200H] MOV CX, 100 CHE: MOV AL, [BX] AND AL,AL JS MINUS INC BX JMP L1 MINUS:NEG AL
MOV [BX], AL INC BX L1: LOOP CHE HLT
4.37 若自0500H单元开始有1000个带符号数,把它们的最小值找出来,并且放在1000H单元中。 【解】
LEA BX, [0500H] MOV AX, [BX] INC BX INC BX
MOV CX, 999 AGAIN: CMP AX, [BX] JL NEXT
MOV AX, [BX] NEXT: INC BX INC BX LOOP AGAIN
MOV [1000H], AX HLT
第五章 习题(教材P173) 作业8
5.1 总线周期的含义是什么?8086/8088CPU的基本总线周期由几个时钟周期组成?如果一个CPU的时钟频率为8MHz,那么,它的时钟周期是多少?一个基本总线周期是多少?如果主频为5MHz呢?
【解】CPU访问总线(对内存单元或I/O端口读/写一个字节或字)所需的时间称为总线周期。8086/8088CPU的基本总线周期由4个时钟周期组成。
主频为8MHz时,时钟周期为1/8MHz=125ns,一个基本总线周期为500ns; 主频为5MHz时,时钟周期为1/8MHz=200ns,一个基本总线周期为800ns。 5.2 在总线周期的T1、T2、T3、T4状态,CPU分别执行什么动作?什么情况下需要插入等待状态Tw?Tw在哪儿插入?怎样插入? 【解】以存储器读为例说明:
T1状态:输出地址、地址锁存、内存和I/O端口访问控制信号等;
T2状态:CPU开始数据传送操作,将地址/数据复用线切换为传输数据状态,由总线控制器发出相应的读写控制信号及数据使能信号;同时将高端地址/状态复用线切换为状态线,输出状态信息,指示具体操作; T3状态:其时钟下降沿采样READY信号,若READY有效,则进入T4状态;若READY无效,则插入等待状态Tw,并在Tw的下降沿继续采样READY信号直到READY有效,转入T4状态;
T4状态:CPU完成数据传输,状态信号变为无操作的过渡状态,结束总线周期。 CPU访问慢速的内存或I/O端口时,不能在基本总线周期内完成数据传输,需要插入等待状态Tw,在T3状态对READY信号采样,READY无效时插入Tw。
5.3 8086CPU和8088CPU是怎样解决地址线和数据线的复用问题的?ALE#信号何时处于有效电平
【解】8086/8088CPU利用分时时序信号解决地址线和数据线的复用问题。在总线周期的T1状态在复用线上输出地址信号及地址锁存信号ALE#,供外部电路锁存地址信息;从T2状态开始将复用线切换为数据状态,用于传送数据。
第六章 习题(教材P206~208) 作业9 6.1 若有一单板机,具有用8片2114芯片构成的4KB RAM,连线如图6-1所示。若以每1KB RAM作为一组,则此4组RAM的基本地址是什么?地址有没有重叠
区?每一组的地址范围为多少? 【解】
4组RAM的基本地址为:000H~3FFH(1024个字节)
地址有重叠区(每组16KB,实际占用1KB,重叠区有15KB) 地址线A13~A10不连接时(即A13~A10=XXXXB): 第一组的地址范围:0000H~3FFFH 第二组的地址范围:4000H~7FFFH 第三组的地址范围:8000H~BFFFH 第四组的地址范围:C000H~FFFFH
地址线A13~A10译码为全0时(即A13~A10=0000B): 第一组的地址范围:0000H~03FFH 第二组的地址范围:4000H~43FFH 第三组的地址范围:8000H~83FFH 第四组的地址范围:C000H~C3FFH
6.4 若要扩充1KB RAM(用2114芯片),规定地址为8000H~83FFH,地址线应该如何连接? 【解】扩充1KB RAM至规定的地址8000H~83FFH,其地址线的低10位地址A9~A0直接连接2114芯片,高6位地址A15~A10置为100000B。
第七章 习题(教材P235~237) 作业10
7.1 外部设备为什么要通过接口电路和主机系统连接?
【解】外设这类多,传输信息可能是数字量或模拟量,且传输速度、时序、电平、功率等与CPU不兼容,通常需要接口电路完成两者之间的转换与匹配。
7.5 什么叫端口?通常有哪几类端口?计算机对I/O端口编址时通常采用哪两种方法?在8086/8088系统中,用哪种方法对I/O端口进行编址? 【解】端口是信息输入或输出的通路;通常有数据端口、状态端口和控制端口等。在计算机中用地址来区分不同的端口,采用两种编址方法:存储器对应的(存储器映像方式)和端口寻址的输入输出方式(隔离I/O方式)。8086/8088系统中,采用隔离I/O方式。 7.7 CPU和外设之间的数据传输方式有哪几种?实际选择某种传输方式时,主要依据是什么?
【解】CPU与外设之间的数据传送方式主要有三种:查询传送方式、中断传送方式和直接数据通道(DMA)传送方式。具体采用哪种传送方式,主要依据数据传送的速度和数量。外设速度较慢或要求实时处理时,可采用中断传送方式;外设速度与CPU相当时,可采用查询传送方式;要求传送速度块且是批量传送时,采用DMA传送方式。
7.10 查询方式有什么优缺点?中断传送方式为什么能弥补查询传送方式的缺点?
【解】采用查询传送方式,CPU在外设有无数据时都要不断查询状态信息,判断是否可以传送数据,优点是简单、可靠;缺点是效率低、速度慢。中断传送方式只有在外设准备就绪后,需要传送数据时,才发出中断申请,CPU转入中断服务程序实现数据传送,CPU的工作效率高。
7.17 试说明在DMA方式时由内存向外设传输数据的过程。
【解】当CPU响应DMA请求发出HLDA信号后,DMA控制器获得总线控制权,向
地址线发内存地址,同时发读写控制信号,把内存读出的数据输出至外设。然后判断是否已经传送完毕。若未完,修改内存地址,重复输出过程,直至输出完成,撤销DMA请求,交还总线控制权给CPU。
第八章 习题(教材P263~264) 作业11
8.1 在中断响应过程中,8086 CPU向8259A发出的两个INTA#信号分别起什么作用?
【解】8086发出的第一个INTA#信号告知8259A中断申请已被响应,8259A接到信号后,把当前中断优先权最高的中断申请置入中断服务寄存器ISR,并将中断申请寄存器IRR中的对应为清零,同时准备好该中断的中断类型号;8259A在8086发出的第二个INTA#信号期间将中断类型号放在数据总线上。
8.4 什么叫中断向量?它如何产生?如果1CH的中断处理子程序从5110H:2030H开始,则中断向量表应如何存放?
【解】中断向量就是中断服务程序的入口地址,所有的中断向量存放在内存空间的最低1KB区域(中断向量表);通过CPU执行指令时(软件中断)和响应外部中断时获得的中断类型号,寻址中断向量表获得中断向量。中断类型号为1CH的中断向量表地址=1CH×4=70H,低字存放IP值,高字存放CS值,即:(0070H)=30H,(0071H)=20H,(0072H)=10H,(0073H)=51H。
8.7 简述可屏蔽中断的响应过程,一个可屏蔽中断或者非屏蔽中断响应后,堆栈顶部6个单元中是什么内容?
【解】CPU响应可屏蔽中断的过程如下:①获取中断类型号N;②标志寄存器入栈;③清除IF、TF(关中断、禁止单步);④断点处IP入栈;⑤断点处CS入栈;⑥取内存单元(0:N×4)字内容送IP;⑦取内存单元(0:N×4+2)字内容送CS,转去执行中断服务程序(保护现场?开中断?服务程序主体?关中断?恢复现场?开中断?IRET返回)。
CPU响应可屏蔽中断后,堆栈顶部6个单元中的内容从高到低依次为:标志寄存器、断点IP值和CS值。
8.21 8086 CPU有哪几种中断?哪些是硬件中断?哪些是软件中断? 【解】8086 CPU有两类中断:1、软件中断(内部中断),由指令的执行所引起的(如:除法错、INT指令、INTO指令和单步执行等);2、硬件中断(外部中断),由外部的事件所引起的(如:非屏蔽中断NMI、可屏蔽中断INTR)。
8.24 8259A的中断屏蔽寄存器IMR和8086/8088 CPU的中断允许标志IF有什么差别?在中断响应过程中,它们怎样配合工作?
【解】中断允许标志IF用于确定允许或禁止外部可屏蔽中断,是一个总的屏蔽位,管控所有的外部可屏蔽中断的请求。外部可屏蔽中断引脚INTR通过中断控制器8259A可接受多个外部中断源的请求,8259A针对8个中断源设置的中断屏蔽寄存器IMR均有单独对应的中断屏蔽位,增大了灵活性。只有当IF=1且某中断源对应的屏蔽位为零时,中断源的申请才可能被响应。
第九章 习题(教材P274) 作业12
9.2 计数器/定时器8253有哪几种工作方式?各有何特点?其用途如何? 【解】计数器/定时器8253有以下6种工作方式:
方式0:计数结束中断方式,计数结束时产生一个正跳变的中断请求信号,常用于事件计数功能,且只计数一次;