.byte、.space 或 .asciiz 等数据指令之间有什么区别?

naw*_*naw 4 assembly mips

我看过以下指令,但我不知道确切的用法:

  1. .space
  2. .byte
  3. .word
  4. .asciiz
  5. .ascii
  6. .align

lnm*_*man 5

  1. .space保留n字节内存,不对齐。例如arr: .space 100
  2. .byte将 n 个值存储在内存的连续字节中。例如num: .byte 0x01, 0x03
  3. .word将 n 个 32 位字连续存储在对齐的内存中。例如val: .word 10, -14, 30
  4. .asciiz使用空终止符将字符串存储在内存中。例如,与后面的astr: .asciiz "Hello, world"
    完全相同。.ascii.byte 0
  5. .ascii将字符串存储在内存中,不带空终止符。例如str: .ascii "Hello, world"
  6. .align在字节边界上对齐下一个数据2^n。例如,.align 2在字边界上对齐下一个值。另一方面,如果 n 为 0,则关闭对齐直到下一个数据段。

有关详细信息,请参阅此组件参考

有关 的更多详细信息.align,请参阅