您的位置:首页 > 编程语言 > C语言/C++

汇编利用call后续区传递参数

2016-10-19 10:26 260 查看
code segment
assume cs:code

;main函数用来测试下面函数功能
main proc
start:
call definedAdd
dw 10
dw 20
mov ax,1000h

mov ax,4c00h
int 21h
ret
main endp
;测试函数 利用call中断来传递参数

definedAdd proc far
push bp ;用bp来操作栈
mov bp,sp;

push ds
push bx

mov ax,[bp+4]
mov ds,ax

mov ax,[bp+2]
mov bx,ax

mov ax,ds:[bx]
add ax,ds:[bx+2]

add bx,4     ;从程序开始的位置跳过4个字节开始执行
mov [bp+2],bx

pop bx
pop ds
pop bp
retf
definedAdd endp

code ends
end start

在内存中 是这样的

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  汇编 pop c语言