微机原理部分习题解答与复习重点(2013年秋)ppt课件.ppt_第1页
微机原理部分习题解答与复习重点(2013年秋)ppt课件.ppt_第2页
微机原理部分习题解答与复习重点(2013年秋)ppt课件.ppt_第3页
微机原理部分习题解答与复习重点(2013年秋)ppt课件.ppt_第4页
微机原理部分习题解答与复习重点(2013年秋)ppt课件.ppt_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理及接口技术 部分习题解答,原作者:车向泉 时间:2013年12月30日13:14:29,1,微机原理及接口技术 第3章 Intel处理器指令系统及汇编语言,P134135 习 题,2,3,3.1 判别下列指令的寻址方式: MOV AX,00H SUB AX,AX MOV AX,BX ADD AX,TABLE MOV AL,ARRAYSI MOV AX,BX+6,P134 习题,立即寻址 寄存器寻址 寄存器间接寻址 直接寻址 寄存器相对寻址 寄存器相对寻址,4,3.2 若1KB的数据存放在TABLE以下,试编程序将该数据块搬到NEXT为首地址的内存区域中。 利用串操作指令。 不用串操作指

2、令。,P134 习题,START: MOV DX,SEG TABLE MOV DS,DX MOV SI,OFFSET TABLE MOV DX,SEG NEXT MOV ES,DX MOV DI,OFFSET NEXT MOV CX,1024 CLD REP MOVSB ,START: MOV DX,SEG TABLE MOV DS,DX MOV SI,OFFSET TABLE MOV DX,SEG NEXT MOV ES,DX MOV DI,OFFSET NEXT MOV CX,1024 GOON: MOV AL,SI MOV ES:DI,AL INC SI INC DI LOOP GOON

3、 ,5,3.5 试编写程序将BUFFER中的一个8位二进制数转换为用ASCII码表示的十进制数,并按位数高低顺序存放在ANSWER为首地址的内存区域中。,P134 习题,START: MOV DX,SEG BUFFER MOV DS,DX MOV DI,OFFSET ANSWER MOV SI,OFFSET BUFFER MOV BL,10 MOV AH,0 MOV AL,SI MOV DI,3030H MOV DI+2,30H GOON: CMP AX,0 JE NEXT DIV BL ;BL=10 OR AH,30H ;AH:余数 MOV DI,AH MOV AH,00H INC DI J

4、MP GOON NEXT: ,6,3.6 在DATA1为首地址的内存区域中顺序存放着以ASCII码表示的十进制千位数,现欲将其转换成二进制数,试编写程序实现之。,P134 习题,PROGM: MOV DX,SEG DATA1 MOV DS,DX MOV BH,0 MOV SI,OFFSET DATA1 MOV DX,0 MOV BL,SI+3;千位 AND BL,0FH MOV AX,1000 MUL BX ADD DX,AX MOV BL,SI+2;百位 AND BL,0FH MOV AL,100 MUL BL ADD DX,AX MOV BL,SI+1;十位 AND BL,0FH MOV

5、AL,0AH MUL BL ADD DX,AX,MOV BL,SI ;个位 AND BL,0FH MOV AH,0 MOV AL,BL ADD DX,AX ,3.7 试编写程序将MOLT中的一个8位二进制数乘以20,乘积放在ANS单元及其下一单元中(用3种方法完成)。 用乘法指令实现; 利用连续加法实现; 利用移位指令实现。,START: MOV AL,MOLT MOV BL,20 MUL BL MOV ANS,AX,START: MOV AL,MOLT MOV AH,0 MOV DX,0 MOV CX,20 GOON: ADD DX,AX LOOP GOON MOV ANS,DX,START

6、: MOV AL,MOLT MOV AH,0 MOV CL,2 SHL AX,CL MOV BX,AX MOV CL,2 SHL AX,CL ADD AX,BX MOV ANS,AX,M20 M(164) (M4)4M4,7,8,3.8 在DATA为首地址的内存区域中存放100个无符号8位数,试编写程序找出其中最大的数,并将其放在KVFF中。,P134 习题,MOV BX,OFFSET DATA MOV AL,BX INC BX MOV CX,99 AGAIN: CMP AL,BX JGE NEXT MOV AL,BX NEXT: INC BX LOOP AGAIN MOV KVFF,AL ,

7、9,3.9 在DATA为首地址的内存区域中存放100个无符号8位数,要求将数据按大小顺序排列,试编写程序实现。,P134 习题,LEA DI,DATA MOV BL,99 NEXT1: MOV SI,DI MOV CL,BL NEXT2: MOV AL,SI INC SI CMP AL,SI JBE NEXT3 MOV DL,SI MOV SI-1,DL MOV SI,AL NEXT3: DEC CL JNZ NEXT2 DEC BL JNZ NEXT1 ,冒泡排序法,10,3.10 在BVFF单元中有一个BCD数A,试编写程序计算Y,结果送DES单元,其中:,START: LEA SI,BV

8、FF MOV AL,SI CMP AL,20H JBE NEXT1 CMP AL,60H JB NEXT2 MOV AL,80H ;A60 JMP SAVE NEXT1: MOV BL,AL ;A20 ADD AL,BL DAA ADD AL,BL DAA JMP SAVE NEXT2: SUB AL,20H ;20A60 DAS SAVE: MOV DES,AL,11,3.13 试编写程序,给从内存 40000H 到4BFFFH 的每个单元中均写入 55H,并逐个单元读出比较。若写入的与读出的完全一致,则将AL置7EH;若有错则将AL置81H。,START: MOV DX,4000H MOV

9、 DS,DX MOV SI,0 MOV CX,0C000H MOV AL,55H GOON1: MOV SI,AL INC SI LOOP GOON1 MOV SI,0 MOV CX,0C000H GOON2: CMP SI,AL JNE ERROR INC SI LOOP GOON2 MOV AL,7EH JMP STOP ERROR: MOV AL,81H STOP: ,方法1:使用常规指令,12,3.13 试编写程序,给从内存 40000H 到4BFFFH 的每个单元中均写入 55H,并逐个单元读出比较。若写入的与读出的完全一致,则将AL置7EH;若有错则将AL置81H。,START:

10、MOV DX,4000H MOV ES,DX MOV DI,0 MOV CX,0C000H MOV AL,55H CLD REP STOSB MOV DI,0 MOV CX,0C000H REPE SCASB JNZ ERROR MOV AL,7EH JMP STOP ERROR: MOV AL,81H STOP: ,方法2:使用串操作指令,13,3.14 试编写程序,统计由 40000H 开始的16K个单元中所存放的字符“A”的个数,并将结果存放在DX中。,START: MOV DX,4000H MOV DS,DX MOV CX,4000H MOV SI,0 MOV DX,0 GOON: M

11、OV AL,SI CMP AL,A JNE NEXT INC DX NEXT: INC SI LOOP GOON ,微机原理及接口技术 第5章 存储技术,Page 242243 习题,14,15,P242 习题 5.5,两片6116 SRAM(2K8bit),连接到8088系统总线,地址范围40000H40FFFH。 1. 画电路图。 2. 编程序:写入某数,读出比较 【解】地址分析:,有错:01H DL 都对:EEH DL,片内地址,可用3-8译码器实现,MEMW,MEMR, 串操作: DS:SI源串 MOV ES,DX; ES:DI目的串 MOV DI,0 MOV CX,1000H; 4K

12、次 MOV AL,55H CLD; DF=0,DI自增 REP STOSB; ALES:DI,4K次,DI自增 MOV DI,0 MOV CX,1000H; 4K次 MOV AL,55H REPE SCASB; AL与ES:DI比较;ZF=1、CX0重复 JCXZ GOOD MOV DL,01H JMP STOP GOOD: MOV DL,0EEH STOP: ,18,【程序】方法2:用LOOP循环,TESTP: MOV DX,4000H MOV DS,DX; 初始化数据段寄存器 MOV AL,55H; 要写入的数据:55H MOV SI,0; 段内偏移(地址指针) MOV CX,1000H;

