⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xr16.s

📁 This free cpu-ip! use verilog
💻 S
📖 第 1 页 / 共 3 页
字号:
	bne e_slli
	br t_srai
e_slli:
	jal r2,error

t_srai:
	srai r1,1
	cmpi r1,0xC000
	bne e_srai
	srai r1,1
	cmpi r1,0xE000
	bne e_srai
	srai r1,1
	cmpi r1,0xF000
	bne e_srai
	srai r1,1
	cmpi r1,0xF800
	bne e_srai
	srai r1,1
	cmpi r1,0xFC00
	bne e_srai
	srai r1,1
	cmpi r1,0xFE00
	bne e_srai
	srai r1,1
	cmpi r1,0xFF00
	bne e_srai
	srai r1,1
	cmpi r1,0xFF80
	bne e_srai
	srai r1,1
	cmpi r1,0xFFC0
	bne e_srai
	srai r1,1
	cmpi r1,0xFFE0
	bne e_srai
	srai r1,1
	cmpi r1,0xFFF0
	bne e_srai
	srai r1,1
	cmpi r1,0xFFF8
	bne e_srai
	srai r1,1
	cmpi r1,0xFFFC
	bne e_srai
	srai r1,1
	cmpi r1,0xFFFE
	bne e_srai
	srai r1,1
	cmpi r1,0xFFFF
	bne e_srai
	lea r1,0x8000
	srli r1,1
	cmpi r1,0x4000
	bne e_srai
	srli r1,1
	cmpi r1,0x2000
	bne e_srai
	srli r1,1
	cmpi r1,0x1000
	bne e_srai
	srli r1,1
	cmpi r1,0x800
	bne e_srai
	srli r1,1
	cmpi r1,0x400
	bne e_srai
	srli r1,1
	cmpi r1,0x200
	bne e_srai
	srli r1,1
	cmpi r1,0x100
	bne e_srai
	srli r1,1
	cmpi r1,0x80
	bne e_srai
	srli r1,1
	cmpi r1,0x40
	bne e_srai
	srli r1,1
	cmpi r1,0x20
	bne e_srai
	srli r1,1
	cmpi r1,0x10
	bne e_srai
	srli r1,1
	cmpi r1,8
	bne e_srai
	srli r1,1
	cmpi r1,4
	bne e_srai
	srli r1,1
	cmpi r1,2
	bne e_srai
	srli r1,1
	cmpi r1,1
	bne e_srai
	srli r1,1
	cmpi r1,0
	bne e_srai
	br t_shc
e_srai:
	jal r2,error

t_shc:
	lea r1,1
	slli r1,15
	lea r2,0x8000
	cmp r2,r1
	bne e_shc
	srli r1,15
	cmpi r1,1
	bne e_shc
	slli r1,15
	srai r1,15
	cmpi r1,-1
	bne e_shc
	br t_ldst
e_shc:
	jal r2,error

; lw/sw/lb/sb/lbs
t_ldst:
	lea r1,0xABCD
	sw r1,w
	lw r2,w
	cmp r1,r2
	bne e_ldst
	lb r2,w
	cmpi r2,0xAB
	bne e_ldst
	lb r3,w+1
	cmpi r3,0xCD
	bne e_ldst
	sb r3,w
	sb r2,w+1
	lw r1,w
	cmpi r1,0xCDAB
	bne e_ldst
	lea r1,0x1234
	sw r1,w2
	lw r2,w2
	cmp r1,r2
	bne e_ldst
	lb r2,w2
	cmpi r2,0x12
	bne e_ldst
	lb r3,w2+1
	cmpi r3,0x34
	bne e_ldst
	sb r3,w2
	sb r2,w2+1
	lw r1,w2
	cmpi r1,0x3412
	bne e_ldst
	lea r1,-1
	sb r1,w
	lb r1,w
	cmpi r1,255
	bne e_ldst
	lbs r1,w
	cmpi r1,-1
	bne e_ldst
	lea r1,1
	sb r1,w
	lb r1,w
	cmpi r1,1
	bne e_ldst
	lbs r1,w
	cmpi r1,1
	bne e_ldst
	br t_jal
e_ldst:
	jal r2,error

; jal
t_jal:
	jal r15,jals
	jal r15,jals+2
	jal r15,jals+4
	jal r15,jals+6
	jal r15,jals+8
	jal r15,jals+10
	jal r15,jals+12
	jal r15,jals+14
	jal r15,jals+16
	jal r15,jals+18
	jal r15,jals+20
	jal r15,jals+22
	jal r15,jals+24
	jal r15,jals+26
	jal r15,jals+28
	jal r15,jals+30
	add r1,r1,r2
	add r1,r1,r3
	add r1,r1,r4
	add r1,r1,r5
	add r1,r1,r6
	add r1,r1,r7
	add r1,r1,r8
	add r1,r1,r9
	add r1,r1,r10
	add r1,r1,r11
	add r1,r1,r12
	add r1,r1,r13
	add r1,r1,r14
	add r1,r1,r15
	jal r15,sum
	cmp r1,r2
	bne e_jal

	lea r1,jals
	jal r15,4(r1)
	jal r15,6(r1)
	jal r15,8(r1)
	jal r15,10(r1)
	jal r15,12(r1)
	jal r15,14(r1)
	jal r15,16(r1)
	jal r15,18(r1)
	jal r15,20(r1)
	jal r15,22(r1)
	jal r15,24(r1)
	jal r15,26(r1)
	jal r15,28(r1)
	jal r15,30(r1)
	lea r1,jals+4
	add r1,r1,r2
	add r1,r1,r3
	add r1,r1,r4
	add r1,r1,r5
	add r1,r1,r6
	add r1,r1,r7
	add r1,r1,r8
	add r1,r1,r9
	add r1,r1,r10
	add r1,r1,r11
	add r1,r1,r12
	add r1,r1,r13
	add r1,r1,r14
	add r1,r1,r15
	jal r15,sum
	cmp r1,r2
	bne e_jal
	br t_br

e_jal:
	jal r2,error

jals:
	jal r0,(r15)
	jal r1,(r15)
	jal r2,(r15)
	jal r3,(r15)
	jal r4,(r15)
	jal r5,(r15)
	jal r6,(r15)
	jal r7,(r15)
	jal r8,(r15)
	jal r9,(r15)
	jal r10,(r15)
	jal r11,(r15)
	jal r12,(r15)
	jal r13,(r15)
	jal r14,(r15)
	jal r15,(r15)

sum:
	lea r2,jals+4
	lea r3,jals+6
	add r2,r3,r2
	lea r3,jals+8
	add r2,r3,r2
	lea r3,jals+10
	add r2,r3,r2
	lea r3,jals+12
	add r2,r3,r2
	lea r3,jals+14
	add r2,r3,r2
	lea r3,jals+16
	add r2,r3,r2
	lea r3,jals+18
	add r2,r3,r2
	lea r3,jals+20
	add r2,r3,r2
	lea r3,jals+22
	add r2,r3,r2
	lea r3,jals+24
	add r2,r3,r2
	lea r3,jals+26
	add r2,r3,r2
	lea r3,jals+28
	add r2,r3,r2
	lea r3,jals+30
	add r2,r3,r2
	lea r3,jals+32
	add r2,r3,r2
	ret

t_br:
	cmp r0,r0
	beq t_br1
	br e_br
t_br1:
	cmp r0,r0
	bne e_br
	lea r1,0xFFFF
	addi r1,r1,1
	bc t_br2
	br e_br
t_br2:
	lea r1,0xFFFF
	addi r1,r1,1
	bnc e_br
	lea r1,0xFFFF
	addi r1,r1,0
	bc e_br
	lea r1,32767
	addi r1,r1,1
	bc e_br
	lea r1,32767
	addi r1,r1,1
	bv t_br3
	br e_br
t_br3:
	lea r1,32767
	addi r1,r1,1
	bnv e_br
	lea r1,32767
	addi r1,r1,0
	bv e_br
	lea r1,32767
	addi r1,r1,0
	bnv t_br4
	br e_br
t_br4:
	lea r1,32767
	addi r1,r1,1
	bnv e_br
	lea r1,-32768
	addi r1,r1,-1
	bv t_br5
	br e_br
t_br5:
	lea r1,-32768
	addi r1,r1,-1
	bnv e_br
	lea r1,-32768
	addi r1,r1,0
	bv e_br
	lea r1,-32768
	addi r1,r1,1
	bv e_br
	br t_blt
e_br:
	jal r2,error

t_blt:

t_blt0:
	lea  r2,-32768
	cmpi r2,-32768
	blt  e_blt
t_blt1:
	cmpi r2,-32767
	blt  t_blt2
	br   e_blt
t_blt2:
	cmpi r2,-1
	blt  t_blt3
	br   e_blt
t_blt3:
	cmpi r2,0
	blt  t_blt4
	br   e_blt
t_blt4:
	cmpi r2,1
	blt  t_blt5
	br   e_blt
t_blt5:
	cmpi r2,32767
	blt  t_blt6
	br   e_blt
t_blt6:
	lea  r2,-32767
	cmpi r2,-32768
	blt  e_blt
t_blt7:
	cmpi r2,-32767
	blt  e_blt
t_blt8:
	cmpi r2,-1
	blt  t_blt9
	br   e_blt
t_blt9:
	cmpi r2,0
	blt  t_blt10
	br   e_blt
t_blt10:
	cmpi r2,1
	blt  t_blt11
	br   e_blt
t_blt11:
	cmpi r2,32767
	blt  t_blt12
	br   e_blt
t_blt12:
	lea  r2,-1
	cmpi r2,-32768
	blt  e_blt
t_blt13:
	cmpi r2,-32767
	blt  e_blt
t_blt14:
	cmpi r2,-1
	blt  e_blt
t_blt15:
	cmpi r2,0
	blt  t_blt16
	br   e_blt
t_blt16:
	cmpi r2,1
	blt  t_blt17
	br   e_blt
t_blt17:
	cmpi r2,32767
	blt  t_blt18
	br   e_blt
t_blt18:
	lea  r2,0
	cmpi r2,-32768
	blt  e_blt
t_blt19:
	cmpi r2,-32767
	blt  e_blt
t_blt20:
	cmpi r2,-1
	blt  e_blt
t_blt21:
	cmpi r2,0
	blt  e_blt
t_blt22:
	cmpi r2,1
	blt  t_blt23
	br   e_blt
t_blt23:
	cmpi r2,32767
	blt  t_blt24
	br   e_blt
t_blt24:
	lea  r2,1
	cmpi r2,-32768
	blt  e_blt
t_blt25:
	cmpi r2,-32767
	blt  e_blt
t_blt26:
	cmpi r2,-1
	blt  e_blt
t_blt27:
	cmpi r2,0
	blt  e_blt
t_blt28:
	cmpi r2,1
	blt  e_blt
t_blt29:
	cmpi r2,32767
	blt  t_blt30
	br   e_blt
t_blt30:
	lea  r2,32767
	cmpi r2,-32768
	blt  e_blt
t_blt31:
	cmpi r2,-32767
	blt  e_blt
t_blt32:
	cmpi r2,-1
	blt  e_blt
t_blt33:
	cmpi r2,0
	blt  e_blt
t_blt34:
	cmpi r2,1
	blt  e_blt
t_blt35:
	cmpi r2,32767
	blt  e_blt
t_blt36:
	br t_blt37
e_blt:
	jal r2,error
t_blt37:

t_bge0:
	lea  r2,-32768
	cmpi r2,-32768
	bge  t_bge1
	br   e_bge
t_bge1:
	cmpi r2,-32767
	bge  e_bge
t_bge2:
	cmpi r2,-1
	bge  e_bge
t_bge3:
	cmpi r2,0
	bge  e_bge
t_bge4:
	cmpi r2,1
	bge  e_bge
t_bge5:
	cmpi r2,32767
	bge  e_bge
t_bge6:
	lea  r2,-32767
	cmpi r2,-32768
	bge  t_bge7
	br   e_bge
t_bge7:
	cmpi r2,-32767
	bge  t_bge8
	br   e_bge
t_bge8:
	cmpi r2,-1
	bge  e_bge
t_bge9:
	cmpi r2,0
	bge  e_bge
t_bge10:
	cmpi r2,1
	bge  e_bge
t_bge11:
	cmpi r2,32767
	bge  e_bge
t_bge12:
	lea  r2,-1
	cmpi r2,-32768
	bge  t_bge13
	br   e_bge
t_bge13:
	cmpi r2,-32767
	bge  t_bge14
	br   e_bge
t_bge14:
	cmpi r2,-1
	bge  t_bge15
	br   e_bge
t_bge15:
	cmpi r2,0
	bge  e_bge
t_bge16:
	cmpi r2,1
	bge  e_bge
t_bge17:
	cmpi r2,32767
	bge  e_bge
t_bge18:
	lea  r2,0
	cmpi r2,-32768
	bge  t_bge19
	br   e_bge
t_bge19:
	cmpi r2,-32767
	bge  t_bge20
	br   e_bge
t_bge20:
	cmpi r2,-1
	bge  t_bge21
	br   e_bge
t_bge21:
	cmpi r2,0
	bge  t_bge22
	br   e_bge
t_bge22:
	cmpi r2,1
	bge  e_bge
t_bge23:
	cmpi r2,32767
	bge  e_bge
t_bge24:
	lea  r2,1
	cmpi r2,-32768
	bge  t_bge25
	br   e_bge
t_bge25:
	cmpi r2,-32767
	bge  t_bge26
	br   e_bge
t_bge26:
	cmpi r2,-1
	bge  t_bge27
	br   e_bge
t_bge27:
	cmpi r2,0
	bge  t_bge28
	br   e_bge
t_bge28:
	cmpi r2,1
	bge  t_bge29
	br   e_bge
t_bge29:
	cmpi r2,32767
	bge  e_bge
t_bge30:
	lea  r2,32767
	cmpi r2,-32768
	bge  t_bge31
	br   e_bge
t_bge31:
	cmpi r2,-32767
	bge  t_bge32
	br   e_bge
t_bge32:
	cmpi r2,-1
	bge  t_bge33
	br   e_bge
t_bge33:
	cmpi r2,0
	bge  t_bge34
	br   e_bge
t_bge34:
	cmpi r2,1
	bge  t_bge35
	br   e_bge
t_bge35:
	cmpi r2,32767
	bge  t_bge36
	br   e_bge
t_bge36:
	br t_bge37
e_bge:
	jal r2,error
t_bge37:

t_ble0:
	lea  r2,-32768
	cmpi r2,-32768
	ble  t_ble1
	br   e_ble
t_ble1:
	cmpi r2,-32767
	ble  t_ble2
	br   e_ble
t_ble2:
	cmpi r2,-1
	ble  t_ble3
	br   e_ble
t_ble3:
	cmpi r2,0
	ble  t_ble4
	br   e_ble
t_ble4:
	cmpi r2,1
	ble  t_ble5
	br   e_ble
t_ble5:
	cmpi r2,32767
	ble  t_ble6
	br   e_ble
t_ble6:
	lea  r2,-32767
	cmpi r2,-32768
	ble  e_ble
t_ble7:
	cmpi r2,-32767
	ble  t_ble8
	br   e_ble
t_ble8:
	cmpi r2,-1
	ble  t_ble9
	br   e_ble
t_ble9:
	cmpi r2,0
	ble  t_ble10
	br   e_ble
t_ble10:
	cmpi r2,1
	ble  t_ble11
	br   e_ble
t_ble11:
	cmpi r2,32767
	ble  t_ble12
	br   e_ble
t_ble12:
	lea  r2,-1
	cmpi r2,-32768
	ble  e_ble
t_ble13:
	cmpi r2,-32767
	ble  e_ble
t_ble14:
	cmpi r2,-1
	ble  t_ble15
	br   e_ble
t_ble15:
	cmpi r2,0
	ble  t_ble16
	br   e_ble
t_ble16:
	cmpi r2,1
	ble  t_ble17
	br   e_ble
t_ble17:
	cmpi r2,32767
	ble  t_ble18
	br   e_ble
t_ble18:
	lea  r2,0
	cmpi r2,-32768
	ble  e_ble
t_ble19:
	cmpi r2,-32767
	ble  e_ble
t_ble20:
	cmpi r2,-1
	ble  e_ble
t_ble21:
	cmpi r2,0
	ble  t_ble22
	br   e_ble
t_ble22:
	cmpi r2,1
	ble  t_ble23
	br   e_ble
t_ble23:
	cmpi r2,32767
	ble  t_ble24
	br   e_ble
t_ble24:
	lea  r2,1
	cmpi r2,-32768
	ble  e_ble
t_ble25:
	cmpi r2,-32767
	ble  e_ble
t_ble26:
	cmpi r2,-1
	ble  e_ble
t_ble27:
	cmpi r2,0
	ble  e_ble
t_ble28:
	cmpi r2,1
	ble  t_ble29
	br   e_ble
t_ble29:
	cmpi r2,32767
	ble  t_ble30
	br   e_ble
t_ble30:
	lea  r2,32767
	cmpi r2,-32768
	ble  e_ble
t_ble31:
	cmpi r2,-32767
	ble  e_ble
t_ble32:
	cmpi r2,-1
	ble  e_ble
t_ble33:
	cmpi r2,0
	ble  e_ble
t_ble34:
	cmpi r2,1
	ble  e_ble
t_ble35:
	cmpi r2,32767
	ble  t_ble36
	br   e_ble
t_ble36:
	br t_ble37
e_ble:
	jal r2,error
t_ble37:

t_bgt0:
	lea  r2,-32768
	cmpi r2,-32768
	bgt  e_bgt
t_bgt1:
	cmpi r2,-32767
	bgt  e_bgt
t_bgt2:
	cmpi r2,-1
	bgt  e_bgt
t_bgt3:
	cmpi r2,0
	bgt  e_bgt
t_bgt4:
	cmpi r2,1
	bgt  e_bgt
t_bgt5:
	cmpi r2,32767
	bgt  e_bgt
t_bgt6:
	lea  r2,-32767
	cmpi r2,-32768
	bgt  t_bgt7
	br   e_bgt
t_bgt7:
	cmpi r2,-32767
	bgt  e_bgt
t_bgt8:
	cmpi r2,-1
	bgt  e_bgt
t_bgt9:
	cmpi r2,0
	bgt  e_bgt
t_bgt10:
	cmpi r2,1
	bgt  e_bgt
t_bgt11:
	cmpi r2,32767
	bgt  e_bgt
t_bgt12:
	lea  r2,-1
	cmpi r2,-32768
	bgt  t_bgt13
	br   e_bgt
t_bgt13:
	cmpi r2,-32767
	bgt  t_bgt14
	br   e_bgt
t_bgt14:
	cmpi r2,-1
	bgt  e_bgt
t_bgt15:
	cmpi r2,0
	bgt  e_bgt
t_bgt16:
	cmpi r2,1
	bgt  e_bgt
t_bgt17:
	cmpi r2,32767
	bgt  e_bgt
t_bgt18:
	lea  r2,0
	cmpi r2,-32768
	bgt  t_bgt19
	br   e_bgt
t_bgt19:
	cmpi r2,-32767
	bgt  t_bgt20
	br   e_bgt
t_bgt20:
	cmpi r2,-1
	bgt  t_bgt21
	br   e_bgt
t_bgt21:
	cmpi r2,0
	bgt  e_bgt
t_bgt22:
	cmpi r2,1
	bgt  e_bgt
t_bgt23:
	cmpi r2,32767
	bgt  e_bgt
t_bgt24:
	lea  r2,1
	cmpi r2,-32768
	bgt  t_bgt25
	br   e_bgt
t_bgt25:
	cmpi r2,-32767
	bgt  t_bgt26
	br   e_bgt
t_bgt26:
	cmpi r2,-1
	bgt  t_bgt27
	br   e_bgt

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -