DASM指令/伪指令

时间:2018-07-06 20:52:17

标签: assembly 6502

我正在浏览文档,其中有一些伪操作,它们是<input name='name' /> DVLIST

XXX说的像DV,但与DC一起使用时,我已经弄乱了,但是我没有注意到有什么不同,我尝试查找任何示例,但找不到任何东西。

EQMLIST,我也不知道它们是如何工作的。

1 个答案:

答案 0 :(得分:4)

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 OFFLIST ON影响将输出写入列表文件。 通常,源文件中的每一行都会写入列表文件; LIST OFF禁止这样做。但是,错误消息仍将写入列表文件。

很明显,这仅在命令行上指定了列表文件(选项-l-L)时有效。

XXX

据我所知,DASM没有伪值XXX。 我猜您是在指the documentation的这一部分:

[label] XXX[.force] operand

XXX只是一个占位符;它可以是您喜欢的任何助记符,例如lda。 请参阅有关FORCE扩展的部分。