13、 循环4K次 WRT: MOV SI,AL; 写数据 INC SI LOOP WRT MOV SI,0 MOV CX,1000H CHK: CMP SI,AL; 数据读出校验 JNZ ERROR INC SI LOOP CHK MOV DL,0EEH; 分支1:都对 JMP STOP ERROR: MOV DL,01H; 分支2:有错 STOP: ; 程序出口,19,P242 习题 5.10,4片6264 SRAM(8K8bit),连接到8086系统总线,地址范围70000H77FFFH,画电路图。 【解】 地址分析:,片内地址,可用3-8译码器实现,D0D7,D8D15,A1A13,A0,A

14、19,A18,A17,A16,A15,A14,A,B,C,G1,G2A,G2B,Y4,Y5,74LS138,1,1,1,1, bit 7654 3210 CMP AL,98H; 1001 1000 JNE GOON1 MOV DX,0E504H GOON2: MOV AL,SI OUT DX,AL INC SI LOOP GOON2 HLT,29,6.9 8259地址:E010H、E011H,画与8088总线连接。编写初始化程序: 只有一片8259 8个中断源 边沿触发 不要缓冲 一般嵌套 中断向量为40H 解:地址分析,自动EOI,译码输出有效的条件,30,D0D7,RD,WR,INT,IN

15、TA,A0,CS,IR0,IR1,IR2,IR3,IR4,IR5,IR6,IR8,SP/EN,5V,8259,中断源中断请求输入,A15 A14 A13 A12 A11 A5 A4 A3 A2 A1 IOR IOW,1,1,1,1,1,A0,D0D7,IOR,IOW,INT,INTA,ICW1,00010011B OUT DX,AL MOV DX,0E011H MOV AL,40H;ICW2,中断向量 OUT DX,AL MOV AL,03H;ICW4,00000011B OUT DX,AL;01H也可以(非自动EOI) MOV AL,00H;OCW1,中断屏蔽寄存器 OUT DX,AL,32

16、,6.11 说明微机中常用的外设编址方法及其优缺点。,外设与内存统一编址,又称为存储器映射编址方式。 用于内存的指令都可用于外设,给使用者提供了方便。 减少了内存的可用范围。 从指令上不易区分是寻址内存的指令还是用于I/O的指令。 外设与内存独立编址。 用于内存和用于外设的指令是不一样的,很容易辨认。 内存与I/O之间以DMA方式传送数据时,一个总线周期即可完成一个数据的传送。 用于外设的指令功能比较弱,一些操作必须由外设首先输入到CPU的寄存器(累加器)后才能进行。,33,6.12 说明8086/8088中采用中断方式工作时必须由设计人员完成的3项工作。,如果要用好可屏蔽中断INTR,必须做

17、好以下3件事: 连接8259并初始化。 选择接口地址,将8259连接到总线上,外设的中断请求接到IR0IR7上。 编写8259初始化程序,规定外部中断源的中断向量码。 编写中断服务程序。 填写中断向量表。,微机原理及接口技术 百度文库中的部分习题解答,编辑:刘文东 时间:2013年12月30日13:16:39,34,35,最大模式下的 控制信号,最小模式下的 控制信号,5.0.请说明CPU执行下列指令时,各控制信号的状态。,36,5.1 以8088为CPU 的某微型计算机的内存RAM 区为 00000H3FFFFH,若采用6264,62256,2164或21256,各需要多少片?,解:,先计算

18、存储容量:,3FFFFH+1-00000H=40000H,40000H ,100 0000 0000 0000 0000,218Byte=256KB,6264:,256KB8KB=,32片,62256:,256KB32KB=,8片,2164:,256KB64K1=,32片(48),21256:,256KB256K1=,8片 (18),37,5.2 利用全地址译码将6264芯片连接在8088的系统总线上,其所占地址范围为BE000HBFFFFH,试画连接图。,解:,先计算存储容量:,BFFFFH+1-BE000H,=C0000H-BE000H=2000H,2000H ,10 0000 0000

