📄 hid_keyboard.xap
字号:
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 + -