程序栈是一种数据结构,具有“后进先出(Last In First Out)”的特性。 在x86-64中,程序栈存放在内存中的某个区域,栈顶元素的地址是一切栈中元素地址最低的,栈指针%rsp保存栈顶元素的地址。
movabsq可以以任何64位数(当即数、寄存器、存储器)作为源操作数,但只能以寄存器作为意图操作数。
MOVZ类指令将较小的源值仿制到较大的意图中去,将意图中剩下字节填充为0
零扩展,格局为movz#&(#为源操作数的巨细,&为意图操作数的巨细):
注:无movzlq指令,movzlq可利用以寄存器位意图的movl完成(由于movl会将寄存器高位四字节置零)
MOVS类指令将较小的源值仿制到较大的意图中去,将源操作的最高为仿制用于填充意图剩下字节,即传送符号扩展的字节
符号扩展,格局为movs#&(#为源操作数的巨细,&为意图操作数的巨细):