📄 main.asm
字号:
pc=L48 // jump
L65:
.debug
.dw '.stabn 0x44,0,196,',0,0
.dd LM86-_PlaySpeakHour
.dw 0x0d,0x0a
.code
LM86:
R1=18 // QImode move
[SP--]=R1 // QImode move
call _PlayRespond // call without return value
SP=SP+1
pc=L48 // jump
L66:
.debug
.dw '.stabn 0x44,0,197,',0,0
.dd LM87-_PlaySpeakHour
.dw 0x0d,0x0a
.code
LM87:
R1=[BP] // QImode move
R2=[R1] // QImode move
R1=R2+(-6)
[SP--]=R1 // QImode move
call _PlayRespond // call without return value
SP=SP+1
pc=L48 // jump
L62:
L61:
L60:
L56:
L48:
.debug
.dw '.stabn 0x44,0,200,',0,0
.dd LM88-_PlaySpeakHour
.dw 0x0d,0x0a
.code
LM88:
R1=24 // QImode move
[SP--]=R1 // QImode move
call _PlayRespond // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,201,',0,0
.dd LM89-_PlaySpeakHour
.dw 0x0d,0x0a
.code
LM89:
.debug
.dw '.stabn 0x44,0,201,',0,0
.dd LM90-_PlaySpeakHour
.dw 0x0d,0x0a
.code
LM90:
L44:
sp+=1
pop bp from [sp]
retf
.endp // end of PlaySpeakHour
.debug
.dw '.stabs "DayTemp:p1",160,0,0,4',0x0d,0x0a
.CODE
.debug
.dw '.stabf ',0,0
.dd LME7-_PlaySpeakHour
.dw 0x0d,0x0a
.code
LME7:
.code
.debug
.dw '.stabs "PlaySpeakMinute:F1",36,0,0,',0,0,offset _PlaySpeakMinute,seg _PlaySpeakMinute,0x0d,0x0a
.CODE
.public _PlaySpeakMinute
_PlaySpeakMinute: .proc
.debug
.dw '.stabn 0x44,0,205,',0,0
.dd LM91-_PlaySpeakMinute
.dw 0x0d,0x0a
.code
LM91:
// 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,206,',0,0
.dd LM92-_PlaySpeakMinute
.dw 0x0d,0x0a
.code
LM92:
R2=[BP] // QImode move
R1=[R2] // QImode move
CMP R1,0 // QImode test
JZ L93 // QImode NE
PC=L88
L93:
R1=20 // QImode move
[SP--]=R1 // QImode move
call _PlayRespond // call without return value
SP=SP+1
pc=L89 // jump
L88:
.debug
.dw '.stabn 0x44,0,208,',0,0
.dd LM93-_PlaySpeakMinute
.dw 0x0d,0x0a
.code
LM93:
R2=[BP] // QImode move
R1=[R2] // QImode move
R2=10 // QImode move
[SP--]=R2 // QImode move
[SP--]=R1 // QImode move
call __divi1 // call with return value
SP=SP+2
CMP R1,1 // QImode compare
JG L94 // QImode LE
PC=L90
L94:
R2=[BP] // QImode move
R1=[R2] // QImode move
R2=10 // QImode move
[SP--]=R2 // QImode move
[SP--]=R1 // QImode move
call __divi1 // call with return value
SP=SP+2
R2=R1+6
[SP--]=R2 // QImode move
call _PlayRespond // call without return value
SP=SP+1
L90:
.debug
.dw '.stabn 0x44,0,209,',0,0
.dd LM94-_PlaySpeakMinute
.dw 0x0d,0x0a
.code
LM94:
R2=[BP] // QImode move
R1=[R2] // QImode move
R2=10 // QImode move
[SP--]=R2 // QImode move
[SP--]=R1 // QImode move
call __divi1 // call with return value
SP=SP+2
CMP R1,0 // QImode test
JG L95 // QImode LE
PC=L91
L95:
R1=16 // QImode move
[SP--]=R1 // QImode move
call _PlayRespond // call without return value
SP=SP+1
L91:
.debug
.dw '.stabn 0x44,0,210,',0,0
.dd LM95-_PlaySpeakMinute
.dw 0x0d,0x0a
.code
LM95:
R2=[BP] // QImode move
R1=[R2] // QImode move
R2=10 // QImode move
[SP--]=R2 // QImode move
[SP--]=R1 // QImode move
call __modi1 // call with return value
SP=SP+2
CMP R1,0 // QImode test
JNZ L96 // QImode EQ
PC=L92
L96:
R2=[BP] // QImode move
R1=[R2] // QImode move
R2=10 // QImode move
[SP--]=R2 // QImode move
[SP--]=R1 // QImode move
call __modi1 // call with return value
SP=SP+2
R2=R1+6
[SP--]=R2 // QImode move
call _PlayRespond // call without return value
SP=SP+1
L92:
.debug
.dw '.stabn 0x44,0,211,',0,0
.dd LM96-_PlaySpeakMinute
.dw 0x0d,0x0a
.code
LM96:
R1=25 // QImode move
[SP--]=R1 // QImode move
call _PlayRespond // call without return value
SP=SP+1
L89:
.debug
.dw '.stabn 0x44,0,213,',0,0
.dd LM97-_PlaySpeakMinute
.dw 0x0d,0x0a
.code
LM97:
.debug
.dw '.stabn 0x44,0,213,',0,0
.dd LM98-_PlaySpeakMinute
.dw 0x0d,0x0a
.code
LM98:
L87:
sp+=1
pop bp from [sp]
retf
.endp // end of PlaySpeakMinute
.debug
.dw '.stabs "MinTemp:p1",160,0,0,4',0x0d,0x0a
.CODE
.debug
.dw '.stabf ',0,0
.dd LME8-_PlaySpeakMinute
.dw 0x0d,0x0a
.code
LME8:
.code
.debug
.dw '.stabs "PlaySpeakSecond:F1",36,0,0,',0,0,offset _PlaySpeakSecond,seg _PlaySpeakSecond,0x0d,0x0a
.CODE
.public _PlaySpeakSecond
_PlaySpeakSecond: .proc
.debug
.dw '.stabn 0x44,0,217,',0,0
.dd LM99-_PlaySpeakSecond
.dw 0x0d,0x0a
.code
LM99:
// 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,217,',0,0
.dd LM100-_PlaySpeakSecond
.dw 0x0d,0x0a
.code
LM100:
R2=[BP] // QImode move
R1=[R2] // QImode move
CMP R1,0 // QImode test
JZ L102 // QImode NE
PC=L98
L102:
R1=[BP] // QImode move
R2=[R1] // QImode move
R1=R2+6
[SP--]=R1 // QImode move
call _PlayRespond // call without return value
SP=SP+1
L98:
.debug
.dw '.stabn 0x44,0,218,',0,0
.dd LM101-_PlaySpeakSecond
.dw 0x0d,0x0a
.code
LM101:
R2=[BP] // QImode move
R1=[R2] // QImode move
R2=10 // QImode move
[SP--]=R2 // QImode move
[SP--]=R1 // QImode move
call __divi1 // call with return value
SP=SP+2
CMP R1,1 // QImode compare
JG L103 // QImode LE
PC=L99
L103:
R2=[BP] // QImode move
R1=[R2] // QImode move
R2=10 // QImode move
[SP--]=R2 // QImode move
[SP--]=R1 // QImode move
call __divi1 // call with return value
SP=SP+2
R2=R1+6
[SP--]=R2 // QImode move
call _PlayRespond // call without return value
SP=SP+1
L99:
.debug
.dw '.stabn 0x44,0,219,',0,0
.dd LM102-_PlaySpeakSecond
.dw 0x0d,0x0a
.code
LM102:
R2=[BP] // QImode move
R1=[R2] // QImode move
R2=10 // QImode move
[SP--]=R2 // QImode move
[SP--]=R1 // QImode move
call __divi1 // call with return value
SP=SP+2
CMP R1,0 // QImode test
JG L104 // QImode LE
PC=L100
L104:
R1=16 // QImode move
[SP--]=R1 // QImode move
call _PlayRespond // call without return value
SP=SP+1
L100:
.debug
.dw '.stabn 0x44,0,220,',0,0
.dd LM103-_PlaySpeakSecond
.dw 0x0d,0x0a
.code
LM103:
R2=[BP] // QImode move
R1=[R2] // QImode move
R2=10 // QImode move
[SP--]=R2 // QImode move
[SP--]=R1 // QImode move
call __modi1 // call with return value
SP=SP+2
CMP R1,0 // QImode test
JNZ L105 // QImode EQ
PC=L101
L105:
R2=[BP] // QImode move
R1=[R2] // QImode move
R2=10 // QImode move
[SP--]=R2 // QImode move
[SP--]=R1 // QImode move
call __modi1 // call with return value
SP=SP+2
R2=R1+6
[SP--]=R2 // QImode move
call _PlayRespond // call without return value
SP=SP+1
L101:
.debug
.dw '.stabn 0x44,0,221,',0,0
.dd LM104-_PlaySpeakSecond
.dw 0x0d,0x0a
.code
LM104:
R1=26 // QImode move
[SP--]=R1 // QImode move
call _PlayRespond // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,222,',0,0
.dd LM105-_PlaySpeakSecond
.dw 0x0d,0x0a
.code
LM105:
.debug
.dw '.stabn 0x44,0,222,',0,0
.dd LM106-_PlaySpeakSecond
.dw 0x0d,0x0a
.code
LM106:
L97:
sp+=1
pop bp from [sp]
retf
.endp // end of PlaySpeakSecond
.debug
.dw '.stabs "SecondTemp:p1",160,0,0,4',0x0d,0x0a
.CODE
.debug
.dw '.stabf ',0,0
.dd LME9-_PlaySpeakSecond
.dw 0x0d,0x0a
.code
LME9:
.code
.debug
.dw '.stabs "SpeakTime:F19",36,0,0,',0,0,offset _SpeakTime,seg _SpeakTime,0x0d,0x0a
.CODE
.public _SpeakTime
_SpeakTime: .proc
.debug
.dw '.stabn 0x44,0,228,',0,0
.dd LM107-_SpeakTime
.dw 0x0d,0x0a
.code
LM107:
// 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,229,',0,0
.dd LM108-_SpeakTime
.dw 0x0d,0x0a
.code
LM108:
R2=[BP] // QImode move
R1=[R2] // QImode move
CMP R1,1 // QImode compare
JZ L109 // QImode NE
PC=L107
L109:
.debug
.dw '.stabn 0x44,0,231,',0,0
.dd LM109-_SpeakTime
.dw 0x0d,0x0a
.code
LM109:
R1=0 // QImode move
[SP--]=R1 // QImode move
call _PlayAdjustTime // call with return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,232,',0,0
.dd LM110-_SpeakTime
.dw 0x0d,0x0a
.code
LM110:
R1=1 // QImode move
[SP--]=R1 // QImode move
call _PlayAdjustTime // call with return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,233,',0,0
.dd LM111-_SpeakTime
.dw 0x0d,0x0a
.code
LM111:
R1=2 // QImode move
[SP--]=R1 // QImode move
call _PlayAdjustTime // call with return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,234,',0,0
.dd LM112-_SpeakTime
.dw 0x0d,0x0a
.code
LM112:
pc=L108 // jump
L107:
.debug
.dw '.stabn 0x44,0,237,',0,0
.dd LM113-_SpeakTime
.dw 0x0d,0x0a
.code
LM113:
R1=0 // QImode move
[SP--]=R1 // QImode move
call _PlayRespond // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,238,',0,0
.dd LM114-_SpeakTime
.dw 0x0d,0x0a
.code
LM114:
R1=1 // QImode move
[SP--]=R1 // QImode move
call _PlayRespond // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,239,',0,0
.dd LM115-_SpeakTime
.dw 0x0d,0x0a
.code
LM115:
R1=3 // QImode move
[SP--]=R1 // QImode move
call _PlayAdjustTime // call with return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,240,',0,0
.dd LM116-_SpeakTime
.dw 0x0d,0x0a
.code
LM116:
R1=4 // QImode move
[SP--]=R1 // QImode move
call _PlayAdjustTime // call with return value
SP=SP+1
L108:
.debug
.dw '.stabn 0x44,0,242,',0,0
.dd LM117-_SpeakTime
.dw 0x0d,0x0a
.code
LM117:
.debug
.dw '.stabn 0x44,0,242,',0,0
.dd LM118-_SpeakTime
.dw 0x0d,0x0a
.code
LM118:
L106:
sp+=1
pop bp from [sp]
retf
.endp // end of SpeakTime
.debug
.dw '.stabs "TimeType:p1",160,0,0,4',0x0d,0x0a
.CODE
.debug
.dw '.stabf ',0,0
.dd LME10-_SpeakTime
.dw 0x0d,0x0a
.code
LME10:
.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,250,',0,0
.dd LM119-_main
.dw 0x0d,0x0a
.code
LM119:
// 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,251,',0,0
.dd LM120-_main
.dw 0x0d,0x0a
.code
LM120:
LBB7:
call _System_Initial // call with return value
.debug
.dw '.stabn 0x44,0,253,',0,0
.dd LM121-_main
.dw 0x0d,0x0a
.code
LM121:
L111:
pc=L113 // jump
pc=L112 // jump
L113:
.debug
.dw '.stabn 0x44,0,255,',0,0
.dd LM122-_main
.dw 0x0d,0x0a
.code
LM122:
LBB8:
call _Key_Scan_ServiceLoop // call with return value
.debug
.dw '.stabn 0x44,0,258,',0,0
.dd LM123-_main
.dw 0x0d,0x0a
.code
LM123:
R1=[_Key] // QImode move
CMP R1,1 // QImode compare
JZ L143 // QImode NE
PC=L114
L143:
R1=[_KeyStatus] // QImode move
CMP R1,0 // QImode test
JZ L144 // QImode NE
PC=L114
L144:
.debug
.dw '.stabn 0x44,0,260,',0,0
.dd LM124-_main
.dw 0x0d,0x0a
.code
LM124:
R1=1 // QImode move
[_KeyCount]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,261,',0,0
.dd LM125-_main
.dw 0x0d,0x0a
.code
LM125:
R1=0 // QImode move
[_Key]=R1 // QImode move
L114:
.debug
.dw '.stabn 0x44,0,263,',0,0
.dd LM126-_main
.dw 0x0d,0x0a
.code
LM126:
R1=[_Key] // QImode move
CMP R1,(-32767) // QImode compare
JZ L145 // QImode NE
PC=L115
L145:
R1=[_KeyStatus] // QImode move
CMP R1,0 // QImode test
JZ L146 // QImode NE
PC=L115
L146:
.debug
.dw '.stabn 0x44,0,265,',0,0
.dd LM127-_main
.dw 0x0d,0x0a
.code
LM127:
R1=[_KeyCount] // QImode move
R2=1 // QImode move
[_KeyCount]=R1+R2
.debug
.dw '.stabn 0x44,0,266,',0,0
.dd LM128-_main
.dw 0x0d,0x0a
.code
LM128:
R1=0 // QImode move
[_Key]=R1 // QImode move
L115:
.debug
.dw '.stabn 0x44,0,269,',0,0
.dd LM129-_main
.dw 0x0d,0x0a
.code
LM129:
R1=[_KeyPressFlag] // QImode move
CMP R1,0 // QImode test
JZ L147 // QImode NE
PC=L116
L147:
R1=[_KeyCount] // QImode move
CMP R1,0 // QImode test
JNZ L148 // QImode EQ
PC=L116
L148:
.debug
.dw '.stabn 0x44,0,271,',0,0
.dd LM130-_main
.dw 0x0d,0x0a
.code
LM130:
R1=[_KeyCount] // QImode move
CMP R1,19 // QImode compare
JNA L149 // QImode GTU
PC=L117
L149:
.debug
.dw '.stabn 0x44,0,273,',0,0
.dd LM131-_main
.dw 0x0d,0x0a
.code
LM131:
R1=[_YearOrTime] // QImode move
R2=1 // QImode move
[_YearOrTime]=R1^R2
.debug
.dw '.stabn 0x44,0,274,',0,0
.dd LM132-_main
.dw 0x0d,0x0a
.code
LM132:
R1=[_YearOrTime] // QImode move
[SP--]=R1 // QImode move
call _SpeakTime // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,275,',0,0
.dd LM133-_main
.dw 0x0d,0x0a
.code
LM133:
R1=0 // QImode move
[_KeyCount]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,276,',0,0
.dd LM134-_main
.dw 0x0d,0x0a
.code
LM134:
pc=L116 // jump
L117:
.debug
.dw '.stabn 0x44,0,277,',0,0
.dd LM135-_main
.dw 0x0d,0x0a
.code
LM135:
R1=[_KeyCount] // QImode move
CMP R1,19 // QImode compare
JA L150 // QImode LEU
PC=L116
L150:
.debug
.dw '.stabn 0x44,0,279,',0,0
.dd LM136-_main
.dw 0x0d,0x0a
.code
LM136:
LBB9:
R1=0 // QImode move
[_KeyCount]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,280,',0,0
.dd LM137-_main
.dw 0x0d,0x0a
.code
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -