zoukankan      html  css  js  c++  java
  • ASM调用子过程,传参方式

    1。寄存器传值

     1     page 60,132
     2 TITLE 堆栈传值
     3 ;------------------------------------
     4         .MODEL     SMALL
     5         .STACK    64
     6 ;------------------------------------
     7 .DATA
     8 BCX        DW    65535    ;被乘数
     9 MULS    DW    2        ;乘数
    10 ;------------------------------------
    11         .CODE        
    12 MAIN    PROC    FAR
    13         MOV AX,@data
    14         MOV DS,AX
    15         
    16         PUSH BCX
    17         PUSH MULS
    18         
    19         CALL MYMUL
    20                 
    21         MOV        AX,4C00H
    22         INT     21H
    23 MAIN    ENDP        ;过程结束
    24 
    25 MYMUL     PROC NEAR
    26         PUSH BP
    27         MOV BP,SP
    28         MOV AX,SS:[BP+6]
    29         MUL WORD PTR SS:[BP+4]
    30         
    31         POP BP
    32         RET 4
    33 MYMUL     ENDP
    34 
    35         END MAIN    ;程序结束
    36         

    2。堆栈传值。

     1     page 60,132
     2 TITLE 堆栈传值
     3 ;------------------------------------
     4         .MODEL     SMALL
     5         .STACK    64
     6 ;------------------------------------
     7 .DATA
     8 BCX        DW    65535    ;被乘数
     9 MULS    DW    2        ;乘数
    10 ;------------------------------------
    11         .CODE        
    12 MAIN    PROC    FAR
    13         MOV AX,@data
    14         MOV DS,AX
    15         
    16         PUSH BCX
    17         PUSH MULS
    18         
    19         CALL MYMUL
    20                 
    21         MOV        AX,4C00H
    22         INT     21H
    23 MAIN    ENDP        ;过程结束
    24 
    25 MYMUL     PROC NEAR
    26         PUSH BP
    27         MOV BP,SP
    28         MOV AX,SS:[BP+6]
    29         MUL WORD PTR SS:[BP+4]
    30         
    31         POP BP
    32         RET 4
    33 MYMUL     ENDP
    34 
    35         END MAIN    ;程序结束
    36         

    3。寄存器传引用

     1     page 60,132
     2 TITLE 寄存器传引用
     3 ;------------------------------------
     4         .MODEL     SMALL
     5         .STACK    64
     6 ;------------------------------------
     7 .DATA
     8 BCX        DW    65535    ;被乘数
     9 MULS    DW    2        ;乘数
    10 ;------------------------------------
    11         .CODE        
    12 MAIN    PROC    FAR
    13         MOV AX,@data
    14         MOV DS,AX
    15         LEA BX,BCX
    16         LEA SI,MULS
    17         
    18         CALL MYMUL
    19                 
    20         MOV        AX,4C00H
    21         INT     21H
    22 MAIN    ENDP        ;过程结束
    23 
    24 MYMUL     PROC NEAR
    25         MOV AX,[BX]
    26         MUL WORD PTR [SI]
    27         RET
    28 MYMUL     ENDP
    29 
    30         END MAIN    ;程序结束
    31         


    4。堆栈传引用

     1     page 60,132
     2 TITLE  堆栈传引用
     3 ;------------------------------------
     4         .MODEL     SMALL
     5         .STACK    64
     6 ;------------------------------------
     7 .DATA
     8 BCX        DW    65535    ;被乘数
     9 MULS    DW    2        ;乘数
    10 ;------------------------------------
    11         .CODE        
    12 MAIN    PROC    FAR
    13         MOV AX,@data
    14         MOV DS,AX
    15         
    16         LEA AX, OFFSET BCX
    17         PUSH AX
    18         LEA AX, OFFSET MULS
    19         PUSH AX
    20         CALL MYMUL
    21                 
    22         MOV        AX,4C00H
    23         INT     21H
    24 MAIN    ENDP        ;过程结束
    25 
    26 MYMUL     PROC NEAR
    27         
    28         PUSH BP
    29         MOV BP,SP
    30         MOV BX,[BP+6]
    31         MOV SI,[BP+4]
    32         MOV AX,[BX]
    33         MUL WORD PTR [SI]
    34         
    35         POP BP        
    36         RET 4
    37         
    38 MYMUL     ENDP
    39 
    40         END MAIN    ;程序结束
    41         
  • 相关阅读:
    Git安装及配置-拉取远程仓库代码
    Leangoo领歌敏捷项目管理工具新增测试管理功能
    Xcode中的Vim--XVim
    npm安装报错:源文本中存在无法识别的标记
    给找不到类型文件的依赖增加TypeScript类型声明
    输入框为空时,按钮灰色不可点
    Django settings.py设置 DEBUG=False后静态文件无法加载解决
    mongodb系列~开发规范
    mongodb系列~升级版本
    CIM基础平台性能指标
  • 原文地址:https://www.cnblogs.com/wucg/p/2447096.html
Copyright © 2011-2022 走看看