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

📄 main.asm

📁 凌阳61单片机实现的多功能电子琴源程序代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
.code
LM107:
	R2=1	// QImode move
	[28690]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,191,',0,0
	.dd LM108-_delay_nus
	.dw 0x0d,0x0a
.code
LM108:
.debug
	.dw '.stabn 0x44,0,191,',0,0
	.dd LM109-_delay_nus
	.dw 0x0d,0x0a
.code
LM109:
L127:

	pop bp from [sp]
	retf
	.endp	// end of delay_nus

.debug
	.dw '.stabs "n:p1",160,0,0,3',0x0d,0x0a
.CODE
.debug
	.dw '.stabf ',0,0
	.dd LME2-_delay_nus
	.dw 0x0d,0x0a
.code
LME2:
.code
.debug
	.dw '.stabs "delay_nms:F19",36,0,0,',0,0,offset _delay_nms,seg _delay_nms,0x0d,0x0a
.CODE
.public _delay_nms
_delay_nms:	.proc
.debug
	.dw '.stabn 0x44,0,195,',0,0
	.dd LM110-_delay_nms
	.dw 0x0d,0x0a
.code
LM110:
	// 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,196,',0,0
	.dd LM111-_delay_nms
	.dw 0x0d,0x0a
.code
LM111:
LBB4:
.debug
	.dw '.stabn 0x44,0,197,',0,0
	.dd LM112-_delay_nms
	.dw 0x0d,0x0a
.code
LM112:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L133:
	R1=[BP]	// QImode move
	R2=[bp+1]	// QImode move
	CMP R1,[R2]	// QImode compare
	NSJL L136	//QImode LT
	pc=L134	// Indirect jump
L136:
.debug
	.dw '.stabn 0x44,0,198,',0,0
	.dd LM113-_delay_nms
	.dw 0x0d,0x0a
.code
LM113:
	R1=78	// QImode move
	[SP--]=R1	// QImode move
	call _delay_nus	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,197,',0,0
	.dd LM114-_delay_nms
	.dw 0x0d,0x0a
.code
LM114:
L135:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L133	// Indirect jump
L134:
.debug
	.dw '.stabn 0x44,0,200,',0,0
	.dd LM115-_delay_nms
	.dw 0x0d,0x0a
.code
LM115:
LBE4:
.debug
	.dw '.stabn 0x44,0,200,',0,0
	.dd LM116-_delay_nms
	.dw 0x0d,0x0a
.code
LM116:
L132:

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

.debug
	.dw '.stabs "n:p1",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB4-_delay_nms
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE4-_delay_nms
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME3-_delay_nms
	.dw 0x0d,0x0a
.code
LME3:
.code
.debug
	.dw '.stabs "send_cmd:F19",36,0,0,',0,0,offset _send_cmd,seg _send_cmd,0x0d,0x0a
.CODE
.public _send_cmd
_send_cmd:	.proc
.debug
	.dw '.stabn 0x44,0,204,',0,0
	.dd LM117-_send_cmd
	.dw 0x0d,0x0a
.code
LM117:
	// 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,205,',0,0
	.dd LM118-_send_cmd
	.dw 0x0d,0x0a
.code
LM118:
LBB5:
.debug
	.dw '.stabn 0x44,0,207,',0,0
	.dd LM119-_send_cmd
	.dw 0x0d,0x0a
.code
LM119:
	R1=[28677]	// QImode move
	R2=R1&(-5)
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,208,',0,0
	.dd LM120-_send_cmd
	.dw 0x0d,0x0a
.code
LM120:
	R1=[28677]	// QImode move
	R2=R1|8
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,209,',0,0
	.dd LM121-_send_cmd
	.dw 0x0d,0x0a
.code
LM121:
	R1=[28677]	// QImode move
	R2=R1&(-2)
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,210,',0,0
	.dd LM122-_send_cmd
	.dw 0x0d,0x0a
.code
LM122:
	R1=5	// QImode move
	[SP--]=R1	// QImode move
	call _delay_nus	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,211,',0,0
	.dd LM123-_send_cmd
	.dw 0x0d,0x0a
.code
LM123:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L139:
	R1=[BP]	// QImode move
	CMP R1,7	// QImode compare
	NSJNA L142	//QImode LEU
	pc=L140	// Indirect jump
L142:
.debug
	.dw '.stabn 0x44,0,213,',0,0
	.dd LM124-_send_cmd
	.dw 0x0d,0x0a
.code
LM124:
	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,214,',0,0
	.dd LM125-_send_cmd
	.dw 0x0d,0x0a
