Hex - это формат сериализации текста для двоичных чисел.Значение в $v0
представляет собой 32-разрядное двоичное число, а не шестнадцатеричное или десятичное.
например, 32
(десятичное) и 0x20
(шестнадцатеричное) - два способа описания значения одного и того же биташаблон (0b0000...00100000
).Все это разные способы выражения кода ASCII для пробела, как вы можете получить из li $v0, ' '
.
. Вы можете просматривать его как шестнадцатеричный или десятичный, используя отладчик, или используя разные MARS print-вызовы системы счисления, если вы используете код MIPS на эмуляторе MARS.(SPIM имеет только системный вызов print integer
, но MARS имеет вызовы для печати в шестнадцатеричном формате, печати в десятичном формате и печати в двоичном формате. http://courses.missouristate.edu/kenvollmar/mars/help/syscallhelp.html)
move $a0, $v0 # $a0 = integer to print
li $v0, 1 # $v0 = system-call number
syscall # print_integer($a0) in decimal