main.asm

来自「该程序基于凌阳单片机做的无线温度遥测系统」· 汇编 代码 · 共 961 行 · 第 1/2 页

ASM
961
字号
L14:
.debug
	.dw '.stabn 0x44,0,46,',0,0
	.dd LM25-_xianshi
	.dw 0x0d,0x0a
.code
LM25:
	R2=BP	// QImode move
	R1=BP+1
	R2=BP	// QImode move
	R3=BP+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R2 lsl 1
	R2=R1	// QImode move
	[R2]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,35,',0,0
	.dd LM26-_xianshi
	.dw 0x0d,0x0a
.code
LM26:
L11:
	R1=BP	// QImode move
	R2=BP+4
	R3=BP	// QImode move
	R1=BP+4
	R2=BP	// QImode move
	R3=BP+4
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R2+1
	R2=R1	// QImode move
	[R2]=R3	// QImode move
	pc=L9	// Indirect jump
L10:
.debug
	.dw '.stabn 0x44,0,29,',0,0
	.dd LM27-_xianshi
	.dw 0x0d,0x0a
.code
LM27:
L6:
	R1=BP	// QImode move
	R2=BP+5
	R3=BP	// QImode move
	R1=BP+5
	R2=BP	// QImode move
	R3=BP+5
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R2+1
	R2=R1	// QImode move
	[R2]=R3	// QImode move
	pc=L4	// Indirect jump
L5:
.debug
	.dw '.stabn 0x44,0,49,',0,0
	.dd LM28-_xianshi
	.dw 0x0d,0x0a
.code
LM28:
LBE2:
.debug
	.dw '.stabn 0x44,0,49,',0,0
	.dd LM29-_xianshi
	.dw 0x0d,0x0a
.code
LM29:
L3:

	sp+=15
	pop bp from [sp]
	retf
	.endp	// end of xianshi

.debug
	.dw '.stabs "n:p1",160,0,0,18',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB2-_xianshi
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "q:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "b:1",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "c:1",128,0,0,2',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "d:1",128,0,0,3',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "i:1",128,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "j:1",128,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "a:21=ar1;0;3;1",128,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE2-_xianshi
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME2-_xianshi
	.dw 0x0d,0x0a
.code
LME2:
.debug
	.dw '.stabs "Data:G22=ar1;0;7;4",32,0,0,',0,0,offset _Data,seg _Data,0x0d,0x0a
.CODE
.code
.debug
	.dw '.stabs "main:F1",36,0,0,',0,0,offset _main,seg _main,0x0d,0x0a
.CODE
.public _main
_main:	.proc
.debug
	.dw '.stabs "D:/Sunplus/jinsai/wendu/main.c",0x84,0,0,',0,0,offset Ltext2, seg Ltext2,0x0d,0x0a
.code
.code
Ltext2:
.debug
	.dw '.stabn 0x44,0,12,',0,0
	.dd LM30-_main
	.dw 0x0d,0x0a
.code
LM30:
	// total=11, vars=11
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=11
	bp=sp+1

	R1=BP+14
	[bp+8]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,13,',0,0
	.dd LM31-_main
	.dw 0x0d,0x0a
.code
LM31:
LBB3:
.debug
	.dw '.stabn 0x44,0,22,',0,0
	.dd LM32-_main
	.dw 0x0d,0x0a
.code
LM32:
	R1=24	// QImode move
	[28691]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,24,',0,0
	.dd LM33-_main
	.dw 0x0d,0x0a
.code
LM33:
	R1=(-1)	// QImode move
	[28675]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,25,',0,0
	.dd LM34-_main
	.dw 0x0d,0x0a
.code
LM34:
	R1=(-1)	// QImode move
	[28674]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,26,',0,0
	.dd LM35-_main
	.dw 0x0d,0x0a
.code
LM35:
	R1=0	// QImode move
	[28672]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,27,',0,0
	.dd LM36-_main
	.dw 0x0d,0x0a
.code
LM36:
	R1=(-1)	// QImode move
	[28680]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,28,',0,0
	.dd LM37-_main
	.dw 0x0d,0x0a
.code
LM37:
	R1=(-1)	// QImode move
	[28679]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,29,',0,0
	.dd LM38-_main
	.dw 0x0d,0x0a
.code
LM38:
	R1=0	// QImode move
	[28677]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,32,',0,0
	.dd LM39-_main
	.dw 0x0d,0x0a
.code
LM39:
L20:
	pc=L22	// Indirect jump
	pc=L21	// Indirect jump
L22:
.debug
	.dw '.stabn 0x44,0,34,',0,0
	.dd LM40-_main
	.dw 0x0d,0x0a
.code
LM40:
	call _Read_Temp	// call without return value
.debug
	.dw '.stabn 0x44,0,35,',0,0
	.dd LM41-_main
	.dw 0x0d,0x0a
.code
LM41:
	call _Temp_Data	// call with return value
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,37,',0,0
	.dd LM42-_main
	.dw 0x0d,0x0a
