《汇编语言程序设计》 模拟试卷 1
一、选择题:
1、使计算机执行某种操作的命令是________。 A.伪指令 B.指令 C.标号 D.助记符 2、在下列程序段中,要想找到第一个空格符(20H),须填入的指令或指令前缀是______。 CLD MOV DI,OFFSET STRING MOV AL,20H MOV CX,LENGTH __________SCACB
A.LOOPE B.REPNE C.LOOPNZ D.REPZ
3、8086/8088微处理器中,既可作为16位寄存器也可以分为两个8位寄存器用的寄存器是
________。
A.AX、BX、CX、DX B.BP、SP、SI、DI
C.CS、DS、SS、ES D.AX、BX、SI、DI 4、不是指针寄存器的是________。
A.SP B.BP C.IP D.FLAGS 5、BUF DW 10H DUP(3 DUP(2,10H),3,5)
上述语句汇编后,为变量BUF分配的存储单元字节数是________。 A、80H B、100H C、124 D、192
6、存储单元有唯一的物理地址,但可用不同的段地址和偏移地址表示。若存储单元的物理
地址为88D52H,则下面的表示________是对的。
A.8561H:3742H B.8561H:752H C.85610H:3742H D.3752H:85610H 7、DEC BYTE PTR[DI]指令中的操作数的数据类型是________。
A. 双字 B.字 C.字节 D.四字
8、已知AL存放一数据,要检测其第2位是否为0,应执行指令________。
A.TEST AL,04H B.CMP AL,04H C.AND AL,08H D.XOR AL,04H
9、将数据5618H存放在存储单元中的伪指令是________。
A. DATA1 DW 1856H B. DATA1 DB 18H,56H
C. DATA1 EQU 5618H D. DATA1 DB 18H,00H,56H,00H
10、MOV SP,3210H
PUSH AX
执行上述指令序列后,SP寄存器的值是________。 A、3211H B、320EH C、320FH D、3212H
11、下面的数据传送指令中,错误的操作是。
A、 MOV SS:[BX+DI],1000H B、 MOV DX,1000H
C、 MOV WORD PTR[BX],1000H D、 MOV DS,2000H
12、若AX=9CH,BX=7BH,若执行ADD AX,BX运算,会产生________。 A.无溢出,无进位 B.有溢出,有进位
C.无溢出,有进位 D.有溢出,无进位
13、设数据段中已有: DA1 DB 12H,34H DA2 DW 56H,78H
下面有语法错误的语句是________。
A、ADR1 DW DA1 B、MOV WORD PTR DA1+1,AX C、MOV BYTE PTR DA2+1,AL D、MOV DA1+1,AX
14、当外设有可屏蔽中断请求时,表示CPU是否响应中断的标志为_______。
A. TF B. IF C. DF D. OF
15、测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是________。
A、TEST BL,4FH B、AND BL,4FH JZ NEXT JZ NEXT
C、XOR BL,4FH D、OR BL,4FH
JZ NEXT JZ NEXT
16、关于8086/8088中断指令 INT n (n为中断类型号)的执行过程,其描述不正确的是______。
A. 寄存器CS和IP的内容入栈 B.标志寄存器的内容入栈
C.从中断控制器8259获取中断类型号n
D.地址为4*n 字单元中的内容存入IP,地址为4*n+2字单元中的内容存入CS
17、将数据5618H存放在存储单元中的伪指令是________。
A. DATA1 DW 1856H B. DATA1 EQU 5618H
C. DATA1 DB 18H,56H D. DATA1 DB 18H,00H,56H,00H 18、 8086/8088中断类型号为40H的中断服务程序入口地址存放在中断向量表中的起始地
址是______。
A. DS:0040H B. DS:0100H C. 0000:0040H D. 0000:0100H
19、DOS功能调用时,其功能号应置于______寄存器。
A. AH B. DL C. DH D. AL
20、将CPU中数据传送到外设端口n,应选用的指令是__________。
A.OUT n, AL B.IN AL, n C.OUT AL, n D.IN n, AL
二、填空题
1、 SS=2300H,SP=0FF00H,若执行两条POP指令,那么执行后SP= H,SS=
H。
2、 指令MOV AX, [BX]的源操作数寻址方式是 。 3、 指令LOOPNZ是结果_______________ 发生循环的指令。
4、如果TABLE为数据段中0032H单元的符号名,其中存放的内容为1234H,当执行指令
“MOV AX,TABLE”后,(AX)=______________;执行指令“LEA AX,TABLE”后,则(AX)=_____________。
5、将汇编语言源程序翻译成目标程序的过程称为 过程,产生的目标文件扩展名为
______。
6、宏指令定义必须由伪指令 开始,伪指令 结束。 三、阅读程序题
1、在数据段中有如下定义:
DATA1 DW 0,2,DUP(1,2 DUP(‘A’,‘B’)) DATA2 DB 10 DUP(?) CNT1 EQU $-DATA1 CNT2 EQU $-DATA2
问CNT1的值及CNT2的值分别为_________ 和_________。 2、执行下列程序段后,AX及IP的值分别为______和______。
MOV AX,0FFFFH MOV BX,-1 IMUL BX JMP DX
3、有下列程序段:
ASCI DB 6 DUP(?)
??
MOV BX,OFFSET ASCI MOV AL,46H
MOV CX,6
LOP: MOV [BX],AL
DEL AL INC BX LOOP LOP
程序运行后:
(1) 从ASCI开始的6个字节中依次存放的是什么数据?_______________________。 (2) 与这些数据对应的ASCII码字符是什么?________________________________。 4、分析以下程序段:
ADD AX,BX JNO L1 JNC L2 SUB AX,BX JNC L3 JNO L4 JMP L5
如果AX和BX的内容分别为6568H和54B7H,该程序执行后,程序转向为_______。 5、执行下列指令序列后,完成的功能是将(DX,AX)的值_______________。 MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 四、完善程序题
1、下面程序是查找STRING中是否有“A”这个字符,如果有则转向YES去执行;没有则转
向NO去执行。请将程序填充完整。
MOV CX, 20 MOV BX, -1
MOV AL,
NEXT: _______ BX
CMP AL, STRING[BX] ________ NEXT JNZ ________ YES: ???? ????
JMP ________ NO: ???? ???? EXIT: RET
2、下面程序的功能是:数组A包含15个互不相等的整数,数组B包含20个互不相等的整
数,将既在A中又在B中出现的整数存放在数组C中。请将程序填充完整。 DATA SEGMENT
A DW 15 DUP (?) B DW 20 DUP (?) C DW 15 DUP (?) DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA MAIN PROC FAR
START: MOV AX,DATA
MOV DS,AX BEGIN: MOV SI,0 MOV BX,0 MOV CX,15 NEXT1: PUSH CX MOV DI,0 MOV CX,20
MOV AX, ______________ NEXT2: CMP B[DI],AX
JNE ________________ MOV C[BX],AX ADD BX,2 ABCD: ADD DI,2
LOOP __________ ADD SI,2
__________ CX LOOP MOV AH,4CH INT 21H MAIN ENDP CODE ENDS
END START
五、编程题
编制程序段,用DOS的1号功能调用通过键盘输入一字符,并判断输入的字符。如字符是\,则转向YES程序段;如字符是\,则转向NO程序段;如是其他字符,则转向DOS功能调用,重新输入字符(不需写出源程序格式,只需写出与试题要求有关的指令序列)。(YES和NO分别是两程序段入口处的标号)
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《汇编语言程序设计》模拟试卷1在线全文阅读。
相关推荐: