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

📄 nrf2401.asm

📁 基于NRF2401和SPCE061A的无线通信系统源程序
💻 ASM
📖 第 1 页 / 共 4 页
字号:
.debug
	.dw '.stabn 0x44,0,157,',0,0
	.dd LM48-_nRF2401_SetAddress
	.dw 0x0d,0x0a
.code
LM48:
L18:
	R2=[BP]	// QImode move
	R3=R2+1
	[BP]=R3	// QImode move
	pc=L16	// Indirect jump
L17:
.debug
	.dw '.stabn 0x44,0,161,',0,0
	.dd LM49-_nRF2401_SetAddress
	.dw 0x0d,0x0a
.code
LM49:
	R2=R1	// QImode move
	R3=R1+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	[_AddrByteCnt]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,162,',0,0
	.dd LM50-_nRF2401_SetAddress
	.dw 0x0d,0x0a
.code
LM50:
LBE3:
.debug
	.dw '.stabn 0x44,0,162,',0,0
	.dd LM51-_nRF2401_SetAddress
	.dw 0x0d,0x0a
.code
LM51:
L15:

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

.debug
	.dw '.stabs "Address:p22=*4",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "AddrByte:p4",160,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB3-_nRF2401_SetAddress
	.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 LBE3-_nRF2401_SetAddress
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME6-_nRF2401_SetAddress
	.dw 0x0d,0x0a
.code
LME6:
.code
.debug
	.dw '.stabs "nRF2401_WriteByte:F19",36,0,0,',0,0,offset _nRF2401_WriteByte,seg _nRF2401_WriteByte,0x0d,0x0a
.CODE
.public _nRF2401_WriteByte
_nRF2401_WriteByte:	.proc
.debug
	.dw '.stabn 0x44,0,171,',0,0
	.dd LM52-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LM52:
	// 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,172,',0,0
	.dd LM53-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LM53:
LBB4:
.debug
	.dw '.stabn 0x44,0,173,',0,0
	.dd LM54-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LM54:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L22:
	R1=[BP]	// QImode move
	CMP R1,7	// QImode compare
	JA L28	// QImode LEU
	PC=L25
L28:
	pc=L23	// Indirect jump
L25:
.debug
	.dw '.stabn 0x44,0,175,',0,0
	.dd LM55-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LM55:
	R1=[28678]	// QImode move
	R2=R1&(-17)
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,176,',0,0
	.dd LM56-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LM56:
	R1=[bp+1]	// QImode move
	R2=[R1]	// QImode move
	R1=R2&128
	CMP R1,0	// QImode test
	JNZ L29	// QImode EQ
	PC=L26
L29:
.debug
	.dw '.stabn 0x44,0,177,',0,0
	.dd LM57-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LM57:
	R1=[28678]	// QImode move
	R2=R1|32
	[28678]=R2	// QImode move
	pc=L27	// Indirect jump
L26:
.debug
	.dw '.stabn 0x44,0,179,',0,0
	.dd LM58-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LM58:
	R1=[28678]	// QImode move
	R2=R1&(-33)
	[28678]=R2	// QImode move
L27:
.debug
	.dw '.stabn 0x44,0,180,',0,0
	.dd LM59-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LM59:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _Delay_Us	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,181,',0,0
	.dd LM60-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LM60:
	R1=[28678]	// QImode move
	R2=R1|16
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,182,',0,0
	.dd LM61-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LM61:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _Delay_Us	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,183,',0,0
	.dd LM62-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LM62:
	R1=[28678]	// QImode move
	R2=R1&(-17)
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,184,',0,0
	.dd LM63-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LM63:
	R2=[bp+1]	// QImode move
	R1=[R2]	// QImode move
	R2=1	// QImode move
	[SP--]=R2	// QImode move
	[SP--]=R1	// QImode move
	call __lshiu1	// call with return value
	SP=SP+2
	R2=[bp+1]	// QImode move
	[R2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,173,',0,0
	.dd LM64-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LM64:
L24:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L22	// Indirect jump
L23:
.debug
	.dw '.stabn 0x44,0,186,',0,0
	.dd LM65-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LM65:
LBE4:
.debug
	.dw '.stabn 0x44,0,186,',0,0
	.dd LM66-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LM66:
L21:

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

.debug
	.dw '.stabs "uiData:p4",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB4-_nRF2401_WriteByte
	.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 LBE4-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME7-_nRF2401_WriteByte
	.dw 0x0d,0x0a
.code
LME7:
.code
.debug
	.dw '.stabs "nRF2401_WriteWord:F19",36,0,0,',0,0,offset _nRF2401_WriteWord,seg _nRF2401_WriteWord,0x0d,0x0a
.CODE
.public _nRF2401_WriteWord
_nRF2401_WriteWord:	.proc
.debug
	.dw '.stabn 0x44,0,195,',0,0
	.dd LM67-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LM67:
	// 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 LM68-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LM68:
LBB5:
.debug
	.dw '.stabn 0x44,0,197,',0,0
	.dd LM69-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LM69:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L31:
	R1=[BP]	// QImode move
	CMP R1,15	// QImode compare
	JA L37	// QImode LEU
	PC=L34
L37:
	pc=L32	// Indirect jump
L34:
.debug
	.dw '.stabn 0x44,0,199,',0,0
	.dd LM70-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LM70:
	R1=[28678]	// QImode move
	R2=R1&(-17)
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,200,',0,0
	.dd LM71-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LM71:
	R1=[bp+1]	// QImode move
	R2=[R1]	// QImode move
	R1=R2&(-32768)
	CMP R1,0	// QImode test
	JNZ L38	// QImode EQ
	PC=L35
L38:
.debug
	.dw '.stabn 0x44,0,201,',0,0
	.dd LM72-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LM72:
	R1=[28678]	// QImode move
	R2=R1|32
	[28678]=R2	// QImode move
	pc=L36	// Indirect jump
L35:
.debug
	.dw '.stabn 0x44,0,203,',0,0
	.dd LM73-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LM73:
	R1=[28678]	// QImode move
	R2=R1&(-33)
	[28678]=R2	// QImode move
L36:
.debug
	.dw '.stabn 0x44,0,204,',0,0
	.dd LM74-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LM74:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _Delay_Us	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,205,',0,0
	.dd LM75-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LM75:
	R1=[28678]	// QImode move
	R2=R1|16
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,206,',0,0
	.dd LM76-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LM76:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _Delay_Us	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,207,',0,0
	.dd LM77-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LM77:
	R1=[28678]	// QImode move
	R2=R1&(-17)
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,208,',0,0
	.dd LM78-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LM78:
	R2=[bp+1]	// QImode move
	R1=[R2]	// QImode move
	R2=1	// QImode move
	[SP--]=R2	// QImode move
	[SP--]=R1	// QImode move
	call __lshiu1	// call with return value
	SP=SP+2
	R2=[bp+1]	// QImode move
	[R2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,197,',0,0
	.dd LM79-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LM79:
L33:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L31	// Indirect jump
L32:
.debug
	.dw '.stabn 0x44,0,210,',0,0
	.dd LM80-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LM80:
LBE5:
.debug
	.dw '.stabn 0x44,0,210,',0,0
	.dd LM81-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LM81:
L30:

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

.debug
	.dw '.stabs "uiData:p4",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB5-_nRF2401_WriteWord
	.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 LBE5-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME8-_nRF2401_WriteWord
	.dw 0x0d,0x0a
.code
LME8:
.code
.debug
	.dw '.stabs "nRF2401_SendByte:F19",36,0,0,',0,0,offset _nRF2401_SendByte,seg _nRF2401_SendByte,0x0d,0x0a
.CODE
.public _nRF2401_SendByte
_nRF2401_SendByte:	.proc
.debug
	.dw '.stabn 0x44,0,219,',0,0
	.dd LM82-_nRF2401_SendByte
	.dw 0x0d,0x0a
.code
LM82:
	// 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,220,',0,0
	.dd LM83-_nRF2401_SendByte
	.dw 0x0d,0x0a
.code
LM83:
LBB6:
.debug
	.dw '.stabn 0x44,0,223,',0,0
	.dd LM84-_nRF2401_SendByte
	.dw 0x0d,0x0a
.code
LM84:
	R1=[28678]	// QImode move
	R2=R1|2
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,224,',0,0
	.dd LM85-_nRF2401_SendByte
	.dw 0x0d,0x0a
.code
LM85:
	R1=10	// QImode move
	[SP--]=R1	// QImode move
	call _Delay_Us	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,225,',0,0
	.dd LM86-_nRF2401_SendByte
	.dw 0x0d,0x0a
.code
LM86:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L40:
	R1=[BP]	// QImode move
	CMP R1,[_AddrByteCnt]	// QImode compare
	JNB L44	// QImode LTU
	PC=L43
L44:
	pc=L41	// Indirect jump
L43:
.debug
	.dw '.stabn 0x44,0,227,',0,0
	.dd LM87-_nRF2401_SendByte
	.dw 0x0d,0x0a
.code
LM87:
	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,225,',0,0
	.dd LM88-_nRF2401_SendByte
	.dw 0x0d,0x0a
.code
LM88:
L42:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L40	// Indirect jump
L41:
.debug
	.dw '.stabn 0x44,0,229,',0,0
	.dd LM89-_nRF2401_SendByte
	.dw 0x0d,0x0a
.code
LM89:
	R2=[bp+1]	// QImode move
	R1=[R2]	// QImode move
	[SP--]=R1	// QImode move
	call _nRF2401_WriteByte	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,230,',0,0
	.dd LM90-_nRF2401_SendByte
	.dw 0x0d,0x0a
.code
LM90:
	R1=[28678]	// QImode move
	R2=R1&(-3)
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,231,',0,0
	.dd LM91-_nRF2401_SendByte
	.dw 0x0d,0x0a
.code
LM91:
	R1=[28678]	// QImode move
	R2=R1&(-33)
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,232,',0,0
	.dd LM92-_nRF2401_SendByte
	.dw 0x0d,0x0a
.code
LM92:
	R1=200	// QImode move
	[SP--]=R1	// QImode move
	call _Delay_Us	// call without return value
	SP=SP+1
.debug
	.dw '.stabn 0x44,0,233,',0,0
	.dd LM93-_nRF2401_SendByte
	.dw 0x0d,0x0a
.code
LM93:
LBE6:
.debug
	.dw '.stabn 0x44,0,233,',0,0
	.dd LM94-_nRF2401_SendByte
	.dw 0x0d,0x0a
.code
LM94:
L39:

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

.debug
	.dw '.stabs "TxData:p4",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB6-_nRF2401_SendByte
	.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 LBE6-_nRF2401_SendByte
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME9-_nRF2401_SendByte
	.dw 0x0d,0x0a
.code
LME9:
.code
.debug
	.dw '.stabs "nRF2401_SendWord:F19",36,0,0,',0,0,offset _nRF2401_SendWord,seg _nRF2401_SendWord,0x0d,0x0a
.CODE
.public _nRF2401_SendWord
_nRF2401_SendWord:	.proc
.debug
	.dw '.stabn 0x44,0,242,',0,0
	.dd LM95-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
LM95:
	// 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,243,',0,0
	.dd LM96-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
LM96:
LBB7:
.debug
	.dw '.stabn 0x44,0,246,',0,0
	.dd LM97-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
LM97:
	R1=[28678]	// QImode move
	R2=R1|2
	[28678]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,247,',0,0
	.dd LM98-_nRF2401_SendWord
	.dw 0x0d,0x0a
.code
LM98:
	R1=10	// QImode move

⌨️ 快捷键说明

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