用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
w9521423的公告
<a href="http://luckisok.x.sfbbs.net/web.php" target="_blank"><font size=6>汇编论坛</font> </a><br> <img src=http://blog.csdn.net/images/blog_csdn_net/w9521423/150303/r_00.gif></a> <p>高效人士的七个习惯</p> <p>习惯一:主动积极 <p>习惯二:以终为始 <p>习惯三:要事第一 <p>习惯四:双赢思维 <p>习惯五:知彼解己 <p>习惯六:统合综效 <p>习惯七:不断更新</P>
文章分类
黑客站点
AoGo汇编小站
CVC电脑病毒论坛
gzfqh的专栏
中国X黑客小组
免费电子书下载---每日更新
看雪学院
第八军团
信息安全站点
中国信息安全组织
资源站点
IT世界网
yangqingfei的blog
中国实话网
中国教程网
中国破解者
公益电子书
存档

转载  过程设计有关问题 收藏

 
 

过程定义语句PROCENDP必须有名字,两者成对出现.

procedure_name    PROC    [ NEAR | FAR ]        ;要说明是NEAR过程或FAR过程.

...

RET        ;RET 返回指令必须与[ NEAR  |  FAR ] 对应

procedure_name    ENDP

注:主程序和所调用的过程在同一代码段中,则定义说明为NEAR属性

    主程序和所调用的过程不在同一代码段中,则定义说明为FAR属性

 

过程文档说明

1.过程名

2.功能说明

3.占用寄存器、工作单元说明

4.输入参数说明

5.输出参数说明

 

现场保护及现场恢复的两种方法

1.利用PUSH指令将过程要占用的寄存器的内容保存在堆栈中,恢复时用POP指令从栈中取出.

如果在主程序用PUSH指令保护寄存器,则要在主程序中用POP指令恢复寄存器.

如果在过程中用PUSH指令保护寄存器,则要在过程中用POP指令恢复寄存器.

SUB1    PROC    NEAR   ;本例在过程中使用PUSHPOP

        PUSH    AX        ;入栈保护 [into stack to protect]

        PUSH    BX

        PUSH    DX

        ...

        POP    DX        ;出栈恢复 [out  stack  to restore]

        POP    BX

        POP    AX

        RET

SUB1    ENDP

2.利用数据传送指令将过程要占用的寄存器的内容保存到指定的内存单元,恢复时再取回到相应的寄存器中.

BUFFER    DW    10    DUP(?)        ;指定的内存单元 [specified  memory block]

...

SUB1    PROC    NEAR

        MOV    DI , OFFSET BUFFER  ;将寄存器存入到内存单元保护 [save memory block to protecte register]

        MOV    [DI] , AX

        MOV    [DI+2] , BX

        MOV    [DI+4] , DX

        ...

        MOV    SI , OFFSET  BUFFER  ;从内存单元取回到相应的寄存器[restored register from memory block]

        MOV    AX , [SI]

        MOV    BX , [SI+2]

        MOV    DX , [SI+4]

        RET

SUB1    ENDP

 

主程序和过程间参数传递的三种方法寄存器传递、堆栈传递、存储器传递

调用过程前,必须把操作中的加工处理数据传送给过程,这些加工处理数据称为输入参数.

返回主程序前,把本次操作的最终结果传递给主程序,这些加工处理所得的结果称为输出参数.

A:寄存器传递  <详细信息>

 

B:堆栈传递   <详细信息>

  

C:存储器传递   <详细信息>

发表于 @ 2006年10月15日 15:39:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇: 汇编语言超浓缩教程 | 新一篇:寻址方式总结

  • 发表评论
  • 评论内容:
  •  
Copyright © w9521423
Powered by CSDN Blog