16171汇编语言与接口技术练习题1.docx
《16171汇编语言与接口技术练习题1.docx》由会员分享,可在线阅读,更多相关《16171汇编语言与接口技术练习题1.docx(18页珍藏版)》请在冰豆网上搜索。
16171汇编语言与接口技术练习题1
《汇编语言与接口技术》练习题
一、填空题
1.8086/8088微处理器由BIU和EU两个关键部件组成。
BIU的主要功能有取指令、传送数据和形成__物理地址_;EU的主要功能有指令译码、执行指令、向BIU传送__偏移地址__、管理通用寄存器和标志寄存器。
2.在保护方式下,80386段寄存器中的值为__段选择子__,其中高13位索引用于选择描述符表(GDT或LDT)中的__段描述符__。
3.I/O端口的编址方式通常有2种:
__独立编址__和__统一编址__。
4.在保护模式下,存放256个中断描述符的内存区域称为中断描述符表(IDT)。
在实地址模式下,中断描述符表就是__中断向量表__。
5.CPU与I/O设备之间的接口信息有三种:
__数据信息_、_状态信息__和__控制信息_。
6.在查询式输入操作中,须查询输入设备是否__准备就绪(Ready)__;在查询式输出操作中,须查询输出设备是否忙(Busy)。
7.定时器/计数器8253/8254采用BCD码计数时,其最大的计数值是__10000__,对应的计数初值为__0_。
8.并行通信接口8255A有3种工作方式,其中_方式2_只允许A口使用。
9.可编程中断控制器8259A中断请求优先级的设置有四种方式:
全嵌套方式、__特殊全嵌套方式__、优先级自动循环方式和优先级特殊循环方式。
特殊全嵌套方式与全嵌套方式的不同之处在于特殊全嵌套方式除了允许高一级中断进入嵌套,还允许_同一级别(同级)__的中断进入嵌套。
10.8259A的操作命令字OCW1用于向__中断屏蔽寄存器(IMR)_写入屏蔽信息。
11.一片DMA控制器8237A有4个通道,若采用3片8237A级联,共可提供__10__个通道。
12.DMA控制器8237A有4种工作模式:
单字节传输方式、__块传输方式__、请求传输方式和_级联方式__。
二、判断题
1.一个字存入存储器占有两个相邻的字节单元,低位字节存入高地址单元,高位字节存入低地址单元。
()
2.寄存器AX、CX和DX不能用作地址寄存器。
()
3.MOVAX,1000H指令中的目的操作数是立即寻址。
()
4.MOVAX,ES:
[BX+SI]中目的操作数是带段跨越前缀的基址变址寻址。
()
5.INDX,AL指令是从DX指定的端口地址读入一个字节到AL寄存器中。
()
6.PUSHAL指令能将AL寄存器的内容压入堆栈。
()
7.ADDAX,BX与ADCAX,BX指令得到的结果总是不同的。
()
8.MOVSES:
BYTEPTR[DI],DS:
[SI]完全等价于MOVSB。
()
9.中断向量表就是各中断类型的处理程序的地址表。
()
10.除法错误中断是外中断。
()
11.8086/8088的指令中允许源操作数和目的操作数同时为存储器操作数。
()
12.CMP指令与SUB指令的差别在于:
前者只影响标志位。
()
13.伪操作语句ASSUMEDS:
DATA是给DS寄存器赋值。
()
14.汇编语言源程序经汇编后,每条CPU指令和伪操作语句均产生一一对应的目标代码。
()
15.若带符号数溢出,则OF=1;若无符号数溢出,则CF=1。
()
16.PUSH和POP指令只能作字操作。
()
17.逻辑左移指令SHL和算术左移指令SAL是两条不同的指令。
()
18.汇编语言语句中的操作数可以是常数、寄存器、标号和变量,但不能是表达式。
()
19.8086/8088指令系统中,每执行一条软中断指令INTn,就调用一个相应的中断服务程序。
()
20.当标志位IF为0时,所有硬件中断都不可能实现。
()
21.通常中断服务程序开始时使用STI指令的目的是开放所有被屏蔽的中断。
()
22.8086系统把1MB存储空间分成两个512KB的存储体,一个全为偶地址,另一个全为奇地址,偶地址单元接数据总线的低8位,奇地址单元接数据总线的高8位。
()
23.一个基本总线周期包括四个状态:
T1、T2、T3和T4。
若存储器或I/O设备较慢,则可在T2与T3之间插入一个或多个等待周期TW。
()
24.在保护方式下,80386的六个段寄存器CS、DS、ES、SS、FS和GS中的内容不是段地址,而是段选择子。
()
25.80x86系列微机I/O端口采用I/O映射编址即独立编址,故不需要专门的I/O指令IN和OUT。
()
26.存储周期指的是存储器的读出周期。
()
27.在保护方式下,中断描述符表IDT可位于内存的任何位置。
()
28.8086/8088的中断系统中有两类软件中断:
可屏蔽中断和不可屏蔽中断。
()
29.若8259A工作在非自动中断结束方式下,结束中断必须在中断服务程序结束时发一条结束中断的命令EOI,使相应的ISR位复位。
()
30.在IBMPC系列机中,并行通信接口8255A的A口用来接收来自键盘的扫描码。
()
三、单选题
1.用户为了解决自己的问题,用汇编语言所编写的程序,称为()。
A.目标程序B.源程序C.汇编程序D.可执行程序
2.8086/8088的存储器组织是将存储器划分为段,下列可作为段起始地址的是()。
A.185A2HB.00020HC.21004HD.0AB568H
3.堆栈中当前出栈的存储单元地址是()。
A.SS*10H+SPB.SS*10H+BPC.SS*10+SPD.SS*10+BP
4.设DS=8225H,DI=3942H,指令NEGBYTEPTR[DI]中操作数的物理地址是()。
A.85B92HB.86192HC.BB690HD.12169H
5.循环指令LOOPNZ终止循环的条件是()。
A.CX=0且ZF=0B.CX=0或ZF=1C.CX0且ZF=0D.CX0或ZF=1
6.将寄存器AX的内容乘以4的正确指令序列是()。
A.SHRAX,1B.SHLAX,1C.ROLAX,1D.RCRAX,1
SHRAX,1SHLAX,1ROLAX,1RCRAX,1
7.下列传送指令中有语法错误的是()。
A.MOVCS,AXB.MOVDS,AXC.MOVSS,AXD.MOVES,AX
8.下列指令中能实现BX+SI→AX是()。
A.XCHGAX,[BX][SI]B.MOVAX,[BX+SI]
C.LEAAX,BX[SI]D.LEAAX,[BX][SI]
9.下列指令中不能完成将累加器AX清零的是()。
A.SUBAX,AXB.XORAX,AXC.ORAX,0D.ANDAX,0
10.设SP初值为2000H,执行指令“PUSHAX”后,SP的值是()。
A.1FFFHB.1998HC.2002HD.1FFEH
11.条件转移指令JB产生程序转移的条件是()。
A.CF=1B.CF=0C.CF=1或ZF=1D.CF=1或ZF=0
12.在定义段时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是()。
A.WORDB.PAGEC.BYTED.PARA
13.设DL=55H,执行指令后能使DL中的数据为0AAH的指令是()。
A.XORDL,0FFHB.ORDL,0AAHC.NEGDLD.TESTDL,0AAH
14.当SS=9876H,SP=4328H,执行POPF指令后,栈顶的物理地址是()。
A.9CA8AHB.9CA90HC.9CA86HD.0DB00H
15.语句BUFDW10HDUP(3DUP(2,10H),3,5)汇编后,为变量BUF分配的存储单元的字节数是()。
A.80HB.100HC.124D.192
16.设AX=8520H,执行SARAX,1指令后,AX中的值是()。
A.4290HB.0A40HC.0C290HD.0C260H
17.下列指令执行后,能影响标志位的指令是()。
A.PUSHFB.POPFC.JNLEOPRD.LOOPZLOP
18.下面两个传送指令语句中源操作数寻址方式是()。
VAR1DW32H
VAR2EQU32H
MOVAX,VAR1
MOVBX,VAR2
A.都是立即寻址B.前一条指令是立即寻址,后一条指令是直接寻址
C.前一条指令是直接寻址,后一条指令是立即寻址D.都是直接寻址
19.设变量ARRAY的偏移地址是0084H,下列指令执行后,AX中的内容是()。
MOVAX,ARRAY+4
ARRAYDW6,9,$+4,10H,1,$+4
A.0009B.008CHC.0090HD.0010H
20.下列程序段的执行结果是()。
XORAX,AX
MOVCX,5
LAST:
ADDAL,6
AAA
LOOPLAST
A.AX=0030HB.AX=0300HC.AX=30D.AX=001EH
21.某处理器具有64GB的寻址能力,则该处理器地址线的条数是()。
A.20条B.24条C.32条D.36条
22..8086有两种基本的工作模式:
最小模式和最大模式。
当8086工作于最小模式时,MN/
接()。
A.+12VB.–12VC.+5VD.地
23.8K×8位的RAM芯片所具有的地址线条数应是()。
A.10B.11C.12D.13
24.在查询传送方式中,CPU要对外设进行读出或写入操作之前,必须先对外设()。
A.发控制命令B.进行状态检测C.发端口地址D.发读/写命令
25.所谓“端口”是指一些可以由CPU读或写的()。
A.RAMB.ROMC.寄存器D.缓冲器
26.一片可编程中断控制器8259A能管理()级硬件中断。
A.4B.8C.16D.64
27.可编程串行通信接口8250A的接收时钟RCLK是通信波特率的16倍,若波特率为2400Baud,则RCLK时钟频率为()。
A.115.2KHzB.9.6KHzC.19.2KHzD.38.4KHz
28.当进行DMA操作时,CPU必须让出()给DMAC。
A.总线B.地址总线C.数据总线D.控制总线
29.在总线读周期中,当CPU从慢速的输入设备读取数据时,需要在T4前插入()状态。
A.TWB.T2C.T3D.T
30.通常中断服务程序中使用STI指令的目的是()。
A.开放所有屏蔽中断B.允许低一级中断产生
C.允许高一级中断产生D.允许同级中断产生
31.微机中控制总线传送的是()。
A.存储器和I/O接口的地址码B.微处理器向内存和I/O接口传送的命令信号
C.存储器和I/O设备向微处理器传送的状态信号D.B和C
32.在8086系统中,规定内存中地址()的内存单元存放中断服务程序的入口地址(即中断向量),称为中断向量表。
A.00000H~003FFHB.80000H~803FFH
C.7F000H~7F3FFHD.FFC00H~FFFFFH
33.某一中断服务程序的入口地址存放在中断向量表的0080H~0083H存储单元中,则该中断对应的中断类型号一定是()。
A.1FHB.20HC.21HD.22H
34.8086系统中若访问奇存储体的一个字节单元,则此时
与A0是()状态。
A.1,0B.0,1C.0,0D.1,1
35.在串行异步数据传送时,若传送格式为8位数据位,1位奇偶校验位,1位停止位,则一帧异步数据总共有()位。
A.8B.9C.10D.11
36.8086CPU中的DT/
信号用于控制()。
A.串操作时的增址或减址B.存储器的读或写
C.I/O端口的输入或输出D.数据总线的传送方向
37.8086CPU寻址I/O端口最多使用()条地址线。
A.8B.10C.16D.12
38.下列中断中,属于外部中断的是()。
A.溢出中断B.断点中断C.可屏蔽中断D.除法出错中断
39.在中断系统中,中断类型号是在()的作用下送往CPU的。
A.中断响应信号
B.片选信号
C.中断请求信号INTRD.读信号
40.读8259A的中断服务寄存器ISR必须先写入操作命令字()。
A.OCW1B.OCW2C.OCW3D.OCW1和OCW3
四、程序分析题
1.已知AX=0FF61H,CF=1
MOVDX,96
SBBAX,DX
执行上述指令序列后,AX=__________,CF=__________。
2.已知AX=0E33EH,DX=0F0F0H
ANDAH,DL
XORAL,DH
NEGAH
NOTAL
执行上述指令序列后,AH=__________,AL=__________。
3.
STC
MOVCX,0403H
MOVAX,0A433H
SARAX,CL
XCHGCH,CL
SHLAX,CL
上述程序段运行后,AX=__________,CF=__________。
4.
DA3EQUWORDPTRDA4
DA4DB0ABH,89H
SHRDA3,1
MOVDX,DA3
SHLDA4,1
MOVCX,DA3
上述程序段运行后,CX=__________,DX=__________。
5.
VAR_BDB10DUP(3,5,7,9)
LEABX,VAR_B
MOVCX,10
XORAX,AX
LOP:
ADDAL,[BX]
CMPAL,10
JBNEXT
INCAH
SUBAL,10
NEXT:
INCBX
LOOPLOP
上述程序段运行结束后,AH=__________,AL=__________。
五、程序填空题
1.编写一条宏指令CLRB,完成用空格符将一字符区中的字符取代的工作。
字符区首地址及其长度为变元。
CLRBMACROADDR,L
MOVCX,L
LEABX,ADDR
BACK:
____
(1)____
INCBX
____
(2)____
ENDM
2.设AX和BX中的数一个为正数、一个为负数,下列程序段完成将正数送到PLW单元中存放。
TESTAX,8000H
____(3)____
MOVPLW,BX
JMPDONE
K1:
____(4)____
DONE:
3.以BUF为首地址的字节单元中,存放了COUNT个无符号数,下列程序段是找出其中最大数并送入MAX单元中。
BUFDB5,6,7,58H,62,45H,127,…
COUNTEQU$-BUF
MAXDB?
MOVBX,OFFSETBUF
MOVCX,COUNT-1
MOVAL,[BX]
LOP1:
INCBX
____(5)____
JAENEXT
MOVAL,[BX]
NEXT:
____(6)____
JNZLOP1
MOVMAX,AL
4.DA1数据区中有50个字节数据,下列程序段将每个数据的低四位变反,高四位不变,并依次存入DA2数据区中。
MOVCX,50
LEASI,DA1
LEADI,DA2
K1:
MOVAL,[SI]
____(7)____
MOV[DI],AL
INCSI
INCDI
DECCX
____(8)____
5.下列程序段的功能是依次产生'0'~'9'的10个ASCII码,并存入BUF1数据区。
BUF1DB10DUP(?
)
LEABX,BUF1
MOVCX,10
XORAL,AL
LOP:
MOVAH,AL
ADDAL,30H
____(9)____
INCBX
____(10)____
INCAL
LOOPLOP
6.下列程序段用显示单个字符的2号DOS功能显示一字符串“STRING”。
STR1DB'STRING','$'
MOVBX,OFFSETSTR1
LOP:
MOVDL,[BX]
____(11)____
INT21H
____(12)____
____(13)____
JNELOP
7.下列程序段完成将键盘输入的小写字母用大写字母显示出来。
BACK:
MOVAH,01
INT21H
CMPAL,'$'
JZEXIT
CMPAL,'a'
____(14)____
CMPAL,'z'
JASHOW
____(15)____
SHOW:
MOVDL,AL
MOVAH,02
INT21H
JMPBACK
EXIT:
RET
8.下列程序段采用冒泡法完成N个8位无符号数按升序排序。
MOVCX,N
____(16)____
LP1:
MOVDX,CX
____(17)____
LP2:
MOVAL,BLOCK[BX]
CMPAL,BLOCK[BX+1]
____(18)____
XCHGAL,BLOCK[BX+1]
MOVBLOCK[BX],AL
CONT:
____(19)____
LOOPLP2
MOVCX,DX
____(20)____
六、接口编程题
1.在IBMPC/AT及其兼容机系统中,硬件中断管理采用两片8259A。
从片的INT与主片IR2相连,系统中主片8259A的口地址为20H和21H,从片的口地址为0A0H和0A1H。
系统对主片8259A的初始化要求是:
主片的IR2接从片的INT端;主片中断信号为边沿触发方式;级联但无缓冲;起始中断类型号为08H(IR0);正常的中断结束(即非自动结束中断);选择特殊的全嵌套方式。
系统对从片8259A的初始化要求是:
从片的INT接主片的IR2;从片中断信号为边沿触发方式;级联但无缓冲;起始中断类型号为70H(IR0);正常的中断结束(即非自动结束中断);选择一般的全嵌套方式。
根据上述要求,分别写出对主片和从片初始化的程序段。
主片初始化程序段:
从片初始化程序段:
2.BIOS调用INT14H提供了实现串行通信的功能。
若串行通信的要求如下:
使用串行口1(COM1);7位数据位;偶校验;1位停止位;波特率为9600。
分别写出初始化通信端口、向通信端口发送字符和从通信端口接收字符的程序片断,设发送的字符为'Y'。
初始化:
发送字符:
接收字符:
3.用可编程并行通信接口8255A作为打印机接口,如下图所示:
ACKB
CPU通过8255A与打印机相连,打印前先检查打印机的工作状态,当BUSY=1时表示打印机忙,则等待;BUSY=0时表示打印机不忙,这时CPU将要打印的数据送至8255A的B口并给打印机的
端送一个负脉冲的打印选通信号,使数据进入打印机的数据缓冲器,然后打印机开始打印。
打印机处理完送入的数据后向8255A发一个应答信号
,这时又可继续送下一个数据,直到打印结束。
可采用中断方式或查询方式进行打印,若采用查询方式,只须检测打印机的BUSY信号,即可决定是否送下一个数据。
下面给出查询式打印程序,请填写空缺处。
DATASEGMENT
PORTAEQU__
(1)__
PORTBEQU__
(2)__
PORTCEQU__(3)__
CTRLPEQU__(4)__
STRINGDB'Thisisasampleofprinterinterfaceusing8255A'
COUNTEREQU$-STRING
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
MAINPROCFAR
PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA
MOVDS,AX
__(5)__
OUTCTRLP,AL
MOVCX,COUNTER
MOVBX,OFFSETSTRING
LP1:
MOVAL,[BX]
OUT__(6)__,AL
LP2:
INAL,PORTC
ANDAL,__(7)__
JZLP2
LP3:
INAL,__(8)__
ANDAL,20H
__(9)__
INCBX
__(10)__
RETF
MAINENDP
CODEENDS
ENDMAIN
附录
8259A芯片初始化命令字ICW1(必须写入8259A的偶地址端口):
特征位
D7D6D5D4D3D2D1D0
8259A中断类型初始化命令字ICW2(必须写入8259A的奇地址端口):
8259A主片初始化命令字ICW3(必须写入8259A的奇地址端口):
D7D6D5D4D3D2D1D0
8259A从片初始化命令字ICW3(必须写入8259A的奇地址端口):
D7D6D5D4D3D2D1D0
8259A控制初始化命令字ICW4(必须写入8259A的奇地址端口):
非缓冲方式—0
缓冲方式—1
D7D6D5D4D3D2D1