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

📄 idctemp.asm

📁 基于凌阳单片机的简单的工业顺序控制
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	.dw 0x0d,0x0a
.code
LM120:
	R1=(-129)	// QImode move
	[28672]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,238,',0,0
	.dd LM121-_Stop
	.dw 0x0d,0x0a
.code
LM121:
	R1=3	// QImode move
	[SP--]=R1	// QImode move
	R1=4	// QImode move
	[SP--]=R1	// QImode move
	call _PlaySnd	// call without return value
	SP=SP+2
.debug
	.dw '.stabn 0x44,0,239,',0,0
	.dd LM122-_Stop
	.dw 0x0d,0x0a
.code
LM122:
.debug
	.dw '.stabn 0x44,0,239,',0,0
	.dd LM123-_Stop
	.dw 0x0d,0x0a
.code
LM123:
L85:

	sp+=1
	pop bp from [sp]
	retf
	.endp	// end of Stop

.debug
	.dw '.stabf ',0,0
	.dd LME8-_Stop
	.dw 0x0d,0x0a
.code
LME8:
.code
.debug
	.dw '.stabs "MISTAKE:F19",36,0,0,',0,0,offset _MISTAKE,seg _MISTAKE,0x0d,0x0a
.CODE
.public _MISTAKE
_MISTAKE:	.proc
.debug
	.dw '.stabn 0x44,0,241,',0,0
	.dd LM124-_MISTAKE
	.dw 0x0d,0x0a
.code
LM124:
	// 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,242,',0,0
	.dd LM125-_MISTAKE
	.dw 0x0d,0x0a
.code
LM125:
	R1=3	// QImode move
	[SP--]=R1	// QImode move
	R1=10	// QImode move
	[SP--]=R1	// QImode move
	call _PlaySnd	// call without return value
	SP=SP+2
.debug
	.dw '.stabn 0x44,0,243,',0,0
	.dd LM126-_MISTAKE
	.dw 0x0d,0x0a
.code
LM126:
L87:
	pc=L89	// Indirect jump
	pc=L88	// Indirect jump
L89:
	pc=L87	// Indirect jump
L88:
.debug
	.dw '.stabn 0x44,0,246,',0,0
	.dd LM127-_MISTAKE
	.dw 0x0d,0x0a
.code
LM127:
.debug
	.dw '.stabn 0x44,0,246,',0,0
	.dd LM128-_MISTAKE
	.dw 0x0d,0x0a
.code
LM128:
L86:

	sp+=1
	pop bp from [sp]
	retf
	.endp	// end of MISTAKE

.debug
	.dw '.stabf ',0,0
	.dd LME9-_MISTAKE
	.dw 0x0d,0x0a
.code
LME9:
.code
.debug
	.dw '.stabs "OK:F19",36,0,0,',0,0,offset _OK,seg _OK,0x0d,0x0a
.CODE
.public _OK
_OK:	.proc
.debug
	.dw '.stabn 0x44,0,254,',0,0
	.dd LM129-_OK
	.dw 0x0d,0x0a
.code
LM129:
	// 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,255,',0,0
	.dd LM130-_OK
	.dw 0x0d,0x0a
.code
LM130:
	R1=[_rock]	// QImode move
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	R1=R2+(-1)
	CMP R1,6	// QImode compare
	JNA L101	// QImode GTU
	PC=L99
L101:
	R2=R1	// QImode move
	R1=R2	// QImode move
	R1=R1+L100
	R4=R1	// QImode move
	R2=[R4]	// QImode move
	pc=R2	// tablejump
.text
L100:
	.dw L92
	.dw L93
	.dw L94
	.dw L95
	.dw L96
	.dw L97
	.dw L98
.code
L92:
.debug
	.dw '.stabn 0x44,0,258,',0,0
	.dd LM131-_OK
	.dw 0x0d,0x0a
.code
LM131:
	R2=[_rock]	// QImode move
	R1=[_rock]	// QImode move
	R2=[_rock]	// QImode move
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R2=R3+1
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,259,',0,0
	.dd LM132-_OK
	.dw 0x0d,0x0a
.code
LM132:
	R1=254	// QImode move
	[28672]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,260,',0,0
	.dd LM133-_OK
	.dw 0x0d,0x0a
.code
LM133:
	call _Delay	// call without return value
.debug
	.dw '.stabn 0x44,0,261,',0,0
	.dd LM134-_OK
	.dw 0x0d,0x0a
.code
LM134:
	call _Delay	// call without return value
L93:
.debug
	.dw '.stabn 0x44,0,263,',0,0
	.dd LM135-_OK
	.dw 0x0d,0x0a
.code
LM135:
	R2=[_rock]	// QImode move
	R1=[_rock]	// QImode move
	R2=[_rock]	// QImode move
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R2=R3+1
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,264,',0,0
	.dd LM136-_OK
	.dw 0x0d,0x0a
.code
LM136:
	R1=253	// QImode move
	[28672]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,265,',0,0
	.dd LM137-_OK
	.dw 0x0d,0x0a
.code
LM137:
	call _Delay	// call without return value
.debug
	.dw '.stabn 0x44,0,266,',0,0
	.dd LM138-_OK
	.dw 0x0d,0x0a
.code
LM138:
	call _Delay	// call without return value
L94:
.debug
	.dw '.stabn 0x44,0,268,',0,0
	.dd LM139-_OK
	.dw 0x0d,0x0a
.code
LM139:
	R2=[_rock]	// QImode move
	R1=[_rock]	// QImode move
	R2=[_rock]	// QImode move
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R2=R3+1
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,269,',0,0
	.dd LM140-_OK
	.dw 0x0d,0x0a
.code
LM140:
	R1=251	// QImode move
	[28672]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,270,',0,0
	.dd LM141-_OK
	.dw 0x0d,0x0a
.code
LM141:
	call _Delay	// call without return value
.debug
	.dw '.stabn 0x44,0,271,',0,0
	.dd LM142-_OK
	.dw 0x0d,0x0a
.code
LM142:
	call _Delay	// call without return value
L95:
.debug
	.dw '.stabn 0x44,0,273,',0,0
	.dd LM143-_OK
	.dw 0x0d,0x0a
.code
LM143:
	R2=[_rock]	// QImode move
	R1=[_rock]	// QImode move
	R2=[_rock]	// QImode move
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R2=R3+1
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,274,',0,0
	.dd LM144-_OK
	.dw 0x0d,0x0a
.code
LM144:
	R1=247	// QImode move
	[28672]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,275,',0,0
	.dd LM145-_OK
	.dw 0x0d,0x0a
.code
LM145:
	call _Delay	// call without return value
.debug
	.dw '.stabn 0x44,0,276,',0,0
	.dd LM146-_OK
	.dw 0x0d,0x0a
.code
LM146:
	call _Delay	// call without return value
L96:
.debug
	.dw '.stabn 0x44,0,278,',0,0
	.dd LM147-_OK
	.dw 0x0d,0x0a
.code
LM147:
	R2=[_rock]	// QImode move
	R1=[_rock]	// QImode move
	R2=[_rock]	// QImode move
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R2=R3+1
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,279,',0,0
	.dd LM148-_OK
	.dw 0x0d,0x0a
.code
LM148:
	R1=239	// QImode move
	[28672]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,280,',0,0
	.dd LM149-_OK
	.dw 0x0d,0x0a
.code
LM149:
	call _Delay	// call without return value
.debug
	.dw '.stabn 0x44,0,281,',0,0
	.dd LM150-_OK
	.dw 0x0d,0x0a
.code
LM150:
	call _Delay	// call without return value
L97:
.debug
	.dw '.stabn 0x44,0,283,',0,0
	.dd LM151-_OK
	.dw 0x0d,0x0a
.code
LM151:
	R2=[_rock]	// QImode move
	R1=[_rock]	// QImode move
	R2=[_rock]	// QImode move
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R2=R3+1
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,284,',0,0
	.dd LM152-_OK
	.dw 0x0d,0x0a
.code
LM152:
	R1=223	// QImode move
	[28672]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,285,',0,0
	.dd LM153-_OK
	.dw 0x0d,0x0a
.code
LM153:
	call _Delay	// call without return value
.debug
	.dw '.stabn 0x44,0,286,',0,0
	.dd LM154-_OK
	.dw 0x0d,0x0a
.code
LM154:
	call _Delay	// call without return value
L98:
.debug
	.dw '.stabn 0x44,0,288,',0,0
	.dd LM155-_OK
	.dw 0x0d,0x0a
.code
LM155:
	R2=[_rock]	// QImode move
	R1=[_rock]	// QImode move
	R2=[_rock]	// QImode move
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R2=R3+1
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,289,',0,0
	.dd LM156-_OK
	.dw 0x0d,0x0a
.code
LM156:
	R1=191	// QImode move
	[28672]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,290,',0,0
	.dd LM157-_OK
	.dw 0x0d,0x0a
.code
LM157:
	call _Delay	// call without return value
.debug
	.dw '.stabn 0x44,0,291,',0,0
	.dd LM158-_OK
	.dw 0x0d,0x0a
.code
LM158:
	call _Delay	// call without return value
L99:
.debug
	.dw '.stabn 0x44,0,293,',0,0
	.dd LM159-_OK
	.dw 0x0d,0x0a
