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

📄 main.asm

📁 该程序基于凌阳单片机做的无线温度遥测系统
💻 ASM
📖 第 1 页 / 共 2 页
字号:
.debug
	.dw '.stabn 0x44,0,42,',0,0
	.dd LM44-_delay
	.dw 0x0d,0x0a
.code
LM44:
LBB4:
.debug
	.dw '.stabn 0x44,0,43,',0,0
	.dd LM45-_delay
	.dw 0x0d,0x0a
.code
LM45:
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	[BP]=R2	// QImode move
L21:
	R2=[BP]	// QImode move
	CMP R2,0	// QImode test
	NSJG L24	//QImode GT
	pc=L22	// Indirect jump
L24:
.debug
	.dw '.stabn 0x44,0,45,',0,0
	.dd LM46-_delay
	.dw 0x0d,0x0a
.code
LM46:
	R2=1	// QImode move
	[28690]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,43,',0,0
	.dd LM47-_delay
	.dw 0x0d,0x0a
.code
LM47:
L23:
	R2=[BP]	// QImode move
	R3=R2+(-1)
	[BP]=R3	// QImode move
	pc=L21	// Indirect jump
L22:
.debug
	.dw '.stabn 0x44,0,47,',0,0
	.dd LM48-_delay
	.dw 0x0d,0x0a
.code
LM48:
LBE4:
.debug
	.dw '.stabn 0x44,0,47,',0,0
	.dd LM49-_delay
	.dw 0x0d,0x0a
.code
LM49:
L20:

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

.debug
	.dw '.stabs "n:p1",160,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB4-_delay
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE4-_delay
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME4-_delay
	.dw 0x0d,0x0a
.code
LME4:
.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,101,',0,0
	.dd LM50-_main
	.dw 0x0d,0x0a
.code
LM50:
	// total=18, vars=18
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=18
	bp=sp+1

	R1=BP+21
	[bp+14]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,102,',0,0
	.dd LM51-_main
	.dw 0x0d,0x0a
.code
LM51:
LBB5:
.debug
	.dw '.stabn 0x44,0,103,',0,0
	.dd LM52-_main
	.dw 0x0d,0x0a
.code
LM52:
	R1=BP	// QImode move
	R2=BP+8
	R1=0	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,104,',0,0
	.dd LM53-_main
	.dw 0x0d,0x0a
.code
LM53:
	R1=BP	// QImode move
	R2=BP+9
	R1=0	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,109,',0,0
	.dd LM54-_main
	.dw 0x0d,0x0a
.code
LM54:
	R1=24	// QImode move
	[28691]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,111,',0,0
	.dd LM55-_main
	.dw 0x0d,0x0a
.code
LM55:
	R1=(-1)	// QImode move
	[28675]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,112,',0,0
	.dd LM56-_main
	.dw 0x0d,0x0a
.code
LM56:
	R1=(-1)	// QImode move
	[28674]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,113,',0,0
	.dd LM57-_main
	.dw 0x0d,0x0a
.code
LM57:
	R1=0	// QImode move
	[28672]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,115,',0,0
	.dd LM58-_main
	.dw 0x0d,0x0a
.code
LM58:
	R1=12288	// QImode move
	[28679]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,116,',0,0
	.dd LM59-_main
	.dw 0x0d,0x0a
.code
LM59:
	R1=12288	// QImode move
	[28680]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,119,',0,0
	.dd LM60-_main
	.dw 0x0d,0x0a
.code
LM60:
	R1=[28679]	// QImode move
	R2=R1|1024
	[28679]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,120,',0,0
	.dd LM61-_main
	.dw 0x0d,0x0a
.code
LM61:
	R1=[28680]	// QImode move
	R2=R1|1152
	[28680]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,121,',0,0
	.dd LM62-_main
	.dw 0x0d,0x0a
.code
LM62:
	R1=[28677]	// QImode move
	R2=R1|1024
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,123,',0,0
	.dd LM63-_main
	.dw 0x0d,0x0a
.code
LM63:
	R1=0	// QImode move
	[28708]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,124,',0,0
	.dd LM64-_main
	.dw 0x0d,0x0a
.code
LM64:
	R1=5	// QImode move
	[28709]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,126,',0,0
	.dd LM65-_main
	.dw 0x0d,0x0a
.code
LM65:
	R1=0	// QImode move
	[28705]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,127,',0,0
	.dd LM66-_main
	.dw 0x0d,0x0a
