diff options
Diffstat (limited to 'vortex86ex')
-rw-r--r-- | vortex86ex/array.php | 594 | ||||
-rw-r--r-- | vortex86ex/dmp_kbd_fw_part1.inc.disassembled.d52.txt | 2444 | ||||
-rw-r--r-- | vortex86ex/dmp_kbd_fw_part1.inc.disassembled.dis51.txt | 3079 | ||||
-rwxr-xr-x | vortex86ex/dmp_kbd_fw_part1.inc.txt | 531 | ||||
-rw-r--r-- | vortex86ex/index.php | 307 |
5 files changed, 0 insertions, 6955 deletions
diff --git a/vortex86ex/array.php b/vortex86ex/array.php deleted file mode 100644 index 90bf210..0000000 --- a/vortex86ex/array.php +++ /dev/null @@ -1,594 +0,0 @@ -<?php -/* -# Copyright (C) 2014 Francis Rowe <info@gluglug.org.uk> -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -# The data from the $blob variable (see below) is taken -# from src/cpu/dmp/vortex86ex/dmp_kbd_fw_part1.inc in coreboot* and -# has different copyright terms. Check inside that file for details. -# *http://coreboot.org/ -*/ - -// steps below based on: -// https://en.wikipedia.org/wiki/Intel_HEX#Format -// Trying to disassemble http://libreboot.org/dmp_kbd_fw_part1.inc.txt -// which is from coreboot (src/cpu/dmp/vortex86ex/dmp_kbd_fw_part1.inc). -// The dissassemblers need intel hex format, so this script provides that. -// 8051 disassembler used: dis51 -// 8052 disassembler used: d52 -// see results on http://libreboot.org/vortex86ex/ - -$blob = array( -"0204a3020afbef75", -"f003a4ffae071fee", -"70fa22020ad51209", -"5e7f301205fb90e0", -"007416f0120ddac2", -"92c293c290d291d2", -"b8d2bad288d2a8d2", -"8ad2aa7d44e4ff12", -"0e3a7d4d0f120e3a", -"7d260f120e3a7d50", -"0f120e3a120e59d2", -"af7fb1120ef5900f", -"fee493ffb4550aa3", -"e493b4aa04d20880", -"10efb4120c900fff", -"e493b43404c208c2", -"1212036c120da612", -"010830012730121f", -"20001c301119120d", -"251209c4300805c2", -"1a120a26120d92d2", -"00120d3b1207c212", -"0ddac20112036c12", -"072e3012c43000c1", -"90d000e030e0bac2", -"af120e07500e120e", -"b6120ebcd21a120a", -"26120d3bd2af80a1", -"ae03ab05531aef90", -"d000e51af0ad078e", -"337f20120d51431a", -"1090d000e51af022", -"da7e100914120da6", -"90e000e0ff20e103", -"0202c8c2a8c2aa20", -"0403300705d2a8d2", -"aa22efa2e3921c90", -"f000e0f52c120e2f", -"d2a8d2aa301c0302", -"01eec21dc21e2017", -"030201d4e51824e1", -"603b245470030201", -"d024fa601414601e", -"14601f1460232474", -"706caf2c1205fb80", -"67e52c30e104d290", -"805ec290805ac21f", -"8002d21f852c2f80", -"46d21e804be52c70", -"1a120ced1208f285", -"3812853913853a14", -"850915850a16850b", -"17802de52cc39401", -"4013e52cd3940650", -"0cc21f7411252cf8", -"e6f52f800ae52cb4", -"070ec21f853b2fd2", -"20120db88002d21d", -"c2178002d21d301d", -"07af2c12052f8008", -"301e05af2c120597", -"120e850202c2c21d", -"e52c120b2102b71f", -"02352002b7600256", -"a7025da80264a902", -"48aa0264ab026dad", -"0274ae0241c002b7", -"cb027bd002b7d102", -"b7d202b7d302b7d4", -"0298dd028ddf02a8", -"fe000002b5120a83", -"8f2dc21f852d2f80", -"28c21f752fff8021", -"7f301205fbc21f75", -"2f55c220804b120e", -"8dd21d805a120ee6", -"d21d8053c21fe4f5", -"2fd2208034120e94", -"d21d8043120ef0d2", -"1d803c752e013090", -"03432e02c21f852e", -"2fd2208014d290c2", -"1f850f2fd2208009", -"c290c21f850f2fd2", -"20120db8d21d800f", -"c2917f05120006d2", -"91d21d8002d21d30", -"1d03120e85d21785", -"2c18200103120dda", -"22444d265000ff43", -"413f3d3b3c586444", -"42403e0f29596538", -"2a701d10025a6671", -"2c1f1e11035b672e", -"2d201205045c6839", -"2f211413065d6931", -"30232215075e6a72", -"32241608095f6b33", -"2517180b0a606c34", -"352627190c616d73", -"28741a0d626e3a36", -"1c1b752b63765556", -"7778797a0e7b7c4f", -"7d4b477e7f6f5253", -"504c4d480145574e", -"514a374946540000", -"0041540001010201", -"0202030102020302", -"0303041423143a14", -"4d423223200c0302", -"0408c21ac21be510", -"30e757e511ae1078", -"06cec313ce13d8f9", -"f526ff120dca8f27", -"e510c413135403ff", -"e5275401b50705e4", -"7f0180027f00ef30", -"e004d21b80242013", -"1faf26120779af26", -"1209f68e288f29e5", -"29f47003e528f460", -"09852926d21a8002", -"d21a301a1bc2277f", -"07120b6cc2277f06", -"120b6ca213922585", -"26311208bbc20c22", -"301b10a213922175", -"30ffd222c223d224", -"0206eec20c120e7d", -"22e4f526f5277528", -"0f7529ffe5272529", -"ffe5263528c313f5", -"2aef13f52bffae2a", -"120e15bfff0ee52b", -"24fff529e52a34ff", -"f5288047ef700de5", -"2b2401f527e4352a", -"f5268037752cffe4", -"f52de52cc313f52c", -"b5071ce52bae2a78", -"03c333ce33ced8f9", -"7c00252dffec3ecf", -"2401cf3400fe2205", -"2de52db407d47eff", -"7fff22d3e5279529", -"e5286480f8e52664", -"80984080e527ae26", -"7803c333ce33ced8", -"f9ff22787fe4f6d8", -"fd75813b0204ea02", -"0016e493a3f8e493", -"a34003f68001f208", -"dff48029e493a3f8", -"5407240cc8c333c4", -"540f4420c8834004", -"f456800146f6dfe4", -"800b010204081020", -"4080900880e47e01", -"9360bca3ff543f30", -"e509541ffee493a3", -"60010ecf54c025e0", -"60a840b8e493a3fa", -"e493a3f8e493a3c8", -"c582c8cac583caf0", -"a3c8c582c8cac583", -"cadfe9dee780bed2", -"0dc296d20ed210c2", -"948f08120dcaef13", -"b39214d216e4f50c", -"7f28120006c297d2", -"03c20a7fe87efd12", -"0c79c20dd2963016", -"16120e6250f8c2af", -"d297c2211206e5c2", -"16e4f50cd2af227f", -"e87efd120c792004", -"12200a0f120e6250", -"f5c2afc2211206e5", -"d2af2212072e22d2", -"10c294d20ad20dc2", -"968f08120dcaef13", -"b39214d216e4f50e", -"7f28120006c295d2", -"05c20e7fe87efd12", -"0c79c210d2943016", -"14120e6250f8c2af", -"d2951206e3c216e4", -"f50ed2af227fe87e", -"fd120c7920071020", -"0e0d120e6250f5c2", -"af1206e3d2af2212", -"072e22ad07ed30e6", -"04d20f8002c20fed", -"30e505120e8d8003", -"120ee6ed30e40512", -"0e948003120ef0ed", -"30e204d2278002c2", -"277f02120b6ced30", -"e105120f14800312", -"0f11ed30e00b120f", -"1a201108d211d201", -"22120f17227f0212", -"0006209442a29592", -"18050ee50eb40112", -"20180ad207d20ad2", -"0dc2968019e4f50e", -"8014e50eb40b0fd2", -"0ed210c294d213d2", -"0ce4f50ec207e510", -"c313f510e51113f5", -"1130180343108022", -"7f02120006209642", -"a2979219050ce50c", -"b4011220190ad204", -"d20ed210c2948019", -"e4f50c8014e50cb4", -"0b0fd20ad20dc296", -"c213d20ce4f50cc2", -"04e510c313f510e5", -"1113f51130190343", -"108022d2217530fe", -"d222d223c224d20a", -"d20dc296d20ed210", -"c294a22392277f06", -"120b6ca22492277f", -"07120b6c30220ca2", -"2192258530311208", -"bb8010a221922685", -"3032120bf9c292c2", -"93d209c20c222004", -"033007447fe87efd", -"120c792004033007", -"37120e6250f5c2af", -"2004033007263004", -"04c21f8002d21fe4", -"f50cc204f50ec207", -"120eeb120e80d2af", -"a21f92217530ff12", -"06e880c7d2af80c3", -"22e5196003b40209", -"e50d900363936f60", -"0be5196401702def", -"64f070280519e519", -"d394024024e4f519", -"050de50d94094019", -"752a05e4ff120c3b", -"7f07120c3bd52af3", -"e4f50d22e4f50df5", -"1922e53b64157041", -"120cede53a30e005", -"7526808003e4f526", -"e53ac313f53ae539", -"30e003433a80e539", -"c313f539e53830e0", -"03433980c2b690d0", -"01e4f0a3e526f0a3", -"e53af0a3e539f0d2", -"b622209437050ee5", -"0ed394085012e508", -"30e004d2958002c2", -"95e508c313f50822", -"e50eb40905a21492", -"9522e50eb40a03d2", -"9522e50eb40b05c2", -"16e4f50e22209637", -"050ce50cd3940850", -"12e50830e004d297", -"8002c297e508c313", -"f50822e50cb40905", -"a214929722e50cb4", -"0a03d29722e50cb4", -"0b05c216e4f50c22", -"010c00c104c10ac1", -"83c10cc109c102c1", -"16c108010e00c107", -"c10ec185c18bc186", -"c18fc112c100c111", -"c101c117010d0001", -"1900011a00013403", -"c12900a225922685", -"3132120bf9c292c2", -"9320250320060630", -"251d300b1a7f697e", -"00120c79120e6250", -"fb120eb050092025", -"04d2928002d293d2", -"0922900ffce493fe", -"740193ffc3953af5", -"0bee9539f50a900f", -"fbe493c39538f509", -"c3ef953aee953950", -"021509e50930e707", -"e4f509f50af50b22", -"0535af35ae07ee14", -"131313541ffdee54", -"07ff7006f526f527", -"801574ff7e00a807", -"088006cea2e713ce", -"13d8f8f5278e26af", -"05ad27020c5ae4ff", -"7e01efc394085027", -"ef601d64016019ef", -"64036014ee440254", -"fe90e000f054f4fd", -"ee54f46d6002d322", -"0fee25e0fe80d3c3", -"22ad07ac06ed24ff", -"ffec34fffeef7803", -"cec313ce13d8f9ff", -"ed5407fd7004f526", -"800d74ffa8050880", -"02c313d8fcf526ad", -"26020aadc2282029", -"0f120f0d8f3be53b", -"b4150375341fd229", -"120a568f35e53530", -"e00c120d7d120928", -"e4f536f537221204", -"098e368f3722200f", -"037e0022bff007d2", -"157eff7fff22efc3", -"948540037e0022ef", -"9002ce93fe7002fe", -"22301503430680c2", -"15af067e0022a21a", -"92280537e5377002", -"0536c3e536948050", -"07af37ae36020991", -"e535c39410500e12", -"0928120d7d120928", -"e4f536f53722e4ff", -"120e237effe4f526", -"e526b408077f0112", -"0e237effeeb50703", -"af2622eec313fe05", -"26e526d3941040e0", -"7fff22e4ff300f02", -"7f40200503430720", -"20030343071090e0", -"00e030e203430704", -"300b034307023006", -"03430701228e278f", -"288d29120e74e527", -"24d0f52ae528f52b", -"120ea285292fab2b", -"ad2aaf34120b4712", -"0ea9020deac0e0c0", -"f0c0d075d000c006", -"c00720100b301605", -"12080a800312064d", -"d007d006d0d0d0f0", -"d0e032c0e0c0f0c0", -"d075d000c006c007", -"200d0b3016051208", -"458003120698d007", -"d006d0d0d0f0d0e0", -"32d083d082f8e493", -"7012740193700da3", -"a393f8740193f582", -"8883e47374029368", -"60efa3a3a380dfae", -"03ab05531aef90d0", -"00e51af0ad078e33", -"7f02120d51af2f12", -"0cd0431a1090d000", -"e51af0227401a807", -"088002c333d8fcff", -"90e000e04402feef", -"30270442068003f4", -"520690e000eef022", -"120e074005120105", -"80f6120ec8120ed4", -"c21f752feea20692", -"20120db890d000e0", -"30e1f922ae03ab05", -"531aef90d000e51a", -"f0ad078e337f0312", -"0d51120bd7431a10", -"90d000e51af022e5", -"1a549ffd4420fe7c", -"08ef25e0ff90d000", -"edf0e030e4034307", -"0190d000eef0dce9", -"2290f000e532f0f5", -"0fa22692277f0512", -"0b6c90e000e04402", -"54fefef04401f0ee", -"f022531aef90d000", -"e51af07f9f120cd0", -"120bd7120bd7120b", -"d7431a1090d000e5", -"1af0228f2b7fed12", -"052faf2b12052f75", -"2c0a7fe87efd120c", -"79120e6250fbd52c", -"f1228f288d29120e", -"74120ea2e52824fe", -"fb85292f7defaf34", -"120b47120ea9020d", -"eaad07ac06c28ced", -"f4ffecf4feef2401", -"fde43ef58caf058f", -"8ac28dd28c22ad07", -"ac06c2caedf4ffec", -"f4feef2401fde43e", -"f5cdaf058fccc2cf", -"d2ca22531aef90d0", -"00e51af07f05120c", -"d0120bd7431a1090", -"d000e51af0ef1322", -"e51a549ffe4440fd", -"7c0890d000ef33ff", -"5003ed8001eef044", -"20f0dcf122120f04", -"8e398f3a120f1d8f", -"38e53830e1034339", -"80e5381313543ff5", -"3822531aef90d000", -"e51af07f05120cd0", -"120bd7431a1090d0", -"00e51af022120ec8", -"120ed490d000e020", -"e10812036c120105", -"80f122120ced1208", -"f2e509700be50a70", -"07e50b7003120eda", -"228d318b32120cd0", -"af31120cd0af3212", -"0cd0af33020cd053", -"1aef90d000e51af0", -"120cd0431a1090d0", -"00e51af022120e74", -"120ea2e4fb7dd0af", -"341200e0120ea902", -"0dea531afb90d000", -"e51af0531afde51a", -"f07f3c0200063009", -"0e120eb04009c292", -"c293c209120e7d22", -"a21f9221852f30a2", -"209222c223c22402", -"06eeefc4540f9003", -"5393feef540f932e", -"ff2290e000e04402", -"54fefef054fdf0ee", -"f022120ea2120cb3", -"921b120ea9201bf2", -"22300509200e0620", -"0203d38001c32230", -"0309200a06200203", -"d38001c322aa06ea", -"24d0fdeffbaf3412", -"0bb422ef24fefb7d", -"efaf34120bb422d2", -"02d20dc296d210c2", -"9422ef9002c9936d", -"600280fe22120df9", -"5004c210d2942212", -"0e075004c20dd296", -"22e58954f04401f5", -"8922308d04c28cd3", -"22c32230cf04c2ca", -"d322c322120ea212", -"0efa020ea9120eeb", -"c20e020e45c20212", -"0e4f020e45c205d2", -"10c29422c203d20d", -"c2962290d000e51a", -"f022302803120b90", -"22302803120d9222", -"90e000e01322531a", -"fe020e9b431a0102", -"0e9b531afd020e9b", -"431a02020e9b531a", -"fb020e9b431a0402", -"0e9b531a7f020e9b", -"431a80020e9bd205", -"020e45c20a020e4f", -"d203020e4f8f1a02", -"0e9b7f06020d677f", -"04020d67ae36af37", -"22e4f5c822120c1a", -"22c20b22d20b22c2", -"0622d20622af3522", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff", -"ffffffffffffffff" -); -?> - -<span style="font-family:mono; font-size:0.85em;"> -<?php -$shl = 3; - -$datalen = pow(2, $shl); -$datalenhex = dechex($datalen); -while (strlen($datalenhex)<2) $datalenhex="0".$datalenhex; - -$recordtype = 0x00; -$recordtypehex = dechex($recordtype); -while (strlen($recordtypehex)<2) $recordtypehex="0".$recordtypehex; - -for ($i=0; $i<count($blob); $i++) { - - $addr = ($i << $shl); - - // -------------------- - // checksum calculation - // -------------------- - - $chksum = $datalen + ($addr >> 8) + ($addr & 0xff) + $recordtype; - - for ($j=0; $j<strlen($blob[$i]); $j+=2) - $chksum += hexdec(substr($blob[$i],$j,2)); - - $chksum ^= 0xffffffff; - ++$chksum; - $chksum &= 0xff; - - // --------------- - // Display results - // --------------- - - $addrhex = dechex($addr); - while (strlen($addrhex)<4) $addrhex="0".$addrhex; - - $chksumhex = dechex($chksum); - while (strlen($chksumhex)<2) $chksumhex="0".$chksumhex; - - echo ":".$datalenhex.$addrhex.$recordtypehex.$blob[$i].$chksumhex."<br/>"; -} - -// end of file -echo ":00000001FF"; -?> -</span> diff --git a/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.d52.txt b/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.d52.txt deleted file mode 100644 index 715a84d..0000000 --- a/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.d52.txt +++ /dev/null @@ -1,2444 +0,0 @@ -; -; D52 V3.4.1 8052 Disassembly of dis.inc.hex -; 2014/11/17 12:45 -; - org 0 -; - ljmp X04a3 ; 0000 02 04 a3 ..# -; -X0003: ljmp X2afb ; 0003 02 2a fb .*{ -; -X0006: mov a,r7 ; 0006 ef o - mov b,#3 ; 0007 75 f0 03 up. - mul ab ; 000a a4 $ - mov r7,a ; 000b ff . -X000c: mov r6,rb0r7 ; 000c ae 07 .. - addc a,r7 ; 000e 3f ? - mov a,r6 ; 000f ee n - jnz X000c ; 0010 70 fa pz - ret ; 0012 22 " -; - ljmp X2ad5 ; 0013 02 2a d5 .*U -; -X0016: lcall X097e ; 0016 12 09 7e ..~ - mov r7,#30h ; 0019 7f 30 .0 - lcall X05fb ; 001b 12 05 fb ..{ - mov dptr,#Xe000 ; 001e 90 e0 00 .`. - mov a,#16h ; 0021 74 16 t. - movx @dptr,a ; 0023 f0 p - lcall X2dfa ; 0024 12 2d fa .-z - clr p1.2 ; 0027 c2 92 B. - clr p1.3 ; 0029 c2 93 B. - clr p1.0 ; 002b c2 90 B. - setb p1.1 ; 002d d2 91 R. - setb px0 ; 002f d2 b8 R8 - setb px1 ; 0031 d2 ba R: - setb it0 ; 0033 d2 88 R. - setb ex0 ; 0035 d2 a8 R( - setb ex1 ; 0037 d2 aa R* - setb ex1 ; 0039 d2 aa R* - mov r5,#44h ; 003b 7d 44 }D - clr a ; 003d e4 d - mov r7,a ; 003e ff . - lcall X2e3a ; 003f 12 2e 3a ..: - mov r5,#6dh ; 0042 7d 6d }m - add a,r7 ; 0044 2f / -X0045: lcall X2e3a ; 0045 12 2e 3a ..: - mov r5,#26h ; 0048 7d 26 }& - add a,r7 ; 004a 2f / - lcall X2e3a ; 004b 12 2e 3a ..: - mov r5,#50h ; 004e 7d 50 }P - add a,r7 ; 0050 2f / - lcall X2e3a ; 0051 12 2e 3a ..: - lcall X2e59 ; 0054 12 2e 59 ..Y - setb ea ; 0057 d2 af R/ - mov r7,#0b1h ; 0059 7f b1 .1 - lcall X2ef5 ; 005b 12 2e f5 ..u - mov dptr,#X2ffe ; 005e 90 2f fe ./~ - clr a ; 0061 e4 d - movc a,@a+dptr ; 0062 93 . - mov r7,a ; 0063 ff . - cjne a,#55h,X0091 ; 0064 b4 55 2a 4U* - inc dptr ; 0067 a3 # - clr a ; 0068 e4 d - movc a,@a+dptr ; 0069 93 . - cjne a,#0aah,X0071 ; 006a b4 aa 04 4*. - setb 21h.0 ; 006d d2 08 R. - sjmp X0081 ; 006f 80 10 .. -; -X0071: mov a,r7 ; 0071 ef o - cjne a,#12h,X00a1 ; 0072 b4 12 2c 4., - mov dptr,#X2fff ; 0075 90 2f ff ./. - clr a ; 0078 e4 d - movc a,@a+dptr ; 0079 93 . - cjne a,#34h,X0081 ; 007a b4 34 04 44. - clr 21h.0 ; 007d c2 08 B. - clr 22h.2 ; 007f c2 12 B. -X0081: lcall X036c ; 0081 12 03 6c ..l - lcall X2da6 ; 0084 12 2d a6 .-& - lcall X0108 ; 0087 12 01 08 ... - jnb 20h.1,X00b4 ; 008a 30 01 27 0.' - jnb 22h.2,X00cf ; 008d 30 12 3f 0.? - jb 20h.0,X00cf ; 0090 20 00 3c .< - jnb 22h.1,X00af ; 0093 30 11 19 0.. - lcall X2d25 ; 0096 12 2d 25 .-% - lcall X09c4 ; 0099 12 09 c4 ..D - jnb 21h.0,X00a4 ; 009c 30 08 05 0.. - clr 27h.2 ; 009f c2 3a B: -X00a1: lcall X2a26 ; 00a1 12 2a 26 .*& -X00a4: lcall X2d92 ; 00a4 12 2d 92 .-. - setb 20h.0 ; 00a7 d2 00 R. - lcall X2d3b ; 00a9 12 2d 3b .-; - lcall X07c2 ; 00ac 12 07 c2 ..B -X00af: lcall X2dfa ; 00af 12 2d fa .-z - clr 20h.1 ; 00b2 c2 01 B. -X00b4: lcall X036c ; 00b4 12 03 6c ..l - lcall X072e ; 00b7 12 07 2e ... - jnb 22h.2,X0081 ; 00ba 30 12 c4 0.D - jnb 20h.0,X0081 ; 00bd 30 00 c1 0.A - mov dptr,#Xd000 ; 00c0 90 d0 00 .P. - movx a,@dptr ; 00c3 e0 ` - jnb acc.0,X0081 ; 00c4 30 e0 ba 0`: - clr ea ; 00c7 c2 af B/ - lcall X2e07 ; 00c9 12 2e 07 ... - jnc X00fc ; 00cc 50 2e P. - lcall X2eb6 ; 00ce 12 2e b6 ..6 - lcall X2ebc ; 00d1 12 2e bc ..< - setb 27h.2 ; 00d4 d2 3a R: - lcall X2a26 ; 00d6 12 2a 26 .*& - lcall X2d3b ; 00d9 12 2d 3b .-; - setb ea ; 00dc d2 af R/ - sjmp X0081 ; 00de 80 a1 .! -; -X00e0: mov r6,rb0r3 ; 00e0 ae 03 .. - mov r3,rb0r5 ; 00e2 ab 05 +. - anl 3ah,#0efh ; 00e4 53 3a ef S:o - mov dptr,#Xd000 ; 00e7 90 d0 00 .P. - mov a,3ah ; 00ea e5 3a e: - movx @dptr,a ; 00ec f0 p - mov r5,rb0r7 ; 00ed ad 07 -. - mov r6,33h ; 00ef ae 33 .3 - mov r7,#20h ; 00f1 7f 20 . - lcall X2d51 ; 00f3 12 2d 51 .-Q - orl 3ah,#10h ; 00f6 43 3a 10 C:. - mov dptr,#Xd000 ; 00f9 90 d0 00 .P. -X00fc: mov a,3ah ; 00fc e5 3a e: - movx @dptr,a ; 00fe f0 p - ret ; 00ff 22 " -; - mov r2,a ; 0100 fa z - mov r6,#10h ; 0101 7e 10 ~. - inc r1 ; 0103 09 . - dec a ; 0104 14 . -X0105: lcall X2da6 ; 0105 12 2d a6 .-& -X0108: mov dptr,#Xe000 ; 0108 90 e0 00 .`. - movx a,@dptr ; 010b e0 ` - mov r7,a ; 010c ff . - jb acc.1,X0113 ; 010d 20 e1 03 a. - ljmp X02c8 ; 0110 02 02 c8 ..H -; -X0113: clr ex0 ; 0113 c2 a8 B( - clr ex1 ; 0115 c2 aa B* - jb 20h.4,X011d ; 0117 20 04 03 .. - jnb 20h.7,X0122 ; 011a 30 07 05 0.. -X011d: setb ex0 ; 011d d2 a8 R( - setb ex1 ; 011f d2 aa R* - ret ; 0121 22 " -; -X0122: mov a,r7 ; 0122 ef o - mov c,acc.3 ; 0123 a2 e3 "c - mov 27h.4,c ; 0125 92 3c .< - mov dptr,#Xf000 ; 0127 90 f0 00 .p. - movx a,@dptr ; 012a e0 ` - mov 2ch,a ; 012b f5 2c u, - lcall X2e2f ; 012d 12 2e 2f ../ -X0130: setb ex0 ; 0130 d2 a8 R( - setb ex1 ; 0132 d2 aa R* - jnb 27h.4,X013a ; 0134 30 3c 03 0<. - ljmp X01ee ; 0137 02 01 ee ..n -; -X013a: clr 27h.5 ; 013a c2 3d B= - clr 27h.6 ; 013c c2 3e B> - jb 22h.7,X0144 ; 013e 20 17 03 .. - ljmp X01d4 ; 0141 02 01 d4 ..T -; -X0144: mov a,rb3r0 ; 0144 e5 18 e. - add a,#0e1h ; 0146 24 e1 $a - jz X0185 ; 0148 60 3b `; - add a,#54h ; 014a 24 54 $T - jnz X0151 ; 014c 70 03 p. - ljmp X01d0 ; 014e 02 01 d0 ..P -; -X0151: add a,#0fah ; 0151 24 fa $z - jz X0169 ; 0153 60 14 `. - dec a ; 0155 14 . - jz X0196 ; 0156 60 3e `> - dec a ; 0158 14 . - jz X019a ; 0159 60 3f `? - dec a ; 015b 14 . - jz X0181 ; 015c 60 23 `# - add a,#74h ; 015e 24 74 $t - jnz X01ce ; 0160 70 6c pl - mov r7,2ch ; 0162 af 2c /, - lcall X05fb ; 0164 12 05 fb ..{ - sjmp X01d0 ; 0167 80 67 .g -; -X0169: mov a,2ch ; 0169 e5 2c e, - jnb acc.1,X0172 ; 016b 30 e1 04 0a. - setb p1.0 ; 016e d2 90 R. - sjmp X01f0 ; 0170 80 7e .~ -; -X0172: clr p1.0 ; 0172 c2 90 B. - sjmp X01f0 ; 0174 80 7a .z -; - clr 27h.7 ; 0176 c2 3f B? - sjmp X017c ; 0178 80 02 .. -; - setb 27h.7 ; 017a d2 3f R? -X017c: mov 2fh,2ch ; 017c 85 2c 2f .,/ - sjmp X01c7 ; 017f 80 46 .F -; -X0181: setb 27h.6 ; 0181 d2 3e R> - sjmp X01f0 ; 0183 80 6b .k -; -X0185: mov a,2ch ; 0185 e5 2c e, - jnz X01c3 ; 0187 70 3a p: - lcall X2ced ; 0189 12 2c ed .,m - lcall X08f2 ; 018c 12 08 f2 ..r - mov rb2r2,38h ; 018f 85 38 12 .8. - mov rb2r3,39h ; 0192 85 39 13 .9. - mov rb2r4,3ah ; 0195 85 3a 14 .:. - mov rb2r5,rb1r1 ; 0198 85 09 15 ... - mov rb2r6,2ah ; 019b 85 2a 16 .*. - mov rb2r7,2bh ; 019e 85 2b 17 .+. - sjmp X01d0 ; 01a1 80 2d .- -; - mov a,2ch ; 01a3 e5 2c e, - clr c ; 01a5 c3 C - subb a,#1 ; 01a6 94 01 .. - jc X01bd ; 01a8 40 13 @. - mov a,2ch ; 01aa e5 2c e, - setb c ; 01ac d3 S - subb a,#6 ; 01ad 94 06 .. - jnc X01dd ; 01af 50 2c P, - clr 27h.7 ; 01b1 c2 3f B? - mov a,#11h ; 01b3 74 11 t. - add a,2ch ; 01b5 25 2c %, - mov r0,a ; 01b7 f8 x - mov a,@r0 ; 01b8 e6 f - mov 2fh,a ; 01b9 f5 2f u/ - sjmp X01e7 ; 01bb 80 2a .* -; -X01bd: mov a,2ch ; 01bd e5 2c e, - cjne a,#7,X01f0 ; 01bf b4 07 2e 4.. - clr 27h.7 ; 01c2 c2 3f B? - mov 2fh,3bh ; 01c4 85 3b 2f .;/ -X01c7: setb 24h.0 ; 01c7 d2 20 R - lcall X2db8 ; 01c9 12 2d b8 .-8 - sjmp X01d0 ; 01cc 80 02 .. -; -X01ce: setb 27h.5 ; 01ce d2 3d R= -X01d0: clr 22h.7 ; 01d0 c2 17 B. - sjmp X01d6 ; 01d2 80 02 .. -; -X01d4: setb 27h.5 ; 01d4 d2 3d R= -X01d6: jnb 27h.5,X01e0 ; 01d6 30 3d 07 0=. - mov r7,2ch ; 01d9 af 2c /, - lcall X052f ; 01db 12 05 2f ../ - sjmp X01e8 ; 01de 80 08 .. -; -X01e0: jnb 27h.6,X01e8 ; 01e0 30 3e 05 0>. - mov r7,2ch ; 01e3 af 2c /, - lcall X0597 ; 01e5 12 05 97 ... -X01e8: lcall X2e85 ; 01e8 12 2e 85 ... - ljmp X02c2 ; 01eb 02 02 c2 ..B -; -X01ee: clr 27h.5 ; 01ee c2 3d B= -X01f0: mov a,2ch ; 01f0 e5 2c e, - lcall X2b21 ; 01f2 12 2b 21 .+! - ljmp Xb73f ; 01f5 02 b7 3f .7? -; - ljmp X3520 ; 01f8 02 35 20 .5 -; - ljmp Xb760 ; 01fb 02 b7 60 .7` -; - ljmp X56a7 ; 01fe 02 56 a7 .V' -; - ljmp X7da8 ; 0201 02 7d a8 .}( -; - ljmp X64a9 ; 0204 02 64 a9 .d) -; - ljmp X48aa ; 0207 02 48 aa .H* -; - ljmp X64ab ; 020a 02 64 ab .d+ -; - ljmp X6dad ; 020d 02 6d ad .m- -; - ljmp X74ae ; 0210 02 74 ae .t. -; - ljmp X41c0 ; 0213 02 41 c0 .A@ -; - ljmp Xb7eb ; 0216 02 b7 eb .7k -; - ljmp X7bd0 ; 0219 02 7b d0 .{P -; - ljmp Xb7d1 ; 021c 02 b7 d1 .7Q -; - ljmp Xb7d2 ; 021f 02 b7 d2 .7R -; - ljmp Xb7d3 ; 0222 02 b7 d3 .7S -; - ljmp Xb7d4 ; 0225 02 b7 d4 .7T -; - ljmp X98fd ; 0228 02 98 fd ..} -; - ljmp Xadff ; 022b 02 ad ff .-. -; - ljmp Xa8fe ; 022e 02 a8 fe .(~ -; - org 233h -; - ljmp Xb512 ; 0233 02 b5 12 .5. -; - add a,r2 ; 0236 2a * - movc a,@a+pc ; 0237 83 . - mov r7,2dh ; 0238 af 2d /- - clr 27h.7 ; 023a c2 3f B? - mov 2fh,2dh ; 023c 85 2d 2f .-/ - sjmp X0269 ; 023f 80 28 .( -; - clr 27h.7 ; 0241 c2 3f B? - mov 2fh,#0ffh ; 0243 75 2f ff u/. - sjmp X0269 ; 0246 80 21 .! -; - mov r7,#30h ; 0248 7f 30 .0 - lcall X05fb ; 024a 12 05 fb ..{ - clr 27h.7 ; 024d c2 3f B? - mov 2fh,#55h ; 024f 75 2f 55 u/U - clr 24h.0 ; 0252 c2 20 B -X0254: sjmp X02c1 ; 0254 80 6b .k -; - lcall X2ead ; 0256 12 2e ad ..- - setb 27h.5 ; 0259 d2 3d R= - sjmp X02d7 ; 025b 80 7a .z -; - lcall X2ee6 ; 025d 12 2e e6 ..f - setb 27h.5 ; 0260 d2 3d R= - sjmp X02b7 ; 0262 80 53 .S -; - clr 27h.7 ; 0264 c2 3f B? - clr a ; 0266 e4 d - mov 2fh,a ; 0267 f5 2f u/ -X0269: setb 24h.0 ; 0269 d2 20 R - sjmp X02a1 ; 026b 80 34 .4 -; - lcall X2e94 ; 026d 12 2e 94 ... - setb 27h.5 ; 0270 d2 3d R= - sjmp X02b7 ; 0272 80 43 .C -; - lcall X2ef0 ; 0274 12 2e f0 ..p - setb 27h.5 ; 0277 d2 3d R= - sjmp X02b7 ; 0279 80 3c .< -; - mov 2eh,#1 ; 027b 75 2e 01 u.. - jnb p1.0,X0284 ; 027e 30 90 03 0.. - orl 2eh,#2 ; 0281 43 2e 02 C.. -X0284: clr 27h.7 ; 0284 c2 3f B? - mov 2fh,2eh ; 0286 85 2e 2f ../ - setb 24h.0 ; 0289 d2 20 R - sjmp X02a1 ; 028b 80 14 .. -; - setb p1.0 ; 028d d2 90 R. - clr 27h.7 ; 028f c2 3f B? - mov 2fh,2fh ; 0291 85 2f 2f .// - setb 24h.0 ; 0294 d2 20 R - sjmp X02a1 ; 0296 80 09 .. -; - clr p1.0 ; 0298 c2 90 B. - clr 27h.7 ; 029a c2 3f B? - mov 2fh,2fh ; 029c 85 2f 2f .// - setb 24h.0 ; 029f d2 20 R -X02a1: lcall X2db8 ; 02a1 12 2d b8 .-8 - setb 27h.5 ; 02a4 d2 3d R= - sjmp X02d7 ; 02a6 80 2f ./ -; - clr p1.1 ; 02a8 c2 91 B. - mov r7,#5 ; 02aa 7f 05 .. - lcall X0006 ; 02ac 12 00 06 ... - setb p1.1 ; 02af d2 91 R. - setb 27h.5 ; 02b1 d2 3d R= - sjmp X02b7 ; 02b3 80 02 .. -; - setb 27h.5 ; 02b5 d2 3d R= -X02b7: jnb 27h.5,X02bd ; 02b7 30 3d 03 0=. - lcall X2e85 ; 02ba 12 2e 85 ... -X02bd: setb 22h.7 ; 02bd d2 17 R. - mov rb3r0,2ch ; 02bf 85 2c 18 .,. -X02c2: jb 20h.1,X02c8 ; 02c2 20 01 03 .. - lcall X2dfa ; 02c5 12 2d fa .-z -X02c8: ret ; 02c8 22 " -; -X02c9: orl a,#6dh ; 02c9 44 6d Dm - add a,@r0 ; 02cb 26 & - jnc X02ce ; 02cc 50 00 P. -X02ce: mov r7,a ; 02ce ff . - orl 41h,#3fh ; 02cf 43 41 3f CA? - addc a,r5 ; 02d2 3d = - addc a,r3 ; 02d3 3b ; - addc a,r4 ; 02d4 3c < - anl a,r0 ; 02d5 58 X - xrl a,#44h ; 02d6 64 44 dD - orl 40h,a ; 02d8 42 40 B@ - addc a,r6 ; 02da 3e > - add a,r7 ; 02db 2f / - add a,r1 ; 02dc 29 ) - anl a,r1 ; 02dd 59 Y - xrl a,38h ; 02de 65 38 e8 - add a,r2 ; 02e0 2a * - jnz X0320 ; 02e1 70 3d p= - jbc 20h.2,X0360 ; 02e3 10 02 7a ..z - xrl a,@r0 ; 02e6 66 f - acall X032c ; 02e7 71 2c q, - addc a,r7 ; 02e9 3f ? - addc a,r6 ; 02ea 3e > - acall X0003 ; 02eb 11 03 .. - mov r3,#67h ; 02ed 7b 67 {g - add a,r6 ; 02ef 2e . - add a,r5 ; 02f0 2d - - jb 22h.2,X02f9 ; 02f1 20 12 05 .. - inc a ; 02f4 04 . - mov r4,#68h ; 02f5 7c 68 |h - addc a,r1 ; 02f7 39 9 - add a,r7 ; 02f8 2f / -X02f9: ajmp X0114 ; 02f9 21 14 !. -; - rrc a ; 02fb 13 . - inc @r0 ; 02fc 06 . - mov r5,#69h ; 02fd 7d 69 }i - acall X0130 ; 02ff 31 30 10 -X0301: rl a ; 0301 23 # - ret ; 0302 22 " -; -X0303: dec rb0r7 ; 0303 15 07 .. - mov r6,#6ah ; 0305 7e 6a ~j - orl c,26h.2 ; 0307 72 32 r2 - add a,#16h ; 0309 24 16 $. - inc r0 ; 030b 08 . - inc r1 ; 030c 09 . - mov r7,#6bh ; 030d 7f 6b .k - rlc a ; 030f 33 3 - add a,rb2r7 ; 0310 25 17 %. - dec r0 ; 0312 18 . - add a,r3 ; 0313 2b + - add a,r2 ; 0314 2a * - jz X0383 ; 0315 60 6c `l - addc a,#35h ; 0317 34 35 45 - add a,@r0 ; 0319 26 & - add a,@r1 ; 031a 27 ' - dec r1 ; 031b 19 . - add a,r4 ; 031c 2c , - ajmp X036d ; 031d 61 6d am -; - jmp @a+dptr ; 031f 73 s -; -X0320: add a,r0 ; 0320 28 ( - mov a,#3ah ; 0321 74 3a t: - add a,r5 ; 0323 2d - - xrl 6eh,a ; 0324 62 6e bn - addc a,r2 ; 0326 3a : - addc a,@r0 ; 0327 36 6 - addc a,r4 ; 0328 3c < - addc a,r3 ; 0329 3b ; - mov 2bh,#63h ; 032a 75 2b 63 u+c - mov @r0,#55h ; 032d 76 55 vU - anl a,@r0 ; 032f 56 V - mov @r1,#78h ; 0330 77 78 wx - mov r1,#7ah ; 0332 79 7a yz - add a,r6 ; 0334 2e . - mov r3,#7ch ; 0335 7b 7c {| - xrl a,r7 ; 0337 6f o - mov r5,#6bh ; 0338 7d 6b }k - orl a,@r1 ; 033a 47 G - mov r6,#7fh ; 033b 7e 7f ~. - xrl a,r7 ; 033d 6f o - anl 53h,a ; 033e 52 53 RS - jnc X03ae ; 0340 50 6c Pl - xrl a,r5 ; 0342 6d m - orl a,r0 ; 0343 48 H - ajmp X0045 ; 0344 01 45 .E -; - anl a,@r1 ; 0346 57 W - xrl a,r6 ; 0347 6e n - acall X026a ; 0348 51 6a Qj - addc a,@r1 ; 034a 37 7 - orl a,r1 ; 034b 49 I - orl a,@r0 ; 034c 46 F - anl a,#0 ; 034d 54 00 T. - nop ; 034f 00 . -; - org 351h -; - ajmp X0254 ; 0351 41 54 AT -; -X0353: nop ; 0353 00 . - ajmp X0001 ; 0354 01 01 .. -; - ljmp X0102 ; 0356 02 01 02 ... -; - ljmp X0301 ; 0359 02 03 01 ... -; - ljmp X0203 ; 035c 02 02 03 ... -; - ljmp X0303 ; 035f 02 03 03 ... -; - inc a ; 0362 04 . -X0363: dec a ; 0363 14 . - rl a ; 0364 23 # - dec a ; 0365 14 . - addc a,r2 ; 0366 3a : - dec a ; 0367 14 . - xrl a,r5 ; 0368 6d m - orl 32h,a ; 0369 42 32 B2 - rl a ; 036b 23 # -X036c: jb 25h.4,X0372 ; 036c 20 2c 03 ,. - ljmp X0408 ; 036f 02 04 08 ... -; -X0372: clr 27h.2 ; 0372 c2 3a B: - clr 27h.3 ; 0374 c2 3b B; - mov a,rb2r0 ; 0376 e5 10 e. - jnb acc.7,X03d2 ; 0378 30 e7 57 0gW - mov a,rb2r1 ; 037b e5 11 e. - mov r6,rb2r0 ; 037d ae 10 .. - mov r0,#6 ; 037f 78 06 x. -X0381: mov a,r6 ; 0381 ee n - clr c ; 0382 c3 C -X0383: rrc a ; 0383 13 . - mov a,r6 ; 0384 ee n - rrc a ; 0385 13 . - djnz r0,X0381 ; 0386 d8 f9 Xy - mov 26h,a ; 0388 f5 26 u& - mov r7,a ; 038a ff . - lcall X2dea ; 038b 12 2d ea .-j - mov r7,27h ; 038e af 27 /' - mov a,rb2r0 ; 0390 e5 10 e. - swap a ; 0392 c4 D - rrc a ; 0393 13 . - rrc a ; 0394 13 . - anl a,#3 ; 0395 54 03 T. - mov r7,a ; 0397 ff . - mov a,27h ; 0398 e5 27 e' - anl a,#1 ; 039a 54 01 T. - cjne a,rb0r7,X03a4 ; 039c b5 07 05 5.. - clr a ; 039f e4 d - mov r7,#1 ; 03a0 7f 01 .. - sjmp X03a6 ; 03a2 80 02 .. -; -X03a4: mov r7,#0 ; 03a4 7f 00 .. -X03a6: mov a,r7 ; 03a6 ef o - jnb acc.0,X03ae ; 03a7 30 e0 04 0`. - setb 27h.3 ; 03aa d2 3b R; - sjmp X03d2 ; 03ac 80 24 .$ -; -X03ae: jb 22h.3,X03f0 ; 03ae 20 13 3f .? - mov r7,26h ; 03b1 af 26 /& - lcall X0779 ; 03b3 12 07 79 ..y - mov r7,26h ; 03b6 af 26 /& - lcall X09f6 ; 03b8 12 09 f6 ..v - mov r6,28h ; 03bb ae 28 .( - mov r7,29h ; 03bd af 29 /) - mov a,29h ; 03bf e5 29 e) - cpl a ; 03c1 f4 t - jnz X03c7 ; 03c2 70 03 p. - mov a,28h ; 03c4 e5 28 e( - cpl a ; 03c6 f4 t -X03c7: jz X03d2 ; 03c7 60 09 `. - mov 26h,29h ; 03c9 85 29 26 .)& - setb 27h.2 ; 03cc d2 3a R: - sjmp X03d2 ; 03ce 80 02 .. -; - setb 27h.2 ; 03d0 d2 3a R: -X03d2: jnb 27h.2,X0410 ; 03d2 30 3a 3b 0:; - clr 24h.7 ; 03d5 c2 27 B' - mov r7,#7 ; 03d7 7f 07 .. - lcall X2b6c ; 03d9 12 2b 6c .+l - clr 24h.7 ; 03dc c2 27 B' - mov r7,#6 ; 03de 7f 06 .. - lcall X2b6c ; 03e0 12 2b 6c .+l - mov c,22h.3 ; 03e3 a2 13 ". - mov 24h.5,c ; 03e5 92 25 .% - mov 31h,26h ; 03e7 85 26 31 .&1 - lcall X08bb ; 03ea 12 08 bb ..; - clr 25h.4 ; 03ed c2 2c B, - ret ; 03ef 22 " -; -X03f0: jnb 27h.3,X0403 ; 03f0 30 3b 10 0;. - mov c,22h.3 ; 03f3 a2 13 ". - mov 24h.1,c ; 03f5 92 21 .! - mov 30h,#0ffh ; 03f7 75 30 ff u0. - setb 24h.2 ; 03fa d2 22 R" - clr 24h.3 ; 03fc c2 23 B# - setb 24h.4 ; 03fe d2 24 R$ - ljmp X06ee ; 0400 02 06 ee ..n -; -X0403: clr 25h.4 ; 0403 c2 2c B, - lcall X2e7d ; 0405 12 2e 7d ..} -X0408: ret ; 0408 22 " -; -X0409: clr a ; 0409 e4 d - mov 26h,a ; 040a f5 26 u& - mov 27h,a ; 040c f5 27 u' - mov 28h,#2fh ; 040e 75 28 2f u(/ - mov 29h,#0ffh ; 0411 75 29 ff u). -X0414: mov a,27h ; 0414 e5 27 e' - add a,29h ; 0416 25 29 %) - mov r7,a ; 0418 ff . - mov a,26h ; 0419 e5 26 e& - addc a,28h ; 041b 35 28 5( - clr c ; 041d c3 C - rrc a ; 041e 13 . - mov 2ah,a ; 041f f5 2a u* - mov a,r7 ; 0421 ef o - rrc a ; 0422 13 . - mov 2bh,a ; 0423 f5 2b u+ - mov r7,a ; 0425 ff . - mov r6,2ah ; 0426 ae 2a .* - lcall X2e15 ; 0428 12 2e 15 ... - cjne r7,#0ffh,X045c ; 042b bf ff 2e ?.. - mov a,2bh ; 042e e5 2b e+ - add a,#0ffh ; 0430 24 ff $. - mov 29h,a ; 0432 f5 29 u) - mov a,2ah ; 0434 e5 2a e* - addc a,#0ffh ; 0436 34 ff 4. - mov 28h,a ; 0438 f5 28 u( - sjmp X0483 ; 043a 80 47 .G -; - mov a,r7 ; 043c ef o - jnz X046c ; 043d 70 2d p- - mov a,2bh ; 043f e5 2b e+ - add a,#1 ; 0441 24 01 $. - mov 27h,a ; 0443 f5 27 u' - clr a ; 0445 e4 d - addc a,2ah ; 0446 35 2a 5* - mov 26h,a ; 0448 f5 26 u& - sjmp X0483 ; 044a 80 37 .7 -; - mov 2ch,#0ffh ; 044c 75 2c ff u,. - clr a ; 044f e4 d - mov 2dh,a ; 0450 f5 2d u- -X0452: mov a,2ch ; 0452 e5 2c e, - clr c ; 0454 c3 C - rrc a ; 0455 13 . - mov 2ch,a ; 0456 f5 2c u, - cjne a,rb0r7,X0497 ; 0458 b5 07 3c 5.< - mov a,2bh ; 045b e5 2b e+ - mov r6,2ah ; 045d ae 2a .* - mov r0,#3 ; 045f 78 03 x. -X0461: clr c ; 0461 c3 C - rlc a ; 0462 33 3 - mov a,r6 ; 0463 ee n - rlc a ; 0464 33 3 - mov a,r6 ; 0465 ee n - djnz r0,X0461 ; 0466 d8 f9 Xy - mov r4,#0 ; 0468 7c 00 |. - add a,2dh ; 046a 25 2d %- -X046c: mov r7,a ; 046c ff . - mov a,r4 ; 046d ec l - addc a,r6 ; 046e 3e > - mov a,r7 ; 046f ef o - add a,#1 ; 0470 24 01 $. - mov a,r7 ; 0472 ef o - addc a,#0 ; 0473 34 00 4. - mov r6,a ; 0475 fe ~ - ret ; 0476 22 " -; - inc 2dh ; 0477 05 2d .- - mov a,2dh ; 0479 e5 2d e- -X047b: cjne a,#7,X0452 ; 047b b4 07 d4 4.T - mov r6,#0ffh ; 047e 7e ff ~. - mov r7,#0ffh ; 0480 7f ff .. - ret ; 0482 22 " -; -X0483: setb c ; 0483 d3 S - mov a,27h ; 0484 e5 27 e' - subb a,29h ; 0486 95 29 .) - mov a,28h ; 0488 e5 28 e( - xrl a,#80h ; 048a 64 80 d. - mov r0,a ; 048c f8 x - mov a,26h ; 048d e5 26 e& - xrl a,#80h ; 048f 64 80 d. - subb a,r0 ; 0491 98 . - jc X0414 ; 0492 40 80 @. - mov a,27h ; 0494 e5 27 e' - mov r6,26h ; 0496 ae 26 .& - mov r0,#3 ; 0498 78 03 x. -X049a: clr c ; 049a c3 C - rlc a ; 049b 33 3 - mov a,r6 ; 049c ee n - rlc a ; 049d 33 3 - mov a,r6 ; 049e ee n - djnz r0,X049a ; 049f d8 f9 Xy - mov r7,a ; 04a1 ff . - ret ; 04a2 22 " -; -X04a3: mov r0,#7fh ; 04a3 78 7f x. - clr a ; 04a5 e4 d -X04a6: mov @r0,a ; 04a6 f6 v - djnz r0,X04a6 ; 04a7 d8 fd X} - mov sp,#3bh ; 04a9 75 81 3b u.; - ljmp X04ea ; 04ac 02 04 ea ..j -; -X04af: ljmp X0016 ; 04af 02 00 16 ... -; -X04b2: clr a ; 04b2 e4 d - movc a,@a+dptr ; 04b3 93 . - inc dptr ; 04b4 a3 # - mov r0,a ; 04b5 f8 x - clr a ; 04b6 e4 d - movc a,@a+dptr ; 04b7 93 . - inc dptr ; 04b8 a3 # - jc X04be ; 04b9 40 03 @. - mov @r0,a ; 04bb f6 v - sjmp X04bf ; 04bc 80 01 .. -; -X04be: movx @r0,a ; 04be f2 r -X04bf: inc r0 ; 04bf 08 . - mov r7,a ; 04c0 ff . - cpl a ; 04c1 f4 t - sjmp X04ed ; 04c2 80 29 .) -; -X04c4: clr a ; 04c4 e4 d - movc a,@a+dptr ; 04c5 93 . - inc dptr ; 04c6 a3 # - mov r0,a ; 04c7 f8 x - anl a,#7 ; 04c8 54 07 T. - add a,#2ch ; 04ca 24 2c $, - xch a,r0 ; 04cc c8 H - clr c ; 04cd c3 C - rlc a ; 04ce 33 3 - swap a ; 04cf c4 D - anl a,#2fh ; 04d0 54 2f T/ -X04d2: orl a,#20h ; 04d2 44 20 D - xch a,r0 ; 04d4 c8 H - movc a,@a+pc ; 04d5 83 . - jc X04dc ; 04d6 40 04 @. - cpl a ; 04d8 f4 t - anl a,@r0 ; 04d9 56 V - sjmp X04dd ; 04da 80 01 .. -; -X04dc: orl a,@r0 ; 04dc 46 F -X04dd: mov @r0,a ; 04dd f6 v - mov r7,a ; 04de ff . - clr a ; 04df e4 d - sjmp X050d ; 04e0 80 2b .+ -; - ajmp X0002 ; 04e2 01 02 .. -; - inc a ; 04e4 04 . - inc r0 ; 04e5 08 . - jbc 24h.0,X0529 ; 04e6 10 20 40 . @ - sjmp X047b ; 04e9 80 90 .. -; - inc r0 ; 04eb 08 . - sjmp X04d2 ; 04ec 80 e4 .d -; - mov r6,#1 ; 04ee 7e 01 ~. - movc a,@a+dptr ; 04f0 93 . - jz X04af ; 04f1 60 bc `< - inc dptr ; 04f3 a3 # - mov r7,a ; 04f4 ff . - anl a,#3fh ; 04f5 54 3f T? - jnb acc.5,X0503 ; 04f7 30 e5 09 0e. - anl a,#3fh ; 04fa 54 3f T? - mov r6,a ; 04fc fe ~ - clr a ; 04fd e4 d - movc a,@a+dptr ; 04fe 93 . - inc dptr ; 04ff a3 # - jz X0503 ; 0500 60 01 `. - add a,r6 ; 0502 2e . -X0503: mov a,r7 ; 0503 ef o - anl a,#0c0h ; 0504 54 c0 T@ - add a,acc ; 0506 25 e0 %` - jz X04b2 ; 0508 60 a8 `( - jc X04c4 ; 050a 40 b8 @8 - clr a ; 050c e4 d -X050d: movc a,@a+dptr ; 050d 93 . - inc dptr ; 050e a3 # - mov r2,a ; 050f fa z - clr a ; 0510 e4 d - movc a,@a+dptr ; 0511 93 . - inc dptr ; 0512 a3 # - mov r0,a ; 0513 f8 x - clr a ; 0514 e4 d - movc a,@a+dptr ; 0515 93 . - inc dptr ; 0516 a3 # - xch a,r0 ; 0517 c8 H - xch a,dpl ; 0518 c5 82 E. - xch a,r0 ; 051a c8 H - mov a,r2 ; 051b ea j - xch a,dph ; 051c c5 83 E. - mov a,r2 ; 051e ea j - movx @dptr,a ; 051f f0 p - inc dptr ; 0520 a3 # - xch a,r0 ; 0521 c8 H - xch a,dpl ; 0522 c5 82 E. - xch a,r0 ; 0524 c8 H - mov a,r2 ; 0525 ea j - xch a,dph ; 0526 c5 83 E. - mov a,r2 ; 0528 ea j -X0529: mov r7,a ; 0529 ff . - mov a,r1 ; 052a e9 i - mov r6,a ; 052b fe ~ - mov a,@r1 ; 052c e7 g - sjmp X04ed ; 052d 80 be .> -; -X052f: setb 25h.5 ; 052f d2 2d R- - clr p1.6 ; 0531 c2 96 B. - setb 25h.6 ; 0533 d2 2e R. - setb 22h.0 ; 0535 d2 10 R. - clr p1.4 ; 0537 c2 94 B. - mov r7,rb1r0 ; 0539 af 08 /. - lcall X2dea ; 053b 12 2d ea .-j - mov a,r7 ; 053e ef o - rrc a ; 053f 13 . - cpl c ; 0540 b3 3 - mov 22h.4,c ; 0541 92 14 .. - setb 22h.6 ; 0543 d2 16 R. - clr a ; 0545 e4 d - mov 2ch,a ; 0546 f5 2c u, - mov r7,#28h ; 0548 7f 28 .( - lcall X0006 ; 054a 12 00 06 ... - clr p1.7 ; 054d c2 97 B. - setb 20h.3 ; 054f d2 03 R. - clr 25h.2 ; 0551 c2 2a B* - mov r7,#0e8h ; 0553 7f e8 .h - mov r6,#0fdh ; 0555 7e fd ~} - lcall X2c79 ; 0557 12 2c 79 .,y - clr 25h.5 ; 055a c2 2d B- - setb p1.6 ; 055c d2 96 R. -X055e: jnb 22h.6,X0577 ; 055e 30 16 16 0.. - lcall X2e62 ; 0561 12 2e 62 ..b - jnc X055e ; 0564 50 f8 Px - clr ea ; 0566 c2 af B/ - setb p1.7 ; 0568 d2 97 R. - clr 24h.1 ; 056a c2 21 B! - lcall X06e5 ; 056c 12 06 e5 ..e - clr 22h.6 ; 056f c2 16 B. - clr a ; 0571 e4 d - mov 2ch,a ; 0572 f5 2c u, - setb ea ; 0574 d2 af R/ - ret ; 0576 22 " -; -X0577: mov r7,#0e8h ; 0577 7f e8 .h - mov r6,#0fdh ; 0579 7e fd ~} - lcall X2c79 ; 057b 12 2c 79 .,y -X057e: jb 20h.4,X0593 ; 057e 20 04 12 .. - jb 25h.2,X05b3 ; 0581 20 2a 2f */ - lcall X2e62 ; 0584 12 2e 62 ..b - jnc X057e ; 0587 50 f5 Pu - clr ea ; 0589 c2 af B/ - clr 24h.1 ; 058b c2 21 B! - lcall X06e5 ; 058d 12 06 e5 ..e - setb ea ; 0590 d2 af R/ - ret ; 0592 22 " -; -X0593: lcall X072e ; 0593 12 07 2e ... - ret ; 0596 22 " -; -X0597: setb 22h.0 ; 0597 d2 10 R. - clr p1.4 ; 0599 c2 94 B. - setb 25h.2 ; 059b d2 2a R* - setb 25h.5 ; 059d d2 2d R- - clr p1.6 ; 059f c2 96 B. - mov r7,rb1r0 ; 05a1 af 08 /. - lcall X2dea ; 05a3 12 2d ea .-j - mov a,r7 ; 05a6 ef o - rrc a ; 05a7 13 . - cpl c ; 05a8 b3 3 - mov 22h.4,c ; 05a9 92 14 .. - setb 22h.6 ; 05ab d2 16 R. - clr a ; 05ad e4 d - mov 2eh,a ; 05ae f5 2e u. - mov r7,#28h ; 05b0 7f 28 .( - lcall X0006 ; 05b2 12 00 06 ... - clr p1.5 ; 05b5 c2 95 B. - setb 20h.5 ; 05b7 d2 05 R. - clr 25h.6 ; 05b9 c2 2e B. - mov r7,#0e8h ; 05bb 7f e8 .h - mov r6,#0fdh ; 05bd 7e fd ~} - lcall X2c79 ; 05bf 12 2c 79 .,y - clr 22h.0 ; 05c2 c2 10 B. - setb p1.4 ; 05c4 d2 94 R. -X05c6: jnb 22h.6,X05dd ; 05c6 30 16 14 0.. - lcall X2e62 ; 05c9 12 2e 62 ..b - jnc X05c6 ; 05cc 50 f8 Px - clr ea ; 05ce c2 af B/ - setb p1.5 ; 05d0 d2 95 R. - lcall X06e3 ; 05d2 12 06 e3 ..c - clr 22h.6 ; 05d5 c2 16 B. - clr a ; 05d7 e4 d - mov 2eh,a ; 05d8 f5 2e u. - setb ea ; 05da d2 af R/ - ret ; 05dc 22 " -; -X05dd: mov r7,#0e8h ; 05dd 7f e8 .h - mov r6,#0fdh ; 05df 7e fd ~} - lcall X2c79 ; 05e1 12 2c 79 .,y -X05e4: jb 20h.7,X05f7 ; 05e4 20 07 10 .. - jb 25h.6,X0617 ; 05e7 20 2e 2d .- - lcall X2e62 ; 05ea 12 2e 62 ..b - jnc X05e4 ; 05ed 50 f5 Pu - clr ea ; 05ef c2 af B/ - lcall X06e3 ; 05f1 12 06 e3 ..c - setb ea ; 05f4 d2 af R/ - ret ; 05f6 22 " -; -X05f7: lcall X072e ; 05f7 12 07 2e ... - ret ; 05fa 22 " -; -X05fb: mov r5,rb0r7 ; 05fb ad 07 -. - mov a,r5 ; 05fd ed m - jnb acc.6,X0605 ; 05fe 30 e6 04 0f. - setb 25h.7 ; 0601 d2 2f R/ - sjmp X0607 ; 0603 80 02 .. -; -X0605: clr 25h.7 ; 0605 c2 2f B/ -X0607: mov a,r5 ; 0607 ed m - jnb acc.5,X0610 ; 0608 30 e5 05 0e. - lcall X2ead ; 060b 12 2e ad ..- - sjmp X0613 ; 060e 80 03 .. -; -X0610: lcall X2ee6 ; 0610 12 2e e6 ..f -X0613: mov a,r5 ; 0613 ed m - jnb acc.4,X061c ; 0614 30 e4 05 0d. -X0617: lcall X2e94 ; 0617 12 2e 94 ... - sjmp X061f ; 061a 80 03 .. -; -X061c: lcall X2ef0 ; 061c 12 2e f0 ..p -X061f: mov a,r5 ; 061f ed m - jnb acc.2,X0627 ; 0620 30 e2 04 0b. - setb 24h.7 ; 0623 d2 27 R' - sjmp X0629 ; 0625 80 02 .. -; -X0627: clr 24h.7 ; 0627 c2 27 B' -X0629: mov r7,#2 ; 0629 7f 02 .. - lcall X2b6c ; 062b 12 2b 6c .+l - mov a,r5 ; 062e ed m - jnb acc.1,X0637 ; 062f 30 e1 05 0a. - lcall X2f14 ; 0632 12 2f 14 ./. - sjmp X063a ; 0635 80 03 .. -; -X0637: lcall X2f11 ; 0637 12 2f 11 ./. -X063a: mov a,r5 ; 063a ed m - jnb acc.0,X0669 ; 063b 30 e0 2b 0`+ - lcall X2f3a ; 063e 12 2f 3a ./: - jb 22h.1,X064c ; 0641 20 11 08 .. - setb 22h.1 ; 0644 d2 11 R. - setb 20h.1 ; 0646 d2 01 R. - ret ; 0648 22 " -; - lcall X2f17 ; 0649 12 2f 17 ./. -X064c: ret ; 064c 22 " -; - mov r7,#2 ; 064d 7f 02 .. - lcall X0006 ; 064f 12 00 06 ... - jb p1.4,X0697 ; 0652 20 94 42 .B - mov c,p1.5 ; 0655 a2 95 ". - mov 23h.0,c ; 0657 92 18 .. - inc 2eh ; 0659 05 2e .. - mov a,2eh ; 065b e5 2e e. - cjne a,#1,X0672 ; 065d b4 01 12 4.. - jb 23h.0,X068d ; 0660 20 18 2a .* - setb 20h.7 ; 0663 d2 07 R. - setb 25h.2 ; 0665 d2 2a R* - setb 25h.5 ; 0667 d2 2d R- -X0669: clr p1.6 ; 0669 c2 96 B. - sjmp X0686 ; 066b 80 19 .. -; -X066d: clr a ; 066d e4 d - mov 2eh,a ; 066e f5 2e u. - sjmp X0686 ; 0670 80 14 .. -; -X0672: mov a,2eh ; 0672 e5 2e e. - cjne a,#2bh,X06a6 ; 0674 b4 2b 2f 4+/ - setb 25h.6 ; 0677 d2 2e R. - setb 22h.0 ; 0679 d2 10 R. - clr p1.4 ; 067b c2 94 B. - setb 22h.3 ; 067d d2 13 R. - setb 25h.4 ; 067f d2 2c R, - clr a ; 0681 e4 d - mov 2eh,a ; 0682 f5 2e u. - clr 20h.7 ; 0684 c2 07 B. -X0686: mov a,rb2r0 ; 0686 e5 10 e. - clr c ; 0688 c3 C - rrc a ; 0689 13 . - mov rb2r0,a ; 068a f5 10 u. - mov a,rb2r1 ; 068c e5 11 e. - rrc a ; 068e 13 . - mov rb2r1,a ; 068f f5 11 u. - jnb 23h.0,X0697 ; 0691 30 18 03 0.. - orl rb2r0,#80h ; 0694 43 10 80 C.. -X0697: ret ; 0697 22 " -; -X0698: mov r7,#2 ; 0698 7f 02 .. - lcall X0006 ; 069a 12 00 06 ... - jb p1.6,X06e2 ; 069d 20 96 42 .B - mov c,p1.7 ; 06a0 a2 97 ". - mov 23h.1,c ; 06a2 92 19 .. - inc 2ch ; 06a4 05 2c ., -X06a6: mov a,2ch ; 06a6 e5 2c e, - cjne a,#1,X06bd ; 06a8 b4 01 12 4.. - jb 23h.1,X06d8 ; 06ab 20 19 2a .* - setb 20h.4 ; 06ae d2 04 R. - setb 25h.6 ; 06b0 d2 2e R. - setb 22h.0 ; 06b2 d2 10 R. - clr p1.4 ; 06b4 c2 94 B. - sjmp X06d1 ; 06b6 80 19 .. -; - clr a ; 06b8 e4 d - mov 2ch,a ; 06b9 f5 2c u, - sjmp X06d1 ; 06bb 80 14 .. -; -X06bd: mov a,2ch ; 06bd e5 2c e, - cjne a,#2bh,X06f1 ; 06bf b4 2b 2f 4+/ - setb 25h.2 ; 06c2 d2 2a R* - setb 25h.5 ; 06c4 d2 2d R- - clr p1.6 ; 06c6 c2 96 B. - clr 22h.3 ; 06c8 c2 13 B. - setb 25h.4 ; 06ca d2 2c R, - clr a ; 06cc e4 d - mov 2ch,a ; 06cd f5 2c u, - clr 20h.4 ; 06cf c2 04 B. -X06d1: mov a,rb2r0 ; 06d1 e5 10 e. - clr c ; 06d3 c3 C - rrc a ; 06d4 13 . - mov rb2r0,a ; 06d5 f5 10 u. - mov a,rb2r1 ; 06d7 e5 11 e. - rrc a ; 06d9 13 . - mov rb2r1,a ; 06da f5 11 u. - jnb 23h.1,X06e2 ; 06dc 30 19 03 0.. - orl rb2r0,#80h ; 06df 43 10 80 C.. -X06e2: ret ; 06e2 22 " -; -X06e3: setb 24h.1 ; 06e3 d2 21 R! -X06e5: mov 30h,#0feh ; 06e5 75 30 fe u0~ -X06e8: setb 24h.2 ; 06e8 d2 22 R" - setb 24h.3 ; 06ea d2 23 R# - clr 24h.4 ; 06ec c2 24 B$ -X06ee: setb 25h.2 ; 06ee d2 2a R* - setb 25h.5 ; 06f0 d2 2d R- - clr p1.6 ; 06f2 c2 96 B. - setb 25h.6 ; 06f4 d2 2e R. - setb 22h.0 ; 06f6 d2 10 R. - clr p1.4 ; 06f8 c2 94 B. - mov c,24h.3 ; 06fa a2 23 "# - mov 24h.7,c ; 06fc 92 27 .' - mov r7,#6 ; 06fe 7f 06 .. - lcall X2b6c ; 0700 12 2b 6c .+l - mov c,24h.4 ; 0703 a2 24 "$ - mov 24h.7,c ; 0705 92 27 .' - mov r7,#7 ; 0707 7f 07 .. - lcall X2b6c ; 0709 12 2b 6c .+l - jnb 24h.2,X073b ; 070c 30 22 2c 0", - mov c,24h.1 ; 070f a2 21 "! - mov 24h.5,c ; 0711 92 25 .% - mov 31h,30h ; 0713 85 30 31 .01 - lcall X08bb ; 0716 12 08 bb ..; - sjmp X072b ; 0719 80 10 .. -; - mov c,24h.1 ; 071b a2 21 "! - mov 24h.6,c ; 071d 92 26 .& - mov 32h,30h ; 071f 85 30 32 .02 - lcall X2bf9 ; 0722 12 2b f9 .+y - clr p1.2 ; 0725 c2 92 B. - clr p1.3 ; 0727 c2 93 B. - setb 21h.1 ; 0729 d2 09 R. -X072b: clr 25h.4 ; 072b c2 2c B, - ret ; 072d 22 " -; -X072e: jb 20h.4,X0734 ; 072e 20 04 03 .. - jnb 20h.7,X0778 ; 0731 30 07 44 0.D -X0734: mov r7,#0e8h ; 0734 7f e8 .h - mov r6,#0fdh ; 0736 7e fd ~} - lcall X2c79 ; 0738 12 2c 79 .,y -X073b: jb 20h.4,X0741 ; 073b 20 04 03 .. - jnb 20h.7,X0778 ; 073e 30 07 37 0.7 -X0741: lcall X2e62 ; 0741 12 2e 62 ..b - jnc X073b ; 0744 50 f5 Pu - clr ea ; 0746 c2 af B/ - jb 20h.4,X074e ; 0748 20 04 03 .. - jnb 20h.7,X0774 ; 074b 30 07 26 0.& -X074e: jnb 20h.4,X0755 ; 074e 30 04 04 0.. - clr 27h.7 ; 0751 c2 3f B? - sjmp X0757 ; 0753 80 02 .. -; -X0755: setb 27h.7 ; 0755 d2 3f R? -X0757: clr a ; 0757 e4 d - mov 2ch,a ; 0758 f5 2c u, - clr 20h.4 ; 075a c2 04 B. - mov 2eh,a ; 075c f5 2e u. - clr 20h.7 ; 075e c2 07 B. - lcall X2eeb ; 0760 12 2e eb ..k - lcall X2e80 ; 0763 12 2e 80 ... - setb ea ; 0766 d2 af R/ - mov c,27h.7 ; 0768 a2 3f "? - mov 24h.1,c ; 076a 92 21 .! - mov 30h,#0ffh ; 076c 75 30 ff u0. - lcall X06e8 ; 076f 12 06 e8 ..h - sjmp X073b ; 0772 80 c7 .G -; -X0774: setb ea ; 0774 d2 af R/ - sjmp X073b ; 0776 80 c3 .C -; -X0778: ret ; 0778 22 " -; -X0779: mov a,rb3r1 ; 0779 e5 19 e. - jz X0780 ; 077b 60 03 `. - cjne a,#2,X0789 ; 077d b4 02 09 4.. -X0780: mov a,2dh ; 0780 e5 2d e- - mov dptr,#X0363 ; 0782 90 03 63 ..c - movc a,@a+dptr ; 0785 93 . - xrl a,r7 ; 0786 6f o - jz X07b4 ; 0787 60 2b `+ -X0789: mov a,rb3r1 ; 0789 e5 19 e. - xrl a,#1 ; 078b 64 01 d. - jnz X07bc ; 078d 70 2d p- - mov a,r7 ; 078f ef o - xrl a,#0f0h ; 0790 64 f0 dp - jnz X07bc ; 0792 70 28 p( - inc rb3r1 ; 0794 05 19 .. - mov a,rb3r1 ; 0796 e5 19 e. - setb c ; 0798 d3 S - subb a,#2 ; 0799 94 02 .. - jc X07c1 ; 079b 40 24 @$ - clr a ; 079d e4 d - mov rb3r1,a ; 079e f5 19 u. - inc 2dh ; 07a0 05 2d .- - mov a,2dh ; 07a2 e5 2d e- - subb a,#9 ; 07a4 94 09 .. - jc X07c1 ; 07a6 40 19 @. - mov 2ah,#5 ; 07a8 75 2a 05 u*. -X07ab: clr a ; 07ab e4 d - mov r7,a ; 07ac ff . - lcall X2c3b ; 07ad 12 2c 3b .,; - mov r7,#7 ; 07b0 7f 07 .. - lcall X2c3b ; 07b2 12 2c 3b .,; - djnz 2ah,X07ab ; 07b5 d5 2a f3 U*s - clr a ; 07b8 e4 d - mov 2dh,a ; 07b9 f5 2d u- - ret ; 07bb 22 " -; -X07bc: clr a ; 07bc e4 d - mov 2dh,a ; 07bd f5 2d u- - mov rb3r1,a ; 07bf f5 19 u. -X07c1: ret ; 07c1 22 " -; -X07c2: mov a,3bh ; 07c2 e5 3b e; - xrl a,#15h ; 07c4 64 15 d. - jnz X0809 ; 07c6 70 41 pA - lcall X2ced ; 07c8 12 2c ed .,m - mov a,3ah ; 07cb e5 3a e: - jnb acc.0,X07d5 ; 07cd 30 e0 05 0`. - mov 26h,#80h ; 07d0 75 26 80 u&. - sjmp X07d8 ; 07d3 80 03 .. -; -X07d5: clr a ; 07d5 e4 d - mov 26h,a ; 07d6 f5 26 u& -X07d8: mov a,3ah ; 07d8 e5 3a e: - clr c ; 07da c3 C - rrc a ; 07db 13 . - mov 3ah,a ; 07dc f5 3a u: - mov a,39h ; 07de e5 39 e9 - jnb acc.0,X07e6 ; 07e0 30 e0 03 0`. - orl 3ah,#80h ; 07e3 43 3a 80 C:. -X07e6: mov a,39h ; 07e6 e5 39 e9 - clr c ; 07e8 c3 C - rrc a ; 07e9 13 . - mov 39h,a ; 07ea f5 39 u9 - mov a,38h ; 07ec e5 38 e8 - jnb acc.0,X07f4 ; 07ee 30 e0 03 0`. - orl 39h,#80h ; 07f1 43 39 80 C9. -X07f4: clr wr ; 07f4 c2 b6 B6 - mov dptr,#Xd001 ; 07f6 90 d0 01 .P. - clr a ; 07f9 e4 d - movx @dptr,a ; 07fa f0 p - inc dptr ; 07fb a3 # - mov a,26h ; 07fc e5 26 e& - movx @dptr,a ; 07fe f0 p - inc dptr ; 07ff a3 # - mov a,3ah ; 0800 e5 3a e: - movx @dptr,a ; 0802 f0 p - inc dptr ; 0803 a3 # - mov a,39h ; 0804 e5 39 e9 - movx @dptr,a ; 0806 f0 p - setb wr ; 0807 d2 b6 R6 -X0809: ret ; 0809 22 " -; - jb p1.4,X0844 ; 080a 20 94 37 .7 - inc 2eh ; 080d 05 2e .. - mov a,2eh ; 080f e5 2e e. - setb c ; 0811 d3 S - subb a,#8 ; 0812 94 08 .. - jnc X0828 ; 0814 50 12 P. - mov a,rb1r0 ; 0816 e5 08 e. - jnb acc.0,X081f ; 0818 30 e0 04 0`. - setb p1.5 ; 081b d2 95 R. - sjmp X0821 ; 081d 80 02 .. -; -X081f: clr p1.5 ; 081f c2 95 B. -X0821: mov a,rb1r0 ; 0821 e5 08 e. - clr c ; 0823 c3 C - rrc a ; 0824 13 . - mov rb1r0,a ; 0825 f5 08 u. - ret ; 0827 22 " -; -X0828: mov a,2eh ; 0828 e5 2e e. -X082a: cjne a,#9,X0832 ; 082a b4 09 05 4.. -X082d: mov c,22h.4 ; 082d a2 14 ". - mov p1.5,c ; 082f 92 95 .. - ret ; 0831 22 " -; -X0832: mov a,2eh ; 0832 e5 2e e. -X0834: cjne a,#2ah,X083a ; 0834 b4 2a 03 4*. - setb p1.5 ; 0837 d2 95 R. - ret ; 0839 22 " -; -X083a: mov a,2eh ; 083a e5 2e e. - cjne a,#2bh,X0844 ; 083c b4 2b 05 4+. - clr 22h.6 ; 083f c2 16 B. - clr a ; 0841 e4 d - mov 2eh,a ; 0842 f5 2e u. -X0844: ret ; 0844 22 " -; -X0845: jb p1.6,X087f ; 0845 20 96 37 .7 - inc 2ch ; 0848 05 2c ., - mov a,2ch ; 084a e5 2c e, - setb c ; 084c d3 S - subb a,#8 ; 084d 94 08 .. - jnc X0863 ; 084f 50 12 P. - mov a,rb1r0 ; 0851 e5 08 e. - jnb acc.0,X085a ; 0853 30 e0 04 0`. - setb p1.7 ; 0856 d2 97 R. - sjmp X085c ; 0858 80 02 .. -; -X085a: clr p1.7 ; 085a c2 97 B. -X085c: mov a,rb1r0 ; 085c e5 08 e. - clr c ; 085e c3 C - rrc a ; 085f 13 . - mov rb1r0,a ; 0860 f5 08 u. - ret ; 0862 22 " -; -X0863: mov a,2ch ; 0863 e5 2c e, - cjne a,#9,X086d ; 0865 b4 09 05 4.. - mov c,22h.4 ; 0868 a2 14 ". - mov p1.7,c ; 086a 92 97 .. - ret ; 086c 22 " -; -X086d: mov a,2ch ; 086d e5 2c e, - cjne a,#2ah,X0875 ; 086f b4 2a 03 4*. - setb p1.7 ; 0872 d2 97 R. - ret ; 0874 22 " -; -X0875: mov a,2ch ; 0875 e5 2c e, - cjne a,#2bh,X087f ; 0877 b4 2b 05 4+. - clr 22h.6 ; 087a c2 16 B. - clr a ; 087c e4 d - mov 2ch,a ; 087d f5 2c u, -X087f: ret ; 087f 22 " -; - ajmp X082c ; 0880 01 2c ., -; - org 883h -; - ajmp X0e04 ; 0883 c1 04 A. -; - ajmp X0e2a ; 0885 c1 2a A* -; - ajmp X0e83 ; 0887 c1 83 A. -; - ajmp X0e2c ; 0889 c1 2c A, -; - ajmp X0e09 ; 088b c1 09 A. -; - ajmp X0e02 ; 088d c1 02 A. -; - ajmp X0e16 ; 088f c1 16 A. -; - ajmp X0e08 ; 0891 c1 08 A. -; - ajmp X082e ; 0893 01 2e .. -; - org 896h -; - ajmp X0e07 ; 0896 c1 07 A. -; - ajmp X0e2e ; 0898 c1 2e A. -; - ajmp X0e85 ; 089a c1 85 A. -; - ajmp X0eab ; 089c c1 ab A+ -; - ajmp X0e86 ; 089e c1 86 A. -; - ajmp X0eaf ; 08a0 c1 af A/ -; - ajmp X0e12 ; 08a2 c1 12 A. -; - ajmp X0e00 ; 08a4 c1 00 A. -; - ajmp X0e11 ; 08a6 c1 11 A. -; - ajmp X0e01 ; 08a8 c1 01 A. -; - ajmp X0e17 ; 08aa c1 17 A. -; - ajmp X082d ; 08ac 01 2d .- -; - org 8afh -; - ajmp X0819 ; 08af 01 19 .. -; - org 8b2h -; - ajmp X083a ; 08b2 01 3a .: -; - org 8b5h -; - ajmp X0834 ; 08b5 01 34 .4 -; - rr a ; 08b7 03 . - ajmp X0e29 ; 08b8 c1 29 A) -; - org 8bbh -; -X08bb: mov c,24h.5 ; 08bb a2 25 "% - mov 24h.6,c ; 08bd 92 26 .& - mov 32h,31h ; 08bf 85 31 32 .12 - lcall X2bf9 ; 08c2 12 2b f9 .+y - clr p1.2 ; 08c5 c2 92 B. - clr p1.3 ; 08c7 c2 93 B. - jb 24h.5,X08cf ; 08c9 20 25 03 %. - jb 20h.6,X08d5 ; 08cc 20 06 06 .. -X08cf: jnb 24h.5,X090f ; 08cf 30 25 3d 0%= - jnb 25h.3,X090f ; 08d2 30 2b 3a 0+: -X08d5: mov r7,#69h ; 08d5 7f 69 .i - mov r6,#0 ; 08d7 7e 00 ~. - lcall X2c79 ; 08d9 12 2c 79 .,y -X08dc: lcall X2e62 ; 08dc 12 2e 62 ..b - jnc X08dc ; 08df 50 fb P{ - lcall X2eb0 ; 08e1 12 2e b0 ..0 - jnc X08ef ; 08e4 50 09 P. - jb 24h.5,X08ed ; 08e6 20 25 04 %. - setb p1.2 ; 08e9 d2 92 R. - sjmp X08ef ; 08eb 80 02 .. -; -X08ed: setb p1.3 ; 08ed d2 93 R. -X08ef: setb 21h.1 ; 08ef d2 09 R. - ret ; 08f1 22 " -; -X08f2: mov dptr,#X2ffc ; 08f2 90 2f fc ./| - clr a ; 08f5 e4 d - movc a,@a+dptr ; 08f6 93 . - mov r6,a ; 08f7 fe ~ - mov a,#1 ; 08f8 74 01 t. - movc a,@a+dptr ; 08fa 93 . - mov r7,a ; 08fb ff . - clr c ; 08fc c3 C - subb a,3ah ; 08fd 95 3a .: - mov 2bh,a ; 08ff f5 2b u+ - mov a,r6 ; 0901 ee n - subb a,39h ; 0902 95 39 .9 - mov 2ah,a ; 0904 f5 2a u* - mov dptr,#X2ffb ; 0906 90 2f fb ./{ - clr a ; 0909 e4 d - movc a,@a+dptr ; 090a 93 . - clr c ; 090b c3 C - subb a,38h ; 090c 95 38 .8 - mov rb1r1,a ; 090e f5 09 u. - clr c ; 0910 c3 C - mov a,r7 ; 0911 ef o - subb a,3ah ; 0912 95 3a .: - mov a,r6 ; 0914 ee n - subb a,39h ; 0915 95 39 .9 - jnc X091b ; 0917 50 02 P. - dec rb1r1 ; 0919 15 09 .. -X091b: mov a,rb1r1 ; 091b e5 09 e. - jnb acc.7,X0927 ; 091d 30 e7 07 0g. - clr a ; 0920 e4 d - mov rb1r1,a ; 0921 f5 09 u. - mov 2ah,a ; 0923 f5 2a u* - mov 2bh,a ; 0925 f5 2b u+ -X0927: ret ; 0927 22 " -; -X0928: inc 35h ; 0928 05 35 .5 - mov r7,35h ; 092a af 35 /5 - mov r6,rb0r7 ; 092c ae 07 .. - mov a,r6 ; 092e ee n - dec a ; 092f 14 . - rrc a ; 0930 13 . - rrc a ; 0931 13 . - rrc a ; 0932 13 . - anl a,#3fh ; 0933 54 3f T? - mov r5,a ; 0935 fd } - mov a,r6 ; 0936 ee n - anl a,#7 ; 0937 54 07 T. - mov r7,a ; 0939 ff . - jnz X0942 ; 093a 70 06 p. - mov 26h,a ; 093c f5 26 u& - mov 27h,a ; 093e f5 27 u' - sjmp X0957 ; 0940 80 15 .. -; -X0942: mov a,#0ffh ; 0942 74 ff t. - mov r6,#0 ; 0944 7e 00 ~. - mov r0,rb0r7 ; 0946 a8 07 (. - inc r0 ; 0948 08 . - sjmp X0951 ; 0949 80 06 .. -; -X094b: mov a,r6 ; 094b ee n - mov c,acc.7 ; 094c a2 e7 "g - rrc a ; 094e 13 . - mov a,r6 ; 094f ee n - rrc a ; 0950 13 . -X0951: djnz r0,X094b ; 0951 d8 f8 Xx - mov 27h,a ; 0953 f5 27 u' - mov r6,26h ; 0955 ae 26 .& -X0957: mov r7,rb0r5 ; 0957 af 05 /. - mov r5,27h ; 0959 ad 27 -' - ljmp X2c7a ; 095b 02 2c 7a .,z -; - clr a ; 095e e4 d - mov r7,a ; 095f ff . - mov r6,#1 ; 0960 7e 01 ~. -X0962: mov a,r7 ; 0962 ef o - clr c ; 0963 c3 C - subb a,#8 ; 0964 94 08 .. - jnc X098f ; 0966 50 27 P' - mov a,r7 ; 0968 ef o - jz X09a8 ; 0969 60 3d `= - xrl a,#1 ; 096b 64 01 d. - jz X0988 ; 096d 60 19 `. - mov a,r7 ; 096f ef o - xrl a,#3 ; 0970 64 03 d. - jz X0988 ; 0972 60 14 `. - mov a,r6 ; 0974 ee n - orl a,#2 ; 0975 44 02 D. - anl a,#0feh ; 0977 54 fe T~ - mov dptr,#Xe000 ; 0979 90 e0 00 .`. - movx @dptr,a ; 097c f0 p - anl a,#0f4h ; 097d 54 f4 Tt - mov r5,a ; 097f fd } - mov a,r6 ; 0980 ee n - anl a,#0f4h ; 0981 54 f4 Tt - xrl a,r5 ; 0983 6d m - jz X0988 ; 0984 60 02 `. - setb c ; 0986 d3 S - ret ; 0987 22 " -; -X0988: add a,r7 ; 0988 2f / - mov a,r6 ; 0989 ee n - add a,acc ; 098a 25 e0 %` - mov r6,a ; 098c fe ~ - sjmp X0962 ; 098d 80 d3 .S -; -X098f: clr c ; 098f c3 C - ret ; 0990 22 " -; -X0991: mov r5,rb0r7 ; 0991 ad 07 -. - mov r4,rb0r6 ; 0993 ac 06 ,. - mov a,r5 ; 0995 ed m - add a,#0ffh ; 0996 24 ff $. - mov r7,a ; 0998 ff . - mov a,r4 ; 0999 ec l - addc a,#0ffh ; 099a 34 ff 4. - mov r6,a ; 099c fe ~ - mov a,r7 ; 099d ef o - mov r0,#3 ; 099e 78 03 x. -X09a0: mov a,r6 ; 09a0 ee n - clr c ; 09a1 c3 C - rrc a ; 09a2 13 . - mov a,r6 ; 09a3 ee n - rrc a ; 09a4 13 . - djnz r0,X09a0 ; 09a5 d8 f9 Xy - mov r7,a ; 09a7 ff . -X09a8: mov a,r5 ; 09a8 ed m - anl a,#7 ; 09a9 54 07 T. - mov r5,a ; 09ab fd } - jnz X09b2 ; 09ac 70 04 p. - mov 26h,a ; 09ae f5 26 u& - sjmp X09df ; 09b0 80 2d .- -; -X09b2: mov a,#0ffh ; 09b2 74 ff t. - mov r0,rb0r5 ; 09b4 a8 05 (. - inc r0 ; 09b6 08 . - sjmp X09bb ; 09b7 80 02 .. -; -X09b9: clr c ; 09b9 c3 C - rrc a ; 09ba 13 . -X09bb: djnz r0,X09b9 ; 09bb d8 fc X| - mov 26h,a ; 09bd f5 26 u& - mov r5,26h ; 09bf ad 26 -& - ljmp X2aad ; 09c1 02 2a ad .*- -; -X09c4: clr 25h.0 ; 09c4 c2 28 B( - jb 25h.1,X09f8 ; 09c6 20 29 2f )/ - lcall X2f2d ; 09c9 12 2f 2d ./- - mov r7,3bh ; 09cc af 3b /; - mov a,3bh ; 09ce e5 3b e; - cjne a,#15h,X09d6 ; 09d0 b4 15 03 4.. - mov 34h,#3fh ; 09d3 75 34 3f u4? -X09d6: setb 25h.1 ; 09d6 d2 29 R) - lcall X2a56 ; 09d8 12 2a 56 .*V - mov r7,35h ; 09db af 35 /5 - mov a,35h ; 09dd e5 35 e5 -X09df: jnb acc.0,X0a0e ; 09df 30 e0 2c 0`, - lcall X2d7d ; 09e2 12 2d 7d .-} - lcall X0928 ; 09e5 12 09 28 ..( - clr a ; 09e8 e4 d - mov 36h,a ; 09e9 f5 36 u6 - mov 37h,a ; 09eb f5 37 u7 - ret ; 09ed 22 " -; - lcall X0409 ; 09ee 12 04 09 ... - mov r6,36h ; 09f1 ae 36 .6 - mov r7,37h ; 09f3 af 37 /7 - ret ; 09f5 22 " -; -X09f6: jb 25h.7,X09fc ; 09f6 20 2f 03 /. - mov r6,#0 ; 09f9 7e 00 ~. - ret ; 09fb 22 " -; -X09fc: cjne r7,#0f0h,X0a06 ; 09fc bf f0 07 ?p. - setb 22h.5 ; 09ff d2 15 R. - mov r6,#0ffh ; 0a01 7e ff ~. - mov r7,#0ffh ; 0a03 7f ff .. - ret ; 0a05 22 " -; -X0a06: mov a,r7 ; 0a06 ef o - clr c ; 0a07 c3 C - subb a,#85h ; 0a08 94 85 .. - jc X0a0f ; 0a0a 40 03 @. - mov r6,#0 ; 0a0c 7e 00 ~. -X0a0e: ret ; 0a0e 22 " -; -X0a0f: mov a,r7 ; 0a0f ef o - mov dptr,#X02ee ; 0a10 90 02 ee ..n - movc a,@a+dptr ; 0a13 93 . - mov r6,a ; 0a14 fe ~ - jnz X0a19 ; 0a15 70 02 p. - mov r6,a ; 0a17 fe ~ - ret ; 0a18 22 " -; -X0a19: jnb 22h.5,X0a1f ; 0a19 30 15 03 0.. - orl rb0r6,#80h ; 0a1c 43 06 80 C.. -X0a1f: clr 22h.5 ; 0a1f c2 15 B. - mov r7,rb0r6 ; 0a21 af 06 /. - mov r6,#0 ; 0a23 7e 00 ~. - ret ; 0a25 22 " -; - mov c,27h.2 ; 0a26 a2 3a ": - mov 25h.0,c ; 0a28 92 28 .( - inc 37h ; 0a2a 05 37 .7 - mov a,37h ; 0a2c e5 37 e7 - jnz X0a32 ; 0a2e 70 02 p. - inc 36h ; 0a30 05 36 .6 -X0a32: clr c ; 0a32 c3 C - mov a,36h ; 0a33 e5 36 e6 - subb a,#80h ; 0a35 94 80 .. - jnc X0a40 ; 0a37 50 07 P. - mov r7,37h ; 0a39 af 37 /7 - mov r6,36h ; 0a3b ae 36 .6 - ljmp X0991 ; 0a3d 02 09 91 ... -; -X0a40: mov a,35h ; 0a40 e5 35 e5 - clr c ; 0a42 c3 C - subb a,#10h ; 0a43 94 10 .. - jnc X0a75 ; 0a45 50 2e P. - lcall X0928 ; 0a47 12 09 28 ..( - lcall X2d7d ; 0a4a 12 2d 7d .-} - lcall X0928 ; 0a4d 12 09 28 ..( - clr a ; 0a50 e4 d - mov 36h,a ; 0a51 f5 36 u6 - mov 37h,a ; 0a53 f5 37 u7 - ret ; 0a55 22 " -; - clr a ; 0a56 e4 d - mov r7,a ; 0a57 ff . - lcall X2e23 ; 0a58 12 2e 23 ..# - mov r6,#0ffh ; 0a5b 7e ff ~. - clr a ; 0a5d e4 d - mov 26h,a ; 0a5e f5 26 u& -X0a60: mov a,26h ; 0a60 e5 26 e& - cjne a,#8,X0a6c ; 0a62 b4 08 07 4.. - mov r7,#1 ; 0a65 7f 01 .. - lcall X2e23 ; 0a67 12 2e 23 ..# - mov r6,#0ffh ; 0a6a 7e ff ~. -X0a6c: mov a,r6 ; 0a6c ee n - cjne a,rb0r7,X0a73 ; 0a6d b5 07 03 5.. - mov r7,26h ; 0a70 af 26 /& - ret ; 0a72 22 " -; -X0a73: mov a,r6 ; 0a73 ee n - clr c ; 0a74 c3 C -X0a75: rrc a ; 0a75 13 . - mov r6,a ; 0a76 fe ~ - inc 26h ; 0a77 05 26 .& - mov a,26h ; 0a79 e5 26 e& - setb c ; 0a7b d3 S - subb a,#10h ; 0a7c 94 10 .. - jc X0a60 ; 0a7e 40 e0 @` - mov r7,#0ffh ; 0a80 7f ff .. - ret ; 0a82 22 " -; - clr a ; 0a83 e4 d - mov r7,a ; 0a84 ff . - jnb 25h.7,X0a8a ; 0a85 30 2f 02 0/. - mov r7,#40h ; 0a88 7f 40 .@ -X0a8a: jb 20h.5,X0a90 ; 0a8a 20 05 03 .. - orl rb0r7,#20h ; 0a8d 43 07 20 C. -X0a90: jb 20h.3,X0a96 ; 0a90 20 03 03 .. - orl rb0r7,#10h ; 0a93 43 07 10 C.. -X0a96: mov dptr,#Xe000 ; 0a96 90 e0 00 .`. - movx a,@dptr ; 0a99 e0 ` - jnb acc.2,X0aa0 ; 0a9a 30 e2 03 0b. - orl rb0r7,#4 ; 0a9d 43 07 04 C.. -X0aa0: jnb 25h.3,X0aa6 ; 0aa0 30 2b 03 0+. - orl rb0r7,#2 ; 0aa3 43 07 02 C.. -X0aa6: jnb 20h.6,X0aac ; 0aa6 30 06 03 0.. - orl rb0r7,#1 ; 0aa9 43 07 01 C.. -X0aac: ret ; 0aac 22 " -; - mov r6,27h ; 0aad ae 27 .' - mov r7,28h ; 0aaf af 28 /( - mov r5,29h ; 0ab1 ad 29 -) - lcall X2e74 ; 0ab3 12 2e 74 ..t - mov a,27h ; 0ab6 e5 27 e' - add a,#0d0h ; 0ab8 24 d0 $P - mov 2ah,a ; 0aba f5 2a u* - mov a,28h ; 0abc e5 28 e( - mov 2bh,a ; 0abe f5 2b u+ - lcall X2ea2 ; 0ac0 12 2e a2 .." - mov 2fh,29h ; 0ac3 85 29 2f .)/ - mov r3,2bh ; 0ac6 ab 2b ++ - mov r5,2ah ; 0ac8 ad 2a -* - mov r7,34h ; 0aca af 34 /4 - lcall X2b47 ; 0acc 12 2b 47 .+G - lcall X2ea9 ; 0acf 12 2e a9 ..) - ljmp X2dea ; 0ad2 02 2d ea .-j -; - push acc ; 0ad5 c0 e0 @` - push b ; 0ad7 c0 f0 @p - push psw ; 0ad9 c0 d0 @P - mov psw,#0 ; 0adb 75 d0 00 uP. - push rb0r6 ; 0ade c0 06 @. - push rb0r7 ; 0ae0 c0 07 @. - jb 22h.0,X0b10 ; 0ae2 20 10 2b .+ - jnb 22h.6,X0aed ; 0ae5 30 16 05 0.. - lcall X082a ; 0ae8 12 08 2a ..* - sjmp X0af0 ; 0aeb 80 03 .. -; -X0aed: lcall X066d ; 0aed 12 06 6d ..m -X0af0: pop rb0r7 ; 0af0 d0 07 P. - pop rb0r6 ; 0af2 d0 06 P. - pop psw ; 0af4 d0 d0 PP - pop b ; 0af6 d0 f0 Pp - pop acc ; 0af8 d0 e0 P` - reti ; 0afa 32 2 -; - push acc ; 0afb c0 e0 @` - push b ; 0afd c0 f0 @p - push psw ; 0aff c0 d0 @P - mov psw,#0 ; 0b01 75 d0 00 uP. - push rb0r6 ; 0b04 c0 06 @. - push rb0r7 ; 0b06 c0 07 @. - jb 25h.5,X0b36 ; 0b08 20 2d 2b -+ - jnb 22h.6,X0b13 ; 0b0b 30 16 05 0.. - lcall X0845 ; 0b0e 12 08 45 ..E - sjmp X0b16 ; 0b11 80 03 .. -; -X0b13: lcall X0698 ; 0b13 12 06 98 ... -X0b16: pop rb0r7 ; 0b16 d0 07 P. - pop rb0r6 ; 0b18 d0 06 P. - pop psw ; 0b1a d0 d0 PP - pop b ; 0b1c d0 f0 Pp - pop acc ; 0b1e d0 e0 P` - reti ; 0b20 32 2 -; - pop dph ; 0b21 d0 83 P. - pop dpl ; 0b23 d0 82 P. - mov r0,a ; 0b25 f8 x - clr a ; 0b26 e4 d - movc a,@a+dptr ; 0b27 93 . - jnz X0b3c ; 0b28 70 12 p. - mov a,#1 ; 0b2a 74 01 t. - movc a,@a+dptr ; 0b2c 93 . - jnz X0b5c ; 0b2d 70 2d p- - inc dptr ; 0b2f a3 # - inc dptr ; 0b30 a3 # -X0b31: movc a,@a+dptr ; 0b31 93 . - mov r0,a ; 0b32 f8 x - mov a,#1 ; 0b33 74 01 t. - movc a,@a+dptr ; 0b35 93 . -X0b36: mov dpl,a ; 0b36 f5 82 u. - mov dph,r0 ; 0b38 88 83 .. - clr a ; 0b3a e4 d - jmp @a+dptr ; 0b3b 73 s -; -X0b3c: mov a,#2 ; 0b3c 74 02 t. - movc a,@a+dptr ; 0b3e 93 . - xrl a,r0 ; 0b3f 68 h - jz X0b31 ; 0b40 60 ef `o - inc dptr ; 0b42 a3 # - inc dptr ; 0b43 a3 # - inc dptr ; 0b44 a3 # - sjmp X0b46 ; 0b45 80 ff .. -; - mov r6,rb0r3 ; 0b47 ae 03 .. - mov r3,rb0r5 ; 0b49 ab 05 +. - anl 3ah,#0efh ; 0b4b 53 3a ef S:o - mov dptr,#Xd000 ; 0b4e 90 d0 00 .P. - mov a,3ah ; 0b51 e5 3a e: - movx @dptr,a ; 0b53 f0 p - mov r5,rb0r7 ; 0b54 ad 07 -. - mov r6,33h ; 0b56 ae 33 .3 - mov r7,#2 ; 0b58 7f 02 .. - lcall X2d51 ; 0b5a 12 2d 51 .-Q - mov r7,2fh ; 0b5d af 2f // - lcall X2cd0 ; 0b5f 12 2c d0 .,P - orl 3ah,#10h ; 0b62 43 3a 10 C:. - mov dptr,#Xd000 ; 0b65 90 d0 00 .P. - mov a,3ah ; 0b68 e5 3a e: - movx @dptr,a ; 0b6a f0 p - ret ; 0b6b 22 " -; - mov a,#1 ; 0b6c 74 01 t. - mov r0,rb0r7 ; 0b6e a8 07 (. - inc r0 ; 0b70 08 . - sjmp X0b75 ; 0b71 80 02 .. -; -X0b73: clr c ; 0b73 c3 C - rlc a ; 0b74 33 3 -X0b75: djnz r0,X0b73 ; 0b75 d8 fc X| - mov r7,a ; 0b77 ff . - mov dptr,#Xe000 ; 0b78 90 e0 00 .`. - movx a,@dptr ; 0b7b e0 ` - orl a,#2 ; 0b7c 44 02 D. - mov r6,a ; 0b7e fe ~ - mov a,r7 ; 0b7f ef o - jnb 24h.7,X0b87 ; 0b80 30 27 04 0'. - orl rb0r6,a ; 0b83 42 06 B. - sjmp X0b8a ; 0b85 80 03 .. -; -X0b87: cpl a ; 0b87 f4 t - anl rb0r6,a ; 0b88 52 06 R. -X0b8a: mov dptr,#Xe000 ; 0b8a 90 e0 00 .`. - mov a,r6 ; 0b8d ee n - movx @dptr,a ; 0b8e f0 p - ret ; 0b8f 22 " -; -X0b90: lcall X2e07 ; 0b90 12 2e 07 ... - jc X0b9a ; 0b93 40 05 @. - lcall X0105 ; 0b95 12 01 05 ... - sjmp X0b90 ; 0b98 80 f6 .v -; -X0b9a: lcall X2ec8 ; 0b9a 12 2e c8 ..H - lcall X2ed4 ; 0b9d 12 2e d4 ..T - clr 27h.7 ; 0ba0 c2 3f B? - mov 2fh,#0eeh ; 0ba2 75 2f ee u/n - mov c,20h.6 ; 0ba5 a2 06 ". - mov 24h.0,c ; 0ba7 92 20 . - lcall X2db8 ; 0ba9 12 2d b8 .-8 -X0bac: mov dptr,#Xd000 ; 0bac 90 d0 00 .P. - movx a,@dptr ; 0baf e0 ` - jnb acc.1,X0bac ; 0bb0 30 e1 f9 0ay - ret ; 0bb3 22 " -; - mov r6,rb0r3 ; 0bb4 ae 03 .. - mov r3,rb0r5 ; 0bb6 ab 05 +. - anl 3ah,#0efh ; 0bb8 53 3a ef S:o - mov dptr,#Xd000 ; 0bbb 90 d0 00 .P. - mov a,3ah ; 0bbe e5 3a e: - movx @dptr,a ; 0bc0 f0 p - mov r5,rb0r7 ; 0bc1 ad 07 -. - mov r6,33h ; 0bc3 ae 33 .3 - mov r7,#3 ; 0bc5 7f 03 .. - lcall X2d51 ; 0bc7 12 2d 51 .-Q - lcall X2bd7 ; 0bca 12 2b d7 .+W - orl 3ah,#10h ; 0bcd 43 3a 10 C:. - mov dptr,#Xd000 ; 0bd0 90 d0 00 .P. - mov a,3ah ; 0bd3 e5 3a e: - movx @dptr,a ; 0bd5 f0 p - ret ; 0bd6 22 " -; - mov a,3ah ; 0bd7 e5 3a e: - anl a,#0bfh ; 0bd9 54 bf T? - mov r5,a ; 0bdb fd } - orl a,#20h ; 0bdc 44 20 D - mov r6,a ; 0bde fe ~ - mov r4,#8 ; 0bdf 7c 08 |. - mov a,r7 ; 0be1 ef o - add a,acc ; 0be2 25 e0 %` - mov r7,a ; 0be4 ff . - mov dptr,#Xd000 ; 0be5 90 d0 00 .P. - mov a,r5 ; 0be8 ed m - movx @dptr,a ; 0be9 f0 p - movx a,@dptr ; 0bea e0 ` - jnb acc.4,X0bf1 ; 0beb 30 e4 03 0d. - orl rb0r7,#1 ; 0bee 43 07 01 C.. -X0bf1: mov dptr,#Xd000 ; 0bf1 90 d0 00 .P. - mov a,r6 ; 0bf4 ee n - movx @dptr,a ; 0bf5 f0 p - mov r4,a ; 0bf6 fc | - mov a,r1 ; 0bf7 e9 i - ret ; 0bf8 22 " -; - mov dptr,#Xf000 ; 0bf9 90 f0 00 .p. - mov a,32h ; 0bfc e5 32 e2 - movx @dptr,a ; 0bfe f0 p - mov 2fh,a ; 0bff f5 2f u/ - mov c,24h.6 ; 0c01 a2 26 "& - mov 24h.7,c ; 0c03 92 27 .' - mov r7,#5 ; 0c05 7f 05 .. - lcall X2b6c ; 0c07 12 2b 6c .+l - mov dptr,#Xe000 ; 0c0a 90 e0 00 .`. - movx a,@dptr ; 0c0d e0 ` - orl a,#2 ; 0c0e 44 02 D. - anl a,#0feh ; 0c10 54 fe T~ - mov r6,a ; 0c12 fe ~ - movx @dptr,a ; 0c13 f0 p - orl a,#1 ; 0c14 44 01 D. - movx @dptr,a ; 0c16 f0 p - mov a,r6 ; 0c17 ee n - movx @dptr,a ; 0c18 f0 p - ret ; 0c19 22 " -; - anl 3ah,#0efh ; 0c1a 53 3a ef S:o - mov dptr,#Xd000 ; 0c1d 90 d0 00 .P. - mov a,3ah ; 0c20 e5 3a e: - movx @dptr,a ; 0c22 f0 p - mov r7,#0bfh ; 0c23 7f bf .? - lcall X2cd0 ; 0c25 12 2c d0 .,P - lcall X2bd7 ; 0c28 12 2b d7 .+W - lcall X2bd7 ; 0c2b 12 2b d7 .+W - lcall X2bd7 ; 0c2e 12 2b d7 .+W - orl 3ah,#10h ; 0c31 43 3a 10 C:. - mov dptr,#Xd000 ; 0c34 90 d0 00 .P. - mov a,3ah ; 0c37 e5 3a e: - movx @dptr,a ; 0c39 f0 p - ret ; 0c3a 22 " -; - mov r7,2bh ; 0c3b af 2b /+ - mov r7,#0edh ; 0c3d 7f ed .m - lcall X052f ; 0c3f 12 05 2f ../ - mov r7,2bh ; 0c42 af 2b /+ - lcall X052f ; 0c44 12 05 2f ../ - mov 2ch,#2ah ; 0c47 75 2c 2a u,* -X0c4a: mov r7,#0e8h ; 0c4a 7f e8 .h - mov r6,#0fdh ; 0c4c 7e fd ~} - lcall X2c79 ; 0c4e 12 2c 79 .,y -X0c51: lcall X2e62 ; 0c51 12 2e 62 ..b - jnc X0c51 ; 0c54 50 fb P{ - djnz 2ch,X0c4a ; 0c56 d5 2c f1 U,q - ret ; 0c59 22 " -; - mov r7,28h ; 0c5a af 28 /( - mov r5,29h ; 0c5c ad 29 -) - lcall X2e74 ; 0c5e 12 2e 74 ..t - lcall X2ea2 ; 0c61 12 2e a2 .." - mov a,28h ; 0c64 e5 28 e( - add a,#0feh ; 0c66 24 fe $~ - mov r3,a ; 0c68 fb { - mov 2fh,29h ; 0c69 85 29 2f .)/ - mov r5,#0efh ; 0c6c 7d ef }o - mov r7,34h ; 0c6e af 34 /4 - lcall X2b47 ; 0c70 12 2b 47 .+G - lcall X2ea9 ; 0c73 12 2e a9 ..) - ljmp X2dea ; 0c76 02 2d ea .-j -; - mov r5,rb0r7 ; 0c79 ad 07 -. - mov r4,rb0r6 ; 0c7b ac 06 ,. - clr es ; 0c7d c2 ac B, - mov a,r5 ; 0c7f ed m - cpl a ; 0c80 f4 t - mov r7,a ; 0c81 ff . - mov a,r4 ; 0c82 ec l - cpl a ; 0c83 f4 t - mov r6,a ; 0c84 fe ~ - mov a,r7 ; 0c85 ef o - add a,#1 ; 0c86 24 01 $. - mov r5,a ; 0c88 fd } - clr a ; 0c89 e4 d - addc a,r6 ; 0c8a 3e > - mov ctl0,a ; 0c8b f5 ac u, - mov r7,rb0r5 ; 0c8d af 05 /. - mov r7,cml1 ; 0c8f af aa /* - clr ie.5 ; 0c91 c2 ad B- - setb es ; 0c93 d2 ac R, - ret ; 0c95 22 " -; - mov r5,rb0r7 ; 0c96 ad 07 -. - mov r4,rb0r6 ; 0c98 ac 06 ,. - clr idsm ; 0c9a c2 ea Bj - mov a,r5 ; 0c9c ed m - cpl a ; 0c9d f4 t - mov r7,a ; 0c9e ff . - mov a,r4 ; 0c9f ec l - cpl a ; 0ca0 f4 t - mov r6,a ; 0ca1 fe ~ - mov a,r7 ; 0ca2 ef o - add a,#1 ; 0ca3 24 01 $. - mov r5,a ; 0ca5 fd } - clr a ; 0ca6 e4 d - addc a,r6 ; 0ca7 3e > - mov tmh2,a ; 0ca8 f5 ed um - mov r7,rb0r5 ; 0caa af 05 /. - mov r7,tml2 ; 0cac af ec /l - clr mb1 ; 0cae c2 ef Bo - setb idsm ; 0cb0 d2 ea Rj - ret ; 0cb2 22 " -; - anl 3ah,#0efh ; 0cb3 53 3a ef S:o - mov dptr,#Xd000 ; 0cb6 90 d0 00 .P. - mov a,3ah ; 0cb9 e5 3a e: - movx @dptr,a ; 0cbb f0 p - mov r7,#5 ; 0cbc 7f 05 .. - lcall X2cd0 ; 0cbe 12 2c d0 .,P - lcall X2bd7 ; 0cc1 12 2b d7 .+W - orl 3ah,#10h ; 0cc4 43 3a 10 C:. - mov dptr,#Xd000 ; 0cc7 90 d0 00 .P. - mov a,3ah ; 0cca e5 3a e: - movx @dptr,a ; 0ccc f0 p - mov a,r7 ; 0ccd ef o - rrc a ; 0cce 13 . - ret ; 0ccf 22 " -; - mov a,3ah ; 0cd0 e5 3a e: - anl a,#0bfh ; 0cd2 54 bf T? - mov r6,a ; 0cd4 fe ~ - orl a,#40h ; 0cd5 44 40 D@ - mov r5,a ; 0cd7 fd } - mov r4,#8 ; 0cd8 7c 08 |. - mov dptr,#Xd000 ; 0cda 90 d0 00 .P. - mov a,r7 ; 0cdd ef o - rlc a ; 0cde 33 3 - mov r7,a ; 0cdf ff . - jnc X0ce5 ; 0ce0 50 03 P. - mov a,r5 ; 0ce2 ed m - sjmp X0ce6 ; 0ce3 80 01 .. -; -X0ce5: mov a,r6 ; 0ce5 ee n -X0ce6: movx @dptr,a ; 0ce6 f0 p - orl a,#20h ; 0ce7 44 20 D - movx @dptr,a ; 0ce9 f0 p - mov r4,a ; 0cea fc | - acall X0f22 ; 0ceb f1 22 q" - lcall X2f04 ; 0ced 12 2f 04 ./. - mov r6,39h ; 0cf0 ae 39 .9 - mov r7,3ah ; 0cf2 af 3a /: - lcall X2f3d ; 0cf4 12 2f 3d ./= - mov r7,38h ; 0cf7 af 38 /8 - mov a,38h ; 0cf9 e5 38 e8 - jnb acc.1,X0d01 ; 0cfb 30 e1 03 0a. - orl 39h,#80h ; 0cfe 43 39 80 C9. -X0d01: mov a,38h ; 0d01 e5 38 e8 - rrc a ; 0d03 13 . - rrc a ; 0d04 13 . - anl a,#3fh ; 0d05 54 3f T? - mov 38h,a ; 0d07 f5 38 u8 - ret ; 0d09 22 " -; - anl 3ah,#0efh ; 0d0a 53 3a ef S:o - mov dptr,#Xd000 ; 0d0d 90 d0 00 .P. - mov a,3ah ; 0d10 e5 3a e: - movx @dptr,a ; 0d12 f0 p - mov r7,#5 ; 0d13 7f 05 .. - lcall X2cd0 ; 0d15 12 2c d0 .,P - lcall X2bd7 ; 0d18 12 2b d7 .+W - orl 3ah,#10h ; 0d1b 43 3a 10 C:. - mov dptr,#Xd000 ; 0d1e 90 d0 00 .P. - mov a,3ah ; 0d21 e5 3a e: - movx @dptr,a ; 0d23 f0 p - ret ; 0d24 22 " -; - lcall X2ec8 ; 0d25 12 2e c8 ..H - lcall X2ed4 ; 0d28 12 2e d4 ..T -X0d2b: mov dptr,#Xd000 ; 0d2b 90 d0 00 .P. - movx a,@dptr ; 0d2e e0 ` - jb acc.1,X0d3a ; 0d2f 20 e1 08 a. - lcall X036c ; 0d32 12 03 6c ..l - lcall X0105 ; 0d35 12 01 05 ... - sjmp X0d2b ; 0d38 80 f1 .q -; -X0d3a: ret ; 0d3a 22 " -; - lcall X2ced ; 0d3b 12 2c ed .,m - lcall X08f2 ; 0d3e 12 08 f2 ..r - mov a,rb1r1 ; 0d41 e5 09 e. - jnz X0d70 ; 0d43 70 2b p+ - mov a,2ah ; 0d45 e5 2a e* - jnz X0d50 ; 0d47 70 07 p. - mov a,2bh ; 0d49 e5 2b e+ - jnz X0d50 ; 0d4b 70 03 p. - lcall X2efa ; 0d4d 12 2e fa ..z -X0d50: ret ; 0d50 22 " -; - mov r5,31h ; 0d51 ad 31 -1 - mov r3,32h ; 0d53 ab 32 +2 - lcall X2cd0 ; 0d55 12 2c d0 .,P - mov r7,31h ; 0d58 af 31 /1 - lcall X2cd0 ; 0d5a 12 2c d0 .,P - mov r7,32h ; 0d5d af 32 /2 - lcall X2cd0 ; 0d5f 12 2c d0 .,P - mov r7,33h ; 0d62 af 33 /3 - ljmp X2cd0 ; 0d64 02 2c d0 .,P -; - anl 3ah,#0efh ; 0d67 53 3a ef S:o - mov dptr,#Xd000 ; 0d6a 90 d0 00 .P. - mov a,3ah ; 0d6d e5 3a e: - movx @dptr,a ; 0d6f f0 p -X0d70: lcall X2cd0 ; 0d70 12 2c d0 .,P - orl 3ah,#10h ; 0d73 43 3a 10 C:. - mov dptr,#Xd000 ; 0d76 90 d0 00 .P. - mov a,3ah ; 0d79 e5 3a e: - movx @dptr,a ; 0d7b f0 p - ret ; 0d7c 22 " -; - lcall X2e74 ; 0d7d 12 2e 74 ..t - lcall X2ea2 ; 0d80 12 2e a2 .." - clr a ; 0d83 e4 d - mov r3,a ; 0d84 fb { - mov r5,#0d0h ; 0d85 7d d0 }P - mov r7,34h ; 0d87 af 34 /4 - lcall X00e0 ; 0d89 12 00 e0 ..` - lcall X2ea9 ; 0d8c 12 2e a9 ..) - ljmp X2dea ; 0d8f 02 2d ea .-j -; - anl 3ah,#0fbh ; 0d92 53 3a fb S:{ - mov dptr,#Xd000 ; 0d95 90 d0 00 .P. - mov a,3ah ; 0d98 e5 3a e: - movx @dptr,a ; 0d9a f0 p - anl 3ah,#0fdh ; 0d9b 53 3a fd S:} - mov a,3ah ; 0d9e e5 3a e: - movx @dptr,a ; 0da0 f0 p - mov r7,#3ch ; 0da1 7f 3c .< - ljmp X0006 ; 0da3 02 00 06 ... -; - jnb 21h.1,X0dd7 ; 0da6 30 09 2e 0.. - lcall X2eb0 ; 0da9 12 2e b0 ..0 - jc X0db7 ; 0dac 40 09 @. - clr p1.2 ; 0dae c2 92 B. - clr p1.3 ; 0db0 c2 93 B. - clr 21h.1 ; 0db2 c2 09 B. - lcall X2e7d ; 0db4 12 2e 7d ..} -X0db7: ret ; 0db7 22 " -; - mov c,27h.7 ; 0db8 a2 3f "? - mov 24h.1,c ; 0dba 92 21 .! - mov 30h,2fh ; 0dbc 85 2f 30 ./0 - mov c,24h.0 ; 0dbf a2 20 " - mov 24h.2,c ; 0dc1 92 22 ." - clr 24h.3 ; 0dc3 c2 23 B# - clr 24h.4 ; 0dc5 c2 24 B$ - ljmp X06ee ; 0dc7 02 06 ee ..n -; - mov a,r7 ; 0dca ef o - swap a ; 0dcb c4 D - anl a,#2fh ; 0dcc 54 2f T/ - mov dptr,#X0353 ; 0dce 90 03 53 ..S - movc a,@a+dptr ; 0dd1 93 . - mov r6,a ; 0dd2 fe ~ - mov a,r7 ; 0dd3 ef o - anl a,#2fh ; 0dd4 54 2f T/ - movc a,@a+dptr ; 0dd6 93 . -X0dd7: add a,r6 ; 0dd7 2e . - mov r7,a ; 0dd8 ff . - ret ; 0dd9 22 " -; - mov dptr,#Xe000 ; 0dda 90 e0 00 .`. - movx a,@dptr ; 0ddd e0 ` - orl a,#2 ; 0dde 44 02 D. - anl a,#0feh ; 0de0 54 fe T~ - mov r6,a ; 0de2 fe ~ - movx @dptr,a ; 0de3 f0 p - anl a,#0fdh ; 0de4 54 fd T} - movx @dptr,a ; 0de6 f0 p - mov a,r6 ; 0de7 ee n - movx @dptr,a ; 0de8 f0 p - ret ; 0de9 22 " -; -X0dea: lcall X2ea2 ; 0dea 12 2e a2 .." - lcall X2cb3 ; 0ded 12 2c b3 .,3 - mov 27h.3,c ; 0df0 92 3b .; - lcall X2ea9 ; 0df2 12 2e a9 ..) - jb 27h.3,X0dea ; 0df5 20 3b f2 ;r - ret ; 0df8 22 " -; - jnb 20h.5,X0e05 ; 0df9 30 05 09 0.. - jb 25h.6,X0e05 ; 0dfc 20 2e 06 .. - jb 20h.2,X0e05 ; 0dff 20 02 03 .. -X0e02: setb c ; 0e02 d3 S - sjmp X0e06 ; 0e03 80 01 .. -; -X0e05: clr c ; 0e05 c3 C -X0e06: ret ; 0e06 22 " -; -X0e07: jnb 20h.3,X0e13 ; 0e07 30 03 09 0.. - jb 25h.2,X0e13 ; 0e0a 20 2a 06 *. - jb 20h.2,X0e13 ; 0e0d 20 02 03 .. - setb c ; 0e10 d3 S -X0e11: sjmp X0e14 ; 0e11 80 01 .. -; -X0e13: clr c ; 0e13 c3 C -X0e14: ret ; 0e14 22 " -; - mov r2,rb0r6 ; 0e15 aa 06 *. -X0e17: mov a,r2 ; 0e17 ea j - add a,#0d0h ; 0e18 24 d0 $P - mov r5,a ; 0e1a fd } - mov a,r7 ; 0e1b ef o - mov r3,a ; 0e1c fb { - mov r7,34h ; 0e1d af 34 /4 - lcall X2bb4 ; 0e1f 12 2b b4 .+4 - ret ; 0e22 22 " -; - mov a,r7 ; 0e23 ef o - add a,#0feh ; 0e24 24 fe $~ - mov r3,a ; 0e26 fb { - mov r5,#0efh ; 0e27 7d ef }o -X0e29: mov r7,34h ; 0e29 af 34 /4 - lcall X2bb4 ; 0e2b 12 2b b4 .+4 -X0e2e: ret ; 0e2e 22 " -; - setb 20h.2 ; 0e2f d2 02 R. - setb 25h.5 ; 0e31 d2 2d R- - clr p1.6 ; 0e33 c2 96 B. - setb 22h.0 ; 0e35 d2 10 R. - clr p1.4 ; 0e37 c2 94 B. - ret ; 0e39 22 " -; - mov a,r7 ; 0e3a ef o - mov dptr,#X02c9 ; 0e3b 90 02 c9 ..I - movc a,@a+dptr ; 0e3e 93 . - xrl a,r5 ; 0e3f 6d m - jz X0e44 ; 0e40 60 02 `. -X0e42: sjmp X0e42 ; 0e42 80 fe .~ -; -X0e44: ret ; 0e44 22 " -; - lcall X2df9 ; 0e45 12 2d f9 .-y - jnc X0e4e ; 0e48 50 04 P. - clr 22h.0 ; 0e4a c2 10 B. - setb p1.4 ; 0e4c d2 94 R. -X0e4e: ret ; 0e4e 22 " -; - lcall X2e07 ; 0e4f 12 2e 07 ... - jnc X0e58 ; 0e52 50 04 P. - clr 25h.5 ; 0e54 c2 2d B- - setb p1.6 ; 0e56 d2 96 R. -X0e58: ret ; 0e58 22 " -; - mov a,tmod ; 0e59 e5 89 e. - anl a,#0f0h ; 0e5b 54 f0 Tp - orl a,#1 ; 0e5d 44 01 D. - mov tmod,a ; 0e5f f5 89 u. - ret ; 0e61 22 " -; - jnb ie.5,X0e69 ; 0e62 30 ad 04 0-. - clr es ; 0e65 c2 ac B, - setb c ; 0e67 d3 S - ret ; 0e68 22 " -; -X0e69: clr c ; 0e69 c3 C - ret ; 0e6a 22 " -; - jnb mb1,X0e72 ; 0e6b 30 ef 04 0o. - clr idsm ; 0e6e c2 ea Bj - setb c ; 0e70 d3 S - ret ; 0e71 22 " -; -X0e72: clr c ; 0e72 c3 C - ret ; 0e73 22 " -; - lcall X2ea2 ; 0e74 12 2e a2 .." - lcall X2efa ; 0e77 12 2e fa ..z - ljmp X2ea9 ; 0e7a 02 2e a9 ..) -; - lcall X2eeb ; 0e7d 12 2e eb ..k - clr 25h.6 ; 0e80 c2 2e B. - ljmp X2e45 ; 0e82 02 2e 45 ..E -; -X0e85: clr 20h.2 ; 0e85 c2 02 B. - lcall X2e6f ; 0e87 12 2e 6f ..o - ljmp X2e45 ; 0e8a 02 2e 45 ..E -; - clr 20h.5 ; 0e8d c2 05 B. - setb 22h.0 ; 0e8f d2 10 R. - clr p1.4 ; 0e91 c2 94 B. - ret ; 0e93 22 " -; - clr 20h.3 ; 0e94 c2 03 B. - setb 25h.5 ; 0e96 d2 2d R- - clr p1.6 ; 0e98 c2 96 B. - ret ; 0e9a 22 " -; - mov dptr,#Xd000 ; 0e9b 90 d0 00 .P. - mov a,3ah ; 0e9e e5 3a e: - movx @dptr,a ; 0ea0 f0 p - ret ; 0ea1 22 " -; - jnb 25h.0,X0ea8 ; 0ea2 30 28 03 0(. - lcall X2b90 ; 0ea5 12 2b 90 .+. -X0ea8: ret ; 0ea8 22 " -; - jnb 25h.0,X0eaf ; 0ea9 30 28 03 0(. - lcall X2d92 ; 0eac 12 2d 92 .-. -X0eaf: ret ; 0eaf 22 " -; - mov dptr,#Xe000 ; 0eb0 90 e0 00 .`. - movx a,@dptr ; 0eb3 e0 ` - rrc a ; 0eb4 13 . - ret ; 0eb5 22 " -; - anl 3ah,#0feh ; 0eb6 53 3a fe S:~ - ljmp X2ebb ; 0eb9 02 2e bb ..; -; - orl 3ah,#1 ; 0ebc 43 3a 01 C:. - ljmp X2ebb ; 0ebf 02 2e bb ..; -; - anl 3ah,#0fdh ; 0ec2 53 3a fd S:} - ljmp X2ebb ; 0ec5 02 2e bb ..; -; - orl 3ah,#2 ; 0ec8 43 3a 02 C:. - ljmp X2ebb ; 0ecb 02 2e bb ..; -; - anl 3ah,#0fbh ; 0ece 53 3a fb S:{ - ljmp X2ebb ; 0ed1 02 2e bb ..; -; - orl 3ah,#4 ; 0ed4 43 3a 04 C:. - ljmp X2ebb ; 0ed7 02 2e bb ..; -; - anl 3ah,#7fh ; 0eda 53 3a 7f S:. - ljmp X2ebb ; 0edd 02 2e bb ..; -; - orl 3ah,#80h ; 0ee0 43 3a 80 C:. - ljmp X2ebb ; 0ee3 02 2e bb ..; -; - setb 20h.5 ; 0ee6 d2 05 R. - ljmp X2e45 ; 0ee8 02 2e 45 ..E -; - clr 25h.2 ; 0eeb c2 2a B* - ljmp X2e6f ; 0eed 02 2e 6f ..o -; - setb 20h.3 ; 0ef0 d2 03 R. - ljmp X2e6f ; 0ef2 02 2e 6f ..o -; - mov r7,3ah ; 0ef5 af 3a /: - ljmp X2ebb ; 0ef7 02 2e bb ..; -; - mov r7,#6 ; 0efa 7f 06 .. - ljmp X2d67 ; 0efc 02 2d 67 .-g -; - mov r7,#4 ; 0eff 7f 04 .. - ljmp X2d67 ; 0f01 02 2d 67 .-g -; - mov r6,36h ; 0f04 ae 36 .6 - mov r7,37h ; 0f06 af 37 /7 - ret ; 0f08 22 " -; - clr a ; 0f09 e4 d - mov t2con,a ; 0f0a f5 c8 uH - ret ; 0f0c 22 " -; - lcall X2c3a ; 0f0d 12 2c 3a .,: - ret ; 0f10 22 " -; - clr 25h.3 ; 0f11 c2 2b B+ - ret ; 0f13 22 " -; - setb 25h.3 ; 0f14 d2 2b R+ - ret ; 0f16 22 " -; - clr 20h.6 ; 0f17 c2 06 B. - ret ; 0f19 22 " -; - setb 20h.6 ; 0f1a d2 06 R. - ret ; 0f1c 22 " -; - mov r7,35h ; 0f1d af 35 /5 - ret ; 0f1f 22 " -; - org 0f22h -; -X0f22: mov r7,a ; 0f22 ff . -; -; Register/Memory Equates -; -rb0r3 equ 3 -rb0r5 equ 5 -rb0r6 equ 6 -rb0r7 equ 7 -rb1r0 equ 8 -rb1r1 equ 9 -rb2r0 equ 10h -rb2r1 equ 11h -rb2r2 equ 12h -rb2r3 equ 13h -rb2r4 equ 14h -rb2r5 equ 15h -rb2r6 equ 16h -rb2r7 equ 17h -rb3r0 equ 18h -rb3r1 equ 19h -; -; Miscellaneous equates -; -; These are addresses referenced in the code but -; which are in the middle of a multibyte instruction -; or are addresses outside the initialized space -; -X0001 equ 1 -X0002 equ 2 -X0091 equ 91h -X00cf equ 0cfh -X0102 equ 102h -X0114 equ 114h -X0196 equ 196h -X019a equ 19ah -X01c3 equ 1c3h -X01dd equ 1ddh -X01e7 equ 1e7h -X0203 equ 203h -X026a equ 26ah -X02c1 equ 2c1h -X02d7 equ 2d7h -X02ee equ 2eeh -X032c equ 32ch -X0360 equ 360h -X036d equ 36dh -X0410 equ 410h -X045c equ 45ch -X0497 equ 497h -X04ea equ 4eah -X04ed equ 4edh -X05b3 equ 5b3h -X068d equ 68dh -X06d8 equ 6d8h -X06f1 equ 6f1h -X07b4 equ 7b4h -X0819 equ 819h -X082c equ 82ch -X082e equ 82eh -X090f equ 90fh -X097e equ 97eh -X09f8 equ 9f8h -X0b10 equ 0b10h -X0b46 equ 0b46h -X0b5c equ 0b5ch -X0e00 equ 0e00h -X0e01 equ 0e01h -X0e04 equ 0e04h -X0e08 equ 0e08h -X0e09 equ 0e09h -X0e12 equ 0e12h -X0e16 equ 0e16h -X0e2a equ 0e2ah -X0e2c equ 0e2ch -X0e83 equ 0e83h -X0e86 equ 0e86h -X0eab equ 0eabh -X2a26 equ 2a26h -X2a56 equ 2a56h -X2aad equ 2aadh -X2ad5 equ 2ad5h -X2afb equ 2afbh -X2b21 equ 2b21h -X2b47 equ 2b47h -X2b6c equ 2b6ch -X2b90 equ 2b90h -X2bb4 equ 2bb4h -X2bd7 equ 2bd7h -X2bf9 equ 2bf9h -X2c3a equ 2c3ah -X2c3b equ 2c3bh -X2c79 equ 2c79h -X2c7a equ 2c7ah -X2cb3 equ 2cb3h -X2cd0 equ 2cd0h -X2ced equ 2cedh -X2d25 equ 2d25h -X2d3b equ 2d3bh -X2d51 equ 2d51h -X2d67 equ 2d67h -X2d7d equ 2d7dh -X2d92 equ 2d92h -X2da6 equ 2da6h -X2db8 equ 2db8h -X2dea equ 2deah -X2df9 equ 2df9h -X2dfa equ 2dfah -X2e07 equ 2e07h -X2e15 equ 2e15h -X2e23 equ 2e23h -X2e2f equ 2e2fh -X2e3a equ 2e3ah -X2e45 equ 2e45h -X2e59 equ 2e59h -X2e62 equ 2e62h -X2e6f equ 2e6fh -X2e74 equ 2e74h -X2e7d equ 2e7dh -X2e80 equ 2e80h -X2e85 equ 2e85h -X2e94 equ 2e94h -X2ea2 equ 2ea2h -X2ea9 equ 2ea9h -X2ead equ 2eadh -X2eb0 equ 2eb0h -X2eb6 equ 2eb6h -X2ebb equ 2ebbh -X2ebc equ 2ebch -X2ec8 equ 2ec8h -X2ed4 equ 2ed4h -X2ee6 equ 2ee6h -X2eeb equ 2eebh -X2ef0 equ 2ef0h -X2ef5 equ 2ef5h -X2efa equ 2efah -X2f04 equ 2f04h -X2f11 equ 2f11h -X2f14 equ 2f14h -X2f17 equ 2f17h -X2f2d equ 2f2dh -X2f3a equ 2f3ah -X2f3d equ 2f3dh -X2ffb equ 2ffbh -X2ffc equ 2ffch -X2ffe equ 2ffeh -X2fff equ 2fffh -X3520 equ 3520h -X41c0 equ 41c0h -X48aa equ 48aah -X56a7 equ 56a7h -X64a9 equ 64a9h -X64ab equ 64abh -X6dad equ 6dadh -X74ae equ 74aeh -X7bd0 equ 7bd0h -X7da8 equ 7da8h -X98fd equ 98fdh -Xa8fe equ 0a8feh -Xadff equ 0adffh -Xb512 equ 0b512h -Xb73f equ 0b73fh -Xb760 equ 0b760h -Xb7d1 equ 0b7d1h -Xb7d2 equ 0b7d2h -Xb7d3 equ 0b7d3h -Xb7d4 equ 0b7d4h -Xb7eb equ 0b7ebh -Xd000 equ 0d000h -Xd001 equ 0d001h -Xe000 equ 0e000h -Xf000 equ 0f000h -; - end -; - diff --git a/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.dis51.txt b/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.dis51.txt deleted file mode 100644 index 55cfc7a..0000000 --- a/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.dis51.txt +++ /dev/null @@ -1,3079 +0,0 @@ -CSEG AT 0000h - LJMP L0001 - - DB 02h - DB 0Ah - DB 0FBh -L0065: - MOV A, R7 - MOV B, #3h - MUL AB - MOV R7, A -L0066: - MOV R6, 7h - DEC R7 - MOV A, R6 - JNZ L0066 - RET - - DB 02h - DB 0Ah - DB 0D5h -L0015: - LCALL L0016 - MOV R7, #30h - LCALL L0017 - MOV DPTR, #0E000h - MOV A, #16h - MOVX @DPTR, A - LCALL L0018 - CLR P1.2 - CLR P1.3 - CLR P1.0 - SETB P1.1 - SETB PX0 - SETB PX1 - SETB IT0 - SETB EX0 - SETB IT1 - SETB EX1 - MOV R5, #44h - CLR A - MOV R7, A - LCALL L0019 - MOV R5, #4Dh - INC R7 - LCALL L0019 - MOV R5, #26h - INC R7 - LCALL L0019 - MOV R5, #50h - INC R7 - LCALL L0019 - LCALL L0020 - SETB EA - MOV R7, #0B1h - LCALL L0021 - MOV DPTR, #0FFEh - CLR A - MOVC A, @A+DPTR - MOV R7, A - CJNE A, #55h, L0022 - INC DPTR - CLR A - MOVC A, @A+DPTR - CJNE A, #0AAh, L0022 - SETB 8h - SJMP L0023 - -L0022: - MOV A, R7 - CJNE A, #12h, L0023 - MOV DPTR, #0FFFh - CLR A - MOVC A, @A+DPTR - CJNE A, #34h, L0023 - CLR 8h - CLR 12h -L0023: - LCALL L0024 - LCALL L0025 - LCALL L0026 - JNB 1h, L0027 - JNB 12h, L0028 - JB 0h, L0028 - JNB 11h, L0028 - LCALL L0029 - LCALL L0030 - JNB 8h, L0031 - CLR 1Ah - LCALL L0032 -L0031: - LCALL L0033 - SETB 0h - LCALL L0034 - LCALL L0035 -L0028: - LCALL L0018 - CLR 1h -L0027: - LCALL L0024 - LCALL L0036 - JNB 12h, L0023 - JNB 0h, L0023 - MOV DPTR, #0D000h - MOVX A, @DPTR - JNB ACC.0, L0023 - CLR EA - LCALL L0037 - JNC L0038 - LCALL L0039 - LCALL L0040 - SETB 1Ah - LCALL L0032 - LCALL L0034 -L0038: - SETB EA - SJMP L0023 - -L0201: - MOV R6, 3h - MOV R3, 5h - ANL 1Ah, #0EFh - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - MOV R5, 7h - MOV 33h, R6 - MOV R7, #20h - LCALL L0188 - ORL 1Ah, #10h - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - RET - - DB 0DAh - DB 07Eh - DB 010h - DB 09h - DB 014h -L0077: - LCALL L0025 -L0026: - MOV DPTR, #0E000h - MOVX A, @DPTR - MOV R7, A - JB ACC.1, L0078 - LJMP L0079 - -L0078: - CLR EX0 - CLR EX1 - JB 4h, L0080 - JNB 7h, L0081 -L0080: - SETB EX0 - SETB EX1 - RET - -L0081: - MOV A, R7 - MOV C, ACC.3 - MOV 1Ch, C - MOV DPTR, #0F000h - MOVX A, @DPTR - MOV 2Ch, A - LCALL L0082 - SETB EX0 - SETB EX1 - JNB 1Ch, L0083 - LJMP L0084 - -L0083: - CLR 1Dh - CLR 1Eh - JB 17h, L0090 - LJMP L0091 - -L0090: - MOV A, 18h - ADD A, #0E1h - JZ L0147 - ADD A, #54h - JNZ L0148 - LJMP L0149 - -L0148: - ADD A, #0FAh - JZ L0151 - DEC A - JZ L0152 - DEC A - JZ L0153 - DEC A - JZ L0154 - ADD A, #74h - JNZ L0155 - MOV R7, 2Ch - LCALL L0017 - SJMP L0149 - -L0151: - MOV A, 2Ch - JNB ACC.1, L0180 - SETB P1.0 - SJMP L0149 - -L0180: - CLR P1.0 - SJMP L0149 - -L0152: - CLR 1Fh - SJMP L0179 - -L0153: - SETB 1Fh -L0179: - MOV 2Fh, 2Ch - SJMP L0176 - -L0154: - SETB 1Eh - SJMP L0149 - -L0147: - MOV A, 2Ch - JNZ L0181 - LCALL L0041 - LCALL L0042 - MOV 12h, 38h - MOV 13h, 39h - MOV 14h, 3Ah - MOV 15h, 9h - MOV 16h, 0Ah - MOV 17h, 0Bh - SJMP L0149 - -L0181: - MOV A, 2Ch - CLR C - SUBB A, #1h - JC L0182 - MOV A, 2Ch - SETB C - SUBB A, #6h - JNC L0182 - CLR 1Fh - MOV A, #11h - ADD A, 2Ch - MOV R0, A - MOV A, @R0 - MOV 2Fh, A - SJMP L0176 - -L0182: - MOV A, 2Ch - CJNE A, #7h, L0149 - CLR 1Fh - MOV 2Fh, 3Bh -L0176: - SETB 20h - LCALL L0177 - SJMP L0149 - -L0155: - SETB 1Dh -L0149: - CLR 17h - SJMP L0150 - -L0091: - SETB 1Dh -L0150: - JNB 1Dh, L0092 - MOV R7, 2Ch - LCALL L0093 - SJMP L0094 - -L0092: - JNB 1Eh, L0094 - MOV R7, 2Ch - LCALL L0141 -L0094: - LCALL L0095 - LJMP L0096 - -L0084: - CLR 1Dh - MOV A, 2Ch - LCALL L0085 - LJMP L0086 - - DB 02h - DB 035h - DB 020h - DB 02h - DB 0B7h - DB 060h - DB 02h - DB 056h - DB 0A7h - DB 02h - DB 05Dh - DB 0A8h - DB 02h - DB 064h - DB 0A9h - DB 02h - DB 048h - DB 0AAh - DB 02h - DB 064h - DB 0ABh - DB 02h - DB 06Dh - DB 0ADh - DB 02h - DB 074h - DB 0AEh - DB 02h - DB 041h - DB 0C0h - DB 02h - DB 0B7h - DB 0CBh - DB 02h - DB 07Bh - DB 0D0h - DB 02h - DB 0B7h - DB 0D1h - DB 02h - DB 0B7h - DB 0D2h - DB 02h - DB 0B7h - DB 0D3h - DB 02h - DB 0B7h - DB 0D4h - DB 02h - DB 098h - DB 0DDh - DB 02h - DB 08Dh - DB 0DFh - DB 02h - DB 0A8h - DB 0FEh - DB 00h - DB 00h - DB 02h - DB 0B5h - DB 012h - DB 0Ah - DB 083h - DB 08Fh - DB 02Dh - DB 0C2h - DB 01Fh - DB 085h - DB 02Dh - DB 02Fh - DB 080h - DB 028h - DB 0C2h - DB 01Fh - DB 075h - DB 02Fh - DB 0FFh - DB 080h - DB 021h - DB 07Fh - DB 030h - DB 012h - DB 05h - DB 0FBh - DB 0C2h - DB 01Fh - DB 075h - DB 02Fh - DB 055h - DB 0C2h - DB 020h - DB 080h - DB 04Bh - DB 012h - DB 0Eh - DB 08Dh - DB 0D2h - DB 01Dh - DB 080h - DB 05Ah - DB 012h - DB 0Eh - DB 0E6h - DB 0D2h - DB 01Dh - DB 080h - DB 053h - DB 0C2h - DB 01Fh - DB 0E4h - DB 0F5h - DB 02Fh - DB 0D2h - DB 020h - DB 080h - DB 034h - DB 012h - DB 0Eh - DB 094h - DB 0D2h - DB 01Dh - DB 080h - DB 043h - DB 012h - DB 0Eh - DB 0F0h - DB 0D2h - DB 01Dh - DB 080h - DB 03Ch - DB 075h - DB 02Eh - DB 01h - DB 030h - DB 090h - DB 03h - DB 043h - DB 02Eh - DB 02h - DB 0C2h - DB 01Fh - DB 085h - DB 02Eh - DB 02Fh - DB 0D2h - DB 020h - DB 080h - DB 014h - DB 0D2h - DB 090h - DB 0C2h - DB 01Fh - DB 085h - DB 0Fh - DB 02Fh - DB 0D2h - DB 020h - DB 080h - DB 09h - DB 0C2h - DB 090h - DB 0C2h - DB 01Fh - DB 085h - DB 0Fh - DB 02Fh - DB 0D2h - DB 020h - DB 012h - DB 0Dh - DB 0B8h - DB 0D2h - DB 01Dh - DB 080h - DB 0Fh - DB 0C2h - DB 091h - DB 07Fh - DB 05h - DB 012h - DB 00h - DB 06h - DB 0D2h - DB 091h - DB 0D2h - DB 01Dh - DB 080h - DB 02h - DB 0D2h - DB 01Dh - DB 030h - DB 01Dh - DB 03h - DB 012h - DB 0Eh - DB 085h - DB 0D2h - DB 017h - DB 085h - DB 02Ch - DB 018h -L0096: - JB 1h, L0079 - LCALL L0018 -L0079: - RET - - DB 044h - DB 04Dh - DB 026h - DB 050h - DB 00h - DB 0FFh - DB 043h - DB 041h - DB 03Fh - DB 03Dh - DB 03Bh - DB 03Ch - DB 058h - DB 064h - DB 044h - DB 042h - DB 040h - DB 03Eh - DB 0Fh - DB 029h - DB 059h - DB 065h - DB 038h - DB 02Ah - DB 070h - DB 01Dh - DB 010h - DB 02h - DB 05Ah - DB 066h - DB 071h - DB 02Ch - DB 01Fh - DB 01Eh - DB 011h - DB 03h - DB 05Bh - DB 067h - DB 02Eh - DB 02Dh - DB 020h - DB 012h - DB 05h - DB 04h - DB 05Ch - DB 068h - DB 039h - DB 02Fh - DB 021h - DB 014h - DB 013h - DB 06h - DB 05Dh - DB 069h - DB 031h - DB 030h - DB 023h - DB 022h - DB 015h - DB 07h - DB 05Eh - DB 06Ah - DB 072h - DB 032h - DB 024h - DB 016h - DB 08h - DB 09h - DB 05Fh - DB 06Bh - DB 033h - DB 025h - DB 017h - DB 018h - DB 0Bh - DB 0Ah - DB 060h - DB 06Ch - DB 034h - DB 035h - DB 026h - DB 027h - DB 019h - DB 0Ch - DB 061h - DB 06Dh - DB 073h - DB 028h - DB 074h - DB 01Ah - DB 0Dh - DB 062h - DB 06Eh - DB 03Ah - DB 036h - DB 01Ch - DB 01Bh - DB 075h - DB 02Bh - DB 063h - DB 076h - DB 055h - DB 056h - DB 077h - DB 078h - DB 079h - DB 07Ah - DB 0Eh - DB 07Bh - DB 07Ch - DB 04Fh - DB 07Dh - DB 04Bh - DB 047h - DB 07Eh - DB 07Fh - DB 06Fh - DB 052h - DB 053h - DB 050h - DB 04Ch - DB 04Dh - DB 048h - DB 01h - DB 045h - DB 057h - DB 04Eh - DB 051h - DB 04Ah - DB 037h - DB 049h - DB 046h - DB 054h - DB 00h - DB 00h - DB 00h - DB 041h - DB 054h - DB 00h - DB 01h - DB 01h - DB 02h - DB 01h - DB 02h - DB 02h - DB 03h - DB 01h - DB 02h - DB 02h - DB 03h - DB 02h - DB 03h - DB 03h - DB 04h - DB 014h - DB 023h - DB 014h - DB 03Ah - DB 014h - DB 04Dh - DB 042h - DB 032h - DB 023h -L0024: - JB 0Ch, L0202 - LJMP L0203 - -L0202: - CLR 1Ah - CLR 1Bh - MOV A, 10h - JNB ACC.7, L0204 - MOV A, 11h - MOV R6, 10h - MOV R0, #6h -L0205: - XCH A, R6 - CLR C - RRC A - XCH A, R6 - RRC A - DJNZ R0, L0205 - MOV 26h, A - MOV R7, A - LCALL L0106 - MOV 27h, R7 - MOV A, 10h - SWAP A - RRC A - RRC A - ANL A, #3h - MOV R7, A - MOV A, 27h - ANL A, #1h - CJNE A, 7h, L0206 - CLR A - MOV R7, #1h - SJMP L0207 - -L0206: - MOV R7, #0h -L0207: - MOV A, R7 - JNB ACC.0, L0208 - SETB 1Bh - SJMP L0204 - -L0208: - JB 13h, L0211 - MOV R7, 26h - LCALL L0212 - MOV R7, 26h - LCALL L0213 - MOV 28h, R6 - MOV 29h, R7 - MOV A, 29h - CPL A - JNZ L0214 - MOV A, 28h - CPL A -L0214: - JZ L0204 - MOV 26h, 29h - SETB 1Ah - SJMP L0204 - -L0211: - SETB 1Ah -L0204: - JNB 1Ah, L0209 - CLR 27h - MOV R7, #7h - LCALL L0112 - CLR 27h - MOV R7, #6h - LCALL L0112 - MOV C, 13h - MOV 25h, C - MOV 31h, 26h - LCALL L0114 - CLR 0Ch - RET - -L0209: - JNB 1Bh, L0210 - MOV C, 13h - MOV 21h, C - MOV 30h, #0FFh - SETB 22h - CLR 23h - SETB 24h - LJMP L0178 - -L0210: - CLR 0Ch - LCALL L0184 -L0203: - RET - -L0239: - CLR A - MOV 26h, A - MOV 27h, A - MOV 28h, #0Fh - MOV 29h, #0FFh -L0243: - MOV A, 27h - ADD A, 29h - MOV R7, A - MOV A, 26h - ADDC A, 28h - CLR C - RRC A - MOV 2Ah, A - MOV A, R7 - RRC A - MOV 2Bh, A - MOV R7, A - MOV R6, 2Ah - LCALL L0240 - CJNE R7, #0FFh, L0241 - MOV A, 2Bh - ADD A, #0FFh - MOV 29h, A - MOV A, 2Ah - ADDC A, #0FFh - MOV 28h, A - SJMP L0242 - -L0241: - MOV A, R7 - JNZ L0245 - MOV A, 2Bh - ADD A, #1h - MOV 27h, A - CLR A - ADDC A, 2Ah - MOV 26h, A - SJMP L0242 - -L0245: - MOV 2Ch, #0FFh - CLR A - MOV 2Dh, A -L0248: - MOV A, 2Ch - CLR C - RRC A - MOV 2Ch, A - CJNE A, 7h, L0246 - MOV A, 2Bh - MOV R6, 2Ah - MOV R0, #3h -L0247: - CLR C - RLC A - XCH A, R6 - RLC A - XCH A, R6 - DJNZ R0, L0247 - MOV R4, #0h - ADD A, 2Dh - MOV R7, A - MOV A, R4 - ADDC A, R6 - XCH A, R7 - ADD A, #1h - XCH A, R7 - ADDC A, #0h - MOV R6, A - RET - -L0246: - INC 2Dh - MOV A, 2Dh - CJNE A, #7h, L0248 - MOV R6, #0FFh - MOV R7, #0FFh - RET - -L0242: - SETB C - MOV A, 27h - SUBB A, 29h - MOV A, 28h - XRL A, #80h - MOV R0, A - MOV A, 26h - XRL A, #80h - SUBB A, R0 - JC L0243 - MOV A, 27h - MOV R6, 26h - MOV R0, #3h -L0244: - CLR C - RLC A - XCH A, R6 - RLC A - XCH A, R6 - DJNZ R0, L0244 - MOV R7, A - RET - -L0001: - MOV R0, #7Fh - CLR A -L0002: - MOV @R0, A - DJNZ R0, L0002 - MOV SP, #3Bh - LJMP L0003 - -L0004: - LJMP L0015 - -L0006: - CLR A - MOVC A, @A+DPTR - INC DPTR - MOV R0, A -L0014: - CLR A - MOVC A, @A+DPTR - INC DPTR - JC L0012 - MOV @R0, A - SJMP L0013 - -L0012: - MOVX @R0, A -L0013: - INC R0 - DJNZ R7, L0014 - SJMP L0009 - -L0007: - CLR A - MOVC A, @A+DPTR - INC DPTR - MOV R0, A - ANL A, #7h - ADD A, #0Ch - XCH A, R0 - CLR C - RLC A - SWAP A - ANL A, #0Fh - ORL A, #20h - XCH A, R0 - MOVC A, @A+PC - JC L0010 - CPL A - ANL A, @R0 - SJMP L0011 - -L0010: - ORL A, @R0 -L0011: - MOV @R0, A - DJNZ R7, L0007 - SJMP L0009 - - DB 01h - DB 02h - DB 04h - DB 08h - DB 010h - DB 020h - DB 040h - DB 080h -L0003: - MOV DPTR, #0880h -L0009: - CLR A - MOV R6, #1h - MOVC A, @A+DPTR - JZ L0004 - INC DPTR - MOV R7, A - ANL A, #3Fh - JNB ACC.5, L0005 - ANL A, #1Fh - MOV R6, A - CLR A - MOVC A, @A+DPTR - INC DPTR - JZ L0005 - INC R6 -L0005: - XCH A, R7 - ANL A, #0C0h - ADD A, ACC - JZ L0006 - JC L0007 - CLR A - MOVC A, @A+DPTR - INC DPTR - MOV R2, A - CLR A - MOVC A, @A+DPTR - INC DPTR - MOV R0, A -L0008: - CLR A - MOVC A, @A+DPTR - INC DPTR - XCH A, R0 - XCH A, DPL - XCH A, R0 - XCH A, R2 - XCH A, DPH - XCH A, R2 - MOVX @DPTR, A - INC DPTR - XCH A, R0 - XCH A, DPL - XCH A, R0 - XCH A, R2 - XCH A, DPH - XCH A, R2 - DJNZ R7, L0008 - DJNZ R6, L0008 - SJMP L0009 - -L0093: - SETB 0Dh - CLR P1.6 - SETB 0Eh - SETB 10h - CLR P1.4 - MOV 8h, R7 - LCALL L0106 - MOV A, R7 - RRC A - CPL C - MOV 14h, C - SETB 16h - CLR A - MOV 0Ch, A - MOV R7, #28h - LCALL L0065 - CLR P1.7 - SETB 3h - CLR 0Ah - MOV R7, #0E8h - MOV R6, #0FDh - LCALL L0107 - CLR 0Dh - SETB P1.6 -L0110: - JNB 16h, L0108 - LCALL L0109 - JNC L0110 - CLR EA - SETB P1.7 - CLR 21h - LCALL L0111 - CLR 16h - CLR A - MOV 0Ch, A - SETB EA - RET - -L0108: - MOV R7, #0E8h - MOV R6, #0FDh - LCALL L0107 -L0129: - JB 4h, L0128 - JB 0Ah, L0128 - LCALL L0109 - JNC L0129 - CLR EA - CLR 21h - LCALL L0111 - SETB EA - RET - -L0128: - LCALL L0036 - RET - -L0141: - SETB 10h - CLR P1.4 - SETB 0Ah - SETB 0Dh - CLR P1.6 - MOV 8h, R7 - LCALL L0106 - MOV A, R7 - RRC A - CPL C - MOV 14h, C - SETB 16h - CLR A - MOV 0Eh, A - MOV R7, #28h - LCALL L0065 - CLR P1.5 - SETB 5h - CLR 0Eh - MOV R7, #0E8h - MOV R6, #0FDh - LCALL L0107 - CLR 10h - SETB P1.4 -L0143: - JNB 16h, L0142 - LCALL L0109 - JNC L0143 - CLR EA - SETB P1.5 - LCALL L0144 - CLR 16h - CLR A - MOV 0Eh, A - SETB EA - RET - -L0142: - MOV R7, #0E8h - MOV R6, #0FDh - LCALL L0107 -L0146: - JB 7h, L0145 - JB 0Eh, L0145 - LCALL L0109 - JNC L0146 - CLR EA - LCALL L0144 - SETB EA - RET - -L0145: - LCALL L0036 - RET - -L0017: - MOV R5, 7h - MOV A, R5 - JNB ACC.6, L0156 - SETB 0Fh - SJMP L0157 - -L0156: - CLR 0Fh -L0157: - MOV A, R5 - JNB ACC.5, L0158 - LCALL L0159 - SJMP L0160 - -L0158: - LCALL L0175 -L0160: - MOV A, R5 - JNB ACC.4, L0161 - LCALL L0162 - SJMP L0163 - -L0161: - LCALL L0174 -L0163: - MOV A, R5 - JNB ACC.2, L0164 - SETB 27h - SJMP L0165 - -L0164: - CLR 27h -L0165: - MOV R7, #2h - LCALL L0112 - MOV A, R5 - JNB ACC.1, L0166 - LCALL L0167 - SJMP L0168 - -L0166: - LCALL L0173 -L0168: - MOV A, R5 - JNB ACC.0, L0169 - LCALL L0170 - JB 11h, L0171 - SETB 11h - SETB 1h - RET - -L0169: - LCALL L0172 -L0171: - RET - - DB 07Fh - DB 02h - DB 012h - DB 00h - DB 06h - DB 020h - DB 094h - DB 042h - DB 0A2h - DB 095h - DB 092h - DB 018h - DB 05h - DB 0Eh - DB 0E5h - DB 0Eh - DB 0B4h - DB 01h - DB 012h - DB 020h - DB 018h - DB 0Ah - DB 0D2h - DB 07h - DB 0D2h - DB 0Ah - DB 0D2h - DB 0Dh - DB 0C2h - DB 096h - DB 080h - DB 019h - DB 0E4h - DB 0F5h - DB 0Eh - DB 080h - DB 014h - DB 0E5h - DB 0Eh - DB 0B4h - DB 0Bh - DB 0Fh - DB 0D2h - DB 0Eh - DB 0D2h - DB 010h - DB 0C2h - DB 094h - DB 0D2h - DB 013h - DB 0D2h - DB 0Ch - DB 0E4h - DB 0F5h - DB 0Eh - DB 0C2h - DB 07h - DB 0E5h - DB 010h - DB 0C3h - DB 013h - DB 0F5h - DB 010h - DB 0E5h - DB 011h - DB 013h - DB 0F5h - DB 011h - DB 030h - DB 018h - DB 03h - DB 043h - DB 010h - DB 080h - DB 022h - DB 07Fh - DB 02h - DB 012h - DB 00h - DB 06h - DB 020h - DB 096h - DB 042h - DB 0A2h - DB 097h - DB 092h - DB 019h - DB 05h - DB 0Ch - DB 0E5h - DB 0Ch - DB 0B4h - DB 01h - DB 012h - DB 020h - DB 019h - DB 0Ah - DB 0D2h - DB 04h - DB 0D2h - DB 0Eh - DB 0D2h - DB 010h - DB 0C2h - DB 094h - DB 080h - DB 019h - DB 0E4h - DB 0F5h - DB 0Ch - DB 080h - DB 014h - DB 0E5h - DB 0Ch - DB 0B4h - DB 0Bh - DB 0Fh - DB 0D2h - DB 0Ah - DB 0D2h - DB 0Dh - DB 0C2h - DB 096h - DB 0C2h - DB 013h - DB 0D2h - DB 0Ch - DB 0E4h - DB 0F5h - DB 0Ch - DB 0C2h - DB 04h - DB 0E5h - DB 010h - DB 0C3h - DB 013h - DB 0F5h - DB 010h - DB 0E5h - DB 011h - DB 013h - DB 0F5h - DB 011h - DB 030h - DB 019h - DB 03h - DB 043h - DB 010h - DB 080h - DB 022h -L0144: - SETB 21h -L0111: - MOV 30h, #0FEh -L0140: - SETB 22h - SETB 23h - CLR 24h -L0178: - SETB 0Ah - SETB 0Dh - CLR P1.6 - SETB 0Eh - SETB 10h - CLR P1.4 - MOV C, 23h - MOV 27h, C - MOV R7, #6h - LCALL L0112 - MOV C, 24h - MOV 27h, C - MOV R7, #7h - LCALL L0112 - JNB 22h, L0113 - MOV C, 21h - MOV 25h, C - MOV 31h, 30h - LCALL L0114 - SJMP L0115 - -L0113: - MOV C, 21h - MOV 26h, C - MOV 32h, 30h - LCALL L0116 - CLR P1.2 - CLR P1.3 - SETB 9h -L0115: - CLR 0Ch - RET - -L0036: - JB 4h, L0130 - JNB 7h, L0131 -L0130: - MOV R7, #0E8h - MOV R6, #0FDh - LCALL L0107 -L0133: - JB 4h, L0132 - JNB 7h, L0131 -L0132: - LCALL L0109 - JNC L0133 - CLR EA - JB 4h, L0134 - JNB 7h, L0135 -L0134: - JNB 4h, L0136 - CLR 1Fh - SJMP L0137 - -L0136: - SETB 1Fh -L0137: - CLR A - MOV 0Ch, A - CLR 4h - MOV 0Eh, A - CLR 7h - LCALL L0138 - LCALL L0139 - SETB EA - MOV C, 1Fh - MOV 21h, C - MOV 30h, #0FFh - LCALL L0140 - SJMP L0133 - -L0135: - SETB EA - SJMP L0133 - -L0131: - RET - -L0212: - MOV A, 19h - JZ L0220 - CJNE A, #2h, L0221 -L0220: - MOV A, 0Dh - MOV DPTR, #0363h - MOVC A, @A+DPTR - XRL A, R7 - JZ L0222 -L0221: - MOV A, 19h - XRL A, #1h - JNZ L0223 - MOV A, R7 - XRL A, #0F0h - JNZ L0223 -L0222: - INC 19h - MOV A, 19h - SETB C - SUBB A, #2h - JC L0224 - CLR A - MOV 19h, A - INC 0Dh - MOV A, 0Dh - SUBB A, #9h - JC L0224 - MOV 2Ah, #5h -L0226: - CLR A - MOV R7, A - LCALL L0225 - MOV R7, #7h - LCALL L0225 - DJNZ 2Ah, L0226 - CLR A - MOV 0Dh, A - RET - -L0223: - CLR A - MOV 0Dh, A - MOV 19h, A -L0224: - RET - -L0035: - MOV A, 3Bh - XRL A, #15h - JNZ L0229 - LCALL L0041 - MOV A, 3Ah - JNB ACC.0, L0230 - MOV 26h, #80h - SJMP L0231 - -L0230: - CLR A - MOV 26h, A -L0231: - MOV A, 3Ah - CLR C - RRC A - MOV 3Ah, A - MOV A, 39h - JNB ACC.0, L0232 - ORL 3Ah, #80h -L0232: - MOV A, 39h - CLR C - RRC A - MOV 39h, A - MOV A, 38h - JNB ACC.0, L0233 - ORL 39h, #80h -L0233: - CLR P3.6 - MOV DPTR, #0D001h - CLR A - MOVX @DPTR, A - INC DPTR - MOV A, 26h - MOVX @DPTR, A - INC DPTR - MOV A, 3Ah - MOVX @DPTR, A - INC DPTR - MOV A, 39h - MOVX @DPTR, A - SETB P3.6 -L0229: - RET - - DB 020h - DB 094h - DB 037h - DB 05h - DB 0Eh - DB 0E5h - DB 0Eh - DB 0D3h - DB 094h - DB 08h - DB 050h - DB 012h - DB 0E5h - DB 08h - DB 030h - DB 0E0h - DB 04h - DB 0D2h - DB 095h - DB 080h - DB 02h - DB 0C2h - DB 095h - DB 0E5h - DB 08h - DB 0C3h - DB 013h - DB 0F5h - DB 08h - DB 022h - DB 0E5h - DB 0Eh - DB 0B4h - DB 09h - DB 05h - DB 0A2h - DB 014h - DB 092h - DB 095h - DB 022h - DB 0E5h - DB 0Eh - DB 0B4h - DB 0Ah - DB 03h - DB 0D2h - DB 095h - DB 022h - DB 0E5h - DB 0Eh - DB 0B4h - DB 0Bh - DB 05h - DB 0C2h - DB 016h - DB 0E4h - DB 0F5h - DB 0Eh - DB 022h - DB 020h - DB 096h - DB 037h - DB 05h - DB 0Ch - DB 0E5h - DB 0Ch - DB 0D3h - DB 094h - DB 08h - DB 050h - DB 012h - DB 0E5h - DB 08h - DB 030h - DB 0E0h - DB 04h - DB 0D2h - DB 097h - DB 080h - DB 02h - DB 0C2h - DB 097h - DB 0E5h - DB 08h - DB 0C3h - DB 013h - DB 0F5h - DB 08h - DB 022h - DB 0E5h - DB 0Ch - DB 0B4h - DB 09h - DB 05h - DB 0A2h - DB 014h - DB 092h - DB 097h - DB 022h - DB 0E5h - DB 0Ch - DB 0B4h - DB 0Ah - DB 03h - DB 0D2h - DB 097h - DB 022h - DB 0E5h - DB 0Ch - DB 0B4h - DB 0Bh - DB 05h - DB 0C2h - DB 016h - DB 0E4h - DB 0F5h - DB 0Ch - DB 022h - DB 01h - DB 0Ch - DB 00h - DB 0C1h - DB 04h - DB 0C1h - DB 0Ah - DB 0C1h - DB 083h - DB 0C1h - DB 0Ch - DB 0C1h - DB 09h - DB 0C1h - DB 02h - DB 0C1h - DB 016h - DB 0C1h - DB 08h - DB 01h - DB 0Eh - DB 00h - DB 0C1h - DB 07h - DB 0C1h - DB 0Eh - DB 0C1h - DB 085h - DB 0C1h - DB 08Bh - DB 0C1h - DB 086h - DB 0C1h - DB 08Fh - DB 0C1h - DB 012h - DB 0C1h - DB 00h - DB 0C1h - DB 011h - DB 0C1h - DB 01h - DB 0C1h - DB 017h - DB 01h - DB 0Dh - DB 00h - DB 01h - DB 019h - DB 00h - DB 01h - DB 01Ah - DB 00h - DB 01h - DB 034h - DB 03h - DB 0C1h - DB 029h - DB 00h -L0114: - MOV C, 25h - MOV 26h, C - MOV 32h, 31h - LCALL L0116 - CLR P1.2 - CLR P1.3 - JB 25h, L0117 - JB 6h, L0118 -L0117: - JNB 25h, L0119 - JNB 0Bh, L0119 -L0118: - MOV R7, #69h - MOV R6, #0h - LCALL L0107 -L0120: - LCALL L0109 - JNC L0120 - LCALL L0121 - JNC L0119 - JB 25h, L0122 - SETB P1.2 - SJMP L0119 - -L0122: - SETB P1.3 -L0119: - SETB 9h - RET - -L0042: - MOV DPTR, #0FFCh - CLR A - MOVC A, @A+DPTR - MOV R6, A - MOV A, #1h - MOVC A, @A+DPTR - MOV R7, A - CLR C - SUBB A, 3Ah - MOV 0Bh, A - MOV A, R6 - SUBB A, 39h - MOV 0Ah, A - MOV DPTR, #0FFBh - CLR A - MOVC A, @A+DPTR - CLR C - SUBB A, 38h - MOV 9h, A - CLR C - MOV A, R7 - SUBB A, 3Ah - MOV A, R6 - SUBB A, 39h - JNC L0046 - DEC 9h -L0046: - MOV A, 9h - JNB ACC.7, L0047 - CLR A - MOV 9h, A - MOV 0Ah, A - MOV 0Bh, A -L0047: - RET - -L0194: - INC 35h - MOV R7, 35h - MOV R6, 7h - MOV A, R6 - DEC A - RRC A - RRC A - RRC A - ANL A, #1Fh - MOV R5, A - MOV A, R6 - ANL A, #7h - MOV R7, A - JNZ L0196 - MOV 26h, A - MOV 27h, A - SJMP L0197 - -L0196: - MOV A, #0FFh - MOV R6, #0h - MOV R0, 7h - INC R0 - SJMP L0199 - -L0200: - XCH A, R6 - MOV C, ACC.7 - RRC A - XCH A, R6 - RRC A -L0199: - DJNZ R0, L0200 - MOV 27h, A - MOV 26h, R6 -L0197: - MOV R7, 5h - MOV R5, 27h - LJMP L0198 - -L0016: - CLR A - MOV R7, A - MOV R6, #1h -L0261: - MOV A, R7 - CLR C - SUBB A, #8h - JNC L0259 - MOV A, R7 - JZ L0260 - XRL A, #1h - JZ L0260 - MOV A, R7 - XRL A, #3h - JZ L0260 - MOV A, R6 - ORL A, #2h - ANL A, #0FEh - MOV DPTR, #0E000h - MOVX @DPTR, A - ANL A, #0F4h - MOV R5, A - MOV A, R6 - ANL A, #0F4h - XRL A, R5 - JZ L0260 - SETB C - RET - -L0260: - INC R7 - MOV A, R6 - ADD A, ACC - MOV R6, A - SJMP L0261 - -L0259: - CLR C - RET - -L0053: - MOV R5, 7h - MOV R4, 6h - MOV A, R5 - ADD A, #0FFh - MOV R7, A - MOV A, R4 - ADDC A, #0FFh - MOV R6, A - MOV A, R7 - MOV R0, #3h -L0054: - XCH A, R6 - CLR C - RRC A - XCH A, R6 - RRC A - DJNZ R0, L0054 - MOV R7, A - MOV A, R5 - ANL A, #7h - MOV R5, A - JNZ L0055 - MOV 26h, A - SJMP L0056 - -L0055: - MOV A, #0FFh - MOV R0, 5h - INC R0 - SJMP L0191 - -L0192: - CLR C - RRC A -L0191: - DJNZ R0, L0192 - MOV 26h, A -L0056: - MOV R5, 26h - LJMP L0057 - -L0030: - CLR 28h - JB 29h, L0234 - LCALL L0235 - MOV 3Bh, R7 - MOV A, 3Bh - CJNE A, #15h, L0236 - MOV 34h, #1Fh -L0236: - SETB 29h -L0234: - LCALL L0237 - MOV 35h, R7 - MOV A, 35h - JNB ACC.0, L0238 - LCALL L0195 - LCALL L0194 - CLR A - MOV 36h, A - MOV 37h, A - RET - -L0238: - LCALL L0239 - MOV 36h, R6 - MOV 37h, R7 - RET - -L0213: - JB 0Fh, L0215 - MOV R6, #0h - RET - -L0215: - CJNE R7, #0F0h, L0216 - SETB 15h - MOV R6, #0FFh - MOV R7, #0FFh - RET - -L0216: - MOV A, R7 - CLR C - SUBB A, #85h - JC L0217 - MOV R6, #0h - RET - -L0217: - MOV A, R7 - MOV DPTR, #02CEh - MOVC A, @A+DPTR - MOV R6, A - JNZ L0218 - MOV R6, A - RET - -L0218: - JNB 15h, L0219 - ORL 6h, #80h -L0219: - CLR 15h - MOV R7, 6h - MOV R6, #0h - RET - -L0032: - MOV C, 1Ah - MOV 28h, C - INC 37h - MOV A, 37h - JNZ L0051 - INC 36h -L0051: - CLR C - MOV A, 36h - SUBB A, #80h - JNC L0052 - MOV R7, 37h - MOV R6, 36h - LJMP L0053 - -L0052: - MOV A, 35h - CLR C - SUBB A, #10h - JNC L0193 - LCALL L0194 - LCALL L0195 - LCALL L0194 - CLR A - MOV 36h, A - MOV 37h, A -L0193: - RET - -L0237: - CLR A - MOV R7, A - LCALL L0250 - MOV R6, #0FFh - CLR A - MOV 26h, A -L0253: - MOV A, 26h - CJNE A, #8h, L0251 - MOV R7, #1h - LCALL L0250 - MOV R6, #0FFh -L0251: - MOV A, R6 - CJNE A, 7h, L0252 - MOV R7, 26h - RET - -L0252: - MOV A, R6 - CLR C - RRC A - MOV R6, A - INC 26h - MOV A, 26h - SETB C - SUBB A, #10h - JC L0253 - MOV R7, #0FFh - RET - - DB 0E4h - DB 0FFh - DB 030h - DB 0Fh - DB 02h - DB 07Fh - DB 040h - DB 020h - DB 05h - DB 03h - DB 043h - DB 07h - DB 020h - DB 020h - DB 03h - DB 03h - DB 043h - DB 07h - DB 010h - DB 090h - DB 0E0h - DB 00h - DB 0E0h - DB 030h - DB 0E2h - DB 03h - DB 043h - DB 07h - DB 04h - DB 030h - DB 0Bh - DB 03h - DB 043h - DB 07h - DB 02h - DB 030h - DB 06h - DB 03h - DB 043h - DB 07h - DB 01h - DB 022h -L0057: - MOV 27h, R6 - MOV 28h, R7 - MOV 29h, R5 - LCALL L0058 - MOV A, 27h - ADD A, #0D0h - MOV 2Ah, A - MOV A, 28h - MOV 2Bh, A - LCALL L0059 - MOV 2Fh, 29h - MOV R3, 2Bh - MOV R5, 2Ah - MOV R7, 34h - LCALL L0060 - LCALL L0061 - LJMP L0062 - - DB 0C0h - DB 0E0h - DB 0C0h - DB 0F0h - DB 0C0h - DB 0D0h - DB 075h - DB 0D0h - DB 00h - DB 0C0h - DB 06h - DB 0C0h - DB 07h - DB 020h - DB 010h - DB 0Bh - DB 030h - DB 016h - DB 05h - DB 012h - DB 08h - DB 0Ah - DB 080h - DB 03h - DB 012h - DB 06h - DB 04Dh - DB 0D0h - DB 07h - DB 0D0h - DB 06h - DB 0D0h - DB 0D0h - DB 0D0h - DB 0F0h - DB 0D0h - DB 0E0h - DB 032h - DB 0C0h - DB 0E0h - DB 0C0h - DB 0F0h - DB 0C0h - DB 0D0h - DB 075h - DB 0D0h - DB 00h - DB 0C0h - DB 06h - DB 0C0h - DB 07h - DB 020h - DB 0Dh - DB 0Bh - DB 030h - DB 016h - DB 05h - DB 012h - DB 08h - DB 045h - DB 080h - DB 03h - DB 012h - DB 06h - DB 098h - DB 0D0h - DB 07h - DB 0D0h - DB 06h - DB 0D0h - DB 0D0h - DB 0D0h - DB 0F0h - DB 0D0h - DB 0E0h - DB 032h -L0085: - POP DPH - POP DPL - MOV R0, A -L0089: - CLR A - MOVC A, @A+DPTR - JNZ L0087 - MOV A, #1h - MOVC A, @A+DPTR - JNZ L0087 - INC DPTR - INC DPTR -L0088: - MOVC A, @A+DPTR - MOV R0, A - MOV A, #1h - MOVC A, @A+DPTR - MOV DPL, A - MOV DPH, R0 - CLR A - JMP @A+DPTR - -L0087: - MOV A, #2h - MOVC A, @A+DPTR - XRL A, R0 - JZ L0088 - INC DPTR - INC DPTR - INC DPTR - SJMP L0089 - -L0060: - MOV R6, 3h - MOV R3, 5h - ANL 1Ah, #0EFh - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - MOV R5, 7h - MOV 33h, R6 - MOV R7, #2h - LCALL L0188 - MOV R7, 2Fh - LCALL L0067 - ORL 1Ah, #10h - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - RET - -L0112: - MOV A, #1h - MOV R0, 7h - INC R0 - SJMP L0124 - -L0125: - CLR C - RLC A -L0124: - DJNZ R0, L0125 - MOV R7, A - MOV DPTR, #0E000h - MOVX A, @DPTR - ORL A, #2h - MOV R6, A - MOV A, R7 - JNB 27h, L0126 - ORL 6h, A - SJMP L0127 - -L0126: - CPL A - ANL 6h, A -L0127: - MOV DPTR, #0E000h - MOV A, R6 - MOVX @DPTR, A - RET - -L0075: - LCALL L0037 - JC L0076 - LCALL L0077 - SJMP L0075 - -L0076: - LCALL L0185 - LCALL L0186 - CLR 1Fh - MOV 2Fh, #0EEh - MOV C, 6h - MOV 20h, C - LCALL L0177 -L0187: - MOV DPTR, #0D000h - MOVX A, @DPTR - JNB ACC.1, L0187 - RET - -L0249: - MOV R6, 3h - MOV R3, 5h - ANL 1Ah, #0EFh - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - MOV R5, 7h - MOV 33h, R6 - MOV R7, #3h - LCALL L0188 - LCALL L0068 - ORL 1Ah, #10h - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - RET - -L0068: - MOV A, 1Ah - ANL A, #9Fh - MOV R5, A - ORL A, #20h - MOV R6, A - MOV R4, #8h -L0070: - MOV A, R7 - ADD A, ACC - MOV R7, A - MOV DPTR, #0D000h - MOV A, R5 - MOVX @DPTR, A - MOVX A, @DPTR - JNB ACC.4, L0069 - ORL 7h, #1h -L0069: - MOV DPTR, #0D000h - MOV A, R6 - MOVX @DPTR, A - DJNZ R4, L0070 - RET - -L0116: - MOV DPTR, #0F000h - MOV A, 32h - MOVX @DPTR, A - MOV 0Fh, A - MOV C, 26h - MOV 27h, C - MOV R7, #5h - LCALL L0112 - MOV DPTR, #0E000h - MOVX A, @DPTR - ORL A, #2h - ANL A, #0FEh - MOV R6, A - MOVX @DPTR, A - ORL A, #1h - MOVX @DPTR, A - MOV A, R6 - MOVX @DPTR, A - RET - -L0254: - ANL 1Ah, #0EFh - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - MOV R7, #9Fh - LCALL L0067 - LCALL L0068 - LCALL L0068 - LCALL L0068 - ORL 1Ah, #10h - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - RET - -L0225: - MOV 2Bh, R7 - MOV R7, #0EDh - LCALL L0093 - MOV R7, 2Bh - LCALL L0093 - MOV 2Ch, #0Ah -L0228: - MOV R7, #0E8h - MOV R6, #0FDh - LCALL L0107 -L0227: - LCALL L0109 - JNC L0227 - DJNZ 2Ch, L0228 - RET - -L0198: - MOV 28h, R7 - MOV 29h, R5 - LCALL L0058 - LCALL L0059 - MOV A, 28h - ADD A, #0FEh - MOV R3, A - MOV 2Fh, 29h - MOV R5, #0EFh - MOV R7, 34h - LCALL L0060 - LCALL L0061 - LJMP L0062 - -L0107: - MOV R5, 7h - MOV R4, 6h - CLR TR0 - MOV A, R5 - CPL A - MOV R7, A - MOV A, R4 - CPL A - MOV R6, A - MOV A, R7 - ADD A, #1h - MOV R5, A - CLR A - ADDC A, R6 - MOV TH0, A - MOV R7, 5h - MOV TL0, R7 - CLR TF0 - SETB TR0 - RET - - DB 0ADh - DB 07h - DB 0ACh - DB 06h - DB 0C2h - DB 0CAh - DB 0EDh - DB 0F4h - DB 0FFh - DB 0ECh - DB 0F4h - DB 0FEh - DB 0EFh - DB 024h - DB 01h - DB 0FDh - DB 0E4h - DB 03Eh - DB 0F5h - DB 0CDh - DB 0AFh - DB 05h - DB 08Fh - DB 0CCh - DB 0C2h - DB 0CFh - DB 0D2h - DB 0CAh - DB 022h -L0063: - ANL 1Ah, #0EFh - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - MOV R7, #5h - LCALL L0067 - LCALL L0068 - ORL 1Ah, #10h - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - MOV A, R7 - RRC A - RET - -L0067: - MOV A, 1Ah - ANL A, #9Fh - MOV R6, A - ORL A, #40h - MOV R5, A - MOV R4, #8h - MOV DPTR, #0D000h -L0073: - MOV A, R7 - RLC A - MOV R7, A - JNC L0071 - MOV A, R5 - SJMP L0072 - -L0071: - MOV A, R6 -L0072: - MOVX @DPTR, A - ORL A, #20h - MOVX @DPTR, A - DJNZ R4, L0073 - RET - -L0041: - LCALL L0048 - MOV 39h, R6 - MOV 3Ah, R7 - LCALL L0049 - MOV 38h, R7 - MOV A, 38h - JNB ACC.1, L0050 - ORL 39h, #80h -L0050: - MOV A, 38h - RRC A - RRC A - ANL A, #3Fh - MOV 38h, A - RET - - DB 053h - DB 01Ah - DB 0EFh - DB 090h - DB 0D0h - DB 00h - DB 0E5h - DB 01Ah - DB 0F0h - DB 07Fh - DB 05h - DB 012h - DB 0Ch - DB 0D0h - DB 012h - DB 0Bh - DB 0D7h - DB 043h - DB 01Ah - DB 010h - DB 090h - DB 0D0h - DB 00h - DB 0E5h - DB 01Ah - DB 0F0h - DB 022h -L0029: - LCALL L0185 - LCALL L0186 -L0256: - MOV DPTR, #0D000h - MOVX A, @DPTR - JB ACC.1, L0255 - LCALL L0024 - LCALL L0077 - SJMP L0256 - -L0255: - RET - -L0034: - LCALL L0041 - LCALL L0042 - MOV A, 9h - JNZ L0043 - MOV A, 0Ah - JNZ L0043 - MOV A, 0Bh - JNZ L0043 - LCALL L0044 -L0043: - RET - -L0188: - MOV 31h, R5 - MOV 32h, R3 - LCALL L0067 - MOV R7, 31h - LCALL L0067 - MOV R7, 32h - LCALL L0067 - MOV R7, 33h - LJMP L0067 - -L0190: - ANL 1Ah, #0EFh - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - LCALL L0067 - ORL 1Ah, #10h - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - RET - -L0195: - LCALL L0058 - LCALL L0059 - CLR A - MOV R3, A - MOV R5, #0D0h - MOV R7, 34h - LCALL L0201 - LCALL L0061 - LJMP L0062 - -L0033: - ANL 1Ah, #0FBh - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - ANL 1Ah, #0FDh - MOV A, 1Ah - MOVX @DPTR, A - MOV R7, #3Ch - LJMP L0065 - -L0025: - JNB 9h, L0183 - LCALL L0121 - JC L0183 - CLR P1.2 - CLR P1.3 - CLR 9h - LCALL L0184 -L0183: - RET - -L0177: - MOV C, 1Fh - MOV 21h, C - MOV 30h, 2Fh - MOV C, 20h - MOV 22h, C - CLR 23h - CLR 24h - LJMP L0178 - -L0106: - MOV A, R7 - SWAP A - ANL A, #0Fh - MOV DPTR, #0353h - MOVC A, @A+DPTR - MOV R6, A - MOV A, R7 - ANL A, #0Fh - MOVC A, @A+DPTR - ADD A, R6 - MOV R7, A - RET - -L0018: - MOV DPTR, #0E000h - MOVX A, @DPTR - ORL A, #2h - ANL A, #0FEh - MOV R6, A - MOVX @DPTR, A - ANL A, #0FDh - MOVX @DPTR, A - MOV A, R6 - MOVX @DPTR, A - RET - -L0062: - LCALL L0059 - LCALL L0063 - MOV 1Bh, C - LCALL L0061 - JB 1Bh, L0062 - RET - -L0099: - JNB 5h, L0101 - JB 0Eh, L0101 - JB 2h, L0101 - SETB C - SJMP L0102 - -L0101: - CLR C -L0102: - RET - -L0037: - JNB 3h, L0104 - JB 0Ah, L0104 - JB 2h, L0104 - SETB C - SJMP L0105 - -L0104: - CLR C -L0105: - RET - -L0240: - MOV R2, 6h - MOV A, R2 - ADD A, #0D0h - MOV R5, A - MOV A, R7 - MOV R3, A - MOV R7, 34h - LCALL L0249 - RET - -L0250: - MOV A, R7 - ADD A, #0FEh - MOV R3, A - MOV R5, #0EFh - MOV R7, 34h - LCALL L0249 - RET - -L0082: - SETB 2h - SETB 0Dh - CLR P1.6 - SETB 10h - CLR P1.4 - RET - -L0019: - MOV A, R7 - MOV DPTR, #02C9h - MOVC A, @A+DPTR - XRL A, R5 - JZ L0257 -L0258: - SJMP L0258 - -L0257: - RET - -L0098: - LCALL L0099 - JNC L0100 - CLR 10h - SETB P1.4 -L0100: - RET - -L0097: - LCALL L0037 - JNC L0103 - CLR 0Dh - SETB P1.6 -L0103: - RET - -L0020: - MOV A, TMOD - ANL A, #0F0h - ORL A, #1h - MOV TMOD, A - RET - -L0109: - JNB TF0, L0123 - CLR TR0 - SETB C - RET - -L0123: - CLR C - RET - - DB 030h - DB 0CFh - DB 04h - DB 0C2h - DB 0CAh - DB 0D3h - DB 022h - DB 0C3h - DB 022h -L0058: - LCALL L0059 - LCALL L0189 - LJMP L0061 - -L0184: - LCALL L0138 -L0139: - CLR 0Eh - LJMP L0098 - -L0095: - CLR 2h - LCALL L0097 - LJMP L0098 - -L0159: - CLR 5h - SETB 10h - CLR P1.4 - RET - -L0162: - CLR 3h - SETB 0Dh - CLR P1.6 - RET - -L0045: - MOV DPTR, #0D000h - MOV A, 1Ah - MOVX @DPTR, A - RET - -L0059: - JNB 28h, L0074 - LCALL L0075 -L0074: - RET - -L0061: - JNB 28h, L0064 - LCALL L0033 -L0064: - RET - -L0121: - MOV DPTR, #0E000h - MOVX A, @DPTR - RRC A - RET - -L0039: - ANL 1Ah, #0FEh - LJMP L0045 - -L0040: - ORL 1Ah, #1h - LJMP L0045 - - DB 053h - DB 01Ah - DB 0FDh - DB 02h - DB 0Eh - DB 09Bh -L0185: - ORL 1Ah, #2h - LJMP L0045 - - DB 053h - DB 01Ah - DB 0FBh - DB 02h - DB 0Eh - DB 09Bh -L0186: - ORL 1Ah, #4h - LJMP L0045 - -L0044: - ANL 1Ah, #7Fh - LJMP L0045 - - DB 043h - DB 01Ah - DB 080h - DB 02h - DB 0Eh - DB 09Bh -L0175: - SETB 5h - LJMP L0098 - -L0138: - CLR 0Ah - LJMP L0097 - -L0174: - SETB 3h - LJMP L0097 - -L0021: - MOV 1Ah, R7 - LJMP L0045 - -L0189: - MOV R7, #6h - LJMP L0190 - - DB 07Fh - DB 04h - DB 02h - DB 0Dh - DB 067h -L0048: - MOV R6, 36h - MOV R7, 37h - RET - - DB 0E4h - DB 0F5h - DB 0C8h - DB 022h -L0235: - LCALL L0254 - RET - -L0173: - CLR 0Bh - RET - -L0167: - SETB 0Bh - RET - -L0172: - CLR 6h - RET - -L0170: - SETB 6h - RET - -L0049: - MOV R7, 35h - RET - - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh - DB 0FFh -END diff --git a/vortex86ex/dmp_kbd_fw_part1.inc.txt b/vortex86ex/dmp_kbd_fw_part1.inc.txt deleted file mode 100755 index 486bf1b..0000000 --- a/vortex86ex/dmp_kbd_fw_part1.inc.txt +++ /dev/null @@ -1,531 +0,0 @@ -/* - * This file is part of the coreboot project. - * - * Copyright (C) 2013 DMP Electronics Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - .byte 0x02, 0x04, 0xa3, 0x02, 0x0a, 0xfb, 0xef, 0x75 - .byte 0xf0, 0x03, 0xa4, 0xff, 0xae, 0x07, 0x1f, 0xee - .byte 0x70, 0xfa, 0x22, 0x02, 0x0a, 0xd5, 0x12, 0x09 - .byte 0x5e, 0x7f, 0x30, 0x12, 0x05, 0xfb, 0x90, 0xe0 - .byte 0x00, 0x74, 0x16, 0xf0, 0x12, 0x0d, 0xda, 0xc2 - .byte 0x92, 0xc2, 0x93, 0xc2, 0x90, 0xd2, 0x91, 0xd2 - .byte 0xb8, 0xd2, 0xba, 0xd2, 0x88, 0xd2, 0xa8, 0xd2 - .byte 0x8a, 0xd2, 0xaa, 0x7d, 0x44, 0xe4, 0xff, 0x12 - .byte 0x0e, 0x3a, 0x7d, 0x4d, 0x0f, 0x12, 0x0e, 0x3a - .byte 0x7d, 0x26, 0x0f, 0x12, 0x0e, 0x3a, 0x7d, 0x50 - .byte 0x0f, 0x12, 0x0e, 0x3a, 0x12, 0x0e, 0x59, 0xd2 - .byte 0xaf, 0x7f, 0xb1, 0x12, 0x0e, 0xf5, 0x90, 0x0f - .byte 0xfe, 0xe4, 0x93, 0xff, 0xb4, 0x55, 0x0a, 0xa3 - .byte 0xe4, 0x93, 0xb4, 0xaa, 0x04, 0xd2, 0x08, 0x80 - .byte 0x10, 0xef, 0xb4, 0x12, 0x0c, 0x90, 0x0f, 0xff - .byte 0xe4, 0x93, 0xb4, 0x34, 0x04, 0xc2, 0x08, 0xc2 - .byte 0x12, 0x12, 0x03, 0x6c, 0x12, 0x0d, 0xa6, 0x12 - .byte 0x01, 0x08, 0x30, 0x01, 0x27, 0x30, 0x12, 0x1f - .byte 0x20, 0x00, 0x1c, 0x30, 0x11, 0x19, 0x12, 0x0d - .byte 0x25, 0x12, 0x09, 0xc4, 0x30, 0x08, 0x05, 0xc2 - .byte 0x1a, 0x12, 0x0a, 0x26, 0x12, 0x0d, 0x92, 0xd2 - .byte 0x00, 0x12, 0x0d, 0x3b, 0x12, 0x07, 0xc2, 0x12 - .byte 0x0d, 0xda, 0xc2, 0x01, 0x12, 0x03, 0x6c, 0x12 - .byte 0x07, 0x2e, 0x30, 0x12, 0xc4, 0x30, 0x00, 0xc1 - .byte 0x90, 0xd0, 0x00, 0xe0, 0x30, 0xe0, 0xba, 0xc2 - .byte 0xaf, 0x12, 0x0e, 0x07, 0x50, 0x0e, 0x12, 0x0e - .byte 0xb6, 0x12, 0x0e, 0xbc, 0xd2, 0x1a, 0x12, 0x0a - .byte 0x26, 0x12, 0x0d, 0x3b, 0xd2, 0xaf, 0x80, 0xa1 - .byte 0xae, 0x03, 0xab, 0x05, 0x53, 0x1a, 0xef, 0x90 - .byte 0xd0, 0x00, 0xe5, 0x1a, 0xf0, 0xad, 0x07, 0x8e - .byte 0x33, 0x7f, 0x20, 0x12, 0x0d, 0x51, 0x43, 0x1a - .byte 0x10, 0x90, 0xd0, 0x00, 0xe5, 0x1a, 0xf0, 0x22 - .byte 0xda, 0x7e, 0x10, 0x09, 0x14, 0x12, 0x0d, 0xa6 - .byte 0x90, 0xe0, 0x00, 0xe0, 0xff, 0x20, 0xe1, 0x03 - .byte 0x02, 0x02, 0xc8, 0xc2, 0xa8, 0xc2, 0xaa, 0x20 - .byte 0x04, 0x03, 0x30, 0x07, 0x05, 0xd2, 0xa8, 0xd2 - .byte 0xaa, 0x22, 0xef, 0xa2, 0xe3, 0x92, 0x1c, 0x90 - .byte 0xf0, 0x00, 0xe0, 0xf5, 0x2c, 0x12, 0x0e, 0x2f - .byte 0xd2, 0xa8, 0xd2, 0xaa, 0x30, 0x1c, 0x03, 0x02 - .byte 0x01, 0xee, 0xc2, 0x1d, 0xc2, 0x1e, 0x20, 0x17 - .byte 0x03, 0x02, 0x01, 0xd4, 0xe5, 0x18, 0x24, 0xe1 - .byte 0x60, 0x3b, 0x24, 0x54, 0x70, 0x03, 0x02, 0x01 - .byte 0xd0, 0x24, 0xfa, 0x60, 0x14, 0x14, 0x60, 0x1e - .byte 0x14, 0x60, 0x1f, 0x14, 0x60, 0x23, 0x24, 0x74 - .byte 0x70, 0x6c, 0xaf, 0x2c, 0x12, 0x05, 0xfb, 0x80 - .byte 0x67, 0xe5, 0x2c, 0x30, 0xe1, 0x04, 0xd2, 0x90 - .byte 0x80, 0x5e, 0xc2, 0x90, 0x80, 0x5a, 0xc2, 0x1f - .byte 0x80, 0x02, 0xd2, 0x1f, 0x85, 0x2c, 0x2f, 0x80 - .byte 0x46, 0xd2, 0x1e, 0x80, 0x4b, 0xe5, 0x2c, 0x70 - .byte 0x1a, 0x12, 0x0c, 0xed, 0x12, 0x08, 0xf2, 0x85 - .byte 0x38, 0x12, 0x85, 0x39, 0x13, 0x85, 0x3a, 0x14 - .byte 0x85, 0x09, 0x15, 0x85, 0x0a, 0x16, 0x85, 0x0b - .byte 0x17, 0x80, 0x2d, 0xe5, 0x2c, 0xc3, 0x94, 0x01 - .byte 0x40, 0x13, 0xe5, 0x2c, 0xd3, 0x94, 0x06, 0x50 - .byte 0x0c, 0xc2, 0x1f, 0x74, 0x11, 0x25, 0x2c, 0xf8 - .byte 0xe6, 0xf5, 0x2f, 0x80, 0x0a, 0xe5, 0x2c, 0xb4 - .byte 0x07, 0x0e, 0xc2, 0x1f, 0x85, 0x3b, 0x2f, 0xd2 - .byte 0x20, 0x12, 0x0d, 0xb8, 0x80, 0x02, 0xd2, 0x1d - .byte 0xc2, 0x17, 0x80, 0x02, 0xd2, 0x1d, 0x30, 0x1d - .byte 0x07, 0xaf, 0x2c, 0x12, 0x05, 0x2f, 0x80, 0x08 - .byte 0x30, 0x1e, 0x05, 0xaf, 0x2c, 0x12, 0x05, 0x97 - .byte 0x12, 0x0e, 0x85, 0x02, 0x02, 0xc2, 0xc2, 0x1d - .byte 0xe5, 0x2c, 0x12, 0x0b, 0x21, 0x02, 0xb7, 0x1f - .byte 0x02, 0x35, 0x20, 0x02, 0xb7, 0x60, 0x02, 0x56 - .byte 0xa7, 0x02, 0x5d, 0xa8, 0x02, 0x64, 0xa9, 0x02 - .byte 0x48, 0xaa, 0x02, 0x64, 0xab, 0x02, 0x6d, 0xad - .byte 0x02, 0x74, 0xae, 0x02, 0x41, 0xc0, 0x02, 0xb7 - .byte 0xcb, 0x02, 0x7b, 0xd0, 0x02, 0xb7, 0xd1, 0x02 - .byte 0xb7, 0xd2, 0x02, 0xb7, 0xd3, 0x02, 0xb7, 0xd4 - .byte 0x02, 0x98, 0xdd, 0x02, 0x8d, 0xdf, 0x02, 0xa8 - .byte 0xfe, 0x00, 0x00, 0x02, 0xb5, 0x12, 0x0a, 0x83 - .byte 0x8f, 0x2d, 0xc2, 0x1f, 0x85, 0x2d, 0x2f, 0x80 - .byte 0x28, 0xc2, 0x1f, 0x75, 0x2f, 0xff, 0x80, 0x21 - .byte 0x7f, 0x30, 0x12, 0x05, 0xfb, 0xc2, 0x1f, 0x75 - .byte 0x2f, 0x55, 0xc2, 0x20, 0x80, 0x4b, 0x12, 0x0e - .byte 0x8d, 0xd2, 0x1d, 0x80, 0x5a, 0x12, 0x0e, 0xe6 - .byte 0xd2, 0x1d, 0x80, 0x53, 0xc2, 0x1f, 0xe4, 0xf5 - .byte 0x2f, 0xd2, 0x20, 0x80, 0x34, 0x12, 0x0e, 0x94 - .byte 0xd2, 0x1d, 0x80, 0x43, 0x12, 0x0e, 0xf0, 0xd2 - .byte 0x1d, 0x80, 0x3c, 0x75, 0x2e, 0x01, 0x30, 0x90 - .byte 0x03, 0x43, 0x2e, 0x02, 0xc2, 0x1f, 0x85, 0x2e - .byte 0x2f, 0xd2, 0x20, 0x80, 0x14, 0xd2, 0x90, 0xc2 - .byte 0x1f, 0x85, 0x0f, 0x2f, 0xd2, 0x20, 0x80, 0x09 - .byte 0xc2, 0x90, 0xc2, 0x1f, 0x85, 0x0f, 0x2f, 0xd2 - .byte 0x20, 0x12, 0x0d, 0xb8, 0xd2, 0x1d, 0x80, 0x0f - .byte 0xc2, 0x91, 0x7f, 0x05, 0x12, 0x00, 0x06, 0xd2 - .byte 0x91, 0xd2, 0x1d, 0x80, 0x02, 0xd2, 0x1d, 0x30 - .byte 0x1d, 0x03, 0x12, 0x0e, 0x85, 0xd2, 0x17, 0x85 - .byte 0x2c, 0x18, 0x20, 0x01, 0x03, 0x12, 0x0d, 0xda - .byte 0x22, 0x44, 0x4d, 0x26, 0x50, 0x00, 0xff, 0x43 - .byte 0x41, 0x3f, 0x3d, 0x3b, 0x3c, 0x58, 0x64, 0x44 - .byte 0x42, 0x40, 0x3e, 0x0f, 0x29, 0x59, 0x65, 0x38 - .byte 0x2a, 0x70, 0x1d, 0x10, 0x02, 0x5a, 0x66, 0x71 - .byte 0x2c, 0x1f, 0x1e, 0x11, 0x03, 0x5b, 0x67, 0x2e - .byte 0x2d, 0x20, 0x12, 0x05, 0x04, 0x5c, 0x68, 0x39 - .byte 0x2f, 0x21, 0x14, 0x13, 0x06, 0x5d, 0x69, 0x31 - .byte 0x30, 0x23, 0x22, 0x15, 0x07, 0x5e, 0x6a, 0x72 - .byte 0x32, 0x24, 0x16, 0x08, 0x09, 0x5f, 0x6b, 0x33 - .byte 0x25, 0x17, 0x18, 0x0b, 0x0a, 0x60, 0x6c, 0x34 - .byte 0x35, 0x26, 0x27, 0x19, 0x0c, 0x61, 0x6d, 0x73 - .byte 0x28, 0x74, 0x1a, 0x0d, 0x62, 0x6e, 0x3a, 0x36 - .byte 0x1c, 0x1b, 0x75, 0x2b, 0x63, 0x76, 0x55, 0x56 - .byte 0x77, 0x78, 0x79, 0x7a, 0x0e, 0x7b, 0x7c, 0x4f - .byte 0x7d, 0x4b, 0x47, 0x7e, 0x7f, 0x6f, 0x52, 0x53 - .byte 0x50, 0x4c, 0x4d, 0x48, 0x01, 0x45, 0x57, 0x4e - .byte 0x51, 0x4a, 0x37, 0x49, 0x46, 0x54, 0x00, 0x00 - .byte 0x00, 0x41, 0x54, 0x00, 0x01, 0x01, 0x02, 0x01 - .byte 0x02, 0x02, 0x03, 0x01, 0x02, 0x02, 0x03, 0x02 - .byte 0x03, 0x03, 0x04, 0x14, 0x23, 0x14, 0x3a, 0x14 - .byte 0x4d, 0x42, 0x32, 0x23, 0x20, 0x0c, 0x03, 0x02 - .byte 0x04, 0x08, 0xc2, 0x1a, 0xc2, 0x1b, 0xe5, 0x10 - .byte 0x30, 0xe7, 0x57, 0xe5, 0x11, 0xae, 0x10, 0x78 - .byte 0x06, 0xce, 0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9 - .byte 0xf5, 0x26, 0xff, 0x12, 0x0d, 0xca, 0x8f, 0x27 - .byte 0xe5, 0x10, 0xc4, 0x13, 0x13, 0x54, 0x03, 0xff - .byte 0xe5, 0x27, 0x54, 0x01, 0xb5, 0x07, 0x05, 0xe4 - .byte 0x7f, 0x01, 0x80, 0x02, 0x7f, 0x00, 0xef, 0x30 - .byte 0xe0, 0x04, 0xd2, 0x1b, 0x80, 0x24, 0x20, 0x13 - .byte 0x1f, 0xaf, 0x26, 0x12, 0x07, 0x79, 0xaf, 0x26 - .byte 0x12, 0x09, 0xf6, 0x8e, 0x28, 0x8f, 0x29, 0xe5 - .byte 0x29, 0xf4, 0x70, 0x03, 0xe5, 0x28, 0xf4, 0x60 - .byte 0x09, 0x85, 0x29, 0x26, 0xd2, 0x1a, 0x80, 0x02 - .byte 0xd2, 0x1a, 0x30, 0x1a, 0x1b, 0xc2, 0x27, 0x7f - .byte 0x07, 0x12, 0x0b, 0x6c, 0xc2, 0x27, 0x7f, 0x06 - .byte 0x12, 0x0b, 0x6c, 0xa2, 0x13, 0x92, 0x25, 0x85 - .byte 0x26, 0x31, 0x12, 0x08, 0xbb, 0xc2, 0x0c, 0x22 - .byte 0x30, 0x1b, 0x10, 0xa2, 0x13, 0x92, 0x21, 0x75 - .byte 0x30, 0xff, 0xd2, 0x22, 0xc2, 0x23, 0xd2, 0x24 - .byte 0x02, 0x06, 0xee, 0xc2, 0x0c, 0x12, 0x0e, 0x7d - .byte 0x22, 0xe4, 0xf5, 0x26, 0xf5, 0x27, 0x75, 0x28 - .byte 0x0f, 0x75, 0x29, 0xff, 0xe5, 0x27, 0x25, 0x29 - .byte 0xff, 0xe5, 0x26, 0x35, 0x28, 0xc3, 0x13, 0xf5 - .byte 0x2a, 0xef, 0x13, 0xf5, 0x2b, 0xff, 0xae, 0x2a - .byte 0x12, 0x0e, 0x15, 0xbf, 0xff, 0x0e, 0xe5, 0x2b - .byte 0x24, 0xff, 0xf5, 0x29, 0xe5, 0x2a, 0x34, 0xff - .byte 0xf5, 0x28, 0x80, 0x47, 0xef, 0x70, 0x0d, 0xe5 - .byte 0x2b, 0x24, 0x01, 0xf5, 0x27, 0xe4, 0x35, 0x2a - .byte 0xf5, 0x26, 0x80, 0x37, 0x75, 0x2c, 0xff, 0xe4 - .byte 0xf5, 0x2d, 0xe5, 0x2c, 0xc3, 0x13, 0xf5, 0x2c - .byte 0xb5, 0x07, 0x1c, 0xe5, 0x2b, 0xae, 0x2a, 0x78 - .byte 0x03, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8, 0xf9 - .byte 0x7c, 0x00, 0x25, 0x2d, 0xff, 0xec, 0x3e, 0xcf - .byte 0x24, 0x01, 0xcf, 0x34, 0x00, 0xfe, 0x22, 0x05 - .byte 0x2d, 0xe5, 0x2d, 0xb4, 0x07, 0xd4, 0x7e, 0xff - .byte 0x7f, 0xff, 0x22, 0xd3, 0xe5, 0x27, 0x95, 0x29 - .byte 0xe5, 0x28, 0x64, 0x80, 0xf8, 0xe5, 0x26, 0x64 - .byte 0x80, 0x98, 0x40, 0x80, 0xe5, 0x27, 0xae, 0x26 - .byte 0x78, 0x03, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8 - .byte 0xf9, 0xff, 0x22, 0x78, 0x7f, 0xe4, 0xf6, 0xd8 - .byte 0xfd, 0x75, 0x81, 0x3b, 0x02, 0x04, 0xea, 0x02 - .byte 0x00, 0x16, 0xe4, 0x93, 0xa3, 0xf8, 0xe4, 0x93 - .byte 0xa3, 0x40, 0x03, 0xf6, 0x80, 0x01, 0xf2, 0x08 - .byte 0xdf, 0xf4, 0x80, 0x29, 0xe4, 0x93, 0xa3, 0xf8 - .byte 0x54, 0x07, 0x24, 0x0c, 0xc8, 0xc3, 0x33, 0xc4 - .byte 0x54, 0x0f, 0x44, 0x20, 0xc8, 0x83, 0x40, 0x04 - .byte 0xf4, 0x56, 0x80, 0x01, 0x46, 0xf6, 0xdf, 0xe4 - .byte 0x80, 0x0b, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20 - .byte 0x40, 0x80, 0x90, 0x08, 0x80, 0xe4, 0x7e, 0x01 - .byte 0x93, 0x60, 0xbc, 0xa3, 0xff, 0x54, 0x3f, 0x30 - .byte 0xe5, 0x09, 0x54, 0x1f, 0xfe, 0xe4, 0x93, 0xa3 - .byte 0x60, 0x01, 0x0e, 0xcf, 0x54, 0xc0, 0x25, 0xe0 - .byte 0x60, 0xa8, 0x40, 0xb8, 0xe4, 0x93, 0xa3, 0xfa - .byte 0xe4, 0x93, 0xa3, 0xf8, 0xe4, 0x93, 0xa3, 0xc8 - .byte 0xc5, 0x82, 0xc8, 0xca, 0xc5, 0x83, 0xca, 0xf0 - .byte 0xa3, 0xc8, 0xc5, 0x82, 0xc8, 0xca, 0xc5, 0x83 - .byte 0xca, 0xdf, 0xe9, 0xde, 0xe7, 0x80, 0xbe, 0xd2 - .byte 0x0d, 0xc2, 0x96, 0xd2, 0x0e, 0xd2, 0x10, 0xc2 - .byte 0x94, 0x8f, 0x08, 0x12, 0x0d, 0xca, 0xef, 0x13 - .byte 0xb3, 0x92, 0x14, 0xd2, 0x16, 0xe4, 0xf5, 0x0c - .byte 0x7f, 0x28, 0x12, 0x00, 0x06, 0xc2, 0x97, 0xd2 - .byte 0x03, 0xc2, 0x0a, 0x7f, 0xe8, 0x7e, 0xfd, 0x12 - .byte 0x0c, 0x79, 0xc2, 0x0d, 0xd2, 0x96, 0x30, 0x16 - .byte 0x16, 0x12, 0x0e, 0x62, 0x50, 0xf8, 0xc2, 0xaf - .byte 0xd2, 0x97, 0xc2, 0x21, 0x12, 0x06, 0xe5, 0xc2 - .byte 0x16, 0xe4, 0xf5, 0x0c, 0xd2, 0xaf, 0x22, 0x7f - .byte 0xe8, 0x7e, 0xfd, 0x12, 0x0c, 0x79, 0x20, 0x04 - .byte 0x12, 0x20, 0x0a, 0x0f, 0x12, 0x0e, 0x62, 0x50 - .byte 0xf5, 0xc2, 0xaf, 0xc2, 0x21, 0x12, 0x06, 0xe5 - .byte 0xd2, 0xaf, 0x22, 0x12, 0x07, 0x2e, 0x22, 0xd2 - .byte 0x10, 0xc2, 0x94, 0xd2, 0x0a, 0xd2, 0x0d, 0xc2 - .byte 0x96, 0x8f, 0x08, 0x12, 0x0d, 0xca, 0xef, 0x13 - .byte 0xb3, 0x92, 0x14, 0xd2, 0x16, 0xe4, 0xf5, 0x0e - .byte 0x7f, 0x28, 0x12, 0x00, 0x06, 0xc2, 0x95, 0xd2 - .byte 0x05, 0xc2, 0x0e, 0x7f, 0xe8, 0x7e, 0xfd, 0x12 - .byte 0x0c, 0x79, 0xc2, 0x10, 0xd2, 0x94, 0x30, 0x16 - .byte 0x14, 0x12, 0x0e, 0x62, 0x50, 0xf8, 0xc2, 0xaf - .byte 0xd2, 0x95, 0x12, 0x06, 0xe3, 0xc2, 0x16, 0xe4 - .byte 0xf5, 0x0e, 0xd2, 0xaf, 0x22, 0x7f, 0xe8, 0x7e - .byte 0xfd, 0x12, 0x0c, 0x79, 0x20, 0x07, 0x10, 0x20 - .byte 0x0e, 0x0d, 0x12, 0x0e, 0x62, 0x50, 0xf5, 0xc2 - .byte 0xaf, 0x12, 0x06, 0xe3, 0xd2, 0xaf, 0x22, 0x12 - .byte 0x07, 0x2e, 0x22, 0xad, 0x07, 0xed, 0x30, 0xe6 - .byte 0x04, 0xd2, 0x0f, 0x80, 0x02, 0xc2, 0x0f, 0xed - .byte 0x30, 0xe5, 0x05, 0x12, 0x0e, 0x8d, 0x80, 0x03 - .byte 0x12, 0x0e, 0xe6, 0xed, 0x30, 0xe4, 0x05, 0x12 - .byte 0x0e, 0x94, 0x80, 0x03, 0x12, 0x0e, 0xf0, 0xed - .byte 0x30, 0xe2, 0x04, 0xd2, 0x27, 0x80, 0x02, 0xc2 - .byte 0x27, 0x7f, 0x02, 0x12, 0x0b, 0x6c, 0xed, 0x30 - .byte 0xe1, 0x05, 0x12, 0x0f, 0x14, 0x80, 0x03, 0x12 - .byte 0x0f, 0x11, 0xed, 0x30, 0xe0, 0x0b, 0x12, 0x0f - .byte 0x1a, 0x20, 0x11, 0x08, 0xd2, 0x11, 0xd2, 0x01 - .byte 0x22, 0x12, 0x0f, 0x17, 0x22, 0x7f, 0x02, 0x12 - .byte 0x00, 0x06, 0x20, 0x94, 0x42, 0xa2, 0x95, 0x92 - .byte 0x18, 0x05, 0x0e, 0xe5, 0x0e, 0xb4, 0x01, 0x12 - .byte 0x20, 0x18, 0x0a, 0xd2, 0x07, 0xd2, 0x0a, 0xd2 - .byte 0x0d, 0xc2, 0x96, 0x80, 0x19, 0xe4, 0xf5, 0x0e - .byte 0x80, 0x14, 0xe5, 0x0e, 0xb4, 0x0b, 0x0f, 0xd2 - .byte 0x0e, 0xd2, 0x10, 0xc2, 0x94, 0xd2, 0x13, 0xd2 - .byte 0x0c, 0xe4, 0xf5, 0x0e, 0xc2, 0x07, 0xe5, 0x10 - .byte 0xc3, 0x13, 0xf5, 0x10, 0xe5, 0x11, 0x13, 0xf5 - .byte 0x11, 0x30, 0x18, 0x03, 0x43, 0x10, 0x80, 0x22 - .byte 0x7f, 0x02, 0x12, 0x00, 0x06, 0x20, 0x96, 0x42 - .byte 0xa2, 0x97, 0x92, 0x19, 0x05, 0x0c, 0xe5, 0x0c - .byte 0xb4, 0x01, 0x12, 0x20, 0x19, 0x0a, 0xd2, 0x04 - .byte 0xd2, 0x0e, 0xd2, 0x10, 0xc2, 0x94, 0x80, 0x19 - .byte 0xe4, 0xf5, 0x0c, 0x80, 0x14, 0xe5, 0x0c, 0xb4 - .byte 0x0b, 0x0f, 0xd2, 0x0a, 0xd2, 0x0d, 0xc2, 0x96 - .byte 0xc2, 0x13, 0xd2, 0x0c, 0xe4, 0xf5, 0x0c, 0xc2 - .byte 0x04, 0xe5, 0x10, 0xc3, 0x13, 0xf5, 0x10, 0xe5 - .byte 0x11, 0x13, 0xf5, 0x11, 0x30, 0x19, 0x03, 0x43 - .byte 0x10, 0x80, 0x22, 0xd2, 0x21, 0x75, 0x30, 0xfe - .byte 0xd2, 0x22, 0xd2, 0x23, 0xc2, 0x24, 0xd2, 0x0a - .byte 0xd2, 0x0d, 0xc2, 0x96, 0xd2, 0x0e, 0xd2, 0x10 - .byte 0xc2, 0x94, 0xa2, 0x23, 0x92, 0x27, 0x7f, 0x06 - .byte 0x12, 0x0b, 0x6c, 0xa2, 0x24, 0x92, 0x27, 0x7f - .byte 0x07, 0x12, 0x0b, 0x6c, 0x30, 0x22, 0x0c, 0xa2 - .byte 0x21, 0x92, 0x25, 0x85, 0x30, 0x31, 0x12, 0x08 - .byte 0xbb, 0x80, 0x10, 0xa2, 0x21, 0x92, 0x26, 0x85 - .byte 0x30, 0x32, 0x12, 0x0b, 0xf9, 0xc2, 0x92, 0xc2 - .byte 0x93, 0xd2, 0x09, 0xc2, 0x0c, 0x22, 0x20, 0x04 - .byte 0x03, 0x30, 0x07, 0x44, 0x7f, 0xe8, 0x7e, 0xfd - .byte 0x12, 0x0c, 0x79, 0x20, 0x04, 0x03, 0x30, 0x07 - .byte 0x37, 0x12, 0x0e, 0x62, 0x50, 0xf5, 0xc2, 0xaf - .byte 0x20, 0x04, 0x03, 0x30, 0x07, 0x26, 0x30, 0x04 - .byte 0x04, 0xc2, 0x1f, 0x80, 0x02, 0xd2, 0x1f, 0xe4 - .byte 0xf5, 0x0c, 0xc2, 0x04, 0xf5, 0x0e, 0xc2, 0x07 - .byte 0x12, 0x0e, 0xeb, 0x12, 0x0e, 0x80, 0xd2, 0xaf - .byte 0xa2, 0x1f, 0x92, 0x21, 0x75, 0x30, 0xff, 0x12 - .byte 0x06, 0xe8, 0x80, 0xc7, 0xd2, 0xaf, 0x80, 0xc3 - .byte 0x22, 0xe5, 0x19, 0x60, 0x03, 0xb4, 0x02, 0x09 - .byte 0xe5, 0x0d, 0x90, 0x03, 0x63, 0x93, 0x6f, 0x60 - .byte 0x0b, 0xe5, 0x19, 0x64, 0x01, 0x70, 0x2d, 0xef - .byte 0x64, 0xf0, 0x70, 0x28, 0x05, 0x19, 0xe5, 0x19 - .byte 0xd3, 0x94, 0x02, 0x40, 0x24, 0xe4, 0xf5, 0x19 - .byte 0x05, 0x0d, 0xe5, 0x0d, 0x94, 0x09, 0x40, 0x19 - .byte 0x75, 0x2a, 0x05, 0xe4, 0xff, 0x12, 0x0c, 0x3b - .byte 0x7f, 0x07, 0x12, 0x0c, 0x3b, 0xd5, 0x2a, 0xf3 - .byte 0xe4, 0xf5, 0x0d, 0x22, 0xe4, 0xf5, 0x0d, 0xf5 - .byte 0x19, 0x22, 0xe5, 0x3b, 0x64, 0x15, 0x70, 0x41 - .byte 0x12, 0x0c, 0xed, 0xe5, 0x3a, 0x30, 0xe0, 0x05 - .byte 0x75, 0x26, 0x80, 0x80, 0x03, 0xe4, 0xf5, 0x26 - .byte 0xe5, 0x3a, 0xc3, 0x13, 0xf5, 0x3a, 0xe5, 0x39 - .byte 0x30, 0xe0, 0x03, 0x43, 0x3a, 0x80, 0xe5, 0x39 - .byte 0xc3, 0x13, 0xf5, 0x39, 0xe5, 0x38, 0x30, 0xe0 - .byte 0x03, 0x43, 0x39, 0x80, 0xc2, 0xb6, 0x90, 0xd0 - .byte 0x01, 0xe4, 0xf0, 0xa3, 0xe5, 0x26, 0xf0, 0xa3 - .byte 0xe5, 0x3a, 0xf0, 0xa3, 0xe5, 0x39, 0xf0, 0xd2 - .byte 0xb6, 0x22, 0x20, 0x94, 0x37, 0x05, 0x0e, 0xe5 - .byte 0x0e, 0xd3, 0x94, 0x08, 0x50, 0x12, 0xe5, 0x08 - .byte 0x30, 0xe0, 0x04, 0xd2, 0x95, 0x80, 0x02, 0xc2 - .byte 0x95, 0xe5, 0x08, 0xc3, 0x13, 0xf5, 0x08, 0x22 - .byte 0xe5, 0x0e, 0xb4, 0x09, 0x05, 0xa2, 0x14, 0x92 - .byte 0x95, 0x22, 0xe5, 0x0e, 0xb4, 0x0a, 0x03, 0xd2 - .byte 0x95, 0x22, 0xe5, 0x0e, 0xb4, 0x0b, 0x05, 0xc2 - .byte 0x16, 0xe4, 0xf5, 0x0e, 0x22, 0x20, 0x96, 0x37 - .byte 0x05, 0x0c, 0xe5, 0x0c, 0xd3, 0x94, 0x08, 0x50 - .byte 0x12, 0xe5, 0x08, 0x30, 0xe0, 0x04, 0xd2, 0x97 - .byte 0x80, 0x02, 0xc2, 0x97, 0xe5, 0x08, 0xc3, 0x13 - .byte 0xf5, 0x08, 0x22, 0xe5, 0x0c, 0xb4, 0x09, 0x05 - .byte 0xa2, 0x14, 0x92, 0x97, 0x22, 0xe5, 0x0c, 0xb4 - .byte 0x0a, 0x03, 0xd2, 0x97, 0x22, 0xe5, 0x0c, 0xb4 - .byte 0x0b, 0x05, 0xc2, 0x16, 0xe4, 0xf5, 0x0c, 0x22 - .byte 0x01, 0x0c, 0x00, 0xc1, 0x04, 0xc1, 0x0a, 0xc1 - .byte 0x83, 0xc1, 0x0c, 0xc1, 0x09, 0xc1, 0x02, 0xc1 - .byte 0x16, 0xc1, 0x08, 0x01, 0x0e, 0x00, 0xc1, 0x07 - .byte 0xc1, 0x0e, 0xc1, 0x85, 0xc1, 0x8b, 0xc1, 0x86 - .byte 0xc1, 0x8f, 0xc1, 0x12, 0xc1, 0x00, 0xc1, 0x11 - .byte 0xc1, 0x01, 0xc1, 0x17, 0x01, 0x0d, 0x00, 0x01 - .byte 0x19, 0x00, 0x01, 0x1a, 0x00, 0x01, 0x34, 0x03 - .byte 0xc1, 0x29, 0x00, 0xa2, 0x25, 0x92, 0x26, 0x85 - .byte 0x31, 0x32, 0x12, 0x0b, 0xf9, 0xc2, 0x92, 0xc2 - .byte 0x93, 0x20, 0x25, 0x03, 0x20, 0x06, 0x06, 0x30 - .byte 0x25, 0x1d, 0x30, 0x0b, 0x1a, 0x7f, 0x69, 0x7e - .byte 0x00, 0x12, 0x0c, 0x79, 0x12, 0x0e, 0x62, 0x50 - .byte 0xfb, 0x12, 0x0e, 0xb0, 0x50, 0x09, 0x20, 0x25 - .byte 0x04, 0xd2, 0x92, 0x80, 0x02, 0xd2, 0x93, 0xd2 - .byte 0x09, 0x22, 0x90, 0x0f, 0xfc, 0xe4, 0x93, 0xfe - .byte 0x74, 0x01, 0x93, 0xff, 0xc3, 0x95, 0x3a, 0xf5 - .byte 0x0b, 0xee, 0x95, 0x39, 0xf5, 0x0a, 0x90, 0x0f - .byte 0xfb, 0xe4, 0x93, 0xc3, 0x95, 0x38, 0xf5, 0x09 - .byte 0xc3, 0xef, 0x95, 0x3a, 0xee, 0x95, 0x39, 0x50 - .byte 0x02, 0x15, 0x09, 0xe5, 0x09, 0x30, 0xe7, 0x07 - .byte 0xe4, 0xf5, 0x09, 0xf5, 0x0a, 0xf5, 0x0b, 0x22 - .byte 0x05, 0x35, 0xaf, 0x35, 0xae, 0x07, 0xee, 0x14 - .byte 0x13, 0x13, 0x13, 0x54, 0x1f, 0xfd, 0xee, 0x54 - .byte 0x07, 0xff, 0x70, 0x06, 0xf5, 0x26, 0xf5, 0x27 - .byte 0x80, 0x15, 0x74, 0xff, 0x7e, 0x00, 0xa8, 0x07 - .byte 0x08, 0x80, 0x06, 0xce, 0xa2, 0xe7, 0x13, 0xce - .byte 0x13, 0xd8, 0xf8, 0xf5, 0x27, 0x8e, 0x26, 0xaf - .byte 0x05, 0xad, 0x27, 0x02, 0x0c, 0x5a, 0xe4, 0xff - .byte 0x7e, 0x01, 0xef, 0xc3, 0x94, 0x08, 0x50, 0x27 - .byte 0xef, 0x60, 0x1d, 0x64, 0x01, 0x60, 0x19, 0xef - .byte 0x64, 0x03, 0x60, 0x14, 0xee, 0x44, 0x02, 0x54 - .byte 0xfe, 0x90, 0xe0, 0x00, 0xf0, 0x54, 0xf4, 0xfd - .byte 0xee, 0x54, 0xf4, 0x6d, 0x60, 0x02, 0xd3, 0x22 - .byte 0x0f, 0xee, 0x25, 0xe0, 0xfe, 0x80, 0xd3, 0xc3 - .byte 0x22, 0xad, 0x07, 0xac, 0x06, 0xed, 0x24, 0xff - .byte 0xff, 0xec, 0x34, 0xff, 0xfe, 0xef, 0x78, 0x03 - .byte 0xce, 0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9, 0xff - .byte 0xed, 0x54, 0x07, 0xfd, 0x70, 0x04, 0xf5, 0x26 - .byte 0x80, 0x0d, 0x74, 0xff, 0xa8, 0x05, 0x08, 0x80 - .byte 0x02, 0xc3, 0x13, 0xd8, 0xfc, 0xf5, 0x26, 0xad - .byte 0x26, 0x02, 0x0a, 0xad, 0xc2, 0x28, 0x20, 0x29 - .byte 0x0f, 0x12, 0x0f, 0x0d, 0x8f, 0x3b, 0xe5, 0x3b - .byte 0xb4, 0x15, 0x03, 0x75, 0x34, 0x1f, 0xd2, 0x29 - .byte 0x12, 0x0a, 0x56, 0x8f, 0x35, 0xe5, 0x35, 0x30 - .byte 0xe0, 0x0c, 0x12, 0x0d, 0x7d, 0x12, 0x09, 0x28 - .byte 0xe4, 0xf5, 0x36, 0xf5, 0x37, 0x22, 0x12, 0x04 - .byte 0x09, 0x8e, 0x36, 0x8f, 0x37, 0x22, 0x20, 0x0f - .byte 0x03, 0x7e, 0x00, 0x22, 0xbf, 0xf0, 0x07, 0xd2 - .byte 0x15, 0x7e, 0xff, 0x7f, 0xff, 0x22, 0xef, 0xc3 - .byte 0x94, 0x85, 0x40, 0x03, 0x7e, 0x00, 0x22, 0xef - .byte 0x90, 0x02, 0xce, 0x93, 0xfe, 0x70, 0x02, 0xfe - .byte 0x22, 0x30, 0x15, 0x03, 0x43, 0x06, 0x80, 0xc2 - .byte 0x15, 0xaf, 0x06, 0x7e, 0x00, 0x22, 0xa2, 0x1a - .byte 0x92, 0x28, 0x05, 0x37, 0xe5, 0x37, 0x70, 0x02 - .byte 0x05, 0x36, 0xc3, 0xe5, 0x36, 0x94, 0x80, 0x50 - .byte 0x07, 0xaf, 0x37, 0xae, 0x36, 0x02, 0x09, 0x91 - .byte 0xe5, 0x35, 0xc3, 0x94, 0x10, 0x50, 0x0e, 0x12 - .byte 0x09, 0x28, 0x12, 0x0d, 0x7d, 0x12, 0x09, 0x28 - .byte 0xe4, 0xf5, 0x36, 0xf5, 0x37, 0x22, 0xe4, 0xff - .byte 0x12, 0x0e, 0x23, 0x7e, 0xff, 0xe4, 0xf5, 0x26 - .byte 0xe5, 0x26, 0xb4, 0x08, 0x07, 0x7f, 0x01, 0x12 - .byte 0x0e, 0x23, 0x7e, 0xff, 0xee, 0xb5, 0x07, 0x03 - .byte 0xaf, 0x26, 0x22, 0xee, 0xc3, 0x13, 0xfe, 0x05 - .byte 0x26, 0xe5, 0x26, 0xd3, 0x94, 0x10, 0x40, 0xe0 - .byte 0x7f, 0xff, 0x22, 0xe4, 0xff, 0x30, 0x0f, 0x02 - .byte 0x7f, 0x40, 0x20, 0x05, 0x03, 0x43, 0x07, 0x20 - .byte 0x20, 0x03, 0x03, 0x43, 0x07, 0x10, 0x90, 0xe0 - .byte 0x00, 0xe0, 0x30, 0xe2, 0x03, 0x43, 0x07, 0x04 - .byte 0x30, 0x0b, 0x03, 0x43, 0x07, 0x02, 0x30, 0x06 - .byte 0x03, 0x43, 0x07, 0x01, 0x22, 0x8e, 0x27, 0x8f - .byte 0x28, 0x8d, 0x29, 0x12, 0x0e, 0x74, 0xe5, 0x27 - .byte 0x24, 0xd0, 0xf5, 0x2a, 0xe5, 0x28, 0xf5, 0x2b - .byte 0x12, 0x0e, 0xa2, 0x85, 0x29, 0x2f, 0xab, 0x2b - .byte 0xad, 0x2a, 0xaf, 0x34, 0x12, 0x0b, 0x47, 0x12 - .byte 0x0e, 0xa9, 0x02, 0x0d, 0xea, 0xc0, 0xe0, 0xc0 - .byte 0xf0, 0xc0, 0xd0, 0x75, 0xd0, 0x00, 0xc0, 0x06 - .byte 0xc0, 0x07, 0x20, 0x10, 0x0b, 0x30, 0x16, 0x05 - .byte 0x12, 0x08, 0x0a, 0x80, 0x03, 0x12, 0x06, 0x4d - .byte 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0xd0, 0xd0, 0xf0 - .byte 0xd0, 0xe0, 0x32, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0 - .byte 0xd0, 0x75, 0xd0, 0x00, 0xc0, 0x06, 0xc0, 0x07 - .byte 0x20, 0x0d, 0x0b, 0x30, 0x16, 0x05, 0x12, 0x08 - .byte 0x45, 0x80, 0x03, 0x12, 0x06, 0x98, 0xd0, 0x07 - .byte 0xd0, 0x06, 0xd0, 0xd0, 0xd0, 0xf0, 0xd0, 0xe0 - .byte 0x32, 0xd0, 0x83, 0xd0, 0x82, 0xf8, 0xe4, 0x93 - .byte 0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0d, 0xa3 - .byte 0xa3, 0x93, 0xf8, 0x74, 0x01, 0x93, 0xf5, 0x82 - .byte 0x88, 0x83, 0xe4, 0x73, 0x74, 0x02, 0x93, 0x68 - .byte 0x60, 0xef, 0xa3, 0xa3, 0xa3, 0x80, 0xdf, 0xae - .byte 0x03, 0xab, 0x05, 0x53, 0x1a, 0xef, 0x90, 0xd0 - .byte 0x00, 0xe5, 0x1a, 0xf0, 0xad, 0x07, 0x8e, 0x33 - .byte 0x7f, 0x02, 0x12, 0x0d, 0x51, 0xaf, 0x2f, 0x12 - .byte 0x0c, 0xd0, 0x43, 0x1a, 0x10, 0x90, 0xd0, 0x00 - .byte 0xe5, 0x1a, 0xf0, 0x22, 0x74, 0x01, 0xa8, 0x07 - .byte 0x08, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0xff - .byte 0x90, 0xe0, 0x00, 0xe0, 0x44, 0x02, 0xfe, 0xef - .byte 0x30, 0x27, 0x04, 0x42, 0x06, 0x80, 0x03, 0xf4 - .byte 0x52, 0x06, 0x90, 0xe0, 0x00, 0xee, 0xf0, 0x22 - .byte 0x12, 0x0e, 0x07, 0x40, 0x05, 0x12, 0x01, 0x05 - .byte 0x80, 0xf6, 0x12, 0x0e, 0xc8, 0x12, 0x0e, 0xd4 - .byte 0xc2, 0x1f, 0x75, 0x2f, 0xee, 0xa2, 0x06, 0x92 - .byte 0x20, 0x12, 0x0d, 0xb8, 0x90, 0xd0, 0x00, 0xe0 - .byte 0x30, 0xe1, 0xf9, 0x22, 0xae, 0x03, 0xab, 0x05 - .byte 0x53, 0x1a, 0xef, 0x90, 0xd0, 0x00, 0xe5, 0x1a - .byte 0xf0, 0xad, 0x07, 0x8e, 0x33, 0x7f, 0x03, 0x12 - .byte 0x0d, 0x51, 0x12, 0x0b, 0xd7, 0x43, 0x1a, 0x10 - .byte 0x90, 0xd0, 0x00, 0xe5, 0x1a, 0xf0, 0x22, 0xe5 - .byte 0x1a, 0x54, 0x9f, 0xfd, 0x44, 0x20, 0xfe, 0x7c - .byte 0x08, 0xef, 0x25, 0xe0, 0xff, 0x90, 0xd0, 0x00 - .byte 0xed, 0xf0, 0xe0, 0x30, 0xe4, 0x03, 0x43, 0x07 - .byte 0x01, 0x90, 0xd0, 0x00, 0xee, 0xf0, 0xdc, 0xe9 - .byte 0x22, 0x90, 0xf0, 0x00, 0xe5, 0x32, 0xf0, 0xf5 - .byte 0x0f, 0xa2, 0x26, 0x92, 0x27, 0x7f, 0x05, 0x12 - .byte 0x0b, 0x6c, 0x90, 0xe0, 0x00, 0xe0, 0x44, 0x02 - .byte 0x54, 0xfe, 0xfe, 0xf0, 0x44, 0x01, 0xf0, 0xee - .byte 0xf0, 0x22, 0x53, 0x1a, 0xef, 0x90, 0xd0, 0x00 - .byte 0xe5, 0x1a, 0xf0, 0x7f, 0x9f, 0x12, 0x0c, 0xd0 - .byte 0x12, 0x0b, 0xd7, 0x12, 0x0b, 0xd7, 0x12, 0x0b - .byte 0xd7, 0x43, 0x1a, 0x10, 0x90, 0xd0, 0x00, 0xe5 - .byte 0x1a, 0xf0, 0x22, 0x8f, 0x2b, 0x7f, 0xed, 0x12 - .byte 0x05, 0x2f, 0xaf, 0x2b, 0x12, 0x05, 0x2f, 0x75 - .byte 0x2c, 0x0a, 0x7f, 0xe8, 0x7e, 0xfd, 0x12, 0x0c - .byte 0x79, 0x12, 0x0e, 0x62, 0x50, 0xfb, 0xd5, 0x2c - .byte 0xf1, 0x22, 0x8f, 0x28, 0x8d, 0x29, 0x12, 0x0e - .byte 0x74, 0x12, 0x0e, 0xa2, 0xe5, 0x28, 0x24, 0xfe - .byte 0xfb, 0x85, 0x29, 0x2f, 0x7d, 0xef, 0xaf, 0x34 - .byte 0x12, 0x0b, 0x47, 0x12, 0x0e, 0xa9, 0x02, 0x0d - .byte 0xea, 0xad, 0x07, 0xac, 0x06, 0xc2, 0x8c, 0xed - .byte 0xf4, 0xff, 0xec, 0xf4, 0xfe, 0xef, 0x24, 0x01 - .byte 0xfd, 0xe4, 0x3e, 0xf5, 0x8c, 0xaf, 0x05, 0x8f - .byte 0x8a, 0xc2, 0x8d, 0xd2, 0x8c, 0x22, 0xad, 0x07 - .byte 0xac, 0x06, 0xc2, 0xca, 0xed, 0xf4, 0xff, 0xec - .byte 0xf4, 0xfe, 0xef, 0x24, 0x01, 0xfd, 0xe4, 0x3e - .byte 0xf5, 0xcd, 0xaf, 0x05, 0x8f, 0xcc, 0xc2, 0xcf - .byte 0xd2, 0xca, 0x22, 0x53, 0x1a, 0xef, 0x90, 0xd0 - .byte 0x00, 0xe5, 0x1a, 0xf0, 0x7f, 0x05, 0x12, 0x0c - .byte 0xd0, 0x12, 0x0b, 0xd7, 0x43, 0x1a, 0x10, 0x90 - .byte 0xd0, 0x00, 0xe5, 0x1a, 0xf0, 0xef, 0x13, 0x22 - .byte 0xe5, 0x1a, 0x54, 0x9f, 0xfe, 0x44, 0x40, 0xfd - .byte 0x7c, 0x08, 0x90, 0xd0, 0x00, 0xef, 0x33, 0xff - .byte 0x50, 0x03, 0xed, 0x80, 0x01, 0xee, 0xf0, 0x44 - .byte 0x20, 0xf0, 0xdc, 0xf1, 0x22, 0x12, 0x0f, 0x04 - .byte 0x8e, 0x39, 0x8f, 0x3a, 0x12, 0x0f, 0x1d, 0x8f - .byte 0x38, 0xe5, 0x38, 0x30, 0xe1, 0x03, 0x43, 0x39 - .byte 0x80, 0xe5, 0x38, 0x13, 0x13, 0x54, 0x3f, 0xf5 - .byte 0x38, 0x22, 0x53, 0x1a, 0xef, 0x90, 0xd0, 0x00 - .byte 0xe5, 0x1a, 0xf0, 0x7f, 0x05, 0x12, 0x0c, 0xd0 - .byte 0x12, 0x0b, 0xd7, 0x43, 0x1a, 0x10, 0x90, 0xd0 - .byte 0x00, 0xe5, 0x1a, 0xf0, 0x22, 0x12, 0x0e, 0xc8 - .byte 0x12, 0x0e, 0xd4, 0x90, 0xd0, 0x00, 0xe0, 0x20 - .byte 0xe1, 0x08, 0x12, 0x03, 0x6c, 0x12, 0x01, 0x05 - .byte 0x80, 0xf1, 0x22, 0x12, 0x0c, 0xed, 0x12, 0x08 - .byte 0xf2, 0xe5, 0x09, 0x70, 0x0b, 0xe5, 0x0a, 0x70 - .byte 0x07, 0xe5, 0x0b, 0x70, 0x03, 0x12, 0x0e, 0xda - .byte 0x22, 0x8d, 0x31, 0x8b, 0x32, 0x12, 0x0c, 0xd0 - .byte 0xaf, 0x31, 0x12, 0x0c, 0xd0, 0xaf, 0x32, 0x12 - .byte 0x0c, 0xd0, 0xaf, 0x33, 0x02, 0x0c, 0xd0, 0x53 - .byte 0x1a, 0xef, 0x90, 0xd0, 0x00, 0xe5, 0x1a, 0xf0 - .byte 0x12, 0x0c, 0xd0, 0x43, 0x1a, 0x10, 0x90, 0xd0 - .byte 0x00, 0xe5, 0x1a, 0xf0, 0x22, 0x12, 0x0e, 0x74 - .byte 0x12, 0x0e, 0xa2, 0xe4, 0xfb, 0x7d, 0xd0, 0xaf - .byte 0x34, 0x12, 0x00, 0xe0, 0x12, 0x0e, 0xa9, 0x02 - .byte 0x0d, 0xea, 0x53, 0x1a, 0xfb, 0x90, 0xd0, 0x00 - .byte 0xe5, 0x1a, 0xf0, 0x53, 0x1a, 0xfd, 0xe5, 0x1a - .byte 0xf0, 0x7f, 0x3c, 0x02, 0x00, 0x06, 0x30, 0x09 - .byte 0x0e, 0x12, 0x0e, 0xb0, 0x40, 0x09, 0xc2, 0x92 - .byte 0xc2, 0x93, 0xc2, 0x09, 0x12, 0x0e, 0x7d, 0x22 - .byte 0xa2, 0x1f, 0x92, 0x21, 0x85, 0x2f, 0x30, 0xa2 - .byte 0x20, 0x92, 0x22, 0xc2, 0x23, 0xc2, 0x24, 0x02 - .byte 0x06, 0xee, 0xef, 0xc4, 0x54, 0x0f, 0x90, 0x03 - .byte 0x53, 0x93, 0xfe, 0xef, 0x54, 0x0f, 0x93, 0x2e - .byte 0xff, 0x22, 0x90, 0xe0, 0x00, 0xe0, 0x44, 0x02 - .byte 0x54, 0xfe, 0xfe, 0xf0, 0x54, 0xfd, 0xf0, 0xee - .byte 0xf0, 0x22, 0x12, 0x0e, 0xa2, 0x12, 0x0c, 0xb3 - .byte 0x92, 0x1b, 0x12, 0x0e, 0xa9, 0x20, 0x1b, 0xf2 - .byte 0x22, 0x30, 0x05, 0x09, 0x20, 0x0e, 0x06, 0x20 - .byte 0x02, 0x03, 0xd3, 0x80, 0x01, 0xc3, 0x22, 0x30 - .byte 0x03, 0x09, 0x20, 0x0a, 0x06, 0x20, 0x02, 0x03 - .byte 0xd3, 0x80, 0x01, 0xc3, 0x22, 0xaa, 0x06, 0xea - .byte 0x24, 0xd0, 0xfd, 0xef, 0xfb, 0xaf, 0x34, 0x12 - .byte 0x0b, 0xb4, 0x22, 0xef, 0x24, 0xfe, 0xfb, 0x7d - .byte 0xef, 0xaf, 0x34, 0x12, 0x0b, 0xb4, 0x22, 0xd2 - .byte 0x02, 0xd2, 0x0d, 0xc2, 0x96, 0xd2, 0x10, 0xc2 - .byte 0x94, 0x22, 0xef, 0x90, 0x02, 0xc9, 0x93, 0x6d - .byte 0x60, 0x02, 0x80, 0xfe, 0x22, 0x12, 0x0d, 0xf9 - .byte 0x50, 0x04, 0xc2, 0x10, 0xd2, 0x94, 0x22, 0x12 - .byte 0x0e, 0x07, 0x50, 0x04, 0xc2, 0x0d, 0xd2, 0x96 - .byte 0x22, 0xe5, 0x89, 0x54, 0xf0, 0x44, 0x01, 0xf5 - .byte 0x89, 0x22, 0x30, 0x8d, 0x04, 0xc2, 0x8c, 0xd3 - .byte 0x22, 0xc3, 0x22, 0x30, 0xcf, 0x04, 0xc2, 0xca - .byte 0xd3, 0x22, 0xc3, 0x22, 0x12, 0x0e, 0xa2, 0x12 - .byte 0x0e, 0xfa, 0x02, 0x0e, 0xa9, 0x12, 0x0e, 0xeb - .byte 0xc2, 0x0e, 0x02, 0x0e, 0x45, 0xc2, 0x02, 0x12 - .byte 0x0e, 0x4f, 0x02, 0x0e, 0x45, 0xc2, 0x05, 0xd2 - .byte 0x10, 0xc2, 0x94, 0x22, 0xc2, 0x03, 0xd2, 0x0d - .byte 0xc2, 0x96, 0x22, 0x90, 0xd0, 0x00, 0xe5, 0x1a - .byte 0xf0, 0x22, 0x30, 0x28, 0x03, 0x12, 0x0b, 0x90 - .byte 0x22, 0x30, 0x28, 0x03, 0x12, 0x0d, 0x92, 0x22 - .byte 0x90, 0xe0, 0x00, 0xe0, 0x13, 0x22, 0x53, 0x1a - .byte 0xfe, 0x02, 0x0e, 0x9b, 0x43, 0x1a, 0x01, 0x02 - .byte 0x0e, 0x9b, 0x53, 0x1a, 0xfd, 0x02, 0x0e, 0x9b - .byte 0x43, 0x1a, 0x02, 0x02, 0x0e, 0x9b, 0x53, 0x1a - .byte 0xfb, 0x02, 0x0e, 0x9b, 0x43, 0x1a, 0x04, 0x02 - .byte 0x0e, 0x9b, 0x53, 0x1a, 0x7f, 0x02, 0x0e, 0x9b - .byte 0x43, 0x1a, 0x80, 0x02, 0x0e, 0x9b, 0xd2, 0x05 - .byte 0x02, 0x0e, 0x45, 0xc2, 0x0a, 0x02, 0x0e, 0x4f - .byte 0xd2, 0x03, 0x02, 0x0e, 0x4f, 0x8f, 0x1a, 0x02 - .byte 0x0e, 0x9b, 0x7f, 0x06, 0x02, 0x0d, 0x67, 0x7f - .byte 0x04, 0x02, 0x0d, 0x67, 0xae, 0x36, 0xaf, 0x37 - .byte 0x22, 0xe4, 0xf5, 0xc8, 0x22, 0x12, 0x0c, 0x1a - .byte 0x22, 0xc2, 0x0b, 0x22, 0xd2, 0x0b, 0x22, 0xc2 - .byte 0x06, 0x22, 0xd2, 0x06, 0x22, 0xaf, 0x35, 0x22 - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff diff --git a/vortex86ex/index.php b/vortex86ex/index.php deleted file mode 100644 index 8a1370a..0000000 --- a/vortex86ex/index.php +++ /dev/null @@ -1,307 +0,0 @@ -<!DOCTYPE html> -<html> -<head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - - <style type="text/css"> - @import url('../css/main.css'); - - div.contain { - max-width:100%; - } - - b { - background:#ddd; - } - </style> - - <title>dmp vortex86ex in libreboot</title> - -</head> - -<?php - include_once "../variables.php"; -?> - -<body> - - <div class="contain"> - - <div id="libreboot" class="section intro"> - - <h1>dmp vortex86ex in libreboot</h1> - - <p> - small embedded system (SoC), i586 CPU - made by a company called DMP. Seems like there are no blobs except a <a href="#kbd_fw">small firmware</a> - for a keyboard controller (PS/2), could use usb keyboard instead if - the ps/2 'blob' is an issue. - </p> - <p> - <a href="../">(Back to homepage)</a> - </p> - - <p> - <b>Last updated 00:22 UTC+0100 on November 23rd, 2014</b> - </p> - - </div> - - - <div class="section"> - - <h2>#libreboot on November 15th, 2014</h2> - -<pre> -<pehjota> After the conversation yesterday about KolibriOS, I stumbled upon some hardware that community seems to like: the Vortex86 series of i586-compatible SoCs and the DMP EBOX nettops that use those SoCs. coreboot supports one computer by DMP (src/mainboard/dmp/vortex86ex/) which appears to be the EBOX-3100 (the only EBOX nettop AFAICT without VGA). Three years ago someone ported coreboot to the -<pehjota> EBOX-3300MX but apparently never upstreamed that work. These Vortex86 SoCs look pretty good, freedom-wise: I think there's no microcode at all, the VGA cores don't seem to need option ROMs, and there are no blobs for things like ME/MRC/AGESA. They have relatively low CPU clock rates (most at 600 or 933 MHz), so they aren't great for compiling or gaming. But they're sold as nettops, thin clients, -<pehjota> and embedded systems, and the prices ($95–$269 from the US distributor) aren't bad. -<pehjota> DMP EBOX computers: <a href="http://www.compactpc.com.tw/en/index.html">http://www.compactpc.com.tw/en/index.html</a>. EBOX-3300MX coreboot port: <a href="https://github.com/XVilka/coreboot">https://github.com/XVilka/coreboot</a> (last six commits). Basic (and incomplete) information on the Vortex86 SoCs: <a href="http://www.vortex86.com/">http://www.vortex86.com/</a>. Some technical overviews and resources: <a href="http://www.dmp.com.tw/tech/">http://www.dmp.com.tw/tech/</a>. DMP's BusyBox/Linux distribution (with a Linux config file but apparently no source code): -<pehjota> <a href="http://www.dmp.com.tw/tech/os-xlinux/">http://www.dmp.com.tw/tech/os-xlinux/</a>. -</pre> - - <h2>#libreboot on November 16th, 2014</h2> - -<pre> -<fchmmr> pehjota, I added info about those vortex86 machines to libreboot.org/release.html and to git. -<fchmmr> By the way, xvilka (the person behind those commits on that github page) is in #coreboot at the moment. -<pehjota> Cool. I can't discuss it right now either (busy and have to go idle soon), but I'm interested in his work and possibly seeing at least EBOX-3350MX (a nice cheap one with VGA) supported as well. -<pehjota> The EBOX systems are cheap (once you add the cost of a power supply and enclosure to a BBB, it isn't much cheaper than an EBOX is) and most have VGA. Some have dual Ethernet and miniPCI. - -<mtjm> what is in dmp_kbd_fw_part1.inc in coreboot sources? -<fchmmr> mtjm, coreboot/src/cpu/dmp/vortex86ex/dmp_kbd_fw_part1.inc is part of the "DEBLOB" file in libreboot. -<fchmmr> I'll check it's contents in a coreboot clone. -<fchmmr> it's referenced (included) by src/cpu/dmp/vortex86ex/biosdata.{inc,lds} -<fchmmr> src/cpu/dmp/vortex86ex/biosdata.inc: #include "src/cpu/dmp/vortex86ex/dmp_kbd_fw_part1.inc" -<fchmmr> src/cpu/dmp/vortex86ex/Makefile.inc:chipset_bootblock_inc += $(src)/cpu/dmp/vortex86ex/biosdata.inc -<mtjm> are there other blobs for that platform? -<mtjm> for checking if it's code or data, see code that uses it (hardware only here?) and relevant documentation; if a disassembler produces reasonable code for an appropriate ISA, then it's most probably code, otherwise it's unknown -<mtjm> (or is it e.g. a keymap?) -<fchmmr> As far as I can tell, src/cpu/dmp/vortex86ex/dmp_kbd_fw_part1.inc is the only blob -<fchmmr> xvilka will know more, I'm sure -<i>I then asked for more info in #coreboot and emailed Andrew Wu (original maintainer for that board) asking the same question</i> -</pre> - - <h2>#coreboot on November 16th, 2014</h2> - -<pre> -<fchmmr> xvilka, what is src/cpu/dmp/vortex86ex/dmp_kbd_fw_part1.inc for? What kind of data is it? -<fchmmr> Is there a document that describes this data? -<idwer> fchmmr: you haven't looked at biosdata.inc/.lds then -<ruik> fchmmr: i think it is firmware for keyboard controller havent check -<fchmmr> idwer, i looked at biosdata.inc, not lds. checking now. -<fchmmr> ruik, keyboard as in ps/2 keyboard? -<ruik> fchmmr: yes -<ruik> fchmmr: could be 8051 -<ruik> 0x2 can be LJMP -</pre> - - <h2>back to #libreboot on November 16th, 2014</h2> - -<pre> -<fchmmr> mtjm, just a hunch from #coreboot discussion: I think it might just be for PS/2 keyboards, not sure. -<fchmmr> If that is the case though, you could basically just ignore it (not use it) and use a usb keyboard, I imagine. - -<pehjota> fchmmr: The EBOX-3100 (only Vortex86EX computer by DMP: <<a href="http://www.compactpc.com.tw/en/product/EBOX-3100/ebox-3100_1.html">http://www.compactpc.com.tw/en/product/EBOX-3100/ebox-3100_1.html</a>>. -<fchmmr> coreboot menuconfig just says DMP -> Vortex86EX -<pehjota> Yeah, it doesn't say which computer that is, but I'm guessing it's the EBOX-3100. -<fchmmr> maybe there are more that also work. -<fchmmr> I found a few "86duino" boards for isntance. -<fchmmr> <a href="http://www.bttr-software.de/forum/mix_entry.php?id=13074">http://www.bttr-software.de/forum/mix_entry.php?id=13074</a> -<fchmmr> <a href="http://www.86duino.com/?page_id=85/installation-troubleshooting-1/recompiling-coreboot-seabios-need-config-files">http://www.86duino.com/?page_id=85/installation-troubleshooting-1/recompiling-coreboot-seabios-need-config-files</a> -<pehjota> Yeah, there's 86duino which supposedly comes with coreboot installed. There were some old configs posted to a forum but the links are dead. Other than that I can't find source code. And it's not in upstream coreboot. -<i>Surely someone had a git repository somewhere? Was it public (and is it still online)?</i> -<i>So we need to check all the usual places (github, gitorious, search google/ddg, etc).</i> - -<pehjota> Yeah, that thread; the links are dead. -<fchmmr> tried the wayback machine? -<fchmmr> <a href="https://archive.org/web/">https://archive.org/web/</a> -<pehjota> Oh right, that's a Vortex86EX. Maybe that's the one supported by coreboot. DMP sells that one too. -<fchmmr> a lot of the actual commits in coreboot seem to come from DMP themselves. - -<pehjota> I didn't, but the Wayback Machine usually doesn't archive .zip files or other things that aren't Web documents. -<fchmmr> sometimes it does. - -<pehjota> Yeah, there's a developer at DMP who contributes this code to coreboot. -<pehjota> And who is apparently active with KolibriOS too. -<fchmmr> Andrew Wu -<pehjota> Yup. - -<fchmmr> does trisquel 7 run on i586-only hardware? -<fchmmr> i thought it was i686 -<fchmmr> I asked in #trisquel -<pehjota> Not sure. -<pehjota> Rereading the message in 8522f99 ("Add support for DMP Vortex86EX PCI mainboard.") and looking at <<a href="http://www.86duino.com/index.php?p=68">http://www.86duino.com/index.php?p=68</a>>, I think that might be the board. -<fchmmr> maybe it runs on all vortex86ex soc's -<pehjota> The code in src/cpu/ should, but src/mainboard/ is specific to individual boards. -<fchmmr> I meant that maybe the same rom will work on multiple boards. -<i>Or maybe all those *many* menuconfig options means that it could...</i> - -<pehjota> Although src/mainboard/dmp/vortex86ex/Kconfig appears to support configuration for different Vortex86EX-based boards, which is interesting. -<pehjota> With defaults for 86Duino ZERO. -<fchmmr> yes. lots of config options in menuconfig. -<fchmmr> the default microcode options when selecting that board is "do not include microcode", which is promising. -<pehjota> Yeah, as I said I don't think there's any microcode on Vortex86. I think the ISA is implemented directly in hardware. -<fchmmr> Where does it say 86Duino in that Kconfigfile? -<pehjota> It doesn't; I'm just guessing based on some of the default values. -<fchmmr> select BOARD_ROM_KB_256 -<fchmmr> in Kconfig -<fchmmr> probably couldn't fit GRUB in there, then. Would hvae to use SeaBIOS. -<pehjota> And as I said, the initial commit message suggests it could have been originally for the 86Duino ZERO. -<fchmmr> But if there's no vbios, or if it's a full (and free) vbios implementation, then seabios would be ok. -<pehjota> Yeah, it uses SeaBIOS. -<pehjota> Yup. -<fchmmr> personally I'd prefer to use GRUB, but seabios is also fine. -<fchmmr> GRUB wouldn't fit in such a small space -<fchmmr> unless you build it with basically no modules -<pehjota> It's basic VGA hardware with no option ROM AFAICT. No GPU or anything to initialize. The Linux driver is just a framebuffer one. -<fchmmr> this all sounds very promising. -<fchmmr> That file for keyboard can apparently be ignored if it's a freedom issue -<pehjota> So just a framebuffer that gets sent out on VGA. -<fchmmr> (can use usb keyboard) -<pehjota> Yeah. -<fchmmr> <pehjota> So just a framebuffer that gets sent out on VGA. -<fchmmr> <pehjota> The Linux driver is just a framebuffer one. -<pehjota> There's no GPU driver enabled in DMP's Linux config, only a couple video framebuffer drivers. -<fchmmr> I'll ask on the mailing list (coreboot one) who has vortex86 hardware to test on -<pehjota> The Linux config file is in the "source" .zip files here: <<a href="http://www.dmp.com.tw/tech/os-xlinux/">http://www.dmp.com.tw/tech/os-xlinux/</a>>. -<pehjota> (Old version of Linux.) -<fchmmr> Source for Vortex86DX/MX: xlinux-5.7-src-dx.zip (4.74 MB) -<fchmmr> Source for Vortex86SX: xlinux-5.7-src-sx.zip (4.77 MB) -<fchmmr> isn't it vortex86ex that we're looking at? -<pehjota> fchmmr: Yeah, the SoC supported in mainline coreboot is the EX, for which there are apparently no "sources" on that page. I wouldn't use these systems for routers though; there are cheaper Atheros MIPS boards with dual Ethernet ports and built-in wireless chipsets, which should be able to run U-Boot. -<pehjota> Good call on asking Andrew Wu. I was planning to just ask DMP in general about coreboot support for the EBOX systems. -<pehjota> Personally I'm not all that interested in the EX-based systems like 86Duino. They don't have VGA, which would be necessary at least for the use cases I currently have in mind. I think the MX ones are more interesting from a practical perspective (they should be just as potentially free and xvilka ported coreboot to one of them). DX2 ones are also nice, but more expensive. - -DMP sells the 86Duino directly, and distributors sell the EBOX-3100 (as well as the other EBOX computers). -</pre> - - </div> - - <div class="section" id="kbd_fw"> - - <h2>Firmware for keyboard</h2> - - <p> - In coreboot, see src/cpu/dmp/vortex86ex/dmp_kbd_fw_part1.inc. It is believed to be - firmware for a PS/2 keyboard controller, though it's actual purpose is yet to be - confirmed. You could probably exclude this - (libreboot already does, in the DEBLOB script) and plug in a USB keyboard. - </p> - - <p> - A copy of dmp_kbd_fw_part1.inc: <a href="dmp_kbd_fw_part1.inc.txt">dmp_kbd_fw_part1.inc.txt</a>. - </p> - - <p> - The hex arrays were copied and formated in a PHP file. - This outputs the array in <a href="https://en.wikipedia.org/wiki/Intel_HEX#Format">intel hex format</a>. - See results at <a href="array.php">array.php</a> (for src, clone the libreboot site using the info from the - <a href="../">home page</a>). - The output was then saved as <b>dis.inc</b> and <b>dis.inc.hex</b>. - </p> - - </p> - According to ruik in #coreboot IRC channel, this is either 8051 or 8052 assembly code. I installed - 2 disassemblers: dis51 (8051 disassembly) and d52 (8052 disassembly). <br/> - $ <b>dis51 < dis.inc > dmp_kbd_fw_part1.inc.disassembled.dis51.txt</b><br/> - And for 8052 disassembly:<br/> - $ <b>d52 -dh dis.inc.hex</b><br/> - $ <b>mv dis.inc.d52 dmp_kbd_fw_part1.inc.disassembled.d52.txt</b> - </p> - - <p> - Disassembly results here:<br/> - 8051 (dis51) disassembly: - <a href="dmp_kbd_fw_part1.inc.disassembled.dis51.txt">dmp_kbd_fw_part1.inc.disassembled.dis51.txt</a> - - lots of data (non-instruction) sections, might be unknown instructions from 8052?<br/> - <s>8052 (d52) disassembly: - <a href="dmp_kbd_fw_part1.inc.disassembled.d52.txt">dmp_kbd_fw_part1.inc.disassembled.d52.txt</a></s> - - it's 8051 code. See below. - </p> - - <p> - The original dmp_kbd_fw_part1.inc in coreboot also has a GPL licence attached, so it's possible - that DMP might give the source code for this. Otherwise, if all else fails, we have the - disassembled code to try to reverse engineer. - </p> - - <p> - Todo's from mtjm: - </p> - <ul> - <li>check if there is any documented load address, check if jump addresses are reasonable</li> - <li>check if there are reasonable code sequences (so it's probably really 8051 code)</li> - <li> - make sure that it's really under the GPL, then work on generating the same binary from disassembly - + comments added when trying to understand it - </li> - <li>check if anything reads the code (there are different memory spaces for code and modifiable data)</li> - <li>maybe it has data or unaligned instructions</li> - <li>(check that you disassembled it properly, in other words)</li> - <li> - you want to get code that a machine runs, while you send some (maybe not all) code to it, - that code has instructions that can read the available code and probably does some i/o that - can be used to send that code - </li> - <li>not sure if it would have any bootrom; 8051 starts running code at address 0</li> - </ul> - - <p> - Andrew Wu replied to my email. The keyboard controller firmware is non-free; no source code available. - The GPL license on it is bogus. So libreboot will simply not include PS/2 keyboard support for this machine, - unless it can be reverse engineered based on the above. (not needed. just use USB) - </p> - - <p> - Andrew also said that the firmware is <b>8051</b> code, not 8052. The firmware - implements a <b>standard PC/AT 8042 keyboard controller (handling PS/2 KB_CLK, KB_DATA signals, etc) - There are datasheets for this!!</b>. - </p> - - <p> - Andrew also said that he doesn't know about specific hardware as he is in sotfware, - so he forwarded me to sales, they/he will let me know what vortex86ex systems are actually available for coreboot. - </p> - -<pre> -The 8051 PS/2 keyboard controller firmware not only controls PS/2 keyboard/mouse, but also handles some system functions, like system reset, A20 line enable, etc, via I/O port 60h/64h. - -(Because standard PC/AT 8042 keyboard controller does so). - -In short, if software reads or writes I/O port 60h/64h in vortex86ex, then you need the 8051 firmware, otherwise these I/O ports won’t work correctly. - -I think most OSes, like DOS or Windows, will access port 60h/64h on startup, so removing the firmware code may cause many compatibility problems. -</pre> - -<pre> -Instead I propose that I take some minimal time to re-disassemble it -trough the usual free software tools like gdb, binutils(readelf, and -objdump), or radare2. - -^ other approaches. -</pre> - - <p> - If GNU/Linux will work, then it's ok. - </p> - - </div> - -<br/> -<hr/> - - <div class="section footer"> - -<?php - include "../footer.php"; -?> - - </div> - - </div> - -</body> -</html> - |