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