汇编语言题目答案(共8页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《汇编语言题目答案(共8页).doc》由会员分享,可在线阅读,更多相关《汇编语言题目答案(共8页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上第4章 自测练习一、选择题(四选一)1.设计子程序应该采用的一对伪指令是_C_。 A segment/ends B start/end start C proc/endp D macro/endm2.主程序将它的参数带给子程序,这个参数被称为 A 。 A 入口参数 B 出口参数 C 寄存器参数 D 存储器参数3.对应主程序CALL指令调用子程序,子程序结束通常采用_D_ 指令返回主程序。 A jmp B iret C hlt D ret4.下面程序段条件转移语句发生跳转的条件是AL=_D_ 。 cmp al,0fbh jnl next A 80h B 8fh C 0f
2、0h D 0ffh5.如下程序段中的“dec cx”指令执行了_C_ 次。 mov cx,4 jcxz next again: dec cx jnz again next: A 0 B 1 C 4 D 5二、填空题1.程序的基本结构有 顺序 、 分支 、 循环 和子程序四种。2.子程序可以通过_寄存器_、存储单元、(地址表)、_堆栈_等传递参数。3.循环结构的程序通常由 初始部分 、 循环体 和 循环控制 三部分组成。4.如果主程序调用与它处在同一个代码段的子程序,这是 段内 调用。5.下面程序段完成将存储单元abcd1中一个压缩型BCD码拆成两个非压缩型BCD码,高位BCD码存放在abcd3
3、单元,低位BCD码存放在abcd2单元,再分别转换为对应的ASC码。请将程序补充完整: mov al,abcdl mov cl,4 shr al,cl Or al,30h mov abcd3,al mov al,abcdl and al, 0fh orl al,30h mov abcd2,al6.在下述程序段的每一空框内填入一个语句,以实现如下功能:字节变量string中存放着一个字符串,以0DH为结束标志,求串长度并送字变量count中。 lea si,string mov al,0dh xor cx,cx goon: cmp al,si jz next inc cx _inc si_ jm
4、p goon next: mov cont,cx7.下述程序段运行后,AL=_88h_、CL=_80h_ _。 mov al,38h mov bl,49h call sub0 inc al dec cl sub0 proc add al,bl mov cl,al daa ret sub0 endpdaa:加法的十进制调整指令(AL)把AL的和调整到压缩的BCD格式这条指令执行前必须执行ADD或ADC指令,加法指令必须把两个压缩的BCD码相加,并把结果存放在AL寄存器中。本指令的调整方法:若AF标志(辅助进位位)为1,或AL寄存器的低4位是16进制的AF,则AL寄存器内容加06H,且将AF位置1
5、。若CF标志为1,或AL寄存器的高4位是16进制的AF,则AL寄存器内容加60H,且将CF位置1。DAA指令对OF标志无定义,但影响所有其他条件标志。8.阅读如下子程序,说明它的功能: sumary proc xor ax,ax xor dx,dx ;执行后,DX= 0 。 again: add ax,bx adc dx,0 ;执行的操作是DX= DX+0+CF 。 inc bx inc bx loop again ;发生转移的条件是: cx 0 。 ret sumary endp子程序的入口参数:DS:BX=_16数组首地址、CX=_数据个数。子程序的出口参数:AX=_求和结果低16位、DX
6、=_求和结果高16位。子程序功能为:_将CX个16位无符号数求和。三、问答题1. 什么是多重循环?循环体中存在循环结构就形成多重循环。2.于程序中为什么需要现场保护和恢复?如何实现?主程序和子程序可能都要使用某个现场数据,例如,寄存器内容。如果子程序不进行保护,就会改变原来的内容,返回主程序后将使主程序产生错误的执行结果。所以,通常子程序开始保护现场数据,返回之前恢复原来的数据。现场保护和恢复通常借用堆栈区实现,也可以采用特定区的方法。也就是把现成数据暂存入堆栈区域或特定存储区实现保护。实现恢复则是从堆栈或存储区取出被保护的数据。3.试述过程定义的一般格式。过程定义采用proc和endp一对伪
7、指令实现,有一个用户定义的过程名(subname),可以选择是近(near)调用还是远(far)调用。这对伪指令中间是过程体,有任意合法的汇编语言语句组成,如下所示:subname procnear/far ; 过程定义. ; 过程体subname endp ; 过程结束4.什么是子程序嵌套和子程序递归?子程序中又调用子程序就形成子程序嵌套。子程序中直接或间接调用该子程序本身就形成子程序递归。5.说明子程序参数传递的三种主要方法。寄存器、共享变量(公共存储单元)、堆栈四、程序阅读题1.dal数据区中有50个字节数据,下面程序段将每个数据的低四位变反,高四位不变,并依次存人da2数据区中。请将程
8、序补充完整。 mov cx,50 lea si,dal lea di,da2 K1: mov al,si xor al,0fh movdi,al inc si inc di dec cx _jnz k1_2.下面是一个用地址表方法实现多分支的程序段。它根据xyz单元中的数据,找到地址表中的对应地址实现转移,请将程序补充完整: xyztbl dw addr0 dw addrl dw addr2 dw addr3 xyz db 2 lea si,xyztbl mov ax,xyz _add ax,ax (或shl ax,1) add si,ax _mov bx,si_ jmp bx3.下述程序段运
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 题目 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内