繁体   English   中英

访问 MIPS 中十六进制数的最后两位

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM