📄 spp_dev_a.xap
字号:
ld AH,@(H'0006,Y) ld AL,@(H'0007,Y) asl @(H'0004,Y) st AH,@H'fff8 st AL,@H'fff9 ld AH,@(0,Y) ld AL,@(1,Y) cmp AH,@H'fff8 bcs ?L14 bne ?L19 cmp AL,@H'fff9 bcs ?L14?L19: sub AL,@H'fff9 subc AH,@H'fff8 st AH,@(0,Y) st AL,@(1,Y) ld AH,#H'0000 ld AL,#H'0001 asl @(H'0004,Y) add AL,@(H'0003,Y) addc AH,@(H'0002,Y) st AH,@(H'0002,Y) st AL,@(H'0003,Y)?L14: ld AL,@(H'0004,Y)?LBE4: add AL,#-H'0001 st AL,@(H'0004,Y) cmp AL,#-H'0001 bne ?L12 ld AH,@(0,Y) ld AL,@(1,Y) ld X,@(H'0008,Y) st AH,@(0,X) 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_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 (BlueLab 3.6.2-release); compiled by GNU C version 3.2.3 (mingw special 20030504-1).;# options passed: -ID:/BlueLab/tools/include -iprefix -isystem;# -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=3 -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 .SEG VAR_failed_next?0?: DS 1;# begin scan referenced symbols;#(clobber:QI (reg:QI 0 AH));# import _failed_addr;# import _failed_next?0?;#(clobber:QI (reg:QI 0 AH));# end scan referenced symbols .CODE_tried_and_failed: enter #2?LBB_tried_and_failed: st AH,@H'fff8?LBB2: ld AL,#H'0000 st AL,@(-1,Y)?L7: ld AL,@(-1,Y) lsl #H'0010 asr #H'000E ld X,@$XAP_AL add AL,#(_failed_addr) st AL,@(0,Y) ld AH,@(_failed_addr,X) ld AL,@((_failed_addr+1),X) ld X,@H'fff8 cmp AH,@(0,X) bne ?L4 cmp AL,@(1,X) bne ?L4 ld X,@(0,Y) ld AL,@(H'0003,X) ld X,@H'fff8 cmp AL,@(H'0003,X) bne ?L4 ld X,@(0,Y) ld AL,@(H'0002,X) ld X,@H'fff8 cmp AL,@(H'0002,X) bne ?L4 ld AH,#H'0001 bra (?L1)?L4: ld AL,#H'0001 add AL,@(-1,Y) st AL,@(-1,Y) cmp AL,#H'0007 bcz ?L7 ld X,@_failed_next?0? st X,@(-1,Y) ld AL,@$XAP_UXL lsl #H'0010 asr #H'000E st AL,@H'fff9 ld AH,#(_failed_addr) add AH,@$XAP_AL ld X,@H'fff8 ld AL,@(0,X) ld X,@H'fff9 st AL,@(_failed_addr,X) ld X,@H'fff8 ld AL,@(H'0001,X) ld X,@$XAP_AH st AL,@(H'0001,X) ld X,@H'fff8 ld AL,@(H'0002,X) ld X,@$XAP_AH st AL,@(H'0002,X) ld X,@H'fff8 ld AL,@(H'0003,X) ld X,@$XAP_AH st AL,@(H'0003,X) ld AL,#H'0001 add AL,@(-1,Y) st AL,@_failed_next?0? cmp AL,#H'0008 bne ?L8 ld AL,#H'0000 st AL,@_failed_next?0??L8: ld AH,#H'0000?L1:?LBE2:?LBE_tried_and_failed: leave #2;.stabn 192,0,0,?LBB2;.stabn 224,0,0,?LBE2;# begin scan referenced symbols;# end scan referenced symbols_unhandledSppState: enter #1?LBB_unhandledSppState:?LBE_unhandledSppState: leave #1;# begin scan referenced symbols;# import _theSppApp;# import $_sppDevUpdateLed;# end scan referenced symbols$_setSppState: enter #1?LBB_setSppState: st AH,@_theSppApp+H'0006 bsr $_sppDevUpdateLed?LBE_setSppState: leave #1;# begin scan referenced symbols;# end scan referenced symbols$_getAppTask: enter #1?LBB_getAppTask: ld AH,#(_theSppApp)?LBE_getAppTask: leave #1;# begin scan referenced symbols;#(clobber (reg:QI 3 X));# import $_sppDevInquire;# import $_getAppTask;# import $_ConnectionInquireCancel;# import $_SppDisconnect;# import $_clear_far_addr;# import $_memset;# end scan referenced symbols_pioHandler: enter #2?LBB_pioHandler: ld X,@(H'0002,Y)?LBB3: cmp AL,#-H'7FDD bne ?L19 ld AL,@(0,X) cmp AL,#H'0020 bne ?L19 ld AL,@_theSppApp+H'0006 cmp AL,#(H'0001+H'0005) bcc ?L23 ld X,@$XAP_AL ld X,@(?JTBASE30,X) brxl .SEG CONST?JTBASE30: .CODE?L30: .SEG CONST dc ?L19-?L30 dc ?L25-?L30 dc ?L27-?L30 dc ?L27-?L30 dc ?L28-?L30 dc ?L23-?L30 .CODE?L25: ld AH,#(_theSppApp) bsr $_sppDevInquire bra (?L23)?L27: bsr $_getAppTask bsr $_ConnectionInquireCancel bra (?L23)?L28: ld AH,@_theSppApp+H'0001 bsr $_SppDisconnect?L23: ld AH,#(_theSppApp+H'0002) bsr $_clear_far_addr ld AL,#H'0020 st AL,@(0,Y) ld AH,#(_failed_addr) ld AL,#H'0000 bsr $_memset?L19:?LBE3:?LBE_pioHandler: leave #2;# begin scan referenced symbols;# import _pioHandler;# import $_MessagePioTask;# import $_PioDebounce;# end scan referenced symbols_PioInit: enter #2?LBB_PioInit: ld X,@$XAP_AH ld AL,#lwrd(_pioHandler) st AL,@(0,X); bsr $_MessagePioTask DC ((256*36)+9) ld AL,#H'0000 st AL,@(0,Y) ld AH,#H'0020 ld AL,#H'0001; bsr $_PioDebounce DC ((256*37)+9)?LBE_PioInit: leave #2;# begin scan referenced symbols;# import $_sppDevInit;# import $_Panic;#(clobber (reg:QI 3 X));# import $_sppDevInquiryComplete;# import _tried_and_failed;# import $_sppDevInquiryResult;#(clobber (reg:QI 3 X));# import $_StreamUartSink;# import $_StreamSourceFromSink;# import $_StreamConnect;# import $_setSppState;# import $_write_far_addr;# import $_read_far_addr;# import $_know_far_addr;#(clobber (reg:QI 3 X));# import $_sppDevAuthoriseConnectInd;#(clobber (reg:QI 3 X));# import $_sppDevConnect;# import _unhandledSppState;# import $_sppDevHandlePinCodeRequest;# import $_sppDevAuthoriseResponse;# import $_sppDevSetTrustLevel;# end scan referenced symbols_app_handler: enter #10?LBB_app_handler:?LBB4: ld AH,@_theSppApp+H'0006 st AH,@(-1,Y) cmp AL,#H'6F05 beq ?L92 cmp AL,#(H'0001+H'6F05) bcc ?L113 cmp AL,#H'6F01 beq ?L68 cmp AL,#(H'0001+H'6F01) bcc ?L114 cmp AL,#H'0000 beq ?L104 cmp AL,#H'6F00 beq ?L42 bra (?L37)?L114: cmp AL,#H'6F02 beq ?L82 bra (?L37)?L113: cmp AL,#H'7013 beq ?L107 cmp AL,#(H'0001+H'7013) bcc ?L115 cmp AL,#H'7000 beq ?L39 cmp AL,#H'7002 beq ?L55 bra (?L37)?L115: cmp AL,#H'7016 beq ?L106 cmp AL,#(H'0001+H'7016) bcc ?L37 cmp AL,#H'7015 beq ?L105 bra (?L37)?L39: ld X,@(H'000A,Y) tst @(0,X) bne ?L40 bsr $_sppDevInit bra (?L37)?L40:; bsr $_Panic DC ((256*14)+9) bra (?L37)?L42: cmp AH,#H'0000 bne ?L102 ld X,@(H'000A,Y) tst @(H'0001,X) bne ?L37 ld AL,@(0,X) st AL,@_theSppApp+H'0001 bra (?L96)?L55: cmp AH,#(H'0001+H'0005) bcc ?L102 ld X,@(-1,Y) ld X,@(?JTBASE67,X) brxl .SEG CONST?JTBASE67: .CODE?L67: .SEG CONST dc ?L102-?L67 dc ?L102-?L67 dc ?L58-?L67 dc ?L58-?L67 dc ?L102-?L67 dc ?L102-?L67 .CODE?L58: ld X,@(H'000A,Y) tst @(0,X) bne ?L59 ld AH,#(_theSppApp) bsr $_sppDevInquiryComplete bra (?L37)?L59: ld AH,@(H'000A,Y) add AH,#H'0001 bsr _tried_and_failed cmp AH,#H'0000 bne ?L37 ld AH,#(_theSppApp) ld AL,@(H'000A,Y) bsr $_sppDevInquiryResult bra (?L37)?L68:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -