Changeset 60443 in vbox for trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.asm
- Timestamp:
- Apr 11, 2016 9:31:34 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.asm
r60422 r60443 856 856 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 857 857 _pktacc: ; 0xf006a LB 0xc 858 db 000h, 000h, 000h, 000h, 000h, 000h, 0 40h, 02bh, 05ch, 081h, 0c2h, 090h858 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 0e5h, 080h, 04bh, 090h 859 859 _softrst: ; 0xf0076 LB 0xc 860 db 000h, 000h, 000h, 000h, 000h, 000h, 0 c9h, 02dh, 008h, 03bh, 008h, 03bh860 db 000h, 000h, 000h, 000h, 000h, 000h, 089h, 02dh, 0c8h, 03ah, 0c8h, 03ah 861 861 _dskacc: ; 0xf0082 LB 0x2e 862 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0 30h, 02ah, 0e5h, 02ah, 000h, 000h, 000h, 000h863 db 0 9ch, 07fh, 07ch, 080h, 094h, 08fh, 03ch, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h862 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f0h, 029h, 0a5h, 02ah, 000h, 000h, 000h, 000h 863 db 025h, 07fh, 005h, 080h, 01dh, 08fh, 0c5h, 08fh, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 864 864 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 865 865 … … 1058 1058 times 1144 db 0 1059 1059 1060 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8a c5 class=CODE group=AUTO1060 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8a45 class=CODE group=AUTO 1061 1061 rom_scan_: ; 0xf1600 LB 0x50 1062 1062 push bp ; 55 … … 1308 1308 int 010h ; cd 10 1309 1309 jmp short 017b7h ; eb 03 1310 call 07 b63h ; e8 ac631310 call 07aeah ; e8 33 63 1311 1311 mov sp, bp ; 89 ec 1312 1312 pop bp ; 5d … … 1453 1453 mov bx, strict word 0000ah ; bb 0a 00 1454 1454 xor cx, cx ; 31 c9 1455 call 09f b0h ; e8 e3 861455 call 09f30h ; e8 63 86 1456 1456 mov word [bp-008h], ax ; 89 46 f8 1457 1457 mov cx, dx ; 89 d1 … … 1683 1683 mov dx, word [bp-026h] ; 8b 56 da 1684 1684 mov si, word [bp-01eh] ; 8b 76 e2 1685 call 0 a02ah ; e8 2d 851685 call 09faah ; e8 ad 84 1686 1686 mov ax, dx ; 89 d0 1687 1687 xor ah, dh ; 30 f4 … … 2122 2122 mov dx, word [es:si] ; 26 8b 14 2123 2123 mov si, strict word 00018h ; be 18 00 2124 call 0 a02ah ; e8 da 802124 call 09faah ; e8 5a 80 2125 2125 xor dh, dh ; 30 f6 2126 2126 mov word [bp-014h], dx ; 89 56 ec … … 2132 2132 mov dx, word [es:si] ; 26 8b 14 2133 2133 mov si, strict word 00020h ; be 20 00 2134 call 0 a02ah ; e8 ba 802134 call 09faah ; e8 3a 80 2135 2135 mov bx, dx ; 89 d3 2136 2136 mov ax, word [bp-01ch] ; 8b 46 e4 … … 2163 2163 mov dx, word [es:si] ; 26 8b 14 2164 2164 mov si, strict word 00008h ; be 08 00 2165 call 0 a02ah ; e8 69 802165 call 09faah ; e8 e9 7f 2166 2166 mov word [bp-012h], dx ; 89 56 ee 2167 2167 mov bx, word [bp-016h] ; 8b 5e ea … … 2172 2172 mov dx, word [es:si] ; 26 8b 14 2173 2173 mov si, strict word 00018h ; be 18 00 2174 call 0 a02ah ; e8 4b 802174 call 09faah ; e8 cb 7f 2175 2175 mov ah, dl ; 88 d4 2176 2176 and ah, 00fh ; 80 e4 0f … … 2307 2307 pop bp ; 5d 2308 2308 retn ; c3 2309 _ata_detect: ; 0xf2118 LB 0x6 8e2309 _ata_detect: ; 0xf2118 LB 0x64e 2310 2310 push bp ; 55 2311 2311 mov bp, sp ; 89 e5 … … 2316 2316 mov ax, strict word 00040h ; b8 40 00 2317 2317 call 0166ch ; e8 42 f5 2318 mov word [bp-0 1ah], ax ; 89 46 e62318 mov word [bp-026h], ax ; 89 46 da 2319 2319 mov di, 00122h ; bf 22 01 2320 2320 mov es, ax ; 8e c0 2321 mov word [bp-0 1ch], di ; 89 7e e42322 mov word [bp-0 1eh], ax ; 89 46 e22321 mov word [bp-022h], di ; 89 7e de 2322 mov word [bp-020h], ax ; 89 46 e0 2323 2323 mov byte [es:di+00204h], 000h ; 26 c6 85 04 02 00 2324 2324 mov word [es:di+00206h], 001f0h ; 26 c7 85 06 02 f0 01 … … 2330 2330 mov byte [es:di+0020bh], 00fh ; 26 c6 85 0b 02 0f 2331 2331 xor al, al ; 30 c0 2332 mov byte [bp-00 ch], al ; 88 46 f42332 mov byte [bp-008h], al ; 88 46 f8 2333 2333 mov byte [bp-012h], al ; 88 46 ee 2334 mov byte [bp-00 eh], al ; 88 46 f22335 jmp near 02 726h ; e9 ac052334 mov byte [bp-00ah], al ; 88 46 f6 2335 jmp near 026ech ; e9 72 05 2336 2336 mov ax, 000a0h ; b8 a0 00 2337 2337 lea dx, [si+006h] ; 8d 54 06 2338 2338 out DX, AL ; ee 2339 lea bx, [si+002h] ; 8d 5c 02 2339 lea di, [si+002h] ; 8d 7c 02 2340 mov AL, strict byte 055h ; b0 55 2341 mov dx, di ; 89 fa 2342 out DX, AL ; ee 2343 lea bx, [si+003h] ; 8d 5c 03 2344 mov AL, strict byte 0aah ; b0 aa 2345 mov dx, bx ; 89 da 2346 out DX, AL ; ee 2347 mov dx, di ; 89 fa 2348 out DX, AL ; ee 2340 2349 mov AL, strict byte 055h ; b0 55 2341 2350 mov dx, bx ; 89 da 2342 2351 out DX, AL ; ee 2343 lea di, [si+003h] ; 8d 7c 03 2352 mov dx, di ; 89 fa 2353 out DX, AL ; ee 2344 2354 mov AL, strict byte 0aah ; b0 aa 2355 mov dx, bx ; 89 da 2356 out DX, AL ; ee 2345 2357 mov dx, di ; 89 fa 2346 out DX, AL ; ee 2347 mov dx, bx ; 89 da 2348 out DX, AL ; ee 2349 mov AL, strict byte 055h ; b0 55 2350 mov dx, di ; 89 fa 2351 out DX, AL ; ee 2352 mov dx, bx ; 89 da 2353 out DX, AL ; ee 2354 mov AL, strict byte 0aah ; b0 aa 2355 mov dx, di ; 89 fa 2356 out DX, AL ; ee 2358 in AL, DX ; ec 2359 db 02ah, 0e4h 2360 ; sub ah, ah ; 2a e4 2361 mov cx, ax ; 89 c1 2357 2362 mov dx, bx ; 89 da 2358 2363 in AL, DX ; ec 2359 2364 db 02ah, 0e4h 2360 2365 ; sub ah, ah ; 2a e4 2361 mov bx, ax ; 89 c3 2362 mov dx, di ; 89 fa 2363 in AL, DX ; ec 2364 db 02ah, 0e4h 2365 ; sub ah, ah ; 2a e4 2366 cmp bl, 055h ; 80 fb 55 2367 jne short 021fch ; 75 4a 2366 cmp cl, 055h ; 80 f9 55 2367 jne short 021f9h ; 75 47 2368 2368 cmp AL, strict byte 0aah ; 3c aa 2369 jne short 021f ch ; 75 462370 mov al, byte [bp-00 eh] ; 8a 46 f22369 jne short 021f9h ; 75 43 2370 mov al, byte [bp-00ah] ; 8a 46 f6 2371 2371 xor ah, ah ; 30 e4 2372 2372 imul ax, ax, strict byte 0001ch ; 6b c0 1c 2373 mov es, [bp-01eh] ; 8e 46 e2 2374 mov bx, word [bp-01ch] ; 8b 5e e4 2373 les bx, [bp-022h] ; c4 5e de 2375 2374 add bx, ax ; 01 c3 2376 2375 mov byte [es:bx+022h], 001h ; 26 c6 47 22 01 2377 mov al, byte [bp-00 eh] ; 8a 46 f22378 xor ah, ah ; 30 e4 2379 call 01d85h ; e8 b 2fb2380 cmp byte [bp-0 0ah], 000h ; 80 7e f6002381 je short 021d eh ; 74 052376 mov al, byte [bp-00ah] ; 8a 46 f6 2377 xor ah, ah ; 30 e4 2378 call 01d85h ; e8 b5 fb 2379 cmp byte [bp-010h], 000h ; 80 7e f0 00 2380 je short 021dbh ; 74 05 2382 2381 mov ax, 000b0h ; b8 b0 00 2383 jmp short 021 e1h ; eb 032382 jmp short 021deh ; eb 03 2384 2383 mov ax, 000a0h ; b8 a0 00 2385 2384 lea dx, [si+006h] ; 8d 54 06 … … 2395 2394 ; sub ah, ah ; 2a e4 2396 2395 cmp bl, 001h ; 80 fb 01 2397 jne short 0223 8h ; 75 402396 jne short 02232h ; 75 3d 2398 2397 cmp al, bl ; 38 d8 2399 je short 021f eh ; 74 022400 jmp short 0223 8h ; eb 3a2398 je short 021fbh ; 74 02 2399 jmp short 02232h ; eb 37 2401 2400 lea dx, [si+004h] ; 8d 54 04 2402 in AL, DX ; ec2403 db 02ah, 0e4h2404 ; sub ah, ah ; 2a e42405 mov cx, ax ; 89 c12406 mov ch, al ; 88 c52407 lea dx, [si+005h] ; 8d 54 052408 2401 in AL, DX ; ec 2409 2402 db 02ah, 0e4h … … 2411 2404 mov bx, ax ; 89 c3 2412 2405 mov byte [bp-006h], al ; 88 46 fa 2406 lea dx, [si+005h] ; 8d 54 05 2407 in AL, DX ; ec 2408 db 02ah, 0e4h 2409 ; sub ah, ah ; 2a e4 2410 mov cx, ax ; 89 c1 2411 mov bh, al ; 88 c7 2413 2412 lea dx, [si+007h] ; 8d 54 07 2414 2413 in AL, DX ; ec 2415 2414 db 02ah, 0e4h 2416 2415 ; sub ah, ah ; 2a e4 2417 cmp cl, 014h ; 80 f9142418 jne short 0223 ah ; 75 1c2419 cmp bl, 0ebh ; 80 fbeb2420 jne short 0223 ah ; 75 172421 mov al, byte [bp-00 eh] ; 8a 46 f22416 cmp bl, 014h ; 80 fb 14 2417 jne short 02234h ; 75 19 2418 cmp cl, 0ebh ; 80 f9 eb 2419 jne short 02234h ; 75 14 2420 mov al, byte [bp-00ah] ; 8a 46 f6 2422 2421 xor ah, ah ; 30 e4 2423 2422 imul ax, ax, strict byte 0001ch ; 6b c0 1c 2424 mov es, [bp-01eh] ; 8e 46 e2 2425 mov bx, word [bp-01ch] ; 8b 5e e4 2423 les bx, [bp-022h] ; c4 5e de 2426 2424 add bx, ax ; 01 c3 2427 2425 mov byte [es:bx+022h], 003h ; 26 c6 47 22 03 2428 jmp short 0227eh ; eb 44 2429 test ch, ch ; 84 ed 2430 jne short 0225fh ; 75 21 2426 jmp short 02273h ; eb 3f 2431 2427 cmp byte [bp-006h], 000h ; 80 7e fa 00 2432 jne short 0225fh ; 75 1b 2428 jne short 02256h ; 75 1c 2429 test bh, bh ; 84 ff 2430 jne short 02256h ; 75 18 2433 2431 test al, al ; 84 c0 2434 je short 0225 fh ; 74 172435 mov al, byte [bp-00 eh] ; 8a 46 f22432 je short 02256h ; 74 14 2433 mov al, byte [bp-00ah] ; 8a 46 f6 2436 2434 xor ah, ah ; 30 e4 2437 2435 imul ax, ax, strict byte 0001ch ; 6b c0 1c 2438 mov es, [bp-01eh] ; 8e 46 e2 2439 mov bx, word [bp-01ch] ; 8b 5e e4 2436 les bx, [bp-022h] ; c4 5e de 2440 2437 add bx, ax ; 01 c3 2441 2438 mov byte [es:bx+022h], 002h ; 26 c6 47 22 02 2442 jmp short 0227eh ; eb 1f 2443 cmp ch, 0ffh ; 80 fd ff 2444 jne short 0227eh ; 75 1a 2445 cmp ch, byte [bp-006h] ; 3a 6e fa 2446 jne short 0227eh ; 75 15 2447 mov al, byte [bp-00eh] ; 8a 46 f2 2439 jmp short 02273h ; eb 1d 2440 mov al, byte [bp-006h] ; 8a 46 fa 2441 cmp AL, strict byte 0ffh ; 3c ff 2442 jne short 02273h ; 75 16 2443 cmp bh, al ; 38 c7 2444 jne short 02273h ; 75 12 2445 mov al, byte [bp-00ah] ; 8a 46 f6 2448 2446 xor ah, ah ; 30 e4 2449 2447 imul ax, ax, strict byte 0001ch ; 6b c0 1c 2450 mov es, [bp-01eh] ; 8e 46 e2 2451 mov bx, word [bp-01ch] ; 8b 5e e4 2448 les bx, [bp-022h] ; c4 5e de 2452 2449 add bx, ax ; 01 c3 2453 2450 mov byte [es:bx+022h], 000h ; 26 c6 47 22 00 2454 mov dx, word [bp-0 2ah] ; 8b 56 d62451 mov dx, word [bp-01ah] ; 8b 56 e6 2455 2452 add dx, strict byte 00006h ; 83 c2 06 2456 2453 mov AL, strict byte 008h ; b0 08 2457 2454 out DX, AL ; ee 2458 mov al, byte [bp-00 eh] ; 8a 46 f22455 mov al, byte [bp-00ah] ; 8a 46 f6 2459 2456 xor ah, ah ; 30 e4 2460 2457 imul ax, ax, strict byte 0001ch ; 6b c0 1c 2461 mov es, [bp-01eh] ; 8e 46 e2 2462 mov si, word [bp-01ch] ; 8b 76 e4 2458 les si, [bp-022h] ; c4 76 de 2463 2459 add si, ax ; 01 c6 2464 2460 mov al, byte [es:si+022h] ; 26 8a 44 22 2465 mov byte [bp-00 8h], al ; 88 46 f82461 mov byte [bp-00ch], al ; 88 46 f4 2466 2462 cmp AL, strict byte 002h ; 3c 02 2467 jne short 022 fdh ; 75 5b2463 jne short 022ddh ; 75 49 2468 2464 mov byte [es:si+023h], 0ffh ; 26 c6 44 23 ff 2469 2465 mov byte [es:si+026h], 000h ; 26 c6 44 26 00 2470 2466 lea dx, [bp-00264h] ; 8d 96 9c fd 2471 mov bx, word [bp-0 1ch] ; 8b 5e e42467 mov bx, word [bp-022h] ; 8b 5e de 2472 2468 mov word [es:bx+008h], dx ; 26 89 57 08 2473 2469 mov [es:bx+00ah], ss ; 26 8c 57 0a 2474 mov al, byte [bp-00 eh] ; 8a 46 f22470 mov al, byte [bp-00ah] ; 8a 46 f6 2475 2471 mov byte [es:bx+00ch], al ; 26 88 47 0c 2476 2472 mov cx, strict word 00001h ; b9 01 00 2477 2473 mov bx, 000ech ; bb ec 00 2478 mov ax, word [bp-0 1ch] ; 8b 46 e42474 mov ax, word [bp-022h] ; 8b 46 de 2479 2475 mov dx, es ; 8c c2 2480 call 01e63h ; e8 93fb2476 call 01e63h ; e8 a1 fb 2481 2477 test ax, ax ; 85 c0 2482 je short 022d fh ; 74 0b2478 je short 022d1h ; 74 0b 2483 2479 push 00124h ; 68 24 01 2484 2480 push strict byte 00007h ; 6a 07 2485 call 01966h ; e8 8af62481 call 01966h ; e8 98 f6 2486 2482 add sp, strict byte 00004h ; 83 c4 04 2487 2483 test byte [bp-00264h], 080h ; f6 86 9c fd 80 2488 je short 022e bh ; 74 052484 je short 022e0h ; 74 08 2489 2485 mov ax, strict word 00001h ; b8 01 00 2490 jmp short 022edh ; eb 02 2486 jmp short 022e2h ; eb 05 2487 jmp near 024bfh ; e9 df 01 2491 2488 xor ax, ax ; 31 c0 2492 2489 mov byte [bp-016h], al ; 88 46 ea 2493 mov al, byte [bp-00204h] ; 8a 86 fc fd 2494 test al, al ; 84 c0 2495 je short 02300h ; 74 08 2496 mov ax, strict word 00001h ; b8 01 00 2497 jmp short 02302h ; eb 05 2498 jmp near 024deh ; e9 de 01 2499 xor ah, ah ; 30 e4 2500 mov byte [bp-018h], al ; 88 46 e8 2490 mov byte [bp-018h], 000h ; c6 46 e8 00 2501 2491 mov word [bp-034h], 00200h ; c7 46 cc 00 02 2502 2492 mov ax, word [bp-00262h] ; 8b 86 9e fd 2503 mov word [bp-0 24h], ax ; 89 46 dc2493 mov word [bp-01ch], ax ; 89 46 e4 2504 2494 mov ax, word [bp-0025eh] ; 8b 86 a2 fd 2505 mov word [bp-0 26h], ax ; 89 46 da2495 mov word [bp-030h], ax ; 89 46 d0 2506 2496 mov ax, word [bp-00258h] ; 8b 86 a8 fd 2507 mov word [bp-02 2h], ax ; 89 46 de2497 mov word [bp-02ah], ax ; 89 46 d6 2508 2498 mov si, word [bp-001ech] ; 8b b6 14 fe 2509 2499 mov ax, word [bp-001eah] ; 8b 86 16 fe 2510 mov word [bp-02 0h], ax ; 89 46 e02500 mov word [bp-028h], ax ; 89 46 d8 2511 2501 xor ax, ax ; 31 c0 2512 mov word [bp-030h], ax ; 89 46 d0 2502 mov word [bp-01eh], ax ; 89 46 e2 2503 mov word [bp-02ch], ax ; 89 46 d4 2504 cmp word [bp-028h], 00fffh ; 81 7e d8 ff 0f 2505 jne short 0233bh ; 75 1e 2506 cmp si, strict byte 0ffffh ; 83 fe ff 2507 jne short 0233bh ; 75 19 2508 mov ax, word [bp-00196h] ; 8b 86 6a fe 2509 mov word [bp-02ch], ax ; 89 46 d4 2510 mov ax, word [bp-00198h] ; 8b 86 68 fe 2511 mov word [bp-01eh], ax ; 89 46 e2 2512 mov ax, word [bp-0019ah] ; 8b 86 66 fe 2513 2513 mov word [bp-028h], ax ; 89 46 d8 2514 cmp word [bp-020h], 00fffh ; 81 7e e0 ff 0f2515 jne short 02357h ; 75 1e2516 cmp si, strict byte 0ffffh ; 83 fe ff2517 jne short 02357h ; 75 192518 mov ax, word [bp-00196h] ; 8b 86 6a fe2519 mov word [bp-028h], ax ; 89 46 d82520 mov ax, word [bp-00198h] ; 8b 86 68 fe2521 mov word [bp-030h], ax ; 89 46 d02522 mov ax, word [bp-0019ah] ; 8b 86 66 fe2523 mov word [bp-020h], ax ; 89 46 e02524 2514 mov si, word [bp-0019ch] ; 8b b6 64 fe 2525 mov al, byte [bp-00 eh] ; 8a 46 f22515 mov al, byte [bp-00ah] ; 8a 46 f6 2526 2516 cmp AL, strict byte 001h ; 3c 01 2527 jc short 023 6ah ; 72 0c2528 jbe short 023 72h ; 76 122517 jc short 0234eh ; 72 0c 2518 jbe short 02356h ; 76 12 2529 2519 cmp AL, strict byte 003h ; 3c 03 2530 je short 023 7ah ; 74 162520 je short 0235eh ; 74 16 2531 2521 cmp AL, strict byte 002h ; 3c 02 2532 je short 023 76h ; 74 0e2533 jmp short 023 b4h ; eb 4a2522 je short 0235ah ; 74 0e 2523 jmp short 02398h ; eb 4a 2534 2524 test al, al ; 84 c0 2535 jne short 023 b4h ; 75 462525 jne short 02398h ; 75 46 2536 2526 mov BL, strict byte 01eh ; b3 1e 2537 jmp short 023 7ch ; eb 0a2527 jmp short 02360h ; eb 0a 2538 2528 mov BL, strict byte 026h ; b3 26 2539 jmp short 023 7ch ; eb 062529 jmp short 02360h ; eb 06 2540 2530 mov BL, strict byte 067h ; b3 67 2541 jmp short 023 7ch ; eb 022531 jmp short 02360h ; eb 02 2542 2532 mov BL, strict byte 070h ; b3 70 2543 2533 mov al, bl ; 88 d8 … … 2545 2535 ; inc al ; fe c0 2546 2536 xor ah, ah ; 30 e4 2547 call 016ach ; e8 27f32537 call 016ach ; e8 43 f3 2548 2538 xor ah, ah ; 30 e4 2549 2539 mov dx, ax ; 89 c2 2550 2540 sal dx, 008h ; c1 e2 08 2551 2541 mov al, bl ; 88 d8 2552 call 016ach ; e8 1bf32542 call 016ach ; e8 37 f3 2553 2543 xor ah, ah ; 30 e4 2554 2544 add ax, dx ; 01 d0 … … 2557 2547 add AL, strict byte 002h ; 04 02 2558 2548 xor ah, ah ; 30 e4 2559 call 016ach ; e8 0bf32549 call 016ach ; e8 27 f3 2560 2550 xor ah, ah ; 30 e4 2561 2551 mov word [bp-03ah], ax ; 89 46 c6 2562 2552 mov al, bl ; 88 d8 2563 2553 add AL, strict byte 007h ; 04 07 2564 call 016ach ; e8 ff f22554 call 016ach ; e8 1b f3 2565 2555 xor ah, ah ; 30 e4 2566 2556 mov word [bp-036h], ax ; 89 46 ca 2567 jmp short 023c6h ; eb 12 2557 jmp short 023aah ; eb 12 2558 push word [bp-02ch] ; ff 76 d4 2559 push word [bp-01eh] ; ff 76 e2 2568 2560 push word [bp-028h] ; ff 76 d8 2569 push word [bp-030h] ; ff 76 d02570 push word [bp-020h] ; ff 76 e02571 2561 push si ; 56 2572 2562 mov dx, ss ; 8c d2 2573 2563 lea ax, [bp-03ah] ; 8d 46 c6 2574 call 059 d2h ; e8 0c 362564 call 05977h ; e8 cd 35 2575 2565 mov bx, 00da0h ; bb a0 0d 2576 2566 mov cx, ds ; 8c d9 2577 2567 mov ax, strict word 00004h ; b8 04 00 2578 call 01923h ; e8 52f52568 call 01923h ; e8 6e f5 2579 2569 mov ax, word [bp-036h] ; 8b 46 ca 2580 2570 push ax ; 50 … … 2583 2573 mov ax, word [bp-038h] ; 8b 46 c8 2584 2574 push ax ; 50 2585 push word [bp-02 2h] ; ff 76 de2586 push word [bp-0 26h] ; ff 76 da2587 push word [bp-0 24h] ; ff 76 dc2588 mov al, byte [bp-0 0ah] ; 8a 46 f62575 push word [bp-02ah] ; ff 76 d6 2576 push word [bp-030h] ; ff 76 d0 2577 push word [bp-01ch] ; ff 76 e4 2578 mov al, byte [bp-010h] ; 8a 46 f0 2589 2579 xor ah, ah ; 30 e4 2590 2580 push ax ; 50 … … 2593 2583 push 0014dh ; 68 4d 01 2594 2584 push strict byte 00004h ; 6a 04 2595 call 01966h ; e8 6ef52585 call 01966h ; e8 8a f5 2596 2586 add sp, strict byte 00014h ; 83 c4 14 2597 mov al, byte [bp-00 eh] ; 8a 46 f22587 mov al, byte [bp-00ah] ; 8a 46 f6 2598 2588 xor ah, ah ; 30 e4 2599 2589 imul ax, ax, strict byte 0001ch ; 6b c0 1c 2600 mov es, [bp-01eh] ; 8e 46 e2 2601 mov di, word [bp-01ch] ; 8b 7e e4 2590 les di, [bp-022h] ; c4 7e de 2602 2591 add di, ax ; 01 c7 2603 2592 mov byte [es:di+023h], 0ffh ; 26 c6 45 23 ff … … 2608 2597 mov ax, word [bp-034h] ; 8b 46 cc 2609 2598 mov word [es:di+028h], ax ; 26 89 45 28 2610 mov ax, word [bp-0 26h] ; 8b 46 da2599 mov ax, word [bp-030h] ; 8b 46 d0 2611 2600 mov word [es:di+030h], ax ; 26 89 45 30 2612 mov ax, word [bp-0 24h] ; 8b 46 dc2601 mov ax, word [bp-01ch] ; 8b 46 e4 2613 2602 mov word [es:di+032h], ax ; 26 89 45 32 2614 mov ax, word [bp-02 2h] ; 8b 46 de2603 mov ax, word [bp-02ah] ; 8b 46 d6 2615 2604 mov word [es:di+034h], ax ; 26 89 45 34 2605 mov ax, word [bp-02ch] ; 8b 46 d4 2606 mov word [es:di+03ch], ax ; 26 89 45 3c 2607 mov ax, word [bp-01eh] ; 8b 46 e2 2608 mov word [es:di+03ah], ax ; 26 89 45 3a 2616 2609 mov ax, word [bp-028h] ; 8b 46 d8 2617 mov word [es:di+03ch], ax ; 26 89 45 3c2618 mov ax, word [bp-030h] ; 8b 46 d02619 mov word [es:di+03ah], ax ; 26 89 45 3a2620 mov ax, word [bp-020h] ; 8b 46 e02621 2610 mov word [es:di+038h], ax ; 26 89 45 38 2622 2611 mov word [es:di+036h], si ; 26 89 75 36 … … 2630 2619 movsw ; a5 2631 2620 pop DS ; 1f 2632 mov al, byte [bp-00 eh] ; 8a 46 f22621 mov al, byte [bp-00ah] ; 8a 46 f6 2633 2622 cmp AL, strict byte 002h ; 3c 02 2634 jnc short 024 c8h ; 73 612623 jnc short 024a9h ; 73 61 2635 2624 test al, al ; 84 c0 2636 jne short 024 70h ; 75 052625 jne short 02451h ; 75 05 2637 2626 mov di, strict word 0003dh ; bf 3d 00 2638 jmp short 024 73h ; eb 032627 jmp short 02454h ; eb 03 2639 2628 mov di, strict word 0004dh ; bf 4d 00 2640 mov dx, word [bp-0 1ah] ; 8b 56 e62629 mov dx, word [bp-026h] ; 8b 56 da 2641 2630 mov ax, word [bp-038h] ; 8b 46 c8 2642 2631 mov es, dx ; 8e c2 … … 2645 2634 mov byte [es:di+002h], al ; 26 88 45 02 2646 2635 mov byte [es:di+003h], 0a0h ; 26 c6 45 03 a0 2647 mov al, byte [bp-02 2h] ; 8a 46 de2636 mov al, byte [bp-02ah] ; 8a 46 d6 2648 2637 mov byte [es:di+004h], al ; 26 88 45 04 2649 mov ax, word [bp-0 24h] ; 8b 46 dc2638 mov ax, word [bp-01ch] ; 8b 46 e4 2650 2639 mov word [es:di+009h], ax ; 26 89 45 09 2651 mov al, byte [bp-0 26h] ; 8a 46 da2640 mov al, byte [bp-030h] ; 8a 46 d0 2652 2641 mov byte [es:di+00bh], al ; 26 88 45 0b 2653 mov al, byte [bp-02 2h] ; 8a 46 de2642 mov al, byte [bp-02ah] ; 8a 46 d6 2654 2643 mov byte [es:di+00eh], al ; 26 88 45 0e 2655 2644 xor al, al ; 30 c0 2656 2645 xor ah, ah ; 30 e4 2657 jmp short 024 b1h ; eb 052646 jmp short 02492h ; eb 05 2658 2647 cmp ah, 00fh ; 80 fc 0f 2659 jnc short 024 c0h ; 73 0f2648 jnc short 024a1h ; 73 0f 2660 2649 mov bl, ah ; 88 e3 2661 2650 xor bh, bh ; 30 ff … … 2665 2654 db 0feh, 0c4h 2666 2655 ; inc ah ; fe c4 2667 jmp short 024 ach ; eb ec2656 jmp short 0248dh ; eb ec 2668 2657 neg al ; f6 d8 2669 2658 mov es, dx ; 8e c2 … … 2671 2660 mov bl, byte [bp-012h] ; 8a 5e ee 2672 2661 xor bh, bh ; 30 ff 2673 mov es, [bp-0 1eh] ; 8e 46 e22674 add bx, word [bp-0 1ch] ; 03 5e e42675 mov al, byte [bp-00 eh] ; 8a 46 f22662 mov es, [bp-020h] ; 8e 46 e0 2663 add bx, word [bp-022h] ; 03 5e de 2664 mov al, byte [bp-00ah] ; 8a 46 f6 2676 2665 mov byte [es:bx+001e3h], al ; 26 88 87 e3 01 2677 2666 inc byte [bp-012h] ; fe 46 ee 2678 cmp byte [bp-00 8h], 003h ; 80 7e f8032679 jne short 025 54h ; 75 702680 mov al, byte [bp-00 eh] ; 8a 46 f22667 cmp byte [bp-00ch], 003h ; 80 7e f4 03 2668 jne short 02522h ; 75 5d 2669 mov al, byte [bp-00ah] ; 8a 46 f6 2681 2670 xor ah, ah ; 30 e4 2682 2671 imul ax, ax, strict byte 0001ch ; 6b c0 1c 2683 mov es, [bp-01eh] ; 8e 46 e2 2684 mov bx, word [bp-01ch] ; 8b 5e e4 2672 les bx, [bp-022h] ; c4 5e de 2685 2673 add bx, ax ; 01 c3 2686 2674 mov byte [es:bx+023h], 005h ; 26 c6 47 23 05 2687 2675 mov byte [es:bx+026h], 000h ; 26 c6 47 26 00 2688 2676 lea dx, [bp-00264h] ; 8d 96 9c fd 2689 mov bx, word [bp-0 1ch] ; 8b 5e e42677 mov bx, word [bp-022h] ; 8b 5e de 2690 2678 mov word [es:bx+008h], dx ; 26 89 57 08 2691 2679 mov [es:bx+00ah], ss ; 26 8c 57 0a 2692 mov al, byte [bp-00 eh] ; 8a 46 f22680 mov al, byte [bp-00ah] ; 8a 46 f6 2693 2681 mov byte [es:bx+00ch], al ; 26 88 47 0c 2694 2682 mov cx, strict word 00001h ; b9 01 00 2695 2683 mov bx, 000a1h ; bb a1 00 2696 mov ax, word [bp-0 1ch] ; 8b 46 e42684 mov ax, word [bp-022h] ; 8b 46 de 2697 2685 mov dx, es ; 8c c2 2698 call 01e63h ; e8 41f92686 call 01e63h ; e8 63 f9 2699 2687 test ax, ax ; 85 c0 2700 je short 025 31h ; 74 0b2688 je short 0250fh ; 74 0b 2701 2689 push 00174h ; 68 74 01 2702 2690 push strict byte 00007h ; 6a 07 2703 call 01966h ; e8 38f42691 call 01966h ; e8 5a f4 2704 2692 add sp, strict byte 00004h ; 83 c4 04 2705 mov b h, byte [bp-00263h] ; 8a be 9d fd2706 and b h, 01fh ; 80 e71f2693 mov bl, byte [bp-00263h] ; 8a 9e 9d fd 2694 and bl, 01fh ; 80 e3 1f 2707 2695 test byte [bp-00264h], 080h ; f6 86 9c fd 80 2708 je short 025 44h ; 74 052696 je short 02524h ; 74 07 2709 2697 mov ax, strict word 00001h ; b8 01 00 2710 jmp short 02546h ; eb 02 2698 jmp short 02526h ; eb 04 2699 jmp short 02559h ; eb 35 2711 2700 xor ax, ax ; 31 c0 2712 mov bl, al ; 88 c3 2713 cmp byte [bp-00204h], 000h ; 80 be fc fd 00 2714 je short 02556h ; 74 07 2715 mov dx, strict word 00001h ; ba 01 00 2716 jmp short 02558h ; eb 04 2717 jmp short 0258dh ; eb 37 2718 xor dx, dx ; 31 d2 2719 mov al, byte [bp-00eh] ; 8a 46 f2 2701 mov dl, byte [bp-00ah] ; 8a 56 f6 2702 xor dh, dh ; 30 f6 2703 imul dx, dx, strict byte 0001ch ; 6b d2 1c 2704 les si, [bp-022h] ; c4 76 de 2705 add si, dx ; 01 d6 2706 mov byte [es:si+023h], bl ; 26 88 5c 23 2707 mov byte [es:si+024h], al ; 26 88 44 24 2708 mov byte [es:si+026h], 000h ; 26 c6 44 26 00 2709 mov word [es:si+028h], 00800h ; 26 c7 44 28 00 08 2710 mov bl, byte [bp-008h] ; 8a 5e f8 2711 xor bh, bh ; 30 ff 2712 add bx, word [bp-022h] ; 03 5e de 2713 mov al, byte [bp-00ah] ; 8a 46 f6 2714 mov byte [es:bx+001f4h], al ; 26 88 87 f4 01 2715 inc byte [bp-008h] ; fe 46 f8 2716 mov al, byte [bp-00ch] ; 8a 46 f4 2717 cmp AL, strict byte 003h ; 3c 03 2718 je short 0258dh ; 74 2d 2719 cmp AL, strict byte 002h ; 3c 02 2720 jne short 025bdh ; 75 59 2721 mov al, byte [bp-00ah] ; 8a 46 f6 2720 2722 xor ah, ah ; 30 e4 2721 2723 imul ax, ax, strict byte 0001ch ; 6b c0 1c 2722 mov es, [bp-01eh] ; 8e 46 e2 2723 mov di, word [bp-01ch] ; 8b 7e e4 2724 add di, ax ; 01 c7 2725 mov byte [es:di+023h], bh ; 26 88 7d 23 2726 mov byte [es:di+024h], bl ; 26 88 5d 24 2727 mov byte [es:di+026h], dl ; 26 88 55 26 2728 mov word [es:di+028h], 00800h ; 26 c7 45 28 00 08 2729 mov bl, byte [bp-00ch] ; 8a 5e f4 2730 xor bh, bh ; 30 ff 2731 add bx, word [bp-01ch] ; 03 5e e4 2732 mov al, byte [bp-00eh] ; 8a 46 f2 2733 mov byte [es:bx+001f4h], al ; 26 88 87 f4 01 2734 inc byte [bp-00ch] ; fe 46 f4 2735 mov al, byte [bp-008h] ; 8a 46 f8 2736 cmp AL, strict byte 003h ; 3c 03 2737 je short 025c4h ; 74 30 2738 cmp AL, strict byte 002h ; 3c 02 2739 jne short 025f4h ; 75 5c 2740 mov al, byte [bp-00eh] ; 8a 46 f2 2741 xor ah, ah ; 30 e4 2742 imul ax, ax, strict byte 0001ch ; 6b c0 1c 2743 mov es, [bp-01eh] ; 8e 46 e2 2744 mov di, word [bp-01ch] ; 8b 7e e4 2724 les di, [bp-022h] ; c4 7e de 2745 2725 add di, ax ; 01 c7 2746 2726 mov ax, word [es:di+03ch] ; 26 8b 45 3c … … 2749 2729 mov dx, word [es:di+036h] ; 26 8b 55 36 2750 2730 mov si, strict word 0000bh ; be 0b 00 2751 call 0 a02ah ; e8 6c7a2752 mov word [bp-02 eh], dx ; 89 56 d22753 mov word [bp-0 2ch], cx ; 89 4e d42731 call 09faah ; e8 23 7a 2732 mov word [bp-024h], dx ; 89 56 dc 2733 mov word [bp-032h], cx ; 89 4e ce 2754 2734 mov al, byte [bp-001c3h] ; 8a 86 3d fe 2755 2735 xor ah, ah ; 30 e4 … … 2758 2738 mov al, byte [bp-001c4h] ; 8a 86 3c fe 2759 2739 or dx, ax ; 09 c2 2760 mov byte [bp-0 10h], 00fh ; c6 46 f00f2761 jmp short 025 e4h ; eb 092762 dec byte [bp-0 10h] ; fe 4e f02763 cmp byte [bp-0 10h], 000h ; 80 7e f0002764 jbe short 025 f0h ; 76 0c2765 mov cl, byte [bp-0 10h] ; 8a 4e f02740 mov byte [bp-00eh], 00fh ; c6 46 f2 0f 2741 jmp short 025adh ; eb 09 2742 dec byte [bp-00eh] ; fe 4e f2 2743 cmp byte [bp-00eh], 000h ; 80 7e f2 00 2744 jbe short 025b9h ; 76 0c 2745 mov cl, byte [bp-00eh] ; 8a 4e f2 2766 2746 mov ax, strict word 00001h ; b8 01 00 2767 2747 sal ax, CL ; d3 e0 2768 2748 test dx, ax ; 85 c2 2769 je short 025 dbh ; 74 eb2749 je short 025a4h ; 74 eb 2770 2750 xor di, di ; 31 ff 2771 jmp short 025 fbh ; eb 072772 jmp short 02 62ah ; eb 342751 jmp short 025c4h ; eb 07 2752 jmp short 025f3h ; eb 34 2773 2753 cmp di, strict byte 00014h ; 83 ff 14 2774 jnl short 02 610h ; 7d 152754 jnl short 025d9h ; 7d 15 2775 2755 mov si, di ; 89 fe 2776 2756 add si, di ; 01 fe … … 2780 2760 mov byte [bp+si-063h], al ; 88 42 9d 2781 2761 inc di ; 47 2782 jmp short 025 f6h ; eb e62762 jmp short 025bfh ; eb e6 2783 2763 mov byte [bp-03ch], 000h ; c6 46 c4 00 2784 2764 mov di, strict word 00027h ; bf 27 00 2785 jmp short 02 61eh ; eb 052765 jmp short 025e7h ; eb 05 2786 2766 dec di ; 4f 2787 2767 test di, di ; 85 ff 2788 jle short 02 62ah ; 7e 0c2768 jle short 025f3h ; 7e 0c 2789 2769 cmp byte [bp+di-064h], 020h ; 80 7b 9c 20 2790 jne short 02 62ah ; 75 062770 jne short 025f3h ; 75 06 2791 2771 mov byte [bp+di-064h], 000h ; c6 43 9c 00 2792 jmp short 02 619h ; eb ef2793 mov al, byte [bp-00 8h] ; 8a 46 f82772 jmp short 025e2h ; eb ef 2773 mov al, byte [bp-00ch] ; 8a 46 f4 2794 2774 cmp AL, strict byte 003h ; 3c 03 2795 je short 026 8eh ; 74 5d2775 je short 02657h ; 74 5d 2796 2776 cmp AL, strict byte 002h ; 3c 02 2797 je short 026 3ch ; 74 072777 je short 02605h ; 74 07 2798 2778 cmp AL, strict byte 001h ; 3c 01 2799 je short 026 99h ; 74 602800 jmp near 02 71dh ; e9 e1002801 cmp byte [bp-0 0ah], 000h ; 80 7e f6002802 je short 026 47h ; 74 052779 je short 02662h ; 74 60 2780 jmp near 026e3h ; e9 de 00 2781 cmp byte [bp-010h], 000h ; 80 7e f0 00 2782 je short 02610h ; 74 05 2803 2783 mov ax, 0019fh ; b8 9f 01 2804 jmp short 026 4ah ; eb 032784 jmp short 02613h ; eb 03 2805 2785 mov ax, 001a6h ; b8 a6 01 2806 2786 push ax ; 50 … … 2810 2790 push 001adh ; 68 ad 01 2811 2791 push strict byte 00002h ; 6a 02 2812 call 01966h ; e8 0df32792 call 01966h ; e8 44 f3 2813 2793 add sp, strict byte 00008h ; 83 c4 08 2814 2794 xor di, di ; 31 ff … … 2817 2797 inc di ; 47 2818 2798 test ax, ax ; 85 c0 2819 je short 026 76h ; 74 0e2799 je short 0263fh ; 74 0e 2820 2800 push ax ; 50 2821 2801 push 001b8h ; 68 b8 01 2822 2802 push strict byte 00002h ; 6a 02 2823 call 01966h ; e8 f5 f22803 call 01966h ; e8 2c f3 2824 2804 add sp, strict byte 00006h ; 83 c4 06 2825 jmp short 026 5eh ; eb e82826 push word [bp-0 2ch] ; ff 76 d42827 push word [bp-02 eh] ; ff 76 d22828 mov al, byte [bp-0 10h] ; 8a 46 f02805 jmp short 02627h ; eb e8 2806 push word [bp-032h] ; ff 76 ce 2807 push word [bp-024h] ; ff 76 dc 2808 mov al, byte [bp-00eh] ; 8a 46 f2 2829 2809 push ax ; 50 2830 2810 push 001bbh ; 68 bb 01 2831 2811 push strict byte 00002h ; 6a 02 2832 call 01966h ; e8 de f22812 call 01966h ; e8 15 f3 2833 2813 add sp, strict byte 0000ah ; 83 c4 0a 2834 jmp near 02 71dh ; e9 8f002835 cmp byte [bp-0 0ah], 000h ; 80 7e f6002836 je short 026 9bh ; 74 072814 jmp near 026e3h ; e9 8c 00 2815 cmp byte [bp-010h], 000h ; 80 7e f0 00 2816 je short 02664h ; 74 07 2837 2817 mov ax, 0019fh ; b8 9f 01 2838 jmp short 026 9eh ; eb 052839 jmp short 026 fdh ; eb 622818 jmp short 02667h ; eb 05 2819 jmp short 026c3h ; eb 5f 2840 2820 mov ax, 001a6h ; b8 a6 01 2841 2821 push ax ; 50 … … 2845 2825 push 001adh ; 68 ad 01 2846 2826 push strict byte 00002h ; 6a 02 2847 call 01966h ; e8 b9f22827 call 01966h ; e8 f0 f2 2848 2828 add sp, strict byte 00008h ; 83 c4 08 2849 2829 xor di, di ; 31 ff … … 2852 2832 inc di ; 47 2853 2833 test ax, ax ; 85 c0 2854 je short 026 cah ; 74 0e2834 je short 02693h ; 74 0e 2855 2835 push ax ; 50 2856 2836 push 001b8h ; 68 b8 01 2857 2837 push strict byte 00002h ; 6a 02 2858 call 01966h ; e8 a1f22838 call 01966h ; e8 d8 f2 2859 2839 add sp, strict byte 00006h ; 83 c4 06 2860 jmp short 026 b2h ; eb e82861 mov al, byte [bp-00 eh] ; 8a 46 f22840 jmp short 0267bh ; eb e8 2841 mov al, byte [bp-00ah] ; 8a 46 f6 2862 2842 imul ax, ax, strict byte 0001ch ; 6b c0 1c 2863 mov es, [bp-01eh] ; 8e 46 e2 2864 mov bx, word [bp-01ch] ; 8b 5e e4 2843 les bx, [bp-022h] ; c4 5e de 2865 2844 add bx, ax ; 01 c3 2866 2845 cmp byte [es:bx+023h], 005h ; 26 80 7f 23 05 2867 jne short 026 eah ; 75 0b2868 mov al, byte [bp-0 10h] ; 8a 46 f02846 jne short 026b0h ; 75 0b 2847 mov al, byte [bp-00eh] ; 8a 46 f2 2869 2848 xor ah, ah ; 30 e4 2870 2849 push ax ; 50 2871 2850 push 001dbh ; 68 db 01 2872 jmp short 026 f3h ; eb 092873 mov al, byte [bp-0 10h] ; 8a 46 f02851 jmp short 026b9h ; eb 09 2852 mov al, byte [bp-00eh] ; 8a 46 f2 2874 2853 xor ah, ah ; 30 e4 2875 2854 push ax ; 50 2876 2855 push 001f5h ; 68 f5 01 2877 2856 push strict byte 00002h ; 6a 02 2878 call 01966h ; e8 6ef22857 call 01966h ; e8 a8 f2 2879 2858 add sp, strict byte 00006h ; 83 c4 06 2880 jmp short 02 71dh ; eb 202881 cmp byte [bp-0 0ah], 000h ; 80 7e f6002882 je short 02 708h ; 74 052859 jmp short 026e3h ; eb 20 2860 cmp byte [bp-010h], 000h ; 80 7e f0 00 2861 je short 026ceh ; 74 05 2883 2862 mov ax, 0019fh ; b8 9f 01 2884 jmp short 02 70bh ; eb 032863 jmp short 026d1h ; eb 03 2885 2864 mov ax, 001a6h ; b8 a6 01 2886 2865 push ax ; 50 … … 2890 2869 push 00207h ; 68 07 02 2891 2870 push strict byte 00002h ; 6a 02 2892 call 01966h ; e8 4cf22871 call 01966h ; e8 86 f2 2893 2872 add sp, strict byte 00008h ; 83 c4 08 2894 inc byte [bp-00 eh] ; fe 46 f22895 cmp byte [bp-00 eh], 008h ; 80 7e f2082896 jnc short 027 7bh ; 73 552897 mov bl, byte [bp-00 eh] ; 8a 5e f22873 inc byte [bp-00ah] ; fe 46 f6 2874 cmp byte [bp-00ah], 008h ; 80 7e f6 08 2875 jnc short 0273eh ; 73 52 2876 mov bl, byte [bp-00ah] ; 8a 5e f6 2898 2877 xor bh, bh ; 30 ff 2899 2878 mov ax, bx ; 89 d8 … … 2908 2887 mov bx, strict word 00002h ; bb 02 00 2909 2888 idiv bx ; f7 fb 2910 mov word [bp-0 32h], dx ; 89 56 ce2911 mov al, byte [bp-0 32h] ; 8a 46 ce2912 mov byte [bp-0 0ah], al ; 88 46 f62889 mov word [bp-02eh], dx ; 89 56 d2 2890 mov al, byte [bp-02eh] ; 8a 46 d2 2891 mov byte [bp-010h], al ; 88 46 f0 2913 2892 mov al, cl ; 88 c8 2914 2893 xor ah, ah ; 30 e4 2915 2894 imul ax, ax, strict byte 00006h ; 6b c0 06 2916 mov es, [bp-01eh] ; 8e 46 e2 2917 mov bx, word [bp-01ch] ; 8b 5e e4 2895 les bx, [bp-022h] ; c4 5e de 2918 2896 add bx, ax ; 01 c3 2919 2897 mov si, word [es:bx+00206h] ; 26 8b b7 06 02 2920 2898 mov ax, word [es:bx+00208h] ; 26 8b 87 08 02 2921 mov word [bp-0 2ah], ax ; 89 46 d62899 mov word [bp-01ah], ax ; 89 46 e6 2922 2900 mov dx, ax ; 89 c2 2923 2901 add dx, strict byte 00006h ; 83 c2 06 2924 2902 mov AL, strict byte 00ah ; b0 0a 2925 2903 out DX, AL ; ee 2926 cmp byte [bp-0 32h], 000h ; 80 7e ce002927 jne short 027 75h ; 75 032928 jmp near 0217ah ; e9 05fa2904 cmp byte [bp-02eh], 000h ; 80 7e d2 00 2905 jne short 02738h ; 75 03 2906 jmp near 0217ah ; e9 42 fa 2929 2907 mov ax, 000b0h ; b8 b0 00 2930 jmp near 0217dh ; e9 02fa2908 jmp near 0217dh ; e9 3f fa 2931 2909 mov al, byte [bp-012h] ; 8a 46 ee 2932 mov es, [bp-01eh] ; 8e 46 e2 2933 mov bx, word [bp-01ch] ; 8b 5e e4 2910 les bx, [bp-022h] ; c4 5e de 2934 2911 mov byte [es:bx+001e2h], al ; 26 88 87 e2 01 2935 mov al, byte [bp-00 ch] ; 8a 46 f42912 mov al, byte [bp-008h] ; 8a 46 f8 2936 2913 mov byte [es:bx+001f3h], al ; 26 88 87 f3 01 2937 2914 mov bl, byte [bp-012h] ; 8a 5e ee … … 2939 2916 mov dx, strict word 00075h ; ba 75 00 2940 2917 mov ax, strict word 00040h ; b8 40 00 2941 call 0165eh ; e8 bf ee2918 call 0165eh ; e8 ff ee 2942 2919 lea sp, [bp-004h] ; 8d 66 fc 2943 2920 pop di ; 5f … … 2945 2922 pop bp ; 5d 2946 2923 retn ; c3 2947 ata_cmd_data_out_: ; 0xf27 a6 LB 0x28a2924 ata_cmd_data_out_: ; 0xf2766 LB 0x28a 2948 2925 push bp ; 55 2949 2926 mov bp, sp ; 89 e5 … … 2977 2954 ; sub ah, ah ; 2a e4 2978 2955 test AL, strict byte 080h ; a8 80 2979 je short 02 805h ; 74 0f2956 je short 027c5h ; 74 0f 2980 2957 mov dx, word [bp-01ah] ; 8b 56 e6 2981 2958 add dx, strict byte 00006h ; 83 c2 06 … … 2983 2960 out DX, AL ; ee 2984 2961 mov ax, strict word 00001h ; b8 01 00 2985 jmp near 02 a29h ; e9 24 022962 jmp near 029e9h ; e9 24 02 2986 2963 mov es, [bp-00ah] ; 8e 46 f6 2987 2964 mov ax, word [es:di+006h] ; 26 8b 45 06 … … 3005 2982 mov ax, word [bp-014h] ; 8b 46 ec 3006 2983 test ax, ax ; 85 c0 3007 je short 028 50h ; 74 033008 jmp near 02 917h ; e9 c7 002984 je short 02810h ; 74 03 2985 jmp near 028d7h ; e9 c7 00 3009 2986 xor bx, bx ; 31 db 3010 2987 xor dx, dx ; 31 d2 … … 3015 2992 adc dx, word [bp-00ch] ; 13 56 f4 3016 2993 test dx, dx ; 85 d2 3017 jnbe short 028 77h ; 77 103018 jne short 028 dah ; 75 712994 jnbe short 02837h ; 77 10 2995 jne short 0289ah ; 75 71 3019 2996 test ax, ax ; 85 c0 3020 jnbe short 028 77h ; 77 0a3021 jne short 028 dah ; 75 6b2997 jnbe short 02837h ; 77 0a 2998 jne short 0289ah ; 75 6b 3022 2999 cmp bx, 01000h ; 81 fb 00 10 3023 jnbe short 028 77h ; 77 023024 jne short 028 dah ; 75 633000 jnbe short 02837h ; 77 02 3001 jne short 0289ah ; 75 63 3025 3002 mov ax, word [bp-00ch] ; 8b 46 f4 3026 3003 mov bx, word [bp-00eh] ; 8b 5e f2 … … 3028 3005 mov dx, word [bp-024h] ; 8b 56 dc 3029 3006 mov si, strict word 00018h ; be 18 00 3030 call 0 a02ah ; e8 a1 773007 call 09faah ; e8 61 77 3031 3008 xor dh, dh ; 30 f6 3032 3009 mov word [bp-014h], dx ; 89 56 ec … … 3036 3013 mov dx, word [bp-024h] ; 8b 56 dc 3037 3014 mov si, strict word 00020h ; be 20 00 3038 call 0 a02ah ; e8 8a 773015 call 09faah ; e8 4a 77 3039 3016 mov bx, dx ; 89 d3 3040 3017 mov ax, word [bp-022h] ; 8b 46 de … … 3070 3047 mov dx, word [bp-024h] ; 8b 56 dc 3071 3048 mov si, strict word 00008h ; be 08 00 3072 call 0 a02ah ; e8 36 773049 call 09faah ; e8 f6 76 3073 3050 mov word [bp-00ch], ax ; 89 46 f4 3074 3051 mov word [bp-00eh], bx ; 89 5e f2 … … 3077 3054 mov word [bp-018h], dx ; 89 56 e8 3078 3055 mov si, strict word 00010h ; be 10 00 3079 call 0 a02ah ; e8 21 773056 call 09faah ; e8 e1 76 3080 3057 mov word [bp-024h], dx ; 89 56 dc 3081 3058 mov ax, dx ; 89 d0 … … 3110 3087 out DX, AL ; ee 3111 3088 cmp byte [bp-006h], 000h ; 80 7e fa 00 3112 je short 029 59h ; 74 053089 je short 02919h ; 74 05 3113 3090 mov ax, 000b0h ; b8 b0 00 3114 jmp short 029 5ch ; eb 033091 jmp short 0291ch ; eb 03 3115 3092 mov ax, 000a0h ; b8 a0 00 3116 3093 mov dl, byte [bp-01ch] ; 8a 56 e4 … … 3131 3108 mov bl, al ; 88 c3 3132 3109 test AL, strict byte 080h ; a8 80 3133 jne short 029 74h ; 75 f13110 jne short 02934h ; 75 f1 3134 3111 test AL, strict byte 001h ; a8 01 3135 je short 029 96h ; 74 0f3112 je short 02956h ; 74 0f 3136 3113 mov dx, word [bp-01ah] ; 8b 56 e6 3137 3114 add dx, strict byte 00006h ; 83 c2 06 … … 3139 3116 out DX, AL ; ee 3140 3117 mov ax, strict word 00002h ; b8 02 00 3141 jmp near 02 a29h ; e9 93 003118 jmp near 029e9h ; e9 93 00 3142 3119 test bl, 008h ; f6 c3 08 3143 jne short 029 aah ; 75 0f3120 jne short 0296ah ; 75 0f 3144 3121 mov dx, word [bp-01ah] ; 8b 56 e6 3145 3122 add dx, strict byte 00006h ; 83 c2 06 … … 3147 3124 out DX, AL ; ee 3148 3125 mov ax, strict word 00003h ; b8 03 00 3149 jmp near 02 a29h ; e9 7f 003126 jmp near 029e9h ; e9 7f 00 3150 3127 sti ; fb 3151 3128 mov ax, word [bp-016h] ; 8b 46 ea 3152 3129 cmp ax, 0f800h ; 3d 00 f8 3153 jc short 029 c3h ; 72 103130 jc short 02983h ; 72 10 3154 3131 sub ax, 00800h ; 2d 00 08 3155 3132 mov dx, word [bp-012h] ; 8b 56 ee … … 3174 3151 mov bl, al ; 88 c3 3175 3152 test AL, strict byte 080h ; a8 80 3176 jne short 029 dfh ; 75 f13153 jne short 0299fh ; 75 f1 3177 3154 cmp word [bp-022h], strict byte 00000h ; 83 7e de 00 3178 jne short 02 a08h ; 75 143155 jne short 029c8h ; 75 14 3179 3156 and AL, strict byte 0e9h ; 24 e9 3180 3157 cmp AL, strict byte 040h ; 3c 40 3181 je short 02 a1eh ; 74 243158 je short 029deh ; 74 24 3182 3159 mov dx, word [bp-01ah] ; 8b 56 e6 3183 3160 add dx, strict byte 00006h ; 83 c2 06 … … 3185 3162 out DX, AL ; ee 3186 3163 mov ax, strict word 00006h ; b8 06 00 3187 jmp short 02 a29h ; eb 213164 jmp short 029e9h ; eb 21 3188 3165 mov al, bl ; 88 d8 3189 3166 and AL, strict byte 0c9h ; 24 c9 3190 3167 cmp AL, strict byte 048h ; 3c 48 3191 je short 029 abh ; 74 9b3168 je short 0296bh ; 74 9b 3192 3169 mov dx, word [bp-01ah] ; 8b 56 e6 3193 3170 add dx, strict byte 00006h ; 83 c2 06 … … 3195 3172 out DX, AL ; ee 3196 3173 mov ax, strict word 00007h ; b8 07 00 3197 jmp short 02 a29h ; eb 0b3174 jmp short 029e9h ; eb 0b 3198 3175 mov dx, word [bp-01ah] ; 8b 56 e6 3199 3176 add dx, strict byte 00006h ; 83 c2 06 … … 3206 3183 pop bp ; 5d 3207 3184 retn ; c3 3208 @ata_read_sectors: ; 0xf2 a30 LB 0xb53185 @ata_read_sectors: ; 0xf29f0 LB 0xb5 3209 3186 push bp ; 55 3210 3187 mov bp, sp ; 89 e5 … … 3219 3196 sal dx, 009h ; c1 e2 09 3220 3197 cmp word [es:si+016h], strict byte 00000h ; 26 83 7c 16 00 3221 je short 02a 71h ; 74 1f3198 je short 02a31h ; 74 1f 3222 3199 xor ah, ah ; 30 e4 3223 3200 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 3229 3206 mov ax, si ; 89 f0 3230 3207 mov dx, es ; 8c c2 3231 call 01e63h ; e8 f7 f33208 call 01e63h ; e8 37 f4 3232 3209 mov es, [bp-00ch] ; 8e 46 f4 3233 jmp short 02a d6h ; eb 653210 jmp short 02a96h ; eb 65 3234 3211 xor bx, bx ; 31 db 3235 3212 mov word [bp-00ch], bx ; 89 5e f4 … … 3246 3223 adc di, word [bp-006h] ; 13 7e fa 3247 3224 test di, di ; 85 ff 3248 jnbe short 02a adh ; 77 113249 jne short 02a b9h ; 75 1b3225 jnbe short 02a6dh ; 77 11 3226 jne short 02a79h ; 75 1b 3250 3227 test bx, bx ; 85 db 3251 jnbe short 02a adh ; 77 0b3252 jne short 02a b9h ; 75 153228 jnbe short 02a6dh ; 77 0b 3229 jne short 02a79h ; 75 15 3253 3230 cmp word [bp-008h], 01000h ; 81 7e f8 00 10 3254 jnbe short 02a adh ; 77 023255 jne short 02a b9h ; 75 0c3231 jnbe short 02a6dh ; 77 02 3232 jne short 02a79h ; 75 0c 3256 3233 mov bx, strict word 00024h ; bb 24 00 3257 3234 mov ax, si ; 89 f0 3258 3235 mov dx, es ; 8c c2 3259 call 01e63h ; e8 ac f33260 jmp short 02a dch ; eb 233236 call 01e63h ; e8 ec f3 3237 jmp short 02a9ch ; eb 23 3261 3238 xor ah, ah ; 30 e4 3262 3239 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 3268 3245 mov ax, si ; 89 f0 3269 3246 mov dx, es ; 8c c2 3270 call 01e63h ; e8 90 f33247 call 01e63h ; e8 d0 f3 3271 3248 mov es, [bp-006h] ; 8e 46 fa 3272 3249 mov word [es:di+028h], 00200h ; 26 c7 45 28 00 02 … … 3276 3253 pop bp ; 5d 3277 3254 retn 00004h ; c2 04 00 3278 @ata_write_sectors: ; 0xf2a e5 LB 0x5b3255 @ata_write_sectors: ; 0xf2aa5 LB 0x5b 3279 3256 push bp ; 55 3280 3257 mov bp, sp ; 89 e5 … … 3285 3262 mov cx, word [es:si+00eh] ; 26 8b 4c 0e 3286 3263 cmp word [es:si+016h], strict byte 00000h ; 26 83 7c 16 00 3287 je short 02 b05h ; 74 0c3264 je short 02ac5h ; 74 0c 3288 3265 mov bx, strict word 00030h ; bb 30 00 3289 3266 mov ax, si ; 89 f0 3290 3267 mov dx, es ; 8c c2 3291 call 027 a6h ; e8 a3 fc3292 jmp short 02 b37h ; eb 323268 call 02766h ; e8 a3 fc 3269 jmp short 02af7h ; eb 32 3293 3270 xor ax, ax ; 31 c0 3294 3271 xor bx, bx ; 31 db … … 3301 3278 adc dx, word [es:si+006h] ; 26 13 54 06 3302 3279 test dx, dx ; 85 d2 3303 jnbe short 02 b32h ; 77 0f3304 jne short 02a f9h ; 75 d43280 jnbe short 02af2h ; 77 0f 3281 jne short 02ab9h ; 75 d4 3305 3282 test bx, bx ; 85 db 3306 jnbe short 02 b32h ; 77 093307 jne short 02a f9h ; 75 ce3283 jnbe short 02af2h ; 77 09 3284 jne short 02ab9h ; 75 ce 3308 3285 cmp ax, 01000h ; 3d 00 10 3309 jnbe short 02 b32h ; 77 023310 jne short 02a f9h ; 75 c73286 jnbe short 02af2h ; 77 02 3287 jne short 02ab9h ; 75 c7 3311 3288 mov bx, strict word 00034h ; bb 34 00 3312 jmp short 02a fch ; eb c53289 jmp short 02abch ; eb c5 3313 3290 lea sp, [bp-004h] ; 8d 66 fc 3314 3291 pop di ; 5f … … 3316 3293 pop bp ; 5d 3317 3294 retn 00004h ; c2 04 00 3318 ata_cmd_packet_: ; 0xf2b 40 LB 0x2893295 ata_cmd_packet_: ; 0xf2b00 LB 0x289 3319 3296 push bp ; 55 3320 3297 mov bp, sp ; 89 e5 … … 3327 3304 mov dx, strict word 0000eh ; ba 0e 00 3328 3305 mov ax, strict word 00040h ; b8 40 00 3329 call 0166ch ; e8 15 eb3306 call 0166ch ; e8 55 eb 3330 3307 mov word [bp-010h], 00122h ; c7 46 f0 22 01 3331 3308 mov word [bp-012h], ax ; 89 46 ee … … 3336 3313 mov byte [bp-008h], ah ; 88 66 f8 3337 3314 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 3338 jne short 02b 92h ; 75 1f3315 jne short 02b52h ; 75 1f 3339 3316 mov bx, 00da0h ; bb a0 0d 3340 3317 mov cx, ds ; 8c d9 3341 3318 mov ax, strict word 00004h ; b8 04 00 3342 call 01923h ; e8 a5 ed3319 call 01923h ; e8 e5 ed 3343 3320 push 00221h ; 68 21 02 3344 3321 push 00230h ; 68 30 02 3345 3322 push strict byte 00004h ; 6a 04 3346 call 01966h ; e8 dd ed3323 call 01966h ; e8 1d ee 3347 3324 add sp, strict byte 00006h ; 83 c4 06 3348 3325 mov ax, strict word 00001h ; b8 01 00 3349 jmp near 02d c0h ; e9 2e 023326 jmp near 02d80h ; e9 2e 02 3350 3327 test byte [bp+004h], 001h ; f6 46 04 01 3351 jne short 02b 8ch ; 75 f43328 jne short 02b4ch ; 75 f4 3352 3329 xor ah, ah ; 30 e4 3353 3330 imul ax, ax, strict byte 00006h ; 6b c0 06 … … 3364 3341 mov al, byte [bp-006h] ; 8a 46 fa 3365 3342 cmp AL, strict byte 00ch ; 3c 0c 3366 jnc short 02b cah ; 73 063343 jnc short 02b8ah ; 73 06 3367 3344 mov byte [bp-006h], 00ch ; c6 46 fa 0c 3368 jmp short 02b d0h ; eb 063369 jbe short 02b d0h ; 76 043345 jmp short 02b90h ; eb 06 3346 jbe short 02b90h ; 76 04 3370 3347 mov byte [bp-006h], 010h ; c6 46 fa 10 3371 3348 shr byte [bp-006h], 1 ; d0 6e fa … … 3381 3358 ; sub ah, ah ; 2a e4 3382 3359 test AL, strict byte 080h ; a8 80 3383 je short 02b feh ; 74 063360 je short 02bbeh ; 74 06 3384 3361 mov ax, strict word 00002h ; b8 02 00 3385 jmp near 02d c0h ; e9 c2 013362 jmp near 02d80h ; e9 c2 01 3386 3363 mov dx, word [bp-00eh] ; 8b 56 f2 3387 3364 add dx, strict byte 00006h ; 83 c2 06 … … 3397 3374 out DX, AL ; ee 3398 3375 cmp byte [bp-008h], 000h ; 80 7e f8 00 3399 je short 02 c24h ; 74 053376 je short 02be4h ; 74 05 3400 3377 mov ax, 000b0h ; b8 b0 00 3401 jmp short 02 c27h ; eb 033378 jmp short 02be7h ; eb 03 3402 3379 mov ax, 000a0h ; b8 a0 00 3403 3380 mov dx, word [bp-00ah] ; 8b 56 f6 … … 3415 3392 mov bx, ax ; 89 c3 3416 3393 test AL, strict byte 080h ; a8 80 3417 jne short 02 c37h ; 75 f13394 jne short 02bf7h ; 75 f1 3418 3395 test AL, strict byte 001h ; a8 01 3419 je short 02c 59h ; 74 0f3396 je short 02c19h ; 74 0f 3420 3397 mov dx, word [bp-00eh] ; 8b 56 f2 3421 3398 add dx, strict byte 00006h ; 83 c2 06 … … 3423 3400 out DX, AL ; ee 3424 3401 mov ax, strict word 00003h ; b8 03 00 3425 jmp near 02d c0h ; e9 67 013402 jmp near 02d80h ; e9 67 01 3426 3403 test AL, strict byte 008h ; a8 08 3427 jne short 02c 6ch ; 75 0f3404 jne short 02c2ch ; 75 0f 3428 3405 mov dx, word [bp-00eh] ; 8b 56 f2 3429 3406 add dx, strict byte 00006h ; 83 c2 06 … … 3431 3408 out DX, AL ; ee 3432 3409 mov ax, strict word 00004h ; b8 04 00 3433 jmp near 02d c0h ; e9 54 013410 jmp near 02d80h ; e9 54 01 3434 3411 sti ; fb 3435 3412 mov ax, si ; 89 f0 … … 3444 3421 ; rep es outsw ; f3 26 6f 3445 3422 cmp byte [bp+00ah], 000h ; 80 7e 0a 00 3446 jne short 02c 93h ; 75 093423 jne short 02c53h ; 75 09 3447 3424 add dx, strict byte 00007h ; 83 c2 07 3448 3425 in AL, DX ; ec 3449 3426 db 02ah, 0e4h 3450 3427 ; sub ah, ah ; 2a e4 3451 jmp near 02d a3h ; e9 10 013428 jmp near 02d63h ; e9 10 01 3452 3429 mov dx, word [bp-00ah] ; 8b 56 f6 3453 3430 add dx, strict byte 00007h ; 83 c2 07 … … 3457 3434 mov bx, ax ; 89 c3 3458 3435 test AL, strict byte 080h ; a8 80 3459 jne short 02c 93h ; 75 f13436 jne short 02c53h ; 75 f1 3460 3437 test AL, strict byte 088h ; a8 88 3461 je short 02 d06h ; 74 603438 je short 02cc6h ; 74 60 3462 3439 test AL, strict byte 001h ; a8 01 3463 je short 02c b5h ; 74 0b3440 je short 02c75h ; 74 0b 3464 3441 mov dx, word [bp-00eh] ; 8b 56 f2 3465 3442 add dx, strict byte 00006h ; 83 c2 06 3466 3443 mov AL, strict byte 008h ; b0 08 3467 3444 out DX, AL ; ee 3468 jmp short 02c 53h ; eb 9e3445 jmp short 02c13h ; eb 9e 3469 3446 and AL, strict byte 0c9h ; 24 c9 3470 3447 cmp AL, strict byte 048h ; 3c 48 3471 je short 02c c6h ; 74 0b3448 je short 02c86h ; 74 0b 3472 3449 mov dx, word [bp-00eh] ; 8b 56 f2 3473 3450 add dx, strict byte 00006h ; 83 c2 06 3474 3451 mov AL, strict byte 008h ; b0 08 3475 3452 out DX, AL ; ee 3476 jmp short 02c 66h ; eb a03453 jmp short 02c26h ; eb a0 3477 3454 mov ax, word [bp+00ch] ; 8b 46 0c 3478 3455 shr ax, 004h ; c1 e8 04 … … 3498 3475 mov ax, word [bp+004h] ; 8b 46 04 3499 3476 cmp bx, ax ; 39 c3 3500 jnc short 02 d09h ; 73 0c3477 jnc short 02cc9h ; 73 0c 3501 3478 mov cx, bx ; 89 d9 3502 3479 sub word [bp+004h], bx ; 29 5e 04 3503 3480 xor bx, bx ; 31 db 3504 jmp short 02 d12h ; eb 0c3505 jmp near 02d a3h ; e9 9a 003481 jmp short 02cd2h ; eb 0c 3482 jmp near 02d63h ; e9 9a 00 3506 3483 mov cx, ax ; 89 c1 3507 3484 mov word [bp+004h], strict word 00000h ; c7 46 04 00 00 … … 3509 3486 xor ax, ax ; 31 c0 3510 3487 cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00 3511 jne short 02 d30h ; 75 163488 jne short 02cf0h ; 75 16 3512 3489 cmp bx, word [bp+006h] ; 3b 5e 06 3513 jbe short 02 d30h ; 76 113490 jbe short 02cf0h ; 76 11 3514 3491 sub bx, word [bp+006h] ; 2b 5e 06 3515 3492 mov word [bp-00ch], bx ; 89 5e f4 … … 3517 3494 mov word [bp+006h], ax ; 89 46 06 3518 3495 mov word [bp+008h], ax ; 89 46 08 3519 jmp short 02 d39h ; eb 093496 jmp short 02cf9h ; eb 09 3520 3497 mov word [bp-00ch], ax ; 89 46 f4 3521 3498 sub word [bp+006h], bx ; 29 5e 06 … … 3526 3503 test byte [bp-00ch], 003h ; f6 46 f4 03 3527 3504 test bl, 001h ; f6 c3 01 3528 je short 02d 5ah ; 74 103505 je short 02d1ah ; 74 10 3529 3506 inc bx ; 43 3530 3507 cmp word [bp-00ch], strict byte 00000h ; 83 7e f4 00 3531 jbe short 02d 5ah ; 76 093508 jbe short 02d1ah ; 76 09 3532 3509 test byte [bp-00ch], 001h ; f6 46 f4 01 3533 je short 02d 5ah ; 74 033510 je short 02d1ah ; 74 03 3534 3511 dec word [bp-00ch] ; ff 4e f4 3535 3512 shr bx, 1 ; d1 eb … … 3537 3514 shr word [bp-00ch], 1 ; d1 6e f4 3538 3515 test cx, cx ; 85 c9 3539 je short 02d 6bh ; 74 063516 je short 02d2bh ; 74 06 3540 3517 mov dx, word [bp-00ah] ; 8b 56 f6 3541 3518 in ax, DX ; ed 3542 loop 02d 68h ; e2 fd3519 loop 02d28h ; e2 fd 3543 3520 mov dx, word [bp-00ah] ; 8b 56 f6 3544 3521 mov cx, bx ; 89 d9 … … 3547 3524 mov ax, word [bp-00ch] ; 8b 46 f4 3548 3525 test ax, ax ; 85 c0 3549 je short 02d 81h ; 74 053526 je short 02d41h ; 74 05 3550 3527 mov cx, ax ; 89 c1 3551 3528 in ax, DX ; ed 3552 loop 02d 7eh ; e2 fd3529 loop 02d3eh ; e2 fd 3553 3530 add word [bp+00ch], si ; 01 76 0c 3554 3531 xor ax, ax ; 31 c0 … … 3561 3538 mov ax, word [bp-014h] ; 8b 46 ec 3562 3539 mov word [es:bx+01ch], ax ; 26 89 47 1c 3563 jmp near 02c 93h ; e9 f0 fe3540 jmp near 02c53h ; e9 f0 fe 3564 3541 and AL, strict byte 0e9h ; 24 e9 3565 3542 cmp AL, strict byte 040h ; 3c 40 3566 je short 02d b5h ; 74 0c3543 je short 02d75h ; 74 0c 3567 3544 mov dx, word [bp-00eh] ; 8b 56 f2 3568 3545 add dx, strict byte 00006h ; 83 c2 06 3569 3546 mov AL, strict byte 008h ; b0 08 3570 3547 out DX, AL ; ee 3571 jmp near 02c 66h ; e9 b1 fe3548 jmp near 02c26h ; e9 b1 fe 3572 3549 mov dx, word [bp-00eh] ; 8b 56 f2 3573 3550 add dx, strict byte 00006h ; 83 c2 06 … … 3580 3557 pop bp ; 5d 3581 3558 retn 0000ch ; c2 0c 00 3582 ata_soft_reset_: ; 0xf2d c9 LB 0x803559 ata_soft_reset_: ; 0xf2d89 LB 0x80 3583 3560 push bp ; 55 3584 3561 mov bp, sp ; 89 e5 … … 3590 3567 mov dx, strict word 0000eh ; ba 0e 00 3591 3568 mov ax, strict word 00040h ; b8 40 00 3592 call 0166ch ; e8 91 e83569 call 0166ch ; e8 d1 e8 3593 3570 mov dx, bx ; 89 da 3594 3571 shr dx, 1 ; d1 ea … … 3605 3582 out DX, AL ; ee 3606 3583 cmp byte [bp-008h], 000h ; 80 7e f8 00 3607 je short 02 e0bh ; 74 053584 je short 02dcbh ; 74 05 3608 3585 mov ax, 000b0h ; b8 b0 00 3609 jmp short 02 e0eh ; eb 033586 jmp short 02dceh ; eb 03 3610 3587 mov ax, 000a0h ; b8 a0 00 3611 3588 mov dx, cx ; 89 ca … … 3622 3599 ; sub ah, ah ; 2a e4 3623 3600 test AL, strict byte 080h ; a8 80 3624 jne short 02 e1ch ; 75 f43601 jne short 02ddch ; 75 f4 3625 3602 and AL, strict byte 0e9h ; 24 e9 3626 3603 cmp AL, strict byte 040h ; 3c 40 3627 je short 02 e39h ; 74 0b3604 je short 02df9h ; 74 0b 3628 3605 lea dx, [bx+006h] ; 8d 57 06 3629 3606 mov AL, strict byte 008h ; b0 08 3630 3607 out DX, AL ; ee 3631 3608 mov ax, strict word 00001h ; b8 01 00 3632 jmp short 02e 41h ; eb 083609 jmp short 02e01h ; eb 08 3633 3610 lea dx, [bx+006h] ; 8d 57 06 3634 3611 mov AL, strict byte 008h ; b0 08 … … 3641 3618 pop bp ; 5d 3642 3619 retn ; c3 3643 set_diskette_ret_status_: ; 0xf2e 49 LB 0x193620 set_diskette_ret_status_: ; 0xf2e09 LB 0x19 3644 3621 push bp ; 55 3645 3622 mov bp, sp ; 89 e5 … … 3650 3627 mov dx, strict word 00041h ; ba 41 00 3651 3628 mov ax, strict word 00040h ; b8 40 00 3652 call 0165eh ; e8 03 e83629 call 0165eh ; e8 43 e8 3653 3630 lea sp, [bp-004h] ; 8d 66 fc 3654 3631 pop dx ; 5a … … 3656 3633 pop bp ; 5d 3657 3634 retn ; c3 3658 set_diskette_current_cyl_: ; 0xf2e 62 LB 0x303635 set_diskette_current_cyl_: ; 0xf2e22 LB 0x30 3659 3636 push bp ; 55 3660 3637 mov bp, sp ; 89 e5 … … 3662 3639 mov bl, al ; 88 c3 3663 3640 cmp AL, strict byte 001h ; 3c 01 3664 jbe short 02e 77h ; 76 0b3641 jbe short 02e37h ; 76 0b 3665 3642 push 00250h ; 68 50 02 3666 3643 push strict byte 00007h ; 6a 07 3667 call 01966h ; e8 f2 ea3644 call 01966h ; e8 32 eb 3668 3645 add sp, strict byte 00004h ; 83 c4 04 3669 3646 mov al, dl ; 88 d0 … … 3675 3652 mov dx, ax ; 89 c2 3676 3653 mov ax, strict word 00040h ; b8 40 00 3677 call 0165eh ; e8 d2 e73654 call 0165eh ; e8 12 e8 3678 3655 lea sp, [bp-002h] ; 8d 66 fe 3679 3656 pop bx ; 5b 3680 3657 pop bp ; 5d 3681 3658 retn ; c3 3682 floppy_wait_for_interrupt_: ; 0xf2e 92 LB 0x213659 floppy_wait_for_interrupt_: ; 0xf2e52 LB 0x21 3683 3660 push bp ; 55 3684 3661 mov bp, sp ; 89 e5 … … 3687 3664 mov dx, strict word 0003eh ; ba 3e 00 3688 3665 mov ax, strict word 00040h ; b8 40 00 3689 call 01650h ; e8 b0 e73666 call 01650h ; e8 f0 e7 3690 3667 test AL, strict byte 080h ; a8 80 3691 je short 02e a8h ; 74 043668 je short 02e68h ; 74 04 3692 3669 and AL, strict byte 080h ; 24 80 3693 jmp short 02e adh ; eb 053670 jmp short 02e6dh ; eb 05 3694 3671 sti ; fb 3695 3672 hlt ; f4 3696 3673 cli ; fa 3697 jmp short 02e 97h ; eb ea3674 jmp short 02e57h ; eb ea 3698 3675 lea sp, [bp-002h] ; 8d 66 fe 3699 3676 pop dx ; 5a 3700 3677 pop bp ; 5d 3701 3678 retn ; c3 3702 floppy_wait_for_interrupt_or_timeout_: ; 0xf2e b3 LB 0x473679 floppy_wait_for_interrupt_or_timeout_: ; 0xf2e73 LB 0x47 3703 3680 push bp ; 55 3704 3681 mov bp, sp ; 89 e5 … … 3709 3686 mov dx, strict word 00040h ; ba 40 00 3710 3687 mov ax, dx ; 89 d0 3711 call 01650h ; e8 8e e73688 call 01650h ; e8 ce e7 3712 3689 test al, al ; 84 c0 3713 jne short 02e cbh ; 75 053690 jne short 02e8bh ; 75 05 3714 3691 sti ; fb 3715 3692 xor cl, cl ; 30 c9 3716 jmp short 02e f0h ; eb 253693 jmp short 02eb0h ; eb 25 3717 3694 mov dx, strict word 0003eh ; ba 3e 00 3718 3695 mov ax, strict word 00040h ; b8 40 00 3719 call 01650h ; e8 7c e73696 call 01650h ; e8 bc e7 3720 3697 mov cl, al ; 88 c1 3721 3698 test AL, strict byte 080h ; a8 80 3722 je short 02e ebh ; 74 113699 je short 02eabh ; 74 11 3723 3700 and AL, strict byte 07fh ; 24 7f 3724 3701 xor ah, ah ; 30 e4 … … 3726 3703 mov dx, strict word 0003eh ; ba 3e 00 3727 3704 mov ax, strict word 00040h ; b8 40 00 3728 call 0165eh ; e8 75 e73729 jmp short 02e f0h ; eb 053705 call 0165eh ; e8 b5 e7 3706 jmp short 02eb0h ; eb 05 3730 3707 sti ; fb 3731 3708 hlt ; f4 3732 3709 cli ; fa 3733 jmp short 02e bah ; eb ca3710 jmp short 02e7ah ; eb ca 3734 3711 mov al, cl ; 88 c8 3735 3712 lea sp, [bp-006h] ; 8d 66 fa … … 3739 3716 pop bp ; 5d 3740 3717 retn ; c3 3741 floppy_reset_controller_: ; 0xf2e fa LB 0x283718 floppy_reset_controller_: ; 0xf2eba LB 0x28 3742 3719 push bp ; 55 3743 3720 mov bp, sp ; 89 e5 … … 3760 3737 and AL, strict byte 0c0h ; 24 c0 3761 3738 cmp AL, strict byte 080h ; 3c 80 3762 jne short 02 f0fh ; 75 f43739 jne short 02ecfh ; 75 f4 3763 3740 lea sp, [bp-004h] ; 8d 66 fc 3764 3741 pop dx ; 5a … … 3766 3743 pop bp ; 5d 3767 3744 retn ; c3 3768 floppy_prepare_controller_: ; 0xf2 f22 LB 0x833745 floppy_prepare_controller_: ; 0xf2ee2 LB 0x83 3769 3746 push bp ; 55 3770 3747 mov bp, sp ; 89 e5 … … 3776 3753 mov dx, strict word 0003eh ; ba 3e 00 3777 3754 mov ax, strict word 00040h ; b8 40 00 3778 call 01650h ; e8 1c e73755 call 01650h ; e8 5c e7 3779 3756 and AL, strict byte 07fh ; 24 7f 3780 3757 xor ah, ah ; 30 e4 … … 3782 3759 mov dx, strict word 0003eh ; ba 3e 00 3783 3760 mov ax, strict word 00040h ; b8 40 00 3784 call 0165eh ; e8 1b e73761 call 0165eh ; e8 5b e7 3785 3762 mov dx, 003f2h ; ba f2 03 3786 3763 in AL, DX ; ec … … 3790 3767 mov byte [bp-008h], al ; 88 46 f8 3791 3768 test cx, cx ; 85 c9 3792 je short 02f 56h ; 74 043769 je short 02f16h ; 74 04 3793 3770 mov AL, strict byte 020h ; b0 20 3794 jmp short 02f 58h ; eb 023771 jmp short 02f18h ; eb 02 3795 3772 mov AL, strict byte 010h ; b0 10 3796 3773 or AL, strict byte 00ch ; 0c 0c … … 3801 3778 mov dx, strict word 00040h ; ba 40 00 3802 3779 mov ax, dx ; 89 d0 3803 call 0165eh ; e8 f3 e63780 call 0165eh ; e8 33 e7 3804 3781 mov dx, 0008bh ; ba 8b 00 3805 3782 mov ax, strict word 00040h ; b8 40 00 3806 call 01650h ; e8 dc e63783 call 01650h ; e8 1c e7 3807 3784 shr al, 006h ; c0 e8 06 3808 3785 mov dx, 003f7h ; ba f7 03 … … 3814 3791 and AL, strict byte 0c0h ; 24 c0 3815 3792 cmp AL, strict byte 080h ; 3c 80 3816 jne short 02f 7bh ; 75 f43793 jne short 02f3bh ; 75 f4 3817 3794 cmp byte [bp-008h], 000h ; 80 7e f8 00 3818 jne short 02f 9dh ; 75 103819 call 02e 92h ; e8 02 ff3795 jne short 02f5dh ; 75 10 3796 call 02e52h ; e8 02 ff 3820 3797 mov bl, al ; 88 c3 3821 3798 xor bh, bh ; 30 ff 3822 3799 mov dx, strict word 0003eh ; ba 3e 00 3823 3800 mov ax, strict word 00040h ; b8 40 00 3824 call 0165eh ; e8 c1 e63801 call 0165eh ; e8 01 e7 3825 3802 lea sp, [bp-006h] ; 8d 66 fa 3826 3803 pop dx ; 5a … … 3829 3806 pop bp ; 5d 3830 3807 retn ; c3 3831 floppy_media_known_: ; 0xf2f a5 LB 0x433808 floppy_media_known_: ; 0xf2f65 LB 0x43 3832 3809 push bp ; 55 3833 3810 mov bp, sp ; 89 e5 … … 3837 3814 mov dx, strict word 0003eh ; ba 3e 00 3838 3815 mov ax, strict word 00040h ; b8 40 00 3839 call 01650h ; e8 9b e63816 call 01650h ; e8 db e6 3840 3817 mov ah, al ; 88 c4 3841 3818 test bx, bx ; 85 db 3842 je short 02f bdh ; 74 023819 je short 02f7dh ; 74 02 3843 3820 shr al, 1 ; d0 e8 3844 3821 and AL, strict byte 001h ; 24 01 3845 jne short 02f c5h ; 75 043846 xor ah, ah ; 30 e4 3847 jmp short 02f e1h ; eb 1c3822 jne short 02f85h ; 75 04 3823 xor ah, ah ; 30 e4 3824 jmp short 02fa1h ; eb 1c 3848 3825 mov dx, 00090h ; ba 90 00 3849 3826 test bx, bx ; 85 db 3850 je short 02f cfh ; 74 033827 je short 02f8fh ; 74 03 3851 3828 mov dx, 00091h ; ba 91 00 3852 3829 mov ax, strict word 00040h ; b8 40 00 3853 call 01650h ; e8 7b e63830 call 01650h ; e8 bb e6 3854 3831 xor ah, ah ; 30 e4 3855 3832 sar ax, 004h ; c1 f8 04 3856 3833 and AL, strict byte 001h ; 24 01 3857 je short 02f c1h ; 74 e33834 je short 02f81h ; 74 e3 3858 3835 mov ax, strict word 00001h ; b8 01 00 3859 3836 lea sp, [bp-004h] ; 8d 66 fc … … 3862 3839 pop bp ; 5d 3863 3840 retn ; c3 3864 floppy_read_id_: ; 0xf2f e8 LB 0x443841 floppy_read_id_: ; 0xf2fa8 LB 0x44 3865 3842 push bp ; 55 3866 3843 mov bp, sp ; 89 e5 … … 3870 3847 sub sp, strict byte 00008h ; 83 ec 08 3871 3848 mov bx, ax ; 89 c3 3872 call 02 f22h ; e8 2c ff3849 call 02ee2h ; e8 2c ff 3873 3850 mov AL, strict byte 04ah ; b0 4a 3874 3851 mov dx, 003f5h ; ba f5 03 … … 3876 3853 mov al, bl ; 88 d8 3877 3854 out DX, AL ; ee 3878 call 02e 92h ; e8 90 fe3855 call 02e52h ; e8 90 fe 3879 3856 xor si, si ; 31 f6 3880 jmp short 0 300bh ; eb 053857 jmp short 02fcbh ; eb 05 3881 3858 cmp si, strict byte 00007h ; 83 fe 07 3882 jnl short 0 3017h ; 7d 0c3859 jnl short 02fd7h ; 7d 0c 3883 3860 mov dx, 003f5h ; ba f5 03 3884 3861 in AL, DX ; ec … … 3887 3864 mov byte [bp+si-00eh], al ; 88 42 f2 3888 3865 inc si ; 46 3889 jmp short 0 3006h ; eb ef3866 jmp short 02fc6h ; eb ef 3890 3867 test byte [bp-00eh], 0c0h ; f6 46 f2 c0 3891 je short 0 3021h ; 74 043868 je short 02fe1h ; 74 04 3892 3869 xor ax, ax ; 31 c0 3893 jmp short 0 3024h ; eb 033870 jmp short 02fe4h ; eb 03 3894 3871 mov ax, strict word 00001h ; b8 01 00 3895 3872 lea sp, [bp-006h] ; 8d 66 fa … … 3899 3876 pop bp ; 5d 3900 3877 retn ; c3 3901 floppy_drive_recal_: ; 0xf 302c LB 0x4d3878 floppy_drive_recal_: ; 0xf2fec LB 0x4d 3902 3879 push bp ; 55 3903 3880 mov bp, sp ; 89 e5 … … 3906 3883 push dx ; 52 3907 3884 mov bx, ax ; 89 c3 3908 call 02 f22h ; e8 eb fe3885 call 02ee2h ; e8 eb fe 3909 3886 mov AL, strict byte 007h ; b0 07 3910 3887 mov dx, 003f5h ; ba f5 03 … … 3912 3889 mov al, bl ; 88 d8 3913 3890 out DX, AL ; ee 3914 call 02e 92h ; e8 4f fe3891 call 02e52h ; e8 4f fe 3915 3892 test bx, bx ; 85 db 3916 je short 030 51h ; 74 0a3893 je short 03011h ; 74 0a 3917 3894 mov bl, al ; 88 c3 3918 3895 or bl, 002h ; 80 cb 02 3919 3896 mov cx, 00095h ; b9 95 00 3920 jmp short 030 59h ; eb 083897 jmp short 03019h ; eb 08 3921 3898 mov bl, al ; 88 c3 3922 3899 or bl, 001h ; 80 cb 01 … … 3925 3902 mov dx, strict word 0003eh ; ba 3e 00 3926 3903 mov ax, strict word 00040h ; b8 40 00 3927 call 0165eh ; e8 fa e53904 call 0165eh ; e8 3a e6 3928 3905 xor bx, bx ; 31 db 3929 3906 mov dx, cx ; 89 ca 3930 3907 mov ax, strict word 00040h ; b8 40 00 3931 call 0165eh ; e8 f0 e53908 call 0165eh ; e8 30 e6 3932 3909 mov ax, strict word 00001h ; b8 01 00 3933 3910 lea sp, [bp-006h] ; 8d 66 fa … … 3937 3914 pop bp ; 5d 3938 3915 retn ; c3 3939 floppy_media_sense_: ; 0xf30 79 LB 0xf93916 floppy_media_sense_: ; 0xf3039 LB 0xf9 3940 3917 push bp ; 55 3941 3918 mov bp, sp ; 89 e5 … … 3946 3923 push di ; 57 3947 3924 mov di, ax ; 89 c7 3948 call 0 302ch ; e8 a6 ff3925 call 02fech ; e8 a6 ff 3949 3926 test ax, ax ; 85 c0 3950 jne short 030 8fh ; 75 053927 jne short 0304fh ; 75 05 3951 3928 xor cx, cx ; 31 c9 3952 jmp near 031 66h ; e9 d7 003929 jmp near 03126h ; e9 d7 00 3953 3930 mov ax, strict word 00010h ; b8 10 00 3954 call 016ach ; e8 17 e63931 call 016ach ; e8 57 e6 3955 3932 test di, di ; 85 ff 3956 jne short 030 a0h ; 75 073933 jne short 03060h ; 75 07 3957 3934 mov cl, al ; 88 c1 3958 3935 shr cl, 004h ; c0 e9 04 3959 jmp short 030 a5h ; eb 053936 jmp short 03065h ; eb 05 3960 3937 mov cl, al ; 88 c1 3961 3938 and cl, 00fh ; 80 e1 0f 3962 3939 cmp cl, 001h ; 80 f9 01 3963 jne short 030 b3h ; 75 093940 jne short 03073h ; 75 09 3964 3941 xor cl, cl ; 30 c9 3965 3942 mov CH, strict byte 015h ; b5 15 3966 3943 mov si, strict word 00001h ; be 01 00 3967 jmp short 030 f1h ; eb 3e3944 jmp short 030b1h ; eb 3e 3968 3945 cmp cl, 002h ; 80 f9 02 3969 jne short 030 beh ; 75 063946 jne short 0307eh ; 75 06 3970 3947 xor cl, cl ; 30 c9 3971 3948 mov CH, strict byte 035h ; b5 35 3972 jmp short 030 aeh ; eb f03949 jmp short 0306eh ; eb f0 3973 3950 cmp cl, 003h ; 80 f9 03 3974 jne short 030 c9h ; 75 063951 jne short 03089h ; 75 06 3975 3952 xor cl, cl ; 30 c9 3976 3953 mov CH, strict byte 017h ; b5 17 3977 jmp short 030 aeh ; eb e53954 jmp short 0306eh ; eb e5 3978 3955 cmp cl, 004h ; 80 f9 04 3979 jne short 030 d4h ; 75 063956 jne short 03094h ; 75 06 3980 3957 xor cl, cl ; 30 c9 3981 3958 mov CH, strict byte 017h ; b5 17 3982 jmp short 030 aeh ; eb da3959 jmp short 0306eh ; eb da 3983 3960 cmp cl, 005h ; 80 f9 05 3984 jne short 030 dfh ; 75 063961 jne short 0309fh ; 75 06 3985 3962 mov CL, strict byte 0cch ; b1 cc 3986 3963 mov CH, strict byte 0d7h ; b5 d7 3987 jmp short 030 aeh ; eb cf3964 jmp short 0306eh ; eb cf 3988 3965 cmp cl, 00eh ; 80 f9 0e 3989 je short 030 e9h ; 74 053966 je short 030a9h ; 74 05 3990 3967 cmp cl, 00fh ; 80 f9 0f 3991 jne short 030 ebh ; 75 023992 jmp short 030 d9h ; eb ee3968 jne short 030abh ; 75 02 3969 jmp short 03099h ; eb ee 3993 3970 xor cl, cl ; 30 c9 3994 3971 xor ch, ch ; 30 ed … … 3999 3976 mov dx, 0008bh ; ba 8b 00 4000 3977 mov ax, strict word 00040h ; b8 40 00 4001 call 0165eh ; e8 5e e53978 call 0165eh ; e8 9e e5 4002 3979 mov ax, di ; 89 f8 4003 call 02f e8h ; e8 e3 fe3980 call 02fa8h ; e8 e3 fe 4004 3981 test ax, ax ; 85 c0 4005 jne short 03 13bh ; 75 323982 jne short 030fbh ; 75 32 4006 3983 mov al, cl ; 88 c8 4007 3984 and AL, strict byte 0c0h ; 24 c0 4008 3985 cmp AL, strict byte 080h ; 3c 80 4009 je short 03 13bh ; 74 2a3986 je short 030fbh ; 74 2a 4010 3987 mov al, cl ; 88 c8 4011 3988 and AL, strict byte 0c0h ; 24 c0 4012 3989 cmp AL, strict byte 0c0h ; 3c c0 4013 je short 03 128h ; 74 0f3990 je short 030e8h ; 74 0f 4014 3991 mov ah, cl ; 88 cc 4015 3992 and ah, 03fh ; 80 e4 3f 4016 3993 cmp AL, strict byte 040h ; 3c 40 4017 je short 03 134h ; 74 123994 je short 030f4h ; 74 12 4018 3995 test al, al ; 84 c0 4019 je short 03 12dh ; 74 074020 jmp short 030 f1h ; eb c93996 je short 030edh ; 74 07 3997 jmp short 030b1h ; eb c9 4021 3998 and cl, 03fh ; 80 e1 3f 4022 jmp short 030 f1h ; eb c43999 jmp short 030b1h ; eb c4 4023 4000 mov cl, ah ; 88 e1 4024 4001 or cl, 040h ; 80 c9 40 4025 jmp short 030 f1h ; eb bd4002 jmp short 030b1h ; eb bd 4026 4003 mov cl, ah ; 88 e1 4027 4004 or cl, 080h ; 80 c9 80 4028 jmp short 030 f1h ; eb b64005 jmp short 030b1h ; eb b6 4029 4006 test di, di ; 85 ff 4030 jne short 031 44h ; 75 054007 jne short 03104h ; 75 05 4031 4008 mov di, 00090h ; bf 90 00 4032 jmp short 031 47h ; eb 034009 jmp short 03107h ; eb 03 4033 4010 mov di, 00091h ; bf 91 00 4034 4011 mov al, cl ; 88 c8 … … 4037 4014 mov dx, 0008bh ; ba 8b 00 4038 4015 mov ax, strict word 00040h ; b8 40 00 4039 call 0165eh ; e8 08 e54016 call 0165eh ; e8 48 e5 4040 4017 mov al, ch ; 88 e8 4041 4018 xor ah, ah ; 30 e4 … … 4043 4020 mov dx, di ; 89 fa 4044 4021 mov ax, strict word 00040h ; b8 40 00 4045 call 0165eh ; e8 fa e44022 call 0165eh ; e8 3a e5 4046 4023 mov cx, si ; 89 f1 4047 4024 mov ax, cx ; 89 c8 … … 4054 4031 pop bp ; 5d 4055 4032 retn ; c3 4056 floppy_drive_exists_: ; 0xf31 72 LB 0x284033 floppy_drive_exists_: ; 0xf3132 LB 0x28 4057 4034 push bp ; 55 4058 4035 mov bp, sp ; 89 e5 … … 4060 4037 mov dx, ax ; 89 c2 4061 4038 mov ax, strict word 00010h ; b8 10 00 4062 call 016ach ; e8 2e e54039 call 016ach ; e8 6e e5 4063 4040 test dx, dx ; 85 d2 4064 jne short 031 87h ; 75 054041 jne short 03147h ; 75 05 4065 4042 shr al, 004h ; c0 e8 04 4066 jmp short 031 89h ; eb 024043 jmp short 03149h ; eb 02 4067 4044 and AL, strict byte 00fh ; 24 0f 4068 4045 test al, al ; 84 c0 4069 je short 031 92h ; 74 054046 je short 03152h ; 74 05 4070 4047 mov ax, strict word 00001h ; b8 01 00 4071 jmp short 031 94h ; eb 024048 jmp short 03154h ; eb 02 4072 4049 xor ah, ah ; 30 e4 4073 4050 lea sp, [bp-002h] ; 8d 66 fe … … 4075 4052 pop bp ; 5d 4076 4053 retn ; c3 4077 _int13_diskette_function: ; 0xf31 9a LB 0x93e4054 _int13_diskette_function: ; 0xf315a LB 0x93e 4078 4055 push bp ; 55 4079 4056 mov bp, sp ; 89 e5 … … 4093 4070 mov word [bp-010h], dx ; 89 56 f0 4094 4071 cmp bl, 008h ; 80 fb 08 4095 jc short 031 f7h ; 72 2e4072 jc short 031b7h ; 72 2e 4096 4073 mov dx, word [bp+01ch] ; 8b 56 1c 4097 4074 or dl, 001h ; 80 ca 01 4098 4075 cmp bl, 008h ; 80 fb 08 4099 jbe short 03 22dh ; 76 594076 jbe short 031edh ; 76 59 4100 4077 cmp bl, 016h ; 80 fb 16 4101 jc short 031 efh ; 72 164078 jc short 031afh ; 72 16 4102 4079 or si, 00100h ; 81 ce 00 01 4103 4080 cmp bl, 016h ; 80 fb 16 4104 jbe short 03 230h ; 76 4e4081 jbe short 031f0h ; 76 4e 4105 4082 cmp bl, 018h ; 80 fb 18 4106 je short 03 233h ; 74 4c4083 je short 031f3h ; 74 4c 4107 4084 cmp bl, 017h ; 80 fb 17 4108 je short 032 49h ; 74 5d4109 jmp near 03a b5h ; e9 c6 084085 je short 03209h ; 74 5d 4086 jmp near 03a75h ; e9 c6 08 4110 4087 cmp bl, 015h ; 80 fb 15 4111 je short 032 4ch ; 74 584112 jmp near 03a b5h ; e9 be 084088 je short 0320ch ; 74 58 4089 jmp near 03a75h ; e9 be 08 4113 4090 cmp bl, 001h ; 80 fb 01 4114 jc short 03 20bh ; 72 0f4115 jbe short 032 4fh ; 76 514091 jc short 031cbh ; 72 0f 4092 jbe short 0320fh ; 76 51 4116 4093 cmp bl, 005h ; 80 fb 05 4117 je short 032 6ah ; 74 674094 je short 0322ah ; 74 67 4118 4095 cmp bl, 004h ; 80 fb 04 4119 jbe short 032 6dh ; 76 654120 jmp near 03a b5h ; e9 aa 084096 jbe short 0322dh ; 76 65 4097 jmp near 03a75h ; e9 aa 08 4121 4098 test bl, bl ; 84 db 4122 jne short 032 6fh ; 75 604099 jne short 0322fh ; 75 60 4123 4100 mov al, byte [bp+00eh] ; 8a 46 0e 4124 4101 mov byte [bp-006h], al ; 88 46 fa 4125 4102 cmp AL, strict byte 001h ; 3c 01 4126 jbe short 03 236h ; 76 1d4103 jbe short 031f6h ; 76 1d 4127 4104 mov ax, word [bp+016h] ; 8b 46 16 4128 4105 xor ah, ah ; 30 e4 … … 4130 4107 mov word [bp+016h], ax ; 89 46 16 4131 4108 mov ax, strict word 00001h ; b8 01 00 4132 call 02e 49h ; e8 1f fc4133 jmp near 035 d9h ; e9 ac 034134 jmp near 037 97h ; e9 67 054135 jmp near 038 cbh ; e9 98 064136 jmp near 039 64h ; e9 2e 074109 call 02e09h ; e8 1f fc 4110 jmp near 03599h ; e9 ac 03 4111 jmp near 03757h ; e9 67 05 4112 jmp near 0388bh ; e9 98 06 4113 jmp near 03924h ; e9 2e 07 4137 4114 mov ax, strict word 00010h ; b8 10 00 4138 call 016ach ; e8 70 e44115 call 016ach ; e8 b0 e4 4139 4116 cmp byte [bp-006h], 000h ; 80 7e fa 00 4140 jne short 032 51h ; 75 0f4117 jne short 03211h ; 75 0f 4141 4118 mov cl, al ; 88 c1 4142 4119 shr cl, 004h ; c0 e9 04 4143 jmp short 032 56h ; eb 0d4144 jmp near 038 efh ; e9 a3 064145 jmp near 038 87h ; e9 38 064146 jmp short 032 98h ; eb 474120 jmp short 03216h ; eb 0d 4121 jmp near 038afh ; e9 a3 06 4122 jmp near 03847h ; e9 38 06 4123 jmp short 03258h ; eb 47 4147 4124 mov cl, al ; 88 c1 4148 4125 and cl, 00fh ; 80 e1 0f 4149 4126 test cl, cl ; 84 c9 4150 jne short 032 72h ; 75 184127 jne short 03232h ; 75 18 4151 4128 mov ax, word [bp+016h] ; 8b 46 16 4152 4129 xor ah, ah ; 30 e4 … … 4154 4131 mov word [bp+016h], ax ; 89 46 16 4155 4132 mov ax, 00080h ; b8 80 00 4156 jmp short 03 227h ; eb bd4157 jmp near 03 603h ; e9 96 034158 jmp short 032 b7h ; eb 484159 jmp near 03a b5h ; e9 43 084133 jmp short 031e7h ; eb bd 4134 jmp near 035c3h ; e9 96 03 4135 jmp short 03277h ; eb 48 4136 jmp near 03a75h ; e9 43 08 4160 4137 xor bx, bx ; 31 db 4161 4138 mov dx, strict word 0003eh ; ba 3e 00 4162 4139 mov ax, strict word 00040h ; b8 40 00 4163 call 0165eh ; e8 e1 e34140 call 0165eh ; e8 21 e4 4164 4141 xor al, al ; 30 c0 4165 4142 mov byte [bp+017h], al ; 88 46 17 4166 4143 xor ah, ah ; 30 e4 4167 call 02e 49h ; e8 c2 fb4144 call 02e09h ; e8 c2 fb 4168 4145 and byte [bp+01ch], 0feh ; 80 66 1c fe 4169 4146 mov al, byte [bp-006h] ; 8a 46 fa 4170 4147 xor ah, ah ; 30 e4 4171 4148 xor dx, dx ; 31 d2 4172 call 02e 62h ; e8 cd fb4173 jmp near 035 fch ; e9 64 034149 call 02e22h ; e8 cd fb 4150 jmp near 035bch ; e9 64 03 4174 4151 and byte [bp+01ch], 0feh ; 80 66 1c fe 4175 4152 mov dx, 00441h ; ba 41 04 4176 4153 xor ax, ax ; 31 c0 4177 call 01650h ; e8 ac e34154 call 01650h ; e8 ec e3 4178 4155 mov dl, al ; 88 c2 4179 4156 xor dh, dh ; 30 f6 … … 4182 4159 mov word [bp+016h], si ; 89 76 16 4183 4160 test al, al ; 84 c0 4184 je short 03 30ah ; 74 564185 jmp near 035 d9h ; e9 22 034161 je short 032cah ; 74 56 4162 jmp near 03599h ; e9 22 03 4186 4163 mov ch, cl ; 88 cd 4187 4164 mov dl, byte [bp-010h] ; 8a 56 f0 … … 4193 4170 mov byte [bp-006h], al ; 88 46 fa 4194 4171 cmp AL, strict byte 001h ; 3c 01 4195 jnbe short 032 e0h ; 77 0e4172 jnbe short 032a0h ; 77 0e 4196 4173 cmp dl, 001h ; 80 fa 01 4197 jnbe short 032 e0h ; 77 094174 jnbe short 032a0h ; 77 09 4198 4175 test cl, cl ; 84 c9 4199 je short 032 e0h ; 74 054176 je short 032a0h ; 74 05 4200 4177 cmp cl, 048h ; 80 f9 48 4201 jbe short 03 30dh ; 76 2d4178 jbe short 032cdh ; 76 2d 4202 4179 mov bx, 00da0h ; bb a0 0d 4203 4180 mov cx, ds ; 8c d9 4204 4181 mov ax, strict word 00004h ; b8 04 00 4205 call 01923h ; e8 38 e64182 call 01923h ; e8 78 e6 4206 4183 push 00275h ; 68 75 02 4207 4184 push 0028dh ; 68 8d 02 4208 4185 push strict byte 00004h ; 6a 04 4209 call 01966h ; e8 70 e64186 call 01966h ; e8 b0 e6 4210 4187 add sp, strict byte 00006h ; 83 c4 06 4211 4188 mov ax, word [bp+016h] ; 8b 46 16 … … 4214 4191 mov word [bp+016h], ax ; 89 46 16 4215 4192 mov ax, strict word 00001h ; b8 01 00 4216 jmp near 033 8eh ; e9 84 004217 jmp near 035 fch ; e9 ef 024193 jmp near 0334eh ; e9 84 00 4194 jmp near 035bch ; e9 ef 02 4218 4195 mov al, byte [bp-006h] ; 8a 46 fa 4219 4196 xor ah, ah ; 30 e4 4220 call 031 72h ; e8 5d fe4197 call 03132h ; e8 5d fe 4221 4198 test ax, ax ; 85 c0 4222 je short 033 47h ; 74 2e4199 je short 03307h ; 74 2e 4223 4200 mov dl, byte [bp-006h] ; 8a 56 fa 4224 4201 xor dh, dh ; 30 f6 4225 4202 mov ax, dx ; 89 d0 4226 call 02f a5h ; e8 82 fc4203 call 02f65h ; e8 82 fc 4227 4204 test ax, ax ; 85 c0 4228 jne short 033 4ah ; 75 234205 jne short 0330ah ; 75 23 4229 4206 mov ax, dx ; 89 d0 4230 call 030 79h ; e8 4d fd4207 call 03039h ; e8 4d fd 4231 4208 test ax, ax ; 85 c0 4232 jne short 033 4ah ; 75 1a4209 jne short 0330ah ; 75 1a 4233 4210 mov ax, word [bp+016h] ; 8b 46 16 4234 4211 xor ah, ah ; 30 e4 … … 4236 4213 mov word [bp+016h], ax ; 89 46 16 4237 4214 mov ax, strict word 0000ch ; b8 0c 00 4238 call 02e 49h ; e8 08 fb4215 call 02e09h ; e8 08 fb 4239 4216 mov byte [bp+016h], dh ; 88 76 16 4240 jmp near 035 d9h ; e9 92 024241 jmp near 03 429h ; e9 df 004217 jmp near 03599h ; e9 92 02 4218 jmp near 033e9h ; e9 df 00 4242 4219 cmp byte [bp-00eh], 002h ; 80 7e f2 02 4243 jne short 033 98h ; 75 484220 jne short 03358h ; 75 48 4244 4221 mov ax, word [bp+006h] ; 8b 46 06 4245 4222 shr ax, 00ch ; c1 e8 0c … … 4251 4228 mov word [bp-012h], bx ; 89 5e ee 4252 4229 cmp dx, bx ; 39 da 4253 jbe short 033 6ch ; 76 024230 jbe short 0332ch ; 76 02 4254 4231 db 0feh, 0c1h 4255 4232 ; inc cl ; fe c1 … … 4262 4239 add ax, bx ; 01 d8 4263 4240 cmp ax, word [bp-012h] ; 3b 46 ee 4264 jnc short 033 9bh ; 73 1b4241 jnc short 0335bh ; 73 1b 4265 4242 mov ax, word [bp+016h] ; 8b 46 16 4266 4243 xor ah, ah ; 30 e4 … … 4268 4245 mov word [bp+016h], ax ; 89 46 16 4269 4246 mov ax, strict word 00009h ; b8 09 00 4270 call 02e 49h ; e8 b8 fa4247 call 02e09h ; e8 b8 fa 4271 4248 mov byte [bp+016h], 000h ; c6 46 16 00 4272 jmp near 035 d9h ; e9 41 024273 jmp near 034 bfh ; e9 24 014249 jmp near 03599h ; e9 41 02 4250 jmp near 0347fh ; e9 24 01 4274 4251 mov AL, strict byte 006h ; b0 06 4275 4252 mov dx, strict word 0000ah ; ba 0a 00 … … 4304 4281 mov al, byte [bp-006h] ; 8a 46 fa 4305 4282 xor ah, ah ; 30 e4 4306 call 02 f22h ; e8 41 fb4283 call 02ee2h ; e8 41 fb 4307 4284 mov AL, strict byte 0e6h ; b0 e6 4308 4285 mov dx, 003f5h ; ba f5 03 … … 4336 4313 mov AL, strict byte 0ffh ; b0 ff 4337 4314 out DX, AL ; ee 4338 call 02e b3h ; e8 91 fa4315 call 02e73h ; e8 91 fa 4339 4316 test al, al ; 84 c0 4340 jne short 03 43ah ; 75 144341 call 02e fah ; e8 d1 fa4317 jne short 033fah ; 75 14 4318 call 02ebah ; e8 d1 fa 4342 4319 mov ax, word [bp+016h] ; 8b 46 16 4343 4320 xor ah, ah ; 30 e4 … … 4345 4322 mov word [bp+016h], ax ; 89 46 16 4346 4323 mov ax, 00080h ; b8 80 00 4347 jmp near 033 8eh ; e9 54 ff4324 jmp near 0334eh ; e9 54 ff 4348 4325 mov dx, 003f4h ; ba f4 03 4349 4326 in AL, DX ; ec … … 4352 4329 and AL, strict byte 0c0h ; 24 c0 4353 4330 cmp AL, strict byte 0c0h ; 3c c0 4354 je short 034 54h ; 74 0e4331 je short 03414h ; 74 0e 4355 4332 push 00275h ; 68 75 02 4356 4333 push 002a8h ; 68 a8 02 4357 4334 push strict byte 00007h ; 6a 07 4358 call 01966h ; e8 15 e54335 call 01966h ; e8 55 e5 4359 4336 add sp, strict byte 00006h ; 83 c4 06 4360 4337 xor si, si ; 31 f6 4361 jmp short 034 5dh ; eb 054338 jmp short 0341dh ; eb 05 4362 4339 cmp si, strict byte 00007h ; 83 fe 07 4363 jnl short 034 76h ; 7d 194340 jnl short 03436h ; 7d 19 4364 4341 mov dx, 003f5h ; ba f5 03 4365 4342 in AL, DX ; ec … … 4371 4348 lea dx, [si+042h] ; 8d 54 42 4372 4349 mov ax, strict word 00040h ; b8 40 00 4373 call 0165eh ; e8 eb e14350 call 0165eh ; e8 2b e2 4374 4351 inc si ; 46 4375 jmp short 034 58h ; eb e24352 jmp short 03418h ; eb e2 4376 4353 test byte [bp-01ah], 0c0h ; f6 46 e6 c0 4377 je short 034 8dh ; 74 114354 je short 0344dh ; 74 11 4378 4355 mov ax, word [bp+016h] ; 8b 46 16 4379 4356 xor ah, ah ; 30 e4 … … 4381 4358 mov word [bp+016h], ax ; 89 46 16 4382 4359 mov ax, strict word 00020h ; b8 20 00 4383 jmp near 033 8eh ; e9 01 ff4360 jmp near 0334eh ; e9 01 ff 4384 4361 mov al, ch ; 88 e8 4385 4362 xor ah, ah ; 30 e4 … … 4402 4379 mov al, byte [bp-006h] ; 8a 46 fa 4403 4380 xor ah, ah ; 30 e4 4404 call 02e 62h ; e8 aa f94381 call 02e22h ; e8 aa f9 4405 4382 mov byte [bp+017h], 000h ; c6 46 17 00 4406 jmp near 039 5dh ; e9 9e 044383 jmp near 0391dh ; e9 9e 04 4407 4384 cmp byte [bp-00eh], 003h ; 80 7e f2 03 4408 je short 034 c8h ; 74 034409 jmp near 035 e7h ; e9 1f 014385 je short 03488h ; 74 03 4386 jmp near 035a7h ; e9 1f 01 4410 4387 mov dx, word [bp+006h] ; 8b 56 06 4411 4388 shr dx, 00ch ; c1 ea 0c … … 4417 4394 mov word [bp-012h], bx ; 89 5e ee 4418 4395 cmp ax, bx ; 39 d8 4419 jbe short 034 e4h ; 76 024396 jbe short 034a4h ; 76 02 4420 4397 db 0feh, 0c1h 4421 4398 ; inc cl ; fe c1 … … 4428 4405 add ax, bx ; 01 d8 4429 4406 cmp ax, word [bp-012h] ; 3b 46 ee 4430 jnc short 034 fbh ; 73 034431 jmp near 033 80h ; e9 85 fe4407 jnc short 034bbh ; 73 03 4408 jmp near 03340h ; e9 85 fe 4432 4409 mov AL, strict byte 006h ; b0 06 4433 4410 mov dx, strict word 0000ah ; ba 0a 00 … … 4462 4439 mov al, byte [bp-006h] ; 8a 46 fa 4463 4440 xor ah, ah ; 30 e4 4464 call 02 f22h ; e8 e1 f94441 call 02ee2h ; e8 e1 f9 4465 4442 mov AL, strict byte 0c5h ; b0 c5 4466 4443 mov dx, 003f5h ; ba f5 03 … … 4494 4471 mov AL, strict byte 0ffh ; b0 ff 4495 4472 out DX, AL ; ee 4496 call 02e b3h ; e8 31 f94473 call 02e73h ; e8 31 f9 4497 4474 test al, al ; 84 c0 4498 jne short 035 89h ; 75 034499 jmp near 03 426h ; e9 9d fe4475 jne short 03549h ; 75 03 4476 jmp near 033e6h ; e9 9d fe 4500 4477 mov dx, 003f4h ; ba f4 03 4501 4478 in AL, DX ; ec … … 4504 4481 and AL, strict byte 0c0h ; 24 c0 4505 4482 cmp AL, strict byte 0c0h ; 3c c0 4506 je short 035 a3h ; 74 0e4483 je short 03563h ; 74 0e 4507 4484 push 00275h ; 68 75 02 4508 4485 push 002a8h ; 68 a8 02 4509 4486 push strict byte 00007h ; 6a 07 4510 call 01966h ; e8 c6 e34487 call 01966h ; e8 06 e4 4511 4488 add sp, strict byte 00006h ; 83 c4 06 4512 4489 xor si, si ; 31 f6 4513 jmp short 035 ach ; eb 054490 jmp short 0356ch ; eb 05 4514 4491 cmp si, strict byte 00007h ; 83 fe 07 4515 jnl short 035 c5h ; 7d 194492 jnl short 03585h ; 7d 19 4516 4493 mov dx, 003f5h ; ba f5 03 4517 4494 in AL, DX ; ec … … 4523 4500 lea dx, [si+042h] ; 8d 54 42 4524 4501 mov ax, strict word 00040h ; b8 40 00 4525 call 0165eh ; e8 9c e04502 call 0165eh ; e8 dc e0 4526 4503 inc si ; 46 4527 jmp short 035 a7h ; eb e24504 jmp short 03567h ; eb e2 4528 4505 test byte [bp-01ah], 0c0h ; f6 46 e6 c0 4529 jne short 035 ceh ; 75 034530 jmp near 034 abh ; e9 dd fe4506 jne short 0358eh ; 75 03 4507 jmp near 0346bh ; e9 dd fe 4531 4508 test byte [bp-019h], 002h ; f6 46 e7 02 4532 je short 035 e0h ; 74 0c4509 je short 035a0h ; 74 0c 4533 4510 mov word [bp+016h], 00300h ; c7 46 16 00 03 4534 4511 or byte [bp+01ch], 001h ; 80 4e 1c 01 4535 jmp near 035 fch ; e9 1c 004512 jmp near 035bch ; e9 1c 00 4536 4513 mov word [bp+016h], 00100h ; c7 46 16 00 01 4537 jmp short 035 d9h ; eb f24514 jmp short 03599h ; eb f2 4538 4515 mov dl, byte [bp-008h] ; 8a 56 f8 4539 4516 xor dh, dh ; 30 f6 4540 4517 mov al, byte [bp-006h] ; 8a 46 fa 4541 4518 xor ah, ah ; 30 e4 4542 call 02e 62h ; e8 6e f84519 call 02e22h ; e8 6e f8 4543 4520 and byte [bp+01ch], 0feh ; 80 66 1c fe 4544 4521 mov byte [bp+017h], 000h ; c6 46 17 00 … … 4558 4535 mov byte [bp-006h], bl ; 88 5e fa 4559 4536 cmp bl, 001h ; 80 fb 01 4560 jnbe short 03 635h ; 77 124537 jnbe short 035f5h ; 77 12 4561 4538 cmp dl, 001h ; 80 fa 01 4562 jnbe short 03 635h ; 77 0d4539 jnbe short 035f5h ; 77 0d 4563 4540 cmp AL, strict byte 04fh ; 3c 4f 4564 jnbe short 03 635h ; 77 094541 jnbe short 035f5h ; 77 09 4565 4542 test ch, ch ; 84 ed 4566 je short 03 635h ; 74 054543 je short 035f5h ; 74 05 4567 4544 cmp ch, 012h ; 80 fd 12 4568 jbe short 036 4ah ; 76 154545 jbe short 0360ah ; 76 15 4569 4546 mov ax, word [bp+016h] ; 8b 46 16 4570 4547 xor ah, ah ; 30 e4 … … 4572 4549 mov word [bp+016h], ax ; 89 46 16 4573 4550 mov ax, strict word 00001h ; b8 01 00 4574 call 02e 49h ; e8 03 f84551 call 02e09h ; e8 03 f8 4575 4552 or byte [bp+01ch], 001h ; 80 4e 1c 01 4576 4553 mov al, byte [bp-006h] ; 8a 46 fa 4577 4554 xor ah, ah ; 30 e4 4578 call 031 72h ; e8 20 fb4555 call 03132h ; e8 20 fb 4579 4556 test ax, ax ; 85 c0 4580 jne short 036 59h ; 75 034581 jmp near 032 5ah ; e9 01 fc4557 jne short 03619h ; 75 03 4558 jmp near 0321ah ; e9 01 fc 4582 4559 mov dl, byte [bp-006h] ; 8a 56 fa 4583 4560 xor dh, dh ; 30 f6 4584 4561 mov ax, dx ; 89 d0 4585 call 02f a5h ; e8 42 f94562 call 02f65h ; e8 42 f9 4586 4563 test ax, ax ; 85 c0 4587 jne short 036 73h ; 75 0c4564 jne short 03633h ; 75 0c 4588 4565 mov ax, dx ; 89 d0 4589 call 030 79h ; e8 0d fa4566 call 03039h ; e8 0d fa 4590 4567 test ax, ax ; 85 c0 4591 jne short 036 73h ; 75 034592 jmp near 03 330h ; e9 bd fc4568 jne short 03633h ; 75 03 4569 jmp near 032f0h ; e9 bd fc 4593 4570 mov dx, word [bp+006h] ; 8b 56 06 4594 4571 shr dx, 00ch ; c1 ea 0c … … 4600 4577 mov word [bp-012h], bx ; 89 5e ee 4601 4578 cmp ax, bx ; 39 d8 4602 jbe short 036 8fh ; 76 024579 jbe short 0364fh ; 76 02 4603 4580 db 0feh, 0c1h 4604 4581 ; inc cl ; fe c1 … … 4611 4588 add ax, bx ; 01 d8 4612 4589 cmp ax, word [bp-012h] ; 3b 46 ee 4613 jnc short 036 a6h ; 73 034614 jmp near 033 80h ; e9 da fc4590 jnc short 03666h ; 73 03 4591 jmp near 03340h ; e9 da fc 4615 4592 mov AL, strict byte 006h ; b0 06 4616 4593 mov dx, strict word 0000ah ; ba 0a 00 … … 4645 4622 mov al, byte [bp-006h] ; 8a 46 fa 4646 4623 xor ah, ah ; 30 e4 4647 call 02 f22h ; e8 36 f84624 call 02ee2h ; e8 36 f8 4648 4625 mov AL, strict byte 00fh ; b0 0f 4649 4626 mov dx, 003f5h ; ba f5 03 … … 4671 4648 mov AL, strict byte 0f6h ; b0 f6 4672 4649 out DX, AL ; ee 4673 call 02e b3h ; e8 96 f74650 call 02e73h ; e8 96 f7 4674 4651 test al, al ; 84 c0 4675 jne short 03 727h ; 75 064676 call 02e fah ; e8 d6 f74677 jmp near 032 5ah ; e9 33 fb4652 jne short 036e7h ; 75 06 4653 call 02ebah ; e8 d6 f7 4654 jmp near 0321ah ; e9 33 fb 4678 4655 mov dx, 003f4h ; ba f4 03 4679 4656 in AL, DX ; ec … … 4682 4659 and AL, strict byte 0c0h ; 24 c0 4683 4660 cmp AL, strict byte 0c0h ; 3c c0 4684 je short 037 41h ; 74 0e4661 je short 03701h ; 74 0e 4685 4662 push 00275h ; 68 75 02 4686 4663 push 002a8h ; 68 a8 02 4687 4664 push strict byte 00007h ; 6a 07 4688 call 01966h ; e8 28 e24665 call 01966h ; e8 68 e2 4689 4666 add sp, strict byte 00006h ; 83 c4 06 4690 4667 xor si, si ; 31 f6 4691 jmp short 037 4ah ; eb 054668 jmp short 0370ah ; eb 05 4692 4669 cmp si, strict byte 00007h ; 83 fe 07 4693 jnl short 037 63h ; 7d 194670 jnl short 03723h ; 7d 19 4694 4671 mov dx, 003f5h ; ba f5 03 4695 4672 in AL, DX ; ec … … 4701 4678 lea dx, [si+042h] ; 8d 54 42 4702 4679 mov ax, strict word 00040h ; b8 40 00 4703 call 0165eh ; e8 fe de4680 call 0165eh ; e8 3e df 4704 4681 inc si ; 46 4705 jmp short 037 45h ; eb e24682 jmp short 03705h ; eb e2 4706 4683 test byte [bp-01ah], 0c0h ; f6 46 e6 c0 4707 je short 037 80h ; 74 174684 je short 03740h ; 74 17 4708 4685 test byte [bp-019h], 002h ; f6 46 e7 02 4709 je short 037 72h ; 74 034710 jmp near 035 d4h ; e9 62 fe4686 je short 03732h ; 74 03 4687 jmp near 03594h ; e9 62 fe 4711 4688 push 00275h ; 68 75 02 4712 4689 push 002bch ; 68 bc 02 4713 4690 push strict byte 00007h ; 6a 07 4714 call 01966h ; e8 e9 e14691 call 01966h ; e8 29 e2 4715 4692 add sp, strict byte 00006h ; 83 c4 06 4716 4693 xor al, al ; 30 c0 4717 4694 mov byte [bp+017h], al ; 88 46 17 4718 4695 xor ah, ah ; 30 e4 4719 call 02e 49h ; e8 bf f64696 call 02e09h ; e8 bf f6 4720 4697 mov al, byte [bp-006h] ; 8a 46 fa 4721 4698 xor ah, ah ; 30 e4 4722 4699 xor dx, dx ; 31 d2 4723 call 02e 62h ; e8 ce f64724 jmp near 039 5dh ; e9 c6 014700 call 02e22h ; e8 ce f6 4701 jmp near 0391dh ; e9 c6 01 4725 4702 mov byte [bp-006h], al ; 88 46 fa 4726 4703 cmp AL, strict byte 001h ; 3c 01 4727 jbe short 037 bch ; 76 1e4704 jbe short 0377ch ; 76 1e 4728 4705 xor ax, ax ; 31 c0 4729 4706 mov word [bp+016h], ax ; 89 46 16 … … 4736 4713 xor ah, ah ; 30 e4 4737 4714 mov word [bp+012h], ax ; 89 46 12 4738 jmp near 038 d8h ; e9 1c 014715 jmp near 03898h ; e9 1c 01 4739 4716 mov ax, strict word 00010h ; b8 10 00 4740 call 016ach ; e8 ea de4717 call 016ach ; e8 2a df 4741 4718 mov cl, al ; 88 c1 4742 4719 xor ch, ch ; 30 ed 4743 4720 test AL, strict byte 0f0h ; a8 f0 4744 je short 037 cch ; 74 024721 je short 0378ch ; 74 02 4745 4722 mov CH, strict byte 001h ; b5 01 4746 4723 test cl, 00fh ; f6 c1 0f 4747 je short 037 d3h ; 74 024724 je short 03793h ; 74 02 4748 4725 db 0feh, 0c5h 4749 4726 ; inc ch ; fe c5 4750 4727 cmp byte [bp-006h], 000h ; 80 7e fa 00 4751 jne short 037 deh ; 75 054728 jne short 0379eh ; 75 05 4752 4729 shr cl, 004h ; c0 e9 04 4753 jmp short 037 e1h ; eb 034730 jmp short 037a1h ; eb 03 4754 4731 and cl, 00fh ; 80 e1 0f 4755 4732 mov byte [bp+011h], 000h ; c6 46 11 00 … … 4767 4744 mov word [bp+012h], ax ; 89 46 12 4768 4745 cmp cl, 003h ; 80 f9 03 4769 jc short 03 81dh ; 72 154770 jbe short 038 44h ; 76 3a4746 jc short 037ddh ; 72 15 4747 jbe short 03804h ; 76 3a 4771 4748 cmp cl, 005h ; 80 f9 05 4772 jc short 038 4bh ; 72 3c4773 jbe short 038 52h ; 76 414749 jc short 0380bh ; 72 3c 4750 jbe short 03812h ; 76 41 4774 4751 cmp cl, 00fh ; 80 f9 0f 4775 je short 038 60h ; 74 4a4752 je short 03820h ; 74 4a 4776 4753 cmp cl, 00eh ; 80 f9 0e 4777 je short 038 59h ; 74 3e4778 jmp short 038 67h ; eb 4a4754 je short 03819h ; 74 3e 4755 jmp short 03827h ; eb 4a 4779 4756 cmp cl, 002h ; 80 f9 02 4780 je short 03 83dh ; 74 1b4757 je short 037fdh ; 74 1b 4781 4758 cmp cl, 001h ; 80 f9 01 4782 je short 03 836h ; 74 0f4759 je short 037f6h ; 74 0f 4783 4760 test cl, cl ; 84 c9 4784 jne short 038 67h ; 75 3c4761 jne short 03827h ; 75 3c 4785 4762 mov word [bp+014h], strict word 00000h ; c7 46 14 00 00 4786 4763 mov byte [bp+013h], 000h ; c6 46 13 00 4787 jmp short 038 75h ; eb 3f4764 jmp short 03835h ; eb 3f 4788 4765 mov word [bp+014h], 02709h ; c7 46 14 09 27 4789 jmp short 038 75h ; eb 384766 jmp short 03835h ; eb 38 4790 4767 mov word [bp+014h], 04f0fh ; c7 46 14 0f 4f 4791 jmp short 038 75h ; eb 314768 jmp short 03835h ; eb 31 4792 4769 mov word [bp+014h], 04f09h ; c7 46 14 09 4f 4793 jmp short 038 75h ; eb 2a4770 jmp short 03835h ; eb 2a 4794 4771 mov word [bp+014h], 04f12h ; c7 46 14 12 4f 4795 jmp short 038 75h ; eb 234772 jmp short 03835h ; eb 23 4796 4773 mov word [bp+014h], 04f24h ; c7 46 14 24 4f 4797 jmp short 038 75h ; eb 1c4774 jmp short 03835h ; eb 1c 4798 4775 mov word [bp+014h], 0fe3fh ; c7 46 14 3f fe 4799 jmp short 038 75h ; eb 154776 jmp short 03835h ; eb 15 4800 4777 mov word [bp+014h], 0feffh ; c7 46 14 ff fe 4801 jmp short 038 75h ; eb 0e4778 jmp short 03835h ; eb 0e 4802 4779 push 00275h ; 68 75 02 4803 4780 push 002cdh ; 68 cd 02 4804 4781 push strict byte 00007h ; 6a 07 4805 call 01966h ; e8 f4 e04782 call 01966h ; e8 34 e1 4806 4783 add sp, strict byte 00006h ; 83 c4 06 4807 4784 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 4808 4785 mov al, cl ; 88 c8 4809 4786 xor ah, ah ; 30 e4 4810 call 03a d8h ; e8 57 024787 call 03a98h ; e8 57 02 4811 4788 mov word [bp+008h], ax ; 89 46 08 4812 jmp near 039 5dh ; e9 d6 004789 jmp near 0391dh ; e9 d6 00 4813 4790 mov byte [bp-006h], al ; 88 46 fa 4814 4791 cmp AL, strict byte 001h ; 3c 01 4815 jbe short 038 93h ; 76 054792 jbe short 03853h ; 76 05 4816 4793 mov word [bp+016h], si ; 89 76 16 4817 jmp short 038 d8h ; eb 454794 jmp short 03898h ; eb 45 4818 4795 mov ax, strict word 00010h ; b8 10 00 4819 call 016ach ; e8 13 de4796 call 016ach ; e8 53 de 4820 4797 cmp byte [bp-006h], 000h ; 80 7e fa 00 4821 jne short 038 a6h ; 75 074798 jne short 03866h ; 75 07 4822 4799 mov cl, al ; 88 c1 4823 4800 shr cl, 004h ; c0 e9 04 4824 jmp short 038 abh ; eb 054801 jmp short 0386bh ; eb 05 4825 4802 mov cl, al ; 88 c1 4826 4803 and cl, 00fh ; 80 e1 0f … … 4829 4806 xor ah, ah ; 30 e4 4830 4807 test cl, cl ; 84 c9 4831 je short 038 c5h ; 74 0d4808 je short 03885h ; 74 0d 4832 4809 cmp cl, 001h ; 80 f9 01 4833 jbe short 038 c2h ; 76 054810 jbe short 03882h ; 76 05 4834 4811 or ah, 002h ; 80 cc 02 4835 jmp short 038 c5h ; eb 034812 jmp short 03885h ; eb 03 4836 4813 or ah, 001h ; 80 cc 01 4837 4814 mov word [bp+016h], ax ; 89 46 16 4838 jmp near 035 fch ; e9 31 fd4815 jmp near 035bch ; e9 31 fd 4839 4816 cmp AL, strict byte 001h ; 3c 01 4840 jbe short 038 deh ; 76 0f4817 jbe short 0389eh ; 76 0f 4841 4818 mov word [bp+016h], si ; 89 76 16 4842 4819 mov ax, strict word 00001h ; b8 01 00 4843 call 02e 49h ; e8 71 f54820 call 02e09h ; e8 71 f5 4844 4821 mov word [bp+01ch], dx ; 89 56 1c 4845 jmp near 035 fch ; e9 1e fd4822 jmp near 035bch ; e9 1e fd 4846 4823 mov ax, word [bp+016h] ; 8b 46 16 4847 4824 xor ah, ah ; 30 e4 … … 4849 4826 mov word [bp+016h], ax ; 89 46 16 4850 4827 mov ax, strict word 00006h ; b8 06 00 4851 jmp near 03 227h ; e9 38 f94828 jmp near 031e7h ; e9 38 f9 4852 4829 mov byte [bp-006h], al ; 88 46 fa 4853 4830 mov bl, cl ; 88 cb 4854 4831 cmp AL, strict byte 001h ; 3c 01 4855 jnbe short 038 cfh ; 77 d74832 jnbe short 0388fh ; 77 d7 4856 4833 mov al, byte [bp-006h] ; 8a 46 fa 4857 4834 xor ah, ah ; 30 e4 4858 call 031 72h ; e8 72 f84835 call 03132h ; e8 72 f8 4859 4836 test ax, ax ; 85 c0 4860 jne short 03 907h ; 75 034861 jmp near 032 5ah ; e9 53 f94837 jne short 038c7h ; 75 03 4838 jmp near 0321ah ; e9 53 f9 4862 4839 cmp byte [bp-006h], 000h ; 80 7e fa 00 4863 je short 03 912h ; 74 054840 je short 038d2h ; 74 05 4864 4841 mov dx, 00091h ; ba 91 00 4865 jmp short 03 915h ; eb 034842 jmp short 038d5h ; eb 03 4866 4843 mov dx, 00090h ; ba 90 00 4867 4844 mov word [bp-012h], dx ; 89 56 ee 4868 4845 mov ax, strict word 00040h ; b8 40 00 4869 call 01650h ; e8 32 dd4846 call 01650h ; e8 72 dd 4870 4847 and AL, strict byte 00fh ; 24 0f 4871 4848 cmp bl, 002h ; 80 fb 02 4872 jc short 03 934h ; 72 0f4873 jbe short 039 40h ; 76 194849 jc short 038f4h ; 72 0f 4850 jbe short 03900h ; 76 19 4874 4851 cmp bl, 004h ; 80 fb 04 4875 je short 03 93ch ; 74 104852 je short 038fch ; 74 10 4876 4853 cmp bl, 003h ; 80 fb 03 4877 je short 039 44h ; 74 134878 jmp near 03 219h ; e9 e5 f84854 je short 03904h ; 74 13 4855 jmp near 031d9h ; e9 e5 f8 4879 4856 cmp bl, 001h ; 80 fb 01 4880 je short 03 93ch ; 74 034881 jmp near 03 219h ; e9 dd f84857 je short 038fch ; 74 03 4858 jmp near 031d9h ; e9 dd f8 4882 4859 or AL, strict byte 090h ; 0c 90 4883 jmp short 039 46h ; eb 064860 jmp short 03906h ; eb 06 4884 4861 or AL, strict byte 070h ; 0c 70 4885 jmp short 039 46h ; eb 024862 jmp short 03906h ; eb 02 4886 4863 or AL, strict byte 010h ; 0c 10 4887 4864 mov bl, al ; 88 c3 … … 4889 4866 mov dx, word [bp-012h] ; 8b 56 ee 4890 4867 mov ax, strict word 00040h ; b8 40 00 4891 call 0165eh ; e8 0b dd4868 call 0165eh ; e8 4b dd 4892 4869 xor al, al ; 30 c0 4893 4870 mov byte [bp+017h], al ; 88 46 17 4894 4871 xor ah, ah ; 30 e4 4895 call 02e 49h ; e8 ec f44872 call 02e09h ; e8 ec f4 4896 4873 and byte [bp+01ch], 0feh ; 80 66 1c fe 4897 jmp near 035 fch ; e9 98 fc4874 jmp near 035bch ; e9 98 fc 4898 4875 mov byte [bp-006h], al ; 88 46 fa 4899 4876 mov ch, ah ; 88 e5 … … 4906 4883 mov byte [bp-008h], bl ; 88 5e f8 4907 4884 cmp AL, strict byte 001h ; 3c 01 4908 jbe short 039 83h ; 76 034909 jmp near 038 cfh ; e9 4c ff4885 jbe short 03943h ; 76 03 4886 jmp near 0388fh ; e9 4c ff 4910 4887 mov al, byte [bp-006h] ; 8a 46 fa 4911 4888 xor ah, ah ; 30 e4 4912 call 031 72h ; e8 e7 f74889 call 03132h ; e8 e7 f7 4913 4890 test ax, ax ; 85 c0 4914 jne short 039 92h ; 75 034915 jmp near 032 5ah ; e9 c8 f84891 jne short 03952h ; 75 03 4892 jmp near 0321ah ; e9 c8 f8 4916 4893 mov dl, byte [bp-006h] ; 8a 56 fa 4917 4894 xor dh, dh ; 30 f6 4918 4895 mov ax, dx ; 89 d0 4919 call 02f a5h ; e8 09 f64896 call 02f65h ; e8 09 f6 4920 4897 test ax, ax ; 85 c0 4921 jne short 039 bah ; 75 1a4898 jne short 0397ah ; 75 1a 4922 4899 mov ax, dx ; 89 d0 4923 call 030 79h ; e8 d4 f64900 call 03039h ; e8 d4 f6 4924 4901 test ax, ax ; 85 c0 4925 jne short 039 bah ; 75 114902 jne short 0397ah ; 75 11 4926 4903 mov ax, word [bp+016h] ; 8b 46 16 4927 4904 xor ah, ah ; 30 e4 … … 4929 4906 mov word [bp+016h], ax ; 89 46 16 4930 4907 mov ax, strict word 0000ch ; b8 0c 00 4931 jmp near 03 227h ; e9 6d f84908 jmp near 031e7h ; e9 6d f8 4932 4909 mov ax, strict word 00010h ; b8 10 00 4933 call 016ach ; e8 ec dc4910 call 016ach ; e8 2c dd 4934 4911 cmp byte [bp-006h], 000h ; 80 7e fa 00 4935 jne short 039 cdh ; 75 074912 jne short 0398dh ; 75 07 4936 4913 mov cl, al ; 88 c1 4937 4914 shr cl, 004h ; c0 e9 04 4938 jmp short 039 d2h ; eb 054915 jmp short 03992h ; eb 05 4939 4916 mov cl, al ; 88 c1 4940 4917 and cl, 00fh ; 80 e1 0f 4941 4918 cmp byte [bp-006h], 000h ; 80 7e fa 00 4942 je short 039 ddh ; 74 054919 je short 0399dh ; 74 05 4943 4920 mov dx, 00091h ; ba 91 00 4944 jmp short 039 e0h ; eb 034921 jmp short 039a0h ; eb 03 4945 4922 mov dx, 00090h ; ba 90 00 4946 4923 mov word [bp-012h], dx ; 89 56 ee 4947 4924 mov ax, strict word 00040h ; b8 40 00 4948 call 01650h ; e8 67 dc4925 call 01650h ; e8 a7 dc 4949 4926 and AL, strict byte 00fh ; 24 0f 4950 4927 cmp cl, 003h ; 80 f9 03 4951 jc short 03 a0ch ; 72 1c4928 jc short 039cch ; 72 1c 4952 4929 mov ah, al ; 88 c4 4953 4930 or ah, 090h ; 80 cc 90 4954 4931 cmp cl, 003h ; 80 f9 03 4955 jbe short 03a 43h ; 76 494932 jbe short 03a03h ; 76 49 4956 4933 mov dl, al ; 88 c2 4957 4934 or dl, 010h ; 80 ca 10 4958 4935 cmp cl, 005h ; 80 f9 05 4959 je short 03a 50h ; 74 4c4936 je short 03a10h ; 74 4c 4960 4937 cmp cl, 004h ; 80 f9 04 4961 je short 03a 56h ; 74 4d4962 jmp near 03a 87h ; e9 7b 004938 je short 03a16h ; 74 4d 4939 jmp near 03a47h ; e9 7b 00 4963 4940 cmp cl, 002h ; 80 f9 02 4964 je short 03 a25h ; 74 144941 je short 039e5h ; 74 14 4965 4942 cmp cl, 001h ; 80 f9 01 4966 jne short 03a 54h ; 75 3e4943 jne short 03a14h ; 75 3e 4967 4944 cmp byte [bp-008h], 027h ; 80 7e f8 27 4968 jne short 03a 54h ; 75 384945 jne short 03a14h ; 75 38 4969 4946 cmp ch, 009h ; 80 fd 09 4970 jne short 03a 6ah ; 75 494947 jne short 03a2ah ; 75 49 4971 4948 or AL, strict byte 090h ; 0c 90 4972 jmp short 03a 6ah ; eb 454949 jmp short 03a2ah ; eb 45 4973 4950 cmp byte [bp-008h], 027h ; 80 7e f8 27 4974 jne short 03 a34h ; 75 094951 jne short 039f4h ; 75 09 4975 4952 cmp ch, 009h ; 80 fd 09 4976 jne short 03 a34h ; 75 044953 jne short 039f4h ; 75 04 4977 4954 or AL, strict byte 070h ; 0c 70 4978 jmp short 03a 6ah ; eb 364955 jmp short 03a2ah ; eb 36 4979 4956 cmp byte [bp-008h], 04fh ; 80 7e f8 4f 4980 jne short 03a 87h ; 75 4d4957 jne short 03a47h ; 75 4d 4981 4958 cmp ch, 00fh ; 80 fd 0f 4982 jne short 03a 87h ; 75 484959 jne short 03a47h ; 75 48 4983 4960 or AL, strict byte 010h ; 0c 10 4984 jmp short 03a 87h ; eb 444961 jmp short 03a47h ; eb 44 4985 4962 cmp byte [bp-008h], 04fh ; 80 7e f8 4f 4986 jne short 03a 87h ; 75 3e4963 jne short 03a47h ; 75 3e 4987 4964 cmp ch, 009h ; 80 fd 09 4988 je short 03a 52h ; 74 044989 jmp short 03a 87h ; eb 374990 jmp short 03a 6ch ; eb 1a4965 je short 03a12h ; 74 04 4966 jmp short 03a47h ; eb 37 4967 jmp short 03a2ch ; eb 1a 4991 4968 mov al, ah ; 88 e0 4992 jmp short 03a 87h ; eb 314969 jmp short 03a47h ; eb 31 4993 4970 cmp byte [bp-008h], 04fh ; 80 7e f8 4f 4994 jne short 03a 87h ; 75 2b4971 jne short 03a47h ; 75 2b 4995 4972 cmp ch, 009h ; 80 fd 09 4996 jne short 03a 63h ; 75 024997 jmp short 03a 52h ; eb ef4973 jne short 03a23h ; 75 02 4974 jmp short 03a12h ; eb ef 4998 4975 cmp ch, 012h ; 80 fd 12 4999 jne short 03a 87h ; 75 1f4976 jne short 03a47h ; 75 1f 5000 4977 mov al, dl ; 88 d0 5001 jmp short 03a 87h ; eb 1b4978 jmp short 03a47h ; eb 1b 5002 4979 cmp byte [bp-008h], 04fh ; 80 7e f8 4f 5003 jne short 03a 87h ; 75 154980 jne short 03a47h ; 75 15 5004 4981 cmp ch, 009h ; 80 fd 09 5005 jne short 03a 79h ; 75 025006 jmp short 03a 52h ; eb d94982 jne short 03a39h ; 75 02 4983 jmp short 03a12h ; eb d9 5007 4984 cmp ch, 012h ; 80 fd 12 5008 jne short 03a 80h ; 75 025009 jmp short 03a 68h ; eb e84985 jne short 03a40h ; 75 02 4986 jmp short 03a28h ; eb e8 5010 4987 cmp ch, 024h ; 80 fd 24 5011 jne short 03a 87h ; 75 024988 jne short 03a47h ; 75 02 5012 4989 or AL, strict byte 0d0h ; 0c d0 5013 4990 mov dl, al ; 88 c2 … … 5015 4992 sar dx, 004h ; c1 fa 04 5016 4993 test dl, 001h ; f6 c2 01 5017 jne short 03a 96h ; 75 035018 jmp near 039 a9h ; e9 13 ff4994 jne short 03a56h ; 75 03 4995 jmp near 03969h ; e9 13 ff 5019 4996 mov bl, al ; 88 c3 5020 4997 xor bh, bh ; 30 ff 5021 4998 mov dx, word [bp-012h] ; 8b 56 ee 5022 4999 mov ax, strict word 00040h ; b8 40 00 5023 call 0165eh ; e8 bb db5000 call 0165eh ; e8 fb db 5024 5001 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 5025 5002 mov al, cl ; 88 c8 5026 5003 xor ah, ah ; 30 e4 5027 call 03a d8h ; e8 29 005004 call 03a98h ; e8 29 00 5028 5005 mov word [bp+008h], ax ; 89 46 08 5029 jmp near 039 53h ; e9 9e fe5006 jmp near 03913h ; e9 9e fe 5030 5007 mov bx, 00da0h ; bb a0 0d 5031 5008 mov cx, ds ; 8c d9 5032 5009 mov ax, strict word 00004h ; b8 04 00 5033 call 01923h ; e8 63 de5010 call 01923h ; e8 a3 de 5034 5011 mov ax, word [bp+016h] ; 8b 46 16 5035 5012 shr ax, 008h ; c1 e8 08 … … 5038 5015 push 002e2h ; 68 e2 02 5039 5016 push strict byte 00004h ; 6a 04 5040 call 01966h ; e8 94 de5017 call 01966h ; e8 d4 de 5041 5018 add sp, strict byte 00008h ; 83 c4 08 5042 jmp near 03 219h ; e9 41 f75043 get_floppy_dpt_: ; 0xf3a d8 LB 0x305019 jmp near 031d9h ; e9 41 f7 5020 get_floppy_dpt_: ; 0xf3a98 LB 0x30 5044 5021 push bx ; 53 5045 5022 push dx ; 52 … … 5048 5025 mov dl, al ; 88 c2 5049 5026 xor ax, ax ; 31 c0 5050 jmp short 03a e9h ; eb 065027 jmp short 03aa9h ; eb 06 5051 5028 inc ax ; 40 5052 5029 cmp ax, strict word 00007h ; 3d 07 00 5053 jnc short 03 b01h ; 73 185030 jnc short 03ac1h ; 73 18 5054 5031 mov bx, ax ; 89 c3 5055 5032 add bx, ax ; 01 c3 5056 5033 cmp dl, byte [word bx+0005bh] ; 3a 97 5b 00 5057 jne short 03a e3h ; 75 f05034 jne short 03aa3h ; 75 f0 5058 5035 mov al, byte [word bx+0005ch] ; 8a 87 5c 00 5059 5036 xor ah, ah ; 30 e4 5060 5037 imul ax, ax, strict byte 0000dh ; 6b c0 0d 5061 5038 add ax, strict word 00000h ; 05 00 00 5062 jmp short 03 b04h ; eb 035039 jmp short 03ac4h ; eb 03 5063 5040 mov ax, strict word 00041h ; b8 41 00 5064 5041 pop bp ; 5d … … 5066 5043 pop bx ; 5b 5067 5044 retn ; c3 5068 dummy_soft_reset_: ; 0xf3 b08 LB 0x75045 dummy_soft_reset_: ; 0xf3ac8 LB 0x7 5069 5046 push bp ; 55 5070 5047 mov bp, sp ; 89 e5 … … 5072 5049 pop bp ; 5d 5073 5050 retn ; c3 5074 _cdemu_init: ; 0xf3 b0f LB 0x185051 _cdemu_init: ; 0xf3acf LB 0x18 5075 5052 push bp ; 55 5076 5053 mov bp, sp ; 89 e5 5077 5054 mov dx, strict word 0000eh ; ba 0e 00 5078 5055 mov ax, strict word 00040h ; b8 40 00 5079 call 0166ch ; e8 51 db5056 call 0166ch ; e8 91 db 5080 5057 xor bx, bx ; 31 db 5081 5058 mov dx, 00366h ; ba 66 03 5082 call 0165eh ; e8 3b db5059 call 0165eh ; e8 7b db 5083 5060 mov sp, bp ; 89 ec 5084 5061 pop bp ; 5d 5085 5062 retn ; c3 5086 _cdemu_isactive: ; 0xf3 b27 LB 0x165063 _cdemu_isactive: ; 0xf3ae7 LB 0x16 5087 5064 push bp ; 55 5088 5065 mov bp, sp ; 89 e5 5089 5066 mov dx, strict word 0000eh ; ba 0e 00 5090 5067 mov ax, strict word 00040h ; b8 40 00 5091 call 0166ch ; e8 39 db5068 call 0166ch ; e8 79 db 5092 5069 mov dx, 00366h ; ba 66 03 5093 call 01650h ; e8 17 db5070 call 01650h ; e8 57 db 5094 5071 mov sp, bp ; 89 ec 5095 5072 pop bp ; 5d 5096 5073 retn ; c3 5097 _cdemu_emulated_drive: ; 0xf3 b3d LB 0x165074 _cdemu_emulated_drive: ; 0xf3afd LB 0x16 5098 5075 push bp ; 55 5099 5076 mov bp, sp ; 89 e5 5100 5077 mov dx, strict word 0000eh ; ba 0e 00 5101 5078 mov ax, strict word 00040h ; b8 40 00 5102 call 0166ch ; e8 23 db5079 call 0166ch ; e8 63 db 5103 5080 mov dx, 00368h ; ba 68 03 5104 call 01650h ; e8 01 db5081 call 01650h ; e8 41 db 5105 5082 mov sp, bp ; 89 ec 5106 5083 pop bp ; 5d 5107 5084 retn ; c3 5108 _int13_eltorito: ; 0xf3b 53 LB 0x1905085 _int13_eltorito: ; 0xf3b13 LB 0x190 5109 5086 push bp ; 55 5110 5087 mov bp, sp ; 89 e5 … … 5113 5090 mov dx, strict word 0000eh ; ba 0e 00 5114 5091 mov ax, strict word 00040h ; b8 40 00 5115 call 0166ch ; e8 0b db5092 call 0166ch ; e8 4b db 5116 5093 mov si, 00366h ; be 66 03 5117 5094 mov di, ax ; 89 c7 … … 5119 5096 shr ax, 008h ; c1 e8 08 5120 5097 cmp ax, strict word 0004bh ; 3d 4b 00 5121 jc short 03b 7bh ; 72 0a5122 jbe short 03b a2h ; 76 2f5098 jc short 03b3bh ; 72 0a 5099 jbe short 03b62h ; 76 2f 5123 5100 cmp ax, strict word 0004dh ; 3d 4d 00 5124 jbe short 03b 80h ; 76 085125 jmp near 03c a7h ; e9 2c 015101 jbe short 03b40h ; 76 08 5102 jmp near 03c67h ; e9 2c 01 5126 5103 cmp ax, strict word 0004ah ; 3d 4a 00 5127 jne short 03b 9fh ; 75 1f5104 jne short 03b5fh ; 75 1f 5128 5105 mov bx, 00da0h ; bb a0 0d 5129 5106 mov cx, ds ; 8c d9 5130 5107 mov ax, strict word 00004h ; b8 04 00 5131 call 01923h ; e8 98 dd5108 call 01923h ; e8 d8 dd 5132 5109 push word [bp+016h] ; ff 76 16 5133 5110 push 002fch ; 68 fc 02 5134 5111 push 0030bh ; 68 0b 03 5135 5112 push strict byte 00004h ; 6a 04 5136 call 01966h ; e8 cd dd5113 call 01966h ; e8 0d de 5137 5114 add sp, strict byte 00008h ; 83 c4 08 5138 jmp near 03c c2h ; e9 23 015139 jmp near 03c a7h ; e9 05 015115 jmp near 03c82h ; e9 23 01 5116 jmp near 03c67h ; e9 05 01 5140 5117 mov dx, word [bp+00ah] ; 8b 56 0a 5141 5118 mov ax, word [bp+004h] ; 8b 46 04 5142 5119 mov bx, strict word 00013h ; bb 13 00 5143 call 0165eh ; e8 b0 da5120 call 0165eh ; e8 f0 da 5144 5121 mov es, di ; 8e c7 5145 5122 mov bl, byte [es:si+001h] ; 26 8a 5c 01 … … 5148 5125 inc dx ; 42 5149 5126 mov ax, word [bp+004h] ; 8b 46 04 5150 call 0165eh ; e8 9e da5127 call 0165eh ; e8 de da 5151 5128 mov es, di ; 8e c7 5152 5129 mov bl, byte [es:si+002h] ; 26 8a 5c 02 … … 5156 5133 inc dx ; 42 5157 5134 mov ax, word [bp+004h] ; 8b 46 04 5158 call 0165eh ; e8 8b da5135 call 0165eh ; e8 cb da 5159 5136 mov es, di ; 8e c7 5160 5137 mov bl, byte [es:si+003h] ; 26 8a 5c 03 … … 5163 5140 add dx, strict byte 00003h ; 83 c2 03 5164 5141 mov ax, word [bp+004h] ; 8b 46 04 5165 call 0165eh ; e8 77 da5142 call 0165eh ; e8 b7 da 5166 5143 mov es, di ; 8e c7 5167 5144 mov bx, word [es:si+008h] ; 26 8b 5c 08 … … 5170 5147 add dx, strict byte 00004h ; 83 c2 04 5171 5148 mov ax, word [bp+004h] ; 8b 46 04 5172 call 0169ah ; e8 9d da5149 call 0169ah ; e8 dd da 5173 5150 mov es, di ; 8e c7 5174 5151 mov bx, word [es:si+004h] ; 26 8b 5c 04 … … 5176 5153 add dx, strict byte 00008h ; 83 c2 08 5177 5154 mov ax, word [bp+004h] ; 8b 46 04 5178 call 0167ah ; e8 6b da5155 call 0167ah ; e8 ab da 5179 5156 mov es, di ; 8e c7 5180 5157 mov bx, word [es:si+006h] ; 26 8b 5c 06 … … 5182 5159 add dx, strict byte 0000ah ; 83 c2 0a 5183 5160 mov ax, word [bp+004h] ; 8b 46 04 5184 call 0167ah ; e8 59 da5161 call 0167ah ; e8 99 da 5185 5162 mov es, di ; 8e c7 5186 5163 mov bx, word [es:si+00ch] ; 26 8b 5c 0c … … 5188 5165 add dx, strict byte 0000ch ; 83 c2 0c 5189 5166 mov ax, word [bp+004h] ; 8b 46 04 5190 call 0167ah ; e8 47 da5167 call 0167ah ; e8 87 da 5191 5168 mov es, di ; 8e c7 5192 5169 mov bx, word [es:si+00eh] ; 26 8b 5c 0e … … 5194 5171 add dx, strict byte 0000eh ; 83 c2 0e 5195 5172 mov ax, word [bp+004h] ; 8b 46 04 5196 call 0167ah ; e8 35 da5173 call 0167ah ; e8 75 da 5197 5174 mov es, di ; 8e c7 5198 5175 mov bl, byte [es:si+012h] ; 26 8a 5c 12 … … 5201 5178 add dx, strict byte 00010h ; 83 c2 10 5202 5179 mov ax, word [bp+004h] ; 8b 46 04 5203 call 0165eh ; e8 05 da5180 call 0165eh ; e8 45 da 5204 5181 mov es, di ; 8e c7 5205 5182 mov bl, byte [es:si+014h] ; 26 8a 5c 14 … … 5208 5185 add dx, strict byte 00011h ; 83 c2 11 5209 5186 mov ax, word [bp+004h] ; 8b 46 04 5210 call 0165eh ; e8 f1 d95187 call 0165eh ; e8 31 da 5211 5188 mov es, di ; 8e c7 5212 5189 mov bl, byte [es:si+010h] ; 26 8a 5c 10 … … 5215 5192 add dx, strict byte 00012h ; 83 c2 12 5216 5193 mov ax, word [bp+004h] ; 8b 46 04 5217 call 0165eh ; e8 dd d95194 call 0165eh ; e8 1d da 5218 5195 test byte [bp+016h], 0ffh ; f6 46 16 ff 5219 jne short 03c 8dh ; 75 065196 jne short 03c4dh ; 75 06 5220 5197 mov es, di ; 8e c7 5221 5198 mov byte [es:si], 000h ; 26 c6 04 00 … … 5224 5201 mov dx, strict word 00074h ; ba 74 00 5225 5202 mov ax, strict word 00040h ; b8 40 00 5226 call 0165eh ; e8 c2 d95203 call 0165eh ; e8 02 da 5227 5204 and byte [bp+01ch], 0feh ; 80 66 1c fe 5228 5205 lea sp, [bp-004h] ; 8d 66 fc … … 5234 5211 mov cx, ds ; 8c d9 5235 5212 mov ax, strict word 00004h ; b8 04 00 5236 call 01923h ; e8 71 dc5213 call 01923h ; e8 b1 dc 5237 5214 mov ax, word [bp+016h] ; 8b 46 16 5238 5215 shr ax, 008h ; c1 e8 08 … … 5240 5217 push 002fch ; 68 fc 02 5241 5218 push 00333h ; 68 33 03 5242 jmp near 03b 94h ; e9 d2 fe5219 jmp near 03b54h ; e9 d2 fe 5243 5220 mov ax, word [bp+016h] ; 8b 46 16 5244 5221 xor ah, ah ; 30 e4 … … 5250 5227 mov dx, strict word 00074h ; ba 74 00 5251 5228 mov ax, strict word 00040h ; b8 40 00 5252 call 0165eh ; e8 81 d95229 call 0165eh ; e8 c1 d9 5253 5230 or byte [bp+01ch], 001h ; 80 4e 1c 01 5254 jmp short 03c a0h ; eb bd5255 device_is_cdrom_: ; 0xf3c e3 LB 0x355231 jmp short 03c60h ; eb bd 5232 device_is_cdrom_: ; 0xf3ca3 LB 0x35 5256 5233 push bp ; 55 5257 5234 mov bp, sp ; 89 e5 … … 5261 5238 mov dx, strict word 0000eh ; ba 0e 00 5262 5239 mov ax, strict word 00040h ; b8 40 00 5263 call 0166ch ; e8 79 d95240 call 0166ch ; e8 b9 d9 5264 5241 cmp bl, 010h ; 80 fb 10 5265 jc short 03c fch ; 72 045242 jc short 03cbch ; 72 04 5266 5243 xor ax, ax ; 31 c0 5267 jmp short 03 d11h ; eb 155244 jmp short 03cd1h ; eb 15 5268 5245 xor bh, bh ; 30 ff 5269 5246 imul bx, bx, strict byte 0001ch ; 6b db 1c … … 5271 5248 add bx, 00122h ; 81 c3 22 01 5272 5249 cmp byte [es:bx+023h], 005h ; 26 80 7f 23 05 5273 jne short 03c f8h ; 75 ea5250 jne short 03cb8h ; 75 ea 5274 5251 mov ax, strict word 00001h ; b8 01 00 5275 5252 lea sp, [bp-004h] ; 8d 66 fc … … 5278 5255 pop bp ; 5d 5279 5256 retn ; c3 5280 cdrom_boot_: ; 0xf3 d18 LB 0x4345257 cdrom_boot_: ; 0xf3cd8 LB 0x434 5281 5258 push bp ; 55 5282 5259 mov bp, sp ; 89 e5 … … 5289 5266 mov dx, strict word 0000eh ; ba 0e 00 5290 5267 mov ax, strict word 00040h ; b8 40 00 5291 call 0166ch ; e8 3f d95268 call 0166ch ; e8 7f d9 5292 5269 mov word [bp-01ah], ax ; 89 46 e6 5293 5270 mov si, 00366h ; be 66 03 … … 5296 5273 mov word [bp-012h], ax ; 89 46 ee 5297 5274 mov byte [bp-00ch], 000h ; c6 46 f4 00 5298 jmp short 03d 4dh ; eb 095275 jmp short 03d0dh ; eb 09 5299 5276 inc byte [bp-00ch] ; fe 46 f4 5300 5277 cmp byte [bp-00ch], 010h ; 80 7e f4 10 5301 jnc short 03d 59h ; 73 0c5278 jnc short 03d19h ; 73 0c 5302 5279 mov al, byte [bp-00ch] ; 8a 46 f4 5303 5280 xor ah, ah ; 30 e4 5304 call 03c e3h ; e8 8e ff5281 call 03ca3h ; e8 8e ff 5305 5282 test ax, ax ; 85 c0 5306 je short 03d 44h ; 74 eb5283 je short 03d04h ; 74 eb 5307 5284 cmp byte [bp-00ch], 010h ; 80 7e f4 10 5308 jc short 03d 65h ; 72 065285 jc short 03d25h ; 72 06 5309 5286 mov ax, strict word 00002h ; b8 02 00 5310 jmp near 040 e9h ; e9 84 035287 jmp near 040a9h ; e9 84 03 5311 5288 mov cx, strict word 0000ch ; b9 0c 00 5312 5289 xor bx, bx ; 31 db 5313 5290 mov dx, ss ; 8c d2 5314 5291 lea ax, [bp-026h] ; 8d 46 da 5315 call 0 a03ah ; e8 c8 625292 call 09fbah ; e8 88 62 5316 5293 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 5317 5294 mov ax, strict word 00011h ; b8 11 00 … … 5330 5307 mov word [es:bx+010h], 00800h ; 26 c7 47 10 00 08 5331 5308 mov byte [bp-00eh], 000h ; c6 46 f2 00 5332 jmp short 03d b0h ; eb 095309 jmp short 03d70h ; eb 09 5333 5310 inc byte [bp-00eh] ; fe 46 f2 5334 5311 cmp byte [bp-00eh], 004h ; 80 7e f2 04 5335 jnbe short 03d ech ; 77 3c5312 jnbe short 03dach ; 77 3c 5336 5313 mov al, byte [bp-00ch] ; 8a 46 f4 5337 5314 xor ah, ah ; 30 e4 … … 5357 5334 call word [word di+0006ah] ; ff 95 6a 00 5358 5335 test ax, ax ; 85 c0 5359 jne short 03d a7h ; 75 bb5336 jne short 03d67h ; 75 bb 5360 5337 test ax, ax ; 85 c0 5361 je short 03d f6h ; 74 065338 je short 03db6h ; 74 06 5362 5339 mov ax, strict word 00003h ; b8 03 00 5363 jmp near 040 e9h ; e9 f3 025340 jmp near 040a9h ; e9 f3 02 5364 5341 cmp byte [bp-00826h], 000h ; 80 be da f7 00 5365 je short 03 e03h ; 74 065342 je short 03dc3h ; 74 06 5366 5343 mov ax, strict word 00004h ; b8 04 00 5367 jmp near 040 e9h ; e9 e6 025344 jmp near 040a9h ; e9 e6 02 5368 5345 xor di, di ; 31 ff 5369 jmp short 03 e0dh ; eb 065346 jmp short 03dcdh ; eb 06 5370 5347 inc di ; 47 5371 5348 cmp di, strict byte 00005h ; 83 ff 05 5372 jnc short 03 e1dh ; 73 105349 jnc short 03dddh ; 73 10 5373 5350 mov al, byte [bp+di-00825h] ; 8a 83 db f7 5374 5351 cmp al, byte [di+00da8h] ; 3a 85 a8 0d 5375 je short 03 e07h ; 74 f05352 je short 03dc7h ; 74 f0 5376 5353 mov ax, strict word 00005h ; b8 05 00 5377 jmp near 040 e9h ; e9 cc 025354 jmp near 040a9h ; e9 cc 02 5378 5355 xor di, di ; 31 ff 5379 jmp short 03 e27h ; eb 065356 jmp short 03de7h ; eb 06 5380 5357 inc di ; 47 5381 5358 cmp di, strict byte 00017h ; 83 ff 17 5382 jnc short 03 e37h ; 73 105359 jnc short 03df7h ; 73 10 5383 5360 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 5384 5361 cmp al, byte [di+00daeh] ; 3a 85 ae 0d 5385 je short 03 e21h ; 74 f05362 je short 03de1h ; 74 f0 5386 5363 mov ax, strict word 00006h ; b8 06 00 5387 jmp near 040 e9h ; e9 b2 025364 jmp near 040a9h ; e9 b2 02 5388 5365 mov ax, word [bp-007dfh] ; 8b 86 21 f8 5389 5366 mov dx, word [bp-007ddh] ; 8b 96 23 f8 … … 5420 5397 call word [word di+0006ah] ; ff 95 6a 00 5421 5398 test ax, ax ; 85 c0 5422 je short 03e 99h ; 74 065399 je short 03e59h ; 74 06 5423 5400 mov ax, strict word 00007h ; b8 07 00 5424 jmp near 040 e9h ; e9 50 025401 jmp near 040a9h ; e9 50 02 5425 5402 cmp byte [bp-00826h], 001h ; 80 be da f7 01 5426 je short 03e a6h ; 74 065403 je short 03e66h ; 74 06 5427 5404 mov ax, strict word 00008h ; b8 08 00 5428 jmp near 040 e9h ; e9 43 025405 jmp near 040a9h ; e9 43 02 5429 5406 cmp byte [bp-00825h], 000h ; 80 be db f7 00 5430 je short 03e b3h ; 74 065407 je short 03e73h ; 74 06 5431 5408 mov ax, strict word 00009h ; b8 09 00 5432 jmp near 040 e9h ; e9 36 025409 jmp near 040a9h ; e9 36 02 5433 5410 cmp byte [bp-00808h], 055h ; 80 be f8 f7 55 5434 je short 03e c0h ; 74 065411 je short 03e80h ; 74 06 5435 5412 mov ax, strict word 0000ah ; b8 0a 00 5436 jmp near 040 e9h ; e9 29 025413 jmp near 040a9h ; e9 29 02 5437 5414 cmp byte [bp-00807h], 0aah ; 80 be f9 f7 aa 5438 jne short 03e bah ; 75 f35415 jne short 03e7ah ; 75 f3 5439 5416 cmp byte [bp-00806h], 088h ; 80 be fa f7 88 5440 je short 03e d4h ; 74 065417 je short 03e94h ; 74 06 5441 5418 mov ax, strict word 0000bh ; b8 0b 00 5442 jmp near 040 e9h ; e9 15 025419 jmp near 040a9h ; e9 15 02 5443 5420 mov al, byte [bp-00805h] ; 8a 86 fb f7 5444 5421 mov es, [bp-016h] ; 8e 46 ea 5445 5422 mov byte [es:si+001h], al ; 26 88 44 01 5446 5423 cmp byte [bp-00805h], 000h ; 80 be fb f7 00 5447 jne short 03e edh ; 75 075424 jne short 03eadh ; 75 07 5448 5425 mov byte [es:si+002h], 0e0h ; 26 c6 44 02 e0 5449 jmp short 03 f00h ; eb 135426 jmp short 03ec0h ; eb 13 5450 5427 cmp byte [bp-00805h], 004h ; 80 be fb f7 04 5451 jnc short 03e fbh ; 73 075428 jnc short 03ebbh ; 73 07 5452 5429 mov byte [es:si+002h], 000h ; 26 c6 44 02 00 5453 jmp short 03 f00h ; eb 055430 jmp short 03ec0h ; eb 05 5454 5431 mov byte [es:si+002h], 080h ; 26 c6 44 02 80 5455 5432 mov bl, byte [bp-00ch] ; 8a 5e f4 … … 5470 5447 mov word [bp-010h], ax ; 89 46 f0 5471 5448 test ax, ax ; 85 c0 5472 jne short 03 f2fh ; 75 055449 jne short 03eefh ; 75 05 5473 5450 mov word [bp-010h], 007c0h ; c7 46 f0 c0 07 5474 5451 mov ax, word [bp-010h] ; 8b 46 f0 … … 5479 5456 mov word [es:si+00eh], di ; 26 89 7c 0e 5480 5457 test di, di ; 85 ff 5481 je short 03f 51h ; 74 065458 je short 03f11h ; 74 06 5482 5459 cmp di, 00400h ; 81 ff 00 04 5483 jbe short 03f 57h ; 76 065460 jbe short 03f17h ; 76 06 5484 5461 mov ax, strict word 0000ch ; b8 0c 00 5485 jmp near 040 e9h ; e9 92 015462 jmp near 040a9h ; e9 92 01 5486 5463 mov ax, word [bp-007feh] ; 8b 86 02 f8 5487 5464 mov dx, word [bp-007fch] ; 8b 96 04 f8 … … 5527 5504 sal ax, 1 ; d1 e0 5528 5505 rcl di, 1 ; d1 d7 5529 loop 03f cbh ; e2 fa5506 loop 03f8bh ; e2 fa 5530 5507 push di ; 57 5531 5508 push ax ; 50 … … 5542 5519 mov word [es:bx+020h], strict word 00000h ; 26 c7 47 20 00 00 5543 5520 test ax, ax ; 85 c0 5544 je short 03f ffh ; 74 065521 je short 03fbfh ; 74 06 5545 5522 mov ax, strict word 0000dh ; b8 0d 00 5546 jmp near 040 e9h ; e9 ea 005523 jmp near 040a9h ; e9 ea 00 5547 5524 mov es, [bp-016h] ; 8e 46 ea 5548 5525 mov al, byte [es:si+001h] ; 26 8a 44 01 5549 5526 cmp AL, strict byte 002h ; 3c 02 5550 jc short 0 4017h ; 72 0d5551 jbe short 0 4032h ; 76 265527 jc short 03fd7h ; 72 0d 5528 jbe short 03ff2h ; 76 26 5552 5529 cmp AL, strict byte 004h ; 3c 04 5553 je short 040 42h ; 74 325530 je short 04002h ; 74 32 5554 5531 cmp AL, strict byte 003h ; 3c 03 5555 je short 0 403ah ; 74 265556 jmp near 040 8eh ; e9 77 005532 je short 03ffah ; 74 26 5533 jmp near 0404eh ; e9 77 00 5557 5534 cmp AL, strict byte 001h ; 3c 01 5558 jne short 040 8eh ; 75 735535 jne short 0404eh ; 75 73 5559 5536 mov es, [bp-016h] ; 8e 46 ea 5560 5537 mov word [es:si+014h], strict word 0000fh ; 26 c7 44 14 0f 00 5561 5538 mov word [es:si+012h], strict word 00050h ; 26 c7 44 12 50 00 5562 5539 mov word [es:si+010h], strict word 00002h ; 26 c7 44 10 02 00 5563 jmp short 040 8eh ; eb 5c5540 jmp short 0404eh ; eb 5c 5564 5541 mov word [es:si+014h], strict word 00012h ; 26 c7 44 14 12 00 5565 jmp short 0 4024h ; eb ea5542 jmp short 03fe4h ; eb ea 5566 5543 mov word [es:si+014h], strict word 00024h ; 26 c7 44 14 24 00 5567 jmp short 0 4024h ; eb e25544 jmp short 03fe4h ; eb e2 5568 5545 mov dx, 001c4h ; ba c4 01 5569 5546 mov ax, word [bp-010h] ; 8b 46 f0 5570 call 01650h ; e8 05 d65547 call 01650h ; e8 45 d6 5571 5548 and AL, strict byte 03fh ; 24 3f 5572 5549 xor ah, ah ; 30 e4 … … 5575 5552 mov dx, 001c4h ; ba c4 01 5576 5553 mov ax, word [bp-010h] ; 8b 46 f0 5577 call 01650h ; e8 f1 d55554 call 01650h ; e8 31 d6 5578 5555 xor ah, ah ; 30 e4 5579 5556 mov bx, ax ; 89 c3 … … 5581 5558 mov dx, 001c5h ; ba c5 01 5582 5559 mov ax, word [bp-010h] ; 8b 46 f0 5583 call 01650h ; e8 e1 d55560 call 01650h ; e8 21 d6 5584 5561 xor ah, ah ; 30 e4 5585 5562 add ax, bx ; 01 d8 … … 5589 5566 mov dx, 001c3h ; ba c3 01 5590 5567 mov ax, word [bp-010h] ; 8b 46 f0 5591 call 01650h ; e8 cc d55568 call 01650h ; e8 0c d6 5592 5569 xor ah, ah ; 30 e4 5593 5570 inc ax ; 40 … … 5596 5573 mov es, [bp-016h] ; 8e 46 ea 5597 5574 cmp byte [es:si+001h], 000h ; 26 80 7c 01 00 5598 je short 040 cfh ; 74 375575 je short 0408fh ; 74 37 5599 5576 cmp byte [es:si+002h], 000h ; 26 80 7c 02 00 5600 jne short 040 b7h ; 75 185577 jne short 04077h ; 75 18 5601 5578 mov dx, strict word 00010h ; ba 10 00 5602 5579 mov ax, strict word 00040h ; b8 40 00 5603 call 01650h ; e8 a8 d55580 call 01650h ; e8 e8 d5 5604 5581 mov bl, al ; 88 c3 5605 5582 or bl, 041h ; 80 cb 41 … … 5607 5584 mov dx, strict word 00010h ; ba 10 00 5608 5585 mov ax, strict word 00040h ; b8 40 00 5609 jmp short 040 cch ; eb 155586 jmp short 0408ch ; eb 15 5610 5587 mov dx, 00304h ; ba 04 03 5611 5588 mov ax, word [bp-01ah] ; 8b 46 e6 5612 call 01650h ; e8 90 d55589 call 01650h ; e8 d0 d5 5613 5590 mov bl, al ; 88 c3 5614 5591 db 0feh, 0c3h … … 5617 5594 mov dx, 00304h ; ba 04 03 5618 5595 mov ax, word [bp-01ah] ; 8b 46 e6 5619 call 0165eh ; e8 8f d55596 call 0165eh ; e8 cf d5 5620 5597 mov es, [bp-016h] ; 8e 46 ea 5621 5598 cmp byte [es:si+001h], 000h ; 26 80 7c 01 00 5622 je short 040 ddh ; 74 045599 je short 0409dh ; 74 04 5623 5600 mov byte [es:si], 001h ; 26 c6 04 01 5624 5601 mov es, [bp-016h] ; 8e 46 ea … … 5635 5612 retn ; c3 5636 5613 db 050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h 5637 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 0 f2h, 044h, 0f1h5638 db 041h, 0 24h, 042h, 04eh, 042h, 019h, 042h, 04eh, 042h, 019h, 042h, 040h, 044h, 026h, 044h, 0f2h5639 db 044h, 0 f2h, 044h, 026h, 044h, 026h, 044h, 026h, 044h, 026h, 044h, 026h, 044h, 0e9h, 044h, 026h5640 db 04 4h, 0f2h, 044h, 0f2h, 044h, 0f2h, 044h, 0f2h, 044h, 0f2h, 044h, 0f2h, 044h, 0f2h, 044h, 0f2h5641 db 044h, 0 f2h, 044h, 0f2h, 044h, 0f2h, 044h, 0f2h, 044h5642 _int13_cdemu: ; 0xf41 4c LB 0x4425614 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 0b2h, 044h, 0b1h 5615 db 041h, 0e4h, 041h, 00eh, 042h, 0d9h, 041h, 00eh, 042h, 0d9h, 041h, 000h, 044h, 0e6h, 043h, 0b2h 5616 db 044h, 0b2h, 044h, 0e6h, 043h, 0e6h, 043h, 0e6h, 043h, 0e6h, 043h, 0e6h, 043h, 0a9h, 044h, 0e6h 5617 db 043h, 0b2h, 044h, 0b2h, 044h, 0b2h, 044h, 0b2h, 044h, 0b2h, 044h, 0b2h, 044h, 0b2h, 044h, 0b2h 5618 db 044h, 0b2h, 044h, 0b2h, 044h, 0b2h, 044h, 0b2h, 044h 5619 _int13_cdemu: ; 0xf410c LB 0x442 5643 5620 push bp ; 55 5644 5621 mov bp, sp ; 89 e5 … … 5648 5625 mov dx, strict word 0000eh ; ba 0e 00 5649 5626 mov ax, strict word 00040h ; b8 40 00 5650 call 0166ch ; e8 0f d55627 call 0166ch ; e8 4f d5 5651 5628 mov di, 00366h ; bf 66 03 5652 5629 mov cx, ax ; 89 c1 … … 5664 5641 mov dx, strict word 00074h ; ba 74 00 5665 5642 mov ax, strict word 00040h ; b8 40 00 5666 call 0165eh ; e8 d2 d45643 call 0165eh ; e8 12 d5 5667 5644 mov es, cx ; 8e c1 5668 5645 cmp byte [es:di], 000h ; 26 80 3d 00 5669 je short 041 a3h ; 74 0f5646 je short 04163h ; 74 0f 5670 5647 mov al, byte [es:di+002h] ; 26 8a 45 02 5671 5648 xor ah, ah ; 30 e4 … … 5673 5650 xor dh, dh ; 30 f6 5674 5651 cmp ax, dx ; 39 d0 5675 je short 041 cch ; 74 295652 je short 0418ch ; 74 29 5676 5653 mov bx, 00da0h ; bb a0 0d 5677 5654 mov cx, ds ; 8c d9 5678 5655 mov ax, strict word 00004h ; b8 04 00 5679 call 01923h ; e8 75 d75656 call 01923h ; e8 b5 d7 5680 5657 mov ax, word [bp+012h] ; 8b 46 12 5681 5658 xor ah, ah ; 30 e4 … … 5687 5664 push 00358h ; 68 58 03 5688 5665 push strict byte 00004h ; 6a 04 5689 call 01966h ; e8 a0 d75666 call 01966h ; e8 e0 d7 5690 5667 add sp, strict byte 0000ah ; 83 c4 0a 5691 jmp near 04 512h ; e9 46 035668 jmp near 044d2h ; e9 46 03 5692 5669 mov ax, word [bp+016h] ; 8b 46 16 5693 5670 shr ax, 008h ; c1 e8 08 5694 5671 cmp ax, strict word 00050h ; 3d 50 00 5695 jnbe short 042 4bh ; 77 745672 jnbe short 0420bh ; 77 74 5696 5673 push CS ; 0e 5697 5674 pop ES ; 07 5698 5675 mov cx, strict word 0001eh ; b9 1e 00 5699 mov di, 040 f3h ; bf f3 405676 mov di, 040b3h ; bf b3 40 5700 5677 repne scasb ; f2 ae 5701 5678 sal cx, 1 ; d1 e1 5702 5679 mov di, cx ; 89 cf 5703 mov ax, word [cs:di+04 110h] ; 2e 8b 85 10 415680 mov ax, word [cs:di+040d0h] ; 2e 8b 85 d0 40 5704 5681 mov bx, word [bp+016h] ; 8b 5e 16 5705 5682 xor bh, bh ; 30 ff … … 5714 5691 add bx, bx ; 01 db 5715 5692 cmp word [word bx+0006ah], strict byte 00000h ; 83 bf 6a 00 00 5716 je short 04 216h ; 74 095693 je short 041d6h ; 74 09 5717 5694 mov al, byte [bp-006h] ; 8a 46 fa 5718 5695 xor ah, ah ; 30 e4 5719 5696 call word [word bx+00076h] ; ff 97 76 00 5720 jmp near 04 426h ; e9 0d 025697 jmp near 043e6h ; e9 0d 02 5721 5698 mov ax, word [bp+016h] ; 8b 46 16 5722 5699 xor ah, ah ; 30 e4 5723 5700 or ah, 003h ; 80 cc 03 5724 jmp near 04 51ah ; e9 f6 025701 jmp near 044dah ; e9 f6 02 5725 5702 mov dx, strict word 00074h ; ba 74 00 5726 5703 mov ax, strict word 00040h ; b8 40 00 5727 call 01650h ; e8 23 d45704 call 01650h ; e8 63 d4 5728 5705 mov cl, al ; 88 c1 5729 5706 xor ah, ah ; 30 e4 … … 5734 5711 mov dx, strict word 00074h ; ba 74 00 5735 5712 mov ax, strict word 00040h ; b8 40 00 5736 call 0165eh ; e8 1a d45713 call 0165eh ; e8 5a d4 5737 5714 test cl, cl ; 84 c9 5738 je short 042 a8h ; 74 605739 jmp near 04 52eh ; e9 e3 025740 jmp near 044 f2h ; e9 a4 025715 je short 04268h ; 74 60 5716 jmp near 044eeh ; e9 e3 02 5717 jmp near 044b2h ; e9 a4 02 5741 5718 mov es, [bp-008h] ; 8e 46 f8 5742 5719 mov di, word [es:si+014h] ; 26 8b 7c 14 … … 5762 5739 mov word [bp-00ah], cx ; 89 4e f6 5763 5740 test cx, cx ; 85 c9 5764 je short 042 b6h ; 74 1e5741 je short 04276h ; 74 1e 5765 5742 cmp di, word [bp-010h] ; 3b 7e f0 5766 jc short 042 a5h ; 72 085743 jc short 04265h ; 72 08 5767 5744 cmp ax, dx ; 39 d0 5768 jnc short 042 a5h ; 73 045745 jnc short 04265h ; 73 04 5769 5746 cmp si, bx ; 39 de 5770 jc short 042 abh ; 72 065771 jmp near 04 512h ; e9 6a 025772 jmp near 04 42ah ; e9 7f 015747 jc short 0426bh ; 72 06 5748 jmp near 044d2h ; e9 6a 02 5749 jmp near 043eah ; e9 7f 01 5773 5750 mov dx, word [bp+016h] ; 8b 56 16 5774 5751 shr dx, 008h ; c1 ea 08 5775 5752 cmp dx, strict byte 00004h ; 83 fa 04 5776 jne short 042 b9h ; 75 035777 jmp near 04 426h ; e9 6d 015753 jne short 04279h ; 75 03 5754 jmp near 043e6h ; e9 6d 01 5778 5755 mov dx, word [bp+010h] ; 8b 56 10 5779 5756 shr dx, 004h ; c1 ea 04 … … 5786 5763 xor dl, dl ; 30 d2 5787 5764 xor cx, cx ; 31 c9 5788 call 09f e9h ; e8 12 5d5765 call 09f69h ; e8 d2 5c 5789 5766 xor bx, bx ; 31 db 5790 5767 add ax, si ; 01 f0 … … 5792 5769 mov bx, di ; 89 fb 5793 5770 xor cx, cx ; 31 c9 5794 call 09f e9h ; e8 05 5d5771 call 09f69h ; e8 c5 5c 5795 5772 mov bx, ax ; 89 c3 5796 5773 mov ax, word [bp-010h] ; 8b 46 f0 … … 5827 5804 mov dx, ss ; 8c d2 5828 5805 lea ax, [bp-02eh] ; 8d 46 d2 5829 call 0 a03ah ; e8 ff 5c5806 call 09fbah ; e8 bf 5c 5830 5807 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 5831 5808 mov ax, word [bp-014h] ; 8b 46 ec … … 5877 5854 sal si, 1 ; d1 e6 5878 5855 rcl di, 1 ; d1 d7 5879 loop 043 bdh ; e2 fa5856 loop 0437dh ; e2 fa 5880 5857 push di ; 57 5881 5858 push si ; 56 … … 5893 5870 mov word [es:bx+020h], strict word 00000h ; 26 c7 47 20 00 00 5894 5871 test al, al ; 84 c0 5895 je short 04 426h ; 74 375872 je short 043e6h ; 74 37 5896 5873 mov bx, 00da0h ; bb a0 0d 5897 5874 mov cx, ds ; 8c d9 5898 5875 mov ax, strict word 00004h ; b8 04 00 5899 call 01923h ; e8 29 d55876 call 01923h ; e8 69 d5 5900 5877 mov al, dl ; 88 d0 5901 5878 xor ah, ah ; 30 e4 … … 5907 5884 push 0038eh ; 68 8e 03 5908 5885 push strict byte 00004h ; 6a 04 5909 call 01966h ; e8 55 d55886 call 01966h ; e8 95 d5 5910 5887 add sp, strict byte 0000ah ; 83 c4 0a 5911 5888 mov ax, word [bp+016h] ; 8b 46 16 … … 5914 5891 mov word [bp+016h], ax ; 89 46 16 5915 5892 mov byte [bp+016h], 000h ; c6 46 16 00 5916 jmp near 04 51dh ; e9 f7 005893 jmp near 044ddh ; e9 f7 00 5917 5894 mov byte [bp+017h], 000h ; c6 46 17 00 5918 5895 xor bx, bx ; 31 db 5919 5896 mov dx, strict word 00074h ; ba 74 00 5920 5897 mov ax, strict word 00040h ; b8 40 00 5921 call 0165eh ; e8 29 d25898 call 0165eh ; e8 69 d2 5922 5899 and byte [bp+01ch], 0feh ; 80 66 1c fe 5923 5900 lea sp, [bp-004h] ; 8d 66 fc … … 5967 5944 mov word [bp+010h], ax ; 89 46 10 5968 5945 cmp dl, 003h ; 80 fa 03 5969 je short 044 cch ; 74 1a5946 je short 0448ch ; 74 1a 5970 5947 cmp dl, 002h ; 80 fa 02 5971 je short 044 c8h ; 74 115948 je short 04488h ; 74 11 5972 5949 cmp dl, 001h ; 80 fa 01 5973 jne short 044 d0h ; 75 145950 jne short 04490h ; 75 14 5974 5951 mov ax, word [bp+010h] ; 8b 46 10 5975 5952 xor al, al ; 30 c0 5976 5953 or AL, strict byte 002h ; 0c 02 5977 5954 mov word [bp+010h], ax ; 89 46 10 5978 jmp short 044 d0h ; eb 085955 jmp short 04490h ; eb 08 5979 5956 or AL, strict byte 004h ; 0c 04 5980 jmp short 044 c3h ; eb f75957 jmp short 04483h ; eb f7 5981 5958 or AL, strict byte 005h ; 0c 05 5982 jmp short 044 c3h ; eb f35959 jmp short 04483h ; eb f3 5983 5960 mov es, [bp-008h] ; 8e 46 f8 5984 5961 cmp byte [es:si+001h], 004h ; 26 80 7c 01 04 5985 jc short 044 ddh ; 72 035986 jmp near 04 426h ; e9 49 ff5962 jc short 0449dh ; 72 03 5963 jmp near 043e6h ; e9 49 ff 5987 5964 mov word [bp+008h], 0efc7h ; c7 46 08 c7 ef 5988 5965 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 5989 jmp short 044 dah ; eb f15966 jmp short 0449ah ; eb f1 5990 5967 or bh, 003h ; 80 cf 03 5991 5968 mov word [bp+016h], bx ; 89 5e 16 5992 jmp near 04 42ah ; e9 38 ff5969 jmp near 043eah ; e9 38 ff 5993 5970 mov bx, 00da0h ; bb a0 0d 5994 5971 mov cx, ds ; 8c d9 5995 5972 mov ax, strict word 00004h ; b8 04 00 5996 call 01923h ; e8 26 d45973 call 01923h ; e8 66 d4 5997 5974 mov ax, word [bp+016h] ; 8b 46 16 5998 5975 shr ax, 008h ; c1 e8 08 … … 6001 5978 push 003afh ; 68 af 03 6002 5979 push strict byte 00004h ; 6a 04 6003 call 01966h ; e8 57 d45980 call 01966h ; e8 97 d4 6004 5981 add sp, strict byte 00008h ; 83 c4 08 6005 5982 mov ax, word [bp+016h] ; 8b 46 16 … … 6012 5989 mov dx, strict word 00074h ; ba 74 00 6013 5990 mov ax, strict word 00040h ; b8 40 00 6014 call 0165eh ; e8 30 d15991 call 0165eh ; e8 70 d1 6015 5992 or byte [bp+01ch], 001h ; 80 4e 1c 01 6016 jmp near 04 439h ; e9 04 ff5993 jmp near 043f9h ; e9 04 ff 6017 5994 db 050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h 6018 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 0 7ch, 046h, 0cch6019 db 04ah, 0 39h, 046h, 07ch, 046h, 02eh, 046h, 07ch, 046h, 02eh, 046h, 07ch, 046h, 0cch, 04ah, 07ch6020 db 046h, 0 7ch, 046h, 0cch, 04ah, 0cch, 04ah, 0cch, 04ah, 0cch, 04ah, 0cch, 04ah, 060h, 046h, 0cch6021 db 04ah, 0 7ch, 046h, 069h, 046h, 098h, 046h, 02eh, 046h, 098h, 046h, 0d8h, 047h, 073h, 048h, 098h6022 db 046h, 0 9bh, 048h, 0e6h, 04ah, 0eeh, 04ah, 07ch, 046h6023 _int13_cdrom: ; 0xf45 8e LB 0x5985995 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 03ch, 046h, 071h 5996 db 04ah, 0f9h, 045h, 03ch, 046h, 0eeh, 045h, 03ch, 046h, 0eeh, 045h, 03ch, 046h, 071h, 04ah, 03ch 5997 db 046h, 03ch, 046h, 071h, 04ah, 071h, 04ah, 071h, 04ah, 071h, 04ah, 071h, 04ah, 020h, 046h, 071h 5998 db 04ah, 03ch, 046h, 029h, 046h, 058h, 046h, 0eeh, 045h, 058h, 046h, 09ah, 047h, 035h, 048h, 058h 5999 db 046h, 05dh, 048h, 08bh, 04ah, 093h, 04ah, 03ch, 046h 6000 _int13_cdrom: ; 0xf454e LB 0x57d 6024 6001 push bp ; 55 6025 6002 mov bp, sp ; 89 e5 6026 6003 push si ; 56 6027 6004 push di ; 57 6028 sub sp, strict byte 0002 ah ; 83 ec 2a6005 sub sp, strict byte 0002ch ; 83 ec 2c 6029 6006 mov dx, strict word 0000eh ; ba 0e 00 6030 6007 mov ax, strict word 00040h ; b8 40 00 6031 call 0166ch ; e8 cd d06032 mov word [bp-01 ah], ax ; 89 46 e66008 call 0166ch ; e8 0d d1 6009 mov word [bp-016h], ax ; 89 46 ea 6033 6010 mov si, 00122h ; be 22 01 6034 mov word [bp-0 0ch], ax ; 89 46 f46011 mov word [bp-01eh], ax ; 89 46 e2 6035 6012 xor bx, bx ; 31 db 6036 6013 mov dx, strict word 00074h ; ba 74 00 6037 6014 mov ax, strict word 00040h ; b8 40 00 6038 call 0165eh ; e8 ab d06015 call 0165eh ; e8 eb d0 6039 6016 mov ax, word [bp+010h] ; 8b 46 10 6040 6017 xor ah, ah ; 30 e4 6041 6018 cmp ax, 000e0h ; 3d e0 00 6042 jc short 045 c2h ; 72 056019 jc short 04582h ; 72 05 6043 6020 cmp ax, 000f0h ; 3d f0 00 6044 jc short 045 e0h ; 72 1e6021 jc short 045a0h ; 72 1e 6045 6022 mov ax, word [bp+010h] ; 8b 46 10 6046 6023 xor ah, ah ; 30 e4 … … 6052 6029 push 003ebh ; 68 eb 03 6053 6030 push strict byte 00004h ; 6a 04 6054 call 01966h ; e8 8c d36031 call 01966h ; e8 cc d3 6055 6032 add sp, strict byte 0000ah ; 83 c4 0a 6056 jmp near 04 b04h ; e9 24056033 jmp near 04aa9h ; e9 09 05 6057 6034 mov ax, word [bp+010h] ; 8b 46 10 6058 6035 xor ah, ah ; 30 e4 6059 mov es, [bp-0 0ch] ; 8e 46 f46036 mov es, [bp-01eh] ; 8e 46 e2 6060 6037 mov bx, si ; 89 f3 6061 6038 add bx, ax ; 01 c3 6062 6039 mov dl, byte [es:bx+00114h] ; 26 8a 97 14 01 6063 mov byte [bp-00 8h], dl ; 88 56 f86040 mov byte [bp-006h], dl ; 88 56 fa 6064 6041 cmp dl, 010h ; 80 fa 10 6065 jc short 04 609h ; 72 106042 jc short 045c9h ; 72 10 6066 6043 push ax ; 50 6067 6044 mov ax, word [bp+018h] ; 8b 46 18 … … 6070 6047 push 003dfh ; 68 df 03 6071 6048 push 00416h ; 68 16 04 6072 jmp short 045 d5h ; eb cc6049 jmp short 04595h ; eb cc 6073 6050 mov ax, word [bp+018h] ; 8b 46 18 6074 6051 shr ax, 008h ; c1 e8 08 6075 6052 cmp ax, strict word 00050h ; 3d 50 00 6076 jnbe short 046 7ch ; 77 686053 jnbe short 0463ch ; 77 68 6077 6054 push CS ; 0e 6078 6055 pop ES ; 07 6079 6056 mov cx, strict word 0001eh ; b9 1e 00 6080 mov di, 04 535h ; bf 35 456057 mov di, 044f5h ; bf f5 44 6081 6058 repne scasb ; f2 ae 6082 6059 sal cx, 1 ; d1 e1 6083 6060 mov di, cx ; 89 cf 6084 mov ax, word [cs:di+045 52h] ; 2e 8b 85 52 456061 mov ax, word [cs:di+04512h] ; 2e 8b 85 12 45 6085 6062 mov bx, word [bp+018h] ; 8b 5e 18 6086 6063 xor bh, bh ; 30 ff … … 6089 6066 xor ah, ah ; 30 e4 6090 6067 or ah, 003h ; 80 cc 03 6091 jmp near 04 b0ch ; e9 d3046068 jmp near 04ab1h ; e9 b8 04 6092 6069 mov dx, strict word 00074h ; ba 74 00 6093 6070 mov ax, strict word 00040h ; b8 40 00 6094 call 01650h ; e8 0e d06071 call 01650h ; e8 4e d0 6095 6072 mov cl, al ; 88 c1 6096 6073 xor ah, ah ; 30 e4 … … 6101 6078 mov dx, strict word 00074h ; ba 74 00 6102 6079 mov ax, strict word 00040h ; b8 40 00 6103 call 0165eh ; e8 05 d06080 call 0165eh ; e8 45 d0 6104 6081 test cl, cl ; 84 c9 6105 je short 046 79h ; 74 1c6106 jmp near 04 b20h ; e9 c0046082 je short 04639h ; 74 1c 6083 jmp near 04ac5h ; e9 a5 04 6107 6084 or bh, 002h ; 80 cf 02 6108 6085 mov word [bp+018h], bx ; 89 5e 18 6109 jmp near 04 b0fh ; e9 a6046086 jmp near 04ab4h ; e9 8b 04 6110 6087 mov word [bp+012h], 0aa55h ; c7 46 12 55 aa 6111 6088 or bh, 030h ; 80 cf 30 6112 6089 mov word [bp+018h], bx ; 89 5e 18 6113 6090 mov word [bp+016h], strict word 00007h ; c7 46 16 07 00 6114 jmp near 04a d0h ; e9 54046091 jmp near 04a75h ; e9 39 04 6115 6092 mov bx, 00da0h ; bb a0 0d 6116 6093 mov cx, ds ; 8c d9 6117 6094 mov ax, strict word 00004h ; b8 04 00 6118 call 01923h ; e8 9c d26095 call 01923h ; e8 dc d2 6119 6096 mov ax, word [bp+018h] ; 8b 46 18 6120 6097 shr ax, 008h ; c1 e8 08 … … 6123 6100 push 00333h ; 68 33 03 6124 6101 push strict byte 00004h ; 6a 04 6125 jmp short 046 d7h ; eb 3f6102 jmp short 04698h ; eb 40 6126 6103 mov bx, word [bp+00ch] ; 8b 5e 0c 6127 6104 mov es, [bp+006h] ; 8e 46 06 6128 mov word [bp-018h], bx ; 89 5e e8 6129 mov [bp-012h], es ; 8c 46 ee 6130 mov ax, word [es:bx+002h] ; 26 8b 47 02 6131 mov word [bp-010h], ax ; 89 46 f0 6105 mov word [bp-014h], bx ; 89 5e ec 6106 mov [bp-010h], es ; 8c 46 f0 6107 mov di, word [es:bx+002h] ; 26 8b 7f 02 6132 6108 mov ax, word [es:bx+006h] ; 26 8b 47 06 6109 mov word [bp-01ah], ax ; 89 46 e6 6110 mov ax, word [es:bx+004h] ; 26 8b 47 04 6111 mov word [bp-01ch], ax ; 89 46 e4 6112 mov ax, word [es:bx+00ch] ; 26 8b 47 0c 6113 mov word [bp-00eh], ax ; 89 46 f2 6114 mov ax, word [es:bx+00eh] ; 26 8b 47 0e 6133 6115 mov word [bp-022h], ax ; 89 46 de 6134 mov ax, word [es:bx+004h] ; 26 8b 47 04 6135 mov word [bp-01eh], ax ; 89 46 e2 6136 mov ax, word [es:bx+00ch] ; 26 8b 47 0c 6137 mov word [bp-016h], ax ; 89 46 ea 6138 mov di, word [es:bx+00eh] ; 26 8b 7f 0e 6139 or di, ax ; 09 c7 6140 je short 046e0h ; 74 18 6116 or ax, word [bp-00eh] ; 0b 46 f2 6117 je short 046a1h ; 74 18 6141 6118 mov ax, word [bp+018h] ; 8b 46 18 6142 6119 shr ax, 008h ; c1 e8 08 … … 6145 6122 push 00448h ; 68 48 04 6146 6123 push strict byte 00007h ; 6a 07 6147 call 01966h ; e8 8cd26124 call 01966h ; e8 cb d2 6148 6125 add sp, strict byte 00008h ; 83 c4 08 6149 jmp near 04 b04h ; e9 24046150 mov es, [bp-01 2h] ; 8e 46 ee6151 mov bx, word [bp-01 8h] ; 8b 5e e86126 jmp near 04aa9h ; e9 08 04 6127 mov es, [bp-010h] ; 8e 46 f0 6128 mov bx, word [bp-014h] ; 8b 5e ec 6152 6129 mov ax, word [es:bx+008h] ; 26 8b 47 08 6153 mov word [bp-0 16h], ax ; 89 46 ea6154 mov di, bx ; 89 df6155 mov di, word [es:di+00ah] ; 26 8b 7d 0a6130 mov word [bp-00eh], ax ; 89 46 f2 6131 mov ax, word [es:bx+00ah] ; 26 8b 47 0a 6132 mov word [bp-022h], ax ; 89 46 de 6156 6133 mov ax, word [bp+018h] ; 8b 46 18 6157 6134 shr ax, 008h ; c1 e8 08 6158 mov word [bp-01 4h], ax ; 89 46 ec6135 mov word [bp-012h], ax ; 89 46 ee 6159 6136 cmp ax, strict word 00044h ; 3d 44 00 6160 je short 04 706h ; 74 056137 je short 046c8h ; 74 05 6161 6138 cmp ax, strict word 00047h ; 3d 47 00 6162 jne short 04 709h ; 75 036163 jmp near 04a cch ; e9 c3036139 jne short 046cbh ; 75 03 6140 jmp near 04a71h ; e9 a6 03 6164 6141 mov cx, strict word 0000ch ; b9 0c 00 6165 6142 xor bx, bx ; 31 db 6166 6143 mov dx, ss ; 8c d2 6167 lea ax, [bp-0 2eh] ; 8d 46 d26168 call 0 a03ah ; e8 24 596169 mov word [bp-0 2eh], strict word 00028h ; c7 46 d228 006170 mov ax, word [bp-0 16h] ; 8b 46 ea6171 mov dx, di ; 89 fa6144 lea ax, [bp-030h] ; 8d 46 d0 6145 call 09fbah ; e8 e2 58 6146 mov word [bp-030h], strict word 00028h ; c7 46 d0 28 00 6147 mov ax, word [bp-00eh] ; 8b 46 f2 6148 mov dx, word [bp-022h] ; 8b 56 de 6172 6149 xchg ah, al ; 86 c4 6173 6150 xchg dh, dl ; 86 d6 6174 6151 xchg dx, ax ; 92 6175 mov word [bp-02 ch], ax ; 89 46 d46176 mov word [bp-02 ah], dx ; 89 56 d66177 mov ax, word [bp-010h] ; 8b 46 f06152 mov word [bp-02eh], ax ; 89 46 d2 6153 mov word [bp-02ch], dx ; 89 56 d4 6154 mov ax, di ; 89 f8 6178 6155 xchg ah, al ; 86 c4 6179 mov word [bp-027h], ax ; 89 46 d9 6180 mov ax, word [bp-010h] ; 8b 46 f0 6181 mov es, [bp-00ch] ; 8e 46 f4 6182 mov word [es:si+00eh], ax ; 26 89 44 0e 6156 mov word [bp-029h], ax ; 89 46 d7 6157 mov es, [bp-01eh] ; 8e 46 e2 6158 mov word [es:si+00eh], di ; 26 89 7c 0e 6183 6159 mov word [es:si+010h], 00800h ; 26 c7 44 10 00 08 6184 mov al, byte [bp-00 8h] ; 8a 46 f86160 mov al, byte [bp-006h] ; 8a 46 fa 6185 6161 xor ah, ah ; 30 e4 6186 6162 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 6189 6165 mov al, byte [es:bx+022h] ; 26 8a 47 22 6190 6166 xor ah, ah ; 30 e4 6191 mov di, ax ; 89 c76192 add di, ax ; 01 c76193 push word [bp-0 22h] ; ff 76 de6194 push word [bp-01 eh] ; ff 76 e26167 add ax, ax ; 01 c0 6168 mov word [bp-020h], ax ; 89 46 e0 6169 push word [bp-01ah] ; ff 76 e6 6170 push word [bp-01ch] ; ff 76 e4 6195 6171 push strict byte 00001h ; 6a 01 6196 mov ax, word [bp-010h] ; 8b 46 f06172 mov ax, di ; 89 f8 6197 6173 xor dx, dx ; 31 d2 6198 6174 mov cx, strict word 0000bh ; b9 0b 00 6199 6175 sal ax, 1 ; d1 e0 6200 6176 rcl dx, 1 ; d1 d2 6201 loop 047 69h ; e2 fa6177 loop 04728h ; e2 fa 6202 6178 push dx ; 52 6203 6179 push ax ; 50 6204 6180 push strict byte 00000h ; 6a 00 6205 mov al, byte [bp-00 8h] ; 8a 46 f86181 mov al, byte [bp-006h] ; 8a 46 fa 6206 6182 xor ah, ah ; 30 e4 6207 6183 mov cx, ss ; 8c d1 6208 lea bx, [bp-0 2eh] ; 8d 5e d26184 lea bx, [bp-030h] ; 8d 5e d0 6209 6185 mov dx, strict word 0000ch ; ba 0c 00 6186 mov di, word [bp-020h] ; 8b 7e e0 6210 6187 call word [word di+0006ah] ; ff 95 6a 00 6211 mov word [bp-01 ch], ax ; 89 46 e46212 mov es, [bp-0 0ch] ; 8e 46 f46188 mov word [bp-018h], ax ; 89 46 e8 6189 mov es, [bp-01eh] ; 8e 46 e2 6213 6190 mov ax, word [es:si+01ah] ; 26 8b 44 1a 6214 6191 mov dx, word [es:si+01ch] ; 26 8b 54 1c … … 6216 6193 shr dx, 1 ; d1 ea 6217 6194 rcr ax, 1 ; d1 d8 6218 loop 047 95h ; e2 fa6219 mov es, [bp-01 2h] ; 8e 46 ee6220 mov bx, word [bp-01 8h] ; 8b 5e e86195 loop 04757h ; e2 fa 6196 mov es, [bp-010h] ; 8e 46 f0 6197 mov bx, word [bp-014h] ; 8b 5e ec 6221 6198 mov word [es:bx+002h], ax ; 26 89 47 02 6222 cmp byte [bp-01 ch], 000h ; 80 7e e4006223 je short 047 feh ; 74 536199 cmp byte [bp-018h], 000h ; 80 7e e8 00 6200 je short 047c0h ; 74 53 6224 6201 mov bx, 00da0h ; bb a0 0d 6225 6202 mov cx, ds ; 8c d9 6226 6203 mov ax, strict word 00004h ; b8 04 00 6227 call 01923h ; e8 6dd16228 mov al, byte [bp-01 ch] ; 8a 46 e46204 call 01923h ; e8 ab d1 6205 mov al, byte [bp-018h] ; 8a 46 e8 6229 6206 xor ah, ah ; 30 e4 6230 6207 push ax ; 50 6231 push word [bp-01 4h] ; ff 76 ec6208 push word [bp-012h] ; ff 76 ee 6232 6209 push 003dfh ; 68 df 03 6233 6210 push 00471h ; 68 71 04 6234 6211 push strict byte 00004h ; 6a 04 6235 call 01966h ; e8 9cd16212 call 01966h ; e8 da d1 6236 6213 add sp, strict byte 0000ah ; 83 c4 0a 6237 6214 mov ax, word [bp+018h] ; 8b 46 18 6238 6215 xor ah, ah ; 30 e4 6239 6216 or ah, 00ch ; 80 cc 0c 6240 jmp near 04 b0ch ; e9 34036217 jmp near 04ab1h ; e9 17 03 6241 6218 cmp bx, strict byte 00002h ; 83 fb 02 6242 jnbe short 048 46h ; 77 696243 mov al, byte [bp-00 8h] ; 8a 46 f86219 jnbe short 04808h ; 77 69 6220 mov al, byte [bp-006h] ; 8a 46 fa 6244 6221 xor ah, ah ; 30 e4 6245 6222 imul ax, ax, strict byte 0001ch ; 6b c0 1c 6246 mov es, [bp-0 0ch] ; 8e 46 f46223 mov es, [bp-01eh] ; 8e 46 e2 6247 6224 mov di, si ; 89 f7 6248 6225 add di, ax ; 01 c7 6249 6226 mov al, byte [es:di+025h] ; 26 8a 45 25 6250 6227 cmp bx, strict byte 00002h ; 83 fb 02 6251 je short 048 5ch ; 74 676228 je short 0481eh ; 74 67 6252 6229 cmp bx, strict byte 00001h ; 83 fb 01 6253 je short 04 836h ; 74 3c6230 je short 047f8h ; 74 3c 6254 6231 test bx, bx ; 85 db 6255 je short 04 801h ; 74 036256 jmp near 04a cch ; e9 cb026232 je short 047c3h ; 74 03 6233 jmp near 04a71h ; e9 ae 02 6257 6234 cmp AL, strict byte 0ffh ; 3c ff 6258 jne short 04 817h ; 75 126235 jne short 047d9h ; 75 12 6259 6236 mov ax, word [bp+018h] ; 8b 46 18 6260 6237 xor ah, ah ; 30 e4 … … 6263 6240 xor al, al ; 30 c0 6264 6241 or AL, strict byte 001h ; 0c 01 6265 jmp near 04 b0ch ; e9 f5026266 mov dl, byte [bp-00 8h] ; 8a 56 f86242 jmp near 04ab1h ; e9 d8 02 6243 mov dl, byte [bp-006h] ; 8a 56 fa 6267 6244 xor dh, dh ; 30 f6 6268 6245 imul dx, dx, strict byte 0001ch ; 6b d2 1c 6269 6246 db 0feh, 0c0h 6270 6247 ; inc al ; fe c0 6271 mov es, [bp-0 0ch] ; 8e 46 f46248 mov es, [bp-01eh] ; 8e 46 e2 6272 6249 add si, dx ; 01 d6 6273 6250 mov byte [es:si+025h], al ; 26 88 44 25 … … 6276 6253 or AL, strict byte 001h ; 0c 01 6277 6254 mov word [bp+018h], ax ; 89 46 18 6278 jmp short 047 feh ; eb c86255 jmp short 047c0h ; eb c8 6279 6256 test al, al ; 84 c0 6280 jne short 048 49h ; 75 0f6257 jne short 0480bh ; 75 0f 6281 6258 or bh, 0b0h ; 80 cf b0 6282 6259 mov word [bp+018h], bx ; 89 5e 18 6283 6260 mov byte [bp+018h], al ; 88 46 18 6284 jmp near 04 b0fh ; e9 c9026285 jmp near 04 b04h ; e9 bb026286 mov dl, byte [bp-00 8h] ; 8a 56 f86261 jmp near 04ab4h ; e9 ac 02 6262 jmp near 04aa9h ; e9 9e 02 6263 mov dl, byte [bp-006h] ; 8a 56 fa 6287 6264 xor dh, dh ; 30 f6 6288 6265 imul dx, dx, strict byte 0001ch ; 6b d2 1c 6289 6266 db 0feh, 0c8h 6290 6267 ; dec al ; fe c8 6291 mov es, [bp-0 0ch] ; 8e 46 f46268 mov es, [bp-01eh] ; 8e 46 e2 6292 6269 add si, dx ; 01 d6 6293 6270 mov byte [es:si+025h], al ; 26 88 44 25 6294 6271 test al, al ; 84 c0 6295 jne short 048 6eh ; 75 0e6272 jne short 04830h ; 75 0e 6296 6273 xor ah, ah ; 30 e4 6297 6274 mov dx, word [bp+018h] ; 8b 56 18 … … 6299 6276 or dx, ax ; 09 c2 6300 6277 mov word [bp+018h], dx ; 89 56 18 6301 jmp short 047 feh ; eb 906278 jmp short 047c0h ; eb 90 6302 6279 mov ax, strict word 00001h ; b8 01 00 6303 jmp short 048 62h ; eb ef6304 mov al, byte [bp-00 8h] ; 8a 46 f86280 jmp short 04824h ; eb ef 6281 mov al, byte [bp-006h] ; 8a 46 fa 6305 6282 xor ah, ah ; 30 e4 6306 6283 imul ax, ax, strict byte 0001ch ; 6b c0 1c 6307 mov es, [bp-0 0ch] ; 8e 46 f46284 mov es, [bp-01eh] ; 8e 46 e2 6308 6285 add si, ax ; 01 c6 6309 6286 mov al, byte [es:si+025h] ; 26 8a 44 25 6310 6287 test al, al ; 84 c0 6311 je short 048 8eh ; 74 066288 je short 04850h ; 74 06 6312 6289 or bh, 0b1h ; 80 cf b1 6313 jmp near 046 63h ; e9 d5fd6314 je short 048 b7h ; 74 276290 jmp near 04623h ; e9 d3 fd 6291 je short 04879h ; 74 27 6315 6292 mov ax, word [bp+018h] ; 8b 46 18 6316 6293 xor ah, ah ; 30 e4 6317 6294 or ah, 0b1h ; 80 cc b1 6318 jmp near 04 b0ch ; e9 71026295 jmp near 04ab1h ; e9 54 02 6319 6296 mov dx, word [bp+00ch] ; 8b 56 0c 6320 6297 mov cx, word [bp+006h] ; 8b 4e 06 … … 6324 6301 mov di, dx ; 89 d7 6325 6302 mov ax, word [es:di] ; 26 8b 05 6326 mov word [bp-00 eh], ax ; 89 46 f26303 mov word [bp-00ch], ax ; 89 46 f4 6327 6304 cmp ax, strict word 0001ah ; 3d 1a 00 6328 jnc short 048 bah ; 73 056329 jmp short 048 46h ; eb 8f6330 jmp near 04a cch ; e9 12 026331 jc short 04 91eh ; 72 626332 mov al, byte [bp-00 8h] ; 8a 46 f86305 jnc short 0487ch ; 73 05 6306 jmp short 04808h ; eb 8f 6307 jmp near 04a71h ; e9 f5 01 6308 jc short 048e0h ; 72 62 6309 mov al, byte [bp-006h] ; 8a 46 fa 6333 6310 xor ah, ah ; 30 e4 6334 6311 imul ax, ax, strict byte 0001ch ; 6b c0 1c 6335 mov es, [bp-0 0ch] ; 8e 46 f46312 mov es, [bp-01eh] ; 8e 46 e2 6336 6313 mov di, si ; 89 f7 6337 6314 add di, ax ; 01 c7 … … 6352 6329 mov word [es:di+014h], strict word 0ffffh ; 26 c7 45 14 ff ff 6353 6330 mov word [es:di+016h], strict word 0ffffh ; 26 c7 45 16 ff ff 6354 cmp word [bp-00eh], strict byte 0001eh ; 83 7e f2 1e 6355 jc short 0497dh ; 72 59 6331 cmp word [bp-00ch], strict byte 0001eh ; 83 7e f4 1e 6332 jnc short 048e9h ; 73 03 6333 jmp near 049a5h ; e9 bc 00 6356 6334 mov es, [bp-00ah] ; 8e 46 f6 6357 6335 mov word [es:bx], strict word 0001eh ; 26 c7 07 1e 00 6358 mov ax, word [bp-01 ah] ; 8b 46 e66336 mov ax, word [bp-016h] ; 8b 46 ea 6359 6337 mov word [es:bx+01ch], ax ; 26 89 47 1c 6360 6338 mov word [es:bx+01ah], 00356h ; 26 c7 47 1a 56 03 6361 mov cl, byte [bp-00 8h] ; 8a 4e f86339 mov cl, byte [bp-006h] ; 8a 4e fa 6362 6340 xor ch, ch ; 30 ed 6363 6341 mov ax, cx ; 89 c8 … … 6368 6346 xor ah, ah ; 30 e4 6369 6347 imul ax, ax, strict byte 00006h ; 6b c0 06 6370 mov es, [bp-0 0ch] ; 8e 46 f46348 mov es, [bp-01eh] ; 8e 46 e2 6371 6349 mov di, si ; 89 f7 6372 6350 add di, ax ; 01 c7 6373 mov dx, word [es:di+00206h] ; 26 8b 95 06 02 6374 mov ax, word [es:di+00208h] ; 26 8b 85 08 02 6375 mov word [bp-020h], ax ; 89 46 e0 6376 mov al, byte [es:di+00205h] ; 26 8a 85 05 02 6377 mov byte [bp-006h], al ; 88 46 fa 6378 imul cx, cx, strict byte 0001ch ; 6b c9 1c 6379 mov di, si ; 89 f7 6380 add di, cx ; 01 cf 6381 mov al, byte [es:di+026h] ; 26 8a 45 26 6382 mov cx, strict word 00070h ; b9 70 00 6383 cmp AL, strict byte 001h ; 3c 01 6384 jne short 04980h ; 75 08 6385 mov ax, strict word 00001h ; b8 01 00 6386 jmp short 04982h ; eb 05 6387 jmp near 04a00h ; e9 80 00 6388 xor ax, ax ; 31 c0 6389 or cx, ax ; 09 c1 6390 mov es, [bp-00ch] ; 8e 46 f4 6391 mov word [es:si+00234h], dx ; 26 89 94 34 02 6392 mov ax, word [bp-020h] ; 8b 46 e0 6351 mov ax, word [es:di+00206h] ; 26 8b 85 06 02 6352 mov dx, word [es:di+00208h] ; 26 8b 95 08 02 6353 mov word [bp-024h], dx ; 89 56 dc 6354 mov dl, byte [es:di+00205h] ; 26 8a 95 05 02 6355 mov byte [bp-008h], dl ; 88 56 f8 6356 mov word [es:si+00234h], ax ; 26 89 84 34 02 6357 mov ax, word [bp-024h] ; 8b 46 dc 6393 6358 mov word [es:si+00236h], ax ; 26 89 84 36 02 6394 mov al, byte [bp-008h] ; 8a 46 f8 6395 xor ah, ah ; 30 e4 6359 mov ax, cx ; 89 c8 6396 6360 cwd ; 99 6397 mov di, strict word 00002h ; bf02 006398 idiv di ; f7 ff6361 mov cx, strict word 00002h ; b9 02 00 6362 idiv cx ; f7 f9 6399 6363 or dl, 00eh ; 80 ca 0e 6400 6364 sal dx, 004h ; c1 e2 04 6401 6365 mov byte [es:si+00238h], dl ; 26 88 94 38 02 6402 6366 mov byte [es:si+00239h], 0cbh ; 26 c6 84 39 02 cb 6403 mov al, byte [bp-00 6h] ; 8a 46 fa6367 mov al, byte [bp-008h] ; 8a 46 f8 6404 6368 mov byte [es:si+0023ah], al ; 26 88 84 3a 02 6405 6369 mov word [es:si+0023bh], strict word 00001h ; 26 c7 84 3b 02 01 00 6406 6370 mov byte [es:si+0023dh], 000h ; 26 c6 84 3d 02 00 6407 mov word [es:si+0023eh], cx ; 26 89 8c 3e 026371 mov word [es:si+0023eh], strict word 00070h ; 26 c7 84 3e 02 70 00 6408 6372 mov word [es:si+00240h], strict word 00000h ; 26 c7 84 40 02 00 00 6409 6373 mov byte [es:si+00242h], 011h ; 26 c6 84 42 02 11 6410 6374 xor cl, cl ; 30 c9 6411 6375 xor ch, ch ; 30 ed 6412 jmp short 049 e2h ; eb 056376 jmp short 04985h ; eb 05 6413 6377 cmp ch, 00fh ; 80 fd 0f 6414 jnc short 049f6h ; 73 14 6415 mov dl, ch ; 88 ea 6416 xor dh, dh ; 30 f6 6378 jnc short 0499bh ; 73 16 6379 mov al, ch ; 88 e8 6380 xor ah, ah ; 30 e4 6381 mov dx, ax ; 89 c2 6417 6382 add dx, 00356h ; 81 c2 56 03 6418 mov ax, word [bp-01 ah] ; 8b 46 e66419 call 01650h ; e8 60cc6383 mov ax, word [bp-016h] ; 8b 46 ea 6384 call 01650h ; e8 bb cc 6420 6385 add cl, al ; 00 c1 6421 6386 db 0feh, 0c5h 6422 6387 ; inc ch ; fe c5 6423 jmp short 049 ddh ; eb e76388 jmp short 04980h ; eb e5 6424 6389 neg cl ; f6 d9 6425 mov es, [bp-0 0ch] ; 8e 46 f46390 mov es, [bp-01eh] ; 8e 46 e2 6426 6391 mov byte [es:si+00243h], cl ; 26 88 8c 43 02 6427 cmp word [bp-00 eh], strict byte 00042h ; 83 7e f2426428 jnc short 04 a09h ; 73 036429 jmp near 04a cch ; e9 c3 006430 mov al, byte [bp-00 8h] ; 8a 46 f86392 cmp word [bp-00ch], strict byte 00042h ; 83 7e f4 42 6393 jnc short 049aeh ; 73 03 6394 jmp near 04a71h ; e9 c3 00 6395 mov al, byte [bp-006h] ; 8a 46 fa 6431 6396 xor ah, ah ; 30 e4 6432 6397 cwd ; 99 … … 6436 6401 xor ah, ah ; 30 e4 6437 6402 imul ax, ax, strict byte 00006h ; 6b c0 06 6438 mov es, [bp-0 0ch] ; 8e 46 f46403 mov es, [bp-01eh] ; 8e 46 e2 6439 6404 add si, ax ; 01 c6 6440 6405 mov al, byte [es:si+00204h] ; 26 8a 84 04 02 … … 6446 6411 mov word [es:bx+022h], strict word 00000h ; 26 c7 47 22 00 00 6447 6412 test al, al ; 84 c0 6448 jne short 04 a51h ; 75 0c6413 jne short 049f6h ; 75 0c 6449 6414 mov word [es:bx+024h], 05349h ; 26 c7 47 24 49 53 6450 6415 mov word [es:bx+026h], 02041h ; 26 c7 47 26 41 20 … … 6455 6420 mov word [es:bx+02eh], 02020h ; 26 c7 47 2e 20 20 6456 6421 test al, al ; 84 c0 6457 jne short 04a 86h ; 75 166422 jne short 04a2bh ; 75 16 6458 6423 mov word [es:bx+030h], dx ; 26 89 57 30 6459 6424 mov word [es:bx+032h], strict word 00000h ; 26 c7 47 32 00 00 6460 6425 mov word [es:bx+034h], strict word 00000h ; 26 c7 47 34 00 00 6461 6426 mov word [es:bx+036h], strict word 00000h ; 26 c7 47 36 00 00 6462 mov al, byte [bp-00 8h] ; 8a 46 f86427 mov al, byte [bp-006h] ; 8a 46 fa 6463 6428 and AL, strict byte 001h ; 24 01 6464 6429 xor ah, ah ; 30 e4 … … 6470 6435 xor al, al ; 30 c0 6471 6436 mov AH, strict byte 01eh ; b4 1e 6472 jmp short 04a b1h ; eb 056437 jmp short 04a56h ; eb 05 6473 6438 cmp ah, 040h ; 80 fc 40 6474 jnc short 04a c3h ; 73 126439 jnc short 04a68h ; 73 12 6475 6440 mov dl, ah ; 88 e2 6476 6441 xor dh, dh ; 30 f6 … … 6481 6446 db 0feh, 0c4h 6482 6447 ; inc ah ; fe c4 6483 jmp short 04a ach ; eb e96448 jmp short 04a51h ; eb e9 6484 6449 neg al ; f6 d8 6485 6450 mov es, [bp-00ah] ; 8e 46 f6 … … 6489 6454 mov dx, strict word 00074h ; ba 74 00 6490 6455 mov ax, strict word 00040h ; b8 40 00 6491 call 0165eh ; e8 83cb6456 call 0165eh ; e8 de cb 6492 6457 and byte [bp+01eh], 0feh ; 80 66 1e fe 6493 6458 lea sp, [bp-004h] ; 8d 66 fc … … 6498 6463 or bh, 006h ; 80 cf 06 6499 6464 mov word [bp+018h], bx ; 89 5e 18 6500 jmp short 04 b20h ; eb 326465 jmp short 04ac5h ; eb 32 6501 6466 cmp bx, strict byte 00006h ; 83 fb 06 6502 je short 04a cch ; 74 d96467 je short 04a71h ; 74 d9 6503 6468 cmp bx, strict byte 00001h ; 83 fb 01 6504 jc short 04 b04h ; 72 0c6505 jbe short 04a cch ; 76 d26469 jc short 04aa9h ; 72 0c 6470 jbe short 04a71h ; 76 d2 6506 6471 cmp bx, strict byte 00003h ; 83 fb 03 6507 jc short 04 b04h ; 72 056472 jc short 04aa9h ; 72 05 6508 6473 cmp bx, strict byte 00004h ; 83 fb 04 6509 jbe short 04a cch ; 76 c86474 jbe short 04a71h ; 76 c8 6510 6475 mov ax, word [bp+018h] ; 8b 46 18 6511 6476 xor ah, ah ; 30 e4 … … 6517 6482 mov dx, strict word 00074h ; ba 74 00 6518 6483 mov ax, strict word 00040h ; b8 40 00 6519 call 0165eh ; e8 3ecb6484 call 0165eh ; e8 99 cb 6520 6485 or byte [bp+01eh], 001h ; 80 4e 1e 01 6521 jmp short 04a dfh ; eb b96522 print_boot_device_: ; 0xf4 b26LB 0x4b6486 jmp short 04a84h ; eb b9 6487 print_boot_device_: ; 0xf4acb LB 0x4b 6523 6488 push bp ; 55 6524 6489 mov bp, sp ; 89 e5 6525 6490 push cx ; 51 6526 6491 test al, al ; 84 c0 6527 je short 04 b33h ; 74 056492 je short 04ad8h ; 74 05 6528 6493 mov dx, strict word 00002h ; ba 02 00 6529 jmp short 04 b4dh ; eb 1a6494 jmp short 04af2h ; eb 1a 6530 6495 test dl, dl ; 84 d2 6531 je short 04 b3ch ; 74 056496 je short 04ae1h ; 74 05 6532 6497 mov dx, strict word 00003h ; ba 03 00 6533 jmp short 04 b4dh ; eb 116498 jmp short 04af2h ; eb 11 6534 6499 test bl, 080h ; f6 c3 80 6535 jne short 04 b45h ; 75 046500 jne short 04aeah ; 75 04 6536 6501 xor dh, dh ; 30 f6 6537 jmp short 04 b4dh ; eb 086502 jmp short 04af2h ; eb 08 6538 6503 test bl, 080h ; f6 c3 80 6539 je short 04b 6bh ; 74 216504 je short 04b10h ; 74 21 6540 6505 mov dx, strict word 00001h ; ba 01 00 6541 6506 mov bx, 00da0h ; bb a0 0d 6542 6507 mov cx, ds ; 8c d9 6543 6508 mov ax, strict word 00004h ; b8 04 00 6544 call 01923h ; e8 cb cd6509 call 01923h ; e8 26 ce 6545 6510 imul dx, dx, strict byte 0000ah ; 6b d2 0a 6546 6511 add dx, 00dc6h ; 81 c2 c6 0d … … 6548 6513 push 00494h ; 68 94 04 6549 6514 push strict byte 00004h ; 6a 04 6550 call 01966h ; e8 fe cd6515 call 01966h ; e8 59 ce 6551 6516 add sp, strict byte 00006h ; 83 c4 06 6552 6517 lea sp, [bp-002h] ; 8d 66 fe … … 6554 6519 pop bp ; 5d 6555 6520 retn ; c3 6556 print_boot_failure_: ; 0xf4b 71LB 0x966521 print_boot_failure_: ; 0xf4b16 LB 0x96 6557 6522 push bp ; 55 6558 6523 mov bp, sp ; 89 e5 … … 6565 6530 mov si, cx ; 89 ce 6566 6531 test al, al ; 84 c0 6567 je short 04b a1h ; 74 1b6532 je short 04b46h ; 74 1b 6568 6533 mov bx, 00da0h ; bb a0 0d 6569 6534 mov cx, ds ; 8c d9 6570 6535 mov ax, strict word 00004h ; b8 04 00 6571 call 01923h ; e8 92cd6536 call 01923h ; e8 ed cd 6572 6537 push 00ddah ; 68 da 0d 6573 6538 push 004a8h ; 68 a8 04 6574 6539 push strict byte 00004h ; 6a 04 6575 call 01966h ; e8 ca cd6540 call 01966h ; e8 25 ce 6576 6541 add sp, strict byte 00006h ; 83 c4 06 6577 jmp short 04b e5h ; eb 446542 jmp short 04b8ah ; eb 44 6578 6543 test ah, ah ; 84 e4 6579 je short 04b b5h ; 74 106544 je short 04b5ah ; 74 10 6580 6545 mov bx, 00da0h ; bb a0 0d 6581 6546 mov cx, ds ; 8c d9 6582 6547 mov ax, strict word 00004h ; b8 04 00 6583 call 01923h ; e8 73cd6548 call 01923h ; e8 ce cd 6584 6549 push 00de4h ; 68 e4 0d 6585 jmp short 04b 94h ; eb df6550 jmp short 04b39h ; eb df 6586 6551 test bl, 080h ; f6 c3 80 6587 je short 04b cbh ; 74 116552 je short 04b70h ; 74 11 6588 6553 mov bx, 00da0h ; bb a0 0d 6589 6554 mov cx, ds ; 8c d9 6590 6555 mov ax, strict word 00004h ; b8 04 00 6591 call 01923h ; e8 5ecd6556 call 01923h ; e8 b9 cd 6592 6557 push si ; 56 6593 6558 push 00dd0h ; 68 d0 0d 6594 jmp short 04b dah ; eb 0f6559 jmp short 04b7fh ; eb 0f 6595 6560 mov bx, 00da0h ; bb a0 0d 6596 6561 mov cx, ds ; 8c d9 6597 6562 mov ax, strict word 00004h ; b8 04 00 6598 call 01923h ; e8 4dcd6563 call 01923h ; e8 a8 cd 6599 6564 push si ; 56 6600 6565 push 00dc6h ; 68 c6 0d 6601 6566 push 004bdh ; 68 bd 04 6602 6567 push strict byte 00004h ; 6a 04 6603 call 01966h ; e8 84cd6568 call 01966h ; e8 df cd 6604 6569 add sp, strict byte 00008h ; 83 c4 08 6605 6570 cmp byte [bp+004h], 001h ; 80 7e 04 01 6606 jne short 04b ffh ; 75 146571 jne short 04ba4h ; 75 14 6607 6572 test dl, dl ; 84 d2 6608 jne short 04b f4h ; 75 056573 jne short 04b99h ; 75 05 6609 6574 push 004d5h ; 68 d5 04 6610 jmp short 04b f7h ; eb 036575 jmp short 04b9ch ; eb 03 6611 6576 push 004ffh ; 68 ff 04 6612 6577 push strict byte 00007h ; 6a 07 6613 call 01966h ; e8 6acd6578 call 01966h ; e8 c5 cd 6614 6579 add sp, strict byte 00004h ; 83 c4 04 6615 6580 lea sp, [bp-002h] ; 8d 66 fe … … 6617 6582 pop bp ; 5d 6618 6583 retn 00002h ; c2 02 00 6619 print_cdromboot_failure_: ; 0xf4 c07LB 0x276584 print_cdromboot_failure_: ; 0xf4bac LB 0x27 6620 6585 push bp ; 55 6621 6586 mov bp, sp ; 89 e5 … … 6627 6592 mov cx, ds ; 8c d9 6628 6593 mov ax, strict word 00004h ; b8 04 00 6629 call 01923h ; e8 09cd6594 call 01923h ; e8 64 cd 6630 6595 push dx ; 52 6631 6596 push 00534h ; 68 34 05 6632 6597 push strict byte 00004h ; 6a 04 6633 call 01966h ; e8 43cd6598 call 01966h ; e8 9e cd 6634 6599 add sp, strict byte 00006h ; 83 c4 06 6635 6600 lea sp, [bp-006h] ; 8d 66 fa … … 6639 6604 pop bp ; 5d 6640 6605 retn ; c3 6641 _int19_function: ; 0xf4 c2eLB 0x2716606 _int19_function: ; 0xf4bd3 LB 0x271 6642 6607 push bp ; 55 6643 6608 mov bp, sp ; 89 e5 … … 6647 6612 mov dx, strict word 0000eh ; ba 0e 00 6648 6613 mov ax, strict word 00040h ; b8 40 00 6649 call 0166ch ; e8 2dca6614 call 0166ch ; e8 88 ca 6650 6615 mov bx, ax ; 89 c3 6651 6616 mov word [bp-00eh], ax ; 89 46 f2 6652 6617 mov byte [bp-00ch], 000h ; c6 46 f4 00 6653 6618 mov ax, strict word 0003dh ; b8 3d 00 6654 call 016ach ; e8 5eca6619 call 016ach ; e8 b9 ca 6655 6620 mov dl, al ; 88 c2 6656 6621 xor dh, dh ; 30 f6 6657 6622 mov ax, strict word 00038h ; b8 38 00 6658 call 016ach ; e8 54ca6623 call 016ach ; e8 af ca 6659 6624 and AL, strict byte 0f0h ; 24 f0 6660 6625 xor ah, ah ; 30 e4 … … 6663 6628 or si, ax ; 09 c6 6664 6629 mov ax, strict word 0003ch ; b8 3c 00 6665 call 016ach ; e8 43ca6630 call 016ach ; e8 9e ca 6666 6631 and AL, strict byte 00fh ; 24 0f 6667 6632 xor ah, ah ; 30 e4 … … 6670 6635 mov dx, 0037dh ; ba 7d 03 6671 6636 mov ax, bx ; 89 d8 6672 call 01650h ; e8 d6 c96637 call 01650h ; e8 31 ca 6673 6638 test al, al ; 84 c0 6674 je short 04c 8ah ; 74 0c6639 je short 04c2fh ; 74 0c 6675 6640 mov dx, 0037dh ; ba 7d 03 6676 6641 mov ax, bx ; 89 d8 6677 call 01650h ; e8 ca c96642 call 01650h ; e8 25 ca 6678 6643 xor ah, ah ; 30 e4 6679 6644 mov si, ax ; 89 c6 6680 6645 cmp byte [bp+004h], 001h ; 80 7e 04 01 6681 jne short 04c a0h ; 75 106646 jne short 04c45h ; 75 10 6682 6647 mov ax, strict word 0003ch ; b8 3c 00 6683 call 016ach ; e8 16ca6648 call 016ach ; e8 71 ca 6684 6649 and AL, strict byte 0f0h ; 24 f0 6685 6650 xor ah, ah ; 30 e4 6686 6651 sar ax, 004h ; c1 f8 04 6687 call 07d 8bh ; e8 eb 306652 call 07d10h ; e8 cb 30 6688 6653 cmp byte [bp+004h], 002h ; 80 7e 04 02 6689 jne short 04c a9h ; 75 036654 jne short 04c4eh ; 75 03 6690 6655 shr si, 004h ; c1 ee 04 6691 6656 cmp byte [bp+004h], 003h ; 80 7e 04 03 6692 jne short 04c b2h ; 75 036657 jne short 04c57h ; 75 03 6693 6658 shr si, 008h ; c1 ee 08 6694 6659 cmp byte [bp+004h], 004h ; 80 7e 04 04 6695 jne short 04c bbh ; 75 036660 jne short 04c60h ; 75 03 6696 6661 shr si, 00ch ; c1 ee 0c 6697 6662 cmp si, strict byte 00010h ; 83 fe 10 6698 jnc short 04c c4h ; 73 046663 jnc short 04c69h ; 73 04 6699 6664 mov byte [bp-00ch], 001h ; c6 46 f4 01 6700 6665 xor al, al ; 30 c0 … … 6705 6670 mov cx, ds ; 8c d9 6706 6671 mov ax, strict word 00004h ; b8 04 00 6707 call 01923h ; e8 49cc6672 call 01923h ; e8 a4 cc 6708 6673 push si ; 56 6709 6674 mov al, byte [bp+004h] ; 8a 46 04 … … 6712 6677 push 00554h ; 68 54 05 6713 6678 push strict byte 00004h ; 6a 04 6714 call 01966h ; e8 7dcc6679 call 01966h ; e8 d8 cc 6715 6680 add sp, strict byte 00008h ; 83 c4 08 6716 6681 and si, strict byte 0000fh ; 83 e6 0f 6717 6682 cmp si, strict byte 00002h ; 83 fe 02 6718 jc short 04 d02h ; 72 0e6719 jbe short 04 d11h ; 76 1b6683 jc short 04ca7h ; 72 0e 6684 jbe short 04cb6h ; 76 1b 6720 6685 cmp si, strict byte 00004h ; 83 fe 04 6721 je short 04 d2fh ; 74 346686 je short 04cd4h ; 74 34 6722 6687 cmp si, strict byte 00003h ; 83 fe 03 6723 je short 04 d25h ; 74 256724 jmp short 04d 5eh ; eb 5c6688 je short 04ccah ; 74 25 6689 jmp short 04d03h ; eb 5c 6725 6690 cmp si, strict byte 00001h ; 83 fe 01 6726 jne short 04d 5eh ; 75 576691 jne short 04d03h ; 75 57 6727 6692 xor al, al ; 30 c0 6728 6693 mov byte [bp-006h], al ; 88 46 fa 6729 6694 mov byte [bp-008h], al ; 88 46 f8 6730 jmp short 04d 76h ; eb 656695 jmp short 04d1bh ; eb 65 6731 6696 mov dx, 0037ch ; ba 7c 03 6732 6697 mov ax, word [bp-00eh] ; 8b 46 f2 6733 call 01650h ; e8 36c96698 call 01650h ; e8 91 c9 6734 6699 add AL, strict byte 080h ; 04 80 6735 6700 mov byte [bp-006h], al ; 88 46 fa 6736 6701 mov byte [bp-008h], 000h ; c6 46 f8 00 6737 jmp short 04d 76h ; eb 516702 jmp short 04d1bh ; eb 51 6738 6703 mov byte [bp-006h], 000h ; c6 46 fa 00 6739 6704 mov byte [bp-008h], 001h ; c6 46 f8 01 6740 jmp short 04 d39h ; eb 0a6705 jmp short 04cdeh ; eb 0a 6741 6706 mov byte [bp-00ah], 001h ; c6 46 f6 01 6742 6707 cmp byte [bp-008h], 000h ; 80 7e f8 00 6743 je short 04d 76h ; 74 3d6744 call 03 d18h ; e8 dcef6708 je short 04d1bh ; 74 3d 6709 call 03cd8h ; e8 f7 ef 6745 6710 mov bx, ax ; 89 c3 6746 6711 test AL, strict byte 0ffh ; a8 ff 6747 je short 04d 65h ; 74 236748 call 04 c07h ; e8 c2 fe6712 je short 04d0ah ; 74 23 6713 call 04bach ; e8 c2 fe 6749 6714 mov al, byte [bp-00ch] ; 8a 46 f4 6750 6715 xor ah, ah ; 30 e4 … … 6756 6721 mov al, byte [bp-008h] ; 8a 46 f8 6757 6722 mov cx, strict word 00001h ; b9 01 00 6758 call 04b 71h ; e8 13 fe6723 call 04b16h ; e8 13 fe 6759 6724 xor ax, ax ; 31 c0 6760 6725 xor dx, dx ; 31 d2 6761 jmp near 04e 98h ; e9 33 016726 jmp near 04e3dh ; e9 33 01 6762 6727 mov dx, 00372h ; ba 72 03 6763 6728 mov ax, word [bp-00eh] ; 8b 46 f2 6764 call 0166ch ; e8 fe c86729 call 0166ch ; e8 59 c9 6765 6730 mov di, ax ; 89 c7 6766 6731 shr bx, 008h ; c1 eb 08 6767 6732 mov byte [bp-006h], bl ; 88 5e fa 6768 6733 cmp byte [bp-00ah], 001h ; 80 7e f6 01 6769 jne short 04d d1h ; 75 556734 jne short 04d76h ; 75 55 6770 6735 xor si, si ; 31 f6 6771 6736 mov ax, 0e200h ; b8 00 e2 6772 6737 mov es, ax ; 8e c0 6773 6738 cmp word [es:si], 0aa55h ; 26 81 3c 55 aa 6774 jne short 04 d45h ; 75 bb6739 jne short 04ceah ; 75 bb 6775 6740 mov cx, ax ; 89 c1 6776 6741 mov si, word [es:si+01ah] ; 26 8b 74 1a 6777 6742 cmp word [es:si+002h], 0506eh ; 26 81 7c 02 6e 50 6778 jne short 04 d45h ; 75 ad6743 jne short 04ceah ; 75 ad 6779 6744 cmp word [es:si], 05024h ; 26 81 3c 24 50 6780 jne short 04 d45h ; 75 a66745 jne short 04ceah ; 75 a6 6781 6746 mov di, word [es:si+00eh] ; 26 8b 7c 0e 6782 6747 mov dx, word [es:di] ; 26 8b 15 6783 6748 mov ax, word [es:di+002h] ; 26 8b 45 02 6784 6749 cmp ax, 06568h ; 3d 68 65 6785 jne short 04d d3h ; 75 246750 jne short 04d78h ; 75 24 6786 6751 cmp dx, 07445h ; 81 fa 45 74 6787 jne short 04d d3h ; 75 1e6752 jne short 04d78h ; 75 1e 6788 6753 mov bl, byte [bp-006h] ; 8a 5e fa 6789 6754 xor bh, bh ; 30 ff … … 6792 6757 mov al, byte [bp-008h] ; 8a 46 f8 6793 6758 xor ah, ah ; 30 e4 6794 call 04 b26h ; e8 5f fd6759 call 04acbh ; e8 5f fd 6795 6760 mov word [bp-012h], strict word 00006h ; c7 46 ee 06 00 6796 6761 mov word [bp-010h], cx ; 89 4e f0 6797 jmp short 04d f2h ; eb 216798 jmp short 04d f8h ; eb 256762 jmp short 04d97h ; eb 21 6763 jmp short 04d9dh ; eb 25 6799 6764 mov bl, byte [bp-006h] ; 8a 5e fa 6800 6765 xor bh, bh ; 30 ff … … 6803 6768 mov al, byte [bp-008h] ; 8a 46 f8 6804 6769 xor ah, ah ; 30 e4 6805 call 04 b26h ; e8 41 fd6770 call 04acbh ; e8 41 fd 6806 6771 sti ; fb 6807 6772 mov word [bp-010h], cx ; 89 4e f0 … … 6810 6775 mov word [bp-012h], ax ; 89 46 ee 6811 6776 call far [bp-012h] ; ff 5e ee 6812 jmp near 04 d45h ; e9 4d ff6777 jmp near 04ceah ; e9 4d ff 6813 6778 cmp byte [bp-008h], 000h ; 80 7e f8 00 6814 jne short 04 e25h ; 75 276779 jne short 04dcah ; 75 27 6815 6780 cmp byte [bp-00ah], 000h ; 80 7e f6 00 6816 jne short 04 e25h ; 75 216781 jne short 04dcah ; 75 21 6817 6782 mov di, 007c0h ; bf c0 07 6818 6783 mov es, di ; 8e c7 … … 6827 6792 sbb ax, strict byte 00000h ; 83 d8 00 6828 6793 test ax, ax ; 85 c0 6829 je short 04 e25h ; 74 036830 jmp near 04 d45h ; e9 20 ff6794 je short 04dcah ; 74 03 6795 jmp near 04ceah ; e9 20 ff 6831 6796 cmp byte [bp-006h], 000h ; 80 7e fa 00 6832 je short 04 e2fh ; 74 046797 je short 04dd4h ; 74 04 6833 6798 xor bl, bl ; 30 db 6834 jmp short 04 e31h ; eb 026799 jmp short 04dd6h ; eb 02 6835 6800 mov BL, strict byte 001h ; b3 01 6836 6801 cmp byte [bp-008h], 000h ; 80 7e f8 00 6837 je short 04 e39h ; 74 026802 je short 04ddeh ; 74 02 6838 6803 mov BL, strict byte 001h ; b3 01 6839 6804 xor dx, dx ; 31 d2 6840 6805 mov ax, di ; 89 f8 6841 call 0166ch ; e8 2cc86806 call 0166ch ; e8 87 c8 6842 6807 mov si, ax ; 89 c6 6843 6808 mov dx, strict word 00002h ; ba 02 00 6844 6809 mov ax, di ; 89 f8 6845 call 0166ch ; e8 22c86810 call 0166ch ; e8 7d c8 6846 6811 cmp si, ax ; 39 c6 6847 je short 04e 5fh ; 74 116812 je short 04e04h ; 74 11 6848 6813 test bl, bl ; 84 db 6849 jne short 04e 77h ; 75 256814 jne short 04e1ch ; 75 25 6850 6815 mov dx, 001feh ; ba fe 01 6851 6816 mov ax, di ; 89 f8 6852 call 0166ch ; e8 12c86817 call 0166ch ; e8 6d c8 6853 6818 cmp ax, 0aa55h ; 3d 55 aa 6854 je short 04e 77h ; 74 186819 je short 04e1ch ; 74 18 6855 6820 mov al, byte [bp-00ch] ; 8a 46 f4 6856 6821 xor ah, ah ; 30 e4 … … 6862 6827 mov al, byte [bp-008h] ; 8a 46 f8 6863 6828 xor cx, cx ; 31 c9 6864 jmp near 04d 5bh ; e9 e4 fe6829 jmp near 04d00h ; e9 e4 fe 6865 6830 mov bl, byte [bp-006h] ; 8a 5e fa 6866 6831 xor bh, bh ; 30 ff … … 6869 6834 mov al, byte [bp-008h] ; 8a 46 f8 6870 6835 xor ah, ah ; 30 e4 6871 call 04 b26h ; e8 9d fc6836 call 04acbh ; e8 9d fc 6872 6837 mov al, byte [bp-006h] ; 8a 46 fa 6873 6838 xor ah, ah ; 30 e4 … … 6882 6847 pop bp ; 5d 6883 6848 retn ; c3 6884 keyboard_panic_: ; 0xf4e 9fLB 0x136849 keyboard_panic_: ; 0xf4e44 LB 0x13 6885 6850 push bp ; 55 6886 6851 mov bp, sp ; 89 e5 … … 6888 6853 push 00574h ; 68 74 05 6889 6854 push strict byte 00007h ; 6a 07 6890 call 01966h ; e8 bb ca6855 call 01966h ; e8 16 cb 6891 6856 add sp, strict byte 00006h ; 83 c4 06 6892 6857 mov sp, bp ; 89 ec 6893 6858 pop bp ; 5d 6894 6859 retn ; c3 6895 _keyboard_init: ; 0xf4e b2LB 0x26a6860 _keyboard_init: ; 0xf4e57 LB 0x26a 6896 6861 push bp ; 55 6897 6862 mov bp, sp ; 89 e5 … … 6905 6870 ; sub ah, ah ; 2a e4 6906 6871 test AL, strict byte 002h ; a8 02 6907 je short 04e d5h ; 74 0d6872 je short 04e7ah ; 74 0d 6908 6873 dec bx ; 4b 6909 6874 test bx, bx ; 85 db 6910 jbe short 04e d5h ; 76 086875 jbe short 04e7ah ; 76 08 6911 6876 xor al, al ; 30 c0 6912 6877 mov dx, 00080h ; ba 80 00 6913 6878 out DX, AL ; ee 6914 jmp short 04e beh ; eb e96879 jmp short 04e63h ; eb e9 6915 6880 test bx, bx ; 85 db 6916 jne short 04e deh ; 75 056881 jne short 04e83h ; 75 05 6917 6882 xor ax, ax ; 31 c0 6918 call 04e 9fh ; e8 c1 ff6883 call 04e44h ; e8 c1 ff 6919 6884 mov bx, strict word 0ffffh ; bb ff ff 6920 6885 mov dx, strict word 00064h ; ba 64 00 … … 6923 6888 ; sub ah, ah ; 2a e4 6924 6889 test AL, strict byte 001h ; a8 01 6925 jne short 04e f8h ; 75 0d6890 jne short 04e9dh ; 75 0d 6926 6891 dec bx ; 4b 6927 6892 test bx, bx ; 85 db 6928 jbe short 04e f8h ; 76 086893 jbe short 04e9dh ; 76 08 6929 6894 mov AL, strict byte 001h ; b0 01 6930 6895 mov dx, 00080h ; ba 80 00 6931 6896 out DX, AL ; ee 6932 jmp short 04e e1h ; eb e96897 jmp short 04e86h ; eb e9 6933 6898 test bx, bx ; 85 db 6934 jne short 04 f02h ; 75 066899 jne short 04ea7h ; 75 06 6935 6900 mov ax, strict word 00001h ; b8 01 00 6936 call 04e 9fh ; e8 9d ff6901 call 04e44h ; e8 9d ff 6937 6902 mov dx, strict word 00060h ; ba 60 00 6938 6903 in AL, DX ; ec … … 6940 6905 ; sub ah, ah ; 2a e4 6941 6906 cmp ax, strict word 00055h ; 3d 55 00 6942 je short 04 f13h ; 74 066907 je short 04eb8h ; 74 06 6943 6908 mov ax, 003dfh ; b8 df 03 6944 call 04e 9fh ; e8 8c ff6909 call 04e44h ; e8 8c ff 6945 6910 mov AL, strict byte 0abh ; b0 ab 6946 6911 mov dx, strict word 00064h ; ba 64 00 … … 6952 6917 ; sub ah, ah ; 2a e4 6953 6918 test AL, strict byte 002h ; a8 02 6954 je short 04 f33h ; 74 0d6919 je short 04ed8h ; 74 0d 6955 6920 dec bx ; 4b 6956 6921 test bx, bx ; 85 db 6957 jbe short 04 f33h ; 76 086922 jbe short 04ed8h ; 76 08 6958 6923 mov AL, strict byte 010h ; b0 10 6959 6924 mov dx, 00080h ; ba 80 00 6960 6925 out DX, AL ; ee 6961 jmp short 04 f1ch ; eb e96926 jmp short 04ec1h ; eb e9 6962 6927 test bx, bx ; 85 db 6963 jne short 04 f3dh ; 75 066928 jne short 04ee2h ; 75 06 6964 6929 mov ax, strict word 0000ah ; b8 0a 00 6965 call 04e 9fh ; e8 62 ff6930 call 04e44h ; e8 62 ff 6966 6931 mov bx, strict word 0ffffh ; bb ff ff 6967 6932 mov dx, strict word 00064h ; ba 64 00 … … 6970 6935 ; sub ah, ah ; 2a e4 6971 6936 test AL, strict byte 001h ; a8 01 6972 jne short 04 f57h ; 75 0d6937 jne short 04efch ; 75 0d 6973 6938 dec bx ; 4b 6974 6939 test bx, bx ; 85 db 6975 jbe short 04 f57h ; 76 086940 jbe short 04efch ; 76 08 6976 6941 mov AL, strict byte 011h ; b0 11 6977 6942 mov dx, 00080h ; ba 80 00 6978 6943 out DX, AL ; ee 6979 jmp short 04 f40h ; eb e96944 jmp short 04ee5h ; eb e9 6980 6945 test bx, bx ; 85 db 6981 jne short 04f 61h ; 75 066946 jne short 04f06h ; 75 06 6982 6947 mov ax, strict word 0000bh ; b8 0b 00 6983 call 04e 9fh ; e8 3e ff6948 call 04e44h ; e8 3e ff 6984 6949 mov dx, strict word 00060h ; ba 60 00 6985 6950 in AL, DX ; ec … … 6987 6952 ; sub ah, ah ; 2a e4 6988 6953 test ax, ax ; 85 c0 6989 je short 04f 71h ; 74 066954 je short 04f16h ; 74 06 6990 6955 mov ax, 003e0h ; b8 e0 03 6991 call 04e 9fh ; e8 2e ff6956 call 04e44h ; e8 2e ff 6992 6957 mov AL, strict byte 0ffh ; b0 ff 6993 6958 mov dx, strict word 00060h ; ba 60 00 … … 6999 6964 ; sub ah, ah ; 2a e4 7000 6965 test AL, strict byte 002h ; a8 02 7001 je short 04f 91h ; 74 0d6966 je short 04f36h ; 74 0d 7002 6967 dec bx ; 4b 7003 6968 test bx, bx ; 85 db 7004 jbe short 04f 91h ; 76 086969 jbe short 04f36h ; 76 08 7005 6970 mov AL, strict byte 020h ; b0 20 7006 6971 mov dx, 00080h ; ba 80 00 7007 6972 out DX, AL ; ee 7008 jmp short 04f 7ah ; eb e96973 jmp short 04f1fh ; eb e9 7009 6974 test bx, bx ; 85 db 7010 jne short 04f 9bh ; 75 066975 jne short 04f40h ; 75 06 7011 6976 mov ax, strict word 00014h ; b8 14 00 7012 call 04e 9fh ; e8 04 ff6977 call 04e44h ; e8 04 ff 7013 6978 mov bx, strict word 0ffffh ; bb ff ff 7014 6979 mov dx, strict word 00064h ; ba 64 00 … … 7017 6982 ; sub ah, ah ; 2a e4 7018 6983 test AL, strict byte 001h ; a8 01 7019 jne short 04f b5h ; 75 0d6984 jne short 04f5ah ; 75 0d 7020 6985 dec bx ; 4b 7021 6986 test bx, bx ; 85 db 7022 jbe short 04f b5h ; 76 086987 jbe short 04f5ah ; 76 08 7023 6988 mov AL, strict byte 021h ; b0 21 7024 6989 mov dx, 00080h ; ba 80 00 7025 6990 out DX, AL ; ee 7026 jmp short 04f 9eh ; eb e96991 jmp short 04f43h ; eb e9 7027 6992 test bx, bx ; 85 db 7028 jne short 04f bfh ; 75 066993 jne short 04f64h ; 75 06 7029 6994 mov ax, strict word 00015h ; b8 15 00 7030 call 04e 9fh ; e8 e0 fe6995 call 04e44h ; e8 e0 fe 7031 6996 mov dx, strict word 00060h ; ba 60 00 7032 6997 in AL, DX ; ec … … 7034 6999 ; sub ah, ah ; 2a e4 7035 7000 cmp ax, 000fah ; 3d fa 00 7036 je short 04f d0h ; 74 067001 je short 04f75h ; 74 06 7037 7002 mov ax, 003e1h ; b8 e1 03 7038 call 04e 9fh ; e8 cf fe7003 call 04e44h ; e8 cf fe 7039 7004 mov dx, strict word 00064h ; ba 64 00 7040 7005 in AL, DX ; ec … … 7042 7007 ; sub ah, ah ; 2a e4 7043 7008 test AL, strict byte 001h ; a8 01 7044 jne short 04f e2h ; 75 087009 jne short 04f87h ; 75 08 7045 7010 mov AL, strict byte 031h ; b0 31 7046 7011 mov dx, 00080h ; ba 80 00 7047 7012 out DX, AL ; ee 7048 jmp short 04f d0h ; eb ee7013 jmp short 04f75h ; eb ee 7049 7014 mov dx, strict word 00060h ; ba 60 00 7050 7015 in AL, DX ; ec … … 7052 7017 ; sub ah, ah ; 2a e4 7053 7018 cmp ax, 000aah ; 3d aa 00 7054 je short 04f fbh ; 74 0e7019 je short 04fa0h ; 74 0e 7055 7020 in AL, DX ; ec 7056 7021 db 02ah, 0e4h 7057 7022 ; sub ah, ah ; 2a e4 7058 7023 cmp ax, 000aah ; 3d aa 00 7059 je short 04f fbh ; 74 067024 je short 04fa0h ; 74 06 7060 7025 mov ax, 003e2h ; b8 e2 03 7061 call 04e 9fh ; e8 a4 fe7026 call 04e44h ; e8 a4 fe 7062 7027 mov AL, strict byte 0f5h ; b0 f5 7063 7028 mov dx, strict word 00060h ; ba 60 00 … … 7069 7034 ; sub ah, ah ; 2a e4 7070 7035 test AL, strict byte 002h ; a8 02 7071 je short 0 501bh ; 74 0d7036 je short 04fc0h ; 74 0d 7072 7037 dec bx ; 4b 7073 7038 test bx, bx ; 85 db 7074 jbe short 0 501bh ; 76 087039 jbe short 04fc0h ; 76 08 7075 7040 mov AL, strict byte 040h ; b0 40 7076 7041 mov dx, 00080h ; ba 80 00 7077 7042 out DX, AL ; ee 7078 jmp short 0 5004h ; eb e97043 jmp short 04fa9h ; eb e9 7079 7044 test bx, bx ; 85 db 7080 jne short 0 5025h ; 75 067045 jne short 04fcah ; 75 06 7081 7046 mov ax, strict word 00028h ; b8 28 00 7082 call 04e 9fh ; e8 7a fe7047 call 04e44h ; e8 7a fe 7083 7048 mov bx, strict word 0ffffh ; bb ff ff 7084 7049 mov dx, strict word 00064h ; ba 64 00 … … 7087 7052 ; sub ah, ah ; 2a e4 7088 7053 test AL, strict byte 001h ; a8 01 7089 jne short 0 503fh ; 75 0d7054 jne short 04fe4h ; 75 0d 7090 7055 dec bx ; 4b 7091 7056 test bx, bx ; 85 db 7092 jbe short 0 503fh ; 76 087057 jbe short 04fe4h ; 76 08 7093 7058 mov AL, strict byte 041h ; b0 41 7094 7059 mov dx, 00080h ; ba 80 00 7095 7060 out DX, AL ; ee 7096 jmp short 0 5028h ; eb e97061 jmp short 04fcdh ; eb e9 7097 7062 test bx, bx ; 85 db 7098 jne short 0 5049h ; 75 067063 jne short 04feeh ; 75 06 7099 7064 mov ax, strict word 00029h ; b8 29 00 7100 call 04e 9fh ; e8 56 fe7065 call 04e44h ; e8 56 fe 7101 7066 mov dx, strict word 00060h ; ba 60 00 7102 7067 in AL, DX ; ec … … 7104 7069 ; sub ah, ah ; 2a e4 7105 7070 cmp ax, 000fah ; 3d fa 00 7106 je short 0 505ah ; 74 067071 je short 04fffh ; 74 06 7107 7072 mov ax, 003e3h ; b8 e3 03 7108 call 04e 9fh ; e8 45 fe7073 call 04e44h ; e8 45 fe 7109 7074 mov AL, strict byte 060h ; b0 60 7110 7075 mov dx, strict word 00064h ; ba 64 00 … … 7116 7081 ; sub ah, ah ; 2a e4 7117 7082 test AL, strict byte 002h ; a8 02 7118 je short 050 7ah ; 74 0d7083 je short 0501fh ; 74 0d 7119 7084 dec bx ; 4b 7120 7085 test bx, bx ; 85 db 7121 jbe short 050 7ah ; 76 087086 jbe short 0501fh ; 76 08 7122 7087 mov AL, strict byte 050h ; b0 50 7123 7088 mov dx, 00080h ; ba 80 00 7124 7089 out DX, AL ; ee 7125 jmp short 050 63h ; eb e97090 jmp short 05008h ; eb e9 7126 7091 test bx, bx ; 85 db 7127 jne short 050 84h ; 75 067092 jne short 05029h ; 75 06 7128 7093 mov ax, strict word 00032h ; b8 32 00 7129 call 04e 9fh ; e8 1b fe7094 call 04e44h ; e8 1b fe 7130 7095 mov AL, strict byte 065h ; b0 65 7131 7096 mov dx, strict word 00060h ; ba 60 00 … … 7137 7102 ; sub ah, ah ; 2a e4 7138 7103 test AL, strict byte 002h ; a8 02 7139 je short 050 a4h ; 74 0d7104 je short 05049h ; 74 0d 7140 7105 dec bx ; 4b 7141 7106 test bx, bx ; 85 db 7142 jbe short 050 a4h ; 76 087107 jbe short 05049h ; 76 08 7143 7108 mov AL, strict byte 060h ; b0 60 7144 7109 mov dx, 00080h ; ba 80 00 7145 7110 out DX, AL ; ee 7146 jmp short 050 8dh ; eb e97111 jmp short 05032h ; eb e9 7147 7112 test bx, bx ; 85 db 7148 jne short 050 aeh ; 75 067113 jne short 05053h ; 75 06 7149 7114 mov ax, strict word 0003ch ; b8 3c 00 7150 call 04e 9fh ; e8 f1 fd7115 call 04e44h ; e8 f1 fd 7151 7116 mov AL, strict byte 0f4h ; b0 f4 7152 7117 mov dx, strict word 00060h ; ba 60 00 … … 7158 7123 ; sub ah, ah ; 2a e4 7159 7124 test AL, strict byte 002h ; a8 02 7160 je short 050 ceh ; 74 0d7125 je short 05073h ; 74 0d 7161 7126 dec bx ; 4b 7162 7127 test bx, bx ; 85 db 7163 jbe short 050 ceh ; 76 087128 jbe short 05073h ; 76 08 7164 7129 mov AL, strict byte 070h ; b0 70 7165 7130 mov dx, 00080h ; ba 80 00 7166 7131 out DX, AL ; ee 7167 jmp short 050 b7h ; eb e97132 jmp short 0505ch ; eb e9 7168 7133 test bx, bx ; 85 db 7169 jne short 050 d8h ; 75 067134 jne short 0507dh ; 75 06 7170 7135 mov ax, strict word 00046h ; b8 46 00 7171 call 04e 9fh ; e8 c7 fd7136 call 04e44h ; e8 c7 fd 7172 7137 mov bx, strict word 0ffffh ; bb ff ff 7173 7138 mov dx, strict word 00064h ; ba 64 00 … … 7176 7141 ; sub ah, ah ; 2a e4 7177 7142 test AL, strict byte 001h ; a8 01 7178 jne short 050 f2h ; 75 0d7143 jne short 05097h ; 75 0d 7179 7144 dec bx ; 4b 7180 7145 test bx, bx ; 85 db 7181 jbe short 050 f2h ; 76 087146 jbe short 05097h ; 76 08 7182 7147 mov AL, strict byte 071h ; b0 71 7183 7148 mov dx, 00080h ; ba 80 00 7184 7149 out DX, AL ; ee 7185 jmp short 050 dbh ; eb e97150 jmp short 05080h ; eb e9 7186 7151 test bx, bx ; 85 db 7187 jne short 050 fch ; 75 067152 jne short 050a1h ; 75 06 7188 7153 mov ax, strict word 00046h ; b8 46 00 7189 call 04e 9fh ; e8 a3 fd7154 call 04e44h ; e8 a3 fd 7190 7155 mov dx, strict word 00060h ; ba 60 00 7191 7156 in AL, DX ; ec … … 7193 7158 ; sub ah, ah ; 2a e4 7194 7159 cmp ax, 000fah ; 3d fa 00 7195 je short 05 10dh ; 74 067160 je short 050b2h ; 74 06 7196 7161 mov ax, 003e4h ; b8 e4 03 7197 call 04e 9fh ; e8 92 fd7162 call 04e44h ; e8 92 fd 7198 7163 mov AL, strict byte 0a8h ; b0 a8 7199 7164 mov dx, strict word 00064h ; ba 64 00 7200 7165 out DX, AL ; ee 7201 7166 xor ax, ax ; 31 c0 7202 call 065 8ch ; e8 74147167 call 06513h ; e8 56 14 7203 7168 mov sp, bp ; 89 ec 7204 7169 pop bp ; 5d 7205 7170 retn ; c3 7206 enqueue_key_: ; 0xf5 11cLB 0x9e7171 enqueue_key_: ; 0xf50c1 LB 0x9e 7207 7172 push bp ; 55 7208 7173 mov bp, sp ; 89 e5 … … 7216 7181 mov dx, strict word 0001ah ; ba 1a 00 7217 7182 mov ax, strict word 00040h ; b8 40 00 7218 call 0166ch ; e8 3ac57183 call 0166ch ; e8 95 c5 7219 7184 mov di, ax ; 89 c7 7220 7185 mov dx, strict word 0001ch ; ba 1c 00 7221 7186 mov ax, strict word 00040h ; b8 40 00 7222 call 0166ch ; e8 2fc57187 call 0166ch ; e8 8a c5 7223 7188 mov si, ax ; 89 c6 7224 7189 lea cx, [si+002h] ; 8d 4c 02 7225 7190 cmp cx, strict byte 0003eh ; 83 f9 3e 7226 jc short 05 14ah ; 72 037191 jc short 050efh ; 72 03 7227 7192 mov cx, strict word 0001eh ; b9 1e 00 7228 7193 cmp cx, di ; 39 f9 7229 jne short 05 152h ; 75 047194 jne short 050f7h ; 75 04 7230 7195 xor ax, ax ; 31 c0 7231 jmp short 051 7ch ; eb 2a7196 jmp short 05121h ; eb 2a 7232 7197 mov al, bl ; 88 d8 7233 7198 xor ah, ah ; 30 e4 … … 7235 7200 mov dx, si ; 89 f2 7236 7201 mov ax, strict word 00040h ; b8 40 00 7237 call 0165eh ; e8 fe c47202 call 0165eh ; e8 59 c5 7238 7203 mov bl, byte [bp-00ah] ; 8a 5e f6 7239 7204 xor bh, bh ; 30 ff 7240 7205 lea dx, [si+001h] ; 8d 54 01 7241 7206 mov ax, strict word 00040h ; b8 40 00 7242 call 0165eh ; e8 f0 c47207 call 0165eh ; e8 4b c5 7243 7208 mov bx, cx ; 89 cb 7244 7209 mov dx, strict word 0001ch ; ba 1c 00 7245 7210 mov ax, strict word 00040h ; b8 40 00 7246 call 0167ah ; e8 01c57211 call 0167ah ; e8 5c c5 7247 7212 mov ax, strict word 00001h ; b8 01 00 7248 7213 lea sp, [bp-008h] ; 8d 66 f8 … … 7263 7228 cmp bh, byte [bx+si] ; 3a 38 7264 7229 sub bl, byte [ss:di] ; 36 2a 1d 7265 clc ; f87230 popfw ; 9d 7266 7231 push sp ; 54 7267 mov AL, strict byte 052h ; b0 527232 push bp ; 55 7268 7233 push dx ; 52 7234 not word [bx+di-009h] ; f7 51 f7 7235 push cx ; 51 7236 in AL, strict byte 052h ; e4 52 7237 into ; ce 7238 push cx ; 51 7239 push 0dc53h ; 68 53 dc 7240 push bx ; 53 7241 adc word [si+061h], strict byte 00054h ; 83 54 61 54 7242 pushfw ; 9c 7269 7243 push dx ; 52 7270 push dx ; 527271 push dx ; 527272 aas ; 3f7273 push bx ;537274 sub word [bp+si-03dh], dx ; 29 52 c37275 push bx ; 537276 aaa ; 377244 not word [bx+di-009h] ; f7 51 f7 7245 push cx ; 51 7246 db 026h, 053h 7247 ; es push bx ; 26 53 7248 in AL, DX ; ec 7249 push cx ; 51 7250 mov sp, 04153h ; bc 53 41 7277 7251 push sp ; 54 7278 ficom word [si-044h] ; de 54 bc 7279 push sp ; 54 7280 not word [bp+si+052h] ; f7 52 52 7281 push dx ; 52 7282 push dx ; 52 7283 push dx ; 52 7284 adc word [bp+di+047h], 01752h ; 81 53 47 52 17 7285 push sp ; 54 7286 pushfw ; 9c 7287 push sp ; 54 7288 xlatb ; d7 7289 push sp ; 54 7290 _int09_function: ; 0xf51ba LB 0x494 7252 jl short 051b3h ; 7c 54 7253 _int09_function: ; 0xf515f LB 0x494 7291 7254 push bp ; 55 7292 7255 mov bp, sp ; 89 e5 … … 7296 7259 mov byte [bp-00ah], al ; 88 46 f6 7297 7260 test al, al ; 84 c0 7298 jne short 051 e4h ; 75 197261 jne short 05189h ; 75 19 7299 7262 mov bx, 00da0h ; bb a0 0d 7300 7263 mov cx, ds ; 8c d9 7301 7264 mov ax, strict word 00004h ; b8 04 00 7302 call 01923h ; e8 4dc77265 call 01923h ; e8 a8 c7 7303 7266 push 00587h ; 68 87 05 7304 7267 push strict byte 00004h ; 6a 04 7305 call 01966h ; e8 88c77268 call 01966h ; e8 e3 c7 7306 7269 add sp, strict byte 00004h ; 83 c4 04 7307 jmp near 052 aah ; e9 c6 007270 jmp near 0524fh ; e9 c6 00 7308 7271 mov dx, strict word 00018h ; ba 18 00 7309 7272 mov ax, strict word 00040h ; b8 40 00 7310 call 01650h ; e8 63c47273 call 01650h ; e8 be c4 7311 7274 mov byte [bp-010h], al ; 88 46 f0 7312 7275 mov byte [bp-008h], al ; 88 46 f8 7313 7276 mov dx, 00096h ; ba 96 00 7314 7277 mov ax, strict word 00040h ; b8 40 00 7315 call 01650h ; e8 54c47278 call 01650h ; e8 af c4 7316 7279 mov byte [bp-004h], al ; 88 46 fc 7317 7280 mov byte [bp-00ch], al ; 88 46 f4 7318 7281 mov dx, strict word 00017h ; ba 17 00 7319 7282 mov ax, strict word 00040h ; b8 40 00 7320 call 01650h ; e8 45c47283 call 01650h ; e8 a0 c4 7321 7284 mov byte [bp-006h], al ; 88 46 fa 7322 7285 mov byte [bp-00eh], al ; 88 46 f2 … … 7325 7288 pop ES ; 07 7326 7289 mov cx, strict word 00012h ; b9 12 00 7327 mov di, 051 85h ; bf 85517290 mov di, 0512ah ; bf 2a 51 7328 7291 repne scasb ; f2 ae 7329 7292 sal cx, 1 ; d1 e1 7330 7293 mov di, cx ; 89 cf 7331 mov ax, word [cs:di+051 96h] ; 2e 8b 85 96517294 mov ax, word [cs:di+0513bh] ; 2e 8b 85 3b 51 7332 7295 jmp ax ; ff e0 7333 7296 xor byte [bp-00eh], 040h ; 80 76 f2 40 … … 7337 7300 mov dx, strict word 00017h ; ba 17 00 7338 7301 mov ax, strict word 00040h ; b8 40 00 7339 call 0165eh ; e8 21c47302 call 0165eh ; e8 7c c4 7340 7303 or byte [bp-008h], 040h ; 80 4e f8 40 7341 7304 mov al, byte [bp-008h] ; 8a 46 f8 7342 jmp near 054 c8h ; e9 81 027305 jmp near 0546dh ; e9 81 02 7343 7306 mov al, byte [bp-010h] ; 8a 46 f0 7344 7307 and AL, strict byte 0bfh ; 24 bf 7345 7308 mov byte [bp-008h], al ; 88 46 f8 7346 jmp near 054 c8h ; e9 76 027309 jmp near 0546dh ; e9 76 02 7347 7310 test byte [bp-00ch], 002h ; f6 46 f4 02 7348 jne short 052 8bh ; 75 337311 jne short 05230h ; 75 33 7349 7312 mov al, byte [bp-00ah] ; 8a 46 f6 7350 7313 and AL, strict byte 07fh ; 24 7f 7351 7314 cmp AL, strict byte 02ah ; 3c 2a 7352 jne short 052 66h ; 75 057315 jne short 0520bh ; 75 05 7353 7316 mov dx, strict word 00002h ; ba 02 00 7354 jmp short 052 69h ; eb 037317 jmp short 0520eh ; eb 03 7355 7318 mov dx, strict word 00001h ; ba 01 00 7356 7319 test byte [bp-00ah], 080h ; f6 46 f6 80 7357 je short 052 78h ; 74 097320 je short 0521dh ; 74 09 7358 7321 mov al, dl ; 88 d0 7359 7322 not al ; f6 d0 7360 7323 and byte [bp-00eh], al ; 20 46 f2 7361 jmp short 052 7bh ; eb 037324 jmp short 05220h ; eb 03 7362 7325 or byte [bp-00eh], dl ; 08 56 f2 7363 7326 mov al, byte [bp-00eh] ; 8a 46 f2 … … 7366 7329 mov dx, strict word 00017h ; ba 17 00 7367 7330 mov ax, strict word 00040h ; b8 40 00 7368 call 0165eh ; e8 d3 c37331 call 0165eh ; e8 2e c4 7369 7332 mov al, byte [bp-00ah] ; 8a 46 f6 7370 7333 and AL, strict byte 07fh ; 24 7f 7371 7334 cmp AL, strict byte 01dh ; 3c 1d 7372 je short 052 98h ; 74 047335 je short 0523dh ; 74 04 7373 7336 and byte [bp-00ch], 0feh ; 80 66 f4 fe 7374 7337 and byte [bp-00ch], 0fdh ; 80 66 f4 fd … … 7377 7340 mov dx, 00096h ; ba 96 00 7378 7341 mov ax, strict word 00040h ; b8 40 00 7379 call 0165eh ; e8 b4 c37342 call 0165eh ; e8 0f c4 7380 7343 lea sp, [bp-002h] ; 8d 66 fe 7381 7344 pop di ; 5f … … 7383 7346 retn ; c3 7384 7347 test byte [bp-004h], 001h ; f6 46 fc 01 7385 jne short 052 8bh ; 75 d57348 jne short 05230h ; 75 d5 7386 7349 mov al, byte [bp-006h] ; 8a 46 fa 7387 7350 or AL, strict byte 004h ; 0c 04 … … 7391 7354 mov dx, strict word 00017h ; ba 17 00 7392 7355 mov ax, strict word 00040h ; b8 40 00 7393 call 0165eh ; e8 93c37356 call 0165eh ; e8 ee c3 7394 7357 mov al, byte [bp-004h] ; 8a 46 fc 7395 7358 test AL, strict byte 002h ; a8 02 7396 je short 052 e0h ; 74 0e7359 je short 05285h ; 74 0e 7397 7360 or AL, strict byte 004h ; 0c 04 7398 7361 mov byte [bp-00ch], al ; 88 46 f4 … … 7400 7363 mov bx, ax ; 89 c3 7401 7364 mov dx, 00096h ; ba 96 00 7402 jmp short 052 efh ; eb 0f7365 jmp short 05294h ; eb 0f 7403 7366 mov al, byte [bp-010h] ; 8a 46 f0 7404 7367 or AL, strict byte 001h ; 0c 01 … … 7408 7371 mov dx, strict word 00018h ; ba 18 00 7409 7372 mov ax, strict word 00040h ; b8 40 00 7410 call 0165eh ; e8 69c37411 jmp short 052 8bh ; eb 947373 call 0165eh ; e8 c4 c3 7374 jmp short 05230h ; eb 94 7412 7375 test byte [bp-004h], 001h ; f6 46 fc 01 7413 jne short 052 8bh ; 75 8e7376 jne short 05230h ; 75 8e 7414 7377 mov al, byte [bp-006h] ; 8a 46 fa 7415 7378 and AL, strict byte 0fbh ; 24 fb … … 7419 7382 mov dx, strict word 00017h ; ba 17 00 7420 7383 mov ax, strict word 00040h ; b8 40 00 7421 call 0165eh ; e8 4cc37384 call 0165eh ; e8 a7 c3 7422 7385 mov al, byte [bp-004h] ; 8a 46 fc 7423 7386 test AL, strict byte 002h ; a8 02 7424 je short 05 327h ; 74 0e7387 je short 052cch ; 74 0e 7425 7388 and AL, strict byte 0fbh ; 24 fb 7426 7389 mov byte [bp-00ch], al ; 88 46 f4 … … 7428 7391 mov bx, ax ; 89 c3 7429 7392 mov dx, 00096h ; ba 96 00 7430 jmp short 05 336h ; eb 0f7393 jmp short 052dbh ; eb 0f 7431 7394 mov al, byte [bp-010h] ; 8a 46 f0 7432 7395 and AL, strict byte 0feh ; 24 fe … … 7436 7399 mov dx, strict word 00018h ; ba 18 00 7437 7400 mov ax, strict word 00040h ; b8 40 00 7438 call 0165eh ; e8 22c37439 jmp near 052 8bh ; e9 4c ff7401 call 0165eh ; e8 7d c3 7402 jmp near 05230h ; e9 4c ff 7440 7403 mov al, byte [bp-006h] ; 8a 46 fa 7441 7404 or AL, strict byte 008h ; 0c 08 … … 7445 7408 mov dx, strict word 00017h ; ba 17 00 7446 7409 mov ax, strict word 00040h ; b8 40 00 7447 call 0165eh ; e8 0ac37410 call 0165eh ; e8 65 c3 7448 7411 mov al, byte [bp-004h] ; 8a 46 fc 7449 7412 test AL, strict byte 002h ; a8 02 7450 je short 053 69h ; 74 0e7413 je short 0530eh ; 74 0e 7451 7414 or AL, strict byte 008h ; 0c 08 7452 7415 mov byte [bp-00ch], al ; 88 46 f4 … … 7454 7417 mov bx, ax ; 89 c3 7455 7418 mov dx, 00096h ; ba 96 00 7456 jmp short 053 78h ; eb 0f7419 jmp short 0531dh ; eb 0f 7457 7420 mov al, byte [bp-010h] ; 8a 46 f0 7458 7421 or AL, strict byte 002h ; 0c 02 … … 7462 7425 mov dx, strict word 00018h ; ba 18 00 7463 7426 mov ax, strict word 00040h ; b8 40 00 7464 call 0165eh ; e8 e0 c27465 jmp near 052 8bh ; e9 0a ff7427 call 0165eh ; e8 3b c3 7428 jmp near 05230h ; e9 0a ff 7466 7429 mov al, byte [bp-006h] ; 8a 46 fa 7467 7430 and AL, strict byte 0f7h ; 24 f7 … … 7471 7434 mov dx, strict word 00017h ; ba 17 00 7472 7435 mov ax, strict word 00040h ; b8 40 00 7473 call 0165eh ; e8 c8 c27436 call 0165eh ; e8 23 c3 7474 7437 mov al, byte [bp-004h] ; 8a 46 fc 7475 7438 test AL, strict byte 002h ; a8 02 7476 je short 053 abh ; 74 0e7439 je short 05350h ; 74 0e 7477 7440 and AL, strict byte 0f7h ; 24 f7 7478 7441 mov byte [bp-00ch], al ; 88 46 f4 … … 7480 7443 mov bx, ax ; 89 c3 7481 7444 mov dx, 00096h ; ba 96 00 7482 jmp short 053 bah ; eb 0f7445 jmp short 0535fh ; eb 0f 7483 7446 mov al, byte [bp-010h] ; 8a 46 f0 7484 7447 and AL, strict byte 0fdh ; 24 fd … … 7488 7451 mov dx, strict word 00018h ; ba 18 00 7489 7452 mov ax, strict word 00040h ; b8 40 00 7490 call 0165eh ; e8 9ec27491 jmp near 052 8bh ; e9 c8 fe7453 call 0165eh ; e8 f9 c2 7454 jmp near 05230h ; e9 c8 fe 7492 7455 test byte [bp-004h], 003h ; f6 46 fc 03 7493 jne short 053 e9h ; 75 207456 jne short 0538eh ; 75 20 7494 7457 mov al, byte [bp-010h] ; 8a 46 f0 7495 7458 or AL, strict byte 020h ; 0c 20 … … 7499 7462 mov dx, strict word 00018h ; ba 18 00 7500 7463 mov ax, strict word 00040h ; b8 40 00 7501 call 0165eh ; e8 80c27464 call 0165eh ; e8 db c2 7502 7465 mov al, byte [bp-006h] ; 8a 46 fa 7503 7466 xor AL, strict byte 020h ; 34 20 7504 7467 mov byte [bp-00eh], al ; 88 46 f2 7505 jmp near 052 7eh ; e9 95 fe7468 jmp near 05223h ; e9 95 fe 7506 7469 mov al, byte [bp-010h] ; 8a 46 f0 7507 7470 or AL, strict byte 008h ; 0c 08 … … 7511 7474 mov dx, strict word 00018h ; ba 18 00 7512 7475 mov ax, strict word 00040h ; b8 40 00 7513 call 0165eh ; e8 60c27476 call 0165eh ; e8 bb c2 7514 7477 mov AL, strict byte 0aeh ; b0 ae 7515 7478 mov dx, strict word 00064h ; ba 64 00 7516 7479 out DX, AL ; ee 7517 call 0e034h ; e8 2d8c7480 call 0e034h ; e8 88 8c 7518 7481 mov dx, strict word 00018h ; ba 18 00 7519 7482 mov ax, strict word 00040h ; b8 40 00 7520 call 01650h ; e8 40c27483 call 01650h ; e8 9b c2 7521 7484 test AL, strict byte 008h ; a8 08 7522 jne short 05 407h ; 75 f37523 jmp near 052 8bh ; e9 74 fe7485 jne short 053ach ; 75 f3 7486 jmp near 05230h ; e9 74 fe 7524 7487 test byte [bp-004h], 003h ; f6 46 fc 03 7525 je short 05 420h ; 74 037526 jmp near 052 8bh ; e9 6b fe7488 je short 053c5h ; 74 03 7489 jmp near 05230h ; e9 6b fe 7527 7490 mov al, byte [bp-010h] ; 8a 46 f0 7528 7491 and AL, strict byte 0dfh ; 24 df … … 7532 7495 mov dx, strict word 00018h ; ba 18 00 7533 7496 mov ax, strict word 00040h ; b8 40 00 7534 call 0165eh ; e8 29c27535 jmp short 05 41dh ; eb e67497 call 0165eh ; e8 84 c2 7498 jmp short 053c2h ; eb e6 7536 7499 test byte [bp-004h], 002h ; f6 46 fc 02 7537 je short 054 70h ; 74 337500 je short 05415h ; 74 33 7538 7501 mov dx, strict word 0001ah ; ba 1a 00 7539 7502 mov ax, strict word 00040h ; b8 40 00 7540 call 0166ch ; e8 26c27503 call 0166ch ; e8 81 c2 7541 7504 mov bx, ax ; 89 c3 7542 7505 mov dx, strict word 0001ch ; ba 1c 00 7543 7506 mov ax, strict word 00040h ; b8 40 00 7544 call 0167ah ; e8 29c27507 call 0167ah ; e8 84 c2 7545 7508 mov bx, 00080h ; bb 80 00 7546 7509 mov dx, strict word 00071h ; ba 71 00 7547 7510 mov ax, strict word 00040h ; b8 40 00 7548 call 0165eh ; e8 01c27511 call 0165eh ; e8 5c c2 7549 7512 mov AL, strict byte 0aeh ; b0 ae 7550 7513 mov dx, strict word 00064h ; ba 64 00 … … 7555 7518 xor dx, dx ; 31 d2 7556 7519 xor ax, ax ; 31 c0 7557 call 05 11ch ; e8 ae fc7558 jmp short 05 41dh ; eb ad7520 call 050c1h ; e8 ae fc 7521 jmp short 053c2h ; eb ad 7559 7522 mov al, byte [bp-010h] ; 8a 46 f0 7560 7523 or AL, strict byte 010h ; 0c 10 … … 7564 7527 mov dx, strict word 00018h ; ba 18 00 7565 7528 mov ax, strict word 00040h ; b8 40 00 7566 call 0165eh ; e8 d9 c17529 call 0165eh ; e8 34 c2 7567 7530 mov al, byte [bp-006h] ; 8a 46 fa 7568 7531 xor AL, strict byte 010h ; 34 10 … … 7572 7535 mov dx, strict word 00017h ; ba 17 00 7573 7536 mov ax, strict word 00040h ; b8 40 00 7574 call 0165eh ; e8 c4 c17575 jmp short 05 41dh ; eb 817537 call 0165eh ; e8 1f c2 7538 jmp short 053c2h ; eb 81 7576 7539 test byte [bp-004h], 002h ; f6 46 fc 02 7577 je short 054 a5h ; 74 037578 jmp near 052 8bh ; e9 e6 fd7540 je short 0544ah ; 74 03 7541 jmp near 05230h ; e9 e6 fd 7579 7542 mov al, byte [bp-010h] ; 8a 46 f0 7580 7543 and AL, strict byte 0efh ; 24 ef … … 7584 7547 mov dx, strict word 00018h ; ba 18 00 7585 7548 mov ax, strict word 00040h ; b8 40 00 7586 call 0165eh ; e8 a4c17587 jmp short 054 a2h ; eb e67549 call 0165eh ; e8 ff c1 7550 jmp short 05447h ; eb e6 7588 7551 mov al, byte [bp-010h] ; 8a 46 f0 7589 7552 test AL, strict byte 004h ; a8 04 7590 jne short 054 a2h ; 75 df7553 jne short 05447h ; 75 df 7591 7554 or AL, strict byte 004h ; 0c 04 7592 7555 mov byte [bp-008h], al ; 88 46 f8 … … 7595 7558 mov dx, strict word 00018h ; ba 18 00 7596 7559 mov ax, strict word 00040h ; b8 40 00 7597 call 0165eh ; e8 89c17598 jmp short 054 a2h ; eb cb7560 call 0165eh ; e8 e4 c1 7561 jmp short 05447h ; eb cb 7599 7562 mov al, byte [bp-010h] ; 8a 46 f0 7600 7563 and AL, strict byte 0fbh ; 24 fb 7601 jmp short 054 aah ; eb cc7564 jmp short 0544fh ; eb cc 7602 7565 mov al, byte [bp-006h] ; 8a 46 fa 7603 7566 and AL, strict byte 00ch ; 24 0c 7604 7567 cmp AL, strict byte 00ch ; 3c 0c 7605 jne short 054 f8h ; 75 117568 jne short 0549dh ; 75 11 7606 7569 mov bx, 01234h ; bb 34 12 7607 7570 mov dx, strict word 00072h ; ba 72 00 7608 7571 mov ax, strict word 00040h ; b8 40 00 7609 call 0167ah ; e8 87c17572 call 0167ah ; e8 e2 c1 7610 7573 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 7611 7574 test byte [bp-008h], 008h ; f6 46 f8 08 7612 je short 05 50dh ; 74 0f7575 je short 054b2h ; 74 0f 7613 7576 and byte [bp-008h], 0f7h ; 80 66 f8 f7 7614 7577 mov bl, byte [bp-008h] ; 8a 5e f8 7615 7578 xor bh, bh ; 30 ff 7616 7579 mov dx, strict word 00018h ; ba 18 00 7617 jmp near 052 a4h ; e9 97 fd7580 jmp near 05249h ; e9 97 fd 7618 7581 mov al, byte [bp-00ah] ; 8a 46 f6 7619 7582 test AL, strict byte 080h ; a8 80 7620 je short 05 54bh ; 74 377583 je short 054f0h ; 74 37 7621 7584 cmp AL, strict byte 0fah ; 3c fa 7622 jne short 05 52ah ; 75 127585 jne short 054cfh ; 75 12 7623 7586 mov dx, 00097h ; ba 97 00 7624 7587 mov ax, strict word 00040h ; b8 40 00 7625 call 01650h ; e8 2fc17588 call 01650h ; e8 8a c1 7626 7589 mov bl, al ; 88 c3 7627 7590 or bl, 010h ; 80 cb 10 7628 7591 xor bh, bh ; 30 ff 7629 jmp short 05 540h ; eb 167592 jmp short 054e5h ; eb 16 7630 7593 cmp AL, strict byte 0feh ; 3c fe 7631 je short 05 531h ; 74 037632 jmp near 052 8bh ; e9 5a fd7594 je short 054d6h ; 74 03 7595 jmp near 05230h ; e9 5a fd 7633 7596 mov dx, 00097h ; ba 97 00 7634 7597 mov ax, strict word 00040h ; b8 40 00 7635 call 01650h ; e8 16c17598 call 01650h ; e8 71 c1 7636 7599 or AL, strict byte 020h ; 0c 20 7637 7600 xor ah, ah ; 30 e4 … … 7639 7602 mov dx, 00097h ; ba 97 00 7640 7603 mov ax, strict word 00040h ; b8 40 00 7641 call 0165eh ; e8 15c17642 jmp short 05 52eh ; eb e37604 call 0165eh ; e8 70 c1 7605 jmp short 054d3h ; eb e3 7643 7606 cmp byte [bp-00ah], 058h ; 80 7e f6 58 7644 jbe short 055 70h ; 76 1f7607 jbe short 05515h ; 76 1f 7645 7608 mov bx, 00da0h ; bb a0 0d 7646 7609 mov cx, ds ; 8c d9 7647 7610 mov ax, strict word 00004h ; b8 04 00 7648 call 01923h ; e8 c7 c37611 call 01923h ; e8 22 c4 7649 7612 mov al, byte [bp-00ah] ; 8a 46 f6 7650 7613 xor ah, ah ; 30 e4 … … 7652 7615 push 005a1h ; 68 a1 05 7653 7616 push strict byte 00004h ; 6a 04 7654 call 01966h ; e8 fc c37617 call 01966h ; e8 57 c4 7655 7618 add sp, strict byte 00006h ; 83 c4 06 7656 jmp near 052 aah ; e9 3a fd7619 jmp near 0524fh ; e9 3a fd 7657 7620 mov al, byte [bp-00eh] ; 8a 46 f2 7658 7621 test AL, strict byte 008h ; a8 08 7659 je short 055 8ah ; 74 137622 je short 0552fh ; 74 13 7660 7623 mov al, byte [bp-00ah] ; 8a 46 f6 7661 7624 xor ah, ah ; 30 e4 … … 7663 7626 mov dl, byte [bx+00df4h] ; 8a 97 f4 0d 7664 7627 mov ax, word [bx+00df4h] ; 8b 87 f4 0d 7665 jmp near 05 61ah ; e9 90 007628 jmp near 055bfh ; e9 90 00 7666 7629 test AL, strict byte 004h ; a8 04 7667 je short 055 a1h ; 74 137630 je short 05546h ; 74 13 7668 7631 mov al, byte [bp-00ah] ; 8a 46 f6 7669 7632 xor ah, ah ; 30 e4 … … 7671 7634 mov dl, byte [bx+00df2h] ; 8a 97 f2 0d 7672 7635 mov ax, word [bx+00df2h] ; 8b 87 f2 0d 7673 jmp near 05 61ah ; e9 79 007636 jmp near 055bfh ; e9 79 00 7674 7637 mov al, byte [bp-00ch] ; 8a 46 f4 7675 7638 and AL, strict byte 002h ; 24 02 7676 7639 test al, al ; 84 c0 7677 jbe short 055 beh ; 76 147640 jbe short 05563h ; 76 14 7678 7641 mov al, byte [bp-00ah] ; 8a 46 f6 7679 7642 cmp AL, strict byte 047h ; 3c 47 7680 jc short 055 beh ; 72 0d7643 jc short 05563h ; 72 0d 7681 7644 cmp AL, strict byte 053h ; 3c 53 7682 jnbe short 055 beh ; 77 097645 jnbe short 05563h ; 77 09 7683 7646 mov DL, strict byte 0e0h ; b2 e0 7684 7647 xor ah, ah ; 30 e4 7685 7648 imul bx, ax, strict byte 0000ah ; 6b d8 0a 7686 jmp short 05 616h ; eb 587649 jmp short 055bbh ; eb 58 7687 7650 test byte [bp-00eh], 003h ; f6 46 f2 03 7688 je short 055 f3h ; 74 2f7651 je short 05598h ; 74 2f 7689 7652 mov al, byte [bp-00ah] ; 8a 46 f6 7690 7653 xor ah, ah ; 30 e4 … … 7694 7657 mov al, byte [bp-00eh] ; 8a 46 f2 7695 7658 test ax, dx ; 85 d0 7696 je short 055 e3h ; 74 0a7659 je short 05588h ; 74 0a 7697 7660 mov dl, byte [bx+00deeh] ; 8a 97 ee 0d 7698 7661 mov ax, word [bx+00deeh] ; 8b 87 ee 0d 7699 jmp short 055 ebh ; eb 087662 jmp short 05590h ; eb 08 7700 7663 mov dl, byte [bx+00df0h] ; 8a 97 f0 0d 7701 7664 mov ax, word [bx+00df0h] ; 8b 87 f0 0d 7702 7665 shr ax, 008h ; c1 e8 08 7703 7666 mov byte [bp-00ah], al ; 88 46 f6 7704 jmp short 05 620h ; eb 2d7667 jmp short 055c5h ; eb 2d 7705 7668 mov al, byte [bp-00ah] ; 8a 46 f6 7706 7669 xor ah, ah ; 30 e4 … … 7710 7673 mov al, byte [bp-00eh] ; 8a 46 f2 7711 7674 test ax, dx ; 85 d0 7712 je short 05 612h ; 74 0a7675 je short 055b7h ; 74 0a 7713 7676 mov dl, byte [bx+00df0h] ; 8a 97 f0 0d 7714 7677 mov ax, word [bx+00df0h] ; 8b 87 f0 0d 7715 jmp short 05 61ah ; eb 087678 jmp short 055bfh ; eb 08 7716 7679 mov dl, byte [bx+00deeh] ; 8a 97 ee 0d 7717 7680 mov ax, word [bx+00deeh] ; 8b 87 ee 0d … … 7719 7682 mov byte [bp-00ah], al ; 88 46 f6 7720 7683 cmp byte [bp-00ah], 000h ; 80 7e f6 00 7721 jne short 05 640h ; 75 1a7684 jne short 055e5h ; 75 1a 7722 7685 test dl, dl ; 84 d2 7723 jne short 05 640h ; 75 167686 jne short 055e5h ; 75 16 7724 7687 mov bx, 00da0h ; bb a0 0d 7725 7688 mov cx, ds ; 8c d9 7726 7689 mov ax, strict word 00004h ; b8 04 00 7727 call 01923h ; e8 ee c27690 call 01923h ; e8 49 c3 7728 7691 push 005d8h ; 68 d8 05 7729 7692 push strict byte 00004h ; 6a 04 7730 call 01966h ; e8 29c37693 call 01966h ; e8 84 c3 7731 7694 add sp, strict byte 00004h ; 83 c4 04 7732 7695 mov bl, dl ; 88 d3 … … 7735 7698 xor ah, ah ; 30 e4 7736 7699 mov dx, bx ; 89 da 7737 jmp near 054 6bh ; e9 1d fe7738 dequeue_key_: ; 0xf5 64eLB 0x947700 jmp near 05410h ; e9 1d fe 7701 dequeue_key_: ; 0xf55f3 LB 0x94 7739 7702 push bp ; 55 7740 7703 mov bp, sp ; 89 e5 … … 7749 7712 mov dx, strict word 0001ah ; ba 1a 00 7750 7713 mov ax, strict word 00040h ; b8 40 00 7751 call 0166ch ; e8 04c07714 call 0166ch ; e8 5f c0 7752 7715 mov bx, ax ; 89 c3 7753 7716 mov dx, strict word 0001ch ; ba 1c 00 7754 7717 mov ax, strict word 00040h ; b8 40 00 7755 call 0166ch ; e8 f9 bf7718 call 0166ch ; e8 54 c0 7756 7719 cmp bx, ax ; 39 c3 7757 je short 056 b4h ; 74 3d7720 je short 05659h ; 74 3d 7758 7721 mov dx, bx ; 89 da 7759 7722 mov ax, strict word 00040h ; b8 40 00 7760 call 01650h ; e8 d1 bf7723 call 01650h ; e8 2c c0 7761 7724 mov cl, al ; 88 c1 7762 7725 lea dx, [bx+001h] ; 8d 57 01 7763 7726 mov ax, strict word 00040h ; b8 40 00 7764 call 01650h ; e8 c6 bf7727 call 01650h ; e8 21 c0 7765 7728 mov es, [bp-008h] ; 8e 46 f8 7766 7729 mov byte [es:si], cl ; 26 88 0c … … 7768 7731 mov byte [es:di], al ; 26 88 05 7769 7732 cmp word [bp+004h], strict byte 00000h ; 83 7e 04 00 7770 je short 056 afh ; 74 137733 je short 05654h ; 74 13 7771 7734 inc bx ; 43 7772 7735 inc bx ; 43 7773 7736 cmp bx, strict byte 0003eh ; 83 fb 3e 7774 jc short 056 a6h ; 72 037737 jc short 0564bh ; 72 03 7775 7738 mov bx, strict word 0001eh ; bb 1e 00 7776 7739 mov dx, strict word 0001ah ; ba 1a 00 7777 7740 mov ax, strict word 00040h ; b8 40 00 7778 call 0167ah ; e8 cb bf7741 call 0167ah ; e8 26 c0 7779 7742 mov ax, strict word 00001h ; b8 01 00 7780 jmp short 056 b6h ; eb 027743 jmp short 0565bh ; eb 02 7781 7744 xor ax, ax ; 31 c0 7782 7745 lea sp, [bp-004h] ; 8d 66 fc … … 7789 7752 or cl, byte [bx+di] ; 0a 09 7790 7753 add ax, 00102h ; 05 02 01 7791 add ah, ah ; 00 e47754 add byte [bx+di+04057h], cl ; 00 89 57 40 7792 7755 push di ; 57 7793 wait ; 9b 7756 rcl byte [bx+01eh], CL ; d2 57 1e 7757 pop ax ; 58 7758 das ; 2f 7759 pop ax ; 58 7760 pop ax ; 58 7761 pop ax ; 58 7762 popaw ; 61 7763 pop ax ; 58 7764 rcr byte [bx+si+004h], CL ; d2 58 04 7765 pop cx ; 59 7766 xor bx, word [bx+di+06ch] ; 33 59 6c 7767 pop cx ; 59 7768 int3 ; cc 7794 7769 push di ; 57 7795 sub ax, 07958h ; 2d 58 79 7796 pop ax ; 58 7797 mov bl, byte [bx+si-04dh] ; 8a 58 b3 7798 pop ax ; 58 7799 mov sp, 02d58h ; bc 58 2d 7800 pop cx ; 59 7801 pop di ; 5f 7802 pop cx ; 59 7803 mov ds, [bx+di-039h] ; 8e 59 c7 7804 pop cx ; 59 7805 daa ; 27 7806 pop ax ; 58 7807 _int16_function: ; 0xf56e2 LB 0x2f0 7770 _int16_function: ; 0xf5687 LB 0x2f0 7808 7771 push bp ; 55 7809 7772 mov bp, sp ; 89 e5 … … 7812 7775 mov dx, strict word 00017h ; ba 17 00 7813 7776 mov ax, strict word 00040h ; b8 40 00 7814 call 01650h ; e8 5ebf7777 call 01650h ; e8 b9 bf 7815 7778 mov cl, al ; 88 c1 7816 7779 mov bh, al ; 88 c7 7817 7780 mov dx, 00097h ; ba 97 00 7818 7781 mov ax, strict word 00040h ; b8 40 00 7819 call 01650h ; e8 51bf7782 call 01650h ; e8 ac bf 7820 7783 mov bl, al ; 88 c3 7821 7784 mov dl, cl ; 88 ca … … 7827 7790 xor al, dl ; 30 d0 7828 7791 test ax, ax ; 85 c0 7829 je short 057 7bh ; 74 667792 je short 05720h ; 74 66 7830 7793 cli ; fa 7831 7794 mov AL, strict byte 0edh ; b0 ed … … 7837 7800 ; sub ah, ah ; 2a e4 7838 7801 test AL, strict byte 001h ; a8 01 7839 jne short 05 72eh ; 75 087802 jne short 056d3h ; 75 08 7840 7803 mov AL, strict byte 021h ; b0 21 7841 7804 mov dx, 00080h ; ba 80 00 7842 7805 out DX, AL ; ee 7843 jmp short 05 71ch ; eb ee7806 jmp short 056c1h ; eb ee 7844 7807 mov dx, strict word 00060h ; ba 60 00 7845 7808 in AL, DX ; ec … … 7847 7810 ; sub ah, ah ; 2a e4 7848 7811 cmp ax, 000fah ; 3d fa 00 7849 jne short 057 7ah ; 75 417812 jne short 0571fh ; 75 41 7850 7813 mov dl, bl ; 88 da 7851 7814 and dl, 0c8h ; 80 e2 c8 … … 7867 7830 ; sub ah, ah ; 2a e4 7868 7831 test AL, strict byte 001h ; a8 01 7869 jne short 057 69h ; 75 087832 jne short 0570eh ; 75 08 7870 7833 mov AL, strict byte 021h ; b0 21 7871 7834 mov dx, 00080h ; ba 80 00 7872 7835 out DX, AL ; ee 7873 jmp short 05 757h ; eb ee7836 jmp short 056fch ; eb ee 7874 7837 mov dx, strict word 00060h ; ba 60 00 7875 7838 in AL, DX ; ec … … 7879 7842 mov dx, 00097h ; ba 97 00 7880 7843 mov ax, strict word 00040h ; b8 40 00 7881 call 0165eh ; e8 e4 be7844 call 0165eh ; e8 3f bf 7882 7845 sti ; fb 7883 7846 mov ax, word [bp+012h] ; 8b 46 12 7884 7847 shr ax, 008h ; c1 e8 08 7885 7848 cmp ax, 000a2h ; 3d a2 00 7886 jnbe short 057 e4h ; 77 5e7849 jnbe short 05789h ; 77 5e 7887 7850 push CS ; 0e 7888 7851 pop ES ; 07 7889 7852 mov cx, strict word 0000ch ; b9 0c 00 7890 mov di, 056 bfh ; bf bf567853 mov di, 05664h ; bf 64 56 7891 7854 repne scasb ; f2 ae 7892 7855 sal cx, 1 ; d1 e1 7893 7856 mov di, cx ; 89 cf 7894 mov ax, word [cs:di+056 cah] ; 2e 8b 85 ca567857 mov ax, word [cs:di+0566fh] ; 2e 8b 85 6f 56 7895 7858 jmp ax ; ff e0 7896 7859 push strict byte 00001h ; 6a 01 … … 7899 7862 mov dx, ss ; 8c d2 7900 7863 lea ax, [bp-006h] ; 8d 46 fa 7901 call 05 64eh ; e8 a4 fe7864 call 055f3h ; e8 a4 fe 7902 7865 test ax, ax ; 85 c0 7903 jne short 057 b9h ; 75 0b7866 jne short 0575eh ; 75 0b 7904 7867 push 0060fh ; 68 0f 06 7905 7868 push strict byte 00007h ; 6a 07 7906 call 01966h ; e8 b0 c17869 call 01966h ; e8 0b c2 7907 7870 add sp, strict byte 00004h ; 83 c4 04 7908 7871 cmp byte [bp-006h], 000h ; 80 7e fa 00 7909 je short 057 c5h ; 74 067872 je short 0576ah ; 74 06 7910 7873 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7911 je short 057 cbh ; 74 067874 je short 05770h ; 74 06 7912 7875 cmp byte [bp-008h], 0e0h ; 80 7e f8 e0 7913 jne short 057 cfh ; 75 047876 jne short 05774h ; 75 04 7914 7877 mov byte [bp-008h], 000h ; c6 46 f8 00 7915 7878 mov al, byte [bp-006h] ; 8a 46 fa … … 7920 7883 or dx, ax ; 09 c2 7921 7884 mov word [bp+012h], dx ; 89 56 12 7922 jmp near 05 827h ; e9 43 007885 jmp near 057cch ; e9 43 00 7923 7886 mov bx, 00da0h ; bb a0 0d 7924 7887 mov cx, ds ; 8c d9 7925 7888 mov ax, strict word 00004h ; b8 04 00 7926 call 01923h ; e8 34c17889 call 01923h ; e8 8f c1 7927 7890 mov ax, word [bp+012h] ; 8b 46 12 7928 7891 shr ax, 008h ; c1 e8 08 … … 7930 7893 push 00633h ; 68 33 06 7931 7894 push strict byte 00004h ; 6a 04 7932 call 01966h ; e8 68c17895 call 01966h ; e8 c3 c1 7933 7896 add sp, strict byte 00006h ; 83 c4 06 7934 7897 mov bx, 00da0h ; bb a0 0d 7935 7898 mov cx, ds ; 8c d9 7936 7899 mov ax, strict word 00004h ; b8 04 00 7937 call 01923h ; e8 17c17900 call 01923h ; e8 72 c1 7938 7901 mov ax, word [bp+00eh] ; 8b 46 0e 7939 7902 push ax ; 50 … … 7946 7909 push 0065bh ; 68 5b 06 7947 7910 push strict byte 00004h ; 6a 04 7948 call 01966h ; e8 42c17911 call 01966h ; e8 9d c1 7949 7912 add sp, strict byte 0000ch ; 83 c4 0c 7950 7913 lea sp, [bp-002h] ; 8d 66 fe … … 7958 7921 mov dx, ss ; 8c d2 7959 7922 lea ax, [bp-006h] ; 8d 46 fa 7960 call 05 64eh ; e8 0d fe7923 call 055f3h ; e8 0d fe 7961 7924 test ax, ax ; 85 c0 7962 jne short 05 84bh ; 75 067925 jne short 057f0h ; 75 06 7963 7926 or word [bp+01ch], strict byte 00040h ; 83 4e 1c 40 7964 jmp short 05 827h ; eb dc7927 jmp short 057cch ; eb dc 7965 7928 cmp byte [bp-006h], 000h ; 80 7e fa 00 7966 je short 05 857h ; 74 067929 je short 057fch ; 74 06 7967 7930 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7968 je short 058 5dh ; 74 067931 je short 05802h ; 74 06 7969 7932 cmp byte [bp-008h], 0e0h ; 80 7e f8 e0 7970 jne short 058 61h ; 75 047933 jne short 05806h ; 75 04 7971 7934 mov byte [bp-008h], 000h ; c6 46 f8 00 7972 7935 mov al, byte [bp-006h] ; 8a 46 fa … … 7978 7941 mov word [bp+012h], dx ; 89 56 12 7979 7942 and word [bp+01ch], strict byte 0ffbfh ; 83 66 1c bf 7980 jmp short 05 827h ; eb ae7943 jmp short 057cch ; eb ae 7981 7944 mov dx, strict word 00017h ; ba 17 00 7982 7945 mov ax, strict word 00040h ; b8 40 00 7983 call 01650h ; e8 ce bd7946 call 01650h ; e8 29 be 7984 7947 mov dx, word [bp+012h] ; 8b 56 12 7985 7948 mov dl, al ; 88 c2 7986 jmp near 057 deh ; e9 54 ff7949 jmp near 05783h ; e9 54 ff 7987 7950 mov dl, byte [bp+010h] ; 8a 56 10 7988 7951 xor dh, dh ; 30 f6 … … 7990 7953 shr ax, 008h ; c1 e8 08 7991 7954 xor ah, ah ; 30 e4 7992 call 05 11ch ; e8 82 f87955 call 050c1h ; e8 82 f8 7993 7956 test ax, ax ; 85 c0 7994 jne short 058 abh ; 75 0d7957 jne short 05850h ; 75 0d 7995 7958 mov ax, word [bp+012h] ; 8b 46 12 7996 7959 xor al, al ; 30 c0 7997 7960 or AL, strict byte 001h ; 0c 01 7998 7961 mov word [bp+012h], ax ; 89 46 12 7999 jmp near 05 827h ; e9 7c ff7962 jmp near 057cch ; e9 7c ff 8000 7963 and word [bp+012h], 0ff00h ; 81 66 12 00 ff 8001 jmp near 05 827h ; e9 74 ff7964 jmp near 057cch ; e9 74 ff 8002 7965 mov ax, word [bp+012h] ; 8b 46 12 8003 7966 xor al, al ; 30 c0 8004 7967 or AL, strict byte 030h ; 0c 30 8005 jmp short 058 a5h ; eb e97968 jmp short 0584ah ; eb e9 8006 7969 mov byte [bp-004h], 002h ; c6 46 fc 02 8007 7970 xor cx, cx ; 31 c9 … … 8016 7979 ; sub ah, ah ; 2a e4 8017 7980 test AL, strict byte 001h ; a8 01 8018 jne short 058 e3h ; 75 0d7981 jne short 05888h ; 75 0d 8019 7982 dec bx ; 4b 8020 7983 test bx, bx ; 85 db 8021 jbe short 058 e3h ; 76 087984 jbe short 05888h ; 76 08 8022 7985 mov dx, 00080h ; ba 80 00 8023 7986 in AL, DX ; ec 8024 7987 db 02ah, 0e4h 8025 7988 ; sub ah, ah ; 2a e4 8026 jmp short 058 cch ; eb e97989 jmp short 05871h ; eb e9 8027 7990 test bx, bx ; 85 db 8028 jbe short 05 927h ; 76 407991 jbe short 058cch ; 76 40 8029 7992 mov dx, strict word 00060h ; ba 60 00 8030 7993 in AL, DX ; ec … … 8032 7995 ; sub ah, ah ; 2a e4 8033 7996 cmp ax, 000fah ; 3d fa 00 8034 jne short 05 927h ; 75 357997 jne short 058cch ; 75 35 8035 7998 mov bx, strict word 0ffffh ; bb ff ff 8036 7999 mov dx, strict word 00064h ; ba 64 00 … … 8039 8002 ; sub ah, ah ; 2a e4 8040 8003 test AL, strict byte 001h ; a8 01 8041 jne short 05 90ch ; 75 0d8004 jne short 058b1h ; 75 0d 8042 8005 dec bx ; 4b 8043 8006 test bx, bx ; 85 db 8044 jbe short 05 90ch ; 76 088007 jbe short 058b1h ; 76 08 8045 8008 mov dx, 00080h ; ba 80 00 8046 8009 in AL, DX ; ec 8047 8010 db 02ah, 0e4h 8048 8011 ; sub ah, ah ; 2a e4 8049 jmp short 058 f5h ; eb e98012 jmp short 0589ah ; eb e9 8050 8013 test bx, bx ; 85 db 8051 jbe short 05 91eh ; 76 0e8014 jbe short 058c3h ; 76 0e 8052 8015 shr cx, 008h ; c1 e9 08 8053 8016 mov dx, strict word 00060h ; ba 60 00 … … 8059 8022 dec byte [bp-004h] ; fe 4e fc 8060 8023 cmp byte [bp-004h], 000h ; 80 7e fc 00 8061 jnbe short 058 f2h ; 77 cb8024 jnbe short 05897h ; 77 cb 8062 8025 mov word [bp+00ch], cx ; 89 4e 0c 8063 jmp near 05 827h ; e9 fa fe8026 jmp near 057cch ; e9 fa fe 8064 8027 push strict byte 00001h ; 6a 01 8065 8028 mov cx, ss ; 8c d1 … … 8067 8030 mov dx, ss ; 8c d2 8068 8031 lea ax, [bp-006h] ; 8d 46 fa 8069 call 05 64eh ; e8 12 fd8032 call 055f3h ; e8 12 fd 8070 8033 test ax, ax ; 85 c0 8071 jne short 05 94bh ; 75 0b8034 jne short 058f0h ; 75 0b 8072 8035 push 0060fh ; 68 0f 06 8073 8036 push strict byte 00007h ; 6a 07 8074 call 01966h ; e8 1ec08037 call 01966h ; e8 79 c0 8075 8038 add sp, strict byte 00004h ; 83 c4 04 8076 8039 cmp byte [bp-006h], 000h ; 80 7e fa 00 8077 jne short 05 954h ; 75 038078 jmp near 057 cfh ; e9 7b fe8040 jne short 058f9h ; 75 03 8041 jmp near 05774h ; e9 7b fe 8079 8042 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 8080 jne short 059 5dh ; 75 038081 jmp near 057 cbh ; e9 6e fe8082 jmp short 05 951h ; eb f28043 jne short 05902h ; 75 03 8044 jmp near 05770h ; e9 6e fe 8045 jmp short 058f6h ; eb f2 8083 8046 or word [bp+01ch], 00200h ; 81 4e 1c 00 02 8084 8047 push strict byte 00000h ; 6a 00 … … 8087 8050 mov dx, ss ; 8c d2 8088 8051 lea ax, [bp-006h] ; 8d 46 fa 8089 call 05 64eh ; e8 db fc8052 call 055f3h ; e8 db fc 8090 8053 test ax, ax ; 85 c0 8091 jne short 059 7ah ; 75 038092 jmp near 05 845h ; e9 cb fe8054 jne short 0591fh ; 75 03 8055 jmp near 057eah ; e9 cb fe 8093 8056 cmp byte [bp-006h], 000h ; 80 7e fa 00 8094 jne short 059 83h ; 75 038095 jmp near 058 61h ; e9 de fe8057 jne short 05928h ; 75 03 8058 jmp near 05806h ; e9 de fe 8096 8059 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 8097 jne short 059 8ch ; 75 038098 jmp near 058 5dh ; e9 d1 fe8099 jmp short 059 80h ; eb f28060 jne short 05931h ; 75 03 8061 jmp near 05802h ; e9 d1 fe 8062 jmp short 05925h ; eb f2 8100 8063 mov dx, strict word 00017h ; ba 17 00 8101 8064 mov ax, strict word 00040h ; b8 40 00 8102 call 01650h ; e8 b9 bc8065 call 01650h ; e8 14 bd 8103 8066 mov dx, word [bp+012h] ; 8b 56 12 8104 8067 mov dl, al ; 88 c2 … … 8106 8069 mov dx, strict word 00018h ; ba 18 00 8107 8070 mov ax, strict word 00040h ; b8 40 00 8108 call 01650h ; e8 a8 bc8071 call 01650h ; e8 03 bd 8109 8072 mov bh, al ; 88 c7 8110 8073 and bh, 073h ; 80 e7 73 8111 8074 mov dx, 00096h ; ba 96 00 8112 8075 mov ax, strict word 00040h ; b8 40 00 8113 call 01650h ; e8 9abc8076 call 01650h ; e8 f5 bc 8114 8077 and AL, strict byte 00ch ; 24 0c 8115 8078 or al, bh ; 08 f8 … … 8118 8081 xor ah, ah ; 30 e4 8119 8082 sal ax, 008h ; c1 e0 08 8120 jmp near 057 dch ; e9 15 fe8083 jmp near 05781h ; e9 15 fe 8121 8084 mov ax, word [bp+012h] ; 8b 46 12 8122 8085 xor ah, ah ; 30 e4 8123 8086 or ah, 080h ; 80 cc 80 8124 jmp near 058 a5h ; e9 d3 fe8125 set_geom_lba_: ; 0xf59 d2LB 0xe78087 jmp near 0584ah ; e9 d3 fe 8088 set_geom_lba_: ; 0xf5977 LB 0xe7 8126 8089 push bx ; 53 8127 8090 push cx ; 51 … … 8139 8102 mov dx, word [bp+00ch] ; 8b 56 0c 8140 8103 mov si, strict word 00020h ; be 20 00 8141 call 0 a02ah ; e8 2b468104 call 09faah ; e8 06 46 8142 8105 test ax, ax ; 85 c0 8143 jne short 05 a0fh ; 75 0c8106 jne short 059b4h ; 75 0c 8144 8107 test bx, bx ; 85 db 8145 jne short 05 a0fh ; 75 088108 jne short 059b4h ; 75 08 8146 8109 test cx, cx ; 85 c9 8147 jne short 05 a0fh ; 75 048110 jne short 059b4h ; 75 04 8148 8111 test dx, dx ; 85 d2 8149 je short 05 a16h ; 74 078112 je short 059bbh ; 74 07 8150 8113 mov bx, strict word 0ffffh ; bb ff ff 8151 8114 mov si, bx ; 89 de 8152 jmp short 05 a1ch ; eb 068115 jmp short 059c1h ; eb 06 8153 8116 mov bx, word [bp+00ch] ; 8b 5e 0c 8154 8117 mov si, word [bp+00eh] ; 8b 76 0e 8155 8118 mov word [bp-004h], bx ; 89 5e fc 8156 8119 xor bx, bx ; 31 db 8157 jmp short 05 a28h ; eb 058120 jmp short 059cdh ; eb 05 8158 8121 cmp bx, strict byte 00004h ; 83 fb 04 8159 jnl short 05 a4bh ; 7d 238122 jnl short 059f0h ; 7d 23 8160 8123 mov ax, word [bp-006h] ; 8b 46 fa 8161 8124 cmp si, ax ; 39 c6 8162 jc short 05 a39h ; 72 0a8163 jne short 05 a42h ; 75 118125 jc short 059deh ; 72 0a 8126 jne short 059e7h ; 75 11 8164 8127 mov ax, word [bp-004h] ; 8b 46 fc 8165 8128 cmp ax, word [bp-008h] ; 3b 46 f8 8166 jnbe short 05 a42h ; 77 098129 jnbe short 059e7h ; 77 09 8167 8130 mov ax, word [bp-002h] ; 8b 46 fe 8168 8131 inc ax ; 40 … … 8172 8135 rcr word [bp-008h], 1 ; d1 5e f8 8173 8136 inc bx ; 43 8174 jmp short 05 a23h ; eb d88137 jmp short 059c8h ; eb d8 8175 8138 mov ax, word [bp-002h] ; 8b 46 fe 8176 8139 xor dx, dx ; 31 d2 8177 8140 mov bx, strict word 0003fh ; bb 3f 00 8178 8141 xor cx, cx ; 31 c9 8179 call 09f e9h ; e8 91458142 call 09f69h ; e8 6c 45 8180 8143 mov bx, ax ; 89 c3 8181 8144 mov cx, dx ; 89 d1 8182 8145 mov ax, word [bp-004h] ; 8b 46 fc 8183 8146 mov dx, si ; 89 f2 8184 call 09f b0h ; e8 4c458147 call 09f30h ; e8 27 45 8185 8148 mov word [es:di+002h], ax ; 26 89 45 02 8186 8149 cmp ax, 00400h ; 3d 00 04 8187 jbe short 05a 73h ; 76 068150 jbe short 05a18h ; 76 06 8188 8151 mov word [es:di+002h], 00400h ; 26 c7 45 02 00 04 8189 8152 mov ax, word [bp-002h] ; 8b 46 fe … … 8196 8159 pop bx ; 5b 8197 8160 retn 00008h ; c2 08 00 8198 inc cx ; 41 8161 out strict byte 05ah, AL ; e6 5a 8162 neg word [bp+si+026h] ; f7 5a 26 8199 8163 pop bx ; 5b 8200 push dx ; 52 8201 pop bx ; 5b 8202 sbb word [bp+di-07fh], 0815bh ; 81 5b 81 5b 81 8203 pop bx ; 5b 8204 jno short 05af0h ; 71 5d 8205 stosb ; aa 8164 db 026h, 05bh 8165 ; es pop bx ; 26 5b 8166 db 026h, 05bh 8167 ; es pop bx ; 26 5b 8168 push SS ; 16 8169 pop bp ; 5d 8170 dec di ; 4f 8206 8171 pop si ; 5e 8207 stosb ; aa8172 dec di ; 4f 8208 8173 pop si ; 5e 8209 sahf ; 9e8174 inc bx ; 43 8210 8175 pop bp ; 5d 8211 xchg word [bp-056h], bx ; 87 5e aa 8176 sub AL, strict byte 05eh ; 2c 5e 8177 dec di ; 4f 8212 8178 pop si ; 5e 8213 stosb ; aa8179 dec di ; 4f 8214 8180 pop si ; 5e 8215 xchg word [bp-079h], bx ; 87 5e 87 8181 sub AL, strict byte 05eh ; 2c 5e 8182 sub AL, strict byte 05eh ; 2c 5e 8183 dec di ; 4f 8216 8184 pop si ; 5e 8217 stosb ; aa8185 dec di ; 4f 8218 8186 pop si ; 5e 8219 stosb ; aa 8187 scasb ; ae 8188 pop bp ; 5d 8189 sub AL, strict byte 05eh ; 2c 5e 8190 dec di ; 4f 8220 8191 pop si ; 5e 8221 or word [bp-079h], bx ; 09 5e 878192 dec di ; 4f 8222 8193 pop si ; 5e 8223 stosb ; aa 8194 sub AL, strict byte 05eh ; 2c 5e 8195 fistp word [di+04fh] ; df 5d 4f 8224 8196 pop si ; 5e 8225 stosb ; aa8197 dec di ; 4f 8226 8198 pop si ; 5e 8227 xchg word [bp+03ah], bx ; 87 5e 3a8199 dec di ; 4f 8228 8200 pop si ; 5e 8229 stosb ; aa 8230 pop si ; 5e 8231 stosb ; aa 8232 pop si ; 5e 8233 stosb ; aa 8234 pop si ; 5e 8235 _int13_harddisk: ; 0xf5ab9 LB 0x44f 8201 _int13_harddisk: ; 0xf5a5e LB 0x44f 8236 8202 push bp ; 55 8237 8203 mov bp, sp ; 89 e5 … … 8239 8205 mov dx, strict word 0000eh ; ba 0e 00 8240 8206 mov ax, strict word 00040h ; b8 40 00 8241 call 0166ch ; e8 a4bb8207 call 0166ch ; e8 ff bb 8242 8208 mov si, 00122h ; be 22 01 8243 8209 mov word [bp-004h], ax ; 89 46 fc … … 8245 8211 mov dx, 0008eh ; ba 8e 00 8246 8212 mov ax, strict word 00040h ; b8 40 00 8247 call 0165eh ; e8 85bb8213 call 0165eh ; e8 e0 bb 8248 8214 mov ax, word [bp+00eh] ; 8b 46 0e 8249 8215 xor ah, ah ; 30 e4 8250 8216 cmp ax, 00080h ; 3d 80 00 8251 jc short 05a e8h ; 72 058217 jc short 05a8dh ; 72 05 8252 8218 cmp ax, 00090h ; 3d 90 00 8253 jc short 05 b06h ; 72 1e8219 jc short 05aabh ; 72 1e 8254 8220 mov ax, word [bp+00eh] ; 8b 46 0e 8255 8221 xor ah, ah ; 30 e4 … … 8261 8227 push 0068dh ; 68 8d 06 8262 8228 push strict byte 00004h ; 6a 04 8263 call 01966h ; e8 66be8229 call 01966h ; e8 c1 be 8264 8230 add sp, strict byte 0000ah ; 83 c4 0a 8265 jmp near 05e c5h ; e9 bf 038231 jmp near 05e6ah ; e9 bf 03 8266 8232 mov ax, word [bp+00eh] ; 8b 46 0e 8267 8233 xor ah, ah ; 30 e4 … … 8272 8238 mov byte [bp-002h], dl ; 88 56 fe 8273 8239 cmp dl, 010h ; 80 fa 10 8274 jc short 05 b2fh ; 72 108240 jc short 05ad4h ; 72 10 8275 8241 push ax ; 50 8276 8242 mov ax, word [bp+016h] ; 8b 46 16 … … 8279 8245 push 0067eh ; 68 7e 06 8280 8246 push 006b8h ; 68 b8 06 8281 jmp short 05a fbh ; eb cc8247 jmp short 05aa0h ; eb cc 8282 8248 mov bx, word [bp+016h] ; 8b 5e 16 8283 8249 shr bx, 008h ; c1 eb 08 8284 8250 cmp bx, strict byte 00018h ; 83 fb 18 8285 jnbe short 05b 7eh ; 77 448251 jnbe short 05b23h ; 77 44 8286 8252 add bx, bx ; 01 db 8287 jmp word [cs:bx+05a 87h] ; 2e ff a7 875a8253 jmp word [cs:bx+05a2ch] ; 2e ff a7 2c 5a 8288 8254 cmp byte [bp-002h], 008h ; 80 7e fe 08 8289 jnc short 05 b4fh ; 73 088255 jnc short 05af4h ; 73 08 8290 8256 mov al, byte [bp-002h] ; 8a 46 fe 8291 8257 xor ah, ah ; 30 e4 8292 call 01d85h ; e8 36c28293 jmp near 05d 87h ; e9 35 028258 call 01d85h ; e8 91 c2 8259 jmp near 05d2ch ; e9 35 02 8294 8260 mov dx, strict word 00074h ; ba 74 00 8295 8261 mov ax, strict word 00040h ; b8 40 00 8296 call 01650h ; e8 f5 ba8262 call 01650h ; e8 50 bb 8297 8263 mov cl, al ; 88 c1 8298 8264 mov dx, word [bp+016h] ; 8b 56 16 … … 8305 8271 mov dx, strict word 00074h ; ba 74 00 8306 8272 mov ax, strict word 00040h ; b8 40 00 8307 call 0165eh ; e8 e7 ba8273 call 0165eh ; e8 42 bb 8308 8274 test cl, cl ; 84 c9 8309 je short 05b dfh ; 74 648310 jmp near 05e e1h ; e9 63 038311 jmp near 05e aah ; e9 29 038275 je short 05b84h ; 74 64 8276 jmp near 05e86h ; e9 63 03 8277 jmp near 05e4fh ; e9 29 03 8312 8278 mov ax, word [bp+016h] ; 8b 46 16 8313 8279 xor ah, ah ; 30 e4 … … 8329 8295 mov ax, word [bp-00eh] ; 8b 46 f2 8330 8296 cmp ax, 00080h ; 3d 80 00 8331 jnbe short 05b bch ; 77 048297 jnbe short 05b61h ; 77 04 8332 8298 test ax, ax ; 85 c0 8333 jne short 05b e2h ; 75 268299 jne short 05b87h ; 75 26 8334 8300 mov bx, 00da0h ; bb a0 0d 8335 8301 mov cx, ds ; 8c d9 8336 8302 mov ax, strict word 00004h ; b8 04 00 8337 call 01923h ; e8 5cbd8303 call 01923h ; e8 b7 bd 8338 8304 mov ax, word [bp+016h] ; 8b 46 16 8339 8305 shr ax, 008h ; c1 e8 08 … … 8342 8308 push 006eah ; 68 ea 06 8343 8309 push strict byte 00004h ; 6a 04 8344 call 01966h ; e8 8dbd8310 call 01966h ; e8 e8 bd 8345 8311 add sp, strict byte 00008h ; 83 c4 08 8346 jmp near 05e c5h ; e9 e6 028347 jmp near 05d 8bh ; e9 a9 018312 jmp near 05e6ah ; e9 e6 02 8313 jmp near 05d30h ; e9 a9 01 8348 8314 mov al, byte [bp-002h] ; 8a 46 fe 8349 8315 xor ah, ah ; 30 e4 … … 8357 8323 mov word [bp-00ah], dx ; 89 56 f6 8358 8324 cmp di, ax ; 39 c7 8359 jnc short 05 c10h ; 73 0c8325 jnc short 05bb5h ; 73 0c 8360 8326 cmp cx, word [bp-008h] ; 3b 4e f8 8361 jbe short 05 c10h ; 76 078327 jbe short 05bb5h ; 76 07 8362 8328 mov ax, word [bp-006h] ; 8b 46 fa 8363 8329 cmp ax, dx ; 39 d0 8364 jbe short 05 c40h ; 76 308330 jbe short 05be5h ; 76 30 8365 8331 mov bx, 00da0h ; bb a0 0d 8366 8332 mov cx, ds ; 8c d9 8367 8333 mov ax, strict word 00004h ; b8 04 00 8368 call 01923h ; e8 08bd8334 call 01923h ; e8 63 bd 8369 8335 push word [bp-006h] ; ff 76 fa 8370 8336 push word [bp-008h] ; ff 76 f8 … … 8379 8345 push 00712h ; 68 12 07 8380 8346 push strict byte 00004h ; 6a 04 8381 call 01966h ; e8 2cbd8347 call 01966h ; e8 87 bd 8382 8348 add sp, strict byte 00010h ; 83 c4 10 8383 jmp near 05e c5h ; e9 85 028349 jmp near 05e6ah ; e9 85 02 8384 8350 mov ax, word [bp+016h] ; 8b 46 16 8385 8351 shr ax, 008h ; c1 e8 08 8386 8352 cmp ax, strict word 00004h ; 3d 04 00 8387 je short 05c 6bh ; 74 208353 je short 05c10h ; 74 20 8388 8354 mov al, byte [bp-002h] ; 8a 46 fe 8389 8355 xor ah, ah ; 30 e4 … … 8393 8359 add bx, ax ; 01 c3 8394 8360 cmp cx, word [es:bx+030h] ; 26 3b 4f 30 8395 jne short 05c 74h ; 75 148361 jne short 05c19h ; 75 14 8396 8362 mov ax, word [es:bx+034h] ; 26 8b 47 34 8397 8363 cmp ax, word [bp-00ah] ; 3b 46 f6 8398 je short 05c 6eh ; 74 058399 jmp short 05c 74h ; eb 098400 jmp near 05d 87h ; e9 19 018364 je short 05c13h ; 74 05 8365 jmp short 05c19h ; eb 09 8366 jmp near 05d2ch ; e9 19 01 8401 8367 cmp byte [bp-002h], 008h ; 80 7e fe 08 8402 jc short 05c a4h ; 72 308368 jc short 05c49h ; 72 30 8403 8369 mov ax, di ; 89 f8 8404 8370 xor dx, dx ; 31 d2 8405 8371 mov bx, cx ; 89 cb 8406 8372 xor cx, cx ; 31 c9 8407 call 09f e9h ; e8 6a438373 call 09f69h ; e8 45 43 8408 8374 xor bx, bx ; 31 db 8409 8375 add ax, word [bp-008h] ; 03 46 f8 … … 8411 8377 mov bx, word [bp-00ah] ; 8b 5e f6 8412 8378 xor cx, cx ; 31 c9 8413 call 09f e9h ; e8 5b438379 call 09f69h ; e8 36 43 8414 8380 xor bx, bx ; 31 db 8415 8381 add ax, word [bp-006h] ; 03 46 fa … … 8467 8433 mov word [bp+016h], bx ; 89 5e 16 8468 8434 test dl, dl ; 84 d2 8469 je short 05d 87h ; 74 468435 je short 05d2ch ; 74 46 8470 8436 mov bx, 00da0h ; bb a0 0d 8471 8437 mov cx, ds ; 8c d9 8472 8438 mov ax, strict word 00004h ; b8 04 00 8473 call 01923h ; e8 d7 bb8439 call 01923h ; e8 32 bc 8474 8440 mov al, dl ; 88 d0 8475 8441 xor ah, ah ; 30 e4 … … 8481 8447 push 00759h ; 68 59 07 8482 8448 push strict byte 00004h ; 6a 04 8483 call 01966h ; e8 03bc8449 call 01966h ; e8 5e bc 8484 8450 add sp, strict byte 0000ah ; 83 c4 0a 8485 8451 mov ax, word [bp+016h] ; 8b 46 16 8486 8452 xor ah, ah ; 30 e4 8487 8453 or ah, 00ch ; 80 cc 0c 8488 jmp near 05e cdh ; e9 5c 018454 jmp near 05e72h ; e9 5c 01 8489 8455 mov bx, 00da0h ; bb a0 0d 8490 8456 mov cx, ds ; 8c d9 8491 8457 mov ax, strict word 00004h ; b8 04 00 8492 call 01923h ; e8 a7 bb8458 call 01923h ; e8 02 bc 8493 8459 push 0077ah ; 68 7a 07 8494 8460 push strict byte 00004h ; 6a 04 8495 call 01966h ; e8 e2 bb8461 call 01966h ; e8 3d bc 8496 8462 add sp, strict byte 00004h ; 83 c4 04 8497 8463 mov byte [bp+017h], 000h ; c6 46 17 00 … … 8499 8465 mov dx, strict word 00074h ; ba 74 00 8500 8466 mov ax, strict word 00040h ; b8 40 00 8501 call 0165eh ; e8 c8 b88467 call 0165eh ; e8 23 b9 8502 8468 and byte [bp+01ch], 0feh ; 80 66 1c fe 8503 8469 mov sp, bp ; 89 ec … … 8542 8508 mov dl, al ; 88 c2 8543 8509 mov word [bp+012h], dx ; 89 56 12 8544 jmp near 05d 87h ; e9 7e ff8510 jmp near 05d2ch ; e9 7e ff 8545 8511 mov al, byte [bp-002h] ; 8a 46 fe 8546 8512 xor ah, ah ; 30 e4 … … 8559 8525 and AL, strict byte 0c0h ; 24 c0 8560 8526 cmp AL, strict byte 040h ; 3c 40 8561 jne short 05 e2fh ; 75 038562 jmp near 05d 87h ; e9 58 ff8527 jne short 05dd4h ; 75 03 8528 jmp near 05d2ch ; e9 58 ff 8563 8529 mov ax, word [bp+016h] ; 8b 46 16 8564 8530 xor ah, ah ; 30 e4 8565 8531 or ah, 0aah ; 80 cc aa 8566 jmp near 05e cdh ; e9 93 008532 jmp near 05e72h ; e9 93 00 8567 8533 mov al, byte [bp-002h] ; 8a 46 fe 8568 8534 xor ah, ah ; 30 e4 … … 8579 8545 mov bx, word [bp-008h] ; 8b 5e f8 8580 8546 xor cx, cx ; 31 c9 8581 call 09f e9h ; e8 84418547 call 09f69h ; e8 5f 41 8582 8548 mov bx, word [bp-006h] ; 8b 5e fa 8583 8549 xor cx, cx ; 31 c9 8584 call 09f e9h ; e8 7c418550 call 09f69h ; e8 57 41 8585 8551 mov word [bp-010h], ax ; 89 46 f0 8586 8552 mov word [bp-00ch], dx ; 89 56 f4 … … 8591 8557 or ah, 003h ; 80 cc 03 8592 8558 mov word [bp+016h], ax ; 89 46 16 8593 jmp near 05d 8bh ; e9 04 ff8559 jmp near 05d30h ; e9 04 ff 8594 8560 mov bx, 00da0h ; bb a0 0d 8595 8561 mov cx, ds ; 8c d9 8596 8562 mov ax, strict word 00004h ; b8 04 00 8597 call 01923h ; e8 91ba8563 call 01923h ; e8 ec ba 8598 8564 mov ax, word [bp+016h] ; 8b 46 16 8599 8565 shr ax, 008h ; c1 e8 08 … … 8602 8568 push 00794h ; 68 94 07 8603 8569 push strict byte 00004h ; 6a 04 8604 call 01966h ; e8 c2 ba8570 call 01966h ; e8 1d bb 8605 8571 add sp, strict byte 00008h ; 83 c4 08 8606 jmp near 05d 87h ; e9 dd fe8572 jmp near 05d2ch ; e9 dd fe 8607 8573 mov bx, 00da0h ; bb a0 0d 8608 8574 mov cx, ds ; 8c d9 8609 8575 mov ax, strict word 00004h ; b8 04 00 8610 call 01923h ; e8 6eba8576 call 01923h ; e8 c9 ba 8611 8577 mov ax, word [bp+016h] ; 8b 46 16 8612 8578 shr ax, 008h ; c1 e8 08 … … 8614 8580 push 0067eh ; 68 7e 06 8615 8581 push 007c7h ; 68 c7 07 8616 jmp near 05b d4h ; e9 0f fd8582 jmp near 05b79h ; e9 0f fd 8617 8583 mov ax, word [bp+016h] ; 8b 46 16 8618 8584 xor ah, ah ; 30 e4 … … 8624 8590 mov dx, strict word 00074h ; ba 74 00 8625 8591 mov ax, strict word 00040h ; b8 40 00 8626 call 0165eh ; e8 7db78592 call 0165eh ; e8 d8 b7 8627 8593 or byte [bp+01ch], 001h ; 80 4e 1c 01 8628 jmp near 05d 9ah ; e9 b2 fe8629 movsb ; a48594 jmp near 05d3fh ; e9 b2 fe 8595 dec cx ; 49 8630 8596 pop di ; 5f 8631 xlatb ; d7 8597 jl short 05ef0h ; 7c 5f 8598 jl short 05ef2h ; 7c 5f 8599 jl short 05ef4h ; 7c 5f 8600 insw ; 6d 8601 arpl di, dx ; 63 d7 8602 pushaw ; 60 8603 jl short 05efah ; 7c 5f 8604 loopne 05efdh ; e0 60 8605 insw ; 6d 8606 arpl [bx+di+05fh], sp ; 63 61 5f 8607 popaw ; 61 8632 8608 pop di ; 5f 8633 xlatb ; d78609 popaw ; 61 8634 8610 pop di ; 5f 8635 xlatb ; d78611 popaw ; 61 8636 8612 pop di ; 5f 8637 out strict byte 063h, AL ; e6 63 8638 cmp word [bx+di-029h], sp ; 39 61 d7 8613 test byte [bp+di+061h], ah ; 84 63 61 8639 8614 pop di ; 5f 8640 aas ; 3f8641 8615 popaw ; 61 8642 out strict byte 063h, AL ; e6 638643 mov sp, 0bc5fh ; bc 5f bc8644 8616 pop di ; 5f 8645 mov sp, 0bc5fh ; bc 5f bc 8646 pop di ; 5f 8647 std ; fd 8648 arpl [si-043a1h], di ; 63 bc 5f bc 8649 pop di ; 5f 8650 _int13_harddisk_ext: ; 0xf5f08 LB 0x52d 8617 _int13_harddisk_ext: ; 0xf5ead LB 0x50f 8651 8618 push bp ; 55 8652 8619 mov bp, sp ; 89 e5 8653 sub sp, strict byte 0002 ah ; 83 ec 2a8620 sub sp, strict byte 00028h ; 83 ec 28 8654 8621 mov dx, strict word 0000eh ; ba 0e 00 8655 8622 mov ax, strict word 00040h ; b8 40 00 8656 call 0166ch ; e8 55b78657 mov word [bp-01 4h], ax ; 89 46 ec8623 call 0166ch ; e8 b0 b7 8624 mov word [bp-012h], ax ; 89 46 ee 8658 8625 mov dx, strict word 0000eh ; ba 0e 00 8659 8626 mov ax, strict word 00040h ; b8 40 00 8660 call 0166ch ; e8 49b78627 call 0166ch ; e8 a4 b7 8661 8628 mov word [bp-008h], 00122h ; c7 46 f8 22 01 8662 8629 mov word [bp-006h], ax ; 89 46 fa … … 8664 8631 mov dx, 0008eh ; ba 8e 00 8665 8632 mov ax, strict word 00040h ; b8 40 00 8666 call 0165eh ; e8 28b78633 call 0165eh ; e8 83 b7 8667 8634 mov ax, word [bp+00eh] ; 8b 46 0e 8668 8635 xor ah, ah ; 30 e4 8669 8636 cmp ax, 00080h ; 3d 80 00 8670 jc short 05 f45h ; 72 058637 jc short 05eeah ; 72 05 8671 8638 cmp ax, 00090h ; 3d 90 00 8672 jc short 05f 63h ; 72 1e8639 jc short 05f08h ; 72 1e 8673 8640 mov ax, word [bp+00eh] ; 8b 46 0e 8674 8641 xor ah, ah ; 30 e4 … … 8680 8647 push 0068dh ; 68 8d 06 8681 8648 push strict byte 00004h ; 6a 04 8682 call 01966h ; e8 09ba8649 call 01966h ; e8 64 ba 8683 8650 add sp, strict byte 0000ah ; 83 c4 0a 8684 jmp near 06 413h ; e9 b0048651 jmp near 0639ah ; e9 92 04 8685 8652 mov ax, word [bp+00eh] ; 8b 46 0e 8686 8653 xor ah, ah ; 30 e4 … … 8690 8657 mov byte [bp-004h], dl ; 88 56 fc 8691 8658 cmp dl, 010h ; 80 fa 10 8692 jc short 05f 8ah ; 72 108659 jc short 05f2fh ; 72 10 8693 8660 push ax ; 50 8694 8661 mov ax, word [bp+016h] ; 8b 46 16 … … 8697 8664 push 007f5h ; 68 f5 07 8698 8665 push 006b8h ; 68 b8 06 8699 jmp short 05 f58h ; eb ce8666 jmp short 05efdh ; eb ce 8700 8667 mov bx, word [bp+016h] ; 8b 5e 16 8701 8668 shr bx, 008h ; c1 eb 08 8702 8669 sub bx, strict byte 00041h ; 83 eb 41 8703 8670 cmp bx, strict byte 0000fh ; 83 fb 0f 8704 jnbe short 05f bch ; 77 248671 jnbe short 05f61h ; 77 24 8705 8672 add bx, bx ; 01 db 8706 mov ax, word [bp+016h] ; 8b 46 168707 xor ah, ah ; 30 e48708 jmp word [cs:bx+05e e8h] ; 2e ff a7 e85e8673 mov dx, word [bp+016h] ; 8b 56 16 8674 xor dh, dh ; 30 f6 8675 jmp word [cs:bx+05e8dh] ; 2e ff a7 8d 5e 8709 8676 mov word [bp+010h], 0aa55h ; c7 46 10 55 aa 8710 8677 mov ax, word [bp+016h] ; 8b 46 16 … … 8713 8680 mov word [bp+016h], ax ; 89 46 16 8714 8681 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 8715 jmp near 063 eah ; e9 2e048682 jmp near 06371h ; e9 10 04 8716 8683 mov bx, 00da0h ; bb a0 0d 8717 8684 mov cx, ds ; 8c d9 8718 8685 mov ax, strict word 00004h ; b8 04 00 8719 call 01923h ; e8 5cb98686 call 01923h ; e8 b7 b9 8720 8687 mov ax, word [bp+016h] ; 8b 46 16 8721 8688 shr ax, 008h ; c1 e8 08 … … 8723 8690 push 007f5h ; 68 f5 07 8724 8691 push 007c7h ; 68 c7 07 8725 jmp near 060 71h ; e9 9a008692 jmp near 06011h ; e9 95 00 8726 8693 mov di, word [bp+00ah] ; 8b 7e 0a 8727 8694 mov es, [bp+004h] ; 8e 46 04 8728 mov word [bp-01 eh], di ; 89 7e e28729 mov [bp-01 ah], es ; 8c 46 e68695 mov word [bp-01ah], di ; 89 7e e6 8696 mov [bp-018h], es ; 8c 46 e8 8730 8697 mov ax, word [es:di+002h] ; 26 8b 45 02 8731 mov word [bp-01 2h], ax ; 89 46 ee8698 mov word [bp-010h], ax ; 89 46 f0 8732 8699 mov ax, word [es:di+006h] ; 26 8b 45 06 8733 mov word [bp-01 8h], ax ; 89 46 e88700 mov word [bp-016h], ax ; 89 46 ea 8734 8701 mov ax, word [es:di+004h] ; 26 8b 45 04 8735 mov word [bp-01 6h], ax ; 89 46 ea8702 mov word [bp-014h], ax ; 89 46 ec 8736 8703 mov dx, word [es:di+00ch] ; 26 8b 55 0c 8737 8704 mov cx, word [es:di+00eh] ; 26 8b 4d 0e … … 8739 8706 xor bx, bx ; 31 db 8740 8707 mov si, strict word 00020h ; be 20 00 8741 call 0 a01ah ; e8 10 408742 mov word [bp-00eh], bx ; 89 5e f28743 mov bx, word [es:di+008h] ; 26 8b 5d 088744 mov di, word [es:di+00ah] ; 26 8b 7d 0a8745 or dx, bx ; 09 da8746 or cx, di ; 09 f98747 mov bl, byte [bp-004h] ; 8a 5e fc8748 mov byte [bp-022h], bl ; 88 5e de8749 mov byte [bp-021h], 000h ; c6 46 df 008750 imul di, word [bp-022h], strict byte 0001ch ; 6b 7e de1c8751 mov es, [bp-006h] ; 8e 46 fa8752 add di, word [bp-008h] ; 03 7e f88753 mov bl, byte [es:di+022h] ; 26 8a 5d228754 cmp ax, word [es:di+03ch] ; 26 3b 453c8755 jnbe short 0 6059h ; 77 228756 jne short 060 7ch ; 75 438757 mov si, word [bp-00eh] ; 8b 76 f28758 cmp si, word [es:di+03ah] ; 26 3b 753a8759 jnbe short 0 6059h ; 77 178760 mov si, word [bp-00eh] ; 8b 76 f28761 cmp si, word [es:di+03ah] ; 26 3b 753a8762 jne short 060 7ch ; 75 318763 cmp cx, word [es: di+038h] ; 26 3b 4d388764 jnbe short 0 6059h ; 77 088765 jne short 060 7ch ; 75 298766 cmp dx, word [es: di+036h] ; 26 3b 55368767 jc short 060 7ch ; 72 238708 call 09f9ah ; e8 eb 3f 8709 mov si, ax ; 89 c6 8710 mov word [bp-00ch], bx ; 89 5e f4 8711 mov ax, word [es:di+008h] ; 26 8b 45 08 8712 mov bx, word [es:di+00ah] ; 26 8b 5d 0a 8713 or dx, ax ; 09 c2 8714 or cx, bx ; 09 d9 8715 mov al, byte [bp-004h] ; 8a 46 fc 8716 xor ah, ah ; 30 e4 8717 imul ax, ax, strict byte 0001ch ; 6b c0 1c 8718 les bx, [bp-008h] ; c4 5e f8 8719 add bx, ax ; 01 c3 8720 mov al, byte [es:bx+022h] ; 26 8a 47 22 8721 cmp si, word [es:bx+03ch] ; 26 3b 77 3c 8722 jnbe short 05ff9h ; 77 22 8723 jne short 0601ch ; 75 43 8724 mov di, word [bp-00ch] ; 8b 7e f4 8725 cmp di, word [es:bx+03ah] ; 26 3b 7f 3a 8726 jnbe short 05ff9h ; 77 17 8727 mov di, word [bp-00ch] ; 8b 7e f4 8728 cmp di, word [es:bx+03ah] ; 26 3b 7f 3a 8729 jne short 0601ch ; 75 31 8730 cmp cx, word [es:bx+038h] ; 26 3b 4f 38 8731 jnbe short 05ff9h ; 77 08 8732 jne short 0601ch ; 75 29 8733 cmp dx, word [es:bx+036h] ; 26 3b 57 36 8734 jc short 0601ch ; 72 23 8768 8735 mov bx, 00da0h ; bb a0 0d 8769 8736 mov cx, ds ; 8c d9 8770 8737 mov ax, strict word 00004h ; b8 04 00 8771 call 01923h ; e8 bf b88738 call 01923h ; e8 1f b9 8772 8739 mov ax, word [bp+016h] ; 8b 46 16 8773 8740 shr ax, 008h ; c1 e8 08 … … 8776 8743 push 00808h ; 68 08 08 8777 8744 push strict byte 00004h ; 6a 04 8778 call 01966h ; e8 f0 b88745 call 01966h ; e8 50 b9 8779 8746 add sp, strict byte 00008h ; 83 c4 08 8780 jmp near 06 413h ; e9 97038747 jmp near 0639ah ; e9 7e 03 8781 8748 mov di, word [bp+016h] ; 8b 7e 16 8782 8749 shr di, 008h ; c1 ef 08 8783 8750 cmp di, strict byte 00044h ; 83 ff 44 8784 je short 060 8ch ; 74 058751 je short 0602ch ; 74 05 8785 8752 cmp di, strict byte 00047h ; 83 ff 47 8786 jne short 060 8fh ; 75 038787 jmp near 063 e6h ; e9 57038788 les si, [bp-008h] ; c4 76f88789 mov word [es: si+018h], strict word 00000h ; 26 c7 4418 00 008790 mov word [es: si+01ah], strict word 00000h ; 26 c7 441a 00 008791 mov word [es: si+01ch], strict word 00000h ; 26 c7 441c 00 008792 mov word [es: si+006h], ax ; 26 89 44068793 mov ax, word [bp-00eh] ; 8b 46 f28794 mov word [es:si+004h], ax ; 26 89 44 048795 mov word [es:si+00 2h], cx ; 26 89 4c 028796 mov word [es:si], dx ; 26 89 148797 mov ax, word [bp-016h] ; 8b 46 ea8798 mov word [es: si+008h], ax ; 26 89 44 088799 mov ax, word [bp-018h] ; 8b 46 e88800 mov word [es: si+00ah], ax ; 26 89 44 0a8801 mov ax, word [bp-012h] ; 8b 46 ee8802 mov word [es: si+00eh], ax ; 26 89 44 0e8803 mov word [es:si+010h], 00200h ; 26 c7 44 10 00 028804 mov word [es: si+016h], strict word 00000h ; 26 c7 44 16 00 008805 mov al, byte [bp-004h] ; 8a 46 fc8806 mov byte [es:si+00ch], al ; 26 88 44 0c8807 mov dx, di ; 89 fa8808 add dx, di ; 01 fa8809 mov al, bl ; 88 d88810 xor ah, ah ; 30 e48811 mov bx, ax ; 89 c38812 sal bx, 002h ; c1 e3028813 add bx, dx ; 01 d38753 jne short 0602fh ; 75 03 8754 jmp near 0636dh ; e9 3e 03 8755 les bx, [bp-008h] ; c4 5e f8 8756 mov word [es:bx+018h], strict word 00000h ; 26 c7 47 18 00 00 8757 mov word [es:bx+01ah], strict word 00000h ; 26 c7 47 1a 00 00 8758 mov word [es:bx+01ch], strict word 00000h ; 26 c7 47 1c 00 00 8759 mov word [es:bx+006h], si ; 26 89 77 06 8760 mov bx, word [bp-00ch] ; 8b 5e f4 8761 mov si, word [bp-008h] ; 8b 76 f8 8762 mov word [es:si+004h], bx ; 26 89 5c 04 8763 mov bx, si ; 89 f3 8764 mov word [es:bx+002h], cx ; 26 89 4f 02 8765 mov word [es:bx], dx ; 26 89 17 8766 mov dx, word [bp-014h] ; 8b 56 ec 8767 mov word [es:bx+008h], dx ; 26 89 57 08 8768 mov dx, word [bp-016h] ; 8b 56 ea 8769 mov word [es:bx+00ah], dx ; 26 89 57 0a 8770 mov dx, word [bp-010h] ; 8b 56 f0 8771 mov word [es:bx+00eh], dx ; 26 89 57 0e 8772 mov word [es:bx+010h], 00200h ; 26 c7 47 10 00 02 8773 mov word [es:bx+016h], strict word 00000h ; 26 c7 47 16 00 00 8774 mov ah, byte [bp-004h] ; 8a 66 fc 8775 mov byte [es:bx+00ch], ah ; 26 88 67 0c 8776 mov bx, di ; 89 fb 8777 add bx, di ; 01 fb 8778 xor ah, ah ; 30 e4 8779 sal ax, 002h ; c1 e0 02 8780 add bx, ax ; 01 c3 8814 8781 push ES ; 06 8815 8782 push si ; 56 … … 8819 8786 mov bx, si ; 89 f3 8820 8787 mov ax, word [es:bx+018h] ; 26 8b 47 18 8821 mov word [bp-012h], ax ; 89 46 ee 8822 mov es, [bp-01ah] ; 8e 46 e6 8823 mov bx, word [bp-01eh] ; 8b 5e e2 8788 mov word [bp-010h], ax ; 89 46 f0 8789 les bx, [bp-01ah] ; c4 5e e6 8824 8790 mov word [es:bx+002h], ax ; 26 89 47 02 8825 8791 test dl, dl ; 84 d2 8826 je short 06 15dh ; 74 4e8792 je short 060feh ; 74 51 8827 8793 mov bx, 00da0h ; bb a0 0d 8828 8794 mov cx, ds ; 8c d9 8829 8795 mov ax, strict word 00004h ; b8 04 00 8830 call 01923h ; e8 09b88796 call 01923h ; e8 6b b8 8831 8797 mov al, dl ; 88 d0 8832 8798 xor ah, ah ; 30 e4 … … 8836 8802 push 00759h ; 68 59 07 8837 8803 push strict byte 00004h ; 6a 04 8838 call 01966h ; e8 3bb88804 call 01966h ; e8 9d b8 8839 8805 add sp, strict byte 0000ah ; 83 c4 0a 8840 8806 mov ax, word [bp+016h] ; 8b 46 16 8841 8807 xor ah, ah ; 30 e4 8842 8808 or ah, 00ch ; 80 cc 0c 8843 jmp near 0641bh ; e9 e2 02 8844 or ah, 0b2h ; 80 cc b2 8845 jmp near 0641bh ; e9 dc 02 8809 jmp near 063a2h ; e9 cb 02 8810 or dh, 0b2h ; 80 ce b2 8811 mov word [bp+016h], dx ; 89 56 16 8812 jmp near 063a5h ; e9 c5 02 8846 8813 mov bx, word [bp+00ah] ; 8b 5e 0a 8847 8814 mov ax, word [bp+004h] ; 8b 46 04 8848 mov word [bp-0 0ch], ax ; 89 46 f48815 mov word [bp-024h], ax ; 89 46 dc 8849 8816 mov di, bx ; 89 df 8850 8817 mov word [bp-00ah], ax ; 89 46 f6 8851 8818 mov es, ax ; 8e c0 8852 8819 mov ax, word [es:bx] ; 26 8b 07 8853 mov word [bp-0 10h], ax ; 89 46 f08820 mov word [bp-00eh], ax ; 89 46 f2 8854 8821 cmp ax, strict word 0001ah ; 3d 1a 00 8855 jnc short 061 60h ; 73 068856 jmp near 06 413h ; e9 b6028857 jmp near 063 e6h ; e9 86028858 jnc short 061 65h ; 73 038859 jmp near 06 204h ; e9 9f008822 jnc short 06101h ; 73 06 8823 jmp near 0639ah ; e9 9c 02 8824 jmp near 0636dh ; e9 6c 02 8825 jnc short 06106h ; 73 03 8826 jmp near 0619dh ; e9 97 00 8860 8827 mov al, byte [bp-004h] ; 8a 46 fc 8861 8828 xor ah, ah ; 30 e4 … … 8864 8831 add bx, ax ; 01 c3 8865 8832 mov ax, word [es:bx+032h] ; 26 8b 47 32 8866 mov word [bp-02 ah], ax ; 89 46 d68833 mov word [bp-028h], ax ; 89 46 d8 8867 8834 mov ax, word [es:bx+030h] ; 26 8b 47 30 8868 mov word [bp-02 8h], ax ; 89 46 d88835 mov word [bp-026h], ax ; 89 46 da 8869 8836 mov ax, word [es:bx+034h] ; 26 8b 47 34 8870 mov word [bp-02 4h], ax ; 89 46 dc8871 mov ax, word [es:bx+03ch] ; 26 8b 47 3c8872 mov dx, word [es:bx+03ah] ; 26 8b 57 3a8873 mov word [bp-00 eh], dx ; 89 56 f28837 mov word [bp-020h], ax ; 89 46 e0 8838 mov si, word [es:bx+03ch] ; 26 8b 77 3c 8839 mov ax, word [es:bx+03ah] ; 26 8b 47 3a 8840 mov word [bp-00ch], ax ; 89 46 f4 8874 8841 mov cx, word [es:bx+038h] ; 26 8b 4f 38 8875 8842 mov dx, word [es:bx+036h] ; 26 8b 57 36 8876 mov bx, word [es:bx+028h] ; 26 8b 5f288877 mov word [bp-02 6h], bx ; 89 5e da8878 mov es, [bp-0 0ch] ; 8e 46 f48843 mov ax, word [es:bx+028h] ; 26 8b 47 28 8844 mov word [bp-022h], ax ; 89 46 de 8845 mov es, [bp-024h] ; 8e 46 dc 8879 8846 mov bx, di ; 89 fb 8880 8847 mov word [es:bx], strict word 0001ah ; 26 c7 07 1a 00 8881 8848 mov word [es:bx+002h], strict word 00002h ; 26 c7 47 02 02 00 8882 mov bx, word [bp-02ah] ; 8b 5e d6 8883 mov si, di ; 89 fe 8884 mov word [es:si+004h], bx ; 26 89 5c 04 8885 mov bx, si ; 89 f3 8849 mov ax, word [bp-028h] ; 8b 46 d8 8850 mov word [es:bx+004h], ax ; 26 89 47 04 8886 8851 mov word [es:bx+006h], strict word 00000h ; 26 c7 47 06 00 00 8887 mov bx, word [bp-028h] ; 8b 5e d8 8888 mov word [es:si+008h], bx ; 26 89 5c 08 8889 mov bx, si ; 89 f3 8852 mov ax, word [bp-026h] ; 8b 46 da 8853 mov word [es:bx+008h], ax ; 26 89 47 08 8890 8854 mov word [es:bx+00ah], strict word 00000h ; 26 c7 47 0a 00 00 8891 mov bx, word [bp-024h] ; 8b 5e dc 8892 mov word [es:si+00ch], bx ; 26 89 5c 0c 8893 mov bx, si ; 89 f3 8855 mov ax, word [bp-020h] ; 8b 46 e0 8856 mov word [es:bx+00ch], ax ; 26 89 47 0c 8894 8857 mov word [es:bx+00eh], strict word 00000h ; 26 c7 47 0e 00 00 8895 mov bx, word [bp-026h] ; 8b 5e da 8896 mov word [es:si+018h], bx ; 26 89 5c 18 8897 mov bx, si ; 89 f3 8858 mov ax, word [bp-022h] ; 8b 46 de 8859 mov word [es:bx+018h], ax ; 26 89 47 18 8898 8860 mov word [es:bx+010h], dx ; 26 89 57 10 8899 8861 mov word [es:bx+012h], cx ; 26 89 4f 12 8900 mov bx, word [bp-00eh] ; 8b 5e f2 8862 mov ax, si ; 89 f0 8863 mov bx, word [bp-00ch] ; 8b 5e f4 8901 8864 mov si, strict word 00020h ; be 20 00 8902 call 0 a02ah ; e8 303e8865 call 09faah ; e8 17 3e 8903 8866 mov bx, di ; 89 fb 8904 8867 mov word [es:bx+014h], dx ; 26 89 57 14 8905 8868 mov word [es:bx+016h], cx ; 26 89 4f 16 8906 cmp word [bp-0 10h], strict byte 0001eh ; 83 7e f01e8907 jc short 062 73h ; 72 698869 cmp word [bp-00eh], strict byte 0001eh ; 83 7e f2 1e 8870 jc short 06208h ; 72 65 8908 8871 mov es, [bp-00ah] ; 8e 46 f6 8909 8872 mov word [es:di], strict word 0001eh ; 26 c7 05 1e 00 8910 mov ax, word [bp-01 4h] ; 8b 46 ec8873 mov ax, word [bp-012h] ; 8b 46 ee 8911 8874 mov word [es:di+01ch], ax ; 26 89 45 1c 8912 8875 mov word [es:di+01ah], 00356h ; 26 c7 45 1a 56 03 … … 8925 8888 mov word [bp-01ch], ax ; 89 46 e4 8926 8889 mov ax, word [es:bx+00208h] ; 26 8b 87 08 02 8927 mov word [bp-0 20h], ax ; 89 46 e08890 mov word [bp-01eh], ax ; 89 46 e2 8928 8891 mov al, byte [es:bx+00205h] ; 26 8a 87 05 02 8929 8892 mov byte [bp-002h], al ; 88 46 fe 8930 8893 imul bx, cx, strict byte 0001ch ; 6b d9 1c 8931 8894 add bx, word [bp-008h] ; 03 5e f8 8932 mov ah, byte [es:bx+026h] ; 26 8a 67 26 8933 mov al, byte [es:bx+027h] ; 26 8a 47 27 8934 test al, al ; 84 c0 8935 jne short 06263h ; 75 04 8895 mov dl, byte [es:bx+027h] ; 26 8a 57 27 8896 test dl, dl ; 84 d2 8897 jne short 061f8h ; 75 04 8936 8898 xor bx, bx ; 31 db 8937 jmp short 06 266h ; eb 038899 jmp short 061fbh ; eb 03 8938 8900 mov bx, strict word 00008h ; bb 08 00 8939 8901 or bl, 010h ; 80 cb 10 8940 cmp ah, 001h ; 80 fc 01 8941 jne short 06276h ; 75 08 8942 mov dx, strict word 00001h ; ba 01 00 8943 jmp short 06278h ; eb 05 8944 jmp near 06317h ; e9 a1 00 8945 xor dx, dx ; 31 d2 8946 or bx, dx ; 09 d3 8947 cmp AL, strict byte 001h ; 3c 01 8948 jne short 06283h ; 75 05 8949 mov dx, strict word 00001h ; ba 01 00 8950 jmp short 06285h ; eb 02 8951 xor dx, dx ; 31 d2 8952 or bx, dx ; 09 d3 8953 cmp AL, strict byte 003h ; 3c 03 8954 jne short 06290h ; 75 05 8902 cmp dl, 001h ; 80 fa 01 8903 jne short 0620bh ; 75 08 8904 mov ax, strict word 00001h ; b8 01 00 8905 jmp short 0620dh ; eb 05 8906 jmp near 0629eh ; e9 93 00 8907 xor ax, ax ; 31 c0 8908 or bx, ax ; 09 c3 8909 cmp dl, 003h ; 80 fa 03 8910 jne short 06219h ; 75 05 8955 8911 mov ax, strict word 00003h ; b8 03 00 8956 jmp short 062 92h ; eb 028912 jmp short 0621bh ; eb 02 8957 8913 xor ax, ax ; 31 c0 8958 8914 or bx, ax ; 09 c3 … … 8960 8916 les si, [bp-008h] ; c4 76 f8 8961 8917 mov word [es:si+00234h], ax ; 26 89 84 34 02 8962 mov ax, word [bp-0 20h] ; 8b 46 e08918 mov ax, word [bp-01eh] ; 8b 46 e2 8963 8919 mov word [es:si+00236h], ax ; 26 89 84 36 02 8964 8920 mov al, byte [bp-004h] ; 8a 46 fc … … 8981 8937 xor bl, bl ; 30 db 8982 8938 xor bh, bh ; 30 ff 8983 jmp short 062 f7h ; eb 058939 jmp short 06280h ; eb 05 8984 8940 cmp bh, 00fh ; 80 ff 0f 8985 jnc short 0630dh ; 73 16 8986 mov al, bh ; 88 f8 8987 xor ah, ah ; 30 e4 8988 mov dx, ax ; 89 c2 8941 jnc short 06294h ; 73 14 8942 mov dl, bh ; 88 fa 8943 xor dh, dh ; 30 f6 8989 8944 add dx, 00356h ; 81 c2 56 03 8990 mov ax, word [bp-01 4h] ; 8b 46 ec8991 call 01650h ; e8 49b38945 mov ax, word [bp-012h] ; 8b 46 ee 8946 call 01650h ; e8 c2 b3 8992 8947 add bl, al ; 00 c3 8993 8948 db 0feh, 0c7h 8994 8949 ; inc bh ; fe c7 8995 jmp short 062 f2h ; eb e58950 jmp short 0627bh ; eb e7 8996 8951 neg bl ; f6 db 8997 8952 les si, [bp-008h] ; c4 76 f8 8998 8953 mov byte [es:si+00243h], bl ; 26 88 9c 43 02 8999 cmp word [bp-0 10h], strict byte 00042h ; 83 7e f0429000 jnc short 06 320h ; 73 039001 jmp near 063 e6h ; e9 c6 008954 cmp word [bp-00eh], strict byte 00042h ; 83 7e f2 42 8955 jnc short 062a7h ; 73 03 8956 jmp near 0636dh ; e9 c6 00 9002 8957 mov al, byte [bp-004h] ; 8a 46 fc 9003 8958 xor ah, ah ; 30 e4 … … 9018 8973 mov word [es:di+022h], strict word 00000h ; 26 c7 45 22 00 00 9019 8974 test al, al ; 84 c0 9020 jne short 06 368h ; 75 0c8975 jne short 062efh ; 75 0c 9021 8976 mov word [es:di+024h], 05349h ; 26 c7 45 24 49 53 9022 8977 mov word [es:di+026h], 02041h ; 26 c7 45 26 41 20 … … 9027 8982 mov word [es:di+02eh], 02020h ; 26 c7 45 2e 20 20 9028 8983 test al, al ; 84 c0 9029 jne short 063 9dh ; 75 168984 jne short 06324h ; 75 16 9030 8985 mov word [es:di+030h], dx ; 26 89 55 30 9031 8986 mov word [es:di+032h], strict word 00000h ; 26 c7 45 32 00 00 … … 9042 8997 xor bl, bl ; 30 db 9043 8998 mov BH, strict byte 01eh ; b7 1e 9044 jmp short 063 c8h ; eb 058999 jmp short 0634fh ; eb 05 9045 9000 cmp bh, 040h ; 80 ff 40 9046 jnc short 063 ddh ; 73 159001 jnc short 06364h ; 73 15 9047 9002 mov al, bh ; 88 f8 9048 9003 xor ah, ah ; 30 e4 … … 9050 9005 add dx, ax ; 01 c2 9051 9006 mov ax, word [bp+004h] ; 8b 46 04 9052 call 01650h ; e8 79b29007 call 01650h ; e8 f2 b2 9053 9008 add bl, al ; 00 c3 9054 9009 db 0feh, 0c7h 9055 9010 ; inc bh ; fe c7 9056 jmp short 063 c3h ; eb e69011 jmp short 0634ah ; eb e6 9057 9012 neg bl ; f6 db 9058 9013 mov es, [bp-00ah] ; 8e 46 f6 … … 9062 9017 mov dx, strict word 00074h ; ba 74 00 9063 9018 mov ax, strict word 00040h ; b8 40 00 9064 call 0165eh ; e8 69b29019 call 0165eh ; e8 e2 b2 9065 9020 and byte [bp+01ch], 0feh ; 80 66 1c fe 9066 9021 mov sp, bp ; 89 ec 9067 9022 pop bp ; 5d 9068 9023 retn ; c3 9069 cmp ax, strict word 00006h ; 3d 06 009070 je short 063 e6h ; 74 e49071 cmp ax, strict word 00001h ; 3d 01 009072 jc short 06 413h ; 72 0c9073 jbe short 063 e6h ; 76 dd9074 cmp ax, strict word 00003h ; 3d 03 009075 jc short 06 413h ; 72 059076 cmp ax, strict word 00004h ; 3d 04 009077 jbe short 063 e6h ; 76 d39024 cmp dx, strict byte 00006h ; 83 fa 06 9025 je short 0636dh ; 74 e4 9026 cmp dx, strict byte 00001h ; 83 fa 01 9027 jc short 0639ah ; 72 0c 9028 jbe short 0636dh ; 76 dd 9029 cmp dx, strict byte 00003h ; 83 fa 03 9030 jc short 0639ah ; 72 05 9031 cmp dx, strict byte 00004h ; 83 fa 04 9032 jbe short 0636dh ; 76 d3 9078 9033 mov ax, word [bp+016h] ; 8b 46 16 9079 9034 xor ah, ah ; 30 e4 … … 9085 9040 mov dx, strict word 00074h ; ba 74 00 9086 9041 mov ax, strict word 00040h ; b8 40 00 9087 call 0165eh ; e8 2fb29042 call 0165eh ; e8 a8 b2 9088 9043 or byte [bp+01ch], 001h ; 80 4e 1c 01 9089 jmp short 063 f9h ; eb c49090 _int14_function: ; 0xf6 435LB 0x1579044 jmp short 06380h ; eb c4 9045 _int14_function: ; 0xf63bc LB 0x157 9091 9046 push bp ; 55 9092 9047 mov bp, sp ; 89 e5 … … 9096 9051 add dx, dx ; 01 d2 9097 9052 mov ax, strict word 00040h ; b8 40 00 9098 call 0166ch ; e8 27b29053 call 0166ch ; e8 a0 b2 9099 9054 mov si, ax ; 89 c6 9100 9055 mov bx, ax ; 89 c3 … … 9102 9057 add dx, strict byte 0007ch ; 83 c2 7c 9103 9058 mov ax, strict word 00040h ; b8 40 00 9104 call 01650h ; e8 fb b19059 call 01650h ; e8 74 b2 9105 9060 mov cl, al ; 88 c1 9106 9061 cmp word [bp+00eh], strict byte 00004h ; 83 7e 0e 04 9107 jnc short 06 461h ; 73 049062 jnc short 063e8h ; 73 04 9108 9063 test si, si ; 85 f6 9109 jnbe short 06 464h ; 77 039110 jmp near 065 82h ; e9 1e 019064 jnbe short 063ebh ; 77 03 9065 jmp near 06509h ; e9 1e 01 9111 9066 mov al, byte [bp+013h] ; 8a 46 13 9112 9067 cmp AL, strict byte 001h ; 3c 01 9113 jc short 06 478h ; 72 0d9114 jbe short 064 d3h ; 76 669068 jc short 063ffh ; 72 0d 9069 jbe short 0645ah ; 76 66 9115 9070 cmp AL, strict byte 003h ; 3c 03 9116 je short 064 cbh ; 74 5a9071 je short 06452h ; 74 5a 9117 9072 cmp AL, strict byte 002h ; 3c 02 9118 je short 064 ceh ; 74 599119 jmp near 065 7ch ; e9 04 019073 je short 06455h ; 74 59 9074 jmp near 06503h ; e9 04 01 9120 9075 test al, al ; 84 c0 9121 jne short 064 d0h ; 75 549076 jne short 06457h ; 75 54 9122 9077 lea dx, [bx+003h] ; 8d 57 03 9123 9078 in AL, DX ; ec … … 9152 9107 ; sub ah, ah ; 2a e4 9153 9108 mov byte [bp+012h], al ; 88 46 12 9154 jmp near 06 55dh ; e9 9f 009109 jmp near 064e4h ; e9 9f 00 9155 9110 mov AL, strict byte 017h ; b0 17 9156 9111 mov dx, bx ; 89 da … … 9159 9114 mov AL, strict byte 004h ; b0 04 9160 9115 out DX, AL ; ee 9161 jmp short 064 a0h ; eb d59162 jmp near 06 56bh ; e9 9d 009163 jmp short 06 521h ; eb 519164 jmp near 065 7ch ; e9 a9 009116 jmp short 06427h ; eb d5 9117 jmp near 064f2h ; e9 9d 00 9118 jmp short 064a8h ; eb 51 9119 jmp near 06503h ; e9 a9 00 9165 9120 mov dx, strict word 0006ch ; ba 6c 00 9166 9121 mov ax, strict word 00040h ; b8 40 00 9167 call 0166ch ; e8 90 b19122 call 0166ch ; e8 09 b2 9168 9123 mov si, ax ; 89 c6 9169 9124 lea dx, [bx+005h] ; 8d 57 05 … … 9173 9128 and ax, strict word 00060h ; 25 60 00 9174 9129 cmp ax, strict word 00060h ; 3d 60 00 9175 je short 06 503h ; 74 179130 je short 0648ah ; 74 17 9176 9131 test cl, cl ; 84 c9 9177 je short 06 503h ; 74 139132 je short 0648ah ; 74 13 9178 9133 mov dx, strict word 0006ch ; ba 6c 00 9179 9134 mov ax, strict word 00040h ; b8 40 00 9180 call 0166ch ; e8 73b19135 call 0166ch ; e8 ec b1 9181 9136 cmp ax, si ; 39 f0 9182 je short 064 deh ; 74 e19137 je short 06465h ; 74 e1 9183 9138 mov si, ax ; 89 c6 9184 9139 db 0feh, 0c9h 9185 9140 ; dec cl ; fe c9 9186 jmp short 064 deh ; eb db9141 jmp short 06465h ; eb db 9187 9142 test cl, cl ; 84 c9 9188 je short 06 50dh ; 74 069143 je short 06494h ; 74 06 9189 9144 mov al, byte [bp+012h] ; 8a 46 12 9190 9145 mov dx, bx ; 89 da … … 9196 9151 mov byte [bp+013h], al ; 88 46 13 9197 9152 test cl, cl ; 84 c9 9198 jne short 06 55dh ; 75 439153 jne short 064e4h ; 75 43 9199 9154 or AL, strict byte 080h ; 0c 80 9200 9155 mov byte [bp+013h], al ; 88 46 13 9201 jmp short 06 55dh ; eb 3c9156 jmp short 064e4h ; eb 3c 9202 9157 mov dx, strict word 0006ch ; ba 6c 00 9203 9158 mov ax, strict word 00040h ; b8 40 00 9204 call 0166ch ; e8 42b19159 call 0166ch ; e8 bb b1 9205 9160 mov si, ax ; 89 c6 9206 9161 lea dx, [bx+005h] ; 8d 57 05 … … 9209 9164 ; sub ah, ah ; 2a e4 9210 9165 test AL, strict byte 001h ; a8 01 9211 jne short 06 54dh ; 75 179166 jne short 064d4h ; 75 17 9212 9167 test cl, cl ; 84 c9 9213 je short 06 54dh ; 74 139168 je short 064d4h ; 74 13 9214 9169 mov dx, strict word 0006ch ; ba 6c 00 9215 9170 mov ax, strict word 00040h ; b8 40 00 9216 call 0166ch ; e8 29b19171 call 0166ch ; e8 a2 b1 9217 9172 cmp ax, si ; 39 f0 9218 je short 06 52ch ; 74 e59173 je short 064b3h ; 74 e5 9219 9174 mov si, ax ; 89 c6 9220 9175 db 0feh, 0c9h 9221 9176 ; dec cl ; fe c9 9222 jmp short 06 52ch ; eb df9177 jmp short 064b3h ; eb df 9223 9178 test cl, cl ; 84 c9 9224 je short 06 563h ; 74 129179 je short 064eah ; 74 12 9225 9180 mov byte [bp+013h], 000h ; c6 46 13 00 9226 9181 mov dx, bx ; 89 da … … 9230 9185 mov byte [bp+012h], al ; 88 46 12 9231 9186 and byte [bp+01ch], 0feh ; 80 66 1c fe 9232 jmp short 065 86h ; eb 239187 jmp short 0650dh ; eb 23 9233 9188 lea dx, [bx+005h] ; 8d 57 05 9234 9189 in AL, DX ; ec 9235 9190 db 02ah, 0e4h 9236 9191 ; sub ah, ah ; 2a e4 9237 jmp short 06 51ch ; eb b19192 jmp short 064a3h ; eb b1 9238 9193 lea dx, [si+005h] ; 8d 54 05 9239 9194 in AL, DX ; ec … … 9245 9200 db 02ah, 0e4h 9246 9201 ; sub ah, ah ; 2a e4 9247 jmp short 06 55ah ; eb de9202 jmp short 064e1h ; eb de 9248 9203 or byte [bp+01ch], 001h ; 80 4e 1c 01 9249 jmp short 065 86h ; eb 049204 jmp short 0650dh ; eb 04 9250 9205 or byte [bp+01ch], 001h ; 80 4e 1c 01 9251 9206 lea sp, [bp-002h] ; 8d 66 fe … … 9253 9208 pop bp ; 5d 9254 9209 retn ; c3 9255 set_enable_a20_: ; 0xf65 8cLB 0x309210 set_enable_a20_: ; 0xf6513 LB 0x30 9256 9211 push bp ; 55 9257 9212 mov bp, sp ; 89 e5 … … 9266 9221 mov cl, al ; 88 c1 9267 9222 test bx, bx ; 85 db 9268 je short 065 a5h ; 74 059223 je short 0652ch ; 74 05 9269 9224 or AL, strict byte 002h ; 0c 02 9270 9225 out DX, AL ; ee 9271 jmp short 065 a8h ; eb 039226 jmp short 0652fh ; eb 03 9272 9227 and AL, strict byte 0fdh ; 24 fd 9273 9228 out DX, AL ; ee 9274 9229 test cl, 002h ; f6 c1 02 9275 je short 065 b2h ; 74 059230 je short 06539h ; 74 05 9276 9231 mov ax, strict word 00001h ; b8 01 00 9277 jmp short 065 b4h ; eb 029232 jmp short 0653bh ; eb 02 9278 9233 xor ax, ax ; 31 c0 9279 9234 lea sp, [bp-006h] ; 8d 66 fa … … 9283 9238 pop bp ; 5d 9284 9239 retn ; c3 9285 set_e820_range_: ; 0xf65 bcLB 0x8b9240 set_e820_range_: ; 0xf6543 LB 0x8b 9286 9241 push si ; 56 9287 9242 push bp ; 55 … … 9313 9268 retn 0000ah ; c2 0a 00 9314 9269 db 0ech, 0e9h, 0d8h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 087h, 083h, 052h, 04fh, 041h, 024h 9315 db 000h, 0 edh, 06ah, 084h, 066h, 098h, 066h, 02dh, 067h, 033h, 067h, 038h, 067h, 03dh, 067h, 0e5h9316 db 067h, 0 84h, 069h, 0aah, 069h, 026h, 067h, 026h, 067h, 077h, 06ah, 09fh, 06ah, 0b2h, 06ah, 0c1h9317 db 06ah, 0 2dh, 067h, 0c8h, 06ah9318 _int15_function: ; 0xf6 647LB 0x4d89270 db 000h, 074h, 06ah, 00bh, 066h, 01fh, 066h, 0b4h, 066h, 0bah, 066h, 0bfh, 066h, 0c4h, 066h, 06ch 9271 db 067h, 00bh, 069h, 031h, 069h, 0adh, 066h, 0adh, 066h, 0feh, 069h, 026h, 06ah, 039h, 06ah, 048h 9272 db 06ah, 0b4h, 066h, 04fh, 06ah 9273 _int15_function: ; 0xf65ce LB 0x4d8 9319 9274 push bp ; 55 9320 9275 mov bp, sp ; 89 e5 … … 9326 9281 shr ax, 008h ; c1 e8 08 9327 9282 cmp ax, 000ech ; 3d ec 00 9328 jnbe short 066 8eh ; 77 359283 jnbe short 06615h ; 77 35 9329 9284 push CS ; 0e 9330 9285 pop ES ; 07 9331 9286 mov cx, strict word 00012h ; b9 12 00 9332 mov di, 06 612h ; bf 12 669287 mov di, 06599h ; bf 99 65 9333 9288 repne scasb ; f2 ae 9334 9289 sal cx, 1 ; d1 e1 9335 9290 mov di, cx ; 89 cf 9336 mov si, word [cs:di+06 623h] ; 2e 8b b5 23 669291 mov si, word [cs:di+065aah] ; 2e 8b b5 aa 65 9337 9292 mov ax, word [bp+012h] ; 8b 46 12 9338 9293 xor ah, ah ; 30 e4 … … 9347 9302 xor ah, ah ; 30 e4 9348 9303 cmp ax, 000c0h ; 3d c0 00 9349 je short 066 91h ; 74 039350 jmp near 06a edh ; e9 5c 049304 je short 06618h ; 74 03 9305 jmp near 06a74h ; e9 5c 04 9351 9306 or byte [bp+018h], 001h ; 80 4e 18 01 9352 jmp near 06a 96h ; e9 fe 039307 jmp near 06a1dh ; e9 fe 03 9353 9308 mov dx, ax ; 89 c2 9354 9309 cmp ax, strict word 00001h ; 3d 01 00 9355 jc short 066 adh ; 72 0e9356 jbe short 066 c1h ; 76 209310 jc short 06634h ; 72 0e 9311 jbe short 06648h ; 76 20 9357 9312 cmp ax, strict word 00003h ; 3d 03 00 9358 je short 066 eeh ; 74 489313 je short 06675h ; 74 48 9359 9314 cmp ax, strict word 00002h ; 3d 02 00 9360 je short 066 d1h ; 74 269361 jmp short 066 fbh ; eb 4e9315 je short 06658h ; 74 26 9316 jmp short 06682h ; eb 4e 9362 9317 test ax, ax ; 85 c0 9363 jne short 066 fbh ; 75 4a9318 jne short 06682h ; 75 4a 9364 9319 xor ax, ax ; 31 c0 9365 call 065 8ch ; e8 d6 fe9320 call 06513h ; e8 d6 fe 9366 9321 and byte [bp+018h], 0feh ; 80 66 18 fe 9367 9322 mov byte [bp+013h], 000h ; c6 46 13 00 9368 jmp near 06 726h ; e9 65 009323 jmp near 066adh ; e9 65 00 9369 9324 mov ax, strict word 00001h ; b8 01 00 9370 call 065 8ch ; e8 c5 fe9325 call 06513h ; e8 c5 fe 9371 9326 and byte [bp+018h], 0feh ; 80 66 18 fe 9372 9327 mov byte [bp+013h], dh ; 88 76 13 9373 jmp near 06 726h ; e9 55 009328 jmp near 066adh ; e9 55 00 9374 9329 mov dx, 00092h ; ba 92 00 9375 9330 in AL, DX ; ec … … 9383 9338 and byte [bp+018h], 0feh ; 80 66 18 fe 9384 9339 mov byte [bp+013h], ah ; 88 66 13 9385 jmp near 06 726h ; e9 38 009340 jmp near 066adh ; e9 38 00 9386 9341 and byte [bp+018h], 0feh ; 80 66 18 fe 9387 9342 mov byte [bp+013h], ah ; 88 66 13 9388 9343 mov word [bp+00ch], ax ; 89 46 0c 9389 jmp near 06 726h ; e9 2b 009344 jmp near 066adh ; e9 2b 00 9390 9345 mov bx, 00da0h ; bb a0 0d 9391 9346 mov cx, ds ; 8c d9 9392 9347 mov ax, strict word 00004h ; b8 04 00 9393 call 01923h ; e8 1db29348 call 01923h ; e8 96 b2 9394 9349 mov ax, word [bp+012h] ; 8b 46 12 9395 9350 xor ah, ah ; 30 e4 … … 9397 9352 push 0082eh ; 68 2e 08 9398 9353 push strict byte 00004h ; 6a 04 9399 call 01966h ; e8 52b29354 call 01966h ; e8 cb b2 9400 9355 add sp, strict byte 00006h ; 83 c4 06 9401 9356 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9410 9365 retn ; c3 9411 9366 mov word [bp+018h], dx ; 89 56 18 9412 jmp near 067 dfh ; e9 ac 009367 jmp near 06766h ; e9 ac 00 9413 9368 mov word [bp+018h], dx ; 89 56 18 9414 jmp short 06 726h ; eb ee9369 jmp short 066adh ; eb ee 9415 9370 mov word [bp+018h], cx ; 89 4e 18 9416 jmp short 06 723h ; eb e69371 jmp short 066aah ; eb e6 9417 9372 test byte [bp+012h], 0ffh ; f6 46 12 ff 9418 jne short 067 b2h ; 75 6f9373 jne short 06739h ; 75 6f 9419 9374 mov dx, 000a0h ; ba a0 00 9420 9375 mov ax, strict word 00040h ; b8 40 00 9421 call 01650h ; e8 04af9376 call 01650h ; e8 7d af 9422 9377 test AL, strict byte 001h ; a8 01 9423 jne short 067 afh ; 75 5f9378 jne short 06736h ; 75 5f 9424 9379 mov bx, strict word 00001h ; bb 01 00 9425 9380 mov dx, 000a0h ; ba a0 00 9426 9381 mov ax, strict word 00040h ; b8 40 00 9427 call 0165eh ; e8 02af9382 call 0165eh ; e8 7b af 9428 9383 mov bx, word [bp+014h] ; 8b 5e 14 9429 9384 mov dx, 00098h ; ba 98 00 9430 9385 mov ax, strict word 00040h ; b8 40 00 9431 call 0167ah ; e8 12af9386 call 0167ah ; e8 8b af 9432 9387 mov bx, word [bp+00ch] ; 8b 5e 0c 9433 9388 mov dx, 0009ah ; ba 9a 00 9434 9389 mov ax, strict word 00040h ; b8 40 00 9435 call 0167ah ; e8 06af9390 call 0167ah ; e8 7f af 9436 9391 mov bx, word [bp+00eh] ; 8b 5e 0e 9437 9392 mov dx, 0009ch ; ba 9c 00 9438 9393 mov ax, strict word 00040h ; b8 40 00 9439 call 0167ah ; e8 fa ae9394 call 0167ah ; e8 73 af 9440 9395 mov bx, word [bp+010h] ; 8b 5e 10 9441 9396 mov dx, 0009eh ; ba 9e 00 9442 9397 mov ax, strict word 00040h ; b8 40 00 9443 call 0167ah ; e8 ee ae9398 call 0167ah ; e8 67 af 9444 9399 and byte [bp+018h], 0feh ; 80 66 18 fe 9445 9400 mov dx, 000a1h ; ba a1 00 … … 9450 9405 out DX, AL ; ee 9451 9406 mov ax, strict word 0000bh ; b8 0b 00 9452 call 016ach ; e8 0daf9407 call 016ach ; e8 86 af 9453 9408 mov dl, al ; 88 c2 9454 9409 or dl, 040h ; 80 ca 40 9455 9410 xor dh, dh ; 30 f6 9456 9411 mov ax, strict word 0000bh ; b8 0b 00 9457 call 016c7h ; e8 1baf9458 jmp near 06 726h ; e9 77 ff9459 jmp near 06a 8dh ; e9 db 029412 call 016c7h ; e8 94 af 9413 jmp near 066adh ; e9 77 ff 9414 jmp near 06a14h ; e9 db 02 9460 9415 cmp ax, strict word 00001h ; 3d 01 00 9461 jne short 067 d3h ; 75 1c9416 jne short 0675ah ; 75 1c 9462 9417 xor bx, bx ; 31 db 9463 9418 mov dx, 000a0h ; ba a0 00 9464 9419 mov ax, strict word 00040h ; b8 40 00 9465 call 0165eh ; e8 9c ae9420 call 0165eh ; e8 15 af 9466 9421 and byte [bp+018h], 0feh ; 80 66 18 fe 9467 9422 mov ax, strict word 0000bh ; b8 0b 00 9468 call 016ach ; e8 e0 ae9423 call 016ach ; e8 59 af 9469 9424 mov dl, al ; 88 c2 9470 9425 and dl, 0bfh ; 80 e2 bf 9471 jmp short 067 a4h ; eb d19426 jmp short 0672bh ; eb d1 9472 9427 mov word [bp+018h], dx ; 89 56 18 9473 9428 mov ax, bx ; 89 d8 … … 9477 9432 or bx, ax ; 09 c3 9478 9433 mov word [bp+012h], bx ; 89 5e 12 9479 jmp near 06 726h ; e9 41 ff9434 jmp near 066adh ; e9 41 ff 9480 9435 cli ; fa 9481 9436 mov ax, strict word 00001h ; b8 01 00 9482 call 065 8ch ; e8 a0 fd9437 call 06513h ; e8 a0 fd 9483 9438 mov di, ax ; 89 c7 9484 9439 mov ax, word [bp+014h] ; 8b 46 14 … … 9490 9445 mov byte [bp-006h], dl ; 88 56 fa 9491 9446 cmp cx, ax ; 39 c1 9492 jnc short 06 80bh ; 73 059447 jnc short 06792h ; 73 05 9493 9448 db 0feh, 0c2h 9494 9449 ; inc dl ; fe c2 … … 9498 9453 mov ax, word [bp+014h] ; 8b 46 14 9499 9454 mov bx, strict word 0002fh ; bb 2f 00 9500 call 0167ah ; e8 60ae9455 call 0167ah ; e8 d9 ae 9501 9456 mov dx, word [bp+006h] ; 8b 56 06 9502 9457 add dx, strict byte 0000ah ; 83 c2 0a 9503 9458 mov ax, word [bp+014h] ; 8b 46 14 9504 9459 mov bx, cx ; 89 cb 9505 call 0167ah ; e8 52ae9460 call 0167ah ; e8 cb ae 9506 9461 mov bl, byte [bp-006h] ; 8a 5e fa 9507 9462 xor bh, bh ; 30 ff … … 9509 9464 add dx, strict byte 0000ch ; 83 c2 0c 9510 9465 mov ax, word [bp+014h] ; 8b 46 14 9511 call 0165eh ; e8 25ae9466 call 0165eh ; e8 9e ae 9512 9467 mov dx, word [bp+006h] ; 8b 56 06 9513 9468 add dx, strict byte 0000dh ; 83 c2 0d 9514 9469 mov ax, word [bp+014h] ; 8b 46 14 9515 9470 mov bx, 00093h ; bb 93 00 9516 call 0165eh ; e8 16ae9471 call 0165eh ; e8 8f ae 9517 9472 mov dx, word [bp+006h] ; 8b 56 06 9518 9473 add dx, strict byte 0000eh ; 83 c2 0e 9519 9474 mov ax, word [bp+014h] ; 8b 46 14 9520 9475 xor bx, bx ; 31 db 9521 call 0167ah ; e8 24ae9476 call 0167ah ; e8 9d ae 9522 9477 mov dx, word [bp+006h] ; 8b 56 06 9523 9478 add dx, strict byte 00020h ; 83 c2 20 9524 9479 mov ax, word [bp+014h] ; 8b 46 14 9525 9480 mov bx, strict word 0ffffh ; bb ff ff 9526 call 0167ah ; e8 15ae9481 call 0167ah ; e8 8e ae 9527 9482 mov dx, word [bp+006h] ; 8b 56 06 9528 9483 add dx, strict byte 00022h ; 83 c2 22 9529 9484 mov ax, word [bp+014h] ; 8b 46 14 9530 9485 xor bx, bx ; 31 db 9531 call 0167ah ; e8 07ae9486 call 0167ah ; e8 80 ae 9532 9487 mov dx, word [bp+006h] ; 8b 56 06 9533 9488 add dx, strict byte 00024h ; 83 c2 24 9534 9489 mov ax, word [bp+014h] ; 8b 46 14 9535 9490 mov bx, strict word 0000fh ; bb 0f 00 9536 call 0165eh ; e8 dc ad9491 call 0165eh ; e8 55 ae 9537 9492 mov dx, word [bp+006h] ; 8b 56 06 9538 9493 add dx, strict byte 00025h ; 83 c2 25 9539 9494 mov ax, word [bp+014h] ; 8b 46 14 9540 9495 mov bx, 0009bh ; bb 9b 00 9541 call 0165eh ; e8 cd ad9496 call 0165eh ; e8 46 ae 9542 9497 mov dx, word [bp+006h] ; 8b 56 06 9543 9498 add dx, strict byte 00026h ; 83 c2 26 9544 9499 mov ax, word [bp+014h] ; 8b 46 14 9545 9500 xor bx, bx ; 31 db 9546 call 0167ah ; e8 db ad9501 call 0167ah ; e8 54 ae 9547 9502 mov ax, ss ; 8c d0 9548 9503 mov cx, ax ; 89 c1 … … 9554 9509 mov ax, word [bp+014h] ; 8b 46 14 9555 9510 mov bx, strict word 0ffffh ; bb ff ff 9556 call 0167ah ; e8 bf ad9511 call 0167ah ; e8 38 ae 9557 9512 mov dx, word [bp+006h] ; 8b 56 06 9558 9513 add dx, strict byte 0002ah ; 83 c2 2a 9559 9514 mov ax, word [bp+014h] ; 8b 46 14 9560 9515 mov bx, cx ; 89 cb 9561 call 0167ah ; e8 b1 ad9516 call 0167ah ; e8 2a ae 9562 9517 mov bl, byte [bp-008h] ; 8a 5e f8 9563 9518 xor bh, bh ; 30 ff … … 9565 9520 add dx, strict byte 0002ch ; 83 c2 2c 9566 9521 mov ax, word [bp+014h] ; 8b 46 14 9567 call 0165eh ; e8 84ad9522 call 0165eh ; e8 fd ad 9568 9523 mov dx, word [bp+006h] ; 8b 56 06 9569 9524 add dx, strict byte 0002dh ; 83 c2 2d 9570 9525 mov ax, word [bp+014h] ; 8b 46 14 9571 9526 mov bx, 00093h ; bb 93 00 9572 call 0165eh ; e8 75ad9527 call 0165eh ; e8 ee ad 9573 9528 mov dx, word [bp+006h] ; 8b 56 06 9574 9529 add dx, strict byte 0002eh ; 83 c2 2e 9575 9530 mov ax, word [bp+014h] ; 8b 46 14 9576 9531 xor bx, bx ; 31 db 9577 call 0167ah ; e8 83ad9532 call 0167ah ; e8 fc ad 9578 9533 mov si, word [bp+006h] ; 8b 76 06 9579 9534 mov es, [bp+014h] ; 8e 46 14 … … 9586 9541 mov word [00467h], sp ; 89 26 67 04 9587 9542 mov [00469h], ss ; 8c 16 69 04 9588 call 06 913h ; e8 00 009543 call 0689ah ; e8 00 00 9589 9544 pop di ; 5f 9590 9545 add di, strict byte 0001bh ; 83 c7 1b … … 9609 9564 cld ; fc 9610 9565 rep movsw ; f3 a5 9611 call 06 947h ; e8 00 009566 call 068ceh ; e8 00 00 9612 9567 pop ax ; 58 9613 9568 push 0f000h ; 68 00 f0 … … 9630 9585 pop DS ; 1f 9631 9586 mov ax, di ; 89 f8 9632 call 065 8ch ; e8 14 fc9587 call 06513h ; e8 14 fc 9633 9588 sti ; fb 9634 9589 mov byte [bp+013h], 000h ; c6 46 13 00 9635 9590 and byte [bp+018h], 0feh ; 80 66 18 fe 9636 jmp near 06 726h ; e9 a2 fd9591 jmp near 066adh ; e9 a2 fd 9637 9592 mov ax, strict word 00031h ; b8 31 00 9638 call 016ach ; e8 22ad9593 call 016ach ; e8 9b ad 9639 9594 xor ah, ah ; 30 e4 9640 9595 mov dx, ax ; 89 c2 9641 9596 sal dx, 008h ; c1 e2 08 9642 9597 mov ax, strict word 00030h ; b8 30 00 9643 call 016ach ; e8 15ad9598 call 016ach ; e8 8e ad 9644 9599 xor ah, ah ; 30 e4 9645 9600 or dx, ax ; 09 c2 9646 9601 mov word [bp+012h], dx ; 89 56 12 9647 9602 cmp dx, strict byte 0ffc0h ; 83 fa c0 9648 jbe short 069 7dh ; 76 da9603 jbe short 06904h ; 76 da 9649 9604 mov word [bp+012h], strict word 0ffc0h ; c7 46 12 c0 ff 9650 jmp short 069 7dh ; eb d39605 jmp short 06904h ; eb d3 9651 9606 cli ; fa 9652 9607 mov ax, strict word 00001h ; b8 01 00 9653 call 065 8ch ; e8 db fb9608 call 06513h ; e8 db fb 9654 9609 mov dx, word [bp+006h] ; 8b 56 06 9655 9610 add dx, strict byte 00038h ; 83 c2 38 9656 9611 mov ax, word [bp+014h] ; 8b 46 14 9657 9612 mov bx, strict word 0ffffh ; bb ff ff 9658 call 0167ah ; e8 ba ac9613 call 0167ah ; e8 33 ad 9659 9614 mov dx, word [bp+006h] ; 8b 56 06 9660 9615 add dx, strict byte 0003ah ; 83 c2 3a 9661 9616 mov ax, word [bp+014h] ; 8b 46 14 9662 9617 xor bx, bx ; 31 db 9663 call 0167ah ; e8 ac ac9618 call 0167ah ; e8 25 ad 9664 9619 mov dx, word [bp+006h] ; 8b 56 06 9665 9620 add dx, strict byte 0003ch ; 83 c2 3c 9666 9621 mov ax, word [bp+014h] ; 8b 46 14 9667 9622 mov bx, strict word 0000fh ; bb 0f 00 9668 call 0165eh ; e8 81ac9623 call 0165eh ; e8 fa ac 9669 9624 mov dx, word [bp+006h] ; 8b 56 06 9670 9625 add dx, strict byte 0003dh ; 83 c2 3d 9671 9626 mov ax, word [bp+014h] ; 8b 46 14 9672 9627 mov bx, 0009bh ; bb 9b 00 9673 call 0165eh ; e8 72ac9628 call 0165eh ; e8 eb ac 9674 9629 mov dx, word [bp+006h] ; 8b 56 06 9675 9630 add dx, strict byte 0003eh ; 83 c2 3e 9676 9631 mov ax, word [bp+014h] ; 8b 46 14 9677 9632 xor bx, bx ; 31 db 9678 call 0167ah ; e8 80ac9633 call 0167ah ; e8 f9 ac 9679 9634 mov AL, strict byte 011h ; b0 11 9680 9635 mov dx, strict word 00020h ; ba 20 00 … … 9706 9661 out DX, AL ; ee 9707 9662 mov si, word [bp+006h] ; 8b 76 06 9708 call 06 a3bh ; e8 00 009663 call 069c2h ; e8 00 00 9709 9664 pop di ; 5f 9710 9665 add di, strict byte 00018h ; 83 c7 18 … … 9734 9689 push cx ; 51 9735 9690 retf ; cb 9736 jmp near 06 726h ; e9 af fc9691 jmp near 066adh ; e9 af fc 9737 9692 mov bx, 00da0h ; bb a0 0d 9738 9693 mov cx, ds ; 8c d9 9739 9694 mov ax, strict word 00004h ; b8 04 00 9740 call 01923h ; e8 a1 ae9695 call 01923h ; e8 1a af 9741 9696 push 0086eh ; 68 6e 08 9742 9697 push strict byte 00004h ; 6a 04 9743 call 01966h ; e8 dc ae9698 call 01966h ; e8 55 af 9744 9699 add sp, strict byte 00004h ; 83 c4 04 9745 9700 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9748 9703 or ah, 086h ; 80 cc 86 9749 9704 mov word [bp+012h], ax ; 89 46 12 9750 jmp near 06 726h ; e9 87 fc9705 jmp near 066adh ; e9 87 fc 9751 9706 mov word [bp+018h], cx ; 89 4e 18 9752 9707 mov word [bp+012h], ax ; 89 46 12 9753 9708 mov word [bp+00ch], 0e6f5h ; c7 46 0c f5 e6 9754 9709 mov word [bp+014h], 0f000h ; c7 46 14 00 f0 9755 jmp near 06 726h ; e9 74 fc9710 jmp near 066adh ; e9 74 fc 9756 9711 mov dx, strict word 0000eh ; ba 0e 00 9757 9712 mov ax, strict word 00040h ; b8 40 00 9758 call 0166ch ; e8 b1 ab9713 call 0166ch ; e8 2a ac 9759 9714 mov word [bp+014h], ax ; 89 46 14 9760 jmp near 069 7dh ; e9 bc fe9715 jmp near 06904h ; e9 bc fe 9761 9716 push 0089dh ; 68 9d 08 9762 9717 push strict byte 00008h ; 6a 08 9763 jmp short 06a 87h ; eb bf9718 jmp short 06a0eh ; eb bf 9764 9719 test byte [bp+012h], 0ffh ; f6 46 12 ff 9765 jne short 06a edh ; 75 1f9720 jne short 06a74h ; 75 1f 9766 9721 mov word [bp+012h], ax ; 89 46 12 9767 9722 mov ax, word [bp+00ch] ; 8b 46 0c 9768 9723 xor ah, ah ; 30 e4 9769 9724 cmp ax, strict word 00001h ; 3d 01 00 9770 jc short 06a e6h ; 72 0b9725 jc short 06a6dh ; 72 0b 9771 9726 cmp ax, strict word 00003h ; 3d 03 00 9772 jnbe short 06a e6h ; 77 069727 jnbe short 06a6dh ; 77 06 9773 9728 mov word [bp+018h], cx ; 89 4e 18 9774 jmp near 06 726h ; e9 40 fc9729 jmp near 066adh ; e9 40 fc 9775 9730 or byte [bp+018h], 001h ; 80 4e 18 01 9776 jmp near 06 726h ; e9 39 fc9731 jmp near 066adh ; e9 39 fc 9777 9732 mov bx, 00da0h ; bb a0 0d 9778 9733 mov cx, ds ; 8c d9 9779 9734 mov ax, strict word 00004h ; b8 04 00 9780 call 01923h ; e8 2bae9735 call 01923h ; e8 a4 ae 9781 9736 push word [bp+00ch] ; ff 76 0c 9782 9737 push word [bp+012h] ; ff 76 12 9783 9738 push 008b4h ; 68 b4 08 9784 9739 push strict byte 00004h ; 6a 04 9785 call 01966h ; e8 60ae9740 call 01966h ; e8 d9 ae 9786 9741 add sp, strict byte 00008h ; 83 c4 08 9787 jmp short 06a 8dh ; eb 829788 mov bx, 0e06ch ; bb 6c e09742 jmp short 06a14h ; eb 82 9743 inc dx ; 42 9789 9744 insb ; 6c 9790 add byte [di+04fh], ch ; 00 6d 4f 9745 a32 insb ; 67 6c 9746 xchg word [si-02ah], bp ; 87 6c d6 9747 insb ; 6c 9748 hlt ; f4 9749 insb ; 6c 9750 adc word [di+033h], bp ; 11 6d 33 9791 9751 insw ; 6d 9752 push bp ; 55 9792 9753 insw ; 6d 9754 xchg dx, ax ; 92 9793 9755 insw ; 6d 9794 mov ch, byte [di-054h] ; 8a 6d ac9756 db 0c6h 9795 9757 insw ; 6d 9796 into ; ce 9797 insw ; 6d 9798 or bp, word [bp+03fh] ; 0b 6e 3f 9799 outsb ; 6e 9800 _int15_function32: ; 0xf6b1f LB 0x3bc 9758 _int15_function32: ; 0xf6aa6 LB 0x3bc 9801 9759 push bp ; 55 9802 9760 mov bp, sp ; 89 e5 … … 9810 9768 xor ah, ah ; 30 e4 9811 9769 cmp dx, 000e8h ; 81 fa e8 00 9812 je short 06b 8ah ; 74 4d9770 je short 06b11h ; 74 4d 9813 9771 cmp dx, 000d0h ; 81 fa d0 00 9814 je short 06b 83h ; 74 409772 je short 06b0ah ; 74 40 9815 9773 cmp dx, 00086h ; 81 fa 86 00 9816 jne short 06b a8h ; 75 5f9774 jne short 06b2fh ; 75 5f 9817 9775 sti ; fb 9818 9776 mov ax, word [bp+01ch] ; 8b 46 1c … … 9833 9791 db 066h, 00bh, 0c9h 9834 9792 ; or ecx, ecx ; 66 0b c9 9835 je near 06b 80h ; 0f 84 0e 009793 je near 06b07h ; 0f 84 0e 00 9836 9794 in AL, strict byte 061h ; e4 61 9837 9795 and AL, strict byte 010h ; 24 10 9838 9796 db 03ah, 0c4h 9839 9797 ; cmp al, ah ; 3a c4 9840 je short 06 b72h ; 74 f89798 je short 06af9h ; 74 f8 9841 9799 db 08ah, 0e0h 9842 9800 ; mov ah, al ; 8a e0 9843 9801 dec ecx ; 66 49 9844 jne short 06 b72h ; 75 f29845 jmp near 06 d49h ; e9 c6 019802 jne short 06af9h ; 75 f2 9803 jmp near 06cd0h ; e9 c6 01 9846 9804 cmp ax, strict word 0004fh ; 3d 4f 00 9847 je short 06b 8ch ; 74 049848 jmp short 06b a8h ; eb 1e9849 jmp short 06b e2h ; eb 569805 je short 06b13h ; 74 04 9806 jmp short 06b2fh ; eb 1e 9807 jmp short 06b69h ; eb 56 9850 9808 cmp word [bp+016h], 05052h ; 81 7e 16 52 50 9851 jne short 06b ech ; 75 599809 jne short 06b73h ; 75 59 9852 9810 cmp word [bp+014h], 04f43h ; 81 7e 14 43 4f 9853 jne short 06b ech ; 75 529811 jne short 06b73h ; 75 52 9854 9812 cmp word [bp+01eh], 04d4fh ; 81 7e 1e 4f 4d 9855 jne short 06b ech ; 75 4b9813 jne short 06b73h ; 75 4b 9856 9814 cmp word [bp+01ch], 04445h ; 81 7e 1c 45 44 9857 je short 06b aah ; 74 029858 jmp short 06b ech ; eb 429815 je short 06b31h ; 74 02 9816 jmp short 06b73h ; eb 42 9859 9817 mov ax, word [bp+00ah] ; 8b 46 0a 9860 9818 or ax, word [bp+008h] ; 0b 46 08 9861 jne short 06b ech ; 75 3a9819 jne short 06b73h ; 75 3a 9862 9820 mov ax, word [bp+006h] ; 8b 46 06 9863 9821 or ax, word [bp+004h] ; 0b 46 04 9864 jne short 06b ech ; 75 329822 jne short 06b73h ; 75 32 9865 9823 mov word [bp+028h], bx ; 89 5e 28 9866 9824 mov ax, word [bp+014h] ; 8b 46 14 … … 9874 9832 mov word [bp+020h], 03332h ; c7 46 20 32 33 9875 9833 mov word [bp+022h], 04941h ; c7 46 22 41 49 9876 jmp near 06 d49h ; e9 67 019834 jmp near 06cd0h ; e9 67 01 9877 9835 cmp ax, strict word 00020h ; 3d 20 00 9878 je short 06b f2h ; 74 0b9836 je short 06b79h ; 74 0b 9879 9837 cmp ax, strict word 00001h ; 3d 01 00 9880 je short 06b efh ; 74 039881 jmp near 06 d1fh ; e9 30 019882 jmp near 06e 8dh ; e9 9b 029838 je short 06b76h ; 74 03 9839 jmp near 06ca6h ; e9 30 01 9840 jmp near 06e14h ; e9 9b 02 9883 9841 cmp word [bp+01ah], 0534dh ; 81 7e 1a 4d 53 9884 jne short 06b ech ; 75 f39842 jne short 06b73h ; 75 f3 9885 9843 cmp word [bp+018h], 04150h ; 81 7e 18 50 41 9886 jne short 06b ech ; 75 ec9844 jne short 06b73h ; 75 ec 9887 9845 mov ax, strict word 00035h ; b8 35 00 9888 call 016ach ; e8 a6 aa9846 call 016ach ; e8 1f ab 9889 9847 mov bl, al ; 88 c3 9890 9848 xor bh, bh ; 30 ff … … 9893 9851 sal bx, 1 ; d1 e3 9894 9852 rcl dx, 1 ; d1 d2 9895 loop 06 c0fh ; e2 fa9853 loop 06b96h ; e2 fa 9896 9854 mov ax, strict word 00034h ; b8 34 00 9897 call 016ach ; e8 91 aa9855 call 016ach ; e8 0a ab 9898 9856 xor ah, ah ; 30 e4 9899 9857 mov dx, bx ; 89 da … … 9903 9861 adc dx, 00100h ; 81 d2 00 01 9904 9862 cmp dx, 00100h ; 81 fa 00 01 9905 jc short 06 c35h ; 72 069906 jne short 06 c63h ; 75 329863 jc short 06bbch ; 72 06 9864 jne short 06beah ; 75 32 9907 9865 test bx, bx ; 85 db 9908 jnbe short 06 c63h ; 77 2e9866 jnbe short 06beah ; 77 2e 9909 9867 mov ax, strict word 00031h ; b8 31 00 9910 call 016ach ; e8 71aa9868 call 016ach ; e8 ea aa 9911 9869 mov bl, al ; 88 c3 9912 9870 xor bh, bh ; 30 ff … … 9915 9873 sal bx, 1 ; d1 e3 9916 9874 rcl dx, 1 ; d1 d2 9917 loop 06 c44h ; e2 fa9875 loop 06bcbh ; e2 fa 9918 9876 mov ax, strict word 00030h ; b8 30 00 9919 call 016ach ; e8 5caa9877 call 016ach ; e8 d5 aa 9920 9878 xor ah, ah ; 30 e4 9921 9879 or bx, ax ; 09 c3 … … 9923 9881 sal bx, 1 ; d1 e3 9924 9882 rcl dx, 1 ; d1 d2 9925 loop 06 c57h ; e2 fa9883 loop 06bdeh ; e2 fa 9926 9884 add bx, strict byte 00000h ; 83 c3 00 9927 9885 adc dx, strict byte 00010h ; 83 d2 10 9928 9886 mov ax, strict word 00062h ; b8 62 00 9929 call 016ach ; e8 43aa9887 call 016ach ; e8 bc aa 9930 9888 xor ah, ah ; 30 e4 9931 9889 mov word [bp-00ah], ax ; 89 46 f6 … … 9935 9893 sal word [bp-00ah], 1 ; d1 66 f6 9936 9894 rcl word [bp-008h], 1 ; d1 56 f8 9937 loop 06 c76h ; e2 f89895 loop 06bfdh ; e2 f8 9938 9896 mov ax, strict word 00061h ; b8 61 00 9939 call 016ach ; e8 28aa9897 call 016ach ; e8 a1 aa 9940 9898 xor ah, ah ; 30 e4 9941 9899 or word [bp-00ah], ax ; 09 46 f6 … … 9944 9902 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 9945 9903 mov ax, strict word 00063h ; b8 63 00 9946 call 016ach ; e8 12aa9904 call 016ach ; e8 8b aa 9947 9905 mov byte [bp-006h], al ; 88 46 fa 9948 9906 mov byte [bp-004h], al ; 88 46 fc 9949 9907 mov ax, word [bp+014h] ; 8b 46 14 9950 9908 cmp ax, strict word 00009h ; 3d 09 00 9951 jnbe short 06 d1fh ; 77 779909 jnbe short 06ca6h ; 77 77 9952 9910 mov si, ax ; 89 c6 9953 9911 add si, ax ; 01 c6 … … 9956 9914 mov cx, dx ; 89 d1 9957 9915 adc cx, strict byte 0ffffh ; 83 d1 ff 9958 jmp word [cs:si+06 b0bh] ; 2e ff a4 0b 6b9916 jmp word [cs:si+06a92h] ; 2e ff a4 92 6a 9959 9917 push strict byte 00001h ; 6a 01 9960 9918 push strict byte 00000h ; 6a 00 … … 9966 9924 xor bx, bx ; 31 db 9967 9925 xor cx, cx ; 31 c9 9968 call 065 bch ; e8 e9 f89926 call 06543h ; e8 e9 f8 9969 9927 mov word [bp+014h], strict word 00001h ; c7 46 14 01 00 9970 9928 mov word [bp+016h], strict word 00000h ; c7 46 16 00 00 9971 jmp near 06 e72h ; e9 92 019929 jmp near 06df9h ; e9 92 01 9972 9930 push strict byte 00002h ; 6a 02 9973 9931 push strict byte 00000h ; 6a 00 … … 9979 9937 mov bx, 0fc00h ; bb 00 fc 9980 9938 mov cx, strict word 00009h ; b9 09 00 9981 call 065 bch ; e8 c3 f89939 call 06543h ; e8 c3 f8 9982 9940 mov word [bp+014h], strict word 00002h ; c7 46 14 02 00 9983 jmp short 06c d8h ; eb d89941 jmp short 06c5fh ; eb d8 9984 9942 push strict byte 00002h ; 6a 02 9985 9943 push strict byte 00000h ; 6a 00 … … 9991 9949 xor bx, bx ; 31 db 9992 9950 mov cx, strict word 0000fh ; b9 0f 00 9993 call 065 bch ; e8 a4 f89951 call 06543h ; e8 a4 f8 9994 9952 mov word [bp+014h], strict word 00003h ; c7 46 14 03 00 9995 jmp short 06c d8h ; eb b99953 jmp short 06c5fh ; eb b9 9996 9954 mov bx, 00da0h ; bb a0 0d 9997 9955 mov cx, ds ; 8c d9 9998 9956 mov ax, strict word 00004h ; b8 04 00 9999 call 01923h ; e8 f9 ab9957 call 01923h ; e8 72 ac 10000 9958 push word [bp+014h] ; ff 76 14 10001 9959 push word [bp+020h] ; ff 76 20 10002 9960 push 008b4h ; 68 b4 08 10003 9961 push strict byte 00004h ; 6a 04 10004 call 01966h ; e8 2eac9962 call 01966h ; e8 a7 ac 10005 9963 add sp, strict byte 00008h ; 83 c4 08 10006 9964 or byte [bp+028h], 001h ; 80 4e 28 01 … … 10022 9980 xor bx, bx ; 31 db 10023 9981 mov cx, strict word 00010h ; b9 10 00 10024 call 065 bch ; e8 57 f89982 call 06543h ; e8 57 f8 10025 9983 mov word [bp+014h], strict word 00004h ; c7 46 14 04 00 10026 jmp near 06c d8h ; e9 6b ff9984 jmp near 06c5fh ; e9 6b ff 10027 9985 push strict byte 00003h ; 6a 03 10028 9986 push strict byte 00000h ; 6a 00 … … 10034 9992 mov bx, ax ; 89 c3 10035 9993 mov ax, si ; 89 f0 10036 call 065 bch ; e8 3a f89994 call 06543h ; e8 3a f8 10037 9995 mov word [bp+014h], strict word 00005h ; c7 46 14 05 00 10038 jmp near 06c d8h ; e9 4e ff9996 jmp near 06c5fh ; e9 4e ff 10039 9997 push strict byte 00002h ; 6a 02 10040 9998 push strict byte 00000h ; 6a 00 … … 10046 10004 xor bx, bx ; 31 db 10047 10005 mov cx, 0fec0h ; b9 c0 fe 10048 call 065 bch ; e8 18 f810006 call 06543h ; e8 18 f8 10049 10007 mov word [bp+014h], strict word 00006h ; c7 46 14 06 00 10050 jmp near 06c d8h ; e9 2c ff10008 jmp near 06c5fh ; e9 2c ff 10051 10009 push strict byte 00002h ; 6a 02 10052 10010 push strict byte 00000h ; 6a 00 … … 10058 10016 xor bx, bx ; 31 db 10059 10017 mov cx, 0fee0h ; b9 e0 fe 10060 call 065 bch ; e8 f6 f710018 call 06543h ; e8 f6 f7 10061 10019 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 10062 jmp near 06c d8h ; e9 0a ff10020 jmp near 06c5fh ; e9 0a ff 10063 10021 push strict byte 00002h ; 6a 02 10064 10022 push strict byte 00000h ; 6a 00 … … 10070 10028 xor bx, bx ; 31 db 10071 10029 mov cx, strict word 0fffch ; b9 fc ff 10072 call 065 bch ; e8 d6 f710030 call 06543h ; e8 d6 f7 10073 10031 cmp byte [bp-006h], 000h ; 80 7e fa 00 10074 jne short 06d f3h ; 75 0710032 jne short 06d7ah ; 75 07 10075 10033 mov ax, word [bp-008h] ; 8b 46 f8 10076 10034 test ax, ax ; 85 c0 10077 je short 06 e03h ; 74 1010035 je short 06d8ah ; 74 10 10078 10036 mov word [bp+014h], strict word 00009h ; c7 46 14 09 00 10079 jmp near 06c d8h ; e9 dd fe10037 jmp near 06c5fh ; e9 dd fe 10080 10038 mov word [bp+014h], strict word 00008h ; c7 46 14 08 00 10081 jmp near 06c d8h ; e9 d5 fe10039 jmp near 06c5fh ; e9 d5 fe 10082 10040 mov word [bp+014h], ax ; 89 46 14 10083 10041 mov word [bp+016h], ax ; 89 46 16 10084 jmp short 06 e72h ; eb 6710042 jmp short 06df9h ; eb 67 10085 10043 push strict byte 00002h ; 6a 02 10086 10044 push strict byte 00000h ; 6a 00 … … 10092 10050 xor bx, bx ; 31 db 10093 10051 xor cx, cx ; 31 c9 10094 call 065 bch ; e8 9a f710052 call 06543h ; e8 9a f7 10095 10053 cmp byte [bp-006h], 000h ; 80 7e fa 00 10096 jne short 06 e2fh ; 75 0710054 jne short 06db6h ; 75 07 10097 10055 mov ax, word [bp-008h] ; 8b 46 f8 10098 10056 test ax, ax ; 85 c0 10099 je short 06 e37h ; 74 0810057 je short 06dbeh ; 74 08 10100 10058 mov word [bp+014h], strict word 00009h ; c7 46 14 09 00 10101 jmp near 06c d8h ; e9 a1 fe10059 jmp near 06c5fh ; e9 a1 fe 10102 10060 mov word [bp+014h], ax ; 89 46 14 10103 10061 mov word [bp+016h], ax ; 89 46 16 10104 jmp short 06 e72h ; eb 3310062 jmp short 06df9h ; eb 33 10105 10063 cmp byte [bp-006h], 000h ; 80 7e fa 00 10106 jne short 06 e4bh ; 75 0610064 jne short 06dd2h ; 75 06 10107 10065 cmp word [bp-008h], strict byte 00000h ; 83 7e f8 00 10108 je short 06 e72h ; 74 2710066 je short 06df9h ; 74 27 10109 10067 push strict byte 00001h ; 6a 01 10110 10068 mov al, byte [bp-004h] ; 8a 46 fc … … 10120 10078 xor bx, bx ; 31 db 10121 10079 xor cx, cx ; 31 c9 10122 call 065 bch ; e8 52 f710080 call 06543h ; e8 52 f7 10123 10081 xor ax, ax ; 31 c0 10124 10082 mov word [bp+014h], ax ; 89 46 14 … … 10129 10087 mov word [bp+01eh], strict word 00000h ; c7 46 1e 00 00 10130 10088 and byte [bp+028h], 0feh ; 80 66 28 fe 10131 jmp near 06 d49h ; e9 bc fe10089 jmp near 06cd0h ; e9 bc fe 10132 10090 mov word [bp+028h], bx ; 89 5e 28 10133 10091 mov ax, strict word 00031h ; b8 31 00 10134 call 016ach ; e8 16a810092 call 016ach ; e8 8f a8 10135 10093 xor ah, ah ; 30 e4 10136 10094 mov dx, ax ; 89 c2 10137 10095 sal dx, 008h ; c1 e2 08 10138 10096 mov ax, strict word 00030h ; b8 30 00 10139 call 016ach ; e8 09a810097 call 016ach ; e8 82 a8 10140 10098 xor ah, ah ; 30 e4 10141 10099 or dx, ax ; 09 c2 10142 10100 mov word [bp+01ch], dx ; 89 56 1c 10143 10101 cmp dx, 03c00h ; 81 fa 00 3c 10144 jbe short 06e b5h ; 76 0510102 jbe short 06e3ch ; 76 05 10145 10103 mov word [bp+01ch], 03c00h ; c7 46 1c 00 3c 10146 10104 mov ax, strict word 00035h ; b8 35 00 10147 call 016ach ; e8 f1 a710105 call 016ach ; e8 6a a8 10148 10106 xor ah, ah ; 30 e4 10149 10107 mov dx, ax ; 89 c2 10150 10108 sal dx, 008h ; c1 e2 08 10151 10109 mov ax, strict word 00034h ; b8 34 00 10152 call 016ach ; e8 e4 a710110 call 016ach ; e8 5d a8 10153 10111 xor ah, ah ; 30 e4 10154 10112 or dx, ax ; 09 c2 … … 10157 10115 mov word [bp+020h], ax ; 89 46 20 10158 10116 mov word [bp+014h], dx ; 89 56 14 10159 jmp near 06 d49h ; e9 6e fe10160 _inv_op_handler: ; 0xf6e dbLB 0x19b10117 jmp near 06cd0h ; e9 6e fe 10118 _inv_op_handler: ; 0xf6e62 LB 0x19b 10161 10119 push bp ; 55 10162 10120 mov bp, sp ; 89 e5 … … 10167 10125 les bx, [bp+018h] ; c4 5e 18 10168 10126 cmp byte [es:bx], 0f0h ; 26 80 3f f0 10169 jne short 06e f1h ; 75 0610127 jne short 06e78h ; 75 06 10170 10128 inc word [bp+018h] ; ff 46 18 10171 jmp near 0 706fh ; e9 7e 0110129 jmp near 06ff6h ; e9 7e 01 10172 10130 cmp word [es:bx], 0050fh ; 26 81 3f 0f 05 10173 je short 06e fbh ; 74 0310174 jmp near 0 706bh ; e9 70 0110131 je short 06e82h ; 74 03 10132 jmp near 06ff2h ; e9 70 01 10175 10133 mov si, 00800h ; be 00 08 10176 10134 xor ax, ax ; 31 c0 … … 10201 10159 sal ax, 1 ; d1 e0 10202 10160 rcl dx, 1 ; d1 d2 10203 loop 06 f4ch ; e2 fa10161 loop 06ed3h ; e2 fa 10204 10162 cmp bx, dx ; 39 d3 10205 jne short 06 f5ah ; 75 0410163 jne short 06ee1h ; 75 04 10206 10164 cmp di, ax ; 39 c7 10207 je short 06 f5fh ; 74 0510165 je short 06ee6h ; 74 05 10208 10166 mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 10209 10167 mov es, [bp-006h] ; 8e 46 fa … … 10216 10174 sal ax, 1 ; d1 e0 10217 10175 rcl dx, 1 ; d1 d2 10218 loop 06 f75h ; e2 fa10176 loop 06efch ; e2 fa 10219 10177 cmp bx, dx ; 39 d3 10220 jne short 06f 83h ; 75 0410178 jne short 06f0ah ; 75 04 10221 10179 cmp di, ax ; 39 c7 10222 je short 06f 87h ; 74 0410180 je short 06f0eh ; 74 04 10223 10181 or byte [bp-008h], 002h ; 80 4e f8 02 10224 10182 push strict byte 00000h ; 6a 00 … … 10274 10232 mov ax, strict word 00008h ; b8 08 00 10275 10233 test cx, strict word 00001h ; f7 c1 01 00 10276 je near 0 7028h ; 0f 84 02 0010234 je near 06fafh ; 0f 84 02 00 10277 10235 mov es, ax ; 8e c0 10278 10236 test cx, strict word 00002h ; f7 c1 02 00 10279 je near 0 7050h ; 0f 84 20 0010237 je near 06fd7h ; 0f 84 20 00 10280 10238 mov bx, word [word ss:00000h] ; 36 8b 1e 00 00 10281 10239 mov word [word ss:00008h], bx ; 36 89 1e 08 00 … … 10294 10252 mov ss, [word ss:00020h] ; 36 8e 16 20 00 10295 10253 iret ; cf 10296 jmp short 0 706fh ; eb 0410254 jmp short 06ff6h ; eb 04 10297 10255 sti ; fb 10298 10256 hlt ; f4 10299 jmp short 0 706ch ; eb fd10257 jmp short 06ff3h ; eb fd 10300 10258 lea sp, [bp-004h] ; 8d 66 fc 10301 10259 pop di ; 5f … … 10303 10261 pop bp ; 5d 10304 10262 retn ; c3 10305 init_rtc_: ; 0xf 7076LB 0x2810263 init_rtc_: ; 0xf6ffd LB 0x28 10306 10264 push bp ; 55 10307 10265 mov bp, sp ; 89 e5 … … 10309 10267 mov dx, strict word 00026h ; ba 26 00 10310 10268 mov ax, strict word 0000ah ; b8 0a 00 10311 call 016c7h ; e8 44a610269 call 016c7h ; e8 bd a6 10312 10270 mov dx, strict word 00002h ; ba 02 00 10313 10271 mov ax, strict word 0000bh ; b8 0b 00 10314 call 016c7h ; e8 3ba610272 call 016c7h ; e8 b4 a6 10315 10273 mov ax, strict word 0000ch ; b8 0c 00 10316 call 016ach ; e8 1aa610274 call 016ach ; e8 93 a6 10317 10275 mov ax, strict word 0000dh ; b8 0d 00 10318 call 016ach ; e8 14a610276 call 016ach ; e8 8d a6 10319 10277 lea sp, [bp-002h] ; 8d 66 fe 10320 10278 pop dx ; 5a 10321 10279 pop bp ; 5d 10322 10280 retn ; c3 10323 rtc_updating_: ; 0xf70 9eLB 0x2110281 rtc_updating_: ; 0xf7025 LB 0x21 10324 10282 push bp ; 55 10325 10283 mov bp, sp ; 89 e5 … … 10327 10285 mov dx, 061a8h ; ba a8 61 10328 10286 dec dx ; 4a 10329 je short 070 b6h ; 74 0e10287 je short 0703dh ; 74 0e 10330 10288 mov ax, strict word 0000ah ; b8 0a 00 10331 call 016ach ; e8 fe a510289 call 016ach ; e8 77 a6 10332 10290 test AL, strict byte 080h ; a8 80 10333 jne short 070 a5h ; 75 f310291 jne short 0702ch ; 75 f3 10334 10292 xor ax, ax ; 31 c0 10335 jmp short 070 b9h ; eb 0310293 jmp short 07040h ; eb 03 10336 10294 mov ax, strict word 00001h ; b8 01 00 10337 10295 lea sp, [bp-002h] ; 8d 66 fe … … 10339 10297 pop bp ; 5d 10340 10298 retn ; c3 10341 _int70_function: ; 0xf70 bfLB 0xbf10299 _int70_function: ; 0xf7046 LB 0xbf 10342 10300 push bp ; 55 10343 10301 mov bp, sp ; 89 e5 … … 10345 10303 push ax ; 50 10346 10304 mov ax, strict word 0000bh ; b8 0b 00 10347 call 016ach ; e8 e2 a510305 call 016ach ; e8 5b a6 10348 10306 mov bl, al ; 88 c3 10349 10307 mov byte [bp-004h], al ; 88 46 fc 10350 10308 mov ax, strict word 0000ch ; b8 0c 00 10351 call 016ach ; e8 d7 a510309 call 016ach ; e8 50 a6 10352 10310 mov dl, al ; 88 c2 10353 10311 test bl, 060h ; f6 c3 60 10354 jne short 070 dfh ; 75 0310355 jmp near 07 165h ; e9 86 0010312 jne short 07066h ; 75 03 10313 jmp near 070ech ; e9 86 00 10356 10314 test AL, strict byte 020h ; a8 20 10357 je short 070 e7h ; 74 0410315 je short 0706eh ; 74 04 10358 10316 sti ; fb 10359 10317 int 04ah ; cd 4a 10360 10318 cli ; fa 10361 10319 test dl, 040h ; f6 c2 40 10362 je short 07 14fh ; 74 6310320 je short 070d6h ; 74 63 10363 10321 mov dx, 000a0h ; ba a0 00 10364 10322 mov ax, strict word 00040h ; b8 40 00 10365 call 01650h ; e8 5ba510323 call 01650h ; e8 d4 a5 10366 10324 test al, al ; 84 c0 10367 je short 07 165h ; 74 6c10325 je short 070ech ; 74 6c 10368 10326 mov dx, 0009ch ; ba 9c 00 10369 10327 mov ax, strict word 00040h ; b8 40 00 10370 call 01688h ; e8 86a510328 call 01688h ; e8 ff a5 10371 10329 test dx, dx ; 85 d2 10372 jne short 07 151h ; 75 4b10330 jne short 070d8h ; 75 4b 10373 10331 cmp ax, 003d1h ; 3d d1 03 10374 jnc short 07 151h ; 73 4610332 jnc short 070d8h ; 73 46 10375 10333 mov dx, 00098h ; ba 98 00 10376 10334 mov ax, strict word 00040h ; b8 40 00 10377 call 0166ch ; e8 58a510335 call 0166ch ; e8 d1 a5 10378 10336 mov si, ax ; 89 c6 10379 10337 mov dx, 0009ah ; ba 9a 00 10380 10338 mov ax, strict word 00040h ; b8 40 00 10381 call 0166ch ; e8 4da510339 call 0166ch ; e8 c6 a5 10382 10340 mov cx, ax ; 89 c1 10383 10341 xor bx, bx ; 31 db 10384 10342 mov dx, 000a0h ; ba a0 00 10385 10343 mov ax, strict word 00040h ; b8 40 00 10386 call 0165eh ; e8 32a510344 call 0165eh ; e8 ab a5 10387 10345 mov dl, byte [bp-004h] ; 8a 56 fc 10388 10346 and dl, 037h ; 80 e2 37 10389 10347 xor dh, dh ; 30 f6 10390 10348 mov ax, strict word 0000bh ; b8 0b 00 10391 call 016c7h ; e8 8d a510349 call 016c7h ; e8 06 a6 10392 10350 mov dx, cx ; 89 ca 10393 10351 mov ax, si ; 89 f0 10394 call 01650h ; e8 0fa510352 call 01650h ; e8 88 a5 10395 10353 mov bl, al ; 88 c3 10396 10354 or bl, 080h ; 80 cb 80 … … 10398 10356 mov dx, cx ; 89 ca 10399 10357 mov ax, si ; 89 f0 10400 call 0165eh ; e8 0fa510401 jmp short 07 165h ; eb 1410358 call 0165eh ; e8 88 a5 10359 jmp short 070ech ; eb 14 10402 10360 mov bx, ax ; 89 c3 10403 10361 add bx, 0fc2fh ; 81 c3 2f fc … … 10406 10364 mov dx, 0009ch ; ba 9c 00 10407 10365 mov ax, strict word 00040h ; b8 40 00 10408 call 0169ah ; e8 35a510409 call 0e030h ; e8 c8 6e10366 call 0169ah ; e8 ae a5 10367 call 0e030h ; e8 41 6f 10410 10368 lea sp, [bp-002h] ; 8d 66 fe 10411 10369 pop si ; 5e 10412 10370 pop bp ; 5d 10413 10371 retn ; c3 10414 xchg sp, ax ; 94 10415 jno short 0712ch ; 71 bb 10416 jno short 07153h ; 71 e0 10417 jno short 07191h ; 71 1c 10418 jc short 071e5h ; 72 6e 10419 jc short 0711eh ; 72 a5 10420 jc short 07167h ; 72 ec 10421 jc short 071c4h ; 72 47 10422 db 073h 10423 _int1a_function: ; 0xf717e LB 0x1d9 10372 sbb si, word [bx+di+042h] ; 1b 71 42 10373 jno short 07161h ; 71 67 10374 jno short 0709fh ; 71 a3 10375 jno short 070f3h ; 71 f5 10376 jno short 0712ch ; 71 2c 10377 jc short 07175h ; 72 73 10378 jc short 070d2h ; 72 ce 10379 db 072h 10380 _int1a_function: ; 0xf7105 LB 0x1d9 10424 10381 push bp ; 55 10425 10382 mov bp, sp ; 89 e5 … … 10427 10384 mov al, byte [bp+013h] ; 8a 46 13 10428 10385 cmp AL, strict byte 007h ; 3c 07 10429 jnbe short 071 e7h ; 77 5e10386 jnbe short 0716eh ; 77 5e 10430 10387 mov bl, al ; 88 c3 10431 10388 xor bh, bh ; 30 ff 10432 10389 add bx, bx ; 01 db 10433 jmp word [cs:bx+07 16eh] ; 2e ff a7 6e 7110390 jmp word [cs:bx+070f5h] ; 2e ff a7 f5 70 10434 10391 cli ; fa 10435 10392 mov bx, 0046eh ; bb 6e 04 … … 10446 10403 mov byte [es:bx], 000h ; 26 c6 07 00 10447 10404 sti ; fb 10448 jmp short 071 e7h ; eb 2c10405 jmp short 0716eh ; eb 2c 10449 10406 cli ; fa 10450 10407 mov bx, 0046eh ; bb 6e 04 … … 10460 10417 sti ; fb 10461 10418 mov byte [bp+013h], 000h ; c6 46 13 00 10462 jmp short 071 e7h ; eb 0710463 call 070 9eh ; e8 bb fe10419 jmp short 0716eh ; eb 07 10420 call 07025h ; e8 bb fe 10464 10421 test ax, ax ; 85 c0 10465 je short 071 eah ; 74 0310466 jmp near 07 218h ; e9 2e 0010422 je short 07171h ; 74 03 10423 jmp near 0719fh ; e9 2e 00 10467 10424 xor ax, ax ; 31 c0 10468 call 016ach ; e8 bd a410425 call 016ach ; e8 36 a5 10469 10426 mov byte [bp+00fh], al ; 88 46 0f 10470 10427 mov ax, strict word 00002h ; b8 02 00 10471 call 016ach ; e8 b4 a410428 call 016ach ; e8 2d a5 10472 10429 mov byte [bp+010h], al ; 88 46 10 10473 10430 mov ax, strict word 00004h ; b8 04 00 10474 call 016ach ; e8 ab a410431 call 016ach ; e8 24 a5 10475 10432 mov dl, al ; 88 c2 10476 10433 mov byte [bp+011h], al ; 88 46 11 10477 10434 mov ax, strict word 0000bh ; b8 0b 00 10478 call 016ach ; e8 a0 a410435 call 016ach ; e8 19 a5 10479 10436 and AL, strict byte 001h ; 24 01 10480 10437 mov byte [bp+00eh], al ; 88 46 0e … … 10484 10441 pop bp ; 5d 10485 10442 retn ; c3 10486 call 070 9eh ; e8 7f fe10443 call 07025h ; e8 7f fe 10487 10444 test ax, ax ; 85 c0 10488 je short 07 226h ; 74 0310489 call 0 7076h ; e8 50 fe10445 je short 071adh ; 74 03 10446 call 06ffdh ; e8 50 fe 10490 10447 mov dl, byte [bp+00fh] ; 8a 56 0f 10491 10448 xor dh, dh ; 30 f6 10492 10449 xor ax, ax ; 31 c0 10493 call 016c7h ; e8 97 a410450 call 016c7h ; e8 10 a5 10494 10451 mov dl, byte [bp+010h] ; 8a 56 10 10495 10452 xor dh, dh ; 30 f6 10496 10453 mov ax, strict word 00002h ; b8 02 00 10497 call 016c7h ; e8 8c a410454 call 016c7h ; e8 05 a5 10498 10455 mov dl, byte [bp+011h] ; 8a 56 11 10499 10456 xor dh, dh ; 30 f6 10500 10457 mov ax, strict word 00004h ; b8 04 00 10501 call 016c7h ; e8 81a410458 call 016c7h ; e8 fa a4 10502 10459 mov ax, strict word 0000bh ; b8 0b 00 10503 call 016ach ; e8 60a410460 call 016ach ; e8 d9 a4 10504 10461 mov bl, al ; 88 c3 10505 10462 and bl, 060h ; 80 e3 60 … … 10511 10468 xor dh, dh ; 30 f6 10512 10469 mov ax, strict word 0000bh ; b8 0b 00 10513 call 016c7h ; e8 62a410470 call 016c7h ; e8 db a4 10514 10471 mov byte [bp+013h], 000h ; c6 46 13 00 10515 10472 mov byte [bp+012h], bl ; 88 5e 12 10516 jmp short 07 218h ; eb aa10473 jmp short 0719fh ; eb aa 10517 10474 mov byte [bp+013h], 000h ; c6 46 13 00 10518 call 070 9eh ; e8 29 fe10475 call 07025h ; e8 29 fe 10519 10476 test ax, ax ; 85 c0 10520 je short 072 7bh ; 74 0210521 jmp short 07 218h ; eb 9d10477 je short 07202h ; 74 02 10478 jmp short 0719fh ; eb 9d 10522 10479 mov ax, strict word 00009h ; b8 09 00 10523 call 016ach ; e8 2ba410480 call 016ach ; e8 a4 a4 10524 10481 mov byte [bp+010h], al ; 88 46 10 10525 10482 mov ax, strict word 00008h ; b8 08 00 10526 call 016ach ; e8 22a410483 call 016ach ; e8 9b a4 10527 10484 mov byte [bp+00fh], al ; 88 46 0f 10528 10485 mov ax, strict word 00007h ; b8 07 00 10529 call 016ach ; e8 19a410486 call 016ach ; e8 92 a4 10530 10487 mov byte [bp+00eh], al ; 88 46 0e 10531 10488 mov ax, strict word 00032h ; b8 32 00 10532 call 016ach ; e8 10a410489 call 016ach ; e8 89 a4 10533 10490 mov byte [bp+011h], al ; 88 46 11 10534 10491 mov byte [bp+012h], al ; 88 46 12 10535 jmp near 07 218h ; e9 73 ff10536 call 070 9eh ; e8 f6 fd10492 jmp near 0719fh ; e9 73 ff 10493 call 07025h ; e8 f6 fd 10537 10494 test ax, ax ; 85 c0 10538 je short 072 b2h ; 74 0610539 call 0 7076h ; e8 c7 fd10540 jmp near 07 218h ; e9 66 ff10495 je short 07239h ; 74 06 10496 call 06ffdh ; e8 c7 fd 10497 jmp near 0719fh ; e9 66 ff 10541 10498 mov dl, byte [bp+010h] ; 8a 56 10 10542 10499 xor dh, dh ; 30 f6 10543 10500 mov ax, strict word 00009h ; b8 09 00 10544 call 016c7h ; e8 0aa410501 call 016c7h ; e8 83 a4 10545 10502 mov dl, byte [bp+00fh] ; 8a 56 0f 10546 10503 xor dh, dh ; 30 f6 10547 10504 mov ax, strict word 00008h ; b8 08 00 10548 call 016c7h ; e8 ff a310505 call 016c7h ; e8 78 a4 10549 10506 mov dl, byte [bp+00eh] ; 8a 56 0e 10550 10507 xor dh, dh ; 30 f6 10551 10508 mov ax, strict word 00007h ; b8 07 00 10552 call 016c7h ; e8 f4 a310509 call 016c7h ; e8 6d a4 10553 10510 mov dl, byte [bp+011h] ; 8a 56 11 10554 10511 xor dh, dh ; 30 f6 10555 10512 mov ax, strict word 00032h ; b8 32 00 10556 call 016c7h ; e8 e9 a310513 call 016c7h ; e8 62 a4 10557 10514 mov ax, strict word 0000bh ; b8 0b 00 10558 call 016ach ; e8 c8 a310515 call 016ach ; e8 41 a4 10559 10516 mov bl, al ; 88 c3 10560 10517 and bl, 07fh ; 80 e3 7f 10561 jmp near 07 25bh ; e9 6f ff10518 jmp near 071e2h ; e9 6f ff 10562 10519 mov ax, strict word 0000bh ; b8 0b 00 10563 call 016ach ; e8 ba a310520 call 016ach ; e8 33 a4 10564 10521 mov bl, al ; 88 c3 10565 10522 mov word [bp+012h], strict word 00000h ; c7 46 12 00 00 10566 10523 test AL, strict byte 020h ; a8 20 10567 je short 07 300h ; 74 0310568 jmp near 07 218h ; e9 18 ff10569 call 070 9eh ; e8 9b fd10524 je short 07287h ; 74 03 10525 jmp near 0719fh ; e9 18 ff 10526 call 07025h ; e8 9b fd 10570 10527 test ax, ax ; 85 c0 10571 je short 07 30ah ; 74 0310572 call 0 7076h ; e8 6c fd10528 je short 07291h ; 74 03 10529 call 06ffdh ; e8 6c fd 10573 10530 mov dl, byte [bp+00fh] ; 8a 56 0f 10574 10531 xor dh, dh ; 30 f6 10575 10532 mov ax, strict word 00001h ; b8 01 00 10576 call 016c7h ; e8 b2 a310533 call 016c7h ; e8 2b a4 10577 10534 mov dl, byte [bp+010h] ; 8a 56 10 10578 10535 xor dh, dh ; 30 f6 10579 10536 mov ax, strict word 00003h ; b8 03 00 10580 call 016c7h ; e8 a7 a310537 call 016c7h ; e8 20 a4 10581 10538 mov dl, byte [bp+011h] ; 8a 56 11 10582 10539 xor dh, dh ; 30 f6 10583 10540 mov ax, strict word 00005h ; b8 05 00 10584 call 016c7h ; e8 9c a310541 call 016c7h ; e8 15 a4 10585 10542 mov dx, 000a1h ; ba a1 00 10586 10543 in AL, DX ; ec … … 10594 10551 xor dh, dh ; 30 f6 10595 10552 mov ax, strict word 0000bh ; b8 0b 00 10596 call 016c7h ; e8 83a310597 jmp near 07 218h ; e9 d1 fe10553 call 016c7h ; e8 fc a3 10554 jmp near 0719fh ; e9 d1 fe 10598 10555 mov ax, strict word 0000bh ; b8 0b 00 10599 call 016ach ; e8 5fa310556 call 016ach ; e8 d8 a3 10600 10557 mov bl, al ; 88 c3 10601 10558 mov dl, al ; 88 c2 10602 10559 and dl, 057h ; 80 e2 57 10603 jmp near 07 25dh ; e9 06 ff10604 send_to_mouse_ctrl_: ; 0xf7 357LB 0x3410560 jmp near 071e4h ; e9 06 ff 10561 send_to_mouse_ctrl_: ; 0xf72de LB 0x34 10605 10562 push bp ; 55 10606 10563 mov bp, sp ; 89 e5 … … 10613 10570 ; sub ah, ah ; 2a e4 10614 10571 test AL, strict byte 002h ; a8 02 10615 je short 07 376h ; 74 0e10572 je short 072fdh ; 74 0e 10616 10573 push 008eeh ; 68 ee 08 10617 10574 push 01168h ; 68 68 11 10618 10575 push strict byte 00007h ; 6a 07 10619 call 01966h ; e8 f3 a510576 call 01966h ; e8 6c a6 10620 10577 add sp, strict byte 00006h ; 83 c4 06 10621 10578 mov AL, strict byte 0d4h ; b0 d4 … … 10631 10588 pop bp ; 5d 10632 10589 retn ; c3 10633 get_mouse_data_: ; 0xf73 8bLB 0x5d10590 get_mouse_data_: ; 0xf7312 LB 0x5d 10634 10591 push bp ; 55 10635 10592 mov bp, sp ; 89 e5 … … 10646 10603 and ax, strict word 00021h ; 25 21 00 10647 10604 cmp ax, strict word 00021h ; 3d 21 00 10648 je short 073 ceh ; 74 2810605 je short 07355h ; 74 28 10649 10606 test cx, cx ; 85 c9 10650 je short 073 ceh ; 74 2410607 je short 07355h ; 74 24 10651 10608 mov dx, strict word 00061h ; ba 61 00 10652 10609 in AL, DX ; ec … … 10665 10622 xor ah, ah ; 30 e4 10666 10623 cmp dx, ax ; 39 c2 10667 je short 073 b5h ; 74 ea10624 je short 0733ch ; 74 ea 10668 10625 dec cx ; 49 10669 jmp short 073 98h ; eb ca10626 jmp short 0731fh ; eb ca 10670 10627 test cx, cx ; 85 c9 10671 jne short 073 d6h ; 75 0410628 jne short 0735dh ; 75 04 10672 10629 mov AL, strict byte 001h ; b0 01 10673 jmp short 073 e1h ; eb 0b10630 jmp short 07368h ; eb 0b 10674 10631 mov dx, strict word 00060h ; ba 60 00 10675 10632 in AL, DX ; ec … … 10683 10640 pop bp ; 5d 10684 10641 retn ; c3 10685 set_kbd_command_byte_: ; 0xf73 e8LB 0x3210642 set_kbd_command_byte_: ; 0xf736f LB 0x32 10686 10643 push bp ; 55 10687 10644 mov bp, sp ; 89 e5 … … 10694 10651 ; sub ah, ah ; 2a e4 10695 10652 test AL, strict byte 002h ; a8 02 10696 je short 07 407h ; 74 0e10653 je short 0738eh ; 74 0e 10697 10654 push 008f8h ; 68 f8 08 10698 10655 push 01168h ; 68 68 11 10699 10656 push strict byte 00007h ; 6a 07 10700 call 01966h ; e8 62a510657 call 01966h ; e8 db a5 10701 10658 add sp, strict byte 00006h ; 83 c4 06 10702 10659 mov AL, strict byte 060h ; b0 60 … … 10711 10668 pop bp ; 5d 10712 10669 retn ; c3 10713 _int74_function: ; 0xf7 41aLB 0xd210670 _int74_function: ; 0xf73a1 LB 0xd2 10714 10671 push bp ; 55 10715 10672 mov bp, sp ; 89 e5 … … 10717 10674 mov dx, strict word 0000eh ; ba 0e 00 10718 10675 mov ax, strict word 00040h ; b8 40 00 10719 call 0166ch ; e8 43a210676 call 0166ch ; e8 bc a2 10720 10677 mov cx, ax ; 89 c1 10721 10678 mov word [bp+004h], strict word 00000h ; c7 46 04 00 00 … … 10726 10683 and AL, strict byte 021h ; 24 21 10727 10684 cmp AL, strict byte 021h ; 3c 21 10728 jne short 07 45eh ; 75 2210685 jne short 073e5h ; 75 22 10729 10686 mov dx, strict word 00060h ; ba 60 00 10730 10687 in AL, DX ; ec … … 10734 10691 mov dx, strict word 00026h ; ba 26 00 10735 10692 mov ax, cx ; 89 c8 10736 call 01650h ; e8 04a210693 call 01650h ; e8 7d a2 10737 10694 mov byte [bp-002h], al ; 88 46 fe 10738 10695 mov dx, strict word 00027h ; ba 27 00 10739 10696 mov ax, cx ; 89 c8 10740 call 01650h ; e8 f9 a110697 call 01650h ; e8 72 a2 10741 10698 mov byte [bp-006h], al ; 88 46 fa 10742 10699 test AL, strict byte 080h ; a8 80 10743 jne short 07 461h ; 75 0310744 jmp near 074 d8h ; e9 77 0010700 jne short 073e8h ; 75 03 10701 jmp near 0745fh ; e9 77 00 10745 10702 mov al, byte [bp-006h] ; 8a 46 fa 10746 10703 and AL, strict byte 007h ; 24 07 … … 10756 10713 add dx, strict byte 00028h ; 83 c2 28 10757 10714 mov ax, cx ; 89 c8 10758 call 0165eh ; e8 da a110715 call 0165eh ; e8 53 a2 10759 10716 mov al, byte [bp-008h] ; 8a 46 f8 10760 10717 cmp al, byte [bp-004h] ; 3a 46 fc 10761 jc short 074 c8h ; 72 3c10718 jc short 0744fh ; 72 3c 10762 10719 mov dx, strict word 00028h ; ba 28 00 10763 10720 mov ax, cx ; 89 c8 10764 call 01650h ; e8 bc a110721 call 01650h ; e8 35 a2 10765 10722 xor ah, ah ; 30 e4 10766 10723 mov word [bp+00ch], ax ; 89 46 0c 10767 10724 mov dx, strict word 00029h ; ba 29 00 10768 10725 mov ax, cx ; 89 c8 10769 call 01650h ; e8 af a110726 call 01650h ; e8 28 a2 10770 10727 xor ah, ah ; 30 e4 10771 10728 mov word [bp+00ah], ax ; 89 46 0a 10772 10729 mov dx, strict word 0002ah ; ba 2a 00 10773 10730 mov ax, cx ; 89 c8 10774 call 01650h ; e8 a2 a110731 call 01650h ; e8 1b a2 10775 10732 xor ah, ah ; 30 e4 10776 10733 mov word [bp+008h], ax ; 89 46 08 … … 10779 10736 mov byte [bp-002h], ah ; 88 66 fe 10780 10737 test byte [bp-006h], 080h ; f6 46 fa 80 10781 je short 074 cbh ; 74 0a10738 je short 07452h ; 74 0a 10782 10739 mov word [bp+004h], strict word 00001h ; c7 46 04 01 00 10783 jmp short 074 cbh ; eb 0310740 jmp short 07452h ; eb 03 10784 10741 inc byte [bp-002h] ; fe 46 fe 10785 10742 mov bl, byte [bp-002h] ; 8a 5e fe … … 10787 10744 mov dx, strict word 00026h ; ba 26 00 10788 10745 mov ax, cx ; 89 c8 10789 call 0165eh ; e8 86a110746 call 0165eh ; e8 ff a1 10790 10747 mov sp, bp ; 89 ec 10791 10748 pop bp ; 5d 10792 10749 retn ; c3 10793 das ; 2f 10794 jne short 0748ah ; 75 ab 10795 jne short 07509h ; 75 28 10796 jbe short 074a0h ; 76 bd 10797 jbe short 0750eh ; 76 29 10798 jnbe short 0755dh ; 77 76 10799 jne short 0753ah ; 75 51 10800 jnbe short 07501h ; 77 16 10801 db 078h 10802 _int15_function_mouse: ; 0xf74ec LB 0x38d 10750 mov DH, strict byte 074h ; b6 74 10751 xor dh, byte [di-051h] ; 32 75 af 10752 jne short 074aeh ; 75 44 10753 jbe short 0741ch ; 76 b0 10754 jbe short 0746bh ; 76 fd 10755 je short 07448h ; 74 d8 10756 jbe short 0740fh ; 76 9d 10757 db 077h 10758 _int15_function_mouse: ; 0xf7473 LB 0x38d 10803 10759 push bp ; 55 10804 10760 mov bp, sp ; 89 e5 … … 10807 10763 mov dx, strict word 0000eh ; ba 0e 00 10808 10764 mov ax, strict word 00040h ; b8 40 00 10809 call 0166ch ; e8 70a110765 call 0166ch ; e8 e9 a1 10810 10766 mov cx, ax ; 89 c1 10811 10767 cmp byte [bp+012h], 007h ; 80 7e 12 07 10812 jbe short 07 50fh ; 76 0b10768 jbe short 07496h ; 76 0b 10813 10769 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10814 10770 mov byte [bp+013h], 001h ; c6 46 13 01 10815 jmp near 07 873h ; e9 64 0310771 jmp near 077fah ; e9 64 03 10816 10772 mov ax, strict word 00065h ; b8 65 00 10817 call 073 e8h ; e8 d3 fe10773 call 0736fh ; e8 d3 fe 10818 10774 and word [bp+018h], strict byte 0fffeh ; 83 66 18 fe 10819 10775 mov byte [bp+013h], 000h ; c6 46 13 00 10820 10776 mov al, byte [bp+012h] ; 8a 46 12 10821 10777 cmp AL, strict byte 007h ; 3c 07 10822 jnbe short 075 84h ; 77 6010778 jnbe short 0750bh ; 77 60 10823 10779 xor ah, ah ; 30 e4 10824 10780 mov si, ax ; 89 c6 10825 10781 add si, ax ; 01 c6 10826 jmp word [cs:si+074 dch] ; 2e ff a4 dc7410782 jmp word [cs:si+07463h] ; 2e ff a4 63 74 10827 10783 cmp byte [bp+00dh], 001h ; 80 7e 0d 01 10828 jnbe short 075 87h ; 77 5210784 jnbe short 0750eh ; 77 52 10829 10785 mov dx, strict word 00027h ; ba 27 00 10830 10786 mov ax, cx ; 89 c8 10831 call 01650h ; e8 13a110787 call 01650h ; e8 8c a1 10832 10788 test AL, strict byte 080h ; a8 80 10833 jne short 07 54ch ; 75 0b10789 jne short 074d3h ; 75 0b 10834 10790 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10835 10791 mov byte [bp+013h], 005h ; c6 46 13 05 10836 jmp near 07 86dh ; e9 21 0310792 jmp near 077f4h ; e9 21 03 10837 10793 cmp byte [bp+00dh], 000h ; 80 7e 0d 00 10838 jne short 07 556h ; 75 0410794 jne short 074ddh ; 75 04 10839 10795 mov AL, strict byte 0f5h ; b0 f5 10840 jmp short 07 558h ; eb 0210796 jmp short 074dfh ; eb 02 10841 10797 mov AL, strict byte 0f4h ; b0 f4 10842 10798 xor ah, ah ; 30 e4 10843 call 07 357h ; e8 fa fd10799 call 072deh ; e8 fa fd 10844 10800 test al, al ; 84 c0 10845 jne short 075 8ah ; 75 2910801 jne short 07511h ; 75 29 10846 10802 mov dx, ss ; 8c d2 10847 10803 lea ax, [bp-008h] ; 8d 46 f8 10848 call 073 8bh ; e8 22 fe10804 call 07312h ; e8 22 fe 10849 10805 test al, al ; 84 c0 10850 je short 07 573h ; 74 0610806 je short 074fah ; 74 06 10851 10807 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10852 jne short 075 8ah ; 75 1710853 jmp near 07 86dh ; e9 f7 0210808 jne short 07511h ; 75 17 10809 jmp near 077f4h ; e9 f7 02 10854 10810 mov al, byte [bp+00dh] ; 8a 46 0d 10855 10811 cmp AL, strict byte 001h ; 3c 01 10856 jc short 075 81h ; 72 0410812 jc short 07508h ; 72 04 10857 10813 cmp AL, strict byte 008h ; 3c 08 10858 jbe short 075 8dh ; 76 0c10859 jmp near 07 71fh ; e9 9b 0110860 jmp near 07 85ah ; e9 d3 0210861 jmp near 07 865h ; e9 db 0210862 jmp near 077 f1h ; e9 64 0210814 jbe short 07514h ; 76 0c 10815 jmp near 076a6h ; e9 9b 01 10816 jmp near 077e1h ; e9 d3 02 10817 jmp near 077ech ; e9 db 02 10818 jmp near 07778h ; e9 64 02 10863 10819 mov dx, strict word 00027h ; ba 27 00 10864 10820 mov ax, cx ; 89 c8 10865 call 01650h ; e8 bb a010821 call 01650h ; e8 34 a1 10866 10822 mov ah, byte [bp+00dh] ; 8a 66 0d 10867 10823 db 0feh, 0cch … … 10873 10829 mov dx, strict word 00027h ; ba 27 00 10874 10830 mov ax, cx ; 89 c8 10875 call 0165eh ; e8 b3 a010831 call 0165eh ; e8 2c a1 10876 10832 mov dx, strict word 00026h ; ba 26 00 10877 10833 mov ax, cx ; 89 c8 10878 call 01650h ; e8 9d a010834 call 01650h ; e8 16 a1 10879 10835 mov bl, al ; 88 c3 10880 10836 and bl, 0f8h ; 80 e3 f8 … … 10882 10838 mov dx, strict word 00026h ; ba 26 00 10883 10839 mov ax, cx ; 89 c8 10884 call 0165eh ; e8 9c a010840 call 0165eh ; e8 15 a1 10885 10841 mov ax, 000ffh ; b8 ff 00 10886 call 07 357h ; e8 8f fd10842 call 072deh ; e8 8f fd 10887 10843 test al, al ; 84 c0 10888 jne short 075 8ah ; 75 be10844 jne short 07511h ; 75 be 10889 10845 mov dx, ss ; 8c d2 10890 10846 lea ax, [bp-004h] ; 8d 46 fc 10891 call 073 8bh ; e8 b7 fd10847 call 07312h ; e8 b7 fd 10892 10848 mov cl, al ; 88 c1 10893 10849 cmp byte [bp-004h], 0feh ; 80 7e fc fe 10894 jne short 075 e6h ; 75 0a10850 jne short 0756dh ; 75 0a 10895 10851 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10896 10852 mov byte [bp+013h], 004h ; c6 46 13 04 10897 jmp short 07 573h ; eb 8d10853 jmp short 074fah ; eb 8d 10898 10854 cmp byte [bp-004h], 0fah ; 80 7e fc fa 10899 je short 075 fdh ; 74 1110855 je short 07584h ; 74 11 10900 10856 mov al, byte [bp-004h] ; 8a 46 fc 10901 10857 xor ah, ah ; 30 e4 … … 10903 10859 push 00903h ; 68 03 09 10904 10860 push strict byte 00007h ; 6a 07 10905 call 01966h ; e8 6ca310861 call 01966h ; e8 e5 a3 10906 10862 add sp, strict byte 00006h ; 83 c4 06 10907 10863 test cl, cl ; 84 c9 10908 jne short 075 8ah ; 75 8910864 jne short 07511h ; 75 89 10909 10865 mov dx, ss ; 8c d2 10910 10866 lea ax, [bp-008h] ; 8d 46 f8 10911 call 073 8bh ; e8 82 fd10867 call 07312h ; e8 82 fd 10912 10868 test al, al ; 84 c0 10913 jne short 07 663h ; 75 5610869 jne short 075eah ; 75 56 10914 10870 mov dx, ss ; 8c d2 10915 10871 lea ax, [bp-006h] ; 8d 46 fa 10916 call 073 8bh ; e8 76 fd10872 call 07312h ; e8 76 fd 10917 10873 test al, al ; 84 c0 10918 jne short 07 663h ; 75 4a10874 jne short 075eah ; 75 4a 10919 10875 mov al, byte [bp-008h] ; 8a 46 f8 10920 10876 mov byte [bp+00ch], al ; 88 46 0c 10921 10877 mov al, byte [bp-006h] ; 8a 46 fa 10922 10878 mov byte [bp+00dh], al ; 88 46 0d 10923 jmp near 07 86dh ; e9 45 0210879 jmp near 077f4h ; e9 45 02 10924 10880 mov al, byte [bp+00dh] ; 8a 46 0d 10925 10881 cmp AL, strict byte 003h ; 3c 03 10926 jc short 07 63fh ; 72 1010927 jbe short 07 65dh ; 76 2c10882 jc short 075c6h ; 72 10 10883 jbe short 075e4h ; 76 2c 10928 10884 cmp AL, strict byte 006h ; 3c 06 10929 je short 07 672h ; 74 3d10885 je short 075f9h ; 74 3d 10930 10886 cmp AL, strict byte 005h ; 3c 05 10931 je short 07 66ch ; 74 3310887 je short 075f3h ; 74 33 10932 10888 cmp AL, strict byte 004h ; 3c 04 10933 je short 07 666h ; 74 2910934 jmp short 07 678h ; eb 3910889 je short 075edh ; 74 29 10890 jmp short 075ffh ; eb 39 10935 10891 cmp AL, strict byte 002h ; 3c 02 10936 je short 07 657h ; 74 1410892 je short 075deh ; 74 14 10937 10893 cmp AL, strict byte 001h ; 3c 01 10938 je short 07 651h ; 74 0a10894 je short 075d8h ; 74 0a 10939 10895 test al, al ; 84 c0 10940 jne short 07 678h ; 75 2d10896 jne short 075ffh ; 75 2d 10941 10897 mov byte [bp-008h], 00ah ; c6 46 f8 0a 10942 jmp short 076 7ch ; eb 2b10898 jmp short 07603h ; eb 2b 10943 10899 mov byte [bp-008h], 014h ; c6 46 f8 14 10944 jmp short 076 7ch ; eb 2510900 jmp short 07603h ; eb 25 10945 10901 mov byte [bp-008h], 028h ; c6 46 f8 28 10946 jmp short 076 7ch ; eb 1f10902 jmp short 07603h ; eb 1f 10947 10903 mov byte [bp-008h], 03ch ; c6 46 f8 3c 10948 jmp short 076 7ch ; eb 1910949 jmp near 077 f1h ; e9 8b 0110904 jmp short 07603h ; eb 19 10905 jmp near 07778h ; e9 8b 01 10950 10906 mov byte [bp-008h], 050h ; c6 46 f8 50 10951 jmp short 076 7ch ; eb 1010907 jmp short 07603h ; eb 10 10952 10908 mov byte [bp-008h], 064h ; c6 46 f8 64 10953 jmp short 076 7ch ; eb 0a10909 jmp short 07603h ; eb 0a 10954 10910 mov byte [bp-008h], 0c8h ; c6 46 f8 c8 10955 jmp short 076 7ch ; eb 0410911 jmp short 07603h ; eb 04 10956 10912 mov byte [bp-008h], 000h ; c6 46 f8 00 10957 10913 cmp byte [bp-008h], 000h ; 80 7e f8 00 10958 jbe short 076 b2h ; 76 3010914 jbe short 07639h ; 76 30 10959 10915 mov ax, 000f3h ; b8 f3 00 10960 call 07 357h ; e8 cf fc10916 call 072deh ; e8 cf fc 10961 10917 test al, al ; 84 c0 10962 jne short 076 a7h ; 75 1b10918 jne short 0762eh ; 75 1b 10963 10919 mov dx, ss ; 8c d2 10964 10920 lea ax, [bp-006h] ; 8d 46 fa 10965 call 073 8bh ; e8 f7 fc10921 call 07312h ; e8 f7 fc 10966 10922 mov al, byte [bp-008h] ; 8a 46 f8 10967 10923 xor ah, ah ; 30 e4 10968 call 07 357h ; e8 bb fc10924 call 072deh ; e8 bb fc 10969 10925 mov dx, ss ; 8c d2 10970 10926 lea ax, [bp-006h] ; 8d 46 fa 10971 call 073 8bh ; e8 e7 fc10972 jmp near 07 86dh ; e9 c6 0110927 call 07312h ; e8 e7 fc 10928 jmp near 077f4h ; e9 c6 01 10973 10929 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10974 10930 mov byte [bp+013h], 003h ; c6 46 13 03 10975 jmp near 07 86dh ; e9 bb 0110931 jmp near 077f4h ; e9 bb 01 10976 10932 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10977 10933 mov byte [bp+013h], 002h ; c6 46 13 02 10978 jmp near 07 86dh ; e9 b0 0110934 jmp near 077f4h ; e9 b0 01 10979 10935 cmp byte [bp+00dh], 004h ; 80 7e 0d 04 10980 jnc short 07 71fh ; 73 5c10936 jnc short 076a6h ; 73 5c 10981 10937 mov ax, 000e8h ; b8 e8 00 10982 call 07 357h ; e8 8e fc10938 call 072deh ; e8 8e fc 10983 10939 test al, al ; 84 c0 10984 jne short 07 715h ; 75 4810940 jne short 0769ch ; 75 48 10985 10941 mov dx, ss ; 8c d2 10986 10942 lea ax, [bp-008h] ; 8d 46 f8 10987 call 073 8bh ; e8 b6 fc10943 call 07312h ; e8 b6 fc 10988 10944 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10989 je short 076 ech ; 74 1110945 je short 07673h ; 74 11 10990 10946 mov al, byte [bp-008h] ; 8a 46 f8 10991 10947 xor ah, ah ; 30 e4 … … 10993 10949 push 0092eh ; 68 2e 09 10994 10950 push strict byte 00007h ; 6a 07 10995 call 01966h ; e8 7da210951 call 01966h ; e8 f6 a2 10996 10952 add sp, strict byte 00006h ; 83 c4 06 10997 10953 mov al, byte [bp+00dh] ; 8a 46 0d 10998 10954 xor ah, ah ; 30 e4 10999 call 07 357h ; e8 63 fc10955 call 072deh ; e8 63 fc 11000 10956 mov dx, ss ; 8c d2 11001 10957 lea ax, [bp-008h] ; 8d 46 f8 11002 call 073 8bh ; e8 8f fc10958 call 07312h ; e8 8f fc 11003 10959 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11004 je short 07 74eh ; 74 4c10960 je short 076d5h ; 74 4c 11005 10961 mov al, byte [bp-008h] ; 8a 46 f8 11006 10962 xor ah, ah ; 30 e4 … … 11008 10964 push 0092eh ; 68 2e 09 11009 10965 push strict byte 00007h ; 6a 07 11010 call 01966h ; e8 56a210966 call 01966h ; e8 cf a2 11011 10967 add sp, strict byte 00006h ; 83 c4 06 11012 jmp short 07 74eh ; eb 3910968 jmp short 076d5h ; eb 39 11013 10969 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11014 10970 mov byte [bp+013h], 003h ; c6 46 13 03 11015 jmp short 07 74eh ; eb 2f10971 jmp short 076d5h ; eb 2f 11016 10972 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11017 10973 mov byte [bp+013h], 002h ; c6 46 13 02 11018 jmp short 07 74eh ; eb 2510974 jmp short 076d5h ; eb 25 11019 10975 mov ax, 000f2h ; b8 f2 00 11020 call 07 357h ; e8 28 fc10976 call 072deh ; e8 28 fc 11021 10977 test al, al ; 84 c0 11022 jne short 07 746h ; 75 1310978 jne short 076cdh ; 75 13 11023 10979 mov dx, ss ; 8c d2 11024 10980 lea ax, [bp-008h] ; 8d 46 f8 11025 call 073 8bh ; e8 50 fc10981 call 07312h ; e8 50 fc 11026 10982 mov dx, ss ; 8c d2 11027 10983 lea ax, [bp-006h] ; 8d 46 fa 11028 call 073 8bh ; e8 48 fc11029 jmp near 07 61fh ; e9 d9 fe10984 call 07312h ; e8 48 fc 10985 jmp near 075a6h ; e9 d9 fe 11030 10986 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11031 10987 mov byte [bp+013h], 003h ; c6 46 13 03 11032 jmp near 07 86dh ; e9 1c 0110988 jmp near 077f4h ; e9 1c 01 11033 10989 mov al, byte [bp+00dh] ; 8a 46 0d 11034 10990 test al, al ; 84 c0 11035 jbe short 07 75fh ; 76 0710991 jbe short 076e6h ; 76 07 11036 10992 cmp AL, strict byte 002h ; 3c 02 11037 jbe short 077 c6h ; 76 6a11038 jmp near 077 fbh ; e9 9c 0010993 jbe short 0774dh ; 76 6a 10994 jmp near 07782h ; e9 9c 00 11039 10995 mov ax, 000e9h ; b8 e9 00 11040 call 07 357h ; e8 f2 fb10996 call 072deh ; e8 f2 fb 11041 10997 test al, al ; 84 c0 11042 jne short 077 cfh ; 75 6610998 jne short 07756h ; 75 66 11043 10999 mov dx, ss ; 8c d2 11044 11000 lea ax, [bp-008h] ; 8d 46 f8 11045 call 073 8bh ; e8 1a fc11001 call 07312h ; e8 1a fc 11046 11002 mov cl, al ; 88 c1 11047 11003 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11048 je short 077 8ah ; 74 1111004 je short 07711h ; 74 11 11049 11005 mov al, byte [bp-008h] ; 8a 46 f8 11050 11006 xor ah, ah ; 30 e4 … … 11052 11008 push 0092eh ; 68 2e 09 11053 11009 push strict byte 00007h ; 6a 07 11054 call 01966h ; e8 df a111010 call 01966h ; e8 58 a2 11055 11011 add sp, strict byte 00006h ; 83 c4 06 11056 11012 test cl, cl ; 84 c9 11057 jne short 077 f1h ; 75 6311013 jne short 07778h ; 75 63 11058 11014 mov dx, ss ; 8c d2 11059 11015 lea ax, [bp-008h] ; 8d 46 f8 11060 call 073 8bh ; e8 f5 fb11016 call 07312h ; e8 f5 fb 11061 11017 test al, al ; 84 c0 11062 jne short 077 f1h ; 75 5711018 jne short 07778h ; 75 57 11063 11019 mov dx, ss ; 8c d2 11064 11020 lea ax, [bp-006h] ; 8d 46 fa 11065 call 073 8bh ; e8 e9 fb11021 call 07312h ; e8 e9 fb 11066 11022 test al, al ; 84 c0 11067 jne short 077 f1h ; 75 4b11023 jne short 07778h ; 75 4b 11068 11024 mov dx, ss ; 8c d2 11069 11025 lea ax, [bp-004h] ; 8d 46 fc 11070 call 073 8bh ; e8 dd fb11026 call 07312h ; e8 dd fb 11071 11027 test al, al ; 84 c0 11072 jne short 077 f1h ; 75 3f11028 jne short 07778h ; 75 3f 11073 11029 mov al, byte [bp-008h] ; 8a 46 f8 11074 11030 mov byte [bp+00ch], al ; 88 46 0c … … 11077 11033 mov al, byte [bp-004h] ; 8a 46 fc 11078 11034 mov byte [bp+00eh], al ; 88 46 0e 11079 jmp short 07 74eh ; eb 8811035 jmp short 076d5h ; eb 88 11080 11036 cmp AL, strict byte 001h ; 3c 01 11081 jne short 077 d1h ; 75 0711037 jne short 07758h ; 75 07 11082 11038 mov ax, 000e6h ; b8 e6 00 11083 jmp short 077 d4h ; eb 0511084 jmp short 077 f1h ; eb 2011039 jmp short 0775bh ; eb 05 11040 jmp short 07778h ; eb 20 11085 11041 mov ax, 000e7h ; b8 e7 00 11086 call 07 357h ; e8 80 fb11042 call 072deh ; e8 80 fb 11087 11043 mov cl, al ; 88 c1 11088 11044 test cl, cl ; 84 c9 11089 jne short 077 edh ; 75 1011045 jne short 07774h ; 75 10 11090 11046 mov dx, ss ; 8c d2 11091 11047 lea ax, [bp-008h] ; 8d 46 f8 11092 call 073 8bh ; e8 a6 fb11048 call 07312h ; e8 a6 fb 11093 11049 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11094 je short 077 edh ; 74 0211050 je short 07774h ; 74 02 11095 11051 mov CL, strict byte 001h ; b1 01 11096 11052 test cl, cl ; 84 c9 11097 je short 07 858h ; 74 6711053 je short 077dfh ; 74 67 11098 11054 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11099 11055 mov byte [bp+013h], 003h ; c6 46 13 03 11100 jmp short 07 858h ; eb 5d11056 jmp short 077dfh ; eb 5d 11101 11057 mov al, byte [bp+00dh] ; 8a 46 0d 11102 11058 xor ah, ah ; 30 e4 … … 11104 11060 push 0095ah ; 68 5a 09 11105 11061 push strict byte 00007h ; 6a 07 11106 call 01966h ; e8 5da111062 call 01966h ; e8 d6 a1 11107 11063 add sp, strict byte 00006h ; 83 c4 06 11108 11064 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11109 11065 mov byte [bp+013h], 001h ; c6 46 13 01 11110 jmp short 07 86dh ; eb 5711066 jmp short 077f4h ; eb 57 11111 11067 mov si, word [bp+00ch] ; 8b 76 0c 11112 11068 mov bx, si ; 89 f3 11113 11069 mov dx, strict word 00022h ; ba 22 00 11114 11070 mov ax, cx ; 89 c8 11115 call 0167ah ; e8 579e11071 call 0167ah ; e8 d0 9e 11116 11072 mov bx, word [bp+014h] ; 8b 5e 14 11117 11073 mov dx, strict word 00024h ; ba 24 00 11118 11074 mov ax, cx ; 89 c8 11119 call 0167ah ; e8 4c9e11075 call 0167ah ; e8 c5 9e 11120 11076 mov dx, strict word 00027h ; ba 27 00 11121 11077 mov ax, cx ; 89 c8 11122 call 01650h ; e8 1a9e11078 call 01650h ; e8 93 9e 11123 11079 mov ah, al ; 88 c4 11124 11080 test si, si ; 85 f6 11125 jne short 07 84ah ; 75 0e11081 jne short 077d1h ; 75 0e 11126 11082 cmp word [bp+014h], strict byte 00000h ; 83 7e 14 00 11127 jne short 07 84ah ; 75 0811083 jne short 077d1h ; 75 08 11128 11084 test AL, strict byte 080h ; a8 80 11129 je short 07 84ch ; 74 0611085 je short 077d3h ; 74 06 11130 11086 and AL, strict byte 07fh ; 24 7f 11131 jmp short 07 84ch ; eb 0211087 jmp short 077d3h ; eb 02 11132 11088 or AL, strict byte 080h ; 0c 80 11133 11089 mov bl, al ; 88 c3 … … 11135 11091 mov dx, strict word 00027h ; ba 27 00 11136 11092 mov ax, cx ; 89 c8 11137 call 0165eh ; e8 069e11138 jmp short 07 86dh ; eb 1311093 call 0165eh ; e8 7f 9e 11094 jmp short 077f4h ; eb 13 11139 11095 push 00974h ; 68 74 09 11140 11096 push strict byte 00007h ; 6a 07 11141 call 01966h ; e8 04a111097 call 01966h ; e8 7d a1 11142 11098 add sp, strict byte 00004h ; 83 c4 04 11143 11099 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11144 11100 mov byte [bp+013h], 001h ; c6 46 13 01 11145 11101 mov ax, strict word 00047h ; b8 47 00 11146 call 073 e8h ; e8 75 fb11102 call 0736fh ; e8 75 fb 11147 11103 lea sp, [bp-002h] ; 8d 66 fe 11148 11104 pop si ; 5e 11149 11105 pop bp ; 5d 11150 11106 retn ; c3 11151 _int17_function: ; 0xf78 79LB 0xaf11107 _int17_function: ; 0xf7800 LB 0xaf 11152 11108 push bp ; 55 11153 11109 mov bp, sp ; 89 e5 … … 11159 11115 add dx, strict byte 00008h ; 83 c2 08 11160 11116 mov ax, strict word 00040h ; b8 40 00 11161 call 0166ch ; e8 df 9d11117 call 0166ch ; e8 58 9e 11162 11118 mov bx, ax ; 89 c3 11163 11119 mov si, ax ; 89 c6 11164 11120 cmp byte [bp+013h], 003h ; 80 7e 13 03 11165 jnc short 078 a3h ; 73 0c11121 jnc short 0782ah ; 73 0c 11166 11122 mov ax, word [bp+00eh] ; 8b 46 0e 11167 11123 cmp ax, strict word 00003h ; 3d 03 00 11168 jnc short 078 a3h ; 73 0411124 jnc short 0782ah ; 73 04 11169 11125 test bx, bx ; 85 db 11170 jnbe short 078 a6h ; 77 0311171 jmp near 07 91eh ; e9 78 0011126 jnbe short 0782dh ; 77 03 11127 jmp near 078a5h ; e9 78 00 11172 11128 mov dx, ax ; 89 c2 11173 11129 add dx, strict byte 00078h ; 83 c2 78 11174 11130 mov ax, strict word 00040h ; b8 40 00 11175 call 01650h ; e8 9f 9d11131 call 01650h ; e8 18 9e 11176 11132 xor ah, ah ; 30 e4 11177 11133 mov cx, ax ; 89 c1 11178 11134 sal cx, 008h ; c1 e1 08 11179 11135 cmp byte [bp+013h], 000h ; 80 7e 13 00 11180 jne short 078 eah ; 75 2c11136 jne short 07871h ; 75 2c 11181 11137 mov al, byte [bp+012h] ; 8a 46 12 11182 11138 mov dx, bx ; 89 da … … 11198 11154 ; sub ah, ah ; 2a e4 11199 11155 test AL, strict byte 040h ; a8 40 11200 je short 078 eah ; 74 0711156 je short 07871h ; 74 07 11201 11157 test cx, cx ; 85 c9 11202 je short 078 eah ; 74 0311158 je short 07871h ; 74 03 11203 11159 dec cx ; 49 11204 jmp short 078 d9h ; eb ef11160 jmp short 07860h ; eb ef 11205 11161 cmp byte [bp+013h], 001h ; 80 7e 13 01 11206 jne short 07 905h ; 75 1511162 jne short 0788ch ; 75 15 11207 11163 lea dx, [si+002h] ; 8d 54 02 11208 11164 in AL, DX ; ec … … 11223 11179 mov byte [bp+013h], al ; 88 46 13 11224 11180 test cx, cx ; 85 c9 11225 jne short 07 918h ; 75 0411181 jne short 0789fh ; 75 04 11226 11182 or byte [bp+013h], 001h ; 80 4e 13 01 11227 11183 and byte [bp+01ch], 0feh ; 80 66 1c fe 11228 jmp short 07 922h ; eb 0411184 jmp short 078a9h ; eb 04 11229 11185 or byte [bp+01ch], 001h ; 80 4e 1c 01 11230 11186 lea sp, [bp-002h] ; 8d 66 fe … … 11232 11188 pop bp ; 5d 11233 11189 retn ; c3 11234 wait_: ; 0xf7 928LB 0xaf11190 wait_: ; 0xf78af LB 0xaf 11235 11191 push bp ; 55 11236 11192 mov bp, sp ; 89 e5 … … 11250 11206 mov dx, 0046ch ; ba 6c 04 11251 11207 xor ax, ax ; 31 c0 11252 call 01688h ; e8 3d9d11208 call 01688h ; e8 b6 9d 11253 11209 mov word [bp-010h], ax ; 89 46 f0 11254 11210 mov bx, dx ; 89 d3 … … 11256 11212 mov dx, 0046ch ; ba 6c 04 11257 11213 xor ax, ax ; 31 c0 11258 call 01688h ; e8 2f9d11214 call 01688h ; e8 a8 9d 11259 11215 mov word [bp-012h], ax ; 89 46 ee 11260 11216 mov di, dx ; 89 d7 11261 11217 cmp dx, bx ; 39 da 11262 jnbe short 07 969h ; 77 0711263 jne short 07 970h ; 75 0c11218 jnbe short 078f0h ; 77 07 11219 jne short 078f7h ; 75 0c 11264 11220 cmp ax, word [bp-010h] ; 3b 46 f0 11265 jbe short 07 970h ; 76 0711221 jbe short 078f7h ; 76 07 11266 11222 sub ax, word [bp-010h] ; 2b 46 f0 11267 11223 sbb dx, bx ; 19 da 11268 jmp short 079 7bh ; eb 0b11224 jmp short 07902h ; eb 0b 11269 11225 cmp dx, bx ; 39 da 11270 jc short 079 7bh ; 72 0711271 jne short 079 7fh ; 75 0911226 jc short 07902h ; 72 07 11227 jne short 07906h ; 75 09 11272 11228 cmp ax, word [bp-010h] ; 3b 46 f0 11273 jnc short 079 7fh ; 73 0411229 jnc short 07906h ; 73 04 11274 11230 sub si, ax ; 29 c6 11275 11231 sbb cx, dx ; 19 d1 … … 11279 11235 mov ax, 00100h ; b8 00 01 11280 11236 int 016h ; cd 16 11281 je short 079 93h ; 74 0511237 je short 0791ah ; 74 05 11282 11238 mov AL, strict byte 001h ; b0 01 11283 jmp near 079 95h ; e9 02 0011239 jmp near 0791ch ; e9 02 00 11284 11240 db 032h, 0c0h 11285 11241 ; xor al, al ; 32 c0 11286 11242 test al, al ; 84 c0 11287 je short 079 bch ; 74 2311243 je short 07943h ; 74 23 11288 11244 db 033h, 0c0h 11289 11245 ; xor ax, ax ; 33 c0 … … 11296 11252 push 00996h ; 68 96 09 11297 11253 push strict byte 00004h ; 6a 04 11298 call 01966h ; e8 b7 9f11254 call 01966h ; e8 30 a0 11299 11255 add sp, strict byte 00006h ; 83 c4 06 11300 11256 cmp byte [bp-00ah], 000h ; 80 7e f6 00 11301 je short 079 bch ; 74 0411257 je short 07943h ; 74 04 11302 11258 mov al, dl ; 88 d0 11303 jmp short 079 ceh ; eb 1211259 jmp short 07955h ; eb 12 11304 11260 test cx, cx ; 85 c9 11305 jnle short 07 950h ; 7f 9011306 jne short 079 c6h ; 75 0411261 jnle short 078d7h ; 7f 90 11262 jne short 0794dh ; 75 04 11307 11263 test si, si ; 85 f6 11308 jnbe short 07 950h ; 77 8a11264 jnbe short 078d7h ; 77 8a 11309 11265 mov ax, word [bp-00eh] ; 8b 46 f2 11310 11266 push ax ; 50 … … 11318 11274 pop bp ; 5d 11319 11275 retn ; c3 11320 read_logo_byte_: ; 0xf79 d7LB 0x1611276 read_logo_byte_: ; 0xf795e LB 0x16 11321 11277 push bp ; 55 11322 11278 mov bp, sp ; 89 e5 … … 11333 11289 pop bp ; 5d 11334 11290 retn ; c3 11335 read_logo_word_: ; 0xf79 edLB 0x1411291 read_logo_word_: ; 0xf7974 LB 0x14 11336 11292 push bp ; 55 11337 11293 mov bp, sp ; 89 e5 … … 11346 11302 pop bp ; 5d 11347 11303 retn ; c3 11348 print_detected_harddisks_: ; 0xf7 a01LB 0x13a11304 print_detected_harddisks_: ; 0xf7988 LB 0x13a 11349 11305 push bp ; 55 11350 11306 mov bp, sp ; 89 e5 … … 11358 11314 mov dx, strict word 0000eh ; ba 0e 00 11359 11315 mov ax, strict word 00040h ; b8 40 00 11360 call 0166ch ; e8 589c11316 call 0166ch ; e8 d1 9c 11361 11317 mov si, ax ; 89 c6 11362 11318 mov byte [bp-00eh], 000h ; c6 46 f2 00 … … 11364 11320 xor ch, ch ; 30 ed 11365 11321 mov dx, 00304h ; ba 04 03 11366 call 01650h ; e8 2c9c11322 call 01650h ; e8 a5 9c 11367 11323 mov byte [bp-00ch], al ; 88 46 f4 11368 11324 xor bl, bl ; 30 db 11369 11325 cmp bl, byte [bp-00ch] ; 3a 5e f4 11370 jnc short 07a 8bh ; 73 5d11326 jnc short 07a12h ; 73 5d 11371 11327 mov al, bl ; 88 d8 11372 11328 xor ah, ah ; 30 e4 … … 11374 11330 add dx, 00305h ; 81 c2 05 03 11375 11331 mov ax, si ; 89 f0 11376 call 01650h ; e8 139c11332 call 01650h ; e8 8c 9c 11377 11333 mov bh, al ; 88 c7 11378 11334 cmp AL, strict byte 00ch ; 3c 0c 11379 jc short 07 a68h ; 72 2511335 jc short 079efh ; 72 25 11380 11336 test cl, cl ; 84 c9 11381 jne short 07 a54h ; 75 0d11337 jne short 079dbh ; 75 0d 11382 11338 push 009a7h ; 68 a7 09 11383 11339 push strict byte 00002h ; 6a 02 11384 call 01966h ; e8 179f11340 call 01966h ; e8 90 9f 11385 11341 add sp, strict byte 00004h ; 83 c4 04 11386 11342 mov CL, strict byte 001h ; b1 01 … … 11391 11347 push 009bch ; 68 bc 09 11392 11348 push strict byte 00002h ; 6a 02 11393 call 01966h ; e8 049f11349 call 01966h ; e8 7d 9f 11394 11350 add sp, strict byte 00006h ; 83 c4 06 11395 jmp near 07 b08h ; e9 a0 0011351 jmp near 07a8fh ; e9 a0 00 11396 11352 cmp AL, strict byte 008h ; 3c 08 11397 jc short 07a 7fh ; 72 1311353 jc short 07a06h ; 72 13 11398 11354 test ch, ch ; 84 ed 11399 jne short 07a 7dh ; 75 0d11355 jne short 07a04h ; 75 0d 11400 11356 push 009cfh ; 68 cf 09 11401 11357 push strict byte 00002h ; 6a 02 11402 call 01966h ; e8 ee 9e11358 call 01966h ; e8 67 9f 11403 11359 add sp, strict byte 00004h ; 83 c4 04 11404 11360 mov CH, strict byte 001h ; b5 01 11405 jmp short 07 a54h ; eb d511361 jmp short 079dbh ; eb d5 11406 11362 cmp AL, strict byte 004h ; 3c 04 11407 jnc short 07a 9fh ; 73 1c11363 jnc short 07a26h ; 73 1c 11408 11364 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11409 je short 07a 8eh ; 74 0511410 jmp short 07a 9fh ; eb 1411411 jmp near 07 b0dh ; e9 7f 0011365 je short 07a15h ; 74 05 11366 jmp short 07a26h ; eb 14 11367 jmp near 07a94h ; e9 7f 00 11412 11368 push 009e4h ; 68 e4 09 11413 11369 push strict byte 00002h ; 6a 02 11414 call 01966h ; e8 d0 9e11370 call 01966h ; e8 49 9f 11415 11371 add sp, strict byte 00004h ; 83 c4 04 11416 11372 mov byte [bp-00eh], 001h ; c6 46 f2 01 11417 jmp short 07a b5h ; eb 1611373 jmp short 07a3ch ; eb 16 11418 11374 cmp bh, 004h ; 80 ff 04 11419 jc short 07a b5h ; 72 1111375 jc short 07a3ch ; 72 11 11420 11376 test cl, cl ; 84 c9 11421 jne short 07a b5h ; 75 0d11377 jne short 07a3ch ; 75 0d 11422 11378 push 009f6h ; 68 f6 09 11423 11379 push strict byte 00002h ; 6a 02 11424 call 01966h ; e8 b6 9e11380 call 01966h ; e8 2f 9f 11425 11381 add sp, strict byte 00004h ; 83 c4 04 11426 11382 mov CL, strict byte 001h ; b1 01 … … 11431 11387 push 00a0ah ; 68 0a 0a 11432 11388 push strict byte 00002h ; 6a 02 11433 call 01966h ; e8 a3 9e11389 call 01966h ; e8 1c 9f 11434 11390 add sp, strict byte 00006h ; 83 c4 06 11435 11391 cmp bh, 004h ; 80 ff 04 11436 jc short 07a ceh ; 72 0311392 jc short 07a55h ; 72 03 11437 11393 sub bh, 004h ; 80 ef 04 11438 11394 mov al, bh ; 88 f8 … … 11443 11399 sar ax, 1 ; d1 f8 11444 11400 test ax, ax ; 85 c0 11445 je short 07a e0h ; 74 0511401 je short 07a67h ; 74 05 11446 11402 push 00a14h ; 68 14 0a 11447 jmp short 07a e3h ; eb 0311403 jmp short 07a6ah ; eb 03 11448 11404 push 00a1fh ; 68 1f 0a 11449 11405 push strict byte 00002h ; 6a 02 11450 call 01966h ; e8 7e9e11406 call 01966h ; e8 f7 9e 11451 11407 add sp, strict byte 00004h ; 83 c4 04 11452 11408 mov al, bh ; 88 f8 … … 11456 11412 idiv di ; f7 ff 11457 11413 test dx, dx ; 85 d2 11458 je short 07a feh ; 74 0511414 je short 07a85h ; 74 05 11459 11415 push 00a28h ; 68 28 0a 11460 jmp short 07 b01h ; eb 0311416 jmp short 07a88h ; eb 03 11461 11417 push 00a2eh ; 68 2e 0a 11462 11418 push di ; 57 11463 call 01966h ; e8 619e11419 call 01966h ; e8 da 9e 11464 11420 add sp, strict byte 00004h ; 83 c4 04 11465 11421 db 0feh, 0c3h 11466 11422 ; inc bl ; fe c3 11467 jmp near 07 a29h ; e9 1c ff11423 jmp near 079b0h ; e9 1c ff 11468 11424 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11469 jne short 07 b26h ; 75 1311425 jne short 07aadh ; 75 13 11470 11426 test cl, cl ; 84 c9 11471 jne short 07 b26h ; 75 0f11427 jne short 07aadh ; 75 0f 11472 11428 test ch, ch ; 84 ed 11473 jne short 07 b26h ; 75 0b11429 jne short 07aadh ; 75 0b 11474 11430 push 00a35h ; 68 35 0a 11475 11431 push strict byte 00002h ; 6a 02 11476 call 01966h ; e8 439e11432 call 01966h ; e8 bc 9e 11477 11433 add sp, strict byte 00004h ; 83 c4 04 11478 11434 push 00a49h ; 68 49 0a 11479 11435 push strict byte 00002h ; 6a 02 11480 call 01966h ; e8 389e11436 call 01966h ; e8 b1 9e 11481 11437 add sp, strict byte 00004h ; 83 c4 04 11482 11438 lea sp, [bp-00ah] ; 8d 66 f6 … … 11488 11444 pop bp ; 5d 11489 11445 retn ; c3 11490 get_boot_drive_: ; 0xf7 b3bLB 0x2811446 get_boot_drive_: ; 0xf7ac2 LB 0x28 11491 11447 push bp ; 55 11492 11448 mov bp, sp ; 89 e5 … … 11496 11452 mov dx, strict word 0000eh ; ba 0e 00 11497 11453 mov ax, strict word 00040h ; b8 40 00 11498 call 0166ch ; e8 219b11454 call 0166ch ; e8 9a 9b 11499 11455 mov dx, 00304h ; ba 04 03 11500 call 01650h ; e8 ff 9a11456 call 01650h ; e8 78 9b 11501 11457 sub bl, 002h ; 80 eb 02 11502 11458 cmp bl, al ; 38 c3 11503 jc short 07 b5ah ; 72 0211459 jc short 07ae1h ; 72 02 11504 11460 mov BL, strict byte 0ffh ; b3 ff 11505 11461 mov al, bl ; 88 d8 … … 11509 11465 pop bp ; 5d 11510 11466 retn ; c3 11511 show_logo_: ; 0xf7 b63 LB 0x22811467 show_logo_: ; 0xf7aea LB 0x226 11512 11468 push bp ; 55 11513 11469 mov bp, sp ; 89 e5 … … 11520 11476 mov dx, strict word 0000eh ; ba 0e 00 11521 11477 mov ax, strict word 00040h ; b8 40 00 11522 call 0166ch ; e8 f5 9a11478 call 0166ch ; e8 6e 9b 11523 11479 mov si, ax ; 89 c6 11524 11480 xor cl, cl ; 30 c9 … … 11532 11488 mov al, dl ; 88 d0 11533 11489 xor ah, ah ; 30 e4 11534 call 079 edh ; e8 5d fe11490 call 07974h ; e8 5d fe 11535 11491 cmp ax, 066bbh ; 3d bb 66 11536 jne short 07b a7h ; 75 1211492 jne short 07b2eh ; 75 12 11537 11493 push SS ; 16 11538 11494 pop ES ; 07 … … 11542 11498 mov word [es:di], bx ; 26 89 1d 11543 11499 cmp ax, strict word 0004fh ; 3d 4f 00 11544 je short 07b aah ; 74 0311545 jmp near 07 c67h ; e9 bd 0011500 je short 07b31h ; 74 03 11501 jmp near 07beeh ; e9 bd 00 11546 11502 mov al, dl ; 88 d0 11547 11503 add AL, strict byte 004h ; 04 04 11548 11504 xor ah, ah ; 30 e4 11549 call 079 d7h ; e8 24 fe11505 call 0795eh ; e8 24 fe 11550 11506 mov ch, al ; 88 c5 11551 11507 mov byte [bp-012h], al ; 88 46 ee … … 11553 11509 add AL, strict byte 005h ; 04 05 11554 11510 xor ah, ah ; 30 e4 11555 call 079 d7h ; e8 16 fe11511 call 0795eh ; e8 16 fe 11556 11512 mov dh, al ; 88 c6 11557 11513 mov byte [bp-010h], al ; 88 46 f0 … … 11559 11515 add AL, strict byte 002h ; 04 02 11560 11516 xor ah, ah ; 30 e4 11561 call 079 edh ; e8 1e fe11517 call 07974h ; e8 1e fe 11562 11518 mov bx, ax ; 89 c3 11563 11519 mov word [bp-014h], ax ; 89 46 ec … … 11565 11521 add AL, strict byte 006h ; 04 06 11566 11522 xor ah, ah ; 30 e4 11567 call 079 d7h ; e8 fa fd11523 call 0795eh ; e8 fa fd 11568 11524 mov byte [bp-00eh], al ; 88 46 f2 11569 11525 test ch, ch ; 84 ed 11570 jne short 07b ech ; 75 0811526 jne short 07b73h ; 75 08 11571 11527 test dh, dh ; 84 f6 11572 jne short 07b ech ; 75 0411528 jne short 07b73h ; 75 04 11573 11529 test bx, bx ; 85 db 11574 je short 07 c44h ; 74 5811530 je short 07bcbh ; 74 58 11575 11531 mov bx, 00142h ; bb 42 01 11576 11532 mov ax, 04f02h ; b8 02 4f 11577 11533 int 010h ; cd 10 11578 11534 cmp byte [bp-012h], 000h ; 80 7e ee 00 11579 je short 07 c1dh ; 74 2311535 je short 07ba4h ; 74 23 11580 11536 xor bx, bx ; 31 db 11581 jmp short 07 c04h ; eb 0611537 jmp short 07b8bh ; eb 06 11582 11538 inc bx ; 43 11583 11539 cmp bx, strict byte 00010h ; 83 fb 10 11584 jnbe short 07 c24h ; 77 2011540 jnbe short 07babh ; 77 20 11585 11541 mov ax, bx ; 89 d8 11586 11542 or ah, 002h ; 80 cc 02 … … 11589 11545 xor dx, dx ; 31 d2 11590 11546 mov ax, strict word 00001h ; b8 01 00 11591 call 07 928h ; e8 13 fd11547 call 078afh ; e8 13 fd 11592 11548 cmp AL, strict byte 086h ; 3c 86 11593 jne short 07b feh ; 75 e511549 jne short 07b85h ; 75 e5 11594 11550 mov CL, strict byte 001h ; b1 01 11595 jmp short 07 c24h ; eb 0711551 jmp short 07babh ; eb 07 11596 11552 mov ax, 00210h ; b8 10 02 11597 11553 mov dx, 003b8h ; ba b8 03 11598 11554 out DX, ax ; ef 11599 11555 test cl, cl ; 84 c9 11600 jne short 07 c3ah ; 75 1211556 jne short 07bc1h ; 75 12 11601 11557 mov ax, word [bp-014h] ; 8b 46 ec 11602 11558 shr ax, 004h ; c1 e8 04 11603 11559 mov dx, strict word 00001h ; ba 01 00 11604 call 07 928h ; e8 f4 fc11560 call 078afh ; e8 f4 fc 11605 11561 cmp AL, strict byte 086h ; 3c 86 11606 jne short 07 c3ah ; 75 0211562 jne short 07bc1h ; 75 02 11607 11563 mov CL, strict byte 001h ; b1 01 11608 11564 cmp byte [bp-010h], 000h ; 80 7e f0 00 11609 je short 07 c67h ; 74 2711565 je short 07beeh ; 74 27 11610 11566 test cl, cl ; 84 c9 11611 je short 07 c46h ; 74 0211612 jmp short 07 c67h ; eb 2111567 je short 07bcdh ; 74 02 11568 jmp short 07beeh ; eb 21 11613 11569 mov bx, strict word 00010h ; bb 10 00 11614 jmp short 07 c50h ; eb 0511570 jmp short 07bd7h ; eb 05 11615 11571 dec bx ; 4b 11616 11572 test bx, bx ; 85 db 11617 jbe short 07 c67h ; 76 1711573 jbe short 07beeh ; 76 17 11618 11574 mov ax, bx ; 89 d8 11619 11575 or ah, 002h ; 80 cc 02 … … 11622 11578 xor dx, dx ; 31 d2 11623 11579 mov ax, strict word 00001h ; b8 01 00 11624 call 07 928h ; e8 c7 fc11580 call 078afh ; e8 c7 fc 11625 11581 cmp AL, strict byte 086h ; 3c 86 11626 jne short 07 c4bh ; 75 e611582 jne short 07bd2h ; 75 e6 11627 11583 mov CL, strict byte 001h ; b1 01 11628 11584 xor bx, bx ; 31 db 11629 11585 mov dx, 0037dh ; ba 7d 03 11630 11586 mov ax, si ; 89 f0 11631 call 0165eh ; e8 ed 9911587 call 0165eh ; e8 66 9a 11632 11588 mov AL, strict byte 003h ; b0 03 11633 11589 mov AH, strict byte 000h ; b4 00 11634 11590 int 010h ; cd 10 11635 11591 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11636 je short 07c 91h ; 74 1411592 je short 07c18h ; 74 14 11637 11593 cmp byte [bp-012h], 000h ; 80 7e ee 00 11638 jne short 07c b8h ; 75 3511594 jne short 07c3fh ; 75 35 11639 11595 cmp byte [bp-010h], 000h ; 80 7e f0 00 11640 jne short 07c b8h ; 75 2f11596 jne short 07c3fh ; 75 2f 11641 11597 cmp word [bp-014h], strict byte 00000h ; 83 7e ec 00 11642 je short 07c 94h ; 74 0511643 jmp short 07c b8h ; eb 2711644 jmp near 07 d6ch ; e9 d8 0011598 je short 07c1bh ; 74 05 11599 jmp short 07c3fh ; eb 27 11600 jmp near 07cf3h ; e9 d8 00 11645 11601 cmp byte [bp-00eh], 002h ; 80 7e f2 02 11646 jne short 07c a5h ; 75 0b11602 jne short 07c2ch ; 75 0b 11647 11603 push 00a4bh ; 68 4b 0a 11648 11604 push strict byte 00002h ; 6a 02 11649 call 01966h ; e8 c4 9c11605 call 01966h ; e8 3d 9d 11650 11606 add sp, strict byte 00004h ; 83 c4 04 11651 11607 test cl, cl ; 84 c9 11652 jne short 07c b8h ; 75 0f11608 jne short 07c3fh ; 75 0f 11653 11609 mov dx, strict word 00001h ; ba 01 00 11654 11610 mov ax, 000c0h ; b8 c0 00 11655 call 07 928h ; e8 76 fc11611 call 078afh ; e8 76 fc 11656 11612 cmp AL, strict byte 086h ; 3c 86 11657 jne short 07c b8h ; 75 0211613 jne short 07c3fh ; 75 02 11658 11614 mov CL, strict byte 001h ; b1 01 11659 11615 test cl, cl ; 84 c9 11660 je short 07c 91h ; 74 d511616 je short 07c18h ; 74 d5 11661 11617 mov byte [bp-00ch], 000h ; c6 46 f4 00 11662 11618 mov ax, 00100h ; b8 00 01 … … 11677 11633 push 00a6dh ; 68 6d 0a 11678 11634 push strict byte 00002h ; 6a 02 11679 call 01966h ; e8 819c11635 call 01966h ; e8 fa 9c 11680 11636 add sp, strict byte 00004h ; 83 c4 04 11681 call 07 a01h ; e8 16 fd11637 call 07988h ; e8 16 fd 11682 11638 push 00ab1h ; 68 b1 0a 11683 11639 push strict byte 00002h ; 6a 02 11684 call 01966h ; e8 739c11640 call 01966h ; e8 ec 9c 11685 11641 add sp, strict byte 00004h ; 83 c4 04 11686 11642 mov dx, strict word 00001h ; ba 01 00 11687 11643 mov ax, strict word 00040h ; b8 40 00 11688 call 07 928h ; e8 29 fc11644 call 078afh ; e8 29 fc 11689 11645 mov bl, al ; 88 c3 11690 11646 test al, al ; 84 c0 11691 je short 07c f6h ; 74 f111647 je short 07c7dh ; 74 f1 11692 11648 cmp AL, strict byte 030h ; 3c 30 11693 je short 07 d59h ; 74 5011649 je short 07ce0h ; 74 50 11694 11650 cmp bl, 002h ; 80 fb 02 11695 jc short 07 d32h ; 72 2411651 jc short 07cb9h ; 72 24 11696 11652 cmp bl, 009h ; 80 fb 09 11697 jnbe short 07 d32h ; 77 1f11653 jnbe short 07cb9h ; 77 1f 11698 11654 mov al, bl ; 88 d8 11699 11655 xor ah, ah ; 30 e4 11700 call 07 b3bh ; e8 21 fe11656 call 07ac2h ; e8 21 fe 11701 11657 cmp AL, strict byte 0ffh ; 3c ff 11702 jne short 07 d20h ; 75 0211703 jmp short 07c f6h ; eb d611658 jne short 07ca7h ; 75 02 11659 jmp short 07c7dh ; eb d6 11704 11660 mov bl, al ; 88 c3 11705 11661 xor bh, bh ; 30 ff 11706 11662 mov dx, 0037ch ; ba 7c 03 11707 11663 mov ax, si ; 89 f0 11708 call 0165eh ; e8 329911664 call 0165eh ; e8 ab 99 11709 11665 mov byte [bp-00ch], 002h ; c6 46 f4 02 11710 jmp short 07 d59h ; eb 2711666 jmp short 07ce0h ; eb 27 11711 11667 cmp bl, 02eh ; 80 fb 2e 11712 je short 07 d47h ; 74 1011668 je short 07cceh ; 74 10 11713 11669 cmp bl, 026h ; 80 fb 26 11714 je short 07 d4dh ; 74 1111670 je short 07cd4h ; 74 11 11715 11671 cmp bl, 021h ; 80 fb 21 11716 jne short 07 d53h ; 75 1211672 jne short 07cdah ; 75 12 11717 11673 mov byte [bp-00ch], 001h ; c6 46 f4 01 11718 jmp short 07 d59h ; eb 1211674 jmp short 07ce0h ; eb 12 11719 11675 mov byte [bp-00ch], 003h ; c6 46 f4 03 11720 jmp short 07 d59h ; eb 0c11676 jmp short 07ce0h ; eb 0c 11721 11677 mov byte [bp-00ch], 004h ; c6 46 f4 04 11722 jmp short 07 d59h ; eb 0611678 jmp short 07ce0h ; eb 06 11723 11679 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11724 je short 07c f6h ; 74 9d11680 je short 07c7dh ; 74 9d 11725 11681 mov bl, byte [bp-00ch] ; 8a 5e f4 11726 11682 xor bh, bh ; 30 ff 11727 11683 mov dx, 0037dh ; ba 7d 03 11728 11684 mov ax, si ; 89 f0 11729 call 0165eh ; e8 f8 9811685 call 0165eh ; e8 71 99 11730 11686 mov AL, strict byte 003h ; b0 03 11731 11687 mov AH, strict byte 000h ; b4 00 … … 11737 11693 out strict byte 040h, AL ; e6 40 11738 11694 out strict byte 040h, AL ; e6 40 11739 push ad ; 66 6011695 push bp ; 55 11740 11696 push DS ; 1e 11741 11697 mov ds, ax ; 8e d8 11742 call 0edbfh ; e8 417011698 call 0edbfh ; e8 bb 70 11743 11699 pop DS ; 1f 11744 pop ad ; 66 6111700 pop bp ; 5d 11745 11701 lea sp, [bp-00ah] ; 8d 66 f6 11746 11702 pop di ; 5f … … 11751 11707 pop bp ; 5d 11752 11708 retn ; c3 11753 delay_boot_: ; 0xf7d 8b LB 0x6711709 delay_boot_: ; 0xf7d10 LB 0x6b 11754 11710 push bp ; 55 11755 11711 mov bp, sp ; 89 e5 11756 11712 push bx ; 53 11713 push cx ; 51 11757 11714 push dx ; 52 11715 push si ; 56 11716 push di ; 57 11758 11717 mov dx, ax ; 89 c2 11759 11718 test ax, ax ; 85 c0 11760 je short 07d ebh ; 74 5511719 je short 07d71h ; 74 53 11761 11720 mov AL, strict byte 034h ; b0 34 11762 11721 out strict byte 043h, AL ; e6 43 … … 11768 11727 push 00afbh ; 68 fb 0a 11769 11728 push strict byte 00002h ; 6a 02 11770 call 01966h ; e8 bb 9b11729 call 01966h ; e8 33 9c 11771 11730 add sp, strict byte 00006h ; 83 c4 06 11772 11731 mov bx, dx ; 89 d3 11773 11732 test bx, bx ; 85 db 11774 jbe short 07d cbh ; 76 1711733 jbe short 07d53h ; 76 17 11775 11734 push bx ; 53 11776 11735 push 00b19h ; 68 19 0b 11777 11736 push strict byte 00002h ; 6a 02 11778 call 01966h ; e8 a9 9b11737 call 01966h ; e8 21 9c 11779 11738 add sp, strict byte 00006h ; 83 c4 06 11780 11739 xor dx, dx ; 31 d2 11781 11740 mov ax, strict word 00040h ; b8 40 00 11782 call 07 928h ; e8 60fb11741 call 078afh ; e8 5f fb 11783 11742 dec bx ; 4b 11784 jmp short 07d b0h ; eb e511743 jmp short 07d38h ; eb e5 11785 11744 push 00a49h ; 68 49 0a 11786 11745 push strict byte 00002h ; 6a 02 11787 call 01966h ; e8 93 9b11746 call 01966h ; e8 0b 9c 11788 11747 add sp, strict byte 00004h ; 83 c4 04 11789 11748 mov AL, strict byte 034h ; b0 34 … … 11793 11752 out strict byte 040h, AL ; e6 40 11794 11753 out strict byte 040h, AL ; e6 40 11795 push ad ; 66 6011754 push bp ; 55 11796 11755 push DS ; 1e 11797 11756 mov ds, ax ; 8e d8 11798 call 0edbfh ; e8 d7 6f11757 call 0edbfh ; e8 50 70 11799 11758 pop DS ; 1f 11800 popad ; 66 61 11801 lea sp, [bp-004h] ; 8d 66 fc 11759 pop bp ; 5d 11760 lea sp, [bp-00ah] ; 8d 66 f6 11761 pop di ; 5f 11762 pop si ; 5e 11802 11763 pop dx ; 5a 11764 pop cx ; 59 11803 11765 pop bx ; 5b 11804 11766 pop bp ; 5d 11805 11767 retn ; c3 11806 scsi_cmd_data_in_: ; 0xf7d f2LB 0xd511768 scsi_cmd_data_in_: ; 0xf7d7b LB 0xd5 11807 11769 push bp ; 55 11808 11770 mov bp, sp ; 89 e5 … … 11820 11782 ; sub ah, ah ; 2a e4 11821 11783 test AL, strict byte 001h ; a8 01 11822 jne short 07 e08h ; 75 f711784 jne short 07d91h ; 75 f7 11823 11785 mov al, byte [bp+004h] ; 8a 46 04 11824 11786 cmp AL, strict byte 010h ; 3c 10 11825 jne short 07 e1ch ; 75 0411787 jne short 07da5h ; 75 04 11826 11788 xor ax, ax ; 31 c0 11827 jmp short 07 e1eh ; eb 0211789 jmp short 07da7h ; eb 02 11828 11790 xor ah, ah ; 30 e4 11829 11791 mov di, ax ; 89 c7 … … 11833 11795 shr dx, 1 ; d1 ea 11834 11796 rcr ax, 1 ; d1 d8 11835 loop 07 e28h ; e2 fa11797 loop 07db1h ; e2 fa 11836 11798 mov cx, ax ; 89 c1 11837 11799 and cx, 000f0h ; 81 e1 f0 00 … … 11851 11813 shr dx, 1 ; d1 ea 11852 11814 rcr ax, 1 ; d1 d8 11853 loop 07 e4dh ; e2 fa11815 loop 07dd6h ; e2 fa 11854 11816 mov dx, si ; 89 f2 11855 11817 out DX, AL ; ee … … 11858 11820 xor ah, ah ; 30 e4 11859 11821 cmp cx, ax ; 39 c1 11860 jnc short 07 e6fh ; 73 0e11822 jnc short 07df8h ; 73 0e 11861 11823 les di, [bp-00ah] ; c4 7e f6 11862 11824 add di, cx ; 01 cf … … 11865 11827 out DX, AL ; ee 11866 11828 inc cx ; 41 11867 jmp short 07 e58h ; eb e911829 jmp short 07de1h ; eb e9 11868 11830 mov dx, si ; 89 f2 11869 11831 in AL, DX ; ec … … 11871 11833 ; sub ah, ah ; 2a e4 11872 11834 test AL, strict byte 001h ; a8 01 11873 jne short 07 e6fh ; 75 f711835 jne short 07df8h ; 75 f7 11874 11836 test AL, strict byte 002h ; a8 02 11875 je short 07e 8ah ; 74 0e11837 je short 07e13h ; 74 0e 11876 11838 lea dx, [si+003h] ; 8d 54 03 11877 11839 xor al, al ; 30 c0 … … 11881 11843 ; sub ah, ah ; 2a e4 11882 11844 mov di, strict word 00004h ; bf 04 00 11883 jmp short 07e bch ; eb 3211845 jmp short 07e45h ; eb 32 11884 11846 lea dx, [si+001h] ; 8d 54 01 11885 11847 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 11886 jne short 07e 99h ; 75 0611848 jne short 07e22h ; 75 06 11887 11849 cmp bx, 08000h ; 81 fb 00 80 11888 jbe short 07e b3h ; 76 1a11850 jbe short 07e3ch ; 76 1a 11889 11851 mov cx, 08000h ; b9 00 80 11890 11852 les di, [bp+006h] ; c4 7e 06 … … 11895 11857 add ax, 00800h ; 05 00 08 11896 11858 mov word [bp+008h], ax ; 89 46 08 11897 jmp short 07e 8ah ; eb d711859 jmp short 07e13h ; eb d7 11898 11860 mov cx, bx ; 89 d9 11899 11861 les di, [bp+006h] ; c4 7e 06 … … 11906 11868 pop bp ; 5d 11907 11869 retn 0000ah ; c2 0a 00 11908 scsi_cmd_data_out_: ; 0xf7e c7LB 0xd511870 scsi_cmd_data_out_: ; 0xf7e50 LB 0xd5 11909 11871 push bp ; 55 11910 11872 mov bp, sp ; 89 e5 … … 11922 11884 ; sub ah, ah ; 2a e4 11923 11885 test AL, strict byte 001h ; a8 01 11924 jne short 07e ddh ; 75 f711886 jne short 07e66h ; 75 f7 11925 11887 mov al, byte [bp+004h] ; 8a 46 04 11926 11888 cmp AL, strict byte 010h ; 3c 10 11927 jne short 07e f1h ; 75 0411889 jne short 07e7ah ; 75 04 11928 11890 xor ax, ax ; 31 c0 11929 jmp short 07e f3h ; eb 0211891 jmp short 07e7ch ; eb 02 11930 11892 xor ah, ah ; 30 e4 11931 11893 mov si, ax ; 89 c6 … … 11935 11897 shr dx, 1 ; d1 ea 11936 11898 rcr ax, 1 ; d1 d8 11937 loop 07e fdh ; e2 fa11899 loop 07e86h ; e2 fa 11938 11900 mov cx, ax ; 89 c1 11939 11901 and cx, 000f0h ; 81 e1 f0 00 … … 11953 11915 shr dx, 1 ; d1 ea 11954 11916 rcr ax, 1 ; d1 d8 11955 loop 07 f22h ; e2 fa11917 loop 07eabh ; e2 fa 11956 11918 mov dx, di ; 89 fa 11957 11919 out DX, AL ; ee … … 11960 11922 xor ah, ah ; 30 e4 11961 11923 cmp cx, ax ; 39 c1 11962 jnc short 07 f44h ; 73 0e11924 jnc short 07ecdh ; 73 0e 11963 11925 les si, [bp-00ah] ; c4 76 f6 11964 11926 add si, cx ; 01 ce … … 11967 11929 out DX, AL ; ee 11968 11930 inc cx ; 41 11969 jmp short 07 f2dh ; eb e911931 jmp short 07eb6h ; eb e9 11970 11932 lea dx, [di+001h] ; 8d 55 01 11971 11933 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 11972 jne short 07 f53h ; 75 0611934 jne short 07edch ; 75 06 11973 11935 cmp bx, 08000h ; 81 fb 00 80 11974 jbe short 07 f6eh ; 76 1b11936 jbe short 07ef7h ; 76 1b 11975 11937 mov cx, 08000h ; b9 00 80 11976 11938 les si, [bp+006h] ; c4 76 06 … … 11982 11944 add ax, 00800h ; 05 00 08 11983 11945 mov word [bp+008h], ax ; 89 46 08 11984 jmp short 07 f44h ; eb d611946 jmp short 07ecdh ; eb d6 11985 11947 mov cx, bx ; 89 d9 11986 11948 les si, [bp+006h] ; c4 76 06 … … 11992 11954 ; sub ah, ah ; 2a e4 11993 11955 test AL, strict byte 001h ; a8 01 11994 jne short 07 f76h ; 75 f711956 jne short 07effh ; 75 f7 11995 11957 test AL, strict byte 002h ; a8 02 11996 je short 07f 91h ; 74 0e11958 je short 07f1ah ; 74 0e 11997 11959 lea dx, [di+003h] ; 8d 55 03 11998 11960 xor al, al ; 30 c0 … … 12002 11964 ; sub ah, ah ; 2a e4 12003 11965 mov ax, strict word 00004h ; b8 04 00 12004 jmp short 07f 93h ; eb 0211966 jmp short 07f1ch ; eb 02 12005 11967 xor ax, ax ; 31 c0 12006 11968 lea sp, [bp-004h] ; 8d 66 fc … … 12009 11971 pop bp ; 5d 12010 11972 retn 0000ah ; c2 0a 00 12011 @scsi_read_sectors: ; 0xf7f 9cLB 0xe011973 @scsi_read_sectors: ; 0xf7f25 LB 0xe0 12012 11974 push bp ; 55 12013 11975 mov bp, sp ; 89 e5 … … 12021 11983 mov byte [bp-006h], al ; 88 46 fa 12022 11984 cmp AL, strict byte 004h ; 3c 04 12023 jbe short 07f c8h ; 76 1111985 jbe short 07f51h ; 76 11 12024 11986 xor ah, ah ; 30 e4 12025 11987 push ax ; 50 … … 12027 11989 push 00b30h ; 68 30 0b 12028 11990 push strict byte 00007h ; 6a 07 12029 call 01966h ; e8 a1 9911991 call 01966h ; e8 18 9a 12030 11992 add sp, strict byte 00008h ; 83 c4 08 12031 11993 mov es, [bp+006h] ; 8e 46 06 … … 12067 12029 sal word [bp-00ah], 1 ; d1 66 f6 12068 12030 rcl word [bp-008h], 1 ; d1 56 f8 12069 loop 0 8032h ; e2 f812031 loop 07fbbh ; e2 f8 12070 12032 push word [bp-008h] ; ff 76 f8 12071 12033 push word [bp-00ah] ; ff 76 f6 … … 12076 12038 mov cx, ss ; 8c d1 12077 12039 lea bx, [bp-01ah] ; 8d 5e e6 12078 call 07d f2h ; e8 9e fd12040 call 07d7bh ; e8 9e fd 12079 12041 mov ah, al ; 88 c4 12080 12042 test al, al ; 84 c0 12081 jne short 0 806fh ; 75 1512043 jne short 07ff8h ; 75 15 12082 12044 mov es, [bp+006h] ; 8e 46 06 12083 12045 mov word [es:si+018h], di ; 26 89 7c 18 … … 12093 12055 pop bp ; 5d 12094 12056 retn 00004h ; c2 04 00 12095 @scsi_write_sectors: ; 0xf80 7cLB 0xe012057 @scsi_write_sectors: ; 0xf8005 LB 0xe0 12096 12058 push bp ; 55 12097 12059 mov bp, sp ; 89 e5 … … 12105 12067 mov byte [bp-006h], al ; 88 46 fa 12106 12068 cmp AL, strict byte 004h ; 3c 04 12107 jbe short 080 a8h ; 76 1112069 jbe short 08031h ; 76 11 12108 12070 xor ah, ah ; 30 e4 12109 12071 push ax ; 50 … … 12111 12073 push 00b30h ; 68 30 0b 12112 12074 push strict byte 00007h ; 6a 07 12113 call 01966h ; e8 c1 9812075 call 01966h ; e8 38 99 12114 12076 add sp, strict byte 00008h ; 83 c4 08 12115 12077 mov es, [bp+006h] ; 8e 46 06 … … 12151 12113 sal word [bp-00ah], 1 ; d1 66 f6 12152 12114 rcl word [bp-008h], 1 ; d1 56 f8 12153 loop 08 112h ; e2 f812115 loop 0809bh ; e2 f8 12154 12116 push word [bp-008h] ; ff 76 f8 12155 12117 push word [bp-00ah] ; ff 76 f6 … … 12160 12122 mov cx, ss ; 8c d1 12161 12123 lea bx, [bp-01ah] ; 8d 5e e6 12162 call 07e c7h ; e8 93 fd12124 call 07e50h ; e8 93 fd 12163 12125 mov ah, al ; 88 c4 12164 12126 test al, al ; 84 c0 12165 jne short 08 14fh ; 75 1512127 jne short 080d8h ; 75 15 12166 12128 mov es, [bp+006h] ; 8e 46 06 12167 12129 mov word [es:si+018h], di ; 26 89 7c 18 … … 12177 12139 pop bp ; 5d 12178 12140 retn 00004h ; c2 04 00 12179 scsi_cmd_packet_: ; 0xf8 15cLB 0x16812141 scsi_cmd_packet_: ; 0xf80e5 LB 0x168 12180 12142 push bp ; 55 12181 12143 mov bp, sp ; 89 e5 … … 12189 12151 mov dx, strict word 0000eh ; ba 0e 00 12190 12152 mov ax, strict word 00040h ; b8 40 00 12191 call 0166ch ; e8 f4 9412153 call 0166ch ; e8 6b 95 12192 12154 mov si, 00122h ; be 22 01 12193 12155 mov word [bp-00ah], ax ; 89 46 f6 12194 12156 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12195 jne short 081 a3h ; 75 1f12157 jne short 0812ch ; 75 1f 12196 12158 mov bx, 00da0h ; bb a0 0d 12197 12159 mov cx, ds ; 8c d9 12198 12160 mov ax, strict word 00004h ; b8 04 00 12199 call 01923h ; e8 94 9712161 call 01923h ; e8 0b 98 12200 12162 push 00b62h ; 68 62 0b 12201 12163 push 00b72h ; 68 72 0b 12202 12164 push strict byte 00004h ; 6a 04 12203 call 01966h ; e8 cc 9712165 call 01966h ; e8 43 98 12204 12166 add sp, strict byte 00006h ; 83 c4 06 12205 12167 mov dx, strict word 00001h ; ba 01 00 12206 jmp near 082 b9h ; e9 16 0112168 jmp near 08242h ; e9 16 01 12207 12169 sub di, strict byte 00008h ; 83 ef 08 12208 12170 sal di, 002h ; c1 e7 02 … … 12218 12180 ; sub ah, ah ; 2a e4 12219 12181 test AL, strict byte 001h ; a8 01 12220 jne short 081 bfh ; 75 f712182 jne short 08148h ; 75 f7 12221 12183 xor ax, ax ; 31 c0 12222 12184 mov dx, word [bp+006h] ; 8b 56 06 … … 12234 12196 shr dx, 1 ; d1 ea 12235 12197 rcr ax, 1 ; d1 d8 12236 loop 081 eah ; e2 fa12198 loop 08173h ; e2 fa 12237 12199 and ax, 000f0h ; 25 f0 00 12238 12200 mov cl, byte [bp-006h] ; 8a 4e fa … … 12253 12215 shr dx, 1 ; d1 ea 12254 12216 rcr ax, 1 ; d1 d8 12255 loop 08 212h ; e2 fa12217 loop 0819bh ; e2 fa 12256 12218 mov dx, bx ; 89 da 12257 12219 out DX, AL ; ee … … 12260 12222 xor ah, ah ; 30 e4 12261 12223 cmp cx, ax ; 39 c1 12262 jnc short 08 234h ; 73 0e12224 jnc short 081bdh ; 73 0e 12263 12225 les di, [bp-00eh] ; c4 7e f2 12264 12226 add di, cx ; 01 cf … … 12267 12229 out DX, AL ; ee 12268 12230 inc cx ; 41 12269 jmp short 08 21dh ; eb e912231 jmp short 081a6h ; eb e9 12270 12232 mov dx, bx ; 89 da 12271 12233 in AL, DX ; ec … … 12273 12235 ; sub ah, ah ; 2a e4 12274 12236 test AL, strict byte 001h ; a8 01 12275 jne short 08 234h ; 75 f712237 jne short 081bdh ; 75 f7 12276 12238 test AL, strict byte 002h ; a8 02 12277 je short 08 24fh ; 74 0e12239 je short 081d8h ; 74 0e 12278 12240 lea dx, [bx+003h] ; 8d 57 03 12279 12241 xor al, al ; 30 c0 … … 12283 12245 ; sub ah, ah ; 2a e4 12284 12246 mov dx, strict word 00003h ; ba 03 00 12285 jmp short 082 b9h ; eb 6a12247 jmp short 08242h ; eb 6a 12286 12248 mov ax, word [bp+004h] ; 8b 46 04 12287 12249 test ax, ax ; 85 c0 12288 je short 08 25eh ; 74 0812250 je short 081e7h ; 74 08 12289 12251 lea dx, [bx+001h] ; 8d 57 01 12290 12252 mov cx, ax ; 89 c1 12291 12253 in AL, DX ; ec 12292 loop 08 25bh ; e2 fd12254 loop 081e4h ; e2 fd 12293 12255 mov ax, word [bp+006h] ; 8b 46 06 12294 12256 mov es, [bp-00ah] ; 8e 46 f6 … … 12298 12260 lea ax, [bx+001h] ; 8d 47 01 12299 12261 cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00 12300 jne short 082 7fh ; 75 0712262 jne short 08208h ; 75 07 12301 12263 cmp word [bp+006h], 08000h ; 81 7e 06 00 80 12302 jbe short 082 9ch ; 76 1d12264 jbe short 08225h ; 76 1d 12303 12265 mov dx, ax ; 89 c2 12304 12266 mov cx, 08000h ; b9 00 80 … … 12310 12272 add ax, 00800h ; 05 00 08 12311 12273 mov word [bp+00eh], ax ; 89 46 0e 12312 jmp short 08 26fh ; eb d312274 jmp short 081f8h ; eb d3 12313 12275 mov dx, ax ; 89 c2 12314 12276 mov cx, word [bp+006h] ; 8b 4e 06 … … 12317 12279 mov es, [bp-00ah] ; 8e 46 f6 12318 12280 cmp word [es:si+020h], strict byte 00000h ; 26 83 7c 20 00 12319 je short 082 b7h ; 74 0712281 je short 08240h ; 74 07 12320 12282 mov cx, word [es:si+020h] ; 26 8b 4c 20 12321 12283 in AL, DX ; ec 12322 loop 082 b4h ; e2 fd12284 loop 0823dh ; e2 fd 12323 12285 xor dx, dx ; 31 d2 12324 12286 mov ax, dx ; 89 d0 … … 12328 12290 pop bp ; 5d 12329 12291 retn 0000ch ; c2 0c 00 12330 scsi_enumerate_attached_devices_: ; 0xf82 c4LB 0x4a612292 scsi_enumerate_attached_devices_: ; 0xf824d LB 0x4a6 12331 12293 push bp ; 55 12332 12294 mov bp, sp ; 89 e5 … … 12340 12302 mov dx, strict word 0000eh ; ba 0e 00 12341 12303 mov ax, strict word 00040h ; b8 40 00 12342 call 0166ch ; e8 92 9312304 call 0166ch ; e8 09 94 12343 12305 mov di, 00122h ; bf 22 01 12344 12306 mov word [bp-020h], ax ; 89 46 e0 12345 12307 mov word [bp-022h], strict word 00000h ; c7 46 de 00 00 12346 jmp near 086 e8h ; e9 00 0412308 jmp near 08671h ; e9 00 04 12347 12309 cmp AL, strict byte 004h ; 3c 04 12348 jc short 082 efh ; 72 0312349 jmp near 08 760h ; e9 71 0412310 jc short 08278h ; 72 03 12311 jmp near 086e9h ; e9 71 04 12350 12312 mov cx, strict word 00010h ; b9 10 00 12351 12313 xor bx, bx ; 31 db 12352 12314 mov dx, ss ; 8c d2 12353 12315 lea ax, [bp-046h] ; 8d 46 ba 12354 call 0 a03ah ; e8 3e1d12316 call 09fbah ; e8 35 1d 12355 12317 mov byte [bp-046h], 09eh ; c6 46 ba 9e 12356 12318 mov byte [bp-045h], 010h ; c6 46 bb 10 … … 12367 12329 lea bx, [bp-046h] ; 8d 5e ba 12368 12330 mov ax, word [bp-00248h] ; 8b 86 b8 fd 12369 call 07d f2h ; e8 cd fa12331 call 07d7bh ; e8 cd fa 12370 12332 test al, al ; 84 c0 12371 je short 08 337h ; 74 0e12333 je short 082c0h ; 74 0e 12372 12334 push 00b92h ; 68 92 0b 12373 12335 push 00bcbh ; 68 cb 0b 12374 12336 push strict byte 00007h ; 6a 07 12375 call 01966h ; e8 329612337 call 01966h ; e8 a9 96 12376 12338 add sp, strict byte 00006h ; 83 c4 06 12377 12339 mov ax, word [bp-00240h] ; 8b 86 c0 fd … … 12405 12367 sal ax, 1 ; d1 e0 12406 12368 rcl dx, 1 ; d1 d2 12407 loop 083 86h ; e2 fa12369 loop 0830fh ; e2 fa 12408 12370 or bx, ax ; 09 c3 12409 12371 or dx, si ; 09 f2 … … 12413 12375 mov word [bp-028h], bx ; 89 5e d8 12414 12376 test dx, dx ; 85 d2 12415 jne short 083 a5h ; 75 0612377 jne short 0832eh ; 75 06 12416 12378 cmp bx, 00200h ; 81 fb 00 02 12417 je short 083 c5h ; 74 2012379 je short 0834eh ; 74 20 12418 12380 mov bx, 00da0h ; bb a0 0d 12419 12381 mov cx, ds ; 8c d9 12420 12382 mov ax, strict word 00004h ; b8 04 00 12421 call 01923h ; e8 739512383 call 01923h ; e8 ea 95 12422 12384 push dx ; 52 12423 12385 push word [bp-028h] ; ff 76 d8 … … 12425 12387 push 00beah ; 68 ea 0b 12426 12388 push strict byte 00004h ; 6a 04 12427 call 01966h ; e8 a7 9512389 call 01966h ; e8 1e 96 12428 12390 add sp, strict byte 0000ah ; 83 c4 0a 12429 jmp near 086 dch ; e9 17 0312391 jmp near 08665h ; e9 17 03 12430 12392 mov al, byte [bp-00ch] ; 8a 46 f4 12431 12393 cmp AL, strict byte 001h ; 3c 01 12432 jc short 083 d8h ; 72 0c12433 jbe short 083 e0h ; 76 1212394 jc short 08361h ; 72 0c 12395 jbe short 08369h ; 76 12 12434 12396 cmp AL, strict byte 003h ; 3c 03 12435 je short 083 e8h ; 74 1612397 je short 08371h ; 74 16 12436 12398 cmp AL, strict byte 002h ; 3c 02 12437 je short 083 e4h ; 74 0e12438 jmp short 08 431h ; eb 5912399 je short 0836dh ; 74 0e 12400 jmp short 083bah ; eb 59 12439 12401 test al, al ; 84 c0 12440 jne short 08 431h ; 75 5512402 jne short 083bah ; 75 55 12441 12403 mov BL, strict byte 090h ; b3 90 12442 jmp short 083 eah ; eb 0a12404 jmp short 08373h ; eb 0a 12443 12405 mov BL, strict byte 098h ; b3 98 12444 jmp short 083 eah ; eb 0612406 jmp short 08373h ; eb 06 12445 12407 mov BL, strict byte 0a0h ; b3 a0 12446 jmp short 083 eah ; eb 0212408 jmp short 08373h ; eb 02 12447 12409 mov BL, strict byte 0a8h ; b3 a8 12448 12410 mov cl, bl ; 88 d9 … … 12450 12412 xor ch, ch ; 30 ed 12451 12413 mov ax, cx ; 89 c8 12452 call 016ach ; e8 b6 9212414 call 016ach ; e8 2d 93 12453 12415 test al, al ; 84 c0 12454 je short 08 431h ; 74 3712416 je short 083bah ; 74 37 12455 12417 mov al, bl ; 88 d8 12456 12418 db 0feh, 0c0h 12457 12419 ; inc al ; fe c0 12458 12420 xor ah, ah ; 30 e4 12459 call 016ach ; e8 a9 9212421 call 016ach ; e8 20 93 12460 12422 xor ah, ah ; 30 e4 12461 12423 mov dx, ax ; 89 c2 12462 12424 sal dx, 008h ; c1 e2 08 12463 12425 mov al, bl ; 88 d8 12464 call 016ach ; e8 9d 9212426 call 016ach ; e8 14 93 12465 12427 xor ah, ah ; 30 e4 12466 12428 add ax, dx ; 01 d0 … … 12470 12432 add AL, strict byte 002h ; 04 02 12471 12433 xor ah, ah ; 30 e4 12472 call 016ach ; e8 8d 9212434 call 016ach ; e8 04 93 12473 12435 xor ah, ah ; 30 e4 12474 12436 mov word [bp-018h], ax ; 89 46 e8 12475 12437 mov ax, cx ; 89 c8 12476 call 016ach ; e8 839212438 call 016ach ; e8 fa 92 12477 12439 xor ah, ah ; 30 e4 12478 12440 mov word [bp-026h], ax ; 89 46 da 12479 jmp near 08 51fh ; e9 ee 0012441 jmp near 084a8h ; e9 ee 00 12480 12442 mov ax, word [bp-012h] ; 8b 46 ee 12481 12443 mov bx, word [bp-010h] ; 8b 5e f0 … … 12483 12445 mov dx, word [bp-014h] ; 8b 56 ec 12484 12446 mov si, strict word 0000ch ; be 0c 00 12485 call 0 a02ah ; e8 e71b12447 call 09faah ; e8 de 1b 12486 12448 mov word [bp-02ah], ax ; 89 46 d6 12487 12449 mov word [bp-016h], bx ; 89 5e ea … … 12490 12452 mov ax, word [bp-012h] ; 8b 46 ee 12491 12453 test ax, ax ; 85 c0 12492 jnbe short 08 46bh ; 77 1512493 je short 08 45bh ; 74 0312494 jmp near 084 e0h ; e9 85 0012454 jnbe short 083f4h ; 77 15 12455 je short 083e4h ; 74 03 12456 jmp near 08469h ; e9 85 00 12495 12457 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 12496 jnbe short 08 46bh ; 77 0a12497 jne short 08 458h ; 75 f512458 jnbe short 083f4h ; 77 0a 12459 jne short 083e1h ; 75 f5 12498 12460 cmp word [bp-01ch], strict byte 00040h ; 83 7e e4 40 12499 jnbe short 08 46bh ; 77 0212500 jne short 084 e0h ; 75 7512461 jnbe short 083f4h ; 77 02 12462 jne short 08469h ; 75 75 12501 12463 mov word [bp-018h], 000ffh ; c7 46 e8 ff 00 12502 12464 mov word [bp-026h], strict word 0003fh ; c7 46 da 3f 00 … … 12505 12467 mov dx, word [bp-014h] ; 8b 56 ec 12506 12468 mov si, strict word 00006h ; be 06 00 12507 call 0 a02ah ; e8 a61b12469 call 09faah ; e8 9d 1b 12508 12470 mov si, word [bp-01eh] ; 8b 76 e2 12509 12471 add si, dx ; 01 d6 … … 12523 12485 mov dx, si ; 89 f2 12524 12486 mov si, strict word 00008h ; be 08 00 12525 call 0 a02ah ; e8 761b12487 call 09faah ; e8 6d 1b 12526 12488 mov word [bp-02eh], bx ; 89 5e d2 12527 12489 mov word [bp-030h], cx ; 89 4e d0 … … 12532 12494 mov dx, word [bp-036h] ; 8b 56 ca 12533 12495 mov si, strict word 00010h ; be 10 00 12534 call 0 a02ah ; e8 5b1b12496 call 09faah ; e8 52 1b 12535 12497 mov si, word [bp-032h] ; 8b 76 ce 12536 12498 add si, dx ; 01 d6 … … 12539 12501 mov ax, word [bp-02eh] ; 8b 46 d2 12540 12502 adc ax, bx ; 11 d8 12541 jmp short 08 51fh ; eb 3f12503 jmp short 084a8h ; eb 3f 12542 12504 test ax, ax ; 85 c0 12543 jnbe short 084 f6h ; 77 1212544 jne short 08 502h ; 75 1c12505 jnbe short 0847fh ; 77 12 12506 jne short 0848bh ; 75 1c 12545 12507 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 12546 jnbe short 084 f6h ; 77 0a12547 jne short 08 502h ; 75 1412508 jnbe short 0847fh ; 77 0a 12509 jne short 0848bh ; 75 14 12548 12510 cmp word [bp-01ch], strict byte 00020h ; 83 7e e4 20 12549 jnbe short 084 f6h ; 77 0212550 jne short 08 502h ; 75 0c12511 jnbe short 0847fh ; 77 02 12512 jne short 0848bh ; 75 0c 12551 12513 mov word [bp-018h], 00080h ; c7 46 e8 80 00 12552 12514 mov word [bp-026h], strict word 00020h ; c7 46 da 20 00 12553 jmp short 08 51bh ; eb 1912515 jmp short 084a4h ; eb 19 12554 12516 mov word [bp-018h], strict word 00040h ; c7 46 e8 40 00 12555 12517 mov word [bp-026h], strict word 00020h ; c7 46 da 20 00 … … 12558 12520 mov dx, word [bp-014h] ; 8b 56 ec 12559 12521 mov si, strict word 0000bh ; be 0b 00 12560 call 0 a02ah ; e8 0f1b12522 call 09faah ; e8 06 1b 12561 12523 mov si, dx ; 89 d6 12562 12524 mov dx, cx ; 89 ca … … 12593 12555 mov word [es:bx+034h], ax ; 26 89 47 34 12594 12556 test dx, dx ; 85 d2 12595 jne short 085 91h ; 75 0612557 jne short 0851ah ; 75 06 12596 12558 cmp si, 00400h ; 81 fe 00 04 12597 jbe short 085 9fh ; 76 0e12559 jbe short 08528h ; 76 0e 12598 12560 mov word [es:bx+02ch], 00400h ; 26 c7 47 2c 00 04 12599 12561 mov word [es:bx+032h], 00400h ; 26 c7 47 32 00 04 12600 jmp short 085 a7h ; eb 0812562 jmp short 08530h ; eb 08 12601 12563 mov word [es:bx+02ch], si ; 26 89 77 2c 12602 12564 mov word [es:bx+032h], si ; 26 89 77 32 … … 12604 12566 mov cx, ds ; 8c d9 12605 12567 mov ax, strict word 00004h ; b8 04 00 12606 call 01923h ; e8 719312568 call 01923h ; e8 e8 93 12607 12569 push word [bp-012h] ; ff 76 ee 12608 12570 push word [bp-010h] ; ff 76 f0 … … 12619 12581 push 00c18h ; 68 18 0c 12620 12582 push strict byte 00004h ; 6a 04 12621 call 01966h ; e8 8f 9312583 call 01966h ; e8 06 94 12622 12584 add sp, strict byte 00018h ; 83 c4 18 12623 12585 mov al, byte [bp-00eh] ; 8a 46 f2 … … 12647 12609 mov dx, strict word 00075h ; ba 75 00 12648 12610 mov ax, strict word 00040h ; b8 40 00 12649 call 01650h ; e8 259012611 call 01650h ; e8 9c 90 12650 12612 mov bl, al ; 88 c3 12651 12613 db 0feh, 0c3h … … 12654 12616 mov dx, strict word 00075h ; ba 75 00 12655 12617 mov ax, strict word 00040h ; b8 40 00 12656 call 0165eh ; e8 249012618 call 0165eh ; e8 9b 90 12657 12619 inc byte [bp-00ch] ; fe 46 f4 12658 jmp near 086 d1h ; e9 91 0012620 jmp near 0865ah ; e9 91 00 12659 12621 mov bx, 00da0h ; bb a0 0d 12660 12622 mov cx, ds ; 8c d9 12661 12623 mov ax, strict word 00004h ; b8 04 00 12662 call 01923h ; e8 d8 9212624 call 01923h ; e8 4f 93 12663 12625 push word [bp-022h] ; ff 76 de 12664 12626 mov al, byte [bp-00ch] ; 8a 46 f4 … … 12667 12629 push 00c46h ; 68 46 0c 12668 12630 push strict byte 00004h ; 6a 04 12669 call 01966h ; e8 0a9312631 call 01966h ; e8 81 93 12670 12632 add sp, strict byte 00008h ; 83 c4 08 12671 12633 mov al, byte [bp-00ch] ; 8a 46 f4 … … 12673 12635 mov byte [bp-00eh], al ; 88 46 f2 12674 12636 test byte [bp-00245h], 080h ; f6 86 bb fd 80 12675 je short 08 673h ; 74 0512637 je short 085fch ; 74 05 12676 12638 mov dx, strict word 00001h ; ba 01 00 12677 jmp short 08 675h ; eb 0212639 jmp short 085feh ; eb 02 12678 12640 xor dx, dx ; 31 d2 12679 12641 mov al, byte [bp-00ch] ; 8a 46 f4 … … 12711 12673 inc word [bp-022h] ; ff 46 de 12712 12674 cmp word [bp-022h], strict byte 00010h ; 83 7e de 10 12713 jl short 086 e8h ; 7c 0312714 jmp near 08 760h ; e9 78 0012675 jl short 08671h ; 7c 03 12676 jmp near 086e9h ; e9 78 00 12715 12677 mov byte [bp-046h], 012h ; c6 46 ba 12 12716 12678 xor al, al ; 30 c0 … … 12731 12693 lea bx, [bp-046h] ; 8d 5e ba 12732 12694 mov ax, word [bp-00248h] ; 8b 86 b8 fd 12733 call 07d f2h ; e8 d7 f612695 call 07d7bh ; e8 d7 f6 12734 12696 test al, al ; 84 c0 12735 je short 08 72dh ; 74 0e12697 je short 086b6h ; 74 0e 12736 12698 push 00b92h ; 68 92 0b 12737 12699 push 00bb2h ; 68 b2 0b 12738 12700 push strict byte 00007h ; 6a 07 12739 call 01966h ; e8 3c9212701 call 01966h ; e8 b3 92 12740 12702 add sp, strict byte 00006h ; 83 c4 06 12741 12703 mov es, [bp-020h] ; 8e 46 e0 … … 12743 12705 mov byte [bp-00ch], al ; 88 46 f4 12744 12706 test byte [bp-00246h], 0e0h ; f6 86 ba fd e0 12745 jne short 08 749h ; 75 0a12707 jne short 086d2h ; 75 0a 12746 12708 test byte [bp-00246h], 01fh ; f6 86 ba fd 1f 12747 jne short 08 749h ; 75 0312748 jmp near 082 e8h ; e9 9f fb12709 jne short 086d2h ; 75 03 12710 jmp near 08271h ; e9 9f fb 12749 12711 test byte [bp-00246h], 0e0h ; f6 86 ba fd e0 12750 jne short 086 d1h ; 75 8112712 jne short 0865ah ; 75 81 12751 12713 mov al, byte [bp-00246h] ; 8a 86 ba fd 12752 12714 and AL, strict byte 01fh ; 24 1f 12753 12715 cmp AL, strict byte 005h ; 3c 05 12754 jne short 08 75dh ; 75 0312755 jmp near 08 640h ; e9 e3 fe12756 jmp near 086 d1h ; e9 71 ff12716 jne short 086e6h ; 75 03 12717 jmp near 085c9h ; e9 e3 fe 12718 jmp near 0865ah ; e9 71 ff 12757 12719 lea sp, [bp-00ah] ; 8d 66 f6 12758 12720 pop di ; 5f … … 12763 12725 pop bp ; 5d 12764 12726 retn ; c3 12765 _scsi_init: ; 0xf8 76aLB 0x6612727 _scsi_init: ; 0xf86f3 LB 0x66 12766 12728 push bp ; 55 12767 12729 mov bp, sp ; 89 e5 12768 12730 mov dx, strict word 0000eh ; ba 0e 00 12769 12731 mov ax, strict word 00040h ; b8 40 00 12770 call 0166ch ; e8 f6 8e12732 call 0166ch ; e8 6d 8f 12771 12733 mov bx, 00122h ; bb 22 01 12772 12734 mov es, ax ; 8e c0 … … 12779 12741 ; sub ah, ah ; 2a e4 12780 12742 cmp AL, strict byte 055h ; 3c 55 12781 jne short 087 9ah ; 75 0c12743 jne short 08723h ; 75 0c 12782 12744 xor al, al ; 30 c0 12783 12745 mov dx, 00433h ; ba 33 04 12784 12746 out DX, AL ; ee 12785 12747 mov ax, 00430h ; b8 30 04 12786 call 082 c4h ; e8 2a fb12748 call 0824dh ; e8 2a fb 12787 12749 mov AL, strict byte 055h ; b0 55 12788 12750 mov dx, 00436h ; ba 36 04 … … 12792 12754 ; sub ah, ah ; 2a e4 12793 12755 cmp AL, strict byte 055h ; 3c 55 12794 jne short 087 b3h ; 75 0c12756 jne short 0873ch ; 75 0c 12795 12757 xor al, al ; 30 c0 12796 12758 mov dx, 00437h ; ba 37 04 12797 12759 out DX, AL ; ee 12798 12760 mov ax, 00434h ; b8 34 04 12799 call 082 c4h ; e8 11 fb12761 call 0824dh ; e8 11 fb 12800 12762 mov AL, strict byte 055h ; b0 55 12801 12763 mov dx, 0043ah ; ba 3a 04 … … 12805 12767 ; sub ah, ah ; 2a e4 12806 12768 cmp AL, strict byte 055h ; 3c 55 12807 jne short 087 cch ; 75 0c12769 jne short 08755h ; 75 0c 12808 12770 xor al, al ; 30 c0 12809 12771 mov dx, 0043bh ; ba 3b 04 12810 12772 out DX, AL ; ee 12811 12773 mov ax, 00438h ; b8 38 04 12812 call 082 c4h ; e8 f8 fa12774 call 0824dh ; e8 f8 fa 12813 12775 mov sp, bp ; 89 ec 12814 12776 pop bp ; 5d 12815 12777 retn ; c3 12816 ahci_ctrl_extract_bits_: ; 0xf87 d0LB 0x1c12778 ahci_ctrl_extract_bits_: ; 0xf8759 LB 0x1c 12817 12779 push si ; 56 12818 12780 push bp ; 55 … … 12823 12785 mov cl, byte [bp+006h] ; 8a 4e 06 12824 12786 xor ch, ch ; 30 ed 12825 jcxz 087 e7h ; e3 0612787 jcxz 08770h ; e3 06 12826 12788 shr dx, 1 ; d1 ea 12827 12789 rcr ax, 1 ; d1 d8 12828 loop 087 e1h ; e2 fa12790 loop 0876ah ; e2 fa 12829 12791 pop bp ; 5d 12830 12792 pop si ; 5e 12831 12793 retn 00002h ; c2 02 00 12832 ahci_addr_to_phys_: ; 0xf87 ecLB 0x1e12794 ahci_addr_to_phys_: ; 0xf8775 LB 0x1e 12833 12795 push bx ; 53 12834 12796 push cx ; 51 … … 12841 12803 sal ax, 1 ; d1 e0 12842 12804 rcl dx, 1 ; d1 d2 12843 loop 087 fah ; e2 fa12805 loop 08783h ; e2 fa 12844 12806 xor cx, cx ; 31 c9 12845 12807 add ax, bx ; 01 d8 … … 12849 12811 pop bx ; 5b 12850 12812 retn ; c3 12851 ahci_port_cmd_sync_: ; 0xf8 80aLB 0x15612813 ahci_port_cmd_sync_: ; 0xf8793 LB 0x156 12852 12814 push bp ; 55 12853 12815 mov bp, sp ; 89 e5 … … 12864 12826 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 12865 12827 cmp AL, strict byte 0ffh ; 3c ff 12866 jne short 08 82dh ; 75 0312867 jmp near 08 958h ; e9 2b 0112828 jne short 087b6h ; 75 03 12829 jmp near 088e1h ; e9 2b 01 12868 12830 mov al, byte [es:si+00263h] ; 26 8a 84 63 02 12869 12831 xor ah, ah ; 30 e4 … … 12878 12840 lea ax, [si+00080h] ; 8d 84 80 00 12879 12841 mov dx, cx ; 89 ca 12880 call 087 ech ; e8 92 ff12842 call 08775h ; e8 92 ff 12881 12843 mov es, cx ; 8e c1 12882 12844 mov word [es:si+008h], ax ; 26 89 44 08 … … 12944 12906 xchg dx, ax ; 92 12945 12907 test dh, 040h ; f6 c6 40 12946 jne short 088 ebh ; 75 0412908 jne short 08874h ; 75 04 12947 12909 test AL, strict byte 001h ; a8 01 12948 je short 088 efh ; 74 0412910 je short 08878h ; 74 04 12949 12911 mov AL, strict byte 001h ; b0 01 12950 jmp short 088 f1h ; eb 0212912 jmp short 0887ah ; eb 02 12951 12913 xor al, al ; 30 c0 12952 12914 test al, al ; 84 c0 12953 je short 088 beh ; 74 c912915 je short 08847h ; 74 c9 12954 12916 mov al, byte [bp-008h] ; 8a 46 f8 12955 12917 xor ah, ah ; 30 e4 … … 13007 12969 pop bp ; 5d 13008 12970 retn ; c3 13009 ahci_cmd_data_: ; 0xf8 960LB 0x26712971 ahci_cmd_data_: ; 0xf88e9 LB 0x267 13010 12972 push bp ; 55 13011 12973 mov bp, sp ; 89 e5 … … 13032 12994 mov ax, 00080h ; b8 80 00 13033 12995 mov dx, word [bp-00ah] ; 8b 56 f6 13034 call 0 a03ah ; e8 9c1612996 call 09fbah ; e8 93 16 13035 12997 mov es, [bp-00ah] ; 8e 46 f6 13036 12998 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 13050 13012 mov dx, word [es:si] ; 26 8b 14 13051 13013 mov si, strict word 00008h ; be 08 00 13052 call 0 a02ah ; e8 481613014 call 09faah ; e8 3f 16 13053 13015 mov es, [bp-00ah] ; 8e 46 f6 13054 13016 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 13061 13023 mov dx, word [es:si] ; 26 8b 14 13062 13024 mov si, strict word 00010h ; be 10 00 13063 call 0 a02ah ; e8 221613025 call 09faah ; e8 19 16 13064 13026 mov es, [bp-00ah] ; 8e 46 f6 13065 13027 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 13073 13035 mov dx, word [es:si] ; 26 8b 14 13074 13036 mov si, strict word 00018h ; be 18 00 13075 call 0 a02ah ; e8 f61513037 call 09faah ; e8 ed 15 13076 13038 mov es, [bp-00ah] ; 8e 46 f6 13077 13039 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 13084 13046 mov dx, word [es:si] ; 26 8b 14 13085 13047 mov si, strict word 00020h ; be 20 00 13086 call 0 a02ah ; e8 d01513048 call 09faah ; e8 c7 15 13087 13049 mov es, [bp-00ah] ; 8e 46 f6 13088 13050 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 13095 13057 mov dx, word [es:si] ; 26 8b 14 13096 13058 mov si, strict word 00028h ; be 28 00 13097 call 0 a02ah ; e8 aa1513059 call 09faah ; e8 a1 15 13098 13060 mov es, [bp-00ah] ; 8e 46 f6 13099 13061 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 13109 13071 mov bx, word [bp-010h] ; 8b 5e f0 13110 13072 xor cx, cx ; 31 c9 13111 call 09f e9h ; e8 341513073 call 09f69h ; e8 2b 15 13112 13074 push dx ; 52 13113 13075 push ax ; 50 … … 13119 13081 mov ax, 0026ah ; b8 6a 02 13120 13082 mov dx, word [bp-00ah] ; 8b 56 f6 13121 call 09 f01h ; e8 301413083 call 09e85h ; e8 2b 14 13122 13084 mov es, [bp-00ah] ; 8e 46 f6 13123 13085 mov dx, word [es:di+0027eh] ; 26 8b 95 7e 02 … … 13142 13104 mov ax, word [es:bx+020h] ; 26 8b 47 20 13143 13105 test ax, ax ; 85 c0 13144 je short 08 b63h ; 74 3b13106 je short 08aech ; 74 3b 13145 13107 dec ax ; 48 13146 13108 mov es, [bp-00ah] ; 8e 46 f6 … … 13160 13122 mov al, byte [bp-008h] ; 8a 46 f8 13161 13123 cmp AL, strict byte 035h ; 3c 35 13162 jne short 08 b70h ; 75 0613124 jne short 08af9h ; 75 06 13163 13125 mov byte [bp-008h], 040h ; c6 46 f8 40 13164 jmp short 08b 87h ; eb 1713126 jmp short 08b10h ; eb 17 13165 13127 cmp AL, strict byte 0a0h ; 3c a0 13166 jne short 08b 83h ; 75 0f13128 jne short 08b0ch ; 75 0f 13167 13129 or byte [bp-008h], 020h ; 80 4e f8 20 13168 13130 les bx, [bp-00eh] ; c4 5e f2 13169 13131 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 13170 jmp short 08b 87h ; eb 0413132 jmp short 08b10h ; eb 04 13171 13133 mov byte [bp-008h], 000h ; c6 46 f8 00 13172 13134 or byte [bp-008h], 005h ; 80 4e f8 05 … … 13175 13137 mov ax, word [bp-00eh] ; 8b 46 f2 13176 13138 mov dx, word [bp-00ch] ; 8b 56 f4 13177 call 08 80ah ; e8 71 fc13139 call 08793h ; e8 71 fc 13178 13140 mov cx, word [bp-00ch] ; 8b 4e f4 13179 13141 mov bx, word [bp-00eh] ; 8b 5e f2 … … 13182 13144 add ax, 0026ah ; 05 6a 02 13183 13145 mov dx, cx ; 89 ca 13184 call 09 f78h ; e8 ca1313146 call 09efch ; e8 c5 13 13185 13147 mov es, cx ; 8e c1 13186 13148 mov al, byte [es:bx+003h] ; 26 8a 47 03 13187 13149 test al, al ; 84 c0 13188 je short 08b bdh ; 74 0513150 je short 08b46h ; 74 05 13189 13151 mov ax, strict word 00004h ; b8 04 00 13190 jmp short 08b bfh ; eb 0213152 jmp short 08b48h ; eb 02 13191 13153 xor ah, ah ; 30 e4 13192 13154 lea sp, [bp-006h] ; 8d 66 fa … … 13196 13158 pop bp ; 5d 13197 13159 retn ; c3 13198 ahci_port_deinit_current_: ; 0xf8b c7LB 0x18013160 ahci_port_deinit_current_: ; 0xf8b50 LB 0x180 13199 13161 push bp ; 55 13200 13162 mov bp, sp ; 89 e5 … … 13211 13173 mov byte [bp-00ah], al ; 88 46 f6 13212 13174 cmp AL, strict byte 0ffh ; 3c ff 13213 je short 08 c48h ; 74 5f13175 je short 08bd1h ; 74 5f 13214 13176 xor ah, ah ; 30 e4 13215 13177 sal ax, 007h ; c1 e0 07 … … 13255 13217 xchg dx, ax ; 92 13256 13218 test ax, 0c011h ; a9 11 c0 13257 je short 08 c4bh ; 74 0713219 je short 08bd4h ; 74 07 13258 13220 mov AL, strict byte 001h ; b0 01 13259 jmp short 08 c4dh ; eb 0513260 jmp near 08 d3eh ; e9 f3 0013221 jmp short 08bd6h ; eb 05 13222 jmp near 08cc7h ; e9 f3 00 13261 13223 xor al, al ; 30 c0 13262 13224 cmp AL, strict byte 001h ; 3c 01 13263 je short 08 c1bh ; 74 ca13225 je short 08ba4h ; 74 ca 13264 13226 mov cx, strict word 00020h ; b9 20 00 13265 13227 xor bx, bx ; 31 db 13266 13228 mov ax, di ; 89 f8 13267 13229 mov dx, word [bp-00eh] ; 8b 56 f2 13268 call 0 a03ah ; e8 dc1313230 call 09fbah ; e8 d3 13 13269 13231 lea ax, [di+00080h] ; 8d 85 80 00 13270 13232 mov cx, strict word 00040h ; b9 40 00 13271 13233 xor bx, bx ; 31 db 13272 13234 mov dx, word [bp-00eh] ; 8b 56 f2 13273 call 0 a03ah ; e8 cd1313235 call 09fbah ; e8 c4 13 13274 13236 lea ax, [di+00200h] ; 8d 85 00 02 13275 13237 mov cx, strict word 00060h ; b9 60 00 13276 13238 xor bx, bx ; 31 db 13277 13239 mov dx, word [bp-00eh] ; 8b 56 f2 13278 call 0 a03ah ; e8 be1313240 call 09fbah ; e8 b5 13 13279 13241 mov al, byte [bp-00ah] ; 8a 46 f6 13280 13242 xor ah, ah ; 30 e4 … … 13381 13343 pop bp ; 5d 13382 13344 retn ; c3 13383 ahci_port_init_: ; 0xf8 d47LB 0x24d13345 ahci_port_init_: ; 0xf8cd0 LB 0x24d 13384 13346 push bp ; 55 13385 13347 mov bp, sp ; 89 e5 … … 13391 13353 mov word [bp-00ah], dx ; 89 56 f6 13392 13354 mov byte [bp-008h], bl ; 88 5e f8 13393 call 08b c7h ; e8 6c fe13355 call 08b50h ; e8 6c fe 13394 13356 mov al, bl ; 88 d8 13395 13357 xor ah, ah ; 30 e4 … … 13440 13402 xchg dx, ax ; 92 13441 13403 test ax, 0c011h ; a9 11 c0 13442 je short 08d cch ; 74 0413404 je short 08d55h ; 74 04 13443 13405 mov AL, strict byte 001h ; b0 01 13444 jmp short 08d ceh ; eb 0213406 jmp short 08d57h ; eb 02 13445 13407 xor al, al ; 30 c0 13446 13408 cmp AL, strict byte 001h ; 3c 01 13447 je short 08d 97h ; 74 c513409 je short 08d20h ; 74 c5 13448 13410 mov cx, strict word 00020h ; b9 20 00 13449 13411 xor bx, bx ; 31 db 13450 13412 mov ax, si ; 89 f0 13451 13413 mov dx, word [bp-00ah] ; 8b 56 f6 13452 call 0 a03ah ; e8 5b1213414 call 09fbah ; e8 52 12 13453 13415 lea ax, [si+00080h] ; 8d 84 80 00 13454 13416 mov cx, strict word 00040h ; b9 40 00 13455 13417 xor bx, bx ; 31 db 13456 13418 mov dx, word [bp-00ah] ; 8b 56 f6 13457 call 0 a03ah ; e8 4c1213419 call 09fbah ; e8 43 12 13458 13420 lea di, [si+00200h] ; 8d bc 00 02 13459 13421 mov cx, strict word 00060h ; b9 60 00 … … 13461 13423 mov ax, di ; 89 f8 13462 13424 mov dx, word [bp-00ah] ; 8b 56 f6 13463 call 0 a03ah ; e8 3b1213425 call 09fbah ; e8 32 12 13464 13426 mov bl, byte [bp-008h] ; 8a 5e f8 13465 13427 xor bh, bh ; 30 ff … … 13479 13441 mov ax, di ; 89 f8 13480 13442 mov dx, word [bp-00ah] ; 8b 56 f6 13481 call 087 ech ; e8 bf f913443 call 08775h ; e8 bf f9 13482 13444 mov es, [bp-00ah] ; 8e 46 f6 13483 13445 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13524 13486 mov ax, si ; 89 f0 13525 13487 mov dx, word [bp-00ah] ; 8b 56 f6 13526 call 087 ech ; e8 53 f913488 call 08775h ; e8 53 f9 13527 13489 mov es, [bp-00ah] ; 8e 46 f6 13528 13490 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13629 13591 pop bp ; 5d 13630 13592 retn ; c3 13631 @ahci_read_sectors: ; 0xf8f 94LB 0xa813593 @ahci_read_sectors: ; 0xf8f1d LB 0xa8 13632 13594 push bp ; 55 13633 13595 mov bp, sp ; 89 e5 … … 13640 13602 sub bx, strict byte 0000ch ; 83 eb 0c 13641 13603 cmp bx, strict byte 00004h ; 83 fb 04 13642 jbe short 08f bah ; 76 0f13604 jbe short 08f43h ; 76 0f 13643 13605 push bx ; 53 13644 13606 push 00c62h ; 68 62 0c 13645 13607 push 00c74h ; 68 74 0c 13646 13608 push strict byte 00007h ; 6a 07 13647 call 01966h ; e8 af 8913609 call 01966h ; e8 26 8a 13648 13610 add sp, strict byte 00008h ; 83 c4 08 13649 13611 xor di, di ; 31 ff … … 13660 13622 mov dx, word [es:di+00232h] ; 26 8b 95 32 02 13661 13623 xor ax, ax ; 31 c0 13662 call 08 d47h ; e8 60 fd13624 call 08cd0h ; e8 60 fd 13663 13625 mov bx, strict word 00025h ; bb 25 00 13664 13626 mov ax, si ; 89 f0 13665 13627 mov dx, word [bp+006h] ; 8b 56 06 13666 call 08 960h ; e8 6e f913628 call 088e9h ; e8 6e f9 13667 13629 mov word [bp-006h], ax ; 89 46 fa 13668 13630 mov es, [bp+006h] ; 8e 46 06 … … 13693 13655 pop bp ; 5d 13694 13656 retn 00004h ; c2 04 00 13695 @ahci_write_sectors: ; 0xf 903cLB 0x8613657 @ahci_write_sectors: ; 0xf8fc5 LB 0x86 13696 13658 push bp ; 55 13697 13659 mov bp, sp ; 89 e5 … … 13705 13667 sub dx, strict byte 0000ch ; 83 ea 0c 13706 13668 cmp dx, strict byte 00004h ; 83 fa 04 13707 jbe short 0 9066h ; 76 0f13669 jbe short 08fefh ; 76 0f 13708 13670 push dx ; 52 13709 13671 push 00c93h ; 68 93 0c 13710 13672 push 00c74h ; 68 74 0c 13711 13673 push strict byte 00007h ; 6a 07 13712 call 01966h ; e8 038913674 call 01966h ; e8 7a 89 13713 13675 add sp, strict byte 00008h ; 83 c4 08 13714 13676 xor bx, bx ; 31 db … … 13725 13687 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 13726 13688 xor ax, ax ; 31 c0 13727 call 08 d47h ; e8 b6 fc13689 call 08cd0h ; e8 b6 fc 13728 13690 mov bx, strict word 00035h ; bb 35 00 13729 13691 mov ax, si ; 89 f0 13730 13692 mov dx, cx ; 89 ca 13731 call 08 960h ; e8 c5 f813693 call 088e9h ; e8 c5 f8 13732 13694 mov dx, ax ; 89 c2 13733 13695 mov es, cx ; 8e c1 … … 13744 13706 pop bp ; 5d 13745 13707 retn 00004h ; c2 04 00 13746 ahci_cmd_packet_: ; 0xf90 c2LB 0x18a13708 ahci_cmd_packet_: ; 0xf904b LB 0x18a 13747 13709 push bp ; 55 13748 13710 mov bp, sp ; 89 e5 … … 13756 13718 mov dx, strict word 0000eh ; ba 0e 00 13757 13719 mov ax, strict word 00040h ; b8 40 00 13758 call 0166ch ; e8 8f 8513720 call 0166ch ; e8 06 86 13759 13721 mov si, 00122h ; be 22 01 13760 13722 mov word [bp-008h], ax ; 89 46 f8 13761 13723 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 13762 jne short 09 108h ; 75 1f13724 jne short 09091h ; 75 1f 13763 13725 mov bx, 00da0h ; bb a0 0d 13764 13726 mov cx, ds ; 8c d9 13765 13727 mov ax, strict word 00004h ; b8 04 00 13766 call 01923h ; e8 2f8813728 call 01923h ; e8 a6 88 13767 13729 push 00ca6h ; 68 a6 0c 13768 13730 push 00cb6h ; 68 b6 0c 13769 13731 push strict byte 00004h ; 6a 04 13770 call 01966h ; e8 678813732 call 01966h ; e8 de 88 13771 13733 add sp, strict byte 00006h ; 83 c4 06 13772 13734 mov ax, strict word 00001h ; b8 01 00 13773 jmp near 09 243h ; e9 3b 0113735 jmp near 091cch ; e9 3b 01 13774 13736 test byte [bp+004h], 001h ; f6 46 04 01 13775 jne short 09 102h ; 75 f413737 jne short 0908bh ; 75 f4 13776 13738 mov ax, word [bp+006h] ; 8b 46 06 13777 13739 mov dx, word [bp+008h] ; 8b 56 08 … … 13779 13741 sal ax, 1 ; d1 e0 13780 13742 rcl dx, 1 ; d1 d2 13781 loop 09 117h ; e2 fa13743 loop 090a0h ; e2 fa 13782 13744 mov es, [bp-008h] ; 8e 46 f8 13783 13745 mov word [es:si], ax ; 26 89 04 … … 13793 13755 mov dx, word [bp+008h] ; 8b 56 08 13794 13756 xor cx, cx ; 31 c9 13795 call 09f b0h ; e8 600e13757 call 09f30h ; e8 57 0e 13796 13758 mov word [es:si+00eh], ax ; 26 89 44 0e 13797 13759 xor di, di ; 31 ff … … 13812 13774 mov bx, ax ; 89 c3 13813 13775 xor al, al ; 30 c0 13814 call 08 d47h ; e8 b8 fb13776 call 08cd0h ; e8 b8 fb 13815 13777 mov al, byte [bp-006h] ; 8a 46 fa 13816 13778 xor ah, ah ; 30 e4 … … 13820 13782 mov ax, 000c0h ; b8 c0 00 13821 13783 mov dx, word [bp-00ah] ; 8b 56 f6 13822 call 0 a047h ; e8 a30e13784 call 09fc7h ; e8 9a 0e 13823 13785 mov es, [bp-008h] ; 8e 46 f8 13824 13786 mov word [es:si+018h], di ; 26 89 7c 18 … … 13827 13789 mov ax, word [es:si+01eh] ; 26 8b 44 1e 13828 13790 test ax, ax ; 85 c0 13829 je short 091 e2h ; 74 2713791 je short 0916bh ; 74 27 13830 13792 dec ax ; 48 13831 13793 mov es, [bp-00ah] ; 8e 46 f6 … … 13840 13802 mov ax, si ; 89 f0 13841 13803 mov dx, word [bp-008h] ; 8b 56 f8 13842 call 08 960h ; e8 73 f713804 call 088e9h ; e8 73 f7 13843 13805 les bx, [bp-00eh] ; c4 5e f2 13844 13806 mov dx, word [es:bx+004h] ; 26 8b 57 04 … … 13867 13829 mov ax, word [es:bx+006h] ; 26 8b 47 06 13868 13830 or ax, word [es:bx+004h] ; 26 0b 47 04 13869 jne short 09 241h ; 75 0513831 jne short 091cah ; 75 05 13870 13832 mov ax, strict word 00004h ; b8 04 00 13871 jmp short 09 243h ; eb 0213833 jmp short 091cch ; eb 02 13872 13834 xor ax, ax ; 31 c0 13873 13835 lea sp, [bp-004h] ; 8d 66 fc … … 13876 13838 pop bp ; 5d 13877 13839 retn 0000ch ; c2 0c 00 13878 ahci_port_detect_device_: ; 0xf9 24cLB 0x4e313840 ahci_port_detect_device_: ; 0xf91d5 LB 0x4e3 13879 13841 push bp ; 55 13880 13842 mov bp, sp ; 89 e5 … … 13889 13851 xor ch, ch ; 30 ed 13890 13852 mov bx, cx ; 89 cb 13891 call 08 d47h ; e8 e0 fa13853 call 08cd0h ; e8 e0 fa 13892 13854 mov dx, strict word 0000eh ; ba 0e 00 13893 13855 mov ax, strict word 00040h ; b8 40 00 13894 call 0166ch ; e8 fc 8313856 call 0166ch ; e8 73 84 13895 13857 mov word [bp-00eh], 00122h ; c7 46 f2 22 01 13896 13858 mov word [bp-016h], ax ; 89 46 ea … … 13962 13924 mov bx, strict word 0000fh ; bb 0f 00 13963 13925 xor cx, cx ; 31 c9 13964 call 087 d0h ; e8 b5 f413926 call 08759h ; e8 b5 f4 13965 13927 test ax, ax ; 85 c0 13966 jne short 09 322h ; 75 0313967 jmp near 09 727h ; e9 05 0413928 jne short 092abh ; 75 03 13929 jmp near 096b0h ; e9 05 04 13968 13930 mov al, byte [bp-00ch] ; 8a 46 f4 13969 13931 xor ah, ah ; 30 e4 … … 13994 13956 mov bx, strict word 0000fh ; bb 0f 00 13995 13957 xor cx, cx ; 31 c9 13996 call 087 d0h ; e8 67 f413958 call 08759h ; e8 67 f4 13997 13959 cmp ax, strict word 00001h ; 3d 01 00 13998 je short 09 322h ; 74 b413960 je short 092abh ; 74 b4 13999 13961 push strict byte 00000h ; 6a 00 14000 13962 mov bx, strict word 0000fh ; bb 0f 00 … … 14002 13964 mov ax, word [bp-01ah] ; 8b 46 e6 14003 13965 mov dx, di ; 89 fa 14004 call 087 d0h ; e8 53 f413966 call 08759h ; e8 53 f4 14005 13967 cmp ax, strict word 00003h ; 3d 03 00 14006 jne short 09 31fh ; 75 9d13968 jne short 092a8h ; 75 9d 14007 13969 mov ax, word [bp-01ch] ; 8b 46 e4 14008 13970 add ax, 00130h ; 05 30 01 … … 14032 13994 mov byte [bp-008h], al ; 88 46 f8 14033 13995 cmp AL, strict byte 004h ; 3c 04 14034 jc short 093 cch ; 72 0314035 jmp near 09 727h ; e9 5b 0313996 jc short 09355h ; 72 03 13997 jmp near 096b0h ; e9 5b 03 14036 13998 mov ax, word [bp-01ch] ; 8b 46 e4 14037 13999 add ax, 00118h ; 05 18 01 … … 14083 14045 add cl, 00ch ; 80 c1 0c 14084 14046 test dx, dx ; 85 d2 14085 jne short 094 92h ; 75 5414047 jne short 0941bh ; 75 54 14086 14048 cmp ax, 00101h ; 3d 01 01 14087 jne short 094 92h ; 75 4f14049 jne short 0941bh ; 75 4f 14088 14050 mov es, [bp-016h] ; 8e 46 ea 14089 14051 mov bx, word [bp-00eh] ; 8b 5e f2 … … 14100 14062 mov ax, word [bp-00eh] ; 8b 46 f2 14101 14063 mov dx, es ; 8c c2 14102 call 08 960h ; e8 dd f414064 call 088e9h ; e8 dd f4 14103 14065 mov byte [bp-00ah], cl ; 88 4e f6 14104 14066 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14105 je short 094 95h ; 74 0814067 je short 0941eh ; 74 08 14106 14068 mov ax, strict word 00001h ; b8 01 00 14107 jmp short 094 97h ; eb 0514108 jmp near 09 665h ; e9 d0 0114069 jmp short 09420h ; eb 05 14070 jmp near 095eeh ; e9 d0 01 14109 14071 xor ax, ax ; 31 c0 14110 14072 mov dl, al ; 88 c2 … … 14122 14084 mov word [bp-01eh], ax ; 89 46 e2 14123 14085 cmp word [bp-014h], 00fffh ; 81 7e ec ff 0f 14124 jne short 094 e6h ; 75 1e14086 jne short 0946fh ; 75 1e 14125 14087 cmp di, strict byte 0ffffh ; 83 ff ff 14126 jne short 094 e6h ; 75 1914088 jne short 0946fh ; 75 19 14127 14089 mov ax, word [bp-0015ch] ; 8b 86 a4 fe 14128 14090 mov word [bp-01eh], ax ; 89 46 e2 … … 14163 14125 mov al, byte [bp-008h] ; 8a 46 f8 14164 14126 cmp AL, strict byte 001h ; 3c 01 14165 jc short 09 561h ; 72 0c14166 jbe short 09 569h ; 76 1214127 jc short 094eah ; 72 0c 14128 jbe short 094f2h ; 76 12 14167 14129 cmp AL, strict byte 003h ; 3c 03 14168 je short 09 571h ; 74 1614130 je short 094fah ; 74 16 14169 14131 cmp AL, strict byte 002h ; 3c 02 14170 je short 09 56dh ; 74 0e14171 jmp short 095 b9h ; eb 5814132 je short 094f6h ; 74 0e 14133 jmp short 09542h ; eb 58 14172 14134 test al, al ; 84 c0 14173 jne short 095 b9h ; 75 5414135 jne short 09542h ; 75 54 14174 14136 mov DL, strict byte 040h ; b2 40 14175 jmp short 09 573h ; eb 0a14137 jmp short 094fch ; eb 0a 14176 14138 mov DL, strict byte 048h ; b2 48 14177 jmp short 09 573h ; eb 0614139 jmp short 094fch ; eb 06 14178 14140 mov DL, strict byte 050h ; b2 50 14179 jmp short 09 573h ; eb 0214141 jmp short 094fch ; eb 02 14180 14142 mov DL, strict byte 058h ; b2 58 14181 14143 mov bl, dl ; 88 d3 … … 14183 14145 xor bh, bh ; 30 ff 14184 14146 mov ax, bx ; 89 d8 14185 call 016ach ; e8 2d8114147 call 016ach ; e8 a4 81 14186 14148 test al, al ; 84 c0 14187 je short 095 b9h ; 74 3614149 je short 09542h ; 74 36 14188 14150 mov al, dl ; 88 d0 14189 14151 db 0feh, 0c0h 14190 14152 ; inc al ; fe c0 14191 14153 xor ah, ah ; 30 e4 14192 call 016ach ; e8 208114154 call 016ach ; e8 97 81 14193 14155 xor ah, ah ; 30 e4 14194 14156 mov cx, ax ; 89 c1 14195 14157 sal cx, 008h ; c1 e1 08 14196 14158 mov al, dl ; 88 d0 14197 call 016ach ; e8 148114159 call 016ach ; e8 8b 81 14198 14160 xor ah, ah ; 30 e4 14199 14161 add ax, cx ; 01 c8 … … 14202 14164 add AL, strict byte 002h ; 04 02 14203 14165 xor ah, ah ; 30 e4 14204 call 016ach ; e8 048114166 call 016ach ; e8 7b 81 14205 14167 xor ah, ah ; 30 e4 14206 14168 mov word [bp-02ah], ax ; 89 46 d6 14207 14169 mov ax, bx ; 89 d8 14208 call 016ach ; e8 fa 8014170 call 016ach ; e8 71 81 14209 14171 xor ah, ah ; 30 e4 14210 14172 mov word [bp-026h], ax ; 89 46 da 14211 jmp short 095 cbh ; eb 1214173 jmp short 09554h ; eb 12 14212 14174 push word [bp-01eh] ; ff 76 e2 14213 14175 push word [bp-012h] ; ff 76 ee … … 14216 14178 mov dx, ss ; 8c d2 14217 14179 lea ax, [bp-02ah] ; 8d 46 d6 14218 call 059 d2h ; e8 07c414180 call 05977h ; e8 23 c4 14219 14181 mov bx, 00da0h ; bb a0 0d 14220 14182 mov cx, ds ; 8c d9 14221 14183 mov ax, strict word 00004h ; b8 04 00 14222 call 01923h ; e8 4d8314184 call 01923h ; e8 c4 83 14223 14185 push word [bp-01eh] ; ff 76 e2 14224 14186 push word [bp-012h] ; ff 76 ee … … 14241 14203 push 00cd6h ; 68 d6 0c 14242 14204 push strict byte 00004h ; 6a 04 14243 call 01966h ; e8 5f8314205 call 01966h ; e8 d6 83 14244 14206 add sp, strict byte 0001ch ; 83 c4 1c 14245 14207 mov al, byte [bp-00ah] ; 8a 46 f6 … … 14272 14234 mov dx, strict word 00075h ; ba 75 00 14273 14235 mov ax, strict word 00040h ; b8 40 00 14274 call 01650h ; e8 fd 7f14236 call 01650h ; e8 74 80 14275 14237 mov bl, al ; 88 c3 14276 14238 db 0feh, 0c3h … … 14279 14241 mov dx, strict word 00075h ; ba 75 00 14280 14242 mov ax, strict word 00040h ; b8 40 00 14281 call 0165eh ; e8 fc 7f14282 jmp near 09 716h ; e9 b1 0014243 call 0165eh ; e8 73 80 14244 jmp near 0969fh ; e9 b1 00 14283 14245 cmp dx, 0eb14h ; 81 fa 14 eb 14284 jne short 096 bfh ; 75 5414246 jne short 09648h ; 75 54 14285 14247 cmp ax, 00101h ; 3d 01 01 14286 jne short 096 bfh ; 75 4f14248 jne short 09648h ; 75 4f 14287 14249 mov es, [bp-016h] ; 8e 46 ea 14288 14250 mov bx, word [bp-00eh] ; 8b 5e f2 … … 14299 14261 mov ax, word [bp-00eh] ; 8b 46 f2 14300 14262 mov dx, es ; 8c c2 14301 call 08 960h ; e8 b0 f214263 call 088e9h ; e8 b0 f2 14302 14264 mov byte [bp-00ah], cl ; 88 4e f6 14303 14265 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14304 je short 096 c1h ; 74 0714266 je short 0964ah ; 74 07 14305 14267 mov dx, strict word 00001h ; ba 01 00 14306 jmp short 096 c3h ; eb 0414307 jmp short 09 716h ; eb 5514268 jmp short 0964ch ; eb 04 14269 jmp short 0969fh ; eb 55 14308 14270 xor dx, dx ; 31 d2 14309 14271 mov bl, byte [bp-008h] ; 8a 5e f8 … … 14344 14306 pop bp ; 5d 14345 14307 retn ; c3 14346 ahci_mem_alloc_: ; 0xf9 72fLB 0x4314308 ahci_mem_alloc_: ; 0xf96b8 LB 0x43 14347 14309 push bp ; 55 14348 14310 mov bp, sp ; 89 e5 … … 14354 14316 mov dx, 00413h ; ba 13 04 14355 14317 xor ax, ax ; 31 c0 14356 call 0166ch ; e8 2d7f14318 call 0166ch ; e8 a4 7f 14357 14319 test ax, ax ; 85 c0 14358 je short 09 768h ; 74 2514320 je short 096f1h ; 74 25 14359 14321 dec ax ; 48 14360 14322 mov bx, ax ; 89 c3 … … 14363 14325 sal ax, 1 ; d1 e0 14364 14326 rcl dx, 1 ; d1 d2 14365 loop 09 74bh ; e2 fa14327 loop 096d4h ; e2 fa 14366 14328 mov si, ax ; 89 c6 14367 14329 mov di, dx ; 89 d7 … … 14369 14331 shr di, 1 ; d1 ef 14370 14332 rcr si, 1 ; d1 de 14371 loop 09 758h ; e2 fa14333 loop 096e1h ; e2 fa 14372 14334 mov dx, 00413h ; ba 13 04 14373 14335 xor ax, ax ; 31 c0 14374 call 0167ah ; e8 147f14336 call 0167ah ; e8 8b 7f 14375 14337 mov ax, si ; 89 f0 14376 14338 lea sp, [bp-00ah] ; 8d 66 f6 … … 14382 14344 pop bp ; 5d 14383 14345 retn ; c3 14384 ahci_hba_init_: ; 0xf9 772LB 0x16d14346 ahci_hba_init_: ; 0xf96fb LB 0x16d 14385 14347 push bp ; 55 14386 14348 mov bp, sp ; 89 e5 … … 14394 14356 mov dx, strict word 0000eh ; ba 0e 00 14395 14357 mov ax, strict word 00040h ; b8 40 00 14396 call 0166ch ; e8 e4 7e14358 call 0166ch ; e8 5b 7f 14397 14359 mov bx, 00122h ; bb 22 01 14398 14360 mov di, ax ; 89 c7 … … 14411 14373 shr eax, 010h ; 66 c1 e8 10 14412 14374 xchg dx, ax ; 92 14413 call 09 72fh ; e8 83 ff14375 call 096b8h ; e8 83 ff 14414 14376 mov word [bp-010h], ax ; 89 46 f0 14415 14377 test ax, ax ; 85 c0 14416 jne short 097 b6h ; 75 0314417 jmp near 098 beh ; e9 08 0114378 jne short 0973fh ; 75 03 14379 jmp near 09847h ; e9 08 01 14418 14380 mov ax, word [bp-010h] ; 8b 46 f0 14419 14381 mov es, di ; 8e c7 … … 14465 14427 xchg dx, ax ; 92 14466 14428 test AL, strict byte 001h ; a8 01 14467 jne short 09 810h ; 75 de14429 jne short 09799h ; 75 de 14468 14430 xor ax, ax ; 31 c0 14469 14431 xor cx, cx ; 31 c9 … … 14483 14445 mov bx, strict word 0001fh ; bb 1f 00 14484 14446 xor cx, cx ; 31 c9 14485 call 087 d0h ; e8 7a ef14447 call 08759h ; e8 7a ef 14486 14448 db 0feh, 0c0h 14487 14449 ; inc al ; fe c0 14488 14450 mov byte [bp-00ch], al ; 88 46 f4 14489 14451 mov byte [bp-00eh], 000h ; c6 46 f2 00 14490 jmp short 098 82h ; eb 2114452 jmp short 0980bh ; eb 21 14491 14453 xor al, al ; 30 c0 14492 14454 test al, al ; 84 c0 14493 je short 098 79h ; 74 1214455 je short 09802h ; 74 12 14494 14456 mov bl, byte [bp-00eh] ; 8a 5e f2 14495 14457 xor bh, bh ; 30 ff 14496 14458 xor ax, ax ; 31 c0 14497 14459 mov dx, word [bp-010h] ; 8b 56 f0 14498 call 09 24ch ; e8 d8 f914460 call 091d5h ; e8 d8 f9 14499 14461 dec byte [bp-00ch] ; fe 4e f4 14500 je short 098 bch ; 74 4314462 je short 09845h ; 74 43 14501 14463 inc byte [bp-00eh] ; fe 46 f2 14502 14464 cmp byte [bp-00eh], 020h ; 80 7e f2 20 14503 jnc short 098 bch ; 73 3a14465 jnc short 09845h ; 73 3a 14504 14466 mov cl, byte [bp-00eh] ; 8a 4e f2 14505 14467 xor ch, ch ; 30 ed 14506 14468 mov bx, strict word 00001h ; bb 01 00 14507 14469 xor di, di ; 31 ff 14508 jcxz 098 94h ; e3 0614470 jcxz 0981dh ; e3 06 14509 14471 sal bx, 1 ; d1 e3 14510 14472 rcl di, 1 ; d1 d7 14511 loop 098 8eh ; e2 fa14473 loop 09817h ; e2 fa 14512 14474 mov ax, strict word 0000ch ; b8 0c 00 14513 14475 xor cx, cx ; 31 c9 … … 14525 14487 xchg dx, ax ; 92 14526 14488 test dx, di ; 85 fa 14527 jne short 098 b8h ; 75 0414489 jne short 09841h ; 75 04 14528 14490 test ax, bx ; 85 d8 14529 je short 09 861h ; 74 a914491 je short 097eah ; 74 a9 14530 14492 mov AL, strict byte 001h ; b0 01 14531 jmp short 09 863h ; eb a714493 jmp short 097ech ; eb a7 14532 14494 xor ax, ax ; 31 c0 14533 14495 lea sp, [bp-00ah] ; 8d 66 f6 … … 14539 14501 pop bp ; 5d 14540 14502 retn ; c3 14541 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 c7h, 099h, 0a5h, 099h, 0abh, 099h, 0b1h, 099h, 0b7h14542 db 099h, 0 bdh, 099h, 0c3h, 099h, 0c7h, 099h14543 _ahci_init: ; 0xf98 dfLB 0x11914503 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 050h, 099h, 02eh, 099h, 034h, 099h, 03ah, 099h, 040h 14504 db 099h, 046h, 099h, 04ch, 099h, 050h, 099h 14505 _ahci_init: ; 0xf9868 LB 0x119 14544 14506 push bp ; 55 14545 14507 mov bp, sp ; 89 e5 … … 14548 14510 mov ax, 00601h ; b8 01 06 14549 14511 mov dx, strict word 00001h ; ba 01 00 14550 call 09 e13h ; e8 24 0514512 call 09d9ch ; e8 24 05 14551 14513 mov dx, ax ; 89 c2 14552 14514 cmp ax, strict word 0ffffh ; 3d ff ff 14553 je short 09 942h ; 74 4c14515 je short 098cbh ; 74 4c 14554 14516 xor al, al ; 30 c0 14555 14517 shr ax, 008h ; c1 e8 08 … … 14559 14521 xor ah, ah ; 30 e4 14560 14522 mov bx, strict word 00034h ; bb 34 00 14561 call 09 e3eh ; e8 330514523 call 09da4h ; e8 10 05 14562 14524 mov cl, al ; 88 c1 14563 14525 test cl, cl ; 84 c9 14564 je short 09 945h ; 74 3414526 je short 098ceh ; 74 34 14565 14527 mov bl, cl ; 88 cb 14566 14528 xor bh, bh ; 30 ff … … 14573 14535 mov dx, word [bp-010h] ; 8b 56 f0 14574 14536 mov ax, word [bp-00ch] ; 8b 46 f4 14575 call 09 e3eh ; e8 0e 0514537 call 09da4h ; e8 eb 04 14576 14538 cmp AL, strict byte 012h ; 3c 12 14577 je short 09 945h ; 74 1114539 je short 098ceh ; 74 11 14578 14540 mov bl, cl ; 88 cb 14579 14541 db 0feh, 0c3h … … 14582 14544 mov dx, word [bp-010h] ; 8b 56 f0 14583 14545 mov ax, word [bp-00ch] ; 8b 46 f4 14584 jmp short 09 908h ; eb c614585 jmp near 099 f2h ; e9 ad 0014546 jmp short 09891h ; eb c6 14547 jmp near 0997bh ; e9 ad 00 14586 14548 test cl, cl ; 84 c9 14587 je short 09 942h ; 74 f914549 je short 098cbh ; 74 f9 14588 14550 add cl, 002h ; 80 c1 02 14589 14551 mov bl, cl ; 88 cb … … 14597 14559 mov dx, word [bp-00eh] ; 8b 56 f2 14598 14560 mov ax, word [bp-00ah] ; 8b 46 f6 14599 call 09 e3eh ; e8 d30414561 call 09da4h ; e8 b0 04 14600 14562 cmp AL, strict byte 010h ; 3c 10 14601 jne short 09 942h ; 75 d314563 jne short 098cbh ; 75 d3 14602 14564 mov byte [bp-004h], 000h ; c6 46 fc 00 14603 14565 mov bl, cl ; 88 cb … … 14606 14568 mov dx, word [bp-00eh] ; 8b 56 f2 14607 14569 mov ax, word [bp-00ah] ; 8b 46 f6 14608 call 09 e6ch ; e8 e90414570 call 09dd2h ; e8 c6 04 14609 14571 mov dx, ax ; 89 c2 14610 14572 and ax, strict word 0000fh ; 25 0f 00 14611 14573 sub ax, strict word 00004h ; 2d 04 00 14612 14574 cmp ax, strict word 0000bh ; 3d 0b 00 14613 jnbe short 099 c7h ; 77 3714575 jnbe short 09950h ; 77 37 14614 14576 push CS ; 0e 14615 14577 pop ES ; 07 14616 14578 mov cx, strict word 00008h ; b9 08 00 14617 mov di, 098 c8h ; bf c89814579 mov di, 09851h ; bf 51 98 14618 14580 repne scasb ; f2 ae 14619 14581 sal cx, 1 ; d1 e1 14620 14582 mov di, cx ; 89 cf 14621 mov ax, word [cs:di-067 31h] ; 2e 8b 85 cf9814583 mov ax, word [cs:di-067a8h] ; 2e 8b 85 58 98 14622 14584 jmp ax ; ff e0 14623 14585 mov byte [bp-004h], 010h ; c6 46 fc 10 14624 jmp short 099 c7h ; eb 1c14586 jmp short 09950h ; eb 1c 14625 14587 mov byte [bp-004h], 014h ; c6 46 fc 14 14626 jmp short 099 c7h ; eb 1614588 jmp short 09950h ; eb 16 14627 14589 mov byte [bp-004h], 018h ; c6 46 fc 18 14628 jmp short 099 c7h ; eb 1014590 jmp short 09950h ; eb 10 14629 14591 mov byte [bp-004h], 01ch ; c6 46 fc 1c 14630 jmp short 099 c7h ; eb 0a14592 jmp short 09950h ; eb 0a 14631 14593 mov byte [bp-004h], 020h ; c6 46 fc 20 14632 jmp short 099 c7h ; eb 0414594 jmp short 09950h ; eb 04 14633 14595 mov byte [bp-004h], 024h ; c6 46 fc 24 14634 14596 mov cx, dx ; 89 d1 … … 14637 14599 mov al, byte [bp-004h] ; 8a 46 fc 14638 14600 test al, al ; 84 c0 14639 je short 099 f2h ; 74 1c14601 je short 0997bh ; 74 1c 14640 14602 mov bl, al ; 88 c3 14641 14603 xor bh, bh ; 30 ff … … 14644 14606 mov al, byte [bp-008h] ; 8a 46 f8 14645 14607 xor ah, ah ; 30 e4 14646 call 09 e96h ; e8 af0414608 call 09dfch ; e8 8c 04 14647 14609 test AL, strict byte 001h ; a8 01 14648 je short 099 f2h ; 74 0714610 je short 0997bh ; 74 07 14649 14611 and AL, strict byte 0f0h ; 24 f0 14650 14612 add ax, cx ; 01 c8 14651 call 09 772h ; e8 80 fd14613 call 096fbh ; e8 80 fd 14652 14614 lea sp, [bp-002h] ; 8d 66 fe 14653 14615 pop di ; 5f 14654 14616 pop bp ; 5d 14655 14617 retn ; c3 14656 apm_out_str_: ; 0xf99 f8LB 0x3914618 apm_out_str_: ; 0xf9981 LB 0x39 14657 14619 push bp ; 55 14658 14620 mov bp, sp ; 89 e5 … … 14660 14622 mov bx, ax ; 89 c3 14661 14623 cmp byte [bx], 000h ; 80 3f 00 14662 je short 09 a0dh ; 74 0a14624 je short 09996h ; 74 0a 14663 14625 mov al, byte [bx] ; 8a 07 14664 14626 out DX, AL ; ee … … 14667 14629 db 00ah, 0c0h 14668 14630 ; or al, al ; 0a c0 14669 jne short 09 a05h ; 75 f814631 jne short 0998eh ; 75 f8 14670 14632 lea sp, [bp-002h] ; 8d 66 fe 14671 14633 pop bx ; 5b 14672 14634 pop bp ; 5d 14673 14635 retn ; c3 14674 push dx ; 52 14675 call far 09a64h:09adah ; 9a da 9a 64 9a 14676 jnle short 099b5h ; 7f 9a 14677 ficomp dword [bp+si-06556h] ; da 9a aa 9a 14678 ficomp dword [bp+si-06520h] ; da 9a e0 9a 14679 scasw ; af 14680 call far 09aafh:09aafh ; 9a af 9a af 9a 14681 pop DS ; 1f 14682 wait ; 9b 14683 scasw ; af 14684 call far 09b18h:09aafh ; 9a af 9a 18 9b 14685 _apm_function: ; 0xf9a31 LB 0xf3 14636 fistp dword [bx+di-0659dh] ; db 99 63 9a 14637 in ax, DX ; ed 14638 cwd ; 99 14639 or byte [bp+si-0659dh], bl ; 08 9a 63 9a 14640 xor bx, word [bp+si-0659dh] ; 33 9a 63 9a 14641 imul bx, word [bp+si-065c8h], 09a38h ; 69 9a 38 9a 38 9a 14642 cmp byte [bp+si-06558h], bl ; 38 9a a8 9a 14643 cmp byte [bp+si-065c8h], bl ; 38 9a 38 9a 14644 db 0a1h 14645 db 09ah 14646 _apm_function: ; 0xf99ba LB 0xf3 14686 14647 push bp ; 55 14687 14648 mov bp, sp ; 89 e5 … … 14691 14652 xor ah, ah ; 30 e4 14692 14653 cmp ax, strict word 0000eh ; 3d 0e 00 14693 jnbe short 09a afh ; 77 6c14654 jnbe short 09a38h ; 77 6c 14694 14655 mov bx, ax ; 89 c3 14695 14656 add bx, ax ; 01 c3 14696 14657 mov dx, word [bp+018h] ; 8b 56 18 14697 14658 or dl, 001h ; 80 ca 01 14698 jmp word [cs:bx-06 5edh] ; 2e ff a7 13 9a14659 jmp word [cs:bx-06664h] ; 2e ff a7 9c 99 14699 14660 mov word [bp+012h], 00102h ; c7 46 12 02 01 14700 14661 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 14701 14662 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 14702 jmp near 09a dah ; e9 76 0014663 jmp near 09a63h ; e9 76 00 14703 14664 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14704 mov word [bp+00ch], 0a0 b4h ; c7 46 0c b4 a014665 mov word [bp+00ch], 0a034h ; c7 46 0c 34 a0 14705 14666 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 14706 14667 mov ax, strict word 0fff0h ; b8 f0 ff 14707 14668 mov word [bp+006h], ax ; 89 46 06 14708 14669 mov word [bp+004h], ax ; 89 46 04 14709 jmp near 09a dah ; e9 5b 0014670 jmp near 09a63h ; e9 5b 00 14710 14671 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14711 14672 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 14720 14681 mov si, ax ; 89 c6 14721 14682 sal esi, 010h ; 66 c1 e6 10 14722 jmp near 09a dah ; e9 30 0014683 jmp near 09a63h ; e9 30 00 14723 14684 sti ; fb 14724 14685 hlt ; f4 14725 jmp near 09a dah ; e9 2b 0014686 jmp near 09a63h ; e9 2b 00 14726 14687 mov bx, 00da0h ; bb a0 0d 14727 14688 mov cx, ds ; 8c d9 14728 14689 mov ax, strict word 00004h ; b8 04 00 14729 call 01923h ; e8 697e14690 call 01923h ; e8 e0 7e 14730 14691 push word [bp+00ch] ; ff 76 0c 14731 14692 push word [bp+012h] ; ff 76 12 14732 14693 push 00d29h ; 68 29 0d 14733 14694 push strict byte 00004h ; 6a 04 14734 call 01966h ; e8 9e 7e14695 call 01966h ; e8 15 7f 14735 14696 add sp, strict byte 00008h ; 83 c4 08 14736 14697 mov ax, word [bp+012h] ; 8b 46 12 … … 14744 14705 retn ; c3 14745 14706 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 14746 je short 09 b05h ; 74 1f14707 je short 09a8eh ; 74 1f 14747 14708 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 14748 je short 09a fdh ; 74 1114709 je short 09a86h ; 74 11 14749 14710 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 14750 jne short 09 b0dh ; 75 1b14711 jne short 09a96h ; 75 1b 14751 14712 mov dx, 08900h ; ba 00 89 14752 14713 mov ax, 00d10h ; b8 10 0d 14753 call 099 f8h ; e8 fd fe14754 jmp short 09a dah ; eb dd14714 call 09981h ; e8 fd fe 14715 jmp short 09a63h ; eb dd 14755 14716 mov dx, 08900h ; ba 00 89 14756 14717 mov ax, 00d18h ; b8 18 0d 14757 jmp short 09a f8h ; eb f314718 jmp short 09a81h ; eb f3 14758 14719 mov dx, 08900h ; ba 00 89 14759 14720 mov ax, 00d20h ; b8 20 0d 14760 jmp short 09a f8h ; eb eb14721 jmp short 09a81h ; eb eb 14761 14722 or ah, 00ah ; 80 cc 0a 14762 14723 mov word [bp+012h], ax ; 89 46 12 14763 14724 mov word [bp+018h], dx ; 89 56 18 14764 jmp short 09a dah ; eb c214725 jmp short 09a63h ; eb c2 14765 14726 mov word [bp+012h], 00102h ; c7 46 12 02 01 14766 jmp short 09a dah ; eb bb14727 jmp short 09a63h ; eb bb 14767 14728 or ah, 080h ; 80 cc 80 14768 jmp short 09 b10h ; eb ec14769 pci16_select_reg_: ; 0xf9 b24LB 0x2414729 jmp short 09a99h ; eb ec 14730 pci16_select_reg_: ; 0xf9aad LB 0x24 14770 14731 push bp ; 55 14771 14732 mov bp, sp ; 89 e5 … … 14784 14745 pop bp ; 5d 14785 14746 retn ; c3 14786 pci16_find_device_: ; 0xf9 b48LB 0xf914747 pci16_find_device_: ; 0xf9ad1 LB 0xf9 14787 14748 push bp ; 55 14788 14749 mov bp, sp ; 89 e5 … … 14798 14759 mov byte [bp-008h], 000h ; c6 46 f8 00 14799 14760 test bl, 007h ; f6 c3 07 14800 jne short 09b 90h ; 75 2d14761 jne short 09b19h ; 75 2d 14801 14762 mov dx, strict word 0000eh ; ba 0e 00 14802 14763 mov ax, bx ; 89 d8 14803 call 09 b24h ; e8 b9 ff14764 call 09aadh ; e8 b9 ff 14804 14765 mov dx, 00cfeh ; ba fe 0c 14805 14766 in AL, DX ; ec … … 14808 14769 mov byte [bp-006h], al ; 88 46 fa 14809 14770 cmp AL, strict byte 0ffh ; 3c ff 14810 jne short 09b 7eh ; 75 0614771 jne short 09b07h ; 75 06 14811 14772 add bx, strict byte 00008h ; 83 c3 08 14812 jmp near 09 c11h ; e9 93 0014773 jmp near 09b9ah ; e9 93 00 14813 14774 test byte [bp-006h], 080h ; f6 46 fa 80 14814 je short 09b 8bh ; 74 0714775 je short 09b14h ; 74 07 14815 14776 mov word [bp-010h], strict word 00001h ; c7 46 f0 01 00 14816 jmp short 09b 90h ; eb 0514777 jmp short 09b19h ; eb 05 14817 14778 mov word [bp-010h], strict word 00008h ; c7 46 f0 08 00 14818 14779 mov al, byte [bp-006h] ; 8a 46 fa 14819 14780 and AL, strict byte 007h ; 24 07 14820 14781 cmp AL, strict byte 001h ; 3c 01 14821 jne short 09b b8h ; 75 1f14782 jne short 09b41h ; 75 1f 14822 14783 mov ax, bx ; 89 d8 14823 14784 shr ax, 008h ; c1 e8 08 14824 14785 test ax, ax ; 85 c0 14825 jne short 09b b8h ; 75 1614786 jne short 09b41h ; 75 16 14826 14787 mov dx, strict word 0001ah ; ba 1a 00 14827 14788 mov ax, bx ; 89 d8 14828 call 09 b24h ; e8 7a ff14789 call 09aadh ; e8 7a ff 14829 14790 mov dx, 00cfeh ; ba fe 0c 14830 14791 in AL, DX ; ec … … 14832 14793 ; sub ah, ah ; 2a e4 14833 14794 cmp al, byte [bp-008h] ; 3a 46 f8 14834 jbe short 09b b8h ; 76 0314795 jbe short 09b41h ; 76 03 14835 14796 mov byte [bp-008h], al ; 88 46 f8 14836 14797 test di, di ; 85 ff 14837 je short 09b c1h ; 74 0514798 je short 09b4ah ; 74 05 14838 14799 mov dx, strict word 00008h ; ba 08 00 14839 jmp short 09b c3h ; eb 0214800 jmp short 09b4ch ; eb 02 14840 14801 xor dx, dx ; 31 d2 14841 14802 mov ax, bx ; 89 d8 14842 call 09 b24h ; e8 5c ff14803 call 09aadh ; e8 5c ff 14843 14804 mov dx, 00cfch ; ba fc 0c 14844 14805 in eax, DX ; 66 ed … … 14851 14812 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 14852 14813 test di, di ; 85 ff 14853 je short 09b f2h ; 74 0f14814 je short 09b7bh ; 74 0f 14854 14815 mov cx, strict word 00008h ; b9 08 00 14855 14816 shr dx, 1 ; d1 ea 14856 14817 rcr ax, 1 ; d1 d8 14857 loop 09b e6h ; e2 fa14818 loop 09b6fh ; e2 fa 14858 14819 mov word [bp-00ah], ax ; 89 46 f6 14859 14820 mov word [bp-00ch], dx ; 89 56 f4 14860 14821 mov ax, word [bp-00ch] ; 8b 46 f4 14861 14822 cmp ax, word [bp-014h] ; 3b 46 ec 14862 jne short 09 c02h ; 75 0814823 jne short 09b8bh ; 75 08 14863 14824 mov ax, word [bp-00ah] ; 8b 46 f6 14864 14825 cmp ax, word [bp-012h] ; 3b 46 ee 14865 je short 09 c08h ; 74 0614826 je short 09b91h ; 74 06 14866 14827 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 14867 je short 09 c0eh ; 74 0614828 je short 09b97h ; 74 06 14868 14829 dec si ; 4e 14869 14830 cmp si, strict byte 0ffffh ; 83 fe ff 14870 je short 09 c22h ; 74 1414831 je short 09babh ; 74 14 14871 14832 add bx, word [bp-010h] ; 03 5e f0 14872 14833 mov dx, bx ; 89 da … … 14875 14836 xor ah, ah ; 30 e4 14876 14837 cmp dx, ax ; 39 c2 14877 jnbe short 09 c22h ; 77 0314878 jmp near 09 b5eh ; e9 3c ff14838 jnbe short 09babh ; 77 03 14839 jmp near 09ae7h ; e9 3c ff 14879 14840 cmp si, strict byte 0ffffh ; 83 fe ff 14880 jne short 09 c2bh ; 75 0414841 jne short 09bb4h ; 75 04 14881 14842 mov ax, bx ; 89 d8 14882 jmp short 09 c2eh ; eb 0314843 jmp short 09bb7h ; eb 03 14883 14844 mov ax, strict word 0ffffh ; b8 ff ff 14884 14845 lea sp, [bp-004h] ; 8d 66 fc … … 14887 14848 pop bp ; 5d 14888 14849 retn ; c3 14889 and bl, byte [di-062c5h] ; 22 9d 3b 9d 14890 dec bp ; 4d 14850 stosw ; ab 14851 pushfw ; 9c 14852 les bx, [si-0632ah] ; c4 9c d6 9c 14853 jmp far 00f9ch:0fc9ch ; ea 9c fc 9c 0f 14891 14854 popfw ; 9d 14892 popaw ; 61 14893 popfw ; 9d 14894 jnc short 09bdch ; 73 9d 14895 db 086h 14896 popfw ; 9d 14897 _pci16_function: ; 0xf9c41 LB 0x1d2 14855 _pci16_function: ; 0xf9bca LB 0x1d2 14898 14856 push bp ; 55 14899 14857 mov bp, sp ; 89 e5 … … 14909 14867 xor ah, ah ; 30 e4 14910 14868 cmp bx, strict byte 00003h ; 83 fb 03 14911 jc short 09 c73h ; 72 1314912 jbe short 09c c6h ; 76 6414869 jc short 09bfch ; 72 13 14870 jbe short 09c4fh ; 76 64 14913 14871 cmp bx, strict byte 0000eh ; 83 fb 0e 14914 je short 09c ceh ; 74 6714872 je short 09c57h ; 74 67 14915 14873 cmp bx, strict byte 00008h ; 83 fb 08 14916 jc short 09c 7dh ; 72 1114874 jc short 09c06h ; 72 11 14917 14875 cmp bx, strict byte 0000dh ; 83 fb 0d 14918 jbe short 09c d1h ; 76 6014919 jmp short 09c 7dh ; eb 0a14876 jbe short 09c5ah ; 76 60 14877 jmp short 09c06h ; eb 0a 14920 14878 cmp bx, strict byte 00002h ; 83 fb 02 14921 je short 09c 9ch ; 74 2414879 je short 09c25h ; 74 24 14922 14880 cmp bx, strict byte 00001h ; 83 fb 01 14923 je short 09c 80h ; 74 0314924 jmp near 09d dfh ; e9 5f 0114881 je short 09c09h ; 74 03 14882 jmp near 09d68h ; e9 5f 01 14925 14883 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 14926 14884 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 14928 14886 mov word [bp+018h], 04350h ; c7 46 18 50 43 14929 14887 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 14930 jmp near 09 e0ch ; e9 70 0114888 jmp near 09d95h ; e9 70 01 14931 14889 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 14932 jne short 09c a8h ; 75 0614890 jne short 09c31h ; 75 06 14933 14891 or ah, 083h ; 80 cc 83 14934 jmp near 09 e05h ; e9 5d 0114892 jmp near 09d8eh ; e9 5d 01 14935 14893 mov bx, word [bp+008h] ; 8b 5e 08 14936 14894 mov dx, word [bp+01ch] ; 8b 56 1c 14937 14895 mov ax, word [bp+018h] ; 8b 46 18 14938 14896 xor cx, cx ; 31 c9 14939 call 09 b48h ; e8 92 fe14897 call 09ad1h ; e8 92 fe 14940 14898 cmp ax, strict word 0ffffh ; 3d ff ff 14941 jne short 09c c8h ; 75 0d14899 jne short 09c51h ; 75 0d 14942 14900 mov ax, word [bp+020h] ; 8b 46 20 14943 14901 xor ah, ah ; 30 e4 14944 14902 or ah, 086h ; 80 cc 86 14945 jmp near 09 e05h ; e9 3f 0114946 jmp short 09c d3h ; eb 0b14903 jmp near 09d8eh ; e9 3f 01 14904 jmp short 09c5ch ; eb 0b 14947 14905 mov word [bp+014h], ax ; 89 46 14 14948 jmp near 09 e0ch ; e9 3e 0114949 jmp near 09d 9ah ; e9 c9 0014950 jmp short 09c f8h ; eb 2514906 jmp near 09d95h ; e9 3e 01 14907 jmp near 09d23h ; e9 c9 00 14908 jmp short 09c81h ; eb 25 14951 14909 mov bx, word [bp+008h] ; 8b 5e 08 14952 14910 mov ax, word [bp+01ch] ; 8b 46 1c 14953 14911 mov dx, word [bp+01eh] ; 8b 56 1e 14954 14912 mov cx, strict word 00001h ; b9 01 00 14955 call 09 b48h ; e8 66 fe14913 call 09ad1h ; e8 66 fe 14956 14914 cmp ax, strict word 0ffffh ; 3d ff ff 14957 jne short 09c f2h ; 75 0b14915 jne short 09c7bh ; 75 0b 14958 14916 mov ax, word [bp+020h] ; 8b 46 20 14959 14917 xor ah, ah ; 30 e4 14960 14918 or ah, 086h ; 80 cc 86 14961 jmp near 09 e05h ; e9 13 0114919 jmp near 09d8eh ; e9 13 01 14962 14920 mov word [bp+014h], ax ; 89 46 14 14963 jmp near 09 e0ch ; e9 14 0114921 jmp near 09d95h ; e9 14 01 14964 14922 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 14965 jc short 09 d05h ; 72 0614923 jc short 09c8eh ; 72 06 14966 14924 or ah, 087h ; 80 cc 87 14967 jmp near 09 e05h ; e9 00 0114925 jmp near 09d8eh ; e9 00 01 14968 14926 mov dx, word [bp+004h] ; 8b 56 04 14969 14927 mov ax, word [bp+014h] ; 8b 46 14 14970 call 09 b24h ; e8 16 fe14928 call 09aadh ; e8 16 fe 14971 14929 mov bx, word [bp+020h] ; 8b 5e 20 14972 14930 xor bh, bh ; 30 ff 14973 14931 sub bx, strict byte 00008h ; 83 eb 08 14974 14932 cmp bx, strict byte 00005h ; 83 fb 05 14975 jnbe short 09d 83h ; 77 6814933 jnbe short 09d0ch ; 77 68 14976 14934 add bx, bx ; 01 db 14977 jmp word [cs:bx-06 3cbh] ; 2e ff a7 35 9c14935 jmp word [cs:bx-06442h] ; 2e ff a7 be 9b 14978 14936 mov bx, word [bp+01ch] ; 8b 5e 1c 14979 14937 xor bl, bl ; 30 db … … 14986 14944 or bx, ax ; 09 c3 14987 14945 mov word [bp+01ch], bx ; 89 5e 1c 14988 jmp short 09d 83h ; eb 4814946 jmp short 09d0ch ; eb 48 14989 14947 mov dx, word [bp+004h] ; 8b 56 04 14990 14948 xor dh, dh ; 30 f6 … … 14993 14951 in ax, DX ; ed 14994 14952 mov word [bp+01ch], ax ; 89 46 1c 14995 jmp short 09d 83h ; eb 3614953 jmp short 09d0ch ; eb 36 14996 14954 mov dx, 00cfch ; ba fc 0c 14997 14955 in eax, DX ; 66 ed … … 15002 14960 mov word [bp+01ch], ax ; 89 46 1c 15003 14961 mov word [bp+01eh], dx ; 89 56 1e 15004 jmp short 09d 83h ; eb 2214962 jmp short 09d0ch ; eb 22 15005 14963 mov ax, word [bp+01ch] ; 8b 46 1c 15006 14964 mov dx, word [bp+004h] ; 8b 56 04 … … 15009 14967 add dx, 00cfch ; 81 c2 fc 0c 15010 14968 out DX, AL ; ee 15011 jmp short 09d 83h ; eb 1014969 jmp short 09d0ch ; eb 10 15012 14970 mov ax, word [bp+01ch] ; 8b 46 1c 15013 14971 mov dx, word [bp+004h] ; 8b 56 04 … … 15016 14974 add dx, 00cfch ; 81 c2 fc 0c 15017 14975 out DX, ax ; ef 15018 jmp near 09 e0ch ; e9 86 0014976 jmp near 09d95h ; e9 86 00 15019 14977 mov ax, word [bp+01ch] ; 8b 46 1c 15020 14978 mov cx, word [bp+01eh] ; 8b 4e 1e … … 15025 14983 ; mov ax, cx ; 8b c1 15026 14984 out DX, eax ; 66 ef 15027 jmp short 09 e0ch ; eb 7214985 jmp short 09d95h ; eb 72 15028 14986 mov bx, word [bp+004h] ; 8b 5e 04 15029 14987 mov es, [bp+026h] ; 8e 46 26 … … 15032 14990 mov cx, word [0f4a0h] ; 8b 0e a0 f4 15033 14991 cmp cx, word [es:bx] ; 26 3b 0f 15034 jbe short 09d c0h ; 76 1114992 jbe short 09d49h ; 76 11 15035 14993 mov ax, word [bp+020h] ; 8b 46 20 15036 14994 xor ah, ah ; 30 e4 … … 15038 14996 mov word [bp+020h], ax ; 89 46 20 15039 14997 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 15040 jmp short 09d d4h ; eb 1414998 jmp short 09d5dh ; eb 14 15041 14999 les di, [es:bx+002h] ; 26 c4 7f 02 15042 15000 mov si, 0f2c0h ; be c0 f2 … … 15050 15008 les bx, [bp-008h] ; c4 5e f8 15051 15009 mov word [es:bx], ax ; 26 89 07 15052 jmp short 09 e0ch ; eb 2d15010 jmp short 09d95h ; eb 2d 15053 15011 mov bx, 00da0h ; bb a0 0d 15054 15012 mov cx, ds ; 8c d9 15055 15013 mov ax, strict word 00004h ; b8 04 00 15056 call 01923h ; e8 397b15014 call 01923h ; e8 b0 7b 15057 15015 mov ax, word [bp+014h] ; 8b 46 14 15058 15016 push ax ; 50 … … 15061 15019 push 00d5ch ; 68 5c 0d 15062 15020 push strict byte 00004h ; 6a 04 15063 call 01966h ; e8 6c7b15021 call 01966h ; e8 e3 7b 15064 15022 add sp, strict byte 00008h ; 83 c4 08 15065 15023 mov ax, word [bp+020h] ; 8b 46 20 … … 15073 15031 pop bp ; 5d 15074 15032 retn ; c3 15075 pci_find_classcode_: ; 0xf9 e13 LB 0x2b15033 pci_find_classcode_: ; 0xf9d9c LB 0x8 15076 15034 push bp ; 55 15077 15035 mov bp, sp ; 89 e5 15078 push bx ; 53 15079 push cx ; 51 15080 push si ; 56 15081 mov cx, dx ; 89 d1 15082 xor si, si ; 31 f6 15083 mov dx, ax ; 89 c2 15084 mov ax, 0b103h ; b8 03 b1 15085 sal ecx, 010h ; 66 c1 e1 10 15086 db 08bh, 0cah 15087 ; mov cx, dx ; 8b ca 15088 int 01ah ; cd 1a 15089 cmp ah, 000h ; 80 fc 00 15090 je near 09e34h ; 0f 84 03 00 15091 mov bx, strict word 0ffffh ; bb ff ff 15092 mov ax, bx ; 89 d8 15093 lea sp, [bp-006h] ; 8d 66 fa 15094 pop si ; 5e 15095 pop cx ; 59 15096 pop bx ; 5b 15036 mov ax, strict word 0ffffh ; b8 ff ff 15097 15037 pop bp ; 5d 15098 15038 retn ; c3 15099 pci_read_config_byte_: ; 0xf9 e3eLB 0x2e15039 pci_read_config_byte_: ; 0xf9da4 LB 0x2e 15100 15040 push bp ; 55 15101 15041 mov bp, sp ; 89 e5 … … 15123 15063 pop bp ; 5d 15124 15064 retn ; c3 15125 pci_read_config_word_: ; 0xf9 e6cLB 0x2a15065 pci_read_config_word_: ; 0xf9dd2 LB 0x2a 15126 15066 push bp ; 55 15127 15067 mov bp, sp ; 89 e5 … … 15147 15087 pop bp ; 5d 15148 15088 retn ; c3 15149 pci_read_config_dword_: ; 0xf9 e96 LB 0x3015089 pci_read_config_dword_: ; 0xf9dfc LB 0x4e 15150 15090 push bp ; 55 15151 15091 mov bp, sp ; 89 e5 15152 15092 push cx ; 51 15153 15093 push di ; 57 15094 push ax ; 50 15154 15095 mov dh, al ; 88 c6 15155 mov bh, dl ; 88 d7 15096 mov cl, dl ; 88 d1 15097 mov byte [bp-006h], bl ; 88 5e fa 15156 15098 mov al, bl ; 88 d8 15157 15099 xor ah, ah ; 30 e4 15158 15100 mov dl, dh ; 88 f2 15159 15101 xor dh, dh ; 30 f6 15160 sal dx, 008h ; c1 e2 0815161 mov bl, bh ; 88 fb15162 xor bh, bh ; 30 ff15163 or bx, dx ; 09 d315102 mov di, dx ; 89 d7 15103 sal di, 008h ; c1 e7 08 15104 mov dl, cl ; 88 ca 15105 or dx, di ; 09 fa 15164 15106 mov di, ax ; 89 c7 15165 mov ax, 0b10ah ; b8 0a b1 15107 mov bx, dx ; 89 d3 15108 mov ax, 0b109h ; b8 09 b1 15166 15109 int 01ah ; cd 1a 15167 db 08bh, 0c1h 15168 ; mov ax, cx ; 8b c1 15169 shr ecx, 010h ; 66 c1 e9 10 15170 mov dx, cx ; 89 ca 15110 test cx, cx ; 85 c9 15111 jne short 09e3bh ; 75 14 15112 mov al, byte [bp-006h] ; 8a 46 fa 15113 xor ah, ah ; 30 e4 15114 mov di, ax ; 89 c7 15115 inc di ; 47 15116 inc di ; 47 15117 mov bx, dx ; 89 d3 15118 mov ax, 0b109h ; b8 09 b1 15119 int 01ah ; cd 1a 15120 test cx, cx ; 85 c9 15121 je short 09e40h ; 74 05 15122 mov ax, strict word 00001h ; b8 01 00 15123 jmp short 09e42h ; eb 02 15124 xor ax, ax ; 31 c0 15125 cwd ; 99 15171 15126 lea sp, [bp-004h] ; 8d 66 fc 15172 15127 pop di ; 5f … … 15174 15129 pop bp ; 5d 15175 15130 retn ; c3 15176 vds_is_present_: ; 0xf9e c6LB 0x1d15131 vds_is_present_: ; 0xf9e4a LB 0x1d 15177 15132 push bx ; 53 15178 15133 push bp ; 55 … … 15182 15137 mov es, ax ; 8e c0 15183 15138 test byte [es:bx], 020h ; 26 f6 07 20 15184 je short 09e deh ; 74 0615139 je short 09e62h ; 74 06 15185 15140 mov ax, strict word 00001h ; b8 01 00 15186 15141 pop bp ; 5d … … 15191 15146 pop bx ; 5b 15192 15147 retn ; c3 15193 vds_real_to_lin_: ; 0xf9e e3LB 0x1e15148 vds_real_to_lin_: ; 0xf9e67 LB 0x1e 15194 15149 push bx ; 53 15195 15150 push cx ; 51 … … 15202 15157 sal ax, 1 ; d1 e0 15203 15158 rcl dx, 1 ; d1 d2 15204 loop 09e f1h ; e2 fa15159 loop 09e75h ; e2 fa 15205 15160 xor cx, cx ; 31 c9 15206 15161 add ax, bx ; 01 d8 … … 15210 15165 pop bx ; 5b 15211 15166 retn ; c3 15212 vds_build_sg_list_: ; 0xf9 f01LB 0x7715167 vds_build_sg_list_: ; 0xf9e85 LB 0x77 15213 15168 push bp ; 55 15214 15169 mov bp, sp ; 89 e5 … … 15224 15179 mov bx, word [bp+006h] ; 8b 5e 06 15225 15180 mov word [es:di+002h], bx ; 26 89 5d 02 15226 call 09e e3h ; e8 c3 ff15181 call 09e67h ; e8 c3 ff 15227 15182 mov es, si ; 8e c6 15228 15183 mov word [es:di+004h], ax ; 26 89 45 04 15229 15184 mov word [es:di+006h], dx ; 26 89 55 06 15230 15185 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 15231 call 09e c6h ; e8 93 ff15186 call 09e4ah ; e8 93 ff 15232 15187 test ax, ax ; 85 c0 15233 je short 09 f48h ; 74 1115188 je short 09ecch ; 74 11 15234 15189 mov es, si ; 8e c6 15235 15190 mov ax, 08105h ; b8 05 81 15236 15191 mov dx, strict word 00000h ; ba 00 00 15237 15192 int 04bh ; cd 4b 15238 jc short 09 f45h ; 72 0215193 jc short 09ec9h ; 72 02 15239 15194 db 032h, 0c0h 15240 15195 ; xor al, al ; 32 c0 15241 15196 cbw ; 98 15242 jmp short 09 f6fh ; eb 2715197 jmp short 09ef3h ; eb 27 15243 15198 mov es, si ; 8e c6 15244 15199 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 15257 15212 pop bp ; 5d 15258 15213 retn 00004h ; c2 04 00 15259 vds_free_sg_list_: ; 0xf9 f78 LB 0x3815214 vds_free_sg_list_: ; 0xf9efc LB 0x34 15260 15215 push bp ; 55 15261 15216 mov bp, sp ; 89 e5 … … 15263 15218 push di ; 57 15264 15219 mov bx, ax ; 89 c3 15265 call 09e c6h ; e8 44 ff15220 call 09e4ah ; e8 44 ff 15266 15221 test ax, ax ; 85 c0 15267 je short 09f 97h ; 74 1115222 je short 09f1bh ; 74 11 15268 15223 mov di, bx ; 89 df 15269 15224 mov es, dx ; 8e c2 … … 15271 15226 mov dx, strict word 00000h ; ba 00 00 15272 15227 int 04bh ; cd 4b 15273 jc short 09f 96h ; 72 0215228 jc short 09f1ah ; 72 02 15274 15229 db 032h, 0c0h 15275 15230 ; xor al, al ; 32 c0 … … 15282 15237 pop bp ; 5d 15283 15238 retn ; c3 15284 times 0x adb 015285 __U4D: ; 0xf9f b0 LB 0x3915239 times 0x6 db 0 15240 __U4D: ; 0xf9f30 LB 0x39 15286 15241 pushfw ; 9c 15287 15242 push eax ; 66 50 … … 15313 15268 popfw ; 9d 15314 15269 retn ; c3 15315 __U4M: ; 0xf9f e9 LB 0x3115270 __U4M: ; 0xf9f69 LB 0x31 15316 15271 pushfw ; 9c 15317 15272 push eax ; 66 50 … … 15338 15293 popfw ; 9d 15339 15294 retn ; c3 15340 __U8LS: ; 0xf a01a LB 0x1015295 __U8LS: ; 0xf9f9a LB 0x10 15341 15296 test si, si ; 85 f6 15342 je short 0 a029h ; 74 0b15297 je short 09fa9h ; 74 0b 15343 15298 sal dx, 1 ; d1 e2 15344 15299 rcl cx, 1 ; d1 d1 … … 15346 15301 rcl ax, 1 ; d1 d0 15347 15302 dec si ; 4e 15348 jne short 0 a01eh ; 75 f515303 jne short 09f9eh ; 75 f5 15349 15304 retn ; c3 15350 __U8RS: ; 0xf a02a LB 0x1015305 __U8RS: ; 0xf9faa LB 0x10 15351 15306 test si, si ; 85 f6 15352 je short 0 a039h ; 74 0b15307 je short 09fb9h ; 74 0b 15353 15308 shr ax, 1 ; d1 e8 15354 15309 rcr bx, 1 ; d1 db … … 15356 15311 rcr dx, 1 ; d1 da 15357 15312 dec si ; 4e 15358 jne short 0 a02eh ; 75 f515313 jne short 09faeh ; 75 f5 15359 15314 retn ; c3 15360 _fmemset_: ; 0xf a03a LB 0xd15315 _fmemset_: ; 0xf9fba LB 0xd 15361 15316 push di ; 57 15362 15317 mov es, dx ; 8e c2 … … 15368 15323 pop di ; 5f 15369 15324 retn ; c3 15370 _fmemcpy_: ; 0xf a047 LB 0x3315325 _fmemcpy_: ; 0xf9fc7 LB 0x33 15371 15326 push bp ; 55 15372 15327 db 08bh, 0ech … … 15388 15343 leave ; c9 15389 15344 retn ; c3 15390 add byte [bx+si-06d60h], dl ; 00 90 a0 92 15391 mov AL, byte [0a096h] ; a0 96 a0 15392 xchg si, ax ; 96 15393 mov AL, byte [0a096h] ; a0 96 a0 15394 cbw ; 98 15395 mov AL, byte [0a098h] ; a0 98 a0 15396 call far 09ea0h:09ea0h ; 9a a0 9e a0 9e 15397 mov AL, byte [0a0a0h] ; a0 a0 a0 15398 movsw ; a5 15399 mov AL, byte [0a0a7h] ; a0 a7 a0 15400 apm_worker: ; 0xfa07a LB 0x3a 15345 add byte [bx+si], dl ; 00 10 15346 mov AL, byte [0a012h] ; a0 12 a0 15347 push SS ; 16 15348 mov AL, byte [0a016h] ; a0 16 a0 15349 push SS ; 16 15350 mov AL, byte [0a018h] ; a0 18 a0 15351 sbb byte [bx+si-05fe6h], ah ; 18 a0 1a a0 15352 push DS ; 1e 15353 mov AL, byte [0a01eh] ; a0 1e a0 15354 and byte [bx+si-05fdbh], ah ; 20 a0 25 a0 15355 daa ; 27 15356 db 0a0h 15357 apm_worker: ; 0xf9ffa LB 0x3a 15401 15358 sti ; fb 15402 15359 push ax ; 50 … … 15410 15367 pop ax ; 58 15411 15368 mov AH, strict byte 053h ; b4 53 15412 jnc short 0a0 b0h ; 73 2515413 jmp word [cs:bp-0 5fa0h] ; 2e ff a6 60 a015414 jmp short 0a0 aeh ; eb 1c15369 jnc short 0a030h ; 73 25 15370 jmp word [cs:bp-06020h] ; 2e ff a6 e0 9f 15371 jmp short 0a02eh ; eb 1c 15415 15372 sti ; fb 15416 15373 hlt ; f4 15417 jmp short 0a0 aeh ; eb 1815418 jmp short 0a0 aeh ; eb 1615419 jmp short 0a0 b0h ; eb 1615374 jmp short 0a02eh ; eb 18 15375 jmp short 0a02eh ; eb 16 15376 jmp short 0a030h ; eb 16 15420 15377 mov AH, strict byte 080h ; b4 80 15421 jmp short 0a0 b2h ; eb 1415422 jmp short 0a0 b0h ; eb 1015378 jmp short 0a032h ; eb 14 15379 jmp short 0a030h ; eb 10 15423 15380 mov ax, 00102h ; b8 02 01 15424 jmp short 0a0 aeh ; eb 0915425 jmp short 0a0 aeh ; eb 0715381 jmp short 0a02eh ; eb 09 15382 jmp short 0a02eh ; eb 07 15426 15383 mov BL, strict byte 000h ; b3 00 15427 15384 mov cx, strict word 00000h ; b9 00 00 15428 jmp short 0a0 aeh ; eb 0015385 jmp short 0a02eh ; eb 00 15429 15386 clc ; f8 15430 15387 retn ; c3 … … 15432 15389 stc ; f9 15433 15390 retn ; c3 15434 apm_pm16_entry: ; 0xfa0 b4 LB 0x1115391 apm_pm16_entry: ; 0xfa034 LB 0x11 15435 15392 mov AH, strict byte 002h ; b4 02 15436 15393 push DS ; 1e … … 15440 15397 add bp, strict byte 00008h ; 83 c5 08 15441 15398 mov ds, bp ; 8e dd 15442 call 0 a07ah ; e8 b8 ff15399 call 09ffah ; e8 b8 ff 15443 15400 pop bp ; 5d 15444 15401 pop DS ; 1f 15445 15402 retf ; cb 15446 15403 15447 ; Padding 0x39 3b bytes at 0xfa0c515448 times 14 651db 015404 ; Padding 0x39bb bytes at 0xfa045 15405 times 14779 db 0 15449 15406 15450 15407 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 15493 15450 add bp, strict byte 00008h ; 83 c5 08 15494 15451 push ebp ; 66 55 15495 mov bp, 0a0 b6h ; bd b6 a015452 mov bp, 0a036h ; bd 36 a0 15496 15453 add byte [bx+si], al ; 00 00 15497 15454 push ebp ; 66 55 … … 15881 15838 15882 15839 section BIOSSEG progbits vstart=0xe000 align=1 ; size=0x2000 class=CODE group=AUTO 15883 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h 15884 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h15885 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 058h, 04dh15840 biosorg_check_before_or_at_0E02Eh: ; 0xfe000 LB 0x30 15841 times 0x2e db 0 15842 db 'XM' 15886 15843 eoi_both_pics: ; 0xfe030 LB 0x4 15887 15844 mov AL, strict byte 020h ; b0 20 … … 15897 15854 loop 0e039h ; e2 f6 15898 15855 retn ; c3 15899 eoi_jmp_post: ; 0xfe044 LB 0x 1715856 eoi_jmp_post: ; 0xfe044 LB 0x3 15900 15857 call 0e030h ; e8 e9 ff 15858 no_eoi_jmp_post: ; 0xfe047 LB 0x8 15901 15859 db 033h, 0c0h 15902 15860 ; xor ax, ax ; 33 c0 15903 15861 mov ds, ax ; 8e d8 15904 15862 jmp far [00467h] ; ff 2e 67 04 15905 times 0xa db 0 15863 seg_40_value: ; 0xfe04f LB 0x2 15864 inc ax ; 40 15865 times 0x1 db 0 15866 biosorg_check_before_or_at_0E059h: ; 0xfe051 LB 0xa 15867 times 0x8 db 0 15906 15868 db 'XM' 15907 post: ; 0xfe05b LB 0x6 915869 post: ; 0xfe05b LB 0x6b 15908 15870 cli ; fa 15909 15871 smsw ax ; 0f 01 e0 … … 15919 15881 in AL, strict byte 064h ; e4 64 15920 15882 test AL, strict byte 004h ; a8 04 15921 je short 0e08 9h ; 74 1115883 je short 0e08bh ; 74 13 15922 15884 db 08ah, 0c4h 15923 15885 ; mov al, ah ; 8a c4 15924 15886 db 00ah, 0c0h 15925 15887 ; or al, al ; 0a c0 15926 jne short 0e089h ; 75 0b 15927 push strict byte 00040h ; 6a 40 15928 pop DS ; 1f 15888 jne short 0e08bh ; 75 0d 15889 mov ds, [cs:0e04fh] ; 2e 8e 1e 4f e0 15929 15890 cmp word [word 00072h], 01234h ; 81 3e 72 00 34 12 15930 jne short 0e064h ; 75 d b15891 jne short 0e064h ; 75 d9 15931 15892 mov AL, strict byte 00fh ; b0 0f 15932 15893 out strict byte 070h, AL ; e6 70 … … 15936 15897 ; mov al, ah ; 8a c4 15937 15898 cmp AL, strict byte 009h ; 3c 09 15938 je short 0e0a 9h ; 74 1215899 je short 0e0abh ; 74 12 15939 15900 cmp AL, strict byte 00ah ; 3c 0a 15940 je short 0e0a 9h ; 74 0e15901 je short 0e0abh ; 74 0e 15941 15902 db 032h, 0c0h 15942 15903 ; xor al, al ; 32 c0 … … 15950 15911 ; mov al, ah ; 8a c4 15951 15912 cmp AL, strict byte 000h ; 3c 00 15952 je short 0e0c 4h ; 74 1515913 je short 0e0c6h ; 74 15 15953 15914 cmp AL, strict byte 00dh ; 3c 0d 15954 jnc short 0e0c 4h ; 73 1115915 jnc short 0e0c6h ; 73 11 15955 15916 cmp AL, strict byte 009h ; 3c 09 15956 jne short 0e0b ah ; 75 0315957 jmp near 0e366h ; e9 a c0215917 jne short 0e0bch ; 75 03 15918 jmp near 0e366h ; e9 aa 02 15958 15919 cmp AL, strict byte 005h ; 3c 05 15959 je short 0e044h ; 74 8 615920 je short 0e044h ; 74 84 15960 15921 cmp AL, strict byte 00ah ; 3c 0a 15961 je short 0e047h ; 74 8 515962 jmp short 0e0c 4h ; eb 0015963 normal_post: ; 0xfe0c 4 LB 0x1ff15922 je short 0e047h ; 74 83 15923 jmp short 0e0c6h ; eb 00 15924 normal_post: ; 0xfe0c6 LB 0x1ed 15964 15925 mov ax, 07800h ; b8 00 78 15965 15926 db 08bh, 0e0h … … 15983 15944 add bx, 01000h ; 81 c3 00 10 15984 15945 cmp bx, 09000h ; 81 fb 00 90 15985 jnc short 0e0f 7h ; 73 0b15946 jnc short 0e0f9h ; 73 0b 15986 15947 mov es, bx ; 8e c3 15987 15948 db 033h, 0ffh … … 15989 15950 mov cx, 08000h ; b9 00 80 15990 15951 rep stosw ; f3 ab 15991 jmp short 0e0e 2h ; eb eb15952 jmp short 0e0e4h ; eb eb 15992 15953 mov es, bx ; 8e c3 15993 15954 db 033h, 0ffh … … 16000 15961 pop DS ; 1f 16001 15962 cld ; fc 16002 call 0176dh ; e8 6 53615963 call 0176dh ; e8 63 36 16003 15964 db 033h, 0dbh 16004 15965 ; xor bx, bx ; 33 db … … 16007 15968 mov ax, 0ff53h ; b8 53 ff 16008 15969 mov dx, 0f000h ; ba 00 f0 16009 call 0e039h ; e8 21ff15970 call 0e039h ; e8 1f ff 16010 15971 mov bx, 001a0h ; bb a0 01 16011 15972 mov cx, strict word 00010h ; b9 10 00 16012 call 0e039h ; e8 1 8ff15973 call 0e039h ; e8 16 ff 16013 15974 mov ax, 0027fh ; b8 7f 02 16014 15975 mov word [00413h], ax ; a3 13 04 … … 16045 16006 mov ax, 0f000h ; b8 00 f0 16046 16007 mov word [00072h], ax ; a3 72 00 16047 call 0e778h ; e8 e e0516008 call 0e778h ; e8 ec 05 16048 16009 mov ax, 0fe6eh ; b8 6e fe 16049 16010 mov word [00068h], ax ; a3 68 00 … … 16097 16058 mov ax, 0c000h ; b8 00 c0 16098 16059 mov dx, 0c800h ; ba 00 c8 16099 call 01600h ; e8 e c3316100 call 04e b2h ; e8 9b6c16060 call 01600h ; e8 ea 33 16061 call 04e57h ; e8 3e 6c 16101 16062 pop DS ; 1f 16102 16063 mov ax, 0ff53h ; b8 53 ff … … 16111 16072 mov CL, strict byte 014h ; b1 14 16112 16073 mov dx, 00378h ; ba 78 03 16113 call 0ecedh ; e8 b b0a16074 call 0ecedh ; e8 b9 0a 16114 16075 mov dx, 00278h ; ba 78 02 16115 call 0ecedh ; e8 b 50a16076 call 0ecedh ; e8 b3 0a 16116 16077 sal bx, 00eh ; c1 e3 0e 16117 16078 mov ax, word [00410h] ; a1 10 04 … … 16136 16097 mov CL, strict byte 00ah ; b1 0a 16137 16098 mov dx, 003f8h ; ba f8 03 16138 call 0ed0bh ; e8 9 70a16099 call 0ed0bh ; e8 95 0a 16139 16100 mov dx, 002f8h ; ba f8 02 16140 call 0ed0bh ; e8 910a16101 call 0ed0bh ; e8 8f 0a 16141 16102 mov dx, 003e8h ; ba e8 03 16142 call 0ed0bh ; e8 8 b0a16103 call 0ed0bh ; e8 89 0a 16143 16104 mov dx, 002e8h ; ba e8 02 16144 call 0ed0bh ; e8 8 50a16105 call 0ed0bh ; e8 83 0a 16145 16106 sal bx, 009h ; c1 e3 09 16146 16107 mov ax, word [00410h] ; a1 10 04 … … 16153 16114 mov ax, 0f000h ; b8 00 f0 16154 16115 mov word [0012ah], ax ; a3 2a 01 16155 mov ax, 0f e7bh ; b8 7b fe16116 mov ax, 0f8e4h ; b8 e4 f8 16156 16117 mov word [001c0h], ax ; a3 c0 01 16157 16118 mov ax, 0f000h ; b8 00 f0 16158 16119 mov word [001c2h], ax ; a3 c2 01 16159 call 0edbfh ; e8 10 0b 16160 jmp short 0e31bh ; eb 6a 16161 times 0x10 db 0 16120 call 0edbfh ; e8 0e 0b 16121 jmp short 0e31bh ; eb 68 16122 biosorg_check_before_or_at_0E2C1h: ; 0xfe2b3 LB 0x10 16123 times 0xe db 0 16162 16124 db 'XM' 16163 16125 nmi: ; 0xfe2c3 LB 0x7 … … 16172 16134 int 002h ; cd 02 16173 16135 iret ; cf 16174 hard_drive_post: ; 0xfe2d2 LB 0x 12c16136 hard_drive_post: ; 0xfe2d2 LB 0xbd 16175 16137 db 033h, 0c0h 16176 16138 ; xor ax, ax ; 33 c0 … … 16187 16149 mov ax, 0f000h ; b8 00 f0 16188 16150 mov word [0004eh], ax ; a3 4e 00 16189 mov ax, 0f8d 5h ; b8 d5f816151 mov ax, 0f8d2h ; b8 d2 f8 16190 16152 mov word [001d8h], ax ; a3 d8 01 16191 16153 mov ax, 0f000h ; b8 00 f0 … … 16214 16176 call 01c9fh ; e8 63 39 16215 16177 call 02118h ; e8 d9 3d 16216 call 098 dfh ; e8 9db516217 call 08 76ah ; e8 25 a416178 call 09868h ; e8 26 b5 16179 call 086f3h ; e8 ae a3 16218 16180 call 0ed2fh ; e8 e7 09 16219 16181 call 0e2d2h ; e8 87 ff … … 16225 16187 call 01600h ; e8 a9 32 16226 16188 call 0178dh ; e8 33 34 16227 call 03 b0fh ; e8 b2 5716189 call 03acfh ; e8 72 57 16228 16190 sti ; fb 16229 16191 int 019h ; cd 19 … … 16252 16214 sti ; fb 16253 16215 retf 00002h ; ca 02 00 16216 biosorg_check_before_or_at_0E3FCh: ; 0xfe38f LB 0x6f 16254 16217 times 0x6d db 0 16255 16218 db 'XM' … … 16307 16270 int19_handler: ; 0xfe6f2 LB 0x3 16308 16271 jmp near 0f0ach ; e9 b7 09 16309 biosorg_check_ 0E6F5h: ; 0xfe6f5 LB 0x3416272 biosorg_check_at_0E6F5h: ; 0xfe6f5 LB 0xa 16310 16273 or word [bx+si], ax ; 09 00 16311 16274 cld ; fc 16312 16275 add byte [bx+di], al ; 00 01 16313 16276 je short 0e73ch ; 74 40 16314 times 0x2b db 0 16277 times 0x3 db 0 16278 biosorg_check_before_or_at_0E727h: ; 0xfe6ff LB 0x2a 16279 times 0x28 db 0 16315 16280 db 'XM' 16316 biosorg_check_ 0E729h:; 0xfe729 LB 0x1016281 biosorg_check_at_0E729h: ; 0xfe729 LB 0x10 16317 16282 times 0xe db 0 16318 16283 db 'XM' 16319 biosorg_check_ 0E739h:; 0xfe739 LB 0x1a16284 biosorg_check_at_0E739h: ; 0xfe739 LB 0x1a 16320 16285 push DS ; 1e 16321 16286 push ES ; 06 … … 16324 16289 pop DS ; 1f 16325 16290 cld ; fc 16326 call 06 435h ; e8 f37c16291 call 063bch ; e8 7a 7c 16327 16292 popaw ; 61 16328 16293 pop ES ; 07 … … 16360 16325 out strict byte 0a1h, AL ; e6 a1 16361 16326 retn ; c3 16362 ebda_post: ; 0xfe778 LB 0x b616327 ebda_post: ; 0xfe778 LB 0x45 16363 16328 mov ax, 0e746h ; b8 46 e7 16364 16329 mov word [00034h], ax ; a3 34 00 … … 16385 16350 mov word [0040eh], 09fc0h ; c7 06 0e 04 c0 9f 16386 16351 retn ; c3 16352 biosorg_check_before_or_at_0E82Ch: ; 0xfe7bd LB 0x71 16387 16353 times 0x6f db 0 16388 16354 db 'XM' 16389 biosorg_check_ 0E82Eh: ; 0xfe82e LB 0x15916355 biosorg_check_at_0E82Eh: ; 0xfe82e LB 0x36 16390 16356 sti ; fb 16391 16357 push ES ; 06 … … 16399 16365 pop DS ; 1f 16400 16366 cld ; fc 16401 call 056 e2h ; e8 a06e16367 call 05687h ; e8 45 6e 16402 16368 popaw ; 61 16403 16369 pop DS ; 1f … … 16416 16382 pop DS ; 1f 16417 16383 cld ; fc 16418 call 056 e2h ; e8 826e16384 call 05687h ; e8 27 6e 16419 16385 popaw ; 61 16420 16386 pop DS ; 1f 16421 16387 pop ES ; 07 16422 16388 iret ; cf 16389 biosorg_check_before_or_at_0E985h: ; 0xfe864 LB 0x123 16423 16390 times 0x121 db 0 16424 16391 db 'XM' 16425 biosorg_check_ 0E987h: ; 0xfe987 LB 0x2d216392 biosorg_check_at_0E987h: ; 0xfe987 LB 0x5c 16426 16393 cli ; fa 16427 16394 push ax ; 50 … … 16460 16427 pop DS ; 1f 16461 16428 cld ; fc 16462 call 051 bah ; e8 f16716429 call 0515fh ; e8 96 67 16463 16430 pop ES ; 07 16464 16431 popaw ; 61 … … 16476 16443 pop DS ; 1f 16477 16444 cld ; fc 16478 call 06e dbh ; e8 fc8416445 call 06e62h ; e8 83 84 16479 16446 pop DS ; 1f 16480 16447 pop ES ; 07 16481 16448 popaw ; 61 16482 16449 iret ; cf 16450 biosorg_check_before_or_at_0EC57h: ; 0xfe9e3 LB 0x276 16483 16451 times 0x274 db 0 16484 16452 db 'XM' 16485 biosorg_check_ 0EC59h:; 0xfec59 LB 0x216453 biosorg_check_at_0EC59h: ; 0xfec59 LB 0x2 16486 16454 jmp short 0ecb0h ; eb 55 16487 16455 int13_relocated: ; 0xfec5b LB 0x55 … … 16497 16465 cld ; fc 16498 16466 push 0ece9h ; 68 e9 ec 16499 jmp near 03b 53h ; e9 e2 4e16467 jmp near 03b13h ; e9 a2 4e 16500 16468 push ES ; 06 16501 16469 push ax ; 50 … … 16503 16471 push cx ; 51 16504 16472 push dx ; 52 16505 call 03 b27h ; e8 ae 4e16473 call 03ae7h ; e8 6e 4e 16506 16474 cmp AL, strict byte 000h ; 3c 00 16507 16475 je short 0ecabh ; 74 2e 16508 call 03 b3dh ; e8 bd 4e16476 call 03afdh ; e8 7d 4e 16509 16477 pop dx ; 5a 16510 16478 push dx ; 52 … … 16524 16492 cld ; fc 16525 16493 push 0ece9h ; 68 e9 ec 16526 jmp near 041 4ch ; e9 b5 5416494 jmp near 0410ch ; e9 75 54 16527 16495 and dl, 0e0h ; 80 e2 e0 16528 16496 db 03ah, 0c2h … … 16564 16532 jne short 0ecc8h ; 75 06 16565 16533 push 0ece9h ; 68 e9 ec 16566 jmp near 031 9ah ; e9 d2 4416534 jmp near 0315ah ; e9 92 44 16567 16535 int13_notfloppy: ; 0xfecc8 LB 0x14 16568 16536 cmp dl, 0e0h ; 80 fa e0 … … 16570 16538 shr ebx, 010h ; 66 c1 eb 10 16571 16539 push bx ; 53 16572 call 045 8eh ; e8 b9 5816540 call 0454eh ; e8 79 58 16573 16541 pop bx ; 5b 16574 16542 sal ebx, 010h ; 66 c1 e3 10 … … 16577 16545 cmp ah, 040h ; 80 fc 40 16578 16546 jnbe short 0ece6h ; 77 05 16579 call 05a b9h ; e8 d56d16547 call 05a5eh ; e8 7a 6d 16580 16548 jmp short 0ece9h ; eb 03 16581 call 05 f08h ; e8 1f 7216549 call 05eadh ; e8 c4 71 16582 16550 int13_out: ; 0xfece9 LB 0x4 16583 16551 pop DS ; 1f … … 16690 16658 aad 00ah ; d5 0a 16691 16659 retn ; c3 16692 rtc_post: ; 0xfedbf LB 0x 19816660 rtc_post: ; 0xfedbf LB 0x5a 16693 16661 mov AL, strict byte 000h ; b0 00 16694 16662 out strict byte 070h, AL ; e6 70 … … 16718 16686 call 0edb6h ; e8 c2 ff 16719 16687 test al, al ; 84 c0 16720 je short 0ee0 ah ; 74 1216688 je short 0ee04h ; 74 0c 16721 16689 add cx, 0076ch ; 81 c1 6c 07 16722 16690 adc dx, 00100h ; 81 d2 00 01 … … 16724 16692 ; dec al ; fe c8 16725 16693 jne short 0edf8h ; 75 f4 16726 mov ax, 0046ch ; b8 6c 0416727 mov dx, 0046eh ; ba 6e 0416728 16694 db 08ah, 0cdh 16729 16695 ; mov cl, ch ; 8a cd … … 16738 16704 mov byte [00470h], dh ; 88 36 70 04 16739 16705 retn ; c3 16740 times 0x136 db 0 16706 biosorg_check_before_or_at_0EF55h: ; 0xfee19 LB 0x13e 16707 times 0x13c db 0 16741 16708 db 'XM' 16742 int0e_handler: ; 0xfef57 LB 0x 7016709 int0e_handler: ; 0xfef57 LB 0x3b 16743 16710 push ax ; 50 16744 16711 push dx ; 52 … … 16773 16740 pop ax ; 58 16774 16741 iret ; cf 16742 biosorg_check_before_or_at_0EFC5h: ; 0xfef92 LB 0x35 16775 16743 times 0x33 db 0 16776 16744 db 'XM' … … 16784 16752 db 0f6h 16785 16753 invd ; 0f 08 16786 biosorg_check_ 0EFD2h:; 0xfefd2 LB 0x216754 biosorg_check_at_0EFD2h: ; 0xfefd2 LB 0x2 16787 16755 jmp short 0efd4h ; eb 00 16788 16756 int17_handler: ; 0xfefd4 LB 0xd … … 16793 16761 pop DS ; 1f 16794 16762 cld ; fc 16795 call 078 79h ; e8 9c8816763 call 07800h ; e8 23 88 16796 16764 popaw ; 61 16797 16765 pop ES ; 07 … … 16802 16770 _rmode_IDT: ; 0xfefe7 LB 0x6 16803 16771 db 0ffh, 003h, 000h, 000h, 000h, 000h 16804 int1c_handler: ; 0xfefed LB 0x 5816772 int1c_handler: ; 0xfefed LB 0x1 16805 16773 iret ; cf 16774 biosorg_check_before_or_at_0F043h: ; 0xfefee LB 0x57 16806 16775 times 0x55 db 0 16807 16776 db 'XM' 16808 biosorg_check_ 0F045h: ; 0xff045 LB 0x2016777 biosorg_check_at_0F045h: ; 0xff045 LB 0x1 16809 16778 iret ; cf 16779 biosorg_check_before_or_at_0F063h: ; 0xff046 LB 0x1f 16810 16780 times 0x1d db 0 16811 16781 db 'XM' 16812 int10_handler: ; 0xff065 LB 0x 3f16782 int10_handler: ; 0xff065 LB 0x1 16813 16783 iret ; cf 16784 biosorg_check_before_or_at_0F0A2h: ; 0xff066 LB 0x3e 16814 16785 times 0x3c db 0 16815 16786 db 'XM' 16816 biosorg_check_ 0F0A4h:; 0xff0a4 LB 0x816787 biosorg_check_at_0F0A4h: ; 0xff0a4 LB 0x8 16817 16788 push CS ; 0e 16818 16789 pop DS ; 1f … … 16821 16792 hlt ; f4 16822 16793 iret ; cf 16823 int19_relocated: ; 0xff0ac LB 0x9 116794 int19_relocated: ; 0xff0ac LB 0x90 16824 16795 db 08bh, 0ech 16825 16796 ; mov bp, sp ; 8b ec … … 16841 16812 mov ax, strict word 00001h ; b8 01 00 16842 16813 push ax ; 50 16843 call 04 c2eh ; e8 5e5b16814 call 04bd3h ; e8 03 5b 16844 16815 inc sp ; 44 16845 16816 inc sp ; 44 16846 16817 test ax, ax ; 85 c0 16847 jne short 0f0f eh ; 75 2816818 jne short 0f0fdh ; 75 27 16848 16819 mov ax, strict word 00002h ; b8 02 00 16849 16820 push ax ; 50 16850 call 04 c2eh ; e8 51 5b16821 call 04bd3h ; e8 f6 5a 16851 16822 inc sp ; 44 16852 16823 inc sp ; 44 16853 16824 test ax, ax ; 85 c0 16854 jne short 0f0f eh ; 75 1b16825 jne short 0f0fdh ; 75 1a 16855 16826 mov ax, strict word 00003h ; b8 03 00 16856 push strict byte 00003h ; 6a 0316857 call 04 c2eh ; e8 43 5b16827 push ax ; 50 16828 call 04bd3h ; e8 e9 5a 16858 16829 inc sp ; 44 16859 16830 inc sp ; 44 16860 16831 test ax, ax ; 85 c0 16861 jne short 0f0f eh ; 75 0d16832 jne short 0f0fdh ; 75 0d 16862 16833 mov ax, strict word 00004h ; b8 04 00 16863 16834 push ax ; 50 16864 call 04 c2eh ; e8 36 5b16835 call 04bd3h ; e8 dc 5a 16865 16836 inc sp ; 44 16866 16837 inc sp ; 44 16867 16838 test ax, ax ; 85 c0 16868 je short 0f0a4h ; 74 a 616839 je short 0f0a4h ; 74 a7 16869 16840 mov word [byte bp+000h], ax ; 89 46 00 16870 16841 sal ax, 004h ; c1 e0 04 … … 16895 16866 pop eax ; 66 58 16896 16867 retn ; c3 16897 pcibios_init_iomem_bases: ; 0xff13 dLB 0x1616868 pcibios_init_iomem_bases: ; 0xff13c LB 0x16 16898 16869 push bp ; 55 16899 16870 db 08bh, 0ech … … 16906 16877 push ax ; 50 16907 16878 mov bx, strict word 00008h ; bb 08 00 16908 pci_init_io_loop1: ; 0xff15 3LB 0xe16879 pci_init_io_loop1: ; 0xff152 LB 0xe 16909 16880 mov DL, strict byte 000h ; b2 00 16910 call 0f12 2h ; e8 ca ff16881 call 0f121h ; e8 ca ff 16911 16882 mov dx, 00cfch ; ba fc 0c 16912 16883 in ax, DX ; ed 16913 16884 cmp ax, strict byte 0ffffh ; 83 f8 ff 16914 je short 0f19 ah ; 74 3916915 enable_iomem_space: ; 0xff16 1LB 0x3916885 je short 0f199h ; 74 39 16886 enable_iomem_space: ; 0xff160 LB 0x39 16916 16887 mov DL, strict byte 004h ; b2 04 16917 call 0f12 2h ; e8 bc ff16888 call 0f121h ; e8 bc ff 16918 16889 mov dx, 00cfch ; ba fc 0c 16919 16890 in AL, DX ; ec … … 16921 16892 out DX, AL ; ee 16922 16893 mov DL, strict byte 000h ; b2 00 16923 call 0f12 2h ; e8 b0 ff16894 call 0f121h ; e8 b0 ff 16924 16895 mov dx, 00cfch ; ba fc 0c 16925 16896 in eax, DX ; 66 ed 16926 16897 cmp eax, strict dword 020001022h ; 66 3d 22 10 00 20 16927 jne short 0f19 ah ; 75 1b16898 jne short 0f199h ; 75 1b 16928 16899 mov DL, strict byte 010h ; b2 10 16929 call 0f12 2h ; e8 9e ff16900 call 0f121h ; e8 9e ff 16930 16901 mov dx, 00cfch ; ba fc 0c 16931 16902 in ax, DX ; ed … … 16941 16912 add dx, strict byte 00018h ; 83 c2 18 16942 16913 in eax, DX ; 66 ed 16943 next_pci_dev: ; 0xff19 aLB 0xf16914 next_pci_dev: ; 0xff199 LB 0xf 16944 16915 mov byte [bp-008h], 010h ; c6 46 f8 10 16945 16916 inc bx ; 43 16946 16917 cmp bx, 00100h ; 81 fb 00 01 16947 jne short 0f15 3h ; 75 ae16918 jne short 0f152h ; 75 ae 16948 16919 db 08bh, 0e5h 16949 16920 ; mov sp, bp ; 8b e5 16950 16921 pop bp ; 5d 16951 16922 retn ; c3 16952 pcibios_init_set_elcr: ; 0xff1a 9LB 0xc16923 pcibios_init_set_elcr: ; 0xff1a8 LB 0xc 16953 16924 push ax ; 50 16954 16925 push cx ; 51 16955 16926 mov dx, 004d0h ; ba d0 04 16956 16927 test AL, strict byte 008h ; a8 08 16957 je short 0f1b 5h ; 74 0316928 je short 0f1b4h ; 74 03 16958 16929 inc dx ; 42 16959 16930 and AL, strict byte 007h ; 24 07 16960 is_master_pic: ; 0xff1b 5LB 0xd16931 is_master_pic: ; 0xff1b4 LB 0xd 16961 16932 db 08ah, 0c8h 16962 16933 ; mov cl, al ; 8a c8 … … 16970 16941 pop ax ; 58 16971 16942 retn ; c3 16972 pcibios_init_irqs: ; 0xff1c 2LB 0x5316943 pcibios_init_irqs: ; 0xff1c1 LB 0x53 16973 16944 push DS ; 1e 16974 16945 push bp ; 55 … … 16984 16955 mov bl, byte [si+009h] ; 8a 5c 09 16985 16956 mov DL, strict byte 000h ; b2 00 16986 call 0f12 2h ; e8 43 ff16957 call 0f121h ; e8 43 ff 16987 16958 mov dx, 00cfch ; ba fc 0c 16988 16959 in eax, DX ; 66 ed 16989 16960 cmp eax, dword [si+00ch] ; 66 3b 44 0c 16990 jne near 0f29 2h ; 0f 85 a6 0016961 jne near 0f291h ; 0f 85 a6 00 16991 16962 mov dl, byte [si+022h] ; 8a 54 22 16992 call 0f12 2h ; e8 30 ff16963 call 0f121h ; e8 30 ff 16993 16964 push bx ; 53 16994 16965 mov dx, 00cfch ; ba fc 0c … … 17005 16976 db 08bh, 0ech 17006 16977 ; mov bp, sp ; 8b ec 17007 mov ax, 0f11 eh ; b8 1ef116978 mov ax, 0f11dh ; b8 1d f1 17008 16979 push ax ; 50 17009 16980 db 033h, 0c0h 17010 16981 ; xor ax, ax ; 33 c0 17011 16982 push ax ; 50 17012 pci_init_irq_loop1: ; 0xff21 5LB 0x516983 pci_init_irq_loop1: ; 0xff214 LB 0x5 17013 16984 mov bh, byte [si] ; 8a 3c 17014 16985 mov bl, byte [si+001h] ; 8a 5c 01 17015 pci_init_irq_loop2: ; 0xff21 aLB 0x1516986 pci_init_irq_loop2: ; 0xff219 LB 0x15 17016 16987 mov DL, strict byte 000h ; b2 00 17017 call 0f12 2h ; e8 03 ff16988 call 0f121h ; e8 03 ff 17018 16989 mov dx, 00cfch ; ba fc 0c 17019 16990 in ax, DX ; ed 17020 16991 cmp ax, strict byte 0ffffh ; 83 f8 ff 17021 jne short 0f22 fh ; 75 0716992 jne short 0f22eh ; 75 07 17022 16993 test bl, 007h ; f6 c3 07 17023 je short 0f28 6h ; 74 5917024 jmp short 0f27 ch ; eb 4d17025 pci_test_int_pin: ; 0xff22 fLB 0x3c16994 je short 0f285h ; 74 59 16995 jmp short 0f27bh ; eb 4d 16996 pci_test_int_pin: ; 0xff22e LB 0x3c 17026 16997 mov DL, strict byte 03ch ; b2 3c 17027 call 0f12 2h ; e8 ee fe16998 call 0f121h ; e8 ee fe 17028 16999 mov dx, 00cfdh ; ba fd 0c 17029 17000 in AL, DX ; ec 17030 17001 and AL, strict byte 007h ; 24 07 17031 je short 0f27 ch ; 74 4017002 je short 0f27bh ; 74 40 17032 17003 db 0feh, 0c8h 17033 17004 ; dec al ; fe c8 … … 17043 17014 ; mov dl, al ; 8a d0 17044 17015 mov bx, word [byte bp+000h] ; 8b 5e 00 17045 call 0f12 2h ; e8 d0 fe17016 call 0f121h ; e8 d0 fe 17046 17017 mov dx, 00cfch ; ba fc 0c 17047 17018 and AL, strict byte 003h ; 24 03 … … 17050 17021 in AL, DX ; ec 17051 17022 cmp AL, strict byte 080h ; 3c 80 17052 jc short 0f26 bh ; 72 0d17023 jc short 0f26ah ; 72 0d 17053 17024 mov bx, word [bp-002h] ; 8b 5e fe 17054 17025 mov al, byte [bx] ; 8a 07 … … 17056 17027 inc bx ; 43 17057 17028 mov word [bp-002h], bx ; 89 5e fe 17058 call 0f1a 9h ; e8 3e ff17059 pirq_found: ; 0xff26 bLB 0x1117029 call 0f1a8h ; e8 3e ff 17030 pirq_found: ; 0xff26a LB 0x11 17060 17031 mov bh, byte [si] ; 8a 3c 17061 17032 mov bl, byte [si+001h] ; 8a 5c 01 17062 17033 add bl, byte [bp-003h] ; 02 5e fd 17063 17034 mov DL, strict byte 03ch ; b2 3c 17064 call 0f12 2h ; e8 aa fe17035 call 0f121h ; e8 aa fe 17065 17036 mov dx, 00cfch ; ba fc 0c 17066 17037 out DX, AL ; ee 17067 next_pci_func: ; 0xff27 cLB 0xa17038 next_pci_func: ; 0xff27b LB 0xa 17068 17039 inc byte [bp-003h] ; fe 46 fd 17069 17040 db 0feh, 0c3h 17070 17041 ; inc bl ; fe c3 17071 17042 test bl, 007h ; f6 c3 07 17072 jne short 0f21 ah ; 75 9417073 next_pir_entry: ; 0xff28 6LB 0xc17043 jne short 0f219h ; 75 94 17044 next_pir_entry: ; 0xff285 LB 0xc 17074 17045 add si, strict byte 00010h ; 83 c6 10 17075 17046 mov byte [bp-003h], 000h ; c6 46 fd 00 17076 loop 0f21 5h ; e2 8617047 loop 0f214h ; e2 86 17077 17048 db 08bh, 0e5h 17078 17049 ; mov sp, bp ; 8b e5 17079 17050 pop bx ; 5b 17080 pci_init_end: ; 0xff29 2 LB 0x2e17051 pci_init_end: ; 0xff291 LB 0x2f 17081 17052 pop bp ; 5d 17082 17053 pop DS ; 1f 17083 17054 retn ; c3 17084 db 089h, 0c0h, 089h, 0c0h, 089h, 0c0h, 089h, 0c0h, 089h, 0c0h, 0 fch, 024h, 050h, 049h, 052h, 000h17085 db 00 1h, 000h, 002h, 000h, 008h, 000h, 000h, 086h, 080h, 000h, 070h, 000h, 000h, 000h, 000h, 000h17086 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0 31h17055 db 089h, 0c0h, 089h, 0c0h, 089h, 0c0h, 089h, 0c0h, 089h, 0c0h, 089h, 0c0h, 024h, 050h, 049h, 052h 17056 db 000h, 001h, 000h, 002h, 000h, 008h, 000h, 000h, 086h, 080h, 000h, 070h, 000h, 000h, 000h, 000h 17057 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 031h 17087 17058 _pci_routing_table: ; 0xff2c0 LB 0x1e0 17088 17059 db 000h, 008h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 000h, 000h … … 17116 17087 db 000h, 0e8h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 01ch, 000h 17117 17088 db 000h, 0f0h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 01dh, 000h 17118 _pci_routing_table_size: ; 0xff4a0 LB 0x 3a117089 _pci_routing_table_size: ; 0xff4a0 LB 0x2 17119 17090 loopne 0f4a3h ; e0 01 17091 biosorg_check_before_or_at_0F83Fh: ; 0xff4a2 LB 0x39f 17120 17092 times 0x39d db 0 17121 17093 db 'XM' … … 17154 17126 cmp ah, 0c2h ; 80 fc c2 17155 17127 je short 0f887h ; 74 0e 17156 call 06 647h ; e8 cb6d17128 call 065ceh ; e8 52 6d 17157 17129 popaw ; 61 17158 17130 pop ES ; 07 … … 17160 17132 popfw ; 9d 17161 17133 jmp short 0f893h ; eb 11 17162 call 09 a31h ; e8 aca117134 call 099bah ; e8 35 a1 17163 17135 jmp short 0f87ch ; eb f5 17164 17136 int15_handler_mouse: ; 0xff887 LB 0x5 17165 call 074 ech ; e8 62 7c17137 call 07473h ; e8 e9 7b 17166 17138 jmp short 0f87ch ; eb f0 17167 17139 int15_handler32: ; 0xff88c LB 0x7 17168 17140 pushaw ; 60 17169 call 06 b1fh ; e8 8f7217141 call 06aa6h ; e8 16 72 17170 17142 popaw ; 61 17171 17143 jmp short 0f87dh ; eb ea … … 17184 17156 pop bp ; 5d 17185 17157 iret ; cf 17186 int74_handler: ; 0xff8a7 LB 0x2 e17158 int74_handler: ; 0xff8a7 LB 0x2b 17187 17159 sti ; fb 17188 17160 pushaw ; 60 17189 17161 push ES ; 06 17190 17162 push DS ; 1e 17191 push strict byte 00000h ; 6a 00 17192 push strict byte 00000h ; 6a 00 17193 push strict byte 00000h ; 6a 00 17194 push strict byte 00000h ; 6a 00 17195 push strict byte 00000h ; 6a 00 17163 db 033h, 0c0h 17164 ; xor ax, ax ; 33 c0 17165 push ax ; 50 17166 push ax ; 50 17167 push ax ; 50 17168 push ax ; 50 17169 push ax ; 50 17196 17170 push CS ; 0e 17197 17171 pop DS ; 1f 17198 17172 cld ; fc 17199 call 07 41ah ; e8 5f 7b17173 call 073a1h ; e8 e9 7a 17200 17174 pop cx ; 59 17201 jcxz 0f8c ah ; e3 0c17175 jcxz 0f8c7h ; e3 0c 17202 17176 push strict byte 00000h ; 6a 00 17203 17177 pop DS ; 1f … … 17206 17180 call far [word 00022h] ; ff 1e 22 00 17207 17181 cli ; fa 17208 call 0e030h ; e8 6 2e717182 call 0e030h ; e8 65 e7 17209 17183 add sp, strict byte 00008h ; 83 c4 08 17210 17184 pop DS ; 1f … … 17212 17186 popaw ; 61 17213 17187 iret ; cf 17214 int76_handler: ; 0xff8d 5 LB 0x19917188 int76_handler: ; 0xff8d2 LB 0x12 17215 17189 push ax ; 50 17216 17190 push DS ; 1e … … 17218 17192 mov ds, ax ; 8e d8 17219 17193 mov byte [0008eh], 0ffh ; c6 06 8e 00 ff 17220 call 0e030h ; e8 4 ce717194 call 0e030h ; e8 4f e7 17221 17195 pop DS ; 1f 17222 17196 pop ax ; 58 17223 17197 iret ; cf 17224 times 0x185 db 0 17198 int70_handler: ; 0xff8e4 LB 0x1f 17199 push ES ; 06 17200 push DS ; 1e 17201 pushaw ; 60 17202 push CS ; 0e 17203 pop DS ; 1f 17204 cld ; fc 17205 call 07046h ; e8 59 77 17206 popaw ; 61 17207 pop DS ; 1f 17208 pop ES ; 07 17209 iret ; cf 17210 jnbe short 0f8f8h ; 77 05 17211 cmp ax, 000b0h ; 3d b0 00 17212 jc short 0f900h ; 72 08 17213 db 033h, 0d2h 17214 ; xor dx, dx ; 33 d2 17215 db 033h, 0c0h 17216 ; xor ax, ax ; 33 c0 17217 inc byte [word 00070h] ; fe 06 70 00 17218 jmp near 0fec1h ; e9 be 05 17219 biosorg_check_before_or_at_0FA6Ch: ; 0xff903 LB 0x16b 17220 times 0x169 db 0 17225 17221 db 'XM' 17226 17222 font8x8: ; 0xffa6e LB 0x400 … … 17289 17285 db 018h, 018h, 018h, 000h, 018h, 018h, 018h, 000h, 0e0h, 030h, 030h, 01ch, 030h, 030h, 0e0h, 000h 17290 17286 db 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 000h 17291 biosorg_check_ 0FE6Eh:; 0xffe6e LB 0xd17287 biosorg_check_at_0FE6Eh: ; 0xffe6e LB 0xd 17292 17288 push ES ; 06 17293 17289 push DS ; 1e … … 17296 17292 pop DS ; 1f 17297 17293 cld ; fc 17298 call 071 7eh ; e8 07 7317294 call 07105h ; e8 8e 72 17299 17295 popaw ; 61 17300 17296 pop DS ; 1f 17301 17297 pop ES ; 07 17302 17298 iret ; cf 17303 int70_handler: ; 0xffe7b LB 0x2a 17304 push ES ; 06 17305 push DS ; 1e 17306 pushaw ; 60 17307 push CS ; 0e 17308 pop DS ; 1f 17309 cld ; fc 17310 call 070bfh ; e8 3b 72 17311 popaw ; 61 17312 pop DS ; 1f 17313 pop ES ; 07 17314 iret ; cf 17315 times 0x1b db 0 17299 biosorg_check_before_or_at_0FEA3h: ; 0xffe7b LB 0x2a 17300 times 0x28 db 0 17316 17301 db 'XM' 17317 int08_handler: ; 0xffea5 LB 0x4 e17302 int08_handler: ; 0xffea5 LB 0x42 17318 17303 sti ; fb 17319 17304 push ax ; 50 17320 push bx ; 5317321 17305 push DS ; 1e 17322 17306 push dx ; 52 … … 17324 17308 mov ds, ax ; 8e d8 17325 17309 mov ax, word [0006ch] ; a1 6c 00 17326 mov bx, word [word 0006eh] ; 8b 1e 6e 00 17327 add ax, strict byte 00001h ; 83 c0 01 17328 adc bx, strict byte 00000h ; 83 d3 00 17329 cmp bx, strict byte 00018h ; 83 fb 18 17330 jc short 0fed0h ; 72 0f 17331 jnbe short 0fec8h ; 77 05 17332 cmp ax, 000b0h ; 3d b0 00 17333 jc short 0fed0h ; 72 08 17334 db 033h, 0c0h 17335 ; xor ax, ax ; 33 c0 17336 db 033h, 0dbh 17337 ; xor bx, bx ; 33 db 17338 inc byte [word 00070h] ; fe 06 70 00 17310 mov dx, word [word 0006eh] ; 8b 16 6e 00 17311 inc ax ; 40 17312 jne short 0feb9h ; 75 01 17313 inc dx ; 42 17314 cmp dx, strict byte 00018h ; 83 fa 18 17315 jc short 0fec1h ; 72 03 17316 jmp near 0f8f1h ; e9 30 fa 17339 17317 mov word [0006ch], ax ; a3 6c 00 17340 mov word [word 0006eh], bx ; 89 1e6e 0017318 mov word [word 0006eh], dx ; 89 16 6e 00 17341 17319 mov AL, byte [00040h] ; a0 40 00 17342 17320 db 00ah, 0c0h 17343 17321 ; or al, al ; 0a c0 17344 je short 0fe ech ; 74 0e17322 je short 0feddh ; 74 0e 17345 17323 db 0feh, 0c8h 17346 17324 ; dec al ; fe c8 17347 17325 mov byte [00040h], AL ; a2 40 00 17348 jne short 0fe ech ; 75 0717326 jne short 0feddh ; 75 07 17349 17327 mov dx, 003f2h ; ba f2 03 17350 17328 in AL, DX ; ec … … 17353 17331 int 01ch ; cd 1c 17354 17332 cli ; fa 17355 call 05734h ; e8 42 58 17356 dec bp ; 4d 17357 biosorg_check_0FEF3h: ; 0xffef3 LB 0xd 17333 call 0e034h ; e8 51 e1 17334 pop dx ; 5a 17358 17335 pop DS ; 1f 17359 pop bx ; 5b17360 17336 pop ax ; 58 17361 17337 iret ; cf 17362 add byte [bx+si], al ; 00 00 17363 add byte [bx+si], al ; 00 00 17364 add byte [bx+si], al ; 00 00 17365 add byte [bx+si+04dh], bl ; 00 58 4d 17366 biosorg_check_0FF00h: ; 0xfff00 LB 0x53 17338 biosorg_check_before_or_at_0FEF1h: ; 0xffee7 LB 0xc 17339 times 0xa db 0 17340 db 'XM' 17341 biosorg_check_at_0FEF3h: ; 0xffef3 LB 0xd 17342 times 0xb db 0 17343 db 'XM' 17344 biosorg_check_at_0FF00h: ; 0xfff00 LB 0x19 17367 17345 dec di ; 4f 17368 17346 jc short 0ff64h ; 72 61 … … 17380 17358 dec di ; 4f 17381 17359 push bx ; 53 17360 biosorg_check_before_or_at_0FF51h: ; 0xfff19 LB 0x3a 17382 17361 times 0x38 db 0 17383 17362 db 'XM' 17384 17363 dummy_iret: ; 0xfff53 LB 0x1 17385 17364 iret ; cf 17386 biosorg_check_ 0FF54h: ; 0xfff54 LB 0x9c17365 biosorg_check_at_0FF54h: ; 0xfff54 LB 0x2c 17387 17366 iret ; cf 17388 17367 mov ax, ax ; 89 c0 … … 17412 17391 add byte [bx+si], al ; 00 00 17413 17392 add byte [di], ah ; 00 25 17414 times 0x6f db 0 17393 times 0x1 db 0 17394 biosorg_check_before_or_at_0FFEEh: ; 0xfff80 LB 0x70 17395 times 0x6e db 0 17415 17396 db 'XM' 17416 17397 cpu_reset: ; 0xffff0 LB 0x10 17417 17398 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 17418 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0 0eh17399 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0ffh
Note:
See TracChangeset
for help on using the changeset viewer.