📄 main.asm
字号:
// GCC for SUNPLUS u'nSP version 1.0.10
// Command: D:\PROGRA~1\Sunplus\UNSPID~1.4\unSPIDE\cc1.exe C:\DOCUME~1\YAOYAN~1\LOCALS~1\Temp\ccoDaaaa.i -fkeep-inline-functions -quiet -dumpbase main.c -gstabs -o .\Debug/main.asm
// gcc2_compiled.:
.stabs "D:\\Program Files\\Sunplus\\unSPIDE1.8.4\\SPCE061A\\example\\61_Exa\\SpeechClock/", 0x64, 0, 3, Ltext0
.stabs "D:/Program Files/Sunplus/unSPIDE1.8.4/SPCE061A/example/61_Exa/SpeechClock/main.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
.debug
.dw '.stabs "SpeechAdjustTemp:G4",32,0,0,',0,0,offset _SpeechAdjustTemp,seg _SpeechAdjustTemp,0x0d,0x0a
.CODE
.public _SpeechAdjustTemp
.iram
_SpeechAdjustTemp:
.dw 0
.debug
.dw '.stabs "Key:G4",32,0,0,',0,0,offset _Key,seg _Key,0x0d,0x0a
.CODE
.public _Key
.iram
_Key:
.dw 0
.debug
.dw '.stabs "KeyPressFlag:G4",32,0,0,',0,0,offset _KeyPressFlag,seg _KeyPressFlag,0x0d,0x0a
.CODE
.public _KeyPressFlag
.iram
_KeyPressFlag:
.dw 0
.debug
.dw '.stabs "TimeCount:G4",32,0,0,',0,0,offset _TimeCount,seg _TimeCount,0x0d,0x0a
.CODE
.public _TimeCount
.iram
_TimeCount:
.dw 0
.debug
.dw '.stabs "SleepFlag:G4",32,0,0,',0,0,offset _SleepFlag,seg _SleepFlag,0x0d,0x0a
.CODE
.public _SleepFlag
.iram
_SleepFlag:
.dw 0
.debug
.dw '.stabs "TimeChangeCount:G4",32,0,0,',0,0,offset _TimeChangeCount,seg _TimeChangeCount,0x0d,0x0a
.CODE
.public _TimeChangeCount
.iram
_TimeChangeCount:
.dw 0
.debug
.dw '.stabs "KeyStatus:G4",32,0,0,',0,0,offset _KeyStatus,seg _KeyStatus,0x0d,0x0a
.CODE
.public _KeyStatus
.iram
_KeyStatus:
.dw 0
.debug
.dw '.stabs "KeyAdjust:G4",32,0,0,',0,0,offset _KeyAdjust,seg _KeyAdjust,0x0d,0x0a
.CODE
.public _KeyAdjust
.iram
_KeyAdjust:
.dw 0
.debug
.dw '.stabs "YearOrTime:G4",32,0,0,',0,0,offset _YearOrTime,seg _YearOrTime,0x0d,0x0a
.CODE
.public _YearOrTime
.iram
_YearOrTime:
.dw 0
.debug
.dw '.stabs "TimeChangeKey:G4",32,0,0,',0,0,offset _TimeChangeKey,seg _TimeChangeKey,0x0d,0x0a
.CODE
.public _TimeChangeKey
.iram
_TimeChangeKey:
.dw 0
.debug
.dw '.stabs "KeyCount:G4",32,0,0,',0,0,offset _KeyCount,seg _KeyCount,0x0d,0x0a
.CODE
.public _KeyCount
.iram
_KeyCount:
.dw 0
.debug
.dw '.stabs "SecondAddOne:G4",32,0,0,',0,0,offset _SecondAddOne,seg _SecondAddOne,0x0d,0x0a
.CODE
.public _SecondAddOne
.iram
_SecondAddOne:
.dw 0
.debug
.dw '.stabs "HourMinTemp:G4",32,0,0,',0,0,offset _HourMinTemp,seg _HourMinTemp,0x0d,0x0a
.CODE
.public _HourMinTemp
.iram
_HourMinTemp:
.dw 0
.debug
.dw '.stabs "i:G4",32,0,0,',0,0,offset _i,seg _i,0x0d,0x0a
.CODE
.public _i
.iram
_i:
.dw 0
.debug
.dw '.stabs "j:G4",32,0,0,',0,0,offset _j,seg _j,0x0d,0x0a
.CODE
.public _j
.iram
_j:
.dw 0
.debug
.dw '.stabs "gTimeVSShem:G20=ar1;0;15;4",32,0,0,',0,0,offset _gTimeVSShem,seg _gTimeVSShem,0x0d,0x0a
.CODE
.public _gTimeVSShem
.iram
_gTimeVSShem:
.dw 2048
.dw 2098
.dw 2304
.dw 2354
.dw 2356
.dw 2565
.dw 2570
.dw 2816
.dw 2826
.dw 3072
.dw 3358
.dw 3604
.dw 3614
.dw 3860
.dw 3861
.dw 3890
.code
.debug
.dw '.stabs "PlayRespond:F19",36,0,0,',0,0,offset _PlayRespond,seg _PlayRespond,0x0d,0x0a
.CODE
.public _PlayRespond
_PlayRespond: .proc
.debug
.dw '.stabn 0x44,0,64,',0,0
.dd LM1-_PlayRespond
.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,64,',0,0
.dd LM2-_PlayRespond
.dw 0x0d,0x0a
.code
LM2:
LBB2:
R1=1 // QImode move
[SP--]=R1 // QImode move
call _SACM_A2000_Initial // call with return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,65,',0,0
.dd LM3-_PlayRespond
.dw 0x0d,0x0a
.code
LM3:
R1=3 // QImode move
[SP--]=R1 // QImode move
R1=3 // QImode move
[SP--]=R1 // QImode move
R2=[BP] // QImode move
R1=[R2] // QImode move
[SP--]=R1 // QImode move
call _SACM_A2000_Play // call with return value
SP=SP+3
.debug
.dw '.stabn 0x44,0,66,',0,0
.dd LM4-_PlayRespond
.dw 0x0d,0x0a
.code
LM4:
L3:
call _SACM_A2000_Status // call with return value
R2=R1&1
CMP R2,0 // QImode test
JZ L6 // QImode NE
PC=L5
L6:
pc=L4 // jump
L5:
.debug
.dw '.stabn 0x44,0,67,',0,0
.dd LM5-_PlayRespond
.dw 0x0d,0x0a
.code
LM5:
LBB3:
call _Clear_WatchDog // call with return value
.debug
.dw '.stabn 0x44,0,68,',0,0
.dd LM6-_PlayRespond
.dw 0x0d,0x0a
.code
LM6:
call _SACM_A2000_ServiceLoop // call with return value
.debug
.dw '.stabn 0x44,0,69,',0,0
.dd LM7-_PlayRespond
.dw 0x0d,0x0a
.code
LM7:
LBE3:
pc=L3 // jump
L4:
.debug
.dw '.stabn 0x44,0,70,',0,0
.dd LM8-_PlayRespond
.dw 0x0d,0x0a
.code
LM8:
call _SACM_A2000_Stop // call with return value
.debug
.dw '.stabn 0x44,0,71,',0,0
.dd LM9-_PlayRespond
.dw 0x0d,0x0a
.code
LM9:
LBE2:
.debug
.dw '.stabn 0x44,0,71,',0,0
.dd LM10-_PlayRespond
.dw 0x0d,0x0a
.code
LM10:
L2:
sp+=1
pop bp from [sp]
retf
.endp // end of PlayRespond
.debug
.dw '.stabs "Result:p4",160,0,0,4',0x0d,0x0a
.CODE
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB2-_PlayRespond
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB3-_PlayRespond
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE3-_PlayRespond
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE2-_PlayRespond
.dw 0x0d,0x0a
.code
.debug
.dw '.stabf ',0,0
.dd LME1-_PlayRespond
.dw 0x0d,0x0a
.code
LME1:
.code
.debug
.dw '.stabs "Delay3ms:F19",36,0,0,',0,0,offset _Delay3ms,seg _Delay3ms,0x0d,0x0a
.CODE
.public _Delay3ms
_Delay3ms: .proc
.debug
.dw '.stabn 0x44,0,76,',0,0
.dd LM11-_Delay3ms
.dw 0x0d,0x0a
.code
LM11:
// total=1, vars=1
// frame_pointer_needed: 1
push bp to [sp]
sp-=1
bp=sp+1
R1=BP+4
.debug
.dw '.stabn 0x44,0,77,',0,0
.dd LM12-_Delay3ms
.dw 0x0d,0x0a
.code
LM12:
LBB4:
R2=0 // QImode move
[BP]=R2 // QImode move
.debug
.dw '.stabn 0x44,0,78,',0,0
.dd LM13-_Delay3ms
.dw 0x0d,0x0a
.code
LM13:
R2=0 // QImode move
[BP]=R2 // QImode move
L8:
R2=[BP] // QImode move
CMP R2,(-2) // QImode compare
JA L12 // QImode LEU
PC=L10
L12:
pc=L9 // jump
L11:
L10:
R2=[BP] // QImode move
R3=R2+1
[BP]=R3 // QImode move
pc=L8 // jump
L9:
.debug
.dw '.stabn 0x44,0,80,',0,0
.dd LM14-_Delay3ms
.dw 0x0d,0x0a
.code
LM14:
LBE4:
.debug
.dw '.stabn 0x44,0,80,',0,0
.dd LM15-_Delay3ms
.dw 0x0d,0x0a
.code
LM15:
L7:
sp+=1
pop bp from [sp]
retf
.endp // end of Delay3ms
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB4-_Delay3ms
.dw 0x0d,0x0a
.code
.debug
.dw '.stabs "delaytemp:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE4-_Delay3ms
.dw 0x0d,0x0a
.code
.debug
.dw '.stabf ',0,0
.dd LME2-_Delay3ms
.dw 0x0d,0x0a
.code
LME2:
.code
.debug
.dw '.stabs "PlayAdjustTime:F1",36,0,0,',0,0,offset _PlayAdjustTime,seg _PlayAdjustTime,0x0d,0x0a
.CODE
.public _PlayAdjustTime
_PlayAdjustTime: .proc
.debug
.dw '.stabn 0x44,0,93,',0,0
.dd LM16-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM16:
// 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,94,',0,0
.dd LM17-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM17:
LBB5:
R2=[BP] // QImode move
R1=[R2] // QImode move
CMP R1,5 // QImode compare
JNA L23 // QImode GTU
PC=L21
L23:
R3=[BP] // QImode move
R1=[R3] // QImode move
R2=R1 // QImode move
R1=R2 // QImode move
R1=R1+L22
R3=R1 // QImode move
R2=[R3] // QImode move
pc=R2 // tablejump
.text
L22:
.dw L15
.dw L16
.dw L17
.dw L18
.dw L19
.dw L20
.code
.debug
.dw '.stabn 0x44,0,96,',0,0
.dd LM18-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM18:
LBB6:
L15:
.debug
.dw '.stabn 0x44,0,97,',0,0
.dd LM19-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM19:
call _ReadRealYear // call with return value
[_SpeechAdjustTemp]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,98,',0,0
.dd LM20-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM20:
R1=[_SpeechAdjustTemp] // QImode move
[SP--]=R1 // QImode move
call _PlaySpeakYear // call with return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,99,',0,0
.dd LM21-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM21:
pc=L14 // jump
L16:
.debug
.dw '.stabn 0x44,0,101,',0,0
.dd LM22-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM22:
call _ReadRealMonthDay // call with return value
[_SpeechAdjustTemp]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,102,',0,0
.dd LM23-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM23:
R1=[_SpeechAdjustTemp] // QImode move
R2=8 // QImode move
[SP--]=R2 // QImode move
[SP--]=R1 // QImode move
call __rshu1 // call with return value
SP=SP+2
[SP--]=R1 // QImode move
call _PlaySpeakMonth // call with return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,103,',0,0
.dd LM24-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM24:
pc=L14 // jump
L17:
.debug
.dw '.stabn 0x44,0,105,',0,0
.dd LM25-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM25:
call _ReadRealMonthDay // call with return value
[_SpeechAdjustTemp]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,106,',0,0
.dd LM26-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM26:
R2=[_SpeechAdjustTemp] // QImode move
R1=R2&255
[SP--]=R1 // QImode move
call _PlaySpeakDay // call with return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,107,',0,0
.dd LM27-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM27:
pc=L14 // jump
L18:
.debug
.dw '.stabn 0x44,0,109,',0,0
.dd LM28-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM28:
call _ReadRealHourMin // call with return value
[_SpeechAdjustTemp]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,110,',0,0
.dd LM29-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM29:
R1=[_SpeechAdjustTemp] // QImode move
R2=8 // QImode move
[SP--]=R2 // QImode move
[SP--]=R1 // QImode move
call __rshu1 // call with return value
SP=SP+2
[SP--]=R1 // QImode move
call _PlaySpeakHour // call with return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,111,',0,0
.dd LM30-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM30:
pc=L14 // jump
L19:
.debug
.dw '.stabn 0x44,0,113,',0,0
.dd LM31-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM31:
call _ReadRealHourMin // call with return value
[_SpeechAdjustTemp]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,114,',0,0
.dd LM32-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM32:
R2=[_SpeechAdjustTemp] // QImode move
R1=R2&255
[SP--]=R1 // QImode move
call _PlaySpeakMinute // call with return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,115,',0,0
.dd LM33-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM33:
pc=L14 // jump
L20:
.debug
.dw '.stabn 0x44,0,120,',0,0
.dd LM34-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM34:
pc=L14 // jump
L21:
.debug
.dw '.stabn 0x44,0,121,',0,0
.dd LM35-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM35:
pc=L14 // jump
.debug
.dw '.stabn 0x44,0,122,',0,0
.dd LM36-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM36:
LBE6:
L14:
.debug
.dw '.stabn 0x44,0,123,',0,0
.dd LM37-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM37:
LBE5:
.debug
.dw '.stabn 0x44,0,123,',0,0
.dd LM38-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LM38:
L13:
sp+=1
pop bp from [sp]
retf
.endp // end of PlayAdjustTime
.debug
.dw '.stabs "AdjustTemp:p1",160,0,0,4',0x0d,0x0a
.CODE
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB5-_PlayAdjustTime
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB6-_PlayAdjustTime
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE6-_PlayAdjustTime
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE5-_PlayAdjustTime
.dw 0x0d,0x0a
.code
.debug
.dw '.stabf ',0,0
.dd LME3-_PlayAdjustTime
.dw 0x0d,0x0a
.code
LME3:
.code
.debug
.dw '.stabs "PlaySpeakYear:F1",36,0,0,',0,0,offset _PlaySpeakYear,seg _PlaySpeakYear,0x0d,0x0a
.CODE
.public _PlaySpeakYear
_PlaySpeakYear: .proc
.debug
.dw '.stabn 0x44,0,138,',0,0
.dd LM39-_PlaySpeakYear
.dw 0x0d,0x0a
.code
LM39:
// 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,139,',0,0
.dd LM40-_PlaySpeakYear
.dw 0x0d,0x0a
.code
LM40:
R2=[BP] // QImode move
R1=[R2] // QImode move
R2=1000 // QImode move
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -