📄 xr16.s
字号:
t_bgt27:
cmpi r2,0
bgt t_bgt28
br e_bgt
t_bgt28:
cmpi r2,1
bgt e_bgt
t_bgt29:
cmpi r2,32767
bgt e_bgt
t_bgt30:
lea r2,32767
cmpi r2,-32768
bgt t_bgt31
br e_bgt
t_bgt31:
cmpi r2,-32767
bgt t_bgt32
br e_bgt
t_bgt32:
cmpi r2,-1
bgt t_bgt33
br e_bgt
t_bgt33:
cmpi r2,0
bgt t_bgt34
br e_bgt
t_bgt34:
cmpi r2,1
bgt t_bgt35
br e_bgt
t_bgt35:
cmpi r2,32767
bgt e_bgt
t_bgt36:
br t_bgt37
e_bgt:
jal r2,error
t_bgt37:
t_bltu0:
lea r2,-32768
cmpi r2,-32768
bltu e_bltu
t_bltu1:
cmpi r2,-32767
bltu t_bltu2
br e_bltu
t_bltu2:
cmpi r2,-1
bltu t_bltu3
br e_bltu
t_bltu3:
cmpi r2,0
bltu e_bltu
t_bltu4:
cmpi r2,1
bltu e_bltu
t_bltu5:
cmpi r2,32767
bltu e_bltu
t_bltu6:
lea r2,-32767
cmpi r2,-32768
bltu e_bltu
t_bltu7:
cmpi r2,-32767
bltu e_bltu
t_bltu8:
cmpi r2,-1
bltu t_bltu9
br e_bltu
t_bltu9:
cmpi r2,0
bltu e_bltu
t_bltu10:
cmpi r2,1
bltu e_bltu
t_bltu11:
cmpi r2,32767
bltu e_bltu
t_bltu12:
lea r2,-1
cmpi r2,-32768
bltu e_bltu
t_bltu13:
cmpi r2,-32767
bltu e_bltu
t_bltu14:
cmpi r2,-1
bltu e_bltu
t_bltu15:
cmpi r2,0
bltu e_bltu
t_bltu16:
cmpi r2,1
bltu e_bltu
t_bltu17:
cmpi r2,32767
bltu e_bltu
t_bltu18:
lea r2,0
cmpi r2,-32768
bltu t_bltu19
br e_bltu
t_bltu19:
cmpi r2,-32767
bltu t_bltu20
br e_bltu
t_bltu20:
cmpi r2,-1
bltu t_bltu21
br e_bltu
t_bltu21:
cmpi r2,0
bltu e_bltu
t_bltu22:
cmpi r2,1
bltu t_bltu23
br e_bltu
t_bltu23:
cmpi r2,32767
bltu t_bltu24
br e_bltu
t_bltu24:
lea r2,1
cmpi r2,-32768
bltu t_bltu25
br e_bltu
t_bltu25:
cmpi r2,-32767
bltu t_bltu26
br e_bltu
t_bltu26:
cmpi r2,-1
bltu t_bltu27
br e_bltu
t_bltu27:
cmpi r2,0
bltu e_bltu
t_bltu28:
cmpi r2,1
bltu e_bltu
t_bltu29:
cmpi r2,32767
bltu t_bltu30
br e_bltu
t_bltu30:
lea r2,32767
cmpi r2,-32768
bltu t_bltu31
br e_bltu
t_bltu31:
cmpi r2,-32767
bltu t_bltu32
br e_bltu
t_bltu32:
cmpi r2,-1
bltu t_bltu33
br e_bltu
t_bltu33:
cmpi r2,0
bltu e_bltu
t_bltu34:
cmpi r2,1
bltu e_bltu
t_bltu35:
cmpi r2,32767
bltu e_bltu
t_bltu36:
br t_bltu37
e_bltu:
jal r2,error
t_bltu37:
t_bgeu0:
lea r2,-32768
cmpi r2,-32768
bgeu t_bgeu1
br e_bgeu
t_bgeu1:
cmpi r2,-32767
bgeu e_bgeu
t_bgeu2:
cmpi r2,-1
bgeu e_bgeu
t_bgeu3:
cmpi r2,0
bgeu t_bgeu4
br e_bgeu
t_bgeu4:
cmpi r2,1
bgeu t_bgeu5
br e_bgeu
t_bgeu5:
cmpi r2,32767
bgeu t_bgeu6
br e_bgeu
t_bgeu6:
lea r2,-32767
cmpi r2,-32768
bgeu t_bgeu7
br e_bgeu
t_bgeu7:
cmpi r2,-32767
bgeu t_bgeu8
br e_bgeu
t_bgeu8:
cmpi r2,-1
bgeu e_bgeu
t_bgeu9:
cmpi r2,0
bgeu t_bgeu10
br e_bgeu
t_bgeu10:
cmpi r2,1
bgeu t_bgeu11
br e_bgeu
t_bgeu11:
cmpi r2,32767
bgeu t_bgeu12
br e_bgeu
t_bgeu12:
lea r2,-1
cmpi r2,-32768
bgeu t_bgeu13
br e_bgeu
t_bgeu13:
cmpi r2,-32767
bgeu t_bgeu14
br e_bgeu
t_bgeu14:
cmpi r2,-1
bgeu t_bgeu15
br e_bgeu
t_bgeu15:
cmpi r2,0
bgeu t_bgeu16
br e_bgeu
t_bgeu16:
cmpi r2,1
bgeu t_bgeu17
br e_bgeu
t_bgeu17:
cmpi r2,32767
bgeu t_bgeu18
br e_bgeu
t_bgeu18:
lea r2,0
cmpi r2,-32768
bgeu e_bgeu
t_bgeu19:
cmpi r2,-32767
bgeu e_bgeu
t_bgeu20:
cmpi r2,-1
bgeu e_bgeu
t_bgeu21:
cmpi r2,0
bgeu t_bgeu22
br e_bgeu
t_bgeu22:
cmpi r2,1
bgeu e_bgeu
t_bgeu23:
cmpi r2,32767
bgeu e_bgeu
t_bgeu24:
lea r2,1
cmpi r2,-32768
bgeu e_bgeu
t_bgeu25:
cmpi r2,-32767
bgeu e_bgeu
t_bgeu26:
cmpi r2,-1
bgeu e_bgeu
t_bgeu27:
cmpi r2,0
bgeu t_bgeu28
br e_bgeu
t_bgeu28:
cmpi r2,1
bgeu t_bgeu29
br e_bgeu
t_bgeu29:
cmpi r2,32767
bgeu e_bgeu
t_bgeu30:
lea r2,32767
cmpi r2,-32768
bgeu e_bgeu
t_bgeu31:
cmpi r2,-32767
bgeu e_bgeu
t_bgeu32:
cmpi r2,-1
bgeu e_bgeu
t_bgeu33:
cmpi r2,0
bgeu t_bgeu34
br e_bgeu
t_bgeu34:
cmpi r2,1
bgeu t_bgeu35
br e_bgeu
t_bgeu35:
cmpi r2,32767
bgeu t_bgeu36
br e_bgeu
t_bgeu36:
br t_bgeu37
e_bgeu:
jal r2,error
t_bgeu37:
t_bleu0:
lea r2,-32768
cmpi r2,-32768
bleu t_bleu1
br e_bleu
t_bleu1:
cmpi r2,-32767
bleu t_bleu2
br e_bleu
t_bleu2:
cmpi r2,-1
bleu t_bleu3
br e_bleu
t_bleu3:
cmpi r2,0
bleu e_bleu
t_bleu4:
cmpi r2,1
bleu e_bleu
t_bleu5:
cmpi r2,32767
bleu e_bleu
t_bleu6:
lea r2,-32767
cmpi r2,-32768
bleu e_bleu
t_bleu7:
cmpi r2,-32767
bleu t_bleu8
br e_bleu
t_bleu8:
cmpi r2,-1
bleu t_bleu9
br e_bleu
t_bleu9:
cmpi r2,0
bleu e_bleu
t_bleu10:
cmpi r2,1
bleu e_bleu
t_bleu11:
cmpi r2,32767
bleu e_bleu
t_bleu12:
lea r2,-1
cmpi r2,-32768
bleu e_bleu
t_bleu13:
cmpi r2,-32767
bleu e_bleu
t_bleu14:
cmpi r2,-1
bleu t_bleu15
br e_bleu
t_bleu15:
cmpi r2,0
bleu e_bleu
t_bleu16:
cmpi r2,1
bleu e_bleu
t_bleu17:
cmpi r2,32767
bleu e_bleu
t_bleu18:
lea r2,0
cmpi r2,-32768
bleu t_bleu19
br e_bleu
t_bleu19:
cmpi r2,-32767
bleu t_bleu20
br e_bleu
t_bleu20:
cmpi r2,-1
bleu t_bleu21
br e_bleu
t_bleu21:
cmpi r2,0
bleu t_bleu22
br e_bleu
t_bleu22:
cmpi r2,1
bleu t_bleu23
br e_bleu
t_bleu23:
cmpi r2,32767
bleu t_bleu24
br e_bleu
t_bleu24:
lea r2,1
cmpi r2,-32768
bleu t_bleu25
br e_bleu
t_bleu25:
cmpi r2,-32767
bleu t_bleu26
br e_bleu
t_bleu26:
cmpi r2,-1
bleu t_bleu27
br e_bleu
t_bleu27:
cmpi r2,0
bleu e_bleu
t_bleu28:
cmpi r2,1
bleu t_bleu29
br e_bleu
t_bleu29:
cmpi r2,32767
bleu t_bleu30
br e_bleu
t_bleu30:
lea r2,32767
cmpi r2,-32768
bleu t_bleu31
br e_bleu
t_bleu31:
cmpi r2,-32767
bleu t_bleu32
br e_bleu
t_bleu32:
cmpi r2,-1
bleu t_bleu33
br e_bleu
t_bleu33:
cmpi r2,0
bleu e_bleu
t_bleu34:
cmpi r2,1
bleu e_bleu
t_bleu35:
cmpi r2,32767
bleu t_bleu36
br e_bleu
t_bleu36:
br t_bleu37
e_bleu:
jal r2,error
t_bleu37:
t_bgtu0:
lea r2,-32768
cmpi r2,-32768
bgtu e_bgtu
t_bgtu1:
cmpi r2,-32767
bgtu e_bgtu
t_bgtu2:
cmpi r2,-1
bgtu e_bgtu
t_bgtu3:
cmpi r2,0
bgtu t_bgtu4
br e_bgtu
t_bgtu4:
cmpi r2,1
bgtu t_bgtu5
br e_bgtu
t_bgtu5:
cmpi r2,32767
bgtu t_bgtu6
br e_bgtu
t_bgtu6:
lea r2,-32767
cmpi r2,-32768
bgtu t_bgtu7
br e_bgtu
t_bgtu7:
cmpi r2,-32767
bgtu e_bgtu
t_bgtu8:
cmpi r2,-1
bgtu e_bgtu
t_bgtu9:
cmpi r2,0
bgtu t_bgtu10
br e_bgtu
t_bgtu10:
cmpi r2,1
bgtu t_bgtu11
br e_bgtu
t_bgtu11:
cmpi r2,32767
bgtu t_bgtu12
br e_bgtu
t_bgtu12:
lea r2,-1
cmpi r2,-32768
bgtu t_bgtu13
br e_bgtu
t_bgtu13:
cmpi r2,-32767
bgtu t_bgtu14
br e_bgtu
t_bgtu14:
cmpi r2,-1
bgtu e_bgtu
t_bgtu15:
cmpi r2,0
bgtu t_bgtu16
br e_bgtu
t_bgtu16:
cmpi r2,1
bgtu t_bgtu17
br e_bgtu
t_bgtu17:
cmpi r2,32767
bgtu t_bgtu18
br e_bgtu
t_bgtu18:
lea r2,0
cmpi r2,-32768
bgtu e_bgtu
t_bgtu19:
cmpi r2,-32767
bgtu e_bgtu
t_bgtu20:
cmpi r2,-1
bgtu e_bgtu
t_bgtu21:
cmpi r2,0
bgtu e_bgtu
t_bgtu22:
cmpi r2,1
bgtu e_bgtu
t_bgtu23:
cmpi r2,32767
bgtu e_bgtu
t_bgtu24:
lea r2,1
cmpi r2,-32768
bgtu e_bgtu
t_bgtu25:
cmpi r2,-32767
bgtu e_bgtu
t_bgtu26:
cmpi r2,-1
bgtu e_bgtu
t_bgtu27:
cmpi r2,0
bgtu t_bgtu28
br e_bgtu
t_bgtu28:
cmpi r2,1
bgtu e_bgtu
t_bgtu29:
cmpi r2,32767
bgtu e_bgtu
t_bgtu30:
lea r2,32767
cmpi r2,-32768
bgtu e_bgtu
t_bgtu31:
cmpi r2,-32767
bgtu e_bgtu
t_bgtu32:
cmpi r2,-1
bgtu e_bgtu
t_bgtu33:
cmpi r2,0
bgtu t_bgtu34
br e_bgtu
t_bgtu34:
cmpi r2,1
bgtu t_bgtu35
br e_bgtu
t_bgtu35:
cmpi r2,32767
bgtu e_bgtu
t_bgtu36:
br t_bgtu37
e_bgtu:
jal r2,error
t_bgtu37:
; call
t_call:
lea r15,0
call t_call1
br e_call
align 16
t_call1:
lea r1,t_call+4
cmp r1,r15
bne e_call
t_call2:
call t_call3
br e_call
align 16
t_call3:
lea r1,t_call2+2
cmp r1,r15
bne e_call
t_call4:
call t_call5
br e_call
align 16
t_call5:
lea r1,t_call4+2
cmp r1,r15
bne e_call
t_call6:
call t_call7
br e_call
align 16
t_call7:
lea r1,t_call6+2
cmp r1,r15
bne e_call
br t_imm
e_call:
jal r2,error
; imm
t_imm:
lw r1,k1
lw r2,kAAAA
lw r3,kFFFF
lea r4,1
cmp r1,r4
bne e_imm
lea r4,0xAAAA
cmp r2,r4
bne e_imm
lea r4,0xFFFF
cmp r3,r4
bne e_imm
br t_bp
e_imm:
jal r2,error
k1:
word 1
kAAAA:
word 0xAAAA
kFFFF:
word 0xFFFF
; branch pipeline annul
t_bp:
lea r1,1
lea r2,2
cmp r0,r0
beq t_bp1
lea r1,3 ;a
lea r2,4 ;a
t_bp1:
cmpi r1,1
bne e_bp
cmpi r2,2
bne e_bp
cmp r0,r0
beq t_bp2
br e_bp ;a
br e_bp ;a
t_bp2:
cmp r0,r0
beq t_bp3
word 0xD001 ; imm 0x0010 ;a
word 0xD001 ; imm 0x0010 ;a
t_bp3:
addi r1,r1,0
cmpi r1,1
bne e_bp
sw r1,w
cmp r0,r0
beq t_bp4
word 0x8206 ; sw r2,w ; sw r2,6(r0) ; a
word 0x8206 ; sw r2,w ; sw r2,6(r0) ; a
t_bp4:
cmp r0,r0
beq t_bp5
word 0x9206 ; sb r2,w ; sb r2,6(r0) ; a
word 0x9206 ; sb r2,w ; sb r2,6(r0) ; a
t_bp5:
lw r3,w
cmp r1,r3
bne e_bp
cmp r0,r0
beq t_bp5
word 0xA201 ; jal r2,error ; jal r15,10(r0) ;a
word 0xA201 ; jal r2,error ; jal r15,10(r0) ;a
t_bp5:
cmpi r1,1
bne e_bp
lea r15,3
cmp r0,r0
beq t_bp6
call e_bp ;a
call e_bp ;a
t_bp6:
cmpi r15,3
bne e_bp
br t_jp
align 16
e_bp:
jal r2,error
; jump pipeline annul
t_jp:
lea r1,1
lea r2,2
j t_jp1
lea r1,3 ;a
lea r2,4 ;a
t_jp1:
cmpi r1,1
bne e_jp
cmpi r2,2
bne e_jp
j t_jp2
br e_jp ;a
br e_jp ;a
t_jp2:
j t_jp3
word 0xD001 ; imm 0x0010 ;a
word 0xD001 ; imm 0x0010 ;a
t_jp3:
addi r1,r1,0
cmpi r1,1
bne e_jp
sw r1,w
j t_jp4
word 0x8206 ; sw r2,w ; sw r2,6(r0) ; a
word 0x8206 ; sw r2,w ; sw r2,6(r0) ; a
t_jp4:
j t_jp5
word 0x9206 ; sb r2,w ; sb r2,6(r0) ; a
word 0x9206 ; sb r2,w ; sb r2,6(r0) ; a
t_jp5:
lw r3,w
cmp r1,r3
bne e_jp
j t_jp5
word 0xA201 ; jal r2,error ; jal r15,10(r0) ;a
word 0xA201 ; jal r2,error ; jal r15,10(r0) ;a
t_jp5:
cmpi r1,1
bne e_jp
lea r15,3
j t_jp6
call e_jp ;a
call e_jp ;a
t_jp6:
cmpi r15,3
bne e_jp
br t_cp
align 16
e_jp:
jal r2,error
; call pipeline annul
t_cp:
lea r1,1
lea r2,2
call t_cp1
lea r1,3 ;a
lea r2,4 ;a
align 16
t_cp1:
cmpi r1,1
bne e_cp
cmpi r2,2
bne e_cp
call t_cp2
br e_cp ;a
br e_cp ;a
align 16
t_cp2:
call t_cp3
word 0xD001 ; imm 0x0010 ;a
word 0xD001 ; imm 0x0010 ;a
align 16
t_cp3:
addi r1,r1,0
cmpi r1,1
bne e_cp
sw r1,w
call t_cp4
word 0x8206 ; sw r2,w ; sw r2,6(r0) ; a
word 0x8206 ; sw r2,w ; sw r2,6(r0) ; a
align 16
t_cp4:
call t_cp5
word 0x9206 ; sb r2,w ; sb r2,6(r0) ; a
word 0x9206 ; sb r2,w ; sb r2,6(r0) ; a
align 16
t_cp5:
lw r3,w
cmp r1,r3
bne e_cp
call t_cp5
word 0xA201 ; jal r2,error ; jal r15,10(r0) ;a
word 0xA201 ; jal r2,error ; jal r15,10(r0) ;a
align 16
t_cp5:
cmpi r1,1
bne e_cp
call t_cp6
call e_cp ;a
call e_cp ;a
align 16
t_cp6:
lea r3,t_cp5+6
cmp r3,r15
bne e_cp
br t_fwd
align 16
e_cp:
jal r2,error
; test result forwarding
t_fwd:
lea r2,1
lea r3,2
lea r4,4
lea r5,7
add r6,r5,r4 ; 11
add r6,r6,r0 ; 11
add r6,r6,r2 ; 12
sub r6,r6,r5 ; 5
andi r6,7 ; 5
ori r6,3 ; 7
xori r6,4 ; 3
andni r6,0 ; 3
xori r6,-1 ; -4
or r6,r2 ; -3
xori r6,-1 ; 2
cmpi r6,2
bne e_fwd
sw r5,w
lw r2,w
cmpi r2,7
bne e_fwd
lb r2,w
cmp r2,r0
bne e_fwd
; r0 results should not be forwarded
addi r0,r0,1
add r2,r0,r0
cmp r2,r0
bne e_fwd
addi r0,r0,1
addi r2,r0,0
cmp r2,r0
bne e_fwd
lea r2,1
addi r0,r2,0
cmp r0,r0
bne e_fwd
j ok
e_fwd:
jal r2,error
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -