初学:关于段与段内存关系
时间:2010-11-08
来源:互联网
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
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
mov ax,4c00h
int 21h
code ends
end start
程序加载后,通过debug cs=13d1 stack段地址是:13d0 data段地址是:13cf
三者段地址都相差1,这是为什么呢?想知道下其中的过程
另外再问下当编译器编到data或stack或code标记的时候。应该还没有确定他的物理内存地址吧,?
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
mov ax,4c00h
int 21h
code ends
end start
程序加载后,通过debug cs=13d1 stack段地址是:13d0 data段地址是:13cf
三者段地址都相差1,这是为什么呢?想知道下其中的过程
另外再问下当编译器编到data或stack或code标记的时候。应该还没有确定他的物理内存地址吧,?
作者: yg23hhxj 发布时间: 2010-11-08
最关键的问题,CPU或编译器是如何来确定data或stack或CODE的物理地址的呢?知道其中过程的朋友说下
作者: yg23hhxj 发布时间: 2010-11-08
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28