📄 pbap_server.xap
字号:
st AL,@(H'0006,Y) ld X,@$XAP_AH?LBB15: ld AL,@(H'0001,X) cmp AL,#H'0004 bne ?L78 add AH,#H'0001 ld AL,#H'0007 bsr $_setState ld X,@(H'0006,Y) ld AL,@(H'0001,X) cmp AL,#H'0001 bcz ?L79 ld AL,#H'0000 st AL,@(H'0001,Y) st AL,@(0,Y) st AL,@(H'0002,Y) st AL,@(H'0003,Y) bra (?L87)?L79: ld X,@(H'0006,Y) ld AH,@(H'0002,X) bsr $_pbaPhoneBookSupported cmp AH,#H'0000 bne ?L81 st AH,@(H'0001,Y) st AH,@(0,Y) st AH,@(H'0002,Y) st AH,@(H'0003,Y)?L87: ld AL,#H'0001 st AL,@(H'0004,Y) ld X,@(H'0005,Y) ld AH,@(H'0002,X) bra (?L86)?L81: ld X,@(H'0006,Y) tst @(H'0008,X) bne ?L83 ld AH,@(H'0005,Y)?LBB16: add AH,#H'0001 ld AL,#H'0008 bsr $_setState ld AH,@(H'0005,Y) ld X,@(H'0006,Y) ld AL,@(H'0002,X) bsr $_pbaGetNumberElements ld AL,#H'0000 st AL,@(H'0001,Y) st AL,@(0,Y) st AH,@(H'0002,Y) st AL,@(H'0003,Y) ld X,@(H'0005,Y) ld AH,@(H'0002,X) bsr $_PbapsGetPhonebookFirstPacketParams?LBE16: bra (?L77)?L83: ld X,@(H'0006,Y)?LBB17: ld AL,@(H'0009,X) st AL,@(0,Y) ld AL,@(H'0003,X) st AL,@(H'0001,Y) ld AL,@(H'0008,X) st AL,@(H'0002,Y) ld AH,@(H'0005,Y) ld AL,@(H'0002,X) bsr $_vcgGetFirstPhonebookBuffer ld AL,#H'0000 st AL,@(H'0001,Y) st AL,@(0,Y) ld X,@(H'0005,Y) ld AL,@(H'000A,X) st AL,@(H'0002,Y) ld AL,@(H'000E,X) st AL,@(H'0003,Y) st AH,@(H'0004,Y) ld AH,@(H'0002,X) ld AL,#H'0000?L86: bsr $_PbapsGetPhonebookFirstPacket?LBE17: bra (?L77)?L78:; bsr $_Panic DC ((256*14)+9)?L77:?LBE15:?LBE_handlePbapGetPhonebookStartInd: leave #8;.stabn 192,0,0,?LBB16;.stabn 224,0,0,?LBE16;.stabn 192,0,0,?LBB17;.stabn 224,0,0,?LBE17_handlePbapGetPhonebookNextInd: enter #4?LBB_handlePbapGetPhonebookNextInd: st AH,@(H'0002,Y) ld X,@$XAP_AH?LBB18: ld AL,@(H'0001,X) cmp AL,#H'0007 bne ?L91?LBB19: bsr $_vcgGetNextPhonebookBuffer ld X,@(H'0002,Y) ld AL,@(H'000A,X) st AL,@(0,Y) st AH,@(H'0001,Y) ld AH,@(H'0002,X) ld AL,@(H'000E,X) bra (?L95)?L91: ld X,@(H'0002,Y)?LBE19: ld AL,@(H'0001,X) cmp AL,#H'0008 bne ?L93 ld AL,#H'0000 st AL,@(0,Y) ld AL,#H'0001 st AL,@(H'0001,Y) ld AH,@(H'0002,X) ld AL,#H'0000?L95: bsr $_PbapsGetPhonebookNextPacket bra (?L90)?L93:; bsr $_Panic DC ((256*14)+9)?L90:?LBE18:?LBE_handlePbapGetPhonebookNextInd: leave #4;.stabn 192,0,0,?LBB19;.stabn 224,0,0,?LBE19_handlePbapGetPhonebookCompleteInd: enter #2?LBB_handlePbapGetPhonebookCompleteInd: st AH,@(0,Y) ld X,@$XAP_AH ld AL,@(H'0001,X) add AL,#-H'0007 cmp AL,#(H'0001+H'0001) bcc ?L99 add AH,#H'0001 ld AL,#H'0004 bsr $_setState ld AH,@(0,Y) bsr $_vcgCleanupListBuffer bra (?L98)?L99:; bsr $_Panic DC ((256*14)+9)?L98:?LBE_handlePbapGetPhonebookCompleteInd: leave #2 ENDMOD;# Function pattern *movqi2 used[0] = 96 used[1] = 26 total = 122;# Function pattern *movqi3 used[0] = 124 total = 124;# Function pattern *addqi2 used[0] = 13 total = 13;# Function pattern jump used[0] = 36 total = 36;# Function pattern *call1 used[0] = 63 total = 63;# Function pattern *call_value1 used[0] = 11 total = 11;# Function pattern tablejump_1 used[0] = 1 total = 1;# Function pattern movstrqi+3 used[0] = 1 used[1] = 3 total = 4;# Function pattern movstrqi+4 used[1] = 2 total = 2;# Function pattern movstrqi+5 used[0] = 16 total = 16 MODULE handle_system .LARGE ; really small mode but we need space for debug symbols; GNU C version 3.3.3 (CSR version 29 for xap); compiled by GNU C version 3.2.3 (mingw special 20030504-1).;# options passed: -IC:/BlueLab41/tools/include/firmware;# -IC:/BlueLab41/tools/include/standard;# -IC:/BlueLab41/tools/include/profiles/BlueLab4.1-Release -iprefix;# -isystem -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=3;# -DNO_DEBUG -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 -fpeephole2;# -fguess-branch-probability -fmath-errno -ftrapping-math -mpeephole;# -mquiet-mode -minline-block-copy-mode -menhanced-mode -mload-cache-mode;# -mbitfield-mode -mtest4 .ENHANCED .CODE$_handleSystemMessages: enter #1?LBB_handleSystemMessages: ld X,@(H'0001,Y) cmp AL,#-H'7FDF beq ?L3 cmp AL,#-H'7FDE beq ?L4 bra (?L1)?L3: ld AL,@(0,X) bsr _handleMoreData bra (?L1)?L4: ld AL,@(0,X) bsr _handleMoreSpace?L1:?LBE_handleSystemMessages: leave #1_handleMoreData: enter #1?LBB_handleMoreData:?LBE_handleMoreData: leave #1_handleMoreSpace: enter #1?LBB_handleMoreSpace:?LBE_handleMoreSpace: leave #1 ENDMOD;# Function pattern *movqi3 used[0] = 3 total = 3;# Function pattern jump used[0] = 2 total = 2;# Function pattern *call1 used[0] = 2 total = 2;# Function pattern movstrqi+5 used[0] = 2 total = 2 MODULE main .LARGE ; really small mode but we need space for debug symbols; GNU C version 3.3.3 (CSR version 29 for xap); compiled by GNU C version 3.2.3 (mingw special 20030504-1).;# options passed: -IC:/BlueLab41/tools/include/firmware;# -IC:/BlueLab41/tools/include/standard;# -IC:/BlueLab41/tools/include/profiles/BlueLab4.1-Release -iprefix;# -isystem -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=3;# -DNO_DEBUG -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 -fpeephole2;# -fguess-branch-probability -fmath-errno -ftrapping-math -mpeephole;# -mquiet-mode -minline-block-copy-mode -menhanced-mode -mload-cache-mode;# -mbitfield-mode -mtest4 .ENHANCED .CODE_main_message_handler: enter #2?LBB_main_message_handler: st AL,@(-1,Y) ld X,@(H'0002,Y)?LBB2: add AL,#-H'7000 cmp AL,#(H'0001+H'0045) bcc ?L2 st X,@(0,Y) ld AL,@(-1,Y) bsr $_handleConnectionMessages bra (?L1)?L2: ld AL,#-H'6100 add AL,@(-1,Y) cmp AL,#(H'0001+H'0012) bcc ?L4 st X,@(0,Y) ld AL,@(-1,Y) bsr $_handlePbapMessages bra (?L1)?L4: ld AL,#H'7FFF add AL,@(-1,Y) cmp AL,#(H'0001+H'002A) bcc ?L1 st X,@(0,Y) ld AL,@(-1,Y) bsr $_handleSystemMessages?L1:?LBE2:?LBE_main_message_handler: leave #2;.stabn 192,0,0,?LBB2;.stabn 224,0,0,?LBE2_main_init: enter #2?LBB_main_init: ld AL,#H'0015 st AL,@(0,Y) ld AH,#($_gTheApp) ld AL,#H'0000 bsr $_memset ld AL,#lwrd(_main_message_handler) st AL,@$_gTheApp ld AH,#($_gTheApp+H'0001) ld AL,#H'0000 bsr $_setState ld AH,#($_gTheApp) bsr $_ConnectionInit?LBE_main_init: leave #2$_main: enter #1?LBB_main: bsr _main_init bsr $_MessageLoop ld AH,#H'0000?LBE_main: leave #1 .SEG VAR$_gTheApp: DS 21 ENDMOD;# Function pattern *movqi2 used[0] = 6 used[1] = 5 total = 11;# Function pattern *movqi3 used[0] = 7 total = 7;# Function pattern *addqi2 used[0] = 1 used[2] = 2 total = 3;# Function pattern jump used[0] = 2 total = 2;# Function pattern *call1 used[0] = 7 total = 7;# Function pattern *call_value1 used[0] = 1 total = 1;# Function pattern movstrqi+4 used[1] = 3 total = 3 MODULE pb_access .LARGE ; really small mode but we need space for debug symbols; GNU C version 3.3.3 (CSR version 29 for xap); compiled by GNU C version 3.2.3 (mingw special 20030504-1).;# options passed: -IC:/BlueLab41/tools/include/firmware;# -IC:/BlueLab41/tools/include/standard;# -IC:/BlueLab41/tools/include/profiles/BlueLab4.1-Release -iprefix;# -isystem -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=3;# -DNO_DEBUG -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 -fpeephole2;# -fguess-branch-probability -fmath-errno -ftrapping-math -mpeephole;# -mquiet-mode -minline-block-copy-mode -menhanced-mode -mload-cache-mode;# -mbitfield-mode -mtest4 .ENHANCED .SEG CONST_pbStr: dc H'70 dc H'62 dc H'2E dc H'64 dc H'61 dc H'74 dc H'00_ichStr: dc H'69 dc H'63 dc H'68 dc H'2E dc H'64 dc H'61 dc H'74 dc H'00_ochStr: dc H'6F dc H'63 dc H'68 dc H'2E dc H'64 dc H'61 dc H'74 dc H'00_mchStr: dc H'6D dc H'63 dc H'68 dc H'2E dc H'64 dc H'61 dc H'74 dc H'00_cchStr: dc H'63 dc H'63 dc H'68 dc H'2E dc H'64 dc H'61 dc H'74 dc H'00_gpbaPhonebookNamesList: dc _pbStr dc H'0006 dc _ichStr dc H'0007 dc _ochStr dc H'0007 dc _mchStr dc H'0007 dc _cchStr dc H'0007 .CODE$_pbaPhoneBookSupported: enter #3?LBB_pbaPhoneBookSupported:?LBB2: ld AL,#H'0000 st AL,@(H'0001,Y) ld AL,#-H'0001 add AL,@$XAP_AH cmp AL,#(H'0001+H'0004) bcc ?L4?LBB3: ld X,@$XAP_AH add X,@$XAP_AH ld AL,@(_gpbaPhonebookNamesList-H'0001,X) st AL,@(0,Y) ld AH,#H'0001 ld AL,@(_gpbaPhonebookNamesList-H'0002,X); bsr $_FileFind DC ((256*125)+9) cmp AH,#H'0000 beq ?L4 ld AL,#H'0001 st AL,@(H'0001,Y)?L4:?LBE3:?LBE2: ld AH,@(H'0001,Y)?LBE_pbaPhoneBookSupported: leave #3;.stabn 192,0,0,?LBB2;.stabn 192,0,0,?LBB3;.stabn 224,0,0,?LBE3;.stabn 224,0,0,?LBE2$_pbaOpenPhonebook: enter #5?LBB_pbaOpenPhonebook: st AH,@(H'0001,Y) st AL,@(H'0002,Y)?LBB4: ld AH,#H'0000 st AH,@(H'0003,Y) ld X,@(H'0001,Y) ld AH,@(H'0007,X) lsr #H'000F cmp AH,#H'0000 bne ?L7 ld AL,@(H'0002,Y) add AL,#-H'0001 cmp AL,#(H'0001+H'0004) bcc ?L7 ld X,@(H'0002,Y)?LBB5: add X,@$XAP_UXL ld AL,@(_gpbaPhonebookNamesList-H'0001,X) st AL,@(0,Y) ld AH,#H'0001 ld AL,@(_gpbaPhonebookNamesList-H'0002,X); bsr $_FileFind DC ((256*125)+9) cmp AH,#H'0000 beq ?L7 ld X,@(H'0001,Y) ld AL,@(H'0007,X) or AL,#-H'8000 st AL,@(H'0007,X); bsr $_StreamFileSource DC ((256*124)+9) ld X,@(H'0001,Y) st AH,@(H'0008,X) ld AL,#H'0000 ld AH,@(H'0002,Y) cmp AH,#H'0001 beq ?L10 ld AL,#H'0001?L10: ld X,@(H'0001,Y) st AL,@(H'0009,X) ld AL,@(H'0007,X) and AL,#-H'4001 st AL,@(H'0007,X) ld AH,#H'0001 st AH,@(H'0003,Y)?L7:?LBE5:?LBE4: ld AH,@(H'0003,Y)?LBE_pbaOpenPhonebook: leave #5;.stabn 192,0,0,?LBB4;.stabn 192,0,0,?LBB5;.stabn 224,0,0,?LBE5;.stabn 224,0,0,?LBE4$_pbaClosePhonebook: enter #2?LBB_pbaClosePhonebook: st AH,@(0,Y) ld X,@$XAP_AH?LBB6: ld AH,@(H'0008,X); bsr $_SourceSize DC ((256*66)+9) ld AL,@$XAP_AH cmp AH,#H'0000 beq ?L20?L18: ld X,@(0,Y) ld AH,@(H'0008,X); bsr $_SourceDrop DC ((256*67)+9) ld X,@(0,Y) ld AH,@(H'0008,X); bsr $_SourceSize DC ((256*66)+9) ld AL,@$XAP_AH cmp AH,#H'0000 bne ?L18?L20: ld X,@(0,Y) ld AL,@(H'0007,X) and AL,#H'7FFF st AL,@(H'0007,X) ld AL,#H'0000 st AL,@(H'0008,X)?LBE6:?LBE_pbaClosePhonebook: leave #2;.stabn 192,0,0,?LBB6;.stabn 224,0,0,?LBE6$_pbaGetCurrentEntry: enter #4?LBB_pbaGetCurrentEntry: st AH,@(0,Y) st AL,@(H'0001,Y) ld X,@$XAP_AH?LBB7: ld AH,@(H'0008,X); bsr $_SourceMap DC ((256*68)+9) st AH,@(H'0002,Y) ld X,@(0,Y) ld AH,@(H'0007,X) lsr #H'000F cmp AH,#H'0000 beq ?L21 ld AH,@(H'0001,Y) bsr $_zeroSearch ld X,@(0,Y) ld AL,@(H'0009,X) ld X,@(H'0001,Y) st AL,@(H'0008,X) ld AH,@(H'0002,Y) ld AL,@$XAP_UXL bsr $_findFields?L21:?LBE7:?LBE_pbaGetCurrentEntry: leave #4;.stabn 192,0,0,?LBB7;.stabn 224,0,0,?LBE7$_pbaFindNextEntry: enter #6?LBB_pbaFindNextEntry: st AH,@(0,Y) st AL,@(H'0001,Y)?LBB8: ld AL,#H'0000 st AL,@(H'0002,Y) ld X,@$XAP_AH ld AH,@(H'0008,X); bsr $_SourceMap DC ((256*68)+9) st AH,@(H'0003,Y) ld X,@(0,Y) ld AH,@(H'0007,X) lsr #H'000F cmp AH,#H'0000 bne ?L24 ld AH,#H'0000 bra (?L23)?L24: ld X,@(0,Y) ld AH,@(H'0007,X) lsr #H'000E and AH,#H'0001 cmp AH,#H'0000 beq ?L25 ld AH,@(H'0003,Y) ld AL,@(H'0001,Y) bsr $_findFields st AH,@(H'0004,Y) bra (?L34)?L25: ld X,@(0,Y) ld AL,@(H'0007,X) or AL,#H'4000 st AL,@(H'0007,X) bra (?L33)?L32: ld AH,@(H'0001,Y) bsr $_zeroSearch ld X,@(0,Y) ld AL,@(H'0009,X) ld X,@(H'0001,Y) st AL,@(H'0008,X) ld AH,@(H'0003,Y) ld AL,@$XAP_UXL bsr $_findFields st AH,@(H'0004,Y) ld AH,@(0,Y) ld AL,@(H'0001,Y) bsr _pbaSearchEntry st AH,@(H'0002,Y) cmp AH,#H'0000 bne ?L33?L34: ld X,@(0,Y) ld AH,@(H'0008,X) ld AL,@(H'0004,Y); bsr $_SourceDrop DC ((256*67)+9) ld X,@(0,Y) ld AL,@(H'0009,X) add AL,#H'0001 st AL,@(H'0009,X)?L33: ld X,@(0,Y) ld AH,@(H'0008,X); bsr $_SourceSize DC ((256*66)+9) cmp AH,#H'0000 beq ?L28 tst @(H'0002,Y) beq ?L32?L28: ld AH,@(H'0002,Y)?L23:?LBE8:?LBE_pbaFindNextEntry: leave #6;.stabn 192,0,0,?LBB8;.stabn 224,0,0,?LBE8$_pbaGotoEntry: enter #13?LBB_pbaGotoEntry: st AH,@(H'0009,Y) st AL,@(H'000A,Y) ld X,@$XAP_AH?LBB9: ld AH,@(H'0008,X); bsr $_SourceMap DC ((256*68)+9) st AH,@(H'000B,Y) bra (?L36)?L41: ld AH,@(H'000B,Y) ld AL,@$XAP_UY bsr $_findFields st AH,@H'fff8 ld X,@(H'0009,Y) ld AL,@(H'0009,X) cmp AL,@(H'000A,Y) bcc ?L40 ld AH,@(H'0008,X) ld AL,@H'fff8; bsr $_SourceDrop DC ((256*67)+9)?L40: ld X,@(H'0009,Y) ld AL,@(H'0009,X) add AL,#H'0001 st AL,@(H'0009,X)?L36: ld X,@(H'0009,Y) ld AH,@(H'0008,X); bsr $_SourceSize DC ((256*66)+9) cmp AH,#H'0000 beq ?L37 ld X,@(H'0009,Y) ld AL,@(H'0009,X) cmp AL,@(H'000A,Y) bcs ?L41?L37: ld X,@(H'0009,Y) ld AL,@(H'0007,X) and AL,#-H'4001 st AL,@(H'0007,X) ld AH,#H'0000 ld AL,@(H'0009,X) cmp AL,@(H'000A,Y) bcs ?L42 ld AH,#H'0001?L42:?LBE9:?LBE_pbaGotoEntry: leave #13;.stabn 192,0,0,?LBB9;.stabn 224,0,0,?LBE9$_pbaGotoNextEntry: enter #5?LBB_pbaGotoNextEntry: st AH,@(0,Y) st AL,@(H'0001,Y)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -