# 在汇编中意味着什么?

Use*_*123 3 assembly 68000

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

tof*_*fro 5

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

move.w #6,d0
Run Code Online (Sandbox Code Playgroud)

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

move.w 6,d0
Run Code Online (Sandbox Code Playgroud)

会做一些完全不同的事情:它将把常量地址 6 处的字取出到寄存器 d0 中


Wil*_*ams 5

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

# 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 */
Run Code Online (Sandbox Code Playgroud)