emu_asm.s
来自「基于4个mips核的noc设计」· S 代码 · 共 94 行
S
94 行
.text
.align 2
.globl __sll
.ent __sll
__sll: move $2, $4
and $8, $5, 1
beq $8, $0, __sll1
sll $2, $2, 1
__sll1: and $8, $5, 2
beq $8, $0, __sll2
sll $2, $2, 2
__sll2: and $8, $5, 4
beq $8, $0, __sll3
sll $2, $2, 2
sll $2, $2, 2
__sll3: and $8, $5, 8
beq $8, $0, __sll4
sll $2, $2, 8
__sll4: and $8, $5, 16
beq $8, $0, __sll5
sll $2, $2, 8
sll $2, $2, 8
__sll5: j $31
.end __sll
.globl __sra
.ent __sra
__sra: move $2, $4
and $8, $5, 1
beq $8, $0, __sra1
sra $2, $2, 1
__sra1: and $8, $5, 2
beq $8, $0, __sra2
sra $2, $2, 2
__sra2: and $8, $5, 4
beq $8, $0, __sra3
sra $2, $2, 2
sra $2, $2, 2
__sra3: and $8, $5, 8
beq $8, $0, __sra4
sra $2, $2, 8
__sra4: and $8, $5, 16
beq $8, $0, __sra5
sra $2, $2, 8
sra $2, $2, 8
__sra5: j $31
.end __sra
.globl __srl
.ent __srl
__srl: move $2, $4
and $8, $5, 1
beq $8, $0, __srl1
srl $2, $2, 1
__srl1: and $8, $5, 2
beq $8, $0, __srl2
srl $2, $2, 2
__srl2: and $8, $5, 4
beq $8, $0, __srl3
srl $2, $2, 2
srl $2, $2, 2
__srl3: and $8, $5, 8
beq $8, $0, __srl4
srl $2, $2, 8
__srl4: and $8, $5, 16
beq $8, $0, __srl5
srl $2, $2, 8
srl $2, $2, 8
__srl5: j $31
.end __srl
.globl __mul
.ent __mul
__mul: li $2, 0
move $10, $4
move $11, $5
__mul2: and $8, $10, 1
beq $8, $0, __mul1
addu $2, $2, $11
__mul1: srl $10, $10, 1
sll $11, $11, 1
bne $10, $0, __mul2
j $31
.end __mul
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?