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

📄 nrf2401.asm

📁 基于NRF2401和SPCE061A的无线通信系统源程序
💻 ASM
📖 第 1 页 / 共 4 页
字号:
	[SP--]=R1	// QImode move
	call _Delay_Us	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,248,',0,0
	.dd LM99-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
LM99:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L46:
	R1=[BP]	// QImode move
	CMP R1,[_AddrByteCnt]	// QImode compare
	JNB L50	// QImode LTU
	PC=L49
L50:
	pc=L47	// Indirect jump
L49:
.debug
	.dw '.stabn 0x44,0,250,',0,0
	.dd LM100-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
LM100:
	R1=_AddrBuffer	// QImode move
	R2=[BP]	// QImode move
	R1+=R2	// addqi3_r0r
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	[SP--]=R2	// QImode move
	call _nRF2401_WriteByte	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,248,',0,0
	.dd LM101-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
LM101:
L48:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L46	// Indirect jump
L47:
.debug
	.dw '.stabn 0x44,0,252,',0,0
	.dd LM102-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
LM102:
	R2=[bp+1]	// QImode move
	R1=[R2]	// QImode move
	[SP--]=R1	// QImode move
	call _nRF2401_WriteWord	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,253,',0,0
	.dd LM103-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
LM103:
	R1=[28678]	// QImode move
	R2=R1&(-3)
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,254,',0,0
	.dd LM104-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
LM104:
	R1=[28678]	// QImode move
	R2=R1&(-33)
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,255,',0,0
	.dd LM105-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
LM105:
	R1=200	// QImode move
	[SP--]=R1	// QImode move
	call _Delay_Us	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,256,',0,0
	.dd LM106-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
LM106:
LBE7:
.debug
	.dw '.stabn 0x44,0,256,',0,0
	.dd LM107-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
LM107:
L45:

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

.debug
	.dw '.stabs "TxData:p4",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB7-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE7-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME10-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
LME10:
.code
.debug
	.dw '.stabs "nRF2401_SendBuffer_Byte:F19",36,0,0,',0,0,offset _nRF2401_SendBuffer_Byte,seg _nRF2401_SendBuffer_Byte,0x0d,0x0a
.CODE
.public _nRF2401_SendBuffer_Byte
_nRF2401_SendBuffer_Byte:	.proc
.debug
	.dw '.stabn 0x44,0,266,',0,0
	.dd LM108-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LM108:
	// 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,267,',0,0
	.dd LM109-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LM109:
LBB8:
.debug
	.dw '.stabn 0x44,0,270,',0,0
	.dd LM110-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LM110:
	R1=[28678]	// QImode move
	R2=R1|2
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,271,',0,0
	.dd LM111-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LM111:
	R1=10	// QImode move
	[SP--]=R1	// QImode move
	call _Delay_Us	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,272,',0,0
	.dd LM112-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LM112:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L52:
	R1=[BP]	// QImode move
	CMP R1,[_AddrByteCnt]	// QImode compare
	JNB L60	// QImode LTU
	PC=L55
L60:
	pc=L53	// Indirect jump
L55:
.debug
	.dw '.stabn 0x44,0,274,',0,0
	.dd LM113-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LM113:
	R1=_AddrBuffer	// QImode move
	R2=[BP]	// QImode move
	R1+=R2	// addqi3_r0r
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	[SP--]=R2	// QImode move
	call _nRF2401_WriteByte	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,272,',0,0
	.dd LM114-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LM114:
L54:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L52	// Indirect jump
L53:
.debug
	.dw '.stabn 0x44,0,276,',0,0
	.dd LM115-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LM115:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L56:
	R1=[bp+1]	// QImode move
	R1=[bp+1]	// QImode move
	R2=R1+1
	R1=[BP]	// QImode move
	R3=R2	// QImode move
	CMP R1,[R3]	// QImode compare
	JNB L61	// QImode LTU
	PC=L59
L61:
	pc=L57	// Indirect jump
