汇编_函数的使用

Posted 一只特立独行的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编_函数的使用相关的知识,希望对你有一定的参考价值。

思想:

利用call指令跳转到函数语句,利用ret指令从函数返回主函数。利用寄存器或者内存来传递参数。

例题:

将1,2,3,4,5,6,7,8这8个数分别进行8次方,并放入内存。

代码:

assume cs:codeseg,ds:data

data segment
    dw 1,2,3,4,5,6,7,8
    dd 8 dup(0)
data ends

codeseg segment
start:
    mov ax, data
    mov ds, ax
    
    mov cx, 8;循环8次
    mov si, 0;记录dw偏移
    mov di, 0;记录dd偏移

    call func;

    mov ax, 4c00h
    int 21

func:
    mov bx, [si];从内存中读取数
    mov ax, bx
    mul bx
    mul bx
    mov [di+16],ax;低位
    mov [di+18],dx;高位
    add di, 4
    add si, 2
    loop func
    ret;返回主函数

codeseg ends
end start

试验结果:

以上是关于汇编_函数的使用的主要内容,如果未能解决你的问题,请参考以下文章

_stdcall 函数 debug/release汇编代码区别

汇编_函数的使用

MDK中嵌入汇编方法

AT&T x86_32 汇编_002_使用C库函数

汇编 ? cdecl 函数调用约定,stdcall 函数调用约定

防止 GCC LTO 删除函数