main.asm
来自「凌阳单片机的自检程序 包括io检测ad检测睡眠检测等」· 汇编 代码 · 共 886 行 · 第 1/2 页
ASM
886 行
SP=SP+1
.debug
.dw '.stabn 0x44,0,69,',0,0
.dd LM30-_main
.dw 0x0d,0x0a
.code
LM30:
L18:
call _IOTest // call with return value
CMP R1,0 // QImode test
JNZ L38 // QImode EQ
PC=L20
L38:
pc=L19 // Indirect jump
L20:
.debug
.dw '.stabn 0x44,0,71,',0,0
.dd LM31-_main
.dw 0x0d,0x0a
.code
LM31:
R1=1 // QImode move
[SP--]=R1 // QImode move
call _playS480 // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,72,',0,0
.dd LM32-_main
.dw 0x0d,0x0a
.code
LM32:
R1=[_FailTimes] // QImode move
R2=1 // QImode move
[_FailTimes]=R1+R2
.debug
.dw '.stabn 0x44,0,73,',0,0
.dd LM33-_main
.dw 0x0d,0x0a
.code
LM33:
R1=[_FailTimes] // QImode move
CMP R1,3 // QImode compare
JZ L39 // QImode NE
PC=L21
L39:
.debug
.dw '.stabn 0x44,0,75,',0,0
.dd LM34-_main
.dw 0x0d,0x0a
.code
LM34:
R1=0 // QImode move
pc=L17 // Indirect jump
L21:
.debug
.dw '.stabn 0x44,0,77,',0,0
.dd LM35-_main
.dw 0x0d,0x0a
.code
LM35:
pc=L18 // Indirect jump
L19:
.debug
.dw '.stabn 0x44,0,78,',0,0
.dd LM36-_main
.dw 0x0d,0x0a
.code
LM36:
R1=2 // QImode move
[SP--]=R1 // QImode move
call _playS480 // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,81,',0,0
.dd LM37-_main
.dw 0x0d,0x0a
.code
LM37:
R1=0 // QImode move
[SP--]=R1 // QImode move
R1=0 // QImode move
[SP--]=R1 // QImode move
R1=0 // QImode move
[SP--]=R1 // QImode move
call _SP_Init_IOA // call with return value
SP=SP+3
.debug
.dw '.stabn 0x44,0,82,',0,0
.dd LM38-_main
.dw 0x0d,0x0a
.code
LM38:
call _System_Initial // call with return value
.debug
.dw '.stabn 0x44,0,84,',0,0
.dd LM39-_main
.dw 0x0d,0x0a
.code
LM39:
L22:
pc=L24 // Indirect jump
pc=L23 // Indirect jump
L24:
.debug
.dw '.stabn 0x44,0,86,',0,0
.dd LM40-_main
.dw 0x0d,0x0a
.code
LM40:
LBB8:
call _System_Initial // call with return value
.debug
.dw '.stabn 0x44,0,87,',0,0
.dd LM41-_main
.dw 0x0d,0x0a
.code
LM41:
call _SP_GetCh // call with return value
[_Key]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,88,',0,0
.dd LM42-_main
.dw 0x0d,0x0a
.code
LM42:
R1=[_Key] // QImode move
CMP R1,2 // QImode compare
JNZ L40 // QImode EQ
PC=L30
L40:
CMP R1,2 // QImode compare
JNA L41 // QImode GTU
PC=L37
L41:
CMP R1,1 // QImode compare
JNZ L42 // QImode EQ
PC=L26
L42:
pc=L35 // Indirect jump
L37:
CMP R1,4 // QImode compare
JNZ L43 // QImode EQ
PC=L34
L43:
pc=L35 // Indirect jump
.debug
.dw '.stabn 0x44,0,90,',0,0
.dd LM43-_main
.dw 0x0d,0x0a
.code
LM43:
LBB9:
L26:
.debug
.dw '.stabn 0x44,0,94,',0,0
.dd LM44-_main
.dw 0x0d,0x0a
.code
LM44:
L27:
call _KeyWakeUp // call with return value
CMP R1,0 // QImode test
JNZ L44 // QImode EQ
PC=L29
L44:
pc=L28 // Indirect jump
L29:
.debug
.dw '.stabn 0x44,0,96,',0,0
.dd LM45-_main
.dw 0x0d,0x0a
.code
LM45:
R1=4 // QImode move
[SP--]=R1 // QImode move
call _playS480 // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,97,',0,0
.dd LM46-_main
.dw 0x0d,0x0a
.code
LM46:
R1=8 // QImode move
[SP--]=R1 // QImode move
call _playS480 // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,98,',0,0
.dd LM47-_main
.dw 0x0d,0x0a
.code
LM47:
R1=0 // QImode move
pc=L17 // Indirect jump
.debug
.dw '.stabn 0x44,0,100,',0,0
.dd LM48-_main
.dw 0x0d,0x0a
.code
LM48:
pc=L27 // Indirect jump
L28:
.debug
.dw '.stabn 0x44,0,101,',0,0
.dd LM49-_main
.dw 0x0d,0x0a
.code
LM49:
R1=4 // QImode move
[SP--]=R1 // QImode move
call _playS480 // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,102,',0,0
.dd LM50-_main
.dw 0x0d,0x0a
.code
LM50:
pc=L25 // Indirect jump
L30:
.debug
.dw '.stabn 0x44,0,105,',0,0
.dd LM51-_main
.dw 0x0d,0x0a
.code
LM51:
call _delay3s // call without return value
.debug
.dw '.stabn 0x44,0,106,',0,0
.dd LM52-_main
.dw 0x0d,0x0a
.code
LM52:
L31:
call _AD_Line // call with return value
CMP R1,0 // QImode test
JNZ L45 // QImode EQ
PC=L33
L45:
pc=L32 // Indirect jump
L33:
.debug
.dw '.stabn 0x44,0,108,',0,0
.dd LM53-_main
.dw 0x0d,0x0a
.code
LM53:
R1=3 // QImode move
[SP--]=R1 // QImode move
call _playS480 // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,109,',0,0
.dd LM54-_main
.dw 0x0d,0x0a
.code
LM54:
R1=8 // QImode move
[SP--]=R1 // QImode move
call _playS480 // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,110,',0,0
.dd LM55-_main
.dw 0x0d,0x0a
.code
LM55:
R1=0 // QImode move
pc=L17 // Indirect jump
.debug
.dw '.stabn 0x44,0,111,',0,0
.dd LM56-_main
.dw 0x0d,0x0a
.code
LM56:
pc=L31 // Indirect jump
L32:
.debug
.dw '.stabn 0x44,0,113,',0,0
.dd LM57-_main
.dw 0x0d,0x0a
.code
LM57:
R1=9 // QImode move
[SP--]=R1 // QImode move
call _playS480 // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,115,',0,0
.dd LM58-_main
.dw 0x0d,0x0a
.code
LM58:
pc=L25 // Indirect jump
L34:
.debug
.dw '.stabn 0x44,0,118,',0,0
.dd LM59-_main
.dw 0x0d,0x0a
.code
LM59:
call _MICTEST // call with return value
.debug
.dw '.stabn 0x44,0,119,',0,0
.dd LM60-_main
.dw 0x0d,0x0a
.code
LM60:
pc=L25 // Indirect jump
L35:
.debug
.dw '.stabn 0x44,0,121,',0,0
.dd LM61-_main
.dw 0x0d,0x0a
.code
LM61:
pc=L25 // Indirect jump
.debug
.dw '.stabn 0x44,0,122,',0,0
.dd LM62-_main
.dw 0x0d,0x0a
.code
LM62:
LBE9:
L25:
.debug
.dw '.stabn 0x44,0,123,',0,0
.dd LM63-_main
.dw 0x0d,0x0a
.code
LM63:
call _System_ServiceLoop // call with return value
.debug
.dw '.stabn 0x44,0,124,',0,0
.dd LM64-_main
.dw 0x0d,0x0a
.code
LM64:
LBE8:
pc=L22 // Indirect jump
L23:
.debug
.dw '.stabn 0x44,0,125,',0,0
.dd LM65-_main
.dw 0x0d,0x0a
.code
LM65:
LBE7:
.debug
.dw '.stabn 0x44,0,125,',0,0
.dd LM66-_main
.dw 0x0d,0x0a
.code
LM66:
L17:
sp+=1
pop bp from [sp]
retf
.endp // end of main
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB7-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB8-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB9-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE9-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE8-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE7-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabf ',0,0
.dd LME3-_main
.dw 0x0d,0x0a
.code
LME3:
.debug
.dw '.stabs "Key:G4",32,0,0,',0,0,offset _Key,seg _Key,0x0d,0x0a
.CODE
.ram
.public _Key
_Key:
.dw 0
.debug
.dw '.stabs "INTflag:G11",32,0,0,',0,0,offset _INTflag,seg _INTflag,0x0d,0x0a
.CODE
.ram
.public _INTflag
_INTflag:
.dw 0
.debug
.dw '.stabs "sum:G4",32,0,0,',0,0,offset _sum,seg _sum,0x0d,0x0a
.CODE
.ram
.public _sum
_sum:
.dw 0
.debug
.dw '.stabs "FailTimes:G4",32,0,0,',0,0,offset _FailTimes,seg _FailTimes,0x0d,0x0a
.CODE
.ram
.public _FailTimes
_FailTimes:
.dw 0
.external _System_ServiceLoop
.external _MICTEST
.external _AD_Line
.external _KeyWakeUp
.external _SP_GetCh
.external _System_Initial
.external _SP_Init_IOA
.external _IOTest
.external _SACM_S480_Initial
.external _Clear_WatchDog
.external _OffTime2Hz
.external _RunTime2Hz
.external _SACM_S480_ServiceLoop
.external _SACM_S480_Status
.external _SACM_S480_Play
.end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?