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

📄 isd4004_v08.asm

📁 使用SPCE061A单片机控制ISD4004_16M语音芯片放音
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	.dw '.stabn 0x44,0,107,',0,0
	.dd LM54-_stop
	.dw 0x0d,0x0a
.code
LM54:
	R1=BP	// QImode move
	R2=BP+2
	R1=[28677]	// QImode move
	R3=R2	// QImode move
	R2=[R3]	// QImode move
	[28677]=R1|R2
.debug
	.dw '.stabn 0x44,0,108,',0,0
	.dd LM55-_stop
	.dw 0x0d,0x0a
.code
LM55:
	R1=[28677]	// QImode move
	R2=1	// QImode move
	[28677]=R1|R2
.debug
	.dw '.stabn 0x44,0,109,',0,0
	.dd LM56-_stop
	.dw 0x0d,0x0a
.code
LM56:
	R2=BP	// QImode move
	R1=BP+1
	R2=BP	// QImode move
	R3=BP+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R2 asr 1
	R2=R1	// QImode move
	[R2]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,101,',0,0
	.dd LM57-_stop
	.dw 0x0d,0x0a
.code
LM57:
L23:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L21	// Indirect jump
L22:
.debug
	.dw '.stabn 0x44,0,111,',0,0
	.dd LM58-_stop
	.dw 0x0d,0x0a
.code
LM58:
	R1=[28677]	// QImode move
	R2=8	// QImode move
	[28677]=R1|R2
.debug
	.dw '.stabn 0x44,0,112,',0,0
	.dd LM59-_stop
	.dw 0x0d,0x0a
.code
LM59:
	call _Delay	// call without return value
.debug
	.dw '.stabn 0x44,0,113,',0,0
	.dd LM60-_stop
	.dw 0x0d,0x0a
.code
LM60:
LBE5:
.debug
	.dw '.stabn 0x44,0,113,',0,0
	.dd LM61-_stop
	.dw 0x0d,0x0a
.code
LM61:
L20:

	sp+=4
	pop bp from [sp]
	retf
	.endp	// end of stop

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB5-_stop
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "m:1",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "j:1",128,0,0,2',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE5-_stop
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME4-_stop
	.dw 0x0d,0x0a
.code
LME4:
.code
.debug
	.dw '.stabs "play:F19",36,0,0,',0,0,offset _play,seg _play,0x0d,0x0a
.CODE
.public _play
_play:	.proc
.debug
	.dw '.stabn 0x44,0,118,',0,0
	.dd LM62-_play
	.dw 0x0d,0x0a
.code
LM62:
	// total=4, vars=4
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=4
	bp=sp+1

	R1=BP+7
.debug
	.dw '.stabn 0x44,0,119,',0,0
	.dd LM63-_play
	.dw 0x0d,0x0a
.code
LM63:
LBB6:
	R2=0	// QImode move
	[BP]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,120,',0,0
	.dd LM64-_play
	.dw 0x0d,0x0a
.code
LM64:
	R2=BP	// QImode move
	R3=BP+1
	R2=0	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,121,',0,0
	.dd LM65-_play
	.dw 0x0d,0x0a
.code
LM65:
	R2=BP	// QImode move
	R3=BP+2
	R2=0	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,127,',0,0
	.dd LM66-_play
	.dw 0x0d,0x0a
.code
LM66:
	R2=BP	// QImode move
	R3=BP+1
	R2=224	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,128,',0,0
	.dd LM67-_play
	.dw 0x0d,0x0a
.code
LM67:
	R2=0	// QImode move
	[BP]=R2	// QImode move
L27:
	R2=[BP]	// QImode move
	CMP R2,15	// QImode compare
	JG L39	// QImode LE
	PC=L30
L39:
	pc=L28	// Indirect jump
L30:
.debug
	.dw '.stabn 0x44,0,130,',0,0
	.dd LM68-_play
	.dw 0x0d,0x0a
.code
LM68:
	R2=[28677]	// QImode move
	R3=(-12)	// QImode move
	[28677]=R2&R3
