Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly DASM指令/伪指令_Assembly_6502 - Fatal编程技术网

Assembly DASM指令/伪指令

Assembly DASM指令/伪指令,assembly,6502,Assembly,6502,我正在浏览文档,有几个伪操作是我一直坚持的,它们是DV、LIST和XXX DV表示类似于DC,但与EQM一起使用,我对它进行了处理,但我没有注意到任何差异,我试图找到任何示例,但找不到任何示例 列表和XXX,我也不确定它们是如何工作的。DV DV进行宏扩展。这最好用一个例子来说明 mymacro eqm 10 + .. mylist dv mymacro 1, 2, 3 第一行定义将用作宏的符号mymacro。圆点。。用作参数 在第二行中,宏应用于列表中的每个表达式。从左

我正在浏览文档,有几个伪操作是我一直坚持的,它们是DV、LIST和XXX

DV表示类似于DC,但与EQM一起使用,我对它进行了处理,但我没有注意到任何差异,我试图找到任何示例,但找不到任何示例

列表和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
mylabel  dc     "ABCD"
mylist   dc     mylabel + 1, mylabel + 2, mylabel + 3
这显然相当于:

mylist   dc     10 + 1, 10 + 2, 10 + 3
mylist   dc     11, 12, 13
mylabel  dc     "ABCD"
mylist   dc     mylabel + 1, mylabel + 2, mylabel + 3
这个例子相当琐碎;当宏包含符号时,DV可能更有用。 例如:

mylabel  dc     "ABCD"
mymacro  eqm    mylabel + ..
mylist   dv     mymacro 1, 2, 3
相当于:

mylist   dc     10 + 1, 10 + 2, 10 + 3
mylist   dc     11, 12, 13
mylabel  dc     "ABCD"
mylist   dc     mylabel + 1, mylabel + 2, mylabel + 3
列表 LIST OFF和LIST ON影响写入列表文件的输出。 通常,源文件中的每一行都会写入列表文件;这被列表关闭禁止。不过,错误消息仍将写入列表文件

显然,这只有在命令行选项-l或-l上指定了列表文件时才有效

XXX 据我所知,DASM没有伪p XXX。 我想你指的是这部分:

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

回答得很好,我还有一个问题,列表指令,哪个列表处于打开或关闭状态?我知道的唯一列表是符号列表。@DanielSega请随意编辑您的原始问题,添加列表和其他不清楚的伪图片;我很乐意相应地扩展我的答案。