Changeset 51062 in vbox for trunk/src/VBox/Devices/PC/BIOS
- Timestamp:
- Apr 14, 2014 7:29:58 AM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 93293
- Location:
- trunk/src/VBox/Devices/PC/BIOS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.asm
r50317 r51062 856 856 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 857 857 _pktacc: ; 0xf006a LB 0xc 858 db 000h, 000h, 000h, 000h, 000h, 000h, 08fh, 028h, 0 30h, 079h, 0f8h, 086h858 db 000h, 000h, 000h, 000h, 000h, 000h, 08fh, 028h, 09ah, 079h, 062h, 087h 859 859 _softrst: ; 0xf0076 LB 0xc 860 860 db 000h, 000h, 000h, 000h, 000h, 000h, 077h, 02bh, 091h, 036h, 091h, 036h 861 861 _dskacc: ; 0xf0082 LB 0x2e 862 862 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0d8h, 027h, 052h, 028h, 000h, 000h, 000h, 000h 863 db 0 beh, 077h, 077h, 078h, 0f4h, 085h, 088h, 086h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h863 db 028h, 078h, 0e1h, 078h, 05eh, 086h, 0f2h, 086h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 864 864 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 865 865 866 section CONST progbits vstart=0xb0 align=1 ; size=0xc c8class=DATA group=DGROUP866 section CONST progbits vstart=0xb0 align=1 ; size=0xce0 class=DATA group=DGROUP 867 867 db 'NMI Handler called', 00ah, 000h 868 868 db 'INT18: BOOT FAILURE', 00ah, 000h … … 940 940 db 'INT 15h C2 default case entered', 00ah, 000h, 000h 941 941 db 'Key pressed: %x', 00ah, 000h 942 db 00ah, 00ah, ' AHCI controller:', 000h 943 db 00ah, ' %d) Hard disk', 000h 944 db 00ah, 00ah, ' SCSI controller:', 000h 945 db ' IDE controller:', 000h 942 946 db 00ah, 00ah, 'AHCI controller:', 00ah, 000h 943 db 00ah, ' %d) Hard disk', 000h944 db 00ah, 00ah, 'SCSI controller:', 00ah, 000h945 db 'IDE controller:', 00ah, 000h946 947 db 00ah, ' %d) ', 000h 947 948 db 'Secondary ', 000h … … 957 958 db ' l) LAN', 00ah, 00ah, ' b) Continue booting', 00ah, 000h 958 959 db 'Delaying boot for %d seconds:', 000h 959 db ' %d', 000h 960 db ' %d', 000h, 000h 960 961 db 'scsi_read_sectors', 000h 961 962 db '%s: device_id out of range %d', 00ah, 000h … … 981 982 db 'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h 982 983 983 section CONST2 progbits vstart=0xd 78align=1 ; size=0x3fa class=DATA group=DGROUP984 _bios_cvs_version_string: ; 0xf0d 78LB 0x12984 section CONST2 progbits vstart=0xd90 align=1 ; size=0x3fa class=DATA group=DGROUP 985 _bios_cvs_version_string: ; 0xf0d90 LB 0x12 985 986 db 'VirtualBox 4.3.53', 000h 986 _bios_prefix_string: ; 0xf0d 8aLB 0x8987 _bios_prefix_string: ; 0xf0da2 LB 0x8 987 988 db 'BIOS: ', 000h, 000h 988 _isotag: ; 0xf0d 92LB 0x6989 _isotag: ; 0xf0daa LB 0x6 989 990 db 'CD001', 000h 990 _eltorito: ; 0xf0d 98LB 0x18991 _eltorito: ; 0xf0db0 LB 0x18 991 992 db 'EL TORITO SPECIFICATION', 000h 992 _drivetypes: ; 0xf0d b0LB 0x28993 _drivetypes: ; 0xf0dc8 LB 0x28 993 994 db 046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h 994 995 db 069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h 995 996 db 04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h 996 _scan_to_scanascii: ; 0xf0d d8LB 0x37a997 _scan_to_scanascii: ; 0xf0df0 LB 0x37a 997 998 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h 998 999 db 000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h … … 1051 1052 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h 1052 1053 db 000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h 1053 _panic_msg_keyb_buffer_full: ; 0xf11 52LB 0x201054 _panic_msg_keyb_buffer_full: ; 0xf116a LB 0x20 1054 1055 db '%s: keyboard input buffer full', 00ah, 000h 1055 1056 1056 ; Padding 0x4 8e bytes at 0xf11721057 times 11 66db 01057 ; Padding 0x476 bytes at 0xf118a 1058 times 1142 db 0 1058 1059 1059 section _TEXT progbits vstart=0x1600 align=1 ; size=0x7f 65 class=CODE group=AUTO1060 section _TEXT progbits vstart=0x1600 align=1 ; size=0x7fd5 class=CODE group=AUTO 1060 1061 rom_scan_: ; 0xf1600 LB 0x50 1061 1062 push bp ; 55 … … 1279 1280 push bp ; 55 1280 1281 mov bp, sp ; 89 e5 1281 mov bx, 00d 8ah ; bb 8a0d1282 mov bx, 00da2h ; bb a2 0d 1282 1283 mov cx, ds ; 8c d9 1283 1284 mov ax, strict word 00004h ; b8 04 00 1284 1285 call 01931h ; e8 ac 01 1285 push 00d 78h ; 68 780d1286 push 00d90h ; 68 90 0d 1286 1287 push 000d9h ; 68 d9 00 1287 1288 push strict byte 00004h ; 6a 04 … … 1308 1309 int 010h ; cd 10 1309 1310 jmp short 017c1h ; eb 03 1310 call 07 3cdh ; e8 0c5c1311 call 07437h ; e8 76 5c 1311 1312 mov sp, bp ; 89 ec 1312 1313 pop bp ; 5d … … 1454 1455 mov bx, strict word 0000ah ; bb 0a 00 1455 1456 xor cx, cx ; 31 c9 1456 call 094 70h ; e8 97 7b1457 call 094e0h ; e8 07 7c 1457 1458 mov word [bp-008h], ax ; 89 46 f8 1458 1459 mov cx, dx ; 89 d1 … … 2417 2418 mov dx, ss ; 8c d2 2418 2419 lea ax, [bp-036h] ; 8d 46 ca 2419 call 053 89h ; e8 6c312420 mov bx, 00d 8ah ; bb 8a0d2420 call 053f3h ; e8 d6 31 2421 mov bx, 00da2h ; bb a2 0d 2421 2422 mov cx, ds ; 8c d9 2422 2423 mov ax, strict word 00004h ; b8 04 00 … … 3066 3067 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 3067 3068 jne short 028e1h ; 75 1f 3068 mov bx, 00d 8ah ; bb 8a0d3069 mov bx, 00da2h ; bb a2 0d 3069 3070 mov cx, ds ; 8c d9 3070 3071 mov ax, strict word 00004h ; b8 04 00 … … 3945 3946 cmp AL, strict byte 048h ; 3c 48 3946 3947 jbe short 03095h ; 76 29 3947 mov bx, 00d 8ah ; bb 8a0d3948 mov bx, 00da2h ; bb a2 0d 3948 3949 mov cx, ds ; 8c d9 3949 3950 mov ax, strict word 00004h ; b8 04 00 … … 4545 4546 mov ax, strict word 00006h ; b8 06 00 4546 4547 jmp near 02fbdh ; e9 7e f9 4547 mov bx, 00d 8ah ; bb 8a0d4548 mov bx, 00da2h ; bb a2 0d 4548 4549 mov cx, ds ; 8c d9 4549 4550 mov ax, strict word 00004h ; b8 04 00 … … 4642 4643 cmp ax, strict word 0004ah ; 3d 4a 00 4643 4644 jne near 03829h ; 0f 85 1e 01 4644 mov bx, 00d 8ah ; bb 8a0d4645 mov bx, 00da2h ; bb a2 0d 4645 4646 mov cx, ds ; 8c d9 4646 4647 mov ax, strict word 00004h ; b8 04 00 … … 4740 4741 pop bp ; 5d 4741 4742 retn ; c3 4742 mov bx, 00d 8ah ; bb 8a0d4743 mov bx, 00da2h ; bb a2 0d 4743 4744 mov cx, ds ; 8c d9 4744 4745 mov ax, strict word 00004h ; b8 04 00 … … 4821 4822 mov dx, ss ; 8c d2 4822 4823 lea ax, [bp-026h] ; 8d 46 da 4823 call 09 4dah ; e8 e7 5b4824 call 0954ah ; e8 57 5c 4824 4825 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 4825 4826 mov ax, strict word 00011h ; b8 11 00 … … 4875 4876 jnc short 03993h ; 73 10 4876 4877 mov al, byte [bp+di-00825h] ; 8a 83 db f7 4877 cmp al, byte [di+00d 92h] ; 3a 85 920d4878 cmp al, byte [di+00daah] ; 3a 85 aa 0d 4878 4879 je short 0397dh ; 74 f0 4879 4880 mov ax, strict word 00005h ; b8 05 00 … … 4885 4886 jnc short 039adh ; 73 10 4886 4887 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 4887 cmp al, byte [di+00d 98h] ; 3a 85 980d4888 cmp al, byte [di+00db0h] ; 3a 85 b0 0d 4888 4889 je short 03997h ; 74 f0 4889 4890 mov ax, strict word 00006h ; b8 06 00 … … 5163 5164 cmp dx, ax ; 39 c2 5164 5165 je short 03d2fh ; 74 29 5165 mov bx, 00d 8ah ; bb 8a0d5166 mov bx, 00da2h ; bb a2 0d 5166 5167 mov cx, ds ; 8c d9 5167 5168 mov ax, strict word 00004h ; b8 04 00 … … 5280 5281 xor dl, dl ; 30 d2 5281 5282 xor cx, cx ; 31 c9 5282 call 09 4a9h ; e8 55 565283 call 09519h ; e8 c5 56 5283 5284 xor bx, bx ; 31 db 5284 5285 add ax, si ; 01 f0 … … 5286 5287 mov bx, di ; 89 fb 5287 5288 xor cx, cx ; 31 c9 5288 call 09 4a9h ; e8 48 565289 call 09519h ; e8 b8 56 5289 5290 mov bx, ax ; 89 c3 5290 5291 mov ax, word [bp-010h] ; 8b 46 f0 … … 5321 5322 mov dx, ss ; 8c d2 5322 5323 lea ax, [bp-02eh] ; 8d 46 d2 5323 call 09 4dah ; e8 22 565324 call 0954ah ; e8 92 56 5324 5325 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 5325 5326 mov ax, word [bp-014h] ; 8b 46 ec … … 5385 5386 test al, al ; 84 c0 5386 5387 je near 03d7bh ; 0f 84 13 fe 5387 mov bx, 00d 8ah ; bb 8a0d5388 mov bx, 00da2h ; bb a2 0d 5388 5389 mov cx, ds ; 8c d9 5389 5390 mov ax, strict word 00004h ; b8 04 00 … … 5466 5467 mov word [bp+016h], bx ; 89 5e 16 5467 5468 jmp near 03d7fh ; e9 37 fd 5468 mov bx, 00d 8ah ; bb 8a0d5469 mov bx, 00da2h ; bb a2 0d 5469 5470 mov cx, ds ; 8c d9 5470 5471 mov ax, strict word 00004h ; b8 04 00 … … 5628 5629 mov dx, ss ; 8c d2 5629 5630 lea ax, [bp-02ch] ; 8d 46 d4 5630 call 09 4dah ; e8 87 525631 call 0954ah ; e8 f7 52 5631 5632 mov word [bp-02ch], strict word 00028h ; c7 46 d4 28 00 5632 5633 mov ax, word [bp-018h] ; 8b 46 e8 … … 5677 5678 test dl, dl ; 84 d2 5678 5679 je near 043a5h ; 0f 84 cb 00 5679 mov bx, 00d 8ah ; bb 8a0d5680 mov bx, 00da2h ; bb a2 0d 5680 5681 mov cx, ds ; 8c d9 5681 5682 mov ax, strict word 00004h ; b8 04 00 … … 5961 5962 or byte [bp+01eh], 001h ; 80 4e 1e 01 5962 5963 jmp near 043b8h ; e9 8f fd 5963 mov bx, 00d 8ah ; bb 8a0d5964 mov bx, 00da2h ; bb a2 0d 5964 5965 mov cx, ds ; 8c d9 5965 5966 mov ax, strict word 00004h ; b8 04 00 … … 5991 5992 je short 0468bh ; 74 21 5992 5993 mov dx, strict word 00001h ; ba 01 00 5993 mov bx, 00d 8ah ; bb 8a0d5994 mov bx, 00da2h ; bb a2 0d 5994 5995 mov cx, ds ; 8c d9 5995 5996 mov ax, strict word 00004h ; b8 04 00 5996 5997 call 01931h ; e8 b9 d2 5997 5998 imul dx, dx, strict byte 0000ah ; 6b d2 0a 5998 add dx, 00d b0h ; 81 c2 b00d5999 add dx, 00dc8h ; 81 c2 c8 0d 5999 6000 push dx ; 52 6000 6001 push 00474h ; 68 74 04 … … 6016 6017 test al, al ; 84 c0 6017 6018 je short 046beh ; 74 1b 6018 mov bx, 00d 8ah ; bb 8a0d6019 mov bx, 00da2h ; bb a2 0d 6019 6020 mov cx, ds ; 8c d9 6020 6021 mov ax, strict word 00004h ; b8 04 00 6021 6022 call 01931h ; e8 83 d2 6022 push 00d c4h ; 68 c40d6023 push 00ddch ; 68 dc 0d 6023 6024 push 00488h ; 68 88 04 6024 6025 push strict byte 00004h ; 6a 04 … … 6028 6029 test dl, dl ; 84 d2 6029 6030 je short 046d2h ; 74 10 6030 mov bx, 00d 8ah ; bb 8a0d6031 mov bx, 00da2h ; bb a2 0d 6031 6032 mov cx, ds ; 8c d9 6032 6033 mov ax, strict word 00004h ; b8 04 00 6033 6034 call 01931h ; e8 64 d2 6034 push 00d ceh ; 68 ce0d6035 push 00de6h ; 68 e6 0d 6035 6036 jmp short 046b1h ; eb df 6036 6037 test bl, 080h ; f6 c3 80 6037 6038 je short 046e8h ; 74 11 6038 mov bx, 00d 8ah ; bb 8a0d6039 mov bx, 00da2h ; bb a2 0d 6039 6040 mov cx, ds ; 8c d9 6040 6041 mov ax, strict word 00004h ; b8 04 00 6041 6042 call 01931h ; e8 4f d2 6042 6043 push si ; 56 6043 push 00d bah ; 68 ba0d6044 push 00dd2h ; 68 d2 0d 6044 6045 jmp short 046f7h ; eb 0f 6045 mov bx, 00d 8ah ; bb 8a0d6046 mov bx, 00da2h ; bb a2 0d 6046 6047 mov cx, ds ; 8c d9 6047 6048 mov ax, strict word 00004h ; b8 04 00 6048 6049 call 01931h ; e8 3e d2 6049 6050 push si ; 56 6050 push 00d b0h ; 68 b00d6051 push 00dc8h ; 68 c8 0d 6051 6052 push 0049dh ; 68 9d 04 6052 6053 push strict byte 00004h ; 6a 04 … … 6074 6075 push dx ; 52 6075 6076 mov dx, ax ; 89 c2 6076 mov bx, 00d 8ah ; bb 8a0d6077 mov bx, 00da2h ; bb a2 0d 6077 6078 mov cx, ds ; 8c d9 6078 6079 mov ax, strict word 00004h ; b8 04 00 … … 6132 6133 xor ah, ah ; 30 e4 6133 6134 sar ax, 004h ; c1 f8 04 6134 call 07 5f1h ; e8 382e6135 call 0765bh ; e8 a2 2e 6135 6136 cmp byte [bp+004h], 002h ; 80 7e 04 02 6136 6137 jne short 047c2h ; 75 03 … … 6149 6150 mov byte [bp-00ah], al ; 88 46 f6 6150 6151 mov byte [bp-00ch], al ; 88 46 f4 6151 mov bx, 00d 8ah ; bb 8a0d6152 mov bx, 00da2h ; bb a2 0d 6152 6153 mov cx, ds ; 8c d9 6153 6154 mov ax, strict word 00004h ; b8 04 00 … … 6625 6626 out DX, AL ; ee 6626 6627 xor ax, ax ; 31 c0 6627 call 05e 89h ; e8 6f126628 call 05ef3h ; e8 d9 12 6628 6629 mov sp, bp ; 89 ec 6629 6630 pop bp ; 5d … … 6684 6685 cmp bh, byte [bx+si] ; 3a 38 6685 6686 sub bl, byte [ss:di] ; 36 2a 1d 6686 jmp short 04ce1h ; eb 4e 6687 js short 04ce2h ; 78 4d 6688 inc di ; 47 6687 sbb AL, strict byte 04fh ; 1c 4f 6688 db 082h, 04dh, 04ah, 04dh 6689 ; or byte [di+04ah], 04dh ; 82 4d 4a 4d 6690 dec dx ; 4a 6689 6691 dec bp ; 4d 6690 inc di ; 476692 adc byte [bp+020h], cl ; 10 4e 20 6691 6693 dec bp ; 4d 6692 cli ; fa 6694 mov cs, [bp-020h] ; 8e 4e e0 6695 dec si ; 4e 6696 add cl, byte [bx-037h] ; 02 4f c9 6693 6697 dec bp ; 4d 6694 and byte [di+06ch], cl ; 20 4d 6c 6698 dec dx ; 4a 6699 dec bp ; 4d 6700 dec dx ; 4a 6701 dec bp ; 4d 6702 dec di ; 4f 6695 6703 dec si ; 4e 6696 mov bx, 0de4eh ; bb 4e de 6697 dec si ; 4e 6698 mov cx, 0474dh ; b9 4d 47 6699 dec bp ; 4d 6700 inc di ; 47 6701 dec bp ; 4d 6702 xor cx, word [bp+039h] ; 33 4e 39 6703 dec bp ; 4d 6704 pushfw ; 9c 6705 dec si ; 4e 6706 xlatb ; d7 6707 dec si ; 4e 6708 _int09_function: ; 0xf4cb1 LB 0x35d 6704 cmp AL, strict byte 04dh ; 3c 4d 6705 ror word [bp-005h], 04eh ; c1 4e fb 4e 6706 _int09_function: ; 0xf4cb1 LB 0x3c7 6709 6707 push bp ; 55 6710 6708 mov bp, sp ; 89 e5 6711 push si ; 566712 6709 push di ; 57 6713 sub sp, strict byte 0000 ch ; 83 ec 0c6710 sub sp, strict byte 0000eh ; 83 ec 0e 6714 6711 mov al, byte [bp+014h] ; 8a 46 14 6715 mov byte [bp-00 ah], al ; 88 46 f66712 mov byte [bp-008h], al ; 88 46 f8 6716 6713 test al, al ; 84 c0 6717 jne short 04cd ch ; 75 196718 mov bx, 00d 8ah ; bb 8a0d6714 jne short 04cdbh ; 75 19 6715 mov bx, 00da2h ; bb a2 0d 6719 6716 mov cx, ds ; 8c d9 6720 6717 mov ax, strict word 00004h ; b8 04 00 6721 call 01931h ; e8 6 3cc6718 call 01931h ; e8 64 cc 6722 6719 push 00567h ; 68 67 05 6723 6720 push strict byte 00004h ; 6a 04 6724 call 01972h ; e8 9 ccc6721 call 01972h ; e8 9d cc 6725 6722 add sp, strict byte 00004h ; 83 c4 04 6726 jmp near 050 07h ; e9 2b036723 jmp near 05072h ; e9 97 03 6727 6724 mov dx, strict word 00017h ; ba 17 00 6728 6725 mov ax, strict word 00040h ; b8 40 00 6729 call 01650h ; e8 6 bc96730 mov byte [bp-0 0eh], al ; 88 46 f26731 mov b l, al ; 88 c36726 call 01650h ; e8 6c c9 6727 mov byte [bp-010h], al ; 88 46 f0 6728 mov byte [bp-00ah], al ; 88 46 f6 6732 6729 mov dx, strict word 00018h ; ba 18 00 6733 6730 mov ax, strict word 00040h ; b8 40 00 6734 6731 call 01650h ; e8 5d c9 6735 mov byte [bp-0 10h], al ; 88 46 f06736 mov byte [bp-00 ch], al ; 88 46 f46732 mov byte [bp-00eh], al ; 88 46 f2 6733 mov byte [bp-004h], al ; 88 46 fc 6737 6734 mov dx, 00096h ; ba 96 00 6738 6735 mov ax, strict word 00040h ; b8 40 00 6739 6736 call 01650h ; e8 4e c9 6740 mov byte [bp-008h], al ; 88 46 f86741 6737 mov byte [bp-006h], al ; 88 46 fa 6742 mov al, byte [bp-00ah] ; 8a 46 f6 6738 mov byte [bp-00ch], al ; 88 46 f4 6739 mov al, byte [bp-008h] ; 8a 46 f8 6743 6740 push CS ; 0e 6744 6741 pop ES ; 07 … … 6750 6747 mov ax, word [cs:di+04c91h] ; 2e 8b 85 91 4c 6751 6748 jmp ax ; ff e0 6752 xor b l, 040h ; 80 f3406753 xor bh, bh ; 30 ff6749 xor byte [bp-00ah], 040h ; 80 76 f6 40 6750 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 6754 6751 mov dx, strict word 00017h ; ba 17 00 6755 6752 mov ax, strict word 00040h ; b8 40 00 6756 call 0165eh ; e8 30c96757 or byte [bp-00 ch], 040h ; 80 4e f4406758 movzx bx, byte [bp-00 ch] ; 0f b6 5e f46759 jmp near 04e afh ; e9 76016760 mov al, byte [bp-0 10h] ; 8a 46 f06753 call 0165eh ; e8 2d c9 6754 or byte [bp-004h], 040h ; 80 4e fc 40 6755 movzx bx, byte [bp-004h] ; 0f b6 5e fc 6756 jmp near 04ed4h ; e9 98 01 6757 mov al, byte [bp-00eh] ; 8a 46 f2 6761 6758 and AL, strict byte 0bfh ; 24 bf 6762 mov byte [bp-00 ch], al ; 88 46 f46759 mov byte [bp-004h], al ; 88 46 fc 6763 6760 movzx bx, al ; 0f b6 d8 6764 jmp near 04e afh ; e9 68016765 test byte [bp-00 6h], 002h ; f6 46 fa026766 jne near 0 4fe9h ; 0f 85 9a 026767 mov al, byte [bp-00 ah] ; 8a 46 f66761 jmp near 04ed4h ; e9 8a 01 6762 test byte [bp-00ch], 002h ; f6 46 f4 02 6763 jne near 05054h ; 0f 85 02 03 6764 mov al, byte [bp-008h] ; 8a 46 f8 6768 6765 and AL, strict byte 07fh ; 24 7f 6769 6766 cmp AL, strict byte 02ah ; 3c 2a 6770 6767 db 00fh, 094h, 0c0h 6771 6768 ; sete al ; 0f 94 c0 6772 xor ah, ah ; 30 e4 6773 inc ax ; 40 6774 test byte [bp-00ah], 080h ; f6 46 f6 80 6775 je short 04d68h ; 74 06 6769 movzx dx, al ; 0f b6 d0 6770 inc dx ; 42 6771 test byte [bp-008h], 080h ; f6 46 f8 80 6772 je short 04d6fh ; 74 09 6773 mov al, dl ; 88 d0 6776 6774 not al ; f6 d0 6777 and b l, al ; 20 c36778 jmp short 04d 6ah ; eb 026779 or b l, al ; 08 c36780 xor bh, bh ; 30 ff6775 and byte [bp-00ah], al ; 20 46 f6 6776 jmp short 04d72h ; eb 03 6777 or byte [bp-00ah], dl ; 08 56 f6 6778 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 6781 6779 mov dx, strict word 00017h ; ba 17 00 6782 6780 mov ax, strict word 00040h ; b8 40 00 6783 call 0165eh ; e8 e9 c8 6784 jmp near 04fe9h ; e9 71 02 6785 test byte [bp-008h], 001h ; f6 46 f8 01 6786 jne near 04fe9h ; 0f 85 69 02 6787 or bl, 004h ; 80 cb 04 6788 xor bh, bh ; 30 ff 6781 call 0165eh ; e8 df c8 6782 jmp near 05054h ; e9 d2 02 6783 test byte [bp-006h], 001h ; f6 46 fa 01 6784 jne near 05054h ; 0f 85 ca 02 6785 mov al, byte [bp-010h] ; 8a 46 f0 6786 or AL, strict byte 004h ; 0c 04 6787 mov byte [bp-00ah], al ; 88 46 f6 6788 movzx bx, al ; 0f b6 d8 6789 6789 mov dx, strict word 00017h ; ba 17 00 6790 6790 mov ax, strict word 00040h ; b8 40 00 6791 call 0165eh ; e8 d0 c86792 mov al, byte [bp-00 8h] ; 8a 46 f86791 call 0165eh ; e8 c0 c8 6792 mov al, byte [bp-006h] ; 8a 46 fa 6793 6793 test AL, strict byte 002h ; a8 02 6794 je short 04d a2h ; 74 0d6794 je short 04db2h ; 74 0d 6795 6795 or AL, strict byte 004h ; 0c 04 6796 mov byte [bp-00 6h], al ; 88 46 fa6796 mov byte [bp-00ch], al ; 88 46 f4 6797 6797 movzx bx, al ; 0f b6 d8 6798 6798 mov dx, 00096h ; ba 96 00 6799 jmp short 04d b0h ; eb 0e6800 mov al, byte [bp-0 10h] ; 8a 46 f06799 jmp short 04dc0h ; eb 0e 6800 mov al, byte [bp-00eh] ; 8a 46 f2 6801 6801 or AL, strict byte 001h ; 0c 01 6802 mov byte [bp-00 ch], al ; 88 46 f46802 mov byte [bp-004h], al ; 88 46 fc 6803 6803 movzx bx, al ; 0f b6 d8 6804 6804 mov dx, strict word 00018h ; ba 18 00 6805 6805 mov ax, strict word 00040h ; b8 40 00 6806 call 0165eh ; e8 a8 c8 6807 jmp near 04fe9h ; e9 30 02 6808 test byte [bp-008h], 001h ; f6 46 f8 01 6809 jne near 04fe9h ; 0f 85 28 02 6810 and bl, 0fbh ; 80 e3 fb 6811 xor bh, bh ; 30 ff 6806 call 0165eh ; e8 98 c8 6807 jmp near 05054h ; e9 8b 02 6808 test byte [bp-006h], 001h ; f6 46 fa 01 6809 jne near 05054h ; 0f 85 83 02 6810 mov al, byte [bp-010h] ; 8a 46 f0 6811 and AL, strict byte 0fbh ; 24 fb 6812 mov byte [bp-00ah], al ; 88 46 f6 6813 movzx bx, al ; 0f b6 d8 6812 6814 mov dx, strict word 00017h ; ba 17 00 6813 6815 mov ax, strict word 00040h ; b8 40 00 6814 call 0165eh ; e8 8fc86815 mov al, byte [bp-00 8h] ; 8a 46 f86816 call 0165eh ; e8 79 c8 6817 mov al, byte [bp-006h] ; 8a 46 fa 6816 6818 test AL, strict byte 002h ; a8 02 6817 je short 04d e3h ; 74 0d6819 je short 04df9h ; 74 0d 6818 6820 and AL, strict byte 0fbh ; 24 fb 6819 mov byte [bp-00 6h], al ; 88 46 fa6821 mov byte [bp-00ch], al ; 88 46 f4 6820 6822 movzx bx, al ; 0f b6 d8 6821 6823 mov dx, 00096h ; ba 96 00 6822 jmp short 04 df1h ; eb 0e6823 mov al, byte [bp-0 10h] ; 8a 46 f06824 jmp short 04e07h ; eb 0e 6825 mov al, byte [bp-00eh] ; 8a 46 f2 6824 6826 and AL, strict byte 0feh ; 24 fe 6825 mov byte [bp-00 ch], al ; 88 46 f46827 mov byte [bp-004h], al ; 88 46 fc 6826 6828 movzx bx, al ; 0f b6 d8 6827 6829 mov dx, strict word 00018h ; ba 18 00 6828 6830 mov ax, strict word 00040h ; b8 40 00 6829 call 0165eh ; e8 67 c8 6830 jmp near 04fe9h ; e9 ef 01 6831 or bl, 008h ; 80 cb 08 6832 xor bh, bh ; 30 ff 6831 call 0165eh ; e8 51 c8 6832 jmp near 05054h ; e9 44 02 6833 mov al, byte [bp-010h] ; 8a 46 f0 6834 or AL, strict byte 008h ; 0c 08 6835 mov byte [bp-00ah], al ; 88 46 f6 6836 movzx bx, al ; 0f b6 d8 6833 6837 mov dx, strict word 00017h ; ba 17 00 6834 6838 mov ax, strict word 00040h ; b8 40 00 6835 call 0165eh ; e8 56c86836 mov al, byte [bp-00 8h] ; 8a 46 f86839 call 0165eh ; e8 3a c8 6840 mov al, byte [bp-006h] ; 8a 46 fa 6837 6841 test AL, strict byte 002h ; a8 02 6838 je short 04e 1ch ; 74 0d6842 je short 04e38h ; 74 0d 6839 6843 or AL, strict byte 008h ; 0c 08 6840 mov byte [bp-00 6h], al ; 88 46 fa6844 mov byte [bp-00ch], al ; 88 46 f4 6841 6845 movzx bx, al ; 0f b6 d8 6842 6846 mov dx, 00096h ; ba 96 00 6843 jmp short 04e 2ah ; eb 0e6844 mov al, byte [bp-0 10h] ; 8a 46 f06847 jmp short 04e46h ; eb 0e 6848 mov al, byte [bp-00eh] ; 8a 46 f2 6845 6849 or AL, strict byte 002h ; 0c 02 6846 mov byte [bp-00 ch], al ; 88 46 f46850 mov byte [bp-004h], al ; 88 46 fc 6847 6851 movzx bx, al ; 0f b6 d8 6848 6852 mov dx, strict word 00018h ; ba 18 00 6849 6853 mov ax, strict word 00040h ; b8 40 00 6850 call 0165eh ; e8 2e c8 6851 jmp near 04fe9h ; e9 b6 01 6852 and bl, 0f7h ; 80 e3 f7 6853 xor bh, bh ; 30 ff 6854 call 0165eh ; e8 12 c8 6855 jmp near 05054h ; e9 05 02 6856 mov al, byte [bp-010h] ; 8a 46 f0 6857 and AL, strict byte 0f7h ; 24 f7 6858 mov byte [bp-00ah], al ; 88 46 f6 6859 movzx bx, al ; 0f b6 d8 6854 6860 mov dx, strict word 00017h ; ba 17 00 6855 6861 mov ax, strict word 00040h ; b8 40 00 6856 call 0165eh ; e8 1d c86857 mov al, byte [bp-00 8h] ; 8a 46 f86862 call 0165eh ; e8 fb c7 6863 mov al, byte [bp-006h] ; 8a 46 fa 6858 6864 test AL, strict byte 002h ; a8 02 6859 je short 04e 55h ; 74 0d6865 je short 04e77h ; 74 0d 6860 6866 and AL, strict byte 0f7h ; 24 f7 6861 mov byte [bp-00 6h], al ; 88 46 fa6867 mov byte [bp-00ch], al ; 88 46 f4 6862 6868 movzx bx, al ; 0f b6 d8 6863 6869 mov dx, 00096h ; ba 96 00 6864 jmp short 04e 63h ; eb 0e6865 mov al, byte [bp-0 10h] ; 8a 46 f06870 jmp short 04e85h ; eb 0e 6871 mov al, byte [bp-00eh] ; 8a 46 f2 6866 6872 and AL, strict byte 0fdh ; 24 fd 6867 mov byte [bp-00 ch], al ; 88 46 f46873 mov byte [bp-004h], al ; 88 46 fc 6868 6874 movzx bx, al ; 0f b6 d8 6869 6875 mov dx, strict word 00018h ; ba 18 00 6870 6876 mov ax, strict word 00040h ; b8 40 00 6871 call 0165eh ; e8 f5c76872 jmp near 0 4fe9h ; e9 7d016873 test byte [bp-00 8h], 003h ; f6 46 f8036874 jne near 0 4fe9h ; 0f 85 75016875 mov al, byte [bp-0 10h] ; 8a 46 f06877 call 0165eh ; e8 d3 c7 6878 jmp near 05054h ; e9 c6 01 6879 test byte [bp-006h], 003h ; f6 46 fa 03 6880 jne near 05054h ; 0f 85 be 01 6881 mov al, byte [bp-00eh] ; 8a 46 f2 6876 6882 or AL, strict byte 020h ; 0c 20 6877 mov byte [bp-00 ch], al ; 88 46 f46883 mov byte [bp-004h], al ; 88 46 fc 6878 6884 movzx bx, al ; 0f b6 d8 6879 6885 mov dx, strict word 00018h ; ba 18 00 6880 6886 mov ax, strict word 00040h ; b8 40 00 6881 call 0165eh ; e8 d6 c7 6882 mov bl, byte [bp-00eh] ; 8a 5e f2 6883 xor bl, 020h ; 80 f3 20 6884 xor bh, bh ; 30 ff 6887 call 0165eh ; e8 b4 c7 6888 mov al, byte [bp-010h] ; 8a 46 f0 6889 xor AL, strict byte 020h ; 34 20 6890 mov byte [bp-00ah], al ; 88 46 f6 6891 movzx bx, al ; 0f b6 d8 6885 6892 mov dx, strict word 00017h ; ba 17 00 6886 6893 mov ax, strict word 00040h ; b8 40 00 6887 call 0165eh ; e8 c5c76888 jmp near 0 4fe9h ; e9 4d016889 test byte [bp-00 8h], 003h ; f6 46 f8036890 jne near 0 4fe9h ; 0f 85 45016891 mov al, byte [bp-0 10h] ; 8a 46 f06894 call 0165eh ; e8 a0 c7 6895 jmp near 05054h ; e9 93 01 6896 test byte [bp-006h], 003h ; f6 46 fa 03 6897 jne near 05054h ; 0f 85 8b 01 6898 mov al, byte [bp-00eh] ; 8a 46 f2 6892 6899 and AL, strict byte 0dfh ; 24 df 6893 mov byte [bp-00 ch], al ; 88 46 f46900 mov byte [bp-004h], al ; 88 46 fc 6894 6901 movzx bx, al ; 0f b6 d8 6895 6902 mov dx, strict word 00018h ; ba 18 00 6896 6903 mov ax, strict word 00040h ; b8 40 00 6897 call 0165eh ; e8 a6c76898 jmp near 0 4fe9h ; e9 2e016899 mov al, byte [bp-0 10h] ; 8a 46 f06904 call 0165eh ; e8 81 c7 6905 jmp near 05054h ; e9 74 01 6906 mov al, byte [bp-00eh] ; 8a 46 f2 6900 6907 or AL, strict byte 010h ; 0c 10 6901 mov byte [bp-00 ch], al ; 88 46 f46908 mov byte [bp-004h], al ; 88 46 fc 6902 6909 movzx bx, al ; 0f b6 d8 6903 6910 mov dx, strict word 00018h ; ba 18 00 6904 6911 mov ax, strict word 00040h ; b8 40 00 6905 call 0165eh ; e8 8f c7 6906 mov bl, byte [bp-00eh] ; 8a 5e f2 6907 xor bl, 010h ; 80 f3 10 6908 jmp short 04e8eh ; eb b7 6912 call 0165eh ; e8 6a c7 6909 6913 mov al, byte [bp-010h] ; 8a 46 f0 6914 xor AL, strict byte 010h ; 34 10 6915 jmp short 04eafh ; eb b4 6916 mov al, byte [bp-00eh] ; 8a 46 f2 6910 6917 and AL, strict byte 0efh ; 24 ef 6911 jmp short 04e a9h ; eb cb6912 mov al, b l ; 88 d86918 jmp short 04eceh ; eb cc 6919 mov al, byte [bp-010h] ; 8a 46 f0 6913 6920 and AL, strict byte 00ch ; 24 0c 6914 6921 cmp AL, strict byte 00ch ; 3c 0c 6915 jne short 04eebh ; 75 05 6922 jne short 04f1ch ; 75 11 6923 mov bx, 01234h ; bb 34 12 6924 mov dx, strict word 00072h ; ba 72 00 6925 mov ax, strict word 00040h ; b8 40 00 6926 call 0167ah ; e8 63 c7 6916 6927 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 6917 test byte [bp-00ah], 080h ; f6 46 f6 80 6918 jne near 04fe9h ; 0f 85 f6 00 6919 cmp byte [bp-00ah], 058h ; 80 7e f6 58 6920 jbe short 04f17h ; 76 1e 6921 mov bx, 00d8ah ; bb 8a 0d 6928 mov al, byte [bp-008h] ; 8a 46 f8 6929 test AL, strict byte 080h ; a8 80 6930 je short 04f5ah ; 74 37 6931 cmp AL, strict byte 0fah ; 3c fa 6932 jne short 04f37h ; 75 10 6933 mov dx, 00097h ; ba 97 00 6934 mov ax, strict word 00040h ; b8 40 00 6935 call 01650h ; e8 20 c7 6936 mov dl, al ; 88 c2 6937 or dl, 010h ; 80 ca 10 6938 jmp short 04f4bh ; eb 14 6939 cmp AL, strict byte 0feh ; 3c fe 6940 jne near 05054h ; 0f 85 17 01 6941 mov dx, 00097h ; ba 97 00 6942 mov ax, strict word 00040h ; b8 40 00 6943 call 01650h ; e8 0a c7 6944 mov dl, al ; 88 c2 6945 or dl, 020h ; 80 ca 20 6946 movzx bx, dl ; 0f b6 da 6947 mov dx, 00097h ; ba 97 00 6948 mov ax, strict word 00040h ; b8 40 00 6949 call 0165eh ; e8 07 c7 6950 jmp near 05054h ; e9 fa 00 6951 cmp byte [bp-008h], 058h ; 80 7e f8 58 6952 jbe short 04f7eh ; 76 1e 6953 mov bx, 00da2h ; bb a2 0d 6922 6954 mov cx, ds ; 8c d9 6923 6955 mov ax, strict word 00004h ; b8 04 00 6924 call 01931h ; e8 2d ca6925 movzx ax, byte [bp-00 ah] ; 0f b6 46 f66956 call 01931h ; e8 c6 c9 6957 movzx ax, byte [bp-008h] ; 0f b6 46 f8 6926 6958 push ax ; 50 6927 6959 push 00581h ; 68 81 05 6928 6960 push strict byte 00004h ; 6a 04 6929 call 01972h ; e8 61 ca6961 call 01972h ; e8 fa c9 6930 6962 add sp, strict byte 00006h ; 83 c4 06 6931 jmp near 05007h ; e9 f0 00 6932 test bl, 008h ; f6 c3 08 6933 je short 04f2eh ; 74 12 6934 movzx si, byte [bp-00ah] ; 0f b6 76 f6 6935 imul si, si, strict byte 0000ah ; 6b f6 0a 6936 mov dl, byte [si+00ddeh] ; 8a 94 de 0d 6937 mov ax, word [si+00ddeh] ; 8b 84 de 0d 6938 jmp near 04fbah ; e9 8c 00 6939 test bl, 004h ; f6 c3 04 6940 je short 04f45h ; 74 12 6941 movzx si, byte [bp-00ah] ; 0f b6 76 f6 6942 imul si, si, strict byte 0000ah ; 6b f6 0a 6943 mov dl, byte [si+00ddch] ; 8a 94 dc 0d 6944 mov ax, word [si+00ddch] ; 8b 84 dc 0d 6945 jmp near 04fbah ; e9 75 00 6946 mov al, byte [bp-006h] ; 8a 46 fa 6963 jmp near 05072h ; e9 f4 00 6964 mov al, byte [bp-00ah] ; 8a 46 f6 6965 test AL, strict byte 008h ; a8 08 6966 je short 04f97h ; 74 12 6967 movzx bx, byte [bp-008h] ; 0f b6 5e f8 6968 imul bx, bx, strict byte 0000ah ; 6b db 0a 6969 mov dl, byte [bx+00df6h] ; 8a 97 f6 0d 6970 mov ax, word [bx+00df6h] ; 8b 87 f6 0d 6971 jmp near 05025h ; e9 8e 00 6972 test AL, strict byte 004h ; a8 04 6973 je short 04fadh ; 74 12 6974 movzx bx, byte [bp-008h] ; 0f b6 5e f8 6975 imul bx, bx, strict byte 0000ah ; 6b db 0a 6976 mov dl, byte [bx+00df4h] ; 8a 97 f4 0d 6977 mov ax, word [bx+00df4h] ; 8b 87 f4 0d 6978 jmp near 05025h ; e9 78 00 6979 mov al, byte [bp-00ch] ; 8a 46 f4 6947 6980 and AL, strict byte 002h ; 24 02 6948 6981 test al, al ; 84 c0 6949 jbe short 04f 63h ; 76 156950 mov al, byte [bp-00 ah] ; 8a 46 f66982 jbe short 04fcbh ; 76 15 6983 mov al, byte [bp-008h] ; 8a 46 f8 6951 6984 cmp AL, strict byte 047h ; 3c 47 6952 jc short 04f 63h ; 72 0e6985 jc short 04fcbh ; 72 0e 6953 6986 cmp AL, strict byte 053h ; 3c 53 6954 jnbe short 04f 63h ; 77 0a6987 jnbe short 04fcbh ; 77 0a 6955 6988 mov DL, strict byte 0e0h ; b2 e0 6956 movzx si, al ; 0f b6 f06957 imul si, si, strict byte 0000ah ; 6b f60a6958 jmp short 0 4fb6h ; eb 536959 test b l, 003h ; f6 c3036960 je short 04f 95h ; 74 2d6961 movzx si, byte [bp-00ah] ; 0f b6 76 f66962 imul si, si, strict byte 0000ah ; 6b f60a6963 movzx ax, byte [ si+00de0h] ; 0f b6 84 e00d6964 movzx dx, b l ; 0f b6 d36989 movzx bx, al ; 0f b6 d8 6990 imul bx, bx, strict byte 0000ah ; 6b db 0a 6991 jmp short 05021h ; eb 56 6992 test byte [bp-00ah], 003h ; f6 46 f6 03 6993 je short 04fffh ; 74 2e 6994 movzx bx, byte [bp-008h] ; 0f b6 5e f8 6995 imul bx, bx, strict byte 0000ah ; 6b db 0a 6996 movzx ax, byte [bx+00df8h] ; 0f b6 87 f8 0d 6997 movzx dx, byte [bp-00ah] ; 0f b6 56 f6 6965 6998 test dx, ax ; 85 c2 6966 je short 04f 85h ; 74 0a6967 mov dl, byte [ si+00dd8h] ; 8a 94 d80d6968 mov ax, word [ si+00dd8h] ; 8b 84 d80d6969 jmp short 04f 8dh ; eb 086970 mov dl, byte [ si+00ddah] ; 8a 94 da0d6971 mov ax, word [ si+00ddah] ; 8b 84 da0d6999 je short 04fefh ; 74 0a 7000 mov dl, byte [bx+00df0h] ; 8a 97 f0 0d 7001 mov ax, word [bx+00df0h] ; 8b 87 f0 0d 7002 jmp short 04ff7h ; eb 08 7003 mov dl, byte [bx+00df2h] ; 8a 97 f2 0d 7004 mov ax, word [bx+00df2h] ; 8b 87 f2 0d 6972 7005 shr ax, 008h ; c1 e8 08 6973 mov byte [bp-00 ah], al ; 88 46 f66974 jmp short 0 4fc0h ; eb 2b6975 movzx si, byte [bp-00ah] ; 0f b6 76 f66976 imul si, si, strict byte 0000ah ; 6b f60a6977 movzx ax, byte [ si+00de0h] ; 0f b6 84 e00d6978 movzx dx, b l ; 0f b6 d37006 mov byte [bp-008h], al ; 88 46 f8 7007 jmp short 0502bh ; eb 2c 7008 movzx bx, byte [bp-008h] ; 0f b6 5e f8 7009 imul bx, bx, strict byte 0000ah ; 6b db 0a 7010 movzx ax, byte [bx+00df8h] ; 0f b6 87 f8 0d 7011 movzx dx, byte [bp-00ah] ; 0f b6 56 f6 6979 7012 test dx, ax ; 85 c2 6980 je short 0 4fb2h ; 74 0a6981 mov dl, byte [ si+00ddah] ; 8a 94 da0d6982 mov ax, word [ si+00ddah] ; 8b 84 da0d6983 jmp short 0 4fbah ; eb 086984 mov dl, byte [ si+00dd8h] ; 8a 94 d80d6985 mov ax, word [ si+00dd8h] ; 8b 84 d80d7013 je short 0501dh ; 74 0a 7014 mov dl, byte [bx+00df2h] ; 8a 97 f2 0d 7015 mov ax, word [bx+00df2h] ; 8b 87 f2 0d 7016 jmp short 05025h ; eb 08 7017 mov dl, byte [bx+00df0h] ; 8a 97 f0 0d 7018 mov ax, word [bx+00df0h] ; 8b 87 f0 0d 6986 7019 shr ax, 008h ; c1 e8 08 6987 mov byte [bp-00 ah], al ; 88 46 f66988 cmp byte [bp-00 ah], 000h ; 80 7e f6006989 jne short 0 4fe0h ; 75 1a7020 mov byte [bp-008h], al ; 88 46 f8 7021 cmp byte [bp-008h], 000h ; 80 7e f8 00 7022 jne short 0504bh ; 75 1a 6990 7023 test dl, dl ; 84 d2 6991 jne short 0 4fe0h ; 75 166992 mov bx, 00d 8ah ; bb 8a0d7024 jne short 0504bh ; 75 16 7025 mov bx, 00da2h ; bb a2 0d 6993 7026 mov cx, ds ; 8c d9 6994 7027 mov ax, strict word 00004h ; b8 04 00 6995 call 01931h ; e8 5c c97028 call 01931h ; e8 f1 c8 6996 7029 push 005b8h ; 68 b8 05 6997 7030 push strict byte 00004h ; 6a 04 6998 call 01972h ; e8 95c97031 call 01972h ; e8 2a c9 6999 7032 add sp, strict byte 00004h ; 83 c4 04 7000 7033 xor dh, dh ; 30 f6 7001 movzx ax, byte [bp-00 ah] ; 0f b6 46 f67002 call 04c1eh ; e8 35 fc7003 mov al, byte [bp-00 ah] ; 8a 46 f67034 movzx ax, byte [bp-008h] ; 0f b6 46 f8 7035 call 04c1eh ; e8 ca fb 7036 mov al, byte [bp-008h] ; 8a 46 f8 7004 7037 and AL, strict byte 07fh ; 24 7f 7005 7038 cmp AL, strict byte 01dh ; 3c 1d 7006 je short 0 4ff6h ; 74 047007 and byte [bp-00 6h], 0feh ; 80 66 fafe7008 and byte [bp-00 6h], 0fdh ; 80 66 fafd7009 movzx bx, byte [bp-00 6h] ; 0f b6 5e fa7039 je short 05061h ; 74 04 7040 and byte [bp-00ch], 0feh ; 80 66 f4 fe 7041 and byte [bp-00ch], 0fdh ; 80 66 f4 fd 7042 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7010 7043 mov dx, 00096h ; ba 96 00 7011 7044 mov ax, strict word 00040h ; b8 40 00 7012 call 0165eh ; e8 57 c67013 lea sp, [bp-00 4h] ; 8d 66 fc7045 call 0165eh ; e8 ec c5 7046 lea sp, [bp-002h] ; 8d 66 fe 7014 7047 pop di ; 5f 7015 pop si ; 5e7016 7048 pop bp ; 5d 7017 7049 retn ; c3 7018 dequeue_key_: ; 0xf50 0eLB 0x947050 dequeue_key_: ; 0xf5078 LB 0x94 7019 7051 push bp ; 55 7020 7052 mov bp, sp ; 89 e5 … … 7029 7061 mov dx, strict word 0001ah ; ba 1a 00 7030 7062 mov ax, strict word 00040h ; b8 40 00 7031 call 0166ch ; e8 44 c67063 call 0166ch ; e8 da c5 7032 7064 mov bx, ax ; 89 c3 7033 7065 mov dx, strict word 0001ch ; ba 1c 00 7034 7066 mov ax, strict word 00040h ; b8 40 00 7035 call 0166ch ; e8 39 c67067 call 0166ch ; e8 cf c5 7036 7068 cmp bx, ax ; 39 c3 7037 je short 050 74h ; 74 3d7069 je short 050deh ; 74 3d 7038 7070 mov dx, bx ; 89 da 7039 7071 mov ax, strict word 00040h ; b8 40 00 7040 call 01650h ; e8 11 c67072 call 01650h ; e8 a7 c5 7041 7073 mov cl, al ; 88 c1 7042 7074 lea dx, [bx+001h] ; 8d 57 01 7043 7075 mov ax, strict word 00040h ; b8 40 00 7044 call 01650h ; e8 06 c67076 call 01650h ; e8 9c c5 7045 7077 mov es, [bp-008h] ; 8e 46 f8 7046 7078 mov byte [es:si], cl ; 26 88 0c … … 7048 7080 mov byte [es:di], al ; 26 88 05 7049 7081 cmp word [bp+004h], strict byte 00000h ; 83 7e 04 00 7050 je short 050 6fh ; 74 137082 je short 050d9h ; 74 13 7051 7083 inc bx ; 43 7052 7084 inc bx ; 43 7053 7085 cmp bx, strict byte 0003eh ; 83 fb 3e 7054 jc short 050 66h ; 72 037086 jc short 050d0h ; 72 03 7055 7087 mov bx, strict word 0001eh ; bb 1e 00 7056 7088 mov dx, strict word 0001ah ; ba 1a 00 7057 7089 mov ax, strict word 00040h ; b8 40 00 7058 call 0167ah ; e8 0b c67090 call 0167ah ; e8 a1 c5 7059 7091 mov ax, strict word 00001h ; b8 01 00 7060 jmp short 050 76h ; eb 027092 jmp short 050e0h ; eb 02 7061 7093 xor ax, ax ; 31 c0 7062 7094 lea sp, [bp-004h] ; 8d 66 fc … … 7069 7101 or cl, byte [bx+di] ; 0a 09 7070 7102 add ax, 00102h ; 05 02 01 7071 add byte [bx+si+053h], al ; 00 40 53 7072 push si ; 56 7103 add byte [bp+si-03fadh], ch ; 00 aa 53 c0 7073 7104 push cx ; 51 7074 popfw ; 9d 7075 push cx ; 51 7076 jmp near 049e4h ; e9 51 f9 7077 push cx ; 51 7078 and dx, word [bp+si+02ch] ; 23 52 2c 7105 pop ES ; 07 7079 7106 push dx ; 52 7080 p opfw ; 9d7107 push bx ; 53 7081 7108 push dx ; 52 7082 into ; ce7109 arpl word [bp+si-073h], dx ; 63 52 8d 7083 7110 push dx ; 52 7084 sti ; fb7111 xchg si, ax ; 96 7085 7112 push dx ; 52 7086 xor ax, 08353h ; 35 53 837113 pop ES ; 07 7087 7114 push bx ; 53 7088 _int16_function: ; 0xf50a2 LB 0x2e7 7115 cmp byte [bp+di+065h], dl ; 38 53 65 7116 push bx ; 53 7117 lahf ; 9f 7118 push bx ; 53 7119 in ax, DX ; ed 7120 push bx ; 53 7121 _int16_function: ; 0xf510c LB 0x2e7 7089 7122 push bp ; 55 7090 7123 mov bp, sp ; 89 e5 … … 7093 7126 mov dx, strict word 00017h ; ba 17 00 7094 7127 mov ax, strict word 00040h ; b8 40 00 7095 call 01650h ; e8 9ec57128 call 01650h ; e8 34 c5 7096 7129 mov cl, al ; 88 c1 7097 7130 mov bh, al ; 88 c7 7098 7131 mov dx, 00097h ; ba 97 00 7099 7132 mov ax, strict word 00040h ; b8 40 00 7100 call 01650h ; e8 91c57133 call 01650h ; e8 27 c5 7101 7134 mov bl, al ; 88 c3 7102 7135 movzx dx, cl ; 0f b6 d1 … … 7107 7140 xor al, dl ; 30 d0 7108 7141 test ax, ax ; 85 c0 7109 je short 051 34h ; 74 607142 je short 0519eh ; 74 60 7110 7143 cli ; fa 7111 7144 mov AL, strict byte 0edh ; b0 ed … … 7117 7150 ; sub ah, ah ; 2a e4 7118 7151 test AL, strict byte 001h ; a8 01 7119 jne short 05 0edh ; 75 087152 jne short 05157h ; 75 08 7120 7153 mov AL, strict byte 021h ; b0 21 7121 7154 mov dx, 00080h ; ba 80 00 7122 7155 out DX, AL ; ee 7123 jmp short 05 0dbh ; eb ee7156 jmp short 05145h ; eb ee 7124 7157 mov dx, strict word 00060h ; ba 60 00 7125 7158 in AL, DX ; ec … … 7127 7160 ; sub ah, ah ; 2a e4 7128 7161 cmp ax, 000fah ; 3d fa 00 7129 jne short 051 33h ; 75 3b7130 and bl, 0 f8h ; 80 e3 f87162 jne short 0519dh ; 75 3b 7163 and bl, 0c8h ; 80 e3 c8 7131 7164 movzx ax, bh ; 0f b6 c7 7132 7165 sar ax, 004h ; c1 f8 04 … … 7143 7176 ; sub ah, ah ; 2a e4 7144 7177 test AL, strict byte 001h ; a8 01 7145 jne short 051 22h ; 75 087178 jne short 0518ch ; 75 08 7146 7179 mov AL, strict byte 021h ; b0 21 7147 7180 mov dx, 00080h ; ba 80 00 7148 7181 out DX, AL ; ee 7149 jmp short 051 10h ; eb ee7182 jmp short 0517ah ; eb ee 7150 7183 mov dx, strict word 00060h ; ba 60 00 7151 7184 in AL, DX ; ec … … 7155 7188 mov dx, 00097h ; ba 97 00 7156 7189 mov ax, strict word 00040h ; b8 40 00 7157 call 0165eh ; e8 2b c57190 call 0165eh ; e8 c1 c4 7158 7191 sti ; fb 7159 7192 mov ax, word [bp+012h] ; 8b 46 12 7160 7193 shr ax, 008h ; c1 e8 08 7161 7194 cmp ax, 000a2h ; 3d a2 00 7162 jnbe near 053 40h ; 0f 87 ff 017195 jnbe near 053aah ; 0f 87 ff 01 7163 7196 push CS ; 0e 7164 7197 pop ES ; 07 7165 7198 mov cx, strict word 0000ch ; b9 0c 00 7166 mov di, 050 7fh ; bf 7f507199 mov di, 050e9h ; bf e9 50 7167 7200 repne scasb ; f2 ae 7168 7201 sal cx, 1 ; d1 e1 7169 7202 mov di, cx ; 89 cf 7170 mov ax, word [cs:di+050 8ah] ; 2e 8b 85 8a507203 mov ax, word [cs:di+050f4h] ; 2e 8b 85 f4 50 7171 7204 jmp ax ; ff e0 7172 7205 push strict byte 00001h ; 6a 01 … … 7175 7208 mov dx, ss ; 8c d2 7176 7209 lea ax, [bp-006h] ; 8d 46 fa 7177 call 050 0eh ; e8 a9 fe7210 call 05078h ; e8 a9 fe 7178 7211 test ax, ax ; 85 c0 7179 jne short 051 74h ; 75 0b7212 jne short 051deh ; 75 0b 7180 7213 push 005efh ; 68 ef 05 7181 7214 push strict byte 00007h ; 6a 07 7182 call 01972h ; e8 01 c87215 call 01972h ; e8 97 c7 7183 7216 add sp, strict byte 00004h ; 83 c4 04 7184 7217 cmp byte [bp-006h], 000h ; 80 7e fa 00 7185 je short 051 80h ; 74 067218 je short 051eah ; 74 06 7186 7219 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7187 je short 051 86h ; 74 067220 je short 051f0h ; 74 06 7188 7221 cmp byte [bp-008h], 0e0h ; 80 7e f8 e0 7189 jne short 051 8ah ; 75 047222 jne short 051f4h ; 75 04 7190 7223 mov byte [bp-008h], 000h ; c6 46 f8 00 7191 7224 movzx dx, byte [bp-006h] ; 0f b6 56 fa … … 7194 7227 or dx, ax ; 09 c2 7195 7228 mov word [bp+012h], dx ; 89 56 12 7196 jmp near 053 83h ; e9 e6 017229 jmp near 053edh ; e9 e6 01 7197 7230 or word [bp+01ch], 00200h ; 81 4e 1c 00 02 7198 7231 push strict byte 00000h ; 6a 00 … … 7201 7234 mov dx, ss ; 8c d2 7202 7235 lea ax, [bp-006h] ; 8d 46 fa 7203 call 050 0eh ; e8 5d fe7236 call 05078h ; e8 5d fe 7204 7237 test ax, ax ; 85 c0 7205 jne short 05 1bch ; 75 077238 jne short 05226h ; 75 07 7206 7239 or word [bp+01ch], strict byte 00040h ; 83 4e 1c 40 7207 jmp near 053 83h ; e9 c7 017240 jmp near 053edh ; e9 c7 01 7208 7241 cmp byte [bp-006h], 000h ; 80 7e fa 00 7209 je short 05 1c8h ; 74 067242 je short 05232h ; 74 06 7210 7243 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7211 je short 05 1ceh ; 74 067244 je short 05238h ; 74 06 7212 7245 cmp byte [bp-008h], 0e0h ; 80 7e f8 e0 7213 jne short 05 1d2h ; 75 047246 jne short 0523ch ; 75 04 7214 7247 mov byte [bp-008h], 000h ; c6 46 f8 00 7215 7248 movzx dx, byte [bp-006h] ; 0f b6 56 fa … … 7219 7252 mov word [bp+012h], dx ; 89 56 12 7220 7253 and word [bp+01ch], strict byte 0ffbfh ; 83 66 1c bf 7221 jmp near 053 83h ; e9 9a 017254 jmp near 053edh ; e9 9a 01 7222 7255 mov dx, strict word 00017h ; ba 17 00 7223 7256 mov ax, strict word 00040h ; b8 40 00 7224 call 01650h ; e8 5e c47257 call 01650h ; e8 f4 c3 7225 7258 mov dx, word [bp+012h] ; 8b 56 12 7226 7259 mov dl, al ; 88 c2 7227 jmp short 05 197h ; eb 9e7260 jmp short 05201h ; eb 9e 7228 7261 mov al, byte [bp+010h] ; 8a 46 10 7229 7262 movzx dx, al ; 0f b6 d0 … … 7231 7264 shr ax, 008h ; c1 e8 08 7232 7265 xor ah, ah ; 30 e4 7233 call 04c1eh ; e8 14 fa7266 call 04c1eh ; e8 aa f9 7234 7267 test ax, ax ; 85 c0 7235 jne short 052 1bh ; 75 0d7268 jne short 05285h ; 75 0d 7236 7269 mov ax, word [bp+012h] ; 8b 46 12 7237 7270 xor al, al ; 30 c0 7238 7271 or AL, strict byte 001h ; 0c 01 7239 7272 mov word [bp+012h], ax ; 89 46 12 7240 jmp near 053 83h ; e9 68 017273 jmp near 053edh ; e9 68 01 7241 7274 and word [bp+012h], 0ff00h ; 81 66 12 00 ff 7242 jmp near 053 83h ; e9 60 017275 jmp near 053edh ; e9 60 01 7243 7276 mov ax, word [bp+012h] ; 8b 46 12 7244 7277 xor al, al ; 30 c0 7245 7278 or AL, strict byte 030h ; 0c 30 7246 jmp short 052 15h ; eb e97279 jmp short 0527fh ; eb e9 7247 7280 mov byte [bp-004h], 002h ; c6 46 fc 02 7248 7281 xor cx, cx ; 31 c9 … … 7257 7290 ; sub ah, ah ; 2a e4 7258 7291 test AL, strict byte 001h ; a8 01 7259 jne short 052 53h ; 75 0d7292 jne short 052bdh ; 75 0d 7260 7293 dec bx ; 4b 7261 7294 test bx, bx ; 85 db 7262 jbe short 052 53h ; 76 087295 jbe short 052bdh ; 76 08 7263 7296 mov dx, 00080h ; ba 80 00 7264 7297 in AL, DX ; ec 7265 7298 db 02ah, 0e4h 7266 7299 ; sub ah, ah ; 2a e4 7267 jmp short 052 3ch ; eb e97300 jmp short 052a6h ; eb e9 7268 7301 test bx, bx ; 85 db 7269 jbe short 05 297h ; 76 407302 jbe short 05301h ; 76 40 7270 7303 mov dx, strict word 00060h ; ba 60 00 7271 7304 in AL, DX ; ec … … 7273 7306 ; sub ah, ah ; 2a e4 7274 7307 cmp ax, 000fah ; 3d fa 00 7275 jne short 05 297h ; 75 357308 jne short 05301h ; 75 35 7276 7309 mov bx, strict word 0ffffh ; bb ff ff 7277 7310 mov dx, strict word 00064h ; ba 64 00 … … 7280 7313 ; sub ah, ah ; 2a e4 7281 7314 test AL, strict byte 001h ; a8 01 7282 jne short 052 7ch ; 75 0d7315 jne short 052e6h ; 75 0d 7283 7316 dec bx ; 4b 7284 7317 test bx, bx ; 85 db 7285 jbe short 052 7ch ; 76 087318 jbe short 052e6h ; 76 08 7286 7319 mov dx, 00080h ; ba 80 00 7287 7320 in AL, DX ; ec 7288 7321 db 02ah, 0e4h 7289 7322 ; sub ah, ah ; 2a e4 7290 jmp short 052 65h ; eb e97323 jmp short 052cfh ; eb e9 7291 7324 test bx, bx ; 85 db 7292 jbe short 052 8eh ; 76 0e7325 jbe short 052f8h ; 76 0e 7293 7326 shr cx, 008h ; c1 e9 08 7294 7327 mov dx, strict word 00060h ; ba 60 00 … … 7300 7333 dec byte [bp-004h] ; fe 4e fc 7301 7334 cmp byte [bp-004h], 000h ; 80 7e fc 00 7302 jnbe short 052 62h ; 77 cb7335 jnbe short 052cch ; 77 cb 7303 7336 mov word [bp+00ch], cx ; 89 4e 0c 7304 jmp near 053 83h ; e9 e6 007337 jmp near 053edh ; e9 e6 00 7305 7338 push strict byte 00001h ; 6a 01 7306 7339 mov cx, ss ; 8c d1 … … 7308 7341 mov dx, ss ; 8c d2 7309 7342 lea ax, [bp-006h] ; 8d 46 fa 7310 call 050 0eh ; e8 62 fd7343 call 05078h ; e8 62 fd 7311 7344 test ax, ax ; 85 c0 7312 jne short 05 2bbh ; 75 0b7345 jne short 05325h ; 75 0b 7313 7346 push 005efh ; 68 ef 05 7314 7347 push strict byte 00007h ; 6a 07 7315 call 01972h ; e8 bac67348 call 01972h ; e8 50 c6 7316 7349 add sp, strict byte 00004h ; 83 c4 04 7317 7350 cmp byte [bp-006h], 000h ; 80 7e fa 00 7318 je near 051 8ah ; 0f 84 c7 fe7351 je near 051f4h ; 0f 84 c7 fe 7319 7352 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7320 je near 051 86h ; 0f 84 bb fe7321 jmp near 051 8ah ; e9 bc fe7353 je near 051f0h ; 0f 84 bb fe 7354 jmp near 051f4h ; e9 bc fe 7322 7355 or word [bp+01ch], 00200h ; 81 4e 1c 00 02 7323 7356 push strict byte 00000h ; 6a 00 … … 7326 7359 mov dx, ss ; 8c d2 7327 7360 lea ax, [bp-006h] ; 8d 46 fa 7328 call 050 0eh ; e8 2c fd7361 call 05078h ; e8 2c fd 7329 7362 test ax, ax ; 85 c0 7330 je near 05 1b5h ; 0f 84 cd fe7363 je near 0521fh ; 0f 84 cd fe 7331 7364 cmp byte [bp-006h], 000h ; 80 7e fa 00 7332 je near 05 1d2h ; 0f 84 e2 fe7365 je near 0523ch ; 0f 84 e2 fe 7333 7366 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7334 je near 05 1ceh ; 0f 84 d6 fe7335 jmp near 05 1d2h ; e9 d7 fe7367 je near 05238h ; 0f 84 d6 fe 7368 jmp near 0523ch ; e9 d7 fe 7336 7369 mov dx, strict word 00017h ; ba 17 00 7337 7370 mov ax, strict word 00040h ; b8 40 00 7338 call 01650h ; e8 4c c37371 call 01650h ; e8 e2 c2 7339 7372 mov dx, word [bp+012h] ; 8b 56 12 7340 7373 mov dl, al ; 88 c2 … … 7342 7375 mov dx, strict word 00018h ; ba 18 00 7343 7376 mov ax, strict word 00040h ; b8 40 00 7344 call 01650h ; e8 3b c37377 call 01650h ; e8 d1 c2 7345 7378 mov bh, al ; 88 c7 7346 7379 and bh, 073h ; 80 e7 73 7347 7380 mov dx, 00096h ; ba 96 00 7348 7381 mov ax, strict word 00040h ; b8 40 00 7349 call 01650h ; e8 2d c37382 call 01650h ; e8 c3 c2 7350 7383 and AL, strict byte 00ch ; 24 0c 7351 7384 or bh, al ; 08 c7 … … 7354 7387 movzx ax, bh ; 0f b6 c7 7355 7388 sal ax, 008h ; c1 e0 08 7356 jmp near 051 95h ; e9 60 fe7389 jmp near 051ffh ; e9 60 fe 7357 7390 mov ax, word [bp+012h] ; 8b 46 12 7358 7391 xor ah, ah ; 30 e4 7359 7392 or ah, 080h ; 80 cc 80 7360 jmp near 052 15h ; e9 d5 fe7361 mov bx, 00d 8ah ; bb 8a0d7393 jmp near 0527fh ; e9 d5 fe 7394 mov bx, 00da2h ; bb a2 0d 7362 7395 mov cx, ds ; 8c d9 7363 7396 mov ax, strict word 00004h ; b8 04 00 7364 call 01931h ; e8 e6c57397 call 01931h ; e8 7c c5 7365 7398 mov ax, word [bp+012h] ; 8b 46 12 7366 7399 shr ax, 008h ; c1 e8 08 … … 7368 7401 push 00613h ; 68 13 06 7369 7402 push strict byte 00004h ; 6a 04 7370 call 01972h ; e8 18 c67403 call 01972h ; e8 ae c5 7371 7404 add sp, strict byte 00006h ; 83 c4 06 7372 mov bx, 00d 8ah ; bb 8a0d7405 mov bx, 00da2h ; bb a2 0d 7373 7406 mov cx, ds ; 8c d9 7374 7407 mov ax, strict word 00004h ; b8 04 00 7375 call 01931h ; e8 c9c57408 call 01931h ; e8 5f c5 7376 7409 mov ax, word [bp+00eh] ; 8b 46 0e 7377 7410 push ax ; 50 … … 7384 7417 push 0063bh ; 68 3b 06 7385 7418 push strict byte 00004h ; 6a 04 7386 call 01972h ; e8 f2c57419 call 01972h ; e8 88 c5 7387 7420 add sp, strict byte 0000ch ; 83 c4 0c 7388 7421 lea sp, [bp-002h] ; 8d 66 fe … … 7390 7423 pop bp ; 5d 7391 7424 retn ; c3 7392 set_geom_lba_: ; 0xf53 89LB 0x9e7425 set_geom_lba_: ; 0xf53f3 LB 0x9e 7393 7426 push si ; 56 7394 7427 push di ; 57 … … 7402 7435 mov di, 000ffh ; bf ff 00 7403 7436 xor bx, bx ; 31 db 7404 jmp short 05 3aah ; eb 057437 jmp short 05414h ; eb 05 7405 7438 cmp bx, strict byte 00004h ; 83 fb 04 7406 jnl short 05 3c0h ; 7d 167439 jnl short 0542ah ; 7d 16 7407 7440 cmp dx, word [bp-002h] ; 3b 56 fe 7408 jnbe short 05 3b6h ; 77 077409 jne short 05 3b9h ; 75 087441 jnbe short 05420h ; 77 07 7442 jne short 05423h ; 75 08 7410 7443 cmp ax, word [bp-004h] ; 3b 46 fc 7411 jc short 05 3b9h ; 72 037444 jc short 05423h ; 72 03 7412 7445 inc di ; 47 7413 7446 shr di, 1 ; d1 ef … … 7415 7448 rcr ax, 1 ; d1 d8 7416 7449 inc bx ; 43 7417 jmp short 05 3a5h ; eb e57450 jmp short 0540fh ; eb e5 7418 7451 mov ax, di ; 89 f8 7419 7452 xor dx, dx ; 31 d2 7420 7453 mov bx, strict word 0003fh ; bb 3f 00 7421 7454 xor cx, cx ; 31 c9 7422 call 09 4a9h ; e8 dd407455 call 09519h ; e8 e3 40 7423 7456 mov bx, ax ; 89 c3 7424 7457 mov cx, dx ; 89 d1 7425 7458 mov ax, word [bp-004h] ; 8b 46 fc 7426 7459 mov dx, word [bp-002h] ; 8b 56 fe 7427 call 094 70h ; e8 97407460 call 094e0h ; e8 9d 40 7428 7461 mov word [es:si+002h], ax ; 26 89 44 02 7429 7462 cmp ax, 00400h ; 3d 00 04 7430 jbe short 05 3e8h ; 76 067463 jbe short 05452h ; 76 06 7431 7464 mov word [es:si+002h], 00400h ; 26 c7 44 02 00 04 7432 7465 mov word [es:si], di ; 26 89 3c … … 7436 7469 pop si ; 5e 7437 7470 retn ; c3 7438 mov CL, strict byte 054h ; b1 54 7439 xlatb ; d7 7440 push sp ; 54 7441 add AL, strict byte 055h ; 04 55 7442 add AL, strict byte 055h ; 04 55 7443 add AL, strict byte 055h ; 04 55 7444 fcom qword [bp+00ah] ; dc 56 0a 7471 sbb dx, word [di+041h] ; 1b 55 41 7472 push bp ; 55 7473 outsb ; 6e 7474 push bp ; 55 7475 outsb ; 6e 7476 push bp ; 55 7477 outsb ; 6e 7478 push bp ; 55 7479 inc si ; 46 7480 push di ; 57 7481 je short 054c5h ; 74 58 7482 je short 054c7h ; 74 58 7483 pop di ; 5f 7484 push di ; 57 7485 push cx ; 51 7445 7486 pop ax ; 58 7446 or bl, byte [bx+si-00bh] ; 0a 58 f5 7447 push si ; 56 7448 out 057h, ax ; e7 57 7449 or bl, byte [bx+si+00ah] ; 0a 58 0a 7487 je short 054cdh ; 74 58 7488 je short 054cfh ; 74 58 7489 push cx ; 51 7450 7490 pop ax ; 58 7451 out 057h, ax ; e7 57 7452 out 057h, ax ; e7 57 7453 or bl, byte [bx+si+00ah] ; 0a 58 0a 7491 push cx ; 51 7454 7492 pop ax ; 58 7455 imul dx, word [bx-019h], strict byte 00057h ; 6b 57 e7 57 7456 or bl, byte [bx+si+00ah] ; 0a 58 0a 7493 je short 054d5h ; 74 58 7494 je short 054d7h ; 74 58 7495 aad 057h ; d5 57 7496 push cx ; 51 7457 7497 pop ax ; 58 7458 out 057h, ax ; e7 57 7459 wait ; 9b 7460 push di ; 57 7461 or bl, byte [bx+si+00ah] ; 0a 58 0a 7498 je short 054ddh ; 74 58 7499 je short 054dfh ; 74 58 7500 push cx ; 51 7462 7501 pop ax ; 58 7463 db 00ah7502 add ax, 07458h ; 05 58 74 7464 7503 pop ax ; 58 7465 _int13_harddisk: ; 0xf5427 LB 0x441 7504 je short 054e7h ; 74 58 7505 je short 054e9h ; 74 58 7506 _int13_harddisk: ; 0xf5491 LB 0x441 7466 7507 push bp ; 55 7467 7508 mov bp, sp ; 89 e5 … … 7469 7510 mov dx, strict word 0000eh ; ba 0e 00 7470 7511 mov ax, strict word 00040h ; b8 40 00 7471 call 0166ch ; e8 36 c27512 call 0166ch ; e8 cc c1 7472 7513 mov si, 00122h ; be 22 01 7473 7514 mov word [bp-004h], ax ; 89 46 fc … … 7475 7516 mov dx, 0008eh ; ba 8e 00 7476 7517 mov ax, strict word 00040h ; b8 40 00 7477 call 0165eh ; e8 17 c27518 call 0165eh ; e8 ad c1 7478 7519 mov ax, word [bp+00eh] ; 8b 46 0e 7479 7520 xor ah, ah ; 30 e4 7480 7521 cmp ax, 00080h ; 3d 80 00 7481 jc short 054 56h ; 72 057522 jc short 054c0h ; 72 05 7482 7523 cmp ax, 00090h ; 3d 90 00 7483 jc short 054 74h ; 72 1e7524 jc short 054deh ; 72 1e 7484 7525 mov ax, word [bp+00eh] ; 8b 46 0e 7485 7526 xor ah, ah ; 30 e4 … … 7491 7532 push 0066dh ; 68 6d 06 7492 7533 push strict byte 00004h ; 6a 04 7493 call 01972h ; e8 04 c57534 call 01972h ; e8 9a c4 7494 7535 add sp, strict byte 0000ah ; 83 c4 0a 7495 jmp near 058 25h ; e9 b1 037536 jmp near 0588fh ; e9 b1 03 7496 7537 mov ax, word [bp+00eh] ; 8b 46 0e 7497 7538 xor ah, ah ; 30 e4 … … 7502 7543 mov byte [bp-002h], dl ; 88 56 fe 7503 7544 cmp dl, 010h ; 80 fa 10 7504 jc short 05 49dh ; 72 107545 jc short 05507h ; 72 10 7505 7546 push ax ; 50 7506 7547 mov ax, word [bp+016h] ; 8b 46 16 … … 7509 7550 push 0065eh ; 68 5e 06 7510 7551 push 00698h ; 68 98 06 7511 jmp short 054 69h ; eb cc7552 jmp short 054d3h ; eb cc 7512 7553 mov bx, word [bp+016h] ; 8b 5e 16 7513 7554 shr bx, 008h ; c1 eb 08 7514 7555 cmp bx, strict byte 00018h ; 83 fb 18 7515 jnbe near 058 0ah ; 0f 87 60 037556 jnbe near 05874h ; 0f 87 60 03 7516 7557 add bx, bx ; 01 db 7517 jmp word [cs:bx+05 3f5h] ; 2e ff a7 f5 537558 jmp word [cs:bx+0545fh] ; 2e ff a7 5f 54 7518 7559 cmp byte [bp-002h], 008h ; 80 7e fe 08 7519 jnc near 05 4c0h ; 0f 83 07 007560 jnc near 0552ah ; 0f 83 07 00 7520 7561 movzx ax, byte [bp-002h] ; 0f b6 46 fe 7521 call 01c71h ; e8 b1c77562 call 01c71h ; e8 47 c7 7522 7563 mov byte [bp+017h], 000h ; c6 46 17 00 7523 7564 xor bx, bx ; 31 db 7524 7565 mov dx, strict word 00074h ; ba 74 00 7525 7566 mov ax, strict word 00040h ; b8 40 00 7526 call 0165eh ; e8 8fc17567 call 0165eh ; e8 25 c1 7527 7568 and byte [bp+01ch], 0feh ; 80 66 1c fe 7528 7569 mov sp, bp ; 89 ec … … 7531 7572 mov dx, strict word 00074h ; ba 74 00 7532 7573 mov ax, strict word 00040h ; b8 40 00 7533 call 01650h ; e8 70c17574 call 01650h ; e8 06 c1 7534 7575 mov cl, al ; 88 c1 7535 7576 mov dx, word [bp+016h] ; 8b 56 16 … … 7542 7583 mov dx, strict word 00074h ; ba 74 00 7543 7584 mov ax, strict word 00040h ; b8 40 00 7544 call 0165eh ; e8 61 c17585 call 0165eh ; e8 f7 c0 7545 7586 test cl, cl ; 84 c9 7546 je short 05 4c4h ; 74 c37547 jmp near 058 41h ; e9 3d 037587 je short 0552eh ; 74 c3 7588 jmp near 058abh ; e9 3d 03 7548 7589 mov ax, word [bp+016h] ; 8b 46 16 7549 7590 xor ah, ah ; 30 e4 … … 7565 7606 mov ax, word [bp-00ch] ; 8b 46 f4 7566 7607 cmp ax, 00080h ; 3d 80 00 7567 jnbe short 055 3fh ; 77 047608 jnbe short 055a9h ; 77 04 7568 7609 test ax, ax ; 85 c0 7569 jne short 055 62h ; 75 237570 mov bx, 00d 8ah ; bb 8a0d7610 jne short 055cch ; 75 23 7611 mov bx, 00da2h ; bb a2 0d 7571 7612 mov cx, ds ; 8c d9 7572 7613 mov ax, strict word 00004h ; b8 04 00 7573 call 01931h ; e8 e7c37614 call 01931h ; e8 7d c3 7574 7615 mov ax, word [bp+016h] ; 8b 46 16 7575 7616 shr ax, 008h ; c1 e8 08 … … 7578 7619 push 006cah ; 68 ca 06 7579 7620 push strict byte 00004h ; 6a 04 7580 call 01972h ; e8 16 c47621 call 01972h ; e8 ac c3 7581 7622 add sp, strict byte 00008h ; 83 c4 08 7582 jmp near 058 25h ; e9 c3 027623 jmp near 0588fh ; e9 c3 02 7583 7624 movzx ax, byte [bp-002h] ; 0f b6 46 fe 7584 7625 imul ax, ax, strict byte 00018h ; 6b c0 18 … … 7591 7632 mov word [bp-00ah], dx ; 89 56 f6 7592 7633 cmp di, ax ; 39 c7 7593 jnc short 055 8fh ; 73 0c7634 jnc short 055f9h ; 73 0c 7594 7635 cmp cx, word [bp-008h] ; 3b 4e f8 7595 jbe short 055 8fh ; 76 077636 jbe short 055f9h ; 76 07 7596 7637 mov ax, word [bp-006h] ; 8b 46 fa 7597 7638 cmp ax, dx ; 39 d0 7598 jbe short 05 5bdh ; 76 2e7599 mov bx, 00d 8ah ; bb 8a0d7639 jbe short 05627h ; 76 2e 7640 mov bx, 00da2h ; bb a2 0d 7600 7641 mov cx, ds ; 8c d9 7601 7642 mov ax, strict word 00004h ; b8 04 00 7602 call 01931h ; e8 97c37643 call 01931h ; e8 2d c3 7603 7644 push dword [bp-008h] ; 66 ff 76 f8 7604 7645 push di ; 57 … … 7612 7653 push 006f2h ; 68 f2 06 7613 7654 push strict byte 00004h ; 6a 04 7614 call 01972h ; e8 bbc37655 call 01972h ; e8 51 c3 7615 7656 add sp, strict byte 00010h ; 83 c4 10 7616 jmp near 058 25h ; e9 68 027657 jmp near 0588fh ; e9 68 02 7617 7658 mov ax, word [bp+016h] ; 8b 46 16 7618 7659 shr ax, 008h ; c1 e8 08 7619 7660 cmp ax, strict word 00004h ; 3d 04 00 7620 jne short 05 5cbh ; 75 037621 jmp near 05 4c0h ; e9 f5 fe7661 jne short 05635h ; 75 03 7662 jmp near 0552ah ; e9 f5 fe 7622 7663 movzx bx, byte [bp-002h] ; 0f b6 5e fe 7623 7664 imul bx, bx, strict byte 00018h ; 6b db 18 … … 7625 7666 add bx, si ; 01 f3 7626 7667 cmp cx, word [es:bx+02ch] ; 26 3b 4f 2c 7627 jne short 05 5ech ; 75 0f7668 jne short 05656h ; 75 0f 7628 7669 mov ax, word [es:bx+030h] ; 26 8b 47 30 7629 7670 cmp ax, word [bp-00ah] ; 3b 46 f6 7630 jne short 05 5ech ; 75 067671 jne short 05656h ; 75 06 7631 7672 cmp byte [bp-002h], 008h ; 80 7e fe 08 7632 jc short 056 1ch ; 72 307673 jc short 05686h ; 72 30 7633 7674 mov ax, di ; 89 f8 7634 7675 xor dx, dx ; 31 d2 7635 7676 mov bx, cx ; 89 cb 7636 7677 xor cx, cx ; 31 c9 7637 call 09 4a9h ; e8 b23e7678 call 09519h ; e8 b8 3e 7638 7679 xor bx, bx ; 31 db 7639 7680 add ax, word [bp-008h] ; 03 46 f8 … … 7641 7682 mov bx, word [bp-00ah] ; 8b 5e f6 7642 7683 xor cx, cx ; 31 c9 7643 call 09 4a9h ; e8 a33e7684 call 09519h ; e8 a9 3e 7644 7685 xor bx, bx ; 31 db 7645 7686 add ax, word [bp-006h] ; 03 46 fa … … 7694 7735 mov word [bp+016h], bx ; 89 5e 16 7695 7736 test dl, dl ; 84 d2 7696 je near 05 4c0h ; 0f 84 13 fe7697 mov bx, 00d 8ah ; bb 8a0d7737 je near 0552ah ; 0f 84 13 fe 7738 mov bx, 00da2h ; bb a2 0d 7698 7739 mov cx, ds ; 8c d9 7699 7740 mov ax, strict word 00004h ; b8 04 00 7700 call 01931h ; e8 79c27741 call 01931h ; e8 0f c2 7701 7742 movzx ax, dl ; 0f b6 c2 7702 7743 push ax ; 50 … … 7707 7748 push 00739h ; 68 39 07 7708 7749 push strict byte 00004h ; 6a 04 7709 call 01972h ; e8 a4c27750 call 01972h ; e8 3a c2 7710 7751 add sp, strict byte 0000ah ; 83 c4 0a 7711 7752 mov ax, word [bp+016h] ; 8b 46 16 7712 7753 xor ah, ah ; 30 e4 7713 7754 or ah, 00ch ; 80 cc 0c 7714 jmp near 058 2dh ; e9 51 017715 mov bx, 00d 8ah ; bb 8a0d7755 jmp near 05897h ; e9 51 01 7756 mov bx, 00da2h ; bb a2 0d 7716 7757 mov cx, ds ; 8c d9 7717 7758 mov ax, strict word 00004h ; b8 04 00 7718 call 01931h ; e8 4a c27759 call 01931h ; e8 e0 c1 7719 7760 push 0075ah ; 68 5a 07 7720 7761 push strict byte 00004h ; 6a 04 7721 call 01972h ; e8 83c27762 call 01972h ; e8 19 c2 7722 7763 add sp, strict byte 00004h ; 83 c4 04 7723 jmp near 05 4c0h ; e9 cb fd7764 jmp near 0552ah ; e9 cb fd 7724 7765 movzx ax, byte [bp-002h] ; 0f b6 46 fe 7725 7766 imul ax, ax, strict byte 00018h ; 6b c0 18 … … 7764 7805 or dx, ax ; 09 c2 7765 7806 mov word [bp+012h], dx ; 89 56 12 7766 jmp near 05 4c0h ; e9 55 fd7807 jmp near 0552ah ; e9 55 fd 7767 7808 movzx ax, byte [bp-002h] ; 0f b6 46 fe 7768 7809 cwd ; 99 … … 7780 7821 and AL, strict byte 0c0h ; 24 c0 7781 7822 cmp AL, strict byte 040h ; 3c 40 7782 jne short 057 90h ; 75 037783 jmp near 05 4c0h ; e9 30 fd7823 jne short 057fah ; 75 03 7824 jmp near 0552ah ; e9 30 fd 7784 7825 mov ax, word [bp+016h] ; 8b 46 16 7785 7826 xor ah, ah ; 30 e4 7786 7827 or ah, 0aah ; 80 cc aa 7787 jmp near 058 2dh ; e9 92 007828 jmp near 05897h ; e9 92 00 7788 7829 movzx ax, byte [bp-002h] ; 0f b6 46 fe 7789 7830 imul ax, ax, strict byte 00018h ; 6b c0 18 … … 7799 7840 mov bx, word [bp-008h] ; 8b 5e f8 7800 7841 xor cx, cx ; 31 c9 7801 call 09 4a9h ; e8 e43c7842 call 09519h ; e8 ea 3c 7802 7843 mov bx, word [bp-006h] ; 8b 5e fa 7803 7844 xor cx, cx ; 31 c9 7804 call 09 4a9h ; e8 dc3c7845 call 09519h ; e8 e2 3c 7805 7846 mov word [bp-010h], ax ; 89 46 f0 7806 7847 mov word [bp-00eh], dx ; 89 56 f2 … … 7811 7852 or ah, 003h ; 80 cc 03 7812 7853 mov word [bp+016h], ax ; 89 46 16 7813 jmp near 05 4c4h ; e9 dd fc7814 mov bx, 00d 8ah ; bb 8a0d7854 jmp near 0552eh ; e9 dd fc 7855 mov bx, 00da2h ; bb a2 0d 7815 7856 mov cx, ds ; 8c d9 7816 7857 mov ax, strict word 00004h ; b8 04 00 7817 call 01931h ; e8 3f c17858 call 01931h ; e8 d5 c0 7818 7859 mov ax, word [bp+016h] ; 8b 46 16 7819 7860 shr ax, 008h ; c1 e8 08 … … 7822 7863 push 00774h ; 68 74 07 7823 7864 push strict byte 00004h ; 6a 04 7824 call 01972h ; e8 6ec17865 call 01972h ; e8 04 c1 7825 7866 add sp, strict byte 00008h ; 83 c4 08 7826 jmp near 05 4c0h ; e9 b6 fc7827 mov bx, 00d 8ah ; bb 8a0d7867 jmp near 0552ah ; e9 b6 fc 7868 mov bx, 00da2h ; bb a2 0d 7828 7869 mov cx, ds ; 8c d9 7829 7870 mov ax, strict word 00004h ; b8 04 00 7830 call 01931h ; e8 1c c17871 call 01931h ; e8 b2 c0 7831 7872 mov ax, word [bp+016h] ; 8b 46 16 7832 7873 shr ax, 008h ; c1 e8 08 … … 7834 7875 push 0065eh ; 68 5e 06 7835 7876 push 007a7h ; 68 a7 07 7836 jmp near 055 57h ; e9 32 fd7877 jmp near 055c1h ; e9 32 fd 7837 7878 mov ax, word [bp+016h] ; 8b 46 16 7838 7879 xor ah, ah ; 30 e4 … … 7844 7885 mov dx, strict word 00074h ; ba 74 00 7845 7886 mov ax, strict word 00040h ; b8 40 00 7846 call 0165eh ; e8 1d be7887 call 0165eh ; e8 b3 bd 7847 7888 or byte [bp+01ch], 001h ; 80 4e 1c 01 7848 jmp near 05 4d3h ; e9 8b fc7849 add bx, word [bx+di+01bh] ; 03 59 1b7889 jmp near 0553dh ; e9 8b fc 7890 insw ; 6d 7850 7891 pop cx ; 59 7851 sbb bx, word [bx+di+01bh] ; 1b 59 1b7892 test word [bx+di-07bh], bx ; 85 59 85 7852 7893 pop cx ; 59 7853 retf 05e5ch ; ca 5c 5e 7894 test word [bx+di+034h], bx ; 85 59 34 7895 pop bp ; 5d 7896 enter 0855ah, 059h ; c8 5a 85 59 7897 into ; ce 7854 7898 pop dx ; 5a 7855 sbb bx, word [bx+di+064h] ; 1b 59 64 7856 pop dx ; 5a 7857 retf 0195ch ; ca 5c 19 7899 xor AL, strict byte 05dh ; 34 5d 7900 sbb word [di-07dh], strict byte 0005dh ; 83 5d 83 5d 7901 sbb word [di-07dh], strict byte 0005dh ; 83 5d 83 5d 7902 dec bx ; 4b 7858 7903 pop bp ; 5d 7859 sbb word [di+019h], bx ; 19 5d 19 7860 pop bp ; 5d 7861 sbb word [di-01fh], bx ; 19 5d e1 7862 pop sp ; 5c 7863 sbb word [di+019h], bx ; 19 5d 19 7864 pop bp ; 5d 7865 _int13_harddisk_ext: ; 0xf5868 LB 0x4cc 7904 sbb word [di-07dh], strict byte 0005dh ; 83 5d 83 5d 7905 _int13_harddisk_ext: ; 0xf58d2 LB 0x4cc 7866 7906 push bp ; 55 7867 7907 mov bp, sp ; 89 e5 … … 7869 7909 mov dx, strict word 0000eh ; ba 0e 00 7870 7910 mov ax, strict word 00040h ; b8 40 00 7871 call 0166ch ; e8 f5bd7911 call 0166ch ; e8 8b bd 7872 7912 mov word [bp-014h], ax ; 89 46 ec 7873 7913 mov dx, strict word 0000eh ; ba 0e 00 7874 7914 mov ax, strict word 00040h ; b8 40 00 7875 call 0166ch ; e8 e9bd7915 call 0166ch ; e8 7f bd 7876 7916 mov si, 00122h ; be 22 01 7877 7917 mov word [bp-026h], ax ; 89 46 da … … 7879 7919 mov dx, 0008eh ; ba 8e 00 7880 7920 mov ax, strict word 00040h ; b8 40 00 7881 call 0165eh ; e8 cabd7921 call 0165eh ; e8 60 bd 7882 7922 mov ax, word [bp+00eh] ; 8b 46 0e 7883 7923 xor ah, ah ; 30 e4 7884 7924 cmp ax, 00080h ; 3d 80 00 7885 jc short 05 8a3h ; 72 057925 jc short 0590dh ; 72 05 7886 7926 cmp ax, 00090h ; 3d 90 00 7887 jc short 05 8c1h ; 72 1e7927 jc short 0592bh ; 72 1e 7888 7928 mov ax, word [bp+00eh] ; 8b 46 0e 7889 7929 xor ah, ah ; 30 e4 … … 7895 7935 push 0066dh ; 68 6d 06 7896 7936 push strict byte 00004h ; 6a 04 7897 call 01972h ; e8 b7c07937 call 01972h ; e8 4d c0 7898 7938 add sp, strict byte 0000ah ; 83 c4 0a 7899 jmp near 05 cf7h ; e9 36 047939 jmp near 05d61h ; e9 36 04 7900 7940 mov ax, word [bp+00eh] ; 8b 46 0e 7901 7941 xor ah, ah ; 30 e4 … … 7905 7945 mov cl, byte [es:bx+0011fh] ; 26 8a 8f 1f 01 7906 7946 cmp cl, 010h ; 80 f9 10 7907 jc short 05 8e7h ; 72 107947 jc short 05951h ; 72 10 7908 7948 push ax ; 50 7909 7949 mov ax, word [bp+016h] ; 8b 46 16 … … 7912 7952 push 007d5h ; 68 d5 07 7913 7953 push 00698h ; 68 98 06 7914 jmp short 05 8b6h ; eb cf7954 jmp short 05920h ; eb cf 7915 7955 mov bx, word [bp+016h] ; 8b 5e 16 7916 7956 shr bx, 008h ; c1 eb 08 7917 7957 sub bx, strict byte 00041h ; 83 eb 41 7918 7958 cmp bx, strict byte 0000fh ; 83 fb 0f 7919 jnbe near 05d 19h ; 0f 87 22 047959 jnbe near 05d83h ; 0f 87 22 04 7920 7960 add bx, bx ; 01 db 7921 7961 mov ax, word [bp+016h] ; 8b 46 16 7922 7962 xor ah, ah ; 30 e4 7923 jmp word [cs:bx+058 48h] ; 2e ff a7 48587963 jmp word [cs:bx+058b2h] ; 2e ff a7 b2 58 7924 7964 mov word [bp+010h], 0aa55h ; c7 46 10 55 aa 7925 7965 mov ax, word [bp+016h] ; 8b 46 16 … … 7928 7968 mov word [bp+016h], ax ; 89 46 16 7929 7969 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 7930 jmp near 05 cceh ; e9 b3 037970 jmp near 05d38h ; e9 b3 03 7931 7971 mov bx, word [bp+00ah] ; 8b 5e 0a 7932 7972 mov es, [bp+004h] ; 8e 46 04 … … 7943 7983 mov ax, word [es:bx+00eh] ; 26 8b 47 0e 7944 7984 or ax, word [bp-00ah] ; 0b 46 f6 7945 je short 059 5ch ; 74 117985 je short 059c6h ; 74 11 7946 7986 mov ax, word [bp+016h] ; 8b 46 16 7947 7987 shr ax, 008h ; c1 e8 08 … … 7950 7990 push 007e8h ; 68 e8 07 7951 7991 push strict byte 00007h ; 6a 07 7952 jmp short 05 9a6h ; eb 4a7992 jmp short 05a10h ; eb 4a 7953 7993 mov es, [bp-010h] ; 8e 46 f0 7954 7994 mov ax, word [es:di+008h] ; 26 8b 45 08 … … 7962 8002 mov ch, byte [es:bx+01eh] ; 26 8a 6f 1e 7963 8003 cmp ax, word [es:bx+034h] ; 26 3b 47 34 7964 jnbe short 059 8ch ; 77 0b7965 jne short 05 9afh ; 75 2c8004 jnbe short 059f6h ; 77 0b 8005 jne short 05a19h ; 75 2c 7966 8006 mov dx, word [bp-00ah] ; 8b 56 f6 7967 8007 cmp dx, word [es:bx+032h] ; 26 3b 57 32 7968 jc short 05 9afh ; 72 237969 mov bx, 00d 8ah ; bb 8a0d8008 jc short 05a19h ; 72 23 8009 mov bx, 00da2h ; bb a2 0d 7970 8010 mov cx, ds ; 8c d9 7971 8011 mov ax, strict word 00004h ; b8 04 00 7972 call 01931h ; e8 9abf8012 call 01931h ; e8 30 bf 7973 8013 mov ax, word [bp+016h] ; 8b 46 16 7974 8014 shr ax, 008h ; c1 e8 08 … … 7977 8017 push 00811h ; 68 11 08 7978 8018 push strict byte 00004h ; 6a 04 7979 call 01972h ; e8 c9bf8019 call 01972h ; e8 5f bf 7980 8020 add sp, strict byte 00008h ; 83 c4 08 7981 jmp near 05 cf7h ; e9 48 038021 jmp near 05d61h ; e9 48 03 7982 8022 mov dx, word [bp+016h] ; 8b 56 16 7983 8023 shr dx, 008h ; c1 ea 08 7984 8024 mov word [bp-00ch], dx ; 89 56 f4 7985 8025 cmp dx, strict byte 00044h ; 83 fa 44 7986 je near 05 ccah ; 0f 84 0b 038026 je near 05d34h ; 0f 84 0b 03 7987 8027 cmp dx, strict byte 00047h ; 83 fa 47 7988 je near 05 ccah ; 0f 84 04 038028 je near 05d34h ; 0f 84 04 03 7989 8029 mov es, [bp-026h] ; 8e 46 da 7990 8030 db 066h, 026h, 0c7h, 044h, 014h, 000h, 000h, 000h, 000h … … 8018 8058 mov word [es:di+002h], ax ; 26 89 45 02 8019 8059 test dl, dl ; 84 d2 8020 je near 05 ccah ; 0f 84 97 028021 mov bx, 00d 8ah ; bb 8a0d8060 je near 05d34h ; 0f 84 97 02 8061 mov bx, 00da2h ; bb a2 0d 8022 8062 mov cx, ds ; 8c d9 8023 8063 mov ax, strict word 00004h ; b8 04 00 8024 call 01931h ; e8 f3be8064 call 01931h ; e8 89 be 8025 8065 movzx ax, dl ; 0f b6 c2 8026 8066 push ax ; 50 … … 8029 8069 push 00739h ; 68 39 07 8030 8070 push strict byte 00004h ; 6a 04 8031 call 01972h ; e8 22 bf8071 call 01972h ; e8 b8 be 8032 8072 add sp, strict byte 0000ah ; 83 c4 0a 8033 8073 mov ax, word [bp+016h] ; 8b 46 16 8034 8074 xor ah, ah ; 30 e4 8035 8075 or ah, 00ch ; 80 cc 0c 8036 jmp near 05 cffh ; e9 a1 028076 jmp near 05d69h ; e9 a1 02 8037 8077 or ah, 0b2h ; 80 cc b2 8038 jmp near 05 cffh ; e9 9b 028078 jmp near 05d69h ; e9 9b 02 8039 8079 mov bx, word [bp+00ah] ; 8b 5e 0a 8040 8080 mov ax, word [bp+004h] ; 8b 46 04 … … 8046 8086 mov word [bp-00eh], ax ; 89 46 f2 8047 8087 cmp ax, strict word 0001ah ; 3d 1a 00 8048 jc near 05 cf7h ; 0f 82 76 028049 jc near 05b 08h ; 0f 82 83 008088 jc near 05d61h ; 0f 82 76 02 8089 jc near 05b72h ; 0f 82 83 00 8050 8090 movzx ax, cl ; 0f b6 c1 8051 8091 imul ax, ax, strict byte 00018h ; 6b c0 18 … … 8085 8125 ; mov dword [es:di+014h], strict dword 000000000h ; 66 26 c7 45 14 00 00 00 00 8086 8126 cmp word [bp-00eh], strict byte 0001eh ; 83 7e f2 1e 8087 jc near 05c 14h ; 0f 82 04 018127 jc near 05c7eh ; 0f 82 04 01 8088 8128 mov es, [bp-004h] ; 8e 46 fc 8089 8129 mov word [es:bx], strict word 0001eh ; 26 c7 07 1e 00 … … 8111 8151 mov al, byte [es:di+023h] ; 26 8a 45 23 8112 8152 test al, al ; 84 c0 8113 jne short 05b 66h ; 75 048153 jne short 05bd0h ; 75 04 8114 8154 xor dx, dx ; 31 d2 8115 jmp short 05b 69h ; eb 038155 jmp short 05bd3h ; eb 03 8116 8156 mov dx, strict word 00008h ; ba 08 00 8117 8157 or dl, 010h ; 80 ca 10 … … 8128 8168 or word [bp-008h], dx ; 09 56 f8 8129 8169 cmp AL, strict byte 003h ; 3c 03 8130 jne short 05b 8fh ; 75 058170 jne short 05bf9h ; 75 05 8131 8171 mov ax, strict word 00003h ; b8 03 00 8132 jmp short 05b 91h ; eb 028172 jmp short 05bfbh ; eb 02 8133 8173 xor ax, ax ; 31 c0 8134 8174 or word [bp-008h], ax ; 09 46 f8 … … 8155 8195 xor ch, ch ; 30 ed 8156 8196 mov byte [bp-002h], ch ; 88 6e fe 8157 jmp short 05 bf5h ; eb 068197 jmp short 05c5fh ; eb 06 8158 8198 cmp byte [bp-002h], 00fh ; 80 7e fe 0f 8159 jnc short 05c 0ah ; 73 158199 jnc short 05c74h ; 73 15 8160 8200 movzx dx, byte [bp-002h] ; 0f b6 56 fe 8161 8201 add dx, 00312h ; 81 c2 12 03 8162 8202 mov ax, word [bp-014h] ; 8b 46 ec 8163 call 01650h ; e8 4d ba8203 call 01650h ; e8 e3 b9 8164 8204 add ch, al ; 00 c5 8165 8205 inc byte [bp-002h] ; fe 46 fe 8166 jmp short 05 befh ; eb e58206 jmp short 05c59h ; eb e5 8167 8207 neg ch ; f6 dd 8168 8208 mov es, [bp-026h] ; 8e 46 da 8169 8209 mov byte [es:si+001ffh], ch ; 26 88 ac ff 01 8170 8210 cmp word [bp-00eh], strict byte 00042h ; 83 7e f2 42 8171 jc near 05 ccah ; 0f 82 ae 008211 jc near 05d34h ; 0f 82 ae 00 8172 8212 movzx ax, cl ; 0f b6 c1 8173 8213 cwd ; 99 … … 8187 8227 mov word [es:bx+022h], strict word 00000h ; 26 c7 47 22 00 00 8188 8228 test al, al ; 84 c0 8189 jne short 05c 5ch ; 75 098229 jne short 05cc6h ; 75 09 8190 8230 db 066h, 026h, 0c7h, 047h, 024h, 049h, 053h, 041h, 020h 8191 8231 ; mov dword [es:bx+024h], strict dword 020415349h ; 66 26 c7 47 24 49 53 41 20 … … 8196 8236 ; mov dword [es:bx+02ch], strict dword 020202020h ; 66 26 c7 47 2c 20 20 20 20 8197 8237 test al, al ; 84 c0 8198 jne short 05c 88h ; 75 138238 jne short 05cf2h ; 75 13 8199 8239 mov word [es:bx+030h], dx ; 26 89 57 30 8200 8240 db 066h, 026h, 0c7h, 047h, 032h, 000h, 000h, 000h, 000h … … 8211 8251 xor cl, cl ; 30 c9 8212 8252 mov CH, strict byte 01eh ; b5 1e 8213 jmp short 05 cafh ; eb 058253 jmp short 05d19h ; eb 05 8214 8254 cmp ch, 040h ; 80 fd 40 8215 jnc short 05 cc1h ; 73 128255 jnc short 05d2bh ; 73 12 8216 8256 movzx dx, ch ; 0f b6 d5 8217 8257 add dx, word [bp+00ah] ; 03 56 0a 8218 8258 mov ax, word [bp+004h] ; 8b 46 04 8219 call 01650h ; e8 95b98259 call 01650h ; e8 2b b9 8220 8260 add cl, al ; 00 c1 8221 8261 db 0feh, 0c5h 8222 8262 ; inc ch ; fe c5 8223 jmp short 05 caah ; eb e98263 jmp short 05d14h ; eb e9 8224 8264 neg cl ; f6 d9 8225 8265 mov es, [bp-004h] ; 8e 46 fc … … 8229 8269 mov dx, strict word 00074h ; ba 74 00 8230 8270 mov ax, strict word 00040h ; b8 40 00 8231 call 0165eh ; e8 85b98271 call 0165eh ; e8 1b b9 8232 8272 and byte [bp+01ch], 0feh ; 80 66 1c fe 8233 8273 mov sp, bp ; 89 ec … … 8235 8275 retn ; c3 8236 8276 cmp ax, strict word 00006h ; 3d 06 00 8237 je short 05 ccah ; 74 e48277 je short 05d34h ; 74 e4 8238 8278 cmp ax, strict word 00001h ; 3d 01 00 8239 jc short 05 cf7h ; 72 0c8240 jbe short 05 ccah ; 76 dd8279 jc short 05d61h ; 72 0c 8280 jbe short 05d34h ; 76 dd 8241 8281 cmp ax, strict word 00003h ; 3d 03 00 8242 jc short 05 cf7h ; 72 058282 jc short 05d61h ; 72 05 8243 8283 cmp ax, strict word 00004h ; 3d 04 00 8244 jbe short 05 ccah ; 76 d38284 jbe short 05d34h ; 76 d3 8245 8285 mov ax, word [bp+016h] ; 8b 46 16 8246 8286 xor ah, ah ; 30 e4 … … 8252 8292 mov dx, strict word 00074h ; ba 74 00 8253 8293 mov ax, strict word 00040h ; b8 40 00 8254 call 0165eh ; e8 4b b98294 call 0165eh ; e8 e1 b8 8255 8295 or byte [bp+01ch], 001h ; 80 4e 1c 01 8256 jmp short 05 cddh ; eb c48257 mov bx, 00d 8ah ; bb 8a0d8296 jmp short 05d47h ; eb c4 8297 mov bx, 00da2h ; bb a2 0d 8258 8298 mov cx, ds ; 8c d9 8259 8299 mov ax, strict word 00004h ; b8 04 00 8260 call 01931h ; e8 0d bc8300 call 01931h ; e8 a3 bb 8261 8301 mov ax, word [bp+016h] ; 8b 46 16 8262 8302 shr ax, 008h ; c1 e8 08 … … 8264 8304 push 007d5h ; 68 d5 07 8265 8305 push 007a7h ; 68 a7 07 8266 jmp near 05 9a4h ; e9 70 fc8267 _int14_function: ; 0xf5d 34LB 0x1558306 jmp near 05a0eh ; e9 70 fc 8307 _int14_function: ; 0xf5d9e LB 0x155 8268 8308 push bp ; 55 8269 8309 mov bp, sp ; 89 e5 … … 8273 8313 add dx, dx ; 01 d2 8274 8314 mov ax, strict word 00040h ; b8 40 00 8275 call 0166ch ; e8 28 b98315 call 0166ch ; e8 be b8 8276 8316 mov si, ax ; 89 c6 8277 8317 mov bx, ax ; 89 c3 … … 8279 8319 add dx, strict byte 0007ch ; 83 c2 7c 8280 8320 mov ax, strict word 00040h ; b8 40 00 8281 call 01650h ; e8 fcb88321 call 01650h ; e8 92 b8 8282 8322 mov cl, al ; 88 c1 8283 8323 cmp word [bp+00eh], strict byte 00004h ; 83 7e 0e 04 8284 jnc near 05e 7fh ; 0f 83 21 018324 jnc near 05ee9h ; 0f 83 21 01 8285 8325 test si, si ; 85 f6 8286 jbe near 05e 7fh ; 0f 86 1b 018326 jbe near 05ee9h ; 0f 86 1b 01 8287 8327 mov al, byte [bp+013h] ; 8a 46 13 8288 8328 cmp AL, strict byte 001h ; 3c 01 8289 jc short 05d 7ch ; 72 118290 jbe short 05 dd0h ; 76 638329 jc short 05de6h ; 72 11 8330 jbe short 05e3ah ; 76 63 8291 8331 cmp AL, strict byte 003h ; 3c 03 8292 je near 05e 68h ; 0f 84 f5 008332 je near 05ed2h ; 0f 84 f5 00 8293 8333 cmp AL, strict byte 002h ; 3c 02 8294 je near 05e 1eh ; 0f 84 a5 008295 jmp near 05e 79h ; e9 fd 008334 je near 05e88h ; 0f 84 a5 00 8335 jmp near 05ee3h ; e9 fd 00 8296 8336 test al, al ; 84 c0 8297 jne near 05e 79h ; 0f 85 f7 008337 jne near 05ee3h ; 0f 85 f7 00 8298 8338 lea dx, [bx+003h] ; 8d 57 03 8299 8339 in AL, DX ; ec … … 8327 8367 ; sub ah, ah ; 2a e4 8328 8368 mov byte [bp+012h], al ; 88 46 12 8329 jmp near 05e 5ah ; e9 97 008369 jmp near 05ec4h ; e9 97 00 8330 8370 mov AL, strict byte 017h ; b0 17 8331 8371 mov dx, bx ; 89 da … … 8334 8374 mov AL, strict byte 004h ; b0 04 8335 8375 out DX, AL ; ee 8336 jmp short 05 da5h ; eb d58376 jmp short 05e0fh ; eb d5 8337 8377 mov dx, strict word 0006ch ; ba 6c 00 8338 8378 mov ax, strict word 00040h ; b8 40 00 8339 call 0166ch ; e8 93b88379 call 0166ch ; e8 29 b8 8340 8380 mov si, ax ; 89 c6 8341 8381 lea dx, [bx+005h] ; 8d 57 05 … … 8345 8385 and ax, strict word 00060h ; 25 60 00 8346 8386 cmp ax, strict word 00060h ; 3d 60 00 8347 je short 05e 00h ; 74 178387 je short 05e6ah ; 74 17 8348 8388 test cl, cl ; 84 c9 8349 je short 05e 00h ; 74 138389 je short 05e6ah ; 74 13 8350 8390 mov dx, strict word 0006ch ; ba 6c 00 8351 8391 mov ax, strict word 00040h ; b8 40 00 8352 call 0166ch ; e8 76b88392 call 0166ch ; e8 0c b8 8353 8393 cmp ax, si ; 39 f0 8354 je short 05 ddbh ; 74 e18394 je short 05e45h ; 74 e1 8355 8395 mov si, ax ; 89 c6 8356 8396 db 0feh, 0c9h 8357 8397 ; dec cl ; fe c9 8358 jmp short 05 ddbh ; eb db8398 jmp short 05e45h ; eb db 8359 8399 test cl, cl ; 84 c9 8360 je short 05e 0ah ; 74 068400 je short 05e74h ; 74 06 8361 8401 mov al, byte [bp+012h] ; 8a 46 12 8362 8402 mov dx, bx ; 89 da … … 8368 8408 mov byte [bp+013h], al ; 88 46 13 8369 8409 test cl, cl ; 84 c9 8370 jne short 05e 5ah ; 75 438410 jne short 05ec4h ; 75 43 8371 8411 or AL, strict byte 080h ; 0c 80 8372 8412 mov byte [bp+013h], al ; 88 46 13 8373 jmp short 05e 5ah ; eb 3c8413 jmp short 05ec4h ; eb 3c 8374 8414 mov dx, strict word 0006ch ; ba 6c 00 8375 8415 mov ax, strict word 00040h ; b8 40 00 8376 call 0166ch ; e8 45 b88416 call 0166ch ; e8 db b7 8377 8417 mov si, ax ; 89 c6 8378 8418 lea dx, [bx+005h] ; 8d 57 05 … … 8381 8421 ; sub ah, ah ; 2a e4 8382 8422 test AL, strict byte 001h ; a8 01 8383 jne short 05e 4ah ; 75 178423 jne short 05eb4h ; 75 17 8384 8424 test cl, cl ; 84 c9 8385 je short 05e 4ah ; 74 138425 je short 05eb4h ; 74 13 8386 8426 mov dx, strict word 0006ch ; ba 6c 00 8387 8427 mov ax, strict word 00040h ; b8 40 00 8388 call 0166ch ; e8 2c b88428 call 0166ch ; e8 c2 b7 8389 8429 cmp ax, si ; 39 f0 8390 je short 05e 29h ; 74 e58430 je short 05e93h ; 74 e5 8391 8431 mov si, ax ; 89 c6 8392 8432 db 0feh, 0c9h 8393 8433 ; dec cl ; fe c9 8394 jmp short 05e 29h ; eb df8434 jmp short 05e93h ; eb df 8395 8435 test cl, cl ; 84 c9 8396 je short 05e 60h ; 74 128436 je short 05ecah ; 74 12 8397 8437 mov byte [bp+013h], 000h ; c6 46 13 00 8398 8438 mov dx, bx ; 89 da … … 8402 8442 mov byte [bp+012h], al ; 88 46 12 8403 8443 and byte [bp+01ch], 0feh ; 80 66 1c fe 8404 jmp short 05e 83h ; eb 238444 jmp short 05eedh ; eb 23 8405 8445 lea dx, [bx+005h] ; 8d 57 05 8406 8446 in AL, DX ; ec 8407 8447 db 02ah, 0e4h 8408 8448 ; sub ah, ah ; 2a e4 8409 jmp short 05e 19h ; eb b18449 jmp short 05e83h ; eb b1 8410 8450 lea dx, [si+005h] ; 8d 54 05 8411 8451 in AL, DX ; ec … … 8417 8457 db 02ah, 0e4h 8418 8458 ; sub ah, ah ; 2a e4 8419 jmp short 05e 57h ; eb de8459 jmp short 05ec1h ; eb de 8420 8460 or byte [bp+01ch], 001h ; 80 4e 1c 01 8421 jmp short 05e 83h ; eb 048461 jmp short 05eedh ; eb 04 8422 8462 or byte [bp+01ch], 001h ; 80 4e 1c 01 8423 8463 lea sp, [bp-002h] ; 8d 66 fe … … 8425 8465 pop bp ; 5d 8426 8466 retn ; c3 8427 set_enable_a20_: ; 0xf5e 89LB 0x2c8467 set_enable_a20_: ; 0xf5ef3 LB 0x2c 8428 8468 push bp ; 55 8429 8469 mov bp, sp ; 89 e5 … … 8438 8478 mov cl, al ; 88 c1 8439 8479 test bx, bx ; 85 db 8440 je short 05 ea2h ; 74 058480 je short 05f0ch ; 74 05 8441 8481 or AL, strict byte 002h ; 0c 02 8442 8482 out DX, AL ; ee 8443 jmp short 05 ea5h ; eb 038483 jmp short 05f0fh ; eb 03 8444 8484 and AL, strict byte 0fdh ; 24 fd 8445 8485 out DX, AL ; ee … … 8454 8494 pop bp ; 5d 8455 8495 retn ; c3 8456 set_e820_range_: ; 0xf5 eb5LB 0x8c8496 set_e820_range_: ; 0xf5f1f LB 0x8c 8457 8497 push si ; 56 8458 8498 push bp ; 55 … … 8482 8522 pop si ; 5e 8483 8523 retn 0000ah ; c2 0a 00 8484 in AL, DX ; ec 8485 jmp near 020e8h ; e9 d8 c1 8486 sar byte [bx-06f6fh], 089h ; c0 bf 91 90 89 8487 mov byte [bx+05283h], al ; 88 87 83 52 8488 dec di ; 4f 8489 inc cx ; 41 8490 and AL, strict byte 000h ; 24 00 8491 loopne 05f82h ; e0 63 8492 sbb byte [bx-06dh], 05fh ; 80 5f 93 5f 8493 sub byte [bx+si+02eh], ah ; 28 60 2e 8494 pushaw ; 60 8495 xor sp, word [bx+si+038h] ; 33 60 38 8496 pushaw ; 60 8497 fisub dword [bx+si+077h] ; da 60 77 8498 bound bx, [di+02162h] ; 62 9d 62 21 8499 pushaw ; 60 8500 and word [bx+si+06ah], sp ; 21 60 6a 8501 arpl word [bp+si-05a9dh], dx ; 63 92 63 a5 8502 arpl word [si+02863h], si ; 63 b4 63 28 8503 pushaw ; 60 8504 db 0bbh 8505 db 063h 8506 _int15_function: ; 0xf5f41 LB 0x4cd 8524 db 0ech, 0e9h, 0d8h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 087h, 083h, 052h, 04fh, 041h, 024h 8525 db 000h, 04ah, 064h, 0eah, 05fh, 0fdh, 05fh, 092h, 060h, 098h, 060h, 09dh, 060h, 0a2h, 060h, 044h 8526 db 061h, 0e1h, 062h, 007h, 063h, 08bh, 060h, 08bh, 060h, 0d4h, 063h, 0fch, 063h, 00fh, 064h, 01eh 8527 db 064h, 092h, 060h, 025h, 064h 8528 _int15_function: ; 0xf5fab LB 0x4cd 8507 8529 push bp ; 55 8508 8530 mov bp, sp ; 89 e5 … … 8514 8536 shr ax, 008h ; c1 e8 08 8515 8537 cmp ax, 000ech ; 3d ec 00 8516 jnbe near 06 3e0h ; 0f 87 8b 048538 jnbe near 0644ah ; 0f 87 8b 04 8517 8539 push CS ; 0e 8518 8540 pop ES ; 07 8519 8541 mov cx, strict word 00012h ; b9 12 00 8520 mov di, 05f 0ch ; bf 0c5f8542 mov di, 05f76h ; bf 76 5f 8521 8543 repne scasb ; f2 ae 8522 8544 sal cx, 1 ; d1 e1 8523 8545 mov di, cx ; 89 cf 8524 mov si, word [cs:di+05f 1dh] ; 2e 8b b5 1d5f8546 mov si, word [cs:di+05f87h] ; 2e 8b b5 87 5f 8525 8547 mov ax, word [bp+012h] ; 8b 46 12 8526 8548 xor ah, ah ; 30 e4 … … 8535 8557 xor ah, ah ; 30 e4 8536 8558 cmp ax, 000c0h ; 3d c0 00 8537 jne near 06 3e0h ; 0f 85 54 048559 jne near 0644ah ; 0f 85 54 04 8538 8560 or byte [bp+018h], 001h ; 80 4e 18 01 8539 jmp near 063 89h ; e9 f6 038561 jmp near 063f3h ; e9 f6 03 8540 8562 mov dx, ax ; 89 c2 8541 8563 cmp ax, strict word 00001h ; 3d 01 00 8542 jc short 0 5fa8h ; 72 0e8543 jbe short 0 5fbch ; 76 208564 jc short 06012h ; 72 0e 8565 jbe short 06026h ; 76 20 8544 8566 cmp ax, strict word 00003h ; 3d 03 00 8545 je short 0 5fe9h ; 74 488567 je short 06053h ; 74 48 8546 8568 cmp ax, strict word 00002h ; 3d 02 00 8547 je short 0 5fcch ; 74 268548 jmp short 0 5ff6h ; eb 4e8569 je short 06036h ; 74 26 8570 jmp short 06060h ; eb 4e 8549 8571 test ax, ax ; 85 c0 8550 jne short 0 5ff6h ; 75 4a8572 jne short 06060h ; 75 4a 8551 8573 xor ax, ax ; 31 c0 8552 call 05e 89h ; e8 d8 fe8574 call 05ef3h ; e8 d8 fe 8553 8575 and byte [bp+018h], 0feh ; 80 66 18 fe 8554 8576 mov byte [bp+013h], 000h ; c6 46 13 00 8555 jmp near 060 21h ; e9 65 008577 jmp near 0608bh ; e9 65 00 8556 8578 mov ax, strict word 00001h ; b8 01 00 8557 call 05e 89h ; e8 c7 fe8579 call 05ef3h ; e8 c7 fe 8558 8580 and byte [bp+018h], 0feh ; 80 66 18 fe 8559 8581 mov byte [bp+013h], dh ; 88 76 13 8560 jmp near 060 21h ; e9 55 008582 jmp near 0608bh ; e9 55 00 8561 8583 mov dx, 00092h ; ba 92 00 8562 8584 in AL, DX ; ec … … 8570 8592 and byte [bp+018h], 0feh ; 80 66 18 fe 8571 8593 mov byte [bp+013h], ah ; 88 66 13 8572 jmp near 060 21h ; e9 38 008594 jmp near 0608bh ; e9 38 00 8573 8595 and byte [bp+018h], 0feh ; 80 66 18 fe 8574 8596 mov byte [bp+013h], ah ; 88 66 13 8575 8597 mov word [bp+00ch], ax ; 89 46 0c 8576 jmp near 060 21h ; e9 2b 008577 mov bx, 00d 8ah ; bb 8a0d8598 jmp near 0608bh ; e9 2b 00 8599 mov bx, 00da2h ; bb a2 0d 8578 8600 mov cx, ds ; 8c d9 8579 8601 mov ax, strict word 00004h ; b8 04 00 8580 call 01931h ; e8 30 b98602 call 01931h ; e8 c6 b8 8581 8603 mov ax, word [bp+012h] ; 8b 46 12 8582 8604 xor ah, ah ; 30 e4 … … 8584 8606 push 00836h ; 68 36 08 8585 8607 push strict byte 00004h ; 6a 04 8586 call 01972h ; e8 63 b98608 call 01972h ; e8 f9 b8 8587 8609 add sp, strict byte 00006h ; 83 c4 06 8588 8610 or byte [bp+018h], 001h ; 80 4e 18 01 … … 8597 8619 retn ; c3 8598 8620 mov word [bp+018h], bx ; 89 5e 18 8599 jmp near 06 0d4h ; e9 a6 008621 jmp near 0613eh ; e9 a6 00 8600 8622 mov word [bp+018h], bx ; 89 5e 18 8601 jmp short 060 21h ; eb ee8623 jmp short 0608bh ; eb ee 8602 8624 mov word [bp+018h], cx ; 89 4e 18 8603 jmp short 060 1eh ; eb e68625 jmp short 06088h ; eb e6 8604 8626 test byte [bp+012h], 0ffh ; f6 46 12 ff 8605 je short 06 0aah ; 74 6c8627 je short 06114h ; 74 6c 8606 8628 mov dx, 000a0h ; ba a0 00 8607 8629 mov ax, strict word 00040h ; b8 40 00 8608 call 01650h ; e8 09 b68630 call 01650h ; e8 9f b5 8609 8631 test AL, strict byte 001h ; a8 01 8610 jne near 063 80h ; 0f 85 33 038632 jne near 063eah ; 0f 85 33 03 8611 8633 mov bx, strict word 00001h ; bb 01 00 8612 8634 mov dx, 000a0h ; ba a0 00 8613 8635 mov ax, strict word 00040h ; b8 40 00 8614 call 0165eh ; e8 05 b68636 call 0165eh ; e8 9b b5 8615 8637 mov bx, word [bp+014h] ; 8b 5e 14 8616 8638 mov dx, 00098h ; ba 98 00 8617 8639 mov ax, strict word 00040h ; b8 40 00 8618 call 0167ah ; e8 15 b68640 call 0167ah ; e8 ab b5 8619 8641 mov bx, word [bp+00ch] ; 8b 5e 0c 8620 8642 mov dx, 0009ah ; ba 9a 00 8621 8643 mov ax, strict word 00040h ; b8 40 00 8622 call 0167ah ; e8 09 b68644 call 0167ah ; e8 9f b5 8623 8645 mov bx, word [bp+00eh] ; 8b 5e 0e 8624 8646 mov dx, 0009ch ; ba 9c 00 8625 8647 mov ax, strict word 00040h ; b8 40 00 8626 call 0167ah ; e8 fdb58648 call 0167ah ; e8 93 b5 8627 8649 mov bx, word [bp+010h] ; 8b 5e 10 8628 8650 mov dx, 0009eh ; ba 9e 00 8629 8651 mov ax, strict word 00040h ; b8 40 00 8630 call 0167ah ; e8 f1b58652 call 0167ah ; e8 87 b5 8631 8653 and byte [bp+018h], 0feh ; 80 66 18 fe 8632 8654 mov dx, 000a1h ; ba a1 00 … … 8637 8659 out DX, AL ; ee 8638 8660 mov ax, strict word 0000bh ; b8 0b 00 8639 call 016ach ; e8 10 b68661 call 016ach ; e8 a6 b5 8640 8662 or AL, strict byte 040h ; 0c 40 8641 8663 movzx dx, al ; 0f b6 d0 8642 8664 mov ax, strict word 0000bh ; b8 0b 00 8643 call 016c9h ; e8 22 b68644 jmp near 060 21h ; e9 77 ff8665 call 016c9h ; e8 b8 b5 8666 jmp near 0608bh ; e9 77 ff 8645 8667 cmp ax, strict word 00001h ; 3d 01 00 8646 jne short 06 0c8h ; 75 198668 jne short 06132h ; 75 19 8647 8669 xor bx, bx ; 31 db 8648 8670 mov dx, 000a0h ; ba a0 00 8649 8671 mov ax, strict word 00040h ; b8 40 00 8650 call 0165eh ; e8 a4b58672 call 0165eh ; e8 3a b5 8651 8673 and byte [bp+018h], 0feh ; 80 66 18 fe 8652 8674 mov ax, strict word 0000bh ; b8 0b 00 8653 call 016ach ; e8 e8b58675 call 016ach ; e8 7e b5 8654 8676 and AL, strict byte 0bfh ; 24 bf 8655 jmp short 06 09eh ; eb d68677 jmp short 06108h ; eb d6 8656 8678 mov word [bp+018h], bx ; 89 5e 18 8657 8679 mov ax, dx ; 89 d0 … … 8661 8683 or dx, ax ; 09 c2 8662 8684 mov word [bp+012h], dx ; 89 56 12 8663 jmp near 060 21h ; e9 47 ff8685 jmp near 0608bh ; e9 47 ff 8664 8686 cli ; fa 8665 8687 mov ax, strict word 00001h ; b8 01 00 8666 call 05e 89h ; e8 a8 fd8688 call 05ef3h ; e8 a8 fd 8667 8689 mov di, ax ; 89 c7 8668 8690 mov ax, word [bp+014h] ; 8b 46 14 … … 8674 8696 mov byte [bp-006h], dl ; 88 56 fa 8675 8697 cmp cx, ax ; 39 c1 8676 jnc short 061 00h ; 73 058698 jnc short 0616ah ; 73 05 8677 8699 db 0feh, 0c2h 8678 8700 ; inc dl ; fe c2 … … 8682 8704 mov ax, word [bp+014h] ; 8b 46 14 8683 8705 mov bx, strict word 0002fh ; bb 2f 00 8684 call 0167ah ; e8 6bb58706 call 0167ah ; e8 01 b5 8685 8707 mov dx, word [bp+006h] ; 8b 56 06 8686 8708 add dx, strict byte 0000ah ; 83 c2 0a 8687 8709 mov ax, word [bp+014h] ; 8b 46 14 8688 8710 mov bx, cx ; 89 cb 8689 call 0167ah ; e8 5d b58711 call 0167ah ; e8 f3 b4 8690 8712 movzx bx, byte [bp-006h] ; 0f b6 5e fa 8691 8713 mov dx, word [bp+006h] ; 8b 56 06 8692 8714 add dx, strict byte 0000ch ; 83 c2 0c 8693 8715 mov ax, word [bp+014h] ; 8b 46 14 8694 call 0165eh ; e8 31 b58716 call 0165eh ; e8 c7 b4 8695 8717 mov dx, word [bp+006h] ; 8b 56 06 8696 8718 add dx, strict byte 0000dh ; 83 c2 0d 8697 8719 mov ax, word [bp+014h] ; 8b 46 14 8698 8720 mov bx, 00093h ; bb 93 00 8699 call 0165eh ; e8 22 b58721 call 0165eh ; e8 b8 b4 8700 8722 mov dx, word [bp+006h] ; 8b 56 06 8701 8723 add dx, strict byte 0000eh ; 83 c2 0e 8702 8724 mov ax, word [bp+014h] ; 8b 46 14 8703 8725 xor bx, bx ; 31 db 8704 call 0167ah ; e8 30 b58726 call 0167ah ; e8 c6 b4 8705 8727 mov dx, word [bp+006h] ; 8b 56 06 8706 8728 add dx, strict byte 00020h ; 83 c2 20 8707 8729 mov ax, word [bp+014h] ; 8b 46 14 8708 8730 mov bx, strict word 0ffffh ; bb ff ff 8709 call 0167ah ; e8 21 b58731 call 0167ah ; e8 b7 b4 8710 8732 mov dx, word [bp+006h] ; 8b 56 06 8711 8733 add dx, strict byte 00022h ; 83 c2 22 8712 8734 mov ax, word [bp+014h] ; 8b 46 14 8713 8735 xor bx, bx ; 31 db 8714 call 0167ah ; e8 13 b58736 call 0167ah ; e8 a9 b4 8715 8737 mov dx, word [bp+006h] ; 8b 56 06 8716 8738 add dx, strict byte 00024h ; 83 c2 24 8717 8739 mov ax, word [bp+014h] ; 8b 46 14 8718 8740 mov bx, strict word 0000fh ; bb 0f 00 8719 call 0165eh ; e8 e8b48741 call 0165eh ; e8 7e b4 8720 8742 mov dx, word [bp+006h] ; 8b 56 06 8721 8743 add dx, strict byte 00025h ; 83 c2 25 8722 8744 mov ax, word [bp+014h] ; 8b 46 14 8723 8745 mov bx, 0009bh ; bb 9b 00 8724 call 0165eh ; e8 d9b48746 call 0165eh ; e8 6f b4 8725 8747 mov dx, word [bp+006h] ; 8b 56 06 8726 8748 add dx, strict byte 00026h ; 83 c2 26 8727 8749 mov ax, word [bp+014h] ; 8b 46 14 8728 8750 xor bx, bx ; 31 db 8729 call 0167ah ; e8 e7b48751 call 0167ah ; e8 7d b4 8730 8752 mov ax, ss ; 8c d0 8731 8753 mov cx, ax ; 89 c1 … … 8737 8759 mov ax, word [bp+014h] ; 8b 46 14 8738 8760 mov bx, strict word 0ffffh ; bb ff ff 8739 call 0167ah ; e8 cbb48761 call 0167ah ; e8 61 b4 8740 8762 mov dx, word [bp+006h] ; 8b 56 06 8741 8763 add dx, strict byte 0002ah ; 83 c2 2a 8742 8764 mov ax, word [bp+014h] ; 8b 46 14 8743 8765 mov bx, cx ; 89 cb 8744 call 0167ah ; e8 bdb48766 call 0167ah ; e8 53 b4 8745 8767 movzx bx, byte [bp-008h] ; 0f b6 5e f8 8746 8768 mov dx, word [bp+006h] ; 8b 56 06 8747 8769 add dx, strict byte 0002ch ; 83 c2 2c 8748 8770 mov ax, word [bp+014h] ; 8b 46 14 8749 call 0165eh ; e8 91b48771 call 0165eh ; e8 27 b4 8750 8772 mov dx, word [bp+006h] ; 8b 56 06 8751 8773 add dx, strict byte 0002dh ; 83 c2 2d 8752 8774 mov ax, word [bp+014h] ; 8b 46 14 8753 8775 mov bx, 00093h ; bb 93 00 8754 call 0165eh ; e8 82b48776 call 0165eh ; e8 18 b4 8755 8777 mov dx, word [bp+006h] ; 8b 56 06 8756 8778 add dx, strict byte 0002eh ; 83 c2 2e 8757 8779 mov ax, word [bp+014h] ; 8b 46 14 8758 8780 xor bx, bx ; 31 db 8759 call 0167ah ; e8 90b48781 call 0167ah ; e8 26 b4 8760 8782 mov si, word [bp+006h] ; 8b 76 06 8761 8783 mov es, [bp+014h] ; 8e 46 14 … … 8768 8790 mov word [00467h], sp ; 89 26 67 04 8769 8791 mov [00469h], ss ; 8c 16 69 04 8770 call 062 06h ; e8 00 008792 call 06270h ; e8 00 00 8771 8793 pop di ; 5f 8772 8794 add di, strict byte 0001bh ; 83 c7 1b … … 8791 8813 cld ; fc 8792 8814 rep movsw ; f3 a5 8793 call 062 3ah ; e8 00 008815 call 062a4h ; e8 00 00 8794 8816 pop ax ; 58 8795 8817 push 0f000h ; 68 00 f0 … … 8812 8834 pop DS ; 1f 8813 8835 mov ax, di ; 89 f8 8814 call 05e 89h ; e8 1e fc8836 call 05ef3h ; e8 1e fc 8815 8837 sti ; fb 8816 8838 mov byte [bp+013h], 000h ; c6 46 13 00 8817 8839 and byte [bp+018h], 0feh ; 80 66 18 fe 8818 jmp near 060 21h ; e9 aa fd8840 jmp near 0608bh ; e9 aa fd 8819 8841 mov ax, strict word 00031h ; b8 31 00 8820 call 016ach ; e8 2f b48842 call 016ach ; e8 c5 b3 8821 8843 xor ah, ah ; 30 e4 8822 8844 mov dx, ax ; 89 c2 8823 8845 sal dx, 008h ; c1 e2 08 8824 8846 mov ax, strict word 00030h ; b8 30 00 8825 call 016ach ; e8 22 b48847 call 016ach ; e8 b8 b3 8826 8848 xor ah, ah ; 30 e4 8827 8849 or dx, ax ; 09 c2 8828 8850 mov word [bp+012h], dx ; 89 56 12 8829 8851 cmp dx, strict byte 0ffc0h ; 83 fa c0 8830 jbe short 062 70h ; 76 da8852 jbe short 062dah ; 76 da 8831 8853 mov word [bp+012h], strict word 0ffc0h ; c7 46 12 c0 ff 8832 jmp short 062 70h ; eb d38854 jmp short 062dah ; eb d3 8833 8855 cli ; fa 8834 8856 mov ax, strict word 00001h ; b8 01 00 8835 call 05e 89h ; e8 e5 fb8857 call 05ef3h ; e8 e5 fb 8836 8858 mov dx, word [bp+006h] ; 8b 56 06 8837 8859 add dx, strict byte 00038h ; 83 c2 38 8838 8860 mov ax, word [bp+014h] ; 8b 46 14 8839 8861 mov bx, strict word 0ffffh ; bb ff ff 8840 call 0167ah ; e8 c7b38862 call 0167ah ; e8 5d b3 8841 8863 mov dx, word [bp+006h] ; 8b 56 06 8842 8864 add dx, strict byte 0003ah ; 83 c2 3a 8843 8865 mov ax, word [bp+014h] ; 8b 46 14 8844 8866 xor bx, bx ; 31 db 8845 call 0167ah ; e8 b9b38867 call 0167ah ; e8 4f b3 8846 8868 mov dx, word [bp+006h] ; 8b 56 06 8847 8869 add dx, strict byte 0003ch ; 83 c2 3c 8848 8870 mov ax, word [bp+014h] ; 8b 46 14 8849 8871 mov bx, strict word 0000fh ; bb 0f 00 8850 call 0165eh ; e8 8eb38872 call 0165eh ; e8 24 b3 8851 8873 mov dx, word [bp+006h] ; 8b 56 06 8852 8874 add dx, strict byte 0003dh ; 83 c2 3d 8853 8875 mov ax, word [bp+014h] ; 8b 46 14 8854 8876 mov bx, 0009bh ; bb 9b 00 8855 call 0165eh ; e8 7fb38877 call 0165eh ; e8 15 b3 8856 8878 mov dx, word [bp+006h] ; 8b 56 06 8857 8879 add dx, strict byte 0003eh ; 83 c2 3e 8858 8880 mov ax, word [bp+014h] ; 8b 46 14 8859 8881 xor bx, bx ; 31 db 8860 call 0167ah ; e8 8db38882 call 0167ah ; e8 23 b3 8861 8883 mov AL, strict byte 011h ; b0 11 8862 8884 mov dx, strict word 00020h ; ba 20 00 … … 8888 8910 out DX, AL ; ee 8889 8911 mov si, word [bp+006h] ; 8b 76 06 8890 call 063 2eh ; e8 00 008912 call 06398h ; e8 00 00 8891 8913 pop di ; 5f 8892 8914 add di, strict byte 00018h ; 83 c7 18 … … 8916 8938 push cx ; 51 8917 8939 retf ; cb 8918 jmp near 060 21h ; e9 b7 fc8919 mov bx, 00d 8ah ; bb 8a0d8940 jmp near 0608bh ; e9 b7 fc 8941 mov bx, 00da2h ; bb a2 0d 8920 8942 mov cx, ds ; 8c d9 8921 8943 mov ax, strict word 00004h ; b8 04 00 8922 call 01931h ; e8 bcb58944 call 01931h ; e8 52 b5 8923 8945 push 00876h ; 68 76 08 8924 8946 push strict byte 00004h ; 6a 04 8925 call 01972h ; e8 f5b58947 call 01972h ; e8 8b b5 8926 8948 add sp, strict byte 00004h ; 83 c4 04 8927 8949 or byte [bp+018h], 001h ; 80 4e 18 01 … … 8930 8952 or ah, 086h ; 80 cc 86 8931 8953 mov word [bp+012h], ax ; 89 46 12 8932 jmp near 060 21h ; e9 8f fc8954 jmp near 0608bh ; e9 8f fc 8933 8955 mov word [bp+018h], cx ; 89 4e 18 8934 8956 mov word [bp+012h], ax ; 89 46 12 8935 8957 mov word [bp+00ch], 0e6f5h ; c7 46 0c f5 e6 8936 8958 mov word [bp+014h], 0f000h ; c7 46 14 00 f0 8937 jmp near 060 21h ; e9 7c fc8959 jmp near 0608bh ; e9 7c fc 8938 8960 mov dx, strict word 0000eh ; ba 0e 00 8939 8961 mov ax, strict word 00040h ; b8 40 00 8940 call 0166ch ; e8 beb28962 call 0166ch ; e8 54 b2 8941 8963 mov word [bp+014h], ax ; 89 46 14 8942 jmp near 062 70h ; e9 bc fe8964 jmp near 062dah ; e9 bc fe 8943 8965 push 008a5h ; 68 a5 08 8944 8966 push strict byte 00008h ; 6a 08 8945 jmp short 063 7ah ; eb bf8967 jmp short 063e4h ; eb bf 8946 8968 test byte [bp+012h], 0ffh ; f6 46 12 ff 8947 jne short 06 3e0h ; 75 1f8969 jne short 0644ah ; 75 1f 8948 8970 mov word [bp+012h], ax ; 89 46 12 8949 8971 mov ax, word [bp+00ch] ; 8b 46 0c 8950 8972 xor ah, ah ; 30 e4 8951 8973 cmp ax, strict word 00001h ; 3d 01 00 8952 jc short 06 3d9h ; 72 0b8974 jc short 06443h ; 72 0b 8953 8975 cmp ax, strict word 00003h ; 3d 03 00 8954 jnbe short 06 3d9h ; 77 068976 jnbe short 06443h ; 77 06 8955 8977 mov word [bp+018h], cx ; 89 4e 18 8956 jmp near 060 21h ; e9 48 fc8978 jmp near 0608bh ; e9 48 fc 8957 8979 or byte [bp+018h], 001h ; 80 4e 18 01 8958 jmp near 060 21h ; e9 41 fc8959 mov bx, 00d 8ah ; bb 8a0d8980 jmp near 0608bh ; e9 41 fc 8981 mov bx, 00da2h ; bb a2 0d 8960 8982 mov cx, ds ; 8c d9 8961 8983 mov ax, strict word 00004h ; b8 04 00 8962 call 01931h ; e8 46 b58984 call 01931h ; e8 dc b4 8963 8985 push word [bp+00ch] ; ff 76 0c 8964 8986 push word [bp+012h] ; ff 76 12 8965 8987 push 008bch ; 68 bc 08 8966 8988 push strict byte 00004h ; 6a 04 8967 call 01972h ; e8 79b58989 call 01972h ; e8 0f b5 8968 8990 add sp, strict byte 00008h ; 83 c4 08 8969 jmp short 06380h ; eb 82 8970 mov BH, strict byte 065h ; b7 65 8971 fldenv [di-004h] ; d9 65 fc 8972 db 065h, 01eh 8973 ; gs push DS ; 65 1e 8974 db 066h, 03eh, 066h, 05fh 8975 ; ds pop edi ; 66 3e 66 5f 8976 db 066h, 09eh, 066h, 0cah, 066h 8977 _int15_function32: ; 0xf640e LB 0x37e 8991 jmp short 063eah ; eb 82 8992 db 021h, 066h, 043h, 066h, 066h, 066h, 088h, 066h, 0a8h, 066h, 0c9h, 066h, 008h, 067h, 034h, 067h 8993 _int15_function32: ; 0xf6478 LB 0x37e 8978 8994 push bp ; 55 8979 8995 mov bp, sp ; 89 e5 … … 8987 9003 xor ah, ah ; 30 e4 8988 9004 cmp dx, 000e8h ; 81 fa e8 00 8989 je near 06 4dbh ; 0f 84 ad 009005 je near 06545h ; 0f 84 ad 00 8990 9006 cmp dx, 000d0h ; 81 fa d0 00 8991 je short 064 76h ; 74 429007 je short 064e0h ; 74 42 8992 9008 cmp dx, 00086h ; 81 fa 86 00 8993 jne near 067 5ch ; 0f 85 20 039009 jne near 067c6h ; 0f 85 20 03 8994 9010 sti ; fb 8995 9011 mov ax, word [bp+01ch] ; 8b 46 1c … … 9010 9026 db 066h, 00bh, 0c9h 9011 9027 ; or ecx, ecx ; 66 0b c9 9012 je near 064 73h ; 0f 84 0e 009028 je near 064ddh ; 0f 84 0e 00 9013 9029 in AL, strict byte 061h ; e4 61 9014 9030 and AL, strict byte 010h ; 24 10 9015 9031 db 03ah, 0c4h 9016 9032 ; cmp al, ah ; 3a c4 9017 je short 064 65h ; 74 f89033 je short 064cfh ; 74 f8 9018 9034 db 08ah, 0e0h 9019 9035 ; mov ah, al ; 8a e0 9020 9036 dec ecx ; 66 49 9021 jne short 064 65h ; 75 f29022 jmp near 067 86h ; e9 10 039037 jne short 064cfh ; 75 f2 9038 jmp near 067f0h ; e9 10 03 9023 9039 cmp ax, strict word 0004fh ; 3d 4f 00 9024 jne near 067 5ch ; 0f 85 df 029040 jne near 067c6h ; 0f 85 df 02 9025 9041 cmp word [bp+016h], 05052h ; 81 7e 16 52 50 9026 jne near 067 5ch ; 0f 85 d6 029042 jne near 067c6h ; 0f 85 d6 02 9027 9043 cmp word [bp+014h], 04f43h ; 81 7e 14 43 4f 9028 jne near 067 5ch ; 0f 85 cd 029044 jne near 067c6h ; 0f 85 cd 02 9029 9045 cmp word [bp+01eh], 04d4fh ; 81 7e 1e 4f 4d 9030 jne near 067 5ch ; 0f 85 c4 029046 jne near 067c6h ; 0f 85 c4 02 9031 9047 cmp word [bp+01ch], 04445h ; 81 7e 1c 45 44 9032 jne near 067 5ch ; 0f 85 bb 029048 jne near 067c6h ; 0f 85 bb 02 9033 9049 mov ax, word [bp+00ah] ; 8b 46 0a 9034 9050 or ax, word [bp+008h] ; 0b 46 08 9035 jne near 067 5ch ; 0f 85 b1 029051 jne near 067c6h ; 0f 85 b1 02 9036 9052 mov ax, word [bp+006h] ; 8b 46 06 9037 9053 or ax, word [bp+004h] ; 0b 46 04 9038 jne near 067 5ch ; 0f 85 a7 029054 jne near 067c6h ; 0f 85 a7 02 9039 9055 mov word [bp+028h], bx ; 89 5e 28 9040 9056 mov ax, word [bp+014h] ; 8b 46 14 … … 9047 9063 mov word [bp+006h], ax ; 89 46 06 9048 9064 mov dword [bp+020h], strict dword 049413332h ; 66 c7 46 20 32 33 41 49 9049 jmp near 067 86h ; e9 ab 029065 jmp near 067f0h ; e9 ab 02 9050 9066 cmp ax, strict word 00020h ; 3d 20 00 9051 je short 06 4eah ; 74 0a9067 je short 06554h ; 74 0a 9052 9068 cmp ax, strict word 00001h ; 3d 01 00 9053 je near 067 11h ; 0f 84 2a 029054 jmp near 067 5ch ; e9 72 029069 je near 0677bh ; 0f 84 2a 02 9070 jmp near 067c6h ; e9 72 02 9055 9071 cmp word [bp+01ah], 0534dh ; 81 7e 1a 4d 53 9056 jne near 067 5ch ; 0f 85 69 029072 jne near 067c6h ; 0f 85 69 02 9057 9073 cmp word [bp+018h], 04150h ; 81 7e 18 50 41 9058 jne near 067 5ch ; 0f 85 60 029074 jne near 067c6h ; 0f 85 60 02 9059 9075 mov ax, strict word 00035h ; b8 35 00 9060 call 016ach ; e8 aab19076 call 016ach ; e8 40 b1 9061 9077 movzx bx, al ; 0f b6 d8 9062 9078 xor dx, dx ; 31 d2 … … 9064 9080 sal bx, 1 ; d1 e3 9065 9081 rcl dx, 1 ; d1 d2 9066 loop 065 0ah ; e2 fa9082 loop 06574h ; e2 fa 9067 9083 mov ax, strict word 00034h ; b8 34 00 9068 call 016ach ; e8 96b19084 call 016ach ; e8 2c b1 9069 9085 xor ah, ah ; 30 e4 9070 9086 mov dx, bx ; 89 da … … 9074 9090 adc dx, 00100h ; 81 d2 00 01 9075 9091 cmp dx, 00100h ; 81 fa 00 01 9076 jc short 065 30h ; 72 069077 jne short 065 5dh ; 75 319092 jc short 0659ah ; 72 06 9093 jne short 065c7h ; 75 31 9078 9094 test bx, bx ; 85 db 9079 jnbe short 065 5dh ; 77 2d9095 jnbe short 065c7h ; 77 2d 9080 9096 mov ax, strict word 00031h ; b8 31 00 9081 call 016ach ; e8 76b19097 call 016ach ; e8 0c b1 9082 9098 movzx bx, al ; 0f b6 d8 9083 9099 xor dx, dx ; 31 d2 … … 9085 9101 sal bx, 1 ; d1 e3 9086 9102 rcl dx, 1 ; d1 d2 9087 loop 065 3eh ; e2 fa9103 loop 065a8h ; e2 fa 9088 9104 mov ax, strict word 00030h ; b8 30 00 9089 call 016ach ; e8 62 b19105 call 016ach ; e8 f8 b0 9090 9106 xor ah, ah ; 30 e4 9091 9107 or bx, ax ; 09 c3 … … 9093 9109 sal bx, 1 ; d1 e3 9094 9110 rcl dx, 1 ; d1 d2 9095 loop 065 51h ; e2 fa9111 loop 065bbh ; e2 fa 9096 9112 add bx, strict byte 00000h ; 83 c3 00 9097 9113 adc dx, strict byte 00010h ; 83 d2 10 9098 9114 mov ax, strict word 00062h ; b8 62 00 9099 call 016ach ; e8 49 b19115 call 016ach ; e8 df b0 9100 9116 xor ah, ah ; 30 e4 9101 9117 mov word [bp-00ah], ax ; 89 46 f6 … … 9105 9121 sal word [bp-00ah], 1 ; d1 66 f6 9106 9122 rcl word [bp-008h], 1 ; d1 56 f8 9107 loop 065 70h ; e2 f89123 loop 065dah ; e2 f8 9108 9124 mov ax, strict word 00061h ; b8 61 00 9109 call 016ach ; e8 2e b19125 call 016ach ; e8 c4 b0 9110 9126 xor ah, ah ; 30 e4 9111 9127 or word [bp-00ah], ax ; 09 46 f6 … … 9114 9130 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 9115 9131 mov ax, strict word 00063h ; b8 63 00 9116 call 016ach ; e8 18 b19132 call 016ach ; e8 ae b0 9117 9133 mov byte [bp-004h], al ; 88 46 fc 9118 9134 mov byte [bp-006h], al ; 88 46 fa 9119 9135 mov ax, word [bp+014h] ; 8b 46 14 9120 9136 cmp ax, strict word 00007h ; 3d 07 00 9121 jnbe near 067 5ch ; 0f 87 b8 019137 jnbe near 067c6h ; 0f 87 b8 01 9122 9138 mov si, ax ; 89 c6 9123 9139 add si, ax ; 01 c6 … … 9126 9142 mov ax, dx ; 89 d0 9127 9143 adc ax, strict word 0ffffh ; 15 ff ff 9128 jmp word [cs:si+06 3feh] ; 2e ff a4 fe 639144 jmp word [cs:si+06468h] ; 2e ff a4 68 64 9129 9145 push strict byte 00001h ; 6a 01 9130 9146 push dword 000000000h ; 66 6a 00 … … 9135 9151 xor bx, bx ; 31 db 9136 9152 xor cx, cx ; 31 c9 9137 call 05 eb5h ; e8 e7 f89153 call 05f1fh ; e8 e7 f8 9138 9154 mov dword [bp+014h], strict dword 000000001h ; 66 c7 46 14 01 00 00 00 9139 jmp near 06 6fbh ; e9 22 019155 jmp near 06765h ; e9 22 01 9140 9156 push strict byte 00002h ; 6a 02 9141 9157 push dword 000000000h ; 66 6a 00 … … 9146 9162 mov bx, 0fc00h ; bb 00 fc 9147 9163 mov cx, strict word 00009h ; b9 09 00 9148 call 05 eb5h ; e8 c4 f89164 call 05f1fh ; e8 c4 f8 9149 9165 mov dword [bp+014h], strict dword 000000002h ; 66 c7 46 14 02 00 00 00 9150 jmp near 06 6fbh ; e9 ff 009166 jmp near 06765h ; e9 ff 00 9151 9167 push strict byte 00002h ; 6a 02 9152 9168 push dword 000000000h ; 66 6a 00 … … 9157 9173 xor bx, bx ; 31 db 9158 9174 mov cx, strict word 0000fh ; b9 0f 00 9159 call 05 eb5h ; e8 a2 f89175 call 05f1fh ; e8 a2 f8 9160 9176 mov dword [bp+014h], strict dword 000000003h ; 66 c7 46 14 03 00 00 00 9161 jmp near 06 6fbh ; e9 dd 009177 jmp near 06765h ; e9 dd 00 9162 9178 push strict byte 00001h ; 6a 01 9163 9179 push dword 000000000h ; 66 6a 00 … … 9168 9184 xor bx, bx ; 31 db 9169 9185 mov cx, strict word 00010h ; b9 10 00 9170 call 05 eb5h ; e8 82 f89186 call 05f1fh ; e8 82 f8 9171 9187 mov dword [bp+014h], strict dword 000000004h ; 66 c7 46 14 04 00 00 00 9172 jmp near 06 6fbh ; e9 bd 009188 jmp near 06765h ; e9 bd 00 9173 9189 push strict byte 00003h ; 6a 03 9174 9190 push dword 000000000h ; 66 6a 00 … … 9180 9196 mov cx, ax ; 89 c1 9181 9197 mov ax, si ; 89 f0 9182 call 05 eb5h ; e8 61 f89198 call 05f1fh ; e8 61 f8 9183 9199 mov dword [bp+014h], strict dword 000000005h ; 66 c7 46 14 05 00 00 00 9184 jmp near 06 6fbh ; e9 9c 009200 jmp near 06765h ; e9 9c 00 9185 9201 push strict byte 00002h ; 6a 02 9186 9202 push dword 000000000h ; 66 6a 00 … … 9190 9206 xor bx, bx ; 31 db 9191 9207 mov cx, strict word 0fffch ; b9 fc ff 9192 call 05 eb5h ; e8 40 f89208 call 05f1fh ; e8 40 f8 9193 9209 cmp byte [bp-004h], 000h ; 80 7e fc 00 9194 jne short 066 82h ; 75 079210 jne short 066ech ; 75 07 9195 9211 mov ax, word [bp-008h] ; 8b 46 f8 9196 9212 test ax, ax ; 85 c0 9197 je short 06 696h ; 74 149213 je short 06700h ; 74 14 9198 9214 mov dword [bp+014h], strict dword 000000007h ; 66 c7 46 14 07 00 00 00 9199 jmp short 06 6fbh ; eb 6f9215 jmp short 06765h ; eb 6f 9200 9216 mov dword [bp+014h], strict dword 000000006h ; 66 c7 46 14 06 00 00 00 9201 jmp short 06 6fbh ; eb 659217 jmp short 06765h ; eb 65 9202 9218 mov word [bp+014h], ax ; 89 46 14 9203 9219 mov word [bp+016h], ax ; 89 46 16 9204 jmp short 06 6fbh ; eb 5d9220 jmp short 06765h ; eb 5d 9205 9221 push strict byte 00002h ; 6a 02 9206 9222 push dword 000000000h ; 66 6a 00 … … 9210 9226 xor bx, bx ; 31 db 9211 9227 xor cx, cx ; 31 c9 9212 call 05 eb5h ; e8 02 f89228 call 05f1fh ; e8 02 f8 9213 9229 cmp byte [bp-004h], 000h ; 80 7e fc 00 9214 jne short 06 6c0h ; 75 079230 jne short 0672ah ; 75 07 9215 9231 mov ax, word [bp-008h] ; 8b 46 f8 9216 9232 test ax, ax ; 85 c0 9217 je short 06 6c2h ; 74 029218 jmp short 066 82h ; eb c09233 je short 0672ch ; 74 02 9234 jmp short 066ech ; eb c0 9219 9235 mov word [bp+014h], ax ; 89 46 14 9220 9236 mov word [bp+016h], ax ; 89 46 16 9221 jmp short 06 6fbh ; eb 319237 jmp short 06765h ; eb 31 9222 9238 cmp byte [bp-004h], 000h ; 80 7e fc 00 9223 jne short 06 6d6h ; 75 069239 jne short 06740h ; 75 06 9224 9240 cmp word [bp-008h], strict byte 00000h ; 83 7e f8 00 9225 je short 06 6fbh ; 74 259241 je short 06765h ; 74 25 9226 9242 push strict byte 00001h ; 6a 01 9227 9243 mov al, byte [bp-006h] ; 8a 46 fa … … 9236 9252 xor bx, bx ; 31 db 9237 9253 xor cx, cx ; 31 c9 9238 call 05 eb5h ; e8 c2 f79254 call 05f1fh ; e8 c2 f7 9239 9255 xor ax, ax ; 31 c0 9240 9256 mov word [bp+014h], ax ; 89 46 14 … … 9243 9259 mov dword [bp+01ch], strict dword 000000014h ; 66 c7 46 1c 14 00 00 00 9244 9260 and byte [bp+028h], 0feh ; 80 66 28 fe 9245 jmp short 067 86h ; eb 759261 jmp short 067f0h ; eb 75 9246 9262 mov word [bp+028h], bx ; 89 5e 28 9247 9263 mov ax, strict word 00031h ; b8 31 00 9248 call 016ach ; e8 92af9264 call 016ach ; e8 28 af 9249 9265 movzx dx, al ; 0f b6 d0 9250 9266 sal dx, 008h ; c1 e2 08 9251 9267 mov ax, strict word 00030h ; b8 30 00 9252 call 016ach ; e8 86af9268 call 016ach ; e8 1c af 9253 9269 xor ah, ah ; 30 e4 9254 9270 or dx, ax ; 09 c2 9255 9271 mov word [bp+01ch], dx ; 89 56 1c 9256 9272 cmp dx, 03c00h ; 81 fa 00 3c 9257 jbe short 067 38h ; 76 059273 jbe short 067a2h ; 76 05 9258 9274 mov word [bp+01ch], 03c00h ; c7 46 1c 00 3c 9259 9275 mov ax, strict word 00035h ; b8 35 00 9260 call 016ach ; e8 6eaf9276 call 016ach ; e8 04 af 9261 9277 movzx dx, al ; 0f b6 d0 9262 9278 sal dx, 008h ; c1 e2 08 9263 9279 mov ax, strict word 00034h ; b8 34 00 9264 call 016ach ; e8 62 af9280 call 016ach ; e8 f8 ae 9265 9281 xor ah, ah ; 30 e4 9266 9282 or dx, ax ; 09 c2 … … 9269 9285 mov word [bp+020h], ax ; 89 46 20 9270 9286 mov word [bp+014h], dx ; 89 56 14 9271 jmp short 067 86h ; eb 2a9272 mov bx, 00d 8ah ; bb 8a0d9287 jmp short 067f0h ; eb 2a 9288 mov bx, 00da2h ; bb a2 0d 9273 9289 mov cx, ds ; 8c d9 9274 9290 mov ax, strict word 00004h ; b8 04 00 9275 call 01931h ; e8 cab19291 call 01931h ; e8 60 b1 9276 9292 push word [bp+014h] ; ff 76 14 9277 9293 push word [bp+020h] ; ff 76 20 9278 9294 push 008bch ; 68 bc 08 9279 9295 push strict byte 00004h ; 6a 04 9280 call 01972h ; e8 fdb19296 call 01972h ; e8 93 b1 9281 9297 add sp, strict byte 00008h ; 83 c4 08 9282 9298 or byte [bp+028h], 001h ; 80 4e 28 01 … … 9289 9305 pop bp ; 5d 9290 9306 retn ; c3 9291 _inv_op_handler: ; 0xf67 8cLB 0x1959307 _inv_op_handler: ; 0xf67f6 LB 0x195 9292 9308 push bp ; 55 9293 9309 mov bp, sp ; 89 e5 … … 9298 9314 les bx, [bp+018h] ; c4 5e 18 9299 9315 cmp byte [es:bx], 0f0h ; 26 80 3f f0 9300 jne short 06 7a2h ; 75 069316 jne short 0680ch ; 75 06 9301 9317 inc word [bp+018h] ; ff 46 18 9302 jmp near 069 1ah ; e9 78 019318 jmp near 06984h ; e9 78 01 9303 9319 cmp word [es:bx], 0050fh ; 26 81 3f 0f 05 9304 jne near 069 16h ; 0f 85 6b 019320 jne near 06980h ; 0f 85 6b 01 9305 9321 mov si, 00800h ; be 00 08 9306 9322 xor ax, ax ; 31 c0 … … 9330 9346 sal ax, 1 ; d1 e0 9331 9347 rcl dx, 1 ; d1 d2 9332 loop 06 7fbh ; e2 fa9348 loop 06865h ; e2 fa 9333 9349 cmp bx, dx ; 39 d3 9334 jne short 068 09h ; 75 049350 jne short 06873h ; 75 04 9335 9351 cmp di, ax ; 39 c7 9336 je short 068 0eh ; 74 059352 je short 06878h ; 74 05 9337 9353 mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 9338 9354 mov es, [bp-006h] ; 8e 46 fa … … 9344 9360 sal ax, 1 ; d1 e0 9345 9361 rcl dx, 1 ; d1 d2 9346 loop 068 23h ; e2 fa9362 loop 0688dh ; e2 fa 9347 9363 cmp di, dx ; 39 d7 9348 jne short 068 31h ; 75 049364 jne short 0689bh ; 75 04 9349 9365 cmp bx, ax ; 39 c3 9350 je short 068 35h ; 74 049366 je short 0689fh ; 74 04 9351 9367 or byte [bp-008h], 002h ; 80 4e f8 02 9352 9368 push strict byte 00000h ; 6a 00 … … 9398 9414 mov ax, strict word 00008h ; b8 08 00 9399 9415 test cx, strict word 00001h ; f7 c1 01 00 9400 je near 06 8d3h ; 0f 84 02 009416 je near 0693dh ; 0f 84 02 00 9401 9417 mov es, ax ; 8e c0 9402 9418 test cx, strict word 00002h ; f7 c1 02 00 9403 je near 06 8fbh ; 0f 84 20 009419 je near 06965h ; 0f 84 20 00 9404 9420 mov bx, word [word ss:00000h] ; 36 8b 1e 00 00 9405 9421 mov word [word ss:00008h], bx ; 36 89 1e 08 00 … … 9418 9434 mov ss, [word ss:00020h] ; 36 8e 16 20 00 9419 9435 iret ; cf 9420 jmp short 069 1ah ; eb 049436 jmp short 06984h ; eb 04 9421 9437 sti ; fb 9422 9438 hlt ; f4 9423 jmp short 069 17h ; eb fd9439 jmp short 06981h ; eb fd 9424 9440 lea sp, [bp-004h] ; 8d 66 fc 9425 9441 pop di ; 5f … … 9427 9443 pop bp ; 5d 9428 9444 retn ; c3 9429 init_rtc_: ; 0xf69 21LB 0x289445 init_rtc_: ; 0xf698b LB 0x28 9430 9446 push bp ; 55 9431 9447 mov bp, sp ; 89 e5 … … 9433 9449 mov dx, strict word 00026h ; ba 26 00 9434 9450 mov ax, strict word 0000ah ; b8 0a 00 9435 call 016c9h ; e8 9bad9451 call 016c9h ; e8 31 ad 9436 9452 mov dx, strict word 00002h ; ba 02 00 9437 9453 mov ax, strict word 0000bh ; b8 0b 00 9438 call 016c9h ; e8 92ad9454 call 016c9h ; e8 28 ad 9439 9455 mov ax, strict word 0000ch ; b8 0c 00 9440 call 016ach ; e8 6fad9456 call 016ach ; e8 05 ad 9441 9457 mov ax, strict word 0000dh ; b8 0d 00 9442 call 016ach ; e8 69 ad9458 call 016ach ; e8 ff ac 9443 9459 lea sp, [bp-002h] ; 8d 66 fe 9444 9460 pop dx ; 5a 9445 9461 pop bp ; 5d 9446 9462 retn ; c3 9447 rtc_updating_: ; 0xf69 49LB 0x219463 rtc_updating_: ; 0xf69b3 LB 0x21 9448 9464 push bp ; 55 9449 9465 mov bp, sp ; 89 e5 … … 9451 9467 mov dx, 061a8h ; ba a8 61 9452 9468 dec dx ; 4a 9453 je short 069 61h ; 74 0e9469 je short 069cbh ; 74 0e 9454 9470 mov ax, strict word 0000ah ; b8 0a 00 9455 call 016ach ; e8 53 ad9471 call 016ach ; e8 e9 ac 9456 9472 test AL, strict byte 080h ; a8 80 9457 jne short 069 50h ; 75 f39473 jne short 069bah ; 75 f3 9458 9474 xor ax, ax ; 31 c0 9459 jmp short 069 64h ; eb 039475 jmp short 069ceh ; eb 03 9460 9476 mov ax, strict word 00001h ; b8 01 00 9461 9477 lea sp, [bp-002h] ; 8d 66 fe … … 9463 9479 pop bp ; 5d 9464 9480 retn ; c3 9465 _int70_function: ; 0xf69 6aLB 0xbe9481 _int70_function: ; 0xf69d4 LB 0xbe 9466 9482 push bp ; 55 9467 9483 mov bp, sp ; 89 e5 … … 9469 9485 push ax ; 50 9470 9486 mov ax, strict word 0000bh ; b8 0b 00 9471 call 016ach ; e8 37 ad9487 call 016ach ; e8 cd ac 9472 9488 mov dl, al ; 88 c2 9473 9489 mov byte [bp-004h], al ; 88 46 fc 9474 9490 mov ax, strict word 0000ch ; b8 0c 00 9475 call 016ach ; e8 2c ad9491 call 016ach ; e8 c2 ac 9476 9492 mov dh, al ; 88 c6 9477 9493 test dl, 060h ; f6 c2 60 9478 je near 06a 0fh ; 0f 84 86 009494 je near 06a79h ; 0f 84 86 00 9479 9495 test AL, strict byte 020h ; a8 20 9480 je short 069 91h ; 74 049496 je short 069fbh ; 74 04 9481 9497 sti ; fb 9482 9498 int 04ah ; cd 4a 9483 9499 cli ; fa 9484 9500 test dh, 040h ; f6 c6 40 9485 je near 06a 0fh ; 0f 84 77 009501 je near 06a79h ; 0f 84 77 00 9486 9502 mov dx, 000a0h ; ba a0 00 9487 9503 mov ax, strict word 00040h ; b8 40 00 9488 call 01650h ; e8 afac9504 call 01650h ; e8 45 ac 9489 9505 test al, al ; 84 c0 9490 je short 06a 0fh ; 74 6a9506 je short 06a79h ; 74 6a 9491 9507 mov dx, 0009ch ; ba 9c 00 9492 9508 mov ax, strict word 00040h ; b8 40 00 9493 call 01688h ; e8 daac9509 call 01688h ; e8 70 ac 9494 9510 test dx, dx ; 85 d2 9495 jne short 06 9fbh ; 75 499511 jne short 06a65h ; 75 49 9496 9512 cmp ax, 003d1h ; 3d d1 03 9497 jnc short 06 9fbh ; 73 449513 jnc short 06a65h ; 73 44 9498 9514 mov dx, 00098h ; ba 98 00 9499 9515 mov ax, strict word 00040h ; b8 40 00 9500 call 0166ch ; e8 acac9516 call 0166ch ; e8 42 ac 9501 9517 mov si, ax ; 89 c6 9502 9518 mov dx, 0009ah ; ba 9a 00 9503 9519 mov ax, strict word 00040h ; b8 40 00 9504 call 0166ch ; e8 a1ac9520 call 0166ch ; e8 37 ac 9505 9521 mov cx, ax ; 89 c1 9506 9522 xor bx, bx ; 31 db 9507 9523 mov dx, 000a0h ; ba a0 00 9508 9524 mov ax, strict word 00040h ; b8 40 00 9509 call 0165eh ; e8 86ac9525 call 0165eh ; e8 1c ac 9510 9526 mov al, byte [bp-004h] ; 8a 46 fc 9511 9527 and AL, strict byte 037h ; 24 37 9512 9528 movzx dx, al ; 0f b6 d0 9513 9529 mov ax, strict word 0000bh ; b8 0b 00 9514 call 016c9h ; e8 e3ac9530 call 016c9h ; e8 79 ac 9515 9531 mov dx, cx ; 89 ca 9516 9532 mov ax, si ; 89 f0 9517 call 01650h ; e8 63 ac9533 call 01650h ; e8 f9 ab 9518 9534 or AL, strict byte 080h ; 0c 80 9519 9535 movzx bx, al ; 0f b6 d8 9520 9536 mov dx, cx ; 89 ca 9521 9537 mov ax, si ; 89 f0 9522 call 0165eh ; e8 65 ac9523 jmp short 06a 0fh ; eb 149538 call 0165eh ; e8 fb ab 9539 jmp short 06a79h ; eb 14 9524 9540 mov bx, ax ; 89 c3 9525 9541 add bx, 0fc2fh ; 81 c3 2f fc … … 9528 9544 mov dx, 0009ch ; ba 9c 00 9529 9545 mov ax, strict word 00040h ; b8 40 00 9530 call 0169ah ; e8 8bac9531 call 0e03 bh ; e8 29 769546 call 0169ah ; e8 21 ac 9547 call 0e030h ; e8 b4 75 9532 9548 lea sp, [bp-002h] ; 8d 66 fe 9533 9549 pop si ; 5e 9534 9550 pop bp ; 5d 9535 9551 retn ; c3 9536 aas ; 3f9537 push strict byte 0 0068h ; 6a 689538 push strict byte 0 ff8dh ; 6a 8d9539 push strict byte 0ffbfh ; 6a bf9540 push strict byte 0000eh ; 6a 0e9541 imul ax, word [bp+06bh], strict byte 0ff89h ; 6b 46 6b 899542 i mul sp, ax, strict byte 0006bh ; 6b e0 6b9543 _int1a_function: ; 0xf6a 28LB 0x1c89552 test ax, 0d26ah ; a9 6a d2 9553 push strict byte 0fff7h ; 6a f7 9554 push strict byte 00029h ; 6a 29 9555 imul di, word [bx+si+06bh], strict byte 0ffb0h ; 6b 78 6b b0 9556 imul si, bx, strict byte 0006bh ; 6b f3 6b 9557 dec dx ; 4a 9558 insb ; 6c 9559 _int1a_function: ; 0xf6a92 LB 0x1c8 9544 9560 push bp ; 55 9545 9561 mov bp, sp ; 89 e5 … … 9547 9563 mov al, byte [bp+013h] ; 8a 46 13 9548 9564 cmp AL, strict byte 007h ; 3c 07 9549 jnbe near 06a 64h ; 0f 87 2f 009565 jnbe near 06aceh ; 0f 87 2f 00 9550 9566 movzx bx, al ; 0f b6 d8 9551 9567 add bx, bx ; 01 db 9552 jmp word [cs:bx+06a 18h] ; 2e ff a7 186a9568 jmp word [cs:bx+06a82h] ; 2e ff a7 82 6a 9553 9569 cli ; fa 9554 9570 mov bx, 0046eh ; bb 6e 04 … … 9581 9597 sti ; fb 9582 9598 mov byte [bp+013h], 000h ; c6 46 13 00 9583 jmp short 06a 64h ; eb d79584 call 069 49h ; e8 b9 fe9599 jmp short 06aceh ; eb d7 9600 call 069b3h ; e8 b9 fe 9585 9601 test ax, ax ; 85 c0 9586 je short 06 a96h ; 74 029587 jmp short 06a 64h ; eb ce9602 je short 06b00h ; 74 02 9603 jmp short 06aceh ; eb ce 9588 9604 xor ax, ax ; 31 c0 9589 call 016ach ; e8 11 ac9605 call 016ach ; e8 a7 ab 9590 9606 mov byte [bp+00fh], al ; 88 46 0f 9591 9607 mov ax, strict word 00002h ; b8 02 00 9592 call 016ach ; e8 08 ac9608 call 016ach ; e8 9e ab 9593 9609 mov byte [bp+010h], al ; 88 46 10 9594 9610 mov ax, strict word 00004h ; b8 04 00 9595 call 016ach ; e8 ffab9611 call 016ach ; e8 95 ab 9596 9612 mov bl, al ; 88 c3 9597 9613 mov byte [bp+011h], al ; 88 46 11 9598 9614 mov ax, strict word 0000bh ; b8 0b 00 9599 call 016ach ; e8 f4ab9615 call 016ach ; e8 8a ab 9600 9616 and AL, strict byte 001h ; 24 01 9601 9617 mov byte [bp+00eh], al ; 88 46 0e 9602 jmp short 06b 04h ; eb 459603 call 069 49h ; e8 87 fe9618 jmp short 06b6eh ; eb 45 9619 call 069b3h ; e8 87 fe 9604 9620 test ax, ax ; 85 c0 9605 je short 06 ac9h ; 74 039606 call 069 21h ; e8 58 fe9621 je short 06b33h ; 74 03 9622 call 0698bh ; e8 58 fe 9607 9623 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 9608 9624 xor ax, ax ; 31 c0 9609 call 016c9h ; e8 f7ab9625 call 016c9h ; e8 8d ab 9610 9626 movzx dx, byte [bp+010h] ; 0f b6 56 10 9611 9627 mov ax, strict word 00002h ; b8 02 00 9612 call 016c9h ; e8 edab9628 call 016c9h ; e8 83 ab 9613 9629 movzx dx, byte [bp+011h] ; 0f b6 56 11 9614 9630 mov ax, strict word 00004h ; b8 04 00 9615 call 016c9h ; e8 e3ab9631 call 016c9h ; e8 79 ab 9616 9632 mov ax, strict word 0000bh ; b8 0b 00 9617 call 016ach ; e8 c0ab9633 call 016ach ; e8 56 ab 9618 9634 mov bl, al ; 88 c3 9619 9635 and bl, 060h ; 80 e3 60 … … 9624 9640 movzx dx, bl ; 0f b6 d3 9625 9641 mov ax, strict word 0000bh ; b8 0b 00 9626 call 016c9h ; e8 c5ab9642 call 016c9h ; e8 5b ab 9627 9643 mov byte [bp+013h], 000h ; c6 46 13 00 9628 9644 mov byte [bp+012h], bl ; 88 5e 12 9629 jmp near 06a 64h ; e9 56 ff9645 jmp near 06aceh ; e9 56 ff 9630 9646 mov byte [bp+013h], 000h ; c6 46 13 00 9631 call 069 49h ; e8 34 fe9647 call 069b3h ; e8 34 fe 9632 9648 test ax, ax ; 85 c0 9633 je short 06b 1ch ; 74 039634 jmp near 06a 64h ; e9 48 ff9649 je short 06b86h ; 74 03 9650 jmp near 06aceh ; e9 48 ff 9635 9651 mov ax, strict word 00009h ; b8 09 00 9636 call 016ach ; e8 8aab9652 call 016ach ; e8 20 ab 9637 9653 mov byte [bp+010h], al ; 88 46 10 9638 9654 mov ax, strict word 00008h ; b8 08 00 9639 call 016ach ; e8 81ab9655 call 016ach ; e8 17 ab 9640 9656 mov byte [bp+00fh], al ; 88 46 0f 9641 9657 mov ax, strict word 00007h ; b8 07 00 9642 call 016ach ; e8 78ab9658 call 016ach ; e8 0e ab 9643 9659 mov byte [bp+00eh], al ; 88 46 0e 9644 9660 mov ax, strict word 00032h ; b8 32 00 9645 call 016ach ; e8 6fab9661 call 016ach ; e8 05 ab 9646 9662 mov byte [bp+011h], al ; 88 46 11 9647 9663 mov byte [bp+012h], al ; 88 46 12 9648 jmp near 06a 64h ; e9 1e ff9649 call 069 49h ; e8 00 fe9664 jmp near 06aceh ; e9 1e ff 9665 call 069b3h ; e8 00 fe 9650 9666 test ax, ax ; 85 c0 9651 je short 06b 53h ; 74 069652 call 069 21h ; e8 d1 fd9653 jmp near 06a 64h ; e9 11 ff9667 je short 06bbdh ; 74 06 9668 call 0698bh ; e8 d1 fd 9669 jmp near 06aceh ; e9 11 ff 9654 9670 movzx dx, byte [bp+010h] ; 0f b6 56 10 9655 9671 mov ax, strict word 00009h ; b8 09 00 9656 call 016c9h ; e8 6cab9672 call 016c9h ; e8 02 ab 9657 9673 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 9658 9674 mov ax, strict word 00008h ; b8 08 00 9659 call 016c9h ; e8 62 ab9675 call 016c9h ; e8 f8 aa 9660 9676 movzx dx, byte [bp+00eh] ; 0f b6 56 0e 9661 9677 mov ax, strict word 00007h ; b8 07 00 9662 call 016c9h ; e8 58 ab9678 call 016c9h ; e8 ee aa 9663 9679 movzx dx, byte [bp+011h] ; 0f b6 56 11 9664 9680 mov ax, strict word 00032h ; b8 32 00 9665 call 016c9h ; e8 4e ab9681 call 016c9h ; e8 e4 aa 9666 9682 mov ax, strict word 0000bh ; b8 0b 00 9667 call 016ach ; e8 2b ab9683 call 016ach ; e8 c1 aa 9668 9684 mov bl, al ; 88 c3 9669 9685 and bl, 07fh ; 80 e3 7f 9670 jmp near 06 afbh ; e9 72 ff9686 jmp near 06b65h ; e9 72 ff 9671 9687 mov ax, strict word 0000bh ; b8 0b 00 9672 call 016ach ; e8 1d ab9688 call 016ach ; e8 b3 aa 9673 9689 mov bl, al ; 88 c3 9674 9690 mov word [bp+012h], strict word 00000h ; c7 46 12 00 00 9675 9691 test AL, strict byte 020h ; a8 20 9676 je short 06 b9dh ; 74 039677 jmp near 06a 64h ; e9 c7 fe9678 call 069 49h ; e8 a9 fd9692 je short 06c07h ; 74 03 9693 jmp near 06aceh ; e9 c7 fe 9694 call 069b3h ; e8 a9 fd 9679 9695 test ax, ax ; 85 c0 9680 je short 06 ba7h ; 74 039681 call 069 21h ; e8 7a fd9696 je short 06c11h ; 74 03 9697 call 0698bh ; e8 7a fd 9682 9698 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 9683 9699 mov ax, strict word 00001h ; b8 01 00 9684 call 016c9h ; e8 18 ab9700 call 016c9h ; e8 ae aa 9685 9701 movzx dx, byte [bp+010h] ; 0f b6 56 10 9686 9702 mov ax, strict word 00003h ; b8 03 00 9687 call 016c9h ; e8 0e ab9703 call 016c9h ; e8 a4 aa 9688 9704 movzx dx, byte [bp+011h] ; 0f b6 56 11 9689 9705 mov ax, strict word 00005h ; b8 05 00 9690 call 016c9h ; e8 04 ab9706 call 016c9h ; e8 9a aa 9691 9707 mov dx, 000a1h ; ba a1 00 9692 9708 in AL, DX ; ec … … 9700 9716 movzx dx, al ; 0f b6 d0 9701 9717 mov ax, strict word 0000bh ; b8 0b 00 9702 call 016c9h ; e8 ecaa9703 jmp near 06a 64h ; e9 84 fe9718 call 016c9h ; e8 82 aa 9719 jmp near 06aceh ; e9 84 fe 9704 9720 mov ax, strict word 0000bh ; b8 0b 00 9705 call 016ach ; e8 c6aa9721 call 016ach ; e8 5c aa 9706 9722 mov bl, al ; 88 c3 9707 9723 and AL, strict byte 057h ; 24 57 9708 9724 movzx dx, al ; 0f b6 d0 9709 jmp near 06 afeh ; e9 0e ff9710 send_to_mouse_ctrl_: ; 0xf6 bf0LB 0x349725 jmp near 06b68h ; e9 0e ff 9726 send_to_mouse_ctrl_: ; 0xf6c5a LB 0x34 9711 9727 push bp ; 55 9712 9728 mov bp, sp ; 89 e5 … … 9719 9735 ; sub ah, ah ; 2a e4 9720 9736 test AL, strict byte 002h ; a8 02 9721 je short 06c 0fh ; 74 0e9737 je short 06c79h ; 74 0e 9722 9738 push 008f6h ; 68 f6 08 9723 push 011 52h ; 68 52119739 push 0116ah ; 68 6a 11 9724 9740 push strict byte 00007h ; 6a 07 9725 call 01972h ; e8 66 ad9741 call 01972h ; e8 fc ac 9726 9742 add sp, strict byte 00006h ; 83 c4 06 9727 9743 mov AL, strict byte 0d4h ; b0 d4 … … 9737 9753 pop bp ; 5d 9738 9754 retn ; c3 9739 get_mouse_data_: ; 0xf6c 24LB 0x3b9755 get_mouse_data_: ; 0xf6c8e LB 0x3b 9740 9756 push bp ; 55 9741 9757 mov bp, sp ; 89 e5 … … 9751 9767 and ax, strict word 00021h ; 25 21 00 9752 9768 cmp ax, strict word 00021h ; 3d 21 00 9753 je short 06c 45h ; 74 079769 je short 06cafh ; 74 07 9754 9770 test cx, cx ; 85 c9 9755 je short 06c 45h ; 74 039771 je short 06cafh ; 74 03 9756 9772 dec cx ; 49 9757 jmp short 06c 30h ; eb eb9773 jmp short 06c9ah ; eb eb 9758 9774 test cx, cx ; 85 c9 9759 jne short 06c 4dh ; 75 049775 jne short 06cb7h ; 75 04 9760 9776 mov AL, strict byte 001h ; b0 01 9761 jmp short 06c 58h ; eb 0b9777 jmp short 06cc2h ; eb 0b 9762 9778 mov dx, strict word 00060h ; ba 60 00 9763 9779 in AL, DX ; ec … … 9771 9787 pop bp ; 5d 9772 9788 retn ; c3 9773 set_kbd_command_byte_: ; 0xf6c 5fLB 0x329789 set_kbd_command_byte_: ; 0xf6cc9 LB 0x32 9774 9790 push bp ; 55 9775 9791 mov bp, sp ; 89 e5 … … 9782 9798 ; sub ah, ah ; 2a e4 9783 9799 test AL, strict byte 002h ; a8 02 9784 je short 06c 7eh ; 74 0e9800 je short 06ce8h ; 74 0e 9785 9801 push 00900h ; 68 00 09 9786 push 011 52h ; 68 52119802 push 0116ah ; 68 6a 11 9787 9803 push strict byte 00007h ; 6a 07 9788 call 01972h ; e8 f7ac9804 call 01972h ; e8 8d ac 9789 9805 add sp, strict byte 00006h ; 83 c4 06 9790 9806 mov AL, strict byte 060h ; b0 60 … … 9799 9815 pop bp ; 5d 9800 9816 retn ; c3 9801 _int74_function: ; 0xf6c 91LB 0xca9817 _int74_function: ; 0xf6cfb LB 0xca 9802 9818 push bp ; 55 9803 9819 mov bp, sp ; 89 e5 … … 9805 9821 mov dx, strict word 0000eh ; ba 0e 00 9806 9822 mov ax, strict word 00040h ; b8 40 00 9807 call 0166ch ; e8 cca99823 call 0166ch ; e8 62 a9 9808 9824 mov cx, ax ; 89 c1 9809 9825 mov word [bp+004h], strict word 00000h ; c7 46 04 00 00 … … 9814 9830 and AL, strict byte 021h ; 24 21 9815 9831 cmp AL, strict byte 021h ; 3c 21 9816 jne near 06d 47h ; 0f 85 92 009832 jne near 06db1h ; 0f 85 92 00 9817 9833 mov dx, strict word 00060h ; ba 60 00 9818 9834 in AL, DX ; ec … … 9822 9838 mov dx, strict word 00026h ; ba 26 00 9823 9839 mov ax, cx ; 89 c8 9824 call 01650h ; e8 8ba99840 call 01650h ; e8 21 a9 9825 9841 mov byte [bp-006h], al ; 88 46 fa 9826 9842 mov dx, strict word 00027h ; ba 27 00 9827 9843 mov ax, cx ; 89 c8 9828 call 01650h ; e8 80a99844 call 01650h ; e8 16 a9 9829 9845 mov byte [bp-008h], al ; 88 46 f8 9830 9846 test AL, strict byte 080h ; a8 80 9831 je short 06d 47h ; 74 709847 je short 06db1h ; 74 70 9832 9848 mov al, byte [bp-008h] ; 8a 46 f8 9833 9849 and AL, strict byte 007h ; 24 07 … … 9840 9856 add dx, strict byte 00028h ; 83 c2 28 9841 9857 mov ax, cx ; 89 c8 9842 call 0165eh ; e8 6aa99858 call 0165eh ; e8 00 a9 9843 9859 mov al, byte [bp-004h] ; 8a 46 fc 9844 9860 cmp al, byte [bp-002h] ; 3a 46 fe 9845 jc short 06d 38h ; 72 3c9861 jc short 06da2h ; 72 3c 9846 9862 mov dx, strict word 00028h ; ba 28 00 9847 9863 mov ax, cx ; 89 c8 9848 call 01650h ; e8 4c a99864 call 01650h ; e8 e2 a8 9849 9865 xor ah, ah ; 30 e4 9850 9866 mov word [bp+00ch], ax ; 89 46 0c 9851 9867 mov dx, strict word 00029h ; ba 29 00 9852 9868 mov ax, cx ; 89 c8 9853 call 01650h ; e8 3f a99869 call 01650h ; e8 d5 a8 9854 9870 xor ah, ah ; 30 e4 9855 9871 mov word [bp+00ah], ax ; 89 46 0a 9856 9872 mov dx, strict word 0002ah ; ba 2a 00 9857 9873 mov ax, cx ; 89 c8 9858 call 01650h ; e8 32 a99874 call 01650h ; e8 c8 a8 9859 9875 xor ah, ah ; 30 e4 9860 9876 mov word [bp+008h], ax ; 89 46 08 … … 9863 9879 mov byte [bp-006h], ah ; 88 66 fa 9864 9880 test byte [bp-008h], 080h ; f6 46 f8 80 9865 je short 06d 3bh ; 74 0a9881 je short 06da5h ; 74 0a 9866 9882 mov word [bp+004h], strict word 00001h ; c7 46 04 01 00 9867 jmp short 06d 3bh ; eb 039883 jmp short 06da5h ; eb 03 9868 9884 inc byte [bp-006h] ; fe 46 fa 9869 9885 movzx bx, byte [bp-006h] ; 0f b6 5e fa 9870 9886 mov dx, strict word 00026h ; ba 26 00 9871 9887 mov ax, cx ; 89 c8 9872 call 0165eh ; e8 17 a99888 call 0165eh ; e8 ad a8 9873 9889 mov sp, bp ; 89 ec 9874 9890 pop bp ; 5d 9875 9891 retn ; c3 9876 lahf ; 9f 9877 insw ; 6d 9878 adc ax, 0986eh ; 15 6e 98 9892 or word [bp+07fh], bp ; 09 6e 7f 9879 9893 outsb ; 6e 9880 sub word [bx-069h], bp ; 29 6f 979894 add ch, byte [bx-06dh] ; 02 6f 93 9881 9895 outsw ; 6f 9882 jmp short 06dc4h ; eb 6d 9883 mov di, 0846fh ; bf 6f 84 9896 add word [bx+si+055h], si ; 01 70 55 9897 outsb ; 6e 9898 sub word [bx+si-012h], si ; 29 70 ee 9884 9899 db 070h 9885 _int15_function_mouse: ; 0xf6d 5bLB 0x38b9900 _int15_function_mouse: ; 0xf6dc5 LB 0x38b 9886 9901 push bp ; 55 9887 9902 mov bp, sp ; 89 e5 … … 9890 9905 mov dx, strict word 0000eh ; ba 0e 00 9891 9906 mov ax, strict word 00040h ; b8 40 00 9892 call 0166ch ; e8 01 a99907 call 0166ch ; e8 97 a8 9893 9908 mov cx, ax ; 89 c1 9894 9909 cmp byte [bp+012h], 007h ; 80 7e 12 07 9895 jbe short 06d 7eh ; 76 0b9910 jbe short 06de8h ; 76 0b 9896 9911 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 9897 9912 mov byte [bp+013h], 001h ; c6 46 13 01 9898 jmp near 07 0e0h ; e9 62 039913 jmp near 0714ah ; e9 62 03 9899 9914 mov ax, strict word 00065h ; b8 65 00 9900 call 06c 5fh ; e8 db fe9915 call 06cc9h ; e8 db fe 9901 9916 and word [bp+018h], strict byte 0fffeh ; 83 66 18 fe 9902 9917 mov byte [bp+013h], 000h ; c6 46 13 00 9903 9918 mov al, byte [bp+012h] ; 8a 46 12 9904 9919 cmp AL, strict byte 007h ; 3c 07 9905 jnbe near 07 0c7h ; 0f 87 32 039920 jnbe near 07131h ; 0f 87 32 03 9906 9921 movzx si, al ; 0f b6 f0 9907 9922 add si, si ; 01 f6 9908 jmp word [cs:si+06d 4bh] ; 2e ff a4 4b6d9923 jmp word [cs:si+06db5h] ; 2e ff a4 b5 6d 9909 9924 cmp byte [bp+00dh], 001h ; 80 7e 0d 01 9910 jnbe near 07 0d2h ; 0f 87 2b 039925 jnbe near 0713ch ; 0f 87 2b 03 9911 9926 mov dx, strict word 00027h ; ba 27 00 9912 9927 mov ax, cx ; 89 c8 9913 call 01650h ; e8 a1a89928 call 01650h ; e8 37 a8 9914 9929 test AL, strict byte 080h ; a8 80 9915 jne short 06 dbeh ; 75 0b9930 jne short 06e28h ; 75 0b 9916 9931 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 9917 9932 mov byte [bp+013h], 005h ; c6 46 13 05 9918 jmp near 07 0dah ; e9 1c 039933 jmp near 07144h ; e9 1c 03 9919 9934 cmp byte [bp+00dh], 000h ; 80 7e 0d 00 9920 9935 db 00fh, 094h, 0c0h … … 9922 9937 add AL, strict byte 0f4h ; 04 f4 9923 9938 xor ah, ah ; 30 e4 9924 call 06 bf0h ; e8 24 fe9939 call 06c5ah ; e8 24 fe 9925 9940 test al, al ; 84 c0 9926 jne near 070 60h ; 0f 85 8e 029941 jne near 070cah ; 0f 85 8e 02 9927 9942 mov dx, ss ; 8c d2 9928 9943 lea ax, [bp-008h] ; 8d 46 f8 9929 call 06c 24h ; e8 4a fe9944 call 06c8eh ; e8 4a fe 9930 9945 test al, al ; 84 c0 9931 je near 07 0dah ; 0f 84 fa 029946 je near 07144h ; 0f 84 fa 02 9932 9947 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 9933 jne near 070 60h ; 0f 85 78 029934 jmp near 07 0dah ; e9 ef 029948 jne near 070cah ; 0f 85 78 02 9949 jmp near 07144h ; e9 ef 02 9935 9950 mov al, byte [bp+00dh] ; 8a 46 0d 9936 9951 cmp AL, strict byte 001h ; 3c 01 9937 jc short 06 df6h ; 72 049952 jc short 06e60h ; 72 04 9938 9953 cmp AL, strict byte 008h ; 3c 08 9939 jbe short 06 df9h ; 76 039940 jmp near 06f 8ch ; e9 93 019954 jbe short 06e63h ; 76 03 9955 jmp near 06ff6h ; e9 93 01 9941 9956 mov dx, strict word 00027h ; ba 27 00 9942 9957 mov ax, cx ; 89 c8 9943 call 01650h ; e8 4f a89958 call 01650h ; e8 e5 a7 9944 9959 mov ah, byte [bp+00dh] ; 8a 66 0d 9945 9960 db 0feh, 0cch … … 9950 9965 mov dx, strict word 00027h ; ba 27 00 9951 9966 mov ax, cx ; 89 c8 9952 call 0165eh ; e8 49 a89967 call 0165eh ; e8 df a7 9953 9968 mov dx, strict word 00026h ; ba 26 00 9954 9969 mov ax, cx ; 89 c8 9955 call 01650h ; e8 33 a89970 call 01650h ; e8 c9 a7 9956 9971 and AL, strict byte 0f8h ; 24 f8 9957 9972 movzx bx, al ; 0f b6 d8 9958 9973 mov dx, strict word 00026h ; ba 26 00 9959 9974 mov ax, cx ; 89 c8 9960 call 0165eh ; e8 34 a89975 call 0165eh ; e8 ca a7 9961 9976 mov ax, 000ffh ; b8 ff 00 9962 call 06 bf0h ; e8 c0 fd9977 call 06c5ah ; e8 c0 fd 9963 9978 test al, al ; 84 c0 9964 jne near 070 60h ; 0f 85 2a 029979 jne near 070cah ; 0f 85 2a 02 9965 9980 mov dx, ss ; 8c d2 9966 9981 lea ax, [bp-004h] ; 8d 46 fc 9967 call 06c 24h ; e8 e6 fd9982 call 06c8eh ; e8 e6 fd 9968 9983 mov cl, al ; 88 c1 9969 9984 cmp byte [bp-004h], 0feh ; 80 7e fc fe 9970 jne short 06e 51h ; 75 0b9985 jne short 06ebbh ; 75 0b 9971 9986 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 9972 9987 mov byte [bp+013h], 004h ; c6 46 13 04 9973 jmp near 07 0dah ; e9 89 029988 jmp near 07144h ; e9 89 02 9974 9989 cmp byte [bp-004h], 0fah ; 80 7e fc fa 9975 je short 06e 67h ; 74 109990 je short 06ed1h ; 74 10 9976 9991 movzx ax, byte [bp-004h] ; 0f b6 46 fc 9977 9992 push ax ; 50 9978 9993 push 0090bh ; 68 0b 09 9979 9994 push strict byte 00007h ; 6a 07 9980 call 01972h ; e8 0e ab9995 call 01972h ; e8 a4 aa 9981 9996 add sp, strict byte 00006h ; 83 c4 06 9982 9997 test cl, cl ; 84 c9 9983 jne near 070 60h ; 0f 85 f3 019998 jne near 070cah ; 0f 85 f3 01 9984 9999 mov dx, ss ; 8c d2 9985 10000 lea ax, [bp-008h] ; 8d 46 f8 9986 call 06c 24h ; e8 af fd10001 call 06c8eh ; e8 af fd 9987 10002 test al, al ; 84 c0 9988 jne near 070 60h ; 0f 85 e5 0110003 jne near 070cah ; 0f 85 e5 01 9989 10004 mov dx, ss ; 8c d2 9990 10005 lea ax, [bp-006h] ; 8d 46 fa 9991 call 06c 24h ; e8 a1 fd10006 call 06c8eh ; e8 a1 fd 9992 10007 test al, al ; 84 c0 9993 jne near 070 60h ; 0f 85 d7 0110008 jne near 070cah ; 0f 85 d7 01 9994 10009 mov al, byte [bp-008h] ; 8a 46 f8 9995 10010 mov byte [bp+00ch], al ; 88 46 0c 9996 10011 mov al, byte [bp-006h] ; 8a 46 fa 9997 10012 mov byte [bp+00dh], al ; 88 46 0d 9998 jmp near 07 0dah ; e9 42 0210013 jmp near 07144h ; e9 42 02 9999 10014 mov al, byte [bp+00dh] ; 8a 46 0d 10000 10015 cmp AL, strict byte 003h ; 3c 03 10001 jc short 06 eafh ; 72 1010002 jbe short 06 ecdh ; 76 2c10016 jc short 06f19h ; 72 10 10017 jbe short 06f37h ; 76 2c 10003 10018 cmp AL, strict byte 006h ; 3c 06 10004 je short 06 edfh ; 74 3a10019 je short 06f49h ; 74 3a 10005 10020 cmp AL, strict byte 005h ; 3c 05 10006 je short 06 ed9h ; 74 3010021 je short 06f43h ; 74 30 10007 10022 cmp AL, strict byte 004h ; 3c 04 10008 je short 06 ed3h ; 74 2610009 jmp short 06 ee5h ; eb 3610023 je short 06f3dh ; 74 26 10024 jmp short 06f4fh ; eb 36 10010 10025 cmp AL, strict byte 002h ; 3c 02 10011 je short 06 ec7h ; 74 1410026 je short 06f31h ; 74 14 10012 10027 cmp AL, strict byte 001h ; 3c 01 10013 je short 06 ec1h ; 74 0a10028 je short 06f2bh ; 74 0a 10014 10029 test al, al ; 84 c0 10015 jne short 06 ee5h ; 75 2a10030 jne short 06f4fh ; 75 2a 10016 10031 mov byte [bp-008h], 00ah ; c6 46 f8 0a 10017 jmp short 06 ee9h ; eb 2810032 jmp short 06f53h ; eb 28 10018 10033 mov byte [bp-008h], 014h ; c6 46 f8 14 10019 jmp short 06 ee9h ; eb 2210034 jmp short 06f53h ; eb 22 10020 10035 mov byte [bp-008h], 028h ; c6 46 f8 28 10021 jmp short 06 ee9h ; eb 1c10036 jmp short 06f53h ; eb 1c 10022 10037 mov byte [bp-008h], 03ch ; c6 46 f8 3c 10023 jmp short 06 ee9h ; eb 1610038 jmp short 06f53h ; eb 16 10024 10039 mov byte [bp-008h], 050h ; c6 46 f8 50 10025 jmp short 06 ee9h ; eb 1010040 jmp short 06f53h ; eb 10 10026 10041 mov byte [bp-008h], 064h ; c6 46 f8 64 10027 jmp short 06 ee9h ; eb 0a10042 jmp short 06f53h ; eb 0a 10028 10043 mov byte [bp-008h], 0c8h ; c6 46 f8 c8 10029 jmp short 06 ee9h ; eb 0410044 jmp short 06f53h ; eb 04 10030 10045 mov byte [bp-008h], 000h ; c6 46 f8 00 10031 10046 cmp byte [bp-008h], 000h ; 80 7e f8 00 10032 jbe short 06f 1eh ; 76 2f10047 jbe short 06f88h ; 76 2f 10033 10048 mov ax, 000f3h ; b8 f3 00 10034 call 06 bf0h ; e8 fb fc10049 call 06c5ah ; e8 fb fc 10035 10050 test al, al ; 84 c0 10036 jne short 06f 13h ; 75 1a10051 jne short 06f7dh ; 75 1a 10037 10052 mov dx, ss ; 8c d2 10038 10053 lea ax, [bp-006h] ; 8d 46 fa 10039 call 06c 24h ; e8 23 fd10054 call 06c8eh ; e8 23 fd 10040 10055 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10041 call 06 bf0h ; e8 e8 fc10056 call 06c5ah ; e8 e8 fc 10042 10057 mov dx, ss ; 8c d2 10043 10058 lea ax, [bp-006h] ; 8d 46 fa 10044 call 06c 24h ; e8 14 fd10045 jmp near 07 0dah ; e9 c7 0110059 call 06c8eh ; e8 14 fd 10060 jmp near 07144h ; e9 c7 01 10046 10061 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10047 10062 mov byte [bp+013h], 003h ; c6 46 13 03 10048 jmp near 07 0dah ; e9 bc 0110063 jmp near 07144h ; e9 bc 01 10049 10064 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10050 10065 mov byte [bp+013h], 002h ; c6 46 13 02 10051 jmp near 07 0dah ; e9 b1 0110066 jmp near 07144h ; e9 b1 01 10052 10067 cmp byte [bp+00dh], 004h ; 80 7e 0d 04 10053 jnc short 06f 8ch ; 73 5d10068 jnc short 06ff6h ; 73 5d 10054 10069 mov ax, 000e8h ; b8 e8 00 10055 call 06 bf0h ; e8 bb fc10070 call 06c5ah ; e8 bb fc 10056 10071 test al, al ; 84 c0 10057 jne short 06f 81h ; 75 4810072 jne short 06febh ; 75 48 10058 10073 mov dx, ss ; 8c d2 10059 10074 lea ax, [bp-008h] ; 8d 46 f8 10060 call 06c 24h ; e8 e3 fc10075 call 06c8eh ; e8 e3 fc 10061 10076 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10062 je short 06f 57h ; 74 1010077 je short 06fc1h ; 74 10 10063 10078 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10064 10079 push ax ; 50 10065 10080 push 00936h ; 68 36 09 10066 10081 push strict byte 00007h ; 6a 07 10067 call 01972h ; e8 1e aa10082 call 01972h ; e8 b4 a9 10068 10083 add sp, strict byte 00006h ; 83 c4 06 10069 10084 movzx ax, byte [bp+00dh] ; 0f b6 46 0d 10070 call 06 bf0h ; e8 92 fc10085 call 06c5ah ; e8 92 fc 10071 10086 mov dx, ss ; 8c d2 10072 10087 lea ax, [bp-008h] ; 8d 46 f8 10073 call 06c 24h ; e8 be fc10088 call 06c8eh ; e8 be fc 10074 10089 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10075 je near 07 0dah ; 0f 84 6c 0110090 je near 07144h ; 0f 84 6c 01 10076 10091 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10077 10092 push ax ; 50 10078 10093 push 00936h ; 68 36 09 10079 10094 push strict byte 00007h ; 6a 07 10080 call 01972h ; e8 f7a910095 call 01972h ; e8 8d a9 10081 10096 add sp, strict byte 00006h ; 83 c4 06 10082 jmp near 07 0dah ; e9 59 0110097 jmp near 07144h ; e9 59 01 10083 10098 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10084 10099 mov byte [bp+013h], 003h ; c6 46 13 03 10085 jmp near 07 0dah ; e9 4e 0110100 jmp near 07144h ; e9 4e 01 10086 10101 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10087 10102 mov byte [bp+013h], 002h ; c6 46 13 02 10088 jmp near 07 0dah ; e9 43 0110103 jmp near 07144h ; e9 43 01 10089 10104 mov ax, 000f2h ; b8 f2 00 10090 call 06 bf0h ; e8 53 fc10105 call 06c5ah ; e8 53 fc 10091 10106 test al, al ; 84 c0 10092 jne short 0 6fb4h ; 75 1310107 jne short 0701eh ; 75 13 10093 10108 mov dx, ss ; 8c d2 10094 10109 lea ax, [bp-008h] ; 8d 46 f8 10095 call 06c 24h ; e8 7b fc10110 call 06c8eh ; e8 7b fc 10096 10111 mov dx, ss ; 8c d2 10097 10112 lea ax, [bp-006h] ; 8d 46 fa 10098 call 06c 24h ; e8 73 fc10099 jmp near 06e 8fh ; e9 db fe10113 call 06c8eh ; e8 73 fc 10114 jmp near 06ef9h ; e9 db fe 10100 10115 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10101 10116 mov byte [bp+013h], 003h ; c6 46 13 03 10102 jmp near 07 0dah ; e9 1b 0110117 jmp near 07144h ; e9 1b 01 10103 10118 mov al, byte [bp+00dh] ; 8a 46 0d 10104 10119 test al, al ; 84 c0 10105 jbe short 0 6fcdh ; 76 0710120 jbe short 07037h ; 76 07 10106 10121 cmp AL, strict byte 002h ; 3c 02 10107 jbe short 070 36h ; 76 6c10108 jmp near 070 6ah ; e9 9d 0010122 jbe short 070a0h ; 76 6c 10123 jmp near 070d4h ; e9 9d 00 10109 10124 mov ax, 000e9h ; b8 e9 00 10110 call 06 bf0h ; e8 1d fc10125 call 06c5ah ; e8 1d fc 10111 10126 test al, al ; 84 c0 10112 jne near 070 60h ; 0f 85 87 0010127 jne near 070cah ; 0f 85 87 00 10113 10128 mov dx, ss ; 8c d2 10114 10129 lea ax, [bp-008h] ; 8d 46 f8 10115 call 06c 24h ; e8 43 fc10130 call 06c8eh ; e8 43 fc 10116 10131 mov cl, al ; 88 c1 10117 10132 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10118 je short 0 6ff9h ; 74 1010133 je short 07063h ; 74 10 10119 10134 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10120 10135 push ax ; 50 10121 10136 push 00936h ; 68 36 09 10122 10137 push strict byte 00007h ; 6a 07 10123 call 01972h ; e8 7ca910138 call 01972h ; e8 12 a9 10124 10139 add sp, strict byte 00006h ; 83 c4 06 10125 10140 test cl, cl ; 84 c9 10126 jne short 070 60h ; 75 6310141 jne short 070cah ; 75 63 10127 10142 mov dx, ss ; 8c d2 10128 10143 lea ax, [bp-008h] ; 8d 46 f8 10129 call 06c 24h ; e8 1f fc10144 call 06c8eh ; e8 1f fc 10130 10145 test al, al ; 84 c0 10131 jne short 070 60h ; 75 5710146 jne short 070cah ; 75 57 10132 10147 mov dx, ss ; 8c d2 10133 10148 lea ax, [bp-006h] ; 8d 46 fa 10134 call 06c 24h ; e8 13 fc10149 call 06c8eh ; e8 13 fc 10135 10150 test al, al ; 84 c0 10136 jne short 070 60h ; 75 4b10151 jne short 070cah ; 75 4b 10137 10152 mov dx, ss ; 8c d2 10138 10153 lea ax, [bp-004h] ; 8d 46 fc 10139 call 06c 24h ; e8 07 fc10154 call 06c8eh ; e8 07 fc 10140 10155 test al, al ; 84 c0 10141 jne short 070 60h ; 75 3f10156 jne short 070cah ; 75 3f 10142 10157 mov al, byte [bp-008h] ; 8a 46 f8 10143 10158 mov byte [bp+00ch], al ; 88 46 0c … … 10146 10161 mov al, byte [bp-004h] ; 8a 46 fc 10147 10162 mov byte [bp+00eh], al ; 88 46 0e 10148 jmp near 07 0dah ; e9 a4 0010163 jmp near 07144h ; e9 a4 00 10149 10164 cmp AL, strict byte 001h ; 3c 01 10150 jne short 070 3fh ; 75 0510165 jne short 070a9h ; 75 05 10151 10166 mov ax, 000e6h ; b8 e6 00 10152 jmp short 070 42h ; eb 0310167 jmp short 070ach ; eb 03 10153 10168 mov ax, 000e7h ; b8 e7 00 10154 call 06 bf0h ; e8 ab fb10169 call 06c5ah ; e8 ab fb 10155 10170 mov cl, al ; 88 c1 10156 10171 test cl, cl ; 84 c9 10157 jne short 070 5ah ; 75 0f10172 jne short 070c4h ; 75 0f 10158 10173 mov dx, ss ; 8c d2 10159 10174 lea ax, [bp-008h] ; 8d 46 f8 10160 call 06c 24h ; e8 d1 fb10175 call 06c8eh ; e8 d1 fb 10161 10176 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10162 10177 db 00fh, 095h, 0c1h 10163 10178 ; setne cl ; 0f 95 c1 10164 10179 test cl, cl ; 84 c9 10165 je near 07 0dah ; 0f 84 7a 0010180 je near 07144h ; 0f 84 7a 00 10166 10181 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10167 10182 mov byte [bp+013h], 003h ; c6 46 13 03 10168 jmp short 07 0dah ; eb 7010183 jmp short 07144h ; eb 70 10169 10184 movzx ax, byte [bp+00dh] ; 0f b6 46 0d 10170 10185 push ax ; 50 10171 10186 push 00962h ; 68 62 09 10172 10187 push strict byte 00007h ; 6a 07 10173 call 01972h ; e8 fba810188 call 01972h ; e8 91 a8 10174 10189 add sp, strict byte 00006h ; 83 c4 06 10175 10190 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10176 10191 mov byte [bp+013h], 001h ; c6 46 13 01 10177 jmp short 07 0dah ; eb 5610192 jmp short 07144h ; eb 56 10178 10193 mov si, word [bp+00ch] ; 8b 76 0c 10179 10194 mov bx, si ; 89 f3 10180 10195 mov dx, strict word 00022h ; ba 22 00 10181 10196 mov ax, cx ; 89 c8 10182 call 0167ah ; e8 e9a510197 call 0167ah ; e8 7f a5 10183 10198 mov bx, word [bp+014h] ; 8b 5e 14 10184 10199 mov dx, strict word 00024h ; ba 24 00 10185 10200 mov ax, cx ; 89 c8 10186 call 0167ah ; e8 dea510201 call 0167ah ; e8 74 a5 10187 10202 mov dx, strict word 00027h ; ba 27 00 10188 10203 mov ax, cx ; 89 c8 10189 call 01650h ; e8 aca510204 call 01650h ; e8 42 a5 10190 10205 mov ah, al ; 88 c4 10191 10206 test si, si ; 85 f6 10192 jne short 07 0b8h ; 75 0e10207 jne short 07122h ; 75 0e 10193 10208 cmp word [bp+014h], strict byte 00000h ; 83 7e 14 00 10194 jne short 07 0b8h ; 75 0810209 jne short 07122h ; 75 08 10195 10210 test AL, strict byte 080h ; a8 80 10196 je short 07 0bah ; 74 0610211 je short 07124h ; 74 06 10197 10212 and AL, strict byte 07fh ; 24 7f 10198 jmp short 07 0bah ; eb 0210213 jmp short 07124h ; eb 02 10199 10214 or AL, strict byte 080h ; 0c 80 10200 10215 movzx bx, al ; 0f b6 d8 10201 10216 mov dx, strict word 00027h ; ba 27 00 10202 10217 mov ax, cx ; 89 c8 10203 call 0165eh ; e8 99a510204 jmp short 07 0dah ; eb 1310218 call 0165eh ; e8 2f a5 10219 jmp short 07144h ; eb 13 10205 10220 push 0097ch ; 68 7c 09 10206 10221 push strict byte 00007h ; 6a 07 10207 call 01972h ; e8 a3a810222 call 01972h ; e8 39 a8 10208 10223 add sp, strict byte 00004h ; 83 c4 04 10209 10224 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10210 10225 mov byte [bp+013h], 001h ; c6 46 13 01 10211 10226 mov ax, strict word 00047h ; b8 47 00 10212 call 06c 5fh ; e8 7f fb10227 call 06cc9h ; e8 7f fb 10213 10228 lea sp, [bp-002h] ; 8d 66 fe 10214 10229 pop si ; 5e 10215 10230 pop bp ; 5d 10216 10231 retn ; c3 10217 _int17_function: ; 0xf7 0e6LB 0xb310232 _int17_function: ; 0xf7150 LB 0xb3 10218 10233 push bp ; 55 10219 10234 mov bp, sp ; 89 e5 … … 10225 10240 add dx, strict byte 00008h ; 83 c2 08 10226 10241 mov ax, strict word 00040h ; b8 40 00 10227 call 0166ch ; e8 72a510242 call 0166ch ; e8 08 a5 10228 10243 mov bx, ax ; 89 c3 10229 10244 mov si, ax ; 89 c6 10230 10245 cmp byte [bp+013h], 003h ; 80 7e 13 03 10231 jnc near 071 8fh ; 0f 83 89 0010246 jnc near 071f9h ; 0f 83 89 00 10232 10247 mov ax, word [bp+00eh] ; 8b 46 0e 10233 10248 cmp ax, strict word 00003h ; 3d 03 00 10234 jnc near 071 8fh ; 0f 83 7f 0010249 jnc near 071f9h ; 0f 83 7f 00 10235 10250 test bx, bx ; 85 db 10236 jbe near 071 8fh ; 0f 86 79 0010251 jbe near 071f9h ; 0f 86 79 00 10237 10252 mov dx, ax ; 89 c2 10238 10253 add dx, strict byte 00078h ; 83 c2 78 10239 10254 mov ax, strict word 00040h ; b8 40 00 10240 call 01650h ; e8 2f a510255 call 01650h ; e8 c5 a4 10241 10256 movzx cx, al ; 0f b6 c8 10242 10257 sal cx, 008h ; c1 e1 08 10243 10258 cmp byte [bp+013h], 000h ; 80 7e 13 00 10244 jne short 071 5ah ; 75 2d10259 jne short 071c4h ; 75 2d 10245 10260 mov al, byte [bp+012h] ; 8a 46 12 10246 10261 mov dx, bx ; 89 da … … 10262 10277 ; sub ah, ah ; 2a e4 10263 10278 test AL, strict byte 040h ; a8 40 10264 je short 071 5ah ; 74 0710279 je short 071c4h ; 74 07 10265 10280 test cx, cx ; 85 c9 10266 je short 071 5ah ; 74 0310281 je short 071c4h ; 74 03 10267 10282 dec cx ; 49 10268 jmp short 071 49h ; eb ef10283 jmp short 071b3h ; eb ef 10269 10284 cmp byte [bp+013h], 001h ; 80 7e 13 01 10270 jne short 071 76h ; 75 1610285 jne short 071e0h ; 75 16 10271 10286 lea dx, [si+002h] ; 8d 54 02 10272 10287 in AL, DX ; ec … … 10287 10302 mov byte [bp+013h], al ; 88 46 13 10288 10303 test cx, cx ; 85 c9 10289 jne short 071 89h ; 75 0410304 jne short 071f3h ; 75 04 10290 10305 or byte [bp+013h], 001h ; 80 4e 13 01 10291 10306 and byte [bp+01ch], 0feh ; 80 66 1c fe 10292 jmp short 071 93h ; eb 0410307 jmp short 071fdh ; eb 04 10293 10308 or byte [bp+01ch], 001h ; 80 4e 1c 01 10294 10309 lea sp, [bp-002h] ; 8d 66 fe … … 10296 10311 pop bp ; 5d 10297 10312 retn ; c3 10298 wait_: ; 0xf7 199LB 0xb210313 wait_: ; 0xf7203 LB 0xb2 10299 10314 push bp ; 55 10300 10315 mov bp, sp ; 89 e5 … … 10314 10329 mov dx, 0046ch ; ba 6c 04 10315 10330 xor ax, ax ; 31 c0 10316 call 01688h ; e8 cca410331 call 01688h ; e8 62 a4 10317 10332 mov word [bp-00eh], ax ; 89 46 f2 10318 10333 mov bx, dx ; 89 d3 … … 10320 10335 mov dx, 0046ch ; ba 6c 04 10321 10336 xor ax, ax ; 31 c0 10322 call 01688h ; e8 bea410337 call 01688h ; e8 54 a4 10323 10338 mov word [bp-012h], ax ; 89 46 ee 10324 10339 mov di, dx ; 89 d7 10325 10340 cmp dx, bx ; 39 da 10326 jnbe short 07 1dah ; 77 0710327 jne short 07 1e1h ; 75 0c10341 jnbe short 07244h ; 77 07 10342 jne short 0724bh ; 75 0c 10328 10343 cmp ax, word [bp-00eh] ; 3b 46 f2 10329 jbe short 07 1e1h ; 76 0710344 jbe short 0724bh ; 76 07 10330 10345 sub ax, word [bp-00eh] ; 2b 46 f2 10331 10346 sbb dx, bx ; 19 da 10332 jmp short 07 1ech ; eb 0b10347 jmp short 07256h ; eb 0b 10333 10348 cmp dx, bx ; 39 da 10334 jc short 07 1ech ; 72 0710335 jne short 07 1f0h ; 75 0910349 jc short 07256h ; 72 07 10350 jne short 0725ah ; 75 09 10336 10351 cmp ax, word [bp-00eh] ; 3b 46 f2 10337 jnc short 07 1f0h ; 73 0410352 jnc short 0725ah ; 73 04 10338 10353 sub si, ax ; 29 c6 10339 10354 sbb cx, dx ; 19 d1 … … 10343 10358 mov ax, 00100h ; b8 00 01 10344 10359 int 016h ; cd 16 10345 je near 072 06h ; 0f 84 05 0010360 je near 07270h ; 0f 84 05 00 10346 10361 mov AL, strict byte 001h ; b0 01 10347 jmp near 072 08h ; e9 02 0010362 jmp near 07272h ; e9 02 00 10348 10363 db 032h, 0c0h 10349 10364 ; xor al, al ; 32 c0 10350 10365 test al, al ; 84 c0 10351 je short 072 30h ; 74 2410366 je short 0729ah ; 74 24 10352 10367 db 033h, 0c0h 10353 10368 ; xor ax, ax ; 33 c0 … … 10360 10375 push 0099eh ; 68 9e 09 10361 10376 push strict byte 00004h ; 6a 04 10362 call 01972h ; e8 4f a710377 call 01972h ; e8 e5 a6 10363 10378 add sp, strict byte 00006h ; 83 c4 06 10364 10379 cmp byte [bp-00ch], 000h ; 80 7e f4 00 10365 je short 072 30h ; 74 0410380 je short 0729ah ; 74 04 10366 10381 mov al, dl ; 88 d0 10367 jmp short 072 42h ; eb 1210382 jmp short 072ach ; eb 12 10368 10383 test cx, cx ; 85 c9 10369 jnle short 07 1c1h ; 7f 8d10370 jne short 072 3ah ; 75 0410384 jnle short 0722bh ; 7f 8d 10385 jne short 072a4h ; 75 04 10371 10386 test si, si ; 85 f6 10372 jnbe short 07 1c1h ; 77 8710387 jnbe short 0722bh ; 77 87 10373 10388 mov ax, word [bp-010h] ; 8b 46 f0 10374 10389 push ax ; 50 … … 10382 10397 pop bp ; 5d 10383 10398 retn ; c3 10384 read_logo_byte_: ; 0xf72 4bLB 0x1610399 read_logo_byte_: ; 0xf72b5 LB 0x16 10385 10400 push bp ; 55 10386 10401 mov bp, sp ; 89 e5 … … 10397 10412 pop bp ; 5d 10398 10413 retn ; c3 10399 read_logo_word_: ; 0xf72 61LB 0x1410414 read_logo_word_: ; 0xf72cb LB 0x14 10400 10415 push bp ; 55 10401 10416 mov bp, sp ; 89 e5 … … 10410 10425 pop bp ; 5d 10411 10426 retn ; c3 10412 print_detected_harddisks_: ; 0xf72 75LB 0x13010427 print_detected_harddisks_: ; 0xf72df LB 0x130 10413 10428 push bp ; 55 10414 10429 mov bp, sp ; 89 e5 … … 10422 10437 mov dx, strict word 0000eh ; ba 0e 00 10423 10438 mov ax, strict word 00040h ; b8 40 00 10424 call 0166ch ; e8 e4a310439 call 0166ch ; e8 7a a3 10425 10440 mov si, ax ; 89 c6 10426 10441 mov byte [bp-00ch], 000h ; c6 46 f4 00 … … 10428 10443 xor ch, ch ; 30 ed 10429 10444 mov dx, 002c0h ; ba c0 02 10430 call 01650h ; e8 b8a310445 call 01650h ; e8 4e a3 10431 10446 mov byte [bp-00eh], al ; 88 46 f2 10432 10447 xor bl, bl ; 30 db 10433 10448 cmp bl, byte [bp-00eh] ; 3a 5e f2 10434 jnc near 073 77h ; 0f 83 d3 0010449 jnc near 073e1h ; 0f 83 d3 00 10435 10450 movzx dx, bl ; 0f b6 d3 10436 10451 add dx, 002c1h ; 81 c2 c1 02 10437 10452 mov ax, si ; 89 f0 10438 call 01650h ; e8 a0a310453 call 01650h ; e8 36 a3 10439 10454 mov bh, al ; 88 c7 10440 10455 cmp AL, strict byte 00ch ; 3c 0c 10441 jc short 07 2dah ; 72 2410456 jc short 07344h ; 72 24 10442 10457 test cl, cl ; 84 c9 10443 jne short 07 2c7h ; 75 0d10458 jne short 07331h ; 75 0d 10444 10459 push 009afh ; 68 af 09 10445 10460 push strict byte 00002h ; 6a 02 10446 call 01972h ; e8 b0a610461 call 01972h ; e8 46 a6 10447 10462 add sp, strict byte 00004h ; 83 c4 04 10448 10463 mov CL, strict byte 001h ; b1 01 … … 10450 10465 inc ax ; 40 10451 10466 push ax ; 50 10452 push 009c 3h ; 68 c30910467 push 009c4h ; 68 c4 09 10453 10468 push strict byte 00002h ; 6a 02 10454 call 01972h ; e8 9ea610469 call 01972h ; e8 34 a6 10455 10470 add sp, strict byte 00006h ; 83 c4 06 10456 jmp near 073 72h ; e9 98 0010471 jmp near 073dch ; e9 98 00 10457 10472 cmp AL, strict byte 008h ; 3c 08 10458 jc short 07 2f1h ; 72 1310473 jc short 0735bh ; 72 13 10459 10474 test ch, ch ; 84 ed 10460 jne short 07 2efh ; 75 0d10461 push 009d 6h ; 68 d60910475 jne short 07359h ; 75 0d 10476 push 009d7h ; 68 d7 09 10462 10477 push strict byte 00002h ; 6a 02 10463 call 01972h ; e8 88a610478 call 01972h ; e8 1e a6 10464 10479 add sp, strict byte 00004h ; 83 c4 04 10465 10480 mov CH, strict byte 001h ; b5 01 10466 jmp short 07 2c7h ; eb d610481 jmp short 07331h ; eb d6 10467 10482 cmp AL, strict byte 004h ; 3c 04 10468 jnc short 073 0ch ; 73 1710483 jnc short 07376h ; 73 17 10469 10484 cmp byte [bp-00ch], 000h ; 80 7e f4 00 10470 jne short 073 0ch ; 75 1110471 push 009e ah ; 68 ea0910485 jne short 07376h ; 75 11 10486 push 009ech ; 68 ec 09 10472 10487 push strict byte 00002h ; 6a 02 10473 call 01972h ; e8 6fa610488 call 01972h ; e8 05 a6 10474 10489 add sp, strict byte 00004h ; 83 c4 04 10475 10490 mov byte [bp-00ch], 001h ; c6 46 f4 01 10476 jmp short 073 22h ; eb 1610491 jmp short 0738ch ; eb 16 10477 10492 cmp bh, 004h ; 80 ff 04 10478 jc short 073 22h ; 72 1110493 jc short 0738ch ; 72 11 10479 10494 test cl, cl ; 84 c9 10480 jne short 073 22h ; 75 0d10481 push 009 afh ; 68 af0910495 jne short 0738ch ; 75 0d 10496 push 009feh ; 68 fe 09 10482 10497 push strict byte 00002h ; 6a 02 10483 call 01972h ; e8 55 a610498 call 01972h ; e8 eb a5 10484 10499 add sp, strict byte 00004h ; 83 c4 04 10485 10500 mov CL, strict byte 001h ; b1 01 … … 10487 10502 inc ax ; 40 10488 10503 push ax ; 50 10489 push 00 9fbh ; 68 fb 0910504 push 00a12h ; 68 12 0a 10490 10505 push strict byte 00002h ; 6a 02 10491 call 01972h ; e8 43 a610506 call 01972h ; e8 d9 a5 10492 10507 add sp, strict byte 00006h ; 83 c4 06 10493 10508 cmp bh, 004h ; 80 ff 04 10494 jc short 073 3ah ; 72 0310509 jc short 073a4h ; 72 03 10495 10510 sub bh, 004h ; 80 ef 04 10496 10511 movzx ax, bh ; 0f b6 c7 … … 10500 10515 sar ax, 1 ; d1 f8 10501 10516 test ax, ax ; 85 c0 10502 je short 073 4bh ; 74 0510503 push 00a 05h ; 68 050a10504 jmp short 073 4eh ; eb 0310505 push 00a 10h ; 68 100a10517 je short 073b5h ; 74 05 10518 push 00a1ch ; 68 1c 0a 10519 jmp short 073b8h ; eb 03 10520 push 00a27h ; 68 27 0a 10506 10521 push strict byte 00002h ; 6a 02 10507 call 01972h ; e8 1f a610522 call 01972h ; e8 b5 a5 10508 10523 add sp, strict byte 00004h ; 83 c4 04 10509 10524 movzx ax, bh ; 0f b6 c7 … … 10512 10527 idiv di ; f7 ff 10513 10528 test dx, dx ; 85 d2 10514 je short 073 68h ; 74 0510515 push 00a 19h ; 68 190a10516 jmp short 073 6bh ; eb 0310517 push 00a 1fh ; 68 1f0a10529 je short 073d2h ; 74 05 10530 push 00a30h ; 68 30 0a 10531 jmp short 073d5h ; eb 03 10532 push 00a36h ; 68 36 0a 10518 10533 push di ; 57 10519 call 01972h ; e8 03 a610534 call 01972h ; e8 99 a5 10520 10535 add sp, strict byte 00004h ; 83 c4 04 10521 10536 db 0feh, 0c3h 10522 10537 ; inc bl ; fe c3 10523 jmp near 07 29dh ; e9 26 ff10538 jmp near 07307h ; e9 26 ff 10524 10539 cmp byte [bp-00ch], 000h ; 80 7e f4 00 10525 jne short 073 90h ; 75 1310540 jne short 073fah ; 75 13 10526 10541 test cl, cl ; 84 c9 10527 jne short 073 90h ; 75 0f10542 jne short 073fah ; 75 0f 10528 10543 test ch, ch ; 84 ed 10529 jne short 073 90h ; 75 0b10530 push 00a 26h ; 68 260a10544 jne short 073fah ; 75 0b 10545 push 00a3dh ; 68 3d 0a 10531 10546 push strict byte 00002h ; 6a 02 10532 call 01972h ; e8 e5a510547 call 01972h ; e8 7b a5 10533 10548 add sp, strict byte 00004h ; 83 c4 04 10534 push 00a 3ah ; 68 3a0a10549 push 00a51h ; 68 51 0a 10535 10550 push strict byte 00002h ; 6a 02 10536 call 01972h ; e8 daa510551 call 01972h ; e8 70 a5 10537 10552 add sp, strict byte 00004h ; 83 c4 04 10538 10553 lea sp, [bp-00ah] ; 8d 66 f6 … … 10544 10559 pop bp ; 5d 10545 10560 retn ; c3 10546 get_boot_drive_: ; 0xf7 3a5LB 0x2810561 get_boot_drive_: ; 0xf740f LB 0x28 10547 10562 push bp ; 55 10548 10563 mov bp, sp ; 89 e5 … … 10552 10567 mov dx, strict word 0000eh ; ba 0e 00 10553 10568 mov ax, strict word 00040h ; b8 40 00 10554 call 0166ch ; e8 b7a210569 call 0166ch ; e8 4d a2 10555 10570 mov dx, 002c0h ; ba c0 02 10556 call 01650h ; e8 95a210571 call 01650h ; e8 2b a2 10557 10572 sub bl, 002h ; 80 eb 02 10558 10573 cmp bl, al ; 38 c3 10559 jc short 07 3c4h ; 72 0210574 jc short 0742eh ; 72 02 10560 10575 mov BL, strict byte 0ffh ; b3 ff 10561 10576 mov al, bl ; 88 d8 … … 10565 10580 pop bp ; 5d 10566 10581 retn ; c3 10567 show_logo_: ; 0xf7 3cdLB 0x22410582 show_logo_: ; 0xf7437 LB 0x224 10568 10583 push bp ; 55 10569 10584 mov bp, sp ; 89 e5 … … 10576 10591 mov dx, strict word 0000eh ; ba 0e 00 10577 10592 mov ax, strict word 00040h ; b8 40 00 10578 call 0166ch ; e8 8ba210593 call 0166ch ; e8 21 a2 10579 10594 mov si, ax ; 89 c6 10580 10595 xor cl, cl ; 30 c9 … … 10587 10602 out strict byte 040h, AL ; e6 40 10588 10603 movzx ax, dl ; 0f b6 c2 10589 call 072 61h ; e8 68 fe10604 call 072cbh ; e8 68 fe 10590 10605 cmp ax, 066bbh ; 3d bb 66 10591 jne near 07 4d1h ; 0f 85 d1 0010606 jne near 0753bh ; 0f 85 d1 00 10592 10607 push SS ; 16 10593 10608 pop ES ; 07 … … 10597 10612 mov word [es:di], bx ; 26 89 1d 10598 10613 cmp ax, strict word 0004fh ; 3d 4f 00 10599 jne near 07 4d1h ; 0f 85 bd 0010614 jne near 0753bh ; 0f 85 bd 00 10600 10615 mov al, dl ; 88 d0 10601 10616 add AL, strict byte 004h ; 04 04 10602 10617 xor ah, ah ; 30 e4 10603 call 072 4bh ; e8 2e fe10618 call 072b5h ; e8 2e fe 10604 10619 mov ch, al ; 88 c5 10605 10620 mov byte [bp-00ch], al ; 88 46 f4 … … 10607 10622 add AL, strict byte 005h ; 04 05 10608 10623 xor ah, ah ; 30 e4 10609 call 072 4bh ; e8 20 fe10624 call 072b5h ; e8 20 fe 10610 10625 mov dh, al ; 88 c6 10611 10626 mov byte [bp-010h], al ; 88 46 f0 … … 10613 10628 add AL, strict byte 002h ; 04 02 10614 10629 xor ah, ah ; 30 e4 10615 call 072 61h ; e8 28 fe10630 call 072cbh ; e8 28 fe 10616 10631 mov bx, ax ; 89 c3 10617 10632 mov word [bp-014h], ax ; 89 46 ec … … 10619 10634 add AL, strict byte 006h ; 04 06 10620 10635 xor ah, ah ; 30 e4 10621 call 072 4bh ; e8 04 fe10636 call 072b5h ; e8 04 fe 10622 10637 mov byte [bp-012h], al ; 88 46 ee 10623 10638 test ch, ch ; 84 ed 10624 jne short 074 58h ; 75 0a10639 jne short 074c2h ; 75 0a 10625 10640 test dh, dh ; 84 f6 10626 jne short 074 58h ; 75 0610641 jne short 074c2h ; 75 06 10627 10642 test bx, bx ; 85 db 10628 je near 07 4d1h ; 0f 84 79 0010643 je near 0753bh ; 0f 84 79 00 10629 10644 mov bx, 00142h ; bb 42 01 10630 10645 mov ax, 04f02h ; b8 02 4f 10631 10646 int 010h ; cd 10 10632 10647 cmp byte [bp-00ch], 000h ; 80 7e f4 00 10633 je short 074 89h ; 74 2310648 je short 074f3h ; 74 23 10634 10649 xor bx, bx ; 31 db 10635 jmp short 074 70h ; eb 0610650 jmp short 074dah ; eb 06 10636 10651 inc bx ; 43 10637 10652 cmp bx, strict byte 00010h ; 83 fb 10 10638 jnbe short 074 90h ; 77 2010653 jnbe short 074fah ; 77 20 10639 10654 mov ax, bx ; 89 d8 10640 10655 or ah, 002h ; 80 cc 02 … … 10643 10658 xor dx, dx ; 31 d2 10644 10659 mov ax, strict word 00001h ; b8 01 00 10645 call 07 199h ; e8 18 fd10660 call 07203h ; e8 18 fd 10646 10661 cmp AL, strict byte 086h ; 3c 86 10647 jne short 074 6ah ; 75 e510662 jne short 074d4h ; 75 e5 10648 10663 mov CL, strict byte 001h ; b1 01 10649 jmp short 074 90h ; eb 0710664 jmp short 074fah ; eb 07 10650 10665 mov ax, 00210h ; b8 10 02 10651 10666 mov dx, 003b8h ; ba b8 03 10652 10667 out DX, ax ; ef 10653 10668 test cl, cl ; 84 c9 10654 jne short 07 4a6h ; 75 1210669 jne short 07510h ; 75 12 10655 10670 mov ax, word [bp-014h] ; 8b 46 ec 10656 10671 shr ax, 004h ; c1 e8 04 10657 10672 mov dx, strict word 00001h ; ba 01 00 10658 call 07 199h ; e8 f9 fc10673 call 07203h ; e8 f9 fc 10659 10674 cmp AL, strict byte 086h ; 3c 86 10660 jne short 07 4a6h ; 75 0210675 jne short 07510h ; 75 02 10661 10676 mov CL, strict byte 001h ; b1 01 10662 10677 cmp byte [bp-010h], 000h ; 80 7e f0 00 10663 je short 07 4d1h ; 74 2510678 je short 0753bh ; 74 25 10664 10679 test cl, cl ; 84 c9 10665 jne short 07 4d1h ; 75 2110680 jne short 0753bh ; 75 21 10666 10681 mov bx, strict word 00010h ; bb 10 00 10667 jmp short 07 4bah ; eb 0510682 jmp short 07524h ; eb 05 10668 10683 dec bx ; 4b 10669 10684 test bx, bx ; 85 db 10670 jbe short 07 4d1h ; 76 1710685 jbe short 0753bh ; 76 17 10671 10686 mov ax, bx ; 89 d8 10672 10687 or ah, 002h ; 80 cc 02 … … 10675 10690 xor dx, dx ; 31 d2 10676 10691 mov ax, strict word 00001h ; b8 01 00 10677 call 07 199h ; e8 ce fc10692 call 07203h ; e8 ce fc 10678 10693 cmp AL, strict byte 086h ; 3c 86 10679 jne short 07 4b5h ; 75 e610694 jne short 0751fh ; 75 e6 10680 10695 mov CL, strict byte 001h ; b1 01 10681 10696 xor bx, bx ; 31 db 10682 10697 mov dx, 00339h ; ba 39 03 10683 10698 mov ax, si ; 89 f0 10684 call 0165eh ; e8 83a110699 call 0165eh ; e8 19 a1 10685 10700 mov AL, strict byte 003h ; b0 03 10686 10701 mov AH, strict byte 000h ; b4 00 10687 10702 int 010h ; cd 10 10688 10703 cmp byte [bp-012h], 000h ; 80 7e ee 00 10689 je near 07 5d2h ; 0f 84 e9 0010704 je near 0763ch ; 0f 84 e9 00 10690 10705 cmp byte [bp-00ch], 000h ; 80 7e f4 00 10691 jne short 075 1fh ; 75 3010706 jne short 07589h ; 75 30 10692 10707 cmp byte [bp-010h], 000h ; 80 7e f0 00 10693 jne short 075 1fh ; 75 2a10708 jne short 07589h ; 75 2a 10694 10709 cmp word [bp-014h], strict byte 00000h ; 83 7e ec 00 10695 jne short 075 1fh ; 75 2410710 jne short 07589h ; 75 24 10696 10711 cmp byte [bp-012h], 002h ; 80 7e ee 02 10697 jne short 075 0ch ; 75 0b10698 push 00a 3ch ; 68 3c0a10712 jne short 07576h ; 75 0b 10713 push 00a53h ; 68 53 0a 10699 10714 push strict byte 00002h ; 6a 02 10700 call 01972h ; e8 69 a410715 call 01972h ; e8 ff a3 10701 10716 add sp, strict byte 00004h ; 83 c4 04 10702 10717 test cl, cl ; 84 c9 10703 jne short 075 1fh ; 75 0f10718 jne short 07589h ; 75 0f 10704 10719 mov dx, strict word 00001h ; ba 01 00 10705 10720 mov ax, 000c0h ; b8 c0 00 10706 call 07 199h ; e8 80 fc10721 call 07203h ; e8 80 fc 10707 10722 cmp AL, strict byte 086h ; 3c 86 10708 jne short 075 1fh ; 75 0210723 jne short 07589h ; 75 02 10709 10724 mov CL, strict byte 001h ; b1 01 10710 10725 test cl, cl ; 84 c9 10711 je near 07 5d2h ; 0f 84 ad 0010726 je near 0763ch ; 0f 84 ad 00 10712 10727 mov byte [bp-00eh], 000h ; c6 46 f2 00 10713 10728 mov ax, 00100h ; b8 00 01 … … 10726 10741 ; xor dx, dx ; 33 d2 10727 10742 int 010h ; cd 10 10728 push 00a 5eh ; 68 5e0a10743 push 00a75h ; 68 75 0a 10729 10744 push strict byte 00002h ; 6a 02 10730 call 01972h ; e8 24 a410745 call 01972h ; e8 ba a3 10731 10746 add sp, strict byte 00004h ; 83 c4 04 10732 call 072 75h ; e8 21 fd10733 push 00a a2h ; 68 a20a10747 call 072dfh ; e8 21 fd 10748 push 00ab9h ; 68 b9 0a 10734 10749 push strict byte 00002h ; 6a 02 10735 call 01972h ; e8 16 a410750 call 01972h ; e8 ac a3 10736 10751 add sp, strict byte 00004h ; 83 c4 04 10737 10752 mov dx, strict word 00001h ; ba 01 00 10738 10753 mov ax, strict word 00040h ; b8 40 00 10739 call 07 199h ; e8 31 fc10754 call 07203h ; e8 31 fc 10740 10755 mov bl, al ; 88 c3 10741 10756 test al, al ; 84 c0 10742 je short 075 5fh ; 74 f110757 je short 075c9h ; 74 f1 10743 10758 cmp AL, strict byte 030h ; 3c 30 10744 je short 07 5c0h ; 74 4e10759 je short 0762ah ; 74 4e 10745 10760 cmp bl, 002h ; 80 fb 02 10746 jc short 07 599h ; 72 2210761 jc short 07603h ; 72 22 10747 10762 cmp bl, 009h ; 80 fb 09 10748 jnbe short 07 599h ; 77 1d10763 jnbe short 07603h ; 77 1d 10749 10764 movzx ax, bl ; 0f b6 c3 10750 call 07 3a5h ; e8 23 fe10765 call 0740fh ; e8 23 fe 10751 10766 cmp AL, strict byte 0ffh ; 3c ff 10752 jne short 075 88h ; 75 0210753 jmp short 075 5fh ; eb d710767 jne short 075f2h ; 75 02 10768 jmp short 075c9h ; eb d7 10754 10769 movzx bx, al ; 0f b6 d8 10755 10770 mov dx, 00338h ; ba 38 03 10756 10771 mov ax, si ; 89 f0 10757 call 0165eh ; e8 cba010772 call 0165eh ; e8 61 a0 10758 10773 mov byte [bp-00eh], 002h ; c6 46 f2 02 10759 jmp short 07 5c0h ; eb 2710774 jmp short 0762ah ; eb 27 10760 10775 cmp bl, 02eh ; 80 fb 2e 10761 je short 07 5aeh ; 74 1010776 je short 07618h ; 74 10 10762 10777 cmp bl, 026h ; 80 fb 26 10763 je short 07 5b4h ; 74 1110778 je short 0761eh ; 74 11 10764 10779 cmp bl, 021h ; 80 fb 21 10765 jne short 07 5bah ; 75 1210780 jne short 07624h ; 75 12 10766 10781 mov byte [bp-00eh], 001h ; c6 46 f2 01 10767 jmp short 07 5c0h ; eb 1210782 jmp short 0762ah ; eb 12 10768 10783 mov byte [bp-00eh], 003h ; c6 46 f2 03 10769 jmp short 07 5c0h ; eb 0c10784 jmp short 0762ah ; eb 0c 10770 10785 mov byte [bp-00eh], 004h ; c6 46 f2 04 10771 jmp short 07 5c0h ; eb 0610786 jmp short 0762ah ; eb 06 10772 10787 cmp byte [bp-00eh], 000h ; 80 7e f2 00 10773 je short 075 5fh ; 74 9f10788 je short 075c9h ; 74 9f 10774 10789 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 10775 10790 mov dx, 00339h ; ba 39 03 10776 10791 mov ax, si ; 89 f0 10777 call 0165eh ; e8 92a010792 call 0165eh ; e8 28 a0 10778 10793 mov AL, strict byte 003h ; b0 03 10779 10794 mov AH, strict byte 000h ; b4 00 … … 10788 10803 push DS ; 1e 10789 10804 mov ds, ax ; 8e d8 10790 call 0edbfh ; e8 db7710805 call 0edbfh ; e8 71 77 10791 10806 pop DS ; 1f 10792 10807 popad ; 66 61 … … 10799 10814 pop bp ; 5d 10800 10815 retn ; c3 10801 delay_boot_: ; 0xf7 5f1LB 0x6710816 delay_boot_: ; 0xf765b LB 0x67 10802 10817 push bp ; 55 10803 10818 mov bp, sp ; 89 e5 … … 10806 10821 mov dx, ax ; 89 c2 10807 10822 test ax, ax ; 85 c0 10808 je short 076 51h ; 74 5510823 je short 076bbh ; 74 55 10809 10824 mov AL, strict byte 034h ; b0 34 10810 10825 out strict byte 043h, AL ; e6 43 … … 10814 10829 out strict byte 040h, AL ; e6 40 10815 10830 push dx ; 52 10816 push 00 aech ; 68 ec 0a10831 push 00b03h ; 68 03 0b 10817 10832 push strict byte 00002h ; 6a 02 10818 call 01972h ; e8 61 a310833 call 01972h ; e8 f7 a2 10819 10834 add sp, strict byte 00006h ; 83 c4 06 10820 10835 mov bx, dx ; 89 d3 10821 10836 test bx, bx ; 85 db 10822 jbe short 076 31h ; 76 1710837 jbe short 0769bh ; 76 17 10823 10838 push bx ; 53 10824 push 00b 0ah ; 68 0a0b10839 push 00b21h ; 68 21 0b 10825 10840 push strict byte 00002h ; 6a 02 10826 call 01972h ; e8 4f a310841 call 01972h ; e8 e5 a2 10827 10842 add sp, strict byte 00006h ; 83 c4 06 10828 10843 xor dx, dx ; 31 d2 10829 10844 mov ax, strict word 00040h ; b8 40 00 10830 call 07 199h ; e8 6b fb10845 call 07203h ; e8 6b fb 10831 10846 dec bx ; 4b 10832 jmp short 076 16h ; eb e510833 push 00a 3ah ; 68 3a0a10847 jmp short 07680h ; eb e5 10848 push 00a51h ; 68 51 0a 10834 10849 push strict byte 00002h ; 6a 02 10835 call 01972h ; e8 39 a310850 call 01972h ; e8 cf a2 10836 10851 add sp, strict byte 00004h ; 83 c4 04 10837 10852 mov AL, strict byte 034h ; b0 34 … … 10844 10859 push DS ; 1e 10845 10860 mov ds, ax ; 8e d8 10846 call 0edbfh ; e8 717710861 call 0edbfh ; e8 07 77 10847 10862 pop DS ; 1f 10848 10863 popad ; 66 61 … … 10852 10867 pop bp ; 5d 10853 10868 retn ; c3 10854 scsi_cmd_data_in_: ; 0xf76 58LB 0xb210869 scsi_cmd_data_in_: ; 0xf76c2 LB 0xb2 10855 10870 push bp ; 55 10856 10871 mov bp, sp ; 89 e5 … … 10868 10883 ; sub ah, ah ; 2a e4 10869 10884 test AL, strict byte 001h ; a8 01 10870 jne short 076 6eh ; 75 f710885 jne short 076d8h ; 75 f7 10871 10886 mov ax, bx ; 89 d8 10872 10887 mov dx, word [bp+00ch] ; 8b 56 0c … … 10874 10889 shr dx, 1 ; d1 ea 10875 10890 rcr ax, 1 ; d1 d8 10876 loop 076 7fh ; e2 fa10891 loop 076e9h ; e2 fa 10877 10892 and ax, 000f0h ; 25 f0 00 10878 10893 movzx cx, byte [bp+004h] ; 0f b6 4e 04 … … 10892 10907 shr dx, 1 ; d1 ea 10893 10908 rcr ax, 1 ; d1 d8 10894 loop 07 6a5h ; e2 fa10909 loop 0770fh ; e2 fa 10895 10910 mov dx, si ; 89 f2 10896 10911 out DX, AL ; ee … … 10898 10913 movzx ax, byte [bp+004h] ; 0f b6 46 04 10899 10914 cmp cx, ax ; 39 c1 10900 jnc short 07 6c6h ; 73 0e10915 jnc short 07730h ; 73 0e 10901 10916 les di, [bp-00ah] ; c4 7e f6 10902 10917 add di, cx ; 01 cf … … 10905 10920 out DX, AL ; ee 10906 10921 inc cx ; 41 10907 jmp short 07 6b0h ; eb ea10922 jmp short 0771ah ; eb ea 10908 10923 mov dx, si ; 89 f2 10909 10924 in AL, DX ; ec … … 10911 10926 ; sub ah, ah ; 2a e4 10912 10927 test AL, strict byte 001h ; a8 01 10913 jne short 07 6c6h ; 75 f710928 jne short 07730h ; 75 f7 10914 10929 lea dx, [si+001h] ; 8d 54 01 10915 10930 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 10916 jne short 07 6deh ; 75 0610931 jne short 07748h ; 75 06 10917 10932 cmp bx, 08000h ; 81 fb 00 80 10918 jbe short 07 6f8h ; 76 1a10933 jbe short 07762h ; 76 1a 10919 10934 mov cx, 08000h ; b9 00 80 10920 10935 les di, [bp+006h] ; c4 7e 06 … … 10925 10940 add ax, 00800h ; 05 00 08 10926 10941 mov word [bp+008h], ax ; 89 46 08 10927 jmp short 07 6cfh ; eb d710942 jmp short 07739h ; eb d7 10928 10943 mov cx, bx ; 89 d9 10929 10944 les di, [bp+006h] ; c4 7e 06 … … 10935 10950 pop bp ; 5d 10936 10951 retn 0000ah ; c2 0a 00 10937 scsi_cmd_data_out_: ; 0xf77 0aLB 0xb410952 scsi_cmd_data_out_: ; 0xf7774 LB 0xb4 10938 10953 push bp ; 55 10939 10954 mov bp, sp ; 89 e5 … … 10951 10966 ; sub ah, ah ; 2a e4 10952 10967 test AL, strict byte 001h ; a8 01 10953 jne short 077 20h ; 75 f710968 jne short 0778ah ; 75 f7 10954 10969 mov ax, bx ; 89 d8 10955 10970 mov dx, word [bp+00ch] ; 8b 56 0c … … 10957 10972 shr dx, 1 ; d1 ea 10958 10973 rcr ax, 1 ; d1 d8 10959 loop 077 31h ; e2 fa10974 loop 0779bh ; e2 fa 10960 10975 and ax, 000f0h ; 25 f0 00 10961 10976 movzx cx, byte [bp+004h] ; 0f b6 4e 04 … … 10975 10990 shr dx, 1 ; d1 ea 10976 10991 rcr ax, 1 ; d1 d8 10977 loop 077 57h ; e2 fa10992 loop 077c1h ; e2 fa 10978 10993 mov dx, di ; 89 fa 10979 10994 out DX, AL ; ee … … 10981 10996 movzx ax, byte [bp+004h] ; 0f b6 46 04 10982 10997 cmp cx, ax ; 39 c1 10983 jnc short 077 78h ; 73 0e10998 jnc short 077e2h ; 73 0e 10984 10999 les si, [bp-00ah] ; c4 76 f6 10985 11000 add si, cx ; 01 ce … … 10988 11003 out DX, AL ; ee 10989 11004 inc cx ; 41 10990 jmp short 077 62h ; eb ea11005 jmp short 077cch ; eb ea 10991 11006 lea dx, [di+001h] ; 8d 55 01 10992 11007 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 10993 jne short 077 87h ; 75 0611008 jne short 077f1h ; 75 06 10994 11009 cmp bx, 08000h ; 81 fb 00 80 10995 jbe short 07 7a2h ; 76 1b11010 jbe short 0780ch ; 76 1b 10996 11011 mov cx, 08000h ; b9 00 80 10997 11012 les si, [bp+006h] ; c4 76 06 … … 11003 11018 add ax, 00800h ; 05 00 08 11004 11019 mov word [bp+008h], ax ; 89 46 08 11005 jmp short 077 78h ; eb d611020 jmp short 077e2h ; eb d6 11006 11021 mov cx, bx ; 89 d9 11007 11022 les si, [bp+006h] ; c4 76 06 … … 11013 11028 ; sub ah, ah ; 2a e4 11014 11029 test AL, strict byte 001h ; a8 01 11015 jne short 07 7aah ; 75 f711030 jne short 07814h ; 75 f7 11016 11031 xor ax, ax ; 31 c0 11017 11032 lea sp, [bp-004h] ; 8d 66 fc … … 11020 11035 pop bp ; 5d 11021 11036 retn 0000ah ; c2 0a 00 11022 @scsi_read_sectors: ; 0xf7 7beLB 0xb911037 @scsi_read_sectors: ; 0xf7828 LB 0xb9 11023 11038 push bp ; 55 11024 11039 mov bp, sp ; 89 e5 … … 11031 11046 sub bl, 008h ; 80 eb 08 11032 11047 cmp bl, 004h ; 80 fb 04 11033 jbe short 07 7eah ; 76 1211048 jbe short 07854h ; 76 12 11034 11049 movzx ax, bl ; 0f b6 c3 11035 11050 push ax ; 50 11036 push 00b 0eh ; 68 0e0b11037 push 00b 20h ; 68 200b11051 push 00b26h ; 68 26 0b 11052 push 00b38h ; 68 38 0b 11038 11053 push strict byte 00007h ; 6a 07 11039 call 01972h ; e8 8ba111054 call 01972h ; e8 21 a1 11040 11055 add sp, strict byte 00008h ; 83 c4 08 11041 11056 mov es, [bp+006h] ; 8e 46 06 … … 11064 11079 sal word [bp-008h], 1 ; d1 66 f8 11065 11080 rcl word [bp-006h], 1 ; d1 56 fa 11066 loop 078 33h ; e2 f811081 loop 0789dh ; e2 f8 11067 11082 push dword [bp-008h] ; 66 ff 76 f8 11068 11083 db 066h, 026h, 0ffh, 074h, 004h … … 11072 11087 mov cx, ss ; 8c d1 11073 11088 lea bx, [bp-012h] ; 8d 5e ee 11074 call 076 58h ; e8 08 fe11089 call 076c2h ; e8 08 fe 11075 11090 mov ah, al ; 88 c4 11076 11091 test al, al ; 84 c0 11077 jne short 078 6bh ; 75 1511092 jne short 078d5h ; 75 15 11078 11093 mov es, [bp+006h] ; 8e 46 06 11079 11094 mov word [es:si+014h], di ; 26 89 7c 14 … … 11088 11103 pop bp ; 5d 11089 11104 retn 00004h ; c2 04 00 11090 @scsi_write_sectors: ; 0xf78 77LB 0xb911105 @scsi_write_sectors: ; 0xf78e1 LB 0xb9 11091 11106 push bp ; 55 11092 11107 mov bp, sp ; 89 e5 … … 11099 11114 sub bl, 008h ; 80 eb 08 11100 11115 cmp bl, 004h ; 80 fb 04 11101 jbe short 07 8a3h ; 76 1211116 jbe short 0790dh ; 76 12 11102 11117 movzx ax, bl ; 0f b6 c3 11103 11118 push ax ; 50 11104 push 00b 3fh ; 68 3f0b11105 push 00b 20h ; 68 200b11119 push 00b57h ; 68 57 0b 11120 push 00b38h ; 68 38 0b 11106 11121 push strict byte 00007h ; 6a 07 11107 call 01972h ; e8 d2a011122 call 01972h ; e8 68 a0 11108 11123 add sp, strict byte 00008h ; 83 c4 08 11109 11124 mov es, [bp+006h] ; 8e 46 06 … … 11132 11147 sal word [bp-008h], 1 ; d1 66 f8 11133 11148 rcl word [bp-006h], 1 ; d1 56 fa 11134 loop 07 8ech ; e2 f811149 loop 07956h ; e2 f8 11135 11150 push dword [bp-008h] ; 66 ff 76 f8 11136 11151 db 066h, 026h, 0ffh, 074h, 004h … … 11140 11155 mov cx, ss ; 8c d1 11141 11156 lea bx, [bp-012h] ; 8d 5e ee 11142 call 077 0ah ; e8 01 fe11157 call 07774h ; e8 01 fe 11143 11158 mov ah, al ; 88 c4 11144 11159 test al, al ; 84 c0 11145 jne short 079 24h ; 75 1511160 jne short 0798eh ; 75 15 11146 11161 mov es, [bp+006h] ; 8e 46 06 11147 11162 mov word [es:si+014h], di ; 26 89 7c 14 … … 11156 11171 pop bp ; 5d 11157 11172 retn 00004h ; c2 04 00 11158 scsi_cmd_packet_: ; 0xf79 30LB 0x16611173 scsi_cmd_packet_: ; 0xf799a LB 0x166 11159 11174 push bp ; 55 11160 11175 mov bp, sp ; 89 e5 … … 11168 11183 mov dx, strict word 0000eh ; ba 0e 00 11169 11184 mov ax, strict word 00040h ; b8 40 00 11170 call 0166ch ; e8 20 9d11185 call 0166ch ; e8 b6 9c 11171 11186 mov si, 00122h ; be 22 01 11172 11187 mov word [bp-00eh], ax ; 89 46 f2 11173 11188 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 11174 jne short 079 77h ; 75 1f11175 mov bx, 00d 8ah ; bb 8a0d11189 jne short 079e1h ; 75 1f 11190 mov bx, 00da2h ; bb a2 0d 11176 11191 mov cx, ds ; 8c d9 11177 11192 mov ax, strict word 00004h ; b8 04 00 11178 call 01931h ; e8 ce9f11179 push 00b 52h ; 68 520b11180 push 00b 62h ; 68 620b11193 call 01931h ; e8 64 9f 11194 push 00b6ah ; 68 6a 0b 11195 push 00b7ah ; 68 7a 0b 11181 11196 push strict byte 00004h ; 6a 04 11182 call 01972h ; e8 04 a011197 call 01972h ; e8 9a 9f 11183 11198 add sp, strict byte 00006h ; 83 c4 06 11184 11199 mov dx, strict word 00001h ; ba 01 00 11185 jmp near 07a 8bh ; e9 14 0111200 jmp near 07af5h ; e9 14 01 11186 11201 sub di, strict byte 00008h ; 83 ef 08 11187 11202 sal di, 002h ; c1 e7 02 … … 11197 11212 ; sub ah, ah ; 2a e4 11198 11213 test AL, strict byte 001h ; a8 01 11199 jne short 079 93h ; 75 f711214 jne short 079fdh ; 75 f7 11200 11215 xor ax, ax ; 31 c0 11201 11216 mov dx, word [bp+006h] ; 8b 56 06 … … 11213 11228 shr dx, 1 ; d1 ea 11214 11229 rcr ax, 1 ; d1 d8 11215 loop 07 9beh ; e2 fa11230 loop 07a28h ; e2 fa 11216 11231 and ax, 000f0h ; 25 f0 00 11217 11232 movzx cx, byte [bp-006h] ; 0f b6 4e fa … … 11231 11246 shr dx, 1 ; d1 ea 11232 11247 rcr ax, 1 ; d1 d8 11233 loop 07 9e5h ; e2 fa11248 loop 07a4fh ; e2 fa 11234 11249 mov dx, bx ; 89 da 11235 11250 out DX, AL ; ee … … 11237 11252 movzx ax, byte [bp-006h] ; 0f b6 46 fa 11238 11253 cmp cx, ax ; 39 c1 11239 jnc short 07a 06h ; 73 0e11254 jnc short 07a70h ; 73 0e 11240 11255 les di, [bp-00ch] ; c4 7e f4 11241 11256 add di, cx ; 01 cf … … 11244 11259 out DX, AL ; ee 11245 11260 inc cx ; 41 11246 jmp short 07 9f0h ; eb ea11261 jmp short 07a5ah ; eb ea 11247 11262 mov dx, bx ; 89 da 11248 11263 in AL, DX ; ec … … 11250 11265 ; sub ah, ah ; 2a e4 11251 11266 test AL, strict byte 001h ; a8 01 11252 jne short 07a 06h ; 75 f711267 jne short 07a70h ; 75 f7 11253 11268 test AL, strict byte 002h ; a8 02 11254 je short 07a 21h ; 74 0e11269 je short 07a8bh ; 74 0e 11255 11270 lea dx, [bx+003h] ; 8d 57 03 11256 11271 xor al, al ; 30 c0 … … 11260 11275 ; sub ah, ah ; 2a e4 11261 11276 mov dx, strict word 00003h ; ba 03 00 11262 jmp short 07a 8bh ; eb 6a11277 jmp short 07af5h ; eb 6a 11263 11278 mov ax, word [bp+004h] ; 8b 46 04 11264 11279 test ax, ax ; 85 c0 11265 je short 07a 30h ; 74 0811280 je short 07a9ah ; 74 08 11266 11281 lea dx, [bx+001h] ; 8d 57 01 11267 11282 mov cx, ax ; 89 c1 11268 11283 in AL, DX ; ec 11269 loop 07a 2dh ; e2 fd11284 loop 07a97h ; e2 fd 11270 11285 mov ax, word [bp+006h] ; 8b 46 06 11271 11286 mov es, [bp-00eh] ; 8e 46 f2 … … 11275 11290 lea ax, [bx+001h] ; 8d 47 01 11276 11291 cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00 11277 jne short 07a 51h ; 75 0711292 jne short 07abbh ; 75 07 11278 11293 cmp word [bp+006h], 08000h ; 81 7e 06 00 80 11279 jbe short 07a 6eh ; 76 1d11294 jbe short 07ad8h ; 76 1d 11280 11295 mov dx, ax ; 89 c2 11281 11296 mov cx, 08000h ; b9 00 80 … … 11287 11302 add ax, 00800h ; 05 00 08 11288 11303 mov word [bp+00eh], ax ; 89 46 0e 11289 jmp short 07a 41h ; eb d311304 jmp short 07aabh ; eb d3 11290 11305 mov dx, ax ; 89 c2 11291 11306 mov cx, word [bp+006h] ; 8b 4e 06 … … 11294 11309 mov es, [bp-00eh] ; 8e 46 f2 11295 11310 cmp word [es:si+01ch], strict byte 00000h ; 26 83 7c 1c 00 11296 je short 07a 89h ; 74 0711311 je short 07af3h ; 74 07 11297 11312 mov cx, word [es:si+01ch] ; 26 8b 4c 1c 11298 11313 in AL, DX ; ec 11299 loop 07a 86h ; e2 fd11314 loop 07af0h ; e2 fd 11300 11315 xor dx, dx ; 31 d2 11301 11316 mov ax, dx ; 89 d0 … … 11305 11320 pop bp ; 5d 11306 11321 retn 0000ch ; c2 0c 00 11307 scsi_enumerate_attached_devices_: ; 0xf7 a96LB 0x3e511322 scsi_enumerate_attached_devices_: ; 0xf7b00 LB 0x3e5 11308 11323 push bp ; 55 11309 11324 mov bp, sp ; 89 e5 … … 11317 11332 mov dx, strict word 0000eh ; ba 0e 00 11318 11333 mov ax, strict word 00040h ; b8 40 00 11319 call 0166ch ; e8 c09b11334 call 0166ch ; e8 56 9b 11320 11335 mov si, 00122h ; be 22 01 11321 11336 mov word [bp-01ah], ax ; 89 46 e6 11322 11337 mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00 11323 jmp near 07e 09h ; e9 4f 0311338 jmp near 07e73h ; e9 4f 03 11324 11339 mov es, [bp-01ah] ; 8e 46 e6 11325 11340 cmp byte [es:si+001e8h], 004h ; 26 80 bc e8 01 04 11326 jnc near 07e 71h ; 0f 83 aa 0311341 jnc near 07edbh ; 0f 83 aa 03 11327 11342 mov cx, strict word 0000ah ; b9 0a 00 11328 11343 xor bx, bx ; 31 db 11329 11344 mov dx, ss ; 8c d2 11330 11345 lea ax, [bp-026h] ; 8d 46 da 11331 call 09 4dah ; e8 061a11346 call 0954ah ; e8 0c 1a 11332 11347 mov byte [bp-026h], 025h ; c6 46 da 25 11333 11348 push dword 000000008h ; 66 6a 08 … … 11340 11355 lea bx, [bp-026h] ; 8d 5e da 11341 11356 mov ax, word [bp-00228h] ; 8b 86 d8 fd 11342 call 076 58h ; e8 65 fb11357 call 076c2h ; e8 65 fb 11343 11358 test al, al ; 84 c0 11344 je short 07b 05h ; 74 0e11345 push 00b 82h ; 68 820b11346 push 00b bbh ; 68 bb0b11359 je short 07b6fh ; 74 0e 11360 push 00b9ah ; 68 9a 0b 11361 push 00bd3h ; 68 d3 0b 11347 11362 push strict byte 00007h ; 6a 07 11348 call 01972h ; e8 709e11363 call 01972h ; e8 06 9e 11349 11364 add sp, strict byte 00006h ; 83 c4 06 11350 11365 movzx ax, byte [bp-00225h] ; 0f b6 86 db fd … … 11358 11373 sal ax, 1 ; d1 e0 11359 11374 rcl dx, 1 ; d1 d2 11360 loop 07b 20h ; e2 fa11375 loop 07b8ah ; e2 fa 11361 11376 or bx, ax ; 09 c3 11362 11377 or dx, di ; 09 fa … … 11375 11390 sal ax, 1 ; d1 e0 11376 11391 rcl dx, 1 ; d1 d2 11377 loop 07b 52h ; e2 fa11392 loop 07bbch ; e2 fa 11378 11393 or ax, bx ; 09 d8 11379 11394 or dx, di ; 09 fa … … 11382 11397 mov word [bp-016h], ax ; 89 46 ea 11383 11398 test dx, dx ; 85 d2 11384 jne short 07b 6fh ; 75 0511399 jne short 07bd9h ; 75 05 11385 11400 cmp ax, 00200h ; 3d 00 02 11386 je short 07b 8fh ; 74 2011387 mov bx, 00d 8ah ; bb 8a0d11401 je short 07bf9h ; 74 20 11402 mov bx, 00da2h ; bb a2 0d 11388 11403 mov cx, ds ; 8c d9 11389 11404 mov ax, strict word 00004h ; b8 04 00 11390 call 01931h ; e8 b79d11405 call 01931h ; e8 4d 9d 11391 11406 push dx ; 52 11392 11407 push word [bp-016h] ; ff 76 ea 11393 11408 push word [bp-010h] ; ff 76 f0 11394 push 00b dah ; 68 da0b11409 push 00bf2h ; 68 f2 0b 11395 11410 push strict byte 00004h ; 6a 04 11396 call 01972h ; e8 e99d11411 call 01972h ; e8 7f 9d 11397 11412 add sp, strict byte 0000ah ; 83 c4 0a 11398 jmp near 07e 00h ; e9 71 0211413 jmp near 07e6ah ; e9 71 02 11399 11414 mov es, [bp-01ah] ; 8e 46 e6 11400 11415 mov al, byte [es:si+001e8h] ; 26 8a 84 e8 01 11401 11416 mov byte [bp-00ch], al ; 88 46 f4 11402 11417 cmp AL, strict byte 001h ; 3c 01 11403 jc short 07 baah ; 72 0c11404 jbe short 07 bb2h ; 76 1211418 jc short 07c14h ; 72 0c 11419 jbe short 07c1ch ; 76 12 11405 11420 cmp AL, strict byte 003h ; 3c 03 11406 je short 07 bbah ; 74 1611421 je short 07c24h ; 74 16 11407 11422 cmp AL, strict byte 002h ; 3c 02 11408 je short 07 bb6h ; 74 0e11409 jmp short 07c 06h ; eb 5c11423 je short 07c20h ; 74 0e 11424 jmp short 07c70h ; eb 5c 11410 11425 test al, al ; 84 c0 11411 jne short 07c 06h ; 75 5811426 jne short 07c70h ; 75 58 11412 11427 mov BL, strict byte 090h ; b3 90 11413 jmp short 07 bbch ; eb 0a11428 jmp short 07c26h ; eb 0a 11414 11429 mov BL, strict byte 098h ; b3 98 11415 jmp short 07 bbch ; eb 0611430 jmp short 07c26h ; eb 06 11416 11431 mov BL, strict byte 0a0h ; b3 a0 11417 jmp short 07 bbch ; eb 0211432 jmp short 07c26h ; eb 02 11418 11433 mov BL, strict byte 0a8h ; b3 a8 11419 11434 mov al, bl ; 88 d8 … … 11421 11436 movzx cx, al ; 0f b6 c8 11422 11437 mov ax, cx ; 89 c8 11423 call 016ach ; e8 e49a11438 call 016ach ; e8 7a 9a 11424 11439 test al, al ; 84 c0 11425 je short 07c 06h ; 74 3a11440 je short 07c70h ; 74 3a 11426 11441 mov al, bl ; 88 d8 11427 11442 db 0feh, 0c0h 11428 11443 ; inc al ; fe c0 11429 11444 xor ah, ah ; 30 e4 11430 call 016ach ; e8 d79a11445 call 016ach ; e8 6d 9a 11431 11446 xor ah, ah ; 30 e4 11432 11447 mov dx, ax ; 89 c2 11433 11448 sal dx, 008h ; c1 e2 08 11434 11449 movzx ax, bl ; 0f b6 c3 11435 call 016ach ; e8 ca9a11450 call 016ach ; e8 60 9a 11436 11451 xor ah, ah ; 30 e4 11437 11452 add ax, dx ; 01 d0 … … 11442 11457 add AL, strict byte 002h ; 04 02 11443 11458 xor ah, ah ; 30 e4 11444 call 016ach ; e8 b79a11459 call 016ach ; e8 4d 9a 11445 11460 xor ah, ah ; 30 e4 11446 11461 mov word [bp-014h], ax ; 89 46 ec 11447 11462 mov ax, cx ; 89 c8 11448 call 016ach ; e8 ad9a11463 call 016ach ; e8 43 9a 11449 11464 xor ah, ah ; 30 e4 11450 11465 mov word [bp-01ch], ax ; 89 46 e4 11451 jmp short 07c 4bh ; eb 4511466 jmp short 07cb5h ; eb 45 11452 11467 mov ax, word [bp-018h] ; 8b 46 e8 11453 11468 cmp ax, strict word 00040h ; 3d 40 00 11454 jnbe short 07c 10h ; 77 0211455 jne short 07c 1ch ; 75 0c11469 jnbe short 07c7ah ; 77 02 11470 jne short 07c86h ; 75 0c 11456 11471 mov word [bp-014h], 000ffh ; c7 46 ec ff 00 11457 11472 mov word [bp-01ch], strict word 0003fh ; c7 46 e4 3f 00 11458 jmp short 07c 34h ; eb 1811473 jmp short 07c9eh ; eb 18 11459 11474 cmp ax, strict word 00020h ; 3d 20 00 11460 jnbe short 07c 23h ; 77 0211461 jne short 07c 2ah ; 75 0711475 jnbe short 07c8dh ; 77 02 11476 jne short 07c94h ; 75 07 11462 11477 mov word [bp-014h], 00080h ; c7 46 ec 80 00 11463 jmp short 07c 2fh ; eb 0511478 jmp short 07c99h ; eb 05 11464 11479 mov word [bp-014h], strict word 00040h ; c7 46 ec 40 00 11465 11480 mov word [bp-01ch], strict word 00020h ; c7 46 e4 20 00 … … 11469 11484 mov dx, word [bp-018h] ; 8b 56 e8 11470 11485 xor cx, cx ; 31 c9 11471 call 094 70h ; e8 2a1811486 call 094e0h ; e8 30 18 11472 11487 mov di, ax ; 89 c7 11473 11488 mov word [bp-012h], dx ; 89 56 ee … … 11496 11511 mov word [es:bx+02ah], ax ; 26 89 47 2a 11497 11512 cmp word [bp-012h], strict byte 00000h ; 83 7e ee 00 11498 jne short 07 ca7h ; 75 0611513 jne short 07d11h ; 75 06 11499 11514 cmp di, 00400h ; 81 ff 00 04 11500 jbe short 07 cafh ; 76 0811515 jbe short 07d19h ; 76 08 11501 11516 mov word [es:bx+028h], 00400h ; 26 c7 47 28 00 04 11502 jmp short 07 cb3h ; eb 0411517 jmp short 07d1dh ; eb 04 11503 11518 mov word [es:bx+028h], di ; 26 89 7f 28 11504 mov bx, 00d 8ah ; bb 8a0d11519 mov bx, 00da2h ; bb a2 0d 11505 11520 mov cx, ds ; 8c d9 11506 11521 mov ax, strict word 00004h ; b8 04 00 11507 call 01931h ; e8 739c11522 call 01931h ; e8 09 9c 11508 11523 push word [bp-018h] ; ff 76 e8 11509 11524 push word [bp-00eh] ; ff 76 f2 … … 11514 11529 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 11515 11530 push ax ; 50 11516 push 00c 08h ; 68 080c11531 push 00c20h ; 68 20 0c 11517 11532 push strict byte 00004h ; 6a 04 11518 call 01972h ; e8 979c11533 call 01972h ; e8 2d 9c 11519 11534 add sp, strict byte 00012h ; 83 c4 12 11520 11535 movzx ax, dl ; 0f b6 c2 … … 11528 11543 mov word [es:bx+030h], ax ; 26 89 47 30 11529 11544 cmp word [bp-012h], strict byte 00000h ; 83 7e ee 00 11530 jne short 07d 05h ; 75 0611545 jne short 07d6fh ; 75 06 11531 11546 cmp di, 00400h ; 81 ff 00 04 11532 jbe short 07d 0dh ; 76 0811547 jbe short 07d77h ; 76 08 11533 11548 mov word [es:bx+02eh], 00400h ; 26 c7 47 2e 00 04 11534 jmp short 07d 11h ; eb 0411549 jmp short 07d7bh ; eb 04 11535 11550 mov word [es:bx+02eh], di ; 26 89 7f 2e 11536 11551 movzx ax, dl ; 0f b6 c2 … … 11554 11569 mov dx, strict word 00075h ; ba 75 00 11555 11570 mov ax, strict word 00040h ; b8 40 00 11556 call 01650h ; e8 ff9811571 call 01650h ; e8 95 98 11557 11572 db 0feh, 0c0h 11558 11573 ; inc al ; fe c0 … … 11560 11575 mov dx, strict word 00075h ; ba 75 00 11561 11576 mov ax, strict word 00040h ; b8 40 00 11562 call 0165eh ; e8 ff9811577 call 0165eh ; e8 95 98 11563 11578 inc byte [bp-00ch] ; fe 46 f4 11564 11579 mov al, byte [bp-00ch] ; 8a 46 f4 11565 11580 mov es, [bp-01ah] ; 8e 46 e6 11566 11581 mov byte [es:si+001e8h], al ; 26 88 84 e8 01 11567 jmp near 07e 00h ; e9 90 0011568 mov bx, 00d 8ah ; bb 8a0d11582 jmp near 07e6ah ; e9 90 00 11583 mov bx, 00da2h ; bb a2 0d 11569 11584 mov cx, ds ; 8c d9 11570 11585 mov ax, strict word 00004h ; b8 04 00 11571 call 01931h ; e8 b69b11586 call 01931h ; e8 4c 9b 11572 11587 push word [bp-010h] ; ff 76 f0 11573 11588 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 11574 11589 push ax ; 50 11575 push 00c 32h ; 68 320c11590 push 00c4ah ; 68 4a 0c 11576 11591 push strict byte 00004h ; 6a 04 11577 call 01972h ; e8 e79b11592 call 01972h ; e8 7d 9b 11578 11593 add sp, strict byte 00008h ; 83 c4 08 11579 11594 mov dl, byte [bp-00ch] ; 8a 56 f4 … … 11614 11629 inc word [bp-010h] ; ff 46 f0 11615 11630 cmp word [bp-010h], strict byte 00010h ; 83 7e f0 10 11616 jnl short 07e 71h ; 7d 6811631 jnl short 07edbh ; 7d 68 11617 11632 mov byte [bp-026h], 012h ; c6 46 da 12 11618 11633 xor al, al ; 30 c0 … … 11631 11646 lea bx, [bp-026h] ; 8d 5e da 11632 11647 mov ax, word [bp-00228h] ; 8b 86 d8 fd 11633 call 076 58h ; e8 1e f811648 call 076c2h ; e8 1e f8 11634 11649 test al, al ; 84 c0 11635 je short 07e 4ch ; 74 0e11636 push 00b 82h ; 68 820b11637 push 00b a2h ; 68 a20b11650 je short 07eb6h ; 74 0e 11651 push 00b9ah ; 68 9a 0b 11652 push 00bbah ; 68 ba 0b 11638 11653 push strict byte 00007h ; 6a 07 11639 call 01972h ; e8 29 9b11654 call 01972h ; e8 bf 9a 11640 11655 add sp, strict byte 00006h ; 83 c4 06 11641 11656 test byte [bp-00226h], 0e0h ; f6 86 da fd e0 11642 jne short 07e 5ch ; 75 0911657 jne short 07ec6h ; 75 09 11643 11658 test byte [bp-00226h], 01fh ; f6 86 da fd 1f 11644 je near 07 abah ; 0f 84 5e fc11659 je near 07b24h ; 0f 84 5e fc 11645 11660 test byte [bp-00226h], 0e0h ; f6 86 da fd e0 11646 jne short 07e 00h ; 75 9d11661 jne short 07e6ah ; 75 9d 11647 11662 mov al, byte [bp-00226h] ; 8a 86 da fd 11648 11663 and AL, strict byte 01fh ; 24 1f 11649 11664 cmp AL, strict byte 005h ; 3c 05 11650 je near 07d 70h ; 0f 84 01 ff11651 jmp short 07e 00h ; eb 8f11665 je near 07ddah ; 0f 84 01 ff 11666 jmp short 07e6ah ; eb 8f 11652 11667 lea sp, [bp-00ah] ; 8d 66 f6 11653 11668 pop di ; 5f … … 11658 11673 pop bp ; 5d 11659 11674 retn ; c3 11660 _scsi_init: ; 0xf7e 7bLB 0x6611675 _scsi_init: ; 0xf7ee5 LB 0x66 11661 11676 push bp ; 55 11662 11677 mov bp, sp ; 89 e5 11663 11678 mov dx, strict word 0000eh ; ba 0e 00 11664 11679 mov ax, strict word 00040h ; b8 40 00 11665 call 0166ch ; e8 e59711680 call 0166ch ; e8 7b 97 11666 11681 mov bx, 00122h ; bb 22 01 11667 11682 mov es, ax ; 8e c0 … … 11674 11689 ; sub ah, ah ; 2a e4 11675 11690 cmp AL, strict byte 055h ; 3c 55 11676 jne short 07 eabh ; 75 0c11691 jne short 07f15h ; 75 0c 11677 11692 xor al, al ; 30 c0 11678 11693 mov dx, 00433h ; ba 33 04 11679 11694 out DX, AL ; ee 11680 11695 mov ax, 00430h ; b8 30 04 11681 call 07 a96h ; e8 eb fb11696 call 07b00h ; e8 eb fb 11682 11697 mov AL, strict byte 055h ; b0 55 11683 11698 mov dx, 00436h ; ba 36 04 … … 11687 11702 ; sub ah, ah ; 2a e4 11688 11703 cmp AL, strict byte 055h ; 3c 55 11689 jne short 07 ec4h ; 75 0c11704 jne short 07f2eh ; 75 0c 11690 11705 xor al, al ; 30 c0 11691 11706 mov dx, 00437h ; ba 37 04 11692 11707 out DX, AL ; ee 11693 11708 mov ax, 00434h ; b8 34 04 11694 call 07 a96h ; e8 d2 fb11709 call 07b00h ; e8 d2 fb 11695 11710 mov AL, strict byte 055h ; b0 55 11696 11711 mov dx, 0043ah ; ba 3a 04 … … 11700 11715 ; sub ah, ah ; 2a e4 11701 11716 cmp AL, strict byte 055h ; 3c 55 11702 jne short 07 eddh ; 75 0c11717 jne short 07f47h ; 75 0c 11703 11718 xor al, al ; 30 c0 11704 11719 mov dx, 0043bh ; ba 3b 04 11705 11720 out DX, AL ; ee 11706 11721 mov ax, 00438h ; b8 38 04 11707 call 07 a96h ; e8 b9 fb11722 call 07b00h ; e8 b9 fb 11708 11723 mov sp, bp ; 89 ec 11709 11724 pop bp ; 5d 11710 11725 retn ; c3 11711 high_bits_save_: ; 0xf7 ee1LB 0x1711726 high_bits_save_: ; 0xf7f4b LB 0x17 11712 11727 push bp ; 55 11713 11728 mov bp, sp ; 89 e5 … … 11721 11736 pop bp ; 5d 11722 11737 retn ; c3 11723 high_bits_restore_: ; 0xf7 ef8LB 0x1711738 high_bits_restore_: ; 0xf7f62 LB 0x17 11724 11739 push bp ; 55 11725 11740 mov bp, sp ; 89 e5 … … 11733 11748 pop bp ; 5d 11734 11749 retn ; c3 11735 ahci_ctrl_set_bits_: ; 0xf7f 0fLB 0x4311750 ahci_ctrl_set_bits_: ; 0xf7f79 LB 0x43 11736 11751 push bp ; 55 11737 11752 mov bp, sp ; 89 e5 … … 11771 11786 pop bp ; 5d 11772 11787 retn ; c3 11773 ahci_ctrl_clear_bits_: ; 0xf7f 52LB 0x4711788 ahci_ctrl_clear_bits_: ; 0xf7fbc LB 0x47 11774 11789 push bp ; 55 11775 11790 mov bp, sp ; 89 e5 … … 11811 11826 pop bp ; 5d 11812 11827 retn ; c3 11813 ahci_ctrl_is_bit_set_: ; 0xf 7f99LB 0x3911828 ahci_ctrl_is_bit_set_: ; 0xf8003 LB 0x39 11814 11829 push bp ; 55 11815 11830 mov bp, sp ; 89 e5 … … 11833 11848 xchg dx, ax ; 92 11834 11849 test dx, di ; 85 fa 11835 jne short 0 7fc5h ; 75 0411850 jne short 0802fh ; 75 04 11836 11851 test ax, bx ; 85 d8 11837 je short 0 7fc9h ; 74 0411852 je short 08033h ; 74 04 11838 11853 mov AL, strict byte 001h ; b0 01 11839 jmp short 0 7fcbh ; eb 0211854 jmp short 08035h ; eb 02 11840 11855 xor al, al ; 30 c0 11841 11856 lea sp, [bp-004h] ; 8d 66 fc … … 11844 11859 pop bp ; 5d 11845 11860 retn ; c3 11846 ahci_ctrl_extract_bits_: ; 0xf 7fd2LB 0x1b11861 ahci_ctrl_extract_bits_: ; 0xf803c LB 0x1b 11847 11862 push si ; 56 11848 11863 push bp ; 55 … … 11852 11867 and dx, cx ; 21 ca 11853 11868 movzx cx, byte [bp+006h] ; 0f b6 4e 06 11854 jcxz 0 7fe8h ; e3 0611869 jcxz 08052h ; e3 06 11855 11870 shr dx, 1 ; d1 ea 11856 11871 rcr ax, 1 ; d1 d8 11857 loop 0 7fe2h ; e2 fa11872 loop 0804ch ; e2 fa 11858 11873 pop bp ; 5d 11859 11874 pop si ; 5e 11860 11875 retn 00002h ; c2 02 00 11861 ahci_addr_to_phys_: ; 0xf 7fedLB 0x1e11876 ahci_addr_to_phys_: ; 0xf8057 LB 0x1e 11862 11877 push bx ; 53 11863 11878 push cx ; 51 … … 11870 11885 sal ax, 1 ; d1 e0 11871 11886 rcl dx, 1 ; d1 d2 11872 loop 0 7ffbh ; e2 fa11887 loop 08065h ; e2 fa 11873 11888 xor cx, cx ; 31 c9 11874 11889 add ax, bx ; 01 d8 … … 11878 11893 pop bx ; 5b 11879 11894 retn ; c3 11880 ahci_port_cmd_sync_: ; 0xf80 0bLB 0xd511895 ahci_port_cmd_sync_: ; 0xf8075 LB 0xd5 11881 11896 push bp ; 55 11882 11897 mov bp, sp ; 89 e5 … … 11892 11907 mov di, word [es:si+00260h] ; 26 8b bc 60 02 11893 11908 cmp AL, strict byte 0ffh ; 3c ff 11894 je near 08 0d8h ; 0f 84 aa 0011909 je near 08142h ; 0f 84 aa 00 11895 11910 movzx cx, byte [es:si+00263h] ; 26 0f b6 8c 63 02 11896 11911 xor dx, dx ; 31 d2 … … 11904 11919 lea ax, [si+00080h] ; 8d 84 80 00 11905 11920 mov dx, es ; 8c c2 11906 call 0 7fedh ; e8 96 ff11921 call 08057h ; e8 96 ff 11907 11922 mov es, [bp-00ah] ; 8e 46 f6 11908 11923 mov word [es:si+008h], ax ; 26 89 44 08 … … 11914 11929 xor cx, cx ; 31 c9 11915 11930 mov ax, di ; 89 f8 11916 call 07f 0fh ; e8 98 fe11931 call 07f79h ; e8 98 fe 11917 11932 lea ax, [si+00138h] ; 8d 84 38 01 11918 11933 cwd ; 99 … … 11941 11956 mov dx, si ; 89 f2 11942 11957 mov ax, di ; 89 f8 11943 call 0 7f99h ; e8 e2 fe11958 call 08003h ; e8 e2 fe 11944 11959 test al, al ; 84 c0 11945 je short 08 09ah ; 74 df11960 je short 08104h ; 74 df 11946 11961 mov bx, strict word 00001h ; bb 01 00 11947 11962 xor cx, cx ; 31 c9 11948 11963 mov dx, si ; 89 f2 11949 11964 mov ax, di ; 89 f8 11950 call 07f 0fh ; e8 48 fe11965 call 07f79h ; e8 48 fe 11951 11966 mov dx, word [bp-00ch] ; 8b 56 f4 11952 11967 add dx, 00118h ; 81 c2 18 01 … … 11954 11969 xor cx, cx ; 31 c9 11955 11970 mov ax, di ; 89 f8 11956 call 07f 52h ; e8 7a fe11971 call 07fbch ; e8 7a fe 11957 11972 lea sp, [bp-006h] ; 8d 66 fa 11958 11973 pop di ; 5f … … 11961 11976 pop bp ; 5d 11962 11977 retn ; c3 11963 ahci_cmd_data_: ; 0xf8 0e0LB 0x1ca11978 ahci_cmd_data_: ; 0xf814a LB 0x1ca 11964 11979 push bp ; 55 11965 11980 mov bp, sp ; 89 e5 … … 11985 12000 mov ax, 00080h ; b8 80 00 11986 12001 mov dx, word [bp-00ah] ; 8b 56 f6 11987 call 09 4dah ; e8 bb1312002 call 0954ah ; e8 c1 13 11988 12003 mov es, [bp-00ah] ; 8e 46 f6 11989 12004 mov word [es:si+00080h], 08027h ; 26 c7 84 80 00 27 80 … … 12001 12016 shr bx, 1 ; d1 eb 12002 12017 rcr ax, 1 ; d1 d8 12003 loop 081 52h ; e2 fa12018 loop 081bch ; e2 fa 12004 12019 mov es, [bp-00ah] ; 8e 46 f6 12005 12020 mov byte [es:si+00085h], al ; 26 88 84 85 00 … … 12026 12041 mov bx, word [bp-016h] ; 8b 5e ea 12027 12042 xor cx, cx ; 31 c9 12028 call 09 4a9h ; e8 ee1212043 call 09519h ; e8 f4 12 12029 12044 push dx ; 52 12030 12045 push ax ; 50 … … 12034 12049 mov ax, 0026ah ; b8 6a 02 12035 12050 mov dx, word [bp-00ah] ; 8b 56 f6 12036 call 09 3c5h ; e8 f4 1112051 call 0942fh ; e8 f4 11 12037 12052 mov es, [bp-00ah] ; 8e 46 f6 12038 12053 movzx ax, byte [es:si+00263h] ; 26 0f b6 84 63 02 … … 12054 12069 mov es, [bp-012h] ; 8e 46 ee 12055 12070 cmp word [es:di+01ch], strict byte 00000h ; 26 83 7d 1c 00 12056 je short 082 4ah ; 74 2c12071 je short 082b4h ; 74 2c 12057 12072 mov dx, word [es:di+01ch] ; 26 8b 55 1c 12058 12073 dec dx ; 4a … … 12073 12088 movzx dx, byte [es:bx+00263h] ; 26 0f b6 97 63 02 12074 12089 cmp ax, dx ; 39 d0 12075 jnc short 082 64h ; 73 0312090 jnc short 082ceh ; 73 03 12076 12091 inc ax ; 40 12077 jmp short 082 54h ; eb f012092 jmp short 082beh ; eb f0 12078 12093 mov al, byte [bp-008h] ; 8a 46 f8 12079 12094 cmp AL, strict byte 035h ; 3c 35 12080 jne short 082 71h ; 75 0612095 jne short 082dbh ; 75 06 12081 12096 mov byte [bp-008h], 040h ; c6 46 f8 40 12082 jmp short 082 85h ; eb 1412097 jmp short 082efh ; eb 14 12083 12098 cmp AL, strict byte 0a0h ; 3c a0 12084 jne short 082 81h ; 75 0c12099 jne short 082ebh ; 75 0c 12085 12100 or byte [bp-008h], 020h ; 80 4e f8 20 12086 12101 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 12087 jmp short 082 85h ; eb 0412102 jmp short 082efh ; eb 04 12088 12103 mov byte [bp-008h], 000h ; c6 46 f8 00 12089 12104 or byte [bp-008h], 005h ; 80 4e f8 05 … … 12091 12106 mov ax, word [bp-00eh] ; 8b 46 f2 12092 12107 mov dx, word [bp-00ch] ; 8b 56 f4 12093 call 080 0bh ; e8 75 fd12108 call 08075h ; e8 75 fd 12094 12109 mov ax, word [bp-00eh] ; 8b 46 f2 12095 12110 add ax, 0026ah ; 05 6a 02 12096 12111 mov dx, word [bp-00ch] ; 8b 56 f4 12097 call 094 3eh ; e8 9c 1112112 call 094a8h ; e8 9c 11 12098 12113 lea sp, [bp-006h] ; 8d 66 fa 12099 12114 pop di ; 5f … … 12102 12117 pop bp ; 5d 12103 12118 retn ; c3 12104 ahci_port_deinit_current_: ; 0xf8 2aaLB 0x14412119 ahci_port_deinit_current_: ; 0xf8314 LB 0x144 12105 12120 push bp ; 55 12106 12121 mov bp, sp ; 89 e5 … … 12117 12132 mov byte [bp-00ah], al ; 88 46 f6 12118 12133 cmp AL, strict byte 0ffh ; 3c ff 12119 je near 08 3e5h ; 0f 84 17 0112134 je near 0844fh ; 0f 84 17 01 12120 12135 movzx dx, al ; 0f b6 d0 12121 12136 sal dx, 007h ; c1 e2 07 … … 12124 12139 xor cx, cx ; 31 c9 12125 12140 mov ax, si ; 89 f0 12126 call 07f 52h ; e8 70 fc12141 call 07fbch ; e8 70 fc 12127 12142 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 12128 12143 sal ax, 007h ; c1 e0 07 … … 12133 12148 xor cx, cx ; 31 c9 12134 12149 mov ax, si ; 89 f0 12135 call 0 7f99h ; e8 9d fc12150 call 08003h ; e8 9d fc 12136 12151 cmp AL, strict byte 001h ; 3c 01 12137 je short 08 2e2h ; 74 e212152 je short 0834ch ; 74 e2 12138 12153 mov cx, strict word 00020h ; b9 20 00 12139 12154 xor bx, bx ; 31 db 12140 12155 mov ax, di ; 89 f8 12141 12156 mov dx, word [bp-00ch] ; 8b 56 f4 12142 call 09 4dah ; e8 cd1112157 call 0954ah ; e8 d3 11 12143 12158 lea ax, [di+00080h] ; 8d 85 80 00 12144 12159 mov cx, strict word 00040h ; b9 40 00 12145 12160 xor bx, bx ; 31 db 12146 12161 mov dx, word [bp-00ch] ; 8b 56 f4 12147 call 09 4dah ; e8 be1112162 call 0954ah ; e8 c4 11 12148 12163 lea ax, [di+00200h] ; 8d 85 00 02 12149 12164 mov cx, strict word 00060h ; b9 60 00 12150 12165 xor bx, bx ; 31 db 12151 12166 mov dx, word [bp-00ch] ; 8b 56 f4 12152 call 09 4dah ; e8 af1112167 call 0954ah ; e8 b5 11 12153 12168 mov ax, word [bp-00eh] ; 8b 46 f2 12154 12169 add ax, 00108h ; 05 08 01 … … 12252 12267 pop bp ; 5d 12253 12268 retn ; c3 12254 ahci_port_init_: ; 0xf8 3eeLB 0x20612269 ahci_port_init_: ; 0xf8458 LB 0x206 12255 12270 push bp ; 55 12256 12271 mov bp, sp ; 89 e5 … … 12262 12277 mov word [bp-00ah], dx ; 89 56 f6 12263 12278 mov byte [bp-008h], bl ; 88 5e f8 12264 call 08 2aah ; e8 a8 fe12279 call 08314h ; e8 a8 fe 12265 12280 movzx dx, bl ; 0f b6 d3 12266 12281 sal dx, 007h ; c1 e2 07 … … 12270 12285 mov bx, strict word 00011h ; bb 11 00 12271 12286 xor cx, cx ; 31 c9 12272 call 07f 52h ; e8 36 fb12287 call 07fbch ; e8 36 fb 12273 12288 movzx di, byte [bp-008h] ; 0f b6 7e f8 12274 12289 sal di, 007h ; c1 e7 07 … … 12278 12293 mov bx, 0c011h ; bb 11 c0 12279 12294 xor cx, cx ; 31 c9 12280 call 0 7f99h ; e8 62 fb12295 call 08003h ; e8 62 fb 12281 12296 cmp AL, strict byte 001h ; 3c 01 12282 je short 084 1ch ; 74 e112297 je short 08486h ; 74 e1 12283 12298 mov cx, strict word 00020h ; b9 20 00 12284 12299 xor bx, bx ; 31 db 12285 12300 mov ax, si ; 89 f0 12286 12301 mov dx, word [bp-00ah] ; 8b 56 f6 12287 call 09 4dah ; e8 921012302 call 0954ah ; e8 98 10 12288 12303 lea ax, [si+00080h] ; 8d 84 80 00 12289 12304 mov cx, strict word 00040h ; b9 40 00 12290 12305 xor bx, bx ; 31 db 12291 12306 mov dx, word [bp-00ah] ; 8b 56 f6 12292 call 09 4dah ; e8 831012307 call 0954ah ; e8 89 10 12293 12308 mov ax, si ; 89 f0 12294 12309 add ah, 002h ; 80 c4 02 … … 12297 12312 xor bx, bx ; 31 db 12298 12313 mov dx, word [bp-00ah] ; 8b 56 f6 12299 call 09 4dah ; e8 701012314 call 0954ah ; e8 76 10 12300 12315 lea ax, [di+00108h] ; 8d 85 08 01 12301 12316 cwd ; 99 … … 12311 12326 mov ax, word [bp-00ch] ; 8b 46 f4 12312 12327 mov dx, word [bp-00ah] ; 8b 56 f6 12313 call 0 7fedh ; e8 60 fb12328 call 08057h ; e8 60 fb 12314 12329 mov es, [bp-00ah] ; 8e 46 f6 12315 12330 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 … … 12356 12371 mov ax, si ; 89 f0 12357 12372 mov dx, word [bp-00ah] ; 8b 56 f6 12358 call 0 7fedh ; e8 f4 fa12373 call 08057h ; e8 f4 fa 12359 12374 mov es, [bp-00ah] ; 8e 46 f6 12360 12375 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 … … 12461 12476 pop bp ; 5d 12462 12477 retn ; c3 12463 @ahci_read_sectors: ; 0xf8 5f4LB 0x9412478 @ahci_read_sectors: ; 0xf865e LB 0x94 12464 12479 push bp ; 55 12465 12480 mov bp, sp ; 89 e5 … … 12470 12485 sub di, strict byte 0000ch ; 83 ef 0c 12471 12486 cmp di, strict byte 00004h ; 83 ff 04 12472 jbe short 086 18h ; 76 0f12487 jbe short 08682h ; 76 0f 12473 12488 push di ; 57 12474 push 00c 4eh ; 68 4e0c12475 push 00c 60h ; 68 600c12489 push 00c66h ; 68 66 0c 12490 push 00c78h ; 68 78 0c 12476 12491 push strict byte 00007h ; 6a 07 12477 call 01972h ; e8 5d 9312492 call 01972h ; e8 f3 92 12478 12493 add sp, strict byte 00008h ; 83 c4 08 12479 12494 les bx, [bp+004h] ; c4 5e 04 12480 12495 mov dx, word [es:bx+001eeh] ; 26 8b 97 ee 01 12481 12496 xor ax, ax ; 31 c0 12482 call 07 ee1h ; e8 bc f812497 call 07f4bh ; e8 bc f8 12483 12498 mov es, [bp+006h] ; 8e 46 06 12484 12499 add di, bx ; 01 df … … 12487 12502 mov dx, word [es:di+001eeh] ; 26 8b 95 ee 01 12488 12503 xor ax, ax ; 31 c0 12489 call 08 3eeh ; e8 b1 fd12504 call 08458h ; e8 b1 fd 12490 12505 mov bx, strict word 00025h ; bb 25 00 12491 12506 mov ax, di ; 89 f8 12492 12507 mov dx, word [bp+006h] ; 8b 56 06 12493 call 08 0e0h ; e8 98 fa12508 call 0814ah ; e8 98 fa 12494 12509 mov es, [bp+006h] ; 8e 46 06 12495 12510 mov bx, di ; 89 fb … … 12511 12526 mov dx, word [es:bx+001eeh] ; 26 8b 97 ee 01 12512 12527 xor ax, ax ; 31 c0 12513 call 07 ef8h ; e8 7b f812528 call 07f62h ; e8 7b f8 12514 12529 xor ax, ax ; 31 c0 12515 12530 lea sp, [bp-004h] ; 8d 66 fc … … 12518 12533 pop bp ; 5d 12519 12534 retn 00004h ; c2 04 00 12520 @ahci_write_sectors: ; 0xf86 88LB 0x7012535 @ahci_write_sectors: ; 0xf86f2 LB 0x70 12521 12536 push bp ; 55 12522 12537 mov bp, sp ; 89 e5 … … 12528 12543 sub bx, strict byte 0000ch ; 83 eb 0c 12529 12544 cmp bx, strict byte 00004h ; 83 fb 04 12530 jbe short 08 6b0h ; 76 0f12545 jbe short 0871ah ; 76 0f 12531 12546 push bx ; 53 12532 push 00c 7fh ; 68 7f0c12533 push 00c 60h ; 68 600c12547 push 00c97h ; 68 97 0c 12548 push 00c78h ; 68 78 0c 12534 12549 push strict byte 00007h ; 6a 07 12535 call 01972h ; e8 c59212550 call 01972h ; e8 5b 92 12536 12551 add sp, strict byte 00008h ; 83 c4 08 12537 12552 mov es, cx ; 8e c1 12538 12553 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12539 12554 xor ax, ax ; 31 c0 12540 call 07 ee1h ; e8 25 f812555 call 07f4bh ; e8 25 f8 12541 12556 mov es, cx ; 8e c1 12542 12557 add bx, si ; 01 f3 … … 12544 12559 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12545 12560 xor ax, ax ; 31 c0 12546 call 08 3eeh ; e8 1e fd12561 call 08458h ; e8 1e fd 12547 12562 mov bx, strict word 00035h ; bb 35 00 12548 12563 mov ax, si ; 89 f0 12549 12564 mov dx, cx ; 89 ca 12550 call 08 0e0h ; e8 06 fa12565 call 0814ah ; e8 06 fa 12551 12566 mov es, cx ; 8e c1 12552 12567 mov dx, word [es:si+00ah] ; 26 8b 54 0a … … 12554 12569 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12555 12570 xor ax, ax ; 31 c0 12556 call 07 ef8h ; e8 0a f812571 call 07f62h ; e8 0a f8 12557 12572 xor ax, ax ; 31 c0 12558 12573 lea sp, [bp-002h] ; 8d 66 fe … … 12560 12575 pop bp ; 5d 12561 12576 retn 00004h ; c2 04 00 12562 ahci_cmd_packet_: ; 0xf8 6f8LB 0x17312577 ahci_cmd_packet_: ; 0xf8762 LB 0x173 12563 12578 push bp ; 55 12564 12579 mov bp, sp ; 89 e5 … … 12572 12587 mov dx, strict word 0000eh ; ba 0e 00 12573 12588 mov ax, strict word 00040h ; b8 40 00 12574 call 0166ch ; e8 59 8f12589 call 0166ch ; e8 ef 8e 12575 12590 mov si, 00122h ; be 22 01 12576 12591 mov word [bp-008h], ax ; 89 46 f8 12577 12592 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12578 jne short 087 3eh ; 75 1f12579 mov bx, 00d 8ah ; bb 8a0d12593 jne short 087a8h ; 75 1f 12594 mov bx, 00da2h ; bb a2 0d 12580 12595 mov cx, ds ; 8c d9 12581 12596 mov ax, strict word 00004h ; b8 04 00 12582 call 01931h ; e8 07 9212583 push 00c 92h ; 68 920c12584 push 00c a2h ; 68 a20c12597 call 01931h ; e8 9d 91 12598 push 00caah ; 68 aa 0c 12599 push 00cbah ; 68 ba 0c 12585 12600 push strict byte 00004h ; 6a 04 12586 call 01972h ; e8 3d 9212601 call 01972h ; e8 d3 91 12587 12602 add sp, strict byte 00006h ; 83 c4 06 12588 12603 mov ax, strict word 00001h ; b8 01 00 12589 jmp near 088 62h ; e9 24 0112604 jmp near 088cch ; e9 24 01 12590 12605 test byte [bp+004h], 001h ; f6 46 04 01 12591 jne short 087 38h ; 75 f412606 jne short 087a2h ; 75 f4 12592 12607 mov ax, word [bp+006h] ; 8b 46 06 12593 12608 mov dx, word [bp+008h] ; 8b 56 08 … … 12595 12610 sal ax, 1 ; d1 e0 12596 12611 rcl dx, 1 ; d1 d2 12597 loop 087 4dh ; e2 fa12612 loop 087b7h ; e2 fa 12598 12613 mov es, [bp-008h] ; 8e 46 f8 12599 12614 mov word [es:si], ax ; 26 89 04 … … 12607 12622 mov dx, word [bp+008h] ; 8b 56 08 12608 12623 xor cx, cx ; 31 c9 12609 call 094 70h ; e8 f60c12624 call 094e0h ; e8 fc 0c 12610 12625 mov word [es:si+00ah], ax ; 26 89 44 0a 12611 12626 xor di, di ; 31 ff … … 12617 12632 xor ax, ax ; 31 c0 12618 12633 mov dx, word [bp-00ah] ; 8b 56 f6 12619 call 07 ee1h ; e8 47 f712634 call 07f4bh ; e8 47 f7 12620 12635 mov es, [bp-008h] ; 8e 46 f8 12621 12636 mov bx, word [bp-014h] ; 8b 5e ec … … 12624 12639 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12625 12640 xor ax, ax ; 31 c0 12626 call 08 3eeh ; e8 3c fc12641 call 08458h ; e8 3c fc 12627 12642 movzx ax, byte [bp-006h] ; 0f b6 46 fa 12628 12643 push ax ; 50 … … 12631 12646 mov ax, 000c0h ; b8 c0 00 12632 12647 mov dx, word [bp-00ah] ; 8b 56 f6 12633 call 09 4e7h ; e8 210d12648 call 09557h ; e8 27 0d 12634 12649 mov es, [bp-008h] ; 8e 46 f8 12635 12650 mov word [es:si+014h], di ; 26 89 7c 14 … … 12638 12653 mov ax, word [es:si+01ah] ; 26 8b 44 1a 12639 12654 test ax, ax ; 85 c0 12640 je short 088 04h ; 74 2712655 je short 0886eh ; 74 27 12641 12656 dec ax ; 48 12642 12657 mov es, [bp-00ah] ; 8e 46 f6 … … 12651 12666 mov ax, si ; 89 f0 12652 12667 mov dx, word [bp-008h] ; 8b 56 f8 12653 call 08 0e0h ; e8 d1 f812668 call 0814ah ; e8 d1 f8 12654 12669 les bx, [bp-00eh] ; c4 5e f2 12655 12670 mov ax, word [es:bx+004h] ; 26 8b 47 04 … … 12674 12689 mov ax, word [bp-00eh] ; 8b 46 f2 12675 12690 mov dx, word [bp-00ch] ; 8b 56 f4 12676 call 07 ef8h ; e8 aa f612691 call 07f62h ; e8 aa f6 12677 12692 les bx, [bp-00eh] ; c4 5e f2 12678 12693 mov ax, word [es:bx+006h] ; 26 8b 47 06 12679 12694 or ax, word [es:bx+004h] ; 26 0b 47 04 12680 jne short 088 60h ; 75 0512695 jne short 088cah ; 75 05 12681 12696 mov ax, strict word 00004h ; b8 04 00 12682 jmp short 088 62h ; eb 0212697 jmp short 088cch ; eb 02 12683 12698 xor ax, ax ; 31 c0 12684 12699 lea sp, [bp-004h] ; 8d 66 fc … … 12687 12702 pop bp ; 5d 12688 12703 retn 0000ch ; c2 0c 00 12689 ahci_port_detect_device_: ; 0xf88 6bLB 0x40112704 ahci_port_detect_device_: ; 0xf88d5 LB 0x401 12690 12705 push bp ; 55 12691 12706 mov bp, sp ; 89 e5 … … 12699 12714 movzx cx, bl ; 0f b6 cb 12700 12715 mov bx, cx ; 89 cb 12701 call 08 3eeh ; e8 69 fb12716 call 08458h ; e8 69 fb 12702 12717 mov dx, strict word 0000eh ; ba 0e 00 12703 12718 mov ax, strict word 00040h ; b8 40 00 12704 call 0166ch ; e8 de8d12719 call 0166ch ; e8 74 8d 12705 12720 mov word [bp-020h], ax ; 89 46 e0 12706 12721 mov si, 00122h ; be 22 01 … … 12775 12790 mov bx, strict word 0000fh ; bb 0f 00 12776 12791 xor cx, cx ; 31 c9 12777 call 0 7fd2h ; e8 90 f612792 call 0803ch ; e8 90 f6 12778 12793 cmp ax, strict word 00003h ; 3d 03 00 12779 jne near 08c 64h ; 0f 85 1b 0312794 jne near 08cceh ; 0f 85 1b 03 12780 12795 mov ax, word [bp-016h] ; 8b 46 ea 12781 12796 add ax, 00130h ; 05 30 01 … … 12804 12819 mov byte [bp-008h], al ; 88 46 f8 12805 12820 cmp AL, strict byte 004h ; 3c 04 12806 jnc near 08c 64h ; 0f 83 d5 0212821 jnc near 08cceh ; 0f 83 d5 02 12807 12822 mov dx, word [bp-016h] ; 8b 56 ea 12808 12823 add dx, 00118h ; 81 c2 18 01 … … 12811 12826 mov bx, strict word 00010h ; bb 10 00 12812 12827 xor cx, cx ; 31 c9 12813 call 07f 0fh ; e8 69 f512828 call 07f79h ; e8 69 f5 12814 12829 mov ax, word [bp-016h] ; 8b 46 ea 12815 12830 add ax, 00124h ; 05 24 01 … … 12835 12850 add cl, 00ch ; 80 c1 0c 12836 12851 test dx, dx ; 85 d2 12837 jne near 08 bb6h ; 0f 85 d4 0112852 jne near 08c20h ; 0f 85 d4 01 12838 12853 cmp ax, 00101h ; 3d 01 01 12839 jne near 08 bb6h ; 0f 85 cd 0112854 jne near 08c20h ; 0f 85 cd 01 12840 12855 mov es, [bp-00eh] ; 8e 46 f2 12841 12856 db 066h, 026h, 0c7h, 004h, 000h, 000h, 000h, 000h … … 12849 12864 mov ax, si ; 89 f0 12850 12865 mov dx, word [bp-020h] ; 8b 56 e0 12851 call 08 0e0h ; e8 cc f612866 call 0814ah ; e8 cc f6 12852 12867 mov byte [bp-00ah], cl ; 88 4e f6 12853 12868 test byte [bp-00228h], 080h ; f6 86 d8 fd 80 … … 12865 12880 mov word [bp-014h], dx ; 89 56 ec 12866 12881 cmp dx, 00fffh ; 81 fa ff 0f 12867 jne short 08a 57h ; 75 1012882 jne short 08ac1h ; 75 10 12868 12883 cmp di, strict byte 0ffffh ; 83 ff ff 12869 jne short 08a 57h ; 75 0b12884 jne short 08ac1h ; 75 0b 12870 12885 mov di, word [bp-00160h] ; 8b be a0 fe 12871 12886 mov dx, word [bp-0015eh] ; 8b 96 a2 fe … … 12896 12911 mov al, byte [bp-008h] ; 8a 46 f8 12897 12912 cmp AL, strict byte 001h ; 3c 01 12898 jc short 08 ac2h ; 72 0c12899 jbe short 08 acah ; 76 1212913 jc short 08b2ch ; 72 0c 12914 jbe short 08b34h ; 76 12 12900 12915 cmp AL, strict byte 003h ; 3c 03 12901 je short 08 ad2h ; 74 1612916 je short 08b3ch ; 74 16 12902 12917 cmp AL, strict byte 002h ; 3c 02 12903 je short 08 aceh ; 74 0e12904 jmp short 08b 1bh ; eb 5912918 je short 08b38h ; 74 0e 12919 jmp short 08b85h ; eb 59 12905 12920 test al, al ; 84 c0 12906 jne short 08b 1bh ; 75 5512921 jne short 08b85h ; 75 55 12907 12922 mov DL, strict byte 040h ; b2 40 12908 jmp short 08 ad4h ; eb 0a12923 jmp short 08b3eh ; eb 0a 12909 12924 mov DL, strict byte 048h ; b2 48 12910 jmp short 08 ad4h ; eb 0612925 jmp short 08b3eh ; eb 06 12911 12926 mov DL, strict byte 050h ; b2 50 12912 jmp short 08 ad4h ; eb 0212927 jmp short 08b3eh ; eb 02 12913 12928 mov DL, strict byte 058h ; b2 58 12914 12929 mov al, dl ; 88 d0 … … 12916 12931 movzx bx, al ; 0f b6 d8 12917 12932 mov ax, bx ; 89 d8 12918 call 016ach ; e8 cc8b12933 call 016ach ; e8 62 8b 12919 12934 test al, al ; 84 c0 12920 je short 08b 1bh ; 74 3712935 je short 08b85h ; 74 37 12921 12936 mov al, dl ; 88 d0 12922 12937 db 0feh, 0c0h 12923 12938 ; inc al ; fe c0 12924 12939 xor ah, ah ; 30 e4 12925 call 016ach ; e8 bf8b12940 call 016ach ; e8 55 8b 12926 12941 xor ah, ah ; 30 e4 12927 12942 mov cx, ax ; 89 c1 12928 12943 sal cx, 008h ; c1 e1 08 12929 12944 movzx ax, dl ; 0f b6 c2 12930 call 016ach ; e8 b28b12945 call 016ach ; e8 48 8b 12931 12946 xor ah, ah ; 30 e4 12932 12947 add ax, cx ; 01 c8 … … 12935 12950 add AL, strict byte 002h ; 04 02 12936 12951 xor ah, ah ; 30 e4 12937 call 016ach ; e8 a28b12952 call 016ach ; e8 38 8b 12938 12953 xor ah, ah ; 30 e4 12939 12954 mov word [bp-028h], ax ; 89 46 d8 12940 12955 mov ax, bx ; 89 d8 12941 call 016ach ; e8 988b12956 call 016ach ; e8 2e 8b 12942 12957 xor ah, ah ; 30 e4 12943 12958 mov word [bp-024h], ax ; 89 46 dc 12944 jmp short 08b 28h ; eb 0d12959 jmp short 08b92h ; eb 0d 12945 12960 mov bx, di ; 89 fb 12946 12961 mov cx, word [bp-014h] ; 8b 4e ec 12947 12962 mov dx, ss ; 8c d2 12948 12963 lea ax, [bp-028h] ; 8d 46 d8 12949 call 053 89h ; e8 61 c812950 mov bx, 00d 8ah ; bb 8a0d12964 call 053f3h ; e8 61 c8 12965 mov bx, 00da2h ; bb a2 0d 12951 12966 mov cx, ds ; 8c d9 12952 12967 mov ax, strict word 00004h ; b8 04 00 12953 call 01931h ; e8 fe8d12968 call 01931h ; e8 94 8d 12954 12969 push word [bp-014h] ; ff 76 ec 12955 12970 push di ; 57 … … 12966 12981 movzx ax, byte [bp-008h] ; 0f b6 46 f8 12967 12982 push ax ; 50 12968 push 00c c2h ; 68 c20c12983 push 00cdah ; 68 da 0c 12969 12984 push strict byte 00004h ; 6a 04 12970 call 01972h ; e8 16 8e12985 call 01972h ; e8 ac 8d 12971 12986 add sp, strict byte 00018h ; 83 c4 18 12972 12987 movzx di, byte [bp-00ah] ; 0f b6 7e f6 … … 12996 13011 mov dx, strict word 00075h ; ba 75 00 12997 13012 mov ax, strict word 00040h ; b8 40 00 12998 call 01650h ; e8 ab8a13013 call 01650h ; e8 41 8a 12999 13014 db 0feh, 0c0h 13000 13015 ; inc al ; fe c0 … … 13002 13017 mov dx, strict word 00075h ; ba 75 00 13003 13018 mov ax, strict word 00040h ; b8 40 00 13004 call 0165eh ; e8 ab8a13005 jmp near 08c 53h ; e9 9d 0013019 call 0165eh ; e8 41 8a 13020 jmp near 08cbdh ; e9 9d 00 13006 13021 cmp dx, 0eb14h ; 81 fa 14 eb 13007 jne near 08c 53h ; 0f 85 95 0013022 jne near 08cbdh ; 0f 85 95 00 13008 13023 cmp ax, 00101h ; 3d 01 01 13009 jne near 08c 53h ; 0f 85 8e 0013024 jne near 08cbdh ; 0f 85 8e 00 13010 13025 mov es, [bp-00eh] ; 8e 46 f2 13011 13026 db 066h, 026h, 0c7h, 004h, 000h, 000h, 000h, 000h … … 13019 13034 mov ax, si ; 89 f0 13020 13035 mov dx, word [bp-020h] ; 8b 56 e0 13021 call 08 0e0h ; e8 f0 f413036 call 0814ah ; e8 f0 f4 13022 13037 test byte [bp-00228h], 080h ; f6 86 d8 fd 80 13023 13038 db 00fh, 095h, 0c0h … … 13060 13075 pop bp ; 5d 13061 13076 retn ; c3 13062 ahci_mem_alloc_: ; 0xf8c 6cLB 0x4313077 ahci_mem_alloc_: ; 0xf8cd6 LB 0x43 13063 13078 push bp ; 55 13064 13079 mov bp, sp ; 89 e5 … … 13070 13085 mov dx, 00413h ; ba 13 04 13071 13086 xor ax, ax ; 31 c0 13072 call 0166ch ; e8 f08913087 call 0166ch ; e8 86 89 13073 13088 test ax, ax ; 85 c0 13074 je short 08 ca5h ; 74 2513089 je short 08d0fh ; 74 25 13075 13090 dec ax ; 48 13076 13091 mov bx, ax ; 89 c3 … … 13079 13094 sal ax, 1 ; d1 e0 13080 13095 rcl dx, 1 ; d1 d2 13081 loop 08c 88h ; e2 fa13096 loop 08cf2h ; e2 fa 13082 13097 mov si, ax ; 89 c6 13083 13098 mov di, dx ; 89 d7 … … 13085 13100 shr di, 1 ; d1 ef 13086 13101 rcr si, 1 ; d1 de 13087 loop 08c 95h ; e2 fa13102 loop 08cffh ; e2 fa 13088 13103 mov dx, 00413h ; ba 13 04 13089 13104 xor ax, ax ; 31 c0 13090 call 0167ah ; e8 d78913105 call 0167ah ; e8 6d 89 13091 13106 mov ax, si ; 89 f0 13092 13107 lea sp, [bp-00ah] ; 8d 66 f6 … … 13098 13113 pop bp ; 5d 13099 13114 retn ; c3 13100 ahci_hba_init_: ; 0xf8 cafLB 0x12513115 ahci_hba_init_: ; 0xf8d19 LB 0x125 13101 13116 push bp ; 55 13102 13117 mov bp, sp ; 89 e5 … … 13110 13125 mov dx, strict word 0000eh ; ba 0e 00 13111 13126 mov ax, strict word 00040h ; b8 40 00 13112 call 0166ch ; e8 a78913127 call 0166ch ; e8 3d 89 13113 13128 mov bx, 00122h ; bb 22 01 13114 13129 mov word [bp-010h], ax ; 89 46 f0 … … 13127 13142 shr eax, 010h ; 66 c1 e8 10 13128 13143 xchg dx, ax ; 92 13129 call 08c 6ch ; e8 82 ff13144 call 08cd6h ; e8 82 ff 13130 13145 mov di, ax ; 89 c7 13131 13146 test ax, ax ; 85 c0 13132 je near 08 db3h ; 0f 84 c1 0013147 je near 08e1dh ; 0f 84 c1 00 13133 13148 mov es, [bp-010h] ; 8e 46 f0 13134 13149 mov word [es:bx+001eeh], di ; 26 89 bf ee 01 … … 13144 13159 mov dx, strict word 00004h ; ba 04 00 13145 13160 mov ax, si ; 89 f0 13146 call 07f 0fh ; e8 e9 f113161 call 07f79h ; e8 e9 f1 13147 13162 mov ax, strict word 00004h ; b8 04 00 13148 13163 xor cx, cx ; 31 c9 … … 13161 13176 xchg dx, ax ; 92 13162 13177 test AL, strict byte 001h ; a8 01 13163 jne short 08d 26h ; 75 de13178 jne short 08d90h ; 75 de 13164 13179 xor ax, ax ; 31 c0 13165 13180 xor cx, cx ; 31 c9 … … 13179 13194 mov bx, strict word 0001fh ; bb 1f 00 13180 13195 xor cx, cx ; 31 c9 13181 call 0 7fd2h ; e8 66 f213196 call 0803ch ; e8 66 f2 13182 13197 db 0feh, 0c0h 13183 13198 ; inc al ; fe c0 13184 13199 mov byte [bp-00eh], al ; 88 46 f2 13185 13200 mov byte [bp-00ch], 000h ; c6 46 f4 00 13186 jmp short 08d 80h ; eb 0913201 jmp short 08deah ; eb 09 13187 13202 inc byte [bp-00ch] ; fe 46 f4 13188 13203 cmp byte [bp-00ch], 020h ; 80 7e f4 20 13189 jnc short 08 db1h ; 73 3113204 jnc short 08e1bh ; 73 31 13190 13205 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 13191 13206 mov ax, strict word 00001h ; b8 01 00 13192 13207 xor dx, dx ; 31 d2 13193 jcxz 08d 91h ; e3 0613208 jcxz 08dfbh ; e3 06 13194 13209 sal ax, 1 ; d1 e0 13195 13210 rcl dx, 1 ; d1 d2 13196 loop 08d 8bh ; e2 fa13211 loop 08df5h ; e2 fa 13197 13212 mov bx, ax ; 89 c3 13198 13213 mov cx, dx ; 89 d1 13199 13214 mov dx, strict word 0000ch ; ba 0c 00 13200 13215 mov ax, si ; 89 f0 13201 call 0 7f99h ; e8 fc f113216 call 08003h ; e8 fc f1 13202 13217 test al, al ; 84 c0 13203 je short 08d 77h ; 74 d613218 je short 08de1h ; 74 d6 13204 13219 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 13205 13220 xor ax, ax ; 31 c0 13206 13221 mov dx, di ; 89 fa 13207 call 088 6bh ; e8 bf fa13222 call 088d5h ; e8 bf fa 13208 13223 dec byte [bp-00eh] ; fe 4e f2 13209 jne short 08d 77h ; 75 c613224 jne short 08de1h ; 75 c6 13210 13225 xor ax, ax ; 31 c0 13211 13226 lea sp, [bp-00ah] ; 8d 66 f6 … … 13217 13232 pop bp ; 5d 13218 13233 retn ; c3 13219 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 a3h, 08eh, 081h, 08eh, 087h, 08eh, 08dh, 08eh, 093h13220 db 08eh, 0 99h, 08eh, 09fh, 08eh, 0a3h, 08eh13221 _ahci_init: ; 0xf8 dd4LB 0xfe13234 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 00dh, 08fh, 0ebh, 08eh, 0f1h, 08eh, 0f7h, 08eh, 0fdh 13235 db 08eh, 003h, 08fh, 009h, 08fh, 00dh, 08fh 13236 _ahci_init: ; 0xf8e3e LB 0xfe 13222 13237 push bp ; 55 13223 13238 mov bp, sp ; 89 e5 … … 13227 13242 mov ax, 00601h ; b8 01 06 13228 13243 mov dx, strict word 00001h ; ba 01 00 13229 call 09 2f2h ; e8 0d 0513244 call 0935ch ; e8 0d 05 13230 13245 mov dx, ax ; 89 c2 13231 13246 cmp ax, strict word 0ffffh ; 3d ff ff 13232 je near 08 ecbh ; 0f 84 dd 0013247 je near 08f35h ; 0f 84 dd 00 13233 13248 xor al, al ; 30 c0 13234 13249 shr ax, 008h ; c1 e8 08 … … 13238 13253 xor ah, ah ; 30 e4 13239 13254 mov bx, strict word 00034h ; bb 34 00 13240 call 093 1dh ; e8 1a 0513255 call 09387h ; e8 1a 05 13241 13256 mov cl, al ; 88 c1 13242 13257 test cl, cl ; 84 c9 13243 je short 08e 2ch ; 74 2313258 je short 08e96h ; 74 23 13244 13259 movzx bx, cl ; 0f b6 d9 13245 13260 movzx di, byte [bp-008h] ; 0f b6 7e f8 … … 13247 13262 mov dx, di ; 89 fa 13248 13263 mov ax, si ; 89 f0 13249 call 093 1dh ; e8 02 0513264 call 09387h ; e8 02 05 13250 13265 cmp AL, strict byte 012h ; 3c 12 13251 je short 08e 2ch ; 74 0d13266 je short 08e96h ; 74 0d 13252 13267 mov al, cl ; 88 c8 13253 13268 db 0feh, 0c0h … … 13256 13271 mov dx, di ; 89 fa 13257 13272 mov ax, si ; 89 f0 13258 jmp short 08e 00h ; eb d413273 jmp short 08e6ah ; eb d4 13259 13274 test cl, cl ; 84 c9 13260 je near 08 ecbh ; 0f 84 99 0013275 je near 08f35h ; 0f 84 99 00 13261 13276 add cl, 002h ; 80 c1 02 13262 13277 movzx bx, cl ; 0f b6 d9 … … 13265 13280 mov dx, di ; 89 fa 13266 13281 mov ax, si ; 89 f0 13267 call 093 1dh ; e8 d6 0413282 call 09387h ; e8 d6 04 13268 13283 cmp AL, strict byte 010h ; 3c 10 13269 jne near 08 ecbh ; 0f 85 7e 0013284 jne near 08f35h ; 0f 85 7e 00 13270 13285 mov byte [bp-006h], 000h ; c6 46 fa 00 13271 13286 mov al, cl ; 88 c8 … … 13274 13289 mov dx, di ; 89 fa 13275 13290 mov ax, si ; 89 f0 13276 call 093 41h ; e8 e2 0413291 call 093abh ; e8 e2 04 13277 13292 mov dx, ax ; 89 c2 13278 13293 and ax, strict word 0000fh ; 25 0f 00 13279 13294 sub ax, strict word 00004h ; 2d 04 00 13280 13295 cmp ax, strict word 0000bh ; 3d 0b 00 13281 jnbe short 08 ea3h ; 77 3713296 jnbe short 08f0dh ; 77 37 13282 13297 push CS ; 0e 13283 13298 pop ES ; 07 13284 13299 mov cx, strict word 00008h ; b9 08 00 13285 mov di, 08 dbdh ; bf bd 8d13300 mov di, 08e27h ; bf 27 8e 13286 13301 repne scasb ; f2 ae 13287 13302 sal cx, 1 ; d1 e1 13288 13303 mov di, cx ; 89 cf 13289 mov ax, word [cs:di-07 23ch] ; 2e 8b 85 c4 8d13304 mov ax, word [cs:di-071d2h] ; 2e 8b 85 2e 8e 13290 13305 jmp ax ; ff e0 13291 13306 mov byte [bp-006h], 010h ; c6 46 fa 10 13292 jmp short 08 ea3h ; eb 1c13307 jmp short 08f0dh ; eb 1c 13293 13308 mov byte [bp-006h], 014h ; c6 46 fa 14 13294 jmp short 08 ea3h ; eb 1613309 jmp short 08f0dh ; eb 16 13295 13310 mov byte [bp-006h], 018h ; c6 46 fa 18 13296 jmp short 08 ea3h ; eb 1013311 jmp short 08f0dh ; eb 10 13297 13312 mov byte [bp-006h], 01ch ; c6 46 fa 1c 13298 jmp short 08 ea3h ; eb 0a13313 jmp short 08f0dh ; eb 0a 13299 13314 mov byte [bp-006h], 020h ; c6 46 fa 20 13300 jmp short 08 ea3h ; eb 0413315 jmp short 08f0dh ; eb 04 13301 13316 mov byte [bp-006h], 024h ; c6 46 fa 24 13302 13317 mov si, dx ; 89 d6 … … 13305 13320 mov al, byte [bp-006h] ; 8a 46 fa 13306 13321 test al, al ; 84 c0 13307 je short 08 ecbh ; 74 1913322 je short 08f35h ; 74 19 13308 13323 movzx bx, al ; 0f b6 d8 13309 13324 movzx dx, byte [bp-008h] ; 0f b6 56 f8 13310 13325 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13311 call 093 63h ; e8 a3 0413326 call 093cdh ; e8 a3 04 13312 13327 test AL, strict byte 001h ; a8 01 13313 je short 08 ecbh ; 74 0713328 je short 08f35h ; 74 07 13314 13329 and AL, strict byte 0f0h ; 24 f0 13315 13330 add ax, si ; 01 f0 13316 call 08 cafh ; e8 e4 fd13331 call 08d19h ; e8 e4 fd 13317 13332 lea sp, [bp-004h] ; 8d 66 fc 13318 13333 pop di ; 5f … … 13320 13335 pop bp ; 5d 13321 13336 retn ; c3 13322 apm_out_str_: ; 0xf8 ed2LB 0x3913337 apm_out_str_: ; 0xf8f3c LB 0x39 13323 13338 push bp ; 55 13324 13339 mov bp, sp ; 89 e5 … … 13326 13341 mov bx, ax ; 89 c3 13327 13342 cmp byte [bx], 000h ; 80 3f 00 13328 je short 08 ee7h ; 74 0a13343 je short 08f51h ; 74 0a 13329 13344 mov al, byte [bx] ; 8a 07 13330 13345 out DX, AL ; ee … … 13333 13348 db 00ah, 0c0h 13334 13349 ; or al, al ; 0a c0 13335 jne short 08 edfh ; 75 f813350 jne short 08f49h ; 75 f8 13336 13351 lea sp, [bp-002h] ; 8d 66 fe 13337 13352 pop bx ; 5b 13338 13353 pop bp ; 5d 13339 13354 retn ; c3 13340 db 02eh, 08fh, 0fah 13341 ; cs pop dx ; 2e 8f fa 13342 pop word [bx+si-071h] ; 8f 40 8f 13343 pop bx ; 5b 13344 db 08fh, 0fah 13345 ; pop dx ; 8f fa 13346 pop word [bp-00571h] ; 8f 86 8f fa 13347 db 08fh, 08bh, 08fh, 0cfh 13348 ; pop word [bp+di-03071h] ; 8f 8b 8f cf 13349 db 08fh, 0cfh 13350 ; pop di ; 8f cf 13351 db 08fh, 0cfh 13352 ; pop di ; 8f cf 13353 db 08fh, 0cah 13354 ; pop dx ; 8f ca 13355 db 08fh, 0cfh 13356 ; pop di ; 8f cf 13357 db 08fh, 0cfh 13358 ; pop di ; 8f cf 13359 db 08fh, 0c3h 13360 ; pop bx ; 8f c3 13361 db 08fh 13362 _apm_function: ; 0xf8f0b LB 0xf5 13355 cbw ; 98 13356 db 08fh, 064h, 090h 13357 ; pop word [si-070h] ; 8f 64 90 13358 stosb ; aa 13359 db 08fh, 0c5h 13360 ; pop bp ; 8f c5 13361 db 08fh, 064h, 090h 13362 ; pop word [si-070h] ; 8f 64 90 13363 db 0f0h, 08fh, 064h, 090h 13364 ; Illegal opcode ; f0 8f 64 90 13365 cmc ; f5 13366 db 08fh, 039h 13367 ; pop word [bx+di] ; 8f 39 13368 nop ; 90 13369 cmp word [bx+si-06fc7h], dx ; 39 90 39 90 13370 xor AL, strict byte 090h ; 34 90 13371 cmp word [bx+si-06fc7h], dx ; 39 90 39 90 13372 db 02dh 13373 nop ; 90 13374 _apm_function: ; 0xf8f75 LB 0xf5 13363 13375 push bp ; 55 13364 13376 mov bp, sp ; 89 e5 … … 13368 13380 xor ah, ah ; 30 e4 13369 13381 cmp ax, strict word 0000eh ; 3d 0e 00 13370 jnbe near 0 8fcfh ; 0f 87 b0 0013382 jnbe near 09039h ; 0f 87 b0 00 13371 13383 mov bx, ax ; 89 c3 13372 13384 add bx, ax ; 01 c3 13373 13385 mov dx, word [bp+018h] ; 8b 56 18 13374 13386 or dl, 001h ; 80 ca 01 13375 jmp word [cs:bx-07 113h] ; 2e ff a7 ed 8e13387 jmp word [cs:bx-070a9h] ; 2e ff a7 57 8f 13376 13388 mov word [bp+012h], 00102h ; c7 46 12 02 01 13377 13389 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 13378 13390 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 13379 jmp near 0 8ffah ; e9 ba 0013391 jmp near 09064h ; e9 ba 00 13380 13392 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 13381 mov word [bp+00ch], 095 54h ; c7 46 0c 54 9513393 mov word [bp+00ch], 095c4h ; c7 46 0c c4 95 13382 13394 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 13383 13395 mov ax, strict word 0fff0h ; b8 f0 ff 13384 13396 mov word [bp+006h], ax ; 89 46 06 13385 13397 mov word [bp+004h], ax ; 89 46 04 13386 jmp near 0 8ffah ; e9 9f 0013398 jmp near 09064h ; e9 9f 00 13387 13399 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 13388 13400 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 13397 13409 mov si, ax ; 89 c6 13398 13410 sal esi, 010h ; 66 c1 e6 10 13399 jmp near 0 8ffah ; e9 74 0013411 jmp near 09064h ; e9 74 00 13400 13412 sti ; fb 13401 13413 hlt ; f4 13402 jmp near 0 8ffah ; e9 6f 0013414 jmp near 09064h ; e9 6f 00 13403 13415 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 13404 je short 0 8fb0h ; 74 1f13416 je short 0901ah ; 74 1f 13405 13417 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 13406 je short 0 8fa8h ; 74 1113418 je short 09012h ; 74 11 13407 13419 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 13408 jne short 0 8fb8h ; 75 1b13420 jne short 09022h ; 75 1b 13409 13421 mov dx, 08900h ; ba 00 89 13410 mov ax, 00 cfah ; b8 fa 0c13411 call 08 ed2h ; e8 2c ff13412 jmp short 0 8ffah ; eb 5213422 mov ax, 00d12h ; b8 12 0d 13423 call 08f3ch ; e8 2c ff 13424 jmp short 09064h ; eb 52 13413 13425 mov dx, 08900h ; ba 00 89 13414 mov ax, 00d 02h ; b8 020d13415 jmp short 0 8fa3h ; eb f313426 mov ax, 00d1ah ; b8 1a 0d 13427 jmp short 0900dh ; eb f3 13416 13428 mov dx, 08900h ; ba 00 89 13417 mov ax, 00d 0ah ; b8 0a0d13418 jmp short 0 8fa3h ; eb eb13429 mov ax, 00d22h ; b8 22 0d 13430 jmp short 0900dh ; eb eb 13419 13431 or ah, 00ah ; 80 cc 0a 13420 13432 mov word [bp+012h], ax ; 89 46 12 13421 13433 mov word [bp+018h], dx ; 89 56 18 13422 jmp short 0 8ffah ; eb 3713434 jmp short 09064h ; eb 37 13423 13435 mov word [bp+012h], 00102h ; c7 46 12 02 01 13424 jmp short 0 8ffah ; eb 3013436 jmp short 09064h ; eb 30 13425 13437 or ah, 080h ; 80 cc 80 13426 jmp short 0 8fbbh ; eb ec13427 mov bx, 00d 8ah ; bb 8a0d13438 jmp short 09025h ; eb ec 13439 mov bx, 00da2h ; bb a2 0d 13428 13440 mov cx, ds ; 8c d9 13429 13441 mov ax, strict word 00004h ; b8 04 00 13430 call 01931h ; e8 57 8913442 call 01931h ; e8 ed 88 13431 13443 push word [bp+00ch] ; ff 76 0c 13432 13444 push word [bp+012h] ; ff 76 12 13433 push 00d 13h ; 68 130d13445 push 00d2bh ; 68 2b 0d 13434 13446 push strict byte 00004h ; 6a 04 13435 call 01972h ; e8 8a8913447 call 01972h ; e8 20 89 13436 13448 add sp, strict byte 00008h ; 83 c4 08 13437 13449 mov ax, word [bp+012h] ; 8b 46 12 … … 13444 13456 pop bp ; 5d 13445 13457 retn ; c3 13446 pci16_select_reg_: ; 0xf90 00LB 0x2413458 pci16_select_reg_: ; 0xf906a LB 0x24 13447 13459 push bp ; 55 13448 13460 mov bp, sp ; 89 e5 … … 13461 13473 pop bp ; 5d 13462 13474 retn ; c3 13463 pci16_find_device_: ; 0xf90 24LB 0xf713475 pci16_find_device_: ; 0xf908e LB 0xf7 13464 13476 push bp ; 55 13465 13477 mov bp, sp ; 89 e5 … … 13475 13487 mov byte [bp-008h], 000h ; c6 46 f8 00 13476 13488 test bl, 007h ; f6 c3 07 13477 jne short 090 6ch ; 75 2d13489 jne short 090d6h ; 75 2d 13478 13490 mov dx, strict word 0000eh ; ba 0e 00 13479 13491 mov ax, bx ; 89 d8 13480 call 090 00h ; e8 b9 ff13492 call 0906ah ; e8 b9 ff 13481 13493 mov dx, 00cfeh ; ba fe 0c 13482 13494 in AL, DX ; ec … … 13485 13497 mov byte [bp-006h], al ; 88 46 fa 13486 13498 cmp AL, strict byte 0ffh ; 3c ff 13487 jne short 090 5ah ; 75 0613499 jne short 090c4h ; 75 06 13488 13500 add bx, strict byte 00008h ; 83 c3 08 13489 jmp near 09 0edh ; e9 93 0013501 jmp near 09157h ; e9 93 00 13490 13502 test byte [bp-006h], 080h ; f6 46 fa 80 13491 je short 090 67h ; 74 0713503 je short 090d1h ; 74 07 13492 13504 mov word [bp-00ah], strict word 00001h ; c7 46 f6 01 00 13493 jmp short 090 6ch ; eb 0513505 jmp short 090d6h ; eb 05 13494 13506 mov word [bp-00ah], strict word 00008h ; c7 46 f6 08 00 13495 13507 mov al, byte [bp-006h] ; 8a 46 fa 13496 13508 and AL, strict byte 007h ; 24 07 13497 13509 cmp AL, strict byte 001h ; 3c 01 13498 jne short 090 94h ; 75 1f13510 jne short 090feh ; 75 1f 13499 13511 mov ax, bx ; 89 d8 13500 13512 shr ax, 008h ; c1 e8 08 13501 13513 test ax, ax ; 85 c0 13502 jne short 090 94h ; 75 1613514 jne short 090feh ; 75 16 13503 13515 mov dx, strict word 0001ah ; ba 1a 00 13504 13516 mov ax, bx ; 89 d8 13505 call 090 00h ; e8 7a ff13517 call 0906ah ; e8 7a ff 13506 13518 mov dx, 00cfeh ; ba fe 0c 13507 13519 in AL, DX ; ec … … 13509 13521 ; sub ah, ah ; 2a e4 13510 13522 cmp al, byte [bp-008h] ; 3a 46 f8 13511 jbe short 090 94h ; 76 0313523 jbe short 090feh ; 76 03 13512 13524 mov byte [bp-008h], al ; 88 46 f8 13513 13525 test di, di ; 85 ff 13514 je short 09 09dh ; 74 0513526 je short 09107h ; 74 05 13515 13527 mov dx, strict word 00008h ; ba 08 00 13516 jmp short 09 09fh ; eb 0213528 jmp short 09109h ; eb 02 13517 13529 xor dx, dx ; 31 d2 13518 13530 mov ax, bx ; 89 d8 13519 call 090 00h ; e8 5c ff13531 call 0906ah ; e8 5c ff 13520 13532 mov dx, 00cfch ; ba fc 0c 13521 13533 in eax, DX ; 66 ed … … 13528 13540 mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00 13529 13541 test di, di ; 85 ff 13530 je short 09 0ceh ; 74 0f13542 je short 09138h ; 74 0f 13531 13543 mov cx, strict word 00008h ; b9 08 00 13532 13544 shr dx, 1 ; d1 ea 13533 13545 rcr ax, 1 ; d1 d8 13534 loop 09 0c2h ; e2 fa13546 loop 0912ch ; e2 fa 13535 13547 mov word [bp-00eh], ax ; 89 46 f2 13536 13548 mov word [bp-00ch], dx ; 89 56 f4 13537 13549 mov ax, word [bp-00ch] ; 8b 46 f4 13538 13550 cmp ax, word [bp-014h] ; 3b 46 ec 13539 jne short 09 0deh ; 75 0813551 jne short 09148h ; 75 08 13540 13552 mov ax, word [bp-00eh] ; 8b 46 f2 13541 13553 cmp ax, word [bp-012h] ; 3b 46 ee 13542 je short 09 0e4h ; 74 0613554 je short 0914eh ; 74 06 13543 13555 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 13544 je short 09 0eah ; 74 0613556 je short 09154h ; 74 06 13545 13557 dec si ; 4e 13546 13558 cmp si, strict byte 0ffffh ; 83 fe ff 13547 je short 09 0fch ; 74 1213559 je short 09166h ; 74 12 13548 13560 add bx, word [bp-00ah] ; 03 5e f6 13549 13561 mov dx, bx ; 89 da … … 13551 13563 movzx ax, byte [bp-008h] ; 0f b6 46 f8 13552 13564 cmp dx, ax ; 39 c2 13553 jbe near 090 3ah ; 0f 86 3e ff13565 jbe near 090a4h ; 0f 86 3e ff 13554 13566 cmp si, strict byte 0ffffh ; 83 fe ff 13555 jne short 091 05h ; 75 0413567 jne short 0916fh ; 75 04 13556 13568 mov ax, bx ; 89 d8 13557 jmp short 091 08h ; eb 0313569 jmp short 09172h ; eb 03 13558 13570 mov ax, strict word 0ffffh ; b8 ff ff 13559 13571 lea sp, [bp-004h] ; 8d 66 fc … … 13562 13574 pop bp ; 5d 13563 13575 retn ; c3 13564 std ; fd 13565 xchg cx, ax ; 91 13566 pop SS ; 17 13567 xchg dx, ax ; 92 13568 sub dl, byte [bp+si-06dc1h] ; 2a 92 3f 92 13569 push dx ; 52 13570 xchg dx, ax ; 92 13571 db 065h, 092h 13572 ; gs xchg dx, ax ; 65 92 13573 _pci16_function: ; 0xf911b LB 0x1d7 13576 db 067h, 092h, 081h, 092h, 094h, 092h, 0a9h, 092h, 0bch, 092h, 0cfh, 092h 13577 _pci16_function: ; 0xf9185 LB 0x1d7 13574 13578 push bp ; 55 13575 13579 mov bp, sp ; 89 e5 … … 13585 13589 xor ah, ah ; 30 e4 13586 13590 cmp bx, strict byte 00003h ; 83 fb 03 13587 jc short 091 54h ; 72 1a13588 jbe short 09 1ach ; 76 7013591 jc short 091beh ; 72 1a 13592 jbe short 09216h ; 76 70 13589 13593 cmp bx, strict byte 0000eh ; 83 fb 0e 13590 je near 092 79h ; 0f 84 36 0113594 je near 092e3h ; 0f 84 36 01 13591 13595 cmp bx, strict byte 00008h ; 83 fb 08 13592 jc near 09 2beh ; 0f 82 74 0113596 jc near 09328h ; 0f 82 74 01 13593 13597 cmp bx, strict byte 0000dh ; 83 fb 0d 13594 jbe near 09 1d1h ; 0f 86 80 0013595 jmp near 09 2beh ; e9 6a 0113598 jbe near 0923bh ; 0f 86 80 00 13599 jmp near 09328h ; e9 6a 01 13596 13600 cmp bx, strict byte 00002h ; 83 fb 02 13597 je short 091 7ch ; 74 2313601 je short 091e6h ; 74 23 13598 13602 cmp bx, strict byte 00001h ; 83 fb 01 13599 jne near 09 2beh ; 0f 85 5e 0113603 jne near 09328h ; 0f 85 5e 01 13600 13604 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 13601 13605 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 13603 13607 mov word [bp+018h], 04350h ; c7 46 18 50 43 13604 13608 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 13605 jmp near 09 2ebh ; e9 6f 0113609 jmp near 09355h ; e9 6f 01 13606 13610 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 13607 jne short 091 88h ; 75 0613611 jne short 091f2h ; 75 06 13608 13612 or ah, 083h ; 80 cc 83 13609 jmp near 09 2e4h ; e9 5c 0113613 jmp near 0934eh ; e9 5c 01 13610 13614 mov bx, word [bp+008h] ; 8b 5e 08 13611 13615 mov dx, word [bp+01ch] ; 8b 56 1c 13612 13616 mov ax, word [bp+018h] ; 8b 46 18 13613 13617 xor cx, cx ; 31 c9 13614 call 090 24h ; e8 8e fe13618 call 0908eh ; e8 8e fe 13615 13619 cmp ax, strict word 0ffffh ; 3d ff ff 13616 jne short 09 1a6h ; 75 0b13620 jne short 09210h ; 75 0b 13617 13621 mov ax, word [bp+020h] ; 8b 46 20 13618 13622 xor ah, ah ; 30 e4 13619 13623 or ah, 086h ; 80 cc 86 13620 jmp near 09 2e4h ; e9 3e 0113624 jmp near 0934eh ; e9 3e 01 13621 13625 mov word [bp+014h], ax ; 89 46 14 13622 jmp near 09 2ebh ; e9 3f 0113626 jmp near 09355h ; e9 3f 01 13623 13627 mov bx, word [bp+008h] ; 8b 5e 08 13624 13628 mov ax, word [bp+01ch] ; 8b 46 1c 13625 13629 mov dx, word [bp+01eh] ; 8b 56 1e 13626 13630 mov cx, strict word 00001h ; b9 01 00 13627 call 090 24h ; e8 69 fe13631 call 0908eh ; e8 69 fe 13628 13632 cmp ax, strict word 0ffffh ; 3d ff ff 13629 jne short 09 1cbh ; 75 0b13633 jne short 09235h ; 75 0b 13630 13634 mov ax, word [bp+020h] ; 8b 46 20 13631 13635 xor ah, ah ; 30 e4 13632 13636 or ah, 086h ; 80 cc 86 13633 jmp near 09 2e4h ; e9 19 0113637 jmp near 0934eh ; e9 19 01 13634 13638 mov word [bp+014h], ax ; 89 46 14 13635 jmp near 09 2ebh ; e9 1a 0113639 jmp near 09355h ; e9 1a 01 13636 13640 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 13637 jc short 09 1deh ; 72 0613641 jc short 09248h ; 72 06 13638 13642 or ah, 087h ; 80 cc 87 13639 jmp near 09 2e4h ; e9 06 0113643 jmp near 0934eh ; e9 06 01 13640 13644 mov dx, word [bp+004h] ; 8b 56 04 13641 13645 mov ax, word [bp+014h] ; 8b 46 14 13642 call 090 00h ; e8 19 fe13646 call 0906ah ; e8 19 fe 13643 13647 mov bx, word [bp+020h] ; 8b 5e 20 13644 13648 xor bh, bh ; 30 ff 13645 13649 sub bx, strict byte 00008h ; 83 eb 08 13646 13650 cmp bx, strict byte 00005h ; 83 fb 05 13647 jnbe near 09 2ebh ; 0f 87 f5 0013651 jnbe near 09355h ; 0f 87 f5 00 13648 13652 add bx, bx ; 01 db 13649 jmp word [cs:bx-06e f1h] ; 2e ff a7 0f9113653 jmp word [cs:bx-06e87h] ; 2e ff a7 79 91 13650 13654 mov bx, word [bp+01ch] ; 8b 5e 1c 13651 13655 xor bl, bl ; 30 db … … 13658 13662 or bx, ax ; 09 c3 13659 13663 mov word [bp+01ch], bx ; 89 5e 1c 13660 jmp near 09 2ebh ; e9 d4 0013664 jmp near 09355h ; e9 d4 00 13661 13665 mov dx, word [bp+004h] ; 8b 56 04 13662 13666 xor dh, dh ; 30 f6 … … 13665 13669 in ax, DX ; ed 13666 13670 mov word [bp+01ch], ax ; 89 46 1c 13667 jmp near 09 2ebh ; e9 c1 0013671 jmp near 09355h ; e9 c1 00 13668 13672 mov dx, 00cfch ; ba fc 0c 13669 13673 in eax, DX ; 66 ed … … 13674 13678 mov word [bp+01ch], ax ; 89 46 1c 13675 13679 mov word [bp+01eh], dx ; 89 56 1e 13676 jmp near 09 2ebh ; e9 ac 0013680 jmp near 09355h ; e9 ac 00 13677 13681 mov ax, word [bp+01ch] ; 8b 46 1c 13678 13682 mov dx, word [bp+004h] ; 8b 56 04 … … 13681 13685 add dx, 00cfch ; 81 c2 fc 0c 13682 13686 out DX, AL ; ee 13683 jmp near 09 2ebh ; e9 99 0013687 jmp near 09355h ; e9 99 00 13684 13688 mov ax, word [bp+01ch] ; 8b 46 1c 13685 13689 mov dx, word [bp+004h] ; 8b 56 04 … … 13688 13692 add dx, 00cfch ; 81 c2 fc 0c 13689 13693 out DX, ax ; ef 13690 jmp near 09 2ebh ; e9 86 0013694 jmp near 09355h ; e9 86 00 13691 13695 mov ax, word [bp+01ch] ; 8b 46 1c 13692 13696 mov cx, word [bp+01eh] ; 8b 4e 1e … … 13697 13701 ; mov ax, cx ; 8b c1 13698 13702 out DX, eax ; 66 ef 13699 jmp short 09 2ebh ; eb 7213703 jmp short 09355h ; eb 72 13700 13704 mov bx, word [bp+004h] ; 8b 5e 04 13701 13705 mov es, [bp+026h] ; 8e 46 26 … … 13704 13708 mov cx, word [0f4a0h] ; 8b 0e a0 f4 13705 13709 cmp cx, word [es:bx] ; 26 3b 0f 13706 jbe short 09 29fh ; 76 1113710 jbe short 09309h ; 76 11 13707 13711 mov ax, word [bp+020h] ; 8b 46 20 13708 13712 xor ah, ah ; 30 e4 … … 13710 13714 mov word [bp+020h], ax ; 89 46 20 13711 13715 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 13712 jmp short 09 2b3h ; eb 1413716 jmp short 0931dh ; eb 14 13713 13717 les di, [es:bx+002h] ; 26 c4 7f 02 13714 13718 mov si, 0f2c0h ; be c0 f2 … … 13722 13726 les bx, [bp-008h] ; c4 5e f8 13723 13727 mov word [es:bx], ax ; 26 89 07 13724 jmp short 09 2ebh ; eb 2d13725 mov bx, 00d 8ah ; bb 8a0d13728 jmp short 09355h ; eb 2d 13729 mov bx, 00da2h ; bb a2 0d 13726 13730 mov cx, ds ; 8c d9 13727 13731 mov ax, strict word 00004h ; b8 04 00 13728 call 01931h ; e8 68 8613732 call 01931h ; e8 fe 85 13729 13733 mov ax, word [bp+014h] ; 8b 46 14 13730 13734 push ax ; 50 13731 13735 mov ax, word [bp+020h] ; 8b 46 20 13732 13736 push ax ; 50 13733 push 00d 46h ; 68 460d13737 push 00d5eh ; 68 5e 0d 13734 13738 push strict byte 00004h ; 6a 04 13735 call 01972h ; e8 998613739 call 01972h ; e8 2f 86 13736 13740 add sp, strict byte 00008h ; 83 c4 08 13737 13741 mov ax, word [bp+020h] ; 8b 46 20 … … 13745 13749 pop bp ; 5d 13746 13750 retn ; c3 13747 pci_find_classcode_: ; 0xf9 2f2LB 0x2b13751 pci_find_classcode_: ; 0xf935c LB 0x2b 13748 13752 push bp ; 55 13749 13753 mov bp, sp ; 89 e5 … … 13760 13764 int 01ah ; cd 1a 13761 13765 cmp ah, 000h ; 80 fc 00 13762 je near 093 13h ; 0f 84 03 0013766 je near 0937dh ; 0f 84 03 00 13763 13767 mov bx, strict word 0ffffh ; bb ff ff 13764 13768 mov ax, bx ; 89 d8 … … 13769 13773 pop bp ; 5d 13770 13774 retn ; c3 13771 pci_read_config_byte_: ; 0xf93 1dLB 0x2413775 pci_read_config_byte_: ; 0xf9387 LB 0x24 13772 13776 push bp ; 55 13773 13777 mov bp, sp ; 89 e5 … … 13788 13792 pop bp ; 5d 13789 13793 retn ; c3 13790 pci_read_config_word_: ; 0xf93 41LB 0x2213794 pci_read_config_word_: ; 0xf93ab LB 0x22 13791 13795 push bp ; 55 13792 13796 mov bp, sp ; 89 e5 … … 13807 13811 pop bp ; 5d 13808 13812 retn ; c3 13809 pci_read_config_dword_: ; 0xf93 63LB 0x2713813 pci_read_config_dword_: ; 0xf93cd LB 0x27 13810 13814 push bp ; 55 13811 13815 mov bp, sp ; 89 e5 … … 13828 13832 pop bp ; 5d 13829 13833 retn ; c3 13830 vds_is_present_: ; 0xf93 8aLB 0x1d13834 vds_is_present_: ; 0xf93f4 LB 0x1d 13831 13835 push bx ; 53 13832 13836 push bp ; 55 … … 13836 13840 mov es, ax ; 8e c0 13837 13841 test byte [es:bx], 020h ; 26 f6 07 20 13838 je short 09 3a2h ; 74 0613842 je short 0940ch ; 74 06 13839 13843 mov ax, strict word 00001h ; b8 01 00 13840 13844 pop bp ; 5d … … 13845 13849 pop bx ; 5b 13846 13850 retn ; c3 13847 vds_real_to_lin_: ; 0xf9 3a7LB 0x1e13851 vds_real_to_lin_: ; 0xf9411 LB 0x1e 13848 13852 push bx ; 53 13849 13853 push cx ; 51 … … 13856 13860 sal ax, 1 ; d1 e0 13857 13861 rcl dx, 1 ; d1 d2 13858 loop 09 3b5h ; e2 fa13862 loop 0941fh ; e2 fa 13859 13863 xor cx, cx ; 31 c9 13860 13864 add ax, bx ; 01 d8 … … 13864 13868 pop bx ; 5b 13865 13869 retn ; c3 13866 vds_build_sg_list_: ; 0xf9 3c5LB 0x7913870 vds_build_sg_list_: ; 0xf942f LB 0x79 13867 13871 push bp ; 55 13868 13872 mov bp, sp ; 89 e5 … … 13878 13882 mov bx, word [bp+006h] ; 8b 5e 06 13879 13883 mov word [es:di+002h], bx ; 26 89 5d 02 13880 call 09 3a7h ; e8 c3 ff13884 call 09411h ; e8 c3 ff 13881 13885 mov es, si ; 8e c6 13882 13886 mov word [es:di+004h], ax ; 26 89 45 04 13883 13887 mov word [es:di+006h], dx ; 26 89 55 06 13884 13888 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 13885 call 093 8ah ; e8 93 ff13889 call 093f4h ; e8 93 ff 13886 13890 test ax, ax ; 85 c0 13887 je short 094 0eh ; 74 1313891 je short 09478h ; 74 13 13888 13892 mov es, si ; 8e c6 13889 13893 mov ax, 08105h ; b8 05 81 13890 13894 mov dx, strict word 00000h ; ba 00 00 13891 13895 int 04bh ; cd 4b 13892 jc near 094 0bh ; 0f 82 02 0013896 jc near 09475h ; 0f 82 02 00 13893 13897 db 032h, 0c0h 13894 13898 ; xor al, al ; 32 c0 13895 13899 cbw ; 98 13896 jmp short 094 35h ; eb 2713900 jmp short 0949fh ; eb 27 13897 13901 mov es, si ; 8e c6 13898 13902 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 13911 13915 pop bp ; 5d 13912 13916 retn 00004h ; c2 04 00 13913 vds_free_sg_list_: ; 0xf94 3e LB 0x3213917 vds_free_sg_list_: ; 0xf94a8 LB 0x38 13914 13918 push bp ; 55 13915 13919 mov bp, sp ; 89 e5 … … 13917 13921 push di ; 57 13918 13922 mov bx, ax ; 89 c3 13919 call 093 8ah ; e8 42 ff13923 call 093f4h ; e8 42 ff 13920 13924 test ax, ax ; 85 c0 13921 je short 094 5fh ; 74 1313925 je short 094c9h ; 74 13 13922 13926 mov di, bx ; 89 df 13923 13927 mov es, dx ; 8e c2 … … 13925 13929 mov dx, strict word 00000h ; ba 00 00 13926 13930 int 04bh ; cd 4b 13927 jc near 094 5eh ; 0f 82 02 0013931 jc near 094c8h ; 0f 82 02 00 13928 13932 db 032h, 0c0h 13929 13933 ; xor al, al ; 32 c0 … … 13936 13940 pop bp ; 5d 13937 13941 retn ; c3 13938 times 0x 2db 013939 __U4D: ; 0xf94 70 LB 0x3913942 times 0x8 db 0 13943 __U4D: ; 0xf94e0 LB 0x39 13940 13944 pushfw ; 9c 13941 13945 push eax ; 66 50 … … 13967 13971 popfw ; 9d 13968 13972 retn ; c3 13969 __U4M: ; 0xf9 4a9 LB 0x3113973 __U4M: ; 0xf9519 LB 0x31 13970 13974 pushfw ; 9c 13971 13975 push eax ; 66 50 … … 13992 13996 popfw ; 9d 13993 13997 retn ; c3 13994 _fmemset_: ; 0xf9 4da LB 0xd13998 _fmemset_: ; 0xf954a LB 0xd 13995 13999 push di ; 57 13996 14000 mov es, dx ; 8e c2 … … 14002 14006 pop di ; 5f 14003 14007 retn ; c3 14004 _fmemcpy_: ; 0xf9 4e7 LB 0x3314008 _fmemcpy_: ; 0xf9557 LB 0x33 14005 14009 push bp ; 55 14006 14010 db 08bh, 0ech … … 14022 14026 leave ; c9 14023 14027 retn ; c3 14024 add byte [bx+si ], dh ; 00 3014028 add byte [bx+si-05d6bh], ah ; 00 a0 95 a2 14025 14029 xchg bp, ax ; 95 14026 xor dl, byte [di-06acah] ; 32 95 36 95 14027 db 036h, 095h 14028 ; ss xchg bp, ax ; 36 95 14029 db 036h, 095h 14030 ; ss xchg bp, ax ; 36 95 14031 cmp byte [di-06ac8h], dl ; 38 95 38 95 14032 cmp dl, byte [di-06ac2h] ; 3a 95 3e 95 14033 db 03eh, 095h 14034 ; ds xchg bp, ax ; 3e 95 14035 inc ax ; 40 14030 cmpsb ; a6 14036 14031 xchg bp, ax ; 95 14037 inc bp ; 4514032 cmpsb ; a6 14038 14033 xchg bp, ax ; 95 14039 inc di ; 4714034 cmpsb ; a6 14040 14035 xchg bp, ax ; 95 14041 apm_worker: ; 0xf951a LB 0x3a 14036 test AL, strict byte 095h ; a8 95 14037 test AL, strict byte 095h ; a8 95 14038 stosb ; aa 14039 xchg bp, ax ; 95 14040 scasb ; ae 14041 xchg bp, ax ; 95 14042 scasb ; ae 14043 xchg bp, ax ; 95 14044 mov AL, strict byte 095h ; b0 95 14045 mov CH, strict byte 095h ; b5 95 14046 mov BH, strict byte 095h ; b7 95 14047 apm_worker: ; 0xf958a LB 0x3a 14042 14048 sti ; fb 14043 14049 push ax ; 50 … … 14051 14057 pop ax ; 58 14052 14058 mov AH, strict byte 053h ; b4 53 14053 jnc short 095 50h ; 73 2514054 jmp word [cs:bp-06 b00h] ; 2e ff a6 00 9514055 jmp short 095 4eh ; eb 1c14059 jnc short 095c0h ; 73 25 14060 jmp word [cs:bp-06a90h] ; 2e ff a6 70 95 14061 jmp short 095beh ; eb 1c 14056 14062 sti ; fb 14057 14063 hlt ; f4 14058 jmp short 095 4eh ; eb 1814059 jmp short 095 4eh ; eb 1614060 jmp short 095 50h ; eb 1614064 jmp short 095beh ; eb 18 14065 jmp short 095beh ; eb 16 14066 jmp short 095c0h ; eb 16 14061 14067 mov AH, strict byte 080h ; b4 80 14062 jmp short 095 52h ; eb 1414063 jmp short 095 50h ; eb 1014068 jmp short 095c2h ; eb 14 14069 jmp short 095c0h ; eb 10 14064 14070 mov ax, 00102h ; b8 02 01 14065 jmp short 095 4eh ; eb 0914066 jmp short 095 4eh ; eb 0714071 jmp short 095beh ; eb 09 14072 jmp short 095beh ; eb 07 14067 14073 mov BL, strict byte 000h ; b3 00 14068 14074 mov cx, strict word 00000h ; b9 00 00 14069 jmp short 095 4eh ; eb 0014075 jmp short 095beh ; eb 00 14070 14076 clc ; f8 14071 14077 retn ; c3 … … 14073 14079 stc ; f9 14074 14080 retn ; c3 14075 apm_pm16_entry: ; 0xf95 54 LB 0x1114081 apm_pm16_entry: ; 0xf95c4 LB 0x11 14076 14082 mov AH, strict byte 002h ; b4 02 14077 14083 push DS ; 1e … … 14081 14087 add bp, strict byte 00008h ; 83 c5 08 14082 14088 mov ds, bp ; 8e dd 14083 call 095 1ah ; e8 b8 ff14089 call 0958ah ; e8 b8 ff 14084 14090 pop bp ; 5d 14085 14091 pop DS ; 1f 14086 14092 retf ; cb 14087 14093 14088 ; Padding 0x44 9b bytes at 0xf956514089 times 17 563db 014094 ; Padding 0x442b bytes at 0xf95d5 14095 times 17451 db 0 14090 14096 14091 14097 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 14134 14140 add bp, strict byte 00008h ; 83 c5 08 14135 14141 push ebp ; 66 55 14136 mov bp, 095 56h ; bd 56 9514142 mov bp, 095c6h ; bd c6 95 14137 14143 add byte [bx+si], al ; 00 00 14138 14144 push ebp ; 66 55 … … 14525 14531 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 14526 14532 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 058h, 04dh 14527 eoi_jmp_post: ; 0xfe030 LB 0xb 14528 call 0e03bh ; e8 08 00 14533 eoi_both_pics: ; 0xfe030 LB 0x4 14534 mov AL, strict byte 020h ; b0 20 14535 out strict byte 0a0h, AL ; e6 a0 14536 eoi_master_pic: ; 0xfe034 LB 0x5 14537 mov AL, strict byte 020h ; b0 20 14538 out strict byte 020h, AL ; e6 20 14539 retn ; c3 14540 set_int_vects: ; 0xfe039 LB 0xb 14541 mov word [bx], ax ; 89 07 14542 mov word [bx+002h], dx ; 89 57 02 14543 add bx, strict byte 00004h ; 83 c3 04 14544 loop 0e039h ; e2 f6 14545 retn ; c3 14546 eoi_jmp_post: ; 0xfe044 LB 0x17 14547 call 0e030h ; e8 e9 ff 14529 14548 db 033h, 0c0h 14530 14549 ; xor ax, ax ; 33 c0 14531 14550 mov ds, ax ; 8e d8 14532 14551 jmp far [00467h] ; ff 2e 67 04 14533 eoi_both_pics: ; 0xfe03b LB 0x414534 mov AL, strict byte 020h ; b0 2014535 out strict byte 0a0h, AL ; e6 a014536 eoi_master_pic: ; 0xfe03f LB 0x514537 mov AL, strict byte 020h ; b0 2014538 out strict byte 020h, AL ; e6 2014539 retn ; c314540 set_int_vects: ; 0xfe044 LB 0x1714541 mov word [bx], ax ; 89 0714542 mov word [bx+002h], dx ; 89 57 0214543 add bx, strict byte 00004h ; 83 c3 0414544 loop 0e044h ; e2 f614545 retn ; c314546 14552 times 0xa db 0 14547 14553 db 'XM' 14548 post: ; 0xfe05b LB 0x 4c14554 post: ; 0xfe05b LB 0x65 14549 14555 cli ; fa 14550 14556 smsw ax ; 0f 01 e0 14551 14557 test ax, strict word 00001h ; a9 01 00 14552 je short 0e068h ; 74 04 14558 je short 0e06ah ; 74 06 14559 mov AL, strict byte 001h ; b0 01 14553 14560 out strict byte 092h, AL ; e6 92 14554 jmp short 0e06 6h ; eb fe14561 jmp short 0e068h ; eb fe 14555 14562 mov AL, strict byte 00fh ; b0 0f 14556 14563 out strict byte 070h, AL ; e6 70 14557 14564 in AL, strict byte 071h ; e4 71 14558 14565 xchg ah, al ; 86 c4 14566 in AL, strict byte 064h ; e4 64 14567 test AL, strict byte 004h ; a8 04 14568 je short 0e089h ; 74 11 14569 db 08ah, 0c4h 14570 ; mov al, ah ; 8a c4 14571 db 00ah, 0c0h 14572 ; or al, al ; 0a c0 14573 jne short 0e089h ; 75 0b 14574 push strict byte 00040h ; 6a 40 14575 pop DS ; 1f 14576 cmp word [word 00072h], 01234h ; 81 3e 72 00 34 12 14577 jne short 0e064h ; 75 db 14559 14578 mov AL, strict byte 00fh ; b0 0f 14560 14579 out strict byte 070h, AL ; e6 70 … … 14564 14583 ; mov al, ah ; 8a c4 14565 14584 cmp AL, strict byte 009h ; 3c 09 14566 je short 0e0 90h ; 74 1214585 je short 0e0a9h ; 74 12 14567 14586 cmp AL, strict byte 00ah ; 3c 0a 14568 je short 0e0 90h ; 74 0e14587 je short 0e0a9h ; 74 0e 14569 14588 db 032h, 0c0h 14570 14589 ; xor al, al ; 32 c0 … … 14578 14597 ; mov al, ah ; 8a c4 14579 14598 cmp AL, strict byte 000h ; 3c 00 14580 je short 0e0 a7h ; 74 1114599 je short 0e0c0h ; 74 11 14581 14600 cmp AL, strict byte 00dh ; 3c 0d 14582 jnc short 0e0 a7h ; 73 0d14601 jnc short 0e0c0h ; 73 0d 14583 14602 cmp AL, strict byte 009h ; 3c 09 14584 jne short 0e0 a1h ; 75 0314585 jmp near 0e3 4bh ; e9 aa0214603 jne short 0e0bah ; 75 03 14604 jmp near 0e366h ; e9 ac 02 14586 14605 cmp AL, strict byte 005h ; 3c 05 14587 je short 0e0 30h ; 74 8b14588 jmp short 0e0 a7h ; eb 0014589 normal_post: ; 0xfe0 a7 LB 0x21c14606 je short 0e044h ; 74 86 14607 jmp short 0e0c0h ; eb 00 14608 normal_post: ; 0xfe0c0 LB 0x203 14590 14609 mov ax, 07800h ; b8 00 78 14591 14610 db 08bh, 0e0h … … 14609 14628 add bx, 01000h ; 81 c3 00 10 14610 14629 cmp bx, 09000h ; 81 fb 00 90 14611 jnc short 0e0 dah ; 73 0b14630 jnc short 0e0f3h ; 73 0b 14612 14631 mov es, bx ; 8e c3 14613 14632 db 033h, 0ffh … … 14615 14634 mov cx, 08000h ; b9 00 80 14616 14635 rep stosw ; f3 ab 14617 jmp short 0e0 c5h ; eb eb14636 jmp short 0e0deh ; eb eb 14618 14637 mov es, bx ; 8e c3 14619 14638 db 033h, 0ffh … … 14626 14645 pop DS ; 1f 14627 14646 cld ; fc 14628 call 01777h ; e8 8c3614629 call 0e8e0h ; e8 f20714647 call 01777h ; e8 73 36 14648 call 0e8e0h ; e8 d9 07 14630 14649 db 033h, 0dbh 14631 14650 ; xor bx, bx ; 33 db … … 14634 14653 mov ax, 0ff53h ; b8 53 ff 14635 14654 mov dx, 0f000h ; ba 00 f0 14636 call 0e0 44h ; e8 46ff14655 call 0e039h ; e8 22 ff 14637 14656 mov bx, 001a0h ; bb a0 01 14638 14657 mov cx, strict word 00010h ; b9 10 00 14639 call 0e0 44h ; e8 3dff14658 call 0e039h ; e8 19 ff 14640 14659 mov ax, 0027fh ; b8 7f 02 14641 14660 mov word [00413h], ax ; a3 13 04 … … 14672 14691 mov ax, 0f000h ; b8 00 f0 14673 14692 mov word [00072h], ax ; a3 72 00 14674 call 0e778h ; e8 08 06 14675 call 0f13ch ; e8 c9 0f 14676 call 0f1c1h ; e8 4b 10 14693 call 0e778h ; e8 ef 05 14694 call 0f13ch ; e8 b0 0f 14695 call 0f1c1h ; e8 32 10 14696 mov ax, 0fe6eh ; b8 6e fe 14697 mov word [00068h], ax ; a3 68 00 14698 mov ax, 0f000h ; b8 00 f0 14699 mov word [0006ah], ax ; a3 6a 00 14677 14700 mov ax, 0fea5h ; b8 a5 fe 14678 14701 mov word [00020h], ax ; a3 20 00 … … 14712 14735 mov bx, strict word 0003eh ; bb 3e 00 14713 14736 mov word [00482h], bx ; 89 1e 82 04 14737 mov AL, strict byte 014h ; b0 14 14738 out strict byte 070h, AL ; e6 70 14739 in AL, strict byte 071h ; e4 71 14740 mov byte [00410h], AL ; a2 10 04 14714 14741 push DS ; 1e 14715 14742 push CS ; 0e … … 14718 14745 mov ax, 0c000h ; b8 00 c0 14719 14746 mov dx, 0c800h ; ba 00 c8 14720 call 01600h ; e8 15 3414721 call 049b4h ; e8 c66714747 call 01600h ; e8 e7 33 14748 call 049b4h ; e8 98 67 14722 14749 pop DS ; 1f 14723 mov AL, strict byte 014h ; b0 1414724 out strict byte 070h, AL ; e6 7014725 in AL, strict byte 071h ; e4 7114726 mov byte [00410h], AL ; a2 10 0414727 14750 mov ax, 0ff53h ; b8 53 ff 14728 14751 mov word [0003ch], ax ; a3 3c 00 … … 14736 14759 mov CL, strict byte 014h ; b1 14 14737 14760 mov dx, 00378h ; ba 78 03 14738 call 0ecedh ; e8 db0a14761 call 0ecedh ; e8 b6 0a 14739 14762 mov dx, 00278h ; ba 78 02 14740 call 0ecedh ; e8 d50a14763 call 0ecedh ; e8 b0 0a 14741 14764 sal bx, 00eh ; c1 e3 0e 14742 14765 mov ax, word [00410h] ; a1 10 04 … … 14761 14784 mov CL, strict byte 00ah ; b1 0a 14762 14785 mov dx, 003f8h ; ba f8 03 14763 call 0ed0bh ; e8 b70a14786 call 0ed0bh ; e8 92 0a 14764 14787 mov dx, 002f8h ; ba f8 02 14765 call 0ed0bh ; e8 b10a14788 call 0ed0bh ; e8 8c 0a 14766 14789 mov dx, 003e8h ; ba e8 03 14767 call 0ed0bh ; e8 ab0a14790 call 0ed0bh ; e8 86 0a 14768 14791 mov dx, 002e8h ; ba e8 02 14769 call 0ed0bh ; e8 a50a14792 call 0ed0bh ; e8 80 0a 14770 14793 sal bx, 009h ; c1 e3 09 14771 14794 mov ax, word [00410h] ; a1 10 04 … … 14774 14797 ; or ax, bx ; 0b c3 14775 14798 mov word [00410h], ax ; a3 10 04 14776 mov ax, 0fe6eh ; b8 6e fe14777 mov word [00068h], ax ; a3 68 0014778 mov ax, 0f000h ; b8 00 f014779 mov word [0006ah], ax ; a3 6a 0014780 14799 mov ax, 0ff53h ; b8 53 ff 14781 14800 mov word [00128h], ax ; a3 28 01 … … 14786 14805 mov ax, 0f000h ; b8 00 f0 14787 14806 mov word [001c2h], ax ; a3 c2 01 14788 call 0edbfh ; e8 24 0b 14789 mov ax, 0f8a9h ; b8 a9 f8 14790 mov word [001d0h], ax ; a3 d0 01 14791 mov ax, 0f000h ; b8 00 f0 14792 mov word [001d2h], ax ; a3 d2 01 14793 mov ax, 0e2cah ; b8 ca e2 14794 mov word [001d4h], ax ; a3 d4 01 14795 mov ax, 0f000h ; b8 00 f0 14796 mov word [001d6h], ax ; a3 d6 01 14797 call 0e753h ; e8 9d 04 14798 jmp short 0e31bh ; eb 63 14799 times 0x9 db 0 14807 call 0edbfh ; e8 0b 0b 14808 jmp short 0e31bh ; eb 65 14809 times 0xb db 0 14800 14810 db 'XM' 14801 14811 nmi: ; 0xfe2c3 LB 0x7 … … 14807 14817 int75_handler: ; 0xfe2ca LB 0x8 14808 14818 out strict byte 0f0h, AL ; e6 f0 14809 call 0e03 bh ; e8 6cfd14819 call 0e030h ; e8 61 fd 14810 14820 int 002h ; cd 02 14811 14821 iret ; cf … … 14838 14848 mov word [0011ah], ax ; a3 1a 01 14839 14849 retn ; c3 14850 mov ax, 0f8a9h ; b8 a9 f8 14851 mov word [001d0h], ax ; a3 d0 01 14852 mov ax, 0f000h ; b8 00 f0 14853 mov word [001d2h], ax ; a3 d2 01 14854 mov ax, 0e2cah ; b8 ca e2 14855 mov word [001d4h], ax ; a3 d4 01 14856 mov ax, 0f000h ; b8 00 f0 14857 mov word [001d6h], ax ; a3 d6 01 14858 call 0e753h ; e8 1d 04 14840 14859 push CS ; 0e 14841 14860 pop DS ; 1f 14842 14861 cld ; fc 14843 call 01badh ; e8 8c3814844 call 01fa7h ; e8 833c14845 call 08 dd4h ; e8 adaa14846 call 07e 7bh ; e8 519b14847 call 0ed2fh ; e8 02 0a14848 call 0e2d2h ; e8 a2ff14862 call 01badh ; e8 71 38 14863 call 01fa7h ; e8 68 3c 14864 call 08e3eh ; e8 fc aa 14865 call 07ee5h ; e8 a0 9b 14866 call 0ed2fh ; e8 e7 09 14867 call 0e2d2h ; e8 87 ff 14849 14868 push CS ; 0e 14850 14869 pop DS ; 1f 14851 14870 cld ; fc 14852 call 01797h ; e8 613414871 call 01797h ; e8 46 34 14853 14872 mov ax, 0c800h ; b8 00 c8 14854 14873 mov dx, 0f000h ; ba 00 f0 14855 call 01600h ; e8 c13214856 call 03698h ; e8 565314874 call 01600h ; e8 a6 32 14875 call 03698h ; e8 3b 53 14857 14876 sti ; fb 14858 14877 int 019h ; cd 19 14859 14878 sti ; fb 14860 14879 hlt ; f4 14861 jmp short 0e3 46h ; eb fd14880 jmp short 0e361h ; eb fd 14862 14881 cli ; fa 14863 14882 hlt ; f4 … … 14881 14900 sti ; fb 14882 14901 retf 00002h ; ca 02 00 14883 times 0x 88db 014902 times 0x6d db 0 14884 14903 db 'XM' 14885 14904 int13_handler: ; 0xfe3fe LB 0x3 … … 14952 14971 pop DS ; 1f 14953 14972 cld ; fc 14954 call 05d 34h ; e8 f2 7514973 call 05d9eh ; e8 5c 76 14955 14974 popaw ; 61 14956 14975 pop ES ; 07 … … 15027 15046 pop DS ; 1f 15028 15047 cld ; fc 15029 call 05 0a2h ; e8 606815048 call 0510ch ; e8 ca 68 15030 15049 popaw ; 61 15031 15050 pop DS ; 1f … … 15044 15063 pop DS ; 1f 15045 15064 cld ; fc 15046 call 05 0a2h ; e8 426815065 call 0510ch ; e8 ac 68 15047 15066 popaw ; 61 15048 15067 pop DS ; 1f … … 15148 15167 pop DS ; 1f 15149 15168 cli ; fa 15150 call 0e03 fh ; e8 69f615169 call 0e034h ; e8 5e f6 15151 15170 mov AL, strict byte 0aeh ; b0 ae 15152 15171 out strict byte 064h, AL ; e6 64 … … 15159 15178 pop DS ; 1f 15160 15179 cld ; fc 15161 call 067 8ch ; e8 a7 7d15180 call 067f6h ; e8 11 7e 15162 15181 pop DS ; 1f 15163 15182 pop ES ; 07 … … 15260 15279 cmp ah, 040h ; 80 fc 40 15261 15280 jnbe short 0ece6h ; 77 05 15262 call 054 27h ; e8 436715281 call 05491h ; e8 ad 67 15263 15282 jmp short 0ece9h ; eb 03 15264 call 058 68h ; e8 7f6b15283 call 058d2h ; e8 e9 6b 15265 15284 int13_out: ; 0xfece9 LB 0x4 15266 15285 pop DS ; 1f … … 15450 15469 ; xor ax, ax ; 33 c0 15451 15470 mov ds, ax ; 8e d8 15452 call 0e03 fh ; e8 b6f015471 call 0e034h ; e8 ab f0 15453 15472 or byte [0043eh], 080h ; 80 0e 3e 04 80 15454 15473 pop DS ; 1f … … 15475 15494 pop DS ; 1f 15476 15495 cld ; fc 15477 call 07 0e6h ; e8 098115496 call 07150h ; e8 73 81 15478 15497 popaw ; 61 15479 15498 pop ES ; 07 … … 15835 15854 cmp ah, 0c2h ; 80 fc c2 15836 15855 je short 0f887h ; 74 0e 15837 call 05f 41h ; e8 c5 6615856 call 05fabh ; e8 2f 67 15838 15857 popaw ; 61 15839 15858 pop ES ; 07 … … 15841 15860 popfw ; 9d 15842 15861 jmp short 0f895h ; eb 13 15843 call 08f 0bh ; e8 869615862 call 08f75h ; e8 f0 96 15844 15863 jmp short 0f87ch ; eb f5 15845 15864 int15_handler_mouse: ; 0xff887 LB 0x5 15846 call 06d 5bh ; e8 d1 7415865 call 06dc5h ; e8 3b 75 15847 15866 jmp short 0f87ch ; eb f0 15848 15867 int15_handler32: ; 0xff88c LB 0x9 15849 15868 pushad ; 66 60 15850 call 064 0eh ; e8 7d6b15869 call 06478h ; e8 e7 6b 15851 15870 popad ; 66 61 15852 15871 jmp short 0f87dh ; eb e8 … … 15878 15897 pop DS ; 1f 15879 15898 cld ; fc 15880 call 06c 91h ; e8 d4 7315899 call 06cfbh ; e8 3e 74 15881 15900 pop cx ; 59 15882 15901 jcxz 0f8cch ; e3 0c … … 15887 15906 call far [word 00022h] ; ff 1e 22 00 15888 15907 cli ; fa 15889 call 0e03 bh ; e8 6be715908 call 0e030h ; e8 60 e7 15890 15909 add sp, strict byte 00008h ; 83 c4 08 15891 15910 pop DS ; 1f … … 15899 15918 mov ds, ax ; 8e d8 15900 15919 mov byte [0008eh], 0ffh ; c6 06 8e 00 ff 15901 call 0e03 bh ; e8 55e715920 call 0e030h ; e8 4a e7 15902 15921 pop DS ; 1f 15903 15922 pop ax ; 58 … … 15970 15989 db 018h, 018h, 018h, 000h, 018h, 018h, 018h, 000h, 0e0h, 030h, 030h, 01ch, 030h, 030h, 0e0h, 000h 15971 15990 db 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 000h 15972 db 080h, 0fch, 0b1h, 075h, 00fh, 006h, 01eh, 00eh, 01fh, 0fch, 066h, 060h, 0e8h, 0 9eh, 092h, 066h15973 db 061h, 01fh, 007h, 0cfh, 006h, 01eh, 060h, 00eh, 01fh, 0fch, 0e8h, 0 9dh, 06bh, 061h, 01fh, 007h15991 db 080h, 0fch, 0b1h, 075h, 00fh, 006h, 01eh, 00eh, 01fh, 0fch, 066h, 060h, 0e8h, 008h, 093h, 066h 15992 db 061h, 01fh, 007h, 0cfh, 006h, 01eh, 060h, 00eh, 01fh, 0fch, 0e8h, 007h, 06ch, 061h, 01fh, 007h 15974 15993 db 0cfh 15975 15994 int70_handler: ; 0xffe8f LB 0x16 … … 15980 15999 pop DS ; 1f 15981 16000 cld ; fc 15982 call 069 6ah ; e8 d2 6a16001 call 069d4h ; e8 3c 6b 15983 16002 popaw ; 61 15984 16003 pop DS ; 1f … … 16018 16037 int 01ch ; cd 1c 16019 16038 cli ; fa 16020 call 0e03 fh ; e8 5ce116039 call 0e034h ; e8 51 e1 16021 16040 pop dx ; 5a 16022 16041 pop DS ; 1f … … 16079 16098 cpu_reset: ; 0xffff0 LB 0x10 16080 16099 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 16081 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0 c9h16100 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0e8h -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.md5sum
r50317 r51062 1 26a4ec280665e87f6347bb19c8733953*VBoxPcBios.rom1 6a940bcf6a5d4747e33d98d6028b3cec *VBoxPcBios.rom
Note:
See TracChangeset
for help on using the changeset viewer.