19、0000,213Byte=8KB,计算所需的芯个数:,8KB8KB=1片,地址译码:,38,5.2 利用全地址译码将6264芯片连接在8088的系统总线上,其所占地址范围为BE000HBFFFFH,试画连接图。,地址译码:,A19181716 15141312 111098 7654 3210,1 0 1 1 1 1 1 0 0 0 00 0000 0000,BE000H,十六进制地址,1 1 1 11 1111 1111,BFFFFH,根据上述分析,画出译码电路,39,5.5 已有两片6116,现欲将它们连接到8088系统中去,其地址范围为40000H40FFFH,试画连接电路图。 写入某数

20、据并读出与之比较,如有错,则在DL中写入01H,若每个单元均对,则在DL中写入EEH,试编写此检测程序。,解:,先计算存储容量:,40FFFH+1-40000H,=1000H,1000H ,1 0000 0000 0000,212Byte=4KB,计算所需的芯个数:,4KB2KB=2片,地址译码:,40,5.5 已有两片6116,现欲将它们连接到8088系统中去,其地址范围为40000H40FFFH,试画连接电路图。,地址译码:,A19181716 15141312 11 1098 7654 3210,0 1 0 0 0 0 0 0 0 0 00 0000 0000,40000H,十六进制地址

21、,1 11 1111 1111,407FFH,0 1 0 0 0 0 0 0 1 0 00 0000 0000,40800H,1 11 1111 1111,40FFFH,画电路图:,41,5.5 已有两片6116,现欲将它们连接到8088系统中去,其地址范围为40000H40FFFH,试画连接电路图。,写入某数据并读出与之比较,如有错,则在DL中写入01H,若每个单元均对,则在DL中写入EEH,试编写此检测程序。,MOV AX,4000H MOV DS,AX MOV SI,0 MOV CX,40FFFH+1-4000H NEXT: MOV BYTE PTR SI,55H INC SI LOOP

22、 NEXT MOV SI,0 MOV CX, 40FFFH+1-4000H NEXT2:CMP BYTE PTR SI,55H JNE ERROR INC SI LOOP NEXT2 RIGHT: MOV DL,0EEH JMP EXIT ERROR: MOV DL,01H EXIT: ,参见P135 3.13题,42,5.8 试判断8088系统中由74LS138的输出所决定的地址范围。,A19181716 15141312 111098 7654 3210,1 X 0 0 C B A X X XXX XXXX XXXX,80000H,/Y0,0 0 0,81FFFH,0,C0000H,0 0

23、 0,C1FFFH,1,88000H,/Y4,1 0 0,89FFFH,0,C8000H,1 0 0,C9FFFH,1,8C000H,/Y6,1 1 0,8DFFFH,0,CC000H,1 1 0,CDFFFH,1,8E000H,/Y7,1 1 1,8FFFFH,0,CE000H,1 1 1,CFFFFH,1,43,5.9 若将4片6264芯片连接到8088微处理器的A0000HA7FFFH地址空间中,并限用74LS138作为地址译码器,试画连接电路图。,A19181716 15141312 111098 7654 3210,1 0 1 0 0 0 0 0 0 0 00 0000 0000,A

24、0000H,1 1 1 11 1111 1111,A1FFFH,1 0 1 0 0 0 1,A2000H ,A3FFFH,1 0 1 0 0 1 0,A4000H ,A5FFFH,1 0 1 0 0 1 0,A6000H ,A7FFFH,画电路图:,44,P299 6.5,答:,要满足那些条件,8086/88CPU才能响应INTR中断?,当8086/88收到INTR的高电平信号时,在当前指令执行完,且IF=1的条件下88CPU才能响应INTR中断。,第6章 I/O方式作业,45,P299 6.7,解:,利用74LS244作输入口,口地址04E5H。,0000 0100 1110 0101 0,

