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

📄 display.asm

📁 凌阳61单片机实现的多功能电子琴源程序代码
💻 ASM
📖 第 1 页 / 共 3 页
字号:
.code
LM22:
	R1=[28677]	// QImode move
	R2=R1|16
	[28677]=R2	// QImode move
	pc=L19	// Indirect jump
L18:
.debug
	.dw '.stabn 0x44,0,73,',0,0
	.dd LM23-_send_cmd
	.dw 0x0d,0x0a
.code
LM23:
	R1=[28677]	// QImode move
	R2=R1&(-17)
	[28677]=R2	// QImode move
L19:
.debug
	.dw '.stabn 0x44,0,74,',0,0
	.dd LM24-_send_cmd
	.dw 0x0d,0x0a
.code
LM24:
	R1=[28677]	// QImode move
	R2=R1&(-9)
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,75,',0,0
	.dd LM25-_send_cmd
	.dw 0x0d,0x0a
.code
LM25:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,76,',0,0
	.dd LM26-_send_cmd
	.dw 0x0d,0x0a
.code
LM26:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,77,',0,0
	.dd LM27-_send_cmd
	.dw 0x0d,0x0a
.code
LM27:
	R1=[28677]	// QImode move
	R2=R1|8
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,78,',0,0
	.dd LM28-_send_cmd
	.dw 0x0d,0x0a
.code
LM28:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,79,',0,0
	.dd LM29-_send_cmd
	.dw 0x0d,0x0a
.code
LM29:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,80,',0,0
	.dd LM30-_send_cmd
	.dw 0x0d,0x0a
.code
LM30:
	R2=[bp+2]	// QImode move
	R1=[R2]	// QImode move
	R2=R1 lsl 1
	R3=[bp+2]	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,67,',0,0
	.dd LM31-_send_cmd
	.dw 0x0d,0x0a
.code
LM31:
L16:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L14	// Indirect jump
L15:
.debug
	.dw '.stabn 0x44,0,82,',0,0
	.dd LM32-_send_cmd
	.dw 0x0d,0x0a
.code
LM32:
	R1=[28677]	// QImode move
	R2=R1|1
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,83,',0,0
	.dd LM33-_send_cmd
	.dw 0x0d,0x0a
.code
LM33:
	R1=5	// QImode move
	[SP--]=R1	// QImode move
	call _delay_nus	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,84,',0,0
	.dd LM34-_send_cmd
	.dw 0x0d,0x0a
.code
LM34:
LBE3:
.debug
	.dw '.stabn 0x44,0,84,',0,0
	.dd LM35-_send_cmd
	.dw 0x0d,0x0a
.code
LM35:
L13:

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

.debug
	.dw '.stabs "cmd:p11",160,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB3-_send_cmd
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:11",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "tmp:11",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE3-_send_cmd
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME3-_send_cmd
	.dw 0x0d,0x0a
.code
LME3:
.code
.debug
	.dw '.stabs "send_dat:F19",36,0,0,',0,0,offset _send_dat,seg _send_dat,0x0d,0x0a
.CODE
.public _send_dat
_send_dat:	.proc
.debug
	.dw '.stabn 0x44,0,88,',0,0
	.dd LM36-_send_dat
	.dw 0x0d,0x0a
.code
LM36:
	// total=3, vars=3
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=3
	bp=sp+1

	R1=BP+6
	[bp+2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,89,',0,0
	.dd LM37-_send_dat
	.dw 0x0d,0x0a
.code
LM37:
LBB4:
.debug
	.dw '.stabn 0x44,0,91,',0,0
	.dd LM38-_send_dat
	.dw 0x0d,0x0a
.code
LM38:
	R1=[28677]	// QImode move
	R2=R1|4
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,92,',0,0
	.dd LM39-_send_dat
	.dw 0x0d,0x0a
.code
LM39:
	R1=[28677]	// QImode move
	R2=R1|8
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,93,',0,0
	.dd LM40-_send_dat
	.dw 0x0d,0x0a
.code
LM40:
	R1=[28677]	// QImode move
	R2=R1&(-2)
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,94,',0,0
	.dd LM41-_send_dat
	.dw 0x0d,0x0a
.code
LM41:
	R1=5	// QImode move
	[SP--]=R1	// QImode move
	call _delay_nus	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,95,',0,0
	.dd LM42-_send_dat
	.dw 0x0d,0x0a
.code
LM42:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L23:
	R1=[BP]	// QImode move
	CMP R1,7	// QImode compare
	NSJNA L26	//QImode LEU
	pc=L24	// Indirect jump
L26:
.debug
	.dw '.stabn 0x44,0,97,',0,0
	.dd LM43-_send_dat
	.dw 0x0d,0x0a
.code
LM43:
	R1=BP	// QImode move
	R2=BP+1
	R3=[bp+2]	// QImode move
	R3=[R3]	// QImode move
	R1=R3&128
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,98,',0,0
	.dd LM44-_send_dat
	.dw 0x0d,0x0a
.code
LM44:
	R1=BP	// QImode move
	R2=BP+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,0	// QImode test
	NSJZ L27	//QImode EQ
	R1=[28677]	// QImode move
	R2=R1|16
	[28677]=R2	// QImode move
	pc=L28	// Indirect jump
L27:
.debug
	.dw '.stabn 0x44,0,99,',0,0
	.dd LM45-_send_dat
	.dw 0x0d,0x0a
.code
LM45:
	R1=[28677]	// QImode move
	R2=R1&(-17)
	[28677]=R2	// QImode move
L28:
.debug
	.dw '.stabn 0x44,0,100,',0,0
	.dd LM46-_send_dat
	.dw 0x0d,0x0a
.code
LM46:
	R1=[28677]	// QImode move
	R2=R1&(-9)
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,101,',0,0
	.dd LM47-_send_dat
	.dw 0x0d,0x0a
.code
LM47:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,102,',0,0
	.dd LM48-_send_dat
	.dw 0x0d,0x0a
.code
LM48:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,103,',0,0
	.dd LM49-_send_dat
	.dw 0x0d,0x0a
.code
LM49:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,104,',0,0
	.dd LM50-_send_dat
	.dw 0x0d,0x0a
.code
LM50:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,105,',0,0
	.dd LM51-_send_dat
	.dw 0x0d,0x0a
.code
LM51:
	R1=[28677]	// QImode move
	R2=R1|8
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,106,',0,0
	.dd LM52-_send_dat
	.dw 0x0d,0x0a
.code
LM52:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,107,',0,0
	.dd LM53-_send_dat
	.dw 0x0d,0x0a
.code
LM53:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,108,',0,0
	.dd LM54-_send_dat
	.dw 0x0d,0x0a
.code
LM54:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,109,',0,0
	.dd LM55-_send_dat
	.dw 0x0d,0x0a
.code
LM55:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,110,',0,0
	.dd LM56-_send_dat
	.dw 0x0d,0x0a
.code
LM56:
	R2=[bp+2]	// QImode move
	R1=[R2]	// QImode move
	R2=R1 lsl 1
	R3=[bp+2]	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,95,',0,0
	.dd LM57-_send_dat
	.dw 0x0d,0x0a
.code
LM57:
L25:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L23	// Indirect jump
L24:
.debug
	.dw '.stabn 0x44,0,112,',0,0
	.dd LM58-_send_dat
	.dw 0x0d,0x0a
.code
LM58:
	R1=[28677]	// QImode move
	R2=R1|1
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,113,',0,0
	.dd LM59-_send_dat
	.dw 0x0d,0x0a
.code
LM59:
	R1=5	// QImode move
	[SP--]=R1	// QImode move
	call _delay_nus	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,114,',0,0
	.dd LM60-_send_dat
	.dw 0x0d,0x0a
.code
LM60:
LBE4:
.debug
	.dw '.stabn 0x44,0,114,',0,0
	.dd LM61-_send_dat
	.dw 0x0d,0x0a
.code
LM61:
L22:

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

.debug
	.dw '.stabs "dat:p11",160,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB4-_send_dat
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:11",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "tmp:11",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE4-_send_dat
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME4-_send_dat
	.dw 0x0d,0x0a
.code
LME4:
.code
.debug
	.dw '.stabs "set_page_address:F19",36,0,0,',0,0,offset _set_page_address,seg _set_page_address,0x0d,0x0a
.CODE
.public _set_page_address
_set_page_address:	.proc
.debug
	.dw '.stabn 0x44,0,117,',0,0
	.dd LM62-_set_page_address
	.dw 0x0d,0x0a
.code
LM62:
	// 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,118,',0,0
	.dd LM63-_set_page_address
	.dw 0x0d,0x0a
.code
LM63:
	R2=[BP]	// QImode move
	R2=[R2]	// QImode move
	R1=R2|176
	[SP--]=R1	// QImode move
	call _send_cmd	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,119,',0,0
	.dd LM64-_set_page_address
	.dw 0x0d,0x0a
.code
LM64:
.debug
	.dw '.stabn 0x44,0,119,',0,0
	.dd LM65-_set_page_address
	.dw 0x0d,0x0a
.code
LM65:
L31:

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

.debug
	.dw '.stabs "dat:p11",160,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabf ',0,0
	.dd LME5-_set_page_address
	.dw 0x0d,0x0a
.code
LME5:
.code
.debug
	.dw '.stabs "set_colume_address:F19",36,0,0,',0,0,offset _set_colume_address,seg _set_colume_address,0x0d,0x0a
.CODE
.public _set_colume_address
_set_colume_address:	.proc
.debug
	.dw '.stabn 0x44,0,123,',0,0
	.dd LM66-_set_colume_address
	.dw 0x0d,0x0a
.code
LM66:
	// total=2, vars=2
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=2
	bp=sp+1

	R1=BP+5
	[bp+1]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,124,',0,0
	.dd LM67-_set_colume_address
	.dw 0x0d,0x0a
.code
LM67:
LBB5:
.debug
	.dw '.stabn 0x44,0,125,',0,0
	.dd LM68-_set_colume_address
	.dw 0x0d,0x0a
.code
LM68:
	R2=[bp+1]	// QImode move
	R1=[R2]	// QImode move
	R2=R1 lsr 4
	[BP]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,126,',0,0
	.dd LM69-_set_colume_address
	.dw 0x0d,0x0a
.code
LM69:
	R1=[BP]	// QImode move
	R1=R1&255
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,127,',0,0
	.dd LM70-_set_colume_address
	.dw 0x0d,0x0a
.code
LM70:
	R2=[BP]	// QImode move
	R1=R2|16
	[SP--]=R1	// QImode move
	call _send_cmd	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,128,',0,0
	.dd LM71-_set_colume_address
	.dw 0x0d,0x0a
.code
LM71:
	R1=[bp+1]	// QImode move
	R1=[R1]	// QImode move
	R1=R1&15
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,129,',0,0
	.dd LM72-_set_colume_address
	.dw 0x0d,0x0a
.code
LM72:
	R1=[BP]	// QImode move
	[SP--]=R1	// QImode move
	call _send_cmd	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,130,',0,0
	.dd LM73-_set_colume_address
	.dw 0x0d,0x0a
.code
LM73:
LBE5:
.debug
	.dw '.stabn 0x44,0,130,',0,0
	.dd LM74-_set_colume_address
	.dw 0x0d,0x0a
.code
LM74:
L32:

	sp+=2
	pop bp from [sp]
	retf
	.endp	// end of set_colume_address

.debug
	.dw '.stabs "dat:p11",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB5-_set_colume_address
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "tmp:11",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE5-_set_colume_address
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME6-_set_colume_address
	.dw 0x0d,0x0a
.code
LME6:
.code
.debug
	.dw '.stabs "Clear_S:F19",36,0,0,',0,0,offset _Clear_S,seg _Clear_S,0x0d,0x0a
.CODE
.public _Clear_S
_Clear_S:	.proc
.debug
	.dw '.stabn 0x44,0,133,',0,0
	.dd LM75-_Clear_S
	.dw 0x0d,0x0a
.code
LM75:
	// total=3, vars=3
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=3
	bp=sp+1

	R1=BP+6
	[bp+2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,134,',0,0
	.dd LM76-_Clear_S
	.dw 0x0d,0x0a
.code
LM76:
LBB6:
.debug
	.dw '.stabn 0x44,0,135,',0,0
	.dd LM77-_Clear_S
	.dw 0x0d,0x0a
.code
LM77:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L34:
	R1=[BP]	// QImode move
	CMP R1,7	// QImode compare
	NSJNA L37	//QImode LEU
	pc=L35	// Indirect jump
L37:
.debug
	.dw '.stabn 0x44,0,137,',0,0
	.dd LM78-_Clear_S
	.dw 0x0d,0x0a
.code
LM78:
	R1=[BP]	// QImode move
	[SP--]=R1	// QImode move
	call _set_page_address	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,138,',0,0
	.dd LM79-_Clear_S
	.dw 0x0d,0x0a
.code
LM79:
	R1=0	// QImode move
	[SP--]=R1	// QImode move
	call _set_colume_address	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,139,',0,0
	.dd LM80-_Clear_S
	.dw 0x0d,0x0a
.code
LM80:
	R1=BP	// QImode move
	R2=BP+1
	R1=0	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
L38:
	R1=BP	// QImode move
	R2=BP+1
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	CMP R1,131	// QImode compare
	NSJNA L41	//QImode LEU
	pc=L36	// Indirect jump
L41:
.debug
	.dw '.stabn 0x44,0,141,',0,0
	.dd LM81-_Clear_S
	.dw 0x0d,0x0a
.code
LM81:
	R1=0	// QImode move
	[SP--]=R1	// QImode move
	call _send_dat	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,139,',0,0
	.dd LM82-_Clear_S
	.dw 0x0d,0x0a
.code
LM82:
L40:
	R1=BP	// QImode move
	R2=BP+1
	R3=BP	// QImode move
	R1=BP+1
	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
	pc=L38	// Indirect jump
L39:
.debug
	.dw '.stabn 0x44,0,135,',0,0
	.dd LM83-_Clear_S
	.dw 0x0d,0x0a
.code
LM83:
L36:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L34	// Indirect jump
L35:
.debug
	.dw '.stabn 0x44,0,144,',0,0
	.dd LM84-_Clear_S
	.dw 0x0d,0x0a
.code
LM84:
LBE6:
.debug
	.dw '.stabn 0x44,0,144,',0,0
	.dd LM85-_Clear_S
	.dw 0x0d,0x0a
.code
LM85:
L33:

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

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB6-_Clear_S
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:11",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "j:11",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE6-_Clear_S
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME7-_Clear_S
	.dw 0x0d,0x0a
.code
LME7:
.code
.debug
	.dw '.stabs "display_cha:F19",36,0,0,',0,0,offset _display_cha,seg _display_cha,0x0d,0x0a
.CODE
.public _display_cha
_display_cha:	.proc
.debug
	.dw '.stabn 0x44,0,149,',0,0
	.dd LM86-_display_cha
	.dw 0x0d,0x0a
.code
LM86:
	// total=2, vars=2
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=2
	bp=sp+1

	R1=BP+5
	[bp+1]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,150,',0,0
	.dd LM87-_display_cha
	.dw 0x0d,0x0a
.code
LM87:
LBB7:
.debug
	.dw '.stabn 0x44,0,151,',0,0
	.dd LM88-_display_cha
	.dw 0x0d,0x0a
.code
LM88:
	R1=[bp+1]	// QImode move
	R3=[bp+1]	// QImode move
	R2=R3+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	call _set_page_address	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,152,',0,0
	.dd LM89-_display_cha
	.dw 0x0d,0x0a
.code
LM89:
	R1=[bp+1]	// QImode move
	R1=[bp+1]	// QImode move
	R2=R1+2
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	call _set_colume_address	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,153,',0,0
	.dd LM90-_display_cha
	.dw 0x0d,0x0a
.code
LM90:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L45:
	R1=[BP]	// QImode move
	CMP R1,15	// QImode compare
	NSJNG L48	//QImode LE
	pc=L46	// Indirect jump
L48:
.debug
	.dw '.stabn 0x44,0,155,',0,0
	.dd LM91-_display_cha
	.dw 0x0d,0x0a
.code
LM91:
	R1=[bp+1]	// QImode move
	R2=[R1]	// QImode move
	R1=R2	// QImode move
	R1 = R1 + [BP]	//addqi3
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	[SP--]=R2	// QImode move
	call _send_dat	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,153,',0,0
	.dd LM92-_display_cha
	.dw 0x0d,0x0a
.code
LM92:
L47:

⌨️ 快捷键说明

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