.code
LM66:
	R1=192	// QImode move
	[28706]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,129,',0,0
	.dd LM67-_main
	.dw 0x0d,0x0a
.code
LM67:
	R1=BP	// QImode move
	R2=BP+11
	R1=0	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,130,',0,0
	.dd LM68-_main
	.dw 0x0d,0x0a
.code
LM68:
L27:
	pc=L29	// Indirect jump
	pc=L28	// Indirect jump
L29:
.debug
	.dw '.stabn 0x44,0,133,',0,0
	.dd LM69-_main
	.dw 0x0d,0x0a
.code
LM69:
L30:
	R1=BP	// QImode move
	R2=BP+11
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	CMP R1,7	// QImode compare
	NSJNG L32	//QImode LE
	pc=L31	// Indirect jump
L32:
.debug
	.dw '.stabn 0x44,0,135,',0,0
	.dd LM70-_main
	.dw 0x0d,0x0a
.code
LM70:
L33:
	R2=[28706]	// QImode move
	R1=R2&128
	CMP R1,0	// QImode test
	NSJNZ L35	//QImode NE
	pc=L34	// Indirect jump
L35:
.debug
	.dw '.stabn 0x44,0,137,',0,0
	.dd LM71-_main
	.dw 0x0d,0x0a
.code
LM71:
	R1=BP	// QImode move
	R2=BP+11
	R1=R2	// QImode move
	R3=[R1]	// QImode move
	R1=BP	// QImode move
	R1 = R1 + R3	//addqi3
	R2=[28707]	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,138,',0,0
	.dd LM72-_main
	.dw 0x0d,0x0a
.code
LM72:
	R1=BP	// QImode move
	R2=BP+11
	R3=BP	// QImode move
	R1=BP+11
	R2=BP	// QImode move
	R3=BP+11
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R2+1
	R2=R1	// QImode move
	[R2]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,139,',0,0
	.dd LM73-_main
	.dw 0x0d,0x0a
.code
LM73:
	R1=1	// QImode move
	[28690]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,140,',0,0
	.dd LM74-_main
	.dw 0x0d,0x0a
.code
LM74:
	R1=BP	// QImode move
	R2=BP+11
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,8	// QImode compare
	NSJNG L36	//QImode LE
.debug
	.dw '.stabn 0x44,0,141,',0,0
	.dd LM75-_main
	.dw 0x0d,0x0a
.code
LM75:
	pc=L34	// Indirect jump
L36:
.debug
	.dw '.stabn 0x44,0,142,',0,0
	.dd LM76-_main
	.dw 0x0d,0x0a
.code
LM76:
	pc=L33	// Indirect jump
L34:
.debug
	.dw '.stabn 0x44,0,143,',0,0
	.dd LM77-_main
	.dw 0x0d,0x0a
.code
LM77:
	pc=L30	// Indirect jump
L31:
.debug
	.dw '.stabn 0x44,0,145,',0,0
	.dd LM78-_main
	.dw 0x0d,0x0a
.code
LM78:
	R1=BP	// QImode move
	R2=BP+11
	R1=0	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,147,',0,0
	.dd LM79-_main
	.dw 0x0d,0x0a
.code
LM79:
	R1=BP	// QImode move
	R2=BP+10
	R1=0	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
L37:
	R1=BP	// QImode move
	R2=BP+10
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	CMP R1,7	// QImode compare
	NSJNG L40	//QImode LE
	pc=L38	// Indirect jump
L40:
.debug
	.dw '.stabn 0x44,0,149,',0,0
	.dd LM80-_main
	.dw 0x0d,0x0a
.code
LM80:
	R1=0	// QImode move
	R2=BP	// QImode move
	R3=BP+10
	R2=R3	// QImode move
	R4=[R2]	// QImode move
	R2=BP	// QImode move
	R2 = R2 + R4	//addqi3
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	CMP R3,255	// QImode compare
	NSJNZ L42	//QImode NE
	R1=1	// QImode move
L42:
	R2=0	// QImode move
	R3=BP	// QImode move
	R3=BP+10
	[bp+16]=R3	// QImode move
	R4=[bp+16]	// QImode move
	R3=[R4]	// QImode move
	R4=R3+1
	R3=BP	// QImode move
	R3 = R3 + R4	//addqi3
	R4=R3	// QImode move
	R4=[R4]	// QImode move
	[bp+16]=R4	// QImode move
	R3=[bp+16]	// QImode move
	CMP R3,255	// QImode compare
	NSJNZ L43	//QImode NE
	R2=1	// QImode move
