段名到底代表什么?
时间:2010-12-31
来源:互联网
data segment para
num dd 12h
len=$-data ;此时的段名似乎是表示数据段的偏移地址
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data ;此时段名似乎是表示数据段的段地址
mov ds,ax
mov bx,len
mov cx,offset data
mov ax,4c00h
int 21h
code ends
end start
我看王爽的书里是说段名代表的是段地址,可是在我程序里len=$-data,因为$表示的是计数器的
值,也就是偏移地址,所以len=$-data似乎有矛盾,请问怎么解释?
num dd 12h
len=$-data ;此时的段名似乎是表示数据段的偏移地址
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data ;此时段名似乎是表示数据段的段地址
mov ds,ax
mov bx,len
mov cx,offset data
mov ax,4c00h
int 21h
code ends
end start
我看王爽的书里是说段名代表的是段地址,可是在我程序里len=$-data,因为$表示的是计数器的
值,也就是偏移地址,所以len=$-data似乎有矛盾,请问怎么解释?
作者: leetow2003 发布时间: 2010-12-31
还是用 len=$-NUM更清楚些。
个人觉得len=$-data 有点len=$-0的意思。
segment表示新申请一片空间构成一个段,段名主要表示这个段的段地址,同时也隐含着偏移地址从0开始算起的意思。
个人觉得len=$-data 有点len=$-0的意思。
segment表示新申请一片空间构成一个段,段名主要表示这个段的段地址,同时也隐含着偏移地址从0开始算起的意思。
作者: shzhfu 发布时间: 2010-12-31
段值肯定是指的段边界了。也就是楼主说的段地址。所以可以直接mov ds,ax。
至$, 我觉得编译的时候有可能会将它转变成$-segment*16
至$, 我觉得编译的时候有可能会将它转变成$-segment*16
作者: ydfivy 发布时间: 2010-12-31
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28