汇编语言习题答案 (4)

汇编语言习题答案 (4)

ID:15054859

大小:58.00 KB

页数:8页

时间:2018-08-01

汇编语言习题答案 (4)_第1页
汇编语言习题答案 (4)_第2页
汇编语言习题答案 (4)_第3页
汇编语言习题答案 (4)_第4页
汇编语言习题答案 (4)_第5页
资源描述:

《汇编语言习题答案 (4)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第4章自测练习一、选择题(四选一)1.设计子程序应该采用的一对伪指令是__C_________。Asegment/endsBstart/endstartCproc/endpDmacro/endm2.主程序将它的参数带给子程序,这个参数被称为A。A入口参数B出口参数C寄存器参数D存储器参数3.对应主程序CALL指令调用子程序,子程序结束通常采用__D_______指令返回主程序。AjmpBiretChltDret4.下面程序段条件转移语句发生跳转的条件是AL=___D_____。cmpal,0fbhjnlnextA80hB8fhC0f0hD0ffh5.如下程序段中的“dec

2、cx”指令执行了_C________次。movcx,4jcxznextagain:deccxjnzagainnext:...A0B1C4D5二、填空题1.程序的基本结构有顺序、分支、循环和子程序四种。2.子程序可以通过__寄存器_、存储单元、(地址表)、_堆栈_等传递参数。3.循环结构的程序通常由初始部分、循环体和循环控制三部分组成。4.如果主程序调用与它处在同一个代码段的子程序,这是段内调用。5.下面程序段完成将存储单元abcd1中一个压缩型BCD码拆成两个非压缩型BCD码,高位BCD码存放在abcd3单元,低位BCD码存放在abcd2单元,再分别转换为对应的ASCⅡ码

3、。请将程序补充完整:moval,abcdlmovcl,4shral,clOral,30hmovabcd3,almoval,abcdlandal,0fhorlal,30hmovabcd2,al6.在下述程序段的每一空框内填入一个语句,以实现如下功能:字节变量string中存放着一个字符串,以0DH为结束标志,求串长度并送字变量count中。leasi,stringmoval,0dhxorcx,cx8goon:cmpal,[si]jznextinccx_incsi_________jmpgoonnext:movcont,cx7.下述程序段运行后,AL=__88h_______

4、、CL=__80h____。moval,38hmovbl,49hcallsub0incaldeccl…sub0procaddal,blmovcl,aldaaretsub0endpdaa:加法的十进制调整指令(AL)←把AL的和调整到压缩的BCD格式这条指令执行前必须执行ADD或ADC指令,加法指令必须把两个压缩的BCD码相加,并把结果存放在AL寄存器中。本指令的调整方法:若AF标志(辅助进位位)为1,或AL寄存器的低4位是16进制的A~F,则AL寄存器内容加06H,且将AF位置1。若CF标志为1,或AL寄存器的高4位是16进制的A~F,则AL寄存器内容加60H,且将CF位

5、置1。DAA指令对OF标志无定义,但影响所有其他条件标志。8.阅读如下子程序,说明它的功能:sumaryprocxorax,axxordx,dx;执行后,DX=0。again:addax,[bx]adcdx,0;执行的操作是DX=DX+0+CF。incbxincbxloopagain;发生转移的条件是:cx≠0。retsumaryendp子程序的入口参数:DS:BX=_16数组首地址、CX=_数据个数。子程序的出口参数:AX=_求和结果低16位、DX=_求和结果高16位。子程序功能为:_将CX个16位无符号数求和。三、问答题81.什么是多重循环?循环体中存在循环结构就形成

6、多重循环。2.于程序中为什么需要现场保护和恢复?如何实现?主程序和子程序可能都要使用某个现场数据,例如,寄存器内容。如果子程序不进行保护,就会改变原来的内容,返回主程序后将使主程序产生错误的执行结果。所以,通常子程序开始保护现场数据,返回之前恢复原来的数据。现场保护和恢复通常借用堆栈区实现,也可以采用特定区的方法。也就是把现成数据暂存入堆栈区域或特定存储区实现保护。实现恢复则是从堆栈或存储区取出被保护的数据。3.试述过程定义的一般格式。过程定义采用proc和endp一对伪指令实现,有一个用户定义的过程名(subname),可以选择是近(near)调用还是远(far)调用。

7、这对伪指令中间是过程体,有任意合法的汇编语言语句组成,如下所示:subnameproc[near/far];过程定义.......;过程体subnameendp;过程结束4.什么是子程序嵌套和子程序递归?子程序中又调用子程序就形成子程序嵌套。子程序中直接或间接调用该子程序本身就形成子程序递归。5.说明子程序参数传递的三种主要方法。寄存器、共享变量(公共存储单元)、堆栈四、程序阅读题1.dal数据区中有50个字节数据,下面程序段将每个数据的低四位变反,高四位不变,并依次存人da2数据区中。请将程序补充完整。movcx,50lea

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。