【BA4988】_853B功能(未完成)
拆卸:
_853B()
{
a=液晶显示器_写数据
X=Lcd_X
Y=液晶显示器_Y
_8714() //00E97714
A=Lcd_X
X=A0x07
20B8=0x80
而(X!=0x00)
{
20B8=1
X-=1
}
20B9=20B8^0xFF
if (Lcd_X=0x08)
{
if((03 F8==0x 01)(003 b==03FA)(003 a==03 F9))
{
003A=03FB
003B=03FC
if (Lcd_WriteData==0x00)
{
转到85A6
}
*3A=((*3A 20B9)|0x01)
003A=03F9
003B=03FA
返回
}
if (Lcd_WriteData==0x00)
{
转到85D4
}
0420=(04200xFE)|0x01
返回
}
其他
{
转到85E0
}
}
编译:
[00e 9753 b]853 b[ad 8020]: LDA $ 2080=# $ 01 @发送至累加器
[00e 9753 e]853 e[ae81 20]: ldx $ 2081=# $ 0f @发送索引寄存器x
[00e 97541]8541[AC 8220]: ldy $ 2082=# $ 4a @发送索引寄存器y
[00e 97544]8544[201487]3360 JSR $ 8714 @转子$00E97714
[00e 97547]8547[ad 8120]: LDA $ 2081=# $ 0f @发送累加器
[00e9754a] 854a [29 07aa] :和# $07 @逻辑与
[00e 9754 c]854 c[aa 980]: tax @累加器到索引寄存器x
[00e 9754d]854d[a 9808d]3360 LDA # $ 80 @至蓄能器
[00e 9754 f]854 f[8db 820]: sta $ 20b 8=# $ 80 @存储累加器
[00E97552] 8552 [8C900] :TXA @索引寄存器X被发送到累加器
[00e 97553]8553[c900f 0]: CMP # $ 00 @累加器和内存比较
[00e 97555]8555[f 0074e]3360 beq $ 855 e @结果为0分支
[00e 97557]8557[4eb 820]3360 LSR $ 20b8=# $ 40 @右移
[00e 9755 a]855 a[ca 4c 52]: dex @索引寄存器x减1
[00e 9755 b]855 b[4c 5285]3360 jmp $ 8552 @ Transfer $ 00e 97552
[00e 9755 e]855 e[ADB 820]: LDA $ 20b 8=# $ 01 @发送到累加器
[00e 97561]8561[49f8d]3360 er # $ ff @逻辑异或
[00e 97563]8563[8db 920]: sta $ 20b9=# $ Fe @累加器
[00e 97566]8566[ad 8120]: LDA $ 2081=# $ 0f @发送累加器
[00e 97569]8569[c 90890]: CMP # $ 08 @累加器和内存比较
[00e 9756 b]856 b[9073 ad]3360 bcc $ 85e 0 @ carry 0分支
[00e 9756d]856d[ADF 803]: LDA $ 03 F8=# $ 01 @发送至累加器
[00e 97570]8570[c901 d 0]: CMP # $ 01 @累加器和内存比较
[00e 97572]8572[d 04 aad]3360 bne $ 85be @结果不是0分支。
[00e 97574]8574[ad 3b 00]: LDA $ 003 b=# $ 0d @ send累加器
[00e 97577]8577[cdfa 03]: CMP $ 03fa=# $ 04 @累加器和内存比较
[00e 9757 a]857 a[d 042 ad]3360 bne $ 85be @结果不是0分支
[00e 9757 c]857 c[ad3a 00]: LDA $ 003 a=# $ 00 @发送至累加器
[00e 9757 f]857 f[CDF 903]3360 CMP $ 03 F9=# $ 00 @累加器与内存比较
[00e 97582]8582[d03aad]3360 bne $ 85be @结果不是0分支。
[00e 97584]8584[adfb 03]: LDA $ 03fb=# $ 00 @发送至累加器
[00e 97587]8587[8d3a 00]: sta $ 003 a=# $ 00 @累加器
[00e 9758 a]858 a[AD FC 03]: LDA $ 03fc=# $ 10 @发送至累加器
[00e 9758d]858d[8d 3b 00]: sta $ 003 b=# $ 10 @累加器
[00e 97590]8590[ad 8020]: LDA $ 2080=# $ 01 @发送至累加器
[00e 97593]8593[c900f 0]: CMP # $ 00 @累加器和内存比较
[00e 97595]8595[F00fa0]3360 beq $ 85a 6 @结果为0分支
[00e 97597]8597[a 000 B1]: ldy # $ 00 @发送索引寄存器y
[00e 97599]8599[b13a 2d]3360 LDA($ 3a),y @ $1000=# $00 @到累加器。
[00e9759b] 859b [2db920] :和$ 20b9=# $ Fe @逻辑and
[00e 9759 e]859 e[0db 820]3360 ora $ 20b 8=# $ 01 @ logic or
[00e 975 a1]85 a1[913 a4 c]3360 sta($ 3a),y @ $1000=# $01 @存储累加器
[00e 975 a3]85 a3[4 caf 85]3360 jmp $ 85af @转账$00E975AF
[00e 975 af]85af[ADF 903]3360 LDA $ 03 F9=# $ 00 @发送至累加器
[00e 975 B2]85 B2[8d3a 00]: sta $ 003 a=# $ 00 @累加器
[00e 975 b5]85 b5[adfa 03]: LDA $ 03fa=# $ 04 @发送至累加器
[00e 975 b8]85 b8[8d 3b 00]: sta $ 003 b=# $ 04 @累加器
[00e 975 bb]85bb[4 cdd 85]3360 jmp $ 85dd @ transfer $ 00e 975 DD
[00e 975 be]85be[ad 8020]: LDA $ 2080=# $ 01 @发送至累加器
[00e 975 C1]85 C1[c900f 0]3360 CMP # $ 00 @累加器和内存比较
[00e 975 C3]85 C3[F00fa0]3360 beq $ 85d 4 @结果是0分支
[00e 975 C5]85 C5[a 000 B1]: ldy # $ 00 @发送索引寄存器y。
[00e 975 c 7]85 c 7[b13a 2d]3360 LDA($ 3a),y @ $0420=# $00 @到累加器。
[00e975c9] 85c9 [2db920] :和$ 20b9=# $ Fe @逻辑and
[00e 975 cc]85cc[0db 820]: ora $ 20b 8=# $ 01 @ logic or
[00e 975 cf]85cf[913 a 4c]3360 sta($ 3a),y @ $0420=# $01 @存储累加器
[00e 975 D1]85 D1[4c 0286]3360 jmp $ 8602 @ Transfer $ 00e 97602
[00e 975 DD]85dd[4c 0286]3360 jmp $ 8602 @ Transfer $ 00e 97602
[00e 97602]8602[60a 200]: RTS @子程序返回
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/134425.html