【BA4988】_8714函数
反汇编:
_8714()
{
if (Lcd_Y != 0x41)
{
if (Lcd_Y < 0x41)
{
2085 = Lcd_Y
2087 = 0x20
_7BD2() // 00E96BD2
003A=0x20-2089
003B=0C-2085-(0x20<2089?1:0)
*(U16 *)&0038=(U16)003A-0x000D
if (Lcd_X >= 0x08)
{
20B7=Lcd_X-0x08
while (20B7>=0x08)
{
20B7-=-0x08
*(U16*)&_003A+=0x0001
}
}
}
else
{
2085=2082
2087 = 0x20
_7BD2() // 00E96BD2
003A=0x20-2089
003B=0C-2085-(0x20<2089?1:0)
0038=(U16)003A-0x000D
if (Lcd_X >= 0x01)
{
20B7=Lcd_X-0x08
while (20B7>=0x08)
{
20B7-=0x08
*(U16*)&003A+=0x0001
}
}
}
}
else
{
0038=0xF3
0039=0x0F
003A=0x00
003B=0x04
if (Lcd_X>=0x08)
{
20B7=Lcd_X-0x08
while (20B7>=0x08)
{
20B7-=0x08
*(U16*)&003A+=0x0001
}
}
}
}
汇编:
[00E97714]8714 [AD 82 20]: LDA $2082 = #$00 @ 送累加器
[00E97717]8717 [C9 41 D0]: CMP #$41 @ 累加器与存储器比较
[00E97719]8719 [D0 03 4C]: BNE $871E @ 结果不为0分支
[00E9771B]871B [4C EA 87]: JMP $87EA @ 转移$00E977EA
[00E9771E]871E [90 68 38]: BCC $8788 @ 进位为0分支
[00E97720]8720 [38 AD 82]: SEC @ 置进位标志
[00E97721]8721 [AD 82 20]: LDA $2082 = #$4A @ 送累加器
[00E97724]8724 [E9 42 8D]: SBC #$42 @ 带借位的减法
[00E97726]8726 [8D 85 20]: STA $2085 = #$08 @ 存累加器
[00E97729]8729 [A9 20 8D]: LDA #$20 @ 送累加器
[00E9772B]872B [8D 87 20]: STA $2087 = #$20 @ 存累加器
[00E9772E]872E [20 D2 7B]: JSR $7BD2 @ 转子$00E96BD2
[00E97731]8731 [18 A9 40]: CLC @ 清进位标志
[00E97732]8732 [A9 40 6D]: LDA #$40 @ 送累加器
[00E97734]8734 [6D 89 20]: ADC $2089 = #$00 @ 带进位加
[00E97737]8737 [8D 3A 00]: STA $003A = #$40 @ 存累加器
[00E9773A]873A [A9 0C 6D]: LDA #$0C @ 送累加器
[00E9773C]873C [6D 85 20]: ADC $2085 = #$01 @ 带进位加
[00E9773F]873F [8D 3B 00]: STA $003B = #$0D @ 存累加器
[00E97742]8742 [38 AD 3A]: SEC @ 置进位标志
[00E97743]8743 [AD 3A 00]: LDA $003A = #$40 @ 送累加器
[00E97746]8746 [E9 0D 8D]: SBC #$0D @ 带借位的减法
[00E97748]8748 [8D 38 00]: STA $0038 = #$33 @ 存累加器
[00E9774B]874B [AD 3B 00]: LDA $003B = #$0D @ 送累加器
[00E9774E]874E [E9 00 8D]: SBC #$00 @ 带借位的减法
[00E97750]8750 [8D 39 00]: STA $0039 = #$0D @ 存累加器
[00E97753]8753 [AD 81 20]: LDA $2081 = #$0F @ 送累加器
[00E97756]8756 [C9 08 B0]: CMP #$08 @ 累加器与存储器比较
[00E97758]8758 [B0 03 4C]: BCS $875D @ 进位为“1”分支
[00E9775A]875A [4C 30 88]: JMP $8830 @ 转移$00E97830
[00E9775D]875D [38 AD 81]: SEC @ 置进位标志
[00E9775E]875E [AD 81 20]: LDA $2081 = #$0F @ 送累加器
[00E97761]8761 [E9 08 8D]: SBC #$08 @ 带借位的减法
[00E97763]8763 [8D B7 20]: STA $20B7 = #$07 @ 存累加器
[00E97766]8766 [38 AD B7]: SEC @ 置进位标志
[00E97767]8767 [AD B7 20]: LDA $20B7 = #$07 @ 送累加器
[00E9776A]876A [E9 08 B0]: SBC #$08 @ 带借位的减法
[00E9776C]876C [B0 03 4C]: BCS $8771 @ 进位为“1”分支
[00E9776E]876E [4C 30 88]: JMP $8830 @ 转移$00E97830
[00E97771]8771 [8D B7 20]: STA $20B7 = #$03 @ 存累加器
[00E97774]8774 [18 A9 01]: CLC @ 清进位标志
[00E97775]8775 [A9 01 6D]: LDA #$01 @ 送累加器
[00E97777]8777 [6D 3A 00]: ADC $003A = #$40 @ 带进位加
[00E9777A]877A [8D 3A 00]: STA $003A = #$41 @ 存累加器
[00E9777D]877D [A9 00 6D]: LDA #$00 @ 送累加器
[00E9777F]877F [6D 3B 00]: ADC $003B = #$0D @ 带进位加
[00E97782]8782 [8D 3B 00]: STA $003B = #$0D @ 存累加器
[00E97785]8785 [4C 66 87]: JMP $8766 @ 转移$00E97766
[00E97788]8788 [AD 82 20]: LDA $2082 = #$00 @ 送累加器
[00E9778B]878B [8D 85 20]: STA $2085 = #$00 @ 存累加器
[00E9778E]878E [A9 20 8D]: LDA #$20 @ 送累加器
[00E97790]8790 [8D 87 20]: STA $2087 = #$20 @ 存累加器
[00E97793]8793 [20 D2 7B]: JSR $7BD2 @ 转子$00E96BD2
[00E97796]8796 [38 A9 20]: SEC @ 置进位标志
[00E97797]8797 [A9 20 ED]: LDA #$20 @ 送累加器
[00E97799]8799 [ED 89 20]: SBC $2089 = #$00 @ 带借位的减法
[00E9779C]879C [8D 3A 00]: STA $003A = #$20 @ 存累加器
[00E9779F]879F [A9 0C ED]: LDA #$0C @ 送累加器
[00E977A1]87A1 [ED 85 20]: SBC $2085 = #$00 @ 带借位的减法
[00E977A4]87A4 [8D 3B 00]: STA $003B = #$0C @ 存累加器
[00E977A7]87A7 [38 AD 3A]: SEC @ 置进位标志
[00E977A8]87A8 [AD 3A 00]: LDA $003A = #$20 @ 送累加器
[00E977AB]87AB [E9 0D 8D]: SBC #$0D @ 带借位的减法
[00E977AD]87AD [8D 38 00]: STA $0038 = #$13 @ 存累加器
[00E977B0]87B0 [AD 3B 00]: LDA $003B = #$0C @ 送累加器
[00E977B3]87B3 [E9 00 8D]: SBC #$00 @ 带借位的减法
[00E977B5]87B5 [8D 39 00]: STA $0039 = #$0C @ 存累加器
[00E977B8]87B8 [AD 81 20]: LDA $2081 = #$00 @ 送累加器
[00E977BB]87BB [C9 08 B0]: CMP #$08 @ 累加器与存储器比较
[00E977BD]87BD [B0 03 4C]: BCS $87C2 @ 进位为“1”分支
[00E977BF]87BF [4C 30 88]: JMP $8830 @ 转移$00E97830
[00E977C2]87C2 [38 AD 81]: SEC @ 置进位标志
[00E977C3]87C3 [AD 81 20]: LDA $2081 = #$0F @ 送累加器
[00E977C6]87C6 [E9 08 8D]: SBC #$08 @ 带借位的减法
[00E977C8]87C8 [8D B7 20]: STA $20B7 = #$07 @ 存累加器
[00E977CB]87CB [38 AD B7]: SEC @ 置进位标志
[00E977CC]87CC [AD B7 20]: LDA $20B7 = #$07 @ 送累加器
[00E977CF]87CF [E9 08 90]: SBC #$08 @ 带借位的减法
[00E977D1]87D1 [90 5D 8D]: BCC $8830 @ 进位为0分支
[00E977D3]87D3 [8D B7 20]: STA $20B7 = #$00 @ 存累加器
[00E977D6]87D6 [18 A9 01]: CLC @ 清进位标志
[00E977D7]87D7 [A9 01 6D]: LDA #$01 @ 送累加器
[00E977D9]87D9 [6D 3A 00]: ADC $003A = #$E0 @ 带进位加
[00E977DC]87DC [8D 3A 00]: STA $003A = #$E1 @ 存累加器
[00E977DF]87DF [A9 00 6D]: LDA #$00 @ 送累加器
[00E977E1]87E1 [6D 3B 00]: ADC $003B = #$09 @ 带进位加
[00E977E4]87E4 [8D 3B 00]: STA $003B = #$09 @ 存累加器
[00E977E7]87E7 [4C CB 87]: JMP $87CB @ 转移$00E977CB
[00E977EA]87EA [A9 F3 8D]: LDA #$F3 @ 送累加器
[00E977EC]87EC [8D 38 00]: STA $0038 = #$F3 @ 存累加器
[00E977EF]87EF [A9 0F 8D]: LDA #$0F @ 送累加器
[00E977F1]87F1 [8D 39 00]: STA $0039 = #$0F @ 存累加器
[00E977F4]87F4 [A9 00 8D]: LDA #$00 @ 送累加器
[00E977F6]87F6 [8D 3A 00]: STA $003A = #$00 @ 存累加器
[00E977F9]87F9 [A9 04 8D]: LDA #$04 @ 送累加器
[00E977FB]87FB [8D 3B 00]: STA $003B = #$04 @ 存累加器
[00E977FE]87FE [AD 81 20]: LDA $2081 = #$90 @ 送累加器
[00E97801]8801 [C9 08 B0]: CMP #$08 @ 累加器与存储器比较
[00E97803]8803 [B0 03 4C]: BCS $8808 @ 进位为“1”分支
[00E97805]8805 [4C 30 88]: JMP $8830 @ 转移$00E97830
[00E97808]8808 [38 AD 81]: SEC @ 置进位标志
[00E97809]8809 [AD 81 20]: LDA $2081 = #$90 @ 送累加器
[00E9780C]880C [E9 08 8D]: SBC #$08 @ 带借位的减法
[00E9780E]880E [8D B7 20]: STA $20B7 = #$88 @ 存累加器
[00E97811]8811 [38 AD B7]: SEC @ 置进位标志
[00E97812]8812 [AD B7 20]: LDA $20B7 = #$88 @ 送累加器
[00E97815]8815 [E9 08 90]: SBC #$08 @ 带借位的减法
[00E97817]8817 [90 17 8D]: BCC $8830 @ 进位为0分支
[00E97819]8819 [8D B7 20]: STA $20B7 = #$80 @ 存累加器
[00E9781C]881C [18 A9 01]: CLC @ 清进位标志
[00E9781D]881D [A9 01 6D]: LDA #$01 @ 送累加器
[00E9781F]881F [6D 3A 00]: ADC $003A = #$00 @ 带进位加
[00E97822]8822 [8D 3A 00]: STA $003A = #$01 @ 存累加器
[00E97825]8825 [A9 00 6D]: LDA #$00 @ 送累加器
[00E97827]8827 [6D 3B 00]: ADC $003B = #$04 @ 带进位加
[00E9782A]882A [8D 3B 00]: STA $003B = #$04 @ 存累加器
[00E9782D]882D [4C 11 88]: JMP $8811 @ 转移$00E97811
[00E97830]8830 [60 AD BD]: RTS @ 子程序返回
浙公网安备 33010602011771号