#在汇编中是什么意思?

时间:2018-09-29 18:13:13

标签: assembly 68000

例如,MOVE 8,D2和MOVE#8,D2有什么区别?只是想知道#代表什么以及如果没有它会发生什么。

4 个答案:

答案 0 :(得分:2)

在68k汇编中,#号表示立即数。通常将其他所有内容视为地址:

move.w #6,d0

会将常量立即数6加载到寄存器d0中,而

move.w 6,d0

会做完全不同的事情:它将常量地址6的字取入寄存器d0

答案 1 :(得分:1)

表示以下是数字而不是寄存器。

答案 2 :(得分:1)

通常在ARM和OP的代码中表示立即数,但是在其他汇编程序类型中,此符号是不同的,例如#与x86中的$相同。

答案 3 :(得分:1)

在GNU AS中,如果在给定行上的其他任何内容之前使用#,则该行将被忽略(注释)。如果在指令后的值之前使用#,则该值将被视为立即数。如果您想在同一行的同一位置使用内嵌注释,则必须使用C样式的注释(即/ *注释此处* /)。例如:

# Write the palette to CRAM
lea Palette, a0                 /* Move palette address to a0 */
move.w #size_palette_w-1, d0    /* Loop counter = 8 words in palette */