从考试中,我有以下代码要理解:
.data
msg1: .asciiz "0x616263"
msg2: .word 0x636261
#msg2: .byte 0x61,0x62,0x63
.text
main:
li $v0, 4
la $a0, msg1
syscall
li $v0, 4
la $a0, msg2
syscall
exit:
li $v0, 10
syscall
根据考试的处理器在Little Endian方法中工作。
根据考试,这段代码的输出是:
abc616263
我在 MARS 4.4 模拟器上的输出是 0x616263abc。
- 我猜答案的差异来自 Little Endian 与 Big Endian 方法?
- 为什么msg2的输出是abc?我不明白为什么从 0x636261 输入,我得到“abc”输出?我想这是因为它存储在一个单词中?
感谢您的帮助。