.code
LM159:
	pc=L91	// Indirect jump
L91:
.debug
	.dw '.stabn 0x44,0,295,',0,0
	.dd LM160-_OK
	.dw 0x0d,0x0a
.code
LM160:
	call _GoAhead	// call without return value
.debug
	.dw '.stabn 0x44,0,296,',0,0
	.dd LM161-_OK
	.dw 0x0d,0x0a
.code
LM161:
.debug
	.dw '.stabn 0x44,0,296,',0,0
	.dd LM162-_OK
	.dw 0x0d,0x0a
.code
LM162:
L90:

	sp+=1
	pop bp from [sp]
	retf
	.endp	// end of OK

.debug
	.dw '.stabf ',0,0
	.dd LME10-_OK
	.dw 0x0d,0x0a
.code
LME10:
.code
.debug
	.dw '.stabs "BSR:F19",36,0,0,',0,0,offset _BSR,seg _BSR,0x0d,0x0a
.CODE
.public _BSR
_BSR:	.proc
.debug
	.dw '.stabn 0x44,0,304,',0,0
	.dd LM163-_BSR
	.dw 0x0d,0x0a
.code
LM163:
	// 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,305,',0,0
	.dd LM164-_BSR
	.dw 0x0d,0x0a
.code
LM164:
LBB10:
.debug
	.dw '.stabn 0x44,0,306,',0,0
	.dd LM165-_BSR
	.dw 0x0d,0x0a
.code
LM165:
	call _BSR_GetResult	// call with return value
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,308,',0,0
	.dd LM166-_BSR
	.dw 0x0d,0x0a
.code
LM166:
	R1=[BP]	// QImode move
	CMP R1,0	// QImode test
	JG L112	// QImode LE
	PC=L103
L112:
.debug
	.dw '.stabn 0x44,0,310,',0,0
	.dd LM167-_BSR
	.dw 0x0d,0x0a
.code
LM167:
	R1=127	// QImode move
	[28672]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,311,',0,0
	.dd LM168-_BSR
	.dw 0x0d,0x0a
.code
LM168:
	R1=[BP]	// QImode move
	CMP R1,257	// QImode compare
	JNZ L113	// QImode EQ
	PC=L106
L113:
	CMP R1,257	// QImode compare
	JNG L114	// QImode GT
	PC=L111
L114:
	CMP R1,256	// QImode compare
	JNZ L115	// QImode EQ
	PC=L105
L115:
	pc=L109	// Indirect jump
L111:
	CMP R1,258	// QImode compare
	JNZ L116	// QImode EQ
	PC=L107
L116:
	CMP R1,259	// QImode compare
	JNZ L117	// QImode EQ
	PC=L108
L117:
	pc=L109	// Indirect jump
L105:
.debug
	.dw '.stabn 0x44,0,314,',0,0
	.dd LM169-_BSR
	.dw 0x0d,0x0a
.code
LM169:
	call _Stop	// call without return value
.debug
	.dw '.stabn 0x44,0,315,',0,0
	.dd LM170-_BSR
	.dw 0x0d,0x0a
.code
LM170:
	pc=L103	// Indirect jump
L106:
.debug
	.dw '.stabn 0x44,0,317,',0,0
	.dd LM171-_BSR
	.dw 0x0d,0x0a
.code
LM171:
	R1=0	// QImode move
	[SP--]=R1	// QImode move
	call _GoAhead	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,318,',0,0
	.dd LM172-_BSR
	.dw 0x0d,0x0a
.code
LM172:
	pc=L103	// Indirect jump
L107:
.debug
	.dw '.stabn 0x44,0,320,',0,0
	.dd LM173-_BSR
	.dw 0x0d,0x0a
.code
LM173:
	call _MISTAKE	// call without return value
.debug
	.dw '.stabn 0x44,0,321,',0,0
	.dd LM174-_BSR
	.dw 0x0d,0x0a
.code
LM174:
	pc=L103	// Indirect jump
L108:
.debug
	.dw '.stabn 0x44,0,323,',0,0
	.dd LM175-_BSR
	.dw 0x0d,0x0a
.code
LM175:
	call _OK	// call without return value
.debug
	.dw '.stabn 0x44,0,324,',0,0
	.dd LM176-_BSR
	.dw 0x0d,0x0a
.code
LM176:
	pc=L103	// Indirect jump
L109:
.debug
	.dw '.stabn 0x44,0,326,',0,0
	.dd LM177-_BSR
	.dw 0x0d,0x0a
.code
LM177:
	pc=L103	// Indirect jump
L104:
L103:
.debug
	.dw '.stabn 0x44,0,329,',0,0
	.dd LM178-_BSR
	.dw 0x0d,0x0a
