《汇编语言》试题(试题库02)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《汇编语言程序设计》考试试卷
班级姓名学号
一、填空题(每空1分,共20分)
1.8088 CPU从功能划分上由________和________两部分组成。
2.用于控制字符操作地址增量方向的标志寄存器是________,表示加法结果溢出的标志寄存
器是________,允许产生中断时,IF=_______。
3.80386有3种存储器地址空间,即_________、________和_______。
4.设SS=2000H,SP=100H,执行PUSH AX后,则SP的值变为____________,栈顶的物理
地址为____________。
5.用于表示无符号数大于或等于的条件转移指令是________;用于表示带符号数大于或等于
的条件转移指令是________。
6.设CF=1,AX=1000H,执行RCL AL,1后,AX=_________,CF=_________。
7.取消表达式赋值或宏定义的伪指令是_________。
8.中断类型号为5的中断服务程序的入口地址在中断向量表中的指针为_________,而中断
类型号为200的指针为_________。
9.DEBUG是为汇编语言设计的一种调试工具,它的命令有多种,命令D和命令U分别表
示_________、_________,而表示执行并显示系统环境命令是_________。
二、判断题,正确的打“√”,错误的打“×”,并说明理由(每题1分,共10分)
1.MOV [DX],AX ()
2.MOV BYTE PTR [BX],1234H ()
3.SUB AL,CL ()
4.ADD [DI],[SI] ()
5.DIV 12H ()
6.POP CS ()
7.RCL CX,4 ()
8.LEA BX,OFFSET BUF ()
9.MOV 3456H,CX ()
10.AND AH,01H ()
三、程序分析题(共20分)
1.已知数据段和程序:
DATA SEGMENT
STR1 DW -32
STR2 DB 2 DUP(‘A’,1),35H,21H
COUNT EQU $-STR2
STR3 DW STR1
DATA ENDS
(1)画出该数据段的存储形式(6分);
(2)指出下列指令源操作数据的寻址方式,并给出目的(寄存器或存储器地址)及目的操作数的数值(6分)
①MOV DI,OFFSET STR2
②MOV CX,COUNT
③ADD CX,WORD PTR [DI+2]
2.分别指出下面两程序段的含义(各4分,共8分)。
(1)程序段1:
MOV CH,AH
SUB AL,BL
DAS
XCHG AL,CH
SBB AL,BH
DAS
MOV AH,AL
MOV AL,CH
RET
(2)程序段2:
NUM1=0
REPT 9
NUM1=NUM1+1
NUM2=0
REPT 9
NUM2=NUM2+1
DB NUM2×NUM1
ENDM
ENDM
四、读程序填空题(每空2分,共16分)
以下程序实现冒泡法排序,在空格处补上落下的指令或部分指令及操作数。
DA TA SEGMENT
N EQU 16
A ______(1)__________ ;定义长度为N的字数组
DA TA ENDS
CODE SEGMENT
ASSUME CS:CODE1, DS:DA TAX
START: ____(2)________
______(3)______ ;初始化DS
MOV CX,N
DEC CX
L1: ______(4)_________
MOV CX,N-1
MOV BX,0
L2: MOV AX,A[BX]
CMP AX,A[BX+2]
______(5)_________, L3
______(6)_________
MOV A[BX+2],AX
L3: ADD BX,2
LOOP L2
______(7)_________
LOOP L1
MOV AX,____ (8)_______
INT 21H ;返回DOS
CODE ENDS
END START
五、编程题(共34分)
1.编写子程序GetString,从键盘上输入一个长度为N的字符串,该子程序的入口条件(已预
置好)为:CX=N,DS:SI=接收此串的首地址。(8分)
2.编写一个宏,把DX、AX双字数据的内容逻辑右移4位。(8分)
3.设在BUF单元中存放一个-9~+9的字节数据,在TAB数据区中存放了0~9的平方值,
请用直接查表法编写一个子程序,在TAB中查找处BUF单元中数据对应的平方值送SQR
单元,并写出主程序的调用方式。(9分)
数据段如下:
DATA SEGMENT
BUF DB XXH
TAB DB 0,1,4,9,16,25,36,49,64,81
SQR DB ?
DATA ENDS
4.设平面上有一点P,其直角坐标为(X,Y),试编程完成以下操作的程序:
(1)若P点落在第I象限,则K单元的值赋值I(I=1,2,3,4)
(2)若P点落在坐标轴上,则K单元的值赋值0。(9分)