⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.asm

📁 凌阳十六位单片机的实验详细说明及其相对应的源码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	R1=(-1)	// QImode move
	pc=L12	// jump
L25:
.debug
	.dw '.stabn 0x44,0,114,',0,0
	.dd LM44-_TrainWord
	.dw 0x0d,0x0a
.code
LM44:
	R1=(-1)	// QImode move
	pc=L12	// jump
L27:
L17:
.debug
	.dw '.stabn 0x44,0,116,',0,0
	.dd LM45-_TrainWord
	.dw 0x0d,0x0a
.code
LM45:
	pc=L13	// jump
L14:
.debug
	.dw '.stabn 0x44,0,117,',0,0
	.dd LM46-_TrainWord
	.dw 0x0d,0x0a
.code
LM46:
	R1=0	// QImode move
	pc=L12	// jump
.debug
	.dw '.stabn 0x44,0,118,',0,0
	.dd LM47-_TrainWord
	.dw 0x0d,0x0a
.code
LM47:
LBE6:
.debug
	.dw '.stabn 0x44,0,118,',0,0
	.dd LM48-_TrainWord
	.dw 0x0d,0x0a
.code
LM48:
L12:

	sp+=2
	pop bp from [sp]
	retf
	.endp	// end of TrainWord

.debug
	.dw '.stabs "WordID:p1",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "RespondID:p1",160,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB6-_TrainWord
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "res:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE6-_TrainWord
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME3-_TrainWord
	.dw 0x0d,0x0a
.code
LME3:
.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,121,',0,0
	.dd LM49-_main
	.dw 0x0d,0x0a
