复习题(一)答案
本试卷仅用于帮助学生了解期末考试题型、了解考试大纲围之用。复习题的容并非期末考试试卷容,也不承诺在期末考试中出现或不出现相同或相似的试题。
复习题(一) 一、填空题
1、8086CPU从功能上可分为BIU和EU 两个的功能部件。 2、8086CPU采用引脚复用技术,即地址线线和数据线是复用的。 3、每一条指令代码一般都由操作码和操作数来构成。
4、指令MOV AL,6[BX][SI]的源操作数的寻址方式是基址变址相对寻址,目的操作数寻址方式为寄存器寻址。
5、在段定义中以____segment_________语句开头,以______ends_______结尾。
6、数制转换
[124]10=[ 01111100 ]B=[ 7C ]H =[ 000100100100 ]BCD 7、8255有3种工作方式,其中方式2 只允许A口使用。 8、一中断其类型号为04H,对应的中断向量表的首地址为___0010H_______。
9、8086CPU复位后,段寄存器CS的值为(FFFF )H、IP的值为(0 )H。
二、判断题
1、8086系统中,堆栈通常以“先进后出”的方式存取数据,指令队列以“先进先出”的方式存取数据,而普通存储器则以“随机”的方式存取数据。(对)
2、8086系统中,指令“LEA AX,BUF”和“MOV AX,OFFSET BUF”可以完成相同的功能。(对)
3、8086CPU部只有4个段寄存器,故其最多可同时使用存中的四个逻辑段。(错)
4、IRET语句既可用于子程序的返回,也可用于中断服务程序的
返回。(对)
5.串行通信传送数据是是以字节为单位进行传送(错) 6. 8086CPU标志寄存器共有16位,每一位都有含义。(错) 7、指令“MOV DS,1000H ”是正确的(错)
8、I/O端口与存储器单元编址的主要优点是I/O端口不占用存储器单元(对)。
9、8086系统中寄存器和存储器都是CPU部的存储单元(错)。 三、选择题
1.8086CPU通过()控制线来区分是存储器访问,还是I/O访问,当CPU执行IN AL,DX 指令时,该信号线为电平。
A.M/IO B. C. ALE D.N/
2、若要使寄存器AL中的高4位不变,低4位为0,所用指令为()。
A.AND AL, 0FH B.AND AL, 0FOH C.OR AL, 0FH D.OR AL 0FOH
3、下列MOV指令中,不正确的指令是()。 A.MOV AX, BX B.MOV AX, [BX] C.MOV AX, CX D.MOV AX, [CX]
4.条件转移指令JNE的条件是()。 A.CF=0 B.CF=1 C.ZF=0 D. ZF=1
5. 在8086/8088 CPU中,一个最基本的总线读写周期由()时钟周期(T状态)组成,在T1状态,CPU往总线上发()信息。
⑴ A.1个 B.2个 C.4个 D.6个 ⑵ A.数据 B . 地址 C. 状态 D.其它 6.8086CPU中段寄存器用来存放() A.存储器的物理地址 B. 存储器的逻辑地址 C. 存储器的段基值 D. 存储器的起始地址
7. 8086中,() 组寄存器都可以用来实现对存储器的寻址。 A. AX,SI,DI,BX B. BP,BX,CX,DX C. SI,ID,BP,BX D. BX,CX,SI,DI
8.8086/8088指令OUT80H,AL表示() A.将80H送给AL B.将80H端口的容送给AL C. 将AL的容送给80H端口 D.将AL容送给80H存单元
9、在8086CPU的引脚中,用于连接硬中断信号的引脚有几个() A. 15个 B. 8个 C. 2个 D. 1个
10、在PC系列的微机中,CPU要读取I/O端口地址302H中的8位数据时,应该使用指令()。
(A)IN AL,302H (B)OUT 302H,AL (C)MOV DX,302H (D)MOV DX,302H IN AL,DX IN AX,DX 11、计算机的存储器可采用( )
A.RAM B.ROM C.磁盘
D.ROM和RAM
12. 设串行异步通信的数据格式是:1位停止位,7位数据位,1位校验位,1位起始位,若传输率为2400位/秒,则每秒传输的最大字符个数为()
A. 10 B. 110 C. 120 D. 240
13、某存储器芯片有地址线13根,数据线8根、该存储器芯片的存储容量为()
A. 15K×8 B. 32K×256 C. 8K×8 D. 32K×8
14.定义过程结束的伪指令符是()。 A:END B:ENDS C:ENDP D:ENDM 15.计算机中保护断点和现场应使用()。 A:ROM B:中断向量表C:寄存器D:堆栈 四、程序分析并填空
1、下面程序段实现的完整功能是在显示器上显示BX的最高位,0或者1
SHL BX,1 JC ONE MOV DL,’0’ JMP NEXT
ONE: MOV DL,’1’ NEXT: MOV AH,2 INT 21H
2、设寄存器AL,BL,CL中容均 为1CH,执行上述指令序列后, XOR AL,0FH AND BL,0FH OR CL,0FH
AL= 13H,BL= 0C H,CL= 1F H。
3、把DA1数据区的非压缩BCD码依次转换为对应的ASCII码,存放在ASC开始的数据区。DA1 DB 03H, 01H, 09H, 08H, 04H, 07H, 06H, 02H, 00H, 09H
CNT EQU ASC-DA1 ASC DB 10 DUP (?) ┇
LEA SI, DA1 ;初始化 LEA DI, ASC
_ MOV CX,10 ;循环次数 L1: MOV AL, [SI] ;实现转换 ADD AL,30H MOV [DI], AL INC SI INC DI
_ LOOP L1 ;循环
4、以BUF为首址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大
数并送入MAX单元中。 DATA SEGMENT
BUF DB 5,6,7,58H,13H……. COUNT EQU $-BUF MAX DB ? DATA ENDS ┇
_ LEA BX,BUF ;初始化,设置地址指针 MOV CX,COUNT MOV AL,[BX]
LOP1: INC BX ;完成最大数查找 CMP AL,[BX]_ ;比较 JAE NEXT MOV AL,[BX] NEXT:DEC CX JNZ LOP1 MOV MAX,AL 五、简答题
1. 8086/8088CPU由哪两大功能部分所组成?简述它们的主要功能?
参考教材第二章
2、将变址寄存器DI的容送入数据段中2000H的存储单元,请写出指令。
Mov [2000H],DI
3、从40H端口中输出一个数据(8位), 请写出指令。 OUT 40H,AL
4、实现AX中高、低8位容的交换。 MOV CL,8 ROR AX,CL
5、存中18FC0H、18FC1H、18FC2H单元的容分别为23H、55、5AH,DS=1000H,BX=8FC0H,SI=1,执行下面两条指令后,AX的值是多少。
MOV AX, [BX+SI] 物
理
地
址
计
算
:
PA=DS*16+BX+SI=10000H+8FC0H+1=18FC1H
因18FC1H是奇地址,CPU访问地址是按照偶地址进行访问的,所以,如果想取出所有的数据,需要CPU进行两次取数值的工程。
先访问18FC0H地址,取出55H作为18FC1H的低8位的数据 然后访问18FC2H地址,取出5AH作为18FC1H的高8位的数据
故,(AX)=5A55H 六、编程题
1.请使用8086汇编语言定义如下数据段:
①在数据段中偏移量为100H处的单元里定义字变量VARW1; ②接着保留50个字节单元,并初始化为01H; ③接着存放字符串“1234”;
④接着定义常量LEN,其值为该数据段中已定义数据的长度(字节数)。
参: DATA S EGMENT ORG 0100H VARW1 DW ? DB 50 DUP(01H) DB ‘1234’ LEN EQU $-VARW1 DATA ENDS
2、编写完整的8086汇编语言程序,统计从BUF处连续存放的100个无符号字数据中奇
数和偶数的个数,并分别存入变量ODD和EVEN中。 参 DATA SEGMENT BUF DW 100 DUP ( ? ) ODD DB 0 EVEN DB 0 DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA MOV DS,AX MOV SI,OFFSET BUF (留空,需要自己填写) MOV CX,100 L1:MOV AX,[SI] TEST AX,1 JNZ L2 INC EVEN JMP AGAIN L2:I NC ODD AGAIN:LOOP L1 MOV AH, 4CH INT 21H CODE ENDS END START
3、已知电路图如下图所示,8255的PA口与8个发光二极管相连接,PB口与8个开关相连接。请编写初始化程序段,并编程序段实现以下功能:当8个开关中某个按键闭合,则PA 口对应的发光二极管被点亮。
参考教材第6章,自行编程。提示:B口输入,A口输入。写入控
制字,读端口A,然后写入B口