例如,MOVE 8,D2和MOVE#8,D2有什么区别?只是想知道#代表什么以及如果没有它会发生什么。
答案 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 */