[英]Access last two digits of hex number in MIPS
我想在 MIPS 中打印出十六进制数字的最后两位。 我有这个代码,但是当我预计 output 是 0x00000021 时,output 是 0x00000000。 我哪里错了?
.data
num: .word 0x00654321
.text
la $s0, num # make s0 equal to num
andi $a0, $s0, 0x00000011 # do bitwise AND
li $v0 34 # print result in hex
syscall
la $s0, num
为您提供num
的地址,而不是存储在那里的值。 你想要的指令是lw
。
当你屏蔽时,你应该使用0xFF
来获得两个最低有效的十六进制数字,而不是0x11
。 使用0x11
只会给你这些数字的最低有效位,例如0x21 & 0x11
= 0x01
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.