汇编语言期末复习资料.docx
《汇编语言期末复习资料.docx》由会员分享,可在线阅读,更多相关《汇编语言期末复习资料.docx(11页珍藏版)》请在三一办公上搜索。
1、汇编语言期末复习资料一、单项选择题(本大题共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,
2、BX 4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是(B) A. CX0且ZF=1 B. CX0且ZF=0 C. CX0或ZF=1 D. CX0或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
3、AX,AX执行后,AX内容不变,但设置了标志位 B. 指令OR DX,1000H执行后,将DX最高位置1,其余各位置0 C. 指令AND AX,OFH执行后,分离出AL低四位 D. NOT AX,执行后,将AX清0 7. 在执行下列指令时,需要使用段寄存器DS的指令是(D) A. STOSW B. ADD AL,CL C. NEG BX D. INC DABX 8. 无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是(B) A. ADD BH,01H B. OR BH,01H C. XOR BH,01H D. TEST BH,01H 9. 比较两个带符号的数A、B,当A
4、=B时程序转移,测试的条件为(A) A. ZF=1 B. ZF=0 C. SF=1 D. SF=0 10.下面各传送指令中,正确的是(C) A. MOV DI,SI B. MOVDX+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.
5、 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 1 C. CX=0或ZF=1 D. CX=0且ZF=1 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. 检查二个无符号数的关系,若要
6、实现ALBL时分支去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 DWAB,CD,EF,GH( D ) MOV AX,DA1+3 指令执行后AX
7、中的内容是 A. EF B. CD C. BC D. FC 20. 使用DOS系统功能调用时,使用的软中断指令是(B) A. INT 21 B. INT 10H C. NT 16H D. INT 21H 二、简答题 1.简述循环程序常用的控制方法。 解: 技术控制:适用于循环次数已知,包括正计数与倒计数两种。采用循环指令LOOP和JCXZ实现,将最大循环次数置入CX,最后用LOOP对CX减1并判断是否为0。 条件控制:用于循环次数未知。需要用转移指令判断循环条件,转移指令可以指定目的标号来改变程序运行顺序目的标号指向一个重复执行的语句开始或结束,就构成了循环控制结构,循环体为标号语句至转移指令
8、。 混合控制:包括开关控制和逻辑尺控制,前者适用于循环内部有一定规律分支,循环前预置开关走向,结束前设置下一个开关方向。逻辑尺控制适用于内部分支不规律,用位来控制每次循环的操作。 计数控制:循环次数已知,每循环一次+、-1:;常用LOOP指令实现 条件控制:循环次数未知,须根据条件控制循环;用条件转移指令实现 状态控制:根据事先设置或实时检测的状态来控制循环 2.比较参数传递的三种方法,并分析递归调用时为什么不能采用约定存储单元法来传递数据? 寄存器:将入口参数和出口参数放在与约定的寄存器,数据传递速度快,编程方便,节约内存单元,但是寄存器数量有限,适用较少的子程序 约定存储单元:不占用寄存器
9、、参数 2 个数任意,数据都有独立的存储单元,但定义变量有难度。 堆栈:不占用寄存器和存储单元,参数放在公共堆栈区,处理后恢复,注意参数的位置断点保存和恢复。 参数传递的方法主要有约定寄存器法、约定存储器法与堆栈法三种。 1.约定寄存器法 约定寄存器法直接利用CPU内部寄存器传送参数。在转向子程序之前,主程序将入口参数送入指定寄存器中;调用子程序后,子程序从指定寄存器引用这些参数。经加工处理的结果也放入指定的寄存器中,这样从子程序返回主程序后可以从指定的寄存器中获得处理结果。这种方法最简单,但由于寄存器资源有限,故仅适用传递参数较少的情况。 2.约定存储器法 约定存储器法是在存储器中专门指定一
10、些单元存放入口参数和出口参数。在转子程序之 前,主程序用数据传送指令将入口参数存入入口参数的存储单元中。调用子程序后,子程序按照约定从入口参数存储单元中取出这些参数进行处理。子程序完成处理,将处理结果送入指定的出口参数存储单元中,返回后主程序可从这些特定存储单元中获取需要的处理结果。 约定存储器法传送速度比约定寄存器法要慢些,适合于传递参数较多的情况。 3.堆栈法 堆栈法使用堆栈来完成数据传递。在调用子程序之前将参数压入堆栈,转入子程序后通过 sP指针获得压入堆栈的参数地址,从而将其取出。子程序的处理结果亦送入堆栈保存。返回主程序后再通过出栈指令取出结果。使用该方法时应明了堆栈的变化情况,特别
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 期末 复习资料
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3613260.html