请教这个$代表的是多大呢?

guaiwei 2005-01-18 04:36:16
小弟在看汇编代码的时候有一个东西不明白。比如

//局部任务描述表
LDTSEG SEGMENT PARA USE16 "LDT"
CODEL DESCRIPTOR <CODELLEN-1,CODELSEG,,,,>
CODEL_SEL = (CODEL-LDT)+40H

//显示信息缓冲区
MDATASEG SEGMENT PARA USE16 "MDATA"
MESSAGE DB 'value=',0
BUFFER DB 80 DUP (0)
MDATALEN = $
MDATASEG END

这里的MDATALEN代表的是从开始定义局部描述表开始算起的长度呢还是从MDATASEG 开始算起来的长度呢??
请大侠们指点迷津,小弟在此谢过了


...全文
126 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tudou614 2005-03-05
  • 打赏
  • 举报
回复
.
ant0702 2005-01-26
  • 打赏
  • 举报
回复
当前位置
csdnor 2005-01-25
  • 打赏
  • 举报
回复
当前正在汇编的地址
Allen 2005-01-25
  • 打赏
  • 举报
回复
由于等号不占用指令字,所以$的位置相当于紧靠着MDATA段后面一个指令(如果有的话)的偏移地址(从当前段开始算偏移)。换个角度看,它正是段的字节长度。
不过在这里用$有点费解,因为既然不占指令,而‘$’又是当前指令的位置。我一般在算长度的时候用两个标量的差,如 Length = SegEnd - SegStart
shinesi 2005-01-21
  • 打赏
  • 举报
回复
同意楼上,是当前位置
AMinfo 2005-01-20
  • 打赏
  • 举报
回复
$代表从MDATASEG 开始算起来的长度
Allen 2005-01-20
  • 打赏
  • 举报
回复
应该是执行到当前指令的IP值
VxD1 2005-01-18
  • 打赏
  • 举报
回复
应该是从段定义开始的

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