当前位置: 一起学习网 > 学习电脑 > CPU > 正文

8086CPU在传送8位数据时,总

8086CPU在传送8位数据时,总篇一:微型计算机接口与通讯期末模拟3

5.(20分) 图6为某A/D转换器的设计方案,设Y0、Y1所对应的地址分别是300H和301H。(1)试编写启动A/D对通道4转换、检测A/D是否转换完毕、读取A/D转换数据的程序分段。(2)要求对通道4采集10个数据,并存放到以6000:0为起始地址的RAM中,试编写该程序。

5.解:

(1)启动A/D对通道4转换程序分段:

MOV DX, 300H MOV AL, 4 OUT DX, AL

检测A/D是否转换完毕程序分段

MOV DX, 301H XX: IN AL, DX

TEST AL, 00100000B JZ XX …

读取A/D转换数据的程序分段。

MOV DX, 300H IN AL, DX (2)CODE SEGMENT

ASSUME CS:CODE MOV MOV MOV MOV MOV MOV OUT MOV IN TEST AL, JZ MOV IN MOV INC SI LOOP MOV INT 21H ENDS END START

微机原理与接口技术考试试卷(B)

一.填空题(每空1分,共20分) YY AH, 4CH CX, 10 AX, 6000H DS, AX SI, 0 DX, 300H AL, 4 DX, AL DX, 301H AL, DX 00010000B XX

DX, 300H AL, DX [SI], AL

START:

YY:

XX:

CODE

01.________由中央处理器、存储器、输入/输出接口和总线组成。

02.微机系统中,有四级(或四层)总线,分别是片内总线、片总线、内总线和________。 06.8086/8088的地址空间最多可分为________个逻辑段。

07.一个数据的有效地址EA = 1234H,且DS =5678H,则该数据在内存中的物理地址是________,该数据段的首末单元的物理地址是________。 08.若当前堆栈指针SP指向2006H单元,则向堆栈中压入5个字的内容后,SP应指向________。 09.若8086/8088 CPU引脚状态是M/IO=1,RD=1,WR=0,则此时执行的操作是________。

10.一台8微机的地址总线为16条,其RAM存储器容量为16KB,首地址为2000H,且地址是连续的,则可用的最高地址是________。 11.某中断类型号是20H,则中断向量地址是________。

12.某微机中断级联系统中,共采用3片8259A可编程中断控制器,则该系统最多可管理________级中断源。

13.某微机系统采用一块8253芯片,时钟频率为1MHz。若要求通道0工作于方式3,输出的方波周期为0.5ms,则时间常数应设定为________,通道控制字应设定为________。

14.一个串行字符由一个起始位,7个数据位,一个奇偶效验位和一个停止位构成,若每秒传送240个字符,则数据传送的波特率是________,传送每位信息所占用的时间是________。

15.异步串行通信工作方式下,一个串行字符由一个起始位,7个数据位1101110,一个奇效验位和一个停止位构成,则先后发送该帧字符信息的数据位是________。 二.简答题(每题4分,共20分) 01.请画出微机系统的框图。

02.8086 CPU由哪两部分组成?8086 CPU中有哪些寄存器? 03. 为什么说8088 CPU是准16位的微处理器? 04. 指令队列和堆栈的工作方式各是什么? 三.应用题(共60分)

02.下图为DMA接口硬件示意图,①、②、③、④四处空缺的内容为存储器、DMA请求信号DREQ、DMA控制器DMAC、总线保持响应信号HLDA之一,请在相应的空缺处指明相应的内容。(10分

)

03.已知中断服务程序入口地址表如下所示,当前CS=1000H,IP=0280H,SP=1800H,FLAG中的PSW=0241。执行一条双字节指令INT 7后,下列寄存器和栈顶相关单元偏移地址的内容是什么?(10分)

中断服务程序入口地址表

执行INT 7后,CS=________,IP=________,SP=________,PSW=________ 堆栈中栈顶相关单元: 04.设某计算机控制系统中用8253的通道0作为计数器,口地址为60H,计数频率为1MHz,计数控制信号GATE0恒为高电平;控制字寄存器口地址为63H;计数器计到0时的输出信号用做中断请求信号。请分析执行下列初始化程序段后,发出中断请求信号的周期T是多少? (10分)

MOV AL,34H OUT 63H,AL

MOV AX,10000 OUT 60H,AL MOV AL,AH

OUT 60H,AL

