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

📄 isd4004_v08.asm

📁 使用SPCE061A单片机控制ISD4004_16M语音芯片放音
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	.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 LBE8-_mc
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME7-_mc
	.dw 0x0d,0x0a
.code
LME7:
.code
.debug
	.dw '.stabs "rint:F19",36,0,0,',0,0,offset _rint,seg _rint,0x0d,0x0a
.CODE
.public _rint
_rint:	.proc
.debug
	.dw '.stabn 0x44,0,191,',0,0
	.dd LM112-_rint
	.dw 0x0d,0x0a
.code
LM112:
	// total=11, vars=11
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=11
	bp=sp+1

	R1=BP+14
.debug
	.dw '.stabn 0x44,0,192,',0,0
	.dd LM113-_rint
	.dw 0x0d,0x0a
.code
LM113:
LBB9:
	R2=0	// QImode move
	[BP]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,193,',0,0
	.dd LM114-_rint
	.dw 0x0d,0x0a
.code
LM114:
	R2=BP	// QImode move
	R3=BP+1
	R2=0	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,194,',0,0
	.dd LM115-_rint
	.dw 0x0d,0x0a
.code
LM115:
	R2=BP	// QImode move
	R3=BP+2
	R2=0	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,195,',0,0
	.dd LM116-_rint
	.dw 0x0d,0x0a
.code
LM116:
	R2=BP	// QImode move
	R3=BP+3
	R2=0	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
	R2=BP	// QImode move
	R3=BP+4
	R2=0	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
	R2=BP	// QImode move
	R3=BP+5
	R2=0	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,197,',0,0
	.dd LM117-_rint
	.dw 0x0d,0x0a
.code
LM117:
	R2=BP	// QImode move
	R3=BP+1
	R2=48	// QImode move
	R4=R3	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,198,',0,0
	.dd LM118-_rint
	.dw 0x0d,0x0a
.code
LM118:
	R2=0	// QImode move
	[BP]=R2	// QImode move
L45:
	R2=[BP]	// QImode move
	CMP R2,7	// QImode compare
	JG L57	// QImode LE
	PC=L48
L57:
	pc=L46	// Indirect jump
L48:
.debug
	.dw '.stabn 0x44,0,200,',0,0
	.dd LM119-_rint
	.dw 0x0d,0x0a
.code
LM119:
	R2=[28677]	// QImode move
	R3=(-12)	// QImode move
	[28677]=R2&R3
.debug
	.dw '.stabn 0x44,0,201,',0,0
	.dd LM120-_rint
	.dw 0x0d,0x0a
.code
LM120:
	R3=BP	// QImode move
	R2=BP+2
	R3=BP	// QImode move
	R3=BP+1
	[bp+10]=R3	// QImode move
	R4=[bp+10]	// QImode move
	R3=[R4]	// QImode move
	R4=R3&1
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,202,',0,0
	.dd LM121-_rint
	.dw 0x0d,0x0a
.code
LM121:
	R3=BP	// QImode move
	R2=BP+2
	R3=BP	// QImode move
	R4=BP+2
	[bp+10]=R4	// QImode move
	R4=[bp+10]	// QImode move
	R3=[R4]	// QImode move
	R4=R3 lsl 1
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,203,',0,0
	.dd LM122-_rint
	.dw 0x0d,0x0a
.code
LM122:
	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,204,',0,0
	.dd LM123-_rint
	.dw 0x0d,0x0a
.code
LM123:
	R2=[28677]	// QImode move
	R3=1	// QImode move
	[28677]=R2|R3
.debug
	.dw '.stabn 0x44,0,205,',0,0
	.dd LM124-_rint
	.dw 0x0d,0x0a
.code
LM124:
	R3=BP	// QImode move
	R2=BP+1
	R3=BP	// QImode move
	R3=BP+1
	[bp+10]=R3	// QImode move
	R4=[bp+10]	// QImode move
	R3=[R4]	// QImode move
	R4=R3 asr 1
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,198,',0,0
	.dd LM125-_rint
	.dw 0x0d,0x0a
.code
LM125:
L47:
	R2=[BP]	// QImode move
	R3=R2+1
	[BP]=R3	// QImode move
	pc=L45	// Indirect jump
L46:
.debug
	.dw '.stabn 0x44,0,209,',0,0
	.dd LM126-_rint
	.dw 0x0d,0x0a
.code
LM126:
	R2=1	// QImode move
	[28690]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,211,',0,0
	.dd LM127-_rint
	.dw 0x0d,0x0a
.code
LM127:
	R2=0	// QImode move
	[BP]=R2	// QImode move
L49:
	R2=[BP]	// QImode move
	CMP R2,1	// QImode compare
	JG L58	// QImode LE
	PC=L52
L58:
	pc=L50	// Indirect jump
L52:
.debug
	.dw '.stabn 0x44,0,213,',0,0
	.dd LM128-_rint
	.dw 0x0d,0x0a
.code
LM128:
	R2=[28677]	// QImode move
	R3=(-2)	// QImode move
	[28677]=R2&R3
.debug
	.dw '.stabn 0x44,0,214,',0,0
	.dd LM129-_rint
	.dw 0x0d,0x0a
.code
LM129:
	R3=BP	// QImode move
	R2=BP+5
	R3=[28677]	// QImode move
	R4=R3&4
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,215,',0,0
	.dd LM130-_rint
	.dw 0x0d,0x0a
.code
LM130:
	R3=BP	// QImode move
	R2=BP+5
	R3=BP	// QImode move
	R4=BP+5
	[bp+10]=R4	// QImode move
	R4=[bp+10]	// QImode move
	R3=[R4]	// QImode move
	R4=R3 asr 2
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,216,',0,0
	.dd LM131-_rint
	.dw 0x0d,0x0a
.code
LM131:
	R3=BP	// QImode move
	R2=BP+4
	R4=BP	// QImode move
	R3=BP+4
	[bp+6]=BP	// QImode move
	R4=BP+5
	[bp+10]=R4	// QImode move
	R4=R3	// QImode move
	R4=[R4]	// QImode move
	[bp+7]=R4	// QImode move
	R3=[bp+7]	// QImode move
	R4=[bp+10]	// QImode move
	R3|=[R4]	// iorqi3_r0R
	R4=R2	// QImode move
	[R4]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,217,',0,0
	.dd LM132-_rint
	.dw 0x0d,0x0a
.code
LM132:
	R3=BP	// QImode move
	R2=BP+4
	R3=BP	// QImode move
	R3=BP+4
	[bp+10]=R3	// QImode move
	R4=[bp+10]	// QImode move
	R3=[R4]	// QImode move
	R4=R3 lsl 1
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,218,',0,0
	.dd LM133-_rint
	.dw 0x0d,0x0a
.code
LM133:
	R2=[28677]	// QImode move
	R3=1	// QImode move
	[28677]=R2|R3
.debug
	.dw '.stabn 0x44,0,211,',0,0
	.dd LM134-_rint
	.dw 0x0d,0x0a
.code
LM134:
L51:
	R2=[BP]	// QImode move
	R3=R2+1
	[BP]=R3	// QImode move
	pc=L49	// Indirect jump
L50:
.debug
	.dw '.stabn 0x44,0,220,',0,0
	.dd LM135-_rint
	.dw 0x0d,0x0a
.code
LM135:
	R2=0	// QImode move
	[BP]=R2	// QImode move
L53:
	R2=[BP]	// QImode move
	CMP R2,15	// QImode compare
	JG L59	// QImode LE
	PC=L56
L59:
	pc=L54	// Indirect jump
L56:
.debug
	.dw '.stabn 0x44,0,222,',0,0
	.dd LM136-_rint
	.dw 0x0d,0x0a
.code
LM136:
	R2=[28677]	// QImode move
	R3=(-2)	// QImode move
	[28677]=R2&R3
.debug
	.dw '.stabn 0x44,0,223,',0,0
	.dd LM137-_rint
	.dw 0x0d,0x0a
.code
LM137:
	R3=BP	// QImode move
	R2=BP+5
	R3=[28677]	// QImode move
	R4=R3&4
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,224,',0,0
	.dd LM138-_rint
	.dw 0x0d,0x0a
.code
LM138:
	R3=BP	// QImode move
	R2=BP+5
	R3=BP	// QImode move
	R4=BP+5
	[bp+10]=R4	// QImode move
	R4=[bp+10]	// QImode move
	R3=[R4]	// QImode move
	R4=R3 asr 2
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,225,',0,0
	.dd LM139-_rint
	.dw 0x0d,0x0a
.code
LM139:
	R3=BP	// QImode move
	R2=BP+3
	R4=BP	// QImode move
	R3=BP+3
	[bp+8]=BP	// QImode move
	R4=BP+5
	[bp+10]=R4	// QImode move
	R4=R3	// QImode move
	R4=[R4]	// QImode move
	[bp+9]=R4	// QImode move
	R3=[bp+9]	// QImode move
	R4=[bp+10]	// QImode move
	R3|=[R4]	// iorqi3_r0R
	R4=R2	// QImode move
	[R4]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,226,',0,0
	.dd LM140-_rint
	.dw 0x0d,0x0a
.code
LM140:
	R3=BP	// QImode move
	R2=BP+3
	R3=BP	// QImode move
	R3=BP+3
	[bp+10]=R3	// QImode move
	R4=[bp+10]	// QImode move
	R3=[R4]	// QImode move
	R4=R3 lsl 1
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,227,',0,0
	.dd LM141-_rint
	.dw 0x0d,0x0a
.code
LM141:
	R2=[28677]	// QImode move
	R3=1	// QImode move
	[28677]=R2|R3
.debug
	.dw '.stabn 0x44,0,220,',0,0
	.dd LM142-_rint
	.dw 0x0d,0x0a
.code
LM142:
L55:
	R2=[BP]	// QImode move
	R3=R2+1
	[BP]=R3	// QImode move
	pc=L53	// Indirect jump
L54:
.debug
	.dw '.stabn 0x44,0,229,',0,0
	.dd LM143-_rint
	.dw 0x0d,0x0a
.code
LM143:
LBE9:
.debug
	.dw '.stabn 0x44,0,229,',0,0
	.dd LM144-_rint
	.dw 0x0d,0x0a
.code
LM144:
L44:

	sp+=11
	pop bp from [sp]
	retf
	.endp	// end of rint

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB9-_rint
	.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 "r:1",128,0,0,3',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "e:1",128,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "k:1",128,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE9-_rint
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME8-_rint
	.dw 0x0d,0x0a
.code
LME8:
.code
.debug
	.dw '.stabs "main:F1",36,0,0,',0,0,offset _main,seg _main,0x0d,0x0a
.CODE
.public _main
_main:	.proc
.debug
	.dw '.stabn 0x44,0,238,',0,0
	.dd LM145-_main
	.dw 0x0d,0x0a
.code
LM145:
	// 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,312,',0,0
	.dd LM146-_main
	.dw 0x0d,0x0a
.code
LM146:
LBB10:
	R1=0	// QImode move
	[BP]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+1
	R1=0	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,315,',0,0
	.dd LM147-_main
	.dw 0x0d,0x0a
.code
LM147:
	R1=0	// QImode move
	[28674]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,316,',0,0
	.dd LM148-_main
	.dw 0x0d,0x0a
.code
LM148:
	R1=0	// QImode move
	[28675]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,317,',0,0
	.dd LM149-_main
	.dw 0x0d,0x0a
.code
LM149:
	R1=0	// QImode move
	[28672]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,319,',0,0
	.dd LM150-_main
	.dw 0x0d,0x0a
.code
LM150:
L61:
	pc=L63	// Indirect jump
	pc=L62	// Indirect jump
L63:
.debug
	.dw '.stabn 0x44,0,321,',0,0
	.dd LM151-_main
	.dw 0x0d,0x0a
