Changeset 62120 in vbox
- Timestamp:
- Jul 7, 2016 4:58:51 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 108606
- Location:
- trunk
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/Config.kmk ¶
r62056 r62120 221 221 # publisher so that RTStrVersionCompare have a chance of comparing 222 222 # prerelease from different publishers correctly. 223 VBOX_VERSION_STRING = $(VBOX_VERSION_STRING_RAW)_ BETA3$(VBOX_BUILD_PUBLISHER)223 VBOX_VERSION_STRING = $(VBOX_VERSION_STRING_RAW)_RC1$(VBOX_BUILD_PUBLISHER) 224 224 # Just the BETA[n],ALPHA[n],RC[n] indicators. Set to empty string for release. 225 VBOX_VERSION_PRERELEASE = 225 VBOX_VERSION_PRERELEASE = RC1 226 226 227 227 # Force the additions.sh script to get an exact additions build when we're doing the release. -
TabularUnified trunk/debian/changelog ¶
r61733 r62120 1 virtualbox-ose (5.1.0~rc1) unstable; urgency=low 2 3 * rebuild Debian package. 4 5 -- Oracle Corporation <info@virtualbox.org> Thu, 07 Jul 2016 18:00:00 +0200 6 1 7 virtualbox-ose (5.1.0~beta3) unstable; urgency=low 2 8 -
TabularUnified trunk/doc/manual/user_ChangeLogImpl.xml ¶
r62116 r62120 4 4 So, we use chapter and xpointer="xpointer(/chapter/)" with xi:include. --> 5 5 <sect1> 6 <title>Version 5.1.0 Beta 3 (2016-06-16)</title>6 <title>Version 5.1.0 Release Candidate 1 (2016-07-07)</title> 7 7 8 8 <para>This is a major update. The following major new features -
TabularUnified trunk/src/VBox/Devices/BiosCommonCode/MakeAlternativeSource.cpp ¶
r60736 r62120 998 998 && pb[5] == 0x01 999 999 ) 1000 || ( pb[0] == 0x8c /* bytes after apm_out_str_ */ 1001 && pb[1] == 0x2f 1002 && pb[2] == 0x8d 1003 && pb[3] == 0xbb 1004 && pb[4] == 0x8c 1005 && pb[5] == 0x2f) 1000 || ( pb[0] == 0x00 /* bytes after apm_out_str_ */ 1001 && pb[1] == 0x00 1002 && pb[2] == 0x00 1003 && pb[3] == 0x00 1004 && pb[4] == 0x00 1005 && pb[5] == 0x00 1006 && pb[6] == 0xe0 1007 && pb[7] == 0xa0 1008 && pb[8] == 0xe2 1009 && pb[9] == 0xa0) 1006 1010 || ( pb[0] == 0xec /* _int15_function switch */ 1007 1011 && pb[1] == 0xe9 -
TabularUnified trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.asm ¶
r61733 r62120 1670 1670 xor bh, bh ; 30 ff 1671 1671 sal bx, 003h ; c1 e3 03 1672 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 001672 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 1673 1673 jne short 00b68h ; 75 2c 1674 1674 mul di ; f7 e7 … … 1688 1688 add dx, dx ; 01 d2 1689 1689 add dx, di ; 01 fa 1690 mov ax, word [bx+0463 8h] ; 8b 87 38461690 mov ax, word [bx+04636h] ; 8b 87 36 46 1691 1691 call 03181h ; e8 1c 26 1692 1692 mov word [ss:si], ax ; 36 89 04 … … 1755 1755 mov dx, 0010ch ; ba 0c 01 1756 1756 jmp short 00b99h ; eb c0 1757 mov ax, 05bf 2h ; b8 f25b1757 mov ax, 05bf0h ; b8 f0 5b 1758 1758 mov dx, 0c000h ; ba 00 c0 1759 1759 jmp short 00b9eh ; eb bd 1760 mov ax, 053f 2h ; b8 f2531760 mov ax, 053f0h ; b8 f0 53 1761 1761 jmp short 00bdch ; eb f6 1762 mov ax, 057f 2h ; b8 f2571762 mov ax, 057f0h ; b8 f0 57 1763 1763 jmp short 00bdch ; eb f1 1764 mov ax, 079f 2h ; b8 f2791764 mov ax, 079f0h ; b8 f0 79 1765 1765 jmp short 00bdch ; eb ec 1766 mov ax, 069f 2h ; b8 f2691766 mov ax, 069f0h ; b8 f0 69 1767 1767 jmp short 00bdch ; eb e7 1768 mov ax, 07b1 fh ; b8 1f7b1768 mov ax, 07b1dh ; b8 1d 7b 1769 1769 jmp short 00bdch ; eb e2 1770 1770 jmp short 00bcbh ; eb cf … … 1789 1789 xor bh, bh ; 30 ff 1790 1790 sal bx, 003h ; c1 e3 03 1791 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 001791 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 1792 1792 jne short 00c30h ; 75 03 1793 1793 jmp near 00d37h ; e9 07 01 1794 mov bl, byte [bx+0463 6h] ; 8a 9f 36461794 mov bl, byte [bx+04634h] ; 8a 9f 34 46 1795 1795 cmp bl, 003h ; 80 fb 03 1796 1796 jc short 00c48h ; 72 0f … … 1857 1857 xor bh, bh ; 30 ff 1858 1858 sal bx, 003h ; c1 e3 03 1859 cmp byte [bx+0463 7h], 002h ; 80 bf 3746 021859 cmp byte [bx+04635h], 002h ; 80 bf 35 46 02 1860 1860 jne short 00cf8h ; 75 1b 1861 1861 mov cx, si ; 89 f1 … … 2181 2181 mov si, bx ; 89 de 2182 2182 sal si, 003h ; c1 e6 03 2183 cmp byte [si+0463 5h], 000h ; 80 bc 3546 002183 cmp byte [si+04633h], 000h ; 80 bc 33 46 00 2184 2184 jne short 00fbah ; 75 46 2185 2185 mov dx, strict word 0004ah ; ba 4a 00 … … 2214 2214 mul si ; f7 e6 2215 2215 jmp short 00fd0h ; eb 16 2216 mov al, byte [bx+046b 4h] ; 8a 87 b4462216 mov al, byte [bx+046b2h] ; 8a 87 b2 46 2217 2217 xor ah, ah ; 30 e4 2218 2218 mov bx, ax ; 89 c3 … … 2221 2221 xor ch, ch ; 30 ed 2222 2222 mov ax, cx ; 89 c8 2223 mul word [bx+046c bh] ; f7 a7 cb462223 mul word [bx+046c9h] ; f7 a7 c9 46 2224 2224 mov bx, ax ; 89 c3 2225 2225 mov dx, strict word 00063h ; ba 63 00 … … 2295 2295 mov byte [bp-019h], 000h ; c6 46 e7 00 2296 2296 mov bx, word [bp-01ah] ; 8b 5e e6 2297 mov al, byte [bx+046b 4h] ; 8a 87 b4462297 mov al, byte [bx+046b2h] ; 8a 87 b2 46 2298 2298 mov byte [bp-00eh], al ; 88 46 f2 2299 2299 mov bl, al ; 88 c3 2300 2300 xor bh, bh ; 30 ff 2301 2301 sal bx, 006h ; c1 e3 06 2302 mov al, byte [bx+046c6h] ; 8a 87 c6 46 2303 xor ah, ah ; 30 e4 2304 mov word [bp-016h], ax ; 89 46 ea 2305 mov al, byte [bx+046c7h] ; 8a 87 c7 46 2306 mov word [bp-014h], ax ; 89 46 ec 2302 2307 mov al, byte [bx+046c8h] ; 8a 87 c8 46 2303 xor ah, ah ; 30 e42304 mov word [bp-016h], ax ; 89 46 ea2305 mov al, byte [bx+046c9h] ; 8a 87 c9 462306 mov word [bp-014h], ax ; 89 46 ec2307 mov al, byte [bx+046cah] ; 8a 87 ca 462308 2308 mov word [bp-018h], ax ; 89 46 e8 2309 2309 mov dx, 00087h ; ba 87 00 … … 2321 2321 mov bx, word [bp-01ah] ; 8b 5e e6 2322 2322 sal bx, 003h ; c1 e3 03 2323 mov al, byte [bx+0463 ah] ; 8a 87 3a462323 mov al, byte [bx+04638h] ; 8a 87 38 46 2324 2324 mov dx, 003c6h ; ba c6 03 2325 2325 out DX, AL ; ee … … 2327 2327 mov dx, 003c8h ; ba c8 03 2328 2328 out DX, AL ; ee 2329 mov bl, byte [bx+0463 bh] ; 8a 9f 3b462329 mov bl, byte [bx+04639h] ; 8a 9f 39 46 2330 2330 cmp bl, 001h ; 80 fb 01 2331 2331 jc short 010ddh ; 72 0e … … 2338 2338 test bl, bl ; 84 db 2339 2339 jne short 010f3h ; 75 12 2340 mov di, 04e4 8h ; bf 484e2340 mov di, 04e46h ; bf 46 4e 2341 2341 jmp short 010f3h ; eb 0d 2342 mov di, 04f0 8h ; bf 084f2342 mov di, 04f06h ; bf 06 4f 2343 2343 jmp short 010f3h ; eb 08 2344 mov di, 04fc 8h ; bf c84f2344 mov di, 04fc6h ; bf c6 4f 2345 2345 jmp short 010f3h ; eb 03 2346 mov di, 0508 8h ; bf 88502346 mov di, 05086h ; bf 86 50 2347 2347 xor bx, bx ; 31 db 2348 2348 jmp short 010ffh ; eb 08 … … 2354 2354 mov si, ax ; 89 c6 2355 2355 sal si, 003h ; c1 e6 03 2356 mov al, byte [si+0463 bh] ; 8a 84 3b462356 mov al, byte [si+04639h] ; 8a 84 39 46 2357 2357 mov si, ax ; 89 c6 2358 mov al, byte [si+046c 4h] ; 8a 84 c4462358 mov al, byte [si+046c2h] ; 8a 84 c2 46 2359 2359 cmp bx, ax ; 39 c3 2360 2360 jnbe short 0112ch ; 77 15 … … 2397 2397 sal si, 006h ; c1 e6 06 2398 2398 add si, bx ; 01 de 2399 mov al, byte [si+046e bh] ; 8a 84 eb462399 mov al, byte [si+046e9h] ; 8a 84 e9 46 2400 2400 out DX, AL ; ee 2401 2401 inc bx ; 43 … … 2423 2423 sal si, 006h ; c1 e6 06 2424 2424 add si, bx ; 01 de 2425 mov al, byte [si+046c ch] ; 8a 84 cc462425 mov al, byte [si+046cah] ; 8a 84 ca 46 2426 2426 mov dx, 003c5h ; ba c5 03 2427 2427 out DX, AL ; ee … … 2440 2440 sal si, 006h ; c1 e6 06 2441 2441 add si, bx ; 01 de 2442 mov al, byte [si+046f fh] ; 8a 84 ff462442 mov al, byte [si+046fdh] ; 8a 84 fd 46 2443 2443 mov dx, 003cfh ; ba cf 03 2444 2444 out DX, AL ; ee … … 2448 2448 xor bh, bh ; 30 ff 2449 2449 sal bx, 003h ; c1 e3 03 2450 cmp byte [bx+0463 6h], 001h ; 80 bf 3646 012450 cmp byte [bx+04634h], 001h ; 80 bf 34 46 01 2451 2451 jne short 011e1h ; 75 05 2452 2452 mov dx, 003b4h ; ba b4 03 … … 2470 2470 add di, bx ; 01 df 2471 2471 lea dx, [si+001h] ; 8d 54 01 2472 mov al, byte [di+046d 2h] ; 8a 85 d2462472 mov al, byte [di+046d0h] ; 8a 85 d0 46 2473 2473 out DX, AL ; ee 2474 2474 inc bx ; 43 2475 2475 jmp short 011eeh ; eb dd 2476 2476 mov bx, cx ; 89 cb 2477 mov al, byte [bx+046 d1h] ; 8a 87 d1462477 mov al, byte [bx+046cfh] ; 8a 87 cf 46 2478 2478 mov dx, 003c2h ; ba c2 03 2479 2479 out DX, AL ; ee … … 2490 2490 xor bh, ch ; 30 ef 2491 2491 sal bx, 003h ; c1 e3 03 2492 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 002492 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 2493 2493 jne short 0124fh ; 75 13 2494 mov es, [bx+0463 8h] ; 8e 87 38462494 mov es, [bx+04636h] ; 8e 87 36 46 2495 2495 mov cx, 04000h ; b9 00 40 2496 2496 mov ax, 00720h ; b8 20 07 … … 2502 2502 cmp byte [bp-00ch], 00dh ; 80 7e f4 0d 2503 2503 jnc short 01267h ; 73 12 2504 mov es, [bx+0463 8h] ; 8e 87 38462504 mov es, [bx+04636h] ; 8e 87 36 46 2505 2505 mov cx, 04000h ; b9 00 40 2506 2506 xor ax, ax ; 31 c0 … … 2520 2520 mov AL, strict byte 00fh ; b0 0f 2521 2521 out DX, AL ; ee 2522 mov es, [bx+0463 8h] ; 8e 87 38462522 mov es, [bx+04636h] ; 8e 87 36 46 2523 2523 mov cx, 08000h ; b9 00 80 2524 2524 xor ax, ax ; 31 c0 … … 2541 2541 xor bh, bh ; 30 ff 2542 2542 sal bx, 006h ; c1 e3 06 2543 mov bx, word [bx+046c bh] ; 8b 9f cb462543 mov bx, word [bx+046c9h] ; 8b 9f c9 46 2544 2544 mov dx, strict word 0004ch ; ba 4c 00 2545 2545 mov ax, strict word 00040h ; b8 40 00 … … 2582 2582 call 03173h ; e8 50 1e 2583 2583 mov cx, ds ; 8c d9 2584 mov bx, 053d 6h ; bb d6532584 mov bx, 053d4h ; bb d4 53 2585 2585 mov dx, 000a8h ; ba a8 00 2586 2586 mov ax, strict word 00040h ; b8 40 00 … … 2597 2597 xor bh, bh ; 30 ff 2598 2598 sal bx, 003h ; c1 e3 03 2599 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 002599 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 2600 2600 jne short 0135fh ; 75 09 2601 2601 mov dx, strict word 00007h ; ba 07 00 … … 2617 2617 xor bh, bh ; 30 ff 2618 2618 sal bx, 003h ; c1 e3 03 2619 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 002619 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 2620 2620 jne short 01398h ; 75 10 2621 2621 xor bl, bl ; 30 db … … 2627 2627 mov AH, strict byte 011h ; b4 11 2628 2628 int 010h ; cd 10 2629 mov dx, 057f 2h ; ba f2572629 mov dx, 057f0h ; ba f0 57 2630 2630 mov ax, strict word 0001fh ; b8 1f 00 2631 2631 call 00a00h ; e8 5f f6 … … 2637 2637 cmp ax, strict word 00008h ; 3d 08 00 2638 2638 jne short 013c8h ; 75 15 2639 mov dx, 053f 2h ; ba f2532639 mov dx, 053f0h ; ba f0 53 2640 2640 mov ax, strict word 00043h ; b8 43 00 2641 2641 call 00a00h ; e8 44 f6 2642 2642 jmp short 013c8h ; eb 0a 2643 mov dx, 05bf 2h ; ba f25b2643 mov dx, 05bf0h ; ba f0 5b 2644 2644 jmp short 013b6h ; eb f3 2645 mov dx, 069f 2h ; ba f2692645 mov dx, 069f0h ; ba f0 69 2646 2646 jmp short 013b6h ; eb ee 2647 2647 lea sp, [bp-00ah] ; 8d 66 f6 … … 3031 3031 mul cx ; f7 e1 3032 3032 mov si, ax ; 89 c6 3033 cmp byte [di+0463 5h], 000h ; 80 bd 3546 003033 cmp byte [di+04633h], 000h ; 80 bd 33 46 00 3034 3034 jne short 01758h ; 75 51 3035 3035 add ax, ax ; 01 c0 … … 3059 3059 sal ax, 008h ; c1 e0 08 3060 3060 add ax, strict word 00020h ; 05 20 00 3061 mov es, [di+0463 8h] ; 8e 85 38463061 mov es, [di+04636h] ; 8e 85 36 46 3062 3062 mov cx, si ; 89 f1 3063 3063 mov di, bx ; 89 df … … 3103 3103 mov si, ax ; 89 c6 3104 3104 sal si, 003h ; c1 e6 03 3105 mov es, [si+0463 8h] ; 8e 84 38463105 mov es, [si+04636h] ; 8e 84 36 46 3106 3106 mov ax, word [bp-01eh] ; 8b 46 e2 3107 3107 cld ; fc … … 3124 3124 mov si, ax ; 89 c6 3125 3125 sal si, 003h ; c1 e6 03 3126 mov ax, word [si+0463 8h] ; 8b 84 38463126 mov ax, word [si+04636h] ; 8b 84 36 46 3127 3127 mov word [bp-01eh], ax ; 89 46 e2 3128 3128 mov ax, word [bp-016h] ; 8b 46 ea … … 3175 3175 mov si, ax ; 89 c6 3176 3176 sal si, 003h ; c1 e6 03 3177 mov es, [si+0463 8h] ; 8e 84 38463177 mov es, [si+04636h] ; 8e 84 36 46 3178 3178 mov ax, word [bp-01eh] ; 8b 46 e2 3179 3179 cld ; fc … … 3198 3198 mov si, ax ; 89 c6 3199 3199 sal si, 003h ; c1 e6 03 3200 mov ax, word [si+0463 8h] ; 8b 84 38463200 mov ax, word [si+04636h] ; 8b 84 36 46 3201 3201 mov word [bp-014h], ax ; 89 46 ec 3202 3202 mov ax, word [bp-016h] ; 8b 46 ea … … 3222 3222 dec word [bp-016h] ; ff 4e ea 3223 3223 jmp near 0181ch ; e9 46 ff 3224 mov al, byte [bx+046b 4h] ; 8a 87 b4463224 mov al, byte [bx+046b2h] ; 8a 87 b2 46 3225 3225 xor ah, ah ; 30 e4 3226 3226 mov bx, ax ; 89 c3 3227 3227 sal bx, 006h ; c1 e3 06 3228 mov al, byte [bx+046c ah] ; 8a 87 ca463228 mov al, byte [bx+046c8h] ; 8a 87 c8 46 3229 3229 mov byte [bp-012h], al ; 88 46 ee 3230 mov bl, byte [di+0463 6h] ; 8a 9d 36463230 mov bl, byte [di+04634h] ; 8a 9d 34 46 3231 3231 cmp bl, 004h ; 80 fb 04 3232 3232 je short 018feh ; 74 0d … … 3272 3272 mov bx, dx ; 89 d3 3273 3273 sal bx, 003h ; c1 e3 03 3274 mov es, [bx+0463 8h] ; 8e 87 38463274 mov es, [bx+04636h] ; 8e 87 36 46 3275 3275 xor di, di ; 31 ff 3276 3276 cld ; fc … … 3380 3380 dec word [bp-016h] ; ff 4e ea 3381 3381 jmp short 019efh ; eb 92 3382 mov bl, byte [di+0463 7h] ; 8a 9d 37463382 mov bl, byte [di+04635h] ; 8a 9d 35 46 3383 3383 cmp byte [bp-006h], 000h ; 80 7e fa 00 3384 3384 jne short 01aa5h ; 75 3e … … 3400 3400 mul bx ; f7 e3 3401 3401 mov bl, byte [bp-010h] ; 8a 5e f0 3402 mov es, [di+0463 8h] ; 8e 85 38463402 mov es, [di+04636h] ; 8e 85 36 46 3403 3403 mov cx, ax ; 89 c1 3404 3404 mov ax, bx ; 89 d8 … … 3525 3525 cmp byte [bp+006h], 00eh ; 80 7e 06 0e 3526 3526 jne short 01bcah ; 75 0a 3527 mov di, 05bf 2h ; bf f25b3527 mov di, 05bf0h ; bf f0 5b 3528 3528 jmp short 01bcdh ; eb 08 3529 mov di, 069f 2h ; bf f2693529 mov di, 069f0h ; bf f0 69 3530 3530 jmp short 01bcdh ; eb 03 3531 mov di, 053f 2h ; bf f2533531 mov di, 053f0h ; bf f0 53 3532 3532 xor ah, ah ; 30 e4 3533 3533 mov bx, ax ; 89 c3 … … 3629 3629 mov byte [bp-008h], dl ; 88 56 f8 3630 3630 mov al, bl ; 88 d8 3631 mov si, 053f 2h ; be f2533631 mov si, 053f0h ; be f0 53 3632 3632 xor ah, ah ; 30 e4 3633 3633 mov bx, ax ; 89 c3 … … 3764 3764 mov byte [bp-006h], bl ; 88 5e fa 3765 3765 mov al, cl ; 88 c8 3766 mov si, 053f 2h ; be f2533766 mov si, 053f0h ; be f0 53 3767 3767 xor ah, ah ; 30 e4 3768 3768 mov bl, byte [bp+004h] ; 8a 5e 04 … … 3877 3877 mov di, ax ; 89 c7 3878 3878 sal di, 003h ; c1 e7 03 3879 cmp byte [di+0463 5h], 000h ; 80 bd 3546 003879 cmp byte [di+04633h], 000h ; 80 bd 33 46 00 3880 3880 jne short 01f49h ; 75 52 3881 3881 mov ax, bx ; 89 d8 … … 3908 3908 mov word [bp-01ah], bx ; 89 5e e6 3909 3909 mov ax, word [bp-01ah] ; 8b 46 e6 3910 mov es, [di+0463 8h] ; 8e 85 38463910 mov es, [di+04636h] ; 8e 85 36 46 3911 3911 mov cx, si ; 89 f1 3912 3912 mov di, dx ; 89 d7 … … 3916 3916 jmp near 02004h ; e9 bb 00 3917 3917 mov bx, ax ; 89 c3 3918 mov al, byte [bx+046b 4h] ; 8a 87 b4463918 mov al, byte [bx+046b2h] ; 8a 87 b2 46 3919 3919 mov bx, ax ; 89 c3 3920 3920 sal bx, 006h ; c1 e3 06 3921 mov al, byte [bx+046c ah] ; 8a 87 ca463921 mov al, byte [bx+046c8h] ; 8a 87 c8 46 3922 3922 mov byte [bp-00eh], al ; 88 46 f2 3923 mov al, byte [di+0463 7h] ; 8a 85 37463923 mov al, byte [di+04635h] ; 8a 85 35 46 3924 3924 mov byte [bp-010h], al ; 88 46 f0 3925 3925 dec si ; 4e … … 3934 3934 mov bx, ax ; 89 c3 3935 3935 sal bx, 003h ; c1 e3 03 3936 mov al, byte [bx+0463 6h] ; 8a 87 36463936 mov al, byte [bx+04634h] ; 8a 87 34 46 3937 3937 cmp AL, strict byte 003h ; 3c 03 3938 3938 jc short 01f91h ; 72 0c … … 4046 4046 mov di, bx ; 89 df 4047 4047 sal bx, 003h ; c1 e3 03 4048 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 004048 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 4049 4049 jne short 020d3h ; 75 47 4050 4050 mul word [bp-01ah] ; f7 66 e6 … … 4073 4073 mov bx, ax ; 89 c3 4074 4074 sal bx, 003h ; c1 e3 03 4075 mov ax, word [bx+0463 8h] ; 8b 87 38464075 mov ax, word [bx+04636h] ; 8b 87 36 46 4076 4076 mov bx, dx ; 89 d3 4077 4077 mov dx, cx ; 89 ca … … 4080 4080 inc cx ; 41 4081 4081 jmp short 020afh ; eb dc 4082 mov al, byte [di+046b 4h] ; 8a 85 b4464082 mov al, byte [di+046b2h] ; 8a 85 b2 46 4083 4083 xor ah, ah ; 30 e4 4084 4084 mov di, ax ; 89 c7 4085 4085 sal di, 006h ; c1 e7 06 4086 mov al, byte [di+046c ah] ; 8a 85 ca464086 mov al, byte [di+046c8h] ; 8a 85 c8 46 4087 4087 mov byte [bp-012h], al ; 88 46 ee 4088 mov al, byte [bx+0463 7h] ; 8a 87 37464088 mov al, byte [bx+04635h] ; 8a 87 35 46 4089 4089 mov byte [bp-016h], al ; 88 46 ea 4090 4090 dec si ; 4e … … 4098 4098 mov bx, ax ; 89 c3 4099 4099 sal bx, 003h ; c1 e3 03 4100 mov bl, byte [bx+0463 6h] ; 8a 9f 36464100 mov bl, byte [bx+04634h] ; 8a 9f 34 46 4101 4101 cmp bl, 003h ; 80 fb 03 4102 4102 jc short 0211ch ; 72 0f … … 4186 4186 mov bx, ax ; 89 c3 4187 4187 sal bx, 003h ; c1 e3 03 4188 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 004188 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 4189 4189 je short 021edh ; 74 18 4190 mov al, byte [bx+0463 6h] ; 8a 87 36464190 mov al, byte [bx+04634h] ; 8a 87 34 46 4191 4191 cmp AL, strict byte 003h ; 3c 03 4192 4192 jc short 021e9h ; 72 0c … … 4248 4248 shr ax, 1 ; d1 e8 4249 4249 imul ax, ax, strict byte 00050h ; 6b c0 50 4250 cmp byte [bx+0463 7h], 002h ; 80 bf 3746 024250 cmp byte [bx+04635h], 002h ; 80 bf 35 46 02 4251 4251 jne short 02276h ; 75 08 4252 4252 mov bx, word [bp-00ah] ; 8b 5e f6 … … 4268 4268 mov si, ax ; 89 c6 4269 4269 sal si, 003h ; c1 e6 03 4270 cmp byte [si+0463 7h], 002h ; 80 bc 3746 024270 cmp byte [si+04635h], 002h ; 80 bc 35 46 02 4271 4271 jne short 022bfh ; 75 19 4272 4272 mov al, byte [bp-00ah] ; 8a 46 f6 … … 4392 4392 mov si, bx ; 89 de 4393 4393 sal si, 003h ; c1 e6 03 4394 cmp byte [si+0463 5h], 000h ; 80 bc 3546 004394 cmp byte [si+04633h], 000h ; 80 bc 33 46 00 4395 4395 jne short 02427h ; 75 4e 4396 4396 mov ax, word [bp-018h] ; 8b 46 e8 … … 4414 4414 add cx, ax ; 01 c1 4415 4415 mov bl, byte [bp-00eh] ; 8a 5e f2 4416 mov ax, word [si+0463 8h] ; 8b 84 38464416 mov ax, word [si+04636h] ; 8b 84 36 46 4417 4417 mov dx, cx ; 89 ca 4418 4418 call 03173h ; e8 63 0d … … 4423 4423 mov dx, cx ; 89 ca 4424 4424 inc dx ; 42 4425 mov ax, word [si+0463 8h] ; 8b 84 38464425 mov ax, word [si+04636h] ; 8b 84 36 46 4426 4426 call 03173h ; e8 4e 0d 4427 4427 jmp short 02470h ; eb 49 4428 mov bl, byte [bx+046b 4h] ; 8a 9f b4464428 mov bl, byte [bx+046b2h] ; 8a 9f b2 46 4429 4429 sal bx, 006h ; c1 e3 06 4430 mov al, byte [bx+046c ah] ; 8a 87 ca464431 mov ah, byte [si+0463 7h] ; 8a a4 37464432 mov cl, byte [si+0463 6h] ; 8a 8c 36464430 mov al, byte [bx+046c8h] ; 8a 87 c8 46 4431 mov ah, byte [si+04635h] ; 8a a4 35 46 4432 mov cl, byte [si+04634h] ; 8a 8c 34 46 4433 4433 cmp cl, 003h ; 80 f9 03 4434 4434 jc short 0244dh ; 72 0e … … 4512 4512 ; dec al ; fe c8 4513 4513 mov byte [bp-00ah], al ; 88 46 f6 4514 cmp byte [si+0463 5h], 000h ; 80 bc 3546 004514 cmp byte [si+04633h], 000h ; 80 bc 33 46 00 4515 4515 jne short 02549h ; 75 4c 4516 4516 mov ax, word [bp-018h] ; 8b 46 e8 … … 4533 4533 add dx, ax ; 01 c2 4534 4534 inc dx ; 42 4535 mov ax, word [si+0463 8h] ; 8b 84 38464535 mov ax, word [si+04636h] ; 8b 84 36 46 4536 4536 call 03165h ; e8 36 0c 4537 4537 push strict byte 00001h ; 6a 01 … … 4820 4820 sal di, 005h ; c1 e7 05 4821 4821 add di, word [bp-00ch] ; 03 7e f4 4822 add si, 05bf 2h ; 81 c6 f25b4822 add si, 05bf0h ; 81 c6 f0 5b 4823 4823 mov cx, strict word 0000eh ; b9 0e 00 4824 4824 mov dx, 0c000h ; ba 00 c0 … … 4875 4875 sal di, 005h ; c1 e7 05 4876 4876 add di, word [bp-00ch] ; 03 7e f4 4877 add si, 053f 2h ; 81 c6 f2534877 add si, 053f0h ; 81 c6 f0 53 4878 4878 mov cx, strict word 00008h ; b9 08 00 4879 4879 mov dx, 0c000h ; ba 00 c0 … … 4930 4930 sal di, 005h ; c1 e7 05 4931 4931 add di, word [bp-00ch] ; 03 7e f4 4932 add si, 069f 2h ; 81 c6 f2694932 add si, 069f0h ; 81 c6 f0 69 4933 4933 mov cx, strict word 00010h ; b9 10 00 4934 4934 mov dx, 0c000h ; ba 00 c0 … … 5071 5071 push bx ; 53 5072 5072 mov cx, ds ; 8c d9 5073 mov bx, 0538 8h ; bb 88535073 mov bx, 05386h ; bb 86 53 5074 5074 mov dx, word [bp-00ah] ; 8b 56 f6 5075 5075 mov ax, word [bp-008h] ; 8b 46 f8 … … 6008 6008 xor bh, bh ; 30 ff 6009 6009 sal bx, 003h ; c1 e3 03 6010 cmp dl, byte [bx+0463 4h] ; 3a 97 34466010 cmp dl, byte [bx+04632h] ; 3a 97 32 46 6011 6011 jne short 0314ah ; 75 ed 6012 6012 mov ah, al ; 88 c4 … … 6721 6721 mov word [es:bx+002h], 04153h ; 26 c7 47 02 53 41 6722 6722 mov word [es:bx+004h], 00200h ; 26 c7 47 04 00 02 6723 mov word [es:bx+006h], 07c6 4h ; 26 c7 47 06 647c6723 mov word [es:bx+006h], 07c62h ; 26 c7 47 06 62 7c 6724 6724 mov [es:bx+008h], ds ; 26 8c 5f 08 6725 6725 mov word [es:bx+00ah], strict word 00001h ; 26 c7 47 0a 01 00 … … 6737 6737 je short 037e2h ; 74 24 6738 6738 mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 6739 mov word [es:bx+016h], 07c7 9h ; 26 c7 47 16 797c6739 mov word [es:bx+016h], 07c77h ; 26 c7 47 16 77 7c 6740 6740 mov [es:bx+018h], ds ; 26 8c 5f 18 6741 mov word [es:bx+01ah], 07c8 ch ; 26 c7 47 1a 8c7c6741 mov word [es:bx+01ah], 07c8ah ; 26 c7 47 1a 8a 7c 6742 6742 mov [es:bx+01ch], ds ; 26 8c 5f 1c 6743 mov word [es:bx+01eh], 07ca dh ; 26 c7 47 1e ad7c6743 mov word [es:bx+01eh], 07cabh ; 26 c7 47 1e ab 7c 6744 6744 mov [es:bx+020h], ds ; 26 8c 5f 20 6745 6745 mov dx, cx ; 89 ca … … 7292 7292 times 235 db 0 7293 7293 7294 section _DATA progbits vstart=0x4600 align=1 ; size=0x372 aclass=DATA group=DGROUP7295 _msg_vga_init: ; 0xc4600 LB 0x3 47296 db 'Oracle VM VirtualBox Version 5.1.0_ BETA3VGA BIOS', 00dh, 00ah, 000h7297 _vga_modes: ; 0xc463 4LB 0x807294 section _DATA progbits vstart=0x4600 align=1 ; size=0x3726 class=DATA group=DGROUP 7295 _msg_vga_init: ; 0xc4600 LB 0x32 7296 db 'Oracle VM VirtualBox Version 5.1.0_RC1 VGA BIOS', 00dh, 00ah, 000h 7297 _vga_modes: ; 0xc4632 LB 0x80 7298 7298 db 000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h 7299 7299 db 002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h … … 7304 7304 db 011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 7305 7305 db 013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 7306 _line_to_vpti: ; 0xc46b 4LB 0x107306 _line_to_vpti: ; 0xc46b2 LB 0x10 7307 7307 db 017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh 7308 _dac_regs: ; 0xc46c 4LB 0x47308 _dac_regs: ; 0xc46c2 LB 0x4 7309 7309 dd 0ff3f3f3fh 7310 _video_param_table: ; 0xc46c 8LB 0x7807310 _video_param_table: ; 0xc46c6 LB 0x780 7311 7311 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7312 7312 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h … … 7429 7429 db 073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch 7430 7430 db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh 7431 _palette0: ; 0xc4e4 8LB 0xc07431 _palette0: ; 0xc4e46 LB 0xc0 7432 7432 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7433 7433 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah … … 7442 7442 db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 7443 7443 db 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 7444 _palette1: ; 0xc4f0 8LB 0xc07444 _palette1: ; 0xc4f06 LB 0xc0 7445 7445 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7446 7446 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah … … 7455 7455 db 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 7456 7456 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 7457 _palette2: ; 0xc4fc 8LB 0xc07457 _palette2: ; 0xc4fc6 LB 0xc0 7458 7458 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7459 7459 db 000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah … … 7468 7468 db 015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 7469 7469 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 7470 _palette3: ; 0xc508 8LB 0x3007470 _palette3: ; 0xc5086 LB 0x300 7471 7471 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7472 7472 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh … … 7517 7517 db 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7518 7518 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7519 _static_functionality: ; 0xc538 8LB 0x107519 _static_functionality: ; 0xc5386 LB 0x10 7520 7520 db 0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h 7521 _dcc_table: ; 0xc539 8LB 0x247521 _dcc_table: ; 0xc5396 LB 0x24 7522 7522 db 010h, 001h, 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7523 7523 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7524 7524 db 000h, 000h, 000h, 000h 7525 _secondary_save_area: ; 0xc53b cLB 0x1a7526 db 01ah, 000h, 09 8h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7525 _secondary_save_area: ; 0xc53ba LB 0x1a 7526 db 01ah, 000h, 096h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7527 7527 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7528 _video_save_pointer_table: ; 0xc53d 6LB 0x1c7529 db 0c 8h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7530 db 0b ch, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7531 _vgafont8: ; 0xc53f 2LB 0x8007528 _video_save_pointer_table: ; 0xc53d4 LB 0x1c 7529 db 0c6h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7530 db 0bah, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7531 _vgafont8: ; 0xc53f0 LB 0x800 7532 7532 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh 7533 7533 db 07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h … … 7658 7658 db 078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h 7659 7659 db 000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7660 _vgafont14: ; 0xc5bf 2LB 0xe007660 _vgafont14: ; 0xc5bf0 LB 0xe00 7661 7661 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7662 7662 db 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh … … 7883 7883 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h 7884 7884 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7885 _vgafont16: ; 0xc69f 2LB 0x10007885 _vgafont16: ; 0xc69f0 LB 0x1000 7886 7886 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7887 7887 db 000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h … … 8140 8140 db 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h 8141 8141 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8142 _vgafont14alt: ; 0xc79f 2LB 0x12d8142 _vgafont14alt: ; 0xc79f0 LB 0x12d 8143 8143 db 01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h 8144 8144 db 000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h … … 8160 8160 db 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h 8161 8161 db 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h 8162 _vgafont16alt: ; 0xc7b1 fLB 0x1458162 _vgafont16alt: ; 0xc7b1d LB 0x145 8163 8163 db 01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h 8164 8164 db 000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h … … 8182 8182 db 000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h 8183 8183 db 006h, 000h, 000h, 000h, 000h 8184 _vbebios_copyright: ; 0xc7c6 4LB 0x158184 _vbebios_copyright: ; 0xc7c62 LB 0x15 8185 8185 db 'VirtualBox VESA BIOS', 000h 8186 _vbebios_vendor_name: ; 0xc7c7 9LB 0x138186 _vbebios_vendor_name: ; 0xc7c77 LB 0x13 8187 8187 db 'Oracle Corporation', 000h 8188 _vbebios_product_name: ; 0xc7c8 cLB 0x218188 _vbebios_product_name: ; 0xc7c8a LB 0x21 8189 8189 db 'Oracle VM VirtualBox VBE Adapter', 000h 8190 _vbebios_product_revision: ; 0xc7ca d LB 0x298191 db 'Oracle VM VirtualBox Version 5.1.0_ BETA3', 000h8192 _vbebios_info_string: ; 0xc7cd 6LB 0x2b8190 _vbebios_product_revision: ; 0xc7cab LB 0x27 8191 db 'Oracle VM VirtualBox Version 5.1.0_RC1', 000h 8192 _vbebios_info_string: ; 0xc7cd2 LB 0x2b 8193 8193 db 'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h 8194 _no_vbebios_info_string: ; 0xc7 d01LB 0x298194 _no_vbebios_info_string: ; 0xc7cfd LB 0x29 8195 8195 db 'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h 8196 8196 8197 section CONST progbits vstart=0x7d2 aalign=1 ; size=0x0 class=DATA group=DGROUP8197 section CONST progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP 8198 8198 8199 section CONST2 progbits vstart=0x7d2 aalign=1 ; size=0x0 class=DATA group=DGROUP8199 section CONST2 progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP 8200 8200 8201 ; Padding 0x2d 6 bytes at 0xc7d2a8201 ; Padding 0x2da bytes at 0xc7d26 8202 8202 db 001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh 8203 8203 db 065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh … … 8245 8245 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8246 8246 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8247 db 000h, 000h, 000h, 000h, 000h, 0 a1h8247 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 077h -
TabularUnified trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative286.md5sum ¶
r61733 r62120 1 03f7105a41406d75a2510acf466afda5*VBoxVgaBios286.rom1 7b7edc92d5231f13f7faea9c13b059d8 *VBoxVgaBios286.rom -
TabularUnified trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.asm ¶
r61733 r62120 1652 1652 movzx bx, ch ; 0f b6 dd 1653 1653 sal bx, 003h ; c1 e3 03 1654 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 001654 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 1655 1655 jne short 00b5ah ; 75 2d 1656 1656 mov dx, ax ; 89 c2 … … 1668 1668 mov dx, cx ; 89 ca 1669 1669 add dx, ax ; 01 c2 1670 mov ax, word [bx+0463 8h] ; 8b 87 38461670 mov ax, word [bx+04636h] ; 8b 87 36 46 1671 1671 call 02f5ah ; e8 03 24 1672 1672 mov word [ss:si], ax ; 36 89 04 … … 1734 1734 mov dx, 0010ch ; ba 0c 01 1735 1735 jmp short 00b91h ; eb bf 1736 mov ax, 05bf 2h ; b8 f25b1736 mov ax, 05bf0h ; b8 f0 5b 1737 1737 mov dx, 0c000h ; ba 00 c0 1738 1738 jmp short 00b96h ; eb bc 1739 mov ax, 053f 2h ; b8 f2531739 mov ax, 053f0h ; b8 f0 53 1740 1740 jmp short 00bd5h ; eb f6 1741 mov ax, 057f 2h ; b8 f2571741 mov ax, 057f0h ; b8 f0 57 1742 1742 jmp short 00bd5h ; eb f1 1743 mov ax, 079f 2h ; b8 f2791743 mov ax, 079f0h ; b8 f0 79 1744 1744 jmp short 00bd5h ; eb ec 1745 mov ax, 069f 2h ; b8 f2691745 mov ax, 069f0h ; b8 f0 69 1746 1746 jmp short 00bd5h ; eb e7 1747 mov ax, 07b1 fh ; b8 1f7b1747 mov ax, 07b1dh ; b8 1d 7b 1748 1748 jmp short 00bd5h ; eb e2 1749 1749 jmp short 00bc4h ; eb cf … … 1767 1767 movzx bx, al ; 0f b6 d8 1768 1768 sal bx, 003h ; c1 e3 03 1769 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 001769 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 1770 1770 je near 00d27h ; 0f 84 fe 00 1771 mov bl, byte [bx+0463 6h] ; 8a 9f 36461771 mov bl, byte [bx+04634h] ; 8a 9f 34 46 1772 1772 cmp bl, 003h ; 80 fb 03 1773 1773 jc short 00c43h ; 72 11 … … 1828 1828 movzx bx, cl ; 0f b6 d9 1829 1829 sal bx, 003h ; c1 e3 03 1830 cmp byte [bx+0463 7h], 002h ; 80 bf 3746 021830 cmp byte [bx+04635h], 002h ; 80 bf 35 46 02 1831 1831 jne short 00cebh ; 75 1b 1832 1832 mov cx, si ; 89 f1 … … 2129 2129 mov si, bx ; 89 de 2130 2130 sal si, 003h ; c1 e6 03 2131 cmp byte [si+0463 5h], 000h ; 80 bc 3546 002131 cmp byte [si+04633h], 000h ; 80 bc 33 46 00 2132 2132 jne short 00f83h ; 75 40 2133 2133 mov dx, strict word 0004ah ; ba 4a 00 … … 2156 2156 imul bx, di ; 0f af df 2157 2157 jmp short 00f95h ; eb 12 2158 movzx bx, byte [bx+046b 4h] ; 0f b6 9f b4462158 movzx bx, byte [bx+046b2h] ; 0f b6 9f b2 46 2159 2159 sal bx, 006h ; c1 e3 06 2160 2160 movzx ax, cl ; 0f b6 c1 2161 mov bx, word [bx+046c bh] ; 8b 9f cb462161 mov bx, word [bx+046c9h] ; 8b 9f c9 46 2162 2162 imul bx, ax ; 0f af d8 2163 2163 mov dx, strict word 00063h ; ba 63 00 … … 2227 2227 je near 01363h ; 0f 84 43 03 2228 2228 movzx si, al ; 0f b6 f0 2229 mov al, byte [si+046b 4h] ; 8a 84 b4462229 mov al, byte [si+046b2h] ; 8a 84 b2 46 2230 2230 mov byte [bp-00eh], al ; 88 46 f2 2231 2231 movzx bx, al ; 0f b6 d8 2232 2232 sal bx, 006h ; c1 e3 06 2233 movzx ax, byte [bx+046c6h] ; 0f b6 87 c6 46 2234 mov word [bp-018h], ax ; 89 46 e8 2235 movzx ax, byte [bx+046c7h] ; 0f b6 87 c7 46 2236 mov word [bp-016h], ax ; 89 46 ea 2233 2237 movzx ax, byte [bx+046c8h] ; 0f b6 87 c8 46 2234 mov word [bp-018h], ax ; 89 46 e82235 movzx ax, byte [bx+046c9h] ; 0f b6 87 c9 462236 mov word [bp-016h], ax ; 89 46 ea2237 movzx ax, byte [bx+046cah] ; 0f b6 87 ca 462238 2238 mov word [bp-014h], ax ; 89 46 ec 2239 2239 mov dx, 00087h ; ba 87 00 … … 2251 2251 mov bx, si ; 89 f3 2252 2252 sal bx, 003h ; c1 e3 03 2253 mov al, byte [bx+0463 ah] ; 8a 87 3a462253 mov al, byte [bx+04638h] ; 8a 87 38 46 2254 2254 mov dx, 003c6h ; ba c6 03 2255 2255 out DX, AL ; ee … … 2257 2257 mov dx, 003c8h ; ba c8 03 2258 2258 out DX, AL ; ee 2259 mov bl, byte [bx+0463 bh] ; 8a 9f 3b462259 mov bl, byte [bx+04639h] ; 8a 9f 39 46 2260 2260 cmp bl, 001h ; 80 fb 01 2261 2261 jc short 01095h ; 72 0e … … 2268 2268 test bl, bl ; 84 db 2269 2269 jne short 010abh ; 75 12 2270 mov di, 04e4 8h ; bf 484e2270 mov di, 04e46h ; bf 46 4e 2271 2271 jmp short 010abh ; eb 0d 2272 mov di, 04f0 8h ; bf 084f2272 mov di, 04f06h ; bf 06 4f 2273 2273 jmp short 010abh ; eb 08 2274 mov di, 04fc 8h ; bf c84f2274 mov di, 04fc6h ; bf c6 4f 2275 2275 jmp short 010abh ; eb 03 2276 mov di, 0508 8h ; bf 88502276 mov di, 05086h ; bf 86 50 2277 2277 xor bx, bx ; 31 db 2278 2278 jmp short 010beh ; eb 0f … … 2287 2287 movzx si, byte [bp-012h] ; 0f b6 76 ee 2288 2288 sal si, 003h ; c1 e6 03 2289 movzx si, byte [si+0463 bh] ; 0f b6 b4 3b462290 movzx dx, byte [si+046c 4h] ; 0f b6 94 c4462289 movzx si, byte [si+04639h] ; 0f b6 b4 39 46 2290 movzx dx, byte [si+046c2h] ; 0f b6 94 c2 46 2291 2291 cmp bx, dx ; 39 d3 2292 2292 jnbe short 010afh ; 77 dc … … 2320 2320 sal si, 006h ; c1 e6 06 2321 2321 add si, bx ; 01 de 2322 mov al, byte [si+046e bh] ; 8a 84 eb462322 mov al, byte [si+046e9h] ; 8a 84 e9 46 2323 2323 out DX, AL ; ee 2324 2324 inc bx ; 43 … … 2344 2344 sal si, 006h ; c1 e6 06 2345 2345 add si, bx ; 01 de 2346 mov al, byte [si+046c ch] ; 8a 84 cc462346 mov al, byte [si+046cah] ; 8a 84 ca 46 2347 2347 mov dx, 003c5h ; ba c5 03 2348 2348 out DX, AL ; ee … … 2359 2359 sal si, 006h ; c1 e6 06 2360 2360 add si, bx ; 01 de 2361 mov al, byte [si+046f fh] ; 8a 84 ff462361 mov al, byte [si+046fdh] ; 8a 84 fd 46 2362 2362 mov dx, 003cfh ; ba cf 03 2363 2363 out DX, AL ; ee … … 2366 2366 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2367 2367 sal bx, 003h ; c1 e3 03 2368 cmp byte [bx+0463 6h], 001h ; 80 bf 3646 012368 cmp byte [bx+04634h], 001h ; 80 bf 34 46 01 2369 2369 jne short 01188h ; 75 05 2370 2370 mov dx, 003b4h ; ba b4 03 … … 2386 2386 add di, bx ; 01 df 2387 2387 lea dx, [si+001h] ; 8d 54 01 2388 mov al, byte [di+046d 2h] ; 8a 85 d2462388 mov al, byte [di+046d0h] ; 8a 85 d0 46 2389 2389 out DX, AL ; ee 2390 2390 inc bx ; 43 2391 2391 jmp short 01195h ; eb e0 2392 2392 mov bx, cx ; 89 cb 2393 mov al, byte [bx+046 d1h] ; 8a 87 d1462393 mov al, byte [bx+046cfh] ; 8a 87 cf 46 2394 2394 mov dx, 003c2h ; ba c2 03 2395 2395 out DX, AL ; ee … … 2405 2405 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2406 2406 sal bx, 003h ; c1 e3 03 2407 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 002407 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 2408 2408 jne short 011f2h ; 75 13 2409 mov es, [bx+0463 8h] ; 8e 87 38462409 mov es, [bx+04636h] ; 8e 87 36 46 2410 2410 mov cx, 04000h ; b9 00 40 2411 2411 mov ax, 00720h ; b8 20 07 … … 2417 2417 cmp byte [bp-00ch], 00dh ; 80 7e f4 0d 2418 2418 jnc short 0120ah ; 73 12 2419 mov es, [bx+0463 8h] ; 8e 87 38462419 mov es, [bx+04636h] ; 8e 87 36 46 2420 2420 mov cx, 04000h ; b9 00 40 2421 2421 xor ax, ax ; 31 c0 … … 2435 2435 mov AL, strict byte 00fh ; b0 0f 2436 2436 out DX, AL ; ee 2437 mov es, [bx+0463 8h] ; 8e 87 38462437 mov es, [bx+04636h] ; 8e 87 36 46 2438 2438 mov cx, 08000h ; b9 00 80 2439 2439 xor ax, ax ; 31 c0 … … 2454 2454 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 2455 2455 sal bx, 006h ; c1 e3 06 2456 mov bx, word [bx+046c bh] ; 8b 9f cb462456 mov bx, word [bx+046c9h] ; 8b 9f c9 46 2457 2457 mov dx, strict word 0004ch ; ba 4c 00 2458 2458 mov ax, strict word 00040h ; b8 40 00 … … 2493 2493 call 02f4ch ; e8 8b 1c 2494 2494 mov cx, ds ; 8c d9 2495 mov bx, 053d 6h ; bb d6532495 mov bx, 053d4h ; bb d4 53 2496 2496 mov dx, 000a8h ; ba a8 00 2497 2497 mov ax, strict word 00040h ; b8 40 00 … … 2507 2507 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2508 2508 sal bx, 003h ; c1 e3 03 2509 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 002509 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 2510 2510 jne short 012fch ; 75 09 2511 2511 mov dx, strict word 00007h ; ba 07 00 … … 2525 2525 movzx bx, byte [bp-012h] ; 0f b6 5e ee 2526 2526 sal bx, 003h ; c1 e3 03 2527 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 002527 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 2528 2528 jne short 01333h ; 75 10 2529 2529 xor bl, bl ; 30 db … … 2535 2535 mov AH, strict byte 011h ; b4 11 2536 2536 int 010h ; cd 10 2537 mov dx, 057f 2h ; ba f2572537 mov dx, 057f0h ; ba f0 57 2538 2538 mov ax, strict word 0001fh ; b8 1f 00 2539 2539 call 00a00h ; e8 c4 f6 … … 2545 2545 cmp ax, strict word 00008h ; 3d 08 00 2546 2546 jne short 01363h ; 75 15 2547 mov dx, 053f 2h ; ba f2532547 mov dx, 053f0h ; ba f0 53 2548 2548 mov ax, strict word 00043h ; b8 43 00 2549 2549 call 00a00h ; e8 a9 f6 2550 2550 jmp short 01363h ; eb 0a 2551 mov dx, 05bf 2h ; ba f25b2551 mov dx, 05bf0h ; ba f0 5b 2552 2552 jmp short 01351h ; eb f3 2553 mov dx, 069f 2h ; ba f2692553 mov dx, 069f0h ; ba f0 69 2554 2554 jmp short 01351h ; eb ee 2555 2555 lea sp, [bp-00ah] ; 8d 66 f6 … … 2861 2861 mov ax, word [bp-016h] ; 8b 46 ea 2862 2862 imul ax, cx ; 0f af c1 2863 cmp byte [di+0463 5h], 000h ; 80 bd 3546 002863 cmp byte [di+04633h], 000h ; 80 bd 33 46 00 2864 2864 jne near 017d1h ; 0f 85 9f 01 2865 2865 mov dx, ax ; 89 c2 … … 2884 2884 sal dx, 008h ; c1 e2 08 2885 2885 add dx, strict byte 00020h ; 83 c2 20 2886 mov es, [di+0463 8h] ; 8e 85 38462886 mov es, [di+04636h] ; 8e 85 36 46 2887 2887 mov cx, ax ; 89 c1 2888 2888 mov ax, dx ; 89 d0 … … 2918 2918 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2919 2919 sal si, 003h ; c1 e6 03 2920 mov es, [si+0463 8h] ; 8e 84 38462920 mov es, [si+04636h] ; 8e 84 36 46 2921 2921 cld ; fc 2922 2922 jcxz 016ddh ; e3 02 … … 2932 2932 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2933 2933 sal si, 003h ; c1 e6 03 2934 mov ax, word [si+0463 8h] ; 8b 84 38462934 mov ax, word [si+04636h] ; 8b 84 36 46 2935 2935 mov si, word [bp-014h] ; 8b 76 ec 2936 2936 imul si, word [bp-016h] ; 0f af 76 ea … … 2976 2976 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2977 2977 sal si, 003h ; c1 e6 03 2978 mov es, [si+0463 8h] ; 8e 84 38462978 mov es, [si+04636h] ; 8e 84 36 46 2979 2979 cld ; fc 2980 2980 jcxz 0177eh ; e3 02 … … 2991 2991 movzx si, byte [bp-00eh] ; 0f b6 76 f2 2992 2992 sal si, 003h ; c1 e6 03 2993 mov ax, word [si+0463 8h] ; 8b 84 38462993 mov ax, word [si+04636h] ; 8b 84 36 46 2994 2994 mov si, word [bp-014h] ; 8b 76 ec 2995 2995 imul si, word [bp-016h] ; 0f af 76 ea … … 3011 3011 dec word [bp-014h] ; ff 4e ec 3012 3012 jmp near 0172dh ; e9 5c ff 3013 movzx bx, byte [si+046b 4h] ; 0f b6 9c b4463013 movzx bx, byte [si+046b2h] ; 0f b6 9c b2 46 3014 3014 sal bx, 006h ; c1 e3 06 3015 mov dl, byte [bx+046c ah] ; 8a 97 ca463015 mov dl, byte [bx+046c8h] ; 8a 97 c8 46 3016 3016 mov byte [bp-00ah], dl ; 88 56 f6 3017 mov bl, byte [di+0463 6h] ; 8a 9d 36463017 mov bl, byte [di+04634h] ; 8a 9d 34 46 3018 3018 cmp bl, 004h ; 80 fb 04 3019 3019 je short 017f8h ; 74 0f … … 3048 3048 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3049 3049 sal bx, 003h ; c1 e3 03 3050 mov es, [bx+0463 8h] ; 8e 87 38463050 mov es, [bx+04636h] ; 8e 87 36 46 3051 3051 xor di, di ; 31 ff 3052 3052 cld ; fc … … 3130 3130 dec word [bp-014h] ; ff 4e ec 3131 3131 jmp short 018c6h ; eb 8f 3132 mov dl, byte [di+0463 7h] ; 8a 95 37463132 mov dl, byte [di+04635h] ; 8a 95 35 46 3133 3133 cmp byte [bp-010h], 000h ; 80 7e f0 00 3134 3134 jne short 0197eh ; 75 3d … … 3148 3148 imul cx, ax ; 0f af c8 3149 3149 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 3150 mov es, [di+0463 8h] ; 8e 85 38463150 mov es, [di+04636h] ; 8e 85 36 46 3151 3151 xor di, di ; 31 ff 3152 3152 cld ; fc … … 3250 3250 cmp byte [bp+006h], 00eh ; 80 7e 06 0e 3251 3251 jne short 01a9bh ; 75 0a 3252 mov di, 05bf 2h ; bf f25b3252 mov di, 05bf0h ; bf f0 5b 3253 3253 jmp short 01a9eh ; eb 08 3254 mov di, 069f 2h ; bf f2693254 mov di, 069f0h ; bf f0 69 3255 3255 jmp short 01a9eh ; eb 03 3256 mov di, 053f 2h ; bf f2533256 mov di, 053f0h ; bf f0 53 3257 3257 movzx si, cl ; 0f b6 f1 3258 3258 movzx bx, byte [bp+006h] ; 0f b6 5e 06 … … 3341 3341 sub sp, strict byte 00008h ; 83 ec 08 3342 3342 mov byte [bp-008h], dl ; 88 56 f8 3343 mov si, 053f 2h ; be f2533343 mov si, 053f0h ; be f0 53 3344 3344 xor bh, bh ; 30 ff 3345 3345 movzx di, byte [bp+006h] ; 0f b6 7e 06 … … 3455 3455 sub sp, strict byte 00008h ; 83 ec 08 3456 3456 mov byte [bp-006h], dl ; 88 56 fa 3457 mov di, 053f 2h ; bf f2533457 mov di, 053f0h ; bf f0 53 3458 3458 movzx dx, cl ; 0f b6 d1 3459 3459 movzx cx, byte [bp+004h] ; 0f b6 4e 04 … … 3550 3550 mov di, bx ; 89 df 3551 3551 sal di, 003h ; c1 e7 03 3552 cmp byte [di+0463 5h], 000h ; 80 bd 3546 003552 cmp byte [di+04633h], 000h ; 80 bd 33 46 00 3553 3553 jne short 01dcdh ; 75 47 3554 3554 mov bx, word [bp-018h] ; 8b 5e e8 … … 3571 3571 mov word [bp-01ah], ax ; 89 46 e6 3572 3572 mov ax, word [bp-01ah] ; 8b 46 e6 3573 mov es, [di+0463 8h] ; 8e 85 38463573 mov es, [di+04636h] ; 8e 85 36 46 3574 3574 mov cx, si ; 89 f1 3575 3575 mov di, dx ; 89 d7 … … 3578 3578 rep stosw ; f3 ab 3579 3579 jmp near 01e73h ; e9 a6 00 3580 movzx bx, byte [bx+046b 4h] ; 0f b6 9f b4463580 movzx bx, byte [bx+046b2h] ; 0f b6 9f b2 46 3581 3581 sal bx, 006h ; c1 e3 06 3582 mov al, byte [bx+046c ah] ; 8a 87 ca463582 mov al, byte [bx+046c8h] ; 8a 87 c8 46 3583 3583 mov byte [bp-008h], al ; 88 46 f8 3584 mov al, byte [di+0463 7h] ; 8a 85 37463584 mov al, byte [di+04635h] ; 8a 85 35 46 3585 3585 mov byte [bp-014h], al ; 88 46 ec 3586 3586 dec si ; 4e … … 3592 3592 movzx bx, byte [bp-006h] ; 0f b6 5e fa 3593 3593 sal bx, 003h ; c1 e3 03 3594 mov al, byte [bx+0463 6h] ; 8a 87 36463594 mov al, byte [bx+04634h] ; 8a 87 34 46 3595 3595 cmp AL, strict byte 003h ; 3c 03 3596 3596 jc short 01e11h ; 72 0c … … 3680 3680 mov bx, di ; 89 fb 3681 3681 sal bx, 003h ; c1 e3 03 3682 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 003682 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 3683 3683 jne short 01f38h ; 75 4a 3684 3684 mov dx, word [bp-018h] ; 8b 56 e8 … … 3702 3702 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3703 3703 sal bx, 003h ; c1 e3 03 3704 mov di, word [bx+0463 8h] ; 8b bf 38463704 mov di, word [bx+04636h] ; 8b bf 36 46 3705 3705 mov bx, ax ; 89 c3 3706 3706 mov dx, cx ; 89 ca … … 3710 3710 inc cx ; 41 3711 3711 jmp short 01f14h ; eb dc 3712 movzx di, byte [di+046b 4h] ; 0f b6 bd b4463712 movzx di, byte [di+046b2h] ; 0f b6 bd b2 46 3713 3713 sal di, 006h ; c1 e7 06 3714 mov al, byte [di+046c ah] ; 8a 85 ca463714 mov al, byte [di+046c8h] ; 8a 85 c8 46 3715 3715 mov byte [bp-00ah], al ; 88 46 f6 3716 mov al, byte [bx+0463 7h] ; 8a 87 37463716 mov al, byte [bx+04635h] ; 8a 87 35 46 3717 3717 mov byte [bp-008h], al ; 88 46 f8 3718 3718 dec si ; 4e … … 3724 3724 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 3725 3725 sal bx, 003h ; c1 e3 03 3726 mov bl, byte [bx+0463 6h] ; 8a 9f 36463726 mov bl, byte [bx+04634h] ; 8a 9f 34 46 3727 3727 cmp bl, 003h ; 80 fb 03 3728 3728 jc short 01f7fh ; 72 0e … … 3787 3787 movzx bx, al ; 0f b6 d8 3788 3788 sal bx, 003h ; c1 e3 03 3789 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 003789 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 3790 3790 je near 0212bh ; 0f 84 0f 01 3791 mov al, byte [bx+0463 6h] ; 8a 87 36463791 mov al, byte [bx+04634h] ; 8a 87 34 46 3792 3792 cmp AL, strict byte 003h ; 3c 03 3793 3793 jc short 02033h ; 72 0f … … 3843 3843 shr ax, 1 ; d1 e8 3844 3844 imul ax, ax, strict byte 00050h ; 6b c0 50 3845 cmp byte [bx+0463 7h], 002h ; 80 bf 3746 023845 cmp byte [bx+04635h], 002h ; 80 bf 35 46 02 3846 3846 jne short 020b5h ; 75 08 3847 3847 mov bx, word [bp-00ah] ; 8b 5e f6 … … 3861 3861 movzx si, byte [bp-004h] ; 0f b6 76 fc 3862 3862 sal si, 003h ; c1 e6 03 3863 cmp byte [si+0463 7h], 002h ; 80 bc 3746 023863 cmp byte [si+04635h], 002h ; 80 bc 35 46 02 3864 3864 jne short 020fbh ; 75 19 3865 3865 mov al, byte [bp-00ah] ; 8a 46 f6 … … 3974 3974 mov si, bx ; 89 de 3975 3975 sal si, 003h ; c1 e6 03 3976 cmp byte [si+0463 5h], 000h ; 80 bc 3546 003976 cmp byte [si+04633h], 000h ; 80 bc 33 46 00 3977 3977 jne short 02256h ; 75 4d 3978 3978 mov ax, word [bp-012h] ; 8b 46 ee … … 3991 3991 add cx, ax ; 01 c1 3992 3992 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 3993 mov ax, word [si+0463 8h] ; 8b 84 38463993 mov ax, word [si+04636h] ; 8b 84 36 46 3994 3994 mov dx, cx ; 89 ca 3995 3995 call 02f4ch ; e8 0f 0d … … 3999 3999 mov dx, cx ; 89 ca 4000 4000 inc dx ; 42 4001 mov ax, word [si+0463 8h] ; 8b 84 38464001 mov ax, word [si+04636h] ; 8b 84 36 46 4002 4002 call 02f4ch ; e8 f9 0c 4003 4003 jmp near 022d4h ; e9 7e 00 4004 movzx bx, byte [bx+046b 4h] ; 0f b6 9f b4464004 movzx bx, byte [bx+046b2h] ; 0f b6 9f b2 46 4005 4005 sal bx, 006h ; c1 e3 06 4006 mov ah, byte [bx+046c ah] ; 8a a7 ca464007 mov dl, byte [si+0463 7h] ; 8a 94 37464008 mov al, byte [si+0463 6h] ; 8a 84 36464006 mov ah, byte [bx+046c8h] ; 8a a7 c8 46 4007 mov dl, byte [si+04635h] ; 8a 94 35 46 4008 mov al, byte [si+04634h] ; 8a 84 34 46 4009 4009 cmp AL, strict byte 003h ; 3c 03 4010 4010 jc short 0227ah ; 72 0c … … 4062 4062 db 0feh, 0cbh 4063 4063 ; dec bl ; fe cb 4064 cmp byte [si+0463 5h], 000h ; 80 bc 3546 004064 cmp byte [si+04633h], 000h ; 80 bc 33 46 00 4065 4065 jne short 02354h ; 75 4a 4066 4066 mov ax, word [bp-012h] ; 8b 46 ee … … 4081 4081 add dx, ax ; 01 c2 4082 4082 inc dx ; 42 4083 mov ax, word [si+0463 8h] ; 8b 84 38464083 mov ax, word [si+04636h] ; 8b 84 36 46 4084 4084 call 02f3eh ; e8 02 0c 4085 4085 push strict byte 00001h ; 6a 01 … … 4356 4356 sal di, 005h ; c1 e7 05 4357 4357 add di, word [bp-00ch] ; 03 7e f4 4358 add si, 05bf 2h ; 81 c6 f25b4358 add si, 05bf0h ; 81 c6 f0 5b 4359 4359 mov cx, strict word 0000eh ; b9 0e 00 4360 4360 mov dx, 0c000h ; ba 00 c0 … … 4412 4412 sal di, 005h ; c1 e7 05 4413 4413 add di, word [bp-00ch] ; 03 7e f4 4414 add si, 053f 2h ; 81 c6 f2534414 add si, 053f0h ; 81 c6 f0 53 4415 4415 mov cx, strict word 00008h ; b9 08 00 4416 4416 mov dx, 0c000h ; ba 00 c0 … … 4468 4468 sal di, 005h ; c1 e7 05 4469 4469 add di, word [bp-00ch] ; 03 7e f4 4470 add si, 069f 2h ; 81 c6 f2694470 add si, 069f0h ; 81 c6 f0 69 4471 4471 mov cx, strict word 00010h ; b9 10 00 4472 4472 mov dx, 0c000h ; ba 00 c0 … … 4602 4602 push bx ; 53 4603 4603 mov cx, ds ; 8c d9 4604 mov bx, 0538 8h ; bb 88534604 mov bx, 05386h ; bb 86 53 4605 4605 mov dx, word [bp-00ah] ; 8b 56 f6 4606 4606 mov ax, word [bp-008h] ; 8b 46 f8 … … 5502 5502 movzx bx, al ; 0f b6 d8 5503 5503 sal bx, 003h ; c1 e3 03 5504 cmp dl, byte [bx+0463 4h] ; 3a 97 34465504 cmp dl, byte [bx+04632h] ; 3a 97 32 46 5505 5505 jne short 02f24h ; 75 ee 5506 5506 mov ah, al ; 88 c4 … … 6203 6203 ; mov dword [es:bx], strict dword 041534556h ; 66 26 c7 07 56 45 53 41 6204 6204 mov word [es:bx+004h], 00200h ; 26 c7 47 04 00 02 6205 mov word [es:bx+006h], 07c6 4h ; 26 c7 47 06 647c6205 mov word [es:bx+006h], 07c62h ; 26 c7 47 06 62 7c 6206 6206 mov [es:bx+008h], ds ; 26 8c 5f 08 6207 6207 db 066h, 026h, 0c7h, 047h, 00ah, 001h, 000h, 000h, 000h … … 6219 6219 je short 035d5h ; 74 24 6220 6220 mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 6221 mov word [es:bx+016h], 07c7 9h ; 26 c7 47 16 797c6221 mov word [es:bx+016h], 07c77h ; 26 c7 47 16 77 7c 6222 6222 mov [es:bx+018h], ds ; 26 8c 5f 18 6223 mov word [es:bx+01ah], 07c8 ch ; 26 c7 47 1a 8c7c6223 mov word [es:bx+01ah], 07c8ah ; 26 c7 47 1a 8a 7c 6224 6224 mov [es:bx+01ch], ds ; 26 8c 5f 1c 6225 mov word [es:bx+01eh], 07ca dh ; 26 c7 47 1e ad7c6225 mov word [es:bx+01eh], 07cabh ; 26 c7 47 1e ab 7c 6226 6226 mov [es:bx+020h], ds ; 26 8c 5f 20 6227 6227 mov dx, cx ; 89 ca … … 6768 6768 times 235 db 0 6769 6769 6770 section _DATA progbits vstart=0x4600 align=1 ; size=0x372 aclass=DATA group=DGROUP6771 _msg_vga_init: ; 0xc4600 LB 0x3 46772 db 'Oracle VM VirtualBox Version 5.1.0_ BETA3VGA BIOS', 00dh, 00ah, 000h6773 _vga_modes: ; 0xc463 4LB 0x806770 section _DATA progbits vstart=0x4600 align=1 ; size=0x3726 class=DATA group=DGROUP 6771 _msg_vga_init: ; 0xc4600 LB 0x32 6772 db 'Oracle VM VirtualBox Version 5.1.0_RC1 VGA BIOS', 00dh, 00ah, 000h 6773 _vga_modes: ; 0xc4632 LB 0x80 6774 6774 db 000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h 6775 6775 db 002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h … … 6780 6780 db 011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 6781 6781 db 013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 6782 _line_to_vpti: ; 0xc46b 4LB 0x106782 _line_to_vpti: ; 0xc46b2 LB 0x10 6783 6783 db 017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh 6784 _dac_regs: ; 0xc46c 4LB 0x46784 _dac_regs: ; 0xc46c2 LB 0x4 6785 6785 dd 0ff3f3f3fh 6786 _video_param_table: ; 0xc46c 8LB 0x7806786 _video_param_table: ; 0xc46c6 LB 0x780 6787 6787 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6788 6788 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h … … 6905 6905 db 073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch 6906 6906 db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh 6907 _palette0: ; 0xc4e4 8LB 0xc06907 _palette0: ; 0xc4e46 LB 0xc0 6908 6908 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6909 6909 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah … … 6918 6918 db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 6919 6919 db 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 6920 _palette1: ; 0xc4f0 8LB 0xc06920 _palette1: ; 0xc4f06 LB 0xc0 6921 6921 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 6922 6922 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah … … 6931 6931 db 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 6932 6932 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 6933 _palette2: ; 0xc4fc 8LB 0xc06933 _palette2: ; 0xc4fc6 LB 0xc0 6934 6934 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 6935 6935 db 000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah … … 6944 6944 db 015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 6945 6945 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 6946 _palette3: ; 0xc508 8LB 0x3006946 _palette3: ; 0xc5086 LB 0x300 6947 6947 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 6948 6948 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh … … 6993 6993 db 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6994 6994 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6995 _static_functionality: ; 0xc538 8LB 0x106995 _static_functionality: ; 0xc5386 LB 0x10 6996 6996 db 0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h 6997 _dcc_table: ; 0xc539 8LB 0x246997 _dcc_table: ; 0xc5396 LB 0x24 6998 6998 db 010h, 001h, 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 6999 6999 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7000 7000 db 000h, 000h, 000h, 000h 7001 _secondary_save_area: ; 0xc53b cLB 0x1a7002 db 01ah, 000h, 09 8h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7001 _secondary_save_area: ; 0xc53ba LB 0x1a 7002 db 01ah, 000h, 096h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7003 7003 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7004 _video_save_pointer_table: ; 0xc53d 6LB 0x1c7005 db 0c 8h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7006 db 0b ch, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7007 _vgafont8: ; 0xc53f 2LB 0x8007004 _video_save_pointer_table: ; 0xc53d4 LB 0x1c 7005 db 0c6h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7006 db 0bah, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7007 _vgafont8: ; 0xc53f0 LB 0x800 7008 7008 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh 7009 7009 db 07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h … … 7134 7134 db 078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h 7135 7135 db 000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7136 _vgafont14: ; 0xc5bf 2LB 0xe007136 _vgafont14: ; 0xc5bf0 LB 0xe00 7137 7137 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7138 7138 db 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh … … 7359 7359 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h 7360 7360 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7361 _vgafont16: ; 0xc69f 2LB 0x10007361 _vgafont16: ; 0xc69f0 LB 0x1000 7362 7362 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7363 7363 db 000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h … … 7616 7616 db 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h 7617 7617 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7618 _vgafont14alt: ; 0xc79f 2LB 0x12d7618 _vgafont14alt: ; 0xc79f0 LB 0x12d 7619 7619 db 01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h 7620 7620 db 000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h … … 7636 7636 db 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h 7637 7637 db 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h 7638 _vgafont16alt: ; 0xc7b1 fLB 0x1457638 _vgafont16alt: ; 0xc7b1d LB 0x145 7639 7639 db 01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h 7640 7640 db 000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h … … 7658 7658 db 000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h 7659 7659 db 006h, 000h, 000h, 000h, 000h 7660 _vbebios_copyright: ; 0xc7c6 4LB 0x157660 _vbebios_copyright: ; 0xc7c62 LB 0x15 7661 7661 db 'VirtualBox VESA BIOS', 000h 7662 _vbebios_vendor_name: ; 0xc7c7 9LB 0x137662 _vbebios_vendor_name: ; 0xc7c77 LB 0x13 7663 7663 db 'Oracle Corporation', 000h 7664 _vbebios_product_name: ; 0xc7c8 cLB 0x217664 _vbebios_product_name: ; 0xc7c8a LB 0x21 7665 7665 db 'Oracle VM VirtualBox VBE Adapter', 000h 7666 _vbebios_product_revision: ; 0xc7ca d LB 0x297667 db 'Oracle VM VirtualBox Version 5.1.0_ BETA3', 000h7668 _vbebios_info_string: ; 0xc7cd 6LB 0x2b7666 _vbebios_product_revision: ; 0xc7cab LB 0x27 7667 db 'Oracle VM VirtualBox Version 5.1.0_RC1', 000h 7668 _vbebios_info_string: ; 0xc7cd2 LB 0x2b 7669 7669 db 'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h 7670 _no_vbebios_info_string: ; 0xc7 d01LB 0x297670 _no_vbebios_info_string: ; 0xc7cfd LB 0x29 7671 7671 db 'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h 7672 7672 7673 section CONST progbits vstart=0x7d2 aalign=1 ; size=0x0 class=DATA group=DGROUP7673 section CONST progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP 7674 7674 7675 section CONST2 progbits vstart=0x7d2 aalign=1 ; size=0x0 class=DATA group=DGROUP7675 section CONST2 progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP 7676 7676 7677 ; Padding 0x2d 6 bytes at 0xc7d2a7677 ; Padding 0x2da bytes at 0xc7d26 7678 7678 db 001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh 7679 7679 db 065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh … … 7721 7721 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7722 7722 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7723 db 000h, 000h, 000h, 000h, 000h, 0 96h7723 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 06ch -
TabularUnified trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative386.md5sum ¶
r61733 r62120 1 4bf3f254f02e449f5a01ca1034064a11*VBoxVgaBios386.rom1 b1671e41e2de2599648b792f96a4fb88 *VBoxVgaBios386.rom -
TabularUnified trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.asm ¶
r61733 r62120 1742 1742 mov CL, strict byte 003h ; b1 03 1743 1743 sal bx, CL ; d3 e3 1744 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 001744 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 1745 1745 jne short 00b68h ; 75 2e 1746 1746 mul word [bp-00ch] ; f7 66 f4 … … 1761 1761 sal dx, 1 ; d1 e2 1762 1762 add dx, cx ; 01 ca 1763 mov ax, word [bx+0463 8h] ; 8b 87 38461763 mov ax, word [bx+04636h] ; 8b 87 36 46 1764 1764 call 031b7h ; e8 52 26 1765 1765 mov word [ss:si], ax ; 36 89 04 … … 1828 1828 mov dx, 0010ch ; ba 0c 01 1829 1829 jmp short 00b99h ; eb c0 1830 mov ax, 05bf 2h ; b8 f25b1830 mov ax, 05bf0h ; b8 f0 5b 1831 1831 mov dx, 0c000h ; ba 00 c0 1832 1832 jmp short 00b9eh ; eb bd 1833 mov ax, 053f 2h ; b8 f2531833 mov ax, 053f0h ; b8 f0 53 1834 1834 jmp short 00bdch ; eb f6 1835 mov ax, 057f 2h ; b8 f2571835 mov ax, 057f0h ; b8 f0 57 1836 1836 jmp short 00bdch ; eb f1 1837 mov ax, 079f 2h ; b8 f2791837 mov ax, 079f0h ; b8 f0 79 1838 1838 jmp short 00bdch ; eb ec 1839 mov ax, 069f 2h ; b8 f2691839 mov ax, 069f0h ; b8 f0 69 1840 1840 jmp short 00bdch ; eb e7 1841 mov ax, 07b1 fh ; b8 1f7b1841 mov ax, 07b1dh ; b8 1d 7b 1842 1842 jmp short 00bdch ; eb e2 1843 1843 jmp short 00bcbh ; eb cf … … 1863 1863 mov CL, strict byte 003h ; b1 03 1864 1864 sal bx, CL ; d3 e3 1865 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 001865 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 1866 1866 jne short 00c31h ; 75 03 1867 1867 jmp near 00d38h ; e9 07 01 1868 mov bl, byte [bx+0463 6h] ; 8a 9f 36461868 mov bl, byte [bx+04634h] ; 8a 9f 34 46 1869 1869 cmp bl, cl ; 38 cb 1870 1870 jc short 00c48h ; 72 0f … … 1934 1934 mov CL, strict byte 003h ; b1 03 1935 1935 sal bx, CL ; d3 e3 1936 cmp byte [bx+0463 7h], 002h ; 80 bf 3746 021936 cmp byte [bx+04635h], 002h ; 80 bf 35 46 02 1937 1937 jne short 00cfah ; 75 1b 1938 1938 mov cx, si ; 89 f1 … … 2268 2268 mov si, bx ; 89 de 2269 2269 sal si, CL ; d3 e6 2270 cmp byte [si+0463 5h], 000h ; 80 bc 3546 002270 cmp byte [si+04633h], 000h ; 80 bc 33 46 00 2271 2271 jne short 00fc0h ; 75 47 2272 2272 mov dx, strict word 0004ah ; ba 4a 00 … … 2300 2300 mul di ; f7 e7 2301 2301 jmp short 00fd0h ; eb 10 2302 mov bl, byte [bx+046b 4h] ; 8a 9f b4462302 mov bl, byte [bx+046b2h] ; 8a 9f b2 46 2303 2303 mov CL, strict byte 006h ; b1 06 2304 2304 sal bx, CL ; d3 e3 2305 2305 mov al, ch ; 88 e8 2306 2306 xor ah, ah ; 30 e4 2307 mul word [bx+046c bh] ; f7 a7 cb462307 mul word [bx+046c9h] ; f7 a7 c9 46 2308 2308 mov bx, ax ; 89 c3 2309 2309 mov dx, strict word 00063h ; ba 63 00 … … 2378 2378 mov byte [bp-013h], 000h ; c6 46 ed 00 2379 2379 mov bx, word [bp-014h] ; 8b 5e ec 2380 mov al, byte [bx+046b 4h] ; 8a 87 b4462380 mov al, byte [bx+046b2h] ; 8a 87 b2 46 2381 2381 mov byte [bp-00eh], al ; 88 46 f2 2382 2382 mov bl, al ; 88 c3 … … 2384 2384 mov CL, strict byte 006h ; b1 06 2385 2385 sal bx, CL ; d3 e3 2386 mov al, byte [bx+046c6h] ; 8a 87 c6 46 2387 xor ah, ah ; 30 e4 2388 mov word [bp-016h], ax ; 89 46 ea 2389 mov al, byte [bx+046c7h] ; 8a 87 c7 46 2390 mov word [bp-018h], ax ; 89 46 e8 2386 2391 mov al, byte [bx+046c8h] ; 8a 87 c8 46 2387 xor ah, ah ; 30 e42388 mov word [bp-016h], ax ; 89 46 ea2389 mov al, byte [bx+046c9h] ; 8a 87 c9 462390 mov word [bp-018h], ax ; 89 46 e82391 mov al, byte [bx+046cah] ; 8a 87 ca 462392 2392 mov word [bp-01ah], ax ; 89 46 e6 2393 2393 mov dx, 00087h ; ba 87 00 … … 2406 2406 mov bx, word [bp-014h] ; 8b 5e ec 2407 2407 sal bx, CL ; d3 e3 2408 mov al, byte [bx+0463 ah] ; 8a 87 3a462408 mov al, byte [bx+04638h] ; 8a 87 38 46 2409 2409 mov dx, 003c6h ; ba c6 03 2410 2410 out DX, AL ; ee … … 2412 2412 mov dx, 003c8h ; ba c8 03 2413 2413 out DX, AL ; ee 2414 mov bl, byte [bx+0463 bh] ; 8a 9f 3b462414 mov bl, byte [bx+04639h] ; 8a 9f 39 46 2415 2415 cmp bl, 001h ; 80 fb 01 2416 2416 jc short 010dbh ; 72 0d … … 2423 2423 test bl, bl ; 84 db 2424 2424 jne short 010f1h ; 75 12 2425 mov di, 04e4 8h ; bf 484e2425 mov di, 04e46h ; bf 46 4e 2426 2426 jmp short 010f1h ; eb 0d 2427 mov di, 04f0 8h ; bf 084f2427 mov di, 04f06h ; bf 06 4f 2428 2428 jmp short 010f1h ; eb 08 2429 mov di, 04fc 8h ; bf c84f2429 mov di, 04fc6h ; bf c6 4f 2430 2430 jmp short 010f1h ; eb 03 2431 mov di, 0508 8h ; bf 88502431 mov di, 05086h ; bf 86 50 2432 2432 xor bx, bx ; 31 db 2433 2433 jmp short 010fdh ; eb 08 … … 2440 2440 mov si, ax ; 89 c6 2441 2441 sal si, CL ; d3 e6 2442 mov al, byte [si+0463 bh] ; 8a 84 3b462442 mov al, byte [si+04639h] ; 8a 84 39 46 2443 2443 mov si, ax ; 89 c6 2444 mov al, byte [si+046c 4h] ; 8a 84 c4462444 mov al, byte [si+046c2h] ; 8a 84 c2 46 2445 2445 cmp bx, ax ; 39 c3 2446 2446 jnbe short 01131h ; 77 1b … … 2487 2487 sal si, CL ; d3 e6 2488 2488 add si, bx ; 01 de 2489 mov al, byte [si+046e bh] ; 8a 84 eb462489 mov al, byte [si+046e9h] ; 8a 84 e9 46 2490 2490 out DX, AL ; ee 2491 2491 inc bx ; 43 … … 2514 2514 sal si, CL ; d3 e6 2515 2515 add si, bx ; 01 de 2516 mov al, byte [si+046c ch] ; 8a 84 cc462516 mov al, byte [si+046cah] ; 8a 84 ca 46 2517 2517 mov dx, 003c5h ; ba c5 03 2518 2518 out DX, AL ; ee … … 2532 2532 sal si, CL ; d3 e6 2533 2533 add si, bx ; 01 de 2534 mov al, byte [si+046f fh] ; 8a 84 ff462534 mov al, byte [si+046fdh] ; 8a 84 fd 46 2535 2535 mov dx, 003cfh ; ba cf 03 2536 2536 out DX, AL ; ee … … 2541 2541 mov CL, strict byte 003h ; b1 03 2542 2542 sal bx, CL ; d3 e3 2543 cmp byte [bx+0463 6h], 001h ; 80 bf 3646 012543 cmp byte [bx+04634h], 001h ; 80 bf 34 46 01 2544 2544 jne short 011eah ; 75 05 2545 2545 mov dx, 003b4h ; ba b4 03 … … 2564 2564 add di, bx ; 01 df 2565 2565 lea dx, [si+001h] ; 8d 54 01 2566 mov al, byte [di+046d 2h] ; 8a 85 d2462566 mov al, byte [di+046d0h] ; 8a 85 d0 46 2567 2567 out DX, AL ; ee 2568 2568 inc bx ; 43 2569 2569 jmp short 011f7h ; eb dc 2570 2570 mov bx, cx ; 89 cb 2571 mov al, byte [bx+046 d1h] ; 8a 87 d1462571 mov al, byte [bx+046cfh] ; 8a 87 cf 46 2572 2572 mov dx, 003c2h ; ba c2 03 2573 2573 out DX, AL ; ee … … 2585 2585 mov CL, strict byte 003h ; b1 03 2586 2586 sal bx, CL ; d3 e3 2587 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 002587 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 2588 2588 jne short 0125ah ; 75 13 2589 mov es, [bx+0463 8h] ; 8e 87 38462589 mov es, [bx+04636h] ; 8e 87 36 46 2590 2590 mov cx, 04000h ; b9 00 40 2591 2591 mov ax, 00720h ; b8 20 07 … … 2597 2597 cmp byte [bp-00ch], 00dh ; 80 7e f4 0d 2598 2598 jnc short 01272h ; 73 12 2599 mov es, [bx+0463 8h] ; 8e 87 38462599 mov es, [bx+04636h] ; 8e 87 36 46 2600 2600 mov cx, 04000h ; b9 00 40 2601 2601 xor ax, ax ; 31 c0 … … 2615 2615 mov AL, strict byte 00fh ; b0 0f 2616 2616 out DX, AL ; ee 2617 mov es, [bx+0463 8h] ; 8e 87 38462617 mov es, [bx+04636h] ; 8e 87 36 46 2618 2618 mov cx, 08000h ; b9 00 80 2619 2619 xor ax, ax ; 31 c0 … … 2637 2637 mov CL, strict byte 006h ; b1 06 2638 2638 sal bx, CL ; d3 e3 2639 mov bx, word [bx+046c bh] ; 8b 9f cb462639 mov bx, word [bx+046c9h] ; 8b 9f c9 46 2640 2640 mov dx, strict word 0004ch ; ba 4c 00 2641 2641 mov ax, strict word 00040h ; b8 40 00 … … 2678 2678 call 031a9h ; e8 7a 1e 2679 2679 mov cx, ds ; 8c d9 2680 mov bx, 053d 6h ; bb d6532680 mov bx, 053d4h ; bb d4 53 2681 2681 mov dx, 000a8h ; ba a8 00 2682 2682 mov ax, strict word 00040h ; b8 40 00 … … 2694 2694 mov CL, strict byte 003h ; b1 03 2695 2695 sal bx, CL ; d3 e3 2696 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 002696 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 2697 2697 jne short 0136ch ; 75 09 2698 2698 mov dx, strict word 00007h ; ba 07 00 … … 2715 2715 mov CL, strict byte 003h ; b1 03 2716 2716 sal bx, CL ; d3 e3 2717 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 002717 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 2718 2718 jne short 013a6h ; 75 10 2719 2719 xor bl, bl ; 30 db … … 2725 2725 mov AH, strict byte 011h ; b4 11 2726 2726 int 010h ; cd 10 2727 mov dx, 057f 2h ; ba f2572727 mov dx, 057f0h ; ba f0 57 2728 2728 mov ax, strict word 0001fh ; b8 1f 00 2729 2729 call 00a00h ; e8 51 f6 … … 2735 2735 cmp ax, strict word 00008h ; 3d 08 00 2736 2736 jne short 013d6h ; 75 15 2737 mov dx, 053f 2h ; ba f2532737 mov dx, 053f0h ; ba f0 53 2738 2738 mov ax, strict word 00043h ; b8 43 00 2739 2739 call 00a00h ; e8 36 f6 2740 2740 jmp short 013d6h ; eb 0a 2741 mov dx, 05bf 2h ; ba f25b2741 mov dx, 05bf0h ; ba f0 5b 2742 2742 jmp short 013c4h ; eb f3 2743 mov dx, 069f 2h ; ba f2692743 mov dx, 069f0h ; ba f0 69 2744 2744 jmp short 013c4h ; eb ee 2745 2745 lea sp, [bp-00ah] ; 8d 66 f6 … … 3130 3130 mul bx ; f7 e3 3131 3131 mov word [bp-01ah], ax ; 89 46 e6 3132 cmp byte [di+0463 5h], 000h ; 80 bd 3546 003132 cmp byte [di+04633h], 000h ; 80 bd 33 46 00 3133 3133 jne short 01766h ; 75 50 3134 3134 sal ax, 1 ; d1 e0 … … 3157 3157 xor al, ch ; 30 e8 3158 3158 add ax, strict word 00020h ; 05 20 00 3159 mov es, [di+0463 8h] ; 8e 85 38463159 mov es, [di+04636h] ; 8e 85 36 46 3160 3160 mov cx, word [bp-01ah] ; 8b 4e e6 3161 3161 mov di, bx ; 89 df … … 3202 3202 mov si, ax ; 89 c6 3203 3203 sal si, CL ; d3 e6 3204 mov es, [si+0463 8h] ; 8e 84 38463204 mov es, [si+04636h] ; 8e 84 36 46 3205 3205 mov cx, word [bp-022h] ; 8b 4e de 3206 3206 mov ax, di ; 89 f8 … … 3226 3226 mov si, ax ; 89 c6 3227 3227 sal si, CL ; d3 e6 3228 mov ax, word [si+0463 8h] ; 8b 84 38463228 mov ax, word [si+04636h] ; 8b 84 36 46 3229 3229 mov word [bp-022h], ax ; 89 46 de 3230 3230 mov ax, word [bp-016h] ; 8b 46 ea … … 3278 3278 mov si, ax ; 89 c6 3279 3279 sal si, CL ; d3 e6 3280 mov si, word [si+0463 8h] ; 8b b4 38463280 mov si, word [si+04636h] ; 8b b4 36 46 3281 3281 mov cx, di ; 89 f9 3282 3282 mov ax, word [bp-022h] ; 8b 46 de … … 3306 3306 mov si, ax ; 89 c6 3307 3307 sal si, CL ; d3 e6 3308 mov ax, word [si+0463 8h] ; 8b 84 38463308 mov ax, word [si+04636h] ; 8b 84 36 46 3309 3309 mov word [bp-014h], ax ; 89 46 ec 3310 3310 mov ax, word [bp-016h] ; 8b 46 ea … … 3330 3330 dec word [bp-016h] ; ff 4e ea 3331 3331 jmp near 01835h ; e9 3e ff 3332 mov al, byte [si+046b 4h] ; 8a 84 b4463332 mov al, byte [si+046b2h] ; 8a 84 b2 46 3333 3333 xor ah, ah ; 30 e4 3334 3334 mov CL, strict byte 006h ; b1 06 3335 3335 mov si, ax ; 89 c6 3336 3336 sal si, CL ; d3 e6 3337 mov al, byte [si+046c ah] ; 8a 84 ca463337 mov al, byte [si+046c8h] ; 8a 84 c8 46 3338 3338 mov byte [bp-012h], al ; 88 46 ee 3339 mov al, byte [di+0463 6h] ; 8a 85 36463339 mov al, byte [di+04634h] ; 8a 85 34 46 3340 3340 cmp AL, strict byte 004h ; 3c 04 3341 3341 je short 0191dh ; 74 0b … … 3379 3379 mov CL, strict byte 003h ; b1 03 3380 3380 sal bx, CL ; d3 e3 3381 mov bx, word [bx+0463 8h] ; 8b 9f 38463381 mov bx, word [bx+04636h] ; 8b 9f 36 46 3382 3382 mov cx, ax ; 89 c1 3383 3383 mov ax, dx ; 89 d0 … … 3493 3493 dec word [bp-016h] ; ff 4e ea 3494 3494 jmp short 01a10h ; eb 8b 3495 mov bl, byte [di+0463 7h] ; 8a 9d 37463495 mov bl, byte [di+04635h] ; 8a 9d 35 46 3496 3496 cmp byte [bp-00ah], 000h ; 80 7e f6 00 3497 3497 jne short 01acfh ; 75 40 … … 3514 3514 mov dl, byte [bp-008h] ; 8a 56 f8 3515 3515 xor dh, dh ; 30 f6 3516 mov es, [di+0463 8h] ; 8e 85 38463516 mov es, [di+04636h] ; 8e 85 36 46 3517 3517 mov cx, ax ; 89 c1 3518 3518 mov ax, dx ; 89 d0 … … 3639 3639 cmp byte [bp+006h], 00eh ; 80 7e 06 0e 3640 3640 jne short 01bf4h ; 75 0a 3641 mov di, 05bf 2h ; bf f25b3641 mov di, 05bf0h ; bf f0 5b 3642 3642 jmp short 01bf7h ; eb 08 3643 mov di, 069f 2h ; bf f2693643 mov di, 069f0h ; bf f0 69 3644 3644 jmp short 01bf7h ; eb 03 3645 mov di, 053f 2h ; bf f2533645 mov di, 053f0h ; bf f0 53 3646 3646 xor ah, ah ; 30 e4 3647 3647 mov bx, ax ; 89 c3 … … 3741 3741 mov byte [bp-008h], al ; 88 46 f8 3742 3742 mov byte [bp-00ah], dl ; 88 56 f6 3743 mov si, 053f 2h ; be f2533743 mov si, 053f0h ; be f0 53 3744 3744 xor bh, bh ; 30 ff 3745 3745 mov al, byte [bp+006h] ; 8a 46 06 … … 3879 3879 mov byte [bp-006h], bl ; 88 5e fa 3880 3880 mov al, cl ; 88 c8 3881 mov si, 053f 2h ; be f2533881 mov si, 053f0h ; be f0 53 3882 3882 xor ah, ah ; 30 e4 3883 3883 mov bl, byte [bp+004h] ; 8a 5e 04 … … 3994 3994 mov di, ax ; 89 c7 3995 3995 sal di, CL ; d3 e7 3996 cmp byte [di+0463 5h], 000h ; 80 bd 3546 003996 cmp byte [di+04633h], 000h ; 80 bd 33 46 00 3997 3997 jne short 01f67h ; 75 49 3998 3998 mov ax, bx ; 89 d8 … … 4021 4021 mov word [bp-01ch], bx ; 89 5e e4 4022 4022 mov ax, word [bp-01ch] ; 8b 46 e4 4023 mov es, [di+0463 8h] ; 8e 85 38464023 mov es, [di+04636h] ; 8e 85 36 46 4024 4024 mov cx, si ; 89 f1 4025 4025 mov di, dx ; 89 d7 … … 4029 4029 jmp near 02034h ; e9 cd 00 4030 4030 mov bx, ax ; 89 c3 4031 mov al, byte [bx+046b 4h] ; 8a 87 b4464031 mov al, byte [bx+046b2h] ; 8a 87 b2 46 4032 4032 mov CL, strict byte 006h ; b1 06 4033 4033 mov bx, ax ; 89 c3 4034 4034 sal bx, CL ; d3 e3 4035 mov al, byte [bx+046c ah] ; 8a 87 ca464035 mov al, byte [bx+046c8h] ; 8a 87 c8 46 4036 4036 mov byte [bp-010h], al ; 88 46 f0 4037 mov al, byte [di+0463 7h] ; 8a 85 37464037 mov al, byte [di+04635h] ; 8a 85 35 46 4038 4038 mov byte [bp-00ah], al ; 88 46 f6 4039 4039 dec si ; 4e … … 4049 4049 mov bx, ax ; 89 c3 4050 4050 sal bx, CL ; d3 e3 4051 mov al, byte [bx+0463 6h] ; 8a 87 36464051 mov al, byte [bx+04634h] ; 8a 87 34 46 4052 4052 cmp al, cl ; 38 c8 4053 4053 jc short 01fb2h ; 72 0d … … 4165 4165 mov CL, strict byte 003h ; b1 03 4166 4166 sal bx, CL ; d3 e3 4167 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 004167 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 4168 4168 jne short 02102h ; 75 4e 4169 4169 mov ax, di ; 89 f8 … … 4195 4195 mov bx, dx ; 89 d3 4196 4196 sal bx, CL ; d3 e3 4197 mov cx, word [bx+0463 8h] ; 8b 8f 38464197 mov cx, word [bx+04636h] ; 8b 8f 36 46 4198 4198 mov bx, ax ; 89 c3 4199 4199 mov dx, di ; 89 fa … … 4204 4204 jmp short 020dbh ; eb d9 4205 4205 mov di, ax ; 89 c7 4206 mov dl, byte [di+046b 4h] ; 8a 95 b4464206 mov dl, byte [di+046b2h] ; 8a 95 b2 46 4207 4207 xor dh, dh ; 30 f6 4208 4208 mov CL, strict byte 006h ; b1 06 4209 4209 mov di, dx ; 89 d7 4210 4210 sal di, CL ; d3 e7 4211 mov al, byte [di+046c ah] ; 8a 85 ca464211 mov al, byte [di+046c8h] ; 8a 85 c8 46 4212 4212 mov byte [bp-012h], al ; 88 46 ee 4213 mov al, byte [bx+0463 7h] ; 8a 87 37464213 mov al, byte [bx+04635h] ; 8a 87 35 46 4214 4214 mov byte [bp-010h], al ; 88 46 f0 4215 4215 dec si ; 4e … … 4224 4224 mov bx, dx ; 89 d3 4225 4225 sal bx, CL ; d3 e3 4226 mov bl, byte [bx+0463 6h] ; 8a 9f 36464226 mov bl, byte [bx+04634h] ; 8a 9f 34 46 4227 4227 cmp bl, cl ; 38 cb 4228 4228 jc short 0214dh ; 72 0e … … 4310 4310 mov bx, ax ; 89 c3 4311 4311 sal bx, CL ; d3 e3 4312 cmp byte [bx+0463 5h], 000h ; 80 bf 3546 004312 cmp byte [bx+04633h], 000h ; 80 bf 33 46 00 4313 4313 je short 02219h ; 74 18 4314 mov al, byte [bx+0463 6h] ; 8a 87 36464314 mov al, byte [bx+04634h] ; 8a 87 34 46 4315 4315 cmp al, cl ; 38 c8 4316 4316 jc short 02215h ; 72 0c … … 4373 4373 mov si, strict word 00050h ; be 50 00 4374 4374 mul si ; f7 e6 4375 cmp byte [bx+0463 7h], 002h ; 80 bf 3746 024375 cmp byte [bx+04635h], 002h ; 80 bf 35 46 02 4376 4376 jne short 022a4h ; 75 09 4377 4377 mov bx, word [bp-008h] ; 8b 5e f8 … … 4395 4395 mov si, ax ; 89 c6 4396 4396 sal si, CL ; d3 e6 4397 cmp byte [si+0463 7h], 002h ; 80 bc 3746 024397 cmp byte [si+04635h], 002h ; 80 bc 35 46 02 4398 4398 jne short 022eeh ; 75 1a 4399 4399 mov al, byte [bp-008h] ; 8a 46 f8 … … 4520 4520 mov si, bx ; 89 de 4521 4521 sal si, CL ; d3 e6 4522 cmp byte [si+0463 5h], 000h ; 80 bc 3546 004522 cmp byte [si+04633h], 000h ; 80 bc 33 46 00 4523 4523 jne short 0244ch ; 75 46 4524 4524 mov ax, word [bp-01ah] ; 8b 46 e6 … … 4538 4538 add cx, ax ; 01 c1 4539 4539 mov bl, byte [bp-016h] ; 8a 5e ea 4540 mov ax, word [si+0463 8h] ; 8b 84 38464540 mov ax, word [si+04636h] ; 8b 84 36 46 4541 4541 mov dx, cx ; 89 ca 4542 4542 call 031a9h ; e8 74 0d … … 4547 4547 mov dx, cx ; 89 ca 4548 4548 inc dx ; 42 4549 mov ax, word [si+0463 8h] ; 8b 84 38464549 mov ax, word [si+04636h] ; 8b 84 36 46 4550 4550 call 031a9h ; e8 5f 0d 4551 4551 jmp short 02492h ; eb 46 4552 mov bl, byte [bx+046b 4h] ; 8a 9f b4464552 mov bl, byte [bx+046b2h] ; 8a 9f b2 46 4553 4553 mov CL, strict byte 006h ; b1 06 4554 4554 sal bx, CL ; d3 e3 4555 mov bl, byte [bx+046c ah] ; 8a 9f ca464556 mov ah, byte [si+0463 7h] ; 8a a4 37464557 mov al, byte [si+0463 6h] ; 8a 84 36464555 mov bl, byte [bx+046c8h] ; 8a 9f c8 46 4556 mov ah, byte [si+04635h] ; 8a a4 35 46 4557 mov al, byte [si+04634h] ; 8a 84 34 46 4558 4558 cmp AL, strict byte 003h ; 3c 03 4559 4559 jc short 02470h ; 72 0c … … 4634 4634 ; dec al ; fe c8 4635 4635 mov byte [bp-012h], al ; 88 46 ee 4636 cmp byte [si+0463 5h], 000h ; 80 bc 3546 004636 cmp byte [si+04633h], 000h ; 80 bc 33 46 00 4637 4637 jne short 02569h ; 75 51 4638 4638 mov ax, word [bp-01ah] ; 8b 46 e6 … … 4656 4656 add dx, ax ; 01 c2 4657 4657 inc dx ; 42 4658 mov ax, word [si+0463 8h] ; 8b 84 38464658 mov ax, word [si+04636h] ; 8b 84 36 46 4659 4659 call 0319bh ; e8 51 0c 4660 4660 mov dx, strict word 00001h ; ba 01 00 … … 4958 4958 sal di, CL ; d3 e7 4959 4959 add di, word [bp-00ch] ; 03 7e f4 4960 mov si, 05bf 2h ; be f25b4960 mov si, 05bf0h ; be f0 5b 4961 4961 add si, ax ; 01 c6 4962 4962 mov cx, strict word 0000eh ; b9 0e 00 … … 5018 5018 sal di, CL ; d3 e7 5019 5019 add di, word [bp-00ch] ; 03 7e f4 5020 add si, 053f 2h ; 81 c6 f2535020 add si, 053f0h ; 81 c6 f0 53 5021 5021 mov cx, strict word 00008h ; b9 08 00 5022 5022 mov dx, 0c000h ; ba 00 c0 … … 5077 5077 sal di, CL ; d3 e7 5078 5078 add di, word [bp-00ch] ; 03 7e f4 5079 add si, 069f 2h ; 81 c6 f2695079 add si, 069f0h ; 81 c6 f0 69 5080 5080 mov cx, strict word 00010h ; b9 10 00 5081 5081 mov dx, 0c000h ; ba 00 c0 … … 5213 5213 push bx ; 53 5214 5214 mov cx, ds ; 8c d9 5215 mov bx, 0538 8h ; bb 88535215 mov bx, 05386h ; bb 86 53 5216 5216 mov dx, word [bp-00ah] ; 8b 56 f6 5217 5217 mov ax, word [bp-008h] ; 8b 46 f8 … … 6152 6152 mov CL, strict byte 003h ; b1 03 6153 6153 sal bx, CL ; d3 e3 6154 cmp dl, byte [bx+0463 4h] ; 3a 97 34466154 cmp dl, byte [bx+04632h] ; 3a 97 32 46 6155 6155 jne short 0317eh ; 75 ec 6156 6156 mov ah, al ; 88 c4 … … 6861 6861 mov word [es:bx+002h], 04153h ; 26 c7 47 02 53 41 6862 6862 mov word [es:bx+004h], 00200h ; 26 c7 47 04 00 02 6863 mov word [es:bx+006h], 07c6 4h ; 26 c7 47 06 647c6863 mov word [es:bx+006h], 07c62h ; 26 c7 47 06 62 7c 6864 6864 mov [es:bx+008h], ds ; 26 8c 5f 08 6865 6865 mov word [es:bx+00ah], strict word 00001h ; 26 c7 47 0a 01 00 … … 6877 6877 je short 037fch ; 74 24 6878 6878 mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00 6879 mov word [es:bx+016h], 07c7 9h ; 26 c7 47 16 797c6879 mov word [es:bx+016h], 07c77h ; 26 c7 47 16 77 7c 6880 6880 mov [es:bx+018h], ds ; 26 8c 5f 18 6881 mov word [es:bx+01ah], 07c8 ch ; 26 c7 47 1a 8c7c6881 mov word [es:bx+01ah], 07c8ah ; 26 c7 47 1a 8a 7c 6882 6882 mov [es:bx+01ch], ds ; 26 8c 5f 1c 6883 mov word [es:bx+01eh], 07ca dh ; 26 c7 47 1e ad7c6883 mov word [es:bx+01eh], 07cabh ; 26 c7 47 1e ab 7c 6884 6884 mov [es:bx+020h], ds ; 26 8c 5f 20 6885 6885 mov dx, cx ; 89 ca … … 7433 7433 times 235 db 0 7434 7434 7435 section _DATA progbits vstart=0x4600 align=1 ; size=0x372 aclass=DATA group=DGROUP7436 _msg_vga_init: ; 0xc4600 LB 0x3 47437 db 'Oracle VM VirtualBox Version 5.1.0_ BETA3VGA BIOS', 00dh, 00ah, 000h7438 _vga_modes: ; 0xc463 4LB 0x807435 section _DATA progbits vstart=0x4600 align=1 ; size=0x3726 class=DATA group=DGROUP 7436 _msg_vga_init: ; 0xc4600 LB 0x32 7437 db 'Oracle VM VirtualBox Version 5.1.0_RC1 VGA BIOS', 00dh, 00ah, 000h 7438 _vga_modes: ; 0xc4632 LB 0x80 7439 7439 db 000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h 7440 7440 db 002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h … … 7445 7445 db 011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 7446 7446 db 013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h 7447 _line_to_vpti: ; 0xc46b 4LB 0x107447 _line_to_vpti: ; 0xc46b2 LB 0x10 7448 7448 db 017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh 7449 _dac_regs: ; 0xc46c 4LB 0x47449 _dac_regs: ; 0xc46c2 LB 0x4 7450 7450 dd 0ff3f3f3fh 7451 _video_param_table: ; 0xc46c 8LB 0x7807451 _video_param_table: ; 0xc46c6 LB 0x780 7452 7452 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7453 7453 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h … … 7570 7570 db 073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch 7571 7571 db 03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh 7572 _palette0: ; 0xc4e4 8LB 0xc07572 _palette0: ; 0xc4e46 LB 0xc0 7573 7573 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7574 7574 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah … … 7583 7583 db 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 7584 7584 db 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh 7585 _palette1: ; 0xc4f0 8LB 0xc07585 _palette1: ; 0xc4f06 LB 0xc0 7586 7586 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7587 7587 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah … … 7596 7596 db 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 7597 7597 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 7598 _palette2: ; 0xc4fc 8LB 0xc07598 _palette2: ; 0xc4fc6 LB 0xc0 7599 7599 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7600 7600 db 000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah … … 7609 7609 db 015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh 7610 7610 db 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh 7611 _palette3: ; 0xc508 8LB 0x3007611 _palette3: ; 0xc5086 LB 0x300 7612 7612 db 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah 7613 7613 db 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh … … 7658 7658 db 00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7659 7659 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7660 _static_functionality: ; 0xc538 8LB 0x107660 _static_functionality: ; 0xc5386 LB 0x10 7661 7661 db 0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h 7662 _dcc_table: ; 0xc539 8LB 0x247662 _dcc_table: ; 0xc5396 LB 0x24 7663 7663 db 010h, 001h, 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7664 7664 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7665 7665 db 000h, 000h, 000h, 000h 7666 _secondary_save_area: ; 0xc53b cLB 0x1a7667 db 01ah, 000h, 09 8h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7666 _secondary_save_area: ; 0xc53ba LB 0x1a 7667 db 01ah, 000h, 096h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7668 7668 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7669 _video_save_pointer_table: ; 0xc53d 6LB 0x1c7670 db 0c 8h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7671 db 0b ch, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h7672 _vgafont8: ; 0xc53f 2LB 0x8007669 _video_save_pointer_table: ; 0xc53d4 LB 0x1c 7670 db 0c6h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7671 db 0bah, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7672 _vgafont8: ; 0xc53f0 LB 0x800 7673 7673 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh 7674 7674 db 07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h … … 7799 7799 db 078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h 7800 7800 db 000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7801 _vgafont14: ; 0xc5bf 2LB 0xe007801 _vgafont14: ; 0xc5bf0 LB 0xe00 7802 7802 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 7803 7803 db 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh … … 8024 8024 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h 8025 8025 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8026 _vgafont16: ; 0xc69f 2LB 0x10008026 _vgafont16: ; 0xc69f0 LB 0x1000 8027 8027 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8028 8028 db 000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h … … 8281 8281 db 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h 8282 8282 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8283 _vgafont14alt: ; 0xc79f 2LB 0x12d8283 _vgafont14alt: ; 0xc79f0 LB 0x12d 8284 8284 db 01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h 8285 8285 db 000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h … … 8301 8301 db 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h 8302 8302 db 018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h 8303 _vgafont16alt: ; 0xc7b1 fLB 0x1458303 _vgafont16alt: ; 0xc7b1d LB 0x145 8304 8304 db 01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h 8305 8305 db 000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h … … 8323 8323 db 000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h 8324 8324 db 006h, 000h, 000h, 000h, 000h 8325 _vbebios_copyright: ; 0xc7c6 4LB 0x158325 _vbebios_copyright: ; 0xc7c62 LB 0x15 8326 8326 db 'VirtualBox VESA BIOS', 000h 8327 _vbebios_vendor_name: ; 0xc7c7 9LB 0x138327 _vbebios_vendor_name: ; 0xc7c77 LB 0x13 8328 8328 db 'Oracle Corporation', 000h 8329 _vbebios_product_name: ; 0xc7c8 cLB 0x218329 _vbebios_product_name: ; 0xc7c8a LB 0x21 8330 8330 db 'Oracle VM VirtualBox VBE Adapter', 000h 8331 _vbebios_product_revision: ; 0xc7ca d LB 0x298332 db 'Oracle VM VirtualBox Version 5.1.0_ BETA3', 000h8333 _vbebios_info_string: ; 0xc7cd 6LB 0x2b8331 _vbebios_product_revision: ; 0xc7cab LB 0x27 8332 db 'Oracle VM VirtualBox Version 5.1.0_RC1', 000h 8333 _vbebios_info_string: ; 0xc7cd2 LB 0x2b 8334 8334 db 'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h 8335 _no_vbebios_info_string: ; 0xc7 d01LB 0x298335 _no_vbebios_info_string: ; 0xc7cfd LB 0x29 8336 8336 db 'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h 8337 8337 8338 section CONST progbits vstart=0x7d2 aalign=1 ; size=0x0 class=DATA group=DGROUP8338 section CONST progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP 8339 8339 8340 section CONST2 progbits vstart=0x7d2 aalign=1 ; size=0x0 class=DATA group=DGROUP8340 section CONST2 progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP 8341 8341 8342 ; Padding 0x2d 6 bytes at 0xc7d2a8342 ; Padding 0x2da bytes at 0xc7d26 8343 8343 db 001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh 8344 8344 db 065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh … … 8386 8386 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8387 8387 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 8388 db 000h, 000h, 000h, 000h, 000h, 0 28h8388 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0feh -
TabularUnified trunk/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative8086.md5sum ¶
r61733 r62120 1 9e6c8253546c094a4368085cde0f88cb*VBoxVgaBios8086.rom1 454a8ca9b253ba40254ed2882d362fa9 *VBoxVgaBios8086.rom -
TabularUnified trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.asm ¶
r61733 r62120 988 988 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 989 989 _pktacc: ; 0xf006a LB 0xc 990 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 0e 1h, 080h, 047h, 090h990 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 0e6h, 080h, 04ch, 090h 991 991 _softrst: ; 0xf0076 LB 0xc 992 992 db 000h, 000h, 000h, 000h, 000h, 000h, 089h, 02dh, 0c8h, 03ah, 0c8h, 03ah 993 993 _dskacc: ; 0xf0082 LB 0x2e 994 994 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f0h, 029h, 0a5h, 02ah, 000h, 000h, 000h, 000h 995 db 02 1h, 07fh, 001h, 080h, 019h, 08fh, 0c1h, 08fh, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h995 db 026h, 07fh, 006h, 080h, 01eh, 08fh, 0c6h, 08fh, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 996 996 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 997 997 … … 1114 1114 db 'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h 1115 1115 1116 section CONST2 progbits vstart=0xd8e align=1 ; size=0x 400class=DATA group=DGROUP1117 _bios_cvs_version_string: ; 0xf0d8e LB 0x1 81118 db 'VirtualBox 5.1.0_ BETA3', 000h, 000h1119 _bios_prefix_string: ; 0xf0da 6LB 0x81116 section CONST2 progbits vstart=0xd8e align=1 ; size=0x3fe class=DATA group=DGROUP 1117 _bios_cvs_version_string: ; 0xf0d8e LB 0x16 1118 db 'VirtualBox 5.1.0_RC1', 000h, 000h 1119 _bios_prefix_string: ; 0xf0da4 LB 0x8 1120 1120 db 'BIOS: ', 000h, 000h 1121 _isotag: ; 0xf0da eLB 0x61121 _isotag: ; 0xf0dac LB 0x6 1122 1122 db 'CD001', 000h 1123 _eltorito: ; 0xf0db 4LB 0x181123 _eltorito: ; 0xf0db2 LB 0x18 1124 1124 db 'EL TORITO SPECIFICATION', 000h 1125 _drivetypes: ; 0xf0dc cLB 0x281125 _drivetypes: ; 0xf0dca LB 0x28 1126 1126 db 046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h 1127 1127 db 069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h 1128 1128 db 04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1129 _scan_to_scanascii: ; 0xf0df 4LB 0x37a1129 _scan_to_scanascii: ; 0xf0df2 LB 0x37a 1130 1130 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h 1131 1131 db 000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h … … 1184 1184 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h 1185 1185 db 000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h 1186 _panic_msg_keyb_buffer_full: ; 0xf116 eLB 0x201186 _panic_msg_keyb_buffer_full: ; 0xf116c LB 0x20 1187 1187 db '%s: keyboard input buffer full', 00ah, 000h 1188 1188 1189 ; Padding 0x47 2 bytes at 0xf118e1190 times 11 38db 01189 ; Padding 0x474 bytes at 0xf118c 1190 times 1140 db 0 1191 1191 1192 1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8cb8 class=CODE group=AUTO … … 1411 1411 push bp ; 55 1412 1412 mov bp, sp ; 89 e5 1413 mov bx, 00da 6h ; bb a60d1413 mov bx, 00da4h ; bb a4 0d 1414 1414 mov cx, ds ; 8c d9 1415 1415 mov ax, strict word 00004h ; b8 04 00 … … 1440 1440 int 010h ; cd 10 1441 1441 jmp short 017b7h ; eb 03 1442 call 07ae 6h ; e8 2f631442 call 07aebh ; e8 34 63 1443 1443 mov sp, bp ; 89 ec 1444 1444 pop bp ; 5d … … 2695 2695 lea ax, [bp-03ah] ; 8d 46 c6 2696 2696 call 05977h ; e8 cd 35 2697 mov bx, 00da 6h ; bb a60d2697 mov bx, 00da4h ; bb a4 0d 2698 2698 mov cx, ds ; 8c d9 2699 2699 mov ax, strict word 00004h ; b8 04 00 … … 3446 3446 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 3447 3447 jne short 02b52h ; 75 1f 3448 mov bx, 00da 6h ; bb a60d3448 mov bx, 00da4h ; bb a4 0d 3449 3449 mov cx, ds ; 8c d9 3450 3450 mov ax, strict word 00004h ; b8 04 00 … … 4309 4309 cmp cl, 048h ; 80 f9 48 4310 4310 jbe short 032cdh ; 76 2d 4311 mov bx, 00da 6h ; bb a60d4311 mov bx, 00da4h ; bb a4 0d 4312 4312 mov cx, ds ; 8c d9 4313 4313 mov ax, strict word 00004h ; b8 04 00 … … 5137 5137 mov word [bp+008h], ax ; 89 46 08 5138 5138 jmp near 03913h ; e9 9e fe 5139 mov bx, 00da 6h ; bb a60d5139 mov bx, 00da4h ; bb a4 0d 5140 5140 mov cx, ds ; 8c d9 5141 5141 mov ax, strict word 00004h ; b8 04 00 … … 5235 5235 cmp ax, strict word 0004ah ; 3d 4a 00 5236 5236 jne short 03b5fh ; 75 1f 5237 mov bx, 00da 6h ; bb a60d5237 mov bx, 00da4h ; bb a4 0d 5238 5238 mov cx, ds ; 8c d9 5239 5239 mov ax, strict word 00004h ; b8 04 00 … … 5340 5340 pop bp ; 5d 5341 5341 retn ; c3 5342 mov bx, 00da 6h ; bb a60d5342 mov bx, 00da4h ; bb a4 0d 5343 5343 mov cx, ds ; 8c d9 5344 5344 mov ax, strict word 00004h ; b8 04 00 … … 5481 5481 jnc short 03dddh ; 73 10 5482 5482 mov al, byte [bp+di-00825h] ; 8a 83 db f7 5483 cmp al, byte [di+00da eh] ; 3a 85 ae0d5483 cmp al, byte [di+00dach] ; 3a 85 ac 0d 5484 5484 je short 03dc7h ; 74 f0 5485 5485 mov ax, strict word 00005h ; b8 05 00 … … 5491 5491 jnc short 03df7h ; 73 10 5492 5492 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 5493 cmp al, byte [di+00db 4h] ; 3a 85 b40d5493 cmp al, byte [di+00db2h] ; 3a 85 b2 0d 5494 5494 je short 03de1h ; 74 f0 5495 5495 mov ax, strict word 00006h ; b8 06 00 … … 5783 5783 cmp ax, dx ; 39 d0 5784 5784 je short 0418ch ; 74 29 5785 mov bx, 00da 6h ; bb a60d5785 mov bx, 00da4h ; bb a4 0d 5786 5786 mov cx, ds ; 8c d9 5787 5787 mov ax, strict word 00004h ; b8 04 00 … … 6003 6003 test al, al ; 84 c0 6004 6004 je short 043e6h ; 74 37 6005 mov bx, 00da 6h ; bb a60d6005 mov bx, 00da4h ; bb a4 0d 6006 6006 mov cx, ds ; 8c d9 6007 6007 mov ax, strict word 00004h ; b8 04 00 … … 6100 6100 mov word [bp+016h], bx ; 89 5e 16 6101 6101 jmp near 043eah ; e9 38 ff 6102 mov bx, 00da 6h ; bb a60d6102 mov bx, 00da4h ; bb a4 0d 6103 6103 mov cx, ds ; 8c d9 6104 6104 mov ax, strict word 00004h ; b8 04 00 … … 6222 6222 mov word [bp+016h], strict word 00007h ; c7 46 16 07 00 6223 6223 jmp near 04a75h ; e9 39 04 6224 mov bx, 00da 6h ; bb a60d6224 mov bx, 00da4h ; bb a4 0d 6225 6225 mov cx, ds ; 8c d9 6226 6226 mov ax, strict word 00004h ; b8 04 00 … … 6331 6331 cmp byte [bp-018h], 000h ; 80 7e e8 00 6332 6332 je short 047c0h ; 74 53 6333 mov bx, 00da 6h ; bb a60d6333 mov bx, 00da4h ; bb a4 0d 6334 6334 mov cx, ds ; 8c d9 6335 6335 mov ax, strict word 00004h ; b8 04 00 … … 6636 6636 je short 04b10h ; 74 21 6637 6637 mov dx, strict word 00001h ; ba 01 00 6638 mov bx, 00da 6h ; bb a60d6638 mov bx, 00da4h ; bb a4 0d 6639 6639 mov cx, ds ; 8c d9 6640 6640 mov ax, strict word 00004h ; b8 04 00 6641 6641 call 01923h ; e8 26 ce 6642 6642 imul dx, dx, strict byte 0000ah ; 6b d2 0a 6643 add dx, 00dc ch ; 81 c2 cc0d6643 add dx, 00dcah ; 81 c2 ca 0d 6644 6644 push dx ; 52 6645 6645 push 00494h ; 68 94 04 … … 6663 6663 test al, al ; 84 c0 6664 6664 je short 04b46h ; 74 1b 6665 mov bx, 00da 6h ; bb a60d6665 mov bx, 00da4h ; bb a4 0d 6666 6666 mov cx, ds ; 8c d9 6667 6667 mov ax, strict word 00004h ; b8 04 00 6668 6668 call 01923h ; e8 ed cd 6669 push 00d e0h ; 68 e00d6669 push 00ddeh ; 68 de 0d 6670 6670 push 004a8h ; 68 a8 04 6671 6671 push strict byte 00004h ; 6a 04 … … 6675 6675 test ah, ah ; 84 e4 6676 6676 je short 04b5ah ; 74 10 6677 mov bx, 00da 6h ; bb a60d6677 mov bx, 00da4h ; bb a4 0d 6678 6678 mov cx, ds ; 8c d9 6679 6679 mov ax, strict word 00004h ; b8 04 00 6680 6680 call 01923h ; e8 ce cd 6681 push 00de ah ; 68 ea0d6681 push 00de8h ; 68 e8 0d 6682 6682 jmp short 04b39h ; eb df 6683 6683 test bl, 080h ; f6 c3 80 6684 6684 je short 04b70h ; 74 11 6685 mov bx, 00da 6h ; bb a60d6685 mov bx, 00da4h ; bb a4 0d 6686 6686 mov cx, ds ; 8c d9 6687 6687 mov ax, strict word 00004h ; b8 04 00 6688 6688 call 01923h ; e8 b9 cd 6689 6689 push si ; 56 6690 push 00dd 6h ; 68 d60d6690 push 00dd4h ; 68 d4 0d 6691 6691 jmp short 04b7fh ; eb 0f 6692 mov bx, 00da 6h ; bb a60d6692 mov bx, 00da4h ; bb a4 0d 6693 6693 mov cx, ds ; 8c d9 6694 6694 mov ax, strict word 00004h ; b8 04 00 6695 6695 call 01923h ; e8 a8 cd 6696 6696 push si ; 56 6697 push 00dc ch ; 68 cc0d6697 push 00dcah ; 68 ca 0d 6698 6698 push 004bdh ; 68 bd 04 6699 6699 push strict byte 00004h ; 6a 04 … … 6721 6721 push dx ; 52 6722 6722 mov dx, ax ; 89 c2 6723 mov bx, 00da 6h ; bb a60d6723 mov bx, 00da4h ; bb a4 0d 6724 6724 mov cx, ds ; 8c d9 6725 6725 mov ax, strict word 00004h ; b8 04 00 … … 6782 6782 xor ah, ah ; 30 e4 6783 6783 sar ax, 004h ; c1 f8 04 6784 call 07d 0ch ; e8 c7306784 call 07d11h ; e8 cc 30 6785 6785 cmp byte [bp+004h], 002h ; 80 7e 04 02 6786 6786 jne short 04c4eh ; 75 03 … … 6799 6799 mov byte [bp-008h], al ; 88 46 f8 6800 6800 mov byte [bp-00ah], al ; 88 46 f6 6801 mov bx, 00da 6h ; bb a60d6801 mov bx, 00da4h ; bb a4 0d 6802 6802 mov cx, ds ; 8c d9 6803 6803 mov ax, strict word 00004h ; b8 04 00 … … 7297 7297 out DX, AL ; ee 7298 7298 xor ax, ax ; 31 c0 7299 call 0655 6h ; e8 99147299 call 0655bh ; e8 9e 14 7300 7300 mov sp, bp ; 89 ec 7301 7301 pop bp ; 5d … … 7392 7392 test al, al ; 84 c0 7393 7393 jne short 05189h ; 75 19 7394 mov bx, 00da 6h ; bb a60d7394 mov bx, 00da4h ; bb a4 0d 7395 7395 mov cx, ds ; 8c d9 7396 7396 mov ax, strict word 00004h ; b8 04 00 … … 7738 7738 cmp byte [bp-00ah], 058h ; 80 7e f6 58 7739 7739 jbe short 05515h ; 76 1f 7740 mov bx, 00da 6h ; bb a60d7740 mov bx, 00da4h ; bb a4 0d 7741 7741 mov cx, ds ; 8c d9 7742 7742 mov ax, strict word 00004h ; b8 04 00 … … 7756 7756 xor ah, ah ; 30 e4 7757 7757 imul bx, ax, strict byte 0000ah ; 6b d8 0a 7758 mov dl, byte [bx+00df ah] ; 8a 97 fa0d7759 mov ax, word [bx+00df ah] ; 8b 87 fa0d7758 mov dl, byte [bx+00df8h] ; 8a 97 f8 0d 7759 mov ax, word [bx+00df8h] ; 8b 87 f8 0d 7760 7760 jmp near 055bfh ; e9 90 00 7761 7761 test AL, strict byte 004h ; a8 04 … … 7764 7764 xor ah, ah ; 30 e4 7765 7765 imul bx, ax, strict byte 0000ah ; 6b d8 0a 7766 mov dl, byte [bx+00df 8h] ; 8a 97 f80d7767 mov ax, word [bx+00df 8h] ; 8b 87 f80d7766 mov dl, byte [bx+00df6h] ; 8a 97 f6 0d 7767 mov ax, word [bx+00df6h] ; 8b 87 f6 0d 7768 7768 jmp near 055bfh ; e9 79 00 7769 7769 mov al, byte [bp-00ch] ; 8a 46 f4 … … 7785 7785 xor ah, ah ; 30 e4 7786 7786 imul bx, ax, strict byte 0000ah ; 6b d8 0a 7787 mov al, byte [bx+00df ch] ; 8a 87 fc0d7787 mov al, byte [bx+00dfah] ; 8a 87 fa 0d 7788 7788 mov dx, ax ; 89 c2 7789 7789 mov al, byte [bp-00eh] ; 8a 46 f2 7790 7790 test ax, dx ; 85 d0 7791 7791 je short 05588h ; 74 0a 7792 mov dl, byte [bx+00df2h] ; 8a 97 f2 0d 7793 mov ax, word [bx+00df2h] ; 8b 87 f2 0d 7794 jmp short 05590h ; eb 08 7792 7795 mov dl, byte [bx+00df4h] ; 8a 97 f4 0d 7793 7796 mov ax, word [bx+00df4h] ; 8b 87 f4 0d 7794 jmp short 05590h ; eb 087795 mov dl, byte [bx+00df6h] ; 8a 97 f6 0d7796 mov ax, word [bx+00df6h] ; 8b 87 f6 0d7797 7797 shr ax, 008h ; c1 e8 08 7798 7798 mov byte [bp-00ah], al ; 88 46 f6 … … 7801 7801 xor ah, ah ; 30 e4 7802 7802 imul bx, ax, strict byte 0000ah ; 6b d8 0a 7803 mov al, byte [bx+00df ch] ; 8a 87 fc0d7803 mov al, byte [bx+00dfah] ; 8a 87 fa 0d 7804 7804 mov dx, ax ; 89 c2 7805 7805 mov al, byte [bp-00eh] ; 8a 46 f2 7806 7806 test ax, dx ; 85 d0 7807 7807 je short 055b7h ; 74 0a 7808 mov dl, byte [bx+00df6h] ; 8a 97 f6 0d7809 mov ax, word [bx+00df6h] ; 8b 87 f6 0d7810 jmp short 055bfh ; eb 087811 7808 mov dl, byte [bx+00df4h] ; 8a 97 f4 0d 7812 7809 mov ax, word [bx+00df4h] ; 8b 87 f4 0d 7810 jmp short 055bfh ; eb 08 7811 mov dl, byte [bx+00df2h] ; 8a 97 f2 0d 7812 mov ax, word [bx+00df2h] ; 8b 87 f2 0d 7813 7813 shr ax, 008h ; c1 e8 08 7814 7814 mov byte [bp-00ah], al ; 88 46 f6 … … 7817 7817 test dl, dl ; 84 d2 7818 7818 jne short 055e5h ; 75 16 7819 mov bx, 00da 6h ; bb a60d7819 mov bx, 00da4h ; bb a4 0d 7820 7820 mov cx, ds ; 8c d9 7821 7821 mov ax, strict word 00004h ; b8 04 00 … … 8016 8016 mov word [bp+012h], dx ; 89 56 12 8017 8017 jmp near 057cch ; e9 43 00 8018 mov bx, 00da 6h ; bb a60d8018 mov bx, 00da4h ; bb a4 0d 8019 8019 mov cx, ds ; 8c d9 8020 8020 mov ax, strict word 00004h ; b8 04 00 … … 8027 8027 call 01966h ; e8 c3 c1 8028 8028 add sp, strict byte 00006h ; 83 c4 06 8029 mov bx, 00da 6h ; bb a60d8029 mov bx, 00da4h ; bb a4 0d 8030 8030 mov cx, ds ; 8c d9 8031 8031 mov ax, strict word 00004h ; b8 04 00 … … 8430 8430 test ax, ax ; 85 c0 8431 8431 jne short 05b87h ; 75 26 8432 mov bx, 00da 6h ; bb a60d8432 mov bx, 00da4h ; bb a4 0d 8433 8433 mov cx, ds ; 8c d9 8434 8434 mov ax, strict word 00004h ; b8 04 00 … … 8461 8461 cmp ax, dx ; 39 d0 8462 8462 jbe short 05be5h ; 76 30 8463 mov bx, 00da 6h ; bb a60d8463 mov bx, 00da4h ; bb a4 0d 8464 8464 mov cx, ds ; 8c d9 8465 8465 mov ax, strict word 00004h ; b8 04 00 … … 8566 8566 test dl, dl ; 84 d2 8567 8567 je short 05d2ch ; 74 46 8568 mov bx, 00da 6h ; bb a60d8568 mov bx, 00da4h ; bb a4 0d 8569 8569 mov cx, ds ; 8c d9 8570 8570 mov ax, strict word 00004h ; b8 04 00 … … 8585 8585 or ah, 00ch ; 80 cc 0c 8586 8586 jmp near 05e72h ; e9 5c 01 8587 mov bx, 00da 6h ; bb a60d8587 mov bx, 00da4h ; bb a4 0d 8588 8588 mov cx, ds ; 8c d9 8589 8589 mov ax, strict word 00004h ; b8 04 00 … … 8690 8690 mov word [bp+016h], ax ; 89 46 16 8691 8691 jmp near 05d30h ; e9 04 ff 8692 mov bx, 00da 6h ; bb a60d8692 mov bx, 00da4h ; bb a4 0d 8693 8693 mov cx, ds ; 8c d9 8694 8694 mov ax, strict word 00004h ; b8 04 00 … … 8703 8703 add sp, strict byte 00008h ; 83 c4 08 8704 8704 jmp near 05d2ch ; e9 dd fe 8705 mov bx, 00da 6h ; bb a60d8705 mov bx, 00da4h ; bb a4 0d 8706 8706 mov cx, ds ; 8c d9 8707 8707 mov ax, strict word 00004h ; b8 04 00 … … 8813 8813 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 8814 8814 jmp near 06371h ; e9 10 04 8815 mov bx, 00da 6h ; bb a60d8815 mov bx, 00da4h ; bb a4 0d 8816 8816 mov cx, ds ; 8c d9 8817 8817 mov ax, strict word 00004h ; b8 04 00 … … 8865 8865 cmp dx, word [es:bx+036h] ; 26 3b 57 36 8866 8866 jc short 0601ch ; 72 23 8867 mov bx, 00da 6h ; bb a60d8867 mov bx, 00da4h ; bb a4 0d 8868 8868 mov cx, ds ; 8c d9 8869 8869 mov ax, strict word 00004h ; b8 04 00 … … 8923 8923 test dl, dl ; 84 d2 8924 8924 je short 060feh ; 74 51 8925 mov bx, 00da 6h ; bb a60d8925 mov bx, 00da4h ; bb a4 0d 8926 8926 mov cx, ds ; 8c d9 8927 8927 mov ax, strict word 00004h ; b8 04 00 … … 9175 9175 or byte [bp+01ch], 001h ; 80 4e 1c 01 9176 9176 jmp short 06380h ; eb c4 9177 _int14_function: ; 0xf63bc LB 0x15 79177 _int14_function: ; 0xf63bc LB 0x15c 9178 9178 push bp ; 55 9179 9179 mov bp, sp ; 89 e5 … … 9195 9195 test si, si ; 85 f6 9196 9196 jnbe short 063ebh ; 77 03 9197 jmp near 0650 9h ; e9 1e019197 jmp near 0650eh ; e9 23 01 9198 9198 mov al, byte [bp+013h] ; 8a 46 13 9199 9199 cmp AL, strict byte 001h ; 3c 01 9200 9200 jc short 063ffh ; 72 0d 9201 jbe short 0645 ah ; 76 669201 jbe short 0645fh ; 76 6b 9202 9202 cmp AL, strict byte 003h ; 3c 03 9203 je short 0645 2h ; 74 5a9203 je short 06457h ; 74 5f 9204 9204 cmp AL, strict byte 002h ; 3c 02 9205 je short 0645 5h ; 74 599206 jmp near 0650 3h ; e9 04019205 je short 0645ah ; 74 5e 9206 jmp near 06508h ; e9 09 01 9207 9207 test al, al ; 84 c0 9208 jne short 0645 7h ; 75 549208 jne short 0645ch ; 75 59 9209 9209 lea dx, [bx+003h] ; 8d 57 03 9210 9210 in AL, DX ; ec … … 9213 9213 or AL, strict byte 080h ; 0c 80 9214 9214 out DX, AL ; ee 9215 lea si, [bx+001h] ; 8d 77 01 9215 9216 mov al, byte [bp+012h] ; 8a 46 12 9217 test AL, strict byte 0e0h ; a8 e0 9218 jne short 06422h ; 75 0c 9219 mov AL, strict byte 017h ; b0 17 9220 mov dx, bx ; 89 da 9221 out DX, AL ; ee 9222 mov AL, strict byte 004h ; b0 04 9223 mov dx, si ; 89 f2 9224 out DX, AL ; ee 9225 jmp short 06439h ; eb 17 9216 9226 and AL, strict byte 0e0h ; 24 e0 9217 9227 xor ah, ah ; 30 e4 … … 9223 9233 out DX, AL ; ee 9224 9234 shr ax, 008h ; c1 e8 08 9225 lea dx, [bx+001h] ; 8d 57 019235 mov dx, si ; 89 f2 9226 9236 out DX, AL ; ee 9227 9237 mov al, byte [bp+012h] ; 8a 46 12 … … 9239 9249 ; sub ah, ah ; 2a e4 9240 9250 mov byte [bp+012h], al ; 88 46 12 9241 jmp near 064e4h ; e9 9f 00 9242 mov AL, strict byte 017h ; b0 17 9243 mov dx, bx ; 89 da 9244 out DX, AL ; ee 9245 lea dx, [bx+001h] ; 8d 57 01 9246 mov AL, strict byte 004h ; b0 04 9247 out DX, AL ; ee 9248 jmp short 06427h ; eb d5 9249 jmp near 064f2h ; e9 9d 00 9250 jmp short 064a8h ; eb 51 9251 jmp near 06503h ; e9 a9 00 9251 jmp near 064e9h ; e9 92 00 9252 jmp near 064f7h ; e9 9d 00 9253 jmp short 064adh ; eb 51 9254 jmp near 06508h ; e9 a9 00 9252 9255 mov dx, strict word 0006ch ; ba 6c 00 9253 9256 mov ax, strict word 00040h ; b8 40 00 9254 call 0166ch ; e8 0 9b29257 call 0166ch ; e8 04 b2 9255 9258 mov si, ax ; 89 c6 9256 9259 lea dx, [bx+005h] ; 8d 57 05 … … 9260 9263 and ax, strict word 00060h ; 25 60 00 9261 9264 cmp ax, strict word 00060h ; 3d 60 00 9262 je short 0648 ah ; 74 179265 je short 0648fh ; 74 17 9263 9266 test cl, cl ; 84 c9 9264 je short 0648 ah ; 74 139267 je short 0648fh ; 74 13 9265 9268 mov dx, strict word 0006ch ; ba 6c 00 9266 9269 mov ax, strict word 00040h ; b8 40 00 9267 call 0166ch ; e8 e cb19270 call 0166ch ; e8 e7 b1 9268 9271 cmp ax, si ; 39 f0 9269 je short 0646 5h ; 74 e19272 je short 0646ah ; 74 e1 9270 9273 mov si, ax ; 89 c6 9271 9274 db 0feh, 0c9h 9272 9275 ; dec cl ; fe c9 9273 jmp short 0646 5h ; eb db9276 jmp short 0646ah ; eb db 9274 9277 test cl, cl ; 84 c9 9275 je short 0649 4h ; 74 069278 je short 06499h ; 74 06 9276 9279 mov al, byte [bp+012h] ; 8a 46 12 9277 9280 mov dx, bx ; 89 da … … 9283 9286 mov byte [bp+013h], al ; 88 46 13 9284 9287 test cl, cl ; 84 c9 9285 jne short 064e 4h ; 75 439288 jne short 064e9h ; 75 43 9286 9289 or AL, strict byte 080h ; 0c 80 9287 9290 mov byte [bp+013h], al ; 88 46 13 9288 jmp short 064e 4h ; eb 3c9291 jmp short 064e9h ; eb 3c 9289 9292 mov dx, strict word 0006ch ; ba 6c 00 9290 9293 mov ax, strict word 00040h ; b8 40 00 9291 call 0166ch ; e8 b bb19294 call 0166ch ; e8 b6 b1 9292 9295 mov si, ax ; 89 c6 9293 9296 lea dx, [bx+005h] ; 8d 57 05 … … 9296 9299 ; sub ah, ah ; 2a e4 9297 9300 test AL, strict byte 001h ; a8 01 9298 jne short 064d 4h ; 75 179301 jne short 064d9h ; 75 17 9299 9302 test cl, cl ; 84 c9 9300 je short 064d 4h ; 74 139303 je short 064d9h ; 74 13 9301 9304 mov dx, strict word 0006ch ; ba 6c 00 9302 9305 mov ax, strict word 00040h ; b8 40 00 9303 call 0166ch ; e8 a2b19306 call 0166ch ; e8 9d b1 9304 9307 cmp ax, si ; 39 f0 9305 je short 064b 3h ; 74 e59308 je short 064b8h ; 74 e5 9306 9309 mov si, ax ; 89 c6 9307 9310 db 0feh, 0c9h 9308 9311 ; dec cl ; fe c9 9309 jmp short 064b 3h ; eb df9312 jmp short 064b8h ; eb df 9310 9313 test cl, cl ; 84 c9 9311 je short 064e ah ; 74 129314 je short 064efh ; 74 12 9312 9315 mov byte [bp+013h], 000h ; c6 46 13 00 9313 9316 mov dx, bx ; 89 da … … 9317 9320 mov byte [bp+012h], al ; 88 46 12 9318 9321 and byte [bp+01ch], 0feh ; 80 66 1c fe 9319 jmp short 065 0dh ; eb 239322 jmp short 06512h ; eb 23 9320 9323 lea dx, [bx+005h] ; 8d 57 05 9321 9324 in AL, DX ; ec 9322 9325 db 02ah, 0e4h 9323 9326 ; sub ah, ah ; 2a e4 9324 jmp short 064a 3h ; eb b19327 jmp short 064a8h ; eb b1 9325 9328 lea dx, [si+005h] ; 8d 54 05 9326 9329 in AL, DX ; ec … … 9332 9335 db 02ah, 0e4h 9333 9336 ; sub ah, ah ; 2a e4 9334 jmp short 064e 1h ; eb de9337 jmp short 064e6h ; eb de 9335 9338 or byte [bp+01ch], 001h ; 80 4e 1c 01 9336 jmp short 065 0dh ; eb 049339 jmp short 06512h ; eb 04 9337 9340 or byte [bp+01ch], 001h ; 80 4e 1c 01 9338 9341 lea sp, [bp-002h] ; 8d 66 fe … … 9340 9343 pop bp ; 5d 9341 9344 retn ; c3 9342 timer_wait_: ; 0xf651 3LB 0x439345 timer_wait_: ; 0xf6518 LB 0x43 9343 9346 push bp ; 55 9344 9347 mov bp, sp ; 89 e5 … … 9348 9351 mov bx, strict word 0000fh ; bb 0f 00 9349 9352 xor cx, cx ; 31 c9 9350 call 09f50h ; e8 2 f3a9353 call 09f50h ; e8 2a 3a 9351 9354 mov cx, ax ; 89 c1 9352 9355 mov bx, dx ; 89 d3 … … 9360 9363 adc bx, strict byte 0ffffh ; 83 d3 ff 9361 9364 cmp bx, strict byte 0ffffh ; 83 fb ff 9362 jne short 0654 0h ; 75 059365 jne short 06545h ; 75 05 9363 9366 cmp cx, strict byte 0ffffh ; 83 f9 ff 9364 je short 065 4fh ; 74 0f9367 je short 06554h ; 74 0f 9365 9368 mov dx, strict word 00061h ; ba 61 00 9366 9369 in AL, DX ; ec … … 9369 9372 and AL, strict byte 010h ; 24 10 9370 9373 cmp al, byte [bp-006h] ; 3a 46 fa 9371 jne short 0654 0h ; 75 f39372 jmp short 0653 0h ; eb e19374 jne short 06545h ; 75 f3 9375 jmp short 06535h ; eb e1 9373 9376 lea sp, [bp-004h] ; 8d 66 fc 9374 9377 pop cx ; 59 … … 9376 9379 pop bp ; 5d 9377 9380 retn ; c3 9378 set_enable_a20_: ; 0xf655 6LB 0x309381 set_enable_a20_: ; 0xf655b LB 0x30 9379 9382 push bp ; 55 9380 9383 mov bp, sp ; 89 e5 … … 9389 9392 mov cl, al ; 88 c1 9390 9393 test bx, bx ; 85 db 9391 je short 065 6fh ; 74 059394 je short 06574h ; 74 05 9392 9395 or AL, strict byte 002h ; 0c 02 9393 9396 out DX, AL ; ee 9394 jmp short 0657 2h ; eb 039397 jmp short 06577h ; eb 03 9395 9398 and AL, strict byte 0fdh ; 24 fd 9396 9399 out DX, AL ; ee 9397 9400 test cl, 002h ; f6 c1 02 9398 je short 065 7ch ; 74 059401 je short 06581h ; 74 05 9399 9402 mov ax, strict word 00001h ; b8 01 00 9400 jmp short 065 7eh ; eb 029403 jmp short 06583h ; eb 02 9401 9404 xor ax, ax ; 31 c0 9402 9405 lea sp, [bp-006h] ; 8d 66 fa … … 9406 9409 pop bp ; 5d 9407 9410 retn ; c3 9408 set_e820_range_: ; 0xf658 6LB 0x889411 set_e820_range_: ; 0xf658b LB 0x88 9409 9412 push si ; 56 9410 9413 push bp ; 55 … … 9436 9439 retn 0000ah ; c2 0a 00 9437 9440 db 0ech, 0e9h, 0d8h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 083h, 052h, 04fh, 041h, 024h, 000h 9438 db 01 8h, 069h, 049h, 066h, 05dh, 066h, 0f2h, 066h, 0f8h, 066h, 0fdh, 066h, 002h, 067h, 0aah, 067h9439 db 0d 5h, 067h, 0ebh, 066h, 0ebh, 066h, 0a2h, 068h, 0cah, 068h, 0ddh, 068h, 0ech, 068h, 0f2h, 066h9440 db 0f 3h, 068h9441 _int15_function: ; 0xf66 0eLB 0x33c9441 db 01dh, 069h, 04eh, 066h, 062h, 066h, 0f7h, 066h, 0fdh, 066h, 002h, 067h, 007h, 067h, 0afh, 067h 9442 db 0dah, 067h, 0f0h, 066h, 0f0h, 066h, 0a7h, 068h, 0cfh, 068h, 0e2h, 068h, 0f1h, 068h, 0f7h, 066h 9443 db 0f8h, 068h 9444 _int15_function: ; 0xf6613 LB 0x33c 9442 9445 push bp ; 55 9443 9446 mov bp, sp ; 89 e5 … … 9447 9450 shr ax, 008h ; c1 e8 08 9448 9451 cmp ax, 000ech ; 3d ec 00 9449 jnbe short 0665 3h ; 77 359452 jnbe short 06658h ; 77 35 9450 9453 push CS ; 0e 9451 9454 pop ES ; 07 9452 9455 mov cx, strict word 00011h ; b9 11 00 9453 mov di, 065 dch ; bf dc659456 mov di, 065e1h ; bf e1 65 9454 9457 repne scasb ; f2 ae 9455 9458 sal cx, 1 ; d1 e1 9456 9459 mov di, cx ; 89 cf 9457 mov si, word [cs:di+065 ech] ; 2e 8b b5 ec659460 mov si, word [cs:di+065f1h] ; 2e 8b b5 f1 65 9458 9461 mov ax, word [bp+012h] ; 8b 46 12 9459 9462 xor ah, ah ; 30 e4 … … 9468 9471 xor ah, ah ; 30 e4 9469 9472 cmp ax, 000c0h ; 3d c0 00 9470 je short 0665 6h ; 74 039471 jmp near 0691 8h ; e9 c2 029473 je short 0665bh ; 74 03 9474 jmp near 0691dh ; e9 c2 02 9472 9475 or byte [bp+018h], 001h ; 80 4e 18 01 9473 jmp near 068c 1h ; e9 64 029476 jmp near 068c6h ; e9 64 02 9474 9477 mov dx, ax ; 89 c2 9475 9478 cmp ax, strict word 00001h ; 3d 01 00 9476 jc short 0667 2h ; 72 0e9477 jbe short 0668 6h ; 76 209479 jc short 06677h ; 72 0e 9480 jbe short 0668bh ; 76 20 9478 9481 cmp ax, strict word 00003h ; 3d 03 00 9479 je short 066b 3h ; 74 489482 je short 066b8h ; 74 48 9480 9483 cmp ax, strict word 00002h ; 3d 02 00 9481 je short 0669 6h ; 74 269482 jmp short 066c 0h ; eb 4e9484 je short 0669bh ; 74 26 9485 jmp short 066c5h ; eb 4e 9483 9486 test ax, ax ; 85 c0 9484 jne short 066c 0h ; 75 4a9487 jne short 066c5h ; 75 4a 9485 9488 xor ax, ax ; 31 c0 9486 call 0655 6h ; e8 db fe9489 call 0655bh ; e8 db fe 9487 9490 and byte [bp+018h], 0feh ; 80 66 18 fe 9488 9491 mov byte [bp+013h], 000h ; c6 46 13 00 9489 jmp near 066 ebh ; e9 65 009492 jmp near 066f0h ; e9 65 00 9490 9493 mov ax, strict word 00001h ; b8 01 00 9491 call 0655 6h ; e8 ca fe9494 call 0655bh ; e8 ca fe 9492 9495 and byte [bp+018h], 0feh ; 80 66 18 fe 9493 9496 mov byte [bp+013h], dh ; 88 76 13 9494 jmp near 066 ebh ; e9 55 009497 jmp near 066f0h ; e9 55 00 9495 9498 mov dx, 00092h ; ba 92 00 9496 9499 in AL, DX ; ec … … 9504 9507 and byte [bp+018h], 0feh ; 80 66 18 fe 9505 9508 mov byte [bp+013h], ah ; 88 66 13 9506 jmp near 066 ebh ; e9 38 009509 jmp near 066f0h ; e9 38 00 9507 9510 and byte [bp+018h], 0feh ; 80 66 18 fe 9508 9511 mov byte [bp+013h], ah ; 88 66 13 9509 9512 mov word [bp+00ch], ax ; 89 46 0c 9510 jmp near 066 ebh ; e9 2b 009511 mov bx, 00da 6h ; bb a60d9513 jmp near 066f0h ; e9 2b 00 9514 mov bx, 00da4h ; bb a4 0d 9512 9515 mov cx, ds ; 8c d9 9513 9516 mov ax, strict word 00004h ; b8 04 00 9514 call 01923h ; e8 5 8b29517 call 01923h ; e8 53 b2 9515 9518 mov ax, word [bp+012h] ; 8b 46 12 9516 9519 xor ah, ah ; 30 e4 … … 9518 9521 push 0082eh ; 68 2e 08 9519 9522 push strict byte 00004h ; 6a 04 9520 call 01966h ; e8 8 db29523 call 01966h ; e8 88 b2 9521 9524 add sp, strict byte 00006h ; 83 c4 06 9522 9525 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9531 9534 retn ; c3 9532 9535 mov word [bp+018h], dx ; 89 56 18 9533 jmp near 067a 4h ; e9 ac 009536 jmp near 067a9h ; e9 ac 00 9534 9537 mov word [bp+018h], dx ; 89 56 18 9535 jmp short 066 ebh ; eb ee9538 jmp short 066f0h ; eb ee 9536 9539 mov word [bp+018h], cx ; 89 4e 18 9537 jmp short 066e 8h ; eb e69540 jmp short 066edh ; eb e6 9538 9541 test byte [bp+012h], 0ffh ; f6 46 12 ff 9539 jne short 0677 7h ; 75 6f9542 jne short 0677ch ; 75 6f 9540 9543 mov dx, 000a0h ; ba a0 00 9541 9544 mov ax, strict word 00040h ; b8 40 00 9542 call 01650h ; e8 3 faf9545 call 01650h ; e8 3a af 9543 9546 test AL, strict byte 001h ; a8 01 9544 jne short 0677 4h ; 75 5f9547 jne short 06779h ; 75 5f 9545 9548 mov bx, strict word 00001h ; bb 01 00 9546 9549 mov dx, 000a0h ; ba a0 00 9547 9550 mov ax, strict word 00040h ; b8 40 00 9548 call 0165eh ; e8 3 daf9551 call 0165eh ; e8 38 af 9549 9552 mov bx, word [bp+014h] ; 8b 5e 14 9550 9553 mov dx, 00098h ; ba 98 00 9551 9554 mov ax, strict word 00040h ; b8 40 00 9552 call 0167ah ; e8 4 daf9555 call 0167ah ; e8 48 af 9553 9556 mov bx, word [bp+00ch] ; 8b 5e 0c 9554 9557 mov dx, 0009ah ; ba 9a 00 9555 9558 mov ax, strict word 00040h ; b8 40 00 9556 call 0167ah ; e8 41af9559 call 0167ah ; e8 3c af 9557 9560 mov bx, word [bp+00eh] ; 8b 5e 0e 9558 9561 mov dx, 0009ch ; ba 9c 00 9559 9562 mov ax, strict word 00040h ; b8 40 00 9560 call 0167ah ; e8 3 5af9563 call 0167ah ; e8 30 af 9561 9564 mov bx, word [bp+010h] ; 8b 5e 10 9562 9565 mov dx, 0009eh ; ba 9e 00 9563 9566 mov ax, strict word 00040h ; b8 40 00 9564 call 0167ah ; e8 2 9af9567 call 0167ah ; e8 24 af 9565 9568 and byte [bp+018h], 0feh ; 80 66 18 fe 9566 9569 mov dx, 000a1h ; ba a1 00 … … 9571 9574 out DX, AL ; ee 9572 9575 mov ax, strict word 0000bh ; b8 0b 00 9573 call 016ach ; e8 4 8af9576 call 016ach ; e8 43 af 9574 9577 mov dl, al ; 88 c2 9575 9578 or dl, 040h ; 80 ca 40 9576 9579 xor dh, dh ; 30 f6 9577 9580 mov ax, strict word 0000bh ; b8 0b 00 9578 call 016c7h ; e8 5 6af9579 jmp near 066 ebh ; e9 77 ff9580 jmp near 068b 8h ; e9 41 019581 call 016c7h ; e8 51 af 9582 jmp near 066f0h ; e9 77 ff 9583 jmp near 068bdh ; e9 41 01 9581 9584 cmp ax, strict word 00001h ; 3d 01 00 9582 jne short 0679 8h ; 75 1c9585 jne short 0679dh ; 75 1c 9583 9586 xor bx, bx ; 31 db 9584 9587 mov dx, 000a0h ; ba a0 00 9585 9588 mov ax, strict word 00040h ; b8 40 00 9586 call 0165eh ; e8 d 7ae9589 call 0165eh ; e8 d2 ae 9587 9590 and byte [bp+018h], 0feh ; 80 66 18 fe 9588 9591 mov ax, strict word 0000bh ; b8 0b 00 9589 call 016ach ; e8 1 baf9592 call 016ach ; e8 16 af 9590 9593 mov dl, al ; 88 c2 9591 9594 and dl, 0bfh ; 80 e2 bf 9592 jmp short 0676 9h ; eb d19595 jmp short 0676eh ; eb d1 9593 9596 mov word [bp+018h], dx ; 89 56 18 9594 9597 mov ax, bx ; 89 d8 … … 9598 9601 or bx, ax ; 09 c3 9599 9602 mov word [bp+012h], bx ; 89 5e 12 9600 jmp near 066 ebh ; e9 41 ff9603 jmp near 066f0h ; e9 41 ff 9601 9604 mov ax, strict word 00031h ; b8 31 00 9602 call 016ach ; e8 f cae9605 call 016ach ; e8 f7 ae 9603 9606 xor ah, ah ; 30 e4 9604 9607 mov dx, ax ; 89 c2 9605 9608 sal dx, 008h ; c1 e2 08 9606 9609 mov ax, strict word 00030h ; b8 30 00 9607 call 016ach ; e8 e fae9610 call 016ach ; e8 ea ae 9608 9611 xor ah, ah ; 30 e4 9609 9612 or dx, ax ; 09 c2 9610 9613 mov word [bp+012h], dx ; 89 56 12 9611 9614 cmp dx, strict byte 0ffc0h ; 83 fa c0 9612 jbe short 067 ceh ; 76 059615 jbe short 067d3h ; 76 05 9613 9616 mov word [bp+012h], strict word 0ffc0h ; c7 46 12 c0 ff 9614 9617 and byte [bp+018h], 0feh ; 80 66 18 fe 9615 jmp near 066 ebh ; e9 16 ff9618 jmp near 066f0h ; e9 16 ff 9616 9619 cli ; fa 9617 9620 mov ax, strict word 00001h ; b8 01 00 9618 call 0655 6h ; e8 7a fd9621 call 0655bh ; e8 7a fd 9619 9622 mov dx, word [bp+006h] ; 8b 56 06 9620 9623 add dx, strict byte 00038h ; 83 c2 38 9621 9624 mov ax, word [bp+014h] ; 8b 46 14 9622 9625 mov bx, strict word 0ffffh ; bb ff ff 9623 call 0167ah ; e8 8 fae9626 call 0167ah ; e8 8a ae 9624 9627 mov dx, word [bp+006h] ; 8b 56 06 9625 9628 add dx, strict byte 0003ah ; 83 c2 3a 9626 9629 mov ax, word [bp+014h] ; 8b 46 14 9627 9630 xor bx, bx ; 31 db 9628 call 0167ah ; e8 81ae9631 call 0167ah ; e8 7c ae 9629 9632 mov dx, word [bp+006h] ; 8b 56 06 9630 9633 add dx, strict byte 0003ch ; 83 c2 3c 9631 9634 mov ax, word [bp+014h] ; 8b 46 14 9632 9635 mov bx, strict word 0000fh ; bb 0f 00 9633 call 0165eh ; e8 5 6ae9636 call 0165eh ; e8 51 ae 9634 9637 mov dx, word [bp+006h] ; 8b 56 06 9635 9638 add dx, strict byte 0003dh ; 83 c2 3d 9636 9639 mov ax, word [bp+014h] ; 8b 46 14 9637 9640 mov bx, 0009bh ; bb 9b 00 9638 call 0165eh ; e8 4 7ae9641 call 0165eh ; e8 42 ae 9639 9642 mov dx, word [bp+006h] ; 8b 56 06 9640 9643 add dx, strict byte 0003eh ; 83 c2 3e 9641 9644 mov ax, word [bp+014h] ; 8b 46 14 9642 9645 xor bx, bx ; 31 db 9643 call 0167ah ; e8 5 5ae9646 call 0167ah ; e8 50 ae 9644 9647 mov AL, strict byte 011h ; b0 11 9645 9648 mov dx, strict word 00020h ; ba 20 00 … … 9671 9674 out DX, AL ; ee 9672 9675 mov si, word [bp+006h] ; 8b 76 06 9673 call 0686 6h ; e8 00 009676 call 0686bh ; e8 00 00 9674 9677 pop di ; 5f 9675 9678 add di, strict byte 00018h ; 83 c7 18 … … 9699 9702 push cx ; 51 9700 9703 retf ; cb 9701 jmp near 066 ebh ; e9 49 fe9702 mov bx, 00da 6h ; bb a60d9704 jmp near 066f0h ; e9 49 fe 9705 mov bx, 00da4h ; bb a4 0d 9703 9706 mov cx, ds ; 8c d9 9704 9707 mov ax, strict word 00004h ; b8 04 00 9705 call 01923h ; e8 7 6b09708 call 01923h ; e8 71 b0 9706 9709 push 0086eh ; 68 6e 08 9707 9710 push strict byte 00004h ; 6a 04 9708 call 01966h ; e8 b1b09711 call 01966h ; e8 ac b0 9709 9712 add sp, strict byte 00004h ; 83 c4 04 9710 9713 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9713 9716 or ah, 086h ; 80 cc 86 9714 9717 mov word [bp+012h], ax ; 89 46 12 9715 jmp near 066 ebh ; e9 21 fe9718 jmp near 066f0h ; e9 21 fe 9716 9719 mov word [bp+018h], cx ; 89 4e 18 9717 9720 mov word [bp+012h], ax ; 89 46 12 9718 9721 mov word [bp+00ch], 0e6f5h ; c7 46 0c f5 e6 9719 9722 mov word [bp+014h], 0f000h ; c7 46 14 00 f0 9720 jmp near 066 ebh ; e9 0e fe9723 jmp near 066f0h ; e9 0e fe 9721 9724 mov dx, strict word 0000eh ; ba 0e 00 9722 9725 mov ax, strict word 00040h ; b8 40 00 9723 call 0166ch ; e8 8 6ad9726 call 0166ch ; e8 81 ad 9724 9727 mov word [bp+014h], ax ; 89 46 14 9725 jmp near 067 ceh ; e9 e2 fe9728 jmp near 067d3h ; e9 e2 fe 9726 9729 push 0089dh ; 68 9d 08 9727 9730 push strict byte 00008h ; 6a 08 9728 jmp short 068b 2h ; eb bf9731 jmp short 068b7h ; eb bf 9729 9732 test byte [bp+012h], 0ffh ; f6 46 12 ff 9730 jne short 0691 8h ; 75 1f9733 jne short 0691dh ; 75 1f 9731 9734 mov word [bp+012h], ax ; 89 46 12 9732 9735 mov ax, word [bp+00ch] ; 8b 46 0c 9733 9736 xor ah, ah ; 30 e4 9734 9737 cmp ax, strict word 00001h ; 3d 01 00 9735 jc short 0691 1h ; 72 0b9738 jc short 06916h ; 72 0b 9736 9739 cmp ax, strict word 00003h ; 3d 03 00 9737 jnbe short 0691 1h ; 77 069740 jnbe short 06916h ; 77 06 9738 9741 mov word [bp+018h], cx ; 89 4e 18 9739 jmp near 066 ebh ; e9 da fd9742 jmp near 066f0h ; e9 da fd 9740 9743 or byte [bp+018h], 001h ; 80 4e 18 01 9741 jmp near 066 ebh ; e9 d3 fd9742 mov bx, 00da 6h ; bb a60d9744 jmp near 066f0h ; e9 d3 fd 9745 mov bx, 00da4h ; bb a4 0d 9743 9746 mov cx, ds ; 8c d9 9744 9747 mov ax, strict word 00004h ; b8 04 00 9745 call 01923h ; e8 00 b09748 call 01923h ; e8 fb af 9746 9749 push word [bp+00ch] ; ff 76 0c 9747 9750 push word [bp+012h] ; ff 76 12 9748 9751 push 008b4h ; 68 b4 08 9749 9752 push strict byte 00004h ; 6a 04 9750 call 01966h ; e8 3 5b09753 call 01966h ; e8 30 b0 9751 9754 add sp, strict byte 00008h ; 83 c4 08 9752 jmp short 068b8h ; eb 82 9753 mov AH, strict byte 06ah ; b4 6a 9754 fldcw [bp+si-007h] ; d9 6a f9 9755 push strict byte 00048h ; 6a 48 9756 imul sp, word [bp+06bh], strict byte 0ff83h ; 6b 66 6b 83 9757 imul sp, word [di-03895h], strict byte 0006bh ; 6b a5 6b c7 6b 9758 add AL, strict byte 06ch ; 04 6c 9759 db 038h 9755 jmp short 068bdh ; eb 82 9756 mov cx, 0de6ah ; b9 6a de 9757 push strict byte 0fffeh ; 6a fe 9758 push strict byte 0004dh ; 6a 4d 9759 imul bp, word [bp+di+06bh], strict byte 0ff88h ; 6b 6b 6b 88 9760 imul bp, word [bp+si-03395h], strict byte 0006bh ; 6b aa 6b cc 6b 9761 or word [si+03dh], bp ; 09 6c 3d 9760 9762 insb ; 6c 9761 _int15_function32: ; 0xf694 aLB 0x38a9763 _int15_function32: ; 0xf694f LB 0x38a 9762 9764 push bp ; 55 9763 9765 mov bp, sp ; 89 e5 … … 9771 9773 xor dh, dh ; 30 f6 9772 9774 cmp ax, 000e8h ; 3d e8 00 9773 je short 069b 1h ; 74 4a9775 je short 069b6h ; 74 4a 9774 9776 cmp ax, 000d0h ; 3d d0 00 9775 je short 069 7eh ; 74 129777 je short 06983h ; 74 12 9776 9778 cmp ax, 00086h ; 3d 86 00 9777 jne short 069 afh ; 75 3e9779 jne short 069b4h ; 75 3e 9778 9780 sti ; fb 9779 9781 mov dx, word [bp+01ch] ; 8b 56 1c 9780 9782 mov ax, word [bp+018h] ; 8b 46 18 9781 call 0651 3h ; e8 98 fb9782 jmp near 06b4 2h ; e9 c4 019783 call 06518h ; e8 98 fb 9784 jmp near 06b47h ; e9 c4 01 9783 9785 cmp dx, strict byte 0004fh ; 83 fa 4f 9784 jne short 069 afh ; 75 2c9786 jne short 069b4h ; 75 2c 9785 9787 cmp word [bp+016h], 05052h ; 81 7e 16 52 50 9786 jne short 069e 5h ; 75 5b9788 jne short 069eah ; 75 5b 9787 9789 cmp word [bp+014h], 04f43h ; 81 7e 14 43 4f 9788 jne short 069e 5h ; 75 549790 jne short 069eah ; 75 54 9789 9791 cmp word [bp+01eh], 04d4fh ; 81 7e 1e 4f 4d 9790 jne short 069e 5h ; 75 4d9792 jne short 069eah ; 75 4d 9791 9793 cmp word [bp+01ch], 04445h ; 81 7e 1c 45 44 9792 jne short 069e 5h ; 75 469794 jne short 069eah ; 75 46 9793 9795 mov ax, word [bp+00ah] ; 8b 46 0a 9794 9796 or ax, word [bp+008h] ; 0b 46 08 9795 jne short 069e 5h ; 75 3e9797 jne short 069eah ; 75 3e 9796 9798 mov ax, word [bp+006h] ; 8b 46 06 9797 9799 or ax, word [bp+004h] ; 0b 46 04 9798 je short 069b 3h ; 74 049799 jmp short 069e 5h ; eb 349800 jmp short 069 dbh ; eb 289800 je short 069b8h ; 74 04 9801 jmp short 069eah ; eb 34 9802 jmp short 069e0h ; eb 28 9801 9803 mov word [bp+028h], bx ; 89 5e 28 9802 9804 mov ax, word [bp+014h] ; 8b 46 14 … … 9810 9812 mov word [bp+020h], 03332h ; c7 46 20 32 33 9811 9813 mov word [bp+022h], 04941h ; c7 46 22 41 49 9812 jmp near 06b4 2h ; e9 67 019814 jmp near 06b47h ; e9 67 01 9813 9815 cmp dx, strict byte 00020h ; 83 fa 20 9814 je short 069 ebh ; 74 0b9816 je short 069f0h ; 74 0b 9815 9817 cmp dx, strict byte 00001h ; 83 fa 01 9816 je short 069e 8h ; 74 039817 jmp near 06b1 8h ; e9 30 019818 jmp near 06c8 6h ; e9 9b 029818 je short 069edh ; 74 03 9819 jmp near 06b1dh ; e9 30 01 9820 jmp near 06c8bh ; e9 9b 02 9819 9821 cmp word [bp+01ah], 0534dh ; 81 7e 1a 4d 53 9820 jne short 069e 5h ; 75 f39822 jne short 069eah ; 75 f3 9821 9823 cmp word [bp+018h], 04150h ; 81 7e 18 50 41 9822 jne short 069e 5h ; 75 ec9824 jne short 069eah ; 75 ec 9823 9825 mov ax, strict word 00035h ; b8 35 00 9824 call 016ach ; e8 a dac9826 call 016ach ; e8 a8 ac 9825 9827 mov bl, al ; 88 c3 9826 9828 xor bh, bh ; 30 ff … … 9829 9831 sal bx, 1 ; d1 e3 9830 9832 rcl dx, 1 ; d1 d2 9831 loop 06a0 8h ; e2 fa9833 loop 06a0dh ; e2 fa 9832 9834 mov ax, strict word 00034h ; b8 34 00 9833 call 016ach ; e8 9 8ac9835 call 016ach ; e8 93 ac 9834 9836 xor ah, ah ; 30 e4 9835 9837 mov dx, bx ; 89 da … … 9839 9841 adc dx, 00100h ; 81 d2 00 01 9840 9842 cmp dx, 00100h ; 81 fa 00 01 9841 jc short 06a 2eh ; 72 069842 jne short 06a 5ch ; 75 329843 jc short 06a33h ; 72 06 9844 jne short 06a61h ; 75 32 9843 9845 test bx, bx ; 85 db 9844 jnbe short 06a 5ch ; 77 2e9846 jnbe short 06a61h ; 77 2e 9845 9847 mov ax, strict word 00031h ; b8 31 00 9846 call 016ach ; e8 7 8ac9848 call 016ach ; e8 73 ac 9847 9849 mov bl, al ; 88 c3 9848 9850 xor bh, bh ; 30 ff … … 9851 9853 sal bx, 1 ; d1 e3 9852 9854 rcl dx, 1 ; d1 d2 9853 loop 06a 3dh ; e2 fa9855 loop 06a42h ; e2 fa 9854 9856 mov ax, strict word 00030h ; b8 30 00 9855 call 016ach ; e8 63ac9857 call 016ach ; e8 5e ac 9856 9858 xor ah, ah ; 30 e4 9857 9859 or bx, ax ; 09 c3 … … 9859 9861 sal bx, 1 ; d1 e3 9860 9862 rcl dx, 1 ; d1 d2 9861 loop 06a5 0h ; e2 fa9863 loop 06a55h ; e2 fa 9862 9864 add bx, strict byte 00000h ; 83 c3 00 9863 9865 adc dx, strict byte 00010h ; 83 d2 10 9864 9866 mov ax, strict word 00062h ; b8 62 00 9865 call 016ach ; e8 4 aac9867 call 016ach ; e8 45 ac 9866 9868 xor ah, ah ; 30 e4 9867 9869 mov word [bp-00ah], ax ; 89 46 f6 … … 9871 9873 sal word [bp-00ah], 1 ; d1 66 f6 9872 9874 rcl word [bp-008h], 1 ; d1 56 f8 9873 loop 06a 6fh ; e2 f89875 loop 06a74h ; e2 f8 9874 9876 mov ax, strict word 00061h ; b8 61 00 9875 call 016ach ; e8 2 fac9877 call 016ach ; e8 2a ac 9876 9878 xor ah, ah ; 30 e4 9877 9879 or word [bp-00ah], ax ; 09 46 f6 … … 9880 9882 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 9881 9883 mov ax, strict word 00063h ; b8 63 00 9882 call 016ach ; e8 1 9ac9884 call 016ach ; e8 14 ac 9883 9885 mov byte [bp-004h], al ; 88 46 fc 9884 9886 mov byte [bp-006h], al ; 88 46 fa 9885 9887 mov ax, word [bp+014h] ; 8b 46 14 9886 9888 cmp ax, strict word 00009h ; 3d 09 00 9887 jnbe short 06b1 8h ; 77 779889 jnbe short 06b1dh ; 77 77 9888 9890 mov si, ax ; 89 c6 9889 9891 add si, ax ; 01 c6 … … 9892 9894 mov cx, dx ; 89 d1 9893 9895 adc cx, strict byte 0ffffh ; 83 d1 ff 9894 jmp word [cs:si+0693 6h] ; 2e ff a4 36699896 jmp word [cs:si+0693bh] ; 2e ff a4 3b 69 9895 9897 push strict byte 00001h ; 6a 01 9896 9898 push strict byte 00000h ; 6a 00 … … 9902 9904 xor bx, bx ; 31 db 9903 9905 xor cx, cx ; 31 c9 9904 call 0658 6h ; e8 ba fa9906 call 0658bh ; e8 ba fa 9905 9907 mov word [bp+014h], strict word 00001h ; c7 46 14 01 00 9906 9908 mov word [bp+016h], strict word 00000h ; c7 46 16 00 00 9907 jmp near 06c 6bh ; e9 92 019909 jmp near 06c70h ; e9 92 01 9908 9910 push strict byte 00002h ; 6a 02 9909 9911 push strict byte 00000h ; 6a 00 … … 9915 9917 mov bx, 0fc00h ; bb 00 fc 9916 9918 mov cx, strict word 00009h ; b9 09 00 9917 call 0658 6h ; e8 94 fa9919 call 0658bh ; e8 94 fa 9918 9920 mov word [bp+014h], strict word 00002h ; c7 46 14 02 00 9919 jmp short 06ad 1h ; eb d89921 jmp short 06ad6h ; eb d8 9920 9922 push strict byte 00002h ; 6a 02 9921 9923 push strict byte 00000h ; 6a 00 … … 9927 9929 xor bx, bx ; 31 db 9928 9930 mov cx, strict word 0000fh ; b9 0f 00 9929 call 0658 6h ; e8 75 fa9931 call 0658bh ; e8 75 fa 9930 9932 mov word [bp+014h], strict word 00003h ; c7 46 14 03 00 9931 jmp short 06ad 1h ; eb b99932 mov bx, 00da 6h ; bb a60d9933 jmp short 06ad6h ; eb b9 9934 mov bx, 00da4h ; bb a4 0d 9933 9935 mov cx, ds ; 8c d9 9934 9936 mov ax, strict word 00004h ; b8 04 00 9935 call 01923h ; e8 00 ae9937 call 01923h ; e8 fb ad 9936 9938 push word [bp+014h] ; ff 76 14 9937 9939 push word [bp+020h] ; ff 76 20 9938 9940 push 008b4h ; 68 b4 08 9939 9941 push strict byte 00004h ; 6a 04 9940 call 01966h ; e8 3 5ae9942 call 01966h ; e8 30 ae 9941 9943 add sp, strict byte 00008h ; 83 c4 08 9942 9944 or byte [bp+028h], 001h ; 80 4e 28 01 … … 9958 9960 xor bx, bx ; 31 db 9959 9961 mov cx, strict word 00010h ; b9 10 00 9960 call 0658 6h ; e8 28 fa9962 call 0658bh ; e8 28 fa 9961 9963 mov word [bp+014h], strict word 00004h ; c7 46 14 04 00 9962 jmp near 06ad 1h ; e9 6b ff9964 jmp near 06ad6h ; e9 6b ff 9963 9965 push strict byte 00003h ; 6a 03 9964 9966 push strict byte 00000h ; 6a 00 … … 9970 9972 mov bx, ax ; 89 c3 9971 9973 mov ax, si ; 89 f0 9972 call 0658 6h ; e8 0b fa9974 call 0658bh ; e8 0b fa 9973 9975 mov word [bp+014h], strict word 00005h ; c7 46 14 05 00 9974 jmp near 06ad 1h ; e9 4e ff9976 jmp near 06ad6h ; e9 4e ff 9975 9977 push strict byte 00002h ; 6a 02 9976 9978 push strict byte 00000h ; 6a 00 … … 9982 9984 xor bx, bx ; 31 db 9983 9985 mov cx, 0fec0h ; b9 c0 fe 9984 call 0658 6h ; e8 e9 f99986 call 0658bh ; e8 e9 f9 9985 9987 mov word [bp+014h], strict word 00006h ; c7 46 14 06 00 9986 jmp near 06ad 1h ; e9 2c ff9988 jmp near 06ad6h ; e9 2c ff 9987 9989 push strict byte 00002h ; 6a 02 9988 9990 push strict byte 00000h ; 6a 00 … … 9994 9996 xor bx, bx ; 31 db 9995 9997 mov cx, 0fee0h ; b9 e0 fe 9996 call 0658 6h ; e8 c7 f99998 call 0658bh ; e8 c7 f9 9997 9999 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 9998 jmp near 06ad 1h ; e9 0a ff10000 jmp near 06ad6h ; e9 0a ff 9999 10001 push strict byte 00002h ; 6a 02 10000 10002 push strict byte 00000h ; 6a 00 … … 10006 10008 xor bx, bx ; 31 db 10007 10009 mov cx, strict word 0fffch ; b9 fc ff 10008 call 0658 6h ; e8 a7 f910010 call 0658bh ; e8 a7 f9 10009 10011 cmp byte [bp-004h], 000h ; 80 7e fc 00 10010 jne short 06b ech ; 75 0710012 jne short 06bf1h ; 75 07 10011 10013 mov ax, word [bp-008h] ; 8b 46 f8 10012 10014 test ax, ax ; 85 c0 10013 je short 06 bfch ; 74 1010015 je short 06c01h ; 74 10 10014 10016 mov word [bp+014h], strict word 00009h ; c7 46 14 09 00 10015 jmp near 06ad 1h ; e9 dd fe10017 jmp near 06ad6h ; e9 dd fe 10016 10018 mov word [bp+014h], strict word 00008h ; c7 46 14 08 00 10017 jmp near 06ad 1h ; e9 d5 fe10019 jmp near 06ad6h ; e9 d5 fe 10018 10020 mov word [bp+014h], ax ; 89 46 14 10019 10021 mov word [bp+016h], ax ; 89 46 16 10020 jmp short 06c 6bh ; eb 6710022 jmp short 06c70h ; eb 67 10021 10023 push strict byte 00002h ; 6a 02 10022 10024 push strict byte 00000h ; 6a 00 … … 10028 10030 xor bx, bx ; 31 db 10029 10031 xor cx, cx ; 31 c9 10030 call 0658 6h ; e8 6b f910032 call 0658bh ; e8 6b f9 10031 10033 cmp byte [bp-004h], 000h ; 80 7e fc 00 10032 jne short 06c2 8h ; 75 0710034 jne short 06c2dh ; 75 07 10033 10035 mov ax, word [bp-008h] ; 8b 46 f8 10034 10036 test ax, ax ; 85 c0 10035 je short 06c3 0h ; 74 0810037 je short 06c35h ; 74 08 10036 10038 mov word [bp+014h], strict word 00009h ; c7 46 14 09 00 10037 jmp near 06ad 1h ; e9 a1 fe10039 jmp near 06ad6h ; e9 a1 fe 10038 10040 mov word [bp+014h], ax ; 89 46 14 10039 10041 mov word [bp+016h], ax ; 89 46 16 10040 jmp short 06c 6bh ; eb 3310042 jmp short 06c70h ; eb 33 10041 10043 cmp byte [bp-004h], 000h ; 80 7e fc 00 10042 jne short 06c4 4h ; 75 0610044 jne short 06c49h ; 75 06 10043 10045 cmp word [bp-008h], strict byte 00000h ; 83 7e f8 00 10044 je short 06c 6bh ; 74 2710046 je short 06c70h ; 74 27 10045 10047 push strict byte 00001h ; 6a 01 10046 10048 mov al, byte [bp-006h] ; 8a 46 fa … … 10056 10058 xor bx, bx ; 31 db 10057 10059 xor cx, cx ; 31 c9 10058 call 0658 6h ; e8 23 f910060 call 0658bh ; e8 23 f9 10059 10061 xor ax, ax ; 31 c0 10060 10062 mov word [bp+014h], ax ; 89 46 14 … … 10065 10067 mov word [bp+01eh], strict word 00000h ; c7 46 1e 00 00 10066 10068 and byte [bp+028h], 0feh ; 80 66 28 fe 10067 jmp near 06b4 2h ; e9 bc fe10069 jmp near 06b47h ; e9 bc fe 10068 10070 mov word [bp+028h], bx ; 89 5e 28 10069 10071 mov ax, strict word 00031h ; b8 31 00 10070 call 016ach ; e8 1 daa10072 call 016ach ; e8 18 aa 10071 10073 xor ah, ah ; 30 e4 10072 10074 mov dx, ax ; 89 c2 10073 10075 sal dx, 008h ; c1 e2 08 10074 10076 mov ax, strict word 00030h ; b8 30 00 10075 call 016ach ; e8 10aa10077 call 016ach ; e8 0b aa 10076 10078 xor ah, ah ; 30 e4 10077 10079 or dx, ax ; 09 c2 10078 10080 mov word [bp+01ch], dx ; 89 56 1c 10079 10081 cmp dx, 03c00h ; 81 fa 00 3c 10080 jbe short 06c aeh ; 76 0510082 jbe short 06cb3h ; 76 05 10081 10083 mov word [bp+01ch], 03c00h ; c7 46 1c 00 3c 10082 10084 mov ax, strict word 00035h ; b8 35 00 10083 call 016ach ; e8 f 8a910085 call 016ach ; e8 f3 a9 10084 10086 xor ah, ah ; 30 e4 10085 10087 mov dx, ax ; 89 c2 10086 10088 sal dx, 008h ; c1 e2 08 10087 10089 mov ax, strict word 00034h ; b8 34 00 10088 call 016ach ; e8 e ba910090 call 016ach ; e8 e6 a9 10089 10091 xor ah, ah ; 30 e4 10090 10092 or dx, ax ; 09 c2 … … 10093 10095 mov word [bp+020h], ax ; 89 46 20 10094 10096 mov word [bp+014h], dx ; 89 56 14 10095 jmp near 06b4 2h ; e9 6e fe10096 _int15_blkmove: ; 0xf6cd 4LB 0x18a10097 jmp near 06b47h ; e9 6e fe 10098 _int15_blkmove: ; 0xf6cd9 LB 0x18a 10097 10099 push bp ; 55 10098 10100 mov bp, sp ; 89 e5 … … 10103 10105 cli ; fa 10104 10106 mov ax, strict word 00001h ; b8 01 00 10105 call 0655 6h ; e8 74 f810107 call 0655bh ; e8 74 f8 10106 10108 mov di, ax ; 89 c7 10107 10109 mov ax, word [bp+006h] ; 8b 46 06 … … 10113 10115 mov byte [bp-006h], dl ; 88 56 fa 10114 10116 cmp cx, ax ; 39 c1 10115 jnc short 06d0 1h ; 73 0510117 jnc short 06d06h ; 73 05 10116 10118 db 0feh, 0c2h 10117 10119 ; inc dl ; fe c2 … … 10121 10123 mov ax, word [bp+006h] ; 8b 46 06 10122 10124 mov bx, strict word 0002fh ; bb 2f 00 10123 call 0167ah ; e8 6 aa910125 call 0167ah ; e8 65 a9 10124 10126 mov dx, word [bp+00ah] ; 8b 56 0a 10125 10127 add dx, strict byte 0000ah ; 83 c2 0a 10126 10128 mov ax, word [bp+006h] ; 8b 46 06 10127 10129 mov bx, cx ; 89 cb 10128 call 0167ah ; e8 5 ca910130 call 0167ah ; e8 57 a9 10129 10131 mov bl, byte [bp-006h] ; 8a 5e fa 10130 10132 xor bh, bh ; 30 ff … … 10132 10134 add dx, strict byte 0000ch ; 83 c2 0c 10133 10135 mov ax, word [bp+006h] ; 8b 46 06 10134 call 0165eh ; e8 2 fa910136 call 0165eh ; e8 2a a9 10135 10137 mov dx, word [bp+00ah] ; 8b 56 0a 10136 10138 add dx, strict byte 0000dh ; 83 c2 0d 10137 10139 mov ax, word [bp+006h] ; 8b 46 06 10138 10140 mov bx, 00093h ; bb 93 00 10139 call 0165eh ; e8 20a910141 call 0165eh ; e8 1b a9 10140 10142 mov dx, word [bp+00ah] ; 8b 56 0a 10141 10143 add dx, strict byte 0000eh ; 83 c2 0e 10142 10144 mov ax, word [bp+006h] ; 8b 46 06 10143 10145 xor bx, bx ; 31 db 10144 call 0167ah ; e8 2 ea910146 call 0167ah ; e8 29 a9 10145 10147 mov dx, word [bp+00ah] ; 8b 56 0a 10146 10148 add dx, strict byte 00020h ; 83 c2 20 10147 10149 mov ax, word [bp+006h] ; 8b 46 06 10148 10150 mov bx, strict word 0ffffh ; bb ff ff 10149 call 0167ah ; e8 1 fa910151 call 0167ah ; e8 1a a9 10150 10152 mov dx, word [bp+00ah] ; 8b 56 0a 10151 10153 add dx, strict byte 00022h ; 83 c2 22 10152 10154 mov ax, word [bp+006h] ; 8b 46 06 10153 10155 xor bx, bx ; 31 db 10154 call 0167ah ; e8 11a910156 call 0167ah ; e8 0c a9 10155 10157 mov dx, word [bp+00ah] ; 8b 56 0a 10156 10158 add dx, strict byte 00024h ; 83 c2 24 10157 10159 mov ax, word [bp+006h] ; 8b 46 06 10158 10160 mov bx, strict word 0000fh ; bb 0f 00 10159 call 0165eh ; e8 e 6a810161 call 0165eh ; e8 e1 a8 10160 10162 mov dx, word [bp+00ah] ; 8b 56 0a 10161 10163 add dx, strict byte 00025h ; 83 c2 25 10162 10164 mov ax, word [bp+006h] ; 8b 46 06 10163 10165 mov bx, 0009bh ; bb 9b 00 10164 call 0165eh ; e8 d 7a810166 call 0165eh ; e8 d2 a8 10165 10167 mov dx, word [bp+00ah] ; 8b 56 0a 10166 10168 add dx, strict byte 00026h ; 83 c2 26 10167 10169 mov ax, word [bp+006h] ; 8b 46 06 10168 10170 xor bx, bx ; 31 db 10169 call 0167ah ; e8 e 5a810171 call 0167ah ; e8 e0 a8 10170 10172 mov ax, ss ; 8c d0 10171 10173 mov cx, ax ; 89 c1 … … 10177 10179 mov ax, word [bp+006h] ; 8b 46 06 10178 10180 mov bx, strict word 0ffffh ; bb ff ff 10179 call 0167ah ; e8 c 9a810181 call 0167ah ; e8 c4 a8 10180 10182 mov dx, word [bp+00ah] ; 8b 56 0a 10181 10183 add dx, strict byte 0002ah ; 83 c2 2a 10182 10184 mov ax, word [bp+006h] ; 8b 46 06 10183 10185 mov bx, cx ; 89 cb 10184 call 0167ah ; e8 b ba810186 call 0167ah ; e8 b6 a8 10185 10187 mov bl, byte [bp-008h] ; 8a 5e f8 10186 10188 xor bh, bh ; 30 ff … … 10188 10190 add dx, strict byte 0002ch ; 83 c2 2c 10189 10191 mov ax, word [bp+006h] ; 8b 46 06 10190 call 0165eh ; e8 8 ea810192 call 0165eh ; e8 89 a8 10191 10193 mov dx, word [bp+00ah] ; 8b 56 0a 10192 10194 add dx, strict byte 0002dh ; 83 c2 2d 10193 10195 mov ax, word [bp+006h] ; 8b 46 06 10194 10196 mov bx, 00093h ; bb 93 00 10195 call 0165eh ; e8 7 fa810197 call 0165eh ; e8 7a a8 10196 10198 mov dx, word [bp+00ah] ; 8b 56 0a 10197 10199 add dx, strict byte 0002eh ; 83 c2 2e 10198 10200 mov ax, word [bp+006h] ; 8b 46 06 10199 10201 xor bx, bx ; 31 db 10200 call 0167ah ; e8 8 da810202 call 0167ah ; e8 88 a8 10201 10203 lea bx, [bp+004h] ; 8d 5e 04 10202 10204 mov si, word [bp+00ah] ; 8b 76 0a … … 10208 10210 mov word [00467h], bx ; 89 1e 67 04 10209 10211 mov [00469h], ss ; 8c 16 69 04 10210 call 06e0 8h ; e8 00 0010212 call 06e0dh ; e8 00 00 10211 10213 pop di ; 5f 10212 10214 add di, strict byte 00018h ; 83 c7 18 … … 10240 10242 int3 ; cc 10241 10243 mov ax, di ; 89 f8 10242 call 0655 6h ; e8 08 f710244 call 0655bh ; e8 08 f7 10243 10245 sti ; fb 10244 10246 mov byte [bp+017h], 000h ; c6 46 17 00 … … 10249 10251 pop bp ; 5d 10250 10252 retn ; c3 10251 _inv_op_handler: ; 0xf6e 5eLB 0x19b10253 _inv_op_handler: ; 0xf6e63 LB 0x19b 10252 10254 push bp ; 55 10253 10255 mov bp, sp ; 89 e5 … … 10258 10260 les bx, [bp+018h] ; c4 5e 18 10259 10261 cmp byte [es:bx], 0f0h ; 26 80 3f f0 10260 jne short 06e7 4h ; 75 0610262 jne short 06e79h ; 75 06 10261 10263 inc word [bp+018h] ; ff 46 18 10262 jmp near 06ff 2h ; e9 7e 0110264 jmp near 06ff7h ; e9 7e 01 10263 10265 cmp word [es:bx], 0050fh ; 26 81 3f 0f 05 10264 je short 06e 7eh ; 74 0310265 jmp near 06f eeh ; e9 70 0110266 je short 06e83h ; 74 03 10267 jmp near 06ff3h ; e9 70 01 10266 10268 mov si, 00800h ; be 00 08 10267 10269 xor ax, ax ; 31 c0 … … 10292 10294 sal ax, 1 ; d1 e0 10293 10295 rcl dx, 1 ; d1 d2 10294 loop 06e cfh ; e2 fa10296 loop 06ed4h ; e2 fa 10295 10297 cmp bx, dx ; 39 d3 10296 jne short 06e ddh ; 75 0410298 jne short 06ee2h ; 75 04 10297 10299 cmp di, ax ; 39 c7 10298 je short 06ee 2h ; 74 0510300 je short 06ee7h ; 74 05 10299 10301 mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 10300 10302 mov es, [bp-006h] ; 8e 46 fa … … 10307 10309 sal ax, 1 ; d1 e0 10308 10310 rcl dx, 1 ; d1 d2 10309 loop 06ef 8h ; e2 fa10311 loop 06efdh ; e2 fa 10310 10312 cmp bx, dx ; 39 d3 10311 jne short 06f0 6h ; 75 0410313 jne short 06f0bh ; 75 04 10312 10314 cmp di, ax ; 39 c7 10313 je short 06f0 ah ; 74 0410315 je short 06f0fh ; 74 04 10314 10316 or byte [bp-008h], 002h ; 80 4e f8 02 10315 10317 push strict byte 00000h ; 6a 00 … … 10365 10367 mov ax, strict word 00008h ; b8 08 00 10366 10368 test cx, strict word 00001h ; f7 c1 01 00 10367 je near 06f abh ; 0f 84 02 0010369 je near 06fb0h ; 0f 84 02 00 10368 10370 mov es, ax ; 8e c0 10369 10371 test cx, strict word 00002h ; f7 c1 02 00 10370 je near 06fd 3h ; 0f 84 20 0010372 je near 06fd8h ; 0f 84 20 00 10371 10373 mov bx, word [word ss:00000h] ; 36 8b 1e 00 00 10372 10374 mov word [word ss:00008h], bx ; 36 89 1e 08 00 … … 10385 10387 mov ss, [word ss:00020h] ; 36 8e 16 20 00 10386 10388 iret ; cf 10387 jmp short 06ff 2h ; eb 0410389 jmp short 06ff7h ; eb 04 10388 10390 sti ; fb 10389 10391 hlt ; f4 10390 jmp short 06f efh ; eb fd10392 jmp short 06ff4h ; eb fd 10391 10393 lea sp, [bp-004h] ; 8d 66 fc 10392 10394 pop di ; 5f … … 10394 10396 pop bp ; 5d 10395 10397 retn ; c3 10396 init_rtc_: ; 0xf6ff 9LB 0x2810398 init_rtc_: ; 0xf6ffe LB 0x28 10397 10399 push bp ; 55 10398 10400 mov bp, sp ; 89 e5 … … 10400 10402 mov dx, strict word 00026h ; ba 26 00 10401 10403 mov ax, strict word 0000ah ; b8 0a 00 10402 call 016c7h ; e8 c1a610404 call 016c7h ; e8 bc a6 10403 10405 mov dx, strict word 00002h ; ba 02 00 10404 10406 mov ax, strict word 0000bh ; b8 0b 00 10405 call 016c7h ; e8 b 8a610407 call 016c7h ; e8 b3 a6 10406 10408 mov ax, strict word 0000ch ; b8 0c 00 10407 call 016ach ; e8 9 7a610409 call 016ach ; e8 92 a6 10408 10410 mov ax, strict word 0000dh ; b8 0d 00 10409 call 016ach ; e8 91a610411 call 016ach ; e8 8c a6 10410 10412 lea sp, [bp-002h] ; 8d 66 fe 10411 10413 pop dx ; 5a 10412 10414 pop bp ; 5d 10413 10415 retn ; c3 10414 rtc_updating_: ; 0xf702 1LB 0x2110416 rtc_updating_: ; 0xf7026 LB 0x21 10415 10417 push bp ; 55 10416 10418 mov bp, sp ; 89 e5 … … 10418 10420 mov dx, 061a8h ; ba a8 61 10419 10421 dec dx ; 4a 10420 je short 0703 9h ; 74 0e10422 je short 0703eh ; 74 0e 10421 10423 mov ax, strict word 0000ah ; b8 0a 00 10422 call 016ach ; e8 7 ba610424 call 016ach ; e8 76 a6 10423 10425 test AL, strict byte 080h ; a8 80 10424 jne short 0702 8h ; 75 f310426 jne short 0702dh ; 75 f3 10425 10427 xor ax, ax ; 31 c0 10426 jmp short 070 3ch ; eb 0310428 jmp short 07041h ; eb 03 10427 10429 mov ax, strict word 00001h ; b8 01 00 10428 10430 lea sp, [bp-002h] ; 8d 66 fe … … 10430 10432 pop bp ; 5d 10431 10433 retn ; c3 10432 _int70_function: ; 0xf704 2LB 0xbf10434 _int70_function: ; 0xf7047 LB 0xbf 10433 10435 push bp ; 55 10434 10436 mov bp, sp ; 89 e5 … … 10436 10438 push ax ; 50 10437 10439 mov ax, strict word 0000bh ; b8 0b 00 10438 call 016ach ; e8 5 fa610440 call 016ach ; e8 5a a6 10439 10441 mov bl, al ; 88 c3 10440 10442 mov byte [bp-004h], al ; 88 46 fc 10441 10443 mov ax, strict word 0000ch ; b8 0c 00 10442 call 016ach ; e8 54a610444 call 016ach ; e8 4f a6 10443 10445 mov dl, al ; 88 c2 10444 10446 test bl, 060h ; f6 c3 60 10445 jne short 0706 2h ; 75 0310446 jmp near 070e 8h ; e9 86 0010447 jne short 07067h ; 75 03 10448 jmp near 070edh ; e9 86 00 10447 10449 test AL, strict byte 020h ; a8 20 10448 je short 0706 ah ; 74 0410450 je short 0706fh ; 74 04 10449 10451 sti ; fb 10450 10452 int 04ah ; cd 4a 10451 10453 cli ; fa 10452 10454 test dl, 040h ; f6 c2 40 10453 je short 070d 2h ; 74 6310455 je short 070d7h ; 74 63 10454 10456 mov dx, 000a0h ; ba a0 00 10455 10457 mov ax, strict word 00040h ; b8 40 00 10456 call 01650h ; e8 d 8a510458 call 01650h ; e8 d3 a5 10457 10459 test al, al ; 84 c0 10458 je short 070e 8h ; 74 6c10460 je short 070edh ; 74 6c 10459 10461 mov dx, 0009ch ; ba 9c 00 10460 10462 mov ax, strict word 00040h ; b8 40 00 10461 call 01688h ; e8 03 a610463 call 01688h ; e8 fe a5 10462 10464 test dx, dx ; 85 d2 10463 jne short 070d 4h ; 75 4b10465 jne short 070d9h ; 75 4b 10464 10466 cmp ax, 003d1h ; 3d d1 03 10465 jnc short 070d 4h ; 73 4610467 jnc short 070d9h ; 73 46 10466 10468 mov dx, 00098h ; ba 98 00 10467 10469 mov ax, strict word 00040h ; b8 40 00 10468 call 0166ch ; e8 d 5a510470 call 0166ch ; e8 d0 a5 10469 10471 mov si, ax ; 89 c6 10470 10472 mov dx, 0009ah ; ba 9a 00 10471 10473 mov ax, strict word 00040h ; b8 40 00 10472 call 0166ch ; e8 c aa510474 call 0166ch ; e8 c5 a5 10473 10475 mov cx, ax ; 89 c1 10474 10476 xor bx, bx ; 31 db 10475 10477 mov dx, 000a0h ; ba a0 00 10476 10478 mov ax, strict word 00040h ; b8 40 00 10477 call 0165eh ; e8 a fa510479 call 0165eh ; e8 aa a5 10478 10480 mov dl, byte [bp-004h] ; 8a 56 fc 10479 10481 and dl, 037h ; 80 e2 37 10480 10482 xor dh, dh ; 30 f6 10481 10483 mov ax, strict word 0000bh ; b8 0b 00 10482 call 016c7h ; e8 0 aa610484 call 016c7h ; e8 05 a6 10483 10485 mov dx, cx ; 89 ca 10484 10486 mov ax, si ; 89 f0 10485 call 01650h ; e8 8 ca510487 call 01650h ; e8 87 a5 10486 10488 mov bl, al ; 88 c3 10487 10489 or bl, 080h ; 80 cb 80 … … 10489 10491 mov dx, cx ; 89 ca 10490 10492 mov ax, si ; 89 f0 10491 call 0165eh ; e8 8 ca510492 jmp short 070e 8h ; eb 1410493 call 0165eh ; e8 87 a5 10494 jmp short 070edh ; eb 14 10493 10495 mov bx, ax ; 89 c3 10494 10496 add bx, 0fc2fh ; 81 c3 2f fc … … 10497 10499 mov dx, 0009ch ; ba 9c 00 10498 10500 mov ax, strict word 00040h ; b8 40 00 10499 call 0169ah ; e8 b2a510500 call 0e030h ; e8 4 56f10501 call 0169ah ; e8 ad a5 10502 call 0e030h ; e8 40 6f 10501 10503 lea sp, [bp-002h] ; 8d 66 fe 10502 10504 pop si ; 5e 10503 10505 pop bp ; 5d 10504 10506 retn ; c3 10505 pop SS ; 1710506 jno short 07132h ; 71 3e10507 jno short 071 59h ; 71 6310508 jno short 070 97h ; 71 9f10509 jno short 070 ebh ; 71 f110510 jno short 0712 4h ; 71 2810511 jc short 071 6dh ; 72 6f10512 jc short 070 cah ; 72 ca10507 sbb AL, strict byte 071h ; 1c 71 10508 inc bx ; 43 10509 jno short 07163h ; 71 68 10510 jno short 070a1h ; 71 a4 10511 jno short 070f5h ; 71 f6 10512 jno short 0712eh ; 71 2d 10513 jc short 07177h ; 72 74 10514 jc short 070d4h ; 72 cf 10513 10515 db 072h 10514 _int1a_function: ; 0xf710 1LB 0x1d910516 _int1a_function: ; 0xf7106 LB 0x1d9 10515 10517 push bp ; 55 10516 10518 mov bp, sp ; 89 e5 … … 10518 10520 mov al, byte [bp+013h] ; 8a 46 13 10519 10521 cmp AL, strict byte 007h ; 3c 07 10520 jnbe short 0716 ah ; 77 5e10522 jnbe short 0716fh ; 77 5e 10521 10523 mov bl, al ; 88 c3 10522 10524 xor bh, bh ; 30 ff 10523 10525 add bx, bx ; 01 db 10524 jmp word [cs:bx+070f 1h] ; 2e ff a7 f17010526 jmp word [cs:bx+070f6h] ; 2e ff a7 f6 70 10525 10527 cli ; fa 10526 10528 mov bx, 0046eh ; bb 6e 04 … … 10537 10539 mov byte [es:bx], 000h ; 26 c6 07 00 10538 10540 sti ; fb 10539 jmp short 0716 ah ; eb 2c10541 jmp short 0716fh ; eb 2c 10540 10542 cli ; fa 10541 10543 mov bx, 0046eh ; bb 6e 04 … … 10551 10553 sti ; fb 10552 10554 mov byte [bp+013h], 000h ; c6 46 13 00 10553 jmp short 0716 ah ; eb 0710554 call 0702 1h ; e8 bb fe10555 jmp short 0716fh ; eb 07 10556 call 07026h ; e8 bb fe 10555 10557 test ax, ax ; 85 c0 10556 je short 071 6dh ; 74 0310557 jmp near 071 9bh ; e9 2e 0010558 je short 07172h ; 74 03 10559 jmp near 071a0h ; e9 2e 00 10558 10560 xor ax, ax ; 31 c0 10559 call 016ach ; e8 3 aa510561 call 016ach ; e8 35 a5 10560 10562 mov byte [bp+00fh], al ; 88 46 0f 10561 10563 mov ax, strict word 00002h ; b8 02 00 10562 call 016ach ; e8 31a510564 call 016ach ; e8 2c a5 10563 10565 mov byte [bp+010h], al ; 88 46 10 10564 10566 mov ax, strict word 00004h ; b8 04 00 10565 call 016ach ; e8 2 8a510567 call 016ach ; e8 23 a5 10566 10568 mov dl, al ; 88 c2 10567 10569 mov byte [bp+011h], al ; 88 46 11 10568 10570 mov ax, strict word 0000bh ; b8 0b 00 10569 call 016ach ; e8 1 da510571 call 016ach ; e8 18 a5 10570 10572 and AL, strict byte 001h ; 24 01 10571 10573 mov byte [bp+00eh], al ; 88 46 0e … … 10575 10577 pop bp ; 5d 10576 10578 retn ; c3 10577 call 0702 1h ; e8 7f fe10579 call 07026h ; e8 7f fe 10578 10580 test ax, ax ; 85 c0 10579 je short 071a 9h ; 74 0310580 call 06ff 9h ; e8 50 fe10581 je short 071aeh ; 74 03 10582 call 06ffeh ; e8 50 fe 10581 10583 mov dl, byte [bp+00fh] ; 8a 56 0f 10582 10584 xor dh, dh ; 30 f6 10583 10585 xor ax, ax ; 31 c0 10584 call 016c7h ; e8 14a510586 call 016c7h ; e8 0f a5 10585 10587 mov dl, byte [bp+010h] ; 8a 56 10 10586 10588 xor dh, dh ; 30 f6 10587 10589 mov ax, strict word 00002h ; b8 02 00 10588 call 016c7h ; e8 0 9a510590 call 016c7h ; e8 04 a5 10589 10591 mov dl, byte [bp+011h] ; 8a 56 11 10590 10592 xor dh, dh ; 30 f6 10591 10593 mov ax, strict word 00004h ; b8 04 00 10592 call 016c7h ; e8 f ea410594 call 016c7h ; e8 f9 a4 10593 10595 mov ax, strict word 0000bh ; b8 0b 00 10594 call 016ach ; e8 d da410596 call 016ach ; e8 d8 a4 10595 10597 mov bl, al ; 88 c3 10596 10598 and bl, 060h ; 80 e3 60 … … 10602 10604 xor dh, dh ; 30 f6 10603 10605 mov ax, strict word 0000bh ; b8 0b 00 10604 call 016c7h ; e8 d fa410606 call 016c7h ; e8 da a4 10605 10607 mov byte [bp+013h], 000h ; c6 46 13 00 10606 10608 mov byte [bp+012h], bl ; 88 5e 12 10607 jmp short 071 9bh ; eb aa10609 jmp short 071a0h ; eb aa 10608 10610 mov byte [bp+013h], 000h ; c6 46 13 00 10609 call 0702 1h ; e8 29 fe10611 call 07026h ; e8 29 fe 10610 10612 test ax, ax ; 85 c0 10611 je short 07 1feh ; 74 0210612 jmp short 071 9bh ; eb 9d10613 je short 07203h ; 74 02 10614 jmp short 071a0h ; eb 9d 10613 10615 mov ax, strict word 00009h ; b8 09 00 10614 call 016ach ; e8 a 8a410616 call 016ach ; e8 a3 a4 10615 10617 mov byte [bp+010h], al ; 88 46 10 10616 10618 mov ax, strict word 00008h ; b8 08 00 10617 call 016ach ; e8 9 fa410619 call 016ach ; e8 9a a4 10618 10620 mov byte [bp+00fh], al ; 88 46 0f 10619 10621 mov ax, strict word 00007h ; b8 07 00 10620 call 016ach ; e8 9 6a410622 call 016ach ; e8 91 a4 10621 10623 mov byte [bp+00eh], al ; 88 46 0e 10622 10624 mov ax, strict word 00032h ; b8 32 00 10623 call 016ach ; e8 8 da410625 call 016ach ; e8 88 a4 10624 10626 mov byte [bp+011h], al ; 88 46 11 10625 10627 mov byte [bp+012h], al ; 88 46 12 10626 jmp near 071 9bh ; e9 73 ff10627 call 0702 1h ; e8 f6 fd10628 jmp near 071a0h ; e9 73 ff 10629 call 07026h ; e8 f6 fd 10628 10630 test ax, ax ; 85 c0 10629 je short 0723 5h ; 74 0610630 call 06ff 9h ; e8 c7 fd10631 jmp near 071 9bh ; e9 66 ff10631 je short 0723ah ; 74 06 10632 call 06ffeh ; e8 c7 fd 10633 jmp near 071a0h ; e9 66 ff 10632 10634 mov dl, byte [bp+010h] ; 8a 56 10 10633 10635 xor dh, dh ; 30 f6 10634 10636 mov ax, strict word 00009h ; b8 09 00 10635 call 016c7h ; e8 8 7a410637 call 016c7h ; e8 82 a4 10636 10638 mov dl, byte [bp+00fh] ; 8a 56 0f 10637 10639 xor dh, dh ; 30 f6 10638 10640 mov ax, strict word 00008h ; b8 08 00 10639 call 016c7h ; e8 7 ca410641 call 016c7h ; e8 77 a4 10640 10642 mov dl, byte [bp+00eh] ; 8a 56 0e 10641 10643 xor dh, dh ; 30 f6 10642 10644 mov ax, strict word 00007h ; b8 07 00 10643 call 016c7h ; e8 71a410645 call 016c7h ; e8 6c a4 10644 10646 mov dl, byte [bp+011h] ; 8a 56 11 10645 10647 xor dh, dh ; 30 f6 10646 10648 mov ax, strict word 00032h ; b8 32 00 10647 call 016c7h ; e8 6 6a410649 call 016c7h ; e8 61 a4 10648 10650 mov ax, strict word 0000bh ; b8 0b 00 10649 call 016ach ; e8 4 5a410651 call 016ach ; e8 40 a4 10650 10652 mov bl, al ; 88 c3 10651 10653 and bl, 07fh ; 80 e3 7f 10652 jmp near 071 deh ; e9 6f ff10654 jmp near 071e3h ; e9 6f ff 10653 10655 mov ax, strict word 0000bh ; b8 0b 00 10654 call 016ach ; e8 3 7a410656 call 016ach ; e8 32 a4 10655 10657 mov bl, al ; 88 c3 10656 10658 mov word [bp+012h], strict word 00000h ; c7 46 12 00 00 10657 10659 test AL, strict byte 020h ; a8 20 10658 je short 0728 3h ; 74 0310659 jmp near 071 9bh ; e9 18 ff10660 call 0702 1h ; e8 9b fd10660 je short 07288h ; 74 03 10661 jmp near 071a0h ; e9 18 ff 10662 call 07026h ; e8 9b fd 10661 10663 test ax, ax ; 85 c0 10662 je short 072 8dh ; 74 0310663 call 06ff 9h ; e8 6c fd10664 je short 07292h ; 74 03 10665 call 06ffeh ; e8 6c fd 10664 10666 mov dl, byte [bp+00fh] ; 8a 56 0f 10665 10667 xor dh, dh ; 30 f6 10666 10668 mov ax, strict word 00001h ; b8 01 00 10667 call 016c7h ; e8 2 fa410669 call 016c7h ; e8 2a a4 10668 10670 mov dl, byte [bp+010h] ; 8a 56 10 10669 10671 xor dh, dh ; 30 f6 10670 10672 mov ax, strict word 00003h ; b8 03 00 10671 call 016c7h ; e8 24a410673 call 016c7h ; e8 1f a4 10672 10674 mov dl, byte [bp+011h] ; 8a 56 11 10673 10675 xor dh, dh ; 30 f6 10674 10676 mov ax, strict word 00005h ; b8 05 00 10675 call 016c7h ; e8 1 9a410677 call 016c7h ; e8 14 a4 10676 10678 mov dx, 000a1h ; ba a1 00 10677 10679 in AL, DX ; ec … … 10685 10687 xor dh, dh ; 30 f6 10686 10688 mov ax, strict word 0000bh ; b8 0b 00 10687 call 016c7h ; e8 00 a410688 jmp near 071 9bh ; e9 d1 fe10689 call 016c7h ; e8 fb a3 10690 jmp near 071a0h ; e9 d1 fe 10689 10691 mov ax, strict word 0000bh ; b8 0b 00 10690 call 016ach ; e8 d ca310692 call 016ach ; e8 d7 a3 10691 10693 mov bl, al ; 88 c3 10692 10694 mov dl, al ; 88 c2 10693 10695 and dl, 057h ; 80 e2 57 10694 jmp near 071e 0h ; e9 06 ff10695 send_to_mouse_ctrl_: ; 0xf72d aLB 0x3410696 jmp near 071e5h ; e9 06 ff 10697 send_to_mouse_ctrl_: ; 0xf72df LB 0x34 10696 10698 push bp ; 55 10697 10699 mov bp, sp ; 89 e5 … … 10704 10706 ; sub ah, ah ; 2a e4 10705 10707 test AL, strict byte 002h ; a8 02 10706 je short 072f 9h ; 74 0e10708 je short 072feh ; 74 0e 10707 10709 push 008eeh ; 68 ee 08 10708 push 0116 eh ; 68 6e1110710 push 0116ch ; 68 6c 11 10709 10711 push strict byte 00007h ; 6a 07 10710 call 01966h ; e8 70a610712 call 01966h ; e8 6b a6 10711 10713 add sp, strict byte 00006h ; 83 c4 06 10712 10714 mov AL, strict byte 0d4h ; b0 d4 … … 10722 10724 pop bp ; 5d 10723 10725 retn ; c3 10724 get_mouse_data_: ; 0xf73 0eLB 0x5d10726 get_mouse_data_: ; 0xf7313 LB 0x5d 10725 10727 push bp ; 55 10726 10728 mov bp, sp ; 89 e5 … … 10737 10739 and ax, strict word 00021h ; 25 21 00 10738 10740 cmp ax, strict word 00021h ; 3d 21 00 10739 je short 0735 1h ; 74 2810741 je short 07356h ; 74 28 10740 10742 test cx, cx ; 85 c9 10741 je short 0735 1h ; 74 2410743 je short 07356h ; 74 24 10742 10744 mov dx, strict word 00061h ; ba 61 00 10743 10745 in AL, DX ; ec … … 10756 10758 xor ah, ah ; 30 e4 10757 10759 cmp dx, ax ; 39 c2 10758 je short 0733 8h ; 74 ea10760 je short 0733dh ; 74 ea 10759 10761 dec cx ; 49 10760 jmp short 073 1bh ; eb ca10762 jmp short 07320h ; eb ca 10761 10763 test cx, cx ; 85 c9 10762 jne short 0735 9h ; 75 0410764 jne short 0735eh ; 75 04 10763 10765 mov AL, strict byte 001h ; b0 01 10764 jmp short 0736 4h ; eb 0b10766 jmp short 07369h ; eb 0b 10765 10767 mov dx, strict word 00060h ; ba 60 00 10766 10768 in AL, DX ; ec … … 10774 10776 pop bp ; 5d 10775 10777 retn ; c3 10776 set_kbd_command_byte_: ; 0xf73 6bLB 0x3210778 set_kbd_command_byte_: ; 0xf7370 LB 0x32 10777 10779 push bp ; 55 10778 10780 mov bp, sp ; 89 e5 … … 10785 10787 ; sub ah, ah ; 2a e4 10786 10788 test AL, strict byte 002h ; a8 02 10787 je short 0738 ah ; 74 0e10789 je short 0738fh ; 74 0e 10788 10790 push 008f8h ; 68 f8 08 10789 push 0116 eh ; 68 6e1110791 push 0116ch ; 68 6c 11 10790 10792 push strict byte 00007h ; 6a 07 10791 call 01966h ; e8 d fa510793 call 01966h ; e8 da a5 10792 10794 add sp, strict byte 00006h ; 83 c4 06 10793 10795 mov AL, strict byte 060h ; b0 60 … … 10802 10804 pop bp ; 5d 10803 10805 retn ; c3 10804 _int74_function: ; 0xf73 9dLB 0xd210806 _int74_function: ; 0xf73a2 LB 0xd2 10805 10807 push bp ; 55 10806 10808 mov bp, sp ; 89 e5 … … 10808 10810 mov dx, strict word 0000eh ; ba 0e 00 10809 10811 mov ax, strict word 00040h ; b8 40 00 10810 call 0166ch ; e8 c0a210812 call 0166ch ; e8 bb a2 10811 10813 mov cx, ax ; 89 c1 10812 10814 mov word [bp+004h], strict word 00000h ; c7 46 04 00 00 … … 10817 10819 and AL, strict byte 021h ; 24 21 10818 10820 cmp AL, strict byte 021h ; 3c 21 10819 jne short 073e 1h ; 75 2210821 jne short 073e6h ; 75 22 10820 10822 mov dx, strict word 00060h ; ba 60 00 10821 10823 in AL, DX ; ec … … 10825 10827 mov dx, strict word 00026h ; ba 26 00 10826 10828 mov ax, cx ; 89 c8 10827 call 01650h ; e8 81a210829 call 01650h ; e8 7c a2 10828 10830 mov byte [bp-002h], al ; 88 46 fe 10829 10831 mov dx, strict word 00027h ; ba 27 00 10830 10832 mov ax, cx ; 89 c8 10831 call 01650h ; e8 7 6a210833 call 01650h ; e8 71 a2 10832 10834 mov byte [bp-006h], al ; 88 46 fa 10833 10835 test AL, strict byte 080h ; a8 80 10834 jne short 073e 4h ; 75 0310835 jmp near 074 5bh ; e9 77 0010836 jne short 073e9h ; 75 03 10837 jmp near 07460h ; e9 77 00 10836 10838 mov al, byte [bp-006h] ; 8a 46 fa 10837 10839 and AL, strict byte 007h ; 24 07 … … 10847 10849 add dx, strict byte 00028h ; 83 c2 28 10848 10850 mov ax, cx ; 89 c8 10849 call 0165eh ; e8 5 7a210851 call 0165eh ; e8 52 a2 10850 10852 mov al, byte [bp-008h] ; 8a 46 f8 10851 10853 cmp al, byte [bp-004h] ; 3a 46 fc 10852 jc short 074 4bh ; 72 3c10854 jc short 07450h ; 72 3c 10853 10855 mov dx, strict word 00028h ; ba 28 00 10854 10856 mov ax, cx ; 89 c8 10855 call 01650h ; e8 3 9a210857 call 01650h ; e8 34 a2 10856 10858 xor ah, ah ; 30 e4 10857 10859 mov word [bp+00ch], ax ; 89 46 0c 10858 10860 mov dx, strict word 00029h ; ba 29 00 10859 10861 mov ax, cx ; 89 c8 10860 call 01650h ; e8 2 ca210862 call 01650h ; e8 27 a2 10861 10863 xor ah, ah ; 30 e4 10862 10864 mov word [bp+00ah], ax ; 89 46 0a 10863 10865 mov dx, strict word 0002ah ; ba 2a 00 10864 10866 mov ax, cx ; 89 c8 10865 call 01650h ; e8 1 fa210867 call 01650h ; e8 1a a2 10866 10868 xor ah, ah ; 30 e4 10867 10869 mov word [bp+008h], ax ; 89 46 08 … … 10870 10872 mov byte [bp-002h], ah ; 88 66 fe 10871 10873 test byte [bp-006h], 080h ; f6 46 fa 80 10872 je short 074 4eh ; 74 0a10874 je short 07453h ; 74 0a 10873 10875 mov word [bp+004h], strict word 00001h ; c7 46 04 01 00 10874 jmp short 074 4eh ; eb 0310876 jmp short 07453h ; eb 03 10875 10877 inc byte [bp-002h] ; fe 46 fe 10876 10878 mov bl, byte [bp-002h] ; 8a 5e fe … … 10878 10880 mov dx, strict word 00026h ; ba 26 00 10879 10881 mov ax, cx ; 89 c8 10880 call 0165eh ; e8 03 a210882 call 0165eh ; e8 fe a1 10881 10883 mov sp, bp ; 89 ec 10882 10884 pop bp ; 5d 10883 10885 retn ; c3 10884 mov DL, strict byte 074h ; b2 74 10885 db 02eh, 075h, 0abh 10886 ; cs jne short 0740fh ; 2e 75 ab 10887 jne short 074a6h ; 75 40 10888 jbe short 07414h ; 76 ac 10889 jbe short 07463h ; 76 f9 10890 je short 07440h ; 74 d4 10891 jbe short 07407h ; 76 99 10886 mov BH, strict byte 074h ; b7 74 10887 xor si, word [di-050h] ; 33 75 b0 10888 jne short 074b0h ; 75 45 10889 jbe short 0741eh ; 76 b1 10890 jbe short 0746dh ; 76 fe 10891 je short 0744ah ; 74 d9 10892 jbe short 07411h ; 76 9e 10892 10893 db 077h 10893 _int15_function_mouse: ; 0xf74 6fLB 0x38d10894 _int15_function_mouse: ; 0xf7474 LB 0x38d 10894 10895 push bp ; 55 10895 10896 mov bp, sp ; 89 e5 … … 10898 10899 mov dx, strict word 0000eh ; ba 0e 00 10899 10900 mov ax, strict word 00040h ; b8 40 00 10900 call 0166ch ; e8 e da110901 call 0166ch ; e8 e8 a1 10901 10902 mov cx, ax ; 89 c1 10902 10903 cmp byte [bp+012h], 007h ; 80 7e 12 07 10903 jbe short 0749 2h ; 76 0b10904 jbe short 07497h ; 76 0b 10904 10905 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10905 10906 mov byte [bp+013h], 001h ; c6 46 13 01 10906 jmp near 077f 6h ; e9 64 0310907 jmp near 077fbh ; e9 64 03 10907 10908 mov ax, strict word 00065h ; b8 65 00 10908 call 073 6bh ; e8 d3 fe10909 call 07370h ; e8 d3 fe 10909 10910 and word [bp+018h], strict byte 0fffeh ; 83 66 18 fe 10910 10911 mov byte [bp+013h], 000h ; c6 46 13 00 10911 10912 mov al, byte [bp+012h] ; 8a 46 12 10912 10913 cmp AL, strict byte 007h ; 3c 07 10913 jnbe short 0750 7h ; 77 6010914 jnbe short 0750ch ; 77 60 10914 10915 xor ah, ah ; 30 e4 10915 10916 mov si, ax ; 89 c6 10916 10917 add si, ax ; 01 c6 10917 jmp word [cs:si+074 5fh] ; 2e ff a4 5f7410918 jmp word [cs:si+07464h] ; 2e ff a4 64 74 10918 10919 cmp byte [bp+00dh], 001h ; 80 7e 0d 01 10919 jnbe short 0750 ah ; 77 5210920 jnbe short 0750fh ; 77 52 10920 10921 mov dx, strict word 00027h ; ba 27 00 10921 10922 mov ax, cx ; 89 c8 10922 call 01650h ; e8 90a110923 call 01650h ; e8 8b a1 10923 10924 test AL, strict byte 080h ; a8 80 10924 jne short 074 cfh ; 75 0b10925 jne short 074d4h ; 75 0b 10925 10926 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10926 10927 mov byte [bp+013h], 005h ; c6 46 13 05 10927 jmp near 077f 0h ; e9 21 0310928 jmp near 077f5h ; e9 21 03 10928 10929 cmp byte [bp+00dh], 000h ; 80 7e 0d 00 10929 jne short 074d 9h ; 75 0410930 jne short 074deh ; 75 04 10930 10931 mov AL, strict byte 0f5h ; b0 f5 10931 jmp short 074 dbh ; eb 0210932 jmp short 074e0h ; eb 02 10932 10933 mov AL, strict byte 0f4h ; b0 f4 10933 10934 xor ah, ah ; 30 e4 10934 call 072d ah ; e8 fa fd10935 call 072dfh ; e8 fa fd 10935 10936 test al, al ; 84 c0 10936 jne short 075 0dh ; 75 2910937 jne short 07512h ; 75 29 10937 10938 mov dx, ss ; 8c d2 10938 10939 lea ax, [bp-008h] ; 8d 46 f8 10939 call 073 0eh ; e8 22 fe10940 call 07313h ; e8 22 fe 10940 10941 test al, al ; 84 c0 10941 je short 074f 6h ; 74 0610942 je short 074fbh ; 74 06 10942 10943 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10943 jne short 075 0dh ; 75 1710944 jmp near 077f 0h ; e9 f7 0210944 jne short 07512h ; 75 17 10945 jmp near 077f5h ; e9 f7 02 10945 10946 mov al, byte [bp+00dh] ; 8a 46 0d 10946 10947 cmp AL, strict byte 001h ; 3c 01 10947 jc short 0750 4h ; 72 0410948 jc short 07509h ; 72 04 10948 10949 cmp AL, strict byte 008h ; 3c 08 10949 jbe short 0751 0h ; 76 0c10950 jmp near 076a 2h ; e9 9b 0110951 jmp near 077 ddh ; e9 d3 0210952 jmp near 077e 8h ; e9 db 0210953 jmp near 0777 4h ; e9 64 0210950 jbe short 07515h ; 76 0c 10951 jmp near 076a7h ; e9 9b 01 10952 jmp near 077e2h ; e9 d3 02 10953 jmp near 077edh ; e9 db 02 10954 jmp near 07779h ; e9 64 02 10954 10955 mov dx, strict word 00027h ; ba 27 00 10955 10956 mov ax, cx ; 89 c8 10956 call 01650h ; e8 3 8a110957 call 01650h ; e8 33 a1 10957 10958 mov ah, byte [bp+00dh] ; 8a 66 0d 10958 10959 db 0feh, 0cch … … 10964 10965 mov dx, strict word 00027h ; ba 27 00 10965 10966 mov ax, cx ; 89 c8 10966 call 0165eh ; e8 30a110967 call 0165eh ; e8 2b a1 10967 10968 mov dx, strict word 00026h ; ba 26 00 10968 10969 mov ax, cx ; 89 c8 10969 call 01650h ; e8 1 aa110970 call 01650h ; e8 15 a1 10970 10971 mov bl, al ; 88 c3 10971 10972 and bl, 0f8h ; 80 e3 f8 … … 10973 10974 mov dx, strict word 00026h ; ba 26 00 10974 10975 mov ax, cx ; 89 c8 10975 call 0165eh ; e8 1 9a110976 call 0165eh ; e8 14 a1 10976 10977 mov ax, 000ffh ; b8 ff 00 10977 call 072d ah ; e8 8f fd10978 call 072dfh ; e8 8f fd 10978 10979 test al, al ; 84 c0 10979 jne short 075 0dh ; 75 be10980 jne short 07512h ; 75 be 10980 10981 mov dx, ss ; 8c d2 10981 10982 lea ax, [bp-004h] ; 8d 46 fc 10982 call 073 0eh ; e8 b7 fd10983 call 07313h ; e8 b7 fd 10983 10984 mov cl, al ; 88 c1 10984 10985 cmp byte [bp-004h], 0feh ; 80 7e fc fe 10985 jne short 0756 9h ; 75 0a10986 jne short 0756eh ; 75 0a 10986 10987 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10987 10988 mov byte [bp+013h], 004h ; c6 46 13 04 10988 jmp short 074f 6h ; eb 8d10989 jmp short 074fbh ; eb 8d 10989 10990 cmp byte [bp-004h], 0fah ; 80 7e fc fa 10990 je short 0758 0h ; 74 1110991 je short 07585h ; 74 11 10991 10992 mov al, byte [bp-004h] ; 8a 46 fc 10992 10993 xor ah, ah ; 30 e4 … … 10994 10995 push 00903h ; 68 03 09 10995 10996 push strict byte 00007h ; 6a 07 10996 call 01966h ; e8 e 9a310997 call 01966h ; e8 e4 a3 10997 10998 add sp, strict byte 00006h ; 83 c4 06 10998 10999 test cl, cl ; 84 c9 10999 jne short 075 0dh ; 75 8911000 jne short 07512h ; 75 89 11000 11001 mov dx, ss ; 8c d2 11001 11002 lea ax, [bp-008h] ; 8d 46 f8 11002 call 073 0eh ; e8 82 fd11003 call 07313h ; e8 82 fd 11003 11004 test al, al ; 84 c0 11004 jne short 075e 6h ; 75 5611005 jne short 075ebh ; 75 56 11005 11006 mov dx, ss ; 8c d2 11006 11007 lea ax, [bp-006h] ; 8d 46 fa 11007 call 073 0eh ; e8 76 fd11008 call 07313h ; e8 76 fd 11008 11009 test al, al ; 84 c0 11009 jne short 075e 6h ; 75 4a11010 jne short 075ebh ; 75 4a 11010 11011 mov al, byte [bp-008h] ; 8a 46 f8 11011 11012 mov byte [bp+00ch], al ; 88 46 0c 11012 11013 mov al, byte [bp-006h] ; 8a 46 fa 11013 11014 mov byte [bp+00dh], al ; 88 46 0d 11014 jmp near 077f 0h ; e9 45 0211015 jmp near 077f5h ; e9 45 02 11015 11016 mov al, byte [bp+00dh] ; 8a 46 0d 11016 11017 cmp AL, strict byte 003h ; 3c 03 11017 jc short 075c 2h ; 72 1011018 jbe short 075e 0h ; 76 2c11018 jc short 075c7h ; 72 10 11019 jbe short 075e5h ; 76 2c 11019 11020 cmp AL, strict byte 006h ; 3c 06 11020 je short 075f 5h ; 74 3d11021 je short 075fah ; 74 3d 11021 11022 cmp AL, strict byte 005h ; 3c 05 11022 je short 075 efh ; 74 3311023 je short 075f4h ; 74 33 11023 11024 cmp AL, strict byte 004h ; 3c 04 11024 je short 075e 9h ; 74 2911025 jmp short 07 5fbh ; eb 3911025 je short 075eeh ; 74 29 11026 jmp short 07600h ; eb 39 11026 11027 cmp AL, strict byte 002h ; 3c 02 11027 je short 075d ah ; 74 1411028 je short 075dfh ; 74 14 11028 11029 cmp AL, strict byte 001h ; 3c 01 11029 je short 075d 4h ; 74 0a11030 je short 075d9h ; 74 0a 11030 11031 test al, al ; 84 c0 11031 jne short 07 5fbh ; 75 2d11032 jne short 07600h ; 75 2d 11032 11033 mov byte [bp-008h], 00ah ; c6 46 f8 0a 11033 jmp short 07 5ffh ; eb 2b11034 jmp short 07604h ; eb 2b 11034 11035 mov byte [bp-008h], 014h ; c6 46 f8 14 11035 jmp short 07 5ffh ; eb 2511036 jmp short 07604h ; eb 25 11036 11037 mov byte [bp-008h], 028h ; c6 46 f8 28 11037 jmp short 07 5ffh ; eb 1f11038 jmp short 07604h ; eb 1f 11038 11039 mov byte [bp-008h], 03ch ; c6 46 f8 3c 11039 jmp short 07 5ffh ; eb 1911040 jmp near 0777 4h ; e9 8b 0111040 jmp short 07604h ; eb 19 11041 jmp near 07779h ; e9 8b 01 11041 11042 mov byte [bp-008h], 050h ; c6 46 f8 50 11042 jmp short 07 5ffh ; eb 1011043 jmp short 07604h ; eb 10 11043 11044 mov byte [bp-008h], 064h ; c6 46 f8 64 11044 jmp short 07 5ffh ; eb 0a11045 jmp short 07604h ; eb 0a 11045 11046 mov byte [bp-008h], 0c8h ; c6 46 f8 c8 11046 jmp short 07 5ffh ; eb 0411047 jmp short 07604h ; eb 04 11047 11048 mov byte [bp-008h], 000h ; c6 46 f8 00 11048 11049 cmp byte [bp-008h], 000h ; 80 7e f8 00 11049 jbe short 0763 5h ; 76 3011050 jbe short 0763ah ; 76 30 11050 11051 mov ax, 000f3h ; b8 f3 00 11051 call 072d ah ; e8 cf fc11052 call 072dfh ; e8 cf fc 11052 11053 test al, al ; 84 c0 11053 jne short 0762 ah ; 75 1b11054 jne short 0762fh ; 75 1b 11054 11055 mov dx, ss ; 8c d2 11055 11056 lea ax, [bp-006h] ; 8d 46 fa 11056 call 073 0eh ; e8 f7 fc11057 call 07313h ; e8 f7 fc 11057 11058 mov al, byte [bp-008h] ; 8a 46 f8 11058 11059 xor ah, ah ; 30 e4 11059 call 072d ah ; e8 bb fc11060 call 072dfh ; e8 bb fc 11060 11061 mov dx, ss ; 8c d2 11061 11062 lea ax, [bp-006h] ; 8d 46 fa 11062 call 073 0eh ; e8 e7 fc11063 jmp near 077f 0h ; e9 c6 0111063 call 07313h ; e8 e7 fc 11064 jmp near 077f5h ; e9 c6 01 11064 11065 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11065 11066 mov byte [bp+013h], 003h ; c6 46 13 03 11066 jmp near 077f 0h ; e9 bb 0111067 jmp near 077f5h ; e9 bb 01 11067 11068 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11068 11069 mov byte [bp+013h], 002h ; c6 46 13 02 11069 jmp near 077f 0h ; e9 b0 0111070 jmp near 077f5h ; e9 b0 01 11070 11071 cmp byte [bp+00dh], 004h ; 80 7e 0d 04 11071 jnc short 076a 2h ; 73 5c11072 jnc short 076a7h ; 73 5c 11072 11073 mov ax, 000e8h ; b8 e8 00 11073 call 072d ah ; e8 8e fc11074 call 072dfh ; e8 8e fc 11074 11075 test al, al ; 84 c0 11075 jne short 0769 8h ; 75 4811076 jne short 0769dh ; 75 48 11076 11077 mov dx, ss ; 8c d2 11077 11078 lea ax, [bp-008h] ; 8d 46 f8 11078 call 073 0eh ; e8 b6 fc11079 call 07313h ; e8 b6 fc 11079 11080 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11080 je short 076 6fh ; 74 1111081 je short 07674h ; 74 11 11081 11082 mov al, byte [bp-008h] ; 8a 46 f8 11082 11083 xor ah, ah ; 30 e4 … … 11084 11085 push 0092eh ; 68 2e 09 11085 11086 push strict byte 00007h ; 6a 07 11086 call 01966h ; e8 f aa211087 call 01966h ; e8 f5 a2 11087 11088 add sp, strict byte 00006h ; 83 c4 06 11088 11089 mov al, byte [bp+00dh] ; 8a 46 0d 11089 11090 xor ah, ah ; 30 e4 11090 call 072d ah ; e8 63 fc11091 call 072dfh ; e8 63 fc 11091 11092 mov dx, ss ; 8c d2 11092 11093 lea ax, [bp-008h] ; 8d 46 f8 11093 call 073 0eh ; e8 8f fc11094 call 07313h ; e8 8f fc 11094 11095 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11095 je short 076d 1h ; 74 4c11096 je short 076d6h ; 74 4c 11096 11097 mov al, byte [bp-008h] ; 8a 46 f8 11097 11098 xor ah, ah ; 30 e4 … … 11099 11100 push 0092eh ; 68 2e 09 11100 11101 push strict byte 00007h ; 6a 07 11101 call 01966h ; e8 d3a211102 call 01966h ; e8 ce a2 11102 11103 add sp, strict byte 00006h ; 83 c4 06 11103 jmp short 076d 1h ; eb 3911104 jmp short 076d6h ; eb 39 11104 11105 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11105 11106 mov byte [bp+013h], 003h ; c6 46 13 03 11106 jmp short 076d 1h ; eb 2f11107 jmp short 076d6h ; eb 2f 11107 11108 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11108 11109 mov byte [bp+013h], 002h ; c6 46 13 02 11109 jmp short 076d 1h ; eb 2511110 jmp short 076d6h ; eb 25 11110 11111 mov ax, 000f2h ; b8 f2 00 11111 call 072d ah ; e8 28 fc11112 call 072dfh ; e8 28 fc 11112 11113 test al, al ; 84 c0 11113 jne short 076c 9h ; 75 1311114 jne short 076ceh ; 75 13 11114 11115 mov dx, ss ; 8c d2 11115 11116 lea ax, [bp-008h] ; 8d 46 f8 11116 call 073 0eh ; e8 50 fc11117 call 07313h ; e8 50 fc 11117 11118 mov dx, ss ; 8c d2 11118 11119 lea ax, [bp-006h] ; 8d 46 fa 11119 call 073 0eh ; e8 48 fc11120 jmp near 075a 2h ; e9 d9 fe11120 call 07313h ; e8 48 fc 11121 jmp near 075a7h ; e9 d9 fe 11121 11122 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11122 11123 mov byte [bp+013h], 003h ; c6 46 13 03 11123 jmp near 077f 0h ; e9 1c 0111124 jmp near 077f5h ; e9 1c 01 11124 11125 mov al, byte [bp+00dh] ; 8a 46 0d 11125 11126 test al, al ; 84 c0 11126 jbe short 076e 2h ; 76 0711127 jbe short 076e7h ; 76 07 11127 11128 cmp AL, strict byte 002h ; 3c 02 11128 jbe short 0774 9h ; 76 6a11129 jmp near 077 7eh ; e9 9c 0011129 jbe short 0774eh ; 76 6a 11130 jmp near 07783h ; e9 9c 00 11130 11131 mov ax, 000e9h ; b8 e9 00 11131 call 072d ah ; e8 f2 fb11132 call 072dfh ; e8 f2 fb 11132 11133 test al, al ; 84 c0 11133 jne short 0775 2h ; 75 6611134 jne short 07757h ; 75 66 11134 11135 mov dx, ss ; 8c d2 11135 11136 lea ax, [bp-008h] ; 8d 46 f8 11136 call 073 0eh ; e8 1a fc11137 call 07313h ; e8 1a fc 11137 11138 mov cl, al ; 88 c1 11138 11139 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11139 je short 077 0dh ; 74 1111140 je short 07712h ; 74 11 11140 11141 mov al, byte [bp-008h] ; 8a 46 f8 11141 11142 xor ah, ah ; 30 e4 … … 11143 11144 push 0092eh ; 68 2e 09 11144 11145 push strict byte 00007h ; 6a 07 11145 call 01966h ; e8 5 ca211146 call 01966h ; e8 57 a2 11146 11147 add sp, strict byte 00006h ; 83 c4 06 11147 11148 test cl, cl ; 84 c9 11148 jne short 0777 4h ; 75 6311149 jne short 07779h ; 75 63 11149 11150 mov dx, ss ; 8c d2 11150 11151 lea ax, [bp-008h] ; 8d 46 f8 11151 call 073 0eh ; e8 f5 fb11152 call 07313h ; e8 f5 fb 11152 11153 test al, al ; 84 c0 11153 jne short 0777 4h ; 75 5711154 jne short 07779h ; 75 57 11154 11155 mov dx, ss ; 8c d2 11155 11156 lea ax, [bp-006h] ; 8d 46 fa 11156 call 073 0eh ; e8 e9 fb11157 call 07313h ; e8 e9 fb 11157 11158 test al, al ; 84 c0 11158 jne short 0777 4h ; 75 4b11159 jne short 07779h ; 75 4b 11159 11160 mov dx, ss ; 8c d2 11160 11161 lea ax, [bp-004h] ; 8d 46 fc 11161 call 073 0eh ; e8 dd fb11162 call 07313h ; e8 dd fb 11162 11163 test al, al ; 84 c0 11163 jne short 0777 4h ; 75 3f11164 jne short 07779h ; 75 3f 11164 11165 mov al, byte [bp-008h] ; 8a 46 f8 11165 11166 mov byte [bp+00ch], al ; 88 46 0c … … 11168 11169 mov al, byte [bp-004h] ; 8a 46 fc 11169 11170 mov byte [bp+00eh], al ; 88 46 0e 11170 jmp short 076d 1h ; eb 8811171 jmp short 076d6h ; eb 88 11171 11172 cmp AL, strict byte 001h ; 3c 01 11172 jne short 0775 4h ; 75 0711173 jne short 07759h ; 75 07 11173 11174 mov ax, 000e6h ; b8 e6 00 11174 jmp short 0775 7h ; eb 0511175 jmp short 0777 4h ; eb 2011175 jmp short 0775ch ; eb 05 11176 jmp short 07779h ; eb 20 11176 11177 mov ax, 000e7h ; b8 e7 00 11177 call 072d ah ; e8 80 fb11178 call 072dfh ; e8 80 fb 11178 11179 mov cl, al ; 88 c1 11179 11180 test cl, cl ; 84 c9 11180 jne short 0777 0h ; 75 1011181 jne short 07775h ; 75 10 11181 11182 mov dx, ss ; 8c d2 11182 11183 lea ax, [bp-008h] ; 8d 46 f8 11183 call 073 0eh ; e8 a6 fb11184 call 07313h ; e8 a6 fb 11184 11185 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11185 je short 0777 0h ; 74 0211186 je short 07775h ; 74 02 11186 11187 mov CL, strict byte 001h ; b1 01 11187 11188 test cl, cl ; 84 c9 11188 je short 077 dbh ; 74 6711189 je short 077e0h ; 74 67 11189 11190 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11190 11191 mov byte [bp+013h], 003h ; c6 46 13 03 11191 jmp short 077 dbh ; eb 5d11192 jmp short 077e0h ; eb 5d 11192 11193 mov al, byte [bp+00dh] ; 8a 46 0d 11193 11194 xor ah, ah ; 30 e4 … … 11195 11196 push 0095ah ; 68 5a 09 11196 11197 push strict byte 00007h ; 6a 07 11197 call 01966h ; e8 d aa111198 call 01966h ; e8 d5 a1 11198 11199 add sp, strict byte 00006h ; 83 c4 06 11199 11200 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11200 11201 mov byte [bp+013h], 001h ; c6 46 13 01 11201 jmp short 077f 0h ; eb 5711202 jmp short 077f5h ; eb 57 11202 11203 mov si, word [bp+00ch] ; 8b 76 0c 11203 11204 mov bx, si ; 89 f3 11204 11205 mov dx, strict word 00022h ; ba 22 00 11205 11206 mov ax, cx ; 89 c8 11206 call 0167ah ; e8 d49e11207 call 0167ah ; e8 cf 9e 11207 11208 mov bx, word [bp+014h] ; 8b 5e 14 11208 11209 mov dx, strict word 00024h ; ba 24 00 11209 11210 mov ax, cx ; 89 c8 11210 call 0167ah ; e8 c 99e11211 call 0167ah ; e8 c4 9e 11211 11212 mov dx, strict word 00027h ; ba 27 00 11212 11213 mov ax, cx ; 89 c8 11213 call 01650h ; e8 9 79e11214 call 01650h ; e8 92 9e 11214 11215 mov ah, al ; 88 c4 11215 11216 test si, si ; 85 f6 11216 jne short 077 cdh ; 75 0e11217 jne short 077d2h ; 75 0e 11217 11218 cmp word [bp+014h], strict byte 00000h ; 83 7e 14 00 11218 jne short 077 cdh ; 75 0811219 jne short 077d2h ; 75 08 11219 11220 test AL, strict byte 080h ; a8 80 11220 je short 077 cfh ; 74 0611221 je short 077d4h ; 74 06 11221 11222 and AL, strict byte 07fh ; 24 7f 11222 jmp short 077 cfh ; eb 0211223 jmp short 077d4h ; eb 02 11223 11224 or AL, strict byte 080h ; 0c 80 11224 11225 mov bl, al ; 88 c3 … … 11226 11227 mov dx, strict word 00027h ; ba 27 00 11227 11228 mov ax, cx ; 89 c8 11228 call 0165eh ; e8 839e11229 jmp short 077f 0h ; eb 1311229 call 0165eh ; e8 7e 9e 11230 jmp short 077f5h ; eb 13 11230 11231 push 00974h ; 68 74 09 11231 11232 push strict byte 00007h ; 6a 07 11232 call 01966h ; e8 81a111233 call 01966h ; e8 7c a1 11233 11234 add sp, strict byte 00004h ; 83 c4 04 11234 11235 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11235 11236 mov byte [bp+013h], 001h ; c6 46 13 01 11236 11237 mov ax, strict word 00047h ; b8 47 00 11237 call 073 6bh ; e8 75 fb11238 call 07370h ; e8 75 fb 11238 11239 lea sp, [bp-002h] ; 8d 66 fe 11239 11240 pop si ; 5e 11240 11241 pop bp ; 5d 11241 11242 retn ; c3 11242 _int17_function: ; 0xf7 7fcLB 0xaf11243 _int17_function: ; 0xf7801 LB 0xaf 11243 11244 push bp ; 55 11244 11245 mov bp, sp ; 89 e5 … … 11250 11251 add dx, strict byte 00008h ; 83 c2 08 11251 11252 mov ax, strict word 00040h ; b8 40 00 11252 call 0166ch ; e8 5 c9e11253 call 0166ch ; e8 57 9e 11253 11254 mov bx, ax ; 89 c3 11254 11255 mov si, ax ; 89 c6 11255 11256 cmp byte [bp+013h], 003h ; 80 7e 13 03 11256 jnc short 0782 6h ; 73 0c11257 jnc short 0782bh ; 73 0c 11257 11258 mov ax, word [bp+00eh] ; 8b 46 0e 11258 11259 cmp ax, strict word 00003h ; 3d 03 00 11259 jnc short 0782 6h ; 73 0411260 jnc short 0782bh ; 73 04 11260 11261 test bx, bx ; 85 db 11261 jnbe short 0782 9h ; 77 0311262 jmp near 078a 1h ; e9 78 0011262 jnbe short 0782eh ; 77 03 11263 jmp near 078a6h ; e9 78 00 11263 11264 mov dx, ax ; 89 c2 11264 11265 add dx, strict byte 00078h ; 83 c2 78 11265 11266 mov ax, strict word 00040h ; b8 40 00 11266 call 01650h ; e8 1 c9e11267 call 01650h ; e8 17 9e 11267 11268 xor ah, ah ; 30 e4 11268 11269 mov cx, ax ; 89 c1 11269 11270 sal cx, 008h ; c1 e1 08 11270 11271 cmp byte [bp+013h], 000h ; 80 7e 13 00 11271 jne short 078 6dh ; 75 2c11272 jne short 07872h ; 75 2c 11272 11273 mov al, byte [bp+012h] ; 8a 46 12 11273 11274 mov dx, bx ; 89 da … … 11289 11290 ; sub ah, ah ; 2a e4 11290 11291 test AL, strict byte 040h ; a8 40 11291 je short 078 6dh ; 74 0711292 je short 07872h ; 74 07 11292 11293 test cx, cx ; 85 c9 11293 je short 078 6dh ; 74 0311294 je short 07872h ; 74 03 11294 11295 dec cx ; 49 11295 jmp short 078 5ch ; eb ef11296 jmp short 07861h ; eb ef 11296 11297 cmp byte [bp+013h], 001h ; 80 7e 13 01 11297 jne short 0788 8h ; 75 1511298 jne short 0788dh ; 75 15 11298 11299 lea dx, [si+002h] ; 8d 54 02 11299 11300 in AL, DX ; ec … … 11314 11315 mov byte [bp+013h], al ; 88 46 13 11315 11316 test cx, cx ; 85 c9 11316 jne short 078 9bh ; 75 0411317 jne short 078a0h ; 75 04 11317 11318 or byte [bp+013h], 001h ; 80 4e 13 01 11318 11319 and byte [bp+01ch], 0feh ; 80 66 1c fe 11319 jmp short 078a 5h ; eb 0411320 jmp short 078aah ; eb 04 11320 11321 or byte [bp+01ch], 001h ; 80 4e 1c 01 11321 11322 lea sp, [bp-002h] ; 8d 66 fe … … 11323 11324 pop bp ; 5d 11324 11325 retn ; c3 11325 wait_: ; 0xf78 abLB 0xaf11326 wait_: ; 0xf78b0 LB 0xaf 11326 11327 push bp ; 55 11327 11328 mov bp, sp ; 89 e5 … … 11341 11342 mov dx, 0046ch ; ba 6c 04 11342 11343 xor ax, ax ; 31 c0 11343 call 01688h ; e8 b a9d11344 call 01688h ; e8 b5 9d 11344 11345 mov word [bp-010h], ax ; 89 46 f0 11345 11346 mov bx, dx ; 89 d3 … … 11347 11348 mov dx, 0046ch ; ba 6c 04 11348 11349 xor ax, ax ; 31 c0 11349 call 01688h ; e8 a c9d11350 call 01688h ; e8 a7 9d 11350 11351 mov word [bp-012h], ax ; 89 46 ee 11351 11352 mov di, dx ; 89 d7 11352 11353 cmp dx, bx ; 39 da 11353 jnbe short 078 ech ; 77 0711354 jne short 078f 3h ; 75 0c11354 jnbe short 078f1h ; 77 07 11355 jne short 078f8h ; 75 0c 11355 11356 cmp ax, word [bp-010h] ; 3b 46 f0 11356 jbe short 078f 3h ; 76 0711357 jbe short 078f8h ; 76 07 11357 11358 sub ax, word [bp-010h] ; 2b 46 f0 11358 11359 sbb dx, bx ; 19 da 11359 jmp short 07 8feh ; eb 0b11360 jmp short 07903h ; eb 0b 11360 11361 cmp dx, bx ; 39 da 11361 jc short 07 8feh ; 72 0711362 jne short 0790 2h ; 75 0911362 jc short 07903h ; 72 07 11363 jne short 07907h ; 75 09 11363 11364 cmp ax, word [bp-010h] ; 3b 46 f0 11364 jnc short 0790 2h ; 73 0411365 jnc short 07907h ; 73 04 11365 11366 sub si, ax ; 29 c6 11366 11367 sbb cx, dx ; 19 d1 … … 11370 11371 mov ax, 00100h ; b8 00 01 11371 11372 int 016h ; cd 16 11372 je short 0791 6h ; 74 0511373 je short 0791bh ; 74 05 11373 11374 mov AL, strict byte 001h ; b0 01 11374 jmp near 0791 8h ; e9 02 0011375 jmp near 0791dh ; e9 02 00 11375 11376 db 032h, 0c0h 11376 11377 ; xor al, al ; 32 c0 11377 11378 test al, al ; 84 c0 11378 je short 079 3fh ; 74 2311379 je short 07944h ; 74 23 11379 11380 db 033h, 0c0h 11380 11381 ; xor ax, ax ; 33 c0 … … 11387 11388 push 00996h ; 68 96 09 11388 11389 push strict byte 00004h ; 6a 04 11389 call 01966h ; e8 34a011390 call 01966h ; e8 2f a0 11390 11391 add sp, strict byte 00006h ; 83 c4 06 11391 11392 cmp byte [bp-00ah], 000h ; 80 7e f6 00 11392 je short 079 3fh ; 74 0411393 je short 07944h ; 74 04 11393 11394 mov al, dl ; 88 d0 11394 jmp short 0795 1h ; eb 1211395 jmp short 07956h ; eb 12 11395 11396 test cx, cx ; 85 c9 11396 jnle short 078d 3h ; 7f 9011397 jne short 0794 9h ; 75 0411397 jnle short 078d8h ; 7f 90 11398 jne short 0794eh ; 75 04 11398 11399 test si, si ; 85 f6 11399 jnbe short 078d 3h ; 77 8a11400 jnbe short 078d8h ; 77 8a 11400 11401 mov ax, word [bp-00eh] ; 8b 46 f2 11401 11402 push ax ; 50 … … 11409 11410 pop bp ; 5d 11410 11411 retn ; c3 11411 read_logo_byte_: ; 0xf795 aLB 0x1611412 read_logo_byte_: ; 0xf795f LB 0x16 11412 11413 push bp ; 55 11413 11414 mov bp, sp ; 89 e5 … … 11424 11425 pop bp ; 5d 11425 11426 retn ; c3 11426 read_logo_word_: ; 0xf797 0LB 0x1411427 read_logo_word_: ; 0xf7975 LB 0x14 11427 11428 push bp ; 55 11428 11429 mov bp, sp ; 89 e5 … … 11437 11438 pop bp ; 5d 11438 11439 retn ; c3 11439 print_detected_harddisks_: ; 0xf798 4LB 0x13a11440 print_detected_harddisks_: ; 0xf7989 LB 0x13a 11440 11441 push bp ; 55 11441 11442 mov bp, sp ; 89 e5 … … 11449 11450 mov dx, strict word 0000eh ; ba 0e 00 11450 11451 mov ax, strict word 00040h ; b8 40 00 11451 call 0166ch ; e8 d 59c11452 call 0166ch ; e8 d0 9c 11452 11453 mov si, ax ; 89 c6 11453 11454 mov byte [bp-00eh], 000h ; c6 46 f2 00 … … 11455 11456 xor ch, ch ; 30 ed 11456 11457 mov dx, 00304h ; ba 04 03 11457 call 01650h ; e8 a 99c11458 call 01650h ; e8 a4 9c 11458 11459 mov byte [bp-00ch], al ; 88 46 f4 11459 11460 xor bl, bl ; 30 db 11460 11461 cmp bl, byte [bp-00ch] ; 3a 5e f4 11461 jnc short 07a 0eh ; 73 5d11462 jnc short 07a13h ; 73 5d 11462 11463 mov al, bl ; 88 d8 11463 11464 xor ah, ah ; 30 e4 … … 11465 11466 add dx, 00305h ; 81 c2 05 03 11466 11467 mov ax, si ; 89 f0 11467 call 01650h ; e8 909c11468 call 01650h ; e8 8b 9c 11468 11469 mov bh, al ; 88 c7 11469 11470 cmp AL, strict byte 00ch ; 3c 0c 11470 jc short 079 ebh ; 72 2511471 jc short 079f0h ; 72 25 11471 11472 test cl, cl ; 84 c9 11472 jne short 079d 7h ; 75 0d11473 jne short 079dch ; 75 0d 11473 11474 push 009a7h ; 68 a7 09 11474 11475 push strict byte 00002h ; 6a 02 11475 call 01966h ; e8 949f11476 call 01966h ; e8 8f 9f 11476 11477 add sp, strict byte 00004h ; 83 c4 04 11477 11478 mov CL, strict byte 001h ; b1 01 … … 11482 11483 push 009bch ; 68 bc 09 11483 11484 push strict byte 00002h ; 6a 02 11484 call 01966h ; e8 819f11485 call 01966h ; e8 7c 9f 11485 11486 add sp, strict byte 00006h ; 83 c4 06 11486 jmp near 07a 8bh ; e9 a0 0011487 jmp near 07a90h ; e9 a0 00 11487 11488 cmp AL, strict byte 008h ; 3c 08 11488 jc short 07a0 2h ; 72 1311489 jc short 07a07h ; 72 13 11489 11490 test ch, ch ; 84 ed 11490 jne short 07a0 0h ; 75 0d11491 jne short 07a05h ; 75 0d 11491 11492 push 009cfh ; 68 cf 09 11492 11493 push strict byte 00002h ; 6a 02 11493 call 01966h ; e8 6 b9f11494 call 01966h ; e8 66 9f 11494 11495 add sp, strict byte 00004h ; 83 c4 04 11495 11496 mov CH, strict byte 001h ; b5 01 11496 jmp short 079d 7h ; eb d511497 jmp short 079dch ; eb d5 11497 11498 cmp AL, strict byte 004h ; 3c 04 11498 jnc short 07a2 2h ; 73 1c11499 jnc short 07a27h ; 73 1c 11499 11500 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11500 je short 07a1 1h ; 74 0511501 jmp short 07a2 2h ; eb 1411502 jmp near 07a9 0h ; e9 7f 0011501 je short 07a16h ; 74 05 11502 jmp short 07a27h ; eb 14 11503 jmp near 07a95h ; e9 7f 00 11503 11504 push 009e4h ; 68 e4 09 11504 11505 push strict byte 00002h ; 6a 02 11505 call 01966h ; e8 4 d9f11506 call 01966h ; e8 48 9f 11506 11507 add sp, strict byte 00004h ; 83 c4 04 11507 11508 mov byte [bp-00eh], 001h ; c6 46 f2 01 11508 jmp short 07a3 8h ; eb 1611509 jmp short 07a3dh ; eb 16 11509 11510 cmp bh, 004h ; 80 ff 04 11510 jc short 07a3 8h ; 72 1111511 jc short 07a3dh ; 72 11 11511 11512 test cl, cl ; 84 c9 11512 jne short 07a3 8h ; 75 0d11513 jne short 07a3dh ; 75 0d 11513 11514 push 009f6h ; 68 f6 09 11514 11515 push strict byte 00002h ; 6a 02 11515 call 01966h ; e8 339f11516 call 01966h ; e8 2e 9f 11516 11517 add sp, strict byte 00004h ; 83 c4 04 11517 11518 mov CL, strict byte 001h ; b1 01 … … 11522 11523 push 00a0ah ; 68 0a 0a 11523 11524 push strict byte 00002h ; 6a 02 11524 call 01966h ; e8 209f11525 call 01966h ; e8 1b 9f 11525 11526 add sp, strict byte 00006h ; 83 c4 06 11526 11527 cmp bh, 004h ; 80 ff 04 11527 jc short 07a5 1h ; 72 0311528 jc short 07a56h ; 72 03 11528 11529 sub bh, 004h ; 80 ef 04 11529 11530 mov al, bh ; 88 f8 … … 11534 11535 sar ax, 1 ; d1 f8 11535 11536 test ax, ax ; 85 c0 11536 je short 07a6 3h ; 74 0511537 je short 07a68h ; 74 05 11537 11538 push 00a14h ; 68 14 0a 11538 jmp short 07a6 6h ; eb 0311539 jmp short 07a6bh ; eb 03 11539 11540 push 00a1fh ; 68 1f 0a 11540 11541 push strict byte 00002h ; 6a 02 11541 call 01966h ; e8 f b9e11542 call 01966h ; e8 f6 9e 11542 11543 add sp, strict byte 00004h ; 83 c4 04 11543 11544 mov al, bh ; 88 f8 … … 11547 11548 idiv di ; f7 ff 11548 11549 test dx, dx ; 85 d2 11549 je short 07a8 1h ; 74 0511550 je short 07a86h ; 74 05 11550 11551 push 00a28h ; 68 28 0a 11551 jmp short 07a8 4h ; eb 0311552 jmp short 07a89h ; eb 03 11552 11553 push 00a2eh ; 68 2e 0a 11553 11554 push di ; 57 11554 call 01966h ; e8 d e9e11555 call 01966h ; e8 d9 9e 11555 11556 add sp, strict byte 00004h ; 83 c4 04 11556 11557 db 0feh, 0c3h 11557 11558 ; inc bl ; fe c3 11558 jmp near 079 ach ; e9 1c ff11559 jmp near 079b1h ; e9 1c ff 11559 11560 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11560 jne short 07aa 9h ; 75 1311561 jne short 07aaeh ; 75 13 11561 11562 test cl, cl ; 84 c9 11562 jne short 07aa 9h ; 75 0f11563 jne short 07aaeh ; 75 0f 11563 11564 test ch, ch ; 84 ed 11564 jne short 07aa 9h ; 75 0b11565 jne short 07aaeh ; 75 0b 11565 11566 push 00a35h ; 68 35 0a 11566 11567 push strict byte 00002h ; 6a 02 11567 call 01966h ; e8 c09e11568 call 01966h ; e8 bb 9e 11568 11569 add sp, strict byte 00004h ; 83 c4 04 11569 11570 push 00a49h ; 68 49 0a 11570 11571 push strict byte 00002h ; 6a 02 11571 call 01966h ; e8 b 59e11572 call 01966h ; e8 b0 9e 11572 11573 add sp, strict byte 00004h ; 83 c4 04 11573 11574 lea sp, [bp-00ah] ; 8d 66 f6 … … 11579 11580 pop bp ; 5d 11580 11581 retn ; c3 11581 get_boot_drive_: ; 0xf7a beLB 0x2811582 get_boot_drive_: ; 0xf7ac3 LB 0x28 11582 11583 push bp ; 55 11583 11584 mov bp, sp ; 89 e5 … … 11587 11588 mov dx, strict word 0000eh ; ba 0e 00 11588 11589 mov ax, strict word 00040h ; b8 40 00 11589 call 0166ch ; e8 9 e9b11590 call 0166ch ; e8 99 9b 11590 11591 mov dx, 00304h ; ba 04 03 11591 call 01650h ; e8 7 c9b11592 call 01650h ; e8 77 9b 11592 11593 sub bl, 002h ; 80 eb 02 11593 11594 cmp bl, al ; 38 c3 11594 jc short 07a ddh ; 72 0211595 jc short 07ae2h ; 72 02 11595 11596 mov BL, strict byte 0ffh ; b3 ff 11596 11597 mov al, bl ; 88 d8 … … 11600 11601 pop bp ; 5d 11601 11602 retn ; c3 11602 show_logo_: ; 0xf7ae 6LB 0x22611603 show_logo_: ; 0xf7aeb LB 0x226 11603 11604 push bp ; 55 11604 11605 mov bp, sp ; 89 e5 … … 11611 11612 mov dx, strict word 0000eh ; ba 0e 00 11612 11613 mov ax, strict word 00040h ; b8 40 00 11613 call 0166ch ; e8 729b11614 call 0166ch ; e8 6d 9b 11614 11615 mov si, ax ; 89 c6 11615 11616 xor cl, cl ; 30 c9 … … 11623 11624 mov al, dl ; 88 d0 11624 11625 xor ah, ah ; 30 e4 11625 call 0797 0h ; e8 5d fe11626 call 07975h ; e8 5d fe 11626 11627 cmp ax, 066bbh ; 3d bb 66 11627 jne short 07b2 ah ; 75 1211628 jne short 07b2fh ; 75 12 11628 11629 push SS ; 16 11629 11630 pop ES ; 07 … … 11633 11634 mov word [es:di], bx ; 26 89 1d 11634 11635 cmp ax, strict word 0004fh ; 3d 4f 00 11635 je short 07b 2dh ; 74 0311636 jmp near 07be ah ; e9 bd 0011636 je short 07b32h ; 74 03 11637 jmp near 07befh ; e9 bd 00 11637 11638 mov al, dl ; 88 d0 11638 11639 add AL, strict byte 004h ; 04 04 11639 11640 xor ah, ah ; 30 e4 11640 call 0795 ah ; e8 24 fe11641 call 0795fh ; e8 24 fe 11641 11642 mov ch, al ; 88 c5 11642 11643 mov byte [bp-012h], al ; 88 46 ee … … 11644 11645 add AL, strict byte 005h ; 04 05 11645 11646 xor ah, ah ; 30 e4 11646 call 0795 ah ; e8 16 fe11647 call 0795fh ; e8 16 fe 11647 11648 mov dh, al ; 88 c6 11648 11649 mov byte [bp-010h], al ; 88 46 f0 … … 11650 11651 add AL, strict byte 002h ; 04 02 11651 11652 xor ah, ah ; 30 e4 11652 call 0797 0h ; e8 1e fe11653 call 07975h ; e8 1e fe 11653 11654 mov bx, ax ; 89 c3 11654 11655 mov word [bp-014h], ax ; 89 46 ec … … 11656 11657 add AL, strict byte 006h ; 04 06 11657 11658 xor ah, ah ; 30 e4 11658 call 0795 ah ; e8 fa fd11659 call 0795fh ; e8 fa fd 11659 11660 mov byte [bp-00eh], al ; 88 46 f2 11660 11661 test ch, ch ; 84 ed 11661 jne short 07b 6fh ; 75 0811662 jne short 07b74h ; 75 08 11662 11663 test dh, dh ; 84 f6 11663 jne short 07b 6fh ; 75 0411664 jne short 07b74h ; 75 04 11664 11665 test bx, bx ; 85 db 11665 je short 07bc 7h ; 74 5811666 je short 07bcch ; 74 58 11666 11667 mov bx, 00142h ; bb 42 01 11667 11668 mov ax, 04f02h ; b8 02 4f 11668 11669 int 010h ; cd 10 11669 11670 cmp byte [bp-012h], 000h ; 80 7e ee 00 11670 je short 07ba 0h ; 74 2311671 je short 07ba5h ; 74 23 11671 11672 xor bx, bx ; 31 db 11672 jmp short 07b8 7h ; eb 0611673 jmp short 07b8ch ; eb 06 11673 11674 inc bx ; 43 11674 11675 cmp bx, strict byte 00010h ; 83 fb 10 11675 jnbe short 07ba 7h ; 77 2011676 jnbe short 07bach ; 77 20 11676 11677 mov ax, bx ; 89 d8 11677 11678 or ah, 002h ; 80 cc 02 … … 11680 11681 xor dx, dx ; 31 d2 11681 11682 mov ax, strict word 00001h ; b8 01 00 11682 call 078 abh ; e8 13 fd11683 call 078b0h ; e8 13 fd 11683 11684 cmp AL, strict byte 086h ; 3c 86 11684 jne short 07b8 1h ; 75 e511685 jne short 07b86h ; 75 e5 11685 11686 mov CL, strict byte 001h ; b1 01 11686 jmp short 07ba 7h ; eb 0711687 jmp short 07bach ; eb 07 11687 11688 mov ax, 00210h ; b8 10 02 11688 11689 mov dx, 003b8h ; ba b8 03 11689 11690 out DX, ax ; ef 11690 11691 test cl, cl ; 84 c9 11691 jne short 07b bdh ; 75 1211692 jne short 07bc2h ; 75 12 11692 11693 mov ax, word [bp-014h] ; 8b 46 ec 11693 11694 shr ax, 004h ; c1 e8 04 11694 11695 mov dx, strict word 00001h ; ba 01 00 11695 call 078 abh ; e8 f4 fc11696 call 078b0h ; e8 f4 fc 11696 11697 cmp AL, strict byte 086h ; 3c 86 11697 jne short 07b bdh ; 75 0211698 jne short 07bc2h ; 75 02 11698 11699 mov CL, strict byte 001h ; b1 01 11699 11700 cmp byte [bp-010h], 000h ; 80 7e f0 00 11700 je short 07be ah ; 74 2711701 je short 07befh ; 74 27 11701 11702 test cl, cl ; 84 c9 11702 je short 07bc 9h ; 74 0211703 jmp short 07be ah ; eb 2111703 je short 07bceh ; 74 02 11704 jmp short 07befh ; eb 21 11704 11705 mov bx, strict word 00010h ; bb 10 00 11705 jmp short 07bd 3h ; eb 0511706 jmp short 07bd8h ; eb 05 11706 11707 dec bx ; 4b 11707 11708 test bx, bx ; 85 db 11708 jbe short 07be ah ; 76 1711709 jbe short 07befh ; 76 17 11709 11710 mov ax, bx ; 89 d8 11710 11711 or ah, 002h ; 80 cc 02 … … 11713 11714 xor dx, dx ; 31 d2 11714 11715 mov ax, strict word 00001h ; b8 01 00 11715 call 078 abh ; e8 c7 fc11716 call 078b0h ; e8 c7 fc 11716 11717 cmp AL, strict byte 086h ; 3c 86 11717 jne short 07b ceh ; 75 e611718 jne short 07bd3h ; 75 e6 11718 11719 mov CL, strict byte 001h ; b1 01 11719 11720 xor bx, bx ; 31 db 11720 11721 mov dx, 0037dh ; ba 7d 03 11721 11722 mov ax, si ; 89 f0 11722 call 0165eh ; e8 6 a9a11723 call 0165eh ; e8 65 9a 11723 11724 mov AL, strict byte 003h ; b0 03 11724 11725 mov AH, strict byte 000h ; b4 00 11725 11726 int 010h ; cd 10 11726 11727 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11727 je short 07c1 4h ; 74 1411728 je short 07c19h ; 74 14 11728 11729 cmp byte [bp-012h], 000h ; 80 7e ee 00 11729 jne short 07c 3bh ; 75 3511730 jne short 07c40h ; 75 35 11730 11731 cmp byte [bp-010h], 000h ; 80 7e f0 00 11731 jne short 07c 3bh ; 75 2f11732 jne short 07c40h ; 75 2f 11732 11733 cmp word [bp-014h], strict byte 00000h ; 83 7e ec 00 11733 je short 07c1 7h ; 74 0511734 jmp short 07c 3bh ; eb 2711735 jmp near 07c efh ; e9 d8 0011734 je short 07c1ch ; 74 05 11735 jmp short 07c40h ; eb 27 11736 jmp near 07cf4h ; e9 d8 00 11736 11737 cmp byte [bp-00eh], 002h ; 80 7e f2 02 11737 jne short 07c2 8h ; 75 0b11738 jne short 07c2dh ; 75 0b 11738 11739 push 00a4bh ; 68 4b 0a 11739 11740 push strict byte 00002h ; 6a 02 11740 call 01966h ; e8 419d11741 call 01966h ; e8 3c 9d 11741 11742 add sp, strict byte 00004h ; 83 c4 04 11742 11743 test cl, cl ; 84 c9 11743 jne short 07c 3bh ; 75 0f11744 jne short 07c40h ; 75 0f 11744 11745 mov dx, strict word 00001h ; ba 01 00 11745 11746 mov ax, 000c0h ; b8 c0 00 11746 call 078 abh ; e8 76 fc11747 call 078b0h ; e8 76 fc 11747 11748 cmp AL, strict byte 086h ; 3c 86 11748 jne short 07c 3bh ; 75 0211749 jne short 07c40h ; 75 02 11749 11750 mov CL, strict byte 001h ; b1 01 11750 11751 test cl, cl ; 84 c9 11751 je short 07c1 4h ; 74 d511752 je short 07c19h ; 74 d5 11752 11753 mov byte [bp-00ch], 000h ; c6 46 f4 00 11753 11754 mov ax, 00100h ; b8 00 01 … … 11768 11769 push 00a6dh ; 68 6d 0a 11769 11770 push strict byte 00002h ; 6a 02 11770 call 01966h ; e8 f e9c11771 call 01966h ; e8 f9 9c 11771 11772 add sp, strict byte 00004h ; 83 c4 04 11772 call 0798 4h ; e8 16 fd11773 call 07989h ; e8 16 fd 11773 11774 push 00ab1h ; 68 b1 0a 11774 11775 push strict byte 00002h ; 6a 02 11775 call 01966h ; e8 f09c11776 call 01966h ; e8 eb 9c 11776 11777 add sp, strict byte 00004h ; 83 c4 04 11777 11778 mov dx, strict word 00001h ; ba 01 00 11778 11779 mov ax, strict word 00040h ; b8 40 00 11779 call 078 abh ; e8 29 fc11780 call 078b0h ; e8 29 fc 11780 11781 mov bl, al ; 88 c3 11781 11782 test al, al ; 84 c0 11782 je short 07c7 9h ; 74 f111783 je short 07c7eh ; 74 f1 11783 11784 cmp AL, strict byte 030h ; 3c 30 11784 je short 07c dch ; 74 5011785 je short 07ce1h ; 74 50 11785 11786 cmp bl, 002h ; 80 fb 02 11786 jc short 07cb 5h ; 72 2411787 jc short 07cbah ; 72 24 11787 11788 cmp bl, 009h ; 80 fb 09 11788 jnbe short 07cb 5h ; 77 1f11789 jnbe short 07cbah ; 77 1f 11789 11790 mov al, bl ; 88 d8 11790 11791 xor ah, ah ; 30 e4 11791 call 07a beh ; e8 21 fe11792 call 07ac3h ; e8 21 fe 11792 11793 cmp AL, strict byte 0ffh ; 3c ff 11793 jne short 07ca 3h ; 75 0211794 jmp short 07c7 9h ; eb d611794 jne short 07ca8h ; 75 02 11795 jmp short 07c7eh ; eb d6 11795 11796 mov bl, al ; 88 c3 11796 11797 xor bh, bh ; 30 ff 11797 11798 mov dx, 0037ch ; ba 7c 03 11798 11799 mov ax, si ; 89 f0 11799 call 0165eh ; e8 a f9911800 call 0165eh ; e8 aa 99 11800 11801 mov byte [bp-00ch], 002h ; c6 46 f4 02 11801 jmp short 07c dch ; eb 2711802 jmp short 07ce1h ; eb 27 11802 11803 cmp bl, 02eh ; 80 fb 2e 11803 je short 07cc ah ; 74 1011804 je short 07ccfh ; 74 10 11804 11805 cmp bl, 026h ; 80 fb 26 11805 je short 07cd 0h ; 74 1111806 je short 07cd5h ; 74 11 11806 11807 cmp bl, 021h ; 80 fb 21 11807 jne short 07cd 6h ; 75 1211808 jne short 07cdbh ; 75 12 11808 11809 mov byte [bp-00ch], 001h ; c6 46 f4 01 11809 jmp short 07c dch ; eb 1211810 jmp short 07ce1h ; eb 12 11810 11811 mov byte [bp-00ch], 003h ; c6 46 f4 03 11811 jmp short 07c dch ; eb 0c11812 jmp short 07ce1h ; eb 0c 11812 11813 mov byte [bp-00ch], 004h ; c6 46 f4 04 11813 jmp short 07c dch ; eb 0611814 jmp short 07ce1h ; eb 06 11814 11815 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11815 je short 07c7 9h ; 74 9d11816 je short 07c7eh ; 74 9d 11816 11817 mov bl, byte [bp-00ch] ; 8a 5e f4 11817 11818 xor bh, bh ; 30 ff 11818 11819 mov dx, 0037dh ; ba 7d 03 11819 11820 mov ax, si ; 89 f0 11820 call 0165eh ; e8 7 59911821 call 0165eh ; e8 70 99 11821 11822 mov AL, strict byte 003h ; b0 03 11822 11823 mov AH, strict byte 000h ; b4 00 … … 11831 11832 push DS ; 1e 11832 11833 mov ds, ax ; 8e d8 11833 call 0edbfh ; e8 b f7011834 call 0edbfh ; e8 ba 70 11834 11835 pop DS ; 1f 11835 11836 pop bp ; 5d … … 11842 11843 pop bp ; 5d 11843 11844 retn ; c3 11844 delay_boot_: ; 0xf7d 0cLB 0x6b11845 delay_boot_: ; 0xf7d11 LB 0x6b 11845 11846 push bp ; 55 11846 11847 mov bp, sp ; 89 e5 … … 11852 11853 mov dx, ax ; 89 c2 11853 11854 test ax, ax ; 85 c0 11854 je short 07d 6dh ; 74 5311855 je short 07d72h ; 74 53 11855 11856 mov AL, strict byte 034h ; b0 34 11856 11857 out strict byte 043h, AL ; e6 43 … … 11862 11863 push 00afbh ; 68 fb 0a 11863 11864 push strict byte 00002h ; 6a 02 11864 call 01966h ; e8 3 79c11865 call 01966h ; e8 32 9c 11865 11866 add sp, strict byte 00006h ; 83 c4 06 11866 11867 mov bx, dx ; 89 d3 11867 11868 test bx, bx ; 85 db 11868 jbe short 07d 4fh ; 76 1711869 jbe short 07d54h ; 76 17 11869 11870 push bx ; 53 11870 11871 push 00b19h ; 68 19 0b 11871 11872 push strict byte 00002h ; 6a 02 11872 call 01966h ; e8 2 59c11873 call 01966h ; e8 20 9c 11873 11874 add sp, strict byte 00006h ; 83 c4 06 11874 11875 xor dx, dx ; 31 d2 11875 11876 mov ax, strict word 00040h ; b8 40 00 11876 call 078 abh ; e8 5f fb11877 call 078b0h ; e8 5f fb 11877 11878 dec bx ; 4b 11878 jmp short 07d3 4h ; eb e511879 jmp short 07d39h ; eb e5 11879 11880 push 00a49h ; 68 49 0a 11880 11881 push strict byte 00002h ; 6a 02 11881 call 01966h ; e8 0 f9c11882 call 01966h ; e8 0a 9c 11882 11883 add sp, strict byte 00004h ; 83 c4 04 11883 11884 mov AL, strict byte 034h ; b0 34 … … 11890 11891 push DS ; 1e 11891 11892 mov ds, ax ; 8e d8 11892 call 0edbfh ; e8 547011893 call 0edbfh ; e8 4f 70 11893 11894 pop DS ; 1f 11894 11895 pop bp ; 5d … … 11901 11902 pop bp ; 5d 11902 11903 retn ; c3 11903 scsi_cmd_data_in_: ; 0xf7d7 7LB 0xd511904 scsi_cmd_data_in_: ; 0xf7d7c LB 0xd5 11904 11905 push bp ; 55 11905 11906 mov bp, sp ; 89 e5 … … 11917 11918 ; sub ah, ah ; 2a e4 11918 11919 test AL, strict byte 001h ; a8 01 11919 jne short 07d 8dh ; 75 f711920 jne short 07d92h ; 75 f7 11920 11921 mov al, byte [bp+004h] ; 8a 46 04 11921 11922 cmp AL, strict byte 010h ; 3c 10 11922 jne short 07da 1h ; 75 0411923 jne short 07da6h ; 75 04 11923 11924 xor ax, ax ; 31 c0 11924 jmp short 07da 3h ; eb 0211925 jmp short 07da8h ; eb 02 11925 11926 xor ah, ah ; 30 e4 11926 11927 mov di, ax ; 89 c7 … … 11930 11931 shr dx, 1 ; d1 ea 11931 11932 rcr ax, 1 ; d1 d8 11932 loop 07d adh ; e2 fa11933 loop 07db2h ; e2 fa 11933 11934 mov cx, ax ; 89 c1 11934 11935 and cx, 000f0h ; 81 e1 f0 00 … … 11948 11949 shr dx, 1 ; d1 ea 11949 11950 rcr ax, 1 ; d1 d8 11950 loop 07dd 2h ; e2 fa11951 loop 07dd7h ; e2 fa 11951 11952 mov dx, si ; 89 f2 11952 11953 out DX, AL ; ee … … 11955 11956 xor ah, ah ; 30 e4 11956 11957 cmp cx, ax ; 39 c1 11957 jnc short 07df 4h ; 73 0e11958 jnc short 07df9h ; 73 0e 11958 11959 les di, [bp-00ah] ; c4 7e f6 11959 11960 add di, cx ; 01 cf … … 11962 11963 out DX, AL ; ee 11963 11964 inc cx ; 41 11964 jmp short 07d ddh ; eb e911965 jmp short 07de2h ; eb e9 11965 11966 mov dx, si ; 89 f2 11966 11967 in AL, DX ; ec … … 11968 11969 ; sub ah, ah ; 2a e4 11969 11970 test AL, strict byte 001h ; a8 01 11970 jne short 07df 4h ; 75 f711971 jne short 07df9h ; 75 f7 11971 11972 test AL, strict byte 002h ; a8 02 11972 je short 07e 0fh ; 74 0e11973 je short 07e14h ; 74 0e 11973 11974 lea dx, [si+003h] ; 8d 54 03 11974 11975 xor al, al ; 30 c0 … … 11978 11979 ; sub ah, ah ; 2a e4 11979 11980 mov di, strict word 00004h ; bf 04 00 11980 jmp short 07e4 1h ; eb 3211981 jmp short 07e46h ; eb 32 11981 11982 lea dx, [si+001h] ; 8d 54 01 11982 11983 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 11983 jne short 07e 1eh ; 75 0611984 jne short 07e23h ; 75 06 11984 11985 cmp bx, 08000h ; 81 fb 00 80 11985 jbe short 07e3 8h ; 76 1a11986 jbe short 07e3dh ; 76 1a 11986 11987 mov cx, 08000h ; b9 00 80 11987 11988 les di, [bp+006h] ; c4 7e 06 … … 11992 11993 add ax, 00800h ; 05 00 08 11993 11994 mov word [bp+008h], ax ; 89 46 08 11994 jmp short 07e 0fh ; eb d711995 jmp short 07e14h ; eb d7 11995 11996 mov cx, bx ; 89 d9 11996 11997 les di, [bp+006h] ; c4 7e 06 … … 12003 12004 pop bp ; 5d 12004 12005 retn 0000ah ; c2 0a 00 12005 scsi_cmd_data_out_: ; 0xf7e 4cLB 0xd512006 scsi_cmd_data_out_: ; 0xf7e51 LB 0xd5 12006 12007 push bp ; 55 12007 12008 mov bp, sp ; 89 e5 … … 12019 12020 ; sub ah, ah ; 2a e4 12020 12021 test AL, strict byte 001h ; a8 01 12021 jne short 07e6 2h ; 75 f712022 jne short 07e67h ; 75 f7 12022 12023 mov al, byte [bp+004h] ; 8a 46 04 12023 12024 cmp AL, strict byte 010h ; 3c 10 12024 jne short 07e7 6h ; 75 0412025 jne short 07e7bh ; 75 04 12025 12026 xor ax, ax ; 31 c0 12026 jmp short 07e7 8h ; eb 0212027 jmp short 07e7dh ; eb 02 12027 12028 xor ah, ah ; 30 e4 12028 12029 mov si, ax ; 89 c6 … … 12032 12033 shr dx, 1 ; d1 ea 12033 12034 rcr ax, 1 ; d1 d8 12034 loop 07e8 2h ; e2 fa12035 loop 07e87h ; e2 fa 12035 12036 mov cx, ax ; 89 c1 12036 12037 and cx, 000f0h ; 81 e1 f0 00 … … 12050 12051 shr dx, 1 ; d1 ea 12051 12052 rcr ax, 1 ; d1 d8 12052 loop 07ea 7h ; e2 fa12053 loop 07each ; e2 fa 12053 12054 mov dx, di ; 89 fa 12054 12055 out DX, AL ; ee … … 12057 12058 xor ah, ah ; 30 e4 12058 12059 cmp cx, ax ; 39 c1 12059 jnc short 07ec 9h ; 73 0e12060 jnc short 07eceh ; 73 0e 12060 12061 les si, [bp-00ah] ; c4 76 f6 12061 12062 add si, cx ; 01 ce … … 12064 12065 out DX, AL ; ee 12065 12066 inc cx ; 41 12066 jmp short 07eb 2h ; eb e912067 jmp short 07eb7h ; eb e9 12067 12068 lea dx, [di+001h] ; 8d 55 01 12068 12069 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 12069 jne short 07ed 8h ; 75 0612070 jne short 07eddh ; 75 06 12070 12071 cmp bx, 08000h ; 81 fb 00 80 12071 jbe short 07ef 3h ; 76 1b12072 jbe short 07ef8h ; 76 1b 12072 12073 mov cx, 08000h ; b9 00 80 12073 12074 les si, [bp+006h] ; c4 76 06 … … 12079 12080 add ax, 00800h ; 05 00 08 12080 12081 mov word [bp+008h], ax ; 89 46 08 12081 jmp short 07ec 9h ; eb d612082 jmp short 07eceh ; eb d6 12082 12083 mov cx, bx ; 89 d9 12083 12084 les si, [bp+006h] ; c4 76 06 … … 12089 12090 ; sub ah, ah ; 2a e4 12090 12091 test AL, strict byte 001h ; a8 01 12091 jne short 07 efbh ; 75 f712092 jne short 07f00h ; 75 f7 12092 12093 test AL, strict byte 002h ; a8 02 12093 je short 07f1 6h ; 74 0e12094 je short 07f1bh ; 74 0e 12094 12095 lea dx, [di+003h] ; 8d 55 03 12095 12096 xor al, al ; 30 c0 … … 12099 12100 ; sub ah, ah ; 2a e4 12100 12101 mov ax, strict word 00004h ; b8 04 00 12101 jmp short 07f1 8h ; eb 0212102 jmp short 07f1dh ; eb 02 12102 12103 xor ax, ax ; 31 c0 12103 12104 lea sp, [bp-004h] ; 8d 66 fc … … 12106 12107 pop bp ; 5d 12107 12108 retn 0000ah ; c2 0a 00 12108 @scsi_read_sectors: ; 0xf7f2 1LB 0xe012109 @scsi_read_sectors: ; 0xf7f26 LB 0xe0 12109 12110 push bp ; 55 12110 12111 mov bp, sp ; 89 e5 … … 12118 12119 mov byte [bp-006h], al ; 88 46 fa 12119 12120 cmp AL, strict byte 004h ; 3c 04 12120 jbe short 07f 4dh ; 76 1112121 jbe short 07f52h ; 76 11 12121 12122 xor ah, ah ; 30 e4 12122 12123 push ax ; 50 … … 12124 12125 push 00b30h ; 68 30 0b 12125 12126 push strict byte 00007h ; 6a 07 12126 call 01966h ; e8 1 c9a12127 call 01966h ; e8 17 9a 12127 12128 add sp, strict byte 00008h ; 83 c4 08 12128 12129 mov es, [bp+006h] ; 8e 46 06 … … 12164 12165 sal word [bp-00ah], 1 ; d1 66 f6 12165 12166 rcl word [bp-008h], 1 ; d1 56 f8 12166 loop 07fb 7h ; e2 f812167 loop 07fbch ; e2 f8 12167 12168 push word [bp-008h] ; ff 76 f8 12168 12169 push word [bp-00ah] ; ff 76 f6 … … 12173 12174 mov cx, ss ; 8c d1 12174 12175 lea bx, [bp-01ah] ; 8d 5e e6 12175 call 07d7 7h ; e8 9e fd12176 call 07d7ch ; e8 9e fd 12176 12177 mov ah, al ; 88 c4 12177 12178 test al, al ; 84 c0 12178 jne short 07ff 4h ; 75 1512179 jne short 07ff9h ; 75 15 12179 12180 mov es, [bp+006h] ; 8e 46 06 12180 12181 mov word [es:si+018h], di ; 26 89 7c 18 … … 12190 12191 pop bp ; 5d 12191 12192 retn 00004h ; c2 04 00 12192 @scsi_write_sectors: ; 0xf800 1LB 0xe012193 @scsi_write_sectors: ; 0xf8006 LB 0xe0 12193 12194 push bp ; 55 12194 12195 mov bp, sp ; 89 e5 … … 12202 12203 mov byte [bp-006h], al ; 88 46 fa 12203 12204 cmp AL, strict byte 004h ; 3c 04 12204 jbe short 080 2dh ; 76 1112205 jbe short 08032h ; 76 11 12205 12206 xor ah, ah ; 30 e4 12206 12207 push ax ; 50 … … 12208 12209 push 00b30h ; 68 30 0b 12209 12210 push strict byte 00007h ; 6a 07 12210 call 01966h ; e8 3 c9912211 call 01966h ; e8 37 99 12211 12212 add sp, strict byte 00008h ; 83 c4 08 12212 12213 mov es, [bp+006h] ; 8e 46 06 … … 12248 12249 sal word [bp-00ah], 1 ; d1 66 f6 12249 12250 rcl word [bp-008h], 1 ; d1 56 f8 12250 loop 0809 7h ; e2 f812251 loop 0809ch ; e2 f8 12251 12252 push word [bp-008h] ; ff 76 f8 12252 12253 push word [bp-00ah] ; ff 76 f6 … … 12257 12258 mov cx, ss ; 8c d1 12258 12259 lea bx, [bp-01ah] ; 8d 5e e6 12259 call 07e 4ch ; e8 93 fd12260 call 07e51h ; e8 93 fd 12260 12261 mov ah, al ; 88 c4 12261 12262 test al, al ; 84 c0 12262 jne short 080d 4h ; 75 1512263 jne short 080d9h ; 75 15 12263 12264 mov es, [bp+006h] ; 8e 46 06 12264 12265 mov word [es:si+018h], di ; 26 89 7c 18 … … 12274 12275 pop bp ; 5d 12275 12276 retn 00004h ; c2 04 00 12276 scsi_cmd_packet_: ; 0xf80e 1LB 0x16812277 scsi_cmd_packet_: ; 0xf80e6 LB 0x168 12277 12278 push bp ; 55 12278 12279 mov bp, sp ; 89 e5 … … 12286 12287 mov dx, strict word 0000eh ; ba 0e 00 12287 12288 mov ax, strict word 00040h ; b8 40 00 12288 call 0166ch ; e8 6 f9512289 call 0166ch ; e8 6a 95 12289 12290 mov si, 00122h ; be 22 01 12290 12291 mov word [bp-00ah], ax ; 89 46 f6 12291 12292 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12292 jne short 0812 8h ; 75 1f12293 mov bx, 00da 6h ; bb a60d12293 jne short 0812dh ; 75 1f 12294 mov bx, 00da4h ; bb a4 0d 12294 12295 mov cx, ds ; 8c d9 12295 12296 mov ax, strict word 00004h ; b8 04 00 12296 call 01923h ; e8 0 f9812297 call 01923h ; e8 0a 98 12297 12298 push 00b62h ; 68 62 0b 12298 12299 push 00b72h ; 68 72 0b 12299 12300 push strict byte 00004h ; 6a 04 12300 call 01966h ; e8 4 79812301 call 01966h ; e8 42 98 12301 12302 add sp, strict byte 00006h ; 83 c4 06 12302 12303 mov dx, strict word 00001h ; ba 01 00 12303 jmp near 082 3eh ; e9 16 0112304 jmp near 08243h ; e9 16 01 12304 12305 sub di, strict byte 00008h ; 83 ef 08 12305 12306 sal di, 002h ; c1 e7 02 … … 12315 12316 ; sub ah, ah ; 2a e4 12316 12317 test AL, strict byte 001h ; a8 01 12317 jne short 0814 4h ; 75 f712318 jne short 08149h ; 75 f7 12318 12319 xor ax, ax ; 31 c0 12319 12320 mov dx, word [bp+006h] ; 8b 56 06 … … 12331 12332 shr dx, 1 ; d1 ea 12332 12333 rcr ax, 1 ; d1 d8 12333 loop 081 6fh ; e2 fa12334 loop 08174h ; e2 fa 12334 12335 and ax, 000f0h ; 25 f0 00 12335 12336 mov cl, byte [bp-006h] ; 8a 4e fa … … 12350 12351 shr dx, 1 ; d1 ea 12351 12352 rcr ax, 1 ; d1 d8 12352 loop 0819 7h ; e2 fa12353 loop 0819ch ; e2 fa 12353 12354 mov dx, bx ; 89 da 12354 12355 out DX, AL ; ee … … 12357 12358 xor ah, ah ; 30 e4 12358 12359 cmp cx, ax ; 39 c1 12359 jnc short 081b 9h ; 73 0e12360 jnc short 081beh ; 73 0e 12360 12361 les di, [bp-00eh] ; c4 7e f2 12361 12362 add di, cx ; 01 cf … … 12364 12365 out DX, AL ; ee 12365 12366 inc cx ; 41 12366 jmp short 081a 2h ; eb e912367 jmp short 081a7h ; eb e9 12367 12368 mov dx, bx ; 89 da 12368 12369 in AL, DX ; ec … … 12370 12371 ; sub ah, ah ; 2a e4 12371 12372 test AL, strict byte 001h ; a8 01 12372 jne short 081b 9h ; 75 f712373 jne short 081beh ; 75 f7 12373 12374 test AL, strict byte 002h ; a8 02 12374 je short 081d 4h ; 74 0e12375 je short 081d9h ; 74 0e 12375 12376 lea dx, [bx+003h] ; 8d 57 03 12376 12377 xor al, al ; 30 c0 … … 12380 12381 ; sub ah, ah ; 2a e4 12381 12382 mov dx, strict word 00003h ; ba 03 00 12382 jmp short 082 3eh ; eb 6a12383 jmp short 08243h ; eb 6a 12383 12384 mov ax, word [bp+004h] ; 8b 46 04 12384 12385 test ax, ax ; 85 c0 12385 je short 081e 3h ; 74 0812386 je short 081e8h ; 74 08 12386 12387 lea dx, [bx+001h] ; 8d 57 01 12387 12388 mov cx, ax ; 89 c1 12388 12389 in AL, DX ; ec 12389 loop 081e 0h ; e2 fd12390 loop 081e5h ; e2 fd 12390 12391 mov ax, word [bp+006h] ; 8b 46 06 12391 12392 mov es, [bp-00ah] ; 8e 46 f6 … … 12395 12396 lea ax, [bx+001h] ; 8d 47 01 12396 12397 cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00 12397 jne short 0820 4h ; 75 0712398 jne short 08209h ; 75 07 12398 12399 cmp word [bp+006h], 08000h ; 81 7e 06 00 80 12399 jbe short 0822 1h ; 76 1d12400 jbe short 08226h ; 76 1d 12400 12401 mov dx, ax ; 89 c2 12401 12402 mov cx, 08000h ; b9 00 80 … … 12407 12408 add ax, 00800h ; 05 00 08 12408 12409 mov word [bp+00eh], ax ; 89 46 0e 12409 jmp short 081f 4h ; eb d312410 jmp short 081f9h ; eb d3 12410 12411 mov dx, ax ; 89 c2 12411 12412 mov cx, word [bp+006h] ; 8b 4e 06 … … 12414 12415 mov es, [bp-00ah] ; 8e 46 f6 12415 12416 cmp word [es:si+020h], strict byte 00000h ; 26 83 7c 20 00 12416 je short 082 3ch ; 74 0712417 je short 08241h ; 74 07 12417 12418 mov cx, word [es:si+020h] ; 26 8b 4c 20 12418 12419 in AL, DX ; ec 12419 loop 0823 9h ; e2 fd12420 loop 0823eh ; e2 fd 12420 12421 xor dx, dx ; 31 d2 12421 12422 mov ax, dx ; 89 d0 … … 12425 12426 pop bp ; 5d 12426 12427 retn 0000ch ; c2 0c 00 12427 scsi_enumerate_attached_devices_: ; 0xf824 9LB 0x4a612428 scsi_enumerate_attached_devices_: ; 0xf824e LB 0x4a6 12428 12429 push bp ; 55 12429 12430 mov bp, sp ; 89 e5 … … 12437 12438 mov dx, strict word 0000eh ; ba 0e 00 12438 12439 mov ax, strict word 00040h ; b8 40 00 12439 call 0166ch ; e8 0 d9412440 call 0166ch ; e8 08 94 12440 12441 mov di, 00122h ; bf 22 01 12441 12442 mov word [bp-020h], ax ; 89 46 e0 12442 12443 mov word [bp-022h], strict word 00000h ; c7 46 de 00 00 12443 jmp near 086 6dh ; e9 00 0412444 jmp near 08672h ; e9 00 04 12444 12445 cmp AL, strict byte 004h ; 3c 04 12445 jc short 0827 4h ; 72 0312446 jmp near 086e 5h ; e9 71 0412446 jc short 08279h ; 72 03 12447 jmp near 086eah ; e9 71 04 12447 12448 mov cx, strict word 00010h ; b9 10 00 12448 12449 xor bx, bx ; 31 db 12449 12450 mov dx, ss ; 8c d2 12450 12451 lea ax, [bp-046h] ; 8d 46 ba 12451 call 09fa0h ; e8 1 f1d12452 call 09fa0h ; e8 1a 1d 12452 12453 mov byte [bp-046h], 09eh ; c6 46 ba 9e 12453 12454 mov byte [bp-045h], 010h ; c6 46 bb 10 … … 12464 12465 lea bx, [bp-046h] ; 8d 5e ba 12465 12466 mov ax, word [bp-00248h] ; 8b 86 b8 fd 12466 call 07d7 7h ; e8 cd fa12467 call 07d7ch ; e8 cd fa 12467 12468 test al, al ; 84 c0 12468 je short 082 bch ; 74 0e12469 je short 082c1h ; 74 0e 12469 12470 push 00b92h ; 68 92 0b 12470 12471 push 00bcbh ; 68 cb 0b 12471 12472 push strict byte 00007h ; 6a 07 12472 call 01966h ; e8 a d9612473 call 01966h ; e8 a8 96 12473 12474 add sp, strict byte 00006h ; 83 c4 06 12474 12475 mov ax, word [bp-00240h] ; 8b 86 c0 fd … … 12502 12503 sal ax, 1 ; d1 e0 12503 12504 rcl dx, 1 ; d1 d2 12504 loop 083 0bh ; e2 fa12505 loop 08310h ; e2 fa 12505 12506 or bx, ax ; 09 c3 12506 12507 or dx, si ; 09 f2 … … 12510 12511 mov word [bp-028h], bx ; 89 5e d8 12511 12512 test dx, dx ; 85 d2 12512 jne short 0832 ah ; 75 0612513 jne short 0832fh ; 75 06 12513 12514 cmp bx, 00200h ; 81 fb 00 02 12514 je short 0834 ah ; 74 2012515 mov bx, 00da 6h ; bb a60d12515 je short 0834fh ; 74 20 12516 mov bx, 00da4h ; bb a4 0d 12516 12517 mov cx, ds ; 8c d9 12517 12518 mov ax, strict word 00004h ; b8 04 00 12518 call 01923h ; e8 e e9512519 call 01923h ; e8 e9 95 12519 12520 push dx ; 52 12520 12521 push word [bp-028h] ; ff 76 d8 … … 12522 12523 push 00beah ; 68 ea 0b 12523 12524 push strict byte 00004h ; 6a 04 12524 call 01966h ; e8 229612525 call 01966h ; e8 1d 96 12525 12526 add sp, strict byte 0000ah ; 83 c4 0a 12526 jmp near 0866 1h ; e9 17 0312527 jmp near 08666h ; e9 17 03 12527 12528 mov al, byte [bp-00ch] ; 8a 46 f4 12528 12529 cmp AL, strict byte 001h ; 3c 01 12529 jc short 083 5dh ; 72 0c12530 jbe short 0836 5h ; 76 1212530 jc short 08362h ; 72 0c 12531 jbe short 0836ah ; 76 12 12531 12532 cmp AL, strict byte 003h ; 3c 03 12532 je short 083 6dh ; 74 1612533 je short 08372h ; 74 16 12533 12534 cmp AL, strict byte 002h ; 3c 02 12534 je short 0836 9h ; 74 0e12535 jmp short 083b 6h ; eb 5912535 je short 0836eh ; 74 0e 12536 jmp short 083bbh ; eb 59 12536 12537 test al, al ; 84 c0 12537 jne short 083b 6h ; 75 5512538 jne short 083bbh ; 75 55 12538 12539 mov BL, strict byte 090h ; b3 90 12539 jmp short 083 6fh ; eb 0a12540 jmp short 08374h ; eb 0a 12540 12541 mov BL, strict byte 098h ; b3 98 12541 jmp short 083 6fh ; eb 0612542 jmp short 08374h ; eb 06 12542 12543 mov BL, strict byte 0a0h ; b3 a0 12543 jmp short 083 6fh ; eb 0212544 jmp short 08374h ; eb 02 12544 12545 mov BL, strict byte 0a8h ; b3 a8 12545 12546 mov cl, bl ; 88 d9 … … 12547 12548 xor ch, ch ; 30 ed 12548 12549 mov ax, cx ; 89 c8 12549 call 016ach ; e8 319312550 call 016ach ; e8 2c 93 12550 12551 test al, al ; 84 c0 12551 je short 083b 6h ; 74 3712552 je short 083bbh ; 74 37 12552 12553 mov al, bl ; 88 d8 12553 12554 db 0feh, 0c0h 12554 12555 ; inc al ; fe c0 12555 12556 xor ah, ah ; 30 e4 12556 call 016ach ; e8 249312557 call 016ach ; e8 1f 93 12557 12558 xor ah, ah ; 30 e4 12558 12559 mov dx, ax ; 89 c2 12559 12560 sal dx, 008h ; c1 e2 08 12560 12561 mov al, bl ; 88 d8 12561 call 016ach ; e8 1 89312562 call 016ach ; e8 13 93 12562 12563 xor ah, ah ; 30 e4 12563 12564 add ax, dx ; 01 d0 … … 12567 12568 add AL, strict byte 002h ; 04 02 12568 12569 xor ah, ah ; 30 e4 12569 call 016ach ; e8 0 89312570 call 016ach ; e8 03 93 12570 12571 xor ah, ah ; 30 e4 12571 12572 mov word [bp-018h], ax ; 89 46 e8 12572 12573 mov ax, cx ; 89 c8 12573 call 016ach ; e8 f e9212574 call 016ach ; e8 f9 92 12574 12575 xor ah, ah ; 30 e4 12575 12576 mov word [bp-026h], ax ; 89 46 da 12576 jmp near 084a 4h ; e9 ee 0012577 jmp near 084a9h ; e9 ee 00 12577 12578 mov ax, word [bp-012h] ; 8b 46 ee 12578 12579 mov bx, word [bp-010h] ; 8b 5e f0 … … 12580 12581 mov dx, word [bp-014h] ; 8b 56 ec 12581 12582 mov si, strict word 0000ch ; be 0c 00 12582 call 09f80h ; e8 b 81b12583 call 09f80h ; e8 b3 1b 12583 12584 mov word [bp-02ah], ax ; 89 46 d6 12584 12585 mov word [bp-016h], bx ; 89 5e ea … … 12587 12588 mov ax, word [bp-012h] ; 8b 46 ee 12588 12589 test ax, ax ; 85 c0 12589 jnbe short 083f 0h ; 77 1512590 je short 083e 0h ; 74 0312591 jmp near 0846 5h ; e9 85 0012590 jnbe short 083f5h ; 77 15 12591 je short 083e5h ; 74 03 12592 jmp near 0846ah ; e9 85 00 12592 12593 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 12593 jnbe short 083f 0h ; 77 0a12594 jne short 083 ddh ; 75 f512594 jnbe short 083f5h ; 77 0a 12595 jne short 083e2h ; 75 f5 12595 12596 cmp word [bp-01ch], strict byte 00040h ; 83 7e e4 40 12596 jnbe short 083f 0h ; 77 0212597 jne short 0846 5h ; 75 7512597 jnbe short 083f5h ; 77 02 12598 jne short 0846ah ; 75 75 12598 12599 mov word [bp-018h], 000ffh ; c7 46 e8 ff 00 12599 12600 mov word [bp-026h], strict word 0003fh ; c7 46 da 3f 00 … … 12602 12603 mov dx, word [bp-014h] ; 8b 56 ec 12603 12604 mov si, strict word 00006h ; be 06 00 12604 call 09f80h ; e8 7 71b12605 call 09f80h ; e8 72 1b 12605 12606 mov si, word [bp-01eh] ; 8b 76 e2 12606 12607 add si, dx ; 01 d6 … … 12620 12621 mov dx, si ; 89 f2 12621 12622 mov si, strict word 00008h ; be 08 00 12622 call 09f80h ; e8 4 71b12623 call 09f80h ; e8 42 1b 12623 12624 mov word [bp-02eh], bx ; 89 5e d2 12624 12625 mov word [bp-030h], cx ; 89 4e d0 … … 12629 12630 mov dx, word [bp-036h] ; 8b 56 ca 12630 12631 mov si, strict word 00010h ; be 10 00 12631 call 09f80h ; e8 2 c1b12632 call 09f80h ; e8 27 1b 12632 12633 mov si, word [bp-032h] ; 8b 76 ce 12633 12634 add si, dx ; 01 d6 … … 12636 12637 mov ax, word [bp-02eh] ; 8b 46 d2 12637 12638 adc ax, bx ; 11 d8 12638 jmp short 084a 4h ; eb 3f12639 jmp short 084a9h ; eb 3f 12639 12640 test ax, ax ; 85 c0 12640 jnbe short 084 7bh ; 77 1212641 jne short 0848 7h ; 75 1c12641 jnbe short 08480h ; 77 12 12642 jne short 0848ch ; 75 1c 12642 12643 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 12643 jnbe short 084 7bh ; 77 0a12644 jne short 0848 7h ; 75 1412644 jnbe short 08480h ; 77 0a 12645 jne short 0848ch ; 75 14 12645 12646 cmp word [bp-01ch], strict byte 00020h ; 83 7e e4 20 12646 jnbe short 084 7bh ; 77 0212647 jne short 0848 7h ; 75 0c12647 jnbe short 08480h ; 77 02 12648 jne short 0848ch ; 75 0c 12648 12649 mov word [bp-018h], 00080h ; c7 46 e8 80 00 12649 12650 mov word [bp-026h], strict word 00020h ; c7 46 da 20 00 12650 jmp short 084a 0h ; eb 1912651 jmp short 084a5h ; eb 19 12651 12652 mov word [bp-018h], strict word 00040h ; c7 46 e8 40 00 12652 12653 mov word [bp-026h], strict word 00020h ; c7 46 da 20 00 … … 12655 12656 mov dx, word [bp-014h] ; 8b 56 ec 12656 12657 mov si, strict word 0000bh ; be 0b 00 12657 call 09f80h ; e8 e01a12658 call 09f80h ; e8 db 1a 12658 12659 mov si, dx ; 89 d6 12659 12660 mov dx, cx ; 89 ca … … 12690 12691 mov word [es:bx+034h], ax ; 26 89 47 34 12691 12692 test dx, dx ; 85 d2 12692 jne short 0851 6h ; 75 0612693 jne short 0851bh ; 75 06 12693 12694 cmp si, 00400h ; 81 fe 00 04 12694 jbe short 0852 4h ; 76 0e12695 jbe short 08529h ; 76 0e 12695 12696 mov word [es:bx+02ch], 00400h ; 26 c7 47 2c 00 04 12696 12697 mov word [es:bx+032h], 00400h ; 26 c7 47 32 00 04 12697 jmp short 085 2ch ; eb 0812698 jmp short 08531h ; eb 08 12698 12699 mov word [es:bx+02ch], si ; 26 89 77 2c 12699 12700 mov word [es:bx+032h], si ; 26 89 77 32 12700 mov bx, 00da 6h ; bb a60d12701 mov bx, 00da4h ; bb a4 0d 12701 12702 mov cx, ds ; 8c d9 12702 12703 mov ax, strict word 00004h ; b8 04 00 12703 call 01923h ; e8 e c9312704 call 01923h ; e8 e7 93 12704 12705 push word [bp-012h] ; ff 76 ee 12705 12706 push word [bp-010h] ; ff 76 f0 … … 12716 12717 push 00c18h ; 68 18 0c 12717 12718 push strict byte 00004h ; 6a 04 12718 call 01966h ; e8 0 a9412719 call 01966h ; e8 05 94 12719 12720 add sp, strict byte 00018h ; 83 c4 18 12720 12721 mov al, byte [bp-00eh] ; 8a 46 f2 … … 12744 12745 mov dx, strict word 00075h ; ba 75 00 12745 12746 mov ax, strict word 00040h ; b8 40 00 12746 call 01650h ; e8 a09012747 call 01650h ; e8 9b 90 12747 12748 mov bl, al ; 88 c3 12748 12749 db 0feh, 0c3h … … 12751 12752 mov dx, strict word 00075h ; ba 75 00 12752 12753 mov ax, strict word 00040h ; b8 40 00 12753 call 0165eh ; e8 9 f9012754 call 0165eh ; e8 9a 90 12754 12755 inc byte [bp-00ch] ; fe 46 f4 12755 jmp near 0865 6h ; e9 91 0012756 mov bx, 00da 6h ; bb a60d12756 jmp near 0865bh ; e9 91 00 12757 mov bx, 00da4h ; bb a4 0d 12757 12758 mov cx, ds ; 8c d9 12758 12759 mov ax, strict word 00004h ; b8 04 00 12759 call 01923h ; e8 539312760 call 01923h ; e8 4e 93 12760 12761 push word [bp-022h] ; ff 76 de 12761 12762 mov al, byte [bp-00ch] ; 8a 46 f4 … … 12764 12765 push 00c46h ; 68 46 0c 12765 12766 push strict byte 00004h ; 6a 04 12766 call 01966h ; e8 8 59312767 call 01966h ; e8 80 93 12767 12768 add sp, strict byte 00008h ; 83 c4 08 12768 12769 mov al, byte [bp-00ch] ; 8a 46 f4 … … 12770 12771 mov byte [bp-00eh], al ; 88 46 f2 12771 12772 test byte [bp-00245h], 080h ; f6 86 bb fd 80 12772 je short 085f 8h ; 74 0512773 je short 085fdh ; 74 05 12773 12774 mov dx, strict word 00001h ; ba 01 00 12774 jmp short 085f ah ; eb 0212775 jmp short 085ffh ; eb 02 12775 12776 xor dx, dx ; 31 d2 12776 12777 mov al, byte [bp-00ch] ; 8a 46 f4 … … 12808 12809 inc word [bp-022h] ; ff 46 de 12809 12810 cmp word [bp-022h], strict byte 00010h ; 83 7e de 10 12810 jl short 086 6dh ; 7c 0312811 jmp near 086e 5h ; e9 78 0012811 jl short 08672h ; 7c 03 12812 jmp near 086eah ; e9 78 00 12812 12813 mov byte [bp-046h], 012h ; c6 46 ba 12 12813 12814 xor al, al ; 30 c0 … … 12828 12829 lea bx, [bp-046h] ; 8d 5e ba 12829 12830 mov ax, word [bp-00248h] ; 8b 86 b8 fd 12830 call 07d7 7h ; e8 d7 f612831 call 07d7ch ; e8 d7 f6 12831 12832 test al, al ; 84 c0 12832 je short 086b 2h ; 74 0e12833 je short 086b7h ; 74 0e 12833 12834 push 00b92h ; 68 92 0b 12834 12835 push 00bb2h ; 68 b2 0b 12835 12836 push strict byte 00007h ; 6a 07 12836 call 01966h ; e8 b 79212837 call 01966h ; e8 b2 92 12837 12838 add sp, strict byte 00006h ; 83 c4 06 12838 12839 mov es, [bp-020h] ; 8e 46 e0 … … 12840 12841 mov byte [bp-00ch], al ; 88 46 f4 12841 12842 test byte [bp-00246h], 0e0h ; f6 86 ba fd e0 12842 jne short 086 ceh ; 75 0a12843 jne short 086d3h ; 75 0a 12843 12844 test byte [bp-00246h], 01fh ; f6 86 ba fd 1f 12844 jne short 086 ceh ; 75 0312845 jmp near 082 6dh ; e9 9f fb12845 jne short 086d3h ; 75 03 12846 jmp near 08272h ; e9 9f fb 12846 12847 test byte [bp-00246h], 0e0h ; f6 86 ba fd e0 12847 jne short 0865 6h ; 75 8112848 jne short 0865bh ; 75 81 12848 12849 mov al, byte [bp-00246h] ; 8a 86 ba fd 12849 12850 and AL, strict byte 01fh ; 24 1f 12850 12851 cmp AL, strict byte 005h ; 3c 05 12851 jne short 086e 2h ; 75 0312852 jmp near 085c 5h ; e9 e3 fe12853 jmp near 0865 6h ; e9 71 ff12852 jne short 086e7h ; 75 03 12853 jmp near 085cah ; e9 e3 fe 12854 jmp near 0865bh ; e9 71 ff 12854 12855 lea sp, [bp-00ah] ; 8d 66 f6 12855 12856 pop di ; 5f … … 12860 12861 pop bp ; 5d 12861 12862 retn ; c3 12862 _scsi_init: ; 0xf86 efLB 0x6612863 _scsi_init: ; 0xf86f4 LB 0x66 12863 12864 push bp ; 55 12864 12865 mov bp, sp ; 89 e5 12865 12866 mov dx, strict word 0000eh ; ba 0e 00 12866 12867 mov ax, strict word 00040h ; b8 40 00 12867 call 0166ch ; e8 718f12868 call 0166ch ; e8 6c 8f 12868 12869 mov bx, 00122h ; bb 22 01 12869 12870 mov es, ax ; 8e c0 … … 12876 12877 ; sub ah, ah ; 2a e4 12877 12878 cmp AL, strict byte 055h ; 3c 55 12878 jne short 087 1fh ; 75 0c12879 jne short 08724h ; 75 0c 12879 12880 xor al, al ; 30 c0 12880 12881 mov dx, 00433h ; ba 33 04 12881 12882 out DX, AL ; ee 12882 12883 mov ax, 00430h ; b8 30 04 12883 call 0824 9h ; e8 2a fb12884 call 0824eh ; e8 2a fb 12884 12885 mov AL, strict byte 055h ; b0 55 12885 12886 mov dx, 00436h ; ba 36 04 … … 12889 12890 ; sub ah, ah ; 2a e4 12890 12891 cmp AL, strict byte 055h ; 3c 55 12891 jne short 0873 8h ; 75 0c12892 jne short 0873dh ; 75 0c 12892 12893 xor al, al ; 30 c0 12893 12894 mov dx, 00437h ; ba 37 04 12894 12895 out DX, AL ; ee 12895 12896 mov ax, 00434h ; b8 34 04 12896 call 0824 9h ; e8 11 fb12897 call 0824eh ; e8 11 fb 12897 12898 mov AL, strict byte 055h ; b0 55 12898 12899 mov dx, 0043ah ; ba 3a 04 … … 12902 12903 ; sub ah, ah ; 2a e4 12903 12904 cmp AL, strict byte 055h ; 3c 55 12904 jne short 0875 1h ; 75 0c12905 jne short 08756h ; 75 0c 12905 12906 xor al, al ; 30 c0 12906 12907 mov dx, 0043bh ; ba 3b 04 12907 12908 out DX, AL ; ee 12908 12909 mov ax, 00438h ; b8 38 04 12909 call 0824 9h ; e8 f8 fa12910 call 0824eh ; e8 f8 fa 12910 12911 mov sp, bp ; 89 ec 12911 12912 pop bp ; 5d 12912 12913 retn ; c3 12913 ahci_ctrl_extract_bits_: ; 0xf875 5LB 0x1c12914 ahci_ctrl_extract_bits_: ; 0xf875a LB 0x1c 12914 12915 push si ; 56 12915 12916 push bp ; 55 … … 12920 12921 mov cl, byte [bp+006h] ; 8a 4e 06 12921 12922 xor ch, ch ; 30 ed 12922 jcxz 087 6ch ; e3 0612923 jcxz 08771h ; e3 06 12923 12924 shr dx, 1 ; d1 ea 12924 12925 rcr ax, 1 ; d1 d8 12925 loop 0876 6h ; e2 fa12926 loop 0876bh ; e2 fa 12926 12927 pop bp ; 5d 12927 12928 pop si ; 5e 12928 12929 retn 00002h ; c2 02 00 12929 ahci_addr_to_phys_: ; 0xf877 1LB 0x1e12930 ahci_addr_to_phys_: ; 0xf8776 LB 0x1e 12930 12931 push bx ; 53 12931 12932 push cx ; 51 … … 12938 12939 sal ax, 1 ; d1 e0 12939 12940 rcl dx, 1 ; d1 d2 12940 loop 087 7fh ; e2 fa12941 loop 08784h ; e2 fa 12941 12942 xor cx, cx ; 31 c9 12942 12943 add ax, bx ; 01 d8 … … 12946 12947 pop bx ; 5b 12947 12948 retn ; c3 12948 ahci_port_cmd_sync_: ; 0xf87 8fLB 0x15612949 ahci_port_cmd_sync_: ; 0xf8794 LB 0x156 12949 12950 push bp ; 55 12950 12951 mov bp, sp ; 89 e5 … … 12961 12962 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 12962 12963 cmp AL, strict byte 0ffh ; 3c ff 12963 jne short 087b 2h ; 75 0312964 jmp near 088 ddh ; e9 2b 0112964 jne short 087b7h ; 75 03 12965 jmp near 088e2h ; e9 2b 01 12965 12966 mov al, byte [es:si+00263h] ; 26 8a 84 63 02 12966 12967 xor ah, ah ; 30 e4 … … 12975 12976 lea ax, [si+00080h] ; 8d 84 80 00 12976 12977 mov dx, cx ; 89 ca 12977 call 0877 1h ; e8 92 ff12978 call 08776h ; e8 92 ff 12978 12979 mov es, cx ; 8e c1 12979 12980 mov word [es:si+008h], ax ; 26 89 44 08 … … 13041 13042 xchg dx, ax ; 92 13042 13043 test dh, 040h ; f6 c6 40 13043 jne short 0887 0h ; 75 0413044 jne short 08875h ; 75 04 13044 13045 test AL, strict byte 001h ; a8 01 13045 je short 0887 4h ; 74 0413046 je short 08879h ; 74 04 13046 13047 mov AL, strict byte 001h ; b0 01 13047 jmp short 0887 6h ; eb 0213048 jmp short 0887bh ; eb 02 13048 13049 xor al, al ; 30 c0 13049 13050 test al, al ; 84 c0 13050 je short 0884 3h ; 74 c913051 je short 08848h ; 74 c9 13051 13052 mov al, byte [bp-008h] ; 8a 46 f8 13052 13053 xor ah, ah ; 30 e4 … … 13104 13105 pop bp ; 5d 13105 13106 retn ; c3 13106 ahci_cmd_data_: ; 0xf88e 5LB 0x26713107 ahci_cmd_data_: ; 0xf88ea LB 0x267 13107 13108 push bp ; 55 13108 13109 mov bp, sp ; 89 e5 … … 13129 13130 mov ax, 00080h ; b8 80 00 13130 13131 mov dx, word [bp-00ah] ; 8b 56 f6 13131 call 09fa0h ; e8 7 d1613132 call 09fa0h ; e8 78 16 13132 13133 mov es, [bp-00ah] ; 8e 46 f6 13133 13134 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 13147 13148 mov dx, word [es:si] ; 26 8b 14 13148 13149 mov si, strict word 00008h ; be 08 00 13149 call 09f80h ; e8 1 91613150 call 09f80h ; e8 14 16 13150 13151 mov es, [bp-00ah] ; 8e 46 f6 13151 13152 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 13158 13159 mov dx, word [es:si] ; 26 8b 14 13159 13160 mov si, strict word 00010h ; be 10 00 13160 call 09f80h ; e8 f31513161 call 09f80h ; e8 ee 15 13161 13162 mov es, [bp-00ah] ; 8e 46 f6 13162 13163 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 13170 13171 mov dx, word [es:si] ; 26 8b 14 13171 13172 mov si, strict word 00018h ; be 18 00 13172 call 09f80h ; e8 c 71513173 call 09f80h ; e8 c2 15 13173 13174 mov es, [bp-00ah] ; 8e 46 f6 13174 13175 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 13181 13182 mov dx, word [es:si] ; 26 8b 14 13182 13183 mov si, strict word 00020h ; be 20 00 13183 call 09f80h ; e8 a11513184 call 09f80h ; e8 9c 15 13184 13185 mov es, [bp-00ah] ; 8e 46 f6 13185 13186 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 13192 13193 mov dx, word [es:si] ; 26 8b 14 13193 13194 mov si, strict word 00028h ; be 28 00 13194 call 09f80h ; e8 7 b1513195 call 09f80h ; e8 76 15 13195 13196 mov es, [bp-00ah] ; 8e 46 f6 13196 13197 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 13206 13207 mov bx, word [bp-010h] ; 8b 5e f0 13207 13208 xor cx, cx ; 31 c9 13208 call 09f30h ; e8 f 61413209 call 09f30h ; e8 f1 14 13209 13210 push dx ; 52 13210 13211 push ax ; 50 … … 13216 13217 mov ax, 0026ah ; b8 6a 02 13217 13218 mov dx, word [bp-00ah] ; 8b 56 f6 13218 call 09e8 1h ; e8 2b 1413219 call 09e86h ; e8 2b 14 13219 13220 mov es, [bp-00ah] ; 8e 46 f6 13220 13221 mov dx, word [es:di+0027eh] ; 26 8b 95 7e 02 … … 13239 13240 mov ax, word [es:bx+020h] ; 26 8b 47 20 13240 13241 test ax, ax ; 85 c0 13241 je short 08ae 8h ; 74 3b13242 je short 08aedh ; 74 3b 13242 13243 dec ax ; 48 13243 13244 mov es, [bp-00ah] ; 8e 46 f6 … … 13257 13258 mov al, byte [bp-008h] ; 8a 46 f8 13258 13259 cmp AL, strict byte 035h ; 3c 35 13259 jne short 08af 5h ; 75 0613260 jne short 08afah ; 75 06 13260 13261 mov byte [bp-008h], 040h ; c6 46 f8 40 13261 jmp short 08b 0ch ; eb 1713262 jmp short 08b11h ; eb 17 13262 13263 cmp AL, strict byte 0a0h ; 3c a0 13263 jne short 08b0 8h ; 75 0f13264 jne short 08b0dh ; 75 0f 13264 13265 or byte [bp-008h], 020h ; 80 4e f8 20 13265 13266 les bx, [bp-00eh] ; c4 5e f2 13266 13267 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 13267 jmp short 08b 0ch ; eb 0413268 jmp short 08b11h ; eb 04 13268 13269 mov byte [bp-008h], 000h ; c6 46 f8 00 13269 13270 or byte [bp-008h], 005h ; 80 4e f8 05 … … 13272 13273 mov ax, word [bp-00eh] ; 8b 46 f2 13273 13274 mov dx, word [bp-00ch] ; 8b 56 f4 13274 call 087 8fh ; e8 71 fc13275 call 08794h ; e8 71 fc 13275 13276 mov cx, word [bp-00ch] ; 8b 4e f4 13276 13277 mov bx, word [bp-00eh] ; 8b 5e f2 … … 13279 13280 add ax, 0026ah ; 05 6a 02 13280 13281 mov dx, cx ; 89 ca 13281 call 09ef 8h ; e8 c5 1313282 call 09efdh ; e8 c5 13 13282 13283 mov es, cx ; 8e c1 13283 13284 mov al, byte [es:bx+003h] ; 26 8a 47 03 13284 13285 test al, al ; 84 c0 13285 je short 08b4 2h ; 74 0513286 je short 08b47h ; 74 05 13286 13287 mov ax, strict word 00004h ; b8 04 00 13287 jmp short 08b4 4h ; eb 0213288 jmp short 08b49h ; eb 02 13288 13289 xor ah, ah ; 30 e4 13289 13290 lea sp, [bp-006h] ; 8d 66 fa … … 13293 13294 pop bp ; 5d 13294 13295 retn ; c3 13295 ahci_port_deinit_current_: ; 0xf8b 4cLB 0x18013296 ahci_port_deinit_current_: ; 0xf8b51 LB 0x180 13296 13297 push bp ; 55 13297 13298 mov bp, sp ; 89 e5 … … 13308 13309 mov byte [bp-00ah], al ; 88 46 f6 13309 13310 cmp AL, strict byte 0ffh ; 3c ff 13310 je short 08b cdh ; 74 5f13311 je short 08bd2h ; 74 5f 13311 13312 xor ah, ah ; 30 e4 13312 13313 sal ax, 007h ; c1 e0 07 … … 13352 13353 xchg dx, ax ; 92 13353 13354 test ax, 0c011h ; a9 11 c0 13354 je short 08bd 0h ; 74 0713355 je short 08bd5h ; 74 07 13355 13356 mov AL, strict byte 001h ; b0 01 13356 jmp short 08bd 2h ; eb 0513357 jmp near 08cc 3h ; e9 f3 0013357 jmp short 08bd7h ; eb 05 13358 jmp near 08cc8h ; e9 f3 00 13358 13359 xor al, al ; 30 c0 13359 13360 cmp AL, strict byte 001h ; 3c 01 13360 je short 08ba 0h ; 74 ca13361 je short 08ba5h ; 74 ca 13361 13362 mov cx, strict word 00020h ; b9 20 00 13362 13363 xor bx, bx ; 31 db 13363 13364 mov ax, di ; 89 f8 13364 13365 mov dx, word [bp-00eh] ; 8b 56 f2 13365 call 09fa0h ; e8 b d1313366 call 09fa0h ; e8 b8 13 13366 13367 lea ax, [di+00080h] ; 8d 85 80 00 13367 13368 mov cx, strict word 00040h ; b9 40 00 13368 13369 xor bx, bx ; 31 db 13369 13370 mov dx, word [bp-00eh] ; 8b 56 f2 13370 call 09fa0h ; e8 a e1313371 call 09fa0h ; e8 a9 13 13371 13372 lea ax, [di+00200h] ; 8d 85 00 02 13372 13373 mov cx, strict word 00060h ; b9 60 00 13373 13374 xor bx, bx ; 31 db 13374 13375 mov dx, word [bp-00eh] ; 8b 56 f2 13375 call 09fa0h ; e8 9 f1313376 call 09fa0h ; e8 9a 13 13376 13377 mov al, byte [bp-00ah] ; 8a 46 f6 13377 13378 xor ah, ah ; 30 e4 … … 13478 13479 pop bp ; 5d 13479 13480 retn ; c3 13480 ahci_port_init_: ; 0xf8c ccLB 0x24d13481 ahci_port_init_: ; 0xf8cd1 LB 0x24d 13481 13482 push bp ; 55 13482 13483 mov bp, sp ; 89 e5 … … 13488 13489 mov word [bp-00ah], dx ; 89 56 f6 13489 13490 mov byte [bp-008h], bl ; 88 5e f8 13490 call 08b 4ch ; e8 6c fe13491 call 08b51h ; e8 6c fe 13491 13492 mov al, bl ; 88 d8 13492 13493 xor ah, ah ; 30 e4 … … 13537 13538 xchg dx, ax ; 92 13538 13539 test ax, 0c011h ; a9 11 c0 13539 je short 08d5 1h ; 74 0413540 je short 08d56h ; 74 04 13540 13541 mov AL, strict byte 001h ; b0 01 13541 jmp short 08d5 3h ; eb 0213542 jmp short 08d58h ; eb 02 13542 13543 xor al, al ; 30 c0 13543 13544 cmp AL, strict byte 001h ; 3c 01 13544 je short 08d 1ch ; 74 c513545 je short 08d21h ; 74 c5 13545 13546 mov cx, strict word 00020h ; b9 20 00 13546 13547 xor bx, bx ; 31 db 13547 13548 mov ax, si ; 89 f0 13548 13549 mov dx, word [bp-00ah] ; 8b 56 f6 13549 call 09fa0h ; e8 3 c1213550 call 09fa0h ; e8 37 12 13550 13551 lea ax, [si+00080h] ; 8d 84 80 00 13551 13552 mov cx, strict word 00040h ; b9 40 00 13552 13553 xor bx, bx ; 31 db 13553 13554 mov dx, word [bp-00ah] ; 8b 56 f6 13554 call 09fa0h ; e8 2 d1213555 call 09fa0h ; e8 28 12 13555 13556 lea di, [si+00200h] ; 8d bc 00 02 13556 13557 mov cx, strict word 00060h ; b9 60 00 … … 13558 13559 mov ax, di ; 89 f8 13559 13560 mov dx, word [bp-00ah] ; 8b 56 f6 13560 call 09fa0h ; e8 1 c1213561 call 09fa0h ; e8 17 12 13561 13562 mov bl, byte [bp-008h] ; 8a 5e f8 13562 13563 xor bh, bh ; 30 ff … … 13576 13577 mov ax, di ; 89 f8 13577 13578 mov dx, word [bp-00ah] ; 8b 56 f6 13578 call 0877 1h ; e8 bf f913579 call 08776h ; e8 bf f9 13579 13580 mov es, [bp-00ah] ; 8e 46 f6 13580 13581 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13621 13622 mov ax, si ; 89 f0 13622 13623 mov dx, word [bp-00ah] ; 8b 56 f6 13623 call 0877 1h ; e8 53 f913624 call 08776h ; e8 53 f9 13624 13625 mov es, [bp-00ah] ; 8e 46 f6 13625 13626 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13726 13727 pop bp ; 5d 13727 13728 retn ; c3 13728 @ahci_read_sectors: ; 0xf8f1 9LB 0xa813729 @ahci_read_sectors: ; 0xf8f1e LB 0xa8 13729 13730 push bp ; 55 13730 13731 mov bp, sp ; 89 e5 … … 13737 13738 sub bx, strict byte 0000ch ; 83 eb 0c 13738 13739 cmp bx, strict byte 00004h ; 83 fb 04 13739 jbe short 08f 3fh ; 76 0f13740 jbe short 08f44h ; 76 0f 13740 13741 push bx ; 53 13741 13742 push 00c62h ; 68 62 0c 13742 13743 push 00c74h ; 68 74 0c 13743 13744 push strict byte 00007h ; 6a 07 13744 call 01966h ; e8 2 a8a13745 call 01966h ; e8 25 8a 13745 13746 add sp, strict byte 00008h ; 83 c4 08 13746 13747 xor di, di ; 31 ff … … 13757 13758 mov dx, word [es:di+00232h] ; 26 8b 95 32 02 13758 13759 xor ax, ax ; 31 c0 13759 call 08c cch ; e8 60 fd13760 call 08cd1h ; e8 60 fd 13760 13761 mov bx, strict word 00025h ; bb 25 00 13761 13762 mov ax, si ; 89 f0 13762 13763 mov dx, word [bp+006h] ; 8b 56 06 13763 call 088e 5h ; e8 6e f913764 call 088eah ; e8 6e f9 13764 13765 mov word [bp-006h], ax ; 89 46 fa 13765 13766 mov es, [bp+006h] ; 8e 46 06 … … 13790 13791 pop bp ; 5d 13791 13792 retn 00004h ; c2 04 00 13792 @ahci_write_sectors: ; 0xf8fc 1LB 0x8613793 @ahci_write_sectors: ; 0xf8fc6 LB 0x86 13793 13794 push bp ; 55 13794 13795 mov bp, sp ; 89 e5 … … 13802 13803 sub dx, strict byte 0000ch ; 83 ea 0c 13803 13804 cmp dx, strict byte 00004h ; 83 fa 04 13804 jbe short 08f ebh ; 76 0f13805 jbe short 08ff0h ; 76 0f 13805 13806 push dx ; 52 13806 13807 push 00c93h ; 68 93 0c 13807 13808 push 00c74h ; 68 74 0c 13808 13809 push strict byte 00007h ; 6a 07 13809 call 01966h ; e8 7 e8913810 call 01966h ; e8 79 89 13810 13811 add sp, strict byte 00008h ; 83 c4 08 13811 13812 xor bx, bx ; 31 db … … 13822 13823 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 13823 13824 xor ax, ax ; 31 c0 13824 call 08c cch ; e8 b6 fc13825 call 08cd1h ; e8 b6 fc 13825 13826 mov bx, strict word 00035h ; bb 35 00 13826 13827 mov ax, si ; 89 f0 13827 13828 mov dx, cx ; 89 ca 13828 call 088e 5h ; e8 c5 f813829 call 088eah ; e8 c5 f8 13829 13830 mov dx, ax ; 89 c2 13830 13831 mov es, cx ; 8e c1 … … 13841 13842 pop bp ; 5d 13842 13843 retn 00004h ; c2 04 00 13843 ahci_cmd_packet_: ; 0xf904 7LB 0x18a13844 ahci_cmd_packet_: ; 0xf904c LB 0x18a 13844 13845 push bp ; 55 13845 13846 mov bp, sp ; 89 e5 … … 13853 13854 mov dx, strict word 0000eh ; ba 0e 00 13854 13855 mov ax, strict word 00040h ; b8 40 00 13855 call 0166ch ; e8 0 a8613856 call 0166ch ; e8 05 86 13856 13857 mov si, 00122h ; be 22 01 13857 13858 mov word [bp-008h], ax ; 89 46 f8 13858 13859 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 13859 jne short 090 8dh ; 75 1f13860 mov bx, 00da 6h ; bb a60d13860 jne short 09092h ; 75 1f 13861 mov bx, 00da4h ; bb a4 0d 13861 13862 mov cx, ds ; 8c d9 13862 13863 mov ax, strict word 00004h ; b8 04 00 13863 call 01923h ; e8 a a8813864 call 01923h ; e8 a5 88 13864 13865 push 00ca6h ; 68 a6 0c 13865 13866 push 00cb6h ; 68 b6 0c 13866 13867 push strict byte 00004h ; 6a 04 13867 call 01966h ; e8 e28813868 call 01966h ; e8 dd 88 13868 13869 add sp, strict byte 00006h ; 83 c4 06 13869 13870 mov ax, strict word 00001h ; b8 01 00 13870 jmp near 091c 8h ; e9 3b 0113871 jmp near 091cdh ; e9 3b 01 13871 13872 test byte [bp+004h], 001h ; f6 46 04 01 13872 jne short 0908 7h ; 75 f413873 jne short 0908ch ; 75 f4 13873 13874 mov ax, word [bp+006h] ; 8b 46 06 13874 13875 mov dx, word [bp+008h] ; 8b 56 08 … … 13876 13877 sal ax, 1 ; d1 e0 13877 13878 rcl dx, 1 ; d1 d2 13878 loop 090 9ch ; e2 fa13879 loop 090a1h ; e2 fa 13879 13880 mov es, [bp-008h] ; 8e 46 f8 13880 13881 mov word [es:si], ax ; 26 89 04 … … 13890 13891 mov dx, word [bp+008h] ; 8b 56 08 13891 13892 xor cx, cx ; 31 c9 13892 call 09f50h ; e8 7 b0e13893 call 09f50h ; e8 76 0e 13893 13894 mov word [es:si+00eh], ax ; 26 89 44 0e 13894 13895 xor di, di ; 31 ff … … 13909 13910 mov bx, ax ; 89 c3 13910 13911 xor al, al ; 30 c0 13911 call 08c cch ; e8 b8 fb13912 call 08cd1h ; e8 b8 fb 13912 13913 mov al, byte [bp-006h] ; 8a 46 fa 13913 13914 xor ah, ah ; 30 e4 … … 13917 13918 mov ax, 000c0h ; b8 c0 00 13918 13919 mov dx, word [bp-00ah] ; 8b 56 f6 13919 call 09fb0h ; e8 8 70e13920 call 09fb0h ; e8 82 0e 13920 13921 mov es, [bp-008h] ; 8e 46 f8 13921 13922 mov word [es:si+018h], di ; 26 89 7c 18 … … 13924 13925 mov ax, word [es:si+01eh] ; 26 8b 44 1e 13925 13926 test ax, ax ; 85 c0 13926 je short 0916 7h ; 74 2713927 je short 0916ch ; 74 27 13927 13928 dec ax ; 48 13928 13929 mov es, [bp-00ah] ; 8e 46 f6 … … 13937 13938 mov ax, si ; 89 f0 13938 13939 mov dx, word [bp-008h] ; 8b 56 f8 13939 call 088e 5h ; e8 73 f713940 call 088eah ; e8 73 f7 13940 13941 les bx, [bp-00eh] ; c4 5e f2 13941 13942 mov dx, word [es:bx+004h] ; 26 8b 57 04 … … 13964 13965 mov ax, word [es:bx+006h] ; 26 8b 47 06 13965 13966 or ax, word [es:bx+004h] ; 26 0b 47 04 13966 jne short 091c 6h ; 75 0513967 jne short 091cbh ; 75 05 13967 13968 mov ax, strict word 00004h ; b8 04 00 13968 jmp short 091c 8h ; eb 0213969 jmp short 091cdh ; eb 02 13969 13970 xor ax, ax ; 31 c0 13970 13971 lea sp, [bp-004h] ; 8d 66 fc … … 13973 13974 pop bp ; 5d 13974 13975 retn 0000ch ; c2 0c 00 13975 ahci_port_detect_device_: ; 0xf91d 1LB 0x4e313976 ahci_port_detect_device_: ; 0xf91d6 LB 0x4e3 13976 13977 push bp ; 55 13977 13978 mov bp, sp ; 89 e5 … … 13986 13987 xor ch, ch ; 30 ed 13987 13988 mov bx, cx ; 89 cb 13988 call 08c cch ; e8 e0 fa13989 call 08cd1h ; e8 e0 fa 13989 13990 mov dx, strict word 0000eh ; ba 0e 00 13990 13991 mov ax, strict word 00040h ; b8 40 00 13991 call 0166ch ; e8 7 78413992 call 0166ch ; e8 72 84 13992 13993 mov word [bp-00eh], 00122h ; c7 46 f2 22 01 13993 13994 mov word [bp-016h], ax ; 89 46 ea … … 14059 14060 mov bx, strict word 0000fh ; bb 0f 00 14060 14061 xor cx, cx ; 31 c9 14061 call 0875 5h ; e8 b5 f414062 call 0875ah ; e8 b5 f4 14062 14063 test ax, ax ; 85 c0 14063 jne short 092a 7h ; 75 0314064 jmp near 096 ach ; e9 05 0414064 jne short 092ach ; 75 03 14065 jmp near 096b1h ; e9 05 04 14065 14066 mov al, byte [bp-00ch] ; 8a 46 f4 14066 14067 xor ah, ah ; 30 e4 … … 14091 14092 mov bx, strict word 0000fh ; bb 0f 00 14092 14093 xor cx, cx ; 31 c9 14093 call 0875 5h ; e8 67 f414094 call 0875ah ; e8 67 f4 14094 14095 cmp ax, strict word 00001h ; 3d 01 00 14095 je short 092a 7h ; 74 b414096 je short 092ach ; 74 b4 14096 14097 push strict byte 00000h ; 6a 00 14097 14098 mov bx, strict word 0000fh ; bb 0f 00 … … 14099 14100 mov ax, word [bp-01ah] ; 8b 46 e6 14100 14101 mov dx, di ; 89 fa 14101 call 0875 5h ; e8 53 f414102 call 0875ah ; e8 53 f4 14102 14103 cmp ax, strict word 00003h ; 3d 03 00 14103 jne short 092a 4h ; 75 9d14104 jne short 092a9h ; 75 9d 14104 14105 mov ax, word [bp-01ch] ; 8b 46 e4 14105 14106 add ax, 00130h ; 05 30 01 … … 14129 14130 mov byte [bp-008h], al ; 88 46 f8 14130 14131 cmp AL, strict byte 004h ; 3c 04 14131 jc short 0935 1h ; 72 0314132 jmp near 096 ach ; e9 5b 0314132 jc short 09356h ; 72 03 14133 jmp near 096b1h ; e9 5b 03 14133 14134 mov ax, word [bp-01ch] ; 8b 46 e4 14134 14135 add ax, 00118h ; 05 18 01 … … 14180 14181 add cl, 00ch ; 80 c1 0c 14181 14182 test dx, dx ; 85 d2 14182 jne short 0941 7h ; 75 5414183 jne short 0941ch ; 75 54 14183 14184 cmp ax, 00101h ; 3d 01 01 14184 jne short 0941 7h ; 75 4f14185 jne short 0941ch ; 75 4f 14185 14186 mov es, [bp-016h] ; 8e 46 ea 14186 14187 mov bx, word [bp-00eh] ; 8b 5e f2 … … 14197 14198 mov ax, word [bp-00eh] ; 8b 46 f2 14198 14199 mov dx, es ; 8c c2 14199 call 088e 5h ; e8 dd f414200 call 088eah ; e8 dd f4 14200 14201 mov byte [bp-00ah], cl ; 88 4e f6 14201 14202 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14202 je short 0941 ah ; 74 0814203 je short 0941fh ; 74 08 14203 14204 mov ax, strict word 00001h ; b8 01 00 14204 jmp short 094 1ch ; eb 0514205 jmp near 095e ah ; e9 d0 0114205 jmp short 09421h ; eb 05 14206 jmp near 095efh ; e9 d0 01 14206 14207 xor ax, ax ; 31 c0 14207 14208 mov dl, al ; 88 c2 … … 14219 14220 mov word [bp-01eh], ax ; 89 46 e2 14220 14221 cmp word [bp-014h], 00fffh ; 81 7e ec ff 0f 14221 jne short 094 6bh ; 75 1e14222 jne short 09470h ; 75 1e 14222 14223 cmp di, strict byte 0ffffh ; 83 ff ff 14223 jne short 094 6bh ; 75 1914224 jne short 09470h ; 75 19 14224 14225 mov ax, word [bp-0015ch] ; 8b 86 a4 fe 14225 14226 mov word [bp-01eh], ax ; 89 46 e2 … … 14260 14261 mov al, byte [bp-008h] ; 8a 46 f8 14261 14262 cmp AL, strict byte 001h ; 3c 01 14262 jc short 094e 6h ; 72 0c14263 jbe short 094 eeh ; 76 1214263 jc short 094ebh ; 72 0c 14264 jbe short 094f3h ; 76 12 14264 14265 cmp AL, strict byte 003h ; 3c 03 14265 je short 094f 6h ; 74 1614266 je short 094fbh ; 74 16 14266 14267 cmp AL, strict byte 002h ; 3c 02 14267 je short 094f 2h ; 74 0e14268 jmp short 095 3eh ; eb 5814268 je short 094f7h ; 74 0e 14269 jmp short 09543h ; eb 58 14269 14270 test al, al ; 84 c0 14270 jne short 095 3eh ; 75 5414271 jne short 09543h ; 75 54 14271 14272 mov DL, strict byte 040h ; b2 40 14272 jmp short 094f 8h ; eb 0a14273 jmp short 094fdh ; eb 0a 14273 14274 mov DL, strict byte 048h ; b2 48 14274 jmp short 094f 8h ; eb 0614275 jmp short 094fdh ; eb 06 14275 14276 mov DL, strict byte 050h ; b2 50 14276 jmp short 094f 8h ; eb 0214277 jmp short 094fdh ; eb 02 14277 14278 mov DL, strict byte 058h ; b2 58 14278 14279 mov bl, dl ; 88 d3 … … 14280 14281 xor bh, bh ; 30 ff 14281 14282 mov ax, bx ; 89 d8 14282 call 016ach ; e8 a 88114283 call 016ach ; e8 a3 81 14283 14284 test al, al ; 84 c0 14284 je short 095 3eh ; 74 3614285 je short 09543h ; 74 36 14285 14286 mov al, dl ; 88 d0 14286 14287 db 0feh, 0c0h 14287 14288 ; inc al ; fe c0 14288 14289 xor ah, ah ; 30 e4 14289 call 016ach ; e8 9 b8114290 call 016ach ; e8 96 81 14290 14291 xor ah, ah ; 30 e4 14291 14292 mov cx, ax ; 89 c1 14292 14293 sal cx, 008h ; c1 e1 08 14293 14294 mov al, dl ; 88 d0 14294 call 016ach ; e8 8 f8114295 call 016ach ; e8 8a 81 14295 14296 xor ah, ah ; 30 e4 14296 14297 add ax, cx ; 01 c8 … … 14299 14300 add AL, strict byte 002h ; 04 02 14300 14301 xor ah, ah ; 30 e4 14301 call 016ach ; e8 7 f8114302 call 016ach ; e8 7a 81 14302 14303 xor ah, ah ; 30 e4 14303 14304 mov word [bp-02ah], ax ; 89 46 d6 14304 14305 mov ax, bx ; 89 d8 14305 call 016ach ; e8 7 58114306 call 016ach ; e8 70 81 14306 14307 xor ah, ah ; 30 e4 14307 14308 mov word [bp-026h], ax ; 89 46 da 14308 jmp short 0955 0h ; eb 1214309 jmp short 09555h ; eb 12 14309 14310 push word [bp-01eh] ; ff 76 e2 14310 14311 push word [bp-012h] ; ff 76 ee … … 14313 14314 mov dx, ss ; 8c d2 14314 14315 lea ax, [bp-02ah] ; 8d 46 d6 14315 call 05977h ; e8 2 7c414316 mov bx, 00da 6h ; bb a60d14316 call 05977h ; e8 22 c4 14317 mov bx, 00da4h ; bb a4 0d 14317 14318 mov cx, ds ; 8c d9 14318 14319 mov ax, strict word 00004h ; b8 04 00 14319 call 01923h ; e8 c 88314320 call 01923h ; e8 c3 83 14320 14321 push word [bp-01eh] ; ff 76 e2 14321 14322 push word [bp-012h] ; ff 76 ee … … 14338 14339 push 00cd6h ; 68 d6 0c 14339 14340 push strict byte 00004h ; 6a 04 14340 call 01966h ; e8 d a8314341 call 01966h ; e8 d5 83 14341 14342 add sp, strict byte 0001ch ; 83 c4 1c 14342 14343 mov al, byte [bp-00ah] ; 8a 46 f6 … … 14369 14370 mov dx, strict word 00075h ; ba 75 00 14370 14371 mov ax, strict word 00040h ; b8 40 00 14371 call 01650h ; e8 7 88014372 call 01650h ; e8 73 80 14372 14373 mov bl, al ; 88 c3 14373 14374 db 0feh, 0c3h … … 14376 14377 mov dx, strict word 00075h ; ba 75 00 14377 14378 mov ax, strict word 00040h ; b8 40 00 14378 call 0165eh ; e8 7 78014379 jmp near 096 9bh ; e9 b1 0014379 call 0165eh ; e8 72 80 14380 jmp near 096a0h ; e9 b1 00 14380 14381 cmp dx, 0eb14h ; 81 fa 14 eb 14381 jne short 0964 4h ; 75 5414382 jne short 09649h ; 75 54 14382 14383 cmp ax, 00101h ; 3d 01 01 14383 jne short 0964 4h ; 75 4f14384 jne short 09649h ; 75 4f 14384 14385 mov es, [bp-016h] ; 8e 46 ea 14385 14386 mov bx, word [bp-00eh] ; 8b 5e f2 … … 14396 14397 mov ax, word [bp-00eh] ; 8b 46 f2 14397 14398 mov dx, es ; 8c c2 14398 call 088e 5h ; e8 b0 f214399 call 088eah ; e8 b0 f2 14399 14400 mov byte [bp-00ah], cl ; 88 4e f6 14400 14401 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14401 je short 0964 6h ; 74 0714402 je short 0964bh ; 74 07 14402 14403 mov dx, strict word 00001h ; ba 01 00 14403 jmp short 0964 8h ; eb 0414404 jmp short 096 9bh ; eb 5514404 jmp short 0964dh ; eb 04 14405 jmp short 096a0h ; eb 55 14405 14406 xor dx, dx ; 31 d2 14406 14407 mov bl, byte [bp-008h] ; 8a 5e f8 … … 14441 14442 pop bp ; 5d 14442 14443 retn ; c3 14443 ahci_mem_alloc_: ; 0xf96b 4LB 0x4314444 ahci_mem_alloc_: ; 0xf96b9 LB 0x43 14444 14445 push bp ; 55 14445 14446 mov bp, sp ; 89 e5 … … 14451 14452 mov dx, 00413h ; ba 13 04 14452 14453 xor ax, ax ; 31 c0 14453 call 0166ch ; e8 a 87f14454 call 0166ch ; e8 a3 7f 14454 14455 test ax, ax ; 85 c0 14455 je short 096 edh ; 74 2514456 je short 096f2h ; 74 25 14456 14457 dec ax ; 48 14457 14458 mov bx, ax ; 89 c3 … … 14460 14461 sal ax, 1 ; d1 e0 14461 14462 rcl dx, 1 ; d1 d2 14462 loop 096d 0h ; e2 fa14463 loop 096d5h ; e2 fa 14463 14464 mov si, ax ; 89 c6 14464 14465 mov di, dx ; 89 d7 … … 14466 14467 shr di, 1 ; d1 ef 14467 14468 rcr si, 1 ; d1 de 14468 loop 096 ddh ; e2 fa14469 loop 096e2h ; e2 fa 14469 14470 mov dx, 00413h ; ba 13 04 14470 14471 xor ax, ax ; 31 c0 14471 call 0167ah ; e8 8 f7f14472 call 0167ah ; e8 8a 7f 14472 14473 mov ax, si ; 89 f0 14473 14474 lea sp, [bp-00ah] ; 8d 66 f6 … … 14479 14480 pop bp ; 5d 14480 14481 retn ; c3 14481 ahci_hba_init_: ; 0xf96f 7LB 0x16d14482 ahci_hba_init_: ; 0xf96fc LB 0x16d 14482 14483 push bp ; 55 14483 14484 mov bp, sp ; 89 e5 … … 14491 14492 mov dx, strict word 0000eh ; ba 0e 00 14492 14493 mov ax, strict word 00040h ; b8 40 00 14493 call 0166ch ; e8 5 f7f14494 call 0166ch ; e8 5a 7f 14494 14495 mov bx, 00122h ; bb 22 01 14495 14496 mov di, ax ; 89 c7 … … 14508 14509 shr eax, 010h ; 66 c1 e8 10 14509 14510 xchg dx, ax ; 92 14510 call 096b 4h ; e8 83 ff14511 call 096b9h ; e8 83 ff 14511 14512 mov word [bp-010h], ax ; 89 46 f0 14512 14513 test ax, ax ; 85 c0 14513 jne short 097 3bh ; 75 0314514 jmp near 0984 3h ; e9 08 0114514 jne short 09740h ; 75 03 14515 jmp near 09848h ; e9 08 01 14515 14516 mov ax, word [bp-010h] ; 8b 46 f0 14516 14517 mov es, di ; 8e c7 … … 14562 14563 xchg dx, ax ; 92 14563 14564 test AL, strict byte 001h ; a8 01 14564 jne short 0979 5h ; 75 de14565 jne short 0979ah ; 75 de 14565 14566 xor ax, ax ; 31 c0 14566 14567 xor cx, cx ; 31 c9 … … 14580 14581 mov bx, strict word 0001fh ; bb 1f 00 14581 14582 xor cx, cx ; 31 c9 14582 call 0875 5h ; e8 7a ef14583 call 0875ah ; e8 7a ef 14583 14584 db 0feh, 0c0h 14584 14585 ; inc al ; fe c0 14585 14586 mov byte [bp-00ch], al ; 88 46 f4 14586 14587 mov byte [bp-00eh], 000h ; c6 46 f2 00 14587 jmp short 0980 7h ; eb 2114588 jmp short 0980ch ; eb 21 14588 14589 xor al, al ; 30 c0 14589 14590 test al, al ; 84 c0 14590 je short 09 7feh ; 74 1214591 je short 09803h ; 74 12 14591 14592 mov bl, byte [bp-00eh] ; 8a 5e f2 14592 14593 xor bh, bh ; 30 ff 14593 14594 xor ax, ax ; 31 c0 14594 14595 mov dx, word [bp-010h] ; 8b 56 f0 14595 call 091d 1h ; e8 d8 f914596 call 091d6h ; e8 d8 f9 14596 14597 dec byte [bp-00ch] ; fe 4e f4 14597 je short 0984 1h ; 74 4314598 je short 09846h ; 74 43 14598 14599 inc byte [bp-00eh] ; fe 46 f2 14599 14600 cmp byte [bp-00eh], 020h ; 80 7e f2 20 14600 jnc short 0984 1h ; 73 3a14601 jnc short 09846h ; 73 3a 14601 14602 mov cl, byte [bp-00eh] ; 8a 4e f2 14602 14603 xor ch, ch ; 30 ed 14603 14604 mov bx, strict word 00001h ; bb 01 00 14604 14605 xor di, di ; 31 ff 14605 jcxz 0981 9h ; e3 0614606 jcxz 0981eh ; e3 06 14606 14607 sal bx, 1 ; d1 e3 14607 14608 rcl di, 1 ; d1 d7 14608 loop 0981 3h ; e2 fa14609 loop 09818h ; e2 fa 14609 14610 mov ax, strict word 0000ch ; b8 0c 00 14610 14611 xor cx, cx ; 31 c9 … … 14622 14623 xchg dx, ax ; 92 14623 14624 test dx, di ; 85 fa 14624 jne short 098 3dh ; 75 0414625 jne short 09842h ; 75 04 14625 14626 test ax, bx ; 85 d8 14626 je short 097e 6h ; 74 a914627 je short 097ebh ; 74 a9 14627 14628 mov AL, strict byte 001h ; b0 01 14628 jmp short 097e 8h ; eb a714629 jmp short 097edh ; eb a7 14629 14630 xor ax, ax ; 31 c0 14630 14631 lea sp, [bp-00ah] ; 8d 66 f6 … … 14636 14637 pop bp ; 5d 14637 14638 retn ; c3 14638 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 4ch, 099h, 02ah, 099h, 030h, 099h, 036h, 099h, 03ch14639 db 099h, 04 2h, 099h, 048h, 099h, 04ch, 099h14640 _ahci_init: ; 0xf986 4LB 0x11914639 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 051h, 099h, 02fh, 099h, 035h, 099h, 03bh, 099h, 041h 14640 db 099h, 047h, 099h, 04dh, 099h, 051h, 099h 14641 _ahci_init: ; 0xf9869 LB 0x119 14641 14642 push bp ; 55 14642 14643 mov bp, sp ; 89 e5 … … 14645 14646 mov ax, 00601h ; b8 01 06 14646 14647 mov dx, strict word 00001h ; ba 01 00 14647 call 09d9 8h ; e8 24 0514648 call 09d9dh ; e8 24 05 14648 14649 mov dx, ax ; 89 c2 14649 14650 cmp ax, strict word 0ffffh ; 3d ff ff 14650 je short 098c 7h ; 74 4c14651 je short 098cch ; 74 4c 14651 14652 xor al, al ; 30 c0 14652 14653 shr ax, 008h ; c1 e8 08 … … 14656 14657 xor ah, ah ; 30 e4 14657 14658 mov bx, strict word 00034h ; bb 34 00 14658 call 09da 0h ; e8 10 0514659 call 09da5h ; e8 10 05 14659 14660 mov cl, al ; 88 c1 14660 14661 test cl, cl ; 84 c9 14661 je short 098c ah ; 74 3414662 je short 098cfh ; 74 34 14662 14663 mov bl, cl ; 88 cb 14663 14664 xor bh, bh ; 30 ff … … 14670 14671 mov dx, word [bp-010h] ; 8b 56 f0 14671 14672 mov ax, word [bp-00ch] ; 8b 46 f4 14672 call 09da 0h ; e8 eb 0414673 call 09da5h ; e8 eb 04 14673 14674 cmp AL, strict byte 012h ; 3c 12 14674 je short 098c ah ; 74 1114675 je short 098cfh ; 74 11 14675 14676 mov bl, cl ; 88 cb 14676 14677 db 0feh, 0c3h … … 14679 14680 mov dx, word [bp-010h] ; 8b 56 f0 14680 14681 mov ax, word [bp-00ch] ; 8b 46 f4 14681 jmp short 098 8dh ; eb c614682 jmp near 0997 7h ; e9 ad 0014682 jmp short 09892h ; eb c6 14683 jmp near 0997ch ; e9 ad 00 14683 14684 test cl, cl ; 84 c9 14684 je short 098c 7h ; 74 f914685 je short 098cch ; 74 f9 14685 14686 add cl, 002h ; 80 c1 02 14686 14687 mov bl, cl ; 88 cb … … 14694 14695 mov dx, word [bp-00eh] ; 8b 56 f2 14695 14696 mov ax, word [bp-00ah] ; 8b 46 f6 14696 call 09da 0h ; e8 b0 0414697 call 09da5h ; e8 b0 04 14697 14698 cmp AL, strict byte 010h ; 3c 10 14698 jne short 098c 7h ; 75 d314699 jne short 098cch ; 75 d3 14699 14700 mov byte [bp-004h], 000h ; c6 46 fc 00 14700 14701 mov bl, cl ; 88 cb … … 14703 14704 mov dx, word [bp-00eh] ; 8b 56 f2 14704 14705 mov ax, word [bp-00ah] ; 8b 46 f6 14705 call 09d ceh ; e8 c6 0414706 call 09dd3h ; e8 c6 04 14706 14707 mov dx, ax ; 89 c2 14707 14708 and ax, strict word 0000fh ; 25 0f 00 14708 14709 sub ax, strict word 00004h ; 2d 04 00 14709 14710 cmp ax, strict word 0000bh ; 3d 0b 00 14710 jnbe short 099 4ch ; 77 3714711 jnbe short 09951h ; 77 37 14711 14712 push CS ; 0e 14712 14713 pop ES ; 07 14713 14714 mov cx, strict word 00008h ; b9 08 00 14714 mov di, 098 4dh ; bf 4d9814715 mov di, 09852h ; bf 52 98 14715 14716 repne scasb ; f2 ae 14716 14717 sal cx, 1 ; d1 e1 14717 14718 mov di, cx ; 89 cf 14718 mov ax, word [cs:di-067a ch] ; 2e 8b 85 549814719 mov ax, word [cs:di-067a7h] ; 2e 8b 85 59 98 14719 14720 jmp ax ; ff e0 14720 14721 mov byte [bp-004h], 010h ; c6 46 fc 10 14721 jmp short 099 4ch ; eb 1c14722 jmp short 09951h ; eb 1c 14722 14723 mov byte [bp-004h], 014h ; c6 46 fc 14 14723 jmp short 099 4ch ; eb 1614724 jmp short 09951h ; eb 16 14724 14725 mov byte [bp-004h], 018h ; c6 46 fc 18 14725 jmp short 099 4ch ; eb 1014726 jmp short 09951h ; eb 10 14726 14727 mov byte [bp-004h], 01ch ; c6 46 fc 1c 14727 jmp short 099 4ch ; eb 0a14728 jmp short 09951h ; eb 0a 14728 14729 mov byte [bp-004h], 020h ; c6 46 fc 20 14729 jmp short 099 4ch ; eb 0414730 jmp short 09951h ; eb 04 14730 14731 mov byte [bp-004h], 024h ; c6 46 fc 24 14731 14732 mov cx, dx ; 89 d1 … … 14734 14735 mov al, byte [bp-004h] ; 8a 46 fc 14735 14736 test al, al ; 84 c0 14736 je short 0997 7h ; 74 1c14737 je short 0997ch ; 74 1c 14737 14738 mov bl, al ; 88 c3 14738 14739 xor bh, bh ; 30 ff … … 14741 14742 mov al, byte [bp-008h] ; 8a 46 f8 14742 14743 xor ah, ah ; 30 e4 14743 call 09df 8h ; e8 8c 0414744 call 09dfdh ; e8 8c 04 14744 14745 test AL, strict byte 001h ; a8 01 14745 je short 0997 7h ; 74 0714746 je short 0997ch ; 74 07 14746 14747 and AL, strict byte 0f0h ; 24 f0 14747 14748 add ax, cx ; 01 c8 14748 call 096f 7h ; e8 80 fd14749 call 096fch ; e8 80 fd 14749 14750 lea sp, [bp-002h] ; 8d 66 fe 14750 14751 pop di ; 5f 14751 14752 pop bp ; 5d 14752 14753 retn ; c3 14753 apm_out_str_: ; 0xf99 7dLB 0x3914754 apm_out_str_: ; 0xf9982 LB 0x39 14754 14755 push bp ; 55 14755 14756 mov bp, sp ; 89 e5 … … 14757 14758 mov bx, ax ; 89 c3 14758 14759 cmp byte [bx], 000h ; 80 3f 00 14759 je short 0999 2h ; 74 0a14760 je short 09997h ; 74 0a 14760 14761 mov al, byte [bx] ; 8a 07 14761 14762 out DX, AL ; ee … … 14764 14765 db 00ah, 0c0h 14765 14766 ; or al, al ; 0a c0 14766 jne short 0998 ah ; 75 f814767 jne short 0998fh ; 75 f8 14767 14768 lea sp, [bp-002h] ; 8d 66 fe 14768 14769 pop bx ; 5b 14769 14770 pop bp ; 5d 14770 14771 retn ; c3 14771 xlatb ; d7 14772 fcomp qword [bx+di-0659ch] ; dc 99 64 9a 14773 out DX, AL ; ee 14772 14774 cwd ; 99 14773 pop di ; 5f 14774 call far 09a04h:099e9h ; 9a e9 99 04 9a 14775 pop di ; 5f 14776 call far 09a5fh:09a2fh ; 9a 2f 9a 5f 9a 14777 db 065h, 09ah, 034h, 09ah, 034h, 09ah 14778 ; gs call far gs:09a34h:09a34h ; 65 9a 34 9a 34 9a 14775 or word [bp+si-0659ch], bx ; 09 9a 64 9a 14779 14776 xor AL, strict byte 09ah ; 34 9a 14780 movsb ; a4 14781 call far 09a34h:09a34h ; 9a 34 9a 34 9a 14782 popfw ; 9d 14783 db 09ah 14784 _apm_function: ; 0xf99b6 LB 0xf3 14777 db 064h, 09ah, 06ah, 09ah, 039h, 09ah 14778 ; fs call far fs:09a39h:09a6ah ; 64 9a 6a 9a 39 9a 14779 cmp word [bp+si-065c7h], bx ; 39 9a 39 9a 14780 test ax, 0399ah ; a9 9a 39 14781 call far 09aa2h:09a39h ; 9a 39 9a a2 9a 14782 _apm_function: ; 0xf99bb LB 0xf3 14785 14783 push bp ; 55 14786 14784 mov bp, sp ; 89 e5 … … 14790 14788 xor ah, ah ; 30 e4 14791 14789 cmp ax, strict word 0000eh ; 3d 0e 00 14792 jnbe short 09a3 4h ; 77 6c14790 jnbe short 09a39h ; 77 6c 14793 14791 mov bx, ax ; 89 c3 14794 14792 add bx, ax ; 01 c3 14795 14793 mov dx, word [bp+018h] ; 8b 56 18 14796 14794 or dl, 001h ; 80 ca 01 14797 jmp word [cs:bx-0666 8h] ; 2e ff a7 989914795 jmp word [cs:bx-06663h] ; 2e ff a7 9d 99 14798 14796 mov word [bp+012h], 00102h ; c7 46 12 02 01 14799 14797 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 14800 14798 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 14801 jmp near 09a 5fh ; e9 76 0014799 jmp near 09a64h ; e9 76 00 14802 14800 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14803 14801 mov word [bp+00ch], 0a024h ; c7 46 0c 24 a0 … … 14806 14804 mov word [bp+006h], ax ; 89 46 06 14807 14805 mov word [bp+004h], ax ; 89 46 04 14808 jmp near 09a 5fh ; e9 5b 0014806 jmp near 09a64h ; e9 5b 00 14809 14807 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14810 14808 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 14819 14817 mov si, ax ; 89 c6 14820 14818 sal esi, 010h ; 66 c1 e6 10 14821 jmp near 09a 5fh ; e9 30 0014819 jmp near 09a64h ; e9 30 00 14822 14820 sti ; fb 14823 14821 hlt ; f4 14824 jmp near 09a 5fh ; e9 2b 0014825 mov bx, 00da 6h ; bb a60d14822 jmp near 09a64h ; e9 2b 00 14823 mov bx, 00da4h ; bb a4 0d 14826 14824 mov cx, ds ; 8c d9 14827 14825 mov ax, strict word 00004h ; b8 04 00 14828 call 01923h ; e8 e47e14826 call 01923h ; e8 df 7e 14829 14827 push word [bp+00ch] ; ff 76 0c 14830 14828 push word [bp+012h] ; ff 76 12 14831 14829 push 00d29h ; 68 29 0d 14832 14830 push strict byte 00004h ; 6a 04 14833 call 01966h ; e8 1 97f14831 call 01966h ; e8 14 7f 14834 14832 add sp, strict byte 00008h ; 83 c4 08 14835 14833 mov ax, word [bp+012h] ; 8b 46 12 … … 14843 14841 retn ; c3 14844 14842 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 14845 je short 09a8 ah ; 74 1f14843 je short 09a8fh ; 74 1f 14846 14844 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 14847 je short 09a8 2h ; 74 1114845 je short 09a87h ; 74 11 14848 14846 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 14849 jne short 09a9 2h ; 75 1b14847 jne short 09a97h ; 75 1b 14850 14848 mov dx, 08900h ; ba 00 89 14851 14849 mov ax, 00d10h ; b8 10 0d 14852 call 099 7dh ; e8 fd fe14853 jmp short 09a 5fh ; eb dd14850 call 09982h ; e8 fd fe 14851 jmp short 09a64h ; eb dd 14854 14852 mov dx, 08900h ; ba 00 89 14855 14853 mov ax, 00d18h ; b8 18 0d 14856 jmp short 09a 7dh ; eb f314854 jmp short 09a82h ; eb f3 14857 14855 mov dx, 08900h ; ba 00 89 14858 14856 mov ax, 00d20h ; b8 20 0d 14859 jmp short 09a 7dh ; eb eb14857 jmp short 09a82h ; eb eb 14860 14858 or ah, 00ah ; 80 cc 0a 14861 14859 mov word [bp+012h], ax ; 89 46 12 14862 14860 mov word [bp+018h], dx ; 89 56 18 14863 jmp short 09a 5fh ; eb c214861 jmp short 09a64h ; eb c2 14864 14862 mov word [bp+012h], 00102h ; c7 46 12 02 01 14865 jmp short 09a 5fh ; eb bb14863 jmp short 09a64h ; eb bb 14866 14864 or ah, 080h ; 80 cc 80 14867 jmp short 09a9 5h ; eb ec14868 pci16_select_reg_: ; 0xf9aa 9LB 0x2414865 jmp short 09a9ah ; eb ec 14866 pci16_select_reg_: ; 0xf9aae LB 0x24 14869 14867 push bp ; 55 14870 14868 mov bp, sp ; 89 e5 … … 14883 14881 pop bp ; 5d 14884 14882 retn ; c3 14885 pci16_find_device_: ; 0xf9a cdLB 0xf914883 pci16_find_device_: ; 0xf9ad2 LB 0xf9 14886 14884 push bp ; 55 14887 14885 mov bp, sp ; 89 e5 … … 14897 14895 mov byte [bp-008h], 000h ; c6 46 f8 00 14898 14896 test bl, 007h ; f6 c3 07 14899 jne short 09b1 5h ; 75 2d14897 jne short 09b1ah ; 75 2d 14900 14898 mov dx, strict word 0000eh ; ba 0e 00 14901 14899 mov ax, bx ; 89 d8 14902 call 09aa 9h ; e8 b9 ff14900 call 09aaeh ; e8 b9 ff 14903 14901 mov dx, 00cfeh ; ba fe 0c 14904 14902 in AL, DX ; ec … … 14907 14905 mov byte [bp-006h], al ; 88 46 fa 14908 14906 cmp AL, strict byte 0ffh ; 3c ff 14909 jne short 09b0 3h ; 75 0614907 jne short 09b08h ; 75 06 14910 14908 add bx, strict byte 00008h ; 83 c3 08 14911 jmp near 09b9 6h ; e9 93 0014909 jmp near 09b9bh ; e9 93 00 14912 14910 test byte [bp-006h], 080h ; f6 46 fa 80 14913 je short 09b1 0h ; 74 0714911 je short 09b15h ; 74 07 14914 14912 mov word [bp-010h], strict word 00001h ; c7 46 f0 01 00 14915 jmp short 09b1 5h ; eb 0514913 jmp short 09b1ah ; eb 05 14916 14914 mov word [bp-010h], strict word 00008h ; c7 46 f0 08 00 14917 14915 mov al, byte [bp-006h] ; 8a 46 fa 14918 14916 and AL, strict byte 007h ; 24 07 14919 14917 cmp AL, strict byte 001h ; 3c 01 14920 jne short 09b 3dh ; 75 1f14918 jne short 09b42h ; 75 1f 14921 14919 mov ax, bx ; 89 d8 14922 14920 shr ax, 008h ; c1 e8 08 14923 14921 test ax, ax ; 85 c0 14924 jne short 09b 3dh ; 75 1614922 jne short 09b42h ; 75 16 14925 14923 mov dx, strict word 0001ah ; ba 1a 00 14926 14924 mov ax, bx ; 89 d8 14927 call 09aa 9h ; e8 7a ff14925 call 09aaeh ; e8 7a ff 14928 14926 mov dx, 00cfeh ; ba fe 0c 14929 14927 in AL, DX ; ec … … 14931 14929 ; sub ah, ah ; 2a e4 14932 14930 cmp al, byte [bp-008h] ; 3a 46 f8 14933 jbe short 09b 3dh ; 76 0314931 jbe short 09b42h ; 76 03 14934 14932 mov byte [bp-008h], al ; 88 46 f8 14935 14933 test di, di ; 85 ff 14936 je short 09b4 6h ; 74 0514934 je short 09b4bh ; 74 05 14937 14935 mov dx, strict word 00008h ; ba 08 00 14938 jmp short 09b4 8h ; eb 0214936 jmp short 09b4dh ; eb 02 14939 14937 xor dx, dx ; 31 d2 14940 14938 mov ax, bx ; 89 d8 14941 call 09aa 9h ; e8 5c ff14939 call 09aaeh ; e8 5c ff 14942 14940 mov dx, 00cfch ; ba fc 0c 14943 14941 in eax, DX ; 66 ed … … 14950 14948 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 14951 14949 test di, di ; 85 ff 14952 je short 09b7 7h ; 74 0f14950 je short 09b7ch ; 74 0f 14953 14951 mov cx, strict word 00008h ; b9 08 00 14954 14952 shr dx, 1 ; d1 ea 14955 14953 rcr ax, 1 ; d1 d8 14956 loop 09b 6bh ; e2 fa14954 loop 09b70h ; e2 fa 14957 14955 mov word [bp-00ah], ax ; 89 46 f6 14958 14956 mov word [bp-00ch], dx ; 89 56 f4 14959 14957 mov ax, word [bp-00ch] ; 8b 46 f4 14960 14958 cmp ax, word [bp-014h] ; 3b 46 ec 14961 jne short 09b8 7h ; 75 0814959 jne short 09b8ch ; 75 08 14962 14960 mov ax, word [bp-00ah] ; 8b 46 f6 14963 14961 cmp ax, word [bp-012h] ; 3b 46 ee 14964 je short 09b 8dh ; 74 0614962 je short 09b92h ; 74 06 14965 14963 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 14966 je short 09b9 3h ; 74 0614964 je short 09b98h ; 74 06 14967 14965 dec si ; 4e 14968 14966 cmp si, strict byte 0ffffh ; 83 fe ff 14969 je short 09ba 7h ; 74 1414967 je short 09bach ; 74 14 14970 14968 add bx, word [bp-010h] ; 03 5e f0 14971 14969 mov dx, bx ; 89 da … … 14974 14972 xor ah, ah ; 30 e4 14975 14973 cmp dx, ax ; 39 c2 14976 jnbe short 09ba 7h ; 77 0314977 jmp near 09ae 3h ; e9 3c ff14974 jnbe short 09bach ; 77 03 14975 jmp near 09ae8h ; e9 3c ff 14978 14976 cmp si, strict byte 0ffffh ; 83 fe ff 14979 jne short 09bb 0h ; 75 0414977 jne short 09bb5h ; 75 04 14980 14978 mov ax, bx ; 89 d8 14981 jmp short 09bb 3h ; eb 0314979 jmp short 09bb8h ; eb 03 14982 14980 mov ax, strict word 0ffffh ; b8 ff ff 14983 14981 lea sp, [bp-004h] ; 8d 66 fc … … 14986 14984 pop bp ; 5d 14987 14985 retn ; c3 14988 cmpsw ; a714986 lodsb ; ac 14989 14987 pushfw ; 9c 14990 rcr byte [si-0632eh], 0e6h ; c0 9c d2 9c e6 14988 lds bx, [si-06329h] ; c5 9c d7 9c 14989 jmp short 09b63h ; eb 9c 14990 std ; fd 14991 14991 pushfw ; 9c 14992 clc ; f8 14993 pushfw ; 9c 14994 db 00bh 14992 db 010h 14995 14993 popfw ; 9d 14996 _pci16_function: ; 0xf9bc 6LB 0x1d214994 _pci16_function: ; 0xf9bcb LB 0x1d2 14997 14995 push bp ; 55 14998 14996 mov bp, sp ; 89 e5 … … 15008 15006 xor ah, ah ; 30 e4 15009 15007 cmp bx, strict byte 00003h ; 83 fb 03 15010 jc short 09bf 8h ; 72 1315011 jbe short 09c 4bh ; 76 6415008 jc short 09bfdh ; 72 13 15009 jbe short 09c50h ; 76 64 15012 15010 cmp bx, strict byte 0000eh ; 83 fb 0e 15013 je short 09c5 3h ; 74 6715011 je short 09c58h ; 74 67 15014 15012 cmp bx, strict byte 00008h ; 83 fb 08 15015 jc short 09c0 2h ; 72 1115013 jc short 09c07h ; 72 11 15016 15014 cmp bx, strict byte 0000dh ; 83 fb 0d 15017 jbe short 09c5 6h ; 76 6015018 jmp short 09c0 2h ; eb 0a15015 jbe short 09c5bh ; 76 60 15016 jmp short 09c07h ; eb 0a 15019 15017 cmp bx, strict byte 00002h ; 83 fb 02 15020 je short 09c2 1h ; 74 2415018 je short 09c26h ; 74 24 15021 15019 cmp bx, strict byte 00001h ; 83 fb 01 15022 je short 09c0 5h ; 74 0315023 jmp near 09d6 4h ; e9 5f 0115020 je short 09c0ah ; 74 03 15021 jmp near 09d69h ; e9 5f 01 15024 15022 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 15025 15023 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 15027 15025 mov word [bp+018h], 04350h ; c7 46 18 50 43 15028 15026 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 15029 jmp near 09d9 1h ; e9 70 0115027 jmp near 09d96h ; e9 70 01 15030 15028 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 15031 jne short 09c 2dh ; 75 0615029 jne short 09c32h ; 75 06 15032 15030 or ah, 083h ; 80 cc 83 15033 jmp near 09d8 ah ; e9 5d 0115031 jmp near 09d8fh ; e9 5d 01 15034 15032 mov bx, word [bp+008h] ; 8b 5e 08 15035 15033 mov dx, word [bp+01ch] ; 8b 56 1c 15036 15034 mov ax, word [bp+018h] ; 8b 46 18 15037 15035 xor cx, cx ; 31 c9 15038 call 09a cdh ; e8 92 fe15036 call 09ad2h ; e8 92 fe 15039 15037 cmp ax, strict word 0ffffh ; 3d ff ff 15040 jne short 09c 4dh ; 75 0d15038 jne short 09c52h ; 75 0d 15041 15039 mov ax, word [bp+020h] ; 8b 46 20 15042 15040 xor ah, ah ; 30 e4 15043 15041 or ah, 086h ; 80 cc 86 15044 jmp near 09d8 ah ; e9 3f 0115045 jmp short 09c5 8h ; eb 0b15042 jmp near 09d8fh ; e9 3f 01 15043 jmp short 09c5dh ; eb 0b 15046 15044 mov word [bp+014h], ax ; 89 46 14 15047 jmp near 09d9 1h ; e9 3e 0115048 jmp near 09d 1fh ; e9 c9 0015049 jmp short 09c 7dh ; eb 2515045 jmp near 09d96h ; e9 3e 01 15046 jmp near 09d24h ; e9 c9 00 15047 jmp short 09c82h ; eb 25 15050 15048 mov bx, word [bp+008h] ; 8b 5e 08 15051 15049 mov ax, word [bp+01ch] ; 8b 46 1c 15052 15050 mov dx, word [bp+01eh] ; 8b 56 1e 15053 15051 mov cx, strict word 00001h ; b9 01 00 15054 call 09a cdh ; e8 66 fe15052 call 09ad2h ; e8 66 fe 15055 15053 cmp ax, strict word 0ffffh ; 3d ff ff 15056 jne short 09c7 7h ; 75 0b15054 jne short 09c7ch ; 75 0b 15057 15055 mov ax, word [bp+020h] ; 8b 46 20 15058 15056 xor ah, ah ; 30 e4 15059 15057 or ah, 086h ; 80 cc 86 15060 jmp near 09d8 ah ; e9 13 0115058 jmp near 09d8fh ; e9 13 01 15061 15059 mov word [bp+014h], ax ; 89 46 14 15062 jmp near 09d9 1h ; e9 14 0115060 jmp near 09d96h ; e9 14 01 15063 15061 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 15064 jc short 09c8 ah ; 72 0615062 jc short 09c8fh ; 72 06 15065 15063 or ah, 087h ; 80 cc 87 15066 jmp near 09d8 ah ; e9 00 0115064 jmp near 09d8fh ; e9 00 01 15067 15065 mov dx, word [bp+004h] ; 8b 56 04 15068 15066 mov ax, word [bp+014h] ; 8b 46 14 15069 call 09aa 9h ; e8 16 fe15067 call 09aaeh ; e8 16 fe 15070 15068 mov bx, word [bp+020h] ; 8b 5e 20 15071 15069 xor bh, bh ; 30 ff 15072 15070 sub bx, strict byte 00008h ; 83 eb 08 15073 15071 cmp bx, strict byte 00005h ; 83 fb 05 15074 jnbe short 09d0 8h ; 77 6815072 jnbe short 09d0dh ; 77 68 15075 15073 add bx, bx ; 01 db 15076 jmp word [cs:bx-0644 6h] ; 2e ff a7 ba9b15074 jmp word [cs:bx-06441h] ; 2e ff a7 bf 9b 15077 15075 mov bx, word [bp+01ch] ; 8b 5e 1c 15078 15076 xor bl, bl ; 30 db … … 15085 15083 or bx, ax ; 09 c3 15086 15084 mov word [bp+01ch], bx ; 89 5e 1c 15087 jmp short 09d0 8h ; eb 4815085 jmp short 09d0dh ; eb 48 15088 15086 mov dx, word [bp+004h] ; 8b 56 04 15089 15087 xor dh, dh ; 30 f6 … … 15092 15090 in ax, DX ; ed 15093 15091 mov word [bp+01ch], ax ; 89 46 1c 15094 jmp short 09d0 8h ; eb 3615092 jmp short 09d0dh ; eb 36 15095 15093 mov dx, 00cfch ; ba fc 0c 15096 15094 in eax, DX ; 66 ed … … 15101 15099 mov word [bp+01ch], ax ; 89 46 1c 15102 15100 mov word [bp+01eh], dx ; 89 56 1e 15103 jmp short 09d0 8h ; eb 2215101 jmp short 09d0dh ; eb 22 15104 15102 mov ax, word [bp+01ch] ; 8b 46 1c 15105 15103 mov dx, word [bp+004h] ; 8b 56 04 … … 15108 15106 add dx, 00cfch ; 81 c2 fc 0c 15109 15107 out DX, AL ; ee 15110 jmp short 09d0 8h ; eb 1015108 jmp short 09d0dh ; eb 10 15111 15109 mov ax, word [bp+01ch] ; 8b 46 1c 15112 15110 mov dx, word [bp+004h] ; 8b 56 04 … … 15115 15113 add dx, 00cfch ; 81 c2 fc 0c 15116 15114 out DX, ax ; ef 15117 jmp near 09d9 1h ; e9 86 0015115 jmp near 09d96h ; e9 86 00 15118 15116 mov ax, word [bp+01ch] ; 8b 46 1c 15119 15117 mov cx, word [bp+01eh] ; 8b 4e 1e … … 15124 15122 ; mov ax, cx ; 8b c1 15125 15123 out DX, eax ; 66 ef 15126 jmp short 09d9 1h ; eb 7215124 jmp short 09d96h ; eb 72 15127 15125 mov bx, word [bp+004h] ; 8b 5e 04 15128 15126 mov es, [bp+026h] ; 8e 46 26 … … 15131 15129 mov cx, word [0f4a0h] ; 8b 0e a0 f4 15132 15130 cmp cx, word [es:bx] ; 26 3b 0f 15133 jbe short 09d4 5h ; 76 1115131 jbe short 09d4ah ; 76 11 15134 15132 mov ax, word [bp+020h] ; 8b 46 20 15135 15133 xor ah, ah ; 30 e4 … … 15137 15135 mov word [bp+020h], ax ; 89 46 20 15138 15136 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 15139 jmp short 09d5 9h ; eb 1415137 jmp short 09d5eh ; eb 14 15140 15138 les di, [es:bx+002h] ; 26 c4 7f 02 15141 15139 mov si, 0f2c0h ; be c0 f2 … … 15149 15147 les bx, [bp-008h] ; c4 5e f8 15150 15148 mov word [es:bx], ax ; 26 89 07 15151 jmp short 09d9 1h ; eb 2d15152 mov bx, 00da 6h ; bb a60d15149 jmp short 09d96h ; eb 2d 15150 mov bx, 00da4h ; bb a4 0d 15153 15151 mov cx, ds ; 8c d9 15154 15152 mov ax, strict word 00004h ; b8 04 00 15155 call 01923h ; e8 b47b15153 call 01923h ; e8 af 7b 15156 15154 mov ax, word [bp+014h] ; 8b 46 14 15157 15155 push ax ; 50 … … 15160 15158 push 00d5ch ; 68 5c 0d 15161 15159 push strict byte 00004h ; 6a 04 15162 call 01966h ; e8 e 77b15160 call 01966h ; e8 e2 7b 15163 15161 add sp, strict byte 00008h ; 83 c4 08 15164 15162 mov ax, word [bp+020h] ; 8b 46 20 … … 15172 15170 pop bp ; 5d 15173 15171 retn ; c3 15174 pci_find_classcode_: ; 0xf9d9 8LB 0x815172 pci_find_classcode_: ; 0xf9d9d LB 0x8 15175 15173 push bp ; 55 15176 15174 mov bp, sp ; 89 e5 … … 15178 15176 pop bp ; 5d 15179 15177 retn ; c3 15180 pci_read_config_byte_: ; 0xf9da 0LB 0x2e15178 pci_read_config_byte_: ; 0xf9da5 LB 0x2e 15181 15179 push bp ; 55 15182 15180 mov bp, sp ; 89 e5 … … 15204 15202 pop bp ; 5d 15205 15203 retn ; c3 15206 pci_read_config_word_: ; 0xf9d ceLB 0x2a15204 pci_read_config_word_: ; 0xf9dd3 LB 0x2a 15207 15205 push bp ; 55 15208 15206 mov bp, sp ; 89 e5 … … 15228 15226 pop bp ; 5d 15229 15227 retn ; c3 15230 pci_read_config_dword_: ; 0xf9df 8LB 0x4e15228 pci_read_config_dword_: ; 0xf9dfd LB 0x4e 15231 15229 push bp ; 55 15232 15230 mov bp, sp ; 89 e5 … … 15250 15248 int 01ah ; cd 1a 15251 15249 test cx, cx ; 85 c9 15252 jne short 09e3 7h ; 75 1415250 jne short 09e3ch ; 75 14 15253 15251 mov al, byte [bp-006h] ; 8a 46 fa 15254 15252 xor ah, ah ; 30 e4 … … 15260 15258 int 01ah ; cd 1a 15261 15259 test cx, cx ; 85 c9 15262 je short 09e 3ch ; 74 0515260 je short 09e41h ; 74 05 15263 15261 mov ax, strict word 00001h ; b8 01 00 15264 jmp short 09e 3eh ; eb 0215262 jmp short 09e43h ; eb 02 15265 15263 xor ax, ax ; 31 c0 15266 15264 cwd ; 99 … … 15270 15268 pop bp ; 5d 15271 15269 retn ; c3 15272 vds_is_present_: ; 0xf9e4 6LB 0x1d15270 vds_is_present_: ; 0xf9e4b LB 0x1d 15273 15271 push bx ; 53 15274 15272 push bp ; 55 … … 15278 15276 mov es, ax ; 8e c0 15279 15277 test byte [es:bx], 020h ; 26 f6 07 20 15280 je short 09e 5eh ; 74 0615278 je short 09e63h ; 74 06 15281 15279 mov ax, strict word 00001h ; b8 01 00 15282 15280 pop bp ; 5d … … 15287 15285 pop bx ; 5b 15288 15286 retn ; c3 15289 vds_real_to_lin_: ; 0xf9e6 3LB 0x1e15287 vds_real_to_lin_: ; 0xf9e68 LB 0x1e 15290 15288 push bx ; 53 15291 15289 push cx ; 51 … … 15298 15296 sal ax, 1 ; d1 e0 15299 15297 rcl dx, 1 ; d1 d2 15300 loop 09e7 1h ; e2 fa15298 loop 09e76h ; e2 fa 15301 15299 xor cx, cx ; 31 c9 15302 15300 add ax, bx ; 01 d8 … … 15306 15304 pop bx ; 5b 15307 15305 retn ; c3 15308 vds_build_sg_list_: ; 0xf9e8 1LB 0x7715306 vds_build_sg_list_: ; 0xf9e86 LB 0x77 15309 15307 push bp ; 55 15310 15308 mov bp, sp ; 89 e5 … … 15320 15318 mov bx, word [bp+006h] ; 8b 5e 06 15321 15319 mov word [es:di+002h], bx ; 26 89 5d 02 15322 call 09e6 3h ; e8 c3 ff15320 call 09e68h ; e8 c3 ff 15323 15321 mov es, si ; 8e c6 15324 15322 mov word [es:di+004h], ax ; 26 89 45 04 15325 15323 mov word [es:di+006h], dx ; 26 89 55 06 15326 15324 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 15327 call 09e4 6h ; e8 93 ff15325 call 09e4bh ; e8 93 ff 15328 15326 test ax, ax ; 85 c0 15329 je short 09ec 8h ; 74 1115327 je short 09ecdh ; 74 11 15330 15328 mov es, si ; 8e c6 15331 15329 mov ax, 08105h ; b8 05 81 15332 15330 mov dx, strict word 00000h ; ba 00 00 15333 15331 int 04bh ; cd 4b 15334 jc short 09ec 5h ; 72 0215332 jc short 09ecah ; 72 02 15335 15333 db 032h, 0c0h 15336 15334 ; xor al, al ; 32 c0 15337 15335 cbw ; 98 15338 jmp short 09e efh ; eb 2715336 jmp short 09ef4h ; eb 27 15339 15337 mov es, si ; 8e c6 15340 15338 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 15353 15351 pop bp ; 5d 15354 15352 retn 00004h ; c2 04 00 15355 vds_free_sg_list_: ; 0xf9ef 8 LB 0x3815353 vds_free_sg_list_: ; 0xf9efd LB 0x33 15356 15354 push bp ; 55 15357 15355 mov bp, sp ; 89 e5 … … 15359 15357 push di ; 57 15360 15358 mov bx, ax ; 89 c3 15361 call 09e4 6h ; e8 44 ff15359 call 09e4bh ; e8 44 ff 15362 15360 test ax, ax ; 85 c0 15363 je short 09f1 7h ; 74 1115361 je short 09f1ch ; 74 11 15364 15362 mov di, bx ; 89 df 15365 15363 mov es, dx ; 8e c2 … … 15367 15365 mov dx, strict word 00000h ; ba 00 00 15368 15366 int 04bh ; cd 4b 15369 jc short 09f1 6h ; 72 0215367 jc short 09f1bh ; 72 02 15370 15368 db 032h, 0c0h 15371 15369 ; xor al, al ; 32 c0 … … 15378 15376 pop bp ; 5d 15379 15377 retn ; c3 15380 times 0x adb 015378 times 0x5 db 0 15381 15379 __U4M: ; 0xf9f30 LB 0x20 15382 15380 pushfw ; 9c … … 16581 16579 call 01c9fh ; e8 63 39 16582 16580 call 02118h ; e8 d9 3d 16583 call 0986 4h ; e8 22b516584 call 086 efh ; e8 aaa316581 call 09869h ; e8 27 b5 16582 call 086f4h ; e8 af a3 16585 16583 call 0ed2fh ; e8 e7 09 16586 16584 call 0e2d2h ; e8 87 ff … … 16848 16846 pop DS ; 1f 16849 16847 cld ; fc 16850 call 06e 5eh ; e8 7f8416848 call 06e63h ; e8 84 84 16851 16849 pop DS ; 1f 16852 16850 pop ES ; 07 … … 17166 17164 pop DS ; 1f 17167 17165 cld ; fc 17168 call 07 7fch ; e8 1f8817166 call 07801h ; e8 24 88 17169 17167 popaw ; 61 17170 17168 pop ES ; 07 … … 17522 17520 pop DS ; 1f 17523 17521 cld ; fc 17524 call 06cd 4h ; e8 6d7417522 call 06cd9h ; e8 72 74 17525 17523 pop DS ; 1f 17526 17524 pop ES ; 07 … … 17544 17542 cmp ah, 0c2h ; 80 fc c2 17545 17543 je short 0f899h ; 74 0e 17546 call 066 0eh ; e8 806d17544 call 06613h ; e8 85 6d 17547 17545 popaw ; 61 17548 17546 pop ES ; 07 … … 17550 17548 popfw ; 9d 17551 17549 jmp short 0f8a5h ; eb 11 17552 call 099b 6h ; e8 1fa117550 call 099bbh ; e8 24 a1 17553 17551 jmp short 0f88eh ; eb f5 17554 17552 int15_handler_mouse: ; 0xff899 LB 0x5 17555 call 074 6fh ; e8 d37b17553 call 07474h ; e8 d8 7b 17556 17554 jmp short 0f88eh ; eb f0 17557 17555 int15_handler32: ; 0xff89e LB 0x7 17558 17556 pushaw ; 60 17559 call 0694 ah ; e8 a87017557 call 0694fh ; e8 ad 70 17560 17558 popaw ; 61 17561 17559 jmp short 0f88fh ; eb ea … … 17589 17587 pop DS ; 1f 17590 17588 cld ; fc 17591 call 073 9dh ; e8 d37a17589 call 073a2h ; e8 d8 7a 17592 17590 pop cx ; 59 17593 17591 jcxz 0f8d9h ; e3 0c … … 17621 17619 pop DS ; 1f 17622 17620 cld ; fc 17623 call 0704 2h ; e8 437717621 call 07047h ; e8 48 77 17624 17622 popaw ; 61 17625 17623 pop DS ; 1f … … 17710 17708 pop DS ; 1f 17711 17709 cld ; fc 17712 call 0710 1h ; e8 8a7217710 call 07106h ; e8 8f 72 17713 17711 popaw ; 61 17714 17712 pop DS ; 1f … … 17815 17813 cpu_reset: ; 0xffff0 LB 0x10 17816 17814 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 17817 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0 b4h17815 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 094h -
TabularUnified trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.md5sum ¶
r61733 r62120 1 5d85b3dd65aa1cec48a67e325e83affc*VBoxPcBios286.rom1 e4ac8aec672491c587d1a698e0673e65 *VBoxPcBios286.rom -
TabularUnified trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.asm ¶
r61733 r62120 951 951 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 952 952 _pktacc: ; 0xf006a LB 0xc 953 db 000h, 000h, 000h, 000h, 000h, 000h, 0cch, 02bh, 0d ah, 080h, 001h, 090h953 db 000h, 000h, 000h, 000h, 000h, 000h, 0cch, 02bh, 0dfh, 080h, 006h, 090h 954 954 _softrst: ; 0xf0076 LB 0xc 955 955 db 000h, 000h, 000h, 000h, 000h, 000h, 0b4h, 02eh, 091h, 03bh, 091h, 03bh 956 956 _dskacc: ; 0xf0082 LB 0x2e 957 957 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0bch, 02ah, 071h, 02bh, 000h, 000h, 000h, 000h 958 db 02 4h, 07fh, 0ffh, 07fh, 0d7h, 08eh, 07dh, 08fh, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h958 db 029h, 07fh, 004h, 080h, 0dch, 08eh, 082h, 08fh, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 959 959 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 960 960 … … 1077 1077 db 'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h 1078 1078 1079 section CONST2 progbits vstart=0xd8e align=1 ; size=0x 400class=DATA group=DGROUP1080 _bios_cvs_version_string: ; 0xf0d8e LB 0x1 81081 db 'VirtualBox 5.1.0_ BETA3', 000h, 000h1082 _bios_prefix_string: ; 0xf0da 6LB 0x81079 section CONST2 progbits vstart=0xd8e align=1 ; size=0x3fe class=DATA group=DGROUP 1080 _bios_cvs_version_string: ; 0xf0d8e LB 0x16 1081 db 'VirtualBox 5.1.0_RC1', 000h, 000h 1082 _bios_prefix_string: ; 0xf0da4 LB 0x8 1083 1083 db 'BIOS: ', 000h, 000h 1084 _isotag: ; 0xf0da eLB 0x61084 _isotag: ; 0xf0dac LB 0x6 1085 1085 db 'CD001', 000h 1086 _eltorito: ; 0xf0db 4LB 0x181086 _eltorito: ; 0xf0db2 LB 0x18 1087 1087 db 'EL TORITO SPECIFICATION', 000h 1088 _drivetypes: ; 0xf0dc cLB 0x281088 _drivetypes: ; 0xf0dca LB 0x28 1089 1089 db 046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h 1090 1090 db 069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h 1091 1091 db 04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1092 _scan_to_scanascii: ; 0xf0df 4LB 0x37a1092 _scan_to_scanascii: ; 0xf0df2 LB 0x37a 1093 1093 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h 1094 1094 db 000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h … … 1147 1147 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h 1148 1148 db 000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h 1149 _panic_msg_keyb_buffer_full: ; 0xf116 eLB 0x201149 _panic_msg_keyb_buffer_full: ; 0xf116c LB 0x20 1150 1150 db '%s: keyboard input buffer full', 00ah, 000h 1151 1151 1152 ; Padding 0x47 2 bytes at 0xf118e1153 times 11 38db 01152 ; Padding 0x474 bytes at 0xf118c 1153 times 1140 db 0 1154 1154 1155 1155 section _TEXT progbits vstart=0x1600 align=1 ; size=0x89b5 class=CODE group=AUTO … … 1429 1429 push bp ; 55 1430 1430 mov bp, sp ; 89 e5 1431 mov bx, 00da 6h ; bb a60d1431 mov bx, 00da4h ; bb a4 0d 1432 1432 mov cx, ds ; 8c d9 1433 1433 mov ax, strict word 00004h ; b8 04 00 … … 1458 1458 int 010h ; cd 10 1459 1459 jmp short 01829h ; eb 03 1460 call 07a efh ; e8 c6621460 call 07af4h ; e8 cb 62 1461 1461 mov sp, bp ; 89 ec 1462 1462 pop bp ; 5d … … 2716 2716 lea ax, [bp-03ah] ; 8d 46 c6 2717 2717 call 059a6h ; e8 66 35 2718 mov bx, 00da 6h ; bb a60d2718 mov bx, 00da4h ; bb a4 0d 2719 2719 mov cx, ds ; 8c d9 2720 2720 mov ax, strict word 00004h ; b8 04 00 … … 3467 3467 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 3468 3468 jne short 02c1eh ; 75 1f 3469 mov bx, 00da 6h ; bb a60d3469 mov bx, 00da4h ; bb a4 0d 3470 3470 mov cx, ds ; 8c d9 3471 3471 mov ax, strict word 00004h ; b8 04 00 … … 4347 4347 cmp cl, 048h ; 80 f9 48 4348 4348 jbe short 033d6h ; 76 2a 4349 mov bx, 00da 6h ; bb a60d4349 mov bx, 00da4h ; bb a4 0d 4350 4350 mov cx, ds ; 8c d9 4351 4351 mov ax, strict word 00004h ; b8 04 00 … … 5109 5109 mov word [bp+008h], ax ; 89 46 08 5110 5110 jmp near 039e1h ; e9 a2 fe 5111 mov bx, 00da 6h ; bb a60d5111 mov bx, 00da4h ; bb a4 0d 5112 5112 mov cx, ds ; 8c d9 5113 5113 mov ax, strict word 00004h ; b8 04 00 … … 5206 5206 cmp ax, strict word 0004ah ; 3d 4a 00 5207 5207 jne near 03d29h ; 0f 85 1e 01 5208 mov bx, 00da 6h ; bb a60d5208 mov bx, 00da4h ; bb a4 0d 5209 5209 mov cx, ds ; 8c d9 5210 5210 mov ax, strict word 00004h ; b8 04 00 … … 5304 5304 pop bp ; 5d 5305 5305 retn ; c3 5306 mov bx, 00da 6h ; bb a60d5306 mov bx, 00da4h ; bb a4 0d 5307 5307 mov cx, ds ; 8c d9 5308 5308 mov ax, strict word 00004h ; b8 04 00 … … 5439 5439 jnc short 03e93h ; 73 10 5440 5440 mov al, byte [bp+di-00825h] ; 8a 83 db f7 5441 cmp al, byte [di+00da eh] ; 3a 85 ae0d5441 cmp al, byte [di+00dach] ; 3a 85 ac 0d 5442 5442 je short 03e7dh ; 74 f0 5443 5443 mov ax, strict word 00005h ; b8 05 00 … … 5449 5449 jnc short 03eadh ; 73 10 5450 5450 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 5451 cmp al, byte [di+00db 4h] ; 3a 85 b40d5451 cmp al, byte [di+00db2h] ; 3a 85 b2 0d 5452 5452 je short 03e97h ; 74 f0 5453 5453 mov ax, strict word 00006h ; b8 06 00 … … 5727 5727 cmp dx, ax ; 39 c2 5728 5728 je short 0422fh ; 74 29 5729 mov bx, 00da 6h ; bb a60d5729 mov bx, 00da4h ; bb a4 0d 5730 5730 mov cx, ds ; 8c d9 5731 5731 mov ax, strict word 00004h ; b8 04 00 … … 5949 5949 test al, al ; 84 c0 5950 5950 je near 0427bh ; 0f 84 13 fe 5951 mov bx, 00da 6h ; bb a60d5951 mov bx, 00da4h ; bb a4 0d 5952 5952 mov cx, ds ; 8c d9 5953 5953 mov ax, strict word 00004h ; b8 04 00 … … 6030 6030 mov word [bp+016h], bx ; 89 5e 16 6031 6031 jmp near 0427fh ; e9 37 fd 6032 mov bx, 00da 6h ; bb a60d6032 mov bx, 00da4h ; bb a4 0d 6033 6033 mov cx, ds ; 8c d9 6034 6034 mov ax, strict word 00004h ; b8 04 00 … … 6241 6241 test dl, dl ; 84 d2 6242 6242 je near 048a5h ; 0f 84 cb 00 6243 mov bx, 00da 6h ; bb a60d6243 mov bx, 00da4h ; bb a4 0d 6244 6244 mov cx, ds ; 8c d9 6245 6245 mov ax, strict word 00004h ; b8 04 00 … … 6525 6525 or byte [bp+01eh], 001h ; 80 4e 1e 01 6526 6526 jmp near 048b8h ; e9 8f fd 6527 mov bx, 00da 6h ; bb a60d6527 mov bx, 00da4h ; bb a4 0d 6528 6528 mov cx, ds ; 8c d9 6529 6529 mov ax, strict word 00004h ; b8 04 00 … … 6555 6555 je short 04b8bh ; 74 21 6556 6556 mov dx, strict word 00001h ; ba 01 00 6557 mov bx, 00da 6h ; bb a60d6557 mov bx, 00da4h ; bb a4 0d 6558 6558 mov cx, ds ; 8c d9 6559 6559 mov ax, strict word 00004h ; b8 04 00 6560 6560 call 01999h ; e8 21 ce 6561 6561 imul dx, dx, strict byte 0000ah ; 6b d2 0a 6562 add dx, 00dc ch ; 81 c2 cc0d6562 add dx, 00dcah ; 81 c2 ca 0d 6563 6563 push dx ; 52 6564 6564 push 00494h ; 68 94 04 … … 6580 6580 test al, al ; 84 c0 6581 6581 je short 04bbeh ; 74 1b 6582 mov bx, 00da 6h ; bb a60d6582 mov bx, 00da4h ; bb a4 0d 6583 6583 mov cx, ds ; 8c d9 6584 6584 mov ax, strict word 00004h ; b8 04 00 6585 6585 call 01999h ; e8 eb cd 6586 push 00d e0h ; 68 e00d6586 push 00ddeh ; 68 de 0d 6587 6587 push 004a8h ; 68 a8 04 6588 6588 push strict byte 00004h ; 6a 04 … … 6592 6592 test dl, dl ; 84 d2 6593 6593 je short 04bd2h ; 74 10 6594 mov bx, 00da 6h ; bb a60d6594 mov bx, 00da4h ; bb a4 0d 6595 6595 mov cx, ds ; 8c d9 6596 6596 mov ax, strict word 00004h ; b8 04 00 6597 6597 call 01999h ; e8 cc cd 6598 push 00de ah ; 68 ea0d6598 push 00de8h ; 68 e8 0d 6599 6599 jmp short 04bb1h ; eb df 6600 6600 test bl, 080h ; f6 c3 80 6601 6601 je short 04be8h ; 74 11 6602 mov bx, 00da 6h ; bb a60d6602 mov bx, 00da4h ; bb a4 0d 6603 6603 mov cx, ds ; 8c d9 6604 6604 mov ax, strict word 00004h ; b8 04 00 6605 6605 call 01999h ; e8 b7 cd 6606 6606 push si ; 56 6607 push 00dd 6h ; 68 d60d6607 push 00dd4h ; 68 d4 0d 6608 6608 jmp short 04bf7h ; eb 0f 6609 mov bx, 00da 6h ; bb a60d6609 mov bx, 00da4h ; bb a4 0d 6610 6610 mov cx, ds ; 8c d9 6611 6611 mov ax, strict word 00004h ; b8 04 00 6612 6612 call 01999h ; e8 a6 cd 6613 6613 push si ; 56 6614 push 00dc ch ; 68 cc0d6614 push 00dcah ; 68 ca 0d 6615 6615 push 004bdh ; 68 bd 04 6616 6616 push strict byte 00004h ; 6a 04 … … 6638 6638 push dx ; 52 6639 6639 mov dx, ax ; 89 c2 6640 mov bx, 00da 6h ; bb a60d6640 mov bx, 00da4h ; bb a4 0d 6641 6641 mov cx, ds ; 8c d9 6642 6642 mov ax, strict word 00004h ; b8 04 00 … … 6696 6696 xor ah, ah ; 30 e4 6697 6697 sar ax, 004h ; c1 f8 04 6698 call 07d1 3h ; e8 5a306698 call 07d18h ; e8 5f 30 6699 6699 cmp byte [bp+004h], 002h ; 80 7e 04 02 6700 6700 jne short 04cc2h ; 75 03 … … 6713 6713 mov byte [bp-00ah], al ; 88 46 f6 6714 6714 mov byte [bp-00ch], al ; 88 46 f4 6715 mov bx, 00da 6h ; bb a60d6715 mov bx, 00da4h ; bb a4 0d 6716 6716 mov cx, ds ; 8c d9 6717 6717 mov ax, strict word 00004h ; b8 04 00 … … 7189 7189 out DX, AL ; ee 7190 7190 xor ax, ax ; 31 c0 7191 call 0656 1h ; e8 47147191 call 06566h ; e8 4c 14 7192 7192 mov sp, bp ; 89 ec 7193 7193 pop bp ; 5d … … 7283 7283 test al, al ; 84 c0 7284 7284 jne short 051e1h ; 75 19 7285 mov bx, 00da 6h ; bb a60d7285 mov bx, 00da4h ; bb a4 0d 7286 7286 mov cx, ds ; 8c d9 7287 7287 mov ax, strict word 00004h ; b8 04 00 … … 7600 7600 cmp byte [bp-00ch], 058h ; 80 7e f4 58 7601 7601 jbe short 05555h ; 76 1e 7602 mov bx, 00da 6h ; bb a60d7602 mov bx, 00da4h ; bb a4 0d 7603 7603 mov cx, ds ; 8c d9 7604 7604 mov ax, strict word 00004h ; b8 04 00 … … 7616 7616 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7617 7617 imul bx, bx, strict byte 0000ah ; 6b db 0a 7618 mov dl, byte [bx+00df ah] ; 8a 97 fa0d7619 mov ax, word [bx+00df ah] ; 8b 87 fa0d7618 mov dl, byte [bx+00df8h] ; 8a 97 f8 0d 7619 mov ax, word [bx+00df8h] ; 8b 87 f8 0d 7620 7620 jmp near 055fch ; e9 8e 00 7621 7621 test AL, strict byte 004h ; a8 04 … … 7623 7623 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7624 7624 imul bx, bx, strict byte 0000ah ; 6b db 0a 7625 mov dl, byte [bx+00df 8h] ; 8a 97 f80d7626 mov ax, word [bx+00df 8h] ; 8b 87 f80d7625 mov dl, byte [bx+00df6h] ; 8a 97 f6 0d 7626 mov ax, word [bx+00df6h] ; 8b 87 f6 0d 7627 7627 jmp near 055fch ; e9 78 00 7628 7628 mov al, byte [bp-004h] ; 8a 46 fc … … 7643 7643 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7644 7644 imul bx, bx, strict byte 0000ah ; 6b db 0a 7645 movzx ax, byte [bx+00df ch] ; 0f b6 87 fc0d7645 movzx ax, byte [bx+00dfah] ; 0f b6 87 fa 0d 7646 7646 movzx dx, byte [bp-008h] ; 0f b6 56 f8 7647 7647 test dx, ax ; 85 c2 7648 7648 je short 055c6h ; 74 0a 7649 mov dl, byte [bx+00df2h] ; 8a 97 f2 0d 7650 mov ax, word [bx+00df2h] ; 8b 87 f2 0d 7651 jmp short 055ceh ; eb 08 7649 7652 mov dl, byte [bx+00df4h] ; 8a 97 f4 0d 7650 7653 mov ax, word [bx+00df4h] ; 8b 87 f4 0d 7651 jmp short 055ceh ; eb 087652 mov dl, byte [bx+00df6h] ; 8a 97 f6 0d7653 mov ax, word [bx+00df6h] ; 8b 87 f6 0d7654 7654 shr ax, 008h ; c1 e8 08 7655 7655 mov byte [bp-00ch], al ; 88 46 f4 … … 7657 7657 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7658 7658 imul bx, bx, strict byte 0000ah ; 6b db 0a 7659 movzx ax, byte [bx+00df ch] ; 0f b6 87 fc0d7659 movzx ax, byte [bx+00dfah] ; 0f b6 87 fa 0d 7660 7660 movzx dx, byte [bp-008h] ; 0f b6 56 f8 7661 7661 test dx, ax ; 85 c2 7662 7662 je short 055f4h ; 74 0a 7663 mov dl, byte [bx+00df6h] ; 8a 97 f6 0d7664 mov ax, word [bx+00df6h] ; 8b 87 f6 0d7665 jmp short 055fch ; eb 087666 7663 mov dl, byte [bx+00df4h] ; 8a 97 f4 0d 7667 7664 mov ax, word [bx+00df4h] ; 8b 87 f4 0d 7665 jmp short 055fch ; eb 08 7666 mov dl, byte [bx+00df2h] ; 8a 97 f2 0d 7667 mov ax, word [bx+00df2h] ; 8b 87 f2 0d 7668 7668 shr ax, 008h ; c1 e8 08 7669 7669 mov byte [bp-00ch], al ; 88 46 f4 … … 7672 7672 test dl, dl ; 84 d2 7673 7673 jne short 05622h ; 75 16 7674 mov bx, 00da 6h ; bb a60d7674 mov bx, 00da4h ; bb a4 0d 7675 7675 mov cx, ds ; 8c d9 7676 7676 mov ax, strict word 00004h ; b8 04 00 … … 8025 8025 or ah, 080h ; 80 cc 80 8026 8026 jmp near 05832h ; e9 d5 fe 8027 mov bx, 00da 6h ; bb a60d8027 mov bx, 00da4h ; bb a4 0d 8028 8028 mov cx, ds ; 8c d9 8029 8029 mov ax, strict word 00004h ; b8 04 00 … … 8036 8036 call 019dah ; e8 63 c0 8037 8037 add sp, strict byte 00006h ; 83 c4 06 8038 mov bx, 00da 6h ; bb a60d8038 mov bx, 00da4h ; bb a4 0d 8039 8039 mov cx, ds ; 8c d9 8040 8040 mov ax, strict word 00004h ; b8 04 00 … … 8261 8261 test ax, ax ; 85 c0 8262 8262 jne short 05bc6h ; 75 23 8263 mov bx, 00da 6h ; bb a60d8263 mov bx, 00da4h ; bb a4 0d 8264 8264 mov cx, ds ; 8c d9 8265 8265 mov ax, strict word 00004h ; b8 04 00 … … 8290 8290 cmp ax, dx ; 39 d0 8291 8291 jbe short 05c21h ; 76 2e 8292 mov bx, 00da 6h ; bb a60d8292 mov bx, 00da4h ; bb a4 0d 8293 8293 mov cx, ds ; 8c d9 8294 8294 mov ax, strict word 00004h ; b8 04 00 … … 8390 8390 test dl, dl ; 84 d2 8391 8391 je near 05b24h ; 0f 84 0a fe 8392 mov bx, 00da 6h ; bb a60d8392 mov bx, 00da4h ; bb a4 0d 8393 8393 mov cx, ds ; 8c d9 8394 8394 mov ax, strict word 00004h ; b8 04 00 … … 8408 8408 or ah, 00ch ; 80 cc 0c 8409 8409 jmp near 05e9ah ; e9 51 01 8410 mov bx, 00da 6h ; bb a60d8410 mov bx, 00da4h ; bb a4 0d 8411 8411 mov cx, ds ; 8c d9 8412 8412 mov ax, strict word 00004h ; b8 04 00 … … 8507 8507 mov word [bp+016h], ax ; 89 46 16 8508 8508 jmp near 05b28h ; e9 d4 fc 8509 mov bx, 00da 6h ; bb a60d8509 mov bx, 00da4h ; bb a4 0d 8510 8510 mov cx, ds ; 8c d9 8511 8511 mov ax, strict word 00004h ; b8 04 00 … … 8520 8520 add sp, strict byte 00008h ; 83 c4 08 8521 8521 jmp near 05b24h ; e9 ad fc 8522 mov bx, 00da 6h ; bb a60d8522 mov bx, 00da4h ; bb a4 0d 8523 8523 mov cx, ds ; 8c d9 8524 8524 mov ax, strict word 00004h ; b8 04 00 … … 8664 8664 cmp dx, word [es:di+036h] ; 26 3b 55 36 8665 8665 jc short 06028h ; 72 23 8666 mov bx, 00da 6h ; bb a60d8666 mov bx, 00da4h ; bb a4 0d 8667 8667 mov cx, ds ; 8c d9 8668 8668 mov ax, strict word 00004h ; b8 04 00 … … 8720 8720 test dl, dl ; 84 d2 8721 8721 je near 0635fh ; 0f 84 a8 02 8722 mov bx, 00da 6h ; bb a60d8722 mov bx, 00da4h ; bb a4 0d 8723 8723 mov cx, ds ; 8c d9 8724 8724 mov ax, strict word 00004h ; b8 04 00 … … 8966 8966 or byte [bp+01ch], 001h ; 80 4e 1c 01 8967 8967 jmp short 06372h ; eb c4 8968 mov bx, 00da 6h ; bb a60d8968 mov bx, 00da4h ; bb a4 0d 8969 8969 mov cx, ds ; 8c d9 8970 8970 mov ax, strict word 00004h ; b8 04 00 … … 8976 8976 push 007c7h ; 68 c7 07 8977 8977 jmp near 0601dh ; e9 54 fc 8978 _int14_function: ; 0xf63c9 LB 0x15 58978 _int14_function: ; 0xf63c9 LB 0x15a 8979 8979 push bp ; 55 8980 8980 mov bp, sp ; 89 e5 … … 8993 8993 mov cl, al ; 88 c1 8994 8994 cmp word [bp+00eh], strict byte 00004h ; 83 7e 0e 04 8995 jnc near 0651 4h ; 0f 83 21018995 jnc near 06519h ; 0f 83 26 01 8996 8996 test si, si ; 85 f6 8997 jbe near 0651 4h ; 0f 86 1b018997 jbe near 06519h ; 0f 86 20 01 8998 8998 mov al, byte [bp+013h] ; 8a 46 13 8999 8999 cmp AL, strict byte 001h ; 3c 01 9000 9000 jc short 06411h ; 72 11 9001 jbe short 0646 5h ; 76 639001 jbe short 0646ah ; 76 68 9002 9002 cmp AL, strict byte 003h ; 3c 03 9003 je near 06 4fdh ; 0f 84 f5009003 je near 06502h ; 0f 84 fa 00 9004 9004 cmp AL, strict byte 002h ; 3c 02 9005 je near 064b 3h ; 0f 84 a5009006 jmp near 065 0eh ; e9 fd 009005 je near 064b8h ; 0f 84 aa 00 9006 jmp near 06513h ; e9 02 01 9007 9007 test al, al ; 84 c0 9008 jne near 065 0eh ; 0f 85 f7009008 jne near 06513h ; 0f 85 fc 00 9009 9009 lea dx, [bx+003h] ; 8d 57 03 9010 9010 in AL, DX ; ec … … 9013 9013 or AL, strict byte 080h ; 0c 80 9014 9014 out DX, AL ; ee 9015 lea si, [bx+001h] ; 8d 77 01 9015 9016 mov al, byte [bp+012h] ; 8a 46 12 9017 test AL, strict byte 0e0h ; a8 e0 9018 jne short 06436h ; 75 0c 9019 mov AL, strict byte 017h ; b0 17 9020 mov dx, bx ; 89 da 9021 out DX, AL ; ee 9022 mov AL, strict byte 004h ; b0 04 9023 mov dx, si ; 89 f2 9024 out DX, AL ; ee 9025 jmp short 0644ch ; eb 16 9016 9026 and AL, strict byte 0e0h ; 24 e0 9017 9027 movzx cx, al ; 0f b6 c8 … … 9022 9032 out DX, AL ; ee 9023 9033 shr ax, 008h ; c1 e8 08 9024 lea dx, [bx+001h] ; 8d 57 019034 mov dx, si ; 89 f2 9025 9035 out DX, AL ; ee 9026 9036 mov al, byte [bp+012h] ; 8a 46 12 … … 9038 9048 ; sub ah, ah ; 2a e4 9039 9049 mov byte [bp+012h], al ; 88 46 12 9040 jmp near 064efh ; e9 97 00 9041 mov AL, strict byte 017h ; b0 17 9042 mov dx, bx ; 89 da 9043 out DX, AL ; ee 9044 lea dx, [bx+001h] ; 8d 57 01 9045 mov AL, strict byte 004h ; b0 04 9046 out DX, AL ; ee 9047 jmp short 0643ah ; eb d5 9050 jmp near 064f4h ; e9 8a 00 9048 9051 mov dx, strict word 0006ch ; ba 6c 00 9049 9052 mov ax, strict word 00040h ; b8 40 00 9050 call 016d4h ; e8 6 6b29053 call 016d4h ; e8 61 b2 9051 9054 mov si, ax ; 89 c6 9052 9055 lea dx, [bx+005h] ; 8d 57 05 … … 9056 9059 and ax, strict word 00060h ; 25 60 00 9057 9060 cmp ax, strict word 00060h ; 3d 60 00 9058 je short 0649 5h ; 74 179061 je short 0649ah ; 74 17 9059 9062 test cl, cl ; 84 c9 9060 je short 0649 5h ; 74 139063 je short 0649ah ; 74 13 9061 9064 mov dx, strict word 0006ch ; ba 6c 00 9062 9065 mov ax, strict word 00040h ; b8 40 00 9063 call 016d4h ; e8 4 9b29066 call 016d4h ; e8 44 b2 9064 9067 cmp ax, si ; 39 f0 9065 je short 0647 0h ; 74 e19068 je short 06475h ; 74 e1 9066 9069 mov si, ax ; 89 c6 9067 9070 db 0feh, 0c9h 9068 9071 ; dec cl ; fe c9 9069 jmp short 0647 0h ; eb db9072 jmp short 06475h ; eb db 9070 9073 test cl, cl ; 84 c9 9071 je short 064 9fh ; 74 069074 je short 064a4h ; 74 06 9072 9075 mov al, byte [bp+012h] ; 8a 46 12 9073 9076 mov dx, bx ; 89 da … … 9079 9082 mov byte [bp+013h], al ; 88 46 13 9080 9083 test cl, cl ; 84 c9 9081 jne short 064 efh ; 75 439084 jne short 064f4h ; 75 43 9082 9085 or AL, strict byte 080h ; 0c 80 9083 9086 mov byte [bp+013h], al ; 88 46 13 9084 jmp short 064 efh ; eb 3c9087 jmp short 064f4h ; eb 3c 9085 9088 mov dx, strict word 0006ch ; ba 6c 00 9086 9089 mov ax, strict word 00040h ; b8 40 00 9087 call 016d4h ; e8 1 8b29090 call 016d4h ; e8 13 b2 9088 9091 mov si, ax ; 89 c6 9089 9092 lea dx, [bx+005h] ; 8d 57 05 … … 9092 9095 ; sub ah, ah ; 2a e4 9093 9096 test AL, strict byte 001h ; a8 01 9094 jne short 064 dfh ; 75 179097 jne short 064e4h ; 75 17 9095 9098 test cl, cl ; 84 c9 9096 je short 064 dfh ; 74 139099 je short 064e4h ; 74 13 9097 9100 mov dx, strict word 0006ch ; ba 6c 00 9098 9101 mov ax, strict word 00040h ; b8 40 00 9099 call 016d4h ; e8 f fb19102 call 016d4h ; e8 fa b1 9100 9103 cmp ax, si ; 39 f0 9101 je short 064 beh ; 74 e59104 je short 064c3h ; 74 e5 9102 9105 mov si, ax ; 89 c6 9103 9106 db 0feh, 0c9h 9104 9107 ; dec cl ; fe c9 9105 jmp short 064 beh ; eb df9108 jmp short 064c3h ; eb df 9106 9109 test cl, cl ; 84 c9 9107 je short 064f 5h ; 74 129110 je short 064fah ; 74 12 9108 9111 mov byte [bp+013h], 000h ; c6 46 13 00 9109 9112 mov dx, bx ; 89 da … … 9113 9116 mov byte [bp+012h], al ; 88 46 12 9114 9117 and byte [bp+01ch], 0feh ; 80 66 1c fe 9115 jmp short 0651 8h ; eb 239118 jmp short 0651dh ; eb 23 9116 9119 lea dx, [bx+005h] ; 8d 57 05 9117 9120 in AL, DX ; ec 9118 9121 db 02ah, 0e4h 9119 9122 ; sub ah, ah ; 2a e4 9120 jmp short 064 aeh ; eb b19123 jmp short 064b3h ; eb b1 9121 9124 lea dx, [si+005h] ; 8d 54 05 9122 9125 in AL, DX ; ec … … 9128 9131 db 02ah, 0e4h 9129 9132 ; sub ah, ah ; 2a e4 9130 jmp short 064 ech ; eb de9133 jmp short 064f1h ; eb de 9131 9134 or byte [bp+01ch], 001h ; 80 4e 1c 01 9132 jmp short 0651 8h ; eb 049135 jmp short 0651dh ; eb 04 9133 9136 or byte [bp+01ch], 001h ; 80 4e 1c 01 9134 9137 lea sp, [bp-002h] ; 8d 66 fe … … 9136 9139 pop bp ; 5d 9137 9140 retn ; c3 9138 timer_wait_: ; 0xf65 1eLB 0x439141 timer_wait_: ; 0xf6523 LB 0x43 9139 9142 push bp ; 55 9140 9143 mov bp, sp ; 89 e5 … … 9144 9147 mov bx, strict word 0000fh ; bb 0f 00 9145 9148 xor cx, cx ; 31 c9 9146 call 09ec0h ; e8 94399149 call 09ec0h ; e8 8f 39 9147 9150 mov cx, ax ; 89 c1 9148 9151 mov bx, dx ; 89 d3 … … 9156 9159 adc bx, strict byte 0ffffh ; 83 d3 ff 9157 9160 cmp bx, strict byte 0ffffh ; 83 fb ff 9158 jne short 065 4bh ; 75 059161 jne short 06550h ; 75 05 9159 9162 cmp cx, strict byte 0ffffh ; 83 f9 ff 9160 je short 0655 ah ; 74 0f9163 je short 0655fh ; 74 0f 9161 9164 mov dx, strict word 00061h ; ba 61 00 9162 9165 in AL, DX ; ec … … 9165 9168 and AL, strict byte 010h ; 24 10 9166 9169 cmp al, byte [bp-006h] ; 3a 46 fa 9167 jne short 065 4bh ; 75 f39168 jmp short 065 3bh ; eb e19170 jne short 06550h ; 75 f3 9171 jmp short 06540h ; eb e1 9169 9172 lea sp, [bp-004h] ; 8d 66 fc 9170 9173 pop cx ; 59 … … 9172 9175 pop bp ; 5d 9173 9176 retn ; c3 9174 set_enable_a20_: ; 0xf656 1LB 0x2c9177 set_enable_a20_: ; 0xf6566 LB 0x2c 9175 9178 push bp ; 55 9176 9179 mov bp, sp ; 89 e5 … … 9185 9188 mov cl, al ; 88 c1 9186 9189 test bx, bx ; 85 db 9187 je short 0657 ah ; 74 059190 je short 0657fh ; 74 05 9188 9191 or AL, strict byte 002h ; 0c 02 9189 9192 out DX, AL ; ee 9190 jmp short 065 7dh ; eb 039193 jmp short 06582h ; eb 03 9191 9194 and AL, strict byte 0fdh ; 24 fd 9192 9195 out DX, AL ; ee … … 9201 9204 pop bp ; 5d 9202 9205 retn ; c3 9203 set_e820_range_: ; 0xf65 8dLB 0x899206 set_e820_range_: ; 0xf6592 LB 0x89 9204 9207 push si ; 56 9205 9208 push bp ; 55 … … 9230 9233 retn 0000ah ; c2 0a 00 9231 9234 db 0ech, 0e9h, 0d8h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 083h, 052h, 04fh, 041h, 024h, 000h 9232 db 01 ah, 069h, 053h, 066h, 066h, 066h, 0fbh, 066h, 001h, 067h, 006h, 067h, 00bh, 067h, 0adh, 067h9233 db 0d 7h, 067h, 0f4h, 066h, 0f4h, 066h, 0a4h, 068h, 0cch, 068h, 0dfh, 068h, 0eeh, 068h, 0fbh, 066h9234 db 0f 5h, 068h9235 _int15_function: ; 0xf661 6LB 0x3369235 db 01fh, 069h, 058h, 066h, 06bh, 066h, 000h, 067h, 006h, 067h, 00bh, 067h, 010h, 067h, 0b2h, 067h 9236 db 0dch, 067h, 0f9h, 066h, 0f9h, 066h, 0a9h, 068h, 0d1h, 068h, 0e4h, 068h, 0f3h, 068h, 000h, 067h 9237 db 0fah, 068h 9238 _int15_function: ; 0xf661b LB 0x336 9236 9239 push bp ; 55 9237 9240 mov bp, sp ; 89 e5 … … 9241 9244 shr ax, 008h ; c1 e8 08 9242 9245 cmp ax, 000ech ; 3d ec 00 9243 jnbe near 0691 ah ; 0f 87 f2 029246 jnbe near 0691fh ; 0f 87 f2 02 9244 9247 push CS ; 0e 9245 9248 pop ES ; 07 9246 9249 mov cx, strict word 00011h ; b9 11 00 9247 mov di, 065e 4h ; bf e4659250 mov di, 065e9h ; bf e9 65 9248 9251 repne scasb ; f2 ae 9249 9252 sal cx, 1 ; d1 e1 9250 9253 mov di, cx ; 89 cf 9251 mov si, word [cs:di+065f 4h] ; 2e 8b b5 f4659254 mov si, word [cs:di+065f9h] ; 2e 8b b5 f9 65 9252 9255 mov ax, word [bp+012h] ; 8b 46 12 9253 9256 xor ah, ah ; 30 e4 … … 9262 9265 xor ah, ah ; 30 e4 9263 9266 cmp ax, 000c0h ; 3d c0 00 9264 jne near 0691 ah ; 0f 85 bb 029267 jne near 0691fh ; 0f 85 bb 02 9265 9268 or byte [bp+018h], 001h ; 80 4e 18 01 9266 jmp near 068c 3h ; e9 5d 029269 jmp near 068c8h ; e9 5d 02 9267 9270 mov dx, ax ; 89 c2 9268 9271 cmp ax, strict word 00001h ; 3d 01 00 9269 jc short 066 7bh ; 72 0e9270 jbe short 066 8fh ; 76 209272 jc short 06680h ; 72 0e 9273 jbe short 06694h ; 76 20 9271 9274 cmp ax, strict word 00003h ; 3d 03 00 9272 je short 066 bch ; 74 489275 je short 066c1h ; 74 48 9273 9276 cmp ax, strict word 00002h ; 3d 02 00 9274 je short 066 9fh ; 74 269275 jmp short 066c 9h ; eb 4e9277 je short 066a4h ; 74 26 9278 jmp short 066ceh ; eb 4e 9276 9279 test ax, ax ; 85 c0 9277 jne short 066c 9h ; 75 4a9280 jne short 066ceh ; 75 4a 9278 9281 xor ax, ax ; 31 c0 9279 call 0656 1h ; e8 dd fe9282 call 06566h ; e8 dd fe 9280 9283 and byte [bp+018h], 0feh ; 80 66 18 fe 9281 9284 mov byte [bp+013h], 000h ; c6 46 13 00 9282 jmp near 066f 4h ; e9 65 009285 jmp near 066f9h ; e9 65 00 9283 9286 mov ax, strict word 00001h ; b8 01 00 9284 call 0656 1h ; e8 cc fe9287 call 06566h ; e8 cc fe 9285 9288 and byte [bp+018h], 0feh ; 80 66 18 fe 9286 9289 mov byte [bp+013h], dh ; 88 76 13 9287 jmp near 066f 4h ; e9 55 009290 jmp near 066f9h ; e9 55 00 9288 9291 mov dx, 00092h ; ba 92 00 9289 9292 in AL, DX ; ec … … 9297 9300 and byte [bp+018h], 0feh ; 80 66 18 fe 9298 9301 mov byte [bp+013h], ah ; 88 66 13 9299 jmp near 066f 4h ; e9 38 009302 jmp near 066f9h ; e9 38 00 9300 9303 and byte [bp+018h], 0feh ; 80 66 18 fe 9301 9304 mov byte [bp+013h], ah ; 88 66 13 9302 9305 mov word [bp+00ch], ax ; 89 46 0c 9303 jmp near 066f 4h ; e9 2b 009304 mov bx, 00da 6h ; bb a60d9306 jmp near 066f9h ; e9 2b 00 9307 mov bx, 00da4h ; bb a4 0d 9305 9308 mov cx, ds ; 8c d9 9306 9309 mov ax, strict word 00004h ; b8 04 00 9307 call 01999h ; e8 c 5b29310 call 01999h ; e8 c0 b2 9308 9311 mov ax, word [bp+012h] ; 8b 46 12 9309 9312 xor ah, ah ; 30 e4 … … 9311 9314 push 0082eh ; 68 2e 08 9312 9315 push strict byte 00004h ; 6a 04 9313 call 019dah ; e8 f 8b29316 call 019dah ; e8 f3 b2 9314 9317 add sp, strict byte 00006h ; 83 c4 06 9315 9318 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9324 9327 retn ; c3 9325 9328 mov word [bp+018h], bx ; 89 5e 18 9326 jmp near 067a 7h ; e9 a6 009329 jmp near 067ach ; e9 a6 00 9327 9330 mov word [bp+018h], bx ; 89 5e 18 9328 jmp short 066f 4h ; eb ee9331 jmp short 066f9h ; eb ee 9329 9332 mov word [bp+018h], cx ; 89 4e 18 9330 jmp short 066f 1h ; eb e69333 jmp short 066f6h ; eb e6 9331 9334 test byte [bp+012h], 0ffh ; f6 46 12 ff 9332 jne short 067 7dh ; 75 6c9335 jne short 06782h ; 75 6c 9333 9336 mov dx, 000a0h ; ba a0 00 9334 9337 mov ax, strict word 00040h ; b8 40 00 9335 call 016b8h ; e8 9 eaf9338 call 016b8h ; e8 99 af 9336 9339 test AL, strict byte 001h ; a8 01 9337 jne near 068b ah ; 0f 85 9a 019340 jne near 068bfh ; 0f 85 9a 01 9338 9341 mov bx, strict word 00001h ; bb 01 00 9339 9342 mov dx, 000a0h ; ba a0 00 9340 9343 mov ax, strict word 00040h ; b8 40 00 9341 call 016c6h ; e8 9 aaf9344 call 016c6h ; e8 95 af 9342 9345 mov bx, word [bp+014h] ; 8b 5e 14 9343 9346 mov dx, 00098h ; ba 98 00 9344 9347 mov ax, strict word 00040h ; b8 40 00 9345 call 016e2h ; e8 a aaf9348 call 016e2h ; e8 a5 af 9346 9349 mov bx, word [bp+00ch] ; 8b 5e 0c 9347 9350 mov dx, 0009ah ; ba 9a 00 9348 9351 mov ax, strict word 00040h ; b8 40 00 9349 call 016e2h ; e8 9 eaf9352 call 016e2h ; e8 99 af 9350 9353 mov bx, word [bp+00eh] ; 8b 5e 0e 9351 9354 mov dx, 0009ch ; ba 9c 00 9352 9355 mov ax, strict word 00040h ; b8 40 00 9353 call 016e2h ; e8 92af9356 call 016e2h ; e8 8d af 9354 9357 mov bx, word [bp+010h] ; 8b 5e 10 9355 9358 mov dx, 0009eh ; ba 9e 00 9356 9359 mov ax, strict word 00040h ; b8 40 00 9357 call 016e2h ; e8 8 6af9360 call 016e2h ; e8 81 af 9358 9361 and byte [bp+018h], 0feh ; 80 66 18 fe 9359 9362 mov dx, 000a1h ; ba a1 00 … … 9364 9367 out DX, AL ; ee 9365 9368 mov ax, strict word 0000bh ; b8 0b 00 9366 call 01714h ; e8 a 5af9369 call 01714h ; e8 a0 af 9367 9370 or AL, strict byte 040h ; 0c 40 9368 9371 movzx dx, al ; 0f b6 d0 9369 9372 mov ax, strict word 0000bh ; b8 0b 00 9370 call 01731h ; e8 b 7af9371 jmp near 066f 4h ; e9 77 ff9373 call 01731h ; e8 b2 af 9374 jmp near 066f9h ; e9 77 ff 9372 9375 cmp ax, strict word 00001h ; 3d 01 00 9373 jne short 067 9bh ; 75 199376 jne short 067a0h ; 75 19 9374 9377 xor bx, bx ; 31 db 9375 9378 mov dx, 000a0h ; ba a0 00 9376 9379 mov ax, strict word 00040h ; b8 40 00 9377 call 016c6h ; e8 3 9af9380 call 016c6h ; e8 34 af 9378 9381 and byte [bp+018h], 0feh ; 80 66 18 fe 9379 9382 mov ax, strict word 0000bh ; b8 0b 00 9380 call 01714h ; e8 7 daf9383 call 01714h ; e8 78 af 9381 9384 and AL, strict byte 0bfh ; 24 bf 9382 jmp short 0677 1h ; eb d69385 jmp short 06776h ; eb d6 9383 9386 mov word [bp+018h], bx ; 89 5e 18 9384 9387 mov ax, dx ; 89 d0 … … 9388 9391 or dx, ax ; 09 c2 9389 9392 mov word [bp+012h], dx ; 89 56 12 9390 jmp near 066f 4h ; e9 47 ff9393 jmp near 066f9h ; e9 47 ff 9391 9394 mov ax, strict word 00031h ; b8 31 00 9392 call 01714h ; e8 61af9395 call 01714h ; e8 5c af 9393 9396 movzx dx, al ; 0f b6 d0 9394 9397 sal dx, 008h ; c1 e2 08 9395 9398 mov ax, strict word 00030h ; b8 30 00 9396 call 01714h ; e8 5 5af9399 call 01714h ; e8 50 af 9397 9400 xor ah, ah ; 30 e4 9398 9401 or dx, ax ; 09 c2 9399 9402 mov word [bp+012h], dx ; 89 56 12 9400 9403 cmp dx, strict byte 0ffc0h ; 83 fa c0 9401 jbe short 067d 0h ; 76 059404 jbe short 067d5h ; 76 05 9402 9405 mov word [bp+012h], strict word 0ffc0h ; c7 46 12 c0 ff 9403 9406 and byte [bp+018h], 0feh ; 80 66 18 fe 9404 jmp near 066f 4h ; e9 1d ff9407 jmp near 066f9h ; e9 1d ff 9405 9408 cli ; fa 9406 9409 mov ax, strict word 00001h ; b8 01 00 9407 call 0656 1h ; e8 83 fd9410 call 06566h ; e8 83 fd 9408 9411 mov dx, word [bp+006h] ; 8b 56 06 9409 9412 add dx, strict byte 00038h ; 83 c2 38 9410 9413 mov ax, word [bp+014h] ; 8b 46 14 9411 9414 mov bx, strict word 0ffffh ; bb ff ff 9412 call 016e2h ; e8 f 5ae9415 call 016e2h ; e8 f0 ae 9413 9416 mov dx, word [bp+006h] ; 8b 56 06 9414 9417 add dx, strict byte 0003ah ; 83 c2 3a 9415 9418 mov ax, word [bp+014h] ; 8b 46 14 9416 9419 xor bx, bx ; 31 db 9417 call 016e2h ; e8 e 7ae9420 call 016e2h ; e8 e2 ae 9418 9421 mov dx, word [bp+006h] ; 8b 56 06 9419 9422 add dx, strict byte 0003ch ; 83 c2 3c 9420 9423 mov ax, word [bp+014h] ; 8b 46 14 9421 9424 mov bx, strict word 0000fh ; bb 0f 00 9422 call 016c6h ; e8 b cae9425 call 016c6h ; e8 b7 ae 9423 9426 mov dx, word [bp+006h] ; 8b 56 06 9424 9427 add dx, strict byte 0003dh ; 83 c2 3d 9425 9428 mov ax, word [bp+014h] ; 8b 46 14 9426 9429 mov bx, 0009bh ; bb 9b 00 9427 call 016c6h ; e8 a dae9430 call 016c6h ; e8 a8 ae 9428 9431 mov dx, word [bp+006h] ; 8b 56 06 9429 9432 add dx, strict byte 0003eh ; 83 c2 3e 9430 9433 mov ax, word [bp+014h] ; 8b 46 14 9431 9434 xor bx, bx ; 31 db 9432 call 016e2h ; e8 b bae9435 call 016e2h ; e8 b6 ae 9433 9436 mov AL, strict byte 011h ; b0 11 9434 9437 mov dx, strict word 00020h ; ba 20 00 … … 9460 9463 out DX, AL ; ee 9461 9464 mov si, word [bp+006h] ; 8b 76 06 9462 call 0686 8h ; e8 00 009465 call 0686dh ; e8 00 00 9463 9466 pop di ; 5f 9464 9467 add di, strict byte 00018h ; 83 c7 18 … … 9488 9491 push cx ; 51 9489 9492 retf ; cb 9490 jmp near 066f 4h ; e9 50 fe9491 mov bx, 00da 6h ; bb a60d9493 jmp near 066f9h ; e9 50 fe 9494 mov bx, 00da4h ; bb a4 0d 9492 9495 mov cx, ds ; 8c d9 9493 9496 mov ax, strict word 00004h ; b8 04 00 9494 call 01999h ; e8 e ab09497 call 01999h ; e8 e5 b0 9495 9498 push 0086eh ; 68 6e 08 9496 9499 push strict byte 00004h ; 6a 04 9497 call 019dah ; e8 23b19500 call 019dah ; e8 1e b1 9498 9501 add sp, strict byte 00004h ; 83 c4 04 9499 9502 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9502 9505 or ah, 086h ; 80 cc 86 9503 9506 mov word [bp+012h], ax ; 89 46 12 9504 jmp near 066f 4h ; e9 28 fe9507 jmp near 066f9h ; e9 28 fe 9505 9508 mov word [bp+018h], cx ; 89 4e 18 9506 9509 mov word [bp+012h], ax ; 89 46 12 9507 9510 mov word [bp+00ch], 0e6f5h ; c7 46 0c f5 e6 9508 9511 mov word [bp+014h], 0f000h ; c7 46 14 00 f0 9509 jmp near 066f 4h ; e9 15 fe9512 jmp near 066f9h ; e9 15 fe 9510 9513 mov dx, strict word 0000eh ; ba 0e 00 9511 9514 mov ax, strict word 00040h ; b8 40 00 9512 call 016d4h ; e8 e cad9515 call 016d4h ; e8 e7 ad 9513 9516 mov word [bp+014h], ax ; 89 46 14 9514 jmp near 067d 0h ; e9 e2 fe9517 jmp near 067d5h ; e9 e2 fe 9515 9518 push 0089dh ; 68 9d 08 9516 9519 push strict byte 00008h ; 6a 08 9517 jmp short 068b 4h ; eb bf9520 jmp short 068b9h ; eb bf 9518 9521 test byte [bp+012h], 0ffh ; f6 46 12 ff 9519 jne short 0691 ah ; 75 1f9522 jne short 0691fh ; 75 1f 9520 9523 mov word [bp+012h], ax ; 89 46 12 9521 9524 mov ax, word [bp+00ch] ; 8b 46 0c 9522 9525 xor ah, ah ; 30 e4 9523 9526 cmp ax, strict word 00001h ; 3d 01 00 9524 jc short 0691 3h ; 72 0b9527 jc short 06918h ; 72 0b 9525 9528 cmp ax, strict word 00003h ; 3d 03 00 9526 jnbe short 0691 3h ; 77 069529 jnbe short 06918h ; 77 06 9527 9530 mov word [bp+018h], cx ; 89 4e 18 9528 jmp near 066f 4h ; e9 e1 fd9531 jmp near 066f9h ; e9 e1 fd 9529 9532 or byte [bp+018h], 001h ; 80 4e 18 01 9530 jmp near 066f 4h ; e9 da fd9531 mov bx, 00da 6h ; bb a60d9533 jmp near 066f9h ; e9 da fd 9534 mov bx, 00da4h ; bb a4 0d 9532 9535 mov cx, ds ; 8c d9 9533 9536 mov ax, strict word 00004h ; b8 04 00 9534 call 01999h ; e8 74b09537 call 01999h ; e8 6f b0 9535 9538 push word [bp+00ch] ; ff 76 0c 9536 9539 push word [bp+012h] ; ff 76 12 9537 9540 push 008b4h ; 68 b4 08 9538 9541 push strict byte 00004h ; 6a 04 9539 call 019dah ; e8 a 7b09542 call 019dah ; e8 a2 b0 9540 9543 add sp, strict byte 00008h ; 83 c4 08 9541 jmp short 068b ah ; eb 829542 lds bp, [bp+si-019h] ; c5 6a e79543 push strict byte 0000 ah ; 6a 0a9544 imul bp, word [si], strict byte 0006bh ; 6b 2c6b9545 dec sp ; 4c9546 imul bp, word [bp+di+06bh], strict byte 0ff8fh ; 6b 6b 6b 8f9547 imul si, word [bp+di-00d95h], strict byte 0006bh ; 6b b3 6b f26b9548 push DS ; 1e9544 jmp short 068bfh ; eb 82 9545 retf 0ec6ah ; ca 6a ec 9546 push strict byte 0000fh ; 6a 0f 9547 imul si, word [bx+di], strict byte 0006bh ; 6b 31 6b 9548 push cx ; 51 9549 imul si, word [bx+si+06bh], strict byte 0ff94h ; 6b 70 6b 94 9550 imul di, word [bx+si-00895h], strict byte 0006bh ; 6b b8 6b f7 6b 9551 db 023h 9549 9552 insb ; 6c 9550 _int15_function32: ; 0xf69 4cLB 0x3969553 _int15_function32: ; 0xf6951 LB 0x396 9551 9554 push bp ; 55 9552 9555 mov bp, sp ; 89 e5 … … 9560 9563 xor dh, dh ; 30 f6 9561 9564 cmp ax, 000e8h ; 3d e8 00 9562 je near 069e 9h ; 0f 84 7e 009565 je near 069eeh ; 0f 84 7e 00 9563 9566 cmp ax, 000d0h ; 3d d0 00 9564 je short 0698 4h ; 74 149567 je short 06989h ; 74 14 9565 9568 cmp ax, 00086h ; 3d 86 00 9566 jne near 06cb 2h ; 0f 85 3b 039569 jne near 06cb7h ; 0f 85 3b 03 9567 9570 sti ; fb 9568 9571 mov dx, word [bp+01ch] ; 8b 56 1c 9569 9572 mov ax, word [bp+018h] ; 8b 46 18 9570 call 065 1eh ; e8 9d fb9571 jmp near 06c dch ; e9 58 039573 call 06523h ; e8 9d fb 9574 jmp near 06ce1h ; e9 58 03 9572 9575 cmp dx, strict byte 0004fh ; 83 fa 4f 9573 jne near 06cb 2h ; 0f 85 27 039576 jne near 06cb7h ; 0f 85 27 03 9574 9577 cmp word [bp+016h], 05052h ; 81 7e 16 52 50 9575 jne near 06cb 2h ; 0f 85 1e 039578 jne near 06cb7h ; 0f 85 1e 03 9576 9579 cmp word [bp+014h], 04f43h ; 81 7e 14 43 4f 9577 jne near 06cb 2h ; 0f 85 15 039580 jne near 06cb7h ; 0f 85 15 03 9578 9581 cmp word [bp+01eh], 04d4fh ; 81 7e 1e 4f 4d 9579 jne near 06cb 2h ; 0f 85 0c 039582 jne near 06cb7h ; 0f 85 0c 03 9580 9583 cmp word [bp+01ch], 04445h ; 81 7e 1c 45 44 9581 jne near 06cb 2h ; 0f 85 03 039584 jne near 06cb7h ; 0f 85 03 03 9582 9585 mov ax, word [bp+00ah] ; 8b 46 0a 9583 9586 or ax, word [bp+008h] ; 0b 46 08 9584 jne near 06cb 2h ; 0f 85 f9 029587 jne near 06cb7h ; 0f 85 f9 02 9585 9588 mov ax, word [bp+006h] ; 8b 46 06 9586 9589 or ax, word [bp+004h] ; 0b 46 04 9587 jne near 06cb 2h ; 0f 85 ef 029590 jne near 06cb7h ; 0f 85 ef 02 9588 9591 mov word [bp+028h], bx ; 89 5e 28 9589 9592 mov ax, word [bp+014h] ; 8b 46 14 … … 9596 9599 mov word [bp+006h], ax ; 89 46 06 9597 9600 mov dword [bp+020h], strict dword 049413332h ; 66 c7 46 20 32 33 41 49 9598 jmp near 06c dch ; e9 f3 029601 jmp near 06ce1h ; e9 f3 02 9599 9602 cmp dx, strict byte 00020h ; 83 fa 20 9600 je short 069f 8h ; 74 0a9603 je short 069fdh ; 74 0a 9601 9604 cmp dx, strict byte 00001h ; 83 fa 01 9602 je near 06c6 5h ; 0f 84 70 029603 jmp near 06cb 2h ; e9 ba 029605 je near 06c6ah ; 0f 84 70 02 9606 jmp near 06cb7h ; e9 ba 02 9604 9607 cmp word [bp+01ah], 0534dh ; 81 7e 1a 4d 53 9605 jne near 06cb 2h ; 0f 85 b1 029608 jne near 06cb7h ; 0f 85 b1 02 9606 9609 cmp word [bp+018h], 04150h ; 81 7e 18 50 41 9607 jne near 06cb 2h ; 0f 85 a8 029610 jne near 06cb7h ; 0f 85 a8 02 9608 9611 mov ax, strict word 00035h ; b8 35 00 9609 call 01714h ; e8 04 ad9612 call 01714h ; e8 ff ac 9610 9613 movzx bx, al ; 0f b6 d8 9611 9614 xor dx, dx ; 31 d2 … … 9613 9616 sal bx, 1 ; d1 e3 9614 9617 rcl dx, 1 ; d1 d2 9615 loop 06a1 8h ; e2 fa9618 loop 06a1dh ; e2 fa 9616 9619 mov ax, strict word 00034h ; b8 34 00 9617 call 01714h ; e8 f0ac9620 call 01714h ; e8 eb ac 9618 9621 xor ah, ah ; 30 e4 9619 9622 mov dx, bx ; 89 da … … 9623 9626 adc dx, 00100h ; 81 d2 00 01 9624 9627 cmp dx, 00100h ; 81 fa 00 01 9625 jc short 06a 3eh ; 72 069626 jne short 06a 6bh ; 75 319628 jc short 06a43h ; 72 06 9629 jne short 06a70h ; 75 31 9627 9630 test bx, bx ; 85 db 9628 jnbe short 06a 6bh ; 77 2d9631 jnbe short 06a70h ; 77 2d 9629 9632 mov ax, strict word 00031h ; b8 31 00 9630 call 01714h ; e8 d0ac9633 call 01714h ; e8 cb ac 9631 9634 movzx bx, al ; 0f b6 d8 9632 9635 xor dx, dx ; 31 d2 … … 9634 9637 sal bx, 1 ; d1 e3 9635 9638 rcl dx, 1 ; d1 d2 9636 loop 06a 4ch ; e2 fa9639 loop 06a51h ; e2 fa 9637 9640 mov ax, strict word 00030h ; b8 30 00 9638 call 01714h ; e8 b cac9641 call 01714h ; e8 b7 ac 9639 9642 xor ah, ah ; 30 e4 9640 9643 or bx, ax ; 09 c3 … … 9642 9645 sal bx, 1 ; d1 e3 9643 9646 rcl dx, 1 ; d1 d2 9644 loop 06a 5fh ; e2 fa9647 loop 06a64h ; e2 fa 9645 9648 add bx, strict byte 00000h ; 83 c3 00 9646 9649 adc dx, strict byte 00010h ; 83 d2 10 9647 9650 mov ax, strict word 00062h ; b8 62 00 9648 call 01714h ; e8 a3ac9651 call 01714h ; e8 9e ac 9649 9652 xor ah, ah ; 30 e4 9650 9653 mov word [bp-00ah], ax ; 89 46 f6 … … 9654 9657 sal word [bp-00ah], 1 ; d1 66 f6 9655 9658 rcl word [bp-008h], 1 ; d1 56 f8 9656 loop 06a 7eh ; e2 f89659 loop 06a83h ; e2 f8 9657 9660 mov ax, strict word 00061h ; b8 61 00 9658 call 01714h ; e8 8 8ac9661 call 01714h ; e8 83 ac 9659 9662 xor ah, ah ; 30 e4 9660 9663 or word [bp-00ah], ax ; 09 46 f6 … … 9663 9666 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 9664 9667 mov ax, strict word 00063h ; b8 63 00 9665 call 01714h ; e8 72ac9668 call 01714h ; e8 6d ac 9666 9669 mov byte [bp-004h], al ; 88 46 fc 9667 9670 mov byte [bp-006h], al ; 88 46 fa 9668 9671 mov ax, word [bp+014h] ; 8b 46 14 9669 9672 cmp ax, strict word 00009h ; 3d 09 00 9670 jnbe near 06cb 2h ; 0f 87 00 029673 jnbe near 06cb7h ; 0f 87 00 02 9671 9674 mov si, ax ; 89 c6 9672 9675 add si, ax ; 01 c6 … … 9675 9678 mov cx, dx ; 89 d1 9676 9679 adc cx, strict byte 0ffffh ; 83 d1 ff 9677 jmp word [cs:si+0693 8h] ; 2e ff a4 38699680 jmp word [cs:si+0693dh] ; 2e ff a4 3d 69 9678 9681 push strict byte 00001h ; 6a 01 9679 9682 push dword 000000000h ; 66 6a 00 … … 9684 9687 xor bx, bx ; 31 db 9685 9688 xor cx, cx ; 31 c9 9686 call 065 8dh ; e8 b1 fa9689 call 06592h ; e8 b1 fa 9687 9690 mov dword [bp+014h], strict dword 000000001h ; 66 c7 46 14 01 00 00 00 9688 jmp near 06c 4fh ; e9 68 019691 jmp near 06c54h ; e9 68 01 9689 9692 push strict byte 00002h ; 6a 02 9690 9693 push dword 000000000h ; 66 6a 00 … … 9695 9698 mov bx, 0fc00h ; bb 00 fc 9696 9699 mov cx, strict word 00009h ; b9 09 00 9697 call 065 8dh ; e8 8e fa9700 call 06592h ; e8 8e fa 9698 9701 mov dword [bp+014h], strict dword 000000002h ; 66 c7 46 14 02 00 00 00 9699 jmp near 06c 4fh ; e9 45 019702 jmp near 06c54h ; e9 45 01 9700 9703 push strict byte 00002h ; 6a 02 9701 9704 push dword 000000000h ; 66 6a 00 … … 9706 9709 xor bx, bx ; 31 db 9707 9710 mov cx, strict word 0000fh ; b9 0f 00 9708 call 065 8dh ; e8 6c fa9711 call 06592h ; e8 6c fa 9709 9712 mov dword [bp+014h], strict dword 000000003h ; 66 c7 46 14 03 00 00 00 9710 jmp near 06c 4fh ; e9 23 019713 jmp near 06c54h ; e9 23 01 9711 9714 push strict byte 00001h ; 6a 01 9712 9715 push dword 000000000h ; 66 6a 00 … … 9717 9720 xor bx, bx ; 31 db 9718 9721 mov cx, strict word 00010h ; b9 10 00 9719 call 065 8dh ; e8 4c fa9722 call 06592h ; e8 4c fa 9720 9723 mov dword [bp+014h], strict dword 000000004h ; 66 c7 46 14 04 00 00 00 9721 jmp near 06c 4fh ; e9 03 019724 jmp near 06c54h ; e9 03 01 9722 9725 push strict byte 00003h ; 6a 03 9723 9726 push dword 000000000h ; 66 6a 00 … … 9728 9731 mov bx, ax ; 89 c3 9729 9732 mov ax, si ; 89 f0 9730 call 065 8dh ; e8 2d fa9733 call 06592h ; e8 2d fa 9731 9734 mov dword [bp+014h], strict dword 000000005h ; 66 c7 46 14 05 00 00 00 9732 jmp near 06c 4fh ; e9 e4 009735 jmp near 06c54h ; e9 e4 00 9733 9736 push strict byte 00002h ; 6a 02 9734 9737 push dword 000000000h ; 66 6a 00 … … 9739 9742 xor bx, bx ; 31 db 9740 9743 mov cx, 0fec0h ; b9 c0 fe 9741 call 065 8dh ; e8 09 fa9744 call 06592h ; e8 09 fa 9742 9745 mov dword [bp+014h], strict dword 000000006h ; 66 c7 46 14 06 00 00 00 9743 jmp near 06c 4fh ; e9 c0 009746 jmp near 06c54h ; e9 c0 00 9744 9747 push strict byte 00002h ; 6a 02 9745 9748 push dword 000000000h ; 66 6a 00 … … 9750 9753 xor bx, bx ; 31 db 9751 9754 mov cx, 0fee0h ; b9 e0 fe 9752 call 065 8dh ; e8 e5 f99755 call 06592h ; e8 e5 f9 9753 9756 mov dword [bp+014h], strict dword 000000007h ; 66 c7 46 14 07 00 00 00 9754 jmp near 06c 4fh ; e9 9c 009757 jmp near 06c54h ; e9 9c 00 9755 9758 push strict byte 00002h ; 6a 02 9756 9759 push dword 000000000h ; 66 6a 00 … … 9760 9763 xor bx, bx ; 31 db 9761 9764 mov cx, strict word 0fffch ; b9 fc ff 9762 call 065 8dh ; e8 c4 f99765 call 06592h ; e8 c4 f9 9763 9766 cmp byte [bp-004h], 000h ; 80 7e fc 00 9764 jne short 06bd 6h ; 75 079767 jne short 06bdbh ; 75 07 9765 9768 mov ax, word [bp-008h] ; 8b 46 f8 9766 9769 test ax, ax ; 85 c0 9767 je short 06be ah ; 74 149770 je short 06befh ; 74 14 9768 9771 mov dword [bp+014h], strict dword 000000009h ; 66 c7 46 14 09 00 00 00 9769 jmp short 06c 4fh ; eb 6f9772 jmp short 06c54h ; eb 6f 9770 9773 mov dword [bp+014h], strict dword 000000008h ; 66 c7 46 14 08 00 00 00 9771 jmp short 06c 4fh ; eb 659774 jmp short 06c54h ; eb 65 9772 9775 mov word [bp+014h], ax ; 89 46 14 9773 9776 mov word [bp+016h], ax ; 89 46 16 9774 jmp short 06c 4fh ; eb 5d9777 jmp short 06c54h ; eb 5d 9775 9778 push strict byte 00002h ; 6a 02 9776 9779 push dword 000000000h ; 66 6a 00 … … 9780 9783 xor bx, bx ; 31 db 9781 9784 xor cx, cx ; 31 c9 9782 call 065 8dh ; e8 86 f99785 call 06592h ; e8 86 f9 9783 9786 cmp byte [bp-004h], 000h ; 80 7e fc 00 9784 jne short 06c1 4h ; 75 079787 jne short 06c19h ; 75 07 9785 9788 mov ax, word [bp-008h] ; 8b 46 f8 9786 9789 test ax, ax ; 85 c0 9787 je short 06c1 6h ; 74 029788 jmp short 06bd 6h ; eb c09790 je short 06c1bh ; 74 02 9791 jmp short 06bdbh ; eb c0 9789 9792 mov word [bp+014h], ax ; 89 46 14 9790 9793 mov word [bp+016h], ax ; 89 46 16 9791 jmp short 06c 4fh ; eb 319794 jmp short 06c54h ; eb 31 9792 9795 cmp byte [bp-004h], 000h ; 80 7e fc 00 9793 jne short 06c2 ah ; 75 069796 jne short 06c2fh ; 75 06 9794 9797 cmp word [bp-008h], strict byte 00000h ; 83 7e f8 00 9795 je short 06c 4fh ; 74 259798 je short 06c54h ; 74 25 9796 9799 push strict byte 00001h ; 6a 01 9797 9800 mov al, byte [bp-006h] ; 8a 46 fa … … 9806 9809 xor bx, bx ; 31 db 9807 9810 xor cx, cx ; 31 c9 9808 call 065 8dh ; e8 46 f99811 call 06592h ; e8 46 f9 9809 9812 xor ax, ax ; 31 c0 9810 9813 mov word [bp+014h], ax ; 89 46 14 … … 9813 9816 mov dword [bp+01ch], strict dword 000000014h ; 66 c7 46 1c 14 00 00 00 9814 9817 and byte [bp+028h], 0feh ; 80 66 28 fe 9815 jmp short 06c dch ; eb 779818 jmp short 06ce1h ; eb 77 9816 9819 mov word [bp+028h], bx ; 89 5e 28 9817 9820 mov ax, strict word 00031h ; b8 31 00 9818 call 01714h ; e8 a 6aa9821 call 01714h ; e8 a1 aa 9819 9822 xor ah, ah ; 30 e4 9820 9823 mov dx, ax ; 89 c2 9821 9824 sal dx, 008h ; c1 e2 08 9822 9825 mov ax, strict word 00030h ; b8 30 00 9823 call 01714h ; e8 9 9aa9826 call 01714h ; e8 94 aa 9824 9827 xor ah, ah ; 30 e4 9825 9828 or dx, ax ; 09 c2 9826 9829 mov word [bp+01ch], dx ; 89 56 1c 9827 9830 cmp dx, 03c00h ; 81 fa 00 3c 9828 jbe short 06c 8dh ; 76 059831 jbe short 06c92h ; 76 05 9829 9832 mov word [bp+01ch], 03c00h ; c7 46 1c 00 3c 9830 9833 mov ax, strict word 00035h ; b8 35 00 9831 call 01714h ; e8 81aa9834 call 01714h ; e8 7c aa 9832 9835 xor ah, ah ; 30 e4 9833 9836 mov dx, ax ; 89 c2 9834 9837 sal dx, 008h ; c1 e2 08 9835 9838 mov ax, strict word 00034h ; b8 34 00 9836 call 01714h ; e8 74aa9839 call 01714h ; e8 6f aa 9837 9840 xor ah, ah ; 30 e4 9838 9841 or dx, ax ; 09 c2 … … 9841 9844 mov word [bp+020h], ax ; 89 46 20 9842 9845 mov word [bp+014h], dx ; 89 56 14 9843 jmp short 06c dch ; eb 2a9844 mov bx, 00da 6h ; bb a60d9846 jmp short 06ce1h ; eb 2a 9847 mov bx, 00da4h ; bb a4 0d 9845 9848 mov cx, ds ; 8c d9 9846 9849 mov ax, strict word 00004h ; b8 04 00 9847 call 01999h ; e8 d cac9850 call 01999h ; e8 d7 ac 9848 9851 push word [bp+014h] ; ff 76 14 9849 9852 push word [bp+020h] ; ff 76 20 9850 9853 push 008b4h ; 68 b4 08 9851 9854 push strict byte 00004h ; 6a 04 9852 call 019dah ; e8 0 fad9855 call 019dah ; e8 0a ad 9853 9856 add sp, strict byte 00008h ; 83 c4 08 9854 9857 or byte [bp+028h], 001h ; 80 4e 28 01 … … 9861 9864 pop bp ; 5d 9862 9865 retn ; c3 9863 _int15_blkmove: ; 0xf6ce 2LB 0x1ab9866 _int15_blkmove: ; 0xf6ce7 LB 0x1ab 9864 9867 push bp ; 55 9865 9868 mov bp, sp ; 89 e5 … … 9870 9873 cli ; fa 9871 9874 mov ax, strict word 00001h ; b8 01 00 9872 call 0656 1h ; e8 71 f89875 call 06566h ; e8 71 f8 9873 9876 mov di, ax ; 89 c7 9874 9877 mov ax, word [bp+006h] ; 8b 46 06 … … 9880 9883 mov byte [bp-006h], dl ; 88 56 fa 9881 9884 cmp cx, ax ; 39 c1 9882 jnc short 06d 0fh ; 73 059885 jnc short 06d14h ; 73 05 9883 9886 db 0feh, 0c2h 9884 9887 ; inc dl ; fe c2 … … 9888 9891 mov ax, word [bp+006h] ; 8b 46 06 9889 9892 mov bx, strict word 0002fh ; bb 2f 00 9890 call 016e2h ; e8 c4a99893 call 016e2h ; e8 bf a9 9891 9894 mov dx, word [bp+00ah] ; 8b 56 0a 9892 9895 add dx, strict byte 0000ah ; 83 c2 0a 9893 9896 mov ax, word [bp+006h] ; 8b 46 06 9894 9897 mov bx, cx ; 89 cb 9895 call 016e2h ; e8 b 6a99898 call 016e2h ; e8 b1 a9 9896 9899 movzx bx, byte [bp-006h] ; 0f b6 5e fa 9897 9900 mov dx, word [bp+00ah] ; 8b 56 0a 9898 9901 add dx, strict byte 0000ch ; 83 c2 0c 9899 9902 mov ax, word [bp+006h] ; 8b 46 06 9900 call 016c6h ; e8 8 aa99903 call 016c6h ; e8 85 a9 9901 9904 mov dx, word [bp+00ah] ; 8b 56 0a 9902 9905 add dx, strict byte 0000dh ; 83 c2 0d 9903 9906 mov ax, word [bp+006h] ; 8b 46 06 9904 9907 mov bx, 00093h ; bb 93 00 9905 call 016c6h ; e8 7 ba99908 call 016c6h ; e8 76 a9 9906 9909 mov dx, word [bp+00ah] ; 8b 56 0a 9907 9910 add dx, strict byte 0000eh ; 83 c2 0e 9908 9911 mov ax, word [bp+006h] ; 8b 46 06 9909 9912 xor bx, bx ; 31 db 9910 call 016e2h ; e8 8 9a99913 call 016e2h ; e8 84 a9 9911 9914 mov dx, word [bp+00ah] ; 8b 56 0a 9912 9915 add dx, strict byte 00020h ; 83 c2 20 9913 9916 mov ax, word [bp+006h] ; 8b 46 06 9914 9917 mov bx, strict word 0ffffh ; bb ff ff 9915 call 016e2h ; e8 7 aa99918 call 016e2h ; e8 75 a9 9916 9919 mov dx, word [bp+00ah] ; 8b 56 0a 9917 9920 add dx, strict byte 00022h ; 83 c2 22 9918 9921 mov ax, word [bp+006h] ; 8b 46 06 9919 9922 xor bx, bx ; 31 db 9920 call 016e2h ; e8 6 ca99923 call 016e2h ; e8 67 a9 9921 9924 mov dx, word [bp+00ah] ; 8b 56 0a 9922 9925 add dx, strict byte 00024h ; 83 c2 24 9923 9926 mov ax, word [bp+006h] ; 8b 46 06 9924 9927 mov bx, strict word 0000fh ; bb 0f 00 9925 call 016c6h ; e8 41a99928 call 016c6h ; e8 3c a9 9926 9929 mov dx, word [bp+00ah] ; 8b 56 0a 9927 9930 add dx, strict byte 00025h ; 83 c2 25 9928 9931 mov ax, word [bp+006h] ; 8b 46 06 9929 9932 mov bx, 0009bh ; bb 9b 00 9930 call 016c6h ; e8 32a99933 call 016c6h ; e8 2d a9 9931 9934 mov dx, word [bp+00ah] ; 8b 56 0a 9932 9935 add dx, strict byte 00026h ; 83 c2 26 9933 9936 mov ax, word [bp+006h] ; 8b 46 06 9934 9937 xor bx, bx ; 31 db 9935 call 016e2h ; e8 40a99938 call 016e2h ; e8 3b a9 9936 9939 mov ax, ss ; 8c d0 9937 9940 mov cx, ax ; 89 c1 … … 9943 9946 mov ax, word [bp+006h] ; 8b 46 06 9944 9947 mov bx, strict word 0ffffh ; bb ff ff 9945 call 016e2h ; e8 24a99948 call 016e2h ; e8 1f a9 9946 9949 mov dx, word [bp+00ah] ; 8b 56 0a 9947 9950 add dx, strict byte 0002ah ; 83 c2 2a 9948 9951 mov ax, word [bp+006h] ; 8b 46 06 9949 9952 mov bx, cx ; 89 cb 9950 call 016e2h ; e8 1 6a99953 call 016e2h ; e8 11 a9 9951 9954 movzx bx, byte [bp-008h] ; 0f b6 5e f8 9952 9955 mov dx, word [bp+00ah] ; 8b 56 0a 9953 9956 add dx, strict byte 0002ch ; 83 c2 2c 9954 9957 mov ax, word [bp+006h] ; 8b 46 06 9955 call 016c6h ; e8 e aa89958 call 016c6h ; e8 e5 a8 9956 9959 mov dx, word [bp+00ah] ; 8b 56 0a 9957 9960 add dx, strict byte 0002dh ; 83 c2 2d 9958 9961 mov ax, word [bp+006h] ; 8b 46 06 9959 9962 mov bx, 00093h ; bb 93 00 9960 call 016c6h ; e8 d ba89963 call 016c6h ; e8 d6 a8 9961 9964 mov dx, word [bp+00ah] ; 8b 56 0a 9962 9965 add dx, strict byte 0002eh ; 83 c2 2e 9963 9966 mov ax, word [bp+006h] ; 8b 46 06 9964 9967 xor bx, bx ; 31 db 9965 call 016e2h ; e8 e 9a89968 call 016e2h ; e8 e4 a8 9966 9969 lea ax, [bp+004h] ; 8d 46 04 9967 9970 mov si, word [bp+00ah] ; 8b 76 0a … … 9975 9978 mov word [00467h], sp ; 89 26 67 04 9976 9979 mov [00469h], ss ; 8c 16 69 04 9977 call 06e1 8h ; e8 00 009980 call 06e1dh ; e8 00 00 9978 9981 pop di ; 5f 9979 9982 add di, strict byte 0001bh ; 83 c7 1b … … 9998 10001 cld ; fc 9999 10002 rep movsw ; f3 a5 10000 call 06e 4ch ; e8 00 0010003 call 06e51h ; e8 00 00 10001 10004 pop ax ; 58 10002 10005 push 0f000h ; 68 00 f0 … … 10019 10022 pop DS ; 1f 10020 10023 mov ax, di ; 89 f8 10021 call 0656 1h ; e8 e4 f610024 call 06566h ; e8 e4 f6 10022 10025 sti ; fb 10023 10026 mov byte [bp+017h], 000h ; c6 46 17 00 … … 10028 10031 pop bp ; 5d 10029 10032 retn ; c3 10030 _inv_op_handler: ; 0xf6e 8dLB 0x19510033 _inv_op_handler: ; 0xf6e92 LB 0x195 10031 10034 push bp ; 55 10032 10035 mov bp, sp ; 89 e5 … … 10037 10040 les bx, [bp+018h] ; c4 5e 18 10038 10041 cmp byte [es:bx], 0f0h ; 26 80 3f f0 10039 jne short 06ea 3h ; 75 0610042 jne short 06ea8h ; 75 06 10040 10043 inc word [bp+018h] ; ff 46 18 10041 jmp near 070 1bh ; e9 78 0110044 jmp near 07020h ; e9 78 01 10042 10045 cmp word [es:bx], 0050fh ; 26 81 3f 0f 05 10043 jne near 0701 7h ; 0f 85 6b 0110046 jne near 0701ch ; 0f 85 6b 01 10044 10047 mov si, 00800h ; be 00 08 10045 10048 xor ax, ax ; 31 c0 … … 10069 10072 sal ax, 1 ; d1 e0 10070 10073 rcl dx, 1 ; d1 d2 10071 loop 06 efch ; e2 fa10074 loop 06f01h ; e2 fa 10072 10075 cmp bx, dx ; 39 d3 10073 jne short 06f0 ah ; 75 0410076 jne short 06f0fh ; 75 04 10074 10077 cmp di, ax ; 39 c7 10075 je short 06f 0fh ; 74 0510078 je short 06f14h ; 74 05 10076 10079 mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 10077 10080 mov es, [bp-006h] ; 8e 46 fa … … 10083 10086 sal ax, 1 ; d1 e0 10084 10087 rcl dx, 1 ; d1 d2 10085 loop 06f2 4h ; e2 fa10088 loop 06f29h ; e2 fa 10086 10089 cmp di, dx ; 39 d7 10087 jne short 06f3 2h ; 75 0410090 jne short 06f37h ; 75 04 10088 10091 cmp bx, ax ; 39 c3 10089 je short 06f3 6h ; 74 0410092 je short 06f3bh ; 74 04 10090 10093 or byte [bp-008h], 002h ; 80 4e f8 02 10091 10094 push strict byte 00000h ; 6a 00 … … 10137 10140 mov ax, strict word 00008h ; b8 08 00 10138 10141 test cx, strict word 00001h ; f7 c1 01 00 10139 je near 06fd 4h ; 0f 84 02 0010142 je near 06fd9h ; 0f 84 02 00 10140 10143 mov es, ax ; 8e c0 10141 10144 test cx, strict word 00002h ; f7 c1 02 00 10142 je near 0 6ffch ; 0f 84 20 0010145 je near 07001h ; 0f 84 20 00 10143 10146 mov bx, word [word ss:00000h] ; 36 8b 1e 00 00 10144 10147 mov word [word ss:00008h], bx ; 36 89 1e 08 00 … … 10157 10160 mov ss, [word ss:00020h] ; 36 8e 16 20 00 10158 10161 iret ; cf 10159 jmp short 070 1bh ; eb 0410162 jmp short 07020h ; eb 04 10160 10163 sti ; fb 10161 10164 hlt ; f4 10162 jmp short 0701 8h ; eb fd10165 jmp short 0701dh ; eb fd 10163 10166 lea sp, [bp-004h] ; 8d 66 fc 10164 10167 pop di ; 5f … … 10166 10169 pop bp ; 5d 10167 10170 retn ; c3 10168 init_rtc_: ; 0xf702 2LB 0x2810171 init_rtc_: ; 0xf7027 LB 0x28 10169 10172 push bp ; 55 10170 10173 mov bp, sp ; 89 e5 … … 10172 10175 mov dx, strict word 00026h ; ba 26 00 10173 10176 mov ax, strict word 0000ah ; b8 0a 00 10174 call 01731h ; e8 02 a710177 call 01731h ; e8 fd a6 10175 10178 mov dx, strict word 00002h ; ba 02 00 10176 10179 mov ax, strict word 0000bh ; b8 0b 00 10177 call 01731h ; e8 f 9a610180 call 01731h ; e8 f4 a6 10178 10181 mov ax, strict word 0000ch ; b8 0c 00 10179 call 01714h ; e8 d 6a610182 call 01714h ; e8 d1 a6 10180 10183 mov ax, strict word 0000dh ; b8 0d 00 10181 call 01714h ; e8 d0a610184 call 01714h ; e8 cb a6 10182 10185 lea sp, [bp-002h] ; 8d 66 fe 10183 10186 pop dx ; 5a 10184 10187 pop bp ; 5d 10185 10188 retn ; c3 10186 rtc_updating_: ; 0xf704 aLB 0x2110189 rtc_updating_: ; 0xf704f LB 0x21 10187 10190 push bp ; 55 10188 10191 mov bp, sp ; 89 e5 … … 10190 10193 mov dx, 061a8h ; ba a8 61 10191 10194 dec dx ; 4a 10192 je short 0706 2h ; 74 0e10195 je short 07067h ; 74 0e 10193 10196 mov ax, strict word 0000ah ; b8 0a 00 10194 call 01714h ; e8 b aa610197 call 01714h ; e8 b5 a6 10195 10198 test AL, strict byte 080h ; a8 80 10196 jne short 0705 1h ; 75 f310199 jne short 07056h ; 75 f3 10197 10200 xor ax, ax ; 31 c0 10198 jmp short 0706 5h ; eb 0310201 jmp short 0706ah ; eb 03 10199 10202 mov ax, strict word 00001h ; b8 01 00 10200 10203 lea sp, [bp-002h] ; 8d 66 fe … … 10202 10205 pop bp ; 5d 10203 10206 retn ; c3 10204 _int70_function: ; 0xf70 6bLB 0xbe10207 _int70_function: ; 0xf7070 LB 0xbe 10205 10208 push bp ; 55 10206 10209 mov bp, sp ; 89 e5 … … 10208 10211 push ax ; 50 10209 10212 mov ax, strict word 0000bh ; b8 0b 00 10210 call 01714h ; e8 9 ea610213 call 01714h ; e8 99 a6 10211 10214 mov dl, al ; 88 c2 10212 10215 mov byte [bp-004h], al ; 88 46 fc 10213 10216 mov ax, strict word 0000ch ; b8 0c 00 10214 call 01714h ; e8 93a610217 call 01714h ; e8 8e a6 10215 10218 mov dh, al ; 88 c6 10216 10219 test dl, 060h ; f6 c2 60 10217 je near 0711 0h ; 0f 84 86 0010220 je near 07115h ; 0f 84 86 00 10218 10221 test AL, strict byte 020h ; a8 20 10219 je short 0709 2h ; 74 0410222 je short 07097h ; 74 04 10220 10223 sti ; fb 10221 10224 int 04ah ; cd 4a 10222 10225 cli ; fa 10223 10226 test dh, 040h ; f6 c6 40 10224 je near 0711 0h ; 0f 84 77 0010227 je near 07115h ; 0f 84 77 00 10225 10228 mov dx, 000a0h ; ba a0 00 10226 10229 mov ax, strict word 00040h ; b8 40 00 10227 call 016b8h ; e8 1 6a610230 call 016b8h ; e8 11 a6 10228 10231 test al, al ; 84 c0 10229 je short 0711 0h ; 74 6a10232 je short 07115h ; 74 6a 10230 10233 mov dx, 0009ch ; ba 9c 00 10231 10234 mov ax, strict word 00040h ; b8 40 00 10232 call 016f0h ; e8 41a610235 call 016f0h ; e8 3c a6 10233 10236 test dx, dx ; 85 d2 10234 jne short 07 0fch ; 75 4910237 jne short 07101h ; 75 49 10235 10238 cmp ax, 003d1h ; 3d d1 03 10236 jnc short 07 0fch ; 73 4410239 jnc short 07101h ; 73 44 10237 10240 mov dx, 00098h ; ba 98 00 10238 10241 mov ax, strict word 00040h ; b8 40 00 10239 call 016d4h ; e8 13a610242 call 016d4h ; e8 0e a6 10240 10243 mov si, ax ; 89 c6 10241 10244 mov dx, 0009ah ; ba 9a 00 10242 10245 mov ax, strict word 00040h ; b8 40 00 10243 call 016d4h ; e8 0 8a610246 call 016d4h ; e8 03 a6 10244 10247 mov cx, ax ; 89 c1 10245 10248 xor bx, bx ; 31 db 10246 10249 mov dx, 000a0h ; ba a0 00 10247 10250 mov ax, strict word 00040h ; b8 40 00 10248 call 016c6h ; e8 e da510251 call 016c6h ; e8 e8 a5 10249 10252 mov al, byte [bp-004h] ; 8a 46 fc 10250 10253 and AL, strict byte 037h ; 24 37 10251 10254 movzx dx, al ; 0f b6 d0 10252 10255 mov ax, strict word 0000bh ; b8 0b 00 10253 call 01731h ; e8 4 aa610256 call 01731h ; e8 45 a6 10254 10257 mov dx, cx ; 89 ca 10255 10258 mov ax, si ; 89 f0 10256 call 016b8h ; e8 c aa510259 call 016b8h ; e8 c5 a5 10257 10260 or AL, strict byte 080h ; 0c 80 10258 10261 movzx bx, al ; 0f b6 d8 10259 10262 mov dx, cx ; 89 ca 10260 10263 mov ax, si ; 89 f0 10261 call 016c6h ; e8 c ca510262 jmp short 0711 0h ; eb 1410264 call 016c6h ; e8 c7 a5 10265 jmp short 07115h ; eb 14 10263 10266 mov bx, ax ; 89 c3 10264 10267 add bx, 0fc2fh ; 81 c3 2f fc … … 10267 10270 mov dx, 0009ch ; ba 9c 00 10268 10271 mov ax, strict word 00040h ; b8 40 00 10269 call 01702h ; e8 f2a510270 call 0e030h ; e8 1 d6f10272 call 01702h ; e8 ed a5 10273 call 0e030h ; e8 18 6f 10271 10274 lea sp, [bp-002h] ; 8d 66 fe 10272 10275 pop si ; 5e 10273 10276 pop bp ; 5d 10274 10277 retn ; c3 10275 inc ax ; 4010276 jno short 0718 5h ; 71 6910277 jno short 070 ach ; 71 8e10278 jno short 070e 0h ; 71 c010279 jno short 0713 1h ; 71 0f10280 jc short 071 6bh ; 72 4710281 jc short 070b 0h ; 72 8a10282 jc short 071 09h ; 72 e110278 inc bp ; 45 10279 jno short 0718fh ; 71 6e 10280 jno short 070b6h ; 71 93 10281 jno short 070eah ; 71 c5 10282 jno short 0713bh ; 71 14 10283 jc short 07175h ; 72 4c 10284 jc short 070bah ; 72 8f 10285 jc short 07113h ; 72 e6 10283 10286 db 072h 10284 _int1a_function: ; 0xf712 9LB 0x1c810287 _int1a_function: ; 0xf712e LB 0x1c8 10285 10288 push bp ; 55 10286 10289 mov bp, sp ; 89 e5 … … 10288 10291 mov al, byte [bp+013h] ; 8a 46 13 10289 10292 cmp AL, strict byte 007h ; 3c 07 10290 jnbe near 0716 5h ; 0f 87 2f 0010293 jnbe near 0716ah ; 0f 87 2f 00 10291 10294 movzx bx, al ; 0f b6 d8 10292 10295 add bx, bx ; 01 db 10293 jmp word [cs:bx+0711 9h] ; 2e ff a7 197110296 jmp word [cs:bx+0711eh] ; 2e ff a7 1e 71 10294 10297 cli ; fa 10295 10298 mov bx, 0046eh ; bb 6e 04 … … 10322 10325 sti ; fb 10323 10326 mov byte [bp+013h], 000h ; c6 46 13 00 10324 jmp short 0716 5h ; eb d710325 call 0704 ah ; e8 b9 fe10327 jmp short 0716ah ; eb d7 10328 call 0704fh ; e8 b9 fe 10326 10329 test ax, ax ; 85 c0 10327 je short 0719 7h ; 74 0210328 jmp short 0716 5h ; eb ce10330 je short 0719ch ; 74 02 10331 jmp short 0716ah ; eb ce 10329 10332 xor ax, ax ; 31 c0 10330 call 01714h ; e8 7 8a510333 call 01714h ; e8 73 a5 10331 10334 mov byte [bp+00fh], al ; 88 46 0f 10332 10335 mov ax, strict word 00002h ; b8 02 00 10333 call 01714h ; e8 6 fa510336 call 01714h ; e8 6a a5 10334 10337 mov byte [bp+010h], al ; 88 46 10 10335 10338 mov ax, strict word 00004h ; b8 04 00 10336 call 01714h ; e8 6 6a510339 call 01714h ; e8 61 a5 10337 10340 mov bl, al ; 88 c3 10338 10341 mov byte [bp+011h], al ; 88 46 11 10339 10342 mov ax, strict word 0000bh ; b8 0b 00 10340 call 01714h ; e8 5 ba510343 call 01714h ; e8 56 a5 10341 10344 and AL, strict byte 001h ; 24 01 10342 10345 mov byte [bp+00eh], al ; 88 46 0e 10343 jmp short 0720 5h ; eb 4510344 call 0704 ah ; e8 87 fe10346 jmp short 0720ah ; eb 45 10347 call 0704fh ; e8 87 fe 10345 10348 test ax, ax ; 85 c0 10346 je short 071c ah ; 74 0310347 call 0702 2h ; e8 58 fe10349 je short 071cfh ; 74 03 10350 call 07027h ; e8 58 fe 10348 10351 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 10349 10352 xor ax, ax ; 31 c0 10350 call 01731h ; e8 5 ea510353 call 01731h ; e8 59 a5 10351 10354 movzx dx, byte [bp+010h] ; 0f b6 56 10 10352 10355 mov ax, strict word 00002h ; b8 02 00 10353 call 01731h ; e8 54a510356 call 01731h ; e8 4f a5 10354 10357 movzx dx, byte [bp+011h] ; 0f b6 56 11 10355 10358 mov ax, strict word 00004h ; b8 04 00 10356 call 01731h ; e8 4 aa510359 call 01731h ; e8 45 a5 10357 10360 mov ax, strict word 0000bh ; b8 0b 00 10358 call 01714h ; e8 2 7a510361 call 01714h ; e8 22 a5 10359 10362 mov bl, al ; 88 c3 10360 10363 and bl, 060h ; 80 e3 60 … … 10365 10368 movzx dx, bl ; 0f b6 d3 10366 10369 mov ax, strict word 0000bh ; b8 0b 00 10367 call 01731h ; e8 2 ca510370 call 01731h ; e8 27 a5 10368 10371 mov byte [bp+013h], 000h ; c6 46 13 00 10369 10372 mov byte [bp+012h], bl ; 88 5e 12 10370 jmp near 0716 5h ; e9 56 ff10373 jmp near 0716ah ; e9 56 ff 10371 10374 mov byte [bp+013h], 000h ; c6 46 13 00 10372 call 0704 ah ; e8 34 fe10375 call 0704fh ; e8 34 fe 10373 10376 test ax, ax ; 85 c0 10374 je short 072 1dh ; 74 0310375 jmp near 0716 5h ; e9 48 ff10377 je short 07222h ; 74 03 10378 jmp near 0716ah ; e9 48 ff 10376 10379 mov ax, strict word 00009h ; b8 09 00 10377 call 01714h ; e8 f1a410380 call 01714h ; e8 ec a4 10378 10381 mov byte [bp+010h], al ; 88 46 10 10379 10382 mov ax, strict word 00008h ; b8 08 00 10380 call 01714h ; e8 e 8a410383 call 01714h ; e8 e3 a4 10381 10384 mov byte [bp+00fh], al ; 88 46 0f 10382 10385 mov ax, strict word 00007h ; b8 07 00 10383 call 01714h ; e8 d fa410386 call 01714h ; e8 da a4 10384 10387 mov byte [bp+00eh], al ; 88 46 0e 10385 10388 mov ax, strict word 00032h ; b8 32 00 10386 call 01714h ; e8 d 6a410389 call 01714h ; e8 d1 a4 10387 10390 mov byte [bp+011h], al ; 88 46 11 10388 10391 mov byte [bp+012h], al ; 88 46 12 10389 jmp near 0716 5h ; e9 1e ff10390 call 0704 ah ; e8 00 fe10392 jmp near 0716ah ; e9 1e ff 10393 call 0704fh ; e8 00 fe 10391 10394 test ax, ax ; 85 c0 10392 je short 0725 4h ; 74 0610393 call 0702 2h ; e8 d1 fd10394 jmp near 0716 5h ; e9 11 ff10395 je short 07259h ; 74 06 10396 call 07027h ; e8 d1 fd 10397 jmp near 0716ah ; e9 11 ff 10395 10398 movzx dx, byte [bp+010h] ; 0f b6 56 10 10396 10399 mov ax, strict word 00009h ; b8 09 00 10397 call 01731h ; e8 d3a410400 call 01731h ; e8 ce a4 10398 10401 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 10399 10402 mov ax, strict word 00008h ; b8 08 00 10400 call 01731h ; e8 c 9a410403 call 01731h ; e8 c4 a4 10401 10404 movzx dx, byte [bp+00eh] ; 0f b6 56 0e 10402 10405 mov ax, strict word 00007h ; b8 07 00 10403 call 01731h ; e8 b fa410406 call 01731h ; e8 ba a4 10404 10407 movzx dx, byte [bp+011h] ; 0f b6 56 11 10405 10408 mov ax, strict word 00032h ; b8 32 00 10406 call 01731h ; e8 b 5a410409 call 01731h ; e8 b0 a4 10407 10410 mov ax, strict word 0000bh ; b8 0b 00 10408 call 01714h ; e8 92a410411 call 01714h ; e8 8d a4 10409 10412 mov bl, al ; 88 c3 10410 10413 and bl, 07fh ; 80 e3 7f 10411 jmp near 07 1fch ; e9 72 ff10414 jmp near 07201h ; e9 72 ff 10412 10415 mov ax, strict word 0000bh ; b8 0b 00 10413 call 01714h ; e8 84a410416 call 01714h ; e8 7f a4 10414 10417 mov bl, al ; 88 c3 10415 10418 mov word [bp+012h], strict word 00000h ; c7 46 12 00 00 10416 10419 test AL, strict byte 020h ; a8 20 10417 je short 072 9eh ; 74 0310418 jmp near 0716 5h ; e9 c7 fe10419 call 0704 ah ; e8 a9 fd10420 je short 072a3h ; 74 03 10421 jmp near 0716ah ; e9 c7 fe 10422 call 0704fh ; e8 a9 fd 10420 10423 test ax, ax ; 85 c0 10421 je short 072a 8h ; 74 0310422 call 0702 2h ; e8 7a fd10424 je short 072adh ; 74 03 10425 call 07027h ; e8 7a fd 10423 10426 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 10424 10427 mov ax, strict word 00001h ; b8 01 00 10425 call 01731h ; e8 7 fa410428 call 01731h ; e8 7a a4 10426 10429 movzx dx, byte [bp+010h] ; 0f b6 56 10 10427 10430 mov ax, strict word 00003h ; b8 03 00 10428 call 01731h ; e8 7 5a410431 call 01731h ; e8 70 a4 10429 10432 movzx dx, byte [bp+011h] ; 0f b6 56 11 10430 10433 mov ax, strict word 00005h ; b8 05 00 10431 call 01731h ; e8 6 ba410434 call 01731h ; e8 66 a4 10432 10435 mov dx, 000a1h ; ba a1 00 10433 10436 in AL, DX ; ec … … 10441 10444 movzx dx, al ; 0f b6 d0 10442 10445 mov ax, strict word 0000bh ; b8 0b 00 10443 call 01731h ; e8 53a410444 jmp near 0716 5h ; e9 84 fe10446 call 01731h ; e8 4e a4 10447 jmp near 0716ah ; e9 84 fe 10445 10448 mov ax, strict word 0000bh ; b8 0b 00 10446 call 01714h ; e8 2 da410449 call 01714h ; e8 28 a4 10447 10450 mov bl, al ; 88 c3 10448 10451 and AL, strict byte 057h ; 24 57 10449 10452 movzx dx, al ; 0f b6 d0 10450 jmp near 07 1ffh ; e9 0e ff10451 send_to_mouse_ctrl_: ; 0xf72f 1LB 0x3410453 jmp near 07204h ; e9 0e ff 10454 send_to_mouse_ctrl_: ; 0xf72f6 LB 0x34 10452 10455 push bp ; 55 10453 10456 mov bp, sp ; 89 e5 … … 10460 10463 ; sub ah, ah ; 2a e4 10461 10464 test AL, strict byte 002h ; a8 02 10462 je short 0731 0h ; 74 0e10465 je short 07315h ; 74 0e 10463 10466 push 008eeh ; 68 ee 08 10464 push 0116 eh ; 68 6e1110467 push 0116ch ; 68 6c 11 10465 10468 push strict byte 00007h ; 6a 07 10466 call 019dah ; e8 c da610469 call 019dah ; e8 c8 a6 10467 10470 add sp, strict byte 00006h ; 83 c4 06 10468 10471 mov AL, strict byte 0d4h ; b0 d4 … … 10478 10481 pop bp ; 5d 10479 10482 retn ; c3 10480 get_mouse_data_: ; 0xf732 5LB 0x5c10483 get_mouse_data_: ; 0xf732a LB 0x5c 10481 10484 push bp ; 55 10482 10485 mov bp, sp ; 89 e5 … … 10493 10496 and ax, strict word 00021h ; 25 21 00 10494 10497 cmp ax, strict word 00021h ; 3d 21 00 10495 je short 0736 7h ; 74 2710498 je short 0736ch ; 74 27 10496 10499 test cx, cx ; 85 c9 10497 je short 0736 7h ; 74 2310500 je short 0736ch ; 74 23 10498 10501 mov dx, strict word 00061h ; ba 61 00 10499 10502 in AL, DX ; ec … … 10511 10514 movzx ax, byte [bp-006h] ; 0f b6 46 fa 10512 10515 cmp dx, ax ; 39 c2 10513 je short 073 4fh ; 74 eb10516 je short 07354h ; 74 eb 10514 10517 dec cx ; 49 10515 jmp short 0733 2h ; eb cb10518 jmp short 07337h ; eb cb 10516 10519 test cx, cx ; 85 c9 10517 jne short 073 6fh ; 75 0410520 jne short 07374h ; 75 04 10518 10521 mov AL, strict byte 001h ; b0 01 10519 jmp short 0737 ah ; eb 0b10522 jmp short 0737fh ; eb 0b 10520 10523 mov dx, strict word 00060h ; ba 60 00 10521 10524 in AL, DX ; ec … … 10529 10532 pop bp ; 5d 10530 10533 retn ; c3 10531 set_kbd_command_byte_: ; 0xf738 1LB 0x3210534 set_kbd_command_byte_: ; 0xf7386 LB 0x32 10532 10535 push bp ; 55 10533 10536 mov bp, sp ; 89 e5 … … 10540 10543 ; sub ah, ah ; 2a e4 10541 10544 test AL, strict byte 002h ; a8 02 10542 je short 073a 0h ; 74 0e10545 je short 073a5h ; 74 0e 10543 10546 push 008f8h ; 68 f8 08 10544 push 0116 eh ; 68 6e1110547 push 0116ch ; 68 6c 11 10545 10548 push strict byte 00007h ; 6a 07 10546 call 019dah ; e8 3 da610549 call 019dah ; e8 38 a6 10547 10550 add sp, strict byte 00006h ; 83 c4 06 10548 10551 mov AL, strict byte 060h ; b0 60 … … 10557 10560 pop bp ; 5d 10558 10561 retn ; c3 10559 _int74_function: ; 0xf73b 3LB 0xca10562 _int74_function: ; 0xf73b8 LB 0xca 10560 10563 push bp ; 55 10561 10564 mov bp, sp ; 89 e5 … … 10563 10566 mov dx, strict word 0000eh ; ba 0e 00 10564 10567 mov ax, strict word 00040h ; b8 40 00 10565 call 016d4h ; e8 12a310568 call 016d4h ; e8 0d a3 10566 10569 mov cx, ax ; 89 c1 10567 10570 mov word [bp+004h], strict word 00000h ; c7 46 04 00 00 … … 10572 10575 and AL, strict byte 021h ; 24 21 10573 10576 cmp AL, strict byte 021h ; 3c 21 10574 jne near 0746 9h ; 0f 85 92 0010577 jne near 0746eh ; 0f 85 92 00 10575 10578 mov dx, strict word 00060h ; ba 60 00 10576 10579 in AL, DX ; ec … … 10580 10583 mov dx, strict word 00026h ; ba 26 00 10581 10584 mov ax, cx ; 89 c8 10582 call 016b8h ; e8 d1a210585 call 016b8h ; e8 cc a2 10583 10586 mov byte [bp-006h], al ; 88 46 fa 10584 10587 mov dx, strict word 00027h ; ba 27 00 10585 10588 mov ax, cx ; 89 c8 10586 call 016b8h ; e8 c 6a210589 call 016b8h ; e8 c1 a2 10587 10590 mov byte [bp-008h], al ; 88 46 f8 10588 10591 test AL, strict byte 080h ; a8 80 10589 je short 0746 9h ; 74 7010592 je short 0746eh ; 74 70 10590 10593 mov al, byte [bp-008h] ; 8a 46 f8 10591 10594 and AL, strict byte 007h ; 24 07 … … 10598 10601 add dx, strict byte 00028h ; 83 c2 28 10599 10602 mov ax, cx ; 89 c8 10600 call 016c6h ; e8 b0a210603 call 016c6h ; e8 ab a2 10601 10604 mov al, byte [bp-004h] ; 8a 46 fc 10602 10605 cmp al, byte [bp-002h] ; 3a 46 fe 10603 jc short 0745 ah ; 72 3c10606 jc short 0745fh ; 72 3c 10604 10607 mov dx, strict word 00028h ; ba 28 00 10605 10608 mov ax, cx ; 89 c8 10606 call 016b8h ; e8 92a210609 call 016b8h ; e8 8d a2 10607 10610 xor ah, ah ; 30 e4 10608 10611 mov word [bp+00ch], ax ; 89 46 0c 10609 10612 mov dx, strict word 00029h ; ba 29 00 10610 10613 mov ax, cx ; 89 c8 10611 call 016b8h ; e8 8 5a210614 call 016b8h ; e8 80 a2 10612 10615 xor ah, ah ; 30 e4 10613 10616 mov word [bp+00ah], ax ; 89 46 0a 10614 10617 mov dx, strict word 0002ah ; ba 2a 00 10615 10618 mov ax, cx ; 89 c8 10616 call 016b8h ; e8 7 8a210619 call 016b8h ; e8 73 a2 10617 10620 xor ah, ah ; 30 e4 10618 10621 mov word [bp+008h], ax ; 89 46 08 … … 10621 10624 mov byte [bp-006h], ah ; 88 66 fa 10622 10625 test byte [bp-008h], 080h ; f6 46 f8 80 10623 je short 074 5dh ; 74 0a10626 je short 07462h ; 74 0a 10624 10627 mov word [bp+004h], strict word 00001h ; c7 46 04 01 00 10625 jmp short 074 5dh ; eb 0310628 jmp short 07462h ; eb 03 10626 10629 inc byte [bp-006h] ; fe 46 fa 10627 10630 movzx bx, byte [bp-006h] ; 0f b6 5e fa 10628 10631 mov dx, strict word 00026h ; ba 26 00 10629 10632 mov ax, cx ; 89 c8 10630 call 016c6h ; e8 5 da210633 call 016c6h ; e8 58 a2 10631 10634 mov sp, bp ; 89 ec 10632 10635 pop bp ; 5d 10633 10636 retn ; c3 10634 db 0c 1h, 074h, 037h, 075h10635 ; sal word [si+037h], 075h ; c1 74 377510636 mov d x, 04b75h ; ba 75 4b10637 jbe short 074 2fh ; 76 b910638 jbe short 0748 5h ; 76 0d10639 jne short 074 5bh ; 75 e110640 jbe short 0742 2h ; 76 a610637 db 0c6h, 074h, 03ch, 075h 10638 ; mov byte [si+03ch], 075h ; c6 74 3c 75 10639 mov di, 05075h ; bf 75 50 10640 jbe short 07439h ; 76 be 10641 jbe short 0748fh ; 76 12 10642 jne short 07465h ; 75 e6 10643 jbe short 0742ch ; 76 ab 10641 10644 db 077h 10642 _int15_function_mouse: ; 0xf74 7dLB 0x38b10645 _int15_function_mouse: ; 0xf7482 LB 0x38b 10643 10646 push bp ; 55 10644 10647 mov bp, sp ; 89 e5 … … 10647 10650 mov dx, strict word 0000eh ; ba 0e 00 10648 10651 mov ax, strict word 00040h ; b8 40 00 10649 call 016d4h ; e8 4 7a210652 call 016d4h ; e8 42 a2 10650 10653 mov cx, ax ; 89 c1 10651 10654 cmp byte [bp+012h], 007h ; 80 7e 12 07 10652 jbe short 074a 0h ; 76 0b10655 jbe short 074a5h ; 76 0b 10653 10656 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10654 10657 mov byte [bp+013h], 001h ; c6 46 13 01 10655 jmp near 0780 2h ; e9 62 0310658 jmp near 07807h ; e9 62 03 10656 10659 mov ax, strict word 00065h ; b8 65 00 10657 call 0738 1h ; e8 db fe10660 call 07386h ; e8 db fe 10658 10661 and word [bp+018h], strict byte 0fffeh ; 83 66 18 fe 10659 10662 mov byte [bp+013h], 000h ; c6 46 13 00 10660 10663 mov al, byte [bp+012h] ; 8a 46 12 10661 10664 cmp AL, strict byte 007h ; 3c 07 10662 jnbe near 077e 9h ; 0f 87 32 0310665 jnbe near 077eeh ; 0f 87 32 03 10663 10666 movzx si, al ; 0f b6 f0 10664 10667 add si, si ; 01 f6 10665 jmp word [cs:si+074 6dh] ; 2e ff a4 6d7410668 jmp word [cs:si+07472h] ; 2e ff a4 72 74 10666 10669 cmp byte [bp+00dh], 001h ; 80 7e 0d 01 10667 jnbe near 077f 4h ; 0f 87 2b 0310670 jnbe near 077f9h ; 0f 87 2b 03 10668 10671 mov dx, strict word 00027h ; ba 27 00 10669 10672 mov ax, cx ; 89 c8 10670 call 016b8h ; e8 e 7a110673 call 016b8h ; e8 e2 a1 10671 10674 test AL, strict byte 080h ; a8 80 10672 jne short 074e 0h ; 75 0b10675 jne short 074e5h ; 75 0b 10673 10676 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10674 10677 mov byte [bp+013h], 005h ; c6 46 13 05 10675 jmp near 07 7fch ; e9 1c 0310678 jmp near 07801h ; e9 1c 03 10676 10679 cmp byte [bp+00dh], 000h ; 80 7e 0d 00 10677 10680 db 00fh, 094h, 0c0h … … 10679 10682 add AL, strict byte 0f4h ; 04 f4 10680 10683 xor ah, ah ; 30 e4 10681 call 072f 1h ; e8 03 fe10684 call 072f6h ; e8 03 fe 10682 10685 test al, al ; 84 c0 10683 jne near 0778 2h ; 0f 85 8e 0210686 jne near 07787h ; 0f 85 8e 02 10684 10687 mov dx, ss ; 8c d2 10685 10688 lea ax, [bp-008h] ; 8d 46 f8 10686 call 0732 5h ; e8 29 fe10689 call 0732ah ; e8 29 fe 10687 10690 test al, al ; 84 c0 10688 je near 07 7fch ; 0f 84 fa 0210691 je near 07801h ; 0f 84 fa 02 10689 10692 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10690 jne near 0778 2h ; 0f 85 78 0210691 jmp near 07 7fch ; e9 ef 0210693 jne near 07787h ; 0f 85 78 02 10694 jmp near 07801h ; e9 ef 02 10692 10695 mov al, byte [bp+00dh] ; 8a 46 0d 10693 10696 cmp AL, strict byte 001h ; 3c 01 10694 jc short 0751 8h ; 72 0410697 jc short 0751dh ; 72 04 10695 10698 cmp AL, strict byte 008h ; 3c 08 10696 jbe short 075 1bh ; 76 0310697 jmp near 076 aeh ; e9 93 0110699 jbe short 07520h ; 76 03 10700 jmp near 076b3h ; e9 93 01 10698 10701 mov dx, strict word 00027h ; ba 27 00 10699 10702 mov ax, cx ; 89 c8 10700 call 016b8h ; e8 9 5a110703 call 016b8h ; e8 90 a1 10701 10704 mov ah, byte [bp+00dh] ; 8a 66 0d 10702 10705 db 0feh, 0cch … … 10707 10710 mov dx, strict word 00027h ; ba 27 00 10708 10711 mov ax, cx ; 89 c8 10709 call 016c6h ; e8 8 fa110712 call 016c6h ; e8 8a a1 10710 10713 mov dx, strict word 00026h ; ba 26 00 10711 10714 mov ax, cx ; 89 c8 10712 call 016b8h ; e8 7 9a110715 call 016b8h ; e8 74 a1 10713 10716 and AL, strict byte 0f8h ; 24 f8 10714 10717 movzx bx, al ; 0f b6 d8 10715 10718 mov dx, strict word 00026h ; ba 26 00 10716 10719 mov ax, cx ; 89 c8 10717 call 016c6h ; e8 7 aa110720 call 016c6h ; e8 75 a1 10718 10721 mov ax, 000ffh ; b8 ff 00 10719 call 072f 1h ; e8 9f fd10722 call 072f6h ; e8 9f fd 10720 10723 test al, al ; 84 c0 10721 jne near 0778 2h ; 0f 85 2a 0210724 jne near 07787h ; 0f 85 2a 02 10722 10725 mov dx, ss ; 8c d2 10723 10726 lea ax, [bp-004h] ; 8d 46 fc 10724 call 0732 5h ; e8 c5 fd10727 call 0732ah ; e8 c5 fd 10725 10728 mov cl, al ; 88 c1 10726 10729 cmp byte [bp-004h], 0feh ; 80 7e fc fe 10727 jne short 0757 3h ; 75 0b10730 jne short 07578h ; 75 0b 10728 10731 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10729 10732 mov byte [bp+013h], 004h ; c6 46 13 04 10730 jmp near 07 7fch ; e9 89 0210733 jmp near 07801h ; e9 89 02 10731 10734 cmp byte [bp-004h], 0fah ; 80 7e fc fa 10732 je short 0758 9h ; 74 1010735 je short 0758eh ; 74 10 10733 10736 movzx ax, byte [bp-004h] ; 0f b6 46 fc 10734 10737 push ax ; 50 10735 10738 push 00903h ; 68 03 09 10736 10739 push strict byte 00007h ; 6a 07 10737 call 019dah ; e8 54a410740 call 019dah ; e8 4f a4 10738 10741 add sp, strict byte 00006h ; 83 c4 06 10739 10742 test cl, cl ; 84 c9 10740 jne near 0778 2h ; 0f 85 f3 0110743 jne near 07787h ; 0f 85 f3 01 10741 10744 mov dx, ss ; 8c d2 10742 10745 lea ax, [bp-008h] ; 8d 46 f8 10743 call 0732 5h ; e8 8e fd10746 call 0732ah ; e8 8e fd 10744 10747 test al, al ; 84 c0 10745 jne near 0778 2h ; 0f 85 e5 0110748 jne near 07787h ; 0f 85 e5 01 10746 10749 mov dx, ss ; 8c d2 10747 10750 lea ax, [bp-006h] ; 8d 46 fa 10748 call 0732 5h ; e8 80 fd10751 call 0732ah ; e8 80 fd 10749 10752 test al, al ; 84 c0 10750 jne near 0778 2h ; 0f 85 d7 0110753 jne near 07787h ; 0f 85 d7 01 10751 10754 mov al, byte [bp-008h] ; 8a 46 f8 10752 10755 mov byte [bp+00ch], al ; 88 46 0c 10753 10756 mov al, byte [bp-006h] ; 8a 46 fa 10754 10757 mov byte [bp+00dh], al ; 88 46 0d 10755 jmp near 07 7fch ; e9 42 0210758 jmp near 07801h ; e9 42 02 10756 10759 mov al, byte [bp+00dh] ; 8a 46 0d 10757 10760 cmp AL, strict byte 003h ; 3c 03 10758 jc short 075d 1h ; 72 1010759 jbe short 075 efh ; 76 2c10761 jc short 075d6h ; 72 10 10762 jbe short 075f4h ; 76 2c 10760 10763 cmp AL, strict byte 006h ; 3c 06 10761 je short 0760 1h ; 74 3a10764 je short 07606h ; 74 3a 10762 10765 cmp AL, strict byte 005h ; 3c 05 10763 je short 07 5fbh ; 74 3010766 je short 07600h ; 74 30 10764 10767 cmp AL, strict byte 004h ; 3c 04 10765 je short 075f 5h ; 74 2610766 jmp short 0760 7h ; eb 3610768 je short 075fah ; 74 26 10769 jmp short 0760ch ; eb 36 10767 10770 cmp AL, strict byte 002h ; 3c 02 10768 je short 075e 9h ; 74 1410771 je short 075eeh ; 74 14 10769 10772 cmp AL, strict byte 001h ; 3c 01 10770 je short 075e 3h ; 74 0a10773 je short 075e8h ; 74 0a 10771 10774 test al, al ; 84 c0 10772 jne short 0760 7h ; 75 2a10775 jne short 0760ch ; 75 2a 10773 10776 mov byte [bp-008h], 00ah ; c6 46 f8 0a 10774 jmp short 076 0bh ; eb 2810777 jmp short 07610h ; eb 28 10775 10778 mov byte [bp-008h], 014h ; c6 46 f8 14 10776 jmp short 076 0bh ; eb 2210779 jmp short 07610h ; eb 22 10777 10780 mov byte [bp-008h], 028h ; c6 46 f8 28 10778 jmp short 076 0bh ; eb 1c10781 jmp short 07610h ; eb 1c 10779 10782 mov byte [bp-008h], 03ch ; c6 46 f8 3c 10780 jmp short 076 0bh ; eb 1610783 jmp short 07610h ; eb 16 10781 10784 mov byte [bp-008h], 050h ; c6 46 f8 50 10782 jmp short 076 0bh ; eb 1010785 jmp short 07610h ; eb 10 10783 10786 mov byte [bp-008h], 064h ; c6 46 f8 64 10784 jmp short 076 0bh ; eb 0a10787 jmp short 07610h ; eb 0a 10785 10788 mov byte [bp-008h], 0c8h ; c6 46 f8 c8 10786 jmp short 076 0bh ; eb 0410789 jmp short 07610h ; eb 04 10787 10790 mov byte [bp-008h], 000h ; c6 46 f8 00 10788 10791 cmp byte [bp-008h], 000h ; 80 7e f8 00 10789 jbe short 0764 0h ; 76 2f10792 jbe short 07645h ; 76 2f 10790 10793 mov ax, 000f3h ; b8 f3 00 10791 call 072f 1h ; e8 da fc10794 call 072f6h ; e8 da fc 10792 10795 test al, al ; 84 c0 10793 jne short 0763 5h ; 75 1a10796 jne short 0763ah ; 75 1a 10794 10797 mov dx, ss ; 8c d2 10795 10798 lea ax, [bp-006h] ; 8d 46 fa 10796 call 0732 5h ; e8 02 fd10799 call 0732ah ; e8 02 fd 10797 10800 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10798 call 072f 1h ; e8 c7 fc10801 call 072f6h ; e8 c7 fc 10799 10802 mov dx, ss ; 8c d2 10800 10803 lea ax, [bp-006h] ; 8d 46 fa 10801 call 0732 5h ; e8 f3 fc10802 jmp near 07 7fch ; e9 c7 0110804 call 0732ah ; e8 f3 fc 10805 jmp near 07801h ; e9 c7 01 10803 10806 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10804 10807 mov byte [bp+013h], 003h ; c6 46 13 03 10805 jmp near 07 7fch ; e9 bc 0110808 jmp near 07801h ; e9 bc 01 10806 10809 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10807 10810 mov byte [bp+013h], 002h ; c6 46 13 02 10808 jmp near 07 7fch ; e9 b1 0110811 jmp near 07801h ; e9 b1 01 10809 10812 cmp byte [bp+00dh], 004h ; 80 7e 0d 04 10810 jnc short 076 aeh ; 73 5d10813 jnc short 076b3h ; 73 5d 10811 10814 mov ax, 000e8h ; b8 e8 00 10812 call 072f 1h ; e8 9a fc10815 call 072f6h ; e8 9a fc 10813 10816 test al, al ; 84 c0 10814 jne short 076a 3h ; 75 4810817 jne short 076a8h ; 75 48 10815 10818 mov dx, ss ; 8c d2 10816 10819 lea ax, [bp-008h] ; 8d 46 f8 10817 call 0732 5h ; e8 c2 fc10820 call 0732ah ; e8 c2 fc 10818 10821 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10819 je short 0767 9h ; 74 1010822 je short 0767eh ; 74 10 10820 10823 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10821 10824 push ax ; 50 10822 10825 push 0092eh ; 68 2e 09 10823 10826 push strict byte 00007h ; 6a 07 10824 call 019dah ; e8 64a310827 call 019dah ; e8 5f a3 10825 10828 add sp, strict byte 00006h ; 83 c4 06 10826 10829 movzx ax, byte [bp+00dh] ; 0f b6 46 0d 10827 call 072f 1h ; e8 71 fc10830 call 072f6h ; e8 71 fc 10828 10831 mov dx, ss ; 8c d2 10829 10832 lea ax, [bp-008h] ; 8d 46 f8 10830 call 0732 5h ; e8 9d fc10833 call 0732ah ; e8 9d fc 10831 10834 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10832 je near 07 7fch ; 0f 84 6c 0110835 je near 07801h ; 0f 84 6c 01 10833 10836 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10834 10837 push ax ; 50 10835 10838 push 0092eh ; 68 2e 09 10836 10839 push strict byte 00007h ; 6a 07 10837 call 019dah ; e8 3 da310840 call 019dah ; e8 38 a3 10838 10841 add sp, strict byte 00006h ; 83 c4 06 10839 jmp near 07 7fch ; e9 59 0110842 jmp near 07801h ; e9 59 01 10840 10843 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10841 10844 mov byte [bp+013h], 003h ; c6 46 13 03 10842 jmp near 07 7fch ; e9 4e 0110845 jmp near 07801h ; e9 4e 01 10843 10846 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10844 10847 mov byte [bp+013h], 002h ; c6 46 13 02 10845 jmp near 07 7fch ; e9 43 0110848 jmp near 07801h ; e9 43 01 10846 10849 mov ax, 000f2h ; b8 f2 00 10847 call 072f 1h ; e8 32 fc10850 call 072f6h ; e8 32 fc 10848 10851 test al, al ; 84 c0 10849 jne short 076d 6h ; 75 1310852 jne short 076dbh ; 75 13 10850 10853 mov dx, ss ; 8c d2 10851 10854 lea ax, [bp-008h] ; 8d 46 f8 10852 call 0732 5h ; e8 5a fc10855 call 0732ah ; e8 5a fc 10853 10856 mov dx, ss ; 8c d2 10854 10857 lea ax, [bp-006h] ; 8d 46 fa 10855 call 0732 5h ; e8 52 fc10856 jmp near 075b 1h ; e9 db fe10858 call 0732ah ; e8 52 fc 10859 jmp near 075b6h ; e9 db fe 10857 10860 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10858 10861 mov byte [bp+013h], 003h ; c6 46 13 03 10859 jmp near 07 7fch ; e9 1b 0110862 jmp near 07801h ; e9 1b 01 10860 10863 mov al, byte [bp+00dh] ; 8a 46 0d 10861 10864 test al, al ; 84 c0 10862 jbe short 076 efh ; 76 0710865 jbe short 076f4h ; 76 07 10863 10866 cmp AL, strict byte 002h ; 3c 02 10864 jbe short 0775 8h ; 76 6c10865 jmp near 077 8ch ; e9 9d 0010867 jbe short 0775dh ; 76 6c 10868 jmp near 07791h ; e9 9d 00 10866 10869 mov ax, 000e9h ; b8 e9 00 10867 call 072f 1h ; e8 fc fb10870 call 072f6h ; e8 fc fb 10868 10871 test al, al ; 84 c0 10869 jne near 0778 2h ; 0f 85 87 0010872 jne near 07787h ; 0f 85 87 00 10870 10873 mov dx, ss ; 8c d2 10871 10874 lea ax, [bp-008h] ; 8d 46 f8 10872 call 0732 5h ; e8 22 fc10875 call 0732ah ; e8 22 fc 10873 10876 mov cl, al ; 88 c1 10874 10877 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10875 je short 077 1bh ; 74 1010878 je short 07720h ; 74 10 10876 10879 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10877 10880 push ax ; 50 10878 10881 push 0092eh ; 68 2e 09 10879 10882 push strict byte 00007h ; 6a 07 10880 call 019dah ; e8 c2a210883 call 019dah ; e8 bd a2 10881 10884 add sp, strict byte 00006h ; 83 c4 06 10882 10885 test cl, cl ; 84 c9 10883 jne short 0778 2h ; 75 6310886 jne short 07787h ; 75 63 10884 10887 mov dx, ss ; 8c d2 10885 10888 lea ax, [bp-008h] ; 8d 46 f8 10886 call 0732 5h ; e8 fe fb10889 call 0732ah ; e8 fe fb 10887 10890 test al, al ; 84 c0 10888 jne short 0778 2h ; 75 5710891 jne short 07787h ; 75 57 10889 10892 mov dx, ss ; 8c d2 10890 10893 lea ax, [bp-006h] ; 8d 46 fa 10891 call 0732 5h ; e8 f2 fb10894 call 0732ah ; e8 f2 fb 10892 10895 test al, al ; 84 c0 10893 jne short 0778 2h ; 75 4b10896 jne short 07787h ; 75 4b 10894 10897 mov dx, ss ; 8c d2 10895 10898 lea ax, [bp-004h] ; 8d 46 fc 10896 call 0732 5h ; e8 e6 fb10899 call 0732ah ; e8 e6 fb 10897 10900 test al, al ; 84 c0 10898 jne short 0778 2h ; 75 3f10901 jne short 07787h ; 75 3f 10899 10902 mov al, byte [bp-008h] ; 8a 46 f8 10900 10903 mov byte [bp+00ch], al ; 88 46 0c … … 10903 10906 mov al, byte [bp-004h] ; 8a 46 fc 10904 10907 mov byte [bp+00eh], al ; 88 46 0e 10905 jmp near 07 7fch ; e9 a4 0010908 jmp near 07801h ; e9 a4 00 10906 10909 cmp AL, strict byte 001h ; 3c 01 10907 jne short 0776 1h ; 75 0510910 jne short 07766h ; 75 05 10908 10911 mov ax, 000e6h ; b8 e6 00 10909 jmp short 0776 4h ; eb 0310912 jmp short 07769h ; eb 03 10910 10913 mov ax, 000e7h ; b8 e7 00 10911 call 072f 1h ; e8 8a fb10914 call 072f6h ; e8 8a fb 10912 10915 mov cl, al ; 88 c1 10913 10916 test cl, cl ; 84 c9 10914 jne short 077 7ch ; 75 0f10917 jne short 07781h ; 75 0f 10915 10918 mov dx, ss ; 8c d2 10916 10919 lea ax, [bp-008h] ; 8d 46 f8 10917 call 0732 5h ; e8 b0 fb10920 call 0732ah ; e8 b0 fb 10918 10921 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10919 10922 db 00fh, 095h, 0c1h 10920 10923 ; setne cl ; 0f 95 c1 10921 10924 test cl, cl ; 84 c9 10922 je near 07 7fch ; 0f 84 7a 0010925 je near 07801h ; 0f 84 7a 00 10923 10926 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10924 10927 mov byte [bp+013h], 003h ; c6 46 13 03 10925 jmp short 07 7fch ; eb 7010928 jmp short 07801h ; eb 70 10926 10929 movzx ax, byte [bp+00dh] ; 0f b6 46 0d 10927 10930 push ax ; 50 10928 10931 push 0095ah ; 68 5a 09 10929 10932 push strict byte 00007h ; 6a 07 10930 call 019dah ; e8 41a210933 call 019dah ; e8 3c a2 10931 10934 add sp, strict byte 00006h ; 83 c4 06 10932 10935 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10933 10936 mov byte [bp+013h], 001h ; c6 46 13 01 10934 jmp short 07 7fch ; eb 5610937 jmp short 07801h ; eb 56 10935 10938 mov si, word [bp+00ch] ; 8b 76 0c 10936 10939 mov bx, si ; 89 f3 10937 10940 mov dx, strict word 00022h ; ba 22 00 10938 10941 mov ax, cx ; 89 c8 10939 call 016e2h ; e8 2 f9f10942 call 016e2h ; e8 2a 9f 10940 10943 mov bx, word [bp+014h] ; 8b 5e 14 10941 10944 mov dx, strict word 00024h ; ba 24 00 10942 10945 mov ax, cx ; 89 c8 10943 call 016e2h ; e8 249f10946 call 016e2h ; e8 1f 9f 10944 10947 mov dx, strict word 00027h ; ba 27 00 10945 10948 mov ax, cx ; 89 c8 10946 call 016b8h ; e8 f29e10949 call 016b8h ; e8 ed 9e 10947 10950 mov ah, al ; 88 c4 10948 10951 test si, si ; 85 f6 10949 jne short 077d ah ; 75 0e10952 jne short 077dfh ; 75 0e 10950 10953 cmp word [bp+014h], strict byte 00000h ; 83 7e 14 00 10951 jne short 077d ah ; 75 0810954 jne short 077dfh ; 75 08 10952 10955 test AL, strict byte 080h ; a8 80 10953 je short 077 dch ; 74 0610956 je short 077e1h ; 74 06 10954 10957 and AL, strict byte 07fh ; 24 7f 10955 jmp short 077 dch ; eb 0210958 jmp short 077e1h ; eb 02 10956 10959 or AL, strict byte 080h ; 0c 80 10957 10960 movzx bx, al ; 0f b6 d8 10958 10961 mov dx, strict word 00027h ; ba 27 00 10959 10962 mov ax, cx ; 89 c8 10960 call 016c6h ; e8 d f9e10961 jmp short 07 7fch ; eb 1310963 call 016c6h ; e8 da 9e 10964 jmp short 07801h ; eb 13 10962 10965 push 00974h ; 68 74 09 10963 10966 push strict byte 00007h ; 6a 07 10964 call 019dah ; e8 e 9a110967 call 019dah ; e8 e4 a1 10965 10968 add sp, strict byte 00004h ; 83 c4 04 10966 10969 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10967 10970 mov byte [bp+013h], 001h ; c6 46 13 01 10968 10971 mov ax, strict word 00047h ; b8 47 00 10969 call 0738 1h ; e8 7f fb10972 call 07386h ; e8 7f fb 10970 10973 lea sp, [bp-002h] ; 8d 66 fe 10971 10974 pop si ; 5e 10972 10975 pop bp ; 5d 10973 10976 retn ; c3 10974 _int17_function: ; 0xf780 8LB 0xb310977 _int17_function: ; 0xf780d LB 0xb3 10975 10978 push bp ; 55 10976 10979 mov bp, sp ; 89 e5 … … 10982 10985 add dx, strict byte 00008h ; 83 c2 08 10983 10986 mov ax, strict word 00040h ; b8 40 00 10984 call 016d4h ; e8 b 89e10987 call 016d4h ; e8 b3 9e 10985 10988 mov bx, ax ; 89 c3 10986 10989 mov si, ax ; 89 c6 10987 10990 cmp byte [bp+013h], 003h ; 80 7e 13 03 10988 jnc near 078b 1h ; 0f 83 89 0010991 jnc near 078b6h ; 0f 83 89 00 10989 10992 mov ax, word [bp+00eh] ; 8b 46 0e 10990 10993 cmp ax, strict word 00003h ; 3d 03 00 10991 jnc near 078b 1h ; 0f 83 7f 0010994 jnc near 078b6h ; 0f 83 7f 00 10992 10995 test bx, bx ; 85 db 10993 jbe near 078b 1h ; 0f 86 79 0010996 jbe near 078b6h ; 0f 86 79 00 10994 10997 mov dx, ax ; 89 c2 10995 10998 add dx, strict byte 00078h ; 83 c2 78 10996 10999 mov ax, strict word 00040h ; b8 40 00 10997 call 016b8h ; e8 7 59e11000 call 016b8h ; e8 70 9e 10998 11001 movzx cx, al ; 0f b6 c8 10999 11002 sal cx, 008h ; c1 e1 08 11000 11003 cmp byte [bp+013h], 000h ; 80 7e 13 00 11001 jne short 078 7ch ; 75 2d11004 jne short 07881h ; 75 2d 11002 11005 mov al, byte [bp+012h] ; 8a 46 12 11003 11006 mov dx, bx ; 89 da … … 11019 11022 ; sub ah, ah ; 2a e4 11020 11023 test AL, strict byte 040h ; a8 40 11021 je short 078 7ch ; 74 0711024 je short 07881h ; 74 07 11022 11025 test cx, cx ; 85 c9 11023 je short 078 7ch ; 74 0311026 je short 07881h ; 74 03 11024 11027 dec cx ; 49 11025 jmp short 078 6bh ; eb ef11028 jmp short 07870h ; eb ef 11026 11029 cmp byte [bp+013h], 001h ; 80 7e 13 01 11027 jne short 0789 8h ; 75 1611030 jne short 0789dh ; 75 16 11028 11031 lea dx, [si+002h] ; 8d 54 02 11029 11032 in AL, DX ; ec … … 11044 11047 mov byte [bp+013h], al ; 88 46 13 11045 11048 test cx, cx ; 85 c9 11046 jne short 078 abh ; 75 0411049 jne short 078b0h ; 75 04 11047 11050 or byte [bp+013h], 001h ; 80 4e 13 01 11048 11051 and byte [bp+01ch], 0feh ; 80 66 1c fe 11049 jmp short 078b 5h ; eb 0411052 jmp short 078bah ; eb 04 11050 11053 or byte [bp+01ch], 001h ; 80 4e 1c 01 11051 11054 lea sp, [bp-002h] ; 8d 66 fe … … 11053 11056 pop bp ; 5d 11054 11057 retn ; c3 11055 wait_: ; 0xf78 bbLB 0xb211058 wait_: ; 0xf78c0 LB 0xb2 11056 11059 push bp ; 55 11057 11060 mov bp, sp ; 89 e5 … … 11071 11074 mov dx, 0046ch ; ba 6c 04 11072 11075 xor ax, ax ; 31 c0 11073 call 016f0h ; e8 129e11076 call 016f0h ; e8 0d 9e 11074 11077 mov word [bp-00eh], ax ; 89 46 f2 11075 11078 mov bx, dx ; 89 d3 … … 11077 11080 mov dx, 0046ch ; ba 6c 04 11078 11081 xor ax, ax ; 31 c0 11079 call 016f0h ; e8 04 9e11082 call 016f0h ; e8 ff 9d 11080 11083 mov word [bp-012h], ax ; 89 46 ee 11081 11084 mov di, dx ; 89 d7 11082 11085 cmp dx, bx ; 39 da 11083 jnbe short 07 8fch ; 77 0711084 jne short 0790 3h ; 75 0c11086 jnbe short 07901h ; 77 07 11087 jne short 07908h ; 75 0c 11085 11088 cmp ax, word [bp-00eh] ; 3b 46 f2 11086 jbe short 0790 3h ; 76 0711089 jbe short 07908h ; 76 07 11087 11090 sub ax, word [bp-00eh] ; 2b 46 f2 11088 11091 sbb dx, bx ; 19 da 11089 jmp short 079 0eh ; eb 0b11092 jmp short 07913h ; eb 0b 11090 11093 cmp dx, bx ; 39 da 11091 jc short 079 0eh ; 72 0711092 jne short 0791 2h ; 75 0911094 jc short 07913h ; 72 07 11095 jne short 07917h ; 75 09 11093 11096 cmp ax, word [bp-00eh] ; 3b 46 f2 11094 jnc short 0791 2h ; 73 0411097 jnc short 07917h ; 73 04 11095 11098 sub si, ax ; 29 c6 11096 11099 sbb cx, dx ; 19 d1 … … 11100 11103 mov ax, 00100h ; b8 00 01 11101 11104 int 016h ; cd 16 11102 je near 0792 8h ; 0f 84 05 0011105 je near 0792dh ; 0f 84 05 00 11103 11106 mov AL, strict byte 001h ; b0 01 11104 jmp near 0792 ah ; e9 02 0011107 jmp near 0792fh ; e9 02 00 11105 11108 db 032h, 0c0h 11106 11109 ; xor al, al ; 32 c0 11107 11110 test al, al ; 84 c0 11108 je short 0795 2h ; 74 2411111 je short 07957h ; 74 24 11109 11112 db 033h, 0c0h 11110 11113 ; xor ax, ax ; 33 c0 … … 11117 11120 push 00996h ; 68 96 09 11118 11121 push strict byte 00004h ; 6a 04 11119 call 019dah ; e8 9 5a011122 call 019dah ; e8 90 a0 11120 11123 add sp, strict byte 00006h ; 83 c4 06 11121 11124 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11122 je short 0795 2h ; 74 0411125 je short 07957h ; 74 04 11123 11126 mov al, dl ; 88 d0 11124 jmp short 0796 4h ; eb 1211127 jmp short 07969h ; eb 12 11125 11128 test cx, cx ; 85 c9 11126 jnle short 078e 3h ; 7f 8d11127 jne short 079 5ch ; 75 0411129 jnle short 078e8h ; 7f 8d 11130 jne short 07961h ; 75 04 11128 11131 test si, si ; 85 f6 11129 jnbe short 078e 3h ; 77 8711132 jnbe short 078e8h ; 77 87 11130 11133 mov ax, word [bp-010h] ; 8b 46 f0 11131 11134 push ax ; 50 … … 11139 11142 pop bp ; 5d 11140 11143 retn ; c3 11141 read_logo_byte_: ; 0xf79 6dLB 0x1611144 read_logo_byte_: ; 0xf7972 LB 0x16 11142 11145 push bp ; 55 11143 11146 mov bp, sp ; 89 e5 … … 11154 11157 pop bp ; 5d 11155 11158 retn ; c3 11156 read_logo_word_: ; 0xf798 3LB 0x1411159 read_logo_word_: ; 0xf7988 LB 0x14 11157 11160 push bp ; 55 11158 11161 mov bp, sp ; 89 e5 … … 11167 11170 pop bp ; 5d 11168 11171 retn ; c3 11169 print_detected_harddisks_: ; 0xf799 7LB 0x13011172 print_detected_harddisks_: ; 0xf799c LB 0x130 11170 11173 push bp ; 55 11171 11174 mov bp, sp ; 89 e5 … … 11179 11182 mov dx, strict word 0000eh ; ba 0e 00 11180 11183 mov ax, strict word 00040h ; b8 40 00 11181 call 016d4h ; e8 2 a9d11184 call 016d4h ; e8 25 9d 11182 11185 mov si, ax ; 89 c6 11183 11186 mov byte [bp-00ch], 000h ; c6 46 f4 00 … … 11185 11188 xor ch, ch ; 30 ed 11186 11189 mov dx, 00304h ; ba 04 03 11187 call 016b8h ; e8 f e9c11190 call 016b8h ; e8 f9 9c 11188 11191 mov byte [bp-00eh], al ; 88 46 f2 11189 11192 xor bl, bl ; 30 db 11190 11193 cmp bl, byte [bp-00eh] ; 3a 5e f2 11191 jnc near 07a9 9h ; 0f 83 d3 0011194 jnc near 07a9eh ; 0f 83 d3 00 11192 11195 movzx dx, bl ; 0f b6 d3 11193 11196 add dx, 00305h ; 81 c2 05 03 11194 11197 mov ax, si ; 89 f0 11195 call 016b8h ; e8 e 69c11198 call 016b8h ; e8 e1 9c 11196 11199 mov bh, al ; 88 c7 11197 11200 cmp AL, strict byte 00ch ; 3c 0c 11198 jc short 07 9fch ; 72 2411201 jc short 07a01h ; 72 24 11199 11202 test cl, cl ; 84 c9 11200 jne short 079e 9h ; 75 0d11203 jne short 079eeh ; 75 0d 11201 11204 push 009a7h ; 68 a7 09 11202 11205 push strict byte 00002h ; 6a 02 11203 call 019dah ; e8 f 69f11206 call 019dah ; e8 f1 9f 11204 11207 add sp, strict byte 00004h ; 83 c4 04 11205 11208 mov CL, strict byte 001h ; b1 01 … … 11209 11212 push 009bch ; 68 bc 09 11210 11213 push strict byte 00002h ; 6a 02 11211 call 019dah ; e8 e49f11214 call 019dah ; e8 df 9f 11212 11215 add sp, strict byte 00006h ; 83 c4 06 11213 jmp near 07a9 4h ; e9 98 0011216 jmp near 07a99h ; e9 98 00 11214 11217 cmp AL, strict byte 008h ; 3c 08 11215 jc short 07a1 3h ; 72 1311218 jc short 07a18h ; 72 13 11216 11219 test ch, ch ; 84 ed 11217 jne short 07a1 1h ; 75 0d11220 jne short 07a16h ; 75 0d 11218 11221 push 009cfh ; 68 cf 09 11219 11222 push strict byte 00002h ; 6a 02 11220 call 019dah ; e8 c e9f11223 call 019dah ; e8 c9 9f 11221 11224 add sp, strict byte 00004h ; 83 c4 04 11222 11225 mov CH, strict byte 001h ; b5 01 11223 jmp short 079e 9h ; eb d611226 jmp short 079eeh ; eb d6 11224 11227 cmp AL, strict byte 004h ; 3c 04 11225 jnc short 07a 2eh ; 73 1711228 jnc short 07a33h ; 73 17 11226 11229 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11227 jne short 07a 2eh ; 75 1111230 jne short 07a33h ; 75 11 11228 11231 push 009e4h ; 68 e4 09 11229 11232 push strict byte 00002h ; 6a 02 11230 call 019dah ; e8 b 59f11233 call 019dah ; e8 b0 9f 11231 11234 add sp, strict byte 00004h ; 83 c4 04 11232 11235 mov byte [bp-00ch], 001h ; c6 46 f4 01 11233 jmp short 07a4 4h ; eb 1611236 jmp short 07a49h ; eb 16 11234 11237 cmp bh, 004h ; 80 ff 04 11235 jc short 07a4 4h ; 72 1111238 jc short 07a49h ; 72 11 11236 11239 test cl, cl ; 84 c9 11237 jne short 07a4 4h ; 75 0d11240 jne short 07a49h ; 75 0d 11238 11241 push 009f6h ; 68 f6 09 11239 11242 push strict byte 00002h ; 6a 02 11240 call 019dah ; e8 9 b9f11243 call 019dah ; e8 96 9f 11241 11244 add sp, strict byte 00004h ; 83 c4 04 11242 11245 mov CL, strict byte 001h ; b1 01 … … 11246 11249 push 00a0ah ; 68 0a 0a 11247 11250 push strict byte 00002h ; 6a 02 11248 call 019dah ; e8 8 99f11251 call 019dah ; e8 84 9f 11249 11252 add sp, strict byte 00006h ; 83 c4 06 11250 11253 cmp bh, 004h ; 80 ff 04 11251 jc short 07a 5ch ; 72 0311254 jc short 07a61h ; 72 03 11252 11255 sub bh, 004h ; 80 ef 04 11253 11256 movzx ax, bh ; 0f b6 c7 … … 11257 11260 sar ax, 1 ; d1 f8 11258 11261 test ax, ax ; 85 c0 11259 je short 07a 6dh ; 74 0511262 je short 07a72h ; 74 05 11260 11263 push 00a14h ; 68 14 0a 11261 jmp short 07a7 0h ; eb 0311264 jmp short 07a75h ; eb 03 11262 11265 push 00a1fh ; 68 1f 0a 11263 11266 push strict byte 00002h ; 6a 02 11264 call 019dah ; e8 6 59f11267 call 019dah ; e8 60 9f 11265 11268 add sp, strict byte 00004h ; 83 c4 04 11266 11269 movzx ax, bh ; 0f b6 c7 … … 11269 11272 idiv di ; f7 ff 11270 11273 test dx, dx ; 85 d2 11271 je short 07a8 ah ; 74 0511274 je short 07a8fh ; 74 05 11272 11275 push 00a28h ; 68 28 0a 11273 jmp short 07a 8dh ; eb 0311276 jmp short 07a92h ; eb 03 11274 11277 push 00a2eh ; 68 2e 0a 11275 11278 push di ; 57 11276 call 019dah ; e8 4 99f11279 call 019dah ; e8 44 9f 11277 11280 add sp, strict byte 00004h ; 83 c4 04 11278 11281 db 0feh, 0c3h 11279 11282 ; inc bl ; fe c3 11280 jmp near 079 bfh ; e9 26 ff11283 jmp near 079c4h ; e9 26 ff 11281 11284 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11282 jne short 07ab 2h ; 75 1311285 jne short 07ab7h ; 75 13 11283 11286 test cl, cl ; 84 c9 11284 jne short 07ab 2h ; 75 0f11287 jne short 07ab7h ; 75 0f 11285 11288 test ch, ch ; 84 ed 11286 jne short 07ab 2h ; 75 0b11289 jne short 07ab7h ; 75 0b 11287 11290 push 00a35h ; 68 35 0a 11288 11291 push strict byte 00002h ; 6a 02 11289 call 019dah ; e8 2 b9f11292 call 019dah ; e8 26 9f 11290 11293 add sp, strict byte 00004h ; 83 c4 04 11291 11294 push 00a49h ; 68 49 0a 11292 11295 push strict byte 00002h ; 6a 02 11293 call 019dah ; e8 209f11296 call 019dah ; e8 1b 9f 11294 11297 add sp, strict byte 00004h ; 83 c4 04 11295 11298 lea sp, [bp-00ah] ; 8d 66 f6 … … 11301 11304 pop bp ; 5d 11302 11305 retn ; c3 11303 get_boot_drive_: ; 0xf7ac 7LB 0x2811306 get_boot_drive_: ; 0xf7acc LB 0x28 11304 11307 push bp ; 55 11305 11308 mov bp, sp ; 89 e5 … … 11309 11312 mov dx, strict word 0000eh ; ba 0e 00 11310 11313 mov ax, strict word 00040h ; b8 40 00 11311 call 016d4h ; e8 f d9b11314 call 016d4h ; e8 f8 9b 11312 11315 mov dx, 00304h ; ba 04 03 11313 call 016b8h ; e8 d b9b11316 call 016b8h ; e8 d6 9b 11314 11317 sub bl, 002h ; 80 eb 02 11315 11318 cmp bl, al ; 38 c3 11316 jc short 07ae 6h ; 72 0211319 jc short 07aebh ; 72 02 11317 11320 mov BL, strict byte 0ffh ; b3 ff 11318 11321 mov al, bl ; 88 d8 … … 11322 11325 pop bp ; 5d 11323 11326 retn ; c3 11324 show_logo_: ; 0xf7a efLB 0x22411327 show_logo_: ; 0xf7af4 LB 0x224 11325 11328 push bp ; 55 11326 11329 mov bp, sp ; 89 e5 … … 11333 11336 mov dx, strict word 0000eh ; ba 0e 00 11334 11337 mov ax, strict word 00040h ; b8 40 00 11335 call 016d4h ; e8 d19b11338 call 016d4h ; e8 cc 9b 11336 11339 mov si, ax ; 89 c6 11337 11340 xor cl, cl ; 30 c9 … … 11344 11347 out strict byte 040h, AL ; e6 40 11345 11348 movzx ax, dl ; 0f b6 c2 11346 call 0798 3h ; e8 68 fe11349 call 07988h ; e8 68 fe 11347 11350 cmp ax, 066bbh ; 3d bb 66 11348 jne near 07bf 3h ; 0f 85 d1 0011351 jne near 07bf8h ; 0f 85 d1 00 11349 11352 push SS ; 16 11350 11353 pop ES ; 07 … … 11354 11357 mov word [es:di], bx ; 26 89 1d 11355 11358 cmp ax, strict word 0004fh ; 3d 4f 00 11356 jne near 07bf 3h ; 0f 85 bd 0011359 jne near 07bf8h ; 0f 85 bd 00 11357 11360 mov al, dl ; 88 d0 11358 11361 add AL, strict byte 004h ; 04 04 11359 11362 xor ah, ah ; 30 e4 11360 call 079 6dh ; e8 2e fe11363 call 07972h ; e8 2e fe 11361 11364 mov ch, al ; 88 c5 11362 11365 mov byte [bp-00ch], al ; 88 46 f4 … … 11364 11367 add AL, strict byte 005h ; 04 05 11365 11368 xor ah, ah ; 30 e4 11366 call 079 6dh ; e8 20 fe11369 call 07972h ; e8 20 fe 11367 11370 mov dh, al ; 88 c6 11368 11371 mov byte [bp-010h], al ; 88 46 f0 … … 11370 11373 add AL, strict byte 002h ; 04 02 11371 11374 xor ah, ah ; 30 e4 11372 call 0798 3h ; e8 28 fe11375 call 07988h ; e8 28 fe 11373 11376 mov bx, ax ; 89 c3 11374 11377 mov word [bp-014h], ax ; 89 46 ec … … 11376 11379 add AL, strict byte 006h ; 04 06 11377 11380 xor ah, ah ; 30 e4 11378 call 079 6dh ; e8 04 fe11381 call 07972h ; e8 04 fe 11379 11382 mov byte [bp-012h], al ; 88 46 ee 11380 11383 test ch, ch ; 84 ed 11381 jne short 07b7 ah ; 75 0a11384 jne short 07b7fh ; 75 0a 11382 11385 test dh, dh ; 84 f6 11383 jne short 07b7 ah ; 75 0611386 jne short 07b7fh ; 75 06 11384 11387 test bx, bx ; 85 db 11385 je near 07bf 3h ; 0f 84 79 0011388 je near 07bf8h ; 0f 84 79 00 11386 11389 mov bx, 00142h ; bb 42 01 11387 11390 mov ax, 04f02h ; b8 02 4f 11388 11391 int 010h ; cd 10 11389 11392 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11390 je short 07b abh ; 74 2311393 je short 07bb0h ; 74 23 11391 11394 xor bx, bx ; 31 db 11392 jmp short 07b9 2h ; eb 0611395 jmp short 07b97h ; eb 06 11393 11396 inc bx ; 43 11394 11397 cmp bx, strict byte 00010h ; 83 fb 10 11395 jnbe short 07bb 2h ; 77 2011398 jnbe short 07bb7h ; 77 20 11396 11399 mov ax, bx ; 89 d8 11397 11400 or ah, 002h ; 80 cc 02 … … 11400 11403 xor dx, dx ; 31 d2 11401 11404 mov ax, strict word 00001h ; b8 01 00 11402 call 078 bbh ; e8 18 fd11405 call 078c0h ; e8 18 fd 11403 11406 cmp AL, strict byte 086h ; 3c 86 11404 jne short 07b 8ch ; 75 e511407 jne short 07b91h ; 75 e5 11405 11408 mov CL, strict byte 001h ; b1 01 11406 jmp short 07bb 2h ; eb 0711409 jmp short 07bb7h ; eb 07 11407 11410 mov ax, 00210h ; b8 10 02 11408 11411 mov dx, 003b8h ; ba b8 03 11409 11412 out DX, ax ; ef 11410 11413 test cl, cl ; 84 c9 11411 jne short 07bc 8h ; 75 1211414 jne short 07bcdh ; 75 12 11412 11415 mov ax, word [bp-014h] ; 8b 46 ec 11413 11416 shr ax, 004h ; c1 e8 04 11414 11417 mov dx, strict word 00001h ; ba 01 00 11415 call 078 bbh ; e8 f9 fc11418 call 078c0h ; e8 f9 fc 11416 11419 cmp AL, strict byte 086h ; 3c 86 11417 jne short 07bc 8h ; 75 0211420 jne short 07bcdh ; 75 02 11418 11421 mov CL, strict byte 001h ; b1 01 11419 11422 cmp byte [bp-010h], 000h ; 80 7e f0 00 11420 je short 07bf 3h ; 74 2511423 je short 07bf8h ; 74 25 11421 11424 test cl, cl ; 84 c9 11422 jne short 07bf 3h ; 75 2111425 jne short 07bf8h ; 75 21 11423 11426 mov bx, strict word 00010h ; bb 10 00 11424 jmp short 07b dch ; eb 0511427 jmp short 07be1h ; eb 05 11425 11428 dec bx ; 4b 11426 11429 test bx, bx ; 85 db 11427 jbe short 07bf 3h ; 76 1711430 jbe short 07bf8h ; 76 17 11428 11431 mov ax, bx ; 89 d8 11429 11432 or ah, 002h ; 80 cc 02 … … 11432 11435 xor dx, dx ; 31 d2 11433 11436 mov ax, strict word 00001h ; b8 01 00 11434 call 078 bbh ; e8 ce fc11437 call 078c0h ; e8 ce fc 11435 11438 cmp AL, strict byte 086h ; 3c 86 11436 jne short 07bd 7h ; 75 e611439 jne short 07bdch ; 75 e6 11437 11440 mov CL, strict byte 001h ; b1 01 11438 11441 xor bx, bx ; 31 db 11439 11442 mov dx, 0037dh ; ba 7d 03 11440 11443 mov ax, si ; 89 f0 11441 call 016c6h ; e8 c 99a11444 call 016c6h ; e8 c4 9a 11442 11445 mov AL, strict byte 003h ; b0 03 11443 11446 mov AH, strict byte 000h ; b4 00 11444 11447 int 010h ; cd 10 11445 11448 cmp byte [bp-012h], 000h ; 80 7e ee 00 11446 je near 07cf 4h ; 0f 84 e9 0011449 je near 07cf9h ; 0f 84 e9 00 11447 11450 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11448 jne short 07c4 1h ; 75 3011451 jne short 07c46h ; 75 30 11449 11452 cmp byte [bp-010h], 000h ; 80 7e f0 00 11450 jne short 07c4 1h ; 75 2a11453 jne short 07c46h ; 75 2a 11451 11454 cmp word [bp-014h], strict byte 00000h ; 83 7e ec 00 11452 jne short 07c4 1h ; 75 2411455 jne short 07c46h ; 75 24 11453 11456 cmp byte [bp-012h], 002h ; 80 7e ee 02 11454 jne short 07c 2eh ; 75 0b11457 jne short 07c33h ; 75 0b 11455 11458 push 00a4bh ; 68 4b 0a 11456 11459 push strict byte 00002h ; 6a 02 11457 call 019dah ; e8 a f9d11460 call 019dah ; e8 aa 9d 11458 11461 add sp, strict byte 00004h ; 83 c4 04 11459 11462 test cl, cl ; 84 c9 11460 jne short 07c4 1h ; 75 0f11463 jne short 07c46h ; 75 0f 11461 11464 mov dx, strict word 00001h ; ba 01 00 11462 11465 mov ax, 000c0h ; b8 c0 00 11463 call 078 bbh ; e8 80 fc11466 call 078c0h ; e8 80 fc 11464 11467 cmp AL, strict byte 086h ; 3c 86 11465 jne short 07c4 1h ; 75 0211468 jne short 07c46h ; 75 02 11466 11469 mov CL, strict byte 001h ; b1 01 11467 11470 test cl, cl ; 84 c9 11468 je near 07cf 4h ; 0f 84 ad 0011471 je near 07cf9h ; 0f 84 ad 00 11469 11472 mov byte [bp-00eh], 000h ; c6 46 f2 00 11470 11473 mov ax, 00100h ; b8 00 01 … … 11485 11488 push 00a6dh ; 68 6d 0a 11486 11489 push strict byte 00002h ; 6a 02 11487 call 019dah ; e8 6 a9d11490 call 019dah ; e8 65 9d 11488 11491 add sp, strict byte 00004h ; 83 c4 04 11489 call 0799 7h ; e8 21 fd11492 call 0799ch ; e8 21 fd 11490 11493 push 00ab1h ; 68 b1 0a 11491 11494 push strict byte 00002h ; 6a 02 11492 call 019dah ; e8 5 c9d11495 call 019dah ; e8 57 9d 11493 11496 add sp, strict byte 00004h ; 83 c4 04 11494 11497 mov dx, strict word 00001h ; ba 01 00 11495 11498 mov ax, strict word 00040h ; b8 40 00 11496 call 078 bbh ; e8 31 fc11499 call 078c0h ; e8 31 fc 11497 11500 mov bl, al ; 88 c3 11498 11501 test al, al ; 84 c0 11499 je short 07c8 1h ; 74 f111502 je short 07c86h ; 74 f1 11500 11503 cmp AL, strict byte 030h ; 3c 30 11501 je short 07ce 2h ; 74 4e11504 je short 07ce7h ; 74 4e 11502 11505 cmp bl, 002h ; 80 fb 02 11503 jc short 07c bbh ; 72 2211506 jc short 07cc0h ; 72 22 11504 11507 cmp bl, 009h ; 80 fb 09 11505 jnbe short 07c bbh ; 77 1d11508 jnbe short 07cc0h ; 77 1d 11506 11509 movzx ax, bl ; 0f b6 c3 11507 call 07ac 7h ; e8 23 fe11510 call 07acch ; e8 23 fe 11508 11511 cmp AL, strict byte 0ffh ; 3c ff 11509 jne short 07ca ah ; 75 0211510 jmp short 07c8 1h ; eb d711512 jne short 07cafh ; 75 02 11513 jmp short 07c86h ; eb d7 11511 11514 movzx bx, al ; 0f b6 d8 11512 11515 mov dx, 0037ch ; ba 7c 03 11513 11516 mov ax, si ; 89 f0 11514 call 016c6h ; e8 119a11517 call 016c6h ; e8 0c 9a 11515 11518 mov byte [bp-00eh], 002h ; c6 46 f2 02 11516 jmp short 07ce 2h ; eb 2711519 jmp short 07ce7h ; eb 27 11517 11520 cmp bl, 02eh ; 80 fb 2e 11518 je short 07cd 0h ; 74 1011521 je short 07cd5h ; 74 10 11519 11522 cmp bl, 026h ; 80 fb 26 11520 je short 07cd 6h ; 74 1111523 je short 07cdbh ; 74 11 11521 11524 cmp bl, 021h ; 80 fb 21 11522 jne short 07c dch ; 75 1211525 jne short 07ce1h ; 75 12 11523 11526 mov byte [bp-00eh], 001h ; c6 46 f2 01 11524 jmp short 07ce 2h ; eb 1211527 jmp short 07ce7h ; eb 12 11525 11528 mov byte [bp-00eh], 003h ; c6 46 f2 03 11526 jmp short 07ce 2h ; eb 0c11529 jmp short 07ce7h ; eb 0c 11527 11530 mov byte [bp-00eh], 004h ; c6 46 f2 04 11528 jmp short 07ce 2h ; eb 0611531 jmp short 07ce7h ; eb 06 11529 11532 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11530 je short 07c8 1h ; 74 9f11533 je short 07c86h ; 74 9f 11531 11534 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 11532 11535 mov dx, 0037dh ; ba 7d 03 11533 11536 mov ax, si ; 89 f0 11534 call 016c6h ; e8 d 89911537 call 016c6h ; e8 d3 99 11535 11538 mov AL, strict byte 003h ; b0 03 11536 11539 mov AH, strict byte 000h ; b4 00 … … 11545 11548 push DS ; 1e 11546 11549 mov ds, ax ; 8e d8 11547 call 0edbfh ; e8 b 97011550 call 0edbfh ; e8 b4 70 11548 11551 pop DS ; 1f 11549 11552 popad ; 66 61 … … 11556 11559 pop bp ; 5d 11557 11560 retn ; c3 11558 delay_boot_: ; 0xf7d1 3LB 0x6711561 delay_boot_: ; 0xf7d18 LB 0x67 11559 11562 push bp ; 55 11560 11563 mov bp, sp ; 89 e5 … … 11563 11566 mov dx, ax ; 89 c2 11564 11567 test ax, ax ; 85 c0 11565 je short 07d7 3h ; 74 5511568 je short 07d78h ; 74 55 11566 11569 mov AL, strict byte 034h ; b0 34 11567 11570 out strict byte 043h, AL ; e6 43 … … 11573 11576 push 00afbh ; 68 fb 0a 11574 11577 push strict byte 00002h ; 6a 02 11575 call 019dah ; e8 a 79c11578 call 019dah ; e8 a2 9c 11576 11579 add sp, strict byte 00006h ; 83 c4 06 11577 11580 mov bx, dx ; 89 d3 11578 11581 test bx, bx ; 85 db 11579 jbe short 07d5 3h ; 76 1711582 jbe short 07d58h ; 76 17 11580 11583 push bx ; 53 11581 11584 push 00b19h ; 68 19 0b 11582 11585 push strict byte 00002h ; 6a 02 11583 call 019dah ; e8 9 59c11586 call 019dah ; e8 90 9c 11584 11587 add sp, strict byte 00006h ; 83 c4 06 11585 11588 xor dx, dx ; 31 d2 11586 11589 mov ax, strict word 00040h ; b8 40 00 11587 call 078 bbh ; e8 6b fb11590 call 078c0h ; e8 6b fb 11588 11591 dec bx ; 4b 11589 jmp short 07d3 8h ; eb e511592 jmp short 07d3dh ; eb e5 11590 11593 push 00a49h ; 68 49 0a 11591 11594 push strict byte 00002h ; 6a 02 11592 call 019dah ; e8 7 f9c11595 call 019dah ; e8 7a 9c 11593 11596 add sp, strict byte 00004h ; 83 c4 04 11594 11597 mov AL, strict byte 034h ; b0 34 … … 11601 11604 push DS ; 1e 11602 11605 mov ds, ax ; 8e d8 11603 call 0edbfh ; e8 4 f7011606 call 0edbfh ; e8 4a 70 11604 11607 pop DS ; 1f 11605 11608 popad ; 66 61 … … 11609 11612 pop bp ; 5d 11610 11613 retn ; c3 11611 scsi_cmd_data_in_: ; 0xf7d7 aLB 0xd511614 scsi_cmd_data_in_: ; 0xf7d7f LB 0xd5 11612 11615 push bp ; 55 11613 11616 mov bp, sp ; 89 e5 … … 11625 11628 ; sub ah, ah ; 2a e4 11626 11629 test AL, strict byte 001h ; a8 01 11627 jne short 07d9 0h ; 75 f711630 jne short 07d95h ; 75 f7 11628 11631 cmp byte [bp+004h], 010h ; 80 7e 04 10 11629 jne short 07da 3h ; 75 0411632 jne short 07da8h ; 75 04 11630 11633 xor ax, ax ; 31 c0 11631 jmp short 07da 7h ; eb 0411634 jmp short 07dach ; eb 04 11632 11635 movzx ax, byte [bp+004h] ; 0f b6 46 04 11633 11636 mov di, ax ; 89 c7 … … 11637 11640 shr dx, 1 ; d1 ea 11638 11641 rcr ax, 1 ; d1 d8 11639 loop 07db 1h ; e2 fa11642 loop 07db6h ; e2 fa 11640 11643 mov cx, ax ; 89 c1 11641 11644 and cx, 000f0h ; 81 e1 f0 00 … … 11655 11658 shr dx, 1 ; d1 ea 11656 11659 rcr ax, 1 ; d1 d8 11657 loop 07dd 6h ; e2 fa11660 loop 07ddbh ; e2 fa 11658 11661 mov dx, si ; 89 f2 11659 11662 out DX, AL ; ee … … 11661 11664 movzx ax, byte [bp+004h] ; 0f b6 46 04 11662 11665 cmp cx, ax ; 39 c1 11663 jnc short 07df 7h ; 73 0e11666 jnc short 07dfch ; 73 0e 11664 11667 les di, [bp-00ah] ; c4 7e f6 11665 11668 add di, cx ; 01 cf … … 11668 11671 out DX, AL ; ee 11669 11672 inc cx ; 41 11670 jmp short 07de 1h ; eb ea11673 jmp short 07de6h ; eb ea 11671 11674 mov dx, si ; 89 f2 11672 11675 in AL, DX ; ec … … 11674 11677 ; sub ah, ah ; 2a e4 11675 11678 test AL, strict byte 001h ; a8 01 11676 jne short 07df 7h ; 75 f711679 jne short 07dfch ; 75 f7 11677 11680 test AL, strict byte 002h ; a8 02 11678 je short 07e1 2h ; 74 0e11681 je short 07e17h ; 74 0e 11679 11682 lea dx, [si+003h] ; 8d 54 03 11680 11683 xor al, al ; 30 c0 … … 11684 11687 ; sub ah, ah ; 2a e4 11685 11688 mov di, strict word 00004h ; bf 04 00 11686 jmp short 07e4 4h ; eb 3211689 jmp short 07e49h ; eb 32 11687 11690 lea dx, [si+001h] ; 8d 54 01 11688 11691 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 11689 jne short 07e2 1h ; 75 0611692 jne short 07e26h ; 75 06 11690 11693 cmp bx, 08000h ; 81 fb 00 80 11691 jbe short 07e 3bh ; 76 1a11694 jbe short 07e40h ; 76 1a 11692 11695 mov cx, 08000h ; b9 00 80 11693 11696 les di, [bp+006h] ; c4 7e 06 … … 11698 11701 add ax, 00800h ; 05 00 08 11699 11702 mov word [bp+008h], ax ; 89 46 08 11700 jmp short 07e1 2h ; eb d711703 jmp short 07e17h ; eb d7 11701 11704 mov cx, bx ; 89 d9 11702 11705 les di, [bp+006h] ; c4 7e 06 … … 11709 11712 pop bp ; 5d 11710 11713 retn 0000ah ; c2 0a 00 11711 scsi_cmd_data_out_: ; 0xf7e 4fLB 0xd511714 scsi_cmd_data_out_: ; 0xf7e54 LB 0xd5 11712 11715 push bp ; 55 11713 11716 mov bp, sp ; 89 e5 … … 11725 11728 ; sub ah, ah ; 2a e4 11726 11729 test AL, strict byte 001h ; a8 01 11727 jne short 07e6 5h ; 75 f711730 jne short 07e6ah ; 75 f7 11728 11731 cmp byte [bp+004h], 010h ; 80 7e 04 10 11729 jne short 07e7 8h ; 75 0411732 jne short 07e7dh ; 75 04 11730 11733 xor ax, ax ; 31 c0 11731 jmp short 07e 7ch ; eb 0411734 jmp short 07e81h ; eb 04 11732 11735 movzx ax, byte [bp+004h] ; 0f b6 46 04 11733 11736 mov si, ax ; 89 c6 … … 11737 11740 shr dx, 1 ; d1 ea 11738 11741 rcr ax, 1 ; d1 d8 11739 loop 07e8 6h ; e2 fa11742 loop 07e8bh ; e2 fa 11740 11743 mov cx, ax ; 89 c1 11741 11744 and cx, 000f0h ; 81 e1 f0 00 … … 11755 11758 shr dx, 1 ; d1 ea 11756 11759 rcr ax, 1 ; d1 d8 11757 loop 07e abh ; e2 fa11760 loop 07eb0h ; e2 fa 11758 11761 mov dx, di ; 89 fa 11759 11762 out DX, AL ; ee … … 11761 11764 movzx ax, byte [bp+004h] ; 0f b6 46 04 11762 11765 cmp cx, ax ; 39 c1 11763 jnc short 07e cch ; 73 0e11766 jnc short 07ed1h ; 73 0e 11764 11767 les si, [bp-00ah] ; c4 76 f6 11765 11768 add si, cx ; 01 ce … … 11768 11771 out DX, AL ; ee 11769 11772 inc cx ; 41 11770 jmp short 07eb 6h ; eb ea11773 jmp short 07ebbh ; eb ea 11771 11774 lea dx, [di+001h] ; 8d 55 01 11772 11775 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 11773 jne short 07e dbh ; 75 0611776 jne short 07ee0h ; 75 06 11774 11777 cmp bx, 08000h ; 81 fb 00 80 11775 jbe short 07ef 6h ; 76 1b11778 jbe short 07efbh ; 76 1b 11776 11779 mov cx, 08000h ; b9 00 80 11777 11780 les si, [bp+006h] ; c4 76 06 … … 11783 11786 add ax, 00800h ; 05 00 08 11784 11787 mov word [bp+008h], ax ; 89 46 08 11785 jmp short 07e cch ; eb d611788 jmp short 07ed1h ; eb d6 11786 11789 mov cx, bx ; 89 d9 11787 11790 les si, [bp+006h] ; c4 76 06 … … 11793 11796 ; sub ah, ah ; 2a e4 11794 11797 test AL, strict byte 001h ; a8 01 11795 jne short 07 efeh ; 75 f711798 jne short 07f03h ; 75 f7 11796 11799 test AL, strict byte 002h ; a8 02 11797 je short 07f1 9h ; 74 0e11800 je short 07f1eh ; 74 0e 11798 11801 lea dx, [di+003h] ; 8d 55 03 11799 11802 xor al, al ; 30 c0 … … 11803 11806 ; sub ah, ah ; 2a e4 11804 11807 mov ax, strict word 00004h ; b8 04 00 11805 jmp short 07f 1bh ; eb 0211808 jmp short 07f20h ; eb 02 11806 11809 xor ax, ax ; 31 c0 11807 11810 lea sp, [bp-004h] ; 8d 66 fc … … 11810 11813 pop bp ; 5d 11811 11814 retn 0000ah ; c2 0a 00 11812 @scsi_read_sectors: ; 0xf7f2 4LB 0xdb11815 @scsi_read_sectors: ; 0xf7f29 LB 0xdb 11813 11816 push bp ; 55 11814 11817 mov bp, sp ; 89 e5 … … 11822 11825 mov byte [bp-006h], al ; 88 46 fa 11823 11826 cmp AL, strict byte 004h ; 3c 04 11824 jbe short 07f5 2h ; 76 1311827 jbe short 07f57h ; 76 13 11825 11828 movzx ax, byte [bp-006h] ; 0f b6 46 fa 11826 11829 push ax ; 50 … … 11828 11831 push 00b30h ; 68 30 0b 11829 11832 push strict byte 00007h ; 6a 07 11830 call 019dah ; e8 8 b9a11833 call 019dah ; e8 86 9a 11831 11834 add sp, strict byte 00008h ; 83 c4 08 11832 11835 mov es, [bp+006h] ; 8e 46 06 … … 11867 11870 sal word [bp-00ah], 1 ; d1 66 f6 11868 11871 rcl word [bp-008h], 1 ; d1 56 f8 11869 loop 07f bbh ; e2 f811872 loop 07fc0h ; e2 f8 11870 11873 push dword [bp-00ah] ; 66 ff 76 f6 11871 11874 db 066h, 026h, 0ffh, 074h, 008h … … 11875 11878 mov cx, ss ; 8c d1 11876 11879 lea bx, [bp-01ah] ; 8d 5e e6 11877 call 07d7 ah ; e8 a2 fd11880 call 07d7fh ; e8 a2 fd 11878 11881 mov ah, al ; 88 c4 11879 11882 test al, al ; 84 c0 11880 jne short 07ff 3h ; 75 1511883 jne short 07ff8h ; 75 15 11881 11884 mov es, [bp+006h] ; 8e 46 06 11882 11885 mov word [es:si+018h], di ; 26 89 7c 18 … … 11891 11894 pop bp ; 5d 11892 11895 retn 00004h ; c2 04 00 11893 @scsi_write_sectors: ; 0xf 7fffLB 0xdb11896 @scsi_write_sectors: ; 0xf8004 LB 0xdb 11894 11897 push bp ; 55 11895 11898 mov bp, sp ; 89 e5 … … 11903 11906 mov byte [bp-006h], al ; 88 46 fa 11904 11907 cmp AL, strict byte 004h ; 3c 04 11905 jbe short 080 2dh ; 76 1311908 jbe short 08032h ; 76 13 11906 11909 movzx ax, byte [bp-006h] ; 0f b6 46 fa 11907 11910 push ax ; 50 … … 11909 11912 push 00b30h ; 68 30 0b 11910 11913 push strict byte 00007h ; 6a 07 11911 call 019dah ; e8 b09911914 call 019dah ; e8 ab 99 11912 11915 add sp, strict byte 00008h ; 83 c4 08 11913 11916 mov es, [bp+006h] ; 8e 46 06 … … 11948 11951 sal word [bp-00ah], 1 ; d1 66 f6 11949 11952 rcl word [bp-008h], 1 ; d1 56 f8 11950 loop 0809 6h ; e2 f811953 loop 0809bh ; e2 f8 11951 11954 push dword [bp-00ah] ; 66 ff 76 f6 11952 11955 db 066h, 026h, 0ffh, 074h, 008h … … 11956 11959 mov cx, ss ; 8c d1 11957 11960 lea bx, [bp-01ah] ; 8d 5e e6 11958 call 07e 4fh ; e8 9c fd11961 call 07e54h ; e8 9c fd 11959 11962 mov ah, al ; 88 c4 11960 11963 test al, al ; 84 c0 11961 jne short 080 ceh ; 75 1511964 jne short 080d3h ; 75 15 11962 11965 mov es, [bp+006h] ; 8e 46 06 11963 11966 mov word [es:si+018h], di ; 26 89 7c 18 … … 11972 11975 pop bp ; 5d 11973 11976 retn 00004h ; c2 04 00 11974 scsi_cmd_packet_: ; 0xf80d aLB 0x16611977 scsi_cmd_packet_: ; 0xf80df LB 0x166 11975 11978 push bp ; 55 11976 11979 mov bp, sp ; 89 e5 … … 11984 11987 mov dx, strict word 0000eh ; ba 0e 00 11985 11988 mov ax, strict word 00040h ; b8 40 00 11986 call 016d4h ; e8 d e9511989 call 016d4h ; e8 d9 95 11987 11990 mov si, 00122h ; be 22 01 11988 11991 mov word [bp-00eh], ax ; 89 46 f2 11989 11992 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 11990 jne short 0812 1h ; 75 1f11991 mov bx, 00da 6h ; bb a60d11993 jne short 08126h ; 75 1f 11994 mov bx, 00da4h ; bb a4 0d 11992 11995 mov cx, ds ; 8c d9 11993 11996 mov ax, strict word 00004h ; b8 04 00 11994 call 01999h ; e8 8 c9811997 call 01999h ; e8 87 98 11995 11998 push 00b62h ; 68 62 0b 11996 11999 push 00b72h ; 68 72 0b 11997 12000 push strict byte 00004h ; 6a 04 11998 call 019dah ; e8 c29812001 call 019dah ; e8 bd 98 11999 12002 add sp, strict byte 00006h ; 83 c4 06 12000 12003 mov dx, strict word 00001h ; ba 01 00 12001 jmp near 0823 5h ; e9 14 0112004 jmp near 0823ah ; e9 14 01 12002 12005 sub di, strict byte 00008h ; 83 ef 08 12003 12006 sal di, 002h ; c1 e7 02 … … 12013 12016 ; sub ah, ah ; 2a e4 12014 12017 test AL, strict byte 001h ; a8 01 12015 jne short 081 3dh ; 75 f712018 jne short 08142h ; 75 f7 12016 12019 xor ax, ax ; 31 c0 12017 12020 mov dx, word [bp+006h] ; 8b 56 06 … … 12029 12032 shr dx, 1 ; d1 ea 12030 12033 rcr ax, 1 ; d1 d8 12031 loop 0816 8h ; e2 fa12034 loop 0816dh ; e2 fa 12032 12035 and ax, 000f0h ; 25 f0 00 12033 12036 movzx cx, byte [bp-006h] ; 0f b6 4e fa … … 12047 12050 shr dx, 1 ; d1 ea 12048 12051 rcr ax, 1 ; d1 d8 12049 loop 081 8fh ; e2 fa12052 loop 08194h ; e2 fa 12050 12053 mov dx, bx ; 89 da 12051 12054 out DX, AL ; ee … … 12053 12056 movzx ax, byte [bp-006h] ; 0f b6 46 fa 12054 12057 cmp cx, ax ; 39 c1 12055 jnc short 081b 0h ; 73 0e12058 jnc short 081b5h ; 73 0e 12056 12059 les di, [bp-00ch] ; c4 7e f4 12057 12060 add di, cx ; 01 cf … … 12060 12063 out DX, AL ; ee 12061 12064 inc cx ; 41 12062 jmp short 0819 ah ; eb ea12065 jmp short 0819fh ; eb ea 12063 12066 mov dx, bx ; 89 da 12064 12067 in AL, DX ; ec … … 12066 12069 ; sub ah, ah ; 2a e4 12067 12070 test AL, strict byte 001h ; a8 01 12068 jne short 081b 0h ; 75 f712071 jne short 081b5h ; 75 f7 12069 12072 test AL, strict byte 002h ; a8 02 12070 je short 081 cbh ; 74 0e12073 je short 081d0h ; 74 0e 12071 12074 lea dx, [bx+003h] ; 8d 57 03 12072 12075 xor al, al ; 30 c0 … … 12076 12079 ; sub ah, ah ; 2a e4 12077 12080 mov dx, strict word 00003h ; ba 03 00 12078 jmp short 0823 5h ; eb 6a12081 jmp short 0823ah ; eb 6a 12079 12082 mov ax, word [bp+004h] ; 8b 46 04 12080 12083 test ax, ax ; 85 c0 12081 je short 081d ah ; 74 0812084 je short 081dfh ; 74 08 12082 12085 lea dx, [bx+001h] ; 8d 57 01 12083 12086 mov cx, ax ; 89 c1 12084 12087 in AL, DX ; ec 12085 loop 081d 7h ; e2 fd12088 loop 081dch ; e2 fd 12086 12089 mov ax, word [bp+006h] ; 8b 46 06 12087 12090 mov es, [bp-00eh] ; 8e 46 f2 … … 12091 12094 lea ax, [bx+001h] ; 8d 47 01 12092 12095 cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00 12093 jne short 08 1fbh ; 75 0712096 jne short 08200h ; 75 07 12094 12097 cmp word [bp+006h], 08000h ; 81 7e 06 00 80 12095 jbe short 0821 8h ; 76 1d12098 jbe short 0821dh ; 76 1d 12096 12099 mov dx, ax ; 89 c2 12097 12100 mov cx, 08000h ; b9 00 80 … … 12103 12106 add ax, 00800h ; 05 00 08 12104 12107 mov word [bp+00eh], ax ; 89 46 0e 12105 jmp short 081 ebh ; eb d312108 jmp short 081f0h ; eb d3 12106 12109 mov dx, ax ; 89 c2 12107 12110 mov cx, word [bp+006h] ; 8b 4e 06 … … 12110 12113 mov es, [bp-00eh] ; 8e 46 f2 12111 12114 cmp word [es:si+020h], strict byte 00000h ; 26 83 7c 20 00 12112 je short 0823 3h ; 74 0712115 je short 08238h ; 74 07 12113 12116 mov cx, word [es:si+020h] ; 26 8b 4c 20 12114 12117 in AL, DX ; ec 12115 loop 0823 0h ; e2 fd12118 loop 08235h ; e2 fd 12116 12119 xor dx, dx ; 31 d2 12117 12120 mov ax, dx ; 89 d0 … … 12121 12124 pop bp ; 5d 12122 12125 retn 0000ch ; c2 0c 00 12123 scsi_enumerate_attached_devices_: ; 0xf824 0LB 0x48212126 scsi_enumerate_attached_devices_: ; 0xf8245 LB 0x482 12124 12127 push bp ; 55 12125 12128 mov bp, sp ; 89 e5 … … 12133 12136 mov dx, strict word 0000eh ; ba 0e 00 12134 12137 mov ax, strict word 00040h ; b8 40 00 12135 call 016d4h ; e8 7 e9412138 call 016d4h ; e8 79 94 12136 12139 mov di, 00122h ; bf 22 01 12137 12140 mov word [bp-02eh], ax ; 89 46 d2 12138 12141 mov word [bp-01eh], strict word 00000h ; c7 46 e2 00 00 12139 jmp near 0864 4h ; e9 e0 0312142 jmp near 08649h ; e9 e0 03 12140 12143 cmp AL, strict byte 004h ; 3c 04 12141 jnc near 086b 8h ; 0f 83 4e 0412144 jnc near 086bdh ; 0f 83 4e 04 12142 12145 mov cx, strict word 00010h ; b9 10 00 12143 12146 xor bx, bx ; 31 db 12144 12147 mov dx, ss ; 8c d2 12145 12148 lea ax, [bp-046h] ; 8d 46 ba 12146 call 09f20h ; e8 a 91c12149 call 09f20h ; e8 a4 1c 12147 12150 mov byte [bp-046h], 09eh ; c6 46 ba 9e 12148 12151 mov byte [bp-045h], 010h ; c6 46 bb 10 … … 12157 12160 lea bx, [bp-046h] ; 8d 5e ba 12158 12161 mov ax, word [bp-00248h] ; 8b 86 b8 fd 12159 call 07d7 ah ; e8 dc fa12162 call 07d7fh ; e8 dc fa 12160 12163 test al, al ; 84 c0 12161 je short 082b 0h ; 74 0e12164 je short 082b5h ; 74 0e 12162 12165 push 00b92h ; 68 92 0b 12163 12166 push 00bcbh ; 68 cb 0b 12164 12167 push strict byte 00007h ; 6a 07 12165 call 019dah ; e8 2 d9712168 call 019dah ; e8 28 97 12166 12169 add sp, strict byte 00006h ; 83 c4 06 12167 12170 mov ax, word [bp-00240h] ; 8b 86 c0 fd … … 12193 12196 sal ax, 1 ; d1 e0 12194 12197 rcl dx, 1 ; d1 d2 12195 loop 08 2feh ; e2 fa12198 loop 08303h ; e2 fa 12196 12199 or bx, ax ; 09 c3 12197 12200 or dx, si ; 09 f2 … … 12200 12203 mov word [bp-024h], bx ; 89 5e dc 12201 12204 test dx, dx ; 85 d2 12202 jne short 083 1ch ; 75 0612205 jne short 08321h ; 75 06 12203 12206 cmp bx, 00200h ; 81 fb 00 02 12204 je short 083 3ch ; 74 2012205 mov bx, 00da 6h ; bb a60d12207 je short 08341h ; 74 20 12208 mov bx, 00da4h ; bb a4 0d 12206 12209 mov cx, ds ; 8c d9 12207 12210 mov ax, strict word 00004h ; b8 04 00 12208 call 01999h ; e8 729612211 call 01999h ; e8 6d 96 12209 12212 push dx ; 52 12210 12213 push word [bp-024h] ; ff 76 dc … … 12212 12215 push 00beah ; 68 ea 0b 12213 12216 push strict byte 00004h ; 6a 04 12214 call 019dah ; e8 a49612217 call 019dah ; e8 9f 96 12215 12218 add sp, strict byte 0000ah ; 83 c4 0a 12216 jmp near 086 3bh ; e9 ff 0212219 jmp near 08640h ; e9 ff 02 12217 12220 mov al, byte [bp-00ch] ; 8a 46 f4 12218 12221 cmp AL, strict byte 001h ; 3c 01 12219 jc short 083 4fh ; 72 0c12220 jbe short 0835 7h ; 76 1212222 jc short 08354h ; 72 0c 12223 jbe short 0835ch ; 76 12 12221 12224 cmp AL, strict byte 003h ; 3c 03 12222 je short 083 5fh ; 74 1612225 je short 08364h ; 74 16 12223 12226 cmp AL, strict byte 002h ; 3c 02 12224 je short 083 5bh ; 74 0e12225 jmp short 083a 8h ; eb 5912227 je short 08360h ; 74 0e 12228 jmp short 083adh ; eb 59 12226 12229 test al, al ; 84 c0 12227 jne short 083a 8h ; 75 5512230 jne short 083adh ; 75 55 12228 12231 mov BL, strict byte 090h ; b3 90 12229 jmp short 0836 1h ; eb 0a12232 jmp short 08366h ; eb 0a 12230 12233 mov BL, strict byte 098h ; b3 98 12231 jmp short 0836 1h ; eb 0612234 jmp short 08366h ; eb 06 12232 12235 mov BL, strict byte 0a0h ; b3 a0 12233 jmp short 0836 1h ; eb 0212236 jmp short 08366h ; eb 02 12234 12237 mov BL, strict byte 0a8h ; b3 a8 12235 12238 mov al, bl ; 88 d8 … … 12237 12240 movzx cx, al ; 0f b6 c8 12238 12241 mov ax, cx ; 89 c8 12239 call 01714h ; e8 a 79312242 call 01714h ; e8 a2 93 12240 12243 test al, al ; 84 c0 12241 je short 083a 8h ; 74 3712244 je short 083adh ; 74 37 12242 12245 mov al, bl ; 88 d8 12243 12246 db 0feh, 0c0h 12244 12247 ; inc al ; fe c0 12245 12248 xor ah, ah ; 30 e4 12246 call 01714h ; e8 9 a9312249 call 01714h ; e8 95 93 12247 12250 movzx dx, al ; 0f b6 d0 12248 12251 sal dx, 008h ; c1 e2 08 12249 12252 movzx ax, bl ; 0f b6 c3 12250 call 01714h ; e8 8 e9312253 call 01714h ; e8 89 93 12251 12254 xor ah, ah ; 30 e4 12252 12255 add ax, dx ; 01 d0 … … 12256 12259 add AL, strict byte 002h ; 04 02 12257 12260 xor ah, ah ; 30 e4 12258 call 01714h ; e8 7 e9312261 call 01714h ; e8 79 93 12259 12262 xor ah, ah ; 30 e4 12260 12263 mov word [bp-034h], ax ; 89 46 cc 12261 12264 mov ax, cx ; 89 c8 12262 call 01714h ; e8 749312265 call 01714h ; e8 6f 93 12263 12266 xor ah, ah ; 30 e4 12264 12267 mov word [bp-032h], ax ; 89 46 ce 12265 jmp near 0849 1h ; e9 e9 0012268 jmp near 08496h ; e9 e9 00 12266 12269 mov ax, word [bp-010h] ; 8b 46 f0 12267 12270 mov bx, word [bp-030h] ; 8b 5e d0 … … 12269 12272 mov dx, word [bp-016h] ; 8b 56 ea 12270 12273 mov si, strict word 0000ch ; be 0c 00 12271 call 09f00h ; e8 4 61b12274 call 09f00h ; e8 41 1b 12272 12275 mov word [bp-018h], ax ; 89 46 e8 12273 12276 mov word [bp-014h], bx ; 89 5e ec … … 12276 12279 mov ax, word [bp-010h] ; 8b 46 f0 12277 12280 test ax, ax ; 85 c0 12278 jnbe short 083e 3h ; 77 1612279 jne near 0845 6h ; 0f 85 85 0012281 jnbe short 083e8h ; 77 16 12282 jne near 0845bh ; 0f 85 85 00 12280 12283 cmp word [bp-030h], strict byte 00000h ; 83 7e d0 00 12281 jnbe short 083e 3h ; 77 0c12282 jne near 0845 6h ; 0f 85 7b 0012284 jnbe short 083e8h ; 77 0c 12285 jne near 0845bh ; 0f 85 7b 00 12283 12286 cmp word [bp-012h], strict byte 00040h ; 83 7e ee 40 12284 jnbe short 083e 3h ; 77 0212285 jne short 0845 6h ; 75 7312287 jnbe short 083e8h ; 77 02 12288 jne short 0845bh ; 75 73 12286 12289 mov dword [bp-034h], strict dword 0003f00ffh ; 66 c7 46 cc ff 00 3f 00 12287 12290 mov bx, word [bp-030h] ; 8b 5e d0 … … 12289 12292 mov dx, word [bp-016h] ; 8b 56 ea 12290 12293 mov si, strict word 00006h ; be 06 00 12291 call 09f00h ; e8 0 61b12294 call 09f00h ; e8 01 1b 12292 12295 mov si, word [bp-020h] ; 8b 76 e0 12293 12296 add si, dx ; 01 d6 … … 12307 12310 mov dx, si ; 89 f2 12308 12311 mov si, strict word 00008h ; be 08 00 12309 call 09f00h ; e8 d 61a12312 call 09f00h ; e8 d1 1a 12310 12313 mov word [bp-022h], bx ; 89 5e de 12311 12314 mov word [bp-02ch], cx ; 89 4e d4 … … 12316 12319 mov dx, word [bp-02ah] ; 8b 56 d6 12317 12320 mov si, strict word 00010h ; be 10 00 12318 call 09f00h ; e8 b b1a12321 call 09f00h ; e8 b6 1a 12319 12322 mov si, word [bp-01ah] ; 8b 76 e6 12320 12323 add si, dx ; 01 d6 … … 12323 12326 mov ax, word [bp-022h] ; 8b 46 de 12324 12327 adc ax, bx ; 11 d8 12325 jmp short 0849 1h ; eb 3b12328 jmp short 08496h ; eb 3b 12326 12329 test ax, ax ; 85 c0 12327 jnbe short 084 6ch ; 77 1212328 jne short 0847 6h ; 75 1a12330 jnbe short 08471h ; 77 12 12331 jne short 0847bh ; 75 1a 12329 12332 cmp word [bp-030h], strict byte 00000h ; 83 7e d0 00 12330 jnbe short 084 6ch ; 77 0a12331 jne short 0847 6h ; 75 1212333 jnbe short 08471h ; 77 0a 12334 jne short 0847bh ; 75 12 12332 12335 cmp word [bp-012h], strict byte 00020h ; 83 7e ee 20 12333 jnbe short 084 6ch ; 77 0212334 jne short 0847 6h ; 75 0a12336 jnbe short 08471h ; 77 02 12337 jne short 0847bh ; 75 0a 12335 12338 mov dword [bp-034h], strict dword 000200080h ; 66 c7 46 cc 80 00 20 00 12336 jmp short 084 8dh ; eb 1712339 jmp short 08492h ; eb 17 12337 12340 mov dword [bp-034h], strict dword 000200040h ; 66 c7 46 cc 40 00 20 00 12338 12341 mov bx, word [bp-030h] ; 8b 5e d0 … … 12340 12343 mov dx, word [bp-016h] ; 8b 56 ea 12341 12344 mov si, strict word 0000bh ; be 0b 00 12342 call 09f00h ; e8 731a12345 call 09f00h ; e8 6e 1a 12343 12346 mov si, dx ; 89 d6 12344 12347 mov dx, cx ; 89 ca … … 12373 12376 mov word [es:bx+034h], ax ; 26 89 47 34 12374 12377 test dx, dx ; 85 d2 12375 jne short 08 4feh ; 75 0612378 jne short 08503h ; 75 06 12376 12379 cmp si, 00400h ; 81 fe 00 04 12377 jbe short 085 0ch ; 76 0e12380 jbe short 08511h ; 76 0e 12378 12381 mov word [es:bx+02ch], 00400h ; 26 c7 47 2c 00 04 12379 12382 mov word [es:bx+032h], 00400h ; 26 c7 47 32 00 04 12380 jmp short 0851 4h ; eb 0812383 jmp short 08519h ; eb 08 12381 12384 mov word [es:bx+02ch], si ; 26 89 77 2c 12382 12385 mov word [es:bx+032h], si ; 26 89 77 32 12383 mov bx, 00da 6h ; bb a60d12386 mov bx, 00da4h ; bb a4 0d 12384 12387 mov cx, ds ; 8c d9 12385 12388 mov ax, strict word 00004h ; b8 04 00 12386 call 01999h ; e8 7 a9412389 call 01999h ; e8 75 94 12387 12390 push word [bp-010h] ; ff 76 f0 12388 12391 push word [bp-030h] ; ff 76 d0 … … 12397 12400 push 00c18h ; 68 18 0c 12398 12401 push strict byte 00004h ; 6a 04 12399 call 019dah ; e8 9 99412402 call 019dah ; e8 94 94 12400 12403 add sp, strict byte 00018h ; 83 c4 18 12401 12404 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 … … 12422 12425 mov dx, strict word 00075h ; ba 75 00 12423 12426 mov ax, strict word 00040h ; b8 40 00 12424 call 016b8h ; e8 2 79112427 call 016b8h ; e8 22 91 12425 12428 db 0feh, 0c0h 12426 12429 ; inc al ; fe c0 … … 12428 12431 mov dx, strict word 00075h ; ba 75 00 12429 12432 mov ax, strict word 00040h ; b8 40 00 12430 call 016c6h ; e8 2 79112433 call 016c6h ; e8 22 91 12431 12434 inc byte [bp-00ch] ; fe 46 f4 12432 jmp near 0863 0h ; e9 8b 0012433 mov bx, 00da 6h ; bb a60d12435 jmp near 08635h ; e9 8b 00 12436 mov bx, 00da4h ; bb a4 0d 12434 12437 mov cx, ds ; 8c d9 12435 12438 mov ax, strict word 00004h ; b8 04 00 12436 call 01999h ; e8 e 99312439 call 01999h ; e8 e4 93 12437 12440 push word [bp-01eh] ; ff 76 e2 12438 12441 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 … … 12440 12443 push 00c46h ; 68 46 0c 12441 12444 push strict byte 00004h ; 6a 04 12442 call 019dah ; e8 1 a9412445 call 019dah ; e8 15 94 12443 12446 add sp, strict byte 00008h ; 83 c4 08 12444 12447 mov al, byte [bp-00ch] ; 8a 46 f4 … … 12481 12484 inc word [bp-01eh] ; ff 46 e2 12482 12485 cmp word [bp-01eh], strict byte 00010h ; 83 7e e2 10 12483 jnl short 086b 8h ; 7d 7412486 jnl short 086bdh ; 7d 74 12484 12487 mov byte [bp-046h], 012h ; c6 46 ba 12 12485 12488 xor al, al ; 30 c0 … … 12498 12501 lea bx, [bp-046h] ; 8d 5e ba 12499 12502 mov ax, word [bp-00248h] ; 8b 86 b8 fd 12500 call 07d7 ah ; e8 05 f712503 call 07d7fh ; e8 05 f7 12501 12504 test al, al ; 84 c0 12502 je short 0868 7h ; 74 0e12505 je short 0868ch ; 74 0e 12503 12506 push 00b92h ; 68 92 0b 12504 12507 push 00bb2h ; 68 b2 0b 12505 12508 push strict byte 00007h ; 6a 07 12506 call 019dah ; e8 5 69312509 call 019dah ; e8 51 93 12507 12510 add sp, strict byte 00006h ; 83 c4 06 12508 12511 mov es, [bp-02eh] ; 8e 46 d2 … … 12510 12513 mov byte [bp-00ch], al ; 88 46 f4 12511 12514 test byte [bp-00246h], 0e0h ; f6 86 ba fd e0 12512 jne short 086a 2h ; 75 0912515 jne short 086a7h ; 75 09 12513 12516 test byte [bp-00246h], 01fh ; f6 86 ba fd 1f 12514 je near 0826 4h ; 0f 84 c2 fb12517 je near 08269h ; 0f 84 c2 fb 12515 12518 test byte [bp-00246h], 0e0h ; f6 86 ba fd e0 12516 jne short 0863 0h ; 75 8712519 jne short 08635h ; 75 87 12517 12520 mov al, byte [bp-00246h] ; 8a 86 ba fd 12518 12521 and AL, strict byte 01fh ; 24 1f 12519 12522 cmp AL, strict byte 005h ; 3c 05 12520 je near 085a 5h ; 0f 84 f0 fe12521 jmp near 0863 0h ; e9 78 ff12523 je near 085aah ; 0f 84 f0 fe 12524 jmp near 08635h ; e9 78 ff 12522 12525 lea sp, [bp-00ah] ; 8d 66 f6 12523 12526 pop di ; 5f … … 12528 12531 pop bp ; 5d 12529 12532 retn ; c3 12530 _scsi_init: ; 0xf86c 2LB 0x6612533 _scsi_init: ; 0xf86c7 LB 0x66 12531 12534 push bp ; 55 12532 12535 mov bp, sp ; 89 e5 12533 12536 mov dx, strict word 0000eh ; ba 0e 00 12534 12537 mov ax, strict word 00040h ; b8 40 00 12535 call 016d4h ; e8 0 69012538 call 016d4h ; e8 01 90 12536 12539 mov bx, 00122h ; bb 22 01 12537 12540 mov es, ax ; 8e c0 … … 12544 12547 ; sub ah, ah ; 2a e4 12545 12548 cmp AL, strict byte 055h ; 3c 55 12546 jne short 086f 2h ; 75 0c12549 jne short 086f7h ; 75 0c 12547 12550 xor al, al ; 30 c0 12548 12551 mov dx, 00433h ; ba 33 04 12549 12552 out DX, AL ; ee 12550 12553 mov ax, 00430h ; b8 30 04 12551 call 0824 0h ; e8 4e fb12554 call 08245h ; e8 4e fb 12552 12555 mov AL, strict byte 055h ; b0 55 12553 12556 mov dx, 00436h ; ba 36 04 … … 12557 12560 ; sub ah, ah ; 2a e4 12558 12561 cmp AL, strict byte 055h ; 3c 55 12559 jne short 087 0bh ; 75 0c12562 jne short 08710h ; 75 0c 12560 12563 xor al, al ; 30 c0 12561 12564 mov dx, 00437h ; ba 37 04 12562 12565 out DX, AL ; ee 12563 12566 mov ax, 00434h ; b8 34 04 12564 call 0824 0h ; e8 35 fb12567 call 08245h ; e8 35 fb 12565 12568 mov AL, strict byte 055h ; b0 55 12566 12569 mov dx, 0043ah ; ba 3a 04 … … 12570 12573 ; sub ah, ah ; 2a e4 12571 12574 cmp AL, strict byte 055h ; 3c 55 12572 jne short 0872 4h ; 75 0c12575 jne short 08729h ; 75 0c 12573 12576 xor al, al ; 30 c0 12574 12577 mov dx, 0043bh ; ba 3b 04 12575 12578 out DX, AL ; ee 12576 12579 mov ax, 00438h ; b8 38 04 12577 call 0824 0h ; e8 1c fb12580 call 08245h ; e8 1c fb 12578 12581 mov sp, bp ; 89 ec 12579 12582 pop bp ; 5d 12580 12583 retn ; c3 12581 ahci_ctrl_extract_bits_: ; 0xf872 8LB 0x1b12584 ahci_ctrl_extract_bits_: ; 0xf872d LB 0x1b 12582 12585 push si ; 56 12583 12586 push bp ; 55 … … 12587 12590 and dx, cx ; 21 ca 12588 12591 movzx cx, byte [bp+006h] ; 0f b6 4e 06 12589 jcxz 087 3eh ; e3 0612592 jcxz 08743h ; e3 06 12590 12593 shr dx, 1 ; d1 ea 12591 12594 rcr ax, 1 ; d1 d8 12592 loop 0873 8h ; e2 fa12595 loop 0873dh ; e2 fa 12593 12596 pop bp ; 5d 12594 12597 pop si ; 5e 12595 12598 retn 00002h ; c2 02 00 12596 ahci_addr_to_phys_: ; 0xf874 3LB 0x1e12599 ahci_addr_to_phys_: ; 0xf8748 LB 0x1e 12597 12600 push bx ; 53 12598 12601 push cx ; 51 … … 12605 12608 sal ax, 1 ; d1 e0 12606 12609 rcl dx, 1 ; d1 d2 12607 loop 0875 1h ; e2 fa12610 loop 08756h ; e2 fa 12608 12611 xor cx, cx ; 31 c9 12609 12612 add ax, bx ; 01 d8 … … 12613 12616 pop bx ; 5b 12614 12617 retn ; c3 12615 ahci_port_cmd_sync_: ; 0xf876 1LB 0x14b12618 ahci_port_cmd_sync_: ; 0xf8766 LB 0x14b 12616 12619 push bp ; 55 12617 12620 mov bp, sp ; 89 e5 … … 12628 12631 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 12629 12632 cmp ah, 0ffh ; 80 fc ff 12630 je near 088a 4h ; 0f 84 20 0112633 je near 088a9h ; 0f 84 20 01 12631 12634 movzx dx, byte [es:si+00263h] ; 26 0f b6 94 63 02 12632 12635 xor di, di ; 31 ff … … 12640 12643 lea ax, [si+00080h] ; 8d 84 80 00 12641 12644 mov dx, cx ; 89 ca 12642 call 0874 3h ; e8 96 ff12645 call 08748h ; e8 96 ff 12643 12646 mov es, cx ; 8e c1 12644 12647 mov word [es:si+008h], ax ; 26 89 44 08 … … 12703 12706 xchg dx, ax ; 92 12704 12707 test dh, 040h ; f6 c6 40 12705 jne short 0883 ah ; 75 0412708 jne short 0883fh ; 75 04 12706 12709 test AL, strict byte 001h ; a8 01 12707 je short 088 3eh ; 74 0412710 je short 08843h ; 74 04 12708 12711 mov AL, strict byte 001h ; b0 01 12709 jmp short 0884 0h ; eb 0212712 jmp short 08845h ; eb 02 12710 12713 xor al, al ; 30 c0 12711 12714 test al, al ; 84 c0 12712 je short 088 0eh ; 74 ca12715 je short 08813h ; 74 ca 12713 12716 movzx di, byte [bp-008h] ; 0f b6 7e f8 12714 12717 sal di, 007h ; c1 e7 07 … … 12764 12767 pop bp ; 5d 12765 12768 retn ; c3 12766 ahci_cmd_data_: ; 0xf88 acLB 0x26212769 ahci_cmd_data_: ; 0xf88b1 LB 0x262 12767 12770 push bp ; 55 12768 12771 mov bp, sp ; 89 e5 … … 12789 12792 mov ax, 00080h ; b8 80 00 12790 12793 mov dx, word [bp-00ah] ; 8b 56 f6 12791 call 09f20h ; e8 3 61612794 call 09f20h ; e8 31 16 12792 12795 mov es, [bp-00ah] ; 8e 46 f6 12793 12796 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 12807 12810 mov dx, word [es:si] ; 26 8b 14 12808 12811 mov si, strict word 00008h ; be 08 00 12809 call 09f00h ; e8 d21512812 call 09f00h ; e8 cd 15 12810 12813 mov es, [bp-00ah] ; 8e 46 f6 12811 12814 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 12818 12821 mov dx, word [es:si] ; 26 8b 14 12819 12822 mov si, strict word 00010h ; be 10 00 12820 call 09f00h ; e8 a c1512823 call 09f00h ; e8 a7 15 12821 12824 mov es, [bp-00ah] ; 8e 46 f6 12822 12825 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 12830 12833 mov dx, word [es:si] ; 26 8b 14 12831 12834 mov si, strict word 00018h ; be 18 00 12832 call 09f00h ; e8 801512835 call 09f00h ; e8 7b 15 12833 12836 mov es, [bp-00ah] ; 8e 46 f6 12834 12837 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 12841 12844 mov dx, word [es:si] ; 26 8b 14 12842 12845 mov si, strict word 00020h ; be 20 00 12843 call 09f00h ; e8 5 a1512846 call 09f00h ; e8 55 15 12844 12847 mov es, [bp-00ah] ; 8e 46 f6 12845 12848 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 12852 12855 mov dx, word [es:si] ; 26 8b 14 12853 12856 mov si, strict word 00028h ; be 28 00 12854 call 09f00h ; e8 341512857 call 09f00h ; e8 2f 15 12855 12858 mov es, [bp-00ah] ; 8e 46 f6 12856 12859 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 12866 12869 mov bx, word [bp-010h] ; 8b 5e f0 12867 12870 xor cx, cx ; 31 c9 12868 call 09e80h ; e8 7 f1412871 call 09e80h ; e8 7a 14 12869 12872 push dx ; 52 12870 12873 push ax ; 50 … … 12876 12879 mov ax, 0026ah ; b8 6a 02 12877 12880 mov dx, word [bp-00ah] ; 8b 56 f6 12878 call 09d cfh ; e8 b2 1312881 call 09dd4h ; e8 b2 13 12879 12882 mov es, [bp-00ah] ; 8e 46 f6 12880 12883 mov ax, word [es:di+0027eh] ; 26 8b 85 7e 02 … … 12897 12900 mov ax, word [es:bx+020h] ; 26 8b 47 20 12898 12901 test ax, ax ; 85 c0 12899 je short 08a abh ; 74 3912902 je short 08ab0h ; 74 39 12900 12903 dec ax ; 48 12901 12904 mov es, [bp-00ah] ; 8e 46 f6 … … 12913 12916 mov al, byte [bp-008h] ; 8a 46 f8 12914 12917 cmp AL, strict byte 035h ; 3c 35 12915 jne short 08ab 8h ; 75 0612918 jne short 08abdh ; 75 06 12916 12919 mov byte [bp-008h], 040h ; c6 46 f8 40 12917 jmp short 08a cfh ; eb 1712920 jmp short 08ad4h ; eb 17 12918 12921 cmp AL, strict byte 0a0h ; 3c a0 12919 jne short 08a cbh ; 75 0f12922 jne short 08ad0h ; 75 0f 12920 12923 or byte [bp-008h], 020h ; 80 4e f8 20 12921 12924 les bx, [bp-00eh] ; c4 5e f2 12922 12925 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 12923 jmp short 08a cfh ; eb 0412926 jmp short 08ad4h ; eb 04 12924 12927 mov byte [bp-008h], 000h ; c6 46 f8 00 12925 12928 or byte [bp-008h], 005h ; 80 4e f8 05 … … 12927 12930 mov ax, word [bp-00eh] ; 8b 46 f2 12928 12931 mov dx, word [bp-00ch] ; 8b 56 f4 12929 call 0876 1h ; e8 81 fc12932 call 08766h ; e8 81 fc 12930 12933 mov cx, word [bp-00ch] ; 8b 4e f4 12931 12934 mov bx, word [bp-00eh] ; 8b 5e f2 … … 12934 12937 add ax, 0026ah ; 05 6a 02 12935 12938 mov dx, cx ; 89 ca 12936 call 09e4 8h ; e8 53 1312939 call 09e4dh ; e8 53 13 12937 12940 mov es, cx ; 8e c1 12938 12941 mov al, byte [es:bx+003h] ; 26 8a 47 03 12939 12942 test al, al ; 84 c0 12940 je short 08b0 4h ; 74 0512943 je short 08b09h ; 74 05 12941 12944 mov ax, strict word 00004h ; b8 04 00 12942 jmp short 08b0 6h ; eb 0212945 jmp short 08b0bh ; eb 02 12943 12946 xor ah, ah ; 30 e4 12944 12947 lea sp, [bp-006h] ; 8d 66 fa … … 12948 12951 pop bp ; 5d 12949 12952 retn ; c3 12950 ahci_port_deinit_current_: ; 0xf8b 0eLB 0x17f12953 ahci_port_deinit_current_: ; 0xf8b13 LB 0x17f 12951 12954 push bp ; 55 12952 12955 mov bp, sp ; 89 e5 … … 12963 12966 mov byte [bp-00ah], al ; 88 46 f6 12964 12967 cmp AL, strict byte 0ffh ; 3c ff 12965 je near 08c8 4h ; 0f 84 52 0112968 je near 08c89h ; 0f 84 52 01 12966 12969 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 12967 12970 sal ax, 007h ; c1 e0 07 … … 13006 13009 xchg dx, ax ; 92 13007 13010 test ax, 0c011h ; a9 11 c0 13008 je short 08b9 2h ; 74 0413011 je short 08b97h ; 74 04 13009 13012 mov AL, strict byte 001h ; b0 01 13010 jmp short 08b9 4h ; eb 0213013 jmp short 08b99h ; eb 02 13011 13014 xor al, al ; 30 c0 13012 13015 cmp AL, strict byte 001h ; 3c 01 13013 je short 08b6 6h ; 74 ce13016 je short 08b6bh ; 74 ce 13014 13017 mov cx, strict word 00020h ; b9 20 00 13015 13018 xor bx, bx ; 31 db 13016 13019 mov ax, di ; 89 f8 13017 13020 mov dx, word [bp-00ch] ; 8b 56 f4 13018 call 09f20h ; e8 7 b1313021 call 09f20h ; e8 76 13 13019 13022 lea ax, [di+00080h] ; 8d 85 80 00 13020 13023 mov cx, strict word 00040h ; b9 40 00 13021 13024 xor bx, bx ; 31 db 13022 13025 mov dx, word [bp-00ch] ; 8b 56 f4 13023 call 09f20h ; e8 6 c1313026 call 09f20h ; e8 67 13 13024 13027 lea ax, [di+00200h] ; 8d 85 00 02 13025 13028 mov cx, strict word 00060h ; b9 60 00 13026 13029 xor bx, bx ; 31 db 13027 13030 mov dx, word [bp-00ch] ; 8b 56 f4 13028 call 09f20h ; e8 5 d1313031 call 09f20h ; e8 58 13 13029 13032 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13030 13033 sal ax, 007h ; c1 e0 07 … … 13130 13133 pop bp ; 5d 13131 13134 retn ; c3 13132 ahci_port_init_: ; 0xf8c 8dLB 0x24a13135 ahci_port_init_: ; 0xf8c92 LB 0x24a 13133 13136 push bp ; 55 13134 13137 mov bp, sp ; 89 e5 … … 13140 13143 mov word [bp-00ah], dx ; 89 56 f6 13141 13144 mov byte [bp-008h], bl ; 88 5e f8 13142 call 08b 0eh ; e8 6d fe13145 call 08b13h ; e8 6d fe 13143 13146 movzx ax, bl ; 0f b6 c3 13144 13147 sal ax, 007h ; c1 e0 07 … … 13187 13190 xchg dx, ax ; 92 13188 13191 test ax, 0c011h ; a9 11 c0 13189 je short 08d1 0h ; 74 0413192 je short 08d15h ; 74 04 13190 13193 mov AL, strict byte 001h ; b0 01 13191 jmp short 08d1 2h ; eb 0213194 jmp short 08d17h ; eb 02 13192 13195 xor al, al ; 30 c0 13193 13196 cmp AL, strict byte 001h ; 3c 01 13194 je short 08c dch ; 74 c613197 je short 08ce1h ; 74 c6 13195 13198 mov cx, strict word 00020h ; b9 20 00 13196 13199 xor bx, bx ; 31 db 13197 13200 mov ax, si ; 89 f0 13198 13201 mov dx, word [bp-00ah] ; 8b 56 f6 13199 call 09f20h ; e8 f d1113202 call 09f20h ; e8 f8 11 13200 13203 lea ax, [si+00080h] ; 8d 84 80 00 13201 13204 mov cx, strict word 00040h ; b9 40 00 13202 13205 xor bx, bx ; 31 db 13203 13206 mov dx, word [bp-00ah] ; 8b 56 f6 13204 call 09f20h ; e8 e e1113207 call 09f20h ; e8 e9 11 13205 13208 lea di, [si+00200h] ; 8d bc 00 02 13206 13209 mov cx, strict word 00060h ; b9 60 00 … … 13208 13211 mov ax, di ; 89 f8 13209 13212 mov dx, word [bp-00ah] ; 8b 56 f6 13210 call 09f20h ; e8 d d1113213 call 09f20h ; e8 d8 11 13211 13214 movzx bx, byte [bp-008h] ; 0f b6 5e f8 13212 13215 sal bx, 007h ; c1 e3 07 … … 13225 13228 mov ax, di ; 89 f8 13226 13229 mov dx, word [bp-00ah] ; 8b 56 f6 13227 call 0874 3h ; e8 d3 f913230 call 08748h ; e8 d3 f9 13228 13231 mov es, [bp-00ah] ; 8e 46 f6 13229 13232 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13270 13273 mov ax, si ; 89 f0 13271 13274 mov dx, word [bp-00ah] ; 8b 56 f6 13272 call 0874 3h ; e8 67 f913275 call 08748h ; e8 67 f9 13273 13276 mov es, [bp-00ah] ; 8e 46 f6 13274 13277 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13375 13378 pop bp ; 5d 13376 13379 retn ; c3 13377 @ahci_read_sectors: ; 0xf8ed 7LB 0xa613380 @ahci_read_sectors: ; 0xf8edc LB 0xa6 13378 13381 push bp ; 55 13379 13382 mov bp, sp ; 89 e5 … … 13385 13388 sub di, strict byte 0000ch ; 83 ef 0c 13386 13389 cmp di, strict byte 00004h ; 83 ff 04 13387 jbe short 08 efch ; 76 0f13390 jbe short 08f01h ; 76 0f 13388 13391 push di ; 57 13389 13392 push 00c62h ; 68 62 0c 13390 13393 push 00c74h ; 68 74 0c 13391 13394 push strict byte 00007h ; 6a 07 13392 call 019dah ; e8 e18a13395 call 019dah ; e8 dc 8a 13393 13396 add sp, strict byte 00008h ; 83 c4 08 13394 13397 xor bx, bx ; 31 db … … 13404 13407 mov dx, word [es:di+00232h] ; 26 8b 95 32 02 13405 13408 xor ax, ax ; 31 c0 13406 call 08c 8dh ; e8 65 fd13409 call 08c92h ; e8 65 fd 13407 13410 mov bx, strict word 00025h ; bb 25 00 13408 13411 mov ax, si ; 89 f0 13409 13412 mov dx, word [bp+006h] ; 8b 56 06 13410 call 088 ach ; e8 79 f913413 call 088b1h ; e8 79 f9 13411 13414 mov word [bp-006h], ax ; 89 46 fa 13412 13415 mov es, [bp+006h] ; 8e 46 06 … … 13437 13440 pop bp ; 5d 13438 13441 retn 00004h ; c2 04 00 13439 @ahci_write_sectors: ; 0xf8f 7dLB 0x8413442 @ahci_write_sectors: ; 0xf8f82 LB 0x84 13440 13443 push bp ; 55 13441 13444 mov bp, sp ; 89 e5 … … 13448 13451 sub dx, strict byte 0000ch ; 83 ea 0c 13449 13452 cmp dx, strict byte 00004h ; 83 fa 04 13450 jbe short 08fa 6h ; 76 0f13453 jbe short 08fabh ; 76 0f 13451 13454 push dx ; 52 13452 13455 push 00c93h ; 68 93 0c 13453 13456 push 00c74h ; 68 74 0c 13454 13457 push strict byte 00007h ; 6a 07 13455 call 019dah ; e8 3 78a13458 call 019dah ; e8 32 8a 13456 13459 add sp, strict byte 00008h ; 83 c4 08 13457 13460 xor bx, bx ; 31 db … … 13467 13470 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 13468 13471 xor ax, ax ; 31 c0 13469 call 08c 8dh ; e8 bd fc13472 call 08c92h ; e8 bd fc 13470 13473 mov bx, strict word 00035h ; bb 35 00 13471 13474 mov ax, si ; 89 f0 13472 13475 mov dx, cx ; 89 ca 13473 call 088 ach ; e8 d2 f813476 call 088b1h ; e8 d2 f8 13474 13477 mov dx, ax ; 89 c2 13475 13478 mov es, cx ; 8e c1 … … 13486 13489 pop bp ; 5d 13487 13490 retn 00004h ; c2 04 00 13488 ahci_cmd_packet_: ; 0xf900 1LB 0x18313491 ahci_cmd_packet_: ; 0xf9006 LB 0x183 13489 13492 push bp ; 55 13490 13493 mov bp, sp ; 89 e5 … … 13498 13501 mov dx, strict word 0000eh ; ba 0e 00 13499 13502 mov ax, strict word 00040h ; b8 40 00 13500 call 016d4h ; e8 b 88613503 call 016d4h ; e8 b3 86 13501 13504 mov si, 00122h ; be 22 01 13502 13505 mov word [bp-008h], ax ; 89 46 f8 13503 13506 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 13504 jne short 0904 7h ; 75 1f13505 mov bx, 00da 6h ; bb a60d13507 jne short 0904ch ; 75 1f 13508 mov bx, 00da4h ; bb a4 0d 13506 13509 mov cx, ds ; 8c d9 13507 13510 mov ax, strict word 00004h ; b8 04 00 13508 call 01999h ; e8 6 68913511 call 01999h ; e8 61 89 13509 13512 push 00ca6h ; 68 a6 0c 13510 13513 push 00cb6h ; 68 b6 0c 13511 13514 push strict byte 00004h ; 6a 04 13512 call 019dah ; e8 9 c8913515 call 019dah ; e8 97 89 13513 13516 add sp, strict byte 00006h ; 83 c4 06 13514 13517 mov ax, strict word 00001h ; b8 01 00 13515 jmp near 091 7bh ; e9 34 0113518 jmp near 09180h ; e9 34 01 13516 13519 test byte [bp+004h], 001h ; f6 46 04 01 13517 jne short 0904 1h ; 75 f413520 jne short 09046h ; 75 f4 13518 13521 mov ax, word [bp+006h] ; 8b 46 06 13519 13522 mov dx, word [bp+008h] ; 8b 56 08 … … 13521 13524 sal ax, 1 ; d1 e0 13522 13525 rcl dx, 1 ; d1 d2 13523 loop 0905 6h ; e2 fa13526 loop 0905bh ; e2 fa 13524 13527 mov es, [bp-008h] ; 8e 46 f8 13525 13528 mov word [es:si], ax ; 26 89 04 … … 13535 13538 mov dx, word [bp+008h] ; 8b 56 08 13536 13539 xor cx, cx ; 31 c9 13537 call 09ec0h ; e8 340e13540 call 09ec0h ; e8 2f 0e 13538 13541 mov word [es:si+00eh], ax ; 26 89 44 0e 13539 13542 xor di, di ; 31 ff … … 13552 13555 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 13553 13556 xor ax, ax ; 31 c0 13554 call 08c 8dh ; e8 c5 fb13557 call 08c92h ; e8 c5 fb 13555 13558 movzx ax, byte [bp-006h] ; 0f b6 46 fa 13556 13559 push ax ; 50 … … 13559 13562 mov ax, 000c0h ; b8 c0 00 13560 13563 mov dx, word [bp-00ah] ; 8b 56 f6 13561 call 09f30h ; e8 540e13564 call 09f30h ; e8 4f 0e 13562 13565 mov es, [bp-008h] ; 8e 46 f8 13563 13566 mov word [es:si+018h], di ; 26 89 7c 18 … … 13566 13569 mov ax, word [es:si+01eh] ; 26 8b 44 1e 13567 13570 test ax, ax ; 85 c0 13568 je short 0911 ah ; 74 2713571 je short 0911fh ; 74 27 13569 13572 dec ax ; 48 13570 13573 mov es, [bp-00ah] ; 8e 46 f6 … … 13579 13582 mov ax, si ; 89 f0 13580 13583 mov dx, word [bp-008h] ; 8b 56 f8 13581 call 088 ach ; e8 87 f713584 call 088b1h ; e8 87 f7 13582 13585 les bx, [bp-00eh] ; c4 5e f2 13583 13586 mov ax, word [es:bx+004h] ; 26 8b 47 04 … … 13606 13609 mov ax, word [es:bx+006h] ; 26 8b 47 06 13607 13610 or ax, word [es:bx+004h] ; 26 0b 47 04 13608 jne short 0917 9h ; 75 0513611 jne short 0917eh ; 75 05 13609 13612 mov ax, strict word 00004h ; b8 04 00 13610 jmp short 091 7bh ; eb 0213613 jmp short 09180h ; eb 02 13611 13614 xor ax, ax ; 31 c0 13612 13615 lea sp, [bp-004h] ; 8d 66 fc … … 13615 13618 pop bp ; 5d 13616 13619 retn 0000ch ; c2 0c 00 13617 ahci_port_detect_device_: ; 0xf918 4LB 0x4b113620 ahci_port_detect_device_: ; 0xf9189 LB 0x4b1 13618 13621 push bp ; 55 13619 13622 mov bp, sp ; 89 e5 … … 13627 13630 movzx di, bl ; 0f b6 fb 13628 13631 mov bx, di ; 89 fb 13629 call 08c 8dh ; e8 ef fa13632 call 08c92h ; e8 ef fa 13630 13633 mov dx, strict word 0000eh ; ba 0e 00 13631 13634 mov ax, strict word 00040h ; b8 40 00 13632 call 016d4h ; e8 2 d8513635 call 016d4h ; e8 28 85 13633 13636 mov word [bp-010h], 00122h ; c7 46 f0 22 01 13634 13637 mov word [bp-00eh], ax ; 89 46 f2 … … 13699 13702 mov bx, strict word 0000fh ; bb 0f 00 13700 13703 xor cx, cx ; 31 c9 13701 call 0872 8h ; e8 d7 f413704 call 0872dh ; e8 d7 f4 13702 13705 test ax, ax ; 85 c0 13703 je near 096 2dh ; 0f 84 d6 0313706 je near 09632h ; 0f 84 d6 03 13704 13707 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13705 13708 sal ax, 007h ; c1 e0 07 … … 13729 13732 mov bx, strict word 0000fh ; bb 0f 00 13730 13733 xor cx, cx ; 31 c9 13731 call 0872 8h ; e8 8b f413734 call 0872dh ; e8 8b f4 13732 13735 cmp ax, strict word 00001h ; 3d 01 00 13733 je short 0925 7h ; 74 b513736 je short 0925ch ; 74 b5 13734 13737 push strict byte 00000h ; 6a 00 13735 13738 mov bx, strict word 0000fh ; bb 0f 00 … … 13737 13740 mov ax, di ; 89 f8 13738 13741 mov dx, word [bp-022h] ; 8b 56 de 13739 call 0872 8h ; e8 77 f413742 call 0872dh ; e8 77 f4 13740 13743 cmp ax, strict word 00003h ; 3d 03 00 13741 jne near 096 2dh ; 0f 85 75 0313744 jne near 09632h ; 0f 85 75 03 13742 13745 mov ax, word [bp-018h] ; 8b 46 e8 13743 13746 add ax, 00130h ; 05 30 01 … … 13766 13769 mov byte [bp-008h], al ; 88 46 f8 13767 13770 cmp AL, strict byte 004h ; 3c 04 13768 jnc near 096 2dh ; 0f 83 2f 0313771 jnc near 09632h ; 0f 83 2f 03 13769 13772 mov ax, word [bp-018h] ; 8b 46 e8 13770 13773 add ax, 00118h ; 05 18 01 … … 13818 13821 add cl, 00ch ; 80 c1 0c 13819 13822 test dx, dx ; 85 d2 13820 jne near 0958 3h ; 0f 85 0d 0213823 jne near 09588h ; 0f 85 0d 02 13821 13824 cmp di, 00101h ; 81 ff 01 01 13822 jne near 0958 3h ; 0f 85 05 0213825 jne near 09588h ; 0f 85 05 02 13823 13826 les bx, [bp-010h] ; c4 5e f0 13824 13827 db 066h, 026h, 0c7h, 047h, 004h, 000h, 000h, 000h, 000h … … 13834 13837 mov ax, word [bp-010h] ; 8b 46 f0 13835 13838 mov dx, es ; 8c c2 13836 call 088 ach ; e8 fa f413839 call 088b1h ; e8 fa f4 13837 13840 mov byte [bp-00ch], cl ; 88 4e f4 13838 13841 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 … … 13851 13854 mov dword [bp-016h], strict dword 000000000h ; 66 c7 46 ea 00 00 00 00 13852 13855 cmp di, 00fffh ; 81 ff ff 0f 13853 jne short 094 0bh ; 75 1e13856 jne short 09410h ; 75 1e 13854 13857 cmp dx, strict byte 0ffffh ; 83 fa ff 13855 jne short 094 0bh ; 75 1913858 jne short 09410h ; 75 19 13856 13859 mov dx, word [bp-0015ch] ; 8b 96 a4 fe 13857 13860 mov word [bp-014h], dx ; 89 56 ec … … 13890 13893 mov al, byte [bp-008h] ; 8a 46 f8 13891 13894 cmp AL, strict byte 001h ; 3c 01 13892 jc short 0948 4h ; 72 0c13893 jbe short 094 8ch ; 76 1213895 jc short 09489h ; 72 0c 13896 jbe short 09491h ; 76 12 13894 13897 cmp AL, strict byte 003h ; 3c 03 13895 je short 0949 4h ; 74 1613898 je short 09499h ; 74 16 13896 13899 cmp AL, strict byte 002h ; 3c 02 13897 je short 0949 0h ; 74 0e13898 jmp short 094 ddh ; eb 5913900 je short 09495h ; 74 0e 13901 jmp short 094e2h ; eb 59 13899 13902 test al, al ; 84 c0 13900 jne short 094 ddh ; 75 5513903 jne short 094e2h ; 75 55 13901 13904 mov DL, strict byte 040h ; b2 40 13902 jmp short 0949 6h ; eb 0a13905 jmp short 0949bh ; eb 0a 13903 13906 mov DL, strict byte 048h ; b2 48 13904 jmp short 0949 6h ; eb 0613907 jmp short 0949bh ; eb 06 13905 13908 mov DL, strict byte 050h ; b2 50 13906 jmp short 0949 6h ; eb 0213909 jmp short 0949bh ; eb 02 13907 13910 mov DL, strict byte 058h ; b2 58 13908 13911 mov al, dl ; 88 d0 … … 13910 13913 movzx bx, al ; 0f b6 d8 13911 13914 mov ax, bx ; 89 d8 13912 call 01714h ; e8 728213915 call 01714h ; e8 6d 82 13913 13916 test al, al ; 84 c0 13914 je short 094 ddh ; 74 3713917 je short 094e2h ; 74 37 13915 13918 mov al, dl ; 88 d0 13916 13919 db 0feh, 0c0h 13917 13920 ; inc al ; fe c0 13918 13921 xor ah, ah ; 30 e4 13919 call 01714h ; e8 6 58213922 call 01714h ; e8 60 82 13920 13923 xor ah, ah ; 30 e4 13921 13924 mov si, ax ; 89 c6 13922 13925 sal si, 008h ; c1 e6 08 13923 13926 movzx ax, dl ; 0f b6 c2 13924 call 01714h ; e8 5 88213927 call 01714h ; e8 53 82 13925 13928 xor ah, ah ; 30 e4 13926 13929 add ax, si ; 01 f0 … … 13929 13932 add AL, strict byte 002h ; 04 02 13930 13933 xor ah, ah ; 30 e4 13931 call 01714h ; e8 4 88213934 call 01714h ; e8 43 82 13932 13935 xor ah, ah ; 30 e4 13933 13936 mov word [bp-02ah], ax ; 89 46 d6 13934 13937 mov ax, bx ; 89 d8 13935 call 01714h ; e8 3 e8213938 call 01714h ; e8 39 82 13936 13939 xor ah, ah ; 30 e4 13937 13940 mov word [bp-026h], ax ; 89 46 da 13938 jmp short 094 edh ; eb 1013941 jmp short 094f2h ; eb 10 13939 13942 push dword [bp-016h] ; 66 ff 76 ea 13940 13943 push di ; 57 … … 13942 13945 mov dx, ss ; 8c d2 13943 13946 lea ax, [bp-02ah] ; 8d 46 d6 13944 call 059a6h ; e8 b 9c413945 mov bx, 00da 6h ; bb a60d13947 call 059a6h ; e8 b4 c4 13948 mov bx, 00da4h ; bb a4 0d 13946 13949 mov cx, ds ; 8c d9 13947 13950 mov ax, strict word 00004h ; b8 04 00 13948 call 01999h ; e8 a18413951 call 01999h ; e8 9c 84 13949 13952 push dword [bp-016h] ; 66 ff 76 ea 13950 13953 push di ; 57 … … 13965 13968 push 00cd6h ; 68 d6 0c 13966 13969 push strict byte 00004h ; 6a 04 13967 call 019dah ; e8 b38413970 call 019dah ; e8 ae 84 13968 13971 add sp, strict byte 0001ch ; 83 c4 1c 13969 13972 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 … … 13994 13997 mov dx, strict word 00075h ; ba 75 00 13995 13998 mov ax, strict word 00040h ; b8 40 00 13996 call 016b8h ; e8 4 68113999 call 016b8h ; e8 41 81 13997 14000 db 0feh, 0c0h 13998 14001 ; inc al ; fe c0 … … 14000 14003 mov dx, strict word 00075h ; ba 75 00 14001 14004 mov ax, strict word 00040h ; b8 40 00 14002 call 016c6h ; e8 4 68114003 jmp near 096 1fh ; e9 9c 0014005 call 016c6h ; e8 41 81 14006 jmp near 09624h ; e9 9c 00 14004 14007 cmp dx, 0eb14h ; 81 fa 14 eb 14005 jne near 096 1fh ; 0f 85 94 0014008 jne near 09624h ; 0f 85 94 00 14006 14009 cmp di, 00101h ; 81 ff 01 01 14007 jne near 096 1fh ; 0f 85 8c 0014010 jne near 09624h ; 0f 85 8c 00 14008 14011 les bx, [bp-010h] ; c4 5e f0 14009 14012 db 066h, 026h, 0c7h, 047h, 004h, 000h, 000h, 000h, 000h … … 14019 14022 mov ax, word [bp-010h] ; 8b 46 f0 14020 14023 mov dx, es ; 8c c2 14021 call 088 ach ; e8 e5 f214024 call 088b1h ; e8 e5 f2 14022 14025 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14023 14026 db 00fh, 095h, 0c0h … … 14056 14059 pop bp ; 5d 14057 14060 retn ; c3 14058 ahci_mem_alloc_: ; 0xf963 5LB 0x4314061 ahci_mem_alloc_: ; 0xf963a LB 0x43 14059 14062 push bp ; 55 14060 14063 mov bp, sp ; 89 e5 … … 14066 14069 mov dx, 00413h ; ba 13 04 14067 14070 xor ax, ax ; 31 c0 14068 call 016d4h ; e8 8 f8014071 call 016d4h ; e8 8a 80 14069 14072 test ax, ax ; 85 c0 14070 je short 096 6eh ; 74 2514073 je short 09673h ; 74 25 14071 14074 dec ax ; 48 14072 14075 mov bx, ax ; 89 c3 … … 14075 14078 sal ax, 1 ; d1 e0 14076 14079 rcl dx, 1 ; d1 d2 14077 loop 0965 1h ; e2 fa14080 loop 09656h ; e2 fa 14078 14081 mov si, ax ; 89 c6 14079 14082 mov di, dx ; 89 d7 … … 14081 14084 shr di, 1 ; d1 ef 14082 14085 rcr si, 1 ; d1 de 14083 loop 096 5eh ; e2 fa14086 loop 09663h ; e2 fa 14084 14087 mov dx, 00413h ; ba 13 04 14085 14088 xor ax, ax ; 31 c0 14086 call 016e2h ; e8 7 68014089 call 016e2h ; e8 71 80 14087 14090 mov ax, si ; 89 f0 14088 14091 lea sp, [bp-00ah] ; 8d 66 f6 … … 14094 14097 pop bp ; 5d 14095 14098 retn ; c3 14096 ahci_hba_init_: ; 0xf967 8LB 0x16614099 ahci_hba_init_: ; 0xf967d LB 0x166 14097 14100 push bp ; 55 14098 14101 mov bp, sp ; 89 e5 … … 14106 14109 mov dx, strict word 0000eh ; ba 0e 00 14107 14110 mov ax, strict word 00040h ; b8 40 00 14108 call 016d4h ; e8 4 68014111 call 016d4h ; e8 41 80 14109 14112 mov bx, 00122h ; bb 22 01 14110 14113 mov di, ax ; 89 c7 … … 14123 14126 shr eax, 010h ; 66 c1 e8 10 14124 14127 xchg dx, ax ; 92 14125 call 0963 5h ; e8 83 ff14128 call 0963ah ; e8 83 ff 14126 14129 mov word [bp-010h], ax ; 89 46 f0 14127 14130 test ax, ax ; 85 c0 14128 je near 097 bdh ; 0f 84 02 0114131 je near 097c2h ; 0f 84 02 01 14129 14132 mov ax, word [bp-010h] ; 8b 46 f0 14130 14133 mov es, di ; 8e c7 … … 14176 14179 xchg dx, ax ; 92 14177 14180 test AL, strict byte 001h ; a8 01 14178 jne short 0971 1h ; 75 de14181 jne short 09716h ; 75 de 14179 14182 xor ax, ax ; 31 c0 14180 14183 xor cx, cx ; 31 c9 … … 14194 14197 mov bx, strict word 0001fh ; bb 1f 00 14195 14198 xor cx, cx ; 31 c9 14196 call 0872 8h ; e8 d1 ef14199 call 0872dh ; e8 d1 ef 14197 14200 db 0feh, 0c0h 14198 14201 ; inc al ; fe c0 14199 14202 mov byte [bp-00eh], al ; 88 46 f2 14200 14203 mov byte [bp-00ch], 000h ; c6 46 f4 00 14201 jmp short 0978 2h ; eb 2014204 jmp short 09787h ; eb 20 14202 14205 xor al, al ; 30 c0 14203 14206 test al, al ; 84 c0 14204 je short 0977 9h ; 74 1114207 je short 0977eh ; 74 11 14205 14208 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 14206 14209 xor ax, ax ; 31 c0 14207 14210 mov dx, word [bp-010h] ; 8b 56 f0 14208 call 0918 4h ; e8 10 fa14211 call 09189h ; e8 10 fa 14209 14212 dec byte [bp-00eh] ; fe 4e f2 14210 je short 097 bbh ; 74 4214213 je short 097c0h ; 74 42 14211 14214 inc byte [bp-00ch] ; fe 46 f4 14212 14215 cmp byte [bp-00ch], 020h ; 80 7e f4 20 14213 jnc short 097 bbh ; 73 3914216 jnc short 097c0h ; 73 39 14214 14217 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 14215 14218 mov bx, strict word 00001h ; bb 01 00 14216 14219 xor di, di ; 31 ff 14217 jcxz 0979 3h ; e3 0614220 jcxz 09798h ; e3 06 14218 14221 sal bx, 1 ; d1 e3 14219 14222 rcl di, 1 ; d1 d7 14220 loop 097 8dh ; e2 fa14223 loop 09792h ; e2 fa 14221 14224 mov ax, strict word 0000ch ; b8 0c 00 14222 14225 xor cx, cx ; 31 c9 … … 14234 14237 xchg dx, ax ; 92 14235 14238 test dx, di ; 85 fa 14236 jne short 097b 7h ; 75 0414239 jne short 097bch ; 75 04 14237 14240 test ax, bx ; 85 d8 14238 je short 0976 2h ; 74 ab14241 je short 09767h ; 74 ab 14239 14242 mov AL, strict byte 001h ; b0 01 14240 jmp short 0976 4h ; eb a914243 jmp short 09769h ; eb a9 14241 14244 xor ax, ax ; 31 c0 14242 14245 lea sp, [bp-00ah] ; 8d 66 f6 … … 14248 14251 pop bp ; 5d 14249 14252 retn ; c3 14250 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 adh, 098h, 08bh, 098h, 091h, 098h, 097h, 098h, 09dh14251 db 098h, 0a 3h, 098h, 0a9h, 098h, 0adh, 098h14252 _ahci_init: ; 0xf97 deLB 0xfe14253 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0b2h, 098h, 090h, 098h, 096h, 098h, 09ch, 098h, 0a2h 14254 db 098h, 0a8h, 098h, 0aeh, 098h, 0b2h, 098h 14255 _ahci_init: ; 0xf97e3 LB 0xfe 14253 14256 push bp ; 55 14254 14257 mov bp, sp ; 89 e5 … … 14258 14261 mov ax, 00601h ; b8 01 06 14259 14262 mov dx, strict word 00001h ; ba 01 00 14260 call 09 cfch ; e8 0d 0514263 call 09d01h ; e8 0d 05 14261 14264 mov dx, ax ; 89 c2 14262 14265 cmp ax, strict word 0ffffh ; 3d ff ff 14263 je near 098d 5h ; 0f 84 dd 0014266 je near 098dah ; 0f 84 dd 00 14264 14267 xor al, al ; 30 c0 14265 14268 shr ax, 008h ; c1 e8 08 … … 14269 14272 xor ah, ah ; 30 e4 14270 14273 mov bx, strict word 00034h ; bb 34 00 14271 call 09d2 7h ; e8 1a 0514274 call 09d2ch ; e8 1a 05 14272 14275 mov cl, al ; 88 c1 14273 14276 test cl, cl ; 84 c9 14274 je short 0983 6h ; 74 2314277 je short 0983bh ; 74 23 14275 14278 movzx bx, cl ; 0f b6 d9 14276 14279 movzx di, byte [bp-008h] ; 0f b6 7e f8 … … 14278 14281 mov dx, di ; 89 fa 14279 14282 mov ax, si ; 89 f0 14280 call 09d2 7h ; e8 02 0514283 call 09d2ch ; e8 02 05 14281 14284 cmp AL, strict byte 012h ; 3c 12 14282 je short 0983 6h ; 74 0d14285 je short 0983bh ; 74 0d 14283 14286 mov al, cl ; 88 c8 14284 14287 db 0feh, 0c0h … … 14287 14290 mov dx, di ; 89 fa 14288 14291 mov ax, si ; 89 f0 14289 jmp short 0980 ah ; eb d414292 jmp short 0980fh ; eb d4 14290 14293 test cl, cl ; 84 c9 14291 je near 098d 5h ; 0f 84 99 0014294 je near 098dah ; 0f 84 99 00 14292 14295 add cl, 002h ; 80 c1 02 14293 14296 movzx bx, cl ; 0f b6 d9 … … 14296 14299 mov dx, di ; 89 fa 14297 14300 mov ax, si ; 89 f0 14298 call 09d2 7h ; e8 d6 0414301 call 09d2ch ; e8 d6 04 14299 14302 cmp AL, strict byte 010h ; 3c 10 14300 jne near 098d 5h ; 0f 85 7e 0014303 jne near 098dah ; 0f 85 7e 00 14301 14304 mov byte [bp-006h], 000h ; c6 46 fa 00 14302 14305 mov al, cl ; 88 c8 … … 14305 14308 mov dx, di ; 89 fa 14306 14309 mov ax, si ; 89 f0 14307 call 09d 4bh ; e8 e2 0414310 call 09d50h ; e8 e2 04 14308 14311 mov dx, ax ; 89 c2 14309 14312 and ax, strict word 0000fh ; 25 0f 00 14310 14313 sub ax, strict word 00004h ; 2d 04 00 14311 14314 cmp ax, strict word 0000bh ; 3d 0b 00 14312 jnbe short 098 adh ; 77 3714315 jnbe short 098b2h ; 77 37 14313 14316 push CS ; 0e 14314 14317 pop ES ; 07 14315 14318 mov cx, strict word 00008h ; b9 08 00 14316 mov di, 097c 7h ; bf c79714319 mov di, 097cch ; bf cc 97 14317 14320 repne scasb ; f2 ae 14318 14321 sal cx, 1 ; d1 e1 14319 14322 mov di, cx ; 89 cf 14320 mov ax, word [cs:di-068 32h] ; 2e 8b 85 ce9714323 mov ax, word [cs:di-0682dh] ; 2e 8b 85 d3 97 14321 14324 jmp ax ; ff e0 14322 14325 mov byte [bp-006h], 010h ; c6 46 fa 10 14323 jmp short 098 adh ; eb 1c14326 jmp short 098b2h ; eb 1c 14324 14327 mov byte [bp-006h], 014h ; c6 46 fa 14 14325 jmp short 098 adh ; eb 1614328 jmp short 098b2h ; eb 16 14326 14329 mov byte [bp-006h], 018h ; c6 46 fa 18 14327 jmp short 098 adh ; eb 1014330 jmp short 098b2h ; eb 10 14328 14331 mov byte [bp-006h], 01ch ; c6 46 fa 1c 14329 jmp short 098 adh ; eb 0a14332 jmp short 098b2h ; eb 0a 14330 14333 mov byte [bp-006h], 020h ; c6 46 fa 20 14331 jmp short 098 adh ; eb 0414334 jmp short 098b2h ; eb 04 14332 14335 mov byte [bp-006h], 024h ; c6 46 fa 24 14333 14336 mov si, dx ; 89 d6 … … 14336 14339 mov al, byte [bp-006h] ; 8a 46 fa 14337 14340 test al, al ; 84 c0 14338 je short 098d 5h ; 74 1914341 je short 098dah ; 74 19 14339 14342 movzx bx, al ; 0f b6 d8 14340 14343 movzx dx, byte [bp-008h] ; 0f b6 56 f8 14341 14344 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 14342 call 09d 6dh ; e8 a3 0414345 call 09d72h ; e8 a3 04 14343 14346 test AL, strict byte 001h ; a8 01 14344 je short 098d 5h ; 74 0714347 je short 098dah ; 74 07 14345 14348 and AL, strict byte 0f0h ; 24 f0 14346 14349 add ax, si ; 01 f0 14347 call 0967 8h ; e8 a3 fd14350 call 0967dh ; e8 a3 fd 14348 14351 lea sp, [bp-004h] ; 8d 66 fc 14349 14352 pop di ; 5f … … 14351 14354 pop bp ; 5d 14352 14355 retn ; c3 14353 apm_out_str_: ; 0xf98 dcLB 0x3914356 apm_out_str_: ; 0xf98e1 LB 0x39 14354 14357 push bp ; 55 14355 14358 mov bp, sp ; 89 e5 … … 14357 14360 mov bx, ax ; 89 c3 14358 14361 cmp byte [bx], 000h ; 80 3f 00 14359 je short 098f 1h ; 74 0a14362 je short 098f6h ; 74 0a 14360 14363 mov al, byte [bx] ; 8a 07 14361 14364 out DX, AL ; ee … … 14364 14367 db 00ah, 0c0h 14365 14368 ; or al, al ; 0a c0 14366 jne short 098e 9h ; 75 f814369 jne short 098eeh ; 75 f8 14367 14370 lea sp, [bp-002h] ; 8d 66 fe 14368 14371 pop bx ; 5b 14369 14372 pop bp ; 5d 14370 14373 retn ; c3 14371 cmp byte [bx+di-065fch], bl ; 38 99 04 9a 14372 dec dx ; 4a 14374 cmp ax, 00999h ; 3d 99 09 14375 call far 0996ah:0994fh ; 9a 4f 99 6a 99 14376 or word [bp+si-0666bh], bx ; 09 9a 95 99 14377 or word [bp+si-06666h], bx ; 09 9a 9a 99 14378 ficomp word [bx+di-06622h] ; de 99 de 99 14379 ficomp word [bx+di-06627h] ; de 99 d9 99 14380 ficomp word [bx+di-06622h] ; de 99 de 99 14381 db 0d2h 14373 14382 cwd ; 99 14374 db 065h, 099h 14375 ; gs cwd ; 65 99 14376 add AL, strict byte 09ah ; 04 9a 14377 nop ; 90 14378 cwd ; 99 14379 add AL, strict byte 09ah ; 04 9a 14380 xchg bp, ax ; 95 14381 cwd ; 99 14382 fstp dword [bx+di-06627h] ; d9 99 d9 99 14383 fstp dword [bx+di-0662ch] ; d9 99 d4 99 14384 fstp dword [bx+di-06627h] ; d9 99 d9 99 14385 int 099h ; cd 99 14386 _apm_function: ; 0xf9915 LB 0xf5 14383 _apm_function: ; 0xf991a LB 0xf5 14387 14384 push bp ; 55 14388 14385 mov bp, sp ; 89 e5 … … 14392 14389 xor ah, ah ; 30 e4 14393 14390 cmp ax, strict word 0000eh ; 3d 0e 00 14394 jnbe near 099d 9h ; 0f 87 b0 0014391 jnbe near 099deh ; 0f 87 b0 00 14395 14392 mov bx, ax ; 89 c3 14396 14393 add bx, ax ; 01 c3 14397 14394 mov dx, word [bp+018h] ; 8b 56 18 14398 14395 or dl, 001h ; 80 ca 01 14399 jmp word [cs:bx-0670 9h] ; 2e ff a7 f79814396 jmp word [cs:bx-06704h] ; 2e ff a7 fc 98 14400 14397 mov word [bp+012h], 00102h ; c7 46 12 02 01 14401 14398 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 14402 14399 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 14403 jmp near 09a0 4h ; e9 ba 0014400 jmp near 09a09h ; e9 ba 00 14404 14401 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14405 14402 mov word [bp+00ch], 09fa4h ; c7 46 0c a4 9f … … 14408 14405 mov word [bp+006h], ax ; 89 46 06 14409 14406 mov word [bp+004h], ax ; 89 46 04 14410 jmp near 09a0 4h ; e9 9f 0014407 jmp near 09a09h ; e9 9f 00 14411 14408 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14412 14409 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 14421 14418 mov si, ax ; 89 c6 14422 14419 sal esi, 010h ; 66 c1 e6 10 14423 jmp near 09a0 4h ; e9 74 0014420 jmp near 09a09h ; e9 74 00 14424 14421 sti ; fb 14425 14422 hlt ; f4 14426 jmp near 09a0 4h ; e9 6f 0014423 jmp near 09a09h ; e9 6f 00 14427 14424 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 14428 je short 099b ah ; 74 1f14425 je short 099bfh ; 74 1f 14429 14426 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 14430 je short 099b 2h ; 74 1114427 je short 099b7h ; 74 11 14431 14428 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 14432 jne short 099c 2h ; 75 1b14429 jne short 099c7h ; 75 1b 14433 14430 mov dx, 08900h ; ba 00 89 14434 14431 mov ax, 00d10h ; b8 10 0d 14435 call 098 dch ; e8 2c ff14436 jmp short 09a0 4h ; eb 5214432 call 098e1h ; e8 2c ff 14433 jmp short 09a09h ; eb 52 14437 14434 mov dx, 08900h ; ba 00 89 14438 14435 mov ax, 00d18h ; b8 18 0d 14439 jmp short 099 adh ; eb f314436 jmp short 099b2h ; eb f3 14440 14437 mov dx, 08900h ; ba 00 89 14441 14438 mov ax, 00d20h ; b8 20 0d 14442 jmp short 099 adh ; eb eb14439 jmp short 099b2h ; eb eb 14443 14440 or ah, 00ah ; 80 cc 0a 14444 14441 mov word [bp+012h], ax ; 89 46 12 14445 14442 mov word [bp+018h], dx ; 89 56 18 14446 jmp short 09a0 4h ; eb 3714443 jmp short 09a09h ; eb 37 14447 14444 mov word [bp+012h], 00102h ; c7 46 12 02 01 14448 jmp short 09a0 4h ; eb 3014445 jmp short 09a09h ; eb 30 14449 14446 or ah, 080h ; 80 cc 80 14450 jmp short 099c 5h ; eb ec14451 mov bx, 00da 6h ; bb a60d14447 jmp short 099cah ; eb ec 14448 mov bx, 00da4h ; bb a4 0d 14452 14449 mov cx, ds ; 8c d9 14453 14450 mov ax, strict word 00004h ; b8 04 00 14454 call 01999h ; e8 b 57f14451 call 01999h ; e8 b0 7f 14455 14452 push word [bp+00ch] ; ff 76 0c 14456 14453 push word [bp+012h] ; ff 76 12 14457 14454 push 00d29h ; 68 29 0d 14458 14455 push strict byte 00004h ; 6a 04 14459 call 019dah ; e8 e 87f14456 call 019dah ; e8 e3 7f 14460 14457 add sp, strict byte 00008h ; 83 c4 08 14461 14458 mov ax, word [bp+012h] ; 8b 46 12 … … 14468 14465 pop bp ; 5d 14469 14466 retn ; c3 14470 pci16_select_reg_: ; 0xf9a0 aLB 0x2414467 pci16_select_reg_: ; 0xf9a0f LB 0x24 14471 14468 push bp ; 55 14472 14469 mov bp, sp ; 89 e5 … … 14485 14482 pop bp ; 5d 14486 14483 retn ; c3 14487 pci16_find_device_: ; 0xf9a 2eLB 0xf714484 pci16_find_device_: ; 0xf9a33 LB 0xf7 14488 14485 push bp ; 55 14489 14486 mov bp, sp ; 89 e5 … … 14499 14496 mov byte [bp-008h], 000h ; c6 46 f8 00 14500 14497 test bl, 007h ; f6 c3 07 14501 jne short 09a7 6h ; 75 2d14498 jne short 09a7bh ; 75 2d 14502 14499 mov dx, strict word 0000eh ; ba 0e 00 14503 14500 mov ax, bx ; 89 d8 14504 call 09a0 ah ; e8 b9 ff14501 call 09a0fh ; e8 b9 ff 14505 14502 mov dx, 00cfeh ; ba fe 0c 14506 14503 in AL, DX ; ec … … 14509 14506 mov byte [bp-006h], al ; 88 46 fa 14510 14507 cmp AL, strict byte 0ffh ; 3c ff 14511 jne short 09a6 4h ; 75 0614508 jne short 09a69h ; 75 06 14512 14509 add bx, strict byte 00008h ; 83 c3 08 14513 jmp near 09af 7h ; e9 93 0014510 jmp near 09afch ; e9 93 00 14514 14511 test byte [bp-006h], 080h ; f6 46 fa 80 14515 je short 09a7 1h ; 74 0714512 je short 09a76h ; 74 07 14516 14513 mov word [bp-00ah], strict word 00001h ; c7 46 f6 01 00 14517 jmp short 09a7 6h ; eb 0514514 jmp short 09a7bh ; eb 05 14518 14515 mov word [bp-00ah], strict word 00008h ; c7 46 f6 08 00 14519 14516 mov al, byte [bp-006h] ; 8a 46 fa 14520 14517 and AL, strict byte 007h ; 24 07 14521 14518 cmp AL, strict byte 001h ; 3c 01 14522 jne short 09a 9eh ; 75 1f14519 jne short 09aa3h ; 75 1f 14523 14520 mov ax, bx ; 89 d8 14524 14521 shr ax, 008h ; c1 e8 08 14525 14522 test ax, ax ; 85 c0 14526 jne short 09a 9eh ; 75 1614523 jne short 09aa3h ; 75 16 14527 14524 mov dx, strict word 0001ah ; ba 1a 00 14528 14525 mov ax, bx ; 89 d8 14529 call 09a0 ah ; e8 7a ff14526 call 09a0fh ; e8 7a ff 14530 14527 mov dx, 00cfeh ; ba fe 0c 14531 14528 in AL, DX ; ec … … 14533 14530 ; sub ah, ah ; 2a e4 14534 14531 cmp al, byte [bp-008h] ; 3a 46 f8 14535 jbe short 09a 9eh ; 76 0314532 jbe short 09aa3h ; 76 03 14536 14533 mov byte [bp-008h], al ; 88 46 f8 14537 14534 test di, di ; 85 ff 14538 je short 09aa 7h ; 74 0514535 je short 09aach ; 74 05 14539 14536 mov dx, strict word 00008h ; ba 08 00 14540 jmp short 09aa 9h ; eb 0214537 jmp short 09aaeh ; eb 02 14541 14538 xor dx, dx ; 31 d2 14542 14539 mov ax, bx ; 89 d8 14543 call 09a0 ah ; e8 5c ff14540 call 09a0fh ; e8 5c ff 14544 14541 mov dx, 00cfch ; ba fc 0c 14545 14542 in eax, DX ; 66 ed … … 14552 14549 mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00 14553 14550 test di, di ; 85 ff 14554 je short 09ad 8h ; 74 0f14551 je short 09addh ; 74 0f 14555 14552 mov cx, strict word 00008h ; b9 08 00 14556 14553 shr dx, 1 ; d1 ea 14557 14554 rcr ax, 1 ; d1 d8 14558 loop 09a cch ; e2 fa14555 loop 09ad1h ; e2 fa 14559 14556 mov word [bp-00eh], ax ; 89 46 f2 14560 14557 mov word [bp-00ch], dx ; 89 56 f4 14561 14558 mov ax, word [bp-00ch] ; 8b 46 f4 14562 14559 cmp ax, word [bp-014h] ; 3b 46 ec 14563 jne short 09ae 8h ; 75 0814560 jne short 09aedh ; 75 08 14564 14561 mov ax, word [bp-00eh] ; 8b 46 f2 14565 14562 cmp ax, word [bp-012h] ; 3b 46 ee 14566 je short 09a eeh ; 74 0614563 je short 09af3h ; 74 06 14567 14564 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 14568 je short 09af 4h ; 74 0614565 je short 09af9h ; 74 06 14569 14566 dec si ; 4e 14570 14567 cmp si, strict byte 0ffffh ; 83 fe ff 14571 je short 09b0 6h ; 74 1214568 je short 09b0bh ; 74 12 14572 14569 add bx, word [bp-00ah] ; 03 5e f6 14573 14570 mov dx, bx ; 89 da … … 14575 14572 movzx ax, byte [bp-008h] ; 0f b6 46 f8 14576 14573 cmp dx, ax ; 39 c2 14577 jbe near 09a4 4h ; 0f 86 3e ff14574 jbe near 09a49h ; 0f 86 3e ff 14578 14575 cmp si, strict byte 0ffffh ; 83 fe ff 14579 jne short 09b 0fh ; 75 0414576 jne short 09b14h ; 75 04 14580 14577 mov ax, bx ; 89 d8 14581 jmp short 09b1 2h ; eb 0314578 jmp short 09b17h ; eb 03 14582 14579 mov ax, strict word 0ffffh ; b8 ff ff 14583 14580 lea sp, [bp-004h] ; 8d 66 fc … … 14586 14583 pop bp ; 5d 14587 14584 retn ; c3 14588 pop ES ; 07 14585 or AL, strict byte 09ch ; 0c 9c 14586 db 026h, 09ch 14587 ; es pushfw ; 26 9c 14588 cmp word [si-063b2h], bx ; 39 9c 4e 9c 14589 popaw ; 61 14589 14590 pushfw ; 9c 14590 and word [si-063cch], bx ; 21 9c 34 9c 14591 dec cx ; 49 14592 pushfw ; 9c 14593 pop sp ; 5c 14594 pushfw ; 9c 14595 outsw ; 6f 14596 pushfw ; 9c 14597 _pci16_function: ; 0xf9b25 LB 0x1d7 14591 je short 09ac6h ; 74 9c 14592 _pci16_function: ; 0xf9b2a LB 0x1d7 14598 14593 push bp ; 55 14599 14594 mov bp, sp ; 89 e5 … … 14609 14604 xor ah, ah ; 30 e4 14610 14605 cmp bx, strict byte 00003h ; 83 fb 03 14611 jc short 09b 5eh ; 72 1a14612 jbe short 09bb 6h ; 76 7014606 jc short 09b63h ; 72 1a 14607 jbe short 09bbbh ; 76 70 14613 14608 cmp bx, strict byte 0000eh ; 83 fb 0e 14614 je near 09c8 3h ; 0f 84 36 0114609 je near 09c88h ; 0f 84 36 01 14615 14610 cmp bx, strict byte 00008h ; 83 fb 08 14616 jc near 09cc 8h ; 0f 82 74 0114611 jc near 09ccdh ; 0f 82 74 01 14617 14612 cmp bx, strict byte 0000dh ; 83 fb 0d 14618 jbe near 09b dbh ; 0f 86 80 0014619 jmp near 09cc 8h ; e9 6a 0114613 jbe near 09be0h ; 0f 86 80 00 14614 jmp near 09ccdh ; e9 6a 01 14620 14615 cmp bx, strict byte 00002h ; 83 fb 02 14621 je short 09b8 6h ; 74 2314616 je short 09b8bh ; 74 23 14622 14617 cmp bx, strict byte 00001h ; 83 fb 01 14623 jne near 09cc 8h ; 0f 85 5e 0114618 jne near 09ccdh ; 0f 85 5e 01 14624 14619 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 14625 14620 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 14627 14622 mov word [bp+018h], 04350h ; c7 46 18 50 43 14628 14623 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 14629 jmp near 09cf 5h ; e9 6f 0114624 jmp near 09cfah ; e9 6f 01 14630 14625 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 14631 jne short 09b9 2h ; 75 0614626 jne short 09b97h ; 75 06 14632 14627 or ah, 083h ; 80 cc 83 14633 jmp near 09c eeh ; e9 5c 0114628 jmp near 09cf3h ; e9 5c 01 14634 14629 mov bx, word [bp+008h] ; 8b 5e 08 14635 14630 mov dx, word [bp+01ch] ; 8b 56 1c 14636 14631 mov ax, word [bp+018h] ; 8b 46 18 14637 14632 xor cx, cx ; 31 c9 14638 call 09a 2eh ; e8 8e fe14633 call 09a33h ; e8 8e fe 14639 14634 cmp ax, strict word 0ffffh ; 3d ff ff 14640 jne short 09bb 0h ; 75 0b14635 jne short 09bb5h ; 75 0b 14641 14636 mov ax, word [bp+020h] ; 8b 46 20 14642 14637 xor ah, ah ; 30 e4 14643 14638 or ah, 086h ; 80 cc 86 14644 jmp near 09c eeh ; e9 3e 0114639 jmp near 09cf3h ; e9 3e 01 14645 14640 mov word [bp+014h], ax ; 89 46 14 14646 jmp near 09cf 5h ; e9 3f 0114641 jmp near 09cfah ; e9 3f 01 14647 14642 mov bx, word [bp+008h] ; 8b 5e 08 14648 14643 mov ax, word [bp+01ch] ; 8b 46 1c 14649 14644 mov dx, word [bp+01eh] ; 8b 56 1e 14650 14645 mov cx, strict word 00001h ; b9 01 00 14651 call 09a 2eh ; e8 69 fe14646 call 09a33h ; e8 69 fe 14652 14647 cmp ax, strict word 0ffffh ; 3d ff ff 14653 jne short 09bd 5h ; 75 0b14648 jne short 09bdah ; 75 0b 14654 14649 mov ax, word [bp+020h] ; 8b 46 20 14655 14650 xor ah, ah ; 30 e4 14656 14651 or ah, 086h ; 80 cc 86 14657 jmp near 09c eeh ; e9 19 0114652 jmp near 09cf3h ; e9 19 01 14658 14653 mov word [bp+014h], ax ; 89 46 14 14659 jmp near 09cf 5h ; e9 1a 0114654 jmp near 09cfah ; e9 1a 01 14660 14655 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 14661 jc short 09be 8h ; 72 0614656 jc short 09bedh ; 72 06 14662 14657 or ah, 087h ; 80 cc 87 14663 jmp near 09c eeh ; e9 06 0114658 jmp near 09cf3h ; e9 06 01 14664 14659 mov dx, word [bp+004h] ; 8b 56 04 14665 14660 mov ax, word [bp+014h] ; 8b 46 14 14666 call 09a0 ah ; e8 19 fe14661 call 09a0fh ; e8 19 fe 14667 14662 mov bx, word [bp+020h] ; 8b 5e 20 14668 14663 xor bh, bh ; 30 ff 14669 14664 sub bx, strict byte 00008h ; 83 eb 08 14670 14665 cmp bx, strict byte 00005h ; 83 fb 05 14671 jnbe near 09cf 5h ; 0f 87 f5 0014666 jnbe near 09cfah ; 0f 87 f5 00 14672 14667 add bx, bx ; 01 db 14673 jmp word [cs:bx-064e 7h] ; 2e ff a7 199b14668 jmp word [cs:bx-064e2h] ; 2e ff a7 1e 9b 14674 14669 mov bx, word [bp+01ch] ; 8b 5e 1c 14675 14670 xor bl, bl ; 30 db … … 14682 14677 or bx, ax ; 09 c3 14683 14678 mov word [bp+01ch], bx ; 89 5e 1c 14684 jmp near 09cf 5h ; e9 d4 0014679 jmp near 09cfah ; e9 d4 00 14685 14680 mov dx, word [bp+004h] ; 8b 56 04 14686 14681 xor dh, dh ; 30 f6 … … 14689 14684 in ax, DX ; ed 14690 14685 mov word [bp+01ch], ax ; 89 46 1c 14691 jmp near 09cf 5h ; e9 c1 0014686 jmp near 09cfah ; e9 c1 00 14692 14687 mov dx, 00cfch ; ba fc 0c 14693 14688 in eax, DX ; 66 ed … … 14698 14693 mov word [bp+01ch], ax ; 89 46 1c 14699 14694 mov word [bp+01eh], dx ; 89 56 1e 14700 jmp near 09cf 5h ; e9 ac 0014695 jmp near 09cfah ; e9 ac 00 14701 14696 mov ax, word [bp+01ch] ; 8b 46 1c 14702 14697 mov dx, word [bp+004h] ; 8b 56 04 … … 14705 14700 add dx, 00cfch ; 81 c2 fc 0c 14706 14701 out DX, AL ; ee 14707 jmp near 09cf 5h ; e9 99 0014702 jmp near 09cfah ; e9 99 00 14708 14703 mov ax, word [bp+01ch] ; 8b 46 1c 14709 14704 mov dx, word [bp+004h] ; 8b 56 04 … … 14712 14707 add dx, 00cfch ; 81 c2 fc 0c 14713 14708 out DX, ax ; ef 14714 jmp near 09cf 5h ; e9 86 0014709 jmp near 09cfah ; e9 86 00 14715 14710 mov ax, word [bp+01ch] ; 8b 46 1c 14716 14711 mov cx, word [bp+01eh] ; 8b 4e 1e … … 14721 14716 ; mov ax, cx ; 8b c1 14722 14717 out DX, eax ; 66 ef 14723 jmp short 09cf 5h ; eb 7214718 jmp short 09cfah ; eb 72 14724 14719 mov bx, word [bp+004h] ; 8b 5e 04 14725 14720 mov es, [bp+026h] ; 8e 46 26 … … 14728 14723 mov cx, word [0f4a0h] ; 8b 0e a0 f4 14729 14724 cmp cx, word [es:bx] ; 26 3b 0f 14730 jbe short 09ca 9h ; 76 1114725 jbe short 09caeh ; 76 11 14731 14726 mov ax, word [bp+020h] ; 8b 46 20 14732 14727 xor ah, ah ; 30 e4 … … 14734 14729 mov word [bp+020h], ax ; 89 46 20 14735 14730 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 14736 jmp short 09c bdh ; eb 1414731 jmp short 09cc2h ; eb 14 14737 14732 les di, [es:bx+002h] ; 26 c4 7f 02 14738 14733 mov si, 0f2c0h ; be c0 f2 … … 14746 14741 les bx, [bp-008h] ; c4 5e f8 14747 14742 mov word [es:bx], ax ; 26 89 07 14748 jmp short 09cf 5h ; eb 2d14749 mov bx, 00da 6h ; bb a60d14743 jmp short 09cfah ; eb 2d 14744 mov bx, 00da4h ; bb a4 0d 14750 14745 mov cx, ds ; 8c d9 14751 14746 mov ax, strict word 00004h ; b8 04 00 14752 call 01999h ; e8 c 67c14747 call 01999h ; e8 c1 7c 14753 14748 mov ax, word [bp+014h] ; 8b 46 14 14754 14749 push ax ; 50 … … 14757 14752 push 00d5ch ; 68 5c 0d 14758 14753 push strict byte 00004h ; 6a 04 14759 call 019dah ; e8 f 77c14754 call 019dah ; e8 f2 7c 14760 14755 add sp, strict byte 00008h ; 83 c4 08 14761 14756 mov ax, word [bp+020h] ; 8b 46 20 … … 14769 14764 pop bp ; 5d 14770 14765 retn ; c3 14771 pci_find_classcode_: ; 0xf9 cfcLB 0x2b14766 pci_find_classcode_: ; 0xf9d01 LB 0x2b 14772 14767 push bp ; 55 14773 14768 mov bp, sp ; 89 e5 … … 14784 14779 int 01ah ; cd 1a 14785 14780 cmp ah, 000h ; 80 fc 00 14786 je near 09d 1dh ; 0f 84 03 0014781 je near 09d22h ; 0f 84 03 00 14787 14782 mov bx, strict word 0ffffh ; bb ff ff 14788 14783 mov ax, bx ; 89 d8 … … 14793 14788 pop bp ; 5d 14794 14789 retn ; c3 14795 pci_read_config_byte_: ; 0xf9d2 7LB 0x2414790 pci_read_config_byte_: ; 0xf9d2c LB 0x24 14796 14791 push bp ; 55 14797 14792 mov bp, sp ; 89 e5 … … 14812 14807 pop bp ; 5d 14813 14808 retn ; c3 14814 pci_read_config_word_: ; 0xf9d 4bLB 0x2214809 pci_read_config_word_: ; 0xf9d50 LB 0x22 14815 14810 push bp ; 55 14816 14811 mov bp, sp ; 89 e5 … … 14831 14826 pop bp ; 5d 14832 14827 retn ; c3 14833 pci_read_config_dword_: ; 0xf9d 6dLB 0x2714828 pci_read_config_dword_: ; 0xf9d72 LB 0x27 14834 14829 push bp ; 55 14835 14830 mov bp, sp ; 89 e5 … … 14852 14847 pop bp ; 5d 14853 14848 retn ; c3 14854 vds_is_present_: ; 0xf9d9 4LB 0x1d14849 vds_is_present_: ; 0xf9d99 LB 0x1d 14855 14850 push bx ; 53 14856 14851 push bp ; 55 … … 14860 14855 mov es, ax ; 8e c0 14861 14856 test byte [es:bx], 020h ; 26 f6 07 20 14862 je short 09d ach ; 74 0614857 je short 09db1h ; 74 06 14863 14858 mov ax, strict word 00001h ; b8 01 00 14864 14859 pop bp ; 5d … … 14869 14864 pop bx ; 5b 14870 14865 retn ; c3 14871 vds_real_to_lin_: ; 0xf9db 1LB 0x1e14866 vds_real_to_lin_: ; 0xf9db6 LB 0x1e 14872 14867 push bx ; 53 14873 14868 push cx ; 51 … … 14880 14875 sal ax, 1 ; d1 e0 14881 14876 rcl dx, 1 ; d1 d2 14882 loop 09d bfh ; e2 fa14877 loop 09dc4h ; e2 fa 14883 14878 xor cx, cx ; 31 c9 14884 14879 add ax, bx ; 01 d8 … … 14888 14883 pop bx ; 5b 14889 14884 retn ; c3 14890 vds_build_sg_list_: ; 0xf9d cfLB 0x7914885 vds_build_sg_list_: ; 0xf9dd4 LB 0x79 14891 14886 push bp ; 55 14892 14887 mov bp, sp ; 89 e5 … … 14902 14897 mov bx, word [bp+006h] ; 8b 5e 06 14903 14898 mov word [es:di+002h], bx ; 26 89 5d 02 14904 call 09db 1h ; e8 c3 ff14899 call 09db6h ; e8 c3 ff 14905 14900 mov es, si ; 8e c6 14906 14901 mov word [es:di+004h], ax ; 26 89 45 04 14907 14902 mov word [es:di+006h], dx ; 26 89 55 06 14908 14903 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 14909 call 09d9 4h ; e8 93 ff14904 call 09d99h ; e8 93 ff 14910 14905 test ax, ax ; 85 c0 14911 je short 09e1 8h ; 74 1314906 je short 09e1dh ; 74 13 14912 14907 mov es, si ; 8e c6 14913 14908 mov ax, 08105h ; b8 05 81 14914 14909 mov dx, strict word 00000h ; ba 00 00 14915 14910 int 04bh ; cd 4b 14916 jc near 09e1 5h ; 0f 82 02 0014911 jc near 09e1ah ; 0f 82 02 00 14917 14912 db 032h, 0c0h 14918 14913 ; xor al, al ; 32 c0 14919 14914 cbw ; 98 14920 jmp short 09e 3fh ; eb 2714915 jmp short 09e44h ; eb 27 14921 14916 mov es, si ; 8e c6 14922 14917 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 14935 14930 pop bp ; 5d 14936 14931 retn 00004h ; c2 04 00 14937 vds_free_sg_list_: ; 0xf9e4 8 LB 0x3814932 vds_free_sg_list_: ; 0xf9e4d LB 0x33 14938 14933 push bp ; 55 14939 14934 mov bp, sp ; 89 e5 … … 14941 14936 push di ; 57 14942 14937 mov bx, ax ; 89 c3 14943 call 09d9 4h ; e8 42 ff14938 call 09d99h ; e8 42 ff 14944 14939 test ax, ax ; 85 c0 14945 je short 09e6 9h ; 74 1314940 je short 09e6eh ; 74 13 14946 14941 mov di, bx ; 89 df 14947 14942 mov es, dx ; 8e c2 … … 14949 14944 mov dx, strict word 00000h ; ba 00 00 14950 14945 int 04bh ; cd 4b 14951 jc near 09e6 8h ; 0f 82 02 0014946 jc near 09e6dh ; 0f 82 02 00 14952 14947 db 032h, 0c0h 14953 14948 ; xor al, al ; 32 c0 … … 14960 14955 pop bp ; 5d 14961 14956 retn ; c3 14962 times 0x 8db 014957 times 0x3 db 0 14963 14958 __U4M: ; 0xf9e80 LB 0x40 14964 14959 pushfw ; 9c … … 15912 15907 call 01d17h ; e8 d4 39 15913 15908 call 021a4h ; e8 5e 3e 15914 call 097 deh ; e8 95b415915 call 086c 2h ; e8 76a315909 call 097e3h ; e8 9a b4 15910 call 086c7h ; e8 7b a3 15916 15911 call 0ed2fh ; e8 e0 09 15917 15912 call 0e2d2h ; e8 80 ff … … 16233 16228 pop DS ; 1f 16234 16229 cld ; fc 16235 call 06e 8dh ; e8 ae8416230 call 06e92h ; e8 b3 84 16236 16231 pop DS ; 1f 16237 16232 pop ES ; 07 … … 16553 16548 pop DS ; 1f 16554 16549 cld ; fc 16555 call 0780 8h ; e8 2b8816550 call 0780dh ; e8 30 88 16556 16551 popaw ; 61 16557 16552 pop ES ; 07 … … 16908 16903 pop DS ; 1f 16909 16904 cld ; fc 16910 call 06ce 2h ; e8 7b7416905 call 06ce7h ; e8 80 74 16911 16906 pop DS ; 1f 16912 16907 pop ES ; 07 … … 16930 16925 cmp ah, 0c2h ; 80 fc c2 16931 16926 je short 0f899h ; 74 0e 16932 call 0661 6h ; e8 886d16927 call 0661bh ; e8 8d 6d 16933 16928 popaw ; 61 16934 16929 pop ES ; 07 … … 16936 16931 popfw ; 9d 16937 16932 jmp short 0f8a7h ; eb 13 16938 call 0991 5h ; e8 7ea016933 call 0991ah ; e8 83 a0 16939 16934 jmp short 0f88eh ; eb f5 16940 16935 int15_handler_mouse: ; 0xff899 LB 0x5 16941 call 074 7dh ; e8 e17b16936 call 07482h ; e8 e6 7b 16942 16937 jmp short 0f88eh ; eb f0 16943 16938 int15_handler32: ; 0xff89e LB 0x9 16944 16939 pushad ; 66 60 16945 call 069 4ch ; e8 a97016940 call 06951h ; e8 ae 70 16946 16941 popad ; 66 61 16947 16942 jmp short 0f88fh ; eb e8 … … 16975 16970 pop DS ; 1f 16976 16971 cld ; fc 16977 call 073b 3h ; e8 e77a16972 call 073b8h ; e8 ec 7a 16978 16973 pop cx ; 59 16979 16974 jcxz 0f8dbh ; e3 0c … … 17007 17002 pop DS ; 1f 17008 17003 cld ; fc 17009 call 070 6bh ; e8 6a7717004 call 07070h ; e8 6f 77 17010 17005 popaw ; 61 17011 17006 pop DS ; 1f … … 17089 17084 cld ; fc 17090 17085 pushad ; 66 60 17091 call 09b2 5h ; e8 a89c17086 call 09b2ah ; e8 ad 9c 17092 17087 popad ; 66 61 17093 17088 pop DS ; 1f … … 17100 17095 pop DS ; 1f 17101 17096 cld ; fc 17102 call 0712 9h ; e8 9e7217097 call 0712eh ; e8 a3 72 17103 17098 popaw ; 61 17104 17099 pop DS ; 1f … … 17203 17198 cpu_reset: ; 0xffff0 LB 0x10 17204 17199 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 17205 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0 21h17200 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0f3h -
TabularUnified trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.md5sum ¶
r61733 r62120 1 101b1d715cbc3e8df4902cd25e551df2*VBoxPcBios386.rom1 a86d9bc85604d19429796c9ed3edf7e7 *VBoxPcBios386.rom -
TabularUnified trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.asm ¶
r61733 r62120 988 988 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 989 989 _pktacc: ; 0xf006a LB 0xc 990 db 000h, 000h, 000h, 000h, 000h, 000h, 0a1h, 02bh, 0 7dh, 081h, 018h, 091h990 db 000h, 000h, 000h, 000h, 000h, 000h, 0a1h, 02bh, 082h, 081h, 01dh, 091h 991 991 _softrst: ; 0xf0076 LB 0xc 992 992 db 000h, 000h, 000h, 000h, 000h, 000h, 02ch, 02eh, 0bdh, 03bh, 0bdh, 03bh 993 993 _dskacc: ; 0xf0082 LB 0x2e 994 994 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 02ah, 046h, 02bh, 000h, 000h, 000h, 000h 995 db 0 abh, 07fh, 094h, 080h, 0e6h, 08fh, 090h, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h995 db 0b0h, 07fh, 099h, 080h, 0ebh, 08fh, 095h, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 996 996 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 997 997 … … 1114 1114 db 'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h 1115 1115 1116 section CONST2 progbits vstart=0xd8e align=1 ; size=0x 400class=DATA group=DGROUP1117 _bios_cvs_version_string: ; 0xf0d8e LB 0x1 81118 db 'VirtualBox 5.1.0_ BETA3', 000h, 000h1119 _bios_prefix_string: ; 0xf0da 6LB 0x81116 section CONST2 progbits vstart=0xd8e align=1 ; size=0x3fe class=DATA group=DGROUP 1117 _bios_cvs_version_string: ; 0xf0d8e LB 0x16 1118 db 'VirtualBox 5.1.0_RC1', 000h, 000h 1119 _bios_prefix_string: ; 0xf0da4 LB 0x8 1120 1120 db 'BIOS: ', 000h, 000h 1121 _isotag: ; 0xf0da eLB 0x61121 _isotag: ; 0xf0dac LB 0x6 1122 1122 db 'CD001', 000h 1123 _eltorito: ; 0xf0db 4LB 0x181123 _eltorito: ; 0xf0db2 LB 0x18 1124 1124 db 'EL TORITO SPECIFICATION', 000h 1125 _drivetypes: ; 0xf0dc cLB 0x281125 _drivetypes: ; 0xf0dca LB 0x28 1126 1126 db 046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h 1127 1127 db 069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h 1128 1128 db 04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1129 _scan_to_scanascii: ; 0xf0df 4LB 0x37a1129 _scan_to_scanascii: ; 0xf0df2 LB 0x37a 1130 1130 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h 1131 1131 db 000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h … … 1184 1184 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h 1185 1185 db 000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h 1186 _panic_msg_keyb_buffer_full: ; 0xf116 eLB 0x201186 _panic_msg_keyb_buffer_full: ; 0xf116c LB 0x20 1187 1187 db '%s: keyboard input buffer full', 00ah, 000h 1188 1188 1189 ; Padding 0x47 2 bytes at 0xf118e1190 times 11 38db 01189 ; Padding 0x474 bytes at 0xf118c 1190 times 1140 db 0 1191 1191 1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8d 88 class=CODE group=AUTO1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8d98 class=CODE group=AUTO 1193 1193 rom_scan_: ; 0xf1600 LB 0x52 1194 1194 push bp ; 55 … … 1418 1418 push bp ; 55 1419 1419 mov bp, sp ; 89 e5 1420 mov bx, 00da 6h ; bb a60d1420 mov bx, 00da4h ; bb a4 0d 1421 1421 mov cx, ds ; 8c d9 1422 1422 mov ax, strict word 00004h ; b8 04 00 … … 1450 1450 int 010h ; cd 10 1451 1451 jmp short 017c3h ; eb 03 1452 call 07b 4fh ; e8 8c631452 call 07b54h ; e8 91 63 1453 1453 mov sp, bp ; 89 ec 1454 1454 pop bp ; 5d … … 1596 1596 mov bx, strict word 0000ah ; bb 0a 00 1597 1597 xor cx, cx ; 31 c9 1598 call 0a0 20h ; e8 43 871598 call 0a030h ; e8 53 87 1599 1599 mov word [bp-008h], ax ; 89 46 f8 1600 1600 mov cx, dx ; 89 d1 … … 1833 1833 mov dx, word [bp-026h] ; 8b 56 da 1834 1834 mov si, word [bp-01eh] ; 8b 76 e2 1835 call 0a0 50h ; e8 38 851835 call 0a060h ; e8 48 85 1836 1836 mov ax, dx ; 89 d0 1837 1837 xor ah, dh ; 30 f4 … … 2294 2294 mov dx, word [es:si] ; 26 8b 14 2295 2295 mov si, strict word 00018h ; be 18 00 2296 call 0a0 50h ; e8 be 802296 call 0a060h ; e8 ce 80 2297 2297 xor dh, dh ; 30 f6 2298 2298 mov word [bp-014h], dx ; 89 56 ec … … 2304 2304 mov dx, word [es:si] ; 26 8b 14 2305 2305 mov si, strict word 00020h ; be 20 00 2306 call 0a0 50h ; e8 9e 802306 call 0a060h ; e8 ae 80 2307 2307 mov bx, dx ; 89 d3 2308 2308 mov word [bp-010h], dx ; 89 56 f0 … … 2336 2336 mov dx, word [es:si] ; 26 8b 14 2337 2337 mov si, strict word 00008h ; be 08 00 2338 call 0a0 50h ; e8 4b 802338 call 0a060h ; e8 5b 80 2339 2339 mov word [bp-010h], dx ; 89 56 f0 2340 2340 mov bx, word [bp-016h] ; 8b 5e ea … … 2345 2345 mov dx, word [es:si] ; 26 8b 14 2346 2346 mov si, strict word 00018h ; be 18 00 2347 call 0a0 50h ; e8 2d 802347 call 0a060h ; e8 3d 80 2348 2348 mov bl, dl ; 88 d3 2349 2349 and bl, 00fh ; 80 e3 0f … … 2742 2742 lea ax, [bp-03eh] ; 8d 46 c2 2743 2743 call 05b09h ; e8 08 37 2744 mov bx, 00da 6h ; bb a60d2744 mov bx, 00da4h ; bb a4 0d 2745 2745 mov cx, ds ; 8c d9 2746 2746 mov ax, strict word 00004h ; b8 04 00 … … 2923 2923 mov dx, word [es:di+036h] ; 26 8b 55 36 2924 2924 mov si, strict word 0000bh ; be 0b 00 2925 call 0a0 50h ; e8 51 7a2925 call 0a060h ; e8 61 7a 2926 2926 mov word [bp-02ah], dx ; 89 56 d6 2927 2927 mov word [bp-026h], cx ; 89 4e da … … 3215 3215 mov dx, word [bp-022h] ; 8b 56 de 3216 3216 mov si, strict word 00018h ; be 18 00 3217 call 0a0 50h ; e8 74 773217 call 0a060h ; e8 84 77 3218 3218 xor dh, dh ; 30 f6 3219 3219 mov word [bp-014h], dx ; 89 56 ec … … 3223 3223 mov dx, word [bp-022h] ; 8b 56 de 3224 3224 mov si, strict word 00020h ; be 20 00 3225 call 0a0 50h ; e8 5d 773225 call 0a060h ; e8 6d 77 3226 3226 mov bx, dx ; 89 d3 3227 3227 mov word [bp-024h], dx ; 89 56 dc … … 3257 3257 mov dx, word [bp-022h] ; 8b 56 de 3258 3258 mov si, strict word 00008h ; be 08 00 3259 call 0a0 50h ; e8 09 773259 call 0a060h ; e8 19 77 3260 3260 mov word [bp-00ch], ax ; 89 46 f4 3261 3261 mov word [bp-020h], bx ; 89 5e e0 … … 3264 3264 mov word [bp-024h], dx ; 89 56 dc 3265 3265 mov si, strict word 00010h ; be 10 00 3266 call 0a0 50h ; e8 f4 763266 call 0a060h ; e8 04 77 3267 3267 mov word [bp-022h], dx ; 89 56 de 3268 3268 mov ax, dx ; 89 d0 … … 3531 3531 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 3532 3532 jne short 02bf6h ; 75 23 3533 mov bx, 00da 6h ; bb a60d3533 mov bx, 00da4h ; bb a4 0d 3534 3534 mov cx, ds ; 8c d9 3535 3535 mov ax, strict word 00004h ; b8 04 00 … … 4414 4414 cmp ch, 048h ; 80 fd 48 4415 4415 jbe short 03383h ; 76 31 4416 mov bx, 00da 6h ; bb a60d4416 mov bx, 00da4h ; bb a4 0d 4417 4417 mov cx, ds ; 8c d9 4418 4418 mov ax, strict word 00004h ; b8 04 00 … … 5276 5276 mov word [bp+008h], ax ; 89 46 08 5277 5277 jmp near 039f3h ; e9 8e fe 5278 mov bx, 00da 6h ; bb a60d5278 mov bx, 00da4h ; bb a4 0d 5279 5279 mov cx, ds ; 8c d9 5280 5280 mov ax, strict word 00004h ; b8 04 00 … … 5378 5378 cmp ax, strict word 0004ah ; 3d 4a 00 5379 5379 jne short 03c57h ; 75 23 5380 mov bx, 00da 6h ; bb a60d5380 mov bx, 00da4h ; bb a4 0d 5381 5381 mov cx, ds ; 8c d9 5382 5382 mov ax, strict word 00004h ; b8 04 00 … … 5486 5486 pop bp ; 5d 5487 5487 retn ; c3 5488 mov bx, 00da 6h ; bb a60d5488 mov bx, 00da4h ; bb a4 0d 5489 5489 mov cx, ds ; 8c d9 5490 5490 mov ax, strict word 00004h ; b8 04 00 … … 5574 5574 mov dx, ss ; 8c d2 5575 5575 lea ax, [bp-026h] ; 8d 46 da 5576 call 0a0 70h ; e8 3e 625576 call 0a080h ; e8 4e 62 5577 5577 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 5578 5578 mov ax, strict word 00011h ; b8 11 00 … … 5637 5637 jnc short 03ee0h ; 73 10 5638 5638 mov al, byte [bp+di-00825h] ; 8a 83 db f7 5639 cmp al, byte [di+00da eh] ; 3a 85 ae0d5639 cmp al, byte [di+00dach] ; 3a 85 ac 0d 5640 5640 je short 03ecah ; 74 f0 5641 5641 mov ax, strict word 00005h ; b8 05 00 … … 5647 5647 jnc short 03efah ; 73 10 5648 5648 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 5649 cmp al, byte [di+00db 4h] ; 3a 85 b40d5649 cmp al, byte [di+00db2h] ; 3a 85 b2 0d 5650 5650 je short 03ee4h ; 74 f0 5651 5651 mov ax, strict word 00006h ; b8 06 00 … … 5948 5948 cmp ax, dx ; 39 d0 5949 5949 je short 04296h ; 74 2a 5950 mov bx, 00da 6h ; bb a60d5950 mov bx, 00da4h ; bb a4 0d 5951 5951 mov cx, ds ; 8c d9 5952 5952 mov ax, strict word 00004h ; b8 04 00 … … 6066 6066 xor dl, dl ; 30 d2 6067 6067 xor cx, cx ; 31 c9 6068 call 0a0 00h ; e8 5a 5c6068 call 0a010h ; e8 6a 5c 6069 6069 xor bx, bx ; 31 db 6070 6070 add ax, si ; 01 f0 … … 6072 6072 mov bx, di ; 89 fb 6073 6073 xor cx, cx ; 31 c9 6074 call 0a0 00h ; e8 4d 5c6074 call 0a010h ; e8 5d 5c 6075 6075 mov bx, ax ; 89 c3 6076 6076 mov ax, word [bp-00ah] ; 8b 46 f6 … … 6107 6107 mov dx, ss ; 8c d2 6108 6108 lea ax, [bp-030h] ; 8d 46 d0 6109 call 0a0 70h ; e8 66 5c6109 call 0a080h ; e8 76 5c 6110 6110 mov word [bp-030h], strict word 00028h ; c7 46 d0 28 00 6111 6111 mov ax, word [bp-00eh] ; 8b 46 f2 … … 6177 6177 test al, al ; 84 c0 6178 6178 je short 044fbh ; 74 38 6179 mov bx, 00da 6h ; bb a60d6179 mov bx, 00da4h ; bb a4 0d 6180 6180 mov cx, ds ; 8c d9 6181 6181 mov ax, strict word 00004h ; b8 04 00 … … 6279 6279 mov word [bp+016h], bx ; 89 5e 16 6280 6280 jmp near 044ffh ; e9 33 ff 6281 mov bx, 00da 6h ; bb a60d6281 mov bx, 00da4h ; bb a4 0d 6282 6282 mov cx, ds ; 8c d9 6283 6283 mov ax, strict word 00004h ; b8 04 00 … … 6403 6403 mov word [bp+016h], strict word 00007h ; c7 46 16 07 00 6404 6404 jmp near 04b9ah ; e9 49 04 6405 mov bx, 00da 6h ; bb a60d6405 mov bx, 00da4h ; bb a4 0d 6406 6406 mov cx, ds ; 8c d9 6407 6407 mov ax, strict word 00004h ; b8 04 00 … … 6461 6461 mov dx, ss ; 8c d2 6462 6462 lea ax, [bp-02eh] ; 8d 46 d2 6463 call 0a0 70h ; e8 7e 586463 call 0a080h ; e8 8e 58 6464 6464 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 6465 6465 mov ax, word [bp-014h] ; 8b 46 ec … … 6518 6518 cmp byte [bp-016h], 000h ; 80 7e ea 00 6519 6519 je short 048deh ; 74 57 6520 mov bx, 00da 6h ; bb a60d6520 mov bx, 00da4h ; bb a4 0d 6521 6521 mov cx, ds ; 8c d9 6522 6522 mov ax, strict word 00004h ; b8 04 00 … … 6828 6828 je short 04c38h ; 74 27 6829 6829 mov dx, strict word 00001h ; ba 01 00 6830 mov bx, 00da 6h ; bb a60d6830 mov bx, 00da4h ; bb a4 0d 6831 6831 mov cx, ds ; 8c d9 6832 6832 mov ax, strict word 00004h ; b8 04 00 … … 6835 6835 mov dx, strict word 0000ah ; ba 0a 00 6836 6836 imul dx ; f7 ea 6837 add ax, 00dc ch ; 05 cc0d6837 add ax, 00dcah ; 05 ca 0d 6838 6838 push ax ; 50 6839 6839 mov ax, 00494h ; b8 94 04 … … 6858 6858 test al, al ; 84 c0 6859 6859 je short 04c70h ; 74 1f 6860 mov bx, 00da 6h ; bb a60d6860 mov bx, 00da4h ; bb a4 0d 6861 6861 mov cx, ds ; 8c d9 6862 6862 mov ax, strict word 00004h ; b8 04 00 6863 6863 call 01933h ; e8 d7 cc 6864 mov cx, 00d e0h ; b9 e00d6864 mov cx, 00ddeh ; b9 de 0d 6865 6865 push cx ; 51 6866 6866 mov cx, 004a8h ; b9 a8 04 … … 6873 6873 test dl, dl ; 84 d2 6874 6874 je short 04c84h ; 74 10 6875 mov bx, 00da 6h ; bb a60d6875 mov bx, 00da4h ; bb a4 0d 6876 6876 mov cx, ds ; 8c d9 6877 6877 mov ax, strict word 00004h ; b8 04 00 6878 6878 call 01933h ; e8 b4 cc 6879 mov cx, 00de ah ; b9 ea0d6879 mov cx, 00de8h ; b9 e8 0d 6880 6880 jmp short 04c5fh ; eb db 6881 6881 test bl, 080h ; f6 c3 80 6882 6882 je short 04c9ah ; 74 11 6883 mov bx, 00da 6h ; bb a60d6883 mov bx, 00da4h ; bb a4 0d 6884 6884 mov cx, ds ; 8c d9 6885 6885 mov ax, strict word 00004h ; b8 04 00 6886 6886 call 01933h ; e8 9f cc 6887 6887 push si ; 56 6888 mov cx, 00dd 6h ; b9 d60d6888 mov cx, 00dd4h ; b9 d4 0d 6889 6889 jmp short 04ca9h ; eb 0f 6890 mov bx, 00da 6h ; bb a60d6890 mov bx, 00da4h ; bb a4 0d 6891 6891 mov cx, ds ; 8c d9 6892 6892 mov ax, strict word 00004h ; b8 04 00 6893 6893 call 01933h ; e8 8e cc 6894 6894 push si ; 56 6895 mov cx, 00dc ch ; b9 cc0d6895 mov cx, 00dcah ; b9 ca 0d 6896 6896 push cx ; 51 6897 6897 mov cx, 004bdh ; b9 bd 04 … … 6924 6924 push dx ; 52 6925 6925 mov dx, ax ; 89 c2 6926 mov bx, 00da 6h ; bb a60d6926 mov bx, 00da4h ; bb a4 0d 6927 6927 mov cx, ds ; 8c d9 6928 6928 mov ax, strict word 00004h ; b8 04 00 … … 6993 6993 mov CL, strict byte 004h ; b1 04 6994 6994 sar ax, CL ; d3 f8 6995 call 07d 8fh ; e8 07306995 call 07d94h ; e8 0c 30 6996 6996 cmp byte [bp+004h], 002h ; 80 7e 04 02 6997 6997 jne short 04d93h ; 75 05 … … 7014 7014 mov byte [bp-008h], al ; 88 46 f8 7015 7015 mov byte [bp-00ah], al ; 88 46 f6 7016 mov bx, 00da 6h ; bb a60d7016 mov bx, 00da4h ; bb a4 0d 7017 7017 mov cx, ds ; 8c d9 7018 7018 mov ax, strict word 00004h ; b8 04 00 … … 7516 7516 out DX, AL ; ee 7517 7517 xor ax, ax ; 31 c0 7518 call 06 6ffh ; e8 ef147518 call 06704h ; e8 f4 14 7519 7519 mov sp, bp ; 89 ec 7520 7520 pop bp ; 5d … … 7616 7616 test al, al ; 84 c0 7617 7617 jne short 052dfh ; 75 1c 7618 mov bx, 00da 6h ; bb a60d7618 mov bx, 00da4h ; bb a4 0d 7619 7619 mov cx, ds ; 8c d9 7620 7620 mov ax, strict word 00004h ; b8 04 00 … … 7968 7968 cmp byte [bp-004h], 058h ; 80 7e fc 58 7969 7969 jbe short 05675h ; 76 22 7970 mov bx, 00da 6h ; bb a60d7970 mov bx, 00da4h ; bb a4 0d 7971 7971 mov cx, ds ; 8c d9 7972 7972 mov ax, strict word 00004h ; b8 04 00 … … 7990 7990 imul bx ; f7 eb 7991 7991 mov bx, ax ; 89 c3 7992 mov al, byte [bx+00df ah] ; 8a 87 fa0d7992 mov al, byte [bx+00df8h] ; 8a 87 f8 0d 7993 7993 mov byte [bp-012h], al ; 88 46 ee 7994 mov al, byte [bx+00df bh] ; 8a 87 fb0d7994 mov al, byte [bx+00df9h] ; 8a 87 f9 0d 7995 7995 jmp near 05748h ; e9 b2 00 7996 7996 test AL, strict byte 004h ; a8 04 … … 8001 8001 imul dx ; f7 ea 8002 8002 mov bx, ax ; 89 c3 8003 mov al, byte [bx+00df 8h] ; 8a 87 f80d8003 mov al, byte [bx+00df6h] ; 8a 87 f6 0d 8004 8004 mov byte [bp-012h], al ; 88 46 ee 8005 mov al, byte [bx+00df 9h] ; 8a 87 f90d8005 mov al, byte [bx+00df7h] ; 8a 87 f7 0d 8006 8006 jmp near 05748h ; e9 94 00 8007 8007 mov al, byte [bp-010h] ; 8a 46 f0 … … 8027 8027 imul dx ; f7 ea 8028 8028 mov bx, ax ; 89 c3 8029 mov al, byte [bx+00df ch] ; 8a 87 fc0d8029 mov al, byte [bx+00dfah] ; 8a 87 fa 0d 8030 8030 xor ah, ah ; 30 e4 8031 8031 mov dx, ax ; 89 c2 … … 8033 8033 test ax, dx ; 85 d0 8034 8034 je short 05705h ; 74 0d 8035 mov al, byte [bx+00df2h] ; 8a 87 f2 0d 8036 mov byte [bp-012h], al ; 88 46 ee 8037 mov al, byte [bx+00df3h] ; 8a 87 f3 0d 8038 jmp short 05710h ; eb 0b 8035 8039 mov al, byte [bx+00df4h] ; 8a 87 f4 0d 8036 8040 mov byte [bp-012h], al ; 88 46 ee 8037 8041 mov al, byte [bx+00df5h] ; 8a 87 f5 0d 8038 jmp short 05710h ; eb 0b8039 mov al, byte [bx+00df6h] ; 8a 87 f6 0d8040 mov byte [bp-012h], al ; 88 46 ee8041 mov al, byte [bx+00df7h] ; 8a 87 f7 0d8042 8042 mov byte [bp-004h], al ; 88 46 fc 8043 8043 jmp short 0574bh ; eb 36 … … 8047 8047 imul bx ; f7 eb 8048 8048 mov bx, ax ; 89 c3 8049 mov al, byte [bx+00df ch] ; 8a 87 fc0d8049 mov al, byte [bx+00dfah] ; 8a 87 fa 0d 8050 8050 xor ah, ah ; 30 e4 8051 8051 mov dx, ax ; 89 c2 … … 8053 8053 test ax, dx ; 85 d0 8054 8054 je short 0573dh ; 74 0d 8055 mov al, byte [bx+00df6h] ; 8a 87 f6 0d8056 mov byte [bp-012h], al ; 88 46 ee8057 mov al, byte [bx+00df7h] ; 8a 87 f7 0d8058 jmp short 05748h ; eb 0b8059 8055 mov al, byte [bx+00df4h] ; 8a 87 f4 0d 8060 8056 mov byte [bp-012h], al ; 88 46 ee 8061 8057 mov al, byte [bx+00df5h] ; 8a 87 f5 0d 8058 jmp short 05748h ; eb 0b 8059 mov al, byte [bx+00df2h] ; 8a 87 f2 0d 8060 mov byte [bp-012h], al ; 88 46 ee 8061 mov al, byte [bx+00df3h] ; 8a 87 f3 0d 8062 8062 mov byte [bp-004h], al ; 88 46 fc 8063 8063 cmp byte [bp-004h], 000h ; 80 7e fc 00 … … 8065 8065 cmp byte [bp-012h], 000h ; 80 7e ee 00 8066 8066 jne short 05770h ; 75 19 8067 mov bx, 00da 6h ; bb a60d8067 mov bx, 00da4h ; bb a4 0d 8068 8068 mov cx, ds ; 8c d9 8069 8069 mov ax, strict word 00004h ; b8 04 00 … … 8269 8269 mov word [bp+012h], ax ; 89 46 12 8270 8270 jmp near 05963h ; e9 4a 00 8271 mov bx, 00da 6h ; bb a60d8271 mov bx, 00da4h ; bb a4 0d 8272 8272 mov cx, ds ; 8c d9 8273 8273 mov ax, strict word 00004h ; b8 04 00 … … 8283 8283 call 01976h ; e8 3f c0 8284 8284 add sp, strict byte 00006h ; 83 c4 06 8285 mov bx, 00da 6h ; bb a60d8285 mov bx, 00da4h ; bb a4 0d 8286 8286 mov cx, ds ; 8c d9 8287 8287 mov ax, strict word 00004h ; b8 04 00 … … 8495 8495 mov dx, word [bp+00ch] ; 8b 56 0c 8496 8496 mov si, strict word 00020h ; be 20 00 8497 call 0a0 50h ; e8 18 458497 call 0a060h ; e8 28 45 8498 8498 test ax, ax ; 85 c0 8499 8499 jne short 05b48h ; 75 0c … … 8533 8533 mov bx, strict word 0003fh ; bb 3f 00 8534 8534 xor cx, cx ; 31 c9 8535 call 0a0 00h ; e8 6f 448535 call 0a010h ; e8 7f 44 8536 8536 mov bx, ax ; 89 c3 8537 8537 mov cx, dx ; 89 d1 8538 8538 mov ax, word [bp-004h] ; 8b 46 fc 8539 8539 mov dx, si ; 89 f2 8540 call 0a0 20h ; e8 83 448540 call 0a030h ; e8 93 44 8541 8541 mov word [es:di+002h], ax ; 26 89 45 02 8542 8542 cmp ax, 00400h ; 3d 00 04 … … 8677 8677 test ax, ax ; 85 c0 8678 8678 jne short 05d14h ; 75 29 8679 mov bx, 00da 6h ; bb a60d8679 mov bx, 00da4h ; bb a4 0d 8680 8680 mov cx, ds ; 8c d9 8681 8681 mov ax, strict word 00004h ; b8 04 00 … … 8711 8711 cmp di, dx ; 39 d7 8712 8712 jbe short 05d73h ; 76 31 8713 mov bx, 00da 6h ; bb a60d8713 mov bx, 00da4h ; bb a4 0d 8714 8714 mov cx, ds ; 8c d9 8715 8715 mov ax, strict word 00004h ; b8 04 00 … … 8755 8755 mov bx, cx ; 89 cb 8756 8756 xor cx, cx ; 31 c9 8757 call 0a0 00h ; e8 4e 428757 call 0a010h ; e8 5e 42 8758 8758 xor bx, bx ; 31 db 8759 8759 add ax, word [bp-00ch] ; 03 46 f4 … … 8761 8761 mov bx, word [bp-010h] ; 8b 5e f0 8762 8762 xor cx, cx ; 31 c9 8763 call 0a0 00h ; e8 3f 428763 call 0a010h ; e8 4f 42 8764 8764 xor bx, bx ; 31 db 8765 8765 add ax, di ; 01 f8 … … 8819 8819 test dl, dl ; 84 d2 8820 8820 je short 05ebch ; 74 4a 8821 mov bx, 00da 6h ; bb a60d8821 mov bx, 00da4h ; bb a4 0d 8822 8822 mov cx, ds ; 8c d9 8823 8823 mov ax, strict word 00004h ; b8 04 00 … … 8840 8840 or ah, 00ch ; 80 cc 0c 8841 8841 jmp near 06002h ; e9 5f 01 8842 mov bx, 00da 6h ; bb a60d8842 mov bx, 00da4h ; bb a4 0d 8843 8843 mov cx, ds ; 8c d9 8844 8844 mov ax, strict word 00004h ; b8 04 00 … … 8935 8935 mov bx, word [bp-00ch] ; 8b 5e f4 8936 8936 xor cx, cx ; 31 c9 8937 call 0a0 00h ; e8 68 408937 call 0a010h ; e8 78 40 8938 8938 mov bx, di ; 89 fb 8939 8939 xor cx, cx ; 31 c9 8940 call 0a0 00h ; e8 61 408940 call 0a010h ; e8 71 40 8941 8941 mov word [bp-008h], ax ; 89 46 f8 8942 8942 mov word [bp-006h], dx ; 89 56 fa … … 8948 8948 mov word [bp+016h], ax ; 89 46 16 8949 8949 jmp near 05ec0h ; e9 07 ff 8950 mov bx, 00da 6h ; bb a60d8950 mov bx, 00da4h ; bb a4 0d 8951 8951 mov cx, ds ; 8c d9 8952 8952 mov ax, strict word 00004h ; b8 04 00 … … 8964 8964 add sp, strict byte 00008h ; 83 c4 08 8965 8965 jmp near 05ebch ; e9 dd fe 8966 mov bx, 00da 6h ; bb a60d8966 mov bx, 00da4h ; bb a4 0d 8967 8967 mov cx, ds ; 8c d9 8968 8968 mov ax, strict word 00004h ; b8 04 00 … … 9078 9078 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 9079 9079 jmp near 0651dh ; e9 31 04 9080 mov bx, 00da 6h ; bb a60d9080 mov bx, 00da4h ; bb a4 0d 9081 9081 mov cx, ds ; 8c d9 9082 9082 mov ax, strict word 00004h ; b8 04 00 … … 9104 9104 xor bx, bx ; 31 db 9105 9105 mov si, strict word 00020h ; be 20 00 9106 call 0a0 60h ; e8 26 3f9106 call 0a070h ; e8 36 3f 9107 9107 mov word [bp-00eh], ax ; 89 46 f2 9108 9108 mov word [bp-010h], bx ; 89 5e f0 … … 9134 9134 cmp si, word [es:bx+036h] ; 26 3b 77 36 9135 9135 jc short 061b2h ; 72 26 9136 mov bx, 00da 6h ; bb a60d9136 mov bx, 00da4h ; bb a4 0d 9137 9137 mov cx, ds ; 8c d9 9138 9138 mov ax, strict word 00004h ; b8 04 00 … … 9196 9196 test dl, dl ; 84 d2 9197 9197 je short 062a0h ; 74 54 9198 mov bx, 00da 6h ; bb a60d9198 mov bx, 00da4h ; bb a4 0d 9199 9199 mov cx, ds ; 8c d9 9200 9200 mov ax, strict word 00004h ; b8 04 00 … … 9269 9269 mov dx, si ; 89 f2 9270 9270 mov si, strict word 00020h ; be 20 00 9271 call 0a0 50h ; e8 1f 3d9271 call 0a060h ; e8 2f 3d 9272 9272 mov bx, di ; 89 fb 9273 9273 mov word [es:bx+014h], dx ; 26 89 57 14 … … 9456 9456 or byte [bp+01ch], 001h ; 80 4e 1c 01 9457 9457 jmp short 0652ch ; eb c7 9458 _int14_function: ; 0xf6565 LB 0x15 79458 _int14_function: ; 0xf6565 LB 0x15c 9459 9459 push bp ; 55 9460 9460 mov bp, sp ; 89 e5 … … 9476 9476 test si, si ; 85 f6 9477 9477 jnbe short 06594h ; 77 03 9478 jmp near 066b 2h ; e9 1e019478 jmp near 066b7h ; e9 23 01 9479 9479 mov al, byte [bp+013h] ; 8a 46 13 9480 9480 cmp AL, strict byte 001h ; 3c 01 9481 9481 jc short 065a8h ; 72 0d 9482 jbe short 0660 3h ; 76 669482 jbe short 06608h ; 76 6b 9483 9483 cmp AL, strict byte 003h ; 3c 03 9484 je short 06 5fbh ; 74 5a9484 je short 06600h ; 74 5f 9485 9485 cmp AL, strict byte 002h ; 3c 02 9486 je short 06 5feh ; 74 599487 jmp near 066 ach ; e9 04019486 je short 06603h ; 74 5e 9487 jmp near 066b1h ; e9 09 01 9488 9488 test al, al ; 84 c0 9489 jne short 0660 0h ; 75 549489 jne short 06605h ; 75 59 9490 9490 lea dx, [bx+003h] ; 8d 57 03 9491 9491 in AL, DX ; ec … … 9494 9494 or AL, strict byte 080h ; 0c 80 9495 9495 out DX, AL ; ee 9496 lea si, [bx+001h] ; 8d 77 01 9496 9497 mov al, byte [bp+012h] ; 8a 46 12 9498 test AL, strict byte 0e0h ; a8 e0 9499 jne short 065cbh ; 75 0c 9500 mov AL, strict byte 017h ; b0 17 9501 mov dx, bx ; 89 da 9502 out DX, AL ; ee 9503 mov AL, strict byte 004h ; b0 04 9504 mov dx, si ; 89 f2 9505 out DX, AL ; ee 9506 jmp short 065e2h ; eb 17 9497 9507 and AL, strict byte 0e0h ; 24 e0 9498 9508 xor ah, ah ; 30 e4 … … 9505 9515 out DX, AL ; ee 9506 9516 mov al, ah ; 88 e0 9507 lea dx, [bx+001h] ; 8d 57 019517 mov dx, si ; 89 f2 9508 9518 out DX, AL ; ee 9509 9519 mov al, byte [bp+012h] ; 8a 46 12 … … 9521 9531 ; sub ah, ah ; 2a e4 9522 9532 mov byte [bp+012h], al ; 88 46 12 9523 jmp near 0668dh ; e9 9f 00 9524 mov AL, strict byte 017h ; b0 17 9525 mov dx, bx ; 89 da 9526 out DX, AL ; ee 9527 lea dx, [bx+001h] ; 8d 57 01 9528 mov AL, strict byte 004h ; b0 04 9529 out DX, AL ; ee 9530 jmp short 065d0h ; eb d5 9531 jmp near 0669bh ; e9 9d 00 9532 jmp short 06651h ; eb 51 9533 jmp near 066ach ; e9 a9 00 9533 jmp near 06692h ; e9 92 00 9534 jmp near 066a0h ; e9 9d 00 9535 jmp short 06656h ; eb 51 9536 jmp near 066b1h ; e9 a9 00 9534 9537 mov dx, strict word 0006ch ; ba 6c 00 9535 9538 mov ax, strict word 00040h ; b8 40 00 9536 call 0166eh ; e8 62b09539 call 0166eh ; e8 5d b0 9537 9540 mov si, ax ; 89 c6 9538 9541 lea dx, [bx+005h] ; 8d 57 05 … … 9542 9545 and ax, strict word 00060h ; 25 60 00 9543 9546 cmp ax, strict word 00060h ; 3d 60 00 9544 je short 0663 3h ; 74 179547 je short 06638h ; 74 17 9545 9548 test cl, cl ; 84 c9 9546 je short 0663 3h ; 74 139549 je short 06638h ; 74 13 9547 9550 mov dx, strict word 0006ch ; ba 6c 00 9548 9551 mov ax, strict word 00040h ; b8 40 00 9549 call 0166eh ; e8 4 5b09552 call 0166eh ; e8 40 b0 9550 9553 cmp ax, si ; 39 f0 9551 je short 066 0eh ; 74 e19554 je short 06613h ; 74 e1 9552 9555 mov si, ax ; 89 c6 9553 9556 db 0feh, 0c9h 9554 9557 ; dec cl ; fe c9 9555 jmp short 066 0eh ; eb db9558 jmp short 06613h ; eb db 9556 9559 test cl, cl ; 84 c9 9557 je short 066 3dh ; 74 069560 je short 06642h ; 74 06 9558 9561 mov al, byte [bp+012h] ; 8a 46 12 9559 9562 mov dx, bx ; 89 da … … 9565 9568 mov byte [bp+013h], al ; 88 46 13 9566 9569 test cl, cl ; 84 c9 9567 jne short 066 8dh ; 75 439570 jne short 06692h ; 75 43 9568 9571 or AL, strict byte 080h ; 0c 80 9569 9572 mov byte [bp+013h], al ; 88 46 13 9570 jmp short 066 8dh ; eb 3c9573 jmp short 06692h ; eb 3c 9571 9574 mov dx, strict word 0006ch ; ba 6c 00 9572 9575 mov ax, strict word 00040h ; b8 40 00 9573 call 0166eh ; e8 14b09576 call 0166eh ; e8 0f b0 9574 9577 mov si, ax ; 89 c6 9575 9578 lea dx, [bx+005h] ; 8d 57 05 … … 9578 9581 ; sub ah, ah ; 2a e4 9579 9582 test AL, strict byte 001h ; a8 01 9580 jne short 066 7dh ; 75 179583 jne short 06682h ; 75 17 9581 9584 test cl, cl ; 84 c9 9582 je short 066 7dh ; 74 139585 je short 06682h ; 74 13 9583 9586 mov dx, strict word 0006ch ; ba 6c 00 9584 9587 mov ax, strict word 00040h ; b8 40 00 9585 call 0166eh ; e8 f baf9588 call 0166eh ; e8 f6 af 9586 9589 cmp ax, si ; 39 f0 9587 je short 066 5ch ; 74 e59590 je short 06661h ; 74 e5 9588 9591 mov si, ax ; 89 c6 9589 9592 db 0feh, 0c9h 9590 9593 ; dec cl ; fe c9 9591 jmp short 066 5ch ; eb df9594 jmp short 06661h ; eb df 9592 9595 test cl, cl ; 84 c9 9593 je short 0669 3h ; 74 129596 je short 06698h ; 74 12 9594 9597 mov byte [bp+013h], 000h ; c6 46 13 00 9595 9598 mov dx, bx ; 89 da … … 9599 9602 mov byte [bp+012h], al ; 88 46 12 9600 9603 and byte [bp+01ch], 0feh ; 80 66 1c fe 9601 jmp short 066b 6h ; eb 239604 jmp short 066bbh ; eb 23 9602 9605 lea dx, [bx+005h] ; 8d 57 05 9603 9606 in AL, DX ; ec 9604 9607 db 02ah, 0e4h 9605 9608 ; sub ah, ah ; 2a e4 9606 jmp short 066 4ch ; eb b19609 jmp short 06651h ; eb b1 9607 9610 lea dx, [si+005h] ; 8d 54 05 9608 9611 in AL, DX ; ec … … 9614 9617 db 02ah, 0e4h 9615 9618 ; sub ah, ah ; 2a e4 9616 jmp short 0668 ah ; eb de9619 jmp short 0668fh ; eb de 9617 9620 or byte [bp+01ch], 001h ; 80 4e 1c 01 9618 jmp short 066b 6h ; eb 049621 jmp short 066bbh ; eb 04 9619 9622 or byte [bp+01ch], 001h ; 80 4e 1c 01 9620 9623 lea sp, [bp-002h] ; 8d 66 fe … … 9622 9625 pop bp ; 5d 9623 9626 retn ; c3 9624 timer_wait_: ; 0xf66 bcLB 0x439627 timer_wait_: ; 0xf66c1 LB 0x43 9625 9628 push bp ; 55 9626 9629 mov bp, sp ; 89 e5 … … 9630 9633 mov bx, strict word 0000fh ; bb 0f 00 9631 9634 xor cx, cx ; 31 c9 9632 call 0a0 20h ; e8 56399635 call 0a030h ; e8 61 39 9633 9636 mov cx, ax ; 89 c1 9634 9637 mov bx, dx ; 89 d3 … … 9642 9645 adc bx, strict byte 0ffffh ; 83 d3 ff 9643 9646 cmp bx, strict byte 0ffffh ; 83 fb ff 9644 jne short 066e 9h ; 75 059647 jne short 066eeh ; 75 05 9645 9648 cmp cx, strict byte 0ffffh ; 83 f9 ff 9646 je short 066f 8h ; 74 0f9649 je short 066fdh ; 74 0f 9647 9650 mov dx, strict word 00061h ; ba 61 00 9648 9651 in AL, DX ; ec … … 9651 9654 and AL, strict byte 010h ; 24 10 9652 9655 cmp al, byte [bp-006h] ; 3a 46 fa 9653 jne short 066e 9h ; 75 f39654 jmp short 066d 9h ; eb e19656 jne short 066eeh ; 75 f3 9657 jmp short 066deh ; eb e1 9655 9658 lea sp, [bp-004h] ; 8d 66 fc 9656 9659 pop cx ; 59 … … 9658 9661 pop bp ; 5d 9659 9662 retn ; c3 9660 set_enable_a20_: ; 0xf6 6ffLB 0x309663 set_enable_a20_: ; 0xf6704 LB 0x30 9661 9664 push bp ; 55 9662 9665 mov bp, sp ; 89 e5 … … 9671 9674 mov cl, al ; 88 c1 9672 9675 test bx, bx ; 85 db 9673 je short 0671 8h ; 74 059676 je short 0671dh ; 74 05 9674 9677 or AL, strict byte 002h ; 0c 02 9675 9678 out DX, AL ; ee 9676 jmp short 067 1bh ; eb 039679 jmp short 06720h ; eb 03 9677 9680 and AL, strict byte 0fdh ; 24 fd 9678 9681 out DX, AL ; ee 9679 9682 test cl, 002h ; f6 c1 02 9680 je short 0672 5h ; 74 059683 je short 0672ah ; 74 05 9681 9684 mov ax, strict word 00001h ; b8 01 00 9682 jmp short 0672 7h ; eb 029685 jmp short 0672ch ; eb 02 9683 9686 xor ax, ax ; 31 c0 9684 9687 lea sp, [bp-006h] ; 8d 66 fa … … 9688 9691 pop bp ; 5d 9689 9692 retn ; c3 9690 set_e820_range_: ; 0xf67 2fLB 0x889693 set_e820_range_: ; 0xf6734 LB 0x88 9691 9694 push si ; 56 9692 9695 push bp ; 55 … … 9718 9721 retn 0000ah ; c2 0a 00 9719 9722 db 0ech, 0e9h, 0d8h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 083h, 052h, 04fh, 041h, 024h, 000h 9720 db 0c 4h, 06ah, 0f3h, 067h, 007h, 068h, 0a3h, 068h, 0a9h, 068h, 0aeh, 068h, 0b3h, 068h, 05bh, 069h9721 db 0 7fh, 069h, 09ch, 068h, 09ch, 068h, 049h, 06ah, 074h, 06ah, 087h, 06ah, 096h, 06ah, 0a3h, 068h9722 db 0 9fh, 06ah9723 _int15_function: ; 0xf67b 7LB 0x3439723 db 0c9h, 06ah, 0f8h, 067h, 00ch, 068h, 0a8h, 068h, 0aeh, 068h, 0b3h, 068h, 0b8h, 068h, 060h, 069h 9724 db 084h, 069h, 0a1h, 068h, 0a1h, 068h, 04eh, 06ah, 079h, 06ah, 08ch, 06ah, 09bh, 06ah, 0a8h, 068h 9725 db 0a4h, 06ah 9726 _int15_function: ; 0xf67bc LB 0x343 9724 9727 push bp ; 55 9725 9728 mov bp, sp ; 89 e5 … … 9730 9733 mov dx, ax ; 89 c2 9731 9734 cmp ax, 000ech ; 3d ec 00 9732 jnbe short 06 7fdh ; 77 359735 jnbe short 06802h ; 77 35 9733 9736 push CS ; 0e 9734 9737 pop ES ; 07 9735 9738 mov cx, strict word 00011h ; b9 11 00 9736 mov di, 0678 5h ; bf 85679739 mov di, 0678ah ; bf 8a 67 9737 9740 repne scasb ; f2 ae 9738 9741 sal cx, 1 ; d1 e1 9739 9742 mov di, cx ; 89 cf 9740 mov si, word [cs:di+0679 5h] ; 2e 8b b5 95679743 mov si, word [cs:di+0679ah] ; 2e 8b b5 9a 67 9741 9744 mov ax, word [bp+012h] ; 8b 46 12 9742 9745 xor ah, ah ; 30 e4 … … 9751 9754 xor ah, ah ; 30 e4 9752 9755 cmp ax, 000c0h ; 3d c0 00 9753 je short 0680 0h ; 74 039754 jmp near 06ac 4h ; e9 c4 029756 je short 06805h ; 74 03 9757 jmp near 06ac9h ; e9 c4 02 9755 9758 or byte [bp+018h], 001h ; 80 4e 18 01 9756 jmp near 06a 6bh ; e9 64 029759 jmp near 06a70h ; e9 64 02 9757 9760 mov dx, ax ; 89 c2 9758 9761 cmp ax, strict word 00001h ; 3d 01 00 9759 jc short 068 1ch ; 72 0e9760 jbe short 0683 0h ; 76 209762 jc short 06821h ; 72 0e 9763 jbe short 06835h ; 76 20 9761 9764 cmp ax, strict word 00003h ; 3d 03 00 9762 je short 0686 1h ; 74 4c9765 je short 06866h ; 74 4c 9763 9766 cmp ax, strict word 00002h ; 3d 02 00 9764 je short 0684 0h ; 74 269765 jmp short 068 6eh ; eb 529767 je short 06845h ; 74 26 9768 jmp short 06873h ; eb 52 9766 9769 test ax, ax ; 85 c0 9767 jne short 068 6eh ; 75 4e9770 jne short 06873h ; 75 4e 9768 9771 xor ax, ax ; 31 c0 9769 call 06 6ffh ; e8 da fe9772 call 06704h ; e8 da fe 9770 9773 and byte [bp+018h], 0feh ; 80 66 18 fe 9771 9774 mov byte [bp+013h], 000h ; c6 46 13 00 9772 jmp near 068 9ch ; e9 6c 009775 jmp near 068a1h ; e9 6c 00 9773 9776 mov ax, strict word 00001h ; b8 01 00 9774 call 06 6ffh ; e8 c9 fe9777 call 06704h ; e8 c9 fe 9775 9778 and byte [bp+018h], 0feh ; 80 66 18 fe 9776 9779 mov byte [bp+013h], dh ; 88 76 13 9777 jmp near 068 9ch ; e9 5c 009780 jmp near 068a1h ; e9 5c 00 9778 9781 mov dx, 00092h ; ba 92 00 9779 9782 in AL, DX ; ec … … 9789 9792 xor al, dl ; 30 d0 9790 9793 mov byte [bp+013h], al ; 88 46 13 9791 jmp near 068 9ch ; e9 3b 009794 jmp near 068a1h ; e9 3b 00 9792 9795 and byte [bp+018h], 0feh ; 80 66 18 fe 9793 9796 mov byte [bp+013h], ah ; 88 66 13 9794 9797 mov word [bp+00ch], ax ; 89 46 0c 9795 jmp near 068 9ch ; e9 2e 009796 mov bx, 00da 6h ; bb a60d9798 jmp near 068a1h ; e9 2e 00 9799 mov bx, 00da4h ; bb a4 0d 9797 9800 mov cx, ds ; 8c d9 9798 9801 mov ax, strict word 00004h ; b8 04 00 9799 call 01933h ; e8 b ab09802 call 01933h ; e8 b5 b0 9800 9803 mov ax, word [bp+012h] ; 8b 46 12 9801 9804 xor ah, ah ; 30 e4 … … 9805 9808 mov ax, strict word 00004h ; b8 04 00 9806 9809 push ax ; 50 9807 call 01976h ; e8 e cb09810 call 01976h ; e8 e7 b0 9808 9811 add sp, strict byte 00006h ; 83 c4 06 9809 9812 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9818 9821 retn ; c3 9819 9822 mov word [bp+018h], dx ; 89 56 18 9820 jmp near 0695 5h ; e9 ac 009823 jmp near 0695ah ; e9 ac 00 9821 9824 mov word [bp+018h], dx ; 89 56 18 9822 jmp short 068 9ch ; eb ee9825 jmp short 068a1h ; eb ee 9823 9826 mov word [bp+018h], cx ; 89 4e 18 9824 jmp short 0689 9h ; eb e69827 jmp short 0689eh ; eb e6 9825 9828 test byte [bp+012h], 0ffh ; f6 46 12 ff 9826 jne short 0692 8h ; 75 6f9829 jne short 0692dh ; 75 6f 9827 9830 mov dx, 000a0h ; ba a0 00 9828 9831 mov ax, strict word 00040h ; b8 40 00 9829 call 01652h ; e8 90ad9832 call 01652h ; e8 8b ad 9830 9833 test AL, strict byte 001h ; a8 01 9831 jne short 0692 5h ; 75 5f9834 jne short 0692ah ; 75 5f 9832 9835 mov bx, strict word 00001h ; bb 01 00 9833 9836 mov dx, 000a0h ; ba a0 00 9834 9837 mov ax, strict word 00040h ; b8 40 00 9835 call 01660h ; e8 8 ead9838 call 01660h ; e8 89 ad 9836 9839 mov bx, word [bp+014h] ; 8b 5e 14 9837 9840 mov dx, 00098h ; ba 98 00 9838 9841 mov ax, strict word 00040h ; b8 40 00 9839 call 0167ch ; e8 9 ead9842 call 0167ch ; e8 99 ad 9840 9843 mov bx, word [bp+00ch] ; 8b 5e 0c 9841 9844 mov dx, 0009ah ; ba 9a 00 9842 9845 mov ax, strict word 00040h ; b8 40 00 9843 call 0167ch ; e8 92ad9846 call 0167ch ; e8 8d ad 9844 9847 mov bx, word [bp+00eh] ; 8b 5e 0e 9845 9848 mov dx, 0009ch ; ba 9c 00 9846 9849 mov ax, strict word 00040h ; b8 40 00 9847 call 0167ch ; e8 8 6ad9850 call 0167ch ; e8 81 ad 9848 9851 mov bx, word [bp+010h] ; 8b 5e 10 9849 9852 mov dx, 0009eh ; ba 9e 00 9850 9853 mov ax, strict word 00040h ; b8 40 00 9851 call 0167ch ; e8 7 aad9854 call 0167ch ; e8 75 ad 9852 9855 and byte [bp+018h], 0feh ; 80 66 18 fe 9853 9856 mov dx, 000a1h ; ba a1 00 … … 9858 9861 out DX, AL ; ee 9859 9862 mov ax, strict word 0000bh ; b8 0b 00 9860 call 016aeh ; e8 9 9ad9863 call 016aeh ; e8 94 ad 9861 9864 mov dl, al ; 88 c2 9862 9865 or dl, 040h ; 80 ca 40 9863 9866 xor dh, dh ; 30 f6 9864 9867 mov ax, strict word 0000bh ; b8 0b 00 9865 call 016c9h ; e8 a 7ad9866 jmp near 068 9ch ; e9 77 ff9867 jmp near 06a6 2h ; e9 3a 019868 call 016c9h ; e8 a2 ad 9869 jmp near 068a1h ; e9 77 ff 9870 jmp near 06a67h ; e9 3a 01 9868 9871 cmp ax, strict word 00001h ; 3d 01 00 9869 jne short 0694 9h ; 75 1c9872 jne short 0694eh ; 75 1c 9870 9873 xor bx, bx ; 31 db 9871 9874 mov dx, 000a0h ; ba a0 00 9872 9875 mov ax, strict word 00040h ; b8 40 00 9873 call 01660h ; e8 2 8ad9876 call 01660h ; e8 23 ad 9874 9877 and byte [bp+018h], 0feh ; 80 66 18 fe 9875 9878 mov ax, strict word 0000bh ; b8 0b 00 9876 call 016aeh ; e8 6 cad9879 call 016aeh ; e8 67 ad 9877 9880 mov dl, al ; 88 c2 9878 9881 and dl, 0bfh ; 80 e2 bf 9879 jmp short 0691 ah ; eb d19882 jmp short 0691fh ; eb d1 9880 9883 mov word [bp+018h], dx ; 89 56 18 9881 9884 mov ax, bx ; 89 d8 … … 9885 9888 or bx, ax ; 09 c3 9886 9889 mov word [bp+012h], bx ; 89 5e 12 9887 jmp near 068 9ch ; e9 41 ff9890 jmp near 068a1h ; e9 41 ff 9888 9891 mov ax, strict word 00031h ; b8 31 00 9889 call 016aeh ; e8 4 dad9892 call 016aeh ; e8 48 ad 9890 9893 mov dh, al ; 88 c6 9891 9894 mov ax, strict word 00030h ; b8 30 00 9892 call 016aeh ; e8 4 5ad9895 call 016aeh ; e8 40 ad 9893 9896 mov dl, al ; 88 c2 9894 9897 mov word [bp+012h], dx ; 89 56 12 9895 9898 cmp dx, strict byte 0ffc0h ; 83 fa c0 9896 jbe short 0697 8h ; 76 059899 jbe short 0697dh ; 76 05 9897 9900 mov word [bp+012h], strict word 0ffc0h ; c7 46 12 c0 ff 9898 9901 and byte [bp+018h], 0feh ; 80 66 18 fe 9899 jmp near 068 9ch ; e9 1d ff9902 jmp near 068a1h ; e9 1d ff 9900 9903 cli ; fa 9901 9904 mov ax, strict word 00001h ; b8 01 00 9902 call 06 6ffh ; e8 79 fd9905 call 06704h ; e8 79 fd 9903 9906 mov dx, word [bp+006h] ; 8b 56 06 9904 9907 add dx, strict byte 00038h ; 83 c2 38 9905 9908 mov ax, word [bp+014h] ; 8b 46 14 9906 9909 mov bx, strict word 0ffffh ; bb ff ff 9907 call 0167ch ; e8 e 7ac9910 call 0167ch ; e8 e2 ac 9908 9911 mov dx, word [bp+006h] ; 8b 56 06 9909 9912 add dx, strict byte 0003ah ; 83 c2 3a 9910 9913 mov ax, word [bp+014h] ; 8b 46 14 9911 9914 xor bx, bx ; 31 db 9912 call 0167ch ; e8 d 9ac9915 call 0167ch ; e8 d4 ac 9913 9916 mov dx, word [bp+006h] ; 8b 56 06 9914 9917 add dx, strict byte 0003ch ; 83 c2 3c 9915 9918 mov ax, word [bp+014h] ; 8b 46 14 9916 9919 mov bx, strict word 0000fh ; bb 0f 00 9917 call 01660h ; e8 a eac9920 call 01660h ; e8 a9 ac 9918 9921 mov dx, word [bp+006h] ; 8b 56 06 9919 9922 add dx, strict byte 0003dh ; 83 c2 3d 9920 9923 mov ax, word [bp+014h] ; 8b 46 14 9921 9924 mov bx, 0009bh ; bb 9b 00 9922 call 01660h ; e8 9 fac9925 call 01660h ; e8 9a ac 9923 9926 mov dx, word [bp+006h] ; 8b 56 06 9924 9927 add dx, strict byte 0003eh ; 83 c2 3e 9925 9928 mov ax, word [bp+014h] ; 8b 46 14 9926 9929 xor bx, bx ; 31 db 9927 call 0167ch ; e8 a dac9930 call 0167ch ; e8 a8 ac 9928 9931 mov AL, strict byte 011h ; b0 11 9929 9932 mov dx, strict word 00020h ; ba 20 00 … … 9954 9957 out DX, AL ; ee 9955 9958 mov si, word [bp+006h] ; 8b 76 06 9956 call 06a 0dh ; e8 00 009959 call 06a12h ; e8 00 00 9957 9960 pop di ; 5f 9958 9961 add di, strict byte 00018h ; 83 c7 18 … … 9982 9985 push cx ; 51 9983 9986 retf ; cb 9984 jmp near 068 9ch ; e9 53 fe9985 mov bx, 00da 6h ; bb a60d9987 jmp near 068a1h ; e9 53 fe 9988 mov bx, 00da4h ; bb a4 0d 9986 9989 mov cx, ds ; 8c d9 9987 9990 mov ax, strict word 00004h ; b8 04 00 9988 call 01933h ; e8 d fae9991 call 01933h ; e8 da ae 9989 9992 mov ax, 0086eh ; b8 6e 08 9990 9993 push ax ; 50 9991 9994 mov ax, strict word 00004h ; b8 04 00 9992 9995 push ax ; 50 9993 call 01976h ; e8 1 7af9996 call 01976h ; e8 12 af 9994 9997 add sp, strict byte 00004h ; 83 c4 04 9995 9998 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9998 10001 or ah, 086h ; 80 cc 86 9999 10002 mov word [bp+012h], ax ; 89 46 12 10000 jmp near 068 9ch ; e9 28 fe10003 jmp near 068a1h ; e9 28 fe 10001 10004 mov word [bp+018h], cx ; 89 4e 18 10002 10005 mov word [bp+012h], ax ; 89 46 12 10003 10006 mov word [bp+00ch], 0e6f5h ; c7 46 0c f5 e6 10004 10007 mov word [bp+014h], 0f000h ; c7 46 14 00 f0 10005 jmp near 068 9ch ; e9 15 fe10008 jmp near 068a1h ; e9 15 fe 10006 10009 mov dx, strict word 0000eh ; ba 0e 00 10007 10010 mov ax, strict word 00040h ; b8 40 00 10008 call 0166eh ; e8 d eab10011 call 0166eh ; e8 d9 ab 10009 10012 mov word [bp+014h], ax ; 89 46 14 10010 jmp near 0697 8h ; e9 e2 fe10013 jmp near 0697dh ; e9 e2 fe 10011 10014 mov ax, 0089dh ; b8 9d 08 10012 10015 push ax ; 50 10013 10016 mov ax, strict word 00008h ; b8 08 00 10014 jmp short 06a 5bh ; eb bc10017 jmp short 06a60h ; eb bc 10015 10018 test byte [bp+012h], 0ffh ; f6 46 12 ff 10016 jne short 06ac 4h ; 75 1f10019 jne short 06ac9h ; 75 1f 10017 10020 mov word [bp+012h], ax ; 89 46 12 10018 10021 mov ax, word [bp+00ch] ; 8b 46 0c 10019 10022 xor ah, ah ; 30 e4 10020 10023 cmp ax, strict word 00001h ; 3d 01 00 10021 jc short 06a bdh ; 72 0b10024 jc short 06ac2h ; 72 0b 10022 10025 cmp ax, strict word 00003h ; 3d 03 00 10023 jnbe short 06a bdh ; 77 0610026 jnbe short 06ac2h ; 77 06 10024 10027 mov word [bp+018h], cx ; 89 4e 18 10025 jmp near 068 9ch ; e9 df fd10028 jmp near 068a1h ; e9 df fd 10026 10029 or byte [bp+018h], 001h ; 80 4e 18 01 10027 jmp near 068 9ch ; e9 d8 fd10028 mov bx, 00da 6h ; bb a60d10030 jmp near 068a1h ; e9 d8 fd 10031 mov bx, 00da4h ; bb a4 0d 10029 10032 mov cx, ds ; 8c d9 10030 10033 mov ax, strict word 00004h ; b8 04 00 10031 call 01933h ; e8 64ae10034 call 01933h ; e8 5f ae 10032 10035 push word [bp+00ch] ; ff 76 0c 10033 10036 push word [bp+012h] ; ff 76 12 … … 10036 10039 mov ax, strict word 00004h ; b8 04 00 10037 10040 push ax ; 50 10038 call 01976h ; e8 9 6ae10041 call 01976h ; e8 91 ae 10039 10042 add sp, strict byte 00008h ; 83 c4 08 10040 jmp near 06a6 2h ; e9 7c ff10041 arpl [si-073h], bp ; 63 6c 8d10043 jmp near 06a67h ; e9 7c ff 10044 push 0926ch ; 68 6c 92 10042 10045 insb ; 6c 10043 in ax, 06ch ; e5 6c 10044 or ch, byte [di+02ah] ; 0a 6d 2a 10046 jmp far 02f6dh:00f6ch ; ea 6c 0f 6d 2f 10045 10047 insw ; 6d 10046 dec cx ; 4910048 dec si ; 4e 10047 10049 insw ; 6d 10048 outsw ; 6f 10049 insw ; 6d 10050 xchg bp, ax ; 95 10051 insw ; 6d 10052 shr byte [di+006h], CL ; d2 6d 06 10050 je short 06b66h ; 74 6d 10051 call far 00b6dh:0d76dh ; 9a 6d d7 6d 0b 10053 10052 outsb ; 6e 10054 _int15_function32: ; 0xf6af aLB 0x39e10053 _int15_function32: ; 0xf6aff LB 0x39e 10055 10054 push bp ; 55 10056 10055 mov bp, sp ; 89 e5 … … 10064 10063 xor dh, dh ; 30 f6 10065 10064 cmp ax, 000e8h ; 3d e8 00 10066 je short 06b6 0h ; 74 4a10065 je short 06b65h ; 74 4a 10067 10066 cmp ax, 000d0h ; 3d d0 00 10068 je short 06b 2dh ; 74 1210067 je short 06b32h ; 74 12 10069 10068 cmp ax, 00086h ; 3d 86 00 10070 jne short 06b 5eh ; 75 3e10069 jne short 06b63h ; 75 3e 10071 10070 sti ; fb 10072 10071 mov dx, word [bp+01ch] ; 8b 56 1c 10073 10072 mov ax, word [bp+018h] ; 8b 46 18 10074 call 066 bch ; e8 92 fb10075 jmp near 06c dfh ; e9 b2 0110073 call 066c1h ; e8 92 fb 10074 jmp near 06ce4h ; e9 b2 01 10076 10075 cmp dx, strict byte 0004fh ; 83 fa 4f 10077 jne short 06b 5eh ; 75 2c10076 jne short 06b63h ; 75 2c 10078 10077 cmp word [bp+016h], 05052h ; 81 7e 16 52 50 10079 jne short 06b9 4h ; 75 5b10078 jne short 06b99h ; 75 5b 10080 10079 cmp word [bp+014h], 04f43h ; 81 7e 14 43 4f 10081 jne short 06b9 4h ; 75 5410080 jne short 06b99h ; 75 54 10082 10081 cmp word [bp+01eh], 04d4fh ; 81 7e 1e 4f 4d 10083 jne short 06b9 4h ; 75 4d10082 jne short 06b99h ; 75 4d 10084 10083 cmp word [bp+01ch], 04445h ; 81 7e 1c 45 44 10085 jne short 06b9 4h ; 75 4610084 jne short 06b99h ; 75 46 10086 10085 mov ax, word [bp+00ah] ; 8b 46 0a 10087 10086 or ax, word [bp+008h] ; 0b 46 08 10088 jne short 06b9 4h ; 75 3e10087 jne short 06b99h ; 75 3e 10089 10088 mov ax, word [bp+006h] ; 8b 46 06 10090 10089 or ax, word [bp+004h] ; 0b 46 04 10091 je short 06b6 2h ; 74 0410092 jmp short 06b9 4h ; eb 3410093 jmp short 06b8 ah ; eb 2810090 je short 06b67h ; 74 04 10091 jmp short 06b99h ; eb 34 10092 jmp short 06b8fh ; eb 28 10094 10093 mov word [bp+028h], bx ; 89 5e 28 10095 10094 mov ax, word [bp+014h] ; 8b 46 14 … … 10103 10102 mov word [bp+020h], 03332h ; c7 46 20 32 33 10104 10103 mov word [bp+022h], 04941h ; c7 46 22 41 49 10105 jmp near 06c dfh ; e9 55 0110104 jmp near 06ce4h ; e9 55 01 10106 10105 cmp dx, strict byte 00020h ; 83 fa 20 10107 je short 06b9 ah ; 74 0b10106 je short 06b9fh ; 74 0b 10108 10107 cmp dx, strict byte 00001h ; 83 fa 01 10109 je short 06b9 7h ; 74 0310110 jmp near 06cb 2h ; e9 1b 0110111 jmp near 06e5 8h ; e9 be 0210108 je short 06b9ch ; 74 03 10109 jmp near 06cb7h ; e9 1b 01 10110 jmp near 06e5dh ; e9 be 02 10112 10111 cmp word [bp+01ah], 0534dh ; 81 7e 1a 4d 53 10113 jne short 06b9 4h ; 75 f310112 jne short 06b99h ; 75 f3 10114 10113 cmp word [bp+018h], 04150h ; 81 7e 18 50 41 10115 jne short 06b9 4h ; 75 ec10114 jne short 06b99h ; 75 ec 10116 10115 mov ax, strict word 00035h ; b8 35 00 10117 call 016aeh ; e8 00 ab10116 call 016aeh ; e8 fb aa 10118 10117 mov bl, al ; 88 c3 10119 10118 xor bh, bh ; 30 ff … … 10122 10121 sal bx, 1 ; d1 e3 10123 10122 rcl dx, 1 ; d1 d2 10124 loop 06bb 7h ; e2 fa10123 loop 06bbch ; e2 fa 10125 10124 mov ax, strict word 00034h ; b8 34 00 10126 call 016aeh ; e8 e baa10125 call 016aeh ; e8 e6 aa 10127 10126 xor ah, ah ; 30 e4 10128 10127 mov dx, bx ; 89 da … … 10132 10131 adc dx, 00100h ; 81 d2 00 01 10133 10132 cmp dx, 00100h ; 81 fa 00 01 10134 jc short 06b ddh ; 72 0610135 jne short 06c 0bh ; 75 3210133 jc short 06be2h ; 72 06 10134 jne short 06c10h ; 75 32 10136 10135 test bx, bx ; 85 db 10137 jnbe short 06c 0bh ; 77 2e10136 jnbe short 06c10h ; 77 2e 10138 10137 mov ax, strict word 00031h ; b8 31 00 10139 call 016aeh ; e8 c baa10138 call 016aeh ; e8 c6 aa 10140 10139 mov bl, al ; 88 c3 10141 10140 xor bh, bh ; 30 ff … … 10144 10143 sal bx, 1 ; d1 e3 10145 10144 rcl dx, 1 ; d1 d2 10146 loop 06b ech ; e2 fa10145 loop 06bf1h ; e2 fa 10147 10146 mov ax, strict word 00030h ; b8 30 00 10148 call 016aeh ; e8 b 6aa10147 call 016aeh ; e8 b1 aa 10149 10148 xor ah, ah ; 30 e4 10150 10149 or bx, ax ; 09 c3 … … 10152 10151 sal bx, 1 ; d1 e3 10153 10152 rcl dx, 1 ; d1 d2 10154 loop 06 bffh ; e2 fa10153 loop 06c04h ; e2 fa 10155 10154 add bx, strict byte 00000h ; 83 c3 00 10156 10155 adc dx, strict byte 00010h ; 83 d2 10 10157 10156 mov ax, strict word 00062h ; b8 62 00 10158 call 016aeh ; e8 9 daa10157 call 016aeh ; e8 98 aa 10159 10158 xor ah, ah ; 30 e4 10160 10159 mov word [bp-00ah], ax ; 89 46 f6 … … 10164 10163 sal word [bp-00ah], 1 ; d1 66 f6 10165 10164 rcl word [bp-008h], 1 ; d1 56 f8 10166 loop 06c 1eh ; e2 f810165 loop 06c23h ; e2 f8 10167 10166 mov ax, strict word 00061h ; b8 61 00 10168 call 016aeh ; e8 82aa10167 call 016aeh ; e8 7d aa 10169 10168 xor ah, ah ; 30 e4 10170 10169 or word [bp-00ah], ax ; 09 46 f6 … … 10173 10172 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 10174 10173 mov ax, strict word 00063h ; b8 63 00 10175 call 016aeh ; e8 6 caa10174 call 016aeh ; e8 67 aa 10176 10175 mov byte [bp-004h], al ; 88 46 fc 10177 10176 mov byte [bp-006h], al ; 88 46 fa 10178 10177 mov ax, word [bp+014h] ; 8b 46 14 10179 10178 cmp ax, strict word 00009h ; 3d 09 00 10180 jnbe short 06cb 2h ; 77 6210179 jnbe short 06cb7h ; 77 62 10181 10180 mov si, ax ; 89 c6 10182 10181 sal si, 1 ; d1 e6 … … 10185 10184 mov cx, dx ; 89 d1 10186 10185 adc cx, strict byte 0ffffh ; 83 d1 ff 10187 jmp word [cs:si+06ae 6h] ; 2e ff a4 e66a10186 jmp word [cs:si+06aebh] ; 2e ff a4 eb 6a 10188 10187 mov ax, strict word 00001h ; b8 01 00 10189 10188 push ax ; 50 … … 10199 10198 xor bx, bx ; 31 db 10200 10199 xor cx, cx ; 31 c9 10201 call 067 2fh ; e8 af fa10200 call 06734h ; e8 af fa 10202 10201 mov word [bp+014h], strict word 00001h ; c7 46 14 01 00 10203 10202 mov word [bp+016h], strict word 00000h ; c7 46 16 00 00 10204 jmp near 06e 3dh ; e9 b0 0110203 jmp near 06e42h ; e9 b0 01 10205 10204 mov ax, strict word 00002h ; b8 02 00 10206 10205 push ax ; 50 … … 10216 10215 mov bx, 0fc00h ; bb 00 fc 10217 10216 mov cx, strict word 00009h ; b9 09 00 10218 call 067 2fh ; e8 84 fa10217 call 06734h ; e8 84 fa 10219 10218 mov word [bp+014h], strict word 00002h ; c7 46 14 02 00 10220 jmp short 06c8 5h ; eb d310221 mov bx, 00da 6h ; bb a60d10219 jmp short 06c8ah ; eb d3 10220 mov bx, 00da4h ; bb a4 0d 10222 10221 mov cx, ds ; 8c d9 10223 10222 mov ax, strict word 00004h ; b8 04 00 10224 call 01933h ; e8 7 6ac10223 call 01933h ; e8 71 ac 10225 10224 push word [bp+014h] ; ff 76 14 10226 10225 push word [bp+020h] ; ff 76 20 … … 10229 10228 mov ax, strict word 00004h ; b8 04 00 10230 10229 push ax ; 50 10231 call 01976h ; e8 a 8ac10230 call 01976h ; e8 a3 ac 10232 10231 add sp, strict byte 00008h ; 83 c4 08 10233 10232 or byte [bp+028h], 001h ; 80 4e 28 01 … … 10253 10252 xor bx, bx ; 31 db 10254 10253 mov cx, strict word 0000fh ; b9 0f 00 10255 call 067 2fh ; e8 2d fa10254 call 06734h ; e8 2d fa 10256 10255 mov word [bp+014h], strict word 00003h ; c7 46 14 03 00 10257 jmp near 06c8 5h ; e9 7b ff10256 jmp near 06c8ah ; e9 7b ff 10258 10257 mov dx, strict word 00001h ; ba 01 00 10259 10258 push dx ; 52 … … 10267 10266 xor bx, bx ; 31 db 10268 10267 mov cx, strict word 00010h ; b9 10 00 10269 call 067 2fh ; e8 0d fa10268 call 06734h ; e8 0d fa 10270 10269 mov word [bp+014h], strict word 00004h ; c7 46 14 04 00 10271 jmp near 06c8 5h ; e9 5b ff10270 jmp near 06c8ah ; e9 5b ff 10272 10271 mov si, strict word 00003h ; be 03 00 10273 10272 push si ; 56 … … 10281 10280 mov bx, ax ; 89 c3 10282 10281 mov ax, si ; 89 f0 10283 call 067 2fh ; e8 ee f910282 call 06734h ; e8 ee f9 10284 10283 mov word [bp+014h], strict word 00005h ; c7 46 14 05 00 10285 jmp near 06c8 5h ; e9 3c ff10284 jmp near 06c8ah ; e9 3c ff 10286 10285 mov ax, strict word 00002h ; b8 02 00 10287 10286 push ax ; 50 … … 10297 10296 xor bx, bx ; 31 db 10298 10297 mov cx, 0fec0h ; b9 c0 fe 10299 call 067 2fh ; e8 c8 f910298 call 06734h ; e8 c8 f9 10300 10299 mov word [bp+014h], strict word 00006h ; c7 46 14 06 00 10301 jmp near 06c8 5h ; e9 16 ff10300 jmp near 06c8ah ; e9 16 ff 10302 10301 mov ax, strict word 00002h ; b8 02 00 10303 10302 push ax ; 50 … … 10313 10312 xor bx, bx ; 31 db 10314 10313 mov cx, 0fee0h ; b9 e0 fe 10315 call 067 2fh ; e8 a2 f910314 call 06734h ; e8 a2 f9 10316 10315 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 10317 jmp near 06c8 5h ; e9 f0 fe10316 jmp near 06c8ah ; e9 f0 fe 10318 10317 mov ax, strict word 00002h ; b8 02 00 10319 10318 push ax ; 50 … … 10327 10326 xor bx, bx ; 31 db 10328 10327 mov cx, strict word 0fffch ; b9 fc ff 10329 call 067 2fh ; e8 82 f910328 call 06734h ; e8 82 f9 10330 10329 cmp byte [bp-004h], 000h ; 80 7e fc 00 10331 jne short 06db ah ; 75 0710330 jne short 06dbfh ; 75 07 10332 10331 mov ax, word [bp-008h] ; 8b 46 f8 10333 10332 test ax, ax ; 85 c0 10334 je short 06dc ah ; 74 1010333 je short 06dcfh ; 74 10 10335 10334 mov word [bp+014h], strict word 00009h ; c7 46 14 09 00 10336 jmp near 06c8 5h ; e9 c3 fe10335 jmp near 06c8ah ; e9 c3 fe 10337 10336 mov word [bp+014h], strict word 00008h ; c7 46 14 08 00 10338 jmp near 06c8 5h ; e9 bb fe10337 jmp near 06c8ah ; e9 bb fe 10339 10338 mov word [bp+014h], ax ; 89 46 14 10340 10339 mov word [bp+016h], ax ; 89 46 16 10341 jmp short 06e 3dh ; eb 6b10340 jmp short 06e42h ; eb 6b 10342 10341 mov ax, strict word 00002h ; b8 02 00 10343 10342 push ax ; 50 … … 10351 10350 xor bx, bx ; 31 db 10352 10351 xor cx, cx ; 31 c9 10353 call 067 2fh ; e8 46 f910352 call 06734h ; e8 46 f9 10354 10353 cmp byte [bp-004h], 000h ; 80 7e fc 00 10355 jne short 06df 6h ; 75 0710354 jne short 06dfbh ; 75 07 10356 10355 mov ax, word [bp-008h] ; 8b 46 f8 10357 10356 test ax, ax ; 85 c0 10358 je short 06 dfeh ; 74 0810357 je short 06e03h ; 74 08 10359 10358 mov word [bp+014h], strict word 00009h ; c7 46 14 09 00 10360 jmp near 06c8 5h ; e9 87 fe10359 jmp near 06c8ah ; e9 87 fe 10361 10360 mov word [bp+014h], ax ; 89 46 14 10362 10361 mov word [bp+016h], ax ; 89 46 16 10363 jmp short 06e 3dh ; eb 3710362 jmp short 06e42h ; eb 37 10364 10363 cmp byte [bp-004h], 000h ; 80 7e fc 00 10365 jne short 06e1 2h ; 75 0610364 jne short 06e17h ; 75 06 10366 10365 cmp word [bp-008h], strict byte 00000h ; 83 7e f8 00 10367 je short 06e 3dh ; 74 2b10366 je short 06e42h ; 74 2b 10368 10367 mov ax, strict word 00001h ; b8 01 00 10369 10368 push ax ; 50 … … 10381 10380 xor bx, bx ; 31 db 10382 10381 xor cx, cx ; 31 c9 10383 call 067 2fh ; e8 fa f810382 call 06734h ; e8 fa f8 10384 10383 xor ax, ax ; 31 c0 10385 10384 mov word [bp+014h], ax ; 89 46 14 … … 10390 10389 mov word [bp+01eh], strict word 00000h ; c7 46 1e 00 00 10391 10390 and byte [bp+028h], 0feh ; 80 66 28 fe 10392 jmp near 06c dfh ; e9 87 fe10391 jmp near 06ce4h ; e9 87 fe 10393 10392 mov word [bp+028h], bx ; 89 5e 28 10394 10393 mov ax, strict word 00031h ; b8 31 00 10395 call 016aeh ; e8 4 da810394 call 016aeh ; e8 48 a8 10396 10395 mov dh, al ; 88 c6 10397 10396 mov ax, strict word 00030h ; b8 30 00 10398 call 016aeh ; e8 4 5a810397 call 016aeh ; e8 40 a8 10399 10398 mov dl, al ; 88 c2 10400 10399 mov word [bp+01ch], dx ; 89 56 1c 10401 10400 cmp dx, 03c00h ; 81 fa 00 3c 10402 jbe short 06e7 9h ; 76 0510401 jbe short 06e7eh ; 76 05 10403 10402 mov word [bp+01ch], 03c00h ; c7 46 1c 00 3c 10404 10403 mov ax, strict word 00035h ; b8 35 00 10405 call 016aeh ; e8 2 fa810404 call 016aeh ; e8 2a a8 10406 10405 mov dh, al ; 88 c6 10407 10406 mov ax, strict word 00034h ; b8 34 00 10408 call 016aeh ; e8 2 7a810407 call 016aeh ; e8 22 a8 10409 10408 mov dl, al ; 88 c2 10410 10409 mov word [bp+018h], dx ; 89 56 18 … … 10412 10411 mov word [bp+020h], ax ; 89 46 20 10413 10412 mov word [bp+014h], dx ; 89 56 14 10414 jmp near 06c dfh ; e9 47 fe10415 _inv_op_handler: ; 0xf6e9 8LB 0x18f10413 jmp near 06ce4h ; e9 47 fe 10414 _inv_op_handler: ; 0xf6e9d LB 0x18f 10416 10415 push bp ; 55 10417 10416 mov bp, sp ; 89 e5 … … 10422 10421 les bx, [bp+018h] ; c4 5e 18 10423 10422 cmp byte [es:bx], 0f0h ; 26 80 3f f0 10424 jne short 06e aeh ; 75 0610423 jne short 06eb3h ; 75 06 10425 10424 inc word [bp+018h] ; ff 46 18 10426 jmp near 0702 0h ; e9 72 0110425 jmp near 07025h ; e9 72 01 10427 10426 cmp word [es:bx], 0050fh ; 26 81 3f 0f 05 10428 je short 06eb 8h ; 74 0310429 jmp near 070 1ch ; e9 64 0110427 je short 06ebdh ; 74 03 10428 jmp near 07021h ; e9 64 01 10430 10429 mov si, 00800h ; be 00 08 10431 10430 xor ax, ax ; 31 c0 … … 10456 10455 sal ax, 1 ; d1 e0 10457 10456 rcl dx, 1 ; d1 d2 10458 loop 06f0 9h ; e2 fa10457 loop 06f0eh ; e2 fa 10459 10458 cmp bx, dx ; 39 d3 10460 jne short 06f1 7h ; 75 0410459 jne short 06f1ch ; 75 04 10461 10460 cmp di, ax ; 39 c7 10462 je short 06f 1ch ; 74 0510461 je short 06f21h ; 74 05 10463 10462 mov word [bp-006h], strict word 00001h ; c7 46 fa 01 00 10464 10463 mov es, [bp-008h] ; 8e 46 f8 … … 10471 10470 sal ax, 1 ; d1 e0 10472 10471 rcl dx, 1 ; d1 d2 10473 loop 06f3 2h ; e2 fa10472 loop 06f37h ; e2 fa 10474 10473 cmp bx, dx ; 39 d3 10475 jne short 06f4 0h ; 75 0410474 jne short 06f45h ; 75 04 10476 10475 cmp di, ax ; 39 c7 10477 je short 06f4 4h ; 74 0410476 je short 06f49h ; 74 04 10478 10477 or byte [bp-006h], 002h ; 80 4e fa 02 10479 10478 xor ax, ax ; 31 c0 … … 10525 10524 mov ax, strict word 00008h ; b8 08 00 10526 10525 test cx, strict word 00001h ; f7 c1 01 00 10527 je near 06fd 9h ; 0f 84 02 0010526 je near 06fdeh ; 0f 84 02 00 10528 10527 mov es, ax ; 8e c0 10529 10528 test cx, strict word 00002h ; f7 c1 02 00 10530 je near 0700 1h ; 0f 84 20 0010529 je near 07006h ; 0f 84 20 00 10531 10530 mov bx, word [word ss:00000h] ; 36 8b 1e 00 00 10532 10531 mov word [word ss:00008h], bx ; 36 89 1e 08 00 … … 10545 10544 mov ss, [word ss:00020h] ; 36 8e 16 20 00 10546 10545 iret ; cf 10547 jmp short 0702 0h ; eb 0410546 jmp short 07025h ; eb 04 10548 10547 sti ; fb 10549 10548 hlt ; f4 10550 jmp short 070 1dh ; eb fd10549 jmp short 07022h ; eb fd 10551 10550 lea sp, [bp-004h] ; 8d 66 fc 10552 10551 pop di ; 5f … … 10554 10553 pop bp ; 5d 10555 10554 retn ; c3 10556 init_rtc_: ; 0xf702 7LB 0x2810555 init_rtc_: ; 0xf702c LB 0x28 10557 10556 push bp ; 55 10558 10557 mov bp, sp ; 89 e5 … … 10560 10559 mov dx, strict word 00026h ; ba 26 00 10561 10560 mov ax, strict word 0000ah ; b8 0a 00 10562 call 016c9h ; e8 9 5a610561 call 016c9h ; e8 90 a6 10563 10562 mov dx, strict word 00002h ; ba 02 00 10564 10563 mov ax, strict word 0000bh ; b8 0b 00 10565 call 016c9h ; e8 8 ca610564 call 016c9h ; e8 87 a6 10566 10565 mov ax, strict word 0000ch ; b8 0c 00 10567 call 016aeh ; e8 6 ba610566 call 016aeh ; e8 66 a6 10568 10567 mov ax, strict word 0000dh ; b8 0d 00 10569 call 016aeh ; e8 6 5a610568 call 016aeh ; e8 60 a6 10570 10569 lea sp, [bp-002h] ; 8d 66 fe 10571 10570 pop dx ; 5a 10572 10571 pop bp ; 5d 10573 10572 retn ; c3 10574 rtc_updating_: ; 0xf70 4fLB 0x2110573 rtc_updating_: ; 0xf7054 LB 0x21 10575 10574 push bp ; 55 10576 10575 mov bp, sp ; 89 e5 … … 10578 10577 mov dx, 061a8h ; ba a8 61 10579 10578 dec dx ; 4a 10580 je short 0706 7h ; 74 0e10579 je short 0706ch ; 74 0e 10581 10580 mov ax, strict word 0000ah ; b8 0a 00 10582 call 016aeh ; e8 4 fa610581 call 016aeh ; e8 4a a6 10583 10582 test AL, strict byte 080h ; a8 80 10584 jne short 0705 6h ; 75 f310583 jne short 0705bh ; 75 f3 10585 10584 xor ax, ax ; 31 c0 10586 jmp short 0706 ah ; eb 0310585 jmp short 0706fh ; eb 03 10587 10586 mov ax, strict word 00001h ; b8 01 00 10588 10587 lea sp, [bp-002h] ; 8d 66 fe … … 10590 10589 pop bp ; 5d 10591 10590 retn ; c3 10592 _int70_function: ; 0xf707 0LB 0xbf10591 _int70_function: ; 0xf7075 LB 0xbf 10593 10592 push bp ; 55 10594 10593 mov bp, sp ; 89 e5 … … 10596 10595 push ax ; 50 10597 10596 mov ax, strict word 0000bh ; b8 0b 00 10598 call 016aeh ; e8 33a610597 call 016aeh ; e8 2e a6 10599 10598 mov bl, al ; 88 c3 10600 10599 mov byte [bp-004h], al ; 88 46 fc 10601 10600 mov ax, strict word 0000ch ; b8 0c 00 10602 call 016aeh ; e8 2 8a610601 call 016aeh ; e8 23 a6 10603 10602 mov dl, al ; 88 c2 10604 10603 test bl, 060h ; f6 c3 60 10605 jne short 0709 0h ; 75 0310606 jmp near 0711 6h ; e9 86 0010604 jne short 07095h ; 75 03 10605 jmp near 0711bh ; e9 86 00 10607 10606 test AL, strict byte 020h ; a8 20 10608 je short 0709 8h ; 74 0410607 je short 0709dh ; 74 04 10609 10608 sti ; fb 10610 10609 int 04ah ; cd 4a 10611 10610 cli ; fa 10612 10611 test dl, 040h ; f6 c2 40 10613 je short 0710 0h ; 74 6310612 je short 07105h ; 74 63 10614 10613 mov dx, 000a0h ; ba a0 00 10615 10614 mov ax, strict word 00040h ; b8 40 00 10616 call 01652h ; e8 a ca510615 call 01652h ; e8 a7 a5 10617 10616 test al, al ; 84 c0 10618 je short 0711 6h ; 74 6c10617 je short 0711bh ; 74 6c 10619 10618 mov dx, 0009ch ; ba 9c 00 10620 10619 mov ax, strict word 00040h ; b8 40 00 10621 call 0168ah ; e8 d 7a510620 call 0168ah ; e8 d2 a5 10622 10621 test dx, dx ; 85 d2 10623 jne short 0710 2h ; 75 4b10622 jne short 07107h ; 75 4b 10624 10623 cmp ax, 003d1h ; 3d d1 03 10625 jnc short 0710 2h ; 73 4610624 jnc short 07107h ; 73 46 10626 10625 mov dx, 00098h ; ba 98 00 10627 10626 mov ax, strict word 00040h ; b8 40 00 10628 call 0166eh ; e8 a 9a510627 call 0166eh ; e8 a4 a5 10629 10628 mov si, ax ; 89 c6 10630 10629 mov dx, 0009ah ; ba 9a 00 10631 10630 mov ax, strict word 00040h ; b8 40 00 10632 call 0166eh ; e8 9 ea510631 call 0166eh ; e8 99 a5 10633 10632 mov cx, ax ; 89 c1 10634 10633 xor bx, bx ; 31 db 10635 10634 mov dx, 000a0h ; ba a0 00 10636 10635 mov ax, strict word 00040h ; b8 40 00 10637 call 01660h ; e8 83a510636 call 01660h ; e8 7e a5 10638 10637 mov dl, byte [bp-004h] ; 8a 56 fc 10639 10638 and dl, 037h ; 80 e2 37 10640 10639 xor dh, dh ; 30 f6 10641 10640 mov ax, strict word 0000bh ; b8 0b 00 10642 call 016c9h ; e8 d ea510641 call 016c9h ; e8 d9 a5 10643 10642 mov dx, cx ; 89 ca 10644 10643 mov ax, si ; 89 f0 10645 call 01652h ; e8 60a510644 call 01652h ; e8 5b a5 10646 10645 mov bl, al ; 88 c3 10647 10646 or bl, 080h ; 80 cb 80 … … 10649 10648 mov dx, cx ; 89 ca 10650 10649 mov ax, si ; 89 f0 10651 call 01660h ; e8 60a510652 jmp short 0711 6h ; eb 1410650 call 01660h ; e8 5b a5 10651 jmp short 0711bh ; eb 14 10653 10652 mov bx, ax ; 89 c3 10654 10653 add bx, 0fc2fh ; 81 c3 2f fc … … 10657 10656 mov dx, 0009ch ; ba 9c 00 10658 10657 mov ax, strict word 00040h ; b8 40 00 10659 call 0169ch ; e8 8 6a510660 call 0e030h ; e8 1 76f10658 call 0169ch ; e8 81 a5 10659 call 0e030h ; e8 12 6f 10661 10660 lea sp, [bp-002h] ; 8d 66 fe 10662 10661 pop si ; 5e 10663 10662 pop bp ; 5d 10664 10663 retn ; c3 10665 inc bp ; 4510666 jno short 071 8eh ; 71 6c10667 jno short 070b 5h ; 71 9110668 jno short 070f 3h ; 71 cd10669 jno short 071 47h ; 71 1f10670 jc short 0718 0h ; 72 5610671 jc short 070 c9h ; 72 9d10672 jc short 071 26h ; 72 f810664 dec dx ; 4a 10665 jno short 07198h ; 71 71 10666 jno short 070bfh ; 71 96 10667 jno short 070fdh ; 71 d2 10668 jno short 07151h ; 71 24 10669 jc short 0718ah ; 72 5b 10670 jc short 070d3h ; 72 a2 10671 jc short 07130h ; 72 fd 10673 10672 db 072h 10674 _int1a_function: ; 0xf71 2fLB 0x1d910673 _int1a_function: ; 0xf7134 LB 0x1d9 10675 10674 push bp ; 55 10676 10675 mov bp, sp ; 89 e5 … … 10678 10677 mov al, byte [bp+013h] ; 8a 46 13 10679 10678 cmp AL, strict byte 007h ; 3c 07 10680 jnbe short 0719 8h ; 77 5e10679 jnbe short 0719dh ; 77 5e 10681 10680 mov bl, al ; 88 c3 10682 10681 xor bh, bh ; 30 ff 10683 10682 sal bx, 1 ; d1 e3 10684 jmp word [cs:bx+071 1fh] ; 2e ff a7 1f7110683 jmp word [cs:bx+07124h] ; 2e ff a7 24 71 10685 10684 cli ; fa 10686 10685 mov bx, 0046eh ; bb 6e 04 … … 10697 10696 mov byte [es:bx], 000h ; 26 c6 07 00 10698 10697 sti ; fb 10699 jmp short 0719 8h ; eb 2c10698 jmp short 0719dh ; eb 2c 10700 10699 cli ; fa 10701 10700 mov bx, 0046eh ; bb 6e 04 … … 10711 10710 sti ; fb 10712 10711 mov byte [bp+013h], 000h ; c6 46 13 00 10713 jmp short 0719 8h ; eb 0710714 call 070 4fh ; e8 bb fe10712 jmp short 0719dh ; eb 07 10713 call 07054h ; e8 bb fe 10715 10714 test ax, ax ; 85 c0 10716 je short 071 9bh ; 74 0310717 jmp near 071c 9h ; e9 2e 0010715 je short 071a0h ; 74 03 10716 jmp near 071ceh ; e9 2e 00 10718 10717 xor ax, ax ; 31 c0 10719 call 016aeh ; e8 0 ea510718 call 016aeh ; e8 09 a5 10720 10719 mov byte [bp+00fh], al ; 88 46 0f 10721 10720 mov ax, strict word 00002h ; b8 02 00 10722 call 016aeh ; e8 0 5a510721 call 016aeh ; e8 00 a5 10723 10722 mov byte [bp+010h], al ; 88 46 10 10724 10723 mov ax, strict word 00004h ; b8 04 00 10725 call 016aeh ; e8 f ca410724 call 016aeh ; e8 f7 a4 10726 10725 mov dl, al ; 88 c2 10727 10726 mov byte [bp+011h], al ; 88 46 11 10728 10727 mov ax, strict word 0000bh ; b8 0b 00 10729 call 016aeh ; e8 f1a410728 call 016aeh ; e8 ec a4 10730 10729 and AL, strict byte 001h ; 24 01 10731 10730 mov byte [bp+00eh], al ; 88 46 0e … … 10735 10734 pop bp ; 5d 10736 10735 retn ; c3 10737 call 070 4fh ; e8 7f fe10736 call 07054h ; e8 7f fe 10738 10737 test ax, ax ; 85 c0 10739 je short 071d 7h ; 74 0310740 call 0702 7h ; e8 50 fe10738 je short 071dch ; 74 03 10739 call 0702ch ; e8 50 fe 10741 10740 mov dl, byte [bp+00fh] ; 8a 56 0f 10742 10741 xor dh, dh ; 30 f6 10743 10742 xor ax, ax ; 31 c0 10744 call 016c9h ; e8 e 8a410743 call 016c9h ; e8 e3 a4 10745 10744 mov dl, byte [bp+010h] ; 8a 56 10 10746 10745 xor dh, dh ; 30 f6 10747 10746 mov ax, strict word 00002h ; b8 02 00 10748 call 016c9h ; e8 d da410747 call 016c9h ; e8 d8 a4 10749 10748 mov dl, byte [bp+011h] ; 8a 56 11 10750 10749 xor dh, dh ; 30 f6 10751 10750 mov ax, strict word 00004h ; b8 04 00 10752 call 016c9h ; e8 d2a410751 call 016c9h ; e8 cd a4 10753 10752 mov ax, strict word 0000bh ; b8 0b 00 10754 call 016aeh ; e8 b1a410753 call 016aeh ; e8 ac a4 10755 10754 mov bl, al ; 88 c3 10756 10755 and bl, 060h ; 80 e3 60 … … 10762 10761 xor dh, dh ; 30 f6 10763 10762 mov ax, strict word 0000bh ; b8 0b 00 10764 call 016c9h ; e8 b3a410763 call 016c9h ; e8 ae a4 10765 10764 mov byte [bp+013h], 000h ; c6 46 13 00 10766 10765 mov byte [bp+012h], bl ; 88 5e 12 10767 jmp short 071c 9h ; eb aa10766 jmp short 071ceh ; eb aa 10768 10767 mov byte [bp+013h], 000h ; c6 46 13 00 10769 call 070 4fh ; e8 29 fe10768 call 07054h ; e8 29 fe 10770 10769 test ax, ax ; 85 c0 10771 je short 072 2ch ; 74 0210772 jmp short 071c 9h ; eb 9d10770 je short 07231h ; 74 02 10771 jmp short 071ceh ; eb 9d 10773 10772 mov ax, strict word 00009h ; b8 09 00 10774 call 016aeh ; e8 7 ca410773 call 016aeh ; e8 77 a4 10775 10774 mov byte [bp+010h], al ; 88 46 10 10776 10775 mov ax, strict word 00008h ; b8 08 00 10777 call 016aeh ; e8 73a410776 call 016aeh ; e8 6e a4 10778 10777 mov byte [bp+00fh], al ; 88 46 0f 10779 10778 mov ax, strict word 00007h ; b8 07 00 10780 call 016aeh ; e8 6 aa410779 call 016aeh ; e8 65 a4 10781 10780 mov byte [bp+00eh], al ; 88 46 0e 10782 10781 mov ax, strict word 00032h ; b8 32 00 10783 call 016aeh ; e8 61a410782 call 016aeh ; e8 5c a4 10784 10783 mov byte [bp+011h], al ; 88 46 11 10785 10784 mov byte [bp+012h], al ; 88 46 12 10786 jmp near 071c 9h ; e9 73 ff10787 call 070 4fh ; e8 f6 fd10785 jmp near 071ceh ; e9 73 ff 10786 call 07054h ; e8 f6 fd 10788 10787 test ax, ax ; 85 c0 10789 je short 0726 3h ; 74 0610790 call 0702 7h ; e8 c7 fd10791 jmp near 071c 9h ; e9 66 ff10788 je short 07268h ; 74 06 10789 call 0702ch ; e8 c7 fd 10790 jmp near 071ceh ; e9 66 ff 10792 10791 mov dl, byte [bp+010h] ; 8a 56 10 10793 10792 xor dh, dh ; 30 f6 10794 10793 mov ax, strict word 00009h ; b8 09 00 10795 call 016c9h ; e8 5 ba410794 call 016c9h ; e8 56 a4 10796 10795 mov dl, byte [bp+00fh] ; 8a 56 0f 10797 10796 xor dh, dh ; 30 f6 10798 10797 mov ax, strict word 00008h ; b8 08 00 10799 call 016c9h ; e8 50a410798 call 016c9h ; e8 4b a4 10800 10799 mov dl, byte [bp+00eh] ; 8a 56 0e 10801 10800 xor dh, dh ; 30 f6 10802 10801 mov ax, strict word 00007h ; b8 07 00 10803 call 016c9h ; e8 4 5a410802 call 016c9h ; e8 40 a4 10804 10803 mov dl, byte [bp+011h] ; 8a 56 11 10805 10804 xor dh, dh ; 30 f6 10806 10805 mov ax, strict word 00032h ; b8 32 00 10807 call 016c9h ; e8 3 aa410806 call 016c9h ; e8 35 a4 10808 10807 mov ax, strict word 0000bh ; b8 0b 00 10809 call 016aeh ; e8 1 9a410808 call 016aeh ; e8 14 a4 10810 10809 mov bl, al ; 88 c3 10811 10810 and bl, 07fh ; 80 e3 7f 10812 jmp near 072 0ch ; e9 6f ff10811 jmp near 07211h ; e9 6f ff 10813 10812 mov ax, strict word 0000bh ; b8 0b 00 10814 call 016aeh ; e8 0 ba410813 call 016aeh ; e8 06 a4 10815 10814 mov bl, al ; 88 c3 10816 10815 mov word [bp+012h], strict word 00000h ; c7 46 12 00 00 10817 10816 test AL, strict byte 020h ; a8 20 10818 je short 072b 1h ; 74 0310819 jmp near 071c 9h ; e9 18 ff10820 call 070 4fh ; e8 9b fd10817 je short 072b6h ; 74 03 10818 jmp near 071ceh ; e9 18 ff 10819 call 07054h ; e8 9b fd 10821 10820 test ax, ax ; 85 c0 10822 je short 072 bbh ; 74 0310823 call 0702 7h ; e8 6c fd10821 je short 072c0h ; 74 03 10822 call 0702ch ; e8 6c fd 10824 10823 mov dl, byte [bp+00fh] ; 8a 56 0f 10825 10824 xor dh, dh ; 30 f6 10826 10825 mov ax, strict word 00001h ; b8 01 00 10827 call 016c9h ; e8 03 a410826 call 016c9h ; e8 fe a3 10828 10827 mov dl, byte [bp+010h] ; 8a 56 10 10829 10828 xor dh, dh ; 30 f6 10830 10829 mov ax, strict word 00003h ; b8 03 00 10831 call 016c9h ; e8 f 8a310830 call 016c9h ; e8 f3 a3 10832 10831 mov dl, byte [bp+011h] ; 8a 56 11 10833 10832 xor dh, dh ; 30 f6 10834 10833 mov ax, strict word 00005h ; b8 05 00 10835 call 016c9h ; e8 e da310834 call 016c9h ; e8 e8 a3 10836 10835 mov dx, 000a1h ; ba a1 00 10837 10836 in AL, DX ; ec … … 10845 10844 xor dh, dh ; 30 f6 10846 10845 mov ax, strict word 0000bh ; b8 0b 00 10847 call 016c9h ; e8 d4a310848 jmp near 071c 9h ; e9 d1 fe10846 call 016c9h ; e8 cf a3 10847 jmp near 071ceh ; e9 d1 fe 10849 10848 mov ax, strict word 0000bh ; b8 0b 00 10850 call 016aeh ; e8 b0a310849 call 016aeh ; e8 ab a3 10851 10850 mov bl, al ; 88 c3 10852 10851 mov dl, al ; 88 c2 10853 10852 and dl, 057h ; 80 e2 57 10854 jmp near 072 0eh ; e9 06 ff10855 send_to_mouse_ctrl_: ; 0xf730 8LB 0x3810853 jmp near 07213h ; e9 06 ff 10854 send_to_mouse_ctrl_: ; 0xf730d LB 0x38 10856 10855 push bp ; 55 10857 10856 mov bp, sp ; 89 e5 … … 10864 10863 ; sub ah, ah ; 2a e4 10865 10864 test AL, strict byte 002h ; a8 02 10866 je short 073 2bh ; 74 1210865 je short 07330h ; 74 12 10867 10866 mov ax, 008eeh ; b8 ee 08 10868 10867 push ax ; 50 10869 mov ax, 0116 eh ; b8 6e1110868 mov ax, 0116ch ; b8 6c 11 10870 10869 push ax ; 50 10871 10870 mov ax, strict word 00007h ; b8 07 00 10872 10871 push ax ; 50 10873 call 01976h ; e8 4 ea610872 call 01976h ; e8 49 a6 10874 10873 add sp, strict byte 00006h ; 83 c4 06 10875 10874 mov AL, strict byte 0d4h ; b0 d4 … … 10885 10884 pop bp ; 5d 10886 10885 retn ; c3 10887 get_mouse_data_: ; 0xf734 0LB 0x5d10886 get_mouse_data_: ; 0xf7345 LB 0x5d 10888 10887 push bp ; 55 10889 10888 mov bp, sp ; 89 e5 … … 10900 10899 and ax, strict word 00021h ; 25 21 00 10901 10900 cmp ax, strict word 00021h ; 3d 21 00 10902 je short 0738 3h ; 74 2810901 je short 07388h ; 74 28 10903 10902 test cx, cx ; 85 c9 10904 je short 0738 3h ; 74 2410903 je short 07388h ; 74 24 10905 10904 mov dx, strict word 00061h ; ba 61 00 10906 10905 in AL, DX ; ec … … 10919 10918 xor ah, ah ; 30 e4 10920 10919 cmp dx, ax ; 39 c2 10921 je short 0736 ah ; 74 ea10920 je short 0736fh ; 74 ea 10922 10921 dec cx ; 49 10923 jmp short 073 4dh ; eb ca10922 jmp short 07352h ; eb ca 10924 10923 test cx, cx ; 85 c9 10925 jne short 073 8bh ; 75 0410924 jne short 07390h ; 75 04 10926 10925 mov AL, strict byte 001h ; b0 01 10927 jmp short 0739 6h ; eb 0b10926 jmp short 0739bh ; eb 0b 10928 10927 mov dx, strict word 00060h ; ba 60 00 10929 10928 in AL, DX ; ec … … 10937 10936 pop bp ; 5d 10938 10937 retn ; c3 10939 set_kbd_command_byte_: ; 0xf73 9dLB 0x3610938 set_kbd_command_byte_: ; 0xf73a2 LB 0x36 10940 10939 push bp ; 55 10941 10940 mov bp, sp ; 89 e5 … … 10948 10947 ; sub ah, ah ; 2a e4 10949 10948 test AL, strict byte 002h ; a8 02 10950 je short 073c 0h ; 74 1210949 je short 073c5h ; 74 12 10951 10950 mov ax, 008f8h ; b8 f8 08 10952 10951 push ax ; 50 10953 mov ax, 0116 eh ; b8 6e1110952 mov ax, 0116ch ; b8 6c 11 10954 10953 push ax ; 50 10955 10954 mov ax, strict word 00007h ; b8 07 00 10956 10955 push ax ; 50 10957 call 01976h ; e8 b 9a510956 call 01976h ; e8 b4 a5 10958 10957 add sp, strict byte 00006h ; 83 c4 06 10959 10958 mov AL, strict byte 060h ; b0 60 … … 10968 10967 pop bp ; 5d 10969 10968 retn ; c3 10970 _int74_function: ; 0xf73d 3LB 0xd210969 _int74_function: ; 0xf73d8 LB 0xd2 10971 10970 push bp ; 55 10972 10971 mov bp, sp ; 89 e5 … … 10974 10973 mov dx, strict word 0000eh ; ba 0e 00 10975 10974 mov ax, strict word 00040h ; b8 40 00 10976 call 0166eh ; e8 8 ca210975 call 0166eh ; e8 87 a2 10977 10976 mov cx, ax ; 89 c1 10978 10977 mov word [bp+004h], strict word 00000h ; c7 46 04 00 00 … … 10983 10982 and AL, strict byte 021h ; 24 21 10984 10983 cmp AL, strict byte 021h ; 3c 21 10985 jne short 0741 7h ; 75 2210984 jne short 0741ch ; 75 22 10986 10985 mov dx, strict word 00060h ; ba 60 00 10987 10986 in AL, DX ; ec … … 10991 10990 mov dx, strict word 00026h ; ba 26 00 10992 10991 mov ax, cx ; 89 c8 10993 call 01652h ; e8 4 da210992 call 01652h ; e8 48 a2 10994 10993 mov byte [bp-002h], al ; 88 46 fe 10995 10994 mov dx, strict word 00027h ; ba 27 00 10996 10995 mov ax, cx ; 89 c8 10997 call 01652h ; e8 42a210996 call 01652h ; e8 3d a2 10998 10997 mov byte [bp-006h], al ; 88 46 fa 10999 10998 test AL, strict byte 080h ; a8 80 11000 jne short 0741 ah ; 75 0311001 jmp near 0749 1h ; e9 77 0010999 jne short 0741fh ; 75 03 11000 jmp near 07496h ; e9 77 00 11002 11001 mov al, byte [bp-006h] ; 8a 46 fa 11003 11002 and AL, strict byte 007h ; 24 07 … … 11013 11012 add dx, strict byte 00028h ; 83 c2 28 11014 11013 mov ax, cx ; 89 c8 11015 call 01660h ; e8 23a211014 call 01660h ; e8 1e a2 11016 11015 mov al, byte [bp-008h] ; 8a 46 f8 11017 11016 cmp al, byte [bp-004h] ; 3a 46 fc 11018 jc short 0748 1h ; 72 3c11017 jc short 07486h ; 72 3c 11019 11018 mov dx, strict word 00028h ; ba 28 00 11020 11019 mov ax, cx ; 89 c8 11021 call 01652h ; e8 0 5a211020 call 01652h ; e8 00 a2 11022 11021 xor ah, ah ; 30 e4 11023 11022 mov word [bp+00ch], ax ; 89 46 0c 11024 11023 mov dx, strict word 00029h ; ba 29 00 11025 11024 mov ax, cx ; 89 c8 11026 call 01652h ; e8 f 8a111025 call 01652h ; e8 f3 a1 11027 11026 xor ah, ah ; 30 e4 11028 11027 mov word [bp+00ah], ax ; 89 46 0a 11029 11028 mov dx, strict word 0002ah ; ba 2a 00 11030 11029 mov ax, cx ; 89 c8 11031 call 01652h ; e8 e ba111030 call 01652h ; e8 e6 a1 11032 11031 xor ah, ah ; 30 e4 11033 11032 mov word [bp+008h], ax ; 89 46 08 … … 11036 11035 mov byte [bp-002h], ah ; 88 66 fe 11037 11036 test byte [bp-006h], 080h ; f6 46 fa 80 11038 je short 0748 4h ; 74 0a11037 je short 07489h ; 74 0a 11039 11038 mov word [bp+004h], strict word 00001h ; c7 46 04 01 00 11040 jmp short 0748 4h ; eb 0311039 jmp short 07489h ; eb 03 11041 11040 inc byte [bp-002h] ; fe 46 fe 11042 11041 mov bl, byte [bp-002h] ; 8a 5e fe … … 11044 11043 mov dx, strict word 00026h ; ba 26 00 11045 11044 mov ax, cx ; 89 c8 11046 call 01660h ; e8 c fa111045 call 01660h ; e8 ca a1 11047 11046 mov sp, bp ; 89 ec 11048 11047 pop bp ; 5d 11049 11048 retn ; c3 11050 out 074h, ax ; e7 74 11051 arpl [di-01dh], si ; 63 75 e3 11052 jne short 07514h ; 75 78 11053 jbe short 07488h ; 76 ea 11054 jbe short 074ceh ; 76 2e 11055 jne short 074b4h ; 75 12 11056 jnbe short 07483h ; 77 df 11049 in AL, DX ; ec 11050 je short 07505h ; 74 68 11051 jne short 07487h ; 75 e8 11052 jne short 0751eh ; 75 7d 11053 jbe short 07492h ; 76 ef 11054 jbe short 074d8h ; 76 33 11055 jne short 074beh ; 75 17 11056 jnbe short 0748dh ; 77 e4 11057 11057 db 077h 11058 _int15_function_mouse: ; 0xf74a 5LB 0x3a011058 _int15_function_mouse: ; 0xf74aa LB 0x3a0 11059 11059 push bp ; 55 11060 11060 mov bp, sp ; 89 e5 … … 11063 11063 mov dx, strict word 0000eh ; ba 0e 00 11064 11064 mov ax, strict word 00040h ; b8 40 00 11065 call 0166eh ; e8 b 9a111065 call 0166eh ; e8 b4 a1 11066 11066 mov cx, ax ; 89 c1 11067 11067 cmp byte [bp+012h], 007h ; 80 7e 12 07 11068 jbe short 074c 8h ; 76 0b11068 jbe short 074cdh ; 76 0b 11069 11069 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11070 11070 mov byte [bp+013h], 001h ; c6 46 13 01 11071 jmp near 078 3fh ; e9 77 0311071 jmp near 07844h ; e9 77 03 11072 11072 mov ax, strict word 00065h ; b8 65 00 11073 call 073 9dh ; e8 cf fe11073 call 073a2h ; e8 cf fe 11074 11074 and word [bp+018h], strict byte 0fffeh ; 83 66 18 fe 11075 11075 mov byte [bp+013h], 000h ; c6 46 13 00 11076 11076 mov bl, byte [bp+012h] ; 8a 5e 12 11077 11077 cmp bl, 007h ; 80 fb 07 11078 jnbe short 075 3ch ; 77 5e11078 jnbe short 07541h ; 77 5e 11079 11079 xor bh, bh ; 30 ff 11080 11080 sal bx, 1 ; d1 e3 11081 jmp word [cs:bx+0749 5h] ; 2e ff a7 957411081 jmp word [cs:bx+0749ah] ; 2e ff a7 9a 74 11082 11082 cmp byte [bp+00dh], 001h ; 80 7e 0d 01 11083 jnbe short 075 3fh ; 77 5211083 jnbe short 07544h ; 77 52 11084 11084 mov dx, strict word 00027h ; ba 27 00 11085 11085 mov ax, cx ; 89 c8 11086 call 01652h ; e8 5 da111086 call 01652h ; e8 58 a1 11087 11087 test AL, strict byte 080h ; a8 80 11088 jne short 0750 4h ; 75 0b11088 jne short 07509h ; 75 0b 11089 11089 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11090 11090 mov byte [bp+013h], 005h ; c6 46 13 05 11091 jmp near 0783 9h ; e9 35 0311091 jmp near 0783eh ; e9 35 03 11092 11092 cmp byte [bp+00dh], 000h ; 80 7e 0d 00 11093 jne short 075 0eh ; 75 0411093 jne short 07513h ; 75 04 11094 11094 mov AL, strict byte 0f5h ; b0 f5 11095 jmp short 0751 0h ; eb 0211095 jmp short 07515h ; eb 02 11096 11096 mov AL, strict byte 0f4h ; b0 f4 11097 11097 xor ah, ah ; 30 e4 11098 call 0730 8h ; e8 f3 fd11098 call 0730dh ; e8 f3 fd 11099 11099 test al, al ; 84 c0 11100 jne short 0754 2h ; 75 2911100 jne short 07547h ; 75 29 11101 11101 mov dx, ss ; 8c d2 11102 11102 lea ax, [bp-006h] ; 8d 46 fa 11103 call 0734 0h ; e8 1f fe11103 call 07345h ; e8 1f fe 11104 11104 test al, al ; 84 c0 11105 je short 075 2bh ; 74 0611105 je short 07530h ; 74 06 11106 11106 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11107 jne short 0754 2h ; 75 1711108 jmp near 0783 9h ; e9 0b 0311107 jne short 07547h ; 75 17 11108 jmp near 0783eh ; e9 0b 03 11109 11109 mov al, byte [bp+00dh] ; 8a 46 0d 11110 11110 cmp AL, strict byte 001h ; 3c 01 11111 jc short 0753 9h ; 72 0411111 jc short 0753eh ; 72 04 11112 11112 cmp AL, strict byte 008h ; 3c 08 11113 jbe short 0754 5h ; 76 0c11114 jmp near 076e 0h ; e9 a4 0111115 jmp near 0782 3h ; e9 e4 0211116 jmp near 0783 1h ; e9 ef 0211117 jmp near 077b 7h ; e9 72 0211113 jbe short 0754ah ; 76 0c 11114 jmp near 076e5h ; e9 a4 01 11115 jmp near 07828h ; e9 e4 02 11116 jmp near 07836h ; e9 ef 02 11117 jmp near 077bch ; e9 72 02 11118 11118 mov dx, strict word 00027h ; ba 27 00 11119 11119 mov ax, cx ; 89 c8 11120 call 01652h ; e8 0 5a111120 call 01652h ; e8 00 a1 11121 11121 mov ah, byte [bp+00dh] ; 8a 66 0d 11122 11122 db 0feh, 0cch … … 11128 11128 mov dx, strict word 00027h ; ba 27 00 11129 11129 mov ax, cx ; 89 c8 11130 call 01660h ; e8 f da011130 call 01660h ; e8 f8 a0 11131 11131 mov dx, strict word 00026h ; ba 26 00 11132 11132 mov ax, cx ; 89 c8 11133 call 01652h ; e8 e 7a011133 call 01652h ; e8 e2 a0 11134 11134 mov bl, al ; 88 c3 11135 11135 and bl, 0f8h ; 80 e3 f8 … … 11137 11137 mov dx, strict word 00026h ; ba 26 00 11138 11138 mov ax, cx ; 89 c8 11139 call 01660h ; e8 e 6a011139 call 01660h ; e8 e1 a0 11140 11140 mov ax, 000ffh ; b8 ff 00 11141 call 0730 8h ; e8 88 fd11141 call 0730dh ; e8 88 fd 11142 11142 test al, al ; 84 c0 11143 jne short 0754 2h ; 75 be11143 jne short 07547h ; 75 be 11144 11144 mov dx, ss ; 8c d2 11145 11145 lea ax, [bp-008h] ; 8d 46 f8 11146 call 0734 0h ; e8 b4 fd11146 call 07345h ; e8 b4 fd 11147 11147 mov cl, al ; 88 c1 11148 11148 cmp byte [bp-008h], 0feh ; 80 7e f8 fe 11149 jne short 075 9eh ; 75 0a11149 jne short 075a3h ; 75 0a 11150 11150 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11151 11151 mov byte [bp+013h], 004h ; c6 46 13 04 11152 jmp short 075 2bh ; eb 8d11152 jmp short 07530h ; eb 8d 11153 11153 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11154 je short 075b 8h ; 74 1411154 je short 075bdh ; 74 14 11155 11155 mov al, byte [bp-008h] ; 8a 46 f8 11156 11156 xor ah, ah ; 30 e4 … … 11160 11160 mov ax, strict word 00007h ; b8 07 00 11161 11161 push ax ; 50 11162 call 01976h ; e8 c1a311162 call 01976h ; e8 bc a3 11163 11163 add sp, strict byte 00006h ; 83 c4 06 11164 11164 test cl, cl ; 84 c9 11165 jne short 0754 2h ; 75 8611165 jne short 07547h ; 75 86 11166 11166 mov dx, ss ; 8c d2 11167 11167 lea ax, [bp-006h] ; 8d 46 fa 11168 call 0734 0h ; e8 7c fd11168 call 07345h ; e8 7c fd 11169 11169 test al, al ; 84 c0 11170 jne short 076 1eh ; 75 5611170 jne short 07623h ; 75 56 11171 11171 mov dx, ss ; 8c d2 11172 11172 lea ax, [bp-004h] ; 8d 46 fc 11173 call 0734 0h ; e8 70 fd11173 call 07345h ; e8 70 fd 11174 11174 test al, al ; 84 c0 11175 jne short 076 1eh ; 75 4a11175 jne short 07623h ; 75 4a 11176 11176 mov al, byte [bp-006h] ; 8a 46 fa 11177 11177 mov byte [bp+00ch], al ; 88 46 0c 11178 11178 mov al, byte [bp-004h] ; 8a 46 fc 11179 11179 mov byte [bp+00dh], al ; 88 46 0d 11180 jmp near 0783 9h ; e9 56 0211180 jmp near 0783eh ; e9 56 02 11181 11181 mov al, byte [bp+00dh] ; 8a 46 0d 11182 11182 cmp AL, strict byte 003h ; 3c 03 11183 jc short 075f ah ; 72 1011184 jbe short 0761 8h ; 76 2c11183 jc short 075ffh ; 72 10 11184 jbe short 0761dh ; 76 2c 11185 11185 cmp AL, strict byte 006h ; 3c 06 11186 je short 076 2dh ; 74 3d11186 je short 07632h ; 74 3d 11187 11187 cmp AL, strict byte 005h ; 3c 05 11188 je short 0762 7h ; 74 3311188 je short 0762ch ; 74 33 11189 11189 cmp AL, strict byte 004h ; 3c 04 11190 je short 0762 1h ; 74 2911191 jmp short 0763 3h ; eb 3911190 je short 07626h ; 74 29 11191 jmp short 07638h ; eb 39 11192 11192 cmp AL, strict byte 002h ; 3c 02 11193 je short 0761 2h ; 74 1411193 je short 07617h ; 74 14 11194 11194 cmp AL, strict byte 001h ; 3c 01 11195 je short 076 0ch ; 74 0a11195 je short 07611h ; 74 0a 11196 11196 test al, al ; 84 c0 11197 jne short 0763 3h ; 75 2d11197 jne short 07638h ; 75 2d 11198 11198 mov byte [bp-006h], 00ah ; c6 46 fa 0a 11199 jmp short 0763 7h ; eb 2b11199 jmp short 0763ch ; eb 2b 11200 11200 mov byte [bp-006h], 014h ; c6 46 fa 14 11201 jmp short 0763 7h ; eb 2511201 jmp short 0763ch ; eb 25 11202 11202 mov byte [bp-006h], 028h ; c6 46 fa 28 11203 jmp short 0763 7h ; eb 1f11203 jmp short 0763ch ; eb 1f 11204 11204 mov byte [bp-006h], 03ch ; c6 46 fa 3c 11205 jmp short 0763 7h ; eb 1911206 jmp near 077b 7h ; e9 96 0111205 jmp short 0763ch ; eb 19 11206 jmp near 077bch ; e9 96 01 11207 11207 mov byte [bp-006h], 050h ; c6 46 fa 50 11208 jmp short 0763 7h ; eb 1011208 jmp short 0763ch ; eb 10 11209 11209 mov byte [bp-006h], 064h ; c6 46 fa 64 11210 jmp short 0763 7h ; eb 0a11210 jmp short 0763ch ; eb 0a 11211 11211 mov byte [bp-006h], 0c8h ; c6 46 fa c8 11212 jmp short 0763 7h ; eb 0411212 jmp short 0763ch ; eb 04 11213 11213 mov byte [bp-006h], 000h ; c6 46 fa 00 11214 11214 cmp byte [bp-006h], 000h ; 80 7e fa 00 11215 jbe short 076 6dh ; 76 3011215 jbe short 07672h ; 76 30 11216 11216 mov ax, 000f3h ; b8 f3 00 11217 call 0730 8h ; e8 c5 fc11217 call 0730dh ; e8 c5 fc 11218 11218 test al, al ; 84 c0 11219 jne short 0766 2h ; 75 1b11219 jne short 07667h ; 75 1b 11220 11220 mov dx, ss ; 8c d2 11221 11221 lea ax, [bp-004h] ; 8d 46 fc 11222 call 0734 0h ; e8 f1 fc11222 call 07345h ; e8 f1 fc 11223 11223 mov al, byte [bp-006h] ; 8a 46 fa 11224 11224 xor ah, ah ; 30 e4 11225 call 0730 8h ; e8 b1 fc11225 call 0730dh ; e8 b1 fc 11226 11226 mov dx, ss ; 8c d2 11227 11227 lea ax, [bp-004h] ; 8d 46 fc 11228 call 0734 0h ; e8 e1 fc11229 jmp near 0783 9h ; e9 d7 0111228 call 07345h ; e8 e1 fc 11229 jmp near 0783eh ; e9 d7 01 11230 11230 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11231 11231 mov byte [bp+013h], 003h ; c6 46 13 03 11232 jmp near 0783 9h ; e9 cc 0111232 jmp near 0783eh ; e9 cc 01 11233 11233 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11234 11234 mov byte [bp+013h], 002h ; c6 46 13 02 11235 jmp near 0783 9h ; e9 c1 0111235 jmp near 0783eh ; e9 c1 01 11236 11236 cmp byte [bp+00dh], 004h ; 80 7e 0d 04 11237 jnc short 076e 0h ; 73 6211237 jnc short 076e5h ; 73 62 11238 11238 mov ax, 000e8h ; b8 e8 00 11239 call 0730 8h ; e8 84 fc11239 call 0730dh ; e8 84 fc 11240 11240 test al, al ; 84 c0 11241 jne short 076d 6h ; 75 4e11241 jne short 076dbh ; 75 4e 11242 11242 mov dx, ss ; 8c d2 11243 11243 lea ax, [bp-006h] ; 8d 46 fa 11244 call 0734 0h ; e8 b0 fc11244 call 07345h ; e8 b0 fc 11245 11245 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11246 je short 076a ah ; 74 1411246 je short 076afh ; 74 14 11247 11247 mov al, byte [bp-006h] ; 8a 46 fa 11248 11248 xor ah, ah ; 30 e4 … … 11252 11252 mov ax, strict word 00007h ; b8 07 00 11253 11253 push ax ; 50 11254 call 01976h ; e8 c fa211254 call 01976h ; e8 ca a2 11255 11255 add sp, strict byte 00006h ; 83 c4 06 11256 11256 mov al, byte [bp+00dh] ; 8a 46 0d 11257 11257 xor ah, ah ; 30 e4 11258 call 0730 8h ; e8 56 fc11258 call 0730dh ; e8 56 fc 11259 11259 mov dx, ss ; 8c d2 11260 11260 lea ax, [bp-006h] ; 8d 46 fa 11261 call 0734 0h ; e8 86 fc11261 call 07345h ; e8 86 fc 11262 11262 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11263 je short 077 0fh ; 74 4f11263 je short 07714h ; 74 4f 11264 11264 mov al, byte [bp-006h] ; 8a 46 fa 11265 11265 xor ah, ah ; 30 e4 … … 11269 11269 mov ax, strict word 00007h ; b8 07 00 11270 11270 push ax ; 50 11271 call 01976h ; e8 a 5a211271 call 01976h ; e8 a0 a2 11272 11272 add sp, strict byte 00006h ; 83 c4 06 11273 jmp short 077 0fh ; eb 3911273 jmp short 07714h ; eb 39 11274 11274 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11275 11275 mov byte [bp+013h], 003h ; c6 46 13 03 11276 jmp short 077 0fh ; eb 2f11276 jmp short 07714h ; eb 2f 11277 11277 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11278 11278 mov byte [bp+013h], 002h ; c6 46 13 02 11279 jmp short 077 0fh ; eb 2511279 jmp short 07714h ; eb 25 11280 11280 mov ax, 000f2h ; b8 f2 00 11281 call 0730 8h ; e8 18 fc11281 call 0730dh ; e8 18 fc 11282 11282 test al, al ; 84 c0 11283 jne short 0770 7h ; 75 1311283 jne short 0770ch ; 75 13 11284 11284 mov dx, ss ; 8c d2 11285 11285 lea ax, [bp-006h] ; 8d 46 fa 11286 call 0734 0h ; e8 44 fc11286 call 07345h ; e8 44 fc 11287 11287 mov dx, ss ; 8c d2 11288 11288 lea ax, [bp-004h] ; 8d 46 fc 11289 call 0734 0h ; e8 3c fc11290 jmp near 075d ah ; e9 d3 fe11289 call 07345h ; e8 3c fc 11290 jmp near 075dfh ; e9 d3 fe 11291 11291 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11292 11292 mov byte [bp+013h], 003h ; c6 46 13 03 11293 jmp near 0783 9h ; e9 27 0111293 jmp near 0783eh ; e9 27 01 11294 11294 mov al, byte [bp+00dh] ; 8a 46 0d 11295 11295 test al, al ; 84 c0 11296 jbe short 0772 2h ; 76 0911296 jbe short 07727h ; 76 09 11297 11297 cmp AL, strict byte 002h ; 3c 02 11298 jbe short 0772 0h ; 76 0311299 jmp near 077c 1h ; e9 a1 0011300 jmp short 077 8ch ; eb 6a11298 jbe short 07725h ; 76 03 11299 jmp near 077c6h ; e9 a1 00 11300 jmp short 07791h ; eb 6a 11301 11301 mov ax, 000e9h ; b8 e9 00 11302 call 0730 8h ; e8 e0 fb11302 call 0730dh ; e8 e0 fb 11303 11303 test al, al ; 84 c0 11304 jne short 0779 5h ; 75 6911304 jne short 0779ah ; 75 69 11305 11305 mov dx, ss ; 8c d2 11306 11306 lea ax, [bp-006h] ; 8d 46 fa 11307 call 0734 0h ; e8 0c fc11307 call 07345h ; e8 0c fc 11308 11308 mov cl, al ; 88 c1 11309 11309 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11310 je short 0775 0h ; 74 1411310 je short 07755h ; 74 14 11311 11311 mov al, byte [bp-006h] ; 8a 46 fa 11312 11312 xor ah, ah ; 30 e4 … … 11316 11316 mov ax, strict word 00007h ; b8 07 00 11317 11317 push ax ; 50 11318 call 01976h ; e8 2 9a211318 call 01976h ; e8 24 a2 11319 11319 add sp, strict byte 00006h ; 83 c4 06 11320 11320 test cl, cl ; 84 c9 11321 jne short 077b 7h ; 75 6311321 jne short 077bch ; 75 63 11322 11322 mov dx, ss ; 8c d2 11323 11323 lea ax, [bp-006h] ; 8d 46 fa 11324 call 0734 0h ; e8 e4 fb11324 call 07345h ; e8 e4 fb 11325 11325 test al, al ; 84 c0 11326 jne short 077b 7h ; 75 5711326 jne short 077bch ; 75 57 11327 11327 mov dx, ss ; 8c d2 11328 11328 lea ax, [bp-004h] ; 8d 46 fc 11329 call 0734 0h ; e8 d8 fb11329 call 07345h ; e8 d8 fb 11330 11330 test al, al ; 84 c0 11331 jne short 077b 7h ; 75 4b11331 jne short 077bch ; 75 4b 11332 11332 mov dx, ss ; 8c d2 11333 11333 lea ax, [bp-008h] ; 8d 46 f8 11334 call 0734 0h ; e8 cc fb11334 call 07345h ; e8 cc fb 11335 11335 test al, al ; 84 c0 11336 jne short 077b 7h ; 75 3f11336 jne short 077bch ; 75 3f 11337 11337 mov al, byte [bp-006h] ; 8a 46 fa 11338 11338 mov byte [bp+00ch], al ; 88 46 0c … … 11341 11341 mov al, byte [bp-008h] ; 8a 46 f8 11342 11342 mov byte [bp+00eh], al ; 88 46 0e 11343 jmp short 077 0fh ; eb 8311343 jmp short 07714h ; eb 83 11344 11344 cmp AL, strict byte 001h ; 3c 01 11345 jne short 0779 7h ; 75 0711345 jne short 0779ch ; 75 07 11346 11346 mov ax, 000e6h ; b8 e6 00 11347 jmp short 0779 ah ; eb 0511348 jmp short 077b 7h ; eb 2011347 jmp short 0779fh ; eb 05 11348 jmp short 077bch ; eb 20 11349 11349 mov ax, 000e7h ; b8 e7 00 11350 call 0730 8h ; e8 6b fb11350 call 0730dh ; e8 6b fb 11351 11351 mov cl, al ; 88 c1 11352 11352 test cl, cl ; 84 c9 11353 jne short 077b 3h ; 75 1011353 jne short 077b8h ; 75 10 11354 11354 mov dx, ss ; 8c d2 11355 11355 lea ax, [bp-006h] ; 8d 46 fa 11356 call 0734 0h ; e8 95 fb11356 call 07345h ; e8 95 fb 11357 11357 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11358 je short 077b 3h ; 74 0211358 je short 077b8h ; 74 02 11359 11359 mov CL, strict byte 001h ; b1 01 11360 11360 test cl, cl ; 84 c9 11361 je short 0782 1h ; 74 6a11361 je short 07826h ; 74 6a 11362 11362 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11363 11363 mov byte [bp+013h], 003h ; c6 46 13 03 11364 jmp short 0782 1h ; eb 6011364 jmp short 07826h ; eb 60 11365 11365 mov al, byte [bp+00dh] ; 8a 46 0d 11366 11366 xor ah, ah ; 30 e4 … … 11370 11370 mov ax, strict word 00007h ; b8 07 00 11371 11371 push ax ; 50 11372 call 01976h ; e8 a4a111372 call 01976h ; e8 9f a1 11373 11373 add sp, strict byte 00006h ; 83 c4 06 11374 11374 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11375 11375 mov byte [bp+013h], 001h ; c6 46 13 01 11376 jmp short 0783 9h ; eb 5a11376 jmp short 0783eh ; eb 5a 11377 11377 mov si, word [bp+00ch] ; 8b 76 0c 11378 11378 mov bx, si ; 89 f3 11379 11379 mov dx, strict word 00022h ; ba 22 00 11380 11380 mov ax, cx ; 89 c8 11381 call 0167ch ; e8 909e11381 call 0167ch ; e8 8b 9e 11382 11382 mov bx, word [bp+014h] ; 8b 5e 14 11383 11383 mov dx, strict word 00024h ; ba 24 00 11384 11384 mov ax, cx ; 89 c8 11385 call 0167ch ; e8 8 59e11385 call 0167ch ; e8 80 9e 11386 11386 mov dx, strict word 00027h ; ba 27 00 11387 11387 mov ax, cx ; 89 c8 11388 call 01652h ; e8 539e11388 call 01652h ; e8 4e 9e 11389 11389 mov ah, al ; 88 c4 11390 11390 test si, si ; 85 f6 11391 jne short 0781 3h ; 75 0e11391 jne short 07818h ; 75 0e 11392 11392 cmp word [bp+014h], strict byte 00000h ; 83 7e 14 00 11393 jne short 0781 3h ; 75 0811393 jne short 07818h ; 75 08 11394 11394 test AL, strict byte 080h ; a8 80 11395 je short 0781 5h ; 74 0611395 je short 0781ah ; 74 06 11396 11396 and AL, strict byte 07fh ; 24 7f 11397 jmp short 0781 5h ; eb 0211397 jmp short 0781ah ; eb 02 11398 11398 or AL, strict byte 080h ; 0c 80 11399 11399 mov bl, al ; 88 c3 … … 11401 11401 mov dx, strict word 00027h ; ba 27 00 11402 11402 mov ax, cx ; 89 c8 11403 call 01660h ; e8 3 f9e11404 jmp short 0783 9h ; eb 1611403 call 01660h ; e8 3a 9e 11404 jmp short 0783eh ; eb 16 11405 11405 mov ax, 00974h ; b8 74 09 11406 11406 push ax ; 50 11407 11407 mov ax, strict word 00007h ; b8 07 00 11408 11408 push ax ; 50 11409 call 01976h ; e8 4 8a111409 call 01976h ; e8 43 a1 11410 11410 add sp, strict byte 00004h ; 83 c4 04 11411 11411 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11412 11412 mov byte [bp+013h], 001h ; c6 46 13 01 11413 11413 mov ax, strict word 00047h ; b8 47 00 11414 call 073 9dh ; e8 5e fb11414 call 073a2h ; e8 5e fb 11415 11415 lea sp, [bp-002h] ; 8d 66 fe 11416 11416 pop si ; 5e 11417 11417 pop bp ; 5d 11418 11418 retn ; c3 11419 _int17_function: ; 0xf784 5LB 0xac11419 _int17_function: ; 0xf784a LB 0xac 11420 11420 push bp ; 55 11421 11421 mov bp, sp ; 89 e5 … … 11427 11427 add dx, strict byte 00008h ; 83 c2 08 11428 11428 mov ax, strict word 00040h ; b8 40 00 11429 call 0166eh ; e8 1 59e11429 call 0166eh ; e8 10 9e 11430 11430 mov bx, ax ; 89 c3 11431 11431 mov si, ax ; 89 c6 11432 11432 cmp byte [bp+013h], 003h ; 80 7e 13 03 11433 jnc short 078 6fh ; 73 0c11433 jnc short 07874h ; 73 0c 11434 11434 mov ax, word [bp+00eh] ; 8b 46 0e 11435 11435 cmp ax, strict word 00003h ; 3d 03 00 11436 jnc short 078 6fh ; 73 0411436 jnc short 07874h ; 73 04 11437 11437 test bx, bx ; 85 db 11438 jnbe short 0787 2h ; 77 0311439 jmp near 078e 7h ; e9 75 0011438 jnbe short 07877h ; 77 03 11439 jmp near 078ech ; e9 75 00 11440 11440 mov dx, ax ; 89 c2 11441 11441 add dx, strict byte 00078h ; 83 c2 78 11442 11442 mov ax, strict word 00040h ; b8 40 00 11443 call 01652h ; e8 d 59d11443 call 01652h ; e8 d0 9d 11444 11444 mov ch, al ; 88 c5 11445 11445 xor cl, cl ; 30 c9 11446 11446 cmp byte [bp+013h], 000h ; 80 7e 13 00 11447 jne short 078b 3h ; 75 2c11447 jne short 078b8h ; 75 2c 11448 11448 mov al, byte [bp+012h] ; 8a 46 12 11449 11449 mov dx, bx ; 89 da … … 11465 11465 ; sub ah, ah ; 2a e4 11466 11466 test AL, strict byte 040h ; a8 40 11467 je short 078b 3h ; 74 0711467 je short 078b8h ; 74 07 11468 11468 test cx, cx ; 85 c9 11469 je short 078b 3h ; 74 0311469 je short 078b8h ; 74 03 11470 11470 dec cx ; 49 11471 jmp short 078a 2h ; eb ef11471 jmp short 078a7h ; eb ef 11472 11472 cmp byte [bp+013h], 001h ; 80 7e 13 01 11473 jne short 078 ceh ; 75 1511473 jne short 078d3h ; 75 15 11474 11474 lea dx, [si+002h] ; 8d 54 02 11475 11475 in AL, DX ; ec … … 11490 11490 mov byte [bp+013h], al ; 88 46 13 11491 11491 test cx, cx ; 85 c9 11492 jne short 078e 1h ; 75 0411492 jne short 078e6h ; 75 04 11493 11493 or byte [bp+013h], 001h ; 80 4e 13 01 11494 11494 and byte [bp+01ch], 0feh ; 80 66 1c fe 11495 jmp short 078 ebh ; eb 0411495 jmp short 078f0h ; eb 04 11496 11496 or byte [bp+01ch], 001h ; 80 4e 1c 01 11497 11497 lea sp, [bp-002h] ; 8d 66 fe … … 11499 11499 pop bp ; 5d 11500 11500 retn ; c3 11501 wait_: ; 0xf78f 1LB 0xb211501 wait_: ; 0xf78f6 LB 0xb2 11502 11502 push bp ; 55 11503 11503 mov bp, sp ; 89 e5 … … 11517 11517 mov dx, 0046ch ; ba 6c 04 11518 11518 xor ax, ax ; 31 c0 11519 call 0168ah ; e8 7 69d11519 call 0168ah ; e8 71 9d 11520 11520 mov word [bp-00eh], ax ; 89 46 f2 11521 11521 mov bx, dx ; 89 d3 … … 11523 11523 mov dx, 0046ch ; ba 6c 04 11524 11524 xor ax, ax ; 31 c0 11525 call 0168ah ; e8 6 89d11525 call 0168ah ; e8 63 9d 11526 11526 mov word [bp-012h], ax ; 89 46 ee 11527 11527 mov di, dx ; 89 d7 11528 11528 cmp dx, bx ; 39 da 11529 jnbe short 0793 2h ; 77 0711530 jne short 0793 9h ; 75 0c11529 jnbe short 07937h ; 77 07 11530 jne short 0793eh ; 75 0c 11531 11531 cmp ax, word [bp-00eh] ; 3b 46 f2 11532 jbe short 0793 9h ; 76 0711532 jbe short 0793eh ; 76 07 11533 11533 sub ax, word [bp-00eh] ; 2b 46 f2 11534 11534 sbb dx, bx ; 19 da 11535 jmp short 0794 4h ; eb 0b11535 jmp short 07949h ; eb 0b 11536 11536 cmp dx, bx ; 39 da 11537 jc short 0794 4h ; 72 0711538 jne short 0794 8h ; 75 0911537 jc short 07949h ; 72 07 11538 jne short 0794dh ; 75 09 11539 11539 cmp ax, word [bp-00eh] ; 3b 46 f2 11540 jnc short 0794 8h ; 73 0411540 jnc short 0794dh ; 73 04 11541 11541 sub si, ax ; 29 c6 11542 11542 sbb cx, dx ; 19 d1 … … 11546 11546 mov ax, 00100h ; b8 00 01 11547 11547 int 016h ; cd 16 11548 je short 079 5ch ; 74 0511548 je short 07961h ; 74 05 11549 11549 mov AL, strict byte 001h ; b0 01 11550 jmp near 079 5eh ; e9 02 0011550 jmp near 07963h ; e9 02 00 11551 11551 db 032h, 0c0h 11552 11552 ; xor al, al ; 32 c0 11553 11553 test al, al ; 84 c0 11554 je short 0798 8h ; 74 2611554 je short 0798dh ; 74 26 11555 11555 db 033h, 0c0h 11556 11556 ; xor ax, ax ; 33 c0 … … 11565 11565 mov ax, strict word 00004h ; b8 04 00 11566 11566 push ax ; 50 11567 call 01976h ; e8 f b9f11567 call 01976h ; e8 f6 9f 11568 11568 add sp, strict byte 00006h ; 83 c4 06 11569 11569 cmp byte [bp-00ah], 000h ; 80 7e f6 00 11570 je short 0798 8h ; 74 0411570 je short 0798dh ; 74 04 11571 11571 mov al, dl ; 88 d0 11572 jmp short 0799 ah ; eb 1211572 jmp short 0799fh ; eb 12 11573 11573 test cx, cx ; 85 c9 11574 jnle short 0791 9h ; 7f 8d11575 jne short 0799 2h ; 75 0411574 jnle short 0791eh ; 7f 8d 11575 jne short 07997h ; 75 04 11576 11576 test si, si ; 85 f6 11577 jnbe short 0791 9h ; 77 8711577 jnbe short 0791eh ; 77 87 11578 11578 mov ax, word [bp-010h] ; 8b 46 f0 11579 11579 push ax ; 50 … … 11587 11587 pop bp ; 5d 11588 11588 retn ; c3 11589 read_logo_byte_: ; 0xf79a 3LB 0x1611589 read_logo_byte_: ; 0xf79a8 LB 0x16 11590 11590 push bp ; 55 11591 11591 mov bp, sp ; 89 e5 … … 11602 11602 pop bp ; 5d 11603 11603 retn ; c3 11604 read_logo_word_: ; 0xf79b 9LB 0x1411604 read_logo_word_: ; 0xf79be LB 0x14 11605 11605 push bp ; 55 11606 11606 mov bp, sp ; 89 e5 … … 11615 11615 pop bp ; 5d 11616 11616 retn ; c3 11617 print_detected_harddisks_: ; 0xf79 cdLB 0x15a11617 print_detected_harddisks_: ; 0xf79d2 LB 0x15a 11618 11618 push bp ; 55 11619 11619 mov bp, sp ; 89 e5 … … 11625 11625 mov dx, strict word 0000eh ; ba 0e 00 11626 11626 mov ax, strict word 00040h ; b8 40 00 11627 call 0166eh ; e8 8 e9c11627 call 0166eh ; e8 89 9c 11628 11628 mov si, ax ; 89 c6 11629 11629 mov byte [bp-00eh], 000h ; c6 46 f2 00 … … 11631 11631 mov byte [bp-00ch], ch ; 88 6e f4 11632 11632 mov dx, 00304h ; ba 04 03 11633 call 01652h ; e8 619c11633 call 01652h ; e8 5c 9c 11634 11634 mov byte [bp-00ah], al ; 88 46 f6 11635 11635 xor cl, cl ; 30 c9 11636 11636 cmp cl, byte [bp-00ah] ; 3a 4e f6 11637 jnc short 07a5 9h ; 73 5e11637 jnc short 07a5eh ; 73 5e 11638 11638 mov al, cl ; 88 c8 11639 11639 xor ah, ah ; 30 e4 … … 11641 11641 add dx, 00305h ; 81 c2 05 03 11642 11642 mov ax, si ; 89 f0 11643 call 01652h ; e8 4 89c11643 call 01652h ; e8 43 9c 11644 11644 mov bl, al ; 88 c3 11645 11645 cmp AL, strict byte 00ch ; 3c 0c 11646 jc short 07a 3bh ; 72 2b11646 jc short 07a40h ; 72 2b 11647 11647 test ch, ch ; 84 ed 11648 jne short 07a2 4h ; 75 1011648 jne short 07a29h ; 75 10 11649 11649 mov ax, 009a7h ; b8 a7 09 11650 11650 push ax ; 50 11651 11651 mov ax, strict word 00002h ; b8 02 00 11652 11652 push ax ; 50 11653 call 01976h ; e8 5 79f11653 call 01976h ; e8 52 9f 11654 11654 add sp, strict byte 00004h ; 83 c4 04 11655 11655 mov CH, strict byte 001h ; b5 01 … … 11662 11662 mov ax, strict word 00002h ; b8 02 00 11663 11663 push ax ; 50 11664 call 01976h ; e8 419f11664 call 01976h ; e8 3c 9f 11665 11665 add sp, strict byte 00006h ; 83 c4 06 11666 jmp near 07a edh ; e9 b2 0011666 jmp near 07af2h ; e9 b2 00 11667 11667 cmp AL, strict byte 008h ; 3c 08 11668 jc short 07a 5ch ; 72 1d11668 jc short 07a61h ; 72 1d 11669 11669 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11670 jne short 07a5 7h ; 75 1211670 jne short 07a5ch ; 75 12 11671 11671 mov ax, 009cfh ; b8 cf 09 11672 11672 push ax ; 50 11673 11673 mov ax, strict word 00002h ; b8 02 00 11674 11674 push ax ; 50 11675 call 01976h ; e8 2 69f11675 call 01976h ; e8 21 9f 11676 11676 add sp, strict byte 00004h ; 83 c4 04 11677 11677 mov byte [bp-00ch], 001h ; c6 46 f4 01 11678 jmp short 07a2 4h ; eb cb11679 jmp near 07af 2h ; e9 96 0011678 jmp short 07a29h ; eb cb 11679 jmp near 07af7h ; e9 96 00 11680 11680 cmp AL, strict byte 004h ; 3c 04 11681 jnc short 07a7 ah ; 73 1a11681 jnc short 07a7fh ; 73 1a 11682 11682 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11683 jne short 07a7 ah ; 75 1411683 jne short 07a7fh ; 75 14 11684 11684 mov ax, 009e4h ; b8 e4 09 11685 11685 push ax ; 50 11686 11686 mov ax, strict word 00002h ; b8 02 00 11687 11687 push ax ; 50 11688 call 01976h ; e8 0 59f11688 call 01976h ; e8 00 9f 11689 11689 add sp, strict byte 00004h ; 83 c4 04 11690 11690 mov byte [bp-00eh], 001h ; c6 46 f2 01 11691 jmp short 07a9 3h ; eb 1911691 jmp short 07a98h ; eb 19 11692 11692 cmp bl, 004h ; 80 fb 04 11693 jc short 07a9 3h ; 72 1411693 jc short 07a98h ; 72 14 11694 11694 test ch, ch ; 84 ed 11695 jne short 07a9 3h ; 75 1011695 jne short 07a98h ; 75 10 11696 11696 mov ax, 009f6h ; b8 f6 09 11697 11697 push ax ; 50 11698 11698 mov ax, strict word 00002h ; b8 02 00 11699 11699 push ax ; 50 11700 call 01976h ; e8 e 89e11700 call 01976h ; e8 e3 9e 11701 11701 add sp, strict byte 00004h ; 83 c4 04 11702 11702 mov CH, strict byte 001h ; b5 01 … … 11709 11709 mov ax, strict word 00002h ; b8 02 00 11710 11710 push ax ; 50 11711 call 01976h ; e8 d29e11711 call 01976h ; e8 cd 9e 11712 11712 add sp, strict byte 00006h ; 83 c4 06 11713 11713 cmp bl, 004h ; 80 fb 04 11714 jc short 07a afh ; 72 0311714 jc short 07ab4h ; 72 03 11715 11715 sub bl, 004h ; 80 eb 04 11716 11716 mov al, bl ; 88 d8 … … 11721 11721 sar ax, 1 ; d1 f8 11722 11722 test ax, ax ; 85 c0 11723 je short 07ac 1h ; 74 0511723 je short 07ac6h ; 74 05 11724 11724 mov ax, 00a14h ; b8 14 0a 11725 jmp short 07ac 4h ; eb 0311725 jmp short 07ac9h ; eb 03 11726 11726 mov ax, 00a1fh ; b8 1f 0a 11727 11727 push ax ; 50 11728 11728 mov ax, strict word 00002h ; b8 02 00 11729 11729 push ax ; 50 11730 call 01976h ; e8 a a9e11730 call 01976h ; e8 a5 9e 11731 11731 add sp, strict byte 00004h ; 83 c4 04 11732 11732 mov al, bl ; 88 d8 … … 11736 11736 idiv bx ; f7 fb 11737 11737 test dx, dx ; 85 d2 11738 je short 07ae 2h ; 74 0511738 je short 07ae7h ; 74 05 11739 11739 mov ax, 00a28h ; b8 28 0a 11740 jmp short 07ae 5h ; eb 0311740 jmp short 07aeah ; eb 03 11741 11741 mov ax, 00a2eh ; b8 2e 0a 11742 11742 push ax ; 50 11743 11743 push bx ; 53 11744 call 01976h ; e8 8 c9e11744 call 01976h ; e8 87 9e 11745 11745 add sp, strict byte 00004h ; 83 c4 04 11746 11746 db 0feh, 0c1h 11747 11747 ; inc cl ; fe c1 11748 jmp near 079f 6h ; e9 04 ff11748 jmp near 079fbh ; e9 04 ff 11749 11749 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11750 jne short 07b1 0h ; 75 1811750 jne short 07b15h ; 75 18 11751 11751 test ch, ch ; 84 ed 11752 jne short 07b1 0h ; 75 1411752 jne short 07b15h ; 75 14 11753 11753 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11754 jne short 07b1 0h ; 75 0e11754 jne short 07b15h ; 75 0e 11755 11755 mov ax, 00a35h ; b8 35 0a 11756 11756 push ax ; 50 11757 11757 mov ax, strict word 00002h ; b8 02 00 11758 11758 push ax ; 50 11759 call 01976h ; e8 6 99e11759 call 01976h ; e8 64 9e 11760 11760 add sp, strict byte 00004h ; 83 c4 04 11761 11761 mov ax, 00a49h ; b8 49 0a … … 11763 11763 mov ax, strict word 00002h ; b8 02 00 11764 11764 push ax ; 50 11765 call 01976h ; e8 5 b9e11765 call 01976h ; e8 56 9e 11766 11766 add sp, strict byte 00004h ; 83 c4 04 11767 11767 lea sp, [bp-008h] ; 8d 66 f8 … … 11772 11772 pop bp ; 5d 11773 11773 retn ; c3 11774 get_boot_drive_: ; 0xf7b2 7LB 0x2811774 get_boot_drive_: ; 0xf7b2c LB 0x28 11775 11775 push bp ; 55 11776 11776 mov bp, sp ; 89 e5 … … 11780 11780 mov dx, strict word 0000eh ; ba 0e 00 11781 11781 mov ax, strict word 00040h ; b8 40 00 11782 call 0166eh ; e8 3 79b11782 call 0166eh ; e8 32 9b 11783 11783 mov dx, 00304h ; ba 04 03 11784 call 01652h ; e8 1 59b11784 call 01652h ; e8 10 9b 11785 11785 sub bl, 002h ; 80 eb 02 11786 11786 cmp bl, al ; 38 c3 11787 jc short 07b4 6h ; 72 0211787 jc short 07b4bh ; 72 02 11788 11788 mov BL, strict byte 0ffh ; b3 ff 11789 11789 mov al, bl ; 88 d8 … … 11793 11793 pop bp ; 5d 11794 11794 retn ; c3 11795 show_logo_: ; 0xf7b 4fLB 0x24011795 show_logo_: ; 0xf7b54 LB 0x240 11796 11796 push bp ; 55 11797 11797 mov bp, sp ; 89 e5 … … 11804 11804 mov dx, strict word 0000eh ; ba 0e 00 11805 11805 mov ax, strict word 00040h ; b8 40 00 11806 call 0166eh ; e8 0 b9b11806 call 0166eh ; e8 06 9b 11807 11807 mov si, ax ; 89 c6 11808 11808 mov byte [bp-00ch], 000h ; c6 46 f4 00 … … 11816 11816 mov al, cl ; 88 c8 11817 11817 xor ah, ah ; 30 e4 11818 call 079b 9h ; e8 3b fe11818 call 079beh ; e8 3b fe 11819 11819 cmp ax, 066bbh ; 3d bb 66 11820 jne short 07b9 5h ; 75 1211820 jne short 07b9ah ; 75 12 11821 11821 push SS ; 16 11822 11822 pop ES ; 07 … … 11826 11826 mov word [es:di], bx ; 26 89 1d 11827 11827 cmp ax, strict word 0004fh ; 3d 4f 00 11828 je short 07b9 8h ; 74 0311829 jmp near 07c 5eh ; e9 c6 0011828 je short 07b9dh ; 74 03 11829 jmp near 07c63h ; e9 c6 00 11830 11830 mov al, cl ; 88 c8 11831 11831 add AL, strict byte 004h ; 04 04 11832 11832 xor ah, ah ; 30 e4 11833 call 079a 3h ; e8 02 fe11833 call 079a8h ; e8 02 fe 11834 11834 mov bl, al ; 88 c3 11835 11835 mov byte [bp-014h], al ; 88 46 ec … … 11837 11837 add AL, strict byte 005h ; 04 05 11838 11838 xor ah, ah ; 30 e4 11839 call 079a 3h ; e8 f4 fd11839 call 079a8h ; e8 f4 fd 11840 11840 mov bh, al ; 88 c7 11841 11841 mov byte [bp-012h], al ; 88 46 ee … … 11843 11843 add AL, strict byte 002h ; 04 02 11844 11844 xor ah, ah ; 30 e4 11845 call 079b 9h ; e8 fc fd11845 call 079beh ; e8 fc fd 11846 11846 mov dx, ax ; 89 c2 11847 11847 mov word [bp-016h], ax ; 89 46 ea … … 11849 11849 add AL, strict byte 006h ; 04 06 11850 11850 xor ah, ah ; 30 e4 11851 call 079a 3h ; e8 d8 fd11851 call 079a8h ; e8 d8 fd 11852 11852 mov byte [bp-010h], al ; 88 46 f0 11853 11853 test bl, bl ; 84 db 11854 jne short 07bd ah ; 75 0811854 jne short 07bdfh ; 75 08 11855 11855 test bh, bh ; 84 ff 11856 jne short 07bd ah ; 75 0411856 jne short 07bdfh ; 75 04 11857 11857 test dx, dx ; 85 d2 11858 je short 07b9 5h ; 74 bb11858 je short 07b9ah ; 74 bb 11859 11859 mov bx, 00142h ; bb 42 01 11860 11860 mov ax, 04f02h ; b8 02 4f 11861 11861 int 010h ; cd 10 11862 11862 cmp byte [bp-014h], 000h ; 80 7e ec 00 11863 je short 07c 0dh ; 74 2511863 je short 07c12h ; 74 25 11864 11864 xor cx, cx ; 31 c9 11865 jmp short 07bf 2h ; eb 0611865 jmp short 07bf7h ; eb 06 11866 11866 inc cx ; 41 11867 11867 cmp cx, strict byte 00010h ; 83 f9 10 11868 jnbe short 07c1 4h ; 77 2211868 jnbe short 07c19h ; 77 22 11869 11869 mov ax, cx ; 89 c8 11870 11870 or ah, 002h ; 80 cc 02 … … 11873 11873 xor dx, dx ; 31 d2 11874 11874 mov ax, strict word 00001h ; b8 01 00 11875 call 078f 1h ; e8 ee fc11875 call 078f6h ; e8 ee fc 11876 11876 cmp AL, strict byte 086h ; 3c 86 11877 jne short 07b ech ; 75 e511877 jne short 07bf1h ; 75 e5 11878 11878 mov byte [bp-00ch], 001h ; c6 46 f4 01 11879 jmp short 07c1 4h ; eb 0711879 jmp short 07c19h ; eb 07 11880 11880 mov ax, 00210h ; b8 10 02 11881 11881 mov dx, 003b8h ; ba b8 03 11882 11882 out DX, ax ; ef 11883 11883 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11884 jne short 07c 2fh ; 75 1511884 jne short 07c34h ; 75 15 11885 11885 mov CL, strict byte 004h ; b1 04 11886 11886 mov ax, word [bp-016h] ; 8b 46 ea 11887 11887 shr ax, CL ; d3 e8 11888 11888 mov dx, strict word 00001h ; ba 01 00 11889 call 078f 1h ; e8 ca fc11889 call 078f6h ; e8 ca fc 11890 11890 cmp AL, strict byte 086h ; 3c 86 11891 jne short 07c 2fh ; 75 0411891 jne short 07c34h ; 75 04 11892 11892 mov byte [bp-00ch], 001h ; c6 46 f4 01 11893 11893 cmp byte [bp-012h], 000h ; 80 7e ee 00 11894 je short 07c 5eh ; 74 2911894 je short 07c63h ; 74 29 11895 11895 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11896 jne short 07c 5eh ; 75 2311896 jne short 07c63h ; 75 23 11897 11897 mov cx, strict word 00010h ; b9 10 00 11898 jmp short 07c4 5h ; eb 0511898 jmp short 07c4ah ; eb 05 11899 11899 dec cx ; 49 11900 11900 test cx, cx ; 85 c9 11901 jbe short 07c 5eh ; 76 1911901 jbe short 07c63h ; 76 19 11902 11902 mov ax, cx ; 89 c8 11903 11903 or ah, 002h ; 80 cc 02 … … 11906 11906 xor dx, dx ; 31 d2 11907 11907 mov ax, strict word 00001h ; b8 01 00 11908 call 078f 1h ; e8 9b fc11908 call 078f6h ; e8 9b fc 11909 11909 cmp AL, strict byte 086h ; 3c 86 11910 jne short 07c4 0h ; 75 e611910 jne short 07c45h ; 75 e6 11911 11911 mov byte [bp-00ch], 001h ; c6 46 f4 01 11912 11912 xor bx, bx ; 31 db 11913 11913 mov dx, 0037dh ; ba 7d 03 11914 11914 mov ax, si ; 89 f0 11915 call 01660h ; e8 f 89911915 call 01660h ; e8 f3 99 11916 11916 mov AL, strict byte 003h ; b0 03 11917 11917 mov AH, strict byte 000h ; b4 00 11918 11918 int 010h ; cd 10 11919 11919 cmp byte [bp-010h], 000h ; 80 7e f0 00 11920 je short 07c8 8h ; 74 1411920 je short 07c8dh ; 74 14 11921 11921 cmp byte [bp-014h], 000h ; 80 7e ec 00 11922 jne short 07cb 6h ; 75 3c11922 jne short 07cbbh ; 75 3c 11923 11923 cmp byte [bp-012h], 000h ; 80 7e ee 00 11924 jne short 07cb 6h ; 75 3611924 jne short 07cbbh ; 75 36 11925 11925 cmp word [bp-016h], strict byte 00000h ; 83 7e ea 00 11926 je short 07c 8bh ; 74 0511927 jmp short 07cb 6h ; eb 2e11928 jmp near 07d7 2h ; e9 e7 0011926 je short 07c90h ; 74 05 11927 jmp short 07cbbh ; eb 2e 11928 jmp near 07d77h ; e9 e7 00 11929 11929 cmp byte [bp-010h], 002h ; 80 7e f0 02 11930 jne short 07c 9fh ; 75 0e11930 jne short 07ca4h ; 75 0e 11931 11931 mov ax, 00a4bh ; b8 4b 0a 11932 11932 push ax ; 50 11933 11933 mov ax, strict word 00002h ; b8 02 00 11934 11934 push ax ; 50 11935 call 01976h ; e8 d a9c11935 call 01976h ; e8 d5 9c 11936 11936 add sp, strict byte 00004h ; 83 c4 04 11937 11937 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11938 jne short 07cb 6h ; 75 1111938 jne short 07cbbh ; 75 11 11939 11939 mov dx, strict word 00001h ; ba 01 00 11940 11940 mov ax, 000c0h ; b8 c0 00 11941 call 078f 1h ; e8 43 fc11941 call 078f6h ; e8 43 fc 11942 11942 cmp AL, strict byte 086h ; 3c 86 11943 jne short 07cb 6h ; 75 0411943 jne short 07cbbh ; 75 04 11944 11944 mov byte [bp-00ch], 001h ; c6 46 f4 01 11945 11945 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11946 je short 07c8 8h ; 74 cc11946 je short 07c8dh ; 74 cc 11947 11947 mov byte [bp-00eh], 000h ; c6 46 f2 00 11948 11948 mov ax, 00100h ; b8 00 01 … … 11965 11965 mov ax, strict word 00002h ; b8 02 00 11966 11966 push ax ; 50 11967 call 01976h ; e8 8 e9c11967 call 01976h ; e8 89 9c 11968 11968 add sp, strict byte 00004h ; 83 c4 04 11969 call 079 cdh ; e8 df fc11969 call 079d2h ; e8 df fc 11970 11970 mov ax, 00ab1h ; b8 b1 0a 11971 11971 push ax ; 50 11972 11972 mov ax, strict word 00002h ; b8 02 00 11973 11973 push ax ; 50 11974 call 01976h ; e8 7 d9c11974 call 01976h ; e8 78 9c 11975 11975 add sp, strict byte 00004h ; 83 c4 04 11976 11976 mov dx, strict word 00001h ; ba 01 00 11977 11977 mov ax, strict word 00040h ; b8 40 00 11978 call 078f 1h ; e8 ec fb11978 call 078f6h ; e8 ec fb 11979 11979 mov cl, al ; 88 c1 11980 11980 test al, al ; 84 c0 11981 je short 07 cfch ; 74 f111981 je short 07d01h ; 74 f1 11982 11982 cmp AL, strict byte 030h ; 3c 30 11983 je short 07d 5fh ; 74 5011983 je short 07d64h ; 74 50 11984 11984 cmp cl, 002h ; 80 f9 02 11985 jc short 07d3 8h ; 72 2411985 jc short 07d3dh ; 72 24 11986 11986 cmp cl, 009h ; 80 f9 09 11987 jnbe short 07d3 8h ; 77 1f11987 jnbe short 07d3dh ; 77 1f 11988 11988 mov al, cl ; 88 c8 11989 11989 xor ah, ah ; 30 e4 11990 call 07b2 7h ; e8 07 fe11990 call 07b2ch ; e8 07 fe 11991 11991 cmp AL, strict byte 0ffh ; 3c ff 11992 jne short 07d2 6h ; 75 0211993 jmp short 07 cfch ; eb d611992 jne short 07d2bh ; 75 02 11993 jmp short 07d01h ; eb d6 11994 11994 mov bl, al ; 88 c3 11995 11995 xor bh, bh ; 30 ff 11996 11996 mov dx, 0037ch ; ba 7c 03 11997 11997 mov ax, si ; 89 f0 11998 call 01660h ; e8 2 e9911998 call 01660h ; e8 29 99 11999 11999 mov byte [bp-00eh], 002h ; c6 46 f2 02 12000 jmp short 07d 5fh ; eb 2712000 jmp short 07d64h ; eb 27 12001 12001 cmp cl, 02eh ; 80 f9 2e 12002 je short 07d 4dh ; 74 1012002 je short 07d52h ; 74 10 12003 12003 cmp cl, 026h ; 80 f9 26 12004 je short 07d5 3h ; 74 1112004 je short 07d58h ; 74 11 12005 12005 cmp cl, 021h ; 80 f9 21 12006 jne short 07d5 9h ; 75 1212006 jne short 07d5eh ; 75 12 12007 12007 mov byte [bp-00eh], 001h ; c6 46 f2 01 12008 jmp short 07d 5fh ; eb 1212008 jmp short 07d64h ; eb 12 12009 12009 mov byte [bp-00eh], 003h ; c6 46 f2 03 12010 jmp short 07d 5fh ; eb 0c12010 jmp short 07d64h ; eb 0c 12011 12011 mov byte [bp-00eh], 004h ; c6 46 f2 04 12012 jmp short 07d 5fh ; eb 0612012 jmp short 07d64h ; eb 06 12013 12013 cmp byte [bp-00eh], 000h ; 80 7e f2 00 12014 je short 07 cfch ; 74 9d12014 je short 07d01h ; 74 9d 12015 12015 mov bl, byte [bp-00eh] ; 8a 5e f2 12016 12016 xor bh, bh ; 30 ff 12017 12017 mov dx, 0037dh ; ba 7d 03 12018 12018 mov ax, si ; 89 f0 12019 call 01660h ; e8 f49812019 call 01660h ; e8 ef 98 12020 12020 mov AL, strict byte 003h ; b0 03 12021 12021 mov AH, strict byte 000h ; b4 00 … … 12030 12030 push DS ; 1e 12031 12031 mov ds, ax ; 8e d8 12032 call 0ede3h ; e8 607012032 call 0ede3h ; e8 5b 70 12033 12033 pop DS ; 1f 12034 12034 pop bp ; 5d … … 12041 12041 pop bp ; 5d 12042 12042 retn ; c3 12043 delay_boot_: ; 0xf7d 8fLB 0x7212043 delay_boot_: ; 0xf7d94 LB 0x72 12044 12044 push bp ; 55 12045 12045 mov bp, sp ; 89 e5 … … 12051 12051 mov bx, ax ; 89 c3 12052 12052 test ax, ax ; 85 c0 12053 je short 07df 7h ; 74 5a12053 je short 07dfch ; 74 5a 12054 12054 mov AL, strict byte 034h ; b0 34 12055 12055 out strict byte 043h, AL ; e6 43 … … 12063 12063 mov ax, strict word 00002h ; b8 02 00 12064 12064 push ax ; 50 12065 call 01976h ; e8 c19b12065 call 01976h ; e8 bc 9b 12066 12066 add sp, strict byte 00006h ; 83 c4 06 12067 12067 test bx, bx ; 85 db 12068 jbe short 07dd 6h ; 76 1a12068 jbe short 07ddbh ; 76 1a 12069 12069 push bx ; 53 12070 12070 mov ax, 00b19h ; b8 19 0b … … 12072 12072 mov ax, strict word 00002h ; b8 02 00 12073 12073 push ax ; 50 12074 call 01976h ; e8 a e9b12074 call 01976h ; e8 a9 9b 12075 12075 add sp, strict byte 00006h ; 83 c4 06 12076 12076 xor dx, dx ; 31 d2 12077 12077 mov ax, strict word 00040h ; b8 40 00 12078 call 078f 1h ; e8 1e fb12078 call 078f6h ; e8 1e fb 12079 12079 dec bx ; 4b 12080 jmp short 07db 8h ; eb e212080 jmp short 07dbdh ; eb e2 12081 12081 mov bx, 00a49h ; bb 49 0a 12082 12082 push bx ; 53 12083 12083 mov bx, strict word 00002h ; bb 02 00 12084 12084 push bx ; 53 12085 call 01976h ; e8 9 59b12085 call 01976h ; e8 90 9b 12086 12086 add sp, strict byte 00004h ; 83 c4 04 12087 12087 mov AL, strict byte 034h ; b0 34 … … 12094 12094 push DS ; 1e 12095 12095 mov ds, ax ; 8e d8 12096 call 0ede3h ; e8 e e6f12096 call 0ede3h ; e8 e9 6f 12097 12097 pop DS ; 1f 12098 12098 pop bp ; 5d … … 12105 12105 pop bp ; 5d 12106 12106 retn ; c3 12107 scsi_cmd_data_in_: ; 0xf7e0 1LB 0xd512107 scsi_cmd_data_in_: ; 0xf7e06 LB 0xd5 12108 12108 push bp ; 55 12109 12109 mov bp, sp ; 89 e5 … … 12121 12121 ; sub ah, ah ; 2a e4 12122 12122 test AL, strict byte 001h ; a8 01 12123 jne short 07e1 7h ; 75 f712123 jne short 07e1ch ; 75 f7 12124 12124 mov al, byte [bp+004h] ; 8a 46 04 12125 12125 cmp AL, strict byte 010h ; 3c 10 12126 jne short 07e 2bh ; 75 0412126 jne short 07e30h ; 75 04 12127 12127 xor ax, ax ; 31 c0 12128 jmp short 07e 2dh ; eb 0212128 jmp short 07e32h ; eb 02 12129 12129 xor ah, ah ; 30 e4 12130 12130 mov di, ax ; 89 c7 … … 12134 12134 shr dx, 1 ; d1 ea 12135 12135 rcr ax, 1 ; d1 d8 12136 loop 07e3 7h ; e2 fa12136 loop 07e3ch ; e2 fa 12137 12137 mov cx, ax ; 89 c1 12138 12138 and cx, 000f0h ; 81 e1 f0 00 … … 12152 12152 shr dx, 1 ; d1 ea 12153 12153 rcr ax, 1 ; d1 d8 12154 loop 07e 5ch ; e2 fa12154 loop 07e61h ; e2 fa 12155 12155 mov dx, si ; 89 f2 12156 12156 out DX, AL ; ee … … 12159 12159 xor ah, ah ; 30 e4 12160 12160 cmp cx, ax ; 39 c1 12161 jnc short 07e 7eh ; 73 0e12161 jnc short 07e83h ; 73 0e 12162 12162 les di, [bp-00ah] ; c4 7e f6 12163 12163 add di, cx ; 01 cf … … 12166 12166 out DX, AL ; ee 12167 12167 inc cx ; 41 12168 jmp short 07e6 7h ; eb e912168 jmp short 07e6ch ; eb e9 12169 12169 mov dx, si ; 89 f2 12170 12170 in AL, DX ; ec … … 12172 12172 ; sub ah, ah ; 2a e4 12173 12173 test AL, strict byte 001h ; a8 01 12174 jne short 07e 7eh ; 75 f712174 jne short 07e83h ; 75 f7 12175 12175 test AL, strict byte 002h ; a8 02 12176 je short 07e9 9h ; 74 0e12176 je short 07e9eh ; 74 0e 12177 12177 lea dx, [si+003h] ; 8d 54 03 12178 12178 xor al, al ; 30 c0 … … 12182 12182 ; sub ah, ah ; 2a e4 12183 12183 mov di, strict word 00004h ; bf 04 00 12184 jmp short 07e cbh ; eb 3212184 jmp short 07ed0h ; eb 32 12185 12185 lea dx, [si+001h] ; 8d 54 01 12186 12186 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 12187 jne short 07ea 8h ; 75 0612187 jne short 07eadh ; 75 06 12188 12188 cmp bx, 08000h ; 81 fb 00 80 12189 jbe short 07ec 2h ; 76 1a12189 jbe short 07ec7h ; 76 1a 12190 12190 mov cx, 08000h ; b9 00 80 12191 12191 les di, [bp+006h] ; c4 7e 06 … … 12196 12196 add ax, 00800h ; 05 00 08 12197 12197 mov word [bp+008h], ax ; 89 46 08 12198 jmp short 07e9 9h ; eb d712198 jmp short 07e9eh ; eb d7 12199 12199 mov cx, bx ; 89 d9 12200 12200 les di, [bp+006h] ; c4 7e 06 … … 12207 12207 pop bp ; 5d 12208 12208 retn 0000ah ; c2 0a 00 12209 scsi_cmd_data_out_: ; 0xf7ed 6LB 0xd512209 scsi_cmd_data_out_: ; 0xf7edb LB 0xd5 12210 12210 push bp ; 55 12211 12211 mov bp, sp ; 89 e5 … … 12223 12223 ; sub ah, ah ; 2a e4 12224 12224 test AL, strict byte 001h ; a8 01 12225 jne short 07e ech ; 75 f712225 jne short 07ef1h ; 75 f7 12226 12226 mov al, byte [bp+004h] ; 8a 46 04 12227 12227 cmp AL, strict byte 010h ; 3c 10 12228 jne short 07f0 0h ; 75 0412228 jne short 07f05h ; 75 04 12229 12229 xor ax, ax ; 31 c0 12230 jmp short 07f0 2h ; eb 0212230 jmp short 07f07h ; eb 02 12231 12231 xor ah, ah ; 30 e4 12232 12232 mov si, ax ; 89 c6 … … 12236 12236 shr dx, 1 ; d1 ea 12237 12237 rcr ax, 1 ; d1 d8 12238 loop 07f 0ch ; e2 fa12238 loop 07f11h ; e2 fa 12239 12239 mov cx, ax ; 89 c1 12240 12240 and cx, 000f0h ; 81 e1 f0 00 … … 12254 12254 shr dx, 1 ; d1 ea 12255 12255 rcr ax, 1 ; d1 d8 12256 loop 07f3 1h ; e2 fa12256 loop 07f36h ; e2 fa 12257 12257 mov dx, di ; 89 fa 12258 12258 out DX, AL ; ee … … 12261 12261 xor ah, ah ; 30 e4 12262 12262 cmp cx, ax ; 39 c1 12263 jnc short 07f5 3h ; 73 0e12263 jnc short 07f58h ; 73 0e 12264 12264 les si, [bp-00ah] ; c4 76 f6 12265 12265 add si, cx ; 01 ce … … 12268 12268 out DX, AL ; ee 12269 12269 inc cx ; 41 12270 jmp short 07f 3ch ; eb e912270 jmp short 07f41h ; eb e9 12271 12271 lea dx, [di+001h] ; 8d 55 01 12272 12272 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 12273 jne short 07f6 2h ; 75 0612273 jne short 07f67h ; 75 06 12274 12274 cmp bx, 08000h ; 81 fb 00 80 12275 jbe short 07f 7dh ; 76 1b12275 jbe short 07f82h ; 76 1b 12276 12276 mov cx, 08000h ; b9 00 80 12277 12277 les si, [bp+006h] ; c4 76 06 … … 12283 12283 add ax, 00800h ; 05 00 08 12284 12284 mov word [bp+008h], ax ; 89 46 08 12285 jmp short 07f5 3h ; eb d612285 jmp short 07f58h ; eb d6 12286 12286 mov cx, bx ; 89 d9 12287 12287 les si, [bp+006h] ; c4 76 06 … … 12293 12293 ; sub ah, ah ; 2a e4 12294 12294 test AL, strict byte 001h ; a8 01 12295 jne short 07f8 5h ; 75 f712295 jne short 07f8ah ; 75 f7 12296 12296 test AL, strict byte 002h ; a8 02 12297 je short 07fa 0h ; 74 0e12297 je short 07fa5h ; 74 0e 12298 12298 lea dx, [di+003h] ; 8d 55 03 12299 12299 xor al, al ; 30 c0 … … 12303 12303 ; sub ah, ah ; 2a e4 12304 12304 mov ax, strict word 00004h ; b8 04 00 12305 jmp short 07fa 2h ; eb 0212305 jmp short 07fa7h ; eb 02 12306 12306 xor ax, ax ; 31 c0 12307 12307 lea sp, [bp-004h] ; 8d 66 fc … … 12310 12310 pop bp ; 5d 12311 12311 retn 0000ah ; c2 0a 00 12312 @scsi_read_sectors: ; 0xf7f abLB 0xe912312 @scsi_read_sectors: ; 0xf7fb0 LB 0xe9 12313 12313 push bp ; 55 12314 12314 mov bp, sp ; 89 e5 … … 12322 12322 mov byte [bp-006h], al ; 88 46 fa 12323 12323 cmp AL, strict byte 004h ; 3c 04 12324 jbe short 07f dbh ; 76 1512324 jbe short 07fe0h ; 76 15 12325 12325 xor ah, ah ; 30 e4 12326 12326 push ax ; 50 … … 12331 12331 mov ax, strict word 00007h ; b8 07 00 12332 12332 push ax ; 50 12333 call 01976h ; e8 9 e9912333 call 01976h ; e8 99 99 12334 12334 add sp, strict byte 00008h ; 83 c4 08 12335 12335 mov es, [bp+006h] ; 8e 46 06 … … 12372 12372 sal word [bp-00ah], 1 ; d1 66 f6 12373 12373 rcl word [bp-008h], 1 ; d1 56 f8 12374 loop 0804 6h ; e2 f812374 loop 0804bh ; e2 f8 12375 12375 push word [bp-008h] ; ff 76 f8 12376 12376 push word [bp-00ah] ; ff 76 f6 … … 12383 12383 mov cx, ss ; 8c d1 12384 12384 lea bx, [bp-01ah] ; 8d 5e e6 12385 call 07e0 1h ; e8 95 fd12385 call 07e06h ; e8 95 fd 12386 12386 mov ah, al ; 88 c4 12387 12387 test al, al ; 84 c0 12388 jne short 0808 7h ; 75 1512388 jne short 0808ch ; 75 15 12389 12389 mov es, [bp+006h] ; 8e 46 06 12390 12390 mov word [es:si+018h], di ; 26 89 7c 18 … … 12400 12400 pop bp ; 5d 12401 12401 retn 00004h ; c2 04 00 12402 @scsi_write_sectors: ; 0xf809 4LB 0xe912402 @scsi_write_sectors: ; 0xf8099 LB 0xe9 12403 12403 push bp ; 55 12404 12404 mov bp, sp ; 89 e5 … … 12412 12412 mov byte [bp-006h], al ; 88 46 fa 12413 12413 cmp AL, strict byte 004h ; 3c 04 12414 jbe short 080c 4h ; 76 1512414 jbe short 080c9h ; 76 15 12415 12415 xor ah, ah ; 30 e4 12416 12416 push ax ; 50 … … 12421 12421 mov ax, strict word 00007h ; b8 07 00 12422 12422 push ax ; 50 12423 call 01976h ; e8 b 59812423 call 01976h ; e8 b0 98 12424 12424 add sp, strict byte 00008h ; 83 c4 08 12425 12425 mov es, [bp+006h] ; 8e 46 06 … … 12462 12462 sal word [bp-00ah], 1 ; d1 66 f6 12463 12463 rcl word [bp-008h], 1 ; d1 56 f8 12464 loop 081 2fh ; e2 f812464 loop 08134h ; e2 f8 12465 12465 push word [bp-008h] ; ff 76 f8 12466 12466 push word [bp-00ah] ; ff 76 f6 … … 12473 12473 mov cx, ss ; 8c d1 12474 12474 lea bx, [bp-01ah] ; 8d 5e e6 12475 call 07ed 6h ; e8 81 fd12475 call 07edbh ; e8 81 fd 12476 12476 mov ah, al ; 88 c4 12477 12477 test al, al ; 84 c0 12478 jne short 0817 0h ; 75 1512478 jne short 08175h ; 75 15 12479 12479 mov es, [bp+006h] ; 8e 46 06 12480 12480 mov word [es:si+018h], di ; 26 89 7c 18 … … 12490 12490 pop bp ; 5d 12491 12491 retn 00004h ; c2 04 00 12492 scsi_cmd_packet_: ; 0xf81 7dLB 0x17012492 scsi_cmd_packet_: ; 0xf8182 LB 0x170 12493 12493 push bp ; 55 12494 12494 mov bp, sp ; 89 e5 … … 12502 12502 mov dx, strict word 0000eh ; ba 0e 00 12503 12503 mov ax, strict word 00040h ; b8 40 00 12504 call 0166eh ; e8 d 59412504 call 0166eh ; e8 d0 94 12505 12505 mov si, 00122h ; be 22 01 12506 12506 mov word [bp-00ch], ax ; 89 46 f4 12507 12507 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12508 jne short 081c 8h ; 75 2312509 mov bx, 00da 6h ; bb a60d12508 jne short 081cdh ; 75 23 12509 mov bx, 00da4h ; bb a4 0d 12510 12510 mov cx, ds ; 8c d9 12511 12511 mov ax, strict word 00004h ; b8 04 00 12512 call 01933h ; e8 839712512 call 01933h ; e8 7e 97 12513 12513 mov ax, 00b62h ; b8 62 0b 12514 12514 push ax ; 50 … … 12517 12517 mov ax, strict word 00004h ; b8 04 00 12518 12518 push ax ; 50 12519 call 01976h ; e8 b 79712519 call 01976h ; e8 b2 97 12520 12520 add sp, strict byte 00006h ; 83 c4 06 12521 12521 mov dx, strict word 00001h ; ba 01 00 12522 jmp near 082e 2h ; e9 1a 0112522 jmp near 082e7h ; e9 1a 01 12523 12523 sub di, strict byte 00008h ; 83 ef 08 12524 12524 sal di, 1 ; d1 e7 … … 12535 12535 ; sub ah, ah ; 2a e4 12536 12536 test AL, strict byte 001h ; a8 01 12537 jne short 081e 5h ; 75 f712537 jne short 081eah ; 75 f7 12538 12538 xor dx, bx ; 31 da 12539 12539 mov ax, word [bp+006h] ; 8b 46 06 … … 12551 12551 shr dx, 1 ; d1 ea 12552 12552 rcr ax, 1 ; d1 d8 12553 loop 0821 0h ; e2 fa12553 loop 08215h ; e2 fa 12554 12554 and ax, 000f0h ; 25 f0 00 12555 12555 mov cl, byte [bp-006h] ; 8a 4e fa … … 12570 12570 shr dx, 1 ; d1 ea 12571 12571 rcr ax, 1 ; d1 d8 12572 loop 0823 8h ; e2 fa12572 loop 0823dh ; e2 fa 12573 12573 mov dx, bx ; 89 da 12574 12574 out DX, AL ; ee … … 12577 12577 xor ah, ah ; 30 e4 12578 12578 cmp cx, ax ; 39 c1 12579 jnc short 082 5dh ; 73 1112579 jnc short 08262h ; 73 11 12580 12580 mov es, [bp-00ah] ; 8e 46 f6 12581 12581 mov di, word [bp-00eh] ; 8b 7e f2 … … 12585 12585 out DX, AL ; ee 12586 12586 inc cx ; 41 12587 jmp short 0824 3h ; eb e612587 jmp short 08248h ; eb e6 12588 12588 mov dx, bx ; 89 da 12589 12589 in AL, DX ; ec … … 12591 12591 ; sub ah, ah ; 2a e4 12592 12592 test AL, strict byte 001h ; a8 01 12593 jne short 082 5dh ; 75 f712593 jne short 08262h ; 75 f7 12594 12594 test AL, strict byte 002h ; a8 02 12595 je short 0827 8h ; 74 0e12595 je short 0827dh ; 74 0e 12596 12596 lea dx, [bx+003h] ; 8d 57 03 12597 12597 xor al, al ; 30 c0 … … 12601 12601 ; sub ah, ah ; 2a e4 12602 12602 mov dx, strict word 00003h ; ba 03 00 12603 jmp short 082e 2h ; eb 6a12603 jmp short 082e7h ; eb 6a 12604 12604 mov ax, word [bp+004h] ; 8b 46 04 12605 12605 test ax, ax ; 85 c0 12606 je short 0828 7h ; 74 0812606 je short 0828ch ; 74 08 12607 12607 lea dx, [bx+001h] ; 8d 57 01 12608 12608 mov cx, ax ; 89 c1 12609 12609 in AL, DX ; ec 12610 loop 0828 4h ; e2 fd12610 loop 08289h ; e2 fd 12611 12611 mov ax, word [bp+006h] ; 8b 46 06 12612 12612 mov es, [bp-00ch] ; 8e 46 f4 … … 12616 12616 lea ax, [bx+001h] ; 8d 47 01 12617 12617 cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00 12618 jne short 082a 8h ; 75 0712618 jne short 082adh ; 75 07 12619 12619 cmp word [bp+006h], 08000h ; 81 7e 06 00 80 12620 jbe short 082c 5h ; 76 1d12620 jbe short 082cah ; 76 1d 12621 12621 mov dx, ax ; 89 c2 12622 12622 mov cx, 08000h ; b9 00 80 … … 12628 12628 add ax, 00800h ; 05 00 08 12629 12629 mov word [bp+00eh], ax ; 89 46 0e 12630 jmp short 0829 8h ; eb d312630 jmp short 0829dh ; eb d3 12631 12631 mov dx, ax ; 89 c2 12632 12632 mov cx, word [bp+006h] ; 8b 4e 06 … … 12635 12635 mov es, [bp-00ch] ; 8e 46 f4 12636 12636 cmp word [es:si+020h], strict byte 00000h ; 26 83 7c 20 00 12637 je short 082e 0h ; 74 0712637 je short 082e5h ; 74 07 12638 12638 mov cx, word [es:si+020h] ; 26 8b 4c 20 12639 12639 in AL, DX ; ec 12640 loop 082 ddh ; e2 fd12640 loop 082e2h ; e2 fd 12641 12641 xor dx, dx ; 31 d2 12642 12642 mov ax, dx ; 89 d0 … … 12646 12646 pop bp ; 5d 12647 12647 retn 0000ch ; c2 0c 00 12648 scsi_enumerate_attached_devices_: ; 0xf82 edLB 0x4cb12648 scsi_enumerate_attached_devices_: ; 0xf82f2 LB 0x4cb 12649 12649 push bp ; 55 12650 12650 mov bp, sp ; 89 e5 … … 12658 12658 mov dx, strict word 0000eh ; ba 0e 00 12659 12659 mov ax, strict word 00040h ; b8 40 00 12660 call 0166eh ; e8 6 b9312660 call 0166eh ; e8 66 93 12661 12661 mov di, 00122h ; bf 22 01 12662 12662 mov word [bp-016h], ax ; 89 46 ea 12663 12663 mov word [bp-014h], strict word 00000h ; c7 46 ec 00 00 12664 jmp near 087 2bh ; e9 1a 0412664 jmp near 08730h ; e9 1a 04 12665 12665 cmp AL, strict byte 004h ; 3c 04 12666 jc short 0831 8h ; 72 0312667 jmp near 087 aeh ; e9 96 0412666 jc short 0831dh ; 72 03 12667 jmp near 087b3h ; e9 96 04 12668 12668 mov cx, strict word 00010h ; b9 10 00 12669 12669 xor bx, bx ; 31 db 12670 12670 mov dx, ss ; 8c d2 12671 12671 lea ax, [bp-048h] ; 8d 46 b8 12672 call 0a0 70h ; e8 4b1d12672 call 0a080h ; e8 56 1d 12673 12673 mov byte [bp-048h], 09eh ; c6 46 b8 9e 12674 12674 mov byte [bp-047h], 010h ; c6 46 b9 10 … … 12688 12688 lea bx, [bp-048h] ; 8d 5e b8 12689 12689 mov ax, word [bp-0024ah] ; 8b 86 b6 fd 12690 call 07e0 1h ; e8 ae fa12690 call 07e06h ; e8 ae fa 12691 12691 test al, al ; 84 c0 12692 je short 0836 9h ; 74 1212692 je short 0836eh ; 74 12 12693 12693 mov ax, 00b92h ; b8 92 0b 12694 12694 push ax ; 50 … … 12697 12697 mov ax, strict word 00007h ; b8 07 00 12698 12698 push ax ; 50 12699 call 01976h ; e8 109612699 call 01976h ; e8 0b 96 12700 12700 add sp, strict byte 00006h ; 83 c4 06 12701 12701 mov ax, word [bp-00242h] ; 8b 86 be fd … … 12729 12729 sal ax, 1 ; d1 e0 12730 12730 rcl dx, 1 ; d1 d2 12731 loop 083b 7h ; e2 fa12731 loop 083bch ; e2 fa 12732 12732 or bx, ax ; 09 c3 12733 12733 or dx, si ; 09 f2 … … 12737 12737 mov word [bp-01ch], bx ; 89 5e e4 12738 12738 test dx, dx ; 85 d2 12739 jne short 083d 6h ; 75 0612739 jne short 083dbh ; 75 06 12740 12740 cmp bx, 00200h ; 81 fb 00 02 12741 je short 083f 9h ; 74 2312742 mov bx, 00da 6h ; bb a60d12741 je short 083feh ; 74 23 12742 mov bx, 00da4h ; bb a4 0d 12743 12743 mov cx, ds ; 8c d9 12744 12744 mov ax, strict word 00004h ; b8 04 00 12745 call 01933h ; e8 529512745 call 01933h ; e8 4d 95 12746 12746 push dx ; 52 12747 12747 push word [bp-01ch] ; ff 76 e4 … … 12751 12751 mov ax, strict word 00004h ; b8 04 00 12752 12752 push ax ; 50 12753 call 01976h ; e8 839512753 call 01976h ; e8 7e 95 12754 12754 add sp, strict byte 0000ah ; 83 c4 0a 12755 jmp near 087 1fh ; e9 26 0312755 jmp near 08724h ; e9 26 03 12756 12756 mov al, byte [bp-00ch] ; 8a 46 f4 12757 12757 cmp AL, strict byte 001h ; 3c 01 12758 jc short 084 0ch ; 72 0c12759 jbe short 0841 4h ; 76 1212758 jc short 08411h ; 72 0c 12759 jbe short 08419h ; 76 12 12760 12760 cmp AL, strict byte 003h ; 3c 03 12761 je short 084 1ch ; 74 1612761 je short 08421h ; 74 16 12762 12762 cmp AL, strict byte 002h ; 3c 02 12763 je short 0841 8h ; 74 0e12764 jmp short 0846 3h ; eb 5712763 je short 0841dh ; 74 0e 12764 jmp short 08468h ; eb 57 12765 12765 test al, al ; 84 c0 12766 jne short 0846 3h ; 75 5312766 jne short 08468h ; 75 53 12767 12767 mov BL, strict byte 090h ; b3 90 12768 jmp short 084 1eh ; eb 0a12768 jmp short 08423h ; eb 0a 12769 12769 mov BL, strict byte 098h ; b3 98 12770 jmp short 084 1eh ; eb 0612770 jmp short 08423h ; eb 06 12771 12771 mov BL, strict byte 0a0h ; b3 a0 12772 jmp short 084 1eh ; eb 0212772 jmp short 08423h ; eb 02 12773 12773 mov BL, strict byte 0a8h ; b3 a8 12774 12774 mov cl, bl ; 88 d9 … … 12776 12776 xor ch, ch ; 30 ed 12777 12777 mov ax, cx ; 89 c8 12778 call 016aeh ; e8 849212778 call 016aeh ; e8 7f 92 12779 12779 test al, al ; 84 c0 12780 je short 0846 3h ; 74 3512780 je short 08468h ; 74 35 12781 12781 mov al, bl ; 88 d8 12782 12782 db 0feh, 0c0h 12783 12783 ; inc al ; fe c0 12784 12784 xor ah, ah ; 30 e4 12785 call 016aeh ; e8 7 79212785 call 016aeh ; e8 72 92 12786 12786 mov dh, al ; 88 c6 12787 12787 mov al, bl ; 88 d8 12788 12788 xor ah, ah ; 30 e4 12789 call 016aeh ; e8 6 e9212789 call 016aeh ; e8 69 92 12790 12790 mov ah, dh ; 88 f4 12791 12791 cwd ; 99 … … 12795 12795 add AL, strict byte 002h ; 04 02 12796 12796 xor ah, ah ; 30 e4 12797 call 016aeh ; e8 5 d9212797 call 016aeh ; e8 58 92 12798 12798 xor ah, ah ; 30 e4 12799 12799 mov word [bp-028h], ax ; 89 46 d8 12800 12800 mov ax, cx ; 89 c8 12801 call 016aeh ; e8 539212801 call 016aeh ; e8 4e 92 12802 12802 xor ah, ah ; 30 e4 12803 12803 mov word [bp-01ah], ax ; 89 46 e6 12804 jmp near 0855 0h ; e9 ed 0012804 jmp near 08555h ; e9 ed 00 12805 12805 mov ax, word [bp-020h] ; 8b 46 e0 12806 12806 mov bx, word [bp-022h] ; 8b 5e de … … 12808 12808 mov dx, word [bp-024h] ; 8b 56 dc 12809 12809 mov si, strict word 0000ch ; be 0c 00 12810 call 0a0 50h ; e8 db1b12810 call 0a060h ; e8 e6 1b 12811 12811 mov word [bp-02ah], ax ; 89 46 d6 12812 12812 mov word [bp-02ch], bx ; 89 5e d4 … … 12815 12815 mov ax, word [bp-020h] ; 8b 46 e0 12816 12816 test ax, ax ; 85 c0 12817 jnbe short 084 9dh ; 77 1512818 je short 084 8dh ; 74 0312819 jmp near 0851 0h ; e9 83 0012817 jnbe short 084a2h ; 77 15 12818 je short 08492h ; 74 03 12819 jmp near 08515h ; e9 83 00 12820 12820 cmp word [bp-022h], strict byte 00000h ; 83 7e de 00 12821 jnbe short 084 9dh ; 77 0a12822 jne short 0848 ah ; 75 f512821 jnbe short 084a2h ; 77 0a 12822 jne short 0848fh ; 75 f5 12823 12823 cmp word [bp-012h], strict byte 00040h ; 83 7e ee 40 12824 jnbe short 084 9dh ; 77 0212825 jne short 0851 0h ; 75 7312824 jnbe short 084a2h ; 77 02 12825 jne short 08515h ; 75 73 12826 12826 mov word [bp-028h], 000ffh ; c7 46 d8 ff 00 12827 12827 mov word [bp-01ah], strict word 0003fh ; c7 46 e6 3f 00 … … 12830 12830 mov dx, word [bp-024h] ; 8b 56 dc 12831 12831 mov si, strict word 00006h ; be 06 00 12832 call 0a0 50h ; e8 9a1b12832 call 0a060h ; e8 a5 1b 12833 12833 mov si, word [bp-018h] ; 8b 76 e8 12834 12834 add si, dx ; 01 d6 … … 12848 12848 mov dx, si ; 89 f2 12849 12849 mov si, strict word 00008h ; be 08 00 12850 call 0a0 50h ; e8 6a1b12850 call 0a060h ; e8 75 1b 12851 12851 mov word [bp-02eh], bx ; 89 5e d2 12852 12852 mov word [bp-030h], cx ; 89 4e d0 … … 12857 12857 mov dx, word [bp-01eh] ; 8b 56 e2 12858 12858 mov si, strict word 00010h ; be 10 00 12859 call 0a0 50h ; e8 4f1b12859 call 0a060h ; e8 5a 1b 12860 12860 mov si, word [bp-032h] ; 8b 76 ce 12861 12861 add si, dx ; 01 d6 … … 12863 12863 mov ax, word [bp-02eh] ; 8b 46 d2 12864 12864 adc ax, bx ; 11 d8 12865 jmp short 085 4dh ; eb 3d12865 jmp short 08552h ; eb 3d 12866 12866 test ax, ax ; 85 c0 12867 jnbe short 0852 6h ; 77 1212868 jne short 0853 2h ; 75 1c12867 jnbe short 0852bh ; 77 12 12868 jne short 08537h ; 75 1c 12869 12869 cmp word [bp-022h], strict byte 00000h ; 83 7e de 00 12870 jnbe short 0852 6h ; 77 0a12871 jne short 0853 2h ; 75 1412870 jnbe short 0852bh ; 77 0a 12871 jne short 08537h ; 75 14 12872 12872 cmp word [bp-012h], strict byte 00020h ; 83 7e ee 20 12873 jnbe short 0852 6h ; 77 0212874 jne short 0853 2h ; 75 0c12873 jnbe short 0852bh ; 77 02 12874 jne short 08537h ; 75 0c 12875 12875 mov word [bp-028h], 00080h ; c7 46 d8 80 00 12876 12876 mov word [bp-01ah], strict word 00020h ; c7 46 e6 20 00 12877 jmp short 085 4bh ; eb 1912877 jmp short 08550h ; eb 19 12878 12878 mov word [bp-028h], strict word 00040h ; c7 46 d8 40 00 12879 12879 mov word [bp-01ah], strict word 00020h ; c7 46 e6 20 00 … … 12882 12882 mov dx, word [bp-024h] ; 8b 56 dc 12883 12883 mov si, strict word 0000bh ; be 0b 00 12884 call 0a0 50h ; e8 051b12884 call 0a060h ; e8 10 1b 12885 12885 mov si, dx ; 89 d6 12886 12886 mov word [bp-026h], cx ; 89 4e da … … 12919 12919 mov word [es:bx+034h], ax ; 26 89 47 34 12920 12920 cmp word [bp-026h], strict byte 00000h ; 83 7e da 00 12921 jne short 085c 7h ; 75 0612921 jne short 085cch ; 75 06 12922 12922 cmp si, 00400h ; 81 fe 00 04 12923 jbe short 085d 5h ; 76 0e12923 jbe short 085dah ; 76 0e 12924 12924 mov word [es:bx+02ch], 00400h ; 26 c7 47 2c 00 04 12925 12925 mov word [es:bx+032h], 00400h ; 26 c7 47 32 00 04 12926 jmp short 085 ddh ; eb 0812926 jmp short 085e2h ; eb 08 12927 12927 mov word [es:bx+02ch], si ; 26 89 77 2c 12928 12928 mov word [es:bx+032h], si ; 26 89 77 32 12929 mov bx, 00da 6h ; bb a60d12929 mov bx, 00da4h ; bb a4 0d 12930 12930 mov cx, ds ; 8c d9 12931 12931 mov ax, strict word 00004h ; b8 04 00 12932 call 01933h ; e8 4 b9312932 call 01933h ; e8 46 93 12933 12933 push word [bp-020h] ; ff 76 e0 12934 12934 push word [bp-022h] ; ff 76 de … … 12947 12947 mov ax, strict word 00004h ; b8 04 00 12948 12948 push ax ; 50 12949 call 01976h ; e8 649312949 call 01976h ; e8 5f 93 12950 12950 add sp, strict byte 00018h ; 83 c4 18 12951 12951 mov al, byte [bp-00eh] ; 8a 46 f2 … … 12976 12976 mov dx, strict word 00075h ; ba 75 00 12977 12977 mov ax, strict word 00040h ; b8 40 00 12978 call 01652h ; e8 e a8f12978 call 01652h ; e8 e5 8f 12979 12979 mov bl, al ; 88 c3 12980 12980 db 0feh, 0c3h … … 12983 12983 mov dx, strict word 00075h ; ba 75 00 12984 12984 mov ax, strict word 00040h ; b8 40 00 12985 call 01660h ; e8 e 98f12985 call 01660h ; e8 e4 8f 12986 12986 inc byte [bp-00ch] ; fe 46 f4 12987 jmp near 0871 4h ; e9 97 0012988 mov bx, 00da 6h ; bb a60d12987 jmp near 08719h ; e9 97 00 12988 mov bx, 00da4h ; bb a4 0d 12989 12989 mov cx, ds ; 8c d9 12990 12990 mov ax, strict word 00004h ; b8 04 00 12991 call 01933h ; e8 a b9212991 call 01933h ; e8 a6 92 12992 12992 push word [bp-014h] ; ff 76 ec 12993 12993 mov al, byte [bp-00ch] ; 8a 46 f4 … … 12998 12998 mov ax, strict word 00004h ; b8 04 00 12999 12999 push ax ; 50 13000 call 01976h ; e8 d a9213000 call 01976h ; e8 d5 92 13001 13001 add sp, strict byte 00008h ; 83 c4 08 13002 13002 mov al, byte [bp-00ch] ; 8a 46 f4 … … 13004 13004 mov byte [bp-00eh], al ; 88 46 f2 13005 13005 test byte [bp-00247h], 080h ; f6 86 b9 fd 80 13006 je short 086b 3h ; 74 0513006 je short 086b8h ; 74 05 13007 13007 mov cx, strict word 00001h ; b9 01 00 13008 jmp short 086b 5h ; eb 0213008 jmp short 086bah ; eb 02 13009 13009 xor cx, cx ; 31 c9 13010 13010 mov al, byte [bp-00ch] ; 8a 46 f4 … … 13044 13044 inc word [bp-014h] ; ff 46 ec 13045 13045 cmp word [bp-014h], strict byte 00010h ; 83 7e ec 10 13046 jl short 087 2bh ; 7c 0313047 jmp near 087 aeh ; e9 83 0013046 jl short 08730h ; 7c 03 13047 jmp near 087b3h ; e9 83 00 13048 13048 mov byte [bp-048h], 012h ; c6 46 b8 12 13049 13049 xor al, al ; 30 c0 … … 13067 13067 lea bx, [bp-048h] ; 8d 5e b8 13068 13068 mov ax, word [bp-0024ah] ; 8b 86 b6 fd 13069 call 07e0 1h ; e8 9e f613069 call 07e06h ; e8 9e f6 13070 13070 test al, al ; 84 c0 13071 je short 0877 9h ; 74 1213071 je short 0877eh ; 74 12 13072 13072 mov ax, 00b92h ; b8 92 0b 13073 13073 push ax ; 50 … … 13076 13076 mov ax, strict word 00007h ; b8 07 00 13077 13077 push ax ; 50 13078 call 01976h ; e8 00 9213078 call 01976h ; e8 fb 91 13079 13079 add sp, strict byte 00006h ; 83 c4 06 13080 13080 mov es, [bp-016h] ; 8e 46 ea … … 13082 13082 mov byte [bp-00ch], al ; 88 46 f4 13083 13083 test byte [bp-00248h], 0e0h ; f6 86 b8 fd e0 13084 jne short 0879 5h ; 75 0a13084 jne short 0879ah ; 75 0a 13085 13085 test byte [bp-00248h], 01fh ; f6 86 b8 fd 1f 13086 jne short 0879 5h ; 75 0313087 jmp near 0831 1h ; e9 7c fb13086 jne short 0879ah ; 75 03 13087 jmp near 08316h ; e9 7c fb 13088 13088 test byte [bp-00248h], 0e0h ; f6 86 b8 fd e0 13089 je short 087 9fh ; 74 0313090 jmp near 0871 4h ; e9 75 ff13089 je short 087a4h ; 74 03 13090 jmp near 08719h ; e9 75 ff 13091 13091 mov al, byte [bp-00248h] ; 8a 86 b8 fd 13092 13092 and AL, strict byte 01fh ; 24 1f 13093 13093 cmp AL, strict byte 005h ; 3c 05 13094 jne short 087 ach ; 75 0313095 jmp near 086 7dh ; e9 d1 fe13096 jmp short 087 9ch ; eb ee13094 jne short 087b1h ; 75 03 13095 jmp near 08682h ; e9 d1 fe 13096 jmp short 087a1h ; eb ee 13097 13097 lea sp, [bp-00ah] ; 8d 66 f6 13098 13098 pop di ; 5f … … 13103 13103 pop bp ; 5d 13104 13104 retn ; c3 13105 _scsi_init: ; 0xf87b 8LB 0x6613105 _scsi_init: ; 0xf87bd LB 0x66 13106 13106 push bp ; 55 13107 13107 mov bp, sp ; 89 e5 13108 13108 mov dx, strict word 0000eh ; ba 0e 00 13109 13109 mov ax, strict word 00040h ; b8 40 00 13110 call 0166eh ; e8 a a8e13110 call 0166eh ; e8 a5 8e 13111 13111 mov bx, 00122h ; bb 22 01 13112 13112 mov es, ax ; 8e c0 … … 13119 13119 ; sub ah, ah ; 2a e4 13120 13120 cmp AL, strict byte 055h ; 3c 55 13121 jne short 087e 8h ; 75 0c13121 jne short 087edh ; 75 0c 13122 13122 xor al, al ; 30 c0 13123 13123 mov dx, 00433h ; ba 33 04 13124 13124 out DX, AL ; ee 13125 13125 mov ax, 00430h ; b8 30 04 13126 call 082 edh ; e8 05 fb13126 call 082f2h ; e8 05 fb 13127 13127 mov AL, strict byte 055h ; b0 55 13128 13128 mov dx, 00436h ; ba 36 04 … … 13132 13132 ; sub ah, ah ; 2a e4 13133 13133 cmp AL, strict byte 055h ; 3c 55 13134 jne short 0880 1h ; 75 0c13134 jne short 08806h ; 75 0c 13135 13135 xor al, al ; 30 c0 13136 13136 mov dx, 00437h ; ba 37 04 13137 13137 out DX, AL ; ee 13138 13138 mov ax, 00434h ; b8 34 04 13139 call 082 edh ; e8 ec fa13139 call 082f2h ; e8 ec fa 13140 13140 mov AL, strict byte 055h ; b0 55 13141 13141 mov dx, 0043ah ; ba 3a 04 … … 13145 13145 ; sub ah, ah ; 2a e4 13146 13146 cmp AL, strict byte 055h ; 3c 55 13147 jne short 0881 ah ; 75 0c13147 jne short 0881fh ; 75 0c 13148 13148 xor al, al ; 30 c0 13149 13149 mov dx, 0043bh ; ba 3b 04 13150 13150 out DX, AL ; ee 13151 13151 mov ax, 00438h ; b8 38 04 13152 call 082 edh ; e8 d3 fa13152 call 082f2h ; e8 d3 fa 13153 13153 mov sp, bp ; 89 ec 13154 13154 pop bp ; 5d 13155 13155 retn ; c3 13156 ahci_ctrl_extract_bits_: ; 0xf88 1eLB 0x1c13156 ahci_ctrl_extract_bits_: ; 0xf8823 LB 0x1c 13157 13157 push si ; 56 13158 13158 push bp ; 55 … … 13163 13163 mov cl, byte [bp+006h] ; 8a 4e 06 13164 13164 xor ch, ch ; 30 ed 13165 jcxz 0883 5h ; e3 0613165 jcxz 0883ah ; e3 06 13166 13166 shr dx, 1 ; d1 ea 13167 13167 rcr ax, 1 ; d1 d8 13168 loop 088 2fh ; e2 fa13168 loop 08834h ; e2 fa 13169 13169 pop bp ; 5d 13170 13170 pop si ; 5e 13171 13171 retn 00002h ; c2 02 00 13172 ahci_addr_to_phys_: ; 0xf883 aLB 0x1e13172 ahci_addr_to_phys_: ; 0xf883f LB 0x1e 13173 13173 push bx ; 53 13174 13174 push cx ; 51 … … 13181 13181 sal ax, 1 ; d1 e0 13182 13182 rcl dx, 1 ; d1 d2 13183 loop 0884 8h ; e2 fa13183 loop 0884dh ; e2 fa 13184 13184 xor cx, cx ; 31 c9 13185 13185 add ax, bx ; 01 d8 … … 13189 13189 pop bx ; 5b 13190 13190 retn ; c3 13191 ahci_port_cmd_sync_: ; 0xf885 8LB 0x15913191 ahci_port_cmd_sync_: ; 0xf885d LB 0x159 13192 13192 push bp ; 55 13193 13193 mov bp, sp ; 89 e5 … … 13204 13204 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 13205 13205 cmp AL, strict byte 0ffh ; 3c ff 13206 jne short 088 7bh ; 75 0313207 jmp near 089a 9h ; e9 2e 0113206 jne short 08880h ; 75 03 13207 jmp near 089aeh ; e9 2e 01 13208 13208 mov al, byte [es:si+00263h] ; 26 8a 84 63 02 13209 13209 xor ah, ah ; 30 e4 … … 13218 13218 lea ax, [si+00080h] ; 8d 84 80 00 13219 13219 mov dx, cx ; 89 ca 13220 call 0883 ah ; e8 92 ff13220 call 0883fh ; e8 92 ff 13221 13221 mov es, cx ; 8e c1 13222 13222 mov word [es:si+008h], ax ; 26 89 44 08 … … 13286 13286 xchg dx, ax ; 92 13287 13287 test dh, 040h ; f6 c6 40 13288 jne short 089 3bh ; 75 0413288 jne short 08940h ; 75 04 13289 13289 test AL, strict byte 001h ; a8 01 13290 je short 089 3fh ; 74 0413290 je short 08944h ; 74 04 13291 13291 mov AL, strict byte 001h ; b0 01 13292 jmp short 0894 1h ; eb 0213292 jmp short 08946h ; eb 02 13293 13293 xor al, al ; 30 c0 13294 13294 test al, al ; 84 c0 13295 je short 089 0dh ; 74 c813295 je short 08912h ; 74 c8 13296 13296 mov al, byte [bp-008h] ; 8a 46 f8 13297 13297 xor ah, ah ; 30 e4 … … 13350 13350 pop bp ; 5d 13351 13351 retn ; c3 13352 ahci_cmd_data_: ; 0xf89b 1LB 0x26213352 ahci_cmd_data_: ; 0xf89b6 LB 0x262 13353 13353 push bp ; 55 13354 13354 mov bp, sp ; 89 e5 … … 13375 13375 mov ax, 00080h ; b8 80 00 13376 13376 mov dx, word [bp-00ah] ; 8b 56 f6 13377 call 0a0 70h ; e8 811613377 call 0a080h ; e8 8c 16 13378 13378 mov es, [bp-00ah] ; 8e 46 f6 13379 13379 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 13393 13393 mov dx, word [es:si] ; 26 8b 14 13394 13394 mov si, strict word 00008h ; be 08 00 13395 call 0a0 50h ; e8 1d1613395 call 0a060h ; e8 28 16 13396 13396 mov es, [bp-00ah] ; 8e 46 f6 13397 13397 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 13404 13404 mov dx, word [es:si] ; 26 8b 14 13405 13405 mov si, strict word 00010h ; be 10 00 13406 call 0a0 50h ; e8 f7 1513406 call 0a060h ; e8 02 16 13407 13407 mov es, [bp-00ah] ; 8e 46 f6 13408 13408 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 13416 13416 mov dx, word [es:si] ; 26 8b 14 13417 13417 mov si, strict word 00018h ; be 18 00 13418 call 0a0 50h ; e8 cb1513418 call 0a060h ; e8 d6 15 13419 13419 mov es, [bp-00ah] ; 8e 46 f6 13420 13420 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 13427 13427 mov dx, word [es:si] ; 26 8b 14 13428 13428 mov si, strict word 00020h ; be 20 00 13429 call 0a0 50h ; e8 a51513429 call 0a060h ; e8 b0 15 13430 13430 mov es, [bp-00ah] ; 8e 46 f6 13431 13431 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 13438 13438 mov dx, word [es:si] ; 26 8b 14 13439 13439 mov si, strict word 00028h ; be 28 00 13440 call 0a0 50h ; e8 7f1513440 call 0a060h ; e8 8a 15 13441 13441 mov es, [bp-00ah] ; 8e 46 f6 13442 13442 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 13451 13451 mov bx, word [bp-012h] ; 8b 5e ee 13452 13452 xor cx, cx ; 31 c9 13453 call 0a0 00h ; e8 fd 1413453 call 0a010h ; e8 08 15 13454 13454 push dx ; 52 13455 13455 push ax ; 50 … … 13461 13461 mov ax, 0026ah ; b8 6a 02 13462 13462 mov dx, word [bp-00ah] ; 8b 56 f6 13463 call 09f5 ah ; e8 3b 1413463 call 09f5fh ; e8 3b 14 13464 13464 mov es, [bp-00ah] ; 8e 46 f6 13465 13465 mov dx, word [es:di+0027eh] ; 26 8b 95 7e 02 … … 13485 13485 mov ax, word [es:bx+020h] ; 26 8b 47 20 13486 13486 test ax, ax ; 85 c0 13487 je short 08b afh ; 74 3913487 je short 08bb4h ; 74 39 13488 13488 dec ax ; 48 13489 13489 mov es, [bp-00ah] ; 8e 46 f6 … … 13503 13503 mov al, byte [bp-008h] ; 8a 46 f8 13504 13504 cmp AL, strict byte 035h ; 3c 35 13505 jne short 08b bch ; 75 0613505 jne short 08bc1h ; 75 06 13506 13506 mov byte [bp-008h], 040h ; c6 46 f8 40 13507 jmp short 08bd 3h ; eb 1713507 jmp short 08bd8h ; eb 17 13508 13508 cmp AL, strict byte 0a0h ; 3c a0 13509 jne short 08b cfh ; 75 0f13509 jne short 08bd4h ; 75 0f 13510 13510 or byte [bp-008h], 020h ; 80 4e f8 20 13511 13511 les bx, [bp-00eh] ; c4 5e f2 13512 13512 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 13513 jmp short 08bd 3h ; eb 0413513 jmp short 08bd8h ; eb 04 13514 13514 mov byte [bp-008h], 000h ; c6 46 f8 00 13515 13515 or byte [bp-008h], 005h ; 80 4e f8 05 … … 13518 13518 mov ax, word [bp-00eh] ; 8b 46 f2 13519 13519 mov dx, word [bp-00ch] ; 8b 56 f4 13520 call 0885 8h ; e8 73 fc13520 call 0885dh ; e8 73 fc 13521 13521 mov cx, word [bp-00ch] ; 8b 4e f4 13522 13522 mov bx, word [bp-00eh] ; 8b 5e f2 … … 13525 13525 add ax, 0026ah ; 05 6a 02 13526 13526 mov dx, cx ; 89 ca 13527 call 09fd 1h ; e8 d7 1313527 call 09fd6h ; e8 d7 13 13528 13528 mov es, cx ; 8e c1 13529 13529 mov al, byte [es:bx+003h] ; 26 8a 47 03 13530 13530 test al, al ; 84 c0 13531 je short 08c0 9h ; 74 0513531 je short 08c0eh ; 74 05 13532 13532 mov ax, strict word 00004h ; b8 04 00 13533 jmp short 08c 0bh ; eb 0213533 jmp short 08c10h ; eb 02 13534 13534 xor ah, ah ; 30 e4 13535 13535 lea sp, [bp-006h] ; 8d 66 fa … … 13539 13539 pop bp ; 5d 13540 13540 retn ; c3 13541 ahci_port_deinit_current_: ; 0xf8c1 3LB 0x18313541 ahci_port_deinit_current_: ; 0xf8c18 LB 0x183 13542 13542 push bp ; 55 13543 13543 mov bp, sp ; 89 e5 … … 13554 13554 mov byte [bp-00ah], al ; 88 46 f6 13555 13555 cmp AL, strict byte 0ffh ; 3c ff 13556 je short 08c9 6h ; 74 6113556 je short 08c9bh ; 74 61 13557 13557 xor ah, ah ; 30 e4 13558 13558 mov CL, strict byte 007h ; b1 07 … … 13600 13600 xchg dx, ax ; 92 13601 13601 test ax, 0c011h ; a9 11 c0 13602 je short 08c9 9h ; 74 0713602 je short 08c9eh ; 74 07 13603 13603 mov AL, strict byte 001h ; b0 01 13604 jmp short 08c 9bh ; eb 0513605 jmp near 08d 8dh ; e9 f4 0013604 jmp short 08ca0h ; eb 05 13605 jmp near 08d92h ; e9 f4 00 13606 13606 xor al, al ; 30 c0 13607 13607 cmp AL, strict byte 001h ; 3c 01 13608 je short 08c6 8h ; 74 c913608 je short 08c6dh ; 74 c9 13609 13609 mov cx, strict word 00020h ; b9 20 00 13610 13610 xor bx, bx ; 31 db 13611 13611 mov ax, di ; 89 f8 13612 13612 mov dx, word [bp-00eh] ; 8b 56 f2 13613 call 0a0 70h ; e8 c41313613 call 0a080h ; e8 cf 13 13614 13614 lea ax, [di+00080h] ; 8d 85 80 00 13615 13615 mov cx, strict word 00040h ; b9 40 00 13616 13616 xor bx, bx ; 31 db 13617 13617 mov dx, word [bp-00eh] ; 8b 56 f2 13618 call 0a0 70h ; e8 b51313618 call 0a080h ; e8 c0 13 13619 13619 lea ax, [di+00200h] ; 8d 85 00 02 13620 13620 mov cx, strict word 00060h ; b9 60 00 13621 13621 xor bx, bx ; 31 db 13622 13622 mov dx, word [bp-00eh] ; 8b 56 f2 13623 call 0a0 70h ; e8 a61313623 call 0a080h ; e8 b1 13 13624 13624 mov al, byte [bp-00ah] ; 8a 46 f6 13625 13625 xor ah, ah ; 30 e4 … … 13727 13727 pop bp ; 5d 13728 13728 retn ; c3 13729 ahci_port_init_: ; 0xf8d9 6LB 0x25013729 ahci_port_init_: ; 0xf8d9b LB 0x250 13730 13730 push bp ; 55 13731 13731 mov bp, sp ; 89 e5 … … 13737 13737 mov word [bp-00ah], dx ; 89 56 f6 13738 13738 mov byte [bp-008h], bl ; 88 5e f8 13739 call 08c1 3h ; e8 69 fe13739 call 08c18h ; e8 69 fe 13740 13740 mov al, bl ; 88 d8 13741 13741 xor ah, ah ; 30 e4 … … 13788 13788 xchg dx, ax ; 92 13789 13789 test ax, 0c011h ; a9 11 c0 13790 je short 08e 1dh ; 74 0413790 je short 08e22h ; 74 04 13791 13791 mov AL, strict byte 001h ; b0 01 13792 jmp short 08e 1fh ; eb 0213792 jmp short 08e24h ; eb 02 13793 13793 xor al, al ; 30 c0 13794 13794 cmp AL, strict byte 001h ; 3c 01 13795 je short 08de 7h ; 74 c413795 je short 08dech ; 74 c4 13796 13796 mov cx, strict word 00020h ; b9 20 00 13797 13797 xor bx, bx ; 31 db 13798 13798 mov ax, si ; 89 f0 13799 13799 mov dx, word [bp-00ah] ; 8b 56 f6 13800 call 0a0 70h ; e8 401213800 call 0a080h ; e8 4b 12 13801 13801 lea ax, [si+00080h] ; 8d 84 80 00 13802 13802 mov cx, strict word 00040h ; b9 40 00 13803 13803 xor bx, bx ; 31 db 13804 13804 mov dx, word [bp-00ah] ; 8b 56 f6 13805 call 0a0 70h ; e8 311213805 call 0a080h ; e8 3c 12 13806 13806 lea di, [si+00200h] ; 8d bc 00 02 13807 13807 mov cx, strict word 00060h ; b9 60 00 … … 13809 13809 mov ax, di ; 89 f8 13810 13810 mov dx, word [bp-00ah] ; 8b 56 f6 13811 call 0a0 70h ; e8 201213811 call 0a080h ; e8 2b 12 13812 13812 mov bl, byte [bp-008h] ; 8a 5e f8 13813 13813 xor bh, bh ; 30 ff … … 13828 13828 mov ax, di ; 89 f8 13829 13829 mov dx, word [bp-00ah] ; 8b 56 f6 13830 call 0883 ah ; e8 bb f913830 call 0883fh ; e8 bb f9 13831 13831 mov es, [bp-00ah] ; 8e 46 f6 13832 13832 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13873 13873 mov ax, si ; 89 f0 13874 13874 mov dx, word [bp-00ah] ; 8b 56 f6 13875 call 0883 ah ; e8 4f f913875 call 0883fh ; e8 4f f9 13876 13876 mov es, [bp-00ah] ; 8e 46 f6 13877 13877 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13978 13978 pop bp ; 5d 13979 13979 retn ; c3 13980 @ahci_read_sectors: ; 0xf8fe 6LB 0xaa13980 @ahci_read_sectors: ; 0xf8feb LB 0xaa 13981 13981 push bp ; 55 13982 13982 mov bp, sp ; 89 e5 … … 13989 13989 sub di, strict byte 0000ch ; 83 ef 0c 13990 13990 cmp di, strict byte 00004h ; 83 ff 04 13991 jbe short 0901 1h ; 76 1313991 jbe short 09016h ; 76 13 13992 13992 push di ; 57 13993 13993 mov ax, 00c62h ; b8 62 0c … … 13997 13997 mov ax, strict word 00007h ; b8 07 00 13998 13998 push ax ; 50 13999 call 01976h ; e8 6 88913999 call 01976h ; e8 63 89 14000 14000 add sp, strict byte 00008h ; 83 c4 08 14001 14001 xor bx, bx ; 31 db … … 14011 14011 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14012 14012 xor ax, ax ; 31 c0 14013 call 08d9 6h ; e8 5a fd14013 call 08d9bh ; e8 5a fd 14014 14014 mov bx, strict word 00025h ; bb 25 00 14015 14015 mov ax, si ; 89 f0 14016 14016 mov dx, word [bp+006h] ; 8b 56 06 14017 call 089b 1h ; e8 6a f914017 call 089b6h ; e8 6a f9 14018 14018 mov bx, ax ; 89 c3 14019 14019 mov es, [bp+006h] ; 8e 46 06 … … 14045 14045 pop bp ; 5d 14046 14046 retn 00004h ; c2 04 00 14047 @ahci_write_sectors: ; 0xf909 0LB 0x8814047 @ahci_write_sectors: ; 0xf9095 LB 0x88 14048 14048 push bp ; 55 14049 14049 mov bp, sp ; 89 e5 … … 14057 14057 sub bx, strict byte 0000ch ; 83 eb 0c 14058 14058 cmp bx, strict byte 00004h ; 83 fb 04 14059 jbe short 090 beh ; 76 1314059 jbe short 090c3h ; 76 13 14060 14060 push bx ; 53 14061 14061 mov ax, 00c93h ; b8 93 0c … … 14065 14065 mov ax, strict word 00007h ; b8 07 00 14066 14066 push ax ; 50 14067 call 01976h ; e8 b b8814067 call 01976h ; e8 b6 88 14068 14068 add sp, strict byte 00008h ; 83 c4 08 14069 14069 xor di, di ; 31 ff … … 14079 14079 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14080 14080 xor ax, ax ; 31 c0 14081 call 08d9 6h ; e8 af fc14081 call 08d9bh ; e8 af fc 14082 14082 mov bx, strict word 00035h ; bb 35 00 14083 14083 mov ax, si ; 89 f0 14084 14084 mov dx, cx ; 89 ca 14085 call 089b 1h ; e8 c0 f814085 call 089b6h ; e8 c0 f8 14086 14086 mov dx, ax ; 89 c2 14087 14087 mov es, cx ; 8e c1 … … 14098 14098 pop bp ; 5d 14099 14099 retn 00004h ; c2 04 00 14100 ahci_cmd_packet_: ; 0xf911 8LB 0x18c14100 ahci_cmd_packet_: ; 0xf911d LB 0x18c 14101 14101 push bp ; 55 14102 14102 mov bp, sp ; 89 e5 … … 14110 14110 mov dx, strict word 0000eh ; ba 0e 00 14111 14111 mov ax, strict word 00040h ; b8 40 00 14112 call 0166eh ; e8 3 b8514112 call 0166eh ; e8 36 85 14113 14113 mov si, 00122h ; be 22 01 14114 14114 mov word [bp-008h], ax ; 89 46 f8 14115 14115 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 14116 jne short 0916 2h ; 75 2314117 mov bx, 00da 6h ; bb a60d14116 jne short 09167h ; 75 23 14117 mov bx, 00da4h ; bb a4 0d 14118 14118 mov cx, ds ; 8c d9 14119 14119 mov ax, strict word 00004h ; b8 04 00 14120 call 01933h ; e8 e 98714120 call 01933h ; e8 e4 87 14121 14121 mov ax, 00ca6h ; b8 a6 0c 14122 14122 push ax ; 50 … … 14125 14125 mov ax, strict word 00004h ; b8 04 00 14126 14126 push ax ; 50 14127 call 01976h ; e8 1 d8814127 call 01976h ; e8 18 88 14128 14128 add sp, strict byte 00006h ; 83 c4 06 14129 14129 mov ax, strict word 00001h ; b8 01 00 14130 jmp near 092 9bh ; e9 39 0114130 jmp near 092a0h ; e9 39 01 14131 14131 test byte [bp+004h], 001h ; f6 46 04 01 14132 jne short 091 5ch ; 75 f414132 jne short 09161h ; 75 f4 14133 14133 mov bx, word [bp+006h] ; 8b 5e 06 14134 14134 mov di, word [bp+008h] ; 8b 7e 08 … … 14136 14136 sal bx, 1 ; d1 e3 14137 14137 rcl di, 1 ; d1 d7 14138 loop 0917 1h ; e2 fa14138 loop 09176h ; e2 fa 14139 14139 mov es, [bp-008h] ; 8e 46 f8 14140 14140 mov word [es:si], bx ; 26 89 1c … … 14150 14150 mov dx, word [bp+008h] ; 8b 56 08 14151 14151 xor cx, cx ; 31 c9 14152 call 0a0 20h ; e8 760e14152 call 0a030h ; e8 81 0e 14153 14153 mov word [es:si+00eh], ax ; 26 89 44 0e 14154 14154 xor di, di ; 31 ff … … 14168 14168 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14169 14169 xor ax, ax ; 31 c0 14170 call 08d9 6h ; e8 af fb14170 call 08d9bh ; e8 af fb 14171 14171 mov al, byte [bp-006h] ; 8a 46 fa 14172 14172 xor ah, ah ; 30 e4 … … 14176 14176 mov ax, 000c0h ; b8 c0 00 14177 14177 mov dx, word [bp-00ah] ; 8b 56 f6 14178 call 0a0 80h ; e8 840e14178 call 0a090h ; e8 8f 0e 14179 14179 mov es, [bp-008h] ; 8e 46 f8 14180 14180 mov word [es:si+018h], di ; 26 89 7c 18 … … 14183 14183 mov ax, word [es:si+01eh] ; 26 8b 44 1e 14184 14184 test ax, ax ; 85 c0 14185 je short 0923 ah ; 74 2714185 je short 0923fh ; 74 27 14186 14186 dec ax ; 48 14187 14187 mov es, [bp-00ah] ; 8e 46 f6 … … 14196 14196 mov ax, si ; 89 f0 14197 14197 mov dx, word [bp-008h] ; 8b 56 f8 14198 call 089b 1h ; e8 6c f714198 call 089b6h ; e8 6c f7 14199 14199 les bx, [bp-00eh] ; c4 5e f2 14200 14200 mov dx, word [es:bx+004h] ; 26 8b 57 04 … … 14223 14223 mov ax, word [es:bx+006h] ; 26 8b 47 06 14224 14224 or ax, word [es:bx+004h] ; 26 0b 47 04 14225 jne short 0929 9h ; 75 0514225 jne short 0929eh ; 75 05 14226 14226 mov ax, strict word 00004h ; b8 04 00 14227 jmp short 092 9bh ; eb 0214227 jmp short 092a0h ; eb 02 14228 14228 xor ax, ax ; 31 c0 14229 14229 lea sp, [bp-004h] ; 8d 66 fc … … 14232 14232 pop bp ; 5d 14233 14233 retn 0000ch ; c2 0c 00 14234 ahci_port_detect_device_: ; 0xf92a 4LB 0x4fe14234 ahci_port_detect_device_: ; 0xf92a9 LB 0x4fe 14235 14235 push bp ; 55 14236 14236 mov bp, sp ; 89 e5 … … 14248 14248 mov bx, word [bp-020h] ; 8b 5e e0 14249 14249 mov ax, si ; 89 f0 14250 call 08d9 6h ; e8 ce fa14250 call 08d9bh ; e8 ce fa 14251 14251 mov dx, strict word 0000eh ; ba 0e 00 14252 14252 mov ax, strict word 00040h ; b8 40 00 14253 call 0166eh ; e8 9 d8314253 call 0166eh ; e8 98 83 14254 14254 mov word [bp-01ah], 00122h ; c7 46 e6 22 01 14255 14255 mov word [bp-00eh], ax ; 89 46 f2 … … 14323 14323 mov bx, strict word 0000fh ; bb 0f 00 14324 14324 xor cx, cx ; 31 c9 14325 call 088 1eh ; e8 9f f414325 call 08823h ; e8 9f f4 14326 14326 test ax, ax ; 85 c0 14327 jne short 0938 6h ; 75 0314328 jmp near 0979 ah ; e9 14 0414327 jne short 0938bh ; 75 03 14328 jmp near 0979fh ; e9 14 04 14329 14329 mov al, byte [bp-008h] ; 8a 46 f8 14330 14330 xor ah, ah ; 30 e4 … … 14358 14358 xor cx, cx ; 31 c9 14359 14359 mov ax, di ; 89 f8 14360 call 088 1eh ; e8 4d f414360 call 08823h ; e8 4d f4 14361 14361 cmp ax, strict word 00001h ; 3d 01 00 14362 je short 0938 6h ; 74 b014362 je short 0938bh ; 74 b0 14363 14363 xor ax, ax ; 31 c0 14364 14364 push ax ; 50 … … 14367 14367 mov ax, di ; 89 f8 14368 14368 mov dx, word [bp-01ch] ; 8b 56 e4 14369 call 088 1eh ; e8 38 f414369 call 08823h ; e8 38 f4 14370 14370 cmp ax, strict word 00003h ; 3d 03 00 14371 jne short 0938 3h ; 75 9814371 jne short 09388h ; 75 98 14372 14372 mov ax, word [bp-016h] ; 8b 46 ea 14373 14373 add ax, 00130h ; 05 30 01 … … 14397 14397 mov byte [bp-00ch], al ; 88 46 f4 14398 14398 cmp AL, strict byte 004h ; 3c 04 14399 jc short 0943 5h ; 72 0314400 jmp near 0979 ah ; e9 65 0314399 jc short 0943ah ; 72 03 14400 jmp near 0979fh ; e9 65 03 14401 14401 mov ax, word [bp-016h] ; 8b 46 ea 14402 14402 add ax, 00118h ; 05 18 01 … … 14450 14450 add cl, 00ch ; 80 c1 0c 14451 14451 test dx, dx ; 85 d2 14452 jne short 0950 0h ; 75 5514452 jne short 09505h ; 75 55 14453 14453 cmp bx, 00101h ; 81 fb 01 01 14454 jne short 0950 0h ; 75 4f14454 jne short 09505h ; 75 4f 14455 14455 mov es, [bp-00eh] ; 8e 46 f2 14456 14456 mov bx, word [bp-01ah] ; 8b 5e e6 … … 14467 14467 mov ax, word [bp-01ah] ; 8b 46 e6 14468 14468 mov dx, es ; 8c c2 14469 call 089b 1h ; e8 c0 f414469 call 089b6h ; e8 c0 f4 14470 14470 mov byte [bp-00ah], cl ; 88 4e f6 14471 14471 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14472 je short 0950 3h ; 74 0814472 je short 09508h ; 74 08 14473 14473 mov ax, strict word 00001h ; b8 01 00 14474 jmp short 0950 5h ; eb 0514475 jmp near 096d 5h ; e9 d2 0114474 jmp short 0950ah ; eb 05 14475 jmp near 096dah ; e9 d2 01 14476 14476 xor ax, ax ; 31 c0 14477 14477 mov cl, al ; 88 c1 … … 14489 14489 mov word [bp-012h], ax ; 89 46 ee 14490 14490 cmp di, 00fffh ; 81 ff ff 0f 14491 jne short 0955 4h ; 75 1f14491 jne short 09559h ; 75 1f 14492 14492 cmp word [bp-014h], strict byte 0ffffh ; 83 7e ec ff 14493 jne short 0955 4h ; 75 1914493 jne short 09559h ; 75 19 14494 14494 mov ax, word [bp-0015ch] ; 8b 86 a4 fe 14495 14495 mov word [bp-012h], ax ; 89 46 ee … … 14531 14531 mov al, byte [bp-00ch] ; 8a 46 f4 14532 14532 cmp AL, strict byte 001h ; 3c 01 14533 jc short 095d 1h ; 72 0c14534 jbe short 095d 9h ; 76 1214533 jc short 095d6h ; 72 0c 14534 jbe short 095deh ; 76 12 14535 14535 cmp AL, strict byte 003h ; 3c 03 14536 je short 095e 1h ; 74 1614536 je short 095e6h ; 74 16 14537 14537 cmp AL, strict byte 002h ; 3c 02 14538 je short 095 ddh ; 74 0e14539 jmp short 0962 4h ; eb 5314538 je short 095e2h ; 74 0e 14539 jmp short 09629h ; eb 53 14540 14540 test al, al ; 84 c0 14541 jne short 0962 4h ; 75 4f14541 jne short 09629h ; 75 4f 14542 14542 mov DL, strict byte 040h ; b2 40 14543 jmp short 095e 3h ; eb 0a14543 jmp short 095e8h ; eb 0a 14544 14544 mov DL, strict byte 048h ; b2 48 14545 jmp short 095e 3h ; eb 0614545 jmp short 095e8h ; eb 06 14546 14546 mov DL, strict byte 050h ; b2 50 14547 jmp short 095e 3h ; eb 0214547 jmp short 095e8h ; eb 02 14548 14548 mov DL, strict byte 058h ; b2 58 14549 14549 mov bl, dl ; 88 d3 … … 14551 14551 xor bh, bh ; 30 ff 14552 14552 mov ax, bx ; 89 d8 14553 call 016aeh ; e8 b f8014553 call 016aeh ; e8 ba 80 14554 14554 test al, al ; 84 c0 14555 je short 0962 4h ; 74 3114555 je short 09629h ; 74 31 14556 14556 mov al, dl ; 88 d0 14557 14557 db 0feh, 0c0h 14558 14558 ; inc al ; fe c0 14559 14559 xor ah, ah ; 30 e4 14560 call 016aeh ; e8 b28014560 call 016aeh ; e8 ad 80 14561 14561 mov ch, al ; 88 c5 14562 14562 mov al, dl ; 88 d0 14563 14563 xor ah, ah ; 30 e4 14564 call 016aeh ; e8 a 98014564 call 016aeh ; e8 a4 80 14565 14565 mov ah, ch ; 88 ec 14566 14566 mov word [bp-028h], ax ; 89 46 d8 … … 14568 14568 add AL, strict byte 002h ; 04 02 14569 14569 xor ah, ah ; 30 e4 14570 call 016aeh ; e8 9 b8014570 call 016aeh ; e8 96 80 14571 14571 xor ah, ah ; 30 e4 14572 14572 mov word [bp-02ah], ax ; 89 46 d6 14573 14573 mov ax, bx ; 89 d8 14574 call 016aeh ; e8 918014574 call 016aeh ; e8 8c 80 14575 14575 xor ah, ah ; 30 e4 14576 14576 mov word [bp-026h], ax ; 89 46 da 14577 jmp short 0963 6h ; eb 1214577 jmp short 0963bh ; eb 12 14578 14578 push word [bp-012h] ; ff 76 ee 14579 14579 push word [bp-01eh] ; ff 76 e2 … … 14582 14582 mov dx, ss ; 8c d2 14583 14583 lea ax, [bp-02ah] ; 8d 46 d6 14584 call 05b09h ; e8 d3c414585 mov bx, 00da 6h ; bb a60d14584 call 05b09h ; e8 ce c4 14585 mov bx, 00da4h ; bb a4 0d 14586 14586 mov cx, ds ; 8c d9 14587 14587 mov ax, strict word 00004h ; b8 04 00 14588 call 01933h ; e8 f28214588 call 01933h ; e8 ed 82 14589 14589 push word [bp-012h] ; ff 76 ee 14590 14590 push word [bp-01eh] ; ff 76 e2 … … 14609 14609 mov ax, strict word 00004h ; b8 04 00 14610 14610 push ax ; 50 14611 call 01976h ; e8 01 8314611 call 01976h ; e8 fc 82 14612 14612 add sp, strict byte 0001ch ; 83 c4 1c 14613 14613 mov al, byte [bp-00ah] ; 8a 46 f6 … … 14641 14641 mov dx, strict word 00075h ; ba 75 00 14642 14642 mov ax, strict word 00040h ; b8 40 00 14643 call 01652h ; e8 8 f7f14643 call 01652h ; e8 8a 7f 14644 14644 mov bl, al ; 88 c3 14645 14645 db 0feh, 0c3h … … 14648 14648 mov dx, strict word 00075h ; ba 75 00 14649 14649 mov ax, strict word 00040h ; b8 40 00 14650 call 01660h ; e8 8 e7f14651 jmp near 0978 9h ; e9 b4 0014650 call 01660h ; e8 89 7f 14651 jmp near 0978eh ; e9 b4 00 14652 14652 cmp dx, 0eb14h ; 81 fa 14 eb 14653 jne short 0973 0h ; 75 5514653 jne short 09735h ; 75 55 14654 14654 cmp bx, 00101h ; 81 fb 01 01 14655 jne short 0973 0h ; 75 4f14655 jne short 09735h ; 75 4f 14656 14656 mov es, [bp-00eh] ; 8e 46 f2 14657 14657 mov bx, word [bp-01ah] ; 8b 5e e6 … … 14668 14668 mov ax, word [bp-01ah] ; 8b 46 e6 14669 14669 mov dx, es ; 8c c2 14670 call 089b 1h ; e8 90 f214670 call 089b6h ; e8 90 f2 14671 14671 mov byte [bp-00ah], cl ; 88 4e f6 14672 14672 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14673 je short 0973 2h ; 74 0714673 je short 09737h ; 74 07 14674 14674 mov cx, strict word 00001h ; b9 01 00 14675 jmp short 0973 4h ; eb 0414676 jmp short 0978 9h ; eb 5714675 jmp short 09739h ; eb 04 14676 jmp short 0978eh ; eb 57 14677 14677 xor cx, cx ; 31 c9 14678 14678 mov bl, byte [bp-00ch] ; 8a 5e f4 … … 14714 14714 pop bp ; 5d 14715 14715 retn ; c3 14716 ahci_mem_alloc_: ; 0xf97a 2LB 0x4314716 ahci_mem_alloc_: ; 0xf97a7 LB 0x43 14717 14717 push bp ; 55 14718 14718 mov bp, sp ; 89 e5 … … 14724 14724 mov dx, 00413h ; ba 13 04 14725 14725 xor ax, ax ; 31 c0 14726 call 0166eh ; e8 b c7e14726 call 0166eh ; e8 b7 7e 14727 14727 test ax, ax ; 85 c0 14728 je short 097 dbh ; 74 2514728 je short 097e0h ; 74 25 14729 14729 dec ax ; 48 14730 14730 mov bx, ax ; 89 c3 … … 14733 14733 sal ax, 1 ; d1 e0 14734 14734 rcl dx, 1 ; d1 d2 14735 loop 097 beh ; e2 fa14735 loop 097c3h ; e2 fa 14736 14736 mov si, ax ; 89 c6 14737 14737 mov di, dx ; 89 d7 … … 14739 14739 shr di, 1 ; d1 ef 14740 14740 rcr si, 1 ; d1 de 14741 loop 097 cbh ; e2 fa14741 loop 097d0h ; e2 fa 14742 14742 mov dx, 00413h ; ba 13 04 14743 14743 xor ax, ax ; 31 c0 14744 call 0167ch ; e8 a37e14744 call 0167ch ; e8 9e 7e 14745 14745 mov ax, si ; 89 f0 14746 14746 lea sp, [bp-00ah] ; 8d 66 f6 … … 14752 14752 pop bp ; 5d 14753 14753 retn ; c3 14754 ahci_hba_init_: ; 0xf97e 5LB 0x16e14754 ahci_hba_init_: ; 0xf97ea LB 0x16e 14755 14755 push bp ; 55 14756 14756 mov bp, sp ; 89 e5 … … 14764 14764 mov dx, strict word 0000eh ; ba 0e 00 14765 14765 mov ax, strict word 00040h ; b8 40 00 14766 call 0166eh ; e8 737e14766 call 0166eh ; e8 6e 7e 14767 14767 mov bx, 00122h ; bb 22 01 14768 14768 mov di, ax ; 89 c7 … … 14781 14781 shr eax, 010h ; 66 c1 e8 10 14782 14782 xchg dx, ax ; 92 14783 call 097a 2h ; e8 83 ff14783 call 097a7h ; e8 83 ff 14784 14784 mov word [bp-010h], ax ; 89 46 f0 14785 14785 test ax, ax ; 85 c0 14786 jne short 0982 9h ; 75 0314787 jmp near 0993 2h ; e9 09 0114786 jne short 0982eh ; 75 03 14787 jmp near 09937h ; e9 09 01 14788 14788 mov ax, word [bp-010h] ; 8b 46 f0 14789 14789 mov es, di ; 8e c7 … … 14835 14835 xchg dx, ax ; 92 14836 14836 test AL, strict byte 001h ; a8 01 14837 jne short 0988 3h ; 75 de14837 jne short 09888h ; 75 de 14838 14838 xor ax, ax ; 31 c0 14839 14839 xor cx, cx ; 31 c9 … … 14854 14854 mov bx, strict word 0001fh ; bb 1f 00 14855 14855 xor cx, cx ; 31 c9 14856 call 088 1eh ; e8 54 ef14856 call 08823h ; e8 54 ef 14857 14857 db 0feh, 0c0h 14858 14858 ; inc al ; fe c0 14859 14859 mov byte [bp-00eh], al ; 88 46 f2 14860 14860 mov byte [bp-00ch], 000h ; c6 46 f4 00 14861 jmp short 098f 6h ; eb 2114861 jmp short 098fbh ; eb 21 14862 14862 xor al, al ; 30 c0 14863 14863 test al, al ; 84 c0 14864 je short 098 edh ; 74 1214864 je short 098f2h ; 74 12 14865 14865 mov bl, byte [bp-00ch] ; 8a 5e f4 14866 14866 xor bh, bh ; 30 ff 14867 14867 xor ax, ax ; 31 c0 14868 14868 mov dx, word [bp-010h] ; 8b 56 f0 14869 call 092a 4h ; e8 bc f914869 call 092a9h ; e8 bc f9 14870 14870 dec byte [bp-00eh] ; fe 4e f2 14871 je short 0993 0h ; 74 4314871 je short 09935h ; 74 43 14872 14872 inc byte [bp-00ch] ; fe 46 f4 14873 14873 cmp byte [bp-00ch], 020h ; 80 7e f4 20 14874 jnc short 0993 0h ; 73 3a14874 jnc short 09935h ; 73 3a 14875 14875 mov cl, byte [bp-00ch] ; 8a 4e f4 14876 14876 xor ch, ch ; 30 ed 14877 14877 mov bx, strict word 00001h ; bb 01 00 14878 14878 xor di, di ; 31 ff 14879 jcxz 0990 8h ; e3 0614879 jcxz 0990dh ; e3 06 14880 14880 sal bx, 1 ; d1 e3 14881 14881 rcl di, 1 ; d1 d7 14882 loop 0990 2h ; e2 fa14882 loop 09907h ; e2 fa 14883 14883 mov ax, strict word 0000ch ; b8 0c 00 14884 14884 xor cx, cx ; 31 c9 … … 14896 14896 xchg dx, ax ; 92 14897 14897 test dx, di ; 85 fa 14898 jne short 099 2ch ; 75 0414898 jne short 09931h ; 75 04 14899 14899 test ax, bx ; 85 d8 14900 je short 098d 5h ; 74 a914900 je short 098dah ; 74 a9 14901 14901 mov AL, strict byte 001h ; b0 01 14902 jmp short 098d 7h ; eb a714902 jmp short 098dch ; eb a7 14903 14903 xor ax, ax ; 31 c0 14904 14904 lea sp, [bp-00ah] ; 8d 66 f6 … … 14910 14910 pop bp ; 5d 14911 14911 retn ; c3 14912 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 03 8h, 09ah, 016h, 09ah, 01ch, 09ah, 022h, 09ah, 028h14913 db 09ah, 0 2eh, 09ah, 034h, 09ah, 038h, 09ah14914 _ahci_init: ; 0xf995 3LB 0x11a14912 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 03dh, 09ah, 01bh, 09ah, 021h, 09ah, 027h, 09ah, 02dh 14913 db 09ah, 033h, 09ah, 039h, 09ah, 03dh, 09ah 14914 _ahci_init: ; 0xf9958 LB 0x11a 14915 14915 push bp ; 55 14916 14916 mov bp, sp ; 89 e5 … … 14919 14919 mov ax, 00601h ; b8 01 06 14920 14920 mov dx, strict word 00001h ; ba 01 00 14921 call 09e 8ch ; e8 29 0514921 call 09e91h ; e8 29 05 14922 14922 mov dx, ax ; 89 c2 14923 14923 cmp ax, strict word 0ffffh ; 3d ff ff 14924 je short 099b 3h ; 74 4914924 je short 099b8h ; 74 49 14925 14925 mov al, ah ; 88 e0 14926 14926 mov byte [bp-006h], ah ; 88 66 fa … … 14929 14929 xor ah, ah ; 30 e4 14930 14930 mov bx, strict word 00034h ; bb 34 00 14931 call 09e9 4h ; e8 18 0514931 call 09e99h ; e8 18 05 14932 14932 mov cl, al ; 88 c1 14933 14933 test cl, cl ; 84 c9 14934 je short 099b 6h ; 74 3414934 je short 099bbh ; 74 34 14935 14935 mov bl, cl ; 88 cb 14936 14936 xor bh, bh ; 30 ff … … 14943 14943 mov dx, word [bp-00ch] ; 8b 56 f4 14944 14944 mov ax, word [bp-010h] ; 8b 46 f0 14945 call 09e9 4h ; e8 f3 0414945 call 09e99h ; e8 f3 04 14946 14946 cmp AL, strict byte 012h ; 3c 12 14947 je short 099b 6h ; 74 1114947 je short 099bbh ; 74 11 14948 14948 mov bl, cl ; 88 cb 14949 14949 db 0feh, 0c3h … … 14952 14952 mov dx, word [bp-00ch] ; 8b 56 f4 14953 14953 mov ax, word [bp-010h] ; 8b 46 f0 14954 jmp short 0997 9h ; eb c614955 jmp near 09a6 7h ; e9 b1 0014954 jmp short 0997eh ; eb c6 14955 jmp near 09a6ch ; e9 b1 00 14956 14956 test cl, cl ; 84 c9 14957 je short 099b 3h ; 74 f914957 je short 099b8h ; 74 f9 14958 14958 add cl, 002h ; 80 c1 02 14959 14959 mov bl, cl ; 88 cb … … 14967 14967 mov dx, word [bp-00eh] ; 8b 56 f2 14968 14968 mov ax, word [bp-00ah] ; 8b 46 f6 14969 call 09e9 4h ; e8 b8 0414969 call 09e99h ; e8 b8 04 14970 14970 cmp AL, strict byte 010h ; 3c 10 14971 jne short 099b 3h ; 75 d314971 jne short 099b8h ; 75 d3 14972 14972 mov byte [bp-004h], 000h ; c6 46 fc 00 14973 14973 mov bl, cl ; 88 cb … … 14976 14976 mov dx, word [bp-00eh] ; 8b 56 f2 14977 14977 mov ax, word [bp-00ah] ; 8b 46 f6 14978 call 09e bbh ; e8 c7 0414978 call 09ec0h ; e8 c7 04 14979 14979 mov dx, ax ; 89 c2 14980 14980 and ax, strict word 0000fh ; 25 0f 00 14981 14981 sub ax, strict word 00004h ; 2d 04 00 14982 14982 cmp ax, strict word 0000bh ; 3d 0b 00 14983 jnbe short 09a3 8h ; 77 3714983 jnbe short 09a3dh ; 77 37 14984 14984 push CS ; 0e 14985 14985 pop ES ; 07 14986 14986 mov cx, strict word 00008h ; b9 08 00 14987 mov di, 099 3ch ; bf 3c9914987 mov di, 09941h ; bf 41 99 14988 14988 repne scasb ; f2 ae 14989 14989 sal cx, 1 ; d1 e1 14990 14990 mov di, cx ; 89 cf 14991 mov ax, word [cs:di-066b dh] ; 2e 8b 85 439914991 mov ax, word [cs:di-066b8h] ; 2e 8b 85 48 99 14992 14992 jmp ax ; ff e0 14993 14993 mov byte [bp-004h], 010h ; c6 46 fc 10 14994 jmp short 09a3 8h ; eb 1c14994 jmp short 09a3dh ; eb 1c 14995 14995 mov byte [bp-004h], 014h ; c6 46 fc 14 14996 jmp short 09a3 8h ; eb 1614996 jmp short 09a3dh ; eb 16 14997 14997 mov byte [bp-004h], 018h ; c6 46 fc 18 14998 jmp short 09a3 8h ; eb 1014998 jmp short 09a3dh ; eb 10 14999 14999 mov byte [bp-004h], 01ch ; c6 46 fc 1c 15000 jmp short 09a3 8h ; eb 0a15000 jmp short 09a3dh ; eb 0a 15001 15001 mov byte [bp-004h], 020h ; c6 46 fc 20 15002 jmp short 09a3 8h ; eb 0415002 jmp short 09a3dh ; eb 04 15003 15003 mov byte [bp-004h], 024h ; c6 46 fc 24 15004 15004 mov CL, strict byte 004h ; b1 04 … … 15010 15010 mov al, byte [bp-004h] ; 8a 46 fc 15011 15011 test al, al ; 84 c0 15012 je short 09a6 7h ; 74 1c15012 je short 09a6ch ; 74 1c 15013 15013 mov bl, al ; 88 c3 15014 15014 xor bh, bh ; 30 ff … … 15017 15017 mov al, byte [bp-006h] ; 8a 46 fa 15018 15018 xor ah, ah ; 30 e4 15019 call 09ee 0h ; e8 84 0415019 call 09ee5h ; e8 84 04 15020 15020 test AL, strict byte 001h ; a8 01 15021 je short 09a6 7h ; 74 0715021 je short 09a6ch ; 74 07 15022 15022 and AL, strict byte 0f0h ; 24 f0 15023 15023 add ax, cx ; 01 c8 15024 call 097e 5h ; e8 7e fd15024 call 097eah ; e8 7e fd 15025 15025 lea sp, [bp-002h] ; 8d 66 fe 15026 15026 pop di ; 5f 15027 15027 pop bp ; 5d 15028 15028 retn ; c3 15029 apm_out_str_: ; 0xf9a 6dLB 0x3915029 apm_out_str_: ; 0xf9a72 LB 0x39 15030 15030 push bp ; 55 15031 15031 mov bp, sp ; 89 e5 … … 15033 15033 mov bx, ax ; 89 c3 15034 15034 cmp byte [bx], 000h ; 80 3f 00 15035 je short 09a8 2h ; 74 0a15035 je short 09a87h ; 74 0a 15036 15036 mov al, byte [bx] ; 8a 07 15037 15037 out DX, AL ; ee … … 15040 15040 db 00ah, 0c0h 15041 15041 ; or al, al ; 0a c0 15042 jne short 09a7 ah ; 75 f815042 jne short 09a7fh ; 75 f8 15043 15043 lea sp, [bp-002h] ; 8d 66 fe 15044 15044 pop bx ; 5b 15045 15045 pop bp ; 5d 15046 15046 retn ; c3 15047 db 0c7h, 09ah, 052h, 09bh, 0d9h, 09ah15048 ; mov word [bp+si-064aeh], 09ad9h ; c7 9a 52 9b d99a15049 hlt ; f415050 call far 09b 1fh:09b52h ; 9a 52 9b 1f9b15051 push d x ; 5215047 int3 ; cc 15048 call far 09adeh:09b57h ; 9a 57 9b de 9a 15049 stc ; f9 15050 call far 09b24h:09b57h ; 9a 57 9b 24 9b 15051 push di ; 57 15052 15052 wait ; 9b 15053 pop ax ; 5815053 pop bp ; 5d 15054 15054 wait ; 9b 15055 and AL, strict byte 09bh ; 249b15056 and AL, strict byte 09bh ; 249b15057 and AL, strict byte 09bh ; 249b15058 xchg di, ax ; 9715055 sub word [bp+di-064d7h], bx ; 29 9b 29 9b 15056 sub word [bp+di-06464h], bx ; 29 9b 9c 9b 15057 sub word [bp+di-064d7h], bx ; 29 9b 29 9b 15058 xchg bp, ax ; 95 15059 15059 wait ; 9b 15060 and AL, strict byte 09bh ; 24 9b 15061 and AL, strict byte 09bh ; 24 9b 15062 nop ; 90 15063 wait ; 9b 15064 _apm_function: ; 0xf9aa6 LB 0xf6 15060 _apm_function: ; 0xf9aab LB 0xf6 15065 15061 push bp ; 55 15066 15062 mov bp, sp ; 89 e5 … … 15070 15066 xor ah, ah ; 30 e4 15071 15067 cmp ax, strict word 0000eh ; 3d 0e 00 15072 jnbe short 09b2 4h ; 77 6c15068 jnbe short 09b29h ; 77 6c 15073 15069 mov bx, ax ; 89 c3 15074 15070 sal bx, 1 ; d1 e3 15075 15071 mov dx, word [bp+018h] ; 8b 56 18 15076 15072 or dl, 001h ; 80 ca 01 15077 jmp word [cs:bx-0657 8h] ; 2e ff a7 889a15073 jmp word [cs:bx-06573h] ; 2e ff a7 8d 9a 15078 15074 mov word [bp+012h], 00102h ; c7 46 12 02 01 15079 15075 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 15080 15076 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 15081 jmp near 09b5 2h ; e9 79 0015077 jmp near 09b57h ; e9 79 00 15082 15078 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 15083 mov word [bp+00ch], 0a 0f4h ; c7 46 0c f4 a015079 mov word [bp+00ch], 0a104h ; c7 46 0c 04 a1 15084 15080 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 15085 15081 mov ax, strict word 0fff0h ; b8 f0 ff 15086 15082 mov word [bp+006h], ax ; 89 46 06 15087 15083 mov word [bp+004h], ax ; 89 46 04 15088 jmp near 09b5 2h ; e9 5e 0015084 jmp near 09b57h ; e9 5e 00 15089 15085 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 15090 15086 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 15099 15095 mov si, ax ; 89 c6 15100 15096 sal esi, 010h ; 66 c1 e6 10 15101 jmp near 09b5 2h ; e9 33 0015097 jmp near 09b57h ; e9 33 00 15102 15098 sti ; fb 15103 15099 hlt ; f4 15104 jmp near 09b5 2h ; e9 2e 0015105 mov bx, 00da 6h ; bb a60d15100 jmp near 09b57h ; e9 2e 00 15101 mov bx, 00da4h ; bb a4 0d 15106 15102 mov cx, ds ; 8c d9 15107 15103 mov ax, strict word 00004h ; b8 04 00 15108 call 01933h ; e8 04 7e15104 call 01933h ; e8 ff 7d 15109 15105 push word [bp+00ch] ; ff 76 0c 15110 15106 push word [bp+012h] ; ff 76 12 … … 15113 15109 mov ax, strict word 00004h ; b8 04 00 15114 15110 push ax ; 50 15115 call 01976h ; e8 3 67e15111 call 01976h ; e8 31 7e 15116 15112 add sp, strict byte 00008h ; 83 c4 08 15117 15113 mov ax, word [bp+012h] ; 8b 46 12 … … 15125 15121 retn ; c3 15126 15122 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 15127 je short 09b 7dh ; 74 1f15123 je short 09b82h ; 74 1f 15128 15124 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 15129 je short 09b7 5h ; 74 1115125 je short 09b7ah ; 74 11 15130 15126 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 15131 jne short 09b8 5h ; 75 1b15127 jne short 09b8ah ; 75 1b 15132 15128 mov dx, 08900h ; ba 00 89 15133 15129 mov ax, 00d10h ; b8 10 0d 15134 call 09a 6dh ; e8 fa fe15135 jmp short 09b5 2h ; eb dd15130 call 09a72h ; e8 fa fe 15131 jmp short 09b57h ; eb dd 15136 15132 mov dx, 08900h ; ba 00 89 15137 15133 mov ax, 00d18h ; b8 18 0d 15138 jmp short 09b7 0h ; eb f315134 jmp short 09b75h ; eb f3 15139 15135 mov dx, 08900h ; ba 00 89 15140 15136 mov ax, 00d20h ; b8 20 0d 15141 jmp short 09b7 0h ; eb eb15137 jmp short 09b75h ; eb eb 15142 15138 or ah, 00ah ; 80 cc 0a 15143 15139 mov word [bp+012h], ax ; 89 46 12 15144 15140 mov word [bp+018h], dx ; 89 56 18 15145 jmp short 09b5 2h ; eb c215141 jmp short 09b57h ; eb c2 15146 15142 mov word [bp+012h], 00102h ; c7 46 12 02 01 15147 jmp short 09b5 2h ; eb bb15143 jmp short 09b57h ; eb bb 15148 15144 or ah, 080h ; 80 cc 80 15149 jmp short 09b8 8h ; eb ec15150 pci16_select_reg_: ; 0xf9b 9cLB 0x2415145 jmp short 09b8dh ; eb ec 15146 pci16_select_reg_: ; 0xf9ba1 LB 0x24 15151 15147 push bp ; 55 15152 15148 mov bp, sp ; 89 e5 … … 15165 15161 pop bp ; 5d 15166 15162 retn ; c3 15167 pci16_find_device_: ; 0xf9bc 0LB 0xf715163 pci16_find_device_: ; 0xf9bc5 LB 0xf7 15168 15164 push bp ; 55 15169 15165 mov bp, sp ; 89 e5 … … 15179 15175 mov byte [bp-006h], 000h ; c6 46 fa 00 15180 15176 test bl, 007h ; f6 c3 07 15181 jne short 09c0 8h ; 75 2d15177 jne short 09c0dh ; 75 2d 15182 15178 mov dx, strict word 0000eh ; ba 0e 00 15183 15179 mov ax, bx ; 89 d8 15184 call 09b 9ch ; e8 b9 ff15180 call 09ba1h ; e8 b9 ff 15185 15181 mov dx, 00cfeh ; ba fe 0c 15186 15182 in AL, DX ; ec … … 15189 15185 mov byte [bp-008h], al ; 88 46 f8 15190 15186 cmp AL, strict byte 0ffh ; 3c ff 15191 jne short 09bf 6h ; 75 0615187 jne short 09bfbh ; 75 06 15192 15188 add bx, strict byte 00008h ; 83 c3 08 15193 jmp near 09c8 8h ; e9 92 0015189 jmp near 09c8dh ; e9 92 00 15194 15190 test byte [bp-008h], 080h ; f6 46 f8 80 15195 je short 09c0 3h ; 74 0715191 je short 09c08h ; 74 07 15196 15192 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 15197 jmp short 09c0 8h ; eb 0515193 jmp short 09c0dh ; eb 05 15198 15194 mov word [bp-00eh], strict word 00008h ; c7 46 f2 08 00 15199 15195 mov al, byte [bp-008h] ; 8a 46 f8 15200 15196 and AL, strict byte 007h ; 24 07 15201 15197 cmp AL, strict byte 001h ; 3c 01 15202 jne short 09c 2fh ; 75 1e15198 jne short 09c34h ; 75 1e 15203 15199 mov al, bh ; 88 f8 15204 15200 xor ah, ah ; 30 e4 15205 15201 test ax, ax ; 85 c0 15206 jne short 09c 2fh ; 75 1615202 jne short 09c34h ; 75 16 15207 15203 mov dx, strict word 0001ah ; ba 1a 00 15208 15204 mov ax, bx ; 89 d8 15209 call 09b 9ch ; e8 7b ff15205 call 09ba1h ; e8 7b ff 15210 15206 mov dx, 00cfeh ; ba fe 0c 15211 15207 in AL, DX ; ec … … 15213 15209 ; sub ah, ah ; 2a e4 15214 15210 cmp al, byte [bp-006h] ; 3a 46 fa 15215 jbe short 09c 2fh ; 76 0315211 jbe short 09c34h ; 76 03 15216 15212 mov byte [bp-006h], al ; 88 46 fa 15217 15213 test di, di ; 85 ff 15218 je short 09c3 8h ; 74 0515214 je short 09c3dh ; 74 05 15219 15215 mov dx, strict word 00008h ; ba 08 00 15220 jmp short 09c3 ah ; eb 0215216 jmp short 09c3fh ; eb 02 15221 15217 xor dx, dx ; 31 d2 15222 15218 mov ax, bx ; 89 d8 15223 call 09b 9ch ; e8 5d ff15219 call 09ba1h ; e8 5d ff 15224 15220 mov dx, 00cfch ; ba fc 0c 15225 15221 in eax, DX ; 66 ed … … 15232 15228 mov word [bp-00ch], strict word 00000h ; c7 46 f4 00 00 15233 15229 test di, di ; 85 ff 15234 je short 09c6 9h ; 74 0f15230 je short 09c6eh ; 74 0f 15235 15231 mov cx, strict word 00008h ; b9 08 00 15236 15232 shr dx, 1 ; d1 ea 15237 15233 rcr ax, 1 ; d1 d8 15238 loop 09c 5dh ; e2 fa15234 loop 09c62h ; e2 fa 15239 15235 mov word [bp-00ah], ax ; 89 46 f6 15240 15236 mov word [bp-010h], dx ; 89 56 f0 15241 15237 mov ax, word [bp-010h] ; 8b 46 f0 15242 15238 cmp ax, word [bp-014h] ; 3b 46 ec 15243 jne short 09c7 9h ; 75 0815239 jne short 09c7eh ; 75 08 15244 15240 mov ax, word [bp-00ah] ; 8b 46 f6 15245 15241 cmp ax, word [bp-012h] ; 3b 46 ee 15246 je short 09c 7fh ; 74 0615242 je short 09c84h ; 74 06 15247 15243 cmp word [bp-00ch], strict byte 00000h ; 83 7e f4 00 15248 je short 09c8 5h ; 74 0615244 je short 09c8ah ; 74 06 15249 15245 dec si ; 4e 15250 15246 cmp si, strict byte 0ffffh ; 83 fe ff 15251 je short 09c9 8h ; 74 1315247 je short 09c9dh ; 74 13 15252 15248 add bx, word [bp-00eh] ; 03 5e f2 15253 15249 mov al, bh ; 88 f8 … … 15256 15252 xor dh, dh ; 30 f6 15257 15253 cmp ax, dx ; 39 d0 15258 jnbe short 09c9 8h ; 77 0315259 jmp near 09bd 6h ; e9 3e ff15254 jnbe short 09c9dh ; 77 03 15255 jmp near 09bdbh ; e9 3e ff 15260 15256 cmp si, strict byte 0ffffh ; 83 fe ff 15261 jne short 09ca 1h ; 75 0415257 jne short 09ca6h ; 75 04 15262 15258 mov ax, bx ; 89 d8 15263 jmp short 09ca 4h ; eb 0315259 jmp short 09ca9h ; eb 03 15264 15260 mov ax, strict word 0ffffh ; b8 ff ff 15265 15261 lea sp, [bp-004h] ; 8d 66 fc … … 15268 15264 pop bp ; 5d 15269 15265 retn ; c3 15270 cbw ; 9815271 15266 popfw ; 9d 15272 mov CL, strict byte 09dh ; b1 9d15273 retn ; c315274 15267 popfw ; 9d 15275 xlatb ; d7 15268 mov DH, strict byte 09dh ; b6 9d 15269 enter 0dc9dh, 09dh ; c8 9d dc 9d 15270 out DX, AL ; ee 15276 15271 popfw ; 9d 15277 jmp near 09953h ; e9 9d fc15278 popfw ; 9d15279 _pci16_function: ; 0xf9cb 7LB 0x1d515272 db 001h 15273 sahf ; 9e 15274 _pci16_function: ; 0xf9cbc LB 0x1d5 15280 15275 push bp ; 55 15281 15276 mov bp, sp ; 89 e5 … … 15291 15286 xor ah, ah ; 30 e4 15292 15287 cmp bx, strict byte 00003h ; 83 fb 03 15293 jc short 09ce 9h ; 72 1315294 jbe short 09d 3ch ; 76 6415288 jc short 09ceeh ; 72 13 15289 jbe short 09d41h ; 76 64 15295 15290 cmp bx, strict byte 0000eh ; 83 fb 0e 15296 je short 09d4 4h ; 74 6715291 je short 09d49h ; 74 67 15297 15292 cmp bx, strict byte 00008h ; 83 fb 08 15298 jc short 09cf 3h ; 72 1115293 jc short 09cf8h ; 72 11 15299 15294 cmp bx, strict byte 0000dh ; 83 fb 0d 15300 jbe short 09d4 7h ; 76 6015301 jmp short 09cf 3h ; eb 0a15295 jbe short 09d4ch ; 76 60 15296 jmp short 09cf8h ; eb 0a 15302 15297 cmp bx, strict byte 00002h ; 83 fb 02 15303 je short 09d1 2h ; 74 2415298 je short 09d17h ; 74 24 15304 15299 cmp bx, strict byte 00001h ; 83 fb 01 15305 je short 09cf 6h ; 74 0315306 jmp near 09e5 5h ; e9 5f 0115300 je short 09cfbh ; 74 03 15301 jmp near 09e5ah ; e9 5f 01 15307 15302 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 15308 15303 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 15310 15305 mov word [bp+018h], 04350h ; c7 46 18 50 43 15311 15306 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 15312 jmp near 09e8 5h ; e9 73 0115307 jmp near 09e8ah ; e9 73 01 15313 15308 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 15314 jne short 09d 1eh ; 75 0615309 jne short 09d23h ; 75 06 15315 15310 or ah, 083h ; 80 cc 83 15316 jmp near 09e 7eh ; e9 60 0115311 jmp near 09e83h ; e9 60 01 15317 15312 mov bx, word [bp+008h] ; 8b 5e 08 15318 15313 mov dx, word [bp+01ch] ; 8b 56 1c 15319 15314 mov ax, word [bp+018h] ; 8b 46 18 15320 15315 xor cx, cx ; 31 c9 15321 call 09bc 0h ; e8 94 fe15316 call 09bc5h ; e8 94 fe 15322 15317 cmp ax, strict word 0ffffh ; 3d ff ff 15323 jne short 09d 3eh ; 75 0d15318 jne short 09d43h ; 75 0d 15324 15319 mov ax, word [bp+020h] ; 8b 46 20 15325 15320 xor ah, ah ; 30 e4 15326 15321 or ah, 086h ; 80 cc 86 15327 jmp near 09e 7eh ; e9 42 0115328 jmp short 09d4 9h ; eb 0b15322 jmp near 09e83h ; e9 42 01 15323 jmp short 09d4eh ; eb 0b 15329 15324 mov word [bp+014h], ax ; 89 46 14 15330 jmp near 09e8 5h ; e9 41 0115331 jmp near 09e1 0h ; e9 c9 0015332 jmp short 09d 6eh ; eb 2515325 jmp near 09e8ah ; e9 41 01 15326 jmp near 09e15h ; e9 c9 00 15327 jmp short 09d73h ; eb 25 15333 15328 mov bx, word [bp+008h] ; 8b 5e 08 15334 15329 mov ax, word [bp+01ch] ; 8b 46 1c 15335 15330 mov dx, word [bp+01eh] ; 8b 56 1e 15336 15331 mov cx, strict word 00001h ; b9 01 00 15337 call 09bc 0h ; e8 68 fe15332 call 09bc5h ; e8 68 fe 15338 15333 cmp ax, strict word 0ffffh ; 3d ff ff 15339 jne short 09d6 8h ; 75 0b15334 jne short 09d6dh ; 75 0b 15340 15335 mov ax, word [bp+020h] ; 8b 46 20 15341 15336 xor ah, ah ; 30 e4 15342 15337 or ah, 086h ; 80 cc 86 15343 jmp near 09e 7eh ; e9 16 0115338 jmp near 09e83h ; e9 16 01 15344 15339 mov word [bp+014h], ax ; 89 46 14 15345 jmp near 09e8 5h ; e9 17 0115340 jmp near 09e8ah ; e9 17 01 15346 15341 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 15347 jc short 09d 7bh ; 72 0615342 jc short 09d80h ; 72 06 15348 15343 or ah, 087h ; 80 cc 87 15349 jmp near 09e 7eh ; e9 03 0115344 jmp near 09e83h ; e9 03 01 15350 15345 mov dx, word [bp+004h] ; 8b 56 04 15351 15346 mov ax, word [bp+014h] ; 8b 46 14 15352 call 09b 9ch ; e8 18 fe15347 call 09ba1h ; e8 18 fe 15353 15348 mov bx, word [bp+020h] ; 8b 5e 20 15354 15349 xor bh, bh ; 30 ff 15355 15350 sub bx, strict byte 00008h ; 83 eb 08 15356 15351 cmp bx, strict byte 00005h ; 83 fb 05 15357 jnbe short 09df 9h ; 77 6815352 jnbe short 09dfeh ; 77 68 15358 15353 sal bx, 1 ; d1 e3 15359 jmp word [cs:bx-0635 5h] ; 2e ff a7 ab9c15354 jmp word [cs:bx-06350h] ; 2e ff a7 b0 9c 15360 15355 mov bx, word [bp+01ch] ; 8b 5e 1c 15361 15356 xor bl, bl ; 30 db … … 15368 15363 or bx, ax ; 09 c3 15369 15364 mov word [bp+01ch], bx ; 89 5e 1c 15370 jmp short 09df 9h ; eb 4815365 jmp short 09dfeh ; eb 48 15371 15366 mov dx, word [bp+004h] ; 8b 56 04 15372 15367 xor dh, dh ; 30 f6 … … 15375 15370 in ax, DX ; ed 15376 15371 mov word [bp+01ch], ax ; 89 46 1c 15377 jmp short 09df 9h ; eb 3615372 jmp short 09dfeh ; eb 36 15378 15373 mov dx, 00cfch ; ba fc 0c 15379 15374 in eax, DX ; 66 ed … … 15384 15379 mov word [bp+01ch], ax ; 89 46 1c 15385 15380 mov word [bp+01eh], dx ; 89 56 1e 15386 jmp short 09df 9h ; eb 2215381 jmp short 09dfeh ; eb 22 15387 15382 mov ax, word [bp+01ch] ; 8b 46 1c 15388 15383 mov dx, word [bp+004h] ; 8b 56 04 … … 15391 15386 add dx, 00cfch ; 81 c2 fc 0c 15392 15387 out DX, AL ; ee 15393 jmp short 09df 9h ; eb 1015388 jmp short 09dfeh ; eb 10 15394 15389 mov ax, word [bp+01ch] ; 8b 46 1c 15395 15390 mov dx, word [bp+004h] ; 8b 56 04 … … 15398 15393 add dx, 00cfch ; 81 c2 fc 0c 15399 15394 out DX, ax ; ef 15400 jmp near 09e8 5h ; e9 89 0015395 jmp near 09e8ah ; e9 89 00 15401 15396 mov ax, word [bp+01ch] ; 8b 46 1c 15402 15397 mov cx, word [bp+01eh] ; 8b 4e 1e … … 15407 15402 ; mov ax, cx ; 8b c1 15408 15403 out DX, eax ; 66 ef 15409 jmp short 09e8 5h ; eb 7515404 jmp short 09e8ah ; eb 75 15410 15405 mov bx, word [bp+004h] ; 8b 5e 04 15411 15406 mov es, [bp+026h] ; 8e 46 26 … … 15414 15409 mov cx, word [0f4a0h] ; 8b 0e a0 f4 15415 15410 cmp cx, word [es:bx] ; 26 3b 0f 15416 jbe short 09e3 6h ; 76 1115411 jbe short 09e3bh ; 76 11 15417 15412 mov ax, word [bp+020h] ; 8b 46 20 15418 15413 xor ah, ah ; 30 e4 … … 15420 15415 mov word [bp+020h], ax ; 89 46 20 15421 15416 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 15422 jmp short 09e4 ah ; eb 1415417 jmp short 09e4fh ; eb 14 15423 15418 les di, [es:bx+002h] ; 26 c4 7f 02 15424 15419 mov si, 0f2c0h ; be c0 f2 … … 15432 15427 les bx, [bp-008h] ; c4 5e f8 15433 15428 mov word [es:bx], ax ; 26 89 07 15434 jmp short 09e8 5h ; eb 3015435 mov bx, 00da 6h ; bb a60d15429 jmp short 09e8ah ; eb 30 15430 mov bx, 00da4h ; bb a4 0d 15436 15431 mov cx, ds ; 8c d9 15437 15432 mov ax, strict word 00004h ; b8 04 00 15438 call 01933h ; e8 d37a15433 call 01933h ; e8 ce 7a 15439 15434 mov ax, word [bp+014h] ; 8b 46 14 15440 15435 push ax ; 50 … … 15445 15440 mov ax, strict word 00004h ; b8 04 00 15446 15441 push ax ; 50 15447 call 01976h ; e8 03 7b15442 call 01976h ; e8 fe 7a 15448 15443 add sp, strict byte 00008h ; 83 c4 08 15449 15444 mov ax, word [bp+020h] ; 8b 46 20 … … 15457 15452 pop bp ; 5d 15458 15453 retn ; c3 15459 pci_find_classcode_: ; 0xf9e 8cLB 0x815454 pci_find_classcode_: ; 0xf9e91 LB 0x8 15460 15455 push bp ; 55 15461 15456 mov bp, sp ; 89 e5 … … 15463 15458 pop bp ; 5d 15464 15459 retn ; c3 15465 pci_read_config_byte_: ; 0xf9e9 4LB 0x2715460 pci_read_config_byte_: ; 0xf9e99 LB 0x27 15466 15461 push bp ; 55 15467 15462 mov bp, sp ; 89 e5 … … 15486 15481 pop bp ; 5d 15487 15482 retn ; c3 15488 pci_read_config_word_: ; 0xf9e bbLB 0x2515483 pci_read_config_word_: ; 0xf9ec0 LB 0x25 15489 15484 push bp ; 55 15490 15485 mov bp, sp ; 89 e5 … … 15508 15503 pop bp ; 5d 15509 15504 retn ; c3 15510 pci_read_config_dword_: ; 0xf9ee 0LB 0x3f15505 pci_read_config_dword_: ; 0xf9ee5 LB 0x3f 15511 15506 push bp ; 55 15512 15507 mov bp, sp ; 89 e5 … … 15523 15518 int 01ah ; cd 1a 15524 15519 test cx, cx ; 85 c9 15525 jne short 09f1 0h ; 75 1415520 jne short 09f15h ; 75 14 15526 15521 mov al, byte [bp-006h] ; 8a 46 fa 15527 15522 xor ah, ah ; 30 e4 … … 15533 15528 int 01ah ; cd 1a 15534 15529 test cx, cx ; 85 c9 15535 je short 09f1 5h ; 74 0515530 je short 09f1ah ; 74 05 15536 15531 mov ax, strict word 00001h ; b8 01 00 15537 jmp short 09f1 7h ; eb 0215532 jmp short 09f1ch ; eb 02 15538 15533 xor ax, ax ; 31 c0 15539 15534 cwd ; 99 … … 15543 15538 pop bp ; 5d 15544 15539 retn ; c3 15545 vds_is_present_: ; 0xf9f 1fLB 0x1d15540 vds_is_present_: ; 0xf9f24 LB 0x1d 15546 15541 push bx ; 53 15547 15542 push bp ; 55 … … 15551 15546 mov es, ax ; 8e c0 15552 15547 test byte [es:bx], 020h ; 26 f6 07 20 15553 je short 09f3 7h ; 74 0615548 je short 09f3ch ; 74 06 15554 15549 mov ax, strict word 00001h ; b8 01 00 15555 15550 pop bp ; 5d … … 15560 15555 pop bx ; 5b 15561 15556 retn ; c3 15562 vds_real_to_lin_: ; 0xf9f 3cLB 0x1e15557 vds_real_to_lin_: ; 0xf9f41 LB 0x1e 15563 15558 push bx ; 53 15564 15559 push cx ; 51 … … 15571 15566 sal ax, 1 ; d1 e0 15572 15567 rcl dx, 1 ; d1 d2 15573 loop 09f4 ah ; e2 fa15568 loop 09f4fh ; e2 fa 15574 15569 xor cx, cx ; 31 c9 15575 15570 add ax, bx ; 01 d8 … … 15579 15574 pop bx ; 5b 15580 15575 retn ; c3 15581 vds_build_sg_list_: ; 0xf9f5 aLB 0x7715576 vds_build_sg_list_: ; 0xf9f5f LB 0x77 15582 15577 push bp ; 55 15583 15578 mov bp, sp ; 89 e5 … … 15593 15588 mov bx, word [bp+006h] ; 8b 5e 06 15594 15589 mov word [es:di+002h], bx ; 26 89 5d 02 15595 call 09f 3ch ; e8 c3 ff15590 call 09f41h ; e8 c3 ff 15596 15591 mov es, si ; 8e c6 15597 15592 mov word [es:di+004h], ax ; 26 89 45 04 15598 15593 mov word [es:di+006h], dx ; 26 89 55 06 15599 15594 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 15600 call 09f 1fh ; e8 93 ff15595 call 09f24h ; e8 93 ff 15601 15596 test ax, ax ; 85 c0 15602 je short 09fa 1h ; 74 1115597 je short 09fa6h ; 74 11 15603 15598 mov es, si ; 8e c6 15604 15599 mov ax, 08105h ; b8 05 81 15605 15600 mov dx, strict word 00000h ; ba 00 00 15606 15601 int 04bh ; cd 4b 15607 jc short 09f 9eh ; 72 0215602 jc short 09fa3h ; 72 02 15608 15603 db 032h, 0c0h 15609 15604 ; xor al, al ; 32 c0 15610 15605 cbw ; 98 15611 jmp short 09fc 8h ; eb 2715606 jmp short 09fcdh ; eb 27 15612 15607 mov es, si ; 8e c6 15613 15608 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 15626 15621 pop bp ; 5d 15627 15622 retn 00004h ; c2 04 00 15628 vds_free_sg_list_: ; 0xf9fd 1 LB 0x2f15623 vds_free_sg_list_: ; 0xf9fd6 LB 0x3a 15629 15624 push bp ; 55 15630 15625 mov bp, sp ; 89 e5 … … 15632 15627 push di ; 57 15633 15628 mov bx, ax ; 89 c3 15634 call 09f 1fh ; e8 44 ff15629 call 09f24h ; e8 44 ff 15635 15630 test ax, ax ; 85 c0 15636 je short 09ff 0h ; 74 1115631 je short 09ff5h ; 74 11 15637 15632 mov di, bx ; 89 df 15638 15633 mov es, dx ; 8e c2 … … 15640 15635 mov dx, strict word 00000h ; ba 00 00 15641 15636 int 04bh ; cd 4b 15642 jc short 09f efh ; 72 0215637 jc short 09ff4h ; 72 02 15643 15638 db 032h, 0c0h 15644 15639 ; xor al, al ; 32 c0 … … 15651 15646 pop bp ; 5d 15652 15647 retn ; c3 15653 times 0x 1db 015654 __U4M: ; 0xfa0 00 LB 0x2015648 times 0xc db 0 15649 __U4M: ; 0xfa010 LB 0x20 15655 15650 pushfw ; 9c 15656 15651 push si ; 56 … … 15679 15674 retn ; c3 15680 15675 times 0x4 db 0 15681 __U4D: ; 0xfa0 20 LB 0x3015676 __U4D: ; 0xfa030 LB 0x30 15682 15677 pushfw ; 9c 15683 15678 push DS ; 1e … … 15694 15689 push dx ; 52 15695 15690 push ax ; 50 15696 call 0a1 05h ; e8 d0 0015691 call 0a115h ; e8 d0 00 15697 15692 mov cx, word [bp-002h] ; 8b 4e fe 15698 15693 mov bx, word [bp-004h] ; 8b 5e fc … … 15705 15700 retn ; c3 15706 15701 times 0xe db 0 15707 __U8RS: ; 0xfa0 50 LB 0x1015702 __U8RS: ; 0xfa060 LB 0x10 15708 15703 test si, si ; 85 f6 15709 je short 0a0 5fh ; 74 0b15704 je short 0a06fh ; 74 0b 15710 15705 shr ax, 1 ; d1 e8 15711 15706 rcr bx, 1 ; d1 db … … 15713 15708 rcr dx, 1 ; d1 da 15714 15709 dec si ; 4e 15715 jne short 0a0 54h ; 75 f515710 jne short 0a064h ; 75 f5 15716 15711 retn ; c3 15717 __U8LS: ; 0xfa0 60 LB 0x1015712 __U8LS: ; 0xfa070 LB 0x10 15718 15713 test si, si ; 85 f6 15719 je short 0a0 6fh ; 74 0b15714 je short 0a07fh ; 74 0b 15720 15715 sal dx, 1 ; d1 e2 15721 15716 rcl cx, 1 ; d1 d1 … … 15723 15718 rcl ax, 1 ; d1 d0 15724 15719 dec si ; 4e 15725 jne short 0a0 64h ; 75 f515720 jne short 0a074h ; 75 f5 15726 15721 retn ; c3 15727 _fmemset_: ; 0xfa0 70 LB 0x1015722 _fmemset_: ; 0xfa080 LB 0x10 15728 15723 push di ; 57 15729 15724 mov es, dx ; 8e c2 … … 15736 15731 retn ; c3 15737 15732 times 0x3 db 0 15738 _fmemcpy_: ; 0xfa0 80 LB 0x3a15733 _fmemcpy_: ; 0xfa090 LB 0x3a 15739 15734 push bp ; 55 15740 15735 db 08bh, 0ech … … 15758 15753 pop bp ; 5d 15759 15754 retn ; c3 15760 add byte [bx+si], al ; 00 00 15761 add byte [bx+si], al ; 00 00 15762 add byte [bx+si], al ; 00 00 15763 sal byte [bx+si-05f2eh], 1 ; d0 a0 d2 a0 15764 db 0d6h 15765 mov AL, byte [0a0d6h] ; a0 d6 a0 15766 db 0d6h 15767 mov AL, byte [0a0d8h] ; a0 d8 a0 15768 fsub dword [bx+si-05f26h] ; d8 a0 da a0 15769 fisub word [bx+si-05f22h] ; de a0 de a0 15770 loopne 0a056h ; e0 a0 15771 in ax, 0a0h ; e5 a0 15772 out 0a0h, ax ; e7 a0 15773 apm_worker: ; 0xfa0ba LB 0x3a 15755 db 000h, 000h, 000h, 000h, 000h, 000h, 0e0h, 0a0h, 0e2h, 0a0h, 0e6h, 0a0h, 0e6h, 0a0h, 0e6h, 0a0h 15756 db 0e8h, 0a0h, 0e8h, 0a0h, 0eah, 0a0h, 0eeh, 0a0h, 0eeh, 0a0h, 0f0h, 0a0h, 0f5h, 0a0h, 0f7h, 0a0h 15757 apm_worker: ; 0xfa0ca LB 0x3a 15774 15758 sti ; fb 15775 15759 push ax ; 50 … … 15783 15767 pop ax ; 58 15784 15768 mov AH, strict byte 053h ; b4 53 15785 jnc short 0a 0f0h ; 73 2515786 jmp word [cs:bp-05f 60h] ; 2e ff a6 a0 a015787 jmp short 0a0 eeh ; eb 1c15769 jnc short 0a100h ; 73 25 15770 jmp word [cs:bp-05f50h] ; 2e ff a6 b0 a0 15771 jmp short 0a0feh ; eb 1c 15788 15772 sti ; fb 15789 15773 hlt ; f4 15790 jmp short 0a0 eeh ; eb 1815791 jmp short 0a0 eeh ; eb 1615792 jmp short 0a 0f0h ; eb 1615774 jmp short 0a0feh ; eb 18 15775 jmp short 0a0feh ; eb 16 15776 jmp short 0a100h ; eb 16 15793 15777 mov AH, strict byte 080h ; b4 80 15794 jmp short 0a 0f2h ; eb 1415795 jmp short 0a 0f0h ; eb 1015778 jmp short 0a102h ; eb 14 15779 jmp short 0a100h ; eb 10 15796 15780 mov ax, 00102h ; b8 02 01 15797 jmp short 0a0 eeh ; eb 0915798 jmp short 0a0 eeh ; eb 0715781 jmp short 0a0feh ; eb 09 15782 jmp short 0a0feh ; eb 07 15799 15783 mov BL, strict byte 000h ; b3 00 15800 15784 mov cx, strict word 00000h ; b9 00 00 15801 jmp short 0a0 eeh ; eb 0015785 jmp short 0a0feh ; eb 00 15802 15786 clc ; f8 15803 15787 retn ; c3 … … 15805 15789 stc ; f9 15806 15790 retn ; c3 15807 apm_pm16_entry: ; 0xfa 0f4 LB 0x1115791 apm_pm16_entry: ; 0xfa104 LB 0x11 15808 15792 mov AH, strict byte 002h ; b4 02 15809 15793 push DS ; 1e … … 15813 15797 add bp, strict byte 00008h ; 83 c5 08 15814 15798 mov ds, bp ; 8e dd 15815 call 0a0 bah ; e8 b8 ff15799 call 0a0cah ; e8 b8 ff 15816 15800 pop bp ; 5d 15817 15801 pop DS ; 1f 15818 15802 retf ; cb 15819 _DoUInt32Div: ; 0xfa1 05 LB 0x26b15803 _DoUInt32Div: ; 0xfa115 LB 0x26b 15820 15804 push bp ; 55 15821 15805 mov bp, sp ; 89 e5 … … 15835 15819 mov [bp-006h], ds ; 8c 5e fa 15836 15820 cmp word [bx+002h], strict byte 00000h ; 83 7f 02 00 15837 jne short 0a1 55h ; 75 2215821 jne short 0a165h ; 75 22 15838 15822 mov ax, word [bx] ; 8b 07 15839 15823 test ax, ax ; 85 c0 15840 je short 0a1 52h ; 74 1915824 je short 0a162h ; 74 19 15841 15825 cmp ax, strict word 00001h ; 3d 01 00 15842 jne short 0a1 55h ; 75 1715826 jne short 0a165h ; 75 17 15843 15827 xor ax, ax ; 31 c0 15844 15828 mov word [bp+00ah], ax ; 89 46 0a … … 15848 15832 mov ax, word [bp-01ah] ; 8b 46 e6 15849 15833 mov word [bp+006h], ax ; 89 46 06 15850 jmp near 0a3 5dh ; e9 08 0215834 jmp near 0a36dh ; e9 08 02 15851 15835 lds bx, [bp-00ch] ; c5 5e f4 15852 15836 mov ax, word [bx+002h] ; 8b 47 02 15853 15837 mov ds, [bp-006h] ; 8e 5e fa 15854 15838 cmp ax, word [si+002h] ; 3b 44 02 15855 je short 0a1 7bh ; 74 1815839 je short 0a18bh ; 74 18 15856 15840 mov ds, [bp-00ah] ; 8e 5e f6 15857 15841 mov ax, word [bx+002h] ; 8b 47 02 15858 15842 mov ds, [bp-006h] ; 8e 5e fa 15859 15843 cmp ax, word [si+002h] ; 3b 44 02 15860 jbe short 0a1 76h ; 76 0515844 jbe short 0a186h ; 76 05 15861 15845 mov ax, strict word 00001h ; b8 01 00 15862 jmp short 0a1 9ch ; eb 2615846 jmp short 0a1ach ; eb 26 15863 15847 mov ax, strict word 0ffffh ; b8 ff ff 15864 jmp short 0a1 9ch ; eb 2115848 jmp short 0a1ach ; eb 21 15865 15849 mov ds, [bp-00ah] ; 8e 5e f6 15866 15850 mov ax, word [bx] ; 8b 07 15867 15851 mov ds, [bp-006h] ; 8e 5e fa 15868 15852 cmp ax, word [si] ; 3b 04 15869 je short 0a1 9ah ; 74 1315853 je short 0a1aah ; 74 13 15870 15854 mov ds, [bp-00ah] ; 8e 5e f6 15871 15855 mov ax, word [bx] ; 8b 07 15872 15856 mov ds, [bp-006h] ; 8e 5e fa 15873 15857 cmp ax, word [si] ; 3b 04 15874 jbe short 0a1 95h ; 76 0215875 jmp short 0a1 71h ; eb dc15858 jbe short 0a1a5h ; 76 02 15859 jmp short 0a181h ; eb dc 15876 15860 mov ax, strict word 0ffffh ; b8 ff ff 15877 jmp short 0a1 9ch ; eb 0215861 jmp short 0a1ach ; eb 02 15878 15862 xor ax, ax ; 31 c0 15879 15863 test ax, ax ; 85 c0 15880 jnl short 0a1 beh ; 7d 1e15864 jnl short 0a1ceh ; 7d 1e 15881 15865 lds bx, [bp-00ch] ; c5 5e f4 15882 15866 mov ax, word [bx] ; 8b 07 … … 15888 15872 mov word [bx+002h], strict word 00000h ; c7 47 02 00 00 15889 15873 mov word [bx], strict word 00000h ; c7 07 00 00 15890 jmp short 0a1 52h ; eb 9415891 jne short 0a1 d5h ; 75 1515874 jmp short 0a162h ; eb 94 15875 jne short 0a1e5h ; 75 15 15892 15876 mov ds, [bp-008h] ; 8e 5e f8 15893 15877 mov word [di+002h], ax ; 89 45 02 … … 15896 15880 mov word [bx], strict word 00001h ; c7 07 01 00 15897 15881 mov word [bx+002h], ax ; 89 47 02 15898 jmp near 0a3 5dh ; e9 88 0115882 jmp near 0a36dh ; e9 88 01 15899 15883 lds bx, [bp-00ch] ; c5 5e f4 15900 15884 mov ax, word [bx+002h] ; 8b 47 02 15901 15885 test ax, ax ; 85 c0 15902 je short 0a 1f0h ; 74 1115886 je short 0a200h ; 74 11 15903 15887 push ax ; 50 15904 15888 mov ax, 0f000h ; b8 00 f0 15905 15889 mov ds, ax ; 8e d8 15906 call 0a3 70h ; e8 88 0115890 call 0a380h ; e8 88 01 15907 15891 add sp, strict byte 00002h ; 83 c4 02 15908 15892 add ax, strict word 00010h ; 05 10 00 15909 jmp short 0a 1fdh ; eb 0d15893 jmp short 0a20dh ; eb 0d 15910 15894 push word [bx] ; ff 37 15911 15895 mov ax, 0f000h ; b8 00 f0 15912 15896 mov ds, ax ; 8e d8 15913 call 0a3 70h ; e8 76 0115897 call 0a380h ; e8 76 01 15914 15898 add sp, strict byte 00002h ; 83 c4 02 15915 15899 mov word [bp-014h], ax ; 89 46 ec … … 15917 15901 mov ax, word [si+002h] ; 8b 44 02 15918 15902 test ax, ax ; 85 c0 15919 je short 0a2 1bh ; 74 1115903 je short 0a22bh ; 74 11 15920 15904 push ax ; 50 15921 15905 mov ax, 0f000h ; b8 00 f0 15922 15906 mov ds, ax ; 8e d8 15923 call 0a3 70h ; e8 5d 0115907 call 0a380h ; e8 5d 01 15924 15908 add sp, strict byte 00002h ; 83 c4 02 15925 15909 add ax, strict word 00010h ; 05 10 00 15926 jmp short 0a2 28h ; eb 0d15910 jmp short 0a238h ; eb 0d 15927 15911 push word [si] ; ff 34 15928 15912 mov ax, 0f000h ; b8 00 f0 15929 15913 mov ds, ax ; 8e d8 15930 call 0a3 70h ; e8 4b 0115914 call 0a380h ; e8 4b 01 15931 15915 add sp, strict byte 00002h ; 83 c4 02 15932 15916 mov dx, word [bp-014h] ; 8b 56 ec … … 15939 15923 mov word [bp-016h], ax ; 89 46 ea 15940 15924 test dx, dx ; 85 d2 15941 je short 0a2 98h ; 74 5615925 je short 0a2a8h ; 74 56 15942 15926 mov cx, dx ; 89 d1 15943 15927 xor ch, dh ; 30 f5 … … 15945 15929 mov ax, word [si] ; 8b 04 15946 15930 mov dx, word [si+002h] ; 8b 54 02 15947 jcxz 0a2 56h ; e3 0615931 jcxz 0a266h ; e3 06 15948 15932 sal ax, 1 ; d1 e0 15949 15933 rcl dx, 1 ; d1 d2 15950 loop 0a2 50h ; e2 fa15934 loop 0a260h ; e2 fa 15951 15935 mov word [bp-018h], ax ; 89 46 e8 15952 15936 mov word [bp-016h], dx ; 89 56 ea … … 15954 15938 lds bx, [bp-00ch] ; c5 5e f4 15955 15939 cmp ax, word [bx+002h] ; 3b 47 02 15956 jnbe short 0a2 76h ; 77 0f15940 jnbe short 0a286h ; 77 0f 15957 15941 mov ax, word [bp-016h] ; 8b 46 ea 15958 15942 cmp ax, word [bx+002h] ; 3b 47 02 15959 jne short 0a2 7ah ; 75 0b15943 jne short 0a28ah ; 75 0b 15960 15944 mov ax, word [bp-018h] ; 8b 46 e8 15961 15945 cmp ax, word [bx] ; 3b 07 15962 jbe short 0a2 7ah ; 76 0415946 jbe short 0a28ah ; 76 04 15963 15947 mov AL, strict byte 001h ; b0 01 15964 jmp short 0a2 7ch ; eb 0215948 jmp short 0a28ch ; eb 02 15965 15949 xor al, al ; 30 c0 15966 15950 test al, al ; 84 c0 15967 je short 0a2 a3h ; 74 2315951 je short 0a2b3h ; 74 23 15968 15952 shr word [bp-016h], 1 ; d1 6e ea 15969 15953 rcr word [bp-018h], 1 ; d1 5e e8 15970 15954 dec word [bp-012h] ; ff 4e ee 15971 jmp short 0a2 a3h ; eb 1815955 jmp short 0a2b3h ; eb 18 15972 15956 mov cx, strict word 0001fh ; b9 1f 00 15973 15957 sal word [bp-018h], 1 ; d1 66 e8 15974 15958 rcl word [bp-016h], 1 ; d1 56 ea 15975 loop 0a2 8eh ; e2 f815976 jmp short 0a2 86h ; eb ee15959 loop 0a29eh ; e2 f8 15960 jmp short 0a296h ; eb ee 15977 15961 mov ax, word [si] ; 8b 04 15978 15962 mov word [bp-018h], ax ; 89 46 e8 … … 15991 15975 mov ds, [bp-006h] ; 8e 5e fa 15992 15976 cmp ax, word [si+002h] ; 3b 44 02 15993 jnbe short 0a2 cfh ; 77 0615994 jne short 0a2 d3h ; 75 0815977 jnbe short 0a2dfh ; 77 06 15978 jne short 0a2e3h ; 75 08 15995 15979 cmp dx, word [si] ; 3b 14 15996 jc short 0a2 d3h ; 72 0415980 jc short 0a2e3h ; 72 04 15997 15981 mov AL, strict byte 001h ; b0 01 15998 jmp short 0a2 d5h ; eb 0215982 jmp short 0a2e5h ; eb 02 15999 15983 xor al, al ; 30 c0 16000 15984 test al, al ; 84 c0 16001 je short 0a3 3ah ; 74 6115985 je short 0a34ah ; 74 61 16002 15986 mov ds, [bp-008h] ; 8e 5e f8 16003 15987 mov ax, word [di+002h] ; 8b 45 02 16004 15988 cmp ax, word [bp-016h] ; 3b 46 ea 16005 jnbe short 0a 2f0h ; 77 0c15989 jnbe short 0a300h ; 77 0c 16006 15990 cmp ax, word [bp-016h] ; 3b 46 ea 16007 jne short 0a 2f4h ; 75 0b15991 jne short 0a304h ; 75 0b 16008 15992 mov ax, word [di] ; 8b 05 16009 15993 cmp ax, word [bp-018h] ; 3b 46 e8 16010 jc short 0a 2f4h ; 72 0415994 jc short 0a304h ; 72 04 16011 15995 mov AL, strict byte 001h ; b0 01 16012 jmp short 0a 2f6h ; eb 0215996 jmp short 0a306h ; eb 02 16013 15997 xor al, al ; 30 c0 16014 15998 test al, al ; 84 c0 16015 je short 0a3 20h ; 74 2615999 je short 0a330h ; 74 26 16016 16000 mov ax, word [bp-018h] ; 8b 46 e8 16017 16001 mov ds, [bp-008h] ; 8e 5e f8 … … 16022 16006 xor dx, dx ; 31 d2 16023 16007 mov cx, word [bp-012h] ; 8b 4e ee 16024 jcxz 0a3 18h ; e3 0616008 jcxz 0a328h ; e3 06 16025 16009 sal ax, 1 ; d1 e0 16026 16010 rcl dx, 1 ; d1 d2 16027 loop 0a3 12h ; e2 fa16011 loop 0a322h ; e2 fa 16028 16012 lds bx, [bp-010h] ; c5 5e f0 16029 16013 or word [bx], ax ; 09 07 … … 16034 16018 mov ds, [bp-006h] ; 8e 5e fa 16035 16019 cmp ax, word [si+002h] ; 3b 44 02 16036 jc short 0a3 36h ; 72 0616037 jne short 0a3 3ch ; 75 0a16020 jc short 0a346h ; 72 06 16021 jne short 0a34ch ; 75 0a 16038 16022 cmp dx, word [si] ; 3b 14 16039 jnc short 0a3 3ch ; 73 0616023 jnc short 0a34ch ; 73 06 16040 16024 mov AL, strict byte 001h ; b0 01 16041 jmp short 0a3 3eh ; eb 0416042 jmp short 0a3 5dh ; eb 2116025 jmp short 0a34eh ; eb 04 16026 jmp short 0a36dh ; eb 21 16043 16027 xor al, al ; 30 c0 16044 16028 test al, al ; 84 c0 16045 je short 0a3 51h ; 74 0f16046 jmp short 0a3 5dh ; eb 1916029 je short 0a361h ; 74 0f 16030 jmp short 0a36dh ; eb 19 16047 16031 mov cx, strict word 0001fh ; b9 1f 00 16048 16032 sal word [bp-018h], 1 ; d1 66 e8 16049 16033 rcl word [bp-016h], 1 ; d1 56 ea 16050 loop 0a3 47h ; e2 f816051 jmp short 0a3 57h ; eb 0616034 loop 0a357h ; e2 f8 16035 jmp short 0a367h ; eb 06 16052 16036 shr word [bp-016h], 1 ; d1 6e ea 16053 16037 rcr word [bp-018h], 1 ; d1 5e e8 16054 16038 dec word [bp-012h] ; ff 4e ee 16055 jmp near 0a2 d9h ; e9 7c ff16039 jmp near 0a2e9h ; e9 7c ff 16056 16040 mov ax, word [bp-01ch] ; 8b 46 e4 16057 16041 mov dx, word [bp-01ah] ; 8b 56 e6 … … 16062 16046 retn ; c3 16063 16047 times 0x6 db 0 16064 _ASMBitLastSetU16: ; 0xfa3 70 LB 0x1816048 _ASMBitLastSetU16: ; 0xfa380 LB 0x18 16065 16049 push bp ; 55 16066 16050 db 08bh, 0ech … … 16068 16052 mov cx, word [bp+004h] ; 8b 4e 04 16069 16053 test cx, cx ; 85 c9 16070 je short 0a3 84h ; 74 0a16054 je short 0a394h ; 74 0a 16071 16055 mov ax, strict word 00010h ; b8 10 00 16072 16056 sal cx, 1 ; d1 e1 16073 jc short 0a3 86h ; 72 0516057 jc short 0a396h ; 72 05 16074 16058 dec ax ; 48 16075 jmp short 0a3 7dh ; eb f916059 jmp short 0a38dh ; eb f9 16076 16060 db 033h, 0c0h 16077 16061 ; xor ax, ax ; 33 c0 … … 16079 16063 retn ; c3 16080 16064 16081 ; Padding 0x36 78 bytes at 0xfa38816082 times 139 44db 016065 ; Padding 0x3668 bytes at 0xfa398 16066 times 13928 db 0 16083 16067 16084 16068 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 16127 16111 add bp, strict byte 00008h ; 83 c5 08 16128 16112 push ebp ; 66 55 16129 mov bp, 0a 0f6h ; bd f6 a016113 mov bp, 0a106h ; bd 06 a1 16130 16114 add byte [bx+si], al ; 00 00 16131 16115 push ebp ; 66 55 … … 16857 16841 call 01cc5h ; e8 89 39 16858 16842 call 02154h ; e8 15 3e 16859 call 0995 3h ; e8 11b616860 call 087b 8h ; e8 73a416843 call 09958h ; e8 16 b6 16844 call 087bdh ; e8 78 a4 16861 16845 call 0ed4ch ; e8 04 0a 16862 16846 call 0e2d2h ; e8 87 ff … … 17194 17178 pop DS ; 1f 17195 17179 cld ; fc 17196 call 06e9 8h ; e8 a48417180 call 06e9dh ; e8 a9 84 17197 17181 pop DS ; 1f 17198 17182 pop ES ; 07 … … 17556 17540 pop DS ; 1f 17557 17541 cld ; fc 17558 call 0784 5h ; e8 618817542 call 0784ah ; e8 66 88 17559 17543 pop di ; 5f 17560 17544 pop si ; 5e … … 17938 17922 cmp ah, 0c2h ; 80 fc c2 17939 17923 je short 0f895h ; 74 15 17940 call 067b 7h ; e8 346f17924 call 067bch ; e8 39 6f 17941 17925 pop di ; 5f 17942 17926 pop si ; 5e … … 17951 17935 popfw ; 9d 17952 17936 jmp short 0f8afh ; eb 1f 17953 call 09aa 6h ; e8 13a217937 call 09aabh ; e8 18 a2 17954 17938 jmp short 0f883h ; eb ee 17955 17939 int15_handler_mouse: ; 0xff895 LB 0x5 17956 call 074a 5h ; e8 0d7c17940 call 074aah ; e8 12 7c 17957 17941 jmp short 0f883h ; eb e9 17958 17942 int15_handler32: ; 0xff89a LB 0x15 … … 17965 17949 push si ; 56 17966 17950 push di ; 57 17967 call 06af ah ; e8 557217951 call 06affh ; e8 5a 72 17968 17952 pop di ; 5f 17969 17953 pop si ; 5e … … 18011 17995 pop DS ; 1f 18012 17996 cld ; fc 18013 call 073d 3h ; e8 f87a17997 call 073d8h ; e8 fd 7a 18014 17998 pop cx ; 59 18015 17999 jcxz 0f8ebh ; e3 0d … … 18059 18043 pop DS ; 1f 18060 18044 cld ; fc 18061 call 0707 0h ; e8 517718045 call 07075h ; e8 56 77 18062 18046 pop di ; 5f 18063 18047 pop si ; 5e … … 18162 18146 pop DS ; 1f 18163 18147 cld ; fc 18164 call 071 2fh ; e8 b17218148 call 07134h ; e8 b6 72 18165 18149 pop di ; 5f 18166 18150 pop si ; 5e … … 18274 18258 cpu_reset: ; 0xffff0 LB 0x10 18275 18259 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 18276 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 0 70h18260 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 016h -
TabularUnified trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.md5sum ¶
r61733 r62120 1 674671e42a2a37197d131b711785fb05*VBoxPcBios8086.rom1 51f85b0e4449f174537d2737f0e88fa6 *VBoxPcBios8086.rom
Note:
See TracChangeset
for help on using the changeset viewer.