.code
LM42:
	R1=BP	// QImode move
	R2=BP+5
	[bp+9]=R2	// QImode move
	R1=[BP]
	R2=0
	push R1,R2 to [sp]	// pushhi
	call __cvi2f2	// call with return value
	SP = SP + 2	//SP
	R3=0	// HFmode immediate to register move
	R4=15744
	push R3,R4 to [sp]	// pushhf
	push R1,R2 to [sp]	// pushhf
	call __mulf2	// call with return value
	SP = SP + 4	//SP
	R3=[bp+9]	// QImode move
	[R3++]=R1	// [RD]=RS HFmode, RD!=RS+1
	[R3--]=R2
.debug
	.dw '.stabn 0x44,0,38,',0,0
	.dd LM43-_main
	.dw 0x0d,0x0a
.code
LM43:
	R1=BP	// QImode move
	R4=BP+7
	[bp+10]=R4	// QImode move
	R1=BP	// QImode move
	R3=BP+5
	R4=R3	// QImode move
	R1=[R4++]	// RD=[RS] HFmode, RD!=RS
	R2=[R4--]
	R3=0	// HFmode immediate to register move
	R4=16672
	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
	R2=[bp+10]	// QImode move
	[R2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,39,',0,0
	.dd LM44-_main
	.dw 0x0d,0x0a
.code
LM44:
	R1=BP	// QImode move
	R2=BP+7
	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,41,',0,0
	.dd LM45-_main
	.dw 0x0d,0x0a
.code
LM45:
	R1=1	// QImode move
	[28690]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,42,',0,0
	.dd LM46-_main
	.dw 0x0d,0x0a
.code
LM46:
	pc=L20	// Indirect jump
L21:
.debug
	.dw '.stabn 0x44,0,43,',0,0
	.dd LM47-_main
	.dw 0x0d,0x0a
.code
LM47:
LBE3:
.debug
	.dw '.stabn 0x44,0,43,',0,0
	.dd LM48-_main
	.dw 0x0d,0x0a
.code
LM48:
L19:

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

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB3-_main
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "uiTemp:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "uiYushu:4",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "uiBaiwei:4",128,0,0,2',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "uiShiwei:4",128,0,0,3',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "uiXiaoshu:4",128,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "a:12",128,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "linshi:4",128,0,0,7',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE3-_main
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME3-_main
	.dw 0x0d,0x0a
.code
LME3:
.code
.debug
	.dw '.stabs "Temp_Data:F4",36,0,0,',0,0,offset _Temp_Data,seg _Temp_Data,0x0d,0x0a
.CODE
.public _Temp_Data
_Temp_Data:	.proc
.debug
	.dw '.stabn 0x44,0,48,',0,0
	.dd LM49-_Temp_Data
	.dw 0x0d,0x0a
.code
LM49:
	// total=3, vars=3
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=3
	bp=sp+1

	R2=BP+6
.debug
	.dw '.stabn 0x44,0,49,',0,0
	.dd LM50-_Temp_Data
	.dw 0x0d,0x0a
.code
LM50:
LBB4:
.debug
	.dw '.stabn 0x44,0,51,',0,0
	.dd LM51-_Temp_Data
	.dw 0x0d,0x0a
.code
LM51:
	R1=BP	// QImode move
	R3=BP+1
	R1=[_Data+1]	// QImode move
	R4=R1&7
	R1=R3	// QImode move
	[R1]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,52,',0,0
	.dd LM52-_Temp_Data
	.dw 0x0d,0x0a
.code
LM52:
	R1=[_Data+1]	// QImode move
	R3=256	// QImode move
	[bp+2]=R3	// QImode move
	R4=[bp+2]	// QImode move
	mr=R1*R4	// r3=R1*R4 16bit=16bit*16bit
	R1=R3	// QImode move
	R1 = R1 + [_Data]	//addqi3
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,53,',0,0
	.dd LM53-_Temp_Data
	.dw 0x0d,0x0a
.code
LM53:
	R3=[BP]	// QImode move
	R1=R3	// QImode move
	pc=L23	// Indirect jump
.debug
	.dw '.stabn 0x44,0,54,',0,0
	.dd LM54-_Temp_Data
	.dw 0x0d,0x0a
.code
LM54:
LBE4:
.debug
	.dw '.stabn 0x44,0,54,',0,0
	.dd LM55-_Temp_Data
	.dw 0x0d,0x0a
.code
LM55:
L23:

	sp+=3
	pop bp from [sp]
	retf
	.endp	// end of Temp_Data

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB4-_Temp_Data
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "uiData:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "gao:4",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE4-_Temp_Data
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME4-_Temp_Data
	.dw 0x0d,0x0a
.code
LME4:
.iram
.public _Data
_Data:
	.dw 8 dup(0)
.external _Read_Temp
.external __cvf2i1
.external __mulf2
.external __cvi2f2
.external __divi1
	.end

⌨️ 快捷键说明

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