汇编中将代码,数据,栈放入相同段空间的缺点
来源:互联网 发布:淘宝顶呱呱代练lol 编辑:程序博客网 时间:2024/04/30 12:45
首先看看将代码,数据,栈放入相同的段
;数据代码放同一内存段处理,把数据逆序排放assume cs:codecode segmentdw 0123h,0456h,0789h,0abch,0defh,0fabh,0fcdh,0feahdw 0,0,0,0,0,0,0,0;定义8个字型数据,当作栈空间使用,dw既可以当作是定义数据也可以是当作开辟内存空间 start:mov ax,csmov ss,axmov sp,32;设置栈顶cs:sp指向cs:20h,栈空的时候栈顶指向下一个单元mov bx,0mov cx,8 L:push cs:[bx]add bx,2loop L ;把cs:0-cs:f8个字型数据依次放入栈中mov bx,0mov cx,8 L2:pop cs:[bx]add bx,2loop L2;把数据依次出栈mov ax,4c00hint 21hcode endsend start;end除了表示程序结束还可以表示程序的开始,end start指明程序入口地址;cs:ip是根据程序的描述信息(编译时的伪指令)设置程序的入口
这样编写时要注意哪些是数据,哪些是栈,哪些是代码,会有两个问题
1程序显得混乱
2上面的程序是栈数据比较少,数据,代码,栈空间需要的空间小于64kb(8086cpu中一个段空间最大的是64kb),如果需要空间大于64kb(大于64kb,cpu就寻不到超出的地址空间,)不能放在一个段中
阅读全文
0 0
- 汇编中将代码,数据,栈放入相同段空间的缺点
- 汇编中数据,代码,栈放入不同段程序代码测试
- 一段汇编小程序及说明——将数据,代码,栈放入不同的段
- 将数据、代码、栈放入不同段(0603)
- 16位汇编 数据段 栈段 代码段
- 8086汇编学习之代码段、数据段、栈段与段地址寄存器
- 汇编的数据段和栈
- C#中将大量不变的数据放入cache中
- 从一个实例的vs2005汇编代码分析变量在段上的分配--数据段,代码段,BSS段
- 汇编学习-在代码段使用数据以及多段的使用
- sql 查询表字段相同的数据
- 进程的虚拟地址空间,堆栈、堆、数据段、代码段
- 进程的虚拟地址空间,堆栈、堆、数据段、代码段(转)
- 进程的虚拟地址空间,堆栈、堆、数据段、代码段
- 进程的虚拟地址空间,堆栈、堆、数据段、代码段
- 进程的虚拟地址空间,堆栈、堆、数据段、代码段
- 进程的虚拟地址空间,堆栈、堆、数据段、代码段
- 进程的虚拟地址空间,堆栈、堆、数据段、代码段
- 两两交换链表中的节点
- 全栈(FullStack)工程师指南
- emWin 2天速成实例教程003_Framewin和Window窗口控件和2D绘图
- C#多线程之二:ManualResetEvent和AutoResetEvent
- linux内核中断
- 汇编中将代码,数据,栈放入相同段空间的缺点
- 线程间的通信、同步方式与进程间通信方式
- leetcode有序数组转换成BST
- 用迅雷下载好的win7系统怎么安装?
- 深入浅出数据仓库中SQL性能优化之Hive篇
- web服务器、容器和中间件
- SpringMVC的各种参数绑定方式
- ETL作业调度工具TASKCTL的两个重大突破
- java集合