|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- assume cs:code
- a segment
- dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
- a ends
- b segment
- dw 0,0,0,0,0,0,0,0
- b ends
- code segment
- start:
- mov ax,a
- mov ds,ax
- ;源数据地址
- add ax,1
- mov ss,ax
- mov ax,16
- add sp,ax
- ; 构造栈
- mov ax,b
- mov es,ax
- ;目标数据地址
- mov bx,0
- mov cx,8
- sl: push ds:[bx]
- inc bx
- inc bx
- loop sl
- ; 存入栈
- mov bx,0
- mov cx,8
- ddl:pop es:[bx]
- inc bx
- inc bx
- loop ddl
- ; 出栈
- mov ax,4c00h
- int 21h
- code ends
- end start
复制代码
调试半天才搞定,一点注意
sp的计算要从0计算,16个字节数据最后一个数据是第15字节所以要设sp=16
有个疑问
给ss sp赋值后 栈中数据会改变,不是不应该改变么?
|
|