微机原理与接口技术周荷琴课后习题答案

发布时间 : 星期四 文章微机原理与接口技术周荷琴课后习题答案更新完毕开始阅读

CPU必须予以响应 3:断点中断,由Debug设置断点引起 用debug调试程序时,可用g命令设置断点,当CPU执行到断点时便产生类型为3的中断,同时显示当前各寄存器和有关存储器的内容及下条要执行的指令,供用户检查。 如果当前运算的结果产生溢出,则OF=1,下面紧跟溢出中断指令INTO,立刻产生一个类型为4的中断 4:溢出中断

20、参考答案:

MOV CX,N ;4个时钟周期

NEXT: NOP ;N×3个时钟周期 NOP ;N×3个时钟周期 LOOP NEXT ;(N-1)×17+1×5个时钟周期

5?10?3?25000个时钟周期 由f=5MHz,t=0.2us,延时5ms需要?60.2?10所以:4+N×3+N×3+(N-1)×17+1×5=25000 解得:N=1087

第四章(p205~p206)

1、参考答案(写出各变量在内存中的存储状况) A1 DW 23H,5678H

A2 DB 3 DUP(?),0AH,0DH,’$’ A3 DD 5 DUP(1234H,567890H) A4 DB 4 DUP(3 DUP(1,2,’ABC’))

①变量A1占4个字节,在内存中的存储状况(以十六进制表示,从左到右地址依次增加,以下同): 23 00 78 56

②变量A2占6个字节,在内存中的存储状况: 00 00 00 0A 0D 24

③变量A3占40个字节,在内存中的存储状况: 34 12 00 00 90 78 56 00 (再重复4遍)

④变量A4占60个字节,在内存中的存储状况:

01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43(带下画线部分重复4遍)

2、参考答案(写出各指令执行后的结果) 指令 MOV AX,00FFH AND 1122H+3344H MOV AL,15 GE 1111B MOV AX,00FFH LE 255+6/5 AND AL,50 MOD 4

结果 AX=0066H,先加后与 AL=0FFH AX=0FFFFH,先加后比较 AL=02H 13

OR AX,0F00FH AND 1234 OR 00FFH AX=0FFFFH,先与后或,再把计算的结果同AX进行或运算,最终结果保存在AX中 3、参考答案:

L=6,L的值实际就是BUF变量在内存中占有的字节数。 4、参考答案:

PLENGTH=22,PLENGTH的值实际就是三个变量PAR、PNAME和COUNT在内存中占有的总的字节数。

5、参考答案:AX=1 BX=20 CX=1

6、参考答案: AH=00H 7、(1)利用中断调用产生5秒延时 data segment

s db '5 second is gone',13,10,'$' data ends

code segment

assume cs:code,ds:data main proc far mov ax,data mov ds,ax mov ah,2ch int 21h ;取得当前时间:ch?时 cl?分 dh?秒 dl?1/100秒 mov bl,dh continue: mov ah,2ch int 21h sub dh,bl cmp dh,5 jb continue ;判断两次取得时间间隔是否为5秒钟,如果不是则继续读取时间 lea dx,s ;如果达到5秒,则显示一条信息 mov ah,9 int 21h mov ax,4c00h int 21h main endp code ends end main

(2)利用中断调用,在屏幕上显示1~9之间的随机数

思路:利用DOS系统功能调用得到当前时间,其中的dl寄存器中存放的是1/100秒,可以用来产生随机数。

14

code segment assume cs:code main proc far mov ah,2ch int 21h mov al,dl ;取得1/100秒,不同时间运行该程序时得到的这个数字也不一样,具有随机性 mov ah,0 mov bl,9 ;除以9 div bl ;相除后的余数ah的范围为0~8 inc ah ;加1后得到1~9之间的数 add ah,30h ;转换为ASCII码 mov dl,ah mov ah,2 int 21h ;在屏幕上显示该数 mov ax,4c00h int 21h main endp code ends end main 8、(1)二进制到压缩BCD码的转换。把AX中的二进制数转换为压缩的BCD码,仍然存放AX寄存器中。

例如:如果AX中的二进制数为0010 0110 1001 0100B=2694H,化成十进制数是9876,其压缩的BCD码是1001 1000 0111 0110,用十六进制表示是9876H。即这种转换实际就是把2694H转换为9876H。考虑到AX中能够存放的最大的四位压缩BCD数为9999H,所以在转换之前需要判断AX中的二进制数不能超过9999,即270FH。

第五章(p237~238)

1、静态RAM和动态RAM的区别 集成度 容量 刷新 速度 应用场合 静态RAM(SRAM) 低 小 无 快 高速缓冲存储器(CACHE) 动态RAM(DRAM) 高 大 附加刷新电路 较慢 内存条 2、ROM、PROM、EPROM、EEPROM在功能上各有何特点 答案略(见教材p208)

3、DRAM的CAS和RAS输入的用途是什么?

15

答:为了提高DRAM的集成度,减少引脚的数目,DRAM的地址线分成行地址和列地址两部分,在对存储器进行访问时,先由行地址选通信号RAS把行地址送入行地址锁存器,再由列地址选通信号CAS把列地址送入列地址锁存器,并由读写信号控制数据的读出或写入。 4、什么CACHE?作用是什么?处于微处理机中的什么位置?

答:CACHE即高速缓冲存储器,通常由SRAM组成。其作用是:将经常访问的代码和数据保存到由SRAM组成的高速缓冲存储器中,把不经常访问的数据保存到由DRAM组成的主存中,这样使存储器系统的价格降低,同时又降低了接近零等待的性能,大大的提高了系统的性能。CACHE位于CPU和主存储器之间。 7、用1024×1位的RAM芯片组成16K×8位的存储器,需要多少芯片?在地址线中有多少位参与片内寻址?多少位合成片选信号?(设地址总线为16位)

答:需要16×8=128片RAM芯片,其中每8片为一组,总共有16组;地址线中有10位参与片内寻址;由于有16组芯片,余下的6根地址线中至少需要4根合成片选信号,来选中其中的一组芯片。

8、现有一存储器芯片的容量为512×4位,若要用它组成4KB的存储器,需要多少这样的芯片?每块芯片需要多少寻址线?整个存储系统最少需要多少寻址线?

答:需要的芯片的数目为16片,每两片为一组,共有8组;每块芯片需要9根寻址线;由于共有8组芯片,至少需要3根地址线合成片选信号用来选择8组芯片中的一组;整个存储器系统至少需要9+3=12根地址线。 9、利用1024×8位的RAM芯片组成4K×8位的存储器系统,用A15~A12地址线用线性选择法产生片选信号,存储器地址的分配有什么问题?写出各芯片的地址分配。 答:①需要的芯片的数目:4片

②片内寻址需要的地址线的数目:由于每片RAM芯片内部有1024个存储单元,所以需要10根地址线用于选中其中某一个存储单元,占用地址总线的低10位(A9~A0) ③片间寻址需要的地址线的数目:由于需要4片存储器芯片,所以至少需要2根地址线进行译码用于选择4片芯片中的一片,这样占用地址总线的A11和A10。余下的地址总线用线性选择法产生片选信号,这样A15~A12的电平的不同组合就产生了不同的地址空间,使得存储器芯片的地址空间产生重叠。如果A15~A12的电平组合为:A15=1,其余的均为0,则4片存储器芯片的地址范围分别为: A15 A14 A13 A12 A11 A10 A9…A0

1#:1 0 0 0 0 0 0 … 0 =8000H 1 0 0 0 0 0 1 … 1 =83FFH 2#:1 0 0 0 0 1 0 … 0 =8400H

1 0 0 0 0 1 1 … 1 =87FFH 3#:1 0 0 0 1 0 0 … 0 =8800H 1 0 0 0 1 0 1 … 1 =8BFFH 4#:1 0 0 0 1 1 0 … 0 =8C00H

1 0 0 0 1 1 1 … 1 =8FFFH

10、当从存储器偶地址单元读一个字节数据时,写出存储器的控制信号和它们的有效电平(8086工作在最小模式)。答案如下表所示: 信号名称 MN/MX M/IO BHE A0

有效电平 高电平 高电平 高电平 低电平 作用 8086工作在最小模式 8086读写对象为存储器,而不是I/O接口 从偶地址单元读写一个字节 16

联系合同范文客服:xxxxx#qq.com(#替换为@)