.code
LM151:
	R1=[28672]	// QImode move
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,322,',0,0
	.dd LM152-_main
	.dw 0x0d,0x0a
.code
LM152:
	R1=BP	// QImode move
	R2=BP+1
	R1=[BP]	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,323,',0,0
	.dd LM153-_main
	.dw 0x0d,0x0a
.code
LM153:
	R1=BP	// QImode move
	R2=BP+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,8	// QImode compare
	JNZ L78	// QImode EQ
	PC=L73
L78:
	CMP R1,8	// QImode compare
	JNA L79	// QImode GTU
	PC=L76
L79:
	CMP R1,1	// QImode compare
	JNZ L80	// QImode EQ
	PC=L66
L80:
	CMP R1,1	// QImode compare
	JNB L81	// QImode LTU
	PC=L65
L81:
	CMP R1,2	// QImode compare
	JNZ L82	// QImode EQ
	PC=L67
L82:
	CMP R1,4	// QImode compare
	JNZ L83	// QImode EQ
	PC=L73
L83:
	pc=L74	// Indirect jump
L76:
	CMP R1,32	// QImode compare
	JNZ L84	// QImode EQ
	PC=L73
L84:
	CMP R1,32	// QImode compare
	JNA L85	// QImode GTU
	PC=L77
L85:
	CMP R1,16	// QImode compare
	JNZ L86	// QImode EQ
	PC=L73
L86:
	pc=L74	// Indirect jump
L77:
	CMP R1,64	// QImode compare
	JNZ L87	// QImode EQ
	PC=L73
L87:
	CMP R1,128	// QImode compare
	JNZ L88	// QImode EQ
	PC=L73
L88:
	pc=L74	// Indirect jump
.debug
	.dw '.stabn 0x44,0,325,',0,0
	.dd LM154-_main
	.dw 0x0d,0x0a
.code
LM154:
L65:
	pc=L64	// Indirect jump
L66:
.debug
	.dw '.stabn 0x44,0,327,',0,0
	.dd LM155-_main
	.dw 0x0d,0x0a
.code
LM155:
	call _poweron	// call without return value
.debug
	.dw '.stabn 0x44,0,328,',0,0
	.dd LM156-_main
	.dw 0x0d,0x0a
.code
LM156:
	R1=71	// QImode move
	[SP--]=R1	// QImode move
	call _play	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,329,',0,0
	.dd LM157-_main
	.dw 0x0d,0x0a
.code
LM157:
	pc=L64	// Indirect jump
L67:
.debug
	.dw '.stabn 0x44,0,330,',0,0
	.dd LM158-_main
	.dw 0x0d,0x0a
.code
LM158:
	call _stop	// call without return value
.debug
	.dw '.stabn 0x44,0,331,',0,0
	.dd LM159-_main
	.dw 0x0d,0x0a
.code
LM159:
	pc=L64	// Indirect jump
L68:
L69:
L70:
L71:
L72:
L73:
.debug
	.dw '.stabn 0x44,0,338,',0,0
	.dd LM160-_main
	.dw 0x0d,0x0a
.code
LM160:
	pc=L64	// Indirect jump
L74:
.debug
	.dw '.stabn 0x44,0,340,',0,0
	.dd LM161-_main
	.dw 0x0d,0x0a
.code
LM161:
	pc=L64	// Indirect jump
L64:
.debug
	.dw '.stabn 0x44,0,342,',0,0
	.dd LM162-_main
	.dw 0x0d,0x0a
.code
LM162:
	pc=L61	// Indirect jump
L62:
.debug
	.dw '.stabn 0x44,0,343,',0,0
	.dd LM163-_main
	.dw 0x0d,0x0a
.code
LM163:
LBE10:
.debug
	.dw '.stabn 0x44,0,343,',0,0
	.dd LM164-_main
	.dw 0x0d,0x0a
.code
LM164:
L60:

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

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB10-_main
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "t:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "I_Key:4",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE10-_main
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME9-_main
	.dw 0x0d,0x0a
.code
LME9:
	.end

⌨️ 快捷键说明

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