帮忙解释几句代码

buqitianxie 2011-01-17 08:56:55
PARTNO DW ?
PNAME DB 16DUP(?)
COUNT DD ?
PLENTH EQU $-PADTNO

前三句好像都是定义,第四句不明白?
...全文
55 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
buqitianxie 2011-01-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cnzdgs 的回复:]

引用 3 楼 buqitianxie 的回复:
那PLENTH的值应该是22(2+16+14)对吧

对(2+16+4)
[/Quote]
谢谢
cnzdgs 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 buqitianxie 的回复:]
那PLENTH的值应该是22(2+16+14)对吧
[/Quote]
对(2+16+4)
buqitianxie 2011-01-17
  • 打赏
  • 举报
回复
那PLENTH的值应该是22(2+16+14)对吧
masmaster 2011-01-17
  • 打赏
  • 举报
回复
equ是masm的一个伪指令, 用于将其后表达式的结果同前面的变量联系起来。在这里,就是把PLENTH的偏移地址($)到PARTNO的偏移地址的距离差(字节)复制给变量PLENTH。
znxllyuan 2011-01-17
  • 打赏
  • 举报
回复
PARTNO DW ? PARTNO是一个字类型变量 值不确定
PNAME DB 16 DUP (?) PNAME 是一个字节型变量 占16字节 值不确定
COUNT DD ? COUNT就是双字变量 值不确定
PLENTH EQU $-PADTNO PLENTH的值=当前偏移-PADTNO的偏移 也就是说存放的是PADTNO到当前的长度


最后一个例子:
WOTE DB '12345678'
count EQU $-WOTE 如果要一个一个输出字符的话就不用数个数了 在COUNT里存放的就是字符的个数


WOTE DB '12345678'
count EQU $-WOTE


WOTE DB '12345678'
count DB $-WOTE

count EQU $-WOTE 定义了一个常量,不占用内存单元,代码段中使用它,等价于使用一个立即数。

count DW $-WOTE 定义了一个变量,占用2个字节的内存单元,代码段中使用它,就变成一个[偏移地址]。

(引用SHZHFU)


21,459

社区成员

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

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