L59:
.debug
	.dw '.stabn 0x44,0,278,',0,0
	.dd LM116-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LM116:
	R1=[bp+1]	// QImode move
	R2=[R1]	// QImode move
	R1=R2	// QImode move
	R1+=[BP]	// addqi3_r0R
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	[SP--]=R2	// QImode move
	call _nRF2401_WriteByte	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,276,',0,0
	.dd LM117-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LM117:
L58:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L56	// Indirect jump
L57:
.debug
	.dw '.stabn 0x44,0,280,',0,0
	.dd LM118-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LM118:
	R1=[28678]	// QImode move
	R2=R1&(-3)
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,281,',0,0
	.dd LM119-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LM119:
	R1=[28678]	// QImode move
	R2=R1&(-33)
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,282,',0,0
	.dd LM120-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LM120:
	R1=200	// QImode move
	[SP--]=R1	// QImode move
	call _Delay_Us	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,283,',0,0
	.dd LM121-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LM121:
LBE8:
.debug
	.dw '.stabn 0x44,0,283,',0,0
	.dd LM122-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LM122:
L51:

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

.debug
	.dw '.stabs "TxData:p22",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "DataByte:p4",160,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB8-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE8-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME11-_nRF2401_SendBuffer_Byte
	.dw 0x0d,0x0a
.code
LME11:
.code
.debug
	.dw '.stabs "nRF2401_SendBuffer_Word:F19",36,0,0,',0,0,offset _nRF2401_SendBuffer_Word,seg _nRF2401_SendBuffer_Word,0x0d,0x0a
.CODE
.public _nRF2401_SendBuffer_Word
_nRF2401_SendBuffer_Word:	.proc
.debug
	.dw '.stabn 0x44,0,293,',0,0
	.dd LM123-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LM123:
	// 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,294,',0,0
	.dd LM124-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LM124:
LBB9:
.debug
	.dw '.stabn 0x44,0,297,',0,0
	.dd LM125-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LM125:
	R1=[28678]	// QImode move
	R2=R1|2
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,298,',0,0
	.dd LM126-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LM126:
	R1=10	// QImode move
	[SP--]=R1	// QImode move
	call _Delay_Us	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,299,',0,0
	.dd LM127-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LM127:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L63:
	R1=[BP]	// QImode move
	CMP R1,[_AddrByteCnt]	// QImode compare
	JNB L71	// QImode LTU
	PC=L66
L71:
	pc=L64	// Indirect jump
L66:
.debug
	.dw '.stabn 0x44,0,301,',0,0
	.dd LM128-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LM128:
	R1=_AddrBuffer	// QImode move
	R2=[BP]	// QImode move
	R1+=R2	// addqi3_r0r
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	[SP--]=R2	// QImode move
	call _nRF2401_WriteByte	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,299,',0,0
	.dd LM129-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LM129:
L65:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L63	// Indirect jump
L64:
.debug
	.dw '.stabn 0x44,0,303,',0,0
	.dd LM130-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LM130:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L67:
	R1=[bp+1]	// QImode move
	R1=[bp+1]	// QImode move
	R2=R1+1
	R1=[BP]	// QImode move
	R3=R2	// QImode move
	CMP R1,[R3]	// QImode compare
	JNB L72	// QImode LTU
	PC=L70
L72:
	pc=L68	// Indirect jump
L70:
.debug
	.dw '.stabn 0x44,0,305,',0,0
	.dd LM131-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LM131:
	R1=[bp+1]	// QImode move
	R2=[R1]	// QImode move
	R1=R2	// QImode move
	R1+=[BP]	// addqi3_r0R
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	[SP--]=R2	// QImode move
	call _nRF2401_WriteWord	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,303,',0,0
	.dd LM132-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LM132:
