【BA4988】SysLcd_Init函数

反汇编:

SysLcd_Init()
{
    A = 0
    Y = 0
    buff_point = &Lcd_WriteData
    do
    {
        A = 0
        *(buff_point+Y) = 0x00
        Y += 1
    }
    while (Y < 0x7F)
}

汇编:

[00E9474A]574A [A9 00 A0]: LDA #$00 @ 送累加器
[00E9474C]574C [A0 00 A9]: LDY #$00 @ 送变址寄存器Y
[00E9474E]574E [A9 80 8D]: LDA #$80 @ 送累加器
[00E94750]5750 [8D 2F 00]: STA $002F = #$80 @ 存累加器
[00E94753]5753 [A9 20 8D]: LDA #$20 @ 送累加器
[00E94755]5755 [8D 30 00]: STA $0030 = #$20 @ 存累加器
[00E94758]5758 [A9 00 91]: LDA #$00 @ 送累加器
[00E9475A]575A [91 2F C8]: STA ($2F),Y @ $2080 = #$00 @ 存累加器
[00E9475C]575C [C8 C0 7F]: INY @ 变址寄存器Y加1
[00E9475D]575D [C0 7F 90]: CPY #$7F @ 变址寄存器Y与存储器比较
[00E9475F]575F [90 F7 60]: BCC $5758 @ 进位为0分支
[00E94761]5761 [60 A9 F4]: RTS @ 子程序返回

posted @ 2021-12-02 00:38  无云  阅读(71)  评论(0)    收藏  举报