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

📄 d12ci.asm

📁 SPCE061A_USB可以让你自己检测开发板是否能正常动作
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	.dw '.stabn 0x44,0,133,',0,0
	.dd LM106-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM106:
	R1=[_bEPPflags]	// QImode move
	R2=4	// QImode move
	[SP--]=R2	// QImode move
	[SP--]=R1	// QImode move
	call __rshu1	// call with return value
	SP=SP+2
	R2=R1&1
	CMP R2,0	// QImode test
	JZ L53	// QImode NE
	PC=L44
L53:
.debug
	.dw '.stabn 0x44,0,134,',0,0
	.dd LM107-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM107:
	call _F_Interrupt_On	// call without return value
L44:
.debug
	.dw '.stabn 0x44,0,135,',0,0
	.dd LM108-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM108:
	R1=0	// QImode move
	pc=L41	// Indirect jump
L43:
.debug
	.dw '.stabn 0x44,0,137,',0,0
	.dd LM109-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM109:
	call _F_InitWriteD12	// call without return value
.debug
	.dw '.stabn 0x44,0,138,',0,0
	.dd LM110-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM110:
	R1=240	// QImode move
	[SP--]=R1	// QImode move
	R1=(-253)	// QImode move
	[SP--]=R1	// QImode move
	call _F_WriteCmdOrDataToD12	// call without return value
	SP=SP+2
.debug
	.dw '.stabn 0x44,0,139,',0,0
	.dd LM111-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM111:
	call _F_InitReadD12	// call without return value
