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

📄 main.asm

📁 单片机开发的数字电压表,带保护提示功能,精确度比较高
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	R2=BP	// QImode move
	R3=BP+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R2+1
	R2=R1	// QImode move
	[R2]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,84,',0,0
	.dd LM33-_main
	.dw 0x0d,0x0a
.code
LM33:
L15:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L13	// Indirect jump
L14:
.debug
	.dw '.stabn 0x44,0,89,',0,0
	.dd LM34-_main
	.dw 0x0d,0x0a
.code
LM34:
	R1=BP	// QImode move
	R3=BP+10
	[bp+51]=R3	// QImode move
	R1=BP	// QImode move
	R3=BP+11
	R4=R3	// QImode move
	//split R1, [R4]
	R1=[R4++]	// QImode move
	R2=[R4--]	// QImode move
	//split R3, 20
	R3=20	// QImode move
	R4=0	// QImode move
	push R3,R4 to [sp]	// pushhi
	push R1,R2 to [sp]	// pushhi
	call __divi2	// call with return value
	SP = SP + 4	//SP
	R3=R1	// QImode move
	R1=[bp+51]	// QImode move
	[R1]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,90,',0,0
	.dd LM35-_main
	.dw 0x0d,0x0a
.code
LM35:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R3=R2+25
	[bp+52]=R3	// QImode move
	R1=BP	// QImode move
	R2=BP+10
	R1=R2	// QImode move
	R3=[R1]
	R4=0
	push R3,R4 to [sp]	// pushhi
	call __cvi2f2	// call with return value
	SP = SP + 2	//SP
	R3=13107	// HFmode immediate to register move
	R4=16467
	push R3,R4 to [sp]	// pushhf
	push R1,R2 to [sp]	// pushhf
	call __mulf2	// call with return value
	SP = SP + 4	//SP
	R3=49152	// HFmode immediate to register move
	R4=18303
	push R3,R4 to [sp]	// pushhf
	push R1,R2 to [sp]	// pushhf
	call __divf2	// call with return value
	SP = SP + 4	//SP
	R3=[bp+52]	// QImode move
	[R3++]=R1	// [RD]=RS HFmode, RD!=RS+1
	[R3--]=R2
.debug
	.dw '.stabn 0x44,0,92,',0,0
	.dd LM36-_main
	.dw 0x0d,0x0a
.code
LM36:
	R1=BP	// QImode move
	R4=BP+4
	[bp+53]=R4	// QImode move
	R1=BP	// QImode move
	R3=BP+13
	R2=R3	// QImode move
	R1=R3+27
	R2=BP	// QImode move
	R3=BP+13
	R2=R3	// QImode move
	R4=R3+25
	R2=BP+66
	[R2]=R4	// QImode move
	R3=R1	// QImode move
	R4=R3-1	// RD=[RS] HFmode, RD==RS
	pop R3, R4 from [R4]
	R2=BP+68
	[R2++]=R3	// [RD]=RS HFmode, RD!=RS+1
	[R2--]=R4
	R1=BP+66
	R2=[R1]	// QImode move
	R1=[R2++]	// RD=[RS] HFmode, RD+1=RS
	R2=[R2]
	R3=BP+66
	[R3++]=R1	// [RD]=RS HFmode, RD!=RS+1
	[R3--]=R2
	R2=BP+66
	R1=[R2++]	// RD=[RS] HFmode, RD+1=RS
	R2=[R2]
	push R1,R2 to [sp]	// pushhf
	R2=BP+68
	R1=[R2++]	// RD=[RS] HFmode, RD+1=RS
	R2=[R2]
	push R1,R2 to [sp]	// pushhf
	call __subf2	// call with return value
	SP = SP + 4	//SP
	R3=[bp+53]	// QImode move
	[R3++]=R1	// [RD]=RS HFmode, RD!=RS+1
	[R3--]=R2
.debug
	.dw '.stabn 0x44,0,93,',0,0
	.dd LM37-_main
	.dw 0x0d,0x0a
.code
LM37:
	R1=BP	// QImode move
	R3=BP+4
	R4=R3	// QImode move
	R1=[R4++]	// RD=[RS] HFmode, RD!=RS
	R2=[R4--]
	R3=52429	// HFmode immediate to register move
	R4=15820
	push R3,R4 to [sp]	// pushhf
	push R1,R2 to [sp]	// pushhf
	call __cmpf2	// call with return value
	SP = SP + 4	//SP
	CMP R1,1	// QImode compare
	NSJNL L18	//QImode GE
	R1=BP	// QImode move
	R3=BP+4
	R4=R3	// QImode move
	R1=[R4++]	// RD=[RS] HFmode, RD!=RS
	R2=[R4--]
	R3=52429	// HFmode immediate to register move
	R4=48588
	push R3,R4 to [sp]	// pushhf
	push R1,R2 to [sp]	// pushhf
	call __cmpf2	// call with return value
	SP = SP + 4	//SP
	CMP R1,1	// QImode compare
	NSJNG L18	//QImode LE
.debug
	.dw '.stabn 0x44,0,95,',0,0
	.dd LM38-_main
	.dw 0x0d,0x0a
.code
LM38:
	R1=BP	// QImode move
	R2=BP+2
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,0	// QImode test
	NSJNZ L19	//QImode NE
.debug
	.dw '.stabn 0x44,0,97,',0,0
	.dd LM39-_main
	.dw 0x0d,0x0a
.code
LM39:
	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,98,',0,0
	.dd LM40-_main
	.dw 0x0d,0x0a
.code
LM40:
	pc=L20	// Indirect jump
L19:
.debug
	.dw '.stabn 0x44,0,99,',0,0
	.dd LM41-_main
	.dw 0x0d,0x0a
.code
LM41:
	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
L20:
.debug
	.dw '.stabn 0x44,0,100,',0,0
	.dd LM42-_main
	.dw 0x0d,0x0a
.code
LM42:
	pc=L21	// Indirect jump
L18:
.debug
	.dw '.stabn 0x44,0,103,',0,0
	.dd LM43-_main
	.dw 0x0d,0x0a
.code
LM43:
	R1=BP	// QImode move
	R2=BP+2
	R1=0	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,104,',0,0
	.dd LM44-_main
	.dw 0x0d,0x0a
.code
LM44:
	R1=BP	// QImode move
	R3=BP+13
	R2=R3	// QImode move
	R1=R3+27
	R2=BP	// QImode move
	R3=BP+13
	R2=R3	// QImode move
	R2=R3+25
	R4=BP+66
	[R4]=R2	// QImode move
	R4=BP+66
	R3=[R4]	// QImode move
	R4=R3-1	// RD=[RS] HFmode, RD==RS
	pop R3, R4 from [R4]
	[bp+54]=R3	// HFmode [BP+#IM6]=RS
	[bp+55]=R4
	R3=[bp+54]	// HFmode RD=[BP+#IM6]
	R4=[bp+55]
	R2=R1	// QImode move
	[R2++]=R3	// [RD]=RS HFmode, RD!=RS+1
	[R2--]=R4
.debug
	.dw '.stabn 0x44,0,105,',0,0
	.dd LM45-_main
	.dw 0x0d,0x0a
.code
LM45:
	R1=BP	// QImode move
	R3=BP+8
	[bp+56]=R3	// QImode move
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R3=R2+25
	R4=R3	// QImode move
	R1=[R4++]	// RD=[RS] HFmode, RD!=RS
	R2=[R4--]
	R3=16384	// HFmode immediate to register move
	R4=17948
	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 __cvf2i2	// call with return value
	SP = SP + 2	//SP
	R3=[bp+56]	// QImode move
	//split [R3], R1
	[R3++]=R1	// QImode move
	[R3--]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,106,',0,0
	.dd LM46-_main
	.dw 0x0d,0x0a
.code
LM46:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R4=R2+20
	[bp+57]=R4	// QImode move
	R1=BP	// QImode move
	R3=BP+8
	R4=R3	// QImode move
	//split R1, [R4]
	R1=[R4++]	// QImode move
	R2=[R4--]	// QImode move
	//split R3, 10000
	R3=10000	// QImode move
	R4=0	// QImode move
	push R3,R4 to [sp]	// pushhi
	push R1,R2 to [sp]	// pushhi
	call __divi2	// call with return value
	SP = SP + 4	//SP
	//split R3, 10
	R3=10	// QImode move
	R4=0	// QImode move
	push R3,R4 to [sp]	// pushhi
	push R1,R2 to [sp]	// pushhi
	call __modi2	// call with return value
	SP = SP + 4	//SP
	R3=R1	// QImode move
	R1=[bp+57]	// QImode move
	[R1]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,107,',0,0
	.dd LM47-_main
	.dw 0x0d,0x0a
.code
LM47:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R3=R2+21
	[bp+58]=R3	// QImode move
	R1=BP	// QImode move
	R3=BP+8
	R4=R3	// QImode move
	//split R1, [R4]
	R1=[R4++]	// QImode move
	R2=[R4--]	// QImode move
	//split R3, 1000
	R3=1000	// QImode move
	R4=0	// QImode move
	push R3,R4 to [sp]	// pushhi
	push R1,R2 to [sp]	// pushhi
	call __divi2	// call with return value
	SP = SP + 4	//SP
	//split R3, 10
	R3=10	// QImode move
	R4=0	// QImode move
	push R3,R4 to [sp]	// pushhi
	push R1,R2 to [sp]	// pushhi
	call __modi2	// call with return value
	SP = SP + 4	//SP
	R3=R1	// QImode move
	R1=[bp+58]	// QImode move
	[R1]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,108,',0,0
	.dd LM48-_main
	.dw 0x0d,0x0a
.code
LM48:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R3=R2+22
	[bp+59]=R3	// QImode move
	R1=BP	// QImode move
	R3=BP+8
	R4=R3	// QImode move
	//split R1, [R4]
	R1=[R4++]	// QImode move
	R2=[R4--]	// QImode move
	//split R3, 100
	R3=100	// QImode move
	R4=0	// QImode move
	push R3,R4 to [sp]	// pushhi
	push R1,R2 to [sp]	// pushhi
	call __divi2	// call with return value
	SP = SP + 4	//SP
	//split R3, 10
	R3=10	// QImode move
	R4=0	// QImode move
	push R3,R4 to [sp]	// pushhi
	push R1,R2 to [sp]	// pushhi
	call __modi2	// call with return value
	SP = SP + 4	//SP
	R3=R1	// QImode move
	R1=[bp+59]	// QImode move
	[R1]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,109,',0,0
	.dd LM49-_main
	.dw 0x0d,0x0a
.code
LM49:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R3=R2+23
	[bp+60]=R3	// QImode move
	R1=BP	// QImode move
	R3=BP+8
	R4=R3	// QImode move
	//split R1, [R4]
	R1=[R4++]	// QImode move
	R2=[R4--]	// QImode move
	//split R3, 10
	R3=10	// QImode move
	R4=0	// QImode move
	push R3,R4 to [sp]	// pushhi
	push R1,R2 to [sp]	// pushhi
	call __divi2	// call with return value
	SP = SP + 4	//SP
	//split R3, 10
	R3=10	// QImode move
	R4=0	// QImode move
	push R3,R4 to [sp]	// pushhi
	push R1,R2 to [sp]	// pushhi
	call __modi2	// call with return value
	SP = SP + 4	//SP
	R3=R1	// QImode move
	R1=[bp+60]	// QImode move
	[R1]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,110,',0,0
	.dd LM50-_main
	.dw 0x0d,0x0a
.code
LM50:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R3=R2+24
	[bp+61]=R3	// QImode move
	R1=BP	// QImode move
	R3=BP+8
	R4=R3	// QImode move
	//split R1, [R4]
	R1=[R4++]	// QImode move
	R2=[R4--]	// QImode move
	//split R3, 10
	R3=10	// QImode move
	R4=0	// QImode move
	push R3,R4 to [sp]	// pushhi
	push R1,R2 to [sp]	// pushhi
	call __modi2	// call with return value
	SP = SP + 4	//SP
	R3=R1	// QImode move
	R1=[bp+61]	// QImode move
	[R1]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,112,',0,0
	.dd LM51-_main
	.dw 0x0d,0x0a
.code
LM51:
	R1=BP	// QImode move
	R2=BP+3
	[bp+62]=R2	// QImode move
	call _LCD501_GetPaintMode	// call with return value
	R3=[bp+62]	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,113,',0,0
	.dd LM52-_main
	.dw 0x0d,0x0a
.code
LM52:
	R1=2	// QImode move
	[SP--]=R1	// QImode move
	call _LCD501_SetPaintMode	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,114,',0,0
	.dd LM53-_main
	.dw 0x0d,0x0a
.code
LM53:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	R1=56	// QImode move
	[SP--]=R1	// QImode move
	R1=127	// QImode move
	[SP--]=R1	// QImode move
	R1=40	// QImode move
	[SP--]=R1	// QImode move
	R1=68	// QImode move
	[SP--]=R1	// QImode move
	call _LCD501_Rectangle	// call without return value
	SP = SP + 5	//SP
.debug
	.dw '.stabn 0x44,0,115,',0,0
	.dd LM54-_main
	.dw 0x0d,0x0a
.code
LM54:
	R1=BP	// QImode move
	R2=BP+3
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	[SP--]=R1	// QImode move
	call _LCD501_SetPaintMode	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,117,',0,0
	.dd LM55-_main
	.dw 0x0d,0x0a
.code
LM55:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R2=R2+20
	R1=R2	// QImode move
	R3=[R1]	// QImode move
	R1=R3+48
	[SP--]=R1	// QImode move
	R1=40	// QImode move
	[SP--]=R1	// QImode move
	R1=68	// QImode move
	[SP--]=R1	// QImode move
	call _LCD501_PutChar	// call without return value
	SP = SP + 3	//SP
.debug
	.dw '.stabn 0x44,0,118,',0,0
	.dd LM56-_main
	.dw 0x0d,0x0a
.code
LM56:
	R1=46	// QImode move
	[SP--]=R1	// QImode move
	R1=40	// QImode move
	[SP--]=R1	// QImode move
	R1=76	// QImode move
	[SP--]=R1	// QImode move
	call _LCD501_PutChar	// call without return value
	SP = SP + 3	//SP
.debug
	.dw '.stabn 0x44,0,119,',0,0
	.dd LM57-_main
	.dw 0x0d,0x0a
.code

⌨️ 快捷键说明

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