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