Mips 连接两个整数,将它们打包到一个寄存器中的 16 位字段中

Mips concatenate two integers, packing them into 16-bit fields in one register

我有两个整数

li $v0, 14
li $v1, 8

因为十进制 14 的十六进制值为 000E8 的十六进制值为 0008,
我怎样才能将 000E0008 组合成 000E0008,所以每个整数最多占用 16 位

您可以将第一个整数左移 16 位,然后按位合并到第二个整数 OR:

sll $v0, $v0, 16        # $v0 = $v0 << 16
or $v1, $v0, $v1        # $v1 = $v0 | $v1 (result)