исходники на псевдо Си, цикл for(;;;условие) {}-блоки ;-разделитель ()-адрес p0000=#B000.0000 порты, m0000=#8C00.0000 память // коментарии часть процедур не используется, разбирать надо только x:000000 до STOP может есть ошибки, кто найдет, пишите в гостевую, сырой исходник ассемблер+описание ------------------------------------- x:000000| $sp = #D0008000; $gp = #8C00A8C0 c:000180| (m29A8) = #8C000310; (m29C0) = #8C000310; (m29AC) = #8C0025F0 | (m29BC) = #8C0025F0; (m29B0) = #8C0029A0; (m29C4) = #8C00BF30 c:000200| byte(p1000) = 1; byte(p5023) = 1; $v1 = byte(p00B1); $v1 = $v1 & 2 | (p1010) = #01A00401 | GOTO n_0002A0 if $v1 = 0 n:000240| $v1 = (m29BC); $a1 = (m29B0); $a0 = (m29AC) // v1<-a0..a1 |if($v1<$a1){for($v0=($a0); ($v1)=$v0; $v1 += 4; $a0 += 4; if $v1<$a1)} | $a0 = (m29C4) //a1..a2<-0 |if(#8C0029C8 < $a0){for(($v1)=0; $v1 += 4; if $v1 < $a0)} | GOTO end_8C000200 n:0002A0| $v1 = (m29A4); $a1 = (m29A0); $a0 = (m29A8) // v1<-a0..a1 |if($v1 < $a1){for($v0=($a0); ($v1)=$v0; $v1 += 4; $a0 += 4; if $v1 < $a1)} | $v1 = (m29B8); $a1 = (m29B4) //v2<-a1..a2 |if($v1 < $a1){for($v0=($a0); ($v1)=$v0; $v1 += 4; $a0 += 4; if $v1 < $a1)} | LOOP n_000240 end_8C000200----------------------------------------- c:000450| $sp -= 24; (Stek10) = $s0 ;(Stek14) = $ra | $a0 = #8C0028C0 //"/n/r/n/r" | $s0 = #8C0028C8 |Write_string_to_p1015 if bit6(p1016) a0-adr 0-end | $a0 = #8C0028C8 //+-------------+/n/a |Write_string_to_p1015 if bit6(p1016) a0-adr 0-end | $a0 = #8C0028EC //| NAND loader II |/n/a |Write_string_to_p1015 if bit6(p1016) a0-adr 0-end c:0005FC| $sp -= 64 | (Stek28) = $s4 | .$s4 = #8C002E50 | $a0 = #8C002E50 //mem | (st34)=$s7; (st30)=$s6; (st2C)=$s5; (st20)=$s2; (st1C)=$s1; (st38)=$ra; (st24)=$s3; (st18)=$s0 c:000D5C| $v0 = #8C003F18 | #A0000000 //A80-adr zagr? | ($a0 + #38) = $v0 | $v0 = #8C003F30 | #A0000000 | ($a0 + #34) = $v0 | $a0 = 4; $a1 = 4 c:0014DC| $a1 = $a1 << 4 | $a1 = $a1 | $a0 | byte(p4000) = 1; byte(p4021) = $a1 | $v0 = 0 | (m2E7C) = #8C007F30 | (m2E80) = #8C002A50 | (m2E58) = #8C002938 //NAND | word16(m2E6C) = 8 | $s2 = (m2E84) | $s6 = (m3F28) & #00FF | $a2 = 1; $a0 = 1 ; $a1 = $s6 -CALL #8C0020E4---(big) | $a1 = #8C002E51; $a0 = #8C002E50 c:0014FC| $sp -= 32; (Stek10) = $s0;(Stek18) = $ra; (Stek14) = $s1 | $s0 = $a0 ; $a0 = #90 ; $s1 = $a1 C:001818|byte(p4023)=2; byte(p4023)=10; byte(p4020)=$a0; byte(p4023)=2 | $a0 = 1; $a1 = 0; $a2 = 0 C:001584| $a3 = 0 //a0-num_func a1-val p4020 | byte(p4023) = 6 | $a0 = 0 ; $v0 = (m27F8) //8C00146C | GOTO 8C00146C ------------------ t:0015C0|$v0=$a0 << 1; $a1=$a0 >> 18; $v1=$a0 >> 2; $v0=$v0 & 6; $a0=$a0 >> 10; byte(p4020)=0;byte(p4020)=$v0;byte(p4020)=$v1;byte(p4020)=$a0;byte(p4020)=$a1;byte(p4023)=2;exit(v0=0) t:001610| byte(p4020)=$a0; byte(p4023)=2; exit(v0=0) t:001620|$v0=$a0 >> 8; byte(p4020)=$a0;byte(p4020)=$v0;byte(p4023)=2;exit(v0=0) t:001628| $v1 = $a0 >> 16 ; GOTO n_001638 if $a2 = 0 | $v0 = $a0 >> 8 ; GOTO n_00166C n:001638|$v0=$a0 >> 8;byte(p4020)=0;byte(p4020)=$a0;byte(p4020)=$v0;byte(p4023)=2;exit(v0=0) t:00165C| $v1=$a0 >> 16 ; $v0=$a0 >> 8 ; byte(p4020)=0 n:00166C|byte(p4020)=$a0;byte(p4020)=$v0;byte(p4020)=$v1;byte(p4023)=2;exit(v0=0) ---(END_8C001584)----------------------------------------- C:001694| $v1 = #1388 |if(byte(p4024) & 1){exit(v0=1)} | $v1 -- for(if($v1 = 0)exit(v0=2); if(byte(p4024) & 1)exit(v0=1); $v1 --} end_8C001694 // exit v0=1 if bit1 p4024 wait else v0=2 | byte(p4025) = 1; $a1 = byte(p4020); byte($s0) = $a1 | byte(p4025) = 1; $v0 = byte(p4020); byte($s1) = $v0 | $ra = (Stek18); $s0 = (Stek10); $s1 = (Stek14) | byte(p4023) = 3; $sp += 32; $a0 = $s4 c:001180| $a1 = $a0; $v0 = byte($a1 + 1) | $a0 = $v0 + #FF8F (-113) | ($a1 + #3C) = #8C000E9C ; ($a1 + #40) = #8C000D80 | GOTO n_00146C if $a0 >= #81 | $v0 = $a0*4 + #8C0025F0 | $v0 = ($v0)//t01214 t0146C t01260 t0146C t012AC t012F4 t0146C t0146C t0133C | GOTO $v0 t:0011C8| byte($a1 + #2A) = #10; byte($a1 + #24) = 9; ($a1 + #20) = #2000 | byte($a1 + #28) = 3 ; $a2 = 0; byte($a1 + #25) = 4 | word16($a1 + #26) = #0200 ; byte($a1 + #29) = 6 | word16($a1 + 4) = 4 ; word16($a1 + #1E) = #0200 n:00120C| $v0 = $a2 | GOTO end_8C001180 t:001214| byte($a1+#2A) = #10; word16($a1+4) = #0100 ; word16($a1+#1E) = #0200 | byte($a1 + #24) = 9; byte($a1 + #25) = 5; byte($a1 + #28) = 4 | $a2 = 0 | word16($a1 + #26) = #4000; byte($a1 + #29) = 6; ($a1 + #20) = #4000 | LOOP n_00120C t:001260| word16($a1 + #1E) = #0200 | byte($a1 + #24) = 9; ($a1 + #20) = #4000; byte($a1 + #25) = 5 | word16($a1 + #26) = #0400 ; byte($a1 + #28) = 3 | $a2 = 0 | byte($a1 + #2A) = #10 ; byte($a1 + #29) = 6; word16($a1 + 4) = #10 | LOOP n_00120C t:0012AC| byte($a1 + #2A) = #10; word16($a1 + 4) = #20 | word16($a1 + #1E) = #0200; byte($a1 + #24) = 9 | ($a1 + #20) = #4000 ; byte($a1 + #25) = 5 | word16($a1 + #26) = #0800; byte($a1 + #28) = 3 | $a2 = 0 | GOTO n_0014D0 t:0012F4| byte($a1 + #2A) = #10 ; word16($a1 + 4) = #40 | word16($a1 + #1E) = #0200 ; byte($a1 + #24) = 9 | ($a1 + #20) = #4000 ; byte($a1 + #25) = 5 | word16($a1 + #26) = #1000 ; byte($a1 + #28) = 4 | $a2 = 0 | GOTO n_0014D0 t:00133C| byte($a1 + #2A) = #10 ; word16($a1 + 4) = #80 | word16($a1 + #1E) = #0200 ; byte($a1 + #24) = 9 | ($a1 + #20) = #4000 ; byte($a1 + #25) = 5 | word16($a1 + #26) = #2000 ; byte($a1 + #28) = 4 | $a2 = 0 | GOTO n_0014D0 t:001384| byte($a1 + #2A) = #10 ; ($a1 + #3C) = #8C000C94 | ($a1 + #40) = #8C000AE0 ; word16($a1 + 4) = #0100 | word16($a1 + #1E) = #0200 ; byte($a1 + #24) = 9 | ($a1 + #20) = #0002.0000 ; byte($a1 + #25) = 8 | $v0 = #0800 | GOTO n_0014C0 t:0013D4| byte($a1 + #2A) = #10 | ($a1 + #3C) = #8C000C94 ; ($a1 + #40) = #8C000AE0 | word16($a1 + 4) = #0100 ; word16($a1 + #1E) = #0200 | byte($a1 + #24) = 9 ; ($a1 + #20) = #00020000 | byte($a1 + #25) = 8 ; $v0 = #1000 |GOTO n_0014C0 t:001424| byte($a1 + #2A) = #10 ; word16($a1 + 4) = 8 | word16($a1 + #1E) = #0200 ; byte($a1 + #24) = 9 | ($a1 + #20) = #2000 ; byte($a1 + #25) = 4 | word16($a1 + #26) = #0400 ; byte($a1 + #28) = 3 | $a2 = 0 |GOTO n_0014D0 ---------------------------------------------------------------! n:00146C| $a2 = 1 |LOOP n_00120C t:001474| byte($a1+#2A)=#10; ($a1+#3C)=#8C000C94; ($a1+#40) = #8C000AE0 | word16($a1+4)=#80; word16($a1+#1E)=#0200; byte($a1+#24) = 9 | ($a1+#20)=#00020000; byte($a1+#25)=8; $v0=#0400 n:0014C0| word16($a1 + #26) = $v0 ; byte($a1 + #28) = 5; $a2 = 2 n:0014D0| byte($a1 + #29) = 6 | LOOP n_00120C end_8C001180---------------------------------------- | $s1 = $v0 ; $s7 = (m2E90); $s5 = (m2E8C); $v0 = 2 | GOTO n_000714 if $s1 = 0 | GOTO n_000714 if $s1 = $v0 | byte(m2E52) = 0 n:0006B8| $a0 = $s6 n:0006BC| $a1 = 1; $a2 = 1 |-CALL #8C0020E4------------(big) | $a1 = ($s2 + #20); $v0 = byte(m2E75); $a0 = ($s2 + #1C); | $a1 = $a1 << $v0; $a0 = $a0 << $v0 ; $a2 = #AC01.0000 c:000950| $sp -= 64 | (st34)=$s7; (st30)=$s6; (st2C)=$s5; (st28)=$s4; (st24)=$s3; (st20)=$s2; (st1C)=$s1; (st18)=$s0; (st38)=$ra | $s0 = $a0; $s3 = $a1 ; $s5 = (m2E90); $s4 = $a2 | $v0 = (m3F28); $s6 = $v0 & #00FF; $a0 = 1; $a2 = 1 ; $a1 = $s6 |-CALL #8C0020E4--------------(big) | $a2 = byte(m2E75) | $s1 = 1 << $a2 | $hi$lo = $s0 / $s1 |if($s1=0){break #1C0} //div 0 | $s7 = #8C002E50 //mem | $a0 = $hi; $s2 = $s0 >> $a2 | GOTO n_000A20 if $a0 = 0 | $v0 = word16({$s2*2} + #8C002EA0); $v1 = $s1 - $a0 | $a2 = $v0 << $a2 | $v0 = 1 if $s3 < $v1 | $a2 = $a2 + $a0; $s0 = $s3 |if($v0=0){$s0 = $v1} | (Stek10) = $s4 | $a0 = #8C002E50; $a1 = 0; $a3 = $s0 |CALL $s5 $ra=ret_adr----------- | $s3 = $s3 - $s0 ; $s4 = $s4 + {$s0 << byte(m2E74)} ; $s2 ++ n:000A20| $v0 = 1 if $s3 < $s1 | GOTO n_000A70 if $v0 n:000A2C| $v1 = word16({$s2*2} + #8C002EA0) | $v0 = byte(m2E75) | (Stek10) = $s4 | $a2 = $v1 << $v0 ; $a0 = #8C002E50 ; $a1 = 0; $a3 = $s1 |CALL $s5 $ra=ret_adr-------- | $s3 = $s3 - $s1 ; $v0 = ($s7 + #20) | $v1 = 1 if $s3 < $s1 | $s4 = $s4 + $v0 ; $s2 ++ | LOOP n_000A2C if $v1 = 0 n:000A70| $v0 = $s2 * 2 | GOTO n_000AA0 if $s3 = 0 | $v1 = word16($v0 + #8C002EA0) | $v0 = byte(m2E75) ; (Stek10) = $s4 | $a2 = $v1 << $v0 ; $a3 = $s3 | $a0 = #8C002E50 ; $a1 = 0 |CALL $s5 $ra=ret_adr-------- n:000AA0| $a0 = $s6 ; $a1 = 1; $a2 = 1 |-CALL #8C0020E4--------(big) | $ra=(st38); $s7=(st34); $s6=(st30); $s5=(st2C); $s4=(st28); $s3=(st24); $s2=(st20); $s1=(st1C); $s0=(st18) | $v0 = 0 //exit(0) | $sp += 64 ------------------------- | $ra = (Stek38) | $v0 = $s1 | $s7=(st34); $s6=(st30); $s5=(st2C); $s4=(st28); $s3=(st24); $s2=(st20); $s1=(st1C); $s0=(st18) | $sp += 64 | GOTO end_8C0005FC n:000714| $v1 = byte(m2E75) ; $v0 = word16(m2E76) ; $s3 = (m2E88) | $v0 = $v0 << $v1 ; $v0 = $v0 >> 10 | $s0 = 0 ; byte(m2E52) = 1 ; (m2E5C) = $v0 * 1000 (sign) n:000744| $v0 = word16(m2E76) ; $a0 = #8C002E50; $a2 = $s3 | GOTO n_000780 if $s0 >= $v0 | $v0 = byte(m2E75) ; $a1 = $s0 << $v0 |CALL $s5 $ra=ret_adr--------- | $a1 = word16(m2E6C) ; $a0 = byte($s3 + 5) C:001078| $a0 = $a0 & #00FF | ..$a2 = #8C00294C | $a3 = ($a0 >> 4) + #8C00294C * 8C00294C 02010100 * 8C002950 03020201 * 8C002954 03020201 * 8C002958 04030302 | $v1 = {$a0 & #0F} + #8C00294C | GOTO n_0010B0 if $a0 = #FF //exit(0) | $v0 = 1 if $a1 < (byte($v1) + byte($a3)) | $v0 = 1 if $v0 < 1 //? | GOTO end_8C001078 n:0010B0| $v0 = 0 end_8C001078 ---------------------------------------- | $s1 = $v0 | GOTO n_0007C8 if $s1 = 1 // test err n:000780| $a3 = 1 | GOTO n_0007C0 if $s0 = word16(m2E76) | $v0 = byte(m2E75); $a1 = $s0 << $v0; $a2 = $a1 | $a0 = #8C002E50; $a1 = 0; $a3 = $a3 << $v0 | (Stek10) = $s2 |CALL $s7 $ra=ret_adr--------- | $a0 = #8C002E50 ; $a1 = $s2 c:0007D0| $sp -= 32 (Stek10) = $s0;(Stek14) = $s1;(Stek18) = $ra | $s0 = $a1; $a1 = #8C002940; $s1 = $a0; $a2 = 8; $a0 = $s0 c:0023F0| $v0 = 1 if $a2 < 4 |{GOTO n_002408 if $v0 ; $v0 = $a0 | $a1} | $v0 = $v0 & 3 | GOTO n_002454 if $v0 = 0 n:002408| $a2 -- ; | GOTO n_00243C if $a2 = -1 | $a3 = -1 n:00241C| $v1 = byte($a0); $v0 = byte($a1) | $a2 -- | GOTO n_002444 if $v1 <> $v0 | $a0 ++; $a1 ++ | LOOP n_00241C if $a2 <> $a3 n:00243C| $v0 = 0 | GOTO end_8C0023F0 //exit(0) n:002444| $v0 = $v1 - byte($a1) | GOTO end_8C0023F0 //exit(v0) n:002454| LOOP n_002408 if ($a0) <> ($a1) | $a2 -= 4; $a0 += 4; $a1 += 4 | LOOP n_002408 if $a2 < 4 | LOOP n_002454 end_8C0023F0 ---------------------------------------- | $v1 = $v0 ; $v0 = 1 | GOTO n_00081C if $v1 = 0 n:000808| $ra = (Stek18) n:00080C| $s1 = (Stek14); $s0 = (Stek10) |$sp += 32 | GOTO end_8C0007D0 //exit n:00081C| $a0 = word16($s0 + 8); $v1 = #BEEF | $ra = (Stek18) | LOOP n_00080C if $a0 <> $v1 | $v1 = word16($s0+#0C); $a0 = word16($s0+#0E) | $v1 = $v1 + $a0 ; $v1 = $v1 << 16 |{LOOP n_00080C if $v1 ; $v1 = $s0 + #1000} | $v0 = {$v1 | #8C002EA0} & 00000011 |{GOTO n_00091C if $v0 = 0 ; $v0 = $s0 + #2000} long for($a1=sign_byte($v1);$a2=sign_byte($v1+1);$a3=sign_byte($v1+2);$t0=sign_byte($v1+3);byte($a0)=$a1;byte($a0+1)=$a2;byte($a0+2)=$a3;byte($a0+3)=$t0;$a1=sign_byte($v1+4);$a2=sign_byte($v1+5);$a3=sign_byte($v1+6);$t0=sign_byte($v1+7);byte($a0+4)=$a1;byte($a0+5)=$a2;byte($a0+6)=$a3;byte($a0+7)=$t0;$a1=sign_byte($v1+8);$a2=sign_byte($v1+9);$a3=sign_byte($v1+#0A);$t0=sign_byte($v1+#0B);byte($a0+8)=$a1;byte($a0+9)=$a2;byte($a0+#0A)=$a3;byte($a0+#0B)=$t0;$a1=sign_byte($v1+#0C);$a2=sign_byte($v1+#0D);$a3=sign_byte($v1+#0E);$t0=sign_byte($v1+#0F);byte($a0+#0C)=$a1;byte($a0+#0D)=$a2;byte($a0+#0E)=$a3;byte($a0+#0F)=$t0;$v1=$v1+#10;$a0=$a0+#10;if $v1<>$v0) n:0008E8|($s1 + #0C) = ($s1 + #0C) - word16($s0 + #0C) | $v0 = 0 | word16($s1 + #26) = word16($s1 + #26) - word16($s0 + #0C) | word16($s1 + #18) = word16($s0 + #0A) | word16($s1 + #1A) = word16($s0 + #0C) | LOOP n_000808 //exit+stek n:00091C| for($a1=($v1);$a2=($v1+4);$a3=($v1+8);$t0=($v1+#0C);($a0)=$a1;($a0+4)=$a2;($a0+8)=$a3;($a0 + #0C)=$t0;$v1=$v1+#10;$a0=$a0+#10;if $v1<>$v0) | LOOP n_0008E8 end_8C0007D0---------------------------------------- | $a0 = $s6 | LOOP n_0006BC if $v0 = 0 n:0007C0| word16($s4 + #18) = 0 | LOOP n_0006B8 n:0007C8| $s0 ++ | LOOP n_000744 end_8C0005FC ---------------------------------------- | $a0 = #8C002910 //| NAND loader II load finish |/n/a |Write_string_to_p1015 if bit6(p1016) a0-adr 0-end | $a0 = $s0 ////+-------------+/n/a |Write_string_to_p1015 if bit6(p1016) a0-adr 0-end | $a0 = #8C002934 // "/n/a" |Write_string_to_p1015 if bit6(p1016) a0-adr 0-end | $at = #AC01.0000 //? 8C01.0000 | CALL $at $ra=ret_adr n:0004B8| STOP ---(END_8C000450)----------------------------------------- n:000040| STOP ===================================================================== x:000310| $sp -= 136 | (st10)=$at; (st14)=$v0; (st18)=$v1; (st1C)=$a0; (st20)=$a1; (st24)=$a2; (st28)=$a3; (st2C)=$t0; (st30)=$t1; (st34)=$t2; (st38)=$t3; (st3C)=$t4; (st40)=$t5; (st44)=$t6; (st48)=$t7; (st6C)=$t8; (st70)=$t9; (st7C)=$ra | $t0 = $hi ; (Stek84) = $t0 ; $t0 = $lo ; (Stek80) = $t0 | $t0 = $c0[14] //adres proc |!(Stek04) = $t0 | $a0 = $c0[13]; $a1 = $c0[14] c:0004C0| $sp -= 32 |$a0=$a0 & #FF; (Stek18)=$ra; (Stek14)=$s1; (Stek10)=$s0 | GOTO n_0004E0 if $a0 = 0 n:0004D8| STOP n:0004E0| $s0 = (p10C0); $s1 = 0 | GOTO n_000528 if $s0 = 0 | $v0 = $s1 * 4 n:0004F4| $v1 = $v0 + #8C0029D0 //? var | $v0 = $s0 & 01 | $s1 ++ | $s0 = $s0 >> 1 | GOTO n_000520 if $v0 = 0 | $v0 = ($v1) | GOTO n_000520 if $v0 = 0 |CALL $v0 $ra=ret_adr------------! n:000520| $v0 = $s1 * 4 | LOOP n_0004F4 if $s0 n:000528| $ra = (Stek18); $s1 = (Stek14); $s0 = (Stek10) | $sp += 32 end_8C0004C0------------------------------------ | GOTO n_0003E8 if $k0 = 0 | GOTO n_0003E8 if $v0 = 0 | (st4C)=$s0; (st50)=$s1; (st54)=$s2; (st58)=$s3; (st5C)=$s4; (st60)=$s5; (st64)=$s6; (st68)=$s7; (st78)=$fp | $s0=(st4C); $s1=(st50); $s2=(st54); $s3=(st58); $s4=(st5C); $s5=(st60); $s6=(st64); $s7=(st68); $fp=(st78) n:0003E8|if($v0){(st4C)=$s0; (st50)=$s1; (st54)=$s2; (st58)=$s3; (st5C)=$s4; (st60)=$s5; (st64)=$s6; (st68)=$s7; (st78)=$fp; $s0=(st4C); $s1=(st50); $s2=(st54); $s3=(st58); $s4=(st5C); $s5=(st60); $s6=(st64); $s7=(st68); $fp=(st78)} | $hi = $t0; $t0 = (Stek80); $lo = $t0 | $v1=(st18); $a0=(st1C); $a1=(st20); $a2=(st24); $a3=(st28); $t0=(st2C); $t1=(st30); $t2=(st34); $t3=(st38); $t4=(st3C); $t5=(st40); $t6=(st44); $t7=(st48); $t8=(st6C); $t9=(st70); $ra=(st7C); $v0=(st14); $at=(st10); $k0=(st04) | $sp += 136 | rfe? | GOTO $k0 //iret ===================================================================== x:0005B8| $sp -= 24 ; (Stek10) = $ra ; $a0 = 0 | for($v0=$a0 << 2; $a0 ++; ($v0+#8C0029D0)=0; if $a0 < #20) | $a1 = #8C0005B0 ; $a0 =#1F c:00053C| ($a0*4 + #8C0029D0) = $a1 //#8C0005B0 | $sp -= 8 | GOTO n_000598 if $a0 = #1B ; $v0 = 8 //exit(8) | if($a0 = 8){$a0 =#1B ; GOTO n_00056C} | if($a0 = #1D){$a0 =#1A ; GOTO n_00056C} n:00056C| (Stek00) = (p10D0) ; | (Stek00) = (Stek00) | (1 << $a0) | (p10D0) = (Stek00) n:000598| $sp += 8 //exit ---(END_8C00053C)----------------------------------------- | $ra = (Stek10) ; $sp += 24 | JUMP (return) ===================================================================== x:000AE0| $sp -= 56 | (st2C)=$s7; (st28)=$s6; (st24)=$s5; (st20)=$s4; (st1C)=$s3; (st18)=$s2 | $s3 = $a0 | (Stek14) = $s1; (Stek10) = $s0; (Stek30) = $ra | $s2 = $a2; $s1 = $a3 | $s0 = (Stek48) |$v0 = (m3F28) | $s5 = $v0 & #00FF ; $a0 = 1 | $a1 = $s5 ; $a2 = 1 |-CALL #8C0020E4-----(big) | $s7 = 0 | $s4 = word16($s3 +#1E) | $s6 = byte($s3 +#28) | GOTO n_000BF0 if $s1 = 0 n:000B40| //offline C:001818|byte(p4023)=2; byte(p4023)=10; byte(p4020)=0; byte(p4023)=2 | ...{$v1 = #B000.0000}{$v0 = 0} | $a1 = $s2 ; $a2 = 0 | $a0 = $s6 & #00FF C:001584| $a3=($a0 & #00FF) - 1 //a0-num_func a1-val p4020 | byte(p4023) = 6 ; $a0 = $a1 | if($a3 >= 5)exit(v0=1) | $v0 = tabl($a3: t_01610 t_01620 t_01628 t_0165C t_015C0) | GOTO_TABL $v0 (a0,a2) t:0015C0|$v0=$a0 << 1; $a1=$a0 >> 18; $v1=$a0 >> 2; $v0=$v0 & 6; $a0=$a0 >> 10; byte(p4020)=0;byte(p4020)=$v0;byte(p4020)=$v1;byte(p4020)=$a0;byte(p4020)=$a1;byte(p4023)=2;exit(v0=0) t:001610| byte(p4020)=$a0; byte(p4023)=2; exit(v0=0) t:001620|$v0=$a0 >> 8; byte(p4020)=$a0;byte(p4020)=$v0;byte(p4023)=2;exit(v0=0) t:001628| $v1 = $a0 >> 16 ; GOTO n_001638 if $a2 = 0 | $v0 = $a0 >> 8 ; GOTO n_00166C n:001638|$v0=$a0 >> 8;byte(p4020)=0;byte(p4020)=$a0;byte(p4020)=$v0;byte(p4023)=2;exit(v0=0) t:00165C| $v1=$a0 >> 16 ; $v0=$a0 >> 8 ; byte(p4020)=0 n:00166C|byte(p4020)=$a0;byte(p4020)=$v0;byte(p4020)=$v1;byte(p4023)=2;exit(v0=0) ---(END_8C001584)----------------------------------------- C:001818|byte(p4023)=2; byte(p4023)=10; byte(p4020)=#30; byte(p4023)=2 | ...{$a1 = 2} | (p70E0) = $s0 C:001694| $v1 = #1388 |if(byte(p4024) & 1){exit(v0=1)} | $v1 -- for(if($v1 = 0)exit(v0=2); if(byte(p4024) & 1)exit(v0=1); $v1 --} end_8C001694----//exit v0=1 if bit1 p4024 wait else v0=2 | byte(p40B2) = 0; byte(p40B0) = 1 | $a3 = 0; $a1 = 0 ; $a2 = $s4 ; $a0 = 2 C:001FC4| $sp -= 48 |(st20)=$s2;(st18)=$s0;(st24)=$s3;(st1C)=$s1;(st28)=$ra; |$s2=$a0; $s0=$a1 ; $s1=$a2; $s3=$a3; $s0=$s0<<4 | $v0 = $c0[12] & #FF00 //interrupt mask | $c0[12] = {$c0[12] & #00FF} | $a0 | $a0 = $v0; $s1 --; $s0 = $s0 | $s2 | byte(p3002) = $s0; byte(p3003) = #0D |$s1=$s1>>1;byte(p3003)=#0C;word16(p3004)=$s1 | byte(p30C0) = 0; byte(p30B0) = 1 | $v0 = $c0[12] & #FF00 //interrupt mask | $c0[12] = {$c0[12] & #00FF} | $a0 | $v0 = 0 | GOTO n_002058 if $s3 = 0 n:00203C|$ra=(st28);$s3=(st24);$s2=(st20);$s1=(st1C);$s0=(st18) | $sp += 48 | GOTO end_8C001FC4 n:002058| byte(Stek10) = 0 ; $v1 =#0F4240; $a0 = 1 n:002068| $v0 = byte(Stek10); $v1 -- | GOTO n_0020B8 if $v0 = 0 n:00207C| byte(p30C0) = 0 ; $v1 =#0F4240; n:002088| $v0 = byte(p7033); $v0 = $v0 & #20; $v1 -- | GOTO n_0020A8 if $v0 = 0 | $v0 = 0 | LOOP n_00203C n:0020A8| $v0 = 0 | LOOP n_002088 if $v1 | LOOP n_00203C n:0020B8| $v0 = byte(p30C0); byte(Stek10) = $v0 | LOOP n_002068 if $v1 | byte(p3003) = $a0 ; byte(p3003) = 0 | LOOP n_00207C end_8C001FC4----------------------------------------- C:001818|byte(p4023)=2; byte(p4023)=10; byte(p4020)=5; byte(p4023)=2 | ...{$v1 = #B000.0000}{$v0 = 0} | $a1 = {{$s2 & 3} << 4} + #0800 | $a2 = 0; $a0 = 2 C:001584| $a3={$a0 & #00FF} - 1 //a0-num_func a1-val p4020 | byte(p4023) = 6 ; $a0 = $a1 | if($a3 >= 5)exit(v0=1) | $v0 = tabl($a3: t_01610 t_01620 t_01628 t_0165C t_015C0) | GOTO_TABL $v0 (a0,a2) t:0015C0|$v0=$a0 << 1; $a1=$a0 >> 18; $v1=$a0 >> 2; $v0=$v0 & 6; $a0=$a0 >> 10; byte(p4020)=0;byte(p4020)=$v0;byte(p4020)=$v1;byte(p4020)=$a0;byte(p4020)=$a1;byte(p4023)=2;exit(v0=0) t:001610| byte(p4020)=$a0; byte(p4023)=2; exit(v0=0) t:001620|$v0=$a0 >> 8; byte(p4020)=$a0;byte(p4020)=$v0;byte(p4023)=2;exit(v0=0) t:001628| $v1 = $a0 >> 16 ; GOTO n_001638 if $a2 = 0 | $v0 = $a0 >> 8 ; GOTO n_00166C n:001638|$v0=$a0 >> 8;byte(p4020)=0;byte(p4020)=$a0;byte(p4020)=$v0;byte(p4023)=2;exit(v0=0) t:00165C| $v1=$a0 >> 16 ; $v0=$a0 >> 8 ; byte(p4020)=0 n:00166C|byte(p4020)=$a0;byte(p4020)=$v0;byte(p4020)=$v1;byte(p4023)=2;exit(v0=0) ---(END_8C001584)----------------------------------------- C:001818|byte(p4023)=2; byte(p4023)=10; byte(p4020)=#E0; byte(p4023)=2 | ...{$v1 = #B000.0000}{$v0 = 0} | $a1 = $s0; $a0 = $s3 C:001714| $sp -= 40 | (st20)=$s2; (st18)=$s0; (st24)=$ra; (st1C)=$s1 | $s1 = ($a0 +#38) ; $s0 = #B000.0000 | $a0 = $s1; $s2 = $a1 ; $a1 =#10 c:0016DC|if($a1){for(byte(p4025)=1; $v0=byte(p4020); $a1 --; byte($a0)=$v0; $a0 ++; if $a1)} | $v1 = byte(p40B5); byte(Stek10) = $v1 | $a0=byte(p40B4); $v1=$v1 & #00FF; byte(Stek11)=$a0 | $a1 = byte(p40B6) ; byte(Stek12) = $a1 | $a2 = byte(p40B8) ; byte(Stek13) = $a2 | $a3 = byte(p40B7) ; byte(Stek14) = $a3 | $t0 = byte(p40B9) ; byte(Stek15) = $t0 | $v0 = byte(p000D) |{GOTO n_0017AC if $v1 = $v0 ; $v0 = $a0 & #00FF} n:001780| $a1 = $s1 +#0D ; $a2 = $s2 ; $a0 = Stek10 n:00178C c:0010B8| $v1 = byte($a0 + 1); $t0 = byte($a0) | $v0 = byte($a1 + 1); $a3 = byte($a1) | $t1=byte($a0+2); $v1=$v1 << 16; $a0=byte($a1+2) | $t0 = $t0 << 8 ; $v0 = $v0 << 16; $a3 = $a3 << 8 | $v1=$v1 + $t0 ; $v0=$v0 + $a3; $v0=$v0 + $a0 | $v1 = $v1 + $t1 ; $v1 = $v1 >> 2; $v0 = $v0 >> 2 | $v1 = $v1 ^ $v0 ; $a0 = 0; $a1 = 0 n:001104| $a3 = $v1 & 3 ; $v0 = 1 << $a1; $a1 ++ | $t0 = 1 if $a1 < #0B ; $v1 = $v1 >> 2 | GOTO n_001138 if $a3 = 1 | $a0 = $a0 | $v0 |{GOTO n_001138 if $a3 = 2 ; $v0 = 1} | GOTO end_8C0010B8 n:001138| $v0 = $a0 >> 3 | LOOP n_001104 if $t0 | $a2 = $a2 + $v0 ; $v1 = byte($a2) ; $a0 = $a0 & 7 | $v0 = $v1 >> $a0 (sign) ; $v0 = $v0 & 1 | GOTO n_001174 if $v0 = 0 | $v0 = $t1 << $a0 ; $v0 = ~ $v0 ; $v0 = $v1 & $v0 n:001168| byte($a2) = $v0 ; $v0 = 0 | GOTO end_8C0010B8 n:001174| $v0 = $t1 << $a0 ; $v0 = $v1 | $v0 | LOOP n_001168 end_8C0010B8------- n:001794| $ra=(st24); $s2=(st20); $s1=(st1C); $s0=(st18) | $sp += 40 | GOTO end_8C001714 n:0017AC| $v1 = byte($s1 +#0E) |{LOOP n_001780 if $v0 <> $v1 ; $v0 = $a1 & #00FF} | $v1 = byte($s1 +#0F) |{LOOP n_001780 if $v0 <> $v1 ; $v0 = $a2 & #00FF} | $v1 = byte($s1 + 8) ; $a1 = $s1 + 8 | GOTO n_0017DC if $v0 = $v1 | $a2 = $s2 + #0100 ; $a0 = Stek13 | LOOP n_00178C n:0017DC| $v1=byte($s1+9); $v0=$a3 & #00FF; $a2=$s2+#0100 | GOTO n_0017F4 if $v0 = $v1 | $a0 = Stek13 | LOOP n_00178C n:0017F4| $v1=byte($s1 +#0A); $v0=$t0 & #00FF; $a1=$s1 + 8 | GOTO n_001810 if $v0 = $v1 | $a2 = $s2 + #0100 ; $a0 = Stek13 | LOOP n_00178C n:001810| $v0 = 0 | LOOP n_001794 end_8C001714----------------------------------------- | $v1 = 1 ; $s1 --; $s0 = $s0 + $s4 ; $s2 ++ | GOTO n_000C40 if $v0 = $v1 n:000BE8| LOOP n_000B40 if $s1 n:000BF0| $a0 = $s5 ; $a1 = 1; $a2 = 1 | byte(p4023) = 3 |-CALL #8C0020E4-----(big) | $ra = (Stek30) ; $v0 = $s7 | $s6=(st28); $s7=(st2C); $s5=(st24); $s4=(st20); $s3=(st1C); $s2=(st18); $s1=(st14); $s0=(st10) | $sp += 56 | GOTO end_8C000AE0 n:000C40| $s7 = 1 | LOOP n_000BE8 end_8C000AE0 ===================================================================== x:000C94| $sp -= 32 | (Stek1C)=$ra; (Stek18)=$s2; (Stek14)=$s1; (Stek10)=$s0 | $s1 = $a2; $s2 = $a1 |$v0 = (m3F28) | $s0 = {$v0} & #00FF ; $a1 = $s0 | $a2 = 1; $a0 = 1 |-CALL #8C0020E4----(big) | $a0 = 0 C:001818|byte(p4023)=2; byte(p4023)=10; byte(p4020)=$a0; byte(p4023)=2 | ...{$v1 = #B000.0000}{$v0 = 0} | $a0 = $s2 c:000C48| $a1 = $a0 << 1 ; $a2 = $a0 & 3 ; $a1 = $a1 & 6 ; byte(p4023) = 6 | $t0 = $a0 >> 18 ; $a3 = $a0 >> 2 ; $a2 = $a2 << 4 ; $a1 = $a1 | 8 | $a0 = $a0 >> 10 | byte(p4020)=$a2; byte(p4020)=$a1; byte(p4020)=$a3; byte(p4020)=$a0 | byte(p4020)=$t0; byte(p4023) = 2 C:001818|byte(p4023)=2; byte(p4023)=10; byte(p4020)=#30; byte(p4023)=2 | ...{$a1 = 2} C:001694| $v1 = #1388 |if(byte(p4024) & 1){exit(v0=1)} | $v1 -- for(if($v1 = 0)exit(v0=2); if(byte(p4024) & 1)exit(v0=1); $v1 --} end_8C001694-----// exit v0=1 if bit1 p4024 wait else v0=2 | (p70E0) = $s1 C:001694| $v1 = #1388 |if(byte(p4024) & 1){exit(v0=1)} | $v1 -- for(if($v1 = 0)exit(v0=2); if(byte(p4024) & 1)exit(v0=1); $v1 --} end_8C001694----// exit v0=1 if bit1 p4024 wait else v0=2 | $a3 = 0; $a0 = 2; $a1 = 0 ; $a2 =#10 C:001FC4| $sp -= 48 |(st20)=$s2;(st18)=$s0;(st24)=$s3;(st1C)=$s1;(st28)=$ra; |$s2=$a0; $s0=$a1 ; $s1=$a2; $s3=$a3; $s0=$s0<<4 | $v0 = $c0[12] & #FF00 //interrupt mask | $c0[12] = {$c0[12] & #00FF} | $a0 | $a0 = $v0; $s1 --; $s0 = $s0 | $s2 | byte(p3002) = $s0; byte(p3003) = #0D |$s1=$s1>>1; byte(p3003)=#0C; word16(p3004)=$s1 | byte(p30C0) = 0; byte(p30B0) = 1 | $v0 = $c0[12] & #FF00 //interrupt mask | $c0[12] = {$c0[12] & #00FF} | $a0 | $v0 = 0 | GOTO n_002058 if $s3 = 0 n:00203C|$ra=(st28);$s3=(st24);$s2=(st20);$s1=(st1C);$s0=(st18) | $sp += 48 | GOTO end_8C001FC4 n:002058| byte(Stek10) = 0 ; $v1 =#0F4240; $a0 = 1 n:002068| $v0 = byte(Stek10); $v1 -- | GOTO n_0020B8 if $v0 = 0 n:00207C| byte(p30C0) = 0 ; $v1 =#0F4240; n:002088| $v0 = byte(p7033); $v0 = $v0 & #20; $v1 -- | GOTO n_0020A8 if $v0 = 0 | $v0 = 0 | LOOP n_00203C n:0020A8| $v0 = 0 | LOOP n_002088 if $v1 | LOOP n_00203C //exit+stek n:0020B8| $v0 = byte(p30C0); byte(Stek10) = $v0 | LOOP n_002068 if $v1 | byte(p3003) = $a0 ; byte(p3003) = 0 | LOOP n_00207C end_8C001FC4--------------------------------------- | $a0 = $s0 ; $a1 = 1; $a2 = 1 | byte(p4023) = 3 |-CALL #8C0020E4----(big) | $v0 = byte($s1 + 5) ; $v1 = byte($s1) | $ra = (Stek1C) ; byte($s1) = $v0 | byte($s1 + 5) = $v1 | $s2 = (Stek18); $s1 = (Stek14); $s0 = (Stek10) | $v0 = 0 ; $sp += 32 | JUMP (return) ===================================================================== x:000D80| $sp -= 48 //a0-adr | (st28)=$s6; (st20)=$s4; (st1C)=$s3; (st18)=$s2; (st14)=$s1; (st2C)=$ra; (st24)=$s5; (st10)=$s0 | $s4 = $a0 ; $s0 = byte($s4 +#28) ; $s1 = $a2 | $s0 = $s0 & #00FF ; $s3 = $a3 ; $s6 = $a1 & #00FF | $s2 = (Stek40) ; $s5 = word16($s4 +#1E) C:001818|byte(p4023)=2; byte(p4023)=10; byte(p4020)=0; byte(p4023)=2 | $a0 = $s0; $a1 = $s1 ; $a2 = 0; $s0 = 0 C:001584| $a3={$a0 & #00FF} - 1 //a0-num_func a1-val p4020 | byte(p4023) = 6 ; $a0 = $a1 | if($a3 >= 5)exit(v0=1) | $v0 = tabl($a3: t_01610 t_01620 t_01628 t_0165C t_015C0) | GOTO_TABL $v0 (a0,a2) t:0015C0|$v0=$a0 << 1; $a1=$a0 >> 18; $v1=$a0 >> 2; $v0=$v0 & 6; $a0=$a0 >> 10; byte(p4020)=0;byte(p4020)=$v0;byte(p4020)=$v1;byte(p4020)=$a0;byte(p4020)=$a1;byte(p4023)=2;exit(v0=0) t:001610| byte(p4020)=$a0; byte(p4023)=2; exit(v0=0) t:001620|$v0=$a0 >> 8; byte(p4020)=$a0;byte(p4020)=$v0;byte(p4023)=2;exit(v0=0) t:001628| $v1 = $a0 >> 16 ; GOTO n_001638 if $a2 = 0 | $v0 = $a0 >> 8 ; GOTO n_00166C n:001638|$v0=$a0 >> 8;byte(p4020)=0;byte(p4020)=$a0;byte(p4020)=$v0;byte(p4023)=2;exit(v0=0) t:00165C| $v1=$a0 >> 16 ; $v0=$a0 >> 8 ; byte(p4020)=0 n:00166C|byte(p4020)=$a0;byte(p4020)=$v0;byte(p4020)=$v1;byte(p4023)=2;exit(v0=0) ---(END_8C001584)----------------------------------------- | GOTO n_000E4C if $s3 = 0 n:000DE8| $s3 -- ; $v0 = p70E0 | GOTO n_000E90 if $s6 = 0 n:000DF4 C:001694| $v1 = #1388 |if(byte(p4024) & 1){exit(v0=1)} | $v1 -- for(if($v1 = 0)exit(v0=2); if(byte(p4024) & 1)exit(v0=1); $v1 --} end_8C001694---// exit v0=1 if bit1 p4024 wait else v0=2 | byte(p40B2) = 0; byte(p40B0) = 1 | $a2 = $s5 ; $a3 = 0; $a0 = 2 ; $a1 = $s6 C:001FC4| $sp -= 48 |(st20)=$s2;(st18)=$s0;(st24)=$s3;(st1C)=$s1;(st28)=$ra; |$s2=$a0; $s0=$a1 ; $s1=$a2; $s3=$a3; $s0=$s0<<4 | $v0 = $c0[12] & #FF00 //interrupt mask | $c0[12] = {$c0[12] & #00FF} | $a0 | $a0 = $v0; $s1 --; $s0 = $s0 | $s2 | byte(p3002) = $s0; byte(p3003) = #0D |$s1=$s1>>1;byte(p3003)=#0C;word16(p3004)=$s1 | byte(p30C0) = 0; byte(p30B0) = 1 | $v0 = $c0[12] & #FF00 //interrupt mask | $c0[12] = {$c0[12] & #00FF} | $a0 | $v0 = 0 | GOTO n_002058 if $s3 = 0 n:00203C|$ra=(st28);$s3=(st24);$s2=(st20);$s1=(st1C);$s0=(st18) | $sp += 48 | GOTO end_8C001FC4 n:002058| byte(Stek10) = 0 ; $v1 =#0F4240; $a0 = 1 n:002068| $v0 = byte(Stek10); $v1 -- | GOTO n_0020B8 if $v0 = 0 n:00207C| byte(p30C0) = 0 ; $v1 =#0F4240; n:002088| $v0 = byte(p7033); $v0 = $v0 & #20; $v1 -- | GOTO n_0020A8 if $v0 = 0 | $v0 = 0 | LOOP n_00203C n:0020A8| $v0 = 0 | LOOP n_002088 if $v1 | LOOP n_00203C n:0020B8| $v0 = byte(p30C0); byte(Stek10) = $v0 | LOOP n_002068 if $v1 | byte(p3003) = $a0 ; byte(p3003) = 0 | LOOP n_00207C end_8C001FC4---------------------------------------- | $a1 = $s2; $a0 = $s4 C:001714| $sp -= 40 | (st20)=$s2; (st18)=$s0; (st24)=$ra; (st1C)=$s1 | $s1 = ($a0 +#38) ; $s0 = #B000.0000 | $a0 = $s1; $s2 = $a1 ; $a1 =#10 c:0016DC|if($a1){for(byte(p4025)=1; $v0=byte(p4020); $a1 --; byte($a0)=$v0; $a0 ++; if $a1)} | $v1 = byte(p40B5); byte(Stek10) = $v1 | $a0=byte(p40B4); $v1=$v1 & #00FF; byte(Stek11)=$a0 | $a1 = byte(p40B6) ; byte(Stek12) = $a1 | $a2 = byte(p40B8) ; byte(Stek13) = $a2 | $a3 = byte(p40B7) ; byte(Stek14) = $a3 | $t0 = byte(p40B9) ; byte(Stek15) = $t0 | $v0 = byte(p000D) |{GOTO n_0017AC if $v1 = $v0 ; $v0 = $a0 & #00FF} n:001780| $a1 = $s1 +#0D ; $a2 = $s2 ; $a0 = Stek10 n:00178C c:0010B8| $v1 = byte($a0 + 1); $t0 = byte($a0) | $v0 = byte($a1 + 1); $a3 = byte($a1) | $t1=byte($a0+2); $v1=$v1 << 16; $a0=byte($a1+2) | $t0 = $t0 << 8 ; $v0 = $v0 << 16; $a3 = $a3 << 8 | $v1=$v1 + $t0 ; $v0=$v0 + $a3; $v0=$v0 + $a0 | $v1 = $v1 + $t1 ; $v1 = $v1 >> 2; $v0 = $v0 >> 2 | $v1 = $v1 ^ $v0 ; $a0 = 0; $a1 = 0 n:001104| .$t1 = 1 | $a3 = $v1 & 3 ; $v0 = 1 << $a1; $a1 ++ | $t0 = 1 if $a1 < #000B ; $v1 = $v1 >> 2 | GOTO n_001138 if $a3 = $t1 | $a0 = $a0 | $v0 |{GOTO n_001138 if $a3 = 2 ; $v0 = 1} | GOTO end_8C0010B8 n:001138| $v0 = $a0 >> 3 | LOOP n_001104 if $t0 | $a2 = $a2 + $v0 ; $v1 = byte($a2) ; $a0 = $a0 & 7 | $v0 = $v1 >> $a0 (sign) ; $v0 = $v0 & 1 | GOTO n_001174 if $v0 = 0 | $v0 = $t1 << $a0 ; $v0 = ~ $v0 ; $v0 = $v1 & $v0 n:001168| byte($a2) = $v0 ; $v0 = 0 | GOTO end_8C0010B8 n:001174| $v0 = $t1 << $a0 ; $v0 = $v1 | $v0 | LOOP n_001168 end_8C0010B8------- n:001794| $ra=(st24); $s2=(st20); $s1=(st1C); $s0=(st18) | $sp += 40 | GOTO end_8C001714 n:0017AC| $v1 = byte($s1 +#0E) |{LOOP n_001780 if $v0 <> $v1 ; $v0 = $a1 & #00FF} | $v1 = byte($s1 +#0F) |{LOOP n_001780 if $v0 <> $v1 ; $v0 = $a2 & #00FF} | $v1 = byte($s1 + 8) ; $a1 = $s1 + 8 | GOTO n_0017DC if $v0 = $v1 | $a2 = $s2 + #0100 ; $a0 = Stek13 | LOOP n_00178C n:0017DC| $v1=byte($s1+9); $v0=$a3 & #00FF; $a2=$s2+#0100 | GOTO n_0017F4 if $v0 = $v1 | $a0 = Stek13 | LOOP n_00178C n:0017F4| $v1=byte($s1 +#0A); $v0=$t0 & #00FF; $a1=$s1 + 8 | GOTO n_001810 if $v0 = $v1 | $a2 = $s2 + #0100 ; $a0 = Stek13 | LOOP n_00178C n:001810| $v0 = 0 | LOOP n_001794 end_8C001714---------------------------------------- | $v1 = 1 ; $s2 = $s2 + $s5 | GOTO n_000E88 if $v0 = $v1 n:000E44| LOOP n_000DE8 if $s3 n:000E4C| byte(p4023) = 3 ; $ra = (Stek2C) ; $v0 = $s0 | $s6=(st28); $s5=(st24); $s4=(st20); $s3=(st1C); $s2=(st18); $s1=(st14); $s0=(st10) | $sp += 48 | GOTO end_8C000D80 n:000E88| $s0 = 1 | LOOP n_000E44 n:000E90| ($v0) = $s2 | LOOP n_000DF4 end_8C000D80 ===================================================================== x:000E9C| $sp -= 32 //a0-adr a1-? | (Stek1C) = $ra; (Stek14) = $s1 ;(Stek18) = $s2; (Stek10) = $s0 | $v1 = $a0; $s0 = byte($v1+#28); $s2 = byte($v1+#2A) ; $s1 = $a1 | (p70E0) = $a2 ; $s0 = $s0 & #00FF //online C:001818|byte(p4023)=2; byte(p4023)=10; byte(p4020)=#50; byte(p4023)=2 ---(END_8C001818)----------------------------------------- | $a0 = $s0; $a1 = $s1; $a2 = 0 ; $s0 = #B000.0000 C:001584| $a3={$a0 & #00FF} - 1 //a0-num_func a1-val p4020 | byte(p4023) = 6 ; $a0 = $a1 | if($a3 >= 5)exit(v0=1) | $v0 = tabl($a3: t_01610 t_01620 t_01628 t_0165C t_015C0) | GOTO_TABL $v0 (a0,a2) t:0015C0|$v0=$a0 << 1; $a1=$a0 >> 18; $v1=$a0 >> 2; $v0=$v0 & 6; $a0=$a0 >> 10; byte(p4020)=0;byte(p4020)=$v0;byte(p4020)=$v1;byte(p4020)=$a0;byte(p4020)=$a1;byte(p4023)=2;exit(v0=0) t:001610| byte(p4020)=$a0; byte(p4023)=2; exit(v0=0) t:001620|$v0=$a0 >> 8; byte(p4020)=$a0;byte(p4020)=$v0;byte(p4023)=2;exit(v0=0) t:001628| $v1 = $a0 >> 16 ; GOTO n_001638 if $a2 = 0 | $v0 = $a0 >> 8 ; GOTO n_00166C n:001638|$v0=$a0 >> 8;byte(p4020)=0;byte(p4020)=$a0;byte(p4020)=$v0;byte(p4023)=2;exit(v0=0) t:00165C| $v1=$a0 >> 16 ; $v0=$a0 >> 8 ; byte(p4020)=0 n:00166C|byte(p4020)=$a0;byte(p4020)=$v0;byte(p4020)=$v1;byte(p4023)=2;exit(v0=0) ---(END_8C001584)----------------------------------------- | $s0 = $s0 | #4023 C:001694| $v1 = #1388 |if(byte(p4024) & 1){exit(v0=1)} | $v1 -- for(if($v1 = 0)exit(v0=2); if(byte(p4024) & 1)exit(v0=1); $v1 --} end_8C001694-----//exit v0=1 if bit1 p4024 wait else v0=2 | $s1 = 3 ; $a2 = $s2; $a1 = 0; $a3 = 0; $a0 = 2 C:001FC4| $sp -= 48 |(st20)=$s2;(st18)=$s0;(st24)=$s3;(st1C)=$s1;(st28)=$ra; |$s2 = $a0; $s0 = $a1 ; $s1=$a2; $s3=$a3; $s0=$s0<<4 | $v0 = $c0[12] & #FF00 //interrupt mask | $c0[12] = {$c0[12] & #00FF} | $a0 | $a0 = $v0; $s1 --; $s0 = $s0 | $s2 | byte(p3002) = $s0; byte(p3003) = #0D |$s1=$s1>>1; byte(p3003)=#0C; word16(p3004)=$s1 | byte(p30C0) = 0; byte(p30B0) = 1 | $v0 = $c0[12] & #FF00 //interrupt mask | $c0[12] = {$c0[12] & #00FF} | $a0 | $v0 = 0 | GOTO n_002058 if $s3 = 0 n:00203C|$ra=(st28);$s3=(st24);$s2=(st20);$s1=(st1C);$s0=(st18) | $sp += 48 | GOTO end_8C001FC4 n:002058| byte(Stek10) = 0 ; $v1 =#0F4240; $a0 = 1 n:002068| $v0 = byte(Stek10); $v1 -- | GOTO n_0020B8 if $v0 = 0 n:00207C| byte(p30C0) = 0 ; $v1 =#0F4240; n:002088| $v0 = byte(p7033); $v0 = $v0 & #20; $v1 -- | GOTO n_0020A8 if $v0 = 0 | $v0 = 0 | LOOP n_00203C n:0020A8| $v0 = 0 | LOOP n_002088 if $v1 | LOOP n_00203C n:0020B8| $v0 = byte(p30C0); byte(Stek10) = $v0 | LOOP n_002068 if $v1 | byte(p3003) = $a0 ; byte(p3003) = 0 | LOOP n_00207C end_8C001FC4--------------------------- | byte($s0) = $s1 //offline C:001818|byte(p4023)=2; byte(p4023)=10; byte(p4020)=0; byte(p4023)=2 | $ra = (Stek1C) ; byte($s0) = $s1 | $s2 = (Stek18); $s1 = (Stek14); $s0 = (Stek10) | $v0 = 0 ; $sp += 32 | JUMP (return) ===================================================================== x:000F38| $v0 = word16({$a1*2} + ($a0 +#2C)) | JUMP (return) ===================================================================== x:000F4C| $sp -= 24 ; (Stek10) = $s0 ; $s0 = $a0; (Stek14) = $ra |if($s0 >= 1000){for($s0 -= 1000; if $s0 >= 1000)} | $s0 = {$s0 * 2} | #1000 //+4096 | $a1 = $s0 & #00FF //a0-H a1-L | $a0 = {$s0 >> 8} & #00FF c:000FA4| $v0 = {$a1 ^ $a0} & #00FF ; $v1 = $v0 & #000F | $v0 = {$v0 >> 4} ^ $v1 ; $v1 = $v0 & 00000011 | $v0 = {$v0 >> 2} ^ $v1 ; $v1 = $v0 & 00000001 | $v0 = {{$v0 >> 1} ^ $v1} & #00FF | $s0 = $s0 | $v0 ; $v0 = $s0 | $ra = (Stek14); $s0 = (Stek10); $sp += 24 | JUMP (return) exit(a0 | f(a0)) //?? kodirovanie ===================================================================== x:000FDC| $sp -= 48 //a0-adr a1-adr | (st24)=$s5; (st14)=$s1; (st28)=$ra; (st20)=$s4; (st1C)=$s3; (st18)=$s2; (st10)=$s0 | $s1 = $a0; $s5 = $a1 ; $s0 = ($s5) | $s3 = ($s1 + #38) ; $s4 = ($s1 + #3C) n:001010| $a1 = byte($s1 + #25) | $a0 = $s1 ; $a1 = $s0 << $a1 ; $a2 = $s3 |CALL $s4 $ra=ret_adr-------------- (a0+56) | $v1 = $v0 ; $s2 = 1 ; $ra = (Stek28) | GOTO n_001050 if $v1 = $s2 | $a0 = byte($s3 + 5); $a1 = word16($s1 +#1C) C:001078| $a0 = $a0 & #00FF ; $v0 = $a0 >> 4 ; $v1 = $a0 & #000F | $a3 = $v0 + #8C00294C ; $v0 = #FF | $v1 = $v1 + #8C00294C | GOTO n_0010B0 if $a0 = $v0 //exit(0) | $v0 = 1 if $a1 >= {byte($v1) + byte($a3)} | GOTO end_8C001078 //exit(v0) n:0010B0| ...{$v0 = 0} end_8C001078-------------------------------- | $v1 = $v0 ; $ra = (Stek28) | GOTO n_001070 if $v1 = $s2 //s2=1 | ($s5) = $s0 n:001050| $s5=(st24); $s4=(st20); $s3=(st1C); $s2=(st18); $s1=(st14); $s0=(st10) | $sp += 48 | GOTO end_8C000FDC n:001070| $s0 ++ | LOOP n_001010 end_8C000FDC * 8C00294C 02010100 * 8C002950 03020201 * 8C002954 03020201 * 8C002958 04030302 ===================================================================== C:00183C| $a0 = $a0 & #00FF |for($v0=byte(p1016);$v0=$v0 & 00100000; if$v0=0) //wait 6 bit | byte(p1015) = $a0 // write a0 | JUMP (return){$at = #B000.0000} ===================================================================== C:001860| $sp = : -24 ; (Stek10,14) = $s0,$ra | $s0 = $a0 //a0 pointer | GOTO n_001894 if sign_byte($s0) = 0 //end string n_187C| $a0 = byte($s0) ; $s0 ++ | for(if byte(p1016) & 00100000 = 0) //6bit wait | byte(p1015) = $a0 //usb? flash? | LOOP n_187C if sign_byte($s0) n:001894| $s0 = (Stek10) ; $sp = : 24 | JUMP (return) ===================================================================== x:0018A0| $sp -= 40 //a0-adr string a1-FF.FF.FF.FF //write_HEX_to_p1015 | (Stek20) = $ra; (Stek1C) = $s1; (Stek18) = $s0 | $s0 = $a1; //$a0-msg |Write_string_to_p1015 if bit6(p1016) a0-adr 0-end | $a0 = #8C00296C //"EF/r/n/0" |Write_string_to_p1015 if bit6(p1016) a0-adr 0-end | $a1 = $s0 >> 24 ; $v0 = $a1 >> 4 | $a0 = byte($v0 + #8C00295C ) | $v1 = $s0 >> 16 ; $v0 = $s0 >> 8 | byte(Stek12) = $v0; byte(Stek13) = $s0 | byte(Stek11) = $v1; byte(Stek10) = $a1 |Write_byte_to_p1015 if bit6(p1016) a0-byte | $v0 = byte(Stek10) ; $v0 = $v0 & #000F | $a0 = byte($v0 + #8C00295C ) |Write_byte_to_p1015 if bit6(p1016) a0-byte | $v0 = byte(Stek11); $v0 = $v0 >> 4 | $a0 = byte($v0 + #8C00295C ) |Write_byte_to_p1015 if bit6(p1016) a0-byte | $v0 = byte(Stek11) ; $v0 = $v0 & #000F | $a0 = byte($v0 + #8C00295C ) |Write_byte_to_p1015 if bit6(p1016) a0-byte | $v0 = byte(Stek12) ; $v0 = $v0 >> 4 | $a0 = byte($v0 + #8C00295C ) |Write_byte_to_p1015 if bit6(p1016) a0-byte | $v0 = byte(Stek12) ; $v0 = $v0 & #000F | $a0 = byte($v0 + #8C00295C ) |Write_byte_to_p1015 if bit6(p1016) a0-byte | $v0 = byte(Stek13) ; $v0 = $v0 >> 4 | $a0 = byte($v0 + #8C00295C ) |Write_byte_to_p1015 if bit6(p1016) a0-byte | $v0 = byte(Stek13) ; $v0 = $v0 & #000F | $a0 = byte($v0 + #8C00295C ) |Write_byte_to_p1015 if bit6(p1016) a0-byte $a0 = #8C002970 // "/r/n" |Write_string_to_p1015 if bit6(p1016) a0-adr 0-end | $ra = (Stek20); $s1 = (Stek1C); $s0 = (Stek18) | $sp += 40 | JUMP (return){$a0 = #8C002970} * 8C00295C 33323130 0123 * 8C002960 37363534 4567 * 8C002964 42413938 89AB * 8C002968 46454443 CDEF * 8C002970 00000D0A /r/n/0 ===================================================================== x:0019A0| $a2 = $a2 * 4 ; $v1 = #8C002974 // *a1=hex(a0) a2-kol_zn #### if($a2>0){for($a2-=4;$v0=byte(#8C002974+{$a0>>$a2}F);byte($a1++)=$v0;if $a2>0)} | byte($a1) = 0 | JUMP (return) * 8C002974 33323130 0123 * 8C002978 37363534 4567 * 8C00297C 42413938 89AB * 8C002980 46454443 CDEF ===================================================================== C:001C74| $sp -= 48 //a1-adr istok a0-adr priem a2-? | (Stek28)=$s2; (Stek24)=$s1; (Stek20)=$s0 ; (Stek2C)=$ra | $s2=$a1; $a3=sign_byte($s2); $s0=$a2; byte($a0)=$a3 | $s1 = 0; $a2 = 0 ; $s2 ++ | GOTO n_001CEC if $a3 = 0 n:001CA8| $v0 = $a2 & #8000 |{GOTO n_001EB0 if $v0 = 0 ; $v0 = $a3 - 48} | $v0 = 1 if $v0 < 10 |{GOTO n_001D10 if $v0 = 0 ; $v0 = #6C} | $hi$lo = $s1 * 10 (sign) | $v0 = $lo ; $v0 = $v0 + $a3; $s1 = $v0 - 48 | GOTO n_001D08 if $s1 = 0 n:001CDC| $a3 = sign_byte($s2) | $s2 ++ ; byte($a0) = $a3 | LOOP n_001CA8 if $a3 n:001CEC| $ra=(st2C); $s2=(st28); $s1=(st24); $s0=(st20) | $v0 = 0 ; $sp += 48 | GOTO end_8C001C74 n:001D08| $a2 = $a2 | #0010 | LOOP n_001CDC n:001D10|{GOTO n_001E98 if $a3 = $v0 ; $v0 =#2B} |{GOTO n_001E90 if $a3 = $v0 ; $v0 =#2D} |{GOTO n_001E80 if $a3 = $v0 ; $v0 =#25} |{GOTO n_001E74 if $a3 = $v0 ; $v0 = $a2 & #0008} | $v1 = $s0 + 7 | GOTO n_001E54 if $v0 = 0 | $s0 = $v1 & #FFF8 ; $v0 = $s0 | $v1 = ($v0 + 4) ; $v0 = ($v0) | $s0 += 8 | (Stek18) = $v0; (Stek1C) = $v1 n:001D58| $v1 = $a3 + #FF9D | $v0 = 1 if $v1 < #0016 |{GOTO n_001D98 if $v0 = 0 ; $v0 = $v1 << 2} | $v0 = ($v1*4 + #8C002810) ; GOTO_TABL $v0 t:001D80| $a3 = $a2 | 1 n:001D84| $a1 = Stek18 ; $a2 = 10 | (Stek10) = $s1 c:001AA4| $sp -= 56 ; $v0 = $a3 & 8 | (st30)=$fp; (st28)=$s6; (st34)=$ra; (st2C)=$s7; (st24)=$s5; (st20)=$s4; (st1C)=$s3; (st18)=$s2; (st14)=$s1; (st10)=$s0; (st44)=$a3 | $s6 = $a0 ; (Stek40) = $a2 | $fp = 0 | GOTO n_001C00 if $v0 = 0 | $s4 = ($a1) ; $s5 = ($a1 + 4) | $s7 = $s6 n:001AF4| $s0 = (Stek40) ; .$s1 = 0 | $a0 = $s4; $a1 = $s5; $a2 = $s0 | $a3 = 0 c:00255C| $t7 = $ra C:002484| $t0 = $a3 | $a2 ; $v1 = 0; $v0 = 0 | GOTO n_002554 if $t0 = 0 | $t4 = #8000.0000 | $t3 = 0; $t2 = 0; $t1 = 1 n:0024A4| $v0 = $a1 & $t4 | $t0 = {$a0 & $t3} | $v0 ; $v0 = $t4 << 31 | GOTO n_0024C8 if $t0 | $t4 = $t4 >> 1 (sign) | $t3 = {$t3 >> 1} | $v0 | LOOP n_0024A4 n:0024C8| $v0 = $a3 & $t4 | $t0 = {$a2 & $t3} | $v0 ; $v0 = $t1 >> 31 | GOTO n_0024FC if $t0 | $t1 = $t1 << 1 | $t2 = {$t2 << 1} | $v0 ; $v0 = $a2 >> 31 | $a2 = $a2 << 1 | $a3 = {$a3 << 1} | $v0 | LOOP n_0024C8 n:0024FC| $v0 = 0 n:002500| $t0 = 1 if $a1 < $a3 | $t4 = $t2 << 31 | GOTO n_002530 if $t0 | $t3 = 1 if $a0 < $a2 | GOTO n_00251C if $a1 <> $a3 | GOTO n_002530 if $t3 n:00251C| $a1 = $a1 - $a3 ; $a1 = $a1 - $t3 | $a0 = $a0 - $a2 ; $v0 = $v0 | $t1 | $v1 = $v1 | $t2 n:002530| $t1 = $t1 >> 1 ; $t2 = $t2 >> 1 | $t1 = $t1 | $t4 ; $t3 = $t2 | $t1 | $t0 = $a3 << 31 ; $a2 = $a2 >> 1 | $a3 = $a3 >> 1 ; $a2 = $a2 | $t0 | LOOP n_002500 if $t3 n:002554| ... ---(END_8C002484)----------------------------------------- | $v0 = $a0; $v1 = $a1 ... | $a0=$s4; $a1=$s5; $a2=$s0; $a3=$s1; $s2=$v0 C:002484| $t0 = $a3 | $a2 ; $v1 = 0; $v0 = 0 | GOTO n_002554 if $t0 = 0 | $t4 = #8000.0000 | $t3 = 0; $t2 = 0; $t1 = 1 n:0024A4| $v0 = $a1 & $t4 | $t0 = {$a0 & $t3} | $v0 ; $v0 = $t4 << 31 | GOTO n_0024C8 if $t0 | $t4 = $t4 >> 1 (sign) | $t3 = {$t3 >> 1} | $v0 | LOOP n_0024A4 n:0024C8| $v0 = $a3 & $t4 | $t0 = {$a2 & $t3} | $v0 ; $v0 = $t1 >> 31 | GOTO n_0024FC if $t0 | $t1 = $t1 << 1 | $t2 = {$t2 << 1} | $v0 ; $v0 = $a2 >> 31 | $a2 = $a2 << 1 | $a3 = {$a3 << 1} | $v0 | LOOP n_0024C8 n:0024FC| $v0 = 0 n:002500| $t0 = 1 if $a1 < $a3 | $t4 = $t2 << 31 | GOTO n_002530 if $t0 | $t3 = 1 if $a0 < $a2 | GOTO n_00251C if $a1 <> $a3 | GOTO n_002530 if $t3 n:00251C| $a1 = $a1 - $a3 ; $a1 = $a1 - $t3 | $a0 = $a0 - $a2 ; $v0 = $v0 | $t1 | $v1 = $v1 | $t2 n:002530| $t1 = $t1 >> 1 ; $t2 = $t2 >> 1 | $t1 = $t1 | $t4 ; $t3 = $t2 | $t1 | $t0 = $a3 << 31 ; $a2 = $a2 >> 1 | $a3 = $a3 >> 1 ; $a2 = $a2 | $t0 | LOOP n_002500 if $t3 n:002554| ... ---(END_8C002484)----------------------------------------- | $s4 = $v0 | $s2 = $s2 + #8C002974 ; $s5 = $v1 | $v0 = byte($s2) ; $v1 = $s5 | $s4 | byte($s6) = $v0 ; $a2 = $s6 | $fp ++ ; $s6 ++ | LOOP n_001AF4 if $v1 | $v0 = (Stek44) n:001B58| $v1 = $v0 & #0030 | $v0 = #10; $a0 = #30 |if($v1 = $v0){$a0 = #20} ; $v1 = (Stek48) | $v0 = 1 if $fp < $v1(sign) |{GOTO n_001BC0 if $v0 = 0 ; $v0 = 1 if $s7 < $a2} | $fp = $v1 - $fp n:001B80| $v1 = (Stek44) ; $v0 = $v1 & #0020 | $fp -- | GOTO n_001BF8 if $v0 = 0 n:001B90| byte($s6) = $a0 ; $s6 ++ | LOOP n_001B80 if $fp | $v0 = 1 if $s7 < $a2 | GOTO n_001BC0 n:001BA4| $v0 = sign_byte($a2) | $v1 = byte($s7) | byte($a2) = $v1; byte($s7) = $v0 | $a2 -- ; $s7 ++ | $v0 = 1 if $s7 < $a2 n:001BC0|{LOOP n_001BA4 if $v0 ; $v0 = $s6} | $ra=(st34); $fp=(st30); $s7=(st2C); $s6=(st28); $s5=(st24); $s4=(st20); $s3=(st1C); $s2=(st18); $s1=(st14); $s0=(st10) | $sp += 56 | GOTO end_8C001AA4 n:001BF8| $a2 = $s6 | LOOP n_001B90 n:001C00| $v1 = (Stek44) ; $v0 = $v1 & 1 | $a0 = ($a1) | GOTO n_001C18 if $v0 = 0 | $v0 =#2D | GOTO n_001C60 if $a0 < 0 n:001C18| $s7 = $s6 | for($a2=$s6; $hi$lo = $a0/(st40); if(err_div_0){break #1C0}; $fp++; byte($s6++)=byte($hi+#8C002974); $a0=$lo; if $lo) * 8C002974 33323130 0123 * 8C002978 37363534 4567 * 8C00297C 42413938 89AB * 8C002980 46454443 CDEF | $v0 = (Stek44) | LOOP n_001B58 n:001C60| byte($s6) = $v0 ; $a0 = - $a0 ; $s6 ++ ; $fp = 1 | LOOP n_001C18 end_8C001AA4 ------------------ | $a0 = $v0 n:001D98| $a2 = 0 | LOOP n_001CDC t:001DA0| $v0 = byte(Stek18) ; byte($a0) = $v0 ; $a0 ++ | LOOP n_001D98 t:001DB0| $v1 = (Stek18) | GOTO n_001E0C if $s1 <= 0 | $v0 = sign_byte($v1) ; $a1 = byte($v1) |if($v0){for(byte($a0)=$a1; $v0=sign_byte(++$v1); $a0++; $s1--; $a1=byte($v1); if $v0)} | $a2 = 0 |if($s1 >= 2 (sign)){for($s1 --; $v1=1 if $s1 < 2 (sign); byte($a0)=#20; $a0++;if $v1=0); $a2=0} | LOOP n_001CDC n:001E0C| $v0 = sign_byte($v1); $a2 = 0 |if($v0){for($v0=byte($v1); $v1 ++; byte($a0)=$v0; $v0=sign_byte($v1); $a0 ++; if $v0); $a2=0} | LOOP n_001CDC t:001E38| $a3 = $a2 | LOOP n_001D84 t:001E40| $a1 = Stek18 ; $a3 = $s1 c:0019D8| $v0 = $a2 & 8 | GOTO n_001A98 if $v0 = 0 | $t0 = ($a1) ; $t1 = ($a1 + 4) n:0019EC| $t2 = $a0 | for($v0={$t0 & #0F}+#8C002974; $t0=$t0 >> 4; $v1=$t1 << 28; $v0=byte($v0); $t0=$t0 | $v1; $t1=$t1 >> 4; $v1=$t1 | $t0; byte($a0)=$v0; $a1=$a0; $a3 --; $a0 ++; if $v1) | $v1 = $a2 & #0030 ; $v0 =#10; $t0 =#30 |if($v1 <> $v0){$t0 =#20} | GOTO n9999 if $a3 <= 0 n:001A44| $v0 = $a2 & #0020 ; $a3 -- | GOTO n_001A90 if $v0 = 0 n:001A50| byte($a0) = $t0 ; $a0 ++ | LOOP n_001A44 if $a3 > 0 | GOTO n_9999 n:001A64| $v0 = sign_byte($a1) | $v1 = byte($t2) | byte($a1) = $v1; byte($t2) = $v0 | $a1 -- ; $t2 ++ n9999 | $v0 = 1 if $t2 < $a1 n:001A80|{LOOP n_001A64 if $v0 ; $v0 = $a0} | GOTO end_8C0019D8 n:001A90| $a1 = $a0 | LOOP n_001A50 n:001A98| $t0 = ($a1) ; $t1 = 0 | LOOP n_0019EC end_8C0019D8-------- | $a0 = $v0 | LOOP n_001D98 n:001E54| $v1 = $s0 + 3 ; $s0 = $v1 & #FFFC; $v0 = ($s0) ; $s0 += 4 | (Stek18) = $v0 | LOOP n_001D58 n:001E74| byte($a0) = $a3 ; $a0 ++ | LOOP n_001CDC n:001E80| $v0 = $a2 & #FFEF ; $a2 = $v0 | #0020 | LOOP n_001CDC n:001E90| $a2 = $a2 | 2 | LOOP n_001CDC n:001E98| $v0 = $a2 & 4 |if($v0){$a2 = $a2 | 8} | $a2 = $a2 | 4 | LOOP n_001CDC n:001EB0| $v0 =#25 | GOTO n_001EC4 if $a3 = #25 | $a0 ++ | LOOP n_001CDC n:001EC4| $a2 = #8000 ; $s1 = 0 | LOOP n_001CDC end_8C001C74 ===================================================================== x:001ED0| (Stek04) = $a1; (Stek08) = $a2; (Stek0C) = $a3 | $sp -= 24 ; (Stek10) = $ra ; $a2 = Stek20 |CALL #8C001C74-----------(big) | $ra = (Stek10) ; $sp += 24 | JUMP (return){$v0 = 0} ===================================================================== x:001F84| (Stek0C)=$a3; (Stek00)=$a0; (Stek04)=$a1; (Stek08)=$a2;(Stek10) = $ra | $sp -= 24 ; $a1 = $a0; $a0 = #8C003EB0 ; $a2 = Stek1C //a0-adr str |-CALL #8C001C74-----------(big) | $a0 = #8C003EB0 //mem c:001F44| $sp -= 24 ; (Stek10) = $s0; (Stek14) = $ra ; | $s0 = $a0 ; $v0 = byte($s0) | GOTO n_001F78 if $v0 = 0 n:001F60| $a0 = byte($s0) ; $s0 ++ c:001EFC| $sp -= 24 ; (Stek10) = $s0 ;(Stek14) = $ra | $a0 = $a0 & #00FF : $s0=$a0 |Write_byte_to_p1015 if bit6(p1016) a0-byte | $a0 =#0D | GOTO n_001F34 if $s0 = #0A // if "/r" then "/r/n" | $ra = (Stek14) n:001F28| $s0 = (Stek10) ; $sp += 24 | GOTO end_8C001EFC n:001F34|Write_byte_to_p1015 if bit6(p1016) a0-byte | $ra = (Stek14) | LOOP n_001F28 //exit end_8C001EFC------------------------------ | $v0 = byte($s0) ; $ra = (Stek14) | LOOP n_001F60 if $v0 n:001F78| $s0 = (Stek10) ; $sp += 24; $ra = (Stek10) ; $sp += 24 | JUMP (return) ===================================================================== C:0020E4| $a3=$a0 & #00FF; $a1=$a1 & #00FF; $a2=$a2 & #00FF | $v0 = 0 | GOTO n_0021D0 if $a3 = $a1 | GOTO n_0023BC if $a1 >= 10 |$a0=(t02148 t02120 t0231C t0234C t02120 t02368 t02384 t02120 t023A0 t02148) | GOTO_TABL $a0 t:002120| $v0=byte(p4008); $v1=byte(p4010); $v0=$v0 | 4; $v1=$v1 | 4 n:2138| byte(p4008) = $v0; byte(p4010) = $v1 t:002148| n:00214C| GOTO n_0023BC if $a3 >= 10 |$a0=(t02170 t02178 t02200 t02238 t02264 t02290 t02290 t022B0 t022E0 t02308) |GOTO_TABL $a0---- t:002170| byte(p4000) = 0 t:002178| byte(p4000) = #11 ; byte(p4022) = 2 | $v1 = 1 n:002194| $v0 = 2 | GOTO n_0021E4 if $a2 = $v1 //v1=1 | $v0 = 0 if $a2 >= 2 (sign) |{GOTO n_0021D8 if $v0 = 0 ; $v0=2} | GOTO n_0023BC if $a2 | byte(p40B3)=0; byte(p4055)=0; byte(p4056)=$v1 n:0021C8| (m3F28) = $a3 ; $v0 = 0 n:0021D0| GOTO end_8C0020E4 //exit n:0021D8| GOTO n_0023BC if $a2 <> $v0 //v0=2 | $v0 = 4 n:0021E4| byte(p40B3)=$a2 ; byte(p4055)=0 ; byte(p4056)=$v0 | LOOP n_0021C8 t:002200| byte(p4000)=#11 ;byte(p4022)=3; $v0=byte(p4011); $v0=$v0 | 9 | byte(p4011) = $v0 ; $v1 = 1; LOOP n_002194 t:002238| byte(p4000)=#43 ; $v1=byte(p4034); $v0=$v1 & #00FB | byte(p4034) = $v0 ; $v1 = 1; LOOP n_002194 t:002264| byte(p4000)=#43 ; $v1=byte(p4034); $v0=$v1 | 4 | byte(p4034) = $v0 ; $v1 = 1; LOOP n_002194 t:002290| byte(p4000)=6; byte(p4050)=3 ; $v1=1; LOOP n_002194 t:0022B0| byte(p4000)=4; byte(p4046)=0 ; byte(p4047)=#0D | byte(p4048) = 0; $v1 = 1; LOOP n_002194 t:0022E0| byte(p4000) = 5; byte(p4046) = 0; byte(p4047) = 2 | $v1 = 1 ; LOOP n_002194 t:002308| byte(p4000) = 7 ; $v1 = 1 ; LOOP n_002194 t:00231C| $v0=byte(p4009); $v1=byte(p4011); $v0=$v0 | 8 ; $v1=$v1 | 8 | byte(p4009)=$v0; byte(p4011)=$v1 ; $v0=1 if $a3 < 10; LOOP n_00214C t:00234C|$v0=byte(p4008);$v1=byte(p4010);$v0=$v0 | #0C;$v1=$v1 | #0C;LOOP n_2138 t:002368|$v0=byte(p4008);$v1=byte(p4010);$v0=$v0 | #0C;$v1=$v1 | #0C;LOOP n_2138 t:002384|$v0=byte(p4008);$v1=byte(p4010);$v0=$v0 | #0C;$v1=$v1 | #0C;LOOP n_2138 t:0023A0|$v0=byte(p4008);$v1=byte(p4010);$v0=$v0 | 8;$v1=$v1 | 8;LOOP n_2138 n:0023BC| JUMP (return){$v0 =#01} //exit(1) end_8C0020E4 ===================================================================== t:0025A8| $t7 = $ra ; $t6 = $a1 ^ $a3 | CALL_2574 |if($t6 < 0){$v0 = -$v0; $v1 = -$v1; if($v0 > 0)$v1--;} | GOTO $t7 //ret t:0025D4| $t7 = $ra ; $t6 = $a1 | CALL_2574 | $v0 = $a0 ; $v1 = $a1 |if($t6 < 0){$v0 = -$v0; $v1 = -$v1; if($v0 > 0)$v1--;} | GOTO $t7 //ret C_2574|if($a1 < 0){$a0 = -$a0; $a1 = -$a1; if($a0 > 0)$a1--;} | GOTO_CALL c_02484 if $a3 >= 0 t:002594| $a2 = -$a2 ; $a3 = -$a3; if($a2 > 0)$a3--; | GOTO_CALL c_02484 ---------------------------------------------------------- C_02484| $t0 = $a3 | $a2 ; $v1 = 0; $v0 = 0 | GOTO n_002554 if $t0 = 0 | $t4 = #8000.0000 | $t3 = 0; $t2 = 0; $t1 = 1 n:0024A4| $v0 = $a1 & $t4 | $t0 = {$a0 & $t3} | $v0 ; $v0 = $t4 << 31 | GOTO n_0024C8 if $t0 | $t4 = $t4 >> 1 (sign) | $t3 = {$t3 >> 1} | $v0 | LOOP n_0024A4 n:0024C8| $v0 = $a3 & $t4 | $t0 = {$a2 & $t3} | $v0 ; $v0 = $t1 >> 31 | GOTO n_0024FC if $t0 | $t1 = $t1 << 1 | $t2 = {$t2 << 1} | $v0 ; $v0 = $a2 >> 31 | $a2 = $a2 << 1 | $a3 = {$a3 << 1} | $v0 | LOOP n_0024C8 n:0024FC| $v0 = 0 n:002500| $t0 = 1 if $a1 < $a3 | $t4 = $t2 << 31 | GOTO n_002530 if $t0 | $t3 = 1 if $a0 < $a2 | GOTO n_00251C if $a1 <> $a3 | GOTO n_002530 if $t3 n:00251C| $a1 = $a1 - $a3 ; $a1 = $a1 - $t3 | $a0 = $a0 - $a2 ; $v0 = $v0 | $t1 | $v1 = $v1 | $t2 n:002530| $t1 = $t1 >> 1 ; $t2 = $t2 >> 1 | $t1 = $t1 | $t4 ; $t3 = $t2 | $t1 | $t0 = $a3 << 31 ; $a2 = $a2 >> 1 | $a3 = $a3 >> 1 ; $a2 = $a2 | $t0 | LOOP n_002500 if $t3 n:002554| JUMP (return) ===================================================================== ===================================================================== end