【汇编语言学习笔记】第四讲.函数传参

第四讲.函数传参

1.通过寄存器进行传参操作

assume cs:code

code segment

addx proc ;加法函数开始
          add si,di ;用si和di传参数
          mov ax,si ;返回结果放到ax里并用si接收
          ret ; 进行一个返回
addx endp ;加法函数结束

rkmain proc ;主函数开始
          mov si,5 ;给si赋一个值
          mov di,6 ;给di赋一个值
          call addx ;调用一下加法函数
          mov bx,ax ;将结果放入bx里进行验证
          mov ax,4c00H ;返回一个中断
          int 21H ;程序结束
rkmain endp ;主函数结束

start:call rkmain

code ends
end start

2.通过堆栈进行传参操作

assume cs:code

code segment

addx proc ;加法函数开始
          push bp ;保存bp
          mov bp,sp;sp的值传给bp
          mov si,[bp+4];从bp+4的位置取
          add di,[bp+6];
          mov ax,si ;返回结果放到ax里并用si接收
          pop bp;把push的东西pop给bp
          ret ; 进行一个返回
addx endp ;加法函数结束

rkmain proc ;主函数开始
          mov ax,5 ;给ai赋一个值
          mov bx,6 ;给bx赋一个值
          push ax
          push bx
          call addx ;调用一下加法函数
          mov bx,ax ;将结果放入bx里进行验证
          mov ax,4c00H ;返回一个中断
          int 21H ;程序结束
rkmain endp ;主函数结束

start:call rkmain

code ends
end start

你可能感兴趣的:(汇编语言学习笔记,学习,开发语言,安全,汇编语言)