.code
LM49:
	// total=4, vars=4
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=4
	bp=sp+1

	R1=BP+7
	[bp+3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,122,',0,0
	.dd LM50-_main
	.dw 0x0d,0x0a
.code
LM50:
LBB7:
	R1=BP	// QImode move
	R2=BP+1
	R1=0	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+2
	R1=0	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,124,',0,0
	.dd LM51-_main
	.dw 0x0d,0x0a
.code
LM51:
	R1=0	// QImode move
	[SP--]=R1	// QImode move
	call _BSR_DeleteSDGroup	// call with return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,126,',0,0
	.dd LM52-_main
	.dw 0x0d,0x0a
.code
LM52:
	R1=0	// QImode move
	[SP--]=R1	// QImode move
	call _PlayRespond	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,128,',0,0
	.dd LM53-_main
	.dw 0x0d,0x0a
.code
LM53:
L32:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	R1=256	// QImode move
	[SP--]=R1	// QImode move
	call _TrainWord	// call with return value
	SP=SP+2
	CMP R1,0	// QImode test
	JZ L59	// QImode NE
	PC=L34
L59:
	pc=L33	// jump
L34:
	pc=L32	// jump
L33:
.debug
	.dw '.stabn 0x44,0,130,',0,0
	.dd LM54-_main
	.dw 0x0d,0x0a
.code
LM54:
L35:
	R1=2	// QImode move
	[SP--]=R1	// QImode move
	R1=257	// QImode move
	[SP--]=R1	// QImode move
	call _TrainWord	// call with return value
	SP=SP+2
	CMP R1,0	// QImode test
	JZ L60	// QImode NE
	PC=L37
L60:
	pc=L36	// jump
L37:
	pc=L35	// jump
L36:
.debug
	.dw '.stabn 0x44,0,132,',0,0
	.dd LM55-_main
	.dw 0x0d,0x0a
.code
LM55:
L38:
	R1=3	// QImode move
	[SP--]=R1	// QImode move
	R1=258	// QImode move
	[SP--]=R1	// QImode move
	call _TrainWord	// call with return value
	SP=SP+2
	CMP R1,0	// QImode test
	JZ L61	// QImode NE
	PC=L40
L61:
	pc=L39	// jump
L40:
	pc=L38	// jump
L39:
.debug
	.dw '.stabn 0x44,0,135,',0,0
	.dd LM56-_main
	.dw 0x0d,0x0a
.code
LM56:
	R1=0	// QImode move
	[SP--]=R1	// QImode move
	call _BSR_InitRecognizer	// call with return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,136,',0,0
	.dd LM57-_main
	.dw 0x0d,0x0a
.code
LM57:
	call _BSR_EnableCPUIndicator	// call without return value
.debug
	.dw '.stabn 0x44,0,138,',0,0
	.dd LM58-_main
	.dw 0x0d,0x0a
.code
LM58:
	R1=8	// QImode move
	[SP--]=R1	// QImode move
	call _PlayRespond	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,140,',0,0
	.dd LM59-_main
	.dw 0x0d,0x0a
.code
LM59:
L41:
	pc=L43	// jump
	pc=L42	// jump
L43:
.debug
	.dw '.stabn 0x44,0,142,',0,0
	.dd LM60-_main
	.dw 0x0d,0x0a
.code
LM60:
	R1=BP	// QImode move
	R2=BP+2
	R3=BP	// QImode move
	R1=BP+2
	R2=BP	// QImode move
	R3=BP+2
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R2+1
	R2=R1	// QImode move
	[R2]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,143,',0,0
	.dd LM61-_main
	.dw 0x0d,0x0a
.code
LM61:
	R1=BP	// QImode move
	R2=BP+2
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,2	// QImode compare
	JG L62	// QImode LE
	PC=L44
L62:
	R1=BP	// QImode move
	R2=BP+2
	R1=0	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
L44:
.debug
	.dw '.stabn 0x44,0,144,',0,0
	.dd LM62-_main
	.dw 0x0d,0x0a
.code
LM62:
	call _BSR_GetResult	// call with return value
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,146,',0,0
	.dd LM63-_main
	.dw 0x0d,0x0a
.code
LM63:
	R1=[BP]	// QImode move
	CMP R1,0	// QImode test
	JG L63	// QImode LE
	PC=L45
L63:
.debug
	.dw '.stabn 0x44,0,148,',0,0
	.dd LM64-_main
	.dw 0x0d,0x0a
.code
LM64:
	R1=[_gActivated]	// QImode move
	CMP R1,0	// QImode test
	JNZ L64	// QImode EQ
	PC=L46
L64:
.debug
	.dw '.stabn 0x44,0,150,',0,0
	.dd LM65-_main
	.dw 0x0d,0x0a
.code
LM65:
	R1=BP	// QImode move
	R2=BP+1
	R1=0	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,151,',0,0
	.dd LM66-_main
	.dw 0x0d,0x0a
.code
LM66:
	R1=[BP]	// QImode move
	CMP R1,257	// QImode compare
	JNZ L65	// QImode EQ
	PC=L49
L65:
	CMP R1,257	// QImode compare
	JNG L66	// QImode GT
	PC=L53
L66:
	CMP R1,256	// QImode compare
	JNZ L67	// QImode EQ
	PC=L48
L67:
	pc=L47	// jump
L53:
	CMP R1,258	// QImode compare
	JNZ L68	// QImode EQ
	PC=L50
L68:
	pc=L47	// jump
L48:
.debug
	.dw '.stabn 0x44,0,154,',0,0
	.dd LM67-_main
	.dw 0x0d,0x0a
.code
LM67:
	R1=BP	// QImode move
	R2=BP+2
	R1=_gTriggerRespond	// QImode move
	R4=R2	// QImode move
	R2=[R4]	// QImode move
	R1+=R2	// addqi3_r0r
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	[SP--]=R2	// QImode move
	call _PlayRespond	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,155,',0,0
	.dd LM68-_main
	.dw 0x0d,0x0a
.code
LM68:
	pc=L47	// jump
L49:
.debug
	.dw '.stabn 0x44,0,157,',0,0
	.dd LM69-_main
	.dw 0x0d,0x0a
.code
LM69:
	R1=1	// QImode move
	[_PlayFlag]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,158,',0,0
	.dd LM70-_main
	.dw 0x0d,0x0a
.code
LM70:
	R1=0	// QImode move
	[SP--]=R1	// QImode move
	call _PlayRespond2	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,159,',0,0
	.dd LM71-_main
	.dw 0x0d,0x0a
.code
LM71:
	R1=0	// QImode move
	[_PlayFlag]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,160,',0,0
	.dd LM72-_main
	.dw 0x0d,0x0a
.code
LM72:
	R1=0	// QImode move
	[_gActivated]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,161,',0,0
	.dd LM73-_main
	.dw 0x0d,0x0a
.code
LM73:
	pc=L47	// jump
L50:
.debug
	.dw '.stabn 0x44,0,163,',0,0
	.dd LM74-_main
	.dw 0x0d,0x0a
.code
LM74:
	R1=BP	// QImode move
	R2=BP+2
	R1=_gComm2Respond	// QImode move
	R4=R2	// QImode move
	R2=[R4]	// QImode move
	R1+=R2	// addqi3_r0r
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	[SP--]=R2	// QImode move
	call _PlayRespond	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,164,',0,0
	.dd LM75-_main
	.dw 0x0d,0x0a
.code
LM75:
	R1=0	// QImode move
	[_gActivated]=R1	// QImode move
L52:
L47:
.debug
	.dw '.stabn 0x44,0,166,',0,0
	.dd LM76-_main
	.dw 0x0d,0x0a
.code
LM76:
	pc=L54	// jump
L46:
.debug
	.dw '.stabn 0x44,0,169,',0,0
	.dd LM77-_main
	.dw 0x0d,0x0a
.code
LM77:
	R1=[BP]	// QImode move
	CMP R1,256	// QImode compare
	JZ L69	// QImode NE
	PC=L54
L69:
.debug
	.dw '.stabn 0x44,0,171,',0,0
	.dd LM78-_main
	.dw 0x0d,0x0a
.code
LM78:
	R1=BP	// QImode move
	R2=BP+2
	R1=_gTriggerRespond	// QImode move
	R4=R2	// QImode move
	R2=[R4]	// QImode move
	R1+=R2	// addqi3_r0r
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	[SP--]=R2	// QImode move
	call _PlayRespond	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,172,',0,0
	.dd LM79-_main
	.dw 0x0d,0x0a
.code
LM79:
	R1=1	// QImode move
	[_gActivated]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,173,',0,0
	.dd LM80-_main
	.dw 0x0d,0x0a
.code
LM80:
	R1=BP	// QImode move
	R2=BP+1
	R1=0	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
L55:
L54:
.debug
	.dw '.stabn 0x44,0,176,',0,0
	.dd LM81-_main
	.dw 0x0d,0x0a
.code
LM81:
	pc=L56	// jump
L45:
.debug
	.dw '.stabn 0x44,0,177,',0,0
	.dd LM82-_main
	.dw 0x0d,0x0a
.code
LM82:
	R1=[_gActivated]	// QImode move
	CMP R1,0	// QImode test
	JNZ L70	// QImode EQ
	PC=L56
L70:
.debug
	.dw '.stabn 0x44,0,179,',0,0
	.dd LM83-_main
	.dw 0x0d,0x0a
.code
LM83:
	R1=BP	// QImode move
	R2=BP+1
	R3=BP	// QImode move
	R1=BP+1
	R2=BP	// QImode move
	R3=BP+1
	R2=R3	// QImode move
	R4=[R2]	// QImode move
	R2=R4+1
	R3=R2	// QImode move
	R4=R1	// QImode move
	[R4]=R3	// QImode move
	CMP R3,450	// QImode compare
	JG L71	// QImode LE
	PC=L56
L71:
.debug
	.dw '.stabn 0x44,0,181,',0,0
	.dd LM84-_main
	.dw 0x0d,0x0a
.code
LM84:
	R1=5	// QImode move
	[SP--]=R1	// QImode move
	call _PlayRespond	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,182,',0,0
	.dd LM85-_main
	.dw 0x0d,0x0a
.code
LM85:
	R1=0	// QImode move
	[_gActivated]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,183,',0,0
	.dd LM86-_main
	.dw 0x0d,0x0a
.code
LM86:
	R1=BP	// QImode move
	R2=BP+1
	R1=0	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
L58:
L57:
L56:
.debug
	.dw '.stabn 0x44,0,186,',0,0
	.dd LM87-_main
	.dw 0x0d,0x0a
.code
LM87:
	pc=L41	// jump
L42:
.debug
	.dw '.stabn 0x44,0,187,',0,0
	.dd LM88-_main
	.dw 0x0d,0x0a
.code
LM88:
LBE7:
.debug
	.dw '.stabn 0x44,0,187,',0,0
	.dd LM89-_main
	.dw 0x0d,0x0a
.code
LM89:
L31:

	sp+=4
	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 '.stabs "res:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "timeCnt:1",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "random_no:1",128,0,0,2',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE7-_main
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME4-_main
	.dw 0x0d,0x0a
.code
LME4:
.external _BSR_GetResult
.external _BSR_DeleteSDGroup
.external _BSR_Train
.external _SACM_S480_Stop
.external _SACM_S480_ServiceLoop
.external _SACM_S480_Status
.external _SACM_S480_Play
.external _SACM_S480_Initial
.external _BSR_EnableCPUIndicator
.external _BSR_InitRecognizer
.external _SACM_A2000_Stop
.external _ClearWatchDog
.external _SACM_A2000_ServiceLoop
.external _SACM_A2000_Status
.external _SACM_A2000_Play
.external _SACM_A2000_Initial
.external _BSR_StopRecognizer
	.end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -