使用乘法和除法从小到大的字节序-MIPS汇编
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用乘法和除法从小到大的字节序-MIPS汇编相关的知识,希望对你有一定的参考价值。
我有一项学校作业,要求我以三种不同方式将单词从小字节序转换为大字节序。其中之一是使用乘法和除法。我知道向左移动会将数字乘以2,但是我仍然不知道如何使用它。
这里是我使用旋转的方法。有人可以帮助我加强这一点,并进行除法和乘法吗?
.data
.text
.globl main
main: li $t0,0x11223344 #number to be converted in t0
rol $t1,$t0,8
li $t2,0xFF00FF00 #mask in $t2
and $t3,$t1,$t2
ror $t1,$t0,8
li $t2,0x00FF00FF #mask in $t2
and $t1,$t1,$t2
or $t3,$t3,$t1
ror $t3,$t3,16
li $v0,10
syscall
我似乎无法正确地将旋转转换为移位。我正在为rol $ t1,$ t0,8:
做#rol $t1,$t0,8
loop: beq $t1,8,exit #branch to exit if t5=8
addi $t5,$t5,1 #t5++
srl $t1, $t0, 1 #shift original word 1 bit to the right
sll $t2, $t0, 31 #shift original word 31 bits to the left
or $t1, $t1, $t2
但不正确。
感谢您的帮助,谢谢。
答案
我也有完全相同的问题,您是否找到了直到今天的解决方案?这真的很有帮助。
以上是关于使用乘法和除法从小到大的字节序-MIPS汇编的主要内容,如果未能解决你的问题,请参考以下文章