微机接口原理期末复习习题2013
更新时间:2024-04-06 13:45:01 阅读量: 综合文库 文档下载
- 微机接口与原理推荐度:
- 相关推荐
微机原理习题
一、选择填空
1、CPU执行OUT DX ,AL指令时,( )的值输出到数据总线上。
A、AL寄存器 B、AX寄存器 C、DL寄存器 D、DX寄存器 2、连接主机与外设间的电路称为( )。
A、接口 B、端口 C、数字电路 D、转换电路 3、地址译码的作用是( )。
A、设计接口 B、区分不同外设 C、接至地址总线 D、向外设输出数据 4、中断控制器8259可管理( )。
A、非屏蔽中断 B、指令中断 C、外部中断 D、可屏蔽中断 5、对INT N指令,其中断向量存放在内存从( )开始的地址中。 A、DS*10H+N*4 B、DS*10H+N C、0*10H+N*4 D、0*10H+N 6、8259的中断服务寄存器ISR的某一位如果置1,则表示( )。
A、8259中断服务故障 B、CPU正在执行中断服务程序 C、外部设备可以请求中断服务 D、中断服务程序刚执行完毕 7、8086/8088CPU内部有一个始终指向堆栈顶部的地址指针是( )。
A、SP
B、IP
C、BP D、BX
8、8086/8088CPU内部地址指针是( )。
A、20位 B、8位 C、16位 D、24位 9、8086存储段是存储器的一个逻辑单位,其长度可达( )字节
A、16K
B、64K C、640K D、1M
10、对于“未对准好”字,8086CPU需要( )个总线周期完成对该字的访问。
A、1 B、2 C、3 D、4 11、8086/8088能寻址内部存储器的最大地址范围为( )。
A、64K
B、512K
C、1M
D、10M
12、除法出错是属于( )中断。
A、线路故障 B、内部 C、INTO D、单步
13、中断传送方式下,当外部需要输入输出数据,向CPU发出中断请求信号,由接口电路使( )信号有效,引起中断响应。 A、HLDA B、INTR C、HOLD D、INTA 14、DMA数据传送,是由( )控制的。
A、硬件控制器
B、程序
C、CPU D、外设
15、CPU与外设交换信息时,是通过( )传送外设控制和外设状态信息的。
1
A、数据总线 B、地址总线 C、控制总线 D、局部总线
16、8086执行OUT DX ,AL 指令时,( )的值输出到地址总线上。
A、AL B、AX C、DL D、DX
17、IOR 有效时要求8086的( )引脚同时输出低电平。
M/IO 和 RD A、IN和OUT B、 C、ALE和 DRD 、地址和数据
18、CPU对单步中断的响应,必须根据( )标志位的状态来决定是否响应。
A、IF B、DF C、TF D、ZF 19、中断向量表中存放的是( )。
A、中断类型码 B、中断服务程序 C、中断向量码 D、中断服务程序入口地址 20、中断控制器8259中没有( )寄存器。
A、中断服务 B、中断屏蔽 C、中断响应 D、中断请求
21、如果向8259写入的ICW2(设置中断类型码)为20H,则IR1引脚所对应的中断类型码为( )。
A、21H B、22H C、23H D、24H 22、由8088CPU组成的PC机的数据线是( )。
A、 8条单向线 B、 16条单向线 C、 8条双向线 D、 16条双向线 23、设有14个按键组成键盘阵列,识别这14个按键至少需要有( )根线。 A、6根 B、7根 C、8根 D、14根
24、8086/8088CPU内部有一个指向下一个指令字节的地址指针寄存器是( )。
A、BIU B、IP
C、CS
D、SP
25、用户可以单元为单位进行读写的存贮器是( )。
A、 RAM B、 ROM C、 软盘 D、 硬盘 26.集成度最高的存贮线路是( )态线路。
A、六管静 B、 六管动 C、 四管动 D、 单管动
27.EPROM2732有4K个地址单元。当从F0000H开始分配地址,它的末地址为( )
A、F03FF B、F07FF C、F0FFF D、F1000 28.响应NMI请求的必要条件是( )。
A、 IF=1 B、 IF=0 C、 一条指令结束 D、 无INTR请求 29.传送数据时,占用CPU时间最长的传送方式是( )。
A、 查询 B、 中断 C、 DMA D、 通道
2
30.DMA数据传送,是由( )控制的。
A、硬件控制器
B、程序
C、CPU D、 8255
31.在DMA方式下,CPU与总线的关系是( C ).
A、只能控制数据总线 B、只能控制地址总线 C、成隔离状态 D、成短接状态 32.中断向量的地址是(C ).
A、子程序入口地址 B、中断服务程序入口地址 C、存放中断服务程序入口地址的地址 D、中断程序的第一行的地址
33.PC机中为使工作于一般全嵌套方式的8259中断控制器能接受下一个中断请求,在中断服务程序结束处应(C)
A、执行IRET指令 B、执行POP指令 C、发送EOI命令 D、发送OCW3命令 34.冯 诺依曼机工作方式的基本特点是(B )
A、多指令流单数据流 B、按地址访问并顺序执行指令 C、堆栈操作 D、存贮器按内容选择地址
35.8086微处理器可寻址访问的最大I/O空间为( B ) A、1KB B、64KB C、640KB D、1MB 36.Pc机数据总线信号的状态是、(C ).
A、单向双态 B、单向三态 C、双向三态 D、双向双态 37.存储器是计算机系统的记忆设备,它主要用来(C)
A、存放数据 B、存放程序 C、存放数据和程序 D、存放微程序 38.I/O与主机信息的交换采用中断方式的特点是( B )
A、CPU与设备串行工作,传送与主程序串行工作 B、Cpu与设备并行工作,传送与主程序串行正作 C、CPU与设备并行工作,传送与主程序并行工作. D、以上都不对 39.在I/O传送方式中,哪种传送可提高系统的工作效率(C ) A、条件传送 B、查询传送 C、中断传送 D、前三项均可 40.(B )是以CPU为核心,加上存储器,I/O接口和系统总线构成的. A、微处理器 B、微型计算机 C、微型计算机系统 D、计算机 41.PC机中确定硬中断服务程序的入口地址是(C)
A、主程序中的调用指令 B、主程序中的转移指令 C、中断控制器发出的类型码 D、中断控制器中的中断服务寄存器(ISR) 42.8086/8088中状态标志有( )个 A、3 B、4 C、5 D、6
43.8086/8088可用于间接寻址的寄存器有( ). A、2 B、4 C、6 D、8
44.在8086/8088中,一个最基本的总线周期由4个时钟周期(T状态)组成,在T1状态,
CPU在总线发出( )信息.
A、数据 B、状态 C、地址 D、其他 45.8086/8088的中断向量表( )
A、用于存放中断类型号 B、用于存放中断服务程序入口地址 C、是中断服务程序的入口 D、是中断服务程序的返回地址 46.计算机的存储器采用分级存储体系的主要目的是()。 A、 便于读写数据 B、减小机箱的体积
C、便于系统升级 D、解决存储容量、价格和存取速度之间的矛盾 47、在机器内部操作中,CPU与存贮器之间信息交换使用的是( )。
A.逻辑地址 B.物理地址 C.有效地址 D.相对地址
3
48、当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是( )。
A.表示结果中含1的个数为偶数 B.表示结果中含1的个数为奇数
C.表示该数为偶数 D.表示结果中低八位含1的个数为偶数 49、假设VAR为变量,指令MOV BX,OFFSET VAR源操作数的寻址方式是( )。
A.直接寻址 B.间接寻址 C.立即数寻址 D.存贮器寻址
50、完成同指令XCHG AX,BX相同功能的指令或指令序列是( )。
A.MOV AX,BX B.MOV BX,AX C.PUSH AX D.MOV CX,AX POP BX MOV AX,BX
MOV BX,CX
51、已知字变量buffer等于1234h,它所在的偏移地址为5678h,执行下列指令后ax=( )。
mov ax,buffer lea ax,buffer
A.1234h B.5678h C.3412h D.7856h
52、测试BL寄存器内容是否与数据4FH相等, 若相等则转NEXT处执行,可实现的方法是( )。
A. TEST BL,4FH B. XOR BL,4FH JZ NEXT JZ NEXT C. AND BL,4FH D. OR BL,4FH JZ NEXT JZ NEXT 53、寄存器BX和DX中存放有32位二进制数,其中BX中放高16位,下列程序段完成对这32位数扩大4倍的功能,那么该程序段中方框里应填的语句是( )。
MOV CX,2 LOP:SHL DX,1 LOOP LOP A. ROL BX,1 B. ROR BX,1 C. RCL BX,1 D. RCR BX,1 54、当一个带符号数大于0FBH时程序转移, 需选用的条件转移指令是( )。
A. JLE B. JNL C. JNLE D. JL 55、使用DOS功能调用时,子程序编号应放在( )寄存器中。
A.AL B.AH C.AX D.任意指定 56、8086CPU在进行I/O读操作时,M/IO和DT/R必须是( )。
A.0 0 B.0 1 C. 1 0 D.1 1 57、8086/8088执行一个总线周期是在( )之后插入TW。
A.T1 B.T2 C.T3 D.T4 58、若用存贮芯片(32K×8)构成8086的存贮器系统要用( )。
A.8片 B.16片 C.32片 D.64片 59、除法出错是属于( )中断。
A.线路故障 B.内部中断 C.INTO D.单步中断 60、8255A工作于方式1输出方式,A口/B口与外设之间的控制状态联络信号是( )。 A.STB与IBF B.IBF与ACK C.OBF与ACK D.OBF与STB 61、8253 是可编程定时、计数器芯片,它内部有( )。
A.三个定时器 B.四个定时器 C.二个计数器 D.四个计数器 62、8086 CPU的NMI引脚上输入的信号是( )
A.可屏蔽中断请求 B.非屏蔽中断请求 C.中断相应 D.总线请求 63、8086 CPU在( )时刻采样READY信号决定是否插入等待周期。
A.T3下降沿 B.T3上升沿 C.T2下降沿 D.T2上升沿
4
64、8288的作用是( )。
A.地址锁存器 B.数据收发器 C.时钟信号源 D.总线控制器 65、采用两片可编程中断控制器级联使用,可以使CPU的可屏蔽中断扩大到( )。 A.15级 B.16级 C.32级 D.64级 66、PCI总线是( )位总线。
A.16 B.16/32 C.32 D.32/64
67、微型计算机是以大规模、超大规模集成电路为主要部件,以集成了控制器和( )的微处理器为核心,所构造出的计算机
A、存贮器 B、寄存器 C、运算器 D、计数器
68、单片机内部除CPU外还集成了计算机的其他一些主要部件,如:ROM、RAM、并行接口、串行接口,有的芯片还集成了( )等
A、存贮器 B、运算器 C、定时器 D、微处理器 69、8088典型的总线周期由( )个T组成。 A、4 B、5 C、6 D、8
70、当8088进行读写存储器或I/O接口时,如果存储器或I/O接口无法满足CPU的读写时序(来不及提供或读取数据时),需要CPU插入( ) A、T3 B、T4 C、Tw D、Ti
71、如果8088的CLK引脚接5MHz的时钟信号,那么每个T状态的持续时间为( ). A、200ns B、300ns C、 200ms D、300ms
72、PC机中确定可屏蔽中断服务程序的入口地址是( ) A、主程序中的调用指令 B、主程序中的转移指令
C、中断控制器发出的类型码 D、中断控制器中的中断服务寄存器(ISR) 73、在PC机上,CPU响应NMI请求时,中断类型号( )。
A、由8259A提供 B、由8255A提供 C、规定为2 D、规定为3 74、存储器是计算机系统的记忆设备,它主要用来( )
A、存放数据 B、存放程序 C、存放数据和程序 D、存放微程序 75、集成度最高的存贮线路是( )态线路。
A、六管静 B、 六管动 C、 四管动 D、 单管动
76、存储器( )信号通常与CPU地址总线的高位地址线相关联,说明该存储器芯片是否被
选中正常工作
A、 CS B、D0 C、OE D、 WE
77、存储器可以采用3种外译码方式,其中采用( )方式可以避免地址重复。
A、全译码 B、部分译码 C、线选译码 D、地址译码 78、除法出错是属于( )中断。
A、线路故障 B、内部 C、INTO D、单步 79、( )在任何一个总线周期的T1状态输出有效电平,以表示当前在地址/数据复用总线
上输出的是地址信号。 A、DEN B、ALE C、RESET D、READY
5
80、DMA数据传送,是由( )控制的。
A、硬件控制器 B、程序 C、CPU D、外设 81、在DMA方式下,CPU与总线的关系是( ).
A、只能控制数据总线 B、只能控制地址总线 C、成隔离状态 D、成短接状态 82.PC机数据总线信号的状态是( ).
A、单向双态 B、单向三态 C、双向三态 D、双向双态 83. 8086系统中,堆栈的操作( )。
A、只能是字节操作 串操作
84.CPU对单步中断的响应,必须根据( )标志位的状态来决定是否响应。
A、 IF B、 OF C、DF D、 TF
85.CPU寻址外设端口有两种访问方式,I/O指令寻址和( )。
A、 存储器映像 B、 中断 C、 DMA D、 通道 86.在I/O传送方式中,哪种传送可提高系统的工作效率( ) A、条件传送 B、查询传送 C、中断传送 D、前三项均可 二、 判断改错题
(判断正误,将正确的划上“√”,错误的划上“×”,并改正错误。) 1、 在PC机上,CPU响应NMI请求时,类型号由8259提供 。 2、 8086系统中,堆栈的操作可以是字节或字操作。 3、 为8088CPU提供系统地址总线需要两个8286。
4、 当8255的PA口方式1,PB口方式0时,其PC口可用作一个4位I/O。 5、 已知某数的原码是00001000,则其反码是11110111。
6、 EPROM2732有4K个地址单元。全译码方式,当从F0000H开始分配地址,它的末地址为
F07FFH。 7、 响应NMI请求的必要条件是IF=1。
8、 CPU寻址外设端口有两种访问方式,I/O指令寻址和存储器映像。
9、 DEN在任何一个总线周期的T1状态输出有效电平,以表示当前在地址/数据复用总线上
输出的是地址信号。 10、 11、 12、 13、 14、
CPU对单步中断的响应,必须根据DF标志位的状态来决定是否响应。
8086有一个16位的标志寄存器,它包含6个状态标志位和3个控制标志位。 一个总线周期由1个或若干个指令周期组成。 中断向量的地址是存放中断服务程序入口地址的地址。
B、只能是字操作
C、可以是字节或字操作 D、只能是
6
15、 中断传送方式下,当外部需要输入输出数据,向CPU发出中断请求信号,由接口电
路使HLDA信号有效,引起中断响应。 16、 17、
一条指令结束是响应NMI请求的必要条件。 中断控制器8259A可管理软硬中断。
18、CPU与外设交换信息时是通过控制总线传送外设控制和外设状态信息的。 三、填空题
1. 8088微处理器可寻址访问的最大I/O空间为 ① 。
2. I/O传送数据时,占用CPU时间最长的传送方式是 ② 传送方式。 3. 8086/8088CPU内部有一个始终指向堆栈顶部的地址指针是 ③ 。 4. EPROM2732有4K个地址单元。当从F0000H开始分配地址,它的末地址为 ④ 5. 三态引脚除正常的高、低电平外,还能输出 ⑤ . 状态。
6. 8088读取指令长度为3B的指令“MOV AX ,[2000H]”需要 ⑥ 个总线周期,执行时
需要 ⑦ 个总线周期。 7. 组成16KB存储空间,用SRAM 2114(1K×4)需要 ⑧ 个芯片。
8. 在一个针对存储器的译码系统中,如果有6个地址线未参与译码,那么每个存储单元会
同时拥有 ⑨ 个地址
9. 指令“MOV AX ,[BX+SI+2000H]”源操作数是 ⑩ 寻址方式。
10、用寄存器BX和DI的基址变址寻址方式把存贮器中的一个字节与AL寄存器的内容相加,结果送入AL寄存器中。该指令是 。
11、已知 指令 MOV AX,0 ,SUB AX,AX ,CMP AX,AX ,OR AX,AX。 能使AX和CF同时为零的指令是 。
12、若一个数据块在内存中的起始地址为80A0H:DFF0H,则这个数据块的起始物理地址为 。
13、8086系统可寻址I/O端口的最大地址为 。 14、8086响应INTR请求需要执行 总线响应周期。 15、保护断点就是保存 。
四、分析题
1.MOV AX,0BC5FH MOV BX,0C0FBH AND AX,BX AND AX,BX
上述程序段运行后,AX= ,BX= ,CF=_____
2. A DB 0F8H
B DB 3 DUP(?) ┇
LEA DI,B
7
MOV CX,3 MOV AL,A LOP:SAR AL,1 MOV [DI],AL INC DI LOOP LOP
上述程序段运行后,从B单元开始依次存放的数据是多少?
3. 已知BUF开始的数据区中存放有10个大、小写字母,下面程序段完成的功能是什么? MOV CX,10 LEA BX,BUF K2: MOV AL,[BX] CMP AL,'Z' JBE K1
SUB AL,20H MOV [BX],AL K1: INC BX LOOP K2 ┇
4、 MOV AX, 0ABCDH MOV BX, 0CDEFH PUSH AX PUSH BX POP AX POP BX
上述程序段执行后(AX)=____,(BX)=_____ 5、已知数据段: DATA SEGMENT
STR1 DB 12H,-64
STR2 DB 2 DUP(‘B’,9)
COUNT EQU $-STR2
STR3 DB COUNT
STR4 DW STR3 DATA ENDS
画出该数据段的存储形式。 6、说出该子程序实现什么功能。 aadp proc push bx shl ah,1 mov bl,ah shl ah,1
8
shl ah,1 add bl,ah add al,bl mov ah,0 pop bx ret aadp endp
7、编写一个程序段,在DX低3位全为1时,使AX=-1;否则使AX=1。 8、给下面程序段加上合适的指令,该程序段使一个50个字节元素的数组,其首地址为array,每个元素减2(不考虑溢出或借位)存于原处。 ① . mov si,0
again: sub array[si],2 ② .
loop again
五、指出下列标志位的含义
(1) CF (2) OF (3) AF (4) ZF (5) DF 六、
(1)若STR是字符串的首地址,指出下列程序的功能,并将语句加上注解。 LEA BX , STR MOV CX , 20
LP : CMP [BX] , ‘&’ JNZ NEXT
MOV [BX] , ‘$’ NEXT : INC BX LOOP LP HLT
(2)指出下列程序的功能 DATA SEGMENT
STRIN DB ‘??*’ COUNT DW ? DATA ENDS
STACK SEGMENT PARA STACK ‘STACK’ DB 100 DUP(?)
STACK ENDS CODE SEGMENT
ASSUME CS : CODE , DS : DATA , SS : STACK START : MOV AX , DATA
MOV DS , AX MOV BX , OFFSET STRIN
9
MOV AX , 0
MOV CX , AX LP : MOV AL , [BX] CMP AL , ‘*’
JE DONE INC CX INC BX
JMP LP
DONE : MOV COUNT , CX MOV AH , 4CH INT 21H CODE ENDS
END START
七、 已知电路图如图1所示:
R*8 D0。。。。。。。。D7
8255 B0 B1 B2 B3 B4 B5 B6 B7PA0210H –217H CSPA1PA2IOR RDPA3PA4 IOWWRPA5PA6 PA7D7 。+5V 至DBR*8PC7 D0PC6PC5
PC4A1A1PC3
PC2 A0A0PC1PC0 。。。。。。。。S0S7 。。。。。。。。 图1
有关程序段如下:
10
。+5V
MAIN PROC FAR PUSH DS
XOR AX , AX PUSH AX
MOVE AL , 8BH MOV DX ,213H OUT DX , AL KEYIN :MOV DX ,212H IN AL ,DX CMP AL ,0FFH JE KEYIN CMP AL ,0FCH JE EXIT MOV DX ,210H OUT DX ,AL JMP KEYIN EXIT : RET MAIN ENDP 回答问题:
1)根据电路的接法,8255的PC口应设为输入方式还是输出方式?
2)根据电路的接法,8255的PC口地址是什么?
3)结合程序,说明本电路完成什么功能?
4)如果按键接在PB口上,为完成相同功能,应如何修改程序?
5)如果想按下S7键退出程序,则应如何修改程序?
6)如果想按下按键Si后使相应的发光二极管Di发光,而其余发光二极管熄灭,则应如何修改程序? 八、8255A的工作方式控制字和C口的按位置位/复位控制字有何差别?若将C口的PC2引脚输出高电平(置位),假设8255A控制口地址是303H,程序段应是怎样的? 提示:8255A编程摘要 工作方式控制字: 1、控制命令字
A组B组
1D6D5D4D3D2D1D0 C口低4位,1:输入,0:输出
B口,1:输入,0:输出
方式选择:0:方式0,1:方式1
C口高4位,1:输入,0:输出
A口,1:输入,0:输出
11 方式选择:00:方式0,01:方式1,1×:方式2
2、位设置控制字
0D6D5
无关
D4D3D2D1D01:置位,0:复位位01234567D300001111D200110011D101010101
12
九、 假设系统扩展一片8255A供用户使用,其A、B、C和控制口地址依次为9000H、9001H、9002H、9003H,请设计一个用8255A 与打印机接口的电路连接图(只须画出打印机与8255A的连接部分)并给出8255A初始化程序段和输出打印程序段及相应注释。 8255A方式控制字格式: 1 D6 D5 D4 D3 D2 D1 D0
C口下半部 1 输入 特征位 0 输出
B口选择 1 输入0 0 方式0 A组方式
0 输出 0 1 方式1 B组方式 0 方式0 1 ×方式2
1 方式1 C口上半部 1 输入 1 输入 A口选择
0 输出 0 输出
8255的通道C置复位控制字定义如下: 0 X X X D3 D2 D1 D0 D7=0—C通道置复位标志位,D6D5D4—无效,D3D2D1—通道C的位选择,D0=1/0—C口置/复位控制。
方式1输出,端口C状态字:
D7 D6 D5 D4 D3 D2 D1 OBFA INTEA I/O I/O INTRA INTEB OBFB
打印机接口的信号与时序:
DATA0~7
STROBE BUSY ACK
D0 INTRB
13
简答题
1.已知X=-27,其原码[X]原=?,补码[X]补=?
解:X=-27=( -11011 )2 [X]原=10011011 [X]反=11100100 [X]补=11100101 2.若01100001是BCD码,则该数是多少? 解:该数是 61。
3. 8086堆栈操作以什么为单位?数据进栈,栈顶地址是变小还是变大?
解:8086堆栈操作字为单位作一次堆栈操作,SP值要减2,所以数据进栈,栈顶地址是变小了。
4.要组成一个256K字节的RAM,若选用64K×4位的芯片,需要多少片? 解:需要8片。
5.CPU发送到地址线上的是什么地址? 答:物理地址。
6. 8086取指令的物理地址是由什么值作为段基值,和什么提供的偏移量加形成的? 答:CS的值作为段基值,IP提供的偏移量
7.8086CPU在加电复位后第一条指令的地址是?
答:8086CPU在加电复位后第一条指令的地址是FFFF0H
8.8086CPU在进行外设输入操作时,控制信号M/IO和DT/R的电平是? 答:M/IO和DT/R的电平都是低电平0
9. 8086 CPU引脚信号ALE=1时作什么操作?
答:将地址/数据复用线(AD15~AD0)中的地址信息锁存于地址锁存器。
10.8086CPU系统最大工作方式时,为了实现地址锁存,至少需配置地址锁存器芯片8282的片数是多少? 答:3片
11.若用8286作总线数据收发器,其控制信号OE和T应分别与什么信号相连? 答:OE和T应分别与 DEN和DT/R信号相连
12.8086最大或最小方式由哪条信号线? 答: MN/MX
13.当8086CPU采样到READY=0,则CPU将做什么? 答:自动插入TW周期。
14.8086CPU的主频为5MHz,读内存一次要多长时间?若内存芯片的存取时间为300ns,是否需要加入等待周期Tw?
答:读内存一次时间:4x200ns=800ns,若内存芯片的存取时间为300ns,不需要加入等待周期Tw
14
15.8086CPU响应可屏蔽中断INTR的三个必要条件是什么?
答:①INRT为高电平②CPU的IF为“1”③当前指令执行结束 16.中断服务程序(ISR)的入口地址是? 答:是ISR的第一条指令在存储器中的位置。 17. 8086系统的中断向量表用于存放什么? 答:中断服务程序的入口地址。
18.某RAM芯片容量为4K×8,它的地址和数据线的条数分别为多少条? 答:数据线为8条,地址线为12条。
15
16 什么是微机的系统总线?微机的总线结构为它带来了哪些好处?除电源和地线外,一般将总线分为哪3组信号?总线的使用特点是什么?
答:(1)系统总线:传递信息的一组公用导线,从处理器子系统引出的若干信号线,CPU通过它们与存储器和I/O设备进行信息交换 。
(2)好处:扩展方便、组态灵活。
(3)三组信号线:数据总线、地址总线和控制总线 。
(4)使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个
发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。 17 所谓ROM-BIOS指导是什么?它的主要功能是什么? 答:(1)BIOS:基本输入输出系统。
(2) 主要功能:除提供系统自举动功能外,它还包含一批进行设备驱动和管理的子
程序,为键盘、显示器、打印机、磁盘、时钟、串行通信接口等基本的输入输出设备提供底层软件服务。
18 按照下列要求,编写相应的程序段:
(1)由string指示的起始地址的主存单元中存放一个字符串(长度大于6),把该字符串中的第1个和第6 个字符(字节量)传送给DX寄存器。 解:
Lea si ,string Mov dh,[si] Mov dl,[si+5] mov dl,string[1] mov dh,string[6]
(2)有两个32位数值,按“小端方式”存放在两个缓冲区buffer1和buffer2中,编写程序段完成DX.AX<-buffer1-buffer2功能。 解:
Mov ax , word ptr [buffer1] Sub ax , word ptr [buffer2] Mov dx , word ptr [buffer1+2]
16
Sbb dx , word ptr [buffer2+2] mov ax, word ptr buffer1 sub ax, word ptr buffer2 ;先减低16位 mov dx, word ptr buffer1+2 sbb dx, word ptr buffer2+2 ;后减高16位,需减低16位的借位
(3)编写一个程序段,在DX高4位全为0时,使AX=0;否则,使AX=-1。 解:
Test dx,0f000h Jz even Even:mov ax,0 test dx,0f000h jz next mov ax,-1 jmp done next: mov ax,0 done: …
(4)把DX.AX中的双字右移4位。 解: mov cx,4 again: shr dx,1 ;右移一位,移出的低位进入CF标志 rcr ax,1 ;将CF移进AX高位,同时实现AX右移 loop again ;循环4次,实现4位右移
(5)有一个100个字节元素的数组,其首地址为array,将每个元素减1(不考虑溢出或借位)存于原处。
解:
Mov cx,100 Mov si,0
Again: mov al,0ffh Add al,array[si ] Mov array[si],al Inc si
Loop again
17
mov cx,100 mov bx,0 again: sub array[bx],1 inc bx loop again
19 AAD指令是用于除法指令之前,进行非压缩BCD码调整的。实际上,处理器的调整过
程是:AL<-AH*10+AL,AH<-0。如果指令系统没有AAD指令,请用一个子程序完成这个调整工作。 解:
Htoasc proc
Mov bl,al Mov al,ah Mov bh,10 Mul bh
And ax,00ffh Add al,bl Htoend : ret Htoasc endp aadp proc push bx shl ah,1 mov bl,ah shl ah,1 shl ah,1 add bl,ah add al,bl mov ah,0 pop bx ret aadp endp
20. DAA指令的调整操作是:
(1)如果AL的低4位是A~F,或者AF标志为1,则AL<-AL+6,且使AF=1; (2)如果AL的高4位是A~F,或者CF标志为1,则AL<-AL+60H,且使CF=1; 阅读如下子程序,说明它为什么能够实现AL低4位表示的一位16进制数转换成对应的ASCII码。并且将该程序加上在屏幕显示的功能,编写成通用的子程序。 Htoasc proc
And al,0fh Add al,90h
18
Daa
Adc al,40h Daa Ret
Htoasc endp 解:
Htoasc proc
And al,0fh Add al,90h Daa
Adc al,40h Daa
Mov ah,02h Mov dl,al Ret
Htoasc endp
htoasc
htoasc
proc push dx and al,0fh aad al,90h daa
adc al,40h daa
mov dl,al mov ah,2 int 21h pop dx ret endp
;显示个位数
2.24 乘法的非压缩BCD码调整指令AAM执行的操作是:AH<-AL/10的商,AL<-AL/10
的余数。利用AAM可以实现将AL中的100以内的数据转换为ASCII码,程序如下: Xor ah,ah Aam
Add ax,3030h
利用这段程序,编写一个显示AL中数值(0~99)的子程序。 解:
Numout proc
Xor ah,ah Aam
19
Add ax,3030h Mov dl,ah Int 21h Mov dl,al Mov ah,02h Int 31h Ret Numout endp dispasc
proc push dx xor ah,ah aam
add ax,3030h push ax mov dl,ah mov ah,2 int 21h pop ax mov dl,al mov ah,2 int 21h
;显示十位数
;显示个位数
pop dx ret dispasc endp
2.25 编写一个程序段:先提示输入数字“Input Number:0~9”,然后在下一行显示输入的
数字,结束;如果不是键入了0~9数字,就提示错误“Error!”,继续等待输入数字。 解:
Msgkey db “input number 0~9”,”$” Msgwrg db “error”,”$” Mov ah,09h
Mov dx,offset msgkey Int 21h Again: mov ah,01h Int 21h Cmp al,30h Jb disp Cmp al,39h Ja disp Mov dl,al Mov ah,02h Mov ah,02h Int 21h
20
Jmp done
Disp: mov dx,offset msgwrg Mov ah,09h Int 21h Jmp again Done: mov ah,02h Mov dl,al Int 21h
inmsg ermsg again: erdisp: done:
;数据段
db ?Input Number:0 ~ 9?,0dh,0ah,?$? db ?Error!?,?$? ;代码段
mov dx,offset inmsg mov ah,9 int 21h ;显示输入数字0~9 mov ah,1 int 21h cmp al,?0? jb erdisp cmp al,?9? ja erdisp mov dl,al mov ah,2 int 21h jmp done
;接受一个字符
;判断是否输入的是数字0~9
;显示输入的数字 ;结束
mov dx,offset ermsg mov ah,9 int 21h ;显示输入错误 jmp again ;继续输入 …
3.6 给出采用一个源程序格式书写的例题3.1源程序 答:
.model small .stack .data
String db ‘Hello ,Assembly !’,0dh,0ah ,’$’
.code
Start: mov ax,@data Mov ds.ax
Mov dx,offset string
21
Mov ah,9 Int 21h
Mov ax.4c00h End start
22
3.10 画图说下列语句分配的存储空间及初始化的数据值: (1) byte_var db‘ABC’,10,10h,?EF?,3 dup(-1,?3 dup(4)) (2) word_var dw 10h,-5,3 dup(2)
04H 高地址
04H
04H
03H
FFH
04H
04H
04H 03H FFH 04H 04H 04H 03H FFH 46H 45H 10H 0AH 43H
42H 低地址 41H (2)word_var dw 10H,-5,3 dup(?)
- - - - - - FF FBH 00H 0AH
高地址 低地址
3.12希望控制变量或程序的偏移地址,应该使用哪个伪指令? 答:应该用指令OFFSET 3.13名字和标号有什么属性?
23
答:有两个属性:
(1) 逻辑地址,包括段地址和段内偏移 (2) 类型,分为字节型,字类型,双字类型等
24
3.18 编制一个程序,把变量bufX和bufY中较大者存入bufZ;若两者相等,则把其中之一存入bufZ中。假设变量存放的是8位有符号数。 解:
Mov ax,bufX Cmp ax,bufY Jae done Mov ax,bufZ Done:Mov bufZ,ax
.model small .stack .data
bufX db 1234 bufY db 5678 bufZ db ? .code
start: mov ax,@data mov ds,ax
sub byte ptr bufX, bufY jnl next
next: mov byte ptr bufX, bufZ mov ax,4c00h int 21h end start
3.22 编制程序完成12H,45H,F3H,6AH,20H,FEH,90H,C8H,57H,34H共10个无符号字节数据之和,并将结果存入字节变量SUM中(不考虑进位)。 解: .model small .stack .data b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据 num equ 10 ;数据个数 sum db ? ;预留结果单元 .code .startup xor si, si ;位移量清零 xor al, al ;取第一个数 mov cx, num ;累加次数 again: add al, b_data[si] ;累加 inc si ;指向下一个数 loop again ;如未完,继续累加 mov sum, al ;完了,存结果 .exit 0 end
25
3.26过程定义的一般是怎样的?子程序开始为什么常有PUSH指令,返回前为什么要用POP指令?下面完成16位为符号数累加的子程序有什么不妥吗?若有请改正: Crazy PROC
Push ax Xor ax,ax Xor dx,dx Again: add ax,[bx] Adc dx,0 Inc bx Inc bx Loop again Ret
ENDP crazy 答:
一般格式为: 过程名 proc
程序代码 Ret 过程名 endp
子程序前使用push,结束前使用pop是因为子程序会改变程序寄存器等的值,数以要在执行子程序前用push保存各种数值,结束前再用POP恢复他们的值 有错,改正为: crazy proc push ax push bx push dx xor ax,ax xor dx,dx again: add ax,[bx] adc dx,0 inc bx inc bx loop again pop dx pop bx pop ax ret crazy endp
26
3.28 请按如下说明编写子程序:
;子程序功能:把用ASCII码表示的两位十进制数转换为对应二进制数 ;入口参数:DH=十位数的ASCII码,DL=个位数的ASCII码 ;出口参数:AL=对应的二进制数 答:
asctob
asctob
proc push cx and dh,0fh shl dh,1 mov ch,dh shl dh,1 shl dh,1 add dh,ch and dl,0fh add dh,dl mov al,dh pop cx ret endp
;先转换十位数
;十位数乘以10(采用移位指令)
;转换个位数 ;十位数加个位数 ;设置出口参数
3.34 编写一个计算字节校验和的子程序,所谓“校验和“是指不记进位的累加,常用语检查信息的正确性。主程序提供入口采纳数,有数据个数和数据缓冲区的首地址。子程序回送求和结果这个出口参数。传递参数方法自定。 解: ;数据段 array db 12h,25h,0f0h,0a3h,3,68h,71h,0cah,0ffh,90h ;数组 count equ $-array ;数组元素个数 result db ? ;校验和 ;代码段 mov bx,offset array ;BX←数组的偏移地址 mov cx,count ;CX←数组的元素个数 call checksum ;调用求和过程 mov result,al ;处理出口参数 mov ax,4c00h int 21h ;计算字节校验和的通用过程 ;入口参数:DS:BX=数组的段地址:偏移地址,CX=元素个数 ;出口参数:AL=校验和 ;说明:除AX/BX/CX外,不影响其他寄存器 checksum proc xor al,al ;累加器清0 sum: add al,[bx] ;求和 inc bx ;指向下一个字节 loop sum ret checksum endp end
27
第四章 P117
4.1 8088一共有 20 根地址线。在访问内存时它所使用的地址线是 A0~A19 ,可直接寻址 1M 的内存空间;在访问外设时它所使用地址线是 A0~A15 ,共能寻址 64K 个输入输出端口。实际上,PC/XT在寻址外设时,只使用地址线 A0~A9 ;若A9=1;说明它要寻址的I/O端口位于 扩展板 。
4.2 总线操作指的是 发生在总线上的某些特定的操作 ,总线周期指的是 完成一次特定的总线操作所需的时间 ,对8088引脚信号来说,其典型的总线周期由 4 个T状态组成。PC/XT所采用的时钟频率为 4.77MHz ,每个T状态的持续时间为 210ns 。如果8088的CLK引脚接5MHz的时钟信号,那么每个T状态的持续时间为 200ns 。
4.4 在8088的工作过程中,什么情况下会产生Tw?具体发生在什么时刻? 解:
如果总线操作周期中,8088在T3时钟的前沿对READY信号进行测试,如果无效则CPU将在T3和T4之间插入等待周期Tw
4.6 何为引脚信号的三态能力?具有三态能力的引脚输出高阻究竟意味着什么?在最小组态下,8088的哪些引脚是分时复用的? 解:
三态能力:三态能力主要针对输出信号,指引脚可以输入3种状态:高电平、低电平和高阻。
具有三态能力的引脚输出高阻状态时,表示芯片实际上已放弃了对该引脚的控制,使之“悬空”,这样它所连接的设备就可以接管对该引脚及所连导线的控制。
8088的AD7~AD0 地址/数据分时复用引脚、双向,三态
A19/S6~A16/S3 地址/状态分时复用引脚,输出,三态。
4.7 以下8088的输入信号:RESET、HOLD(最小组态)、NMI和INIR,其含义各是什么?当它们有效时,8088CPU将出现何种反应? 解:
RESET:复位请求,输入,高电平有效。有效时令CPU回到其初始状态。
HOLD:总线请求,输入,高电平有效。有效时,表示其他总线主控设备向CPU申请占有总线。
NMI:不可屏蔽中断请求,输入,上跳沿有效。有效时,表示外界向CPU申请不可屏蔽中断。
INIR:可屏蔽中断请求,输入,高电平有效,有效时,表示中断请求设备向CPU申请可屏蔽中断。
4.13 在8088系统(最小组态)中,读取指令“ADD [2000H],AX”(指令长度为3B)和执
行该指令各需要几个总线周期?它们各是什么样的总线周期? 解:
读取指令队列需要3个“存储器读”总线周期 执行指令只需要1个“存储器写”总线周期
28
29
微机原理习题参考答案
一、 选择填空题
1、A 2、A 3、B 4、D 5、C 6、B 7、A 8、C 9、B 10、B 11、C 12、B 13、B 14、A 15、A 16、D 17、B 18、C 19、D 20、C 21、A 22、C 23、C 24、B 25、A 26、D 27、C 28、C 29、A 30、A 31C 32C
33、C 34、B 35、B 36、C 37、C 38、B 39、C 40、B 41、C 42、D 43、B 44、C 45、B 46、D 47、B 48、D 49、C 50、D 51、 B 52、B 53、C 54、 C 55、B 56、A 57、C 58、C 59、B 60、C 61、A 62、C 63、A 64、D 65、A 66、D 67、C 68、C 69、A 70、C 71、A 72、C 73、C 74、C 75、D 76、A 77、A 78、B 79、B 80、A 81、C 82、C 83、B 84、D 85、A 86、C
二、 判断改错题
1、× 类型号由8259提供==》类型号为2 2、× 可以是字节或字操作==》只能是字操作 3、× 需要两个8286==》三个 8282 4、√
5、× X的反码是11110111==》X的反码是00001000
6、× F07FFH ==》F0FFFH
7、× IF=1 ==》一条指令结束(或 NMI ==> INTR) 8、√
9、× DEN ==》 ALE 10、× DF ==》TF
11、×,8253的方式控制中,有一项计数锁存操作,计数锁存是为了方便读取计数值,并不影响对计数器的计数工作。 12、√
13、×,一个指令周期由1个或若干个总线周期组成。 14、√
15、× HLDA ==》 INTR 16、√
17、× 软硬中断==》可屏蔽中断 18、× 控制总线==》数据总线
三、填空题
1.64K 2. 查询 3. SP 4. F0FFFH 5. 高阻 6. 3 7. 2 8. 32 9. 64 10. 相对基址变址 11、add al,[bx+di] 12、sub ax,ax
30
13、8E9F0H 14、0FFFF H 15、2个
16、当前CS 、IP的值
四、分析题
1、AX=805BH,BX=0C0FBH,CF=0
2、依次存放FCH、FEH、FFH 3、小写字母转换成大写字母 4、AX=CDEFH,BX=ABCDH 5、
6、该子程序实现AL←AH×10+AL,AH←0。
7、 and dx,7 Sub dx,7 jz next mov ax,1 jmp done
next: mov ax,-1 done: ?
8、 ① mov cx,50 ② inc si 五、
(1) 进位标志。若运算结果的最高位产生一个进位或借位,则CF=1,否则CF=0。 (2) 溢出标志。若在算术运算中带符号数的运算结果,当字节运算时大于+127或小于
31
-128;字运算时大于+32767或小于-32768,则OF=1,否则OF=0。
(3) 辅助进位标志。若在字节操作时,由低半字节向高半字节有进位或借位;或在字操作时,由低位字节向高位字节有进位或借位,则AF=1,否则AF=0。 (4) 零标志。若运算结果为0,则ZF=1,否则ZF=0。
(5) 方向标志。若用指令置DF=1,则串操作指令就为自动减量指令,也就是从高地址向低地址处理串;若DF=0,则串操作指令就为自动增量指令,也就是从低地址向高地址处理串。
六、
(1) 程序功能:将字符串STR(长度20字节)中所有’&’用’$’代替。 LEA BX , STR ;置地址指针
MOV CX , 20 ;置计数器初值 LP : CMP [BX] , ‘&’ ;取字符与’&’比较 JNZ NEXT ;不是’&’转NEXT
MOV [BX] , ‘$’ ;是’&’则用’$’替换 NEXT : INC BX ;地址加1
LOOP LP ;CX-1不为0继续 HLT (2)从STRIN单元开始有一字符串,程序求以’*’作为结束标志字符串的长度,存入COUNT
单元。 七、
1)PC口应设为输入方式。
2)8255的PC口地址为212H和216H。
3)检查按键,若同时按下S1和S0键,则退出程序,否则将读入开关状态所对应的数
字量从PA口送出显示。
4)将程序第8行改为:
KEYIN : MOV DX , 211H 5)将程序第12行改为: CMP AL , 7FH
6)在程序的第14、15行之间加一条 NOT AL 指令。 八、
工作方式控制字是对8255A的三个端口的工作方式及功能进行说明,即进行初始化,写在程序的开头,控制字的最高位D7=1。按位置位/复位控制字只对C口某一位(不能同时对几位)输出高电平(置位)或低电平(复位)进行控制(对输入无作用),控制字的最高位D7=0。 PC2置位程序段:
MOV DX , 303H MOV AL , 05H OUT DX , AL
32
九 的
解答:8255A 与打印机接口的电路连接图 ;用8255A方式0与打印机接口 ;8255A的初始化
8255A
mov dx,9003h ;控制端口地址:9003H mov al,10000001B ;方式控制字:91H out dx,al ;A端口方式0输出,C端口上输出、
PA0~PA7 下输入
mov al,00001111B;端口C的复位置位控制字,
PC7 使PC7=1
out dx,al PC2
;打印子程序:查询 printc proc push ax push dx
prn: mov dx,9002h ;读取端口C
in al,dx ;查询打印机状态 and al,04h ;PC2=BUSY=0?
jnz prn ;PC2=1,打印机忙,则循环等待
mov dx,9000h ;PC2=0,打印机不忙,则输出数据 mov al,ah
out dx,al ;将打印数据从端口A输出 mov dx,9003h ;从PC7送出控制低脉冲 mov al,00001110B ;置STROBE*=0 out dx,al
nop ;产生一定宽度的低电平 nop
mov al,00001111B ;置=1
out dx,al ;最终,STROBE*产生低脉冲信号 pop dx pop ax ret printc endp
打印机
DATA0~7 STROBE BUSY 33
正在阅读:
微机接口原理期末复习习题201304-06
机械设计练习题 (2)06-01
计算机教室学生上机记录09-03
危险化学品名录(2002版)01-26
【三维设计】2022届高三英语(人教版新课标)一轮复习话题晨背日积04-05
辩论赛-愚公应该搬家09-13
2015-2020年中国垃圾焚烧发电产业发展现状及市场监测报告08-15
第一次包饺子作文700字07-08
白杨小区监理细则06-06
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 微机
- 习题
- 期末
- 复习
- 接口
- 原理
- 2013
- 网络基础习题答案第2章习题答案
- 寄宿制学校后勤工作
- 土地招拍挂详细流程
- 我国养老金缺口成因及其对策
- 幼儿园检查整改报告
- 广州数控gsk980td车床数控系统详细对刀方法 - 图文
- 第五章 酸碱滴定法
- 常用汉字偏旁部首使用频率2
- 系统解剖学练习题导解
- 三年级语文阅读,写人类文章的阅读指导与训练
- 船员岗位职责
- 关于厂区的绿化卫生责任区划分及检查考核标准
- 自学一月通德语经验谈
- 浅谈在小学数学教学中渗透德育的几点做法-杨家天
- 人教版初三下册美术全册教案(全课时36页)
- 万科分析报告
- 浙江省普通高中2014-2015学年高二上学期期中模拟测试英语试题(
- 第七届非线性偏微分方程暑假讲习班和学术研讨会
- 新人教版七年级英语下册unit8重点与练习精品
- 装修污染各种治理方法分析比较装修完如何去除异味