.code
LM125:
	R1=BP	// QImode move
	R2=BP+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,0	// QImode test
	NSJZ L143	//QImode EQ
.debug
	.dw '.stabn 0x44,0,215,',0,0
	.dd LM126-_send_cmd
	.dw 0x0d,0x0a
.code
LM126:
	R1=[28677]	// QImode move
	R2=R1|16
	[28677]=R2	// QImode move
	pc=L144	// Indirect jump
L143:
.debug
	.dw '.stabn 0x44,0,217,',0,0
	.dd LM127-_send_cmd
	.dw 0x0d,0x0a
.code
LM127:
	R1=[28677]	// QImode move
	R2=R1&(-17)
	[28677]=R2	// QImode move
L144:
.debug
	.dw '.stabn 0x44,0,218,',0,0
	.dd LM128-_send_cmd
	.dw 0x0d,0x0a
.code
LM128:
	R1=[28677]	// QImode move
	R2=R1&(-9)
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,219,',0,0
	.dd LM129-_send_cmd
	.dw 0x0d,0x0a
.code
LM129:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,220,',0,0
	.dd LM130-_send_cmd
	.dw 0x0d,0x0a
.code
LM130:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,221,',0,0
	.dd LM131-_send_cmd
	.dw 0x0d,0x0a
.code
LM131:
	R1=[28677]	// QImode move
	R2=R1|8
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,222,',0,0
	.dd LM132-_send_cmd
	.dw 0x0d,0x0a
.code
LM132:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,223,',0,0
	.dd LM133-_send_cmd
	.dw 0x0d,0x0a
.code
LM133:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,224,',0,0
	.dd LM134-_send_cmd
	.dw 0x0d,0x0a
.code
LM134:
	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,211,',0,0
	.dd LM135-_send_cmd
	.dw 0x0d,0x0a
.code
LM135:
L141:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L139	// Indirect jump
L140:
.debug
	.dw '.stabn 0x44,0,226,',0,0
	.dd LM136-_send_cmd
	.dw 0x0d,0x0a
.code
LM136:
	R1=[28677]	// QImode move
	R2=R1|1
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,227,',0,0
	.dd LM137-_send_cmd
	.dw 0x0d,0x0a
.code
LM137:
	R1=5	// QImode move
	[SP--]=R1	// QImode move
	call _delay_nus	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,228,',0,0
	.dd LM138-_send_cmd
	.dw 0x0d,0x0a
.code
LM138:
LBE5:
.debug
	.dw '.stabn 0x44,0,228,',0,0
	.dd LM139-_send_cmd
	.dw 0x0d,0x0a
.code
LM139:
L138:

	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 LBB5-_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 LBE5-_send_cmd
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME4-_send_cmd
	.dw 0x0d,0x0a
.code
LME4:
.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,232,',0,0
	.dd LM140-_send_dat
	.dw 0x0d,0x0a
.code
LM140:
	// 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,233,',0,0
	.dd LM141-_send_dat
	.dw 0x0d,0x0a
.code
LM141:
LBB6:
.debug
	.dw '.stabn 0x44,0,235,',0,0
	.dd LM142-_send_dat
	.dw 0x0d,0x0a
.code
LM142:
	R1=[28677]	// QImode move
	R2=R1|4
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,236,',0,0
	.dd LM143-_send_dat
	.dw 0x0d,0x0a
.code
LM143:
	R1=[28677]	// QImode move
	R2=R1|8
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,237,',0,0
	.dd LM144-_send_dat
	.dw 0x0d,0x0a
.code
LM144:
	R1=[28677]	// QImode move
	R2=R1&(-2)
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,238,',0,0
	.dd LM145-_send_dat
	.dw 0x0d,0x0a
.code
LM145:
	R1=5	// QImode move
	[SP--]=R1	// QImode move
	call _delay_nus	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,239,',0,0
	.dd LM146-_send_dat
	.dw 0x0d,0x0a
.code
LM146:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L148:
	R1=[BP]	// QImode move
	CMP R1,7	// QImode compare
	NSJNA L151	//QImode LEU
	pc=L149	// Indirect jump
L151:
.debug
	.dw '.stabn 0x44,0,241,',0,0
	.dd LM147-_send_dat
	.dw 0x0d,0x0a
.code
LM147:
	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,242,',0,0
	.dd LM148-_send_dat
	.dw 0x0d,0x0a
