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

📄 main.asm

📁 单片机开发的数字电压表,带保护提示功能,精确度比较高
💻 ASM
📖 第 1 页 / 共 3 页
字号:
LM57:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R2=R2+20
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	call _PlayS480	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,120,',0,0
	.dd LM58-_main
	.dw 0x0d,0x0a
.code
LM58:
	R1=10	// QImode move
	[SP--]=R1	// QImode move
	call _PlayS480	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,121,',0,0
	.dd LM59-_main
	.dw 0x0d,0x0a
.code
LM59:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R2=R2+21
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R1=R3+48
	[SP--]=R1	// QImode move
	R1=40	// QImode move
	[SP--]=R1	// QImode move
	R1=78	// QImode move
	[SP--]=R1	// QImode move
	call _LCD501_PutChar	// call without return value
	SP = SP + 3	//SP
.debug
	.dw '.stabn 0x44,0,122,',0,0
	.dd LM60-_main
	.dw 0x0d,0x0a
.code
LM60:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R2=R2+21
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	call _PlayS480	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,123,',0,0
	.dd LM61-_main
	.dw 0x0d,0x0a
.code
LM61:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R2=R2+22
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R1=R3+48
	[SP--]=R1	// QImode move
	R1=40	// QImode move
	[SP--]=R1	// QImode move
	R1=88	// QImode move
	[SP--]=R1	// QImode move
	call _LCD501_PutChar	// call without return value
	SP = SP + 3	//SP
.debug
	.dw '.stabn 0x44,0,124,',0,0
	.dd LM62-_main
	.dw 0x0d,0x0a
.code
LM62:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R2=R2+22
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	call _PlayS480	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,125,',0,0
	.dd LM63-_main
	.dw 0x0d,0x0a
.code
LM63:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R2=R2+23
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R1=R3+48
	[SP--]=R1	// QImode move
	R1=40	// QImode move
	[SP--]=R1	// QImode move
	R1=98	// QImode move
	[SP--]=R1	// QImode move
	call _LCD501_PutChar	// call without return value
	SP = SP + 3	//SP
.debug
	.dw '.stabn 0x44,0,126,',0,0
	.dd LM64-_main
	.dw 0x0d,0x0a
.code
LM64:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R2=R2+23
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	call _PlayS480	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,127,',0,0
	.dd LM65-_main
	.dw 0x0d,0x0a
.code
LM65:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R2=R2+24
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R1=R3+48
	[SP--]=R1	// QImode move
	R1=40	// QImode move
	[SP--]=R1	// QImode move
	R1=108	// QImode move
	[SP--]=R1	// QImode move
	call _LCD501_PutChar	// call without return value
	SP = SP + 3	//SP
.debug
	.dw '.stabn 0x44,0,128,',0,0
	.dd LM66-_main
	.dw 0x0d,0x0a
.code
LM66:
	R1=BP	// QImode move
	R2=BP+13
	R1=R2	// QImode move
	R2=R2+24
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	call _PlayS480	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,129,',0,0
	.dd LM67-_main
	.dw 0x0d,0x0a
.code
LM67:
	R1=86	// QImode move
	[SP--]=R1	// QImode move
	R1=40	// QImode move
	[SP--]=R1	// QImode move
	R1=116	// QImode move
	[SP--]=R1	// QImode move
	call _LCD501_PutChar	// call without return value
	SP = SP + 3	//SP
L21:
.debug
	.dw '.stabn 0x44,0,131,',0,0
	.dd LM68-_main
	.dw 0x0d,0x0a
.code
LM68:
	pc=L3	// Indirect jump
L4:
.debug
	.dw '.stabn 0x44,0,132,',0,0
	.dd LM69-_main
	.dw 0x0d,0x0a
.code
LM69:
LBE2:
.debug
	.dw '.stabn 0x44,0,132,',0,0
	.dd LM70-_main
	.dw 0x0d,0x0a
.code
LM70:
L2:

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

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB2-_main
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "j:1",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "k:1",128,0,0,2',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "m:1",128,0,0,3',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "fVolVal:12",128,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "uiVolFlag:1",128,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "uiVolFlagOne:1",128,0,0,7',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "uiVolFlagHow:3",128,0,0,8',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "uiData:4",128,0,0,10',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "liDataVol:3",128,0,0,11',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "VolValude:20",128,0,0,13',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE2-_main
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME1-_main
	.dw 0x0d,0x0a
.code
LME1:
.code
.debug
	.dw '.stabs "AD_Read:F4",36,0,0,',0,0,offset _AD_Read,seg _AD_Read,0x0d,0x0a
.CODE
.public _AD_Read
_AD_Read:	.proc
.debug
	.dw '.stabn 0x44,0,140,',0,0
	.dd LM71-_AD_Read
	.dw 0x0d,0x0a
.code
LM71:
	// total=1, vars=1
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=1
	bp=sp+1

	R2=BP+4
.debug
	.dw '.stabn 0x44,0,141,',0,0
	.dd LM72-_AD_Read
	.dw 0x0d,0x0a
.code
LM72:
LBB3:
.debug
	.dw '.stabn 0x44,0,142,',0,0
	.dd LM73-_AD_Read
	.dw 0x0d,0x0a
