Changeset 61092 in vbox for trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.asm
- Timestamp:
- May 20, 2016 11:12:27 AM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 107362
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.asm
r60443 r61092 728 728 729 729 ; 730 ; Source file: support.asm 730 ; Source file: __U4M.asm 731 ; 732 ; $Id$ 733 ; Compiler support routines. 734 ; 735 ; 736 ; 737 ; Copyright (C) 2012-2015 Oracle Corporation 738 ; 739 ; This file is part of VirtualBox Open Source Edition (OSE), as 740 ; available from http://www.virtualbox.org. This file is free software; 741 ; you can redistribute it and/or modify it under the terms of the GNU 742 ; General Public License (GPL) as published by the Free Software 743 ; Foundation, in version 2 as it comes in the "COPYING" file of the 744 ; VirtualBox OSE distribution. VirtualBox OSE is distributed in the 745 ; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. 746 ; 747 748 ; 749 ; Source file: __U4D.asm 750 ; 751 ; $Id$ 752 ; Compiler support routines. 753 ; 754 ; 755 ; 756 ; Copyright (C) 2012-2016 Oracle Corporation 757 ; 758 ; This file is part of VirtualBox Open Source Edition (OSE), as 759 ; available from http://www.virtualbox.org. This file is free software; 760 ; you can redistribute it and/or modify it under the terms of the GNU 761 ; General Public License (GPL) as published by the Free Software 762 ; Foundation, in version 2 as it comes in the "COPYING" file of the 763 ; VirtualBox OSE distribution. VirtualBox OSE is distributed in the 764 ; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. 765 ; 766 767 ; 768 ; Source file: __U8RS.asm 769 ; 770 ; $Id$ 771 ; Compiler support routines. 772 ; 773 ; 774 ; 775 ; Copyright (C) 2012-2015 Oracle Corporation 776 ; 777 ; This file is part of VirtualBox Open Source Edition (OSE), as 778 ; available from http://www.virtualbox.org. This file is free software; 779 ; you can redistribute it and/or modify it under the terms of the GNU 780 ; General Public License (GPL) as published by the Free Software 781 ; Foundation, in version 2 as it comes in the "COPYING" file of the 782 ; VirtualBox OSE distribution. VirtualBox OSE is distributed in the 783 ; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. 784 ; 785 786 ; 787 ; Source file: __U8LS.asm 788 ; 789 ; $Id$ 790 ; Compiler support routines. 791 ; 792 ; 793 ; 794 ; Copyright (C) 2012-2015 Oracle Corporation 795 ; 796 ; This file is part of VirtualBox Open Source Edition (OSE), as 797 ; available from http://www.virtualbox.org. This file is free software; 798 ; you can redistribute it and/or modify it under the terms of the GNU 799 ; General Public License (GPL) as published by the Free Software 800 ; Foundation, in version 2 as it comes in the "COPYING" file of the 801 ; VirtualBox OSE distribution. VirtualBox OSE is distributed in the 802 ; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. 803 ; 804 805 ; 806 ; Source file: fmemset.asm 807 ; 808 ; $Id$ 809 ; Compiler support routines. 810 ; 811 ; 812 ; 813 ; Copyright (C) 2012-2015 Oracle Corporation 814 ; 815 ; This file is part of VirtualBox Open Source Edition (OSE), as 816 ; available from http://www.virtualbox.org. This file is free software; 817 ; you can redistribute it and/or modify it under the terms of the GNU 818 ; General Public License (GPL) as published by the Free Software 819 ; Foundation, in version 2 as it comes in the "COPYING" file of the 820 ; VirtualBox OSE distribution. VirtualBox OSE is distributed in the 821 ; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. 822 ; 823 824 ; 825 ; Source file: fmemcpy.asm 731 826 ; 732 827 ; $Id$ … … 822 917 ; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 823 918 ; 919 ; 920 921 ; 922 ; Source file: DoUInt32Div.c 923 ; 924 ; $Id$ 925 ; AHCI host adapter driver to boot from SATA disks. 926 ; 927 ; 928 ; 929 ; Copyright (C) 2011-2015 Oracle Corporation 930 ; 931 ; This file is part of VirtualBox Open Source Edition (OSE), as 932 ; available from http://www.virtualbox.org. This file is free software; 933 ; you can redistribute it and/or modify it under the terms of the GNU 934 ; General Public License (GPL) as published by the Free Software 935 ; Foundation, in version 2 as it comes in the "COPYING" file of the 936 ; VirtualBox OSE distribution. VirtualBox OSE is distributed in the 937 ; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. 938 939 ; 940 ; Source file: ASMBitLastSetU16.asm 941 ; 942 ; $Id$ 943 ; BiosCommonCode - ASMBitLastSetU16() - borrowed from IPRT. 944 ; 945 ; 946 ; 947 ; Copyright (C) 2006-2016 Oracle Corporation 948 ; 949 ; This file is part of VirtualBox Open Source Edition (OSE), as 950 ; available from http://www.virtualbox.org. This file is free software; 951 ; you can redistribute it and/or modify it under the terms of the GNU 952 ; General Public License (GPL) as published by the Free Software 953 ; Foundation, in version 2 as it comes in the "COPYING" file of the 954 ; VirtualBox OSE distribution. VirtualBox OSE is distributed in the 955 ; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. 824 956 ; 825 957 … … 856 988 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 857 989 _pktacc: ; 0xf006a LB 0xc 858 db 000h, 000h, 000h, 000h, 000h, 000h, 0a1h, 02bh, 0 01h, 083h, 09ch, 092h990 db 000h, 000h, 000h, 000h, 000h, 000h, 0a1h, 02bh, 07dh, 081h, 018h, 091h 859 991 _softrst: ; 0xf0076 LB 0xc 860 992 db 000h, 000h, 000h, 000h, 000h, 000h, 02ch, 02eh, 0bdh, 03bh, 0bdh, 03bh 861 993 _dskacc: ; 0xf0082 LB 0x2e 862 994 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 02ah, 046h, 02bh, 000h, 000h, 000h, 000h 863 db 0 2fh, 081h, 018h, 082h, 06ah, 091h, 014h, 092h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h995 db 0abh, 07fh, 094h, 080h, 0e6h, 08fh, 090h, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 864 996 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 865 997 … … 1058 1190 times 1144 db 0 1059 1191 1060 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8 ca5class=CODE group=AUTO1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8d88 class=CODE group=AUTO 1061 1193 rom_scan_: ; 0xf1600 LB 0x52 1062 1194 push bp ; 55 … … 1318 1450 int 010h ; cd 10 1319 1451 jmp short 017c3h ; eb 03 1320 call 07 cd3h ; e8 10 651452 call 07b4fh ; e8 8c 63 1321 1453 mov sp, bp ; 89 ec 1322 1454 pop bp ; 5d … … 1464 1596 mov bx, strict word 0000ah ; bb 0a 00 1465 1597 xor cx, cx ; 31 c9 1466 call 0a 190h ; e8 b3 881598 call 0a020h ; e8 43 87 1467 1599 mov word [bp-008h], ax ; 89 46 f8 1468 1600 mov cx, dx ; 89 d1 … … 1701 1833 mov dx, word [bp-026h] ; 8b 56 da 1702 1834 mov si, word [bp-01eh] ; 8b 76 e2 1703 call 0a 20ah ; e8 f2 861835 call 0a050h ; e8 38 85 1704 1836 mov ax, dx ; 89 d0 1705 1837 xor ah, dh ; 30 f4 … … 2162 2294 mov dx, word [es:si] ; 26 8b 14 2163 2295 mov si, strict word 00018h ; be 18 00 2164 call 0a 20ah ; e8 78 822296 call 0a050h ; e8 be 80 2165 2297 xor dh, dh ; 30 f6 2166 2298 mov word [bp-014h], dx ; 89 56 ec … … 2172 2304 mov dx, word [es:si] ; 26 8b 14 2173 2305 mov si, strict word 00020h ; be 20 00 2174 call 0a 20ah ; e8 58 822306 call 0a050h ; e8 9e 80 2175 2307 mov bx, dx ; 89 d3 2176 2308 mov word [bp-010h], dx ; 89 56 f0 … … 2204 2336 mov dx, word [es:si] ; 26 8b 14 2205 2337 mov si, strict word 00008h ; be 08 00 2206 call 0a 20ah ; e8 05 822338 call 0a050h ; e8 4b 80 2207 2339 mov word [bp-010h], dx ; 89 56 f0 2208 2340 mov bx, word [bp-016h] ; 8b 5e ea … … 2213 2345 mov dx, word [es:si] ; 26 8b 14 2214 2346 mov si, strict word 00018h ; be 18 00 2215 call 0a 20ah ; e8 e7 812347 call 0a050h ; e8 2d 80 2216 2348 mov bl, dl ; 88 d3 2217 2349 and bl, 00fh ; 80 e3 0f … … 2791 2923 mov dx, word [es:di+036h] ; 26 8b 55 36 2792 2924 mov si, strict word 0000bh ; be 0b 00 2793 call 0a 20ah ; e8 0b 7c2925 call 0a050h ; e8 51 7a 2794 2926 mov word [bp-02ah], dx ; 89 56 d6 2795 2927 mov word [bp-026h], cx ; 89 4e da … … 3083 3215 mov dx, word [bp-022h] ; 8b 56 de 3084 3216 mov si, strict word 00018h ; be 18 00 3085 call 0a 20ah ; e8 2e 793217 call 0a050h ; e8 74 77 3086 3218 xor dh, dh ; 30 f6 3087 3219 mov word [bp-014h], dx ; 89 56 ec … … 3091 3223 mov dx, word [bp-022h] ; 8b 56 de 3092 3224 mov si, strict word 00020h ; be 20 00 3093 call 0a 20ah ; e8 17 793225 call 0a050h ; e8 5d 77 3094 3226 mov bx, dx ; 89 d3 3095 3227 mov word [bp-024h], dx ; 89 56 dc … … 3125 3257 mov dx, word [bp-022h] ; 8b 56 de 3126 3258 mov si, strict word 00008h ; be 08 00 3127 call 0a 20ah ; e8 c3 783259 call 0a050h ; e8 09 77 3128 3260 mov word [bp-00ch], ax ; 89 46 f4 3129 3261 mov word [bp-020h], bx ; 89 5e e0 … … 3132 3264 mov word [bp-024h], dx ; 89 56 dc 3133 3265 mov si, strict word 00010h ; be 10 00 3134 call 0a 20ah ; e8 ae 783266 call 0a050h ; e8 f4 76 3135 3267 mov word [bp-022h], dx ; 89 56 de 3136 3268 mov ax, dx ; 89 d0 … … 5442 5574 mov dx, ss ; 8c d2 5443 5575 lea ax, [bp-026h] ; 8d 46 da 5444 call 0a 21ah ; e8 e8 635576 call 0a070h ; e8 3e 62 5445 5577 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 5446 5578 mov ax, strict word 00011h ; b8 11 00 … … 5934 6066 xor dl, dl ; 30 d2 5935 6067 xor cx, cx ; 31 c9 5936 call 0a 1c9h ; e8 23 5e6068 call 0a000h ; e8 5a 5c 5937 6069 xor bx, bx ; 31 db 5938 6070 add ax, si ; 01 f0 … … 5940 6072 mov bx, di ; 89 fb 5941 6073 xor cx, cx ; 31 c9 5942 call 0a 1c9h ; e8 16 5e6074 call 0a000h ; e8 4d 5c 5943 6075 mov bx, ax ; 89 c3 5944 6076 mov ax, word [bp-00ah] ; 8b 46 f6 … … 5975 6107 mov dx, ss ; 8c d2 5976 6108 lea ax, [bp-030h] ; 8d 46 d0 5977 call 0a 21ah ; e8 10 5e6109 call 0a070h ; e8 66 5c 5978 6110 mov word [bp-030h], strict word 00028h ; c7 46 d0 28 00 5979 6111 mov ax, word [bp-00eh] ; 8b 46 f2 … … 6329 6461 mov dx, ss ; 8c d2 6330 6462 lea ax, [bp-02eh] ; 8d 46 d2 6331 call 0a 21ah ; e8 28 5a6463 call 0a070h ; e8 7e 58 6332 6464 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 6333 6465 mov ax, word [bp-014h] ; 8b 46 ec … … 6861 6993 mov CL, strict byte 004h ; b1 04 6862 6994 sar ax, CL ; d3 f8 6863 call 07 f13h ; e8 8b 316995 call 07d8fh ; e8 07 30 6864 6996 cmp byte [bp+004h], 002h ; 80 7e 04 02 6865 6997 jne short 04d93h ; 75 05 … … 7384 7516 out DX, AL ; ee 7385 7517 xor ax, ax ; 31 c0 7386 call 066 bch ; e8 ac147518 call 066ffh ; e8 ef 14 7387 7519 mov sp, bp ; 89 ec 7388 7520 pop bp ; 5d … … 8363 8495 mov dx, word [bp+00ch] ; 8b 56 0c 8364 8496 mov si, strict word 00020h ; be 20 00 8365 call 0a 20ah ; e8 d2 468497 call 0a050h ; e8 18 45 8366 8498 test ax, ax ; 85 c0 8367 8499 jne short 05b48h ; 75 0c … … 8401 8533 mov bx, strict word 0003fh ; bb 3f 00 8402 8534 xor cx, cx ; 31 c9 8403 call 0a 1c9h ; e8 38 468535 call 0a000h ; e8 6f 44 8404 8536 mov bx, ax ; 89 c3 8405 8537 mov cx, dx ; 89 d1 8406 8538 mov ax, word [bp-004h] ; 8b 46 fc 8407 8539 mov dx, si ; 89 f2 8408 call 0a 190h ; e8 f3 458540 call 0a020h ; e8 83 44 8409 8541 mov word [es:di+002h], ax ; 26 89 45 02 8410 8542 cmp ax, 00400h ; 3d 00 04 … … 8623 8755 mov bx, cx ; 89 cb 8624 8756 xor cx, cx ; 31 c9 8625 call 0a 1c9h ; e8 17 448757 call 0a000h ; e8 4e 42 8626 8758 xor bx, bx ; 31 db 8627 8759 add ax, word [bp-00ch] ; 03 46 f4 … … 8629 8761 mov bx, word [bp-010h] ; 8b 5e f0 8630 8762 xor cx, cx ; 31 c9 8631 call 0a 1c9h ; e8 08 448763 call 0a000h ; e8 3f 42 8632 8764 xor bx, bx ; 31 db 8633 8765 add ax, di ; 01 f8 … … 8803 8935 mov bx, word [bp-00ch] ; 8b 5e f4 8804 8936 xor cx, cx ; 31 c9 8805 call 0a 1c9h ; e8 31 428937 call 0a000h ; e8 68 40 8806 8938 mov bx, di ; 89 fb 8807 8939 xor cx, cx ; 31 c9 8808 call 0a 1c9h ; e8 2a 428940 call 0a000h ; e8 61 40 8809 8941 mov word [bp-008h], ax ; 89 46 f8 8810 8942 mov word [bp-006h], dx ; 89 56 fa … … 8972 9104 xor bx, bx ; 31 db 8973 9105 mov si, strict word 00020h ; be 20 00 8974 call 0a 1fah ; e8 c0 409106 call 0a060h ; e8 26 3f 8975 9107 mov word [bp-00eh], ax ; 89 46 f2 8976 9108 mov word [bp-010h], bx ; 89 5e f0 … … 9137 9269 mov dx, si ; 89 f2 9138 9270 mov si, strict word 00020h ; be 20 00 9139 call 0a 20ah ; e8 d9 3e9271 call 0a050h ; e8 1f 3d 9140 9272 mov bx, di ; 89 fb 9141 9273 mov word [es:bx+014h], dx ; 26 89 57 14 … … 9490 9622 pop bp ; 5d 9491 9623 retn ; c3 9492 set_enable_a20_: ; 0xf66bc LB 0x30 9624 timer_wait_: ; 0xf66bc LB 0x43 9625 push bp ; 55 9626 mov bp, sp ; 89 e5 9627 push bx ; 53 9628 push cx ; 51 9629 push ax ; 50 9630 mov bx, strict word 0000fh ; bb 0f 00 9631 xor cx, cx ; 31 c9 9632 call 0a020h ; e8 56 39 9633 mov cx, ax ; 89 c1 9634 mov bx, dx ; 89 d3 9635 mov dx, strict word 00061h ; ba 61 00 9636 in AL, DX ; ec 9637 db 02ah, 0e4h 9638 ; sub ah, ah ; 2a e4 9639 and AL, strict byte 010h ; 24 10 9640 mov byte [bp-006h], al ; 88 46 fa 9641 add cx, strict byte 0ffffh ; 83 c1 ff 9642 adc bx, strict byte 0ffffh ; 83 d3 ff 9643 cmp bx, strict byte 0ffffh ; 83 fb ff 9644 jne short 066e9h ; 75 05 9645 cmp cx, strict byte 0ffffh ; 83 f9 ff 9646 je short 066f8h ; 74 0f 9647 mov dx, strict word 00061h ; ba 61 00 9648 in AL, DX ; ec 9649 db 02ah, 0e4h 9650 ; sub ah, ah ; 2a e4 9651 and AL, strict byte 010h ; 24 10 9652 cmp al, byte [bp-006h] ; 3a 46 fa 9653 jne short 066e9h ; 75 f3 9654 jmp short 066d9h ; eb e1 9655 lea sp, [bp-004h] ; 8d 66 fc 9656 pop cx ; 59 9657 pop bx ; 5b 9658 pop bp ; 5d 9659 retn ; c3 9660 set_enable_a20_: ; 0xf66ff LB 0x30 9493 9661 push bp ; 55 9494 9662 mov bp, sp ; 89 e5 … … 9503 9671 mov cl, al ; 88 c1 9504 9672 test bx, bx ; 85 db 9505 je short 06 6d5h ; 74 059673 je short 06718h ; 74 05 9506 9674 or AL, strict byte 002h ; 0c 02 9507 9675 out DX, AL ; ee 9508 jmp short 06 6d8h ; eb 039676 jmp short 0671bh ; eb 03 9509 9677 and AL, strict byte 0fdh ; 24 fd 9510 9678 out DX, AL ; ee 9511 9679 test cl, 002h ; f6 c1 02 9512 je short 06 6e2h ; 74 059680 je short 06725h ; 74 05 9513 9681 mov ax, strict word 00001h ; b8 01 00 9514 jmp short 06 6e4h ; eb 029682 jmp short 06727h ; eb 02 9515 9683 xor ax, ax ; 31 c0 9516 9684 lea sp, [bp-006h] ; 8d 66 fa … … 9520 9688 pop bp ; 5d 9521 9689 retn ; c3 9522 set_e820_range_: ; 0xf6 6ec LB 0x8b9690 set_e820_range_: ; 0xf672f LB 0x88 9523 9691 push si ; 56 9524 9692 push bp ; 55 … … 9549 9717 pop si ; 5e 9550 9718 retn 0000ah ; c2 0a 00 9551 db 0ech, 0e9h, 0d8h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 08 7h, 083h, 052h, 04fh, 041h, 024h9552 db 0 00h, 017h, 06ch, 0b3h, 067h, 0c7h, 067h, 05fh, 068h, 065h, 068h, 06ah, 068h, 06fh, 068h, 017h9553 db 0 69h, 0b3h, 06ah, 0d2h, 06ah, 058h, 068h, 058h, 068h, 09ch, 06bh, 0c7h, 06bh, 0dah, 06bh, 0e9h9554 db 0 6bh, 05fh, 068h, 0f2h, 06bh9555 _int15_function: ; 0xf67 77 LB 0x4d69719 db 0ech, 0e9h, 0d8h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 083h, 052h, 04fh, 041h, 024h, 000h 9720 db 0c4h, 06ah, 0f3h, 067h, 007h, 068h, 0a3h, 068h, 0a9h, 068h, 0aeh, 068h, 0b3h, 068h, 05bh, 069h 9721 db 07fh, 069h, 09ch, 068h, 09ch, 068h, 049h, 06ah, 074h, 06ah, 087h, 06ah, 096h, 06ah, 0a3h, 068h 9722 db 09fh, 06ah 9723 _int15_function: ; 0xf67b7 LB 0x343 9556 9724 push bp ; 55 9557 9725 mov bp, sp ; 89 e5 … … 9562 9730 mov dx, ax ; 89 c2 9563 9731 cmp ax, 000ech ; 3d ec 00 9564 jnbe short 067 bdh ; 77 359732 jnbe short 067fdh ; 77 35 9565 9733 push CS ; 0e 9566 9734 pop ES ; 07 9567 mov cx, strict word 0001 2h ; b9 12009568 mov di, 067 42h ; bf 42679735 mov cx, strict word 00011h ; b9 11 00 9736 mov di, 06785h ; bf 85 67 9569 9737 repne scasb ; f2 ae 9570 9738 sal cx, 1 ; d1 e1 9571 9739 mov di, cx ; 89 cf 9572 mov si, word [cs:di+067 53h] ; 2e 8b b5 53679740 mov si, word [cs:di+06795h] ; 2e 8b b5 95 67 9573 9741 mov ax, word [bp+012h] ; 8b 46 12 9574 9742 xor ah, ah ; 30 e4 9575 9743 mov cx, word [bp+018h] ; 8b 4e 18 9576 9744 and cl, 0feh ; 80 e1 fe 9577 mov bx, word [bp+018h] ; 8b 5e189578 or bl, 001h ; 80 cb019579 mov dx, ax ; 89 c29580 or dh, 086h ; 80 ce869745 mov dx, word [bp+018h] ; 8b 56 18 9746 or dl, 001h ; 80 ca 01 9747 mov bx, ax ; 89 c3 9748 or bh, 086h ; 80 cf 86 9581 9749 jmp si ; ff e6 9582 9750 mov ax, word [bp+012h] ; 8b 46 12 9583 9751 xor ah, ah ; 30 e4 9584 9752 cmp ax, 000c0h ; 3d c0 00 9585 je short 06 7c0h ; 74 039586 jmp near 06 c17h ; e9 57 049753 je short 06800h ; 74 03 9754 jmp near 06ac4h ; e9 c4 02 9587 9755 or byte [bp+018h], 001h ; 80 4e 18 01 9588 jmp near 06 bbeh ; e9 f7 039756 jmp near 06a6bh ; e9 64 02 9589 9757 mov dx, ax ; 89 c2 9590 9758 cmp ax, strict word 00001h ; 3d 01 00 9591 jc short 06 7dch ; 72 0e9592 jbe short 06 7f0h ; 76 209759 jc short 0681ch ; 72 0e 9760 jbe short 06830h ; 76 20 9593 9761 cmp ax, strict word 00003h ; 3d 03 00 9594 je short 068 1dh ; 74 489762 je short 06861h ; 74 4c 9595 9763 cmp ax, strict word 00002h ; 3d 02 00 9596 je short 068 00h ; 74 269597 jmp short 068 2ah ; eb 4e9764 je short 06840h ; 74 26 9765 jmp short 0686eh ; eb 52 9598 9766 test ax, ax ; 85 c0 9599 jne short 068 2ah ; 75 4a9767 jne short 0686eh ; 75 4e 9600 9768 xor ax, ax ; 31 c0 9601 call 066 bch ; e8 d7fe9769 call 066ffh ; e8 da fe 9602 9770 and byte [bp+018h], 0feh ; 80 66 18 fe 9603 9771 mov byte [bp+013h], 000h ; c6 46 13 00 9604 jmp near 068 58h ; e9 68009772 jmp near 0689ch ; e9 6c 00 9605 9773 mov ax, strict word 00001h ; b8 01 00 9606 call 066 bch ; e8 c6fe9774 call 066ffh ; e8 c9 fe 9607 9775 and byte [bp+018h], 0feh ; 80 66 18 fe 9608 9776 mov byte [bp+013h], dh ; 88 76 13 9609 jmp near 068 58h ; e9 58009777 jmp near 0689ch ; e9 5c 00 9610 9778 mov dx, 00092h ; ba 92 00 9611 9779 in AL, DX ; ec 9612 9780 db 02ah, 0e4h 9613 9781 ; sub ah, ah ; 2a e4 9614 shr ax, 1 ; d1 e8 9615 and ax, strict word 00001h ; 25 01 00 9616 mov dx, word [bp+012h] ; 8b 56 12 9617 mov dl, al ; 88 c2 9618 mov word [bp+012h], dx ; 89 56 12 9782 mov dx, ax ; 89 c2 9783 shr dx, 1 ; d1 ea 9784 and dl, 001h ; 80 e2 01 9785 mov ax, word [bp+012h] ; 8b 46 12 9786 mov al, dl ; 88 d0 9787 mov word [bp+012h], ax ; 89 46 12 9619 9788 and byte [bp+018h], 0feh ; 80 66 18 fe 9620 mov byte [bp+013h], ah ; 88 66 13 9621 jmp near 06858h ; e9 3b 00 9789 xor al, dl ; 30 d0 9790 mov byte [bp+013h], al ; 88 46 13 9791 jmp near 0689ch ; e9 3b 00 9622 9792 and byte [bp+018h], 0feh ; 80 66 18 fe 9623 9793 mov byte [bp+013h], ah ; 88 66 13 9624 9794 mov word [bp+00ch], ax ; 89 46 0c 9625 jmp near 068 58h ; e9 2e 009795 jmp near 0689ch ; e9 2e 00 9626 9796 mov bx, 00da0h ; bb a0 0d 9627 9797 mov cx, ds ; 8c d9 9628 9798 mov ax, strict word 00004h ; b8 04 00 9629 call 01933h ; e8 feb09799 call 01933h ; e8 ba b0 9630 9800 mov ax, word [bp+012h] ; 8b 46 12 9631 9801 xor ah, ah ; 30 e4 … … 9635 9805 mov ax, strict word 00004h ; b8 04 00 9636 9806 push ax ; 50 9637 call 01976h ; e8 30 b19807 call 01976h ; e8 ec b0 9638 9808 add sp, strict byte 00006h ; 83 c4 06 9639 9809 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9647 9817 pop bp ; 5d 9648 9818 retn ; c3 9649 mov word [bp+018h], bx ; 89 5e189650 jmp near 069 11h ; e9 ac 009651 mov word [bp+018h], bx ; 89 5e189652 jmp short 068 58h ; eb ee9819 mov word [bp+018h], dx ; 89 56 18 9820 jmp near 06955h ; e9 ac 00 9821 mov word [bp+018h], dx ; 89 56 18 9822 jmp short 0689ch ; eb ee 9653 9823 mov word [bp+018h], cx ; 89 4e 18 9654 jmp short 068 55h ; eb e69824 jmp short 06899h ; eb e6 9655 9825 test byte [bp+012h], 0ffh ; f6 46 12 ff 9656 jne short 06 8e4h ; 75 6f9826 jne short 06928h ; 75 6f 9657 9827 mov dx, 000a0h ; ba a0 00 9658 9828 mov ax, strict word 00040h ; b8 40 00 9659 call 01652h ; e8 d4ad9829 call 01652h ; e8 90 ad 9660 9830 test AL, strict byte 001h ; a8 01 9661 jne short 06 8e1h ; 75 5f9831 jne short 06925h ; 75 5f 9662 9832 mov bx, strict word 00001h ; bb 01 00 9663 9833 mov dx, 000a0h ; ba a0 00 9664 9834 mov ax, strict word 00040h ; b8 40 00 9665 call 01660h ; e8 d2ad9835 call 01660h ; e8 8e ad 9666 9836 mov bx, word [bp+014h] ; 8b 5e 14 9667 9837 mov dx, 00098h ; ba 98 00 9668 9838 mov ax, strict word 00040h ; b8 40 00 9669 call 0167ch ; e8 e2ad9839 call 0167ch ; e8 9e ad 9670 9840 mov bx, word [bp+00ch] ; 8b 5e 0c 9671 9841 mov dx, 0009ah ; ba 9a 00 9672 9842 mov ax, strict word 00040h ; b8 40 00 9673 call 0167ch ; e8 d6ad9843 call 0167ch ; e8 92 ad 9674 9844 mov bx, word [bp+00eh] ; 8b 5e 0e 9675 9845 mov dx, 0009ch ; ba 9c 00 9676 9846 mov ax, strict word 00040h ; b8 40 00 9677 call 0167ch ; e8 caad9847 call 0167ch ; e8 86 ad 9678 9848 mov bx, word [bp+010h] ; 8b 5e 10 9679 9849 mov dx, 0009eh ; ba 9e 00 9680 9850 mov ax, strict word 00040h ; b8 40 00 9681 call 0167ch ; e8 bead9851 call 0167ch ; e8 7a ad 9682 9852 and byte [bp+018h], 0feh ; 80 66 18 fe 9683 9853 mov dx, 000a1h ; ba a1 00 … … 9688 9858 out DX, AL ; ee 9689 9859 mov ax, strict word 0000bh ; b8 0b 00 9690 call 016aeh ; e8 ddad9860 call 016aeh ; e8 99 ad 9691 9861 mov dl, al ; 88 c2 9692 9862 or dl, 040h ; 80 ca 40 9693 9863 xor dh, dh ; 30 f6 9694 9864 mov ax, strict word 0000bh ; b8 0b 00 9695 call 016c9h ; e8 ebad9696 jmp near 068 58h ; e9 77 ff9697 jmp near 06 bb5h ; e9 d1 029865 call 016c9h ; e8 a7 ad 9866 jmp near 0689ch ; e9 77 ff 9867 jmp near 06a62h ; e9 3a 01 9698 9868 cmp ax, strict word 00001h ; 3d 01 00 9699 jne short 069 05h ; 75 1c9869 jne short 06949h ; 75 1c 9700 9870 xor bx, bx ; 31 db 9701 9871 mov dx, 000a0h ; ba a0 00 9702 9872 mov ax, strict word 00040h ; b8 40 00 9703 call 01660h ; e8 6cad9873 call 01660h ; e8 28 ad 9704 9874 and byte [bp+018h], 0feh ; 80 66 18 fe 9705 9875 mov ax, strict word 0000bh ; b8 0b 00 9706 call 016aeh ; e8 b0ad9876 call 016aeh ; e8 6c ad 9707 9877 mov dl, al ; 88 c2 9708 9878 and dl, 0bfh ; 80 e2 bf 9709 jmp short 06 8d6h ; eb d19710 mov word [bp+018h], bx ; 89 5e189711 mov ax, dx ; 89 d09712 xor ah, dh ; 30 f49713 xor dl, dl ; 30 d29879 jmp short 0691ah ; eb d1 9880 mov word [bp+018h], dx ; 89 56 18 9881 mov ax, bx ; 89 d8 9882 xor ah, bh ; 30 fc 9883 xor bl, bl ; 30 db 9714 9884 dec ax ; 48 9715 or dx, ax ; 09 c2 9716 mov word [bp+012h], dx ; 89 56 12 9717 jmp near 06858h ; e9 41 ff 9718 cli ; fa 9719 mov ax, strict word 00001h ; b8 01 00 9720 call 066bch ; e8 9e fd 9721 mov di, ax ; 89 c7 9722 mov CL, strict byte 004h ; b1 04 9723 mov dx, word [bp+014h] ; 8b 56 14 9724 sal dx, CL ; d3 e2 9725 mov si, word [bp+006h] ; 8b 76 06 9726 add si, dx ; 01 d6 9727 mov CL, strict byte 00ch ; b1 0c 9728 mov ax, word [bp+014h] ; 8b 46 14 9729 shr ax, CL ; d3 e8 9730 mov cl, al ; 88 c1 9731 cmp si, dx ; 39 d6 9732 jnc short 0693bh ; 73 02 9733 db 0feh, 0c1h 9734 ; inc cl ; fe c1 9735 mov dx, word [bp+006h] ; 8b 56 06 9736 add dx, strict byte 00008h ; 83 c2 08 9737 mov ax, word [bp+014h] ; 8b 46 14 9738 mov bx, strict word 0002fh ; bb 2f 00 9739 call 0167ch ; e8 32 ad 9740 mov dx, word [bp+006h] ; 8b 56 06 9741 add dx, strict byte 0000ah ; 83 c2 0a 9742 mov ax, word [bp+014h] ; 8b 46 14 9743 mov bx, si ; 89 f3 9744 call 0167ch ; e8 24 ad 9745 mov bl, cl ; 88 cb 9746 xor bh, bh ; 30 ff 9747 mov dx, word [bp+006h] ; 8b 56 06 9748 add dx, strict byte 0000ch ; 83 c2 0c 9749 mov ax, word [bp+014h] ; 8b 46 14 9750 call 01660h ; e8 f8 ac 9751 mov dx, word [bp+006h] ; 8b 56 06 9752 add dx, strict byte 0000dh ; 83 c2 0d 9753 mov ax, word [bp+014h] ; 8b 46 14 9754 mov bx, 00093h ; bb 93 00 9755 call 01660h ; e8 e9 ac 9756 mov dx, word [bp+006h] ; 8b 56 06 9757 add dx, strict byte 0000eh ; 83 c2 0e 9758 mov ax, word [bp+014h] ; 8b 46 14 9759 xor bx, bx ; 31 db 9760 call 0167ch ; e8 f7 ac 9761 mov dx, word [bp+006h] ; 8b 56 06 9762 add dx, strict byte 00020h ; 83 c2 20 9763 mov ax, word [bp+014h] ; 8b 46 14 9764 mov bx, strict word 0ffffh ; bb ff ff 9765 call 0167ch ; e8 e8 ac 9766 mov dx, word [bp+006h] ; 8b 56 06 9767 add dx, strict byte 00022h ; 83 c2 22 9768 mov ax, word [bp+014h] ; 8b 46 14 9769 xor bx, bx ; 31 db 9770 call 0167ch ; e8 da ac 9771 mov dx, word [bp+006h] ; 8b 56 06 9772 add dx, strict byte 00024h ; 83 c2 24 9773 mov ax, word [bp+014h] ; 8b 46 14 9774 mov bx, strict word 0000fh ; bb 0f 00 9775 call 01660h ; e8 af ac 9776 mov dx, word [bp+006h] ; 8b 56 06 9777 add dx, strict byte 00025h ; 83 c2 25 9778 mov ax, word [bp+014h] ; 8b 46 14 9779 mov bx, 0009bh ; bb 9b 00 9780 call 01660h ; e8 a0 ac 9781 mov dx, word [bp+006h] ; 8b 56 06 9782 add dx, strict byte 00026h ; 83 c2 26 9783 mov ax, word [bp+014h] ; 8b 46 14 9784 xor bx, bx ; 31 db 9785 call 0167ch ; e8 ae ac 9786 mov ax, ss ; 8c d0 9787 mov CL, strict byte 004h ; b1 04 9788 mov si, ax ; 89 c6 9789 sal si, CL ; d3 e6 9790 mov CL, strict byte 00ch ; b1 0c 9791 shr ax, CL ; d3 e8 9792 mov cx, ax ; 89 c1 9793 mov dx, word [bp+006h] ; 8b 56 06 9794 add dx, strict byte 00028h ; 83 c2 28 9795 mov ax, word [bp+014h] ; 8b 46 14 9796 mov bx, strict word 0ffffh ; bb ff ff 9797 call 0167ch ; e8 91 ac 9798 mov dx, word [bp+006h] ; 8b 56 06 9799 add dx, strict byte 0002ah ; 83 c2 2a 9800 mov ax, word [bp+014h] ; 8b 46 14 9801 mov bx, si ; 89 f3 9802 call 0167ch ; e8 83 ac 9803 mov bl, cl ; 88 cb 9804 xor bh, bh ; 30 ff 9805 mov dx, word [bp+006h] ; 8b 56 06 9806 add dx, strict byte 0002ch ; 83 c2 2c 9807 mov ax, word [bp+014h] ; 8b 46 14 9808 call 01660h ; e8 57 ac 9809 mov dx, word [bp+006h] ; 8b 56 06 9810 add dx, strict byte 0002dh ; 83 c2 2d 9811 mov ax, word [bp+014h] ; 8b 46 14 9812 mov bx, 00093h ; bb 93 00 9813 call 01660h ; e8 48 ac 9814 mov dx, word [bp+006h] ; 8b 56 06 9815 add dx, strict byte 0002eh ; 83 c2 2e 9816 mov ax, word [bp+014h] ; 8b 46 14 9817 xor bx, bx ; 31 db 9818 call 0167ch ; e8 56 ac 9819 mov si, word [bp+006h] ; 8b 76 06 9820 mov es, [bp+014h] ; 8e 46 14 9821 mov cx, word [bp+010h] ; 8b 4e 10 9822 push DS ; 1e 9823 push eax ; 66 50 9824 db 066h, 033h, 0c0h 9825 ; xor eax, eax ; 66 33 c0 9826 mov ds, ax ; 8e d8 9827 mov word [00467h], sp ; 89 26 67 04 9828 mov [00469h], ss ; 8c 16 69 04 9829 call 06a42h ; e8 00 00 9830 pop di ; 5f 9831 add di, strict byte 0001bh ; 83 c7 1b 9832 push strict byte 00020h ; 6a 20 9833 push di ; 57 9834 lgdt [es:si+008h] ; 26 0f 01 54 08 9835 lidt [cs:0efefh] ; 2e 0f 01 1e ef ef 9836 mov eax, cr0 ; 0f 20 c0 9837 or AL, strict byte 001h ; 0c 01 9838 mov cr0, eax ; 0f 22 c0 9839 retf ; cb 9840 mov ax, strict word 00028h ; b8 28 00 9841 mov ss, ax ; 8e d0 9842 mov ax, strict word 00010h ; b8 10 00 9843 mov ds, ax ; 8e d8 9844 mov ax, strict word 00018h ; b8 18 00 9845 mov es, ax ; 8e c0 9846 db 033h, 0f6h 9847 ; xor si, si ; 33 f6 9848 db 033h, 0ffh 9849 ; xor di, di ; 33 ff 9850 cld ; fc 9851 rep movsw ; f3 a5 9852 call 06a76h ; e8 00 00 9853 pop ax ; 58 9854 push 0f000h ; 68 00 f0 9855 add ax, strict byte 00018h ; 83 c0 18 9856 push ax ; 50 9857 mov ax, strict word 00028h ; b8 28 00 9858 mov ds, ax ; 8e d8 9859 mov es, ax ; 8e c0 9860 mov eax, cr0 ; 0f 20 c0 9861 and AL, strict byte 0feh ; 24 fe 9862 mov cr0, eax ; 0f 22 c0 9863 retf ; cb 9864 lidt [cs:0eff5h] ; 2e 0f 01 1e f5 ef 9865 db 033h, 0c0h 9866 ; xor ax, ax ; 33 c0 9867 mov ds, ax ; 8e d8 9868 mov es, ax ; 8e c0 9869 lss sp, [00467h] ; 0f b2 26 67 04 9870 pop eax ; 66 58 9871 pop DS ; 1f 9872 mov ax, di ; 89 f8 9873 call 066bch ; e8 15 fc 9874 sti ; fb 9875 mov byte [bp+013h], 000h ; c6 46 13 00 9876 and byte [bp+018h], 0feh ; 80 66 18 fe 9877 jmp near 06858h ; e9 a5 fd 9885 or bx, ax ; 09 c3 9886 mov word [bp+012h], bx ; 89 5e 12 9887 jmp near 0689ch ; e9 41 ff 9878 9888 mov ax, strict word 00031h ; b8 31 00 9879 call 016aeh ; e8 f5 ab9889 call 016aeh ; e8 4d ad 9880 9890 mov dh, al ; 88 c6 9881 9891 mov ax, strict word 00030h ; b8 30 00 9882 call 016aeh ; e8 ed ab9892 call 016aeh ; e8 45 ad 9883 9893 mov dl, al ; 88 c2 9884 9894 mov word [bp+012h], dx ; 89 56 12 9885 9895 cmp dx, strict byte 0ffc0h ; 83 fa c0 9886 jbe short 06 aach ; 76 e19896 jbe short 06978h ; 76 05 9887 9897 mov word [bp+012h], strict word 0ffc0h ; c7 46 12 c0 ff 9888 jmp short 06aach ; eb da 9898 and byte [bp+018h], 0feh ; 80 66 18 fe 9899 jmp near 0689ch ; e9 1d ff 9889 9900 cli ; fa 9890 9901 mov ax, strict word 00001h ; b8 01 00 9891 call 066 bch ; e8 e3 fb9902 call 066ffh ; e8 79 fd 9892 9903 mov dx, word [bp+006h] ; 8b 56 06 9893 9904 add dx, strict byte 00038h ; 83 c2 38 9894 9905 mov ax, word [bp+014h] ; 8b 46 14 9895 9906 mov bx, strict word 0ffffh ; bb ff ff 9896 call 0167ch ; e8 94 ab9907 call 0167ch ; e8 e7 ac 9897 9908 mov dx, word [bp+006h] ; 8b 56 06 9898 9909 add dx, strict byte 0003ah ; 83 c2 3a 9899 9910 mov ax, word [bp+014h] ; 8b 46 14 9900 9911 xor bx, bx ; 31 db 9901 call 0167ch ; e8 86 ab9912 call 0167ch ; e8 d9 ac 9902 9913 mov dx, word [bp+006h] ; 8b 56 06 9903 9914 add dx, strict byte 0003ch ; 83 c2 3c 9904 9915 mov ax, word [bp+014h] ; 8b 46 14 9905 9916 mov bx, strict word 0000fh ; bb 0f 00 9906 call 01660h ; e8 5b ab9917 call 01660h ; e8 ae ac 9907 9918 mov dx, word [bp+006h] ; 8b 56 06 9908 9919 add dx, strict byte 0003dh ; 83 c2 3d 9909 9920 mov ax, word [bp+014h] ; 8b 46 14 9910 9921 mov bx, 0009bh ; bb 9b 00 9911 call 01660h ; e8 4c ab9922 call 01660h ; e8 9f ac 9912 9923 mov dx, word [bp+006h] ; 8b 56 06 9913 9924 add dx, strict byte 0003eh ; 83 c2 3e 9914 9925 mov ax, word [bp+014h] ; 8b 46 14 9915 9926 xor bx, bx ; 31 db 9916 call 0167ch ; e8 5a ab9927 call 0167ch ; e8 ad ac 9917 9928 mov AL, strict byte 011h ; b0 11 9918 9929 mov dx, strict word 00020h ; ba 20 00 … … 9943 9954 out DX, AL ; ee 9944 9955 mov si, word [bp+006h] ; 8b 76 06 9945 call 06 b60h ; e8 00 009956 call 06a0dh ; e8 00 00 9946 9957 pop di ; 5f 9947 9958 add di, strict byte 00018h ; 83 c7 18 … … 9971 9982 push cx ; 51 9972 9983 retf ; cb 9973 jmp near 068 58h ; e9 bc fc9984 jmp near 0689ch ; e9 53 fe 9974 9985 mov bx, 00da0h ; bb a0 0d 9975 9986 mov cx, ds ; 8c d9 9976 9987 mov ax, strict word 00004h ; b8 04 00 9977 call 01933h ; e8 8c ad9988 call 01933h ; e8 df ae 9978 9989 mov ax, 0086eh ; b8 6e 08 9979 9990 push ax ; 50 9980 9991 mov ax, strict word 00004h ; b8 04 00 9981 9992 push ax ; 50 9982 call 01976h ; e8 c4 ad9993 call 01976h ; e8 17 af 9983 9994 add sp, strict byte 00004h ; 83 c4 04 9984 9995 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9987 9998 or ah, 086h ; 80 cc 86 9988 9999 mov word [bp+012h], ax ; 89 46 12 9989 jmp near 068 58h ; e9 91 fc10000 jmp near 0689ch ; e9 28 fe 9990 10001 mov word [bp+018h], cx ; 89 4e 18 9991 10002 mov word [bp+012h], ax ; 89 46 12 9992 10003 mov word [bp+00ch], 0e6f5h ; c7 46 0c f5 e6 9993 10004 mov word [bp+014h], 0f000h ; c7 46 14 00 f0 9994 jmp near 068 58h ; e9 7e fc10005 jmp near 0689ch ; e9 15 fe 9995 10006 mov dx, strict word 0000eh ; ba 0e 00 9996 10007 mov ax, strict word 00040h ; b8 40 00 9997 call 0166eh ; e8 8b aa10008 call 0166eh ; e8 de ab 9998 10009 mov word [bp+014h], ax ; 89 46 14 9999 jmp near 06 aach ; e9 c3fe10010 jmp near 06978h ; e9 e2 fe 10000 10011 mov ax, 0089dh ; b8 9d 08 10001 10012 push ax ; 50 10002 10013 mov ax, strict word 00008h ; b8 08 00 10003 jmp short 06 baeh ; eb bc10014 jmp short 06a5bh ; eb bc 10004 10015 test byte [bp+012h], 0ffh ; f6 46 12 ff 10005 jne short 06 c17h ; 75 1f10016 jne short 06ac4h ; 75 1f 10006 10017 mov word [bp+012h], ax ; 89 46 12 10007 10018 mov ax, word [bp+00ch] ; 8b 46 0c 10008 10019 xor ah, ah ; 30 e4 10009 10020 cmp ax, strict word 00001h ; 3d 01 00 10010 jc short 06 c10h ; 72 0b10021 jc short 06abdh ; 72 0b 10011 10022 cmp ax, strict word 00003h ; 3d 03 00 10012 jnbe short 06 c10h ; 77 0610023 jnbe short 06abdh ; 77 06 10013 10024 mov word [bp+018h], cx ; 89 4e 18 10014 jmp near 068 58h ; e9 48 fc10025 jmp near 0689ch ; e9 df fd 10015 10026 or byte [bp+018h], 001h ; 80 4e 18 01 10016 jmp near 068 58h ; e9 41 fc10027 jmp near 0689ch ; e9 d8 fd 10017 10028 mov bx, 00da0h ; bb a0 0d 10018 10029 mov cx, ds ; 8c d9 10019 10030 mov ax, strict word 00004h ; b8 04 00 10020 call 01933h ; e8 11 ad10031 call 01933h ; e8 64 ae 10021 10032 push word [bp+00ch] ; ff 76 0c 10022 10033 push word [bp+012h] ; ff 76 12 … … 10025 10036 mov ax, strict word 00004h ; b8 04 00 10026 10037 push ax ; 50 10027 call 01976h ; e8 43 ad10038 call 01976h ; e8 96 ae 10028 10039 add sp, strict byte 00008h ; 83 c4 08 10029 jmp near 06bb5h ; e9 7c ff 10030 in ax, 06dh ; e5 6d 10031 movd mm4, [bx+06eh] ; 0f 6e 67 6e 10032 mov [bp-054h], gs ; 8c 6e ac 10040 jmp near 06a62h ; e9 7c ff 10041 arpl [si-073h], bp ; 63 6c 8d 10042 insb ; 6c 10043 in ax, 06ch ; e5 6c 10044 or ch, byte [di+02ah] ; 0a 6d 2a 10045 insw ; 6d 10046 dec cx ; 49 10047 insw ; 6d 10048 outsw ; 6f 10049 insw ; 6d 10050 xchg bp, ax ; 95 10051 insw ; 6d 10052 shr byte [di+006h], CL ; d2 6d 06 10033 10053 outsb ; 6e 10034 int 06eh ; cd 6e 10035 rep outsb ; f3 6e 10036 sbb word [bx+056h], bp ; 19 6f 56 10037 outsw ; 6f 10038 db 08ah 10039 outsw ; 6f 10040 _int15_function32: ; 0xf6c4d LB 0x3cf 10054 _int15_function32: ; 0xf6afa LB 0x39e 10041 10055 push bp ; 55 10042 10056 mov bp, sp ; 89 e5 … … 10050 10064 xor dh, dh ; 30 f6 10051 10065 cmp ax, 000e8h ; 3d e8 00 10052 je short 06 cb4h ; 74 4b10066 je short 06b60h ; 74 4a 10053 10067 cmp ax, 000d0h ; 3d d0 00 10054 je short 06 cadh ; 74 3f10068 je short 06b2dh ; 74 12 10055 10069 cmp ax, 00086h ; 3d 86 00 10056 jne short 06 cd2h ; 75 5f10070 jne short 06b5eh ; 75 3e 10057 10071 sti ; fb 10058 mov ax, word [bp+01ch] ; 8b 46 1c 10059 mov dx, word [bp+018h] ; 8b 56 18 10060 sal eax, 010h ; 66 c1 e0 10 10061 db 08bh, 0c2h 10062 ; mov ax, dx ; 8b c2 10063 mov ebx, strict dword 00000000fh ; 66 bb 0f 00 00 00 10064 db 066h, 033h, 0d2h 10065 ; xor edx, edx ; 66 33 d2 10066 div ebx ; 66 f7 f3 10067 db 066h, 08bh, 0c8h 10068 ; mov ecx, eax ; 66 8b c8 10069 in AL, strict byte 061h ; e4 61 10070 and AL, strict byte 010h ; 24 10 10071 db 08ah, 0e0h 10072 ; mov ah, al ; 8a e0 10073 db 066h, 00bh, 0c9h 10074 ; or ecx, ecx ; 66 0b c9 10075 je near 06caah ; 0f 84 0e 00 10076 in AL, strict byte 061h ; e4 61 10077 and AL, strict byte 010h ; 24 10 10078 db 03ah, 0c4h 10079 ; cmp al, ah ; 3a c4 10080 je short 06c9ch ; 74 f8 10081 db 08ah, 0e0h 10082 ; mov ah, al ; 8a e0 10083 dec ecx ; 66 49 10084 jne short 06c9ch ; 75 f2 10085 jmp near 06e61h ; e9 b4 01 10072 mov dx, word [bp+01ch] ; 8b 56 1c 10073 mov ax, word [bp+018h] ; 8b 46 18 10074 call 066bch ; e8 92 fb 10075 jmp near 06cdfh ; e9 b2 01 10086 10076 cmp dx, strict byte 0004fh ; 83 fa 4f 10087 je short 06cb6h ; 74 04 10088 jmp short 06cd2h ; eb 1e 10089 jmp short 06d0ch ; eb 56 10077 jne short 06b5eh ; 75 2c 10090 10078 cmp word [bp+016h], 05052h ; 81 7e 16 52 50 10091 jne short 06 d16h ; 75 5910079 jne short 06b94h ; 75 5b 10092 10080 cmp word [bp+014h], 04f43h ; 81 7e 14 43 4f 10093 jne short 06 d16h ; 75 5210081 jne short 06b94h ; 75 54 10094 10082 cmp word [bp+01eh], 04d4fh ; 81 7e 1e 4f 4d 10095 jne short 06 d16h ; 75 4b10083 jne short 06b94h ; 75 4d 10096 10084 cmp word [bp+01ch], 04445h ; 81 7e 1c 45 44 10097 je short 06cd4h ; 74 02 10098 jmp short 06d16h ; eb 42 10085 jne short 06b94h ; 75 46 10099 10086 mov ax, word [bp+00ah] ; 8b 46 0a 10100 10087 or ax, word [bp+008h] ; 0b 46 08 10101 jne short 06 d16h ; 75 3a10088 jne short 06b94h ; 75 3e 10102 10089 mov ax, word [bp+006h] ; 8b 46 06 10103 10090 or ax, word [bp+004h] ; 0b 46 04 10104 jne short 06d16h ; 75 32 10091 je short 06b62h ; 74 04 10092 jmp short 06b94h ; eb 34 10093 jmp short 06b8ah ; eb 28 10105 10094 mov word [bp+028h], bx ; 89 5e 28 10106 10095 mov ax, word [bp+014h] ; 8b 46 14 … … 10114 10103 mov word [bp+020h], 03332h ; c7 46 20 32 33 10115 10104 mov word [bp+022h], 04941h ; c7 46 22 41 49 10116 jmp near 06 e61h ; e9 55 0110105 jmp near 06cdfh ; e9 55 01 10117 10106 cmp dx, strict byte 00020h ; 83 fa 20 10118 je short 06 d1ch ; 74 0b10107 je short 06b9ah ; 74 0b 10119 10108 cmp dx, strict byte 00001h ; 83 fa 01 10120 je short 06 d19h ; 74 0310121 jmp near 06 e34h ; e9 1b 0110122 jmp near 06 fdch ; e9 c00210109 je short 06b97h ; 74 03 10110 jmp near 06cb2h ; e9 1b 01 10111 jmp near 06e58h ; e9 be 02 10123 10112 cmp word [bp+01ah], 0534dh ; 81 7e 1a 4d 53 10124 jne short 06 d16h ; 75 f310113 jne short 06b94h ; 75 f3 10125 10114 cmp word [bp+018h], 04150h ; 81 7e 18 50 41 10126 jne short 06 d16h ; 75 ec10115 jne short 06b94h ; 75 ec 10127 10116 mov ax, strict word 00035h ; b8 35 00 10128 call 016aeh ; e8 7e a910117 call 016aeh ; e8 00 ab 10129 10118 mov bl, al ; 88 c3 10130 10119 xor bh, bh ; 30 ff … … 10133 10122 sal bx, 1 ; d1 e3 10134 10123 rcl dx, 1 ; d1 d2 10135 loop 06 d39h ; e2 fa10124 loop 06bb7h ; e2 fa 10136 10125 mov ax, strict word 00034h ; b8 34 00 10137 call 016aeh ; e8 69 a910126 call 016aeh ; e8 eb aa 10138 10127 xor ah, ah ; 30 e4 10139 10128 mov dx, bx ; 89 da … … 10143 10132 adc dx, 00100h ; 81 d2 00 01 10144 10133 cmp dx, 00100h ; 81 fa 00 01 10145 jc short 06 d5fh ; 72 0610146 jne short 06 d8dh ; 75 3210134 jc short 06bddh ; 72 06 10135 jne short 06c0bh ; 75 32 10147 10136 test bx, bx ; 85 db 10148 jnbe short 06 d8dh ; 77 2e10137 jnbe short 06c0bh ; 77 2e 10149 10138 mov ax, strict word 00031h ; b8 31 00 10150 call 016aeh ; e8 49 a910139 call 016aeh ; e8 cb aa 10151 10140 mov bl, al ; 88 c3 10152 10141 xor bh, bh ; 30 ff … … 10155 10144 sal bx, 1 ; d1 e3 10156 10145 rcl dx, 1 ; d1 d2 10157 loop 06 d6eh ; e2 fa10146 loop 06bech ; e2 fa 10158 10147 mov ax, strict word 00030h ; b8 30 00 10159 call 016aeh ; e8 34 a910148 call 016aeh ; e8 b6 aa 10160 10149 xor ah, ah ; 30 e4 10161 10150 or bx, ax ; 09 c3 … … 10163 10152 sal bx, 1 ; d1 e3 10164 10153 rcl dx, 1 ; d1 d2 10165 loop 06 d81h ; e2 fa10154 loop 06bffh ; e2 fa 10166 10155 add bx, strict byte 00000h ; 83 c3 00 10167 10156 adc dx, strict byte 00010h ; 83 d2 10 10168 10157 mov ax, strict word 00062h ; b8 62 00 10169 call 016aeh ; e8 1b a910158 call 016aeh ; e8 9d aa 10170 10159 xor ah, ah ; 30 e4 10171 10160 mov word [bp-00ah], ax ; 89 46 f6 … … 10175 10164 sal word [bp-00ah], 1 ; d1 66 f6 10176 10165 rcl word [bp-008h], 1 ; d1 56 f8 10177 loop 06 da0h ; e2 f810166 loop 06c1eh ; e2 f8 10178 10167 mov ax, strict word 00061h ; b8 61 00 10179 call 016aeh ; e8 00 a910168 call 016aeh ; e8 82 aa 10180 10169 xor ah, ah ; 30 e4 10181 10170 or word [bp-00ah], ax ; 09 46 f6 … … 10184 10173 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 10185 10174 mov ax, strict word 00063h ; b8 63 00 10186 call 016aeh ; e8 ea a8 10175 call 016aeh ; e8 6c aa 10176 mov byte [bp-004h], al ; 88 46 fc 10187 10177 mov byte [bp-006h], al ; 88 46 fa 10188 mov byte [bp-004h], al ; 88 46 fc10189 10178 mov ax, word [bp+014h] ; 8b 46 14 10190 10179 cmp ax, strict word 00009h ; 3d 09 00 10191 jnbe short 06 e34h ; 77 6210180 jnbe short 06cb2h ; 77 62 10192 10181 mov si, ax ; 89 c6 10193 10182 sal si, 1 ; d1 e6 10194 mov cx, bx ; 89 d910195 add cx, strict byte 00000h ; 83 c10010196 mov ax, dx ; 89 d010197 adc ax, strict word 0ffffh ; 15 ffff10198 jmp word [cs:si+06 c39h] ; 2e ff a4 39 6c10183 mov ax, bx ; 89 d8 10184 add ax, strict word 00000h ; 05 00 00 10185 mov cx, dx ; 89 d1 10186 adc cx, strict byte 0ffffh ; 83 d1 ff 10187 jmp word [cs:si+06ae6h] ; 2e ff a4 e6 6a 10199 10188 mov ax, strict word 00001h ; b8 01 00 10200 10189 push ax ; 50 … … 10210 10199 xor bx, bx ; 31 db 10211 10200 xor cx, cx ; 31 c9 10212 call 06 6ech ; e8 ea f810201 call 0672fh ; e8 af fa 10213 10202 mov word [bp+014h], strict word 00001h ; c7 46 14 01 00 10214 10203 mov word [bp+016h], strict word 00000h ; c7 46 16 00 00 10215 jmp near 06 fc1h ; e9 b20110204 jmp near 06e3dh ; e9 b0 01 10216 10205 mov ax, strict word 00002h ; b8 02 00 10217 10206 push ax ; 50 … … 10227 10216 mov bx, 0fc00h ; bb 00 fc 10228 10217 mov cx, strict word 00009h ; b9 09 00 10229 call 06 6ech ; e8 bf f810218 call 0672fh ; e8 84 fa 10230 10219 mov word [bp+014h], strict word 00002h ; c7 46 14 02 00 10231 jmp short 06 e07h ; eb d310220 jmp short 06c85h ; eb d3 10232 10221 mov bx, 00da0h ; bb a0 0d 10233 10222 mov cx, ds ; 8c d9 10234 10223 mov ax, strict word 00004h ; b8 04 00 10235 call 01933h ; e8 f4 aa10224 call 01933h ; e8 76 ac 10236 10225 push word [bp+014h] ; ff 76 14 10237 10226 push word [bp+020h] ; ff 76 20 … … 10240 10229 mov ax, strict word 00004h ; b8 04 00 10241 10230 push ax ; 50 10242 call 01976h ; e8 26 ab10231 call 01976h ; e8 a8 ac 10243 10232 add sp, strict byte 00008h ; 83 c4 08 10244 10233 or byte [bp+028h], 001h ; 80 4e 28 01 … … 10264 10253 xor bx, bx ; 31 db 10265 10254 mov cx, strict word 0000fh ; b9 0f 00 10266 call 06 6ech ; e8 68 f810255 call 0672fh ; e8 2d fa 10267 10256 mov word [bp+014h], strict word 00003h ; c7 46 14 03 00 10268 jmp near 06 e07h ; e9 7b ff10257 jmp near 06c85h ; e9 7b ff 10269 10258 mov dx, strict word 00001h ; ba 01 00 10270 10259 push dx ; 52 … … 10272 10261 push dx ; 52 10273 10262 push dx ; 52 10274 push ax ; 5010275 10263 push cx ; 51 10264 push ax ; 50 10276 10265 mov dx, word [bp+004h] ; 8b 56 04 10277 10266 mov ax, word [bp+024h] ; 8b 46 24 10278 10267 xor bx, bx ; 31 db 10279 10268 mov cx, strict word 00010h ; b9 10 00 10280 call 06 6ech ; e8 48 f810269 call 0672fh ; e8 0d fa 10281 10270 mov word [bp+014h], strict word 00004h ; c7 46 14 04 00 10282 jmp near 06 e07h ; e9 5b ff10271 jmp near 06c85h ; e9 5b ff 10283 10272 mov si, strict word 00003h ; be 03 00 10284 10273 push si ; 56 … … 10290 10279 mov dx, word [bp+004h] ; 8b 56 04 10291 10280 mov si, word [bp+024h] ; 8b 76 24 10292 mov bx, cx ; 89 cb 10293 mov cx, ax ; 89 c1 10281 mov bx, ax ; 89 c3 10294 10282 mov ax, si ; 89 f0 10295 call 06 6ech ; e8 27 f810283 call 0672fh ; e8 ee f9 10296 10284 mov word [bp+014h], strict word 00005h ; c7 46 14 05 00 10297 jmp near 06 e07h ; e9 3aff10285 jmp near 06c85h ; e9 3c ff 10298 10286 mov ax, strict word 00002h ; b8 02 00 10299 10287 push ax ; 50 … … 10309 10297 xor bx, bx ; 31 db 10310 10298 mov cx, 0fec0h ; b9 c0 fe 10311 call 06 6ech ; e8 01 f810299 call 0672fh ; e8 c8 f9 10312 10300 mov word [bp+014h], strict word 00006h ; c7 46 14 06 00 10313 jmp near 06 e07h ; e9 14ff10301 jmp near 06c85h ; e9 16 ff 10314 10302 mov ax, strict word 00002h ; b8 02 00 10315 10303 push ax ; 50 … … 10325 10313 xor bx, bx ; 31 db 10326 10314 mov cx, 0fee0h ; b9 e0 fe 10327 call 06 6ech ; e8 db f710315 call 0672fh ; e8 a2 f9 10328 10316 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 10329 jmp near 06 e07h ; e9 eefe10317 jmp near 06c85h ; e9 f0 fe 10330 10318 mov ax, strict word 00002h ; b8 02 00 10331 10319 push ax ; 50 … … 10339 10327 xor bx, bx ; 31 db 10340 10328 mov cx, strict word 0fffch ; b9 fc ff 10341 call 06 6ech ; e8 bb f710342 cmp byte [bp-00 6h], 000h ; 80 7e fa0010343 jne short 06 f3eh ; 75 0710329 call 0672fh ; e8 82 f9 10330 cmp byte [bp-004h], 000h ; 80 7e fc 00 10331 jne short 06dbah ; 75 07 10344 10332 mov ax, word [bp-008h] ; 8b 46 f8 10345 10333 test ax, ax ; 85 c0 10346 je short 06 f4eh ; 74 1010334 je short 06dcah ; 74 10 10347 10335 mov word [bp+014h], strict word 00009h ; c7 46 14 09 00 10348 jmp near 06 e07h ; e9 c1fe10336 jmp near 06c85h ; e9 c3 fe 10349 10337 mov word [bp+014h], strict word 00008h ; c7 46 14 08 00 10350 jmp near 06 e07h ; e9 b9fe10338 jmp near 06c85h ; e9 bb fe 10351 10339 mov word [bp+014h], ax ; 89 46 14 10352 10340 mov word [bp+016h], ax ; 89 46 16 10353 jmp short 06 fc1h ; eb 6b10341 jmp short 06e3dh ; eb 6b 10354 10342 mov ax, strict word 00002h ; b8 02 00 10355 10343 push ax ; 50 … … 10363 10351 xor bx, bx ; 31 db 10364 10352 xor cx, cx ; 31 c9 10365 call 06 6ech ; e8 7f f710366 cmp byte [bp-00 6h], 000h ; 80 7e fa0010367 jne short 06 f7ah ; 75 0710353 call 0672fh ; e8 46 f9 10354 cmp byte [bp-004h], 000h ; 80 7e fc 00 10355 jne short 06df6h ; 75 07 10368 10356 mov ax, word [bp-008h] ; 8b 46 f8 10369 10357 test ax, ax ; 85 c0 10370 je short 06 f82h ; 74 0810358 je short 06dfeh ; 74 08 10371 10359 mov word [bp+014h], strict word 00009h ; c7 46 14 09 00 10372 jmp near 06 e07h ; e9 85fe10360 jmp near 06c85h ; e9 87 fe 10373 10361 mov word [bp+014h], ax ; 89 46 14 10374 10362 mov word [bp+016h], ax ; 89 46 16 10375 jmp short 06 fc1h ; eb 3710376 cmp byte [bp-00 6h], 000h ; 80 7e fa0010377 jne short 06 f96h ; 75 0610363 jmp short 06e3dh ; eb 37 10364 cmp byte [bp-004h], 000h ; 80 7e fc 00 10365 jne short 06e12h ; 75 06 10378 10366 cmp word [bp-008h], strict byte 00000h ; 83 7e f8 00 10379 je short 06 fc1h ; 74 2b10367 je short 06e3dh ; 74 2b 10380 10368 mov ax, strict word 00001h ; b8 01 00 10381 10369 push ax ; 50 10382 mov al, byte [bp-00 4h] ; 8a 46 fc10370 mov al, byte [bp-006h] ; 8a 46 fa 10383 10371 db 0feh, 0c0h 10384 10372 ; inc al ; fe c0 … … 10393 10381 xor bx, bx ; 31 db 10394 10382 xor cx, cx ; 31 c9 10395 call 06 6ech ; e8 33 f710383 call 0672fh ; e8 fa f8 10396 10384 xor ax, ax ; 31 c0 10397 10385 mov word [bp+014h], ax ; 89 46 14 … … 10402 10390 mov word [bp+01eh], strict word 00000h ; c7 46 1e 00 00 10403 10391 and byte [bp+028h], 0feh ; 80 66 28 fe 10404 jmp near 06 e61h ; e9 85fe10392 jmp near 06cdfh ; e9 87 fe 10405 10393 mov word [bp+028h], bx ; 89 5e 28 10406 10394 mov ax, strict word 00031h ; b8 31 00 10407 call 016aeh ; e8 c9 a610395 call 016aeh ; e8 4d a8 10408 10396 mov dh, al ; 88 c6 10409 10397 mov ax, strict word 00030h ; b8 30 00 10410 call 016aeh ; e8 c1 a610398 call 016aeh ; e8 45 a8 10411 10399 mov dl, al ; 88 c2 10412 10400 mov word [bp+01ch], dx ; 89 56 1c 10413 10401 cmp dx, 03c00h ; 81 fa 00 3c 10414 jbe short 06 ffdh ; 76 0510402 jbe short 06e79h ; 76 05 10415 10403 mov word [bp+01ch], 03c00h ; c7 46 1c 00 3c 10416 10404 mov ax, strict word 00035h ; b8 35 00 10417 call 016aeh ; e8 ab a610405 call 016aeh ; e8 2f a8 10418 10406 mov dh, al ; 88 c6 10419 10407 mov ax, strict word 00034h ; b8 34 00 10420 call 016aeh ; e8 a3 a610408 call 016aeh ; e8 27 a8 10421 10409 mov dl, al ; 88 c2 10422 10410 mov word [bp+018h], dx ; 89 56 18 … … 10424 10412 mov word [bp+020h], ax ; 89 46 20 10425 10413 mov word [bp+014h], dx ; 89 56 14 10426 jmp near 06 e61h ; e9 45fe10427 _inv_op_handler: ; 0xf 701cLB 0x18f10414 jmp near 06cdfh ; e9 47 fe 10415 _inv_op_handler: ; 0xf6e98 LB 0x18f 10428 10416 push bp ; 55 10429 10417 mov bp, sp ; 89 e5 … … 10434 10422 les bx, [bp+018h] ; c4 5e 18 10435 10423 cmp byte [es:bx], 0f0h ; 26 80 3f f0 10436 jne short 0 7032h ; 75 0610424 jne short 06eaeh ; 75 06 10437 10425 inc word [bp+018h] ; ff 46 18 10438 jmp near 07 1a4h ; e9 72 0110426 jmp near 07020h ; e9 72 01 10439 10427 cmp word [es:bx], 0050fh ; 26 81 3f 0f 05 10440 je short 0 703ch ; 74 0310441 jmp near 07 1a0h ; e9 64 0110428 je short 06eb8h ; 74 03 10429 jmp near 0701ch ; e9 64 01 10442 10430 mov si, 00800h ; be 00 08 10443 10431 xor ax, ax ; 31 c0 … … 10468 10456 sal ax, 1 ; d1 e0 10469 10457 rcl dx, 1 ; d1 d2 10470 loop 0 708dh ; e2 fa10458 loop 06f09h ; e2 fa 10471 10459 cmp bx, dx ; 39 d3 10472 jne short 0 709bh ; 75 0410460 jne short 06f17h ; 75 04 10473 10461 cmp di, ax ; 39 c7 10474 je short 0 70a0h ; 74 0510462 je short 06f1ch ; 74 05 10475 10463 mov word [bp-006h], strict word 00001h ; c7 46 fa 01 00 10476 10464 mov es, [bp-008h] ; 8e 46 f8 … … 10483 10471 sal ax, 1 ; d1 e0 10484 10472 rcl dx, 1 ; d1 d2 10485 loop 0 70b6h ; e2 fa10473 loop 06f32h ; e2 fa 10486 10474 cmp bx, dx ; 39 d3 10487 jne short 0 70c4h ; 75 0410475 jne short 06f40h ; 75 04 10488 10476 cmp di, ax ; 39 c7 10489 je short 0 70c8h ; 74 0410477 je short 06f44h ; 74 04 10490 10478 or byte [bp-006h], 002h ; 80 4e fa 02 10491 10479 xor ax, ax ; 31 c0 … … 10537 10525 mov ax, strict word 00008h ; b8 08 00 10538 10526 test cx, strict word 00001h ; f7 c1 01 00 10539 je near 0 715dh ; 0f 84 02 0010527 je near 06fd9h ; 0f 84 02 00 10540 10528 mov es, ax ; 8e c0 10541 10529 test cx, strict word 00002h ; f7 c1 02 00 10542 je near 07 185h ; 0f 84 20 0010530 je near 07001h ; 0f 84 20 00 10543 10531 mov bx, word [word ss:00000h] ; 36 8b 1e 00 00 10544 10532 mov word [word ss:00008h], bx ; 36 89 1e 08 00 … … 10557 10545 mov ss, [word ss:00020h] ; 36 8e 16 20 00 10558 10546 iret ; cf 10559 jmp short 07 1a4h ; eb 0410547 jmp short 07020h ; eb 04 10560 10548 sti ; fb 10561 10549 hlt ; f4 10562 jmp short 07 1a1h ; eb fd10550 jmp short 0701dh ; eb fd 10563 10551 lea sp, [bp-004h] ; 8d 66 fc 10564 10552 pop di ; 5f … … 10566 10554 pop bp ; 5d 10567 10555 retn ; c3 10568 init_rtc_: ; 0xf7 1abLB 0x2810556 init_rtc_: ; 0xf7027 LB 0x28 10569 10557 push bp ; 55 10570 10558 mov bp, sp ; 89 e5 … … 10572 10560 mov dx, strict word 00026h ; ba 26 00 10573 10561 mov ax, strict word 0000ah ; b8 0a 00 10574 call 016c9h ; e8 11 a510562 call 016c9h ; e8 95 a6 10575 10563 mov dx, strict word 00002h ; ba 02 00 10576 10564 mov ax, strict word 0000bh ; b8 0b 00 10577 call 016c9h ; e8 08 a510565 call 016c9h ; e8 8c a6 10578 10566 mov ax, strict word 0000ch ; b8 0c 00 10579 call 016aeh ; e8 e7 a410567 call 016aeh ; e8 6b a6 10580 10568 mov ax, strict word 0000dh ; b8 0d 00 10581 call 016aeh ; e8 e1 a410569 call 016aeh ; e8 65 a6 10582 10570 lea sp, [bp-002h] ; 8d 66 fe 10583 10571 pop dx ; 5a 10584 10572 pop bp ; 5d 10585 10573 retn ; c3 10586 rtc_updating_: ; 0xf7 1d3LB 0x2110574 rtc_updating_: ; 0xf704f LB 0x21 10587 10575 push bp ; 55 10588 10576 mov bp, sp ; 89 e5 … … 10590 10578 mov dx, 061a8h ; ba a8 61 10591 10579 dec dx ; 4a 10592 je short 07 1ebh ; 74 0e10580 je short 07067h ; 74 0e 10593 10581 mov ax, strict word 0000ah ; b8 0a 00 10594 call 016aeh ; e8 cb a410582 call 016aeh ; e8 4f a6 10595 10583 test AL, strict byte 080h ; a8 80 10596 jne short 07 1dah ; 75 f310584 jne short 07056h ; 75 f3 10597 10585 xor ax, ax ; 31 c0 10598 jmp short 07 1eeh ; eb 0310586 jmp short 0706ah ; eb 03 10599 10587 mov ax, strict word 00001h ; b8 01 00 10600 10588 lea sp, [bp-002h] ; 8d 66 fe … … 10602 10590 pop bp ; 5d 10603 10591 retn ; c3 10604 _int70_function: ; 0xf7 1f4LB 0xbf10592 _int70_function: ; 0xf7070 LB 0xbf 10605 10593 push bp ; 55 10606 10594 mov bp, sp ; 89 e5 … … 10608 10596 push ax ; 50 10609 10597 mov ax, strict word 0000bh ; b8 0b 00 10610 call 016aeh ; e8 af a410598 call 016aeh ; e8 33 a6 10611 10599 mov bl, al ; 88 c3 10612 10600 mov byte [bp-004h], al ; 88 46 fc 10613 10601 mov ax, strict word 0000ch ; b8 0c 00 10614 call 016aeh ; e8 a4 a410602 call 016aeh ; e8 28 a6 10615 10603 mov dl, al ; 88 c2 10616 10604 test bl, 060h ; f6 c3 60 10617 jne short 07 214h ; 75 0310618 jmp near 07 29ah ; e9 86 0010605 jne short 07090h ; 75 03 10606 jmp near 07116h ; e9 86 00 10619 10607 test AL, strict byte 020h ; a8 20 10620 je short 07 21ch ; 74 0410608 je short 07098h ; 74 04 10621 10609 sti ; fb 10622 10610 int 04ah ; cd 4a 10623 10611 cli ; fa 10624 10612 test dl, 040h ; f6 c2 40 10625 je short 07 284h ; 74 6310613 je short 07100h ; 74 63 10626 10614 mov dx, 000a0h ; ba a0 00 10627 10615 mov ax, strict word 00040h ; b8 40 00 10628 call 01652h ; e8 28 a410616 call 01652h ; e8 ac a5 10629 10617 test al, al ; 84 c0 10630 je short 07 29ah ; 74 6c10618 je short 07116h ; 74 6c 10631 10619 mov dx, 0009ch ; ba 9c 00 10632 10620 mov ax, strict word 00040h ; b8 40 00 10633 call 0168ah ; e8 53 a410621 call 0168ah ; e8 d7 a5 10634 10622 test dx, dx ; 85 d2 10635 jne short 07 286h ; 75 4b10623 jne short 07102h ; 75 4b 10636 10624 cmp ax, 003d1h ; 3d d1 03 10637 jnc short 07 286h ; 73 4610625 jnc short 07102h ; 73 46 10638 10626 mov dx, 00098h ; ba 98 00 10639 10627 mov ax, strict word 00040h ; b8 40 00 10640 call 0166eh ; e8 25 a410628 call 0166eh ; e8 a9 a5 10641 10629 mov si, ax ; 89 c6 10642 10630 mov dx, 0009ah ; ba 9a 00 10643 10631 mov ax, strict word 00040h ; b8 40 00 10644 call 0166eh ; e8 1a a410632 call 0166eh ; e8 9e a5 10645 10633 mov cx, ax ; 89 c1 10646 10634 xor bx, bx ; 31 db 10647 10635 mov dx, 000a0h ; ba a0 00 10648 10636 mov ax, strict word 00040h ; b8 40 00 10649 call 01660h ; e8 ff a310637 call 01660h ; e8 83 a5 10650 10638 mov dl, byte [bp-004h] ; 8a 56 fc 10651 10639 and dl, 037h ; 80 e2 37 10652 10640 xor dh, dh ; 30 f6 10653 10641 mov ax, strict word 0000bh ; b8 0b 00 10654 call 016c9h ; e8 5a a410642 call 016c9h ; e8 de a5 10655 10643 mov dx, cx ; 89 ca 10656 10644 mov ax, si ; 89 f0 10657 call 01652h ; e8 dc a310645 call 01652h ; e8 60 a5 10658 10646 mov bl, al ; 88 c3 10659 10647 or bl, 080h ; 80 cb 80 … … 10661 10649 mov dx, cx ; 89 ca 10662 10650 mov ax, si ; 89 f0 10663 call 01660h ; e8 dc a310664 jmp short 07 29ah ; eb 1410651 call 01660h ; e8 60 a5 10652 jmp short 07116h ; eb 14 10665 10653 mov bx, ax ; 89 c3 10666 10654 add bx, 0fc2fh ; 81 c3 2f fc … … 10669 10657 mov dx, 0009ch ; ba 9c 00 10670 10658 mov ax, strict word 00040h ; b8 40 00 10671 call 0169ch ; e8 02 a410672 call 0e030h ; e8 93 6d10659 call 0169ch ; e8 86 a5 10660 call 0e030h ; e8 17 6f 10673 10661 lea sp, [bp-002h] ; 8d 66 fe 10674 10662 pop si ; 5e 10675 10663 pop bp ; 5d 10676 10664 retn ; c3 10677 leave ; c910678 j c short 07296h ; 72 f010679 j c short 072bdh ; 72 1510680 jn c short 072fbh ; 73 5110681 jn c short 0724fh ; 73 a310682 j nc short 07288h ; 73 da10683 j nc short 072d1h ; 73 2110684 j e short 0732eh ; 74 7c10685 db 07 4h10686 _int1a_function: ; 0xf7 2b3LB 0x1d910665 inc bp ; 45 10666 jno short 0718eh ; 71 6c 10667 jno short 070b5h ; 71 91 10668 jno short 070f3h ; 71 cd 10669 jno short 07147h ; 71 1f 10670 jc short 07180h ; 72 56 10671 jc short 070c9h ; 72 9d 10672 jc short 07126h ; 72 f8 10673 db 072h 10674 _int1a_function: ; 0xf712f LB 0x1d9 10687 10675 push bp ; 55 10688 10676 mov bp, sp ; 89 e5 … … 10690 10678 mov al, byte [bp+013h] ; 8a 46 13 10691 10679 cmp AL, strict byte 007h ; 3c 07 10692 jnbe short 07 31ch ; 77 5e10680 jnbe short 07198h ; 77 5e 10693 10681 mov bl, al ; 88 c3 10694 10682 xor bh, bh ; 30 ff 10695 10683 sal bx, 1 ; d1 e3 10696 jmp word [cs:bx+07 2a3h] ; 2e ff a7 a3 7210684 jmp word [cs:bx+0711fh] ; 2e ff a7 1f 71 10697 10685 cli ; fa 10698 10686 mov bx, 0046eh ; bb 6e 04 … … 10709 10697 mov byte [es:bx], 000h ; 26 c6 07 00 10710 10698 sti ; fb 10711 jmp short 07 31ch ; eb 2c10699 jmp short 07198h ; eb 2c 10712 10700 cli ; fa 10713 10701 mov bx, 0046eh ; bb 6e 04 … … 10723 10711 sti ; fb 10724 10712 mov byte [bp+013h], 000h ; c6 46 13 00 10725 jmp short 07 31ch ; eb 0710726 call 07 1d3h ; e8 bb fe10713 jmp short 07198h ; eb 07 10714 call 0704fh ; e8 bb fe 10727 10715 test ax, ax ; 85 c0 10728 je short 07 31fh ; 74 0310729 jmp near 07 34dh ; e9 2e 0010716 je short 0719bh ; 74 03 10717 jmp near 071c9h ; e9 2e 00 10730 10718 xor ax, ax ; 31 c0 10731 call 016aeh ; e8 8a a310719 call 016aeh ; e8 0e a5 10732 10720 mov byte [bp+00fh], al ; 88 46 0f 10733 10721 mov ax, strict word 00002h ; b8 02 00 10734 call 016aeh ; e8 81 a310722 call 016aeh ; e8 05 a5 10735 10723 mov byte [bp+010h], al ; 88 46 10 10736 10724 mov ax, strict word 00004h ; b8 04 00 10737 call 016aeh ; e8 78 a310725 call 016aeh ; e8 fc a4 10738 10726 mov dl, al ; 88 c2 10739 10727 mov byte [bp+011h], al ; 88 46 11 10740 10728 mov ax, strict word 0000bh ; b8 0b 00 10741 call 016aeh ; e8 6d a310729 call 016aeh ; e8 f1 a4 10742 10730 and AL, strict byte 001h ; 24 01 10743 10731 mov byte [bp+00eh], al ; 88 46 0e … … 10747 10735 pop bp ; 5d 10748 10736 retn ; c3 10749 call 07 1d3h ; e8 7f fe10737 call 0704fh ; e8 7f fe 10750 10738 test ax, ax ; 85 c0 10751 je short 07 35bh ; 74 0310752 call 07 1abh ; e8 50 fe10739 je short 071d7h ; 74 03 10740 call 07027h ; e8 50 fe 10753 10741 mov dl, byte [bp+00fh] ; 8a 56 0f 10754 10742 xor dh, dh ; 30 f6 10755 10743 xor ax, ax ; 31 c0 10756 call 016c9h ; e8 64 a310744 call 016c9h ; e8 e8 a4 10757 10745 mov dl, byte [bp+010h] ; 8a 56 10 10758 10746 xor dh, dh ; 30 f6 10759 10747 mov ax, strict word 00002h ; b8 02 00 10760 call 016c9h ; e8 59 a310748 call 016c9h ; e8 dd a4 10761 10749 mov dl, byte [bp+011h] ; 8a 56 11 10762 10750 xor dh, dh ; 30 f6 10763 10751 mov ax, strict word 00004h ; b8 04 00 10764 call 016c9h ; e8 4e a310752 call 016c9h ; e8 d2 a4 10765 10753 mov ax, strict word 0000bh ; b8 0b 00 10766 call 016aeh ; e8 2d a310754 call 016aeh ; e8 b1 a4 10767 10755 mov bl, al ; 88 c3 10768 10756 and bl, 060h ; 80 e3 60 … … 10774 10762 xor dh, dh ; 30 f6 10775 10763 mov ax, strict word 0000bh ; b8 0b 00 10776 call 016c9h ; e8 2f a310764 call 016c9h ; e8 b3 a4 10777 10765 mov byte [bp+013h], 000h ; c6 46 13 00 10778 10766 mov byte [bp+012h], bl ; 88 5e 12 10779 jmp short 07 34dh ; eb aa10767 jmp short 071c9h ; eb aa 10780 10768 mov byte [bp+013h], 000h ; c6 46 13 00 10781 call 07 1d3h ; e8 29 fe10769 call 0704fh ; e8 29 fe 10782 10770 test ax, ax ; 85 c0 10783 je short 07 3b0h ; 74 0210784 jmp short 07 34dh ; eb 9d10771 je short 0722ch ; 74 02 10772 jmp short 071c9h ; eb 9d 10785 10773 mov ax, strict word 00009h ; b8 09 00 10786 call 016aeh ; e8 f8 a210774 call 016aeh ; e8 7c a4 10787 10775 mov byte [bp+010h], al ; 88 46 10 10788 10776 mov ax, strict word 00008h ; b8 08 00 10789 call 016aeh ; e8 ef a210777 call 016aeh ; e8 73 a4 10790 10778 mov byte [bp+00fh], al ; 88 46 0f 10791 10779 mov ax, strict word 00007h ; b8 07 00 10792 call 016aeh ; e8 e6 a210780 call 016aeh ; e8 6a a4 10793 10781 mov byte [bp+00eh], al ; 88 46 0e 10794 10782 mov ax, strict word 00032h ; b8 32 00 10795 call 016aeh ; e8 dd a210783 call 016aeh ; e8 61 a4 10796 10784 mov byte [bp+011h], al ; 88 46 11 10797 10785 mov byte [bp+012h], al ; 88 46 12 10798 jmp near 07 34dh ; e9 73 ff10799 call 07 1d3h ; e8 f6 fd10786 jmp near 071c9h ; e9 73 ff 10787 call 0704fh ; e8 f6 fd 10800 10788 test ax, ax ; 85 c0 10801 je short 07 3e7h ; 74 0610802 call 07 1abh ; e8 c7 fd10803 jmp near 07 34dh ; e9 66 ff10789 je short 07263h ; 74 06 10790 call 07027h ; e8 c7 fd 10791 jmp near 071c9h ; e9 66 ff 10804 10792 mov dl, byte [bp+010h] ; 8a 56 10 10805 10793 xor dh, dh ; 30 f6 10806 10794 mov ax, strict word 00009h ; b8 09 00 10807 call 016c9h ; e8 d7 a210795 call 016c9h ; e8 5b a4 10808 10796 mov dl, byte [bp+00fh] ; 8a 56 0f 10809 10797 xor dh, dh ; 30 f6 10810 10798 mov ax, strict word 00008h ; b8 08 00 10811 call 016c9h ; e8 cc a210799 call 016c9h ; e8 50 a4 10812 10800 mov dl, byte [bp+00eh] ; 8a 56 0e 10813 10801 xor dh, dh ; 30 f6 10814 10802 mov ax, strict word 00007h ; b8 07 00 10815 call 016c9h ; e8 c1 a210803 call 016c9h ; e8 45 a4 10816 10804 mov dl, byte [bp+011h] ; 8a 56 11 10817 10805 xor dh, dh ; 30 f6 10818 10806 mov ax, strict word 00032h ; b8 32 00 10819 call 016c9h ; e8 b6 a210807 call 016c9h ; e8 3a a4 10820 10808 mov ax, strict word 0000bh ; b8 0b 00 10821 call 016aeh ; e8 95 a210809 call 016aeh ; e8 19 a4 10822 10810 mov bl, al ; 88 c3 10823 10811 and bl, 07fh ; 80 e3 7f 10824 jmp near 07 390h ; e9 6f ff10812 jmp near 0720ch ; e9 6f ff 10825 10813 mov ax, strict word 0000bh ; b8 0b 00 10826 call 016aeh ; e8 87 a210814 call 016aeh ; e8 0b a4 10827 10815 mov bl, al ; 88 c3 10828 10816 mov word [bp+012h], strict word 00000h ; c7 46 12 00 00 10829 10817 test AL, strict byte 020h ; a8 20 10830 je short 07 435h ; 74 0310831 jmp near 07 34dh ; e9 18 ff10832 call 07 1d3h ; e8 9b fd10818 je short 072b1h ; 74 03 10819 jmp near 071c9h ; e9 18 ff 10820 call 0704fh ; e8 9b fd 10833 10821 test ax, ax ; 85 c0 10834 je short 07 43fh ; 74 0310835 call 07 1abh ; e8 6c fd10822 je short 072bbh ; 74 03 10823 call 07027h ; e8 6c fd 10836 10824 mov dl, byte [bp+00fh] ; 8a 56 0f 10837 10825 xor dh, dh ; 30 f6 10838 10826 mov ax, strict word 00001h ; b8 01 00 10839 call 016c9h ; e8 7f a210827 call 016c9h ; e8 03 a4 10840 10828 mov dl, byte [bp+010h] ; 8a 56 10 10841 10829 xor dh, dh ; 30 f6 10842 10830 mov ax, strict word 00003h ; b8 03 00 10843 call 016c9h ; e8 74 a210831 call 016c9h ; e8 f8 a3 10844 10832 mov dl, byte [bp+011h] ; 8a 56 11 10845 10833 xor dh, dh ; 30 f6 10846 10834 mov ax, strict word 00005h ; b8 05 00 10847 call 016c9h ; e8 69 a210835 call 016c9h ; e8 ed a3 10848 10836 mov dx, 000a1h ; ba a1 00 10849 10837 in AL, DX ; ec … … 10857 10845 xor dh, dh ; 30 f6 10858 10846 mov ax, strict word 0000bh ; b8 0b 00 10859 call 016c9h ; e8 50 a210860 jmp near 07 34dh ; e9 d1 fe10847 call 016c9h ; e8 d4 a3 10848 jmp near 071c9h ; e9 d1 fe 10861 10849 mov ax, strict word 0000bh ; b8 0b 00 10862 call 016aeh ; e8 2c a210850 call 016aeh ; e8 b0 a3 10863 10851 mov bl, al ; 88 c3 10864 10852 mov dl, al ; 88 c2 10865 10853 and dl, 057h ; 80 e2 57 10866 jmp near 07 392h ; e9 06 ff10867 send_to_mouse_ctrl_: ; 0xf7 48cLB 0x3810854 jmp near 0720eh ; e9 06 ff 10855 send_to_mouse_ctrl_: ; 0xf7308 LB 0x38 10868 10856 push bp ; 55 10869 10857 mov bp, sp ; 89 e5 … … 10876 10864 ; sub ah, ah ; 2a e4 10877 10865 test AL, strict byte 002h ; a8 02 10878 je short 07 4afh ; 74 1210866 je short 0732bh ; 74 12 10879 10867 mov ax, 008eeh ; b8 ee 08 10880 10868 push ax ; 50 … … 10883 10871 mov ax, strict word 00007h ; b8 07 00 10884 10872 push ax ; 50 10885 call 01976h ; e8 ca a410873 call 01976h ; e8 4e a6 10886 10874 add sp, strict byte 00006h ; 83 c4 06 10887 10875 mov AL, strict byte 0d4h ; b0 d4 … … 10897 10885 pop bp ; 5d 10898 10886 retn ; c3 10899 get_mouse_data_: ; 0xf7 4c4LB 0x5d10887 get_mouse_data_: ; 0xf7340 LB 0x5d 10900 10888 push bp ; 55 10901 10889 mov bp, sp ; 89 e5 … … 10912 10900 and ax, strict word 00021h ; 25 21 00 10913 10901 cmp ax, strict word 00021h ; 3d 21 00 10914 je short 07 507h ; 74 2810902 je short 07383h ; 74 28 10915 10903 test cx, cx ; 85 c9 10916 je short 07 507h ; 74 2410904 je short 07383h ; 74 24 10917 10905 mov dx, strict word 00061h ; ba 61 00 10918 10906 in AL, DX ; ec … … 10931 10919 xor ah, ah ; 30 e4 10932 10920 cmp dx, ax ; 39 c2 10933 je short 07 4eeh ; 74 ea10921 je short 0736ah ; 74 ea 10934 10922 dec cx ; 49 10935 jmp short 07 4d1h ; eb ca10923 jmp short 0734dh ; eb ca 10936 10924 test cx, cx ; 85 c9 10937 jne short 07 50fh ; 75 0410925 jne short 0738bh ; 75 04 10938 10926 mov AL, strict byte 001h ; b0 01 10939 jmp short 07 51ah ; eb 0b10927 jmp short 07396h ; eb 0b 10940 10928 mov dx, strict word 00060h ; ba 60 00 10941 10929 in AL, DX ; ec … … 10949 10937 pop bp ; 5d 10950 10938 retn ; c3 10951 set_kbd_command_byte_: ; 0xf7 521LB 0x3610939 set_kbd_command_byte_: ; 0xf739d LB 0x36 10952 10940 push bp ; 55 10953 10941 mov bp, sp ; 89 e5 … … 10960 10948 ; sub ah, ah ; 2a e4 10961 10949 test AL, strict byte 002h ; a8 02 10962 je short 07 544h ; 74 1210950 je short 073c0h ; 74 12 10963 10951 mov ax, 008f8h ; b8 f8 08 10964 10952 push ax ; 50 … … 10967 10955 mov ax, strict word 00007h ; b8 07 00 10968 10956 push ax ; 50 10969 call 01976h ; e8 35 a410957 call 01976h ; e8 b9 a5 10970 10958 add sp, strict byte 00006h ; 83 c4 06 10971 10959 mov AL, strict byte 060h ; b0 60 … … 10980 10968 pop bp ; 5d 10981 10969 retn ; c3 10982 _int74_function: ; 0xf7 557LB 0xd210970 _int74_function: ; 0xf73d3 LB 0xd2 10983 10971 push bp ; 55 10984 10972 mov bp, sp ; 89 e5 … … 10986 10974 mov dx, strict word 0000eh ; ba 0e 00 10987 10975 mov ax, strict word 00040h ; b8 40 00 10988 call 0166eh ; e8 08 a110976 call 0166eh ; e8 8c a2 10989 10977 mov cx, ax ; 89 c1 10990 10978 mov word [bp+004h], strict word 00000h ; c7 46 04 00 00 … … 10995 10983 and AL, strict byte 021h ; 24 21 10996 10984 cmp AL, strict byte 021h ; 3c 21 10997 jne short 07 59bh ; 75 2210985 jne short 07417h ; 75 22 10998 10986 mov dx, strict word 00060h ; ba 60 00 10999 10987 in AL, DX ; ec … … 11003 10991 mov dx, strict word 00026h ; ba 26 00 11004 10992 mov ax, cx ; 89 c8 11005 call 01652h ; e8 c9 a010993 call 01652h ; e8 4d a2 11006 10994 mov byte [bp-002h], al ; 88 46 fe 11007 10995 mov dx, strict word 00027h ; ba 27 00 11008 10996 mov ax, cx ; 89 c8 11009 call 01652h ; e8 be a010997 call 01652h ; e8 42 a2 11010 10998 mov byte [bp-006h], al ; 88 46 fa 11011 10999 test AL, strict byte 080h ; a8 80 11012 jne short 07 59eh ; 75 0311013 jmp near 07 615h ; e9 77 0011000 jne short 0741ah ; 75 03 11001 jmp near 07491h ; e9 77 00 11014 11002 mov al, byte [bp-006h] ; 8a 46 fa 11015 11003 and AL, strict byte 007h ; 24 07 … … 11025 11013 add dx, strict byte 00028h ; 83 c2 28 11026 11014 mov ax, cx ; 89 c8 11027 call 01660h ; e8 9f a011015 call 01660h ; e8 23 a2 11028 11016 mov al, byte [bp-008h] ; 8a 46 f8 11029 11017 cmp al, byte [bp-004h] ; 3a 46 fc 11030 jc short 07 605h ; 72 3c11018 jc short 07481h ; 72 3c 11031 11019 mov dx, strict word 00028h ; ba 28 00 11032 11020 mov ax, cx ; 89 c8 11033 call 01652h ; e8 81 a011021 call 01652h ; e8 05 a2 11034 11022 xor ah, ah ; 30 e4 11035 11023 mov word [bp+00ch], ax ; 89 46 0c 11036 11024 mov dx, strict word 00029h ; ba 29 00 11037 11025 mov ax, cx ; 89 c8 11038 call 01652h ; e8 74 a011026 call 01652h ; e8 f8 a1 11039 11027 xor ah, ah ; 30 e4 11040 11028 mov word [bp+00ah], ax ; 89 46 0a 11041 11029 mov dx, strict word 0002ah ; ba 2a 00 11042 11030 mov ax, cx ; 89 c8 11043 call 01652h ; e8 67 a011031 call 01652h ; e8 eb a1 11044 11032 xor ah, ah ; 30 e4 11045 11033 mov word [bp+008h], ax ; 89 46 08 … … 11048 11036 mov byte [bp-002h], ah ; 88 66 fe 11049 11037 test byte [bp-006h], 080h ; f6 46 fa 80 11050 je short 07 608h ; 74 0a11038 je short 07484h ; 74 0a 11051 11039 mov word [bp+004h], strict word 00001h ; c7 46 04 01 00 11052 jmp short 07 608h ; eb 0311040 jmp short 07484h ; eb 03 11053 11041 inc byte [bp-002h] ; fe 46 fe 11054 11042 mov bl, byte [bp-002h] ; 8a 5e fe … … 11056 11044 mov dx, strict word 00026h ; ba 26 00 11057 11045 mov ax, cx ; 89 c8 11058 call 01660h ; e8 4b a011046 call 01660h ; e8 cf a1 11059 11047 mov sp, bp ; 89 ec 11060 11048 pop bp ; 5d 11061 11049 retn ; c3 11062 imul si, word [bp-019h], strict byte 00076h ; 6b 76 e7 7611063 db 067h, 077h, 0fch11064 ; jnbe short 0761ch ; 67 77 fc11065 j nbe short 07690h ; 77 6e11066 j s short 075d6h ; 78 b211067 j be short 075bch ; 76 9611068 j s short 0768bh ; 78 6311069 db 07 9h11070 _int15_function_mouse: ; 0xf7 629LB 0x3a011050 out 074h, ax ; e7 74 11051 arpl [di-01dh], si ; 63 75 e3 11052 jne short 07514h ; 75 78 11053 jbe short 07488h ; 76 ea 11054 jbe short 074ceh ; 76 2e 11055 jne short 074b4h ; 75 12 11056 jnbe short 07483h ; 77 df 11057 db 077h 11058 _int15_function_mouse: ; 0xf74a5 LB 0x3a0 11071 11059 push bp ; 55 11072 11060 mov bp, sp ; 89 e5 … … 11075 11063 mov dx, strict word 0000eh ; ba 0e 00 11076 11064 mov ax, strict word 00040h ; b8 40 00 11077 call 0166eh ; e8 35 a011065 call 0166eh ; e8 b9 a1 11078 11066 mov cx, ax ; 89 c1 11079 11067 cmp byte [bp+012h], 007h ; 80 7e 12 07 11080 jbe short 07 64ch ; 76 0b11068 jbe short 074c8h ; 76 0b 11081 11069 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11082 11070 mov byte [bp+013h], 001h ; c6 46 13 01 11083 jmp near 07 9c3h ; e9 77 0311071 jmp near 0783fh ; e9 77 03 11084 11072 mov ax, strict word 00065h ; b8 65 00 11085 call 07 521h ; e8 cf fe11073 call 0739dh ; e8 cf fe 11086 11074 and word [bp+018h], strict byte 0fffeh ; 83 66 18 fe 11087 11075 mov byte [bp+013h], 000h ; c6 46 13 00 11088 11076 mov bl, byte [bp+012h] ; 8a 5e 12 11089 11077 cmp bl, 007h ; 80 fb 07 11090 jnbe short 07 6c0h ; 77 5e11078 jnbe short 0753ch ; 77 5e 11091 11079 xor bh, bh ; 30 ff 11092 11080 sal bx, 1 ; d1 e3 11093 jmp word [cs:bx+07 619h] ; 2e ff a7 19 7611081 jmp word [cs:bx+07495h] ; 2e ff a7 95 74 11094 11082 cmp byte [bp+00dh], 001h ; 80 7e 0d 01 11095 jnbe short 07 6c3h ; 77 5211083 jnbe short 0753fh ; 77 52 11096 11084 mov dx, strict word 00027h ; ba 27 00 11097 11085 mov ax, cx ; 89 c8 11098 call 01652h ; e8 d9 9f11086 call 01652h ; e8 5d a1 11099 11087 test AL, strict byte 080h ; a8 80 11100 jne short 07 688h ; 75 0b11088 jne short 07504h ; 75 0b 11101 11089 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11102 11090 mov byte [bp+013h], 005h ; c6 46 13 05 11103 jmp near 07 9bdh ; e9 35 0311091 jmp near 07839h ; e9 35 03 11104 11092 cmp byte [bp+00dh], 000h ; 80 7e 0d 00 11105 jne short 07 692h ; 75 0411093 jne short 0750eh ; 75 04 11106 11094 mov AL, strict byte 0f5h ; b0 f5 11107 jmp short 07 694h ; eb 0211095 jmp short 07510h ; eb 02 11108 11096 mov AL, strict byte 0f4h ; b0 f4 11109 11097 xor ah, ah ; 30 e4 11110 call 07 48ch ; e8 f3 fd11098 call 07308h ; e8 f3 fd 11111 11099 test al, al ; 84 c0 11112 jne short 07 6c6h ; 75 2911100 jne short 07542h ; 75 29 11113 11101 mov dx, ss ; 8c d2 11114 11102 lea ax, [bp-006h] ; 8d 46 fa 11115 call 07 4c4h ; e8 1f fe11103 call 07340h ; e8 1f fe 11116 11104 test al, al ; 84 c0 11117 je short 07 6afh ; 74 0611105 je short 0752bh ; 74 06 11118 11106 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11119 jne short 07 6c6h ; 75 1711120 jmp near 07 9bdh ; e9 0b 0311107 jne short 07542h ; 75 17 11108 jmp near 07839h ; e9 0b 03 11121 11109 mov al, byte [bp+00dh] ; 8a 46 0d 11122 11110 cmp AL, strict byte 001h ; 3c 01 11123 jc short 07 6bdh ; 72 0411111 jc short 07539h ; 72 04 11124 11112 cmp AL, strict byte 008h ; 3c 08 11125 jbe short 07 6c9h ; 76 0c11126 jmp near 07 864h ; e9 a4 0111127 jmp near 07 9a7h ; e9 e4 0211128 jmp near 07 9b5h ; e9 ef 0211129 jmp near 07 93bh ; e9 72 0211113 jbe short 07545h ; 76 0c 11114 jmp near 076e0h ; e9 a4 01 11115 jmp near 07823h ; e9 e4 02 11116 jmp near 07831h ; e9 ef 02 11117 jmp near 077b7h ; e9 72 02 11130 11118 mov dx, strict word 00027h ; ba 27 00 11131 11119 mov ax, cx ; 89 c8 11132 call 01652h ; e8 81 9f11120 call 01652h ; e8 05 a1 11133 11121 mov ah, byte [bp+00dh] ; 8a 66 0d 11134 11122 db 0feh, 0cch … … 11140 11128 mov dx, strict word 00027h ; ba 27 00 11141 11129 mov ax, cx ; 89 c8 11142 call 01660h ; e8 79 9f11130 call 01660h ; e8 fd a0 11143 11131 mov dx, strict word 00026h ; ba 26 00 11144 11132 mov ax, cx ; 89 c8 11145 call 01652h ; e8 63 9f11133 call 01652h ; e8 e7 a0 11146 11134 mov bl, al ; 88 c3 11147 11135 and bl, 0f8h ; 80 e3 f8 … … 11149 11137 mov dx, strict word 00026h ; ba 26 00 11150 11138 mov ax, cx ; 89 c8 11151 call 01660h ; e8 62 9f11139 call 01660h ; e8 e6 a0 11152 11140 mov ax, 000ffh ; b8 ff 00 11153 call 07 48ch ; e8 88 fd11141 call 07308h ; e8 88 fd 11154 11142 test al, al ; 84 c0 11155 jne short 07 6c6h ; 75 be11143 jne short 07542h ; 75 be 11156 11144 mov dx, ss ; 8c d2 11157 11145 lea ax, [bp-008h] ; 8d 46 f8 11158 call 07 4c4h ; e8 b4 fd11146 call 07340h ; e8 b4 fd 11159 11147 mov cl, al ; 88 c1 11160 11148 cmp byte [bp-008h], 0feh ; 80 7e f8 fe 11161 jne short 07 722h ; 75 0a11149 jne short 0759eh ; 75 0a 11162 11150 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11163 11151 mov byte [bp+013h], 004h ; c6 46 13 04 11164 jmp short 07 6afh ; eb 8d11152 jmp short 0752bh ; eb 8d 11165 11153 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11166 je short 07 73ch ; 74 1411154 je short 075b8h ; 74 14 11167 11155 mov al, byte [bp-008h] ; 8a 46 f8 11168 11156 xor ah, ah ; 30 e4 … … 11172 11160 mov ax, strict word 00007h ; b8 07 00 11173 11161 push ax ; 50 11174 call 01976h ; e8 3d a211162 call 01976h ; e8 c1 a3 11175 11163 add sp, strict byte 00006h ; 83 c4 06 11176 11164 test cl, cl ; 84 c9 11177 jne short 07 6c6h ; 75 8611165 jne short 07542h ; 75 86 11178 11166 mov dx, ss ; 8c d2 11179 11167 lea ax, [bp-006h] ; 8d 46 fa 11180 call 07 4c4h ; e8 7c fd11168 call 07340h ; e8 7c fd 11181 11169 test al, al ; 84 c0 11182 jne short 07 7a2h ; 75 5611170 jne short 0761eh ; 75 56 11183 11171 mov dx, ss ; 8c d2 11184 11172 lea ax, [bp-004h] ; 8d 46 fc 11185 call 07 4c4h ; e8 70 fd11173 call 07340h ; e8 70 fd 11186 11174 test al, al ; 84 c0 11187 jne short 07 7a2h ; 75 4a11175 jne short 0761eh ; 75 4a 11188 11176 mov al, byte [bp-006h] ; 8a 46 fa 11189 11177 mov byte [bp+00ch], al ; 88 46 0c 11190 11178 mov al, byte [bp-004h] ; 8a 46 fc 11191 11179 mov byte [bp+00dh], al ; 88 46 0d 11192 jmp near 07 9bdh ; e9 56 0211180 jmp near 07839h ; e9 56 02 11193 11181 mov al, byte [bp+00dh] ; 8a 46 0d 11194 11182 cmp AL, strict byte 003h ; 3c 03 11195 jc short 07 77eh ; 72 1011196 jbe short 07 79ch ; 76 2c11183 jc short 075fah ; 72 10 11184 jbe short 07618h ; 76 2c 11197 11185 cmp AL, strict byte 006h ; 3c 06 11198 je short 07 7b1h ; 74 3d11186 je short 0762dh ; 74 3d 11199 11187 cmp AL, strict byte 005h ; 3c 05 11200 je short 07 7abh ; 74 3311188 je short 07627h ; 74 33 11201 11189 cmp AL, strict byte 004h ; 3c 04 11202 je short 07 7a5h ; 74 2911203 jmp short 07 7b7h ; eb 3911190 je short 07621h ; 74 29 11191 jmp short 07633h ; eb 39 11204 11192 cmp AL, strict byte 002h ; 3c 02 11205 je short 07 796h ; 74 1411193 je short 07612h ; 74 14 11206 11194 cmp AL, strict byte 001h ; 3c 01 11207 je short 07 790h ; 74 0a11195 je short 0760ch ; 74 0a 11208 11196 test al, al ; 84 c0 11209 jne short 07 7b7h ; 75 2d11197 jne short 07633h ; 75 2d 11210 11198 mov byte [bp-006h], 00ah ; c6 46 fa 0a 11211 jmp short 07 7bbh ; eb 2b11199 jmp short 07637h ; eb 2b 11212 11200 mov byte [bp-006h], 014h ; c6 46 fa 14 11213 jmp short 07 7bbh ; eb 2511201 jmp short 07637h ; eb 25 11214 11202 mov byte [bp-006h], 028h ; c6 46 fa 28 11215 jmp short 07 7bbh ; eb 1f11203 jmp short 07637h ; eb 1f 11216 11204 mov byte [bp-006h], 03ch ; c6 46 fa 3c 11217 jmp short 07 7bbh ; eb 1911218 jmp near 07 93bh ; e9 96 0111205 jmp short 07637h ; eb 19 11206 jmp near 077b7h ; e9 96 01 11219 11207 mov byte [bp-006h], 050h ; c6 46 fa 50 11220 jmp short 07 7bbh ; eb 1011208 jmp short 07637h ; eb 10 11221 11209 mov byte [bp-006h], 064h ; c6 46 fa 64 11222 jmp short 07 7bbh ; eb 0a11210 jmp short 07637h ; eb 0a 11223 11211 mov byte [bp-006h], 0c8h ; c6 46 fa c8 11224 jmp short 07 7bbh ; eb 0411212 jmp short 07637h ; eb 04 11225 11213 mov byte [bp-006h], 000h ; c6 46 fa 00 11226 11214 cmp byte [bp-006h], 000h ; 80 7e fa 00 11227 jbe short 07 7f1h ; 76 3011215 jbe short 0766dh ; 76 30 11228 11216 mov ax, 000f3h ; b8 f3 00 11229 call 07 48ch ; e8 c5 fc11217 call 07308h ; e8 c5 fc 11230 11218 test al, al ; 84 c0 11231 jne short 07 7e6h ; 75 1b11219 jne short 07662h ; 75 1b 11232 11220 mov dx, ss ; 8c d2 11233 11221 lea ax, [bp-004h] ; 8d 46 fc 11234 call 07 4c4h ; e8 f1 fc11222 call 07340h ; e8 f1 fc 11235 11223 mov al, byte [bp-006h] ; 8a 46 fa 11236 11224 xor ah, ah ; 30 e4 11237 call 07 48ch ; e8 b1 fc11225 call 07308h ; e8 b1 fc 11238 11226 mov dx, ss ; 8c d2 11239 11227 lea ax, [bp-004h] ; 8d 46 fc 11240 call 07 4c4h ; e8 e1 fc11241 jmp near 07 9bdh ; e9 d7 0111228 call 07340h ; e8 e1 fc 11229 jmp near 07839h ; e9 d7 01 11242 11230 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11243 11231 mov byte [bp+013h], 003h ; c6 46 13 03 11244 jmp near 07 9bdh ; e9 cc 0111232 jmp near 07839h ; e9 cc 01 11245 11233 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11246 11234 mov byte [bp+013h], 002h ; c6 46 13 02 11247 jmp near 07 9bdh ; e9 c1 0111235 jmp near 07839h ; e9 c1 01 11248 11236 cmp byte [bp+00dh], 004h ; 80 7e 0d 04 11249 jnc short 07 864h ; 73 6211237 jnc short 076e0h ; 73 62 11250 11238 mov ax, 000e8h ; b8 e8 00 11251 call 07 48ch ; e8 84 fc11239 call 07308h ; e8 84 fc 11252 11240 test al, al ; 84 c0 11253 jne short 07 85ah ; 75 4e11241 jne short 076d6h ; 75 4e 11254 11242 mov dx, ss ; 8c d2 11255 11243 lea ax, [bp-006h] ; 8d 46 fa 11256 call 07 4c4h ; e8 b0 fc11244 call 07340h ; e8 b0 fc 11257 11245 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11258 je short 07 82eh ; 74 1411246 je short 076aah ; 74 14 11259 11247 mov al, byte [bp-006h] ; 8a 46 fa 11260 11248 xor ah, ah ; 30 e4 … … 11264 11252 mov ax, strict word 00007h ; b8 07 00 11265 11253 push ax ; 50 11266 call 01976h ; e8 4b a111254 call 01976h ; e8 cf a2 11267 11255 add sp, strict byte 00006h ; 83 c4 06 11268 11256 mov al, byte [bp+00dh] ; 8a 46 0d 11269 11257 xor ah, ah ; 30 e4 11270 call 07 48ch ; e8 56 fc11258 call 07308h ; e8 56 fc 11271 11259 mov dx, ss ; 8c d2 11272 11260 lea ax, [bp-006h] ; 8d 46 fa 11273 call 07 4c4h ; e8 86 fc11261 call 07340h ; e8 86 fc 11274 11262 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11275 je short 07 893h ; 74 4f11263 je short 0770fh ; 74 4f 11276 11264 mov al, byte [bp-006h] ; 8a 46 fa 11277 11265 xor ah, ah ; 30 e4 … … 11281 11269 mov ax, strict word 00007h ; b8 07 00 11282 11270 push ax ; 50 11283 call 01976h ; e8 21 a111271 call 01976h ; e8 a5 a2 11284 11272 add sp, strict byte 00006h ; 83 c4 06 11285 jmp short 07 893h ; eb 3911273 jmp short 0770fh ; eb 39 11286 11274 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11287 11275 mov byte [bp+013h], 003h ; c6 46 13 03 11288 jmp short 07 893h ; eb 2f11276 jmp short 0770fh ; eb 2f 11289 11277 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11290 11278 mov byte [bp+013h], 002h ; c6 46 13 02 11291 jmp short 07 893h ; eb 2511279 jmp short 0770fh ; eb 25 11292 11280 mov ax, 000f2h ; b8 f2 00 11293 call 07 48ch ; e8 18 fc11281 call 07308h ; e8 18 fc 11294 11282 test al, al ; 84 c0 11295 jne short 07 88bh ; 75 1311283 jne short 07707h ; 75 13 11296 11284 mov dx, ss ; 8c d2 11297 11285 lea ax, [bp-006h] ; 8d 46 fa 11298 call 07 4c4h ; e8 44 fc11286 call 07340h ; e8 44 fc 11299 11287 mov dx, ss ; 8c d2 11300 11288 lea ax, [bp-004h] ; 8d 46 fc 11301 call 07 4c4h ; e8 3c fc11302 jmp near 07 75eh ; e9 d3 fe11289 call 07340h ; e8 3c fc 11290 jmp near 075dah ; e9 d3 fe 11303 11291 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11304 11292 mov byte [bp+013h], 003h ; c6 46 13 03 11305 jmp near 07 9bdh ; e9 27 0111293 jmp near 07839h ; e9 27 01 11306 11294 mov al, byte [bp+00dh] ; 8a 46 0d 11307 11295 test al, al ; 84 c0 11308 jbe short 07 8a6h ; 76 0911296 jbe short 07722h ; 76 09 11309 11297 cmp AL, strict byte 002h ; 3c 02 11310 jbe short 07 8a4h ; 76 0311311 jmp near 07 945h ; e9 a1 0011312 jmp short 07 910h ; eb 6a11298 jbe short 07720h ; 76 03 11299 jmp near 077c1h ; e9 a1 00 11300 jmp short 0778ch ; eb 6a 11313 11301 mov ax, 000e9h ; b8 e9 00 11314 call 07 48ch ; e8 e0 fb11302 call 07308h ; e8 e0 fb 11315 11303 test al, al ; 84 c0 11316 jne short 07 919h ; 75 6911304 jne short 07795h ; 75 69 11317 11305 mov dx, ss ; 8c d2 11318 11306 lea ax, [bp-006h] ; 8d 46 fa 11319 call 07 4c4h ; e8 0c fc11307 call 07340h ; e8 0c fc 11320 11308 mov cl, al ; 88 c1 11321 11309 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11322 je short 07 8d4h ; 74 1411310 je short 07750h ; 74 14 11323 11311 mov al, byte [bp-006h] ; 8a 46 fa 11324 11312 xor ah, ah ; 30 e4 … … 11328 11316 mov ax, strict word 00007h ; b8 07 00 11329 11317 push ax ; 50 11330 call 01976h ; e8 a5 a011318 call 01976h ; e8 29 a2 11331 11319 add sp, strict byte 00006h ; 83 c4 06 11332 11320 test cl, cl ; 84 c9 11333 jne short 07 93bh ; 75 6311321 jne short 077b7h ; 75 63 11334 11322 mov dx, ss ; 8c d2 11335 11323 lea ax, [bp-006h] ; 8d 46 fa 11336 call 07 4c4h ; e8 e4 fb11324 call 07340h ; e8 e4 fb 11337 11325 test al, al ; 84 c0 11338 jne short 07 93bh ; 75 5711326 jne short 077b7h ; 75 57 11339 11327 mov dx, ss ; 8c d2 11340 11328 lea ax, [bp-004h] ; 8d 46 fc 11341 call 07 4c4h ; e8 d8 fb11329 call 07340h ; e8 d8 fb 11342 11330 test al, al ; 84 c0 11343 jne short 07 93bh ; 75 4b11331 jne short 077b7h ; 75 4b 11344 11332 mov dx, ss ; 8c d2 11345 11333 lea ax, [bp-008h] ; 8d 46 f8 11346 call 07 4c4h ; e8 cc fb11334 call 07340h ; e8 cc fb 11347 11335 test al, al ; 84 c0 11348 jne short 07 93bh ; 75 3f11336 jne short 077b7h ; 75 3f 11349 11337 mov al, byte [bp-006h] ; 8a 46 fa 11350 11338 mov byte [bp+00ch], al ; 88 46 0c … … 11353 11341 mov al, byte [bp-008h] ; 8a 46 f8 11354 11342 mov byte [bp+00eh], al ; 88 46 0e 11355 jmp short 07 893h ; eb 8311343 jmp short 0770fh ; eb 83 11356 11344 cmp AL, strict byte 001h ; 3c 01 11357 jne short 07 91bh ; 75 0711345 jne short 07797h ; 75 07 11358 11346 mov ax, 000e6h ; b8 e6 00 11359 jmp short 07 91eh ; eb 0511360 jmp short 07 93bh ; eb 2011347 jmp short 0779ah ; eb 05 11348 jmp short 077b7h ; eb 20 11361 11349 mov ax, 000e7h ; b8 e7 00 11362 call 07 48ch ; e8 6b fb11350 call 07308h ; e8 6b fb 11363 11351 mov cl, al ; 88 c1 11364 11352 test cl, cl ; 84 c9 11365 jne short 07 937h ; 75 1011353 jne short 077b3h ; 75 10 11366 11354 mov dx, ss ; 8c d2 11367 11355 lea ax, [bp-006h] ; 8d 46 fa 11368 call 07 4c4h ; e8 95 fb11356 call 07340h ; e8 95 fb 11369 11357 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11370 je short 07 937h ; 74 0211358 je short 077b3h ; 74 02 11371 11359 mov CL, strict byte 001h ; b1 01 11372 11360 test cl, cl ; 84 c9 11373 je short 07 9a5h ; 74 6a11361 je short 07821h ; 74 6a 11374 11362 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11375 11363 mov byte [bp+013h], 003h ; c6 46 13 03 11376 jmp short 07 9a5h ; eb 6011364 jmp short 07821h ; eb 60 11377 11365 mov al, byte [bp+00dh] ; 8a 46 0d 11378 11366 xor ah, ah ; 30 e4 … … 11382 11370 mov ax, strict word 00007h ; b8 07 00 11383 11371 push ax ; 50 11384 call 01976h ; e8 20 a011372 call 01976h ; e8 a4 a1 11385 11373 add sp, strict byte 00006h ; 83 c4 06 11386 11374 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11387 11375 mov byte [bp+013h], 001h ; c6 46 13 01 11388 jmp short 07 9bdh ; eb 5a11376 jmp short 07839h ; eb 5a 11389 11377 mov si, word [bp+00ch] ; 8b 76 0c 11390 11378 mov bx, si ; 89 f3 11391 11379 mov dx, strict word 00022h ; ba 22 00 11392 11380 mov ax, cx ; 89 c8 11393 call 0167ch ; e8 0c 9d11381 call 0167ch ; e8 90 9e 11394 11382 mov bx, word [bp+014h] ; 8b 5e 14 11395 11383 mov dx, strict word 00024h ; ba 24 00 11396 11384 mov ax, cx ; 89 c8 11397 call 0167ch ; e8 01 9d11385 call 0167ch ; e8 85 9e 11398 11386 mov dx, strict word 00027h ; ba 27 00 11399 11387 mov ax, cx ; 89 c8 11400 call 01652h ; e8 cf 9c11388 call 01652h ; e8 53 9e 11401 11389 mov ah, al ; 88 c4 11402 11390 test si, si ; 85 f6 11403 jne short 07 997h ; 75 0e11391 jne short 07813h ; 75 0e 11404 11392 cmp word [bp+014h], strict byte 00000h ; 83 7e 14 00 11405 jne short 07 997h ; 75 0811393 jne short 07813h ; 75 08 11406 11394 test AL, strict byte 080h ; a8 80 11407 je short 07 999h ; 74 0611395 je short 07815h ; 74 06 11408 11396 and AL, strict byte 07fh ; 24 7f 11409 jmp short 07 999h ; eb 0211397 jmp short 07815h ; eb 02 11410 11398 or AL, strict byte 080h ; 0c 80 11411 11399 mov bl, al ; 88 c3 … … 11413 11401 mov dx, strict word 00027h ; ba 27 00 11414 11402 mov ax, cx ; 89 c8 11415 call 01660h ; e8 bb 9c11416 jmp short 07 9bdh ; eb 1611403 call 01660h ; e8 3f 9e 11404 jmp short 07839h ; eb 16 11417 11405 mov ax, 00974h ; b8 74 09 11418 11406 push ax ; 50 11419 11407 mov ax, strict word 00007h ; b8 07 00 11420 11408 push ax ; 50 11421 call 01976h ; e8 c4 9f11409 call 01976h ; e8 48 a1 11422 11410 add sp, strict byte 00004h ; 83 c4 04 11423 11411 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11424 11412 mov byte [bp+013h], 001h ; c6 46 13 01 11425 11413 mov ax, strict word 00047h ; b8 47 00 11426 call 07 521h ; e8 5e fb11414 call 0739dh ; e8 5e fb 11427 11415 lea sp, [bp-002h] ; 8d 66 fe 11428 11416 pop si ; 5e 11429 11417 pop bp ; 5d 11430 11418 retn ; c3 11431 _int17_function: ; 0xf7 9c9LB 0xac11419 _int17_function: ; 0xf7845 LB 0xac 11432 11420 push bp ; 55 11433 11421 mov bp, sp ; 89 e5 … … 11439 11427 add dx, strict byte 00008h ; 83 c2 08 11440 11428 mov ax, strict word 00040h ; b8 40 00 11441 call 0166eh ; e8 91 9c11429 call 0166eh ; e8 15 9e 11442 11430 mov bx, ax ; 89 c3 11443 11431 mov si, ax ; 89 c6 11444 11432 cmp byte [bp+013h], 003h ; 80 7e 13 03 11445 jnc short 07 9f3h ; 73 0c11433 jnc short 0786fh ; 73 0c 11446 11434 mov ax, word [bp+00eh] ; 8b 46 0e 11447 11435 cmp ax, strict word 00003h ; 3d 03 00 11448 jnc short 07 9f3h ; 73 0411436 jnc short 0786fh ; 73 04 11449 11437 test bx, bx ; 85 db 11450 jnbe short 07 9f6h ; 77 0311451 jmp near 07 a6bh ; e9 75 0011438 jnbe short 07872h ; 77 03 11439 jmp near 078e7h ; e9 75 00 11452 11440 mov dx, ax ; 89 c2 11453 11441 add dx, strict byte 00078h ; 83 c2 78 11454 11442 mov ax, strict word 00040h ; b8 40 00 11455 call 01652h ; e8 51 9c11443 call 01652h ; e8 d5 9d 11456 11444 mov ch, al ; 88 c5 11457 11445 xor cl, cl ; 30 c9 11458 11446 cmp byte [bp+013h], 000h ; 80 7e 13 00 11459 jne short 07 a37h ; 75 2c11447 jne short 078b3h ; 75 2c 11460 11448 mov al, byte [bp+012h] ; 8a 46 12 11461 11449 mov dx, bx ; 89 da … … 11477 11465 ; sub ah, ah ; 2a e4 11478 11466 test AL, strict byte 040h ; a8 40 11479 je short 07 a37h ; 74 0711467 je short 078b3h ; 74 07 11480 11468 test cx, cx ; 85 c9 11481 je short 07 a37h ; 74 0311469 je short 078b3h ; 74 03 11482 11470 dec cx ; 49 11483 jmp short 07 a26h ; eb ef11471 jmp short 078a2h ; eb ef 11484 11472 cmp byte [bp+013h], 001h ; 80 7e 13 01 11485 jne short 07 a52h ; 75 1511473 jne short 078ceh ; 75 15 11486 11474 lea dx, [si+002h] ; 8d 54 02 11487 11475 in AL, DX ; ec … … 11502 11490 mov byte [bp+013h], al ; 88 46 13 11503 11491 test cx, cx ; 85 c9 11504 jne short 07 a65h ; 75 0411492 jne short 078e1h ; 75 04 11505 11493 or byte [bp+013h], 001h ; 80 4e 13 01 11506 11494 and byte [bp+01ch], 0feh ; 80 66 1c fe 11507 jmp short 07 a6fh ; eb 0411495 jmp short 078ebh ; eb 04 11508 11496 or byte [bp+01ch], 001h ; 80 4e 1c 01 11509 11497 lea sp, [bp-002h] ; 8d 66 fe … … 11511 11499 pop bp ; 5d 11512 11500 retn ; c3 11513 wait_: ; 0xf7 a75LB 0xb211501 wait_: ; 0xf78f1 LB 0xb2 11514 11502 push bp ; 55 11515 11503 mov bp, sp ; 89 e5 … … 11529 11517 mov dx, 0046ch ; ba 6c 04 11530 11518 xor ax, ax ; 31 c0 11531 call 0168ah ; e8 f2 9b11519 call 0168ah ; e8 76 9d 11532 11520 mov word [bp-00eh], ax ; 89 46 f2 11533 11521 mov bx, dx ; 89 d3 … … 11535 11523 mov dx, 0046ch ; ba 6c 04 11536 11524 xor ax, ax ; 31 c0 11537 call 0168ah ; e8 e4 9b11525 call 0168ah ; e8 68 9d 11538 11526 mov word [bp-012h], ax ; 89 46 ee 11539 11527 mov di, dx ; 89 d7 11540 11528 cmp dx, bx ; 39 da 11541 jnbe short 07 ab6h ; 77 0711542 jne short 07 abdh ; 75 0c11529 jnbe short 07932h ; 77 07 11530 jne short 07939h ; 75 0c 11543 11531 cmp ax, word [bp-00eh] ; 3b 46 f2 11544 jbe short 07 abdh ; 76 0711532 jbe short 07939h ; 76 07 11545 11533 sub ax, word [bp-00eh] ; 2b 46 f2 11546 11534 sbb dx, bx ; 19 da 11547 jmp short 07 ac8h ; eb 0b11535 jmp short 07944h ; eb 0b 11548 11536 cmp dx, bx ; 39 da 11549 jc short 07 ac8h ; 72 0711550 jne short 07 acch ; 75 0911537 jc short 07944h ; 72 07 11538 jne short 07948h ; 75 09 11551 11539 cmp ax, word [bp-00eh] ; 3b 46 f2 11552 jnc short 07 acch ; 73 0411540 jnc short 07948h ; 73 04 11553 11541 sub si, ax ; 29 c6 11554 11542 sbb cx, dx ; 19 d1 … … 11558 11546 mov ax, 00100h ; b8 00 01 11559 11547 int 016h ; cd 16 11560 je short 07 ae0h ; 74 0511548 je short 0795ch ; 74 05 11561 11549 mov AL, strict byte 001h ; b0 01 11562 jmp near 07 ae2h ; e9 02 0011550 jmp near 0795eh ; e9 02 00 11563 11551 db 032h, 0c0h 11564 11552 ; xor al, al ; 32 c0 11565 11553 test al, al ; 84 c0 11566 je short 07 b0ch ; 74 2611554 je short 07988h ; 74 26 11567 11555 db 033h, 0c0h 11568 11556 ; xor ax, ax ; 33 c0 … … 11577 11565 mov ax, strict word 00004h ; b8 04 00 11578 11566 push ax ; 50 11579 call 01976h ; e8 77 9e11567 call 01976h ; e8 fb 9f 11580 11568 add sp, strict byte 00006h ; 83 c4 06 11581 11569 cmp byte [bp-00ah], 000h ; 80 7e f6 00 11582 je short 07 b0ch ; 74 0411570 je short 07988h ; 74 04 11583 11571 mov al, dl ; 88 d0 11584 jmp short 07 b1eh ; eb 1211572 jmp short 0799ah ; eb 12 11585 11573 test cx, cx ; 85 c9 11586 jnle short 07 a9dh ; 7f 8d11587 jne short 07 b16h ; 75 0411574 jnle short 07919h ; 7f 8d 11575 jne short 07992h ; 75 04 11588 11576 test si, si ; 85 f6 11589 jnbe short 07 a9dh ; 77 8711577 jnbe short 07919h ; 77 87 11590 11578 mov ax, word [bp-010h] ; 8b 46 f0 11591 11579 push ax ; 50 … … 11599 11587 pop bp ; 5d 11600 11588 retn ; c3 11601 read_logo_byte_: ; 0xf7 b27LB 0x1611589 read_logo_byte_: ; 0xf79a3 LB 0x16 11602 11590 push bp ; 55 11603 11591 mov bp, sp ; 89 e5 … … 11614 11602 pop bp ; 5d 11615 11603 retn ; c3 11616 read_logo_word_: ; 0xf7 b3dLB 0x1411604 read_logo_word_: ; 0xf79b9 LB 0x14 11617 11605 push bp ; 55 11618 11606 mov bp, sp ; 89 e5 … … 11627 11615 pop bp ; 5d 11628 11616 retn ; c3 11629 print_detected_harddisks_: ; 0xf7 b51LB 0x15a11617 print_detected_harddisks_: ; 0xf79cd LB 0x15a 11630 11618 push bp ; 55 11631 11619 mov bp, sp ; 89 e5 … … 11637 11625 mov dx, strict word 0000eh ; ba 0e 00 11638 11626 mov ax, strict word 00040h ; b8 40 00 11639 call 0166eh ; e8 0a 9b11627 call 0166eh ; e8 8e 9c 11640 11628 mov si, ax ; 89 c6 11641 11629 mov byte [bp-00eh], 000h ; c6 46 f2 00 … … 11643 11631 mov byte [bp-00ch], ch ; 88 6e f4 11644 11632 mov dx, 00304h ; ba 04 03 11645 call 01652h ; e8 dd 9a11633 call 01652h ; e8 61 9c 11646 11634 mov byte [bp-00ah], al ; 88 46 f6 11647 11635 xor cl, cl ; 30 c9 11648 11636 cmp cl, byte [bp-00ah] ; 3a 4e f6 11649 jnc short 07 bddh ; 73 5e11637 jnc short 07a59h ; 73 5e 11650 11638 mov al, cl ; 88 c8 11651 11639 xor ah, ah ; 30 e4 … … 11653 11641 add dx, 00305h ; 81 c2 05 03 11654 11642 mov ax, si ; 89 f0 11655 call 01652h ; e8 c4 9a11643 call 01652h ; e8 48 9c 11656 11644 mov bl, al ; 88 c3 11657 11645 cmp AL, strict byte 00ch ; 3c 0c 11658 jc short 07 bbfh ; 72 2b11646 jc short 07a3bh ; 72 2b 11659 11647 test ch, ch ; 84 ed 11660 jne short 07 ba8h ; 75 1011648 jne short 07a24h ; 75 10 11661 11649 mov ax, 009a7h ; b8 a7 09 11662 11650 push ax ; 50 11663 11651 mov ax, strict word 00002h ; b8 02 00 11664 11652 push ax ; 50 11665 call 01976h ; e8 d3 9d11653 call 01976h ; e8 57 9f 11666 11654 add sp, strict byte 00004h ; 83 c4 04 11667 11655 mov CH, strict byte 001h ; b5 01 … … 11674 11662 mov ax, strict word 00002h ; b8 02 00 11675 11663 push ax ; 50 11676 call 01976h ; e8 bd 9d11664 call 01976h ; e8 41 9f 11677 11665 add sp, strict byte 00006h ; 83 c4 06 11678 jmp near 07 c71h ; e9 b2 0011666 jmp near 07aedh ; e9 b2 00 11679 11667 cmp AL, strict byte 008h ; 3c 08 11680 jc short 07 be0h ; 72 1d11668 jc short 07a5ch ; 72 1d 11681 11669 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11682 jne short 07 bdbh ; 75 1211670 jne short 07a57h ; 75 12 11683 11671 mov ax, 009cfh ; b8 cf 09 11684 11672 push ax ; 50 11685 11673 mov ax, strict word 00002h ; b8 02 00 11686 11674 push ax ; 50 11687 call 01976h ; e8 a2 9d11675 call 01976h ; e8 26 9f 11688 11676 add sp, strict byte 00004h ; 83 c4 04 11689 11677 mov byte [bp-00ch], 001h ; c6 46 f4 01 11690 jmp short 07 ba8h ; eb cb11691 jmp near 07 c76h ; e9 96 0011678 jmp short 07a24h ; eb cb 11679 jmp near 07af2h ; e9 96 00 11692 11680 cmp AL, strict byte 004h ; 3c 04 11693 jnc short 07 bfeh ; 73 1a11681 jnc short 07a7ah ; 73 1a 11694 11682 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11695 jne short 07 bfeh ; 75 1411683 jne short 07a7ah ; 75 14 11696 11684 mov ax, 009e4h ; b8 e4 09 11697 11685 push ax ; 50 11698 11686 mov ax, strict word 00002h ; b8 02 00 11699 11687 push ax ; 50 11700 call 01976h ; e8 81 9d11688 call 01976h ; e8 05 9f 11701 11689 add sp, strict byte 00004h ; 83 c4 04 11702 11690 mov byte [bp-00eh], 001h ; c6 46 f2 01 11703 jmp short 07 c17h ; eb 1911691 jmp short 07a93h ; eb 19 11704 11692 cmp bl, 004h ; 80 fb 04 11705 jc short 07 c17h ; 72 1411693 jc short 07a93h ; 72 14 11706 11694 test ch, ch ; 84 ed 11707 jne short 07 c17h ; 75 1011695 jne short 07a93h ; 75 10 11708 11696 mov ax, 009f6h ; b8 f6 09 11709 11697 push ax ; 50 11710 11698 mov ax, strict word 00002h ; b8 02 00 11711 11699 push ax ; 50 11712 call 01976h ; e8 64 9d11700 call 01976h ; e8 e8 9e 11713 11701 add sp, strict byte 00004h ; 83 c4 04 11714 11702 mov CH, strict byte 001h ; b5 01 … … 11721 11709 mov ax, strict word 00002h ; b8 02 00 11722 11710 push ax ; 50 11723 call 01976h ; e8 4e 9d11711 call 01976h ; e8 d2 9e 11724 11712 add sp, strict byte 00006h ; 83 c4 06 11725 11713 cmp bl, 004h ; 80 fb 04 11726 jc short 07 c33h ; 72 0311714 jc short 07aafh ; 72 03 11727 11715 sub bl, 004h ; 80 eb 04 11728 11716 mov al, bl ; 88 d8 … … 11733 11721 sar ax, 1 ; d1 f8 11734 11722 test ax, ax ; 85 c0 11735 je short 07 c45h ; 74 0511723 je short 07ac1h ; 74 05 11736 11724 mov ax, 00a14h ; b8 14 0a 11737 jmp short 07 c48h ; eb 0311725 jmp short 07ac4h ; eb 03 11738 11726 mov ax, 00a1fh ; b8 1f 0a 11739 11727 push ax ; 50 11740 11728 mov ax, strict word 00002h ; b8 02 00 11741 11729 push ax ; 50 11742 call 01976h ; e8 26 9d11730 call 01976h ; e8 aa 9e 11743 11731 add sp, strict byte 00004h ; 83 c4 04 11744 11732 mov al, bl ; 88 d8 … … 11748 11736 idiv bx ; f7 fb 11749 11737 test dx, dx ; 85 d2 11750 je short 07 c66h ; 74 0511738 je short 07ae2h ; 74 05 11751 11739 mov ax, 00a28h ; b8 28 0a 11752 jmp short 07 c69h ; eb 0311740 jmp short 07ae5h ; eb 03 11753 11741 mov ax, 00a2eh ; b8 2e 0a 11754 11742 push ax ; 50 11755 11743 push bx ; 53 11756 call 01976h ; e8 08 9d11744 call 01976h ; e8 8c 9e 11757 11745 add sp, strict byte 00004h ; 83 c4 04 11758 11746 db 0feh, 0c1h 11759 11747 ; inc cl ; fe c1 11760 jmp near 07 b7ah ; e9 04 ff11748 jmp near 079f6h ; e9 04 ff 11761 11749 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11762 jne short 07 c94h ; 75 1811750 jne short 07b10h ; 75 18 11763 11751 test ch, ch ; 84 ed 11764 jne short 07 c94h ; 75 1411752 jne short 07b10h ; 75 14 11765 11753 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11766 jne short 07 c94h ; 75 0e11754 jne short 07b10h ; 75 0e 11767 11755 mov ax, 00a35h ; b8 35 0a 11768 11756 push ax ; 50 11769 11757 mov ax, strict word 00002h ; b8 02 00 11770 11758 push ax ; 50 11771 call 01976h ; e8 e5 9c11759 call 01976h ; e8 69 9e 11772 11760 add sp, strict byte 00004h ; 83 c4 04 11773 11761 mov ax, 00a49h ; b8 49 0a … … 11775 11763 mov ax, strict word 00002h ; b8 02 00 11776 11764 push ax ; 50 11777 call 01976h ; e8 d7 9c11765 call 01976h ; e8 5b 9e 11778 11766 add sp, strict byte 00004h ; 83 c4 04 11779 11767 lea sp, [bp-008h] ; 8d 66 f8 … … 11784 11772 pop bp ; 5d 11785 11773 retn ; c3 11786 get_boot_drive_: ; 0xf7 cabLB 0x2811774 get_boot_drive_: ; 0xf7b27 LB 0x28 11787 11775 push bp ; 55 11788 11776 mov bp, sp ; 89 e5 … … 11792 11780 mov dx, strict word 0000eh ; ba 0e 00 11793 11781 mov ax, strict word 00040h ; b8 40 00 11794 call 0166eh ; e8 b3 9911782 call 0166eh ; e8 37 9b 11795 11783 mov dx, 00304h ; ba 04 03 11796 call 01652h ; e8 91 9911784 call 01652h ; e8 15 9b 11797 11785 sub bl, 002h ; 80 eb 02 11798 11786 cmp bl, al ; 38 c3 11799 jc short 07 ccah ; 72 0211787 jc short 07b46h ; 72 02 11800 11788 mov BL, strict byte 0ffh ; b3 ff 11801 11789 mov al, bl ; 88 d8 … … 11805 11793 pop bp ; 5d 11806 11794 retn ; c3 11807 show_logo_: ; 0xf7 cd3LB 0x24011795 show_logo_: ; 0xf7b4f LB 0x240 11808 11796 push bp ; 55 11809 11797 mov bp, sp ; 89 e5 … … 11816 11804 mov dx, strict word 0000eh ; ba 0e 00 11817 11805 mov ax, strict word 00040h ; b8 40 00 11818 call 0166eh ; e8 87 9911806 call 0166eh ; e8 0b 9b 11819 11807 mov si, ax ; 89 c6 11820 11808 mov byte [bp-00ch], 000h ; c6 46 f4 00 … … 11828 11816 mov al, cl ; 88 c8 11829 11817 xor ah, ah ; 30 e4 11830 call 07 b3dh ; e8 3b fe11818 call 079b9h ; e8 3b fe 11831 11819 cmp ax, 066bbh ; 3d bb 66 11832 jne short 07 d19h ; 75 1211820 jne short 07b95h ; 75 12 11833 11821 push SS ; 16 11834 11822 pop ES ; 07 … … 11838 11826 mov word [es:di], bx ; 26 89 1d 11839 11827 cmp ax, strict word 0004fh ; 3d 4f 00 11840 je short 07 d1ch ; 74 0311841 jmp near 07 de2h ; e9 c6 0011828 je short 07b98h ; 74 03 11829 jmp near 07c5eh ; e9 c6 00 11842 11830 mov al, cl ; 88 c8 11843 11831 add AL, strict byte 004h ; 04 04 11844 11832 xor ah, ah ; 30 e4 11845 call 07 b27h ; e8 02 fe11833 call 079a3h ; e8 02 fe 11846 11834 mov bl, al ; 88 c3 11847 11835 mov byte [bp-014h], al ; 88 46 ec … … 11849 11837 add AL, strict byte 005h ; 04 05 11850 11838 xor ah, ah ; 30 e4 11851 call 07 b27h ; e8 f4 fd11839 call 079a3h ; e8 f4 fd 11852 11840 mov bh, al ; 88 c7 11853 11841 mov byte [bp-012h], al ; 88 46 ee … … 11855 11843 add AL, strict byte 002h ; 04 02 11856 11844 xor ah, ah ; 30 e4 11857 call 07 b3dh ; e8 fc fd11845 call 079b9h ; e8 fc fd 11858 11846 mov dx, ax ; 89 c2 11859 11847 mov word [bp-016h], ax ; 89 46 ea … … 11861 11849 add AL, strict byte 006h ; 04 06 11862 11850 xor ah, ah ; 30 e4 11863 call 07 b27h ; e8 d8 fd11851 call 079a3h ; e8 d8 fd 11864 11852 mov byte [bp-010h], al ; 88 46 f0 11865 11853 test bl, bl ; 84 db 11866 jne short 07 d5eh ; 75 0811854 jne short 07bdah ; 75 08 11867 11855 test bh, bh ; 84 ff 11868 jne short 07 d5eh ; 75 0411856 jne short 07bdah ; 75 04 11869 11857 test dx, dx ; 85 d2 11870 je short 07 d19h ; 74 bb11858 je short 07b95h ; 74 bb 11871 11859 mov bx, 00142h ; bb 42 01 11872 11860 mov ax, 04f02h ; b8 02 4f 11873 11861 int 010h ; cd 10 11874 11862 cmp byte [bp-014h], 000h ; 80 7e ec 00 11875 je short 07 d91h ; 74 2511863 je short 07c0dh ; 74 25 11876 11864 xor cx, cx ; 31 c9 11877 jmp short 07 d76h ; eb 0611865 jmp short 07bf2h ; eb 06 11878 11866 inc cx ; 41 11879 11867 cmp cx, strict byte 00010h ; 83 f9 10 11880 jnbe short 07 d98h ; 77 2211868 jnbe short 07c14h ; 77 22 11881 11869 mov ax, cx ; 89 c8 11882 11870 or ah, 002h ; 80 cc 02 … … 11885 11873 xor dx, dx ; 31 d2 11886 11874 mov ax, strict word 00001h ; b8 01 00 11887 call 07 a75h ; e8 ee fc11875 call 078f1h ; e8 ee fc 11888 11876 cmp AL, strict byte 086h ; 3c 86 11889 jne short 07 d70h ; 75 e511877 jne short 07bech ; 75 e5 11890 11878 mov byte [bp-00ch], 001h ; c6 46 f4 01 11891 jmp short 07 d98h ; eb 0711879 jmp short 07c14h ; eb 07 11892 11880 mov ax, 00210h ; b8 10 02 11893 11881 mov dx, 003b8h ; ba b8 03 11894 11882 out DX, ax ; ef 11895 11883 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11896 jne short 07 db3h ; 75 1511884 jne short 07c2fh ; 75 15 11897 11885 mov CL, strict byte 004h ; b1 04 11898 11886 mov ax, word [bp-016h] ; 8b 46 ea 11899 11887 shr ax, CL ; d3 e8 11900 11888 mov dx, strict word 00001h ; ba 01 00 11901 call 07 a75h ; e8 ca fc11889 call 078f1h ; e8 ca fc 11902 11890 cmp AL, strict byte 086h ; 3c 86 11903 jne short 07 db3h ; 75 0411891 jne short 07c2fh ; 75 04 11904 11892 mov byte [bp-00ch], 001h ; c6 46 f4 01 11905 11893 cmp byte [bp-012h], 000h ; 80 7e ee 00 11906 je short 07 de2h ; 74 2911894 je short 07c5eh ; 74 29 11907 11895 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11908 jne short 07 de2h ; 75 2311896 jne short 07c5eh ; 75 23 11909 11897 mov cx, strict word 00010h ; b9 10 00 11910 jmp short 07 dc9h ; eb 0511898 jmp short 07c45h ; eb 05 11911 11899 dec cx ; 49 11912 11900 test cx, cx ; 85 c9 11913 jbe short 07 de2h ; 76 1911901 jbe short 07c5eh ; 76 19 11914 11902 mov ax, cx ; 89 c8 11915 11903 or ah, 002h ; 80 cc 02 … … 11918 11906 xor dx, dx ; 31 d2 11919 11907 mov ax, strict word 00001h ; b8 01 00 11920 call 07 a75h ; e8 9b fc11908 call 078f1h ; e8 9b fc 11921 11909 cmp AL, strict byte 086h ; 3c 86 11922 jne short 07 dc4h ; 75 e611910 jne short 07c40h ; 75 e6 11923 11911 mov byte [bp-00ch], 001h ; c6 46 f4 01 11924 11912 xor bx, bx ; 31 db 11925 11913 mov dx, 0037dh ; ba 7d 03 11926 11914 mov ax, si ; 89 f0 11927 call 01660h ; e8 74 9811915 call 01660h ; e8 f8 99 11928 11916 mov AL, strict byte 003h ; b0 03 11929 11917 mov AH, strict byte 000h ; b4 00 11930 11918 int 010h ; cd 10 11931 11919 cmp byte [bp-010h], 000h ; 80 7e f0 00 11932 je short 07 e0ch ; 74 1411920 je short 07c88h ; 74 14 11933 11921 cmp byte [bp-014h], 000h ; 80 7e ec 00 11934 jne short 07 e3ah ; 75 3c11922 jne short 07cb6h ; 75 3c 11935 11923 cmp byte [bp-012h], 000h ; 80 7e ee 00 11936 jne short 07 e3ah ; 75 3611924 jne short 07cb6h ; 75 36 11937 11925 cmp word [bp-016h], strict byte 00000h ; 83 7e ea 00 11938 je short 07 e0fh ; 74 0511939 jmp short 07 e3ah ; eb 2e11940 jmp near 07 ef6h ; e9 e7 0011926 je short 07c8bh ; 74 05 11927 jmp short 07cb6h ; eb 2e 11928 jmp near 07d72h ; e9 e7 00 11941 11929 cmp byte [bp-010h], 002h ; 80 7e f0 02 11942 jne short 07 e23h ; 75 0e11930 jne short 07c9fh ; 75 0e 11943 11931 mov ax, 00a4bh ; b8 4b 0a 11944 11932 push ax ; 50 11945 11933 mov ax, strict word 00002h ; b8 02 00 11946 11934 push ax ; 50 11947 call 01976h ; e8 56 9b11935 call 01976h ; e8 da 9c 11948 11936 add sp, strict byte 00004h ; 83 c4 04 11949 11937 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11950 jne short 07 e3ah ; 75 1111938 jne short 07cb6h ; 75 11 11951 11939 mov dx, strict word 00001h ; ba 01 00 11952 11940 mov ax, 000c0h ; b8 c0 00 11953 call 07 a75h ; e8 43 fc11941 call 078f1h ; e8 43 fc 11954 11942 cmp AL, strict byte 086h ; 3c 86 11955 jne short 07 e3ah ; 75 0411943 jne short 07cb6h ; 75 04 11956 11944 mov byte [bp-00ch], 001h ; c6 46 f4 01 11957 11945 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11958 je short 07 e0ch ; 74 cc11946 je short 07c88h ; 74 cc 11959 11947 mov byte [bp-00eh], 000h ; c6 46 f2 00 11960 11948 mov ax, 00100h ; b8 00 01 … … 11977 11965 mov ax, strict word 00002h ; b8 02 00 11978 11966 push ax ; 50 11979 call 01976h ; e8 0a 9b11967 call 01976h ; e8 8e 9c 11980 11968 add sp, strict byte 00004h ; 83 c4 04 11981 call 07 b51h ; e8 df fc11969 call 079cdh ; e8 df fc 11982 11970 mov ax, 00ab1h ; b8 b1 0a 11983 11971 push ax ; 50 11984 11972 mov ax, strict word 00002h ; b8 02 00 11985 11973 push ax ; 50 11986 call 01976h ; e8 f9 9a11974 call 01976h ; e8 7d 9c 11987 11975 add sp, strict byte 00004h ; 83 c4 04 11988 11976 mov dx, strict word 00001h ; ba 01 00 11989 11977 mov ax, strict word 00040h ; b8 40 00 11990 call 07 a75h ; e8 ec fb11978 call 078f1h ; e8 ec fb 11991 11979 mov cl, al ; 88 c1 11992 11980 test al, al ; 84 c0 11993 je short 07 e80h ; 74 f111981 je short 07cfch ; 74 f1 11994 11982 cmp AL, strict byte 030h ; 3c 30 11995 je short 07 ee3h ; 74 5011983 je short 07d5fh ; 74 50 11996 11984 cmp cl, 002h ; 80 f9 02 11997 jc short 07 ebch ; 72 2411985 jc short 07d38h ; 72 24 11998 11986 cmp cl, 009h ; 80 f9 09 11999 jnbe short 07 ebch ; 77 1f11987 jnbe short 07d38h ; 77 1f 12000 11988 mov al, cl ; 88 c8 12001 11989 xor ah, ah ; 30 e4 12002 call 07 cabh ; e8 07 fe11990 call 07b27h ; e8 07 fe 12003 11991 cmp AL, strict byte 0ffh ; 3c ff 12004 jne short 07 eaah ; 75 0212005 jmp short 07 e80h ; eb d611992 jne short 07d26h ; 75 02 11993 jmp short 07cfch ; eb d6 12006 11994 mov bl, al ; 88 c3 12007 11995 xor bh, bh ; 30 ff 12008 11996 mov dx, 0037ch ; ba 7c 03 12009 11997 mov ax, si ; 89 f0 12010 call 01660h ; e8 aa 9711998 call 01660h ; e8 2e 99 12011 11999 mov byte [bp-00eh], 002h ; c6 46 f2 02 12012 jmp short 07 ee3h ; eb 2712000 jmp short 07d5fh ; eb 27 12013 12001 cmp cl, 02eh ; 80 f9 2e 12014 je short 07 ed1h ; 74 1012002 je short 07d4dh ; 74 10 12015 12003 cmp cl, 026h ; 80 f9 26 12016 je short 07 ed7h ; 74 1112004 je short 07d53h ; 74 11 12017 12005 cmp cl, 021h ; 80 f9 21 12018 jne short 07 eddh ; 75 1212006 jne short 07d59h ; 75 12 12019 12007 mov byte [bp-00eh], 001h ; c6 46 f2 01 12020 jmp short 07 ee3h ; eb 1212008 jmp short 07d5fh ; eb 12 12021 12009 mov byte [bp-00eh], 003h ; c6 46 f2 03 12022 jmp short 07 ee3h ; eb 0c12010 jmp short 07d5fh ; eb 0c 12023 12011 mov byte [bp-00eh], 004h ; c6 46 f2 04 12024 jmp short 07 ee3h ; eb 0612012 jmp short 07d5fh ; eb 06 12025 12013 cmp byte [bp-00eh], 000h ; 80 7e f2 00 12026 je short 07 e80h ; 74 9d12014 je short 07cfch ; 74 9d 12027 12015 mov bl, byte [bp-00eh] ; 8a 5e f2 12028 12016 xor bh, bh ; 30 ff 12029 12017 mov dx, 0037dh ; ba 7d 03 12030 12018 mov ax, si ; 89 f0 12031 call 01660h ; e8 70 9712019 call 01660h ; e8 f4 98 12032 12020 mov AL, strict byte 003h ; b0 03 12033 12021 mov AH, strict byte 000h ; b4 00 … … 12042 12030 push DS ; 1e 12043 12031 mov ds, ax ; 8e d8 12044 call 0ede3h ; e8 dc 6e12032 call 0ede3h ; e8 60 70 12045 12033 pop DS ; 1f 12046 12034 pop bp ; 5d … … 12053 12041 pop bp ; 5d 12054 12042 retn ; c3 12055 delay_boot_: ; 0xf7 f13LB 0x7212043 delay_boot_: ; 0xf7d8f LB 0x72 12056 12044 push bp ; 55 12057 12045 mov bp, sp ; 89 e5 … … 12063 12051 mov bx, ax ; 89 c3 12064 12052 test ax, ax ; 85 c0 12065 je short 07 f7bh ; 74 5a12053 je short 07df7h ; 74 5a 12066 12054 mov AL, strict byte 034h ; b0 34 12067 12055 out strict byte 043h, AL ; e6 43 … … 12075 12063 mov ax, strict word 00002h ; b8 02 00 12076 12064 push ax ; 50 12077 call 01976h ; e8 3d 9a12065 call 01976h ; e8 c1 9b 12078 12066 add sp, strict byte 00006h ; 83 c4 06 12079 12067 test bx, bx ; 85 db 12080 jbe short 07 f5ah ; 76 1a12068 jbe short 07dd6h ; 76 1a 12081 12069 push bx ; 53 12082 12070 mov ax, 00b19h ; b8 19 0b … … 12084 12072 mov ax, strict word 00002h ; b8 02 00 12085 12073 push ax ; 50 12086 call 01976h ; e8 2a 9a12074 call 01976h ; e8 ae 9b 12087 12075 add sp, strict byte 00006h ; 83 c4 06 12088 12076 xor dx, dx ; 31 d2 12089 12077 mov ax, strict word 00040h ; b8 40 00 12090 call 07 a75h ; e8 1e fb12078 call 078f1h ; e8 1e fb 12091 12079 dec bx ; 4b 12092 jmp short 07 f3ch ; eb e212080 jmp short 07db8h ; eb e2 12093 12081 mov bx, 00a49h ; bb 49 0a 12094 12082 push bx ; 53 12095 12083 mov bx, strict word 00002h ; bb 02 00 12096 12084 push bx ; 53 12097 call 01976h ; e8 11 9a12085 call 01976h ; e8 95 9b 12098 12086 add sp, strict byte 00004h ; 83 c4 04 12099 12087 mov AL, strict byte 034h ; b0 34 … … 12106 12094 push DS ; 1e 12107 12095 mov ds, ax ; 8e d8 12108 call 0ede3h ; e8 6a 6e12096 call 0ede3h ; e8 ee 6f 12109 12097 pop DS ; 1f 12110 12098 pop bp ; 5d … … 12117 12105 pop bp ; 5d 12118 12106 retn ; c3 12119 scsi_cmd_data_in_: ; 0xf7 f85LB 0xd512107 scsi_cmd_data_in_: ; 0xf7e01 LB 0xd5 12120 12108 push bp ; 55 12121 12109 mov bp, sp ; 89 e5 … … 12133 12121 ; sub ah, ah ; 2a e4 12134 12122 test AL, strict byte 001h ; a8 01 12135 jne short 07 f9bh ; 75 f712123 jne short 07e17h ; 75 f7 12136 12124 mov al, byte [bp+004h] ; 8a 46 04 12137 12125 cmp AL, strict byte 010h ; 3c 10 12138 jne short 07 fafh ; 75 0412126 jne short 07e2bh ; 75 04 12139 12127 xor ax, ax ; 31 c0 12140 jmp short 07 fb1h ; eb 0212128 jmp short 07e2dh ; eb 02 12141 12129 xor ah, ah ; 30 e4 12142 12130 mov di, ax ; 89 c7 … … 12146 12134 shr dx, 1 ; d1 ea 12147 12135 rcr ax, 1 ; d1 d8 12148 loop 07 fbbh ; e2 fa12136 loop 07e37h ; e2 fa 12149 12137 mov cx, ax ; 89 c1 12150 12138 and cx, 000f0h ; 81 e1 f0 00 … … 12164 12152 shr dx, 1 ; d1 ea 12165 12153 rcr ax, 1 ; d1 d8 12166 loop 07 fe0h ; e2 fa12154 loop 07e5ch ; e2 fa 12167 12155 mov dx, si ; 89 f2 12168 12156 out DX, AL ; ee … … 12171 12159 xor ah, ah ; 30 e4 12172 12160 cmp cx, ax ; 39 c1 12173 jnc short 0 8002h ; 73 0e12161 jnc short 07e7eh ; 73 0e 12174 12162 les di, [bp-00ah] ; c4 7e f6 12175 12163 add di, cx ; 01 cf … … 12178 12166 out DX, AL ; ee 12179 12167 inc cx ; 41 12180 jmp short 07 febh ; eb e912168 jmp short 07e67h ; eb e9 12181 12169 mov dx, si ; 89 f2 12182 12170 in AL, DX ; ec … … 12184 12172 ; sub ah, ah ; 2a e4 12185 12173 test AL, strict byte 001h ; a8 01 12186 jne short 0 8002h ; 75 f712174 jne short 07e7eh ; 75 f7 12187 12175 test AL, strict byte 002h ; a8 02 12188 je short 0 801dh ; 74 0e12176 je short 07e99h ; 74 0e 12189 12177 lea dx, [si+003h] ; 8d 54 03 12190 12178 xor al, al ; 30 c0 … … 12194 12182 ; sub ah, ah ; 2a e4 12195 12183 mov di, strict word 00004h ; bf 04 00 12196 jmp short 0 804fh ; eb 3212184 jmp short 07ecbh ; eb 32 12197 12185 lea dx, [si+001h] ; 8d 54 01 12198 12186 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 12199 jne short 0 802ch ; 75 0612187 jne short 07ea8h ; 75 06 12200 12188 cmp bx, 08000h ; 81 fb 00 80 12201 jbe short 0 8046h ; 76 1a12189 jbe short 07ec2h ; 76 1a 12202 12190 mov cx, 08000h ; b9 00 80 12203 12191 les di, [bp+006h] ; c4 7e 06 … … 12208 12196 add ax, 00800h ; 05 00 08 12209 12197 mov word [bp+008h], ax ; 89 46 08 12210 jmp short 0 801dh ; eb d712198 jmp short 07e99h ; eb d7 12211 12199 mov cx, bx ; 89 d9 12212 12200 les di, [bp+006h] ; c4 7e 06 … … 12219 12207 pop bp ; 5d 12220 12208 retn 0000ah ; c2 0a 00 12221 scsi_cmd_data_out_: ; 0xf 805aLB 0xd512209 scsi_cmd_data_out_: ; 0xf7ed6 LB 0xd5 12222 12210 push bp ; 55 12223 12211 mov bp, sp ; 89 e5 … … 12235 12223 ; sub ah, ah ; 2a e4 12236 12224 test AL, strict byte 001h ; a8 01 12237 jne short 0 8070h ; 75 f712225 jne short 07eech ; 75 f7 12238 12226 mov al, byte [bp+004h] ; 8a 46 04 12239 12227 cmp AL, strict byte 010h ; 3c 10 12240 jne short 0 8084h ; 75 0412228 jne short 07f00h ; 75 04 12241 12229 xor ax, ax ; 31 c0 12242 jmp short 0 8086h ; eb 0212230 jmp short 07f02h ; eb 02 12243 12231 xor ah, ah ; 30 e4 12244 12232 mov si, ax ; 89 c6 … … 12248 12236 shr dx, 1 ; d1 ea 12249 12237 rcr ax, 1 ; d1 d8 12250 loop 0 8090h ; e2 fa12238 loop 07f0ch ; e2 fa 12251 12239 mov cx, ax ; 89 c1 12252 12240 and cx, 000f0h ; 81 e1 f0 00 … … 12266 12254 shr dx, 1 ; d1 ea 12267 12255 rcr ax, 1 ; d1 d8 12268 loop 0 80b5h ; e2 fa12256 loop 07f31h ; e2 fa 12269 12257 mov dx, di ; 89 fa 12270 12258 out DX, AL ; ee … … 12273 12261 xor ah, ah ; 30 e4 12274 12262 cmp cx, ax ; 39 c1 12275 jnc short 0 80d7h ; 73 0e12263 jnc short 07f53h ; 73 0e 12276 12264 les si, [bp-00ah] ; c4 76 f6 12277 12265 add si, cx ; 01 ce … … 12280 12268 out DX, AL ; ee 12281 12269 inc cx ; 41 12282 jmp short 0 80c0h ; eb e912270 jmp short 07f3ch ; eb e9 12283 12271 lea dx, [di+001h] ; 8d 55 01 12284 12272 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 12285 jne short 0 80e6h ; 75 0612273 jne short 07f62h ; 75 06 12286 12274 cmp bx, 08000h ; 81 fb 00 80 12287 jbe short 0 8101h ; 76 1b12275 jbe short 07f7dh ; 76 1b 12288 12276 mov cx, 08000h ; b9 00 80 12289 12277 les si, [bp+006h] ; c4 76 06 … … 12295 12283 add ax, 00800h ; 05 00 08 12296 12284 mov word [bp+008h], ax ; 89 46 08 12297 jmp short 0 80d7h ; eb d612285 jmp short 07f53h ; eb d6 12298 12286 mov cx, bx ; 89 d9 12299 12287 les si, [bp+006h] ; c4 76 06 … … 12305 12293 ; sub ah, ah ; 2a e4 12306 12294 test AL, strict byte 001h ; a8 01 12307 jne short 0 8109h ; 75 f712295 jne short 07f85h ; 75 f7 12308 12296 test AL, strict byte 002h ; a8 02 12309 je short 0 8124h ; 74 0e12297 je short 07fa0h ; 74 0e 12310 12298 lea dx, [di+003h] ; 8d 55 03 12311 12299 xor al, al ; 30 c0 … … 12315 12303 ; sub ah, ah ; 2a e4 12316 12304 mov ax, strict word 00004h ; b8 04 00 12317 jmp short 0 8126h ; eb 0212305 jmp short 07fa2h ; eb 02 12318 12306 xor ax, ax ; 31 c0 12319 12307 lea sp, [bp-004h] ; 8d 66 fc … … 12322 12310 pop bp ; 5d 12323 12311 retn 0000ah ; c2 0a 00 12324 @scsi_read_sectors: ; 0xf 812fLB 0xe912312 @scsi_read_sectors: ; 0xf7fab LB 0xe9 12325 12313 push bp ; 55 12326 12314 mov bp, sp ; 89 e5 … … 12334 12322 mov byte [bp-006h], al ; 88 46 fa 12335 12323 cmp AL, strict byte 004h ; 3c 04 12336 jbe short 0 815fh ; 76 1512324 jbe short 07fdbh ; 76 15 12337 12325 xor ah, ah ; 30 e4 12338 12326 push ax ; 50 … … 12343 12331 mov ax, strict word 00007h ; b8 07 00 12344 12332 push ax ; 50 12345 call 01976h ; e8 1a 9812333 call 01976h ; e8 9e 99 12346 12334 add sp, strict byte 00008h ; 83 c4 08 12347 12335 mov es, [bp+006h] ; 8e 46 06 … … 12384 12372 sal word [bp-00ah], 1 ; d1 66 f6 12385 12373 rcl word [bp-008h], 1 ; d1 56 f8 12386 loop 08 1cah ; e2 f812374 loop 08046h ; e2 f8 12387 12375 push word [bp-008h] ; ff 76 f8 12388 12376 push word [bp-00ah] ; ff 76 f6 … … 12395 12383 mov cx, ss ; 8c d1 12396 12384 lea bx, [bp-01ah] ; 8d 5e e6 12397 call 07 f85h ; e8 95 fd12385 call 07e01h ; e8 95 fd 12398 12386 mov ah, al ; 88 c4 12399 12387 test al, al ; 84 c0 12400 jne short 08 20bh ; 75 1512388 jne short 08087h ; 75 15 12401 12389 mov es, [bp+006h] ; 8e 46 06 12402 12390 mov word [es:si+018h], di ; 26 89 7c 18 … … 12412 12400 pop bp ; 5d 12413 12401 retn 00004h ; c2 04 00 12414 @scsi_write_sectors: ; 0xf8 218LB 0xe912402 @scsi_write_sectors: ; 0xf8094 LB 0xe9 12415 12403 push bp ; 55 12416 12404 mov bp, sp ; 89 e5 … … 12424 12412 mov byte [bp-006h], al ; 88 46 fa 12425 12413 cmp AL, strict byte 004h ; 3c 04 12426 jbe short 08 248h ; 76 1512414 jbe short 080c4h ; 76 15 12427 12415 xor ah, ah ; 30 e4 12428 12416 push ax ; 50 … … 12433 12421 mov ax, strict word 00007h ; b8 07 00 12434 12422 push ax ; 50 12435 call 01976h ; e8 31 9712423 call 01976h ; e8 b5 98 12436 12424 add sp, strict byte 00008h ; 83 c4 08 12437 12425 mov es, [bp+006h] ; 8e 46 06 … … 12474 12462 sal word [bp-00ah], 1 ; d1 66 f6 12475 12463 rcl word [bp-008h], 1 ; d1 56 f8 12476 loop 08 2b3h ; e2 f812464 loop 0812fh ; e2 f8 12477 12465 push word [bp-008h] ; ff 76 f8 12478 12466 push word [bp-00ah] ; ff 76 f6 … … 12485 12473 mov cx, ss ; 8c d1 12486 12474 lea bx, [bp-01ah] ; 8d 5e e6 12487 call 0 805ah ; e8 81 fd12475 call 07ed6h ; e8 81 fd 12488 12476 mov ah, al ; 88 c4 12489 12477 test al, al ; 84 c0 12490 jne short 08 2f4h ; 75 1512478 jne short 08170h ; 75 15 12491 12479 mov es, [bp+006h] ; 8e 46 06 12492 12480 mov word [es:si+018h], di ; 26 89 7c 18 … … 12502 12490 pop bp ; 5d 12503 12491 retn 00004h ; c2 04 00 12504 scsi_cmd_packet_: ; 0xf8 301LB 0x17012492 scsi_cmd_packet_: ; 0xf817d LB 0x170 12505 12493 push bp ; 55 12506 12494 mov bp, sp ; 89 e5 … … 12514 12502 mov dx, strict word 0000eh ; ba 0e 00 12515 12503 mov ax, strict word 00040h ; b8 40 00 12516 call 0166eh ; e8 51 9312504 call 0166eh ; e8 d5 94 12517 12505 mov si, 00122h ; be 22 01 12518 12506 mov word [bp-00ch], ax ; 89 46 f4 12519 12507 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12520 jne short 08 34ch ; 75 2312508 jne short 081c8h ; 75 23 12521 12509 mov bx, 00da0h ; bb a0 0d 12522 12510 mov cx, ds ; 8c d9 12523 12511 mov ax, strict word 00004h ; b8 04 00 12524 call 01933h ; e8 ff 9512512 call 01933h ; e8 83 97 12525 12513 mov ax, 00b62h ; b8 62 0b 12526 12514 push ax ; 50 … … 12529 12517 mov ax, strict word 00004h ; b8 04 00 12530 12518 push ax ; 50 12531 call 01976h ; e8 33 9612519 call 01976h ; e8 b7 97 12532 12520 add sp, strict byte 00006h ; 83 c4 06 12533 12521 mov dx, strict word 00001h ; ba 01 00 12534 jmp near 08 466h ; e9 1a 0112522 jmp near 082e2h ; e9 1a 01 12535 12523 sub di, strict byte 00008h ; 83 ef 08 12536 12524 sal di, 1 ; d1 e7 … … 12547 12535 ; sub ah, ah ; 2a e4 12548 12536 test AL, strict byte 001h ; a8 01 12549 jne short 08 369h ; 75 f712537 jne short 081e5h ; 75 f7 12550 12538 xor dx, bx ; 31 da 12551 12539 mov ax, word [bp+006h] ; 8b 46 06 … … 12563 12551 shr dx, 1 ; d1 ea 12564 12552 rcr ax, 1 ; d1 d8 12565 loop 08 394h ; e2 fa12553 loop 08210h ; e2 fa 12566 12554 and ax, 000f0h ; 25 f0 00 12567 12555 mov cl, byte [bp-006h] ; 8a 4e fa … … 12582 12570 shr dx, 1 ; d1 ea 12583 12571 rcr ax, 1 ; d1 d8 12584 loop 08 3bch ; e2 fa12572 loop 08238h ; e2 fa 12585 12573 mov dx, bx ; 89 da 12586 12574 out DX, AL ; ee … … 12589 12577 xor ah, ah ; 30 e4 12590 12578 cmp cx, ax ; 39 c1 12591 jnc short 08 3e1h ; 73 1112579 jnc short 0825dh ; 73 11 12592 12580 mov es, [bp-00ah] ; 8e 46 f6 12593 12581 mov di, word [bp-00eh] ; 8b 7e f2 … … 12597 12585 out DX, AL ; ee 12598 12586 inc cx ; 41 12599 jmp short 08 3c7h ; eb e612587 jmp short 08243h ; eb e6 12600 12588 mov dx, bx ; 89 da 12601 12589 in AL, DX ; ec … … 12603 12591 ; sub ah, ah ; 2a e4 12604 12592 test AL, strict byte 001h ; a8 01 12605 jne short 08 3e1h ; 75 f712593 jne short 0825dh ; 75 f7 12606 12594 test AL, strict byte 002h ; a8 02 12607 je short 08 3fch ; 74 0e12595 je short 08278h ; 74 0e 12608 12596 lea dx, [bx+003h] ; 8d 57 03 12609 12597 xor al, al ; 30 c0 … … 12613 12601 ; sub ah, ah ; 2a e4 12614 12602 mov dx, strict word 00003h ; ba 03 00 12615 jmp short 08 466h ; eb 6a12603 jmp short 082e2h ; eb 6a 12616 12604 mov ax, word [bp+004h] ; 8b 46 04 12617 12605 test ax, ax ; 85 c0 12618 je short 08 40bh ; 74 0812606 je short 08287h ; 74 08 12619 12607 lea dx, [bx+001h] ; 8d 57 01 12620 12608 mov cx, ax ; 89 c1 12621 12609 in AL, DX ; ec 12622 loop 08 408h ; e2 fd12610 loop 08284h ; e2 fd 12623 12611 mov ax, word [bp+006h] ; 8b 46 06 12624 12612 mov es, [bp-00ch] ; 8e 46 f4 … … 12628 12616 lea ax, [bx+001h] ; 8d 47 01 12629 12617 cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00 12630 jne short 08 42ch ; 75 0712618 jne short 082a8h ; 75 07 12631 12619 cmp word [bp+006h], 08000h ; 81 7e 06 00 80 12632 jbe short 08 449h ; 76 1d12620 jbe short 082c5h ; 76 1d 12633 12621 mov dx, ax ; 89 c2 12634 12622 mov cx, 08000h ; b9 00 80 … … 12640 12628 add ax, 00800h ; 05 00 08 12641 12629 mov word [bp+00eh], ax ; 89 46 0e 12642 jmp short 08 41ch ; eb d312630 jmp short 08298h ; eb d3 12643 12631 mov dx, ax ; 89 c2 12644 12632 mov cx, word [bp+006h] ; 8b 4e 06 … … 12647 12635 mov es, [bp-00ch] ; 8e 46 f4 12648 12636 cmp word [es:si+020h], strict byte 00000h ; 26 83 7c 20 00 12649 je short 08 464h ; 74 0712637 je short 082e0h ; 74 07 12650 12638 mov cx, word [es:si+020h] ; 26 8b 4c 20 12651 12639 in AL, DX ; ec 12652 loop 08 461h ; e2 fd12640 loop 082ddh ; e2 fd 12653 12641 xor dx, dx ; 31 d2 12654 12642 mov ax, dx ; 89 d0 … … 12658 12646 pop bp ; 5d 12659 12647 retn 0000ch ; c2 0c 00 12660 scsi_enumerate_attached_devices_: ; 0xf8 471LB 0x4cb12648 scsi_enumerate_attached_devices_: ; 0xf82ed LB 0x4cb 12661 12649 push bp ; 55 12662 12650 mov bp, sp ; 89 e5 … … 12670 12658 mov dx, strict word 0000eh ; ba 0e 00 12671 12659 mov ax, strict word 00040h ; b8 40 00 12672 call 0166eh ; e8 e7 9112660 call 0166eh ; e8 6b 93 12673 12661 mov di, 00122h ; bf 22 01 12674 12662 mov word [bp-016h], ax ; 89 46 ea 12675 12663 mov word [bp-014h], strict word 00000h ; c7 46 ec 00 00 12676 jmp near 08 8afh ; e9 1a 0412664 jmp near 0872bh ; e9 1a 04 12677 12665 cmp AL, strict byte 004h ; 3c 04 12678 jc short 08 49ch ; 72 0312679 jmp near 08 932h ; e9 96 0412666 jc short 08318h ; 72 03 12667 jmp near 087aeh ; e9 96 04 12680 12668 mov cx, strict word 00010h ; b9 10 00 12681 12669 xor bx, bx ; 31 db 12682 12670 mov dx, ss ; 8c d2 12683 12671 lea ax, [bp-048h] ; 8d 46 b8 12684 call 0a 21ah ; e8 711d12672 call 0a070h ; e8 4b 1d 12685 12673 mov byte [bp-048h], 09eh ; c6 46 b8 9e 12686 12674 mov byte [bp-047h], 010h ; c6 46 b9 10 … … 12700 12688 lea bx, [bp-048h] ; 8d 5e b8 12701 12689 mov ax, word [bp-0024ah] ; 8b 86 b6 fd 12702 call 07 f85h ; e8 ae fa12690 call 07e01h ; e8 ae fa 12703 12691 test al, al ; 84 c0 12704 je short 08 4edh ; 74 1212692 je short 08369h ; 74 12 12705 12693 mov ax, 00b92h ; b8 92 0b 12706 12694 push ax ; 50 … … 12709 12697 mov ax, strict word 00007h ; b8 07 00 12710 12698 push ax ; 50 12711 call 01976h ; e8 8c 9412699 call 01976h ; e8 10 96 12712 12700 add sp, strict byte 00006h ; 83 c4 06 12713 12701 mov ax, word [bp-00242h] ; 8b 86 be fd … … 12741 12729 sal ax, 1 ; d1 e0 12742 12730 rcl dx, 1 ; d1 d2 12743 loop 08 53bh ; e2 fa12731 loop 083b7h ; e2 fa 12744 12732 or bx, ax ; 09 c3 12745 12733 or dx, si ; 09 f2 … … 12749 12737 mov word [bp-01ch], bx ; 89 5e e4 12750 12738 test dx, dx ; 85 d2 12751 jne short 08 55ah ; 75 0612739 jne short 083d6h ; 75 06 12752 12740 cmp bx, 00200h ; 81 fb 00 02 12753 je short 08 57dh ; 74 2312741 je short 083f9h ; 74 23 12754 12742 mov bx, 00da0h ; bb a0 0d 12755 12743 mov cx, ds ; 8c d9 12756 12744 mov ax, strict word 00004h ; b8 04 00 12757 call 01933h ; e8 ce 9312745 call 01933h ; e8 52 95 12758 12746 push dx ; 52 12759 12747 push word [bp-01ch] ; ff 76 e4 … … 12763 12751 mov ax, strict word 00004h ; b8 04 00 12764 12752 push ax ; 50 12765 call 01976h ; e8 ff 9312753 call 01976h ; e8 83 95 12766 12754 add sp, strict byte 0000ah ; 83 c4 0a 12767 jmp near 08 8a3h ; e9 26 0312755 jmp near 0871fh ; e9 26 03 12768 12756 mov al, byte [bp-00ch] ; 8a 46 f4 12769 12757 cmp AL, strict byte 001h ; 3c 01 12770 jc short 08 590h ; 72 0c12771 jbe short 08 598h ; 76 1212758 jc short 0840ch ; 72 0c 12759 jbe short 08414h ; 76 12 12772 12760 cmp AL, strict byte 003h ; 3c 03 12773 je short 08 5a0h ; 74 1612761 je short 0841ch ; 74 16 12774 12762 cmp AL, strict byte 002h ; 3c 02 12775 je short 08 59ch ; 74 0e12776 jmp short 08 5e7h ; eb 5712763 je short 08418h ; 74 0e 12764 jmp short 08463h ; eb 57 12777 12765 test al, al ; 84 c0 12778 jne short 08 5e7h ; 75 5312766 jne short 08463h ; 75 53 12779 12767 mov BL, strict byte 090h ; b3 90 12780 jmp short 08 5a2h ; eb 0a12768 jmp short 0841eh ; eb 0a 12781 12769 mov BL, strict byte 098h ; b3 98 12782 jmp short 08 5a2h ; eb 0612770 jmp short 0841eh ; eb 06 12783 12771 mov BL, strict byte 0a0h ; b3 a0 12784 jmp short 08 5a2h ; eb 0212772 jmp short 0841eh ; eb 02 12785 12773 mov BL, strict byte 0a8h ; b3 a8 12786 12774 mov cl, bl ; 88 d9 … … 12788 12776 xor ch, ch ; 30 ed 12789 12777 mov ax, cx ; 89 c8 12790 call 016aeh ; e8 00 9112778 call 016aeh ; e8 84 92 12791 12779 test al, al ; 84 c0 12792 je short 08 5e7h ; 74 3512780 je short 08463h ; 74 35 12793 12781 mov al, bl ; 88 d8 12794 12782 db 0feh, 0c0h 12795 12783 ; inc al ; fe c0 12796 12784 xor ah, ah ; 30 e4 12797 call 016aeh ; e8 f3 9012785 call 016aeh ; e8 77 92 12798 12786 mov dh, al ; 88 c6 12799 12787 mov al, bl ; 88 d8 12800 12788 xor ah, ah ; 30 e4 12801 call 016aeh ; e8 ea 9012789 call 016aeh ; e8 6e 92 12802 12790 mov ah, dh ; 88 f4 12803 12791 cwd ; 99 … … 12807 12795 add AL, strict byte 002h ; 04 02 12808 12796 xor ah, ah ; 30 e4 12809 call 016aeh ; e8 d9 9012797 call 016aeh ; e8 5d 92 12810 12798 xor ah, ah ; 30 e4 12811 12799 mov word [bp-028h], ax ; 89 46 d8 12812 12800 mov ax, cx ; 89 c8 12813 call 016aeh ; e8 cf 9012801 call 016aeh ; e8 53 92 12814 12802 xor ah, ah ; 30 e4 12815 12803 mov word [bp-01ah], ax ; 89 46 e6 12816 jmp near 08 6d4h ; e9 ed 0012804 jmp near 08550h ; e9 ed 00 12817 12805 mov ax, word [bp-020h] ; 8b 46 e0 12818 12806 mov bx, word [bp-022h] ; 8b 5e de … … 12820 12808 mov dx, word [bp-024h] ; 8b 56 dc 12821 12809 mov si, strict word 0000ch ; be 0c 00 12822 call 0a 20ah ; e8 11 1c12810 call 0a050h ; e8 db 1b 12823 12811 mov word [bp-02ah], ax ; 89 46 d6 12824 12812 mov word [bp-02ch], bx ; 89 5e d4 … … 12827 12815 mov ax, word [bp-020h] ; 8b 46 e0 12828 12816 test ax, ax ; 85 c0 12829 jnbe short 08 621h ; 77 1512830 je short 08 611h ; 74 0312831 jmp near 08 694h ; e9 83 0012817 jnbe short 0849dh ; 77 15 12818 je short 0848dh ; 74 03 12819 jmp near 08510h ; e9 83 00 12832 12820 cmp word [bp-022h], strict byte 00000h ; 83 7e de 00 12833 jnbe short 08 621h ; 77 0a12834 jne short 08 60eh ; 75 f512821 jnbe short 0849dh ; 77 0a 12822 jne short 0848ah ; 75 f5 12835 12823 cmp word [bp-012h], strict byte 00040h ; 83 7e ee 40 12836 jnbe short 08 621h ; 77 0212837 jne short 08 694h ; 75 7312824 jnbe short 0849dh ; 77 02 12825 jne short 08510h ; 75 73 12838 12826 mov word [bp-028h], 000ffh ; c7 46 d8 ff 00 12839 12827 mov word [bp-01ah], strict word 0003fh ; c7 46 e6 3f 00 … … 12842 12830 mov dx, word [bp-024h] ; 8b 56 dc 12843 12831 mov si, strict word 00006h ; be 06 00 12844 call 0a 20ah ; e8 d01b12832 call 0a050h ; e8 9a 1b 12845 12833 mov si, word [bp-018h] ; 8b 76 e8 12846 12834 add si, dx ; 01 d6 … … 12860 12848 mov dx, si ; 89 f2 12861 12849 mov si, strict word 00008h ; be 08 00 12862 call 0a 20ah ; e8 a01b12850 call 0a050h ; e8 6a 1b 12863 12851 mov word [bp-02eh], bx ; 89 5e d2 12864 12852 mov word [bp-030h], cx ; 89 4e d0 … … 12869 12857 mov dx, word [bp-01eh] ; 8b 56 e2 12870 12858 mov si, strict word 00010h ; be 10 00 12871 call 0a 20ah ; e8 851b12859 call 0a050h ; e8 4f 1b 12872 12860 mov si, word [bp-032h] ; 8b 76 ce 12873 12861 add si, dx ; 01 d6 … … 12875 12863 mov ax, word [bp-02eh] ; 8b 46 d2 12876 12864 adc ax, bx ; 11 d8 12877 jmp short 08 6d1h ; eb 3d12865 jmp short 0854dh ; eb 3d 12878 12866 test ax, ax ; 85 c0 12879 jnbe short 08 6aah ; 77 1212880 jne short 08 6b6h ; 75 1c12867 jnbe short 08526h ; 77 12 12868 jne short 08532h ; 75 1c 12881 12869 cmp word [bp-022h], strict byte 00000h ; 83 7e de 00 12882 jnbe short 08 6aah ; 77 0a12883 jne short 08 6b6h ; 75 1412870 jnbe short 08526h ; 77 0a 12871 jne short 08532h ; 75 14 12884 12872 cmp word [bp-012h], strict byte 00020h ; 83 7e ee 20 12885 jnbe short 08 6aah ; 77 0212886 jne short 08 6b6h ; 75 0c12873 jnbe short 08526h ; 77 02 12874 jne short 08532h ; 75 0c 12887 12875 mov word [bp-028h], 00080h ; c7 46 d8 80 00 12888 12876 mov word [bp-01ah], strict word 00020h ; c7 46 e6 20 00 12889 jmp short 08 6cfh ; eb 1912877 jmp short 0854bh ; eb 19 12890 12878 mov word [bp-028h], strict word 00040h ; c7 46 d8 40 00 12891 12879 mov word [bp-01ah], strict word 00020h ; c7 46 e6 20 00 … … 12894 12882 mov dx, word [bp-024h] ; 8b 56 dc 12895 12883 mov si, strict word 0000bh ; be 0b 00 12896 call 0a 20ah ; e8 3b1b12884 call 0a050h ; e8 05 1b 12897 12885 mov si, dx ; 89 d6 12898 12886 mov word [bp-026h], cx ; 89 4e da … … 12931 12919 mov word [es:bx+034h], ax ; 26 89 47 34 12932 12920 cmp word [bp-026h], strict byte 00000h ; 83 7e da 00 12933 jne short 08 74bh ; 75 0612921 jne short 085c7h ; 75 06 12934 12922 cmp si, 00400h ; 81 fe 00 04 12935 jbe short 08 759h ; 76 0e12923 jbe short 085d5h ; 76 0e 12936 12924 mov word [es:bx+02ch], 00400h ; 26 c7 47 2c 00 04 12937 12925 mov word [es:bx+032h], 00400h ; 26 c7 47 32 00 04 12938 jmp short 08 761h ; eb 0812926 jmp short 085ddh ; eb 08 12939 12927 mov word [es:bx+02ch], si ; 26 89 77 2c 12940 12928 mov word [es:bx+032h], si ; 26 89 77 32 … … 12942 12930 mov cx, ds ; 8c d9 12943 12931 mov ax, strict word 00004h ; b8 04 00 12944 call 01933h ; e8 c7 9112932 call 01933h ; e8 4b 93 12945 12933 push word [bp-020h] ; ff 76 e0 12946 12934 push word [bp-022h] ; ff 76 de … … 12959 12947 mov ax, strict word 00004h ; b8 04 00 12960 12948 push ax ; 50 12961 call 01976h ; e8 e0 9112949 call 01976h ; e8 64 93 12962 12950 add sp, strict byte 00018h ; 83 c4 18 12963 12951 mov al, byte [bp-00eh] ; 8a 46 f2 … … 12988 12976 mov dx, strict word 00075h ; ba 75 00 12989 12977 mov ax, strict word 00040h ; b8 40 00 12990 call 01652h ; e8 66 8e12978 call 01652h ; e8 ea 8f 12991 12979 mov bl, al ; 88 c3 12992 12980 db 0feh, 0c3h … … 12995 12983 mov dx, strict word 00075h ; ba 75 00 12996 12984 mov ax, strict word 00040h ; b8 40 00 12997 call 01660h ; e8 65 8e12985 call 01660h ; e8 e9 8f 12998 12986 inc byte [bp-00ch] ; fe 46 f4 12999 jmp near 08 898h ; e9 97 0012987 jmp near 08714h ; e9 97 00 13000 12988 mov bx, 00da0h ; bb a0 0d 13001 12989 mov cx, ds ; 8c d9 13002 12990 mov ax, strict word 00004h ; b8 04 00 13003 call 01933h ; e8 27 9112991 call 01933h ; e8 ab 92 13004 12992 push word [bp-014h] ; ff 76 ec 13005 12993 mov al, byte [bp-00ch] ; 8a 46 f4 … … 13010 12998 mov ax, strict word 00004h ; b8 04 00 13011 12999 push ax ; 50 13012 call 01976h ; e8 56 9113000 call 01976h ; e8 da 92 13013 13001 add sp, strict byte 00008h ; 83 c4 08 13014 13002 mov al, byte [bp-00ch] ; 8a 46 f4 … … 13016 13004 mov byte [bp-00eh], al ; 88 46 f2 13017 13005 test byte [bp-00247h], 080h ; f6 86 b9 fd 80 13018 je short 08 837h ; 74 0513006 je short 086b3h ; 74 05 13019 13007 mov cx, strict word 00001h ; b9 01 00 13020 jmp short 08 839h ; eb 0213008 jmp short 086b5h ; eb 02 13021 13009 xor cx, cx ; 31 c9 13022 13010 mov al, byte [bp-00ch] ; 8a 46 f4 … … 13056 13044 inc word [bp-014h] ; ff 46 ec 13057 13045 cmp word [bp-014h], strict byte 00010h ; 83 7e ec 10 13058 jl short 08 8afh ; 7c 0313059 jmp near 08 932h ; e9 83 0013046 jl short 0872bh ; 7c 03 13047 jmp near 087aeh ; e9 83 00 13060 13048 mov byte [bp-048h], 012h ; c6 46 b8 12 13061 13049 xor al, al ; 30 c0 … … 13079 13067 lea bx, [bp-048h] ; 8d 5e b8 13080 13068 mov ax, word [bp-0024ah] ; 8b 86 b6 fd 13081 call 07 f85h ; e8 9e f613069 call 07e01h ; e8 9e f6 13082 13070 test al, al ; 84 c0 13083 je short 08 8fdh ; 74 1213071 je short 08779h ; 74 12 13084 13072 mov ax, 00b92h ; b8 92 0b 13085 13073 push ax ; 50 … … 13088 13076 mov ax, strict word 00007h ; b8 07 00 13089 13077 push ax ; 50 13090 call 01976h ; e8 7c 9013078 call 01976h ; e8 00 92 13091 13079 add sp, strict byte 00006h ; 83 c4 06 13092 13080 mov es, [bp-016h] ; 8e 46 ea … … 13094 13082 mov byte [bp-00ch], al ; 88 46 f4 13095 13083 test byte [bp-00248h], 0e0h ; f6 86 b8 fd e0 13096 jne short 08 919h ; 75 0a13084 jne short 08795h ; 75 0a 13097 13085 test byte [bp-00248h], 01fh ; f6 86 b8 fd 1f 13098 jne short 08 919h ; 75 0313099 jmp near 08 495h ; e9 7c fb13086 jne short 08795h ; 75 03 13087 jmp near 08311h ; e9 7c fb 13100 13088 test byte [bp-00248h], 0e0h ; f6 86 b8 fd e0 13101 je short 08 923h ; 74 0313102 jmp near 08 898h ; e9 75 ff13089 je short 0879fh ; 74 03 13090 jmp near 08714h ; e9 75 ff 13103 13091 mov al, byte [bp-00248h] ; 8a 86 b8 fd 13104 13092 and AL, strict byte 01fh ; 24 1f 13105 13093 cmp AL, strict byte 005h ; 3c 05 13106 jne short 08 930h ; 75 0313107 jmp near 08 801h ; e9 d1 fe13108 jmp short 08 920h ; eb ee13094 jne short 087ach ; 75 03 13095 jmp near 0867dh ; e9 d1 fe 13096 jmp short 0879ch ; eb ee 13109 13097 lea sp, [bp-00ah] ; 8d 66 f6 13110 13098 pop di ; 5f … … 13115 13103 pop bp ; 5d 13116 13104 retn ; c3 13117 _scsi_init: ; 0xf8 93cLB 0x6613105 _scsi_init: ; 0xf87b8 LB 0x66 13118 13106 push bp ; 55 13119 13107 mov bp, sp ; 89 e5 13120 13108 mov dx, strict word 0000eh ; ba 0e 00 13121 13109 mov ax, strict word 00040h ; b8 40 00 13122 call 0166eh ; e8 26 8d13110 call 0166eh ; e8 aa 8e 13123 13111 mov bx, 00122h ; bb 22 01 13124 13112 mov es, ax ; 8e c0 … … 13131 13119 ; sub ah, ah ; 2a e4 13132 13120 cmp AL, strict byte 055h ; 3c 55 13133 jne short 08 96ch ; 75 0c13121 jne short 087e8h ; 75 0c 13134 13122 xor al, al ; 30 c0 13135 13123 mov dx, 00433h ; ba 33 04 13136 13124 out DX, AL ; ee 13137 13125 mov ax, 00430h ; b8 30 04 13138 call 08 471h ; e8 05 fb13126 call 082edh ; e8 05 fb 13139 13127 mov AL, strict byte 055h ; b0 55 13140 13128 mov dx, 00436h ; ba 36 04 … … 13144 13132 ; sub ah, ah ; 2a e4 13145 13133 cmp AL, strict byte 055h ; 3c 55 13146 jne short 08 985h ; 75 0c13134 jne short 08801h ; 75 0c 13147 13135 xor al, al ; 30 c0 13148 13136 mov dx, 00437h ; ba 37 04 13149 13137 out DX, AL ; ee 13150 13138 mov ax, 00434h ; b8 34 04 13151 call 08 471h ; e8 ec fa13139 call 082edh ; e8 ec fa 13152 13140 mov AL, strict byte 055h ; b0 55 13153 13141 mov dx, 0043ah ; ba 3a 04 … … 13157 13145 ; sub ah, ah ; 2a e4 13158 13146 cmp AL, strict byte 055h ; 3c 55 13159 jne short 08 99eh ; 75 0c13147 jne short 0881ah ; 75 0c 13160 13148 xor al, al ; 30 c0 13161 13149 mov dx, 0043bh ; ba 3b 04 13162 13150 out DX, AL ; ee 13163 13151 mov ax, 00438h ; b8 38 04 13164 call 08 471h ; e8 d3 fa13152 call 082edh ; e8 d3 fa 13165 13153 mov sp, bp ; 89 ec 13166 13154 pop bp ; 5d 13167 13155 retn ; c3 13168 ahci_ctrl_extract_bits_: ; 0xf8 9a2LB 0x1c13156 ahci_ctrl_extract_bits_: ; 0xf881e LB 0x1c 13169 13157 push si ; 56 13170 13158 push bp ; 55 … … 13175 13163 mov cl, byte [bp+006h] ; 8a 4e 06 13176 13164 xor ch, ch ; 30 ed 13177 jcxz 08 9b9h ; e3 0613165 jcxz 08835h ; e3 06 13178 13166 shr dx, 1 ; d1 ea 13179 13167 rcr ax, 1 ; d1 d8 13180 loop 08 9b3h ; e2 fa13168 loop 0882fh ; e2 fa 13181 13169 pop bp ; 5d 13182 13170 pop si ; 5e 13183 13171 retn 00002h ; c2 02 00 13184 ahci_addr_to_phys_: ; 0xf8 9beLB 0x1e13172 ahci_addr_to_phys_: ; 0xf883a LB 0x1e 13185 13173 push bx ; 53 13186 13174 push cx ; 51 … … 13193 13181 sal ax, 1 ; d1 e0 13194 13182 rcl dx, 1 ; d1 d2 13195 loop 08 9cch ; e2 fa13183 loop 08848h ; e2 fa 13196 13184 xor cx, cx ; 31 c9 13197 13185 add ax, bx ; 01 d8 … … 13201 13189 pop bx ; 5b 13202 13190 retn ; c3 13203 ahci_port_cmd_sync_: ; 0xf8 9dcLB 0x15913191 ahci_port_cmd_sync_: ; 0xf8858 LB 0x159 13204 13192 push bp ; 55 13205 13193 mov bp, sp ; 89 e5 … … 13216 13204 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 13217 13205 cmp AL, strict byte 0ffh ; 3c ff 13218 jne short 08 9ffh ; 75 0313219 jmp near 08 b2dh ; e9 2e 0113206 jne short 0887bh ; 75 03 13207 jmp near 089a9h ; e9 2e 01 13220 13208 mov al, byte [es:si+00263h] ; 26 8a 84 63 02 13221 13209 xor ah, ah ; 30 e4 … … 13230 13218 lea ax, [si+00080h] ; 8d 84 80 00 13231 13219 mov dx, cx ; 89 ca 13232 call 08 9beh ; e8 92 ff13220 call 0883ah ; e8 92 ff 13233 13221 mov es, cx ; 8e c1 13234 13222 mov word [es:si+008h], ax ; 26 89 44 08 … … 13298 13286 xchg dx, ax ; 92 13299 13287 test dh, 040h ; f6 c6 40 13300 jne short 08 abfh ; 75 0413288 jne short 0893bh ; 75 04 13301 13289 test AL, strict byte 001h ; a8 01 13302 je short 08 ac3h ; 74 0413290 je short 0893fh ; 74 04 13303 13291 mov AL, strict byte 001h ; b0 01 13304 jmp short 08 ac5h ; eb 0213292 jmp short 08941h ; eb 02 13305 13293 xor al, al ; 30 c0 13306 13294 test al, al ; 84 c0 13307 je short 08 a91h ; 74 c813295 je short 0890dh ; 74 c8 13308 13296 mov al, byte [bp-008h] ; 8a 46 f8 13309 13297 xor ah, ah ; 30 e4 … … 13362 13350 pop bp ; 5d 13363 13351 retn ; c3 13364 ahci_cmd_data_: ; 0xf8 b35LB 0x26213352 ahci_cmd_data_: ; 0xf89b1 LB 0x262 13365 13353 push bp ; 55 13366 13354 mov bp, sp ; 89 e5 … … 13387 13375 mov ax, 00080h ; b8 80 00 13388 13376 mov dx, word [bp-00ah] ; 8b 56 f6 13389 call 0a 21ah ; e8 a71613377 call 0a070h ; e8 81 16 13390 13378 mov es, [bp-00ah] ; 8e 46 f6 13391 13379 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 13405 13393 mov dx, word [es:si] ; 26 8b 14 13406 13394 mov si, strict word 00008h ; be 08 00 13407 call 0a 20ah ; e8 531613395 call 0a050h ; e8 1d 16 13408 13396 mov es, [bp-00ah] ; 8e 46 f6 13409 13397 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 13416 13404 mov dx, word [es:si] ; 26 8b 14 13417 13405 mov si, strict word 00010h ; be 10 00 13418 call 0a 20ah ; e8 2d 1613406 call 0a050h ; e8 f7 15 13419 13407 mov es, [bp-00ah] ; 8e 46 f6 13420 13408 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 13428 13416 mov dx, word [es:si] ; 26 8b 14 13429 13417 mov si, strict word 00018h ; be 18 00 13430 call 0a 20ah ; e8 01 1613418 call 0a050h ; e8 cb 15 13431 13419 mov es, [bp-00ah] ; 8e 46 f6 13432 13420 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 13439 13427 mov dx, word [es:si] ; 26 8b 14 13440 13428 mov si, strict word 00020h ; be 20 00 13441 call 0a 20ah ; e8 db1513429 call 0a050h ; e8 a5 15 13442 13430 mov es, [bp-00ah] ; 8e 46 f6 13443 13431 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 13450 13438 mov dx, word [es:si] ; 26 8b 14 13451 13439 mov si, strict word 00028h ; be 28 00 13452 call 0a 20ah ; e8 b51513440 call 0a050h ; e8 7f 15 13453 13441 mov es, [bp-00ah] ; 8e 46 f6 13454 13442 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 13463 13451 mov bx, word [bp-012h] ; 8b 5e ee 13464 13452 xor cx, cx ; 31 c9 13465 call 0a 1c9h ; e8 42 1513453 call 0a000h ; e8 fd 14 13466 13454 push dx ; 52 13467 13455 push ax ; 50 … … 13473 13461 mov ax, 0026ah ; b8 6a 02 13474 13462 mov dx, word [bp-00ah] ; 8b 56 f6 13475 call 0 a0deh ; e8 3b 1413463 call 09f5ah ; e8 3b 14 13476 13464 mov es, [bp-00ah] ; 8e 46 f6 13477 13465 mov dx, word [es:di+0027eh] ; 26 8b 95 7e 02 … … 13497 13485 mov ax, word [es:bx+020h] ; 26 8b 47 20 13498 13486 test ax, ax ; 85 c0 13499 je short 08 d33h ; 74 3913487 je short 08bafh ; 74 39 13500 13488 dec ax ; 48 13501 13489 mov es, [bp-00ah] ; 8e 46 f6 … … 13515 13503 mov al, byte [bp-008h] ; 8a 46 f8 13516 13504 cmp AL, strict byte 035h ; 3c 35 13517 jne short 08 d40h ; 75 0613505 jne short 08bbch ; 75 06 13518 13506 mov byte [bp-008h], 040h ; c6 46 f8 40 13519 jmp short 08 d57h ; eb 1713507 jmp short 08bd3h ; eb 17 13520 13508 cmp AL, strict byte 0a0h ; 3c a0 13521 jne short 08 d53h ; 75 0f13509 jne short 08bcfh ; 75 0f 13522 13510 or byte [bp-008h], 020h ; 80 4e f8 20 13523 13511 les bx, [bp-00eh] ; c4 5e f2 13524 13512 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 13525 jmp short 08 d57h ; eb 0413513 jmp short 08bd3h ; eb 04 13526 13514 mov byte [bp-008h], 000h ; c6 46 f8 00 13527 13515 or byte [bp-008h], 005h ; 80 4e f8 05 … … 13530 13518 mov ax, word [bp-00eh] ; 8b 46 f2 13531 13519 mov dx, word [bp-00ch] ; 8b 56 f4 13532 call 08 9dch ; e8 73 fc13520 call 08858h ; e8 73 fc 13533 13521 mov cx, word [bp-00ch] ; 8b 4e f4 13534 13522 mov bx, word [bp-00eh] ; 8b 5e f2 … … 13537 13525 add ax, 0026ah ; 05 6a 02 13538 13526 mov dx, cx ; 89 ca 13539 call 0 a155h ; e8 d7 1313527 call 09fd1h ; e8 d7 13 13540 13528 mov es, cx ; 8e c1 13541 13529 mov al, byte [es:bx+003h] ; 26 8a 47 03 13542 13530 test al, al ; 84 c0 13543 je short 08 d8dh ; 74 0513531 je short 08c09h ; 74 05 13544 13532 mov ax, strict word 00004h ; b8 04 00 13545 jmp short 08 d8fh ; eb 0213533 jmp short 08c0bh ; eb 02 13546 13534 xor ah, ah ; 30 e4 13547 13535 lea sp, [bp-006h] ; 8d 66 fa … … 13551 13539 pop bp ; 5d 13552 13540 retn ; c3 13553 ahci_port_deinit_current_: ; 0xf8 d97LB 0x18313541 ahci_port_deinit_current_: ; 0xf8c13 LB 0x183 13554 13542 push bp ; 55 13555 13543 mov bp, sp ; 89 e5 … … 13566 13554 mov byte [bp-00ah], al ; 88 46 f6 13567 13555 cmp AL, strict byte 0ffh ; 3c ff 13568 je short 08 e1ah ; 74 6113556 je short 08c96h ; 74 61 13569 13557 xor ah, ah ; 30 e4 13570 13558 mov CL, strict byte 007h ; b1 07 … … 13612 13600 xchg dx, ax ; 92 13613 13601 test ax, 0c011h ; a9 11 c0 13614 je short 08 e1dh ; 74 0713602 je short 08c99h ; 74 07 13615 13603 mov AL, strict byte 001h ; b0 01 13616 jmp short 08 e1fh ; eb 0513617 jmp near 08 f11h ; e9 f4 0013604 jmp short 08c9bh ; eb 05 13605 jmp near 08d8dh ; e9 f4 00 13618 13606 xor al, al ; 30 c0 13619 13607 cmp AL, strict byte 001h ; 3c 01 13620 je short 08 dech ; 74 c913608 je short 08c68h ; 74 c9 13621 13609 mov cx, strict word 00020h ; b9 20 00 13622 13610 xor bx, bx ; 31 db 13623 13611 mov ax, di ; 89 f8 13624 13612 mov dx, word [bp-00eh] ; 8b 56 f2 13625 call 0a 21ah ; e8 ea1313613 call 0a070h ; e8 c4 13 13626 13614 lea ax, [di+00080h] ; 8d 85 80 00 13627 13615 mov cx, strict word 00040h ; b9 40 00 13628 13616 xor bx, bx ; 31 db 13629 13617 mov dx, word [bp-00eh] ; 8b 56 f2 13630 call 0a 21ah ; e8 db1313618 call 0a070h ; e8 b5 13 13631 13619 lea ax, [di+00200h] ; 8d 85 00 02 13632 13620 mov cx, strict word 00060h ; b9 60 00 13633 13621 xor bx, bx ; 31 db 13634 13622 mov dx, word [bp-00eh] ; 8b 56 f2 13635 call 0a 21ah ; e8 cc1313623 call 0a070h ; e8 a6 13 13636 13624 mov al, byte [bp-00ah] ; 8a 46 f6 13637 13625 xor ah, ah ; 30 e4 … … 13739 13727 pop bp ; 5d 13740 13728 retn ; c3 13741 ahci_port_init_: ; 0xf8 f1aLB 0x25013729 ahci_port_init_: ; 0xf8d96 LB 0x250 13742 13730 push bp ; 55 13743 13731 mov bp, sp ; 89 e5 … … 13749 13737 mov word [bp-00ah], dx ; 89 56 f6 13750 13738 mov byte [bp-008h], bl ; 88 5e f8 13751 call 08 d97h ; e8 69 fe13739 call 08c13h ; e8 69 fe 13752 13740 mov al, bl ; 88 d8 13753 13741 xor ah, ah ; 30 e4 … … 13800 13788 xchg dx, ax ; 92 13801 13789 test ax, 0c011h ; a9 11 c0 13802 je short 08 fa1h ; 74 0413790 je short 08e1dh ; 74 04 13803 13791 mov AL, strict byte 001h ; b0 01 13804 jmp short 08 fa3h ; eb 0213792 jmp short 08e1fh ; eb 02 13805 13793 xor al, al ; 30 c0 13806 13794 cmp AL, strict byte 001h ; 3c 01 13807 je short 08 f6bh ; 74 c413795 je short 08de7h ; 74 c4 13808 13796 mov cx, strict word 00020h ; b9 20 00 13809 13797 xor bx, bx ; 31 db 13810 13798 mov ax, si ; 89 f0 13811 13799 mov dx, word [bp-00ah] ; 8b 56 f6 13812 call 0a 21ah ; e8 661213800 call 0a070h ; e8 40 12 13813 13801 lea ax, [si+00080h] ; 8d 84 80 00 13814 13802 mov cx, strict word 00040h ; b9 40 00 13815 13803 xor bx, bx ; 31 db 13816 13804 mov dx, word [bp-00ah] ; 8b 56 f6 13817 call 0a 21ah ; e8 571213805 call 0a070h ; e8 31 12 13818 13806 lea di, [si+00200h] ; 8d bc 00 02 13819 13807 mov cx, strict word 00060h ; b9 60 00 … … 13821 13809 mov ax, di ; 89 f8 13822 13810 mov dx, word [bp-00ah] ; 8b 56 f6 13823 call 0a 21ah ; e8 461213811 call 0a070h ; e8 20 12 13824 13812 mov bl, byte [bp-008h] ; 8a 5e f8 13825 13813 xor bh, bh ; 30 ff … … 13840 13828 mov ax, di ; 89 f8 13841 13829 mov dx, word [bp-00ah] ; 8b 56 f6 13842 call 08 9beh ; e8 bb f913830 call 0883ah ; e8 bb f9 13843 13831 mov es, [bp-00ah] ; 8e 46 f6 13844 13832 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13885 13873 mov ax, si ; 89 f0 13886 13874 mov dx, word [bp-00ah] ; 8b 56 f6 13887 call 08 9beh ; e8 4f f913875 call 0883ah ; e8 4f f9 13888 13876 mov es, [bp-00ah] ; 8e 46 f6 13889 13877 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13990 13978 pop bp ; 5d 13991 13979 retn ; c3 13992 @ahci_read_sectors: ; 0xf 916aLB 0xaa13980 @ahci_read_sectors: ; 0xf8fe6 LB 0xaa 13993 13981 push bp ; 55 13994 13982 mov bp, sp ; 89 e5 … … 14001 13989 sub di, strict byte 0000ch ; 83 ef 0c 14002 13990 cmp di, strict byte 00004h ; 83 ff 04 14003 jbe short 09 195h ; 76 1313991 jbe short 09011h ; 76 13 14004 13992 push di ; 57 14005 13993 mov ax, 00c62h ; b8 62 0c … … 14009 13997 mov ax, strict word 00007h ; b8 07 00 14010 13998 push ax ; 50 14011 call 01976h ; e8 e4 8713999 call 01976h ; e8 68 89 14012 14000 add sp, strict byte 00008h ; 83 c4 08 14013 14001 xor bx, bx ; 31 db … … 14023 14011 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14024 14012 xor ax, ax ; 31 c0 14025 call 08 f1ah ; e8 5a fd14013 call 08d96h ; e8 5a fd 14026 14014 mov bx, strict word 00025h ; bb 25 00 14027 14015 mov ax, si ; 89 f0 14028 14016 mov dx, word [bp+006h] ; 8b 56 06 14029 call 08 b35h ; e8 6a f914017 call 089b1h ; e8 6a f9 14030 14018 mov bx, ax ; 89 c3 14031 14019 mov es, [bp+006h] ; 8e 46 06 … … 14057 14045 pop bp ; 5d 14058 14046 retn 00004h ; c2 04 00 14059 @ahci_write_sectors: ; 0xf9 214LB 0x8814047 @ahci_write_sectors: ; 0xf9090 LB 0x88 14060 14048 push bp ; 55 14061 14049 mov bp, sp ; 89 e5 … … 14069 14057 sub bx, strict byte 0000ch ; 83 eb 0c 14070 14058 cmp bx, strict byte 00004h ; 83 fb 04 14071 jbe short 09 242h ; 76 1314059 jbe short 090beh ; 76 13 14072 14060 push bx ; 53 14073 14061 mov ax, 00c93h ; b8 93 0c … … 14077 14065 mov ax, strict word 00007h ; b8 07 00 14078 14066 push ax ; 50 14079 call 01976h ; e8 37 8714067 call 01976h ; e8 bb 88 14080 14068 add sp, strict byte 00008h ; 83 c4 08 14081 14069 xor di, di ; 31 ff … … 14091 14079 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14092 14080 xor ax, ax ; 31 c0 14093 call 08 f1ah ; e8 af fc14081 call 08d96h ; e8 af fc 14094 14082 mov bx, strict word 00035h ; bb 35 00 14095 14083 mov ax, si ; 89 f0 14096 14084 mov dx, cx ; 89 ca 14097 call 08 b35h ; e8 c0 f814085 call 089b1h ; e8 c0 f8 14098 14086 mov dx, ax ; 89 c2 14099 14087 mov es, cx ; 8e c1 … … 14110 14098 pop bp ; 5d 14111 14099 retn 00004h ; c2 04 00 14112 ahci_cmd_packet_: ; 0xf9 29cLB 0x18c14100 ahci_cmd_packet_: ; 0xf9118 LB 0x18c 14113 14101 push bp ; 55 14114 14102 mov bp, sp ; 89 e5 … … 14122 14110 mov dx, strict word 0000eh ; ba 0e 00 14123 14111 mov ax, strict word 00040h ; b8 40 00 14124 call 0166eh ; e8 b7 8314112 call 0166eh ; e8 3b 85 14125 14113 mov si, 00122h ; be 22 01 14126 14114 mov word [bp-008h], ax ; 89 46 f8 14127 14115 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 14128 jne short 09 2e6h ; 75 2314116 jne short 09162h ; 75 23 14129 14117 mov bx, 00da0h ; bb a0 0d 14130 14118 mov cx, ds ; 8c d9 14131 14119 mov ax, strict word 00004h ; b8 04 00 14132 call 01933h ; e8 65 8614120 call 01933h ; e8 e9 87 14133 14121 mov ax, 00ca6h ; b8 a6 0c 14134 14122 push ax ; 50 … … 14137 14125 mov ax, strict word 00004h ; b8 04 00 14138 14126 push ax ; 50 14139 call 01976h ; e8 99 8614127 call 01976h ; e8 1d 88 14140 14128 add sp, strict byte 00006h ; 83 c4 06 14141 14129 mov ax, strict word 00001h ; b8 01 00 14142 jmp near 09 41fh ; e9 39 0114130 jmp near 0929bh ; e9 39 01 14143 14131 test byte [bp+004h], 001h ; f6 46 04 01 14144 jne short 09 2e0h ; 75 f414132 jne short 0915ch ; 75 f4 14145 14133 mov bx, word [bp+006h] ; 8b 5e 06 14146 14134 mov di, word [bp+008h] ; 8b 7e 08 … … 14148 14136 sal bx, 1 ; d1 e3 14149 14137 rcl di, 1 ; d1 d7 14150 loop 09 2f5h ; e2 fa14138 loop 09171h ; e2 fa 14151 14139 mov es, [bp-008h] ; 8e 46 f8 14152 14140 mov word [es:si], bx ; 26 89 1c … … 14162 14150 mov dx, word [bp+008h] ; 8b 56 08 14163 14151 xor cx, cx ; 31 c9 14164 call 0a 190h ; e8 620e14152 call 0a020h ; e8 76 0e 14165 14153 mov word [es:si+00eh], ax ; 26 89 44 0e 14166 14154 xor di, di ; 31 ff … … 14180 14168 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14181 14169 xor ax, ax ; 31 c0 14182 call 08 f1ah ; e8 af fb14170 call 08d96h ; e8 af fb 14183 14171 mov al, byte [bp-006h] ; 8a 46 fa 14184 14172 xor ah, ah ; 30 e4 … … 14188 14176 mov ax, 000c0h ; b8 c0 00 14189 14177 mov dx, word [bp-00ah] ; 8b 56 f6 14190 call 0a 227h ; e8 a70e14178 call 0a080h ; e8 84 0e 14191 14179 mov es, [bp-008h] ; 8e 46 f8 14192 14180 mov word [es:si+018h], di ; 26 89 7c 18 … … 14195 14183 mov ax, word [es:si+01eh] ; 26 8b 44 1e 14196 14184 test ax, ax ; 85 c0 14197 je short 09 3beh ; 74 2714185 je short 0923ah ; 74 27 14198 14186 dec ax ; 48 14199 14187 mov es, [bp-00ah] ; 8e 46 f6 … … 14208 14196 mov ax, si ; 89 f0 14209 14197 mov dx, word [bp-008h] ; 8b 56 f8 14210 call 08 b35h ; e8 6c f714198 call 089b1h ; e8 6c f7 14211 14199 les bx, [bp-00eh] ; c4 5e f2 14212 14200 mov dx, word [es:bx+004h] ; 26 8b 57 04 … … 14235 14223 mov ax, word [es:bx+006h] ; 26 8b 47 06 14236 14224 or ax, word [es:bx+004h] ; 26 0b 47 04 14237 jne short 09 41dh ; 75 0514225 jne short 09299h ; 75 05 14238 14226 mov ax, strict word 00004h ; b8 04 00 14239 jmp short 09 41fh ; eb 0214227 jmp short 0929bh ; eb 02 14240 14228 xor ax, ax ; 31 c0 14241 14229 lea sp, [bp-004h] ; 8d 66 fc … … 14244 14232 pop bp ; 5d 14245 14233 retn 0000ch ; c2 0c 00 14246 ahci_port_detect_device_: ; 0xf9 428LB 0x4fe14234 ahci_port_detect_device_: ; 0xf92a4 LB 0x4fe 14247 14235 push bp ; 55 14248 14236 mov bp, sp ; 89 e5 … … 14260 14248 mov bx, word [bp-020h] ; 8b 5e e0 14261 14249 mov ax, si ; 89 f0 14262 call 08 f1ah ; e8 ce fa14250 call 08d96h ; e8 ce fa 14263 14251 mov dx, strict word 0000eh ; ba 0e 00 14264 14252 mov ax, strict word 00040h ; b8 40 00 14265 call 0166eh ; e8 19 8214253 call 0166eh ; e8 9d 83 14266 14254 mov word [bp-01ah], 00122h ; c7 46 e6 22 01 14267 14255 mov word [bp-00eh], ax ; 89 46 f2 … … 14335 14323 mov bx, strict word 0000fh ; bb 0f 00 14336 14324 xor cx, cx ; 31 c9 14337 call 08 9a2h ; e8 9f f414325 call 0881eh ; e8 9f f4 14338 14326 test ax, ax ; 85 c0 14339 jne short 09 50ah ; 75 0314340 jmp near 09 91eh ; e9 14 0414327 jne short 09386h ; 75 03 14328 jmp near 0979ah ; e9 14 04 14341 14329 mov al, byte [bp-008h] ; 8a 46 f8 14342 14330 xor ah, ah ; 30 e4 … … 14370 14358 xor cx, cx ; 31 c9 14371 14359 mov ax, di ; 89 f8 14372 call 08 9a2h ; e8 4d f414360 call 0881eh ; e8 4d f4 14373 14361 cmp ax, strict word 00001h ; 3d 01 00 14374 je short 09 50ah ; 74 b014362 je short 09386h ; 74 b0 14375 14363 xor ax, ax ; 31 c0 14376 14364 push ax ; 50 … … 14379 14367 mov ax, di ; 89 f8 14380 14368 mov dx, word [bp-01ch] ; 8b 56 e4 14381 call 08 9a2h ; e8 38 f414369 call 0881eh ; e8 38 f4 14382 14370 cmp ax, strict word 00003h ; 3d 03 00 14383 jne short 09 507h ; 75 9814371 jne short 09383h ; 75 98 14384 14372 mov ax, word [bp-016h] ; 8b 46 ea 14385 14373 add ax, 00130h ; 05 30 01 … … 14409 14397 mov byte [bp-00ch], al ; 88 46 f4 14410 14398 cmp AL, strict byte 004h ; 3c 04 14411 jc short 09 5b9h ; 72 0314412 jmp near 09 91eh ; e9 65 0314399 jc short 09435h ; 72 03 14400 jmp near 0979ah ; e9 65 03 14413 14401 mov ax, word [bp-016h] ; 8b 46 ea 14414 14402 add ax, 00118h ; 05 18 01 … … 14462 14450 add cl, 00ch ; 80 c1 0c 14463 14451 test dx, dx ; 85 d2 14464 jne short 09 684h ; 75 5514452 jne short 09500h ; 75 55 14465 14453 cmp bx, 00101h ; 81 fb 01 01 14466 jne short 09 684h ; 75 4f14454 jne short 09500h ; 75 4f 14467 14455 mov es, [bp-00eh] ; 8e 46 f2 14468 14456 mov bx, word [bp-01ah] ; 8b 5e e6 … … 14479 14467 mov ax, word [bp-01ah] ; 8b 46 e6 14480 14468 mov dx, es ; 8c c2 14481 call 08 b35h ; e8 c0 f414469 call 089b1h ; e8 c0 f4 14482 14470 mov byte [bp-00ah], cl ; 88 4e f6 14483 14471 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14484 je short 09 687h ; 74 0814472 je short 09503h ; 74 08 14485 14473 mov ax, strict word 00001h ; b8 01 00 14486 jmp short 09 689h ; eb 0514487 jmp near 09 859h ; e9 d2 0114474 jmp short 09505h ; eb 05 14475 jmp near 096d5h ; e9 d2 01 14488 14476 xor ax, ax ; 31 c0 14489 14477 mov cl, al ; 88 c1 … … 14501 14489 mov word [bp-012h], ax ; 89 46 ee 14502 14490 cmp di, 00fffh ; 81 ff ff 0f 14503 jne short 09 6d8h ; 75 1f14491 jne short 09554h ; 75 1f 14504 14492 cmp word [bp-014h], strict byte 0ffffh ; 83 7e ec ff 14505 jne short 09 6d8h ; 75 1914493 jne short 09554h ; 75 19 14506 14494 mov ax, word [bp-0015ch] ; 8b 86 a4 fe 14507 14495 mov word [bp-012h], ax ; 89 46 ee … … 14543 14531 mov al, byte [bp-00ch] ; 8a 46 f4 14544 14532 cmp AL, strict byte 001h ; 3c 01 14545 jc short 09 755h ; 72 0c14546 jbe short 09 75dh ; 76 1214533 jc short 095d1h ; 72 0c 14534 jbe short 095d9h ; 76 12 14547 14535 cmp AL, strict byte 003h ; 3c 03 14548 je short 09 765h ; 74 1614536 je short 095e1h ; 74 16 14549 14537 cmp AL, strict byte 002h ; 3c 02 14550 je short 09 761h ; 74 0e14551 jmp short 09 7a8h ; eb 5314538 je short 095ddh ; 74 0e 14539 jmp short 09624h ; eb 53 14552 14540 test al, al ; 84 c0 14553 jne short 09 7a8h ; 75 4f14541 jne short 09624h ; 75 4f 14554 14542 mov DL, strict byte 040h ; b2 40 14555 jmp short 09 767h ; eb 0a14543 jmp short 095e3h ; eb 0a 14556 14544 mov DL, strict byte 048h ; b2 48 14557 jmp short 09 767h ; eb 0614545 jmp short 095e3h ; eb 06 14558 14546 mov DL, strict byte 050h ; b2 50 14559 jmp short 09 767h ; eb 0214547 jmp short 095e3h ; eb 02 14560 14548 mov DL, strict byte 058h ; b2 58 14561 14549 mov bl, dl ; 88 d3 … … 14563 14551 xor bh, bh ; 30 ff 14564 14552 mov ax, bx ; 89 d8 14565 call 016aeh ; e8 3b 7f14553 call 016aeh ; e8 bf 80 14566 14554 test al, al ; 84 c0 14567 je short 09 7a8h ; 74 3114555 je short 09624h ; 74 31 14568 14556 mov al, dl ; 88 d0 14569 14557 db 0feh, 0c0h 14570 14558 ; inc al ; fe c0 14571 14559 xor ah, ah ; 30 e4 14572 call 016aeh ; e8 2e 7f14560 call 016aeh ; e8 b2 80 14573 14561 mov ch, al ; 88 c5 14574 14562 mov al, dl ; 88 d0 14575 14563 xor ah, ah ; 30 e4 14576 call 016aeh ; e8 25 7f14564 call 016aeh ; e8 a9 80 14577 14565 mov ah, ch ; 88 ec 14578 14566 mov word [bp-028h], ax ; 89 46 d8 … … 14580 14568 add AL, strict byte 002h ; 04 02 14581 14569 xor ah, ah ; 30 e4 14582 call 016aeh ; e8 17 7f14570 call 016aeh ; e8 9b 80 14583 14571 xor ah, ah ; 30 e4 14584 14572 mov word [bp-02ah], ax ; 89 46 d6 14585 14573 mov ax, bx ; 89 d8 14586 call 016aeh ; e8 0d 7f14574 call 016aeh ; e8 91 80 14587 14575 xor ah, ah ; 30 e4 14588 14576 mov word [bp-026h], ax ; 89 46 da 14589 jmp short 09 7bah ; eb 1214577 jmp short 09636h ; eb 12 14590 14578 push word [bp-012h] ; ff 76 ee 14591 14579 push word [bp-01eh] ; ff 76 e2 … … 14594 14582 mov dx, ss ; 8c d2 14595 14583 lea ax, [bp-02ah] ; 8d 46 d6 14596 call 05b09h ; e8 4f c314584 call 05b09h ; e8 d3 c4 14597 14585 mov bx, 00da0h ; bb a0 0d 14598 14586 mov cx, ds ; 8c d9 14599 14587 mov ax, strict word 00004h ; b8 04 00 14600 call 01933h ; e8 6e 8114588 call 01933h ; e8 f2 82 14601 14589 push word [bp-012h] ; ff 76 ee 14602 14590 push word [bp-01eh] ; ff 76 e2 … … 14621 14609 mov ax, strict word 00004h ; b8 04 00 14622 14610 push ax ; 50 14623 call 01976h ; e8 7d 8114611 call 01976h ; e8 01 83 14624 14612 add sp, strict byte 0001ch ; 83 c4 1c 14625 14613 mov al, byte [bp-00ah] ; 8a 46 f6 … … 14653 14641 mov dx, strict word 00075h ; ba 75 00 14654 14642 mov ax, strict word 00040h ; b8 40 00 14655 call 01652h ; e8 0b 7e14643 call 01652h ; e8 8f 7f 14656 14644 mov bl, al ; 88 c3 14657 14645 db 0feh, 0c3h … … 14660 14648 mov dx, strict word 00075h ; ba 75 00 14661 14649 mov ax, strict word 00040h ; b8 40 00 14662 call 01660h ; e8 0a 7e14663 jmp near 09 90dh ; e9 b4 0014650 call 01660h ; e8 8e 7f 14651 jmp near 09789h ; e9 b4 00 14664 14652 cmp dx, 0eb14h ; 81 fa 14 eb 14665 jne short 09 8b4h ; 75 5514653 jne short 09730h ; 75 55 14666 14654 cmp bx, 00101h ; 81 fb 01 01 14667 jne short 09 8b4h ; 75 4f14655 jne short 09730h ; 75 4f 14668 14656 mov es, [bp-00eh] ; 8e 46 f2 14669 14657 mov bx, word [bp-01ah] ; 8b 5e e6 … … 14680 14668 mov ax, word [bp-01ah] ; 8b 46 e6 14681 14669 mov dx, es ; 8c c2 14682 call 08 b35h ; e8 90 f214670 call 089b1h ; e8 90 f2 14683 14671 mov byte [bp-00ah], cl ; 88 4e f6 14684 14672 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14685 je short 09 8b6h ; 74 0714673 je short 09732h ; 74 07 14686 14674 mov cx, strict word 00001h ; b9 01 00 14687 jmp short 09 8b8h ; eb 0414688 jmp short 09 90dh ; eb 5714675 jmp short 09734h ; eb 04 14676 jmp short 09789h ; eb 57 14689 14677 xor cx, cx ; 31 c9 14690 14678 mov bl, byte [bp-00ch] ; 8a 5e f4 … … 14726 14714 pop bp ; 5d 14727 14715 retn ; c3 14728 ahci_mem_alloc_: ; 0xf9 926LB 0x4314716 ahci_mem_alloc_: ; 0xf97a2 LB 0x43 14729 14717 push bp ; 55 14730 14718 mov bp, sp ; 89 e5 … … 14736 14724 mov dx, 00413h ; ba 13 04 14737 14725 xor ax, ax ; 31 c0 14738 call 0166eh ; e8 38 7d14726 call 0166eh ; e8 bc 7e 14739 14727 test ax, ax ; 85 c0 14740 je short 09 95fh ; 74 2514728 je short 097dbh ; 74 25 14741 14729 dec ax ; 48 14742 14730 mov bx, ax ; 89 c3 … … 14745 14733 sal ax, 1 ; d1 e0 14746 14734 rcl dx, 1 ; d1 d2 14747 loop 09 942h ; e2 fa14735 loop 097beh ; e2 fa 14748 14736 mov si, ax ; 89 c6 14749 14737 mov di, dx ; 89 d7 … … 14751 14739 shr di, 1 ; d1 ef 14752 14740 rcr si, 1 ; d1 de 14753 loop 09 94fh ; e2 fa14741 loop 097cbh ; e2 fa 14754 14742 mov dx, 00413h ; ba 13 04 14755 14743 xor ax, ax ; 31 c0 14756 call 0167ch ; e8 1f 7d14744 call 0167ch ; e8 a3 7e 14757 14745 mov ax, si ; 89 f0 14758 14746 lea sp, [bp-00ah] ; 8d 66 f6 … … 14764 14752 pop bp ; 5d 14765 14753 retn ; c3 14766 ahci_hba_init_: ; 0xf9 969LB 0x16e14754 ahci_hba_init_: ; 0xf97e5 LB 0x16e 14767 14755 push bp ; 55 14768 14756 mov bp, sp ; 89 e5 … … 14776 14764 mov dx, strict word 0000eh ; ba 0e 00 14777 14765 mov ax, strict word 00040h ; b8 40 00 14778 call 0166eh ; e8 ef 7c14766 call 0166eh ; e8 73 7e 14779 14767 mov bx, 00122h ; bb 22 01 14780 14768 mov di, ax ; 89 c7 … … 14793 14781 shr eax, 010h ; 66 c1 e8 10 14794 14782 xchg dx, ax ; 92 14795 call 09 926h ; e8 83 ff14783 call 097a2h ; e8 83 ff 14796 14784 mov word [bp-010h], ax ; 89 46 f0 14797 14785 test ax, ax ; 85 c0 14798 jne short 09 9adh ; 75 0314799 jmp near 09 ab6h ; e9 09 0114786 jne short 09829h ; 75 03 14787 jmp near 09932h ; e9 09 01 14800 14788 mov ax, word [bp-010h] ; 8b 46 f0 14801 14789 mov es, di ; 8e c7 … … 14847 14835 xchg dx, ax ; 92 14848 14836 test AL, strict byte 001h ; a8 01 14849 jne short 09 a07h ; 75 de14837 jne short 09883h ; 75 de 14850 14838 xor ax, ax ; 31 c0 14851 14839 xor cx, cx ; 31 c9 … … 14866 14854 mov bx, strict word 0001fh ; bb 1f 00 14867 14855 xor cx, cx ; 31 c9 14868 call 08 9a2h ; e8 54 ef14856 call 0881eh ; e8 54 ef 14869 14857 db 0feh, 0c0h 14870 14858 ; inc al ; fe c0 14871 14859 mov byte [bp-00eh], al ; 88 46 f2 14872 14860 mov byte [bp-00ch], 000h ; c6 46 f4 00 14873 jmp short 09 a7ah ; eb 2114861 jmp short 098f6h ; eb 21 14874 14862 xor al, al ; 30 c0 14875 14863 test al, al ; 84 c0 14876 je short 09 a71h ; 74 1214864 je short 098edh ; 74 12 14877 14865 mov bl, byte [bp-00ch] ; 8a 5e f4 14878 14866 xor bh, bh ; 30 ff 14879 14867 xor ax, ax ; 31 c0 14880 14868 mov dx, word [bp-010h] ; 8b 56 f0 14881 call 09 428h ; e8 bc f914869 call 092a4h ; e8 bc f9 14882 14870 dec byte [bp-00eh] ; fe 4e f2 14883 je short 09 ab4h ; 74 4314871 je short 09930h ; 74 43 14884 14872 inc byte [bp-00ch] ; fe 46 f4 14885 14873 cmp byte [bp-00ch], 020h ; 80 7e f4 20 14886 jnc short 09 ab4h ; 73 3a14874 jnc short 09930h ; 73 3a 14887 14875 mov cl, byte [bp-00ch] ; 8a 4e f4 14888 14876 xor ch, ch ; 30 ed 14889 14877 mov bx, strict word 00001h ; bb 01 00 14890 14878 xor di, di ; 31 ff 14891 jcxz 09 a8ch ; e3 0614879 jcxz 09908h ; e3 06 14892 14880 sal bx, 1 ; d1 e3 14893 14881 rcl di, 1 ; d1 d7 14894 loop 09 a86h ; e2 fa14882 loop 09902h ; e2 fa 14895 14883 mov ax, strict word 0000ch ; b8 0c 00 14896 14884 xor cx, cx ; 31 c9 … … 14908 14896 xchg dx, ax ; 92 14909 14897 test dx, di ; 85 fa 14910 jne short 09 ab0h ; 75 0414898 jne short 0992ch ; 75 04 14911 14899 test ax, bx ; 85 d8 14912 je short 09 a59h ; 74 a914900 je short 098d5h ; 74 a9 14913 14901 mov AL, strict byte 001h ; b0 01 14914 jmp short 09 a5bh ; eb a714902 jmp short 098d7h ; eb a7 14915 14903 xor ax, ax ; 31 c0 14916 14904 lea sp, [bp-00ah] ; 8d 66 f6 … … 14922 14910 pop bp ; 5d 14923 14911 retn ; c3 14924 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 bch, 09bh, 09ah, 09bh, 0a0h, 09bh, 0a6h, 09bh, 0ach14925 db 09 bh, 0b2h, 09bh, 0b8h, 09bh, 0bch, 09bh14926 _ahci_init: ; 0xf9 ad7LB 0x11a14912 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 038h, 09ah, 016h, 09ah, 01ch, 09ah, 022h, 09ah, 028h 14913 db 09ah, 02eh, 09ah, 034h, 09ah, 038h, 09ah 14914 _ahci_init: ; 0xf9953 LB 0x11a 14927 14915 push bp ; 55 14928 14916 mov bp, sp ; 89 e5 … … 14931 14919 mov ax, 00601h ; b8 01 06 14932 14920 mov dx, strict word 00001h ; ba 01 00 14933 call 0 a010h ; e8 29 0514921 call 09e8ch ; e8 29 05 14934 14922 mov dx, ax ; 89 c2 14935 14923 cmp ax, strict word 0ffffh ; 3d ff ff 14936 je short 09 b37h ; 74 4914924 je short 099b3h ; 74 49 14937 14925 mov al, ah ; 88 e0 14938 14926 mov byte [bp-006h], ah ; 88 66 fa … … 14941 14929 xor ah, ah ; 30 e4 14942 14930 mov bx, strict word 00034h ; bb 34 00 14943 call 0 a018h ; e8 18 0514931 call 09e94h ; e8 18 05 14944 14932 mov cl, al ; 88 c1 14945 14933 test cl, cl ; 84 c9 14946 je short 09 b3ah ; 74 3414934 je short 099b6h ; 74 34 14947 14935 mov bl, cl ; 88 cb 14948 14936 xor bh, bh ; 30 ff … … 14955 14943 mov dx, word [bp-00ch] ; 8b 56 f4 14956 14944 mov ax, word [bp-010h] ; 8b 46 f0 14957 call 0 a018h ; e8 f3 0414945 call 09e94h ; e8 f3 04 14958 14946 cmp AL, strict byte 012h ; 3c 12 14959 je short 09 b3ah ; 74 1114947 je short 099b6h ; 74 11 14960 14948 mov bl, cl ; 88 cb 14961 14949 db 0feh, 0c3h … … 14964 14952 mov dx, word [bp-00ch] ; 8b 56 f4 14965 14953 mov ax, word [bp-010h] ; 8b 46 f0 14966 jmp short 09 afdh ; eb c614967 jmp near 09 bebh ; e9 b1 0014954 jmp short 09979h ; eb c6 14955 jmp near 09a67h ; e9 b1 00 14968 14956 test cl, cl ; 84 c9 14969 je short 09 b37h ; 74 f914957 je short 099b3h ; 74 f9 14970 14958 add cl, 002h ; 80 c1 02 14971 14959 mov bl, cl ; 88 cb … … 14979 14967 mov dx, word [bp-00eh] ; 8b 56 f2 14980 14968 mov ax, word [bp-00ah] ; 8b 46 f6 14981 call 0 a018h ; e8 b8 0414969 call 09e94h ; e8 b8 04 14982 14970 cmp AL, strict byte 010h ; 3c 10 14983 jne short 09 b37h ; 75 d314971 jne short 099b3h ; 75 d3 14984 14972 mov byte [bp-004h], 000h ; c6 46 fc 00 14985 14973 mov bl, cl ; 88 cb … … 14988 14976 mov dx, word [bp-00eh] ; 8b 56 f2 14989 14977 mov ax, word [bp-00ah] ; 8b 46 f6 14990 call 0 a03fh ; e8 c7 0414978 call 09ebbh ; e8 c7 04 14991 14979 mov dx, ax ; 89 c2 14992 14980 and ax, strict word 0000fh ; 25 0f 00 14993 14981 sub ax, strict word 00004h ; 2d 04 00 14994 14982 cmp ax, strict word 0000bh ; 3d 0b 00 14995 jnbe short 09 bbch ; 77 3714983 jnbe short 09a38h ; 77 37 14996 14984 push CS ; 0e 14997 14985 pop ES ; 07 14998 14986 mov cx, strict word 00008h ; b9 08 00 14999 mov di, 09 ac0h ; bf c0 9a14987 mov di, 0993ch ; bf 3c 99 15000 14988 repne scasb ; f2 ae 15001 14989 sal cx, 1 ; d1 e1 15002 14990 mov di, cx ; 89 cf 15003 mov ax, word [cs:di-06 539h] ; 2e 8b 85 c7 9a14991 mov ax, word [cs:di-066bdh] ; 2e 8b 85 43 99 15004 14992 jmp ax ; ff e0 15005 14993 mov byte [bp-004h], 010h ; c6 46 fc 10 15006 jmp short 09 bbch ; eb 1c14994 jmp short 09a38h ; eb 1c 15007 14995 mov byte [bp-004h], 014h ; c6 46 fc 14 15008 jmp short 09 bbch ; eb 1614996 jmp short 09a38h ; eb 16 15009 14997 mov byte [bp-004h], 018h ; c6 46 fc 18 15010 jmp short 09 bbch ; eb 1014998 jmp short 09a38h ; eb 10 15011 14999 mov byte [bp-004h], 01ch ; c6 46 fc 1c 15012 jmp short 09 bbch ; eb 0a15000 jmp short 09a38h ; eb 0a 15013 15001 mov byte [bp-004h], 020h ; c6 46 fc 20 15014 jmp short 09 bbch ; eb 0415002 jmp short 09a38h ; eb 04 15015 15003 mov byte [bp-004h], 024h ; c6 46 fc 24 15016 15004 mov CL, strict byte 004h ; b1 04 … … 15022 15010 mov al, byte [bp-004h] ; 8a 46 fc 15023 15011 test al, al ; 84 c0 15024 je short 09 bebh ; 74 1c15012 je short 09a67h ; 74 1c 15025 15013 mov bl, al ; 88 c3 15026 15014 xor bh, bh ; 30 ff … … 15029 15017 mov al, byte [bp-006h] ; 8a 46 fa 15030 15018 xor ah, ah ; 30 e4 15031 call 0 a064h ; e8 84 0415019 call 09ee0h ; e8 84 04 15032 15020 test AL, strict byte 001h ; a8 01 15033 je short 09 bebh ; 74 0715021 je short 09a67h ; 74 07 15034 15022 and AL, strict byte 0f0h ; 24 f0 15035 15023 add ax, cx ; 01 c8 15036 call 09 969h ; e8 7e fd15024 call 097e5h ; e8 7e fd 15037 15025 lea sp, [bp-002h] ; 8d 66 fe 15038 15026 pop di ; 5f 15039 15027 pop bp ; 5d 15040 15028 retn ; c3 15041 apm_out_str_: ; 0xf9 bf1LB 0x3915029 apm_out_str_: ; 0xf9a6d LB 0x39 15042 15030 push bp ; 55 15043 15031 mov bp, sp ; 89 e5 … … 15045 15033 mov bx, ax ; 89 c3 15046 15034 cmp byte [bx], 000h ; 80 3f 00 15047 je short 09 c06h ; 74 0a15035 je short 09a82h ; 74 0a 15048 15036 mov al, byte [bx] ; 8a 07 15049 15037 out DX, AL ; ee … … 15052 15040 db 00ah, 0c0h 15053 15041 ; or al, al ; 0a c0 15054 jne short 09 bfeh ; 75 f815042 jne short 09a7ah ; 75 f8 15055 15043 lea sp, [bp-002h] ; 8d 66 fe 15056 15044 pop bx ; 5b 15057 15045 pop bp ; 5d 15058 15046 retn ; c3 15059 d ec bx ; 4b15060 pushfw ; 9c15061 db 0d6h15062 pushfw ; 9c15063 p op bp ; 5d15064 pushfw ; 9c15065 js short 09bb0h ; 78 9c15066 db 0d6h15067 pushfw ; 9c15068 mov word [0d69ch], ax ; a3 9c d615069 pushfw ; 9c15070 fcomp qword [si-06358h] ; dc 9c a8 9c15071 test AL, strict byte 09ch ; a8 9c15072 test AL, strict byte 09ch ; a8 9c15073 sbb bx, word [di-06358h] ; 1b 9d a8 9c15074 test AL, strict byte 09ch ; a8 9c15075 adc AL, strict byte 09dh ; 14 9d15076 _apm_function: ; 0xf9 c2aLB 0xf615047 db 0c7h, 09ah, 052h, 09bh, 0d9h, 09ah 15048 ; mov word [bp+si-064aeh], 09ad9h ; c7 9a 52 9b d9 9a 15049 hlt ; f4 15050 call far 09b1fh:09b52h ; 9a 52 9b 1f 9b 15051 push dx ; 52 15052 wait ; 9b 15053 pop ax ; 58 15054 wait ; 9b 15055 and AL, strict byte 09bh ; 24 9b 15056 and AL, strict byte 09bh ; 24 9b 15057 and AL, strict byte 09bh ; 24 9b 15058 xchg di, ax ; 97 15059 wait ; 9b 15060 and AL, strict byte 09bh ; 24 9b 15061 and AL, strict byte 09bh ; 24 9b 15062 nop ; 90 15063 wait ; 9b 15064 _apm_function: ; 0xf9aa6 LB 0xf6 15077 15065 push bp ; 55 15078 15066 mov bp, sp ; 89 e5 … … 15082 15070 xor ah, ah ; 30 e4 15083 15071 cmp ax, strict word 0000eh ; 3d 0e 00 15084 jnbe short 09 ca8h ; 77 6c15072 jnbe short 09b24h ; 77 6c 15085 15073 mov bx, ax ; 89 c3 15086 15074 sal bx, 1 ; d1 e3 15087 15075 mov dx, word [bp+018h] ; 8b 56 18 15088 15076 or dl, 001h ; 80 ca 01 15089 jmp word [cs:bx-06 3f4h] ; 2e ff a7 0c 9c15077 jmp word [cs:bx-06578h] ; 2e ff a7 88 9a 15090 15078 mov word [bp+012h], 00102h ; c7 46 12 02 01 15091 15079 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 15092 15080 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 15093 jmp near 09 cd6h ; e9 79 0015081 jmp near 09b52h ; e9 79 00 15094 15082 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 15095 mov word [bp+00ch], 0a 294h ; c7 46 0c 94 a215083 mov word [bp+00ch], 0a0f4h ; c7 46 0c f4 a0 15096 15084 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 15097 15085 mov ax, strict word 0fff0h ; b8 f0 ff 15098 15086 mov word [bp+006h], ax ; 89 46 06 15099 15087 mov word [bp+004h], ax ; 89 46 04 15100 jmp near 09 cd6h ; e9 5e 0015088 jmp near 09b52h ; e9 5e 00 15101 15089 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 15102 15090 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 15111 15099 mov si, ax ; 89 c6 15112 15100 sal esi, 010h ; 66 c1 e6 10 15113 jmp near 09 cd6h ; e9 33 0015101 jmp near 09b52h ; e9 33 00 15114 15102 sti ; fb 15115 15103 hlt ; f4 15116 jmp near 09 cd6h ; e9 2e 0015104 jmp near 09b52h ; e9 2e 00 15117 15105 mov bx, 00da0h ; bb a0 0d 15118 15106 mov cx, ds ; 8c d9 15119 15107 mov ax, strict word 00004h ; b8 04 00 15120 call 01933h ; e8 80 7c15108 call 01933h ; e8 04 7e 15121 15109 push word [bp+00ch] ; ff 76 0c 15122 15110 push word [bp+012h] ; ff 76 12 … … 15125 15113 mov ax, strict word 00004h ; b8 04 00 15126 15114 push ax ; 50 15127 call 01976h ; e8 b2 7c15115 call 01976h ; e8 36 7e 15128 15116 add sp, strict byte 00008h ; 83 c4 08 15129 15117 mov ax, word [bp+012h] ; 8b 46 12 … … 15137 15125 retn ; c3 15138 15126 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 15139 je short 09 d01h ; 74 1f15127 je short 09b7dh ; 74 1f 15140 15128 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 15141 je short 09 cf9h ; 74 1115129 je short 09b75h ; 74 11 15142 15130 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 15143 jne short 09 d09h ; 75 1b15131 jne short 09b85h ; 75 1b 15144 15132 mov dx, 08900h ; ba 00 89 15145 15133 mov ax, 00d10h ; b8 10 0d 15146 call 09 bf1h ; e8 fa fe15147 jmp short 09 cd6h ; eb dd15134 call 09a6dh ; e8 fa fe 15135 jmp short 09b52h ; eb dd 15148 15136 mov dx, 08900h ; ba 00 89 15149 15137 mov ax, 00d18h ; b8 18 0d 15150 jmp short 09 cf4h ; eb f315138 jmp short 09b70h ; eb f3 15151 15139 mov dx, 08900h ; ba 00 89 15152 15140 mov ax, 00d20h ; b8 20 0d 15153 jmp short 09 cf4h ; eb eb15141 jmp short 09b70h ; eb eb 15154 15142 or ah, 00ah ; 80 cc 0a 15155 15143 mov word [bp+012h], ax ; 89 46 12 15156 15144 mov word [bp+018h], dx ; 89 56 18 15157 jmp short 09 cd6h ; eb c215145 jmp short 09b52h ; eb c2 15158 15146 mov word [bp+012h], 00102h ; c7 46 12 02 01 15159 jmp short 09 cd6h ; eb bb15147 jmp short 09b52h ; eb bb 15160 15148 or ah, 080h ; 80 cc 80 15161 jmp short 09 d0ch ; eb ec15162 pci16_select_reg_: ; 0xf9 d20LB 0x2415149 jmp short 09b88h ; eb ec 15150 pci16_select_reg_: ; 0xf9b9c LB 0x24 15163 15151 push bp ; 55 15164 15152 mov bp, sp ; 89 e5 … … 15177 15165 pop bp ; 5d 15178 15166 retn ; c3 15179 pci16_find_device_: ; 0xf9 d44LB 0xf715167 pci16_find_device_: ; 0xf9bc0 LB 0xf7 15180 15168 push bp ; 55 15181 15169 mov bp, sp ; 89 e5 … … 15191 15179 mov byte [bp-006h], 000h ; c6 46 fa 00 15192 15180 test bl, 007h ; f6 c3 07 15193 jne short 09 d8ch ; 75 2d15181 jne short 09c08h ; 75 2d 15194 15182 mov dx, strict word 0000eh ; ba 0e 00 15195 15183 mov ax, bx ; 89 d8 15196 call 09 d20h ; e8 b9 ff15184 call 09b9ch ; e8 b9 ff 15197 15185 mov dx, 00cfeh ; ba fe 0c 15198 15186 in AL, DX ; ec … … 15201 15189 mov byte [bp-008h], al ; 88 46 f8 15202 15190 cmp AL, strict byte 0ffh ; 3c ff 15203 jne short 09 d7ah ; 75 0615191 jne short 09bf6h ; 75 06 15204 15192 add bx, strict byte 00008h ; 83 c3 08 15205 jmp near 09 e0ch ; e9 92 0015193 jmp near 09c88h ; e9 92 00 15206 15194 test byte [bp-008h], 080h ; f6 46 f8 80 15207 je short 09 d87h ; 74 0715195 je short 09c03h ; 74 07 15208 15196 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 15209 jmp short 09 d8ch ; eb 0515197 jmp short 09c08h ; eb 05 15210 15198 mov word [bp-00eh], strict word 00008h ; c7 46 f2 08 00 15211 15199 mov al, byte [bp-008h] ; 8a 46 f8 15212 15200 and AL, strict byte 007h ; 24 07 15213 15201 cmp AL, strict byte 001h ; 3c 01 15214 jne short 09 db3h ; 75 1e15202 jne short 09c2fh ; 75 1e 15215 15203 mov al, bh ; 88 f8 15216 15204 xor ah, ah ; 30 e4 15217 15205 test ax, ax ; 85 c0 15218 jne short 09 db3h ; 75 1615206 jne short 09c2fh ; 75 16 15219 15207 mov dx, strict word 0001ah ; ba 1a 00 15220 15208 mov ax, bx ; 89 d8 15221 call 09 d20h ; e8 7b ff15209 call 09b9ch ; e8 7b ff 15222 15210 mov dx, 00cfeh ; ba fe 0c 15223 15211 in AL, DX ; ec … … 15225 15213 ; sub ah, ah ; 2a e4 15226 15214 cmp al, byte [bp-006h] ; 3a 46 fa 15227 jbe short 09 db3h ; 76 0315215 jbe short 09c2fh ; 76 03 15228 15216 mov byte [bp-006h], al ; 88 46 fa 15229 15217 test di, di ; 85 ff 15230 je short 09 dbch ; 74 0515218 je short 09c38h ; 74 05 15231 15219 mov dx, strict word 00008h ; ba 08 00 15232 jmp short 09 dbeh ; eb 0215220 jmp short 09c3ah ; eb 02 15233 15221 xor dx, dx ; 31 d2 15234 15222 mov ax, bx ; 89 d8 15235 call 09 d20h ; e8 5d ff15223 call 09b9ch ; e8 5d ff 15236 15224 mov dx, 00cfch ; ba fc 0c 15237 15225 in eax, DX ; 66 ed … … 15244 15232 mov word [bp-00ch], strict word 00000h ; c7 46 f4 00 00 15245 15233 test di, di ; 85 ff 15246 je short 09 dedh ; 74 0f15234 je short 09c69h ; 74 0f 15247 15235 mov cx, strict word 00008h ; b9 08 00 15248 15236 shr dx, 1 ; d1 ea 15249 15237 rcr ax, 1 ; d1 d8 15250 loop 09 de1h ; e2 fa15238 loop 09c5dh ; e2 fa 15251 15239 mov word [bp-00ah], ax ; 89 46 f6 15252 15240 mov word [bp-010h], dx ; 89 56 f0 15253 15241 mov ax, word [bp-010h] ; 8b 46 f0 15254 15242 cmp ax, word [bp-014h] ; 3b 46 ec 15255 jne short 09 dfdh ; 75 0815243 jne short 09c79h ; 75 08 15256 15244 mov ax, word [bp-00ah] ; 8b 46 f6 15257 15245 cmp ax, word [bp-012h] ; 3b 46 ee 15258 je short 09 e03h ; 74 0615246 je short 09c7fh ; 74 06 15259 15247 cmp word [bp-00ch], strict byte 00000h ; 83 7e f4 00 15260 je short 09 e09h ; 74 0615248 je short 09c85h ; 74 06 15261 15249 dec si ; 4e 15262 15250 cmp si, strict byte 0ffffh ; 83 fe ff 15263 je short 09 e1ch ; 74 1315251 je short 09c98h ; 74 13 15264 15252 add bx, word [bp-00eh] ; 03 5e f2 15265 15253 mov al, bh ; 88 f8 … … 15268 15256 xor dh, dh ; 30 f6 15269 15257 cmp ax, dx ; 39 d0 15270 jnbe short 09 e1ch ; 77 0315271 jmp near 09 d5ah ; e9 3e ff15258 jnbe short 09c98h ; 77 03 15259 jmp near 09bd6h ; e9 3e ff 15272 15260 cmp si, strict byte 0ffffh ; 83 fe ff 15273 jne short 09 e25h ; 75 0415261 jne short 09ca1h ; 75 04 15274 15262 mov ax, bx ; 89 d8 15275 jmp short 09 e28h ; eb 0315263 jmp short 09ca4h ; eb 03 15276 15264 mov ax, strict word 0ffffh ; b8 ff ff 15277 15265 lea sp, [bp-004h] ; 8d 66 fc … … 15280 15268 pop bp ; 5d 15281 15269 retn ; c3 15282 sbb AL, strict byte 09fh ; 1c 9f15283 xor ax, 0479fh ; 35 9f 4715284 lahf ; 9f15285 pop bx ; 5b15286 lahf ; 9f15287 insw ; 6d15288 lahf ; 9f15289 db 080h15290 lahf ; 9f15291 _pci16_function: ; 0xf9 e3bLB 0x1d515270 cbw ; 98 15271 popfw ; 9d 15272 mov CL, strict byte 09dh ; b1 9d 15273 retn ; c3 15274 popfw ; 9d 15275 xlatb ; d7 15276 popfw ; 9d 15277 jmp near 09953h ; e9 9d fc 15278 popfw ; 9d 15279 _pci16_function: ; 0xf9cb7 LB 0x1d5 15292 15280 push bp ; 55 15293 15281 mov bp, sp ; 89 e5 … … 15303 15291 xor ah, ah ; 30 e4 15304 15292 cmp bx, strict byte 00003h ; 83 fb 03 15305 jc short 09 e6dh ; 72 1315306 jbe short 09 ec0h ; 76 6415293 jc short 09ce9h ; 72 13 15294 jbe short 09d3ch ; 76 64 15307 15295 cmp bx, strict byte 0000eh ; 83 fb 0e 15308 je short 09 ec8h ; 74 6715296 je short 09d44h ; 74 67 15309 15297 cmp bx, strict byte 00008h ; 83 fb 08 15310 jc short 09 e77h ; 72 1115298 jc short 09cf3h ; 72 11 15311 15299 cmp bx, strict byte 0000dh ; 83 fb 0d 15312 jbe short 09 ecbh ; 76 6015313 jmp short 09 e77h ; eb 0a15300 jbe short 09d47h ; 76 60 15301 jmp short 09cf3h ; eb 0a 15314 15302 cmp bx, strict byte 00002h ; 83 fb 02 15315 je short 09 e96h ; 74 2415303 je short 09d12h ; 74 24 15316 15304 cmp bx, strict byte 00001h ; 83 fb 01 15317 je short 09 e7ah ; 74 0315318 jmp near 09 fd9h ; e9 5f 0115305 je short 09cf6h ; 74 03 15306 jmp near 09e55h ; e9 5f 01 15319 15307 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 15320 15308 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 15322 15310 mov word [bp+018h], 04350h ; c7 46 18 50 43 15323 15311 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 15324 jmp near 0 a009h ; e9 73 0115312 jmp near 09e85h ; e9 73 01 15325 15313 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 15326 jne short 09 ea2h ; 75 0615314 jne short 09d1eh ; 75 06 15327 15315 or ah, 083h ; 80 cc 83 15328 jmp near 0 a002h ; e9 60 0115316 jmp near 09e7eh ; e9 60 01 15329 15317 mov bx, word [bp+008h] ; 8b 5e 08 15330 15318 mov dx, word [bp+01ch] ; 8b 56 1c 15331 15319 mov ax, word [bp+018h] ; 8b 46 18 15332 15320 xor cx, cx ; 31 c9 15333 call 09 d44h ; e8 94 fe15321 call 09bc0h ; e8 94 fe 15334 15322 cmp ax, strict word 0ffffh ; 3d ff ff 15335 jne short 09 ec2h ; 75 0d15323 jne short 09d3eh ; 75 0d 15336 15324 mov ax, word [bp+020h] ; 8b 46 20 15337 15325 xor ah, ah ; 30 e4 15338 15326 or ah, 086h ; 80 cc 86 15339 jmp near 0 a002h ; e9 42 0115340 jmp short 09 ecdh ; eb 0b15327 jmp near 09e7eh ; e9 42 01 15328 jmp short 09d49h ; eb 0b 15341 15329 mov word [bp+014h], ax ; 89 46 14 15342 jmp near 0 a009h ; e9 41 0115343 jmp near 09 f94h ; e9 c9 0015344 jmp short 09 ef2h ; eb 2515330 jmp near 09e85h ; e9 41 01 15331 jmp near 09e10h ; e9 c9 00 15332 jmp short 09d6eh ; eb 25 15345 15333 mov bx, word [bp+008h] ; 8b 5e 08 15346 15334 mov ax, word [bp+01ch] ; 8b 46 1c 15347 15335 mov dx, word [bp+01eh] ; 8b 56 1e 15348 15336 mov cx, strict word 00001h ; b9 01 00 15349 call 09 d44h ; e8 68 fe15337 call 09bc0h ; e8 68 fe 15350 15338 cmp ax, strict word 0ffffh ; 3d ff ff 15351 jne short 09 eech ; 75 0b15339 jne short 09d68h ; 75 0b 15352 15340 mov ax, word [bp+020h] ; 8b 46 20 15353 15341 xor ah, ah ; 30 e4 15354 15342 or ah, 086h ; 80 cc 86 15355 jmp near 0 a002h ; e9 16 0115343 jmp near 09e7eh ; e9 16 01 15356 15344 mov word [bp+014h], ax ; 89 46 14 15357 jmp near 0 a009h ; e9 17 0115345 jmp near 09e85h ; e9 17 01 15358 15346 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 15359 jc short 09 effh ; 72 0615347 jc short 09d7bh ; 72 06 15360 15348 or ah, 087h ; 80 cc 87 15361 jmp near 0 a002h ; e9 03 0115349 jmp near 09e7eh ; e9 03 01 15362 15350 mov dx, word [bp+004h] ; 8b 56 04 15363 15351 mov ax, word [bp+014h] ; 8b 46 14 15364 call 09 d20h ; e8 18 fe15352 call 09b9ch ; e8 18 fe 15365 15353 mov bx, word [bp+020h] ; 8b 5e 20 15366 15354 xor bh, bh ; 30 ff 15367 15355 sub bx, strict byte 00008h ; 83 eb 08 15368 15356 cmp bx, strict byte 00005h ; 83 fb 05 15369 jnbe short 09 f7dh ; 77 6815357 jnbe short 09df9h ; 77 68 15370 15358 sal bx, 1 ; d1 e3 15371 jmp word [cs:bx-06 1d1h] ; 2e ff a7 2f 9e15359 jmp word [cs:bx-06355h] ; 2e ff a7 ab 9c 15372 15360 mov bx, word [bp+01ch] ; 8b 5e 1c 15373 15361 xor bl, bl ; 30 db … … 15380 15368 or bx, ax ; 09 c3 15381 15369 mov word [bp+01ch], bx ; 89 5e 1c 15382 jmp short 09 f7dh ; eb 4815370 jmp short 09df9h ; eb 48 15383 15371 mov dx, word [bp+004h] ; 8b 56 04 15384 15372 xor dh, dh ; 30 f6 … … 15387 15375 in ax, DX ; ed 15388 15376 mov word [bp+01ch], ax ; 89 46 1c 15389 jmp short 09 f7dh ; eb 3615377 jmp short 09df9h ; eb 36 15390 15378 mov dx, 00cfch ; ba fc 0c 15391 15379 in eax, DX ; 66 ed … … 15396 15384 mov word [bp+01ch], ax ; 89 46 1c 15397 15385 mov word [bp+01eh], dx ; 89 56 1e 15398 jmp short 09 f7dh ; eb 2215386 jmp short 09df9h ; eb 22 15399 15387 mov ax, word [bp+01ch] ; 8b 46 1c 15400 15388 mov dx, word [bp+004h] ; 8b 56 04 … … 15403 15391 add dx, 00cfch ; 81 c2 fc 0c 15404 15392 out DX, AL ; ee 15405 jmp short 09 f7dh ; eb 1015393 jmp short 09df9h ; eb 10 15406 15394 mov ax, word [bp+01ch] ; 8b 46 1c 15407 15395 mov dx, word [bp+004h] ; 8b 56 04 … … 15410 15398 add dx, 00cfch ; 81 c2 fc 0c 15411 15399 out DX, ax ; ef 15412 jmp near 0 a009h ; e9 89 0015400 jmp near 09e85h ; e9 89 00 15413 15401 mov ax, word [bp+01ch] ; 8b 46 1c 15414 15402 mov cx, word [bp+01eh] ; 8b 4e 1e … … 15419 15407 ; mov ax, cx ; 8b c1 15420 15408 out DX, eax ; 66 ef 15421 jmp short 0 a009h ; eb 7515409 jmp short 09e85h ; eb 75 15422 15410 mov bx, word [bp+004h] ; 8b 5e 04 15423 15411 mov es, [bp+026h] ; 8e 46 26 … … 15426 15414 mov cx, word [0f4a0h] ; 8b 0e a0 f4 15427 15415 cmp cx, word [es:bx] ; 26 3b 0f 15428 jbe short 09 fbah ; 76 1115416 jbe short 09e36h ; 76 11 15429 15417 mov ax, word [bp+020h] ; 8b 46 20 15430 15418 xor ah, ah ; 30 e4 … … 15432 15420 mov word [bp+020h], ax ; 89 46 20 15433 15421 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 15434 jmp short 09 fceh ; eb 1415422 jmp short 09e4ah ; eb 14 15435 15423 les di, [es:bx+002h] ; 26 c4 7f 02 15436 15424 mov si, 0f2c0h ; be c0 f2 … … 15444 15432 les bx, [bp-008h] ; c4 5e f8 15445 15433 mov word [es:bx], ax ; 26 89 07 15446 jmp short 0 a009h ; eb 3015434 jmp short 09e85h ; eb 30 15447 15435 mov bx, 00da0h ; bb a0 0d 15448 15436 mov cx, ds ; 8c d9 15449 15437 mov ax, strict word 00004h ; b8 04 00 15450 call 01933h ; e8 4f 7915438 call 01933h ; e8 d3 7a 15451 15439 mov ax, word [bp+014h] ; 8b 46 14 15452 15440 push ax ; 50 … … 15457 15445 mov ax, strict word 00004h ; b8 04 00 15458 15446 push ax ; 50 15459 call 01976h ; e8 7f 7915447 call 01976h ; e8 03 7b 15460 15448 add sp, strict byte 00008h ; 83 c4 08 15461 15449 mov ax, word [bp+020h] ; 8b 46 20 … … 15469 15457 pop bp ; 5d 15470 15458 retn ; c3 15471 pci_find_classcode_: ; 0xf a010LB 0x815459 pci_find_classcode_: ; 0xf9e8c LB 0x8 15472 15460 push bp ; 55 15473 15461 mov bp, sp ; 89 e5 … … 15475 15463 pop bp ; 5d 15476 15464 retn ; c3 15477 pci_read_config_byte_: ; 0xf a018LB 0x2715465 pci_read_config_byte_: ; 0xf9e94 LB 0x27 15478 15466 push bp ; 55 15479 15467 mov bp, sp ; 89 e5 … … 15498 15486 pop bp ; 5d 15499 15487 retn ; c3 15500 pci_read_config_word_: ; 0xf a03fLB 0x2515488 pci_read_config_word_: ; 0xf9ebb LB 0x25 15501 15489 push bp ; 55 15502 15490 mov bp, sp ; 89 e5 … … 15520 15508 pop bp ; 5d 15521 15509 retn ; c3 15522 pci_read_config_dword_: ; 0xf a064LB 0x3f15510 pci_read_config_dword_: ; 0xf9ee0 LB 0x3f 15523 15511 push bp ; 55 15524 15512 mov bp, sp ; 89 e5 … … 15535 15523 int 01ah ; cd 1a 15536 15524 test cx, cx ; 85 c9 15537 jne short 0 a094h ; 75 1415525 jne short 09f10h ; 75 14 15538 15526 mov al, byte [bp-006h] ; 8a 46 fa 15539 15527 xor ah, ah ; 30 e4 … … 15545 15533 int 01ah ; cd 1a 15546 15534 test cx, cx ; 85 c9 15547 je short 0 a099h ; 74 0515535 je short 09f15h ; 74 05 15548 15536 mov ax, strict word 00001h ; b8 01 00 15549 jmp short 0 a09bh ; eb 0215537 jmp short 09f17h ; eb 02 15550 15538 xor ax, ax ; 31 c0 15551 15539 cwd ; 99 … … 15555 15543 pop bp ; 5d 15556 15544 retn ; c3 15557 vds_is_present_: ; 0xf a0a3LB 0x1d15545 vds_is_present_: ; 0xf9f1f LB 0x1d 15558 15546 push bx ; 53 15559 15547 push bp ; 55 … … 15563 15551 mov es, ax ; 8e c0 15564 15552 test byte [es:bx], 020h ; 26 f6 07 20 15565 je short 0 a0bbh ; 74 0615553 je short 09f37h ; 74 06 15566 15554 mov ax, strict word 00001h ; b8 01 00 15567 15555 pop bp ; 5d … … 15572 15560 pop bx ; 5b 15573 15561 retn ; c3 15574 vds_real_to_lin_: ; 0xf a0c0LB 0x1e15562 vds_real_to_lin_: ; 0xf9f3c LB 0x1e 15575 15563 push bx ; 53 15576 15564 push cx ; 51 … … 15583 15571 sal ax, 1 ; d1 e0 15584 15572 rcl dx, 1 ; d1 d2 15585 loop 0 a0ceh ; e2 fa15573 loop 09f4ah ; e2 fa 15586 15574 xor cx, cx ; 31 c9 15587 15575 add ax, bx ; 01 d8 … … 15591 15579 pop bx ; 5b 15592 15580 retn ; c3 15593 vds_build_sg_list_: ; 0xf a0deLB 0x7715581 vds_build_sg_list_: ; 0xf9f5a LB 0x77 15594 15582 push bp ; 55 15595 15583 mov bp, sp ; 89 e5 … … 15605 15593 mov bx, word [bp+006h] ; 8b 5e 06 15606 15594 mov word [es:di+002h], bx ; 26 89 5d 02 15607 call 0 a0c0h ; e8 c3 ff15595 call 09f3ch ; e8 c3 ff 15608 15596 mov es, si ; 8e c6 15609 15597 mov word [es:di+004h], ax ; 26 89 45 04 15610 15598 mov word [es:di+006h], dx ; 26 89 55 06 15611 15599 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 15612 call 0 a0a3h ; e8 93 ff15600 call 09f1fh ; e8 93 ff 15613 15601 test ax, ax ; 85 c0 15614 je short 0 a125h ; 74 1115602 je short 09fa1h ; 74 11 15615 15603 mov es, si ; 8e c6 15616 15604 mov ax, 08105h ; b8 05 81 15617 15605 mov dx, strict word 00000h ; ba 00 00 15618 15606 int 04bh ; cd 4b 15619 jc short 0 a122h ; 72 0215607 jc short 09f9eh ; 72 02 15620 15608 db 032h, 0c0h 15621 15609 ; xor al, al ; 32 c0 15622 15610 cbw ; 98 15623 jmp short 0 a14ch ; eb 2715611 jmp short 09fc8h ; eb 27 15624 15612 mov es, si ; 8e c6 15625 15613 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 15638 15626 pop bp ; 5d 15639 15627 retn 00004h ; c2 04 00 15640 vds_free_sg_list_: ; 0xf a155 LB 0x3b15628 vds_free_sg_list_: ; 0xf9fd1 LB 0x2f 15641 15629 push bp ; 55 15642 15630 mov bp, sp ; 89 e5 … … 15644 15632 push di ; 57 15645 15633 mov bx, ax ; 89 c3 15646 call 0 a0a3h ; e8 44 ff15634 call 09f1fh ; e8 44 ff 15647 15635 test ax, ax ; 85 c0 15648 je short 0 a174h ; 74 1115636 je short 09ff0h ; 74 11 15649 15637 mov di, bx ; 89 df 15650 15638 mov es, dx ; 8e c2 … … 15652 15640 mov dx, strict word 00000h ; ba 00 00 15653 15641 int 04bh ; cd 4b 15654 jc short 0 a173h ; 72 0215642 jc short 09fefh ; 72 02 15655 15643 db 032h, 0c0h 15656 15644 ; xor al, al ; 32 c0 … … 15663 15651 pop bp ; 5d 15664 15652 retn ; c3 15665 times 0x ddb 015666 __U4 D: ; 0xfa190 LB 0x3915653 times 0x1 db 0 15654 __U4M: ; 0xfa000 LB 0x20 15667 15655 pushfw ; 9c 15668 push eax ; 66 50 15669 push edx ; 66 52 15670 push ecx ; 66 51 15671 rol eax, 010h ; 66 c1 c0 10 15672 db 08bh, 0c2h 15673 ; mov ax, dx ; 8b c2 15674 ror eax, 010h ; 66 c1 c8 10 15675 db 066h, 033h, 0d2h 15676 ; xor edx, edx ; 66 33 d2 15677 shr ecx, 010h ; 66 c1 e9 10 15678 db 08bh, 0cbh 15679 ; mov cx, bx ; 8b cb 15680 div ecx ; 66 f7 f1 15681 db 08bh, 0dah 15682 ; mov bx, dx ; 8b da 15683 pop ecx ; 66 59 15684 shr edx, 010h ; 66 c1 ea 10 15685 db 08bh, 0cah 15686 ; mov cx, dx ; 8b ca 15687 pop edx ; 66 5a 15688 ror eax, 010h ; 66 c1 c8 10 15689 db 08bh, 0d0h 15690 ; mov dx, ax ; 8b d0 15691 add sp, strict byte 00002h ; 83 c4 02 15656 push si ; 56 15657 push di ; 57 15658 push ax ; 50 15659 db 08bh, 0fah 15660 ; mov di, dx ; 8b fa 15661 mul bx ; f7 e3 15662 db 08bh, 0f2h 15663 ; mov si, dx ; 8b f2 15664 xchg di, ax ; 97 15665 mul bx ; f7 e3 15666 db 003h, 0f0h 15667 ; add si, ax ; 03 f0 15692 15668 pop ax ; 58 15693 rol eax, 010h ; 66 c1 c0 10 15669 mul cx ; f7 e1 15670 db 003h, 0f0h 15671 ; add si, ax ; 03 f0 15672 db 08bh, 0d6h 15673 ; mov dx, si ; 8b d6 15674 db 08bh, 0c7h 15675 ; mov ax, di ; 8b c7 15676 pop di ; 5f 15677 pop si ; 5e 15694 15678 popfw ; 9d 15695 15679 retn ; c3 15696 __U4M: ; 0xfa1c9 LB 0x31 15680 times 0x4 db 0 15681 __U4D: ; 0xfa020 LB 0x30 15697 15682 pushfw ; 9c 15698 push eax ; 66 5015699 push edx ; 66 5215700 push ecx ; 66 5115701 rol eax, 010h ; 66 c1 c0 1015702 db 08bh, 0 c2h15703 ; mov ax, dx ; 8b c215704 ror eax, 010h ; 66 c1 c8 1015705 db 066h, 033h, 0d2h15706 ; xor edx, edx ; 66 33 d215707 shr ecx, 010h ; 66 c1 e9 1015708 db 08bh, 0cbh15709 ; mov cx, bx ; 8b cb15710 mul ecx ; 66 f7 e115711 pop ecx ; 66 5915712 pop edx ; 66 5a15713 ror eax, 010h ; 66 c1 c8 1015714 db 08bh, 0 d0h15715 ; mov dx, ax ; 8b d015716 add sp, strict byte 00002h ; 83 c4 0215717 pop ax ; 5815718 rol eax, 010h ; 66 c1 c0 1015683 push DS ; 1e 15684 push ES ; 06 15685 push bp ; 55 15686 sub sp, strict byte 00004h ; 83 ec 04 15687 db 08bh, 0ech 15688 ; mov bp, sp ; 8b ec 15689 push SS ; 16 15690 push bp ; 55 15691 add bp, strict byte 00004h ; 83 c5 04 15692 push cx ; 51 15693 push bx ; 53 15694 push dx ; 52 15695 push ax ; 50 15696 call 0a105h ; e8 d0 00 15697 mov cx, word [bp-002h] ; 8b 4e fe 15698 mov bx, word [bp-004h] ; 8b 5e fc 15699 db 08bh, 0e5h 15700 ; mov sp, bp ; 8b e5 15701 pop bp ; 5d 15702 pop ES ; 07 15703 pop DS ; 1f 15719 15704 popfw ; 9d 15720 15705 retn ; c3 15721 __U8LS: ; 0xfa1fa LB 0x10 15706 times 0xe db 0 15707 __U8RS: ; 0xfa050 LB 0x10 15722 15708 test si, si ; 85 f6 15723 je short 0a209h ; 74 0b 15709 je short 0a05fh ; 74 0b 15710 shr ax, 1 ; d1 e8 15711 rcr bx, 1 ; d1 db 15712 rcr cx, 1 ; d1 d9 15713 rcr dx, 1 ; d1 da 15714 dec si ; 4e 15715 jne short 0a054h ; 75 f5 15716 retn ; c3 15717 __U8LS: ; 0xfa060 LB 0x10 15718 test si, si ; 85 f6 15719 je short 0a06fh ; 74 0b 15724 15720 sal dx, 1 ; d1 e2 15725 15721 rcl cx, 1 ; d1 d1 … … 15727 15723 rcl ax, 1 ; d1 d0 15728 15724 dec si ; 4e 15729 jne short 0a 1feh ; 75 f515725 jne short 0a064h ; 75 f5 15730 15726 retn ; c3 15731 __U8RS: ; 0xfa20a LB 0x10 15732 test si, si ; 85 f6 15733 je short 0a219h ; 74 0b 15734 shr ax, 1 ; d1 e8 15735 rcr bx, 1 ; d1 db 15736 rcr cx, 1 ; d1 d9 15737 rcr dx, 1 ; d1 da 15738 dec si ; 4e 15739 jne short 0a20eh ; 75 f5 15740 retn ; c3 15741 _fmemset_: ; 0xfa21a LB 0xd 15727 _fmemset_: ; 0xfa070 LB 0x10 15742 15728 push di ; 57 15743 15729 mov es, dx ; 8e c2 … … 15749 15735 pop di ; 5f 15750 15736 retn ; c3 15751 _fmemcpy_: ; 0xfa227 LB 0x33 15737 times 0x3 db 0 15738 _fmemcpy_: ; 0xfa080 LB 0x3a 15752 15739 push bp ; 55 15753 15740 db 08bh, 0ech … … 15767 15754 pop DS ; 1f 15768 15755 pop di ; 5f 15769 leave ; c9 15756 db 08bh, 0e5h 15757 ; mov sp, bp ; 8b e5 15758 pop bp ; 5d 15770 15759 retn ; c3 15771 add byte [bx+si-05eh], dh ; 00 70 a2 15772 jc short 0a1e6h ; 72 a2 15773 jbe short 0a1e8h ; 76 a2 15774 jbe short 0a1eah ; 76 a2 15775 jbe short 0a1ech ; 76 a2 15776 js short 0a1eeh ; 78 a2 15777 js short 0a1f0h ; 78 a2 15778 jp short 0a1f2h ; 7a a2 15779 jle short 0a1f4h ; 7e a2 15780 jle short 0a1f6h ; 7e a2 15781 and byte [bp+si-05d7bh], 087h ; 80 a2 85 a2 87 15782 db 0a2h 15783 apm_worker: ; 0xfa25a LB 0x3a 15760 add byte [bx+si], al ; 00 00 15761 add byte [bx+si], al ; 00 00 15762 add byte [bx+si], al ; 00 00 15763 sal byte [bx+si-05f2eh], 1 ; d0 a0 d2 a0 15764 db 0d6h 15765 mov AL, byte [0a0d6h] ; a0 d6 a0 15766 db 0d6h 15767 mov AL, byte [0a0d8h] ; a0 d8 a0 15768 fsub dword [bx+si-05f26h] ; d8 a0 da a0 15769 fisub word [bx+si-05f22h] ; de a0 de a0 15770 loopne 0a056h ; e0 a0 15771 in ax, 0a0h ; e5 a0 15772 out 0a0h, ax ; e7 a0 15773 apm_worker: ; 0xfa0ba LB 0x3a 15784 15774 sti ; fb 15785 15775 push ax ; 50 … … 15793 15783 pop ax ; 58 15794 15784 mov AH, strict byte 053h ; b4 53 15795 jnc short 0a 290h ; 73 2515796 jmp word [cs:bp-05 dc0h] ; 2e ff a6 40 a215797 jmp short 0a 28eh ; eb 1c15785 jnc short 0a0f0h ; 73 25 15786 jmp word [cs:bp-05f60h] ; 2e ff a6 a0 a0 15787 jmp short 0a0eeh ; eb 1c 15798 15788 sti ; fb 15799 15789 hlt ; f4 15800 jmp short 0a 28eh ; eb 1815801 jmp short 0a 28eh ; eb 1615802 jmp short 0a 290h ; eb 1615790 jmp short 0a0eeh ; eb 18 15791 jmp short 0a0eeh ; eb 16 15792 jmp short 0a0f0h ; eb 16 15803 15793 mov AH, strict byte 080h ; b4 80 15804 jmp short 0a 292h ; eb 1415805 jmp short 0a 290h ; eb 1015794 jmp short 0a0f2h ; eb 14 15795 jmp short 0a0f0h ; eb 10 15806 15796 mov ax, 00102h ; b8 02 01 15807 jmp short 0a 28eh ; eb 0915808 jmp short 0a 28eh ; eb 0715797 jmp short 0a0eeh ; eb 09 15798 jmp short 0a0eeh ; eb 07 15809 15799 mov BL, strict byte 000h ; b3 00 15810 15800 mov cx, strict word 00000h ; b9 00 00 15811 jmp short 0a 28eh ; eb 0015801 jmp short 0a0eeh ; eb 00 15812 15802 clc ; f8 15813 15803 retn ; c3 … … 15815 15805 stc ; f9 15816 15806 retn ; c3 15817 apm_pm16_entry: ; 0xfa 294 LB 0x1115807 apm_pm16_entry: ; 0xfa0f4 LB 0x11 15818 15808 mov AH, strict byte 002h ; b4 02 15819 15809 push DS ; 1e … … 15823 15813 add bp, strict byte 00008h ; 83 c5 08 15824 15814 mov ds, bp ; 8e dd 15825 call 0a 25ah ; e8 b8 ff15815 call 0a0bah ; e8 b8 ff 15826 15816 pop bp ; 5d 15827 15817 pop DS ; 1f 15828 15818 retf ; cb 15819 _DoUInt32Div: ; 0xfa105 LB 0x26b 15820 push bp ; 55 15821 mov bp, sp ; 89 e5 15822 push si ; 56 15823 push di ; 57 15824 sub sp, strict byte 00018h ; 83 ec 18 15825 lds bx, [bp+00ch] ; c5 5e 0c 15826 lea si, [bp+004h] ; 8d 76 04 15827 mov word [bp-010h], si ; 89 76 f0 15828 mov [bp-00eh], ss ; 8c 56 f2 15829 lea di, [bp+008h] ; 8d 7e 08 15830 mov [bp-008h], ss ; 8c 56 f8 15831 lea si, [bp-01ch] ; 8d 76 e4 15832 mov word [bp-00ch], si ; 89 76 f4 15833 mov [bp-00ah], ss ; 8c 56 f6 15834 mov si, bx ; 89 de 15835 mov [bp-006h], ds ; 8c 5e fa 15836 cmp word [bx+002h], strict byte 00000h ; 83 7f 02 00 15837 jne short 0a155h ; 75 22 15838 mov ax, word [bx] ; 8b 07 15839 test ax, ax ; 85 c0 15840 je short 0a152h ; 74 19 15841 cmp ax, strict word 00001h ; 3d 01 00 15842 jne short 0a155h ; 75 17 15843 xor ax, ax ; 31 c0 15844 mov word [bp+00ah], ax ; 89 46 0a 15845 mov word [bp+008h], ax ; 89 46 08 15846 mov ax, word [bp-01ch] ; 8b 46 e4 15847 mov word [bp+004h], ax ; 89 46 04 15848 mov ax, word [bp-01ah] ; 8b 46 e6 15849 mov word [bp+006h], ax ; 89 46 06 15850 jmp near 0a35dh ; e9 08 02 15851 lds bx, [bp-00ch] ; c5 5e f4 15852 mov ax, word [bx+002h] ; 8b 47 02 15853 mov ds, [bp-006h] ; 8e 5e fa 15854 cmp ax, word [si+002h] ; 3b 44 02 15855 je short 0a17bh ; 74 18 15856 mov ds, [bp-00ah] ; 8e 5e f6 15857 mov ax, word [bx+002h] ; 8b 47 02 15858 mov ds, [bp-006h] ; 8e 5e fa 15859 cmp ax, word [si+002h] ; 3b 44 02 15860 jbe short 0a176h ; 76 05 15861 mov ax, strict word 00001h ; b8 01 00 15862 jmp short 0a19ch ; eb 26 15863 mov ax, strict word 0ffffh ; b8 ff ff 15864 jmp short 0a19ch ; eb 21 15865 mov ds, [bp-00ah] ; 8e 5e f6 15866 mov ax, word [bx] ; 8b 07 15867 mov ds, [bp-006h] ; 8e 5e fa 15868 cmp ax, word [si] ; 3b 04 15869 je short 0a19ah ; 74 13 15870 mov ds, [bp-00ah] ; 8e 5e f6 15871 mov ax, word [bx] ; 8b 07 15872 mov ds, [bp-006h] ; 8e 5e fa 15873 cmp ax, word [si] ; 3b 04 15874 jbe short 0a195h ; 76 02 15875 jmp short 0a171h ; eb dc 15876 mov ax, strict word 0ffffh ; b8 ff ff 15877 jmp short 0a19ch ; eb 02 15878 xor ax, ax ; 31 c0 15879 test ax, ax ; 85 c0 15880 jnl short 0a1beh ; 7d 1e 15881 lds bx, [bp-00ch] ; c5 5e f4 15882 mov ax, word [bx] ; 8b 07 15883 mov dx, word [bx+002h] ; 8b 57 02 15884 mov ds, [bp-008h] ; 8e 5e f8 15885 mov word [di], ax ; 89 05 15886 mov word [di+002h], dx ; 89 55 02 15887 lds bx, [bp-010h] ; c5 5e f0 15888 mov word [bx+002h], strict word 00000h ; c7 47 02 00 00 15889 mov word [bx], strict word 00000h ; c7 07 00 00 15890 jmp short 0a152h ; eb 94 15891 jne short 0a1d5h ; 75 15 15892 mov ds, [bp-008h] ; 8e 5e f8 15893 mov word [di+002h], ax ; 89 45 02 15894 mov word [di], ax ; 89 05 15895 lds bx, [bp-010h] ; c5 5e f0 15896 mov word [bx], strict word 00001h ; c7 07 01 00 15897 mov word [bx+002h], ax ; 89 47 02 15898 jmp near 0a35dh ; e9 88 01 15899 lds bx, [bp-00ch] ; c5 5e f4 15900 mov ax, word [bx+002h] ; 8b 47 02 15901 test ax, ax ; 85 c0 15902 je short 0a1f0h ; 74 11 15903 push ax ; 50 15904 mov ax, 0f000h ; b8 00 f0 15905 mov ds, ax ; 8e d8 15906 call 0a370h ; e8 88 01 15907 add sp, strict byte 00002h ; 83 c4 02 15908 add ax, strict word 00010h ; 05 10 00 15909 jmp short 0a1fdh ; eb 0d 15910 push word [bx] ; ff 37 15911 mov ax, 0f000h ; b8 00 f0 15912 mov ds, ax ; 8e d8 15913 call 0a370h ; e8 76 01 15914 add sp, strict byte 00002h ; 83 c4 02 15915 mov word [bp-014h], ax ; 89 46 ec 15916 mov ds, [bp-006h] ; 8e 5e fa 15917 mov ax, word [si+002h] ; 8b 44 02 15918 test ax, ax ; 85 c0 15919 je short 0a21bh ; 74 11 15920 push ax ; 50 15921 mov ax, 0f000h ; b8 00 f0 15922 mov ds, ax ; 8e d8 15923 call 0a370h ; e8 5d 01 15924 add sp, strict byte 00002h ; 83 c4 02 15925 add ax, strict word 00010h ; 05 10 00 15926 jmp short 0a228h ; eb 0d 15927 push word [si] ; ff 34 15928 mov ax, 0f000h ; b8 00 f0 15929 mov ds, ax ; 8e d8 15930 call 0a370h ; e8 4b 01 15931 add sp, strict byte 00002h ; 83 c4 02 15932 mov dx, word [bp-014h] ; 8b 56 ec 15933 sub dx, ax ; 29 c2 15934 mov word [bp-012h], dx ; 89 56 ee 15935 mov ds, [bp-006h] ; 8e 5e fa 15936 mov ax, word [si] ; 8b 04 15937 mov word [bp-018h], ax ; 89 46 e8 15938 mov ax, word [si+002h] ; 8b 44 02 15939 mov word [bp-016h], ax ; 89 46 ea 15940 test dx, dx ; 85 d2 15941 je short 0a298h ; 74 56 15942 mov cx, dx ; 89 d1 15943 xor ch, dh ; 30 f5 15944 and cl, 01fh ; 80 e1 1f 15945 mov ax, word [si] ; 8b 04 15946 mov dx, word [si+002h] ; 8b 54 02 15947 jcxz 0a256h ; e3 06 15948 sal ax, 1 ; d1 e0 15949 rcl dx, 1 ; d1 d2 15950 loop 0a250h ; e2 fa 15951 mov word [bp-018h], ax ; 89 46 e8 15952 mov word [bp-016h], dx ; 89 56 ea 15953 mov ax, word [bp-016h] ; 8b 46 ea 15954 lds bx, [bp-00ch] ; c5 5e f4 15955 cmp ax, word [bx+002h] ; 3b 47 02 15956 jnbe short 0a276h ; 77 0f 15957 mov ax, word [bp-016h] ; 8b 46 ea 15958 cmp ax, word [bx+002h] ; 3b 47 02 15959 jne short 0a27ah ; 75 0b 15960 mov ax, word [bp-018h] ; 8b 46 e8 15961 cmp ax, word [bx] ; 3b 07 15962 jbe short 0a27ah ; 76 04 15963 mov AL, strict byte 001h ; b0 01 15964 jmp short 0a27ch ; eb 02 15965 xor al, al ; 30 c0 15966 test al, al ; 84 c0 15967 je short 0a2a3h ; 74 23 15968 shr word [bp-016h], 1 ; d1 6e ea 15969 rcr word [bp-018h], 1 ; d1 5e e8 15970 dec word [bp-012h] ; ff 4e ee 15971 jmp short 0a2a3h ; eb 18 15972 mov cx, strict word 0001fh ; b9 1f 00 15973 sal word [bp-018h], 1 ; d1 66 e8 15974 rcl word [bp-016h], 1 ; d1 56 ea 15975 loop 0a28eh ; e2 f8 15976 jmp short 0a286h ; eb ee 15977 mov ax, word [si] ; 8b 04 15978 mov word [bp-018h], ax ; 89 46 e8 15979 mov ax, word [si+002h] ; 8b 44 02 15980 mov word [bp-016h], ax ; 89 46 ea 15981 lds bx, [bp-010h] ; c5 5e f0 15982 mov word [bx+002h], strict word 00000h ; c7 47 02 00 00 15983 mov word [bx], strict word 00000h ; c7 07 00 00 15984 lds bx, [bp-00ch] ; c5 5e f4 15985 mov dx, word [bx] ; 8b 17 15986 mov ax, word [bx+002h] ; 8b 47 02 15987 mov ds, [bp-008h] ; 8e 5e f8 15988 mov word [di], dx ; 89 15 15989 mov word [di+002h], ax ; 89 45 02 15990 mov dx, word [di] ; 8b 15 15991 mov ds, [bp-006h] ; 8e 5e fa 15992 cmp ax, word [si+002h] ; 3b 44 02 15993 jnbe short 0a2cfh ; 77 06 15994 jne short 0a2d3h ; 75 08 15995 cmp dx, word [si] ; 3b 14 15996 jc short 0a2d3h ; 72 04 15997 mov AL, strict byte 001h ; b0 01 15998 jmp short 0a2d5h ; eb 02 15999 xor al, al ; 30 c0 16000 test al, al ; 84 c0 16001 je short 0a33ah ; 74 61 16002 mov ds, [bp-008h] ; 8e 5e f8 16003 mov ax, word [di+002h] ; 8b 45 02 16004 cmp ax, word [bp-016h] ; 3b 46 ea 16005 jnbe short 0a2f0h ; 77 0c 16006 cmp ax, word [bp-016h] ; 3b 46 ea 16007 jne short 0a2f4h ; 75 0b 16008 mov ax, word [di] ; 8b 05 16009 cmp ax, word [bp-018h] ; 3b 46 e8 16010 jc short 0a2f4h ; 72 04 16011 mov AL, strict byte 001h ; b0 01 16012 jmp short 0a2f6h ; eb 02 16013 xor al, al ; 30 c0 16014 test al, al ; 84 c0 16015 je short 0a320h ; 74 26 16016 mov ax, word [bp-018h] ; 8b 46 e8 16017 mov ds, [bp-008h] ; 8e 5e f8 16018 sub word [di], ax ; 29 05 16019 mov ax, word [bp-016h] ; 8b 46 ea 16020 sbb word [di+002h], ax ; 19 45 02 16021 mov ax, strict word 00001h ; b8 01 00 16022 xor dx, dx ; 31 d2 16023 mov cx, word [bp-012h] ; 8b 4e ee 16024 jcxz 0a318h ; e3 06 16025 sal ax, 1 ; d1 e0 16026 rcl dx, 1 ; d1 d2 16027 loop 0a312h ; e2 fa 16028 lds bx, [bp-010h] ; c5 5e f0 16029 or word [bx], ax ; 09 07 16030 or word [bx+002h], dx ; 09 57 02 16031 mov ds, [bp-008h] ; 8e 5e f8 16032 mov dx, word [di] ; 8b 15 16033 mov ax, word [di+002h] ; 8b 45 02 16034 mov ds, [bp-006h] ; 8e 5e fa 16035 cmp ax, word [si+002h] ; 3b 44 02 16036 jc short 0a336h ; 72 06 16037 jne short 0a33ch ; 75 0a 16038 cmp dx, word [si] ; 3b 14 16039 jnc short 0a33ch ; 73 06 16040 mov AL, strict byte 001h ; b0 01 16041 jmp short 0a33eh ; eb 04 16042 jmp short 0a35dh ; eb 21 16043 xor al, al ; 30 c0 16044 test al, al ; 84 c0 16045 je short 0a351h ; 74 0f 16046 jmp short 0a35dh ; eb 19 16047 mov cx, strict word 0001fh ; b9 1f 00 16048 sal word [bp-018h], 1 ; d1 66 e8 16049 rcl word [bp-016h], 1 ; d1 56 ea 16050 loop 0a347h ; e2 f8 16051 jmp short 0a357h ; eb 06 16052 shr word [bp-016h], 1 ; d1 6e ea 16053 rcr word [bp-018h], 1 ; d1 5e e8 16054 dec word [bp-012h] ; ff 4e ee 16055 jmp near 0a2d9h ; e9 7c ff 16056 mov ax, word [bp-01ch] ; 8b 46 e4 16057 mov dx, word [bp-01ah] ; 8b 56 e6 16058 lea sp, [bp-004h] ; 8d 66 fc 16059 pop di ; 5f 16060 pop si ; 5e 16061 pop bp ; 5d 16062 retn ; c3 16063 times 0x6 db 0 16064 _ASMBitLastSetU16: ; 0xfa370 LB 0x18 16065 push bp ; 55 16066 db 08bh, 0ech 16067 ; mov bp, sp ; 8b ec 16068 mov cx, word [bp+004h] ; 8b 4e 04 16069 test cx, cx ; 85 c9 16070 je short 0a384h ; 74 0a 16071 mov ax, strict word 00010h ; b8 10 00 16072 sal cx, 1 ; d1 e1 16073 jc short 0a386h ; 72 05 16074 dec ax ; 48 16075 jmp short 0a37dh ; eb f9 16076 db 033h, 0c0h 16077 ; xor ax, ax ; 33 c0 16078 pop bp ; 5d 16079 retn ; c3 15829 16080 15830 ; Padding 0x3 75b bytes at 0xfa2a515831 times 1 4171db 016081 ; Padding 0x3678 bytes at 0xfa388 16082 times 13944 db 0 15832 16083 15833 16084 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 15876 16127 add bp, strict byte 00008h ; 83 c5 08 15877 16128 push ebp ; 66 55 15878 mov bp, 0a 296h ; bd 96 a216129 mov bp, 0a0f6h ; bd f6 a0 15879 16130 add byte [bx+si], al ; 00 00 15880 16131 push ebp ; 66 55 … … 16606 16857 call 01cc5h ; e8 89 39 16607 16858 call 02154h ; e8 15 3e 16608 call 09 ad7h ; e8 95 b716609 call 08 93ch ; e8 f7 a516859 call 09953h ; e8 11 b6 16860 call 087b8h ; e8 73 a4 16610 16861 call 0ed4ch ; e8 04 0a 16611 16862 call 0e2d2h ; e8 87 ff … … 16943 17194 pop DS ; 1f 16944 17195 cld ; fc 16945 call 0 701ch ; e8 28 8617196 call 06e98h ; e8 a4 84 16946 17197 pop DS ; 1f 16947 17198 pop ES ; 07 … … 17305 17556 pop DS ; 1f 17306 17557 cld ; fc 17307 call 07 9c9h ; e8 e5 8917558 call 07845h ; e8 61 88 17308 17559 pop di ; 5f 17309 17560 pop si ; 5e … … 17687 17938 cmp ah, 0c2h ; 80 fc c2 17688 17939 je short 0f895h ; 74 15 17689 call 067 77h ; e8 f4 6e17940 call 067b7h ; e8 34 6f 17690 17941 pop di ; 5f 17691 17942 pop si ; 5e … … 17700 17951 popfw ; 9d 17701 17952 jmp short 0f8afh ; eb 1f 17702 call 09 c2ah ; e8 97 a317953 call 09aa6h ; e8 13 a2 17703 17954 jmp short 0f883h ; eb ee 17704 17955 int15_handler_mouse: ; 0xff895 LB 0x5 17705 call 07 629h ; e8 91 7d17956 call 074a5h ; e8 0d 7c 17706 17957 jmp short 0f883h ; eb e9 17707 17958 int15_handler32: ; 0xff89a LB 0x15 … … 17714 17965 push si ; 56 17715 17966 push di ; 57 17716 call 06 c4dh ; e8 a8 7317967 call 06afah ; e8 55 72 17717 17968 pop di ; 5f 17718 17969 pop si ; 5e … … 17760 18011 pop DS ; 1f 17761 18012 cld ; fc 17762 call 07 557h ; e8 7c 7c18013 call 073d3h ; e8 f8 7a 17763 18014 pop cx ; 59 17764 18015 jcxz 0f8ebh ; e3 0d … … 17808 18059 pop DS ; 1f 17809 18060 cld ; fc 17810 call 07 1f4h ; e8 d5 7818061 call 07070h ; e8 51 77 17811 18062 pop di ; 5f 17812 18063 pop si ; 5e … … 17911 18162 pop DS ; 1f 17912 18163 cld ; fc 17913 call 07 2b3h ; e8 35 7418164 call 0712fh ; e8 b1 72 17914 18165 pop di ; 5f 17915 18166 pop si ; 5e … … 18023 18274 cpu_reset: ; 0xffff0 LB 0x10 18024 18275 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 18025 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 0 96h18276 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 081h
Note:
See TracChangeset
for help on using the changeset viewer.