16位汇编 数据段 栈段 代码段
2016-08-30 11:37
183 查看
使用数据段,栈段,代码段 实现置换功能
0123 0456 0789 0abc 0def 0fed 0cba 0987
0987 0cba 0fed 0def 0abc 0789 0456 0123
assume cs:code, ds:data, ss:stack
data segment ;数据段
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment ;栈段
dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
stack ends
code segment ;代码段
start:
mov ax,stack ;设置栈段
mov ss,ax
mov sp,20h
mov ax,data ;设置数据段
mov ds,ax
mov bx,0
mov cx,8
s:
push [bx] ;压栈
add bx,2
loop s
mov bx,0
mov cx,8
s0:
pop [bx] ;出栈
add bx,2
loop s0
mov ax,4c00h
int 21
code ends
end start
0123 0456 0789 0abc 0def 0fed 0cba 0987
0987 0cba 0fed 0def 0abc 0789 0456 0123
assume cs:code, ds:data, ss:stack
data segment ;数据段
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment ;栈段
dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
stack ends
code segment ;代码段
start:
mov ax,stack ;设置栈段
mov ss,ax
mov sp,20h
mov ax,data ;设置数据段
mov ds,ax
mov bx,0
mov cx,8
s:
push [bx] ;压栈
add bx,2
loop s
mov bx,0
mov cx,8
s0:
pop [bx] ;出栈
add bx,2
loop s0
mov ax,4c00h
int 21
code ends
end start
相关文章推荐
- 8086汇编学习之代码段、数据段、栈段与段地址寄存器
- 8086汇编语言自学经验分享 如何将一个段设置为代码段,数据段,栈段
- 16位汇编 在代码段中使用数据
- 16位汇编 在代码段中使用栈
- 从一个实例的vs2005汇编代码分析变量在段上的分配--数据段,代码段,BSS段
- 汇编语言代码段和数据段
- 【汇编】代码段、数据段、堆栈段及向上增长和向下增长
- 32位代码段不能写显存吗?==里面提到怎么在汇编使用16位,32位标志
- [转]什么是代码段?什么是数据段?它们在汇编中完成什么内容?
- 汇编语言 单步调试失败 解决方法:代码段最好写在数据段的前面
- 【汇编】代码段、数据段、堆栈段及向上增长和向下增长
- 代码段、数据段、堆栈段、数据段辨析
- 数据段、代码段、堆栈段、BSS段的区别
- C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)
- linux包括三个段“数据段”,“代码段”, “堆栈段”
- 16位汇编与WIN32汇编的主要区别
- 汇编alpha运算处理 16位/64位
- 16位汇编 loop循环
- 在int型变量不是16位的处理器的情况下,下列代码段是否正确?为什么?
- 数据段、代码段、栈区、堆区