.code
LM73:
L30:
	R3=[28715]	// QImode move
	R1=R3&(-32768)
	CMP R1,0	// QImode test
	NSJZ L32	//QImode EQ
	pc=L31	// Indirect jump
L32:
	pc=L30	// Indirect jump
L31:
.debug
	.dw '.stabn 0x44,0,143,',0,0
	.dd LM74-_AD_Read
	.dw 0x0d,0x0a
.code
LM74:
	R1=[28716]	// QImode move
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,144,',0,0
	.dd LM75-_AD_Read
	.dw 0x0d,0x0a
.code
LM75:
	R1=[BP]	// QImode move
	R1=R1&(-64)
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,145,',0,0
	.dd LM76-_AD_Read
	.dw 0x0d,0x0a
.code
LM76:
	R3=[BP]	// QImode move
	R1=R3	// QImode move
	pc=L29	// Indirect jump
.debug
	.dw '.stabn 0x44,0,146,',0,0
	.dd LM77-_AD_Read
	.dw 0x0d,0x0a
.code
LM77:
LBE3:
.debug
	.dw '.stabn 0x44,0,146,',0,0
	.dd LM78-_AD_Read
	.dw 0x0d,0x0a
.code
LM78:
L29:

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

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB3-_AD_Read
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "bData:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE3-_AD_Read
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME2-_AD_Read
	.dw 0x0d,0x0a
.code
LME2:
.code
.debug
	.dw '.stabs "PlayS480:F19",36,0,0,',0,0,offset _PlayS480,seg _PlayS480,0x0d,0x0a
.CODE
.public _PlayS480
_PlayS480:	.proc
.debug
	.dw '.stabn 0x44,0,154,',0,0
	.dd LM79-_PlayS480
	.dw 0x0d,0x0a
.code
LM79:
	// 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,155,',0,0
	.dd LM80-_PlayS480
	.dw 0x0d,0x0a
.code
LM80:
LBB4:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _SACM_S480_Initial	// call with return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,156,',0,0
	.dd LM81-_PlayS480
	.dw 0x0d,0x0a
.code
LM81:
	call _SACM_S480_InitQueue	// call with return value
.debug
	.dw '.stabn 0x44,0,157,',0,0
	.dd LM82-_PlayS480
	.dw 0x0d,0x0a
.code
LM82:
	R1=3	// QImode move
	[SP--]=R1	// QImode move
	R1=3	// QImode move
	[SP--]=R1	// QImode move
	R2=[BP]	// QImode move
	R1=[R2]	// QImode move
	[SP--]=R1	// QImode move
	call _SACM_S480_Play	// call with return value
	SP = SP + 3	//SP
.debug
	.dw '.stabn 0x44,0,158,',0,0
	.dd LM83-_PlayS480
	.dw 0x0d,0x0a
.code
LM83:
L35:
	call _SACM_S480_Status	// call with return value
	R2=R1&1
	CMP R2,0	// QImode test
	NSJNZ L37	//QImode NE
	pc=L36	// Indirect jump
L37:
.debug
	.dw '.stabn 0x44,0,160,',0,0
	.dd LM84-_PlayS480
	.dw 0x0d,0x0a
.code
LM84:
LBB5:
	call _SACM_S480_ServiceLoop	// call with return value
.debug
	.dw '.stabn 0x44,0,161,',0,0
	.dd LM85-_PlayS480
	.dw 0x0d,0x0a
.code
LM85:
	R1=1	// QImode move
	[28690]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,162,',0,0
	.dd LM86-_PlayS480
	.dw 0x0d,0x0a
.code
LM86:
LBE5:
	pc=L35	// Indirect jump
L36:
.debug
	.dw '.stabn 0x44,0,163,',0,0
	.dd LM87-_PlayS480
	.dw 0x0d,0x0a
.code
LM87:
	call _SACM_S480_Stop	// call with return value
.debug
	.dw '.stabn 0x44,0,164,',0,0
	.dd LM88-_PlayS480
	.dw 0x0d,0x0a
.code
LM88:
// GCC inline ASM start
	FIQ OFF
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,165,',0,0
	.dd LM89-_PlayS480
	.dw 0x0d,0x0a
.code
LM89:
LBE4:
.debug
	.dw '.stabn 0x44,0,165,',0,0
	.dd LM90-_PlayS480
	.dw 0x0d,0x0a
.code
LM90:
L34:

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

.debug
	.dw '.stabs "Result:p1",160,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB4-_PlayS480
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB5-_PlayS480
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE5-_PlayS480
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE4-_PlayS480
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME3-_PlayS480
	.dw 0x0d,0x0a
.code
LME3:
.external _SACM_S480_Stop
.external _SACM_S480_ServiceLoop
.external _SACM_S480_Status
.external _SACM_S480_Play
.external _SACM_S480_InitQueue
.external _SACM_S480_Initial
.external _LCD501_PutChar
.external _LCD501_Rectangle
.external _LCD501_GetPaintMode
.external _encoding_00
.external _LCD501_Bitmap
.external _LCD501_ClrScreen
.external _LCD501_SetPaintMode
.external _LCD501_Init
.external __modi2
.external __divi2
.external __cvf2i2
.external __mulf2
.external __cmpf2
.external __subf2
.external __divf2
.external __cvi2f2
	.end

⌨️ 快捷键说明

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