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         
  • 相关阅读:
    学WPF (1 of n)干啥都有第一次
    程序启动时显示Flash窗体(C#)
    对象序列化后直接获取byte[]的方法
    工程管理(1 of n): 建立用于管理代码开发的注释标记
    发现Visual Studio隐含的大礼包漂亮的Visual Studio图像库
    C# Hello World
    更人性化地控制用户输入(1 of n)
    快手导航 计算机软件网址导航 时空地图TimeGIS
    中国图书馆图书分类法(Chinese Library Classification CLC)的XML文档生成 时空地图TimeGIS
    快手软件 v2.5 发布 时空地图TimeGIS
  • 原文地址:https://www.cnblogs.com/wucg/p/2447096.html
Copyright © 2011-2022 走看看