21,459
社区成员
发帖
与我相关
我的任务
分享
ASSUME CS:CODES,SS:STACKS
STACKS SEGMENT
dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
STACKS ENDS
codes segment
START:
MOV AX,STACKS
MOV SS,AX
mov sp,16
mov bp,sp
sub sp,6
mov word ptr [bp-6],0001
mov word ptr [bp-4],0002
mov word ptr [bp-2],0000
push [bp-2]
push [bp-4]
push [bp-6]
call addr1
;add sp,6;此处如果不注释掉的话,栈内的数据会有很大的改变,这是为什么?
inc word ptr [bp-2]
MOV AH,4CH
INT 21H
addr1: push bp
mov bp,sp
mov ax,[bp+4]
add ax,[bp+6]
mov [bp+14],ax
mov sp,bp
pop bp
ret
CODES ENDS
END START