增加sp的值会改变栈内的数据?sp的值变化引起的栈内数据变化
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
这个程序时有汇编实现c=a+b,参数存在栈里面。但是有个问题:运行add sp,6前后,栈内的数据会有很大变化(如图),不清楚这个变化是由什么引起的,请大家帮我解析一下,万分感谢!

相关推荐
sql server中增加约束的语句、各种语句
---添加主键约束 alter table 表名 add constraint 约束名 primary key (主键) ---添加唯一约束 alter table 表名 add constraint 约束名 unique (字段) …… 在查询分析器中执行 1.sp_attach_db 将之前所删除的会计部门数据库加载只sql server 中 EXEC sp_attach_db @dbname='会计部门',@filename1='c:\mssql\data\会计部门.mdf' go 2.sp_rename 重命名数据库 EXEC sp_rename '会计部门','业务部门' 3.sp_changedbowner 将MIKE 设置为目前数据库的拥有者 EXEC sp_changedbowner 'MIKE' go 4.sp_helpdb 显示会计部门数据库的相关数据 EXEC sp_helpdb '会计部门' go ……
SP500股票数据
SP500中随机抽取的两只股票数据,从开盘到2013年8月份,可以用于简单的时间序列数据挖掘
Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈
---------------------------------------------------Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈
芯片sp485数据手册
接收数据 发送数据 ..................................................................................................
SP232数据手册
SP232数据手册 方便有需要的人参考


