📄 main.asm
字号:
// GCC for SUNPLUS u'nSP version 1.0.21-3
// Command: E:\UNSPID~1.0\cc1.exe C:\DOCUME~1\Admin\LOCALS~1\Temp\ccgdbaaa.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 "D:/temp/qq/",0x64,0,3,',0,0,offset Ltext0,seg Ltext0,0x0d,0x0a
.code
.debug
.dw '.stabs "D:/temp/qq/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
.public _i
.iram
_i:
.dw 0
.debug
.dw '.stabs "i:G1",32,0,0,',0,0,offset _i,seg _i,0x0d,0x0a
.CODE
.public _Volume_Index
.iram
_Volume_Index:
.dw 7
.debug
.dw '.stabs "Volume_Index:G1",32,0,0,',0,0,offset _Volume_Index,seg _Volume_Index,0x0d,0x0a
.CODE
.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,66,',0,0
.dd LM1-_main
.dw 0x0d,0x0a
.code
LM1:
// total=1, vars=1
// frame_pointer_needed: 1
push bp to [sp]
sp-=1
bp=sp+1
R1=BP+4
[BP]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,71,',0,0
.dd LM2-_main
.dw 0x0d,0x0a
.code
LM2:
R1=0 // QImode move
[28674]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,73,',0,0
.dd LM3-_main
.dw 0x0d,0x0a
.code
LM3:
R1=0 // QImode move
[28675]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,75,',0,0
.dd LM4-_main
.dw 0x0d,0x0a
.code
LM4:
R1=0 // QImode move
[28672]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,80,',0,0
.dd LM5-_main
.dw 0x0d,0x0a
.code
LM5:
R1=1 // QImode move
[SP--]=R1 // QImode move
call _SACM_A2000_Initial // call with return value
SP = SP + 1 //SP
.debug
.dw '.stabn 0x44,0,82,',0,0
.dd LM6-_main
.dw 0x0d,0x0a
.code
LM6:
R1=0 // QImode move
[_i]=R1 // QImode move
L3:
R1=[_i] // QImode move
CMP R1,1 // QImode compare
NSJNG L6 //QImode LE
pc=L4 // Indirect jump
L6:
.debug
.dw '.stabn 0x44,0,85,',0,0
.dd LM7-_main
.dw 0x0d,0x0a
.code
LM7:
R1=1 // QImode move
[SP--]=R1 // QImode move
R1=[_i] // QImode move
[SP--]=R1 // QImode move
call _PlaySnd_Auto // call without return value
SP = SP + 2 //SP
.debug
.dw '.stabn 0x44,0,89,',0,0
.dd LM8-_main
.dw 0x0d,0x0a
.code
LM8:
R1=1 // QImode move
[28690]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,82,',0,0
.dd LM9-_main
.dw 0x0d,0x0a
.code
LM9:
L5:
R1=[_i] // QImode move
R2=1 // QImode move
[_i]=R1+R2 //addqi3_Qrr
pc=L3 // Indirect jump
L4:
.debug
.dw '.stabn 0x44,0,92,',0,0
.dd LM10-_main
.dw 0x0d,0x0a
.code
LM10:
.debug
.dw '.stabn 0x44,0,92,',0,0
.dd LM11-_main
.dw 0x0d,0x0a
.code
LM11:
L2:
sp+=1
pop bp from [sp]
retf
.endp // end of main
.debug
.dw '.stabf ',0,0
.dd LME1-_main
.dw 0x0d,0x0a
.code
LME1:
.code
.debug
.dw '.stabs "PlaySnd_Auto:F19",36,0,0,',0,0,offset _PlaySnd_Auto,seg _PlaySnd_Auto,0x0d,0x0a
.CODE
.public _PlaySnd_Auto
_PlaySnd_Auto: .proc
.debug
.dw '.stabn 0x44,0,105,',0,0
.dd LM12-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM12:
// total=3, vars=3
// frame_pointer_needed: 1
push bp to [sp]
sp-=3
bp=sp+1
R1=BP+6
[bp+2]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,106,',0,0
.dd LM13-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM13:
LBB2:
.debug
.dw '.stabn 0x44,0,111,',0,0
.dd LM14-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM14:
R1=3 // QImode move
[SP--]=R1 // QImode move
R1=[bp+2] // QImode move
R3=[bp+2] // QImode move
R2=R3+1
R3=R2 // QImode move
R1=[R3] // QImode move
[SP--]=R1 // QImode move
R2=[bp+2] // QImode move
R1=[R2] // QImode move
[SP--]=R1 // QImode move
call _SACM_A2000_Play // call without return value
SP = SP + 3 //SP
L9:
L12:
.debug
.dw '.stabn 0x44,0,119,',0,0
.dd LM15-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM15:
R1=BP // QImode move
R2=BP+1
R1=[28672] // QImode move
R3=R2 // QImode move
[R3]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,121,',0,0
.dd LM16-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM16:
call _SACM_A2000_Status // call with return value
R2=R1&1
CMP R2,0 // QImode test
NSJZ L15 //QImode EQ
.debug
.dw '.stabn 0x44,0,124,',0,0
.dd LM17-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM17:
call _SACM_A2000_ServiceLoop // call without return value
.debug
.dw '.stabn 0x44,0,126,',0,0
.dd LM18-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM18:
R1=1 // QImode move
[28690]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,128,',0,0
.dd LM19-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM19:
pc=L14 // Indirect jump
L15:
.debug
.dw '.stabn 0x44,0,130,',0,0
.dd LM20-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM20:
call _SACM_A2000_Stop // call without return value
pc=L13 // Indirect jump
L16:
.debug
.dw '.stabn 0x44,0,133,',0,0
.dd LM21-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM21:
L14:
R1=BP // QImode move
R2=BP+1
R1=[28672] // QImode move
R3=R2 // QImode move
CMP R1,[R3] // QImode compare
NSJZ L17 //QImode EQ
pc=L13 // Indirect jump
L17:
pc=L12 // Indirect jump
L13:
.debug
.dw '.stabn 0x44,0,140,',0,0
.dd LM22-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM22:
call _SACM_A2000_Status // call with return value
R2=R1&1
CMP R2,0 // QImode test
NSJZ L11 //QImode EQ
.debug
.dw '.stabn 0x44,0,144,',0,0
.dd LM23-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM23:
call _SACM_A2000_ServiceLoop // call without return value
.debug
.dw '.stabn 0x44,0,147,',0,0
.dd LM24-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM24:
R2=[28672] // QImode move
R1=R2&1
CMP R1,0 // QImode test
NSJZ L19 //QImode EQ
.debug
.dw '.stabn 0x44,0,151,',0,0
.dd LM25-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM25:
R1=1 // QImode move
[28690]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,153,',0,0
.dd LM26-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM26:
R1=[_Volume_Index] // QImode move
R2=1 // QImode move
[_Volume_Index]=R1+R2 //addqi3_Qrr
.debug
.dw '.stabn 0x44,0,155,',0,0
.dd LM27-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM27:
R1=[_Volume_Index] // QImode move
CMP R1,15 // QImode compare
NSJNG L20 //QImode LE
R1=15 // QImode move
[_Volume_Index]=R1 // QImode move
L20:
.debug
.dw '.stabn 0x44,0,157,',0,0
.dd LM28-_PlaySnd_Auto
.dw 0x0d,0x0a
.code
LM28:
R1=[_Volume_Index] // QImode move
[SP--]=R1 // QImode move
call _SACM_A2000_Volume // call without return value
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -