main.asm
来自「凌阳科技单片机系统开发板测试程序,可以参考应用。」· 汇编 代码 · 共 930 行 · 第 1/2 页
ASM
930 行
.dw '.stabn 0x44,0,84,',0,0
.dd LM44-_main
.dw 0x0d,0x0a
.code
LM44:
R1=[_FailTimes] // QImode move
R2=1 // QImode move
[_FailTimes]=R1+R2
.debug
.dw '.stabn 0x44,0,85,',0,0
.dd LM45-_main
.dw 0x0d,0x0a
.code
LM45:
R1=[_FailTimes] // QImode move
CMP R1,2 // QImode compare
JZ L25 // QImode NE
PC=L16
L25:
.debug
.dw '.stabn 0x44,0,87,',0,0
.dd LM46-_main
.dw 0x0d,0x0a
.code
LM46:
R1=7 // QImode move
[SP--]=R1 // QImode move
call _playS480 // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,89,',0,0
.dd LM47-_main
.dw 0x0d,0x0a
.code
LM47:
R1=8 // QImode move
[SP--]=R1 // QImode move
call _playS480 // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,90,',0,0
.dd LM48-_main
.dw 0x0d,0x0a
.code
LM48:
R1=0 // QImode move
pc=L2 // jump
L16:
.debug
.dw '.stabn 0x44,0,92,',0,0
.dd LM49-_main
.dw 0x0d,0x0a
.code
LM49:
pc=L13 // jump
L14:
.debug
.dw '.stabn 0x44,0,94,',0,0
.dd LM50-_main
.dw 0x0d,0x0a
.code
LM50:
R1=6 // QImode move
[SP--]=R1 // QImode move
call _playS480 // call without return value
SP=SP+1
.debug
.dw '.stabn 0x44,0,98,',0,0
.dd LM51-_main
.dw 0x0d,0x0a
.code
LM51:
call _Clear_WatchDog // call with return value
.debug
.dw '.stabn 0x44,0,99,',0,0
.dd LM52-_main
.dw 0x0d,0x0a
.code
LM52:
L17:
pc=L19 // jump
pc=L18 // jump
L19:
.debug
.dw '.stabn 0x44,0,100,',0,0
.dd LM53-_main
.dw 0x0d,0x0a
.code
LM53:
LBB3:
call _MICTEST // call with return value
.debug
.dw '.stabn 0x44,0,101,',0,0
.dd LM54-_main
.dw 0x0d,0x0a
.code
LM54:
LBE3:
pc=L17 // jump
L18:
.debug
.dw '.stabn 0x44,0,102,',0,0
.dd LM55-_main
.dw 0x0d,0x0a
.code
LM55:
call _Clear_WatchDog // call with return value
.debug
.dw '.stabn 0x44,0,103,',0,0
.dd LM56-_main
.dw 0x0d,0x0a
.code
LM56:
LBE2:
.debug
.dw '.stabn 0x44,0,103,',0,0
.dd LM57-_main
.dw 0x0d,0x0a
.code
LM57:
L2:
sp+=1
pop bp from [sp]
retf
.endp // end of main
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB2-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB3-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE3-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE2-_main
.dw 0x0d,0x0a
.code
.debug
.dw '.stabf ',0,0
.dd LME1-_main
.dw 0x0d,0x0a
.code
LME1:
.code
.debug
.dw '.stabs "playS480:F19",36,0,0,',0,0,offset _playS480,seg _playS480,0x0d,0x0a
.CODE
.public _playS480
_playS480: .proc
.debug
.dw '.stabn 0x44,0,108,',0,0
.dd LM58-_playS480
.dw 0x0d,0x0a
.code
LM58:
// total=2, vars=2
// frame_pointer_needed: 1
push bp to [sp]
sp-=2
bp=sp+1
R1=BP+5
[bp+1]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,109,',0,0
.dd LM59-_playS480
.dw 0x0d,0x0a
.code
LM59:
LBB4:
.debug
.dw '.stabn 0x44,0,111,',0,0
.dd LM60-_playS480
.dw 0x0d,0x0a
.code
LM60:
R1=0 // QImode move
[BP]=R1 // QImode move
L27:
R1=[BP] // QImode move
CMP R1,0 // QImode test
JNZ L34 // QImode EQ
PC=L30
L34:
pc=L28 // jump
L30:
.debug
.dw '.stabn 0x44,0,113,',0,0
.dd LM61-_playS480
.dw 0x0d,0x0a
.code
LM61:
LBB5:
R1=3 // QImode move
[SP--]=R1 // QImode move
R1=3 // QImode move
[SP--]=R1 // QImode move
R2=[bp+1] // QImode move
R1=[R2] // QImode move
[SP--]=R1 // QImode move
call _SACM_S480_Play // call with return value
SP=SP+3
.debug
.dw '.stabn 0x44,0,114,',0,0
.dd LM62-_playS480
.dw 0x0d,0x0a
.code
LM62:
L31:
call _SACM_S480_Status // call with return value
R2=R1&1
CMP R2,0 // QImode test
JZ L35 // QImode NE
PC=L33
L35:
pc=L29 // jump
L33:
.debug
.dw '.stabn 0x44,0,115,',0,0
.dd LM63-_playS480
.dw 0x0d,0x0a
.code
LM63:
LBB6:
call _Clear_WatchDog // call with return value
.debug
.dw '.stabn 0x44,0,116,',0,0
.dd LM64-_playS480
.dw 0x0d,0x0a
.code
LM64:
call _SACM_S480_ServiceLoop // call with return value
LBE6:
pc=L31 // jump
L32:
.debug
.dw '.stabn 0x44,0,117,',0,0
.dd LM65-_playS480
.dw 0x0d,0x0a
.code
LM65:
LBE5:
.debug
.dw '.stabn 0x44,0,111,',0,0
.dd LM66-_playS480
.dw 0x0d,0x0a
.code
LM66:
L29:
R1=[BP] // QImode move
R2=R1+1
[BP]=R2 // QImode move
pc=L27 // jump
L28:
.debug
.dw '.stabn 0x44,0,118,',0,0
.dd LM67-_playS480
.dw 0x0d,0x0a
.code
LM67:
LBE4:
.debug
.dw '.stabn 0x44,0,118,',0,0
.dd LM68-_playS480
.dw 0x0d,0x0a
.code
LM68:
L26:
sp+=2
pop bp from [sp]
retf
.endp // end of playS480
.debug
.dw '.stabs "num:p11",160,0,0,5',0x0d,0x0a
.CODE
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB4-_playS480
.dw 0x0d,0x0a
.code
.debug
.dw '.stabs "i:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB5-_playS480
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB6-_playS480
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE6-_playS480
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE5-_playS480
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE4-_playS480
.dw 0x0d,0x0a
.code
.debug
.dw '.stabf ',0,0
.dd LME2-_playS480
.dw 0x0d,0x0a
.code
LME2:
.code
.debug
.dw '.stabs "delay3s:F19",36,0,0,',0,0,offset _delay3s,seg _delay3s,0x0d,0x0a
.CODE
.public _delay3s
_delay3s: .proc
.debug
.dw '.stabn 0x44,0,121,',0,0
.dd LM69-_delay3s
.dw 0x0d,0x0a
.code
LM69:
// 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,122,',0,0
.dd LM70-_delay3s
.dw 0x0d,0x0a
.code
LM70:
LBB7:
call _RunTime2Hz // call with return value
.debug
.dw '.stabn 0x44,0,123,',0,0
.dd LM71-_delay3s
.dw 0x0d,0x0a
.code
LM71:
R1=0 // QImode move
[_FailTimes]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,124,',0,0
.dd LM72-_delay3s
.dw 0x0d,0x0a
.code
LM72:
L37:
R1=[_INTflag] // QImode move
CMP R1,0 // QImode test
JNZ L40 // QImode EQ
PC=L39
L40:
pc=L38 // jump
L39:
pc=L37 // jump
L38:
.debug
.dw '.stabn 0x44,0,125,',0,0
.dd LM73-_delay3s
.dw 0x0d,0x0a
.code
LM73:
R1=0 // QImode move
[_INTflag]=R1 // QImode move
.debug
.dw '.stabn 0x44,0,126,',0,0
.dd LM74-_delay3s
.dw 0x0d,0x0a
.code
LM74:
call _OffTime2Hz // call with return value
.debug
.dw '.stabn 0x44,0,127,',0,0
.dd LM75-_delay3s
.dw 0x0d,0x0a
.code
LM75:
LBE7:
.debug
.dw '.stabn 0x44,0,127,',0,0
.dd LM76-_delay3s
.dw 0x0d,0x0a
.code
LM76:
L36:
sp+=1
pop bp from [sp]
retf
.endp // end of delay3s
.debug
.dw '.stabn 0xc0,0,0,',0,0
.dd LBB7-_delay3s
.dw 0x0d,0x0a
.code
.debug
.dw '.stabn 0xe0,0,0,',0,0
.dd LBE7-_delay3s
.dw 0x0d,0x0a
.code
.debug
.dw '.stabf ',0,0
.dd LME3-_delay3s
.dw 0x0d,0x0a
.code
LME3:
.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 _OffTime2Hz
.external _RunTime2Hz
.external _SACM_S480_ServiceLoop
.external _Clear_WatchDog
.external _SACM_S480_Status
.external _SACM_S480_Play
.external _MICTEST
.external _UART
.external _DataBusTest
.external _AD_Line
.external _KeyWakeUp
.external _IOTest
.external _SACM_S480_Initial
.end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?