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

📄 apart.asm

📁 基于凌阳61开发板
💻 ASM
📖 第 1 页 / 共 2 页
字号:
// GCC for SUNPLUS u'nSP version 1.0.17
// Command: E:\SUNPLUS\UNSPID~1.1\unSPIDE\cc1.exe C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccakhaaa.i -quiet -dumpbase Apart.c -mglobal-var-iram -gstabs -o .\Debug/Apart.asm
// gcc2_compiled.:

.stabs "E:\\SUNPLUS\\unSP IDE 1.16.1\\unSPIDE\\7BLOCKERSTEST/", 0x64, 0, 3, Ltext0
.stabs "E:/SUNPLUS/unSP IDE 1.16.1/unSPIDE/7BLOCKERSTEST/Apart.c", 0x64, 0, 3, Ltext0
.code
Ltext0:
.debug
	.dw '.stabs "int:t1=r1;-32768;32767;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "char:t2=r2;0;127;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "long int:t3=r3;-2147483648;2147483647;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "unsigned int:t4=r4;0;65535;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "long unsigned int:t5=r5;0;4294967295;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "long long int:t6=r6;-2147483648;2147483647;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "long long unsigned int:t7=r7;0;4294967295;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "short int:t8=r8;-32768;32767;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "short unsigned int:t9=r9;0;65535;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "signed char:t10=r10;-32768;32767;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "unsigned char:t11=r11;0;65535;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "float:t12=r1;2;0;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "double:t13=r1;2;0;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "long double:t14=r1;2;0;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "complex int:t15=s2real:1,0,16;imag:1,16,16;;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "complex float:t16=r16;2;0;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "complex double:t17=r17;2;0;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "complex long double:t18=r18;2;0;",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "void:t19=19",128,0,0,0',0x0d,0x0a
.CODE
.code
.debug
	.dw '.stabs "Apart:F19",36,0,0,',0,0,offset _Apart,seg _Apart,0x0d,0x0a
.CODE
.public _Apart
_Apart:	.proc
.debug
	.dw '.stabn 0x44,0,5,',0,0
	.dd LM1-_Apart
	.dw 0x0d,0x0a
.code
LM1:
	// total=70, vars=70
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=70
	bp=sp+1

	R1=BP+73
	[bp+29]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,6,',0,0
	.dd LM2-_Apart
	.dw 0x0d,0x0a
.code
LM2:
LBB2:
	R1=16128	// QImode move
	[BP]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+1
	R1=1536	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+2
	R1=23296	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+3
	R1=20224	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+4
	R1=26112	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+5
	R1=27904	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+6
	R1=32000	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+7
	R1=1792	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+8
	R1=32512	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+9
	R1=28416	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,9,',0,0
	.dd LM3-_Apart
	.dw 0x0d,0x0a
.code
LM3:
	R1=BP	// QImode move
	R2=BP+13
	R3=0	// HImode immediate to register move
	R4=0
	R1=R2	// QImode move
	[R1++]=R3	// [RD]=RS HImode, RD!=RS+1
	[R1--]=R4
.debug
	.dw '.stabn 0x44,0,10,',0,0
	.dd LM4-_Apart
	.dw 0x0d,0x0a
.code
LM4:
	R1=BP	// QImode move
	R2=BP+15
	R3=10000	// HImode immediate to register move
	R4=0
	R1=R2	// QImode move
	[R1++]=R3	// [RD]=RS HImode, RD!=RS+1
	[R1--]=R4
.debug
	.dw '.stabn 0x44,0,11,',0,0
	.dd LM5-_Apart
	.dw 0x0d,0x0a
.code
LM5:
	R1=1	// QImode move
	[28690]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,12,',0,0
	.dd LM6-_Apart
	.dw 0x0d,0x0a
.code
LM6:
L3:
	R3=[bp+29]	// QImode move
	R2=0	// sign extend
	R1=[R3]
	jpl 1
	R2=-1
	R3=BP	// QImode move
	R3=BP+15
	R4=BP+66
	[R4]=R3	// QImode move
	R4=BP+66
	R3=[R4]	// QImode move
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	[bp+30]=R3	// HImode [BP+#IM6]=RS
	[bp+31]=R4
	CMP R2,[bp+31]	// CMP RD,[RS] HImode
	JB  L50	// HImode GEU
	JNZ L49
	CMP R1,[bp+30]
	JB  L50
L49:
	PC=L6
L50:
	pc=L4	// Indirect jump
L6:
.debug
	.dw '.stabn 0x44,0,14,',0,0
	.dd LM7-_Apart
	.dw 0x0d,0x0a
.code
LM7:
	R1=BP	// QImode move
	R2=BP+13
	R3=BP	// QImode move
	R1=BP+13
	R2=BP	// QImode move
	R2=BP+13
	R4=BP+67
	[R4]=R2	// QImode move
	R4=BP+67
	R3=[R4]	// QImode move
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	[bp+32]=R3	// HImode [BP+#IM6]=RS
	[bp+33]=R4
	R3=[bp+32]	// HImode RD=[BP+#IM6]
	R4=[bp+33]
	R3=R3+1	// HImode RD=RS+#IMM16
	R4=R4+0, Carry
	R2=BP+68
	[R2]=R3	// [RD]=RS HImode, RD=RS+1
	PUSH BP TO [SP]
	BP=R2
	[BP+1]=R4
	POP BP FROM [SP]
	R3=BP+68
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	R2=R1	// QImode move
	[R2]=R3	// [RD]=RS HImode, RD=RS+1
	PUSH BP TO [SP]
	BP=R2
	[BP+1]=R4
	POP BP FROM [SP]
.debug
	.dw '.stabn 0x44,0,15,',0,0
	.dd LM8-_Apart
	.dw 0x0d,0x0a
.code
LM8:
	R2=BP	// QImode move
	R1=BP+15
	R2=BP	// QImode move
	R2=BP+15
	R4=BP+68
	[R4]=R2	// QImode move
	R4=BP+68
	R3=[R4]	// QImode move
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	[bp+34]=R3	// HImode [BP+#IM6]=RS
	[bp+35]=R4
	R3=[bp+34]	// HImode RD=[BP+#IM6]
	R4=[bp+35]
	R3=R3+10000	// HImode RD=RS+#IMM16
	R4=R4+0, Carry
	R2=BP+68
	[R2]=R3	// [RD]=RS HImode, RD=RS+1
	PUSH BP TO [SP]
	BP=R2
	[BP+1]=R4
	POP BP FROM [SP]
	R3=BP+68
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	R2=R1	// QImode move
	[R2]=R3	// [RD]=RS HImode, RD=RS+1
	PUSH BP TO [SP]
	BP=R2
	[BP+1]=R4
	POP BP FROM [SP]
.debug
	.dw '.stabn 0x44,0,12,',0,0
	.dd LM9-_Apart
	.dw 0x0d,0x0a
.code
LM9:
L5:
	pc=L3	// Indirect jump
L4:
.debug
	.dw '.stabn 0x44,0,17,',0,0
	.dd LM10-_Apart
	.dw 0x0d,0x0a
.code
LM10:
	R2=BP	// QImode move
	R1=BP+25
	R2=BP	// QImode move
	R2=BP+13
	R4=BP+68
	[R4]=R2	// QImode move
	R4=BP+68
	R3=[R4]	// QImode move
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	[bp+36]=R3	// HImode [BP+#IM6]=RS
	[bp+37]=R4
	R3=[bp+36]	// HImode RD=[BP+#IM6]
	R4=[bp+37]
	R2=R1	// QImode move
	[R2]=R3	// [RD]=RS HImode, RD=RS+1
	PUSH BP TO [SP]
	BP=R2
	[BP+1]=R4
	POP BP FROM [SP]
.debug
	.dw '.stabn 0x44,0,18,',0,0
	.dd LM11-_Apart
	.dw 0x0d,0x0a
.code
LM11:
L7:
	R3=[bp+29]	// QImode move
	R1=[R3]	// QImode move
	CMP R1,9999	// QImode compare
	JNG L51	// QImode GT
	PC=L10
L51:
	pc=L8	// Indirect jump
L10:
.debug
	.dw '.stabn 0x44,0,20,',0,0
	.dd LM12-_Apart
	.dw 0x0d,0x0a
.code
LM12:
	R4=[bp+29]	// QImode move
	R1=[R4]	// QImode move
	R2=R1+(-10000)
	R1=[bp+29]	// QImode move
	[R1]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,18,',0,0
	.dd LM13-_Apart
	.dw 0x0d,0x0a
.code
LM13:
L9:
	pc=L7	// Indirect jump
L8:
.debug
	.dw '.stabn 0x44,0,24,',0,0
	.dd LM14-_Apart
	.dw 0x0d,0x0a
.code
LM14:
	R1=BP	// QImode move
	R2=BP+13
	R3=0	// HImode immediate to register move
	R4=0
	R1=R2	// QImode move
	[R1++]=R3	// [RD]=RS HImode, RD!=RS+1
	[R1--]=R4
.debug
	.dw '.stabn 0x44,0,25,',0,0
	.dd LM15-_Apart
	.dw 0x0d,0x0a
.code
LM15:
	R1=BP	// QImode move
	R2=BP+15
	R3=1000	// HImode immediate to register move
	R4=0
	R1=R2	// QImode move
	[R1++]=R3	// [RD]=RS HImode, RD!=RS+1
	[R1--]=R4
.debug
	.dw '.stabn 0x44,0,26,',0,0
	.dd LM16-_Apart
	.dw 0x0d,0x0a
.code
LM16:
	R1=1	// QImode move
	[28690]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,27,',0,0
	.dd LM17-_Apart
	.dw 0x0d,0x0a
.code
LM17:
L11:
	R3=[bp+29]	// QImode move
	R2=0	// sign extend
	R1=[R3]
	jpl 1
	R2=-1
	R3=BP	// QImode move
	R3=BP+15
	R4=BP+66
	[R4]=R3	// QImode move
	R4=BP+66
	R3=[R4]	// QImode move
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	[bp+38]=R3	// HImode [BP+#IM6]=RS
	[bp+39]=R4
	CMP R2,[bp+39]	// CMP RD,[RS] HImode
	JB  L53	// HImode GEU
	JNZ L52
	CMP R1,[bp+38]
	JB  L53
L52:
	PC=L14
L53:
	pc=L12	// Indirect jump
L14:
.debug
	.dw '.stabn 0x44,0,29,',0,0
	.dd LM18-_Apart
	.dw 0x0d,0x0a
.code
LM18:
	R1=BP	// QImode move
	R2=BP+13
	R3=BP	// QImode move
	R1=BP+13
	R2=BP	// QImode move
	R2=BP+13
	R4=BP+68
	[R4]=R2	// QImode move
	R4=BP+68
	R3=[R4]	// QImode move
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	[bp+40]=R3	// HImode [BP+#IM6]=RS
	[bp+41]=R4
	R3=[bp+40]	// HImode RD=[BP+#IM6]
	R4=[bp+41]
	R3=R3+1	// HImode RD=RS+#IMM16
	R4=R4+0, Carry
	R2=BP+68
	[R2]=R3	// [RD]=RS HImode, RD=RS+1
	PUSH BP TO [SP]
	BP=R2
	[BP+1]=R4
	POP BP FROM [SP]
	R3=BP+68
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	R2=R1	// QImode move
	[R2]=R3	// [RD]=RS HImode, RD=RS+1
	PUSH BP TO [SP]
	BP=R2
	[BP+1]=R4
	POP BP FROM [SP]
.debug
	.dw '.stabn 0x44,0,30,',0,0
	.dd LM19-_Apart
	.dw 0x0d,0x0a
.code
LM19:
	R2=BP	// QImode move
	R1=BP+15
	R2=BP	// QImode move
	R2=BP+15
	R4=BP+68
	[R4]=R2	// QImode move
	R4=BP+68
	R3=[R4]	// QImode move
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	[bp+42]=R3	// HImode [BP+#IM6]=RS
	[bp+43]=R4
	R3=[bp+42]	// HImode RD=[BP+#IM6]
	R4=[bp+43]
	R3=R3+1000	// HImode RD=RS+#IMM16
	R4=R4+0, Carry
	R2=BP+68
	[R2]=R3	// [RD]=RS HImode, RD=RS+1
	PUSH BP TO [SP]
	BP=R2
	[BP+1]=R4
	POP BP FROM [SP]
	R3=BP+68
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	R2=R1	// QImode move
	[R2]=R3	// [RD]=RS HImode, RD=RS+1
	PUSH BP TO [SP]
	BP=R2
	[BP+1]=R4
	POP BP FROM [SP]
.debug
	.dw '.stabn 0x44,0,27,',0,0
	.dd LM20-_Apart
	.dw 0x0d,0x0a
.code
LM20:
L13:
	pc=L11	// Indirect jump
L12:
.debug
	.dw '.stabn 0x44,0,32,',0,0
	.dd LM21-_Apart
	.dw 0x0d,0x0a
.code
LM21:
	R2=BP	// QImode move
	R1=BP+23
	R2=BP	// QImode move
	R2=BP+13
	R4=BP+68
	[R4]=R2	// QImode move
	R4=BP+68
	R3=[R4]	// QImode move
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	[bp+44]=R3	// HImode [BP+#IM6]=RS
	[bp+45]=R4
	R3=[bp+44]	// HImode RD=[BP+#IM6]
	R4=[bp+45]
	R2=R1	// QImode move
	[R2]=R3	// [RD]=RS HImode, RD=RS+1
	PUSH BP TO [SP]
	BP=R2
	[BP+1]=R4
	POP BP FROM [SP]
.debug
	.dw '.stabn 0x44,0,33,',0,0
	.dd LM22-_Apart
	.dw 0x0d,0x0a
.code
LM22:
L15:
	R3=[bp+29]	// QImode move
	R1=[R3]	// QImode move
	CMP R1,999	// QImode compare
	JNG L54	// QImode GT
	PC=L18
L54:
	pc=L16	// Indirect jump
L18:
.debug
	.dw '.stabn 0x44,0,35,',0,0
	.dd LM23-_Apart
	.dw 0x0d,0x0a
.code
LM23:
	R4=[bp+29]	// QImode move
	R1=[R4]	// QImode move
	R2=R1+(-1000)
	R1=[bp+29]	// QImode move
	[R1]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,33,',0,0
	.dd LM24-_Apart
	.dw 0x0d,0x0a
.code
LM24:
L17:
	pc=L15	// Indirect jump
L16:
.debug
	.dw '.stabn 0x44,0,39,',0,0
	.dd LM25-_Apart
	.dw 0x0d,0x0a
.code
LM25:
	R1=BP	// QImode move
	R2=BP+13
	R3=0	// HImode immediate to register move
	R4=0
	R1=R2	// QImode move
	[R1++]=R3	// [RD]=RS HImode, RD!=RS+1
	[R1--]=R4
.debug
	.dw '.stabn 0x44,0,40,',0,0
	.dd LM26-_Apart
	.dw 0x0d,0x0a
.code
LM26:
	R1=BP	// QImode move
	R2=BP+15
	R3=100	// HImode immediate to register move
	R4=0
	R1=R2	// QImode move
	[R1++]=R3	// [RD]=RS HImode, RD!=RS+1
	[R1--]=R4
.debug
	.dw '.stabn 0x44,0,41,',0,0
	.dd LM27-_Apart
	.dw 0x0d,0x0a
.code
LM27:
	R1=1	// QImode move
	[28690]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,42,',0,0
	.dd LM28-_Apart
	.dw 0x0d,0x0a
.code
LM28:
L19:
	R3=[bp+29]	// QImode move
	R2=0	// sign extend
	R1=[R3]
	jpl 1
	R2=-1
	R3=BP	// QImode move
	R3=BP+15
	R4=BP+66
	[R4]=R3	// QImode move
	R4=BP+66
	R3=[R4]	// QImode move
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	[bp+46]=R3	// HImode [BP+#IM6]=RS
	[bp+47]=R4
	CMP R2,[bp+47]	// CMP RD,[RS] HImode
	JB  L56	// HImode GEU
	JNZ L55
	CMP R1,[bp+46]
	JB  L56
L55:
	PC=L22
L56:
	pc=L20	// Indirect jump
L22:
.debug
	.dw '.stabn 0x44,0,44,',0,0
	.dd LM29-_Apart
	.dw 0x0d,0x0a
.code
LM29:
	R1=BP	// QImode move
	R2=BP+13
	R3=BP	// QImode move
	R1=BP+13
	R2=BP	// QImode move
	R2=BP+13
	R4=BP+68
	[R4]=R2	// QImode move
	R4=BP+68
	R3=[R4]	// QImode move
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	[bp+48]=R3	// HImode [BP+#IM6]=RS
	[bp+49]=R4
	R3=[bp+48]	// HImode RD=[BP+#IM6]
	R4=[bp+49]
	R3=R3+1	// HImode RD=RS+#IMM16
	R4=R4+0, Carry
	R2=BP+68
	[R2]=R3	// [RD]=RS HImode, RD=RS+1
	PUSH BP TO [SP]
	BP=R2
	[BP+1]=R4
	POP BP FROM [SP]
	R3=BP+68
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	R2=R1	// QImode move
	[R2]=R3	// [RD]=RS HImode, RD=RS+1
	PUSH BP TO [SP]
	BP=R2
	[BP+1]=R4
	POP BP FROM [SP]
.debug
	.dw '.stabn 0x44,0,45,',0,0
	.dd LM30-_Apart
	.dw 0x0d,0x0a
.code
LM30:
	R2=BP	// QImode move
	R1=BP+15
	R2=BP	// QImode move
	R2=BP+15
	R4=BP+68
	[R4]=R2	// QImode move
	R4=BP+68
	R3=[R4]	// QImode move
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	[bp+50]=R3	// HImode [BP+#IM6]=RS
	[bp+51]=R4
	R3=[bp+50]	// HImode RD=[BP+#IM6]
	R4=[bp+51]
	R3=R3+100	// HImode RD=RS+#IMM16
	R4=R4+0, Carry
	R2=BP+68
	[R2]=R3	// [RD]=RS HImode, RD=RS+1
	PUSH BP TO [SP]
	BP=R2
	[BP+1]=R4
	POP BP FROM [SP]
	R3=BP+68
	R4=R3	// RD=[RS] HImode, RD==RS
	R3=[R4++]
	R4=[R4]
	R2=R1	// QImode move
	[R2]=R3	// [RD]=RS HImode, RD=RS+1
	PUSH BP TO [SP]
	BP=R2
	[BP+1]=R4
	POP BP FROM [SP]
.debug
	.dw '.stabn 0x44,0,42,',0,0
	.dd LM31-_Apart
	.dw 0x0d,0x0a
.code
LM31:
L21:
	pc=L19	// Indirect jump
L20:
.debug

⌨️ 快捷键说明

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