📄 main.asm
字号:
// GCC for SUNPLUS u'nSP version 1.0.23
// Command: C:\PROGRA~1\Sunplus\UNSPID~1.2D\toolchain\cc1.exe C:\DOCUME~1\lk\LOCALS~1\Temp\ccQPaaaa.i -fkeep-inline-functions -quiet -dumpbase main.c -mglobal-var-iram -gstabs -Wall -o .\Debug/main.asm
.external __sn_func_ptr_sec
// gcc2_compiled.:
.debug
.dw '.stabs "E:/lk/lianxi/lk_5/",0x64,0,3,',0,0,offset Ltext0,seg Ltext0,0x0d,0x0a
.code
.debug
.dw '.stabs "E:/lk/lianxi/lk_5/main.c",0x64,0,3,',0,0,offset Ltext0,seg Ltext0,0x0d,0x0a
.code
.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
.debug
.dw '.stabs "SndIndex:T20=eS_0:0,S_1:1,S_2:2,\\",128,0,0,0',0x0d,0x0a
.DW '.stabs "S_3:3,S_4:4,S_5:5,S_6:6,\\",128,0,0,0',0x0d,0x0a
.DW '.stabs "S_7:7,S_8:8,S_9:9,S_10:10,\\",128,0,0,0',0x0d,0x0a
.DW '.stabs "S_11:11,S_12:12,S_Liang:13,S_DING:14,\\",128,0,0,0',0x0d,0x0a
.DW '.stabs "S_XZSK:15,S_LC:16,S_SW:17,S_XW:18,\\",128,0,0,0',0x0d,0x0a
.DW '.stabs "S_WS:19,S_Nian:20,S_Yue:21,S_Ri:22,\\",128,0,0,0',0x0d,0x0a
.DW '.stabs "S_Dian:23,S_Fen:24,S_Miao:25,S_Zheng:26,;",128,0,0,0',0x0d,0x0a
.CODE
.public _numb
.iram
_numb:
.dw 256
.debug
.dw '.stabs "numb:G1",32,0,0,',0,0,offset _numb,seg _numb,0x0d,0x0a
.CODE
.public _DispTbl
.iram
_DispTbl:
.dw 16128
.dw 1536
.dw 23296
.dw 20224
.dw 26112
.dw 27904
.dw 32000
.dw 1792
.dw 32512
.dw 28416
.dw 30464
.dw 31744
.dw 14592
.dw 24064
.dw 30976
.dw 28928
.dw -256
.debug
.dw '.stabs "DispTbl:G21=ar1;0;16;1",32,0,0,',0,0,offset _DispTbl,seg _DispTbl,0x0d,0x0a
.CODE
.public _led_buf
.iram
_led_buf:
.dw 3
.dw 2
.dw 1
.dw 6
.dw 5
.dw 4
.debug
.dw '.stabs "led_buf:G22=ar1;0;5;1",32,0,0,',0,0,offset _led_buf,seg _led_buf,0x0d,0x0a
.CODE
.public _flat
.iram
_flat:
.dw 0
.debug
.dw '.stabs "flat:G1",32,0,0,',0,0,offset _flat,seg _flat,0x0d,0x0a
.CODE
.public _ch_num
.iram
_ch_num:
.dw 3
.debug
.dw '.stabs "ch_num:G1",32,0,0,',0,0,offset _ch_num,seg _ch_num,0x0d,0x0a
.CODE
.public _key_value
.iram
_key_value:
.dw 0
.debug
.dw '.stabs "key_value:G4",32,0,0,',0,0,offset _key_value,seg _key_value,0x0d,0x0a
.CODE
.public _Speed
.iram
_Speed:
.dw 0
.debug
.dw '.stabs "Speed:G4",32,0,0,',0,0,offset _Speed,seg _Speed,0x0d,0x0a
.CODE
.public _Time
.iram
_Time:
.dw 1
.debug
.dw '.stabs "Time:G4",32,0,0,',0,0,offset _Time,seg _Time,0x0d,0x0a
.CODE
.public _finish
.iram
_finish:
.dw 0
.debug
.dw '.stabs "finish:G1",32,0,0,',0,0,offset _finish,seg _finish,0x0d,0x0a
.CODE
.public _warning
.iram
_warning:
.dw 0
.debug
.dw '.stabs "warning:G1",32,0,0,',0,0,offset _warning,seg _warning,0x0d,0x0a
.CODE
.public _i
.iram
_i:
.dw 0
.debug
.dw '.stabs "i:G1",32,0,0,',0,0,offset _i,seg _i,0x0d,0x0a
.CODE
.code
.debug
.dw '.stabs "delay:F19",36,0,0,',0,0,offset _delay,seg _delay,0x0d,0x0a
.CODE
.public _delay
_delay: .proc
.debug
.dw '.stabn 0x44,0,32,',0,0
.dd LM1-_delay
.dw 0x0d,0x0a
.code
LM1:
// total=1, vars=1
// frame_pointer_needed: 1
.debug
.dw '.stabn 0xa6,0,0,1',0x0d, 0x0a
.code
PUSH BP to [SP]
SP-=1
BP=SP+1
R1=BP+4
.debug
.dw '.stabn 0x44,0,33,',0,0
.dd LM2-_delay
.dw 0x0d,0x0a
.code
LM2:
LBB2:
R2=0 // QImode move
[BP]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,34,',0,0
.dd LM3-_delay
.dw 0x0d,0x0a
.code
LM3:
R2=0 // QImode move
[BP]=R2 // QImode move
L3:
R2=[BP] // QImode move
CMP R2,79 // QImode compare
NSJNG L6 //QImode LE
PC=L4 // jump
L6:
.debug
.dw '.stabn 0x44,0,35,',0,0
.dd LM4-_delay
.dw 0x0d,0x0a
.code
LM4:
R2=1 // QImode move
[28690]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,34,',0,0
.dd LM5-_delay
.dw 0x0d,0x0a
.code
LM5:
L5:
R2=[BP] // QImode move
R3=R2+1
[BP]=R3 // QImode move
PC=L3 // jump
L4:
.debug
.dw '.stabn 0x44,0,36,',0,0
.dd LM6-_delay
.dw 0x0d,0x0a
.code
LM6:
LBE2:
.debug
.dw '.stabn 0x44,0,36,',0,0
.dd LM7-_delay
.dw 0x0d,0x0a
.code
LM7:
L2:
SP+=1
POP BP from [SP]
RETF
.endp // end of delay
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB2-_delay
.dw 0x0d,0x0a
.code
.debug
.dw '.stabs "delayvalue:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE2-_delay
.dw 0x0d,0x0a
.code
.debug
.dw '.stabf ',0,0
.dd LME1-_delay
.dw 0x0d,0x0a
.code
LME1:
.code
.debug
.dw '.stabs "main:F1",36,0,0,',0,0,offset _main,seg _main,0x0d,0x0a
.CODE
.public _main
_main: .proc
.debug
.dw '.stabn 0x44,0,40,',0,0
.dd LM8-_main
.dw 0x0d,0x0a
.code
LM8:
// total=3, vars=3
// frame_pointer_needed: 1
.debug
.dw '.stabn 0xa6,0,0,3',0x0d, 0x0a
.code
PUSH BP to [SP]
SP-=3
BP=SP+1
R1=BP+6
[BP+1]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,41,',0,0
.dd LM9-_main
.dw 0x0d,0x0a
.code
LM9:
LBB3:
R1=0 // QImode move
[BP]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,42,',0,0
.dd LM10-_main
.dw 0x0d,0x0a
.code
LM10:
R1=(-256) // QImode move
[28674]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,43,',0,0
.dd LM11-_main
.dw 0x0d,0x0a
.code
LM11:
R1=(-1) // QImode move
[28675]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,44,',0,0
.dd LM12-_main
.dw 0x0d,0x0a
.code
LM12:
R1=0 // QImode move
[28672]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,45,',0,0
.dd LM13-_main
.dw 0x0d,0x0a
.code
LM13:
R1=(-256) // QImode move
[28679]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,46,',0,0
.dd LM14-_main
.dw 0x0d,0x0a
.code
LM14:
R1=(-256) // QImode move
[28680]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,47,',0,0
.dd LM15-_main
.dw 0x0d,0x0a
.code
LM15:
R1=0 // QImode move
[28677]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,48,',0,0
.dd LM16-_main
.dw 0x0d,0x0a
.code
LM16:
CALL _Key_Init // call without return value
.debug
.dw '.stabn 0x44,0,49,',0,0
.dd LM17-_main
.dw 0x0d,0x0a
.code
LM17:
R1=0 // QImode move
[BP]=R1 // QImode move
L9:
R1=[BP] // QImode move
CMP R1,2 // QImode compare
NSJNG L12 //QImode LE
PC=L10 // jump
L12:
.debug
.dw '.stabn 0x44,0,51,',0,0
.dd LM18-_main
.dw 0x0d,0x0a
.code
LM18:
R2=[BP] // QImode move
R1=R2+3
R4=0 // sign extend
R3=R1
jpl 1
R4=-1
R1=_led_buf // QImode move
R2=R3 // QImode move
[BP+2]=R1 // QImode move
R3=[BP+2] // QImode move
R3 = R3 + R2 //addqi3
[BP+2]=R3 // QImode move
R2=0 // sign extend
R1=[BP]
jpl 1
R2=-1
R3=R1+(-4096)
R4=R3 // QImode move
R1=[R4] // QImode move
R2=10 // QImode move
[SP--]=R2 // QImode move
[SP--]=R1 // QImode move
CALL __modu1 // call with return value
SP = SP + 2 //SP
R2=[BP+2] // QImode move
[R2]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,49,',0,0
.dd LM19-_main
.dw 0x0d,0x0a
.code
LM19:
L11:
R1=[BP] // QImode move
R2=R1+1
[BP]=R2 // QImode move
PC=L9 // jump
L10:
.debug
.dw '.stabn 0x44,0,53,',0,0
.dd LM20-_main
.dw 0x0d,0x0a
.code
LM20:
L13:
PC=L15 // jump
PC=L14 // jump
L15:
.debug
.dw '.stabn 0x44,0,58,',0,0
.dd LM21-_main
.dw 0x0d,0x0a
.code
LM21:
R2=[28677] // QImode move
R1=R2&1
CMP R1,0 // QImode test
NSJZ L16 //QImode EQ
.debug
.dw '.stabn 0x44,0,60,',0,0
.dd LM22-_main
.dw 0x0d,0x0a
.code
LM22:
R1=[_finish] // QImode move
R2=1 // QImode move
[_finish]=R1+R2 //addqi3_Qrr
.debug
.dw '.stabn 0x44,0,61,',0,0
.dd LM23-_main
.dw 0x0d,0x0a
.code
LM23:
R1=[_finish] // QImode move
CMP R1,49 // QImode compare
NSJNG L17 //QImode LE
.debug
.dw '.stabn 0x44,0,62,',0,0
.dd LM24-_main
.dw 0x0d,0x0a
.code
LM24:
R1=1 // QImode move
[_finish]=R1 // QImode move
L17:
.debug
.dw '.stabn 0x44,0,63,',0,0
.dd LM25-_main
.dw 0x0d,0x0a
.code
LM25:
PC=L18 // jump
L16:
.debug
.dw '.stabn 0x44,0,65,',0,0
.dd LM26-_main
.dw 0x0d,0x0a
.code
LM26:
R1=1 // QImode move
[_warning]=R1 // QImode move
L18:
.debug
.dw '.stabn 0x44,0,69,',0,0
.dd LM27-_main
.dw 0x0d,0x0a
.code
LM27:
CALL _Key_Get // call with return value
[_key_value]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,70,',0,0
.dd LM28-_main
.dw 0x0d,0x0a
.code
LM28:
R1=[_key_value] // QImode move
CMP R1,0 // QImode test
NSJZ L19 //QImode EQ
.debug
.dw '.stabn 0x44,0,71,',0,0
.dd LM29-_main
.dw 0x0d,0x0a
.code
LM29:
R2=[_key_value] // QImode move
R1=R2 // QImode move
R1=R1-1
CMP R1,11 // QImode compare
NSJA L19 //QImode GTU
R2=L38 // QImode move
R1 = R1 + R2 //addqi3
R3=R1 // QImode move
R1=[R3] // QImode move
PC=R1 // tablejump
.text
L38:
.dw L21
.dw L24
.dw L19
.dw L27
.dw L19
.dw L19
.dw L19
.dw L19
.dw L30
.dw L33
.dw L19
.dw L36
.code
L21:
.debug
.dw '.stabn 0x44,0,75,',0,0
.dd LM30-_main
.dw 0x0d,0x0a
.code
LM30:
R2=0 // sign extend
R1=[_ch_num]
jpl 1
R2=-1
R3=_led_buf // QImode move
R2=R1 // QImode move
R1=R3 // QImode move
R1 = R1 + R2 //addqi3
R4=R1 // QImode move
R2=[R4] // QImode move
CMP R2,0 // QImode test
NSJNZ L22 //QImode NE
.debug
.dw '.stabn 0x44,0,76,',0,0
.dd LM31-_main
.dw 0x0d,0x0a
.code
LM31:
R2=0 // sign extend
R1=[_ch_num]
jpl 1
R2=-1
R3=_led_buf // QImode move
R2=R1 // QImode move
R1=R3 // QImode move
R1 = R1 + R2 //addqi3
R2=9 // QImode move
R3=R1 // QImode move
[R3]=R2 // QImode move
PC=L23 // jump
L22:
.debug
.dw '.stabn 0x44,0,78,',0,0
.dd LM32-_main
.dw 0x0d,0x0a
.code
LM32:
R2=0 // sign extend
R1=[_ch_num]
jpl 1
R2=-1
R3=_led_buf // QImode move
R2=R1 // QImode move
R1=R3 // QImode move
R1 = R1 + R2 //addqi3
R4=0 // sign extend
R3=[_ch_num]
jpl 1
R4=-1
R1=_led_buf // QImode move
R2=R3 // QImode move
R1 = R1 + R2 //addqi3
R4=0 // sign extend
R3=[_ch_num]
jpl 1
R4=-1
R2=_led_buf // QImode move
R2 = R2 + R3 //addqi3
R4=R2 // QImode move
R3=[R4] // QImode move
R2=R3+(-1)
R3=R1 // QImode move
[R3]=R2 // QImode move
L23:
.debug
.dw '.stabn 0x44,0,79,',0,0
.dd LM33-_main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -