微机原理期中考试试题
一、填空题(每空1分,共30分)
1、 、 是微机的核心,两者合称为中央处理器。
2、微型计算机硬件系统各部分之间通过_______、_______、_______实现信息交换。 3、计算机内,其信息是以_________码形式表示的。
4、8086CPU在对外设进行输出操作时,控制信号M/IO必须是______,DT/R必须是______。
4、宏汇编语言程序被汇编时,_________语句产生代码指令,_______语句不产生代码指令,_______语句可能产生也可能不产生代码指令。
5、调用程序、子程序传送参数的方法通常有_______、_______和_______三种方法。 6、虽在本模块无定义,却可以被单独引用的名字或标号,必须用_______伪指令给以说明。 7、下述机器数形式可表示的数值范围是(请用十进制形式写出):单字节无符号整数_______;单字节有符号整数_______。
8、乘法指令MUL的指令格式只有一个源操作数,若源操作数的类型属性为字节,则乘积在_______中,若源操作数的类型属性为字,则乘积在_______中。 9、堆栈是按照_______原则组织的一片连续的存储区域。
10、变址寻址的有效地址是变址寄存器的内容与_______代数和。 11、指令XLAT通常用于查表操作,在使用该指令前,应把表首的偏移首地址送入_______,待转换的代码在表中的序号送________。
12、若要求不产生汇编错误,则字符串'ABC'只能出现在伪指令_______中。 13、(30)10=( )BCD;(-127)补=(_ _ ____)B。 14、为下述情况各举一例。
1) 寄存器与存储单元内容相加送寄存器_______。
2) 将标志寄存器进栈_______。
3) 立即数与寄存器内容相加送寄存器_______。 4) 将48H、5AH存入字节数据区ARRAYB_______。 二、指出下列指令源操作数的寻址方式(10分)
1) MOV AX,1000H _ _ ____ 2) MOV AX, DS:[1000H] _ _ ____ 3) MOV AX, DX _ _ ____ 4) MOV AX, [BX] _ _ ____ 5) MOV AX, [BX+SI+5] _ _ ____ 6) MOV AX, DATA _ _ ____ 7) MOV AX, [DI+10] _ _ ____ 8) MOV AX,[SI] _ _ _ 9) MOV AX, [SI+50] _ _ ___ 10) MOV AX, NUL [BP][DI] _
三、(10分)阅读如下程序段,回答提出的问题。
MOV AX,3456 XCHG AX,BX MOV AX,3456 SUB AX,BX
JE DONE
KK: ADD AX,BX
...
DONE:
该程序段执行完JE DONE语句后,AX=_______,ZF=_______,IP=_______。
四、(10分)
请在程序段的每一空框内填入一语句(不得修改其它语句),以实现下述功能:将字变量VARM1中的非零数据左移到最高位为“1”止,左移次数存入字节变量VARB中,左移后的结果存入字变量VARW中。
MOV BL,0 MOV AX,VARW1
JS DONE ADD AX,AX GOON: INC BL
DONE: MOV VARW,AX
五、(10分)
若已将某年级100名学生电路分析的成绩存于变量BUF中,试编写程序段统计成绩高
于85分、低于60分和介于60分至85分的学生人数,分别存入GOOD、BAD和PASS变量中,并计算全年级平均成绩,存入变量AVRG中(舍去小数点以后的数)。 六、(30分)
1、从BLOCK开始,存放着256个字节的带符号数,编写完整程序从这些数中找出绝对值
最大的数,将其存入MAX单元中。 2、试编写一个完整的汇编语言源程序,以实现下述功能:在以BLOCK开始的存储区域内存放着50个字节的8位带符号数,在该存储区域内将其中最大和最小的带符号数找出来,分别存放在以MAX和MIN为首的内存单元中。(10分)
参考答案: 一、填空。
1、 运算器、控制器
2、 数据总线、地址总线、控制总线 3、 二进制
4、 低电平、高电平 5、 指令、伪指令、宏指令 6、 寄存器、内存、堆栈 7、 0~255、-128~+127 8、 AX、DX:AX 9、 先进后出 10、地址位移量 11、BX、AL
12、DB
13、00110000、10000001
14、⑴ADD AL, [BX] ⑵PUSHF ⑶
ADD AX, 1234H ⑷ARRAYB DB 48H , 5AH 二、
1) 立即寻址
2) 直接寻址 3) 寄存器寻址
4) 寄存器间接寻址 5)
基址加变址寻址
6) 直接寻址 7) 变址寻址 8) 寄存器间接寻址 9) 变址寻址
10) 基址加变址寻址
三、AX=00H,ZF=1,IP=DONE的偏移地址
四、
AND AX, AX JNS GOON
MOV VARB, BL 五、
程序如下: LEA BX, BUF MOV CX, 0064H MOV AX, 0 MOV GOOD, AX MOV BAD, AX MOV PASS, AX
MOV AVRG, AX LP: MOV AL, [BX] CMP AL, 85 JA L85
CMP AL, 60 JB L60 INC PASS JMP NEXT
L85: INC GOOD JMP NEXT L60: INC BAD NEXT: INC BX ADD AL,[BX] LOOP LP MOV BL, 64H DIV BL MOV AVRG, AL DONE: HLT 六、程序如下: 1、
DATA SEGMENT
BLOCK DB D1,D2,D3,…..,DN COUNT EQU 256 MAX DB ? DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA MAIN:MOV AX,DATA MOV DS,AX
MOV CX,COUNT MOV MAX,0 LEA SI,BLOCK LOP:MOV AL,[SI] TEST AL,80H JZ COMP NEG AL
COMP:CMP AL,MAX JB NEXT
MOV MAX,AL NEXT:INC SI LOOP LOP MOV AH,4CH INT 21H CODE ENDS
END MAIN 2、
DATA SEGMENT
BUF DB -2,5,3,-15……128; 定义50个字节数据 COUN EQU $-BU F MAX DB ? MIN DB ? DATA ENDS
CODE SEGMENT
ASSUME DS: CODE, DS:DATA START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET BUF MOV CX,COUN-1 MOV AL,[SI] MOV BL,[SI] INC SI LOP1: CMP AL,[SI]
JGE LOP2 MOV AL, [SI]
LOP2: CMP BL, [SI]
JL LOP3 MOV BL, [SI] LOP3: INC SI
LOOP LOP1
MOV MAX,AL MOV MIN,BL MOV AH, 4CH
INT 21H
CODE ENDS END START