反汇编:
SysLcd_Init() { A = 0 Y = 0 buff_point = &Lcd_WriteData do { A = 0 *(buff_point+Y) = 0x00 Y += 1 } while (Y < 0x7F) }
汇编:
574A [A9 00 A0]: LDA #$00 @ 送累加器
574C [A0 00 A9]: LDY #$00 @ 送变址寄存器Y
574E [A9 80 8D]: LDA #$80 @ 送累加器
5750 [8D 2F 00]: STA $002F = #$80 @ 存累加器
5753 [A9 20 8D]: LDA #$20 @ 送累加器
5755 [8D 30 00]: STA $0030 = #$20 @ 存累加器
5758 [A9 00 91]: LDA #$00 @ 送累加器
575A [91 2F C8]: STA ($2F),Y @ $2080 = #$00 @ 存累加器
575C [C8 C0 7F]: INY @ 变址寄存器Y加1
575D [C0 7F 90]: CPY #$7F @ 变址寄存器Y与存储器比较
575F [90 F7 60]: BCC $5758 @ 进位为0分支
5761 [60 A9 F4]: RTS @ 子程序返回