.debug
	.dw '.stabn 0x44,0,140,',0,0
	.dd LM112-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM112:
	R1=(-254)	// QImode move
	[SP--]=R1	// QImode move
	call _F_ReadD12	// call with return value
	SP=SP+1
	R2=BP	// QImode move
	R3=BP+1
	R4=R3	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,141,',0,0
	.dd LM113-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM113:
	R1=(-254)	// QImode move
	[SP--]=R1	// QImode move
	call _F_ReadD12	// call with return value
	SP=SP+1
	R2=BP	// QImode move
	R3=BP+1
	R2=R3	// QImode move
	[R2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,142,',0,0
	.dd LM114-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM114:
	R2=BP	// QImode move
	R1=BP+1
	R2=[bp+2]	// QImode move
	R4=[bp+2]	// QImode move
	R3=R4+1
	R2=R1	// QImode move
	R1=[R2]	// QImode move
	R4=R3	// QImode move
	CMP R1,[R4]	// QImode compare
	JA L54	// QImode LEU
	PC=L45
L54:
.debug
	.dw '.stabn 0x44,0,143,',0,0
	.dd LM115-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM115:
	R2=BP	// QImode move
	R1=BP+1
	R2=[bp+2]	// QImode move
	R2=[bp+2]	// QImode move
	R3=R2+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
L45:
.debug
	.dw '.stabn 0x44,0,144,',0,0
	.dd LM116-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM116:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L46:
	R1=BP	// QImode move
	R2=BP+1
	R1=[BP]	// QImode move
	R4=R2	// QImode move
	CMP R1,[R4]	// QImode compare
	JNB L55	// QImode LTU
	PC=L49
L55:
	pc=L47	// Indirect jump
L49:
.debug
	.dw '.stabn 0x44,0,145,',0,0
	.dd LM117-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM117:
	R1=(-254)	// QImode move
	[SP--]=R1	// QImode move
	call _F_ReadD12	// call with return value
	SP=SP+1
	R2=[bp+2]	// QImode move
	R2=[bp+2]	// QImode move
	R4=R2+2
	R2=R4	// QImode move
	R3=[R2]	// QImode move
	R2=R3	// QImode move
	R2+=[BP]	// addqi3_r0R
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,144,',0,0
	.dd LM118-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM118:
L48:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L46	// Indirect jump
L47:
.debug
	.dw '.stabn 0x44,0,146,',0,0
	.dd LM119-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM119:
	call _F_InitWriteD12	// call without return value
.debug
	.dw '.stabn 0x44,0,147,',0,0
	.dd LM120-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM120:
	R1=242	// QImode move
	[SP--]=R1	// QImode move
	R1=(-253)	// QImode move
	[SP--]=R1	// QImode move
	call _F_WriteCmdOrDataToD12	// call without return value
	SP=SP+2
.debug
	.dw '.stabn 0x44,0,148,',0,0
	.dd LM121-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM121:
	R1=[_bEPPflags]	// QImode move
	R2=4	// QImode move
	[SP--]=R2	// QImode move
	[SP--]=R1	// QImode move
	call __rshu1	// call with return value
	SP=SP+2
	R2=R1&1
	CMP R2,0	// QImode test
	JZ L56	// QImode NE
	PC=L50
L56:
.debug
	.dw '.stabn 0x44,0,149,',0,0
	.dd LM122-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM122:
	call _F_Interrupt_On	// call without return value
L50:
.debug
	.dw '.stabn 0x44,0,150,',0,0
	.dd LM123-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM123:
	R1=BP	// QImode move
	R2=BP+1
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R1=R3	// QImode move
	pc=L41	// Indirect jump
.debug
	.dw '.stabn 0x44,0,151,',0,0
	.dd LM124-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM124:
LBE4:
.debug
	.dw '.stabn 0x44,0,151,',0,0
	.dd LM125-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LM125:
L41:

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

.debug
	.dw '.stabs "endp:p4",160,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "len:p4",160,0,0,7',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "buf:p26",160,0,0,8',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB4-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "j:4",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE4-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME10-_F_D12_ReadEndpoint
	.dw 0x0d,0x0a
.code
LME10:
.code
.debug
	.dw '.stabs "F_D12_SelectEndpoint:F4",36,0,0,',0,0,offset _F_D12_SelectEndpoint,seg _F_D12_SelectEndpoint,0x0d,0x0a
.CODE
.public _F_D12_SelectEndpoint
_F_D12_SelectEndpoint:	.proc
.debug
	.dw '.stabn 0x44,0,153,',0,0
	.dd LM126-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
LM126:
	// 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,154,',0,0
	.dd LM127-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
LM127:
LBB5:
.debug
	.dw '.stabn 0x44,0,155,',0,0
	.dd LM128-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
LM128:
	R1=[_bEPPflags]	// QImode move
	R2=4	// QImode move
	[SP--]=R2	// QImode move
	[SP--]=R1	// QImode move
	call __rshu1	// call with return value
	SP=SP+2
	R2=R1&1
	CMP R2,0	// QImode test
	JZ L60	// QImode NE
	PC=L58
L60:
.debug
	.dw '.stabn 0x44,0,156,',0,0
	.dd LM129-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
LM129:
	call _F_Interrupt_Off	// call without return value
L58:
.debug
	.dw '.stabn 0x44,0,157,',0,0
	.dd LM130-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
LM130:
	call _F_InitWriteD12	// call without return value
.debug
	.dw '.stabn 0x44,0,158,',0,0
	.dd LM131-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
LM131:
	R2=[bp+1]	// QImode move
	R1=[R2]	// QImode move
	[SP--]=R1	// QImode move
	R1=(-253)	// QImode move
	[SP--]=R1	// QImode move
	call _F_WriteCmdOrDataToD12	// call without return value
	SP=SP+2
.debug
	.dw '.stabn 0x44,0,159,',0,0
	.dd LM132-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
LM132:
	call _F_InitReadD12	// call without return value
.debug
	.dw '.stabn 0x44,0,160,',0,0
	.dd LM133-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
LM133:
	R1=(-254)	// QImode move
	[SP--]=R1	// QImode move
	call _F_ReadD12	// call with return value
	SP=SP+1
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,161,',0,0
	.dd LM134-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
LM134:
	R1=[_bEPPflags]	// QImode move
	R2=4	// QImode move
	[SP--]=R2	// QImode move
	[SP--]=R1	// QImode move
	call __rshu1	// call with return value
	SP=SP+2
	R2=R1&1
	CMP R2,0	// QImode test
	JZ L61	// QImode NE
	PC=L59
L61:
.debug
	.dw '.stabn 0x44,0,162,',0,0
	.dd LM135-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
LM135:
	call _F_Interrupt_On	// call without return value
L59:
.debug
	.dw '.stabn 0x44,0,163,',0,0
	.dd LM136-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
LM136:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	pc=L57	// Indirect jump
.debug
	.dw '.stabn 0x44,0,164,',0,0
	.dd LM137-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
LM137:
LBE5:
.debug
	.dw '.stabn 0x44,0,164,',0,0
	.dd LM138-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
LM138:
L57:

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

.debug
	.dw '.stabs "bEndp:p4",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB5-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "c:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE5-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME11-_F_D12_SelectEndpoint
	.dw 0x0d,0x0a
.code
LME11:
.code
.debug
	.dw '.stabs "F_Disconnect_USB:F19",36,0,0,',0,0,offset _F_Disconnect_USB,seg _F_Disconnect_USB,0x0d,0x0a
.CODE
.public _F_Disconnect_USB
_F_Disconnect_USB:	.proc
.debug
	.dw '.stabn 0x44,0,166,',0,0
	.dd LM139-_F_Disconnect_USB
	.dw 0x0d,0x0a
.code
LM139:
	// 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,167,',0,0
	.dd LM140-_F_Disconnect_USB
	.dw 0x0d,0x0a
.code
LM140:
	R1=75	// QImode move
	[SP--]=R1	// QImode move
	R1=2	// QImode move
	[SP--]=R1	// QImode move
	call _F_D12_SetMode	// call without return value
	SP=SP+2
.debug
	.dw '.stabn 0x44,0,168,',0,0
	.dd LM141-_F_Disconnect_USB
	.dw 0x0d,0x0a
.code
LM141:
.debug
	.dw '.stabn 0x44,0,168,',0,0
	.dd LM142-_F_Disconnect_USB
	.dw 0x0d,0x0a
.code
LM142:
L62:

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

.debug
	.dw '.stabf ',0,0
	.dd LME12-_F_Disconnect_USB
	.dw 0x0d,0x0a
.code
LME12:
.code
.debug
	.dw '.stabs "F_Connect_USB:F19",36,0,0,',0,0,offset _F_Connect_USB,seg _F_Connect_USB,0x0d,0x0a
.CODE
.public _F_Connect_USB
_F_Connect_USB:	.proc
.debug
	.dw '.stabn 0x44,0,170,',0,0
	.dd LM143-_F_Connect_USB
	.dw 0x0d,0x0a
.code
LM143:
	// 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,171,',0,0
	.dd LM144-_F_Connect_USB
	.dw 0x0d,0x0a
.code
LM144:
	R1=192	// QImode move
	[SP--]=R1	// QImode move
	call _F_D12_SetDMA	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,172,',0,0
	.dd LM145-_F_Connect_USB
	.dw 0x0d,0x0a
.code
LM145:
	R1=75	// QImode move
	[SP--]=R1	// QImode move
	R1=18	// QImode move
	[SP--]=R1	// QImode move
	call _F_D12_SetMode	// call without return value
	SP=SP+2
.debug
	.dw '.stabn 0x44,0,173,',0,0
	.dd LM146-_F_Connect_USB
	.dw 0x0d,0x0a
.code
LM146:
.debug
	.dw '.stabn 0x44,0,173,',0,0
	.dd LM147-_F_Connect_USB
	.dw 0x0d,0x0a
.code
LM147:
L63:

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

.debug
	.dw '.stabf ',0,0
	.dd LME13-_F_Connect_USB
	.dw 0x0d,0x0a
.code
LME13:
.code
.debug
	.dw '.stabs "F_Reconnect_USB:F19",36,0,0,',0,0,offset _F_Reconnect_USB,seg _F_Reconnect_USB,0x0d,0x0a
.CODE
.public _F_Reconnect_USB
_F_Reconnect_USB:	.proc
.debug
	.dw '.stabn 0x44,0,175,',0,0
	.dd LM148-_F_Reconnect_USB
	.dw 0x0d,0x0a
.code
LM148:
	// 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,176,',0,0
	.dd LM149-_F_Reconnect_USB
	.dw 0x0d,0x0a
.code
LM149:
LBB6:
.debug
	.dw '.stabn 0x44,0,177,',0,0
	.dd LM150-_F_Reconnect_USB
	.dw 0x0d,0x0a
.code
LM150:
	call _F_Disconnect_USB	// call without return value
.debug
	.dw '.stabn 0x44,0,178,',0,0
	.dd LM151-_F_Reconnect_USB
	.dw 0x0d,0x0a
.code
LM151:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L65:
	R1=[BP]	// QImode move
	CMP R1,500	// QImode compare
	JG L73	// QImode LE
	PC=L68
L73:
	pc=L66	// Indirect jump
L68:
.debug
	.dw '.stabn 0x44,0,180,',0,0
	.dd LM152-_F_Reconnect_USB
	.dw 0x0d,0x0a
.code
LM152:
	R1=BP	// QImode move
	R2=BP+1
	R1=0	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
L69:
	R1=BP	// QImode move
	R2=BP+1
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	CMP R1,999	// QImode compare
	JG L74	// QImode LE
	PC=L71
L74:
	pc=L67	// Indirect jump
L72:
L71:
	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=L69	// Indirect jump
L70:
.debug
	.dw '.stabn 0x44,0,178,',0,0
	.dd LM153-_F_Reconnect_USB
	.dw 0x0d,0x0a
.code
LM153:
L67:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L65	// Indirect jump
L66:
.debug
	.dw '.stabn 0x44,0,185,',0,0
	.dd LM154-_F_Reconnect_USB
	.dw 0x0d,0x0a
.code
LM154:
	call _F_Connect_USB	// call without return value
.debug
	.dw '.stabn 0x44,0,186,',0,0
	.dd LM155-_F_Reconnect_USB
	.dw 0x0d,0x0a
.code
LM155:
LBE6:
.debug
	.dw '.stabn 0x44,0,186,',0,0
	.dd LM156-_F_Reconnect_USB
	.dw 0x0d,0x0a
.code
LM156:
L64:

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

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB6-_F_Reconnect_USB
	.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 '.stabn 0xe0,0,0,',0,0
	.dd LBE6-_F_Reconnect_USB
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME14-_F_Reconnect_USB
	.dw 0x0d,0x0a
.code
LME14:
.debug
	.dw '.stabs "j:G4",32,0,0,',0,0,offset _j,seg _j,0x0d,0x0a
.CODE
.ram
.public _j
_j:
	.dw 0
.external _F_ReadD12
.external _F_InitReadD12
.external _F_Interrupt_On
.external _F_WriteCmdOrDataToD12
.external _F_InitWriteD12
.external _F_Interrupt_Off
.external _bEPPflags
.external __rshu1
	.end

⌨️ 快捷键说明

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