L43:
	R1&=R2
	CMP R1,0	// QImode test
	NSJZ L39	//QImode EQ
.debug
	.dw '.stabn 0x44,0,151,',0,0
	.dd LM81-_main
	.dw 0x0d,0x0a
.code
LM81:
	R2=BP	// QImode move
	R1=BP+12
	R2=BP	// QImode move
	R3=BP+10
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R2+2
	R2=BP	// QImode move
	R2 = R2 + R3	//addqi3
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R2=R1	// QImode move
	[R2]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,152,',0,0
	.dd LM82-_main
	.dw 0x0d,0x0a
.code
LM82:
	R1=BP	// QImode move
	R3=BP+12
	R2=R3	// QImode move
	R1=R3+1
	R2=BP	// QImode move
	R3=BP+10
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R2+3
	R2=BP	// QImode move
	R2 = R2 + R3	//addqi3
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R2=R1	// QImode move
	[R2]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,153,',0,0
	.dd LM83-_main
	.dw 0x0d,0x0a
.code
LM83:
	pc=L38	// Indirect jump
L41:
.debug
	.dw '.stabn 0x44,0,147,',0,0
	.dd LM84-_main
	.dw 0x0d,0x0a
.code
LM84:
L39:
	R1=BP	// QImode move
	R2=BP+10
	R3=BP	// QImode move
	R1=BP+10
	R2=BP	// QImode move
	R3=BP+10
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R2+1
	R2=R1	// QImode move
	[R2]=R3	// QImode move
	pc=L37	// Indirect jump
L38:
.debug
	.dw '.stabn 0x44,0,158,',0,0
	.dd LM85-_main
	.dw 0x0d,0x0a
.code
LM85:
	R2=BP	// QImode move
	R1=BP+8
	R2=BP	// QImode move
	R3=BP+12
	[bp+17]=R3	// QImode move
	R4=[bp+17]	// QImode move
	R4=[R4]	// QImode move
	R2=R4&7
	R3=256	// QImode move
	[bp+16]=R3	// QImode move
	R4=[bp+16]	// QImode move
	mr=R2*R4	// r3=R2*R4 16bit=16bit*16bit
	R2=BP	// QImode move
	R4=BP+12
	R2=R4	// QImode move
	R4=R4+1
	R2=R3	// QImode move
	R3=R4	// QImode move
	R2 = R2 + [R3]	//addqi3
	R4=R1	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,160,',0,0
	.dd LM86-_main
	.dw 0x0d,0x0a
.code
LM86:
	R1=BP	// QImode move
	R1=BP+8
	[bp+15]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+8
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	call __cvi1f2	// call with return value
	SP = SP + 1	//SP
	R3=0	// HFmode immediate to register move
	R4=16160
	push R3,R4 to [sp]	// pushhf
	push R1,R2 to [sp]	// pushhf
	call __mulf2	// call with return value
	SP = SP + 4	//SP
	push R1,R2 to [sp]	// pushhf
	call __cvf2i1	// call with return value
	SP = SP + 2	//SP
	R4=[bp+15]	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,165,',0,0
	.dd LM87-_main
	.dw 0x0d,0x0a
.code
LM87:
	R1=BP	// QImode move
	R2=BP+8
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	call _xianshi	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,166,',0,0
	.dd LM88-_main
	.dw 0x0d,0x0a
.code
LM88:
	R1=300	// QImode move
	[SP--]=R1	// QImode move
	call _delay	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,167,',0,0
	.dd LM89-_main
	.dw 0x0d,0x0a
.code
LM89:
	R1=BP	// QImode move
	R2=BP+8
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	CMP R1,900	// QImode compare
	NSJNG L44	//QImode LE
.debug
	.dw '.stabn 0x44,0,168,',0,0
	.dd LM90-_main
	.dw 0x0d,0x0a
.code
LM90:
	R1=BP	// QImode move
	R2=BP+8
	R1=900	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
L44:
.debug
	.dw '.stabn 0x44,0,169,',0,0
	.dd LM91-_main
	.dw 0x0d,0x0a
.code
LM91:
	R1=BP	// QImode move
	R2=BP+8
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	[SP--]=R1	// QImode move
	call _dushu	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,171,',0,0
	.dd LM92-_main
	.dw 0x0d,0x0a
