【问题标题】:Swap .byte Data using MIPS (QTSPIM)使用 MIPS (QTSPIM) 交换 .byte 数据
【发布时间】:2018-01-18 05:17:01
【问题描述】:

假设我有一个 .byte 数据

num1: .byte 0x5a 

我希望 num1 使用旋转和移位操作成为 0xa5

我是 MIPS 的新手。 请帮忙。谢谢你

【问题讨论】:

  • MIPS 没有任何旋转指令。但它确实有 AND、OR、左移和右移,这就是你所需要的。请参阅 MIPS 指令集参考。
  • @Michael 它有风险
  • MIPS 指令集中没有ror。也许您正在使用的汇编器支持它作为一个伪指令,该伪指令被翻译成多个实际的 MIPS 指令。不过,这个任务不需要ror,除非你有一个在单个字节而不是整个寄存器上运行的ror 指令。
  • @Michael 你能帮帮我吗?
  • @Michael 从 MIPS32/64 Release 2 cdn2.imgtec.com/documentation/…987654321@开始有旋转指令

标签: mips mips32 qtspim


【解决方案1】:

0xfa 被转换为 0xaf

.data
data1: .byte 0xfa

.text
.globl main
.ent main
 main:

lbu $t0, data1
ror $t1,$t0,4

sll $t2,$t1,4

ror $t6,$t2,4
srl $t3,$t1,4
ror $t4,$t3,20
add $t5,$t4,$t6
li $v0,10
syscall
.end main

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    相关资源
    最近更新 更多