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 + -
显示快捷键?