在32位SPARC架构上,加载和存储指令(ld,ldub,ldsb,lduh,st,stb等)都需要围绕内存地址的方括号。例如,
st %l0, [%fp - 4]
ld [%i0], %l0
这是为什么?由于加载和存储指令是唯一可以访问内存的指令,为什么需要方括号?
这仅仅是为了可读性还是存在不使用方括号的加载和存储操作的另一种用法?
答案 0 :(得分:3)
这是许多(如果不是大多数)汇编语言的常见约定:当某些内容被取消引用作为内存地址时,它被括在括号中。
尽管SPARC不允许使用ld
,st
等替代惯例,但仍遵守约定以避免任何歧义。