2
在32位SPARC架構上,加載和存儲指令(ld,ldub,ldsb,lduh,st,stb等)都需要在內存地址周圍的方括號。例如,爲什麼在SPARC裝配ld/st指令中需要方括號?
st %l0, [%fp - 4]
ld [%i0], %l0
這是爲什麼?由於加載和存儲指令是唯一可以訪問內存的指令,爲什麼需要方括號?
這只是爲了便於閱讀,還是存在其他不使用方括號的加載和存儲操作的用法?
在32位SPARC架構上,加載和存儲指令(ld,ldub,ldsb,lduh,st,stb等)都需要在內存地址周圍的方括號。例如,爲什麼在SPARC裝配ld/st指令中需要方括號?
st %l0, [%fp - 4]
ld [%i0], %l0
這是爲什麼?由於加載和存儲指令是唯一可以訪問內存的指令,爲什麼需要方括號?
這只是爲了便於閱讀,還是存在其他不使用方括號的加載和存儲操作的用法?
這是一個跨許多(如果不是大多數)彙編語言的常見約定:當某些東西被解引用爲內存地址時,它被括在括號中。
雖然SPARC不允許的ld
,st
等另類用法,會議仍然以避免任何歧義遵守。