汇编语言MIPS问题,简单

编写MIPS汇编程序Branch.arm,完成如下C语言代码相同的功能,要求A、B、C和Z必须是内存中的整型变量,程序运行过程中可以加载到寄存器,每次运行之前可以修改A、B、C的初始值,可以使用MIPS中与分支相关的伪指令使得比较和分支代码更简单。
C语言代码如下:
//Branch.c
int main( )
{
if(A>B || C<5)
Z=1;
else if(A==B)
Z=2;
else
Z=3;

switch(Z)
{case 1:
Z=-1;
break;
case 2:
Z=-2;
break;
default:
Z=0;
break;}
}

更新:用于替换lw $t5,A

la $t1,A# load address of A into $t1
lw  $t5,($t1)# load data A from address in $t1

# file: Branch.arm
# author: leezeeyee
# date: 2020/12/6
.data
A: .word 25
B: .word 15
C: .word 5
Z: .word 0
.text
main:
lw  $t5,A# load data A in $t5
lw $t6,B# load data B in $t6
lw $t7,C# load data C in $t7
lw $t8,Z# load data Z in $t8
bgt $t5,$t6,L10#A>B
blt $t7,5,L10#C<5
j L110
L10:
li $t8,1#Z=1
j L20
L110:
beq $t5,$t6,L11#A==B
li $t8,3#Z=3#else
j L20
L11:
li $t8,2#Z=2
L20:
beq $t8,1,L3#z==1
j L4
L3: 
li $t8,-1#Z=-1
j L7#break
L4:
beq $t8,2,L5#z==2
j L6#default
L5: 
li $t8,-2#Z=-2
j L7#break
L6:
li $t8,0#Z=0
L7:
sw $t8,Z