汇编学习--7.11--多段综合编程
来源:互联网 发布:疯狂java讲义第4版下载 编辑:程序博客网 时间:2024/04/30 02:20
db 数据,数据,数据——define byte
在源代码段中使用数据:
在debug中加载.exe文件,我们手动将CS:IP指向指令执行的第一句,然后就可以执行。
在系统中如果要直接执行.exe文件,会出现问题,因为程序的入口处并不是代码,而是数据。因此,用“ start:”标号和对应的end “start”标号来设置程序的入口。
申请栈空间:通过定义数据来获得一段空间。即定义:dw 0,0,0,0,0,0,0,0,0
初始化栈空间:将SS:SP指向CS:(数据段长度+栈段长度),注意是16进制!示例:
dw 0123H,0123H,0123H,0123H,0123H,0123H,0123H,0123H 数据共16字节,IP:00——0F
dw 0,0,0,0,0,0,0,0 栈共16字节,IP:10——1F
则SS:SP 为CS:20
数据、代码、栈放在一个段的结构:
assume cs:code
code segment
……数据……
……堆栈……
start:
……代码……
code ends
end start
程序 = 原程序的指令 + 数据;
描述信息 = 处理伪指令所得到的信息。
assume cs:code ds:data ss:stack
data segment ;最先出现的data段的段地址最小
……数据……
data ends
stack segment ;其次是stack段的段地址增加
……堆栈……
stack ends
code segment ;最后code出现最晚,段地址继续增加
start:
……代码……
code ends
end start
计算方法:34/16=2.1 >= 2.0 ,则(2.0+1)*16=48 byte 或者写为3H byte。
4/16=0.2 >=0.0,则(0.0+1)*16=16byte 或者写为 1H byte。
- 汇编学习--7.11--多段综合编程
- 汇编学习笔记-段前缀
- 汇编学习-在代码段使用数据以及多段的使用
- [汇编学习]在代码段使用栈
- ARM汇编编程学习
- 8086汇编学习之代码段、数据段、栈段与段地址寄存器
- GNU ARM汇编(综合的学习资料)
- js综合代码段
- 汇编学习笔记----8086CPU的段寄存器
- 汇编入门学习笔记 (十一)—— 内中段
- IDA反汇编学习- 修改.text段数据
- 汇编 各个 段
- 汇编:段的综述
- 汇编简化段定义
- 汇编fs段
- 《Oracle编程艺术》学习笔记(23)-段
- 学习windows32汇编编程(笔记)
- 8086汇编语言 新手汇编源代码---多段实例
- 九大内置对象
- 让OA选型与实施不再苦口难言
- datatlist控制日期显示格式
- LR中的web_reg_find函数用法
- 6 things every IT person should know
- 汇编学习--7.11--多段综合编程
- 抄袭,腾讯 和 产品
- fatal error C1189: #error : Your version of the Windows SDK is earlier than 6.0. Try setting the 'WI
- android 为摄像头增加闪光灯(s5pv210)
- Eclipse语言的切换方法
- MSP430复位电路
- 计划永远赶不上变化
- html滚动条
- Android常用名令集锦(图文并茂)!