第十名directives/pseudops
DASM directives/pseudops
我正在查看文档,有一些伪操作让我难以接受,它们是 DV
、LIST
和 XXX
。
DV
说是像 DC
但与 EQM
一起使用,我弄乱了它,但我没有注意到任何区别,我试图找到任何示例,但找不到任何示例。
LIST
和 XXX
,我也不确定它们是如何工作的。
DV
DV
做宏展开。最好用一个例子来证明这一点。
mymacro eqm 10 + ..
mylist dv mymacro 1, 2, 3
第一行定义了一个将用作宏的符号mymacro
。圆点 (..
) 作为参数。
在第二行中,宏应用于列表中的每个表达式。从左到右:
- 1 替换为 10 + 1
- 2 替换为 10 + 2
- 3 替换为 10 + 3
基本上,第二行相当于:
mylist dc 10 + 1, 10 + 2, 10 + 3
这显然等同于:
mylist dc 11, 12, 13
这个例子很简单;当宏包含符号时,DV
可能更有用。
例如:
mylabel dc "ABCD"
mymacro eqm mylabel + ..
mylist dv mymacro 1, 2, 3
相当于:
mylabel dc "ABCD"
mylist dc mylabel + 1, mylabel + 2, mylabel + 3
列表
LIST OFF
和 LIST ON
影响写入列表文件的输出。
通常,源文件中的每一行都会写入列表文件;这被 LIST OFF
抑制了。不过,错误消息仍会写入列表文件。
显然,只有在命令行(选项 -l
或 -L
)中指定了列表文件时才有效。
XXX
据我所知,DASM 没有伪操作 XXX
。
我猜你指的是 the documentation:
的这一部分
[label] XXX[.force] operand
XXX
只是一个占位符;它可以是您喜欢的任何助记符,例如 lda
。
请参阅有关 FORCE 扩展的部分。
我正在查看文档,有一些伪操作让我难以接受,它们是 DV
、LIST
和 XXX
。
DV
说是像 DC
但与 EQM
一起使用,我弄乱了它,但我没有注意到任何区别,我试图找到任何示例,但找不到任何示例。
LIST
和 XXX
,我也不确定它们是如何工作的。
DV
DV
做宏展开。最好用一个例子来证明这一点。
mymacro eqm 10 + ..
mylist dv mymacro 1, 2, 3
第一行定义了一个将用作宏的符号mymacro
。圆点 (..
) 作为参数。
在第二行中,宏应用于列表中的每个表达式。从左到右:
- 1 替换为 10 + 1
- 2 替换为 10 + 2
- 3 替换为 10 + 3
基本上,第二行相当于:
mylist dc 10 + 1, 10 + 2, 10 + 3
这显然等同于:
mylist dc 11, 12, 13
这个例子很简单;当宏包含符号时,DV
可能更有用。
例如:
mylabel dc "ABCD"
mymacro eqm mylabel + ..
mylist dv mymacro 1, 2, 3
相当于:
mylabel dc "ABCD"
mylist dc mylabel + 1, mylabel + 2, mylabel + 3
列表
LIST OFF
和 LIST ON
影响写入列表文件的输出。
通常,源文件中的每一行都会写入列表文件;这被 LIST OFF
抑制了。不过,错误消息仍会写入列表文件。
显然,只有在命令行(选项 -l
或 -L
)中指定了列表文件时才有效。
XXX
据我所知,DASM 没有伪操作 XXX
。
我猜你指的是 the documentation:
[label] XXX[.force] operand
XXX
只是一个占位符;它可以是您喜欢的任何助记符,例如 lda
。
请参阅有关 FORCE 扩展的部分。