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

📄 hid_keyboard.xap

📁 CSR 的键盘模块
💻 XAP
📖 第 1 页 / 共 5 页
字号:
	and	AL,#H'0007	ld	X,@(H'0001,Y)	st	AL,@(H'0018,X)	ld	AL,@(H'0019,X)	cmp	AL,#H'0001	bne	?L6	ld	AH,@$XAP_UXL	bsr	$_appGetState	cmp	AH,#H'0005	bne	?L6	ld	AH,@(H'0001,Y)	bsr	$_appSendAuxKeyReport?L6:	ld	AH,@(H'0001,Y)	add	AH,#H'000F	ld	AL,#H'0000	st	AL,@(H'0004,Y)	ld	X,@(H'0001,Y)	ld	AL,@(H'0018,X)	cmp	AL,#H'0007	bne	?L8	ld	AL,#H'0001	st	AL,@(H'0004,Y)?L8:	ld	X,@(H'0004,Y)	st	X,@(0,Y)	ld	AL,#H'0001	bsr	$_pioExternal	ld	AH,@(H'0002,Y)	ld	AL,@(H'0003,Y);	bsr	$_SourceDrop	DC	((256*67)+9)?L3:?LBE4:	ld	AH,@(H'0002,Y);	bsr	$_SourceBoundary	DC	((256*69)+9)	st	AH,@(H'0003,Y)	cmp	AH,#H'0000	bne	?L9?LBE3:?LBE_appHandleDataAux:	leave	#6;.stabn	192,0,0,?LBB3;.stabn	192,0,0,?LBB4;.stabn	224,0,0,?LBE4;.stabn	224,0,0,?LBE3	ENDMOD;# Function pattern *movqi2 used[0] = 13 used[1] = 5 total = 18;# Function pattern *movqi3 used[0] = 12 total = 12;# Function pattern *movqi8 used[0] = 5 total = 5;# Function pattern *addqi0 used[0] = 1 total = 1;# Function pattern *addqi2 used[0] = 1 total = 1;# Function pattern *andqi3 used[0] = 1 total = 1;# Function pattern jump used[0] = 1 total = 1;# Function pattern *call1 used[0] = 5 total = 5;# Function pattern *call_value1 used[0] = 6 total = 6;# Function pattern movstrqi+2 used[0] = 1 total = 1;# Function pattern movstrqi+3 used[0] = 1 total = 1;# Function pattern movstrqi+5 used[0] = 3 total = 3	MODULE	hid_keyboard_button	.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_external_encode:	enter	#1?LBB_external_encode:	cmp	AH,#H'0001	bne	?L4	ld	AH,#H'0000	bra	(?L1)?L4:	ld	AH,#H'0001?L1:?LBE_external_encode:	leave	#1	.SEG	CONST_enter_messages:	dc	H'0000	dc	H'0000;# begin scan referenced symbols;# import _enter_messages;#(clobber:QI (reg:QI 1 AL));# import $_MessageCancelAll;#(clobber:QI (reg:QI 1 AL));# import $_MessageSendLater;#(clobber:QI (reg:QI 1 AL));# import $_MessageSend;# end scan referenced symbols	.CODE_send_ext_enter_messages:	enter	#9?LBB_send_ext_enter_messages:	st	AH,@(H'0003,Y)	st	AL,@(H'0004,Y)	ld	X,@$XAP_AL?LBB2:	add	X,@$XAP_AL	ld	AL,@(_enter_messages,X)	st	AL,@(H'0005,Y)	ld	X,@(_enter_messages+H'0001,X)	st	X,@(H'0007,Y)	ld	X,@$XAP_AL	add	X,#-H'0001	st	X,@(H'0006,Y)	cmp	X,#-H'0001	beq	?L22?L20:	ld	X,@(H'0007,Y)	ld	AL,@(H'0001,X)	and	AL,#H'0001	cmp	AL,#H'0000	beq	?L25	ld	X,@(H'0007,Y)	ld	AH,@(0,X)	lsr	#H'000E	and	AH,#H'0001	cmp	AH,#H'0000	beq	?L12	ld	X,@(H'0003,Y)	ld	AL,@(H'0003,X)	cmp	AL,@(H'0004,Y)	bne	?L13	ld	AH,@$XAP_UXL	ld	AL,#H'0004	bsr	$_MessageCancelAll	cmp	AH,#H'0000	beq	?L14	ld	AL,#H'0001	ld	X,@(H'0003,Y)	st	AL,@(H'0002,X)	ld	AL,#H'0000	st	AL,@(0,Y)	bra	(?L24)?L14:	ld	AL,#H'0000	st	AL,@(0,Y)	bra	(?L23)?L13:	ld	AL,@(H'0004,Y)	ld	X,@(H'0003,Y)	st	AL,@(H'0003,X)	ld	AH,@$XAP_UXL	ld	AL,#H'0004	bsr	$_MessageCancelAll	ld	X,#H'0000	st	X,@(0,Y)?L23:	ld	X,@(H'0007,Y)	ld	AH,@(H'0001,X)	lsr	#H'0001	ld	AL,@$XAP_AH	ld	AH,#H'0000	st	AH,@(H'0001,Y)	st	AL,@(H'0002,Y)	ld	AH,@(H'0003,Y)	ld	AL,#H'0004;	bsr	$_MessageSendLater	DC	((256*9)+9)	bra	(?L17)?L12:	ld	X,@(H'0007,Y)	ld	AH,@(0,X)	lsr	#H'000F	cmp	AH,#H'0000	bne	?L18	st	AH,@(0,Y)	ld	X,@(H'0003,Y)?L24:	ld	AH,@(H'0001,X)	ld	X,@(H'0007,Y)	ld	AL,@(H'0002,X)	bsr	$_MessageSend	bra	(?L17)?L18:	ld	AL,@(H'0004,Y)	ld	X,@(H'0003,Y)	st	AL,@(H'0002,X)	ld	AL,@(H'0006,Y)	nadd	AL,@(H'0005,Y)	add	AL,#-H'0001	st	AL,@(H'0006,X)?L17:	ld	X,@(H'0007,Y)?L25:	add	X,#H'0003	st	X,@(H'0007,Y)	ld	AL,@(H'0006,Y)	add	AL,#-H'0001	st	AL,@(H'0006,Y)	cmp	AL,#-H'0001	bne	?L20?L22:?LBE2:?LBE_send_ext_enter_messages:	leave	#9;.stabn	192,0,0,?LBB2;.stabn	224,0,0,?LBE2	.SEG	CONST_timed_messages_sCONNECT:	dc	H'1388	dc	H'0000	dc	H'8000	dc	H'03E8_timed_messages:	dc	H'0001	dc	_timed_messages_sCONNECT;# begin scan referenced symbols;# import $_malloc;# import $_PanicNull;#(clobber:QI (reg:QI 1 AL));# end scan referenced symbols	.CODE_send_ext_timed_message:	enter	#6?LBB_send_ext_timed_message:	st	AH,@(H'0003,Y)	st	AL,@(H'0004,Y)?LBB3:	ld	AH,#H'0001;	bsr	$_malloc	DC	((256*3)+9);	bsr	$_PanicNull	DC	((256*15)+9)	ld	X,@$XAP_AH	ld	AL,@(H'0004,Y)	st	AL,@(0,X)	tst	@(H'0006,Y)	beq	?L30	st	AH,@(0,Y)	ld	X,@(H'0004,Y)	ld	AH,@(H'0001,X)	lsr	#H'0001	ld	AL,@$XAP_AH	ld	AH,#H'0000	bra	(?L32)?L30:	st	AH,@(0,Y)	ld	X,@(H'0004,Y)	ld	AL,@(0,X)	and	AL,#H'7FFF	ld	AH,#H'0000?L32:	st	AH,@(H'0001,Y)	st	AL,@(H'0002,Y)	ld	AH,@(H'0003,Y)	ld	AL,#H'0003;	bsr	$_MessageSendLater	DC	((256*9)+9)?LBE3:?LBE_send_ext_timed_message:	leave	#6;.stabn	192,0,0,?LBB3;.stabn	224,0,0,?LBE3;# begin scan referenced symbols;# import _timed_messages;#(clobber:QI (reg:QI 1 AL));# import _send_ext_timed_message;# end scan referenced symbols_send_ext_timed_messages:	enter	#5?LBB_send_ext_timed_messages:	st	AH,@(H'0001,Y)?LBB4:	ld	X,@$XAP_AL	add	X,@$XAP_AL	ld	AL,@(_timed_messages,X)	ld	X,@(_timed_messages+H'0001,X)	st	X,@(H'0003,Y)	add	AL,#-H'0001	st	AL,@(H'0002,Y)	cmp	AL,#-H'0001	beq	?L40?L38:	ld	X,@(H'0003,Y)	ld	AH,@(H'0002,X)	lsr	#H'000F	cmp	AH,#H'0000	beq	?L37	ld	AL,#H'0000	st	AL,@(0,Y)	ld	AH,@(H'0001,Y)	ld	AL,@$XAP_UXL	bsr	_send_ext_timed_message?L37:	ld	X,@(H'0003,Y)	add	X,#H'0004	st	X,@(H'0003,Y)	ld	AL,@(H'0002,Y)	add	AL,#-H'0001	st	AL,@(H'0002,Y)	cmp	AL,#-H'0001	bne	?L38?L40:?LBE4:?LBE_send_ext_timed_messages:	leave	#5;.stabn	192,0,0,?LBB4;.stabn	224,0,0,?LBE4;# begin scan referenced symbols;# import _external_encode;#(clobber:QI (reg:QI 0 AH));# import _send_ext_enter_messages;# import _send_ext_timed_messages;# end scan referenced symbols_externalChanged:	enter	#7?LBB_externalChanged:	st	AH,@(H'0001,Y)	st	AL,@(H'0002,Y)?LBB5:	ld	AL,@(H'0007,Y)	st	AL,@(H'0004,Y)	ld	AH,@$XAP_AL	bsr	_external_encode	st	AH,@(H'0003,Y)	ld	X,@(H'0002,Y)	ld	AH,@(H'0002,X)	cmp	AH,#H'0001	beq	?L44	ld	AL,@(H'0003,Y)	cmp	AL,@$XAP_AH	beq	?L44	ld	AL,@(H'0004,Y)?LBB6:	xor	AL,@(H'0005,X)	and	AL,@(H'0005,X)	cmp	AL,@(H'0005,X)	bne	?L45?LBB7:	add	AH,@$XAP_AH	st	AH,@(H'0005,Y)	ld	AL,@(H'0006,X)	smult	#H'0003	ld	X,@(H'0005,Y)	add	AL,@(_enter_messages+H'0001,X)	st	AL,@(H'0005,Y)	ld	AL,#H'0000	st	AL,@(0,Y)	ld	X,@(H'0002,Y)	ld	AH,@(H'0001,X)	ld	X,@(H'0005,Y)	ld	AL,@(H'0002,X)	bsr	$_MessageSend?L45:?LBE7:	ld	AL,#H'0001	ld	X,@(H'0002,Y)	st	AL,@(H'0002,X)?L44:	ld	X,@(H'0002,Y)?LBE6:	tst	@(H'0007,X)	beq	?L46	ld	AL,#H'0000	st	AL,@(0,Y)	ld	AH,@(H'0001,X)	ld	AL,@(H'0007,X)	bsr	$_MessageSend	ld	AL,#H'0000	ld	X,@(H'0002,Y)	st	AL,@(H'0007,X)?L46:	ld	AH,@(H'0001,Y)	ld	AL,#H'0003	bsr	$_MessageCancelAll	ld	AL,@(H'0003,Y)	cmp	AL,#H'0001	beq	?L47	ld	AH,@(H'0002,Y)	bsr	_send_ext_enter_messages	ld	AH,@(H'0002,Y)	ld	AL,@(H'0003,Y)	bsr	_send_ext_timed_messages?L47:	ld	AL,@(H'0004,Y)	ld	X,@(H'0002,Y)	st	AL,@(H'0005,X)?LBE5:?LBE_externalChanged:	leave	#7;.stabn	192,0,0,?LBB5;.stabn	192,0,0,?LBB6;.stabn	224,0,0,?LBE6;.stabn	224,0,0,?LBE5;# begin scan referenced symbols;#(clobber:QI (reg:QI 1 AL));#(clobber:QI (reg:QI 1 AL));# import _externalChanged;# end scan referenced symbols_pioHandler:	enter	#4?LBB_pioHandler:?LBB8:	st	AH,@(H'0001,Y)	cmp	AL,#H'0003	beq	?L54	cmp	AL,#(H'0001+H'0003)	bcc	?L52	cmp	AL,#H'0001	beq	?L52	cmp	AL,#H'0002	beq	?L61	bra	(?L52)?L54:	ld	X,@(H'0004,Y)?LBB9:	ld	X,@(0,X)	st	X,@(H'0002,Y)	ld	AL,@(H'0001,X)	and	AL,#H'0001	cmp	AL,#H'0000	beq	?L55	ld	AL,@(H'0003,X)	bra	(?L67)?L55:	ld	AL,#H'0000	st	AL,@(0,Y)	ld	X,@(H'0001,Y)	ld	AH,@(H'0001,X)	ld	X,@(H'0002,Y)	ld	AL,@(H'0003,X)	bsr	$_MessageSend	ld	AL,#H'0000?L67:	ld	X,@(H'0001,Y)	st	AL,@(H'0007,X)	ld	AL,#H'0001	ld	X,@(H'0001,Y)	st	AL,@(H'0002,X)	ld	X,@(H'0002,Y)	ld	AH,@(0,X)	lsr	#H'000F	cmp	AH,#H'0000	beq	?L52	ld	AH,@(H'0001,X)	lsr	#H'0001	cmp	AH,#H'0000	beq	?L58	ld	AL,#H'0001	st	AL,@(0,Y)	ld	AH,@(H'0001,Y)	ld	AL,@$XAP_UXL	bra	(?L68)?L58:	ld	AL,#H'0000	st	AL,@(0,Y)	ld	AH,@(H'0001,Y)	ld	AL,@(H'0002,Y)?L68:	bsr	_send_ext_timed_message?LBE9:	bra	(?L52)?L61:	ld	X,@(H'0004,Y)?LBB10:	ld	AL,@(H'0001,X)	xor	AL,#-H'0001	ld	X,@(H'0001,Y)	and	AL,@(H'0005,X)	ld	X,@(H'0004,Y)	xor	AL,@(0,X)	st	AL,@(0,Y)	ld	AL,@(H'0001,Y)	bsr	_externalChanged?L52:?LBE10:?LBE8:?LBE_pioHandler:	leave	#4;.stabn	192,0,0,?LBB8;.stabn	192,0,0,?LBB9;.stabn	224,0,0,?LBE9;.stabn	224,0,0,?LBE8;# begin scan referenced symbols;# end scan referenced symbols$_pioExternal:	enter	#4?LBB_pioExternal:	st	AH,@(H'0001,Y)	st	AL,@(H'0002,Y)?LBB11:	ld	AH,#H'0002;	bsr	$_malloc	DC	((256*3)+9)	ld	X,@$XAP_AH	ld	AL,@(H'0004,Y)	st	AL,@(0,X)	ld	AL,@(H'0002,Y)	st	AL,@(H'0001,X)	st	AH,@(0,Y)	ld	AH,@(H'0001,Y)	ld	AL,#H'0002	bsr	$_MessageSend?LBE11:?LBE_pioExternal:	leave	#4;# begin scan referenced symbols;# import $_PioGet;# import _pioHandler;# import $_MessagePioTask;# end scan referenced symbols$_pioInit:	enter	#5?LBB_pioInit:	st	AH,@(H'0001,Y)	st	AL,@(H'0002,Y)?LBB12:	ld	AH,#H'0004;	bsr	$_malloc	DC	((256*3)+9)	st	AH,@(H'0003,Y);	bsr	$_PioGet	DC	((256*38)+9)	ld	AL,#lwrd(_pioHandler)	ld	X,@(H'0001,Y)	st	AL,@(0,X)	ld	AL,@(H'0002,Y)	st	AL,@(H'0001,X)	ld	AL,#H'0001	st	AL,@(H'0002,X)	st	AL,@(H'0003,X)	ld	AL,#H'0000	st	AL,@(H'0006,X)	st	AL,@(H'0005,X)	st	AL,@(H'0007,X)	st	AL,@(H'0004,X)	ld	AH,@$XAP_UXL;	bsr	$_MessagePioTask	DC	((256*36)+9)	ld	AL,#H'0000	ld	X,@(H'0003,Y)	st	AL,@(0,X)	st	AL,@(H'0002,X)	st	AL,@(H'0001,X)	st	X,@(0,Y)	ld	AH,@(H'0001,Y)	ld	AL,#-H'7FDD	bsr	$_MessageSend?LBE12:?LBE_pioInit:	leave	#5	ENDMOD;# Function pattern *movqi2 used[0] = 75 used[1] = 13 total = 88;# Function pattern *movqi3 used[0] = 102 total = 102

⌨️ 快捷键说明

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