.code
LM92:
	R1=1	// QImode move
	[28690]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,172,',0,0
	.dd LM93-_main
	.dw 0x0d,0x0a
.code
LM93:
	pc=L27	// Indirect jump
L28:
.debug
	.dw '.stabn 0x44,0,173,',0,0
	.dd LM94-_main
	.dw 0x0d,0x0a
.code
LM94:
LBE5:
.debug
	.dw '.stabn 0x44,0,173,',0,0
	.dd LM95-_main
	.dw 0x0d,0x0a
.code
LM95:
L26:

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

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB5-_main
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "shuju:23=ar1;0;7;1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "shuchu:1",128,0,0,8',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "biaozhi:1",128,0,0,9',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "i:1",128,0,0,10',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "number:1",128,0,0,11',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "data:24=ar1;0;1;1",128,0,0,12',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE5-_main
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME5-_main
	.dw 0x0d,0x0a
.code
LME5:
.code
.debug
	.dw '.stabs "PlaySnd_Auto:F19",36,0,0,',0,0,offset _PlaySnd_Auto,seg _PlaySnd_Auto,0x0d,0x0a
.CODE
.public _PlaySnd_Auto
_PlaySnd_Auto:	.proc
.debug
	.dw '.stabn 0x44,0,187,',0,0
	.dd LM96-_PlaySnd_Auto
	.dw 0x0d,0x0a
.code
LM96:
	// 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,188,',0,0
	.dd LM97-_PlaySnd_Auto
	.dw 0x0d,0x0a
.code
LM97:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _SACM_A2000_Initial	// call with return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,189,',0,0
	.dd LM98-_PlaySnd_Auto
	.dw 0x0d,0x0a
.code
LM98:
	R1=3	// QImode move
	[SP--]=R1	// QImode move
	R1=[BP]	// QImode move
	R3=[BP]	// QImode move
	R2=R3+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R2=[BP]	// QImode move
	R1=[R2]	// QImode move
	[SP--]=R1	// QImode move
	call _SACM_A2000_Play	// call without return value
	SP = SP + 3	//SP
.debug
	.dw '.stabn 0x44,0,190,',0,0
	.dd LM99-_PlaySnd_Auto
	.dw 0x0d,0x0a
.code
LM99:
L54:
	call _SACM_A2000_Status	// call with return value
	R2=R1&1
	CMP R2,0	// QImode test
	NSJNZ L56	//QImode NE
	pc=L55	// Indirect jump
L56:
.debug
	.dw '.stabn 0x44,0,192,',0,0
	.dd LM100-_PlaySnd_Auto
	.dw 0x0d,0x0a
.code
LM100:
	call _SACM_A2000_ServiceLoop	// call without return value
.debug
	.dw '.stabn 0x44,0,193,',0,0
	.dd LM101-_PlaySnd_Auto
	.dw 0x0d,0x0a
.code
LM101:
	R1=1	// QImode move
	[28690]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,194,',0,0
	.dd LM102-_PlaySnd_Auto
	.dw 0x0d,0x0a
.code
LM102:
	pc=L54	// Indirect jump
L55:
.debug
	.dw '.stabn 0x44,0,195,',0,0
	.dd LM103-_PlaySnd_Auto
	.dw 0x0d,0x0a
.code
LM103:
	call _SACM_A2000_Stop	// call without return value
.debug
	.dw '.stabn 0x44,0,196,',0,0
	.dd LM104-_PlaySnd_Auto
	.dw 0x0d,0x0a
.code
LM104:
.debug
	.dw '.stabn 0x44,0,196,',0,0
	.dd LM105-_PlaySnd_Auto
	.dw 0x0d,0x0a
.code
LM105:
L53:

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

.debug
	.dw '.stabs "uiSndIndex:p4",160,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "uiDAC_Channel:p4",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabf ',0,0
	.dd LME6-_PlaySnd_Auto
	.dw 0x0d,0x0a
.code
LME6:
.external _SACM_A2000_Stop
.external _SACM_A2000_ServiceLoop
.external _SACM_A2000_Status
.external _SACM_A2000_Play
.external _SACM_A2000_Initial
.external __cvf2i1
.external __mulf2
.external __cvi1f2
.external __modi1
.external __divi1
	.end

⌨️ 快捷键说明

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