.debug
	.dw '.stabn 0x44,0,131,',0,0
	.dd LM69-_play
	.dw 0x0d,0x0a
.code
LM69:
	R3=BP	// QImode move
	R2=BP+2
	R4=R1	// QImode move
	R3=[R4]	// QImode move
	R4=R3&1
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,132,',0,0
	.dd LM70-_play
	.dw 0x0d,0x0a
.code
LM70:
	R3=BP	// QImode move
	R2=BP+2
	R3=BP	// QImode move
	R4=BP+2
	[bp+3]=R4	// QImode move
	R4=[bp+3]	// QImode move
	R3=[R4]	// QImode move
	R4=R3 lsl 1
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,133,',0,0
	.dd LM71-_play
	.dw 0x0d,0x0a
.code
LM71:
	R2=BP	// QImode move
	R3=BP+2
	R2=[28677]	// QImode move
	R4=R3	// QImode move
	R3=[R4]	// QImode move
	[28677]=R2|R3
.debug
	.dw '.stabn 0x44,0,134,',0,0
	.dd LM72-_play
	.dw 0x0d,0x0a
.code
LM72:
	R2=[28677]	// QImode move
	R3=1	// QImode move
	[28677]=R2|R3
.debug
	.dw '.stabn 0x44,0,135,',0,0
	.dd LM73-_play
	.dw 0x0d,0x0a
.code
LM73:
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	R3=R2 asr 1
	R4=R1	// QImode move
	[R4]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,128,',0,0
	.dd LM74-_play
	.dw 0x0d,0x0a
.code
LM74:
L29:
	R2=[BP]	// QImode move
	R3=R2+1
	[BP]=R3	// QImode move
	pc=L27	// Indirect jump
L28:
.debug
	.dw '.stabn 0x44,0,137,',0,0
	.dd LM75-_play
	.dw 0x0d,0x0a
.code
LM75:
	R2=0	// QImode move
	[BP]=R2	// QImode move
L31:
	R2=[BP]	// QImode move
	CMP R2,7	// QImode compare
	JG L40	// QImode LE
	PC=L34
L40:
	pc=L32	// Indirect jump
L34:
.debug
	.dw '.stabn 0x44,0,139,',0,0
	.dd LM76-_play
	.dw 0x0d,0x0a
.code
LM76:
	R2=[28677]	// QImode move
	R3=(-12)	// QImode move
	[28677]=R2&R3
.debug
	.dw '.stabn 0x44,0,140,',0,0
	.dd LM77-_play
	.dw 0x0d,0x0a
.code
LM77:
	R3=BP	// QImode move
	R2=BP+2
	R3=BP	// QImode move
	R3=BP+1
	[bp+3]=R3	// QImode move
	R4=[bp+3]	// QImode move
	R3=[R4]	// QImode move
	R4=R3&1
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,141,',0,0
	.dd LM78-_play
	.dw 0x0d,0x0a
.code
LM78:
	R3=BP	// QImode move
	R2=BP+2
	R3=BP	// QImode move
	R4=BP+2
	[bp+3]=R4	// QImode move
	R4=[bp+3]	// QImode move
	R3=[R4]	// QImode move
	R4=R3 lsl 1
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,142,',0,0
	.dd LM79-_play
	.dw 0x0d,0x0a
.code
LM79:
	R2=BP	// QImode move
	R3=BP+2
	R2=[28677]	// QImode move
	R4=R3	// QImode move
	R3=[R4]	// QImode move
	[28677]=R2|R3
.debug
	.dw '.stabn 0x44,0,143,',0,0
	.dd LM80-_play
	.dw 0x0d,0x0a
.code
LM80:
	R2=[28677]	// QImode move
	R3=1	// QImode move
	[28677]=R2|R3
.debug
	.dw '.stabn 0x44,0,144,',0,0
	.dd LM81-_play
	.dw 0x0d,0x0a
.code
LM81:
	R3=BP	// QImode move
	R2=BP+1
	R3=BP	// QImode move
	R3=BP+1
	[bp+3]=R3	// QImode move
	R4=[bp+3]	// QImode move
	R3=[R4]	// QImode move
	R4=R3 asr 1
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,137,',0,0
	.dd LM82-_play
	.dw 0x0d,0x0a
.code
LM82:
L33:
	R2=[BP]	// QImode move
	R3=R2+1
	[BP]=R3	// QImode move
	pc=L31	// Indirect jump
L32:
.debug
	.dw '.stabn 0x44,0,146,',0,0
	.dd LM83-_play
	.dw 0x0d,0x0a
.code
LM83:
	R2=[28677]	// QImode move
	R3=8	// QImode move
	[28677]=R2|R3
.debug
	.dw '.stabn 0x44,0,147,',0,0
	.dd LM84-_play
	.dw 0x0d,0x0a
.code
LM84:
	R2=1	// QImode move
	[28690]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,151,',0,0
	.dd LM85-_play
	.dw 0x0d,0x0a
.code
LM85:
	R2=BP	// QImode move
	R3=BP+1
	R2=240	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,153,',0,0
	.dd LM86-_play
	.dw 0x0d,0x0a
.code
LM86:
	R2=0	// QImode move
	[BP]=R2	// QImode move
L35:
	R2=[BP]	// QImode move
	CMP R2,7	// QImode compare
	JG L41	// QImode LE
	PC=L38
L41:
	pc=L36	// Indirect jump
L38:
.debug
	.dw '.stabn 0x44,0,155,',0,0
	.dd LM87-_play
	.dw 0x0d,0x0a
.code
LM87:
	R2=[28677]	// QImode move
	R3=(-12)	// QImode move
	[28677]=R2&R3
.debug
	.dw '.stabn 0x44,0,156,',0,0
	.dd LM88-_play
	.dw 0x0d,0x0a
.code
LM88:
	R3=BP	// QImode move
	R2=BP+2
	R3=BP	// QImode move
	R3=BP+1
	[bp+3]=R3	// QImode move
	R4=[bp+3]	// QImode move
	R3=[R4]	// QImode move
	R4=R3&1
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,157,',0,0
	.dd LM89-_play
	.dw 0x0d,0x0a
.code
LM89:
	R3=BP	// QImode move
	R2=BP+2
	R3=BP	// QImode move
	R4=BP+2
	[bp+3]=R4	// QImode move
	R4=[bp+3]	// QImode move
	R3=[R4]	// QImode move
	R4=R3 lsl 1
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,158,',0,0
	.dd LM90-_play
	.dw 0x0d,0x0a
.code
LM90:
	R2=BP	// QImode move
	R3=BP+2
	R2=[28677]	// QImode move
	R4=R3	// QImode move
	R3=[R4]	// QImode move
	[28677]=R2|R3
.debug
	.dw '.stabn 0x44,0,159,',0,0
	.dd LM91-_play
	.dw 0x0d,0x0a
.code
LM91:
	R2=[28677]	// QImode move
	R3=1	// QImode move
	[28677]=R2|R3
.debug
	.dw '.stabn 0x44,0,160,',0,0
	.dd LM92-_play
	.dw 0x0d,0x0a
.code
LM92:
	R3=BP	// QImode move
	R2=BP+1
	R3=BP	// QImode move
	R3=BP+1
	[bp+3]=R3	// QImode move
	R4=[bp+3]	// QImode move
	R3=[R4]	// QImode move
	R4=R3 asr 1
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,153,',0,0
	.dd LM93-_play
	.dw 0x0d,0x0a
.code
LM93:
L37:
	R2=[BP]	// QImode move
	R3=R2+1
	[BP]=R3	// QImode move
	pc=L35	// Indirect jump
L36:
.debug
	.dw '.stabn 0x44,0,162,',0,0
	.dd LM94-_play
	.dw 0x0d,0x0a
.code
LM94:
	R2=[28677]	// QImode move
	R3=8	// QImode move
	[28677]=R2|R3
.debug
	.dw '.stabn 0x44,0,163,',0,0
	.dd LM95-_play
	.dw 0x0d,0x0a
.code
LM95:
	R2=1	// QImode move
	[28690]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,164,',0,0
	.dd LM96-_play
	.dw 0x0d,0x0a
.code
LM96:
LBE6:
.debug
	.dw '.stabn 0x44,0,164,',0,0
	.dd LM97-_play
	.dw 0x0d,0x0a
.code
LM97:
L26:

	sp+=4
	pop bp from [sp]
	retf
	.endp	// end of play

.debug
	.dw '.stabs "a:p1",160,0,0,7',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB6-_play
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "m:1",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "j:1",128,0,0,2',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE6-_play
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME5-_play
	.dw 0x0d,0x0a
.code
LME5:
.code
.debug
	.dw '.stabs "rec:F19",36,0,0,',0,0,offset _rec,seg _rec,0x0d,0x0a
.CODE
.public _rec
_rec:	.proc
.debug
	.dw '.stabn 0x44,0,169,',0,0
	.dd LM98-_rec
	.dw 0x0d,0x0a
.code
LM98:
	// total=4, vars=4
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=4
	bp=sp+1

	R1=BP+7
.debug
	.dw '.stabn 0x44,0,170,',0,0
	.dd LM99-_rec
	.dw 0x0d,0x0a
.code
LM99:
LBB7:
	R2=0	// QImode move
	[BP]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,171,',0,0
	.dd LM100-_rec
	.dw 0x0d,0x0a
.code
LM100:
	R2=BP	// QImode move
	R3=BP+1
	R2=0	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,172,',0,0
	.dd LM101-_rec
	.dw 0x0d,0x0a
.code
LM101:
	R2=BP	// QImode move
	R3=BP+2
	R2=0	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,173,',0,0
	.dd LM102-_rec
	.dw 0x0d,0x0a
.code
LM102:
	R2=BP	// QImode move
	R3=BP+3
	R2=71	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,175,',0,0
	.dd LM103-_rec
	.dw 0x0d,0x0a
.code
LM103:
LBE7:
.debug
	.dw '.stabn 0x44,0,175,',0,0
	.dd LM104-_rec
	.dw 0x0d,0x0a
.code
LM104:
L42:

	sp+=4
	pop bp from [sp]
	retf
	.endp	// end of rec

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB7-_rec
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "m:1",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "j:1",128,0,0,2',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "a:1",128,0,0,3',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE7-_rec
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME6-_rec
	.dw 0x0d,0x0a
.code
LME6:
.code
.debug
	.dw '.stabs "mc:F19",36,0,0,',0,0,offset _mc,seg _mc,0x0d,0x0a
.CODE
.public _mc
_mc:	.proc
.debug
	.dw '.stabn 0x44,0,180,',0,0
	.dd LM105-_mc
	.dw 0x0d,0x0a
.code
LM105:
	// total=4, vars=4
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=4
	bp=sp+1

	R1=BP+7
.debug
	.dw '.stabn 0x44,0,181,',0,0
	.dd LM106-_mc
	.dw 0x0d,0x0a
.code
LM106:
LBB8:
	R2=0	// QImode move
	[BP]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,182,',0,0
	.dd LM107-_mc
	.dw 0x0d,0x0a
.code
LM107:
	R2=BP	// QImode move
	R3=BP+1
	R2=0	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,183,',0,0
	.dd LM108-_mc
	.dw 0x0d,0x0a
.code
LM108:
	R2=BP	// QImode move
	R3=BP+2
	R2=0	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,184,',0,0
	.dd LM109-_mc
	.dw 0x0d,0x0a
.code
LM109:
	R2=BP	// QImode move
	R3=BP+3
	R2=71	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,186,',0,0
	.dd LM110-_mc
	.dw 0x0d,0x0a
.code
LM110:
LBE8:
.debug
	.dw '.stabn 0x44,0,186,',0,0
	.dd LM111-_mc
	.dw 0x0d,0x0a
.code
LM111:
L43:

	sp+=4
	pop bp from [sp]
	retf
	.endp	// end of mc

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB8-_mc

⌨️ 快捷键说明

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