L69:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L67	// Indirect jump
L68:
.debug
	.dw '.stabn 0x44,0,307,',0,0
	.dd LM133-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LM133:
	R1=[28678]	// QImode move
	R2=R1&(-3)
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,308,',0,0
	.dd LM134-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LM134:
	R1=[28678]	// QImode move
	R2=R1&(-33)
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,309,',0,0
	.dd LM135-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LM135:
	R1=200	// QImode move
	[SP--]=R1	// QImode move
	call _Delay_Us	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,310,',0,0
	.dd LM136-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LM136:
LBE9:
.debug
	.dw '.stabn 0x44,0,310,',0,0
	.dd LM137-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LM137:
L62:

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

.debug
	.dw '.stabs "TxData:p22",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "DataWord:p4",160,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB9-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE9-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME12-_nRF2401_SendBuffer_Word
	.dw 0x0d,0x0a
.code
LME12:
.code
.debug
	.dw '.stabs "nRF2401_RxStatus:F4",36,0,0,',0,0,offset _nRF2401_RxStatus,seg _nRF2401_RxStatus,0x0d,0x0a
.CODE
.public _nRF2401_RxStatus
_nRF2401_RxStatus:	.proc
.debug
	.dw '.stabn 0x44,0,320,',0,0
	.dd LM138-_nRF2401_RxStatus
	.dw 0x0d,0x0a
.code
LM138:
	// total=0, vars=0
	// frame_pointer_needed: 1
	push bp to [sp]
	bp=sp+1

	R2=BP+3
.debug
	.dw '.stabn 0x44,0,321,',0,0
	.dd LM139-_nRF2401_RxStatus
	.dw 0x0d,0x0a
.code
LM139:
	R3=[28677]	// QImode move
	R1=R3&8
	CMP R1,0	// QImode test
	JZ L76	// QImode NE
	PC=L74
L76:
.debug
	.dw '.stabn 0x44,0,322,',0,0
	.dd LM140-_nRF2401_RxStatus
	.dw 0x0d,0x0a
.code
LM140:
	R1=0	// QImode move
	pc=L73	// Indirect jump
	pc=L75	// Indirect jump
L74:
.debug
	.dw '.stabn 0x44,0,324,',0,0
	.dd LM141-_nRF2401_RxStatus
	.dw 0x0d,0x0a
.code
LM141:
	R1=1	// QImode move
	pc=L73	// Indirect jump
L75:
.debug
	.dw '.stabn 0x44,0,325,',0,0
	.dd LM142-_nRF2401_RxStatus
	.dw 0x0d,0x0a
.code
LM142:
.debug
	.dw '.stabn 0x44,0,325,',0,0
	.dd LM143-_nRF2401_RxStatus
	.dw 0x0d,0x0a
.code
LM143:
L73:

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

.debug
	.dw '.stabf ',0,0
	.dd LME13-_nRF2401_RxStatus
	.dw 0x0d,0x0a
.code
LME13:
.code
.debug
	.dw '.stabs "nRF2401_ReceiveByte:F19",36,0,0,',0,0,offset _nRF2401_ReceiveByte,seg _nRF2401_ReceiveByte,0x0d,0x0a
.CODE
.public _nRF2401_ReceiveByte
_nRF2401_ReceiveByte:	.proc
.debug
	.dw '.stabn 0x44,0,334,',0,0
	.dd LM144-_nRF2401_ReceiveByte
	.dw 0x0d,0x0a
.code
LM144:
	// total=5, vars=5
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=5
	bp=sp+1

	R1=BP+8
	[bp+3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,335,',0,0
	.dd LM145-_nRF2401_ReceiveByte
	.dw 0x0d,0x0a
.code
LM145:
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,336,',0,0
	.dd LM146-_nRF2401_ReceiveByte
	.dw 0x0d,0x0a
.code
LM146:
	R1=BP	// QImode move
	R2=BP+2
	R1=0	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,338,',0,0
	.dd LM147-_nRF2401_ReceiveByte
	.dw 0x0d,0x0a
.code
LM147:

⌨️ 快捷键说明

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