2013年汇编语言程序设计期末考试题
时间:2025-04-04
时间:2025-04-04
2012~2013年,汇编语言,试卷与答案
一、单项选择题(本大题共10小题,每小题3分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.CPU要访问的某一存储单元的实际地址称(C)
A. 段地址 B. 偏移地址 C. 物理地址 D. 逻辑地址
2.某存储单元的物理地址是12345H,可以作为它的段地址有(D)
A. 2345H B. 12345H C. 12340H D. 1234H
3.执行后使BX=0的同时也使CF=0,OF=0的指令是(A)
A. XOR BX,BX B. OR BX,BX C. AND BX,BX D. CMP BX,BX
4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是(B)
A. CX≠0且ZF=1 B. CX≠0且ZF=0 C. CX≠0或ZF=1 D. CX≠0或ZF=0
5.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是(C)
A. DAA校正指令的功能已自动加在AH中
B. 进位值在AF中,校正后根据AF内容再加在AH中
C. 进位值在CF中,校正后根据CF内容再加在AH中
D. 进位值在AL最高位上,校正后根据AL最高位内容再加在AH中 6. AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是(C)
A. 指令XOR AX,AX执行后,AX内容不变,但设置了标志位
B. 指令OR DX,1000H执行后,将DX最高位置1,其余各位置0
C. 指令AND AX,OFH执行后,分离出AL低四位
D. NOT AX,执行后,将AX清0
2012~2013年,汇编语言,试卷与答案
7. 在执行下列指令时,需要使用段寄存器DS的指令是(D) A. STOSW B. ADD AL,CL C. NEG BX D. INC DA[BX]
8. 无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是(B)
A. ADD BH,01H B. OR BH,01H C. XOR BH,01H D. TEST BH,01H 9. 比较两个带符号的数A、B,当A=B时程序转移,测试的条件为(A)
A. ZF=1 B. ZF=0 C. SF=1 D. SF=0
10.下面各传送指令中,正确的是(C)
A. MOV [DI],[SI] B. MOV[DX+DI],AL
C. MOV WORD PTR [BX],0100H D. MOV AL,BX 11. 汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法(B)
A. 名字的第一个字符可以是大写英文字母及小写英文字母
B. 名字的第一个字符可以是字母、数字及、@、_
C. 名字的有效长度≤31个字符
D. 在名字中不允许出现$
12. 要实现使BETA的值为56,应采用语句为( C )
A .BETA DB 56 B. BETA DB 56H C. BETA EQU 56 D. BETA EQU 56H
13. REPZ CMPSW指令,重复执行的终止条件是( A )
A. CX=0或ZF=0 B. CX=0且ZF=0
C. CX=0或ZF=1 D. CX=0且ZF=1
2012~2013年,汇编语言,试卷与答案
14. 下面程序段执行后,AL中的内容是( B )
MOV AX,8833H
ADD AL,AH
DAA
A. 21 B .21H C. 0C1H D. 0DDH
15. 比较两个带符号的数A、B,当A=B时程序转移,测试的条件为(A)
A. ZF=1 B. ZF=0 C. SF=1 D. SF=0
16. 检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是( C )
A. JNC LOP1 B. JA LOP1 C. JC LOP1 D. JGE LOP1 17. 在下列串操作指令中,同时使用源串和目的串地址指针的指令是( D )
A. STOSW B. LODSW C. SCASW D. CMPSW
18. 设AL=0AH,下列指令执行后能使AL=05H的是( C )
A. NOT AL B. AND AL,0FH C. XOR AL,0FH D. OR AL,0FH 19. DA1 DW AB , CD , EF , GH ( D )
┇
MOV AX,DA1+3
指令执行后AX中的内容是
A. EF B. CD C. BC D. FC
20. 使用DOS系统功能调用时,使用的软中断指令是(B)
A. INT 21 B. INT 10H C. NT 16H D. INT 21H
2012~2013年,汇编语言,试卷与答案
二、简答题(每题10分,共30分)
1.简述循环程序常用的控制方法。
解: 技术控制:适用于循环次数已知,包括正计数与倒计数两种。采用循环指令LOOP和JCXZ实现,将最大循环次数置入CX,最后用LOOP对CX减1并判断是否为0。 条件控制:用于循环次数未知。需要用转移指令判断循环条件,转移指令可以指定目的标号来改变程序运行顺序目的标号指向一个重复执行的语句开始或结束,就构成了循环控制结构,循环体为标号语句至转移指令。 混合控制:包括开关控制和逻辑尺控制,前者适用于循环内部有一定规律分支,循环前预置开关走向,结束前设置下一个开关方向。逻辑尺控制适用于内部分支不规律,用位来控制每次循环的操作。
计数控制:循环次数已知,每循环一次+、-1:;常用LOOP指令实现 条件控制:循环次数未知,须根据条件控制循环;用条件转移指令实现 状态控制:根据事先设置或实时检测的状态来控制循环
2.比较参数传递的三种方法,并分析递归调用时为什么不能采用约定存储单元法来传递数据?
寄存器:将入口参数和出口参数放在与约定的寄存器,数据传递速度快,编程方便,节约内存单元,但是寄存器数量有限,适用较少的子程序 约定存储单元:不占用寄存器、参数个数任意,数据都有独立的存储单元,但定义变量有难度。 堆栈:不占用寄存器和存储单元,参数放在公共堆栈区,处理后恢复,注意参数的位置断点保存和恢复。 参数传递的方法主要有约定寄存器法、约定存储器法与堆栈法三种。
1.约定寄存器法
约定寄存器法直接利用CPU内部寄存器传送参数。在转向子程序之前,主程序将入口参数送入指定寄存器中;调 …… 此处隐藏:4771字,全部文档内容请下载后查看。喜欢就下载吧 ……
下一篇:货币银行学 东财 课件第8章