Changeset 51062 in vbox
- Timestamp:
- Apr 14, 2014 7:29:58 AM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 93293
- Location:
- trunk/src/VBox/Devices
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/BiosCommonCode/MakeAlternativeSource.cpp
r50167 r51062 971 971 /* Work arounds for switch tables and such (disas assertions). */ 972 972 else if ( 0 973 #if 0 974 || ( pb[0] == 0x11 /* int13_cdemu switch */ 975 && pb[1] == 0xda 976 && pb[2] == 0x05 977 && pb[3] == 0xff 978 && pb[4] == 0xff 979 ) 980 #endif 981 || ( pb[0] == 0xb0 982 && pb[1] == 0x58 983 && pb[2] == 0xc8 984 && pb[3] == 0x58 985 && pb[4] == 0xc8 986 && pb[5] == 0x58 987 ) 988 || ( pb[0] == 0x50 973 || ( pb[0] == 0x50 /* int13_cdemu switch */ 989 974 && pb[1] == 0x4e 990 975 && pb[2] == 0x49 991 976 && pb[3] == 0x48 992 977 && pb[4] == 0x47 993 && pb[5] == 0x46994 978 ) 995 || ( pb[0] == 0x29 996 && pb[1] == 0x65 997 && pb[2] == 0x4b 998 && pb[3] == 0x65 999 && pb[4] == 0x6e 1000 && pb[5] == 0x65 1001 ) 1002 || ( pb[0] == 0xc9 /* _pci16_function switch */ 1003 && pb[1] == 0x8d 1004 && pb[2] == 0xe3 1005 && pb[3] == 0x8d 1006 && pb[4] == 0xf6 1007 && pb[5] == 0x8d 979 || ( pb[0] == 0x67 /* _pci16_function switch */ 980 && pb[1] == 0x92 981 && pb[2] == 0x81 982 && pb[3] == 0x92 983 && pb[4] == 0x94 984 && pb[5] == 0x92 1008 985 ) 1009 986 || ( pb[0] == 0xa3 /* _int1a_function switch */ … … 1027 1004 && pb[4] == 0x8c 1028 1005 && pb[5] == 0x2f) 1029 || ( pb[0] == 0x66 1030 && pb[1] == 0x9e 1031 && pb[2] == 0x66 1032 && pb[3] == 0xca 1006 || ( pb[0] == 0xec /* _int15_function switch */ 1007 && pb[1] == 0xe9 1008 && pb[2] == 0xd8 1009 && pb[3] == 0xc1 1010 && pb[4] == 0xc0 1011 && pb[5] == 0xbf) 1012 || ( pb[0] == 0x21 /* _int15_function32 switch */ 1013 && pb[1] == 0x66 1014 && pb[2] == 0x43 1015 && pb[3] == 0x66 1033 1016 && pb[4] == 0x66 1034 && pb[5] == 0x 55)1017 && pb[5] == 0x66) 1035 1018 || 0 1036 1019 ) -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.asm
r50159 r51062 254 254 mov bx, 0c000h ; bb 00 c0 255 255 mov ds, bx ; 8e db 256 call 0 3040h ; e8 502f256 call 02ffdh ; e8 0d 2f 257 257 popaw ; 61 258 258 pop DS ; 1f … … 1507 1507 times 194 db 0 1508 1508 1509 section _TEXT progbits vstart=0xa00 align=1 ; size=0x2f 80class=CODE group=AUTO1509 section _TEXT progbits vstart=0xa00 align=1 ; size=0x2f3d class=CODE group=AUTO 1510 1510 set_int_vector_: ; 0xc0a00 LB 0x1a 1511 1511 push bx ; 53 … … 1561 1561 call 00a1ah ; e8 ac ff 1562 1562 call 00a36h ; e8 c5 ff 1563 call 034 afh ; e8 3b 2a1563 call 0346ch ; e8 f8 29 1564 1564 mov dx, strict word 00022h ; ba 22 00 1565 1565 mov ax, strict word 00010h ; b8 10 00 … … 1588 1588 mov dx, strict word 00060h ; ba 60 00 1589 1589 mov ax, strict word 00040h ; b8 40 00 1590 call 02f 93h ; e8 e7241590 call 02f50h ; e8 a4 24 1591 1591 push SS ; 16 1592 1592 pop ES ; 07 … … 1596 1596 add dx, strict byte 00050h ; 83 c2 50 1597 1597 mov ax, strict word 00040h ; b8 40 00 1598 call 02f 93h ; e8 d4241598 call 02f50h ; e8 91 24 1599 1599 push SS ; 16 1600 1600 pop ES ; 07 … … 1617 1617 mov dx, strict word 00049h ; ba 49 00 1618 1618 mov ax, strict word 00040h ; b8 40 00 1619 call 02f 77h ; e8 95241619 call 02f34h ; e8 52 24 1620 1620 xor ah, ah ; 30 e4 1621 call 02f 50h ; e8 69241621 call 02f0dh ; e8 26 24 1622 1622 mov ch, al ; 88 c5 1623 1623 cmp AL, strict byte 0ffh ; 3c ff … … 1635 1635 mov dx, 00084h ; ba 84 00 1636 1636 mov ax, strict word 00040h ; b8 40 00 1637 call 02f 77h ; e8 64241637 call 02f34h ; e8 21 24 1638 1638 movzx di, al ; 0f b6 f8 1639 1639 inc di ; 47 1640 1640 mov dx, strict word 0004ah ; ba 4a 00 1641 1641 mov ax, strict word 00040h ; b8 40 00 1642 call 02f 93h ; e8 73241642 call 02f50h ; e8 30 24 1643 1643 movzx bx, ch ; 0f b6 dd 1644 1644 sal bx, 003h ; c1 e3 03 … … 1660 1660 add dx, ax ; 01 c2 1661 1661 mov ax, word [bx+04833h] ; 8b 87 33 48 1662 call 02f 93h ; e8 3c 241662 call 02f50h ; e8 f9 23 1663 1663 mov word [ss:si], ax ; 36 89 04 1664 1664 lea sp, [bp-008h] ; 8d 66 f8 … … 1697 1697 mov dx, strict word 0007ch ; ba 7c 00 1698 1698 xor ax, ax ; 31 c0 1699 call 02f afh ; e8 19 241699 call 02f6ch ; e8 d6 23 1700 1700 push SS ; 16 1701 1701 pop ES ; 07 … … 1705 1705 mov dx, 00085h ; ba 85 00 1706 1706 mov ax, strict word 00040h ; b8 40 00 1707 call 02f 77h ; e8 cd231707 call 02f34h ; e8 8a 23 1708 1708 xor ah, ah ; 30 e4 1709 1709 push SS ; 16 … … 1712 1712 mov dx, 00084h ; ba 84 00 1713 1713 mov ax, strict word 00040h ; b8 40 00 1714 call 02f 77h ; e8 bd231714 call 02f34h ; e8 7a 23 1715 1715 xor ah, ah ; 30 e4 1716 1716 push SS ; 16 … … 1750 1750 mov dx, strict word 00049h ; ba 49 00 1751 1751 mov ax, strict word 00040h ; b8 40 00 1752 call 02f 77h ; e8 6a231752 call 02f34h ; e8 27 23 1753 1753 xor ah, ah ; 30 e4 1754 call 02f 50h ; e8 3e 231754 call 02f0dh ; e8 fb 22 1755 1755 mov cl, al ; 88 c1 1756 1756 cmp AL, strict byte 0ffh ; 3c ff … … 1774 1774 mov dx, strict word 0004ah ; ba 4a 00 1775 1775 mov ax, strict word 00040h ; b8 40 00 1776 call 02f 93h ; e8 3f 231776 call 02f50h ; e8 fc 22 1777 1777 imul ax, word [bp-00ah] ; 0f af 46 f6 1778 1778 mov bx, si ; 89 f3 … … 1795 1795 mov dx, bx ; 89 da 1796 1796 mov ax, 0a000h ; b8 00 a0 1797 call 02f 77h ; e8 e9221797 call 02f34h ; e8 a6 22 1798 1798 and al, byte [bp-008h] ; 22 46 f8 1799 1799 test al, al ; 84 c0 … … 1816 1816 mov dx, bx ; 89 da 1817 1817 mov ax, 0b800h ; b8 00 b8 1818 call 02f 77h ; e8 b4221818 call 02f34h ; e8 71 22 1819 1819 movzx bx, cl ; 0f b6 d9 1820 1820 sal bx, 003h ; c1 e3 03 … … 1846 1846 mov dx, strict word 0004ah ; ba 4a 00 1847 1847 mov ax, strict word 00040h ; b8 40 00 1848 call 02f 93h ; e8 86221848 call 02f50h ; e8 43 22 1849 1849 sal ax, 003h ; c1 e0 03 1850 1850 imul ax, word [bp-00ah] ; 0f af 46 f6 … … 1852 1852 add dx, ax ; 01 c2 1853 1853 mov ax, 0a000h ; b8 00 a0 1854 call 02f 77h ; e8 59221854 call 02f34h ; e8 16 22 1855 1855 mov ch, al ; 88 c5 1856 1856 jmp short 00d24h ; eb 02 … … 1959 1959 mov dx, strict word 00060h ; ba 60 00 1960 1960 mov ax, strict word 00040h ; b8 40 00 1961 call 02f a1h ; e8 c0211961 call 02f5eh ; e8 7d 21 1962 1962 mov dx, 00089h ; ba 89 00 1963 1963 mov ax, strict word 00040h ; b8 40 00 1964 call 02f 77h ; e8 8d211964 call 02f34h ; e8 4a 21 1965 1965 mov bl, al ; 88 c3 1966 1966 mov dx, 00085h ; ba 85 00 1967 1967 mov ax, strict word 00040h ; b8 40 00 1968 call 02f 93h ; e8 9e211968 call 02f50h ; e8 5b 21 1969 1969 mov dx, ax ; 89 c2 1970 1970 test bl, 001h ; f6 c3 01 … … 1997 1997 mov dx, strict word 00063h ; ba 63 00 1998 1998 mov ax, strict word 00040h ; b8 40 00 1999 call 02f 93h ; e8 57211999 call 02f50h ; e8 14 21 2000 2000 mov bx, ax ; 89 c3 2001 2001 mov AL, strict byte 00ah ; b0 0a … … 2036 2036 mov bx, cx ; 89 cb 2037 2037 mov ax, strict word 00040h ; b8 40 00 2038 call 02f a1h ; e8 20 212038 call 02f5eh ; e8 dd 20 2039 2039 mov dx, strict word 00062h ; ba 62 00 2040 2040 mov ax, strict word 00040h ; b8 40 00 2041 call 02f 77h ; e8 ed202041 call 02f34h ; e8 aa 20 2042 2042 cmp al, byte [bp-008h] ; 3a 46 f8 2043 2043 jne short 00ef8h ; 75 69 2044 2044 mov dx, strict word 0004ah ; ba 4a 00 2045 2045 mov ax, strict word 00040h ; b8 40 00 2046 call 02f 93h ; e8 fb202046 call 02f50h ; e8 b8 20 2047 2047 mov bx, ax ; 89 c3 2048 2048 mov dx, 00084h ; ba 84 00 2049 2049 mov ax, strict word 00040h ; b8 40 00 2050 call 02f 77h ; e8 d4202050 call 02f34h ; e8 91 20 2051 2051 xor ah, ah ; 30 e4 2052 2052 mov dx, ax ; 89 c2 … … 2068 2068 mov dx, strict word 00063h ; ba 63 00 2069 2069 mov ax, strict word 00040h ; b8 40 00 2070 call 02f 93h ; e8 bd202070 call 02f50h ; e8 7a 20 2071 2071 mov bx, ax ; 89 c3 2072 2072 mov AL, strict byte 00eh ; b0 0e … … 2107 2107 mov dx, strict word 00049h ; ba 49 00 2108 2108 mov ax, strict word 00040h ; b8 40 00 2109 call 02f 77h ; e8 5c202109 call 02f34h ; e8 19 20 2110 2110 xor ah, ah ; 30 e4 2111 call 02f 50h ; e8 30 202111 call 02f0dh ; e8 ed 1f 2112 2112 mov ch, al ; 88 c5 2113 2113 cmp AL, strict byte 0ffh ; 3c ff … … 2124 2124 mov dx, strict word 0004ah ; ba 4a 00 2125 2125 mov ax, strict word 00040h ; b8 40 00 2126 call 02f 93h ; e8 47202126 call 02f50h ; e8 04 20 2127 2127 mov bx, ax ; 89 c3 2128 2128 mov dx, 00084h ; ba 84 00 2129 2129 mov ax, strict word 00040h ; b8 40 00 2130 call 02f 77h ; e8 20 202130 call 02f34h ; e8 dd 1f 2131 2131 xor ah, ah ; 30 e4 2132 2132 inc ax ; 40 … … 2142 2142 mov dx, strict word 0004eh ; ba 4e 00 2143 2143 mov ax, strict word 00040h ; b8 40 00 2144 call 02f a1h ; e8 2a 202144 call 02f5eh ; e8 e7 1f 2145 2145 or si, 000ffh ; 81 ce ff 00 2146 2146 lea bx, [si+001h] ; 8d 5c 01 … … 2154 2154 mov dx, strict word 00063h ; ba 63 00 2155 2155 mov ax, strict word 00040h ; b8 40 00 2156 call 02f 93h ; e8 f51f2156 call 02f50h ; e8 b2 1f 2157 2157 mov si, ax ; 89 c6 2158 2158 mov AL, strict byte 00ch ; b0 0c … … 2175 2175 mov dx, strict word 00062h ; ba 62 00 2176 2176 mov ax, strict word 00040h ; b8 40 00 2177 call 02f 85h ; e8 bb1f2177 call 02f42h ; e8 78 1f 2178 2178 mov dx, word [bp-00eh] ; 8b 56 f2 2179 2179 mov ax, si ; 89 f0 … … 2210 2210 and byte [bp-00eh], 07fh ; 80 66 f2 7f 2211 2211 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 2212 call 02f 50h ; e8 431f2212 call 02f0dh ; e8 00 1f 2213 2213 mov byte [bp-012h], al ; 88 46 ee 2214 2214 cmp AL, strict byte 0ffh ; 3c ff … … 2227 2227 mov dx, 00087h ; ba 87 00 2228 2228 mov ax, strict word 00040h ; b8 40 00 2229 call 02f 77h ; e8 30 1f2229 call 02f34h ; e8 ed 1e 2230 2230 mov dx, 00088h ; ba 88 00 2231 2231 mov ax, strict word 00040h ; b8 40 00 2232 call 02f 77h ; e8 27 1f2232 call 02f34h ; e8 e4 1e 2233 2233 mov dx, 00089h ; ba 89 00 2234 2234 mov ax, strict word 00040h ; b8 40 00 2235 call 02f 77h ; e8 1e 1f2235 call 02f34h ; e8 db 1e 2236 2236 mov ah, al ; 88 c4 2237 2237 test AL, strict byte 008h ; a8 08 … … 2435 2435 mov dx, strict word 00049h ; ba 49 00 2436 2436 mov ax, strict word 00040h ; b8 40 00 2437 call 02f 85h ; e8 521d2437 call 02f42h ; e8 0f 1d 2438 2438 mov bx, word [bp-018h] ; 8b 5e e8 2439 2439 mov dx, strict word 0004ah ; ba 4a 00 2440 2440 mov ax, strict word 00040h ; b8 40 00 2441 call 02f a1h ; e8 621d2441 call 02f5eh ; e8 1f 1d 2442 2442 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 2443 2443 sal bx, 006h ; c1 e3 06 … … 2445 2445 mov dx, strict word 0004ch ; ba 4c 00 2446 2446 mov ax, strict word 00040h ; b8 40 00 2447 call 02f a1h ; e8 4e1d2447 call 02f5eh ; e8 0b 1d 2448 2448 mov bx, si ; 89 f3 2449 2449 mov dx, strict word 00063h ; ba 63 00 2450 2450 mov ax, strict word 00040h ; b8 40 00 2451 call 02f a1h ; e8 431d2451 call 02f5eh ; e8 00 1d 2452 2452 movzx bx, byte [bp-016h] ; 0f b6 5e ea 2453 2453 mov dx, 00084h ; ba 84 00 2454 2454 mov ax, strict word 00040h ; b8 40 00 2455 call 02f 85h ; e8 1a 1d2455 call 02f42h ; e8 d7 1c 2456 2456 mov bx, word [bp-014h] ; 8b 5e ec 2457 2457 mov dx, 00085h ; ba 85 00 2458 2458 mov ax, strict word 00040h ; b8 40 00 2459 call 02f a1h ; e8 2a 1d2459 call 02f5eh ; e8 e7 1c 2460 2460 mov al, byte [bp-010h] ; 8a 46 f0 2461 2461 or AL, strict byte 060h ; 0c 60 … … 2463 2463 mov dx, 00087h ; ba 87 00 2464 2464 mov ax, strict word 00040h ; b8 40 00 2465 call 02f 85h ; e8 fd1c2465 call 02f42h ; e8 ba 1c 2466 2466 mov bx, 000f9h ; bb f9 00 2467 2467 mov dx, 00088h ; ba 88 00 2468 2468 mov ax, strict word 00040h ; b8 40 00 2469 call 02f 85h ; e8 f11c2469 call 02f42h ; e8 ae 1c 2470 2470 mov dx, 00089h ; ba 89 00 2471 2471 mov ax, strict word 00040h ; b8 40 00 2472 call 02f 77h ; e8 da1c2472 call 02f34h ; e8 97 1c 2473 2473 and AL, strict byte 07fh ; 24 7f 2474 2474 movzx bx, al ; 0f b6 d8 2475 2475 mov dx, 00089h ; ba 89 00 2476 2476 mov ax, strict word 00040h ; b8 40 00 2477 call 02f 85h ; e8 da1c2477 call 02f42h ; e8 97 1c 2478 2478 mov bx, strict word 00008h ; bb 08 00 2479 2479 mov dx, 0008ah ; ba 8a 00 2480 2480 mov ax, strict word 00040h ; b8 40 00 2481 call 02f 85h ; e8 ce1c2481 call 02f42h ; e8 8b 1c 2482 2482 mov cx, ds ; 8c d9 2483 2483 mov bx, 05593h ; bb 93 55 2484 2484 mov dx, 000a8h ; ba a8 00 2485 2485 mov ax, strict word 00040h ; b8 40 00 2486 call 02f c1h ; e8 fc1c2486 call 02f7eh ; e8 b9 1c 2487 2487 xor bx, bx ; 31 db 2488 2488 mov dx, strict word 00065h ; ba 65 00 2489 2489 mov ax, strict word 00040h ; b8 40 00 2490 call 02f 85h ; e8 b51c2490 call 02f42h ; e8 72 1c 2491 2491 xor bx, bx ; 31 db 2492 2492 mov dx, strict word 00066h ; ba 66 00 2493 2493 mov ax, strict word 00040h ; b8 40 00 2494 call 02f 85h ; e8 aa1c2494 call 02f42h ; e8 67 1c 2495 2495 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2496 2496 sal bx, 003h ; c1 e3 03 … … 2794 2794 mov dx, strict word 00049h ; ba 49 00 2795 2795 mov ax, strict word 00040h ; b8 40 00 2796 call 02f 77h ; e8 e4192796 call 02f34h ; e8 a1 19 2797 2797 xor ah, ah ; 30 e4 2798 call 02f 50h ; e8 b8192798 call 02f0dh ; e8 75 19 2799 2799 mov byte [bp-00eh], al ; 88 46 f2 2800 2800 cmp AL, strict byte 0ffh ; 3c ff … … 2802 2802 mov dx, 00084h ; ba 84 00 2803 2803 mov ax, strict word 00040h ; b8 40 00 2804 call 02f 77h ; e8 cd192804 call 02f34h ; e8 8a 19 2805 2805 movzx cx, al ; 0f b6 c8 2806 2806 inc cx ; 41 2807 2807 mov dx, strict word 0004ah ; ba 4a 00 2808 2808 mov ax, strict word 00040h ; b8 40 00 2809 call 02f 93h ; e8 dc192809 call 02f50h ; e8 99 19 2810 2810 mov word [bp-016h], ax ; 89 46 ea 2811 2811 cmp byte [bp+008h], 0ffh ; 80 7e 08 ff … … 2813 2813 mov dx, strict word 00062h ; ba 62 00 2814 2814 mov ax, strict word 00040h ; b8 40 00 2815 call 02f 77h ; e8 ae192815 call 02f34h ; e8 6b 19 2816 2816 mov byte [bp+008h], al ; 88 46 08 2817 2817 movzx ax, byte [bp+004h] ; 0f b6 46 04 … … 3279 3279 mov dx, si ; 89 f2 3280 3280 mov ax, 0a000h ; b8 00 a0 3281 call 02f 85h ; e8 8e143281 call 02f42h ; e8 4b 14 3282 3282 inc byte [bp-008h] ; fe 46 f8 3283 3283 cmp byte [bp-008h], 008h ; 80 7e f8 08 … … 3295 3295 mov dx, si ; 89 f2 3296 3296 mov ax, 0a000h ; b8 00 a0 3297 call 02f 77h ; e8 56143297 call 02f34h ; e8 13 14 3298 3298 movzx ax, ch ; 0f b6 c5 3299 3299 add ax, word [bp-00ah] ; 03 46 f6 … … 3369 3369 mov dx, word [bp-00ah] ; 8b 56 f6 3370 3370 mov ax, 0b800h ; b8 00 b8 3371 call 02f 85h ; e8 b7133371 call 02f42h ; e8 74 13 3372 3372 inc byte [bp-006h] ; fe 46 fa 3373 3373 cmp byte [bp-006h], 008h ; 80 7e fa 08 … … 3389 3389 mov dx, word [bp-00ah] ; 8b 56 f6 3390 3390 mov ax, 0b800h ; b8 00 b8 3391 call 02f 77h ; e8 6d133391 call 02f34h ; e8 2a 13 3392 3392 jmp near 01b8bh ; e9 7e ff 3393 3393 test ch, ch ; 84 ed … … 3397 3397 mov dx, word [bp-00ah] ; 8b 56 f6 3398 3398 mov ax, 0b800h ; b8 00 b8 3399 call 02f 77h ; e8 57133399 call 02f34h ; e8 14 13 3400 3400 jmp short 01c24h ; eb 02 3401 3401 xor al, al ; 30 c0 … … 3428 3428 mov dx, word [bp-00ah] ; 8b 56 f6 3429 3429 mov ax, 0b800h ; b8 00 b8 3430 call 02f 85h ; e8 1c 133430 call 02f42h ; e8 d9 12 3431 3431 inc word [bp-00ah] ; ff 46 f6 3432 3432 jmp short 01c0dh ; eb 9f … … 3472 3472 add dx, word [bp-00ah] ; 03 56 f6 3473 3473 mov ax, 0a000h ; b8 00 a0 3474 call 02f 85h ; e8 b1123474 call 02f42h ; e8 6e 12 3475 3475 shr byte [bp-008h], 1 ; d0 6e f8 3476 3476 db 0feh, 0c5h … … 3508 3508 mov dx, strict word 00049h ; ba 49 00 3509 3509 mov ax, strict word 00040h ; b8 40 00 3510 call 02f 77h ; e8 53123510 call 02f34h ; e8 10 12 3511 3511 xor ah, ah ; 30 e4 3512 call 02f 50h ; e8 27 123512 call 02f0dh ; e8 e4 11 3513 3513 mov cl, al ; 88 c1 3514 3514 mov byte [bp-006h], al ; 88 46 fa … … 3527 3527 mov dx, 00084h ; ba 84 00 3528 3528 mov ax, strict word 00040h ; b8 40 00 3529 call 02f 77h ; e8 1c 123529 call 02f34h ; e8 d9 11 3530 3530 xor ah, ah ; 30 e4 3531 3531 inc ax ; 40 … … 3533 3533 mov dx, strict word 0004ah ; ba 4a 00 3534 3534 mov ax, strict word 00040h ; b8 40 00 3535 call 02f 93h ; e8 29 123535 call 02f50h ; e8 e6 11 3536 3536 mov word [bp-016h], ax ; 89 46 ea 3537 3537 movzx bx, cl ; 0f b6 d9 … … 3638 3638 mov dx, strict word 00049h ; ba 49 00 3639 3639 mov ax, strict word 00040h ; b8 40 00 3640 call 02f 77h ; e8 eb103640 call 02f34h ; e8 a8 10 3641 3641 xor ah, ah ; 30 e4 3642 call 02f 50h ; e8 bf103642 call 02f0dh ; e8 7c 10 3643 3643 mov cl, al ; 88 c1 3644 3644 mov byte [bp-00eh], al ; 88 46 f2 … … 3657 3657 mov dx, 00084h ; ba 84 00 3658 3658 mov ax, strict word 00040h ; b8 40 00 3659 call 02f 77h ; e8 b4103659 call 02f34h ; e8 71 10 3660 3660 xor ah, ah ; 30 e4 3661 3661 inc ax ; 40 … … 3663 3663 mov dx, strict word 0004ah ; ba 4a 00 3664 3664 mov ax, strict word 00040h ; b8 40 00 3665 call 02f 93h ; e8 c1103665 call 02f50h ; e8 7e 10 3666 3666 mov word [bp-016h], ax ; 89 46 ea 3667 3667 movzx di, cl ; 0f b6 f9 … … 3694 3694 mov dx, cx ; 89 ca 3695 3695 mov ax, di ; 89 f8 3696 call 02f 85h ; e8 5b103696 call 02f42h ; e8 18 10 3697 3697 inc cx ; 41 3698 3698 inc cx ; 41 … … 3767 3767 mov dx, strict word 00049h ; ba 49 00 3768 3768 mov ax, strict word 00040h ; b8 40 00 3769 call 02f 77h ; e8 820f3769 call 02f34h ; e8 3f 0f 3770 3770 xor ah, ah ; 30 e4 3771 call 02f 50h ; e8 560f3771 call 02f0dh ; e8 13 0f 3772 3772 mov byte [bp-004h], al ; 88 46 fc 3773 3773 cmp AL, strict byte 0ffh ; 3c ff … … 3791 3791 mov dx, strict word 0004ah ; ba 4a 00 3792 3792 mov ax, strict word 00040h ; b8 40 00 3793 call 02f 93h ; e8 5a0f3793 call 02f50h ; e8 17 0f 3794 3794 imul ax, cx ; 0f af c1 3795 3795 mov bx, word [bp-00ah] ; 8b 5e f6 … … 3810 3810 mov dx, bx ; 89 da 3811 3811 mov ax, 0a000h ; b8 00 a0 3812 call 02f 77h ; e8 0e 0f3812 call 02f34h ; e8 cb 0e 3813 3813 test byte [bp-006h], 080h ; f6 46 fa 80 3814 3814 je short 02076h ; 74 07 … … 3819 3819 mov dx, word [bp-008h] ; 8b 56 f8 3820 3820 mov ax, 0a000h ; b8 00 a0 3821 call 02f 85h ; e8 02 0f3821 call 02f42h ; e8 bf 0e 3822 3822 mov ax, 0ff08h ; b8 08 ff 3823 3823 mov dx, 003ceh ; ba ce 03 … … 3845 3845 mov dx, word [bp-008h] ; 8b 56 f8 3846 3846 mov ax, 0b800h ; b8 00 b8 3847 call 02f 77h ; e8 af0e3847 call 02f34h ; e8 6c 0e 3848 3848 mov bl, al ; 88 c3 3849 3849 movzx si, byte [bp-004h] ; 0f b6 76 fc … … 3881 3881 mov dx, word [bp-008h] ; 8b 56 f8 3882 3882 mov ax, 0b800h ; b8 00 b8 3883 call 02f 85h ; e8 640e3883 call 02f42h ; e8 21 0e 3884 3884 lea sp, [bp-002h] ; 8d 66 fe 3885 3885 pop si ; 5e … … 3888 3888 mov dx, strict word 0004ah ; ba 4a 00 3889 3889 mov ax, strict word 00040h ; b8 40 00 3890 call 02f 93h ; e8 630e3890 call 02f50h ; e8 20 0e 3891 3891 sal ax, 003h ; c1 e0 03 3892 3892 imul cx, ax ; 0f af c8 … … 3898 3898 mov ax, 0a000h ; b8 00 a0 3899 3899 jmp short 0211eh ; eb d5 3900 biosfn_write_teletype_: ; 0xc2149 LB 0x2 843900 biosfn_write_teletype_: ; 0xc2149 LB 0x241 3901 3901 push bp ; 55 3902 3902 mov bp, sp ; 89 e5 … … 3904 3904 sub sp, strict byte 00016h ; 83 ec 16 3905 3905 mov byte [bp-00ch], al ; 88 46 f4 3906 mov byte [bp-00 4h], dl ; 88 56 fc3907 mov byte [bp-00 6h], bl ; 88 5e fa3908 mov byte [bp-0 10h], cl ; 88 4e f03906 mov byte [bp-006h], dl ; 88 56 fa 3907 mov byte [bp-004h], bl ; 88 5e fc 3908 mov byte [bp-00eh], cl ; 88 4e f2 3909 3909 cmp dl, 0ffh ; 80 fa ff 3910 3910 jne short 0216dh ; 75 0c 3911 3911 mov dx, strict word 00062h ; ba 62 00 3912 3912 mov ax, strict word 00040h ; b8 40 00 3913 call 02f 77h ; e8 0d 0e3914 mov byte [bp-00 4h], al ; 88 46 fc3913 call 02f34h ; e8 ca 0d 3914 mov byte [bp-006h], al ; 88 46 fa 3915 3915 mov dx, strict word 00049h ; ba 49 00 3916 3916 mov ax, strict word 00040h ; b8 40 00 3917 call 02f 77h ; e8 01 0e3917 call 02f34h ; e8 be 0d 3918 3918 xor ah, ah ; 30 e4 3919 call 02f 50h ; e8 d50d3920 mov byte [bp-0 0eh], al ; 88 46 f23919 call 02f0dh ; e8 92 0d 3920 mov byte [bp-010h], al ; 88 46 f0 3921 3921 cmp AL, strict byte 0ffh ; 3c ff 3922 je near 023 c7h ; 0f 84 43023923 movzx ax, byte [bp-00 4h] ; 0f b6 46 fc3922 je near 02384h ; 0f 84 00 02 3923 movzx ax, byte [bp-006h] ; 0f b6 46 fa 3924 3924 lea bx, [bp-018h] ; 8d 5e e8 3925 3925 lea dx, [bp-016h] ; 8d 56 ea … … 3933 3933 mov dx, 00084h ; ba 84 00 3934 3934 mov ax, strict word 00040h ; b8 40 00 3935 call 02f 77h ; e8 cc0d3935 call 02f34h ; e8 89 0d 3936 3936 xor ah, ah ; 30 e4 3937 3937 inc ax ; 40 … … 3939 3939 mov dx, strict word 0004ah ; ba 4a 00 3940 3940 mov ax, strict word 00040h ; b8 40 00 3941 call 02f 93h ; e8 d90d3941 call 02f50h ; e8 96 0d 3942 3942 mov word [bp-012h], ax ; 89 46 ee 3943 3943 mov al, byte [bp-00ch] ; 8a 46 f4 3944 cmp AL, strict byte 00 9h ; 3c 093945 jc short 021d 0h ; 72 0c3946 jbe short 021 f7h ; 76 313944 cmp AL, strict byte 008h ; 3c 08 3945 jc short 021d2h ; 72 0e 3946 jbe short 021dah ; 76 14 3947 3947 cmp AL, strict byte 00dh ; 3c 0d 3948 je short 021e ah ; 74 203948 je short 021e8h ; 74 1e 3949 3949 cmp AL, strict byte 00ah ; 3c 0a 3950 je short 021f1h ; 74 23 3951 jmp short 02238h ; eb 68 3952 cmp AL, strict byte 008h ; 3c 08 3953 je short 021dch ; 74 08 3950 je near 022dah ; 0f 84 0a 01 3951 jmp short 021efh ; eb 1d 3954 3952 cmp AL, strict byte 007h ; 3c 07 3955 je near 02 314h ; 0f 84 3a013956 jmp short 02 238h ; eb 5c3953 je near 022ddh ; 0f 84 05 01 3954 jmp short 021efh ; eb 15 3957 3955 cmp byte [bp-008h], 000h ; 80 7e f8 00 3958 jbe near 02 314h ; 0f 86 30 013956 jbe near 022ddh ; 0f 86 fb 00 3959 3957 dec byte [bp-008h] ; fe 4e f8 3960 jmp near 02 314h ; e9 2a 013958 jmp near 022ddh ; e9 f5 00 3961 3959 mov byte [bp-008h], 000h ; c6 46 f8 00 3962 jmp near 02314h ; e9 23 01 3963 inc byte [bp-00ah] ; fe 46 f6 3964 jmp near 02314h ; e9 1d 01 3965 movzx cx, byte [bp-010h] ; 0f b6 4e f0 3966 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3967 movzx si, byte [bp-004h] ; 0f b6 76 fc 3968 mov dx, si ; 89 f2 3969 mov ax, strict word 00020h ; b8 20 00 3970 call 02149h ; e8 3e ff 3971 lea bx, [bp-018h] ; 8d 5e e8 3972 lea dx, [bp-016h] ; 8d 56 ea 3973 mov ax, si ; 89 f0 3974 call 00a88h ; e8 72 e8 3975 mov al, byte [bp-018h] ; 8a 46 e8 3976 mov byte [bp-008h], al ; 88 46 f8 3977 mov ax, word [bp-018h] ; 8b 46 e8 3978 xor al, al ; 30 c0 3979 shr ax, 008h ; c1 e8 08 3980 mov byte [bp-00ah], al ; 88 46 f6 3981 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3982 mov bx, strict word 00008h ; bb 08 00 3983 cwd ; 99 3984 idiv bx ; f7 fb 3985 test dx, dx ; 85 d2 3986 je short 021f7h ; 74 c2 3987 jmp near 02314h ; e9 dc 00 3988 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3960 jmp near 022ddh ; e9 ee 00 3961 movzx bx, byte [bp-010h] ; 0f b6 5e f0 3989 3962 mov si, bx ; 89 de 3990 3963 sal si, 003h ; c1 e6 03 3991 3964 cmp byte [si+04830h], 000h ; 80 bc 30 48 00 3992 jne short 022 93h ; 75 4b3965 jne short 0224ch ; 75 4d 3993 3966 mov ax, word [bp-012h] ; 8b 46 ee 3994 3967 imul ax, word [bp-014h] ; 0f af 46 ec 3995 3968 add ax, ax ; 01 c0 3996 3969 or AL, strict byte 0ffh ; 0c ff 3997 movzx dx, byte [bp-004h] ; 0f b6 56 fc 3998 inc ax ; 40 3999 imul dx, ax ; 0f af d0 4000 movzx cx, byte [bp-00ah] ; 0f b6 4e f6 4001 imul cx, word [bp-012h] ; 0f af 4e ee 4002 movzx bx, byte [bp-008h] ; 0f b6 5e f8 4003 add cx, bx ; 01 d9 4004 add cx, cx ; 01 c9 4005 add cx, dx ; 01 d1 3970 movzx dx, byte [bp-006h] ; 0f b6 56 fa 3971 mov cx, ax ; 89 c1 3972 inc cx ; 41 3973 imul cx, dx ; 0f af ca 3974 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 3975 imul ax, word [bp-012h] ; 0f af 46 ee 3976 movzx dx, byte [bp-008h] ; 0f b6 56 f8 3977 add ax, dx ; 01 d0 3978 add ax, ax ; 01 c0 3979 add cx, ax ; 01 c1 4006 3980 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 4007 3981 mov ax, word [si+04833h] ; 8b 84 33 48 4008 3982 mov dx, cx ; 89 ca 4009 call 02f 85h ; e8 0b0d4010 cmp byte [bp-0 10h], 003h ; 80 7e f0034011 jne near 02 311h ; 0f 85 8f 004012 movzx bx, byte [bp-00 6h] ; 0f b6 5e fa3983 call 02f42h ; e8 0f 0d 3984 cmp byte [bp-00eh], 003h ; 80 7e f2 03 3985 jne near 022cah ; 0f 85 8f 00 3986 movzx bx, byte [bp-004h] ; 0f b6 5e fc 4013 3987 mov dx, cx ; 89 ca 4014 3988 inc dx ; 42 4015 3989 mov ax, word [si+04833h] ; 8b 84 33 48 4016 call 02f 85h ; e8 f50c4017 jmp near 02 311h ; e9 7e 003990 call 02f42h ; e8 f9 0c 3991 jmp near 022cah ; e9 7e 00 4018 3992 movzx bx, byte [bx+048afh] ; 0f b6 9f af 48 4019 3993 sal bx, 006h ; c1 e3 06 … … 4022 3996 mov al, byte [si+04831h] ; 8a 84 31 48 4023 3997 cmp AL, strict byte 003h ; 3c 03 4024 jc short 022 b7h ; 72 0c4025 jbe short 022 bdh ; 76 103998 jc short 02270h ; 72 0c 3999 jbe short 02276h ; 76 10 4026 4000 cmp AL, strict byte 005h ; 3c 05 4027 je short 022 f9h ; 74 484001 je short 022b2h ; 74 48 4028 4002 cmp AL, strict byte 004h ; 3c 04 4029 je short 022 bdh ; 74 084030 jmp short 02 311h ; eb 5a4003 je short 02276h ; 74 08 4004 jmp short 022cah ; eb 5a 4031 4005 cmp AL, strict byte 002h ; 3c 02 4032 je short 022 dbh ; 74 204033 jmp short 02 311h ; eb 544006 je short 02294h ; 74 20 4007 jmp short 022cah ; eb 54 4034 4008 movzx ax, ah ; 0f b6 c4 4035 4009 push ax ; 50 … … 4038 4012 movzx cx, byte [bp-00ah] ; 0f b6 4e f6 4039 4013 movzx bx, byte [bp-008h] ; 0f b6 5e f8 4040 movzx dx, byte [bp-00 6h] ; 0f b6 56 fa4014 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4041 4015 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4042 call 01a6eh ; e8 95f74043 jmp short 02 311h ; eb 364016 call 01a6eh ; e8 dc f7 4017 jmp short 022cah ; eb 36 4044 4018 movzx ax, dl ; 0f b6 c2 4045 4019 push ax ; 50 … … 4048 4022 movzx cx, byte [bp-00ah] ; 0f b6 4e f6 4049 4023 movzx bx, byte [bp-008h] ; 0f b6 5e f8 4050 movzx dx, byte [bp-00 6h] ; 0f b6 56 fa4024 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4051 4025 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4052 call 01b59h ; e8 62f84053 jmp short 02 311h ; eb 184026 call 01b59h ; e8 a9 f8 4027 jmp short 022cah ; eb 18 4054 4028 movzx ax, byte [bp-012h] ; 0f b6 46 ee 4055 4029 push ax ; 50 4056 4030 movzx cx, byte [bp-00ah] ; 0f b6 4e f6 4057 4031 movzx bx, byte [bp-008h] ; 0f b6 5e f8 4058 movzx dx, byte [bp-00 6h] ; 0f b6 56 fa4032 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4059 4033 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4060 call 01c77h ; e8 66f94034 call 01c77h ; e8 ad f9 4061 4035 inc byte [bp-008h] ; fe 46 f8 4062 4036 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4063 4037 cmp ax, word [bp-012h] ; 3b 46 ee 4064 jne short 02 324h ; 75 074038 jne short 022ddh ; 75 07 4065 4039 mov byte [bp-008h], 000h ; c6 46 f8 00 4066 4040 inc byte [bp-00ah] ; fe 46 f6 4067 4041 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 4068 4042 cmp ax, word [bp-014h] ; 3b 46 ec 4069 jne near 023 abh ; 0f 85 7c004070 movzx si, byte [bp-0 0eh] ; 0f b6 76 f24043 jne near 02368h ; 0f 85 80 00 4044 movzx si, byte [bp-010h] ; 0f b6 76 f0 4071 4045 sal si, 003h ; c1 e6 03 4072 mov bl, byte [bp-014h] ; 8a 5e ec 4046 mov bh, byte [bp-014h] ; 8a 7e ec 4047 db 0feh, 0cfh 4048 ; dec bh ; fe cf 4049 mov bl, byte [bp-012h] ; 8a 5e ee 4073 4050 db 0feh, 0cbh 4074 4051 ; dec bl ; fe cb 4075 mov bh, byte [bp-012h] ; 8a 7e ee4076 db 0feh, 0cfh4077 ; dec bh ; fe cf4078 4052 cmp byte [si+04830h], 000h ; 80 bc 30 48 00 4079 jne short 023 8dh ; 75 464053 jne short 0234ah ; 75 4a 4080 4054 mov ax, word [bp-012h] ; 8b 46 ee 4081 4055 imul ax, word [bp-014h] ; 0f af 46 ec 4082 4056 add ax, ax ; 01 c0 4083 4057 or AL, strict byte 0ffh ; 0c ff 4084 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4085 inc ax ; 40 4086 imul dx, ax ; 0f af d0 4058 movzx dx, byte [bp-006h] ; 0f b6 56 fa 4059 mov cx, ax ; 89 c1 4060 inc cx ; 41 4061 imul cx, dx ; 0f af ca 4087 4062 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 4088 4063 dec ax ; 48 4089 4064 imul ax, word [bp-012h] ; 0f af 46 ee 4090 movzx cx, byte [bp-008h] ; 0f b6 4e f8 4091 add cx, ax ; 01 c1 4092 add cx, cx ; 01 c9 4093 add dx, cx ; 01 ca 4065 movzx dx, byte [bp-008h] ; 0f b6 56 f8 4066 add ax, dx ; 01 d0 4067 add ax, ax ; 01 c0 4068 mov dx, cx ; 89 ca 4069 add dx, ax ; 01 c2 4094 4070 inc dx ; 42 4095 4071 mov ax, word [si+04833h] ; 8b 84 33 48 4096 call 02f 77h ; e8 02 0c4072 call 02f34h ; e8 02 0c 4097 4073 push strict byte 00001h ; 6a 01 4098 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4074 movzx dx, byte [bp-006h] ; 0f b6 56 fa 4075 push dx ; 52 4076 movzx dx, bl ; 0f b6 d3 4099 4077 push dx ; 52 4100 4078 movzx dx, bh ; 0f b6 d7 4101 push dx ; 524102 movzx dx, bl ; 0f b6 d34103 4079 push dx ; 52 4104 4080 movzx dx, al ; 0f b6 d0 4105 4081 xor cx, cx ; 31 c9 4106 4082 xor bx, bx ; 31 db 4107 jmp short 023 a2h ; eb 154083 jmp short 0235fh ; eb 15 4108 4084 push strict byte 00001h ; 6a 01 4109 movzx ax, byte [bp-004h] ; 0f b6 46 fc 4085 movzx ax, byte [bp-006h] ; 0f b6 46 fa 4086 push ax ; 50 4087 movzx ax, bl ; 0f b6 c3 4110 4088 push ax ; 50 4111 4089 movzx ax, bh ; 0f b6 c7 4112 push ax ; 504113 movzx ax, bl ; 0f b6 c34114 4090 push ax ; 50 4115 4091 xor cx, cx ; 31 c9 … … 4117 4093 xor dx, dx ; 31 d2 4118 4094 mov ax, strict word 00001h ; b8 01 00 4119 call 01568h ; e8 c0 f14095 call 01568h ; e8 03 f2 4120 4096 dec byte [bp-00ah] ; fe 4e f6 4121 4097 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 … … 4125 4101 add word [bp-018h], ax ; 01 46 e8 4126 4102 mov dx, word [bp-018h] ; 8b 56 e8 4127 movzx ax, byte [bp-00 4h] ; 0f b6 46 fc4128 call 00e5eh ; e8 97ea4103 movzx ax, byte [bp-006h] ; 0f b6 46 fa 4104 call 00e5eh ; e8 da ea 4129 4105 lea sp, [bp-002h] ; 8d 66 fe 4130 4106 pop si ; 5e 4131 4107 pop bp ; 5d 4132 4108 retn ; c3 4133 get_font_access_: ; 0xc23 cdLB 0x2c4109 get_font_access_: ; 0xc238a LB 0x2c 4134 4110 push bp ; 55 4135 4111 mov bp, sp ; 89 e5 … … 4155 4131 pop bp ; 5d 4156 4132 retn ; c3 4157 release_font_access_: ; 0xc23 f9LB 0x3c4133 release_font_access_: ; 0xc23b6 LB 0x3c 4158 4134 push bp ; 55 4159 4135 mov bp, sp ; 89 e5 … … 4187 4163 pop bp ; 5d 4188 4164 retn ; c3 4189 set_scan_lines_: ; 0xc2 435LB 0xbf4165 set_scan_lines_: ; 0xc23f2 LB 0xbf 4190 4166 push bp ; 55 4191 4167 mov bp, sp ; 89 e5 … … 4198 4174 mov dx, strict word 00063h ; ba 63 00 4199 4175 mov ax, strict word 00040h ; b8 40 00 4200 call 02f 93h ; e8 4b 0b4176 call 02f50h ; e8 4b 0b 4201 4177 mov dx, ax ; 89 c2 4202 4178 mov si, ax ; 89 c6 … … 4215 4191 out DX, AL ; ee 4216 4192 cmp bl, 008h ; 80 fb 08 4217 jne short 024 6ch ; 75 084193 jne short 02429h ; 75 08 4218 4194 mov dx, strict word 00007h ; ba 07 00 4219 4195 mov ax, strict word 00006h ; b8 06 00 4220 jmp short 024 79h ; eb 0d4196 jmp short 02436h ; eb 0d 4221 4197 mov al, bl ; 88 d8 4222 4198 sub AL, strict byte 003h ; 2c 03 … … 4225 4201 sub AL, strict byte 004h ; 2c 04 4226 4202 xor ah, ah ; 30 e4 4227 call 00dbah ; e8 3ee94203 call 00dbah ; e8 81 e9 4228 4204 movzx di, bl ; 0f b6 fb 4229 4205 mov bx, di ; 89 fb 4230 4206 mov dx, 00085h ; ba 85 00 4231 4207 mov ax, strict word 00040h ; b8 40 00 4232 call 02f a1h ; e8 17 0b4208 call 02f5eh ; e8 17 0b 4233 4209 mov AL, strict byte 012h ; b0 12 4234 4210 mov dx, si ; 89 f2 … … 4265 4241 mov dx, 00084h ; ba 84 00 4266 4242 mov ax, strict word 00040h ; b8 40 00 4267 call 02f 85h ; e8 b7 0a4243 call 02f42h ; e8 b7 0a 4268 4244 mov dx, strict word 0004ah ; ba 4a 00 4269 4245 mov ax, strict word 00040h ; b8 40 00 4270 call 02f 93h ; e8 bc 0a4246 call 02f50h ; e8 bc 0a 4271 4247 movzx dx, cl ; 0f b6 d1 4272 4248 mov bx, ax ; 89 c3 … … 4275 4251 mov dx, strict word 0004ch ; ba 4c 00 4276 4252 mov ax, strict word 00040h ; b8 40 00 4277 call 02f a1h ; e8 b7 0a4253 call 02f5eh ; e8 b7 0a 4278 4254 lea sp, [bp-00ah] ; 8d 66 f6 4279 4255 pop di ; 5f … … 4284 4260 pop bp ; 5d 4285 4261 retn ; c3 4286 biosfn_load_text_user_pat_: ; 0xc24 f4LB 0x7d4262 biosfn_load_text_user_pat_: ; 0xc24b1 LB 0x7d 4287 4263 push bp ; 55 4288 4264 mov bp, sp ; 89 e5 … … 4294 4270 mov word [bp-008h], bx ; 89 5e f8 4295 4271 mov word [bp-00ah], cx ; 89 4e f6 4296 call 023 cdh ; e8 c2 fe4272 call 0238ah ; e8 c2 fe 4297 4273 mov al, byte [bp+006h] ; 8a 46 06 4298 4274 and AL, strict byte 003h ; 24 03 … … 4308 4284 xor bx, bx ; 31 db 4309 4285 cmp bx, word [bp-00ah] ; 3b 5e f6 4310 jnc short 025 58h ; 73 2b4286 jnc short 02515h ; 73 2b 4311 4287 movzx cx, byte [bp+008h] ; 0f b6 4e 08 4312 4288 mov si, bx ; 89 de … … 4321 4297 mov es, ax ; 8e c0 4322 4298 cld ; fc 4323 jcxz 025 55h ; e3 064299 jcxz 02512h ; e3 06 4324 4300 push DS ; 1e 4325 4301 mov ds, dx ; 8e da … … 4327 4303 pop DS ; 1f 4328 4304 inc bx ; 43 4329 jmp short 02 528h ; eb d04330 call 023 f9h ; e8 9e fe4305 jmp short 024e5h ; eb d0 4306 call 023b6h ; e8 9e fe 4331 4307 cmp byte [bp-006h], 010h ; 80 7e fa 10 4332 jc short 025 68h ; 72 074308 jc short 02525h ; 72 07 4333 4309 movzx ax, byte [bp+008h] ; 0f b6 46 08 4334 call 02 435h ; e8 cd fe4310 call 023f2h ; e8 cd fe 4335 4311 lea sp, [bp-004h] ; 8d 66 fc 4336 4312 pop di ; 5f … … 4338 4314 pop bp ; 5d 4339 4315 retn 00006h ; c2 06 00 4340 biosfn_load_text_8_14_pat_: ; 0xc25 71LB 0x704316 biosfn_load_text_8_14_pat_: ; 0xc252e LB 0x70 4341 4317 push bp ; 55 4342 4318 mov bp, sp ; 89 e5 … … 4348 4324 push ax ; 50 4349 4325 mov byte [bp-00ah], al ; 88 46 f6 4350 call 023 cdh ; e8 4d fe4326 call 0238ah ; e8 4d fe 4351 4327 mov al, dl ; 88 d0 4352 4328 and AL, strict byte 003h ; 24 03 … … 4361 4337 mov word [bp-00ch], bx ; 89 5e f4 4362 4338 xor bx, bx ; 31 db 4363 jmp short 025 a3h ; eb 064339 jmp short 02560h ; eb 06 4364 4340 cmp bx, 00100h ; 81 fb 00 01 4365 jnc short 025 c9h ; 73 264341 jnc short 02586h ; 73 26 4366 4342 imul si, bx, strict byte 0000eh ; 6b f3 0e 4367 4343 mov di, bx ; 89 df … … 4374 4350 mov es, ax ; 8e c0 4375 4351 cld ; fc 4376 jcxz 025 c6h ; e3 064352 jcxz 02583h ; e3 06 4377 4353 push DS ; 1e 4378 4354 mov ds, dx ; 8e da … … 4380 4356 pop DS ; 1f 4381 4357 inc bx ; 43 4382 jmp short 025 9dh ; eb d44383 call 023 f9h ; e8 2d fe4358 jmp short 0255ah ; eb d4 4359 call 023b6h ; e8 2d fe 4384 4360 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4385 jc short 025 d8h ; 72 064361 jc short 02595h ; 72 06 4386 4362 mov ax, strict word 0000eh ; b8 0e 00 4387 call 02 435h ; e8 5d fe4363 call 023f2h ; e8 5d fe 4388 4364 lea sp, [bp-008h] ; 8d 66 f8 4389 4365 pop di ; 5f … … 4393 4369 pop bp ; 5d 4394 4370 retn ; c3 4395 biosfn_load_text_8_8_pat_: ; 0xc25 e1LB 0x724371 biosfn_load_text_8_8_pat_: ; 0xc259e LB 0x72 4396 4372 push bp ; 55 4397 4373 mov bp, sp ; 89 e5 … … 4403 4379 push ax ; 50 4404 4380 mov byte [bp-00ah], al ; 88 46 f6 4405 call 023 cdh ; e8 dd fd4381 call 0238ah ; e8 dd fd 4406 4382 mov al, dl ; 88 d0 4407 4383 and AL, strict byte 003h ; 24 03 … … 4416 4392 mov word [bp-00ch], bx ; 89 5e f4 4417 4393 xor bx, bx ; 31 db 4418 jmp short 02 613h ; eb 064394 jmp short 025d0h ; eb 06 4419 4395 cmp bx, 00100h ; 81 fb 00 01 4420 jnc short 02 63bh ; 73 284396 jnc short 025f8h ; 73 28 4421 4397 mov si, bx ; 89 de 4422 4398 sal si, 003h ; c1 e6 03 … … 4430 4406 mov es, ax ; 8e c0 4431 4407 cld ; fc 4432 jcxz 02 638h ; e3 064408 jcxz 025f5h ; e3 06 4433 4409 push DS ; 1e 4434 4410 mov ds, dx ; 8e da … … 4436 4412 pop DS ; 1f 4437 4413 inc bx ; 43 4438 jmp short 02 60dh ; eb d24439 call 023 f9h ; e8 bb fd4414 jmp short 025cah ; eb d2 4415 call 023b6h ; e8 bb fd 4440 4416 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4441 jc short 026 4ah ; 72 064417 jc short 02607h ; 72 06 4442 4418 mov ax, strict word 00008h ; b8 08 00 4443 call 02 435h ; e8 eb fd4419 call 023f2h ; e8 eb fd 4444 4420 lea sp, [bp-008h] ; 8d 66 f8 4445 4421 pop di ; 5f … … 4449 4425 pop bp ; 5d 4450 4426 retn ; c3 4451 biosfn_load_text_8_16_pat_: ; 0xc26 53LB 0x724427 biosfn_load_text_8_16_pat_: ; 0xc2610 LB 0x72 4452 4428 push bp ; 55 4453 4429 mov bp, sp ; 89 e5 … … 4459 4435 push ax ; 50 4460 4436 mov byte [bp-00ah], al ; 88 46 f6 4461 call 023 cdh ; e8 6b fd4437 call 0238ah ; e8 6b fd 4462 4438 mov al, dl ; 88 d0 4463 4439 and AL, strict byte 003h ; 24 03 … … 4472 4448 mov word [bp-00ch], bx ; 89 5e f4 4473 4449 xor bx, bx ; 31 db 4474 jmp short 026 85h ; eb 064450 jmp short 02642h ; eb 06 4475 4451 cmp bx, 00100h ; 81 fb 00 01 4476 jnc short 026 adh ; 73 284452 jnc short 0266ah ; 73 28 4477 4453 mov si, bx ; 89 de 4478 4454 sal si, 004h ; c1 e6 04 … … 4486 4462 mov es, ax ; 8e c0 4487 4463 cld ; fc 4488 jcxz 026 aah ; e3 064464 jcxz 02667h ; e3 06 4489 4465 push DS ; 1e 4490 4466 mov ds, dx ; 8e da … … 4492 4468 pop DS ; 1f 4493 4469 inc bx ; 43 4494 jmp short 026 7fh ; eb d24495 call 023 f9h ; e8 49 fd4470 jmp short 0263ch ; eb d2 4471 call 023b6h ; e8 49 fd 4496 4472 cmp byte [bp-00ah], 010h ; 80 7e f6 10 4497 jc short 026 bch ; 72 064473 jc short 02679h ; 72 06 4498 4474 mov ax, strict word 00010h ; b8 10 00 4499 call 02 435h ; e8 79 fd4475 call 023f2h ; e8 79 fd 4500 4476 lea sp, [bp-008h] ; 8d 66 f8 4501 4477 pop di ; 5f … … 4505 4481 pop bp ; 5d 4506 4482 retn ; c3 4507 biosfn_load_gfx_8_8_chars_: ; 0xc26 c5LB 0x54483 biosfn_load_gfx_8_8_chars_: ; 0xc2682 LB 0x5 4508 4484 push bp ; 55 4509 4485 mov bp, sp ; 89 e5 4510 4486 pop bp ; 5d 4511 4487 retn ; c3 4512 biosfn_load_gfx_user_chars_: ; 0xc26 caLB 0x74488 biosfn_load_gfx_user_chars_: ; 0xc2687 LB 0x7 4513 4489 push bp ; 55 4514 4490 mov bp, sp ; 89 e5 4515 4491 pop bp ; 5d 4516 4492 retn 00002h ; c2 02 00 4517 biosfn_load_gfx_8_14_chars_: ; 0xc26 d1LB 0x54493 biosfn_load_gfx_8_14_chars_: ; 0xc268e LB 0x5 4518 4494 push bp ; 55 4519 4495 mov bp, sp ; 89 e5 4520 4496 pop bp ; 5d 4521 4497 retn ; c3 4522 biosfn_load_gfx_8_8_dd_chars_: ; 0xc26 d6LB 0x54498 biosfn_load_gfx_8_8_dd_chars_: ; 0xc2693 LB 0x5 4523 4499 push bp ; 55 4524 4500 mov bp, sp ; 89 e5 4525 4501 pop bp ; 5d 4526 4502 retn ; c3 4527 biosfn_load_gfx_8_16_chars_: ; 0xc26 dbLB 0x54503 biosfn_load_gfx_8_16_chars_: ; 0xc2698 LB 0x5 4528 4504 push bp ; 55 4529 4505 mov bp, sp ; 89 e5 4530 4506 pop bp ; 5d 4531 4507 retn ; c3 4532 biosfn_alternate_prtsc_: ; 0xc26 e0LB 0x54508 biosfn_alternate_prtsc_: ; 0xc269d LB 0x5 4533 4509 push bp ; 55 4534 4510 mov bp, sp ; 89 e5 4535 4511 pop bp ; 5d 4536 4512 retn ; c3 4537 biosfn_switch_video_interface_: ; 0xc26 e5LB 0x54513 biosfn_switch_video_interface_: ; 0xc26a2 LB 0x5 4538 4514 push bp ; 55 4539 4515 mov bp, sp ; 89 e5 4540 4516 pop bp ; 5d 4541 4517 retn ; c3 4542 biosfn_enable_video_refresh_control_: ; 0xc26 eaLB 0x54518 biosfn_enable_video_refresh_control_: ; 0xc26a7 LB 0x5 4543 4519 push bp ; 55 4544 4520 mov bp, sp ; 89 e5 4545 4521 pop bp ; 5d 4546 4522 retn ; c3 4547 biosfn_write_string_: ; 0xc26 efLB 0x9c4523 biosfn_write_string_: ; 0xc26ac LB 0x9c 4548 4524 push bp ; 55 4549 4525 mov bp, sp ; 89 e5 … … 4559 4535 lea bx, [bp-00eh] ; 8d 5e f2 4560 4536 lea dx, [bp-00ch] ; 8d 56 f4 4561 call 00a88h ; e8 77e34537 call 00a88h ; e8 ba e3 4562 4538 cmp byte [bp+004h], 0ffh ; 80 7e 04 ff 4563 jne short 02 728h ; 75 114539 jne short 026e5h ; 75 11 4564 4540 mov al, byte [bp-00eh] ; 8a 46 f2 4565 4541 mov byte [bp+006h], al ; 88 46 06 … … 4573 4549 add dx, ax ; 01 c2 4574 4550 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4575 call 00e5eh ; e8 22e74551 call 00e5eh ; e8 65 e7 4576 4552 dec si ; 4e 4577 4553 cmp si, strict byte 0ffffh ; 83 fe ff 4578 je short 027 72h ; 74 304554 je short 0272fh ; 74 30 4579 4555 mov dx, di ; 89 fa 4580 4556 inc di ; 47 4581 4557 mov ax, word [bp+008h] ; 8b 46 08 4582 call 02f 77h ; e8 2c 084558 call 02f34h ; e8 2c 08 4583 4559 mov cl, al ; 88 c1 4584 4560 test byte [bp-00ah], 002h ; f6 46 f6 02 4585 je short 027 5fh ; 74 0c4561 je short 0271ch ; 74 0c 4586 4562 mov dx, di ; 89 fa 4587 4563 inc di ; 47 4588 4564 mov ax, word [bp+008h] ; 8b 46 08 4589 call 02f 77h ; e8 1b 084565 call 02f34h ; e8 1b 08 4590 4566 mov byte [bp-006h], al ; 88 46 fa 4591 4567 movzx bx, byte [bp-006h] ; 0f b6 5e fa … … 4593 4569 movzx ax, cl ; 0f b6 c1 4594 4570 mov cx, strict word 00003h ; b9 03 00 4595 call 02149h ; e8 d9 f94596 jmp short 02 73ch ; eb ca4571 call 02149h ; e8 1c fa 4572 jmp short 026f9h ; eb ca 4597 4573 test byte [bp-00ah], 001h ; f6 46 f6 01 4598 jne short 027 82h ; 75 0a4574 jne short 0273fh ; 75 0a 4599 4575 mov dx, word [bp-00eh] ; 8b 56 f2 4600 4576 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4601 call 00e5eh ; e8 dc e64577 call 00e5eh ; e8 1f e7 4602 4578 lea sp, [bp-004h] ; 8d 66 fc 4603 4579 pop di ; 5f … … 4605 4581 pop bp ; 5d 4606 4582 retn 00008h ; c2 08 00 4607 biosfn_read_state_info_: ; 0xc27 8bLB 0x1014583 biosfn_read_state_info_: ; 0xc2748 LB 0x101 4608 4584 push bp ; 55 4609 4585 mov bp, sp ; 89 e5 … … 4617 4593 mov dx, word [bp-00ah] ; 8b 56 f6 4618 4594 mov ax, word [bp-008h] ; 8b 46 f8 4619 call 02f c1h ; e8 20 084595 call 02f7eh ; e8 20 08 4620 4596 mov di, word [bp-00ah] ; 8b 7e f6 4621 4597 add di, strict byte 00004h ; 83 c7 04 … … 4625 4601 mov es, [bp-008h] ; 8e 46 f8 4626 4602 cld ; fc 4627 jcxz 027 bch ; e3 064603 jcxz 02779h ; e3 06 4628 4604 push DS ; 1e 4629 4605 mov ds, dx ; 8e da … … 4637 4613 mov es, [bp-008h] ; 8e 46 f8 4638 4614 cld ; fc 4639 jcxz 027 d7h ; e3 064615 jcxz 02794h ; e3 06 4640 4616 push DS ; 1e 4641 4617 mov ds, dx ; 8e da … … 4644 4620 mov dx, 0008ah ; ba 8a 00 4645 4621 mov ax, strict word 00040h ; b8 40 00 4646 call 02f 77h ; e8 97 074622 call 02f34h ; e8 97 07 4647 4623 movzx bx, al ; 0f b6 d8 4648 4624 mov dx, word [bp-00ah] ; 8b 56 f6 4649 4625 add dx, strict byte 00025h ; 83 c2 25 4650 4626 mov ax, word [bp-008h] ; 8b 46 f8 4651 call 02f 85h ; e8 96 074627 call 02f42h ; e8 96 07 4652 4628 mov dx, word [bp-00ah] ; 8b 56 f6 4653 4629 add dx, strict byte 00026h ; 83 c2 26 4654 4630 xor bx, bx ; 31 db 4655 4631 mov ax, word [bp-008h] ; 8b 46 f8 4656 call 02f 85h ; e8 88 074632 call 02f42h ; e8 88 07 4657 4633 mov dx, word [bp-00ah] ; 8b 56 f6 4658 4634 add dx, strict byte 00027h ; 83 c2 27 4659 4635 mov bx, strict word 00010h ; bb 10 00 4660 4636 mov ax, word [bp-008h] ; 8b 46 f8 4661 call 02f 85h ; e8 79 074637 call 02f42h ; e8 79 07 4662 4638 mov dx, word [bp-00ah] ; 8b 56 f6 4663 4639 add dx, strict byte 00028h ; 83 c2 28 4664 4640 xor bx, bx ; 31 db 4665 4641 mov ax, word [bp-008h] ; 8b 46 f8 4666 call 02f 85h ; e8 6b 074642 call 02f42h ; e8 6b 07 4667 4643 mov dx, word [bp-00ah] ; 8b 56 f6 4668 4644 add dx, strict byte 00029h ; 83 c2 29 4669 4645 mov bx, strict word 00008h ; bb 08 00 4670 4646 mov ax, word [bp-008h] ; 8b 46 f8 4671 call 02f 85h ; e8 5c 074647 call 02f42h ; e8 5c 07 4672 4648 mov dx, word [bp-00ah] ; 8b 56 f6 4673 4649 add dx, strict byte 0002ah ; 83 c2 2a 4674 4650 mov bx, strict word 00002h ; bb 02 00 4675 4651 mov ax, word [bp-008h] ; 8b 46 f8 4676 call 02f 85h ; e8 4d 074652 call 02f42h ; e8 4d 07 4677 4653 mov dx, word [bp-00ah] ; 8b 56 f6 4678 4654 add dx, strict byte 0002bh ; 83 c2 2b 4679 4655 xor bx, bx ; 31 db 4680 4656 mov ax, word [bp-008h] ; 8b 46 f8 4681 call 02f 85h ; e8 3f 074657 call 02f42h ; e8 3f 07 4682 4658 mov dx, word [bp-00ah] ; 8b 56 f6 4683 4659 add dx, strict byte 0002ch ; 83 c2 2c 4684 4660 xor bx, bx ; 31 db 4685 4661 mov ax, word [bp-008h] ; 8b 46 f8 4686 call 02f 85h ; e8 31 074662 call 02f42h ; e8 31 07 4687 4663 mov dx, word [bp-00ah] ; 8b 56 f6 4688 4664 add dx, strict byte 00031h ; 83 c2 31 4689 4665 mov bx, strict word 00003h ; bb 03 00 4690 4666 mov ax, word [bp-008h] ; 8b 46 f8 4691 call 02f 85h ; e8 22 074667 call 02f42h ; e8 22 07 4692 4668 mov dx, word [bp-00ah] ; 8b 56 f6 4693 4669 add dx, strict byte 00032h ; 83 c2 32 4694 4670 xor bx, bx ; 31 db 4695 4671 mov ax, word [bp-008h] ; 8b 46 f8 4696 call 02f 85h ; e8 14 074672 call 02f42h ; e8 14 07 4697 4673 mov di, word [bp-00ah] ; 8b 7e f6 4698 4674 add di, strict byte 00033h ; 83 c7 33 … … 4701 4677 mov es, [bp-008h] ; 8e 46 f8 4702 4678 cld ; fc 4703 jcxz 028 84h ; e3 024679 jcxz 02841h ; e3 02 4704 4680 rep stosb ; f3 aa 4705 4681 lea sp, [bp-006h] ; 8d 66 fa … … 4709 4685 pop bp ; 5d 4710 4686 retn ; c3 4711 biosfn_read_video_state_size2_: ; 0xc28 8cLB 0x234687 biosfn_read_video_state_size2_: ; 0xc2849 LB 0x23 4712 4688 push dx ; 52 4713 4689 push bp ; 55 … … 4716 4692 xor ax, ax ; 31 c0 4717 4693 test dl, 001h ; f6 c2 01 4718 je short 028 9ch ; 74 034694 je short 02859h ; 74 03 4719 4695 mov ax, strict word 00046h ; b8 46 00 4720 4696 test dl, 002h ; f6 c2 02 4721 je short 028 a4h ; 74 034697 je short 02861h ; 74 03 4722 4698 add ax, strict word 0002ah ; 05 2a 00 4723 4699 test dl, 004h ; f6 c2 04 4724 je short 028 ach ; 74 034700 je short 02869h ; 74 03 4725 4701 add ax, 00304h ; 05 04 03 4726 4702 pop bp ; 5d 4727 4703 pop dx ; 5a 4728 4704 retn ; c3 4729 vga_get_video_state_size_: ; 0xc28 afLB 0x124705 vga_get_video_state_size_: ; 0xc286c LB 0x12 4730 4706 push bp ; 55 4731 4707 mov bp, sp ; 89 e5 4732 4708 push bx ; 53 4733 4709 mov bx, dx ; 89 d3 4734 call 028 8ch ; e8 d4 ff4710 call 02849h ; e8 d4 ff 4735 4711 mov word [ss:bx], ax ; 36 89 07 4736 4712 lea sp, [bp-002h] ; 8d 66 fe … … 4738 4714 pop bp ; 5d 4739 4715 retn ; c3 4740 biosfn_save_video_state_: ; 0xc28 c1LB 0x3694716 biosfn_save_video_state_: ; 0xc287e LB 0x369 4741 4717 push bp ; 55 4742 4718 mov bp, sp ; 89 e5 … … 4751 4727 mov dx, strict word 00063h ; ba 63 00 4752 4728 mov ax, strict word 00040h ; b8 40 00 4753 call 02f 93h ; e8 bc 064729 call 02f50h ; e8 bc 06 4754 4730 mov di, ax ; 89 c7 4755 4731 test byte [bp-00ch], 001h ; f6 46 f4 01 4756 je near 02a 44h ; 0f 84 63 014732 je near 02a01h ; 0f 84 63 01 4757 4733 mov dx, 003c4h ; ba c4 03 4758 4734 in AL, DX ; ec … … 4762 4738 mov dx, cx ; 89 ca 4763 4739 mov ax, si ; 89 f0 4764 call 02f 85h ; e8 94 064740 call 02f42h ; e8 94 06 4765 4741 inc cx ; 41 4766 4742 mov dx, di ; 89 fa … … 4771 4747 mov dx, cx ; 89 ca 4772 4748 mov ax, si ; 89 f0 4773 call 02f 85h ; e8 84 064749 call 02f42h ; e8 84 06 4774 4750 inc cx ; 41 4775 4751 mov dx, 003ceh ; ba ce 03 … … 4780 4756 mov dx, cx ; 89 ca 4781 4757 mov ax, si ; 89 f0 4782 call 02f 85h ; e8 73 064758 call 02f42h ; e8 73 06 4783 4759 inc cx ; 41 4784 4760 mov dx, 003dah ; ba da 03 … … 4794 4770 mov dx, cx ; 89 ca 4795 4771 mov ax, si ; 89 f0 4796 call 02f 85h ; e8 58 064772 call 02f42h ; e8 58 06 4797 4773 inc cx ; 41 4798 4774 mov dx, 003cah ; ba ca 03 … … 4803 4779 mov dx, cx ; 89 ca 4804 4780 mov ax, si ; 89 f0 4805 call 02f 85h ; e8 47 064781 call 02f42h ; e8 47 06 4806 4782 mov ax, strict word 00001h ; b8 01 00 4807 4783 mov word [bp-00ah], ax ; 89 46 f6 4808 4784 add cx, ax ; 01 c1 4809 jmp short 029 4eh ; eb 064785 jmp short 0290bh ; eb 06 4810 4786 cmp word [bp-00ah], strict byte 00004h ; 83 7e f6 04 4811 jnbe short 029 6bh ; 77 1d4787 jnbe short 02928h ; 77 1d 4812 4788 mov al, byte [bp-00ah] ; 8a 46 f6 4813 4789 mov dx, 003c4h ; ba c4 03 … … 4820 4796 mov dx, cx ; 89 ca 4821 4797 mov ax, si ; 89 f0 4822 call 02f 85h ; e8 20 064798 call 02f42h ; e8 20 06 4823 4799 inc cx ; 41 4824 4800 inc word [bp-00ah] ; ff 46 f6 4825 jmp short 029 48h ; eb dd4801 jmp short 02905h ; eb dd 4826 4802 xor al, al ; 30 c0 4827 4803 mov dx, 003c4h ; ba c4 03 … … 4834 4810 mov dx, cx ; 89 ca 4835 4811 mov ax, si ; 89 f0 4836 call 02f 85h ; e8 04 064812 call 02f42h ; e8 04 06 4837 4813 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4838 4814 inc cx ; 41 4839 jmp short 029 8fh ; eb 064815 jmp short 0294ch ; eb 06 4840 4816 cmp word [bp-00ah], strict byte 00018h ; 83 7e f6 18 4841 jnbe short 029 abh ; 77 1c4817 jnbe short 02968h ; 77 1c 4842 4818 mov al, byte [bp-00ah] ; 8a 46 f6 4843 4819 mov dx, di ; 89 fa … … 4850 4826 mov dx, cx ; 89 ca 4851 4827 mov ax, si ; 89 f0 4852 call 02f 85h ; e8 e0 054828 call 02f42h ; e8 e0 05 4853 4829 inc cx ; 41 4854 4830 inc word [bp-00ah] ; ff 46 f6 4855 jmp short 029 89h ; eb de4831 jmp short 02946h ; eb de 4856 4832 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4857 jmp short 029 b8h ; eb 064833 jmp short 02975h ; eb 06 4858 4834 cmp word [bp-00ah], strict byte 00013h ; 83 7e f6 13 4859 jnbe short 029 e1h ; 77 294835 jnbe short 0299eh ; 77 29 4860 4836 mov dx, 003dah ; ba da 03 4861 4837 in AL, DX ; ec … … 4874 4850 mov dx, cx ; 89 ca 4875 4851 mov ax, si ; 89 f0 4876 call 02f 85h ; e8 aa 054852 call 02f42h ; e8 aa 05 4877 4853 inc cx ; 41 4878 4854 inc word [bp-00ah] ; ff 46 f6 4879 jmp short 029 b2h ; eb d14855 jmp short 0296fh ; eb d1 4880 4856 mov dx, 003dah ; ba da 03 4881 4857 in AL, DX ; ec … … 4883 4859 ; sub ah, ah ; 2a e4 4884 4860 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 4885 jmp short 029 f4h ; eb 064861 jmp short 029b1h ; eb 06 4886 4862 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 4887 jnbe short 02 a11h ; 77 1d4863 jnbe short 029ceh ; 77 1d 4888 4864 mov al, byte [bp-00ah] ; 8a 46 f6 4889 4865 mov dx, 003ceh ; ba ce 03 … … 4896 4872 mov dx, cx ; 89 ca 4897 4873 mov ax, si ; 89 f0 4898 call 02f 85h ; e8 7a 054874 call 02f42h ; e8 7a 05 4899 4875 inc cx ; 41 4900 4876 inc word [bp-00ah] ; ff 46 f6 4901 jmp short 029 eeh ; eb dd4877 jmp short 029abh ; eb dd 4902 4878 mov bx, di ; 89 fb 4903 4879 mov dx, cx ; 89 ca 4904 4880 mov ax, si ; 89 f0 4905 call 02f a1h ; e8 87 054881 call 02f5eh ; e8 87 05 4906 4882 inc cx ; 41 4907 4883 inc cx ; 41 … … 4909 4885 mov dx, cx ; 89 ca 4910 4886 mov ax, si ; 89 f0 4911 call 02f 85h ; e8 60 054887 call 02f42h ; e8 60 05 4912 4888 inc cx ; 41 4913 4889 xor bx, bx ; 31 db 4914 4890 mov dx, cx ; 89 ca 4915 4891 mov ax, si ; 89 f0 4916 call 02f 85h ; e8 56 054892 call 02f42h ; e8 56 05 4917 4893 inc cx ; 41 4918 4894 xor bx, bx ; 31 db 4919 4895 mov dx, cx ; 89 ca 4920 4896 mov ax, si ; 89 f0 4921 call 02f 85h ; e8 4c 054897 call 02f42h ; e8 4c 05 4922 4898 inc cx ; 41 4923 4899 xor bx, bx ; 31 db 4924 4900 mov dx, cx ; 89 ca 4925 4901 mov ax, si ; 89 f0 4926 call 02f 85h ; e8 42 054902 call 02f42h ; e8 42 05 4927 4903 inc cx ; 41 4928 4904 test byte [bp-00ch], 002h ; f6 46 f4 02 4929 je near 02b b3h ; 0f 84 67 014905 je near 02b70h ; 0f 84 67 01 4930 4906 mov dx, strict word 00049h ; ba 49 00 4931 4907 mov ax, strict word 00040h ; b8 40 00 4932 call 02f 77h ; e8 22 054908 call 02f34h ; e8 22 05 4933 4909 movzx bx, al ; 0f b6 d8 4934 4910 mov dx, cx ; 89 ca 4935 4911 mov ax, si ; 89 f0 4936 call 02f 85h ; e8 26 054912 call 02f42h ; e8 26 05 4937 4913 inc cx ; 41 4938 4914 mov dx, strict word 0004ah ; ba 4a 00 4939 4915 mov ax, strict word 00040h ; b8 40 00 4940 call 02f 93h ; e8 2a 054916 call 02f50h ; e8 2a 05 4941 4917 mov bx, ax ; 89 c3 4942 4918 mov dx, cx ; 89 ca 4943 4919 mov ax, si ; 89 f0 4944 call 02f a1h ; e8 2f 054920 call 02f5eh ; e8 2f 05 4945 4921 inc cx ; 41 4946 4922 inc cx ; 41 4947 4923 mov dx, strict word 0004ch ; ba 4c 00 4948 4924 mov ax, strict word 00040h ; b8 40 00 4949 call 02f 93h ; e8 16 054925 call 02f50h ; e8 16 05 4950 4926 mov bx, ax ; 89 c3 4951 4927 mov dx, cx ; 89 ca 4952 4928 mov ax, si ; 89 f0 4953 call 02f a1h ; e8 1b 054929 call 02f5eh ; e8 1b 05 4954 4930 inc cx ; 41 4955 4931 inc cx ; 41 4956 4932 mov dx, strict word 00063h ; ba 63 00 4957 4933 mov ax, strict word 00040h ; b8 40 00 4958 call 02f 93h ; e8 02 054934 call 02f50h ; e8 02 05 4959 4935 mov bx, ax ; 89 c3 4960 4936 mov dx, cx ; 89 ca 4961 4937 mov ax, si ; 89 f0 4962 call 02f a1h ; e8 07 054938 call 02f5eh ; e8 07 05 4963 4939 inc cx ; 41 4964 4940 inc cx ; 41 4965 4941 mov dx, 00084h ; ba 84 00 4966 4942 mov ax, strict word 00040h ; b8 40 00 4967 call 02f 77h ; e8 d2 044943 call 02f34h ; e8 d2 04 4968 4944 movzx bx, al ; 0f b6 d8 4969 4945 mov dx, cx ; 89 ca 4970 4946 mov ax, si ; 89 f0 4971 call 02f 85h ; e8 d6 044947 call 02f42h ; e8 d6 04 4972 4948 inc cx ; 41 4973 4949 mov dx, 00085h ; ba 85 00 4974 4950 mov ax, strict word 00040h ; b8 40 00 4975 call 02f 93h ; e8 da 044951 call 02f50h ; e8 da 04 4976 4952 mov bx, ax ; 89 c3 4977 4953 mov dx, cx ; 89 ca 4978 4954 mov ax, si ; 89 f0 4979 call 02f a1h ; e8 df 044955 call 02f5eh ; e8 df 04 4980 4956 inc cx ; 41 4981 4957 inc cx ; 41 4982 4958 mov dx, 00087h ; ba 87 00 4983 4959 mov ax, strict word 00040h ; b8 40 00 4984 call 02f 77h ; e8 aa 044960 call 02f34h ; e8 aa 04 4985 4961 movzx bx, al ; 0f b6 d8 4986 4962 mov dx, cx ; 89 ca 4987 4963 mov ax, si ; 89 f0 4988 call 02f 85h ; e8 ae 044964 call 02f42h ; e8 ae 04 4989 4965 inc cx ; 41 4990 4966 mov dx, 00088h ; ba 88 00 4991 4967 mov ax, strict word 00040h ; b8 40 00 4992 call 02f 77h ; e8 96 044968 call 02f34h ; e8 96 04 4993 4969 movzx bx, al ; 0f b6 d8 4994 4970 mov dx, cx ; 89 ca 4995 4971 mov ax, si ; 89 f0 4996 call 02f 85h ; e8 9a 044972 call 02f42h ; e8 9a 04 4997 4973 inc cx ; 41 4998 4974 mov dx, 00089h ; ba 89 00 4999 4975 mov ax, strict word 00040h ; b8 40 00 5000 call 02f 77h ; e8 82 044976 call 02f34h ; e8 82 04 5001 4977 movzx bx, al ; 0f b6 d8 5002 4978 mov dx, cx ; 89 ca 5003 4979 mov ax, si ; 89 f0 5004 call 02f 85h ; e8 86 044980 call 02f42h ; e8 86 04 5005 4981 inc cx ; 41 5006 4982 mov dx, strict word 00060h ; ba 60 00 5007 4983 mov ax, strict word 00040h ; b8 40 00 5008 call 02f 93h ; e8 8a 044984 call 02f50h ; e8 8a 04 5009 4985 mov bx, ax ; 89 c3 5010 4986 mov dx, cx ; 89 ca 5011 4987 mov ax, si ; 89 f0 5012 call 02f a1h ; e8 8f 044988 call 02f5eh ; e8 8f 04 5013 4989 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 5014 4990 inc cx ; 41 5015 4991 inc cx ; 41 5016 jmp short 02 b21h ; eb 064992 jmp short 02adeh ; eb 06 5017 4993 cmp word [bp-00ah], strict byte 00008h ; 83 7e f6 08 5018 jnc short 02 b3fh ; 73 1e4994 jnc short 02afch ; 73 1e 5019 4995 mov dx, word [bp-00ah] ; 8b 56 f6 5020 4996 add dx, dx ; 01 d2 5021 4997 add dx, strict byte 00050h ; 83 c2 50 5022 4998 mov ax, strict word 00040h ; b8 40 00 5023 call 02f 93h ; e8 64 044999 call 02f50h ; e8 64 04 5024 5000 mov bx, ax ; 89 c3 5025 5001 mov dx, cx ; 89 ca 5026 5002 mov ax, si ; 89 f0 5027 call 02f a1h ; e8 69 045003 call 02f5eh ; e8 69 04 5028 5004 inc cx ; 41 5029 5005 inc cx ; 41 5030 5006 inc word [bp-00ah] ; ff 46 f6 5031 jmp short 02 b1bh ; eb dc5007 jmp short 02ad8h ; eb dc 5032 5008 mov dx, strict word 0004eh ; ba 4e 00 5033 5009 mov ax, strict word 00040h ; b8 40 00 5034 call 02f 93h ; e8 4b 045010 call 02f50h ; e8 4b 04 5035 5011 mov bx, ax ; 89 c3 5036 5012 mov dx, cx ; 89 ca 5037 5013 mov ax, si ; 89 f0 5038 call 02f a1h ; e8 50 045014 call 02f5eh ; e8 50 04 5039 5015 inc cx ; 41 5040 5016 inc cx ; 41 5041 5017 mov dx, strict word 00062h ; ba 62 00 5042 5018 mov ax, strict word 00040h ; b8 40 00 5043 call 02f 77h ; e8 1b 045019 call 02f34h ; e8 1b 04 5044 5020 movzx bx, al ; 0f b6 d8 5045 5021 mov dx, cx ; 89 ca 5046 5022 mov ax, si ; 89 f0 5047 call 02f 85h ; e8 1f 045023 call 02f42h ; e8 1f 04 5048 5024 inc cx ; 41 5049 5025 mov dx, strict word 0007ch ; ba 7c 00 5050 5026 xor ax, ax ; 31 c0 5051 call 02f 93h ; e8 24 045027 call 02f50h ; e8 24 04 5052 5028 mov bx, ax ; 89 c3 5053 5029 mov dx, cx ; 89 ca 5054 5030 mov ax, si ; 89 f0 5055 call 02f a1h ; e8 29 045031 call 02f5eh ; e8 29 04 5056 5032 inc cx ; 41 5057 5033 inc cx ; 41 5058 5034 mov dx, strict word 0007eh ; ba 7e 00 5059 5035 xor ax, ax ; 31 c0 5060 call 02f 93h ; e8 11 045036 call 02f50h ; e8 11 04 5061 5037 mov bx, ax ; 89 c3 5062 5038 mov dx, cx ; 89 ca 5063 5039 mov ax, si ; 89 f0 5064 call 02f a1h ; e8 16 045040 call 02f5eh ; e8 16 04 5065 5041 inc cx ; 41 5066 5042 inc cx ; 41 5067 5043 mov dx, 0010ch ; ba 0c 01 5068 5044 xor ax, ax ; 31 c0 5069 call 02f 93h ; e8 fe 035045 call 02f50h ; e8 fe 03 5070 5046 mov bx, ax ; 89 c3 5071 5047 mov dx, cx ; 89 ca 5072 5048 mov ax, si ; 89 f0 5073 call 02f a1h ; e8 03 045049 call 02f5eh ; e8 03 04 5074 5050 inc cx ; 41 5075 5051 inc cx ; 41 5076 5052 mov dx, 0010eh ; ba 0e 01 5077 5053 xor ax, ax ; 31 c0 5078 call 02f 93h ; e8 eb 035054 call 02f50h ; e8 eb 03 5079 5055 mov bx, ax ; 89 c3 5080 5056 mov dx, cx ; 89 ca 5081 5057 mov ax, si ; 89 f0 5082 call 02f a1h ; e8 f0 035058 call 02f5eh ; e8 f0 03 5083 5059 inc cx ; 41 5084 5060 inc cx ; 41 5085 5061 test byte [bp-00ch], 004h ; f6 46 f4 04 5086 je short 02 c20h ; 74 675062 je short 02bddh ; 74 67 5087 5063 mov dx, 003c7h ; ba c7 03 5088 5064 in AL, DX ; ec … … 5092 5068 mov dx, cx ; 89 ca 5093 5069 mov ax, si ; 89 f0 5094 call 02f 85h ; e8 bc 035070 call 02f42h ; e8 bc 03 5095 5071 inc cx ; 41 5096 5072 mov dx, 003c8h ; ba c8 03 … … 5101 5077 mov dx, cx ; 89 ca 5102 5078 mov ax, si ; 89 f0 5103 call 02f 85h ; e8 ab 035079 call 02f42h ; e8 ab 03 5104 5080 inc cx ; 41 5105 5081 mov dx, 003c6h ; ba c6 03 … … 5110 5086 mov dx, cx ; 89 ca 5111 5087 mov ax, si ; 89 f0 5112 call 02f 85h ; e8 9a 035088 call 02f42h ; e8 9a 03 5113 5089 inc cx ; 41 5114 5090 xor al, al ; 30 c0 … … 5117 5093 xor ah, ah ; 30 e4 5118 5094 mov word [bp-00ah], ax ; 89 46 f6 5119 jmp short 02 c00h ; eb 075095 jmp short 02bbdh ; eb 07 5120 5096 cmp word [bp-00ah], 00300h ; 81 7e f6 00 03 5121 jnc short 02 c16h ; 73 165097 jnc short 02bd3h ; 73 16 5122 5098 mov dx, 003c9h ; ba c9 03 5123 5099 in AL, DX ; ec … … 5127 5103 mov dx, cx ; 89 ca 5128 5104 mov ax, si ; 89 f0 5129 call 02f 85h ; e8 75 035105 call 02f42h ; e8 75 03 5130 5106 inc cx ; 41 5131 5107 inc word [bp-00ah] ; ff 46 f6 5132 jmp short 02b f9h ; eb e35108 jmp short 02bb6h ; eb e3 5133 5109 xor bx, bx ; 31 db 5134 5110 mov dx, cx ; 89 ca 5135 5111 mov ax, si ; 89 f0 5136 call 02f 85h ; e8 66 035112 call 02f42h ; e8 66 03 5137 5113 inc cx ; 41 5138 5114 mov ax, cx ; 89 c8 … … 5143 5119 pop bp ; 5d 5144 5120 retn ; c3 5145 biosfn_restore_video_state_: ; 0xc2 c2aLB 0x3265121 biosfn_restore_video_state_: ; 0xc2be7 LB 0x326 5146 5122 push bp ; 55 5147 5123 mov bp, sp ; 89 e5 … … 5154 5130 mov cx, bx ; 89 d9 5155 5131 test byte [bp-00eh], 001h ; f6 46 f2 01 5156 je near 02d 8ah ; 0f 84 4a 015132 je near 02d47h ; 0f 84 4a 01 5157 5133 mov dx, 003dah ; ba da 03 5158 5134 in AL, DX ; ec … … 5161 5137 lea dx, [bx+040h] ; 8d 57 40 5162 5138 mov ax, si ; 89 f0 5163 call 02f 93h ; e8 45 035139 call 02f50h ; e8 45 03 5164 5140 mov di, ax ; 89 c7 5165 5141 mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 5166 5142 lea cx, [bx+005h] ; 8d 4f 05 5167 jmp short 02c 60h ; eb 065143 jmp short 02c1dh ; eb 06 5168 5144 cmp word [bp-008h], strict byte 00004h ; 83 7e f8 04 5169 jnbe short 02c 78h ; 77 185145 jnbe short 02c35h ; 77 18 5170 5146 mov al, byte [bp-008h] ; 8a 46 f8 5171 5147 mov dx, 003c4h ; ba c4 03 … … 5173 5149 mov dx, cx ; 89 ca 5174 5150 mov ax, si ; 89 f0 5175 call 02f 77h ; e8 09 035151 call 02f34h ; e8 09 03 5176 5152 mov dx, 003c5h ; ba c5 03 5177 5153 out DX, AL ; ee 5178 5154 inc cx ; 41 5179 5155 inc word [bp-008h] ; ff 46 f8 5180 jmp short 02c 5ah ; eb e25156 jmp short 02c17h ; eb e2 5181 5157 xor al, al ; 30 c0 5182 5158 mov dx, 003c4h ; ba c4 03 … … 5184 5160 mov dx, cx ; 89 ca 5185 5161 mov ax, si ; 89 f0 5186 call 02f 77h ; e8 f2 025162 call 02f34h ; e8 f2 02 5187 5163 mov dx, 003c5h ; ba c5 03 5188 5164 out DX, AL ; ee … … 5192 5168 out DX, ax ; ef 5193 5169 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5194 jmp short 02c 9dh ; eb 065170 jmp short 02c5ah ; eb 06 5195 5171 cmp word [bp-008h], strict byte 00018h ; 83 7e f8 18 5196 jnbe short 02c bah ; 77 1d5172 jnbe short 02c77h ; 77 1d 5197 5173 cmp word [bp-008h], strict byte 00011h ; 83 7e f8 11 5198 je short 02c b4h ; 74 115174 je short 02c71h ; 74 11 5199 5175 mov al, byte [bp-008h] ; 8a 46 f8 5200 5176 mov dx, di ; 89 fa … … 5202 5178 mov dx, cx ; 89 ca 5203 5179 mov ax, si ; 89 f0 5204 call 02f 77h ; e8 c7 025180 call 02f34h ; e8 c7 02 5205 5181 lea dx, [di+001h] ; 8d 55 01 5206 5182 out DX, AL ; ee 5207 5183 inc cx ; 41 5208 5184 inc word [bp-008h] ; ff 46 f8 5209 jmp short 02c 97h ; eb dd5185 jmp short 02c54h ; eb dd 5210 5186 mov dx, 003cch ; ba cc 03 5211 5187 in AL, DX ; ec … … 5215 5191 mov word [bp-00ah], ax ; 89 46 f6 5216 5192 cmp di, 003d4h ; 81 ff d4 03 5217 jne short 02c cfh ; 75 045193 jne short 02c8ch ; 75 04 5218 5194 or byte [bp-00ah], 001h ; 80 4e f6 01 5219 5195 mov al, byte [bp-00ah] ; 8a 46 f6 … … 5226 5202 add dx, strict byte 0fff9h ; 83 c2 f9 5227 5203 mov ax, si ; 89 f0 5228 call 02f 77h ; e8 92 025204 call 02f34h ; e8 92 02 5229 5205 lea dx, [di+001h] ; 8d 55 01 5230 5206 out DX, AL ; ee 5231 5207 lea dx, [bx+003h] ; 8d 57 03 5232 5208 mov ax, si ; 89 f0 5233 call 02f 77h ; e8 86 025209 call 02f34h ; e8 86 02 5234 5210 xor ah, ah ; 30 e4 5235 5211 mov word [bp-00ch], ax ; 89 46 f4 … … 5239 5215 ; sub ah, ah ; 2a e4 5240 5216 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5241 jmp short 02 d09h ; eb 065217 jmp short 02cc6h ; eb 06 5242 5218 cmp word [bp-008h], strict byte 00013h ; 83 7e f8 13 5243 jnbe short 02 d27h ; 77 1e5219 jnbe short 02ce4h ; 77 1e 5244 5220 mov ax, word [bp-00ch] ; 8b 46 f4 5245 5221 and ax, strict word 00020h ; 25 20 00 … … 5249 5225 mov dx, cx ; 89 ca 5250 5226 mov ax, si ; 89 f0 5251 call 02f 77h ; e8 5a 025227 call 02f34h ; e8 5a 02 5252 5228 mov dx, 003c0h ; ba c0 03 5253 5229 out DX, AL ; ee 5254 5230 inc cx ; 41 5255 5231 inc word [bp-008h] ; ff 46 f8 5256 jmp short 02 d03h ; eb dc5232 jmp short 02cc0h ; eb dc 5257 5233 mov al, byte [bp-00ch] ; 8a 46 f4 5258 5234 mov dx, 003c0h ; ba c0 03 … … 5263 5239 ; sub ah, ah ; 2a e4 5264 5240 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5265 jmp short 02 d41h ; eb 065241 jmp short 02cfeh ; eb 06 5266 5242 cmp word [bp-008h], strict byte 00008h ; 83 7e f8 08 5267 jnbe short 02d 59h ; 77 185243 jnbe short 02d16h ; 77 18 5268 5244 mov al, byte [bp-008h] ; 8a 46 f8 5269 5245 mov dx, 003ceh ; ba ce 03 … … 5271 5247 mov dx, cx ; 89 ca 5272 5248 mov ax, si ; 89 f0 5273 call 02f 77h ; e8 28 025249 call 02f34h ; e8 28 02 5274 5250 mov dx, 003cfh ; ba cf 03 5275 5251 out DX, AL ; ee 5276 5252 inc cx ; 41 5277 5253 inc word [bp-008h] ; ff 46 f8 5278 jmp short 02 d3bh ; eb e25254 jmp short 02cf8h ; eb e2 5279 5255 add cx, strict byte 00006h ; 83 c1 06 5280 5256 mov dx, bx ; 89 da 5281 5257 mov ax, si ; 89 f0 5282 call 02f 77h ; e8 14 025258 call 02f34h ; e8 14 02 5283 5259 mov dx, 003c4h ; ba c4 03 5284 5260 out DX, AL ; ee … … 5286 5262 mov dx, bx ; 89 da 5287 5263 mov ax, si ; 89 f0 5288 call 02f 77h ; e8 08 025264 call 02f34h ; e8 08 02 5289 5265 mov dx, di ; 89 fa 5290 5266 out DX, AL ; ee … … 5292 5268 mov dx, bx ; 89 da 5293 5269 mov ax, si ; 89 f0 5294 call 02f 77h ; e8 fd 015270 call 02f34h ; e8 fd 01 5295 5271 mov dx, 003ceh ; ba ce 03 5296 5272 out DX, AL ; ee 5297 5273 lea dx, [bx+002h] ; 8d 57 02 5298 5274 mov ax, si ; 89 f0 5299 call 02f 77h ; e8 f1 015275 call 02f34h ; e8 f1 01 5300 5276 lea dx, [di+006h] ; 8d 55 06 5301 5277 out DX, AL ; ee 5302 5278 test byte [bp-00eh], 002h ; f6 46 f2 02 5303 je near 02e f9h ; 0f 84 67 015304 mov dx, cx ; 89 ca 5305 mov ax, si ; 89 f0 5306 call 02f 77h ; e8 de 015279 je near 02eb6h ; 0f 84 67 01 5280 mov dx, cx ; 89 ca 5281 mov ax, si ; 89 f0 5282 call 02f34h ; e8 de 01 5307 5283 movzx bx, al ; 0f b6 d8 5308 5284 mov dx, strict word 00049h ; ba 49 00 5309 5285 mov ax, strict word 00040h ; b8 40 00 5310 call 02f 85h ; e8 e0 015311 inc cx ; 41 5312 mov dx, cx ; 89 ca 5313 mov ax, si ; 89 f0 5314 call 02f 93h ; e8 e6 015286 call 02f42h ; e8 e0 01 5287 inc cx ; 41 5288 mov dx, cx ; 89 ca 5289 mov ax, si ; 89 f0 5290 call 02f50h ; e8 e6 01 5315 5291 mov bx, ax ; 89 c3 5316 5292 mov dx, strict word 0004ah ; ba 4a 00 5317 5293 mov ax, strict word 00040h ; b8 40 00 5318 call 02f a1h ; e8 e9 015319 inc cx ; 41 5320 inc cx ; 41 5321 mov dx, cx ; 89 ca 5322 mov ax, si ; 89 f0 5323 call 02f 93h ; e8 d2 015294 call 02f5eh ; e8 e9 01 5295 inc cx ; 41 5296 inc cx ; 41 5297 mov dx, cx ; 89 ca 5298 mov ax, si ; 89 f0 5299 call 02f50h ; e8 d2 01 5324 5300 mov bx, ax ; 89 c3 5325 5301 mov dx, strict word 0004ch ; ba 4c 00 5326 5302 mov ax, strict word 00040h ; b8 40 00 5327 call 02f a1h ; e8 d5 015328 inc cx ; 41 5329 inc cx ; 41 5330 mov dx, cx ; 89 ca 5331 mov ax, si ; 89 f0 5332 call 02f 93h ; e8 be 015303 call 02f5eh ; e8 d5 01 5304 inc cx ; 41 5305 inc cx ; 41 5306 mov dx, cx ; 89 ca 5307 mov ax, si ; 89 f0 5308 call 02f50h ; e8 be 01 5333 5309 mov bx, ax ; 89 c3 5334 5310 mov dx, strict word 00063h ; ba 63 00 5335 5311 mov ax, strict word 00040h ; b8 40 00 5336 call 02f a1h ; e8 c1 015337 inc cx ; 41 5338 inc cx ; 41 5339 mov dx, cx ; 89 ca 5340 mov ax, si ; 89 f0 5341 call 02f 77h ; e8 8e 015312 call 02f5eh ; e8 c1 01 5313 inc cx ; 41 5314 inc cx ; 41 5315 mov dx, cx ; 89 ca 5316 mov ax, si ; 89 f0 5317 call 02f34h ; e8 8e 01 5342 5318 movzx bx, al ; 0f b6 d8 5343 5319 mov dx, 00084h ; ba 84 00 5344 5320 mov ax, strict word 00040h ; b8 40 00 5345 call 02f 85h ; e8 90 015346 inc cx ; 41 5347 mov dx, cx ; 89 ca 5348 mov ax, si ; 89 f0 5349 call 02f 93h ; e8 96 015321 call 02f42h ; e8 90 01 5322 inc cx ; 41 5323 mov dx, cx ; 89 ca 5324 mov ax, si ; 89 f0 5325 call 02f50h ; e8 96 01 5350 5326 mov bx, ax ; 89 c3 5351 5327 mov dx, 00085h ; ba 85 00 5352 5328 mov ax, strict word 00040h ; b8 40 00 5353 call 02f a1h ; e8 99 015354 inc cx ; 41 5355 inc cx ; 41 5356 mov dx, cx ; 89 ca 5357 mov ax, si ; 89 f0 5358 call 02f 77h ; e8 66 015329 call 02f5eh ; e8 99 01 5330 inc cx ; 41 5331 inc cx ; 41 5332 mov dx, cx ; 89 ca 5333 mov ax, si ; 89 f0 5334 call 02f34h ; e8 66 01 5359 5335 movzx bx, al ; 0f b6 d8 5360 5336 mov dx, 00087h ; ba 87 00 5361 5337 mov ax, strict word 00040h ; b8 40 00 5362 call 02f 85h ; e8 68 015363 inc cx ; 41 5364 mov dx, cx ; 89 ca 5365 mov ax, si ; 89 f0 5366 call 02f 77h ; e8 52 015338 call 02f42h ; e8 68 01 5339 inc cx ; 41 5340 mov dx, cx ; 89 ca 5341 mov ax, si ; 89 f0 5342 call 02f34h ; e8 52 01 5367 5343 movzx bx, al ; 0f b6 d8 5368 5344 mov dx, 00088h ; ba 88 00 5369 5345 mov ax, strict word 00040h ; b8 40 00 5370 call 02f 85h ; e8 54 015371 inc cx ; 41 5372 mov dx, cx ; 89 ca 5373 mov ax, si ; 89 f0 5374 call 02f 77h ; e8 3e 015346 call 02f42h ; e8 54 01 5347 inc cx ; 41 5348 mov dx, cx ; 89 ca 5349 mov ax, si ; 89 f0 5350 call 02f34h ; e8 3e 01 5375 5351 movzx bx, al ; 0f b6 d8 5376 5352 mov dx, 00089h ; ba 89 00 5377 5353 mov ax, strict word 00040h ; b8 40 00 5378 call 02f 85h ; e8 40 015379 inc cx ; 41 5380 mov dx, cx ; 89 ca 5381 mov ax, si ; 89 f0 5382 call 02f 93h ; e8 46 015354 call 02f42h ; e8 40 01 5355 inc cx ; 41 5356 mov dx, cx ; 89 ca 5357 mov ax, si ; 89 f0 5358 call 02f50h ; e8 46 01 5383 5359 mov bx, ax ; 89 c3 5384 5360 mov dx, strict word 00060h ; ba 60 00 5385 5361 mov ax, strict word 00040h ; b8 40 00 5386 call 02f a1h ; e8 49 015362 call 02f5eh ; e8 49 01 5387 5363 mov word [bp-008h], strict word 00000h ; c7 46 f8 00 00 5388 5364 inc cx ; 41 5389 5365 inc cx ; 41 5390 jmp short 02e 67h ; eb 065366 jmp short 02e24h ; eb 06 5391 5367 cmp word [bp-008h], strict byte 00008h ; 83 7e f8 08 5392 jnc short 02e 85h ; 73 1e5393 mov dx, cx ; 89 ca 5394 mov ax, si ; 89 f0 5395 call 02f 93h ; e8 25 015368 jnc short 02e42h ; 73 1e 5369 mov dx, cx ; 89 ca 5370 mov ax, si ; 89 f0 5371 call 02f50h ; e8 25 01 5396 5372 mov bx, ax ; 89 c3 5397 5373 mov dx, word [bp-008h] ; 8b 56 f8 … … 5399 5375 add dx, strict byte 00050h ; 83 c2 50 5400 5376 mov ax, strict word 00040h ; b8 40 00 5401 call 02f a1h ; e8 23 015377 call 02f5eh ; e8 23 01 5402 5378 inc cx ; 41 5403 5379 inc cx ; 41 5404 5380 inc word [bp-008h] ; ff 46 f8 5405 jmp short 02e 61h ; eb dc5406 mov dx, cx ; 89 ca 5407 mov ax, si ; 89 f0 5408 call 02f 93h ; e8 07 015381 jmp short 02e1eh ; eb dc 5382 mov dx, cx ; 89 ca 5383 mov ax, si ; 89 f0 5384 call 02f50h ; e8 07 01 5409 5385 mov bx, ax ; 89 c3 5410 5386 mov dx, strict word 0004eh ; ba 4e 00 5411 5387 mov ax, strict word 00040h ; b8 40 00 5412 call 02f a1h ; e8 0a 015413 inc cx ; 41 5414 inc cx ; 41 5415 mov dx, cx ; 89 ca 5416 mov ax, si ; 89 f0 5417 call 02f 77h ; e8 d7 005388 call 02f5eh ; e8 0a 01 5389 inc cx ; 41 5390 inc cx ; 41 5391 mov dx, cx ; 89 ca 5392 mov ax, si ; 89 f0 5393 call 02f34h ; e8 d7 00 5418 5394 movzx bx, al ; 0f b6 d8 5419 5395 mov dx, strict word 00062h ; ba 62 00 5420 5396 mov ax, strict word 00040h ; b8 40 00 5421 call 02f 85h ; e8 d9 005422 inc cx ; 41 5423 mov dx, cx ; 89 ca 5424 mov ax, si ; 89 f0 5425 call 02f 93h ; e8 df 005397 call 02f42h ; e8 d9 00 5398 inc cx ; 41 5399 mov dx, cx ; 89 ca 5400 mov ax, si ; 89 f0 5401 call 02f50h ; e8 df 00 5426 5402 mov bx, ax ; 89 c3 5427 5403 mov dx, strict word 0007ch ; ba 7c 00 5428 5404 xor ax, ax ; 31 c0 5429 call 02f a1h ; e8 e3 005430 inc cx ; 41 5431 inc cx ; 41 5432 mov dx, cx ; 89 ca 5433 mov ax, si ; 89 f0 5434 call 02f 93h ; e8 cc 005405 call 02f5eh ; e8 e3 00 5406 inc cx ; 41 5407 inc cx ; 41 5408 mov dx, cx ; 89 ca 5409 mov ax, si ; 89 f0 5410 call 02f50h ; e8 cc 00 5435 5411 mov bx, ax ; 89 c3 5436 5412 mov dx, strict word 0007eh ; ba 7e 00 5437 5413 xor ax, ax ; 31 c0 5438 call 02f a1h ; e8 d0 005439 inc cx ; 41 5440 inc cx ; 41 5441 mov dx, cx ; 89 ca 5442 mov ax, si ; 89 f0 5443 call 02f 93h ; e8 b9 005414 call 02f5eh ; e8 d0 00 5415 inc cx ; 41 5416 inc cx ; 41 5417 mov dx, cx ; 89 ca 5418 mov ax, si ; 89 f0 5419 call 02f50h ; e8 b9 00 5444 5420 mov bx, ax ; 89 c3 5445 5421 mov dx, 0010ch ; ba 0c 01 5446 5422 xor ax, ax ; 31 c0 5447 call 02f a1h ; e8 bd 005448 inc cx ; 41 5449 inc cx ; 41 5450 mov dx, cx ; 89 ca 5451 mov ax, si ; 89 f0 5452 call 02f 93h ; e8 a6 005423 call 02f5eh ; e8 bd 00 5424 inc cx ; 41 5425 inc cx ; 41 5426 mov dx, cx ; 89 ca 5427 mov ax, si ; 89 f0 5428 call 02f50h ; e8 a6 00 5453 5429 mov bx, ax ; 89 c3 5454 5430 mov dx, 0010eh ; ba 0e 01 5455 5431 xor ax, ax ; 31 c0 5456 call 02f a1h ; e8 aa 005432 call 02f5eh ; e8 aa 00 5457 5433 inc cx ; 41 5458 5434 inc cx ; 41 5459 5435 test byte [bp-00eh], 004h ; f6 46 f2 04 5460 je short 02f 46h ; 74 475461 inc cx ; 41 5462 mov dx, cx ; 89 ca 5463 mov ax, si ; 89 f0 5464 call 02f 77h ; e8 70 005436 je short 02f03h ; 74 47 5437 inc cx ; 41 5438 mov dx, cx ; 89 ca 5439 mov ax, si ; 89 f0 5440 call 02f34h ; e8 70 00 5465 5441 xor ah, ah ; 30 e4 5466 5442 mov word [bp-00ah], ax ; 89 46 f6 … … 5468 5444 mov dx, cx ; 89 ca 5469 5445 mov ax, si ; 89 f0 5470 call 02f 77h ; e8 63 005446 call 02f34h ; e8 63 00 5471 5447 mov dx, 003c6h ; ba c6 03 5472 5448 out DX, AL ; ee … … 5477 5453 xor ah, ah ; 30 e4 5478 5454 mov word [bp-008h], ax ; 89 46 f8 5479 jmp short 02 f2dh ; eb 075455 jmp short 02eeah ; eb 07 5480 5456 cmp word [bp-008h], 00300h ; 81 7e f8 00 03 5481 jnc short 02 f3eh ; 73 115482 mov dx, cx ; 89 ca 5483 mov ax, si ; 89 f0 5484 call 02f 77h ; e8 43 005457 jnc short 02efbh ; 73 11 5458 mov dx, cx ; 89 ca 5459 mov ax, si ; 89 f0 5460 call 02f34h ; e8 43 00 5485 5461 mov dx, 003c9h ; ba c9 03 5486 5462 out DX, AL ; ee 5487 5463 inc cx ; 41 5488 5464 inc word [bp-008h] ; ff 46 f8 5489 jmp short 02 f26h ; eb e85465 jmp short 02ee3h ; eb e8 5490 5466 inc cx ; 41 5491 5467 mov al, byte [bp-00ah] ; 8a 46 f6 … … 5499 5475 pop bp ; 5d 5500 5476 retn ; c3 5501 find_vga_entry_: ; 0xc2f 50LB 0x275477 find_vga_entry_: ; 0xc2f0d LB 0x27 5502 5478 push bx ; 53 5503 5479 push dx ; 52 … … 5507 5483 mov AH, strict byte 0ffh ; b4 ff 5508 5484 xor al, al ; 30 c0 5509 jmp short 02f 63h ; eb 065485 jmp short 02f20h ; eb 06 5510 5486 db 0feh, 0c0h 5511 5487 ; inc al ; fe c0 5512 5488 cmp AL, strict byte 00fh ; 3c 0f 5513 jnbe short 02f 71h ; 77 0e5489 jnbe short 02f2eh ; 77 0e 5514 5490 movzx bx, al ; 0f b6 d8 5515 5491 sal bx, 003h ; c1 e3 03 5516 5492 cmp dl, byte [bx+0482fh] ; 3a 97 2f 48 5517 jne short 02f 5dh ; 75 ee5493 jne short 02f1ah ; 75 ee 5518 5494 mov ah, al ; 88 c4 5519 5495 mov al, ah ; 88 e0 … … 5522 5498 pop bx ; 5b 5523 5499 retn ; c3 5524 read_byte_: ; 0xc2f 77LB 0xe5500 read_byte_: ; 0xc2f34 LB 0xe 5525 5501 push bx ; 53 5526 5502 push bp ; 55 … … 5532 5508 pop bx ; 5b 5533 5509 retn ; c3 5534 write_byte_: ; 0xc2f 85LB 0xe5510 write_byte_: ; 0xc2f42 LB 0xe 5535 5511 push si ; 56 5536 5512 push bp ; 55 … … 5542 5518 pop si ; 5e 5543 5519 retn ; c3 5544 read_word_: ; 0xc2f 93LB 0xe5520 read_word_: ; 0xc2f50 LB 0xe 5545 5521 push bx ; 53 5546 5522 push bp ; 55 … … 5552 5528 pop bx ; 5b 5553 5529 retn ; c3 5554 write_word_: ; 0xc2f a1LB 0xe5530 write_word_: ; 0xc2f5e LB 0xe 5555 5531 push si ; 56 5556 5532 push bp ; 55 … … 5562 5538 pop si ; 5e 5563 5539 retn ; c3 5564 read_dword_: ; 0xc2f afLB 0x125540 read_dword_: ; 0xc2f6c LB 0x12 5565 5541 push bx ; 53 5566 5542 push bp ; 55 … … 5573 5549 pop bx ; 5b 5574 5550 retn ; c3 5575 write_dword_: ; 0xc2f c1LB 0x7f5551 write_dword_: ; 0xc2f7e LB 0x7f 5576 5552 push si ; 56 5577 5553 push bp ; 55 … … 5595 5571 add ax, 00304h ; 05 04 03 5596 5572 add al, byte [bx+di] ; 02 01 5597 add byte [bp+di], al ; 00 03 5598 xor AL, strict byte 06eh ; 34 6e 5599 xor byte [si-03fd0h], ch ; 30 ac 30 c0 5600 xor cl, dl ; 30 d1 5601 xor ch, ah ; 30 e5 5602 xor dh, dh ; 30 f6 5603 xor byte [bx+si], al ; 30 00 5604 xor word [bp+si], di ; 31 3a 5605 xor word [04f31h], di ; 31 3e 31 4f 5606 xor word [si+031h], bp ; 31 6c 31 5607 mov word [bx+di], si ; 89 31 5608 test ax, 0c631h ; a9 31 c6 5609 xor bp, bx ; 31 dd 5610 xor cx, bp ; 31 e9 5611 xor sp, ax ; 31 c4 5612 db 032h, 0ffh 5613 ; xor bh, bh ; 32 ff 5614 xor ch, byte [bx] ; 32 2f 5615 xor ax, word [si+033h] ; 33 44 33 5616 xchg byte [bp+di], dh ; 86 33 5573 add al, al ; 00 c0 5574 xor bp, word [bp+di] ; 33 2b 5575 xor byte [bx+di+030h], ch ; 30 69 30 5576 jnl short 02fddh ; 7d 30 5577 db 08eh 5578 xor byte [bp+si-04cd0h], ah ; 30 a2 30 b3 5579 xor byte [di-008d0h], bh ; 30 bd 30 f7 5580 xor bl, bh ; 30 fb 5581 xor byte [si], cl ; 30 0c 5582 xor word [bx+di], bp ; 31 29 5583 xor word [bp+031h], ax ; 31 46 31 5584 xor dword [bp+di-065cfh], eax ; 66 31 83 31 9a 5585 xor word [bp-07ecfh], sp ; 31 a6 31 81 5586 xor bh, byte [si-013ceh] ; 32 bc 32 ec 5587 xor al, byte [bx+di] ; 32 01 5588 xor ax, word [bp+di+033h] ; 33 43 33 5617 5589 xor byte [si], ah ; 30 24 5618 5590 and sp, word [bp+si] ; 23 22 … … 5622 5594 add AL, strict byte 002h ; 04 02 5623 5595 add word [bx+si], ax ; 01 00 5624 add si, word [si] ; 03 34 5625 or dh, byte [bp+si] ; 0a 32 5626 xor byte [bp+si], dh ; 30 32 5627 inc cx ; 41 5628 xor dl, byte [bp+si+032h] ; 32 52 32 5629 or dh, byte [bp+si] ; 0a 32 5630 xor byte [bp+si], dh ; 30 32 5631 inc cx ; 41 5632 xor dl, byte [bp+si+032h] ; 32 52 32 5633 arpl word [bp+si], si ; 63 32 5634 outsw ; 6f 5635 xor cl, byte [bp+si-06aceh] ; 32 8a 32 95 5636 xor ah, byte [bx+si-054ceh] ; 32 a0 32 ab 5596 db 0c0h, 033h, 0c7h 5597 ; sal byte [bp+di], 0c7h ; c0 33 c7 5598 xor bp, bp ; 31 ed 5599 xor si, di ; 31 fe 5600 xor word [bx], cx ; 31 0f 5601 db 032h, 0c7h 5602 ; xor al, bh ; 32 c7 5603 xor bp, bp ; 31 ed 5604 xor si, di ; 31 fe 5605 xor word [bx], cx ; 31 0f 5606 xor ah, byte [bx+si] ; 32 20 5607 xor ch, byte [si] ; 32 2c 5608 xor al, byte [bx+032h] ; 32 47 32 5609 push dx ; 52 5610 xor bl, byte [di+032h] ; 32 5d 32 5611 db 068h 5637 5612 db 032h 5638 _int10_func: ; 0xc 3040LB 0x3ca5613 _int10_func: ; 0xc2ffd LB 0x3ca 5639 5614 push bp ; 55 5640 5615 mov bp, sp ; 89 e5 … … 5646 5621 shr ax, 008h ; c1 e8 08 5647 5622 cmp ax, strict word 0004fh ; 3d 4f 00 5648 jnbe near 03 403h ; 0f 87 ad 035623 jnbe near 033c0h ; 0f 87 ad 03 5649 5624 push CS ; 0e 5650 5625 pop ES ; 07 5651 5626 mov cx, strict word 00016h ; b9 16 00 5652 mov di, 02f d3h ; bf d32f5627 mov di, 02f90h ; bf 90 2f 5653 5628 repne scasb ; f2 ae 5654 5629 sal cx, 1 ; d1 e1 5655 5630 mov di, cx ; 89 cf 5656 mov ax, word [cs:di+02f e8h] ; 2e 8b 85 e82f5631 mov ax, word [cs:di+02fa5h] ; 2e 8b 85 a5 2f 5657 5632 mov cl, byte [bp+012h] ; 8a 4e 12 5658 5633 jmp ax ; ff e0 5659 5634 mov al, byte [bp+012h] ; 8a 46 12 5660 5635 xor ah, ah ; 30 e4 5661 call 00fdch ; e8 66df5636 call 00fdch ; e8 a9 df 5662 5637 mov ax, word [bp+012h] ; 8b 46 12 5663 5638 and ax, strict word 0007fh ; 25 7f 00 5664 5639 cmp ax, strict word 00007h ; 3d 07 00 5665 je short 030 96h ; 74 155640 je short 03053h ; 74 15 5666 5641 cmp ax, strict word 00006h ; 3d 06 00 5667 je short 030 8dh ; 74 075642 je short 0304ah ; 74 07 5668 5643 cmp ax, strict word 00005h ; 3d 05 00 5669 jbe short 030 96h ; 76 0b5670 jmp short 030 9fh ; eb 125644 jbe short 03053h ; 76 0b 5645 jmp short 0305ch ; eb 12 5671 5646 mov ax, word [bp+012h] ; 8b 46 12 5672 5647 xor al, al ; 30 c0 5673 5648 or AL, strict byte 03fh ; 0c 3f 5674 jmp short 030 a6h ; eb 105649 jmp short 03063h ; eb 10 5675 5650 mov ax, word [bp+012h] ; 8b 46 12 5676 5651 xor al, al ; 30 c0 5677 5652 or AL, strict byte 030h ; 0c 30 5678 jmp short 030 a6h ; eb 075653 jmp short 03063h ; eb 07 5679 5654 mov ax, word [bp+012h] ; 8b 46 12 5680 5655 xor al, al ; 30 c0 5681 5656 or AL, strict byte 020h ; 0c 20 5682 5657 mov word [bp+012h], ax ; 89 46 12 5683 jmp near 03 403h ; e9 57 035658 jmp near 033c0h ; e9 57 03 5684 5659 mov al, byte [bp+010h] ; 8a 46 10 5685 5660 movzx dx, al ; 0f b6 d0 … … 5687 5662 shr ax, 008h ; c1 e8 08 5688 5663 xor ah, ah ; 30 e4 5689 call 00dbah ; e8 fd dc5690 jmp near 03 403h ; e9 43 035664 call 00dbah ; e8 40 dd 5665 jmp near 033c0h ; e9 43 03 5691 5666 mov dx, word [bp+00eh] ; 8b 56 0e 5692 5667 mov ax, word [bp+00ch] ; 8b 46 0c 5693 5668 shr ax, 008h ; c1 e8 08 5694 5669 xor ah, ah ; 30 e4 5695 call 00e5eh ; e8 90dd5696 jmp near 03 403h ; e9 32 035670 call 00e5eh ; e8 d3 dd 5671 jmp near 033c0h ; e9 32 03 5697 5672 lea bx, [bp+00eh] ; 8d 5e 0e 5698 5673 lea dx, [bp+010h] ; 8d 56 10 … … 5700 5675 shr ax, 008h ; c1 e8 08 5701 5676 xor ah, ah ; 30 e4 5702 call 00a88h ; e8 a6d95703 jmp near 03 403h ; e9 1e 035677 call 00a88h ; e8 e9 d9 5678 jmp near 033c0h ; e9 1e 03 5704 5679 xor ax, ax ; 31 c0 5705 5680 mov word [bp+012h], ax ; 89 46 12 … … 5707 5682 mov word [bp+010h], ax ; 89 46 10 5708 5683 mov word [bp+00eh], ax ; 89 46 0e 5709 jmp near 03 403h ; e9 0d 035684 jmp near 033c0h ; e9 0d 03 5710 5685 mov al, cl ; 88 c8 5711 5686 xor ah, ah ; 30 e4 5712 call 00f00h ; e8 03de5713 jmp near 03 403h ; e9 03 035687 call 00f00h ; e8 46 de 5688 jmp near 033c0h ; e9 03 03 5714 5689 mov ax, strict word 00001h ; b8 01 00 5715 5690 push ax ; 50 … … 5733 5708 mov al, byte [bp+012h] ; 8a 46 12 5734 5709 xor ah, ah ; 30 e4 5735 call 01568h ; e8 31e45736 jmp near 03 403h ; e9 c9 025710 call 01568h ; e8 74 e4 5711 jmp near 033c0h ; e9 c9 02 5737 5712 xor ax, ax ; 31 c0 5738 jmp short 03 103h ; eb c55713 jmp short 030c0h ; eb c5 5739 5714 lea dx, [bp+012h] ; 8d 56 12 5740 5715 mov ax, word [bp+00ch] ; 8b 46 0c 5741 5716 shr ax, 008h ; c1 e8 08 5742 5717 xor ah, ah ; 30 e4 5743 call 00acbh ; e8 7fd95744 jmp near 03 403h ; e9 b4 025718 call 00acbh ; e8 c2 d9 5719 jmp near 033c0h ; e9 b4 02 5745 5720 mov cx, word [bp+010h] ; 8b 4e 10 5746 5721 mov al, byte [bp+00ch] ; 8a 46 0c … … 5751 5726 mov al, byte [bp+012h] ; 8a 46 12 5752 5727 xor ah, ah ; 30 e4 5753 call 01d08h ; e8 9feb5754 jmp near 03 403h ; e9 97 025728 call 01d08h ; e8 e2 eb 5729 jmp near 033c0h ; e9 97 02 5755 5730 mov cx, word [bp+010h] ; 8b 4e 10 5756 5731 mov al, byte [bp+00ch] ; 8a 46 0c … … 5761 5736 mov al, byte [bp+012h] ; 8a 46 12 5762 5737 xor ah, ah ; 30 e4 5763 call 01e70h ; e8 ea ec5764 jmp near 03 403h ; e9 7a 025738 call 01e70h ; e8 2d ed 5739 jmp near 033c0h ; e9 7a 02 5765 5740 mov cx, word [bp+00eh] ; 8b 4e 0e 5766 5741 mov bx, word [bp+010h] ; 8b 5e 10 … … 5772 5747 mov al, byte [bp-006h] ; 8a 46 fa 5773 5748 xor ah, ah ; 30 e4 5774 call 01fdfh ; e8 39ee5775 jmp near 03 403h ; e9 5a 025749 call 01fdfh ; e8 7c ee 5750 jmp near 033c0h ; e9 5a 02 5776 5751 lea cx, [bp+012h] ; 8d 4e 12 5777 5752 mov bx, word [bp+00eh] ; 8b 5e 0e … … 5782 5757 mov al, byte [bp-006h] ; 8a 46 fa 5783 5758 xor ah, ah ; 30 e4 5784 call 00bf5h ; e8 32da5785 jmp near 03 403h ; e9 3d 025759 call 00bf5h ; e8 75 da 5760 jmp near 033c0h ; e9 3d 02 5786 5761 mov cx, strict word 00002h ; b9 02 00 5787 5762 mov al, byte [bp+00ch] ; 8a 46 0c … … 5790 5765 mov al, byte [bp+012h] ; 8a 46 12 5791 5766 xor ah, ah ; 30 e4 5792 call 02149h ; e8 6fef5793 jmp near 03 403h ; e9 26 025767 call 02149h ; e8 b2 ef 5768 jmp near 033c0h ; e9 26 02 5794 5769 mov dx, word [bp+010h] ; 8b 56 10 5795 5770 mov ax, word [bp+00ch] ; 8b 46 0c 5796 call 00d2eh ; e8 48db5797 jmp near 03 403h ; e9 1a 025771 call 00d2eh ; e8 8b db 5772 jmp near 033c0h ; e9 1a 02 5798 5773 mov ax, word [bp+012h] ; 8b 46 12 5799 5774 xor ah, ah ; 30 e4 5800 5775 cmp ax, strict word 00030h ; 3d 30 00 5801 jnbe near 03 403h ; 0f 87 0e 025776 jnbe near 033c0h ; 0f 87 0e 02 5802 5777 push CS ; 0e 5803 5778 pop ES ; 07 5804 5779 mov cx, strict word 0000fh ; b9 0f 00 5805 mov di, 0 3014h ; bf 14 305780 mov di, 02fd1h ; bf d1 2f 5806 5781 repne scasb ; f2 ae 5807 5782 sal cx, 1 ; d1 e1 5808 5783 mov di, cx ; 89 cf 5809 mov ax, word [cs:di+0 3022h] ; 2e 8b 85 22 305784 mov ax, word [cs:di+02fdfh] ; 2e 8b 85 df 2f 5810 5785 jmp ax ; ff e0 5811 5786 mov ax, word [bp+00ch] ; 8b 46 0c … … 5822 5797 mov bx, word [bp+008h] ; 8b 5e 08 5823 5798 mov dx, word [bp+016h] ; 8b 56 16 5824 call 024 f4h ; e8 c7 f25825 jmp near 03 403h ; e9 d3 015799 call 024b1h ; e8 c7 f2 5800 jmp near 033c0h ; e9 d3 01 5826 5801 mov al, byte [bp+00ch] ; 8a 46 0c 5827 5802 movzx dx, al ; 0f b6 d0 5828 5803 mov al, byte [bp+012h] ; 8a 46 12 5829 5804 xor ah, ah ; 30 e4 5830 call 025 71h ; e8 33 f35831 jmp near 03 403h ; e9 c2 015805 call 0252eh ; e8 33 f3 5806 jmp near 033c0h ; e9 c2 01 5832 5807 mov al, byte [bp+00ch] ; 8a 46 0c 5833 5808 movzx dx, al ; 0f b6 d0 5834 5809 mov al, byte [bp+012h] ; 8a 46 12 5835 5810 xor ah, ah ; 30 e4 5836 call 025 e1h ; e8 92 f35837 jmp near 03 403h ; e9 b1 015811 call 0259eh ; e8 92 f3 5812 jmp near 033c0h ; e9 b1 01 5838 5813 mov al, byte [bp+00ch] ; 8a 46 0c 5839 5814 movzx dx, al ; 0f b6 d0 5840 5815 mov al, byte [bp+012h] ; 8a 46 12 5841 5816 xor ah, ah ; 30 e4 5842 call 026 53h ; e8 f3 f35843 jmp near 03 403h ; e9 a0 015817 call 02610h ; e8 f3 f3 5818 jmp near 033c0h ; e9 a0 01 5844 5819 mov dx, word [bp+008h] ; 8b 56 08 5845 5820 mov ax, word [bp+016h] ; 8b 46 16 5846 call 026 c5h ; e8 59 f45847 jmp near 03 403h ; e9 94 015821 call 02682h ; e8 59 f4 5822 jmp near 033c0h ; e9 94 01 5848 5823 mov al, byte [bp+00eh] ; 8a 46 0e 5849 5824 xor ah, ah ; 30 e4 … … 5854 5829 mov dx, word [bp+008h] ; 8b 56 08 5855 5830 mov ax, word [bp+016h] ; 8b 46 16 5856 call 026 cah ; e8 43 f45857 jmp near 03 403h ; e9 79 015831 call 02687h ; e8 43 f4 5832 jmp near 033c0h ; e9 79 01 5858 5833 mov al, byte [bp+00ch] ; 8a 46 0c 5859 5834 xor ah, ah ; 30 e4 5860 call 026 d1h ; e8 3f f45861 jmp near 03 403h ; e9 6e 015835 call 0268eh ; e8 3f f4 5836 jmp near 033c0h ; e9 6e 01 5862 5837 mov al, byte [bp+00ch] ; 8a 46 0c 5863 5838 xor ah, ah ; 30 e4 5864 call 026 d6h ; e8 39 f45865 jmp near 03 403h ; e9 63 015839 call 02693h ; e8 39 f4 5840 jmp near 033c0h ; e9 63 01 5866 5841 mov al, byte [bp+00ch] ; 8a 46 0c 5867 5842 xor ah, ah ; 30 e4 5868 call 026 dbh ; e8 33 f45869 jmp near 03 403h ; e9 58 015843 call 02698h ; e8 33 f4 5844 jmp near 033c0h ; e9 58 01 5870 5845 lea ax, [bp+00eh] ; 8d 46 0e 5871 5846 push ax ; 50 … … 5875 5850 mov ax, word [bp+00ch] ; 8b 46 0c 5876 5851 shr ax, 008h ; c1 e8 08 5877 call 00b73h ; e8 b2d85878 jmp near 03 403h ; e9 3f 015852 call 00b73h ; e8 f5 d8 5853 jmp near 033c0h ; e9 3f 01 5879 5854 mov ax, word [bp+00ch] ; 8b 46 0c 5880 5855 xor ah, ah ; 30 e4 5881 5856 cmp ax, strict word 00036h ; 3d 36 00 5882 je short 032 f6h ; 74 285857 je short 032b3h ; 74 28 5883 5858 cmp ax, strict word 00035h ; 3d 35 00 5884 je short 032 e0h ; 74 0d5859 je short 0329dh ; 74 0d 5885 5860 cmp ax, strict word 00020h ; 3d 20 00 5886 jne near 03 403h ; 0f 85 29 015887 call 026 e0h ; e8 03 f45888 jmp near 03 403h ; e9 23 015861 jne near 033c0h ; 0f 85 29 01 5862 call 0269dh ; e8 03 f4 5863 jmp near 033c0h ; e9 23 01 5889 5864 movzx ax, cl ; 0f b6 c1 5890 5865 mov bx, word [bp+00eh] ; 8b 5e 0e 5891 5866 mov dx, word [bp+016h] ; 8b 56 16 5892 call 026 e5h ; e8 f9 f35867 call 026a2h ; e8 f9 f3 5893 5868 mov ax, word [bp+012h] ; 8b 46 12 5894 5869 xor al, al ; 30 c0 5895 5870 or AL, strict byte 012h ; 0c 12 5896 jmp near 030 a6h ; e9 b0 fd5871 jmp near 03063h ; e9 b0 fd 5897 5872 mov al, cl ; 88 c8 5898 5873 xor ah, ah ; 30 e4 5899 call 026 eah ; e8 ed f35900 jmp short 032 ech ; eb ed5874 call 026a7h ; e8 ed f3 5875 jmp short 032a9h ; eb ed 5901 5876 push word [bp+008h] ; ff 76 08 5902 5877 push word [bp+016h] ; ff 76 16 … … 5915 5890 movzx ax, cl ; 0f b6 c1 5916 5891 mov cx, word [bp+010h] ; 8b 4e 10 5917 call 026 efh ; e8 c3 f35918 jmp near 03 403h ; e9 d4 005892 call 026ach ; e8 c3 f3 5893 jmp near 033c0h ; e9 d4 00 5919 5894 mov bx, si ; 89 f3 5920 5895 mov dx, word [bp+016h] ; 8b 56 16 5921 5896 mov ax, word [bp+00ch] ; 8b 46 0c 5922 call 027 8bh ; e8 51 f45897 call 02748h ; e8 51 f4 5923 5898 mov ax, word [bp+012h] ; 8b 46 12 5924 5899 xor al, al ; 30 c0 5925 5900 or AL, strict byte 01bh ; 0c 1b 5926 jmp near 030 a6h ; e9 62 fd5901 jmp near 03063h ; e9 62 fd 5927 5902 mov ax, word [bp+012h] ; 8b 46 12 5928 5903 xor ah, ah ; 30 e4 5929 5904 cmp ax, strict word 00002h ; 3d 02 00 5930 je short 033 70h ; 74 225905 je short 0332dh ; 74 22 5931 5906 cmp ax, strict word 00001h ; 3d 01 00 5932 je short 033 62h ; 74 0f5907 je short 0331fh ; 74 0f 5933 5908 test ax, ax ; 85 c0 5934 jne short 033 7ch ; 75 255909 jne short 03339h ; 75 25 5935 5910 lea dx, [bp+00ch] ; 8d 56 0c 5936 5911 mov ax, word [bp+010h] ; 8b 46 10 5937 call 028 afh ; e8 4f f55938 jmp short 033 7ch ; eb 1a5912 call 0286ch ; e8 4f f5 5913 jmp short 03339h ; eb 1a 5939 5914 mov bx, word [bp+00ch] ; 8b 5e 0c 5940 5915 mov dx, word [bp+016h] ; 8b 56 16 5941 5916 mov ax, word [bp+010h] ; 8b 46 10 5942 call 028 c1h ; e8 53 f55943 jmp short 033 7ch ; eb 0c5917 call 0287eh ; e8 53 f5 5918 jmp short 03339h ; eb 0c 5944 5919 mov bx, word [bp+00ch] ; 8b 5e 0c 5945 5920 mov dx, word [bp+016h] ; 8b 56 16 5946 5921 mov ax, word [bp+010h] ; 8b 46 10 5947 call 02 c2ah ; e8 ae f85922 call 02be7h ; e8 ae f8 5948 5923 mov ax, word [bp+012h] ; 8b 46 12 5949 5924 xor al, al ; 30 c0 5950 5925 or AL, strict byte 01ch ; 0c 1c 5951 jmp near 030 a6h ; e9 20 fd5952 call 007a4h ; e8 1bd45926 jmp near 03063h ; e9 20 fd 5927 call 007a4h ; e8 5e d4 5953 5928 test ax, ax ; 85 c0 5954 je near 033 feh ; 0f 84 6f 005929 je near 033bbh ; 0f 84 6f 00 5955 5930 mov ax, word [bp+012h] ; 8b 46 12 5956 5931 xor ah, ah ; 30 e4 5957 5932 cmp ax, strict word 00002h ; 3d 02 00 5958 jc short 033 ach ; 72 135959 jbe short 033 d2h ; 76 375933 jc short 03369h ; 72 13 5934 jbe short 0338fh ; 76 37 5960 5935 cmp ax, strict word 0000ah ; 3d 0a 00 5961 je short 033 f7h ; 74 575936 je short 033b4h ; 74 57 5962 5937 cmp ax, strict word 00009h ; 3d 09 00 5963 je short 033 f7h ; 74 525938 je short 033b4h ; 74 52 5964 5939 cmp ax, strict word 00004h ; 3d 04 00 5965 je short 033 e2h ; 74 385966 jmp short 033 f7h ; eb 4b5940 je short 0339fh ; 74 38 5941 jmp short 033b4h ; eb 4b 5967 5942 cmp ax, strict word 00001h ; 3d 01 00 5968 je short 033 c2h ; 74 115943 je short 0337fh ; 74 11 5969 5944 test ax, ax ; 85 c0 5970 jne short 033 f7h ; 75 425945 jne short 033b4h ; 75 42 5971 5946 mov bx, si ; 89 f3 5972 5947 mov dx, word [bp+016h] ; 8b 56 16 5973 5948 lea ax, [bp+012h] ; 8d 46 12 5974 call 03 530h ; e8 70 015975 jmp short 03 403h ; eb 415949 call 034edh ; e8 70 01 5950 jmp short 033c0h ; eb 41 5976 5951 mov cx, si ; 89 f1 5977 5952 mov bx, word [bp+016h] ; 8b 5e 16 5978 5953 mov dx, word [bp+010h] ; 8b 56 10 5979 5954 lea ax, [bp+012h] ; 8d 46 12 5980 call 036 59h ; e8 89 025981 jmp short 03 403h ; eb 315955 call 03616h ; e8 89 02 5956 jmp short 033c0h ; eb 31 5982 5957 mov cx, si ; 89 f1 5983 5958 mov bx, word [bp+016h] ; 8b 5e 16 5984 5959 mov dx, word [bp+00ch] ; 8b 56 0c 5985 5960 lea ax, [bp+012h] ; 8d 46 12 5986 call 03 70dh ; e8 2d 035987 jmp short 03 403h ; eb 215961 call 036cah ; e8 2d 03 5962 jmp short 033c0h ; eb 21 5988 5963 lea ax, [bp+00ch] ; 8d 46 0c 5989 5964 push ax ; 50 … … 5992 5967 mov dx, word [bp+010h] ; 8b 56 10 5993 5968 lea ax, [bp+012h] ; 8d 46 12 5994 call 038 f4h ; e8 ff 045995 jmp short 03 403h ; eb 0c5969 call 038b1h ; e8 ff 04 5970 jmp short 033c0h ; eb 0c 5996 5971 mov word [bp+012h], 00100h ; c7 46 12 00 01 5997 jmp short 03 403h ; eb 055972 jmp short 033c0h ; eb 05 5998 5973 mov word [bp+012h], 00100h ; c7 46 12 00 01 5999 5974 lea sp, [bp-004h] ; 8d 66 fc … … 6002 5977 pop bp ; 5d 6003 5978 retn ; c3 6004 dispi_set_xres_: ; 0xc3 40aLB 0x1b5979 dispi_set_xres_: ; 0xc33c7 LB 0x1b 6005 5980 push bp ; 55 6006 5981 mov bp, sp ; 89 e5 … … 6019 5994 pop bp ; 5d 6020 5995 retn ; c3 6021 dispi_set_yres_: ; 0xc3 425LB 0x1b5996 dispi_set_yres_: ; 0xc33e2 LB 0x1b 6022 5997 push bp ; 55 6023 5998 mov bp, sp ; 89 e5 … … 6036 6011 pop bp ; 5d 6037 6012 retn ; c3 6038 dispi_set_bpp_: ; 0xc3 440LB 0x1b6013 dispi_set_bpp_: ; 0xc33fd LB 0x1b 6039 6014 push bp ; 55 6040 6015 mov bp, sp ; 89 e5 … … 6053 6028 pop bp ; 5d 6054 6029 retn ; c3 6055 in_word_: ; 0xc34 5bLB 0x126030 in_word_: ; 0xc3418 LB 0x12 6056 6031 push bp ; 55 6057 6032 mov bp, sp ; 89 e5 … … 6066 6041 pop bp ; 5d 6067 6042 retn ; c3 6068 in_byte_: ; 0xc34 6dLB 0x146043 in_byte_: ; 0xc342a LB 0x14 6069 6044 push bp ; 55 6070 6045 mov bp, sp ; 89 e5 … … 6081 6056 pop bp ; 5d 6082 6057 retn ; c3 6083 dispi_get_id_: ; 0xc34 81LB 0x146058 dispi_get_id_: ; 0xc343e LB 0x14 6084 6059 push bp ; 55 6085 6060 mov bp, sp ; 89 e5 … … 6094 6069 pop bp ; 5d 6095 6070 retn ; c3 6096 dispi_set_id_: ; 0xc34 95LB 0x1a6071 dispi_set_id_: ; 0xc3452 LB 0x1a 6097 6072 push bp ; 55 6098 6073 mov bp, sp ; 89 e5 … … 6111 6086 pop bp ; 5d 6112 6087 retn ; c3 6113 vbe_init_: ; 0xc34 afLB 0x2c6088 vbe_init_: ; 0xc346c LB 0x2c 6114 6089 push bp ; 55 6115 6090 mov bp, sp ; 89 e5 … … 6117 6092 push dx ; 52 6118 6093 mov ax, 0b0c0h ; b8 c0 b0 6119 call 034 95h ; e8 db ff6120 call 034 81h ; e8 c4 ff6094 call 03452h ; e8 db ff 6095 call 0343eh ; e8 c4 ff 6121 6096 cmp ax, 0b0c0h ; 3d c0 b0 6122 jne short 034 d4h ; 75 126097 jne short 03491h ; 75 12 6123 6098 mov bx, strict word 00001h ; bb 01 00 6124 6099 mov dx, 000b9h ; ba b9 00 6125 6100 mov ax, strict word 00040h ; b8 40 00 6126 call 02f 85h ; e8 b7 fa6101 call 02f42h ; e8 b7 fa 6127 6102 mov ax, 0b0c4h ; b8 c4 b0 6128 call 034 95h ; e8 c1 ff6103 call 03452h ; e8 c1 ff 6129 6104 lea sp, [bp-004h] ; 8d 66 fc 6130 6105 pop dx ; 5a … … 6132 6107 pop bp ; 5d 6133 6108 retn ; c3 6134 mode_info_find_mode_: ; 0xc34 dbLB 0x556109 mode_info_find_mode_: ; 0xc3498 LB 0x55 6135 6110 push bp ; 55 6136 6111 mov bp, sp ; 89 e5 … … 6143 6118 xor dx, dx ; 31 d2 6144 6119 mov ax, 003b6h ; b8 b6 03 6145 call 034 5bh ; e8 6d ff6120 call 03418h ; e8 6d ff 6146 6121 cmp ax, 077cch ; 3d cc 77 6147 jne short 03 525h ; 75 326122 jne short 034e2h ; 75 32 6148 6123 mov bx, strict word 00004h ; bb 04 00 6149 6124 mov dx, bx ; 89 da 6150 6125 mov ax, 003b6h ; b8 b6 03 6151 call 034 5bh ; e8 5d ff6126 call 03418h ; e8 5d ff 6152 6127 mov cx, ax ; 89 c1 6153 6128 cmp cx, strict byte 0ffffh ; 83 f9 ff 6154 je short 03 525h ; 74 206129 je short 034e2h ; 74 20 6155 6130 lea dx, [bx+002h] ; 8d 57 02 6156 6131 mov ax, 003b6h ; b8 b6 03 6157 call 034 5bh ; e8 4d ff6132 call 03418h ; e8 4d ff 6158 6133 lea dx, [bx+044h] ; 8d 57 44 6159 6134 cmp cx, di ; 39 f9 6160 jne short 03 521h ; 75 0c6135 jne short 034deh ; 75 0c 6161 6136 test si, si ; 85 f6 6162 jne short 03 51dh ; 75 046137 jne short 034dah ; 75 04 6163 6138 mov ax, bx ; 89 d8 6164 jmp short 03 527h ; eb 0a6139 jmp short 034e4h ; eb 0a 6165 6140 test AL, strict byte 080h ; a8 80 6166 jne short 03 519h ; 75 f86141 jne short 034d6h ; 75 f8 6167 6142 mov bx, dx ; 89 d3 6168 jmp short 034 f8h ; eb d36143 jmp short 034b5h ; eb d3 6169 6144 xor ax, ax ; 31 c0 6170 6145 lea sp, [bp-008h] ; 8d 66 f8 … … 6175 6150 pop bp ; 5d 6176 6151 retn ; c3 6177 vbe_biosfn_return_controller_information_: ; 0xc3 530LB 0x1296152 vbe_biosfn_return_controller_information_: ; 0xc34ed LB 0x129 6178 6153 push bp ; 55 6179 6154 mov bp, sp ; 89 e5 … … 6186 6161 mov word [bp-00ah], bx ; 89 5e f6 6187 6162 mov word [bp-00ch], strict word 00022h ; c7 46 f4 22 00 6188 call 005a7h ; e8 5fd06163 call 005a7h ; e8 a2 d0 6189 6164 mov word [bp-010h], ax ; 89 46 f0 6190 6165 mov bx, word [bp-00ah] ; 8b 5e f6 … … 6192 6167 xor dx, dx ; 31 d2 6193 6168 mov ax, 003b6h ; b8 b6 03 6194 call 034 5bh ; e8 02 ff6169 call 03418h ; e8 02 ff 6195 6170 cmp ax, 077cch ; 3d cc 77 6196 je short 035 68h ; 74 0a6171 je short 03525h ; 74 0a 6197 6172 push SS ; 16 6198 6173 pop ES ; 07 6199 6174 mov word [es:si], 00100h ; 26 c7 04 00 01 6200 jmp near 036 51h ; e9 e9 006175 jmp near 0360eh ; e9 e9 00 6201 6176 mov cx, strict word 00004h ; b9 04 00 6202 6177 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 6203 6178 mov es, [bp-008h] ; 8e 46 f8 6204 6179 cmp word [es:bx+002h], 03245h ; 26 81 7f 02 45 32 6205 jne short 035 82h ; 75 076180 jne short 0353fh ; 75 07 6206 6181 cmp word [es:bx], 04256h ; 26 81 3f 56 42 6207 je short 035 91h ; 74 0f6182 je short 0354eh ; 74 0f 6208 6183 cmp word [es:bx+002h], 04153h ; 26 81 7f 02 53 41 6209 jne short 035 96h ; 75 0c6184 jne short 03553h ; 75 0c 6210 6185 cmp word [es:bx], 04556h ; 26 81 3f 56 45 6211 jne short 035 96h ; 75 056186 jne short 03553h ; 75 05 6212 6187 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 6213 6188 mov es, [bp-008h] ; 8e 46 f8 … … 6225 6200 mov dx, strict word 0ffffh ; ba ff ff 6226 6201 mov ax, 003b6h ; b8 b6 03 6227 call 034 5bh ; e8 8a fe6202 call 03418h ; e8 8a fe 6228 6203 mov es, [bp-008h] ; 8e 46 f8 6229 6204 mov word [es:bx+012h], ax ; 26 89 47 12 6230 6205 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 6231 je short 03 602h ; 74 246206 je short 035bfh ; 74 24 6232 6207 mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 6233 6208 mov word [es:bx+016h], 07e35h ; 26 c7 47 16 35 7e … … 6240 6215 add dx, strict byte 0001bh ; 83 c2 1b 6241 6216 mov ax, 003b6h ; b8 b6 03 6242 call 034 6dh ; e8 60 fe6217 call 0342ah ; e8 60 fe 6243 6218 xor ah, ah ; 30 e4 6244 6219 cmp ax, word [bp-010h] ; 3b 46 f0 6245 jnbe short 03 62dh ; 77 196220 jnbe short 035eah ; 77 19 6246 6221 mov dx, cx ; 89 ca 6247 6222 mov ax, 003b6h ; b8 b6 03 6248 call 034 5bh ; e8 3f fe6223 call 03418h ; e8 3f fe 6249 6224 mov bx, ax ; 89 c3 6250 6225 mov dx, word [bp-00ah] ; 8b 56 f6 6251 6226 add dx, word [bp-00ch] ; 03 56 f4 6252 6227 mov ax, di ; 89 f8 6253 call 02f a1h ; e8 78 f96228 call 02f5eh ; e8 78 f9 6254 6229 add word [bp-00ch], strict byte 00002h ; 83 46 f4 02 6255 6230 add cx, strict byte 00044h ; 83 c1 44 6256 6231 mov dx, cx ; 89 ca 6257 6232 mov ax, 003b6h ; b8 b6 03 6258 call 034 5bh ; e8 23 fe6233 call 03418h ; e8 23 fe 6259 6234 mov bx, ax ; 89 c3 6260 6235 cmp ax, strict word 0ffffh ; 3d ff ff 6261 jne short 03 602h ; 75 c36236 jne short 035bfh ; 75 c3 6262 6237 mov dx, word [bp-00ah] ; 8b 56 f6 6263 6238 add dx, word [bp-00ch] ; 03 56 f4 6264 6239 mov ax, di ; 89 f8 6265 call 02f a1h ; e8 57 f96240 call 02f5eh ; e8 57 f9 6266 6241 push SS ; 16 6267 6242 pop ES ; 07 … … 6273 6248 pop bp ; 5d 6274 6249 retn ; c3 6275 vbe_biosfn_return_mode_information_: ; 0xc36 59LB 0xb46250 vbe_biosfn_return_mode_information_: ; 0xc3616 LB 0xb4 6276 6251 push bp ; 55 6277 6252 mov bp, sp ; 89 e5 … … 6289 6264 xor dh, dh ; 30 f6 6290 6265 and ah, 001h ; 80 e4 01 6291 call 034 dbh ; e8 65 fe6266 call 03498h ; e8 65 fe 6292 6267 mov word [bp-008h], ax ; 89 46 f8 6293 6268 test ax, ax ; 85 c0 6294 je near 036 fbh ; 0f 84 7c 006269 je near 036b8h ; 0f 84 7c 00 6295 6270 mov cx, 00100h ; b9 00 01 6296 6271 xor ax, ax ; 31 c0 … … 6298 6273 mov es, bx ; 8e c3 6299 6274 cld ; fc 6300 jcxz 036 8eh ; e3 026275 jcxz 0364bh ; e3 02 6301 6276 rep stosb ; f3 aa 6302 6277 xor cx, cx ; 31 c9 6303 jmp short 036 97h ; eb 056278 jmp short 03654h ; eb 05 6304 6279 cmp cx, strict byte 00042h ; 83 f9 42 6305 jnc short 036 b4h ; 73 1d6280 jnc short 03671h ; 73 1d 6306 6281 mov dx, word [bp-008h] ; 8b 56 f8 6307 6282 inc dx ; 42 … … 6309 6284 add dx, cx ; 01 ca 6310 6285 mov ax, 003b6h ; b8 b6 03 6311 call 034 6dh ; e8 c9 fd6286 call 0342ah ; e8 c9 fd 6312 6287 movzx bx, al ; 0f b6 d8 6313 6288 mov dx, word [bp-006h] ; 8b 56 fa 6314 6289 add dx, cx ; 01 ca 6315 6290 mov ax, si ; 89 f0 6316 call 02f 85h ; e8 d4 f86317 inc cx ; 41 6318 jmp short 036 92h ; eb de6291 call 02f42h ; e8 d4 f8 6292 inc cx ; 41 6293 jmp short 0364fh ; eb de 6319 6294 mov dx, word [bp-006h] ; 8b 56 fa 6320 6295 inc dx ; 42 6321 6296 inc dx ; 42 6322 6297 mov ax, si ; 89 f0 6323 call 02f 77h ; e8 b9 f86298 call 02f34h ; e8 b9 f8 6324 6299 test AL, strict byte 001h ; a8 01 6325 je short 036 deh ; 74 1c6300 je short 0369bh ; 74 1c 6326 6301 mov dx, word [bp-006h] ; 8b 56 fa 6327 6302 add dx, strict byte 0000ch ; 83 c2 0c 6328 6303 mov bx, 00605h ; bb 05 06 6329 6304 mov ax, si ; 89 f0 6330 call 02f a1h ; e8 d1 f86305 call 02f5eh ; e8 d1 f8 6331 6306 mov dx, word [bp-006h] ; 8b 56 fa 6332 6307 add dx, strict byte 0000eh ; 83 c2 0e 6333 6308 mov bx, 0c000h ; bb 00 c0 6334 6309 mov ax, si ; 89 f0 6335 call 02f a1h ; e8 c3 f86310 call 02f5eh ; e8 c3 f8 6336 6311 mov ax, strict word 0000bh ; b8 0b 00 6337 6312 mov dx, 001ceh ; ba ce 01 … … 6343 6318 mov bx, ax ; 89 c3 6344 6319 mov ax, si ; 89 f0 6345 call 02f a1h ; e8 ab f86320 call 02f5eh ; e8 ab f8 6346 6321 mov ax, strict word 0004fh ; b8 4f 00 6347 jmp short 036 feh ; eb 036322 jmp short 036bbh ; eb 03 6348 6323 mov ax, 00100h ; b8 00 01 6349 6324 push SS ; 16 … … 6356 6331 pop bp ; 5d 6357 6332 retn ; c3 6358 vbe_biosfn_set_mode_: ; 0xc3 70dLB 0xe96333 vbe_biosfn_set_mode_: ; 0xc36ca LB 0xe9 6359 6334 push bp ; 55 6360 6335 mov bp, sp ; 89 e5 … … 6370 6345 mov ax, dx ; 89 d0 6371 6346 test dx, dx ; 85 d2 6372 je short 03 72dh ; 74 036347 je short 036eah ; 74 03 6373 6348 mov dx, strict word 00040h ; ba 40 00 6374 6349 mov byte [bp-006h], dl ; 88 56 fa 6375 6350 test byte [bp-009h], 080h ; f6 46 f7 80 6376 je short 03 73bh ; 74 056351 je short 036f8h ; 74 05 6377 6352 mov dx, 00080h ; ba 80 00 6378 jmp short 03 73dh ; eb 026353 jmp short 036fah ; eb 02 6379 6354 xor dx, dx ; 31 d2 6380 6355 mov byte [bp-008h], dl ; 88 56 f8 6381 6356 and byte [bp-009h], 001h ; 80 66 f7 01 6382 6357 cmp word [bp-00ah], 00100h ; 81 7e f6 00 01 6383 jnc short 037 5dh ; 73 126358 jnc short 0371ah ; 73 12 6384 6359 xor ax, ax ; 31 c0 6385 call 005c9h ; e8 79ce6360 call 005c9h ; e8 bc ce 6386 6361 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6387 call 00fdch ; e8 85d86362 call 00fdch ; e8 c8 d8 6388 6363 mov ax, strict word 0004fh ; b8 4f 00 6389 jmp near 037 ech ; e9 8f 006364 jmp near 037a9h ; e9 8f 00 6390 6365 mov dx, ax ; 89 c2 6391 6366 mov ax, word [bp-00ah] ; 8b 46 f6 6392 call 034 dbh ; e8 76 fd6367 call 03498h ; e8 76 fd 6393 6368 mov bx, ax ; 89 c3 6394 6369 test ax, ax ; 85 c0 6395 je near 037 e9h ; 0f 84 7c 006370 je near 037a6h ; 0f 84 7c 00 6396 6371 lea dx, [bx+014h] ; 8d 57 14 6397 6372 mov ax, 003b6h ; b8 b6 03 6398 call 034 5bh ; e8 e5 fc6373 call 03418h ; e8 e5 fc 6399 6374 mov cx, ax ; 89 c1 6400 6375 lea dx, [bx+016h] ; 8d 57 16 6401 6376 mov ax, 003b6h ; b8 b6 03 6402 call 034 5bh ; e8 da fc6377 call 03418h ; e8 da fc 6403 6378 mov di, ax ; 89 c7 6404 6379 lea dx, [bx+01bh] ; 8d 57 1b 6405 6380 mov ax, 003b6h ; b8 b6 03 6406 call 034 6dh ; e8 e1 fc6381 call 0342ah ; e8 e1 fc 6407 6382 mov bl, al ; 88 c3 6408 6383 mov dl, al ; 88 c2 6409 6384 xor ax, ax ; 31 c0 6410 call 005c9h ; e8 34ce6385 call 005c9h ; e8 77 ce 6411 6386 cmp bl, 004h ; 80 fb 04 6412 jne short 037 a0h ; 75 066387 jne short 0375dh ; 75 06 6413 6388 mov ax, strict word 0006ah ; b8 6a 00 6414 call 00fdch ; e8 3cd86389 call 00fdch ; e8 7f d8 6415 6390 movzx ax, dl ; 0f b6 c2 6416 call 03 440h ; e8 9a fc6391 call 033fdh ; e8 9a fc 6417 6392 mov ax, cx ; 89 c8 6418 call 03 40ah ; e8 5f fc6393 call 033c7h ; e8 5f fc 6419 6394 mov ax, di ; 89 f8 6420 call 03 425h ; e8 75 fc6395 call 033e2h ; e8 75 fc 6421 6396 xor ax, ax ; 31 c0 6422 call 005e7h ; e8 32ce6397 call 005e7h ; e8 75 ce 6423 6398 mov al, byte [bp-008h] ; 8a 46 f8 6424 6399 or AL, strict byte 001h ; 0c 01 … … 6426 6401 movzx ax, byte [bp-006h] ; 0f b6 46 fa 6427 6402 or ax, dx ; 09 d0 6428 call 005c9h ; e8 03ce6429 call 006c3h ; e8 fa ce6403 call 005c9h ; e8 46 ce 6404 call 006c3h ; e8 3d cf 6430 6405 mov bx, word [bp-00ah] ; 8b 5e f6 6431 6406 mov dx, 000bah ; ba ba 00 6432 6407 mov ax, strict word 00040h ; b8 40 00 6433 call 02f a1h ; e8 cc f76408 call 02f5eh ; e8 cc f7 6434 6409 mov al, byte [bp-008h] ; 8a 46 f8 6435 6410 or AL, strict byte 060h ; 0c 60 … … 6437 6412 mov dx, 00087h ; ba 87 00 6438 6413 mov ax, strict word 00040h ; b8 40 00 6439 call 02f 85h ; e8 9f f76440 jmp near 037 57h ; e9 6e ff6414 call 02f42h ; e8 9f f7 6415 jmp near 03714h ; e9 6e ff 6441 6416 mov ax, 00100h ; b8 00 01 6442 6417 mov word [ss:si], ax ; 36 89 04 … … 6446 6421 pop bp ; 5d 6447 6422 retn ; c3 6448 vbe_biosfn_read_video_state_size_: ; 0xc37 f6LB 0x86423 vbe_biosfn_read_video_state_size_: ; 0xc37b3 LB 0x8 6449 6424 push bp ; 55 6450 6425 mov bp, sp ; 89 e5 … … 6452 6427 pop bp ; 5d 6453 6428 retn ; c3 6454 vbe_biosfn_save_video_state_: ; 0xc37 feLB 0x5b6429 vbe_biosfn_save_video_state_: ; 0xc37bb LB 0x5b 6455 6430 push bp ; 55 6456 6431 mov bp, sp ; 89 e5 … … 6471 6446 mov dx, cx ; 89 ca 6472 6447 mov ax, di ; 89 f8 6473 call 02f a1h ; e8 80 f76448 call 02f5eh ; e8 80 f7 6474 6449 inc cx ; 41 6475 6450 inc cx ; 41 6476 6451 test byte [bp-00ah], 001h ; f6 46 f6 01 6477 je short 038 50h ; 74 276452 je short 0380dh ; 74 27 6478 6453 mov si, strict word 00001h ; be 01 00 6479 jmp short 03 833h ; eb 056454 jmp short 037f0h ; eb 05 6480 6455 cmp si, strict byte 00009h ; 83 fe 09 6481 jnbe short 038 50h ; 77 1d6456 jnbe short 0380dh ; 77 1d 6482 6457 cmp si, strict byte 00004h ; 83 fe 04 6483 je short 038 4dh ; 74 156458 je short 0380ah ; 74 15 6484 6459 mov ax, si ; 89 f0 6485 6460 mov dx, 001ceh ; ba ce 01 … … 6490 6465 mov dx, cx ; 89 ca 6491 6466 mov ax, di ; 89 f8 6492 call 02f a1h ; e8 56 f76467 call 02f5eh ; e8 56 f7 6493 6468 inc cx ; 41 6494 6469 inc cx ; 41 6495 6470 inc si ; 46 6496 jmp short 03 82eh ; eb de6471 jmp short 037ebh ; eb de 6497 6472 lea sp, [bp-008h] ; 8d 66 f8 6498 6473 pop di ; 5f … … 6502 6477 pop bp ; 5d 6503 6478 retn ; c3 6504 vbe_biosfn_restore_video_state_: ; 0xc38 59LB 0x9b6479 vbe_biosfn_restore_video_state_: ; 0xc3816 LB 0x9b 6505 6480 push bp ; 55 6506 6481 mov bp, sp ; 89 e5 … … 6511 6486 mov cx, ax ; 89 c1 6512 6487 mov bx, dx ; 89 d3 6513 call 02f 93h ; e8 2c f76488 call 02f50h ; e8 2c f7 6514 6489 mov word [bp-008h], ax ; 89 46 f8 6515 6490 inc bx ; 43 6516 6491 inc bx ; 43 6517 6492 test byte [bp-008h], 001h ; f6 46 f8 01 6518 jne short 038 82h ; 75 106493 jne short 0383fh ; 75 10 6519 6494 mov ax, strict word 00004h ; b8 04 00 6520 6495 mov dx, 001ceh ; ba ce 01 … … 6523 6498 mov dx, 001cfh ; ba cf 01 6524 6499 out DX, ax ; ef 6525 jmp short 038 ech ; eb 6a6500 jmp short 038a9h ; eb 6a 6526 6501 mov ax, strict word 00001h ; b8 01 00 6527 6502 mov dx, 001ceh ; ba ce 01 … … 6529 6504 mov dx, bx ; 89 da 6530 6505 mov ax, cx ; 89 c8 6531 call 02f 93h ; e8 03 f76506 call 02f50h ; e8 03 f7 6532 6507 mov dx, 001cfh ; ba cf 01 6533 6508 out DX, ax ; ef … … 6539 6514 mov dx, bx ; 89 da 6540 6515 mov ax, cx ; 89 c8 6541 call 02f 93h ; e8 ef f66516 call 02f50h ; e8 ef f6 6542 6517 mov dx, 001cfh ; ba cf 01 6543 6518 out DX, ax ; ef … … 6549 6524 mov dx, bx ; 89 da 6550 6525 mov ax, cx ; 89 c8 6551 call 02f 93h ; e8 db f66526 call 02f50h ; e8 db f6 6552 6527 mov dx, 001cfh ; ba cf 01 6553 6528 out DX, ax ; ef … … 6561 6536 out DX, ax ; ef 6562 6537 mov si, strict word 00005h ; be 05 00 6563 jmp short 038 d6h ; eb 056538 jmp short 03893h ; eb 05 6564 6539 cmp si, strict byte 00009h ; 83 fe 09 6565 jnbe short 038 ech ; 77 166540 jnbe short 038a9h ; 77 16 6566 6541 mov ax, si ; 89 f0 6567 6542 mov dx, 001ceh ; ba ce 01 … … 6569 6544 mov dx, bx ; 89 da 6570 6545 mov ax, cx ; 89 c8 6571 call 02f 93h ; e8 b0 f66546 call 02f50h ; e8 b0 f6 6572 6547 mov dx, 001cfh ; ba cf 01 6573 6548 out DX, ax ; ef … … 6575 6550 inc bx ; 43 6576 6551 inc si ; 46 6577 jmp short 038 d1h ; eb e56552 jmp short 0388eh ; eb e5 6578 6553 lea sp, [bp-006h] ; 8d 66 fa 6579 6554 pop si ; 5e … … 6582 6557 pop bp ; 5d 6583 6558 retn ; c3 6584 vbe_biosfn_save_restore_state_: ; 0xc38 f4LB 0x8c6559 vbe_biosfn_save_restore_state_: ; 0xc38b1 LB 0x8c 6585 6560 push bp ; 55 6586 6561 mov bp, sp ; 89 e5 … … 6595 6570 xor ah, ah ; 30 e4 6596 6571 cmp ax, strict word 00002h ; 3d 02 00 6597 je short 039 53h ; 74 456572 je short 03910h ; 74 45 6598 6573 cmp ax, strict word 00001h ; 3d 01 00 6599 je short 03 937h ; 74 246574 je short 038f4h ; 74 24 6600 6575 test ax, ax ; 85 c0 6601 jne short 039 6fh ; 75 586576 jne short 0392ch ; 75 58 6602 6577 mov ax, word [bp-006h] ; 8b 46 fa 6603 call 028 8ch ; e8 6f ef6578 call 02849h ; e8 6f ef 6604 6579 mov cx, ax ; 89 c1 6605 6580 test byte [bp-006h], 008h ; f6 46 fa 08 6606 je short 03 92ah ; 74 056607 call 037 f6h ; e8 ce fe6581 je short 038e7h ; 74 05 6582 call 037b3h ; e8 ce fe 6608 6583 add ax, cx ; 01 c8 6609 6584 add ax, strict word 0003fh ; 05 3f 00 … … 6612 6587 pop ES ; 07 6613 6588 mov word [es:bx], ax ; 26 89 07 6614 jmp short 039 72h ; eb 3b6589 jmp short 0392fh ; eb 3b 6615 6590 push SS ; 16 6616 6591 pop ES ; 07 … … 6618 6593 mov dx, cx ; 89 ca 6619 6594 mov ax, word [bp-006h] ; 8b 46 fa 6620 call 028 c1h ; e8 7d ef6595 call 0287eh ; e8 7d ef 6621 6596 test byte [bp-006h], 008h ; f6 46 fa 08 6622 je short 039 72h ; 74 286597 je short 0392fh ; 74 28 6623 6598 mov dx, ax ; 89 c2 6624 6599 mov ax, cx ; 89 c8 6625 call 037 feh ; e8 ad fe6626 jmp short 039 72h ; eb 1f6600 call 037bbh ; e8 ad fe 6601 jmp short 0392fh ; eb 1f 6627 6602 push SS ; 16 6628 6603 pop ES ; 07 … … 6630 6605 mov dx, cx ; 89 ca 6631 6606 mov ax, word [bp-006h] ; 8b 46 fa 6632 call 02 c2ah ; e8 ca f26607 call 02be7h ; e8 ca f2 6633 6608 test byte [bp-006h], 008h ; f6 46 fa 08 6634 je short 039 72h ; 74 0c6609 je short 0392fh ; 74 0c 6635 6610 mov dx, ax ; 89 c2 6636 6611 mov ax, cx ; 89 c8 6637 call 038 59h ; e8 ec fe6638 jmp short 039 72h ; eb 036612 call 03816h ; e8 ec fe 6613 jmp short 0392fh ; eb 03 6639 6614 mov di, 00100h ; bf 00 01 6640 6615 push SS ; 16 … … 6647 6622 retn 00002h ; c2 02 00 6648 6623 6649 ; Padding 0xc 80 bytes at 0xc39806650 times 32 00db 06624 ; Padding 0xcc3 bytes at 0xc393d 6625 times 3267 db 0 6651 6626 6652 6627 section VBE32 progbits vstart=0x4600 align=1 ; size=0x115 class=CODE group=AUTO … … 7701 7676 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7702 7677 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7703 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0 1ch7678 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h -
trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.md5sum
r50159 r51062 1 70d2883225c6a0e2a6d9d96362e9adad*VBoxVgaBios.rom1 be05e86993fbde08237d26cfc61fb370 *VBoxVgaBios.rom -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.asm
r50317 r51062 856 856 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 857 857 _pktacc: ; 0xf006a LB 0xc 858 db 000h, 000h, 000h, 000h, 000h, 000h, 08fh, 028h, 0 30h, 079h, 0f8h, 086h858 db 000h, 000h, 000h, 000h, 000h, 000h, 08fh, 028h, 09ah, 079h, 062h, 087h 859 859 _softrst: ; 0xf0076 LB 0xc 860 860 db 000h, 000h, 000h, 000h, 000h, 000h, 077h, 02bh, 091h, 036h, 091h, 036h 861 861 _dskacc: ; 0xf0082 LB 0x2e 862 862 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0d8h, 027h, 052h, 028h, 000h, 000h, 000h, 000h 863 db 0 beh, 077h, 077h, 078h, 0f4h, 085h, 088h, 086h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h863 db 028h, 078h, 0e1h, 078h, 05eh, 086h, 0f2h, 086h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 864 864 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 865 865 866 section CONST progbits vstart=0xb0 align=1 ; size=0xc c8class=DATA group=DGROUP866 section CONST progbits vstart=0xb0 align=1 ; size=0xce0 class=DATA group=DGROUP 867 867 db 'NMI Handler called', 00ah, 000h 868 868 db 'INT18: BOOT FAILURE', 00ah, 000h … … 940 940 db 'INT 15h C2 default case entered', 00ah, 000h, 000h 941 941 db 'Key pressed: %x', 00ah, 000h 942 db 00ah, 00ah, ' AHCI controller:', 000h 943 db 00ah, ' %d) Hard disk', 000h 944 db 00ah, 00ah, ' SCSI controller:', 000h 945 db ' IDE controller:', 000h 942 946 db 00ah, 00ah, 'AHCI controller:', 00ah, 000h 943 db 00ah, ' %d) Hard disk', 000h944 db 00ah, 00ah, 'SCSI controller:', 00ah, 000h945 db 'IDE controller:', 00ah, 000h946 947 db 00ah, ' %d) ', 000h 947 948 db 'Secondary ', 000h … … 957 958 db ' l) LAN', 00ah, 00ah, ' b) Continue booting', 00ah, 000h 958 959 db 'Delaying boot for %d seconds:', 000h 959 db ' %d', 000h 960 db ' %d', 000h, 000h 960 961 db 'scsi_read_sectors', 000h 961 962 db '%s: device_id out of range %d', 00ah, 000h … … 981 982 db 'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h 982 983 983 section CONST2 progbits vstart=0xd 78align=1 ; size=0x3fa class=DATA group=DGROUP984 _bios_cvs_version_string: ; 0xf0d 78LB 0x12984 section CONST2 progbits vstart=0xd90 align=1 ; size=0x3fa class=DATA group=DGROUP 985 _bios_cvs_version_string: ; 0xf0d90 LB 0x12 985 986 db 'VirtualBox 4.3.53', 000h 986 _bios_prefix_string: ; 0xf0d 8aLB 0x8987 _bios_prefix_string: ; 0xf0da2 LB 0x8 987 988 db 'BIOS: ', 000h, 000h 988 _isotag: ; 0xf0d 92LB 0x6989 _isotag: ; 0xf0daa LB 0x6 989 990 db 'CD001', 000h 990 _eltorito: ; 0xf0d 98LB 0x18991 _eltorito: ; 0xf0db0 LB 0x18 991 992 db 'EL TORITO SPECIFICATION', 000h 992 _drivetypes: ; 0xf0d b0LB 0x28993 _drivetypes: ; 0xf0dc8 LB 0x28 993 994 db 046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h 994 995 db 069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h 995 996 db 04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h 996 _scan_to_scanascii: ; 0xf0d d8LB 0x37a997 _scan_to_scanascii: ; 0xf0df0 LB 0x37a 997 998 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h 998 999 db 000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h … … 1051 1052 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h 1052 1053 db 000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h 1053 _panic_msg_keyb_buffer_full: ; 0xf11 52LB 0x201054 _panic_msg_keyb_buffer_full: ; 0xf116a LB 0x20 1054 1055 db '%s: keyboard input buffer full', 00ah, 000h 1055 1056 1056 ; Padding 0x4 8e bytes at 0xf11721057 times 11 66db 01057 ; Padding 0x476 bytes at 0xf118a 1058 times 1142 db 0 1058 1059 1059 section _TEXT progbits vstart=0x1600 align=1 ; size=0x7f 65 class=CODE group=AUTO1060 section _TEXT progbits vstart=0x1600 align=1 ; size=0x7fd5 class=CODE group=AUTO 1060 1061 rom_scan_: ; 0xf1600 LB 0x50 1061 1062 push bp ; 55 … … 1279 1280 push bp ; 55 1280 1281 mov bp, sp ; 89 e5 1281 mov bx, 00d 8ah ; bb 8a0d1282 mov bx, 00da2h ; bb a2 0d 1282 1283 mov cx, ds ; 8c d9 1283 1284 mov ax, strict word 00004h ; b8 04 00 1284 1285 call 01931h ; e8 ac 01 1285 push 00d 78h ; 68 780d1286 push 00d90h ; 68 90 0d 1286 1287 push 000d9h ; 68 d9 00 1287 1288 push strict byte 00004h ; 6a 04 … … 1308 1309 int 010h ; cd 10 1309 1310 jmp short 017c1h ; eb 03 1310 call 07 3cdh ; e8 0c5c1311 call 07437h ; e8 76 5c 1311 1312 mov sp, bp ; 89 ec 1312 1313 pop bp ; 5d … … 1454 1455 mov bx, strict word 0000ah ; bb 0a 00 1455 1456 xor cx, cx ; 31 c9 1456 call 094 70h ; e8 97 7b1457 call 094e0h ; e8 07 7c 1457 1458 mov word [bp-008h], ax ; 89 46 f8 1458 1459 mov cx, dx ; 89 d1 … … 2417 2418 mov dx, ss ; 8c d2 2418 2419 lea ax, [bp-036h] ; 8d 46 ca 2419 call 053 89h ; e8 6c312420 mov bx, 00d 8ah ; bb 8a0d2420 call 053f3h ; e8 d6 31 2421 mov bx, 00da2h ; bb a2 0d 2421 2422 mov cx, ds ; 8c d9 2422 2423 mov ax, strict word 00004h ; b8 04 00 … … 3066 3067 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 3067 3068 jne short 028e1h ; 75 1f 3068 mov bx, 00d 8ah ; bb 8a0d3069 mov bx, 00da2h ; bb a2 0d 3069 3070 mov cx, ds ; 8c d9 3070 3071 mov ax, strict word 00004h ; b8 04 00 … … 3945 3946 cmp AL, strict byte 048h ; 3c 48 3946 3947 jbe short 03095h ; 76 29 3947 mov bx, 00d 8ah ; bb 8a0d3948 mov bx, 00da2h ; bb a2 0d 3948 3949 mov cx, ds ; 8c d9 3949 3950 mov ax, strict word 00004h ; b8 04 00 … … 4545 4546 mov ax, strict word 00006h ; b8 06 00 4546 4547 jmp near 02fbdh ; e9 7e f9 4547 mov bx, 00d 8ah ; bb 8a0d4548 mov bx, 00da2h ; bb a2 0d 4548 4549 mov cx, ds ; 8c d9 4549 4550 mov ax, strict word 00004h ; b8 04 00 … … 4642 4643 cmp ax, strict word 0004ah ; 3d 4a 00 4643 4644 jne near 03829h ; 0f 85 1e 01 4644 mov bx, 00d 8ah ; bb 8a0d4645 mov bx, 00da2h ; bb a2 0d 4645 4646 mov cx, ds ; 8c d9 4646 4647 mov ax, strict word 00004h ; b8 04 00 … … 4740 4741 pop bp ; 5d 4741 4742 retn ; c3 4742 mov bx, 00d 8ah ; bb 8a0d4743 mov bx, 00da2h ; bb a2 0d 4743 4744 mov cx, ds ; 8c d9 4744 4745 mov ax, strict word 00004h ; b8 04 00 … … 4821 4822 mov dx, ss ; 8c d2 4822 4823 lea ax, [bp-026h] ; 8d 46 da 4823 call 09 4dah ; e8 e7 5b4824 call 0954ah ; e8 57 5c 4824 4825 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 4825 4826 mov ax, strict word 00011h ; b8 11 00 … … 4875 4876 jnc short 03993h ; 73 10 4876 4877 mov al, byte [bp+di-00825h] ; 8a 83 db f7 4877 cmp al, byte [di+00d 92h] ; 3a 85 920d4878 cmp al, byte [di+00daah] ; 3a 85 aa 0d 4878 4879 je short 0397dh ; 74 f0 4879 4880 mov ax, strict word 00005h ; b8 05 00 … … 4885 4886 jnc short 039adh ; 73 10 4886 4887 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 4887 cmp al, byte [di+00d 98h] ; 3a 85 980d4888 cmp al, byte [di+00db0h] ; 3a 85 b0 0d 4888 4889 je short 03997h ; 74 f0 4889 4890 mov ax, strict word 00006h ; b8 06 00 … … 5163 5164 cmp dx, ax ; 39 c2 5164 5165 je short 03d2fh ; 74 29 5165 mov bx, 00d 8ah ; bb 8a0d5166 mov bx, 00da2h ; bb a2 0d 5166 5167 mov cx, ds ; 8c d9 5167 5168 mov ax, strict word 00004h ; b8 04 00 … … 5280 5281 xor dl, dl ; 30 d2 5281 5282 xor cx, cx ; 31 c9 5282 call 09 4a9h ; e8 55 565283 call 09519h ; e8 c5 56 5283 5284 xor bx, bx ; 31 db 5284 5285 add ax, si ; 01 f0 … … 5286 5287 mov bx, di ; 89 fb 5287 5288 xor cx, cx ; 31 c9 5288 call 09 4a9h ; e8 48 565289 call 09519h ; e8 b8 56 5289 5290 mov bx, ax ; 89 c3 5290 5291 mov ax, word [bp-010h] ; 8b 46 f0 … … 5321 5322 mov dx, ss ; 8c d2 5322 5323 lea ax, [bp-02eh] ; 8d 46 d2 5323 call 09 4dah ; e8 22 565324 call 0954ah ; e8 92 56 5324 5325 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 5325 5326 mov ax, word [bp-014h] ; 8b 46 ec … … 5385 5386 test al, al ; 84 c0 5386 5387 je near 03d7bh ; 0f 84 13 fe 5387 mov bx, 00d 8ah ; bb 8a0d5388 mov bx, 00da2h ; bb a2 0d 5388 5389 mov cx, ds ; 8c d9 5389 5390 mov ax, strict word 00004h ; b8 04 00 … … 5466 5467 mov word [bp+016h], bx ; 89 5e 16 5467 5468 jmp near 03d7fh ; e9 37 fd 5468 mov bx, 00d 8ah ; bb 8a0d5469 mov bx, 00da2h ; bb a2 0d 5469 5470 mov cx, ds ; 8c d9 5470 5471 mov ax, strict word 00004h ; b8 04 00 … … 5628 5629 mov dx, ss ; 8c d2 5629 5630 lea ax, [bp-02ch] ; 8d 46 d4 5630 call 09 4dah ; e8 87 525631 call 0954ah ; e8 f7 52 5631 5632 mov word [bp-02ch], strict word 00028h ; c7 46 d4 28 00 5632 5633 mov ax, word [bp-018h] ; 8b 46 e8 … … 5677 5678 test dl, dl ; 84 d2 5678 5679 je near 043a5h ; 0f 84 cb 00 5679 mov bx, 00d 8ah ; bb 8a0d5680 mov bx, 00da2h ; bb a2 0d 5680 5681 mov cx, ds ; 8c d9 5681 5682 mov ax, strict word 00004h ; b8 04 00 … … 5961 5962 or byte [bp+01eh], 001h ; 80 4e 1e 01 5962 5963 jmp near 043b8h ; e9 8f fd 5963 mov bx, 00d 8ah ; bb 8a0d5964 mov bx, 00da2h ; bb a2 0d 5964 5965 mov cx, ds ; 8c d9 5965 5966 mov ax, strict word 00004h ; b8 04 00 … … 5991 5992 je short 0468bh ; 74 21 5992 5993 mov dx, strict word 00001h ; ba 01 00 5993 mov bx, 00d 8ah ; bb 8a0d5994 mov bx, 00da2h ; bb a2 0d 5994 5995 mov cx, ds ; 8c d9 5995 5996 mov ax, strict word 00004h ; b8 04 00 5996 5997 call 01931h ; e8 b9 d2 5997 5998 imul dx, dx, strict byte 0000ah ; 6b d2 0a 5998 add dx, 00d b0h ; 81 c2 b00d5999 add dx, 00dc8h ; 81 c2 c8 0d 5999 6000 push dx ; 52 6000 6001 push 00474h ; 68 74 04 … … 6016 6017 test al, al ; 84 c0 6017 6018 je short 046beh ; 74 1b 6018 mov bx, 00d 8ah ; bb 8a0d6019 mov bx, 00da2h ; bb a2 0d 6019 6020 mov cx, ds ; 8c d9 6020 6021 mov ax, strict word 00004h ; b8 04 00 6021 6022 call 01931h ; e8 83 d2 6022 push 00d c4h ; 68 c40d6023 push 00ddch ; 68 dc 0d 6023 6024 push 00488h ; 68 88 04 6024 6025 push strict byte 00004h ; 6a 04 … … 6028 6029 test dl, dl ; 84 d2 6029 6030 je short 046d2h ; 74 10 6030 mov bx, 00d 8ah ; bb 8a0d6031 mov bx, 00da2h ; bb a2 0d 6031 6032 mov cx, ds ; 8c d9 6032 6033 mov ax, strict word 00004h ; b8 04 00 6033 6034 call 01931h ; e8 64 d2 6034 push 00d ceh ; 68 ce0d6035 push 00de6h ; 68 e6 0d 6035 6036 jmp short 046b1h ; eb df 6036 6037 test bl, 080h ; f6 c3 80 6037 6038 je short 046e8h ; 74 11 6038 mov bx, 00d 8ah ; bb 8a0d6039 mov bx, 00da2h ; bb a2 0d 6039 6040 mov cx, ds ; 8c d9 6040 6041 mov ax, strict word 00004h ; b8 04 00 6041 6042 call 01931h ; e8 4f d2 6042 6043 push si ; 56 6043 push 00d bah ; 68 ba0d6044 push 00dd2h ; 68 d2 0d 6044 6045 jmp short 046f7h ; eb 0f 6045 mov bx, 00d 8ah ; bb 8a0d6046 mov bx, 00da2h ; bb a2 0d 6046 6047 mov cx, ds ; 8c d9 6047 6048 mov ax, strict word 00004h ; b8 04 00 6048 6049 call 01931h ; e8 3e d2 6049 6050 push si ; 56 6050 push 00d b0h ; 68 b00d6051 push 00dc8h ; 68 c8 0d 6051 6052 push 0049dh ; 68 9d 04 6052 6053 push strict byte 00004h ; 6a 04 … … 6074 6075 push dx ; 52 6075 6076 mov dx, ax ; 89 c2 6076 mov bx, 00d 8ah ; bb 8a0d6077 mov bx, 00da2h ; bb a2 0d 6077 6078 mov cx, ds ; 8c d9 6078 6079 mov ax, strict word 00004h ; b8 04 00 … … 6132 6133 xor ah, ah ; 30 e4 6133 6134 sar ax, 004h ; c1 f8 04 6134 call 07 5f1h ; e8 382e6135 call 0765bh ; e8 a2 2e 6135 6136 cmp byte [bp+004h], 002h ; 80 7e 04 02 6136 6137 jne short 047c2h ; 75 03 … … 6149 6150 mov byte [bp-00ah], al ; 88 46 f6 6150 6151 mov byte [bp-00ch], al ; 88 46 f4 6151 mov bx, 00d 8ah ; bb 8a0d6152 mov bx, 00da2h ; bb a2 0d 6152 6153 mov cx, ds ; 8c d9 6153 6154 mov ax, strict word 00004h ; b8 04 00 … … 6625 6626 out DX, AL ; ee 6626 6627 xor ax, ax ; 31 c0 6627 call 05e 89h ; e8 6f126628 call 05ef3h ; e8 d9 12 6628 6629 mov sp, bp ; 89 ec 6629 6630 pop bp ; 5d … … 6684 6685 cmp bh, byte [bx+si] ; 3a 38 6685 6686 sub bl, byte [ss:di] ; 36 2a 1d 6686 jmp short 04ce1h ; eb 4e 6687 js short 04ce2h ; 78 4d 6688 inc di ; 47 6687 sbb AL, strict byte 04fh ; 1c 4f 6688 db 082h, 04dh, 04ah, 04dh 6689 ; or byte [di+04ah], 04dh ; 82 4d 4a 4d 6690 dec dx ; 4a 6689 6691 dec bp ; 4d 6690 inc di ; 476692 adc byte [bp+020h], cl ; 10 4e 20 6691 6693 dec bp ; 4d 6692 cli ; fa 6694 mov cs, [bp-020h] ; 8e 4e e0 6695 dec si ; 4e 6696 add cl, byte [bx-037h] ; 02 4f c9 6693 6697 dec bp ; 4d 6694 and byte [di+06ch], cl ; 20 4d 6c 6698 dec dx ; 4a 6699 dec bp ; 4d 6700 dec dx ; 4a 6701 dec bp ; 4d 6702 dec di ; 4f 6695 6703 dec si ; 4e 6696 mov bx, 0de4eh ; bb 4e de 6697 dec si ; 4e 6698 mov cx, 0474dh ; b9 4d 47 6699 dec bp ; 4d 6700 inc di ; 47 6701 dec bp ; 4d 6702 xor cx, word [bp+039h] ; 33 4e 39 6703 dec bp ; 4d 6704 pushfw ; 9c 6705 dec si ; 4e 6706 xlatb ; d7 6707 dec si ; 4e 6708 _int09_function: ; 0xf4cb1 LB 0x35d 6704 cmp AL, strict byte 04dh ; 3c 4d 6705 ror word [bp-005h], 04eh ; c1 4e fb 4e 6706 _int09_function: ; 0xf4cb1 LB 0x3c7 6709 6707 push bp ; 55 6710 6708 mov bp, sp ; 89 e5 6711 push si ; 566712 6709 push di ; 57 6713 sub sp, strict byte 0000 ch ; 83 ec 0c6710 sub sp, strict byte 0000eh ; 83 ec 0e 6714 6711 mov al, byte [bp+014h] ; 8a 46 14 6715 mov byte [bp-00 ah], al ; 88 46 f66712 mov byte [bp-008h], al ; 88 46 f8 6716 6713 test al, al ; 84 c0 6717 jne short 04cd ch ; 75 196718 mov bx, 00d 8ah ; bb 8a0d6714 jne short 04cdbh ; 75 19 6715 mov bx, 00da2h ; bb a2 0d 6719 6716 mov cx, ds ; 8c d9 6720 6717 mov ax, strict word 00004h ; b8 04 00 6721 call 01931h ; e8 6 3cc6718 call 01931h ; e8 64 cc 6722 6719 push 00567h ; 68 67 05 6723 6720 push strict byte 00004h ; 6a 04 6724 call 01972h ; e8 9 ccc6721 call 01972h ; e8 9d cc 6725 6722 add sp, strict byte 00004h ; 83 c4 04 6726 jmp near 050 07h ; e9 2b036723 jmp near 05072h ; e9 97 03 6727 6724 mov dx, strict word 00017h ; ba 17 00 6728 6725 mov ax, strict word 00040h ; b8 40 00 6729 call 01650h ; e8 6 bc96730 mov byte [bp-0 0eh], al ; 88 46 f26731 mov b l, al ; 88 c36726 call 01650h ; e8 6c c9 6727 mov byte [bp-010h], al ; 88 46 f0 6728 mov byte [bp-00ah], al ; 88 46 f6 6732 6729 mov dx, strict word 00018h ; ba 18 00 6733 6730 mov ax, strict word 00040h ; b8 40 00 6734 6731 call 01650h ; e8 5d c9 6735 mov byte [bp-0 10h], al ; 88 46 f06736 mov byte [bp-00 ch], al ; 88 46 f46732 mov byte [bp-00eh], al ; 88 46 f2 6733 mov byte [bp-004h], al ; 88 46 fc 6737 6734 mov dx, 00096h ; ba 96 00 6738 6735 mov ax, strict word 00040h ; b8 40 00 6739 6736 call 01650h ; e8 4e c9 6740 mov byte [bp-008h], al ; 88 46 f86741 6737 mov byte [bp-006h], al ; 88 46 fa 6742 mov al, byte [bp-00ah] ; 8a 46 f6 6738 mov byte [bp-00ch], al ; 88 46 f4 6739 mov al, byte [bp-008h] ; 8a 46 f8 6743 6740 push CS ; 0e 6744 6741 pop ES ; 07 … … 6750 6747 mov ax, word [cs:di+04c91h] ; 2e 8b 85 91 4c 6751 6748 jmp ax ; ff e0 6752 xor b l, 040h ; 80 f3406753 xor bh, bh ; 30 ff6749 xor byte [bp-00ah], 040h ; 80 76 f6 40 6750 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 6754 6751 mov dx, strict word 00017h ; ba 17 00 6755 6752 mov ax, strict word 00040h ; b8 40 00 6756 call 0165eh ; e8 30c96757 or byte [bp-00 ch], 040h ; 80 4e f4406758 movzx bx, byte [bp-00 ch] ; 0f b6 5e f46759 jmp near 04e afh ; e9 76016760 mov al, byte [bp-0 10h] ; 8a 46 f06753 call 0165eh ; e8 2d c9 6754 or byte [bp-004h], 040h ; 80 4e fc 40 6755 movzx bx, byte [bp-004h] ; 0f b6 5e fc 6756 jmp near 04ed4h ; e9 98 01 6757 mov al, byte [bp-00eh] ; 8a 46 f2 6761 6758 and AL, strict byte 0bfh ; 24 bf 6762 mov byte [bp-00 ch], al ; 88 46 f46759 mov byte [bp-004h], al ; 88 46 fc 6763 6760 movzx bx, al ; 0f b6 d8 6764 jmp near 04e afh ; e9 68016765 test byte [bp-00 6h], 002h ; f6 46 fa026766 jne near 0 4fe9h ; 0f 85 9a 026767 mov al, byte [bp-00 ah] ; 8a 46 f66761 jmp near 04ed4h ; e9 8a 01 6762 test byte [bp-00ch], 002h ; f6 46 f4 02 6763 jne near 05054h ; 0f 85 02 03 6764 mov al, byte [bp-008h] ; 8a 46 f8 6768 6765 and AL, strict byte 07fh ; 24 7f 6769 6766 cmp AL, strict byte 02ah ; 3c 2a 6770 6767 db 00fh, 094h, 0c0h 6771 6768 ; sete al ; 0f 94 c0 6772 xor ah, ah ; 30 e4 6773 inc ax ; 40 6774 test byte [bp-00ah], 080h ; f6 46 f6 80 6775 je short 04d68h ; 74 06 6769 movzx dx, al ; 0f b6 d0 6770 inc dx ; 42 6771 test byte [bp-008h], 080h ; f6 46 f8 80 6772 je short 04d6fh ; 74 09 6773 mov al, dl ; 88 d0 6776 6774 not al ; f6 d0 6777 and b l, al ; 20 c36778 jmp short 04d 6ah ; eb 026779 or b l, al ; 08 c36780 xor bh, bh ; 30 ff6775 and byte [bp-00ah], al ; 20 46 f6 6776 jmp short 04d72h ; eb 03 6777 or byte [bp-00ah], dl ; 08 56 f6 6778 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 6781 6779 mov dx, strict word 00017h ; ba 17 00 6782 6780 mov ax, strict word 00040h ; b8 40 00 6783 call 0165eh ; e8 e9 c8 6784 jmp near 04fe9h ; e9 71 02 6785 test byte [bp-008h], 001h ; f6 46 f8 01 6786 jne near 04fe9h ; 0f 85 69 02 6787 or bl, 004h ; 80 cb 04 6788 xor bh, bh ; 30 ff 6781 call 0165eh ; e8 df c8 6782 jmp near 05054h ; e9 d2 02 6783 test byte [bp-006h], 001h ; f6 46 fa 01 6784 jne near 05054h ; 0f 85 ca 02 6785 mov al, byte [bp-010h] ; 8a 46 f0 6786 or AL, strict byte 004h ; 0c 04 6787 mov byte [bp-00ah], al ; 88 46 f6 6788 movzx bx, al ; 0f b6 d8 6789 6789 mov dx, strict word 00017h ; ba 17 00 6790 6790 mov ax, strict word 00040h ; b8 40 00 6791 call 0165eh ; e8 d0 c86792 mov al, byte [bp-00 8h] ; 8a 46 f86791 call 0165eh ; e8 c0 c8 6792 mov al, byte [bp-006h] ; 8a 46 fa 6793 6793 test AL, strict byte 002h ; a8 02 6794 je short 04d a2h ; 74 0d6794 je short 04db2h ; 74 0d 6795 6795 or AL, strict byte 004h ; 0c 04 6796 mov byte [bp-00 6h], al ; 88 46 fa6796 mov byte [bp-00ch], al ; 88 46 f4 6797 6797 movzx bx, al ; 0f b6 d8 6798 6798 mov dx, 00096h ; ba 96 00 6799 jmp short 04d b0h ; eb 0e6800 mov al, byte [bp-0 10h] ; 8a 46 f06799 jmp short 04dc0h ; eb 0e 6800 mov al, byte [bp-00eh] ; 8a 46 f2 6801 6801 or AL, strict byte 001h ; 0c 01 6802 mov byte [bp-00 ch], al ; 88 46 f46802 mov byte [bp-004h], al ; 88 46 fc 6803 6803 movzx bx, al ; 0f b6 d8 6804 6804 mov dx, strict word 00018h ; ba 18 00 6805 6805 mov ax, strict word 00040h ; b8 40 00 6806 call 0165eh ; e8 a8 c8 6807 jmp near 04fe9h ; e9 30 02 6808 test byte [bp-008h], 001h ; f6 46 f8 01 6809 jne near 04fe9h ; 0f 85 28 02 6810 and bl, 0fbh ; 80 e3 fb 6811 xor bh, bh ; 30 ff 6806 call 0165eh ; e8 98 c8 6807 jmp near 05054h ; e9 8b 02 6808 test byte [bp-006h], 001h ; f6 46 fa 01 6809 jne near 05054h ; 0f 85 83 02 6810 mov al, byte [bp-010h] ; 8a 46 f0 6811 and AL, strict byte 0fbh ; 24 fb 6812 mov byte [bp-00ah], al ; 88 46 f6 6813 movzx bx, al ; 0f b6 d8 6812 6814 mov dx, strict word 00017h ; ba 17 00 6813 6815 mov ax, strict word 00040h ; b8 40 00 6814 call 0165eh ; e8 8fc86815 mov al, byte [bp-00 8h] ; 8a 46 f86816 call 0165eh ; e8 79 c8 6817 mov al, byte [bp-006h] ; 8a 46 fa 6816 6818 test AL, strict byte 002h ; a8 02 6817 je short 04d e3h ; 74 0d6819 je short 04df9h ; 74 0d 6818 6820 and AL, strict byte 0fbh ; 24 fb 6819 mov byte [bp-00 6h], al ; 88 46 fa6821 mov byte [bp-00ch], al ; 88 46 f4 6820 6822 movzx bx, al ; 0f b6 d8 6821 6823 mov dx, 00096h ; ba 96 00 6822 jmp short 04 df1h ; eb 0e6823 mov al, byte [bp-0 10h] ; 8a 46 f06824 jmp short 04e07h ; eb 0e 6825 mov al, byte [bp-00eh] ; 8a 46 f2 6824 6826 and AL, strict byte 0feh ; 24 fe 6825 mov byte [bp-00 ch], al ; 88 46 f46827 mov byte [bp-004h], al ; 88 46 fc 6826 6828 movzx bx, al ; 0f b6 d8 6827 6829 mov dx, strict word 00018h ; ba 18 00 6828 6830 mov ax, strict word 00040h ; b8 40 00 6829 call 0165eh ; e8 67 c8 6830 jmp near 04fe9h ; e9 ef 01 6831 or bl, 008h ; 80 cb 08 6832 xor bh, bh ; 30 ff 6831 call 0165eh ; e8 51 c8 6832 jmp near 05054h ; e9 44 02 6833 mov al, byte [bp-010h] ; 8a 46 f0 6834 or AL, strict byte 008h ; 0c 08 6835 mov byte [bp-00ah], al ; 88 46 f6 6836 movzx bx, al ; 0f b6 d8 6833 6837 mov dx, strict word 00017h ; ba 17 00 6834 6838 mov ax, strict word 00040h ; b8 40 00 6835 call 0165eh ; e8 56c86836 mov al, byte [bp-00 8h] ; 8a 46 f86839 call 0165eh ; e8 3a c8 6840 mov al, byte [bp-006h] ; 8a 46 fa 6837 6841 test AL, strict byte 002h ; a8 02 6838 je short 04e 1ch ; 74 0d6842 je short 04e38h ; 74 0d 6839 6843 or AL, strict byte 008h ; 0c 08 6840 mov byte [bp-00 6h], al ; 88 46 fa6844 mov byte [bp-00ch], al ; 88 46 f4 6841 6845 movzx bx, al ; 0f b6 d8 6842 6846 mov dx, 00096h ; ba 96 00 6843 jmp short 04e 2ah ; eb 0e6844 mov al, byte [bp-0 10h] ; 8a 46 f06847 jmp short 04e46h ; eb 0e 6848 mov al, byte [bp-00eh] ; 8a 46 f2 6845 6849 or AL, strict byte 002h ; 0c 02 6846 mov byte [bp-00 ch], al ; 88 46 f46850 mov byte [bp-004h], al ; 88 46 fc 6847 6851 movzx bx, al ; 0f b6 d8 6848 6852 mov dx, strict word 00018h ; ba 18 00 6849 6853 mov ax, strict word 00040h ; b8 40 00 6850 call 0165eh ; e8 2e c8 6851 jmp near 04fe9h ; e9 b6 01 6852 and bl, 0f7h ; 80 e3 f7 6853 xor bh, bh ; 30 ff 6854 call 0165eh ; e8 12 c8 6855 jmp near 05054h ; e9 05 02 6856 mov al, byte [bp-010h] ; 8a 46 f0 6857 and AL, strict byte 0f7h ; 24 f7 6858 mov byte [bp-00ah], al ; 88 46 f6 6859 movzx bx, al ; 0f b6 d8 6854 6860 mov dx, strict word 00017h ; ba 17 00 6855 6861 mov ax, strict word 00040h ; b8 40 00 6856 call 0165eh ; e8 1d c86857 mov al, byte [bp-00 8h] ; 8a 46 f86862 call 0165eh ; e8 fb c7 6863 mov al, byte [bp-006h] ; 8a 46 fa 6858 6864 test AL, strict byte 002h ; a8 02 6859 je short 04e 55h ; 74 0d6865 je short 04e77h ; 74 0d 6860 6866 and AL, strict byte 0f7h ; 24 f7 6861 mov byte [bp-00 6h], al ; 88 46 fa6867 mov byte [bp-00ch], al ; 88 46 f4 6862 6868 movzx bx, al ; 0f b6 d8 6863 6869 mov dx, 00096h ; ba 96 00 6864 jmp short 04e 63h ; eb 0e6865 mov al, byte [bp-0 10h] ; 8a 46 f06870 jmp short 04e85h ; eb 0e 6871 mov al, byte [bp-00eh] ; 8a 46 f2 6866 6872 and AL, strict byte 0fdh ; 24 fd 6867 mov byte [bp-00 ch], al ; 88 46 f46873 mov byte [bp-004h], al ; 88 46 fc 6868 6874 movzx bx, al ; 0f b6 d8 6869 6875 mov dx, strict word 00018h ; ba 18 00 6870 6876 mov ax, strict word 00040h ; b8 40 00 6871 call 0165eh ; e8 f5c76872 jmp near 0 4fe9h ; e9 7d016873 test byte [bp-00 8h], 003h ; f6 46 f8036874 jne near 0 4fe9h ; 0f 85 75016875 mov al, byte [bp-0 10h] ; 8a 46 f06877 call 0165eh ; e8 d3 c7 6878 jmp near 05054h ; e9 c6 01 6879 test byte [bp-006h], 003h ; f6 46 fa 03 6880 jne near 05054h ; 0f 85 be 01 6881 mov al, byte [bp-00eh] ; 8a 46 f2 6876 6882 or AL, strict byte 020h ; 0c 20 6877 mov byte [bp-00 ch], al ; 88 46 f46883 mov byte [bp-004h], al ; 88 46 fc 6878 6884 movzx bx, al ; 0f b6 d8 6879 6885 mov dx, strict word 00018h ; ba 18 00 6880 6886 mov ax, strict word 00040h ; b8 40 00 6881 call 0165eh ; e8 d6 c7 6882 mov bl, byte [bp-00eh] ; 8a 5e f2 6883 xor bl, 020h ; 80 f3 20 6884 xor bh, bh ; 30 ff 6887 call 0165eh ; e8 b4 c7 6888 mov al, byte [bp-010h] ; 8a 46 f0 6889 xor AL, strict byte 020h ; 34 20 6890 mov byte [bp-00ah], al ; 88 46 f6 6891 movzx bx, al ; 0f b6 d8 6885 6892 mov dx, strict word 00017h ; ba 17 00 6886 6893 mov ax, strict word 00040h ; b8 40 00 6887 call 0165eh ; e8 c5c76888 jmp near 0 4fe9h ; e9 4d016889 test byte [bp-00 8h], 003h ; f6 46 f8036890 jne near 0 4fe9h ; 0f 85 45016891 mov al, byte [bp-0 10h] ; 8a 46 f06894 call 0165eh ; e8 a0 c7 6895 jmp near 05054h ; e9 93 01 6896 test byte [bp-006h], 003h ; f6 46 fa 03 6897 jne near 05054h ; 0f 85 8b 01 6898 mov al, byte [bp-00eh] ; 8a 46 f2 6892 6899 and AL, strict byte 0dfh ; 24 df 6893 mov byte [bp-00 ch], al ; 88 46 f46900 mov byte [bp-004h], al ; 88 46 fc 6894 6901 movzx bx, al ; 0f b6 d8 6895 6902 mov dx, strict word 00018h ; ba 18 00 6896 6903 mov ax, strict word 00040h ; b8 40 00 6897 call 0165eh ; e8 a6c76898 jmp near 0 4fe9h ; e9 2e016899 mov al, byte [bp-0 10h] ; 8a 46 f06904 call 0165eh ; e8 81 c7 6905 jmp near 05054h ; e9 74 01 6906 mov al, byte [bp-00eh] ; 8a 46 f2 6900 6907 or AL, strict byte 010h ; 0c 10 6901 mov byte [bp-00 ch], al ; 88 46 f46908 mov byte [bp-004h], al ; 88 46 fc 6902 6909 movzx bx, al ; 0f b6 d8 6903 6910 mov dx, strict word 00018h ; ba 18 00 6904 6911 mov ax, strict word 00040h ; b8 40 00 6905 call 0165eh ; e8 8f c7 6906 mov bl, byte [bp-00eh] ; 8a 5e f2 6907 xor bl, 010h ; 80 f3 10 6908 jmp short 04e8eh ; eb b7 6912 call 0165eh ; e8 6a c7 6909 6913 mov al, byte [bp-010h] ; 8a 46 f0 6914 xor AL, strict byte 010h ; 34 10 6915 jmp short 04eafh ; eb b4 6916 mov al, byte [bp-00eh] ; 8a 46 f2 6910 6917 and AL, strict byte 0efh ; 24 ef 6911 jmp short 04e a9h ; eb cb6912 mov al, b l ; 88 d86918 jmp short 04eceh ; eb cc 6919 mov al, byte [bp-010h] ; 8a 46 f0 6913 6920 and AL, strict byte 00ch ; 24 0c 6914 6921 cmp AL, strict byte 00ch ; 3c 0c 6915 jne short 04eebh ; 75 05 6922 jne short 04f1ch ; 75 11 6923 mov bx, 01234h ; bb 34 12 6924 mov dx, strict word 00072h ; ba 72 00 6925 mov ax, strict word 00040h ; b8 40 00 6926 call 0167ah ; e8 63 c7 6916 6927 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 6917 test byte [bp-00ah], 080h ; f6 46 f6 80 6918 jne near 04fe9h ; 0f 85 f6 00 6919 cmp byte [bp-00ah], 058h ; 80 7e f6 58 6920 jbe short 04f17h ; 76 1e 6921 mov bx, 00d8ah ; bb 8a 0d 6928 mov al, byte [bp-008h] ; 8a 46 f8 6929 test AL, strict byte 080h ; a8 80 6930 je short 04f5ah ; 74 37 6931 cmp AL, strict byte 0fah ; 3c fa 6932 jne short 04f37h ; 75 10 6933 mov dx, 00097h ; ba 97 00 6934 mov ax, strict word 00040h ; b8 40 00 6935 call 01650h ; e8 20 c7 6936 mov dl, al ; 88 c2 6937 or dl, 010h ; 80 ca 10 6938 jmp short 04f4bh ; eb 14 6939 cmp AL, strict byte 0feh ; 3c fe 6940 jne near 05054h ; 0f 85 17 01 6941 mov dx, 00097h ; ba 97 00 6942 mov ax, strict word 00040h ; b8 40 00 6943 call 01650h ; e8 0a c7 6944 mov dl, al ; 88 c2 6945 or dl, 020h ; 80 ca 20 6946 movzx bx, dl ; 0f b6 da 6947 mov dx, 00097h ; ba 97 00 6948 mov ax, strict word 00040h ; b8 40 00 6949 call 0165eh ; e8 07 c7 6950 jmp near 05054h ; e9 fa 00 6951 cmp byte [bp-008h], 058h ; 80 7e f8 58 6952 jbe short 04f7eh ; 76 1e 6953 mov bx, 00da2h ; bb a2 0d 6922 6954 mov cx, ds ; 8c d9 6923 6955 mov ax, strict word 00004h ; b8 04 00 6924 call 01931h ; e8 2d ca6925 movzx ax, byte [bp-00 ah] ; 0f b6 46 f66956 call 01931h ; e8 c6 c9 6957 movzx ax, byte [bp-008h] ; 0f b6 46 f8 6926 6958 push ax ; 50 6927 6959 push 00581h ; 68 81 05 6928 6960 push strict byte 00004h ; 6a 04 6929 call 01972h ; e8 61 ca6961 call 01972h ; e8 fa c9 6930 6962 add sp, strict byte 00006h ; 83 c4 06 6931 jmp near 05007h ; e9 f0 00 6932 test bl, 008h ; f6 c3 08 6933 je short 04f2eh ; 74 12 6934 movzx si, byte [bp-00ah] ; 0f b6 76 f6 6935 imul si, si, strict byte 0000ah ; 6b f6 0a 6936 mov dl, byte [si+00ddeh] ; 8a 94 de 0d 6937 mov ax, word [si+00ddeh] ; 8b 84 de 0d 6938 jmp near 04fbah ; e9 8c 00 6939 test bl, 004h ; f6 c3 04 6940 je short 04f45h ; 74 12 6941 movzx si, byte [bp-00ah] ; 0f b6 76 f6 6942 imul si, si, strict byte 0000ah ; 6b f6 0a 6943 mov dl, byte [si+00ddch] ; 8a 94 dc 0d 6944 mov ax, word [si+00ddch] ; 8b 84 dc 0d 6945 jmp near 04fbah ; e9 75 00 6946 mov al, byte [bp-006h] ; 8a 46 fa 6963 jmp near 05072h ; e9 f4 00 6964 mov al, byte [bp-00ah] ; 8a 46 f6 6965 test AL, strict byte 008h ; a8 08 6966 je short 04f97h ; 74 12 6967 movzx bx, byte [bp-008h] ; 0f b6 5e f8 6968 imul bx, bx, strict byte 0000ah ; 6b db 0a 6969 mov dl, byte [bx+00df6h] ; 8a 97 f6 0d 6970 mov ax, word [bx+00df6h] ; 8b 87 f6 0d 6971 jmp near 05025h ; e9 8e 00 6972 test AL, strict byte 004h ; a8 04 6973 je short 04fadh ; 74 12 6974 movzx bx, byte [bp-008h] ; 0f b6 5e f8 6975 imul bx, bx, strict byte 0000ah ; 6b db 0a 6976 mov dl, byte [bx+00df4h] ; 8a 97 f4 0d 6977 mov ax, word [bx+00df4h] ; 8b 87 f4 0d 6978 jmp near 05025h ; e9 78 00 6979 mov al, byte [bp-00ch] ; 8a 46 f4 6947 6980 and AL, strict byte 002h ; 24 02 6948 6981 test al, al ; 84 c0 6949 jbe short 04f 63h ; 76 156950 mov al, byte [bp-00 ah] ; 8a 46 f66982 jbe short 04fcbh ; 76 15 6983 mov al, byte [bp-008h] ; 8a 46 f8 6951 6984 cmp AL, strict byte 047h ; 3c 47 6952 jc short 04f 63h ; 72 0e6985 jc short 04fcbh ; 72 0e 6953 6986 cmp AL, strict byte 053h ; 3c 53 6954 jnbe short 04f 63h ; 77 0a6987 jnbe short 04fcbh ; 77 0a 6955 6988 mov DL, strict byte 0e0h ; b2 e0 6956 movzx si, al ; 0f b6 f06957 imul si, si, strict byte 0000ah ; 6b f60a6958 jmp short 0 4fb6h ; eb 536959 test b l, 003h ; f6 c3036960 je short 04f 95h ; 74 2d6961 movzx si, byte [bp-00ah] ; 0f b6 76 f66962 imul si, si, strict byte 0000ah ; 6b f60a6963 movzx ax, byte [ si+00de0h] ; 0f b6 84 e00d6964 movzx dx, b l ; 0f b6 d36989 movzx bx, al ; 0f b6 d8 6990 imul bx, bx, strict byte 0000ah ; 6b db 0a 6991 jmp short 05021h ; eb 56 6992 test byte [bp-00ah], 003h ; f6 46 f6 03 6993 je short 04fffh ; 74 2e 6994 movzx bx, byte [bp-008h] ; 0f b6 5e f8 6995 imul bx, bx, strict byte 0000ah ; 6b db 0a 6996 movzx ax, byte [bx+00df8h] ; 0f b6 87 f8 0d 6997 movzx dx, byte [bp-00ah] ; 0f b6 56 f6 6965 6998 test dx, ax ; 85 c2 6966 je short 04f 85h ; 74 0a6967 mov dl, byte [ si+00dd8h] ; 8a 94 d80d6968 mov ax, word [ si+00dd8h] ; 8b 84 d80d6969 jmp short 04f 8dh ; eb 086970 mov dl, byte [ si+00ddah] ; 8a 94 da0d6971 mov ax, word [ si+00ddah] ; 8b 84 da0d6999 je short 04fefh ; 74 0a 7000 mov dl, byte [bx+00df0h] ; 8a 97 f0 0d 7001 mov ax, word [bx+00df0h] ; 8b 87 f0 0d 7002 jmp short 04ff7h ; eb 08 7003 mov dl, byte [bx+00df2h] ; 8a 97 f2 0d 7004 mov ax, word [bx+00df2h] ; 8b 87 f2 0d 6972 7005 shr ax, 008h ; c1 e8 08 6973 mov byte [bp-00 ah], al ; 88 46 f66974 jmp short 0 4fc0h ; eb 2b6975 movzx si, byte [bp-00ah] ; 0f b6 76 f66976 imul si, si, strict byte 0000ah ; 6b f60a6977 movzx ax, byte [ si+00de0h] ; 0f b6 84 e00d6978 movzx dx, b l ; 0f b6 d37006 mov byte [bp-008h], al ; 88 46 f8 7007 jmp short 0502bh ; eb 2c 7008 movzx bx, byte [bp-008h] ; 0f b6 5e f8 7009 imul bx, bx, strict byte 0000ah ; 6b db 0a 7010 movzx ax, byte [bx+00df8h] ; 0f b6 87 f8 0d 7011 movzx dx, byte [bp-00ah] ; 0f b6 56 f6 6979 7012 test dx, ax ; 85 c2 6980 je short 0 4fb2h ; 74 0a6981 mov dl, byte [ si+00ddah] ; 8a 94 da0d6982 mov ax, word [ si+00ddah] ; 8b 84 da0d6983 jmp short 0 4fbah ; eb 086984 mov dl, byte [ si+00dd8h] ; 8a 94 d80d6985 mov ax, word [ si+00dd8h] ; 8b 84 d80d7013 je short 0501dh ; 74 0a 7014 mov dl, byte [bx+00df2h] ; 8a 97 f2 0d 7015 mov ax, word [bx+00df2h] ; 8b 87 f2 0d 7016 jmp short 05025h ; eb 08 7017 mov dl, byte [bx+00df0h] ; 8a 97 f0 0d 7018 mov ax, word [bx+00df0h] ; 8b 87 f0 0d 6986 7019 shr ax, 008h ; c1 e8 08 6987 mov byte [bp-00 ah], al ; 88 46 f66988 cmp byte [bp-00 ah], 000h ; 80 7e f6006989 jne short 0 4fe0h ; 75 1a7020 mov byte [bp-008h], al ; 88 46 f8 7021 cmp byte [bp-008h], 000h ; 80 7e f8 00 7022 jne short 0504bh ; 75 1a 6990 7023 test dl, dl ; 84 d2 6991 jne short 0 4fe0h ; 75 166992 mov bx, 00d 8ah ; bb 8a0d7024 jne short 0504bh ; 75 16 7025 mov bx, 00da2h ; bb a2 0d 6993 7026 mov cx, ds ; 8c d9 6994 7027 mov ax, strict word 00004h ; b8 04 00 6995 call 01931h ; e8 5c c97028 call 01931h ; e8 f1 c8 6996 7029 push 005b8h ; 68 b8 05 6997 7030 push strict byte 00004h ; 6a 04 6998 call 01972h ; e8 95c97031 call 01972h ; e8 2a c9 6999 7032 add sp, strict byte 00004h ; 83 c4 04 7000 7033 xor dh, dh ; 30 f6 7001 movzx ax, byte [bp-00 ah] ; 0f b6 46 f67002 call 04c1eh ; e8 35 fc7003 mov al, byte [bp-00 ah] ; 8a 46 f67034 movzx ax, byte [bp-008h] ; 0f b6 46 f8 7035 call 04c1eh ; e8 ca fb 7036 mov al, byte [bp-008h] ; 8a 46 f8 7004 7037 and AL, strict byte 07fh ; 24 7f 7005 7038 cmp AL, strict byte 01dh ; 3c 1d 7006 je short 0 4ff6h ; 74 047007 and byte [bp-00 6h], 0feh ; 80 66 fafe7008 and byte [bp-00 6h], 0fdh ; 80 66 fafd7009 movzx bx, byte [bp-00 6h] ; 0f b6 5e fa7039 je short 05061h ; 74 04 7040 and byte [bp-00ch], 0feh ; 80 66 f4 fe 7041 and byte [bp-00ch], 0fdh ; 80 66 f4 fd 7042 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7010 7043 mov dx, 00096h ; ba 96 00 7011 7044 mov ax, strict word 00040h ; b8 40 00 7012 call 0165eh ; e8 57 c67013 lea sp, [bp-00 4h] ; 8d 66 fc7045 call 0165eh ; e8 ec c5 7046 lea sp, [bp-002h] ; 8d 66 fe 7014 7047 pop di ; 5f 7015 pop si ; 5e7016 7048 pop bp ; 5d 7017 7049 retn ; c3 7018 dequeue_key_: ; 0xf50 0eLB 0x947050 dequeue_key_: ; 0xf5078 LB 0x94 7019 7051 push bp ; 55 7020 7052 mov bp, sp ; 89 e5 … … 7029 7061 mov dx, strict word 0001ah ; ba 1a 00 7030 7062 mov ax, strict word 00040h ; b8 40 00 7031 call 0166ch ; e8 44 c67063 call 0166ch ; e8 da c5 7032 7064 mov bx, ax ; 89 c3 7033 7065 mov dx, strict word 0001ch ; ba 1c 00 7034 7066 mov ax, strict word 00040h ; b8 40 00 7035 call 0166ch ; e8 39 c67067 call 0166ch ; e8 cf c5 7036 7068 cmp bx, ax ; 39 c3 7037 je short 050 74h ; 74 3d7069 je short 050deh ; 74 3d 7038 7070 mov dx, bx ; 89 da 7039 7071 mov ax, strict word 00040h ; b8 40 00 7040 call 01650h ; e8 11 c67072 call 01650h ; e8 a7 c5 7041 7073 mov cl, al ; 88 c1 7042 7074 lea dx, [bx+001h] ; 8d 57 01 7043 7075 mov ax, strict word 00040h ; b8 40 00 7044 call 01650h ; e8 06 c67076 call 01650h ; e8 9c c5 7045 7077 mov es, [bp-008h] ; 8e 46 f8 7046 7078 mov byte [es:si], cl ; 26 88 0c … … 7048 7080 mov byte [es:di], al ; 26 88 05 7049 7081 cmp word [bp+004h], strict byte 00000h ; 83 7e 04 00 7050 je short 050 6fh ; 74 137082 je short 050d9h ; 74 13 7051 7083 inc bx ; 43 7052 7084 inc bx ; 43 7053 7085 cmp bx, strict byte 0003eh ; 83 fb 3e 7054 jc short 050 66h ; 72 037086 jc short 050d0h ; 72 03 7055 7087 mov bx, strict word 0001eh ; bb 1e 00 7056 7088 mov dx, strict word 0001ah ; ba 1a 00 7057 7089 mov ax, strict word 00040h ; b8 40 00 7058 call 0167ah ; e8 0b c67090 call 0167ah ; e8 a1 c5 7059 7091 mov ax, strict word 00001h ; b8 01 00 7060 jmp short 050 76h ; eb 027092 jmp short 050e0h ; eb 02 7061 7093 xor ax, ax ; 31 c0 7062 7094 lea sp, [bp-004h] ; 8d 66 fc … … 7069 7101 or cl, byte [bx+di] ; 0a 09 7070 7102 add ax, 00102h ; 05 02 01 7071 add byte [bx+si+053h], al ; 00 40 53 7072 push si ; 56 7103 add byte [bp+si-03fadh], ch ; 00 aa 53 c0 7073 7104 push cx ; 51 7074 popfw ; 9d 7075 push cx ; 51 7076 jmp near 049e4h ; e9 51 f9 7077 push cx ; 51 7078 and dx, word [bp+si+02ch] ; 23 52 2c 7105 pop ES ; 07 7079 7106 push dx ; 52 7080 p opfw ; 9d7107 push bx ; 53 7081 7108 push dx ; 52 7082 into ; ce7109 arpl word [bp+si-073h], dx ; 63 52 8d 7083 7110 push dx ; 52 7084 sti ; fb7111 xchg si, ax ; 96 7085 7112 push dx ; 52 7086 xor ax, 08353h ; 35 53 837113 pop ES ; 07 7087 7114 push bx ; 53 7088 _int16_function: ; 0xf50a2 LB 0x2e7 7115 cmp byte [bp+di+065h], dl ; 38 53 65 7116 push bx ; 53 7117 lahf ; 9f 7118 push bx ; 53 7119 in ax, DX ; ed 7120 push bx ; 53 7121 _int16_function: ; 0xf510c LB 0x2e7 7089 7122 push bp ; 55 7090 7123 mov bp, sp ; 89 e5 … … 7093 7126 mov dx, strict word 00017h ; ba 17 00 7094 7127 mov ax, strict word 00040h ; b8 40 00 7095 call 01650h ; e8 9ec57128 call 01650h ; e8 34 c5 7096 7129 mov cl, al ; 88 c1 7097 7130 mov bh, al ; 88 c7 7098 7131 mov dx, 00097h ; ba 97 00 7099 7132 mov ax, strict word 00040h ; b8 40 00 7100 call 01650h ; e8 91c57133 call 01650h ; e8 27 c5 7101 7134 mov bl, al ; 88 c3 7102 7135 movzx dx, cl ; 0f b6 d1 … … 7107 7140 xor al, dl ; 30 d0 7108 7141 test ax, ax ; 85 c0 7109 je short 051 34h ; 74 607142 je short 0519eh ; 74 60 7110 7143 cli ; fa 7111 7144 mov AL, strict byte 0edh ; b0 ed … … 7117 7150 ; sub ah, ah ; 2a e4 7118 7151 test AL, strict byte 001h ; a8 01 7119 jne short 05 0edh ; 75 087152 jne short 05157h ; 75 08 7120 7153 mov AL, strict byte 021h ; b0 21 7121 7154 mov dx, 00080h ; ba 80 00 7122 7155 out DX, AL ; ee 7123 jmp short 05 0dbh ; eb ee7156 jmp short 05145h ; eb ee 7124 7157 mov dx, strict word 00060h ; ba 60 00 7125 7158 in AL, DX ; ec … … 7127 7160 ; sub ah, ah ; 2a e4 7128 7161 cmp ax, 000fah ; 3d fa 00 7129 jne short 051 33h ; 75 3b7130 and bl, 0 f8h ; 80 e3 f87162 jne short 0519dh ; 75 3b 7163 and bl, 0c8h ; 80 e3 c8 7131 7164 movzx ax, bh ; 0f b6 c7 7132 7165 sar ax, 004h ; c1 f8 04 … … 7143 7176 ; sub ah, ah ; 2a e4 7144 7177 test AL, strict byte 001h ; a8 01 7145 jne short 051 22h ; 75 087178 jne short 0518ch ; 75 08 7146 7179 mov AL, strict byte 021h ; b0 21 7147 7180 mov dx, 00080h ; ba 80 00 7148 7181 out DX, AL ; ee 7149 jmp short 051 10h ; eb ee7182 jmp short 0517ah ; eb ee 7150 7183 mov dx, strict word 00060h ; ba 60 00 7151 7184 in AL, DX ; ec … … 7155 7188 mov dx, 00097h ; ba 97 00 7156 7189 mov ax, strict word 00040h ; b8 40 00 7157 call 0165eh ; e8 2b c57190 call 0165eh ; e8 c1 c4 7158 7191 sti ; fb 7159 7192 mov ax, word [bp+012h] ; 8b 46 12 7160 7193 shr ax, 008h ; c1 e8 08 7161 7194 cmp ax, 000a2h ; 3d a2 00 7162 jnbe near 053 40h ; 0f 87 ff 017195 jnbe near 053aah ; 0f 87 ff 01 7163 7196 push CS ; 0e 7164 7197 pop ES ; 07 7165 7198 mov cx, strict word 0000ch ; b9 0c 00 7166 mov di, 050 7fh ; bf 7f507199 mov di, 050e9h ; bf e9 50 7167 7200 repne scasb ; f2 ae 7168 7201 sal cx, 1 ; d1 e1 7169 7202 mov di, cx ; 89 cf 7170 mov ax, word [cs:di+050 8ah] ; 2e 8b 85 8a507203 mov ax, word [cs:di+050f4h] ; 2e 8b 85 f4 50 7171 7204 jmp ax ; ff e0 7172 7205 push strict byte 00001h ; 6a 01 … … 7175 7208 mov dx, ss ; 8c d2 7176 7209 lea ax, [bp-006h] ; 8d 46 fa 7177 call 050 0eh ; e8 a9 fe7210 call 05078h ; e8 a9 fe 7178 7211 test ax, ax ; 85 c0 7179 jne short 051 74h ; 75 0b7212 jne short 051deh ; 75 0b 7180 7213 push 005efh ; 68 ef 05 7181 7214 push strict byte 00007h ; 6a 07 7182 call 01972h ; e8 01 c87215 call 01972h ; e8 97 c7 7183 7216 add sp, strict byte 00004h ; 83 c4 04 7184 7217 cmp byte [bp-006h], 000h ; 80 7e fa 00 7185 je short 051 80h ; 74 067218 je short 051eah ; 74 06 7186 7219 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7187 je short 051 86h ; 74 067220 je short 051f0h ; 74 06 7188 7221 cmp byte [bp-008h], 0e0h ; 80 7e f8 e0 7189 jne short 051 8ah ; 75 047222 jne short 051f4h ; 75 04 7190 7223 mov byte [bp-008h], 000h ; c6 46 f8 00 7191 7224 movzx dx, byte [bp-006h] ; 0f b6 56 fa … … 7194 7227 or dx, ax ; 09 c2 7195 7228 mov word [bp+012h], dx ; 89 56 12 7196 jmp near 053 83h ; e9 e6 017229 jmp near 053edh ; e9 e6 01 7197 7230 or word [bp+01ch], 00200h ; 81 4e 1c 00 02 7198 7231 push strict byte 00000h ; 6a 00 … … 7201 7234 mov dx, ss ; 8c d2 7202 7235 lea ax, [bp-006h] ; 8d 46 fa 7203 call 050 0eh ; e8 5d fe7236 call 05078h ; e8 5d fe 7204 7237 test ax, ax ; 85 c0 7205 jne short 05 1bch ; 75 077238 jne short 05226h ; 75 07 7206 7239 or word [bp+01ch], strict byte 00040h ; 83 4e 1c 40 7207 jmp near 053 83h ; e9 c7 017240 jmp near 053edh ; e9 c7 01 7208 7241 cmp byte [bp-006h], 000h ; 80 7e fa 00 7209 je short 05 1c8h ; 74 067242 je short 05232h ; 74 06 7210 7243 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7211 je short 05 1ceh ; 74 067244 je short 05238h ; 74 06 7212 7245 cmp byte [bp-008h], 0e0h ; 80 7e f8 e0 7213 jne short 05 1d2h ; 75 047246 jne short 0523ch ; 75 04 7214 7247 mov byte [bp-008h], 000h ; c6 46 f8 00 7215 7248 movzx dx, byte [bp-006h] ; 0f b6 56 fa … … 7219 7252 mov word [bp+012h], dx ; 89 56 12 7220 7253 and word [bp+01ch], strict byte 0ffbfh ; 83 66 1c bf 7221 jmp near 053 83h ; e9 9a 017254 jmp near 053edh ; e9 9a 01 7222 7255 mov dx, strict word 00017h ; ba 17 00 7223 7256 mov ax, strict word 00040h ; b8 40 00 7224 call 01650h ; e8 5e c47257 call 01650h ; e8 f4 c3 7225 7258 mov dx, word [bp+012h] ; 8b 56 12 7226 7259 mov dl, al ; 88 c2 7227 jmp short 05 197h ; eb 9e7260 jmp short 05201h ; eb 9e 7228 7261 mov al, byte [bp+010h] ; 8a 46 10 7229 7262 movzx dx, al ; 0f b6 d0 … … 7231 7264 shr ax, 008h ; c1 e8 08 7232 7265 xor ah, ah ; 30 e4 7233 call 04c1eh ; e8 14 fa7266 call 04c1eh ; e8 aa f9 7234 7267 test ax, ax ; 85 c0 7235 jne short 052 1bh ; 75 0d7268 jne short 05285h ; 75 0d 7236 7269 mov ax, word [bp+012h] ; 8b 46 12 7237 7270 xor al, al ; 30 c0 7238 7271 or AL, strict byte 001h ; 0c 01 7239 7272 mov word [bp+012h], ax ; 89 46 12 7240 jmp near 053 83h ; e9 68 017273 jmp near 053edh ; e9 68 01 7241 7274 and word [bp+012h], 0ff00h ; 81 66 12 00 ff 7242 jmp near 053 83h ; e9 60 017275 jmp near 053edh ; e9 60 01 7243 7276 mov ax, word [bp+012h] ; 8b 46 12 7244 7277 xor al, al ; 30 c0 7245 7278 or AL, strict byte 030h ; 0c 30 7246 jmp short 052 15h ; eb e97279 jmp short 0527fh ; eb e9 7247 7280 mov byte [bp-004h], 002h ; c6 46 fc 02 7248 7281 xor cx, cx ; 31 c9 … … 7257 7290 ; sub ah, ah ; 2a e4 7258 7291 test AL, strict byte 001h ; a8 01 7259 jne short 052 53h ; 75 0d7292 jne short 052bdh ; 75 0d 7260 7293 dec bx ; 4b 7261 7294 test bx, bx ; 85 db 7262 jbe short 052 53h ; 76 087295 jbe short 052bdh ; 76 08 7263 7296 mov dx, 00080h ; ba 80 00 7264 7297 in AL, DX ; ec 7265 7298 db 02ah, 0e4h 7266 7299 ; sub ah, ah ; 2a e4 7267 jmp short 052 3ch ; eb e97300 jmp short 052a6h ; eb e9 7268 7301 test bx, bx ; 85 db 7269 jbe short 05 297h ; 76 407302 jbe short 05301h ; 76 40 7270 7303 mov dx, strict word 00060h ; ba 60 00 7271 7304 in AL, DX ; ec … … 7273 7306 ; sub ah, ah ; 2a e4 7274 7307 cmp ax, 000fah ; 3d fa 00 7275 jne short 05 297h ; 75 357308 jne short 05301h ; 75 35 7276 7309 mov bx, strict word 0ffffh ; bb ff ff 7277 7310 mov dx, strict word 00064h ; ba 64 00 … … 7280 7313 ; sub ah, ah ; 2a e4 7281 7314 test AL, strict byte 001h ; a8 01 7282 jne short 052 7ch ; 75 0d7315 jne short 052e6h ; 75 0d 7283 7316 dec bx ; 4b 7284 7317 test bx, bx ; 85 db 7285 jbe short 052 7ch ; 76 087318 jbe short 052e6h ; 76 08 7286 7319 mov dx, 00080h ; ba 80 00 7287 7320 in AL, DX ; ec 7288 7321 db 02ah, 0e4h 7289 7322 ; sub ah, ah ; 2a e4 7290 jmp short 052 65h ; eb e97323 jmp short 052cfh ; eb e9 7291 7324 test bx, bx ; 85 db 7292 jbe short 052 8eh ; 76 0e7325 jbe short 052f8h ; 76 0e 7293 7326 shr cx, 008h ; c1 e9 08 7294 7327 mov dx, strict word 00060h ; ba 60 00 … … 7300 7333 dec byte [bp-004h] ; fe 4e fc 7301 7334 cmp byte [bp-004h], 000h ; 80 7e fc 00 7302 jnbe short 052 62h ; 77 cb7335 jnbe short 052cch ; 77 cb 7303 7336 mov word [bp+00ch], cx ; 89 4e 0c 7304 jmp near 053 83h ; e9 e6 007337 jmp near 053edh ; e9 e6 00 7305 7338 push strict byte 00001h ; 6a 01 7306 7339 mov cx, ss ; 8c d1 … … 7308 7341 mov dx, ss ; 8c d2 7309 7342 lea ax, [bp-006h] ; 8d 46 fa 7310 call 050 0eh ; e8 62 fd7343 call 05078h ; e8 62 fd 7311 7344 test ax, ax ; 85 c0 7312 jne short 05 2bbh ; 75 0b7345 jne short 05325h ; 75 0b 7313 7346 push 005efh ; 68 ef 05 7314 7347 push strict byte 00007h ; 6a 07 7315 call 01972h ; e8 bac67348 call 01972h ; e8 50 c6 7316 7349 add sp, strict byte 00004h ; 83 c4 04 7317 7350 cmp byte [bp-006h], 000h ; 80 7e fa 00 7318 je near 051 8ah ; 0f 84 c7 fe7351 je near 051f4h ; 0f 84 c7 fe 7319 7352 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7320 je near 051 86h ; 0f 84 bb fe7321 jmp near 051 8ah ; e9 bc fe7353 je near 051f0h ; 0f 84 bb fe 7354 jmp near 051f4h ; e9 bc fe 7322 7355 or word [bp+01ch], 00200h ; 81 4e 1c 00 02 7323 7356 push strict byte 00000h ; 6a 00 … … 7326 7359 mov dx, ss ; 8c d2 7327 7360 lea ax, [bp-006h] ; 8d 46 fa 7328 call 050 0eh ; e8 2c fd7361 call 05078h ; e8 2c fd 7329 7362 test ax, ax ; 85 c0 7330 je near 05 1b5h ; 0f 84 cd fe7363 je near 0521fh ; 0f 84 cd fe 7331 7364 cmp byte [bp-006h], 000h ; 80 7e fa 00 7332 je near 05 1d2h ; 0f 84 e2 fe7365 je near 0523ch ; 0f 84 e2 fe 7333 7366 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7334 je near 05 1ceh ; 0f 84 d6 fe7335 jmp near 05 1d2h ; e9 d7 fe7367 je near 05238h ; 0f 84 d6 fe 7368 jmp near 0523ch ; e9 d7 fe 7336 7369 mov dx, strict word 00017h ; ba 17 00 7337 7370 mov ax, strict word 00040h ; b8 40 00 7338 call 01650h ; e8 4c c37371 call 01650h ; e8 e2 c2 7339 7372 mov dx, word [bp+012h] ; 8b 56 12 7340 7373 mov dl, al ; 88 c2 … … 7342 7375 mov dx, strict word 00018h ; ba 18 00 7343 7376 mov ax, strict word 00040h ; b8 40 00 7344 call 01650h ; e8 3b c37377 call 01650h ; e8 d1 c2 7345 7378 mov bh, al ; 88 c7 7346 7379 and bh, 073h ; 80 e7 73 7347 7380 mov dx, 00096h ; ba 96 00 7348 7381 mov ax, strict word 00040h ; b8 40 00 7349 call 01650h ; e8 2d c37382 call 01650h ; e8 c3 c2 7350 7383 and AL, strict byte 00ch ; 24 0c 7351 7384 or bh, al ; 08 c7 … … 7354 7387 movzx ax, bh ; 0f b6 c7 7355 7388 sal ax, 008h ; c1 e0 08 7356 jmp near 051 95h ; e9 60 fe7389 jmp near 051ffh ; e9 60 fe 7357 7390 mov ax, word [bp+012h] ; 8b 46 12 7358 7391 xor ah, ah ; 30 e4 7359 7392 or ah, 080h ; 80 cc 80 7360 jmp near 052 15h ; e9 d5 fe7361 mov bx, 00d 8ah ; bb 8a0d7393 jmp near 0527fh ; e9 d5 fe 7394 mov bx, 00da2h ; bb a2 0d 7362 7395 mov cx, ds ; 8c d9 7363 7396 mov ax, strict word 00004h ; b8 04 00 7364 call 01931h ; e8 e6c57397 call 01931h ; e8 7c c5 7365 7398 mov ax, word [bp+012h] ; 8b 46 12 7366 7399 shr ax, 008h ; c1 e8 08 … … 7368 7401 push 00613h ; 68 13 06 7369 7402 push strict byte 00004h ; 6a 04 7370 call 01972h ; e8 18 c67403 call 01972h ; e8 ae c5 7371 7404 add sp, strict byte 00006h ; 83 c4 06 7372 mov bx, 00d 8ah ; bb 8a0d7405 mov bx, 00da2h ; bb a2 0d 7373 7406 mov cx, ds ; 8c d9 7374 7407 mov ax, strict word 00004h ; b8 04 00 7375 call 01931h ; e8 c9c57408 call 01931h ; e8 5f c5 7376 7409 mov ax, word [bp+00eh] ; 8b 46 0e 7377 7410 push ax ; 50 … … 7384 7417 push 0063bh ; 68 3b 06 7385 7418 push strict byte 00004h ; 6a 04 7386 call 01972h ; e8 f2c57419 call 01972h ; e8 88 c5 7387 7420 add sp, strict byte 0000ch ; 83 c4 0c 7388 7421 lea sp, [bp-002h] ; 8d 66 fe … … 7390 7423 pop bp ; 5d 7391 7424 retn ; c3 7392 set_geom_lba_: ; 0xf53 89LB 0x9e7425 set_geom_lba_: ; 0xf53f3 LB 0x9e 7393 7426 push si ; 56 7394 7427 push di ; 57 … … 7402 7435 mov di, 000ffh ; bf ff 00 7403 7436 xor bx, bx ; 31 db 7404 jmp short 05 3aah ; eb 057437 jmp short 05414h ; eb 05 7405 7438 cmp bx, strict byte 00004h ; 83 fb 04 7406 jnl short 05 3c0h ; 7d 167439 jnl short 0542ah ; 7d 16 7407 7440 cmp dx, word [bp-002h] ; 3b 56 fe 7408 jnbe short 05 3b6h ; 77 077409 jne short 05 3b9h ; 75 087441 jnbe short 05420h ; 77 07 7442 jne short 05423h ; 75 08 7410 7443 cmp ax, word [bp-004h] ; 3b 46 fc 7411 jc short 05 3b9h ; 72 037444 jc short 05423h ; 72 03 7412 7445 inc di ; 47 7413 7446 shr di, 1 ; d1 ef … … 7415 7448 rcr ax, 1 ; d1 d8 7416 7449 inc bx ; 43 7417 jmp short 05 3a5h ; eb e57450 jmp short 0540fh ; eb e5 7418 7451 mov ax, di ; 89 f8 7419 7452 xor dx, dx ; 31 d2 7420 7453 mov bx, strict word 0003fh ; bb 3f 00 7421 7454 xor cx, cx ; 31 c9 7422 call 09 4a9h ; e8 dd407455 call 09519h ; e8 e3 40 7423 7456 mov bx, ax ; 89 c3 7424 7457 mov cx, dx ; 89 d1 7425 7458 mov ax, word [bp-004h] ; 8b 46 fc 7426 7459 mov dx, word [bp-002h] ; 8b 56 fe 7427 call 094 70h ; e8 97407460 call 094e0h ; e8 9d 40 7428 7461 mov word [es:si+002h], ax ; 26 89 44 02 7429 7462 cmp ax, 00400h ; 3d 00 04 7430 jbe short 05 3e8h ; 76 067463 jbe short 05452h ; 76 06 7431 7464 mov word [es:si+002h], 00400h ; 26 c7 44 02 00 04 7432 7465 mov word [es:si], di ; 26 89 3c … … 7436 7469 pop si ; 5e 7437 7470 retn ; c3 7438 mov CL, strict byte 054h ; b1 54 7439 xlatb ; d7 7440 push sp ; 54 7441 add AL, strict byte 055h ; 04 55 7442 add AL, strict byte 055h ; 04 55 7443 add AL, strict byte 055h ; 04 55 7444 fcom qword [bp+00ah] ; dc 56 0a 7471 sbb dx, word [di+041h] ; 1b 55 41 7472 push bp ; 55 7473 outsb ; 6e 7474 push bp ; 55 7475 outsb ; 6e 7476 push bp ; 55 7477 outsb ; 6e 7478 push bp ; 55 7479 inc si ; 46 7480 push di ; 57 7481 je short 054c5h ; 74 58 7482 je short 054c7h ; 74 58 7483 pop di ; 5f 7484 push di ; 57 7485 push cx ; 51 7445 7486 pop ax ; 58 7446 or bl, byte [bx+si-00bh] ; 0a 58 f5 7447 push si ; 56 7448 out 057h, ax ; e7 57 7449 or bl, byte [bx+si+00ah] ; 0a 58 0a 7487 je short 054cdh ; 74 58 7488 je short 054cfh ; 74 58 7489 push cx ; 51 7450 7490 pop ax ; 58 7451 out 057h, ax ; e7 57 7452 out 057h, ax ; e7 57 7453 or bl, byte [bx+si+00ah] ; 0a 58 0a 7491 push cx ; 51 7454 7492 pop ax ; 58 7455 imul dx, word [bx-019h], strict byte 00057h ; 6b 57 e7 57 7456 or bl, byte [bx+si+00ah] ; 0a 58 0a 7493 je short 054d5h ; 74 58 7494 je short 054d7h ; 74 58 7495 aad 057h ; d5 57 7496 push cx ; 51 7457 7497 pop ax ; 58 7458 out 057h, ax ; e7 57 7459 wait ; 9b 7460 push di ; 57 7461 or bl, byte [bx+si+00ah] ; 0a 58 0a 7498 je short 054ddh ; 74 58 7499 je short 054dfh ; 74 58 7500 push cx ; 51 7462 7501 pop ax ; 58 7463 db 00ah7502 add ax, 07458h ; 05 58 74 7464 7503 pop ax ; 58 7465 _int13_harddisk: ; 0xf5427 LB 0x441 7504 je short 054e7h ; 74 58 7505 je short 054e9h ; 74 58 7506 _int13_harddisk: ; 0xf5491 LB 0x441 7466 7507 push bp ; 55 7467 7508 mov bp, sp ; 89 e5 … … 7469 7510 mov dx, strict word 0000eh ; ba 0e 00 7470 7511 mov ax, strict word 00040h ; b8 40 00 7471 call 0166ch ; e8 36 c27512 call 0166ch ; e8 cc c1 7472 7513 mov si, 00122h ; be 22 01 7473 7514 mov word [bp-004h], ax ; 89 46 fc … … 7475 7516 mov dx, 0008eh ; ba 8e 00 7476 7517 mov ax, strict word 00040h ; b8 40 00 7477 call 0165eh ; e8 17 c27518 call 0165eh ; e8 ad c1 7478 7519 mov ax, word [bp+00eh] ; 8b 46 0e 7479 7520 xor ah, ah ; 30 e4 7480 7521 cmp ax, 00080h ; 3d 80 00 7481 jc short 054 56h ; 72 057522 jc short 054c0h ; 72 05 7482 7523 cmp ax, 00090h ; 3d 90 00 7483 jc short 054 74h ; 72 1e7524 jc short 054deh ; 72 1e 7484 7525 mov ax, word [bp+00eh] ; 8b 46 0e 7485 7526 xor ah, ah ; 30 e4 … … 7491 7532 push 0066dh ; 68 6d 06 7492 7533 push strict byte 00004h ; 6a 04 7493 call 01972h ; e8 04 c57534 call 01972h ; e8 9a c4 7494 7535 add sp, strict byte 0000ah ; 83 c4 0a 7495 jmp near 058 25h ; e9 b1 037536 jmp near 0588fh ; e9 b1 03 7496 7537 mov ax, word [bp+00eh] ; 8b 46 0e 7497 7538 xor ah, ah ; 30 e4 … … 7502 7543 mov byte [bp-002h], dl ; 88 56 fe 7503 7544 cmp dl, 010h ; 80 fa 10 7504 jc short 05 49dh ; 72 107545 jc short 05507h ; 72 10 7505 7546 push ax ; 50 7506 7547 mov ax, word [bp+016h] ; 8b 46 16 … … 7509 7550 push 0065eh ; 68 5e 06 7510 7551 push 00698h ; 68 98 06 7511 jmp short 054 69h ; eb cc7552 jmp short 054d3h ; eb cc 7512 7553 mov bx, word [bp+016h] ; 8b 5e 16 7513 7554 shr bx, 008h ; c1 eb 08 7514 7555 cmp bx, strict byte 00018h ; 83 fb 18 7515 jnbe near 058 0ah ; 0f 87 60 037556 jnbe near 05874h ; 0f 87 60 03 7516 7557 add bx, bx ; 01 db 7517 jmp word [cs:bx+05 3f5h] ; 2e ff a7 f5 537558 jmp word [cs:bx+0545fh] ; 2e ff a7 5f 54 7518 7559 cmp byte [bp-002h], 008h ; 80 7e fe 08 7519 jnc near 05 4c0h ; 0f 83 07 007560 jnc near 0552ah ; 0f 83 07 00 7520 7561 movzx ax, byte [bp-002h] ; 0f b6 46 fe 7521 call 01c71h ; e8 b1c77562 call 01c71h ; e8 47 c7 7522 7563 mov byte [bp+017h], 000h ; c6 46 17 00 7523 7564 xor bx, bx ; 31 db 7524 7565 mov dx, strict word 00074h ; ba 74 00 7525 7566 mov ax, strict word 00040h ; b8 40 00 7526 call 0165eh ; e8 8fc17567 call 0165eh ; e8 25 c1 7527 7568 and byte [bp+01ch], 0feh ; 80 66 1c fe 7528 7569 mov sp, bp ; 89 ec … … 7531 7572 mov dx, strict word 00074h ; ba 74 00 7532 7573 mov ax, strict word 00040h ; b8 40 00 7533 call 01650h ; e8 70c17574 call 01650h ; e8 06 c1 7534 7575 mov cl, al ; 88 c1 7535 7576 mov dx, word [bp+016h] ; 8b 56 16 … … 7542 7583 mov dx, strict word 00074h ; ba 74 00 7543 7584 mov ax, strict word 00040h ; b8 40 00 7544 call 0165eh ; e8 61 c17585 call 0165eh ; e8 f7 c0 7545 7586 test cl, cl ; 84 c9 7546 je short 05 4c4h ; 74 c37547 jmp near 058 41h ; e9 3d 037587 je short 0552eh ; 74 c3 7588 jmp near 058abh ; e9 3d 03 7548 7589 mov ax, word [bp+016h] ; 8b 46 16 7549 7590 xor ah, ah ; 30 e4 … … 7565 7606 mov ax, word [bp-00ch] ; 8b 46 f4 7566 7607 cmp ax, 00080h ; 3d 80 00 7567 jnbe short 055 3fh ; 77 047608 jnbe short 055a9h ; 77 04 7568 7609 test ax, ax ; 85 c0 7569 jne short 055 62h ; 75 237570 mov bx, 00d 8ah ; bb 8a0d7610 jne short 055cch ; 75 23 7611 mov bx, 00da2h ; bb a2 0d 7571 7612 mov cx, ds ; 8c d9 7572 7613 mov ax, strict word 00004h ; b8 04 00 7573 call 01931h ; e8 e7c37614 call 01931h ; e8 7d c3 7574 7615 mov ax, word [bp+016h] ; 8b 46 16 7575 7616 shr ax, 008h ; c1 e8 08 … … 7578 7619 push 006cah ; 68 ca 06 7579 7620 push strict byte 00004h ; 6a 04 7580 call 01972h ; e8 16 c47621 call 01972h ; e8 ac c3 7581 7622 add sp, strict byte 00008h ; 83 c4 08 7582 jmp near 058 25h ; e9 c3 027623 jmp near 0588fh ; e9 c3 02 7583 7624 movzx ax, byte [bp-002h] ; 0f b6 46 fe 7584 7625 imul ax, ax, strict byte 00018h ; 6b c0 18 … … 7591 7632 mov word [bp-00ah], dx ; 89 56 f6 7592 7633 cmp di, ax ; 39 c7 7593 jnc short 055 8fh ; 73 0c7634 jnc short 055f9h ; 73 0c 7594 7635 cmp cx, word [bp-008h] ; 3b 4e f8 7595 jbe short 055 8fh ; 76 077636 jbe short 055f9h ; 76 07 7596 7637 mov ax, word [bp-006h] ; 8b 46 fa 7597 7638 cmp ax, dx ; 39 d0 7598 jbe short 05 5bdh ; 76 2e7599 mov bx, 00d 8ah ; bb 8a0d7639 jbe short 05627h ; 76 2e 7640 mov bx, 00da2h ; bb a2 0d 7600 7641 mov cx, ds ; 8c d9 7601 7642 mov ax, strict word 00004h ; b8 04 00 7602 call 01931h ; e8 97c37643 call 01931h ; e8 2d c3 7603 7644 push dword [bp-008h] ; 66 ff 76 f8 7604 7645 push di ; 57 … … 7612 7653 push 006f2h ; 68 f2 06 7613 7654 push strict byte 00004h ; 6a 04 7614 call 01972h ; e8 bbc37655 call 01972h ; e8 51 c3 7615 7656 add sp, strict byte 00010h ; 83 c4 10 7616 jmp near 058 25h ; e9 68 027657 jmp near 0588fh ; e9 68 02 7617 7658 mov ax, word [bp+016h] ; 8b 46 16 7618 7659 shr ax, 008h ; c1 e8 08 7619 7660 cmp ax, strict word 00004h ; 3d 04 00 7620 jne short 05 5cbh ; 75 037621 jmp near 05 4c0h ; e9 f5 fe7661 jne short 05635h ; 75 03 7662 jmp near 0552ah ; e9 f5 fe 7622 7663 movzx bx, byte [bp-002h] ; 0f b6 5e fe 7623 7664 imul bx, bx, strict byte 00018h ; 6b db 18 … … 7625 7666 add bx, si ; 01 f3 7626 7667 cmp cx, word [es:bx+02ch] ; 26 3b 4f 2c 7627 jne short 05 5ech ; 75 0f7668 jne short 05656h ; 75 0f 7628 7669 mov ax, word [es:bx+030h] ; 26 8b 47 30 7629 7670 cmp ax, word [bp-00ah] ; 3b 46 f6 7630 jne short 05 5ech ; 75 067671 jne short 05656h ; 75 06 7631 7672 cmp byte [bp-002h], 008h ; 80 7e fe 08 7632 jc short 056 1ch ; 72 307673 jc short 05686h ; 72 30 7633 7674 mov ax, di ; 89 f8 7634 7675 xor dx, dx ; 31 d2 7635 7676 mov bx, cx ; 89 cb 7636 7677 xor cx, cx ; 31 c9 7637 call 09 4a9h ; e8 b23e7678 call 09519h ; e8 b8 3e 7638 7679 xor bx, bx ; 31 db 7639 7680 add ax, word [bp-008h] ; 03 46 f8 … … 7641 7682 mov bx, word [bp-00ah] ; 8b 5e f6 7642 7683 xor cx, cx ; 31 c9 7643 call 09 4a9h ; e8 a33e7684 call 09519h ; e8 a9 3e 7644 7685 xor bx, bx ; 31 db 7645 7686 add ax, word [bp-006h] ; 03 46 fa … … 7694 7735 mov word [bp+016h], bx ; 89 5e 16 7695 7736 test dl, dl ; 84 d2 7696 je near 05 4c0h ; 0f 84 13 fe7697 mov bx, 00d 8ah ; bb 8a0d7737 je near 0552ah ; 0f 84 13 fe 7738 mov bx, 00da2h ; bb a2 0d 7698 7739 mov cx, ds ; 8c d9 7699 7740 mov ax, strict word 00004h ; b8 04 00 7700 call 01931h ; e8 79c27741 call 01931h ; e8 0f c2 7701 7742 movzx ax, dl ; 0f b6 c2 7702 7743 push ax ; 50 … … 7707 7748 push 00739h ; 68 39 07 7708 7749 push strict byte 00004h ; 6a 04 7709 call 01972h ; e8 a4c27750 call 01972h ; e8 3a c2 7710 7751 add sp, strict byte 0000ah ; 83 c4 0a 7711 7752 mov ax, word [bp+016h] ; 8b 46 16 7712 7753 xor ah, ah ; 30 e4 7713 7754 or ah, 00ch ; 80 cc 0c 7714 jmp near 058 2dh ; e9 51 017715 mov bx, 00d 8ah ; bb 8a0d7755 jmp near 05897h ; e9 51 01 7756 mov bx, 00da2h ; bb a2 0d 7716 7757 mov cx, ds ; 8c d9 7717 7758 mov ax, strict word 00004h ; b8 04 00 7718 call 01931h ; e8 4a c27759 call 01931h ; e8 e0 c1 7719 7760 push 0075ah ; 68 5a 07 7720 7761 push strict byte 00004h ; 6a 04 7721 call 01972h ; e8 83c27762 call 01972h ; e8 19 c2 7722 7763 add sp, strict byte 00004h ; 83 c4 04 7723 jmp near 05 4c0h ; e9 cb fd7764 jmp near 0552ah ; e9 cb fd 7724 7765 movzx ax, byte [bp-002h] ; 0f b6 46 fe 7725 7766 imul ax, ax, strict byte 00018h ; 6b c0 18 … … 7764 7805 or dx, ax ; 09 c2 7765 7806 mov word [bp+012h], dx ; 89 56 12 7766 jmp near 05 4c0h ; e9 55 fd7807 jmp near 0552ah ; e9 55 fd 7767 7808 movzx ax, byte [bp-002h] ; 0f b6 46 fe 7768 7809 cwd ; 99 … … 7780 7821 and AL, strict byte 0c0h ; 24 c0 7781 7822 cmp AL, strict byte 040h ; 3c 40 7782 jne short 057 90h ; 75 037783 jmp near 05 4c0h ; e9 30 fd7823 jne short 057fah ; 75 03 7824 jmp near 0552ah ; e9 30 fd 7784 7825 mov ax, word [bp+016h] ; 8b 46 16 7785 7826 xor ah, ah ; 30 e4 7786 7827 or ah, 0aah ; 80 cc aa 7787 jmp near 058 2dh ; e9 92 007828 jmp near 05897h ; e9 92 00 7788 7829 movzx ax, byte [bp-002h] ; 0f b6 46 fe 7789 7830 imul ax, ax, strict byte 00018h ; 6b c0 18 … … 7799 7840 mov bx, word [bp-008h] ; 8b 5e f8 7800 7841 xor cx, cx ; 31 c9 7801 call 09 4a9h ; e8 e43c7842 call 09519h ; e8 ea 3c 7802 7843 mov bx, word [bp-006h] ; 8b 5e fa 7803 7844 xor cx, cx ; 31 c9 7804 call 09 4a9h ; e8 dc3c7845 call 09519h ; e8 e2 3c 7805 7846 mov word [bp-010h], ax ; 89 46 f0 7806 7847 mov word [bp-00eh], dx ; 89 56 f2 … … 7811 7852 or ah, 003h ; 80 cc 03 7812 7853 mov word [bp+016h], ax ; 89 46 16 7813 jmp near 05 4c4h ; e9 dd fc7814 mov bx, 00d 8ah ; bb 8a0d7854 jmp near 0552eh ; e9 dd fc 7855 mov bx, 00da2h ; bb a2 0d 7815 7856 mov cx, ds ; 8c d9 7816 7857 mov ax, strict word 00004h ; b8 04 00 7817 call 01931h ; e8 3f c17858 call 01931h ; e8 d5 c0 7818 7859 mov ax, word [bp+016h] ; 8b 46 16 7819 7860 shr ax, 008h ; c1 e8 08 … … 7822 7863 push 00774h ; 68 74 07 7823 7864 push strict byte 00004h ; 6a 04 7824 call 01972h ; e8 6ec17865 call 01972h ; e8 04 c1 7825 7866 add sp, strict byte 00008h ; 83 c4 08 7826 jmp near 05 4c0h ; e9 b6 fc7827 mov bx, 00d 8ah ; bb 8a0d7867 jmp near 0552ah ; e9 b6 fc 7868 mov bx, 00da2h ; bb a2 0d 7828 7869 mov cx, ds ; 8c d9 7829 7870 mov ax, strict word 00004h ; b8 04 00 7830 call 01931h ; e8 1c c17871 call 01931h ; e8 b2 c0 7831 7872 mov ax, word [bp+016h] ; 8b 46 16 7832 7873 shr ax, 008h ; c1 e8 08 … … 7834 7875 push 0065eh ; 68 5e 06 7835 7876 push 007a7h ; 68 a7 07 7836 jmp near 055 57h ; e9 32 fd7877 jmp near 055c1h ; e9 32 fd 7837 7878 mov ax, word [bp+016h] ; 8b 46 16 7838 7879 xor ah, ah ; 30 e4 … … 7844 7885 mov dx, strict word 00074h ; ba 74 00 7845 7886 mov ax, strict word 00040h ; b8 40 00 7846 call 0165eh ; e8 1d be7887 call 0165eh ; e8 b3 bd 7847 7888 or byte [bp+01ch], 001h ; 80 4e 1c 01 7848 jmp near 05 4d3h ; e9 8b fc7849 add bx, word [bx+di+01bh] ; 03 59 1b7889 jmp near 0553dh ; e9 8b fc 7890 insw ; 6d 7850 7891 pop cx ; 59 7851 sbb bx, word [bx+di+01bh] ; 1b 59 1b7892 test word [bx+di-07bh], bx ; 85 59 85 7852 7893 pop cx ; 59 7853 retf 05e5ch ; ca 5c 5e 7894 test word [bx+di+034h], bx ; 85 59 34 7895 pop bp ; 5d 7896 enter 0855ah, 059h ; c8 5a 85 59 7897 into ; ce 7854 7898 pop dx ; 5a 7855 sbb bx, word [bx+di+064h] ; 1b 59 64 7856 pop dx ; 5a 7857 retf 0195ch ; ca 5c 19 7899 xor AL, strict byte 05dh ; 34 5d 7900 sbb word [di-07dh], strict byte 0005dh ; 83 5d 83 5d 7901 sbb word [di-07dh], strict byte 0005dh ; 83 5d 83 5d 7902 dec bx ; 4b 7858 7903 pop bp ; 5d 7859 sbb word [di+019h], bx ; 19 5d 19 7860 pop bp ; 5d 7861 sbb word [di-01fh], bx ; 19 5d e1 7862 pop sp ; 5c 7863 sbb word [di+019h], bx ; 19 5d 19 7864 pop bp ; 5d 7865 _int13_harddisk_ext: ; 0xf5868 LB 0x4cc 7904 sbb word [di-07dh], strict byte 0005dh ; 83 5d 83 5d 7905 _int13_harddisk_ext: ; 0xf58d2 LB 0x4cc 7866 7906 push bp ; 55 7867 7907 mov bp, sp ; 89 e5 … … 7869 7909 mov dx, strict word 0000eh ; ba 0e 00 7870 7910 mov ax, strict word 00040h ; b8 40 00 7871 call 0166ch ; e8 f5bd7911 call 0166ch ; e8 8b bd 7872 7912 mov word [bp-014h], ax ; 89 46 ec 7873 7913 mov dx, strict word 0000eh ; ba 0e 00 7874 7914 mov ax, strict word 00040h ; b8 40 00 7875 call 0166ch ; e8 e9bd7915 call 0166ch ; e8 7f bd 7876 7916 mov si, 00122h ; be 22 01 7877 7917 mov word [bp-026h], ax ; 89 46 da … … 7879 7919 mov dx, 0008eh ; ba 8e 00 7880 7920 mov ax, strict word 00040h ; b8 40 00 7881 call 0165eh ; e8 cabd7921 call 0165eh ; e8 60 bd 7882 7922 mov ax, word [bp+00eh] ; 8b 46 0e 7883 7923 xor ah, ah ; 30 e4 7884 7924 cmp ax, 00080h ; 3d 80 00 7885 jc short 05 8a3h ; 72 057925 jc short 0590dh ; 72 05 7886 7926 cmp ax, 00090h ; 3d 90 00 7887 jc short 05 8c1h ; 72 1e7927 jc short 0592bh ; 72 1e 7888 7928 mov ax, word [bp+00eh] ; 8b 46 0e 7889 7929 xor ah, ah ; 30 e4 … … 7895 7935 push 0066dh ; 68 6d 06 7896 7936 push strict byte 00004h ; 6a 04 7897 call 01972h ; e8 b7c07937 call 01972h ; e8 4d c0 7898 7938 add sp, strict byte 0000ah ; 83 c4 0a 7899 jmp near 05 cf7h ; e9 36 047939 jmp near 05d61h ; e9 36 04 7900 7940 mov ax, word [bp+00eh] ; 8b 46 0e 7901 7941 xor ah, ah ; 30 e4 … … 7905 7945 mov cl, byte [es:bx+0011fh] ; 26 8a 8f 1f 01 7906 7946 cmp cl, 010h ; 80 f9 10 7907 jc short 05 8e7h ; 72 107947 jc short 05951h ; 72 10 7908 7948 push ax ; 50 7909 7949 mov ax, word [bp+016h] ; 8b 46 16 … … 7912 7952 push 007d5h ; 68 d5 07 7913 7953 push 00698h ; 68 98 06 7914 jmp short 05 8b6h ; eb cf7954 jmp short 05920h ; eb cf 7915 7955 mov bx, word [bp+016h] ; 8b 5e 16 7916 7956 shr bx, 008h ; c1 eb 08 7917 7957 sub bx, strict byte 00041h ; 83 eb 41 7918 7958 cmp bx, strict byte 0000fh ; 83 fb 0f 7919 jnbe near 05d 19h ; 0f 87 22 047959 jnbe near 05d83h ; 0f 87 22 04 7920 7960 add bx, bx ; 01 db 7921 7961 mov ax, word [bp+016h] ; 8b 46 16 7922 7962 xor ah, ah ; 30 e4 7923 jmp word [cs:bx+058 48h] ; 2e ff a7 48587963 jmp word [cs:bx+058b2h] ; 2e ff a7 b2 58 7924 7964 mov word [bp+010h], 0aa55h ; c7 46 10 55 aa 7925 7965 mov ax, word [bp+016h] ; 8b 46 16 … … 7928 7968 mov word [bp+016h], ax ; 89 46 16 7929 7969 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 7930 jmp near 05 cceh ; e9 b3 037970 jmp near 05d38h ; e9 b3 03 7931 7971 mov bx, word [bp+00ah] ; 8b 5e 0a 7932 7972 mov es, [bp+004h] ; 8e 46 04 … … 7943 7983 mov ax, word [es:bx+00eh] ; 26 8b 47 0e 7944 7984 or ax, word [bp-00ah] ; 0b 46 f6 7945 je short 059 5ch ; 74 117985 je short 059c6h ; 74 11 7946 7986 mov ax, word [bp+016h] ; 8b 46 16 7947 7987 shr ax, 008h ; c1 e8 08 … … 7950 7990 push 007e8h ; 68 e8 07 7951 7991 push strict byte 00007h ; 6a 07 7952 jmp short 05 9a6h ; eb 4a7992 jmp short 05a10h ; eb 4a 7953 7993 mov es, [bp-010h] ; 8e 46 f0 7954 7994 mov ax, word [es:di+008h] ; 26 8b 45 08 … … 7962 8002 mov ch, byte [es:bx+01eh] ; 26 8a 6f 1e 7963 8003 cmp ax, word [es:bx+034h] ; 26 3b 47 34 7964 jnbe short 059 8ch ; 77 0b7965 jne short 05 9afh ; 75 2c8004 jnbe short 059f6h ; 77 0b 8005 jne short 05a19h ; 75 2c 7966 8006 mov dx, word [bp-00ah] ; 8b 56 f6 7967 8007 cmp dx, word [es:bx+032h] ; 26 3b 57 32 7968 jc short 05 9afh ; 72 237969 mov bx, 00d 8ah ; bb 8a0d8008 jc short 05a19h ; 72 23 8009 mov bx, 00da2h ; bb a2 0d 7970 8010 mov cx, ds ; 8c d9 7971 8011 mov ax, strict word 00004h ; b8 04 00 7972 call 01931h ; e8 9abf8012 call 01931h ; e8 30 bf 7973 8013 mov ax, word [bp+016h] ; 8b 46 16 7974 8014 shr ax, 008h ; c1 e8 08 … … 7977 8017 push 00811h ; 68 11 08 7978 8018 push strict byte 00004h ; 6a 04 7979 call 01972h ; e8 c9bf8019 call 01972h ; e8 5f bf 7980 8020 add sp, strict byte 00008h ; 83 c4 08 7981 jmp near 05 cf7h ; e9 48 038021 jmp near 05d61h ; e9 48 03 7982 8022 mov dx, word [bp+016h] ; 8b 56 16 7983 8023 shr dx, 008h ; c1 ea 08 7984 8024 mov word [bp-00ch], dx ; 89 56 f4 7985 8025 cmp dx, strict byte 00044h ; 83 fa 44 7986 je near 05 ccah ; 0f 84 0b 038026 je near 05d34h ; 0f 84 0b 03 7987 8027 cmp dx, strict byte 00047h ; 83 fa 47 7988 je near 05 ccah ; 0f 84 04 038028 je near 05d34h ; 0f 84 04 03 7989 8029 mov es, [bp-026h] ; 8e 46 da 7990 8030 db 066h, 026h, 0c7h, 044h, 014h, 000h, 000h, 000h, 000h … … 8018 8058 mov word [es:di+002h], ax ; 26 89 45 02 8019 8059 test dl, dl ; 84 d2 8020 je near 05 ccah ; 0f 84 97 028021 mov bx, 00d 8ah ; bb 8a0d8060 je near 05d34h ; 0f 84 97 02 8061 mov bx, 00da2h ; bb a2 0d 8022 8062 mov cx, ds ; 8c d9 8023 8063 mov ax, strict word 00004h ; b8 04 00 8024 call 01931h ; e8 f3be8064 call 01931h ; e8 89 be 8025 8065 movzx ax, dl ; 0f b6 c2 8026 8066 push ax ; 50 … … 8029 8069 push 00739h ; 68 39 07 8030 8070 push strict byte 00004h ; 6a 04 8031 call 01972h ; e8 22 bf8071 call 01972h ; e8 b8 be 8032 8072 add sp, strict byte 0000ah ; 83 c4 0a 8033 8073 mov ax, word [bp+016h] ; 8b 46 16 8034 8074 xor ah, ah ; 30 e4 8035 8075 or ah, 00ch ; 80 cc 0c 8036 jmp near 05 cffh ; e9 a1 028076 jmp near 05d69h ; e9 a1 02 8037 8077 or ah, 0b2h ; 80 cc b2 8038 jmp near 05 cffh ; e9 9b 028078 jmp near 05d69h ; e9 9b 02 8039 8079 mov bx, word [bp+00ah] ; 8b 5e 0a 8040 8080 mov ax, word [bp+004h] ; 8b 46 04 … … 8046 8086 mov word [bp-00eh], ax ; 89 46 f2 8047 8087 cmp ax, strict word 0001ah ; 3d 1a 00 8048 jc near 05 cf7h ; 0f 82 76 028049 jc near 05b 08h ; 0f 82 83 008088 jc near 05d61h ; 0f 82 76 02 8089 jc near 05b72h ; 0f 82 83 00 8050 8090 movzx ax, cl ; 0f b6 c1 8051 8091 imul ax, ax, strict byte 00018h ; 6b c0 18 … … 8085 8125 ; mov dword [es:di+014h], strict dword 000000000h ; 66 26 c7 45 14 00 00 00 00 8086 8126 cmp word [bp-00eh], strict byte 0001eh ; 83 7e f2 1e 8087 jc near 05c 14h ; 0f 82 04 018127 jc near 05c7eh ; 0f 82 04 01 8088 8128 mov es, [bp-004h] ; 8e 46 fc 8089 8129 mov word [es:bx], strict word 0001eh ; 26 c7 07 1e 00 … … 8111 8151 mov al, byte [es:di+023h] ; 26 8a 45 23 8112 8152 test al, al ; 84 c0 8113 jne short 05b 66h ; 75 048153 jne short 05bd0h ; 75 04 8114 8154 xor dx, dx ; 31 d2 8115 jmp short 05b 69h ; eb 038155 jmp short 05bd3h ; eb 03 8116 8156 mov dx, strict word 00008h ; ba 08 00 8117 8157 or dl, 010h ; 80 ca 10 … … 8128 8168 or word [bp-008h], dx ; 09 56 f8 8129 8169 cmp AL, strict byte 003h ; 3c 03 8130 jne short 05b 8fh ; 75 058170 jne short 05bf9h ; 75 05 8131 8171 mov ax, strict word 00003h ; b8 03 00 8132 jmp short 05b 91h ; eb 028172 jmp short 05bfbh ; eb 02 8133 8173 xor ax, ax ; 31 c0 8134 8174 or word [bp-008h], ax ; 09 46 f8 … … 8155 8195 xor ch, ch ; 30 ed 8156 8196 mov byte [bp-002h], ch ; 88 6e fe 8157 jmp short 05 bf5h ; eb 068197 jmp short 05c5fh ; eb 06 8158 8198 cmp byte [bp-002h], 00fh ; 80 7e fe 0f 8159 jnc short 05c 0ah ; 73 158199 jnc short 05c74h ; 73 15 8160 8200 movzx dx, byte [bp-002h] ; 0f b6 56 fe 8161 8201 add dx, 00312h ; 81 c2 12 03 8162 8202 mov ax, word [bp-014h] ; 8b 46 ec 8163 call 01650h ; e8 4d ba8203 call 01650h ; e8 e3 b9 8164 8204 add ch, al ; 00 c5 8165 8205 inc byte [bp-002h] ; fe 46 fe 8166 jmp short 05 befh ; eb e58206 jmp short 05c59h ; eb e5 8167 8207 neg ch ; f6 dd 8168 8208 mov es, [bp-026h] ; 8e 46 da 8169 8209 mov byte [es:si+001ffh], ch ; 26 88 ac ff 01 8170 8210 cmp word [bp-00eh], strict byte 00042h ; 83 7e f2 42 8171 jc near 05 ccah ; 0f 82 ae 008211 jc near 05d34h ; 0f 82 ae 00 8172 8212 movzx ax, cl ; 0f b6 c1 8173 8213 cwd ; 99 … … 8187 8227 mov word [es:bx+022h], strict word 00000h ; 26 c7 47 22 00 00 8188 8228 test al, al ; 84 c0 8189 jne short 05c 5ch ; 75 098229 jne short 05cc6h ; 75 09 8190 8230 db 066h, 026h, 0c7h, 047h, 024h, 049h, 053h, 041h, 020h 8191 8231 ; mov dword [es:bx+024h], strict dword 020415349h ; 66 26 c7 47 24 49 53 41 20 … … 8196 8236 ; mov dword [es:bx+02ch], strict dword 020202020h ; 66 26 c7 47 2c 20 20 20 20 8197 8237 test al, al ; 84 c0 8198 jne short 05c 88h ; 75 138238 jne short 05cf2h ; 75 13 8199 8239 mov word [es:bx+030h], dx ; 26 89 57 30 8200 8240 db 066h, 026h, 0c7h, 047h, 032h, 000h, 000h, 000h, 000h … … 8211 8251 xor cl, cl ; 30 c9 8212 8252 mov CH, strict byte 01eh ; b5 1e 8213 jmp short 05 cafh ; eb 058253 jmp short 05d19h ; eb 05 8214 8254 cmp ch, 040h ; 80 fd 40 8215 jnc short 05 cc1h ; 73 128255 jnc short 05d2bh ; 73 12 8216 8256 movzx dx, ch ; 0f b6 d5 8217 8257 add dx, word [bp+00ah] ; 03 56 0a 8218 8258 mov ax, word [bp+004h] ; 8b 46 04 8219 call 01650h ; e8 95b98259 call 01650h ; e8 2b b9 8220 8260 add cl, al ; 00 c1 8221 8261 db 0feh, 0c5h 8222 8262 ; inc ch ; fe c5 8223 jmp short 05 caah ; eb e98263 jmp short 05d14h ; eb e9 8224 8264 neg cl ; f6 d9 8225 8265 mov es, [bp-004h] ; 8e 46 fc … … 8229 8269 mov dx, strict word 00074h ; ba 74 00 8230 8270 mov ax, strict word 00040h ; b8 40 00 8231 call 0165eh ; e8 85b98271 call 0165eh ; e8 1b b9 8232 8272 and byte [bp+01ch], 0feh ; 80 66 1c fe 8233 8273 mov sp, bp ; 89 ec … … 8235 8275 retn ; c3 8236 8276 cmp ax, strict word 00006h ; 3d 06 00 8237 je short 05 ccah ; 74 e48277 je short 05d34h ; 74 e4 8238 8278 cmp ax, strict word 00001h ; 3d 01 00 8239 jc short 05 cf7h ; 72 0c8240 jbe short 05 ccah ; 76 dd8279 jc short 05d61h ; 72 0c 8280 jbe short 05d34h ; 76 dd 8241 8281 cmp ax, strict word 00003h ; 3d 03 00 8242 jc short 05 cf7h ; 72 058282 jc short 05d61h ; 72 05 8243 8283 cmp ax, strict word 00004h ; 3d 04 00 8244 jbe short 05 ccah ; 76 d38284 jbe short 05d34h ; 76 d3 8245 8285 mov ax, word [bp+016h] ; 8b 46 16 8246 8286 xor ah, ah ; 30 e4 … … 8252 8292 mov dx, strict word 00074h ; ba 74 00 8253 8293 mov ax, strict word 00040h ; b8 40 00 8254 call 0165eh ; e8 4b b98294 call 0165eh ; e8 e1 b8 8255 8295 or byte [bp+01ch], 001h ; 80 4e 1c 01 8256 jmp short 05 cddh ; eb c48257 mov bx, 00d 8ah ; bb 8a0d8296 jmp short 05d47h ; eb c4 8297 mov bx, 00da2h ; bb a2 0d 8258 8298 mov cx, ds ; 8c d9 8259 8299 mov ax, strict word 00004h ; b8 04 00 8260 call 01931h ; e8 0d bc8300 call 01931h ; e8 a3 bb 8261 8301 mov ax, word [bp+016h] ; 8b 46 16 8262 8302 shr ax, 008h ; c1 e8 08 … … 8264 8304 push 007d5h ; 68 d5 07 8265 8305 push 007a7h ; 68 a7 07 8266 jmp near 05 9a4h ; e9 70 fc8267 _int14_function: ; 0xf5d 34LB 0x1558306 jmp near 05a0eh ; e9 70 fc 8307 _int14_function: ; 0xf5d9e LB 0x155 8268 8308 push bp ; 55 8269 8309 mov bp, sp ; 89 e5 … … 8273 8313 add dx, dx ; 01 d2 8274 8314 mov ax, strict word 00040h ; b8 40 00 8275 call 0166ch ; e8 28 b98315 call 0166ch ; e8 be b8 8276 8316 mov si, ax ; 89 c6 8277 8317 mov bx, ax ; 89 c3 … … 8279 8319 add dx, strict byte 0007ch ; 83 c2 7c 8280 8320 mov ax, strict word 00040h ; b8 40 00 8281 call 01650h ; e8 fcb88321 call 01650h ; e8 92 b8 8282 8322 mov cl, al ; 88 c1 8283 8323 cmp word [bp+00eh], strict byte 00004h ; 83 7e 0e 04 8284 jnc near 05e 7fh ; 0f 83 21 018324 jnc near 05ee9h ; 0f 83 21 01 8285 8325 test si, si ; 85 f6 8286 jbe near 05e 7fh ; 0f 86 1b 018326 jbe near 05ee9h ; 0f 86 1b 01 8287 8327 mov al, byte [bp+013h] ; 8a 46 13 8288 8328 cmp AL, strict byte 001h ; 3c 01 8289 jc short 05d 7ch ; 72 118290 jbe short 05 dd0h ; 76 638329 jc short 05de6h ; 72 11 8330 jbe short 05e3ah ; 76 63 8291 8331 cmp AL, strict byte 003h ; 3c 03 8292 je near 05e 68h ; 0f 84 f5 008332 je near 05ed2h ; 0f 84 f5 00 8293 8333 cmp AL, strict byte 002h ; 3c 02 8294 je near 05e 1eh ; 0f 84 a5 008295 jmp near 05e 79h ; e9 fd 008334 je near 05e88h ; 0f 84 a5 00 8335 jmp near 05ee3h ; e9 fd 00 8296 8336 test al, al ; 84 c0 8297 jne near 05e 79h ; 0f 85 f7 008337 jne near 05ee3h ; 0f 85 f7 00 8298 8338 lea dx, [bx+003h] ; 8d 57 03 8299 8339 in AL, DX ; ec … … 8327 8367 ; sub ah, ah ; 2a e4 8328 8368 mov byte [bp+012h], al ; 88 46 12 8329 jmp near 05e 5ah ; e9 97 008369 jmp near 05ec4h ; e9 97 00 8330 8370 mov AL, strict byte 017h ; b0 17 8331 8371 mov dx, bx ; 89 da … … 8334 8374 mov AL, strict byte 004h ; b0 04 8335 8375 out DX, AL ; ee 8336 jmp short 05 da5h ; eb d58376 jmp short 05e0fh ; eb d5 8337 8377 mov dx, strict word 0006ch ; ba 6c 00 8338 8378 mov ax, strict word 00040h ; b8 40 00 8339 call 0166ch ; e8 93b88379 call 0166ch ; e8 29 b8 8340 8380 mov si, ax ; 89 c6 8341 8381 lea dx, [bx+005h] ; 8d 57 05 … … 8345 8385 and ax, strict word 00060h ; 25 60 00 8346 8386 cmp ax, strict word 00060h ; 3d 60 00 8347 je short 05e 00h ; 74 178387 je short 05e6ah ; 74 17 8348 8388 test cl, cl ; 84 c9 8349 je short 05e 00h ; 74 138389 je short 05e6ah ; 74 13 8350 8390 mov dx, strict word 0006ch ; ba 6c 00 8351 8391 mov ax, strict word 00040h ; b8 40 00 8352 call 0166ch ; e8 76b88392 call 0166ch ; e8 0c b8 8353 8393 cmp ax, si ; 39 f0 8354 je short 05 ddbh ; 74 e18394 je short 05e45h ; 74 e1 8355 8395 mov si, ax ; 89 c6 8356 8396 db 0feh, 0c9h 8357 8397 ; dec cl ; fe c9 8358 jmp short 05 ddbh ; eb db8398 jmp short 05e45h ; eb db 8359 8399 test cl, cl ; 84 c9 8360 je short 05e 0ah ; 74 068400 je short 05e74h ; 74 06 8361 8401 mov al, byte [bp+012h] ; 8a 46 12 8362 8402 mov dx, bx ; 89 da … … 8368 8408 mov byte [bp+013h], al ; 88 46 13 8369 8409 test cl, cl ; 84 c9 8370 jne short 05e 5ah ; 75 438410 jne short 05ec4h ; 75 43 8371 8411 or AL, strict byte 080h ; 0c 80 8372 8412 mov byte [bp+013h], al ; 88 46 13 8373 jmp short 05e 5ah ; eb 3c8413 jmp short 05ec4h ; eb 3c 8374 8414 mov dx, strict word 0006ch ; ba 6c 00 8375 8415 mov ax, strict word 00040h ; b8 40 00 8376 call 0166ch ; e8 45 b88416 call 0166ch ; e8 db b7 8377 8417 mov si, ax ; 89 c6 8378 8418 lea dx, [bx+005h] ; 8d 57 05 … … 8381 8421 ; sub ah, ah ; 2a e4 8382 8422 test AL, strict byte 001h ; a8 01 8383 jne short 05e 4ah ; 75 178423 jne short 05eb4h ; 75 17 8384 8424 test cl, cl ; 84 c9 8385 je short 05e 4ah ; 74 138425 je short 05eb4h ; 74 13 8386 8426 mov dx, strict word 0006ch ; ba 6c 00 8387 8427 mov ax, strict word 00040h ; b8 40 00 8388 call 0166ch ; e8 2c b88428 call 0166ch ; e8 c2 b7 8389 8429 cmp ax, si ; 39 f0 8390 je short 05e 29h ; 74 e58430 je short 05e93h ; 74 e5 8391 8431 mov si, ax ; 89 c6 8392 8432 db 0feh, 0c9h 8393 8433 ; dec cl ; fe c9 8394 jmp short 05e 29h ; eb df8434 jmp short 05e93h ; eb df 8395 8435 test cl, cl ; 84 c9 8396 je short 05e 60h ; 74 128436 je short 05ecah ; 74 12 8397 8437 mov byte [bp+013h], 000h ; c6 46 13 00 8398 8438 mov dx, bx ; 89 da … … 8402 8442 mov byte [bp+012h], al ; 88 46 12 8403 8443 and byte [bp+01ch], 0feh ; 80 66 1c fe 8404 jmp short 05e 83h ; eb 238444 jmp short 05eedh ; eb 23 8405 8445 lea dx, [bx+005h] ; 8d 57 05 8406 8446 in AL, DX ; ec 8407 8447 db 02ah, 0e4h 8408 8448 ; sub ah, ah ; 2a e4 8409 jmp short 05e 19h ; eb b18449 jmp short 05e83h ; eb b1 8410 8450 lea dx, [si+005h] ; 8d 54 05 8411 8451 in AL, DX ; ec … … 8417 8457 db 02ah, 0e4h 8418 8458 ; sub ah, ah ; 2a e4 8419 jmp short 05e 57h ; eb de8459 jmp short 05ec1h ; eb de 8420 8460 or byte [bp+01ch], 001h ; 80 4e 1c 01 8421 jmp short 05e 83h ; eb 048461 jmp short 05eedh ; eb 04 8422 8462 or byte [bp+01ch], 001h ; 80 4e 1c 01 8423 8463 lea sp, [bp-002h] ; 8d 66 fe … … 8425 8465 pop bp ; 5d 8426 8466 retn ; c3 8427 set_enable_a20_: ; 0xf5e 89LB 0x2c8467 set_enable_a20_: ; 0xf5ef3 LB 0x2c 8428 8468 push bp ; 55 8429 8469 mov bp, sp ; 89 e5 … … 8438 8478 mov cl, al ; 88 c1 8439 8479 test bx, bx ; 85 db 8440 je short 05 ea2h ; 74 058480 je short 05f0ch ; 74 05 8441 8481 or AL, strict byte 002h ; 0c 02 8442 8482 out DX, AL ; ee 8443 jmp short 05 ea5h ; eb 038483 jmp short 05f0fh ; eb 03 8444 8484 and AL, strict byte 0fdh ; 24 fd 8445 8485 out DX, AL ; ee … … 8454 8494 pop bp ; 5d 8455 8495 retn ; c3 8456 set_e820_range_: ; 0xf5 eb5LB 0x8c8496 set_e820_range_: ; 0xf5f1f LB 0x8c 8457 8497 push si ; 56 8458 8498 push bp ; 55 … … 8482 8522 pop si ; 5e 8483 8523 retn 0000ah ; c2 0a 00 8484 in AL, DX ; ec 8485 jmp near 020e8h ; e9 d8 c1 8486 sar byte [bx-06f6fh], 089h ; c0 bf 91 90 89 8487 mov byte [bx+05283h], al ; 88 87 83 52 8488 dec di ; 4f 8489 inc cx ; 41 8490 and AL, strict byte 000h ; 24 00 8491 loopne 05f82h ; e0 63 8492 sbb byte [bx-06dh], 05fh ; 80 5f 93 5f 8493 sub byte [bx+si+02eh], ah ; 28 60 2e 8494 pushaw ; 60 8495 xor sp, word [bx+si+038h] ; 33 60 38 8496 pushaw ; 60 8497 fisub dword [bx+si+077h] ; da 60 77 8498 bound bx, [di+02162h] ; 62 9d 62 21 8499 pushaw ; 60 8500 and word [bx+si+06ah], sp ; 21 60 6a 8501 arpl word [bp+si-05a9dh], dx ; 63 92 63 a5 8502 arpl word [si+02863h], si ; 63 b4 63 28 8503 pushaw ; 60 8504 db 0bbh 8505 db 063h 8506 _int15_function: ; 0xf5f41 LB 0x4cd 8524 db 0ech, 0e9h, 0d8h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 087h, 083h, 052h, 04fh, 041h, 024h 8525 db 000h, 04ah, 064h, 0eah, 05fh, 0fdh, 05fh, 092h, 060h, 098h, 060h, 09dh, 060h, 0a2h, 060h, 044h 8526 db 061h, 0e1h, 062h, 007h, 063h, 08bh, 060h, 08bh, 060h, 0d4h, 063h, 0fch, 063h, 00fh, 064h, 01eh 8527 db 064h, 092h, 060h, 025h, 064h 8528 _int15_function: ; 0xf5fab LB 0x4cd 8507 8529 push bp ; 55 8508 8530 mov bp, sp ; 89 e5 … … 8514 8536 shr ax, 008h ; c1 e8 08 8515 8537 cmp ax, 000ech ; 3d ec 00 8516 jnbe near 06 3e0h ; 0f 87 8b 048538 jnbe near 0644ah ; 0f 87 8b 04 8517 8539 push CS ; 0e 8518 8540 pop ES ; 07 8519 8541 mov cx, strict word 00012h ; b9 12 00 8520 mov di, 05f 0ch ; bf 0c5f8542 mov di, 05f76h ; bf 76 5f 8521 8543 repne scasb ; f2 ae 8522 8544 sal cx, 1 ; d1 e1 8523 8545 mov di, cx ; 89 cf 8524 mov si, word [cs:di+05f 1dh] ; 2e 8b b5 1d5f8546 mov si, word [cs:di+05f87h] ; 2e 8b b5 87 5f 8525 8547 mov ax, word [bp+012h] ; 8b 46 12 8526 8548 xor ah, ah ; 30 e4 … … 8535 8557 xor ah, ah ; 30 e4 8536 8558 cmp ax, 000c0h ; 3d c0 00 8537 jne near 06 3e0h ; 0f 85 54 048559 jne near 0644ah ; 0f 85 54 04 8538 8560 or byte [bp+018h], 001h ; 80 4e 18 01 8539 jmp near 063 89h ; e9 f6 038561 jmp near 063f3h ; e9 f6 03 8540 8562 mov dx, ax ; 89 c2 8541 8563 cmp ax, strict word 00001h ; 3d 01 00 8542 jc short 0 5fa8h ; 72 0e8543 jbe short 0 5fbch ; 76 208564 jc short 06012h ; 72 0e 8565 jbe short 06026h ; 76 20 8544 8566 cmp ax, strict word 00003h ; 3d 03 00 8545 je short 0 5fe9h ; 74 488567 je short 06053h ; 74 48 8546 8568 cmp ax, strict word 00002h ; 3d 02 00 8547 je short 0 5fcch ; 74 268548 jmp short 0 5ff6h ; eb 4e8569 je short 06036h ; 74 26 8570 jmp short 06060h ; eb 4e 8549 8571 test ax, ax ; 85 c0 8550 jne short 0 5ff6h ; 75 4a8572 jne short 06060h ; 75 4a 8551 8573 xor ax, ax ; 31 c0 8552 call 05e 89h ; e8 d8 fe8574 call 05ef3h ; e8 d8 fe 8553 8575 and byte [bp+018h], 0feh ; 80 66 18 fe 8554 8576 mov byte [bp+013h], 000h ; c6 46 13 00 8555 jmp near 060 21h ; e9 65 008577 jmp near 0608bh ; e9 65 00 8556 8578 mov ax, strict word 00001h ; b8 01 00 8557 call 05e 89h ; e8 c7 fe8579 call 05ef3h ; e8 c7 fe 8558 8580 and byte [bp+018h], 0feh ; 80 66 18 fe 8559 8581 mov byte [bp+013h], dh ; 88 76 13 8560 jmp near 060 21h ; e9 55 008582 jmp near 0608bh ; e9 55 00 8561 8583 mov dx, 00092h ; ba 92 00 8562 8584 in AL, DX ; ec … … 8570 8592 and byte [bp+018h], 0feh ; 80 66 18 fe 8571 8593 mov byte [bp+013h], ah ; 88 66 13 8572 jmp near 060 21h ; e9 38 008594 jmp near 0608bh ; e9 38 00 8573 8595 and byte [bp+018h], 0feh ; 80 66 18 fe 8574 8596 mov byte [bp+013h], ah ; 88 66 13 8575 8597 mov word [bp+00ch], ax ; 89 46 0c 8576 jmp near 060 21h ; e9 2b 008577 mov bx, 00d 8ah ; bb 8a0d8598 jmp near 0608bh ; e9 2b 00 8599 mov bx, 00da2h ; bb a2 0d 8578 8600 mov cx, ds ; 8c d9 8579 8601 mov ax, strict word 00004h ; b8 04 00 8580 call 01931h ; e8 30 b98602 call 01931h ; e8 c6 b8 8581 8603 mov ax, word [bp+012h] ; 8b 46 12 8582 8604 xor ah, ah ; 30 e4 … … 8584 8606 push 00836h ; 68 36 08 8585 8607 push strict byte 00004h ; 6a 04 8586 call 01972h ; e8 63 b98608 call 01972h ; e8 f9 b8 8587 8609 add sp, strict byte 00006h ; 83 c4 06 8588 8610 or byte [bp+018h], 001h ; 80 4e 18 01 … … 8597 8619 retn ; c3 8598 8620 mov word [bp+018h], bx ; 89 5e 18 8599 jmp near 06 0d4h ; e9 a6 008621 jmp near 0613eh ; e9 a6 00 8600 8622 mov word [bp+018h], bx ; 89 5e 18 8601 jmp short 060 21h ; eb ee8623 jmp short 0608bh ; eb ee 8602 8624 mov word [bp+018h], cx ; 89 4e 18 8603 jmp short 060 1eh ; eb e68625 jmp short 06088h ; eb e6 8604 8626 test byte [bp+012h], 0ffh ; f6 46 12 ff 8605 je short 06 0aah ; 74 6c8627 je short 06114h ; 74 6c 8606 8628 mov dx, 000a0h ; ba a0 00 8607 8629 mov ax, strict word 00040h ; b8 40 00 8608 call 01650h ; e8 09 b68630 call 01650h ; e8 9f b5 8609 8631 test AL, strict byte 001h ; a8 01 8610 jne near 063 80h ; 0f 85 33 038632 jne near 063eah ; 0f 85 33 03 8611 8633 mov bx, strict word 00001h ; bb 01 00 8612 8634 mov dx, 000a0h ; ba a0 00 8613 8635 mov ax, strict word 00040h ; b8 40 00 8614 call 0165eh ; e8 05 b68636 call 0165eh ; e8 9b b5 8615 8637 mov bx, word [bp+014h] ; 8b 5e 14 8616 8638 mov dx, 00098h ; ba 98 00 8617 8639 mov ax, strict word 00040h ; b8 40 00 8618 call 0167ah ; e8 15 b68640 call 0167ah ; e8 ab b5 8619 8641 mov bx, word [bp+00ch] ; 8b 5e 0c 8620 8642 mov dx, 0009ah ; ba 9a 00 8621 8643 mov ax, strict word 00040h ; b8 40 00 8622 call 0167ah ; e8 09 b68644 call 0167ah ; e8 9f b5 8623 8645 mov bx, word [bp+00eh] ; 8b 5e 0e 8624 8646 mov dx, 0009ch ; ba 9c 00 8625 8647 mov ax, strict word 00040h ; b8 40 00 8626 call 0167ah ; e8 fdb58648 call 0167ah ; e8 93 b5 8627 8649 mov bx, word [bp+010h] ; 8b 5e 10 8628 8650 mov dx, 0009eh ; ba 9e 00 8629 8651 mov ax, strict word 00040h ; b8 40 00 8630 call 0167ah ; e8 f1b58652 call 0167ah ; e8 87 b5 8631 8653 and byte [bp+018h], 0feh ; 80 66 18 fe 8632 8654 mov dx, 000a1h ; ba a1 00 … … 8637 8659 out DX, AL ; ee 8638 8660 mov ax, strict word 0000bh ; b8 0b 00 8639 call 016ach ; e8 10 b68661 call 016ach ; e8 a6 b5 8640 8662 or AL, strict byte 040h ; 0c 40 8641 8663 movzx dx, al ; 0f b6 d0 8642 8664 mov ax, strict word 0000bh ; b8 0b 00 8643 call 016c9h ; e8 22 b68644 jmp near 060 21h ; e9 77 ff8665 call 016c9h ; e8 b8 b5 8666 jmp near 0608bh ; e9 77 ff 8645 8667 cmp ax, strict word 00001h ; 3d 01 00 8646 jne short 06 0c8h ; 75 198668 jne short 06132h ; 75 19 8647 8669 xor bx, bx ; 31 db 8648 8670 mov dx, 000a0h ; ba a0 00 8649 8671 mov ax, strict word 00040h ; b8 40 00 8650 call 0165eh ; e8 a4b58672 call 0165eh ; e8 3a b5 8651 8673 and byte [bp+018h], 0feh ; 80 66 18 fe 8652 8674 mov ax, strict word 0000bh ; b8 0b 00 8653 call 016ach ; e8 e8b58675 call 016ach ; e8 7e b5 8654 8676 and AL, strict byte 0bfh ; 24 bf 8655 jmp short 06 09eh ; eb d68677 jmp short 06108h ; eb d6 8656 8678 mov word [bp+018h], bx ; 89 5e 18 8657 8679 mov ax, dx ; 89 d0 … … 8661 8683 or dx, ax ; 09 c2 8662 8684 mov word [bp+012h], dx ; 89 56 12 8663 jmp near 060 21h ; e9 47 ff8685 jmp near 0608bh ; e9 47 ff 8664 8686 cli ; fa 8665 8687 mov ax, strict word 00001h ; b8 01 00 8666 call 05e 89h ; e8 a8 fd8688 call 05ef3h ; e8 a8 fd 8667 8689 mov di, ax ; 89 c7 8668 8690 mov ax, word [bp+014h] ; 8b 46 14 … … 8674 8696 mov byte [bp-006h], dl ; 88 56 fa 8675 8697 cmp cx, ax ; 39 c1 8676 jnc short 061 00h ; 73 058698 jnc short 0616ah ; 73 05 8677 8699 db 0feh, 0c2h 8678 8700 ; inc dl ; fe c2 … … 8682 8704 mov ax, word [bp+014h] ; 8b 46 14 8683 8705 mov bx, strict word 0002fh ; bb 2f 00 8684 call 0167ah ; e8 6bb58706 call 0167ah ; e8 01 b5 8685 8707 mov dx, word [bp+006h] ; 8b 56 06 8686 8708 add dx, strict byte 0000ah ; 83 c2 0a 8687 8709 mov ax, word [bp+014h] ; 8b 46 14 8688 8710 mov bx, cx ; 89 cb 8689 call 0167ah ; e8 5d b58711 call 0167ah ; e8 f3 b4 8690 8712 movzx bx, byte [bp-006h] ; 0f b6 5e fa 8691 8713 mov dx, word [bp+006h] ; 8b 56 06 8692 8714 add dx, strict byte 0000ch ; 83 c2 0c 8693 8715 mov ax, word [bp+014h] ; 8b 46 14 8694 call 0165eh ; e8 31 b58716 call 0165eh ; e8 c7 b4 8695 8717 mov dx, word [bp+006h] ; 8b 56 06 8696 8718 add dx, strict byte 0000dh ; 83 c2 0d 8697 8719 mov ax, word [bp+014h] ; 8b 46 14 8698 8720 mov bx, 00093h ; bb 93 00 8699 call 0165eh ; e8 22 b58721 call 0165eh ; e8 b8 b4 8700 8722 mov dx, word [bp+006h] ; 8b 56 06 8701 8723 add dx, strict byte 0000eh ; 83 c2 0e 8702 8724 mov ax, word [bp+014h] ; 8b 46 14 8703 8725 xor bx, bx ; 31 db 8704 call 0167ah ; e8 30 b58726 call 0167ah ; e8 c6 b4 8705 8727 mov dx, word [bp+006h] ; 8b 56 06 8706 8728 add dx, strict byte 00020h ; 83 c2 20 8707 8729 mov ax, word [bp+014h] ; 8b 46 14 8708 8730 mov bx, strict word 0ffffh ; bb ff ff 8709 call 0167ah ; e8 21 b58731 call 0167ah ; e8 b7 b4 8710 8732 mov dx, word [bp+006h] ; 8b 56 06 8711 8733 add dx, strict byte 00022h ; 83 c2 22 8712 8734 mov ax, word [bp+014h] ; 8b 46 14 8713 8735 xor bx, bx ; 31 db 8714 call 0167ah ; e8 13 b58736 call 0167ah ; e8 a9 b4 8715 8737 mov dx, word [bp+006h] ; 8b 56 06 8716 8738 add dx, strict byte 00024h ; 83 c2 24 8717 8739 mov ax, word [bp+014h] ; 8b 46 14 8718 8740 mov bx, strict word 0000fh ; bb 0f 00 8719 call 0165eh ; e8 e8b48741 call 0165eh ; e8 7e b4 8720 8742 mov dx, word [bp+006h] ; 8b 56 06 8721 8743 add dx, strict byte 00025h ; 83 c2 25 8722 8744 mov ax, word [bp+014h] ; 8b 46 14 8723 8745 mov bx, 0009bh ; bb 9b 00 8724 call 0165eh ; e8 d9b48746 call 0165eh ; e8 6f b4 8725 8747 mov dx, word [bp+006h] ; 8b 56 06 8726 8748 add dx, strict byte 00026h ; 83 c2 26 8727 8749 mov ax, word [bp+014h] ; 8b 46 14 8728 8750 xor bx, bx ; 31 db 8729 call 0167ah ; e8 e7b48751 call 0167ah ; e8 7d b4 8730 8752 mov ax, ss ; 8c d0 8731 8753 mov cx, ax ; 89 c1 … … 8737 8759 mov ax, word [bp+014h] ; 8b 46 14 8738 8760 mov bx, strict word 0ffffh ; bb ff ff 8739 call 0167ah ; e8 cbb48761 call 0167ah ; e8 61 b4 8740 8762 mov dx, word [bp+006h] ; 8b 56 06 8741 8763 add dx, strict byte 0002ah ; 83 c2 2a 8742 8764 mov ax, word [bp+014h] ; 8b 46 14 8743 8765 mov bx, cx ; 89 cb 8744 call 0167ah ; e8 bdb48766 call 0167ah ; e8 53 b4 8745 8767 movzx bx, byte [bp-008h] ; 0f b6 5e f8 8746 8768 mov dx, word [bp+006h] ; 8b 56 06 8747 8769 add dx, strict byte 0002ch ; 83 c2 2c 8748 8770 mov ax, word [bp+014h] ; 8b 46 14 8749 call 0165eh ; e8 91b48771 call 0165eh ; e8 27 b4 8750 8772 mov dx, word [bp+006h] ; 8b 56 06 8751 8773 add dx, strict byte 0002dh ; 83 c2 2d 8752 8774 mov ax, word [bp+014h] ; 8b 46 14 8753 8775 mov bx, 00093h ; bb 93 00 8754 call 0165eh ; e8 82b48776 call 0165eh ; e8 18 b4 8755 8777 mov dx, word [bp+006h] ; 8b 56 06 8756 8778 add dx, strict byte 0002eh ; 83 c2 2e 8757 8779 mov ax, word [bp+014h] ; 8b 46 14 8758 8780 xor bx, bx ; 31 db 8759 call 0167ah ; e8 90b48781 call 0167ah ; e8 26 b4 8760 8782 mov si, word [bp+006h] ; 8b 76 06 8761 8783 mov es, [bp+014h] ; 8e 46 14 … … 8768 8790 mov word [00467h], sp ; 89 26 67 04 8769 8791 mov [00469h], ss ; 8c 16 69 04 8770 call 062 06h ; e8 00 008792 call 06270h ; e8 00 00 8771 8793 pop di ; 5f 8772 8794 add di, strict byte 0001bh ; 83 c7 1b … … 8791 8813 cld ; fc 8792 8814 rep movsw ; f3 a5 8793 call 062 3ah ; e8 00 008815 call 062a4h ; e8 00 00 8794 8816 pop ax ; 58 8795 8817 push 0f000h ; 68 00 f0 … … 8812 8834 pop DS ; 1f 8813 8835 mov ax, di ; 89 f8 8814 call 05e 89h ; e8 1e fc8836 call 05ef3h ; e8 1e fc 8815 8837 sti ; fb 8816 8838 mov byte [bp+013h], 000h ; c6 46 13 00 8817 8839 and byte [bp+018h], 0feh ; 80 66 18 fe 8818 jmp near 060 21h ; e9 aa fd8840 jmp near 0608bh ; e9 aa fd 8819 8841 mov ax, strict word 00031h ; b8 31 00 8820 call 016ach ; e8 2f b48842 call 016ach ; e8 c5 b3 8821 8843 xor ah, ah ; 30 e4 8822 8844 mov dx, ax ; 89 c2 8823 8845 sal dx, 008h ; c1 e2 08 8824 8846 mov ax, strict word 00030h ; b8 30 00 8825 call 016ach ; e8 22 b48847 call 016ach ; e8 b8 b3 8826 8848 xor ah, ah ; 30 e4 8827 8849 or dx, ax ; 09 c2 8828 8850 mov word [bp+012h], dx ; 89 56 12 8829 8851 cmp dx, strict byte 0ffc0h ; 83 fa c0 8830 jbe short 062 70h ; 76 da8852 jbe short 062dah ; 76 da 8831 8853 mov word [bp+012h], strict word 0ffc0h ; c7 46 12 c0 ff 8832 jmp short 062 70h ; eb d38854 jmp short 062dah ; eb d3 8833 8855 cli ; fa 8834 8856 mov ax, strict word 00001h ; b8 01 00 8835 call 05e 89h ; e8 e5 fb8857 call 05ef3h ; e8 e5 fb 8836 8858 mov dx, word [bp+006h] ; 8b 56 06 8837 8859 add dx, strict byte 00038h ; 83 c2 38 8838 8860 mov ax, word [bp+014h] ; 8b 46 14 8839 8861 mov bx, strict word 0ffffh ; bb ff ff 8840 call 0167ah ; e8 c7b38862 call 0167ah ; e8 5d b3 8841 8863 mov dx, word [bp+006h] ; 8b 56 06 8842 8864 add dx, strict byte 0003ah ; 83 c2 3a 8843 8865 mov ax, word [bp+014h] ; 8b 46 14 8844 8866 xor bx, bx ; 31 db 8845 call 0167ah ; e8 b9b38867 call 0167ah ; e8 4f b3 8846 8868 mov dx, word [bp+006h] ; 8b 56 06 8847 8869 add dx, strict byte 0003ch ; 83 c2 3c 8848 8870 mov ax, word [bp+014h] ; 8b 46 14 8849 8871 mov bx, strict word 0000fh ; bb 0f 00 8850 call 0165eh ; e8 8eb38872 call 0165eh ; e8 24 b3 8851 8873 mov dx, word [bp+006h] ; 8b 56 06 8852 8874 add dx, strict byte 0003dh ; 83 c2 3d 8853 8875 mov ax, word [bp+014h] ; 8b 46 14 8854 8876 mov bx, 0009bh ; bb 9b 00 8855 call 0165eh ; e8 7fb38877 call 0165eh ; e8 15 b3 8856 8878 mov dx, word [bp+006h] ; 8b 56 06 8857 8879 add dx, strict byte 0003eh ; 83 c2 3e 8858 8880 mov ax, word [bp+014h] ; 8b 46 14 8859 8881 xor bx, bx ; 31 db 8860 call 0167ah ; e8 8db38882 call 0167ah ; e8 23 b3 8861 8883 mov AL, strict byte 011h ; b0 11 8862 8884 mov dx, strict word 00020h ; ba 20 00 … … 8888 8910 out DX, AL ; ee 8889 8911 mov si, word [bp+006h] ; 8b 76 06 8890 call 063 2eh ; e8 00 008912 call 06398h ; e8 00 00 8891 8913 pop di ; 5f 8892 8914 add di, strict byte 00018h ; 83 c7 18 … … 8916 8938 push cx ; 51 8917 8939 retf ; cb 8918 jmp near 060 21h ; e9 b7 fc8919 mov bx, 00d 8ah ; bb 8a0d8940 jmp near 0608bh ; e9 b7 fc 8941 mov bx, 00da2h ; bb a2 0d 8920 8942 mov cx, ds ; 8c d9 8921 8943 mov ax, strict word 00004h ; b8 04 00 8922 call 01931h ; e8 bcb58944 call 01931h ; e8 52 b5 8923 8945 push 00876h ; 68 76 08 8924 8946 push strict byte 00004h ; 6a 04 8925 call 01972h ; e8 f5b58947 call 01972h ; e8 8b b5 8926 8948 add sp, strict byte 00004h ; 83 c4 04 8927 8949 or byte [bp+018h], 001h ; 80 4e 18 01 … … 8930 8952 or ah, 086h ; 80 cc 86 8931 8953 mov word [bp+012h], ax ; 89 46 12 8932 jmp near 060 21h ; e9 8f fc8954 jmp near 0608bh ; e9 8f fc 8933 8955 mov word [bp+018h], cx ; 89 4e 18 8934 8956 mov word [bp+012h], ax ; 89 46 12 8935 8957 mov word [bp+00ch], 0e6f5h ; c7 46 0c f5 e6 8936 8958 mov word [bp+014h], 0f000h ; c7 46 14 00 f0 8937 jmp near 060 21h ; e9 7c fc8959 jmp near 0608bh ; e9 7c fc 8938 8960 mov dx, strict word 0000eh ; ba 0e 00 8939 8961 mov ax, strict word 00040h ; b8 40 00 8940 call 0166ch ; e8 beb28962 call 0166ch ; e8 54 b2 8941 8963 mov word [bp+014h], ax ; 89 46 14 8942 jmp near 062 70h ; e9 bc fe8964 jmp near 062dah ; e9 bc fe 8943 8965 push 008a5h ; 68 a5 08 8944 8966 push strict byte 00008h ; 6a 08 8945 jmp short 063 7ah ; eb bf8967 jmp short 063e4h ; eb bf 8946 8968 test byte [bp+012h], 0ffh ; f6 46 12 ff 8947 jne short 06 3e0h ; 75 1f8969 jne short 0644ah ; 75 1f 8948 8970 mov word [bp+012h], ax ; 89 46 12 8949 8971 mov ax, word [bp+00ch] ; 8b 46 0c 8950 8972 xor ah, ah ; 30 e4 8951 8973 cmp ax, strict word 00001h ; 3d 01 00 8952 jc short 06 3d9h ; 72 0b8974 jc short 06443h ; 72 0b 8953 8975 cmp ax, strict word 00003h ; 3d 03 00 8954 jnbe short 06 3d9h ; 77 068976 jnbe short 06443h ; 77 06 8955 8977 mov word [bp+018h], cx ; 89 4e 18 8956 jmp near 060 21h ; e9 48 fc8978 jmp near 0608bh ; e9 48 fc 8957 8979 or byte [bp+018h], 001h ; 80 4e 18 01 8958 jmp near 060 21h ; e9 41 fc8959 mov bx, 00d 8ah ; bb 8a0d8980 jmp near 0608bh ; e9 41 fc 8981 mov bx, 00da2h ; bb a2 0d 8960 8982 mov cx, ds ; 8c d9 8961 8983 mov ax, strict word 00004h ; b8 04 00 8962 call 01931h ; e8 46 b58984 call 01931h ; e8 dc b4 8963 8985 push word [bp+00ch] ; ff 76 0c 8964 8986 push word [bp+012h] ; ff 76 12 8965 8987 push 008bch ; 68 bc 08 8966 8988 push strict byte 00004h ; 6a 04 8967 call 01972h ; e8 79b58989 call 01972h ; e8 0f b5 8968 8990 add sp, strict byte 00008h ; 83 c4 08 8969 jmp short 06380h ; eb 82 8970 mov BH, strict byte 065h ; b7 65 8971 fldenv [di-004h] ; d9 65 fc 8972 db 065h, 01eh 8973 ; gs push DS ; 65 1e 8974 db 066h, 03eh, 066h, 05fh 8975 ; ds pop edi ; 66 3e 66 5f 8976 db 066h, 09eh, 066h, 0cah, 066h 8977 _int15_function32: ; 0xf640e LB 0x37e 8991 jmp short 063eah ; eb 82 8992 db 021h, 066h, 043h, 066h, 066h, 066h, 088h, 066h, 0a8h, 066h, 0c9h, 066h, 008h, 067h, 034h, 067h 8993 _int15_function32: ; 0xf6478 LB 0x37e 8978 8994 push bp ; 55 8979 8995 mov bp, sp ; 89 e5 … … 8987 9003 xor ah, ah ; 30 e4 8988 9004 cmp dx, 000e8h ; 81 fa e8 00 8989 je near 06 4dbh ; 0f 84 ad 009005 je near 06545h ; 0f 84 ad 00 8990 9006 cmp dx, 000d0h ; 81 fa d0 00 8991 je short 064 76h ; 74 429007 je short 064e0h ; 74 42 8992 9008 cmp dx, 00086h ; 81 fa 86 00 8993 jne near 067 5ch ; 0f 85 20 039009 jne near 067c6h ; 0f 85 20 03 8994 9010 sti ; fb 8995 9011 mov ax, word [bp+01ch] ; 8b 46 1c … … 9010 9026 db 066h, 00bh, 0c9h 9011 9027 ; or ecx, ecx ; 66 0b c9 9012 je near 064 73h ; 0f 84 0e 009028 je near 064ddh ; 0f 84 0e 00 9013 9029 in AL, strict byte 061h ; e4 61 9014 9030 and AL, strict byte 010h ; 24 10 9015 9031 db 03ah, 0c4h 9016 9032 ; cmp al, ah ; 3a c4 9017 je short 064 65h ; 74 f89033 je short 064cfh ; 74 f8 9018 9034 db 08ah, 0e0h 9019 9035 ; mov ah, al ; 8a e0 9020 9036 dec ecx ; 66 49 9021 jne short 064 65h ; 75 f29022 jmp near 067 86h ; e9 10 039037 jne short 064cfh ; 75 f2 9038 jmp near 067f0h ; e9 10 03 9023 9039 cmp ax, strict word 0004fh ; 3d 4f 00 9024 jne near 067 5ch ; 0f 85 df 029040 jne near 067c6h ; 0f 85 df 02 9025 9041 cmp word [bp+016h], 05052h ; 81 7e 16 52 50 9026 jne near 067 5ch ; 0f 85 d6 029042 jne near 067c6h ; 0f 85 d6 02 9027 9043 cmp word [bp+014h], 04f43h ; 81 7e 14 43 4f 9028 jne near 067 5ch ; 0f 85 cd 029044 jne near 067c6h ; 0f 85 cd 02 9029 9045 cmp word [bp+01eh], 04d4fh ; 81 7e 1e 4f 4d 9030 jne near 067 5ch ; 0f 85 c4 029046 jne near 067c6h ; 0f 85 c4 02 9031 9047 cmp word [bp+01ch], 04445h ; 81 7e 1c 45 44 9032 jne near 067 5ch ; 0f 85 bb 029048 jne near 067c6h ; 0f 85 bb 02 9033 9049 mov ax, word [bp+00ah] ; 8b 46 0a 9034 9050 or ax, word [bp+008h] ; 0b 46 08 9035 jne near 067 5ch ; 0f 85 b1 029051 jne near 067c6h ; 0f 85 b1 02 9036 9052 mov ax, word [bp+006h] ; 8b 46 06 9037 9053 or ax, word [bp+004h] ; 0b 46 04 9038 jne near 067 5ch ; 0f 85 a7 029054 jne near 067c6h ; 0f 85 a7 02 9039 9055 mov word [bp+028h], bx ; 89 5e 28 9040 9056 mov ax, word [bp+014h] ; 8b 46 14 … … 9047 9063 mov word [bp+006h], ax ; 89 46 06 9048 9064 mov dword [bp+020h], strict dword 049413332h ; 66 c7 46 20 32 33 41 49 9049 jmp near 067 86h ; e9 ab 029065 jmp near 067f0h ; e9 ab 02 9050 9066 cmp ax, strict word 00020h ; 3d 20 00 9051 je short 06 4eah ; 74 0a9067 je short 06554h ; 74 0a 9052 9068 cmp ax, strict word 00001h ; 3d 01 00 9053 je near 067 11h ; 0f 84 2a 029054 jmp near 067 5ch ; e9 72 029069 je near 0677bh ; 0f 84 2a 02 9070 jmp near 067c6h ; e9 72 02 9055 9071 cmp word [bp+01ah], 0534dh ; 81 7e 1a 4d 53 9056 jne near 067 5ch ; 0f 85 69 029072 jne near 067c6h ; 0f 85 69 02 9057 9073 cmp word [bp+018h], 04150h ; 81 7e 18 50 41 9058 jne near 067 5ch ; 0f 85 60 029074 jne near 067c6h ; 0f 85 60 02 9059 9075 mov ax, strict word 00035h ; b8 35 00 9060 call 016ach ; e8 aab19076 call 016ach ; e8 40 b1 9061 9077 movzx bx, al ; 0f b6 d8 9062 9078 xor dx, dx ; 31 d2 … … 9064 9080 sal bx, 1 ; d1 e3 9065 9081 rcl dx, 1 ; d1 d2 9066 loop 065 0ah ; e2 fa9082 loop 06574h ; e2 fa 9067 9083 mov ax, strict word 00034h ; b8 34 00 9068 call 016ach ; e8 96b19084 call 016ach ; e8 2c b1 9069 9085 xor ah, ah ; 30 e4 9070 9086 mov dx, bx ; 89 da … … 9074 9090 adc dx, 00100h ; 81 d2 00 01 9075 9091 cmp dx, 00100h ; 81 fa 00 01 9076 jc short 065 30h ; 72 069077 jne short 065 5dh ; 75 319092 jc short 0659ah ; 72 06 9093 jne short 065c7h ; 75 31 9078 9094 test bx, bx ; 85 db 9079 jnbe short 065 5dh ; 77 2d9095 jnbe short 065c7h ; 77 2d 9080 9096 mov ax, strict word 00031h ; b8 31 00 9081 call 016ach ; e8 76b19097 call 016ach ; e8 0c b1 9082 9098 movzx bx, al ; 0f b6 d8 9083 9099 xor dx, dx ; 31 d2 … … 9085 9101 sal bx, 1 ; d1 e3 9086 9102 rcl dx, 1 ; d1 d2 9087 loop 065 3eh ; e2 fa9103 loop 065a8h ; e2 fa 9088 9104 mov ax, strict word 00030h ; b8 30 00 9089 call 016ach ; e8 62 b19105 call 016ach ; e8 f8 b0 9090 9106 xor ah, ah ; 30 e4 9091 9107 or bx, ax ; 09 c3 … … 9093 9109 sal bx, 1 ; d1 e3 9094 9110 rcl dx, 1 ; d1 d2 9095 loop 065 51h ; e2 fa9111 loop 065bbh ; e2 fa 9096 9112 add bx, strict byte 00000h ; 83 c3 00 9097 9113 adc dx, strict byte 00010h ; 83 d2 10 9098 9114 mov ax, strict word 00062h ; b8 62 00 9099 call 016ach ; e8 49 b19115 call 016ach ; e8 df b0 9100 9116 xor ah, ah ; 30 e4 9101 9117 mov word [bp-00ah], ax ; 89 46 f6 … … 9105 9121 sal word [bp-00ah], 1 ; d1 66 f6 9106 9122 rcl word [bp-008h], 1 ; d1 56 f8 9107 loop 065 70h ; e2 f89123 loop 065dah ; e2 f8 9108 9124 mov ax, strict word 00061h ; b8 61 00 9109 call 016ach ; e8 2e b19125 call 016ach ; e8 c4 b0 9110 9126 xor ah, ah ; 30 e4 9111 9127 or word [bp-00ah], ax ; 09 46 f6 … … 9114 9130 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 9115 9131 mov ax, strict word 00063h ; b8 63 00 9116 call 016ach ; e8 18 b19132 call 016ach ; e8 ae b0 9117 9133 mov byte [bp-004h], al ; 88 46 fc 9118 9134 mov byte [bp-006h], al ; 88 46 fa 9119 9135 mov ax, word [bp+014h] ; 8b 46 14 9120 9136 cmp ax, strict word 00007h ; 3d 07 00 9121 jnbe near 067 5ch ; 0f 87 b8 019137 jnbe near 067c6h ; 0f 87 b8 01 9122 9138 mov si, ax ; 89 c6 9123 9139 add si, ax ; 01 c6 … … 9126 9142 mov ax, dx ; 89 d0 9127 9143 adc ax, strict word 0ffffh ; 15 ff ff 9128 jmp word [cs:si+06 3feh] ; 2e ff a4 fe 639144 jmp word [cs:si+06468h] ; 2e ff a4 68 64 9129 9145 push strict byte 00001h ; 6a 01 9130 9146 push dword 000000000h ; 66 6a 00 … … 9135 9151 xor bx, bx ; 31 db 9136 9152 xor cx, cx ; 31 c9 9137 call 05 eb5h ; e8 e7 f89153 call 05f1fh ; e8 e7 f8 9138 9154 mov dword [bp+014h], strict dword 000000001h ; 66 c7 46 14 01 00 00 00 9139 jmp near 06 6fbh ; e9 22 019155 jmp near 06765h ; e9 22 01 9140 9156 push strict byte 00002h ; 6a 02 9141 9157 push dword 000000000h ; 66 6a 00 … … 9146 9162 mov bx, 0fc00h ; bb 00 fc 9147 9163 mov cx, strict word 00009h ; b9 09 00 9148 call 05 eb5h ; e8 c4 f89164 call 05f1fh ; e8 c4 f8 9149 9165 mov dword [bp+014h], strict dword 000000002h ; 66 c7 46 14 02 00 00 00 9150 jmp near 06 6fbh ; e9 ff 009166 jmp near 06765h ; e9 ff 00 9151 9167 push strict byte 00002h ; 6a 02 9152 9168 push dword 000000000h ; 66 6a 00 … … 9157 9173 xor bx, bx ; 31 db 9158 9174 mov cx, strict word 0000fh ; b9 0f 00 9159 call 05 eb5h ; e8 a2 f89175 call 05f1fh ; e8 a2 f8 9160 9176 mov dword [bp+014h], strict dword 000000003h ; 66 c7 46 14 03 00 00 00 9161 jmp near 06 6fbh ; e9 dd 009177 jmp near 06765h ; e9 dd 00 9162 9178 push strict byte 00001h ; 6a 01 9163 9179 push dword 000000000h ; 66 6a 00 … … 9168 9184 xor bx, bx ; 31 db 9169 9185 mov cx, strict word 00010h ; b9 10 00 9170 call 05 eb5h ; e8 82 f89186 call 05f1fh ; e8 82 f8 9171 9187 mov dword [bp+014h], strict dword 000000004h ; 66 c7 46 14 04 00 00 00 9172 jmp near 06 6fbh ; e9 bd 009188 jmp near 06765h ; e9 bd 00 9173 9189 push strict byte 00003h ; 6a 03 9174 9190 push dword 000000000h ; 66 6a 00 … … 9180 9196 mov cx, ax ; 89 c1 9181 9197 mov ax, si ; 89 f0 9182 call 05 eb5h ; e8 61 f89198 call 05f1fh ; e8 61 f8 9183 9199 mov dword [bp+014h], strict dword 000000005h ; 66 c7 46 14 05 00 00 00 9184 jmp near 06 6fbh ; e9 9c 009200 jmp near 06765h ; e9 9c 00 9185 9201 push strict byte 00002h ; 6a 02 9186 9202 push dword 000000000h ; 66 6a 00 … … 9190 9206 xor bx, bx ; 31 db 9191 9207 mov cx, strict word 0fffch ; b9 fc ff 9192 call 05 eb5h ; e8 40 f89208 call 05f1fh ; e8 40 f8 9193 9209 cmp byte [bp-004h], 000h ; 80 7e fc 00 9194 jne short 066 82h ; 75 079210 jne short 066ech ; 75 07 9195 9211 mov ax, word [bp-008h] ; 8b 46 f8 9196 9212 test ax, ax ; 85 c0 9197 je short 06 696h ; 74 149213 je short 06700h ; 74 14 9198 9214 mov dword [bp+014h], strict dword 000000007h ; 66 c7 46 14 07 00 00 00 9199 jmp short 06 6fbh ; eb 6f9215 jmp short 06765h ; eb 6f 9200 9216 mov dword [bp+014h], strict dword 000000006h ; 66 c7 46 14 06 00 00 00 9201 jmp short 06 6fbh ; eb 659217 jmp short 06765h ; eb 65 9202 9218 mov word [bp+014h], ax ; 89 46 14 9203 9219 mov word [bp+016h], ax ; 89 46 16 9204 jmp short 06 6fbh ; eb 5d9220 jmp short 06765h ; eb 5d 9205 9221 push strict byte 00002h ; 6a 02 9206 9222 push dword 000000000h ; 66 6a 00 … … 9210 9226 xor bx, bx ; 31 db 9211 9227 xor cx, cx ; 31 c9 9212 call 05 eb5h ; e8 02 f89228 call 05f1fh ; e8 02 f8 9213 9229 cmp byte [bp-004h], 000h ; 80 7e fc 00 9214 jne short 06 6c0h ; 75 079230 jne short 0672ah ; 75 07 9215 9231 mov ax, word [bp-008h] ; 8b 46 f8 9216 9232 test ax, ax ; 85 c0 9217 je short 06 6c2h ; 74 029218 jmp short 066 82h ; eb c09233 je short 0672ch ; 74 02 9234 jmp short 066ech ; eb c0 9219 9235 mov word [bp+014h], ax ; 89 46 14 9220 9236 mov word [bp+016h], ax ; 89 46 16 9221 jmp short 06 6fbh ; eb 319237 jmp short 06765h ; eb 31 9222 9238 cmp byte [bp-004h], 000h ; 80 7e fc 00 9223 jne short 06 6d6h ; 75 069239 jne short 06740h ; 75 06 9224 9240 cmp word [bp-008h], strict byte 00000h ; 83 7e f8 00 9225 je short 06 6fbh ; 74 259241 je short 06765h ; 74 25 9226 9242 push strict byte 00001h ; 6a 01 9227 9243 mov al, byte [bp-006h] ; 8a 46 fa … … 9236 9252 xor bx, bx ; 31 db 9237 9253 xor cx, cx ; 31 c9 9238 call 05 eb5h ; e8 c2 f79254 call 05f1fh ; e8 c2 f7 9239 9255 xor ax, ax ; 31 c0 9240 9256 mov word [bp+014h], ax ; 89 46 14 … … 9243 9259 mov dword [bp+01ch], strict dword 000000014h ; 66 c7 46 1c 14 00 00 00 9244 9260 and byte [bp+028h], 0feh ; 80 66 28 fe 9245 jmp short 067 86h ; eb 759261 jmp short 067f0h ; eb 75 9246 9262 mov word [bp+028h], bx ; 89 5e 28 9247 9263 mov ax, strict word 00031h ; b8 31 00 9248 call 016ach ; e8 92af9264 call 016ach ; e8 28 af 9249 9265 movzx dx, al ; 0f b6 d0 9250 9266 sal dx, 008h ; c1 e2 08 9251 9267 mov ax, strict word 00030h ; b8 30 00 9252 call 016ach ; e8 86af9268 call 016ach ; e8 1c af 9253 9269 xor ah, ah ; 30 e4 9254 9270 or dx, ax ; 09 c2 9255 9271 mov word [bp+01ch], dx ; 89 56 1c 9256 9272 cmp dx, 03c00h ; 81 fa 00 3c 9257 jbe short 067 38h ; 76 059273 jbe short 067a2h ; 76 05 9258 9274 mov word [bp+01ch], 03c00h ; c7 46 1c 00 3c 9259 9275 mov ax, strict word 00035h ; b8 35 00 9260 call 016ach ; e8 6eaf9276 call 016ach ; e8 04 af 9261 9277 movzx dx, al ; 0f b6 d0 9262 9278 sal dx, 008h ; c1 e2 08 9263 9279 mov ax, strict word 00034h ; b8 34 00 9264 call 016ach ; e8 62 af9280 call 016ach ; e8 f8 ae 9265 9281 xor ah, ah ; 30 e4 9266 9282 or dx, ax ; 09 c2 … … 9269 9285 mov word [bp+020h], ax ; 89 46 20 9270 9286 mov word [bp+014h], dx ; 89 56 14 9271 jmp short 067 86h ; eb 2a9272 mov bx, 00d 8ah ; bb 8a0d9287 jmp short 067f0h ; eb 2a 9288 mov bx, 00da2h ; bb a2 0d 9273 9289 mov cx, ds ; 8c d9 9274 9290 mov ax, strict word 00004h ; b8 04 00 9275 call 01931h ; e8 cab19291 call 01931h ; e8 60 b1 9276 9292 push word [bp+014h] ; ff 76 14 9277 9293 push word [bp+020h] ; ff 76 20 9278 9294 push 008bch ; 68 bc 08 9279 9295 push strict byte 00004h ; 6a 04 9280 call 01972h ; e8 fdb19296 call 01972h ; e8 93 b1 9281 9297 add sp, strict byte 00008h ; 83 c4 08 9282 9298 or byte [bp+028h], 001h ; 80 4e 28 01 … … 9289 9305 pop bp ; 5d 9290 9306 retn ; c3 9291 _inv_op_handler: ; 0xf67 8cLB 0x1959307 _inv_op_handler: ; 0xf67f6 LB 0x195 9292 9308 push bp ; 55 9293 9309 mov bp, sp ; 89 e5 … … 9298 9314 les bx, [bp+018h] ; c4 5e 18 9299 9315 cmp byte [es:bx], 0f0h ; 26 80 3f f0 9300 jne short 06 7a2h ; 75 069316 jne short 0680ch ; 75 06 9301 9317 inc word [bp+018h] ; ff 46 18 9302 jmp near 069 1ah ; e9 78 019318 jmp near 06984h ; e9 78 01 9303 9319 cmp word [es:bx], 0050fh ; 26 81 3f 0f 05 9304 jne near 069 16h ; 0f 85 6b 019320 jne near 06980h ; 0f 85 6b 01 9305 9321 mov si, 00800h ; be 00 08 9306 9322 xor ax, ax ; 31 c0 … … 9330 9346 sal ax, 1 ; d1 e0 9331 9347 rcl dx, 1 ; d1 d2 9332 loop 06 7fbh ; e2 fa9348 loop 06865h ; e2 fa 9333 9349 cmp bx, dx ; 39 d3 9334 jne short 068 09h ; 75 049350 jne short 06873h ; 75 04 9335 9351 cmp di, ax ; 39 c7 9336 je short 068 0eh ; 74 059352 je short 06878h ; 74 05 9337 9353 mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 9338 9354 mov es, [bp-006h] ; 8e 46 fa … … 9344 9360 sal ax, 1 ; d1 e0 9345 9361 rcl dx, 1 ; d1 d2 9346 loop 068 23h ; e2 fa9362 loop 0688dh ; e2 fa 9347 9363 cmp di, dx ; 39 d7 9348 jne short 068 31h ; 75 049364 jne short 0689bh ; 75 04 9349 9365 cmp bx, ax ; 39 c3 9350 je short 068 35h ; 74 049366 je short 0689fh ; 74 04 9351 9367 or byte [bp-008h], 002h ; 80 4e f8 02 9352 9368 push strict byte 00000h ; 6a 00 … … 9398 9414 mov ax, strict word 00008h ; b8 08 00 9399 9415 test cx, strict word 00001h ; f7 c1 01 00 9400 je near 06 8d3h ; 0f 84 02 009416 je near 0693dh ; 0f 84 02 00 9401 9417 mov es, ax ; 8e c0 9402 9418 test cx, strict word 00002h ; f7 c1 02 00 9403 je near 06 8fbh ; 0f 84 20 009419 je near 06965h ; 0f 84 20 00 9404 9420 mov bx, word [word ss:00000h] ; 36 8b 1e 00 00 9405 9421 mov word [word ss:00008h], bx ; 36 89 1e 08 00 … … 9418 9434 mov ss, [word ss:00020h] ; 36 8e 16 20 00 9419 9435 iret ; cf 9420 jmp short 069 1ah ; eb 049436 jmp short 06984h ; eb 04 9421 9437 sti ; fb 9422 9438 hlt ; f4 9423 jmp short 069 17h ; eb fd9439 jmp short 06981h ; eb fd 9424 9440 lea sp, [bp-004h] ; 8d 66 fc 9425 9441 pop di ; 5f … … 9427 9443 pop bp ; 5d 9428 9444 retn ; c3 9429 init_rtc_: ; 0xf69 21LB 0x289445 init_rtc_: ; 0xf698b LB 0x28 9430 9446 push bp ; 55 9431 9447 mov bp, sp ; 89 e5 … … 9433 9449 mov dx, strict word 00026h ; ba 26 00 9434 9450 mov ax, strict word 0000ah ; b8 0a 00 9435 call 016c9h ; e8 9bad9451 call 016c9h ; e8 31 ad 9436 9452 mov dx, strict word 00002h ; ba 02 00 9437 9453 mov ax, strict word 0000bh ; b8 0b 00 9438 call 016c9h ; e8 92ad9454 call 016c9h ; e8 28 ad 9439 9455 mov ax, strict word 0000ch ; b8 0c 00 9440 call 016ach ; e8 6fad9456 call 016ach ; e8 05 ad 9441 9457 mov ax, strict word 0000dh ; b8 0d 00 9442 call 016ach ; e8 69 ad9458 call 016ach ; e8 ff ac 9443 9459 lea sp, [bp-002h] ; 8d 66 fe 9444 9460 pop dx ; 5a 9445 9461 pop bp ; 5d 9446 9462 retn ; c3 9447 rtc_updating_: ; 0xf69 49LB 0x219463 rtc_updating_: ; 0xf69b3 LB 0x21 9448 9464 push bp ; 55 9449 9465 mov bp, sp ; 89 e5 … … 9451 9467 mov dx, 061a8h ; ba a8 61 9452 9468 dec dx ; 4a 9453 je short 069 61h ; 74 0e9469 je short 069cbh ; 74 0e 9454 9470 mov ax, strict word 0000ah ; b8 0a 00 9455 call 016ach ; e8 53 ad9471 call 016ach ; e8 e9 ac 9456 9472 test AL, strict byte 080h ; a8 80 9457 jne short 069 50h ; 75 f39473 jne short 069bah ; 75 f3 9458 9474 xor ax, ax ; 31 c0 9459 jmp short 069 64h ; eb 039475 jmp short 069ceh ; eb 03 9460 9476 mov ax, strict word 00001h ; b8 01 00 9461 9477 lea sp, [bp-002h] ; 8d 66 fe … … 9463 9479 pop bp ; 5d 9464 9480 retn ; c3 9465 _int70_function: ; 0xf69 6aLB 0xbe9481 _int70_function: ; 0xf69d4 LB 0xbe 9466 9482 push bp ; 55 9467 9483 mov bp, sp ; 89 e5 … … 9469 9485 push ax ; 50 9470 9486 mov ax, strict word 0000bh ; b8 0b 00 9471 call 016ach ; e8 37 ad9487 call 016ach ; e8 cd ac 9472 9488 mov dl, al ; 88 c2 9473 9489 mov byte [bp-004h], al ; 88 46 fc 9474 9490 mov ax, strict word 0000ch ; b8 0c 00 9475 call 016ach ; e8 2c ad9491 call 016ach ; e8 c2 ac 9476 9492 mov dh, al ; 88 c6 9477 9493 test dl, 060h ; f6 c2 60 9478 je near 06a 0fh ; 0f 84 86 009494 je near 06a79h ; 0f 84 86 00 9479 9495 test AL, strict byte 020h ; a8 20 9480 je short 069 91h ; 74 049496 je short 069fbh ; 74 04 9481 9497 sti ; fb 9482 9498 int 04ah ; cd 4a 9483 9499 cli ; fa 9484 9500 test dh, 040h ; f6 c6 40 9485 je near 06a 0fh ; 0f 84 77 009501 je near 06a79h ; 0f 84 77 00 9486 9502 mov dx, 000a0h ; ba a0 00 9487 9503 mov ax, strict word 00040h ; b8 40 00 9488 call 01650h ; e8 afac9504 call 01650h ; e8 45 ac 9489 9505 test al, al ; 84 c0 9490 je short 06a 0fh ; 74 6a9506 je short 06a79h ; 74 6a 9491 9507 mov dx, 0009ch ; ba 9c 00 9492 9508 mov ax, strict word 00040h ; b8 40 00 9493 call 01688h ; e8 daac9509 call 01688h ; e8 70 ac 9494 9510 test dx, dx ; 85 d2 9495 jne short 06 9fbh ; 75 499511 jne short 06a65h ; 75 49 9496 9512 cmp ax, 003d1h ; 3d d1 03 9497 jnc short 06 9fbh ; 73 449513 jnc short 06a65h ; 73 44 9498 9514 mov dx, 00098h ; ba 98 00 9499 9515 mov ax, strict word 00040h ; b8 40 00 9500 call 0166ch ; e8 acac9516 call 0166ch ; e8 42 ac 9501 9517 mov si, ax ; 89 c6 9502 9518 mov dx, 0009ah ; ba 9a 00 9503 9519 mov ax, strict word 00040h ; b8 40 00 9504 call 0166ch ; e8 a1ac9520 call 0166ch ; e8 37 ac 9505 9521 mov cx, ax ; 89 c1 9506 9522 xor bx, bx ; 31 db 9507 9523 mov dx, 000a0h ; ba a0 00 9508 9524 mov ax, strict word 00040h ; b8 40 00 9509 call 0165eh ; e8 86ac9525 call 0165eh ; e8 1c ac 9510 9526 mov al, byte [bp-004h] ; 8a 46 fc 9511 9527 and AL, strict byte 037h ; 24 37 9512 9528 movzx dx, al ; 0f b6 d0 9513 9529 mov ax, strict word 0000bh ; b8 0b 00 9514 call 016c9h ; e8 e3ac9530 call 016c9h ; e8 79 ac 9515 9531 mov dx, cx ; 89 ca 9516 9532 mov ax, si ; 89 f0 9517 call 01650h ; e8 63 ac9533 call 01650h ; e8 f9 ab 9518 9534 or AL, strict byte 080h ; 0c 80 9519 9535 movzx bx, al ; 0f b6 d8 9520 9536 mov dx, cx ; 89 ca 9521 9537 mov ax, si ; 89 f0 9522 call 0165eh ; e8 65 ac9523 jmp short 06a 0fh ; eb 149538 call 0165eh ; e8 fb ab 9539 jmp short 06a79h ; eb 14 9524 9540 mov bx, ax ; 89 c3 9525 9541 add bx, 0fc2fh ; 81 c3 2f fc … … 9528 9544 mov dx, 0009ch ; ba 9c 00 9529 9545 mov ax, strict word 00040h ; b8 40 00 9530 call 0169ah ; e8 8bac9531 call 0e03 bh ; e8 29 769546 call 0169ah ; e8 21 ac 9547 call 0e030h ; e8 b4 75 9532 9548 lea sp, [bp-002h] ; 8d 66 fe 9533 9549 pop si ; 5e 9534 9550 pop bp ; 5d 9535 9551 retn ; c3 9536 aas ; 3f9537 push strict byte 0 0068h ; 6a 689538 push strict byte 0 ff8dh ; 6a 8d9539 push strict byte 0ffbfh ; 6a bf9540 push strict byte 0000eh ; 6a 0e9541 imul ax, word [bp+06bh], strict byte 0ff89h ; 6b 46 6b 899542 i mul sp, ax, strict byte 0006bh ; 6b e0 6b9543 _int1a_function: ; 0xf6a 28LB 0x1c89552 test ax, 0d26ah ; a9 6a d2 9553 push strict byte 0fff7h ; 6a f7 9554 push strict byte 00029h ; 6a 29 9555 imul di, word [bx+si+06bh], strict byte 0ffb0h ; 6b 78 6b b0 9556 imul si, bx, strict byte 0006bh ; 6b f3 6b 9557 dec dx ; 4a 9558 insb ; 6c 9559 _int1a_function: ; 0xf6a92 LB 0x1c8 9544 9560 push bp ; 55 9545 9561 mov bp, sp ; 89 e5 … … 9547 9563 mov al, byte [bp+013h] ; 8a 46 13 9548 9564 cmp AL, strict byte 007h ; 3c 07 9549 jnbe near 06a 64h ; 0f 87 2f 009565 jnbe near 06aceh ; 0f 87 2f 00 9550 9566 movzx bx, al ; 0f b6 d8 9551 9567 add bx, bx ; 01 db 9552 jmp word [cs:bx+06a 18h] ; 2e ff a7 186a9568 jmp word [cs:bx+06a82h] ; 2e ff a7 82 6a 9553 9569 cli ; fa 9554 9570 mov bx, 0046eh ; bb 6e 04 … … 9581 9597 sti ; fb 9582 9598 mov byte [bp+013h], 000h ; c6 46 13 00 9583 jmp short 06a 64h ; eb d79584 call 069 49h ; e8 b9 fe9599 jmp short 06aceh ; eb d7 9600 call 069b3h ; e8 b9 fe 9585 9601 test ax, ax ; 85 c0 9586 je short 06 a96h ; 74 029587 jmp short 06a 64h ; eb ce9602 je short 06b00h ; 74 02 9603 jmp short 06aceh ; eb ce 9588 9604 xor ax, ax ; 31 c0 9589 call 016ach ; e8 11 ac9605 call 016ach ; e8 a7 ab 9590 9606 mov byte [bp+00fh], al ; 88 46 0f 9591 9607 mov ax, strict word 00002h ; b8 02 00 9592 call 016ach ; e8 08 ac9608 call 016ach ; e8 9e ab 9593 9609 mov byte [bp+010h], al ; 88 46 10 9594 9610 mov ax, strict word 00004h ; b8 04 00 9595 call 016ach ; e8 ffab9611 call 016ach ; e8 95 ab 9596 9612 mov bl, al ; 88 c3 9597 9613 mov byte [bp+011h], al ; 88 46 11 9598 9614 mov ax, strict word 0000bh ; b8 0b 00 9599 call 016ach ; e8 f4ab9615 call 016ach ; e8 8a ab 9600 9616 and AL, strict byte 001h ; 24 01 9601 9617 mov byte [bp+00eh], al ; 88 46 0e 9602 jmp short 06b 04h ; eb 459603 call 069 49h ; e8 87 fe9618 jmp short 06b6eh ; eb 45 9619 call 069b3h ; e8 87 fe 9604 9620 test ax, ax ; 85 c0 9605 je short 06 ac9h ; 74 039606 call 069 21h ; e8 58 fe9621 je short 06b33h ; 74 03 9622 call 0698bh ; e8 58 fe 9607 9623 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 9608 9624 xor ax, ax ; 31 c0 9609 call 016c9h ; e8 f7ab9625 call 016c9h ; e8 8d ab 9610 9626 movzx dx, byte [bp+010h] ; 0f b6 56 10 9611 9627 mov ax, strict word 00002h ; b8 02 00 9612 call 016c9h ; e8 edab9628 call 016c9h ; e8 83 ab 9613 9629 movzx dx, byte [bp+011h] ; 0f b6 56 11 9614 9630 mov ax, strict word 00004h ; b8 04 00 9615 call 016c9h ; e8 e3ab9631 call 016c9h ; e8 79 ab 9616 9632 mov ax, strict word 0000bh ; b8 0b 00 9617 call 016ach ; e8 c0ab9633 call 016ach ; e8 56 ab 9618 9634 mov bl, al ; 88 c3 9619 9635 and bl, 060h ; 80 e3 60 … … 9624 9640 movzx dx, bl ; 0f b6 d3 9625 9641 mov ax, strict word 0000bh ; b8 0b 00 9626 call 016c9h ; e8 c5ab9642 call 016c9h ; e8 5b ab 9627 9643 mov byte [bp+013h], 000h ; c6 46 13 00 9628 9644 mov byte [bp+012h], bl ; 88 5e 12 9629 jmp near 06a 64h ; e9 56 ff9645 jmp near 06aceh ; e9 56 ff 9630 9646 mov byte [bp+013h], 000h ; c6 46 13 00 9631 call 069 49h ; e8 34 fe9647 call 069b3h ; e8 34 fe 9632 9648 test ax, ax ; 85 c0 9633 je short 06b 1ch ; 74 039634 jmp near 06a 64h ; e9 48 ff9649 je short 06b86h ; 74 03 9650 jmp near 06aceh ; e9 48 ff 9635 9651 mov ax, strict word 00009h ; b8 09 00 9636 call 016ach ; e8 8aab9652 call 016ach ; e8 20 ab 9637 9653 mov byte [bp+010h], al ; 88 46 10 9638 9654 mov ax, strict word 00008h ; b8 08 00 9639 call 016ach ; e8 81ab9655 call 016ach ; e8 17 ab 9640 9656 mov byte [bp+00fh], al ; 88 46 0f 9641 9657 mov ax, strict word 00007h ; b8 07 00 9642 call 016ach ; e8 78ab9658 call 016ach ; e8 0e ab 9643 9659 mov byte [bp+00eh], al ; 88 46 0e 9644 9660 mov ax, strict word 00032h ; b8 32 00 9645 call 016ach ; e8 6fab9661 call 016ach ; e8 05 ab 9646 9662 mov byte [bp+011h], al ; 88 46 11 9647 9663 mov byte [bp+012h], al ; 88 46 12 9648 jmp near 06a 64h ; e9 1e ff9649 call 069 49h ; e8 00 fe9664 jmp near 06aceh ; e9 1e ff 9665 call 069b3h ; e8 00 fe 9650 9666 test ax, ax ; 85 c0 9651 je short 06b 53h ; 74 069652 call 069 21h ; e8 d1 fd9653 jmp near 06a 64h ; e9 11 ff9667 je short 06bbdh ; 74 06 9668 call 0698bh ; e8 d1 fd 9669 jmp near 06aceh ; e9 11 ff 9654 9670 movzx dx, byte [bp+010h] ; 0f b6 56 10 9655 9671 mov ax, strict word 00009h ; b8 09 00 9656 call 016c9h ; e8 6cab9672 call 016c9h ; e8 02 ab 9657 9673 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 9658 9674 mov ax, strict word 00008h ; b8 08 00 9659 call 016c9h ; e8 62 ab9675 call 016c9h ; e8 f8 aa 9660 9676 movzx dx, byte [bp+00eh] ; 0f b6 56 0e 9661 9677 mov ax, strict word 00007h ; b8 07 00 9662 call 016c9h ; e8 58 ab9678 call 016c9h ; e8 ee aa 9663 9679 movzx dx, byte [bp+011h] ; 0f b6 56 11 9664 9680 mov ax, strict word 00032h ; b8 32 00 9665 call 016c9h ; e8 4e ab9681 call 016c9h ; e8 e4 aa 9666 9682 mov ax, strict word 0000bh ; b8 0b 00 9667 call 016ach ; e8 2b ab9683 call 016ach ; e8 c1 aa 9668 9684 mov bl, al ; 88 c3 9669 9685 and bl, 07fh ; 80 e3 7f 9670 jmp near 06 afbh ; e9 72 ff9686 jmp near 06b65h ; e9 72 ff 9671 9687 mov ax, strict word 0000bh ; b8 0b 00 9672 call 016ach ; e8 1d ab9688 call 016ach ; e8 b3 aa 9673 9689 mov bl, al ; 88 c3 9674 9690 mov word [bp+012h], strict word 00000h ; c7 46 12 00 00 9675 9691 test AL, strict byte 020h ; a8 20 9676 je short 06 b9dh ; 74 039677 jmp near 06a 64h ; e9 c7 fe9678 call 069 49h ; e8 a9 fd9692 je short 06c07h ; 74 03 9693 jmp near 06aceh ; e9 c7 fe 9694 call 069b3h ; e8 a9 fd 9679 9695 test ax, ax ; 85 c0 9680 je short 06 ba7h ; 74 039681 call 069 21h ; e8 7a fd9696 je short 06c11h ; 74 03 9697 call 0698bh ; e8 7a fd 9682 9698 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 9683 9699 mov ax, strict word 00001h ; b8 01 00 9684 call 016c9h ; e8 18 ab9700 call 016c9h ; e8 ae aa 9685 9701 movzx dx, byte [bp+010h] ; 0f b6 56 10 9686 9702 mov ax, strict word 00003h ; b8 03 00 9687 call 016c9h ; e8 0e ab9703 call 016c9h ; e8 a4 aa 9688 9704 movzx dx, byte [bp+011h] ; 0f b6 56 11 9689 9705 mov ax, strict word 00005h ; b8 05 00 9690 call 016c9h ; e8 04 ab9706 call 016c9h ; e8 9a aa 9691 9707 mov dx, 000a1h ; ba a1 00 9692 9708 in AL, DX ; ec … … 9700 9716 movzx dx, al ; 0f b6 d0 9701 9717 mov ax, strict word 0000bh ; b8 0b 00 9702 call 016c9h ; e8 ecaa9703 jmp near 06a 64h ; e9 84 fe9718 call 016c9h ; e8 82 aa 9719 jmp near 06aceh ; e9 84 fe 9704 9720 mov ax, strict word 0000bh ; b8 0b 00 9705 call 016ach ; e8 c6aa9721 call 016ach ; e8 5c aa 9706 9722 mov bl, al ; 88 c3 9707 9723 and AL, strict byte 057h ; 24 57 9708 9724 movzx dx, al ; 0f b6 d0 9709 jmp near 06 afeh ; e9 0e ff9710 send_to_mouse_ctrl_: ; 0xf6 bf0LB 0x349725 jmp near 06b68h ; e9 0e ff 9726 send_to_mouse_ctrl_: ; 0xf6c5a LB 0x34 9711 9727 push bp ; 55 9712 9728 mov bp, sp ; 89 e5 … … 9719 9735 ; sub ah, ah ; 2a e4 9720 9736 test AL, strict byte 002h ; a8 02 9721 je short 06c 0fh ; 74 0e9737 je short 06c79h ; 74 0e 9722 9738 push 008f6h ; 68 f6 08 9723 push 011 52h ; 68 52119739 push 0116ah ; 68 6a 11 9724 9740 push strict byte 00007h ; 6a 07 9725 call 01972h ; e8 66 ad9741 call 01972h ; e8 fc ac 9726 9742 add sp, strict byte 00006h ; 83 c4 06 9727 9743 mov AL, strict byte 0d4h ; b0 d4 … … 9737 9753 pop bp ; 5d 9738 9754 retn ; c3 9739 get_mouse_data_: ; 0xf6c 24LB 0x3b9755 get_mouse_data_: ; 0xf6c8e LB 0x3b 9740 9756 push bp ; 55 9741 9757 mov bp, sp ; 89 e5 … … 9751 9767 and ax, strict word 00021h ; 25 21 00 9752 9768 cmp ax, strict word 00021h ; 3d 21 00 9753 je short 06c 45h ; 74 079769 je short 06cafh ; 74 07 9754 9770 test cx, cx ; 85 c9 9755 je short 06c 45h ; 74 039771 je short 06cafh ; 74 03 9756 9772 dec cx ; 49 9757 jmp short 06c 30h ; eb eb9773 jmp short 06c9ah ; eb eb 9758 9774 test cx, cx ; 85 c9 9759 jne short 06c 4dh ; 75 049775 jne short 06cb7h ; 75 04 9760 9776 mov AL, strict byte 001h ; b0 01 9761 jmp short 06c 58h ; eb 0b9777 jmp short 06cc2h ; eb 0b 9762 9778 mov dx, strict word 00060h ; ba 60 00 9763 9779 in AL, DX ; ec … … 9771 9787 pop bp ; 5d 9772 9788 retn ; c3 9773 set_kbd_command_byte_: ; 0xf6c 5fLB 0x329789 set_kbd_command_byte_: ; 0xf6cc9 LB 0x32 9774 9790 push bp ; 55 9775 9791 mov bp, sp ; 89 e5 … … 9782 9798 ; sub ah, ah ; 2a e4 9783 9799 test AL, strict byte 002h ; a8 02 9784 je short 06c 7eh ; 74 0e9800 je short 06ce8h ; 74 0e 9785 9801 push 00900h ; 68 00 09 9786 push 011 52h ; 68 52119802 push 0116ah ; 68 6a 11 9787 9803 push strict byte 00007h ; 6a 07 9788 call 01972h ; e8 f7ac9804 call 01972h ; e8 8d ac 9789 9805 add sp, strict byte 00006h ; 83 c4 06 9790 9806 mov AL, strict byte 060h ; b0 60 … … 9799 9815 pop bp ; 5d 9800 9816 retn ; c3 9801 _int74_function: ; 0xf6c 91LB 0xca9817 _int74_function: ; 0xf6cfb LB 0xca 9802 9818 push bp ; 55 9803 9819 mov bp, sp ; 89 e5 … … 9805 9821 mov dx, strict word 0000eh ; ba 0e 00 9806 9822 mov ax, strict word 00040h ; b8 40 00 9807 call 0166ch ; e8 cca99823 call 0166ch ; e8 62 a9 9808 9824 mov cx, ax ; 89 c1 9809 9825 mov word [bp+004h], strict word 00000h ; c7 46 04 00 00 … … 9814 9830 and AL, strict byte 021h ; 24 21 9815 9831 cmp AL, strict byte 021h ; 3c 21 9816 jne near 06d 47h ; 0f 85 92 009832 jne near 06db1h ; 0f 85 92 00 9817 9833 mov dx, strict word 00060h ; ba 60 00 9818 9834 in AL, DX ; ec … … 9822 9838 mov dx, strict word 00026h ; ba 26 00 9823 9839 mov ax, cx ; 89 c8 9824 call 01650h ; e8 8ba99840 call 01650h ; e8 21 a9 9825 9841 mov byte [bp-006h], al ; 88 46 fa 9826 9842 mov dx, strict word 00027h ; ba 27 00 9827 9843 mov ax, cx ; 89 c8 9828 call 01650h ; e8 80a99844 call 01650h ; e8 16 a9 9829 9845 mov byte [bp-008h], al ; 88 46 f8 9830 9846 test AL, strict byte 080h ; a8 80 9831 je short 06d 47h ; 74 709847 je short 06db1h ; 74 70 9832 9848 mov al, byte [bp-008h] ; 8a 46 f8 9833 9849 and AL, strict byte 007h ; 24 07 … … 9840 9856 add dx, strict byte 00028h ; 83 c2 28 9841 9857 mov ax, cx ; 89 c8 9842 call 0165eh ; e8 6aa99858 call 0165eh ; e8 00 a9 9843 9859 mov al, byte [bp-004h] ; 8a 46 fc 9844 9860 cmp al, byte [bp-002h] ; 3a 46 fe 9845 jc short 06d 38h ; 72 3c9861 jc short 06da2h ; 72 3c 9846 9862 mov dx, strict word 00028h ; ba 28 00 9847 9863 mov ax, cx ; 89 c8 9848 call 01650h ; e8 4c a99864 call 01650h ; e8 e2 a8 9849 9865 xor ah, ah ; 30 e4 9850 9866 mov word [bp+00ch], ax ; 89 46 0c 9851 9867 mov dx, strict word 00029h ; ba 29 00 9852 9868 mov ax, cx ; 89 c8 9853 call 01650h ; e8 3f a99869 call 01650h ; e8 d5 a8 9854 9870 xor ah, ah ; 30 e4 9855 9871 mov word [bp+00ah], ax ; 89 46 0a 9856 9872 mov dx, strict word 0002ah ; ba 2a 00 9857 9873 mov ax, cx ; 89 c8 9858 call 01650h ; e8 32 a99874 call 01650h ; e8 c8 a8 9859 9875 xor ah, ah ; 30 e4 9860 9876 mov word [bp+008h], ax ; 89 46 08 … … 9863 9879 mov byte [bp-006h], ah ; 88 66 fa 9864 9880 test byte [bp-008h], 080h ; f6 46 f8 80 9865 je short 06d 3bh ; 74 0a9881 je short 06da5h ; 74 0a 9866 9882 mov word [bp+004h], strict word 00001h ; c7 46 04 01 00 9867 jmp short 06d 3bh ; eb 039883 jmp short 06da5h ; eb 03 9868 9884 inc byte [bp-006h] ; fe 46 fa 9869 9885 movzx bx, byte [bp-006h] ; 0f b6 5e fa 9870 9886 mov dx, strict word 00026h ; ba 26 00 9871 9887 mov ax, cx ; 89 c8 9872 call 0165eh ; e8 17 a99888 call 0165eh ; e8 ad a8 9873 9889 mov sp, bp ; 89 ec 9874 9890 pop bp ; 5d 9875 9891 retn ; c3 9876 lahf ; 9f 9877 insw ; 6d 9878 adc ax, 0986eh ; 15 6e 98 9892 or word [bp+07fh], bp ; 09 6e 7f 9879 9893 outsb ; 6e 9880 sub word [bx-069h], bp ; 29 6f 979894 add ch, byte [bx-06dh] ; 02 6f 93 9881 9895 outsw ; 6f 9882 jmp short 06dc4h ; eb 6d 9883 mov di, 0846fh ; bf 6f 84 9896 add word [bx+si+055h], si ; 01 70 55 9897 outsb ; 6e 9898 sub word [bx+si-012h], si ; 29 70 ee 9884 9899 db 070h 9885 _int15_function_mouse: ; 0xf6d 5bLB 0x38b9900 _int15_function_mouse: ; 0xf6dc5 LB 0x38b 9886 9901 push bp ; 55 9887 9902 mov bp, sp ; 89 e5 … … 9890 9905 mov dx, strict word 0000eh ; ba 0e 00 9891 9906 mov ax, strict word 00040h ; b8 40 00 9892 call 0166ch ; e8 01 a99907 call 0166ch ; e8 97 a8 9893 9908 mov cx, ax ; 89 c1 9894 9909 cmp byte [bp+012h], 007h ; 80 7e 12 07 9895 jbe short 06d 7eh ; 76 0b9910 jbe short 06de8h ; 76 0b 9896 9911 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 9897 9912 mov byte [bp+013h], 001h ; c6 46 13 01 9898 jmp near 07 0e0h ; e9 62 039913 jmp near 0714ah ; e9 62 03 9899 9914 mov ax, strict word 00065h ; b8 65 00 9900 call 06c 5fh ; e8 db fe9915 call 06cc9h ; e8 db fe 9901 9916 and word [bp+018h], strict byte 0fffeh ; 83 66 18 fe 9902 9917 mov byte [bp+013h], 000h ; c6 46 13 00 9903 9918 mov al, byte [bp+012h] ; 8a 46 12 9904 9919 cmp AL, strict byte 007h ; 3c 07 9905 jnbe near 07 0c7h ; 0f 87 32 039920 jnbe near 07131h ; 0f 87 32 03 9906 9921 movzx si, al ; 0f b6 f0 9907 9922 add si, si ; 01 f6 9908 jmp word [cs:si+06d 4bh] ; 2e ff a4 4b6d9923 jmp word [cs:si+06db5h] ; 2e ff a4 b5 6d 9909 9924 cmp byte [bp+00dh], 001h ; 80 7e 0d 01 9910 jnbe near 07 0d2h ; 0f 87 2b 039925 jnbe near 0713ch ; 0f 87 2b 03 9911 9926 mov dx, strict word 00027h ; ba 27 00 9912 9927 mov ax, cx ; 89 c8 9913 call 01650h ; e8 a1a89928 call 01650h ; e8 37 a8 9914 9929 test AL, strict byte 080h ; a8 80 9915 jne short 06 dbeh ; 75 0b9930 jne short 06e28h ; 75 0b 9916 9931 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 9917 9932 mov byte [bp+013h], 005h ; c6 46 13 05 9918 jmp near 07 0dah ; e9 1c 039933 jmp near 07144h ; e9 1c 03 9919 9934 cmp byte [bp+00dh], 000h ; 80 7e 0d 00 9920 9935 db 00fh, 094h, 0c0h … … 9922 9937 add AL, strict byte 0f4h ; 04 f4 9923 9938 xor ah, ah ; 30 e4 9924 call 06 bf0h ; e8 24 fe9939 call 06c5ah ; e8 24 fe 9925 9940 test al, al ; 84 c0 9926 jne near 070 60h ; 0f 85 8e 029941 jne near 070cah ; 0f 85 8e 02 9927 9942 mov dx, ss ; 8c d2 9928 9943 lea ax, [bp-008h] ; 8d 46 f8 9929 call 06c 24h ; e8 4a fe9944 call 06c8eh ; e8 4a fe 9930 9945 test al, al ; 84 c0 9931 je near 07 0dah ; 0f 84 fa 029946 je near 07144h ; 0f 84 fa 02 9932 9947 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 9933 jne near 070 60h ; 0f 85 78 029934 jmp near 07 0dah ; e9 ef 029948 jne near 070cah ; 0f 85 78 02 9949 jmp near 07144h ; e9 ef 02 9935 9950 mov al, byte [bp+00dh] ; 8a 46 0d 9936 9951 cmp AL, strict byte 001h ; 3c 01 9937 jc short 06 df6h ; 72 049952 jc short 06e60h ; 72 04 9938 9953 cmp AL, strict byte 008h ; 3c 08 9939 jbe short 06 df9h ; 76 039940 jmp near 06f 8ch ; e9 93 019954 jbe short 06e63h ; 76 03 9955 jmp near 06ff6h ; e9 93 01 9941 9956 mov dx, strict word 00027h ; ba 27 00 9942 9957 mov ax, cx ; 89 c8 9943 call 01650h ; e8 4f a89958 call 01650h ; e8 e5 a7 9944 9959 mov ah, byte [bp+00dh] ; 8a 66 0d 9945 9960 db 0feh, 0cch … … 9950 9965 mov dx, strict word 00027h ; ba 27 00 9951 9966 mov ax, cx ; 89 c8 9952 call 0165eh ; e8 49 a89967 call 0165eh ; e8 df a7 9953 9968 mov dx, strict word 00026h ; ba 26 00 9954 9969 mov ax, cx ; 89 c8 9955 call 01650h ; e8 33 a89970 call 01650h ; e8 c9 a7 9956 9971 and AL, strict byte 0f8h ; 24 f8 9957 9972 movzx bx, al ; 0f b6 d8 9958 9973 mov dx, strict word 00026h ; ba 26 00 9959 9974 mov ax, cx ; 89 c8 9960 call 0165eh ; e8 34 a89975 call 0165eh ; e8 ca a7 9961 9976 mov ax, 000ffh ; b8 ff 00 9962 call 06 bf0h ; e8 c0 fd9977 call 06c5ah ; e8 c0 fd 9963 9978 test al, al ; 84 c0 9964 jne near 070 60h ; 0f 85 2a 029979 jne near 070cah ; 0f 85 2a 02 9965 9980 mov dx, ss ; 8c d2 9966 9981 lea ax, [bp-004h] ; 8d 46 fc 9967 call 06c 24h ; e8 e6 fd9982 call 06c8eh ; e8 e6 fd 9968 9983 mov cl, al ; 88 c1 9969 9984 cmp byte [bp-004h], 0feh ; 80 7e fc fe 9970 jne short 06e 51h ; 75 0b9985 jne short 06ebbh ; 75 0b 9971 9986 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 9972 9987 mov byte [bp+013h], 004h ; c6 46 13 04 9973 jmp near 07 0dah ; e9 89 029988 jmp near 07144h ; e9 89 02 9974 9989 cmp byte [bp-004h], 0fah ; 80 7e fc fa 9975 je short 06e 67h ; 74 109990 je short 06ed1h ; 74 10 9976 9991 movzx ax, byte [bp-004h] ; 0f b6 46 fc 9977 9992 push ax ; 50 9978 9993 push 0090bh ; 68 0b 09 9979 9994 push strict byte 00007h ; 6a 07 9980 call 01972h ; e8 0e ab9995 call 01972h ; e8 a4 aa 9981 9996 add sp, strict byte 00006h ; 83 c4 06 9982 9997 test cl, cl ; 84 c9 9983 jne near 070 60h ; 0f 85 f3 019998 jne near 070cah ; 0f 85 f3 01 9984 9999 mov dx, ss ; 8c d2 9985 10000 lea ax, [bp-008h] ; 8d 46 f8 9986 call 06c 24h ; e8 af fd10001 call 06c8eh ; e8 af fd 9987 10002 test al, al ; 84 c0 9988 jne near 070 60h ; 0f 85 e5 0110003 jne near 070cah ; 0f 85 e5 01 9989 10004 mov dx, ss ; 8c d2 9990 10005 lea ax, [bp-006h] ; 8d 46 fa 9991 call 06c 24h ; e8 a1 fd10006 call 06c8eh ; e8 a1 fd 9992 10007 test al, al ; 84 c0 9993 jne near 070 60h ; 0f 85 d7 0110008 jne near 070cah ; 0f 85 d7 01 9994 10009 mov al, byte [bp-008h] ; 8a 46 f8 9995 10010 mov byte [bp+00ch], al ; 88 46 0c 9996 10011 mov al, byte [bp-006h] ; 8a 46 fa 9997 10012 mov byte [bp+00dh], al ; 88 46 0d 9998 jmp near 07 0dah ; e9 42 0210013 jmp near 07144h ; e9 42 02 9999 10014 mov al, byte [bp+00dh] ; 8a 46 0d 10000 10015 cmp AL, strict byte 003h ; 3c 03 10001 jc short 06 eafh ; 72 1010002 jbe short 06 ecdh ; 76 2c10016 jc short 06f19h ; 72 10 10017 jbe short 06f37h ; 76 2c 10003 10018 cmp AL, strict byte 006h ; 3c 06 10004 je short 06 edfh ; 74 3a10019 je short 06f49h ; 74 3a 10005 10020 cmp AL, strict byte 005h ; 3c 05 10006 je short 06 ed9h ; 74 3010021 je short 06f43h ; 74 30 10007 10022 cmp AL, strict byte 004h ; 3c 04 10008 je short 06 ed3h ; 74 2610009 jmp short 06 ee5h ; eb 3610023 je short 06f3dh ; 74 26 10024 jmp short 06f4fh ; eb 36 10010 10025 cmp AL, strict byte 002h ; 3c 02 10011 je short 06 ec7h ; 74 1410026 je short 06f31h ; 74 14 10012 10027 cmp AL, strict byte 001h ; 3c 01 10013 je short 06 ec1h ; 74 0a10028 je short 06f2bh ; 74 0a 10014 10029 test al, al ; 84 c0 10015 jne short 06 ee5h ; 75 2a10030 jne short 06f4fh ; 75 2a 10016 10031 mov byte [bp-008h], 00ah ; c6 46 f8 0a 10017 jmp short 06 ee9h ; eb 2810032 jmp short 06f53h ; eb 28 10018 10033 mov byte [bp-008h], 014h ; c6 46 f8 14 10019 jmp short 06 ee9h ; eb 2210034 jmp short 06f53h ; eb 22 10020 10035 mov byte [bp-008h], 028h ; c6 46 f8 28 10021 jmp short 06 ee9h ; eb 1c10036 jmp short 06f53h ; eb 1c 10022 10037 mov byte [bp-008h], 03ch ; c6 46 f8 3c 10023 jmp short 06 ee9h ; eb 1610038 jmp short 06f53h ; eb 16 10024 10039 mov byte [bp-008h], 050h ; c6 46 f8 50 10025 jmp short 06 ee9h ; eb 1010040 jmp short 06f53h ; eb 10 10026 10041 mov byte [bp-008h], 064h ; c6 46 f8 64 10027 jmp short 06 ee9h ; eb 0a10042 jmp short 06f53h ; eb 0a 10028 10043 mov byte [bp-008h], 0c8h ; c6 46 f8 c8 10029 jmp short 06 ee9h ; eb 0410044 jmp short 06f53h ; eb 04 10030 10045 mov byte [bp-008h], 000h ; c6 46 f8 00 10031 10046 cmp byte [bp-008h], 000h ; 80 7e f8 00 10032 jbe short 06f 1eh ; 76 2f10047 jbe short 06f88h ; 76 2f 10033 10048 mov ax, 000f3h ; b8 f3 00 10034 call 06 bf0h ; e8 fb fc10049 call 06c5ah ; e8 fb fc 10035 10050 test al, al ; 84 c0 10036 jne short 06f 13h ; 75 1a10051 jne short 06f7dh ; 75 1a 10037 10052 mov dx, ss ; 8c d2 10038 10053 lea ax, [bp-006h] ; 8d 46 fa 10039 call 06c 24h ; e8 23 fd10054 call 06c8eh ; e8 23 fd 10040 10055 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10041 call 06 bf0h ; e8 e8 fc10056 call 06c5ah ; e8 e8 fc 10042 10057 mov dx, ss ; 8c d2 10043 10058 lea ax, [bp-006h] ; 8d 46 fa 10044 call 06c 24h ; e8 14 fd10045 jmp near 07 0dah ; e9 c7 0110059 call 06c8eh ; e8 14 fd 10060 jmp near 07144h ; e9 c7 01 10046 10061 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10047 10062 mov byte [bp+013h], 003h ; c6 46 13 03 10048 jmp near 07 0dah ; e9 bc 0110063 jmp near 07144h ; e9 bc 01 10049 10064 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10050 10065 mov byte [bp+013h], 002h ; c6 46 13 02 10051 jmp near 07 0dah ; e9 b1 0110066 jmp near 07144h ; e9 b1 01 10052 10067 cmp byte [bp+00dh], 004h ; 80 7e 0d 04 10053 jnc short 06f 8ch ; 73 5d10068 jnc short 06ff6h ; 73 5d 10054 10069 mov ax, 000e8h ; b8 e8 00 10055 call 06 bf0h ; e8 bb fc10070 call 06c5ah ; e8 bb fc 10056 10071 test al, al ; 84 c0 10057 jne short 06f 81h ; 75 4810072 jne short 06febh ; 75 48 10058 10073 mov dx, ss ; 8c d2 10059 10074 lea ax, [bp-008h] ; 8d 46 f8 10060 call 06c 24h ; e8 e3 fc10075 call 06c8eh ; e8 e3 fc 10061 10076 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10062 je short 06f 57h ; 74 1010077 je short 06fc1h ; 74 10 10063 10078 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10064 10079 push ax ; 50 10065 10080 push 00936h ; 68 36 09 10066 10081 push strict byte 00007h ; 6a 07 10067 call 01972h ; e8 1e aa10082 call 01972h ; e8 b4 a9 10068 10083 add sp, strict byte 00006h ; 83 c4 06 10069 10084 movzx ax, byte [bp+00dh] ; 0f b6 46 0d 10070 call 06 bf0h ; e8 92 fc10085 call 06c5ah ; e8 92 fc 10071 10086 mov dx, ss ; 8c d2 10072 10087 lea ax, [bp-008h] ; 8d 46 f8 10073 call 06c 24h ; e8 be fc10088 call 06c8eh ; e8 be fc 10074 10089 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10075 je near 07 0dah ; 0f 84 6c 0110090 je near 07144h ; 0f 84 6c 01 10076 10091 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10077 10092 push ax ; 50 10078 10093 push 00936h ; 68 36 09 10079 10094 push strict byte 00007h ; 6a 07 10080 call 01972h ; e8 f7a910095 call 01972h ; e8 8d a9 10081 10096 add sp, strict byte 00006h ; 83 c4 06 10082 jmp near 07 0dah ; e9 59 0110097 jmp near 07144h ; e9 59 01 10083 10098 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10084 10099 mov byte [bp+013h], 003h ; c6 46 13 03 10085 jmp near 07 0dah ; e9 4e 0110100 jmp near 07144h ; e9 4e 01 10086 10101 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10087 10102 mov byte [bp+013h], 002h ; c6 46 13 02 10088 jmp near 07 0dah ; e9 43 0110103 jmp near 07144h ; e9 43 01 10089 10104 mov ax, 000f2h ; b8 f2 00 10090 call 06 bf0h ; e8 53 fc10105 call 06c5ah ; e8 53 fc 10091 10106 test al, al ; 84 c0 10092 jne short 0 6fb4h ; 75 1310107 jne short 0701eh ; 75 13 10093 10108 mov dx, ss ; 8c d2 10094 10109 lea ax, [bp-008h] ; 8d 46 f8 10095 call 06c 24h ; e8 7b fc10110 call 06c8eh ; e8 7b fc 10096 10111 mov dx, ss ; 8c d2 10097 10112 lea ax, [bp-006h] ; 8d 46 fa 10098 call 06c 24h ; e8 73 fc10099 jmp near 06e 8fh ; e9 db fe10113 call 06c8eh ; e8 73 fc 10114 jmp near 06ef9h ; e9 db fe 10100 10115 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10101 10116 mov byte [bp+013h], 003h ; c6 46 13 03 10102 jmp near 07 0dah ; e9 1b 0110117 jmp near 07144h ; e9 1b 01 10103 10118 mov al, byte [bp+00dh] ; 8a 46 0d 10104 10119 test al, al ; 84 c0 10105 jbe short 0 6fcdh ; 76 0710120 jbe short 07037h ; 76 07 10106 10121 cmp AL, strict byte 002h ; 3c 02 10107 jbe short 070 36h ; 76 6c10108 jmp near 070 6ah ; e9 9d 0010122 jbe short 070a0h ; 76 6c 10123 jmp near 070d4h ; e9 9d 00 10109 10124 mov ax, 000e9h ; b8 e9 00 10110 call 06 bf0h ; e8 1d fc10125 call 06c5ah ; e8 1d fc 10111 10126 test al, al ; 84 c0 10112 jne near 070 60h ; 0f 85 87 0010127 jne near 070cah ; 0f 85 87 00 10113 10128 mov dx, ss ; 8c d2 10114 10129 lea ax, [bp-008h] ; 8d 46 f8 10115 call 06c 24h ; e8 43 fc10130 call 06c8eh ; e8 43 fc 10116 10131 mov cl, al ; 88 c1 10117 10132 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10118 je short 0 6ff9h ; 74 1010133 je short 07063h ; 74 10 10119 10134 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10120 10135 push ax ; 50 10121 10136 push 00936h ; 68 36 09 10122 10137 push strict byte 00007h ; 6a 07 10123 call 01972h ; e8 7ca910138 call 01972h ; e8 12 a9 10124 10139 add sp, strict byte 00006h ; 83 c4 06 10125 10140 test cl, cl ; 84 c9 10126 jne short 070 60h ; 75 6310141 jne short 070cah ; 75 63 10127 10142 mov dx, ss ; 8c d2 10128 10143 lea ax, [bp-008h] ; 8d 46 f8 10129 call 06c 24h ; e8 1f fc10144 call 06c8eh ; e8 1f fc 10130 10145 test al, al ; 84 c0 10131 jne short 070 60h ; 75 5710146 jne short 070cah ; 75 57 10132 10147 mov dx, ss ; 8c d2 10133 10148 lea ax, [bp-006h] ; 8d 46 fa 10134 call 06c 24h ; e8 13 fc10149 call 06c8eh ; e8 13 fc 10135 10150 test al, al ; 84 c0 10136 jne short 070 60h ; 75 4b10151 jne short 070cah ; 75 4b 10137 10152 mov dx, ss ; 8c d2 10138 10153 lea ax, [bp-004h] ; 8d 46 fc 10139 call 06c 24h ; e8 07 fc10154 call 06c8eh ; e8 07 fc 10140 10155 test al, al ; 84 c0 10141 jne short 070 60h ; 75 3f10156 jne short 070cah ; 75 3f 10142 10157 mov al, byte [bp-008h] ; 8a 46 f8 10143 10158 mov byte [bp+00ch], al ; 88 46 0c … … 10146 10161 mov al, byte [bp-004h] ; 8a 46 fc 10147 10162 mov byte [bp+00eh], al ; 88 46 0e 10148 jmp near 07 0dah ; e9 a4 0010163 jmp near 07144h ; e9 a4 00 10149 10164 cmp AL, strict byte 001h ; 3c 01 10150 jne short 070 3fh ; 75 0510165 jne short 070a9h ; 75 05 10151 10166 mov ax, 000e6h ; b8 e6 00 10152 jmp short 070 42h ; eb 0310167 jmp short 070ach ; eb 03 10153 10168 mov ax, 000e7h ; b8 e7 00 10154 call 06 bf0h ; e8 ab fb10169 call 06c5ah ; e8 ab fb 10155 10170 mov cl, al ; 88 c1 10156 10171 test cl, cl ; 84 c9 10157 jne short 070 5ah ; 75 0f10172 jne short 070c4h ; 75 0f 10158 10173 mov dx, ss ; 8c d2 10159 10174 lea ax, [bp-008h] ; 8d 46 f8 10160 call 06c 24h ; e8 d1 fb10175 call 06c8eh ; e8 d1 fb 10161 10176 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10162 10177 db 00fh, 095h, 0c1h 10163 10178 ; setne cl ; 0f 95 c1 10164 10179 test cl, cl ; 84 c9 10165 je near 07 0dah ; 0f 84 7a 0010180 je near 07144h ; 0f 84 7a 00 10166 10181 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10167 10182 mov byte [bp+013h], 003h ; c6 46 13 03 10168 jmp short 07 0dah ; eb 7010183 jmp short 07144h ; eb 70 10169 10184 movzx ax, byte [bp+00dh] ; 0f b6 46 0d 10170 10185 push ax ; 50 10171 10186 push 00962h ; 68 62 09 10172 10187 push strict byte 00007h ; 6a 07 10173 call 01972h ; e8 fba810188 call 01972h ; e8 91 a8 10174 10189 add sp, strict byte 00006h ; 83 c4 06 10175 10190 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10176 10191 mov byte [bp+013h], 001h ; c6 46 13 01 10177 jmp short 07 0dah ; eb 5610192 jmp short 07144h ; eb 56 10178 10193 mov si, word [bp+00ch] ; 8b 76 0c 10179 10194 mov bx, si ; 89 f3 10180 10195 mov dx, strict word 00022h ; ba 22 00 10181 10196 mov ax, cx ; 89 c8 10182 call 0167ah ; e8 e9a510197 call 0167ah ; e8 7f a5 10183 10198 mov bx, word [bp+014h] ; 8b 5e 14 10184 10199 mov dx, strict word 00024h ; ba 24 00 10185 10200 mov ax, cx ; 89 c8 10186 call 0167ah ; e8 dea510201 call 0167ah ; e8 74 a5 10187 10202 mov dx, strict word 00027h ; ba 27 00 10188 10203 mov ax, cx ; 89 c8 10189 call 01650h ; e8 aca510204 call 01650h ; e8 42 a5 10190 10205 mov ah, al ; 88 c4 10191 10206 test si, si ; 85 f6 10192 jne short 07 0b8h ; 75 0e10207 jne short 07122h ; 75 0e 10193 10208 cmp word [bp+014h], strict byte 00000h ; 83 7e 14 00 10194 jne short 07 0b8h ; 75 0810209 jne short 07122h ; 75 08 10195 10210 test AL, strict byte 080h ; a8 80 10196 je short 07 0bah ; 74 0610211 je short 07124h ; 74 06 10197 10212 and AL, strict byte 07fh ; 24 7f 10198 jmp short 07 0bah ; eb 0210213 jmp short 07124h ; eb 02 10199 10214 or AL, strict byte 080h ; 0c 80 10200 10215 movzx bx, al ; 0f b6 d8 10201 10216 mov dx, strict word 00027h ; ba 27 00 10202 10217 mov ax, cx ; 89 c8 10203 call 0165eh ; e8 99a510204 jmp short 07 0dah ; eb 1310218 call 0165eh ; e8 2f a5 10219 jmp short 07144h ; eb 13 10205 10220 push 0097ch ; 68 7c 09 10206 10221 push strict byte 00007h ; 6a 07 10207 call 01972h ; e8 a3a810222 call 01972h ; e8 39 a8 10208 10223 add sp, strict byte 00004h ; 83 c4 04 10209 10224 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10210 10225 mov byte [bp+013h], 001h ; c6 46 13 01 10211 10226 mov ax, strict word 00047h ; b8 47 00 10212 call 06c 5fh ; e8 7f fb10227 call 06cc9h ; e8 7f fb 10213 10228 lea sp, [bp-002h] ; 8d 66 fe 10214 10229 pop si ; 5e 10215 10230 pop bp ; 5d 10216 10231 retn ; c3 10217 _int17_function: ; 0xf7 0e6LB 0xb310232 _int17_function: ; 0xf7150 LB 0xb3 10218 10233 push bp ; 55 10219 10234 mov bp, sp ; 89 e5 … … 10225 10240 add dx, strict byte 00008h ; 83 c2 08 10226 10241 mov ax, strict word 00040h ; b8 40 00 10227 call 0166ch ; e8 72a510242 call 0166ch ; e8 08 a5 10228 10243 mov bx, ax ; 89 c3 10229 10244 mov si, ax ; 89 c6 10230 10245 cmp byte [bp+013h], 003h ; 80 7e 13 03 10231 jnc near 071 8fh ; 0f 83 89 0010246 jnc near 071f9h ; 0f 83 89 00 10232 10247 mov ax, word [bp+00eh] ; 8b 46 0e 10233 10248 cmp ax, strict word 00003h ; 3d 03 00 10234 jnc near 071 8fh ; 0f 83 7f 0010249 jnc near 071f9h ; 0f 83 7f 00 10235 10250 test bx, bx ; 85 db 10236 jbe near 071 8fh ; 0f 86 79 0010251 jbe near 071f9h ; 0f 86 79 00 10237 10252 mov dx, ax ; 89 c2 10238 10253 add dx, strict byte 00078h ; 83 c2 78 10239 10254 mov ax, strict word 00040h ; b8 40 00 10240 call 01650h ; e8 2f a510255 call 01650h ; e8 c5 a4 10241 10256 movzx cx, al ; 0f b6 c8 10242 10257 sal cx, 008h ; c1 e1 08 10243 10258 cmp byte [bp+013h], 000h ; 80 7e 13 00 10244 jne short 071 5ah ; 75 2d10259 jne short 071c4h ; 75 2d 10245 10260 mov al, byte [bp+012h] ; 8a 46 12 10246 10261 mov dx, bx ; 89 da … … 10262 10277 ; sub ah, ah ; 2a e4 10263 10278 test AL, strict byte 040h ; a8 40 10264 je short 071 5ah ; 74 0710279 je short 071c4h ; 74 07 10265 10280 test cx, cx ; 85 c9 10266 je short 071 5ah ; 74 0310281 je short 071c4h ; 74 03 10267 10282 dec cx ; 49 10268 jmp short 071 49h ; eb ef10283 jmp short 071b3h ; eb ef 10269 10284 cmp byte [bp+013h], 001h ; 80 7e 13 01 10270 jne short 071 76h ; 75 1610285 jne short 071e0h ; 75 16 10271 10286 lea dx, [si+002h] ; 8d 54 02 10272 10287 in AL, DX ; ec … … 10287 10302 mov byte [bp+013h], al ; 88 46 13 10288 10303 test cx, cx ; 85 c9 10289 jne short 071 89h ; 75 0410304 jne short 071f3h ; 75 04 10290 10305 or byte [bp+013h], 001h ; 80 4e 13 01 10291 10306 and byte [bp+01ch], 0feh ; 80 66 1c fe 10292 jmp short 071 93h ; eb 0410307 jmp short 071fdh ; eb 04 10293 10308 or byte [bp+01ch], 001h ; 80 4e 1c 01 10294 10309 lea sp, [bp-002h] ; 8d 66 fe … … 10296 10311 pop bp ; 5d 10297 10312 retn ; c3 10298 wait_: ; 0xf7 199LB 0xb210313 wait_: ; 0xf7203 LB 0xb2 10299 10314 push bp ; 55 10300 10315 mov bp, sp ; 89 e5 … … 10314 10329 mov dx, 0046ch ; ba 6c 04 10315 10330 xor ax, ax ; 31 c0 10316 call 01688h ; e8 cca410331 call 01688h ; e8 62 a4 10317 10332 mov word [bp-00eh], ax ; 89 46 f2 10318 10333 mov bx, dx ; 89 d3 … … 10320 10335 mov dx, 0046ch ; ba 6c 04 10321 10336 xor ax, ax ; 31 c0 10322 call 01688h ; e8 bea410337 call 01688h ; e8 54 a4 10323 10338 mov word [bp-012h], ax ; 89 46 ee 10324 10339 mov di, dx ; 89 d7 10325 10340 cmp dx, bx ; 39 da 10326 jnbe short 07 1dah ; 77 0710327 jne short 07 1e1h ; 75 0c10341 jnbe short 07244h ; 77 07 10342 jne short 0724bh ; 75 0c 10328 10343 cmp ax, word [bp-00eh] ; 3b 46 f2 10329 jbe short 07 1e1h ; 76 0710344 jbe short 0724bh ; 76 07 10330 10345 sub ax, word [bp-00eh] ; 2b 46 f2 10331 10346 sbb dx, bx ; 19 da 10332 jmp short 07 1ech ; eb 0b10347 jmp short 07256h ; eb 0b 10333 10348 cmp dx, bx ; 39 da 10334 jc short 07 1ech ; 72 0710335 jne short 07 1f0h ; 75 0910349 jc short 07256h ; 72 07 10350 jne short 0725ah ; 75 09 10336 10351 cmp ax, word [bp-00eh] ; 3b 46 f2 10337 jnc short 07 1f0h ; 73 0410352 jnc short 0725ah ; 73 04 10338 10353 sub si, ax ; 29 c6 10339 10354 sbb cx, dx ; 19 d1 … … 10343 10358 mov ax, 00100h ; b8 00 01 10344 10359 int 016h ; cd 16 10345 je near 072 06h ; 0f 84 05 0010360 je near 07270h ; 0f 84 05 00 10346 10361 mov AL, strict byte 001h ; b0 01 10347 jmp near 072 08h ; e9 02 0010362 jmp near 07272h ; e9 02 00 10348 10363 db 032h, 0c0h 10349 10364 ; xor al, al ; 32 c0 10350 10365 test al, al ; 84 c0 10351 je short 072 30h ; 74 2410366 je short 0729ah ; 74 24 10352 10367 db 033h, 0c0h 10353 10368 ; xor ax, ax ; 33 c0 … … 10360 10375 push 0099eh ; 68 9e 09 10361 10376 push strict byte 00004h ; 6a 04 10362 call 01972h ; e8 4f a710377 call 01972h ; e8 e5 a6 10363 10378 add sp, strict byte 00006h ; 83 c4 06 10364 10379 cmp byte [bp-00ch], 000h ; 80 7e f4 00 10365 je short 072 30h ; 74 0410380 je short 0729ah ; 74 04 10366 10381 mov al, dl ; 88 d0 10367 jmp short 072 42h ; eb 1210382 jmp short 072ach ; eb 12 10368 10383 test cx, cx ; 85 c9 10369 jnle short 07 1c1h ; 7f 8d10370 jne short 072 3ah ; 75 0410384 jnle short 0722bh ; 7f 8d 10385 jne short 072a4h ; 75 04 10371 10386 test si, si ; 85 f6 10372 jnbe short 07 1c1h ; 77 8710387 jnbe short 0722bh ; 77 87 10373 10388 mov ax, word [bp-010h] ; 8b 46 f0 10374 10389 push ax ; 50 … … 10382 10397 pop bp ; 5d 10383 10398 retn ; c3 10384 read_logo_byte_: ; 0xf72 4bLB 0x1610399 read_logo_byte_: ; 0xf72b5 LB 0x16 10385 10400 push bp ; 55 10386 10401 mov bp, sp ; 89 e5 … … 10397 10412 pop bp ; 5d 10398 10413 retn ; c3 10399 read_logo_word_: ; 0xf72 61LB 0x1410414 read_logo_word_: ; 0xf72cb LB 0x14 10400 10415 push bp ; 55 10401 10416 mov bp, sp ; 89 e5 … … 10410 10425 pop bp ; 5d 10411 10426 retn ; c3 10412 print_detected_harddisks_: ; 0xf72 75LB 0x13010427 print_detected_harddisks_: ; 0xf72df LB 0x130 10413 10428 push bp ; 55 10414 10429 mov bp, sp ; 89 e5 … … 10422 10437 mov dx, strict word 0000eh ; ba 0e 00 10423 10438 mov ax, strict word 00040h ; b8 40 00 10424 call 0166ch ; e8 e4a310439 call 0166ch ; e8 7a a3 10425 10440 mov si, ax ; 89 c6 10426 10441 mov byte [bp-00ch], 000h ; c6 46 f4 00 … … 10428 10443 xor ch, ch ; 30 ed 10429 10444 mov dx, 002c0h ; ba c0 02 10430 call 01650h ; e8 b8a310445 call 01650h ; e8 4e a3 10431 10446 mov byte [bp-00eh], al ; 88 46 f2 10432 10447 xor bl, bl ; 30 db 10433 10448 cmp bl, byte [bp-00eh] ; 3a 5e f2 10434 jnc near 073 77h ; 0f 83 d3 0010449 jnc near 073e1h ; 0f 83 d3 00 10435 10450 movzx dx, bl ; 0f b6 d3 10436 10451 add dx, 002c1h ; 81 c2 c1 02 10437 10452 mov ax, si ; 89 f0 10438 call 01650h ; e8 a0a310453 call 01650h ; e8 36 a3 10439 10454 mov bh, al ; 88 c7 10440 10455 cmp AL, strict byte 00ch ; 3c 0c 10441 jc short 07 2dah ; 72 2410456 jc short 07344h ; 72 24 10442 10457 test cl, cl ; 84 c9 10443 jne short 07 2c7h ; 75 0d10458 jne short 07331h ; 75 0d 10444 10459 push 009afh ; 68 af 09 10445 10460 push strict byte 00002h ; 6a 02 10446 call 01972h ; e8 b0a610461 call 01972h ; e8 46 a6 10447 10462 add sp, strict byte 00004h ; 83 c4 04 10448 10463 mov CL, strict byte 001h ; b1 01 … … 10450 10465 inc ax ; 40 10451 10466 push ax ; 50 10452 push 009c 3h ; 68 c30910467 push 009c4h ; 68 c4 09 10453 10468 push strict byte 00002h ; 6a 02 10454 call 01972h ; e8 9ea610469 call 01972h ; e8 34 a6 10455 10470 add sp, strict byte 00006h ; 83 c4 06 10456 jmp near 073 72h ; e9 98 0010471 jmp near 073dch ; e9 98 00 10457 10472 cmp AL, strict byte 008h ; 3c 08 10458 jc short 07 2f1h ; 72 1310473 jc short 0735bh ; 72 13 10459 10474 test ch, ch ; 84 ed 10460 jne short 07 2efh ; 75 0d10461 push 009d 6h ; 68 d60910475 jne short 07359h ; 75 0d 10476 push 009d7h ; 68 d7 09 10462 10477 push strict byte 00002h ; 6a 02 10463 call 01972h ; e8 88a610478 call 01972h ; e8 1e a6 10464 10479 add sp, strict byte 00004h ; 83 c4 04 10465 10480 mov CH, strict byte 001h ; b5 01 10466 jmp short 07 2c7h ; eb d610481 jmp short 07331h ; eb d6 10467 10482 cmp AL, strict byte 004h ; 3c 04 10468 jnc short 073 0ch ; 73 1710483 jnc short 07376h ; 73 17 10469 10484 cmp byte [bp-00ch], 000h ; 80 7e f4 00 10470 jne short 073 0ch ; 75 1110471 push 009e ah ; 68 ea0910485 jne short 07376h ; 75 11 10486 push 009ech ; 68 ec 09 10472 10487 push strict byte 00002h ; 6a 02 10473 call 01972h ; e8 6fa610488 call 01972h ; e8 05 a6 10474 10489 add sp, strict byte 00004h ; 83 c4 04 10475 10490 mov byte [bp-00ch], 001h ; c6 46 f4 01 10476 jmp short 073 22h ; eb 1610491 jmp short 0738ch ; eb 16 10477 10492 cmp bh, 004h ; 80 ff 04 10478 jc short 073 22h ; 72 1110493 jc short 0738ch ; 72 11 10479 10494 test cl, cl ; 84 c9 10480 jne short 073 22h ; 75 0d10481 push 009 afh ; 68 af0910495 jne short 0738ch ; 75 0d 10496 push 009feh ; 68 fe 09 10482 10497 push strict byte 00002h ; 6a 02 10483 call 01972h ; e8 55 a610498 call 01972h ; e8 eb a5 10484 10499 add sp, strict byte 00004h ; 83 c4 04 10485 10500 mov CL, strict byte 001h ; b1 01 … … 10487 10502 inc ax ; 40 10488 10503 push ax ; 50 10489 push 00 9fbh ; 68 fb 0910504 push 00a12h ; 68 12 0a 10490 10505 push strict byte 00002h ; 6a 02 10491 call 01972h ; e8 43 a610506 call 01972h ; e8 d9 a5 10492 10507 add sp, strict byte 00006h ; 83 c4 06 10493 10508 cmp bh, 004h ; 80 ff 04 10494 jc short 073 3ah ; 72 0310509 jc short 073a4h ; 72 03 10495 10510 sub bh, 004h ; 80 ef 04 10496 10511 movzx ax, bh ; 0f b6 c7 … … 10500 10515 sar ax, 1 ; d1 f8 10501 10516 test ax, ax ; 85 c0 10502 je short 073 4bh ; 74 0510503 push 00a 05h ; 68 050a10504 jmp short 073 4eh ; eb 0310505 push 00a 10h ; 68 100a10517 je short 073b5h ; 74 05 10518 push 00a1ch ; 68 1c 0a 10519 jmp short 073b8h ; eb 03 10520 push 00a27h ; 68 27 0a 10506 10521 push strict byte 00002h ; 6a 02 10507 call 01972h ; e8 1f a610522 call 01972h ; e8 b5 a5 10508 10523 add sp, strict byte 00004h ; 83 c4 04 10509 10524 movzx ax, bh ; 0f b6 c7 … … 10512 10527 idiv di ; f7 ff 10513 10528 test dx, dx ; 85 d2 10514 je short 073 68h ; 74 0510515 push 00a 19h ; 68 190a10516 jmp short 073 6bh ; eb 0310517 push 00a 1fh ; 68 1f0a10529 je short 073d2h ; 74 05 10530 push 00a30h ; 68 30 0a 10531 jmp short 073d5h ; eb 03 10532 push 00a36h ; 68 36 0a 10518 10533 push di ; 57 10519 call 01972h ; e8 03 a610534 call 01972h ; e8 99 a5 10520 10535 add sp, strict byte 00004h ; 83 c4 04 10521 10536 db 0feh, 0c3h 10522 10537 ; inc bl ; fe c3 10523 jmp near 07 29dh ; e9 26 ff10538 jmp near 07307h ; e9 26 ff 10524 10539 cmp byte [bp-00ch], 000h ; 80 7e f4 00 10525 jne short 073 90h ; 75 1310540 jne short 073fah ; 75 13 10526 10541 test cl, cl ; 84 c9 10527 jne short 073 90h ; 75 0f10542 jne short 073fah ; 75 0f 10528 10543 test ch, ch ; 84 ed 10529 jne short 073 90h ; 75 0b10530 push 00a 26h ; 68 260a10544 jne short 073fah ; 75 0b 10545 push 00a3dh ; 68 3d 0a 10531 10546 push strict byte 00002h ; 6a 02 10532 call 01972h ; e8 e5a510547 call 01972h ; e8 7b a5 10533 10548 add sp, strict byte 00004h ; 83 c4 04 10534 push 00a 3ah ; 68 3a0a10549 push 00a51h ; 68 51 0a 10535 10550 push strict byte 00002h ; 6a 02 10536 call 01972h ; e8 daa510551 call 01972h ; e8 70 a5 10537 10552 add sp, strict byte 00004h ; 83 c4 04 10538 10553 lea sp, [bp-00ah] ; 8d 66 f6 … … 10544 10559 pop bp ; 5d 10545 10560 retn ; c3 10546 get_boot_drive_: ; 0xf7 3a5LB 0x2810561 get_boot_drive_: ; 0xf740f LB 0x28 10547 10562 push bp ; 55 10548 10563 mov bp, sp ; 89 e5 … … 10552 10567 mov dx, strict word 0000eh ; ba 0e 00 10553 10568 mov ax, strict word 00040h ; b8 40 00 10554 call 0166ch ; e8 b7a210569 call 0166ch ; e8 4d a2 10555 10570 mov dx, 002c0h ; ba c0 02 10556 call 01650h ; e8 95a210571 call 01650h ; e8 2b a2 10557 10572 sub bl, 002h ; 80 eb 02 10558 10573 cmp bl, al ; 38 c3 10559 jc short 07 3c4h ; 72 0210574 jc short 0742eh ; 72 02 10560 10575 mov BL, strict byte 0ffh ; b3 ff 10561 10576 mov al, bl ; 88 d8 … … 10565 10580 pop bp ; 5d 10566 10581 retn ; c3 10567 show_logo_: ; 0xf7 3cdLB 0x22410582 show_logo_: ; 0xf7437 LB 0x224 10568 10583 push bp ; 55 10569 10584 mov bp, sp ; 89 e5 … … 10576 10591 mov dx, strict word 0000eh ; ba 0e 00 10577 10592 mov ax, strict word 00040h ; b8 40 00 10578 call 0166ch ; e8 8ba210593 call 0166ch ; e8 21 a2 10579 10594 mov si, ax ; 89 c6 10580 10595 xor cl, cl ; 30 c9 … … 10587 10602 out strict byte 040h, AL ; e6 40 10588 10603 movzx ax, dl ; 0f b6 c2 10589 call 072 61h ; e8 68 fe10604 call 072cbh ; e8 68 fe 10590 10605 cmp ax, 066bbh ; 3d bb 66 10591 jne near 07 4d1h ; 0f 85 d1 0010606 jne near 0753bh ; 0f 85 d1 00 10592 10607 push SS ; 16 10593 10608 pop ES ; 07 … … 10597 10612 mov word [es:di], bx ; 26 89 1d 10598 10613 cmp ax, strict word 0004fh ; 3d 4f 00 10599 jne near 07 4d1h ; 0f 85 bd 0010614 jne near 0753bh ; 0f 85 bd 00 10600 10615 mov al, dl ; 88 d0 10601 10616 add AL, strict byte 004h ; 04 04 10602 10617 xor ah, ah ; 30 e4 10603 call 072 4bh ; e8 2e fe10618 call 072b5h ; e8 2e fe 10604 10619 mov ch, al ; 88 c5 10605 10620 mov byte [bp-00ch], al ; 88 46 f4 … … 10607 10622 add AL, strict byte 005h ; 04 05 10608 10623 xor ah, ah ; 30 e4 10609 call 072 4bh ; e8 20 fe10624 call 072b5h ; e8 20 fe 10610 10625 mov dh, al ; 88 c6 10611 10626 mov byte [bp-010h], al ; 88 46 f0 … … 10613 10628 add AL, strict byte 002h ; 04 02 10614 10629 xor ah, ah ; 30 e4 10615 call 072 61h ; e8 28 fe10630 call 072cbh ; e8 28 fe 10616 10631 mov bx, ax ; 89 c3 10617 10632 mov word [bp-014h], ax ; 89 46 ec … … 10619 10634 add AL, strict byte 006h ; 04 06 10620 10635 xor ah, ah ; 30 e4 10621 call 072 4bh ; e8 04 fe10636 call 072b5h ; e8 04 fe 10622 10637 mov byte [bp-012h], al ; 88 46 ee 10623 10638 test ch, ch ; 84 ed 10624 jne short 074 58h ; 75 0a10639 jne short 074c2h ; 75 0a 10625 10640 test dh, dh ; 84 f6 10626 jne short 074 58h ; 75 0610641 jne short 074c2h ; 75 06 10627 10642 test bx, bx ; 85 db 10628 je near 07 4d1h ; 0f 84 79 0010643 je near 0753bh ; 0f 84 79 00 10629 10644 mov bx, 00142h ; bb 42 01 10630 10645 mov ax, 04f02h ; b8 02 4f 10631 10646 int 010h ; cd 10 10632 10647 cmp byte [bp-00ch], 000h ; 80 7e f4 00 10633 je short 074 89h ; 74 2310648 je short 074f3h ; 74 23 10634 10649 xor bx, bx ; 31 db 10635 jmp short 074 70h ; eb 0610650 jmp short 074dah ; eb 06 10636 10651 inc bx ; 43 10637 10652 cmp bx, strict byte 00010h ; 83 fb 10 10638 jnbe short 074 90h ; 77 2010653 jnbe short 074fah ; 77 20 10639 10654 mov ax, bx ; 89 d8 10640 10655 or ah, 002h ; 80 cc 02 … … 10643 10658 xor dx, dx ; 31 d2 10644 10659 mov ax, strict word 00001h ; b8 01 00 10645 call 07 199h ; e8 18 fd10660 call 07203h ; e8 18 fd 10646 10661 cmp AL, strict byte 086h ; 3c 86 10647 jne short 074 6ah ; 75 e510662 jne short 074d4h ; 75 e5 10648 10663 mov CL, strict byte 001h ; b1 01 10649 jmp short 074 90h ; eb 0710664 jmp short 074fah ; eb 07 10650 10665 mov ax, 00210h ; b8 10 02 10651 10666 mov dx, 003b8h ; ba b8 03 10652 10667 out DX, ax ; ef 10653 10668 test cl, cl ; 84 c9 10654 jne short 07 4a6h ; 75 1210669 jne short 07510h ; 75 12 10655 10670 mov ax, word [bp-014h] ; 8b 46 ec 10656 10671 shr ax, 004h ; c1 e8 04 10657 10672 mov dx, strict word 00001h ; ba 01 00 10658 call 07 199h ; e8 f9 fc10673 call 07203h ; e8 f9 fc 10659 10674 cmp AL, strict byte 086h ; 3c 86 10660 jne short 07 4a6h ; 75 0210675 jne short 07510h ; 75 02 10661 10676 mov CL, strict byte 001h ; b1 01 10662 10677 cmp byte [bp-010h], 000h ; 80 7e f0 00 10663 je short 07 4d1h ; 74 2510678 je short 0753bh ; 74 25 10664 10679 test cl, cl ; 84 c9 10665 jne short 07 4d1h ; 75 2110680 jne short 0753bh ; 75 21 10666 10681 mov bx, strict word 00010h ; bb 10 00 10667 jmp short 07 4bah ; eb 0510682 jmp short 07524h ; eb 05 10668 10683 dec bx ; 4b 10669 10684 test bx, bx ; 85 db 10670 jbe short 07 4d1h ; 76 1710685 jbe short 0753bh ; 76 17 10671 10686 mov ax, bx ; 89 d8 10672 10687 or ah, 002h ; 80 cc 02 … … 10675 10690 xor dx, dx ; 31 d2 10676 10691 mov ax, strict word 00001h ; b8 01 00 10677 call 07 199h ; e8 ce fc10692 call 07203h ; e8 ce fc 10678 10693 cmp AL, strict byte 086h ; 3c 86 10679 jne short 07 4b5h ; 75 e610694 jne short 0751fh ; 75 e6 10680 10695 mov CL, strict byte 001h ; b1 01 10681 10696 xor bx, bx ; 31 db 10682 10697 mov dx, 00339h ; ba 39 03 10683 10698 mov ax, si ; 89 f0 10684 call 0165eh ; e8 83a110699 call 0165eh ; e8 19 a1 10685 10700 mov AL, strict byte 003h ; b0 03 10686 10701 mov AH, strict byte 000h ; b4 00 10687 10702 int 010h ; cd 10 10688 10703 cmp byte [bp-012h], 000h ; 80 7e ee 00 10689 je near 07 5d2h ; 0f 84 e9 0010704 je near 0763ch ; 0f 84 e9 00 10690 10705 cmp byte [bp-00ch], 000h ; 80 7e f4 00 10691 jne short 075 1fh ; 75 3010706 jne short 07589h ; 75 30 10692 10707 cmp byte [bp-010h], 000h ; 80 7e f0 00 10693 jne short 075 1fh ; 75 2a10708 jne short 07589h ; 75 2a 10694 10709 cmp word [bp-014h], strict byte 00000h ; 83 7e ec 00 10695 jne short 075 1fh ; 75 2410710 jne short 07589h ; 75 24 10696 10711 cmp byte [bp-012h], 002h ; 80 7e ee 02 10697 jne short 075 0ch ; 75 0b10698 push 00a 3ch ; 68 3c0a10712 jne short 07576h ; 75 0b 10713 push 00a53h ; 68 53 0a 10699 10714 push strict byte 00002h ; 6a 02 10700 call 01972h ; e8 69 a410715 call 01972h ; e8 ff a3 10701 10716 add sp, strict byte 00004h ; 83 c4 04 10702 10717 test cl, cl ; 84 c9 10703 jne short 075 1fh ; 75 0f10718 jne short 07589h ; 75 0f 10704 10719 mov dx, strict word 00001h ; ba 01 00 10705 10720 mov ax, 000c0h ; b8 c0 00 10706 call 07 199h ; e8 80 fc10721 call 07203h ; e8 80 fc 10707 10722 cmp AL, strict byte 086h ; 3c 86 10708 jne short 075 1fh ; 75 0210723 jne short 07589h ; 75 02 10709 10724 mov CL, strict byte 001h ; b1 01 10710 10725 test cl, cl ; 84 c9 10711 je near 07 5d2h ; 0f 84 ad 0010726 je near 0763ch ; 0f 84 ad 00 10712 10727 mov byte [bp-00eh], 000h ; c6 46 f2 00 10713 10728 mov ax, 00100h ; b8 00 01 … … 10726 10741 ; xor dx, dx ; 33 d2 10727 10742 int 010h ; cd 10 10728 push 00a 5eh ; 68 5e0a10743 push 00a75h ; 68 75 0a 10729 10744 push strict byte 00002h ; 6a 02 10730 call 01972h ; e8 24 a410745 call 01972h ; e8 ba a3 10731 10746 add sp, strict byte 00004h ; 83 c4 04 10732 call 072 75h ; e8 21 fd10733 push 00a a2h ; 68 a20a10747 call 072dfh ; e8 21 fd 10748 push 00ab9h ; 68 b9 0a 10734 10749 push strict byte 00002h ; 6a 02 10735 call 01972h ; e8 16 a410750 call 01972h ; e8 ac a3 10736 10751 add sp, strict byte 00004h ; 83 c4 04 10737 10752 mov dx, strict word 00001h ; ba 01 00 10738 10753 mov ax, strict word 00040h ; b8 40 00 10739 call 07 199h ; e8 31 fc10754 call 07203h ; e8 31 fc 10740 10755 mov bl, al ; 88 c3 10741 10756 test al, al ; 84 c0 10742 je short 075 5fh ; 74 f110757 je short 075c9h ; 74 f1 10743 10758 cmp AL, strict byte 030h ; 3c 30 10744 je short 07 5c0h ; 74 4e10759 je short 0762ah ; 74 4e 10745 10760 cmp bl, 002h ; 80 fb 02 10746 jc short 07 599h ; 72 2210761 jc short 07603h ; 72 22 10747 10762 cmp bl, 009h ; 80 fb 09 10748 jnbe short 07 599h ; 77 1d10763 jnbe short 07603h ; 77 1d 10749 10764 movzx ax, bl ; 0f b6 c3 10750 call 07 3a5h ; e8 23 fe10765 call 0740fh ; e8 23 fe 10751 10766 cmp AL, strict byte 0ffh ; 3c ff 10752 jne short 075 88h ; 75 0210753 jmp short 075 5fh ; eb d710767 jne short 075f2h ; 75 02 10768 jmp short 075c9h ; eb d7 10754 10769 movzx bx, al ; 0f b6 d8 10755 10770 mov dx, 00338h ; ba 38 03 10756 10771 mov ax, si ; 89 f0 10757 call 0165eh ; e8 cba010772 call 0165eh ; e8 61 a0 10758 10773 mov byte [bp-00eh], 002h ; c6 46 f2 02 10759 jmp short 07 5c0h ; eb 2710774 jmp short 0762ah ; eb 27 10760 10775 cmp bl, 02eh ; 80 fb 2e 10761 je short 07 5aeh ; 74 1010776 je short 07618h ; 74 10 10762 10777 cmp bl, 026h ; 80 fb 26 10763 je short 07 5b4h ; 74 1110778 je short 0761eh ; 74 11 10764 10779 cmp bl, 021h ; 80 fb 21 10765 jne short 07 5bah ; 75 1210780 jne short 07624h ; 75 12 10766 10781 mov byte [bp-00eh], 001h ; c6 46 f2 01 10767 jmp short 07 5c0h ; eb 1210782 jmp short 0762ah ; eb 12 10768 10783 mov byte [bp-00eh], 003h ; c6 46 f2 03 10769 jmp short 07 5c0h ; eb 0c10784 jmp short 0762ah ; eb 0c 10770 10785 mov byte [bp-00eh], 004h ; c6 46 f2 04 10771 jmp short 07 5c0h ; eb 0610786 jmp short 0762ah ; eb 06 10772 10787 cmp byte [bp-00eh], 000h ; 80 7e f2 00 10773 je short 075 5fh ; 74 9f10788 je short 075c9h ; 74 9f 10774 10789 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 10775 10790 mov dx, 00339h ; ba 39 03 10776 10791 mov ax, si ; 89 f0 10777 call 0165eh ; e8 92a010792 call 0165eh ; e8 28 a0 10778 10793 mov AL, strict byte 003h ; b0 03 10779 10794 mov AH, strict byte 000h ; b4 00 … … 10788 10803 push DS ; 1e 10789 10804 mov ds, ax ; 8e d8 10790 call 0edbfh ; e8 db7710805 call 0edbfh ; e8 71 77 10791 10806 pop DS ; 1f 10792 10807 popad ; 66 61 … … 10799 10814 pop bp ; 5d 10800 10815 retn ; c3 10801 delay_boot_: ; 0xf7 5f1LB 0x6710816 delay_boot_: ; 0xf765b LB 0x67 10802 10817 push bp ; 55 10803 10818 mov bp, sp ; 89 e5 … … 10806 10821 mov dx, ax ; 89 c2 10807 10822 test ax, ax ; 85 c0 10808 je short 076 51h ; 74 5510823 je short 076bbh ; 74 55 10809 10824 mov AL, strict byte 034h ; b0 34 10810 10825 out strict byte 043h, AL ; e6 43 … … 10814 10829 out strict byte 040h, AL ; e6 40 10815 10830 push dx ; 52 10816 push 00 aech ; 68 ec 0a10831 push 00b03h ; 68 03 0b 10817 10832 push strict byte 00002h ; 6a 02 10818 call 01972h ; e8 61 a310833 call 01972h ; e8 f7 a2 10819 10834 add sp, strict byte 00006h ; 83 c4 06 10820 10835 mov bx, dx ; 89 d3 10821 10836 test bx, bx ; 85 db 10822 jbe short 076 31h ; 76 1710837 jbe short 0769bh ; 76 17 10823 10838 push bx ; 53 10824 push 00b 0ah ; 68 0a0b10839 push 00b21h ; 68 21 0b 10825 10840 push strict byte 00002h ; 6a 02 10826 call 01972h ; e8 4f a310841 call 01972h ; e8 e5 a2 10827 10842 add sp, strict byte 00006h ; 83 c4 06 10828 10843 xor dx, dx ; 31 d2 10829 10844 mov ax, strict word 00040h ; b8 40 00 10830 call 07 199h ; e8 6b fb10845 call 07203h ; e8 6b fb 10831 10846 dec bx ; 4b 10832 jmp short 076 16h ; eb e510833 push 00a 3ah ; 68 3a0a10847 jmp short 07680h ; eb e5 10848 push 00a51h ; 68 51 0a 10834 10849 push strict byte 00002h ; 6a 02 10835 call 01972h ; e8 39 a310850 call 01972h ; e8 cf a2 10836 10851 add sp, strict byte 00004h ; 83 c4 04 10837 10852 mov AL, strict byte 034h ; b0 34 … … 10844 10859 push DS ; 1e 10845 10860 mov ds, ax ; 8e d8 10846 call 0edbfh ; e8 717710861 call 0edbfh ; e8 07 77 10847 10862 pop DS ; 1f 10848 10863 popad ; 66 61 … … 10852 10867 pop bp ; 5d 10853 10868 retn ; c3 10854 scsi_cmd_data_in_: ; 0xf76 58LB 0xb210869 scsi_cmd_data_in_: ; 0xf76c2 LB 0xb2 10855 10870 push bp ; 55 10856 10871 mov bp, sp ; 89 e5 … … 10868 10883 ; sub ah, ah ; 2a e4 10869 10884 test AL, strict byte 001h ; a8 01 10870 jne short 076 6eh ; 75 f710885 jne short 076d8h ; 75 f7 10871 10886 mov ax, bx ; 89 d8 10872 10887 mov dx, word [bp+00ch] ; 8b 56 0c … … 10874 10889 shr dx, 1 ; d1 ea 10875 10890 rcr ax, 1 ; d1 d8 10876 loop 076 7fh ; e2 fa10891 loop 076e9h ; e2 fa 10877 10892 and ax, 000f0h ; 25 f0 00 10878 10893 movzx cx, byte [bp+004h] ; 0f b6 4e 04 … … 10892 10907 shr dx, 1 ; d1 ea 10893 10908 rcr ax, 1 ; d1 d8 10894 loop 07 6a5h ; e2 fa10909 loop 0770fh ; e2 fa 10895 10910 mov dx, si ; 89 f2 10896 10911 out DX, AL ; ee … … 10898 10913 movzx ax, byte [bp+004h] ; 0f b6 46 04 10899 10914 cmp cx, ax ; 39 c1 10900 jnc short 07 6c6h ; 73 0e10915 jnc short 07730h ; 73 0e 10901 10916 les di, [bp-00ah] ; c4 7e f6 10902 10917 add di, cx ; 01 cf … … 10905 10920 out DX, AL ; ee 10906 10921 inc cx ; 41 10907 jmp short 07 6b0h ; eb ea10922 jmp short 0771ah ; eb ea 10908 10923 mov dx, si ; 89 f2 10909 10924 in AL, DX ; ec … … 10911 10926 ; sub ah, ah ; 2a e4 10912 10927 test AL, strict byte 001h ; a8 01 10913 jne short 07 6c6h ; 75 f710928 jne short 07730h ; 75 f7 10914 10929 lea dx, [si+001h] ; 8d 54 01 10915 10930 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 10916 jne short 07 6deh ; 75 0610931 jne short 07748h ; 75 06 10917 10932 cmp bx, 08000h ; 81 fb 00 80 10918 jbe short 07 6f8h ; 76 1a10933 jbe short 07762h ; 76 1a 10919 10934 mov cx, 08000h ; b9 00 80 10920 10935 les di, [bp+006h] ; c4 7e 06 … … 10925 10940 add ax, 00800h ; 05 00 08 10926 10941 mov word [bp+008h], ax ; 89 46 08 10927 jmp short 07 6cfh ; eb d710942 jmp short 07739h ; eb d7 10928 10943 mov cx, bx ; 89 d9 10929 10944 les di, [bp+006h] ; c4 7e 06 … … 10935 10950 pop bp ; 5d 10936 10951 retn 0000ah ; c2 0a 00 10937 scsi_cmd_data_out_: ; 0xf77 0aLB 0xb410952 scsi_cmd_data_out_: ; 0xf7774 LB 0xb4 10938 10953 push bp ; 55 10939 10954 mov bp, sp ; 89 e5 … … 10951 10966 ; sub ah, ah ; 2a e4 10952 10967 test AL, strict byte 001h ; a8 01 10953 jne short 077 20h ; 75 f710968 jne short 0778ah ; 75 f7 10954 10969 mov ax, bx ; 89 d8 10955 10970 mov dx, word [bp+00ch] ; 8b 56 0c … … 10957 10972 shr dx, 1 ; d1 ea 10958 10973 rcr ax, 1 ; d1 d8 10959 loop 077 31h ; e2 fa10974 loop 0779bh ; e2 fa 10960 10975 and ax, 000f0h ; 25 f0 00 10961 10976 movzx cx, byte [bp+004h] ; 0f b6 4e 04 … … 10975 10990 shr dx, 1 ; d1 ea 10976 10991 rcr ax, 1 ; d1 d8 10977 loop 077 57h ; e2 fa10992 loop 077c1h ; e2 fa 10978 10993 mov dx, di ; 89 fa 10979 10994 out DX, AL ; ee … … 10981 10996 movzx ax, byte [bp+004h] ; 0f b6 46 04 10982 10997 cmp cx, ax ; 39 c1 10983 jnc short 077 78h ; 73 0e10998 jnc short 077e2h ; 73 0e 10984 10999 les si, [bp-00ah] ; c4 76 f6 10985 11000 add si, cx ; 01 ce … … 10988 11003 out DX, AL ; ee 10989 11004 inc cx ; 41 10990 jmp short 077 62h ; eb ea11005 jmp short 077cch ; eb ea 10991 11006 lea dx, [di+001h] ; 8d 55 01 10992 11007 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 10993 jne short 077 87h ; 75 0611008 jne short 077f1h ; 75 06 10994 11009 cmp bx, 08000h ; 81 fb 00 80 10995 jbe short 07 7a2h ; 76 1b11010 jbe short 0780ch ; 76 1b 10996 11011 mov cx, 08000h ; b9 00 80 10997 11012 les si, [bp+006h] ; c4 76 06 … … 11003 11018 add ax, 00800h ; 05 00 08 11004 11019 mov word [bp+008h], ax ; 89 46 08 11005 jmp short 077 78h ; eb d611020 jmp short 077e2h ; eb d6 11006 11021 mov cx, bx ; 89 d9 11007 11022 les si, [bp+006h] ; c4 76 06 … … 11013 11028 ; sub ah, ah ; 2a e4 11014 11029 test AL, strict byte 001h ; a8 01 11015 jne short 07 7aah ; 75 f711030 jne short 07814h ; 75 f7 11016 11031 xor ax, ax ; 31 c0 11017 11032 lea sp, [bp-004h] ; 8d 66 fc … … 11020 11035 pop bp ; 5d 11021 11036 retn 0000ah ; c2 0a 00 11022 @scsi_read_sectors: ; 0xf7 7beLB 0xb911037 @scsi_read_sectors: ; 0xf7828 LB 0xb9 11023 11038 push bp ; 55 11024 11039 mov bp, sp ; 89 e5 … … 11031 11046 sub bl, 008h ; 80 eb 08 11032 11047 cmp bl, 004h ; 80 fb 04 11033 jbe short 07 7eah ; 76 1211048 jbe short 07854h ; 76 12 11034 11049 movzx ax, bl ; 0f b6 c3 11035 11050 push ax ; 50 11036 push 00b 0eh ; 68 0e0b11037 push 00b 20h ; 68 200b11051 push 00b26h ; 68 26 0b 11052 push 00b38h ; 68 38 0b 11038 11053 push strict byte 00007h ; 6a 07 11039 call 01972h ; e8 8ba111054 call 01972h ; e8 21 a1 11040 11055 add sp, strict byte 00008h ; 83 c4 08 11041 11056 mov es, [bp+006h] ; 8e 46 06 … … 11064 11079 sal word [bp-008h], 1 ; d1 66 f8 11065 11080 rcl word [bp-006h], 1 ; d1 56 fa 11066 loop 078 33h ; e2 f811081 loop 0789dh ; e2 f8 11067 11082 push dword [bp-008h] ; 66 ff 76 f8 11068 11083 db 066h, 026h, 0ffh, 074h, 004h … … 11072 11087 mov cx, ss ; 8c d1 11073 11088 lea bx, [bp-012h] ; 8d 5e ee 11074 call 076 58h ; e8 08 fe11089 call 076c2h ; e8 08 fe 11075 11090 mov ah, al ; 88 c4 11076 11091 test al, al ; 84 c0 11077 jne short 078 6bh ; 75 1511092 jne short 078d5h ; 75 15 11078 11093 mov es, [bp+006h] ; 8e 46 06 11079 11094 mov word [es:si+014h], di ; 26 89 7c 14 … … 11088 11103 pop bp ; 5d 11089 11104 retn 00004h ; c2 04 00 11090 @scsi_write_sectors: ; 0xf78 77LB 0xb911105 @scsi_write_sectors: ; 0xf78e1 LB 0xb9 11091 11106 push bp ; 55 11092 11107 mov bp, sp ; 89 e5 … … 11099 11114 sub bl, 008h ; 80 eb 08 11100 11115 cmp bl, 004h ; 80 fb 04 11101 jbe short 07 8a3h ; 76 1211116 jbe short 0790dh ; 76 12 11102 11117 movzx ax, bl ; 0f b6 c3 11103 11118 push ax ; 50 11104 push 00b 3fh ; 68 3f0b11105 push 00b 20h ; 68 200b11119 push 00b57h ; 68 57 0b 11120 push 00b38h ; 68 38 0b 11106 11121 push strict byte 00007h ; 6a 07 11107 call 01972h ; e8 d2a011122 call 01972h ; e8 68 a0 11108 11123 add sp, strict byte 00008h ; 83 c4 08 11109 11124 mov es, [bp+006h] ; 8e 46 06 … … 11132 11147 sal word [bp-008h], 1 ; d1 66 f8 11133 11148 rcl word [bp-006h], 1 ; d1 56 fa 11134 loop 07 8ech ; e2 f811149 loop 07956h ; e2 f8 11135 11150 push dword [bp-008h] ; 66 ff 76 f8 11136 11151 db 066h, 026h, 0ffh, 074h, 004h … … 11140 11155 mov cx, ss ; 8c d1 11141 11156 lea bx, [bp-012h] ; 8d 5e ee 11142 call 077 0ah ; e8 01 fe11157 call 07774h ; e8 01 fe 11143 11158 mov ah, al ; 88 c4 11144 11159 test al, al ; 84 c0 11145 jne short 079 24h ; 75 1511160 jne short 0798eh ; 75 15 11146 11161 mov es, [bp+006h] ; 8e 46 06 11147 11162 mov word [es:si+014h], di ; 26 89 7c 14 … … 11156 11171 pop bp ; 5d 11157 11172 retn 00004h ; c2 04 00 11158 scsi_cmd_packet_: ; 0xf79 30LB 0x16611173 scsi_cmd_packet_: ; 0xf799a LB 0x166 11159 11174 push bp ; 55 11160 11175 mov bp, sp ; 89 e5 … … 11168 11183 mov dx, strict word 0000eh ; ba 0e 00 11169 11184 mov ax, strict word 00040h ; b8 40 00 11170 call 0166ch ; e8 20 9d11185 call 0166ch ; e8 b6 9c 11171 11186 mov si, 00122h ; be 22 01 11172 11187 mov word [bp-00eh], ax ; 89 46 f2 11173 11188 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 11174 jne short 079 77h ; 75 1f11175 mov bx, 00d 8ah ; bb 8a0d11189 jne short 079e1h ; 75 1f 11190 mov bx, 00da2h ; bb a2 0d 11176 11191 mov cx, ds ; 8c d9 11177 11192 mov ax, strict word 00004h ; b8 04 00 11178 call 01931h ; e8 ce9f11179 push 00b 52h ; 68 520b11180 push 00b 62h ; 68 620b11193 call 01931h ; e8 64 9f 11194 push 00b6ah ; 68 6a 0b 11195 push 00b7ah ; 68 7a 0b 11181 11196 push strict byte 00004h ; 6a 04 11182 call 01972h ; e8 04 a011197 call 01972h ; e8 9a 9f 11183 11198 add sp, strict byte 00006h ; 83 c4 06 11184 11199 mov dx, strict word 00001h ; ba 01 00 11185 jmp near 07a 8bh ; e9 14 0111200 jmp near 07af5h ; e9 14 01 11186 11201 sub di, strict byte 00008h ; 83 ef 08 11187 11202 sal di, 002h ; c1 e7 02 … … 11197 11212 ; sub ah, ah ; 2a e4 11198 11213 test AL, strict byte 001h ; a8 01 11199 jne short 079 93h ; 75 f711214 jne short 079fdh ; 75 f7 11200 11215 xor ax, ax ; 31 c0 11201 11216 mov dx, word [bp+006h] ; 8b 56 06 … … 11213 11228 shr dx, 1 ; d1 ea 11214 11229 rcr ax, 1 ; d1 d8 11215 loop 07 9beh ; e2 fa11230 loop 07a28h ; e2 fa 11216 11231 and ax, 000f0h ; 25 f0 00 11217 11232 movzx cx, byte [bp-006h] ; 0f b6 4e fa … … 11231 11246 shr dx, 1 ; d1 ea 11232 11247 rcr ax, 1 ; d1 d8 11233 loop 07 9e5h ; e2 fa11248 loop 07a4fh ; e2 fa 11234 11249 mov dx, bx ; 89 da 11235 11250 out DX, AL ; ee … … 11237 11252 movzx ax, byte [bp-006h] ; 0f b6 46 fa 11238 11253 cmp cx, ax ; 39 c1 11239 jnc short 07a 06h ; 73 0e11254 jnc short 07a70h ; 73 0e 11240 11255 les di, [bp-00ch] ; c4 7e f4 11241 11256 add di, cx ; 01 cf … … 11244 11259 out DX, AL ; ee 11245 11260 inc cx ; 41 11246 jmp short 07 9f0h ; eb ea11261 jmp short 07a5ah ; eb ea 11247 11262 mov dx, bx ; 89 da 11248 11263 in AL, DX ; ec … … 11250 11265 ; sub ah, ah ; 2a e4 11251 11266 test AL, strict byte 001h ; a8 01 11252 jne short 07a 06h ; 75 f711267 jne short 07a70h ; 75 f7 11253 11268 test AL, strict byte 002h ; a8 02 11254 je short 07a 21h ; 74 0e11269 je short 07a8bh ; 74 0e 11255 11270 lea dx, [bx+003h] ; 8d 57 03 11256 11271 xor al, al ; 30 c0 … … 11260 11275 ; sub ah, ah ; 2a e4 11261 11276 mov dx, strict word 00003h ; ba 03 00 11262 jmp short 07a 8bh ; eb 6a11277 jmp short 07af5h ; eb 6a 11263 11278 mov ax, word [bp+004h] ; 8b 46 04 11264 11279 test ax, ax ; 85 c0 11265 je short 07a 30h ; 74 0811280 je short 07a9ah ; 74 08 11266 11281 lea dx, [bx+001h] ; 8d 57 01 11267 11282 mov cx, ax ; 89 c1 11268 11283 in AL, DX ; ec 11269 loop 07a 2dh ; e2 fd11284 loop 07a97h ; e2 fd 11270 11285 mov ax, word [bp+006h] ; 8b 46 06 11271 11286 mov es, [bp-00eh] ; 8e 46 f2 … … 11275 11290 lea ax, [bx+001h] ; 8d 47 01 11276 11291 cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00 11277 jne short 07a 51h ; 75 0711292 jne short 07abbh ; 75 07 11278 11293 cmp word [bp+006h], 08000h ; 81 7e 06 00 80 11279 jbe short 07a 6eh ; 76 1d11294 jbe short 07ad8h ; 76 1d 11280 11295 mov dx, ax ; 89 c2 11281 11296 mov cx, 08000h ; b9 00 80 … … 11287 11302 add ax, 00800h ; 05 00 08 11288 11303 mov word [bp+00eh], ax ; 89 46 0e 11289 jmp short 07a 41h ; eb d311304 jmp short 07aabh ; eb d3 11290 11305 mov dx, ax ; 89 c2 11291 11306 mov cx, word [bp+006h] ; 8b 4e 06 … … 11294 11309 mov es, [bp-00eh] ; 8e 46 f2 11295 11310 cmp word [es:si+01ch], strict byte 00000h ; 26 83 7c 1c 00 11296 je short 07a 89h ; 74 0711311 je short 07af3h ; 74 07 11297 11312 mov cx, word [es:si+01ch] ; 26 8b 4c 1c 11298 11313 in AL, DX ; ec 11299 loop 07a 86h ; e2 fd11314 loop 07af0h ; e2 fd 11300 11315 xor dx, dx ; 31 d2 11301 11316 mov ax, dx ; 89 d0 … … 11305 11320 pop bp ; 5d 11306 11321 retn 0000ch ; c2 0c 00 11307 scsi_enumerate_attached_devices_: ; 0xf7 a96LB 0x3e511322 scsi_enumerate_attached_devices_: ; 0xf7b00 LB 0x3e5 11308 11323 push bp ; 55 11309 11324 mov bp, sp ; 89 e5 … … 11317 11332 mov dx, strict word 0000eh ; ba 0e 00 11318 11333 mov ax, strict word 00040h ; b8 40 00 11319 call 0166ch ; e8 c09b11334 call 0166ch ; e8 56 9b 11320 11335 mov si, 00122h ; be 22 01 11321 11336 mov word [bp-01ah], ax ; 89 46 e6 11322 11337 mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00 11323 jmp near 07e 09h ; e9 4f 0311338 jmp near 07e73h ; e9 4f 03 11324 11339 mov es, [bp-01ah] ; 8e 46 e6 11325 11340 cmp byte [es:si+001e8h], 004h ; 26 80 bc e8 01 04 11326 jnc near 07e 71h ; 0f 83 aa 0311341 jnc near 07edbh ; 0f 83 aa 03 11327 11342 mov cx, strict word 0000ah ; b9 0a 00 11328 11343 xor bx, bx ; 31 db 11329 11344 mov dx, ss ; 8c d2 11330 11345 lea ax, [bp-026h] ; 8d 46 da 11331 call 09 4dah ; e8 061a11346 call 0954ah ; e8 0c 1a 11332 11347 mov byte [bp-026h], 025h ; c6 46 da 25 11333 11348 push dword 000000008h ; 66 6a 08 … … 11340 11355 lea bx, [bp-026h] ; 8d 5e da 11341 11356 mov ax, word [bp-00228h] ; 8b 86 d8 fd 11342 call 076 58h ; e8 65 fb11357 call 076c2h ; e8 65 fb 11343 11358 test al, al ; 84 c0 11344 je short 07b 05h ; 74 0e11345 push 00b 82h ; 68 820b11346 push 00b bbh ; 68 bb0b11359 je short 07b6fh ; 74 0e 11360 push 00b9ah ; 68 9a 0b 11361 push 00bd3h ; 68 d3 0b 11347 11362 push strict byte 00007h ; 6a 07 11348 call 01972h ; e8 709e11363 call 01972h ; e8 06 9e 11349 11364 add sp, strict byte 00006h ; 83 c4 06 11350 11365 movzx ax, byte [bp-00225h] ; 0f b6 86 db fd … … 11358 11373 sal ax, 1 ; d1 e0 11359 11374 rcl dx, 1 ; d1 d2 11360 loop 07b 20h ; e2 fa11375 loop 07b8ah ; e2 fa 11361 11376 or bx, ax ; 09 c3 11362 11377 or dx, di ; 09 fa … … 11375 11390 sal ax, 1 ; d1 e0 11376 11391 rcl dx, 1 ; d1 d2 11377 loop 07b 52h ; e2 fa11392 loop 07bbch ; e2 fa 11378 11393 or ax, bx ; 09 d8 11379 11394 or dx, di ; 09 fa … … 11382 11397 mov word [bp-016h], ax ; 89 46 ea 11383 11398 test dx, dx ; 85 d2 11384 jne short 07b 6fh ; 75 0511399 jne short 07bd9h ; 75 05 11385 11400 cmp ax, 00200h ; 3d 00 02 11386 je short 07b 8fh ; 74 2011387 mov bx, 00d 8ah ; bb 8a0d11401 je short 07bf9h ; 74 20 11402 mov bx, 00da2h ; bb a2 0d 11388 11403 mov cx, ds ; 8c d9 11389 11404 mov ax, strict word 00004h ; b8 04 00 11390 call 01931h ; e8 b79d11405 call 01931h ; e8 4d 9d 11391 11406 push dx ; 52 11392 11407 push word [bp-016h] ; ff 76 ea 11393 11408 push word [bp-010h] ; ff 76 f0 11394 push 00b dah ; 68 da0b11409 push 00bf2h ; 68 f2 0b 11395 11410 push strict byte 00004h ; 6a 04 11396 call 01972h ; e8 e99d11411 call 01972h ; e8 7f 9d 11397 11412 add sp, strict byte 0000ah ; 83 c4 0a 11398 jmp near 07e 00h ; e9 71 0211413 jmp near 07e6ah ; e9 71 02 11399 11414 mov es, [bp-01ah] ; 8e 46 e6 11400 11415 mov al, byte [es:si+001e8h] ; 26 8a 84 e8 01 11401 11416 mov byte [bp-00ch], al ; 88 46 f4 11402 11417 cmp AL, strict byte 001h ; 3c 01 11403 jc short 07 baah ; 72 0c11404 jbe short 07 bb2h ; 76 1211418 jc short 07c14h ; 72 0c 11419 jbe short 07c1ch ; 76 12 11405 11420 cmp AL, strict byte 003h ; 3c 03 11406 je short 07 bbah ; 74 1611421 je short 07c24h ; 74 16 11407 11422 cmp AL, strict byte 002h ; 3c 02 11408 je short 07 bb6h ; 74 0e11409 jmp short 07c 06h ; eb 5c11423 je short 07c20h ; 74 0e 11424 jmp short 07c70h ; eb 5c 11410 11425 test al, al ; 84 c0 11411 jne short 07c 06h ; 75 5811426 jne short 07c70h ; 75 58 11412 11427 mov BL, strict byte 090h ; b3 90 11413 jmp short 07 bbch ; eb 0a11428 jmp short 07c26h ; eb 0a 11414 11429 mov BL, strict byte 098h ; b3 98 11415 jmp short 07 bbch ; eb 0611430 jmp short 07c26h ; eb 06 11416 11431 mov BL, strict byte 0a0h ; b3 a0 11417 jmp short 07 bbch ; eb 0211432 jmp short 07c26h ; eb 02 11418 11433 mov BL, strict byte 0a8h ; b3 a8 11419 11434 mov al, bl ; 88 d8 … … 11421 11436 movzx cx, al ; 0f b6 c8 11422 11437 mov ax, cx ; 89 c8 11423 call 016ach ; e8 e49a11438 call 016ach ; e8 7a 9a 11424 11439 test al, al ; 84 c0 11425 je short 07c 06h ; 74 3a11440 je short 07c70h ; 74 3a 11426 11441 mov al, bl ; 88 d8 11427 11442 db 0feh, 0c0h 11428 11443 ; inc al ; fe c0 11429 11444 xor ah, ah ; 30 e4 11430 call 016ach ; e8 d79a11445 call 016ach ; e8 6d 9a 11431 11446 xor ah, ah ; 30 e4 11432 11447 mov dx, ax ; 89 c2 11433 11448 sal dx, 008h ; c1 e2 08 11434 11449 movzx ax, bl ; 0f b6 c3 11435 call 016ach ; e8 ca9a11450 call 016ach ; e8 60 9a 11436 11451 xor ah, ah ; 30 e4 11437 11452 add ax, dx ; 01 d0 … … 11442 11457 add AL, strict byte 002h ; 04 02 11443 11458 xor ah, ah ; 30 e4 11444 call 016ach ; e8 b79a11459 call 016ach ; e8 4d 9a 11445 11460 xor ah, ah ; 30 e4 11446 11461 mov word [bp-014h], ax ; 89 46 ec 11447 11462 mov ax, cx ; 89 c8 11448 call 016ach ; e8 ad9a11463 call 016ach ; e8 43 9a 11449 11464 xor ah, ah ; 30 e4 11450 11465 mov word [bp-01ch], ax ; 89 46 e4 11451 jmp short 07c 4bh ; eb 4511466 jmp short 07cb5h ; eb 45 11452 11467 mov ax, word [bp-018h] ; 8b 46 e8 11453 11468 cmp ax, strict word 00040h ; 3d 40 00 11454 jnbe short 07c 10h ; 77 0211455 jne short 07c 1ch ; 75 0c11469 jnbe short 07c7ah ; 77 02 11470 jne short 07c86h ; 75 0c 11456 11471 mov word [bp-014h], 000ffh ; c7 46 ec ff 00 11457 11472 mov word [bp-01ch], strict word 0003fh ; c7 46 e4 3f 00 11458 jmp short 07c 34h ; eb 1811473 jmp short 07c9eh ; eb 18 11459 11474 cmp ax, strict word 00020h ; 3d 20 00 11460 jnbe short 07c 23h ; 77 0211461 jne short 07c 2ah ; 75 0711475 jnbe short 07c8dh ; 77 02 11476 jne short 07c94h ; 75 07 11462 11477 mov word [bp-014h], 00080h ; c7 46 ec 80 00 11463 jmp short 07c 2fh ; eb 0511478 jmp short 07c99h ; eb 05 11464 11479 mov word [bp-014h], strict word 00040h ; c7 46 ec 40 00 11465 11480 mov word [bp-01ch], strict word 00020h ; c7 46 e4 20 00 … … 11469 11484 mov dx, word [bp-018h] ; 8b 56 e8 11470 11485 xor cx, cx ; 31 c9 11471 call 094 70h ; e8 2a1811486 call 094e0h ; e8 30 18 11472 11487 mov di, ax ; 89 c7 11473 11488 mov word [bp-012h], dx ; 89 56 ee … … 11496 11511 mov word [es:bx+02ah], ax ; 26 89 47 2a 11497 11512 cmp word [bp-012h], strict byte 00000h ; 83 7e ee 00 11498 jne short 07 ca7h ; 75 0611513 jne short 07d11h ; 75 06 11499 11514 cmp di, 00400h ; 81 ff 00 04 11500 jbe short 07 cafh ; 76 0811515 jbe short 07d19h ; 76 08 11501 11516 mov word [es:bx+028h], 00400h ; 26 c7 47 28 00 04 11502 jmp short 07 cb3h ; eb 0411517 jmp short 07d1dh ; eb 04 11503 11518 mov word [es:bx+028h], di ; 26 89 7f 28 11504 mov bx, 00d 8ah ; bb 8a0d11519 mov bx, 00da2h ; bb a2 0d 11505 11520 mov cx, ds ; 8c d9 11506 11521 mov ax, strict word 00004h ; b8 04 00 11507 call 01931h ; e8 739c11522 call 01931h ; e8 09 9c 11508 11523 push word [bp-018h] ; ff 76 e8 11509 11524 push word [bp-00eh] ; ff 76 f2 … … 11514 11529 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 11515 11530 push ax ; 50 11516 push 00c 08h ; 68 080c11531 push 00c20h ; 68 20 0c 11517 11532 push strict byte 00004h ; 6a 04 11518 call 01972h ; e8 979c11533 call 01972h ; e8 2d 9c 11519 11534 add sp, strict byte 00012h ; 83 c4 12 11520 11535 movzx ax, dl ; 0f b6 c2 … … 11528 11543 mov word [es:bx+030h], ax ; 26 89 47 30 11529 11544 cmp word [bp-012h], strict byte 00000h ; 83 7e ee 00 11530 jne short 07d 05h ; 75 0611545 jne short 07d6fh ; 75 06 11531 11546 cmp di, 00400h ; 81 ff 00 04 11532 jbe short 07d 0dh ; 76 0811547 jbe short 07d77h ; 76 08 11533 11548 mov word [es:bx+02eh], 00400h ; 26 c7 47 2e 00 04 11534 jmp short 07d 11h ; eb 0411549 jmp short 07d7bh ; eb 04 11535 11550 mov word [es:bx+02eh], di ; 26 89 7f 2e 11536 11551 movzx ax, dl ; 0f b6 c2 … … 11554 11569 mov dx, strict word 00075h ; ba 75 00 11555 11570 mov ax, strict word 00040h ; b8 40 00 11556 call 01650h ; e8 ff9811571 call 01650h ; e8 95 98 11557 11572 db 0feh, 0c0h 11558 11573 ; inc al ; fe c0 … … 11560 11575 mov dx, strict word 00075h ; ba 75 00 11561 11576 mov ax, strict word 00040h ; b8 40 00 11562 call 0165eh ; e8 ff9811577 call 0165eh ; e8 95 98 11563 11578 inc byte [bp-00ch] ; fe 46 f4 11564 11579 mov al, byte [bp-00ch] ; 8a 46 f4 11565 11580 mov es, [bp-01ah] ; 8e 46 e6 11566 11581 mov byte [es:si+001e8h], al ; 26 88 84 e8 01 11567 jmp near 07e 00h ; e9 90 0011568 mov bx, 00d 8ah ; bb 8a0d11582 jmp near 07e6ah ; e9 90 00 11583 mov bx, 00da2h ; bb a2 0d 11569 11584 mov cx, ds ; 8c d9 11570 11585 mov ax, strict word 00004h ; b8 04 00 11571 call 01931h ; e8 b69b11586 call 01931h ; e8 4c 9b 11572 11587 push word [bp-010h] ; ff 76 f0 11573 11588 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 11574 11589 push ax ; 50 11575 push 00c 32h ; 68 320c11590 push 00c4ah ; 68 4a 0c 11576 11591 push strict byte 00004h ; 6a 04 11577 call 01972h ; e8 e79b11592 call 01972h ; e8 7d 9b 11578 11593 add sp, strict byte 00008h ; 83 c4 08 11579 11594 mov dl, byte [bp-00ch] ; 8a 56 f4 … … 11614 11629 inc word [bp-010h] ; ff 46 f0 11615 11630 cmp word [bp-010h], strict byte 00010h ; 83 7e f0 10 11616 jnl short 07e 71h ; 7d 6811631 jnl short 07edbh ; 7d 68 11617 11632 mov byte [bp-026h], 012h ; c6 46 da 12 11618 11633 xor al, al ; 30 c0 … … 11631 11646 lea bx, [bp-026h] ; 8d 5e da 11632 11647 mov ax, word [bp-00228h] ; 8b 86 d8 fd 11633 call 076 58h ; e8 1e f811648 call 076c2h ; e8 1e f8 11634 11649 test al, al ; 84 c0 11635 je short 07e 4ch ; 74 0e11636 push 00b 82h ; 68 820b11637 push 00b a2h ; 68 a20b11650 je short 07eb6h ; 74 0e 11651 push 00b9ah ; 68 9a 0b 11652 push 00bbah ; 68 ba 0b 11638 11653 push strict byte 00007h ; 6a 07 11639 call 01972h ; e8 29 9b11654 call 01972h ; e8 bf 9a 11640 11655 add sp, strict byte 00006h ; 83 c4 06 11641 11656 test byte [bp-00226h], 0e0h ; f6 86 da fd e0 11642 jne short 07e 5ch ; 75 0911657 jne short 07ec6h ; 75 09 11643 11658 test byte [bp-00226h], 01fh ; f6 86 da fd 1f 11644 je near 07 abah ; 0f 84 5e fc11659 je near 07b24h ; 0f 84 5e fc 11645 11660 test byte [bp-00226h], 0e0h ; f6 86 da fd e0 11646 jne short 07e 00h ; 75 9d11661 jne short 07e6ah ; 75 9d 11647 11662 mov al, byte [bp-00226h] ; 8a 86 da fd 11648 11663 and AL, strict byte 01fh ; 24 1f 11649 11664 cmp AL, strict byte 005h ; 3c 05 11650 je near 07d 70h ; 0f 84 01 ff11651 jmp short 07e 00h ; eb 8f11665 je near 07ddah ; 0f 84 01 ff 11666 jmp short 07e6ah ; eb 8f 11652 11667 lea sp, [bp-00ah] ; 8d 66 f6 11653 11668 pop di ; 5f … … 11658 11673 pop bp ; 5d 11659 11674 retn ; c3 11660 _scsi_init: ; 0xf7e 7bLB 0x6611675 _scsi_init: ; 0xf7ee5 LB 0x66 11661 11676 push bp ; 55 11662 11677 mov bp, sp ; 89 e5 11663 11678 mov dx, strict word 0000eh ; ba 0e 00 11664 11679 mov ax, strict word 00040h ; b8 40 00 11665 call 0166ch ; e8 e59711680 call 0166ch ; e8 7b 97 11666 11681 mov bx, 00122h ; bb 22 01 11667 11682 mov es, ax ; 8e c0 … … 11674 11689 ; sub ah, ah ; 2a e4 11675 11690 cmp AL, strict byte 055h ; 3c 55 11676 jne short 07 eabh ; 75 0c11691 jne short 07f15h ; 75 0c 11677 11692 xor al, al ; 30 c0 11678 11693 mov dx, 00433h ; ba 33 04 11679 11694 out DX, AL ; ee 11680 11695 mov ax, 00430h ; b8 30 04 11681 call 07 a96h ; e8 eb fb11696 call 07b00h ; e8 eb fb 11682 11697 mov AL, strict byte 055h ; b0 55 11683 11698 mov dx, 00436h ; ba 36 04 … … 11687 11702 ; sub ah, ah ; 2a e4 11688 11703 cmp AL, strict byte 055h ; 3c 55 11689 jne short 07 ec4h ; 75 0c11704 jne short 07f2eh ; 75 0c 11690 11705 xor al, al ; 30 c0 11691 11706 mov dx, 00437h ; ba 37 04 11692 11707 out DX, AL ; ee 11693 11708 mov ax, 00434h ; b8 34 04 11694 call 07 a96h ; e8 d2 fb11709 call 07b00h ; e8 d2 fb 11695 11710 mov AL, strict byte 055h ; b0 55 11696 11711 mov dx, 0043ah ; ba 3a 04 … … 11700 11715 ; sub ah, ah ; 2a e4 11701 11716 cmp AL, strict byte 055h ; 3c 55 11702 jne short 07 eddh ; 75 0c11717 jne short 07f47h ; 75 0c 11703 11718 xor al, al ; 30 c0 11704 11719 mov dx, 0043bh ; ba 3b 04 11705 11720 out DX, AL ; ee 11706 11721 mov ax, 00438h ; b8 38 04 11707 call 07 a96h ; e8 b9 fb11722 call 07b00h ; e8 b9 fb 11708 11723 mov sp, bp ; 89 ec 11709 11724 pop bp ; 5d 11710 11725 retn ; c3 11711 high_bits_save_: ; 0xf7 ee1LB 0x1711726 high_bits_save_: ; 0xf7f4b LB 0x17 11712 11727 push bp ; 55 11713 11728 mov bp, sp ; 89 e5 … … 11721 11736 pop bp ; 5d 11722 11737 retn ; c3 11723 high_bits_restore_: ; 0xf7 ef8LB 0x1711738 high_bits_restore_: ; 0xf7f62 LB 0x17 11724 11739 push bp ; 55 11725 11740 mov bp, sp ; 89 e5 … … 11733 11748 pop bp ; 5d 11734 11749 retn ; c3 11735 ahci_ctrl_set_bits_: ; 0xf7f 0fLB 0x4311750 ahci_ctrl_set_bits_: ; 0xf7f79 LB 0x43 11736 11751 push bp ; 55 11737 11752 mov bp, sp ; 89 e5 … … 11771 11786 pop bp ; 5d 11772 11787 retn ; c3 11773 ahci_ctrl_clear_bits_: ; 0xf7f 52LB 0x4711788 ahci_ctrl_clear_bits_: ; 0xf7fbc LB 0x47 11774 11789 push bp ; 55 11775 11790 mov bp, sp ; 89 e5 … … 11811 11826 pop bp ; 5d 11812 11827 retn ; c3 11813 ahci_ctrl_is_bit_set_: ; 0xf 7f99LB 0x3911828 ahci_ctrl_is_bit_set_: ; 0xf8003 LB 0x39 11814 11829 push bp ; 55 11815 11830 mov bp, sp ; 89 e5 … … 11833 11848 xchg dx, ax ; 92 11834 11849 test dx, di ; 85 fa 11835 jne short 0 7fc5h ; 75 0411850 jne short 0802fh ; 75 04 11836 11851 test ax, bx ; 85 d8 11837 je short 0 7fc9h ; 74 0411852 je short 08033h ; 74 04 11838 11853 mov AL, strict byte 001h ; b0 01 11839 jmp short 0 7fcbh ; eb 0211854 jmp short 08035h ; eb 02 11840 11855 xor al, al ; 30 c0 11841 11856 lea sp, [bp-004h] ; 8d 66 fc … … 11844 11859 pop bp ; 5d 11845 11860 retn ; c3 11846 ahci_ctrl_extract_bits_: ; 0xf 7fd2LB 0x1b11861 ahci_ctrl_extract_bits_: ; 0xf803c LB 0x1b 11847 11862 push si ; 56 11848 11863 push bp ; 55 … … 11852 11867 and dx, cx ; 21 ca 11853 11868 movzx cx, byte [bp+006h] ; 0f b6 4e 06 11854 jcxz 0 7fe8h ; e3 0611869 jcxz 08052h ; e3 06 11855 11870 shr dx, 1 ; d1 ea 11856 11871 rcr ax, 1 ; d1 d8 11857 loop 0 7fe2h ; e2 fa11872 loop 0804ch ; e2 fa 11858 11873 pop bp ; 5d 11859 11874 pop si ; 5e 11860 11875 retn 00002h ; c2 02 00 11861 ahci_addr_to_phys_: ; 0xf 7fedLB 0x1e11876 ahci_addr_to_phys_: ; 0xf8057 LB 0x1e 11862 11877 push bx ; 53 11863 11878 push cx ; 51 … … 11870 11885 sal ax, 1 ; d1 e0 11871 11886 rcl dx, 1 ; d1 d2 11872 loop 0 7ffbh ; e2 fa11887 loop 08065h ; e2 fa 11873 11888 xor cx, cx ; 31 c9 11874 11889 add ax, bx ; 01 d8 … … 11878 11893 pop bx ; 5b 11879 11894 retn ; c3 11880 ahci_port_cmd_sync_: ; 0xf80 0bLB 0xd511895 ahci_port_cmd_sync_: ; 0xf8075 LB 0xd5 11881 11896 push bp ; 55 11882 11897 mov bp, sp ; 89 e5 … … 11892 11907 mov di, word [es:si+00260h] ; 26 8b bc 60 02 11893 11908 cmp AL, strict byte 0ffh ; 3c ff 11894 je near 08 0d8h ; 0f 84 aa 0011909 je near 08142h ; 0f 84 aa 00 11895 11910 movzx cx, byte [es:si+00263h] ; 26 0f b6 8c 63 02 11896 11911 xor dx, dx ; 31 d2 … … 11904 11919 lea ax, [si+00080h] ; 8d 84 80 00 11905 11920 mov dx, es ; 8c c2 11906 call 0 7fedh ; e8 96 ff11921 call 08057h ; e8 96 ff 11907 11922 mov es, [bp-00ah] ; 8e 46 f6 11908 11923 mov word [es:si+008h], ax ; 26 89 44 08 … … 11914 11929 xor cx, cx ; 31 c9 11915 11930 mov ax, di ; 89 f8 11916 call 07f 0fh ; e8 98 fe11931 call 07f79h ; e8 98 fe 11917 11932 lea ax, [si+00138h] ; 8d 84 38 01 11918 11933 cwd ; 99 … … 11941 11956 mov dx, si ; 89 f2 11942 11957 mov ax, di ; 89 f8 11943 call 0 7f99h ; e8 e2 fe11958 call 08003h ; e8 e2 fe 11944 11959 test al, al ; 84 c0 11945 je short 08 09ah ; 74 df11960 je short 08104h ; 74 df 11946 11961 mov bx, strict word 00001h ; bb 01 00 11947 11962 xor cx, cx ; 31 c9 11948 11963 mov dx, si ; 89 f2 11949 11964 mov ax, di ; 89 f8 11950 call 07f 0fh ; e8 48 fe11965 call 07f79h ; e8 48 fe 11951 11966 mov dx, word [bp-00ch] ; 8b 56 f4 11952 11967 add dx, 00118h ; 81 c2 18 01 … … 11954 11969 xor cx, cx ; 31 c9 11955 11970 mov ax, di ; 89 f8 11956 call 07f 52h ; e8 7a fe11971 call 07fbch ; e8 7a fe 11957 11972 lea sp, [bp-006h] ; 8d 66 fa 11958 11973 pop di ; 5f … … 11961 11976 pop bp ; 5d 11962 11977 retn ; c3 11963 ahci_cmd_data_: ; 0xf8 0e0LB 0x1ca11978 ahci_cmd_data_: ; 0xf814a LB 0x1ca 11964 11979 push bp ; 55 11965 11980 mov bp, sp ; 89 e5 … … 11985 12000 mov ax, 00080h ; b8 80 00 11986 12001 mov dx, word [bp-00ah] ; 8b 56 f6 11987 call 09 4dah ; e8 bb1312002 call 0954ah ; e8 c1 13 11988 12003 mov es, [bp-00ah] ; 8e 46 f6 11989 12004 mov word [es:si+00080h], 08027h ; 26 c7 84 80 00 27 80 … … 12001 12016 shr bx, 1 ; d1 eb 12002 12017 rcr ax, 1 ; d1 d8 12003 loop 081 52h ; e2 fa12018 loop 081bch ; e2 fa 12004 12019 mov es, [bp-00ah] ; 8e 46 f6 12005 12020 mov byte [es:si+00085h], al ; 26 88 84 85 00 … … 12026 12041 mov bx, word [bp-016h] ; 8b 5e ea 12027 12042 xor cx, cx ; 31 c9 12028 call 09 4a9h ; e8 ee1212043 call 09519h ; e8 f4 12 12029 12044 push dx ; 52 12030 12045 push ax ; 50 … … 12034 12049 mov ax, 0026ah ; b8 6a 02 12035 12050 mov dx, word [bp-00ah] ; 8b 56 f6 12036 call 09 3c5h ; e8 f4 1112051 call 0942fh ; e8 f4 11 12037 12052 mov es, [bp-00ah] ; 8e 46 f6 12038 12053 movzx ax, byte [es:si+00263h] ; 26 0f b6 84 63 02 … … 12054 12069 mov es, [bp-012h] ; 8e 46 ee 12055 12070 cmp word [es:di+01ch], strict byte 00000h ; 26 83 7d 1c 00 12056 je short 082 4ah ; 74 2c12071 je short 082b4h ; 74 2c 12057 12072 mov dx, word [es:di+01ch] ; 26 8b 55 1c 12058 12073 dec dx ; 4a … … 12073 12088 movzx dx, byte [es:bx+00263h] ; 26 0f b6 97 63 02 12074 12089 cmp ax, dx ; 39 d0 12075 jnc short 082 64h ; 73 0312090 jnc short 082ceh ; 73 03 12076 12091 inc ax ; 40 12077 jmp short 082 54h ; eb f012092 jmp short 082beh ; eb f0 12078 12093 mov al, byte [bp-008h] ; 8a 46 f8 12079 12094 cmp AL, strict byte 035h ; 3c 35 12080 jne short 082 71h ; 75 0612095 jne short 082dbh ; 75 06 12081 12096 mov byte [bp-008h], 040h ; c6 46 f8 40 12082 jmp short 082 85h ; eb 1412097 jmp short 082efh ; eb 14 12083 12098 cmp AL, strict byte 0a0h ; 3c a0 12084 jne short 082 81h ; 75 0c12099 jne short 082ebh ; 75 0c 12085 12100 or byte [bp-008h], 020h ; 80 4e f8 20 12086 12101 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 12087 jmp short 082 85h ; eb 0412102 jmp short 082efh ; eb 04 12088 12103 mov byte [bp-008h], 000h ; c6 46 f8 00 12089 12104 or byte [bp-008h], 005h ; 80 4e f8 05 … … 12091 12106 mov ax, word [bp-00eh] ; 8b 46 f2 12092 12107 mov dx, word [bp-00ch] ; 8b 56 f4 12093 call 080 0bh ; e8 75 fd12108 call 08075h ; e8 75 fd 12094 12109 mov ax, word [bp-00eh] ; 8b 46 f2 12095 12110 add ax, 0026ah ; 05 6a 02 12096 12111 mov dx, word [bp-00ch] ; 8b 56 f4 12097 call 094 3eh ; e8 9c 1112112 call 094a8h ; e8 9c 11 12098 12113 lea sp, [bp-006h] ; 8d 66 fa 12099 12114 pop di ; 5f … … 12102 12117 pop bp ; 5d 12103 12118 retn ; c3 12104 ahci_port_deinit_current_: ; 0xf8 2aaLB 0x14412119 ahci_port_deinit_current_: ; 0xf8314 LB 0x144 12105 12120 push bp ; 55 12106 12121 mov bp, sp ; 89 e5 … … 12117 12132 mov byte [bp-00ah], al ; 88 46 f6 12118 12133 cmp AL, strict byte 0ffh ; 3c ff 12119 je near 08 3e5h ; 0f 84 17 0112134 je near 0844fh ; 0f 84 17 01 12120 12135 movzx dx, al ; 0f b6 d0 12121 12136 sal dx, 007h ; c1 e2 07 … … 12124 12139 xor cx, cx ; 31 c9 12125 12140 mov ax, si ; 89 f0 12126 call 07f 52h ; e8 70 fc12141 call 07fbch ; e8 70 fc 12127 12142 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 12128 12143 sal ax, 007h ; c1 e0 07 … … 12133 12148 xor cx, cx ; 31 c9 12134 12149 mov ax, si ; 89 f0 12135 call 0 7f99h ; e8 9d fc12150 call 08003h ; e8 9d fc 12136 12151 cmp AL, strict byte 001h ; 3c 01 12137 je short 08 2e2h ; 74 e212152 je short 0834ch ; 74 e2 12138 12153 mov cx, strict word 00020h ; b9 20 00 12139 12154 xor bx, bx ; 31 db 12140 12155 mov ax, di ; 89 f8 12141 12156 mov dx, word [bp-00ch] ; 8b 56 f4 12142 call 09 4dah ; e8 cd1112157 call 0954ah ; e8 d3 11 12143 12158 lea ax, [di+00080h] ; 8d 85 80 00 12144 12159 mov cx, strict word 00040h ; b9 40 00 12145 12160 xor bx, bx ; 31 db 12146 12161 mov dx, word [bp-00ch] ; 8b 56 f4 12147 call 09 4dah ; e8 be1112162 call 0954ah ; e8 c4 11 12148 12163 lea ax, [di+00200h] ; 8d 85 00 02 12149 12164 mov cx, strict word 00060h ; b9 60 00 12150 12165 xor bx, bx ; 31 db 12151 12166 mov dx, word [bp-00ch] ; 8b 56 f4 12152 call 09 4dah ; e8 af1112167 call 0954ah ; e8 b5 11 12153 12168 mov ax, word [bp-00eh] ; 8b 46 f2 12154 12169 add ax, 00108h ; 05 08 01 … … 12252 12267 pop bp ; 5d 12253 12268 retn ; c3 12254 ahci_port_init_: ; 0xf8 3eeLB 0x20612269 ahci_port_init_: ; 0xf8458 LB 0x206 12255 12270 push bp ; 55 12256 12271 mov bp, sp ; 89 e5 … … 12262 12277 mov word [bp-00ah], dx ; 89 56 f6 12263 12278 mov byte [bp-008h], bl ; 88 5e f8 12264 call 08 2aah ; e8 a8 fe12279 call 08314h ; e8 a8 fe 12265 12280 movzx dx, bl ; 0f b6 d3 12266 12281 sal dx, 007h ; c1 e2 07 … … 12270 12285 mov bx, strict word 00011h ; bb 11 00 12271 12286 xor cx, cx ; 31 c9 12272 call 07f 52h ; e8 36 fb12287 call 07fbch ; e8 36 fb 12273 12288 movzx di, byte [bp-008h] ; 0f b6 7e f8 12274 12289 sal di, 007h ; c1 e7 07 … … 12278 12293 mov bx, 0c011h ; bb 11 c0 12279 12294 xor cx, cx ; 31 c9 12280 call 0 7f99h ; e8 62 fb12295 call 08003h ; e8 62 fb 12281 12296 cmp AL, strict byte 001h ; 3c 01 12282 je short 084 1ch ; 74 e112297 je short 08486h ; 74 e1 12283 12298 mov cx, strict word 00020h ; b9 20 00 12284 12299 xor bx, bx ; 31 db 12285 12300 mov ax, si ; 89 f0 12286 12301 mov dx, word [bp-00ah] ; 8b 56 f6 12287 call 09 4dah ; e8 921012302 call 0954ah ; e8 98 10 12288 12303 lea ax, [si+00080h] ; 8d 84 80 00 12289 12304 mov cx, strict word 00040h ; b9 40 00 12290 12305 xor bx, bx ; 31 db 12291 12306 mov dx, word [bp-00ah] ; 8b 56 f6 12292 call 09 4dah ; e8 831012307 call 0954ah ; e8 89 10 12293 12308 mov ax, si ; 89 f0 12294 12309 add ah, 002h ; 80 c4 02 … … 12297 12312 xor bx, bx ; 31 db 12298 12313 mov dx, word [bp-00ah] ; 8b 56 f6 12299 call 09 4dah ; e8 701012314 call 0954ah ; e8 76 10 12300 12315 lea ax, [di+00108h] ; 8d 85 08 01 12301 12316 cwd ; 99 … … 12311 12326 mov ax, word [bp-00ch] ; 8b 46 f4 12312 12327 mov dx, word [bp-00ah] ; 8b 56 f6 12313 call 0 7fedh ; e8 60 fb12328 call 08057h ; e8 60 fb 12314 12329 mov es, [bp-00ah] ; 8e 46 f6 12315 12330 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 … … 12356 12371 mov ax, si ; 89 f0 12357 12372 mov dx, word [bp-00ah] ; 8b 56 f6 12358 call 0 7fedh ; e8 f4 fa12373 call 08057h ; e8 f4 fa 12359 12374 mov es, [bp-00ah] ; 8e 46 f6 12360 12375 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 … … 12461 12476 pop bp ; 5d 12462 12477 retn ; c3 12463 @ahci_read_sectors: ; 0xf8 5f4LB 0x9412478 @ahci_read_sectors: ; 0xf865e LB 0x94 12464 12479 push bp ; 55 12465 12480 mov bp, sp ; 89 e5 … … 12470 12485 sub di, strict byte 0000ch ; 83 ef 0c 12471 12486 cmp di, strict byte 00004h ; 83 ff 04 12472 jbe short 086 18h ; 76 0f12487 jbe short 08682h ; 76 0f 12473 12488 push di ; 57 12474 push 00c 4eh ; 68 4e0c12475 push 00c 60h ; 68 600c12489 push 00c66h ; 68 66 0c 12490 push 00c78h ; 68 78 0c 12476 12491 push strict byte 00007h ; 6a 07 12477 call 01972h ; e8 5d 9312492 call 01972h ; e8 f3 92 12478 12493 add sp, strict byte 00008h ; 83 c4 08 12479 12494 les bx, [bp+004h] ; c4 5e 04 12480 12495 mov dx, word [es:bx+001eeh] ; 26 8b 97 ee 01 12481 12496 xor ax, ax ; 31 c0 12482 call 07 ee1h ; e8 bc f812497 call 07f4bh ; e8 bc f8 12483 12498 mov es, [bp+006h] ; 8e 46 06 12484 12499 add di, bx ; 01 df … … 12487 12502 mov dx, word [es:di+001eeh] ; 26 8b 95 ee 01 12488 12503 xor ax, ax ; 31 c0 12489 call 08 3eeh ; e8 b1 fd12504 call 08458h ; e8 b1 fd 12490 12505 mov bx, strict word 00025h ; bb 25 00 12491 12506 mov ax, di ; 89 f8 12492 12507 mov dx, word [bp+006h] ; 8b 56 06 12493 call 08 0e0h ; e8 98 fa12508 call 0814ah ; e8 98 fa 12494 12509 mov es, [bp+006h] ; 8e 46 06 12495 12510 mov bx, di ; 89 fb … … 12511 12526 mov dx, word [es:bx+001eeh] ; 26 8b 97 ee 01 12512 12527 xor ax, ax ; 31 c0 12513 call 07 ef8h ; e8 7b f812528 call 07f62h ; e8 7b f8 12514 12529 xor ax, ax ; 31 c0 12515 12530 lea sp, [bp-004h] ; 8d 66 fc … … 12518 12533 pop bp ; 5d 12519 12534 retn 00004h ; c2 04 00 12520 @ahci_write_sectors: ; 0xf86 88LB 0x7012535 @ahci_write_sectors: ; 0xf86f2 LB 0x70 12521 12536 push bp ; 55 12522 12537 mov bp, sp ; 89 e5 … … 12528 12543 sub bx, strict byte 0000ch ; 83 eb 0c 12529 12544 cmp bx, strict byte 00004h ; 83 fb 04 12530 jbe short 08 6b0h ; 76 0f12545 jbe short 0871ah ; 76 0f 12531 12546 push bx ; 53 12532 push 00c 7fh ; 68 7f0c12533 push 00c 60h ; 68 600c12547 push 00c97h ; 68 97 0c 12548 push 00c78h ; 68 78 0c 12534 12549 push strict byte 00007h ; 6a 07 12535 call 01972h ; e8 c59212550 call 01972h ; e8 5b 92 12536 12551 add sp, strict byte 00008h ; 83 c4 08 12537 12552 mov es, cx ; 8e c1 12538 12553 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12539 12554 xor ax, ax ; 31 c0 12540 call 07 ee1h ; e8 25 f812555 call 07f4bh ; e8 25 f8 12541 12556 mov es, cx ; 8e c1 12542 12557 add bx, si ; 01 f3 … … 12544 12559 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12545 12560 xor ax, ax ; 31 c0 12546 call 08 3eeh ; e8 1e fd12561 call 08458h ; e8 1e fd 12547 12562 mov bx, strict word 00035h ; bb 35 00 12548 12563 mov ax, si ; 89 f0 12549 12564 mov dx, cx ; 89 ca 12550 call 08 0e0h ; e8 06 fa12565 call 0814ah ; e8 06 fa 12551 12566 mov es, cx ; 8e c1 12552 12567 mov dx, word [es:si+00ah] ; 26 8b 54 0a … … 12554 12569 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12555 12570 xor ax, ax ; 31 c0 12556 call 07 ef8h ; e8 0a f812571 call 07f62h ; e8 0a f8 12557 12572 xor ax, ax ; 31 c0 12558 12573 lea sp, [bp-002h] ; 8d 66 fe … … 12560 12575 pop bp ; 5d 12561 12576 retn 00004h ; c2 04 00 12562 ahci_cmd_packet_: ; 0xf8 6f8LB 0x17312577 ahci_cmd_packet_: ; 0xf8762 LB 0x173 12563 12578 push bp ; 55 12564 12579 mov bp, sp ; 89 e5 … … 12572 12587 mov dx, strict word 0000eh ; ba 0e 00 12573 12588 mov ax, strict word 00040h ; b8 40 00 12574 call 0166ch ; e8 59 8f12589 call 0166ch ; e8 ef 8e 12575 12590 mov si, 00122h ; be 22 01 12576 12591 mov word [bp-008h], ax ; 89 46 f8 12577 12592 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12578 jne short 087 3eh ; 75 1f12579 mov bx, 00d 8ah ; bb 8a0d12593 jne short 087a8h ; 75 1f 12594 mov bx, 00da2h ; bb a2 0d 12580 12595 mov cx, ds ; 8c d9 12581 12596 mov ax, strict word 00004h ; b8 04 00 12582 call 01931h ; e8 07 9212583 push 00c 92h ; 68 920c12584 push 00c a2h ; 68 a20c12597 call 01931h ; e8 9d 91 12598 push 00caah ; 68 aa 0c 12599 push 00cbah ; 68 ba 0c 12585 12600 push strict byte 00004h ; 6a 04 12586 call 01972h ; e8 3d 9212601 call 01972h ; e8 d3 91 12587 12602 add sp, strict byte 00006h ; 83 c4 06 12588 12603 mov ax, strict word 00001h ; b8 01 00 12589 jmp near 088 62h ; e9 24 0112604 jmp near 088cch ; e9 24 01 12590 12605 test byte [bp+004h], 001h ; f6 46 04 01 12591 jne short 087 38h ; 75 f412606 jne short 087a2h ; 75 f4 12592 12607 mov ax, word [bp+006h] ; 8b 46 06 12593 12608 mov dx, word [bp+008h] ; 8b 56 08 … … 12595 12610 sal ax, 1 ; d1 e0 12596 12611 rcl dx, 1 ; d1 d2 12597 loop 087 4dh ; e2 fa12612 loop 087b7h ; e2 fa 12598 12613 mov es, [bp-008h] ; 8e 46 f8 12599 12614 mov word [es:si], ax ; 26 89 04 … … 12607 12622 mov dx, word [bp+008h] ; 8b 56 08 12608 12623 xor cx, cx ; 31 c9 12609 call 094 70h ; e8 f60c12624 call 094e0h ; e8 fc 0c 12610 12625 mov word [es:si+00ah], ax ; 26 89 44 0a 12611 12626 xor di, di ; 31 ff … … 12617 12632 xor ax, ax ; 31 c0 12618 12633 mov dx, word [bp-00ah] ; 8b 56 f6 12619 call 07 ee1h ; e8 47 f712634 call 07f4bh ; e8 47 f7 12620 12635 mov es, [bp-008h] ; 8e 46 f8 12621 12636 mov bx, word [bp-014h] ; 8b 5e ec … … 12624 12639 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12625 12640 xor ax, ax ; 31 c0 12626 call 08 3eeh ; e8 3c fc12641 call 08458h ; e8 3c fc 12627 12642 movzx ax, byte [bp-006h] ; 0f b6 46 fa 12628 12643 push ax ; 50 … … 12631 12646 mov ax, 000c0h ; b8 c0 00 12632 12647 mov dx, word [bp-00ah] ; 8b 56 f6 12633 call 09 4e7h ; e8 210d12648 call 09557h ; e8 27 0d 12634 12649 mov es, [bp-008h] ; 8e 46 f8 12635 12650 mov word [es:si+014h], di ; 26 89 7c 14 … … 12638 12653 mov ax, word [es:si+01ah] ; 26 8b 44 1a 12639 12654 test ax, ax ; 85 c0 12640 je short 088 04h ; 74 2712655 je short 0886eh ; 74 27 12641 12656 dec ax ; 48 12642 12657 mov es, [bp-00ah] ; 8e 46 f6 … … 12651 12666 mov ax, si ; 89 f0 12652 12667 mov dx, word [bp-008h] ; 8b 56 f8 12653 call 08 0e0h ; e8 d1 f812668 call 0814ah ; e8 d1 f8 12654 12669 les bx, [bp-00eh] ; c4 5e f2 12655 12670 mov ax, word [es:bx+004h] ; 26 8b 47 04 … … 12674 12689 mov ax, word [bp-00eh] ; 8b 46 f2 12675 12690 mov dx, word [bp-00ch] ; 8b 56 f4 12676 call 07 ef8h ; e8 aa f612691 call 07f62h ; e8 aa f6 12677 12692 les bx, [bp-00eh] ; c4 5e f2 12678 12693 mov ax, word [es:bx+006h] ; 26 8b 47 06 12679 12694 or ax, word [es:bx+004h] ; 26 0b 47 04 12680 jne short 088 60h ; 75 0512695 jne short 088cah ; 75 05 12681 12696 mov ax, strict word 00004h ; b8 04 00 12682 jmp short 088 62h ; eb 0212697 jmp short 088cch ; eb 02 12683 12698 xor ax, ax ; 31 c0 12684 12699 lea sp, [bp-004h] ; 8d 66 fc … … 12687 12702 pop bp ; 5d 12688 12703 retn 0000ch ; c2 0c 00 12689 ahci_port_detect_device_: ; 0xf88 6bLB 0x40112704 ahci_port_detect_device_: ; 0xf88d5 LB 0x401 12690 12705 push bp ; 55 12691 12706 mov bp, sp ; 89 e5 … … 12699 12714 movzx cx, bl ; 0f b6 cb 12700 12715 mov bx, cx ; 89 cb 12701 call 08 3eeh ; e8 69 fb12716 call 08458h ; e8 69 fb 12702 12717 mov dx, strict word 0000eh ; ba 0e 00 12703 12718 mov ax, strict word 00040h ; b8 40 00 12704 call 0166ch ; e8 de8d12719 call 0166ch ; e8 74 8d 12705 12720 mov word [bp-020h], ax ; 89 46 e0 12706 12721 mov si, 00122h ; be 22 01 … … 12775 12790 mov bx, strict word 0000fh ; bb 0f 00 12776 12791 xor cx, cx ; 31 c9 12777 call 0 7fd2h ; e8 90 f612792 call 0803ch ; e8 90 f6 12778 12793 cmp ax, strict word 00003h ; 3d 03 00 12779 jne near 08c 64h ; 0f 85 1b 0312794 jne near 08cceh ; 0f 85 1b 03 12780 12795 mov ax, word [bp-016h] ; 8b 46 ea 12781 12796 add ax, 00130h ; 05 30 01 … … 12804 12819 mov byte [bp-008h], al ; 88 46 f8 12805 12820 cmp AL, strict byte 004h ; 3c 04 12806 jnc near 08c 64h ; 0f 83 d5 0212821 jnc near 08cceh ; 0f 83 d5 02 12807 12822 mov dx, word [bp-016h] ; 8b 56 ea 12808 12823 add dx, 00118h ; 81 c2 18 01 … … 12811 12826 mov bx, strict word 00010h ; bb 10 00 12812 12827 xor cx, cx ; 31 c9 12813 call 07f 0fh ; e8 69 f512828 call 07f79h ; e8 69 f5 12814 12829 mov ax, word [bp-016h] ; 8b 46 ea 12815 12830 add ax, 00124h ; 05 24 01 … … 12835 12850 add cl, 00ch ; 80 c1 0c 12836 12851 test dx, dx ; 85 d2 12837 jne near 08 bb6h ; 0f 85 d4 0112852 jne near 08c20h ; 0f 85 d4 01 12838 12853 cmp ax, 00101h ; 3d 01 01 12839 jne near 08 bb6h ; 0f 85 cd 0112854 jne near 08c20h ; 0f 85 cd 01 12840 12855 mov es, [bp-00eh] ; 8e 46 f2 12841 12856 db 066h, 026h, 0c7h, 004h, 000h, 000h, 000h, 000h … … 12849 12864 mov ax, si ; 89 f0 12850 12865 mov dx, word [bp-020h] ; 8b 56 e0 12851 call 08 0e0h ; e8 cc f612866 call 0814ah ; e8 cc f6 12852 12867 mov byte [bp-00ah], cl ; 88 4e f6 12853 12868 test byte [bp-00228h], 080h ; f6 86 d8 fd 80 … … 12865 12880 mov word [bp-014h], dx ; 89 56 ec 12866 12881 cmp dx, 00fffh ; 81 fa ff 0f 12867 jne short 08a 57h ; 75 1012882 jne short 08ac1h ; 75 10 12868 12883 cmp di, strict byte 0ffffh ; 83 ff ff 12869 jne short 08a 57h ; 75 0b12884 jne short 08ac1h ; 75 0b 12870 12885 mov di, word [bp-00160h] ; 8b be a0 fe 12871 12886 mov dx, word [bp-0015eh] ; 8b 96 a2 fe … … 12896 12911 mov al, byte [bp-008h] ; 8a 46 f8 12897 12912 cmp AL, strict byte 001h ; 3c 01 12898 jc short 08 ac2h ; 72 0c12899 jbe short 08 acah ; 76 1212913 jc short 08b2ch ; 72 0c 12914 jbe short 08b34h ; 76 12 12900 12915 cmp AL, strict byte 003h ; 3c 03 12901 je short 08 ad2h ; 74 1612916 je short 08b3ch ; 74 16 12902 12917 cmp AL, strict byte 002h ; 3c 02 12903 je short 08 aceh ; 74 0e12904 jmp short 08b 1bh ; eb 5912918 je short 08b38h ; 74 0e 12919 jmp short 08b85h ; eb 59 12905 12920 test al, al ; 84 c0 12906 jne short 08b 1bh ; 75 5512921 jne short 08b85h ; 75 55 12907 12922 mov DL, strict byte 040h ; b2 40 12908 jmp short 08 ad4h ; eb 0a12923 jmp short 08b3eh ; eb 0a 12909 12924 mov DL, strict byte 048h ; b2 48 12910 jmp short 08 ad4h ; eb 0612925 jmp short 08b3eh ; eb 06 12911 12926 mov DL, strict byte 050h ; b2 50 12912 jmp short 08 ad4h ; eb 0212927 jmp short 08b3eh ; eb 02 12913 12928 mov DL, strict byte 058h ; b2 58 12914 12929 mov al, dl ; 88 d0 … … 12916 12931 movzx bx, al ; 0f b6 d8 12917 12932 mov ax, bx ; 89 d8 12918 call 016ach ; e8 cc8b12933 call 016ach ; e8 62 8b 12919 12934 test al, al ; 84 c0 12920 je short 08b 1bh ; 74 3712935 je short 08b85h ; 74 37 12921 12936 mov al, dl ; 88 d0 12922 12937 db 0feh, 0c0h 12923 12938 ; inc al ; fe c0 12924 12939 xor ah, ah ; 30 e4 12925 call 016ach ; e8 bf8b12940 call 016ach ; e8 55 8b 12926 12941 xor ah, ah ; 30 e4 12927 12942 mov cx, ax ; 89 c1 12928 12943 sal cx, 008h ; c1 e1 08 12929 12944 movzx ax, dl ; 0f b6 c2 12930 call 016ach ; e8 b28b12945 call 016ach ; e8 48 8b 12931 12946 xor ah, ah ; 30 e4 12932 12947 add ax, cx ; 01 c8 … … 12935 12950 add AL, strict byte 002h ; 04 02 12936 12951 xor ah, ah ; 30 e4 12937 call 016ach ; e8 a28b12952 call 016ach ; e8 38 8b 12938 12953 xor ah, ah ; 30 e4 12939 12954 mov word [bp-028h], ax ; 89 46 d8 12940 12955 mov ax, bx ; 89 d8 12941 call 016ach ; e8 988b12956 call 016ach ; e8 2e 8b 12942 12957 xor ah, ah ; 30 e4 12943 12958 mov word [bp-024h], ax ; 89 46 dc 12944 jmp short 08b 28h ; eb 0d12959 jmp short 08b92h ; eb 0d 12945 12960 mov bx, di ; 89 fb 12946 12961 mov cx, word [bp-014h] ; 8b 4e ec 12947 12962 mov dx, ss ; 8c d2 12948 12963 lea ax, [bp-028h] ; 8d 46 d8 12949 call 053 89h ; e8 61 c812950 mov bx, 00d 8ah ; bb 8a0d12964 call 053f3h ; e8 61 c8 12965 mov bx, 00da2h ; bb a2 0d 12951 12966 mov cx, ds ; 8c d9 12952 12967 mov ax, strict word 00004h ; b8 04 00 12953 call 01931h ; e8 fe8d12968 call 01931h ; e8 94 8d 12954 12969 push word [bp-014h] ; ff 76 ec 12955 12970 push di ; 57 … … 12966 12981 movzx ax, byte [bp-008h] ; 0f b6 46 f8 12967 12982 push ax ; 50 12968 push 00c c2h ; 68 c20c12983 push 00cdah ; 68 da 0c 12969 12984 push strict byte 00004h ; 6a 04 12970 call 01972h ; e8 16 8e12985 call 01972h ; e8 ac 8d 12971 12986 add sp, strict byte 00018h ; 83 c4 18 12972 12987 movzx di, byte [bp-00ah] ; 0f b6 7e f6 … … 12996 13011 mov dx, strict word 00075h ; ba 75 00 12997 13012 mov ax, strict word 00040h ; b8 40 00 12998 call 01650h ; e8 ab8a13013 call 01650h ; e8 41 8a 12999 13014 db 0feh, 0c0h 13000 13015 ; inc al ; fe c0 … … 13002 13017 mov dx, strict word 00075h ; ba 75 00 13003 13018 mov ax, strict word 00040h ; b8 40 00 13004 call 0165eh ; e8 ab8a13005 jmp near 08c 53h ; e9 9d 0013019 call 0165eh ; e8 41 8a 13020 jmp near 08cbdh ; e9 9d 00 13006 13021 cmp dx, 0eb14h ; 81 fa 14 eb 13007 jne near 08c 53h ; 0f 85 95 0013022 jne near 08cbdh ; 0f 85 95 00 13008 13023 cmp ax, 00101h ; 3d 01 01 13009 jne near 08c 53h ; 0f 85 8e 0013024 jne near 08cbdh ; 0f 85 8e 00 13010 13025 mov es, [bp-00eh] ; 8e 46 f2 13011 13026 db 066h, 026h, 0c7h, 004h, 000h, 000h, 000h, 000h … … 13019 13034 mov ax, si ; 89 f0 13020 13035 mov dx, word [bp-020h] ; 8b 56 e0 13021 call 08 0e0h ; e8 f0 f413036 call 0814ah ; e8 f0 f4 13022 13037 test byte [bp-00228h], 080h ; f6 86 d8 fd 80 13023 13038 db 00fh, 095h, 0c0h … … 13060 13075 pop bp ; 5d 13061 13076 retn ; c3 13062 ahci_mem_alloc_: ; 0xf8c 6cLB 0x4313077 ahci_mem_alloc_: ; 0xf8cd6 LB 0x43 13063 13078 push bp ; 55 13064 13079 mov bp, sp ; 89 e5 … … 13070 13085 mov dx, 00413h ; ba 13 04 13071 13086 xor ax, ax ; 31 c0 13072 call 0166ch ; e8 f08913087 call 0166ch ; e8 86 89 13073 13088 test ax, ax ; 85 c0 13074 je short 08 ca5h ; 74 2513089 je short 08d0fh ; 74 25 13075 13090 dec ax ; 48 13076 13091 mov bx, ax ; 89 c3 … … 13079 13094 sal ax, 1 ; d1 e0 13080 13095 rcl dx, 1 ; d1 d2 13081 loop 08c 88h ; e2 fa13096 loop 08cf2h ; e2 fa 13082 13097 mov si, ax ; 89 c6 13083 13098 mov di, dx ; 89 d7 … … 13085 13100 shr di, 1 ; d1 ef 13086 13101 rcr si, 1 ; d1 de 13087 loop 08c 95h ; e2 fa13102 loop 08cffh ; e2 fa 13088 13103 mov dx, 00413h ; ba 13 04 13089 13104 xor ax, ax ; 31 c0 13090 call 0167ah ; e8 d78913105 call 0167ah ; e8 6d 89 13091 13106 mov ax, si ; 89 f0 13092 13107 lea sp, [bp-00ah] ; 8d 66 f6 … … 13098 13113 pop bp ; 5d 13099 13114 retn ; c3 13100 ahci_hba_init_: ; 0xf8 cafLB 0x12513115 ahci_hba_init_: ; 0xf8d19 LB 0x125 13101 13116 push bp ; 55 13102 13117 mov bp, sp ; 89 e5 … … 13110 13125 mov dx, strict word 0000eh ; ba 0e 00 13111 13126 mov ax, strict word 00040h ; b8 40 00 13112 call 0166ch ; e8 a78913127 call 0166ch ; e8 3d 89 13113 13128 mov bx, 00122h ; bb 22 01 13114 13129 mov word [bp-010h], ax ; 89 46 f0 … … 13127 13142 shr eax, 010h ; 66 c1 e8 10 13128 13143 xchg dx, ax ; 92 13129 call 08c 6ch ; e8 82 ff13144 call 08cd6h ; e8 82 ff 13130 13145 mov di, ax ; 89 c7 13131 13146 test ax, ax ; 85 c0 13132 je near 08 db3h ; 0f 84 c1 0013147 je near 08e1dh ; 0f 84 c1 00 13133 13148 mov es, [bp-010h] ; 8e 46 f0 13134 13149 mov word [es:bx+001eeh], di ; 26 89 bf ee 01 … … 13144 13159 mov dx, strict word 00004h ; ba 04 00 13145 13160 mov ax, si ; 89 f0 13146 call 07f 0fh ; e8 e9 f113161 call 07f79h ; e8 e9 f1 13147 13162 mov ax, strict word 00004h ; b8 04 00 13148 13163 xor cx, cx ; 31 c9 … … 13161 13176 xchg dx, ax ; 92 13162 13177 test AL, strict byte 001h ; a8 01 13163 jne short 08d 26h ; 75 de13178 jne short 08d90h ; 75 de 13164 13179 xor ax, ax ; 31 c0 13165 13180 xor cx, cx ; 31 c9 … … 13179 13194 mov bx, strict word 0001fh ; bb 1f 00 13180 13195 xor cx, cx ; 31 c9 13181 call 0 7fd2h ; e8 66 f213196 call 0803ch ; e8 66 f2 13182 13197 db 0feh, 0c0h 13183 13198 ; inc al ; fe c0 13184 13199 mov byte [bp-00eh], al ; 88 46 f2 13185 13200 mov byte [bp-00ch], 000h ; c6 46 f4 00 13186 jmp short 08d 80h ; eb 0913201 jmp short 08deah ; eb 09 13187 13202 inc byte [bp-00ch] ; fe 46 f4 13188 13203 cmp byte [bp-00ch], 020h ; 80 7e f4 20 13189 jnc short 08 db1h ; 73 3113204 jnc short 08e1bh ; 73 31 13190 13205 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 13191 13206 mov ax, strict word 00001h ; b8 01 00 13192 13207 xor dx, dx ; 31 d2 13193 jcxz 08d 91h ; e3 0613208 jcxz 08dfbh ; e3 06 13194 13209 sal ax, 1 ; d1 e0 13195 13210 rcl dx, 1 ; d1 d2 13196 loop 08d 8bh ; e2 fa13211 loop 08df5h ; e2 fa 13197 13212 mov bx, ax ; 89 c3 13198 13213 mov cx, dx ; 89 d1 13199 13214 mov dx, strict word 0000ch ; ba 0c 00 13200 13215 mov ax, si ; 89 f0 13201 call 0 7f99h ; e8 fc f113216 call 08003h ; e8 fc f1 13202 13217 test al, al ; 84 c0 13203 je short 08d 77h ; 74 d613218 je short 08de1h ; 74 d6 13204 13219 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 13205 13220 xor ax, ax ; 31 c0 13206 13221 mov dx, di ; 89 fa 13207 call 088 6bh ; e8 bf fa13222 call 088d5h ; e8 bf fa 13208 13223 dec byte [bp-00eh] ; fe 4e f2 13209 jne short 08d 77h ; 75 c613224 jne short 08de1h ; 75 c6 13210 13225 xor ax, ax ; 31 c0 13211 13226 lea sp, [bp-00ah] ; 8d 66 f6 … … 13217 13232 pop bp ; 5d 13218 13233 retn ; c3 13219 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 a3h, 08eh, 081h, 08eh, 087h, 08eh, 08dh, 08eh, 093h13220 db 08eh, 0 99h, 08eh, 09fh, 08eh, 0a3h, 08eh13221 _ahci_init: ; 0xf8 dd4LB 0xfe13234 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 00dh, 08fh, 0ebh, 08eh, 0f1h, 08eh, 0f7h, 08eh, 0fdh 13235 db 08eh, 003h, 08fh, 009h, 08fh, 00dh, 08fh 13236 _ahci_init: ; 0xf8e3e LB 0xfe 13222 13237 push bp ; 55 13223 13238 mov bp, sp ; 89 e5 … … 13227 13242 mov ax, 00601h ; b8 01 06 13228 13243 mov dx, strict word 00001h ; ba 01 00 13229 call 09 2f2h ; e8 0d 0513244 call 0935ch ; e8 0d 05 13230 13245 mov dx, ax ; 89 c2 13231 13246 cmp ax, strict word 0ffffh ; 3d ff ff 13232 je near 08 ecbh ; 0f 84 dd 0013247 je near 08f35h ; 0f 84 dd 00 13233 13248 xor al, al ; 30 c0 13234 13249 shr ax, 008h ; c1 e8 08 … … 13238 13253 xor ah, ah ; 30 e4 13239 13254 mov bx, strict word 00034h ; bb 34 00 13240 call 093 1dh ; e8 1a 0513255 call 09387h ; e8 1a 05 13241 13256 mov cl, al ; 88 c1 13242 13257 test cl, cl ; 84 c9 13243 je short 08e 2ch ; 74 2313258 je short 08e96h ; 74 23 13244 13259 movzx bx, cl ; 0f b6 d9 13245 13260 movzx di, byte [bp-008h] ; 0f b6 7e f8 … … 13247 13262 mov dx, di ; 89 fa 13248 13263 mov ax, si ; 89 f0 13249 call 093 1dh ; e8 02 0513264 call 09387h ; e8 02 05 13250 13265 cmp AL, strict byte 012h ; 3c 12 13251 je short 08e 2ch ; 74 0d13266 je short 08e96h ; 74 0d 13252 13267 mov al, cl ; 88 c8 13253 13268 db 0feh, 0c0h … … 13256 13271 mov dx, di ; 89 fa 13257 13272 mov ax, si ; 89 f0 13258 jmp short 08e 00h ; eb d413273 jmp short 08e6ah ; eb d4 13259 13274 test cl, cl ; 84 c9 13260 je near 08 ecbh ; 0f 84 99 0013275 je near 08f35h ; 0f 84 99 00 13261 13276 add cl, 002h ; 80 c1 02 13262 13277 movzx bx, cl ; 0f b6 d9 … … 13265 13280 mov dx, di ; 89 fa 13266 13281 mov ax, si ; 89 f0 13267 call 093 1dh ; e8 d6 0413282 call 09387h ; e8 d6 04 13268 13283 cmp AL, strict byte 010h ; 3c 10 13269 jne near 08 ecbh ; 0f 85 7e 0013284 jne near 08f35h ; 0f 85 7e 00 13270 13285 mov byte [bp-006h], 000h ; c6 46 fa 00 13271 13286 mov al, cl ; 88 c8 … … 13274 13289 mov dx, di ; 89 fa 13275 13290 mov ax, si ; 89 f0 13276 call 093 41h ; e8 e2 0413291 call 093abh ; e8 e2 04 13277 13292 mov dx, ax ; 89 c2 13278 13293 and ax, strict word 0000fh ; 25 0f 00 13279 13294 sub ax, strict word 00004h ; 2d 04 00 13280 13295 cmp ax, strict word 0000bh ; 3d 0b 00 13281 jnbe short 08 ea3h ; 77 3713296 jnbe short 08f0dh ; 77 37 13282 13297 push CS ; 0e 13283 13298 pop ES ; 07 13284 13299 mov cx, strict word 00008h ; b9 08 00 13285 mov di, 08 dbdh ; bf bd 8d13300 mov di, 08e27h ; bf 27 8e 13286 13301 repne scasb ; f2 ae 13287 13302 sal cx, 1 ; d1 e1 13288 13303 mov di, cx ; 89 cf 13289 mov ax, word [cs:di-07 23ch] ; 2e 8b 85 c4 8d13304 mov ax, word [cs:di-071d2h] ; 2e 8b 85 2e 8e 13290 13305 jmp ax ; ff e0 13291 13306 mov byte [bp-006h], 010h ; c6 46 fa 10 13292 jmp short 08 ea3h ; eb 1c13307 jmp short 08f0dh ; eb 1c 13293 13308 mov byte [bp-006h], 014h ; c6 46 fa 14 13294 jmp short 08 ea3h ; eb 1613309 jmp short 08f0dh ; eb 16 13295 13310 mov byte [bp-006h], 018h ; c6 46 fa 18 13296 jmp short 08 ea3h ; eb 1013311 jmp short 08f0dh ; eb 10 13297 13312 mov byte [bp-006h], 01ch ; c6 46 fa 1c 13298 jmp short 08 ea3h ; eb 0a13313 jmp short 08f0dh ; eb 0a 13299 13314 mov byte [bp-006h], 020h ; c6 46 fa 20 13300 jmp short 08 ea3h ; eb 0413315 jmp short 08f0dh ; eb 04 13301 13316 mov byte [bp-006h], 024h ; c6 46 fa 24 13302 13317 mov si, dx ; 89 d6 … … 13305 13320 mov al, byte [bp-006h] ; 8a 46 fa 13306 13321 test al, al ; 84 c0 13307 je short 08 ecbh ; 74 1913322 je short 08f35h ; 74 19 13308 13323 movzx bx, al ; 0f b6 d8 13309 13324 movzx dx, byte [bp-008h] ; 0f b6 56 f8 13310 13325 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13311 call 093 63h ; e8 a3 0413326 call 093cdh ; e8 a3 04 13312 13327 test AL, strict byte 001h ; a8 01 13313 je short 08 ecbh ; 74 0713328 je short 08f35h ; 74 07 13314 13329 and AL, strict byte 0f0h ; 24 f0 13315 13330 add ax, si ; 01 f0 13316 call 08 cafh ; e8 e4 fd13331 call 08d19h ; e8 e4 fd 13317 13332 lea sp, [bp-004h] ; 8d 66 fc 13318 13333 pop di ; 5f … … 13320 13335 pop bp ; 5d 13321 13336 retn ; c3 13322 apm_out_str_: ; 0xf8 ed2LB 0x3913337 apm_out_str_: ; 0xf8f3c LB 0x39 13323 13338 push bp ; 55 13324 13339 mov bp, sp ; 89 e5 … … 13326 13341 mov bx, ax ; 89 c3 13327 13342 cmp byte [bx], 000h ; 80 3f 00 13328 je short 08 ee7h ; 74 0a13343 je short 08f51h ; 74 0a 13329 13344 mov al, byte [bx] ; 8a 07 13330 13345 out DX, AL ; ee … … 13333 13348 db 00ah, 0c0h 13334 13349 ; or al, al ; 0a c0 13335 jne short 08 edfh ; 75 f813350 jne short 08f49h ; 75 f8 13336 13351 lea sp, [bp-002h] ; 8d 66 fe 13337 13352 pop bx ; 5b 13338 13353 pop bp ; 5d 13339 13354 retn ; c3 13340 db 02eh, 08fh, 0fah 13341 ; cs pop dx ; 2e 8f fa 13342 pop word [bx+si-071h] ; 8f 40 8f 13343 pop bx ; 5b 13344 db 08fh, 0fah 13345 ; pop dx ; 8f fa 13346 pop word [bp-00571h] ; 8f 86 8f fa 13347 db 08fh, 08bh, 08fh, 0cfh 13348 ; pop word [bp+di-03071h] ; 8f 8b 8f cf 13349 db 08fh, 0cfh 13350 ; pop di ; 8f cf 13351 db 08fh, 0cfh 13352 ; pop di ; 8f cf 13353 db 08fh, 0cah 13354 ; pop dx ; 8f ca 13355 db 08fh, 0cfh 13356 ; pop di ; 8f cf 13357 db 08fh, 0cfh 13358 ; pop di ; 8f cf 13359 db 08fh, 0c3h 13360 ; pop bx ; 8f c3 13361 db 08fh 13362 _apm_function: ; 0xf8f0b LB 0xf5 13355 cbw ; 98 13356 db 08fh, 064h, 090h 13357 ; pop word [si-070h] ; 8f 64 90 13358 stosb ; aa 13359 db 08fh, 0c5h 13360 ; pop bp ; 8f c5 13361 db 08fh, 064h, 090h 13362 ; pop word [si-070h] ; 8f 64 90 13363 db 0f0h, 08fh, 064h, 090h 13364 ; Illegal opcode ; f0 8f 64 90 13365 cmc ; f5 13366 db 08fh, 039h 13367 ; pop word [bx+di] ; 8f 39 13368 nop ; 90 13369 cmp word [bx+si-06fc7h], dx ; 39 90 39 90 13370 xor AL, strict byte 090h ; 34 90 13371 cmp word [bx+si-06fc7h], dx ; 39 90 39 90 13372 db 02dh 13373 nop ; 90 13374 _apm_function: ; 0xf8f75 LB 0xf5 13363 13375 push bp ; 55 13364 13376 mov bp, sp ; 89 e5 … … 13368 13380 xor ah, ah ; 30 e4 13369 13381 cmp ax, strict word 0000eh ; 3d 0e 00 13370 jnbe near 0 8fcfh ; 0f 87 b0 0013382 jnbe near 09039h ; 0f 87 b0 00 13371 13383 mov bx, ax ; 89 c3 13372 13384 add bx, ax ; 01 c3 13373 13385 mov dx, word [bp+018h] ; 8b 56 18 13374 13386 or dl, 001h ; 80 ca 01 13375 jmp word [cs:bx-07 113h] ; 2e ff a7 ed 8e13387 jmp word [cs:bx-070a9h] ; 2e ff a7 57 8f 13376 13388 mov word [bp+012h], 00102h ; c7 46 12 02 01 13377 13389 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 13378 13390 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 13379 jmp near 0 8ffah ; e9 ba 0013391 jmp near 09064h ; e9 ba 00 13380 13392 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 13381 mov word [bp+00ch], 095 54h ; c7 46 0c 54 9513393 mov word [bp+00ch], 095c4h ; c7 46 0c c4 95 13382 13394 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 13383 13395 mov ax, strict word 0fff0h ; b8 f0 ff 13384 13396 mov word [bp+006h], ax ; 89 46 06 13385 13397 mov word [bp+004h], ax ; 89 46 04 13386 jmp near 0 8ffah ; e9 9f 0013398 jmp near 09064h ; e9 9f 00 13387 13399 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 13388 13400 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 13397 13409 mov si, ax ; 89 c6 13398 13410 sal esi, 010h ; 66 c1 e6 10 13399 jmp near 0 8ffah ; e9 74 0013411 jmp near 09064h ; e9 74 00 13400 13412 sti ; fb 13401 13413 hlt ; f4 13402 jmp near 0 8ffah ; e9 6f 0013414 jmp near 09064h ; e9 6f 00 13403 13415 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 13404 je short 0 8fb0h ; 74 1f13416 je short 0901ah ; 74 1f 13405 13417 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 13406 je short 0 8fa8h ; 74 1113418 je short 09012h ; 74 11 13407 13419 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 13408 jne short 0 8fb8h ; 75 1b13420 jne short 09022h ; 75 1b 13409 13421 mov dx, 08900h ; ba 00 89 13410 mov ax, 00 cfah ; b8 fa 0c13411 call 08 ed2h ; e8 2c ff13412 jmp short 0 8ffah ; eb 5213422 mov ax, 00d12h ; b8 12 0d 13423 call 08f3ch ; e8 2c ff 13424 jmp short 09064h ; eb 52 13413 13425 mov dx, 08900h ; ba 00 89 13414 mov ax, 00d 02h ; b8 020d13415 jmp short 0 8fa3h ; eb f313426 mov ax, 00d1ah ; b8 1a 0d 13427 jmp short 0900dh ; eb f3 13416 13428 mov dx, 08900h ; ba 00 89 13417 mov ax, 00d 0ah ; b8 0a0d13418 jmp short 0 8fa3h ; eb eb13429 mov ax, 00d22h ; b8 22 0d 13430 jmp short 0900dh ; eb eb 13419 13431 or ah, 00ah ; 80 cc 0a 13420 13432 mov word [bp+012h], ax ; 89 46 12 13421 13433 mov word [bp+018h], dx ; 89 56 18 13422 jmp short 0 8ffah ; eb 3713434 jmp short 09064h ; eb 37 13423 13435 mov word [bp+012h], 00102h ; c7 46 12 02 01 13424 jmp short 0 8ffah ; eb 3013436 jmp short 09064h ; eb 30 13425 13437 or ah, 080h ; 80 cc 80 13426 jmp short 0 8fbbh ; eb ec13427 mov bx, 00d 8ah ; bb 8a0d13438 jmp short 09025h ; eb ec 13439 mov bx, 00da2h ; bb a2 0d 13428 13440 mov cx, ds ; 8c d9 13429 13441 mov ax, strict word 00004h ; b8 04 00 13430 call 01931h ; e8 57 8913442 call 01931h ; e8 ed 88 13431 13443 push word [bp+00ch] ; ff 76 0c 13432 13444 push word [bp+012h] ; ff 76 12 13433 push 00d 13h ; 68 130d13445 push 00d2bh ; 68 2b 0d 13434 13446 push strict byte 00004h ; 6a 04 13435 call 01972h ; e8 8a8913447 call 01972h ; e8 20 89 13436 13448 add sp, strict byte 00008h ; 83 c4 08 13437 13449 mov ax, word [bp+012h] ; 8b 46 12 … … 13444 13456 pop bp ; 5d 13445 13457 retn ; c3 13446 pci16_select_reg_: ; 0xf90 00LB 0x2413458 pci16_select_reg_: ; 0xf906a LB 0x24 13447 13459 push bp ; 55 13448 13460 mov bp, sp ; 89 e5 … … 13461 13473 pop bp ; 5d 13462 13474 retn ; c3 13463 pci16_find_device_: ; 0xf90 24LB 0xf713475 pci16_find_device_: ; 0xf908e LB 0xf7 13464 13476 push bp ; 55 13465 13477 mov bp, sp ; 89 e5 … … 13475 13487 mov byte [bp-008h], 000h ; c6 46 f8 00 13476 13488 test bl, 007h ; f6 c3 07 13477 jne short 090 6ch ; 75 2d13489 jne short 090d6h ; 75 2d 13478 13490 mov dx, strict word 0000eh ; ba 0e 00 13479 13491 mov ax, bx ; 89 d8 13480 call 090 00h ; e8 b9 ff13492 call 0906ah ; e8 b9 ff 13481 13493 mov dx, 00cfeh ; ba fe 0c 13482 13494 in AL, DX ; ec … … 13485 13497 mov byte [bp-006h], al ; 88 46 fa 13486 13498 cmp AL, strict byte 0ffh ; 3c ff 13487 jne short 090 5ah ; 75 0613499 jne short 090c4h ; 75 06 13488 13500 add bx, strict byte 00008h ; 83 c3 08 13489 jmp near 09 0edh ; e9 93 0013501 jmp near 09157h ; e9 93 00 13490 13502 test byte [bp-006h], 080h ; f6 46 fa 80 13491 je short 090 67h ; 74 0713503 je short 090d1h ; 74 07 13492 13504 mov word [bp-00ah], strict word 00001h ; c7 46 f6 01 00 13493 jmp short 090 6ch ; eb 0513505 jmp short 090d6h ; eb 05 13494 13506 mov word [bp-00ah], strict word 00008h ; c7 46 f6 08 00 13495 13507 mov al, byte [bp-006h] ; 8a 46 fa 13496 13508 and AL, strict byte 007h ; 24 07 13497 13509 cmp AL, strict byte 001h ; 3c 01 13498 jne short 090 94h ; 75 1f13510 jne short 090feh ; 75 1f 13499 13511 mov ax, bx ; 89 d8 13500 13512 shr ax, 008h ; c1 e8 08 13501 13513 test ax, ax ; 85 c0 13502 jne short 090 94h ; 75 1613514 jne short 090feh ; 75 16 13503 13515 mov dx, strict word 0001ah ; ba 1a 00 13504 13516 mov ax, bx ; 89 d8 13505 call 090 00h ; e8 7a ff13517 call 0906ah ; e8 7a ff 13506 13518 mov dx, 00cfeh ; ba fe 0c 13507 13519 in AL, DX ; ec … … 13509 13521 ; sub ah, ah ; 2a e4 13510 13522 cmp al, byte [bp-008h] ; 3a 46 f8 13511 jbe short 090 94h ; 76 0313523 jbe short 090feh ; 76 03 13512 13524 mov byte [bp-008h], al ; 88 46 f8 13513 13525 test di, di ; 85 ff 13514 je short 09 09dh ; 74 0513526 je short 09107h ; 74 05 13515 13527 mov dx, strict word 00008h ; ba 08 00 13516 jmp short 09 09fh ; eb 0213528 jmp short 09109h ; eb 02 13517 13529 xor dx, dx ; 31 d2 13518 13530 mov ax, bx ; 89 d8 13519 call 090 00h ; e8 5c ff13531 call 0906ah ; e8 5c ff 13520 13532 mov dx, 00cfch ; ba fc 0c 13521 13533 in eax, DX ; 66 ed … … 13528 13540 mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00 13529 13541 test di, di ; 85 ff 13530 je short 09 0ceh ; 74 0f13542 je short 09138h ; 74 0f 13531 13543 mov cx, strict word 00008h ; b9 08 00 13532 13544 shr dx, 1 ; d1 ea 13533 13545 rcr ax, 1 ; d1 d8 13534 loop 09 0c2h ; e2 fa13546 loop 0912ch ; e2 fa 13535 13547 mov word [bp-00eh], ax ; 89 46 f2 13536 13548 mov word [bp-00ch], dx ; 89 56 f4 13537 13549 mov ax, word [bp-00ch] ; 8b 46 f4 13538 13550 cmp ax, word [bp-014h] ; 3b 46 ec 13539 jne short 09 0deh ; 75 0813551 jne short 09148h ; 75 08 13540 13552 mov ax, word [bp-00eh] ; 8b 46 f2 13541 13553 cmp ax, word [bp-012h] ; 3b 46 ee 13542 je short 09 0e4h ; 74 0613554 je short 0914eh ; 74 06 13543 13555 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 13544 je short 09 0eah ; 74 0613556 je short 09154h ; 74 06 13545 13557 dec si ; 4e 13546 13558 cmp si, strict byte 0ffffh ; 83 fe ff 13547 je short 09 0fch ; 74 1213559 je short 09166h ; 74 12 13548 13560 add bx, word [bp-00ah] ; 03 5e f6 13549 13561 mov dx, bx ; 89 da … … 13551 13563 movzx ax, byte [bp-008h] ; 0f b6 46 f8 13552 13564 cmp dx, ax ; 39 c2 13553 jbe near 090 3ah ; 0f 86 3e ff13565 jbe near 090a4h ; 0f 86 3e ff 13554 13566 cmp si, strict byte 0ffffh ; 83 fe ff 13555 jne short 091 05h ; 75 0413567 jne short 0916fh ; 75 04 13556 13568 mov ax, bx ; 89 d8 13557 jmp short 091 08h ; eb 0313569 jmp short 09172h ; eb 03 13558 13570 mov ax, strict word 0ffffh ; b8 ff ff 13559 13571 lea sp, [bp-004h] ; 8d 66 fc … … 13562 13574 pop bp ; 5d 13563 13575 retn ; c3 13564 std ; fd 13565 xchg cx, ax ; 91 13566 pop SS ; 17 13567 xchg dx, ax ; 92 13568 sub dl, byte [bp+si-06dc1h] ; 2a 92 3f 92 13569 push dx ; 52 13570 xchg dx, ax ; 92 13571 db 065h, 092h 13572 ; gs xchg dx, ax ; 65 92 13573 _pci16_function: ; 0xf911b LB 0x1d7 13576 db 067h, 092h, 081h, 092h, 094h, 092h, 0a9h, 092h, 0bch, 092h, 0cfh, 092h 13577 _pci16_function: ; 0xf9185 LB 0x1d7 13574 13578 push bp ; 55 13575 13579 mov bp, sp ; 89 e5 … … 13585 13589 xor ah, ah ; 30 e4 13586 13590 cmp bx, strict byte 00003h ; 83 fb 03 13587 jc short 091 54h ; 72 1a13588 jbe short 09 1ach ; 76 7013591 jc short 091beh ; 72 1a 13592 jbe short 09216h ; 76 70 13589 13593 cmp bx, strict byte 0000eh ; 83 fb 0e 13590 je near 092 79h ; 0f 84 36 0113594 je near 092e3h ; 0f 84 36 01 13591 13595 cmp bx, strict byte 00008h ; 83 fb 08 13592 jc near 09 2beh ; 0f 82 74 0113596 jc near 09328h ; 0f 82 74 01 13593 13597 cmp bx, strict byte 0000dh ; 83 fb 0d 13594 jbe near 09 1d1h ; 0f 86 80 0013595 jmp near 09 2beh ; e9 6a 0113598 jbe near 0923bh ; 0f 86 80 00 13599 jmp near 09328h ; e9 6a 01 13596 13600 cmp bx, strict byte 00002h ; 83 fb 02 13597 je short 091 7ch ; 74 2313601 je short 091e6h ; 74 23 13598 13602 cmp bx, strict byte 00001h ; 83 fb 01 13599 jne near 09 2beh ; 0f 85 5e 0113603 jne near 09328h ; 0f 85 5e 01 13600 13604 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 13601 13605 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 13603 13607 mov word [bp+018h], 04350h ; c7 46 18 50 43 13604 13608 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 13605 jmp near 09 2ebh ; e9 6f 0113609 jmp near 09355h ; e9 6f 01 13606 13610 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 13607 jne short 091 88h ; 75 0613611 jne short 091f2h ; 75 06 13608 13612 or ah, 083h ; 80 cc 83 13609 jmp near 09 2e4h ; e9 5c 0113613 jmp near 0934eh ; e9 5c 01 13610 13614 mov bx, word [bp+008h] ; 8b 5e 08 13611 13615 mov dx, word [bp+01ch] ; 8b 56 1c 13612 13616 mov ax, word [bp+018h] ; 8b 46 18 13613 13617 xor cx, cx ; 31 c9 13614 call 090 24h ; e8 8e fe13618 call 0908eh ; e8 8e fe 13615 13619 cmp ax, strict word 0ffffh ; 3d ff ff 13616 jne short 09 1a6h ; 75 0b13620 jne short 09210h ; 75 0b 13617 13621 mov ax, word [bp+020h] ; 8b 46 20 13618 13622 xor ah, ah ; 30 e4 13619 13623 or ah, 086h ; 80 cc 86 13620 jmp near 09 2e4h ; e9 3e 0113624 jmp near 0934eh ; e9 3e 01 13621 13625 mov word [bp+014h], ax ; 89 46 14 13622 jmp near 09 2ebh ; e9 3f 0113626 jmp near 09355h ; e9 3f 01 13623 13627 mov bx, word [bp+008h] ; 8b 5e 08 13624 13628 mov ax, word [bp+01ch] ; 8b 46 1c 13625 13629 mov dx, word [bp+01eh] ; 8b 56 1e 13626 13630 mov cx, strict word 00001h ; b9 01 00 13627 call 090 24h ; e8 69 fe13631 call 0908eh ; e8 69 fe 13628 13632 cmp ax, strict word 0ffffh ; 3d ff ff 13629 jne short 09 1cbh ; 75 0b13633 jne short 09235h ; 75 0b 13630 13634 mov ax, word [bp+020h] ; 8b 46 20 13631 13635 xor ah, ah ; 30 e4 13632 13636 or ah, 086h ; 80 cc 86 13633 jmp near 09 2e4h ; e9 19 0113637 jmp near 0934eh ; e9 19 01 13634 13638 mov word [bp+014h], ax ; 89 46 14 13635 jmp near 09 2ebh ; e9 1a 0113639 jmp near 09355h ; e9 1a 01 13636 13640 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 13637 jc short 09 1deh ; 72 0613641 jc short 09248h ; 72 06 13638 13642 or ah, 087h ; 80 cc 87 13639 jmp near 09 2e4h ; e9 06 0113643 jmp near 0934eh ; e9 06 01 13640 13644 mov dx, word [bp+004h] ; 8b 56 04 13641 13645 mov ax, word [bp+014h] ; 8b 46 14 13642 call 090 00h ; e8 19 fe13646 call 0906ah ; e8 19 fe 13643 13647 mov bx, word [bp+020h] ; 8b 5e 20 13644 13648 xor bh, bh ; 30 ff 13645 13649 sub bx, strict byte 00008h ; 83 eb 08 13646 13650 cmp bx, strict byte 00005h ; 83 fb 05 13647 jnbe near 09 2ebh ; 0f 87 f5 0013651 jnbe near 09355h ; 0f 87 f5 00 13648 13652 add bx, bx ; 01 db 13649 jmp word [cs:bx-06e f1h] ; 2e ff a7 0f9113653 jmp word [cs:bx-06e87h] ; 2e ff a7 79 91 13650 13654 mov bx, word [bp+01ch] ; 8b 5e 1c 13651 13655 xor bl, bl ; 30 db … … 13658 13662 or bx, ax ; 09 c3 13659 13663 mov word [bp+01ch], bx ; 89 5e 1c 13660 jmp near 09 2ebh ; e9 d4 0013664 jmp near 09355h ; e9 d4 00 13661 13665 mov dx, word [bp+004h] ; 8b 56 04 13662 13666 xor dh, dh ; 30 f6 … … 13665 13669 in ax, DX ; ed 13666 13670 mov word [bp+01ch], ax ; 89 46 1c 13667 jmp near 09 2ebh ; e9 c1 0013671 jmp near 09355h ; e9 c1 00 13668 13672 mov dx, 00cfch ; ba fc 0c 13669 13673 in eax, DX ; 66 ed … … 13674 13678 mov word [bp+01ch], ax ; 89 46 1c 13675 13679 mov word [bp+01eh], dx ; 89 56 1e 13676 jmp near 09 2ebh ; e9 ac 0013680 jmp near 09355h ; e9 ac 00 13677 13681 mov ax, word [bp+01ch] ; 8b 46 1c 13678 13682 mov dx, word [bp+004h] ; 8b 56 04 … … 13681 13685 add dx, 00cfch ; 81 c2 fc 0c 13682 13686 out DX, AL ; ee 13683 jmp near 09 2ebh ; e9 99 0013687 jmp near 09355h ; e9 99 00 13684 13688 mov ax, word [bp+01ch] ; 8b 46 1c 13685 13689 mov dx, word [bp+004h] ; 8b 56 04 … … 13688 13692 add dx, 00cfch ; 81 c2 fc 0c 13689 13693 out DX, ax ; ef 13690 jmp near 09 2ebh ; e9 86 0013694 jmp near 09355h ; e9 86 00 13691 13695 mov ax, word [bp+01ch] ; 8b 46 1c 13692 13696 mov cx, word [bp+01eh] ; 8b 4e 1e … … 13697 13701 ; mov ax, cx ; 8b c1 13698 13702 out DX, eax ; 66 ef 13699 jmp short 09 2ebh ; eb 7213703 jmp short 09355h ; eb 72 13700 13704 mov bx, word [bp+004h] ; 8b 5e 04 13701 13705 mov es, [bp+026h] ; 8e 46 26 … … 13704 13708 mov cx, word [0f4a0h] ; 8b 0e a0 f4 13705 13709 cmp cx, word [es:bx] ; 26 3b 0f 13706 jbe short 09 29fh ; 76 1113710 jbe short 09309h ; 76 11 13707 13711 mov ax, word [bp+020h] ; 8b 46 20 13708 13712 xor ah, ah ; 30 e4 … … 13710 13714 mov word [bp+020h], ax ; 89 46 20 13711 13715 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 13712 jmp short 09 2b3h ; eb 1413716 jmp short 0931dh ; eb 14 13713 13717 les di, [es:bx+002h] ; 26 c4 7f 02 13714 13718 mov si, 0f2c0h ; be c0 f2 … … 13722 13726 les bx, [bp-008h] ; c4 5e f8 13723 13727 mov word [es:bx], ax ; 26 89 07 13724 jmp short 09 2ebh ; eb 2d13725 mov bx, 00d 8ah ; bb 8a0d13728 jmp short 09355h ; eb 2d 13729 mov bx, 00da2h ; bb a2 0d 13726 13730 mov cx, ds ; 8c d9 13727 13731 mov ax, strict word 00004h ; b8 04 00 13728 call 01931h ; e8 68 8613732 call 01931h ; e8 fe 85 13729 13733 mov ax, word [bp+014h] ; 8b 46 14 13730 13734 push ax ; 50 13731 13735 mov ax, word [bp+020h] ; 8b 46 20 13732 13736 push ax ; 50 13733 push 00d 46h ; 68 460d13737 push 00d5eh ; 68 5e 0d 13734 13738 push strict byte 00004h ; 6a 04 13735 call 01972h ; e8 998613739 call 01972h ; e8 2f 86 13736 13740 add sp, strict byte 00008h ; 83 c4 08 13737 13741 mov ax, word [bp+020h] ; 8b 46 20 … … 13745 13749 pop bp ; 5d 13746 13750 retn ; c3 13747 pci_find_classcode_: ; 0xf9 2f2LB 0x2b13751 pci_find_classcode_: ; 0xf935c LB 0x2b 13748 13752 push bp ; 55 13749 13753 mov bp, sp ; 89 e5 … … 13760 13764 int 01ah ; cd 1a 13761 13765 cmp ah, 000h ; 80 fc 00 13762 je near 093 13h ; 0f 84 03 0013766 je near 0937dh ; 0f 84 03 00 13763 13767 mov bx, strict word 0ffffh ; bb ff ff 13764 13768 mov ax, bx ; 89 d8 … … 13769 13773 pop bp ; 5d 13770 13774 retn ; c3 13771 pci_read_config_byte_: ; 0xf93 1dLB 0x2413775 pci_read_config_byte_: ; 0xf9387 LB 0x24 13772 13776 push bp ; 55 13773 13777 mov bp, sp ; 89 e5 … … 13788 13792 pop bp ; 5d 13789 13793 retn ; c3 13790 pci_read_config_word_: ; 0xf93 41LB 0x2213794 pci_read_config_word_: ; 0xf93ab LB 0x22 13791 13795 push bp ; 55 13792 13796 mov bp, sp ; 89 e5 … … 13807 13811 pop bp ; 5d 13808 13812 retn ; c3 13809 pci_read_config_dword_: ; 0xf93 63LB 0x2713813 pci_read_config_dword_: ; 0xf93cd LB 0x27 13810 13814 push bp ; 55 13811 13815 mov bp, sp ; 89 e5 … … 13828 13832 pop bp ; 5d 13829 13833 retn ; c3 13830 vds_is_present_: ; 0xf93 8aLB 0x1d13834 vds_is_present_: ; 0xf93f4 LB 0x1d 13831 13835 push bx ; 53 13832 13836 push bp ; 55 … … 13836 13840 mov es, ax ; 8e c0 13837 13841 test byte [es:bx], 020h ; 26 f6 07 20 13838 je short 09 3a2h ; 74 0613842 je short 0940ch ; 74 06 13839 13843 mov ax, strict word 00001h ; b8 01 00 13840 13844 pop bp ; 5d … … 13845 13849 pop bx ; 5b 13846 13850 retn ; c3 13847 vds_real_to_lin_: ; 0xf9 3a7LB 0x1e13851 vds_real_to_lin_: ; 0xf9411 LB 0x1e 13848 13852 push bx ; 53 13849 13853 push cx ; 51 … … 13856 13860 sal ax, 1 ; d1 e0 13857 13861 rcl dx, 1 ; d1 d2 13858 loop 09 3b5h ; e2 fa13862 loop 0941fh ; e2 fa 13859 13863 xor cx, cx ; 31 c9 13860 13864 add ax, bx ; 01 d8 … … 13864 13868 pop bx ; 5b 13865 13869 retn ; c3 13866 vds_build_sg_list_: ; 0xf9 3c5LB 0x7913870 vds_build_sg_list_: ; 0xf942f LB 0x79 13867 13871 push bp ; 55 13868 13872 mov bp, sp ; 89 e5 … … 13878 13882 mov bx, word [bp+006h] ; 8b 5e 06 13879 13883 mov word [es:di+002h], bx ; 26 89 5d 02 13880 call 09 3a7h ; e8 c3 ff13884 call 09411h ; e8 c3 ff 13881 13885 mov es, si ; 8e c6 13882 13886 mov word [es:di+004h], ax ; 26 89 45 04 13883 13887 mov word [es:di+006h], dx ; 26 89 55 06 13884 13888 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 13885 call 093 8ah ; e8 93 ff13889 call 093f4h ; e8 93 ff 13886 13890 test ax, ax ; 85 c0 13887 je short 094 0eh ; 74 1313891 je short 09478h ; 74 13 13888 13892 mov es, si ; 8e c6 13889 13893 mov ax, 08105h ; b8 05 81 13890 13894 mov dx, strict word 00000h ; ba 00 00 13891 13895 int 04bh ; cd 4b 13892 jc near 094 0bh ; 0f 82 02 0013896 jc near 09475h ; 0f 82 02 00 13893 13897 db 032h, 0c0h 13894 13898 ; xor al, al ; 32 c0 13895 13899 cbw ; 98 13896 jmp short 094 35h ; eb 2713900 jmp short 0949fh ; eb 27 13897 13901 mov es, si ; 8e c6 13898 13902 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 13911 13915 pop bp ; 5d 13912 13916 retn 00004h ; c2 04 00 13913 vds_free_sg_list_: ; 0xf94 3e LB 0x3213917 vds_free_sg_list_: ; 0xf94a8 LB 0x38 13914 13918 push bp ; 55 13915 13919 mov bp, sp ; 89 e5 … … 13917 13921 push di ; 57 13918 13922 mov bx, ax ; 89 c3 13919 call 093 8ah ; e8 42 ff13923 call 093f4h ; e8 42 ff 13920 13924 test ax, ax ; 85 c0 13921 je short 094 5fh ; 74 1313925 je short 094c9h ; 74 13 13922 13926 mov di, bx ; 89 df 13923 13927 mov es, dx ; 8e c2 … … 13925 13929 mov dx, strict word 00000h ; ba 00 00 13926 13930 int 04bh ; cd 4b 13927 jc near 094 5eh ; 0f 82 02 0013931 jc near 094c8h ; 0f 82 02 00 13928 13932 db 032h, 0c0h 13929 13933 ; xor al, al ; 32 c0 … … 13936 13940 pop bp ; 5d 13937 13941 retn ; c3 13938 times 0x 2db 013939 __U4D: ; 0xf94 70 LB 0x3913942 times 0x8 db 0 13943 __U4D: ; 0xf94e0 LB 0x39 13940 13944 pushfw ; 9c 13941 13945 push eax ; 66 50 … … 13967 13971 popfw ; 9d 13968 13972 retn ; c3 13969 __U4M: ; 0xf9 4a9 LB 0x3113973 __U4M: ; 0xf9519 LB 0x31 13970 13974 pushfw ; 9c 13971 13975 push eax ; 66 50 … … 13992 13996 popfw ; 9d 13993 13997 retn ; c3 13994 _fmemset_: ; 0xf9 4da LB 0xd13998 _fmemset_: ; 0xf954a LB 0xd 13995 13999 push di ; 57 13996 14000 mov es, dx ; 8e c2 … … 14002 14006 pop di ; 5f 14003 14007 retn ; c3 14004 _fmemcpy_: ; 0xf9 4e7 LB 0x3314008 _fmemcpy_: ; 0xf9557 LB 0x33 14005 14009 push bp ; 55 14006 14010 db 08bh, 0ech … … 14022 14026 leave ; c9 14023 14027 retn ; c3 14024 add byte [bx+si ], dh ; 00 3014028 add byte [bx+si-05d6bh], ah ; 00 a0 95 a2 14025 14029 xchg bp, ax ; 95 14026 xor dl, byte [di-06acah] ; 32 95 36 95 14027 db 036h, 095h 14028 ; ss xchg bp, ax ; 36 95 14029 db 036h, 095h 14030 ; ss xchg bp, ax ; 36 95 14031 cmp byte [di-06ac8h], dl ; 38 95 38 95 14032 cmp dl, byte [di-06ac2h] ; 3a 95 3e 95 14033 db 03eh, 095h 14034 ; ds xchg bp, ax ; 3e 95 14035 inc ax ; 40 14030 cmpsb ; a6 14036 14031 xchg bp, ax ; 95 14037 inc bp ; 4514032 cmpsb ; a6 14038 14033 xchg bp, ax ; 95 14039 inc di ; 4714034 cmpsb ; a6 14040 14035 xchg bp, ax ; 95 14041 apm_worker: ; 0xf951a LB 0x3a 14036 test AL, strict byte 095h ; a8 95 14037 test AL, strict byte 095h ; a8 95 14038 stosb ; aa 14039 xchg bp, ax ; 95 14040 scasb ; ae 14041 xchg bp, ax ; 95 14042 scasb ; ae 14043 xchg bp, ax ; 95 14044 mov AL, strict byte 095h ; b0 95 14045 mov CH, strict byte 095h ; b5 95 14046 mov BH, strict byte 095h ; b7 95 14047 apm_worker: ; 0xf958a LB 0x3a 14042 14048 sti ; fb 14043 14049 push ax ; 50 … … 14051 14057 pop ax ; 58 14052 14058 mov AH, strict byte 053h ; b4 53 14053 jnc short 095 50h ; 73 2514054 jmp word [cs:bp-06 b00h] ; 2e ff a6 00 9514055 jmp short 095 4eh ; eb 1c14059 jnc short 095c0h ; 73 25 14060 jmp word [cs:bp-06a90h] ; 2e ff a6 70 95 14061 jmp short 095beh ; eb 1c 14056 14062 sti ; fb 14057 14063 hlt ; f4 14058 jmp short 095 4eh ; eb 1814059 jmp short 095 4eh ; eb 1614060 jmp short 095 50h ; eb 1614064 jmp short 095beh ; eb 18 14065 jmp short 095beh ; eb 16 14066 jmp short 095c0h ; eb 16 14061 14067 mov AH, strict byte 080h ; b4 80 14062 jmp short 095 52h ; eb 1414063 jmp short 095 50h ; eb 1014068 jmp short 095c2h ; eb 14 14069 jmp short 095c0h ; eb 10 14064 14070 mov ax, 00102h ; b8 02 01 14065 jmp short 095 4eh ; eb 0914066 jmp short 095 4eh ; eb 0714071 jmp short 095beh ; eb 09 14072 jmp short 095beh ; eb 07 14067 14073 mov BL, strict byte 000h ; b3 00 14068 14074 mov cx, strict word 00000h ; b9 00 00 14069 jmp short 095 4eh ; eb 0014075 jmp short 095beh ; eb 00 14070 14076 clc ; f8 14071 14077 retn ; c3 … … 14073 14079 stc ; f9 14074 14080 retn ; c3 14075 apm_pm16_entry: ; 0xf95 54 LB 0x1114081 apm_pm16_entry: ; 0xf95c4 LB 0x11 14076 14082 mov AH, strict byte 002h ; b4 02 14077 14083 push DS ; 1e … … 14081 14087 add bp, strict byte 00008h ; 83 c5 08 14082 14088 mov ds, bp ; 8e dd 14083 call 095 1ah ; e8 b8 ff14089 call 0958ah ; e8 b8 ff 14084 14090 pop bp ; 5d 14085 14091 pop DS ; 1f 14086 14092 retf ; cb 14087 14093 14088 ; Padding 0x44 9b bytes at 0xf956514089 times 17 563db 014094 ; Padding 0x442b bytes at 0xf95d5 14095 times 17451 db 0 14090 14096 14091 14097 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 14134 14140 add bp, strict byte 00008h ; 83 c5 08 14135 14141 push ebp ; 66 55 14136 mov bp, 095 56h ; bd 56 9514142 mov bp, 095c6h ; bd c6 95 14137 14143 add byte [bx+si], al ; 00 00 14138 14144 push ebp ; 66 55 … … 14525 14531 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 14526 14532 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 058h, 04dh 14527 eoi_jmp_post: ; 0xfe030 LB 0xb 14528 call 0e03bh ; e8 08 00 14533 eoi_both_pics: ; 0xfe030 LB 0x4 14534 mov AL, strict byte 020h ; b0 20 14535 out strict byte 0a0h, AL ; e6 a0 14536 eoi_master_pic: ; 0xfe034 LB 0x5 14537 mov AL, strict byte 020h ; b0 20 14538 out strict byte 020h, AL ; e6 20 14539 retn ; c3 14540 set_int_vects: ; 0xfe039 LB 0xb 14541 mov word [bx], ax ; 89 07 14542 mov word [bx+002h], dx ; 89 57 02 14543 add bx, strict byte 00004h ; 83 c3 04 14544 loop 0e039h ; e2 f6 14545 retn ; c3 14546 eoi_jmp_post: ; 0xfe044 LB 0x17 14547 call 0e030h ; e8 e9 ff 14529 14548 db 033h, 0c0h 14530 14549 ; xor ax, ax ; 33 c0 14531 14550 mov ds, ax ; 8e d8 14532 14551 jmp far [00467h] ; ff 2e 67 04 14533 eoi_both_pics: ; 0xfe03b LB 0x414534 mov AL, strict byte 020h ; b0 2014535 out strict byte 0a0h, AL ; e6 a014536 eoi_master_pic: ; 0xfe03f LB 0x514537 mov AL, strict byte 020h ; b0 2014538 out strict byte 020h, AL ; e6 2014539 retn ; c314540 set_int_vects: ; 0xfe044 LB 0x1714541 mov word [bx], ax ; 89 0714542 mov word [bx+002h], dx ; 89 57 0214543 add bx, strict byte 00004h ; 83 c3 0414544 loop 0e044h ; e2 f614545 retn ; c314546 14552 times 0xa db 0 14547 14553 db 'XM' 14548 post: ; 0xfe05b LB 0x 4c14554 post: ; 0xfe05b LB 0x65 14549 14555 cli ; fa 14550 14556 smsw ax ; 0f 01 e0 14551 14557 test ax, strict word 00001h ; a9 01 00 14552 je short 0e068h ; 74 04 14558 je short 0e06ah ; 74 06 14559 mov AL, strict byte 001h ; b0 01 14553 14560 out strict byte 092h, AL ; e6 92 14554 jmp short 0e06 6h ; eb fe14561 jmp short 0e068h ; eb fe 14555 14562 mov AL, strict byte 00fh ; b0 0f 14556 14563 out strict byte 070h, AL ; e6 70 14557 14564 in AL, strict byte 071h ; e4 71 14558 14565 xchg ah, al ; 86 c4 14566 in AL, strict byte 064h ; e4 64 14567 test AL, strict byte 004h ; a8 04 14568 je short 0e089h ; 74 11 14569 db 08ah, 0c4h 14570 ; mov al, ah ; 8a c4 14571 db 00ah, 0c0h 14572 ; or al, al ; 0a c0 14573 jne short 0e089h ; 75 0b 14574 push strict byte 00040h ; 6a 40 14575 pop DS ; 1f 14576 cmp word [word 00072h], 01234h ; 81 3e 72 00 34 12 14577 jne short 0e064h ; 75 db 14559 14578 mov AL, strict byte 00fh ; b0 0f 14560 14579 out strict byte 070h, AL ; e6 70 … … 14564 14583 ; mov al, ah ; 8a c4 14565 14584 cmp AL, strict byte 009h ; 3c 09 14566 je short 0e0 90h ; 74 1214585 je short 0e0a9h ; 74 12 14567 14586 cmp AL, strict byte 00ah ; 3c 0a 14568 je short 0e0 90h ; 74 0e14587 je short 0e0a9h ; 74 0e 14569 14588 db 032h, 0c0h 14570 14589 ; xor al, al ; 32 c0 … … 14578 14597 ; mov al, ah ; 8a c4 14579 14598 cmp AL, strict byte 000h ; 3c 00 14580 je short 0e0 a7h ; 74 1114599 je short 0e0c0h ; 74 11 14581 14600 cmp AL, strict byte 00dh ; 3c 0d 14582 jnc short 0e0 a7h ; 73 0d14601 jnc short 0e0c0h ; 73 0d 14583 14602 cmp AL, strict byte 009h ; 3c 09 14584 jne short 0e0 a1h ; 75 0314585 jmp near 0e3 4bh ; e9 aa0214603 jne short 0e0bah ; 75 03 14604 jmp near 0e366h ; e9 ac 02 14586 14605 cmp AL, strict byte 005h ; 3c 05 14587 je short 0e0 30h ; 74 8b14588 jmp short 0e0 a7h ; eb 0014589 normal_post: ; 0xfe0 a7 LB 0x21c14606 je short 0e044h ; 74 86 14607 jmp short 0e0c0h ; eb 00 14608 normal_post: ; 0xfe0c0 LB 0x203 14590 14609 mov ax, 07800h ; b8 00 78 14591 14610 db 08bh, 0e0h … … 14609 14628 add bx, 01000h ; 81 c3 00 10 14610 14629 cmp bx, 09000h ; 81 fb 00 90 14611 jnc short 0e0 dah ; 73 0b14630 jnc short 0e0f3h ; 73 0b 14612 14631 mov es, bx ; 8e c3 14613 14632 db 033h, 0ffh … … 14615 14634 mov cx, 08000h ; b9 00 80 14616 14635 rep stosw ; f3 ab 14617 jmp short 0e0 c5h ; eb eb14636 jmp short 0e0deh ; eb eb 14618 14637 mov es, bx ; 8e c3 14619 14638 db 033h, 0ffh … … 14626 14645 pop DS ; 1f 14627 14646 cld ; fc 14628 call 01777h ; e8 8c3614629 call 0e8e0h ; e8 f20714647 call 01777h ; e8 73 36 14648 call 0e8e0h ; e8 d9 07 14630 14649 db 033h, 0dbh 14631 14650 ; xor bx, bx ; 33 db … … 14634 14653 mov ax, 0ff53h ; b8 53 ff 14635 14654 mov dx, 0f000h ; ba 00 f0 14636 call 0e0 44h ; e8 46ff14655 call 0e039h ; e8 22 ff 14637 14656 mov bx, 001a0h ; bb a0 01 14638 14657 mov cx, strict word 00010h ; b9 10 00 14639 call 0e0 44h ; e8 3dff14658 call 0e039h ; e8 19 ff 14640 14659 mov ax, 0027fh ; b8 7f 02 14641 14660 mov word [00413h], ax ; a3 13 04 … … 14672 14691 mov ax, 0f000h ; b8 00 f0 14673 14692 mov word [00072h], ax ; a3 72 00 14674 call 0e778h ; e8 08 06 14675 call 0f13ch ; e8 c9 0f 14676 call 0f1c1h ; e8 4b 10 14693 call 0e778h ; e8 ef 05 14694 call 0f13ch ; e8 b0 0f 14695 call 0f1c1h ; e8 32 10 14696 mov ax, 0fe6eh ; b8 6e fe 14697 mov word [00068h], ax ; a3 68 00 14698 mov ax, 0f000h ; b8 00 f0 14699 mov word [0006ah], ax ; a3 6a 00 14677 14700 mov ax, 0fea5h ; b8 a5 fe 14678 14701 mov word [00020h], ax ; a3 20 00 … … 14712 14735 mov bx, strict word 0003eh ; bb 3e 00 14713 14736 mov word [00482h], bx ; 89 1e 82 04 14737 mov AL, strict byte 014h ; b0 14 14738 out strict byte 070h, AL ; e6 70 14739 in AL, strict byte 071h ; e4 71 14740 mov byte [00410h], AL ; a2 10 04 14714 14741 push DS ; 1e 14715 14742 push CS ; 0e … … 14718 14745 mov ax, 0c000h ; b8 00 c0 14719 14746 mov dx, 0c800h ; ba 00 c8 14720 call 01600h ; e8 15 3414721 call 049b4h ; e8 c66714747 call 01600h ; e8 e7 33 14748 call 049b4h ; e8 98 67 14722 14749 pop DS ; 1f 14723 mov AL, strict byte 014h ; b0 1414724 out strict byte 070h, AL ; e6 7014725 in AL, strict byte 071h ; e4 7114726 mov byte [00410h], AL ; a2 10 0414727 14750 mov ax, 0ff53h ; b8 53 ff 14728 14751 mov word [0003ch], ax ; a3 3c 00 … … 14736 14759 mov CL, strict byte 014h ; b1 14 14737 14760 mov dx, 00378h ; ba 78 03 14738 call 0ecedh ; e8 db0a14761 call 0ecedh ; e8 b6 0a 14739 14762 mov dx, 00278h ; ba 78 02 14740 call 0ecedh ; e8 d50a14763 call 0ecedh ; e8 b0 0a 14741 14764 sal bx, 00eh ; c1 e3 0e 14742 14765 mov ax, word [00410h] ; a1 10 04 … … 14761 14784 mov CL, strict byte 00ah ; b1 0a 14762 14785 mov dx, 003f8h ; ba f8 03 14763 call 0ed0bh ; e8 b70a14786 call 0ed0bh ; e8 92 0a 14764 14787 mov dx, 002f8h ; ba f8 02 14765 call 0ed0bh ; e8 b10a14788 call 0ed0bh ; e8 8c 0a 14766 14789 mov dx, 003e8h ; ba e8 03 14767 call 0ed0bh ; e8 ab0a14790 call 0ed0bh ; e8 86 0a 14768 14791 mov dx, 002e8h ; ba e8 02 14769 call 0ed0bh ; e8 a50a14792 call 0ed0bh ; e8 80 0a 14770 14793 sal bx, 009h ; c1 e3 09 14771 14794 mov ax, word [00410h] ; a1 10 04 … … 14774 14797 ; or ax, bx ; 0b c3 14775 14798 mov word [00410h], ax ; a3 10 04 14776 mov ax, 0fe6eh ; b8 6e fe14777 mov word [00068h], ax ; a3 68 0014778 mov ax, 0f000h ; b8 00 f014779 mov word [0006ah], ax ; a3 6a 0014780 14799 mov ax, 0ff53h ; b8 53 ff 14781 14800 mov word [00128h], ax ; a3 28 01 … … 14786 14805 mov ax, 0f000h ; b8 00 f0 14787 14806 mov word [001c2h], ax ; a3 c2 01 14788 call 0edbfh ; e8 24 0b 14789 mov ax, 0f8a9h ; b8 a9 f8 14790 mov word [001d0h], ax ; a3 d0 01 14791 mov ax, 0f000h ; b8 00 f0 14792 mov word [001d2h], ax ; a3 d2 01 14793 mov ax, 0e2cah ; b8 ca e2 14794 mov word [001d4h], ax ; a3 d4 01 14795 mov ax, 0f000h ; b8 00 f0 14796 mov word [001d6h], ax ; a3 d6 01 14797 call 0e753h ; e8 9d 04 14798 jmp short 0e31bh ; eb 63 14799 times 0x9 db 0 14807 call 0edbfh ; e8 0b 0b 14808 jmp short 0e31bh ; eb 65 14809 times 0xb db 0 14800 14810 db 'XM' 14801 14811 nmi: ; 0xfe2c3 LB 0x7 … … 14807 14817 int75_handler: ; 0xfe2ca LB 0x8 14808 14818 out strict byte 0f0h, AL ; e6 f0 14809 call 0e03 bh ; e8 6cfd14819 call 0e030h ; e8 61 fd 14810 14820 int 002h ; cd 02 14811 14821 iret ; cf … … 14838 14848 mov word [0011ah], ax ; a3 1a 01 14839 14849 retn ; c3 14850 mov ax, 0f8a9h ; b8 a9 f8 14851 mov word [001d0h], ax ; a3 d0 01 14852 mov ax, 0f000h ; b8 00 f0 14853 mov word [001d2h], ax ; a3 d2 01 14854 mov ax, 0e2cah ; b8 ca e2 14855 mov word [001d4h], ax ; a3 d4 01 14856 mov ax, 0f000h ; b8 00 f0 14857 mov word [001d6h], ax ; a3 d6 01 14858 call 0e753h ; e8 1d 04 14840 14859 push CS ; 0e 14841 14860 pop DS ; 1f 14842 14861 cld ; fc 14843 call 01badh ; e8 8c3814844 call 01fa7h ; e8 833c14845 call 08 dd4h ; e8 adaa14846 call 07e 7bh ; e8 519b14847 call 0ed2fh ; e8 02 0a14848 call 0e2d2h ; e8 a2ff14862 call 01badh ; e8 71 38 14863 call 01fa7h ; e8 68 3c 14864 call 08e3eh ; e8 fc aa 14865 call 07ee5h ; e8 a0 9b 14866 call 0ed2fh ; e8 e7 09 14867 call 0e2d2h ; e8 87 ff 14849 14868 push CS ; 0e 14850 14869 pop DS ; 1f 14851 14870 cld ; fc 14852 call 01797h ; e8 613414871 call 01797h ; e8 46 34 14853 14872 mov ax, 0c800h ; b8 00 c8 14854 14873 mov dx, 0f000h ; ba 00 f0 14855 call 01600h ; e8 c13214856 call 03698h ; e8 565314874 call 01600h ; e8 a6 32 14875 call 03698h ; e8 3b 53 14857 14876 sti ; fb 14858 14877 int 019h ; cd 19 14859 14878 sti ; fb 14860 14879 hlt ; f4 14861 jmp short 0e3 46h ; eb fd14880 jmp short 0e361h ; eb fd 14862 14881 cli ; fa 14863 14882 hlt ; f4 … … 14881 14900 sti ; fb 14882 14901 retf 00002h ; ca 02 00 14883 times 0x 88db 014902 times 0x6d db 0 14884 14903 db 'XM' 14885 14904 int13_handler: ; 0xfe3fe LB 0x3 … … 14952 14971 pop DS ; 1f 14953 14972 cld ; fc 14954 call 05d 34h ; e8 f2 7514973 call 05d9eh ; e8 5c 76 14955 14974 popaw ; 61 14956 14975 pop ES ; 07 … … 15027 15046 pop DS ; 1f 15028 15047 cld ; fc 15029 call 05 0a2h ; e8 606815048 call 0510ch ; e8 ca 68 15030 15049 popaw ; 61 15031 15050 pop DS ; 1f … … 15044 15063 pop DS ; 1f 15045 15064 cld ; fc 15046 call 05 0a2h ; e8 426815065 call 0510ch ; e8 ac 68 15047 15066 popaw ; 61 15048 15067 pop DS ; 1f … … 15148 15167 pop DS ; 1f 15149 15168 cli ; fa 15150 call 0e03 fh ; e8 69f615169 call 0e034h ; e8 5e f6 15151 15170 mov AL, strict byte 0aeh ; b0 ae 15152 15171 out strict byte 064h, AL ; e6 64 … … 15159 15178 pop DS ; 1f 15160 15179 cld ; fc 15161 call 067 8ch ; e8 a7 7d15180 call 067f6h ; e8 11 7e 15162 15181 pop DS ; 1f 15163 15182 pop ES ; 07 … … 15260 15279 cmp ah, 040h ; 80 fc 40 15261 15280 jnbe short 0ece6h ; 77 05 15262 call 054 27h ; e8 436715281 call 05491h ; e8 ad 67 15263 15282 jmp short 0ece9h ; eb 03 15264 call 058 68h ; e8 7f6b15283 call 058d2h ; e8 e9 6b 15265 15284 int13_out: ; 0xfece9 LB 0x4 15266 15285 pop DS ; 1f … … 15450 15469 ; xor ax, ax ; 33 c0 15451 15470 mov ds, ax ; 8e d8 15452 call 0e03 fh ; e8 b6f015471 call 0e034h ; e8 ab f0 15453 15472 or byte [0043eh], 080h ; 80 0e 3e 04 80 15454 15473 pop DS ; 1f … … 15475 15494 pop DS ; 1f 15476 15495 cld ; fc 15477 call 07 0e6h ; e8 098115496 call 07150h ; e8 73 81 15478 15497 popaw ; 61 15479 15498 pop ES ; 07 … … 15835 15854 cmp ah, 0c2h ; 80 fc c2 15836 15855 je short 0f887h ; 74 0e 15837 call 05f 41h ; e8 c5 6615856 call 05fabh ; e8 2f 67 15838 15857 popaw ; 61 15839 15858 pop ES ; 07 … … 15841 15860 popfw ; 9d 15842 15861 jmp short 0f895h ; eb 13 15843 call 08f 0bh ; e8 869615862 call 08f75h ; e8 f0 96 15844 15863 jmp short 0f87ch ; eb f5 15845 15864 int15_handler_mouse: ; 0xff887 LB 0x5 15846 call 06d 5bh ; e8 d1 7415865 call 06dc5h ; e8 3b 75 15847 15866 jmp short 0f87ch ; eb f0 15848 15867 int15_handler32: ; 0xff88c LB 0x9 15849 15868 pushad ; 66 60 15850 call 064 0eh ; e8 7d6b15869 call 06478h ; e8 e7 6b 15851 15870 popad ; 66 61 15852 15871 jmp short 0f87dh ; eb e8 … … 15878 15897 pop DS ; 1f 15879 15898 cld ; fc 15880 call 06c 91h ; e8 d4 7315899 call 06cfbh ; e8 3e 74 15881 15900 pop cx ; 59 15882 15901 jcxz 0f8cch ; e3 0c … … 15887 15906 call far [word 00022h] ; ff 1e 22 00 15888 15907 cli ; fa 15889 call 0e03 bh ; e8 6be715908 call 0e030h ; e8 60 e7 15890 15909 add sp, strict byte 00008h ; 83 c4 08 15891 15910 pop DS ; 1f … … 15899 15918 mov ds, ax ; 8e d8 15900 15919 mov byte [0008eh], 0ffh ; c6 06 8e 00 ff 15901 call 0e03 bh ; e8 55e715920 call 0e030h ; e8 4a e7 15902 15921 pop DS ; 1f 15903 15922 pop ax ; 58 … … 15970 15989 db 018h, 018h, 018h, 000h, 018h, 018h, 018h, 000h, 0e0h, 030h, 030h, 01ch, 030h, 030h, 0e0h, 000h 15971 15990 db 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 000h 15972 db 080h, 0fch, 0b1h, 075h, 00fh, 006h, 01eh, 00eh, 01fh, 0fch, 066h, 060h, 0e8h, 0 9eh, 092h, 066h15973 db 061h, 01fh, 007h, 0cfh, 006h, 01eh, 060h, 00eh, 01fh, 0fch, 0e8h, 0 9dh, 06bh, 061h, 01fh, 007h15991 db 080h, 0fch, 0b1h, 075h, 00fh, 006h, 01eh, 00eh, 01fh, 0fch, 066h, 060h, 0e8h, 008h, 093h, 066h 15992 db 061h, 01fh, 007h, 0cfh, 006h, 01eh, 060h, 00eh, 01fh, 0fch, 0e8h, 007h, 06ch, 061h, 01fh, 007h 15974 15993 db 0cfh 15975 15994 int70_handler: ; 0xffe8f LB 0x16 … … 15980 15999 pop DS ; 1f 15981 16000 cld ; fc 15982 call 069 6ah ; e8 d2 6a16001 call 069d4h ; e8 3c 6b 15983 16002 popaw ; 61 15984 16003 pop DS ; 1f … … 16018 16037 int 01ch ; cd 1c 16019 16038 cli ; fa 16020 call 0e03 fh ; e8 5ce116039 call 0e034h ; e8 51 e1 16021 16040 pop dx ; 5a 16022 16041 pop DS ; 1f … … 16079 16098 cpu_reset: ; 0xffff0 LB 0x10 16080 16099 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 16081 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0 c9h16100 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0e8h -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.md5sum
r50317 r51062 1 26a4ec280665e87f6347bb19c8733953*VBoxPcBios.rom1 6a940bcf6a5d4747e33d98d6028b3cec *VBoxPcBios.rom
Note:
See TracChangeset
for help on using the changeset viewer.