第四讲.函数传参
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