.code
LM148:
	R1=BP	// QImode move
	R2=BP+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,0	// QImode test
	NSJZ L152	//QImode EQ
	R1=[28677]	// QImode move
	R2=R1|16
	[28677]=R2	// QImode move
	pc=L153	// Indirect jump
L152:
.debug
	.dw '.stabn 0x44,0,243,',0,0
	.dd LM149-_send_dat
	.dw 0x0d,0x0a
.code
LM149:
	R1=[28677]	// QImode move
	R2=R1&(-17)
	[28677]=R2	// QImode move
L153:
.debug
	.dw '.stabn 0x44,0,244,',0,0
	.dd LM150-_send_dat
	.dw 0x0d,0x0a
.code
LM150:
	R1=[28677]	// QImode move
	R2=R1&(-9)
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,245,',0,0
	.dd LM151-_send_dat
	.dw 0x0d,0x0a
.code
LM151:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,246,',0,0
	.dd LM152-_send_dat
	.dw 0x0d,0x0a
.code
LM152:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,247,',0,0
	.dd LM153-_send_dat
	.dw 0x0d,0x0a
.code
LM153:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,248,',0,0
	.dd LM154-_send_dat
	.dw 0x0d,0x0a
.code
LM154:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,249,',0,0
	.dd LM155-_send_dat
	.dw 0x0d,0x0a
.code
LM155:
	R1=[28677]	// QImode move
	R2=R1|8
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,250,',0,0
	.dd LM156-_send_dat
	.dw 0x0d,0x0a
.code
LM156:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,251,',0,0
	.dd LM157-_send_dat
	.dw 0x0d,0x0a
.code
LM157:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,252,',0,0
	.dd LM158-_send_dat
	.dw 0x0d,0x0a
.code
LM158:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,253,',0,0
	.dd LM159-_send_dat
	.dw 0x0d,0x0a
.code
LM159:
// GCC inline ASM start
	NOP
// GCC inline ASM end
.debug
	.dw '.stabn 0x44,0,254,',0,0
	.dd LM160-_send_dat
	.dw 0x0d,0x0a
.code
LM160:
	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,239,',0,0
	.dd LM161-_send_dat
	.dw 0x0d,0x0a
.code
LM161:
L150:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L148	// Indirect jump
L149:
.debug
	.dw '.stabn 0x44,0,256,',0,0
	.dd LM162-_send_dat
	.dw 0x0d,0x0a
.code
LM162:
	R1=[28677]	// QImode move
	R2=R1|1
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,257,',0,0
	.dd LM163-_send_dat
	.dw 0x0d,0x0a
.code
LM163:
	R1=5	// QImode move
	[SP--]=R1	// QImode move
	call _delay_nus	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,258,',0,0
	.dd LM164-_send_dat
	.dw 0x0d,0x0a
.code
LM164:
LBE6:
.debug
	.dw '.stabn 0x44,0,258,',0,0
	.dd LM165-_send_dat
	.dw 0x0d,0x0a
.code
LM165:
L147:

	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 LBB6-_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 LBE6-_send_dat
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME5-_send_dat
	.dw 0x0d,0x0a
.code
LME5:
.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,261,',0,0
	.dd LM166-_set_page_address
	.dw 0x0d,0x0a
.code
LM166:
	// 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,262,',0,0
	.dd LM167-_set_page_address
	.dw 0x0d,0x0a
.code
LM167:
	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,263,',0,0
	.dd LM168-_set_page_address
	.dw 0x0d,0x0a
.code
LM168:
.debug
	.dw '.stabn 0x44,0,263,',0,0
	.dd LM169-_set_page_address
	.dw 0x0d,0x0a
.code
LM169:
L156:

	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 LME6-_set_page_address
	.dw 0x0d,0x0a
.code
LME6:
.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,267,',0,0
	.dd LM170-_set_colume_address
	.dw 0x0d,0x0a
.code
LM170:
	// 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,268,',0,0
	.dd LM171-_set_colume_address
	.dw 0x0d,0x0a
.code
LM171:
LBB7:
.debug
	.dw '.stabn 0x44,0,269,',0,0
	.dd LM172-_set_colume_address
	.dw 0x0d,0x0a
.code
LM172:
	R2=[bp+1]	// QImode move
	R1=[R2]	// QImode move
	R2=R1 lsr 4
	[BP]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,270,',0,0
	.dd LM173-_set_colume_address
	.dw 0x0d,0x0a
.code
LM173:
	R1=[BP]	// QImode move
	R1=R1&255
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,271,',0,0
	.dd LM174-_set_colume_address
	.dw 0x0d,0x0a
.code
LM174:

⌨️ 快捷键说明

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