25、46,P299 6.8,解:,利用74LS374作输出口,口地址E504H。,1110 0101 0000 0100 0,47,第6章 I/O方式作业,601.,解:,从中断向量表的0008H单元开始依次存放有34H,FEH,00H和F0H。 问该中断的类型码是 。 该中断服务程序的入口地址是 。,中断的类型码是 0008H/4=02H,中断服务程序的入口地址是 F000H:FE34H,48,603. 填空,一片8259可管理 8个中断源。 两片8259级联可管理 15个中断源。 8259在一般嵌套方式下, IR0IR7的优先级为 IR0IR7 。 4.I/O方式分为 4 种,分别是 基本i/

26、o方式、查询方式、中断方式及DMA方式。只有DMA是纯硬件方式。,49,P339 7.2,第7章 作业,解:,1111 1111 1110 00 *,50,解:,(1)编程,使8255的3个口的24 条线均为输出, 且输出幅度和频率为任意的方波。,MOV DX,0FFFE3H MOV AL,80H OUT DX,AL NEXT:MOV AL,0FFH MOV DX,0FFE0H OUT DX,AL INC DX OUT DX,AL INC DX,AL NOP,MOV AL,00H MOV DX,0FFE0H OUT DX,AL INC DX OUT DX,AL INC DX,AL JMP NE

27、XT,51,作业,701. 8255芯片为用户提供 个I/O端口, 一片8255芯片至少占 端口地址; PA口有 种工作方式。 PB口有 _种工作方式。 702. 8253芯片为用户提供 个计数通道, 一片8253芯片至少占 个端口地址; 8253的最大计数初值是 。,52,分析8255的端口地址,53,分析8255的端口地址,00,PA口,0380H,01,PB口,0381H,10,PC口,0382H,11,控制寄存器,0383H,从Y0分析, BCA为000 即A4A3A2为000; 从G信号分析,A9A7 为111; 从G2A、G2B分析,A6A5为00,综上分析8255的端口地址地址,

28、54,5.8 试判断8088系统中由74LS138的输出所决定的地址范围。,A19181716 15141312 111098 7654 3210,55,课堂作业:分析8255的端口地址,56,分析8255的端口地址,从Y0分析, BCA为000 即A5A4A3为000; 从G信号分析,A7A6 为11; 从G2A分析,A15A8为11111011; 从CS信号分析,A2=0,综上分析8255的端口地址地址FBC0HFBC3H,1 1 1 1 1 0 1 1 1 1 0 0 XX,57,课堂作业:,总存储容量是多少 各芯片的地址范围,P200 图5.15,58,解,ROM芯片2732有12条(

29、A0-A11)地址线,其容量为22 KB,即 4KB,3片 Rom芯片的总容量为4*3=12KB。 RAM芯片6264有13条(A0-A13)地址线,其容量为23 KB,即 8KB,2片 RAM芯片的总容量为8*2=16KB。 系统的总存储量为12+16=28KB,59,地址分析如下: C B A A19A18 A17 A16 A15 A14A13 A12 0 0 0 0 0 0 0 0 Y0 00000H-00FFFH 0 0 0 0 0 0 0 1 Y1 01000H-01FFFH 0 0 0 0 0 0 1 0 Y2 02000H-02FFFH 0 0 0 0 0 0 1 1 Y3 03

30、000H-03FFFH 0 0 0 0 0 1 0 0 Y4 04000H-04FFFH 0 0 0 0 0 1 0 1 Y5 05000H-05FFFH 0 0 0 0 0 1 1 0 Y6 06000H-06FFFH 因此,各芯片地址为 2732 1# 00000H-00FFFH 2732 2# 01000H-01FFFH 2732 3# 02000H-02FFFH 6264 4# 03000H -04FFFH 6264 5# 05000H -06FFFH,解,微机原理及接口技术 2013年秋复习重点,授课老师:刘凯 时间:2013年12月30日13:16:39,60,61,61,复习第一、二章,基本知识 微型计算机的基本组成 硬件 软件,基本知识 8088CPU的引线功能 8086CPU的引线功能 内部寄存器结构 内存、外设地址空间 8086的分体结构 BHE、A0,6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论