社区
汇编语言
帖子详情
汇编中段的地址问题
harrisonlee.net
2018-08-09 05:47:05
在汇编程序中,使用debug 1.exe
此时ds 为075c, cs为077c。但是我使用 d 075c: 0 3f并没有得到程序中数据段的数据,而是其他数据。
但是通过cs倒推,使用d 076c: 0 3f .此时得到了数据段里面的数据。
为什么这个ds的值和真正数据段的值相差10H呢?
...全文
583
4
打赏
收藏
汇编中段的地址问题
在汇编程序中,使用debug 1.exe 此时ds 为075c, cs为077c。但是我使用 d 075c: 0 3f并没有得到程序中数据段的数据,而是其他数据。 但是通过cs倒推,使用d 076c: 0 3f .此时得到了数据段里面的数据。 为什么这个ds的值和真正数据段的值相差10H呢?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qq_21896307
2018-08-11
打赏
举报
回复
dos 会在程序的前面有个叫程序段前缀 (PSP) 的部分,其大小为 100H 字节即 10H段,dos 在载入 exe程序后,ds/es 就是指向的这个部分,exe 里是没有记录 ds/es 初始设置的,程序自己要把它们指向到相应的地方。
qq_21896307
2018-08-11
打赏
举报
回复
dos 会在程序的前面有个叫程序段前缀 (PSP) 的部分,其大小为 100H 字节即 10H段,dos 在载入 exe程序后,ds/es 就是指向的这个部分,exe 里是没有记录 ds/es 初始设置的,程序自己要把它们指向到相应的地方。
zara
2018-08-10
打赏
举报
回复
dos 会在程序的前面有个叫程序段前缀 (PSP) 的部分,其大小为 100H 字节即 10H段,dos 在载入 exe程序后,ds/es 就是指向的这个部分,exe 里是没有记录 ds/es 初始设置的,程序自己要把它们指向到相应的地方。
[
汇编
语言]编译后的段
地址
是什么性质的
地址
?内存
地址
吗?
问题
来源:《
汇编
语言 第3版》P132 第一段: 程序中对段名的引用,如指令“mov ds,data”中的“data”,将被编译器处理为一个表示段
地址
的数值。 假如段
地址
是一个内存
地址
,那么
问题
来了——编译器处理的程序,属于静态编译吧?还没装载到内存中运行,怎么知道它的段
地址
呢?
汇编
中段
的使用
段与段不能重合使用!!! 下面这种做法很不安全,如果在程序中出现这种程序代码,将CS段
地址
直接赋值给SS段使用,有可能导致灾难性后果。因为在段初始化时,会将几个寄存器值放到段内,随着PUSH操作的进行,这些值将会向低
地址
方向作整体移动,此时会覆盖CS段内开始定义的8个字的数据。 assume cs:codesg codesg segment dw 0123h,0456h,0789h,0a...
在学习
汇编
过程中遇到的各种
地址
名称及解释
由于笔者水平有限,随笔中难免有些许纰漏和错误,希望广大读者能指正。
汇编
语言实验报告完整的
汇编
程序源程序的调试
汇编
语言
汇编
语言学习之路——
汇编
基础
目录: 1.基础知识 [bx]与loop指令 1.基础知识 [bx]与loop指令 要完整的描述一个内存单元,需要两种信息:(1)内存单元的
地址
;(2)内地单元的长度(类型)。 [0]表示一个内存单元时,0表示单元的偏移
地址
,段
地址
默认在ds中,单元的长度(类型)由具体指令中的其他操作对象(比如寄存器)指出。 [bx]同样也表示一个内存单元,偏移
地址
在bx中,段
地址
在d...
汇编语言
21,500
社区成员
41,619
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章