首页 > TAG信息列表 > BA4988
【BA4988】SysHalt函数
反汇编: void SysHalt(void) { if (_2021&0x02 == 0) { _SYSCON|=0x08 } } 汇编: [00E9E304]7304 [08 78 AD]: PHP @ 处理器状态压入堆栈[00E9E305]7305 [78 AD 21]: SEI @ 置中断禁止位[00E9E306]7306 [AD 21 20]: LDA $2021 = #$04 @ 送累加器[00E9E309]73【BA4988】SysGetKey函数
反汇编: U8 SysGetKey() { if (KeyBuffBottom == KeyBuffTop) { return 0xFF } else { buff_point = &KeyBuffer key = buff_point[KeyBuffBottom] KeyBuffBottom+=1 KeyBuffBottom&=0x0F return【BA4988】PI_ISR_routine函数
反汇编: PI_ISR_routine() { tmp1 = buff_point _ISR = 0x7F AutoPowerOffCount=AutoPowerOffValue if (_201B&0x04) { _AUDCON|=0xC0 _TIER|=0x20 _201B|=0x01 _MTCT=0xFE } if (!(_KEYCODE&0x80)) {【BA4988】_F6F1函数
反汇编: _F6F1(U6 x) { (x + 0xE74C)() } 汇编: [00E8A6F1]F6F1 [98 48 A5]: TYA @ 变址寄存器Y送累加器[00E8A6F2]F6F2 [48 A5 26]: PHA @ 累加器压入堆栈[00E8A6F3]F6F3 [A5 26 48]: LDA $26 = #$79 @ 送累加器[00E8A6F5]F6F5 [48 A5 27]: PHA @ 累加器压入堆栈[00E8A6F6]F【BA4988】_0300中断
反汇编: _0300() { _F6F1(0) } 汇编: [00000300]0300 [4C 11 F7]: JMP $F711 @ 转移$00E8A711[00E8A711]F711 [48 8A 48]: PHA @ 累加器压入堆栈[00E8A712]F712 [8A 48 A2]: TXA @ 变址寄存器X送累加器[00E8A713]F713 [48 A2 00]: PHA @ 累加器压入堆栈[00E8A714]F714 [A2 00【BA4988】_65FB函数
反汇编: _65FB() { if (Lcd_Y<0x40) {662D } elif (Lcd_Y==0x40) {6650 } if (Lcd_Y==0x41) {666C } elif (Lcd_Y>=0x41) {660A *(U16*)&003A+=0x0020 *(U16*)&0038+=0x0020 } } 汇编: [00E955FB]65FB [AD 82 20]: LDA $2082 = #$57 @ 送累加器[00E95【BA4988】_853B函数(未完成)
反汇编: _853B() { A=Lcd_WriteData X=Lcd_X Y=Lcd_Y _8714() // 00E97714 A=Lcd_X X=A&0x07 20B8=0x80 while (X != 0x00) { 20B8>>=1 X-=1 } 20B9=20B8^0xFF if (Lcd_X >= 0x08) { if ((03F8 == 0x01) && (003B == 03FA) &&【BA4988】_8324函数(未完成)
反汇编: _8324() { if (_20ED >= _20EB) { Y=_20ED 20ED = 20EB 20EB = Y Y=20EE 20EE=20EC 20EC=Y } 2081=20ED 2082=20EE _853B() // 00E9753B 20CF=20EB-20ED if (20EB >= 20ED) { 20D0=20EC-20EE if (20EC>=20EE) { if (20CF >【BA4988】AppEnvInit函数
反汇编: AppEnvInit() { SysMemInit(0x2C00, 0x1400) __stack_ptr += 0x04 _5000() // 0E90000() FileRepairFlash() } 汇编: 7A22 [A9 00 85]: LDA #$00 @ 送累加器7A24 [85 20 A9]: STA $20 = #$00 @ 存累加器7A26 [A9 14 85]: LDA #$14 @ 送累加器7A28 [85 21【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) } 汇编: 574A [A9 00 A0]: LDA #$00 @ 送累加器574C [A0 00 A9]: LDY #$00 @ 送变址寄存【BA4988】_70F4函数
反汇编: _70F4() { _LCDCON = 0x1A _7226() _7BB0() _7BB0() _7BB0() _202B = 0x10 _LCDRES = 0x76 _LCDMODE = 0x80 _LCDCON = 0x94 } 汇编: 70F4 [A9 1A 8D]: LDA #$1A @ 送累加器70F6 [8D 1F 02]: STA $021F = #$1A @ 存累加器70F9 [20 26 72]: JSR $7226 @ 转子70FC【BA4988】_7BB0函数
反汇编: _7BB0() { X = 0x10 Y = 0xFF do { void // nop void // nop void // nop void // nop void // nop Y = 0xFF do { void // nop void // nop void // nop void // nop void // nop void // nop void // nop void // nop vo【BA4988】系统启动入口
反汇编: __init__() { __lib_temp_ptr = 0x17D7 __stack_ptr = 0x17D7 self.S = 0xFF // 修改栈指针 _SYSCON = 0x02 _CPUCLK = 0x03 _SYSCON = 0x44 _OSCK = 0xF3 _SYSCON = 0x05 X=0xFF do { for (i=0; i<10; i++)【BA4988】中断向量表
vectors 00000300 000003B9 0x0300 JMP F7110x0304 JMP F71D0x0308 JMP F7590x030C JMP F7650x0310 JMP F7710x0314 JMP F77D0x0318 JMP F7890x031C JMP F7950x0320 JMP F7A10x0324 JMP F7AD0x0328 JMP F7B90x032C JMP F7C50x0330 JMP F7C【BA4988】SysMemcmp函数(未完成)
反汇编: 汇编: E901 [4C BD F5]: JMP $F5BD @ 转移F5BD [A0 00 B1]: LDY #$00 @ 送变址寄存器YF5BF [B1 28 85]: LDA ($28),Y @ $17AF = #$A0 @ 送累加器F5C1 [85 2F C8]: STA $2F = #$A0 @ 存累加器F5C3 [C8 B1 28]: INY @ 变址寄存器Y加1F5C4 [B1 28 85]: LDA ($28),Y @ $17B0