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

📄 hid_keyboard.xap

📁 CSR 的键盘模块
💻 XAP
📖 第 1 页 / 共 5 页
字号:
	st	AL,@(1,X)	ld	AH,@(H'0002,Y)	ld	AL,@(H'0003,Y)?L7:?LBE3:?LBE2:?LBE__udivmod:	leave	#6;.stabn	192,0,0,?LBB3;.stabn	192,0,0,?LBB4;.stabn	224,0,0,?LBE4;.stabn	224,0,0,?LBE3;# begin scan referenced symbols;#(clobber:QI (reg:QI 1 AL));#(clobber:QI (reg:QI 1 AL));#(clobber:QI (reg:QI 1 AL));#(clobber:QI (reg:QI 1 AL));# end scan referenced symbols_count_leading_zeros:	enter	#1?LBB_count_leading_zeros:	st	AH,@H'fff8	st	AL,@H'fff9?LBB5:	lsr	#H'0010	st	AH,@H'fffa	st	AL,@H'fffb	ld	X,@H'fffb	ld	AL,#H'000F	st	AL,@(-1,Y)	tst	@H'fffb	bne	?L2	ld	X,@H'fff9	ld	AL,#H'001F	st	AL,@(-1,Y)?L2:	ld	AH,@$XAP_UXL	lsr	#H'0008	cmp	AH,#H'0000	beq	?L3	ld	X,@$XAP_AH	ld	AL,#-H'0008	add	AL,@(-1,Y)	st	AL,@(-1,Y)?L3:	ld	AH,@$XAP_UXL	lsr	#H'0004	cmp	AH,#H'0000	beq	?L4	ld	X,@$XAP_AH	ld	AL,#-H'0004	add	AL,@(-1,Y)	st	AL,@(-1,Y)?L4:	ld	AH,@$XAP_UXL	lsr	#H'0002	cmp	AH,#H'0000	beq	?L5	ld	X,@$XAP_AH	ld	AL,#-H'0002	add	AL,@(-1,Y)	st	AL,@(-1,Y)?L5:	ld	AH,@$XAP_UXL	lsr	#H'0001	cmp	AH,#H'0000	beq	?L6	ld	AL,#-H'0001	add	AL,@(-1,Y)	st	AL,@(-1,Y)?L6:?LBE5:	ld	AH,@(-1,Y)?LBE_count_leading_zeros:	leave	#1;.stabn	192,0,0,?LBB5;.stabn	224,0,0,?LBE5	ENDMOD;# Function pattern *movqi2 used[0] = 20 used[1] = 3 total = 23;# Function pattern *movqi3 used[0] = 10 total = 10;# Function pattern *movhi used[2] = 10 used[3] = 8 total = 18;# Function pattern *addhi3 used[0] = 1 total = 1;# Function pattern *subhi3 used[0] = 1 total = 1;# Function pattern *addqi2 used[0] = 1 used[2] = 4 total = 5;# Function pattern *subqi3 used[1] = 1 total = 1;# Function pattern *ashlhi3 used[0] = 2 total = 2;# Function pattern *lshrqi3 used[0] = 4 total = 4;# Function pattern *lshrhi3 used[0] = 1 total = 1;# Function pattern jump used[0] = 2 total = 2;# Function pattern *call_value1 used[0] = 2 total = 2;# Function pattern movstrqi+3 used[0] = 4 used[1] = 1 total = 5;# Function pattern movstrqi+5 used[0] = 1 total = 1;# Function pattern movstrqi+7 used[0] = 1 used[1] = 2 total = 3	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_21	.CSEG	CODE	.LARGE	.ENHANCED$trapset_21:	ENDMOD	trapset_21	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_16	.CSEG	CODE	.LARGE	.ENHANCED$trapset_16:	ENDMOD	trapset_16	MODULE	e_t_c	.ALLe_t_c:	ENDMOD	MODULE	hid_keyboard_auth	.LARGE ; really small mode but we need space for debug symbols; GNU C version 3.3.3 (BlueLab 3.6.2-release); 	compiled by GNU C version 3.2.3 (mingw special 20030504-1).;# options passed:  -IC:/BlueLab/tools/include -iprefix -isystem;# -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=3 -DHW_DEV_1163A;# -DNO_DEBUG -DHID_DEVICE -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;# begin scan referenced symbols;# end scan referenced symbols	.CODE$_appIsPinCodeEntry:	enter	#1?LBB_appIsPinCodeEntry:	ld	X,@$XAP_AH	ld	AH,#H'0000	ld	AL,@(H'0005,X)	cmp	AL,#H'0001	bne	?L2	ld	AH,#H'0001?L2:?LBE_appIsPinCodeEntry:	leave	#1;# begin scan referenced symbols;# end scan referenced symbols$_appIsAuthenticated:	enter	#1?LBB_appIsAuthenticated:	ld	X,@$XAP_AH	ld	AH,#H'0000	ld	AL,@(H'0005,X)	cmp	AL,#H'0002	bne	?L5	ld	AH,#H'0001?L5:?LBE_appIsAuthenticated:	leave	#1;# begin scan referenced symbols;# import $_HidPinInit;# import $_appGetState;# import $_StreamHidSource;# import $_StreamDisconnect;# import $_appLedUpdate;# import $_appLedSetPriority;# import $_MessageCancelAll;# import $_MessageSendLater;# import $_appUpdateScanEnable;# end scan referenced symbols$_appStartPinCodeEntry:	enter	#6?LBB_appStartPinCodeEntry:	st	AH,@(H'0003,Y)	ld	AL,#H'0001	ld	X,@$XAP_AH	st	AL,@(H'0005,X)	add	AH,#H'001A	bsr	$_HidPinInit	ld	AH,@(H'0003,Y)	bsr	$_appGetState	cmp	AH,#H'0005	bne	?L8;	bsr	$_StreamHidSource	DC	((256*153)+9)	ld	X,@(H'0003,Y)	ld	AL,@(H'0035,X);	bsr	$_StreamDisconnect	DC	((256*72)+9)?L8:	ld	AL,@(H'0003,Y)	add	AL,#H'0006	st	AL,@(H'0004,Y)	ld	AL,#H'00FA	st	AL,@(0,Y)	ld	AL,#H'0001	st	AL,@(H'0001,Y)	ld	AH,@(H'0004,Y)	ld	AL,#H'00FA	bsr	$_appLedUpdate	ld	AH,@(H'0004,Y)	ld	AL,#H'0001	bsr	$_appLedSetPriority	ld	AH,@(H'0003,Y)	ld	AL,#H'0064	bsr	$_MessageCancelAll	ld	AH,@(H'0003,Y)	ld	AL,#H'0067	bsr	$_MessageCancelAll	ld	AH,#H'0000	st	AH,@(0,Y)	ld	AL,#H'7530	st	AL,@(H'0002,Y)	st	AH,@(H'0001,Y)	ld	AH,@(H'0003,Y)	ld	AL,#H'0064;	bsr	$_MessageSendLater	DC	((256*9)+9)	ld	AH,@(H'0003,Y)	bsr	$_appUpdateScanEnable?LBE_appStartPinCodeEntry:	leave	#6;# begin scan referenced symbols;# import $_StreamConnect;# end scan referenced symbols$_appStopPinCodeEntry:	enter	#5?LBB_appStopPinCodeEntry:	st	AH,@(H'0003,Y)	cmp	AL,#H'0000	beq	?L11	ld	AL,#H'0002	bra	(?L12)?L11:	ld	AL,#H'0000?L12:	ld	X,@(H'0003,Y)	st	AL,@(H'0005,X)	ld	AH,@$XAP_UXL	bsr	$_appGetState	cmp	AH,#H'0005	bne	?L13;	bsr	$_StreamHidSource	DC	((256*153)+9)	ld	X,@(H'0003,Y)	ld	AL,@(H'0035,X);	bsr	$_StreamConnect	DC	((256*71)+9)?L13:	ld	AH,@(H'0003,Y)	add	AH,#H'0006	ld	AL,#H'0000	bsr	$_appLedSetPriority	ld	AH,@(H'0003,Y)	ld	AL,#H'0064	bsr	$_MessageCancelAll	ld	AH,@(H'0003,Y)	bsr	$_appGetState	cmp	AH,#H'0001	beq	?L15	ld	AH,@(H'0003,Y)	bsr	$_appGetState	cmp	AH,#H'0002	bne	?L14?L15:	ld	AL,#H'0000	st	AL,@(0,Y)	ld	AL,#H'27C0	st	AL,@(H'0002,Y)	ld	AL,#H'0009	st	AL,@(H'0001,Y)	ld	AH,@(H'0003,Y)	ld	AL,#H'0067;	bsr	$_MessageSendLater	DC	((256*9)+9)?L14:	ld	AH,@(H'0003,Y)	bsr	$_appUpdateScanEnable?LBE_appStopPinCodeEntry:	leave	#5;# begin scan referenced symbols;# import $_SourceMap;# import $_HidPinCodeHandleReport;# import $_HidPinCodeLength;# import $_HidPinCodeData;# import $_ConnectionSmPinCodeResponse;# import $_HidInterruptReport;# import $_SourceDrop;# import $_SourceBoundary;# end scan referenced symbols$_appHandleDataPinCode:	enter	#14?LBB_appHandleDataPinCode:	st	AH,@(H'0008,Y)	st	AL,@(H'0009,Y)	add	AH,#H'001A	st	AH,@(H'000B,Y)?LBB2:	bra	(?L20)?L33:?LBB3:	ld	AH,@(H'0009,Y);	bsr	$_SourceMap	DC	((256*68)+9)	ld	X,@$XAP_AH	ld	AH,@(H'0008,Y)	add	AH,#H'001A	ld	AL,@(H'000A,Y)	st	AL,@(0,Y)	ld	AL,@$XAP_UXL	bsr	$_HidPinCodeHandleReport	cmp	AH,#H'0003	beq	?L25	cmp	AH,#(H'0001+H'0003)	bcc	?L32	cmp	AH,#H'0002	beq	?L24	bra	(?L23)?L32:	cmp	AH,#H'0004	beq	?L27	bra	(?L23)?L24:	ld	AH,@(H'000B,Y)	bsr	$_HidPinCodeLength	st	AH,@(H'000C,Y)	ld	AH,@(H'000B,Y)	bsr	$_HidPinCodeData	ld	AL,@(H'0008,Y)	add	AL,#H'0031	st	AH,@(0,Y)	ld	AH,@$XAP_AL	ld	AL,@(H'000C,Y)	bsr	$_ConnectionSmPinCodeResponse	bra	(?L23)?L25:	ld	AH,@(H'0008,Y)	bsr	$_appGetState	cmp	AH,#H'0003	bne	?L23	ld	X,@(H'0008,Y)	ld	AL,@(H'0019,X)	cmp	AL,#H'0001	bne	?L23?LBB4:	ld	AL,#H'00FF	st	AL,@(H'0002,Y)	ld	AL,#H'0000	st	AL,@(H'0003,Y)	ld	AL,#H'0002	st	AL,@(0,Y)	ld	AL,@$XAP_UY	add	AL,#H'0002	st	AL,@(H'0001,Y)	bra	(?L34)?L27:?LBE4:	ld	AH,@(H'0008,Y)	bsr	$_appGetState	cmp	AH,#H'0003	bne	?L23	ld	X,@(H'0008,Y)	ld	AL,@(H'0019,X)	cmp	AL,#H'0001	bne	?L23	ld	AH,#H'00FF	st	AH,@(H'0004,Y)?LBB5:	st	AL,@(H'0005,Y)	ld	AL,#H'0002	st	AL,@(0,Y)	ld	AL,@$XAP_UY	add	AL,#H'0004	st	AL,@(H'0001,Y)	ld	AH,@(H'0002,X)	ld	AL,#H'0001	bsr	$_HidInterruptReport	ld	AH,@(H'0008,Y)	add	AH,#H'001A	bsr	$_HidPinCodeLength	cmp	AH,#H'0000	bne	?L23	ld	X,#H'00FF	st	X,@(H'0006,Y)	ld	AH,#H'0002?LBB6:	st	AH,@(H'0007,Y)	st	AH,@(0,Y)	ld	AL,@$XAP_UY	add	AL,#H'0006	st	AL,@(H'0001,Y)	ld	X,@(H'0008,Y)?L34:	ld	AH,@(H'0002,X)	ld	AL,#H'0001	bsr	$_HidInterruptReport?L23:?LBE6:?LBE5:	ld	AH,@(H'0009,Y)	ld	AL,@(H'000A,Y);	bsr	$_SourceDrop	DC	((256*67)+9)?L20:?LBE3:	ld	AH,@(H'0009,Y);	bsr	$_SourceBoundary	DC	((256*69)+9)	st	AH,@(H'000A,Y)	cmp	AH,#H'0000	bne	?L33?LBE2:?LBE_appHandleDataPinCode:	leave	#14;.stabn	192,0,0,?LBB2;.stabn	192,0,0,?LBB3;.stabn	192,0,0,?LBB4;.stabn	224,0,0,?LBE4;.stabn	192,0,0,?LBB5;.stabn	192,0,0,?LBB6;.stabn	224,0,0,?LBE6;.stabn	224,0,0,?LBE5;.stabn	224,0,0,?LBE3;.stabn	224,0,0,?LBE2	ENDMOD;# Function pattern *movqi2 used[0] = 39 used[1] = 21 total = 60;# Function pattern *movqi3 used[0] = 46 total = 46;# Function pattern *movqi8 used[0] = 5 total = 5;# Function pattern *addqi0 used[0] = 3 total = 3;# Function pattern *addqi2 used[0] = 7 total = 7;# Function pattern jump used[0] = 6 total = 6;# Function pattern *call1 used[0] = 13 total = 13;# Function pattern *call_value1 used[0] = 18 total = 18;# Function pattern movstrqi+3 used[0] = 3 total = 3;# Function pattern movstrqi+4 used[1] = 1 total = 1;# Function pattern movstrqi+5 used[0] = 13 total = 13	MODULE	hid_keyboard_aux	.LARGE ; really small mode but we need space for debug symbols; GNU C version 3.3.3 (BlueLab 3.6.2-release); 	compiled by GNU C version 3.2.3 (mingw special 20030504-1).;# options passed:  -IC:/BlueLab/tools/include -iprefix -isystem;# -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=3 -DHW_DEV_1163A;# -DNO_DEBUG -DHID_DEVICE -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;# begin scan referenced symbols;# import $_StreamHidSource;# import $_StreamDisconnect;# import $_HidInterruptReport;# import $_StreamConnect;# end scan referenced symbols	.CODE$_appSendAuxKeyReport:	enter	#6?LBB_appSendAuxKeyReport:	st	AH,@(H'0004,Y)?LBB2:;	bsr	$_StreamHidSource	DC	((256*153)+9)	ld	X,@(H'0004,Y)	ld	AL,@(H'0035,X);	bsr	$_StreamDisconnect	DC	((256*72)+9)	ld	AH,#H'0002	st	AH,@(H'0002,Y)	ld	X,@(H'0004,Y)	ld	AL,@(H'0018,X)	st	AL,@(H'0003,Y)	st	AH,@(0,Y)	ld	AL,@$XAP_UY	add	AL,#H'0002	st	AL,@(H'0001,Y)	ld	AH,@(H'0002,X)	ld	AL,#H'0001	bsr	$_HidInterruptReport;	bsr	$_StreamHidSource	DC	((256*153)+9)	ld	X,@(H'0004,Y)	ld	AL,@(H'0035,X);	bsr	$_StreamConnect	DC	((256*71)+9)?LBE2:?LBE_appSendAuxKeyReport:	leave	#6;.stabn	192,0,0,?LBB2;.stabn	224,0,0,?LBE2;# begin scan referenced symbols;# import $_SourceMap;# import $_appGetState;# import $_appSendAuxKeyReport;# import $_pioExternal;# import $_SourceDrop;# import $_SourceBoundary;# end scan referenced symbols$_appHandleDataAux:	enter	#6?LBB_appHandleDataAux:	st	AH,@(H'0001,Y)	st	AL,@(H'0002,Y)?LBB3:	bra	(?L3)?L9:?LBB4:	ld	AH,@(H'0002,Y);	bsr	$_SourceMap	DC	((256*68)+9)	ld	X,@$XAP_AH	ld	AL,@(0,X)

⌨️ 快捷键说明

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