【BA4988】GetDataBankNumber函数
反汇编:
void GetDataBankNumber(U8 logicStartBank,U16* physicalBankNumber) { _BK_SEL = logicStartBank physicalBankNumber = (_BK_ADRH << 8) + _BK_ADRL }
汇编:
E90A [4C 57 F4]: JMP $F457 @ 转移
F457 [08 78 48]: PHP @ 处理器状态压入堆栈
F458 [78 48 A0]: SEI @ 置中断禁止位
F459 [48 A0 00]: PHA @ 累加器压入堆栈
F45A [A0 00 B1]: LDY #$00 @ 送变址寄存器Y
F45C [B1 28 85]: LDA ($28),Y @ $17AF = #$A0 @ 送累加器
F45E [85 2F C8]: STA $2F = #$A0 @ 存累加器
F460 [C8 B1 28]: INY @ 变址寄存器Y加1
F461 [B1 28 85]: LDA ($28),Y @ $17B0 = #$17 @ 送累加器
F463 [85 30 68]: STA $30 = #$17 @ 存累加器
F465 [68 85 0C]: PLA @ 堆栈弹回累加器
F466 [85 0C A5]: STA $0C = #$00 @ 存累加器
F468 [A5 0D A0]: LDA $0D = #$32 @ 送累加器
F46A [A0 00 91]: LDY #$00 @ 送变址寄存器Y
F46C [91 2F A5]: STA ($2F),Y @ $17A0 = #$32 @ 存累加器
F46E [A5 0E C8]: LDA $0E = #$D2 @ 送累加器
F470 [C8 91 2F]: INY @ 变址寄存器Y加1
F471 [91 2F 28]: STA ($2F),Y @ $17A1 = #$D2 @ 存累加器
F473 [28 60 08]: PLP @ 堆栈弹回处理器状态
F474 [60 08 78]: RTS @ 子程序返回