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

📄 spp_dev_b.xap

📁 蓝牙串口程序2 设备B BLUELAB4.0
💻 XAP
📖 第 1 页 / 共 5 页
字号:
	MODULE	crt0	.LARGE			; Not really, but we need the space for DEBUG; Define the segment layout	.SEG	VAREND	.PACK	{INIT, VAR, VAREND}, {H'400, H'800}	.PACK	{CONST, INITC}, {H'7400, H'D400}; This segment holds stabs debug info and doesn't make it onto bluecore	.CSEG	DEBUG	ORG	H'10000; Put labels at selected positions so; we can deduce segment size and placement	.SEG	INITINIT:	.SEG	VARVAR:	.SEG	VARENDVAREND:	.SEG	CONSTCONST:	.SEG	INITCINITC:$XAP_AH	EQU H'ffe0$XAP_AL	EQU H'ffe1$XAP_UXL	EQU H'ffe2$XAP_UY	EQU H'ffe3; Put the version number at the start of the CONST segment	.SEG	CONST	DC	1541 ;  updated by Makefile from syscalls; ****************************************************************************; Startup code; ****************************************************************************	.CODE	ORG	H'0000		ld	al,#VAR-INIT ; Size of INIT segment	ld	ah,#INIT	ld	x,#INITC	bc2	; AL is now zero	ld	ah,#VAREND-VAR	;  Size of BSS segment	beq	skip_zero	ld 	x,#VARloop_zero:	st	al,@(0,x)	add	x,#1	sub	ah,#1	bne	loop_zeroskip_zero:	; call init code, normally empty	bsr	$__init	ld	ah,#0	ld	al,#0	bsr	$_main	; Main may exit by returning or by explicitly calling $exit.	; In either case exit code will be in AH	; Note 'real' programs are unlikely to exit.	bra	$_exit$_abort:	; Exit abnormally	ld	ah,#1	bra	$_exit_exit	EQU	$_exit	ENDMOD	MODULE	malloc	.ENHANCED	.CSEG	CODE	.LARGE$_malloc:	DC	((256*3)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	malloc	MODULE	free	.ENHANCED	.CSEG	CODE	.LARGE$_free:	DC	((256*4)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	free	MODULE	realloc	.ENHANCED	.CSEG	CODE	.LARGE$_realloc:	DC	((256*5)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	realloc	MODULE	exit	.ENHANCED	.CSEG	CODE	.LARGE$_exit:	DC	((256*7)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	exit	MODULE	MessageSendLater	.ENHANCED	.CSEG	CODE	.LARGE$_MessageSendLater:	DC	((256*9)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	MessageSendLater	MODULE	MessageCancelFirst	.ENHANCED	.CSEG	CODE	.LARGE$_MessageCancelFirst:	DC	((256*10)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	MessageCancelFirst	MODULE	Panic	.ENHANCED	.CSEG	CODE	.LARGE$_Panic:	DC	((256*14)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	Panic	MODULE	PanicNull	.ENHANCED	.CSEG	CODE	.LARGE$_PanicNull:	DC	((256*15)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	PanicNull	MODULE	PsStore	.ENHANCED	.CSEG	CODE	.LARGE$_PsStore:	DC	((256*17)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	PsStore	MODULE	PsRetrieve	.ENHANCED	.CSEG	CODE	.LARGE$_PsRetrieve:	DC	((256*18)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	PsRetrieve	MODULE	PsFullRetrieve	.ENHANCED	.CSEG	CODE	.LARGE$_PsFullRetrieve:	DC	((256*21)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	PsFullRetrieve	MODULE	MessagePioTask	.ENHANCED	.CSEG	CODE	.LARGE$_MessagePioTask:	DC	((256*36)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	MessagePioTask	MODULE	PioDebounce	.ENHANCED	.CSEG	CODE	.LARGE$_PioDebounce:	DC	((256*37)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	PioDebounce	MODULE	PioGet	.ENHANCED	.CSEG	CODE	.LARGE$_PioGet:	DC	((256*38)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	PioGet	MODULE	PioSet	.ENHANCED	.CSEG	CODE	.LARGE$_PioSet:	DC	((256*39)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	PioSet	MODULE	PioSetDir	.ENHANCED	.CSEG	CODE	.LARGE$_PioSetDir:	DC	((256*41)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	PioSetDir	MODULE	MessageFlushTask	.ENHANCED	.CSEG	CODE	.LARGE$_MessageFlushTask:	DC	((256*46)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	MessageFlushTask	MODULE	PanicUnlessMalloc	.ENHANCED	.CSEG	CODE	.LARGE$_PanicUnlessMalloc:	DC	((256*47)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	PanicUnlessMalloc	MODULE	StreamConfigure	.ENHANCED	.CSEG	CODE	.LARGE$_StreamConfigure:	DC	((256*70)+9)	rtstrapset_11	EQU	$trapset_11	ENDMOD	StreamConfigure	MODULE	StreamConnect	.ENHANCED	.CSEG	CODE	.LARGE$_StreamConnect:	DC	((256*71)+9)	rtstrapset_11	EQU	$trapset_11	ENDMOD	StreamConnect	MODULE	StreamSourceFromSink	.ENHANCED	.CSEG	CODE	.LARGE$_StreamSourceFromSink:	DC	((256*74)+9)	rtstrapset_11	EQU	$trapset_11	ENDMOD	StreamSourceFromSink	MODULE	SinkGetBdAddr	.ENHANCED	.CSEG	CODE	.LARGE$_SinkGetBdAddr:	DC	((256*84)+9)	rtstrapset_11	EQU	$trapset_11	ENDMOD	SinkGetBdAddr	MODULE	MessageSinkTask	.ENHANCED	.CSEG	CODE	.LARGE$_MessageSinkTask:	DC	((256*85)+9)	rtstrapset_11	EQU	$trapset_11	ENDMOD	MessageSinkTask	MODULE	MessageSinkGetTask	.ENHANCED	.CSEG	CODE	.LARGE$_MessageSinkGetTask:	DC	((256*86)+9)	rtstrapset_11	EQU	$trapset_11	ENDMOD	MessageSinkGetTask	MODULE	StreamSinksFromBdAddr	.ENHANCED	.CSEG	CODE	.LARGE$_StreamSinksFromBdAddr:	DC	((256*87)+9)	rtstrapset_11	EQU	$trapset_11	ENDMOD	StreamSinksFromBdAddr	MODULE	VmSendRfcommPrim	.ENHANCED	.CSEG	CODE	.LARGE$_VmSendRfcommPrim:	DC	((256*102)+9)	rtstrapset_14	EQU	$trapset_14	ENDMOD	VmSendRfcommPrim	MODULE	StreamRfcommSink	.ENHANCED	.CSEG	CODE	.LARGE$_StreamRfcommSink:	DC	((256*103)+9)	rtstrapset_14	EQU	$trapset_14	ENDMOD	StreamRfcommSink	MODULE	StreamUartSink	.ENHANCED	.CSEG	CODE	.LARGE$_StreamUartSink:	DC	((256*104)+9)	rtstrapset_15	EQU	$trapset_15	ENDMOD	StreamUartSink	MODULE	VmSendL2capPrim	.ENHANCED	.CSEG	CODE	.LARGE$_VmSendL2capPrim:	DC	((256*106)+9)	rtstrapset_16	EQU	$trapset_16	ENDMOD	VmSendL2capPrim	MODULE	VmSendDmPrim	.ENHANCED	.CSEG	CODE	.LARGE$_VmSendDmPrim:	DC	((256*107)+9)	rtstrapset_16	EQU	$trapset_16	ENDMOD	VmSendDmPrim	MODULE	VmSendSdpPrim	.ENHANCED	.CSEG	CODE	.LARGE$_VmSendSdpPrim:	DC	((256*108)+9)	rtstrapset_16	EQU	$trapset_16	ENDMOD	VmSendSdpPrim	MODULE	VmGetHandleFromPointer	.ENHANCED	.CSEG	CODE	.LARGE$_VmGetHandleFromPointer:	DC	((256*109)+9)	rtstrapset_16	EQU	$trapset_16	ENDMOD	VmGetHandleFromPointer	MODULE	VmGetPointerFromHandle	.ENHANCED	.CSEG	CODE	.LARGE$_VmGetPointerFromHandle:	DC	((256*110)+9)	rtstrapset_16	EQU	$trapset_16	ENDMOD	VmGetPointerFromHandle	MODULE	MessageBlueStackTask	.ENHANCED	.CSEG	CODE	.LARGE$_MessageBlueStackTask:	DC	((256*111)+9)	rtstrapset_16	EQU	$trapset_16	ENDMOD	MessageBlueStackTask	MODULE	StreamL2capSink	.ENHANCED	.CSEG	CODE	.LARGE$_StreamL2capSink:	DC	((256*112)+9)	rtstrapset_16	EQU	$trapset_16	ENDMOD	StreamL2capSink	MODULE	VmUseExtendedBluestackPrimitives	.ENHANCED	.CSEG	CODE	.LARGE$_VmUseExtendedBluestackPrimitives:	DC	((256*148)+9)	rtstrapset_16	EQU	$trapset_16	ENDMOD	VmUseExtendedBluestackPrimitives	MODULE	MessageWait	.ENHANCED	.CSEG	CODE	.LARGE$_MessageWait:	DC	((256*11)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	MessageWait	MODULE	MessageSendConditionally	.ENHANCED	.CSEG	CODE	.LARGE$_MessageSendConditionally:	DC	((256*12)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	MessageSendConditionally	MODULE	MessageFree	.ENHANCED	.CSEG	CODE	.LARGE$_MessageFree:	DC	((256*13)+9)	rtstrapset_1	EQU	$trapset_1	ENDMOD	MessageFree	MODULE	trapset_1	.CSEG	CODE	.LARGE	.ENHANCED$trapset_1:	ENDMOD	trapset_1	MODULE	trapset_11	.CSEG	CODE	.LARGE	.ENHANCED$trapset_11:	ENDMOD	trapset_11	MODULE	trapset_14	.CSEG	CODE	.LARGE	.ENHANCED$trapset_14:	ENDMOD	trapset_14	MODULE	trapset_15	.CSEG	CODE	.LARGE	.ENHANCED$trapset_15:	ENDMOD	trapset_15	MODULE	trapset_16	.CSEG	CODE	.LARGE	.ENHANCED$trapset_16:	ENDMOD	trapset_16	MODULE	e_t_c	.ALLe_t_c:	ENDMOD	MODULE	main	.LARGE ; really small mode but we need space for debug symbols; GNU C version 3.3.3 (CSR version 25 for xap); 	compiled by GNU C version 3.2.3 (mingw special 20030504-1).;# options passed:  -IC:/BlueLab401/tools/include/firmware;# -IC:/BlueLab401/tools/include/standard;# -IC:/BlueLab401/tools/include/profiles/BlueLab4.0.1-release -iprefix;# -isystem -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=3;# -DDEV_CASIRA -DNO_DEBUG -MD -MQ -mno-leaf-optim -ansi -auxbase-strip -g;# -O -pedantic -Wall -Wmissing-prototypes -Wstrict-prototypes;# -Wsign-compare -Wredundant-decls -Werror -ansi -fno-builtin-memcpy;# options enabled:  -fdefer-pop -fthread-jumps -fpeephole -ffunction-cse;# -fkeep-static-consts -fpcc-struct-return -fgcse-lm -fgcse-sm;# -floop-optimize -fcrossjumping -fif-conversion -fif-conversion2;# -fsched-interblock -fsched-spec -fbranch-count-reg -fcprop-registers;# -fcommon -fgnu-linker -fargument-alias -fmerge-constants;# -fzero-initialized-in-bss -fleading-underscore -fident;# -fguess-branch-probability -fmath-errno -ftrapping-math -mpeephole;# -mquiet-mode -minline-block-copy-mode -menhanced-mode -mload-cache-mode;# -mbitfield-mode -mtest4	.ENHANCED	.CODE$_getAppTask:	enter	#1?LBB_getAppTask:	ld	AH,#(_theSppApp)?LBE_getAppTask:	leave	#1_unhandledSppState:	enter	#1?LBB_unhandledSppState:?LBE_unhandledSppState:	leave	#1$_setSppState:	enter	#1?LBB_setSppState:	st	AH,@_theSppApp+H'0006	cmp	AH,#H'0004	bne	?L6	ld	AH,#H'0000	bra	(?L8)?L6:	ld	AH,#H'0001?L8:	bsr	$_ledsPlay?LBE_setSppState:	leave	#1_app_handler:	enter	#8?LBB_app_handler:?LBB2:	ld	AH,@_theSppApp+H'0006	st	AH,@(-1,Y)	cmp	AL,#H'6F05	beq	?L46	cmp	AL,#(H'0001+H'6F05)	bcc	?L84	cmp	AL,#H'6F01	beq	?L25	cmp	AL,#(H'0001+H'6F01)	bcc	?L85	cmp	AL,#H'03E8	beq	?L72	cmp	AL,#(H'0001+H'03E8)	bcc	?L86	cmp	AL,#H'0000	beq	?L55	bra	(?L10)?L86:	cmp	AL,#H'6F00	beq	?L15	bra	(?L10)?L85:	cmp	AL,#H'6F02	beq	?L37	bra	(?L10)?L84:	cmp	AL,#H'701F	beq	?L68	cmp	AL,#(H'0001+H'701F)	bcc	?L87	cmp	AL,#H'701B	beq	?L66	cmp	AL,#(H'0001+H'701B)	bcc	?L88	cmp	AL,#H'7000	beq	?L12	bra	(?L10)?L88:	cmp	AL,#H'701E	beq	?L64	bra	(?L10)?L87:	cmp	AL,#H'7025	beq	?L65	cmp	AL,#(H'0001+H'7025)	bcc	?L10	cmp	AL,#H'7020	beq	?L69	bra	(?L10)?L12:	ld	X,@(H'0008,Y)	tst	@(0,X)	bne	?L13	bsr	$_sppDevInit	bra	(?L10)?L13:;	bsr	$_Panic	DC	((256*14)+9)	bra	(?L10)?L15:	cmp	AH,#H'0000	bne	?L62	ld	X,@(H'0008,Y)	tst	@(H'0001,X)	bne	?L10	ld	AH,#H'0001	bsr	$_setSppState	bra	(?L77)?L25:	ld	AH,@(H'0008,Y)?LBB3:	st	AH,@(H'0005,Y)	ld	X,@(-1,Y)	cmp	X,#(H'0001+H'0004)	bcc	?L62	ld	X,@(?JTBASE36,X)	brxl	.SEG	CONST?JTBASE36:

⌨️ 快捷键说明

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