; Neko.COM version 0.03 ; Copyright(c) by & naoshi ; This code is reverse-assembled by K.Makoto with ndisasm in 2001 Nov. BITS 16 ORG 100H START: JMP ENTRY ALIGN 2 ; 常駐部データ部分 ; ワークエリア CATX: DW 0 ; 0104 ネコの X 位置 (座標系は 8 ピクセル単位, 横幅 == 80) CATY: DW 0 ; 0106 ネコの Y 位置 (座標系は 8 ピクセル単位, 縦幅 == 50) CATST: DW 0 ; 0108 ネコの状態を記憶するワーク (移動方向, おやすみモードなど) SLPCN: DW 0 ; 010A おやすみカウンタ (ネコが止まっているあいだカウントアップする) DRWAD: DW -1 ; 010C ネコ描画位置記憶ワーク (-1 は消去状態を意味する) INT0A: RESD 1 ; 010E 旧 VSync 割り込みハンドラアドレス保存 INT18: RESD 1 ; 0112 旧 KB/CRT/Graphic BIOS ハンドラアドレス保存 DW 0 ; 0116 ? CADR: RESW 1 ; 0118 カーソルアドレス保存 CCOL: RESW 1 ; 011A カーソル桁位置保存 CLIN: RESW 1 ; 011C カーソル行位置保存 ANMPT: DW 0 ; 011E アニメパターン切り替えワーク ITVCN: DW 10 ; 0120 処理間隔タイマカウンタ (初期値) ; 消去用パターンデータ 0122 〜 02A1 ERSPTN: times 4*32*3 DB 0 ; 消去用 0 fill パターン 4 × 32 × 3 バイト ; ネコのパターンデータ 02A2 〜 2CA1 (4 バイト × 32 ライン × 3 プレーン × 4 パターン × 7 状態) CATPTN: DB 000H, 01FH, 0F8H, 000H, 000H, 07FH, 0FEH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0E7H, 0E7H, 000H, 001H, 0C7H, 0E3H, 080H, 00DH, 0FFH, 0FFH, 0B0H, 01DH, 0FFH, 0FFH, 0B8H, 01DH, 0FFH, 0FFH, 0B8H DB 01EH, 0FFH, 0FFH, 078H, 01EH, 0FFH, 0FFH, 078H, 01DH, 0FCH, 03FH, 0B8H, 00DH, 0C3H, 0C3H, 0B0H, 00DH, 09FH, 0F9H, 0B0H, 004H, 03FH, 0FCH, 020H, 007H, 0FFH, 0FFH, 0E0H, 003H, 0FFH, 0FFH, 0C0H DB 001H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 003H, 0FFH, 0FFH, 0C0H DB 003H, 0FFH, 0FFH, 0C0H, 003H, 0FFH, 0FFH, 0C0H, 003H, 0F9H, 09FH, 0C0H, 003H, 0F1H, 08FH, 0C0H, 003H, 0E1H, 087H, 0C0H, 003H, 0E0H, 0C7H, 0C0H, 001H, 0C0H, 0E3H, 080H, 001H, 080H, 061H, 080H DB 000H, 01FH, 0F8H, 000H, 000H, 07FH, 0FEH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0E7H, 0E7H, 000H, 001H, 0C7H, 0E3H, 080H, 00DH, 0FFH, 0FFH, 0B0H, 01DH, 0FFH, 0FFH, 0B8H, 01DH, 0FFH, 0FFH, 0B8H DB 01EH, 0FFH, 0FFH, 078H, 01EH, 0FFH, 0FFH, 078H, 01DH, 0FCH, 03FH, 0B8H, 00DH, 0C3H, 0C3H, 0B0H, 00DH, 09FH, 0F9H, 0B0H, 004H, 03FH, 0FCH, 020H, 007H, 0FFH, 0FFH, 0E0H, 003H, 0FFH, 0FFH, 0C0H DB 001H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 003H, 0FFH, 0FFH, 0C0H DB 003H, 0FFH, 0FFH, 0C0H, 003H, 0FFH, 0FFH, 0C0H, 003H, 0F9H, 09FH, 0C0H, 003H, 0F1H, 08FH, 0C0H, 003H, 0E1H, 087H, 0C0H, 003H, 0E0H, 0C7H, 0C0H, 001H, 0C0H, 0E3H, 080H, 001H, 080H, 061H, 080H DB 000H, 01FH, 0F8H, 000H, 000H, 07FH, 0FEH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0E7H, 0E7H, 000H, 001H, 0C7H, 0E3H, 080H, 00DH, 0FFH, 0FFH, 0B0H, 01DH, 0FFH, 0FFH, 0B8H, 01DH, 0FFH, 0FFH, 0B8H DB 01EH, 0FFH, 0FFH, 078H, 01EH, 0FFH, 0FFH, 078H, 01CH, 07CH, 03EH, 038H, 00CH, 0C3H, 0C3H, 030H, 00DH, 09FH, 0F9H, 0B0H, 004H, 03FH, 0FCH, 020H, 007H, 0FFH, 0FFH, 0E0H, 003H, 0FFH, 0FFH, 0C0H DB 001H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 003H, 0FFH, 0FFH, 0C0H DB 003H, 0FFH, 0FFH, 0C0H, 003H, 0FFH, 0FFH, 0C0H, 003H, 0F9H, 09FH, 0C0H, 003H, 0F1H, 08FH, 0C0H, 003H, 0E1H, 087H, 0C0H, 003H, 0E0H, 0C7H, 0C0H, 001H, 0C0H, 0E3H, 080H, 001H, 080H, 061H, 080H DB 000H, 003H, 0C0H, 000H, 000H, 01FH, 0F8H, 000H, 000H, 07FH, 0FEH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0E7H, 0E7H, 000H, 001H, 0C7H, 0E3H, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 005H, 0FCH, 03FH, 0A0H, 00DH, 0C3H, 0C3H, 0B0H, 00DH, 09FH, 0F9H, 0B0H, 004H, 03FH, 0FCH, 020H, 007H, 0FFH, 0FFH, 0E0H DB 003H, 0FFH, 0FFH, 0C0H, 001H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0F9H, 09FH, 080H, 000H, 0F1H, 08FH, 000H, 000H, 061H, 086H, 000H, 000H, 001H, 0C0H, 000H, 000H, 000H, 0C0H, 000H DB 000H, 003H, 0C0H, 000H, 000H, 01FH, 0F8H, 000H, 000H, 07FH, 0FEH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0E7H, 0E7H, 000H, 001H, 0C7H, 0E3H, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 005H, 0FCH, 03FH, 0A0H, 00DH, 0C3H, 0C3H, 0B0H, 00DH, 09FH, 0F9H, 0B0H, 004H, 03FH, 0FCH, 020H, 007H, 0FFH, 0FFH, 0E0H DB 003H, 0FFH, 0FFH, 0C0H, 001H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0F9H, 09FH, 080H, 000H, 0F1H, 08FH, 000H, 000H, 061H, 086H, 000H, 000H, 001H, 0C0H, 000H, 000H, 000H, 0C0H, 000H DB 000H, 003H, 0C0H, 000H, 000H, 01FH, 0F8H, 000H, 000H, 07FH, 0FEH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0E7H, 0E7H, 000H, 001H, 0C7H, 0E3H, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 004H, 07CH, 03EH, 020H, 00CH, 0C3H, 0C3H, 030H, 00DH, 09FH, 0F9H, 0B0H, 004H, 03FH, 0FCH, 020H, 007H, 0FFH, 0FFH, 0E0H DB 003H, 0FFH, 0FFH, 0C0H, 001H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0F9H, 09FH, 080H, 000H, 0F1H, 08FH, 000H, 000H, 061H, 086H, 000H, 000H, 001H, 0C0H, 000H, 000H, 000H, 0C0H, 000H DB 000H, 01FH, 0F8H, 000H, 000H, 07FH, 0FEH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0E7H, 0E7H, 080H, 001H, 0C7H, 0E3H, 080H, 00DH, 0FFH, 0FFH, 0B0H, 01DH, 0FFH, 0FFH, 0B8H, 01DH, 0FFH, 0FFH, 0B8H DB 01EH, 0FFH, 0FFH, 078H, 01EH, 0FFH, 0FFH, 078H, 01DH, 0FCH, 03FH, 0B8H, 00DH, 0C3H, 0C3H, 0B0H, 00DH, 09FH, 0F9H, 0B0H, 004H, 03FH, 0FCH, 020H, 007H, 0FFH, 0FFH, 0E0H, 003H, 0FFH, 0FFH, 0C0H DB 000H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 003H, 0FFH, 0FFH, 0C0H DB 003H, 0FFH, 0FFH, 0C0H, 003H, 0FFH, 0FFH, 0C0H, 003H, 0F9H, 09FH, 0C0H, 003H, 0F1H, 08FH, 0C0H, 003H, 0E1H, 087H, 0C0H, 003H, 0E3H, 007H, 0C0H, 001H, 0C7H, 003H, 080H, 001H, 086H, 001H, 080H DB 000H, 01FH, 0F8H, 000H, 000H, 07FH, 0FEH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0E7H, 0E7H, 080H, 001H, 0C7H, 0E3H, 080H, 00DH, 0FFH, 0FFH, 0B0H, 01DH, 0FFH, 0FFH, 0B8H, 01DH, 0FFH, 0FFH, 0B8H DB 01EH, 0FFH, 0FFH, 078H, 01EH, 0FFH, 0FFH, 078H, 01DH, 0FCH, 03FH, 0B8H, 00DH, 0C3H, 0C3H, 0B0H, 00DH, 09FH, 0F9H, 0B0H, 004H, 03FH, 0FCH, 020H, 007H, 0FFH, 0FFH, 0E0H, 003H, 0FFH, 0FFH, 0C0H DB 000H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 003H, 0FFH, 0FFH, 0C0H DB 003H, 0FFH, 0FFH, 0C0H, 003H, 0FFH, 0FFH, 0C0H, 003H, 0F9H, 09FH, 0C0H, 003H, 0F1H, 08FH, 0C0H, 003H, 0E1H, 087H, 0C0H, 003H, 0E3H, 007H, 0C0H, 001H, 0C7H, 003H, 080H, 001H, 086H, 001H, 080H DB 000H, 01FH, 0F8H, 000H, 000H, 07FH, 0FEH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0E7H, 0E7H, 080H, 001H, 0C7H, 0E3H, 080H, 00DH, 0FFH, 0FFH, 0B0H, 01DH, 0FFH, 0FFH, 0B8H, 01DH, 0FFH, 0FFH, 0B8H DB 01EH, 0FFH, 0FFH, 078H, 01EH, 0FFH, 0FFH, 078H, 01CH, 07CH, 03EH, 038H, 00CH, 0C3H, 0C3H, 030H, 00DH, 09FH, 0F9H, 0B0H, 004H, 03FH, 0FCH, 020H, 007H, 0FFH, 0FFH, 0E0H, 003H, 0FFH, 0FFH, 0C0H DB 000H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 003H, 0FFH, 0FFH, 0C0H DB 003H, 0FFH, 0FFH, 0C0H, 003H, 0FFH, 0FFH, 0C0H, 003H, 0F9H, 09FH, 0C0H, 003H, 0F1H, 08FH, 0C0H, 003H, 0E1H, 087H, 0C0H, 003H, 0E3H, 007H, 0C0H, 001H, 0C7H, 003H, 080H, 001H, 086H, 001H, 080H DB 000H, 003H, 0C0H, 000H, 000H, 01FH, 0F8H, 000H, 000H, 07FH, 0FEH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0E7H, 0E7H, 000H, 001H, 0C7H, 0E3H, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 005H, 0FCH, 03FH, 0A0H, 00DH, 0C3H, 0C3H, 0B0H, 00DH, 09FH, 0F9H, 0B0H, 004H, 03FH, 0FCH, 020H, 007H, 0FFH, 0FFH, 0E0H DB 003H, 0FFH, 0FFH, 0C0H, 001H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0F9H, 09FH, 080H, 000H, 0F1H, 08FH, 000H, 000H, 061H, 086H, 000H, 000H, 001H, 0C0H, 000H, 000H, 000H, 0C0H, 000H DB 000H, 003H, 0C0H, 000H, 000H, 01FH, 0F8H, 000H, 000H, 07FH, 0FEH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0E7H, 0E7H, 000H, 001H, 0C7H, 0E3H, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 005H, 0FCH, 03FH, 0A0H, 00DH, 0C3H, 0C3H, 0B0H, 00DH, 09FH, 0F9H, 0B0H, 004H, 03FH, 0FCH, 020H, 007H, 0FFH, 0FFH, 0E0H DB 003H, 0FFH, 0FFH, 0C0H, 001H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0F9H, 09FH, 080H, 000H, 0F1H, 08FH, 000H, 000H, 061H, 086H, 000H, 000H, 001H, 0C0H, 000H, 000H, 000H, 0C0H, 000H DB 000H, 003H, 0C0H, 000H, 000H, 01FH, 0F8H, 000H, 000H, 07FH, 0FEH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0E7H, 0E7H, 000H, 001H, 0C7H, 0E3H, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 004H, 07CH, 03EH, 020H, 00CH, 0C3H, 0C3H, 030H, 00DH, 09FH, 0F9H, 0B0H, 004H, 03FH, 0FCH, 020H, 007H, 0FFH, 0FFH, 0E0H DB 003H, 0FFH, 0FFH, 0C0H, 001H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0F9H, 09FH, 080H, 000H, 0F1H, 08FH, 000H, 000H, 061H, 086H, 000H, 000H, 001H, 0C0H, 000H, 000H, 000H, 0C0H, 000H DB 001H, 080H, 061H, 080H, 001H, 0C0H, 0E3H, 080H, 003H, 0E0H, 0C7H, 0C0H, 003H, 0E1H, 087H, 0C0H, 003H, 0F1H, 08FH, 0C0H, 003H, 0F9H, 09FH, 0C0H, 003H, 0FFH, 0FFH, 0C0H, 003H, 0FFH, 0FFH, 0C0H DB 003H, 0FFH, 0FFH, 0C0H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 000H DB 003H, 0FFH, 0FFH, 0C0H, 007H, 0FFH, 0FFH, 0E0H, 004H, 03FH, 0FCH, 020H, 00DH, 09FH, 0F9H, 0B0H, 00DH, 0C3H, 0C3H, 0B0H, 01DH, 0FCH, 03FH, 0B8H, 01EH, 0FFH, 0FFH, 078H, 01EH, 0FFH, 0FFH, 078H DB 01DH, 0FFH, 0FFH, 0B8H, 01DH, 0FFH, 0FFH, 0B8H, 00DH, 0FFH, 0FFH, 0B0H, 001H, 0C7H, 0E3H, 080H, 001H, 0E7H, 0E7H, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 07FH, 0FEH, 000H, 000H, 01FH, 0F8H, 000H DB 001H, 080H, 061H, 080H, 001H, 0C0H, 0E3H, 080H, 003H, 0E0H, 0C7H, 0C0H, 003H, 0E1H, 087H, 0C0H, 003H, 0F1H, 08FH, 0C0H, 003H, 0F9H, 09FH, 0C0H, 003H, 0FFH, 0FFH, 0C0H, 003H, 0FFH, 0FFH, 0C0H DB 003H, 0FFH, 0FFH, 0C0H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 000H DB 003H, 0FFH, 0FFH, 0C0H, 007H, 0FFH, 0FFH, 0E0H, 004H, 03FH, 0FCH, 020H, 00DH, 09FH, 0F9H, 0B0H, 00DH, 0C3H, 0C3H, 0B0H, 01DH, 0FCH, 03FH, 0B8H, 01EH, 0FFH, 0FFH, 078H, 01EH, 0FFH, 0FFH, 078H DB 01DH, 0FFH, 0FFH, 0B8H, 01DH, 0FFH, 0FFH, 0B8H, 00DH, 0FFH, 0FFH, 0B0H, 001H, 0C7H, 0E3H, 080H, 001H, 0E7H, 0E7H, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 07FH, 0FEH, 000H, 000H, 01FH, 0F8H, 000H DB 001H, 080H, 061H, 080H, 001H, 0C0H, 0E3H, 080H, 003H, 0E0H, 0C7H, 0C0H, 003H, 0E1H, 087H, 0C0H, 003H, 0F1H, 08FH, 0C0H, 003H, 0F9H, 09FH, 0C0H, 003H, 0FFH, 0FFH, 0C0H, 003H, 0FFH, 0FFH, 0C0H DB 003H, 0FFH, 0FFH, 0C0H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 000H DB 003H, 0FFH, 0FFH, 0C0H, 007H, 0FFH, 0FFH, 0E0H, 004H, 03FH, 0FCH, 020H, 00DH, 09FH, 0F9H, 0B0H, 00CH, 0C3H, 0C3H, 030H, 01CH, 07CH, 03EH, 038H, 01EH, 0FFH, 0FFH, 078H, 01EH, 0FFH, 0FFH, 078H DB 01DH, 0FFH, 0FFH, 0B8H, 01DH, 0FFH, 0FFH, 0B8H, 00DH, 0FFH, 0FFH, 0B0H, 001H, 0C7H, 0E3H, 080H, 001H, 0E7H, 0E7H, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 07FH, 0FEH, 000H, 000H, 01FH, 0F8H, 000H DB 000H, 000H, 0C0H, 000H, 000H, 001H, 0C0H, 000H, 000H, 061H, 086H, 000H, 000H, 0F1H, 08FH, 000H, 001H, 0F9H, 09FH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 000H, 003H, 0FFH, 0FFH, 0C0H DB 007H, 0FFH, 0FFH, 0E0H, 004H, 03FH, 0FCH, 020H, 00DH, 09FH, 0F9H, 0B0H, 00DH, 0C3H, 0C3H, 0B0H, 005H, 0FCH, 03FH, 0A0H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0C7H, 0E3H, 080H, 001H, 0E7H, 0E7H, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 07FH, 0FEH, 000H, 000H, 01FH, 0F8H, 000H, 000H, 003H, 0C0H, 000H DB 000H, 000H, 0C0H, 000H, 000H, 001H, 0C0H, 000H, 000H, 061H, 086H, 000H, 000H, 0F1H, 08FH, 000H, 001H, 0F9H, 09FH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 000H, 003H, 0FFH, 0FFH, 0C0H DB 007H, 0FFH, 0FFH, 0E0H, 004H, 03FH, 0FCH, 020H, 00DH, 09FH, 0F9H, 0B0H, 00DH, 0C3H, 0C3H, 0B0H, 005H, 0FCH, 03FH, 0A0H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0C7H, 0E3H, 080H, 001H, 0E7H, 0E7H, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 07FH, 0FEH, 000H, 000H, 01FH, 0F8H, 000H, 000H, 003H, 0C0H, 000H DB 000H, 000H, 0C0H, 000H, 000H, 001H, 0C0H, 000H, 000H, 061H, 086H, 000H, 000H, 0F1H, 08FH, 000H, 001H, 0F9H, 09FH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 000H, 003H, 0FFH, 0FFH, 0C0H DB 007H, 0FFH, 0FFH, 0E0H, 004H, 03FH, 0FCH, 020H, 00DH, 09FH, 0F9H, 0B0H, 00CH, 0C3H, 0C3H, 030H, 004H, 07CH, 03EH, 020H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0C7H, 0E3H, 080H, 001H, 0E7H, 0E7H, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 07FH, 0FEH, 000H, 000H, 01FH, 0F8H, 000H, 000H, 003H, 0C0H, 000H DB 001H, 086H, 001H, 080H, 001H, 0C7H, 003H, 080H, 003H, 0E3H, 007H, 0C0H, 003H, 0E1H, 087H, 0C0H, 003H, 0F1H, 08FH, 0C0H, 003H, 0F9H, 09FH, 0C0H, 003H, 0FFH, 0FFH, 0C0H, 003H, 0FFH, 0FFH, 0C0H DB 003H, 0FFH, 0FFH, 0C0H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 080H DB 003H, 0FFH, 0FFH, 0C0H, 007H, 0FFH, 0FFH, 0E0H, 004H, 03FH, 0FCH, 020H, 00DH, 09FH, 0F9H, 0B0H, 00DH, 0C3H, 0C3H, 0B0H, 01DH, 0FCH, 03FH, 0B8H, 01EH, 0FFH, 0FFH, 078H, 01EH, 0FFH, 0FFH, 078H DB 01DH, 0FFH, 0FFH, 0B8H, 01DH, 0FFH, 0FFH, 0B8H, 00DH, 0FFH, 0FFH, 0B0H, 001H, 0C7H, 0E3H, 080H, 000H, 0E7H, 0E7H, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 07FH, 0FEH, 000H, 000H, 01FH, 0F8H, 000H DB 001H, 086H, 001H, 080H, 001H, 0C7H, 003H, 080H, 003H, 0E3H, 007H, 0C0H, 003H, 0E1H, 087H, 0C0H, 003H, 0F1H, 08FH, 0C0H, 003H, 0F9H, 09FH, 0C0H, 003H, 0FFH, 0FFH, 0C0H, 003H, 0FFH, 0FFH, 0C0H DB 003H, 0FFH, 0FFH, 0C0H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 080H DB 003H, 0FFH, 0FFH, 0C0H, 007H, 0FFH, 0FFH, 0E0H, 004H, 03FH, 0FCH, 020H, 00DH, 09FH, 0F9H, 0B0H, 00DH, 0C3H, 0C3H, 0B0H, 01DH, 0FCH, 03FH, 0B8H, 01EH, 0FFH, 0FFH, 078H, 01EH, 0FFH, 0FFH, 078H DB 01DH, 0FFH, 0FFH, 0B8H, 01DH, 0FFH, 0FFH, 0B8H, 00DH, 0FFH, 0FFH, 0B0H, 001H, 0C7H, 0E3H, 080H, 000H, 0E7H, 0E7H, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 07FH, 0FEH, 000H, 000H, 01FH, 0F8H, 000H DB 001H, 086H, 001H, 080H, 001H, 0C7H, 003H, 080H, 003H, 0E3H, 007H, 0C0H, 003H, 0E1H, 087H, 0C0H, 003H, 0F1H, 08FH, 0C0H, 003H, 0F9H, 09FH, 0C0H, 003H, 0FFH, 0FFH, 0C0H, 003H, 0FFH, 0FFH, 0C0H DB 003H, 0FFH, 0FFH, 0C0H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 080H DB 003H, 0FFH, 0FFH, 0C0H, 007H, 0FFH, 0FFH, 0E0H, 004H, 03FH, 0FCH, 020H, 00DH, 09FH, 0F9H, 0B0H, 00CH, 0C3H, 0C3H, 030H, 01CH, 07CH, 03EH, 038H, 01EH, 0FFH, 0FFH, 078H, 01EH, 0FFH, 0FFH, 078H DB 01DH, 0FFH, 0FFH, 0B8H, 01DH, 0FFH, 0FFH, 0B8H, 00DH, 0FFH, 0FFH, 0B0H, 001H, 0C7H, 0E3H, 080H, 000H, 0E7H, 0E7H, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 07FH, 0FEH, 000H, 000H, 01FH, 0F8H, 000H DB 000H, 000H, 0C0H, 000H, 000H, 001H, 0C0H, 000H, 000H, 061H, 086H, 000H, 000H, 0F1H, 08FH, 000H, 001H, 0F9H, 09FH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 000H, 003H, 0FFH, 0FFH, 0C0H DB 007H, 0FFH, 0FFH, 0E0H, 004H, 03FH, 0FCH, 020H, 00DH, 09FH, 0F9H, 0B0H, 00DH, 0C3H, 0C3H, 0B0H, 005H, 0FCH, 03FH, 0A0H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0C7H, 0E3H, 080H, 001H, 0E7H, 0E7H, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 07FH, 0FEH, 000H, 000H, 01FH, 0F8H, 000H, 000H, 003H, 0C0H, 000H DB 000H, 000H, 0C0H, 000H, 000H, 001H, 0C0H, 000H, 000H, 061H, 086H, 000H, 000H, 0F1H, 08FH, 000H, 001H, 0F9H, 09FH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 000H, 003H, 0FFH, 0FFH, 0C0H DB 007H, 0FFH, 0FFH, 0E0H, 004H, 03FH, 0FCH, 020H, 00DH, 09FH, 0F9H, 0B0H, 00DH, 0C3H, 0C3H, 0B0H, 005H, 0FCH, 03FH, 0A0H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0C7H, 0E3H, 080H, 001H, 0E7H, 0E7H, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 07FH, 0FEH, 000H, 000H, 01FH, 0F8H, 000H, 000H, 003H, 0C0H, 000H DB 000H, 000H, 0C0H, 000H, 000H, 001H, 0C0H, 000H, 000H, 061H, 086H, 000H, 000H, 0F1H, 08FH, 000H, 001H, 0F9H, 09FH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 000H, 003H, 0FFH, 0FFH, 0C0H DB 007H, 0FFH, 0FFH, 0E0H, 004H, 03FH, 0FCH, 020H, 00DH, 09FH, 0F9H, 0B0H, 00CH, 0C3H, 0C3H, 030H, 004H, 07CH, 03EH, 020H, 000H, 0FFH, 0FFH, 000H, 000H, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH, 080H DB 001H, 0FFH, 0FFH, 080H, 001H, 0FFH, 0FFH, 080H, 001H, 0C7H, 0E3H, 080H, 001H, 0E7H, 0E7H, 000H, 000H, 0FFH, 0FFH, 000H, 000H, 07FH, 0FEH, 000H, 000H, 01FH, 0F8H, 000H, 000H, 003H, 0C0H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 003H, 01CH, 000H, 003H, 001H, 01FH, 000H, 00EH, 001H, 09FH, 087H, 01EH, 001H, 08FH, 0FFH, 0FCH, 001H, 08FH, 0FFH, 0FCH, 000H, 0CFH, 0FFH, 0FCH DB 000H, 0CFH, 0FFH, 0FCH, 000H, 06FH, 0FFH, 0FEH, 000H, 06FH, 08FH, 08EH, 000H, 0E7H, 00FH, 086H, 000H, 0F7H, 08FH, 08EH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH DB 003H, 0FBH, 01FH, 0C4H, 003H, 0FAH, 0FFH, 0F8H, 003H, 0FDH, 09FH, 0E2H, 003H, 0FAH, 07FH, 0F4H, 003H, 0FDH, 03FH, 0E0H, 003H, 0DDH, 08CH, 010H, 003H, 0DFH, 0E1H, 0F0H, 003H, 0CFH, 0FFH, 0F0H DB 003H, 0EFH, 0FFH, 0F0H, 003H, 0EFH, 0FFH, 0F8H, 001H, 08FH, 0FFH, 03CH, 000H, 00FH, 0FEH, 07EH, 000H, 01FH, 080H, 0FEH, 000H, 01FH, 000H, 07EH, 000H, 01EH, 000H, 01EH, 000H, 01EH, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 003H, 01CH, 000H, 003H, 001H, 01FH, 000H, 00EH, 001H, 09FH, 087H, 01EH, 001H, 08FH, 0FFH, 0FCH, 001H, 08FH, 0FFH, 0FCH, 000H, 0CFH, 0FFH, 0FCH DB 000H, 0CFH, 0FFH, 0FCH, 000H, 06FH, 0FFH, 0FEH, 000H, 06FH, 08FH, 08EH, 000H, 0E7H, 00FH, 086H, 000H, 0F7H, 08FH, 08EH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH DB 003H, 0FBH, 01FH, 0C4H, 003H, 0FAH, 0FFH, 0F8H, 003H, 0FDH, 09FH, 0E2H, 003H, 0FAH, 07FH, 0F4H, 003H, 0FDH, 03FH, 0E0H, 003H, 0DDH, 08CH, 010H, 003H, 0DFH, 0E1H, 0F0H, 003H, 0CFH, 0FFH, 0F0H DB 003H, 0EFH, 0FFH, 0F0H, 003H, 0EFH, 0FFH, 0F8H, 001H, 08FH, 0FFH, 03CH, 000H, 00FH, 0FEH, 07EH, 000H, 01FH, 080H, 0FEH, 000H, 01FH, 000H, 07EH, 000H, 01EH, 000H, 01EH, 000H, 01EH, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 003H, 01CH, 000H, 003H, 001H, 013H, 000H, 00EH, 001H, 091H, 087H, 01EH, 001H, 089H, 0FFH, 0FCH, 001H, 08FH, 0FFH, 0FCH, 000H, 0CFH, 0FFH, 0FCH DB 000H, 0CFH, 0FFH, 0FCH, 000H, 06FH, 0FFH, 0FEH, 000H, 06FH, 08FH, 08EH, 000H, 0E7H, 00FH, 086H, 000H, 0F7H, 08FH, 08EH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH DB 003H, 0FBH, 01DH, 0C4H, 003H, 0FAH, 0FFH, 0F8H, 003H, 0FDH, 09FH, 0E2H, 003H, 0FAH, 07FH, 0F4H, 003H, 0FDH, 03FH, 0E0H, 003H, 0DDH, 08CH, 010H, 003H, 0DFH, 0E1H, 0F0H, 003H, 0CFH, 0FFH, 0F0H DB 003H, 0EFH, 0FFH, 0F0H, 003H, 0EFH, 0FFH, 0F8H, 001H, 08FH, 0FFH, 03CH, 000H, 00FH, 0FEH, 07EH, 000H, 01FH, 080H, 0FEH, 000H, 01FH, 000H, 07EH, 000H, 01EH, 000H, 01EH, 000H, 01EH, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 023H, 000H, 000H, 000H, 063H, 080H, 006H, 000H, 047H, 080H, 01EH, 000H, 0C7H, 0C7H, 01EH, 000H, 0C7H, 0FFH, 0FEH, 000H, 0C7H, 0FFH, 0FCH, 000H, 0C7H, 0FFH, 0FCH DB 000H, 0CFH, 0FFH, 0FEH, 000H, 06FH, 0FFH, 0FEH, 000H, 06FH, 08FH, 08EH, 000H, 0E7H, 00FH, 086H, 000H, 0F7H, 08FH, 08EH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH DB 001H, 0FBH, 01FH, 0C4H, 003H, 0FAH, 0FFH, 0F8H, 003H, 0FDH, 09FH, 0E2H, 003H, 0FAH, 07FH, 0F4H, 003H, 0FDH, 03FH, 0E0H, 003H, 0FDH, 08CH, 018H, 003H, 0CFH, 0E1H, 0F8H, 003H, 0C7H, 0FFH, 0F8H DB 003H, 0CFH, 0FFH, 0B8H, 001H, 0CFH, 0FFH, 078H, 001H, 0CFH, 03EH, 0F8H, 000H, 08FH, 000H, 0F8H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0F0H, 000H, 007H, 000H, 0F0H, 000H, 007H, 000H, 0E0H DB 000H, 000H, 000H, 000H, 000H, 023H, 000H, 000H, 000H, 063H, 080H, 006H, 000H, 047H, 080H, 01EH, 000H, 0C7H, 0C7H, 01EH, 000H, 0C7H, 0FFH, 0FEH, 000H, 0C7H, 0FFH, 0FCH, 000H, 0C7H, 0FFH, 0FCH DB 000H, 0CFH, 0FFH, 0FEH, 000H, 06FH, 0FFH, 0FEH, 000H, 06FH, 08FH, 08EH, 000H, 0E7H, 00FH, 086H, 000H, 0F7H, 08FH, 08EH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH DB 001H, 0FBH, 01FH, 0C4H, 003H, 0FAH, 0FFH, 0F8H, 003H, 0FDH, 09FH, 0E2H, 003H, 0FAH, 07FH, 0F4H, 003H, 0FDH, 03FH, 0E0H, 003H, 0FDH, 08CH, 018H, 003H, 0CFH, 0E1H, 0F8H, 003H, 0C7H, 0FFH, 0F8H DB 003H, 0CFH, 0FFH, 0B8H, 001H, 0CFH, 0FFH, 078H, 001H, 0CFH, 03EH, 0F8H, 000H, 08FH, 000H, 0F8H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0F0H, 000H, 007H, 000H, 0F0H, 000H, 007H, 000H, 0E0H DB 000H, 000H, 000H, 000H, 000H, 023H, 000H, 000H, 000H, 063H, 080H, 006H, 000H, 046H, 080H, 01EH, 000H, 0C4H, 0C7H, 01EH, 000H, 0C4H, 07FH, 0FEH, 000H, 0C7H, 0FFH, 0FCH, 000H, 0C7H, 0FFH, 0FCH DB 000H, 0CFH, 0FFH, 0FEH, 000H, 06FH, 0FFH, 0FEH, 000H, 06FH, 08FH, 08EH, 000H, 0E7H, 00FH, 086H, 000H, 0F7H, 08FH, 08EH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH DB 001H, 0FBH, 01DH, 0C4H, 003H, 0FAH, 0FFH, 0F8H, 003H, 0FDH, 09FH, 0E2H, 003H, 0FAH, 07FH, 0F4H, 003H, 0FDH, 03FH, 0E0H, 003H, 0FDH, 08CH, 018H, 003H, 0CFH, 0E1H, 0F8H, 003H, 0C7H, 0FFH, 0F8H DB 003H, 0CFH, 0FFH, 0B8H, 001H, 0CFH, 0FFH, 078H, 001H, 0CFH, 03EH, 0F8H, 000H, 08FH, 000H, 0F8H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0F0H, 000H, 007H, 000H, 0F0H, 000H, 007H, 000H, 0E0H DB 000H, 00CH, 000H, 003H, 001H, 08FH, 000H, 00FH, 001H, 08FH, 080H, 01FH, 001H, 08FH, 080H, 01FH, 000H, 0C7H, 0C7H, 01FH, 000H, 0C7H, 0FFH, 0FEH, 000H, 0C7H, 0FFH, 0FEH, 000H, 0C7H, 0FFH, 0FEH DB 000H, 0CFH, 0FFH, 0FEH, 000H, 06FH, 0FFH, 0FEH, 000H, 06FH, 08FH, 08EH, 000H, 0E7H, 00FH, 086H, 000H, 0F7H, 08FH, 08EH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH DB 003H, 0FBH, 01FH, 0C4H, 007H, 0FAH, 0FFH, 0F8H, 007H, 0FDH, 09FH, 0E2H, 00FH, 0FAH, 07FH, 0F4H, 00FH, 0FDH, 03FH, 0E0H, 00FH, 01DH, 08CH, 010H, 00FH, 01FH, 0E1H, 0F0H, 00FH, 00FH, 0FFH, 0F0H DB 006H, 00FH, 0FFH, 0F0H, 000H, 00FH, 0BFH, 030H, 000H, 00FH, 0DFH, 070H, 000H, 007H, 0DEH, 0E0H, 000H, 007H, 0C1H, 0E0H, 000H, 007H, 0E7H, 0C0H, 000H, 003H, 0E7H, 000H, 000H, 001H, 0C0H, 000H DB 000H, 00CH, 000H, 003H, 001H, 08FH, 000H, 00FH, 001H, 08FH, 080H, 01FH, 001H, 08FH, 080H, 01FH, 000H, 0C7H, 0C7H, 01FH, 000H, 0C7H, 0FFH, 0FEH, 000H, 0C7H, 0FFH, 0FEH, 000H, 0C7H, 0FFH, 0FEH DB 000H, 0CFH, 0FFH, 0FEH, 000H, 06FH, 0FFH, 0FEH, 000H, 06FH, 08FH, 08EH, 000H, 0E7H, 00FH, 086H, 000H, 0F7H, 08FH, 08EH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH DB 003H, 0FBH, 01FH, 0C4H, 007H, 0FAH, 0FFH, 0F8H, 007H, 0FDH, 09FH, 0E2H, 00FH, 0FAH, 07FH, 0F4H, 00FH, 0FDH, 03FH, 0E0H, 00FH, 01DH, 08CH, 010H, 00FH, 01FH, 0E1H, 0F0H, 00FH, 00FH, 0FFH, 0F0H DB 006H, 00FH, 0FFH, 0F0H, 000H, 00FH, 0BFH, 030H, 000H, 00FH, 0DFH, 070H, 000H, 007H, 0DEH, 0E0H, 000H, 007H, 0C1H, 0E0H, 000H, 007H, 0E7H, 0C0H, 000H, 003H, 0E7H, 000H, 000H, 001H, 0C0H, 000H DB 000H, 00CH, 000H, 003H, 001H, 08BH, 000H, 00FH, 001H, 08DH, 080H, 01FH, 001H, 08CH, 080H, 01FH, 000H, 0C4H, 0C7H, 01FH, 000H, 0C7H, 0FFH, 0FEH, 000H, 0C7H, 0FFH, 0FEH, 000H, 0C7H, 0FFH, 0FEH DB 000H, 0CFH, 0FFH, 0FEH, 000H, 06FH, 0FFH, 0FEH, 000H, 06FH, 08FH, 08EH, 000H, 0E7H, 00FH, 086H, 000H, 0F7H, 08FH, 08EH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH DB 003H, 0FBH, 01DH, 0C4H, 007H, 0FAH, 0FFH, 0F8H, 007H, 0FDH, 09FH, 0E2H, 00FH, 0FAH, 07FH, 0F4H, 00FH, 0FDH, 03FH, 0E0H, 00FH, 01DH, 08CH, 010H, 00FH, 01FH, 0E1H, 0F0H, 00FH, 00FH, 0FFH, 0F0H DB 006H, 00FH, 0FFH, 0F0H, 000H, 00FH, 0BFH, 030H, 000H, 00FH, 0DFH, 070H, 000H, 007H, 0DEH, 0E0H, 000H, 007H, 0C1H, 0E0H, 000H, 007H, 0E7H, 0C0H, 000H, 003H, 0E7H, 000H, 000H, 001H, 0C0H, 000H DB 000H, 000H, 000H, 000H, 000H, 023H, 000H, 000H, 000H, 063H, 080H, 006H, 000H, 047H, 080H, 01EH, 000H, 0C7H, 0C7H, 01EH, 000H, 0C7H, 0FFH, 0FEH, 000H, 0C7H, 0FFH, 0FCH, 000H, 0C7H, 0FFH, 0FCH DB 000H, 0CFH, 0FFH, 0FEH, 000H, 06FH, 0FFH, 0FEH, 000H, 06FH, 08FH, 08EH, 000H, 0E7H, 00FH, 086H, 000H, 0F7H, 08FH, 08EH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH DB 001H, 0FBH, 01FH, 0C4H, 003H, 0FAH, 0FFH, 0F8H, 003H, 0FDH, 09FH, 0E2H, 003H, 0FAH, 07FH, 0F4H, 003H, 0FDH, 03FH, 0E0H, 003H, 0FDH, 08CH, 018H, 003H, 0CFH, 0E1H, 0F8H, 003H, 0C7H, 0FFH, 0F8H DB 003H, 0CFH, 0FFH, 0B8H, 001H, 0CFH, 0FFH, 078H, 001H, 0CFH, 03EH, 0F8H, 000H, 08FH, 000H, 0F8H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0F0H, 000H, 007H, 000H, 0F0H, 000H, 007H, 000H, 0E0H DB 000H, 000H, 000H, 000H, 000H, 023H, 000H, 000H, 000H, 063H, 080H, 006H, 000H, 047H, 080H, 01EH, 000H, 0C7H, 0C7H, 01EH, 000H, 0C7H, 0FFH, 0FEH, 000H, 0C7H, 0FFH, 0FCH, 000H, 0C7H, 0FFH, 0FCH DB 000H, 0CFH, 0FFH, 0FEH, 000H, 06FH, 0FFH, 0FEH, 000H, 06FH, 08FH, 08EH, 000H, 0E7H, 00FH, 086H, 000H, 0F7H, 08FH, 08EH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH DB 001H, 0FBH, 01FH, 0C4H, 003H, 0FAH, 0FFH, 0F8H, 003H, 0FDH, 09FH, 0E2H, 003H, 0FAH, 07FH, 0F4H, 003H, 0FDH, 03FH, 0E0H, 003H, 0FDH, 08CH, 018H, 003H, 0CFH, 0E1H, 0F8H, 003H, 0C7H, 0FFH, 0F8H DB 003H, 0CFH, 0FFH, 0B8H, 001H, 0CFH, 0FFH, 078H, 001H, 0CFH, 03EH, 0F8H, 000H, 08FH, 000H, 0F8H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0F0H, 000H, 007H, 000H, 0F0H, 000H, 007H, 000H, 0E0H DB 000H, 000H, 000H, 000H, 000H, 023H, 000H, 000H, 000H, 063H, 080H, 006H, 000H, 046H, 080H, 01EH, 000H, 0C4H, 0C7H, 01EH, 000H, 0C4H, 07FH, 0FEH, 000H, 0C7H, 0FFH, 0FCH, 000H, 0C7H, 0FFH, 0FCH DB 000H, 0CFH, 0FFH, 0FEH, 000H, 06FH, 0FFH, 0FEH, 000H, 06FH, 08FH, 08EH, 000H, 0E7H, 00FH, 086H, 000H, 0F7H, 08FH, 08EH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH, 001H, 0F7H, 0FFH, 0FEH DB 001H, 0FBH, 01DH, 0C4H, 003H, 0FAH, 0FFH, 0F8H, 003H, 0FDH, 09FH, 0E2H, 003H, 0FAH, 07FH, 0F4H, 003H, 0FDH, 03FH, 0E0H, 003H, 0FDH, 08CH, 018H, 003H, 0CFH, 0E1H, 0F8H, 003H, 0C7H, 0FFH, 0F8H DB 003H, 0CFH, 0FFH, 0B8H, 001H, 0CFH, 0FFH, 078H, 001H, 0CFH, 03EH, 0F8H, 000H, 08FH, 000H, 0F8H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0F0H, 000H, 007H, 000H, 0F0H, 000H, 007H, 000H, 0E0H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 0C0H, 000H, 038H, 0C0H, 070H, 000H, 0F8H, 080H, 078H, 0E1H, 0F9H, 080H, 03FH, 0FFH, 0F1H, 080H, 03FH, 0FFH, 0F1H, 080H, 03FH, 0FFH, 0F3H, 000H DB 03FH, 0FFH, 0F3H, 000H, 07FH, 0FFH, 0F6H, 000H, 071H, 0F1H, 0F6H, 000H, 061H, 0F0H, 0E7H, 000H, 071H, 0F1H, 0EFH, 000H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H DB 023H, 0F8H, 0DFH, 0C0H, 01FH, 0FFH, 05FH, 0C0H, 047H, 0F9H, 0BFH, 0C0H, 02FH, 0FEH, 05FH, 0C0H, 007H, 0FCH, 0BFH, 0C0H, 008H, 031H, 0BBH, 0C0H, 00FH, 087H, 0FBH, 0C0H, 00FH, 0FFH, 0F3H, 0C0H DB 00FH, 0FFH, 0F7H, 0C0H, 01FH, 0FFH, 0F7H, 0C0H, 03CH, 0FFH, 0F1H, 080H, 07EH, 07FH, 0F0H, 000H, 07FH, 001H, 0F8H, 000H, 07EH, 000H, 0F8H, 000H, 078H, 000H, 078H, 000H, 000H, 000H, 078H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 0C0H, 000H, 038H, 0C0H, 070H, 000H, 0F8H, 080H, 078H, 0E1H, 0F9H, 080H, 03FH, 0FFH, 0F1H, 080H, 03FH, 0FFH, 0F1H, 080H, 03FH, 0FFH, 0F3H, 000H DB 03FH, 0FFH, 0F3H, 000H, 07FH, 0FFH, 0F6H, 000H, 071H, 0F1H, 0F6H, 000H, 061H, 0F0H, 0E7H, 000H, 071H, 0F1H, 0EFH, 000H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H DB 023H, 0F8H, 0DFH, 0C0H, 01FH, 0FFH, 05FH, 0C0H, 047H, 0F9H, 0BFH, 0C0H, 02FH, 0FEH, 05FH, 0C0H, 007H, 0FCH, 0BFH, 0C0H, 008H, 031H, 0BBH, 0C0H, 00FH, 087H, 0FBH, 0C0H, 00FH, 0FFH, 0F3H, 0C0H DB 00FH, 0FFH, 0F7H, 0C0H, 01FH, 0FFH, 0F7H, 0C0H, 03CH, 0FFH, 0F1H, 080H, 07EH, 07FH, 0F0H, 000H, 07FH, 001H, 0F8H, 000H, 07EH, 000H, 0F8H, 000H, 078H, 000H, 078H, 000H, 000H, 000H, 078H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 0C0H, 000H, 038H, 0C0H, 070H, 000H, 0C8H, 080H, 078H, 0E1H, 089H, 080H, 03FH, 0FFH, 091H, 080H, 03FH, 0FFH, 0F1H, 080H, 03FH, 0FFH, 0F3H, 000H DB 03FH, 0FFH, 0F3H, 000H, 07FH, 0FFH, 0F6H, 000H, 071H, 0F1H, 0F6H, 000H, 061H, 0F0H, 0E7H, 000H, 071H, 0F1H, 0EFH, 000H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H DB 023H, 0B8H, 0DFH, 0C0H, 01FH, 0FFH, 05FH, 0C0H, 047H, 0F9H, 0BFH, 0C0H, 02FH, 0FEH, 05FH, 0C0H, 007H, 0FCH, 0BFH, 0C0H, 008H, 031H, 0BBH, 0C0H, 00FH, 087H, 0FBH, 0C0H, 00FH, 0FFH, 0F3H, 0C0H DB 00FH, 0FFH, 0F7H, 0C0H, 01FH, 0FFH, 0F7H, 0C0H, 03CH, 0FFH, 0F1H, 080H, 07EH, 07FH, 0F0H, 000H, 07FH, 001H, 0F8H, 000H, 07EH, 000H, 0F8H, 000H, 078H, 000H, 078H, 000H, 000H, 000H, 078H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 0C4H, 000H, 060H, 001H, 0C6H, 000H, 078H, 001H, 0E2H, 000H, 078H, 0E3H, 0E3H, 000H, 07FH, 0FFH, 0E3H, 000H, 03FH, 0FFH, 0E3H, 000H, 03FH, 0FFH, 0E3H, 000H DB 07FH, 0FFH, 0F3H, 000H, 07FH, 0FFH, 0F6H, 000H, 071H, 0F1H, 0F6H, 000H, 061H, 0F0H, 0E7H, 000H, 071H, 0F1H, 0EFH, 000H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H DB 023H, 0F8H, 0DFH, 080H, 01FH, 0FFH, 05FH, 0C0H, 047H, 0F9H, 0BFH, 0C0H, 02FH, 0FEH, 05FH, 0C0H, 007H, 0FCH, 0BFH, 0C0H, 018H, 031H, 0BFH, 0C0H, 01FH, 087H, 0F3H, 0C0H, 01FH, 0FFH, 0E3H, 0C0H DB 01DH, 0FFH, 0F3H, 0C0H, 01EH, 0FFH, 0F3H, 080H, 01FH, 07CH, 0F3H, 080H, 01FH, 000H, 0F1H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0E0H, 000H, 007H, 000H, 0E0H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 0C4H, 000H, 060H, 001H, 0C6H, 000H, 078H, 001H, 0E2H, 000H, 078H, 0E3H, 0E3H, 000H, 07FH, 0FFH, 0E3H, 000H, 03FH, 0FFH, 0E3H, 000H, 03FH, 0FFH, 0E3H, 000H DB 07FH, 0FFH, 0F3H, 000H, 07FH, 0FFH, 0F6H, 000H, 071H, 0F1H, 0F6H, 000H, 061H, 0F0H, 0E7H, 000H, 071H, 0F1H, 0EFH, 000H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H DB 023H, 0F8H, 0DFH, 080H, 01FH, 0FFH, 05FH, 0C0H, 047H, 0F9H, 0BFH, 0C0H, 02FH, 0FEH, 05FH, 0C0H, 007H, 0FCH, 0BFH, 0C0H, 018H, 031H, 0BFH, 0C0H, 01FH, 087H, 0F3H, 0C0H, 01FH, 0FFH, 0E3H, 0C0H DB 01DH, 0FFH, 0F3H, 0C0H, 01EH, 0FFH, 0F3H, 080H, 01FH, 07CH, 0F3H, 080H, 01FH, 000H, 0F1H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0E0H, 000H, 007H, 000H, 0E0H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 0C4H, 000H, 060H, 001H, 0C6H, 000H, 078H, 001H, 062H, 000H, 078H, 0E3H, 023H, 000H, 07FH, 0FEH, 023H, 000H, 03FH, 0FFH, 0E3H, 000H, 03FH, 0FFH, 0E3H, 000H DB 07FH, 0FFH, 0F3H, 000H, 07FH, 0FFH, 0F6H, 000H, 071H, 0F1H, 0F6H, 000H, 061H, 0F0H, 0E7H, 000H, 071H, 0F1H, 0EFH, 000H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H DB 023H, 0B8H, 0DFH, 080H, 01FH, 0FFH, 05FH, 0C0H, 047H, 0F9H, 0BFH, 0C0H, 02FH, 0FEH, 05FH, 0C0H, 007H, 0FCH, 0BFH, 0C0H, 018H, 031H, 0BFH, 0C0H, 01FH, 087H, 0F3H, 0C0H, 01FH, 0FFH, 0E3H, 0C0H DB 01DH, 0FFH, 0F3H, 0C0H, 01EH, 0FFH, 0F3H, 080H, 01FH, 07CH, 0F3H, 080H, 01FH, 000H, 0F1H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0E0H, 000H, 007H, 000H, 0E0H, 000H DB 0C0H, 000H, 030H, 000H, 0F0H, 000H, 0F1H, 080H, 0F8H, 001H, 0F1H, 080H, 0F8H, 001H, 0F1H, 080H, 0F8H, 0E3H, 0E3H, 000H, 07FH, 0FFH, 0E3H, 000H, 07FH, 0FFH, 0E3H, 000H, 07FH, 0FFH, 0E3H, 000H DB 07FH, 0FFH, 0F3H, 000H, 07FH, 0FFH, 0F6H, 000H, 071H, 0F1H, 0F6H, 000H, 061H, 0F0H, 0E7H, 000H, 071H, 0F1H, 0EFH, 000H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H DB 023H, 0F8H, 0DFH, 0C0H, 01FH, 0FFH, 05FH, 0E0H, 047H, 0F9H, 0BFH, 0E0H, 02FH, 0FEH, 05FH, 0F0H, 007H, 0FCH, 0BFH, 0F0H, 008H, 031H, 0B8H, 0F0H, 00FH, 087H, 0F8H, 0F0H, 00FH, 0FFH, 0F0H, 0F0H DB 00FH, 0FFH, 0F0H, 060H, 00CH, 0FDH, 0F0H, 000H, 00EH, 0FBH, 0F0H, 000H, 007H, 07BH, 0E0H, 000H, 007H, 083H, 0E0H, 000H, 003H, 0E7H, 0E0H, 000H, 000H, 0E7H, 0C0H, 000H, 000H, 003H, 080H, 000H DB 0C0H, 000H, 030H, 000H, 0F0H, 000H, 0F1H, 080H, 0F8H, 001H, 0F1H, 080H, 0F8H, 001H, 0F1H, 080H, 0F8H, 0E3H, 0E3H, 000H, 07FH, 0FFH, 0E3H, 000H, 07FH, 0FFH, 0E3H, 000H, 07FH, 0FFH, 0E3H, 000H DB 07FH, 0FFH, 0F3H, 000H, 07FH, 0FFH, 0F6H, 000H, 071H, 0F1H, 0F6H, 000H, 061H, 0F0H, 0E7H, 000H, 071H, 0F1H, 0EFH, 000H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H DB 023H, 0F8H, 0DFH, 0C0H, 01FH, 0FFH, 05FH, 0E0H, 047H, 0F9H, 0BFH, 0E0H, 02FH, 0FEH, 05FH, 0F0H, 007H, 0FCH, 0BFH, 0F0H, 008H, 031H, 0B8H, 0F0H, 00FH, 087H, 0F8H, 0F0H, 00FH, 0FFH, 0F0H, 0F0H DB 00FH, 0FFH, 0F0H, 060H, 00CH, 0FDH, 0F0H, 000H, 00EH, 0FBH, 0F0H, 000H, 007H, 07BH, 0E0H, 000H, 007H, 083H, 0E0H, 000H, 003H, 0E7H, 0E0H, 000H, 000H, 0E7H, 0C0H, 000H, 000H, 003H, 080H, 000H DB 0C0H, 000H, 030H, 000H, 0F0H, 000H, 0D1H, 080H, 0F8H, 001H, 0B1H, 080H, 0F8H, 001H, 031H, 080H, 0F8H, 0E3H, 023H, 000H, 07FH, 0FFH, 0E3H, 000H, 07FH, 0FFH, 0E3H, 000H, 07FH, 0FFH, 0E3H, 000H DB 07FH, 0FFH, 0F3H, 000H, 07FH, 0FFH, 0F6H, 000H, 071H, 0F1H, 0F6H, 000H, 061H, 0F0H, 0E7H, 000H, 071H, 0F1H, 0EFH, 000H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H DB 023H, 0B8H, 0DFH, 0C0H, 01FH, 0FFH, 05FH, 0E0H, 047H, 0F9H, 0BFH, 0E0H, 02FH, 0FEH, 05FH, 0F0H, 007H, 0FCH, 0BFH, 0F0H, 008H, 031H, 0B8H, 0F0H, 00FH, 087H, 0F8H, 0F0H, 00FH, 0FFH, 0F0H, 0F0H DB 00FH, 0FFH, 0F0H, 060H, 00CH, 0FDH, 0F0H, 000H, 00EH, 0FBH, 0F0H, 000H, 007H, 07BH, 0E0H, 000H, 007H, 083H, 0E0H, 000H, 003H, 0E7H, 0E0H, 000H, 000H, 0E7H, 0C0H, 000H, 000H, 003H, 080H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 0C4H, 000H, 060H, 001H, 0C6H, 000H, 078H, 001H, 0E2H, 000H, 078H, 0E3H, 0E3H, 000H, 07FH, 0FFH, 0E3H, 000H, 03FH, 0FFH, 0E3H, 000H, 03FH, 0FFH, 0E3H, 000H DB 07FH, 0FFH, 0F3H, 000H, 07FH, 0FFH, 0F6H, 000H, 071H, 0F1H, 0F6H, 000H, 061H, 0F0H, 0E7H, 000H, 071H, 0F1H, 0EFH, 000H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H DB 023H, 0F8H, 0DFH, 080H, 01FH, 0FFH, 05FH, 0C0H, 047H, 0F9H, 0BFH, 0C0H, 02FH, 0FEH, 05FH, 0C0H, 007H, 0FCH, 0BFH, 0C0H, 018H, 031H, 0BFH, 0C0H, 01FH, 087H, 0F3H, 0C0H, 01FH, 0FFH, 0E3H, 0C0H DB 01DH, 0FFH, 0F3H, 0C0H, 01EH, 0FFH, 0F3H, 080H, 01FH, 07CH, 0F3H, 080H, 01FH, 000H, 0F1H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0E0H, 000H, 007H, 000H, 0E0H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 0C4H, 000H, 060H, 001H, 0C6H, 000H, 078H, 001H, 0E2H, 000H, 078H, 0E3H, 0E3H, 000H, 07FH, 0FFH, 0E3H, 000H, 03FH, 0FFH, 0E3H, 000H, 03FH, 0FFH, 0E3H, 000H DB 07FH, 0FFH, 0F3H, 000H, 07FH, 0FFH, 0F6H, 000H, 071H, 0F1H, 0F6H, 000H, 061H, 0F0H, 0E7H, 000H, 071H, 0F1H, 0EFH, 000H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H DB 023H, 0F8H, 0DFH, 080H, 01FH, 0FFH, 05FH, 0C0H, 047H, 0F9H, 0BFH, 0C0H, 02FH, 0FEH, 05FH, 0C0H, 007H, 0FCH, 0BFH, 0C0H, 018H, 031H, 0BFH, 0C0H, 01FH, 087H, 0F3H, 0C0H, 01FH, 0FFH, 0E3H, 0C0H DB 01DH, 0FFH, 0F3H, 0C0H, 01EH, 0FFH, 0F3H, 080H, 01FH, 07CH, 0F3H, 080H, 01FH, 000H, 0F1H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0E0H, 000H, 007H, 000H, 0E0H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 0C4H, 000H, 060H, 001H, 0C6H, 000H, 078H, 001H, 062H, 000H, 078H, 0E3H, 023H, 000H, 07FH, 0FEH, 023H, 000H, 03FH, 0FFH, 0E3H, 000H, 03FH, 0FFH, 0E3H, 000H DB 07FH, 0FFH, 0F3H, 000H, 07FH, 0FFH, 0F6H, 000H, 071H, 0F1H, 0F6H, 000H, 061H, 0F0H, 0E7H, 000H, 071H, 0F1H, 0EFH, 000H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H, 07FH, 0FFH, 0EFH, 080H DB 023H, 0B8H, 0DFH, 080H, 01FH, 0FFH, 05FH, 0C0H, 047H, 0F9H, 0BFH, 0C0H, 02FH, 0FEH, 05FH, 0C0H, 007H, 0FCH, 0BFH, 0C0H, 018H, 031H, 0BFH, 0C0H, 01FH, 087H, 0F3H, 0C0H, 01FH, 0FFH, 0E3H, 0C0H DB 01DH, 0FFH, 0F3H, 0C0H, 01EH, 0FFH, 0F3H, 080H, 01FH, 07CH, 0F3H, 080H, 01FH, 000H, 0F1H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0F0H, 000H, 00FH, 000H, 0E0H, 000H, 007H, 000H, 0E0H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 031H, 0C0H, 000H, 030H, 011H, 0F0H, 000H, 0E0H, 019H, 0F8H, 071H, 0E0H, 018H, 0FFH, 0FFH, 0C0H, 018H, 0FFH, 0FFH, 0C0H, 00CH, 0FFH, 0FFH, 0C0H DB 00CH, 0FFH, 0FFH, 0C0H, 006H, 0FFH, 0FFH, 0E0H, 006H, 0F8H, 0F8H, 0E0H, 00EH, 070H, 0F8H, 060H, 00FH, 078H, 0F8H, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H DB 03FH, 0B1H, 0FCH, 040H, 03FH, 0AFH, 0FFH, 080H, 03FH, 0D9H, 0FEH, 038H, 03FH, 0A7H, 0FFH, 07CH, 03FH, 0D3H, 0FEH, 054H, 03DH, 0D8H, 0C1H, 0EAH, 03DH, 0FEH, 01FH, 0D6H, 03CH, 0FFH, 0FFH, 0FCH DB 03EH, 0FFH, 0FFH, 0F8H, 03EH, 0FFH, 0FFH, 080H, 018H, 0FFH, 0E0H, 000H, 000H, 0FFH, 0DCH, 000H, 001H, 0F8H, 018H, 000H, 001H, 0F0H, 000H, 000H, 001H, 0E0H, 000H, 000H, 001H, 0E0H, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 031H, 0C0H, 000H, 030H, 011H, 0F0H, 000H, 0E0H, 019H, 0F8H, 071H, 0E0H, 018H, 0FFH, 0FFH, 0C0H, 018H, 0FFH, 0FFH, 0C0H, 00CH, 0FFH, 0FFH, 0C0H DB 00CH, 0FFH, 0FFH, 0C0H, 006H, 0FFH, 0FFH, 0E0H, 006H, 0F8H, 0F8H, 0E0H, 00EH, 070H, 0F8H, 060H, 00FH, 078H, 0F8H, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H DB 03FH, 0B1H, 0FCH, 040H, 03FH, 0AFH, 0FFH, 080H, 03FH, 0D9H, 0FEH, 038H, 03FH, 0A7H, 0FFH, 07CH, 03FH, 0D3H, 0FEH, 07CH, 03DH, 0D8H, 0C1H, 0FEH, 03DH, 0FEH, 01FH, 0FEH, 03CH, 0FFH, 0FFH, 0FCH DB 03EH, 0FFH, 0FFH, 0F8H, 03EH, 0FFH, 0FFH, 080H, 018H, 0FFH, 0E0H, 000H, 000H, 0FFH, 0DCH, 000H, 001H, 0F8H, 018H, 000H, 001H, 0F0H, 000H, 000H, 001H, 0E0H, 000H, 000H, 001H, 0E0H, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 031H, 0C0H, 000H, 030H, 011H, 030H, 000H, 0E0H, 019H, 018H, 071H, 0E0H, 018H, 09FH, 0FFH, 0C0H, 018H, 0FFH, 0FFH, 0C0H, 00CH, 0FFH, 0FFH, 0C0H DB 00CH, 0FFH, 0FFH, 0C0H, 006H, 0FFH, 0FFH, 0E0H, 006H, 0F8H, 0F8H, 0E0H, 00EH, 070H, 0F8H, 060H, 00FH, 078H, 0F8H, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H DB 03FH, 0B1H, 0DCH, 040H, 03FH, 0AFH, 0FFH, 080H, 03FH, 0D9H, 0FEH, 038H, 03FH, 0A7H, 0FFH, 07CH, 03FH, 0D3H, 0FEH, 068H, 03DH, 0D8H, 0C1H, 0D6H, 03DH, 0FEH, 01FH, 0EAH, 03CH, 0FFH, 0FFH, 0ECH DB 03EH, 0FFH, 0FFH, 0F8H, 03EH, 0FFH, 0FFH, 080H, 018H, 0FFH, 0E0H, 000H, 000H, 0FFH, 0DCH, 000H, 001H, 0F8H, 018H, 000H, 001H, 0F0H, 000H, 000H, 001H, 0E0H, 000H, 000H, 001H, 0E0H, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 031H, 0C0H, 000H, 030H, 011H, 0F0H, 000H, 0E0H, 019H, 0F8H, 071H, 0E0H, 018H, 0FFH, 0FFH, 0C0H, 018H, 0FFH, 0FFH, 0C0H, 00CH, 0FFH, 0FFH, 0C0H DB 00CH, 0FFH, 0FFH, 0C0H, 006H, 0FFH, 0FFH, 0E0H, 006H, 0F8H, 0F8H, 0E0H, 00EH, 070H, 0F8H, 060H, 00FH, 078H, 0F8H, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H DB 03FH, 0B1H, 0FCH, 040H, 03FH, 0AFH, 0FFH, 080H, 03FH, 0D9H, 0FEH, 000H, 03FH, 0A7H, 0FFH, 000H, 03FH, 0D3H, 0FEH, 040H, 03DH, 0D8H, 0C1H, 0F0H, 03DH, 0FEH, 01FH, 0F8H, 03CH, 0FFH, 0FFH, 0F8H DB 03EH, 0FFH, 0FFH, 0FCH, 03EH, 0FFH, 0FFH, 0FCH, 018H, 0FFH, 0E0H, 07CH, 000H, 0FFH, 0DCH, 07CH, 001H, 0F8H, 018H, 038H, 001H, 0F0H, 000H, 000H, 001H, 0E0H, 000H, 000H, 001H, 0E0H, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 031H, 0C0H, 000H, 030H, 011H, 0F0H, 000H, 0E0H, 019H, 0F8H, 071H, 0E0H, 018H, 0FFH, 0FFH, 0C0H, 018H, 0FFH, 0FFH, 0C0H, 00CH, 0FFH, 0FFH, 0C0H DB 00CH, 0FFH, 0FFH, 0C0H, 006H, 0FFH, 0FFH, 0E0H, 006H, 0F8H, 0F8H, 0E0H, 00EH, 070H, 0F8H, 060H, 00FH, 078H, 0F8H, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H DB 03FH, 0B1H, 0FCH, 040H, 03FH, 0AFH, 0FFH, 080H, 03FH, 0D9H, 0FEH, 000H, 03FH, 0A7H, 0FFH, 000H, 03FH, 0D3H, 0FEH, 040H, 03DH, 0D8H, 0C1H, 0F0H, 03DH, 0FEH, 01FH, 0F8H, 03CH, 0FFH, 0FFH, 0F8H DB 03EH, 0FFH, 0FFH, 0FCH, 03EH, 0FFH, 0FFH, 0FCH, 018H, 0FFH, 0E0H, 07CH, 000H, 0FFH, 0DCH, 07CH, 001H, 0F8H, 018H, 038H, 001H, 0F0H, 000H, 000H, 001H, 0E0H, 000H, 000H, 001H, 0E0H, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 031H, 0C0H, 000H, 030H, 011H, 030H, 000H, 0E0H, 019H, 018H, 071H, 0E0H, 018H, 09FH, 0FFH, 0C0H, 018H, 0FFH, 0FFH, 0C0H, 00CH, 0FFH, 0FFH, 0C0H DB 00CH, 0FFH, 0FFH, 0C0H, 006H, 0FFH, 0FFH, 0E0H, 006H, 0F8H, 0F8H, 0E0H, 00EH, 070H, 0F8H, 060H, 00FH, 078H, 0F8H, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H DB 03FH, 0B1H, 0DCH, 040H, 03FH, 0AFH, 0FFH, 080H, 03FH, 0D9H, 0FEH, 000H, 03FH, 0A7H, 0FFH, 000H, 03FH, 0D3H, 0FEH, 040H, 03DH, 0D8H, 0C1H, 0F0H, 03DH, 0FEH, 01FH, 0F8H, 03CH, 0FFH, 0FFH, 0F8H DB 03EH, 0FFH, 0FFH, 0FCH, 03EH, 0FFH, 0FFH, 0FCH, 018H, 0FFH, 0E0H, 07CH, 000H, 0FFH, 0DCH, 07CH, 001H, 0F8H, 018H, 038H, 001H, 0F0H, 000H, 000H, 001H, 0E0H, 000H, 000H, 001H, 0E0H, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 031H, 0C0H, 000H, 030H, 011H, 0F0H, 000H, 0E0H, 019H, 0F8H, 071H, 0E0H, 018H, 0FFH, 0FFH, 0C0H, 018H, 0FFH, 0FFH, 0C0H, 00CH, 0FFH, 0FFH, 0C0H DB 00CH, 0FFH, 0FFH, 0C0H, 006H, 0FFH, 0FFH, 0E0H, 006H, 0F8H, 0F8H, 0E0H, 00EH, 070H, 0F8H, 060H, 00FH, 078H, 0F8H, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H DB 03FH, 0B1H, 0FCH, 040H, 03FH, 0AFH, 0FFH, 080H, 03FH, 0D9H, 0FEH, 028H, 03FH, 0A7H, 0FFH, 054H, 03FH, 0D3H, 0FEH, 028H, 03DH, 0D8H, 0C1H, 0F6H, 03DH, 0FEH, 01FH, 0EAH, 03CH, 0FFH, 0FFH, 0FCH DB 03EH, 0FFH, 0FFH, 0F8H, 03EH, 0FFH, 0FFH, 080H, 018H, 0FFH, 0E0H, 000H, 000H, 0FFH, 0DCH, 000H, 001H, 0F8H, 018H, 000H, 001H, 0F0H, 000H, 000H, 001H, 0E0H, 000H, 000H, 001H, 0E0H, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 031H, 0C0H, 000H, 030H, 011H, 0F0H, 000H, 0E0H, 019H, 0F8H, 071H, 0E0H, 018H, 0FFH, 0FFH, 0C0H, 018H, 0FFH, 0FFH, 0C0H, 00CH, 0FFH, 0FFH, 0C0H DB 00CH, 0FFH, 0FFH, 0C0H, 006H, 0FFH, 0FFH, 0E0H, 006H, 0F8H, 0F8H, 0E0H, 00EH, 070H, 0F8H, 060H, 00FH, 078H, 0F8H, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H DB 03FH, 0B1H, 0FCH, 040H, 03FH, 0AFH, 0FFH, 080H, 03FH, 0D9H, 0FEH, 028H, 03FH, 0A7H, 0FFH, 05CH, 03FH, 0D3H, 0FEH, 03CH, 03DH, 0D8H, 0C1H, 0FEH, 03DH, 0FEH, 01FH, 0FEH, 03CH, 0FFH, 0FFH, 0FCH DB 03EH, 0FFH, 0FFH, 0F8H, 03EH, 0FFH, 0FFH, 080H, 018H, 0FFH, 0E0H, 000H, 000H, 0FFH, 0DCH, 000H, 001H, 0F8H, 018H, 000H, 001H, 0F0H, 000H, 000H, 001H, 0E0H, 000H, 000H, 001H, 0E0H, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 031H, 0C0H, 000H, 030H, 011H, 030H, 000H, 0E0H, 019H, 018H, 071H, 0E0H, 018H, 09FH, 0FFH, 0C0H, 018H, 0FFH, 0FFH, 0C0H, 00CH, 0FFH, 0FFH, 0C0H DB 00CH, 0FFH, 0FFH, 0C0H, 006H, 0FFH, 0FFH, 0E0H, 006H, 0F8H, 0F8H, 0E0H, 00EH, 070H, 0F8H, 060H, 00FH, 078H, 0F8H, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H DB 03FH, 0B1H, 0DCH, 040H, 03FH, 0AFH, 0FFH, 080H, 03FH, 0D9H, 0FEH, 028H, 03FH, 0A7H, 0FFH, 05CH, 03FH, 0D3H, 0FEH, 014H, 03DH, 0D8H, 0C1H, 0EAH, 03DH, 0FEH, 01FH, 0F6H, 03CH, 0FFH, 0FFH, 0ECH DB 03EH, 0FFH, 0FFH, 0F8H, 03EH, 0FFH, 0FFH, 080H, 018H, 0FFH, 0E0H, 000H, 000H, 0FFH, 0DCH, 000H, 001H, 0F8H, 018H, 000H, 001H, 0F0H, 000H, 000H, 001H, 0E0H, 000H, 000H, 001H, 0E0H, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 031H, 0C0H, 000H, 030H, 011H, 0F0H, 000H, 0E0H, 019H, 0F8H, 071H, 0E0H, 018H, 0FFH, 0FFH, 0C0H, 018H, 0FFH, 0FFH, 0C0H, 00CH, 0FFH, 0FFH, 0C0H DB 00CH, 0FFH, 0FFH, 0C0H, 006H, 0FFH, 0FFH, 0E0H, 006H, 0F8H, 0F8H, 0E0H, 00EH, 070H, 0F8H, 060H, 00FH, 078H, 0F8H, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H DB 03FH, 0B1H, 0FCH, 040H, 03FH, 0AFH, 0FFH, 080H, 03FH, 0D9H, 0FEH, 000H, 03FH, 0A7H, 0FFH, 000H, 03FH, 0D3H, 0FEH, 040H, 03DH, 0D8H, 0C1H, 0F0H, 03DH, 0FEH, 01FH, 0F8H, 03CH, 0FFH, 0FFH, 0F8H DB 03EH, 0FFH, 0FFH, 0FCH, 03EH, 0FFH, 0FFH, 0FCH, 018H, 0FFH, 0E0H, 07CH, 000H, 0FFH, 0DCH, 07CH, 001H, 0F8H, 018H, 038H, 001H, 0F0H, 000H, 000H, 001H, 0E0H, 000H, 000H, 001H, 0E0H, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 031H, 0C0H, 000H, 030H, 011H, 0F0H, 000H, 0E0H, 019H, 0F8H, 071H, 0E0H, 018H, 0FFH, 0FFH, 0C0H, 018H, 0FFH, 0FFH, 0C0H, 00CH, 0FFH, 0FFH, 0C0H DB 00CH, 0FFH, 0FFH, 0C0H, 006H, 0FFH, 0FFH, 0E0H, 006H, 0F8H, 0F8H, 0E0H, 00EH, 070H, 0F8H, 060H, 00FH, 078H, 0F8H, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H DB 03FH, 0B1H, 0FCH, 040H, 03FH, 0AFH, 0FFH, 080H, 03FH, 0D9H, 0FEH, 000H, 03FH, 0A7H, 0FFH, 000H, 03FH, 0D3H, 0FEH, 040H, 03DH, 0D8H, 0C1H, 0F0H, 03DH, 0FEH, 01FH, 0F8H, 03CH, 0FFH, 0FFH, 0F8H DB 03EH, 0FFH, 0FFH, 0FCH, 03EH, 0FFH, 0FFH, 0FCH, 018H, 0FFH, 0E0H, 07CH, 000H, 0FFH, 0DCH, 07CH, 001H, 0F8H, 018H, 038H, 001H, 0F0H, 000H, 000H, 001H, 0E0H, 000H, 000H, 001H, 0E0H, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 031H, 0C0H, 000H, 030H, 011H, 030H, 000H, 0E0H, 019H, 018H, 071H, 0E0H, 018H, 09FH, 0FFH, 0C0H, 018H, 0FFH, 0FFH, 0C0H, 00CH, 0FFH, 0FFH, 0C0H DB 00CH, 0FFH, 0FFH, 0C0H, 006H, 0FFH, 0FFH, 0E0H, 006H, 0F8H, 0F8H, 0E0H, 00EH, 070H, 0F8H, 060H, 00FH, 078H, 0F8H, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H, 01FH, 07FH, 0FFH, 0E0H DB 03FH, 0B1H, 0DCH, 040H, 03FH, 0AFH, 0FFH, 080H, 03FH, 0D9H, 0FEH, 000H, 03FH, 0A7H, 0FFH, 000H, 03FH, 0D3H, 0FEH, 040H, 03DH, 0D8H, 0C1H, 0F0H, 03DH, 0FEH, 01FH, 0F8H, 03CH, 0FFH, 0FFH, 0F8H DB 03EH, 0FFH, 0FFH, 0FCH, 03EH, 0FFH, 0FFH, 0FCH, 018H, 0FFH, 0E0H, 07CH, 000H, 0FFH, 0DCH, 07CH, 001H, 0F8H, 018H, 038H, 001H, 0F0H, 000H, 000H, 001H, 0E0H, 000H, 000H, 001H, 0E0H, 000H, 000H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 00CH, 000H, 003H, 08CH, 007H, 000H, 00FH, 088H, 007H, 08EH, 01FH, 098H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 030H DB 003H, 0FFH, 0FFH, 030H, 007H, 0FFH, 0FFH, 060H, 007H, 01FH, 01FH, 060H, 006H, 01FH, 00EH, 070H, 007H, 01FH, 01EH, 0F0H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H DB 002H, 03FH, 08DH, 0FCH, 001H, 0FFH, 0F5H, 0FCH, 01CH, 07FH, 09BH, 0FCH, 03EH, 0FFH, 0E5H, 0FCH, 02AH, 07FH, 0CBH, 0FCH, 057H, 083H, 01BH, 0BCH, 06BH, 0F8H, 07FH, 0BCH, 03FH, 0FFH, 0FFH, 03CH DB 01FH, 0FFH, 0FFH, 07CH, 001H, 0FFH, 0FFH, 07CH, 000H, 007H, 0FFH, 018H, 000H, 03BH, 0FFH, 000H, 000H, 018H, 01FH, 080H, 000H, 000H, 00FH, 080H, 000H, 000H, 007H, 080H, 000H, 000H, 007H, 080H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 00CH, 000H, 003H, 08CH, 007H, 000H, 00FH, 088H, 007H, 08EH, 01FH, 098H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 030H DB 003H, 0FFH, 0FFH, 030H, 007H, 0FFH, 0FFH, 060H, 007H, 01FH, 01FH, 060H, 006H, 01FH, 00EH, 070H, 007H, 01FH, 01EH, 0F0H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H DB 002H, 03FH, 08DH, 0FCH, 001H, 0FFH, 0F5H, 0FCH, 01CH, 07FH, 09BH, 0FCH, 03EH, 0FFH, 0E5H, 0FCH, 03EH, 07FH, 0CBH, 0FCH, 07FH, 083H, 01BH, 0BCH, 07FH, 0F8H, 07FH, 0BCH, 03FH, 0FFH, 0FFH, 03CH DB 01FH, 0FFH, 0FFH, 07CH, 001H, 0FFH, 0FFH, 07CH, 000H, 007H, 0FFH, 018H, 000H, 03BH, 0FFH, 000H, 000H, 018H, 01FH, 080H, 000H, 000H, 00FH, 080H, 000H, 000H, 007H, 080H, 000H, 000H, 007H, 080H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 00CH, 000H, 003H, 08CH, 007H, 000H, 00CH, 088H, 007H, 08EH, 018H, 098H, 003H, 0FFH, 0F9H, 018H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 030H DB 003H, 0FFH, 0FFH, 030H, 007H, 0FFH, 0FFH, 060H, 007H, 01FH, 01FH, 060H, 006H, 01FH, 00EH, 070H, 007H, 01FH, 01EH, 0F0H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H DB 002H, 03BH, 08DH, 0FCH, 001H, 0FFH, 0F5H, 0FCH, 01CH, 07FH, 09BH, 0FCH, 03EH, 0FFH, 0E5H, 0FCH, 016H, 07FH, 0CBH, 0FCH, 06BH, 083H, 01BH, 0BCH, 057H, 0F8H, 07FH, 0BCH, 037H, 0FFH, 0FFH, 03CH DB 01FH, 0FFH, 0FFH, 07CH, 001H, 0FFH, 0FFH, 07CH, 000H, 007H, 0FFH, 018H, 000H, 03BH, 0FFH, 000H, 000H, 018H, 01FH, 080H, 000H, 000H, 00FH, 080H, 000H, 000H, 007H, 080H, 000H, 000H, 007H, 080H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 00CH, 000H, 003H, 08CH, 007H, 000H, 00FH, 088H, 007H, 08EH, 01FH, 098H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 030H DB 003H, 0FFH, 0FFH, 030H, 007H, 0FFH, 0FFH, 060H, 007H, 01FH, 01FH, 060H, 006H, 01FH, 00EH, 070H, 007H, 01FH, 01EH, 0F0H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H DB 002H, 03FH, 08DH, 0FCH, 001H, 0FFH, 0F5H, 0FCH, 000H, 07FH, 09BH, 0FCH, 000H, 0FFH, 0E5H, 0FCH, 002H, 07FH, 0CBH, 0FCH, 00FH, 083H, 01BH, 0BCH, 01FH, 0F8H, 07FH, 0BCH, 01FH, 0FFH, 0FFH, 03CH DB 03FH, 0FFH, 0FFH, 07CH, 03FH, 0FFH, 0FFH, 07CH, 03EH, 007H, 0FFH, 018H, 03EH, 03BH, 0FFH, 000H, 01CH, 018H, 01FH, 080H, 000H, 000H, 00FH, 080H, 000H, 000H, 007H, 080H, 000H, 000H, 007H, 080H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 00CH, 000H, 003H, 08CH, 007H, 000H, 00FH, 088H, 007H, 08EH, 01FH, 098H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 030H DB 003H, 0FFH, 0FFH, 030H, 007H, 0FFH, 0FFH, 060H, 007H, 01FH, 01FH, 060H, 006H, 01FH, 00EH, 070H, 007H, 01FH, 01EH, 0F0H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H DB 002H, 03FH, 08DH, 0FCH, 001H, 0FFH, 0F5H, 0FCH, 000H, 07FH, 09BH, 0FCH, 000H, 0FFH, 0E5H, 0FCH, 002H, 07FH, 0CBH, 0FCH, 00FH, 083H, 01BH, 0BCH, 01FH, 0F8H, 07FH, 0BCH, 01FH, 0FFH, 0FFH, 03CH DB 03FH, 0FFH, 0FFH, 07CH, 03FH, 0FFH, 0FFH, 07CH, 03EH, 007H, 0FFH, 018H, 03EH, 03BH, 0FFH, 000H, 01CH, 018H, 01FH, 080H, 000H, 000H, 00FH, 080H, 000H, 000H, 007H, 080H, 000H, 000H, 007H, 080H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 00CH, 000H, 003H, 08CH, 007H, 000H, 00CH, 088H, 007H, 08EH, 018H, 098H, 003H, 0FFH, 0F9H, 018H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 030H DB 003H, 0FFH, 0FFH, 030H, 007H, 0FFH, 0FFH, 060H, 007H, 01FH, 01FH, 060H, 006H, 01FH, 00EH, 070H, 007H, 01FH, 01EH, 0F0H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H DB 002H, 03BH, 08DH, 0FCH, 001H, 0FFH, 0F5H, 0FCH, 000H, 07FH, 09BH, 0FCH, 000H, 0FFH, 0E5H, 0FCH, 002H, 07FH, 0CBH, 0FCH, 00FH, 083H, 01BH, 0BCH, 01FH, 0F8H, 07FH, 0BCH, 01FH, 0FFH, 0FFH, 03CH DB 03FH, 0FFH, 0FFH, 07CH, 03FH, 0FFH, 0FFH, 07CH, 03EH, 007H, 0FFH, 018H, 03EH, 03BH, 0FFH, 000H, 01CH, 018H, 01FH, 080H, 000H, 000H, 00FH, 080H, 000H, 000H, 007H, 080H, 000H, 000H, 007H, 080H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 00CH, 000H, 003H, 08CH, 007H, 000H, 00FH, 088H, 007H, 08EH, 01FH, 098H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 030H DB 003H, 0FFH, 0FFH, 030H, 007H, 0FFH, 0FFH, 060H, 007H, 01FH, 01FH, 060H, 006H, 01FH, 00EH, 070H, 007H, 01FH, 01EH, 0F0H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H DB 002H, 03FH, 08DH, 0FCH, 001H, 0FFH, 0F5H, 0FCH, 014H, 07FH, 09BH, 0FCH, 02AH, 0FFH, 0E5H, 0FCH, 014H, 07FH, 0CBH, 0FCH, 06FH, 083H, 01BH, 0BCH, 057H, 0F8H, 07FH, 0BCH, 03FH, 0FFH, 0FFH, 03CH DB 01FH, 0FFH, 0FFH, 07CH, 001H, 0FFH, 0FFH, 07CH, 000H, 007H, 0FFH, 018H, 000H, 03BH, 0FFH, 000H, 000H, 018H, 01FH, 080H, 000H, 000H, 00FH, 080H, 000H, 000H, 007H, 080H, 000H, 000H, 007H, 080H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 00CH, 000H, 003H, 08CH, 007H, 000H, 00FH, 088H, 007H, 08EH, 01FH, 098H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 030H DB 003H, 0FFH, 0FFH, 030H, 007H, 0FFH, 0FFH, 060H, 007H, 01FH, 01FH, 060H, 006H, 01FH, 00EH, 070H, 007H, 01FH, 01EH, 0F0H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H DB 002H, 03FH, 08DH, 0FCH, 001H, 0FFH, 0F5H, 0FCH, 014H, 07FH, 09BH, 0FCH, 03AH, 0FFH, 0E5H, 0FCH, 03CH, 07FH, 0CBH, 0FCH, 07FH, 083H, 01BH, 0BCH, 07FH, 0F8H, 07FH, 0BCH, 03FH, 0FFH, 0FFH, 03CH DB 01FH, 0FFH, 0FFH, 07CH, 001H, 0FFH, 0FFH, 07CH, 000H, 007H, 0FFH, 018H, 000H, 03BH, 0FFH, 000H, 000H, 018H, 01FH, 080H, 000H, 000H, 00FH, 080H, 000H, 000H, 007H, 080H, 000H, 000H, 007H, 080H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 00CH, 000H, 003H, 08CH, 007H, 000H, 00CH, 088H, 007H, 08EH, 018H, 098H, 003H, 0FFH, 0F9H, 018H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 030H DB 003H, 0FFH, 0FFH, 030H, 007H, 0FFH, 0FFH, 060H, 007H, 01FH, 01FH, 060H, 006H, 01FH, 00EH, 070H, 007H, 01FH, 01EH, 0F0H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H DB 002H, 03BH, 08DH, 0FCH, 001H, 0FFH, 0F5H, 0FCH, 014H, 07FH, 09BH, 0FCH, 03AH, 0FFH, 0E5H, 0FCH, 028H, 07FH, 0CBH, 0FCH, 057H, 083H, 01BH, 0BCH, 06FH, 0F8H, 07FH, 0BCH, 037H, 0FFH, 0FFH, 03CH DB 01FH, 0FFH, 0FFH, 07CH, 001H, 0FFH, 0FFH, 07CH, 000H, 007H, 0FFH, 018H, 000H, 03BH, 0FFH, 000H, 000H, 018H, 01FH, 080H, 000H, 000H, 00FH, 080H, 000H, 000H, 007H, 080H, 000H, 000H, 007H, 080H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 00CH, 000H, 003H, 08CH, 007H, 000H, 00FH, 088H, 007H, 08EH, 01FH, 098H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 030H DB 003H, 0FFH, 0FFH, 030H, 007H, 0FFH, 0FFH, 060H, 007H, 01FH, 01FH, 060H, 006H, 01FH, 00EH, 070H, 007H, 01FH, 01EH, 0F0H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H DB 002H, 03FH, 08DH, 0FCH, 001H, 0FFH, 0F5H, 0FCH, 000H, 07FH, 09BH, 0FCH, 000H, 0FFH, 0E5H, 0FCH, 002H, 07FH, 0CBH, 0FCH, 00FH, 083H, 01BH, 0BCH, 01FH, 0F8H, 07FH, 0BCH, 01FH, 0FFH, 0FFH, 03CH DB 03FH, 0FFH, 0FFH, 07CH, 03FH, 0FFH, 0FFH, 07CH, 03EH, 007H, 0FFH, 018H, 03EH, 03BH, 0FFH, 000H, 01CH, 018H, 01FH, 080H, 000H, 000H, 00FH, 080H, 000H, 000H, 007H, 080H, 000H, 000H, 007H, 080H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 00CH, 000H, 003H, 08CH, 007H, 000H, 00FH, 088H, 007H, 08EH, 01FH, 098H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 030H DB 003H, 0FFH, 0FFH, 030H, 007H, 0FFH, 0FFH, 060H, 007H, 01FH, 01FH, 060H, 006H, 01FH, 00EH, 070H, 007H, 01FH, 01EH, 0F0H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H DB 002H, 03FH, 08DH, 0FCH, 001H, 0FFH, 0F5H, 0FCH, 000H, 07FH, 09BH, 0FCH, 000H, 0FFH, 0E5H, 0FCH, 002H, 07FH, 0CBH, 0FCH, 00FH, 083H, 01BH, 0BCH, 01FH, 0F8H, 07FH, 0BCH, 01FH, 0FFH, 0FFH, 03CH DB 03FH, 0FFH, 0FFH, 07CH, 03FH, 0FFH, 0FFH, 07CH, 03EH, 007H, 0FFH, 018H, 03EH, 03BH, 0FFH, 000H, 01CH, 018H, 01FH, 080H, 000H, 000H, 00FH, 080H, 000H, 000H, 007H, 080H, 000H, 000H, 007H, 080H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 00CH, 000H, 003H, 08CH, 007H, 000H, 00CH, 088H, 007H, 08EH, 018H, 098H, 003H, 0FFH, 0F9H, 018H, 003H, 0FFH, 0FFH, 018H, 003H, 0FFH, 0FFH, 030H DB 003H, 0FFH, 0FFH, 030H, 007H, 0FFH, 0FFH, 060H, 007H, 01FH, 01FH, 060H, 006H, 01FH, 00EH, 070H, 007H, 01FH, 01EH, 0F0H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H, 007H, 0FFH, 0FEH, 0F8H DB 002H, 03BH, 08DH, 0FCH, 001H, 0FFH, 0F5H, 0FCH, 000H, 07FH, 09BH, 0FCH, 000H, 0FFH, 0E5H, 0FCH, 002H, 07FH, 0CBH, 0FCH, 00FH, 083H, 01BH, 0BCH, 01FH, 0F8H, 07FH, 0BCH, 01FH, 0FFH, 0FFH, 03CH DB 03FH, 0FFH, 0FFH, 07CH, 03FH, 0FFH, 0FFH, 07CH, 03EH, 007H, 0FFH, 018H, 03EH, 03BH, 0FFH, 000H, 01CH, 018H, 01FH, 080H, 000H, 000H, 00FH, 080H, 000H, 000H, 007H, 080H, 000H, 000H, 007H, 080H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H DB 070H, 000H, 0F8H, 000H, 07FH, 0C3H, 0F8H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0EFH, 080H, 03FH, 0FFH, 0EFH, 0E0H, 07FH, 0FFH, 0EFH, 0F8H, 07FH, 0FFH, 0EFH, 0F8H DB 07FH, 0FFH, 0EFH, 0FCH, 0E3H, 0F1H, 0E7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FEH, 0C7H, 0E1H, 0F7H, 0FEH, 03FH, 0FEH, 077H, 0FEH DB 047H, 0E1H, 0E7H, 0FEH, 03FH, 0FEH, 0DFH, 07EH, 03FH, 0FFH, 0DCH, 0FAH, 00FH, 0FCH, 018H, 0F2H, 030H, 003H, 0F0H, 006H, 07FH, 01FH, 0E3H, 086H, 07FH, 09FH, 0E1H, 0FCH, 000H, 006H, 010H, 078H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H DB 070H, 000H, 0F8H, 000H, 07FH, 0C3H, 0F8H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0EFH, 080H, 03FH, 0FFH, 0EFH, 0E0H, 07FH, 0FFH, 0EFH, 0F8H, 07FH, 0FFH, 0EFH, 0F8H DB 07FH, 0FFH, 0EFH, 0FCH, 0E3H, 0F1H, 0E7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FEH, 0C7H, 0E1H, 0F7H, 0FEH, 03FH, 0FEH, 077H, 0FEH DB 047H, 0E1H, 0E7H, 0FEH, 03FH, 0FEH, 0DFH, 07EH, 03FH, 0FFH, 0DCH, 0FAH, 00FH, 0FCH, 018H, 0F2H, 030H, 003H, 0F0H, 006H, 07FH, 01FH, 0E3H, 086H, 07FH, 09FH, 0E1H, 0FCH, 000H, 006H, 010H, 078H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H DB 070H, 000H, 0F8H, 000H, 07FH, 0C3H, 080H, 000H, 03FH, 0FFH, 000H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0EFH, 080H, 03FH, 0FFH, 0EFH, 0E0H, 07FH, 0FFH, 0EFH, 0F8H, 07FH, 0FFH, 0EFH, 0F8H DB 07FH, 0FFH, 0EFH, 0FCH, 0E3H, 0F1H, 0E7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FCH, 03FH, 0F7H, 0FCH, 0FEH, 07FH, 0F7H, 0FEH, 0C7H, 0E1H, 0F7H, 0FEH, 03FH, 0FEH, 077H, 0FEH DB 047H, 0E1H, 0E7H, 0FEH, 03FH, 0FEH, 0DFH, 07EH, 03FH, 0FFH, 0DCH, 0FAH, 00FH, 0FCH, 018H, 0F2H, 030H, 003H, 0F0H, 006H, 07FH, 01FH, 0E3H, 086H, 07FH, 09FH, 0E1H, 0FCH, 000H, 006H, 010H, 078H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H DB 070H, 000H, 0F8H, 000H, 07FH, 0C3H, 0F8H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0EFH, 080H, 03FH, 0FFH, 0EFH, 0E0H, 07FH, 0FFH, 0EFH, 0F8H, 07FH, 0FFH, 0EFH, 0F8H DB 07FH, 0FFH, 0EFH, 0FCH, 0C3H, 0F0H, 0E7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FEH, 0C7H, 0E1H, 0F7H, 0FEH, 03FH, 0FEH, 077H, 0FEH DB 047H, 0E1H, 0E7H, 0FEH, 03FH, 0FEH, 0DFH, 07EH, 03FH, 0FFH, 0DCH, 0FAH, 00FH, 0FCH, 018H, 0F2H, 030H, 003H, 0F0H, 006H, 07FH, 01FH, 0E3H, 086H, 07FH, 09FH, 0E1H, 0FCH, 000H, 006H, 010H, 078H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H DB 070H, 000H, 0F8H, 000H, 07FH, 0C3H, 0F8H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0EFH, 080H, 03FH, 0FFH, 0EFH, 0E0H, 07FH, 0FFH, 0EFH, 0F8H, 07FH, 0FFH, 0EFH, 0F8H DB 07FH, 0FFH, 0EFH, 0FCH, 0C3H, 0F0H, 0E7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FEH, 0C7H, 0E1H, 0F7H, 0FEH, 03FH, 0FEH, 077H, 0FEH DB 047H, 0E1H, 0E7H, 0FEH, 03FH, 0FEH, 0DFH, 07EH, 03FH, 0FFH, 0DCH, 0FAH, 00FH, 0FCH, 018H, 0F2H, 030H, 003H, 0F0H, 006H, 07FH, 01FH, 0E3H, 086H, 07FH, 09FH, 0E1H, 0FCH, 000H, 006H, 010H, 078H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H DB 070H, 000H, 0F8H, 000H, 07FH, 0C3H, 080H, 000H, 03FH, 0FFH, 000H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0EFH, 080H, 03FH, 0FFH, 0EFH, 0E0H, 07FH, 0FFH, 0EFH, 0F8H, 07FH, 0FFH, 0EFH, 0F8H DB 07FH, 0FFH, 0EFH, 0FCH, 0C3H, 0F0H, 0E7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FCH, 03FH, 0F7H, 0FCH, 0FEH, 07FH, 0F7H, 0FEH, 0C7H, 0E1H, 0F7H, 0FEH, 03FH, 0FEH, 077H, 0FEH DB 047H, 0E1H, 0E7H, 0FEH, 03FH, 0FEH, 0DFH, 07EH, 03FH, 0FFH, 0DCH, 0FAH, 00FH, 0FCH, 018H, 0F2H, 030H, 003H, 0F0H, 006H, 07FH, 01FH, 0E3H, 086H, 07FH, 09FH, 0E1H, 0FCH, 000H, 006H, 010H, 078H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H DB 070H, 000H, 0F8H, 000H, 07FH, 0C3H, 0F8H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0EFH, 080H, 03FH, 0FFH, 0EFH, 0E0H, 07FH, 0FFH, 0EFH, 0F8H, 07FH, 0FFH, 0EFH, 0F8H DB 07FH, 0FFH, 0EFH, 0FCH, 0E3H, 0F1H, 0E7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FEH, 0C7H, 0E1H, 0F7H, 0FEH, 03FH, 0FEH, 077H, 0FEH DB 047H, 0E1H, 0E7H, 0FEH, 03FH, 0FEH, 0DFH, 07EH, 03FH, 0FFH, 0DCH, 0FAH, 00FH, 0FCH, 018H, 0F2H, 030H, 003H, 0F0H, 006H, 07FH, 01FH, 0E3H, 086H, 07FH, 09FH, 0E1H, 0FCH, 000H, 006H, 010H, 078H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H DB 070H, 000H, 0F8H, 000H, 07FH, 0C3H, 0F8H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0EFH, 080H, 03FH, 0FFH, 0EFH, 0E0H, 07FH, 0FFH, 0EFH, 0F8H, 07FH, 0FFH, 0EFH, 0F8H DB 07FH, 0FFH, 0EFH, 0FCH, 0E3H, 0F1H, 0E7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FEH, 0C7H, 0E1H, 0F7H, 0FEH, 03FH, 0FEH, 077H, 0FEH DB 047H, 0E1H, 0E7H, 0FEH, 03FH, 0FEH, 0DFH, 07EH, 03FH, 0FFH, 0DCH, 0FAH, 00FH, 0FCH, 018H, 0F2H, 030H, 003H, 0F0H, 006H, 07FH, 01FH, 0E3H, 086H, 07FH, 09FH, 0E1H, 0FCH, 000H, 006H, 010H, 078H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H DB 070H, 000H, 0F8H, 000H, 07FH, 0C3H, 080H, 000H, 03FH, 0FFH, 000H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0EFH, 080H, 03FH, 0FFH, 0EFH, 0E0H, 07FH, 0FFH, 0EFH, 0F8H, 07FH, 0FFH, 0EFH, 0F8H DB 07FH, 0FFH, 0EFH, 0FCH, 0E3H, 0F1H, 0E7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FCH, 03FH, 0F7H, 0FCH, 0FEH, 07FH, 0F7H, 0FEH, 0C7H, 0E1H, 0F7H, 0FEH, 03FH, 0FEH, 077H, 0FEH DB 047H, 0E1H, 0E7H, 0FEH, 03FH, 0FEH, 0DFH, 07EH, 03FH, 0FFH, 0DCH, 0FAH, 00FH, 0FCH, 018H, 0F2H, 030H, 003H, 0F0H, 006H, 07FH, 01FH, 0E3H, 086H, 07FH, 09FH, 0E1H, 0FCH, 000H, 006H, 010H, 078H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H DB 070H, 000H, 0F8H, 000H, 07FH, 0C3H, 0F8H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0EFH, 080H, 03FH, 0FFH, 0EFH, 0E0H, 07FH, 0FFH, 0EFH, 0F8H, 07FH, 0FFH, 0EFH, 0F8H DB 07FH, 0FFH, 0EFH, 0FCH, 0C3H, 0F0H, 0E7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FEH, 0C7H, 0E1H, 0F7H, 0FEH, 03FH, 0FEH, 077H, 0FEH DB 047H, 0E1H, 0E7H, 0FEH, 03FH, 0FEH, 0DFH, 07EH, 03FH, 0FFH, 0DCH, 0FAH, 00FH, 0FCH, 018H, 0F2H, 030H, 003H, 0F0H, 006H, 07FH, 01FH, 0E3H, 086H, 07FH, 09FH, 0E1H, 0FCH, 000H, 006H, 010H, 078H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H DB 070H, 000H, 0F8H, 000H, 07FH, 0C3H, 0F8H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0EFH, 080H, 03FH, 0FFH, 0EFH, 0E0H, 07FH, 0FFH, 0EFH, 0F8H, 07FH, 0FFH, 0EFH, 0F8H DB 07FH, 0FFH, 0EFH, 0FCH, 0C3H, 0F0H, 0E7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FEH, 0C7H, 0E1H, 0F7H, 0FEH, 03FH, 0FEH, 077H, 0FEH DB 047H, 0E1H, 0E7H, 0FEH, 03FH, 0FEH, 0DFH, 07EH, 03FH, 0FFH, 0DCH, 0FAH, 00FH, 0FCH, 018H, 0F2H, 030H, 003H, 0F0H, 006H, 07FH, 01FH, 0E3H, 086H, 07FH, 09FH, 0E1H, 0FCH, 000H, 006H, 010H, 078H DB 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H, 000H DB 070H, 000H, 0F8H, 000H, 07FH, 0C3H, 080H, 000H, 03FH, 0FFH, 000H, 000H, 03FH, 0FFH, 0F0H, 000H, 03FH, 0FFH, 0EFH, 080H, 03FH, 0FFH, 0EFH, 0E0H, 07FH, 0FFH, 0EFH, 0F8H, 07FH, 0FFH, 0EFH, 0F8H DB 07FH, 0FFH, 0EFH, 0FCH, 0C3H, 0F0H, 0E7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FFH, 0FFH, 0F7H, 0FCH, 0FCH, 03FH, 0F7H, 0FCH, 0FEH, 07FH, 0F7H, 0FEH, 0C7H, 0E1H, 0F7H, 0FEH, 03FH, 0FEH, 077H, 0FEH DB 047H, 0E1H, 0E7H, 0FEH, 03FH, 0FEH, 0DFH, 07EH, 03FH, 0FFH, 0DCH, 0FAH, 00FH, 0FCH, 018H, 0F2H, 030H, 003H, 0F0H, 006H, 07FH, 01FH, 0E3H, 086H, 07FH, 09FH, 0E1H, 0FCH, 000H, 006H, 010H, 078H ; 常駐部データ部分終り ; 常駐部コード部分 REGST: ; 2CA2 GDC の動作中の描画を抑止 WAIGDC: La1: IN AL, 0A0H ; Graphic GDC ステータス読み出し TEST AL, 4 ; コマンド FIFO が... JZ La1 ; empty になるまでビジーループ JMP SHORT $+2 JMP SHORT $+2 ; I/O ウェイト JMP SHORT $+2 La2: IN AL, 0A0H ; Graphic GDC ステータス読み出し TEST AL, 8 ; 描画中で... JNZ La2 ; なくなるまでビジーループ La3: IN AL, 60H ; Text GDC ステータス読み出し TEST AL, 4 ; コマンド FIFO が... JZ La3 ; empty になるまでビジーループ JMP SHORT $+2 JMP SHORT $+2 ; I/O ウェイト JMP SHORT $+2 La4: IN AL, 60H ; Text GDC ステータス読み出し TEST AL, 8 ; 描画中で... JNZ La4 ; なくなるまでビジーループ RET ; 2CC7 DI ← 描画先オフセットアドレス DRWLOC: PUSH AX PUSH DX ; 破壊するレジスタを保存 PUSH CX MOV AX, [CATY] MOV DX, 80*8 MUL DX MOV DX, [CATX] ;ADD AX, DX DB 3, 0C2H ; AX に絡む短縮系命令を Nasm が生成しない (?) ;MOV DI, AX ; DI ← 80 × 8 × CATY + CATX DB 8BH, 0F8H CMP WORD [CLIN], BYTE 24 ; カーソルの行位置が 24 より... JL Lb1 ; 小さければジャンプ SUB DI, 2*80*8 ; カーソルが最下行 (25 行目) にある場合は, 1 行分上に補正 Lb1: POP CX POP DX ; 保存したレジスタ値を復帰 POP AX RET ; 2CE9 ひとプレーンに描を猫画, AX == 対象プレーンのセグメントアドレス DRWPLN: PUSH ES PUSH BX ; 破壊するレジスタを保存 PUSH CX PUSH DI MOV ES, AX MOV BX, 32 ; 32 ライン分... Lc1: MOV CX, 2 REP MOVSW ; 1 ラインぶん 4 バイト転送 ADD DI, BYTE 76 ; 次のラインの開始位置まで飛ばす DEC BX JNZ Lc1 ; ...ライン分繰り返す POP DI POP CX POP BX ; 保存したレジスタ値を復帰 POP ES RET ; 2D02 描画 DRWCAT: PUSH AX ; 破壊するレジスタを保存 CALL WAIGDC ; GDC の状態が描画可能になるまで待つ MOV AX, 0A800H CALL DRWPLN ; 各プレーンに MOV AX, 0B000H ; 描画 CALL DRWPLN MOV AX, 0B800H CALL DRWPLN POP AX ; 保存したレジスタ値を復帰 RET ; 2D1A ネコの表示関係 DSPCAT: PUSH DI ; 破壊するレジスタを保存 CALL CLRCAT ; 消去が必要なら消去をする CALL DRWLOC ; 描画するアドレスを計算 MOV [DRWAD], DI ; 描画するんで描画するアドレスをワークに保存 CALL DRWCAT ; 描画 ! POP DI ; 保存したレジスタ値を復帰 RET ; 2D2A ネコの消去が必要なら消去 CLRCAT: PUSH DI ; 破壊するレジスタを保存 MOV DI, [DRWAD] ; 前の描画位置を読み出す CMP DI, BYTE -1 ; 消去済みなら JE NOCL ; 消去はしない PUSH SI ; 破壊するレジスタを保存 MOV SI, ERSPTN ; 消去用パターン CALL DRWCAT ; 消去用パターンで描画 MOV WORD [DRWAD], 0FFFFH ; 消去したんでワークエリアを「消去済み」に POP SI ; 保存したレジスタ値を復帰 NOCL: POP DI RET ; 2D44 SI ← 描画転送元アドレス CALSRC: MOV SI, CATPTN ; 画像データ開始アドレス -- (1) MOV AX, 4*4*32*3 MUL WORD [CATST] ;ADD SI, AX ; (1) + 4 * 4 * 32 * 3 × 状態 {0 〜 6} -- (2) DB 3, 0F0H MOV AX, 4*32*3 MUL WORD [ANMPT] ;ADD SI, AX ; (2) + 4 * 32 * 3 × パターン {0 〜 3} DB 3, 0F0H RET ; 2D5A GDC I/O ウェイト用空ルーチン IOWAIT: RET ; Wait ; 2D5B カーソル位置読み出し GETCP: PUSH AX PUSH BX ; 破壊するレジスタの保存 PUSH DX Ld1: IN AL, 60H ; Text GDC ステータス読み込み CALL IOWAIT TEST AL, 4 ; コマンド FIFO が... JE Ld1 ; empty になるまでビジーループ MOV AL, 0E0H OUT 62H, AL ; Text GDC コマンド書き込み, (カーソル位置アドレスデータ読み出し) CALL IOWAIT Ld2: IN AL, 60H ; Text GDC ステータス読み込み CALL IOWAIT TEST AL, 1 ; データ読みだしが... JE Ld2 ; ready になるまでビジーループ IN AL, 62H ; Text GDC データ読み出し CALL IOWAIT ;MOV DL, AL ; dl ← カーソルアドレス下位 DB 8AH, 0D0H IN AL, 62H ; Text GDC データ読み出し CALL IOWAIT ;MOV DH, AL ; dh ← カーソルアドレス上位 DB 8AH, 0F0H IN AL, 62H ; Text GDC データ読み出し (以下カラ読み) CALL IOWAIT IN AL, 62H CALL IOWAIT IN AL, 62H CALL IOWAIT MOV [CADR], DX ; カーソルアドレス保存 ;MOV AX, DX DB 8BH, 0C2H MOV DX, 0 MOV BX, 80 DIV BX MOV [CCOL], DX ; 80 で割った余り : カーソルの桁位置 MOV [CLIN], AX ; 80 で整数除算した結果 : カーソルの行位置 POP DX POP BX ; 保存したレジスタ値の復帰 POP AX RET ; 2DAD ネコの挙動決定 CATBH: MOV AX, [CLIN] ;ADD AX, AX ; AX ← カーソルの行位置 × 2, 位置計算は 8 ピクセル単位 (縦幅 == 50) DB 3, 0C0H MOV BX, [CATY] ;CMP AX, BX ; ネコの Y 位置とカーソルの行位置を比較して... DB 3BH, 0C3H JE XCMP ; 同じなら X 位置の比較にジャンプ MOV WORD [SLPCN], 0 ; おやすみカウンタリセット JNC Le1 ; ネコのほうが上にいるならジャンプ MOV WORD [CATST], 0 ; ネコのほうが下にいる -- 0 JMP SHORT LeX ; ルーチン終了 Le1: MOV WORD [CATST], 1 ; ネコのほうが上にいる -- 1 JMP SHORT LeX ; ルーチン終了 XCMP: MOV AX, [CCOL] ; カーソルの桁位置が... CMP AX, 40 ; 40 より JL INLH ; 小さければジャンプ (IN Left Half) SUB AX, 3 ; カーソルの桁位置が 40 以上の (画面の右半分にある) ときは -3 する INLH: CMP AX, [CATX] ; 位置による補正をした桁位置とネコの X 位置を比較して... JE SLP ; 同じならおやすみモードの処理にジャンプ MOV WORD [SLPCN], 0 ; おやすみカウンタリセット JNC Le2 ; ネコのほうが左にいるならジャンプ MOV WORD [CATST], 3 ; ネコのほうが右にいる -- 3 JMP SHORT LeX ; ルーチン終了 Le2: MOV WORD [CATST], 2 ; ネコのほうが左にいる -- 2 JMP SHORT LeX ; ルーチン終了 ; カーソル位置が変わってないので, おやすみカウンタの処理......zzZZ SLP: CMP WORD [SLPCN], BYTE +100 ; おやすみカウンタが 100 (約 18 秒) より... JGE DOSLP ; 同じか大きければおやすみモード INC WORD [SLPCN] ; おやすみカウンタカウントアップ CMP WORD [CCOL], BYTE +40 ; カーソルの桁位置が 40 より... JGE Le3 ; 同じか大きければジャンプ MOV WORD[CATST], 5 ; カーソル (とネコ) が画面の中央よりも左側にある -- 5 JMP SHORT LeX ; ルーチン終了 Le3: MOV WORD[CATST], 4 ; カーソル (とネコ) が画面の中央よりも右側にある -- 4 JMP SHORT LeX ; ルーチン終了 DOSLP: MOV WORD[CATST], 6 ; おやすみモードに遷移 LeX: RET ; 2E24 アニメパターンや移動の処理 PTMV: INC WORD [ANMPT] AND WORD [ANMPT], 3 ; アニメパターンは各モード毎 4 枚ずつ MOV AX, [CATST] CMP AX, 4 ; 4 より... JGE LfX ; 同じか大きければ移動なし CMP AX, 0 ; 4 より小さくて 0 より... JG Lf1 ; 大きければジャンプ DEC WORD [CATY] ; 状態が 0 だと Y 位置を減らす JMP SHORT LfX ; ルーチン終了 Lf1: CMP AX, 1 ; 状態が 1 より... JG Lf2 ; 大きければジャンプ INC WORD [CATY] ; 状態が 1 だと Y 位置を増やす JMP SHORT LfX ; ルーチン終了 Lf2: CMP AX, 2 ; 状態が 2 より... JG Lf3 ; 大きければジャンプ INC WORD [CATX] ; 状態が 2 だと X 位置を増やす JMP SHORT LfX ; ルーチン終了 Lf3: DEC WORD [CATX] ; 状態が 3 だと X 位置を減らす LfX: RET ; 2E5C 割り込み毎の処理 PRCINT: DEC WORD [ITVCN] JNZ LgX ; VSync 割り込み 10 回に 1 回処理をする (約 177ms 間隔, 約 5.6Hz) CALL GETCP ; カーソル位置読み出し CALL CATBH ; ネコの挙動を決定 CALL CALSRC ; si ← 画像データ開始アドレス + (4 * 4 * 32 * 3) × 状態 {0 〜 6} + (4 * 32 * 3) × パターン {0 〜 3} CALL DSPCAT ; アニメパターンや移動の処理 CALL PTMV ; アニメパターンや移動の処理 MOV WORD [ITVCN], 10 LgX: RET ; 2E78 VSync 割り込みハンドラ VSIH: STI ; 割り込み許可 PUSH AX PUSH BX PUSH CX PUSH DX PUSH SI PUSH DI PUSH BP PUSH ES PUSH DS MOV AX, CS MOV DS, AX ; DS ← CS CLD ; DF ← 0 CALL PRCINT CLI ; 割り込み禁止 MOV AL, 20H OUT 0, AL ; マスタ PIC (VSync が繋がっている) に EOI 発行 POP DS POP ES POP BP POP DI POP SI POP DX POP CX POP BX POP AX OUT 64H, AL ; VSync 割り込み要求 IRET ; 割り込みハンドラから戻る ; 2E9B KB/CRT/Graphic BIOS フックハンドラ ; (BIOS を呼ぶと VSync を持って行かれて以後継続できなくなることがある可能性に ; 備えているのだと思われる (KM)) BIOSHK: PUSHF CALL FAR [CS:INT18] ; 元のハンドラを割り込みのセマンティクスで呼び出す OUT 0x64, AL ; VSync 割り込み要求 IRET ; 割り込みハンドラから戻る ; 常駐部終り REGEN: ; 2EA4 非常駐部データ部分 MSG1: DB 'Neko.COM version 0.03', 0DH, 0AH DB 'Copyright(c) by & naoshi', 0DH, 0AH, '$' MSG2: DB 'Neko.COM removed.', 0DH, 0AH, '$' MSG3: DB 'Neko.com already staying.', 0DH, 0AH, '$' MSG4: DB 'Neko.com is not staying now.', 0DH, 0AH, '$' DB 0 ; ? ; 非常駐部データ部分終り ; 非常駐部コード部分 ; サブルーチン ; 2F2F 既に常駐済みかチェック REGCHK: PUSH ES PUSH CX PUSH DI PUSH SI MOV AX, 350AH INT 21H MOV SI, REGST ;MOV DI, SI DB 8BH, 0FEH MOV CX, REGEN ;SUB CX, SI DB 2BH, 0CEH REPE CMPSB CLC JNZ NOC STC NOC: POP SI POP DI POP CX POP ES RET ; 2F4D コマンドラインオプションが付いているかどうか判定. dl に文字コードを入れて呼び出す OPSRCH: MOV DI, 80H MOV CL, [DI] INC DI ;XOR CH, CH ; CX ← 文字数, [DI] ← コマンドライン文字列 DB 32H, 0EDH MOV AL, '-' ; '-' を探す RTRY: REPNE SCASB JNE NOTF ; コマンドライン文字列の終端までいったらキャリーを立てて終了 CMP [DI], DL JNE RTRY CLC RET ; '-' の次が DL と一致したらキャリーを降ろして終了 NOTF: STC RET ; 2F63 常駐解除 REGREL: PUSH DS PUSH ES MOV AX, 3518H INT 21H PUSH ES POP DS PUSH DS LDS DX, [INT18] MOV AX, 2518H INT 21H POP DS PUSH DS LDS DX, [INT0A] MOV AX, 250AH INT 21H POP DS PUSH ES MOV AX, [ES:2CH] ; 多分常駐してたほうの環境のメモリブロックを解放してる MOV ES, AX MOV AH, 49H INT 21H POP ES PUSH ES MOV AX, ES MOV ES, AX MOV AH, 49H INT 21H POP ES CALL 2FACH POP ES POP DS RET ; 2F9E GVRAM の 1 プレーンをクリア PLNCLR: MOV DI, 0 MOV ES, AX MOV CX, 40*400 ; 横幅 == 40 * 2 バイト, 縦幅 == 400 ライン MOV AX, 0 REP STOSW RET ; 2FAC グラフィックスの初期化 GPHINI: MOV AH, 41H INT 18H ; INT 18H AH == 41H : Graphic BIOS, グラフィックスを表示しない MOV AX, 0A800H CALL PLNCLR ; VRAM の各プレーンを消去 MOV AX, 0B000H CALL PLNCLR MOV AX, 0B800H CALL PLNCLR MOV AH, 40H INT 18H ; INT 18H AH == 40H : Graphic BIOS, グラフィックスを表示する MOV AH, 42H MOV CH, 0C0H INT 18H ; INT 18H AH == 42H : Graphic BIOS, 表示モード設定, ch == c0h : 400 ライン・カラー・表 VRAM RET ; 起動時のエントリ ; 2FCD バージョンと著作権表示を出力 ENTRY: MOV AH, 9 MOV DX, MSG1 INT 21H ;フラグチェックと処理の決定 MOV DL, 'r' CALL OPSRCH ; 常駐解除の指定が lower case letter で付いているか ? JNC Lg1 ; 付いていたら常駐解除するほうにジャンプ MOV DL, 'R' CALL OPSRCH ; 常駐解除の指定が capital letter で付いているか ? JC Lg2 ; 付いてなかったら常駐させるほうへジャンプ Lg1: CALL REGCHK ; 既に常駐済みかどうかをチェック JNC Lg3 ; してなかったら常駐してないと示して終了 CALL REGREL ; 常駐解除する JMP SHORT Lg4 ; 常駐解除したことを示して終了 Lg2: CALL REGCHK ; 既に常駐済みかどうかをチェック JC Lg5 ; していたら既に常駐済みであることを示して終了 ;常駐させて終了 MOV AX, 350AH INT 21H ; AH == 35H (GET INTERRUPT VECTOR, INT 0AH == VSync) MOV [INT0A], BX ; 元のハンドラのアドレスを保存 MOV [INT0A+2], ES MOV DX, VSIH MOV AX, 250AH ; 自分のハンドラのアドレスを登録 INT 21H ; AH == 25H (SET INTERRUPT VECTOR, INT 0AH == VSync) MOV AX, 3518H INT 21H ; AH == 35H (GET INTERRUPT VECTOR, INT 18H == KB/CRT/Graphic BIOS) MOV [INT18], BX ; 元のハンドラのアドレスを保存 MOV [INT18+2], ES MOV DX, BIOSHK ; KB/CRT/Graphic BIOS フックハンドラ MOV AX, 2518H ; 自分のハンドラのアドレスを登録 INT 21H ; AH == 25H (SET INTERRUPT VECTOR, INT 18H == KB/CRT/Graphic BIOS) CALL GPHINI ; グラフィックス初期化 IN AL, 2 ; 割り込みマスクレジスタ (IMR) 読み出し AND AL, 0FBH ; VSync 割り込み許可 OUT 2, AL ; 割り込みマスクレジスタ (IMR) 書き込み OUT 64H, AL ; VSync 割り込み要求 MOV DX, REGEN MOV CL, 4 SHR DX, CL ; 常駐させるべきパラグラフ (※ : MS-DOS のメモリ管理の単位. 16 バイト == 1 パラグラフ ; 16 バイトでアラインメントを取る) 数を得る INC DX ; 切り捨てられたぶんの補償 MOV AX, 3100H ; DX パラグラフ数ぶんのメモリを確保して INT 21H ; 常駐終了(0) ;常駐解除したことを示して終了(0) Lg4: MOV AH, 9 MOV DX, MSG2 INT 21H MOV AX, 4C00H INT 21H ;既に常駐済みであることを示して終了(2) Lg5: MOV AH, 9 MOV DX, MSG3 INT 21H MOV AX, 4C02H INT 21H ;常駐していないと示して終了(2) Lg3: MOV AH, 9 MOV DX, MSG4 INT 21H MOV AX, 4C02H INT 21H