.code
LM178:
LBE10:
.debug
	.dw '.stabn 0x44,0,329,',0,0
	.dd LM179-_BSR
	.dw 0x0d,0x0a
.code
LM179:
L102:

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

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB10-_BSR
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "Result:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE10-_BSR
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME11-_BSR
	.dw 0x0d,0x0a
.code
LME11:
.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,337,',0,0
	.dd LM180-_main
	.dw 0x0d,0x0a
.code
LM180:
	// 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,337,',0,0
	.dd LM181-_main
	.dw 0x0d,0x0a
.code
LM181:
LBB11:
.debug
	.dw '.stabn 0x44,0,339,',0,0
	.dd LM182-_main
	.dw 0x0d,0x0a
.code
LM182:
	R1=261	// QImode move
	[_rock]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,342,',0,0
	.dd LM183-_main
	.dw 0x0d,0x0a
.code
LM183:
	R1=(-128)	// QImode move
	[SP--]=R1	// QImode move
	R1=127	// QImode move
	[SP--]=R1	// QImode move
	R1=127	// QImode move
	[SP--]=R1	// QImode move
	call _SP_Init_IOA	// call with return value
	SP=SP+3
.debug
	.dw '.stabn 0x44,0,344,',0,0
	.dd LM184-_main
	.dw 0x0d,0x0a
.code
LM184:
	R1=127	// QImode move
	[SP--]=R1	// QImode move
	call _Set_IOA_Data	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,345,',0,0
	.dd LM185-_main
	.dw 0x0d,0x0a
.code
LM185:
	R1=0	// QImode move
	[SP--]=R1	// QImode move
	call _BSR_DeleteSDGroup	// call with return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,346,',0,0
	.dd LM186-_main
	.dw 0x0d,0x0a
.code
LM186:
	R1=[-8192]	// QImode move
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,347,',0,0
	.dd LM187-_main
	.dw 0x0d,0x0a
.code
LM187:
	R1=[BP]	// QImode move
	CMP R1,(-1)	// QImode compare
	JZ L121	// QImode NE
	PC=L119
L121:
.debug
	.dw '.stabn 0x44,0,349,',0,0
	.dd LM188-_main
	.dw 0x0d,0x0a
.code
LM188:
	call _TrainSD	// call without return value
.debug
	.dw '.stabn 0x44,0,350,',0,0
	.dd LM189-_main
	.dw 0x0d,0x0a
.code
LM189:
	call _StoreSD	// call without return value
.debug
	.dw '.stabn 0x44,0,351,',0,0
	.dd LM190-_main
	.dw 0x0d,0x0a
.code
LM190:
	pc=L120	// Indirect jump
L119:
.debug
	.dw '.stabn 0x44,0,354,',0,0
	.dd LM191-_main
	.dw 0x0d,0x0a
.code
LM191:
	call _LoadSD	// call without return value
L120:
.debug
	.dw '.stabn 0x44,0,357,',0,0
	.dd LM192-_main
	.dw 0x0d,0x0a
.code
LM192:
	R1=3	// QImode move
	[SP--]=R1	// QImode move
	R1=9	// QImode move
	[SP--]=R1	// QImode move
	call _PlaySnd	// call without return value
	SP=SP+2
.debug
	.dw '.stabn 0x44,0,358,',0,0
	.dd LM193-_main
	.dw 0x0d,0x0a
.code
LM193:
	R1=0	// QImode move
	[SP--]=R1	// QImode move
	call _BSR_InitRecognizer	// call with return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,369,',0,0
	.dd LM194-_main
	.dw 0x0d,0x0a
.code
LM194:
LBE11:
.debug
	.dw '.stabn 0x44,0,369,',0,0
	.dd LM195-_main
	.dw 0x0d,0x0a
.code
LM195:
L118:

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

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB11-_main
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "BS_Flag:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE11-_main
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME12-_main
	.dw 0x0d,0x0a
.code
LME12:
.iram
.public _uiTimecont
_uiTimecont:
	.dw 0
.iram
.public _rock
_rock:
	.dw 0
.external _BSR_DeleteSDGroup
.external _Set_IOA_Data
.external _SP_Init_IOA
.external _BSR_GetResult
.external _BSR_ImportSDWord
.external _BSR_SDModel
.external _BSR_ExportSDWord
.external _F_FlashErase
.external _F_FlashWrite1Word
.external _BSR_Train
.external _BSR_InitRecognizer
.external _SACM_S480_Stop
.external _SACM_S480_ServiceLoop
.external _SACM_S480_Status
.external _SACM_S480_Play
.external _SACM_S480_Initial
.external _BSR_StopRecognizer
	.end

⌨️ 快捷键说明

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