05.已知某8088微机系统包括8255,8253两个可编(本文来自:www.jIaOShilM.COM 教师 联盟 网:8086CPU在传送8位数据时,总)程接口电路。其中8253三个计数器分别工作在不同的方式下,可以为A/D转换器提供可编程的采样频率和采样时间;8255A的PB0可用于检测按键开关的位置,PA7可根据PB0的状态决定是否点亮LED指示灯。设系统所要求有关硬件连线已经全部接好,片选信号PS2,PS3的地址是08H-0BH,0CH-0FH,如图所示,试完成下列各项要求。

(1) 根据8255A的A口和B口的连接方式,写出接口初始化程序。

(2) 图中给出了8253各个计数器要求的工作方式,设已知外部时钟频率为F,计数器0的计数初值为L(字节型),工作在方式2;计数器1的计数初值为M(字型),工作在方式1;计数器2的计数初值为N(字型),工作在方式3,L、M、N是程序已经定义的变量,L、M为二进制数,N为BCD码。试按上述要求完成8253的初始化程序。

(3) 设计一个程序片段,使8255A检测PB0的输入状态,当PB0=1时使LED灯亮。(20分)

微机原理与接口技术考试试卷(B)参考答案

一.填空题01.微型计算机 02.外总线或通信总线 06. 64K 07. 579B4H,56780H/6677FH 08. 1FFCH

09. 存储器写 10.5FFFH 11.80H 12. 22 13.500,00110111B 14.2400Bd,0.417ms15.0 0111011 0 1 二.简答题(每题4分,共20分) 01.答:

02.答①:由总线接口部件BIU和指令执行部件EU组成。

答②:共五组,分别为:数据寄存器组:16位,累加器AX、基址寄存器BX、计数寄存器CX、数据寄存器DX。指针寄存器组:16位,堆栈指针寄存器SP、基址指针寄存器BP。变址寄存器组:6位,源变址寄存器SI、目的变址寄存器DI。段寄存器组:16位,代码段寄存器CS、堆栈段寄存器SS、数据段寄存器DS、附加段寄存器ES。控制寄存器组:16位,指令指针寄存器IP、标志寄存器PSW。

03.答:8086 EU内部,BIU内部以及外部数据总线宽度均是16位;而8088 EU内部数据总线宽度是16位,BIU内部以及外部数据总线宽度是8位。04.答:指令队列的进出原则是先进先出;堆栈的进出原则是后进先出。05.答:刷新和地址两次打入。 三.综合题(共60分)

02.(10分)答:①总线保持响应信号HLDA ② DMA请求信号DREQ ③ DMA控制器DMAC ④ 存储器 03.(10分)答:CS=4030H,IP=2010H,SP=17FAH,PSW=0041H

04.(10分)解:∵ 8253的控制字为34H。计数初值N=10000。

∴ 通道0设置:方式2(波特率发生器方式),二进制计数,先读/写低字节、再读/写高字节预置初值。 ∴ 在OUT0端输出一脉冲频率为

fOUT0?

1

fCLK0

10000

的周期性负脉冲。即

fOUT0?

11MHz

fCLK0??100Hz1000010000

∴ 中断请求信号的周期T为:T?

1fOUT0

?

1

?0.01s

100Hz

05.(20分)解①: MOV AL,l0000010B ;A,B口方式0,A口输出,B口输入

OUT 0BH,AL

解②: MOV AL,14H ;0通道方式2

OUT 0FH,AL

MOV AL,L;0通道计数初值L OUT 0CH,AL

MOV AL,72H ;1通道方式l MOV 0FH,AL

MOV AX,M;1通道初值M(字型), OUT 0DH,AL MOV AL,AH OUT 0DH,AL

MOV AL,B7H ;2通道方式3,BCD码 0UT OFH,AL

MOV AX,N;2通道初值N(字型), OUT 0EH,AL MOV AL,AH OUT 0EH,AL

解③:IN AL,09H ;读B口状态 K1:TEST 01H ;测试PBO=l否

JZ,K1;不为1,K1

MOV AL,OOH ;PB0=1,PA0=0,点亮LED OUT 08H,AL

微机原理与接口技术考试试卷(A)

一、填空题(共20分)

1. 总线周期的含义是 8086/8088 的基本总线周期由如果CPU 的时钟频率为4.77MHz,那么它的一个时钟周期为ns,一个基本总线周期为 ns。 2. 8086 CPU的M/IO信号是

3. 总线传输率是指;若某总线的工作频率最高为8MHz,数据总线宽度为16位,则该总线

的最大传输率为M Byte/s。

4. I/O端口的编址方式有两种,分别为:和

5. 串行传输的信息格式广泛采用着异步和同步格式。异步格式传送一个字符由4部分组成,分别为起始位,和

停止位。

6. 在8086系统中,一个中断类型号为0DBH的中断服务子程序位于从8100H:1234H开始的内存中,则相应的中断矢量所在的起始物理

地址为__,从该地址开始连续4个存储单元存放的内容依次为_ 、 、 和 _。

7.用2k×8的SRAM芯片组成16K×16的存储器,共需SRAM芯片位。

二、选择题(包括单项和多项选择, 每小题2分,共20分) 1.下列说法正确的是。

A. CPU一般包括ALU、控制器、寄存器阵列等主要部件。

B. CPU中的程序计数器是控制器的重要部件,总是指向下一条指令的地址。 C. 指令周期一般由几个机器周期组成,机器周期是CPU工作的最小时间单位。 D. 8086 CPU的寄存器都是16位的,但指令指针是20位。 2.下列说法正确的是。

A.通用寄存器包括AX、BX、CX、DX,它们都可以作为累加器使用。

B.使用BP做间址寄存器时,默认使用DS做段寄存器。

C.做字符串操作时,源指针与目的指针使用的段寄存器不同。 D. 形成堆栈地址的是SS与SP。

3.下列说法正确的是。

A. 8086 CPU有1M字节地址空间,其中最低64K是IO地址空间。 B. 8086 CPU有16位数据线和20位地址线,因此能访问2M字节存储器。

C. 8086 CPU在传送8位数据时,总是使用数据总线低8位。D. 8086 CPU的NMI和INTR都是中断请求输入信号。 4.下列指令中有语法错误的是。

A. MOV AL,DS:[BP] B. MOV [DI],0不C. JMPWORD PTR[BX] 5.地址总线为32位的微机系统中其内存最大容量为

A. 2000KBB. 2048KB C. 2048MB D. 4096MB

6. 设串行异步通信的数据格式是:1位停止位,7位数据位,1位校验位,1位起始位,若传输率为2400位/秒,则每秒传输的最大字符个数为_

A. 10 B. 110 C. 120D. 240 7.一台微型计算机的字长是4个字节,它表示

A. 能处理的数值最大是4位十进制数9999 B. 内存容量为10000KB

C. 在CPU中作为一个整体加以传送处理的二进制代码为32位D. 在CPU中运算的结果最大为2的32次方 8.下面的各种中断中,

A. 单步中断 B. 除0中断 C. NMI D. INTR 9.某存储器芯片有地址线13根,数据线8根、该存储器芯片的存储容量为

A.15K×8 B. 32K×256 C. 8K×8 D. 32K×8

10.某存储单元的段基址为3806H,段内偏移地址为2A48H,该存储单元的物理地址为。

A. 4100H B. 3AA08H C. 3B008H D.3AAA8H 三、综合题(共60分) 1.

(20分)定时器8253、中断控制器8259A与8086CPU的连接如图1所示,8253的通道0工作于方式3(方波发生器),输出的方波周期为20ms,每20ms向CPU发出一次中断,CPU响应中断后管理一个作业进程(执行中断服务程序),若8259A初始化时写入中断矢量寄存器的内容为76H,请回答下列问题:

(1) CPU在响应8259A的中断后,CPU何时从何处得到中断矢量号?得到的中断向量号是多少?(4分)(2) CPU在响应中断后从哪几个内存单元取出中断服务程序的入口地址(写出哪些单元中是CS段地址,哪些单元中是IP地址)? (4分)(3) 写出定时器8253和中断控制器8259A的端口地址。 (4分)(4) 计算8253通道0的时间常数(计数器初值)是多少?(2分)(5) 写出8253计数通道0的方式控制字和初始化程序段。 (6分)

D. PUSH WORD PTR[SI-2]

2.

(10分)模拟/数字转换器ADC0809通过并行接口8255A与PC总线连接的接口电路如图2所示,该电路的功能是:CPU选择ADC0809的某一模拟通道INi进行A/D转换,并读取转换好的数字信号。请回答如下问题:

8086CPU在传送8位数据时,总篇二:偶对齐80186 的地址线A0 不与8位NVRAM 的A0 连接

偶对齐伪指令格式:

EVEN

伪指令的作用是:告诉汇编程序(Assember),本伪指令下面的内存变量从下一个偶地址单元开始分配。 如果下一个偏移量是偶地址,那么,该伪指令不起作用,否则,汇编程序将空出一个字节,从下一偶地址

开始为其后变量分配内存单元。

对齐伪指令ALIGN

对齐伪指令格式:

ALIGN Num

其中:Num必须是2的幂,如:2、4、8和16等。

伪指令的作用是:告诉汇编程序,本伪指令下面的内存变量必须从下一个能被Num整除的地址开始分配。 如果下一个地址正好能被Num整除,那么,该伪指令不起作用,否则,汇编程序将空出若干个字节,直到下一个地址能被Num整除为止。

——————————————————————————————————————————

why 80186 的地址线A0 不与8位NVRAM 的A0 连接?(2008-08-05 13:16:01)转载标签:80186地址线a0a1连接微机原理it 分类:软硬兼施

问:16位80186与8位NVRAM之间互连只能以地址线A1对其A0,CPU本身的A0与NVRAM不连接,为什么?

答:80186在进行i/o传送时总是将总线低8位对应偶地址端口。

所以:16 位80186 与8 位NVRAM 之间互连只能以地址线A1对其A0,CPU 本身的A0 与NVRAM 不连接。进而,

NVRAM 的地址只能是偶数地址,每次以0x10 为单位前进!

又如:

8255A与8086CPU连接时,

8086系统有16根数据线,而8255只有8根数据线,为了软件读写方

便,一般将8255的8条数据线与8086的低8位数据线相连。8086在进行

数据传送时总是将总线低8位对应偶地址端口,因此8086CPU要求8255

的4个端口地址必须为偶地址,即8086在寻址8255时A0脚必须为低。实际

使用时,我们总是将8255的A0、A1脚分别接8086的A1、A2脚,而将

8086的A0脚空出不接,并使8086访问8255时总是使用偶地址。

-----------------------------------------------------------

计算机的地址是连续的如:0000H---FFFFH

其中0000H、0002H...等是偶地址,0001H、0003H...等是奇地址

这些地址都对应以字为单位的存储器,这是计算机存储数据的最基本单元。

之所以区分偶地址访问存储器与奇地址访问存储器是因为CPU访问存储器的方式是偶地址方式,即访问0000H、0002H...等偶地址时,一次即可取得数据;访问0001H、0003H...等奇地址时,二次才能取得数据。

-----------------------------------------------------------------

此问题让我想了一个早上也没想出来,后来搜到有关8255A与8086CPU连接的文章

才想起来,原来这个问题,我们在《微机原理》确已学过。

------------------------------------------------------------

上面的说法都不正确。事实上,串操作可以从奇地址开始,但那样效率要慢一点。

这个问题与x86的内存访问方式有关。386以上的微机是32位的,每次读写一个双字是以4字节对齐为基础的(即内存单元的始地址能被4整除)。若读写一个不是双字对齐的32位数,则需两个总线周期(读或写8字节,并丢弃部分数据),而读写一个双字对齐的32数据仅需一个总线周期。因此做串操作时常常将数据作双字对齐以提高操作效率。

因此,你上面说的偶地址并不正确(除非你用的是386以下的16位机),而将来的64位机可能需要8字节对齐。

8086CPU在传送8位数据时,总篇三:8086的常见问答题

8086的常见问题

1.8086CPU由哪两部分构成?它们的主要功能是什么? 答:8086CPU由两部分组成:指令执行部件(EU)和总线接口部件(BIU)

指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。

2.8086CPU预取指令队列有什么好处?8086CPU内部的并行操作体现在哪里? 答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。

8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。

3.8086CPU中有哪些寄存器?各有什么用途?

答:指令执行部件(EU)设有8个16位通用寄存器AX、BX、CX、DX、SP、BP、SI、DI,主要用途是保存数据和地址(包括内存地址和I/O端口地址)。其中AX、BX、CX、DX主要用于保存数据,BX可用于保存地址,DX还用于保存I/O端口地址;BP、SI、DI主要用于保存地址;SP用于保存堆栈指针。

标志寄存器FR用于存放运算结果特征和控制CPU操作。

BIU中的段寄存器包括CS、DS、ES、SS,主要用途是保存段地址,其中CS代码段寄存器中存放程序代码段起始地址的高16位,DS数据段寄存器中存放数据段起始地址的高16位,SS堆栈段寄存器中存放堆栈段起始地址的高16位,ES扩展段寄存器中存放扩展数据段起始地址的高16位。

指令指针寄存器IP始终存有相对于当前指令段起点偏移量的下一条指令,即IP总是指向下一条待执行的指令。

5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个?逻辑地址呢?

答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。

由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的16位二进制数,程序设计时采用逻辑地址,也是1MB。

6.8086系统中的存储器为什么要采用分段结构?有什么好处?

答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址,在8086系统中,就是由段基址和偏移地址两部分构成。这两个地址都是16位的,将这两个地址采用相加的方式组成20位地址去访问存储器。

在8086系统的地址形成中,当段地址确定后,该段的寻址范围就已经确定,其容量不大于64KB。同时,通过修改段寄存器内容,可达到逻辑段在整个1MB存储空间中浮动。各个逻辑段之间可以紧密相连,可以中间有间隔,也可以相互重叠(部分重叠,甚至完全重叠)。采用段基址和偏移地址方式组成物理地址的优点是:满足对8086系统的1MB存储空间的访问,同时在大部分指令中只要提供16位的偏移地址即可。

7.8086存储器中存放数据字时有“对准字”和“非对准字”之分,请说明它们的差别。

答:一个16位的数据字是按照低地址存放低位数据、高地址存放高位数据来存放的。若16位数据的低8位存放在偶地址,则该数据字就是“对准字”,否则就是“非对准字”。主要差别是CPU读取和存储数据字时,如果是对准字,只需要一次读写操作即可,而非对准字就需要两次读写操作才能实现一个数据字的存取。

9.在某系统中,已知当前(SS)=2360H,(SP)=0800H,那么该堆栈段在存储器中的物理地址范围是什么?若往堆栈中存入20个字节数据,那么SP的内容为什么值?

答:(SS)×10H+(SP)=23600H+0800H=23E00H,堆栈段在存储器中的物理地址范围是23600H~23E00H。若往堆栈中存入20个字节数据,那么SP的内容为0800H-14H=07ECH。(20的十六进制为14H)。

10.已知当前数据段位于存储器的B4000H到C3FFFH范围内,则段寄存器DS的内容为多少?

答:段寄存器DS的内容为B4000H。

11.8086系统中为什么一定要有地址锁存器?需要锁存哪些信息?

答:由于8086CPU受芯片封装的限制,只有40个管脚,所以地址线和数据线只能采用复用的方式共同使用某些管脚。对存储器进行访问时,在读取数据或写入数据时,存储器芯片要求在这个过程中地址信息必须稳定提供给存储器,而由于8086CPU地址线和数据线是复用的,就不可能在同一时刻具有地址和数据的两种功能。这就需要在CPU提供地址信息时,将地址锁存起来,以保证下一个时刻当这些复用的管脚起着数据线的功能时,存储器有正确的地址信息。要锁存的信息包括这些复用管脚的地址和BHE等信号。

12.8086读/写总线周期各包括最少几个时钟周期?什么情况下需要插入等待周期TW?插入多少个TW取决于什么因素?

答:8086读/写总线周期各包括最少四个时钟周期。在系统中增加等待周期TW的一般情况是:当CPU提供了地址后,由于外设或存储器的读出或写入时间较慢,不能与CPU的速度匹配,就需要插入等待周期TW,等待CPU能从外设或存储器将数据正确地读出或写入为止。显然,插入的等待周期TW的个数取决于外设或存储器的取出或写入时间。

第4章 8086汇编语言程序设计

1.编写8086汇编语言程序,将寄存器AX的高8位传送到寄存器BL,低8位传送到寄存器DL。

答:CODE SEGMENT

ASSUME CS:CODE

START: MOV BL,AH

MOV DL,AL

MOV AX,4C00H

INT 21H

CODE ENDS

END STAR

2.将寄存器DX的内容按从低位到高位的顺序分成4组,并将各组数分别送到寄存器AL,BL,CL和DL中。(例如:(DX)=0ABCDH,分成四组(DL)=0AH,(CL)=0BH,(BL)=0CH,(AL)=0DH)

答:CODE SEGMENT

ASSUME CS:CODE

START: MOV AX,DX

AND AL,0FH

MOV BL,DL

MOV CL,4

SHR BL,CL

AND AH,0FH

MOV CL,4

SHR DH,CL

MOV CL,AH

MOV AH,4CH

INT 21H

CODE ENDS

END START

4.试统计9个数中偶数的个数,并将结果在屏幕上显示。

答:DATA SEGMENT

BUFF DB 3BH,47H,8DH,-75,0AH,69,-2EH,0CCH,200

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET BUFF

MOV CX,9

XOR DL,DL

A1: SHR BYTE PTR [SI],1

JC NEXT

INC DL

NEXT: INC SI

LOOP A1

ADD DL,30H

MOV AH,2

MOV AX,4C00H

INT 21H

CODE ENDS

END START

5.试将一串16位无符号数加密,加密方法是每个数乘以2。(不考虑进位) 答:DATA SEGMENT

MEM DW 20 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV CX,LENGTH MEM

LEA BX,MEM

AA1: MOV AX,[BX]

ADD AX,AX;或MUL AX,2 或SHL AX,1或SAL AX,1

MOV [BX],AX

ADD BX,2

LOOP AA1

MOV AX,4C00H

INT 21H

CODE ENDS

END START