重庆邮电大学汇编语言程序设计补考试题(B卷)

更新时间:2023-10-19 05:16:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

试题编号:

重庆邮电大学2011-2012学年第二学期 汇编语言程序设计试卷(期末)(B卷)(闭卷)

题 号 得 分 评卷人

一、判断题(正确打“√”,错误打“×”,2分/题,共20分)

1.指令“OUT 4FH, AX”是合法的80386指令。【 】 2.指令“POP BX” 执行后SP值将减少2。【 】

3. 变量和标号都具有段属性、偏移属性与类型属性。【 】

4. 在保护模式下,某个内存操作数段基址为2000H,其偏移地址值为4000H,则该内存操作数的物理地址为24000H。【 】 5.已知内存(30050)=11H,(30051H)=22H,(70050)=33H, (70051H)=44H, 且AX=3A4BH,DS=3000H, SS=7000H, BP=0030H,则指令“LEA BX, [BP+20H]”执行后BX=0033H。【 】

6. 指令“MOV BX, [DX]”是错误指令。【 】

7. 指令“JMP DWORD PRT [4000H]”指令是段间间接转移。【 】

8. 带有重复前缀的串操作指令“REP MOVSB”,每执行一次CX值自动减1,且自动按增址方式修改源串与目标串偏移地址【 】

9. 如果AX=0534H, 则连续执行ADD AL, 38H 和DAA 指令后AX=0572H。【 】 10.高级语言能和汇编语言进行混合编程。【 】

二、单项选择题(2分/题,共30分)

1.寻址指令MOV DX, [BX +SI + 20]使用的是哪一种寻址方式( )。 A.寄存器寻址 B.相对基址加变址寻址 C.变址寻址 D.基址加变址寻址

2.NEAR型子程序中的指令“RET 8”执行前SP=1000H,则该指令执行后SP的值为( )。

A. 0FF6H B. 0FFEH C. 100AH D. 1008H

3.若BX= - 18要得到BX=18应执行的指令是( )。 A.NEG BX B.NOT BX

汇编语言程序设计试卷第1页(共7页)

一 二 三 四 总 分

C.XOR BX, BX D.DEC BX

4.BUF1 DW 3 DUP(?A?,2 DUP (1,2),3) COUNT EQU $-BUF1

符号COUNT等价的值是( )。 A.36 B.18 C.10 D.9

5.下列关于堆栈的说法,错误的是( )。 A.堆栈的操作基本单位是“字节” B.除栈顶外堆栈其他数据都不能访问。 C.运行中SP寄存器动态跟踪栈顶位置。 D.堆栈以“后进先出”的数据结构。

6.已知以下数据段: DATA SEGMENT

VAR1 DB 10 dup(2, 5,3 dup(?)) VAR2 DW VAR3, VAR1, VAR3 DB 10, ?, 10 dup(?) DATA ENDS

数据段DATA中定义的三个变量共占用( )字节空间。 A. 68 B. 58 C. 66 D. 75

7. 以下关于汇编程序中宏的描述,不正确的是( )。 A. 宏定义必须以ENDM结束;

B. 宏调用的格式为:宏指令名 <实际参数>,其中必须带有实际参数; C. 宏可以带有参数; D. 宏不能嵌套定义。

8、屏蔽AL中的高4位, 正确的指令是( )。

A. TEST AL,0FH B. AND AL,0FH C. OR AL,0FH D. XOR AL,0FH

9、在执行下列指令时,需要使用段寄存器DS的指令是( ) A.STOSW B.ADD AL,CL C.NEG BX D.INC [BP]

10、在下列指令中,( )指令的执行会影响标志位CF。 A.JMP P1 B.JC NEXT C.DEC BX D.ROL AX,1

11、执行“INT 10H”指令时,中断向量地址是( )。

汇编语言程序设计试卷第2页(共7页)

A.10H B.20H C.30H D.40H

12、把BL中的数据输出到端口8CH中正确指令是( ) A.OUT 8CH,BL B.IN 8CH,BL C.MOV AL,BL

IN 8CH,AL D.MOV AL,BL

OUT 8CH,AL

13、无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是( )

A、ADD BH,01H B、OR BH,01H C、XOR BH,01H D、TEST BH,01H

14.在汇编语句MOV AX,BUF中,其中BUF为变量名,源操作数的寻址方式是( )

A.直接寻址 B.立即寻址 C.间址寻址 D.寄存器寻址

15.汇编指令“MOV AX, 1000H”,指令中的立即数1000H存储在( ) A. 数据段 B. 代码段 C. 附加段 D. 堆栈段

三、阅读程序题(本大题共4小题,共30分) 1、阅读程序,填空(每空2分,共6分)

在下列程序的括号中填写缺失的指令,使程序可以完成两个字符串的比较,如果相同的话,FLAG为?Y?, 否则为?N?。并回答在题目给定的两个字符串的情况,程序执行完成后,FLAG的值应该等于?Y? 还是?N?。 DATA SEGMENT STRING1 DB ?HELLO, HOW ARE YOU?? STRING2 DB ?HELLO, How ARE YOU?” CNT EQU $-STRING2 FLAG DB ?Y? DATA ENDS

CODE SEGMENT ASSUME CS:CODE, DS:DATA

BEG:MOV AX, DATA ________________; (1) ________________; (2)

汇编语言程序设计试卷第3页(共7页)

MOV SI, OFFSET STRING1 MOV DI, OFFSET STRING2 MOV CX, CNT CLD REPE CMPSB ________________; (3) MOV FLAG, ?N? OVER: MOV AX, 4C00H INT 21H CODE ENDS END BEG

2、下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出)(每空3分,共6分)

FLD DW 10, -20, 30, -60, -71, 80, 79, 56 MOV SI, __ (1) ____ MOV CX, 8 XOR AX, AX

R1:ADD AX , __ (2) ____ ADD SI, 2 LOOP R1 MOV CL, 8 IDIV CL HLT

3、以下程序实现十六进制数至十进制数的ASCII码转换。请补充下面的程序。(每空2分,共12分)

DATAX SEGMENT PARA VALUE DW 1234H

________________; (1) 结果数组 DATAX ENDS

CODEX SEGMENT PARA ASSUME DS:DATAX, CS:CODEX MAIN PROC FAR

MOV AX, DATAX MOV DS, AX ________________; (2)

汇编语言程序设计试卷第4页(共7页)

MOV AX, VALUE MOV BX, 10

MOV DI, _______________; (3) LP1: ________________; (4) DIV BX

OR DL, 30H

MOV BYTE PTR [DI], DL ________________; (5) LOOP LP1

MOV DX,________________; (6) MOV AH, 9 INT 21H

MOV AX, 4C00H INT 21H MAIN ENDP CODEX ENDS

END MAIN

4、读下面的程序,回答问题。(每空3分,共6分) .486

DATA SEGMENT USE16

BUF DB ?QWERTYUIOP123? COUNT EQU $-BUF

AAC DB ?AAC=“,?,0DH,0AH,?$? DATA ENDS

CODE SEGMENT USE16

ASSUME CS:CODE,DS:DATA BEG:MOV AX,DATA MOV DS,AX MOV AL,0 LEA BX,BUF MOV CX,COUNT LAST:CMP [BX],AL JC NEXT

MOV AL,[BX] NEXT:INC BX LOOP LAST

MOV AAC+4,AL MOV AH,9

MOV DX,OFFSET MAX

汇编语言程序设计试卷第5页(共7页)

本文来源:https://www.bwwdw.com/article/1qof.html

Top