微机第三版教材习题参考答案 马维华 下载本文

微机原理与接口技术(第三版)课堂布置及需要关注习题参考答案 9

由地址关系知:不变的地址:A31~A16=全1,变化的就是64KB大小的存储体,存储器的组成如图所示。 A31 A30 A29 A28 A27 A26 A25 A24MRDC D31~D0 D31~D24 D23~D16 D15~D8 D7~D0 M/IO A23 A22 A21 A20 A19 A18 A17 A16 OE D7~D0 存储体 MWTC A15~A2 BE3 BE2 BE1 BE0 CE A13~A0 WE OE D7~D0 存储体 CE A13~A0 WE OE D7~D0 存储体 OE D7~D0 存储体 CE A13~A0 WE CE A13~A0 WE 5-20 采用SRAM 62512构建的一个64位存储器模块如图5.38所示。

(1)试写出本存储器模块的地址范围。

(2)试编写一段程序,将1号62512的64KB的数据复制到7号62512中

A31A30A29A28A27A26A25A2412348561112MRDCBE7A18-A3BE6BE5BE4MWTCA23A22A21A20A19M/IO12348561112OEA15-A0WECSOEA15-A0WECSOEA15-A0WECSOEA15-A0WECS62512(8)D7-D0D63-D5662512(7)D7-D0D55-D48D23-D1662512(6)D7-D0D47-D40D15-D862512(5)D7-D0D39-D32D7-D0D63-D0D31-D24D7-D0D7-D0D7-D0D7-D062512(4)OEA15-A0WECSOE62512(3)A15-A0WECSOE62512(2)A15-A0WECSOE62512(1)A15-A0WECSA17-A2BE2BE1BE0BE3

图5.38 SRAM构成的64位存储器模块

答:

(1)A31~A19=0000000000001,A18~A0全0到全1变化,因此地址范围为:00080000H~000FFFFFH (2)要注意一个62512中的64KB数据的地址是相差8,不是连续的,由64位存储器组成所决定的,因此在写程序时修改地址指针时要特别注意。1号芯片的起始地址为:00080000H,7号芯片起始地址:00080006H,每增加一个数据单元,地址加8,程序片段如下:

MOV

CX,0

;64K个字节单元数据计数器

MOV AX,8000H MOV

DS,AX

;段地址为8000H

;源数据对应偏移地址0,物理地址80000H ;目的数据偏移地址6,物理地址80006H

MOV SI,0 MOV DI,6 MOV MOV

AL,[SI] [DI],AL

LP:

ADD SI,8 ADD DI,8 LOOP

LP

10 IA-32 & Intel64微机原理与接口技术(第三版) 布置的习题参考答案 或: 用32位偏移地址

MOV

CX,0

;64K个字节单元数据计数器

MOV ESI,00008000H MOV EDI,00008006H MOV MOV

AL,[ESI] [EDI],AL

LP:

ADD ESI,8 ADD EDI,8 LOOP

LP

5-22 CMOS 的功能是什么?如何对其操作?写出将年月日时分秒的值读出后存入1000H:2000H开始的内存区域的程序片段。

解:CMOS主要包括实时钟及CMOS RAM,因此其主要功能有产生实时钟及保存设置和配置信息。对CMOS的操作分两个步骤:(1)向70H写CMOS地址;(2)对71H读或写数据

第一种方法:由于年月日时分秒地址不连续或规律性不强,可以先在内存缓冲区中定义时间单元,然后就可以构建循环体。

.DATE

DateBuf DB 09H,08H,07H,04H,02H,00H ;定义CMOS年、月、日、时、分、秒地址 .CODE MOV AX,1000H MOV ES,AX MOV DI,2000H MOV AX,SEG DateBuf MOV DS,AX MOV SI OFFSET DateBuf MOV CX,6

LP1:MOV AL,[SI] ;日期时期单元 OUT 70H,AL IN AL,71H MOV ES: [DI],AL INC DI INC SI LOOP LP1

第二种方法一个一个写 MOV AX,1000H MOV DS,AX MOV DI,2000H MOV AL,09H ;年单元 OUT 70H,AL IN AL,71H MOV [DI],AL INC DI

MOV AL,08H ;月单元 OUT 70H,AL IN AL,71H MOV [DI],AL INC DI MOV AL,07H ;日单元 OUT 70H,AL IN AL,71H MOV [DI],AL INC DI MOV AL,4 ;时单元 OUT 70H,AL IN AL,71H MOV [DI],AL INC DI MOV AL,2 ;分单元 OUT 70H,AL IN AL,71H MOV [DI],AL INC DI

MOV AL,0 OUT 70H,AL IN AL,71H MOV [DI],AL

微机原理与接口技术(第三版)课堂布置及需要关注习题参考答案 11 ;秒单元

第六章作业

6-2简述微处理器与I/O设备之间的接口信息。

答:接口信息:微处理器与外设之间交换的信息概括起来有数据信息、状态信息和控制信息。 微机中的数据信息通常有数字量、模拟量和开关量三种基本形式。

状态信息是外部设备向微处理器提供外设当前工作状态的信息,微处理器接收到这些状态就可以了解外设的情况,适时准确地进行有效的数据传送。

常见的外设状态信息如输入设备准备好信号(READY)、输出设备是否忙(BUSY)等等。 控制信息是微处理器通过I/O接口向外部设备发送控制命令的信息。控制命令主要用于I/O设备的工作方式设置等。

6-3简述I/O编址方式。

答:I/O端口地址的编址有两种基本方法:存储器映射编址(统一编址)和I/O映射编址(独立编址)。

存储器映射I/O编址就是I/O端口的地址与存储器的地址统一混合编址,即把一个I/O口地址看作是一个存储单元。

I/O映射编址是指I/O端口与存储器分开独立编址,即I/O端口和存储器都有自己的一套地址空间,而且互不相干。这样,I/O端口不占用内存空间,但在这种编址方式下,必须采用专用的I/O指令(IN或OUT指令)才能访问I/O设备。

从8086到Pentium,仅支持I/O映射的编址方法,而P6架构及之后的处理器既支持I/O映射编址又支持存储器映射编址,即除了用IN/OUT等专用I/O指令外,还可以用访问存储器的指令访问被映射的I/O端口。

6-4微机系统中的16位、32位以及64位I/O组织的特点是什么?各自由哪些信号线访问I/O端口? 答:16位采用2个8位I/O体,32位采用4个8位I/O体,64位采用8个8位I/O体构成完整的I/O系统。I/O端口地址范围0000H~FFFFH, 不管是哪一种形式,处理器仅提供16条地址线来寻址I/O。

主要信号线有:

16位I/O组织的8086~80286:A15~A0以及IORC、IOWC和BHE; 32位的I/O组织80386~Pentium:A15~A2以及BE0~BE3、IORC和IOWC; 64位的I/O组织Pentium Pro~Core :A15~A3以及BE0~BE7、IORC和IOWC。 IN EAX,DX实际4个地址有效,OUT DX,RAX8个地址同时有效。

6-8试采用8位缓冲器和8位锁存器设计一个32位输入和输出接口,输入和输出接口的基地址均为8010H,画出原理图,并写出读该32位输入接口和写32位输出接口的程序片段,假设读入的32位数据存放在EBX中,待写的32位数据在ECX中。

答:参照教材中32位输入接口及32输出接口设计实例,满足本题要求的地址8010H的32位输入输出接口如图所示。

12 IA-32 & Intel64微机原理与接口技术(第三版) 布置的习题参考答案

DI31-DI032位I/O输入A15A14A13A12A11A10A9A8A7A6A4A5A3A212131274HC27D31-D0IORCBE3BE2DO31-DO24BE1DO23-DO16BE0DO15-DO8DO31-DO032位I/O输出DO7-DO0D31-D24D23-D16D15-D8D7-D01234121374HC2712856111274HC3032位输入接口DI31-DI24DI23-DI16DI15-DI8DI7-DI0181716151413121118171615141312111817161514131211B0B1B2B3B4B5B6B7B0B1B2B3B4B5B6B7B0B1B2B3B4B5B6B7U474HC245U374HC245U274HC245EDIREDIREDIRB0B1B2B3B4B5B6B7U174HC2451817161514131211191234567898Q7Q6Q5Q4Q3Q2Q1QU174HC5742345678919123456789191234567891213141516171819121314151617181912131415161718198Q7Q6Q5Q4Q3Q2Q1Q8Q7Q6Q5Q4Q3Q2Q1QU474HC574U374HC574CLKOCCLKOC8Q7Q6Q5Q4Q3Q2Q1QU274HC574CLKOC121314151617181911198765432BE0D7-D0987654321119876543211198765432D31-D24D23-D16D15-D8IOWCBE3BE2BE1111CLKOC8D7D6D5D4D3D2D1D8D7D6D5D4D3D2D1D8D7D6D5D4D3D2D1D8D7D6D5D4D3D2D1D191EDIRA0A1A2A3A4A5A6A7A0A1A2A3A4A5A6A7A0A1A2A3A4A5A6A7A0A1A2A3A4A5A6A732位输出接口

程序片段如下:

MOV IN MOV MOV OUT

DX,8010H EAX,DX EBX,EAX EAX,ECX DX,EAX

6-11已经波特率为2400bps,字符格式为7位数据,1位校验位,1位停止位,UART发送端的波形如图6.61所示(下方为参考方波,说明该数据是多少(用十六进制表示),采用什么校验?

+4.8V 0V f=2.4KHz参考方波) 图6.61 题6-11图

解:由UART字符格式知,传送数据是低位在前高位在后,据已经条件知,1位起始位,7位数据,1位校验位,1位停止位,共10位为一帧,从图中找出起始位(低电平)开始的连续10位,图从2.4KHz的一个脉冲对应2400bps波特率的一个位,即从第3个脉冲开始10位恰是传送的一帧字符,去掉开始的起始位,从第4个脉冲开始取7位数据位,依次是D0=1,D1=1,D2=0,D3=1,D4=0,D5=1和D6=1,校验位=0,停止位=1,因此数据为D6D5D4D3D2D1D0=1101011B=6BH,由于校验为0,因此传送的字符中(含校验位)1的个数为5,奇数,因此为奇校验。

6-13如果通过RS-232C进行双机通信,波特率为11520bps,字符格式为1位停止位,没有校验,8位数据,通过示波器得到的波形如图6.62所示,上图是RS-232C的连接器DB9-2脚(RXD)的波形,下面是为了比较方便输入的频率为11.52Kz的参考方波。指出波形对应的数据(用十六进制表示)。