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
在内存中 是这样的