汇编网首页登录博客注册
masmaster的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
文章收藏

[2010-09-05 21:32] 习题4.10

对于可重入子程序,为什么不能利用固定的存储单元保存中间值?为什么不能利用约定存储单元传递参数?

答:
①约定存储单元保存的中间值在重入时可能被破坏。
②被中断后重新调用子程序,入口参数有可能被破坏,原调用的返回地址不正确。
所以,在设计重入子程序时不能利用约定存储单元传递参数和不能使用约定的存储单元保存中间值。...
阅读全文 | 评论次数(0) | 浏览次数(305) | 所属类型(汇编习题集)

[2010-09-05 17:24] 习题4.9

子程序的递归和冲入有何不同?

答:直接或间接调用子程序本身的调用行为成为递归调用。而重入则指的是子程序在中断后被重新调用。
子程序的重入和递归不同:重入是被动行为,递归是主动行为,重入前的调用和重入调用往往是互不相关,而递归调用前后密切相关。...
阅读全文 | 评论次数(0) | 浏览次数(310) | 所属类型(汇编习题集)

[2010-09-05 14:46] 习题4.8

如果利用堆栈传递参数,那么有两种平衡堆栈的方法,请比较两种方法

答:第一种是利用add指令将栈指针加4字节。以达到调用前后堆栈的平衡,另一种是用带立即数返回指令:ret 4。作用于第一种相同。...
阅读全文 | 评论次数(0) | 浏览次数(299) | 所属类型(汇编习题集)

[2010-09-05 12:17] 习题4.7

在汇编语言中,主程序和子程序之间如何传递参数? 请举例说明每种方法。并比较。

答:
①利用指定的寄存器传递参数:
利用寄存器传统参数就是把参数放在指定的寄存器中。这种传递方法实现简单调用方便,但是只适用于参数较少的情况。

②利用指定的存储单元传递参数:
如果要传递的参数较多的情况下,可以利用指定存储单元的内存变量来传递参数。优点是子程序要处理的数据或要送出的结果都有独立的存储单元。编写程序不容易出错。缺点是通用性很差。

③利用堆栈传递参数:
可以使用堆栈传递入口参数, 主程序在调用子程序之前,把需要传递的参数依次入栈,子程序从栈中取得入口参数;如果使用堆栈传递出口参数...
阅读全文 | 评论次数(0) | 浏览次数(302) | 所属类型(汇编习题集)

[2010-09-05 12:15] 习题4.6

请对保护和恢复寄存器的两种方法比较

答:①把需要保护的寄存器的内容,在主程序这压入堆栈和弹出堆栈。这种方法的优点是在每次调用子程序时只要把主程序所关心的寄存器入栈。缺点是如果多次调用子程序时会很麻烦累赘。②在子程序一开始就把子程序中要改变的寄存器内容入栈,在返回之前出栈恢复这些寄存器的内容。 优点是在在主程序可方便的调用子程序而无需考虑要把哪些寄存器入栈,只需在子程序里写一次入栈和出栈的指令即可。...
阅读全文 | 评论次数(0) | 浏览次数(322) | 所属类型(汇编习题集)

[2010-09-05 10:13] 习题4.5

是否可用过程返回指令ret调用某个过程?如果可能,请写出实现的程序片段

答:
可以的。 
;-----------------------------------------------------
assume  cs:code
code    segment
start:
        mov  ax,offset ok;将标号s的偏移地址装入ax
        push ax          ;偏移地址入栈
        ret              ;IP=ss*10h+SP,CS不变
        mov dl,'1'
        mov ...
阅读全文 | 评论次数(0) | 浏览次数(278) | 所属类型(汇编习题集)

[2010-09-05 08:49] 习题4.4

是否可用段内调用指令调用远过程? 如何可以,请举例说明

答:不能。如果所定义的远过程far属性,那么对它的调用和返回必须都是far属性。...
阅读全文 | 评论次数(0) | 浏览次数(369) | 所属类型(汇编习题集)

[2010-09-05 08:48] 习题4.3

请把过程调用指令call和无条件跳转指令jmp比较,说明他们的异同

答:他们都可以实现段内段间转移,不同的是,call保存下一条指令的地址。而jmp只是简单的跳转。...
阅读全文 | 评论次数(0) | 浏览次数(258) | 所属类型(汇编习题集)

[2010-09-05 08:44] 习题4.2

子程序说明信息应包含哪些内容?举例说明

答:子程序说明信息通常由下面几部分组成
①子程序名
②功能描述
③入口和出口参数
④所用寄存器和存储单元
⑤使用算法和性能指标
⑥调用注意事项和说明
例如:
;子程序名:hello
;功能:显示字符串
;入口参数:段地址为DS,偏移地址为BS指向的字符串
;出口参数:无
;...
阅读全文 | 评论次数(0) | 浏览次数(284) | 所属类型(汇编习题集)

[2010-09-05 08:34] 习题4.1

把怎样的程序片段设计成子程序或过程?

答:子程序就是一组在程序中实现一定功能且需要重复使用的一组指令代码。可以通过指令call调用,在子程序中,用ret注明返回。子程序定义格式如下:
子程序名   PROC 
           。。。
           。。。
           RET
子程序名   ENDP...
阅读全文 | 评论次数(0) | 浏览次数(293) | 所属类型(汇编习题集)
页码数(16):  1  2  3  4  5  6  7  8  9  10   >>