Changeset 67771 in vbox for trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.asm
- Timestamp:
- Jul 4, 2017 11:02:25 AM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 116682
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.asm
r67683 r67771 951 951 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 952 952 _pktacc: ; 0xf006a LB 0xc 953 db 000h, 000h, 000h, 000h, 000h, 000h, 05dh, 02ch, 0 06h, 082h, 02dh, 091h953 db 000h, 000h, 000h, 000h, 000h, 000h, 05dh, 02ch, 016h, 082h, 03dh, 091h 954 954 _softrst: ; 0xf0076 LB 0xc 955 db 000h, 000h, 000h, 000h, 000h, 000h, 045h, 02fh, 0 aah, 03ch, 0aah, 03ch955 db 000h, 000h, 000h, 000h, 000h, 000h, 045h, 02fh, 0b6h, 03ch, 0b6h, 03ch 956 956 _dskacc: ; 0xf0082 LB 0x2e 957 957 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 04dh, 02bh, 002h, 02ch, 000h, 000h, 000h, 000h 958 db 0 50h, 080h, 02bh, 081h, 003h, 090h, 0a9h, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h958 db 060h, 080h, 03bh, 081h, 013h, 090h, 0b9h, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 959 959 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 960 960 … … 1154 1154 times 1126 db 0 1155 1155 1156 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8b 15 class=CODE group=AUTO1156 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8b25 class=CODE group=AUTO 1157 1157 rom_scan_: ; 0xf1600 LB 0x50 1158 1158 push bp ; 55 … … 1530 1530 int 010h ; cd 10 1531 1531 jmp short 018bah ; eb 03 1532 call 07c 0eh ; e8 54 631532 call 07c1eh ; e8 64 63 1533 1533 mov sp, bp ; 89 ec 1534 1534 pop bp ; 5d … … 1676 1676 mov bx, strict word 0000ah ; bb 0a 00 1677 1677 xor cx, cx ; 31 c9 1678 call 0a0 20h ; e8 4e 861678 call 0a030h ; e8 5e 86 1679 1679 mov word [bp-008h], ax ; 89 46 f8 1680 1680 mov cx, dx ; 89 d1 … … 1902 1902 mov dx, word [bp-026h] ; 8b 56 da 1903 1903 mov si, word [bp-01eh] ; 8b 76 e2 1904 call 0a0 60h ; e8 5c 841904 call 0a070h ; e8 6c 84 1905 1905 mov ax, dx ; 89 d0 1906 1906 xor ah, dh ; 30 f4 … … 2344 2344 mov dx, word [es:si] ; 26 8b 14 2345 2345 mov si, strict word 00018h ; be 18 00 2346 call 0a0 60h ; e8 00 802346 call 0a070h ; e8 10 80 2347 2347 xor dh, dh ; 30 f6 2348 2348 mov word [bp-016h], dx ; 89 56 ea … … 2354 2354 mov dx, word [es:si] ; 26 8b 14 2355 2355 mov si, strict word 00020h ; be 20 00 2356 call 0a0 60h ; e8 e0 7f2356 call 0a070h ; e8 f0 7f 2357 2357 mov bx, dx ; 89 d3 2358 2358 mov ax, word [bp-01eh] ; 8b 46 e2 … … 2385 2385 mov dx, word [es:si] ; 26 8b 14 2386 2386 mov si, strict word 00008h ; be 08 00 2387 call 0a0 60h ; e8 8f 7f2387 call 0a070h ; e8 9f 7f 2388 2388 mov word [bp-014h], dx ; 89 56 ec 2389 2389 mov bx, word [bp-018h] ; 8b 5e e8 … … 2394 2394 mov dx, word [es:si] ; 26 8b 14 2395 2395 mov si, strict word 00018h ; be 18 00 2396 call 0a0 60h ; e8 71 7f2396 call 0a070h ; e8 81 7f 2397 2397 and dx, strict byte 0000fh ; 83 e2 0f 2398 2398 or dl, 040h ; 80 ca 40 … … 2787 2787 mov dx, ss ; 8c d2 2788 2788 lea ax, [bp-03ah] ; 8d 46 c6 2789 call 05ac 0h ; e8 ef352789 call 05acch ; e8 fb 35 2790 2790 mov bx, 00db2h ; bb b2 0d 2791 2791 mov cx, ds ; 8c d9 … … 2950 2950 mov dx, word [es:si+036h] ; 26 8b 54 36 2951 2951 mov si, strict word 0000bh ; be 0b 00 2952 call 0a0 60h ; e8 a9 792952 call 0a070h ; e8 b9 79 2953 2953 mov word [bp-030h], dx ; 89 56 d0 2954 2954 mov word [bp-02eh], cx ; 89 4e d2 … … 3221 3221 mov dx, word [bp-01eh] ; 8b 56 e2 3222 3222 mov si, strict word 00018h ; be 18 00 3223 call 0a0 60h ; e8 d3 763223 call 0a070h ; e8 e3 76 3224 3224 xor dh, dh ; 30 f6 3225 3225 mov word [bp-01ch], dx ; 89 56 e4 … … 3229 3229 mov dx, word [bp-01eh] ; 8b 56 e2 3230 3230 mov si, strict word 00020h ; be 20 00 3231 call 0a0 60h ; e8 bc 763231 call 0a070h ; e8 cc 76 3232 3232 mov bx, dx ; 89 d3 3233 3233 mov ax, word [bp-01ah] ; 8b 46 e6 … … 3263 3263 mov dx, word [bp-01eh] ; 8b 56 e2 3264 3264 mov si, strict word 00008h ; be 08 00 3265 call 0a0 60h ; e8 68 763265 call 0a070h ; e8 78 76 3266 3266 mov word [bp-010h], ax ; 89 46 f0 3267 3267 mov word [bp-014h], bx ; 89 5e ec … … 3270 3270 mov word [bp-026h], dx ; 89 56 da 3271 3271 mov si, strict word 00010h ; be 10 00 3272 call 0a0 60h ; e8 53 763272 call 0a070h ; e8 63 76 3273 3273 mov word [bp-01eh], dx ; 89 56 e2 3274 3274 mov ax, dx ; 89 d0 … … 4291 4291 add AL, strict byte 003h ; 04 03 4292 4292 add al, byte [bx+di] ; 02 01 4293 add byte [bx+si+03ch], bl ; 00 58 3c 4294 aas ; 3f 4295 xor di, word [si-023cdh] ; 33 bc 33 dc 4296 db 033h, 0dch 4297 ; xor bx, sp ; 33 dc 4298 db 033h, 0dch 4299 ; xor bx, sp ; 33 dc 4300 xor dx, word [bx+037h] ; 33 57 37 4301 or ax, 0fd39h ; 0d 39 fd 4302 cmp word [bx], di ; 39 3f 4303 cmp dh, byte [bp+di+03ah] ; 3a 73 3a 4304 in ax, 03ah ; e5 3a 4305 _int13_diskette_function: ; 0xf3303 LB 0x978 4293 add byte [si+03ch], ah ; 00 64 3c 4294 inc bx ; 43 4295 db 033h, 0c0h 4296 ; xor ax, ax ; 33 c0 4297 db 033h, 0e0h 4298 ; xor sp, ax ; 33 e0 4299 db 033h, 0e0h 4300 ; xor sp, ax ; 33 e0 4301 db 033h, 0e0h 4302 ; xor sp, ax ; 33 e0 4303 xor bx, word [bp+di+037h] ; 33 5b 37 4304 sbb word [bx+di], di ; 19 39 4305 or word [bp+si], di ; 09 3a 4306 dec bx ; 4b 4307 cmp bh, byte [bx+03ah] ; 3a 7f 3a 4308 db 0f1h 4309 db 03ah 4310 _int13_diskette_function: ; 0xf3303 LB 0x984 4306 4311 push bp ; 55 4307 4312 mov bp, sp ; 89 e5 4308 sub sp, strict byte 0000ah ; 83 ec 0a 4313 sub sp, strict byte 0000ch ; 83 ec 0c 4314 or byte [bp+01dh], 002h ; 80 4e 1d 02 4309 4315 mov ax, word [bp+016h] ; 8b 46 16 4310 4316 shr ax, 008h ; c1 e8 08 4311 4317 cmp ax, strict word 00018h ; 3d 18 00 4312 jnbe near 03c 58h ; 0f 87 42094318 jnbe near 03c64h ; 0f 87 4a 09 4313 4319 push CS ; 0e 4314 4320 pop ES ; 07 … … 4329 4335 mov bl, byte [bp+00eh] ; 8a 5e 0e 4330 4336 cmp bl, 001h ; 80 fb 01 4331 jbe short 0336 1h ; 76 1a4337 jbe short 03365h ; 76 1a 4332 4338 mov ax, word [bp+016h] ; 8b 46 16 4333 4339 xor ah, ah ; 30 e4 … … 4338 4344 mov es, ax ; 8e c0 4339 4345 mov byte [es:bx], 001h ; 26 c6 07 01 4340 jmp near 03b 45h ; e9 e4074346 jmp near 03b51h ; e9 ec 07 4341 4347 mov ax, strict word 00010h ; b8 10 00 4342 call 017a5h ; e8 3 ee44348 call 017a5h ; e8 3a e4 4343 4349 test bl, bl ; 84 db 4344 jne short 0337 2h ; 75 074350 jne short 03376h ; 75 07 4345 4351 mov dl, al ; 88 c2 4346 4352 shr dl, 004h ; c0 ea 04 4347 jmp short 0337 7h ; eb 054353 jmp short 0337bh ; eb 05 4348 4354 mov dl, al ; 88 c2 4349 4355 and dl, 00fh ; 80 e2 0f 4350 4356 test dl, dl ; 84 d2 4351 jne short 0339 5h ; 75 1a4357 jne short 03399h ; 75 1a 4352 4358 mov ax, word [bp+016h] ; 8b 46 16 4353 4359 xor ah, ah ; 30 e4 … … 4358 4364 mov es, ax ; 8e c0 4359 4365 mov byte [es:bx], 080h ; 26 c6 07 80 4360 jmp near 03b 45h ; e9 b0074366 jmp near 03b51h ; e9 b8 07 4361 4367 mov si, strict word 0003eh ; be 3e 00 4362 4368 mov ax, strict word 00040h ; b8 40 00 … … 4370 4376 movzx ax, bl ; 0f b6 c3 4371 4377 xor dx, dx ; 31 d2 4372 call 02fc5h ; e8 0 dfc4378 call 02fc5h ; e8 09 fc 4373 4379 mov sp, bp ; 89 ec 4374 4380 pop bp ; 5d … … 4384 4390 mov word [bp+016h], dx ; 89 56 16 4385 4391 test al, al ; 84 c0 4386 je short 033b 8h ; 74 df4387 jmp near 03b 45h ; e9 69074392 je short 033bch ; 74 df 4393 jmp near 03b51h ; e9 71 07 4388 4394 mov bh, byte [bp+016h] ; 8a 7e 16 4389 4395 mov ax, word [bp+014h] ; 8b 46 14 … … 4397 4403 mov bl, byte [bp+00eh] ; 8a 5e 0e 4398 4404 cmp bl, 001h ; 80 fb 01 4399 jnbe short 034 0ch ; 77 0d4405 jnbe short 03410h ; 77 0d 4400 4406 cmp AL, strict byte 001h ; 3c 01 4401 jnbe short 034 0ch ; 77 094407 jnbe short 03410h ; 77 09 4402 4408 test bh, bh ; 84 ff 4403 je short 034 0ch ; 74 054409 je short 03410h ; 74 05 4404 4410 cmp bh, 048h ; 80 ff 48 4405 jbe short 034 3fh ; 76 334411 jbe short 03443h ; 76 33 4406 4412 mov bx, 00db2h ; bb b2 0d 4407 4413 mov cx, ds ; 8c d9 4408 4414 mov ax, strict word 00004h ; b8 04 00 4409 call 01a2ah ; e8 13e64415 call 01a2ah ; e8 0f e6 4410 4416 push 00287h ; 68 87 02 4411 4417 push 0029fh ; 68 9f 02 4412 4418 push strict byte 00004h ; 6a 04 4413 call 01a6bh ; e8 4 9e64419 call 01a6bh ; e8 45 e6 4414 4420 add sp, strict byte 00006h ; 83 c4 06 4415 4421 mov ax, word [bp+016h] ; 8b 46 16 … … 4421 4427 mov es, ax ; 8e c0 4422 4428 mov byte [es:bx], 001h ; 26 c6 07 01 4423 jmp near 034c ah ; e9 8b 004429 jmp near 034ceh ; e9 8b 00 4424 4430 movzx ax, bl ; 0f b6 c3 4425 call 032bch ; e8 7 7fe4431 call 032bch ; e8 73 fe 4426 4432 test ax, ax ; 85 c0 4427 je near 0356 1h ; 0f 84 16 014433 je near 03565h ; 0f 84 16 01 4428 4434 movzx cx, bl ; 0f b6 cb 4429 4435 mov ax, cx ; 89 c8 4430 call 03100h ; e8 a dfc4436 call 03100h ; e8 a9 fc 4431 4437 test ax, ax ; 85 c0 4432 jne short 0347 9h ; 75 224438 jne short 0347dh ; 75 22 4433 4439 mov ax, cx ; 89 c8 4434 call 031d8h ; e8 7 cfd4440 call 031d8h ; e8 78 fd 4435 4441 test ax, ax ; 85 c0 4436 jne short 0347 9h ; 75 194442 jne short 0347dh ; 75 19 4437 4443 mov ax, word [bp+016h] ; 8b 46 16 4438 4444 xor ah, ah ; 30 e4 … … 4443 4449 mov es, ax ; 8e c0 4444 4450 mov byte [es:bx], 00ch ; 26 c6 07 0c 4445 jmp short 034c ah ; eb 514451 jmp short 034ceh ; eb 51 4446 4452 mov ax, word [bp+016h] ; 8b 46 16 4447 4453 shr ax, 008h ; c1 e8 08 4448 4454 cmp ax, strict word 00002h ; 3d 02 00 4449 jne near 0361 5h ; 0f 85 8f 014455 jne near 03619h ; 0f 85 8f 01 4450 4456 mov dx, word [bp+006h] ; 8b 56 06 4451 4457 shr dx, 00ch ; c1 ea 0c … … 4457 4463 mov word [bp-008h], si ; 89 76 f8 4458 4464 cmp cx, si ; 39 f1 4459 jbe short 034a 2h ; 76 024465 jbe short 034a6h ; 76 02 4460 4466 db 0feh, 0c4h 4461 4467 ; inc ah ; fe c4 … … 4466 4472 add dx, cx ; 01 ca 4467 4473 cmp dx, word [bp-008h] ; 3b 56 f8 4468 jnc short 034d 1h ; 73 1e4474 jnc short 034d5h ; 73 1e 4469 4475 mov ax, word [bp+016h] ; 8b 46 16 4470 4476 xor ah, ah ; 30 e4 … … 4476 4482 mov byte [es:bx], 009h ; 26 c6 07 09 4477 4483 mov byte [bp+016h], 000h ; c6 46 16 00 4478 jmp near 03b 45h ; e9 74064484 jmp near 03b51h ; e9 7c 06 4479 4485 mov AL, strict byte 006h ; b0 06 4480 4486 mov dx, strict word 0000ah ; ba 0a 00 … … 4511 4517 movzx cx, bl ; 0f b6 cb 4512 4518 mov ax, cx ; 89 c8 4513 call 0308ch ; e8 70fb4519 call 0308ch ; e8 6c fb 4514 4520 mov AL, strict byte 0e6h ; b0 e6 4515 4521 mov dx, 003f5h ; ba f5 03 … … 4539 4545 mov AL, strict byte 0ffh ; b0 ff 4540 4546 out DX, AL ; ee 4541 call 03012h ; e8 b afa4547 call 03012h ; e8 b6 fa 4542 4548 test al, al ; 84 c0 4543 jne short 0357 bh ; 75 1f4549 jne short 0357fh ; 75 1f 4544 4550 mov ax, cx ; 89 c8 4545 call 0304ah ; e8 e 9fa4551 call 0304ah ; e8 e5 fa 4546 4552 mov ax, word [bp+016h] ; 8b 46 16 4547 4553 xor ah, ah ; 30 e4 … … 4552 4558 mov es, ax ; 8e c0 4553 4559 mov byte [es:bx], 080h ; 26 c6 07 80 4554 jmp near 034c ah ; e9 4f ff4560 jmp near 034ceh ; e9 4f ff 4555 4561 mov dx, 003f4h ; ba f4 03 4556 4562 in AL, DX ; ec … … 4559 4565 and AL, strict byte 0c0h ; 24 c0 4560 4566 cmp AL, strict byte 0c0h ; 3c c0 4561 je short 0359 5h ; 74 0e4567 je short 03599h ; 74 0e 4562 4568 push 00287h ; 68 87 02 4563 4569 push 002bah ; 68 ba 02 4564 4570 push strict byte 00007h ; 6a 07 4565 call 01a6bh ; e8 d 9e44571 call 01a6bh ; e8 d5 e4 4566 4572 add sp, strict byte 00006h ; 83 c4 06 4567 4573 xor cx, cx ; 31 c9 4568 jmp short 035 9eh ; eb 054574 jmp short 035a2h ; eb 05 4569 4575 cmp cx, strict byte 00007h ; 83 f9 07 4570 jnl short 035b 4h ; 7d 164576 jnl short 035b8h ; 7d 16 4571 4577 mov dx, 003f5h ; ba f5 03 4572 4578 in AL, DX ; ec … … 4579 4585 mov byte [es:si], al ; 26 88 04 4580 4586 inc cx ; 41 4581 jmp short 0359 9h ; eb e54587 jmp short 0359dh ; eb e5 4582 4588 mov si, strict word 00042h ; be 42 00 4583 4589 mov ax, strict word 00040h ; b8 40 00 … … 4585 4591 mov al, byte [es:si] ; 26 8a 04 4586 4592 test AL, strict byte 0c0h ; a8 c0 4587 je short 035e 3h ; 74 204593 je short 035e7h ; 74 20 4588 4594 movzx ax, bl ; 0f b6 c3 4589 call 0304ah ; e8 81fa4595 call 0304ah ; e8 7d fa 4590 4596 mov ax, word [bp+016h] ; 8b 46 16 4591 4597 xor ah, ah ; 30 e4 … … 4596 4602 mov es, ax ; 8e c0 4597 4603 mov byte [es:bx], 020h ; 26 c6 07 20 4598 jmp near 034c ah ; e9 e7 fe4604 jmp near 034ceh ; e9 e7 fe 4599 4605 movzx ax, bh ; 0f b6 c7 4600 4606 sal ax, 009h ; c1 e0 09 … … 4614 4620 movzx dx, byte [bp-002h] ; 0f b6 56 fe 4615 4621 movzx ax, bl ; 0f b6 c3 4616 call 02fc5h ; e8 b bf94622 call 02fc5h ; e8 b7 f9 4617 4623 mov byte [bp+017h], 000h ; c6 46 17 00 4618 4624 and byte [bp+01ch], 0feh ; 80 66 1c fe 4619 jmp near 033b 8h ; e9 a3 fd4625 jmp near 033bch ; e9 a3 fd 4620 4626 mov ax, word [bp+016h] ; 8b 46 16 4621 4627 shr ax, 008h ; c1 e8 08 4622 4628 cmp ax, strict word 00003h ; 3d 03 00 4623 jne near 0374 2h ; 0f 85 20 014629 jne near 03746h ; 0f 85 20 01 4624 4630 mov cx, word [bp+006h] ; 8b 4e 06 4625 4631 shr cx, 00ch ; c1 e9 0c … … 4631 4637 mov word [bp-008h], si ; 89 76 f8 4632 4638 cmp dx, si ; 39 f2 4633 jbe short 036 3eh ; 76 024639 jbe short 03642h ; 76 02 4634 4640 db 0feh, 0c4h 4635 4641 ; inc ah ; fe c4 … … 4640 4646 add dx, cx ; 01 ca 4641 4647 cmp dx, word [bp-008h] ; 3b 56 f8 4642 jc near 034b 3h ; 0f 82 62 fe4648 jc near 034b7h ; 0f 82 62 fe 4643 4649 mov AL, strict byte 006h ; b0 06 4644 4650 mov dx, strict word 0000ah ; ba 0a 00 … … 4675 4681 movzx cx, bl ; 0f b6 cb 4676 4682 mov ax, cx ; 89 c8 4677 call 0308ch ; e8 f0f94683 call 0308ch ; e8 ec f9 4678 4684 mov AL, strict byte 0c5h ; b0 c5 4679 4685 mov dx, 003f5h ; ba f5 03 … … 4703 4709 mov AL, strict byte 0ffh ; b0 ff 4704 4710 out DX, AL ; ee 4705 call 03012h ; e8 3 af94711 call 03012h ; e8 36 f9 4706 4712 test al, al ; 84 c0 4707 je near 035 5ch ; 0f 84 7e fe4713 je near 03560h ; 0f 84 7e fe 4708 4714 mov dx, 003f4h ; ba f4 03 4709 4715 in AL, DX ; ec … … 4712 4718 and AL, strict byte 0c0h ; 24 c0 4713 4719 cmp AL, strict byte 0c0h ; 3c c0 4714 je short 036f 8h ; 74 0e4720 je short 036fch ; 74 0e 4715 4721 push 00287h ; 68 87 02 4716 4722 push 002bah ; 68 ba 02 4717 4723 push strict byte 00007h ; 6a 07 4718 call 01a6bh ; e8 7 6e34724 call 01a6bh ; e8 72 e3 4719 4725 add sp, strict byte 00006h ; 83 c4 06 4720 4726 xor cx, cx ; 31 c9 4721 jmp short 0370 1h ; eb 054727 jmp short 03705h ; eb 05 4722 4728 cmp cx, strict byte 00007h ; 83 f9 07 4723 jnl short 0371 7h ; 7d 164729 jnl short 0371bh ; 7d 16 4724 4730 mov dx, 003f5h ; ba f5 03 4725 4731 in AL, DX ; ec … … 4732 4738 mov byte [es:si], al ; 26 88 04 4733 4739 inc cx ; 41 4734 jmp short 03 6fch ; eb e54740 jmp short 03700h ; eb e5 4735 4741 mov si, strict word 00042h ; be 42 00 4736 4742 mov ax, strict word 00040h ; b8 40 00 … … 4738 4744 mov al, byte [es:si] ; 26 8a 04 4739 4745 test AL, strict byte 0c0h ; a8 c0 4740 je near 0360 0h ; 0f 84 d8 fe4746 je near 03604h ; 0f 84 d8 fe 4741 4747 mov bx, strict word 00043h ; bb 43 00 4742 4748 mov al, byte [es:bx] ; 26 8a 07 4743 4749 test AL, strict byte 002h ; a8 02 4744 je short 0373 ah ; 74 084750 je short 0373eh ; 74 08 4745 4751 mov word [bp+016h], 00300h ; c7 46 16 00 03 4746 jmp near 03b 45h ; e9 0b044752 jmp near 03b51h ; e9 13 04 4747 4753 mov word [bp+016h], 00100h ; c7 46 16 00 01 4748 jmp near 03b 45h ; e9 03044754 jmp near 03b51h ; e9 0b 04 4749 4755 movzx dx, byte [bp-002h] ; 0f b6 56 fe 4750 4756 movzx ax, bl ; 0f b6 c3 4751 call 02fc5h ; e8 7 9f84757 call 02fc5h ; e8 75 f8 4752 4758 and byte [bp+01ch], 0feh ; 80 66 1c fe 4753 4759 mov byte [bp+017h], 000h ; c6 46 17 00 4754 jmp near 033b 8h ; e9 61 fc4760 jmp near 033bch ; e9 61 fc 4755 4761 mov bh, byte [bp+016h] ; 8a 7e 16 4756 mov dx, word [bp+014h] ; 8b 56 14 4762 mov ax, word [bp+014h] ; 8b 46 14 4763 shr ax, 008h ; c1 e8 08 4764 mov byte [bp-002h], al ; 88 46 fe 4765 mov dx, word [bp+012h] ; 8b 56 12 4757 4766 shr dx, 008h ; c1 ea 08 4758 mov byte [bp-002h], dl ; 88 56 fe 4759 mov ax, word [bp+012h] ; 8b 46 12 4760 shr ax, 008h ; c1 e8 08 4761 mov byte [bp-004h], al ; 88 46 fc 4767 mov byte [bp-004h], dl ; 88 56 fc 4762 4768 mov bl, byte [bp+00eh] ; 8a 5e 0e 4763 4769 cmp bl, 001h ; 80 fb 01 4764 jnbe short 0378 6h ; 77 124765 cmp AL, strict byte 001h ; 3c014766 jnbe short 0378 6h ; 77 0e4767 cmp dl, 04fh ; 80 fa4f4768 jnbe short 0378 6h ; 77 094770 jnbe short 0378ah ; 77 12 4771 cmp dl, 001h ; 80 fa 01 4772 jnbe short 0378ah ; 77 0d 4773 cmp AL, strict byte 04fh ; 3c 4f 4774 jnbe short 0378ah ; 77 09 4769 4775 test bh, bh ; 84 ff 4770 je short 0378 6h ; 74 054776 je short 0378ah ; 74 05 4771 4777 cmp bh, 012h ; 80 ff 12 4772 jbe short 037a 1h ; 76 1b4778 jbe short 037a5h ; 76 1b 4773 4779 mov ax, word [bp+016h] ; 8b 46 16 4774 4780 xor ah, ah ; 30 e4 … … 4781 4787 or byte [bp+01ch], 001h ; 80 4e 1c 01 4782 4788 movzx ax, bl ; 0f b6 c3 4783 call 032bch ; e8 1 5fb4789 call 032bch ; e8 11 fb 4784 4790 test ax, ax ; 85 c0 4785 jne short 037c 5h ; 75 1a4791 jne short 037c9h ; 75 1a 4786 4792 mov ax, word [bp+016h] ; 8b 46 16 4787 4793 xor ah, ah ; 30 e4 … … 4792 4798 mov es, ax ; 8e c0 4793 4799 mov byte [es:bx], 080h ; 26 c6 07 80 4794 jmp near 03b 45h ; e9 80034800 jmp near 03b51h ; e9 88 03 4795 4801 movzx cx, bl ; 0f b6 cb 4796 4802 mov ax, cx ; 89 c8 4797 call 03100h ; e8 33f94803 call 03100h ; e8 2f f9 4798 4804 test ax, ax ; 85 c0 4799 jne short 037 dch ; 75 0b4805 jne short 037e0h ; 75 0b 4800 4806 mov ax, cx ; 89 c8 4801 call 031d8h ; e8 02 fa4807 call 031d8h ; e8 fe f9 4802 4808 test ax, ax ; 85 c0 4803 je near 0346 0h ; 0f 84 84 fc4809 je near 03464h ; 0f 84 84 fc 4804 4810 mov dx, word [bp+006h] ; 8b 56 06 4805 4811 shr dx, 00ch ; c1 ea 0c … … 4811 4817 mov word [bp-008h], si ; 89 76 f8 4812 4818 cmp cx, si ; 39 f1 4813 jbe short 037f 8h ; 76 024819 jbe short 037fch ; 76 02 4814 4820 db 0feh, 0c4h 4815 4821 ; inc ah ; fe c4 … … 4820 4826 add dx, cx ; 01 ca 4821 4827 cmp dx, word [bp-008h] ; 3b 56 f8 4822 jc near 034b 3h ; 0f 82 a8 fc4828 jc near 034b7h ; 0f 82 a8 fc 4823 4829 mov AL, strict byte 006h ; b0 06 4824 4830 mov dx, strict word 0000ah ; ba 0a 00 … … 4853 4859 mov dx, strict word 0000ah ; ba 0a 00 4854 4860 out DX, AL ; ee 4855 movzx si, bl ; 0f b6 f34856 mov ax, si ; 89 f04857 call 0308ch ; e8 3 6f84861 movzx cx, bl ; 0f b6 cb 4862 mov ax, cx ; 89 c8 4863 call 0308ch ; e8 32 f8 4858 4864 mov AL, strict byte 00fh ; b0 0f 4859 4865 mov dx, 003f5h ; ba f5 03 4860 4866 out DX, AL ; ee 4861 movzx ax, byte [bp-004h] ; 0f b6 46 fc 4862 sal ax, 002h ; c1 e0 02 4863 movzx cx, bl ; 0f b6 cb 4864 or cx, ax ; 09 c1 4865 mov al, cl ; 88 c8 4867 movzx dx, byte [bp-004h] ; 0f b6 56 fc 4868 sal dx, 002h ; c1 e2 02 4869 movzx ax, bl ; 0f b6 c3 4870 or dx, ax ; 09 c2 4871 mov word [bp-00ah], dx ; 89 56 f6 4872 mov al, byte [bp-00ah] ; 8a 46 f6 4873 mov dx, 003f5h ; ba f5 03 4866 4874 out DX, AL ; ee 4867 4875 mov al, byte [bp-002h] ; 8a 46 fe … … 4869 4877 mov AL, strict byte 04dh ; b0 4d 4870 4878 out DX, AL ; ee 4871 mov al, cl ; 88 c84879 mov al, byte [bp-00ah] ; 8a 46 f6 4872 4880 out DX, AL ; ee 4873 4881 mov AL, strict byte 002h ; b0 02 … … 4879 4887 mov AL, strict byte 0f6h ; b0 f6 4880 4888 out DX, AL ; ee 4881 call 03012h ; e8 8 ef74889 call 03012h ; e8 82 f7 4882 4890 test al, al ; 84 c0 4883 jne short 0389 0h ; 75 084884 mov ax, si ; 89 f04885 call 0304ah ; e8 b df74886 jmp near 037a bh ; e9 1bff4891 jne short 0389ch ; 75 08 4892 mov ax, cx ; 89 c8 4893 call 0304ah ; e8 b1 f7 4894 jmp near 037afh ; e9 13 ff 4887 4895 mov dx, 003f4h ; ba f4 03 4888 4896 in AL, DX ; ec … … 4891 4899 and AL, strict byte 0c0h ; 24 c0 4892 4900 cmp AL, strict byte 0c0h ; 3c c0 4893 je short 038 aah ; 74 0e4901 je short 038b6h ; 74 0e 4894 4902 push 00287h ; 68 87 02 4895 4903 push 002bah ; 68 ba 02 4896 4904 push strict byte 00007h ; 6a 07 4897 call 01a6bh ; e8 c4e14905 call 01a6bh ; e8 b8 e1 4898 4906 add sp, strict byte 00006h ; 83 c4 06 4899 4907 xor cx, cx ; 31 c9 4900 jmp short 038b 3h ; eb 054908 jmp short 038bfh ; eb 05 4901 4909 cmp cx, strict byte 00007h ; 83 f9 07 4902 jnl short 038 c9h ; 7d 164910 jnl short 038d5h ; 7d 16 4903 4911 mov dx, 003f5h ; ba f5 03 4904 4912 in AL, DX ; ec … … 4911 4919 mov byte [es:si], al ; 26 88 04 4912 4920 inc cx ; 41 4913 jmp short 038 aeh ; eb e54921 jmp short 038bah ; eb e5 4914 4922 mov si, strict word 00042h ; be 42 00 4915 4923 mov ax, strict word 00040h ; b8 40 00 … … 4917 4925 mov al, byte [es:si] ; 26 8a 04 4918 4926 test AL, strict byte 0c0h ; a8 c0 4919 je short 038f 2h ; 74 1a4927 je short 038feh ; 74 1a 4920 4928 mov si, strict word 00043h ; be 43 00 4921 4929 mov al, byte [es:si] ; 26 8a 04 4922 4930 test AL, strict byte 002h ; a8 02 4923 jne near 0373 2h ; 0f 85 4efe4931 jne near 03736h ; 0f 85 46 fe 4924 4932 push 00287h ; 68 87 02 4925 4933 push 002ceh ; 68 ce 02 4926 4934 push strict byte 00007h ; 6a 07 4927 call 01a6bh ; e8 7 ce14935 call 01a6bh ; e8 70 e1 4928 4936 add sp, strict byte 00006h ; 83 c4 06 4929 4937 mov byte [bp+017h], 000h ; c6 46 17 00 … … 4934 4942 movzx ax, bl ; 0f b6 c3 4935 4943 xor dx, dx ; 31 d2 4936 call 02fc5h ; e8 bbf64937 jmp near 036 0eh ; e9 01 fd4944 call 02fc5h ; e8 af f6 4945 jmp near 03612h ; e9 f9 fc 4938 4946 mov bl, ah ; 88 e3 4939 4947 cmp ah, 001h ; 80 fc 01 4940 jbe short 0393 1h ; 76 1d4948 jbe short 0393dh ; 76 1d 4941 4949 xor ax, ax ; 31 c0 4942 4950 mov word [bp+016h], ax ; 89 46 16 … … 4948 4956 movzx ax, bh ; 0f b6 c7 4949 4957 mov word [bp+012h], ax ; 89 46 12 4950 jmp near 03a5 3h ; e9 22 014958 jmp near 03a5fh ; e9 22 01 4951 4959 mov ax, strict word 00010h ; b8 10 00 4952 call 017a5h ; e8 6 ede4960 call 017a5h ; e8 62 de 4953 4961 mov dl, al ; 88 c2 4954 4962 xor bh, bh ; 30 ff 4955 4963 test AL, strict byte 0f0h ; a8 f0 4956 je short 0394 1h ; 74 024964 je short 0394dh ; 74 02 4957 4965 mov BH, strict byte 001h ; b7 01 4958 4966 test dl, 00fh ; f6 c2 0f 4959 je short 039 48h ; 74 024967 je short 03954h ; 74 02 4960 4968 db 0feh, 0c7h 4961 4969 ; inc bh ; fe c7 4962 4970 test bl, bl ; 84 db 4963 jne short 0395 1h ; 75 054971 jne short 0395dh ; 75 05 4964 4972 shr dl, 004h ; c0 ea 04 4965 jmp short 039 54h ; eb 034973 jmp short 03960h ; eb 03 4966 4974 and dl, 00fh ; 80 e2 0f 4967 4975 mov byte [bp+011h], 000h ; c6 46 11 00 … … 4979 4987 mov word [bp+012h], ax ; 89 46 12 4980 4988 cmp dl, 003h ; 80 fa 03 4981 jc short 039 94h ; 72 154982 jbe short 039 bbh ; 76 3a4989 jc short 039a0h ; 72 15 4990 jbe short 039c7h ; 76 3a 4983 4991 cmp dl, 005h ; 80 fa 05 4984 jc short 039c 2h ; 72 3c4985 jbe short 039 c9h ; 76 414992 jc short 039ceh ; 72 3c 4993 jbe short 039d5h ; 76 41 4986 4994 cmp dl, 00fh ; 80 fa 0f 4987 je short 039 d7h ; 74 4a4995 je short 039e3h ; 74 4a 4988 4996 cmp dl, 00eh ; 80 fa 0e 4989 je short 039d 0h ; 74 3e4990 jmp short 039 deh ; eb 4a4997 je short 039dch ; 74 3e 4998 jmp short 039eah ; eb 4a 4991 4999 cmp dl, 002h ; 80 fa 02 4992 je short 039 b4h ; 74 1b5000 je short 039c0h ; 74 1b 4993 5001 cmp dl, 001h ; 80 fa 01 4994 je short 039 adh ; 74 0f5002 je short 039b9h ; 74 0f 4995 5003 test dl, dl ; 84 d2 4996 jne short 039 deh ; 75 3c5004 jne short 039eah ; 75 3c 4997 5005 mov word [bp+014h], strict word 00000h ; c7 46 14 00 00 4998 5006 mov byte [bp+013h], 000h ; c6 46 13 00 4999 jmp short 039 ech ; eb 3f5007 jmp short 039f8h ; eb 3f 5000 5008 mov word [bp+014h], 02709h ; c7 46 14 09 27 5001 jmp short 039 ech ; eb 385009 jmp short 039f8h ; eb 38 5002 5010 mov word [bp+014h], 04f0fh ; c7 46 14 0f 4f 5003 jmp short 039 ech ; eb 315011 jmp short 039f8h ; eb 31 5004 5012 mov word [bp+014h], 04f09h ; c7 46 14 09 4f 5005 jmp short 039 ech ; eb 2a5013 jmp short 039f8h ; eb 2a 5006 5014 mov word [bp+014h], 04f12h ; c7 46 14 12 4f 5007 jmp short 039 ech ; eb 235015 jmp short 039f8h ; eb 23 5008 5016 mov word [bp+014h], 04f24h ; c7 46 14 24 4f 5009 jmp short 039 ech ; eb 1c5017 jmp short 039f8h ; eb 1c 5010 5018 mov word [bp+014h], 0fe3fh ; c7 46 14 3f fe 5011 jmp short 039 ech ; eb 155019 jmp short 039f8h ; eb 15 5012 5020 mov word [bp+014h], 0feffh ; c7 46 14 ff fe 5013 jmp short 039 ech ; eb 0e5021 jmp short 039f8h ; eb 0e 5014 5022 push 00287h ; 68 87 02 5015 5023 push 002dfh ; 68 df 02 5016 5024 push strict byte 00007h ; 6a 07 5017 call 01a6bh ; e8 82e05025 call 01a6bh ; e8 76 e0 5018 5026 add sp, strict byte 00006h ; 83 c4 06 5019 5027 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 5020 5028 movzx ax, dl ; 0f b6 c2 5021 call 03c 7bh ; e8 84 025029 call 03c87h ; e8 84 02 5022 5030 mov word [bp+008h], ax ; 89 46 08 5023 jmp near 036 0eh ; e9 11fc5031 jmp near 03612h ; e9 09 fc 5024 5032 mov bl, ah ; 88 e3 5025 5033 cmp ah, 001h ; 80 fc 01 5026 jbe short 03a 09h ; 76 055034 jbe short 03a15h ; 76 05 5027 5035 mov word [bp+016h], dx ; 89 56 16 5028 jmp short 03a5 3h ; eb 4a5036 jmp short 03a5fh ; eb 4a 5029 5037 mov ax, strict word 00010h ; b8 10 00 5030 call 017a5h ; e8 96dd5038 call 017a5h ; e8 8a dd 5031 5039 test bl, bl ; 84 db 5032 jne short 03a 1ah ; 75 075040 jne short 03a26h ; 75 07 5033 5041 mov dl, al ; 88 c2 5034 5042 shr dl, 004h ; c0 ea 04 5035 jmp short 03a 1fh ; eb 055043 jmp short 03a2bh ; eb 05 5036 5044 mov dl, al ; 88 c2 5037 5045 and dl, 00fh ; 80 e2 0f … … 5040 5048 xor ah, ah ; 30 e4 5041 5049 test dl, dl ; 84 d2 5042 je short 03a 39h ; 74 0d5050 je short 03a45h ; 74 0d 5043 5051 cmp dl, 001h ; 80 fa 01 5044 jbe short 03a 36h ; 76 055052 jbe short 03a42h ; 76 05 5045 5053 or ah, 002h ; 80 cc 02 5046 jmp short 03a 39h ; eb 035054 jmp short 03a45h ; eb 03 5047 5055 or ah, 001h ; 80 cc 01 5048 5056 mov word [bp+016h], ax ; 89 46 16 5049 jmp near 033b 8h ; e9 79f95057 jmp near 033bch ; e9 71 f9 5050 5058 cmp ah, 001h ; 80 fc 01 5051 jbe short 03a 59h ; 76 155059 jbe short 03a65h ; 76 15 5052 5060 mov word [bp+016h], si ; 89 76 16 5053 5061 mov bx, strict word 00041h ; bb 41 00 … … 5056 5064 mov byte [es:bx], 001h ; 26 c6 07 01 5057 5065 mov word [bp+01ch], cx ; 89 4e 1c 5058 jmp near 033b 8h ; e9 5ff95066 jmp near 033bch ; e9 57 f9 5059 5067 mov ax, word [bp+016h] ; 8b 46 16 5060 5068 xor ah, ah ; 30 e4 … … 5065 5073 mov es, ax ; 8e c0 5066 5074 mov byte [es:bx], 006h ; 26 c6 07 06 5067 jmp near 03b 45h ; e9 d2 005075 jmp near 03b51h ; e9 d2 00 5068 5076 mov bl, ah ; 88 e3 5069 5077 mov dl, byte [bp+016h] ; 8a 56 16 5070 5078 cmp ah, 001h ; 80 fc 01 5071 jnbe short 03a 44h ; 77 c75079 jnbe short 03a50h ; 77 c7 5072 5080 movzx ax, bl ; 0f b6 c3 5073 call 032bch ; e8 39f85081 call 032bch ; e8 2d f8 5074 5082 test ax, ax ; 85 c0 5075 je near 037a bh ; 0f 84 22fd5083 je near 037afh ; 0f 84 1a fd 5076 5084 test bl, bl ; 84 db 5077 5085 db 00fh, 095h, 0c0h … … 5085 5093 and bl, 00fh ; 80 e3 0f 5086 5094 cmp dl, 002h ; 80 fa 02 5087 jc short 03a b7h ; 72 0f5088 jbe short 03a c4h ; 76 1a5095 jc short 03ac3h ; 72 0f 5096 jbe short 03ad0h ; 76 1a 5089 5097 cmp dl, 004h ; 80 fa 04 5090 je short 03a bfh ; 74 105098 je short 03acbh ; 74 10 5091 5099 cmp dl, 003h ; 80 fa 03 5092 je short 03a c9h ; 74 155093 jmp near 0334 7h ; e9 90f85100 je short 03ad5h ; 74 15 5101 jmp near 0334bh ; e9 88 f8 5094 5102 cmp dl, 001h ; 80 fa 01 5095 je short 03a bfh ; 74 035096 jmp near 0334 7h ; e9 88f85103 je short 03acbh ; 74 03 5104 jmp near 0334bh ; e9 80 f8 5097 5105 or bl, 090h ; 80 cb 90 5098 jmp short 03a cch ; eb 085106 jmp short 03ad8h ; eb 08 5099 5107 or bl, 070h ; 80 cb 70 5100 jmp short 03a cch ; eb 035108 jmp short 03ad8h ; eb 03 5101 5109 or bl, 010h ; 80 cb 10 5102 5110 mov ax, strict word 00040h ; b8 40 00 … … 5108 5116 mov bx, strict word 00041h ; bb 41 00 5109 5117 mov byte [es:bx], al ; 26 88 07 5110 jmp near 036 0eh ; e9 29fb5118 jmp near 03612h ; e9 21 fb 5111 5119 mov bl, ah ; 88 e3 5112 5120 mov dl, byte [bp+014h] ; 8a 56 14 … … 5116 5124 sar dx, 006h ; c1 fa 06 5117 5125 sal dx, 008h ; c1 e2 08 5118 mov word [bp-00 ah], dx ; 89 56 f65126 mov word [bp-00ch], dx ; 89 56 f4 5119 5127 mov dx, word [bp+014h] ; 8b 56 14 5120 5128 shr dx, 008h ; c1 ea 08 5121 add dx, word [bp-00 ah] ; 03 56 f65129 add dx, word [bp-00ch] ; 03 56 f4 5122 5130 mov byte [bp-002h], dl ; 88 56 fe 5123 5131 cmp ah, 001h ; 80 fc 01 5124 jnbe near 03a 44h ; 0f 87 37 ff5132 jnbe near 03a50h ; 0f 87 37 ff 5125 5133 movzx ax, bl ; 0f b6 c3 5126 call 032bch ; e8 a9f75134 call 032bch ; e8 9d f7 5127 5135 test ax, ax ; 85 c0 5128 je near 037a bh ; 0f 84 92fc5136 je near 037afh ; 0f 84 8a fc 5129 5137 movzx cx, bl ; 0f b6 cb 5130 5138 mov ax, cx ; 89 c8 5131 call 03100h ; e8 d ff55139 call 03100h ; e8 d3 f5 5132 5140 test ax, ax ; 85 c0 5133 jne short 03b 4ch ; 75 275141 jne short 03b58h ; 75 27 5134 5142 mov ax, cx ; 89 c8 5135 call 031d8h ; e8 a ef65143 call 031d8h ; e8 a2 f6 5136 5144 test ax, ax ; 85 c0 5137 jne short 03b 4ch ; 75 1e5145 jne short 03b58h ; 75 1e 5138 5146 mov ax, word [bp+016h] ; 8b 46 16 5139 5147 xor ah, ah ; 30 e4 … … 5145 5153 mov byte [es:bx], 00ch ; 26 c6 07 0c 5146 5154 or byte [bp+01ch], 001h ; 80 4e 1c 01 5147 jmp near 033b 8h ; e9 6cf85155 jmp near 033bch ; e9 64 f8 5148 5156 mov ax, strict word 00010h ; b8 10 00 5149 call 017a5h ; e8 53dc5157 call 017a5h ; e8 47 dc 5150 5158 test bl, bl ; 84 db 5151 jne short 03b 5dh ; 75 075159 jne short 03b69h ; 75 07 5152 5160 mov dl, al ; 88 c2 5153 5161 shr dl, 004h ; c0 ea 04 5154 jmp short 03b6 2h ; eb 055162 jmp short 03b6eh ; eb 05 5155 5163 mov dl, al ; 88 c2 5156 5164 and dl, 00fh ; 80 e2 0f … … 5166 5174 and bl, 00fh ; 80 e3 0f 5167 5175 cmp dl, 003h ; 80 fa 03 5168 jc short 03b9eh ; 72 1d 5176 jc short 03baah ; 72 1d 5177 mov al, bl ; 88 d8 5178 or AL, strict byte 090h ; 0c 90 5179 cmp dl, 003h ; 80 fa 03 5180 jbe short 03bebh ; 76 55 5169 5181 mov ah, bl ; 88 dc 5170 or ah, 090h ; 80 cc 90 5171 cmp dl, 003h ; 80 fa 03 5172 jbe short 03bdfh ; 76 54 5173 mov al, bl ; 88 d8 5174 or AL, strict byte 010h ; 0c 10 5182 or ah, 010h ; 80 cc 10 5175 5183 cmp dl, 005h ; 80 fa 05 5176 je near 03c 04h ; 0f 84 6e 005184 je near 03c10h ; 0f 84 6e 00 5177 5185 cmp dl, 004h ; 80 fa 04 5178 je short 03b eeh ; 74 535179 jmp near 03c2 0h ; e9 82 005186 je short 03bfah ; 74 53 5187 jmp near 03c2ch ; e9 82 00 5180 5188 cmp dl, 002h ; 80 fa 02 5181 je short 03b bfh ; 74 1c5189 je short 03bcbh ; 74 1c 5182 5190 cmp dl, 001h ; 80 fa 01 5183 jne near 03c2 0h ; 0f 85 76 005191 jne near 03c2ch ; 0f 85 76 00 5184 5192 cmp byte [bp-002h], 027h ; 80 7e fe 27 5185 jne near 03c2 0h ; 0f 85 6e 005193 jne near 03c2ch ; 0f 85 6e 00 5186 5194 cmp bh, 009h ; 80 ff 09 5187 jne near 03c2 0h ; 0f 85 67 005195 jne near 03c2ch ; 0f 85 67 00 5188 5196 or bl, 090h ; 80 cb 90 5189 jmp near 03c2 0h ; e9 61 005197 jmp near 03c2ch ; e9 61 00 5190 5198 cmp byte [bp-002h], 027h ; 80 7e fe 27 5191 jne short 03b cfh ; 75 0a5199 jne short 03bdbh ; 75 0a 5192 5200 cmp bh, 009h ; 80 ff 09 5193 jne short 03b cfh ; 75 055201 jne short 03bdbh ; 75 05 5194 5202 or bl, 070h ; 80 cb 70 5195 jmp short 03c2 0h ; eb 515203 jmp short 03c2ch ; eb 51 5196 5204 cmp byte [bp-002h], 04fh ; 80 7e fe 4f 5197 jne short 03c2 0h ; 75 4b5205 jne short 03c2ch ; 75 4b 5198 5206 cmp bh, 00fh ; 80 ff 0f 5199 jne short 03c2 0h ; 75 465207 jne short 03c2ch ; 75 46 5200 5208 or bl, 010h ; 80 cb 10 5201 jmp short 03c2 0h ; eb 415209 jmp short 03c2ch ; eb 41 5202 5210 cmp byte [bp-002h], 04fh ; 80 7e fe 4f 5203 jne short 03c2 0h ; 75 3b5211 jne short 03c2ch ; 75 3b 5204 5212 cmp bh, 009h ; 80 ff 09 5205 jne short 03c20h ; 75 36 5213 jne short 03c2ch ; 75 36 5214 mov bl, al ; 88 c3 5215 jmp short 03c2ch ; eb 32 5216 cmp byte [bp-002h], 04fh ; 80 7e fe 4f 5217 jne short 03c2ch ; 75 2c 5218 cmp bh, 009h ; 80 ff 09 5219 jne short 03c07h ; 75 02 5220 jmp short 03bf6h ; eb ef 5221 cmp bh, 012h ; 80 ff 12 5222 jne short 03c2ch ; 75 20 5206 5223 mov bl, ah ; 88 e3 5207 jmp short 03c2 0h ; eb 325224 jmp short 03c2ch ; eb 1c 5208 5225 cmp byte [bp-002h], 04fh ; 80 7e fe 4f 5209 jne short 03c2 0h ; 75 2c5226 jne short 03c2ch ; 75 16 5210 5227 cmp bh, 009h ; 80 ff 09 5211 jne short 03 bfbh ; 75 025212 jmp short 03b eah ; eb ef5228 jne short 03c1dh ; 75 02 5229 jmp short 03bf6h ; eb d9 5213 5230 cmp bh, 012h ; 80 ff 12 5214 jne short 03c20h ; 75 20 5215 mov bl, al ; 88 c3 5216 jmp short 03c20h ; eb 1c 5217 cmp byte [bp-002h], 04fh ; 80 7e fe 4f 5218 jne short 03c20h ; 75 16 5219 cmp bh, 009h ; 80 ff 09 5220 jne short 03c11h ; 75 02 5221 jmp short 03beah ; eb d9 5222 cmp bh, 012h ; 80 ff 12 5223 jne short 03c18h ; 75 02 5224 jmp short 03c00h ; eb e8 5231 jne short 03c24h ; 75 02 5232 jmp short 03c0ch ; eb e8 5225 5233 cmp bh, 024h ; 80 ff 24 5226 jne short 03c2 0h ; 75 035234 jne short 03c2ch ; 75 03 5227 5235 or bl, 0d0h ; 80 cb d0 5228 5236 movzx ax, bl ; 0f b6 c3 5229 5237 sar ax, 004h ; c1 f8 04 5230 5238 test AL, strict byte 001h ; a8 01 5231 je near 03b 2eh ; 0f 84 02 ff5239 je near 03b3ah ; 0f 84 02 ff 5232 5240 mov ax, strict word 00040h ; b8 40 00 5233 5241 mov es, ax ; 8e c0 … … 5236 5244 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 5237 5245 movzx ax, dl ; 0f b6 c2 5238 call 03c 7bh ; e8 39 005246 call 03c87h ; e8 39 00 5239 5247 mov word [bp+008h], ax ; 89 46 08 5240 5248 mov byte [bp+017h], 000h ; c6 46 17 00 … … 5243 5251 mov es, ax ; 8e c0 5244 5252 mov byte [es:bx], 000h ; 26 c6 07 00 5245 jmp near 036 0eh ; e9 b6f95253 jmp near 03612h ; e9 ae f9 5246 5254 mov bx, 00db2h ; bb b2 0d 5247 5255 mov cx, ds ; 8c d9 5248 5256 mov ax, strict word 00004h ; b8 04 00 5249 call 01a2ah ; e8 c7dd5257 call 01a2ah ; e8 bb dd 5250 5258 mov ax, word [bp+016h] ; 8b 46 16 5251 5259 shr ax, 008h ; c1 e8 08 … … 5254 5262 push 002f4h ; 68 f4 02 5255 5263 push strict byte 00004h ; 6a 04 5256 call 01a6bh ; e8 f6dd5264 call 01a6bh ; e8 ea dd 5257 5265 add sp, strict byte 00008h ; 83 c4 08 5258 jmp near 0334 7h ; e9 ccf65259 get_floppy_dpt_: ; 0xf3c 7bLB 0x2f5266 jmp near 0334bh ; e9 c4 f6 5267 get_floppy_dpt_: ; 0xf3c87 LB 0x2f 5260 5268 push bx ; 53 5261 5269 push dx ; 52 … … 5264 5272 mov dl, al ; 88 c2 5265 5273 xor ax, ax ; 31 c0 5266 jmp short 03c 8ch ; eb 065274 jmp short 03c98h ; eb 06 5267 5275 inc ax ; 40 5268 5276 cmp ax, strict word 00007h ; 3d 07 00 5269 jnc short 03ca 3h ; 73 175277 jnc short 03cafh ; 73 17 5270 5278 mov bx, ax ; 89 c3 5271 5279 add bx, ax ; 01 c3 5272 5280 cmp dl, byte [word bx+0005bh] ; 3a 97 5b 00 5273 jne short 03c 86h ; 75 f05281 jne short 03c92h ; 75 f0 5274 5282 movzx ax, byte [word bx+0005ch] ; 0f b6 87 5c 00 5275 5283 imul ax, ax, strict byte 0000dh ; 6b c0 0d 5276 5284 add ax, strict word 00000h ; 05 00 00 5277 jmp short 03c a6h ; eb 035285 jmp short 03cb2h ; eb 03 5278 5286 mov ax, strict word 00041h ; b8 41 00 5279 5287 pop bp ; 5d … … 5281 5289 pop bx ; 5b 5282 5290 retn ; c3 5283 dummy_soft_reset_: ; 0xf3c aaLB 0x75291 dummy_soft_reset_: ; 0xf3cb6 LB 0x7 5284 5292 push bp ; 55 5285 5293 mov bp, sp ; 89 e5 … … 5287 5295 pop bp ; 5d 5288 5296 retn ; c3 5289 _cdemu_init: ; 0xf3cb 1LB 0x185297 _cdemu_init: ; 0xf3cbd LB 0x18 5290 5298 push bp ; 55 5291 5299 mov bp, sp ; 89 e5 5292 5300 mov dx, strict word 0000eh ; ba 0e 00 5293 5301 mov ax, strict word 00040h ; b8 40 00 5294 call 01765h ; e8 a8da5302 call 01765h ; e8 9c da 5295 5303 xor bx, bx ; 31 db 5296 5304 mov dx, 00366h ; ba 66 03 5297 call 01757h ; e8 92da5305 call 01757h ; e8 86 da 5298 5306 mov sp, bp ; 89 ec 5299 5307 pop bp ; 5d 5300 5308 retn ; c3 5301 _cdemu_isactive: ; 0xf3c c9LB 0x165309 _cdemu_isactive: ; 0xf3cd5 LB 0x16 5302 5310 push bp ; 55 5303 5311 mov bp, sp ; 89 e5 5304 5312 mov dx, strict word 0000eh ; ba 0e 00 5305 5313 mov ax, strict word 00040h ; b8 40 00 5306 call 01765h ; e8 90da5314 call 01765h ; e8 84 da 5307 5315 mov dx, 00366h ; ba 66 03 5308 call 01749h ; e8 6 eda5316 call 01749h ; e8 62 da 5309 5317 mov sp, bp ; 89 ec 5310 5318 pop bp ; 5d 5311 5319 retn ; c3 5312 _cdemu_emulated_drive: ; 0xf3c dfLB 0x165320 _cdemu_emulated_drive: ; 0xf3ceb LB 0x16 5313 5321 push bp ; 55 5314 5322 mov bp, sp ; 89 e5 5315 5323 mov dx, strict word 0000eh ; ba 0e 00 5316 5324 mov ax, strict word 00040h ; b8 40 00 5317 call 01765h ; e8 7ada5325 call 01765h ; e8 6e da 5318 5326 mov dx, 00368h ; ba 68 03 5319 call 01749h ; e8 58da5327 call 01749h ; e8 4c da 5320 5328 mov sp, bp ; 89 ec 5321 5329 pop bp ; 5d 5322 5330 retn ; c3 5323 _int13_eltorito: ; 0xf3 cf5LB 0x1895331 _int13_eltorito: ; 0xf3d01 LB 0x189 5324 5332 push bp ; 55 5325 5333 mov bp, sp ; 89 e5 … … 5328 5336 mov dx, strict word 0000eh ; ba 0e 00 5329 5337 mov ax, strict word 00040h ; b8 40 00 5330 call 01765h ; e8 62da5338 call 01765h ; e8 56 da 5331 5339 mov si, 00366h ; be 66 03 5332 5340 mov di, ax ; 89 c7 … … 5334 5342 shr ax, 008h ; c1 e8 08 5335 5343 cmp ax, strict word 0004bh ; 3d 4b 00 5336 jc short 03d 1dh ; 72 0a5337 jbe short 03d4 3h ; 76 2e5344 jc short 03d29h ; 72 0a 5345 jbe short 03d4fh ; 76 2e 5338 5346 cmp ax, strict word 0004dh ; 3d 4d 00 5339 jbe short 03d 24h ; 76 0a5340 jmp near 03e4 2h ; e9 25 015347 jbe short 03d30h ; 76 0a 5348 jmp near 03e4eh ; e9 25 01 5341 5349 cmp ax, strict word 0004ah ; 3d 4a 00 5342 jne near 03e4 2h ; 0f 85 1e 015350 jne near 03e4eh ; 0f 85 1e 01 5343 5351 mov bx, 00db2h ; bb b2 0d 5344 5352 mov cx, ds ; 8c d9 5345 5353 mov ax, strict word 00004h ; b8 04 00 5346 call 01a2ah ; e8 fbdc5354 call 01a2ah ; e8 ef dc 5347 5355 push word [bp+016h] ; ff 76 16 5348 5356 push 0030eh ; 68 0e 03 5349 5357 push 0031dh ; 68 1d 03 5350 5358 push strict byte 00004h ; 6a 04 5351 call 01a6bh ; e8 2 edd5359 call 01a6bh ; e8 22 dd 5352 5360 add sp, strict byte 00008h ; 83 c4 08 5353 jmp near 03e 5dh ; e9 1a 015361 jmp near 03e69h ; e9 1a 01 5354 5362 mov dx, word [bp+00ah] ; 8b 56 0a 5355 5363 mov ax, word [bp+004h] ; 8b 46 04 5356 5364 mov bx, strict word 00013h ; bb 13 00 5357 call 01757h ; e8 08 da5365 call 01757h ; e8 fc d9 5358 5366 mov es, di ; 8e c7 5359 5367 movzx bx, byte [es:si+001h] ; 26 0f b6 5c 01 … … 5361 5369 inc dx ; 42 5362 5370 mov ax, word [bp+004h] ; 8b 46 04 5363 call 01757h ; e8 f7d95371 call 01757h ; e8 eb d9 5364 5372 mov es, di ; 8e c7 5365 5373 movzx bx, byte [es:si+002h] ; 26 0f b6 5c 02 … … 5368 5376 inc dx ; 42 5369 5377 mov ax, word [bp+004h] ; 8b 46 04 5370 call 01757h ; e8 e5d95378 call 01757h ; e8 d9 d9 5371 5379 mov es, di ; 8e c7 5372 5380 movzx bx, byte [es:si+003h] ; 26 0f b6 5c 03 … … 5374 5382 add dx, strict byte 00003h ; 83 c2 03 5375 5383 mov ax, word [bp+004h] ; 8b 46 04 5376 call 01757h ; e8 d2d95384 call 01757h ; e8 c6 d9 5377 5385 mov es, di ; 8e c7 5378 5386 mov bx, word [es:si+008h] ; 26 8b 5c 08 … … 5381 5389 add dx, strict byte 00004h ; 83 c2 04 5382 5390 mov ax, word [bp+004h] ; 8b 46 04 5383 call 01793h ; e8 f8d95391 call 01793h ; e8 ec d9 5384 5392 mov es, di ; 8e c7 5385 5393 mov bx, word [es:si+004h] ; 26 8b 5c 04 … … 5387 5395 add dx, strict byte 00008h ; 83 c2 08 5388 5396 mov ax, word [bp+004h] ; 8b 46 04 5389 call 01773h ; e8 c6d95397 call 01773h ; e8 ba d9 5390 5398 mov es, di ; 8e c7 5391 5399 mov bx, word [es:si+006h] ; 26 8b 5c 06 … … 5393 5401 add dx, strict byte 0000ah ; 83 c2 0a 5394 5402 mov ax, word [bp+004h] ; 8b 46 04 5395 call 01773h ; e8 b4d95403 call 01773h ; e8 a8 d9 5396 5404 mov es, di ; 8e c7 5397 5405 mov bx, word [es:si+00ch] ; 26 8b 5c 0c … … 5399 5407 add dx, strict byte 0000ch ; 83 c2 0c 5400 5408 mov ax, word [bp+004h] ; 8b 46 04 5401 call 01773h ; e8 a2d95409 call 01773h ; e8 96 d9 5402 5410 mov es, di ; 8e c7 5403 5411 mov bx, word [es:si+00eh] ; 26 8b 5c 0e … … 5405 5413 add dx, strict byte 0000eh ; 83 c2 0e 5406 5414 mov ax, word [bp+004h] ; 8b 46 04 5407 call 01773h ; e8 90d95415 call 01773h ; e8 84 d9 5408 5416 mov es, di ; 8e c7 5409 5417 movzx bx, byte [es:si+012h] ; 26 0f b6 5c 12 … … 5411 5419 add dx, strict byte 00010h ; 83 c2 10 5412 5420 mov ax, word [bp+004h] ; 8b 46 04 5413 call 01757h ; e8 61d95421 call 01757h ; e8 55 d9 5414 5422 mov es, di ; 8e c7 5415 5423 movzx bx, byte [es:si+014h] ; 26 0f b6 5c 14 … … 5417 5425 add dx, strict byte 00011h ; 83 c2 11 5418 5426 mov ax, word [bp+004h] ; 8b 46 04 5419 call 01757h ; e8 4 ed95427 call 01757h ; e8 42 d9 5420 5428 mov es, di ; 8e c7 5421 5429 movzx bx, byte [es:si+010h] ; 26 0f b6 5c 10 … … 5423 5431 add dx, strict byte 00012h ; 83 c2 12 5424 5432 mov ax, word [bp+004h] ; 8b 46 04 5425 call 01757h ; e8 3bd95433 call 01757h ; e8 2f d9 5426 5434 test byte [bp+016h], 0ffh ; f6 46 16 ff 5427 jne short 03e 28h ; 75 065435 jne short 03e34h ; 75 06 5428 5436 mov es, di ; 8e c7 5429 5437 mov byte [es:si], 000h ; 26 c6 04 00 … … 5432 5440 mov dx, strict word 00074h ; ba 74 00 5433 5441 mov ax, strict word 00040h ; b8 40 00 5434 call 01757h ; e8 20d95442 call 01757h ; e8 14 d9 5435 5443 and byte [bp+01ch], 0feh ; 80 66 1c fe 5436 5444 lea sp, [bp-004h] ; 8d 66 fc … … 5442 5450 mov cx, ds ; 8c d9 5443 5451 mov ax, strict word 00004h ; b8 04 00 5444 call 01a2ah ; e8 d ddb5452 call 01a2ah ; e8 d1 db 5445 5453 mov ax, word [bp+016h] ; 8b 46 16 5446 5454 shr ax, 008h ; c1 e8 08 … … 5448 5456 push 0030eh ; 68 0e 03 5449 5457 push 00345h ; 68 45 03 5450 jmp near 03d 38h ; e9 db fe5458 jmp near 03d44h ; e9 db fe 5451 5459 mov ax, word [bp+016h] ; 8b 46 16 5452 5460 xor ah, ah ; 30 e4 … … 5458 5466 mov dx, strict word 00074h ; ba 74 00 5459 5467 mov ax, strict word 00040h ; b8 40 00 5460 call 01757h ; e8 d fd85468 call 01757h ; e8 d3 d8 5461 5469 or byte [bp+01ch], 001h ; 80 4e 1c 01 5462 jmp short 03e 3bh ; eb bd5463 device_is_cdrom_: ; 0xf3e 7eLB 0x355470 jmp short 03e47h ; eb bd 5471 device_is_cdrom_: ; 0xf3e8a LB 0x35 5464 5472 push bp ; 55 5465 5473 mov bp, sp ; 89 e5 … … 5469 5477 mov dx, strict word 0000eh ; ba 0e 00 5470 5478 mov ax, strict word 00040h ; b8 40 00 5471 call 01765h ; e8 d7d85479 call 01765h ; e8 cb d8 5472 5480 cmp bl, 010h ; 80 fb 10 5473 jc short 03e 97h ; 72 045481 jc short 03ea3h ; 72 04 5474 5482 xor ax, ax ; 31 c0 5475 jmp short 03e ach ; eb 155483 jmp short 03eb8h ; eb 15 5476 5484 xor bh, bh ; 30 ff 5477 5485 imul bx, bx, strict byte 0001ch ; 6b db 1c … … 5479 5487 add bx, 00122h ; 81 c3 22 01 5480 5488 cmp byte [es:bx+023h], 005h ; 26 80 7f 23 05 5481 jne short 03e9 3h ; 75 ea5489 jne short 03e9fh ; 75 ea 5482 5490 mov ax, strict word 00001h ; b8 01 00 5483 5491 lea sp, [bp-004h] ; 8d 66 fc … … 5486 5494 pop bp ; 5d 5487 5495 retn ; c3 5488 cdrom_boot_: ; 0xf3eb 3LB 0x4175496 cdrom_boot_: ; 0xf3ebf LB 0x417 5489 5497 push bp ; 55 5490 5498 mov bp, sp ; 89 e5 … … 5497 5505 mov dx, strict word 0000eh ; ba 0e 00 5498 5506 mov ax, strict word 00040h ; b8 40 00 5499 call 01765h ; e8 9 dd85507 call 01765h ; e8 91 d8 5500 5508 mov word [bp-018h], ax ; 89 46 e8 5501 5509 mov si, 00366h ; be 66 03 … … 5504 5512 mov word [bp-012h], ax ; 89 46 ee 5505 5513 mov byte [bp-00ch], 000h ; c6 46 f4 00 5506 jmp short 03e e8h ; eb 095514 jmp short 03ef4h ; eb 09 5507 5515 inc byte [bp-00ch] ; fe 46 f4 5508 5516 cmp byte [bp-00ch], 010h ; 80 7e f4 10 5509 jnc short 03ef 3h ; 73 0b5517 jnc short 03effh ; 73 0b 5510 5518 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 5511 call 03e 7eh ; e8 8f ff5519 call 03e8ah ; e8 8f ff 5512 5520 test ax, ax ; 85 c0 5513 je short 03e dfh ; 74 ec5521 je short 03eebh ; 74 ec 5514 5522 cmp byte [bp-00ch], 010h ; 80 7e f4 10 5515 jc short 03 effh ; 72 065523 jc short 03f0bh ; 72 06 5516 5524 mov ax, strict word 00002h ; b8 02 00 5517 jmp near 042 67h ; e9 68 035525 jmp near 04273h ; e9 68 03 5518 5526 mov cx, strict word 0000ch ; b9 0c 00 5519 5527 xor bx, bx ; 31 db 5520 5528 mov dx, ss ; 8c d2 5521 5529 lea ax, [bp-026h] ; 8d 46 da 5522 call 0a0 80h ; e8 74615530 call 0a090h ; e8 78 61 5523 5531 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 5524 5532 mov ax, strict word 00011h ; b8 11 00 … … 5536 5544 ; mov dword [es:bx+00eh], strict dword 008000001h ; 66 26 c7 47 0e 01 00 00 08 5537 5545 mov byte [bp-00eh], 000h ; c6 46 f2 00 5538 jmp short 03f 44h ; eb 095546 jmp short 03f50h ; eb 09 5539 5547 inc byte [bp-00eh] ; fe 46 f2 5540 5548 cmp byte [bp-00eh], 004h ; 80 7e f2 04 5541 jnbe short 03f 7ah ; 77 365549 jnbe short 03f86h ; 77 36 5542 5550 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 5543 5551 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 5559 5567 call word [word di+0006ah] ; ff 95 6a 00 5560 5568 test ax, ax ; 85 c0 5561 jne short 03f 3bh ; 75 c15569 jne short 03f47h ; 75 c1 5562 5570 test ax, ax ; 85 c0 5563 je short 03f 84h ; 74 065571 je short 03f90h ; 74 06 5564 5572 mov ax, strict word 00003h ; b8 03 00 5565 jmp near 042 67h ; e9 e3 025573 jmp near 04273h ; e9 e3 02 5566 5574 cmp byte [bp-00826h], 000h ; 80 be da f7 00 5567 je short 03f9 1h ; 74 065575 je short 03f9dh ; 74 06 5568 5576 mov ax, strict word 00004h ; b8 04 00 5569 jmp near 042 67h ; e9 d6 025577 jmp near 04273h ; e9 d6 02 5570 5578 xor di, di ; 31 ff 5571 jmp short 03f 9bh ; eb 065579 jmp short 03fa7h ; eb 06 5572 5580 inc di ; 47 5573 5581 cmp di, strict byte 00005h ; 83 ff 05 5574 jnc short 03f abh ; 73 105582 jnc short 03fb7h ; 73 10 5575 5583 mov al, byte [bp+di-00825h] ; 8a 83 db f7 5576 5584 cmp al, byte [di+00dbah] ; 3a 85 ba 0d 5577 je short 03f 95h ; 74 f05585 je short 03fa1h ; 74 f0 5578 5586 mov ax, strict word 00005h ; b8 05 00 5579 jmp near 042 67h ; e9 bc 025587 jmp near 04273h ; e9 bc 02 5580 5588 xor di, di ; 31 ff 5581 jmp short 03f b5h ; eb 065589 jmp short 03fc1h ; eb 06 5582 5590 inc di ; 47 5583 5591 cmp di, strict byte 00017h ; 83 ff 17 5584 jnc short 03f c5h ; 73 105592 jnc short 03fd1h ; 73 10 5585 5593 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 5586 5594 cmp al, byte [di+00dc0h] ; 3a 85 c0 0d 5587 je short 03f afh ; 74 f05595 je short 03fbbh ; 74 f0 5588 5596 mov ax, strict word 00006h ; b8 06 00 5589 jmp near 042 67h ; e9 a2 025597 jmp near 04273h ; e9 a2 02 5590 5598 mov ax, word [bp-007dfh] ; 8b 86 21 f8 5591 5599 mov dx, word [bp-007ddh] ; 8b 96 23 f8 … … 5618 5626 call word [word di+0006ah] ; ff 95 6a 00 5619 5627 test ax, ax ; 85 c0 5620 je short 0402 1h ; 74 065628 je short 0402dh ; 74 06 5621 5629 mov ax, strict word 00007h ; b8 07 00 5622 jmp near 042 67h ; e9 46 025630 jmp near 04273h ; e9 46 02 5623 5631 cmp byte [bp-00826h], 001h ; 80 be da f7 01 5624 je short 040 2eh ; 74 065632 je short 0403ah ; 74 06 5625 5633 mov ax, strict word 00008h ; b8 08 00 5626 jmp near 042 67h ; e9 39 025634 jmp near 04273h ; e9 39 02 5627 5635 cmp byte [bp-00825h], 000h ; 80 be db f7 00 5628 je short 040 3bh ; 74 065636 je short 04047h ; 74 06 5629 5637 mov ax, strict word 00009h ; b8 09 00 5630 jmp near 042 67h ; e9 2c 025638 jmp near 04273h ; e9 2c 02 5631 5639 cmp byte [bp-00808h], 055h ; 80 be f8 f7 55 5632 je short 040 48h ; 74 065640 je short 04054h ; 74 06 5633 5641 mov ax, strict word 0000ah ; b8 0a 00 5634 jmp near 042 67h ; e9 1f 025642 jmp near 04273h ; e9 1f 02 5635 5643 cmp byte [bp-00807h], 0aah ; 80 be f9 f7 aa 5636 jne short 0404 2h ; 75 f35644 jne short 0404eh ; 75 f3 5637 5645 cmp byte [bp-00806h], 088h ; 80 be fa f7 88 5638 je short 040 5ch ; 74 065646 je short 04068h ; 74 06 5639 5647 mov ax, strict word 0000bh ; b8 0b 00 5640 jmp near 042 67h ; e9 0b 025648 jmp near 04273h ; e9 0b 02 5641 5649 mov al, byte [bp-00805h] ; 8a 86 fb f7 5642 5650 mov es, [bp-010h] ; 8e 46 f0 5643 5651 mov byte [es:si+001h], al ; 26 88 44 01 5644 5652 cmp byte [bp-00805h], 000h ; 80 be fb f7 00 5645 jne short 040 75h ; 75 075653 jne short 04081h ; 75 07 5646 5654 mov byte [es:si+002h], 0e0h ; 26 c6 44 02 e0 5647 jmp short 040 88h ; eb 135655 jmp short 04094h ; eb 13 5648 5656 cmp byte [bp-00805h], 004h ; 80 be fb f7 04 5649 jnc short 0408 3h ; 73 075657 jnc short 0408fh ; 73 07 5650 5658 mov byte [es:si+002h], 000h ; 26 c6 44 02 00 5651 jmp short 040 88h ; eb 055659 jmp short 04094h ; eb 05 5652 5660 mov byte [es:si+002h], 080h ; 26 c6 44 02 80 5653 5661 movzx di, byte [bp-00ch] ; 0f b6 7e f4 … … 5667 5675 mov word [bp-016h], ax ; 89 46 ea 5668 5676 test ax, ax ; 85 c0 5669 jne short 040 b6h ; 75 055677 jne short 040c2h ; 75 05 5670 5678 mov word [bp-016h], 007c0h ; c7 46 ea c0 07 5671 5679 mov ax, word [bp-016h] ; 8b 46 ea … … 5676 5684 mov word [es:si+00eh], di ; 26 89 7c 0e 5677 5685 test di, di ; 85 ff 5678 je short 040 d8h ; 74 065686 je short 040e4h ; 74 06 5679 5687 cmp di, 00400h ; 81 ff 00 04 5680 jbe short 040 deh ; 76 065688 jbe short 040eah ; 76 06 5681 5689 mov ax, strict word 0000ch ; b8 0c 00 5682 jmp near 042 67h ; e9 89 015690 jmp near 04273h ; e9 89 01 5683 5691 mov ax, word [bp-007feh] ; 8b 86 02 f8 5684 5692 mov dx, word [bp-007fch] ; 8b 96 04 f8 … … 5720 5728 sal ax, 1 ; d1 e0 5721 5729 rcl di, 1 ; d1 d7 5722 loop 041 4ch ; e2 fa5730 loop 04158h ; e2 fa 5723 5731 push di ; 57 5724 5732 push ax ; 50 … … 5733 5741 mov word [es:bx+020h], strict word 00000h ; 26 c7 47 20 00 00 5734 5742 test ax, ax ; 85 c0 5735 je short 041 7ch ; 74 065743 je short 04188h ; 74 06 5736 5744 mov ax, strict word 0000dh ; b8 0d 00 5737 jmp near 042 67h ; e9 eb 005745 jmp near 04273h ; e9 eb 00 5738 5746 mov es, [bp-010h] ; 8e 46 f0 5739 5747 mov al, byte [es:si+001h] ; 26 8a 44 01 5740 5748 cmp AL, strict byte 002h ; 3c 02 5741 jc short 041 94h ; 72 0d5742 jbe short 041 ach ; 76 235749 jc short 041a0h ; 72 0d 5750 jbe short 041b8h ; 76 23 5743 5751 cmp AL, strict byte 004h ; 3c 04 5744 je short 041c 2h ; 74 355752 je short 041ceh ; 74 35 5745 5753 cmp AL, strict byte 003h ; 3c 03 5746 je short 041 b7h ; 74 265747 jmp near 0421 0h ; e9 7c 005754 je short 041c3h ; 74 26 5755 jmp near 0421ch ; e9 7c 00 5748 5756 cmp AL, strict byte 001h ; 3c 01 5749 jne short 0421 0h ; 75 785757 jne short 0421ch ; 75 78 5750 5758 mov es, [bp-010h] ; 8e 46 f0 5751 5759 db 066h, 026h, 0c7h, 044h, 012h, 050h, 000h, 00fh, 000h 5752 5760 ; mov dword [es:si+012h], strict dword 0000f0050h ; 66 26 c7 44 12 50 00 0f 00 5753 5761 mov word [es:si+010h], strict word 00002h ; 26 c7 44 10 02 00 5754 jmp short 0421 0h ; eb 645762 jmp short 0421ch ; eb 64 5755 5763 db 066h, 026h, 0c7h, 044h, 012h, 050h, 000h, 012h, 000h 5756 5764 ; mov dword [es:si+012h], strict dword 000120050h ; 66 26 c7 44 12 50 00 12 00 5757 jmp short 041 a4h ; eb ed5765 jmp short 041b0h ; eb ed 5758 5766 db 066h, 026h, 0c7h, 044h, 012h, 050h, 000h, 024h, 000h 5759 5767 ; mov dword [es:si+012h], strict dword 000240050h ; 66 26 c7 44 12 50 00 24 00 5760 jmp short 041 a4h ; eb e25768 jmp short 041b0h ; eb e2 5761 5769 mov dx, 001c4h ; ba c4 01 5762 5770 mov ax, word [bp-016h] ; 8b 46 ea 5763 call 01749h ; e8 7 ed55771 call 01749h ; e8 72 d5 5764 5772 and AL, strict byte 03fh ; 24 3f 5765 5773 xor ah, ah ; 30 e4 … … 5768 5776 mov dx, 001c4h ; ba c4 01 5769 5777 mov ax, word [bp-016h] ; 8b 46 ea 5770 call 01749h ; e8 6ad55778 call 01749h ; e8 5e d5 5771 5779 movzx bx, al ; 0f b6 d8 5772 5780 and bl, 0c0h ; 80 e3 c0 … … 5774 5782 mov dx, 001c5h ; ba c5 01 5775 5783 mov ax, word [bp-016h] ; 8b 46 ea 5776 call 01749h ; e8 58d55784 call 01749h ; e8 4c d5 5777 5785 xor ah, ah ; 30 e4 5778 5786 add ax, bx ; 01 d8 … … 5782 5790 mov dx, 001c3h ; ba c3 01 5783 5791 mov ax, word [bp-016h] ; 8b 46 ea 5784 call 01749h ; e8 43d55792 call 01749h ; e8 37 d5 5785 5793 xor ah, ah ; 30 e4 5786 5794 inc ax ; 40 … … 5789 5797 mov es, [bp-010h] ; 8e 46 f0 5790 5798 cmp byte [es:si+001h], 000h ; 26 80 7c 01 00 5791 je short 042 4eh ; 74 345799 je short 0425ah ; 74 34 5792 5800 cmp byte [es:si+002h], 000h ; 26 80 7c 02 00 5793 jne short 042 37h ; 75 165801 jne short 04243h ; 75 16 5794 5802 mov dx, strict word 00010h ; ba 10 00 5795 5803 mov ax, strict word 00040h ; b8 40 00 5796 call 01749h ; e8 1 fd55804 call 01749h ; e8 13 d5 5797 5805 or AL, strict byte 041h ; 0c 41 5798 5806 movzx bx, al ; 0f b6 d8 5799 5807 mov dx, strict word 00010h ; ba 10 00 5800 5808 mov ax, strict word 00040h ; b8 40 00 5801 jmp short 042 4bh ; eb 145809 jmp short 04257h ; eb 14 5802 5810 mov dx, 00304h ; ba 04 03 5803 5811 mov ax, word [bp-018h] ; 8b 46 e8 5804 call 01749h ; e8 09 d55812 call 01749h ; e8 fd d4 5805 5813 db 0feh, 0c0h 5806 5814 ; inc al ; fe c0 … … 5808 5816 mov dx, 00304h ; ba 04 03 5809 5817 mov ax, word [bp-018h] ; 8b 46 e8 5810 call 01757h ; e8 09 d55818 call 01757h ; e8 fd d4 5811 5819 mov es, [bp-010h] ; 8e 46 f0 5812 5820 cmp byte [es:si+001h], 000h ; 26 80 7c 01 00 5813 je short 042 5ch ; 74 045821 je short 04268h ; 74 04 5814 5822 mov byte [es:si], 001h ; 26 c6 04 01 5815 5823 mov es, [bp-010h] ; 8e 46 f0 … … 5825 5833 retn ; c3 5826 5834 db 050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h 5827 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 06 2h, 046h, 070h5828 db 043h, 0 bah, 043h, 0e2h, 043h, 0afh, 043h, 0e2h, 043h, 0afh, 043h, 0b8h, 045h, 095h, 043h, 062h5829 db 046h, 06 2h, 046h, 095h, 043h, 095h, 043h, 095h, 043h, 095h, 043h, 095h, 043h, 059h, 046h, 095h5830 db 043h, 06 2h, 046h, 062h, 046h, 062h, 046h, 062h, 046h, 062h, 046h, 062h, 046h, 062h, 046h, 062h5831 db 046h, 06 2h, 046h, 062h, 046h, 062h, 046h, 062h, 046h5832 _int13_cdemu: ; 0xf42 caLB 0x4345835 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 06eh, 046h, 07ch 5836 db 043h, 0c6h, 043h, 0eeh, 043h, 0bbh, 043h, 0eeh, 043h, 0bbh, 043h, 0c4h, 045h, 0a1h, 043h, 06eh 5837 db 046h, 06eh, 046h, 0a1h, 043h, 0a1h, 043h, 0a1h, 043h, 0a1h, 043h, 0a1h, 043h, 065h, 046h, 0a1h 5838 db 043h, 06eh, 046h, 06eh, 046h, 06eh, 046h, 06eh, 046h, 06eh, 046h, 06eh, 046h, 06eh, 046h, 06eh 5839 db 046h, 06eh, 046h, 06eh, 046h, 06eh, 046h, 06eh, 046h 5840 _int13_cdemu: ; 0xf42d6 LB 0x434 5833 5841 push bp ; 55 5834 5842 mov bp, sp ; 89 e5 … … 5838 5846 mov dx, strict word 0000eh ; ba 0e 00 5839 5847 mov ax, strict word 00040h ; b8 40 00 5840 call 01765h ; e8 8ad45848 call 01765h ; e8 7e d4 5841 5849 mov di, 00366h ; bf 66 03 5842 5850 mov cx, ax ; 89 c1 … … 5854 5862 mov dx, strict word 00074h ; ba 74 00 5855 5863 mov ax, strict word 00040h ; b8 40 00 5856 call 01757h ; e8 4 dd45864 call 01757h ; e8 41 d4 5857 5865 mov es, cx ; 8e c1 5858 5866 cmp byte [es:di], 000h ; 26 80 3d 00 5859 je short 0432 0h ; 74 0e5867 je short 0432ch ; 74 0e 5860 5868 movzx dx, byte [es:di+002h] ; 26 0f b6 55 02 5861 5869 mov ax, word [bp+012h] ; 8b 46 12 5862 5870 xor ah, ah ; 30 e4 5863 5871 cmp dx, ax ; 39 c2 5864 je short 043 49h ; 74 295872 je short 04355h ; 74 29 5865 5873 mov bx, 00db2h ; bb b2 0d 5866 5874 mov cx, ds ; 8c d9 5867 5875 mov ax, strict word 00004h ; b8 04 00 5868 call 01a2ah ; e8 f fd65876 call 01a2ah ; e8 f3 d6 5869 5877 mov ax, word [bp+012h] ; 8b 46 12 5870 5878 xor ah, ah ; 30 e4 … … 5876 5884 push 0036ah ; 68 6a 03 5877 5885 push strict byte 00004h ; 6a 04 5878 call 01a6bh ; e8 28d75886 call 01a6bh ; e8 1c d7 5879 5887 add sp, strict byte 0000ah ; 83 c4 0a 5880 jmp near 0468 2h ; e9 39 035888 jmp near 0468eh ; e9 39 03 5881 5889 mov ax, word [bp+016h] ; 8b 46 16 5882 5890 shr ax, 008h ; c1 e8 08 5883 5891 cmp ax, strict word 00050h ; 3d 50 00 5884 jnbe near 0466 2h ; 0f 87 0c 035892 jnbe near 0466eh ; 0f 87 0c 03 5885 5893 push CS ; 0e 5886 5894 pop ES ; 07 5887 5895 mov cx, strict word 0001eh ; b9 1e 00 5888 mov di, 0427 1h ; bf 71425896 mov di, 0427dh ; bf 7d 42 5889 5897 repne scasb ; f2 ae 5890 5898 sal cx, 1 ; d1 e1 5891 5899 mov di, cx ; 89 cf 5892 mov ax, word [cs:di+042 8eh] ; 2e 8b 85 8e425900 mov ax, word [cs:di+0429ah] ; 2e 8b 85 9a 42 5893 5901 mov bx, word [bp+016h] ; 8b 5e 16 5894 5902 xor bh, bh ; 30 ff … … 5901 5909 add bx, bx ; 01 db 5902 5910 cmp word [word bx+0006ah], strict byte 00000h ; 83 bf 6a 00 00 5903 je near 043 95h ; 0f 84 08 005911 je near 043a1h ; 0f 84 08 00 5904 5912 movzx ax, byte [bp-006h] ; 0f b6 46 fa 5905 5913 call word [word bx+00076h] ; ff 97 76 00 … … 5908 5916 mov dx, strict word 00074h ; ba 74 00 5909 5917 mov ax, strict word 00040h ; b8 40 00 5910 call 01757h ; e8 b3d35918 call 01757h ; e8 a7 d3 5911 5919 and byte [bp+01ch], 0feh ; 80 66 1c fe 5912 5920 lea sp, [bp-004h] ; 8d 66 fc … … 5918 5926 xor ah, ah ; 30 e4 5919 5927 or ah, 003h ; 80 cc 03 5920 jmp near 046 8ah ; e9 d0 025928 jmp near 04696h ; e9 d0 02 5921 5929 mov dx, strict word 00074h ; ba 74 00 5922 5930 mov ax, strict word 00040h ; b8 40 00 5923 call 01749h ; e8 86d35931 call 01749h ; e8 7a d3 5924 5932 mov cl, al ; 88 c1 5925 5933 movzx ax, cl ; 0f b6 c1 … … 5930 5938 mov dx, strict word 00074h ; ba 74 00 5931 5939 mov ax, strict word 00040h ; b8 40 00 5932 call 01757h ; e8 7 cd35940 call 01757h ; e8 70 d3 5933 5941 test cl, cl ; 84 c9 5934 je short 043 99h ; 74 ba5935 jmp near 046 9eh ; e9 bc 025942 je short 043a5h ; 74 ba 5943 jmp near 046aah ; e9 bc 02 5936 5944 mov es, [bp-008h] ; 8e 46 f8 5937 5945 mov di, word [es:si+014h] ; 26 8b 7c 14 … … 5957 5965 mov word [bp-00ah], cx ; 89 4e f6 5958 5966 test cx, cx ; 85 c9 5959 jne short 044 2fh ; 75 035960 jmp near 043 95h ; e9 66 ff5967 jne short 0443bh ; 75 03 5968 jmp near 043a1h ; e9 66 ff 5961 5969 cmp di, word [bp-010h] ; 3b 7e f0 5962 jc near 0468 2h ; 0f 82 4c 025970 jc near 0468eh ; 0f 82 4c 02 5963 5971 cmp ax, dx ; 39 d0 5964 jnc near 0468 2h ; 0f 83 46 025972 jnc near 0468eh ; 0f 83 46 02 5965 5973 cmp si, bx ; 39 de 5966 jnc near 0468 2h ; 0f 83 40 025974 jnc near 0468eh ; 0f 83 40 02 5967 5975 mov dx, word [bp+016h] ; 8b 56 16 5968 5976 shr dx, 008h ; c1 ea 08 5969 5977 cmp dx, strict byte 00004h ; 83 fa 04 5970 jne short 0445 0h ; 75 035971 jmp near 043 95h ; e9 45 ff5978 jne short 0445ch ; 75 03 5979 jmp near 043a1h ; e9 45 ff 5972 5980 mov dx, word [bp+010h] ; 8b 56 10 5973 5981 shr dx, 004h ; c1 ea 04 … … 5980 5988 xor dl, dl ; 30 d2 5981 5989 xor cx, cx ; 31 c9 5982 call 09f e0h ; e8 725b5990 call 09ff0h ; e8 76 5b 5983 5991 xor bx, bx ; 31 db 5984 5992 add ax, si ; 01 f0 … … 5986 5994 mov bx, di ; 89 fb 5987 5995 xor cx, cx ; 31 c9 5988 call 09f e0h ; e8 655b5996 call 09ff0h ; e8 69 5b 5989 5997 mov bx, ax ; 89 c3 5990 5998 mov ax, word [bp-010h] ; 8b 46 f0 … … 6021 6029 mov dx, ss ; 8c d2 6022 6030 lea ax, [bp-02eh] ; 8d 46 d2 6023 call 0a0 80h ; e8 ae5b6031 call 0a090h ; e8 b2 5b 6024 6032 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 6025 6033 mov ax, word [bp-014h] ; 8b 46 ec … … 6069 6077 sal si, 1 ; d1 e6 6070 6078 rcl di, 1 ; d1 d7 6071 loop 0455 2h ; e2 fa6079 loop 0455eh ; e2 fa 6072 6080 push di ; 57 6073 6081 push si ; 56 … … 6084 6092 ; mov dword [es:bx+01eh], strict dword 000000000h ; 66 26 c7 47 1e 00 00 00 00 6085 6093 test al, al ; 84 c0 6086 je near 043 95h ; 0f 84 13 fe6094 je near 043a1h ; 0f 84 13 fe 6087 6095 mov bx, 00db2h ; bb b2 0d 6088 6096 mov cx, ds ; 8c d9 6089 6097 mov ax, strict word 00004h ; b8 04 00 6090 call 01a2ah ; e8 9 dd46098 call 01a2ah ; e8 91 d4 6091 6099 movzx ax, dl ; 0f b6 c2 6092 6100 push ax ; 50 … … 6097 6105 push 003a0h ; 68 a0 03 6098 6106 push strict byte 00004h ; 6a 04 6099 call 01a6bh ; e8 c8d46107 call 01a6bh ; e8 bc d4 6100 6108 add sp, strict byte 0000ah ; 83 c4 0a 6101 6109 mov ax, word [bp+016h] ; 8b 46 16 … … 6104 6112 mov word [bp+016h], ax ; 89 46 16 6105 6113 mov byte [bp+016h], 000h ; c6 46 16 00 6106 jmp near 046 8dh ; e9 d5 006114 jmp near 04699h ; e9 d5 00 6107 6115 mov es, [bp-008h] ; 8e 46 f8 6108 6116 mov di, word [es:si+014h] ; 26 8b 7c 14 … … 6143 6151 mov word [bp+010h], ax ; 89 46 10 6144 6152 cmp dl, 003h ; 80 fa 03 6145 je short 046 3ch ; 74 1a6153 je short 04648h ; 74 1a 6146 6154 cmp dl, 002h ; 80 fa 02 6147 je short 046 38h ; 74 116155 je short 04644h ; 74 11 6148 6156 cmp dl, 001h ; 80 fa 01 6149 jne short 0464 0h ; 75 146157 jne short 0464ch ; 75 14 6150 6158 mov ax, word [bp+010h] ; 8b 46 10 6151 6159 xor al, al ; 30 c0 6152 6160 or AL, strict byte 002h ; 0c 02 6153 6161 mov word [bp+010h], ax ; 89 46 10 6154 jmp short 0464 0h ; eb 086162 jmp short 0464ch ; eb 08 6155 6163 or AL, strict byte 004h ; 0c 04 6156 jmp short 0463 3h ; eb f76164 jmp short 0463fh ; eb f7 6157 6165 or AL, strict byte 005h ; 0c 05 6158 jmp short 0463 3h ; eb f36166 jmp short 0463fh ; eb f3 6159 6167 mov es, [bp-008h] ; 8e 46 f8 6160 6168 cmp byte [es:si+001h], 004h ; 26 80 7c 01 04 6161 jnc near 043 95h ; 0f 83 49 fd6169 jnc near 043a1h ; 0f 83 49 fd 6162 6170 mov word [bp+008h], 0efc7h ; c7 46 08 c7 ef 6163 6171 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 6164 jmp near 043 95h ; e9 3c fd6172 jmp near 043a1h ; e9 3c fd 6165 6173 or bh, 003h ; 80 cf 03 6166 6174 mov word [bp+016h], bx ; 89 5e 16 6167 jmp near 043 99h ; e9 37 fd6175 jmp near 043a5h ; e9 37 fd 6168 6176 mov bx, 00db2h ; bb b2 0d 6169 6177 mov cx, ds ; 8c d9 6170 6178 mov ax, strict word 00004h ; b8 04 00 6171 call 01a2ah ; e8 b dd36179 call 01a2ah ; e8 b1 d3 6172 6180 mov ax, word [bp+016h] ; 8b 46 16 6173 6181 shr ax, 008h ; c1 e8 08 … … 6176 6184 push 003c1h ; 68 c1 03 6177 6185 push strict byte 00004h ; 6a 04 6178 call 01a6bh ; e8 e cd36186 call 01a6bh ; e8 e0 d3 6179 6187 add sp, strict byte 00008h ; 83 c4 08 6180 6188 mov ax, word [bp+016h] ; 8b 46 16 … … 6187 6195 mov dx, strict word 00074h ; ba 74 00 6188 6196 mov ax, strict word 00040h ; b8 40 00 6189 call 01757h ; e8 b9d06197 call 01757h ; e8 ad d0 6190 6198 or byte [bp+01ch], 001h ; 80 4e 1c 01 6191 jmp near 043 a8h ; e9 03 fd6199 jmp near 043b4h ; e9 03 fd 6192 6200 db 050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h 6193 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 04 3h, 04ch, 0bfh6194 db 049h, 0 abh, 047h, 043h, 04ch, 0a0h, 047h, 043h, 04ch, 0a0h, 047h, 043h, 04ch, 0bfh, 049h, 043h6195 db 04ch, 04 3h, 04ch, 0bfh, 049h, 0bfh, 049h, 0bfh, 049h, 0bfh, 049h, 0bfh, 049h, 0d5h, 047h, 0bfh6196 db 049h, 04 3h, 04ch, 0deh, 047h, 0f1h, 047h, 0a0h, 047h, 0f1h, 047h, 01fh, 049h, 0d9h, 049h, 0f1h6197 db 047h, 00 0h, 04ah, 0fch, 04bh, 004h, 04ch, 043h, 04ch6198 _int13_cdrom: ; 0xf4 6feLB 0x5626201 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 04fh, 04ch, 0cbh 6202 db 049h, 0b7h, 047h, 04fh, 04ch, 0ach, 047h, 04fh, 04ch, 0ach, 047h, 04fh, 04ch, 0cbh, 049h, 04fh 6203 db 04ch, 04fh, 04ch, 0cbh, 049h, 0cbh, 049h, 0cbh, 049h, 0cbh, 049h, 0cbh, 049h, 0e1h, 047h, 0cbh 6204 db 049h, 04fh, 04ch, 0eah, 047h, 0fdh, 047h, 0ach, 047h, 0fdh, 047h, 02bh, 049h, 0e5h, 049h, 0fdh 6205 db 047h, 00ch, 04ah, 008h, 04ch, 010h, 04ch, 04fh, 04ch 6206 _int13_cdrom: ; 0xf470a LB 0x562 6199 6207 push bp ; 55 6200 6208 mov bp, sp ; 89 e5 … … 6204 6212 mov dx, strict word 0000eh ; ba 0e 00 6205 6213 mov ax, strict word 00040h ; b8 40 00 6206 call 01765h ; e8 56d06214 call 01765h ; e8 4a d0 6207 6215 mov word [bp-01ah], ax ; 89 46 e6 6208 6216 mov si, 00122h ; be 22 01 … … 6211 6219 mov dx, strict word 00074h ; ba 74 00 6212 6220 mov ax, strict word 00040h ; b8 40 00 6213 call 01757h ; e8 34d06221 call 01757h ; e8 28 d0 6214 6222 mov ax, word [bp+010h] ; 8b 46 10 6215 6223 xor ah, ah ; 30 e4 6216 6224 cmp ax, 000e0h ; 3d e0 00 6217 jc short 0473 2h ; 72 056225 jc short 0473eh ; 72 05 6218 6226 cmp ax, 000f0h ; 3d f0 00 6219 jc short 0475 0h ; 72 1e6227 jc short 0475ch ; 72 1e 6220 6228 mov ax, word [bp+010h] ; 8b 46 10 6221 6229 xor ah, ah ; 30 e4 … … 6227 6235 push 003fdh ; 68 fd 03 6228 6236 push strict byte 00004h ; 6a 04 6229 call 01a6bh ; e8 21d36237 call 01a6bh ; e8 15 d3 6230 6238 add sp, strict byte 0000ah ; 83 c4 0a 6231 jmp near 04c2 0h ; e9 d0 046239 jmp near 04c2ch ; e9 d0 04 6232 6240 mov ax, word [bp+010h] ; 8b 46 10 6233 6241 xor ah, ah ; 30 e4 … … 6238 6246 mov byte [bp-008h], dl ; 88 56 f8 6239 6247 cmp dl, 010h ; 80 fa 10 6240 jc short 047 79h ; 72 106248 jc short 04785h ; 72 10 6241 6249 push ax ; 50 6242 6250 mov ax, word [bp+018h] ; 8b 46 18 … … 6245 6253 push 003f1h ; 68 f1 03 6246 6254 push 00428h ; 68 28 04 6247 jmp short 047 45h ; eb cc6255 jmp short 04751h ; eb cc 6248 6256 mov ax, word [bp+018h] ; 8b 46 18 6249 6257 shr ax, 008h ; c1 e8 08 6250 6258 cmp ax, strict word 00050h ; 3d 50 00 6251 jnbe near 04c4 3h ; 0f 87 bd 046259 jnbe near 04c4fh ; 0f 87 bd 04 6252 6260 push CS ; 0e 6253 6261 pop ES ; 07 6254 6262 mov cx, strict word 0001eh ; b9 1e 00 6255 mov di, 046 a5h ; bf a5466263 mov di, 046b1h ; bf b1 46 6256 6264 repne scasb ; f2 ae 6257 6265 sal cx, 1 ; d1 e1 6258 6266 mov di, cx ; 89 cf 6259 mov ax, word [cs:di+046c 2h] ; 2e 8b 85 c2466267 mov ax, word [cs:di+046ceh] ; 2e 8b 85 ce 46 6260 6268 mov bx, word [bp+018h] ; 8b 5e 18 6261 6269 xor bh, bh ; 30 ff … … 6264 6272 xor ah, ah ; 30 e4 6265 6273 or ah, 003h ; 80 cc 03 6266 jmp near 04c 28h ; e9 7d 046274 jmp near 04c34h ; e9 7d 04 6267 6275 mov dx, strict word 00074h ; ba 74 00 6268 6276 mov ax, strict word 00040h ; b8 40 00 6269 call 01749h ; e8 95cf6277 call 01749h ; e8 89 cf 6270 6278 mov cl, al ; 88 c1 6271 6279 movzx ax, cl ; 0f b6 c1 … … 6276 6284 mov dx, strict word 00074h ; ba 74 00 6277 6285 mov ax, strict word 00040h ; b8 40 00 6278 call 01757h ; e8 8bcf6286 call 01757h ; e8 7f cf 6279 6287 test cl, cl ; 84 c9 6280 je near 049c 3h ; 0f 84 f1 016281 jmp near 04c 3ch ; e9 67 046288 je near 049cfh ; 0f 84 f1 01 6289 jmp near 04c48h ; e9 67 04 6282 6290 or bh, 002h ; 80 cf 02 6283 6291 mov word [bp+018h], bx ; 89 5e 18 6284 jmp near 04c 2bh ; e9 4d 046292 jmp near 04c37h ; e9 4d 04 6285 6293 mov word [bp+012h], 0aa55h ; c7 46 12 55 aa 6286 6294 or bh, 030h ; 80 cf 30 6287 6295 mov word [bp+018h], bx ; 89 5e 18 6288 6296 mov word [bp+016h], strict word 00007h ; c7 46 16 07 00 6289 jmp near 049c 3h ; e9 d2 016297 jmp near 049cfh ; e9 d2 01 6290 6298 mov bx, word [bp+00ch] ; 8b 5e 0c 6291 6299 mov es, [bp+006h] ; 8e 46 06 … … 6302 6310 mov di, word [es:bx+00eh] ; 26 8b 7f 0e 6303 6311 or di, ax ; 09 c7 6304 je short 048 39h ; 74 186312 je short 04845h ; 74 18 6305 6313 mov ax, word [bp+018h] ; 8b 46 18 6306 6314 shr ax, 008h ; c1 e8 08 … … 6309 6317 push 0045ah ; 68 5a 04 6310 6318 push strict byte 00007h ; 6a 07 6311 call 01a6bh ; e8 38d26319 call 01a6bh ; e8 2c d2 6312 6320 add sp, strict byte 00008h ; 83 c4 08 6313 jmp near 04c2 0h ; e9 e7 036321 jmp near 04c2ch ; e9 e7 03 6314 6322 les bx, [bp-014h] ; c4 5e ec 6315 6323 mov ax, word [es:bx+008h] ; 26 8b 47 08 … … 6321 6329 mov word [bp-016h], ax ; 89 46 ea 6322 6330 cmp ax, strict word 00044h ; 3d 44 00 6323 je near 049 bfh ; 0f 84 66 016331 je near 049cbh ; 0f 84 66 01 6324 6332 cmp ax, strict word 00047h ; 3d 47 00 6325 je near 049 bfh ; 0f 84 5f 016333 je near 049cbh ; 0f 84 5f 01 6326 6334 mov cx, strict word 0000ch ; b9 0c 00 6327 6335 xor bx, bx ; 31 db 6328 6336 mov dx, ss ; 8c d2 6329 6337 lea ax, [bp-02ch] ; 8d 46 d4 6330 call 0a0 80h ; e8 13586338 call 0a090h ; e8 17 58 6331 6339 mov word [bp-02ch], strict word 00028h ; c7 46 d4 28 00 6332 6340 mov ax, word [bp-018h] ; 8b 46 e8 … … 6356 6364 sal ax, 1 ; d1 e0 6357 6365 rcl bx, 1 ; d1 d3 6358 loop 048 b7h ; e2 fa6366 loop 048c3h ; e2 fa 6359 6367 push bx ; 53 6360 6368 push ax ; 50 … … 6372 6380 shr di, 1 ; d1 ef 6373 6381 rcr ax, 1 ; d1 d8 6374 loop 048e 1h ; e2 fa6382 loop 048edh ; e2 fa 6375 6383 les bx, [bp-014h] ; c4 5e ec 6376 6384 mov word [es:bx+002h], ax ; 26 89 47 02 6377 6385 test dl, dl ; 84 d2 6378 je near 049 bfh ; 0f 84 cb 006386 je near 049cbh ; 0f 84 cb 00 6379 6387 mov bx, 00db2h ; bb b2 0d 6380 6388 mov cx, ds ; 8c d9 6381 6389 mov ax, strict word 00004h ; b8 04 00 6382 call 01a2ah ; e8 2bd16390 call 01a2ah ; e8 1f d1 6383 6391 movzx ax, dl ; 0f b6 c2 6384 6392 push ax ; 50 … … 6387 6395 push 00483h ; 68 83 04 6388 6396 push strict byte 00004h ; 6a 04 6389 call 01a6bh ; e8 5ad16397 call 01a6bh ; e8 4e d1 6390 6398 add sp, strict byte 0000ah ; 83 c4 0a 6391 6399 mov ax, word [bp+018h] ; 8b 46 18 6392 6400 xor ah, ah ; 30 e4 6393 6401 or ah, 00ch ; 80 cc 0c 6394 jmp near 04c 28h ; e9 09 036402 jmp near 04c34h ; e9 09 03 6395 6403 cmp bx, strict byte 00002h ; 83 fb 02 6396 jnbe near 04c2 0h ; 0f 87 fa 026404 jnbe near 04c2ch ; 0f 87 fa 02 6397 6405 movzx ax, byte [bp-008h] ; 0f b6 46 f8 6398 6406 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 6402 6410 mov al, byte [es:di+025h] ; 26 8a 45 25 6403 6411 cmp bx, strict byte 00002h ; 83 fb 02 6404 je short 049b 0h ; 74 736412 je short 049bch ; 74 73 6405 6413 cmp bx, strict byte 00001h ; 83 fb 01 6406 je short 049 7dh ; 74 3b6414 je short 04989h ; 74 3b 6407 6415 test bx, bx ; 85 db 6408 jne near 049 bfh ; 0f 85 77 006416 jne near 049cbh ; 0f 85 77 00 6409 6417 cmp AL, strict byte 0ffh ; 3c ff 6410 jne short 049 5eh ; 75 126418 jne short 0496ah ; 75 12 6411 6419 mov ax, word [bp+018h] ; 8b 46 18 6412 6420 xor ah, ah ; 30 e4 … … 6415 6423 xor al, al ; 30 c0 6416 6424 or AL, strict byte 001h ; 0c 01 6417 jmp near 04c 28h ; e9 ca 026425 jmp near 04c34h ; e9 ca 02 6418 6426 movzx dx, byte [bp-008h] ; 0f b6 56 f8 6419 6427 imul dx, dx, strict byte 0001ch ; 6b d2 1c … … 6427 6435 or AL, strict byte 001h ; 0c 01 6428 6436 mov word [bp+018h], ax ; 89 46 18 6429 jmp near 049 bfh ; e9 42 006437 jmp near 049cbh ; e9 42 00 6430 6438 test al, al ; 84 c0 6431 jne short 049 8dh ; 75 0c6439 jne short 04999h ; 75 0c 6432 6440 or bh, 0b0h ; 80 cf b0 6433 6441 mov word [bp+018h], bx ; 89 5e 18 6434 6442 mov byte [bp+018h], al ; 88 46 18 6435 jmp near 04c 2bh ; e9 9e 026443 jmp near 04c37h ; e9 9e 02 6436 6444 movzx dx, byte [bp-008h] ; 0f b6 56 f8 6437 6445 imul dx, dx, strict byte 0001ch ; 6b d2 1c … … 6448 6456 xor al, al ; 30 c0 6449 6457 or ax, dx ; 09 d0 6450 jmp short 049 77h ; eb c76458 jmp short 04983h ; eb c7 6451 6459 test al, al ; 84 c0 6452 6460 db 00fh, 095h, 0c0h … … 6460 6468 mov dx, strict word 00074h ; ba 74 00 6461 6469 mov ax, strict word 00040h ; b8 40 00 6462 call 01757h ; e8 89cd6470 call 01757h ; e8 7d cd 6463 6471 and byte [bp+01eh], 0feh ; 80 66 1e fe 6464 6472 lea sp, [bp-004h] ; 8d 66 fc … … 6473 6481 mov al, byte [es:si+025h] ; 26 8a 44 25 6474 6482 test al, al ; 84 c0 6475 je short 049f 3h ; 74 066483 je short 049ffh ; 74 06 6476 6484 or bh, 0b1h ; 80 cf b1 6477 jmp near 047 d8h ; e9 e5 fd6478 je short 049 bfh ; 74 ca6485 jmp near 047e4h ; e9 e5 fd 6486 je short 049cbh ; 74 ca 6479 6487 mov ax, word [bp+018h] ; 8b 46 18 6480 6488 xor ah, ah ; 30 e4 6481 6489 or ah, 0b1h ; 80 cc b1 6482 jmp near 04c 28h ; e9 28 026490 jmp near 04c34h ; e9 28 02 6483 6491 mov dx, word [bp+00ch] ; 8b 56 0c 6484 6492 mov cx, word [bp+006h] ; 8b 4e 06 … … 6490 6498 mov word [bp-00eh], ax ; 89 46 f2 6491 6499 cmp ax, strict word 0001ah ; 3d 1a 00 6492 jc near 04c2 0h ; 0f 82 04 026493 jc short 04a 6dh ; 72 4f6500 jc near 04c2ch ; 0f 82 04 02 6501 jc short 04a79h ; 72 4f 6494 6502 movzx ax, byte [bp-008h] ; 0f b6 46 f8 6495 6503 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 6514 6522 ; mov dword [es:di+014h], strict dword 0ffffffffh ; 66 26 c7 45 14 ff ff ff ff 6515 6523 cmp word [bp-00eh], strict byte 0001eh ; 83 7e f2 1e 6516 jc near 04b 44h ; 0f 82 cf 006524 jc near 04b50h ; 0f 82 cf 00 6517 6525 mov es, [bp-00ah] ; 8e 46 f6 6518 6526 mov word [es:bx], strict word 0001eh ; 26 c7 07 1e 00 … … 6566 6574 xor cl, cl ; 30 c9 6567 6575 xor ch, ch ; 30 ed 6568 jmp short 04b 27h ; eb 056576 jmp short 04b33h ; eb 05 6569 6577 cmp ch, 00fh ; 80 fd 0f 6570 jnc short 04b 3ah ; 73 136578 jnc short 04b46h ; 73 13 6571 6579 movzx dx, ch ; 0f b6 d5 6572 6580 add dx, 00356h ; 81 c2 56 03 6573 6581 mov ax, word [bp-01ah] ; 8b 46 e6 6574 call 01749h ; e8 15cc6582 call 01749h ; e8 09 cc 6575 6583 add cl, al ; 00 c1 6576 6584 db 0feh, 0c5h 6577 6585 ; inc ch ; fe c5 6578 jmp short 04b2 2h ; eb e86586 jmp short 04b2eh ; eb e8 6579 6587 neg cl ; f6 d9 6580 6588 mov es, [bp-00ch] ; 8e 46 f4 6581 6589 mov byte [es:si+00243h], cl ; 26 88 8c 43 02 6582 6590 cmp word [bp-00eh], strict byte 00042h ; 83 7e f2 42 6583 jc near 049 bfh ; 0f 82 73 fe6591 jc near 049cbh ; 0f 82 73 fe 6584 6592 movzx ax, byte [bp-008h] ; 0f b6 46 f8 6585 6593 cwd ; 99 … … 6599 6607 mov word [es:bx+022h], strict word 00000h ; 26 c7 47 22 00 00 6600 6608 test al, al ; 84 c0 6601 jne short 04b 8dh ; 75 096609 jne short 04b99h ; 75 09 6602 6610 db 066h, 026h, 0c7h, 047h, 024h, 049h, 053h, 041h, 020h 6603 6611 ; mov dword [es:bx+024h], strict dword 020415349h ; 66 26 c7 47 24 49 53 41 20 … … 6608 6616 ; mov dword [es:bx+02ch], strict dword 020202020h ; 66 26 c7 47 2c 20 20 20 20 6609 6617 test al, al ; 84 c0 6610 jne short 04b b9h ; 75 136618 jne short 04bc5h ; 75 13 6611 6619 mov word [es:bx+030h], dx ; 26 89 57 30 6612 6620 db 066h, 026h, 0c7h, 047h, 032h, 000h, 000h, 000h, 000h … … 6623 6631 xor al, al ; 30 c0 6624 6632 mov AH, strict byte 01eh ; b4 1e 6625 jmp short 04be 1h ; eb 056633 jmp short 04bedh ; eb 05 6626 6634 cmp ah, 040h ; 80 fc 40 6627 jnc short 04bf 0h ; 73 0f6635 jnc short 04bfch ; 73 0f 6628 6636 movzx si, ah ; 0f b6 f4 6629 6637 mov es, [bp-00ah] ; 8e 46 f6 … … 6632 6640 db 0feh, 0c4h 6633 6641 ; inc ah ; fe c4 6634 jmp short 04b dch ; eb ec6642 jmp short 04be8h ; eb ec 6635 6643 neg al ; f6 d8 6636 6644 mov es, [bp-00ah] ; 8e 46 f6 6637 6645 mov byte [es:bx+041h], al ; 26 88 47 41 6638 jmp near 049 bfh ; e9 c3 fd6646 jmp near 049cbh ; e9 c3 fd 6639 6647 or bh, 006h ; 80 cf 06 6640 6648 mov word [bp+018h], bx ; 89 5e 18 6641 jmp short 04c 3ch ; eb 386649 jmp short 04c48h ; eb 38 6642 6650 cmp bx, strict byte 00006h ; 83 fb 06 6643 je near 049 bfh ; 0f 84 b4 fd6651 je near 049cbh ; 0f 84 b4 fd 6644 6652 cmp bx, strict byte 00001h ; 83 fb 01 6645 jc short 04c2 0h ; 72 106646 jbe near 049 bfh ; 0f 86 ab fd6653 jc short 04c2ch ; 72 10 6654 jbe near 049cbh ; 0f 86 ab fd 6647 6655 cmp bx, strict byte 00003h ; 83 fb 03 6648 jc short 04c2 0h ; 72 076656 jc short 04c2ch ; 72 07 6649 6657 cmp bx, strict byte 00004h ; 83 fb 04 6650 jbe near 049 bfh ; 0f 86 9f fd6658 jbe near 049cbh ; 0f 86 9f fd 6651 6659 mov ax, word [bp+018h] ; 8b 46 18 6652 6660 xor ah, ah ; 30 e4 … … 6658 6666 mov dx, strict word 00074h ; ba 74 00 6659 6667 mov ax, strict word 00040h ; b8 40 00 6660 call 01757h ; e8 1bcb6668 call 01757h ; e8 0f cb 6661 6669 or byte [bp+01eh], 001h ; 80 4e 1e 01 6662 jmp near 049d 2h ; e9 8f fd6670 jmp near 049deh ; e9 8f fd 6663 6671 mov bx, 00db2h ; bb b2 0d 6664 6672 mov cx, ds ; 8c d9 6665 6673 mov ax, strict word 00004h ; b8 04 00 6666 call 01a2ah ; e8 d ccd6674 call 01a2ah ; e8 d0 cd 6667 6675 mov ax, word [bp+018h] ; 8b 46 18 6668 6676 shr ax, 008h ; c1 e8 08 … … 6671 6679 push 00345h ; 68 45 03 6672 6680 push strict byte 00004h ; 6a 04 6673 jmp near 0483 0h ; e9 d0 fb6674 print_boot_device_: ; 0xf4c6 0LB 0x4b6681 jmp near 0483ch ; e9 d0 fb 6682 print_boot_device_: ; 0xf4c6c LB 0x4b 6675 6683 push bp ; 55 6676 6684 mov bp, sp ; 89 e5 6677 6685 push cx ; 51 6678 6686 test al, al ; 84 c0 6679 je short 04c 6dh ; 74 056687 je short 04c79h ; 74 05 6680 6688 mov dx, strict word 00002h ; ba 02 00 6681 jmp short 04c 87h ; eb 1a6689 jmp short 04c93h ; eb 1a 6682 6690 test dl, dl ; 84 d2 6683 je short 04c 76h ; 74 056691 je short 04c82h ; 74 05 6684 6692 mov dx, strict word 00003h ; ba 03 00 6685 jmp short 04c 87h ; eb 116693 jmp short 04c93h ; eb 11 6686 6694 test bl, 080h ; f6 c3 80 6687 jne short 04c 7fh ; 75 046695 jne short 04c8bh ; 75 04 6688 6696 xor dh, dh ; 30 f6 6689 jmp short 04c 87h ; eb 086697 jmp short 04c93h ; eb 08 6690 6698 test bl, 080h ; f6 c3 80 6691 je short 04c a5h ; 74 216699 je short 04cb1h ; 74 21 6692 6700 mov dx, strict word 00001h ; ba 01 00 6693 6701 mov bx, 00db2h ; bb b2 0d 6694 6702 mov cx, ds ; 8c d9 6695 6703 mov ax, strict word 00004h ; b8 04 00 6696 call 01a2ah ; e8 98cd6704 call 01a2ah ; e8 8c cd 6697 6705 imul dx, dx, strict byte 0000ah ; 6b d2 0a 6698 6706 add dx, 00dd8h ; 81 c2 d8 0d … … 6700 6708 push 004a6h ; 68 a6 04 6701 6709 push strict byte 00004h ; 6a 04 6702 call 01a6bh ; e8 c9cd6710 call 01a6bh ; e8 bd cd 6703 6711 add sp, strict byte 00006h ; 83 c4 06 6704 6712 lea sp, [bp-002h] ; 8d 66 fe … … 6706 6714 pop bp ; 5d 6707 6715 retn ; c3 6708 print_boot_failure_: ; 0xf4c abLB 0x936716 print_boot_failure_: ; 0xf4cb7 LB 0x93 6709 6717 push bp ; 55 6710 6718 mov bp, sp ; 89 e5 … … 6715 6723 movzx si, ah ; 0f b6 f4 6716 6724 test al, al ; 84 c0 6717 je short 04c d8h ; 74 1b6725 je short 04ce4h ; 74 1b 6718 6726 mov bx, 00db2h ; bb b2 0d 6719 6727 mov cx, ds ; 8c d9 6720 6728 mov ax, strict word 00004h ; b8 04 00 6721 call 01a2ah ; e8 62cd6729 call 01a2ah ; e8 56 cd 6722 6730 push 00dech ; 68 ec 0d 6723 6731 push 004bah ; 68 ba 04 6724 6732 push strict byte 00004h ; 6a 04 6725 call 01a6bh ; e8 98cd6733 call 01a6bh ; e8 8c cd 6726 6734 add sp, strict byte 00006h ; 83 c4 06 6727 jmp short 04d 1ch ; eb 446735 jmp short 04d28h ; eb 44 6728 6736 test dl, dl ; 84 d2 6729 je short 04c ech ; 74 106737 je short 04cf8h ; 74 10 6730 6738 mov bx, 00db2h ; bb b2 0d 6731 6739 mov cx, ds ; 8c d9 6732 6740 mov ax, strict word 00004h ; b8 04 00 6733 call 01a2ah ; e8 43cd6741 call 01a2ah ; e8 37 cd 6734 6742 push 00df6h ; 68 f6 0d 6735 jmp short 04c cbh ; eb df6743 jmp short 04cd7h ; eb df 6736 6744 test bl, 080h ; f6 c3 80 6737 je short 04d0 2h ; 74 116745 je short 04d0eh ; 74 11 6738 6746 mov bx, 00db2h ; bb b2 0d 6739 6747 mov cx, ds ; 8c d9 6740 6748 mov ax, strict word 00004h ; b8 04 00 6741 call 01a2ah ; e8 2 ecd6749 call 01a2ah ; e8 22 cd 6742 6750 push si ; 56 6743 6751 push 00de2h ; 68 e2 0d 6744 jmp short 04d1 1h ; eb 0f6752 jmp short 04d1dh ; eb 0f 6745 6753 mov bx, 00db2h ; bb b2 0d 6746 6754 mov cx, ds ; 8c d9 6747 6755 mov ax, strict word 00004h ; b8 04 00 6748 call 01a2ah ; e8 1 dcd6756 call 01a2ah ; e8 11 cd 6749 6757 push si ; 56 6750 6758 push 00dd8h ; 68 d8 0d 6751 6759 push 004cfh ; 68 cf 04 6752 6760 push strict byte 00004h ; 6a 04 6753 call 01a6bh ; e8 52cd6761 call 01a6bh ; e8 46 cd 6754 6762 add sp, strict byte 00008h ; 83 c4 08 6755 6763 cmp byte [bp+004h], 001h ; 80 7e 04 01 6756 jne short 04d 36h ; 75 146764 jne short 04d42h ; 75 14 6757 6765 test dh, dh ; 84 f6 6758 jne short 04d 2bh ; 75 056766 jne short 04d37h ; 75 05 6759 6767 push 004e7h ; 68 e7 04 6760 jmp short 04d 2eh ; eb 036768 jmp short 04d3ah ; eb 03 6761 6769 push 00511h ; 68 11 05 6762 6770 push strict byte 00007h ; 6a 07 6763 call 01a6bh ; e8 38cd6771 call 01a6bh ; e8 2c cd 6764 6772 add sp, strict byte 00004h ; 83 c4 04 6765 6773 lea sp, [bp-002h] ; 8d 66 fe … … 6767 6775 pop bp ; 5d 6768 6776 retn 00002h ; c2 02 00 6769 print_cdromboot_failure_: ; 0xf4d 3eLB 0x276777 print_cdromboot_failure_: ; 0xf4d4a LB 0x27 6770 6778 push bp ; 55 6771 6779 mov bp, sp ; 89 e5 … … 6777 6785 mov cx, ds ; 8c d9 6778 6786 mov ax, strict word 00004h ; b8 04 00 6779 call 01a2ah ; e8 d9cc6787 call 01a2ah ; e8 cd cc 6780 6788 push dx ; 52 6781 6789 push 00546h ; 68 46 05 6782 6790 push strict byte 00004h ; 6a 04 6783 call 01a6bh ; e8 11cd6791 call 01a6bh ; e8 05 cd 6784 6792 add sp, strict byte 00006h ; 83 c4 06 6785 6793 lea sp, [bp-006h] ; 8d 66 fa … … 6789 6797 pop bp ; 5d 6790 6798 retn ; c3 6791 _int19_function: ; 0xf4d 65LB 0x2566799 _int19_function: ; 0xf4d71 LB 0x256 6792 6800 push bp ; 55 6793 6801 mov bp, sp ; 89 e5 … … 6797 6805 mov dx, strict word 0000eh ; ba 0e 00 6798 6806 mov ax, strict word 00040h ; b8 40 00 6799 call 01765h ; e8 e fc96807 call 01765h ; e8 e3 c9 6800 6808 mov bx, ax ; 89 c3 6801 6809 mov word [bp-00eh], ax ; 89 46 f2 6802 6810 mov byte [bp-008h], 000h ; c6 46 f8 00 6803 6811 mov ax, strict word 0003dh ; b8 3d 00 6804 call 017a5h ; e8 20ca6812 call 017a5h ; e8 14 ca 6805 6813 movzx si, al ; 0f b6 f0 6806 6814 mov ax, strict word 00038h ; b8 38 00 6807 call 017a5h ; e8 17ca6815 call 017a5h ; e8 0b ca 6808 6816 and AL, strict byte 0f0h ; 24 f0 6809 6817 xor ah, ah ; 30 e4 … … 6811 6819 or si, ax ; 09 c6 6812 6820 mov ax, strict word 0003ch ; b8 3c 00 6813 call 017a5h ; e8 08 ca6821 call 017a5h ; e8 fc c9 6814 6822 and AL, strict byte 00fh ; 24 0f 6815 6823 xor ah, ah ; 30 e4 … … 6818 6826 mov dx, 0037dh ; ba 7d 03 6819 6827 mov ax, bx ; 89 d8 6820 call 01749h ; e8 9bc96828 call 01749h ; e8 8f c9 6821 6829 test al, al ; 84 c0 6822 je short 04d bdh ; 74 0b6830 je short 04dc9h ; 74 0b 6823 6831 mov dx, 0037dh ; ba 7d 03 6824 6832 mov ax, bx ; 89 d8 6825 call 01749h ; e8 8 fc96833 call 01749h ; e8 83 c9 6826 6834 movzx si, al ; 0f b6 f0 6827 6835 cmp byte [bp+004h], 001h ; 80 7e 04 01 6828 jne short 04dd 3h ; 75 106836 jne short 04ddfh ; 75 10 6829 6837 mov ax, strict word 0003ch ; b8 3c 00 6830 call 017a5h ; e8 d cc96838 call 017a5h ; e8 d0 c9 6831 6839 and AL, strict byte 0f0h ; 24 f0 6832 6840 xor ah, ah ; 30 e4 6833 6841 sar ax, 004h ; c1 f8 04 6834 call 07e 3fh ; e8 6c306842 call 07e4fh ; e8 70 30 6835 6843 cmp byte [bp+004h], 002h ; 80 7e 04 02 6836 jne short 04d dch ; 75 036844 jne short 04de8h ; 75 03 6837 6845 shr si, 004h ; c1 ee 04 6838 6846 cmp byte [bp+004h], 003h ; 80 7e 04 03 6839 jne short 04d e5h ; 75 036847 jne short 04df1h ; 75 03 6840 6848 shr si, 008h ; c1 ee 08 6841 6849 cmp byte [bp+004h], 004h ; 80 7e 04 04 6842 jne short 04d eeh ; 75 036850 jne short 04dfah ; 75 03 6843 6851 shr si, 00ch ; c1 ee 0c 6844 6852 cmp si, strict byte 00010h ; 83 fe 10 6845 jnc short 04 df7h ; 73 046853 jnc short 04e03h ; 73 04 6846 6854 mov byte [bp-008h], 001h ; c6 46 f8 01 6847 6855 xor al, al ; 30 c0 … … 6852 6860 mov cx, ds ; 8c d9 6853 6861 mov ax, strict word 00004h ; b8 04 00 6854 call 01a2ah ; e8 1 dcc6862 call 01a2ah ; e8 11 cc 6855 6863 push si ; 56 6856 6864 movzx ax, byte [bp+004h] ; 0f b6 46 04 … … 6858 6866 push 00566h ; 68 66 05 6859 6867 push strict byte 00004h ; 6a 04 6860 call 01a6bh ; e8 50cc6868 call 01a6bh ; e8 44 cc 6861 6869 add sp, strict byte 00008h ; 83 c4 08 6862 6870 and si, strict byte 0000fh ; 83 e6 0f 6863 6871 cmp si, strict byte 00002h ; 83 fe 02 6864 jc short 04e 34h ; 72 0e6865 jbe short 04e4 3h ; 76 1b6872 jc short 04e40h ; 72 0e 6873 jbe short 04e4fh ; 76 1b 6866 6874 cmp si, strict byte 00004h ; 83 fe 04 6867 je short 04e6 1h ; 74 346875 je short 04e6dh ; 74 34 6868 6876 cmp si, strict byte 00003h ; 83 fe 03 6869 je short 04e 57h ; 74 256870 jmp short 04e 8eh ; eb 5a6877 je short 04e63h ; 74 25 6878 jmp short 04e9ah ; eb 5a 6871 6879 cmp si, strict byte 00001h ; 83 fe 01 6872 jne short 04e 8eh ; 75 556880 jne short 04e9ah ; 75 55 6873 6881 xor al, al ; 30 c0 6874 6882 mov byte [bp-006h], al ; 88 46 fa 6875 6883 mov byte [bp-00ah], al ; 88 46 f6 6876 jmp short 04e a6h ; eb 636884 jmp short 04eb2h ; eb 63 6877 6885 mov dx, 0037ch ; ba 7c 03 6878 6886 mov ax, word [bp-00eh] ; 8b 46 f2 6879 call 01749h ; e8 f dc86887 call 01749h ; e8 f1 c8 6880 6888 add AL, strict byte 080h ; 04 80 6881 6889 mov byte [bp-006h], al ; 88 46 fa 6882 6890 mov byte [bp-00ah], 000h ; c6 46 f6 00 6883 jmp short 04e a6h ; eb 4f6891 jmp short 04eb2h ; eb 4f 6884 6892 mov byte [bp-006h], 000h ; c6 46 fa 00 6885 6893 mov byte [bp-00ah], 001h ; c6 46 f6 01 6886 jmp short 04e 6bh ; eb 0a6894 jmp short 04e77h ; eb 0a 6887 6895 mov byte [bp-00ch], 001h ; c6 46 f4 01 6888 6896 cmp byte [bp-00ah], 000h ; 80 7e f6 00 6889 je short 04e a6h ; 74 3b6890 call 03eb 3h ; e8 45 f06897 je short 04eb2h ; 74 3b 6898 call 03ebfh ; e8 45 f0 6891 6899 mov bx, ax ; 89 c3 6892 6900 test AL, strict byte 0ffh ; a8 ff 6893 je short 04e 95h ; 74 216894 call 04d 3eh ; e8 c7 fe6901 je short 04ea1h ; 74 21 6902 call 04d4ah ; e8 c7 fe 6895 6903 movzx ax, byte [bp-008h] ; 0f b6 46 f8 6896 6904 push ax ; 50 … … 6899 6907 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6900 6908 mov cx, strict word 00001h ; b9 01 00 6901 call 04c abh ; e8 1d fe6909 call 04cb7h ; e8 1d fe 6902 6910 xor ax, ax ; 31 c0 6903 6911 xor dx, dx ; 31 d2 6904 jmp near 04f b4h ; e9 1f 016912 jmp near 04fc0h ; e9 1f 01 6905 6913 mov dx, 00372h ; ba 72 03 6906 6914 mov ax, word [bp-00eh] ; 8b 46 f2 6907 call 01765h ; e8 c7c86915 call 01765h ; e8 bb c8 6908 6916 mov di, ax ; 89 c7 6909 6917 shr bx, 008h ; c1 eb 08 6910 6918 mov byte [bp-006h], bl ; 88 5e fa 6911 6919 cmp byte [bp-00ch], 001h ; 80 7e f4 01 6912 jne near 04f2 2h ; 0f 85 74 006920 jne near 04f2eh ; 0f 85 74 00 6913 6921 xor si, si ; 31 f6 6914 6922 mov ax, 0e200h ; b8 00 e2 6915 6923 mov es, ax ; 8e c0 6916 6924 cmp word [es:si], 0aa55h ; 26 81 3c 55 aa 6917 jne short 04e 77h ; 75 bb6925 jne short 04e83h ; 75 bb 6918 6926 mov cx, ax ; 89 c1 6919 6927 mov si, word [es:si+01ah] ; 26 8b 74 1a 6920 6928 cmp word [es:si+002h], 0506eh ; 26 81 7c 02 6e 50 6921 jne short 04e 77h ; 75 ad6929 jne short 04e83h ; 75 ad 6922 6930 cmp word [es:si], 05024h ; 26 81 3c 24 50 6923 jne short 04e 77h ; 75 a66931 jne short 04e83h ; 75 a6 6924 6932 mov di, word [es:si+00eh] ; 26 8b 7c 0e 6925 6933 mov dx, word [es:di] ; 26 8b 15 6926 6934 mov ax, word [es:di+002h] ; 26 8b 45 02 6927 6935 cmp ax, 06568h ; 3d 68 65 6928 jne short 04f0 0h ; 75 1f6936 jne short 04f0ch ; 75 1f 6929 6937 cmp dx, 07445h ; 81 fa 45 74 6930 jne short 04f0 0h ; 75 196938 jne short 04f0ch ; 75 19 6931 6939 movzx bx, byte [bp-006h] ; 0f b6 5e fa 6932 6940 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 6933 6941 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6934 call 04c6 0h ; e8 6a fd6942 call 04c6ch ; e8 6a fd 6935 6943 mov word [bp-012h], strict word 00006h ; c7 46 ee 06 00 6936 6944 mov word [bp-010h], cx ; 89 4e f0 6937 jmp short 04f 1ch ; eb 1c6945 jmp short 04f28h ; eb 1c 6938 6946 movzx bx, byte [bp-006h] ; 0f b6 5e fa 6939 6947 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 6940 6948 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6941 call 04c6 0h ; e8 51 fd6949 call 04c6ch ; e8 51 fd 6942 6950 sti ; fb 6943 6951 mov word [bp-010h], cx ; 89 4e f0 … … 6946 6954 mov word [bp-012h], ax ; 89 46 ee 6947 6955 call far [bp-012h] ; ff 5e ee 6948 jmp near 04e 77h ; e9 55 ff6956 jmp near 04e83h ; e9 55 ff 6949 6957 cmp byte [bp-00ah], 000h ; 80 7e f6 00 6950 jne short 04f 4eh ; 75 266958 jne short 04f5ah ; 75 26 6951 6959 cmp byte [bp-00ch], 000h ; 80 7e f4 00 6952 jne short 04f 4eh ; 75 206960 jne short 04f5ah ; 75 20 6953 6961 mov di, 007c0h ; bf c0 07 6954 6962 mov es, di ; 8e c7 … … 6963 6971 sbb ax, strict byte 00000h ; 83 d8 00 6964 6972 test ax, ax ; 85 c0 6965 jne near 04e 77h ; 0f 85 29 ff6973 jne near 04e83h ; 0f 85 29 ff 6966 6974 cmp byte [bp-006h], 000h ; 80 7e fa 00 6967 6975 db 00fh, 094h, 0c1h 6968 6976 ; sete cl ; 0f 94 c1 6969 6977 cmp byte [bp-00ah], 000h ; 80 7e f6 00 6970 je short 04f 5dh ; 74 026978 je short 04f69h ; 74 02 6971 6979 mov CL, strict byte 001h ; b1 01 6972 6980 xor dx, dx ; 31 d2 6973 6981 mov ax, di ; 89 f8 6974 call 01765h ; e8 01 c86982 call 01765h ; e8 f5 c7 6975 6983 mov bx, ax ; 89 c3 6976 6984 mov dx, strict word 00002h ; ba 02 00 6977 6985 mov ax, di ; 89 f8 6978 call 01765h ; e8 f7c76986 call 01765h ; e8 eb c7 6979 6987 cmp bx, ax ; 39 c3 6980 je short 04f8 3h ; 74 116988 je short 04f8fh ; 74 11 6981 6989 test cl, cl ; 84 c9 6982 jne short 04f 99h ; 75 236990 jne short 04fa5h ; 75 23 6983 6991 mov dx, 001feh ; ba fe 01 6984 6992 mov ax, di ; 89 f8 6985 call 01765h ; e8 e7c76993 call 01765h ; e8 db c7 6986 6994 cmp ax, 0aa55h ; 3d 55 aa 6987 je short 04f 99h ; 74 166995 je short 04fa5h ; 74 16 6988 6996 movzx ax, byte [bp-008h] ; 0f b6 46 f8 6989 6997 push ax ; 50 … … 6992 7000 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6993 7001 xor cx, cx ; 31 c9 6994 jmp near 04e 8bh ; e9 f2 fe7002 jmp near 04e97h ; e9 f2 fe 6995 7003 movzx bx, byte [bp-006h] ; 0f b6 5e fa 6996 7004 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 6997 7005 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6998 call 04c6 0h ; e8 b8 fc7006 call 04c6ch ; e8 b8 fc 6999 7007 movzx bx, byte [bp-006h] ; 0f b6 5e fa 7000 7008 xor dx, dx ; 31 d2 … … 7007 7015 pop bp ; 5d 7008 7016 retn ; c3 7009 keyboard_panic_: ; 0xf4f bbLB 0x137017 keyboard_panic_: ; 0xf4fc7 LB 0x13 7010 7018 push bp ; 55 7011 7019 mov bp, sp ; 89 e5 … … 7013 7021 push 00586h ; 68 86 05 7014 7022 push strict byte 00007h ; 6a 07 7015 call 01a6bh ; e8 a4ca7023 call 01a6bh ; e8 98 ca 7016 7024 add sp, strict byte 00006h ; 83 c4 06 7017 7025 mov sp, bp ; 89 ec 7018 7026 pop bp ; 5d 7019 7027 retn ; c3 7020 _keyboard_init: ; 0xf4f ceLB 0x26a7028 _keyboard_init: ; 0xf4fda LB 0x26a 7021 7029 push bp ; 55 7022 7030 mov bp, sp ; 89 e5 … … 7030 7038 ; sub ah, ah ; 2a e4 7031 7039 test AL, strict byte 002h ; a8 02 7032 je short 04ff 1h ; 74 0d7040 je short 04ffdh ; 74 0d 7033 7041 dec bx ; 4b 7034 7042 test bx, bx ; 85 db 7035 jbe short 04ff 1h ; 76 087043 jbe short 04ffdh ; 76 08 7036 7044 xor al, al ; 30 c0 7037 7045 mov dx, 00080h ; ba 80 00 7038 7046 out DX, AL ; ee 7039 jmp short 04f dah ; eb e97047 jmp short 04fe6h ; eb e9 7040 7048 test bx, bx ; 85 db 7041 jne short 0 4ffah ; 75 057049 jne short 05006h ; 75 05 7042 7050 xor ax, ax ; 31 c0 7043 call 04f bbh ; e8 c1 ff7051 call 04fc7h ; e8 c1 ff 7044 7052 mov bx, strict word 0ffffh ; bb ff ff 7045 7053 mov dx, strict word 00064h ; ba 64 00 … … 7048 7056 ; sub ah, ah ; 2a e4 7049 7057 test AL, strict byte 001h ; a8 01 7050 jne short 050 14h ; 75 0d7058 jne short 05020h ; 75 0d 7051 7059 dec bx ; 4b 7052 7060 test bx, bx ; 85 db 7053 jbe short 050 14h ; 76 087061 jbe short 05020h ; 76 08 7054 7062 mov AL, strict byte 001h ; b0 01 7055 7063 mov dx, 00080h ; ba 80 00 7056 7064 out DX, AL ; ee 7057 jmp short 0 4ffdh ; eb e97065 jmp short 05009h ; eb e9 7058 7066 test bx, bx ; 85 db 7059 jne short 050 1eh ; 75 067067 jne short 0502ah ; 75 06 7060 7068 mov ax, strict word 00001h ; b8 01 00 7061 call 04f bbh ; e8 9d ff7069 call 04fc7h ; e8 9d ff 7062 7070 mov dx, strict word 00060h ; ba 60 00 7063 7071 in AL, DX ; ec … … 7065 7073 ; sub ah, ah ; 2a e4 7066 7074 cmp ax, strict word 00055h ; 3d 55 00 7067 je short 050 2fh ; 74 067075 je short 0503bh ; 74 06 7068 7076 mov ax, 003dfh ; b8 df 03 7069 call 04f bbh ; e8 8c ff7077 call 04fc7h ; e8 8c ff 7070 7078 mov AL, strict byte 0abh ; b0 ab 7071 7079 mov dx, strict word 00064h ; ba 64 00 … … 7077 7085 ; sub ah, ah ; 2a e4 7078 7086 test AL, strict byte 002h ; a8 02 7079 je short 050 4fh ; 74 0d7087 je short 0505bh ; 74 0d 7080 7088 dec bx ; 4b 7081 7089 test bx, bx ; 85 db 7082 jbe short 050 4fh ; 76 087090 jbe short 0505bh ; 76 08 7083 7091 mov AL, strict byte 010h ; b0 10 7084 7092 mov dx, 00080h ; ba 80 00 7085 7093 out DX, AL ; ee 7086 jmp short 050 38h ; eb e97094 jmp short 05044h ; eb e9 7087 7095 test bx, bx ; 85 db 7088 jne short 050 59h ; 75 067096 jne short 05065h ; 75 06 7089 7097 mov ax, strict word 0000ah ; b8 0a 00 7090 call 04f bbh ; e8 62 ff7098 call 04fc7h ; e8 62 ff 7091 7099 mov bx, strict word 0ffffh ; bb ff ff 7092 7100 mov dx, strict word 00064h ; ba 64 00 … … 7095 7103 ; sub ah, ah ; 2a e4 7096 7104 test AL, strict byte 001h ; a8 01 7097 jne short 0507 3h ; 75 0d7105 jne short 0507fh ; 75 0d 7098 7106 dec bx ; 4b 7099 7107 test bx, bx ; 85 db 7100 jbe short 0507 3h ; 76 087108 jbe short 0507fh ; 76 08 7101 7109 mov AL, strict byte 011h ; b0 11 7102 7110 mov dx, 00080h ; ba 80 00 7103 7111 out DX, AL ; ee 7104 jmp short 050 5ch ; eb e97112 jmp short 05068h ; eb e9 7105 7113 test bx, bx ; 85 db 7106 jne short 050 7dh ; 75 067114 jne short 05089h ; 75 06 7107 7115 mov ax, strict word 0000bh ; b8 0b 00 7108 call 04f bbh ; e8 3e ff7116 call 04fc7h ; e8 3e ff 7109 7117 mov dx, strict word 00060h ; ba 60 00 7110 7118 in AL, DX ; ec … … 7112 7120 ; sub ah, ah ; 2a e4 7113 7121 test ax, ax ; 85 c0 7114 je short 050 8dh ; 74 067122 je short 05099h ; 74 06 7115 7123 mov ax, 003e0h ; b8 e0 03 7116 call 04f bbh ; e8 2e ff7124 call 04fc7h ; e8 2e ff 7117 7125 mov AL, strict byte 0ffh ; b0 ff 7118 7126 mov dx, strict word 00060h ; ba 60 00 … … 7124 7132 ; sub ah, ah ; 2a e4 7125 7133 test AL, strict byte 002h ; a8 02 7126 je short 050 adh ; 74 0d7134 je short 050b9h ; 74 0d 7127 7135 dec bx ; 4b 7128 7136 test bx, bx ; 85 db 7129 jbe short 050 adh ; 76 087137 jbe short 050b9h ; 76 08 7130 7138 mov AL, strict byte 020h ; b0 20 7131 7139 mov dx, 00080h ; ba 80 00 7132 7140 out DX, AL ; ee 7133 jmp short 050 96h ; eb e97141 jmp short 050a2h ; eb e9 7134 7142 test bx, bx ; 85 db 7135 jne short 050 b7h ; 75 067143 jne short 050c3h ; 75 06 7136 7144 mov ax, strict word 00014h ; b8 14 00 7137 call 04f bbh ; e8 04 ff7145 call 04fc7h ; e8 04 ff 7138 7146 mov bx, strict word 0ffffh ; bb ff ff 7139 7147 mov dx, strict word 00064h ; ba 64 00 … … 7142 7150 ; sub ah, ah ; 2a e4 7143 7151 test AL, strict byte 001h ; a8 01 7144 jne short 050d 1h ; 75 0d7152 jne short 050ddh ; 75 0d 7145 7153 dec bx ; 4b 7146 7154 test bx, bx ; 85 db 7147 jbe short 050d 1h ; 76 087155 jbe short 050ddh ; 76 08 7148 7156 mov AL, strict byte 021h ; b0 21 7149 7157 mov dx, 00080h ; ba 80 00 7150 7158 out DX, AL ; ee 7151 jmp short 050 bah ; eb e97159 jmp short 050c6h ; eb e9 7152 7160 test bx, bx ; 85 db 7153 jne short 050 dbh ; 75 067161 jne short 050e7h ; 75 06 7154 7162 mov ax, strict word 00015h ; b8 15 00 7155 call 04f bbh ; e8 e0 fe7163 call 04fc7h ; e8 e0 fe 7156 7164 mov dx, strict word 00060h ; ba 60 00 7157 7165 in AL, DX ; ec … … 7159 7167 ; sub ah, ah ; 2a e4 7160 7168 cmp ax, 000fah ; 3d fa 00 7161 je short 050 ech ; 74 067169 je short 050f8h ; 74 06 7162 7170 mov ax, 003e1h ; b8 e1 03 7163 call 04f bbh ; e8 cf fe7171 call 04fc7h ; e8 cf fe 7164 7172 mov dx, strict word 00064h ; ba 64 00 7165 7173 in AL, DX ; ec … … 7167 7175 ; sub ah, ah ; 2a e4 7168 7176 test AL, strict byte 001h ; a8 01 7169 jne short 05 0feh ; 75 087177 jne short 0510ah ; 75 08 7170 7178 mov AL, strict byte 031h ; b0 31 7171 7179 mov dx, 00080h ; ba 80 00 7172 7180 out DX, AL ; ee 7173 jmp short 050 ech ; eb ee7181 jmp short 050f8h ; eb ee 7174 7182 mov dx, strict word 00060h ; ba 60 00 7175 7183 in AL, DX ; ec … … 7177 7185 ; sub ah, ah ; 2a e4 7178 7186 cmp ax, 000aah ; 3d aa 00 7179 je short 051 17h ; 74 0e7187 je short 05123h ; 74 0e 7180 7188 in AL, DX ; ec 7181 7189 db 02ah, 0e4h 7182 7190 ; sub ah, ah ; 2a e4 7183 7191 cmp ax, 000aah ; 3d aa 00 7184 je short 051 17h ; 74 067192 je short 05123h ; 74 06 7185 7193 mov ax, 003e2h ; b8 e2 03 7186 call 04f bbh ; e8 a4 fe7194 call 04fc7h ; e8 a4 fe 7187 7195 mov AL, strict byte 0f5h ; b0 f5 7188 7196 mov dx, strict word 00060h ; ba 60 00 … … 7194 7202 ; sub ah, ah ; 2a e4 7195 7203 test AL, strict byte 002h ; a8 02 7196 je short 051 37h ; 74 0d7204 je short 05143h ; 74 0d 7197 7205 dec bx ; 4b 7198 7206 test bx, bx ; 85 db 7199 jbe short 051 37h ; 76 087207 jbe short 05143h ; 76 08 7200 7208 mov AL, strict byte 040h ; b0 40 7201 7209 mov dx, 00080h ; ba 80 00 7202 7210 out DX, AL ; ee 7203 jmp short 0512 0h ; eb e97211 jmp short 0512ch ; eb e9 7204 7212 test bx, bx ; 85 db 7205 jne short 0514 1h ; 75 067213 jne short 0514dh ; 75 06 7206 7214 mov ax, strict word 00028h ; b8 28 00 7207 call 04f bbh ; e8 7a fe7215 call 04fc7h ; e8 7a fe 7208 7216 mov bx, strict word 0ffffh ; bb ff ff 7209 7217 mov dx, strict word 00064h ; ba 64 00 … … 7212 7220 ; sub ah, ah ; 2a e4 7213 7221 test AL, strict byte 001h ; a8 01 7214 jne short 051 5bh ; 75 0d7222 jne short 05167h ; 75 0d 7215 7223 dec bx ; 4b 7216 7224 test bx, bx ; 85 db 7217 jbe short 051 5bh ; 76 087225 jbe short 05167h ; 76 08 7218 7226 mov AL, strict byte 041h ; b0 41 7219 7227 mov dx, 00080h ; ba 80 00 7220 7228 out DX, AL ; ee 7221 jmp short 051 44h ; eb e97229 jmp short 05150h ; eb e9 7222 7230 test bx, bx ; 85 db 7223 jne short 051 65h ; 75 067231 jne short 05171h ; 75 06 7224 7232 mov ax, strict word 00029h ; b8 29 00 7225 call 04f bbh ; e8 56 fe7233 call 04fc7h ; e8 56 fe 7226 7234 mov dx, strict word 00060h ; ba 60 00 7227 7235 in AL, DX ; ec … … 7229 7237 ; sub ah, ah ; 2a e4 7230 7238 cmp ax, 000fah ; 3d fa 00 7231 je short 051 76h ; 74 067239 je short 05182h ; 74 06 7232 7240 mov ax, 003e3h ; b8 e3 03 7233 call 04f bbh ; e8 45 fe7241 call 04fc7h ; e8 45 fe 7234 7242 mov AL, strict byte 060h ; b0 60 7235 7243 mov dx, strict word 00064h ; ba 64 00 … … 7241 7249 ; sub ah, ah ; 2a e4 7242 7250 test AL, strict byte 002h ; a8 02 7243 je short 051 96h ; 74 0d7251 je short 051a2h ; 74 0d 7244 7252 dec bx ; 4b 7245 7253 test bx, bx ; 85 db 7246 jbe short 051 96h ; 76 087254 jbe short 051a2h ; 76 08 7247 7255 mov AL, strict byte 050h ; b0 50 7248 7256 mov dx, 00080h ; ba 80 00 7249 7257 out DX, AL ; ee 7250 jmp short 051 7fh ; eb e97258 jmp short 0518bh ; eb e9 7251 7259 test bx, bx ; 85 db 7252 jne short 051a 0h ; 75 067260 jne short 051ach ; 75 06 7253 7261 mov ax, strict word 00032h ; b8 32 00 7254 call 04f bbh ; e8 1b fe7262 call 04fc7h ; e8 1b fe 7255 7263 mov AL, strict byte 065h ; b0 65 7256 7264 mov dx, strict word 00060h ; ba 60 00 … … 7262 7270 ; sub ah, ah ; 2a e4 7263 7271 test AL, strict byte 002h ; a8 02 7264 je short 051c 0h ; 74 0d7272 je short 051cch ; 74 0d 7265 7273 dec bx ; 4b 7266 7274 test bx, bx ; 85 db 7267 jbe short 051c 0h ; 76 087275 jbe short 051cch ; 76 08 7268 7276 mov AL, strict byte 060h ; b0 60 7269 7277 mov dx, 00080h ; ba 80 00 7270 7278 out DX, AL ; ee 7271 jmp short 051 a9h ; eb e97279 jmp short 051b5h ; eb e9 7272 7280 test bx, bx ; 85 db 7273 jne short 051 cah ; 75 067281 jne short 051d6h ; 75 06 7274 7282 mov ax, strict word 0003ch ; b8 3c 00 7275 call 04f bbh ; e8 f1 fd7283 call 04fc7h ; e8 f1 fd 7276 7284 mov AL, strict byte 0f4h ; b0 f4 7277 7285 mov dx, strict word 00060h ; ba 60 00 … … 7283 7291 ; sub ah, ah ; 2a e4 7284 7292 test AL, strict byte 002h ; a8 02 7285 je short 051 eah ; 74 0d7293 je short 051f6h ; 74 0d 7286 7294 dec bx ; 4b 7287 7295 test bx, bx ; 85 db 7288 jbe short 051 eah ; 76 087296 jbe short 051f6h ; 76 08 7289 7297 mov AL, strict byte 070h ; b0 70 7290 7298 mov dx, 00080h ; ba 80 00 7291 7299 out DX, AL ; ee 7292 jmp short 051d 3h ; eb e97300 jmp short 051dfh ; eb e9 7293 7301 test bx, bx ; 85 db 7294 jne short 05 1f4h ; 75 067302 jne short 05200h ; 75 06 7295 7303 mov ax, strict word 00046h ; b8 46 00 7296 call 04f bbh ; e8 c7 fd7304 call 04fc7h ; e8 c7 fd 7297 7305 mov bx, strict word 0ffffh ; bb ff ff 7298 7306 mov dx, strict word 00064h ; ba 64 00 … … 7301 7309 ; sub ah, ah ; 2a e4 7302 7310 test AL, strict byte 001h ; a8 01 7303 jne short 052 0eh ; 75 0d7311 jne short 0521ah ; 75 0d 7304 7312 dec bx ; 4b 7305 7313 test bx, bx ; 85 db 7306 jbe short 052 0eh ; 76 087314 jbe short 0521ah ; 76 08 7307 7315 mov AL, strict byte 071h ; b0 71 7308 7316 mov dx, 00080h ; ba 80 00 7309 7317 out DX, AL ; ee 7310 jmp short 05 1f7h ; eb e97318 jmp short 05203h ; eb e9 7311 7319 test bx, bx ; 85 db 7312 jne short 052 18h ; 75 067320 jne short 05224h ; 75 06 7313 7321 mov ax, strict word 00046h ; b8 46 00 7314 call 04f bbh ; e8 a3 fd7322 call 04fc7h ; e8 a3 fd 7315 7323 mov dx, strict word 00060h ; ba 60 00 7316 7324 in AL, DX ; ec … … 7318 7326 ; sub ah, ah ; 2a e4 7319 7327 cmp ax, 000fah ; 3d fa 00 7320 je short 052 29h ; 74 067328 je short 05235h ; 74 06 7321 7329 mov ax, 003e4h ; b8 e4 03 7322 call 04f bbh ; e8 92 fd7330 call 04fc7h ; e8 92 fd 7323 7331 mov AL, strict byte 0a8h ; b0 a8 7324 7332 mov dx, strict word 00064h ; ba 64 00 7325 7333 out DX, AL ; ee 7326 7334 xor ax, ax ; 31 c0 7327 call 066 80h ; e8 4c147335 call 06690h ; e8 50 14 7328 7336 mov sp, bp ; 89 ec 7329 7337 pop bp ; 5d 7330 7338 retn ; c3 7331 enqueue_key_: ; 0xf52 38LB 0x997339 enqueue_key_: ; 0xf5244 LB 0x99 7332 7340 push bp ; 55 7333 7341 mov bp, sp ; 89 e5 … … 7341 7349 mov dx, strict word 0001ah ; ba 1a 00 7342 7350 mov ax, strict word 00040h ; b8 40 00 7343 call 01765h ; e8 17c57351 call 01765h ; e8 0b c5 7344 7352 mov di, ax ; 89 c7 7345 7353 mov dx, strict word 0001ch ; ba 1c 00 7346 7354 mov ax, strict word 00040h ; b8 40 00 7347 call 01765h ; e8 0 cc57355 call 01765h ; e8 00 c5 7348 7356 mov si, ax ; 89 c6 7349 7357 lea cx, [si+002h] ; 8d 4c 02 7350 7358 cmp cx, strict byte 0003eh ; 83 f9 3e 7351 jc short 052 66h ; 72 037359 jc short 05272h ; 72 03 7352 7360 mov cx, strict word 0001eh ; b9 1e 00 7353 7361 cmp cx, di ; 39 f9 7354 jne short 052 6eh ; 75 047362 jne short 0527ah ; 75 04 7355 7363 xor ax, ax ; 31 c0 7356 jmp short 0529 3h ; eb 257364 jmp short 0529fh ; eb 25 7357 7365 xor bh, bh ; 30 ff 7358 7366 mov dx, si ; 89 f2 7359 7367 mov ax, strict word 00040h ; b8 40 00 7360 call 01757h ; e8 d fc47368 call 01757h ; e8 d3 c4 7361 7369 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 7362 7370 lea dx, [si+001h] ; 8d 54 01 7363 7371 mov ax, strict word 00040h ; b8 40 00 7364 call 01757h ; e8 d2c47372 call 01757h ; e8 c6 c4 7365 7373 mov bx, cx ; 89 cb 7366 7374 mov dx, strict word 0001ch ; ba 1c 00 7367 7375 mov ax, strict word 00040h ; b8 40 00 7368 call 01773h ; e8 e3c47376 call 01773h ; e8 d7 c4 7369 7377 mov ax, strict word 00001h ; b8 01 00 7370 7378 lea sp, [bp-008h] ; 8d 66 f8 … … 7376 7384 retn ; c3 7377 7385 db 0d4h, 0c6h, 0c5h, 0bah, 0b8h, 0b6h, 0aah, 09dh, 054h, 053h, 046h, 045h, 03ah, 038h, 036h, 02ah 7378 db 01dh, 0 f9h, 055h, 0c2h, 053h, 06ah, 053h, 06ah, 053h, 04bh, 054h, 040h, 053h, 0c9h, 054h, 037h7379 db 055h, 0 dfh, 055h, 0bbh, 055h, 006h, 054h, 06ah, 053h, 06ah, 053h, 08ah, 054h, 05ch, 053h, 018h7380 db 055h, 0 9ch, 055h, 0d8h, 055h7381 _int09_function: ; 0xf52d 1LB 0x4747386 db 01dh, 005h, 056h, 0ceh, 053h, 076h, 053h, 076h, 053h, 057h, 054h, 04ch, 053h, 0d5h, 054h, 043h 7387 db 055h, 0ebh, 055h, 0c7h, 055h, 012h, 054h, 076h, 053h, 076h, 053h, 096h, 054h, 068h, 053h, 024h 7388 db 055h, 0a8h, 055h, 0e4h, 055h 7389 _int09_function: ; 0xf52dd LB 0x474 7382 7390 push bp ; 55 7383 7391 mov bp, sp ; 89 e5 … … 7387 7395 mov byte [bp-00ch], al ; 88 46 f4 7388 7396 test al, al ; 84 c0 7389 jne short 05 2fbh ; 75 197397 jne short 05307h ; 75 19 7390 7398 mov bx, 00db2h ; bb b2 0d 7391 7399 mov cx, ds ; 8c d9 7392 7400 mov ax, strict word 00004h ; b8 04 00 7393 call 01a2ah ; e8 3 dc77401 call 01a2ah ; e8 31 c7 7394 7402 push 00599h ; 68 99 05 7395 7403 push strict byte 00004h ; 6a 04 7396 call 01a6bh ; e8 76c77404 call 01a6bh ; e8 6a c7 7397 7405 add sp, strict byte 00004h ; 83 c4 04 7398 jmp near 053 bch ; e9 c1 007406 jmp near 053c8h ; e9 c1 00 7399 7407 mov dx, strict word 00018h ; ba 18 00 7400 7408 mov ax, strict word 00040h ; b8 40 00 7401 call 01749h ; e8 45c47409 call 01749h ; e8 39 c4 7402 7410 mov byte [bp-006h], al ; 88 46 fa 7403 7411 mov byte [bp-00ah], al ; 88 46 f6 7404 7412 mov dx, 00096h ; ba 96 00 7405 7413 mov ax, strict word 00040h ; b8 40 00 7406 call 01749h ; e8 36c47414 call 01749h ; e8 2a c4 7407 7415 mov byte [bp-00eh], al ; 88 46 f2 7408 7416 mov byte [bp-004h], al ; 88 46 fc 7409 7417 mov dx, strict word 00017h ; ba 17 00 7410 7418 mov ax, strict word 00040h ; b8 40 00 7411 call 01749h ; e8 27c47419 call 01749h ; e8 1b c4 7412 7420 mov byte [bp-010h], al ; 88 46 f0 7413 7421 mov byte [bp-008h], al ; 88 46 f8 … … 7416 7424 pop ES ; 07 7417 7425 mov cx, strict word 00012h ; b9 12 00 7418 mov di, 052 9ch ; bf 9c527426 mov di, 052a8h ; bf a8 52 7419 7427 repne scasb ; f2 ae 7420 7428 sal cx, 1 ; d1 e1 7421 7429 mov di, cx ; 89 cf 7422 mov ax, word [cs:di+052 adh] ; 2e 8b 85 ad527430 mov ax, word [cs:di+052b9h] ; 2e 8b 85 b9 52 7423 7431 jmp ax ; ff e0 7424 7432 xor byte [bp-008h], 040h ; 80 76 f8 40 … … 7426 7434 mov dx, strict word 00017h ; ba 17 00 7427 7435 mov ax, strict word 00040h ; b8 40 00 7428 call 01757h ; e8 06 c47436 call 01757h ; e8 fa c3 7429 7437 or byte [bp-00ah], 040h ; 80 4e f6 40 7430 7438 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 7431 jmp near 055 cch ; e9 70 027439 jmp near 055d8h ; e9 70 02 7432 7440 mov al, byte [bp-006h] ; 8a 46 fa 7433 7441 and AL, strict byte 0bfh ; 24 bf 7434 7442 mov byte [bp-00ah], al ; 88 46 f6 7435 7443 movzx bx, al ; 0f b6 d8 7436 jmp near 055 cch ; e9 62 027444 jmp near 055d8h ; e9 62 02 7437 7445 test byte [bp-004h], 002h ; f6 46 fc 02 7438 jne near 053 9eh ; 0f 85 2c 007446 jne near 053aah ; 0f 85 2c 00 7439 7447 mov al, byte [bp-00ch] ; 8a 46 f4 7440 7448 and AL, strict byte 07fh ; 24 7f … … 7446 7454 mov dl, al ; 88 c2 7447 7455 test byte [bp-00ch], 080h ; f6 46 f4 80 7448 je short 053 8eh ; 74 077456 je short 0539ah ; 74 07 7449 7457 not al ; f6 d0 7450 7458 and byte [bp-008h], al ; 20 46 f8 7451 jmp short 0539 1h ; eb 037459 jmp short 0539dh ; eb 03 7452 7460 or byte [bp-008h], al ; 08 46 f8 7453 7461 movzx bx, byte [bp-008h] ; 0f b6 5e f8 7454 7462 mov dx, strict word 00017h ; ba 17 00 7455 7463 mov ax, strict word 00040h ; b8 40 00 7456 call 01757h ; e8 b9c37464 call 01757h ; e8 ad c3 7457 7465 mov al, byte [bp-00ch] ; 8a 46 f4 7458 7466 and AL, strict byte 07fh ; 24 7f 7459 7467 cmp AL, strict byte 01dh ; 3c 1d 7460 je short 053 abh ; 74 047468 je short 053b7h ; 74 04 7461 7469 and byte [bp-004h], 0feh ; 80 66 fc fe 7462 7470 and byte [bp-004h], 0fdh ; 80 66 fc fd … … 7464 7472 mov dx, 00096h ; ba 96 00 7465 7473 mov ax, strict word 00040h ; b8 40 00 7466 call 01757h ; e8 9bc37474 call 01757h ; e8 8f c3 7467 7475 lea sp, [bp-002h] ; 8d 66 fe 7468 7476 pop di ; 5f … … 7470 7478 retn ; c3 7471 7479 test byte [bp-00eh], 001h ; f6 46 f2 01 7472 jne short 053 9eh ; 75 d67480 jne short 053aah ; 75 d6 7473 7481 mov al, byte [bp-010h] ; 8a 46 f0 7474 7482 or AL, strict byte 004h ; 0c 04 … … 7477 7485 mov dx, strict word 00017h ; ba 17 00 7478 7486 mov ax, strict word 00040h ; b8 40 00 7479 call 01757h ; e8 7bc37487 call 01757h ; e8 6f c3 7480 7488 mov al, byte [bp-00eh] ; 8a 46 f2 7481 7489 test AL, strict byte 002h ; a8 02 7482 je short 053f 0h ; 74 0d7490 je short 053fch ; 74 0d 7483 7491 or AL, strict byte 004h ; 0c 04 7484 7492 mov byte [bp-004h], al ; 88 46 fc 7485 7493 movzx bx, al ; 0f b6 d8 7486 7494 mov dx, 00096h ; ba 96 00 7487 jmp short 05 3feh ; eb 0e7495 jmp short 0540ah ; eb 0e 7488 7496 mov al, byte [bp-006h] ; 8a 46 fa 7489 7497 or AL, strict byte 001h ; 0c 01 … … 7492 7500 mov dx, strict word 00018h ; ba 18 00 7493 7501 mov ax, strict word 00040h ; b8 40 00 7494 call 01757h ; e8 53c37495 jmp short 053 9eh ; eb 987502 call 01757h ; e8 47 c3 7503 jmp short 053aah ; eb 98 7496 7504 test byte [bp-00eh], 001h ; f6 46 f2 01 7497 jne short 053 9eh ; 75 927505 jne short 053aah ; 75 92 7498 7506 mov al, byte [bp-010h] ; 8a 46 f0 7499 7507 and AL, strict byte 0fbh ; 24 fb … … 7502 7510 mov dx, strict word 00017h ; ba 17 00 7503 7511 mov ax, strict word 00040h ; b8 40 00 7504 call 01757h ; e8 37c37512 call 01757h ; e8 2b c3 7505 7513 mov al, byte [bp-00eh] ; 8a 46 f2 7506 7514 test AL, strict byte 002h ; a8 02 7507 je short 054 34h ; 74 0d7515 je short 05440h ; 74 0d 7508 7516 and AL, strict byte 0fbh ; 24 fb 7509 7517 mov byte [bp-004h], al ; 88 46 fc 7510 7518 movzx bx, al ; 0f b6 d8 7511 7519 mov dx, 00096h ; ba 96 00 7512 jmp short 0544 2h ; eb 0e7520 jmp short 0544eh ; eb 0e 7513 7521 mov al, byte [bp-006h] ; 8a 46 fa 7514 7522 and AL, strict byte 0feh ; 24 fe … … 7517 7525 mov dx, strict word 00018h ; ba 18 00 7518 7526 mov ax, strict word 00040h ; b8 40 00 7519 call 01757h ; e8 0 fc37520 jmp near 053 9eh ; e9 53 ff7527 call 01757h ; e8 03 c3 7528 jmp near 053aah ; e9 53 ff 7521 7529 mov al, byte [bp-010h] ; 8a 46 f0 7522 7530 or AL, strict byte 008h ; 0c 08 … … 7525 7533 mov dx, strict word 00017h ; ba 17 00 7526 7534 mov ax, strict word 00040h ; b8 40 00 7527 call 01757h ; e8 f8c27535 call 01757h ; e8 ec c2 7528 7536 mov al, byte [bp-00eh] ; 8a 46 f2 7529 7537 test AL, strict byte 002h ; a8 02 7530 je short 0547 3h ; 74 0d7538 je short 0547fh ; 74 0d 7531 7539 or AL, strict byte 008h ; 0c 08 7532 7540 mov byte [bp-004h], al ; 88 46 fc 7533 7541 movzx bx, al ; 0f b6 d8 7534 7542 mov dx, 00096h ; ba 96 00 7535 jmp short 0548 1h ; eb 0e7543 jmp short 0548dh ; eb 0e 7536 7544 mov al, byte [bp-006h] ; 8a 46 fa 7537 7545 or AL, strict byte 002h ; 0c 02 … … 7540 7548 mov dx, strict word 00018h ; ba 18 00 7541 7549 mov ax, strict word 00040h ; b8 40 00 7542 call 01757h ; e8 d0c27543 jmp near 053 9eh ; e9 14 ff7550 call 01757h ; e8 c4 c2 7551 jmp near 053aah ; e9 14 ff 7544 7552 mov al, byte [bp-010h] ; 8a 46 f0 7545 7553 and AL, strict byte 0f7h ; 24 f7 … … 7548 7556 mov dx, strict word 00017h ; ba 17 00 7549 7557 mov ax, strict word 00040h ; b8 40 00 7550 call 01757h ; e8 b9c27558 call 01757h ; e8 ad c2 7551 7559 mov al, byte [bp-00eh] ; 8a 46 f2 7552 7560 test AL, strict byte 002h ; a8 02 7553 je short 054b 2h ; 74 0d7561 je short 054beh ; 74 0d 7554 7562 and AL, strict byte 0f7h ; 24 f7 7555 7563 mov byte [bp-004h], al ; 88 46 fc 7556 7564 movzx bx, al ; 0f b6 d8 7557 7565 mov dx, 00096h ; ba 96 00 7558 jmp short 054c 0h ; eb 0e7566 jmp short 054cch ; eb 0e 7559 7567 mov al, byte [bp-006h] ; 8a 46 fa 7560 7568 and AL, strict byte 0fdh ; 24 fd … … 7563 7571 mov dx, strict word 00018h ; ba 18 00 7564 7572 mov ax, strict word 00040h ; b8 40 00 7565 call 01757h ; e8 91c27566 jmp near 053 9eh ; e9 d5 fe7573 call 01757h ; e8 85 c2 7574 jmp near 053aah ; e9 d5 fe 7567 7575 test byte [bp-00eh], 003h ; f6 46 f2 03 7568 jne short 054 ebh ; 75 1c7576 jne short 054f7h ; 75 1c 7569 7577 mov al, byte [bp-006h] ; 8a 46 fa 7570 7578 or AL, strict byte 020h ; 0c 20 … … 7573 7581 mov dx, strict word 00018h ; ba 18 00 7574 7582 mov ax, strict word 00040h ; b8 40 00 7575 call 01757h ; e8 74c27583 call 01757h ; e8 68 c2 7576 7584 mov al, byte [bp-010h] ; 8a 46 f0 7577 7585 xor AL, strict byte 020h ; 34 20 7578 jmp near 055 8ah ; e9 9f 007586 jmp near 05596h ; e9 9f 00 7579 7587 mov al, byte [bp-006h] ; 8a 46 fa 7580 7588 or AL, strict byte 008h ; 0c 08 … … 7583 7591 mov dx, strict word 00018h ; ba 18 00 7584 7592 mov ax, strict word 00040h ; b8 40 00 7585 call 01757h ; e8 58c27593 call 01757h ; e8 4c c2 7586 7594 mov AL, strict byte 0aeh ; b0 ae 7587 7595 mov dx, strict word 00064h ; ba 64 00 7588 7596 out DX, AL ; ee 7589 call 0e034h ; e8 2 c8b7597 call 0e034h ; e8 20 8b 7590 7598 mov dx, strict word 00018h ; ba 18 00 7591 7599 mov ax, strict word 00040h ; b8 40 00 7592 call 01749h ; e8 38c27600 call 01749h ; e8 2c c2 7593 7601 test AL, strict byte 008h ; a8 08 7594 jne short 055 08h ; 75 f37595 jmp near 053 9eh ; e9 86 fe7602 jne short 05514h ; 75 f3 7603 jmp near 053aah ; e9 86 fe 7596 7604 test byte [bp-00eh], 003h ; f6 46 f2 03 7597 jne near 053 9eh ; 0f 85 7e fe7605 jne near 053aah ; 0f 85 7e fe 7598 7606 mov al, byte [bp-006h] ; 8a 46 fa 7599 7607 and AL, strict byte 0dfh ; 24 df … … 7602 7610 mov dx, strict word 00018h ; ba 18 00 7603 7611 mov ax, strict word 00040h ; b8 40 00 7604 call 01757h ; e8 23c27605 jmp near 053 9eh ; e9 67 fe7612 call 01757h ; e8 17 c2 7613 jmp near 053aah ; e9 67 fe 7606 7614 test byte [bp-00eh], 002h ; f6 46 f2 02 7607 je short 0557 1h ; 74 347615 je short 0557dh ; 74 34 7608 7616 mov dx, strict word 0001ah ; ba 1a 00 7609 7617 mov ax, strict word 00040h ; b8 40 00 7610 call 01765h ; e8 1 fc27618 call 01765h ; e8 13 c2 7611 7619 mov bx, ax ; 89 c3 7612 7620 mov dx, strict word 0001ch ; ba 1c 00 7613 7621 mov ax, strict word 00040h ; b8 40 00 7614 call 01773h ; e8 22c27622 call 01773h ; e8 16 c2 7615 7623 mov bx, 00080h ; bb 80 00 7616 7624 mov dx, strict word 00071h ; ba 71 00 7617 7625 mov ax, strict word 00040h ; b8 40 00 7618 call 01757h ; e8 fac17626 call 01757h ; e8 ee c1 7619 7627 mov AL, strict byte 0aeh ; b0 ae 7620 7628 mov dx, strict word 00064h ; ba 64 00 … … 7625 7633 xor dx, dx ; 31 d2 7626 7634 xor ax, ax ; 31 c0 7627 call 052 38h ; e8 ca fc7628 jmp near 053 9eh ; e9 2d fe7635 call 05244h ; e8 ca fc 7636 jmp near 053aah ; e9 2d fe 7629 7637 mov al, byte [bp-006h] ; 8a 46 fa 7630 7638 or AL, strict byte 010h ; 0c 10 … … 7633 7641 mov dx, strict word 00018h ; ba 18 00 7634 7642 mov ax, strict word 00040h ; b8 40 00 7635 call 01757h ; e8 d2c17643 call 01757h ; e8 c6 c1 7636 7644 mov al, byte [bp-010h] ; 8a 46 f0 7637 7645 xor AL, strict byte 010h ; 34 10 … … 7640 7648 mov dx, strict word 00017h ; ba 17 00 7641 7649 mov ax, strict word 00040h ; b8 40 00 7642 call 01757h ; e8 b ec17643 jmp near 053 9eh ; e9 02 fe7650 call 01757h ; e8 b2 c1 7651 jmp near 053aah ; e9 02 fe 7644 7652 test byte [bp-00eh], 002h ; f6 46 f2 02 7645 jne near 053 9eh ; 0f 85 fa fd7653 jne near 053aah ; 0f 85 fa fd 7646 7654 mov al, byte [bp-006h] ; 8a 46 fa 7647 7655 and AL, strict byte 0efh ; 24 ef … … 7650 7658 mov dx, strict word 00018h ; ba 18 00 7651 7659 mov ax, strict word 00040h ; b8 40 00 7652 call 01757h ; e8 9 fc17653 jmp near 053 9eh ; e9 e3 fd7660 call 01757h ; e8 93 c1 7661 jmp near 053aah ; e9 e3 fd 7654 7662 mov al, byte [bp-006h] ; 8a 46 fa 7655 7663 test AL, strict byte 004h ; a8 04 7656 jne near 053 9eh ; 0f 85 da fd7664 jne near 053aah ; 0f 85 da fd 7657 7665 or AL, strict byte 004h ; 0c 04 7658 7666 mov byte [bp-00ah], al ; 88 46 f6 … … 7660 7668 mov dx, strict word 00018h ; ba 18 00 7661 7669 mov ax, strict word 00040h ; b8 40 00 7662 call 01757h ; e8 82c17663 jmp near 053 9eh ; e9 c6 fd7670 call 01757h ; e8 76 c1 7671 jmp near 053aah ; e9 c6 fd 7664 7672 mov al, byte [bp-006h] ; 8a 46 fa 7665 7673 and AL, strict byte 0fbh ; 24 fb 7666 jmp short 055 c6h ; eb e77674 jmp short 055d2h ; eb e7 7667 7675 mov al, byte [bp-010h] ; 8a 46 f0 7668 7676 and AL, strict byte 00ch ; 24 0c 7669 7677 cmp AL, strict byte 00ch ; 3c 0c 7670 jne short 05 5f9h ; 75 117678 jne short 05605h ; 75 11 7671 7679 mov bx, 01234h ; bb 34 12 7672 7680 mov dx, strict word 00072h ; ba 72 00 7673 7681 mov ax, strict word 00040h ; b8 40 00 7674 call 01773h ; e8 7 fc17682 call 01773h ; e8 73 c1 7675 7683 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 7676 7684 test byte [bp-00ah], 008h ; f6 46 f6 08 7677 je short 056 0dh ; 74 0e7685 je short 05619h ; 74 0e 7678 7686 and byte [bp-00ah], 0f7h ; 80 66 f6 f7 7679 7687 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 7680 7688 mov dx, strict word 00018h ; ba 18 00 7681 jmp near 053 b6h ; e9 a9 fd7689 jmp near 053c2h ; e9 a9 fd 7682 7690 mov al, byte [bp-00ch] ; 8a 46 f4 7683 7691 test AL, strict byte 080h ; a8 80 7684 je short 056 4bh ; 74 377692 je short 05657h ; 74 37 7685 7693 cmp AL, strict byte 0fah ; 3c fa 7686 jne short 056 28h ; 75 107694 jne short 05634h ; 75 10 7687 7695 mov dx, 00097h ; ba 97 00 7688 7696 mov ax, strict word 00040h ; b8 40 00 7689 call 01749h ; e8 28c17697 call 01749h ; e8 1c c1 7690 7698 mov dl, al ; 88 c2 7691 7699 or dl, 010h ; 80 ca 10 7692 jmp short 056 3ch ; eb 147700 jmp short 05648h ; eb 14 7693 7701 cmp AL, strict byte 0feh ; 3c fe 7694 jne near 053 9eh ; 0f 85 70 fd7702 jne near 053aah ; 0f 85 70 fd 7695 7703 mov dx, 00097h ; ba 97 00 7696 7704 mov ax, strict word 00040h ; b8 40 00 7697 call 01749h ; e8 12c17705 call 01749h ; e8 06 c1 7698 7706 mov dl, al ; 88 c2 7699 7707 or dl, 020h ; 80 ca 20 … … 7701 7709 mov dx, 00097h ; ba 97 00 7702 7710 mov ax, strict word 00040h ; b8 40 00 7703 call 01757h ; e8 0 fc17704 jmp near 053 9eh ; e9 53 fd7711 call 01757h ; e8 03 c1 7712 jmp near 053aah ; e9 53 fd 7705 7713 cmp byte [bp-00ch], 058h ; 80 7e f4 58 7706 jbe short 056 6fh ; 76 1e7714 jbe short 0567bh ; 76 1e 7707 7715 mov bx, 00db2h ; bb b2 0d 7708 7716 mov cx, ds ; 8c d9 7709 7717 mov ax, strict word 00004h ; b8 04 00 7710 call 01a2ah ; e8 c ec37718 call 01a2ah ; e8 c2 c3 7711 7719 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 7712 7720 push ax ; 50 7713 7721 push 005b3h ; 68 b3 05 7714 7722 push strict byte 00004h ; 6a 04 7715 call 01a6bh ; e8 02 c47723 call 01a6bh ; e8 f6 c3 7716 7724 add sp, strict byte 00006h ; 83 c4 06 7717 jmp near 053 bch ; e9 4d fd7725 jmp near 053c8h ; e9 4d fd 7718 7726 mov al, byte [bp-008h] ; 8a 46 f8 7719 7727 test AL, strict byte 008h ; a8 08 7720 je short 056 88h ; 74 127728 je short 05694h ; 74 12 7721 7729 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7722 7730 imul bx, bx, strict byte 0000ah ; 6b db 0a 7723 7731 mov dl, byte [bx+00e06h] ; 8a 97 06 0e 7724 7732 mov ax, word [bx+00e06h] ; 8b 87 06 0e 7725 jmp near 057 16h ; e9 8e 007733 jmp near 05722h ; e9 8e 00 7726 7734 test AL, strict byte 004h ; a8 04 7727 je short 056 9eh ; 74 127735 je short 056aah ; 74 12 7728 7736 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7729 7737 imul bx, bx, strict byte 0000ah ; 6b db 0a 7730 7738 mov dl, byte [bx+00e04h] ; 8a 97 04 0e 7731 7739 mov ax, word [bx+00e04h] ; 8b 87 04 0e 7732 jmp near 057 16h ; e9 78 007740 jmp near 05722h ; e9 78 00 7733 7741 mov al, byte [bp-004h] ; 8a 46 fc 7734 7742 and AL, strict byte 002h ; 24 02 7735 7743 test al, al ; 84 c0 7736 jbe short 056 bch ; 76 157744 jbe short 056c8h ; 76 15 7737 7745 mov al, byte [bp-00ch] ; 8a 46 f4 7738 7746 cmp AL, strict byte 047h ; 3c 47 7739 jc short 056 bch ; 72 0e7747 jc short 056c8h ; 72 0e 7740 7748 cmp AL, strict byte 053h ; 3c 53 7741 jnbe short 056 bch ; 77 0a7749 jnbe short 056c8h ; 77 0a 7742 7750 mov DL, strict byte 0e0h ; b2 e0 7743 7751 movzx bx, al ; 0f b6 d8 7744 7752 imul bx, bx, strict byte 0000ah ; 6b db 0a 7745 jmp short 0571 2h ; eb 567753 jmp short 0571eh ; eb 56 7746 7754 test byte [bp-008h], 003h ; f6 46 f8 03 7747 je short 056f 0h ; 74 2e7755 je short 056fch ; 74 2e 7748 7756 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7749 7757 imul bx, bx, strict byte 0000ah ; 6b db 0a … … 7751 7759 movzx dx, byte [bp-008h] ; 0f b6 56 f8 7752 7760 test dx, ax ; 85 c2 7753 je short 056e 0h ; 74 0a7761 je short 056ech ; 74 0a 7754 7762 mov dl, byte [bx+00e00h] ; 8a 97 00 0e 7755 7763 mov ax, word [bx+00e00h] ; 8b 87 00 0e 7756 jmp short 056 e8h ; eb 087764 jmp short 056f4h ; eb 08 7757 7765 mov dl, byte [bx+00e02h] ; 8a 97 02 0e 7758 7766 mov ax, word [bx+00e02h] ; 8b 87 02 0e 7759 7767 shr ax, 008h ; c1 e8 08 7760 7768 mov byte [bp-00ch], al ; 88 46 f4 7761 jmp short 057 1ch ; eb 2c7769 jmp short 05728h ; eb 2c 7762 7770 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7763 7771 imul bx, bx, strict byte 0000ah ; 6b db 0a … … 7765 7773 movzx dx, byte [bp-008h] ; 0f b6 56 f8 7766 7774 test dx, ax ; 85 c2 7767 je short 057 0eh ; 74 0a7775 je short 0571ah ; 74 0a 7768 7776 mov dl, byte [bx+00e02h] ; 8a 97 02 0e 7769 7777 mov ax, word [bx+00e02h] ; 8b 87 02 0e 7770 jmp short 057 16h ; eb 087778 jmp short 05722h ; eb 08 7771 7779 mov dl, byte [bx+00e00h] ; 8a 97 00 0e 7772 7780 mov ax, word [bx+00e00h] ; 8b 87 00 0e … … 7774 7782 mov byte [bp-00ch], al ; 88 46 f4 7775 7783 cmp byte [bp-00ch], 000h ; 80 7e f4 00 7776 jne short 057 3ch ; 75 1a7784 jne short 05748h ; 75 1a 7777 7785 test dl, dl ; 84 d2 7778 jne short 057 3ch ; 75 167786 jne short 05748h ; 75 16 7779 7787 mov bx, 00db2h ; bb b2 0d 7780 7788 mov cx, ds ; 8c d9 7781 7789 mov ax, strict word 00004h ; b8 04 00 7782 call 01a2ah ; e8 f9c27790 call 01a2ah ; e8 ed c2 7783 7791 push 005eah ; 68 ea 05 7784 7792 push strict byte 00004h ; 6a 04 7785 call 01a6bh ; e8 32c37793 call 01a6bh ; e8 26 c3 7786 7794 add sp, strict byte 00004h ; 83 c4 04 7787 7795 xor dh, dh ; 30 f6 7788 7796 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 7789 jmp near 055 6bh ; e9 26 fe7790 dequeue_key_: ; 0xf57 45LB 0x947797 jmp near 05577h ; e9 26 fe 7798 dequeue_key_: ; 0xf5751 LB 0x94 7791 7799 push bp ; 55 7792 7800 mov bp, sp ; 89 e5 … … 7801 7809 mov dx, strict word 0001ah ; ba 1a 00 7802 7810 mov ax, strict word 00040h ; b8 40 00 7803 call 01765h ; e8 06 c07811 call 01765h ; e8 fa bf 7804 7812 mov bx, ax ; 89 c3 7805 7813 mov dx, strict word 0001ch ; ba 1c 00 7806 7814 mov ax, strict word 00040h ; b8 40 00 7807 call 01765h ; e8 fbbf7815 call 01765h ; e8 ef bf 7808 7816 cmp bx, ax ; 39 c3 7809 je short 057 abh ; 74 3d7817 je short 057b7h ; 74 3d 7810 7818 mov dx, bx ; 89 da 7811 7819 mov ax, strict word 00040h ; b8 40 00 7812 call 01749h ; e8 d3bf7820 call 01749h ; e8 c7 bf 7813 7821 mov cl, al ; 88 c1 7814 7822 lea dx, [bx+001h] ; 8d 57 01 7815 7823 mov ax, strict word 00040h ; b8 40 00 7816 call 01749h ; e8 c8bf7824 call 01749h ; e8 bc bf 7817 7825 mov es, [bp-008h] ; 8e 46 f8 7818 7826 mov byte [es:si], cl ; 26 88 0c … … 7820 7828 mov byte [es:di], al ; 26 88 05 7821 7829 cmp word [bp+004h], strict byte 00000h ; 83 7e 04 00 7822 je short 057 a6h ; 74 137830 je short 057b2h ; 74 13 7823 7831 inc bx ; 43 7824 7832 inc bx ; 43 7825 7833 cmp bx, strict byte 0003eh ; 83 fb 3e 7826 jc short 057 9dh ; 72 037834 jc short 057a9h ; 72 03 7827 7835 mov bx, strict word 0001eh ; bb 1e 00 7828 7836 mov dx, strict word 0001ah ; ba 1a 00 7829 7837 mov ax, strict word 00040h ; b8 40 00 7830 call 01773h ; e8 c dbf7838 call 01773h ; e8 c1 bf 7831 7839 mov ax, strict word 00001h ; b8 01 00 7832 jmp short 057 adh ; eb 027840 jmp short 057b9h ; eb 02 7833 7841 xor ax, ax ; 31 c0 7834 7842 lea sp, [bp-004h] ; 8d 66 fc … … 7841 7849 or cl, byte [bx+di] ; 0a 09 7842 7850 add ax, 00102h ; 05 02 01 7843 add byte [bx+05ah], dh ; 00 77 5a 7844 lea bx, [bx+si-02ch] ; 8d 58 d4 7851 add byte [bp+di-066a6h], al ; 00 83 5a 99 7845 7852 pop ax ; 58 7846 and byte [bx+di+030h], bl ; 20 59 30 7853 loopne 0582bh ; e0 58 7854 sub AL, strict byte 059h ; 2c 59 7855 cmp AL, strict byte 059h ; 3c 59 7856 pop ecx ; 66 59 7857 outsw ; 6f 7847 7858 pop cx ; 59 7859 loopne 05836h ; e0 59 7860 adc word [bp+si+03eh], bx ; 11 5a 3e 7848 7861 pop dx ; 5a 7849 pop cx ; 59 7850 arpl [bx+di-02ch], bx ; 63 59 d4 7851 pop cx ; 59 7852 add ax, 0325ah ; 05 5a 32 7862 js short 0583dh ; 78 5a 7863 db 0c6h 7853 7864 pop dx ; 5a 7854 insb ; 6c 7855 pop dx ; 5a 7856 db 0bah 7857 pop dx ; 5a 7858 _int16_function: ; 0xf57d9 LB 0x2e7 7865 _int16_function: ; 0xf57e5 LB 0x2e7 7859 7866 push bp ; 55 7860 7867 mov bp, sp ; 89 e5 … … 7863 7870 mov dx, strict word 00017h ; ba 17 00 7864 7871 mov ax, strict word 00040h ; b8 40 00 7865 call 01749h ; e8 60bf7872 call 01749h ; e8 54 bf 7866 7873 mov cl, al ; 88 c1 7867 7874 mov bh, al ; 88 c7 7868 7875 mov dx, 00097h ; ba 97 00 7869 7876 mov ax, strict word 00040h ; b8 40 00 7870 call 01749h ; e8 53bf7877 call 01749h ; e8 47 bf 7871 7878 mov bl, al ; 88 c3 7872 7879 movzx dx, cl ; 0f b6 d1 … … 7877 7884 xor al, dl ; 30 d0 7878 7885 test ax, ax ; 85 c0 7879 je short 058 6bh ; 74 607886 je short 05877h ; 74 60 7880 7887 cli ; fa 7881 7888 mov AL, strict byte 0edh ; b0 ed … … 7887 7894 ; sub ah, ah ; 2a e4 7888 7895 test AL, strict byte 001h ; a8 01 7889 jne short 058 24h ; 75 087896 jne short 05830h ; 75 08 7890 7897 mov AL, strict byte 021h ; b0 21 7891 7898 mov dx, 00080h ; ba 80 00 7892 7899 out DX, AL ; ee 7893 jmp short 0581 2h ; eb ee7900 jmp short 0581eh ; eb ee 7894 7901 mov dx, strict word 00060h ; ba 60 00 7895 7902 in AL, DX ; ec … … 7897 7904 ; sub ah, ah ; 2a e4 7898 7905 cmp ax, 000fah ; 3d fa 00 7899 jne short 058 6ah ; 75 3b7906 jne short 05876h ; 75 3b 7900 7907 and bl, 0c8h ; 80 e3 c8 7901 7908 movzx ax, bh ; 0f b6 c7 … … 7913 7920 ; sub ah, ah ; 2a e4 7914 7921 test AL, strict byte 001h ; a8 01 7915 jne short 058 59h ; 75 087922 jne short 05865h ; 75 08 7916 7923 mov AL, strict byte 021h ; b0 21 7917 7924 mov dx, 00080h ; ba 80 00 7918 7925 out DX, AL ; ee 7919 jmp short 058 47h ; eb ee7926 jmp short 05853h ; eb ee 7920 7927 mov dx, strict word 00060h ; ba 60 00 7921 7928 in AL, DX ; ec … … 7925 7932 mov dx, 00097h ; ba 97 00 7926 7933 mov ax, strict word 00040h ; b8 40 00 7927 call 01757h ; e8 e dbe7934 call 01757h ; e8 e1 be 7928 7935 sti ; fb 7929 7936 mov ax, word [bp+012h] ; 8b 46 12 7930 7937 shr ax, 008h ; c1 e8 08 7931 7938 cmp ax, 000a2h ; 3d a2 00 7932 jnbe near 05a 77h ; 0f 87 ff 017939 jnbe near 05a83h ; 0f 87 ff 01 7933 7940 push CS ; 0e 7934 7941 pop ES ; 07 7935 7942 mov cx, strict word 0000ch ; b9 0c 00 7936 mov di, 057 b6h ; bf b6577943 mov di, 057c2h ; bf c2 57 7937 7944 repne scasb ; f2 ae 7938 7945 sal cx, 1 ; d1 e1 7939 7946 mov di, cx ; 89 cf 7940 mov ax, word [cs:di+057c 1h] ; 2e 8b 85 c1577947 mov ax, word [cs:di+057cdh] ; 2e 8b 85 cd 57 7941 7948 jmp ax ; ff e0 7942 7949 push strict byte 00001h ; 6a 01 … … 7945 7952 mov dx, ss ; 8c d2 7946 7953 lea ax, [bp-006h] ; 8d 46 fa 7947 call 057 45h ; e8 a9 fe7954 call 05751h ; e8 a9 fe 7948 7955 test ax, ax ; 85 c0 7949 jne short 058 abh ; 75 0b7956 jne short 058b7h ; 75 0b 7950 7957 push 00621h ; 68 21 06 7951 7958 push strict byte 00007h ; 6a 07 7952 call 01a6bh ; e8 c3c17959 call 01a6bh ; e8 b7 c1 7953 7960 add sp, strict byte 00004h ; 83 c4 04 7954 7961 cmp byte [bp-006h], 000h ; 80 7e fa 00 7955 je short 058 b7h ; 74 067962 je short 058c3h ; 74 06 7956 7963 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7957 je short 058 bdh ; 74 067964 je short 058c9h ; 74 06 7958 7965 cmp byte [bp-008h], 0e0h ; 80 7e f8 e0 7959 jne short 058c 1h ; 75 047966 jne short 058cdh ; 75 04 7960 7967 mov byte [bp-008h], 000h ; c6 46 f8 00 7961 7968 movzx dx, byte [bp-006h] ; 0f b6 56 fa … … 7964 7971 or dx, ax ; 09 c2 7965 7972 mov word [bp+012h], dx ; 89 56 12 7966 jmp near 05a bah ; e9 e6 017973 jmp near 05ac6h ; e9 e6 01 7967 7974 or word [bp+01ch], 00200h ; 81 4e 1c 00 02 7968 7975 push strict byte 00000h ; 6a 00 … … 7971 7978 mov dx, ss ; 8c d2 7972 7979 lea ax, [bp-006h] ; 8d 46 fa 7973 call 057 45h ; e8 5d fe7980 call 05751h ; e8 5d fe 7974 7981 test ax, ax ; 85 c0 7975 jne short 058f 3h ; 75 077982 jne short 058ffh ; 75 07 7976 7983 or word [bp+01ch], strict byte 00040h ; 83 4e 1c 40 7977 jmp near 05a bah ; e9 c7 017984 jmp near 05ac6h ; e9 c7 01 7978 7985 cmp byte [bp-006h], 000h ; 80 7e fa 00 7979 je short 05 8ffh ; 74 067986 je short 0590bh ; 74 06 7980 7987 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7981 je short 059 05h ; 74 067988 je short 05911h ; 74 06 7982 7989 cmp byte [bp-008h], 0e0h ; 80 7e f8 e0 7983 jne short 059 09h ; 75 047990 jne short 05915h ; 75 04 7984 7991 mov byte [bp-008h], 000h ; c6 46 f8 00 7985 7992 movzx dx, byte [bp-006h] ; 0f b6 56 fa … … 7989 7996 mov word [bp+012h], dx ; 89 56 12 7990 7997 and word [bp+01ch], strict byte 0ffbfh ; 83 66 1c bf 7991 jmp near 05a bah ; e9 9a 017998 jmp near 05ac6h ; e9 9a 01 7992 7999 mov dx, strict word 00017h ; ba 17 00 7993 8000 mov ax, strict word 00040h ; b8 40 00 7994 call 01749h ; e8 20be8001 call 01749h ; e8 14 be 7995 8002 mov dx, word [bp+012h] ; 8b 56 12 7996 8003 mov dl, al ; 88 c2 7997 jmp short 058 ceh ; eb 9e8004 jmp short 058dah ; eb 9e 7998 8005 mov al, byte [bp+010h] ; 8a 46 10 7999 8006 movzx dx, al ; 0f b6 d0 … … 8001 8008 shr ax, 008h ; c1 e8 08 8002 8009 xor ah, ah ; 30 e4 8003 call 052 38h ; e8 f7 f88010 call 05244h ; e8 f7 f8 8004 8011 test ax, ax ; 85 c0 8005 jne short 0595 2h ; 75 0d8012 jne short 0595eh ; 75 0d 8006 8013 mov ax, word [bp+012h] ; 8b 46 12 8007 8014 xor al, al ; 30 c0 8008 8015 or AL, strict byte 001h ; 0c 01 8009 8016 mov word [bp+012h], ax ; 89 46 12 8010 jmp near 05a bah ; e9 68 018017 jmp near 05ac6h ; e9 68 01 8011 8018 and word [bp+012h], 0ff00h ; 81 66 12 00 ff 8012 jmp near 05a bah ; e9 60 018019 jmp near 05ac6h ; e9 60 01 8013 8020 mov ax, word [bp+012h] ; 8b 46 12 8014 8021 xor al, al ; 30 c0 8015 8022 or AL, strict byte 030h ; 0c 30 8016 jmp short 059 4ch ; eb e98023 jmp short 05958h ; eb e9 8017 8024 mov byte [bp-004h], 002h ; c6 46 fc 02 8018 8025 xor cx, cx ; 31 c9 … … 8027 8034 ; sub ah, ah ; 2a e4 8028 8035 test AL, strict byte 001h ; a8 01 8029 jne short 059 8ah ; 75 0d8036 jne short 05996h ; 75 0d 8030 8037 dec bx ; 4b 8031 8038 test bx, bx ; 85 db 8032 jbe short 059 8ah ; 76 088039 jbe short 05996h ; 76 08 8033 8040 mov dx, 00080h ; ba 80 00 8034 8041 in AL, DX ; ec 8035 8042 db 02ah, 0e4h 8036 8043 ; sub ah, ah ; 2a e4 8037 jmp short 0597 3h ; eb e98044 jmp short 0597fh ; eb e9 8038 8045 test bx, bx ; 85 db 8039 jbe short 059 ceh ; 76 408046 jbe short 059dah ; 76 40 8040 8047 mov dx, strict word 00060h ; ba 60 00 8041 8048 in AL, DX ; ec … … 8043 8050 ; sub ah, ah ; 2a e4 8044 8051 cmp ax, 000fah ; 3d fa 00 8045 jne short 059 ceh ; 75 358052 jne short 059dah ; 75 35 8046 8053 mov bx, strict word 0ffffh ; bb ff ff 8047 8054 mov dx, strict word 00064h ; ba 64 00 … … 8050 8057 ; sub ah, ah ; 2a e4 8051 8058 test AL, strict byte 001h ; a8 01 8052 jne short 059b 3h ; 75 0d8059 jne short 059bfh ; 75 0d 8053 8060 dec bx ; 4b 8054 8061 test bx, bx ; 85 db 8055 jbe short 059b 3h ; 76 088062 jbe short 059bfh ; 76 08 8056 8063 mov dx, 00080h ; ba 80 00 8057 8064 in AL, DX ; ec 8058 8065 db 02ah, 0e4h 8059 8066 ; sub ah, ah ; 2a e4 8060 jmp short 059 9ch ; eb e98067 jmp short 059a8h ; eb e9 8061 8068 test bx, bx ; 85 db 8062 jbe short 059 c5h ; 76 0e8069 jbe short 059d1h ; 76 0e 8063 8070 shr cx, 008h ; c1 e9 08 8064 8071 mov dx, strict word 00060h ; ba 60 00 … … 8070 8077 dec byte [bp-004h] ; fe 4e fc 8071 8078 cmp byte [bp-004h], 000h ; 80 7e fc 00 8072 jnbe short 059 99h ; 77 cb8079 jnbe short 059a5h ; 77 cb 8073 8080 mov word [bp+00ch], cx ; 89 4e 0c 8074 jmp near 05a bah ; e9 e6 008081 jmp near 05ac6h ; e9 e6 00 8075 8082 push strict byte 00001h ; 6a 01 8076 8083 mov cx, ss ; 8c d1 … … 8078 8085 mov dx, ss ; 8c d2 8079 8086 lea ax, [bp-006h] ; 8d 46 fa 8080 call 057 45h ; e8 62 fd8087 call 05751h ; e8 62 fd 8081 8088 test ax, ax ; 85 c0 8082 jne short 059f 2h ; 75 0b8089 jne short 059feh ; 75 0b 8083 8090 push 00621h ; 68 21 06 8084 8091 push strict byte 00007h ; 6a 07 8085 call 01a6bh ; e8 7 cc08092 call 01a6bh ; e8 70 c0 8086 8093 add sp, strict byte 00004h ; 83 c4 04 8087 8094 cmp byte [bp-006h], 000h ; 80 7e fa 00 8088 je near 058c 1h ; 0f 84 c7 fe8095 je near 058cdh ; 0f 84 c7 fe 8089 8096 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 8090 je near 058 bdh ; 0f 84 bb fe8091 jmp near 058c 1h ; e9 bc fe8097 je near 058c9h ; 0f 84 bb fe 8098 jmp near 058cdh ; e9 bc fe 8092 8099 or word [bp+01ch], 00200h ; 81 4e 1c 00 02 8093 8100 push strict byte 00000h ; 6a 00 … … 8096 8103 mov dx, ss ; 8c d2 8097 8104 lea ax, [bp-006h] ; 8d 46 fa 8098 call 057 45h ; e8 2c fd8105 call 05751h ; e8 2c fd 8099 8106 test ax, ax ; 85 c0 8100 je near 058 ech ; 0f 84 cd fe8107 je near 058f8h ; 0f 84 cd fe 8101 8108 cmp byte [bp-006h], 000h ; 80 7e fa 00 8102 je near 059 09h ; 0f 84 e2 fe8109 je near 05915h ; 0f 84 e2 fe 8103 8110 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 8104 je near 059 05h ; 0f 84 d6 fe8105 jmp near 059 09h ; e9 d7 fe8111 je near 05911h ; 0f 84 d6 fe 8112 jmp near 05915h ; e9 d7 fe 8106 8113 mov dx, strict word 00017h ; ba 17 00 8107 8114 mov ax, strict word 00040h ; b8 40 00 8108 call 01749h ; e8 0 ebd8115 call 01749h ; e8 02 bd 8109 8116 mov dx, word [bp+012h] ; 8b 56 12 8110 8117 mov dl, al ; 88 c2 … … 8112 8119 mov dx, strict word 00018h ; ba 18 00 8113 8120 mov ax, strict word 00040h ; b8 40 00 8114 call 01749h ; e8 f dbc8121 call 01749h ; e8 f1 bc 8115 8122 mov bh, al ; 88 c7 8116 8123 and bh, 073h ; 80 e7 73 8117 8124 mov dx, 00096h ; ba 96 00 8118 8125 mov ax, strict word 00040h ; b8 40 00 8119 call 01749h ; e8 e fbc8126 call 01749h ; e8 e3 bc 8120 8127 and AL, strict byte 00ch ; 24 0c 8121 8128 or bh, al ; 08 c7 … … 8124 8131 movzx ax, bh ; 0f b6 c7 8125 8132 sal ax, 008h ; c1 e0 08 8126 jmp near 058 cch ; e9 60 fe8133 jmp near 058d8h ; e9 60 fe 8127 8134 mov ax, word [bp+012h] ; 8b 46 12 8128 8135 xor ah, ah ; 30 e4 8129 8136 or ah, 080h ; 80 cc 80 8130 jmp near 059 4ch ; e9 d5 fe8137 jmp near 05958h ; e9 d5 fe 8131 8138 mov bx, 00db2h ; bb b2 0d 8132 8139 mov cx, ds ; 8c d9 8133 8140 mov ax, strict word 00004h ; b8 04 00 8134 call 01a2ah ; e8 a8bf8141 call 01a2ah ; e8 9c bf 8135 8142 mov ax, word [bp+012h] ; 8b 46 12 8136 8143 shr ax, 008h ; c1 e8 08 … … 8138 8145 push 00645h ; 68 45 06 8139 8146 push strict byte 00004h ; 6a 04 8140 call 01a6bh ; e8 dabf8147 call 01a6bh ; e8 ce bf 8141 8148 add sp, strict byte 00006h ; 83 c4 06 8142 8149 mov bx, 00db2h ; bb b2 0d 8143 8150 mov cx, ds ; 8c d9 8144 8151 mov ax, strict word 00004h ; b8 04 00 8145 call 01a2ah ; e8 8bbf8152 call 01a2ah ; e8 7f bf 8146 8153 mov ax, word [bp+00eh] ; 8b 46 0e 8147 8154 push ax ; 50 … … 8154 8161 push 0066dh ; 68 6d 06 8155 8162 push strict byte 00004h ; 6a 04 8156 call 01a6bh ; e8 b4bf8163 call 01a6bh ; e8 a8 bf 8157 8164 add sp, strict byte 0000ch ; 83 c4 0c 8158 8165 lea sp, [bp-002h] ; 8d 66 fe … … 8160 8167 pop bp ; 5d 8161 8168 retn ; c3 8162 set_geom_lba_: ; 0xf5ac 0LB 0xe58169 set_geom_lba_: ; 0xf5acc LB 0xe5 8163 8170 push bx ; 53 8164 8171 push cx ; 51 … … 8175 8182 mov dx, word [bp+00ch] ; 8b 56 0c 8176 8183 mov si, strict word 00020h ; be 20 00 8177 call 0a0 60h ; e8 75458184 call 0a070h ; e8 79 45 8178 8185 test ax, ax ; 85 c0 8179 jne short 05 afbh ; 75 0c8186 jne short 05b07h ; 75 0c 8180 8187 test bx, bx ; 85 db 8181 jne short 05 afbh ; 75 088188 jne short 05b07h ; 75 08 8182 8189 test cx, cx ; 85 c9 8183 jne short 05 afbh ; 75 048190 jne short 05b07h ; 75 04 8184 8191 test dx, dx ; 85 d2 8185 je short 05b0 2h ; 74 078192 je short 05b0eh ; 74 07 8186 8193 mov bx, strict word 0ffffh ; bb ff ff 8187 8194 mov si, bx ; 89 de 8188 jmp short 05b 08h ; eb 068195 jmp short 05b14h ; eb 06 8189 8196 mov bx, word [bp+00ch] ; 8b 5e 0c 8190 8197 mov si, word [bp+00eh] ; 8b 76 0e 8191 8198 mov word [bp-004h], bx ; 89 5e fc 8192 8199 xor bx, bx ; 31 db 8193 jmp short 05b 14h ; eb 058200 jmp short 05b20h ; eb 05 8194 8201 cmp bx, strict byte 00004h ; 83 fb 04 8195 jnl short 05b 37h ; 7d 238202 jnl short 05b43h ; 7d 23 8196 8203 mov ax, word [bp-006h] ; 8b 46 fa 8197 8204 cmp si, ax ; 39 c6 8198 jc short 05b 25h ; 72 0a8199 jne short 05b 2eh ; 75 118205 jc short 05b31h ; 72 0a 8206 jne short 05b3ah ; 75 11 8200 8207 mov ax, word [bp-004h] ; 8b 46 fc 8201 8208 cmp ax, word [bp-008h] ; 3b 46 f8 8202 jnbe short 05b 2eh ; 77 098209 jnbe short 05b3ah ; 77 09 8203 8210 mov ax, word [bp-002h] ; 8b 46 fe 8204 8211 inc ax ; 40 … … 8208 8215 rcr word [bp-008h], 1 ; d1 5e f8 8209 8216 inc bx ; 43 8210 jmp short 05b 0fh ; eb d88217 jmp short 05b1bh ; eb d8 8211 8218 mov ax, word [bp-002h] ; 8b 46 fe 8212 8219 xor dx, dx ; 31 d2 8213 8220 mov bx, strict word 0003fh ; bb 3f 00 8214 8221 xor cx, cx ; 31 c9 8215 call 09f e0h ; e8 9c448222 call 09ff0h ; e8 a0 44 8216 8223 mov bx, ax ; 89 c3 8217 8224 mov cx, dx ; 89 d1 8218 8225 mov ax, word [bp-004h] ; 8b 46 fc 8219 8226 mov dx, si ; 89 f2 8220 call 0a0 20h ; e8 d0448227 call 0a030h ; e8 d4 44 8221 8228 mov word [es:di+002h], ax ; 26 89 45 02 8222 8229 cmp ax, 00400h ; 3d 00 04 8223 jbe short 05b 5fh ; 76 068230 jbe short 05b6bh ; 76 06 8224 8231 mov word [es:di+002h], 00400h ; 26 c7 45 02 00 04 8225 8232 mov ax, word [bp-002h] ; 8b 46 fe … … 8232 8239 pop bx ; 5b 8233 8240 retn 00008h ; c2 08 00 8234 das ; 2f8241 aas ; 3f 8235 8242 pop sp ; 5c 8236 push bp ; 55 8243 db 065h, 05ch 8244 ; gs pop sp ; 65 5c 8245 xchg dx, ax ; 92 8237 8246 pop sp ; 5c 8238 db 082h, 05ch, 082h, 05ch 8239 ; sbb byte [si-07eh], 05ch ; 82 5c 82 5c 8240 db 082h, 05ch, 063h, 05eh 8241 ; sbb byte [si+063h], 05eh ; 82 5c 63 5e 8242 xchg cx, ax ; 91 8247 xchg dx, ax ; 92 8248 pop sp ; 5c 8249 xchg dx, ax ; 92 8250 pop sp ; 5c 8251 jnc short 05be9h ; 73 5e 8252 mov ax, word [0a15fh] ; a1 5f a1 8243 8253 pop di ; 5f 8244 xchg cx, ax ; 918254 mov [bp+07eh], ds ; 8c 5e 7e 8245 8255 pop di ; 5f 8246 jl short 05be3h ; 7c 5e 8247 outsb ; 6e 8256 mov ax, word [0a15fh] ; a1 5f a1 8248 8257 pop di ; 5f 8249 xchg cx, ax ; 91 8258 jle short 05bf8h ; 7e 5f 8259 jle short 05bfah ; 7e 5f 8260 mov ax, word [0a15fh] ; a1 5f a1 8250 8261 pop di ; 5f 8251 xchg cx, ax ; 918262 add bl, byte [bx+07eh] ; 02 5f 7e 8252 8263 pop di ; 5f 8253 outsb ; 6e8264 mov ax, word [0a15fh] ; a1 5f a1 8254 8265 pop di ; 5f 8255 outsb ; 6e 8266 jle short 05c08h ; 7e 5f 8267 xor bl, byte [bx-05fh] ; 32 5f a1 8256 8268 pop di ; 5f 8257 xchg cx, ax ; 918269 mov ax, word [0a15fh] ; a1 5f a1 8258 8270 pop di ; 5f 8259 xchg cx, ax ; 91 8260 pop di ; 5f 8261 db 0f2h, 05eh 8262 ; repne pop si ; f2 5e 8263 outsb ; 6e 8264 pop di ; 5f 8265 xchg cx, ax ; 91 8266 pop di ; 5f 8267 xchg cx, ax ; 91 8268 pop di ; 5f 8269 outsb ; 6e 8270 pop di ; 5f 8271 and bl, byte [bx-06fh] ; 22 5f 91 8272 pop di ; 5f 8273 xchg cx, ax ; 91 8274 pop di ; 5f 8275 xchg cx, ax ; 91 8276 pop di ; 5f 8277 _int13_harddisk: ; 0xf5ba5 LB 0x44a 8271 _int13_harddisk: ; 0xf5bb1 LB 0x44e 8278 8272 push bp ; 55 8279 8273 mov bp, sp ; 89 e5 8280 8274 sub sp, strict byte 00010h ; 83 ec 10 8275 or byte [bp+01dh], 002h ; 80 4e 1d 02 8281 8276 mov dx, strict word 0000eh ; ba 0e 00 8282 8277 mov ax, strict word 00040h ; b8 40 00 8283 call 01765h ; e8 b1 bb8278 call 01765h ; e8 a1 bb 8284 8279 mov si, 00122h ; be 22 01 8285 8280 mov word [bp-004h], ax ; 89 46 fc … … 8287 8282 mov dx, 0008eh ; ba 8e 00 8288 8283 mov ax, strict word 00040h ; b8 40 00 8289 call 01757h ; e8 92 bb8284 call 01757h ; e8 82 bb 8290 8285 mov ax, word [bp+00eh] ; 8b 46 0e 8291 8286 xor ah, ah ; 30 e4 8292 8287 cmp ax, 00080h ; 3d 80 00 8293 jc short 05b d4h ; 72 058288 jc short 05be4h ; 72 05 8294 8289 cmp ax, 00090h ; 3d 90 00 8295 jc short 05 bf2h ; 72 1e8290 jc short 05c02h ; 72 1e 8296 8291 mov ax, word [bp+00eh] ; 8b 46 0e 8297 8292 xor ah, ah ; 30 e4 … … 8303 8298 push 0069fh ; 68 9f 06 8304 8299 push strict byte 00004h ; 6a 04 8305 call 01a6bh ; e8 7f be8300 call 01a6bh ; e8 6f be 8306 8301 add sp, strict byte 0000ah ; 83 c4 0a 8307 jmp near 05f ach ; e9 ba 038302 jmp near 05fbch ; e9 ba 03 8308 8303 mov ax, word [bp+00eh] ; 8b 46 0e 8309 8304 xor ah, ah ; 30 e4 … … 8314 8309 mov byte [bp-002h], dl ; 88 56 fe 8315 8310 cmp dl, 010h ; 80 fa 10 8316 jc short 05c 1bh ; 72 108311 jc short 05c2bh ; 72 10 8317 8312 push ax ; 50 8318 8313 mov ax, word [bp+016h] ; 8b 46 16 … … 8321 8316 push 00690h ; 68 90 06 8322 8317 push 006cah ; 68 ca 06 8323 jmp short 05b e7h ; eb cc8318 jmp short 05bf7h ; eb cc 8324 8319 mov bx, word [bp+016h] ; 8b 5e 16 8325 8320 shr bx, 008h ; c1 eb 08 8326 8321 cmp bx, strict byte 00018h ; 83 fb 18 8327 jnbe near 05f 91h ; 0f 87 69 038322 jnbe near 05fa1h ; 0f 87 69 03 8328 8323 add bx, bx ; 01 db 8329 jmp word [cs:bx+05b7 3h] ; 2e ff a7 735b8324 jmp word [cs:bx+05b7fh] ; 2e ff a7 7f 5b 8330 8325 cmp byte [bp-002h], 008h ; 80 7e fe 08 8331 jnc near 05c 3eh ; 0f 83 07 008326 jnc near 05c4eh ; 0f 83 07 00 8332 8327 movzx ax, byte [bp-002h] ; 0f b6 46 fe 8333 call 01e75h ; e8 37 c28328 call 01e75h ; e8 27 c2 8334 8329 mov byte [bp+017h], 000h ; c6 46 17 00 8335 8330 xor bx, bx ; 31 db 8336 8331 mov dx, strict word 00074h ; ba 74 00 8337 8332 mov ax, strict word 00040h ; b8 40 00 8338 call 01757h ; e8 0a bb8333 call 01757h ; e8 fa ba 8339 8334 and byte [bp+01ch], 0feh ; 80 66 1c fe 8340 8335 mov sp, bp ; 89 ec … … 8343 8338 mov dx, strict word 00074h ; ba 74 00 8344 8339 mov ax, strict word 00040h ; b8 40 00 8345 call 01749h ; e8 eb ba8340 call 01749h ; e8 db ba 8346 8341 mov cl, al ; 88 c1 8347 8342 mov dx, word [bp+016h] ; 8b 56 16 … … 8354 8349 mov dx, strict word 00074h ; ba 74 00 8355 8350 mov ax, strict word 00040h ; b8 40 00 8356 call 01757h ; e8 dc ba8351 call 01757h ; e8 cc ba 8357 8352 test cl, cl ; 84 c9 8358 je short 05c 42h ; 74 c38359 jmp near 05f c8h ; e9 46 038353 je short 05c52h ; 74 c3 8354 jmp near 05fd8h ; e9 46 03 8360 8355 mov ax, word [bp+016h] ; 8b 46 16 8361 8356 xor ah, ah ; 30 e4 … … 8377 8372 mov ax, word [bp-00ch] ; 8b 46 f4 8378 8373 cmp ax, 00080h ; 3d 80 00 8379 jnbe short 05c bdh ; 77 048374 jnbe short 05ccdh ; 77 04 8380 8375 test ax, ax ; 85 c0 8381 jne short 05c e0h ; 75 238376 jne short 05cf0h ; 75 23 8382 8377 mov bx, 00db2h ; bb b2 0d 8383 8378 mov cx, ds ; 8c d9 8384 8379 mov ax, strict word 00004h ; b8 04 00 8385 call 01a2ah ; e8 62 bd8380 call 01a2ah ; e8 52 bd 8386 8381 mov ax, word [bp+016h] ; 8b 46 16 8387 8382 shr ax, 008h ; c1 e8 08 … … 8390 8385 push 006fch ; 68 fc 06 8391 8386 push strict byte 00004h ; 6a 04 8392 call 01a6bh ; e8 91 bd8387 call 01a6bh ; e8 81 bd 8393 8388 add sp, strict byte 00008h ; 83 c4 08 8394 jmp near 05f ach ; e9 cc 028389 jmp near 05fbch ; e9 cc 02 8395 8390 movzx ax, byte [bp-002h] ; 0f b6 46 fe 8396 8391 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 8403 8398 mov word [bp-00ah], dx ; 89 56 f6 8404 8399 cmp di, ax ; 39 c7 8405 jnc short 05d 0dh ; 73 0c8400 jnc short 05d1dh ; 73 0c 8406 8401 cmp cx, word [bp-008h] ; 3b 4e f8 8407 jbe short 05d 0dh ; 76 078402 jbe short 05d1dh ; 76 07 8408 8403 mov ax, word [bp-006h] ; 8b 46 fa 8409 8404 cmp ax, dx ; 39 d0 8410 jbe short 05d 3bh ; 76 2e8405 jbe short 05d4bh ; 76 2e 8411 8406 mov bx, 00db2h ; bb b2 0d 8412 8407 mov cx, ds ; 8c d9 8413 8408 mov ax, strict word 00004h ; b8 04 00 8414 call 01a2ah ; e8 12 bd8409 call 01a2ah ; e8 02 bd 8415 8410 push dword [bp-008h] ; 66 ff 76 f8 8416 8411 push di ; 57 … … 8424 8419 push 00724h ; 68 24 07 8425 8420 push strict byte 00004h ; 6a 04 8426 call 01a6bh ; e8 36 bd8421 call 01a6bh ; e8 26 bd 8427 8422 add sp, strict byte 00010h ; 83 c4 10 8428 jmp near 05f ach ; e9 71 028423 jmp near 05fbch ; e9 71 02 8429 8424 mov ax, word [bp+016h] ; 8b 46 16 8430 8425 shr ax, 008h ; c1 e8 08 8431 8426 cmp ax, strict word 00004h ; 3d 04 00 8432 jne short 05d 49h ; 75 038433 jmp near 05c 3eh ; e9 f5 fe8427 jne short 05d59h ; 75 03 8428 jmp near 05c4eh ; e9 f5 fe 8434 8429 movzx bx, byte [bp-002h] ; 0f b6 5e fe 8435 8430 imul bx, bx, strict byte 0001ch ; 6b db 1c … … 8437 8432 add bx, si ; 01 f3 8438 8433 cmp cx, word [es:bx+030h] ; 26 3b 4f 30 8439 jne short 05d 6ah ; 75 0f8434 jne short 05d7ah ; 75 0f 8440 8435 mov ax, word [es:bx+034h] ; 26 8b 47 34 8441 8436 cmp ax, word [bp-00ah] ; 3b 46 f6 8442 jne short 05d 6ah ; 75 068437 jne short 05d7ah ; 75 06 8443 8438 cmp byte [bp-002h], 008h ; 80 7e fe 08 8444 jc short 05d 9ah ; 72 308439 jc short 05daah ; 72 30 8445 8440 mov ax, di ; 89 f8 8446 8441 xor dx, dx ; 31 d2 8447 8442 mov bx, cx ; 89 cb 8448 8443 xor cx, cx ; 31 c9 8449 call 09f e0h ; e8 6b 428444 call 09ff0h ; e8 6b 42 8450 8445 xor bx, bx ; 31 db 8451 8446 add ax, word [bp-008h] ; 03 46 f8 … … 8453 8448 mov bx, word [bp-00ah] ; 8b 5e f6 8454 8449 xor cx, cx ; 31 c9 8455 call 09f e0h ; e8 5c 428450 call 09ff0h ; e8 5c 42 8456 8451 xor bx, bx ; 31 db 8457 8452 add ax, word [bp-006h] ; 03 46 fa … … 8508 8503 mov word [bp+016h], bx ; 89 5e 16 8509 8504 test dl, dl ; 84 d2 8510 je near 05c 3eh ; 0f 84 0a fe8505 je near 05c4eh ; 0f 84 0a fe 8511 8506 mov bx, 00db2h ; bb b2 0d 8512 8507 mov cx, ds ; 8c d9 8513 8508 mov ax, strict word 00004h ; b8 04 00 8514 call 01a2ah ; e8 eb bb8509 call 01a2ah ; e8 db bb 8515 8510 movzx ax, dl ; 0f b6 c2 8516 8511 push ax ; 50 … … 8521 8516 push 0076bh ; 68 6b 07 8522 8517 push strict byte 00004h ; 6a 04 8523 call 01a6bh ; e8 16 bc8518 call 01a6bh ; e8 06 bc 8524 8519 add sp, strict byte 0000ah ; 83 c4 0a 8525 8520 mov ax, word [bp+016h] ; 8b 46 16 8526 8521 xor ah, ah ; 30 e4 8527 8522 or ah, 00ch ; 80 cc 0c 8528 jmp near 05f b4h ; e9 51 018523 jmp near 05fc4h ; e9 51 01 8529 8524 mov bx, 00db2h ; bb b2 0d 8530 8525 mov cx, ds ; 8c d9 8531 8526 mov ax, strict word 00004h ; b8 04 00 8532 call 01a2ah ; e8 bc bb8527 call 01a2ah ; e8 ac bb 8533 8528 push 0078ch ; 68 8c 07 8534 8529 push strict byte 00004h ; 6a 04 8535 call 01a6bh ; e8 f5 bb8530 call 01a6bh ; e8 e5 bb 8536 8531 add sp, strict byte 00004h ; 83 c4 04 8537 jmp near 05c 3eh ; e9 c2 fd8532 jmp near 05c4eh ; e9 c2 fd 8538 8533 movzx ax, byte [bp-002h] ; 0f b6 46 fe 8539 8534 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 8578 8573 or dx, ax ; 09 c2 8579 8574 mov word [bp+012h], dx ; 89 56 12 8580 jmp near 05c 3eh ; e9 4c fd8575 jmp near 05c4eh ; e9 4c fd 8581 8576 movzx ax, byte [bp-002h] ; 0f b6 46 fe 8582 8577 cwd ; 99 … … 8594 8589 and AL, strict byte 0c0h ; 24 c0 8595 8590 cmp AL, strict byte 040h ; 3c 40 8596 jne short 05f 17h ; 75 038597 jmp near 05c 3eh ; e9 27 fd8591 jne short 05f27h ; 75 03 8592 jmp near 05c4eh ; e9 27 fd 8598 8593 mov ax, word [bp+016h] ; 8b 46 16 8599 8594 xor ah, ah ; 30 e4 8600 8595 or ah, 0aah ; 80 cc aa 8601 jmp near 05f b4h ; e9 92 008596 jmp near 05fc4h ; e9 92 00 8602 8597 movzx ax, byte [bp-002h] ; 0f b6 46 fe 8603 8598 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 8613 8608 mov bx, word [bp-008h] ; 8b 5e f8 8614 8609 xor cx, cx ; 31 c9 8615 call 09f e0h ; e8 94 408610 call 09ff0h ; e8 94 40 8616 8611 mov bx, word [bp-006h] ; 8b 5e fa 8617 8612 xor cx, cx ; 31 c9 8618 call 09f e0h ; e8 8c 408613 call 09ff0h ; e8 8c 40 8619 8614 mov word [bp-010h], ax ; 89 46 f0 8620 8615 mov word [bp-00eh], dx ; 89 56 f2 … … 8625 8620 or ah, 003h ; 80 cc 03 8626 8621 mov word [bp+016h], ax ; 89 46 16 8627 jmp near 05c 42h ; e9 d4 fc8622 jmp near 05c52h ; e9 d4 fc 8628 8623 mov bx, 00db2h ; bb b2 0d 8629 8624 mov cx, ds ; 8c d9 8630 8625 mov ax, strict word 00004h ; b8 04 00 8631 call 01a2ah ; e8 b1 ba8626 call 01a2ah ; e8 a1 ba 8632 8627 mov ax, word [bp+016h] ; 8b 46 16 8633 8628 shr ax, 008h ; c1 e8 08 … … 8636 8631 push 007a6h ; 68 a6 07 8637 8632 push strict byte 00004h ; 6a 04 8638 call 01a6bh ; e8 e0 ba8633 call 01a6bh ; e8 d0 ba 8639 8634 add sp, strict byte 00008h ; 83 c4 08 8640 jmp near 05c 3eh ; e9 ad fc8635 jmp near 05c4eh ; e9 ad fc 8641 8636 mov bx, 00db2h ; bb b2 0d 8642 8637 mov cx, ds ; 8c d9 8643 8638 mov ax, strict word 00004h ; b8 04 00 8644 call 01a2ah ; e8 8e ba8639 call 01a2ah ; e8 7e ba 8645 8640 mov ax, word [bp+016h] ; 8b 46 16 8646 8641 shr ax, 008h ; c1 e8 08 … … 8648 8643 push 00690h ; 68 90 06 8649 8644 push 007d9h ; 68 d9 07 8650 jmp near 05c d5h ; e9 29 fd8645 jmp near 05ce5h ; e9 29 fd 8651 8646 mov ax, word [bp+016h] ; 8b 46 16 8652 8647 xor ah, ah ; 30 e4 … … 8658 8653 mov dx, strict word 00074h ; ba 74 00 8659 8654 mov ax, strict word 00040h ; b8 40 00 8660 call 01757h ; e8 8f b78655 call 01757h ; e8 7f b7 8661 8656 or byte [bp+01ch], 001h ; 80 4e 1c 01 8662 jmp near 05c 51h ; e9 82 fc8663 lea sp, [bx+si-05bh] ; 8d 60 a58657 jmp near 05c61h ; e9 82 fc 8658 popfw ; 9d 8664 8659 pushaw ; 60 8665 movsw ; a5 8666 pushaw ; 60 8667 movsw ; a5 8668 pushaw ; 60 8669 jns short 0603dh ; 79 64 8670 cli ; fa 8671 popaw ; 61 8672 movsw ; a5 8673 pushaw ; 60 8674 add byte [bp+si+079h], ah ; 00 62 79 8675 db 064h, 0c8h, 064h, 0c8h, 064h 8676 ; fs enter 0c864h, 064h ; 64 c8 64 c8 64 8677 enter 0c864h, 064h ; c8 64 c8 64 8678 nop ; 90 8679 db 064h, 0c8h, 064h, 0c8h, 064h 8680 ; fs enter 0c864h, 064h ; 64 c8 64 c8 64 8681 _int13_harddisk_ext: ; 0xf5fef LB 0x4f4 8660 mov CH, strict byte 060h ; b5 60 8661 mov CH, strict byte 060h ; b5 60 8662 mov CH, strict byte 060h ; b5 60 8663 mov word [si+00ah], sp ; 89 64 0a 8664 bound si, [di+01060h] ; 62 b5 60 10 8665 bound cx, [bx+di-0279ch] ; 62 89 64 d8 8666 fsub dword [fs:si-028h] ; 64 d8 64 d8 8667 fsub dword [fs:si-060h] ; 64 d8 64 a0 8668 fsub dword [fs:si-028h] ; 64 d8 64 d8 8669 db 064h 8670 _int13_harddisk_ext: ; 0xf5fff LB 0x4f4 8682 8671 push bp ; 55 8683 8672 mov bp, sp ; 89 e5 … … 8685 8674 mov dx, strict word 0000eh ; ba 0e 00 8686 8675 mov ax, strict word 00040h ; b8 40 00 8687 call 01765h ; e8 67 b78676 call 01765h ; e8 57 b7 8688 8677 mov word [bp-014h], ax ; 89 46 ec 8689 8678 mov dx, strict word 0000eh ; ba 0e 00 8690 8679 mov ax, strict word 00040h ; b8 40 00 8691 call 01765h ; e8 5b b78680 call 01765h ; e8 4b b7 8692 8681 mov word [bp-008h], 00122h ; c7 46 f8 22 01 8693 8682 mov word [bp-006h], ax ; 89 46 fa … … 8695 8684 mov dx, 0008eh ; ba 8e 00 8696 8685 mov ax, strict word 00040h ; b8 40 00 8697 call 01757h ; e8 3a b78686 call 01757h ; e8 2a b7 8698 8687 mov ax, word [bp+00eh] ; 8b 46 0e 8699 8688 xor ah, ah ; 30 e4 8700 8689 cmp ax, 00080h ; 3d 80 00 8701 jc short 060 2ch ; 72 058690 jc short 0603ch ; 72 05 8702 8691 cmp ax, 00090h ; 3d 90 00 8703 jc short 060 4ah ; 72 1e8692 jc short 0605ah ; 72 1e 8704 8693 mov ax, word [bp+00eh] ; 8b 46 0e 8705 8694 xor ah, ah ; 30 e4 … … 8711 8700 push 0069fh ; 68 9f 06 8712 8701 push strict byte 00004h ; 6a 04 8713 call 01a6bh ; e8 27 ba8702 call 01a6bh ; e8 17 ba 8714 8703 add sp, strict byte 0000ah ; 83 c4 0a 8715 jmp near 064 a6h ; e9 5c 048704 jmp near 064b6h ; e9 5c 04 8716 8705 mov ax, word [bp+00eh] ; 8b 46 0e 8717 8706 xor ah, ah ; 30 e4 … … 8721 8710 mov byte [bp-004h], dl ; 88 56 fc 8722 8711 cmp dl, 010h ; 80 fa 10 8723 jc short 060 71h ; 72 108712 jc short 06081h ; 72 10 8724 8713 push ax ; 50 8725 8714 mov ax, word [bp+016h] ; 8b 46 16 … … 8728 8717 push 00807h ; 68 07 08 8729 8718 push 006cah ; 68 ca 06 8730 jmp short 060 3fh ; eb ce8719 jmp short 0604fh ; eb ce 8731 8720 mov bx, word [bp+016h] ; 8b 5e 16 8732 8721 shr bx, 008h ; c1 eb 08 8733 8722 sub bx, strict byte 00041h ; 83 eb 41 8734 8723 cmp bx, strict byte 0000fh ; 83 fb 0f 8735 jnbe near 064 c8h ; 0f 87 47 048724 jnbe near 064d8h ; 0f 87 47 04 8736 8725 add bx, bx ; 01 db 8737 8726 mov ax, word [bp+016h] ; 8b 46 16 8738 8727 xor ah, ah ; 30 e4 8739 jmp word [cs:bx+05f cfh] ; 2e ff a7 cf 5f8728 jmp word [cs:bx+05fdfh] ; 2e ff a7 df 5f 8740 8729 mov word [bp+010h], 0aa55h ; c7 46 10 55 aa 8741 8730 mov ax, word [bp+016h] ; 8b 46 16 … … 8744 8733 mov word [bp+016h], ax ; 89 46 16 8745 8734 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 8746 jmp near 064 7dh ; e9 d8 038735 jmp near 0648dh ; e9 d8 03 8747 8736 mov di, word [bp+00ah] ; 8b 7e 0a 8748 8737 mov es, [bp+004h] ; 8e 46 04 … … 8760 8749 xor bx, bx ; 31 db 8761 8750 mov si, strict word 00020h ; be 20 00 8762 call 0a0 70h ; e8 98 3f8751 call 0a080h ; e8 98 3f 8763 8752 mov word [bp-00eh], bx ; 89 5e f2 8764 8753 mov bx, word [es:di+008h] ; 26 8b 5d 08 … … 8772 8761 mov bl, byte [es:di+022h] ; 26 8a 5d 22 8773 8762 cmp ax, word [es:di+03ch] ; 26 3b 45 3c 8774 jnbe short 061 1fh ; 77 228775 jne short 061 42h ; 75 438763 jnbe short 0612fh ; 77 22 8764 jne short 06152h ; 75 43 8776 8765 mov si, word [bp-00eh] ; 8b 76 f2 8777 8766 cmp si, word [es:di+03ah] ; 26 3b 75 3a 8778 jnbe short 061 1fh ; 77 178767 jnbe short 0612fh ; 77 17 8779 8768 mov si, word [bp-00eh] ; 8b 76 f2 8780 8769 cmp si, word [es:di+03ah] ; 26 3b 75 3a 8781 jne short 061 42h ; 75 318770 jne short 06152h ; 75 31 8782 8771 cmp cx, word [es:di+038h] ; 26 3b 4d 38 8783 jnbe short 061 1fh ; 77 088784 jne short 061 42h ; 75 298772 jnbe short 0612fh ; 77 08 8773 jne short 06152h ; 75 29 8785 8774 cmp dx, word [es:di+036h] ; 26 3b 55 36 8786 jc short 061 42h ; 72 238775 jc short 06152h ; 72 23 8787 8776 mov bx, 00db2h ; bb b2 0d 8788 8777 mov cx, ds ; 8c d9 8789 8778 mov ax, strict word 00004h ; b8 04 00 8790 call 01a2ah ; e8 00 b98779 call 01a2ah ; e8 f0 b8 8791 8780 mov ax, word [bp+016h] ; 8b 46 16 8792 8781 shr ax, 008h ; c1 e8 08 … … 8795 8784 push 0081ah ; 68 1a 08 8796 8785 push strict byte 00004h ; 6a 04 8797 call 01a6bh ; e8 2f b98786 call 01a6bh ; e8 1f b9 8798 8787 add sp, strict byte 00008h ; 83 c4 08 8799 jmp near 064 a6h ; e9 64 038788 jmp near 064b6h ; e9 64 03 8800 8789 mov di, word [bp+016h] ; 8b 7e 16 8801 8790 shr di, 008h ; c1 ef 08 8802 8791 cmp di, strict byte 00044h ; 83 ff 44 8803 je near 064 79h ; 0f 84 2a 038792 je near 06489h ; 0f 84 2a 03 8804 8793 cmp di, strict byte 00047h ; 83 ff 47 8805 je near 064 79h ; 0f 84 23 038794 je near 06489h ; 0f 84 23 03 8806 8795 les si, [bp-008h] ; c4 76 f8 8807 8796 db 066h, 026h, 0c7h, 044h, 018h, 000h, 000h, 000h, 000h … … 8840 8829 mov word [es:bx+002h], ax ; 26 89 47 02 8841 8830 test dl, dl ; 84 d2 8842 je near 064 79h ; 0f 84 a8 028831 je near 06489h ; 0f 84 a8 02 8843 8832 mov bx, 00db2h ; bb b2 0d 8844 8833 mov cx, ds ; 8c d9 8845 8834 mov ax, strict word 00004h ; b8 04 00 8846 call 01a2ah ; e8 4e b88835 call 01a2ah ; e8 3e b8 8847 8836 movzx ax, dl ; 0f b6 c2 8848 8837 push ax ; 50 … … 8851 8840 push 0076bh ; 68 6b 07 8852 8841 push strict byte 00004h ; 6a 04 8853 call 01a6bh ; e8 7f b88842 call 01a6bh ; e8 6f b8 8854 8843 add sp, strict byte 0000ah ; 83 c4 0a 8855 8844 mov ax, word [bp+016h] ; 8b 46 16 8856 8845 xor ah, ah ; 30 e4 8857 8846 or ah, 00ch ; 80 cc 0c 8858 jmp near 064 aeh ; e9 b4 028847 jmp near 064beh ; e9 b4 02 8859 8848 or ah, 0b2h ; 80 cc b2 8860 jmp near 064 aeh ; e9 ae 028849 jmp near 064beh ; e9 ae 02 8861 8850 mov bx, word [bp+00ah] ; 8b 5e 0a 8862 8851 mov ax, word [bp+004h] ; 8b 46 04 … … 8868 8857 mov word [bp-010h], ax ; 89 46 f0 8869 8858 cmp ax, strict word 0001ah ; 3d 1a 00 8870 jc near 064 a6h ; 0f 82 89 028871 jc near 062 bch ; 0f 82 9b 008859 jc near 064b6h ; 0f 82 89 02 8860 jc near 062cch ; 0f 82 9b 00 8872 8861 movzx ax, byte [bp-004h] ; 0f b6 46 fc 8873 8862 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 8911 8900 mov bx, word [bp-00eh] ; 8b 5e f2 8912 8901 mov si, strict word 00020h ; be 20 00 8913 call 0a0 60h ; e8 ae 3d8902 call 0a070h ; e8 ae 3d 8914 8903 mov bx, di ; 89 fb 8915 8904 mov word [es:bx+014h], dx ; 26 89 57 14 8916 8905 mov word [es:bx+016h], cx ; 26 89 4f 16 8917 8906 cmp word [bp-010h], strict byte 0001eh ; 83 7e f0 1e 8918 jc near 063 c1h ; 0f 82 fd 008907 jc near 063d1h ; 0f 82 fd 00 8919 8908 mov es, [bp-00ah] ; 8e 46 f6 8920 8909 mov word [es:di], strict word 0001eh ; 26 c7 05 1e 00 … … 8942 8931 mov al, byte [es:bx+027h] ; 26 8a 47 27 8943 8932 test al, al ; 84 c0 8944 jne short 063 1bh ; 75 048933 jne short 0632bh ; 75 04 8945 8934 xor bx, bx ; 31 db 8946 jmp short 063 1eh ; eb 038935 jmp short 0632eh ; eb 03 8947 8936 mov bx, strict word 00008h ; bb 08 00 8948 8937 or bl, 010h ; 80 cb 10 … … 8958 8947 or bx, cx ; 09 cb 8959 8948 cmp AL, strict byte 003h ; 3c 03 8960 jne short 063 3fh ; 75 058949 jne short 0634fh ; 75 05 8961 8950 mov ax, strict word 00003h ; b8 03 00 8962 jmp short 063 41h ; eb 028951 jmp short 06351h ; eb 02 8963 8952 xor ax, ax ; 31 c0 8964 8953 or bx, ax ; 09 c3 … … 8986 8975 xor bl, bl ; 30 db 8987 8976 xor bh, bh ; 30 ff 8988 jmp short 063 a4h ; eb 058977 jmp short 063b4h ; eb 05 8989 8978 cmp bh, 00fh ; 80 ff 0f 8990 jnc short 063 b7h ; 73 138979 jnc short 063c7h ; 73 13 8991 8980 movzx dx, bh ; 0f b6 d7 8992 8981 add dx, 00356h ; 81 c2 56 03 8993 8982 mov ax, word [bp-014h] ; 8b 46 ec 8994 call 01749h ; e8 98 b38983 call 01749h ; e8 88 b3 8995 8984 add bl, al ; 00 c3 8996 8985 db 0feh, 0c7h 8997 8986 ; inc bh ; fe c7 8998 jmp short 063 9fh ; eb e88987 jmp short 063afh ; eb e8 8999 8988 neg bl ; f6 db 9000 8989 les si, [bp-008h] ; c4 76 f8 9001 8990 mov byte [es:si+00243h], bl ; 26 88 9c 43 02 9002 8991 cmp word [bp-010h], strict byte 00042h ; 83 7e f0 42 9003 jc near 064 79h ; 0f 82 b0 008992 jc near 06489h ; 0f 82 b0 00 9004 8993 movzx ax, byte [bp-004h] ; 0f b6 46 fc 9005 8994 cwd ; 99 … … 9019 9008 mov word [es:di+022h], strict word 00000h ; 26 c7 45 22 00 00 9020 9009 test al, al ; 84 c0 9021 jne short 064 0ah ; 75 099010 jne short 0641ah ; 75 09 9022 9011 db 066h, 026h, 0c7h, 045h, 024h, 049h, 053h, 041h, 020h 9023 9012 ; mov dword [es:di+024h], strict dword 020415349h ; 66 26 c7 45 24 49 53 41 20 … … 9028 9017 ; mov dword [es:di+02ch], strict dword 020202020h ; 66 26 c7 45 2c 20 20 20 20 9029 9018 test al, al ; 84 c0 9030 jne short 064 36h ; 75 139019 jne short 06446h ; 75 13 9031 9020 mov word [es:di+030h], dx ; 26 89 55 30 9032 9021 db 066h, 026h, 0c7h, 045h, 032h, 000h, 000h, 000h, 000h … … 9043 9032 xor bl, bl ; 30 db 9044 9033 mov BH, strict byte 01eh ; b7 1e 9045 jmp short 064 5eh ; eb 059034 jmp short 0646eh ; eb 05 9046 9035 cmp bh, 040h ; 80 ff 40 9047 jnc short 064 70h ; 73 129036 jnc short 06480h ; 73 12 9048 9037 movzx dx, bh ; 0f b6 d7 9049 9038 add dx, word [bp+00ah] ; 03 56 0a 9050 9039 mov ax, word [bp+004h] ; 8b 46 04 9051 call 01749h ; e8 df b29040 call 01749h ; e8 cf b2 9052 9041 add bl, al ; 00 c3 9053 9042 db 0feh, 0c7h 9054 9043 ; inc bh ; fe c7 9055 jmp short 064 59h ; eb e99044 jmp short 06469h ; eb e9 9056 9045 neg bl ; f6 db 9057 9046 mov es, [bp-00ah] ; 8e 46 f6 … … 9061 9050 mov dx, strict word 00074h ; ba 74 00 9062 9051 mov ax, strict word 00040h ; b8 40 00 9063 call 01757h ; e8 cf b29052 call 01757h ; e8 bf b2 9064 9053 and byte [bp+01ch], 0feh ; 80 66 1c fe 9065 9054 mov sp, bp ; 89 ec … … 9067 9056 retn ; c3 9068 9057 cmp ax, strict word 00006h ; 3d 06 00 9069 je short 064 79h ; 74 e49058 je short 06489h ; 74 e4 9070 9059 cmp ax, strict word 00001h ; 3d 01 00 9071 jc short 064 a6h ; 72 0c9072 jbe short 064 79h ; 76 dd9060 jc short 064b6h ; 72 0c 9061 jbe short 06489h ; 76 dd 9073 9062 cmp ax, strict word 00003h ; 3d 03 00 9074 jc short 064 a6h ; 72 059063 jc short 064b6h ; 72 05 9075 9064 cmp ax, strict word 00004h ; 3d 04 00 9076 jbe short 064 79h ; 76 d39065 jbe short 06489h ; 76 d3 9077 9066 mov ax, word [bp+016h] ; 8b 46 16 9078 9067 xor ah, ah ; 30 e4 … … 9084 9073 mov dx, strict word 00074h ; ba 74 00 9085 9074 mov ax, strict word 00040h ; b8 40 00 9086 call 01757h ; e8 95 b29075 call 01757h ; e8 85 b2 9087 9076 or byte [bp+01ch], 001h ; 80 4e 1c 01 9088 jmp short 064 8ch ; eb c49077 jmp short 0649ch ; eb c4 9089 9078 mov bx, 00db2h ; bb b2 0d 9090 9079 mov cx, ds ; 8c d9 9091 9080 mov ax, strict word 00004h ; b8 04 00 9092 call 01a2ah ; e8 57 b59081 call 01a2ah ; e8 47 b5 9093 9082 mov ax, word [bp+016h] ; 8b 46 16 9094 9083 shr ax, 008h ; c1 e8 08 … … 9096 9085 push 00807h ; 68 07 08 9097 9086 push 007d9h ; 68 d9 07 9098 jmp near 061 37h ; e9 54 fc9099 _int14_function: ; 0xf64 e3 LB 0x15a9087 jmp near 06147h ; e9 54 fc 9088 _int14_function: ; 0xf64f3 LB 0x15a 9100 9089 push bp ; 55 9101 9090 mov bp, sp ; 89 e5 … … 9105 9094 add dx, dx ; 01 d2 9106 9095 mov ax, strict word 00040h ; b8 40 00 9107 call 01765h ; e8 72 b29096 call 01765h ; e8 62 b2 9108 9097 mov si, ax ; 89 c6 9109 9098 mov bx, ax ; 89 c3 … … 9111 9100 add dx, strict byte 0007ch ; 83 c2 7c 9112 9101 mov ax, strict word 00040h ; b8 40 00 9113 call 01749h ; e8 46 b29102 call 01749h ; e8 36 b2 9114 9103 mov cl, al ; 88 c1 9115 9104 cmp word [bp+00eh], strict byte 00004h ; 83 7e 0e 04 9116 jnc near 066 33h ; 0f 83 26 019105 jnc near 06643h ; 0f 83 26 01 9117 9106 test si, si ; 85 f6 9118 jbe near 066 33h ; 0f 86 20 019107 jbe near 06643h ; 0f 86 20 01 9119 9108 mov al, byte [bp+013h] ; 8a 46 13 9120 9109 cmp AL, strict byte 001h ; 3c 01 9121 jc short 065 2bh ; 72 119122 jbe short 065 84h ; 76 689110 jc short 0653bh ; 72 11 9111 jbe short 06594h ; 76 68 9123 9112 cmp AL, strict byte 003h ; 3c 03 9124 je near 066 1ch ; 0f 84 fa 009113 je near 0662ch ; 0f 84 fa 00 9125 9114 cmp AL, strict byte 002h ; 3c 02 9126 je near 065 d2h ; 0f 84 aa 009127 jmp near 066 2dh ; e9 02 019115 je near 065e2h ; 0f 84 aa 00 9116 jmp near 0663dh ; e9 02 01 9128 9117 test al, al ; 84 c0 9129 jne near 066 2dh ; 0f 85 fc 009118 jne near 0663dh ; 0f 85 fc 00 9130 9119 lea dx, [bx+003h] ; 8d 57 03 9131 9120 in AL, DX ; ec … … 9137 9126 mov al, byte [bp+012h] ; 8a 46 12 9138 9127 test AL, strict byte 0e0h ; a8 e0 9139 jne short 065 50h ; 75 0c9128 jne short 06560h ; 75 0c 9140 9129 mov AL, strict byte 017h ; b0 17 9141 9130 mov dx, bx ; 89 da … … 9144 9133 mov dx, si ; 89 f2 9145 9134 out DX, AL ; ee 9146 jmp short 065 66h ; eb 169135 jmp short 06576h ; eb 16 9147 9136 and AL, strict byte 0e0h ; 24 e0 9148 9137 movzx cx, al ; 0f b6 c8 … … 9169 9158 ; sub ah, ah ; 2a e4 9170 9159 mov byte [bp+012h], al ; 88 46 12 9171 jmp near 066 0eh ; e9 8a 009160 jmp near 0661eh ; e9 8a 00 9172 9161 mov dx, strict word 0006ch ; ba 6c 00 9173 9162 mov ax, strict word 00040h ; b8 40 00 9174 call 01765h ; e8 d8 b19163 call 01765h ; e8 c8 b1 9175 9164 mov si, ax ; 89 c6 9176 9165 lea dx, [bx+005h] ; 8d 57 05 … … 9180 9169 and ax, strict word 00060h ; 25 60 00 9181 9170 cmp ax, strict word 00060h ; 3d 60 00 9182 je short 065 b4h ; 74 179171 je short 065c4h ; 74 17 9183 9172 test cl, cl ; 84 c9 9184 je short 065 b4h ; 74 139173 je short 065c4h ; 74 13 9185 9174 mov dx, strict word 0006ch ; ba 6c 00 9186 9175 mov ax, strict word 00040h ; b8 40 00 9187 call 01765h ; e8 bb b19176 call 01765h ; e8 ab b1 9188 9177 cmp ax, si ; 39 f0 9189 je short 065 8fh ; 74 e19178 je short 0659fh ; 74 e1 9190 9179 mov si, ax ; 89 c6 9191 9180 db 0feh, 0c9h 9192 9181 ; dec cl ; fe c9 9193 jmp short 065 8fh ; eb db9182 jmp short 0659fh ; eb db 9194 9183 test cl, cl ; 84 c9 9195 je short 065 beh ; 74 069184 je short 065ceh ; 74 06 9196 9185 mov al, byte [bp+012h] ; 8a 46 12 9197 9186 mov dx, bx ; 89 da … … 9203 9192 mov byte [bp+013h], al ; 88 46 13 9204 9193 test cl, cl ; 84 c9 9205 jne short 066 0eh ; 75 439194 jne short 0661eh ; 75 43 9206 9195 or AL, strict byte 080h ; 0c 80 9207 9196 mov byte [bp+013h], al ; 88 46 13 9208 jmp short 066 0eh ; eb 3c9197 jmp short 0661eh ; eb 3c 9209 9198 mov dx, strict word 0006ch ; ba 6c 00 9210 9199 mov ax, strict word 00040h ; b8 40 00 9211 call 01765h ; e8 8a b19200 call 01765h ; e8 7a b1 9212 9201 mov si, ax ; 89 c6 9213 9202 lea dx, [bx+005h] ; 8d 57 05 … … 9216 9205 ; sub ah, ah ; 2a e4 9217 9206 test AL, strict byte 001h ; a8 01 9218 jne short 06 5feh ; 75 179207 jne short 0660eh ; 75 17 9219 9208 test cl, cl ; 84 c9 9220 je short 06 5feh ; 74 139209 je short 0660eh ; 74 13 9221 9210 mov dx, strict word 0006ch ; ba 6c 00 9222 9211 mov ax, strict word 00040h ; b8 40 00 9223 call 01765h ; e8 71 b19212 call 01765h ; e8 61 b1 9224 9213 cmp ax, si ; 39 f0 9225 je short 065 ddh ; 74 e59214 je short 065edh ; 74 e5 9226 9215 mov si, ax ; 89 c6 9227 9216 db 0feh, 0c9h 9228 9217 ; dec cl ; fe c9 9229 jmp short 065 ddh ; eb df9218 jmp short 065edh ; eb df 9230 9219 test cl, cl ; 84 c9 9231 je short 066 14h ; 74 129220 je short 06624h ; 74 12 9232 9221 mov byte [bp+013h], 000h ; c6 46 13 00 9233 9222 mov dx, bx ; 89 da … … 9237 9226 mov byte [bp+012h], al ; 88 46 12 9238 9227 and byte [bp+01ch], 0feh ; 80 66 1c fe 9239 jmp short 066 37h ; eb 239228 jmp short 06647h ; eb 23 9240 9229 lea dx, [bx+005h] ; 8d 57 05 9241 9230 in AL, DX ; ec 9242 9231 db 02ah, 0e4h 9243 9232 ; sub ah, ah ; 2a e4 9244 jmp short 065 cdh ; eb b19233 jmp short 065ddh ; eb b1 9245 9234 lea dx, [si+005h] ; 8d 54 05 9246 9235 in AL, DX ; ec … … 9252 9241 db 02ah, 0e4h 9253 9242 ; sub ah, ah ; 2a e4 9254 jmp short 066 0bh ; eb de9243 jmp short 0661bh ; eb de 9255 9244 or byte [bp+01ch], 001h ; 80 4e 1c 01 9256 jmp short 066 37h ; eb 049245 jmp short 06647h ; eb 04 9257 9246 or byte [bp+01ch], 001h ; 80 4e 1c 01 9258 9247 lea sp, [bp-002h] ; 8d 66 fe … … 9260 9249 pop bp ; 5d 9261 9250 retn ; c3 9262 timer_wait_: ; 0xf66 3d LB 0x439251 timer_wait_: ; 0xf664d LB 0x43 9263 9252 push bp ; 55 9264 9253 mov bp, sp ; 89 e5 … … 9268 9257 mov bx, strict word 0000fh ; bb 0f 00 9269 9258 xor cx, cx ; 31 c9 9270 call 0a0 20h ; e8 d5 399259 call 0a030h ; e8 d5 39 9271 9260 mov cx, ax ; 89 c1 9272 9261 mov bx, dx ; 89 d3 … … 9280 9269 adc bx, strict byte 0ffffh ; 83 d3 ff 9281 9270 cmp bx, strict byte 0ffffh ; 83 fb ff 9282 jne short 066 6ah ; 75 059271 jne short 0667ah ; 75 05 9283 9272 cmp cx, strict byte 0ffffh ; 83 f9 ff 9284 je short 066 79h ; 74 0f9273 je short 06689h ; 74 0f 9285 9274 mov dx, strict word 00061h ; ba 61 00 9286 9275 in AL, DX ; ec … … 9289 9278 and AL, strict byte 010h ; 24 10 9290 9279 cmp al, byte [bp-006h] ; 3a 46 fa 9291 jne short 066 6ah ; 75 f39292 jmp short 066 5ah ; eb e19280 jne short 0667ah ; 75 f3 9281 jmp short 0666ah ; eb e1 9293 9282 lea sp, [bp-004h] ; 8d 66 fc 9294 9283 pop cx ; 59 … … 9296 9285 pop bp ; 5d 9297 9286 retn ; c3 9298 set_enable_a20_: ; 0xf66 80 LB 0x2c9287 set_enable_a20_: ; 0xf6690 LB 0x2c 9299 9288 push bp ; 55 9300 9289 mov bp, sp ; 89 e5 … … 9309 9298 mov cl, al ; 88 c1 9310 9299 test bx, bx ; 85 db 9311 je short 066 99h ; 74 059300 je short 066a9h ; 74 05 9312 9301 or AL, strict byte 002h ; 0c 02 9313 9302 out DX, AL ; ee 9314 jmp short 066 9ch ; eb 039303 jmp short 066ach ; eb 03 9315 9304 and AL, strict byte 0fdh ; 24 fd 9316 9305 out DX, AL ; ee … … 9325 9314 pop bp ; 5d 9326 9315 retn ; c3 9327 set_e820_range_: ; 0xf66 ac LB 0x899316 set_e820_range_: ; 0xf66bc LB 0x89 9328 9317 push si ; 56 9329 9318 push bp ; 55 … … 9354 9343 retn 0000ah ; c2 0a 00 9355 9344 db 0ech, 0e9h, 0d8h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 083h, 052h, 04fh, 041h, 024h, 000h 9356 db 0 39h, 06ah, 072h, 067h, 085h, 067h, 01ah, 068h, 020h, 068h, 025h, 068h, 02ah, 068h, 0cch, 068h9357 db 0 f6h, 068h, 013h, 068h, 013h, 068h, 0c3h, 069h, 0ebh, 069h, 0feh, 069h, 00dh, 06ah, 01ah, 068h9358 db 0 14h, 06ah9359 _int15_function: ; 0xf67 35 LB 0x3369345 db 049h, 06ah, 082h, 067h, 095h, 067h, 02ah, 068h, 030h, 068h, 035h, 068h, 03ah, 068h, 0dch, 068h 9346 db 006h, 069h, 023h, 068h, 023h, 068h, 0d3h, 069h, 0fbh, 069h, 00eh, 06ah, 01dh, 06ah, 02ah, 068h 9347 db 024h, 06ah 9348 _int15_function: ; 0xf6745 LB 0x336 9360 9349 push bp ; 55 9361 9350 mov bp, sp ; 89 e5 … … 9365 9354 shr ax, 008h ; c1 e8 08 9366 9355 cmp ax, 000ech ; 3d ec 00 9367 jnbe near 06a 39h ; 0f 87 f2 029356 jnbe near 06a49h ; 0f 87 f2 02 9368 9357 push CS ; 0e 9369 9358 pop ES ; 07 9370 9359 mov cx, strict word 00011h ; b9 11 00 9371 mov di, 067 03h ; bf 03 679360 mov di, 06713h ; bf 13 67 9372 9361 repne scasb ; f2 ae 9373 9362 sal cx, 1 ; d1 e1 9374 9363 mov di, cx ; 89 cf 9375 mov si, word [cs:di+067 13h] ; 2e 8b b5 13 679364 mov si, word [cs:di+06723h] ; 2e 8b b5 23 67 9376 9365 mov ax, word [bp+012h] ; 8b 46 12 9377 9366 xor ah, ah ; 30 e4 … … 9386 9375 xor ah, ah ; 30 e4 9387 9376 cmp ax, 000c0h ; 3d c0 00 9388 jne near 06a 39h ; 0f 85 bb 029377 jne near 06a49h ; 0f 85 bb 02 9389 9378 or byte [bp+018h], 001h ; 80 4e 18 01 9390 jmp near 069 e2h ; e9 5d 029379 jmp near 069f2h ; e9 5d 02 9391 9380 mov dx, ax ; 89 c2 9392 9381 cmp ax, strict word 00001h ; 3d 01 00 9393 jc short 067 9ah ; 72 0e9394 jbe short 067 aeh ; 76 209382 jc short 067aah ; 72 0e 9383 jbe short 067beh ; 76 20 9395 9384 cmp ax, strict word 00003h ; 3d 03 00 9396 je short 067 dbh ; 74 489385 je short 067ebh ; 74 48 9397 9386 cmp ax, strict word 00002h ; 3d 02 00 9398 je short 067 beh ; 74 269399 jmp short 067 e8h ; eb 4e9387 je short 067ceh ; 74 26 9388 jmp short 067f8h ; eb 4e 9400 9389 test ax, ax ; 85 c0 9401 jne short 067 e8h ; 75 4a9390 jne short 067f8h ; 75 4a 9402 9391 xor ax, ax ; 31 c0 9403 call 066 80h ; e8 dd fe9392 call 06690h ; e8 dd fe 9404 9393 and byte [bp+018h], 0feh ; 80 66 18 fe 9405 9394 mov byte [bp+013h], 000h ; c6 46 13 00 9406 jmp near 068 13h ; e9 65 009395 jmp near 06823h ; e9 65 00 9407 9396 mov ax, strict word 00001h ; b8 01 00 9408 call 066 80h ; e8 cc fe9397 call 06690h ; e8 cc fe 9409 9398 and byte [bp+018h], 0feh ; 80 66 18 fe 9410 9399 mov byte [bp+013h], dh ; 88 76 13 9411 jmp near 068 13h ; e9 55 009400 jmp near 06823h ; e9 55 00 9412 9401 mov dx, 00092h ; ba 92 00 9413 9402 in AL, DX ; ec … … 9421 9410 and byte [bp+018h], 0feh ; 80 66 18 fe 9422 9411 mov byte [bp+013h], ah ; 88 66 13 9423 jmp near 068 13h ; e9 38 009412 jmp near 06823h ; e9 38 00 9424 9413 and byte [bp+018h], 0feh ; 80 66 18 fe 9425 9414 mov byte [bp+013h], ah ; 88 66 13 9426 9415 mov word [bp+00ch], ax ; 89 46 0c 9427 jmp near 068 13h ; e9 2b 009416 jmp near 06823h ; e9 2b 00 9428 9417 mov bx, 00db2h ; bb b2 0d 9429 9418 mov cx, ds ; 8c d9 9430 9419 mov ax, strict word 00004h ; b8 04 00 9431 call 01a2ah ; e8 37 b29420 call 01a2ah ; e8 27 b2 9432 9421 mov ax, word [bp+012h] ; 8b 46 12 9433 9422 xor ah, ah ; 30 e4 … … 9435 9424 push 00840h ; 68 40 08 9436 9425 push strict byte 00004h ; 6a 04 9437 call 01a6bh ; e8 6a b29426 call 01a6bh ; e8 5a b2 9438 9427 add sp, strict byte 00006h ; 83 c4 06 9439 9428 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9448 9437 retn ; c3 9449 9438 mov word [bp+018h], bx ; 89 5e 18 9450 jmp near 068 c6h ; e9 a6 009439 jmp near 068d6h ; e9 a6 00 9451 9440 mov word [bp+018h], bx ; 89 5e 18 9452 jmp short 068 13h ; eb ee9441 jmp short 06823h ; eb ee 9453 9442 mov word [bp+018h], cx ; 89 4e 18 9454 jmp short 068 10h ; eb e69443 jmp short 06820h ; eb e6 9455 9444 test byte [bp+012h], 0ffh ; f6 46 12 ff 9456 jne short 068 9ch ; 75 6c9445 jne short 068ach ; 75 6c 9457 9446 mov dx, 000a0h ; ba a0 00 9458 9447 mov ax, strict word 00040h ; b8 40 00 9459 call 01749h ; e8 10 af9448 call 01749h ; e8 00 af 9460 9449 test AL, strict byte 001h ; a8 01 9461 jne near 069 d9h ; 0f 85 9a 019450 jne near 069e9h ; 0f 85 9a 01 9462 9451 mov bx, strict word 00001h ; bb 01 00 9463 9452 mov dx, 000a0h ; ba a0 00 9464 9453 mov ax, strict word 00040h ; b8 40 00 9465 call 01757h ; e8 0c af9454 call 01757h ; e8 fc ae 9466 9455 mov bx, word [bp+014h] ; 8b 5e 14 9467 9456 mov dx, 00098h ; ba 98 00 9468 9457 mov ax, strict word 00040h ; b8 40 00 9469 call 01773h ; e8 1c af9458 call 01773h ; e8 0c af 9470 9459 mov bx, word [bp+00ch] ; 8b 5e 0c 9471 9460 mov dx, 0009ah ; ba 9a 00 9472 9461 mov ax, strict word 00040h ; b8 40 00 9473 call 01773h ; e8 10 af9462 call 01773h ; e8 00 af 9474 9463 mov bx, word [bp+00eh] ; 8b 5e 0e 9475 9464 mov dx, 0009ch ; ba 9c 00 9476 9465 mov ax, strict word 00040h ; b8 40 00 9477 call 01773h ; e8 04 af9466 call 01773h ; e8 f4 ae 9478 9467 mov bx, word [bp+010h] ; 8b 5e 10 9479 9468 mov dx, 0009eh ; ba 9e 00 9480 9469 mov ax, strict word 00040h ; b8 40 00 9481 call 01773h ; e8 f8 ae9470 call 01773h ; e8 e8 ae 9482 9471 and byte [bp+018h], 0feh ; 80 66 18 fe 9483 9472 mov dx, 000a1h ; ba a1 00 … … 9488 9477 out DX, AL ; ee 9489 9478 mov ax, strict word 0000bh ; b8 0b 00 9490 call 017a5h ; e8 17 af9479 call 017a5h ; e8 07 af 9491 9480 or AL, strict byte 040h ; 0c 40 9492 9481 movzx dx, al ; 0f b6 d0 9493 9482 mov ax, strict word 0000bh ; b8 0b 00 9494 call 017c2h ; e8 29 af9495 jmp near 068 13h ; e9 77 ff9483 call 017c2h ; e8 19 af 9484 jmp near 06823h ; e9 77 ff 9496 9485 cmp ax, strict word 00001h ; 3d 01 00 9497 jne short 068 bah ; 75 199486 jne short 068cah ; 75 19 9498 9487 xor bx, bx ; 31 db 9499 9488 mov dx, 000a0h ; ba a0 00 9500 9489 mov ax, strict word 00040h ; b8 40 00 9501 call 01757h ; e8 ab ae9490 call 01757h ; e8 9b ae 9502 9491 and byte [bp+018h], 0feh ; 80 66 18 fe 9503 9492 mov ax, strict word 0000bh ; b8 0b 00 9504 call 017a5h ; e8 ef ae9493 call 017a5h ; e8 df ae 9505 9494 and AL, strict byte 0bfh ; 24 bf 9506 jmp short 068 90h ; eb d69495 jmp short 068a0h ; eb d6 9507 9496 mov word [bp+018h], bx ; 89 5e 18 9508 9497 mov ax, dx ; 89 d0 … … 9512 9501 or dx, ax ; 09 c2 9513 9502 mov word [bp+012h], dx ; 89 56 12 9514 jmp near 068 13h ; e9 47 ff9503 jmp near 06823h ; e9 47 ff 9515 9504 mov ax, strict word 00031h ; b8 31 00 9516 call 017a5h ; e8 d3 ae9505 call 017a5h ; e8 c3 ae 9517 9506 movzx dx, al ; 0f b6 d0 9518 9507 sal dx, 008h ; c1 e2 08 9519 9508 mov ax, strict word 00030h ; b8 30 00 9520 call 017a5h ; e8 c7 ae9509 call 017a5h ; e8 b7 ae 9521 9510 xor ah, ah ; 30 e4 9522 9511 or dx, ax ; 09 c2 9523 9512 mov word [bp+012h], dx ; 89 56 12 9524 9513 cmp dx, strict byte 0ffc0h ; 83 fa c0 9525 jbe short 068 efh ; 76 059514 jbe short 068ffh ; 76 05 9526 9515 mov word [bp+012h], strict word 0ffc0h ; c7 46 12 c0 ff 9527 9516 and byte [bp+018h], 0feh ; 80 66 18 fe 9528 jmp near 068 13h ; e9 1d ff9517 jmp near 06823h ; e9 1d ff 9529 9518 cli ; fa 9530 9519 mov ax, strict word 00001h ; b8 01 00 9531 call 066 80h ; e8 83 fd9520 call 06690h ; e8 83 fd 9532 9521 mov dx, word [bp+006h] ; 8b 56 06 9533 9522 add dx, strict byte 00038h ; 83 c2 38 9534 9523 mov ax, word [bp+014h] ; 8b 46 14 9535 9524 mov bx, strict word 0ffffh ; bb ff ff 9536 call 01773h ; e8 67 ae9525 call 01773h ; e8 57 ae 9537 9526 mov dx, word [bp+006h] ; 8b 56 06 9538 9527 add dx, strict byte 0003ah ; 83 c2 3a 9539 9528 mov ax, word [bp+014h] ; 8b 46 14 9540 9529 xor bx, bx ; 31 db 9541 call 01773h ; e8 59 ae9530 call 01773h ; e8 49 ae 9542 9531 mov dx, word [bp+006h] ; 8b 56 06 9543 9532 add dx, strict byte 0003ch ; 83 c2 3c 9544 9533 mov ax, word [bp+014h] ; 8b 46 14 9545 9534 mov bx, strict word 0000fh ; bb 0f 00 9546 call 01757h ; e8 2e ae9535 call 01757h ; e8 1e ae 9547 9536 mov dx, word [bp+006h] ; 8b 56 06 9548 9537 add dx, strict byte 0003dh ; 83 c2 3d 9549 9538 mov ax, word [bp+014h] ; 8b 46 14 9550 9539 mov bx, 0009bh ; bb 9b 00 9551 call 01757h ; e8 1f ae9540 call 01757h ; e8 0f ae 9552 9541 mov dx, word [bp+006h] ; 8b 56 06 9553 9542 add dx, strict byte 0003eh ; 83 c2 3e 9554 9543 mov ax, word [bp+014h] ; 8b 46 14 9555 9544 xor bx, bx ; 31 db 9556 call 01773h ; e8 2d ae9545 call 01773h ; e8 1d ae 9557 9546 mov AL, strict byte 011h ; b0 11 9558 9547 mov dx, strict word 00020h ; ba 20 00 … … 9584 9573 out DX, AL ; ee 9585 9574 mov si, word [bp+006h] ; 8b 76 06 9586 call 069 87h ; e8 00 009575 call 06997h ; e8 00 00 9587 9576 pop di ; 5f 9588 9577 add di, strict byte 00018h ; 83 c7 18 … … 9612 9601 push cx ; 51 9613 9602 retf ; cb 9614 jmp near 068 13h ; e9 50 fe9603 jmp near 06823h ; e9 50 fe 9615 9604 mov bx, 00db2h ; bb b2 0d 9616 9605 mov cx, ds ; 8c d9 9617 9606 mov ax, strict word 00004h ; b8 04 00 9618 call 01a2ah ; e8 5c b09607 call 01a2ah ; e8 4c b0 9619 9608 push 00880h ; 68 80 08 9620 9609 push strict byte 00004h ; 6a 04 9621 call 01a6bh ; e8 95 b09610 call 01a6bh ; e8 85 b0 9622 9611 add sp, strict byte 00004h ; 83 c4 04 9623 9612 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9626 9615 or ah, 086h ; 80 cc 86 9627 9616 mov word [bp+012h], ax ; 89 46 12 9628 jmp near 068 13h ; e9 28 fe9617 jmp near 06823h ; e9 28 fe 9629 9618 mov word [bp+018h], cx ; 89 4e 18 9630 9619 mov word [bp+012h], ax ; 89 46 12 9631 9620 mov word [bp+00ch], 0e6f5h ; c7 46 0c f5 e6 9632 9621 mov word [bp+014h], 0f000h ; c7 46 14 00 f0 9633 jmp near 068 13h ; e9 15 fe9622 jmp near 06823h ; e9 15 fe 9634 9623 mov dx, strict word 0000eh ; ba 0e 00 9635 9624 mov ax, strict word 00040h ; b8 40 00 9636 call 01765h ; e8 5e ad9625 call 01765h ; e8 4e ad 9637 9626 mov word [bp+014h], ax ; 89 46 14 9638 jmp near 068 efh ; e9 e2 fe9627 jmp near 068ffh ; e9 e2 fe 9639 9628 push 008afh ; 68 af 08 9640 9629 push strict byte 00008h ; 6a 08 9641 jmp short 069 d3h ; eb bf9630 jmp short 069e3h ; eb bf 9642 9631 test byte [bp+012h], 0ffh ; f6 46 12 ff 9643 jne short 06a 39h ; 75 1f9632 jne short 06a49h ; 75 1f 9644 9633 mov word [bp+012h], ax ; 89 46 12 9645 9634 mov ax, word [bp+00ch] ; 8b 46 0c 9646 9635 xor ah, ah ; 30 e4 9647 9636 cmp ax, strict word 00001h ; 3d 01 00 9648 jc short 06a 32h ; 72 0b9637 jc short 06a42h ; 72 0b 9649 9638 cmp ax, strict word 00003h ; 3d 03 00 9650 jnbe short 06a 32h ; 77 069639 jnbe short 06a42h ; 77 06 9651 9640 mov word [bp+018h], cx ; 89 4e 18 9652 jmp near 068 13h ; e9 e1 fd9641 jmp near 06823h ; e9 e1 fd 9653 9642 or byte [bp+018h], 001h ; 80 4e 18 01 9654 jmp near 068 13h ; e9 da fd9643 jmp near 06823h ; e9 da fd 9655 9644 mov bx, 00db2h ; bb b2 0d 9656 9645 mov cx, ds ; 8c d9 9657 9646 mov ax, strict word 00004h ; b8 04 00 9658 call 01a2ah ; e8 e6 af9647 call 01a2ah ; e8 d6 af 9659 9648 push word [bp+00ch] ; ff 76 0c 9660 9649 push word [bp+012h] ; ff 76 12 9661 9650 push 008c6h ; 68 c6 08 9662 9651 push strict byte 00004h ; 6a 04 9663 call 01a6bh ; e8 19 b09652 call 01a6bh ; e8 09 b0 9664 9653 add sp, strict byte 00008h ; 83 c4 08 9665 jmp short 069d9h ; eb 82 9666 in AL, strict byte 06bh ; e4 6b 9667 push ES ; 06 9654 jmp short 069e9h ; eb 82 9655 hlt ; f4 9656 imul dx, word [0396ch], strict byte 0006ch ; 6b 16 6c 39 6c 9657 pop bx ; 5b 9668 9658 insb ; 6c 9669 sub word [si+04bh], bp ; 29 6c 4b 9659 jnp short 06addh ; 7b 6c 9660 call far 0e26ch:0be6ch ; 9a 6c be 6c e2 9670 9661 insb ; 6c 9671 imul bp, word [si-076h], strict byte 0006ch ; 6b 6c 8a 6c 9672 scasb ; ae 9673 insb ; 6c 9674 shr byte [si+011h], CL ; d2 6c 11 9662 and word [di+04dh], bp ; 21 6d 4d 9675 9663 insw ; 6d 9676 db 03dh 9677 insw ; 6d 9678 _int15_function32: ; 0xf6a6b LB 0x396 9664 _int15_function32: ; 0xf6a7b LB 0x396 9679 9665 push bp ; 55 9680 9666 mov bp, sp ; 89 e5 … … 9688 9674 xor dh, dh ; 30 f6 9689 9675 cmp ax, 000e8h ; 3d e8 00 9690 je near 06b 08h ; 0f 84 7e 009676 je near 06b18h ; 0f 84 7e 00 9691 9677 cmp ax, 000d0h ; 3d d0 00 9692 je short 06a a3h ; 74 149678 je short 06ab3h ; 74 14 9693 9679 cmp ax, 00086h ; 3d 86 00 9694 jne near 06d d1h ; 0f 85 3b 039680 jne near 06de1h ; 0f 85 3b 03 9695 9681 sti ; fb 9696 9682 mov dx, word [bp+01ch] ; 8b 56 1c 9697 9683 mov ax, word [bp+018h] ; 8b 46 18 9698 call 066 3dh ; e8 9d fb9699 jmp near 06 dfbh ; e9 58 039684 call 0664dh ; e8 9d fb 9685 jmp near 06e0bh ; e9 58 03 9700 9686 cmp dx, strict byte 0004fh ; 83 fa 4f 9701 jne near 06d d1h ; 0f 85 27 039687 jne near 06de1h ; 0f 85 27 03 9702 9688 cmp word [bp+016h], 05052h ; 81 7e 16 52 50 9703 jne near 06d d1h ; 0f 85 1e 039689 jne near 06de1h ; 0f 85 1e 03 9704 9690 cmp word [bp+014h], 04f43h ; 81 7e 14 43 4f 9705 jne near 06d d1h ; 0f 85 15 039691 jne near 06de1h ; 0f 85 15 03 9706 9692 cmp word [bp+01eh], 04d4fh ; 81 7e 1e 4f 4d 9707 jne near 06d d1h ; 0f 85 0c 039693 jne near 06de1h ; 0f 85 0c 03 9708 9694 cmp word [bp+01ch], 04445h ; 81 7e 1c 45 44 9709 jne near 06d d1h ; 0f 85 03 039695 jne near 06de1h ; 0f 85 03 03 9710 9696 mov ax, word [bp+00ah] ; 8b 46 0a 9711 9697 or ax, word [bp+008h] ; 0b 46 08 9712 jne near 06d d1h ; 0f 85 f9 029698 jne near 06de1h ; 0f 85 f9 02 9713 9699 mov ax, word [bp+006h] ; 8b 46 06 9714 9700 or ax, word [bp+004h] ; 0b 46 04 9715 jne near 06d d1h ; 0f 85 ef 029701 jne near 06de1h ; 0f 85 ef 02 9716 9702 mov word [bp+028h], bx ; 89 5e 28 9717 9703 mov ax, word [bp+014h] ; 8b 46 14 … … 9724 9710 mov word [bp+006h], ax ; 89 46 06 9725 9711 mov dword [bp+020h], strict dword 049413332h ; 66 c7 46 20 32 33 41 49 9726 jmp near 06 dfbh ; e9 f3 029712 jmp near 06e0bh ; e9 f3 02 9727 9713 cmp dx, strict byte 00020h ; 83 fa 20 9728 je short 06b 17h ; 74 0a9714 je short 06b27h ; 74 0a 9729 9715 cmp dx, strict byte 00001h ; 83 fa 01 9730 je near 06d 84h ; 0f 84 70 029731 jmp near 06d d1h ; e9 ba 029716 je near 06d94h ; 0f 84 70 02 9717 jmp near 06de1h ; e9 ba 02 9732 9718 cmp word [bp+01ah], 0534dh ; 81 7e 1a 4d 53 9733 jne near 06d d1h ; 0f 85 b1 029719 jne near 06de1h ; 0f 85 b1 02 9734 9720 cmp word [bp+018h], 04150h ; 81 7e 18 50 41 9735 jne near 06d d1h ; 0f 85 a8 029721 jne near 06de1h ; 0f 85 a8 02 9736 9722 mov ax, strict word 00035h ; b8 35 00 9737 call 017a5h ; e8 76 ac9723 call 017a5h ; e8 66 ac 9738 9724 movzx bx, al ; 0f b6 d8 9739 9725 xor dx, dx ; 31 d2 … … 9741 9727 sal bx, 1 ; d1 e3 9742 9728 rcl dx, 1 ; d1 d2 9743 loop 06b 37h ; e2 fa9729 loop 06b47h ; e2 fa 9744 9730 mov ax, strict word 00034h ; b8 34 00 9745 call 017a5h ; e8 62 ac9731 call 017a5h ; e8 52 ac 9746 9732 xor ah, ah ; 30 e4 9747 9733 mov dx, bx ; 89 da … … 9751 9737 adc dx, 00100h ; 81 d2 00 01 9752 9738 cmp dx, 00100h ; 81 fa 00 01 9753 jc short 06b 5dh ; 72 069754 jne short 06b 8ah ; 75 319739 jc short 06b6dh ; 72 06 9740 jne short 06b9ah ; 75 31 9755 9741 test bx, bx ; 85 db 9756 jnbe short 06b 8ah ; 77 2d9742 jnbe short 06b9ah ; 77 2d 9757 9743 mov ax, strict word 00031h ; b8 31 00 9758 call 017a5h ; e8 42 ac9744 call 017a5h ; e8 32 ac 9759 9745 movzx bx, al ; 0f b6 d8 9760 9746 xor dx, dx ; 31 d2 … … 9762 9748 sal bx, 1 ; d1 e3 9763 9749 rcl dx, 1 ; d1 d2 9764 loop 06b 6bh ; e2 fa9750 loop 06b7bh ; e2 fa 9765 9751 mov ax, strict word 00030h ; b8 30 00 9766 call 017a5h ; e8 2e ac9752 call 017a5h ; e8 1e ac 9767 9753 xor ah, ah ; 30 e4 9768 9754 or bx, ax ; 09 c3 … … 9770 9756 sal bx, 1 ; d1 e3 9771 9757 rcl dx, 1 ; d1 d2 9772 loop 06b 7eh ; e2 fa9758 loop 06b8eh ; e2 fa 9773 9759 add bx, strict byte 00000h ; 83 c3 00 9774 9760 adc dx, strict byte 00010h ; 83 d2 10 9775 9761 mov ax, strict word 00062h ; b8 62 00 9776 call 017a5h ; e8 15 ac9762 call 017a5h ; e8 05 ac 9777 9763 xor ah, ah ; 30 e4 9778 9764 mov word [bp-00ah], ax ; 89 46 f6 … … 9782 9768 sal word [bp-00ah], 1 ; d1 66 f6 9783 9769 rcl word [bp-008h], 1 ; d1 56 f8 9784 loop 06b 9dh ; e2 f89770 loop 06badh ; e2 f8 9785 9771 mov ax, strict word 00061h ; b8 61 00 9786 call 017a5h ; e8 fa ab9772 call 017a5h ; e8 ea ab 9787 9773 xor ah, ah ; 30 e4 9788 9774 or word [bp-00ah], ax ; 09 46 f6 … … 9791 9777 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 9792 9778 mov ax, strict word 00063h ; b8 63 00 9793 call 017a5h ; e8 e4 ab9779 call 017a5h ; e8 d4 ab 9794 9780 mov byte [bp-004h], al ; 88 46 fc 9795 9781 mov byte [bp-006h], al ; 88 46 fa 9796 9782 mov ax, word [bp+014h] ; 8b 46 14 9797 9783 cmp ax, strict word 00009h ; 3d 09 00 9798 jnbe near 06d d1h ; 0f 87 00 029784 jnbe near 06de1h ; 0f 87 00 02 9799 9785 mov si, ax ; 89 c6 9800 9786 add si, ax ; 01 c6 … … 9803 9789 mov cx, dx ; 89 d1 9804 9790 adc cx, strict byte 0ffffh ; 83 d1 ff 9805 jmp word [cs:si+06a 57h] ; 2e ff a4 57 6a9791 jmp word [cs:si+06a67h] ; 2e ff a4 67 6a 9806 9792 push strict byte 00001h ; 6a 01 9807 9793 push dword 000000000h ; 66 6a 00 … … 9812 9798 xor bx, bx ; 31 db 9813 9799 xor cx, cx ; 31 c9 9814 call 066 ach ; e8 b1 fa9800 call 066bch ; e8 b1 fa 9815 9801 mov dword [bp+014h], strict dword 000000001h ; 66 c7 46 14 01 00 00 00 9816 jmp near 06d 6eh ; e9 68 019802 jmp near 06d7eh ; e9 68 01 9817 9803 push strict byte 00002h ; 6a 02 9818 9804 push dword 000000000h ; 66 6a 00 … … 9823 9809 mov bx, 0fc00h ; bb 00 fc 9824 9810 mov cx, strict word 00009h ; b9 09 00 9825 call 066 ach ; e8 8e fa9811 call 066bch ; e8 8e fa 9826 9812 mov dword [bp+014h], strict dword 000000002h ; 66 c7 46 14 02 00 00 00 9827 jmp near 06d 6eh ; e9 45 019813 jmp near 06d7eh ; e9 45 01 9828 9814 push strict byte 00002h ; 6a 02 9829 9815 push dword 000000000h ; 66 6a 00 … … 9834 9820 xor bx, bx ; 31 db 9835 9821 mov cx, strict word 0000fh ; b9 0f 00 9836 call 066 ach ; e8 6c fa9822 call 066bch ; e8 6c fa 9837 9823 mov dword [bp+014h], strict dword 000000003h ; 66 c7 46 14 03 00 00 00 9838 jmp near 06d 6eh ; e9 23 019824 jmp near 06d7eh ; e9 23 01 9839 9825 push strict byte 00001h ; 6a 01 9840 9826 push dword 000000000h ; 66 6a 00 … … 9845 9831 xor bx, bx ; 31 db 9846 9832 mov cx, strict word 00010h ; b9 10 00 9847 call 066 ach ; e8 4c fa9833 call 066bch ; e8 4c fa 9848 9834 mov dword [bp+014h], strict dword 000000004h ; 66 c7 46 14 04 00 00 00 9849 jmp near 06d 6eh ; e9 03 019835 jmp near 06d7eh ; e9 03 01 9850 9836 push strict byte 00003h ; 6a 03 9851 9837 push dword 000000000h ; 66 6a 00 … … 9856 9842 mov bx, ax ; 89 c3 9857 9843 mov ax, si ; 89 f0 9858 call 066 ach ; e8 2d fa9844 call 066bch ; e8 2d fa 9859 9845 mov dword [bp+014h], strict dword 000000005h ; 66 c7 46 14 05 00 00 00 9860 jmp near 06d 6eh ; e9 e4 009846 jmp near 06d7eh ; e9 e4 00 9861 9847 push strict byte 00002h ; 6a 02 9862 9848 push dword 000000000h ; 66 6a 00 … … 9867 9853 xor bx, bx ; 31 db 9868 9854 mov cx, 0fec0h ; b9 c0 fe 9869 call 066 ach ; e8 09 fa9855 call 066bch ; e8 09 fa 9870 9856 mov dword [bp+014h], strict dword 000000006h ; 66 c7 46 14 06 00 00 00 9871 jmp near 06d 6eh ; e9 c0 009857 jmp near 06d7eh ; e9 c0 00 9872 9858 push strict byte 00002h ; 6a 02 9873 9859 push dword 000000000h ; 66 6a 00 … … 9878 9864 xor bx, bx ; 31 db 9879 9865 mov cx, 0fee0h ; b9 e0 fe 9880 call 066 ach ; e8 e5 f99866 call 066bch ; e8 e5 f9 9881 9867 mov dword [bp+014h], strict dword 000000007h ; 66 c7 46 14 07 00 00 00 9882 jmp near 06d 6eh ; e9 9c 009868 jmp near 06d7eh ; e9 9c 00 9883 9869 push strict byte 00002h ; 6a 02 9884 9870 push dword 000000000h ; 66 6a 00 … … 9888 9874 xor bx, bx ; 31 db 9889 9875 mov cx, strict word 0fffch ; b9 fc ff 9890 call 066 ach ; e8 c4 f99876 call 066bch ; e8 c4 f9 9891 9877 cmp byte [bp-004h], 000h ; 80 7e fc 00 9892 jne short 06 cf5h ; 75 079878 jne short 06d05h ; 75 07 9893 9879 mov ax, word [bp-008h] ; 8b 46 f8 9894 9880 test ax, ax ; 85 c0 9895 je short 06d 09h ; 74 149881 je short 06d19h ; 74 14 9896 9882 mov dword [bp+014h], strict dword 000000009h ; 66 c7 46 14 09 00 00 00 9897 jmp short 06d 6eh ; eb 6f9883 jmp short 06d7eh ; eb 6f 9898 9884 mov dword [bp+014h], strict dword 000000008h ; 66 c7 46 14 08 00 00 00 9899 jmp short 06d 6eh ; eb 659885 jmp short 06d7eh ; eb 65 9900 9886 mov word [bp+014h], ax ; 89 46 14 9901 9887 mov word [bp+016h], ax ; 89 46 16 9902 jmp short 06d 6eh ; eb 5d9888 jmp short 06d7eh ; eb 5d 9903 9889 push strict byte 00002h ; 6a 02 9904 9890 push dword 000000000h ; 66 6a 00 … … 9908 9894 xor bx, bx ; 31 db 9909 9895 xor cx, cx ; 31 c9 9910 call 066 ach ; e8 86 f99896 call 066bch ; e8 86 f9 9911 9897 cmp byte [bp-004h], 000h ; 80 7e fc 00 9912 jne short 06d 33h ; 75 079898 jne short 06d43h ; 75 07 9913 9899 mov ax, word [bp-008h] ; 8b 46 f8 9914 9900 test ax, ax ; 85 c0 9915 je short 06d 35h ; 74 029916 jmp short 06 cf5h ; eb c09901 je short 06d45h ; 74 02 9902 jmp short 06d05h ; eb c0 9917 9903 mov word [bp+014h], ax ; 89 46 14 9918 9904 mov word [bp+016h], ax ; 89 46 16 9919 jmp short 06d 6eh ; eb 319905 jmp short 06d7eh ; eb 31 9920 9906 cmp byte [bp-004h], 000h ; 80 7e fc 00 9921 jne short 06d 49h ; 75 069907 jne short 06d59h ; 75 06 9922 9908 cmp word [bp-008h], strict byte 00000h ; 83 7e f8 00 9923 je short 06d 6eh ; 74 259909 je short 06d7eh ; 74 25 9924 9910 push strict byte 00001h ; 6a 01 9925 9911 mov al, byte [bp-006h] ; 8a 46 fa … … 9934 9920 xor bx, bx ; 31 db 9935 9921 xor cx, cx ; 31 c9 9936 call 066 ach ; e8 46 f99922 call 066bch ; e8 46 f9 9937 9923 xor ax, ax ; 31 c0 9938 9924 mov word [bp+014h], ax ; 89 46 14 … … 9941 9927 mov dword [bp+01ch], strict dword 000000014h ; 66 c7 46 1c 14 00 00 00 9942 9928 and byte [bp+028h], 0feh ; 80 66 28 fe 9943 jmp short 06 dfbh ; eb 779929 jmp short 06e0bh ; eb 77 9944 9930 mov word [bp+028h], bx ; 89 5e 28 9945 9931 mov ax, strict word 00031h ; b8 31 00 9946 call 017a5h ; e8 18 aa9932 call 017a5h ; e8 08 aa 9947 9933 xor ah, ah ; 30 e4 9948 9934 mov dx, ax ; 89 c2 9949 9935 sal dx, 008h ; c1 e2 08 9950 9936 mov ax, strict word 00030h ; b8 30 00 9951 call 017a5h ; e8 0b aa9937 call 017a5h ; e8 fb a9 9952 9938 xor ah, ah ; 30 e4 9953 9939 or dx, ax ; 09 c2 9954 9940 mov word [bp+01ch], dx ; 89 56 1c 9955 9941 cmp dx, 03c00h ; 81 fa 00 3c 9956 jbe short 06d ach ; 76 059942 jbe short 06dbch ; 76 05 9957 9943 mov word [bp+01ch], 03c00h ; c7 46 1c 00 3c 9958 9944 mov ax, strict word 00035h ; b8 35 00 9959 call 017a5h ; e8 f3 a99945 call 017a5h ; e8 e3 a9 9960 9946 xor ah, ah ; 30 e4 9961 9947 mov dx, ax ; 89 c2 9962 9948 sal dx, 008h ; c1 e2 08 9963 9949 mov ax, strict word 00034h ; b8 34 00 9964 call 017a5h ; e8 e6 a99950 call 017a5h ; e8 d6 a9 9965 9951 xor ah, ah ; 30 e4 9966 9952 or dx, ax ; 09 c2 … … 9969 9955 mov word [bp+020h], ax ; 89 46 20 9970 9956 mov word [bp+014h], dx ; 89 56 14 9971 jmp short 06 dfbh ; eb 2a9957 jmp short 06e0bh ; eb 2a 9972 9958 mov bx, 00db2h ; bb b2 0d 9973 9959 mov cx, ds ; 8c d9 9974 9960 mov ax, strict word 00004h ; b8 04 00 9975 call 01a2ah ; e8 4e ac9961 call 01a2ah ; e8 3e ac 9976 9962 push word [bp+014h] ; ff 76 14 9977 9963 push word [bp+020h] ; ff 76 20 9978 9964 push 008c6h ; 68 c6 08 9979 9965 push strict byte 00004h ; 6a 04 9980 call 01a6bh ; e8 81 ac9966 call 01a6bh ; e8 71 ac 9981 9967 add sp, strict byte 00008h ; 83 c4 08 9982 9968 or byte [bp+028h], 001h ; 80 4e 28 01 … … 9989 9975 pop bp ; 5d 9990 9976 retn ; c3 9991 _int15_blkmove: ; 0xf6e 01 LB 0x1ab9977 _int15_blkmove: ; 0xf6e11 LB 0x1ab 9992 9978 push bp ; 55 9993 9979 mov bp, sp ; 89 e5 … … 9998 9984 cli ; fa 9999 9985 mov ax, strict word 00001h ; b8 01 00 10000 call 066 80h ; e8 71 f89986 call 06690h ; e8 71 f8 10001 9987 mov di, ax ; 89 c7 10002 9988 mov ax, word [bp+006h] ; 8b 46 06 … … 10008 9994 mov byte [bp-006h], dl ; 88 56 fa 10009 9995 cmp cx, ax ; 39 c1 10010 jnc short 06e 2eh ; 73 059996 jnc short 06e3eh ; 73 05 10011 9997 db 0feh, 0c2h 10012 9998 ; inc dl ; fe c2 … … 10016 10002 mov ax, word [bp+006h] ; 8b 46 06 10017 10003 mov bx, strict word 0002fh ; bb 2f 00 10018 call 01773h ; e8 36 a910004 call 01773h ; e8 26 a9 10019 10005 mov dx, word [bp+00ah] ; 8b 56 0a 10020 10006 add dx, strict byte 0000ah ; 83 c2 0a 10021 10007 mov ax, word [bp+006h] ; 8b 46 06 10022 10008 mov bx, cx ; 89 cb 10023 call 01773h ; e8 28 a910009 call 01773h ; e8 18 a9 10024 10010 movzx bx, byte [bp-006h] ; 0f b6 5e fa 10025 10011 mov dx, word [bp+00ah] ; 8b 56 0a 10026 10012 add dx, strict byte 0000ch ; 83 c2 0c 10027 10013 mov ax, word [bp+006h] ; 8b 46 06 10028 call 01757h ; e8 fc a810014 call 01757h ; e8 ec a8 10029 10015 mov dx, word [bp+00ah] ; 8b 56 0a 10030 10016 add dx, strict byte 0000dh ; 83 c2 0d 10031 10017 mov ax, word [bp+006h] ; 8b 46 06 10032 10018 mov bx, 00093h ; bb 93 00 10033 call 01757h ; e8 ed a810019 call 01757h ; e8 dd a8 10034 10020 mov dx, word [bp+00ah] ; 8b 56 0a 10035 10021 add dx, strict byte 0000eh ; 83 c2 0e 10036 10022 mov ax, word [bp+006h] ; 8b 46 06 10037 10023 xor bx, bx ; 31 db 10038 call 01773h ; e8 fb a810024 call 01773h ; e8 eb a8 10039 10025 mov dx, word [bp+00ah] ; 8b 56 0a 10040 10026 add dx, strict byte 00020h ; 83 c2 20 10041 10027 mov ax, word [bp+006h] ; 8b 46 06 10042 10028 mov bx, strict word 0ffffh ; bb ff ff 10043 call 01773h ; e8 ec a810029 call 01773h ; e8 dc a8 10044 10030 mov dx, word [bp+00ah] ; 8b 56 0a 10045 10031 add dx, strict byte 00022h ; 83 c2 22 10046 10032 mov ax, word [bp+006h] ; 8b 46 06 10047 10033 xor bx, bx ; 31 db 10048 call 01773h ; e8 de a810034 call 01773h ; e8 ce a8 10049 10035 mov dx, word [bp+00ah] ; 8b 56 0a 10050 10036 add dx, strict byte 00024h ; 83 c2 24 10051 10037 mov ax, word [bp+006h] ; 8b 46 06 10052 10038 mov bx, strict word 0000fh ; bb 0f 00 10053 call 01757h ; e8 b3 a810039 call 01757h ; e8 a3 a8 10054 10040 mov dx, word [bp+00ah] ; 8b 56 0a 10055 10041 add dx, strict byte 00025h ; 83 c2 25 10056 10042 mov ax, word [bp+006h] ; 8b 46 06 10057 10043 mov bx, 0009bh ; bb 9b 00 10058 call 01757h ; e8 a4 a810044 call 01757h ; e8 94 a8 10059 10045 mov dx, word [bp+00ah] ; 8b 56 0a 10060 10046 add dx, strict byte 00026h ; 83 c2 26 10061 10047 mov ax, word [bp+006h] ; 8b 46 06 10062 10048 xor bx, bx ; 31 db 10063 call 01773h ; e8 b2 a810049 call 01773h ; e8 a2 a8 10064 10050 mov ax, ss ; 8c d0 10065 10051 mov cx, ax ; 89 c1 … … 10071 10057 mov ax, word [bp+006h] ; 8b 46 06 10072 10058 mov bx, strict word 0ffffh ; bb ff ff 10073 call 01773h ; e8 96 a810059 call 01773h ; e8 86 a8 10074 10060 mov dx, word [bp+00ah] ; 8b 56 0a 10075 10061 add dx, strict byte 0002ah ; 83 c2 2a 10076 10062 mov ax, word [bp+006h] ; 8b 46 06 10077 10063 mov bx, cx ; 89 cb 10078 call 01773h ; e8 88 a810064 call 01773h ; e8 78 a8 10079 10065 movzx bx, byte [bp-008h] ; 0f b6 5e f8 10080 10066 mov dx, word [bp+00ah] ; 8b 56 0a 10081 10067 add dx, strict byte 0002ch ; 83 c2 2c 10082 10068 mov ax, word [bp+006h] ; 8b 46 06 10083 call 01757h ; e8 5c a810069 call 01757h ; e8 4c a8 10084 10070 mov dx, word [bp+00ah] ; 8b 56 0a 10085 10071 add dx, strict byte 0002dh ; 83 c2 2d 10086 10072 mov ax, word [bp+006h] ; 8b 46 06 10087 10073 mov bx, 00093h ; bb 93 00 10088 call 01757h ; e8 4d a810074 call 01757h ; e8 3d a8 10089 10075 mov dx, word [bp+00ah] ; 8b 56 0a 10090 10076 add dx, strict byte 0002eh ; 83 c2 2e 10091 10077 mov ax, word [bp+006h] ; 8b 46 06 10092 10078 xor bx, bx ; 31 db 10093 call 01773h ; e8 5b a810079 call 01773h ; e8 4b a8 10094 10080 lea ax, [bp+004h] ; 8d 46 04 10095 10081 mov si, word [bp+00ah] ; 8b 76 0a … … 10103 10089 mov word [00467h], sp ; 89 26 67 04 10104 10090 mov [00469h], ss ; 8c 16 69 04 10105 call 06f 37h ; e8 00 0010091 call 06f47h ; e8 00 00 10106 10092 pop di ; 5f 10107 10093 add di, strict byte 0001bh ; 83 c7 1b … … 10126 10112 cld ; fc 10127 10113 rep movsw ; f3 a5 10128 call 06f 6bh ; e8 00 0010114 call 06f7bh ; e8 00 00 10129 10115 pop ax ; 58 10130 10116 push 0f000h ; 68 00 f0 … … 10147 10133 pop DS ; 1f 10148 10134 mov ax, di ; 89 f8 10149 call 066 80h ; e8 e4 f610135 call 06690h ; e8 e4 f6 10150 10136 sti ; fb 10151 10137 mov byte [bp+017h], 000h ; c6 46 17 00 … … 10156 10142 pop bp ; 5d 10157 10143 retn ; c3 10158 _inv_op_handler: ; 0xf6f ac LB 0x19510144 _inv_op_handler: ; 0xf6fbc LB 0x195 10159 10145 push bp ; 55 10160 10146 mov bp, sp ; 89 e5 … … 10165 10151 les bx, [bp+018h] ; c4 5e 18 10166 10152 cmp byte [es:bx], 0f0h ; 26 80 3f f0 10167 jne short 06f c2h ; 75 0610153 jne short 06fd2h ; 75 06 10168 10154 inc word [bp+018h] ; ff 46 18 10169 jmp near 071 3ah ; e9 78 0110155 jmp near 0714ah ; e9 78 01 10170 10156 cmp word [es:bx], 0050fh ; 26 81 3f 0f 05 10171 jne near 071 36h ; 0f 85 6b 0110157 jne near 07146h ; 0f 85 6b 01 10172 10158 mov si, 00800h ; be 00 08 10173 10159 xor ax, ax ; 31 c0 … … 10197 10183 sal ax, 1 ; d1 e0 10198 10184 rcl dx, 1 ; d1 d2 10199 loop 070 1bh ; e2 fa10185 loop 0702bh ; e2 fa 10200 10186 cmp bx, dx ; 39 d3 10201 jne short 070 29h ; 75 0410187 jne short 07039h ; 75 04 10202 10188 cmp di, ax ; 39 c7 10203 je short 070 2eh ; 74 0510189 je short 0703eh ; 74 05 10204 10190 mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 10205 10191 mov es, [bp-006h] ; 8e 46 fa … … 10211 10197 sal ax, 1 ; d1 e0 10212 10198 rcl dx, 1 ; d1 d2 10213 loop 070 43h ; e2 fa10199 loop 07053h ; e2 fa 10214 10200 cmp di, dx ; 39 d7 10215 jne short 070 51h ; 75 0410201 jne short 07061h ; 75 04 10216 10202 cmp bx, ax ; 39 c3 10217 je short 070 55h ; 74 0410203 je short 07065h ; 74 04 10218 10204 or byte [bp-008h], 002h ; 80 4e f8 02 10219 10205 push strict byte 00000h ; 6a 00 … … 10265 10251 mov ax, strict word 00008h ; b8 08 00 10266 10252 test cx, strict word 00001h ; f7 c1 01 00 10267 je near 07 0f3h ; 0f 84 02 0010253 je near 07103h ; 0f 84 02 00 10268 10254 mov es, ax ; 8e c0 10269 10255 test cx, strict word 00002h ; f7 c1 02 00 10270 je near 071 1bh ; 0f 84 20 0010256 je near 0712bh ; 0f 84 20 00 10271 10257 mov bx, word [word ss:00000h] ; 36 8b 1e 00 00 10272 10258 mov word [word ss:00008h], bx ; 36 89 1e 08 00 … … 10285 10271 mov ss, [word ss:00020h] ; 36 8e 16 20 00 10286 10272 iret ; cf 10287 jmp short 071 3ah ; eb 0410273 jmp short 0714ah ; eb 04 10288 10274 sti ; fb 10289 10275 hlt ; f4 10290 jmp short 071 37h ; eb fd10276 jmp short 07147h ; eb fd 10291 10277 lea sp, [bp-004h] ; 8d 66 fc 10292 10278 pop di ; 5f … … 10294 10280 pop bp ; 5d 10295 10281 retn ; c3 10296 init_rtc_: ; 0xf71 41 LB 0x2810282 init_rtc_: ; 0xf7151 LB 0x28 10297 10283 push bp ; 55 10298 10284 mov bp, sp ; 89 e5 … … 10300 10286 mov dx, strict word 00026h ; ba 26 00 10301 10287 mov ax, strict word 0000ah ; b8 0a 00 10302 call 017c2h ; e8 74 a610288 call 017c2h ; e8 64 a6 10303 10289 mov dx, strict word 00002h ; ba 02 00 10304 10290 mov ax, strict word 0000bh ; b8 0b 00 10305 call 017c2h ; e8 6b a610291 call 017c2h ; e8 5b a6 10306 10292 mov ax, strict word 0000ch ; b8 0c 00 10307 call 017a5h ; e8 48 a610293 call 017a5h ; e8 38 a6 10308 10294 mov ax, strict word 0000dh ; b8 0d 00 10309 call 017a5h ; e8 42 a610295 call 017a5h ; e8 32 a6 10310 10296 lea sp, [bp-002h] ; 8d 66 fe 10311 10297 pop dx ; 5a 10312 10298 pop bp ; 5d 10313 10299 retn ; c3 10314 rtc_updating_: ; 0xf71 69 LB 0x2110300 rtc_updating_: ; 0xf7179 LB 0x21 10315 10301 push bp ; 55 10316 10302 mov bp, sp ; 89 e5 … … 10318 10304 mov dx, 061a8h ; ba a8 61 10319 10305 dec dx ; 4a 10320 je short 071 81h ; 74 0e10306 je short 07191h ; 74 0e 10321 10307 mov ax, strict word 0000ah ; b8 0a 00 10322 call 017a5h ; e8 2c a610308 call 017a5h ; e8 1c a6 10323 10309 test AL, strict byte 080h ; a8 80 10324 jne short 071 70h ; 75 f310310 jne short 07180h ; 75 f3 10325 10311 xor ax, ax ; 31 c0 10326 jmp short 071 84h ; eb 0310312 jmp short 07194h ; eb 03 10327 10313 mov ax, strict word 00001h ; b8 01 00 10328 10314 lea sp, [bp-002h] ; 8d 66 fe … … 10330 10316 pop bp ; 5d 10331 10317 retn ; c3 10332 _int70_function: ; 0xf71 8a LB 0xbe10318 _int70_function: ; 0xf719a LB 0xbe 10333 10319 push bp ; 55 10334 10320 mov bp, sp ; 89 e5 … … 10336 10322 push ax ; 50 10337 10323 mov ax, strict word 0000bh ; b8 0b 00 10338 call 017a5h ; e8 10 a610324 call 017a5h ; e8 00 a6 10339 10325 mov dl, al ; 88 c2 10340 10326 mov byte [bp-004h], al ; 88 46 fc 10341 10327 mov ax, strict word 0000ch ; b8 0c 00 10342 call 017a5h ; e8 05 a610328 call 017a5h ; e8 f5 a5 10343 10329 mov dh, al ; 88 c6 10344 10330 test dl, 060h ; f6 c2 60 10345 je near 072 2fh ; 0f 84 86 0010331 je near 0723fh ; 0f 84 86 00 10346 10332 test AL, strict byte 020h ; a8 20 10347 je short 071 b1h ; 74 0410333 je short 071c1h ; 74 04 10348 10334 sti ; fb 10349 10335 int 04ah ; cd 4a 10350 10336 cli ; fa 10351 10337 test dh, 040h ; f6 c6 40 10352 je near 072 2fh ; 0f 84 77 0010338 je near 0723fh ; 0f 84 77 00 10353 10339 mov dx, 000a0h ; ba a0 00 10354 10340 mov ax, strict word 00040h ; b8 40 00 10355 call 01749h ; e8 88 a510341 call 01749h ; e8 78 a5 10356 10342 test al, al ; 84 c0 10357 je short 072 2fh ; 74 6a10343 je short 0723fh ; 74 6a 10358 10344 mov dx, 0009ch ; ba 9c 00 10359 10345 mov ax, strict word 00040h ; b8 40 00 10360 call 01781h ; e8 b3 a510346 call 01781h ; e8 a3 a5 10361 10347 test dx, dx ; 85 d2 10362 jne short 072 1bh ; 75 4910348 jne short 0722bh ; 75 49 10363 10349 cmp ax, 003d1h ; 3d d1 03 10364 jnc short 072 1bh ; 73 4410350 jnc short 0722bh ; 73 44 10365 10351 mov dx, 00098h ; ba 98 00 10366 10352 mov ax, strict word 00040h ; b8 40 00 10367 call 01765h ; e8 85 a510353 call 01765h ; e8 75 a5 10368 10354 mov si, ax ; 89 c6 10369 10355 mov dx, 0009ah ; ba 9a 00 10370 10356 mov ax, strict word 00040h ; b8 40 00 10371 call 01765h ; e8 7a a510357 call 01765h ; e8 6a a5 10372 10358 mov cx, ax ; 89 c1 10373 10359 xor bx, bx ; 31 db 10374 10360 mov dx, 000a0h ; ba a0 00 10375 10361 mov ax, strict word 00040h ; b8 40 00 10376 call 01757h ; e8 5f a510362 call 01757h ; e8 4f a5 10377 10363 mov al, byte [bp-004h] ; 8a 46 fc 10378 10364 and AL, strict byte 037h ; 24 37 10379 10365 movzx dx, al ; 0f b6 d0 10380 10366 mov ax, strict word 0000bh ; b8 0b 00 10381 call 017c2h ; e8 bc a510367 call 017c2h ; e8 ac a5 10382 10368 mov dx, cx ; 89 ca 10383 10369 mov ax, si ; 89 f0 10384 call 01749h ; e8 3c a510370 call 01749h ; e8 2c a5 10385 10371 or AL, strict byte 080h ; 0c 80 10386 10372 movzx bx, al ; 0f b6 d8 10387 10373 mov dx, cx ; 89 ca 10388 10374 mov ax, si ; 89 f0 10389 call 01757h ; e8 3e a510390 jmp short 072 2fh ; eb 1410375 call 01757h ; e8 2e a5 10376 jmp short 0723fh ; eb 14 10391 10377 mov bx, ax ; 89 c3 10392 10378 add bx, 0fc2fh ; 81 c3 2f fc … … 10395 10381 mov dx, 0009ch ; ba 9c 00 10396 10382 mov ax, strict word 00040h ; b8 40 00 10397 call 01793h ; e8 64 a510398 call 0e030h ; e8 fe 6d10383 call 01793h ; e8 54 a5 10384 call 0e030h ; e8 ee 6d 10399 10385 lea sp, [bp-002h] ; 8d 66 fe 10400 10386 pop si ; 5e 10401 10387 pop bp ; 5d 10402 10388 retn ; c3 10403 pop di ; 5f10404 jc short 071 c3h ; 72 8810405 jc short 07 1eah ; 72 ad10406 jc short 072 1eh ; 72 df10407 jc short 072 6fh ; 72 2e10408 jnc short 072 a9h ; 73 6610409 jnc short 07 1eeh ; 73 a910410 jnc short 072 47h ; 73 0010389 outsw ; 6f 10390 jc short 071e3h ; 72 98 10391 jc short 0720ah ; 72 bd 10392 jc short 0723eh ; 72 ef 10393 jc short 0728fh ; 72 3e 10394 jnc short 072c9h ; 73 76 10395 jnc short 0720eh ; 73 b9 10396 jnc short 07267h ; 73 10 10411 10397 db 074h 10412 _int1a_function: ; 0xf72 48 LB 0x1c810398 _int1a_function: ; 0xf7258 LB 0x1c8 10413 10399 push bp ; 55 10414 10400 mov bp, sp ; 89 e5 … … 10416 10402 mov al, byte [bp+013h] ; 8a 46 13 10417 10403 cmp AL, strict byte 007h ; 3c 07 10418 jnbe near 072 84h ; 0f 87 2f 0010404 jnbe near 07294h ; 0f 87 2f 00 10419 10405 movzx bx, al ; 0f b6 d8 10420 10406 add bx, bx ; 01 db 10421 jmp word [cs:bx+072 38h] ; 2e ff a7 38 7210407 jmp word [cs:bx+07248h] ; 2e ff a7 48 72 10422 10408 cli ; fa 10423 10409 mov bx, 0046eh ; bb 6e 04 … … 10450 10436 sti ; fb 10451 10437 mov byte [bp+013h], 000h ; c6 46 13 00 10452 jmp short 072 84h ; eb d710453 call 071 69h ; e8 b9 fe10438 jmp short 07294h ; eb d7 10439 call 07179h ; e8 b9 fe 10454 10440 test ax, ax ; 85 c0 10455 je short 072 b6h ; 74 0210456 jmp short 072 84h ; eb ce10441 je short 072c6h ; 74 02 10442 jmp short 07294h ; eb ce 10457 10443 xor ax, ax ; 31 c0 10458 call 017a5h ; e8 ea a410444 call 017a5h ; e8 da a4 10459 10445 mov byte [bp+00fh], al ; 88 46 0f 10460 10446 mov ax, strict word 00002h ; b8 02 00 10461 call 017a5h ; e8 e1 a410447 call 017a5h ; e8 d1 a4 10462 10448 mov byte [bp+010h], al ; 88 46 10 10463 10449 mov ax, strict word 00004h ; b8 04 00 10464 call 017a5h ; e8 d8 a410450 call 017a5h ; e8 c8 a4 10465 10451 mov bl, al ; 88 c3 10466 10452 mov byte [bp+011h], al ; 88 46 11 10467 10453 mov ax, strict word 0000bh ; b8 0b 00 10468 call 017a5h ; e8 cd a410454 call 017a5h ; e8 bd a4 10469 10455 and AL, strict byte 001h ; 24 01 10470 10456 mov byte [bp+00eh], al ; 88 46 0e 10471 jmp short 073 24h ; eb 4510472 call 071 69h ; e8 87 fe10457 jmp short 07334h ; eb 45 10458 call 07179h ; e8 87 fe 10473 10459 test ax, ax ; 85 c0 10474 je short 072 e9h ; 74 0310475 call 071 41h ; e8 58 fe10460 je short 072f9h ; 74 03 10461 call 07151h ; e8 58 fe 10476 10462 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 10477 10463 xor ax, ax ; 31 c0 10478 call 017c2h ; e8 d0 a410464 call 017c2h ; e8 c0 a4 10479 10465 movzx dx, byte [bp+010h] ; 0f b6 56 10 10480 10466 mov ax, strict word 00002h ; b8 02 00 10481 call 017c2h ; e8 c6 a410467 call 017c2h ; e8 b6 a4 10482 10468 movzx dx, byte [bp+011h] ; 0f b6 56 11 10483 10469 mov ax, strict word 00004h ; b8 04 00 10484 call 017c2h ; e8 bc a410470 call 017c2h ; e8 ac a4 10485 10471 mov ax, strict word 0000bh ; b8 0b 00 10486 call 017a5h ; e8 99 a410472 call 017a5h ; e8 89 a4 10487 10473 mov bl, al ; 88 c3 10488 10474 and bl, 060h ; 80 e3 60 … … 10493 10479 movzx dx, bl ; 0f b6 d3 10494 10480 mov ax, strict word 0000bh ; b8 0b 00 10495 call 017c2h ; e8 9e a410481 call 017c2h ; e8 8e a4 10496 10482 mov byte [bp+013h], 000h ; c6 46 13 00 10497 10483 mov byte [bp+012h], bl ; 88 5e 12 10498 jmp near 072 84h ; e9 56 ff10484 jmp near 07294h ; e9 56 ff 10499 10485 mov byte [bp+013h], 000h ; c6 46 13 00 10500 call 071 69h ; e8 34 fe10486 call 07179h ; e8 34 fe 10501 10487 test ax, ax ; 85 c0 10502 je short 073 3ch ; 74 0310503 jmp near 072 84h ; e9 48 ff10488 je short 0734ch ; 74 03 10489 jmp near 07294h ; e9 48 ff 10504 10490 mov ax, strict word 00009h ; b8 09 00 10505 call 017a5h ; e8 63 a410491 call 017a5h ; e8 53 a4 10506 10492 mov byte [bp+010h], al ; 88 46 10 10507 10493 mov ax, strict word 00008h ; b8 08 00 10508 call 017a5h ; e8 5a a410494 call 017a5h ; e8 4a a4 10509 10495 mov byte [bp+00fh], al ; 88 46 0f 10510 10496 mov ax, strict word 00007h ; b8 07 00 10511 call 017a5h ; e8 51 a410497 call 017a5h ; e8 41 a4 10512 10498 mov byte [bp+00eh], al ; 88 46 0e 10513 10499 mov ax, strict word 00032h ; b8 32 00 10514 call 017a5h ; e8 48 a410500 call 017a5h ; e8 38 a4 10515 10501 mov byte [bp+011h], al ; 88 46 11 10516 10502 mov byte [bp+012h], al ; 88 46 12 10517 jmp near 072 84h ; e9 1e ff10518 call 071 69h ; e8 00 fe10503 jmp near 07294h ; e9 1e ff 10504 call 07179h ; e8 00 fe 10519 10505 test ax, ax ; 85 c0 10520 je short 073 73h ; 74 0610521 call 071 41h ; e8 d1 fd10522 jmp near 072 84h ; e9 11 ff10506 je short 07383h ; 74 06 10507 call 07151h ; e8 d1 fd 10508 jmp near 07294h ; e9 11 ff 10523 10509 movzx dx, byte [bp+010h] ; 0f b6 56 10 10524 10510 mov ax, strict word 00009h ; b8 09 00 10525 call 017c2h ; e8 45 a410511 call 017c2h ; e8 35 a4 10526 10512 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 10527 10513 mov ax, strict word 00008h ; b8 08 00 10528 call 017c2h ; e8 3b a410514 call 017c2h ; e8 2b a4 10529 10515 movzx dx, byte [bp+00eh] ; 0f b6 56 0e 10530 10516 mov ax, strict word 00007h ; b8 07 00 10531 call 017c2h ; e8 31 a410517 call 017c2h ; e8 21 a4 10532 10518 movzx dx, byte [bp+011h] ; 0f b6 56 11 10533 10519 mov ax, strict word 00032h ; b8 32 00 10534 call 017c2h ; e8 27 a410520 call 017c2h ; e8 17 a4 10535 10521 mov ax, strict word 0000bh ; b8 0b 00 10536 call 017a5h ; e8 04 a410522 call 017a5h ; e8 f4 a3 10537 10523 mov bl, al ; 88 c3 10538 10524 and bl, 07fh ; 80 e3 7f 10539 jmp near 073 1bh ; e9 72 ff10525 jmp near 0732bh ; e9 72 ff 10540 10526 mov ax, strict word 0000bh ; b8 0b 00 10541 call 017a5h ; e8 f6 a310527 call 017a5h ; e8 e6 a3 10542 10528 mov bl, al ; 88 c3 10543 10529 mov word [bp+012h], strict word 00000h ; c7 46 12 00 00 10544 10530 test AL, strict byte 020h ; a8 20 10545 je short 073 bdh ; 74 0310546 jmp near 072 84h ; e9 c7 fe10547 call 071 69h ; e8 a9 fd10531 je short 073cdh ; 74 03 10532 jmp near 07294h ; e9 c7 fe 10533 call 07179h ; e8 a9 fd 10548 10534 test ax, ax ; 85 c0 10549 je short 073 c7h ; 74 0310550 call 071 41h ; e8 7a fd10535 je short 073d7h ; 74 03 10536 call 07151h ; e8 7a fd 10551 10537 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 10552 10538 mov ax, strict word 00001h ; b8 01 00 10553 call 017c2h ; e8 f1 a310539 call 017c2h ; e8 e1 a3 10554 10540 movzx dx, byte [bp+010h] ; 0f b6 56 10 10555 10541 mov ax, strict word 00003h ; b8 03 00 10556 call 017c2h ; e8 e7 a310542 call 017c2h ; e8 d7 a3 10557 10543 movzx dx, byte [bp+011h] ; 0f b6 56 11 10558 10544 mov ax, strict word 00005h ; b8 05 00 10559 call 017c2h ; e8 dd a310545 call 017c2h ; e8 cd a3 10560 10546 mov dx, 000a1h ; ba a1 00 10561 10547 in AL, DX ; ec … … 10569 10555 movzx dx, al ; 0f b6 d0 10570 10556 mov ax, strict word 0000bh ; b8 0b 00 10571 call 017c2h ; e8 c5 a310572 jmp near 072 84h ; e9 84 fe10557 call 017c2h ; e8 b5 a3 10558 jmp near 07294h ; e9 84 fe 10573 10559 mov ax, strict word 0000bh ; b8 0b 00 10574 call 017a5h ; e8 9f a310560 call 017a5h ; e8 8f a3 10575 10561 mov bl, al ; 88 c3 10576 10562 and AL, strict byte 057h ; 24 57 10577 10563 movzx dx, al ; 0f b6 d0 10578 jmp near 073 1eh ; e9 0e ff10579 send_to_mouse_ctrl_: ; 0xf74 10 LB 0x3410564 jmp near 0732eh ; e9 0e ff 10565 send_to_mouse_ctrl_: ; 0xf7420 LB 0x34 10580 10566 push bp ; 55 10581 10567 mov bp, sp ; 89 e5 … … 10588 10574 ; sub ah, ah ; 2a e4 10589 10575 test AL, strict byte 002h ; a8 02 10590 je short 074 2fh ; 74 0e10576 je short 0743fh ; 74 0e 10591 10577 push 00900h ; 68 00 09 10592 10578 push 0117ah ; 68 7a 11 10593 10579 push strict byte 00007h ; 6a 07 10594 call 01a6bh ; e8 3f a610580 call 01a6bh ; e8 2f a6 10595 10581 add sp, strict byte 00006h ; 83 c4 06 10596 10582 mov AL, strict byte 0d4h ; b0 d4 … … 10606 10592 pop bp ; 5d 10607 10593 retn ; c3 10608 get_mouse_data_: ; 0xf74 44 LB 0x5c10594 get_mouse_data_: ; 0xf7454 LB 0x5c 10609 10595 push bp ; 55 10610 10596 mov bp, sp ; 89 e5 … … 10621 10607 and ax, strict word 00021h ; 25 21 00 10622 10608 cmp ax, strict word 00021h ; 3d 21 00 10623 je short 074 86h ; 74 2710609 je short 07496h ; 74 27 10624 10610 test cx, cx ; 85 c9 10625 je short 074 86h ; 74 2310611 je short 07496h ; 74 23 10626 10612 mov dx, strict word 00061h ; ba 61 00 10627 10613 in AL, DX ; ec … … 10639 10625 movzx ax, byte [bp-006h] ; 0f b6 46 fa 10640 10626 cmp dx, ax ; 39 c2 10641 je short 074 6eh ; 74 eb10627 je short 0747eh ; 74 eb 10642 10628 dec cx ; 49 10643 jmp short 074 51h ; eb cb10629 jmp short 07461h ; eb cb 10644 10630 test cx, cx ; 85 c9 10645 jne short 074 8eh ; 75 0410631 jne short 0749eh ; 75 04 10646 10632 mov AL, strict byte 001h ; b0 01 10647 jmp short 074 99h ; eb 0b10633 jmp short 074a9h ; eb 0b 10648 10634 mov dx, strict word 00060h ; ba 60 00 10649 10635 in AL, DX ; ec … … 10657 10643 pop bp ; 5d 10658 10644 retn ; c3 10659 set_kbd_command_byte_: ; 0xf74 a0 LB 0x3210645 set_kbd_command_byte_: ; 0xf74b0 LB 0x32 10660 10646 push bp ; 55 10661 10647 mov bp, sp ; 89 e5 … … 10668 10654 ; sub ah, ah ; 2a e4 10669 10655 test AL, strict byte 002h ; a8 02 10670 je short 074 bfh ; 74 0e10656 je short 074cfh ; 74 0e 10671 10657 push 0090ah ; 68 0a 09 10672 10658 push 0117ah ; 68 7a 11 10673 10659 push strict byte 00007h ; 6a 07 10674 call 01a6bh ; e8 af a510660 call 01a6bh ; e8 9f a5 10675 10661 add sp, strict byte 00006h ; 83 c4 06 10676 10662 mov AL, strict byte 060h ; b0 60 … … 10685 10671 pop bp ; 5d 10686 10672 retn ; c3 10687 _int74_function: ; 0xf74 d2 LB 0xca10673 _int74_function: ; 0xf74e2 LB 0xca 10688 10674 push bp ; 55 10689 10675 mov bp, sp ; 89 e5 … … 10691 10677 mov dx, strict word 0000eh ; ba 0e 00 10692 10678 mov ax, strict word 00040h ; b8 40 00 10693 call 01765h ; e8 84 a210679 call 01765h ; e8 74 a2 10694 10680 mov cx, ax ; 89 c1 10695 10681 mov word [bp+004h], strict word 00000h ; c7 46 04 00 00 … … 10700 10686 and AL, strict byte 021h ; 24 21 10701 10687 cmp AL, strict byte 021h ; 3c 21 10702 jne near 075 88h ; 0f 85 92 0010688 jne near 07598h ; 0f 85 92 00 10703 10689 mov dx, strict word 00060h ; ba 60 00 10704 10690 in AL, DX ; ec … … 10708 10694 mov dx, strict word 00026h ; ba 26 00 10709 10695 mov ax, cx ; 89 c8 10710 call 01749h ; e8 43 a210696 call 01749h ; e8 33 a2 10711 10697 mov byte [bp-006h], al ; 88 46 fa 10712 10698 mov dx, strict word 00027h ; ba 27 00 10713 10699 mov ax, cx ; 89 c8 10714 call 01749h ; e8 38 a210700 call 01749h ; e8 28 a2 10715 10701 mov byte [bp-008h], al ; 88 46 f8 10716 10702 test AL, strict byte 080h ; a8 80 10717 je short 075 88h ; 74 7010703 je short 07598h ; 74 70 10718 10704 mov al, byte [bp-008h] ; 8a 46 f8 10719 10705 and AL, strict byte 007h ; 24 07 … … 10726 10712 add dx, strict byte 00028h ; 83 c2 28 10727 10713 mov ax, cx ; 89 c8 10728 call 01757h ; e8 22 a210714 call 01757h ; e8 12 a2 10729 10715 mov al, byte [bp-004h] ; 8a 46 fc 10730 10716 cmp al, byte [bp-002h] ; 3a 46 fe 10731 jc short 075 79h ; 72 3c10717 jc short 07589h ; 72 3c 10732 10718 mov dx, strict word 00028h ; ba 28 00 10733 10719 mov ax, cx ; 89 c8 10734 call 01749h ; e8 04 a210720 call 01749h ; e8 f4 a1 10735 10721 xor ah, ah ; 30 e4 10736 10722 mov word [bp+00ch], ax ; 89 46 0c 10737 10723 mov dx, strict word 00029h ; ba 29 00 10738 10724 mov ax, cx ; 89 c8 10739 call 01749h ; e8 f7 a110725 call 01749h ; e8 e7 a1 10740 10726 xor ah, ah ; 30 e4 10741 10727 mov word [bp+00ah], ax ; 89 46 0a 10742 10728 mov dx, strict word 0002ah ; ba 2a 00 10743 10729 mov ax, cx ; 89 c8 10744 call 01749h ; e8 ea a110730 call 01749h ; e8 da a1 10745 10731 xor ah, ah ; 30 e4 10746 10732 mov word [bp+008h], ax ; 89 46 08 … … 10749 10735 mov byte [bp-006h], ah ; 88 66 fa 10750 10736 test byte [bp-008h], 080h ; f6 46 f8 80 10751 je short 075 7ch ; 74 0a10737 je short 0758ch ; 74 0a 10752 10738 mov word [bp+004h], strict word 00001h ; c7 46 04 01 00 10753 jmp short 075 7ch ; eb 0310739 jmp short 0758ch ; eb 03 10754 10740 inc byte [bp-006h] ; fe 46 fa 10755 10741 movzx bx, byte [bp-006h] ; 0f b6 5e fa 10756 10742 mov dx, strict word 00026h ; ba 26 00 10757 10743 mov ax, cx ; 89 c8 10758 call 01757h ; e8 cf a110744 call 01757h ; e8 bf a1 10759 10745 mov sp, bp ; 89 ec 10760 10746 pop bp ; 5d 10761 10747 retn ; c3 10762 loopne 07603h ; e0 75 10763 push si ; 56 10764 jbe short 0756ah ; 76 d9 10765 jbe short 075fdh ; 76 6a 10766 jnbe short 0756dh ; 77 d8 10767 jnbe short 075c3h ; 77 2c 10768 jbe short 07599h ; 76 00 10769 js short 07560h ; 78 c5 10770 db 078h 10771 _int15_function_mouse: ; 0xf759c LB 0x38b 10748 db 0f0h, 075h, 066h, 076h, 0e9h, 076h, 07ah, 077h, 0e8h, 077h, 03ch, 076h, 010h, 078h, 0d5h, 078h 10749 _int15_function_mouse: ; 0xf75ac LB 0x38b 10772 10750 push bp ; 55 10773 10751 mov bp, sp ; 89 e5 … … 10776 10754 mov dx, strict word 0000eh ; ba 0e 00 10777 10755 mov ax, strict word 00040h ; b8 40 00 10778 call 01765h ; e8 b9 a110756 call 01765h ; e8 a9 a1 10779 10757 mov cx, ax ; 89 c1 10780 10758 cmp byte [bp+012h], 007h ; 80 7e 12 07 10781 jbe short 075 bfh ; 76 0b10759 jbe short 075cfh ; 76 0b 10782 10760 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10783 10761 mov byte [bp+013h], 001h ; c6 46 13 01 10784 jmp near 079 21h ; e9 62 0310762 jmp near 07931h ; e9 62 03 10785 10763 mov ax, strict word 00065h ; b8 65 00 10786 call 074 a0h ; e8 db fe10764 call 074b0h ; e8 db fe 10787 10765 and word [bp+018h], strict byte 0fffeh ; 83 66 18 fe 10788 10766 mov byte [bp+013h], 000h ; c6 46 13 00 10789 10767 mov al, byte [bp+012h] ; 8a 46 12 10790 10768 cmp AL, strict byte 007h ; 3c 07 10791 jnbe near 079 08h ; 0f 87 32 0310769 jnbe near 07918h ; 0f 87 32 03 10792 10770 movzx si, al ; 0f b6 f0 10793 10771 add si, si ; 01 f6 10794 jmp word [cs:si+075 8ch] ; 2e ff a4 8c 7510772 jmp word [cs:si+0759ch] ; 2e ff a4 9c 75 10795 10773 cmp byte [bp+00dh], 001h ; 80 7e 0d 01 10796 jnbe near 079 13h ; 0f 87 2b 0310774 jnbe near 07923h ; 0f 87 2b 03 10797 10775 mov dx, strict word 00027h ; ba 27 00 10798 10776 mov ax, cx ; 89 c8 10799 call 01749h ; e8 59 a110777 call 01749h ; e8 49 a1 10800 10778 test AL, strict byte 080h ; a8 80 10801 jne short 07 5ffh ; 75 0b10779 jne short 0760fh ; 75 0b 10802 10780 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10803 10781 mov byte [bp+013h], 005h ; c6 46 13 05 10804 jmp near 079 1bh ; e9 1c 0310782 jmp near 0792bh ; e9 1c 03 10805 10783 cmp byte [bp+00dh], 000h ; 80 7e 0d 00 10806 10784 db 00fh, 094h, 0c0h … … 10808 10786 add AL, strict byte 0f4h ; 04 f4 10809 10787 xor ah, ah ; 30 e4 10810 call 074 10h ; e8 03 fe10788 call 07420h ; e8 03 fe 10811 10789 test al, al ; 84 c0 10812 jne near 078 a1h ; 0f 85 8e 0210790 jne near 078b1h ; 0f 85 8e 02 10813 10791 mov dx, ss ; 8c d2 10814 10792 lea ax, [bp-008h] ; 8d 46 f8 10815 call 074 44h ; e8 29 fe10793 call 07454h ; e8 29 fe 10816 10794 test al, al ; 84 c0 10817 je near 079 1bh ; 0f 84 fa 0210795 je near 0792bh ; 0f 84 fa 02 10818 10796 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10819 jne near 078 a1h ; 0f 85 78 0210820 jmp near 079 1bh ; e9 ef 0210797 jne near 078b1h ; 0f 85 78 02 10798 jmp near 0792bh ; e9 ef 02 10821 10799 mov al, byte [bp+00dh] ; 8a 46 0d 10822 10800 cmp AL, strict byte 001h ; 3c 01 10823 jc short 076 37h ; 72 0410801 jc short 07647h ; 72 04 10824 10802 cmp AL, strict byte 008h ; 3c 08 10825 jbe short 076 3ah ; 76 0310826 jmp near 077 cdh ; e9 93 0110803 jbe short 0764ah ; 76 03 10804 jmp near 077ddh ; e9 93 01 10827 10805 mov dx, strict word 00027h ; ba 27 00 10828 10806 mov ax, cx ; 89 c8 10829 call 01749h ; e8 07 a110807 call 01749h ; e8 f7 a0 10830 10808 mov ah, byte [bp+00dh] ; 8a 66 0d 10831 10809 db 0feh, 0cch … … 10836 10814 mov dx, strict word 00027h ; ba 27 00 10837 10815 mov ax, cx ; 89 c8 10838 call 01757h ; e8 01 a110816 call 01757h ; e8 f1 a0 10839 10817 mov dx, strict word 00026h ; ba 26 00 10840 10818 mov ax, cx ; 89 c8 10841 call 01749h ; e8 eb a010819 call 01749h ; e8 db a0 10842 10820 and AL, strict byte 0f8h ; 24 f8 10843 10821 movzx bx, al ; 0f b6 d8 10844 10822 mov dx, strict word 00026h ; ba 26 00 10845 10823 mov ax, cx ; 89 c8 10846 call 01757h ; e8 ec a010824 call 01757h ; e8 dc a0 10847 10825 mov ax, 000ffh ; b8 ff 00 10848 call 074 10h ; e8 9f fd10826 call 07420h ; e8 9f fd 10849 10827 test al, al ; 84 c0 10850 jne near 078 a1h ; 0f 85 2a 0210828 jne near 078b1h ; 0f 85 2a 02 10851 10829 mov dx, ss ; 8c d2 10852 10830 lea ax, [bp-004h] ; 8d 46 fc 10853 call 074 44h ; e8 c5 fd10831 call 07454h ; e8 c5 fd 10854 10832 mov cl, al ; 88 c1 10855 10833 cmp byte [bp-004h], 0feh ; 80 7e fc fe 10856 jne short 076 92h ; 75 0b10834 jne short 076a2h ; 75 0b 10857 10835 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10858 10836 mov byte [bp+013h], 004h ; c6 46 13 04 10859 jmp near 079 1bh ; e9 89 0210837 jmp near 0792bh ; e9 89 02 10860 10838 cmp byte [bp-004h], 0fah ; 80 7e fc fa 10861 je short 076 a8h ; 74 1010839 je short 076b8h ; 74 10 10862 10840 movzx ax, byte [bp-004h] ; 0f b6 46 fc 10863 10841 push ax ; 50 10864 10842 push 00915h ; 68 15 09 10865 10843 push strict byte 00007h ; 6a 07 10866 call 01a6bh ; e8 c6 a310844 call 01a6bh ; e8 b6 a3 10867 10845 add sp, strict byte 00006h ; 83 c4 06 10868 10846 test cl, cl ; 84 c9 10869 jne near 078 a1h ; 0f 85 f3 0110847 jne near 078b1h ; 0f 85 f3 01 10870 10848 mov dx, ss ; 8c d2 10871 10849 lea ax, [bp-008h] ; 8d 46 f8 10872 call 074 44h ; e8 8e fd10850 call 07454h ; e8 8e fd 10873 10851 test al, al ; 84 c0 10874 jne near 078 a1h ; 0f 85 e5 0110852 jne near 078b1h ; 0f 85 e5 01 10875 10853 mov dx, ss ; 8c d2 10876 10854 lea ax, [bp-006h] ; 8d 46 fa 10877 call 074 44h ; e8 80 fd10855 call 07454h ; e8 80 fd 10878 10856 test al, al ; 84 c0 10879 jne near 078 a1h ; 0f 85 d7 0110857 jne near 078b1h ; 0f 85 d7 01 10880 10858 mov al, byte [bp-008h] ; 8a 46 f8 10881 10859 mov byte [bp+00ch], al ; 88 46 0c 10882 10860 mov al, byte [bp-006h] ; 8a 46 fa 10883 10861 mov byte [bp+00dh], al ; 88 46 0d 10884 jmp near 079 1bh ; e9 42 0210862 jmp near 0792bh ; e9 42 02 10885 10863 mov al, byte [bp+00dh] ; 8a 46 0d 10886 10864 cmp AL, strict byte 003h ; 3c 03 10887 jc short 07 6f0h ; 72 1010888 jbe short 077 0eh ; 76 2c10865 jc short 07700h ; 72 10 10866 jbe short 0771eh ; 76 2c 10889 10867 cmp AL, strict byte 006h ; 3c 06 10890 je short 077 20h ; 74 3a10868 je short 07730h ; 74 3a 10891 10869 cmp AL, strict byte 005h ; 3c 05 10892 je short 077 1ah ; 74 3010870 je short 0772ah ; 74 30 10893 10871 cmp AL, strict byte 004h ; 3c 04 10894 je short 077 14h ; 74 2610895 jmp short 077 26h ; eb 3610872 je short 07724h ; 74 26 10873 jmp short 07736h ; eb 36 10896 10874 cmp AL, strict byte 002h ; 3c 02 10897 je short 077 08h ; 74 1410875 je short 07718h ; 74 14 10898 10876 cmp AL, strict byte 001h ; 3c 01 10899 je short 077 02h ; 74 0a10877 je short 07712h ; 74 0a 10900 10878 test al, al ; 84 c0 10901 jne short 077 26h ; 75 2a10879 jne short 07736h ; 75 2a 10902 10880 mov byte [bp-008h], 00ah ; c6 46 f8 0a 10903 jmp short 077 2ah ; eb 2810881 jmp short 0773ah ; eb 28 10904 10882 mov byte [bp-008h], 014h ; c6 46 f8 14 10905 jmp short 077 2ah ; eb 2210883 jmp short 0773ah ; eb 22 10906 10884 mov byte [bp-008h], 028h ; c6 46 f8 28 10907 jmp short 077 2ah ; eb 1c10885 jmp short 0773ah ; eb 1c 10908 10886 mov byte [bp-008h], 03ch ; c6 46 f8 3c 10909 jmp short 077 2ah ; eb 1610887 jmp short 0773ah ; eb 16 10910 10888 mov byte [bp-008h], 050h ; c6 46 f8 50 10911 jmp short 077 2ah ; eb 1010889 jmp short 0773ah ; eb 10 10912 10890 mov byte [bp-008h], 064h ; c6 46 f8 64 10913 jmp short 077 2ah ; eb 0a10891 jmp short 0773ah ; eb 0a 10914 10892 mov byte [bp-008h], 0c8h ; c6 46 f8 c8 10915 jmp short 077 2ah ; eb 0410893 jmp short 0773ah ; eb 04 10916 10894 mov byte [bp-008h], 000h ; c6 46 f8 00 10917 10895 cmp byte [bp-008h], 000h ; 80 7e f8 00 10918 jbe short 077 5fh ; 76 2f10896 jbe short 0776fh ; 76 2f 10919 10897 mov ax, 000f3h ; b8 f3 00 10920 call 074 10h ; e8 da fc10898 call 07420h ; e8 da fc 10921 10899 test al, al ; 84 c0 10922 jne short 077 54h ; 75 1a10900 jne short 07764h ; 75 1a 10923 10901 mov dx, ss ; 8c d2 10924 10902 lea ax, [bp-006h] ; 8d 46 fa 10925 call 074 44h ; e8 02 fd10903 call 07454h ; e8 02 fd 10926 10904 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10927 call 074 10h ; e8 c7 fc10905 call 07420h ; e8 c7 fc 10928 10906 mov dx, ss ; 8c d2 10929 10907 lea ax, [bp-006h] ; 8d 46 fa 10930 call 074 44h ; e8 f3 fc10931 jmp near 079 1bh ; e9 c7 0110908 call 07454h ; e8 f3 fc 10909 jmp near 0792bh ; e9 c7 01 10932 10910 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10933 10911 mov byte [bp+013h], 003h ; c6 46 13 03 10934 jmp near 079 1bh ; e9 bc 0110912 jmp near 0792bh ; e9 bc 01 10935 10913 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10936 10914 mov byte [bp+013h], 002h ; c6 46 13 02 10937 jmp near 079 1bh ; e9 b1 0110915 jmp near 0792bh ; e9 b1 01 10938 10916 cmp byte [bp+00dh], 004h ; 80 7e 0d 04 10939 jnc short 077 cdh ; 73 5d10917 jnc short 077ddh ; 73 5d 10940 10918 mov ax, 000e8h ; b8 e8 00 10941 call 074 10h ; e8 9a fc10919 call 07420h ; e8 9a fc 10942 10920 test al, al ; 84 c0 10943 jne short 077 c2h ; 75 4810921 jne short 077d2h ; 75 48 10944 10922 mov dx, ss ; 8c d2 10945 10923 lea ax, [bp-008h] ; 8d 46 f8 10946 call 074 44h ; e8 c2 fc10924 call 07454h ; e8 c2 fc 10947 10925 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10948 je short 077 98h ; 74 1010926 je short 077a8h ; 74 10 10949 10927 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10950 10928 push ax ; 50 10951 10929 push 00940h ; 68 40 09 10952 10930 push strict byte 00007h ; 6a 07 10953 call 01a6bh ; e8 d6 a210931 call 01a6bh ; e8 c6 a2 10954 10932 add sp, strict byte 00006h ; 83 c4 06 10955 10933 movzx ax, byte [bp+00dh] ; 0f b6 46 0d 10956 call 074 10h ; e8 71 fc10934 call 07420h ; e8 71 fc 10957 10935 mov dx, ss ; 8c d2 10958 10936 lea ax, [bp-008h] ; 8d 46 f8 10959 call 074 44h ; e8 9d fc10937 call 07454h ; e8 9d fc 10960 10938 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10961 je near 079 1bh ; 0f 84 6c 0110939 je near 0792bh ; 0f 84 6c 01 10962 10940 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10963 10941 push ax ; 50 10964 10942 push 00940h ; 68 40 09 10965 10943 push strict byte 00007h ; 6a 07 10966 call 01a6bh ; e8 af a210944 call 01a6bh ; e8 9f a2 10967 10945 add sp, strict byte 00006h ; 83 c4 06 10968 jmp near 079 1bh ; e9 59 0110946 jmp near 0792bh ; e9 59 01 10969 10947 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10970 10948 mov byte [bp+013h], 003h ; c6 46 13 03 10971 jmp near 079 1bh ; e9 4e 0110949 jmp near 0792bh ; e9 4e 01 10972 10950 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10973 10951 mov byte [bp+013h], 002h ; c6 46 13 02 10974 jmp near 079 1bh ; e9 43 0110952 jmp near 0792bh ; e9 43 01 10975 10953 mov ax, 000f2h ; b8 f2 00 10976 call 074 10h ; e8 32 fc10954 call 07420h ; e8 32 fc 10977 10955 test al, al ; 84 c0 10978 jne short 07 7f5h ; 75 1310956 jne short 07805h ; 75 13 10979 10957 mov dx, ss ; 8c d2 10980 10958 lea ax, [bp-008h] ; 8d 46 f8 10981 call 074 44h ; e8 5a fc10959 call 07454h ; e8 5a fc 10982 10960 mov dx, ss ; 8c d2 10983 10961 lea ax, [bp-006h] ; 8d 46 fa 10984 call 074 44h ; e8 52 fc10985 jmp near 076 d0h ; e9 db fe10962 call 07454h ; e8 52 fc 10963 jmp near 076e0h ; e9 db fe 10986 10964 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10987 10965 mov byte [bp+013h], 003h ; c6 46 13 03 10988 jmp near 079 1bh ; e9 1b 0110966 jmp near 0792bh ; e9 1b 01 10989 10967 mov al, byte [bp+00dh] ; 8a 46 0d 10990 10968 test al, al ; 84 c0 10991 jbe short 078 0eh ; 76 0710969 jbe short 0781eh ; 76 07 10992 10970 cmp AL, strict byte 002h ; 3c 02 10993 jbe short 078 77h ; 76 6c10994 jmp near 078 abh ; e9 9d 0010971 jbe short 07887h ; 76 6c 10972 jmp near 078bbh ; e9 9d 00 10995 10973 mov ax, 000e9h ; b8 e9 00 10996 call 074 10h ; e8 fc fb10974 call 07420h ; e8 fc fb 10997 10975 test al, al ; 84 c0 10998 jne near 078 a1h ; 0f 85 87 0010976 jne near 078b1h ; 0f 85 87 00 10999 10977 mov dx, ss ; 8c d2 11000 10978 lea ax, [bp-008h] ; 8d 46 f8 11001 call 074 44h ; e8 22 fc10979 call 07454h ; e8 22 fc 11002 10980 mov cl, al ; 88 c1 11003 10981 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11004 je short 078 3ah ; 74 1010982 je short 0784ah ; 74 10 11005 10983 movzx ax, byte [bp-008h] ; 0f b6 46 f8 11006 10984 push ax ; 50 11007 10985 push 00940h ; 68 40 09 11008 10986 push strict byte 00007h ; 6a 07 11009 call 01a6bh ; e8 34 a210987 call 01a6bh ; e8 24 a2 11010 10988 add sp, strict byte 00006h ; 83 c4 06 11011 10989 test cl, cl ; 84 c9 11012 jne short 078 a1h ; 75 6310990 jne short 078b1h ; 75 63 11013 10991 mov dx, ss ; 8c d2 11014 10992 lea ax, [bp-008h] ; 8d 46 f8 11015 call 074 44h ; e8 fe fb10993 call 07454h ; e8 fe fb 11016 10994 test al, al ; 84 c0 11017 jne short 078 a1h ; 75 5710995 jne short 078b1h ; 75 57 11018 10996 mov dx, ss ; 8c d2 11019 10997 lea ax, [bp-006h] ; 8d 46 fa 11020 call 074 44h ; e8 f2 fb10998 call 07454h ; e8 f2 fb 11021 10999 test al, al ; 84 c0 11022 jne short 078 a1h ; 75 4b11000 jne short 078b1h ; 75 4b 11023 11001 mov dx, ss ; 8c d2 11024 11002 lea ax, [bp-004h] ; 8d 46 fc 11025 call 074 44h ; e8 e6 fb11003 call 07454h ; e8 e6 fb 11026 11004 test al, al ; 84 c0 11027 jne short 078 a1h ; 75 3f11005 jne short 078b1h ; 75 3f 11028 11006 mov al, byte [bp-008h] ; 8a 46 f8 11029 11007 mov byte [bp+00ch], al ; 88 46 0c … … 11032 11010 mov al, byte [bp-004h] ; 8a 46 fc 11033 11011 mov byte [bp+00eh], al ; 88 46 0e 11034 jmp near 079 1bh ; e9 a4 0011012 jmp near 0792bh ; e9 a4 00 11035 11013 cmp AL, strict byte 001h ; 3c 01 11036 jne short 078 80h ; 75 0511014 jne short 07890h ; 75 05 11037 11015 mov ax, 000e6h ; b8 e6 00 11038 jmp short 078 83h ; eb 0311016 jmp short 07893h ; eb 03 11039 11017 mov ax, 000e7h ; b8 e7 00 11040 call 074 10h ; e8 8a fb11018 call 07420h ; e8 8a fb 11041 11019 mov cl, al ; 88 c1 11042 11020 test cl, cl ; 84 c9 11043 jne short 078 9bh ; 75 0f11021 jne short 078abh ; 75 0f 11044 11022 mov dx, ss ; 8c d2 11045 11023 lea ax, [bp-008h] ; 8d 46 f8 11046 call 074 44h ; e8 b0 fb11024 call 07454h ; e8 b0 fb 11047 11025 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11048 11026 db 00fh, 095h, 0c1h 11049 11027 ; setne cl ; 0f 95 c1 11050 11028 test cl, cl ; 84 c9 11051 je near 079 1bh ; 0f 84 7a 0011029 je near 0792bh ; 0f 84 7a 00 11052 11030 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11053 11031 mov byte [bp+013h], 003h ; c6 46 13 03 11054 jmp short 079 1bh ; eb 7011032 jmp short 0792bh ; eb 70 11055 11033 movzx ax, byte [bp+00dh] ; 0f b6 46 0d 11056 11034 push ax ; 50 11057 11035 push 0096ch ; 68 6c 09 11058 11036 push strict byte 00007h ; 6a 07 11059 call 01a6bh ; e8 b3 a111037 call 01a6bh ; e8 a3 a1 11060 11038 add sp, strict byte 00006h ; 83 c4 06 11061 11039 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11062 11040 mov byte [bp+013h], 001h ; c6 46 13 01 11063 jmp short 079 1bh ; eb 5611041 jmp short 0792bh ; eb 56 11064 11042 mov si, word [bp+00ch] ; 8b 76 0c 11065 11043 mov bx, si ; 89 f3 11066 11044 mov dx, strict word 00022h ; ba 22 00 11067 11045 mov ax, cx ; 89 c8 11068 call 01773h ; e8 a1 9e11046 call 01773h ; e8 91 9e 11069 11047 mov bx, word [bp+014h] ; 8b 5e 14 11070 11048 mov dx, strict word 00024h ; ba 24 00 11071 11049 mov ax, cx ; 89 c8 11072 call 01773h ; e8 96 9e11050 call 01773h ; e8 86 9e 11073 11051 mov dx, strict word 00027h ; ba 27 00 11074 11052 mov ax, cx ; 89 c8 11075 call 01749h ; e8 64 9e11053 call 01749h ; e8 54 9e 11076 11054 mov ah, al ; 88 c4 11077 11055 test si, si ; 85 f6 11078 jne short 07 8f9h ; 75 0e11056 jne short 07909h ; 75 0e 11079 11057 cmp word [bp+014h], strict byte 00000h ; 83 7e 14 00 11080 jne short 07 8f9h ; 75 0811058 jne short 07909h ; 75 08 11081 11059 test AL, strict byte 080h ; a8 80 11082 je short 07 8fbh ; 74 0611060 je short 0790bh ; 74 06 11083 11061 and AL, strict byte 07fh ; 24 7f 11084 jmp short 07 8fbh ; eb 0211062 jmp short 0790bh ; eb 02 11085 11063 or AL, strict byte 080h ; 0c 80 11086 11064 movzx bx, al ; 0f b6 d8 11087 11065 mov dx, strict word 00027h ; ba 27 00 11088 11066 mov ax, cx ; 89 c8 11089 call 01757h ; e8 51 9e11090 jmp short 079 1bh ; eb 1311067 call 01757h ; e8 41 9e 11068 jmp short 0792bh ; eb 13 11091 11069 push 00986h ; 68 86 09 11092 11070 push strict byte 00007h ; 6a 07 11093 call 01a6bh ; e8 5b a111071 call 01a6bh ; e8 4b a1 11094 11072 add sp, strict byte 00004h ; 83 c4 04 11095 11073 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11096 11074 mov byte [bp+013h], 001h ; c6 46 13 01 11097 11075 mov ax, strict word 00047h ; b8 47 00 11098 call 074 a0h ; e8 7f fb11076 call 074b0h ; e8 7f fb 11099 11077 lea sp, [bp-002h] ; 8d 66 fe 11100 11078 pop si ; 5e 11101 11079 pop bp ; 5d 11102 11080 retn ; c3 11103 _int17_function: ; 0xf79 27 LB 0xb311081 _int17_function: ; 0xf7937 LB 0xb3 11104 11082 push bp ; 55 11105 11083 mov bp, sp ; 89 e5 … … 11111 11089 add dx, strict byte 00008h ; 83 c2 08 11112 11090 mov ax, strict word 00040h ; b8 40 00 11113 call 01765h ; e8 2a 9e11091 call 01765h ; e8 1a 9e 11114 11092 mov bx, ax ; 89 c3 11115 11093 mov si, ax ; 89 c6 11116 11094 cmp byte [bp+013h], 003h ; 80 7e 13 03 11117 jnc near 079 d0h ; 0f 83 89 0011095 jnc near 079e0h ; 0f 83 89 00 11118 11096 mov ax, word [bp+00eh] ; 8b 46 0e 11119 11097 cmp ax, strict word 00003h ; 3d 03 00 11120 jnc near 079 d0h ; 0f 83 7f 0011098 jnc near 079e0h ; 0f 83 7f 00 11121 11099 test bx, bx ; 85 db 11122 jbe near 079 d0h ; 0f 86 79 0011100 jbe near 079e0h ; 0f 86 79 00 11123 11101 mov dx, ax ; 89 c2 11124 11102 add dx, strict byte 00078h ; 83 c2 78 11125 11103 mov ax, strict word 00040h ; b8 40 00 11126 call 01749h ; e8 e7 9d11104 call 01749h ; e8 d7 9d 11127 11105 movzx cx, al ; 0f b6 c8 11128 11106 sal cx, 008h ; c1 e1 08 11129 11107 cmp byte [bp+013h], 000h ; 80 7e 13 00 11130 jne short 079 9bh ; 75 2d11108 jne short 079abh ; 75 2d 11131 11109 mov al, byte [bp+012h] ; 8a 46 12 11132 11110 mov dx, bx ; 89 da … … 11148 11126 ; sub ah, ah ; 2a e4 11149 11127 test AL, strict byte 040h ; a8 40 11150 je short 079 9bh ; 74 0711128 je short 079abh ; 74 07 11151 11129 test cx, cx ; 85 c9 11152 je short 079 9bh ; 74 0311130 je short 079abh ; 74 03 11153 11131 dec cx ; 49 11154 jmp short 079 8ah ; eb ef11132 jmp short 0799ah ; eb ef 11155 11133 cmp byte [bp+013h], 001h ; 80 7e 13 01 11156 jne short 079 b7h ; 75 1611134 jne short 079c7h ; 75 16 11157 11135 lea dx, [si+002h] ; 8d 54 02 11158 11136 in AL, DX ; ec … … 11173 11151 mov byte [bp+013h], al ; 88 46 13 11174 11152 test cx, cx ; 85 c9 11175 jne short 079 cah ; 75 0411153 jne short 079dah ; 75 04 11176 11154 or byte [bp+013h], 001h ; 80 4e 13 01 11177 11155 and byte [bp+01ch], 0feh ; 80 66 1c fe 11178 jmp short 079 d4h ; eb 0411156 jmp short 079e4h ; eb 04 11179 11157 or byte [bp+01ch], 001h ; 80 4e 1c 01 11180 11158 lea sp, [bp-002h] ; 8d 66 fe … … 11182 11160 pop bp ; 5d 11183 11161 retn ; c3 11184 wait_: ; 0xf79 da LB 0xb211162 wait_: ; 0xf79ea LB 0xb2 11185 11163 push bp ; 55 11186 11164 mov bp, sp ; 89 e5 … … 11200 11178 mov dx, 0046ch ; ba 6c 04 11201 11179 xor ax, ax ; 31 c0 11202 call 01781h ; e8 84 9d11180 call 01781h ; e8 74 9d 11203 11181 mov word [bp-00eh], ax ; 89 46 f2 11204 11182 mov bx, dx ; 89 d3 … … 11206 11184 mov dx, 0046ch ; ba 6c 04 11207 11185 xor ax, ax ; 31 c0 11208 call 01781h ; e8 76 9d11186 call 01781h ; e8 66 9d 11209 11187 mov word [bp-012h], ax ; 89 46 ee 11210 11188 mov di, dx ; 89 d7 11211 11189 cmp dx, bx ; 39 da 11212 jnbe short 07a 1bh ; 77 0711213 jne short 07a 22h ; 75 0c11190 jnbe short 07a2bh ; 77 07 11191 jne short 07a32h ; 75 0c 11214 11192 cmp ax, word [bp-00eh] ; 3b 46 f2 11215 jbe short 07a 22h ; 76 0711193 jbe short 07a32h ; 76 07 11216 11194 sub ax, word [bp-00eh] ; 2b 46 f2 11217 11195 sbb dx, bx ; 19 da 11218 jmp short 07a 2dh ; eb 0b11196 jmp short 07a3dh ; eb 0b 11219 11197 cmp dx, bx ; 39 da 11220 jc short 07a 2dh ; 72 0711221 jne short 07a 31h ; 75 0911198 jc short 07a3dh ; 72 07 11199 jne short 07a41h ; 75 09 11222 11200 cmp ax, word [bp-00eh] ; 3b 46 f2 11223 jnc short 07a 31h ; 73 0411201 jnc short 07a41h ; 73 04 11224 11202 sub si, ax ; 29 c6 11225 11203 sbb cx, dx ; 19 d1 … … 11229 11207 mov ax, 00100h ; b8 00 01 11230 11208 int 016h ; cd 16 11231 je near 07a 47h ; 0f 84 05 0011209 je near 07a57h ; 0f 84 05 00 11232 11210 mov AL, strict byte 001h ; b0 01 11233 jmp near 07a 49h ; e9 02 0011211 jmp near 07a59h ; e9 02 00 11234 11212 db 032h, 0c0h 11235 11213 ; xor al, al ; 32 c0 11236 11214 test al, al ; 84 c0 11237 je short 07a 71h ; 74 2411215 je short 07a81h ; 74 24 11238 11216 db 033h, 0c0h 11239 11217 ; xor ax, ax ; 33 c0 … … 11246 11224 push 009a8h ; 68 a8 09 11247 11225 push strict byte 00004h ; 6a 04 11248 call 01a6bh ; e8 07 a011226 call 01a6bh ; e8 f7 9f 11249 11227 add sp, strict byte 00006h ; 83 c4 06 11250 11228 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11251 je short 07a 71h ; 74 0411229 je short 07a81h ; 74 04 11252 11230 mov al, dl ; 88 d0 11253 jmp short 07a 83h ; eb 1211231 jmp short 07a93h ; eb 12 11254 11232 test cx, cx ; 85 c9 11255 jnle short 07a 02h ; 7f 8d11256 jne short 07a 7bh ; 75 0411233 jnle short 07a12h ; 7f 8d 11234 jne short 07a8bh ; 75 04 11257 11235 test si, si ; 85 f6 11258 jnbe short 07a 02h ; 77 8711236 jnbe short 07a12h ; 77 87 11259 11237 mov ax, word [bp-010h] ; 8b 46 f0 11260 11238 push ax ; 50 … … 11268 11246 pop bp ; 5d 11269 11247 retn ; c3 11270 read_logo_byte_: ; 0xf7a 8c LB 0x1611248 read_logo_byte_: ; 0xf7a9c LB 0x16 11271 11249 push bp ; 55 11272 11250 mov bp, sp ; 89 e5 … … 11283 11261 pop bp ; 5d 11284 11262 retn ; c3 11285 read_logo_word_: ; 0xf7a a2 LB 0x1411263 read_logo_word_: ; 0xf7ab2 LB 0x14 11286 11264 push bp ; 55 11287 11265 mov bp, sp ; 89 e5 … … 11296 11274 pop bp ; 5d 11297 11275 retn ; c3 11298 print_detected_harddisks_: ; 0xf7a b6 LB 0x13011276 print_detected_harddisks_: ; 0xf7ac6 LB 0x130 11299 11277 push bp ; 55 11300 11278 mov bp, sp ; 89 e5 … … 11308 11286 mov dx, strict word 0000eh ; ba 0e 00 11309 11287 mov ax, strict word 00040h ; b8 40 00 11310 call 01765h ; e8 9c 9c11288 call 01765h ; e8 8c 9c 11311 11289 mov si, ax ; 89 c6 11312 11290 mov byte [bp-00ch], 000h ; c6 46 f4 00 … … 11314 11292 xor ch, ch ; 30 ed 11315 11293 mov dx, 00304h ; ba 04 03 11316 call 01749h ; e8 70 9c11294 call 01749h ; e8 60 9c 11317 11295 mov byte [bp-00eh], al ; 88 46 f2 11318 11296 xor bl, bl ; 30 db 11319 11297 cmp bl, byte [bp-00eh] ; 3a 5e f2 11320 jnc near 07b b8h ; 0f 83 d3 0011298 jnc near 07bc8h ; 0f 83 d3 00 11321 11299 movzx dx, bl ; 0f b6 d3 11322 11300 add dx, 00305h ; 81 c2 05 03 11323 11301 mov ax, si ; 89 f0 11324 call 01749h ; e8 58 9c11302 call 01749h ; e8 48 9c 11325 11303 mov bh, al ; 88 c7 11326 11304 cmp AL, strict byte 00ch ; 3c 0c 11327 jc short 07b 1bh ; 72 2411305 jc short 07b2bh ; 72 24 11328 11306 test cl, cl ; 84 c9 11329 jne short 07b 08h ; 75 0d11307 jne short 07b18h ; 75 0d 11330 11308 push 009b9h ; 68 b9 09 11331 11309 push strict byte 00002h ; 6a 02 11332 call 01a6bh ; e8 68 9f11310 call 01a6bh ; e8 58 9f 11333 11311 add sp, strict byte 00004h ; 83 c4 04 11334 11312 mov CL, strict byte 001h ; b1 01 … … 11338 11316 push 009ceh ; 68 ce 09 11339 11317 push strict byte 00002h ; 6a 02 11340 call 01a6bh ; e8 56 9f11318 call 01a6bh ; e8 46 9f 11341 11319 add sp, strict byte 00006h ; 83 c4 06 11342 jmp near 07b b3h ; e9 98 0011320 jmp near 07bc3h ; e9 98 00 11343 11321 cmp AL, strict byte 008h ; 3c 08 11344 jc short 07b 32h ; 72 1311322 jc short 07b42h ; 72 13 11345 11323 test ch, ch ; 84 ed 11346 jne short 07b 30h ; 75 0d11324 jne short 07b40h ; 75 0d 11347 11325 push 009e1h ; 68 e1 09 11348 11326 push strict byte 00002h ; 6a 02 11349 call 01a6bh ; e8 40 9f11327 call 01a6bh ; e8 30 9f 11350 11328 add sp, strict byte 00004h ; 83 c4 04 11351 11329 mov CH, strict byte 001h ; b5 01 11352 jmp short 07b 08h ; eb d611330 jmp short 07b18h ; eb d6 11353 11331 cmp AL, strict byte 004h ; 3c 04 11354 jnc short 07b 4dh ; 73 1711332 jnc short 07b5dh ; 73 17 11355 11333 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11356 jne short 07b 4dh ; 75 1111334 jne short 07b5dh ; 75 11 11357 11335 push 009f6h ; 68 f6 09 11358 11336 push strict byte 00002h ; 6a 02 11359 call 01a6bh ; e8 27 9f11337 call 01a6bh ; e8 17 9f 11360 11338 add sp, strict byte 00004h ; 83 c4 04 11361 11339 mov byte [bp-00ch], 001h ; c6 46 f4 01 11362 jmp short 07b 63h ; eb 1611340 jmp short 07b73h ; eb 16 11363 11341 cmp bh, 004h ; 80 ff 04 11364 jc short 07b 63h ; 72 1111342 jc short 07b73h ; 72 11 11365 11343 test cl, cl ; 84 c9 11366 jne short 07b 63h ; 75 0d11344 jne short 07b73h ; 75 0d 11367 11345 push 00a08h ; 68 08 0a 11368 11346 push strict byte 00002h ; 6a 02 11369 call 01a6bh ; e8 0d 9f11347 call 01a6bh ; e8 fd 9e 11370 11348 add sp, strict byte 00004h ; 83 c4 04 11371 11349 mov CL, strict byte 001h ; b1 01 … … 11375 11353 push 00a1ch ; 68 1c 0a 11376 11354 push strict byte 00002h ; 6a 02 11377 call 01a6bh ; e8 fb 9e11355 call 01a6bh ; e8 eb 9e 11378 11356 add sp, strict byte 00006h ; 83 c4 06 11379 11357 cmp bh, 004h ; 80 ff 04 11380 jc short 07b 7bh ; 72 0311358 jc short 07b8bh ; 72 03 11381 11359 sub bh, 004h ; 80 ef 04 11382 11360 movzx ax, bh ; 0f b6 c7 … … 11386 11364 sar ax, 1 ; d1 f8 11387 11365 test ax, ax ; 85 c0 11388 je short 07b 8ch ; 74 0511366 je short 07b9ch ; 74 05 11389 11367 push 00a26h ; 68 26 0a 11390 jmp short 07b 8fh ; eb 0311368 jmp short 07b9fh ; eb 03 11391 11369 push 00a31h ; 68 31 0a 11392 11370 push strict byte 00002h ; 6a 02 11393 call 01a6bh ; e8 d7 9e11371 call 01a6bh ; e8 c7 9e 11394 11372 add sp, strict byte 00004h ; 83 c4 04 11395 11373 movzx ax, bh ; 0f b6 c7 … … 11398 11376 idiv di ; f7 ff 11399 11377 test dx, dx ; 85 d2 11400 je short 07b a9h ; 74 0511378 je short 07bb9h ; 74 05 11401 11379 push 00a3ah ; 68 3a 0a 11402 jmp short 07b ach ; eb 0311380 jmp short 07bbch ; eb 03 11403 11381 push 00a40h ; 68 40 0a 11404 11382 push di ; 57 11405 call 01a6bh ; e8 bb 9e11383 call 01a6bh ; e8 ab 9e 11406 11384 add sp, strict byte 00004h ; 83 c4 04 11407 11385 db 0feh, 0c3h 11408 11386 ; inc bl ; fe c3 11409 jmp near 07a deh ; e9 26 ff11387 jmp near 07aeeh ; e9 26 ff 11410 11388 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11411 jne short 07b d1h ; 75 1311389 jne short 07be1h ; 75 13 11412 11390 test cl, cl ; 84 c9 11413 jne short 07b d1h ; 75 0f11391 jne short 07be1h ; 75 0f 11414 11392 test ch, ch ; 84 ed 11415 jne short 07b d1h ; 75 0b11393 jne short 07be1h ; 75 0b 11416 11394 push 00a47h ; 68 47 0a 11417 11395 push strict byte 00002h ; 6a 02 11418 call 01a6bh ; e8 9d 9e11396 call 01a6bh ; e8 8d 9e 11419 11397 add sp, strict byte 00004h ; 83 c4 04 11420 11398 push 00a5bh ; 68 5b 0a 11421 11399 push strict byte 00002h ; 6a 02 11422 call 01a6bh ; e8 92 9e11400 call 01a6bh ; e8 82 9e 11423 11401 add sp, strict byte 00004h ; 83 c4 04 11424 11402 lea sp, [bp-00ah] ; 8d 66 f6 … … 11430 11408 pop bp ; 5d 11431 11409 retn ; c3 11432 get_boot_drive_: ; 0xf7b e6 LB 0x2811410 get_boot_drive_: ; 0xf7bf6 LB 0x28 11433 11411 push bp ; 55 11434 11412 mov bp, sp ; 89 e5 … … 11438 11416 mov dx, strict word 0000eh ; ba 0e 00 11439 11417 mov ax, strict word 00040h ; b8 40 00 11440 call 01765h ; e8 6f 9b11418 call 01765h ; e8 5f 9b 11441 11419 mov dx, 00304h ; ba 04 03 11442 call 01749h ; e8 4d 9b11420 call 01749h ; e8 3d 9b 11443 11421 sub bl, 002h ; 80 eb 02 11444 11422 cmp bl, al ; 38 c3 11445 jc short 07c 05h ; 72 0211423 jc short 07c15h ; 72 02 11446 11424 mov BL, strict byte 0ffh ; b3 ff 11447 11425 mov al, bl ; 88 d8 … … 11451 11429 pop bp ; 5d 11452 11430 retn ; c3 11453 show_logo_: ; 0xf7c 0e LB 0x23111431 show_logo_: ; 0xf7c1e LB 0x231 11454 11432 push bp ; 55 11455 11433 mov bp, sp ; 89 e5 … … 11462 11440 mov dx, strict word 0000eh ; ba 0e 00 11463 11441 mov ax, strict word 00040h ; b8 40 00 11464 call 01765h ; e8 43 9b11442 call 01765h ; e8 33 9b 11465 11443 mov si, ax ; 89 c6 11466 11444 xor cl, cl ; 30 c9 … … 11473 11451 out strict byte 040h, AL ; e6 40 11474 11452 movzx ax, dl ; 0f b6 c2 11475 call 07a a2h ; e8 68 fe11453 call 07ab2h ; e8 68 fe 11476 11454 cmp ax, 066bbh ; 3d bb 66 11477 jne near 07d 1fh ; 0f 85 de 0011455 jne near 07d2fh ; 0f 85 de 00 11478 11456 push SS ; 16 11479 11457 pop ES ; 07 … … 11483 11461 mov word [es:di], bx ; 26 89 1d 11484 11462 cmp ax, strict word 0004fh ; 3d 4f 00 11485 jne near 07d 1fh ; 0f 85 ca 0011463 jne near 07d2fh ; 0f 85 ca 00 11486 11464 mov al, dl ; 88 d0 11487 11465 add AL, strict byte 004h ; 04 04 11488 11466 xor ah, ah ; 30 e4 11489 call 07a 8ch ; e8 2e fe11467 call 07a9ch ; e8 2e fe 11490 11468 mov ch, al ; 88 c5 11491 11469 mov byte [bp-00ch], al ; 88 46 f4 … … 11493 11471 add AL, strict byte 005h ; 04 05 11494 11472 xor ah, ah ; 30 e4 11495 call 07a 8ch ; e8 20 fe11473 call 07a9ch ; e8 20 fe 11496 11474 mov dh, al ; 88 c6 11497 11475 mov byte [bp-010h], al ; 88 46 f0 … … 11499 11477 add AL, strict byte 002h ; 04 02 11500 11478 xor ah, ah ; 30 e4 11501 call 07a a2h ; e8 28 fe11479 call 07ab2h ; e8 28 fe 11502 11480 mov bx, ax ; 89 c3 11503 11481 mov word [bp-014h], ax ; 89 46 ec … … 11505 11483 add AL, strict byte 006h ; 04 06 11506 11484 xor ah, ah ; 30 e4 11507 call 07a 8ch ; e8 04 fe11485 call 07a9ch ; e8 04 fe 11508 11486 mov byte [bp-012h], al ; 88 46 ee 11509 11487 test ch, ch ; 84 ed 11510 jne short 07c 99h ; 75 0a11488 jne short 07ca9h ; 75 0a 11511 11489 test dh, dh ; 84 f6 11512 jne short 07c 99h ; 75 0611490 jne short 07ca9h ; 75 06 11513 11491 test bx, bx ; 85 db 11514 je near 07d 1fh ; 0f 84 86 0011492 je near 07d2fh ; 0f 84 86 00 11515 11493 mov bx, 00142h ; bb 42 01 11516 11494 mov ax, 04f02h ; b8 02 4f 11517 11495 int 010h ; cd 10 11518 11496 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11519 je short 07c cah ; 74 2311497 je short 07cdah ; 74 23 11520 11498 xor bx, bx ; 31 db 11521 jmp short 07c b1h ; eb 0611499 jmp short 07cc1h ; eb 06 11522 11500 inc bx ; 43 11523 11501 cmp bx, strict byte 00010h ; 83 fb 10 11524 jnbe short 07c d1h ; 77 2011502 jnbe short 07ce1h ; 77 20 11525 11503 mov ax, bx ; 89 d8 11526 11504 or ah, 002h ; 80 cc 02 … … 11529 11507 xor dx, dx ; 31 d2 11530 11508 mov ax, strict word 00001h ; b8 01 00 11531 call 079 dah ; e8 18 fd11509 call 079eah ; e8 18 fd 11532 11510 cmp AL, strict byte 086h ; 3c 86 11533 jne short 07c abh ; 75 e511511 jne short 07cbbh ; 75 e5 11534 11512 mov CL, strict byte 001h ; b1 01 11535 jmp short 07c d1h ; eb 0711513 jmp short 07ce1h ; eb 07 11536 11514 mov ax, 00210h ; b8 10 02 11537 11515 mov dx, 003b8h ; ba b8 03 11538 11516 out DX, ax ; ef 11539 11517 test cl, cl ; 84 c9 11540 jne short 07c e7h ; 75 1211518 jne short 07cf7h ; 75 12 11541 11519 mov ax, word [bp-014h] ; 8b 46 ec 11542 11520 shr ax, 004h ; c1 e8 04 11543 11521 mov dx, strict word 00001h ; ba 01 00 11544 call 079 dah ; e8 f9 fc11522 call 079eah ; e8 f9 fc 11545 11523 cmp AL, strict byte 086h ; 3c 86 11546 jne short 07c e7h ; 75 0211524 jne short 07cf7h ; 75 02 11547 11525 mov CL, strict byte 001h ; b1 01 11548 11526 cmp byte [bp-010h], 000h ; 80 7e f0 00 11549 je short 07d 14h ; 74 2711527 je short 07d24h ; 74 27 11550 11528 test cl, cl ; 84 c9 11551 jne short 07d 14h ; 75 2311529 jne short 07d24h ; 75 23 11552 11530 mov bx, strict word 00010h ; bb 10 00 11553 jmp short 07 cfbh ; eb 0511531 jmp short 07d0bh ; eb 05 11554 11532 dec bx ; 4b 11555 11533 test bx, bx ; 85 db 11556 jbe short 07d 1fh ; 76 2411534 jbe short 07d2fh ; 76 24 11557 11535 mov ax, bx ; 89 d8 11558 11536 or ah, 002h ; 80 cc 02 … … 11561 11539 xor dx, dx ; 31 d2 11562 11540 mov ax, strict word 00001h ; b8 01 00 11563 call 079 dah ; e8 ce fc11541 call 079eah ; e8 ce fc 11564 11542 cmp AL, strict byte 086h ; 3c 86 11565 jne short 07 cf6h ; 75 e611543 jne short 07d06h ; 75 e6 11566 11544 mov CL, strict byte 001h ; b1 01 11567 jmp short 07d 1fh ; eb 0b11545 jmp short 07d2fh ; eb 0b 11568 11546 test cl, cl ; 84 c9 11569 jne short 07d 1fh ; 75 0711547 jne short 07d2fh ; 75 07 11570 11548 mov ax, 00200h ; b8 00 02 11571 11549 mov dx, 003b8h ; ba b8 03 … … 11574 11552 mov dx, 0037dh ; ba 7d 03 11575 11553 mov ax, si ; 89 f0 11576 call 01757h ; e8 2e 9a11554 call 01757h ; e8 1e 9a 11577 11555 mov AL, strict byte 003h ; b0 03 11578 11556 mov AH, strict byte 000h ; b4 00 11579 11557 int 010h ; cd 10 11580 11558 cmp byte [bp-012h], 000h ; 80 7e ee 00 11581 je near 07e 20h ; 0f 84 e9 0011559 je near 07e30h ; 0f 84 e9 00 11582 11560 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11583 jne short 07d 6dh ; 75 3011561 jne short 07d7dh ; 75 30 11584 11562 cmp byte [bp-010h], 000h ; 80 7e f0 00 11585 jne short 07d 6dh ; 75 2a11563 jne short 07d7dh ; 75 2a 11586 11564 cmp word [bp-014h], strict byte 00000h ; 83 7e ec 00 11587 jne short 07d 6dh ; 75 2411565 jne short 07d7dh ; 75 24 11588 11566 cmp byte [bp-012h], 002h ; 80 7e ee 02 11589 jne short 07d 5ah ; 75 0b11567 jne short 07d6ah ; 75 0b 11590 11568 push 00a5dh ; 68 5d 0a 11591 11569 push strict byte 00002h ; 6a 02 11592 call 01a6bh ; e8 14 9d11570 call 01a6bh ; e8 04 9d 11593 11571 add sp, strict byte 00004h ; 83 c4 04 11594 11572 test cl, cl ; 84 c9 11595 jne short 07d 6dh ; 75 0f11573 jne short 07d7dh ; 75 0f 11596 11574 mov dx, strict word 00001h ; ba 01 00 11597 11575 mov ax, 000c0h ; b8 c0 00 11598 call 079 dah ; e8 73 fc11576 call 079eah ; e8 73 fc 11599 11577 cmp AL, strict byte 086h ; 3c 86 11600 jne short 07d 6dh ; 75 0211578 jne short 07d7dh ; 75 02 11601 11579 mov CL, strict byte 001h ; b1 01 11602 11580 test cl, cl ; 84 c9 11603 je near 07e 20h ; 0f 84 ad 0011581 je near 07e30h ; 0f 84 ad 00 11604 11582 mov byte [bp-00eh], 000h ; c6 46 f2 00 11605 11583 mov ax, 00100h ; b8 00 01 … … 11620 11598 push 00a7fh ; 68 7f 0a 11621 11599 push strict byte 00002h ; 6a 02 11622 call 01a6bh ; e8 cf 9c11600 call 01a6bh ; e8 bf 9c 11623 11601 add sp, strict byte 00004h ; 83 c4 04 11624 call 07a b6h ; e8 14 fd11602 call 07ac6h ; e8 14 fd 11625 11603 push 00ac3h ; 68 c3 0a 11626 11604 push strict byte 00002h ; 6a 02 11627 call 01a6bh ; e8 c1 9c11605 call 01a6bh ; e8 b1 9c 11628 11606 add sp, strict byte 00004h ; 83 c4 04 11629 11607 mov dx, strict word 00001h ; ba 01 00 11630 11608 mov ax, strict word 00040h ; b8 40 00 11631 call 079 dah ; e8 24 fc11609 call 079eah ; e8 24 fc 11632 11610 mov bl, al ; 88 c3 11633 11611 test al, al ; 84 c0 11634 je short 07d adh ; 74 f111612 je short 07dbdh ; 74 f1 11635 11613 cmp AL, strict byte 030h ; 3c 30 11636 je short 07e 0eh ; 74 4e11614 je short 07e1eh ; 74 4e 11637 11615 cmp bl, 002h ; 80 fb 02 11638 jc short 07d e7h ; 72 2211616 jc short 07df7h ; 72 22 11639 11617 cmp bl, 009h ; 80 fb 09 11640 jnbe short 07d e7h ; 77 1d11618 jnbe short 07df7h ; 77 1d 11641 11619 movzx ax, bl ; 0f b6 c3 11642 call 07b e6h ; e8 16 fe11620 call 07bf6h ; e8 16 fe 11643 11621 cmp AL, strict byte 0ffh ; 3c ff 11644 jne short 07d d6h ; 75 0211645 jmp short 07d adh ; eb d711622 jne short 07de6h ; 75 02 11623 jmp short 07dbdh ; eb d7 11646 11624 movzx bx, al ; 0f b6 d8 11647 11625 mov dx, 0037ch ; ba 7c 03 11648 11626 mov ax, si ; 89 f0 11649 call 01757h ; e8 76 9911627 call 01757h ; e8 66 99 11650 11628 mov byte [bp-00eh], 002h ; c6 46 f2 02 11651 jmp short 07e 0eh ; eb 2711629 jmp short 07e1eh ; eb 27 11652 11630 cmp bl, 02eh ; 80 fb 2e 11653 je short 07 dfch ; 74 1011631 je short 07e0ch ; 74 10 11654 11632 cmp bl, 026h ; 80 fb 26 11655 je short 07e 02h ; 74 1111633 je short 07e12h ; 74 11 11656 11634 cmp bl, 021h ; 80 fb 21 11657 jne short 07e 08h ; 75 1211635 jne short 07e18h ; 75 12 11658 11636 mov byte [bp-00eh], 001h ; c6 46 f2 01 11659 jmp short 07e 0eh ; eb 1211637 jmp short 07e1eh ; eb 12 11660 11638 mov byte [bp-00eh], 003h ; c6 46 f2 03 11661 jmp short 07e 0eh ; eb 0c11639 jmp short 07e1eh ; eb 0c 11662 11640 mov byte [bp-00eh], 004h ; c6 46 f2 04 11663 jmp short 07e 0eh ; eb 0611641 jmp short 07e1eh ; eb 06 11664 11642 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11665 je short 07d adh ; 74 9f11643 je short 07dbdh ; 74 9f 11666 11644 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 11667 11645 mov dx, 0037dh ; ba 7d 03 11668 11646 mov ax, si ; 89 f0 11669 call 01757h ; e8 3d 9911647 call 01757h ; e8 2d 99 11670 11648 mov AL, strict byte 003h ; b0 03 11671 11649 mov AH, strict byte 000h ; b4 00 … … 11680 11658 push DS ; 1e 11681 11659 mov ds, ax ; 8e d8 11682 call 0edbfh ; e8 8d 6f11660 call 0edbfh ; e8 7d 6f 11683 11661 pop DS ; 1f 11684 11662 popad ; 66 61 … … 11691 11669 pop bp ; 5d 11692 11670 retn ; c3 11693 delay_boot_: ; 0xf7e 3f LB 0x6711671 delay_boot_: ; 0xf7e4f LB 0x67 11694 11672 push bp ; 55 11695 11673 mov bp, sp ; 89 e5 … … 11698 11676 mov dx, ax ; 89 c2 11699 11677 test ax, ax ; 85 c0 11700 je short 07e 9fh ; 74 5511678 je short 07eafh ; 74 55 11701 11679 mov AL, strict byte 034h ; b0 34 11702 11680 out strict byte 043h, AL ; e6 43 … … 11708 11686 push 00b0dh ; 68 0d 0b 11709 11687 push strict byte 00002h ; 6a 02 11710 call 01a6bh ; e8 0c 9c11688 call 01a6bh ; e8 fc 9b 11711 11689 add sp, strict byte 00006h ; 83 c4 06 11712 11690 mov bx, dx ; 89 d3 11713 11691 test bx, bx ; 85 db 11714 jbe short 07e 7fh ; 76 1711692 jbe short 07e8fh ; 76 17 11715 11693 push bx ; 53 11716 11694 push 00b2bh ; 68 2b 0b 11717 11695 push strict byte 00002h ; 6a 02 11718 call 01a6bh ; e8 fa 9b11696 call 01a6bh ; e8 ea 9b 11719 11697 add sp, strict byte 00006h ; 83 c4 06 11720 11698 xor dx, dx ; 31 d2 11721 11699 mov ax, strict word 00040h ; b8 40 00 11722 call 079 dah ; e8 5e fb11700 call 079eah ; e8 5e fb 11723 11701 dec bx ; 4b 11724 jmp short 07e 64h ; eb e511702 jmp short 07e74h ; eb e5 11725 11703 push 00a5bh ; 68 5b 0a 11726 11704 push strict byte 00002h ; 6a 02 11727 call 01a6bh ; e8 e4 9b11705 call 01a6bh ; e8 d4 9b 11728 11706 add sp, strict byte 00004h ; 83 c4 04 11729 11707 mov AL, strict byte 034h ; b0 34 … … 11736 11714 push DS ; 1e 11737 11715 mov ds, ax ; 8e d8 11738 call 0edbfh ; e8 23 6f11716 call 0edbfh ; e8 13 6f 11739 11717 pop DS ; 1f 11740 11718 popad ; 66 61 … … 11744 11722 pop bp ; 5d 11745 11723 retn ; c3 11746 scsi_cmd_data_in_: ; 0xf7e a6 LB 0xd511724 scsi_cmd_data_in_: ; 0xf7eb6 LB 0xd5 11747 11725 push bp ; 55 11748 11726 mov bp, sp ; 89 e5 … … 11760 11738 ; sub ah, ah ; 2a e4 11761 11739 test AL, strict byte 001h ; a8 01 11762 jne short 07e bch ; 75 f711740 jne short 07ecch ; 75 f7 11763 11741 cmp byte [bp+004h], 010h ; 80 7e 04 10 11764 jne short 07e cfh ; 75 0411742 jne short 07edfh ; 75 04 11765 11743 xor ax, ax ; 31 c0 11766 jmp short 07e d3h ; eb 0411744 jmp short 07ee3h ; eb 04 11767 11745 movzx ax, byte [bp+004h] ; 0f b6 46 04 11768 11746 mov di, ax ; 89 c7 … … 11772 11750 shr dx, 1 ; d1 ea 11773 11751 rcr ax, 1 ; d1 d8 11774 loop 07e ddh ; e2 fa11752 loop 07eedh ; e2 fa 11775 11753 mov cx, ax ; 89 c1 11776 11754 and cx, 000f0h ; 81 e1 f0 00 … … 11790 11768 shr dx, 1 ; d1 ea 11791 11769 rcr ax, 1 ; d1 d8 11792 loop 07f 02h ; e2 fa11770 loop 07f12h ; e2 fa 11793 11771 mov dx, si ; 89 f2 11794 11772 out DX, AL ; ee … … 11796 11774 movzx ax, byte [bp+004h] ; 0f b6 46 04 11797 11775 cmp cx, ax ; 39 c1 11798 jnc short 07f 23h ; 73 0e11776 jnc short 07f33h ; 73 0e 11799 11777 les di, [bp-00ah] ; c4 7e f6 11800 11778 add di, cx ; 01 cf … … 11803 11781 out DX, AL ; ee 11804 11782 inc cx ; 41 11805 jmp short 07f 0dh ; eb ea11783 jmp short 07f1dh ; eb ea 11806 11784 mov dx, si ; 89 f2 11807 11785 in AL, DX ; ec … … 11809 11787 ; sub ah, ah ; 2a e4 11810 11788 test AL, strict byte 001h ; a8 01 11811 jne short 07f 23h ; 75 f711789 jne short 07f33h ; 75 f7 11812 11790 test AL, strict byte 002h ; a8 02 11813 je short 07f 3eh ; 74 0e11791 je short 07f4eh ; 74 0e 11814 11792 lea dx, [si+003h] ; 8d 54 03 11815 11793 xor al, al ; 30 c0 … … 11819 11797 ; sub ah, ah ; 2a e4 11820 11798 mov di, strict word 00004h ; bf 04 00 11821 jmp short 07f 70h ; eb 3211799 jmp short 07f80h ; eb 32 11822 11800 lea dx, [si+001h] ; 8d 54 01 11823 11801 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 11824 jne short 07f 4dh ; 75 0611802 jne short 07f5dh ; 75 06 11825 11803 cmp bx, 08000h ; 81 fb 00 80 11826 jbe short 07f 67h ; 76 1a11804 jbe short 07f77h ; 76 1a 11827 11805 mov cx, 08000h ; b9 00 80 11828 11806 les di, [bp+006h] ; c4 7e 06 … … 11833 11811 add ax, 00800h ; 05 00 08 11834 11812 mov word [bp+008h], ax ; 89 46 08 11835 jmp short 07f 3eh ; eb d711813 jmp short 07f4eh ; eb d7 11836 11814 mov cx, bx ; 89 d9 11837 11815 les di, [bp+006h] ; c4 7e 06 … … 11844 11822 pop bp ; 5d 11845 11823 retn 0000ah ; c2 0a 00 11846 scsi_cmd_data_out_: ; 0xf7f 7b LB 0xd511824 scsi_cmd_data_out_: ; 0xf7f8b LB 0xd5 11847 11825 push bp ; 55 11848 11826 mov bp, sp ; 89 e5 … … 11860 11838 ; sub ah, ah ; 2a e4 11861 11839 test AL, strict byte 001h ; a8 01 11862 jne short 07f 91h ; 75 f711840 jne short 07fa1h ; 75 f7 11863 11841 cmp byte [bp+004h], 010h ; 80 7e 04 10 11864 jne short 07f a4h ; 75 0411842 jne short 07fb4h ; 75 04 11865 11843 xor ax, ax ; 31 c0 11866 jmp short 07f a8h ; eb 0411844 jmp short 07fb8h ; eb 04 11867 11845 movzx ax, byte [bp+004h] ; 0f b6 46 04 11868 11846 mov si, ax ; 89 c6 … … 11872 11850 shr dx, 1 ; d1 ea 11873 11851 rcr ax, 1 ; d1 d8 11874 loop 07f b2h ; e2 fa11852 loop 07fc2h ; e2 fa 11875 11853 mov cx, ax ; 89 c1 11876 11854 and cx, 000f0h ; 81 e1 f0 00 … … 11890 11868 shr dx, 1 ; d1 ea 11891 11869 rcr ax, 1 ; d1 d8 11892 loop 07f d7h ; e2 fa11870 loop 07fe7h ; e2 fa 11893 11871 mov dx, di ; 89 fa 11894 11872 out DX, AL ; ee … … 11896 11874 movzx ax, byte [bp+004h] ; 0f b6 46 04 11897 11875 cmp cx, ax ; 39 c1 11898 jnc short 0 7ff8h ; 73 0e11876 jnc short 08008h ; 73 0e 11899 11877 les si, [bp-00ah] ; c4 76 f6 11900 11878 add si, cx ; 01 ce … … 11903 11881 out DX, AL ; ee 11904 11882 inc cx ; 41 11905 jmp short 07f e2h ; eb ea11883 jmp short 07ff2h ; eb ea 11906 11884 lea dx, [di+001h] ; 8d 55 01 11907 11885 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 11908 jne short 080 07h ; 75 0611886 jne short 08017h ; 75 06 11909 11887 cmp bx, 08000h ; 81 fb 00 80 11910 jbe short 080 22h ; 76 1b11888 jbe short 08032h ; 76 1b 11911 11889 mov cx, 08000h ; b9 00 80 11912 11890 les si, [bp+006h] ; c4 76 06 … … 11918 11896 add ax, 00800h ; 05 00 08 11919 11897 mov word [bp+008h], ax ; 89 46 08 11920 jmp short 0 7ff8h ; eb d611898 jmp short 08008h ; eb d6 11921 11899 mov cx, bx ; 89 d9 11922 11900 les si, [bp+006h] ; c4 76 06 … … 11928 11906 ; sub ah, ah ; 2a e4 11929 11907 test AL, strict byte 001h ; a8 01 11930 jne short 080 2ah ; 75 f711908 jne short 0803ah ; 75 f7 11931 11909 test AL, strict byte 002h ; a8 02 11932 je short 080 45h ; 74 0e11910 je short 08055h ; 74 0e 11933 11911 lea dx, [di+003h] ; 8d 55 03 11934 11912 xor al, al ; 30 c0 … … 11938 11916 ; sub ah, ah ; 2a e4 11939 11917 mov ax, strict word 00004h ; b8 04 00 11940 jmp short 080 47h ; eb 0211918 jmp short 08057h ; eb 02 11941 11919 xor ax, ax ; 31 c0 11942 11920 lea sp, [bp-004h] ; 8d 66 fc … … 11945 11923 pop bp ; 5d 11946 11924 retn 0000ah ; c2 0a 00 11947 @scsi_read_sectors: ; 0xf80 50 LB 0xdb11925 @scsi_read_sectors: ; 0xf8060 LB 0xdb 11948 11926 push bp ; 55 11949 11927 mov bp, sp ; 89 e5 … … 11957 11935 mov byte [bp-006h], al ; 88 46 fa 11958 11936 cmp AL, strict byte 004h ; 3c 04 11959 jbe short 080 7eh ; 76 1311937 jbe short 0808eh ; 76 13 11960 11938 movzx ax, byte [bp-006h] ; 0f b6 46 fa 11961 11939 push ax ; 50 … … 11963 11941 push 00b42h ; 68 42 0b 11964 11942 push strict byte 00007h ; 6a 07 11965 call 01a6bh ; e8 f0 9911943 call 01a6bh ; e8 e0 99 11966 11944 add sp, strict byte 00008h ; 83 c4 08 11967 11945 mov es, [bp+006h] ; 8e 46 06 … … 12002 11980 sal word [bp-00ah], 1 ; d1 66 f6 12003 11981 rcl word [bp-008h], 1 ; d1 56 f8 12004 loop 080 e7h ; e2 f811982 loop 080f7h ; e2 f8 12005 11983 push dword [bp-00ah] ; 66 ff 76 f6 12006 11984 db 066h, 026h, 0ffh, 074h, 008h … … 12010 11988 mov cx, ss ; 8c d1 12011 11989 lea bx, [bp-01ah] ; 8d 5e e6 12012 call 07e a6h ; e8 a2 fd11990 call 07eb6h ; e8 a2 fd 12013 11991 mov ah, al ; 88 c4 12014 11992 test al, al ; 84 c0 12015 jne short 081 1fh ; 75 1511993 jne short 0812fh ; 75 15 12016 11994 mov es, [bp+006h] ; 8e 46 06 12017 11995 mov word [es:si+018h], di ; 26 89 7c 18 … … 12026 12004 pop bp ; 5d 12027 12005 retn 00004h ; c2 04 00 12028 @scsi_write_sectors: ; 0xf81 2b LB 0xdb12006 @scsi_write_sectors: ; 0xf813b LB 0xdb 12029 12007 push bp ; 55 12030 12008 mov bp, sp ; 89 e5 … … 12038 12016 mov byte [bp-006h], al ; 88 46 fa 12039 12017 cmp AL, strict byte 004h ; 3c 04 12040 jbe short 081 59h ; 76 1312018 jbe short 08169h ; 76 13 12041 12019 movzx ax, byte [bp-006h] ; 0f b6 46 fa 12042 12020 push ax ; 50 … … 12044 12022 push 00b42h ; 68 42 0b 12045 12023 push strict byte 00007h ; 6a 07 12046 call 01a6bh ; e8 15 9912024 call 01a6bh ; e8 05 99 12047 12025 add sp, strict byte 00008h ; 83 c4 08 12048 12026 mov es, [bp+006h] ; 8e 46 06 … … 12083 12061 sal word [bp-00ah], 1 ; d1 66 f6 12084 12062 rcl word [bp-008h], 1 ; d1 56 f8 12085 loop 081 c2h ; e2 f812063 loop 081d2h ; e2 f8 12086 12064 push dword [bp-00ah] ; 66 ff 76 f6 12087 12065 db 066h, 026h, 0ffh, 074h, 008h … … 12091 12069 mov cx, ss ; 8c d1 12092 12070 lea bx, [bp-01ah] ; 8d 5e e6 12093 call 07f 7bh ; e8 9c fd12071 call 07f8bh ; e8 9c fd 12094 12072 mov ah, al ; 88 c4 12095 12073 test al, al ; 84 c0 12096 jne short 08 1fah ; 75 1512074 jne short 0820ah ; 75 15 12097 12075 mov es, [bp+006h] ; 8e 46 06 12098 12076 mov word [es:si+018h], di ; 26 89 7c 18 … … 12107 12085 pop bp ; 5d 12108 12086 retn 00004h ; c2 04 00 12109 scsi_cmd_packet_: ; 0xf82 06 LB 0x16612087 scsi_cmd_packet_: ; 0xf8216 LB 0x166 12110 12088 push bp ; 55 12111 12089 mov bp, sp ; 89 e5 … … 12119 12097 mov dx, strict word 0000eh ; ba 0e 00 12120 12098 mov ax, strict word 00040h ; b8 40 00 12121 call 01765h ; e8 43 9512099 call 01765h ; e8 33 95 12122 12100 mov si, 00122h ; be 22 01 12123 12101 mov word [bp-00eh], ax ; 89 46 f2 12124 12102 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12125 jne short 082 4dh ; 75 1f12103 jne short 0825dh ; 75 1f 12126 12104 mov bx, 00db2h ; bb b2 0d 12127 12105 mov cx, ds ; 8c d9 12128 12106 mov ax, strict word 00004h ; b8 04 00 12129 call 01a2ah ; e8 f1 9712107 call 01a2ah ; e8 e1 97 12130 12108 push 00b74h ; 68 74 0b 12131 12109 push 00b84h ; 68 84 0b 12132 12110 push strict byte 00004h ; 6a 04 12133 call 01a6bh ; e8 27 9812111 call 01a6bh ; e8 17 98 12134 12112 add sp, strict byte 00006h ; 83 c4 06 12135 12113 mov dx, strict word 00001h ; ba 01 00 12136 jmp near 083 61h ; e9 14 0112114 jmp near 08371h ; e9 14 01 12137 12115 sub di, strict byte 00008h ; 83 ef 08 12138 12116 sal di, 002h ; c1 e7 02 … … 12148 12126 ; sub ah, ah ; 2a e4 12149 12127 test AL, strict byte 001h ; a8 01 12150 jne short 082 69h ; 75 f712128 jne short 08279h ; 75 f7 12151 12129 xor ax, ax ; 31 c0 12152 12130 mov dx, word [bp+006h] ; 8b 56 06 … … 12164 12142 shr dx, 1 ; d1 ea 12165 12143 rcr ax, 1 ; d1 d8 12166 loop 082 94h ; e2 fa12144 loop 082a4h ; e2 fa 12167 12145 and ax, 000f0h ; 25 f0 00 12168 12146 movzx cx, byte [bp-006h] ; 0f b6 4e fa … … 12182 12160 shr dx, 1 ; d1 ea 12183 12161 rcr ax, 1 ; d1 d8 12184 loop 082 bbh ; e2 fa12162 loop 082cbh ; e2 fa 12185 12163 mov dx, bx ; 89 da 12186 12164 out DX, AL ; ee … … 12188 12166 movzx ax, byte [bp-006h] ; 0f b6 46 fa 12189 12167 cmp cx, ax ; 39 c1 12190 jnc short 082 dch ; 73 0e12168 jnc short 082ech ; 73 0e 12191 12169 les di, [bp-00ch] ; c4 7e f4 12192 12170 add di, cx ; 01 cf … … 12195 12173 out DX, AL ; ee 12196 12174 inc cx ; 41 12197 jmp short 082 c6h ; eb ea12175 jmp short 082d6h ; eb ea 12198 12176 mov dx, bx ; 89 da 12199 12177 in AL, DX ; ec … … 12201 12179 ; sub ah, ah ; 2a e4 12202 12180 test AL, strict byte 001h ; a8 01 12203 jne short 082 dch ; 75 f712181 jne short 082ech ; 75 f7 12204 12182 test AL, strict byte 002h ; a8 02 12205 je short 08 2f7h ; 74 0e12183 je short 08307h ; 74 0e 12206 12184 lea dx, [bx+003h] ; 8d 57 03 12207 12185 xor al, al ; 30 c0 … … 12211 12189 ; sub ah, ah ; 2a e4 12212 12190 mov dx, strict word 00003h ; ba 03 00 12213 jmp short 083 61h ; eb 6a12191 jmp short 08371h ; eb 6a 12214 12192 mov ax, word [bp+004h] ; 8b 46 04 12215 12193 test ax, ax ; 85 c0 12216 je short 083 06h ; 74 0812194 je short 08316h ; 74 08 12217 12195 lea dx, [bx+001h] ; 8d 57 01 12218 12196 mov cx, ax ; 89 c1 12219 12197 in AL, DX ; ec 12220 loop 083 03h ; e2 fd12198 loop 08313h ; e2 fd 12221 12199 mov ax, word [bp+006h] ; 8b 46 06 12222 12200 mov es, [bp-00eh] ; 8e 46 f2 … … 12226 12204 lea ax, [bx+001h] ; 8d 47 01 12227 12205 cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00 12228 jne short 083 27h ; 75 0712206 jne short 08337h ; 75 07 12229 12207 cmp word [bp+006h], 08000h ; 81 7e 06 00 80 12230 jbe short 083 44h ; 76 1d12208 jbe short 08354h ; 76 1d 12231 12209 mov dx, ax ; 89 c2 12232 12210 mov cx, 08000h ; b9 00 80 … … 12238 12216 add ax, 00800h ; 05 00 08 12239 12217 mov word [bp+00eh], ax ; 89 46 0e 12240 jmp short 083 17h ; eb d312218 jmp short 08327h ; eb d3 12241 12219 mov dx, ax ; 89 c2 12242 12220 mov cx, word [bp+006h] ; 8b 4e 06 … … 12245 12223 mov es, [bp-00eh] ; 8e 46 f2 12246 12224 cmp word [es:si+020h], strict byte 00000h ; 26 83 7c 20 00 12247 je short 083 5fh ; 74 0712225 je short 0836fh ; 74 07 12248 12226 mov cx, word [es:si+020h] ; 26 8b 4c 20 12249 12227 in AL, DX ; ec 12250 loop 083 5ch ; e2 fd12228 loop 0836ch ; e2 fd 12251 12229 xor dx, dx ; 31 d2 12252 12230 mov ax, dx ; 89 d0 … … 12256 12234 pop bp ; 5d 12257 12235 retn 0000ch ; c2 0c 00 12258 scsi_enumerate_attached_devices_: ; 0xf83 6c LB 0x48212236 scsi_enumerate_attached_devices_: ; 0xf837c LB 0x482 12259 12237 push bp ; 55 12260 12238 mov bp, sp ; 89 e5 … … 12268 12246 mov dx, strict word 0000eh ; ba 0e 00 12269 12247 mov ax, strict word 00040h ; b8 40 00 12270 call 01765h ; e8 e3 9312248 call 01765h ; e8 d3 93 12271 12249 mov di, 00122h ; bf 22 01 12272 12250 mov word [bp-02eh], ax ; 89 46 d2 12273 12251 mov word [bp-01eh], strict word 00000h ; c7 46 e2 00 00 12274 jmp near 087 70h ; e9 e0 0312252 jmp near 08780h ; e9 e0 03 12275 12253 cmp AL, strict byte 004h ; 3c 04 12276 jnc near 087 e4h ; 0f 83 4e 0412254 jnc near 087f4h ; 0f 83 4e 04 12277 12255 mov cx, strict word 00010h ; b9 10 00 12278 12256 xor bx, bx ; 31 db 12279 12257 mov dx, ss ; 8c d2 12280 12258 lea ax, [bp-046h] ; 8d 46 ba 12281 call 0a0 80h ; e8 dd 1c12259 call 0a090h ; e8 dd 1c 12282 12260 mov byte [bp-046h], 09eh ; c6 46 ba 9e 12283 12261 mov byte [bp-045h], 010h ; c6 46 bb 10 … … 12292 12270 lea bx, [bp-046h] ; 8d 5e ba 12293 12271 mov ax, word [bp-00248h] ; 8b 86 b8 fd 12294 call 07e a6h ; e8 dc fa12272 call 07eb6h ; e8 dc fa 12295 12273 test al, al ; 84 c0 12296 je short 083 dch ; 74 0e12274 je short 083ech ; 74 0e 12297 12275 push 00ba4h ; 68 a4 0b 12298 12276 push 00bddh ; 68 dd 0b 12299 12277 push strict byte 00007h ; 6a 07 12300 call 01a6bh ; e8 92 9612278 call 01a6bh ; e8 82 96 12301 12279 add sp, strict byte 00006h ; 83 c4 06 12302 12280 mov ax, word [bp-00240h] ; 8b 86 c0 fd … … 12328 12306 sal ax, 1 ; d1 e0 12329 12307 rcl dx, 1 ; d1 d2 12330 loop 084 2ah ; e2 fa12308 loop 0843ah ; e2 fa 12331 12309 or bx, ax ; 09 c3 12332 12310 or dx, si ; 09 f2 … … 12335 12313 mov word [bp-024h], bx ; 89 5e dc 12336 12314 test dx, dx ; 85 d2 12337 jne short 084 48h ; 75 0612315 jne short 08458h ; 75 06 12338 12316 cmp bx, 00200h ; 81 fb 00 02 12339 je short 084 68h ; 74 2012317 je short 08478h ; 74 20 12340 12318 mov bx, 00db2h ; bb b2 0d 12341 12319 mov cx, ds ; 8c d9 12342 12320 mov ax, strict word 00004h ; b8 04 00 12343 call 01a2ah ; e8 d7 9512321 call 01a2ah ; e8 c7 95 12344 12322 push dx ; 52 12345 12323 push word [bp-024h] ; ff 76 dc … … 12347 12325 push 00bfch ; 68 fc 0b 12348 12326 push strict byte 00004h ; 6a 04 12349 call 01a6bh ; e8 09 9612327 call 01a6bh ; e8 f9 95 12350 12328 add sp, strict byte 0000ah ; 83 c4 0a 12351 jmp near 087 67h ; e9 ff 0212329 jmp near 08777h ; e9 ff 02 12352 12330 mov al, byte [bp-00ch] ; 8a 46 f4 12353 12331 cmp AL, strict byte 001h ; 3c 01 12354 jc short 084 7bh ; 72 0c12355 jbe short 084 83h ; 76 1212332 jc short 0848bh ; 72 0c 12333 jbe short 08493h ; 76 12 12356 12334 cmp AL, strict byte 003h ; 3c 03 12357 je short 084 8bh ; 74 1612335 je short 0849bh ; 74 16 12358 12336 cmp AL, strict byte 002h ; 3c 02 12359 je short 084 87h ; 74 0e12360 jmp short 084 d4h ; eb 5912337 je short 08497h ; 74 0e 12338 jmp short 084e4h ; eb 59 12361 12339 test al, al ; 84 c0 12362 jne short 084 d4h ; 75 5512340 jne short 084e4h ; 75 55 12363 12341 mov BL, strict byte 090h ; b3 90 12364 jmp short 084 8dh ; eb 0a12342 jmp short 0849dh ; eb 0a 12365 12343 mov BL, strict byte 098h ; b3 98 12366 jmp short 084 8dh ; eb 0612344 jmp short 0849dh ; eb 06 12367 12345 mov BL, strict byte 0a0h ; b3 a0 12368 jmp short 084 8dh ; eb 0212346 jmp short 0849dh ; eb 02 12369 12347 mov BL, strict byte 0a8h ; b3 a8 12370 12348 mov al, bl ; 88 d8 … … 12372 12350 movzx cx, al ; 0f b6 c8 12373 12351 mov ax, cx ; 89 c8 12374 call 017a5h ; e8 0c 9312352 call 017a5h ; e8 fc 92 12375 12353 test al, al ; 84 c0 12376 je short 084 d4h ; 74 3712354 je short 084e4h ; 74 37 12377 12355 mov al, bl ; 88 d8 12378 12356 db 0feh, 0c0h 12379 12357 ; inc al ; fe c0 12380 12358 xor ah, ah ; 30 e4 12381 call 017a5h ; e8 ff 9212359 call 017a5h ; e8 ef 92 12382 12360 movzx dx, al ; 0f b6 d0 12383 12361 sal dx, 008h ; c1 e2 08 12384 12362 movzx ax, bl ; 0f b6 c3 12385 call 017a5h ; e8 f3 9212363 call 017a5h ; e8 e3 92 12386 12364 xor ah, ah ; 30 e4 12387 12365 add ax, dx ; 01 d0 … … 12391 12369 add AL, strict byte 002h ; 04 02 12392 12370 xor ah, ah ; 30 e4 12393 call 017a5h ; e8 e3 9212371 call 017a5h ; e8 d3 92 12394 12372 xor ah, ah ; 30 e4 12395 12373 mov word [bp-034h], ax ; 89 46 cc 12396 12374 mov ax, cx ; 89 c8 12397 call 017a5h ; e8 d9 9212375 call 017a5h ; e8 c9 92 12398 12376 xor ah, ah ; 30 e4 12399 12377 mov word [bp-032h], ax ; 89 46 ce 12400 jmp near 085 bdh ; e9 e9 0012378 jmp near 085cdh ; e9 e9 00 12401 12379 mov ax, word [bp-010h] ; 8b 46 f0 12402 12380 mov bx, word [bp-030h] ; 8b 5e d0 … … 12404 12382 mov dx, word [bp-016h] ; 8b 56 ea 12405 12383 mov si, strict word 0000ch ; be 0c 00 12406 call 0a0 60h ; e8 7a 1b12384 call 0a070h ; e8 7a 1b 12407 12385 mov word [bp-018h], ax ; 89 46 e8 12408 12386 mov word [bp-014h], bx ; 89 5e ec … … 12411 12389 mov ax, word [bp-010h] ; 8b 46 f0 12412 12390 test ax, ax ; 85 c0 12413 jnbe short 085 0fh ; 77 1612414 jne near 085 82h ; 0f 85 85 0012391 jnbe short 0851fh ; 77 16 12392 jne near 08592h ; 0f 85 85 00 12415 12393 cmp word [bp-030h], strict byte 00000h ; 83 7e d0 00 12416 jnbe short 085 0fh ; 77 0c12417 jne near 085 82h ; 0f 85 7b 0012394 jnbe short 0851fh ; 77 0c 12395 jne near 08592h ; 0f 85 7b 00 12418 12396 cmp word [bp-012h], strict byte 00040h ; 83 7e ee 40 12419 jnbe short 085 0fh ; 77 0212420 jne short 085 82h ; 75 7312397 jnbe short 0851fh ; 77 02 12398 jne short 08592h ; 75 73 12421 12399 mov dword [bp-034h], strict dword 0003f00ffh ; 66 c7 46 cc ff 00 3f 00 12422 12400 mov bx, word [bp-030h] ; 8b 5e d0 … … 12424 12402 mov dx, word [bp-016h] ; 8b 56 ea 12425 12403 mov si, strict word 00006h ; be 06 00 12426 call 0a0 60h ; e8 3a 1b12404 call 0a070h ; e8 3a 1b 12427 12405 mov si, word [bp-020h] ; 8b 76 e0 12428 12406 add si, dx ; 01 d6 … … 12442 12420 mov dx, si ; 89 f2 12443 12421 mov si, strict word 00008h ; be 08 00 12444 call 0a0 60h ; e8 0a 1b12422 call 0a070h ; e8 0a 1b 12445 12423 mov word [bp-022h], bx ; 89 5e de 12446 12424 mov word [bp-02ch], cx ; 89 4e d4 … … 12451 12429 mov dx, word [bp-02ah] ; 8b 56 d6 12452 12430 mov si, strict word 00010h ; be 10 00 12453 call 0a0 60h ; e8 ef 1a12431 call 0a070h ; e8 ef 1a 12454 12432 mov si, word [bp-01ah] ; 8b 76 e6 12455 12433 add si, dx ; 01 d6 … … 12458 12436 mov ax, word [bp-022h] ; 8b 46 de 12459 12437 adc ax, bx ; 11 d8 12460 jmp short 085 bdh ; eb 3b12438 jmp short 085cdh ; eb 3b 12461 12439 test ax, ax ; 85 c0 12462 jnbe short 085 98h ; 77 1212463 jne short 085 a2h ; 75 1a12440 jnbe short 085a8h ; 77 12 12441 jne short 085b2h ; 75 1a 12464 12442 cmp word [bp-030h], strict byte 00000h ; 83 7e d0 00 12465 jnbe short 085 98h ; 77 0a12466 jne short 085 a2h ; 75 1212443 jnbe short 085a8h ; 77 0a 12444 jne short 085b2h ; 75 12 12467 12445 cmp word [bp-012h], strict byte 00020h ; 83 7e ee 20 12468 jnbe short 085 98h ; 77 0212469 jne short 085 a2h ; 75 0a12446 jnbe short 085a8h ; 77 02 12447 jne short 085b2h ; 75 0a 12470 12448 mov dword [bp-034h], strict dword 000200080h ; 66 c7 46 cc 80 00 20 00 12471 jmp short 085 b9h ; eb 1712449 jmp short 085c9h ; eb 17 12472 12450 mov dword [bp-034h], strict dword 000200040h ; 66 c7 46 cc 40 00 20 00 12473 12451 mov bx, word [bp-030h] ; 8b 5e d0 … … 12475 12453 mov dx, word [bp-016h] ; 8b 56 ea 12476 12454 mov si, strict word 0000bh ; be 0b 00 12477 call 0a0 60h ; e8 a7 1a12455 call 0a070h ; e8 a7 1a 12478 12456 mov si, dx ; 89 d6 12479 12457 mov dx, cx ; 89 ca … … 12508 12486 mov word [es:bx+034h], ax ; 26 89 47 34 12509 12487 test dx, dx ; 85 d2 12510 jne short 086 2ah ; 75 0612488 jne short 0863ah ; 75 06 12511 12489 cmp si, 00400h ; 81 fe 00 04 12512 jbe short 086 38h ; 76 0e12490 jbe short 08648h ; 76 0e 12513 12491 mov word [es:bx+02ch], 00400h ; 26 c7 47 2c 00 04 12514 12492 mov word [es:bx+032h], 00400h ; 26 c7 47 32 00 04 12515 jmp short 086 40h ; eb 0812493 jmp short 08650h ; eb 08 12516 12494 mov word [es:bx+02ch], si ; 26 89 77 2c 12517 12495 mov word [es:bx+032h], si ; 26 89 77 32 … … 12519 12497 mov cx, ds ; 8c d9 12520 12498 mov ax, strict word 00004h ; b8 04 00 12521 call 01a2ah ; e8 df 9312499 call 01a2ah ; e8 cf 93 12522 12500 push word [bp-010h] ; ff 76 f0 12523 12501 push word [bp-030h] ; ff 76 d0 … … 12532 12510 push 00c2ah ; 68 2a 0c 12533 12511 push strict byte 00004h ; 6a 04 12534 call 01a6bh ; e8 fe 9312512 call 01a6bh ; e8 ee 93 12535 12513 add sp, strict byte 00018h ; 83 c4 18 12536 12514 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 … … 12557 12535 mov dx, strict word 00075h ; ba 75 00 12558 12536 mov ax, strict word 00040h ; b8 40 00 12559 call 01749h ; e8 8c 9012537 call 01749h ; e8 7c 90 12560 12538 db 0feh, 0c0h 12561 12539 ; inc al ; fe c0 … … 12563 12541 mov dx, strict word 00075h ; ba 75 00 12564 12542 mov ax, strict word 00040h ; b8 40 00 12565 call 01757h ; e8 8c 9012543 call 01757h ; e8 7c 90 12566 12544 inc byte [bp-00ch] ; fe 46 f4 12567 jmp near 087 5ch ; e9 8b 0012545 jmp near 0876ch ; e9 8b 00 12568 12546 mov bx, 00db2h ; bb b2 0d 12569 12547 mov cx, ds ; 8c d9 12570 12548 mov ax, strict word 00004h ; b8 04 00 12571 call 01a2ah ; e8 4e 9312549 call 01a2ah ; e8 3e 93 12572 12550 push word [bp-01eh] ; ff 76 e2 12573 12551 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 … … 12575 12553 push 00c58h ; 68 58 0c 12576 12554 push strict byte 00004h ; 6a 04 12577 call 01a6bh ; e8 7f 9312555 call 01a6bh ; e8 6f 93 12578 12556 add sp, strict byte 00008h ; 83 c4 08 12579 12557 mov al, byte [bp-00ch] ; 8a 46 f4 … … 12616 12594 inc word [bp-01eh] ; ff 46 e2 12617 12595 cmp word [bp-01eh], strict byte 00010h ; 83 7e e2 10 12618 jnl short 087 e4h ; 7d 7412596 jnl short 087f4h ; 7d 74 12619 12597 mov byte [bp-046h], 012h ; c6 46 ba 12 12620 12598 xor al, al ; 30 c0 … … 12633 12611 lea bx, [bp-046h] ; 8d 5e ba 12634 12612 mov ax, word [bp-00248h] ; 8b 86 b8 fd 12635 call 07e a6h ; e8 05 f712613 call 07eb6h ; e8 05 f7 12636 12614 test al, al ; 84 c0 12637 je short 087 b3h ; 74 0e12615 je short 087c3h ; 74 0e 12638 12616 push 00ba4h ; 68 a4 0b 12639 12617 push 00bc4h ; 68 c4 0b 12640 12618 push strict byte 00007h ; 6a 07 12641 call 01a6bh ; e8 bb 9212619 call 01a6bh ; e8 ab 92 12642 12620 add sp, strict byte 00006h ; 83 c4 06 12643 12621 mov es, [bp-02eh] ; 8e 46 d2 … … 12645 12623 mov byte [bp-00ch], al ; 88 46 f4 12646 12624 test byte [bp-00246h], 0e0h ; f6 86 ba fd e0 12647 jne short 087 ceh ; 75 0912625 jne short 087deh ; 75 09 12648 12626 test byte [bp-00246h], 01fh ; f6 86 ba fd 1f 12649 je near 083 90h ; 0f 84 c2 fb12627 je near 083a0h ; 0f 84 c2 fb 12650 12628 test byte [bp-00246h], 0e0h ; f6 86 ba fd e0 12651 jne short 087 5ch ; 75 8712629 jne short 0876ch ; 75 87 12652 12630 mov al, byte [bp-00246h] ; 8a 86 ba fd 12653 12631 and AL, strict byte 01fh ; 24 1f 12654 12632 cmp AL, strict byte 005h ; 3c 05 12655 je near 086 d1h ; 0f 84 f0 fe12656 jmp near 087 5ch ; e9 78 ff12633 je near 086e1h ; 0f 84 f0 fe 12634 jmp near 0876ch ; e9 78 ff 12657 12635 lea sp, [bp-00ah] ; 8d 66 f6 12658 12636 pop di ; 5f … … 12663 12641 pop bp ; 5d 12664 12642 retn ; c3 12665 _scsi_init: ; 0xf87 ee LB 0x6612643 _scsi_init: ; 0xf87fe LB 0x66 12666 12644 push bp ; 55 12667 12645 mov bp, sp ; 89 e5 12668 12646 mov dx, strict word 0000eh ; ba 0e 00 12669 12647 mov ax, strict word 00040h ; b8 40 00 12670 call 01765h ; e8 6b 8f12648 call 01765h ; e8 5b 8f 12671 12649 mov bx, 00122h ; bb 22 01 12672 12650 mov es, ax ; 8e c0 … … 12679 12657 ; sub ah, ah ; 2a e4 12680 12658 cmp AL, strict byte 055h ; 3c 55 12681 jne short 088 1eh ; 75 0c12659 jne short 0882eh ; 75 0c 12682 12660 xor al, al ; 30 c0 12683 12661 mov dx, 00433h ; ba 33 04 12684 12662 out DX, AL ; ee 12685 12663 mov ax, 00430h ; b8 30 04 12686 call 083 6ch ; e8 4e fb12664 call 0837ch ; e8 4e fb 12687 12665 mov AL, strict byte 055h ; b0 55 12688 12666 mov dx, 00436h ; ba 36 04 … … 12692 12670 ; sub ah, ah ; 2a e4 12693 12671 cmp AL, strict byte 055h ; 3c 55 12694 jne short 088 37h ; 75 0c12672 jne short 08847h ; 75 0c 12695 12673 xor al, al ; 30 c0 12696 12674 mov dx, 00437h ; ba 37 04 12697 12675 out DX, AL ; ee 12698 12676 mov ax, 00434h ; b8 34 04 12699 call 083 6ch ; e8 35 fb12677 call 0837ch ; e8 35 fb 12700 12678 mov AL, strict byte 055h ; b0 55 12701 12679 mov dx, 0043ah ; ba 3a 04 … … 12705 12683 ; sub ah, ah ; 2a e4 12706 12684 cmp AL, strict byte 055h ; 3c 55 12707 jne short 088 50h ; 75 0c12685 jne short 08860h ; 75 0c 12708 12686 xor al, al ; 30 c0 12709 12687 mov dx, 0043bh ; ba 3b 04 12710 12688 out DX, AL ; ee 12711 12689 mov ax, 00438h ; b8 38 04 12712 call 083 6ch ; e8 1c fb12690 call 0837ch ; e8 1c fb 12713 12691 mov sp, bp ; 89 ec 12714 12692 pop bp ; 5d 12715 12693 retn ; c3 12716 ahci_ctrl_extract_bits_: ; 0xf88 54 LB 0x1b12694 ahci_ctrl_extract_bits_: ; 0xf8864 LB 0x1b 12717 12695 push si ; 56 12718 12696 push bp ; 55 … … 12722 12700 and dx, cx ; 21 ca 12723 12701 movzx cx, byte [bp+006h] ; 0f b6 4e 06 12724 jcxz 088 6ah ; e3 0612702 jcxz 0887ah ; e3 06 12725 12703 shr dx, 1 ; d1 ea 12726 12704 rcr ax, 1 ; d1 d8 12727 loop 088 64h ; e2 fa12705 loop 08874h ; e2 fa 12728 12706 pop bp ; 5d 12729 12707 pop si ; 5e 12730 12708 retn 00002h ; c2 02 00 12731 ahci_addr_to_phys_: ; 0xf88 6f LB 0x1e12709 ahci_addr_to_phys_: ; 0xf887f LB 0x1e 12732 12710 push bx ; 53 12733 12711 push cx ; 51 … … 12740 12718 sal ax, 1 ; d1 e0 12741 12719 rcl dx, 1 ; d1 d2 12742 loop 088 7dh ; e2 fa12720 loop 0888dh ; e2 fa 12743 12721 xor cx, cx ; 31 c9 12744 12722 add ax, bx ; 01 d8 … … 12748 12726 pop bx ; 5b 12749 12727 retn ; c3 12750 ahci_port_cmd_sync_: ; 0xf88 8d LB 0x14b12728 ahci_port_cmd_sync_: ; 0xf889d LB 0x14b 12751 12729 push bp ; 55 12752 12730 mov bp, sp ; 89 e5 … … 12763 12741 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 12764 12742 cmp ah, 0ffh ; 80 fc ff 12765 je near 089 d0h ; 0f 84 20 0112743 je near 089e0h ; 0f 84 20 01 12766 12744 movzx dx, byte [es:si+00263h] ; 26 0f b6 94 63 02 12767 12745 xor di, di ; 31 ff … … 12775 12753 lea ax, [si+00080h] ; 8d 84 80 00 12776 12754 mov dx, cx ; 89 ca 12777 call 088 6fh ; e8 96 ff12755 call 0887fh ; e8 96 ff 12778 12756 mov es, cx ; 8e c1 12779 12757 mov word [es:si+008h], ax ; 26 89 44 08 … … 12838 12816 xchg dx, ax ; 92 12839 12817 test dh, 040h ; f6 c6 40 12840 jne short 089 66h ; 75 0412818 jne short 08976h ; 75 04 12841 12819 test AL, strict byte 001h ; a8 01 12842 je short 089 6ah ; 74 0412820 je short 0897ah ; 74 04 12843 12821 mov AL, strict byte 001h ; b0 01 12844 jmp short 089 6ch ; eb 0212822 jmp short 0897ch ; eb 02 12845 12823 xor al, al ; 30 c0 12846 12824 test al, al ; 84 c0 12847 je short 089 3ah ; 74 ca12825 je short 0894ah ; 74 ca 12848 12826 movzx di, byte [bp-008h] ; 0f b6 7e f8 12849 12827 sal di, 007h ; c1 e7 07 … … 12899 12877 pop bp ; 5d 12900 12878 retn ; c3 12901 ahci_cmd_data_: ; 0xf89 d8 LB 0x26212879 ahci_cmd_data_: ; 0xf89e8 LB 0x262 12902 12880 push bp ; 55 12903 12881 mov bp, sp ; 89 e5 … … 12924 12902 mov ax, 00080h ; b8 80 00 12925 12903 mov dx, word [bp-00ah] ; 8b 56 f6 12926 call 0a0 80h ; e8 6a 1612904 call 0a090h ; e8 6a 16 12927 12905 mov es, [bp-00ah] ; 8e 46 f6 12928 12906 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 12942 12920 mov dx, word [es:si] ; 26 8b 14 12943 12921 mov si, strict word 00008h ; be 08 00 12944 call 0a0 60h ; e8 06 1612922 call 0a070h ; e8 06 16 12945 12923 mov es, [bp-00ah] ; 8e 46 f6 12946 12924 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 12953 12931 mov dx, word [es:si] ; 26 8b 14 12954 12932 mov si, strict word 00010h ; be 10 00 12955 call 0a0 60h ; e8 e0 1512933 call 0a070h ; e8 e0 15 12956 12934 mov es, [bp-00ah] ; 8e 46 f6 12957 12935 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 12965 12943 mov dx, word [es:si] ; 26 8b 14 12966 12944 mov si, strict word 00018h ; be 18 00 12967 call 0a0 60h ; e8 b4 1512945 call 0a070h ; e8 b4 15 12968 12946 mov es, [bp-00ah] ; 8e 46 f6 12969 12947 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 12976 12954 mov dx, word [es:si] ; 26 8b 14 12977 12955 mov si, strict word 00020h ; be 20 00 12978 call 0a0 60h ; e8 8e 1512956 call 0a070h ; e8 8e 15 12979 12957 mov es, [bp-00ah] ; 8e 46 f6 12980 12958 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 12987 12965 mov dx, word [es:si] ; 26 8b 14 12988 12966 mov si, strict word 00028h ; be 28 00 12989 call 0a0 60h ; e8 68 1512967 call 0a070h ; e8 68 15 12990 12968 mov es, [bp-00ah] ; 8e 46 f6 12991 12969 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 13001 12979 mov bx, word [bp-010h] ; 8b 5e f0 13002 12980 xor cx, cx ; 31 c9 13003 call 09f e0h ; e8 b3 1412981 call 09ff0h ; e8 b3 14 13004 12982 push dx ; 52 13005 12983 push ax ; 50 … … 13011 12989 mov ax, 0026ah ; b8 6a 02 13012 12990 mov dx, word [bp-00ah] ; 8b 56 f6 13013 call 09f 2fh ; e8 e6 1312991 call 09f3fh ; e8 e6 13 13014 12992 mov es, [bp-00ah] ; 8e 46 f6 13015 12993 mov ax, word [es:di+0027eh] ; 26 8b 85 7e 02 … … 13032 13010 mov ax, word [es:bx+020h] ; 26 8b 47 20 13033 13011 test ax, ax ; 85 c0 13034 je short 08b d7h ; 74 3913012 je short 08be7h ; 74 39 13035 13013 dec ax ; 48 13036 13014 mov es, [bp-00ah] ; 8e 46 f6 … … 13048 13026 mov al, byte [bp-008h] ; 8a 46 f8 13049 13027 cmp AL, strict byte 035h ; 3c 35 13050 jne short 08b e4h ; 75 0613028 jne short 08bf4h ; 75 06 13051 13029 mov byte [bp-008h], 040h ; c6 46 f8 40 13052 jmp short 08 bfbh ; eb 1713030 jmp short 08c0bh ; eb 17 13053 13031 cmp AL, strict byte 0a0h ; 3c a0 13054 jne short 08 bf7h ; 75 0f13032 jne short 08c07h ; 75 0f 13055 13033 or byte [bp-008h], 020h ; 80 4e f8 20 13056 13034 les bx, [bp-00eh] ; c4 5e f2 13057 13035 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 13058 jmp short 08 bfbh ; eb 0413036 jmp short 08c0bh ; eb 04 13059 13037 mov byte [bp-008h], 000h ; c6 46 f8 00 13060 13038 or byte [bp-008h], 005h ; 80 4e f8 05 … … 13062 13040 mov ax, word [bp-00eh] ; 8b 46 f2 13063 13041 mov dx, word [bp-00ch] ; 8b 56 f4 13064 call 088 8dh ; e8 81 fc13042 call 0889dh ; e8 81 fc 13065 13043 mov cx, word [bp-00ch] ; 8b 4e f4 13066 13044 mov bx, word [bp-00eh] ; 8b 5e f2 … … 13069 13047 add ax, 0026ah ; 05 6a 02 13070 13048 mov dx, cx ; 89 ca 13071 call 09f a8h ; e8 87 1313049 call 09fb8h ; e8 87 13 13072 13050 mov es, cx ; 8e c1 13073 13051 mov al, byte [es:bx+003h] ; 26 8a 47 03 13074 13052 test al, al ; 84 c0 13075 je short 08c 30h ; 74 0513053 je short 08c40h ; 74 05 13076 13054 mov ax, strict word 00004h ; b8 04 00 13077 jmp short 08c 32h ; eb 0213055 jmp short 08c42h ; eb 02 13078 13056 xor ah, ah ; 30 e4 13079 13057 lea sp, [bp-006h] ; 8d 66 fa … … 13083 13061 pop bp ; 5d 13084 13062 retn ; c3 13085 ahci_port_deinit_current_: ; 0xf8c 3a LB 0x17f13063 ahci_port_deinit_current_: ; 0xf8c4a LB 0x17f 13086 13064 push bp ; 55 13087 13065 mov bp, sp ; 89 e5 … … 13098 13076 mov byte [bp-00ah], al ; 88 46 f6 13099 13077 cmp AL, strict byte 0ffh ; 3c ff 13100 je near 08d b0h ; 0f 84 52 0113078 je near 08dc0h ; 0f 84 52 01 13101 13079 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13102 13080 sal ax, 007h ; c1 e0 07 … … 13141 13119 xchg dx, ax ; 92 13142 13120 test ax, 0c011h ; a9 11 c0 13143 je short 08c beh ; 74 0413121 je short 08cceh ; 74 04 13144 13122 mov AL, strict byte 001h ; b0 01 13145 jmp short 08c c0h ; eb 0213123 jmp short 08cd0h ; eb 02 13146 13124 xor al, al ; 30 c0 13147 13125 cmp AL, strict byte 001h ; 3c 01 13148 je short 08c 92h ; 74 ce13126 je short 08ca2h ; 74 ce 13149 13127 mov cx, strict word 00020h ; b9 20 00 13150 13128 xor bx, bx ; 31 db 13151 13129 mov ax, di ; 89 f8 13152 13130 mov dx, word [bp-00ch] ; 8b 56 f4 13153 call 0a0 80h ; e8 af 1313131 call 0a090h ; e8 af 13 13154 13132 lea ax, [di+00080h] ; 8d 85 80 00 13155 13133 mov cx, strict word 00040h ; b9 40 00 13156 13134 xor bx, bx ; 31 db 13157 13135 mov dx, word [bp-00ch] ; 8b 56 f4 13158 call 0a0 80h ; e8 a0 1313136 call 0a090h ; e8 a0 13 13159 13137 lea ax, [di+00200h] ; 8d 85 00 02 13160 13138 mov cx, strict word 00060h ; b9 60 00 13161 13139 xor bx, bx ; 31 db 13162 13140 mov dx, word [bp-00ch] ; 8b 56 f4 13163 call 0a0 80h ; e8 91 1313141 call 0a090h ; e8 91 13 13164 13142 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13165 13143 sal ax, 007h ; c1 e0 07 … … 13265 13243 pop bp ; 5d 13266 13244 retn ; c3 13267 ahci_port_init_: ; 0xf8d b9 LB 0x24a13245 ahci_port_init_: ; 0xf8dc9 LB 0x24a 13268 13246 push bp ; 55 13269 13247 mov bp, sp ; 89 e5 … … 13275 13253 mov word [bp-00ah], dx ; 89 56 f6 13276 13254 mov byte [bp-008h], bl ; 88 5e f8 13277 call 08c 3ah ; e8 6d fe13255 call 08c4ah ; e8 6d fe 13278 13256 movzx ax, bl ; 0f b6 c3 13279 13257 sal ax, 007h ; c1 e0 07 … … 13322 13300 xchg dx, ax ; 92 13323 13301 test ax, 0c011h ; a9 11 c0 13324 je short 08e 3ch ; 74 0413302 je short 08e4ch ; 74 04 13325 13303 mov AL, strict byte 001h ; b0 01 13326 jmp short 08e 3eh ; eb 0213304 jmp short 08e4eh ; eb 02 13327 13305 xor al, al ; 30 c0 13328 13306 cmp AL, strict byte 001h ; 3c 01 13329 je short 08e 08h ; 74 c613307 je short 08e18h ; 74 c6 13330 13308 mov cx, strict word 00020h ; b9 20 00 13331 13309 xor bx, bx ; 31 db 13332 13310 mov ax, si ; 89 f0 13333 13311 mov dx, word [bp-00ah] ; 8b 56 f6 13334 call 0a0 80h ; e8 31 1213312 call 0a090h ; e8 31 12 13335 13313 lea ax, [si+00080h] ; 8d 84 80 00 13336 13314 mov cx, strict word 00040h ; b9 40 00 13337 13315 xor bx, bx ; 31 db 13338 13316 mov dx, word [bp-00ah] ; 8b 56 f6 13339 call 0a0 80h ; e8 22 1213317 call 0a090h ; e8 22 12 13340 13318 lea di, [si+00200h] ; 8d bc 00 02 13341 13319 mov cx, strict word 00060h ; b9 60 00 … … 13343 13321 mov ax, di ; 89 f8 13344 13322 mov dx, word [bp-00ah] ; 8b 56 f6 13345 call 0a0 80h ; e8 11 1213323 call 0a090h ; e8 11 12 13346 13324 movzx bx, byte [bp-008h] ; 0f b6 5e f8 13347 13325 sal bx, 007h ; c1 e3 07 … … 13360 13338 mov ax, di ; 89 f8 13361 13339 mov dx, word [bp-00ah] ; 8b 56 f6 13362 call 088 6fh ; e8 d3 f913340 call 0887fh ; e8 d3 f9 13363 13341 mov es, [bp-00ah] ; 8e 46 f6 13364 13342 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13405 13383 mov ax, si ; 89 f0 13406 13384 mov dx, word [bp-00ah] ; 8b 56 f6 13407 call 088 6fh ; e8 67 f913385 call 0887fh ; e8 67 f9 13408 13386 mov es, [bp-00ah] ; 8e 46 f6 13409 13387 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13510 13488 pop bp ; 5d 13511 13489 retn ; c3 13512 @ahci_read_sectors: ; 0xf90 03 LB 0xa613490 @ahci_read_sectors: ; 0xf9013 LB 0xa6 13513 13491 push bp ; 55 13514 13492 mov bp, sp ; 89 e5 … … 13520 13498 sub di, strict byte 0000ch ; 83 ef 0c 13521 13499 cmp di, strict byte 00004h ; 83 ff 04 13522 jbe short 090 28h ; 76 0f13500 jbe short 09038h ; 76 0f 13523 13501 push di ; 57 13524 13502 push 00c74h ; 68 74 0c 13525 13503 push 00c86h ; 68 86 0c 13526 13504 push strict byte 00007h ; 6a 07 13527 call 01a6bh ; e8 46 8a13505 call 01a6bh ; e8 36 8a 13528 13506 add sp, strict byte 00008h ; 83 c4 08 13529 13507 xor bx, bx ; 31 db … … 13539 13517 mov dx, word [es:di+00232h] ; 26 8b 95 32 02 13540 13518 xor ax, ax ; 31 c0 13541 call 08d b9h ; e8 65 fd13519 call 08dc9h ; e8 65 fd 13542 13520 mov bx, strict word 00025h ; bb 25 00 13543 13521 mov ax, si ; 89 f0 13544 13522 mov dx, word [bp+006h] ; 8b 56 06 13545 call 089 d8h ; e8 79 f913523 call 089e8h ; e8 79 f9 13546 13524 mov word [bp-006h], ax ; 89 46 fa 13547 13525 mov es, [bp+006h] ; 8e 46 06 … … 13572 13550 pop bp ; 5d 13573 13551 retn 00004h ; c2 04 00 13574 @ahci_write_sectors: ; 0xf90 a9 LB 0x8413552 @ahci_write_sectors: ; 0xf90b9 LB 0x84 13575 13553 push bp ; 55 13576 13554 mov bp, sp ; 89 e5 … … 13583 13561 sub dx, strict byte 0000ch ; 83 ea 0c 13584 13562 cmp dx, strict byte 00004h ; 83 fa 04 13585 jbe short 090 d2h ; 76 0f13563 jbe short 090e2h ; 76 0f 13586 13564 push dx ; 52 13587 13565 push 00ca5h ; 68 a5 0c 13588 13566 push 00c86h ; 68 86 0c 13589 13567 push strict byte 00007h ; 6a 07 13590 call 01a6bh ; e8 9c 8913568 call 01a6bh ; e8 8c 89 13591 13569 add sp, strict byte 00008h ; 83 c4 08 13592 13570 xor bx, bx ; 31 db … … 13602 13580 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 13603 13581 xor ax, ax ; 31 c0 13604 call 08d b9h ; e8 bd fc13582 call 08dc9h ; e8 bd fc 13605 13583 mov bx, strict word 00035h ; bb 35 00 13606 13584 mov ax, si ; 89 f0 13607 13585 mov dx, cx ; 89 ca 13608 call 089 d8h ; e8 d2 f813586 call 089e8h ; e8 d2 f8 13609 13587 mov dx, ax ; 89 c2 13610 13588 mov es, cx ; 8e c1 … … 13621 13599 pop bp ; 5d 13622 13600 retn 00004h ; c2 04 00 13623 ahci_cmd_packet_: ; 0xf91 2d LB 0x18313601 ahci_cmd_packet_: ; 0xf913d LB 0x183 13624 13602 push bp ; 55 13625 13603 mov bp, sp ; 89 e5 … … 13633 13611 mov dx, strict word 0000eh ; ba 0e 00 13634 13612 mov ax, strict word 00040h ; b8 40 00 13635 call 01765h ; e8 1d 8613613 call 01765h ; e8 0d 86 13636 13614 mov si, 00122h ; be 22 01 13637 13615 mov word [bp-008h], ax ; 89 46 f8 13638 13616 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 13639 jne short 091 73h ; 75 1f13617 jne short 09183h ; 75 1f 13640 13618 mov bx, 00db2h ; bb b2 0d 13641 13619 mov cx, ds ; 8c d9 13642 13620 mov ax, strict word 00004h ; b8 04 00 13643 call 01a2ah ; e8 cb 8813621 call 01a2ah ; e8 bb 88 13644 13622 push 00cb8h ; 68 b8 0c 13645 13623 push 00cc8h ; 68 c8 0c 13646 13624 push strict byte 00004h ; 6a 04 13647 call 01a6bh ; e8 01 8913625 call 01a6bh ; e8 f1 88 13648 13626 add sp, strict byte 00006h ; 83 c4 06 13649 13627 mov ax, strict word 00001h ; b8 01 00 13650 jmp near 092 a7h ; e9 34 0113628 jmp near 092b7h ; e9 34 01 13651 13629 test byte [bp+004h], 001h ; f6 46 04 01 13652 jne short 091 6dh ; 75 f413630 jne short 0917dh ; 75 f4 13653 13631 mov ax, word [bp+006h] ; 8b 46 06 13654 13632 mov dx, word [bp+008h] ; 8b 56 08 … … 13656 13634 sal ax, 1 ; d1 e0 13657 13635 rcl dx, 1 ; d1 d2 13658 loop 091 82h ; e2 fa13636 loop 09192h ; e2 fa 13659 13637 mov es, [bp-008h] ; 8e 46 f8 13660 13638 mov word [es:si], ax ; 26 89 04 … … 13670 13648 mov dx, word [bp+008h] ; 8b 56 08 13671 13649 xor cx, cx ; 31 c9 13672 call 0a0 20h ; e8 68 0e13650 call 0a030h ; e8 68 0e 13673 13651 mov word [es:si+00eh], ax ; 26 89 44 0e 13674 13652 xor di, di ; 31 ff … … 13687 13665 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 13688 13666 xor ax, ax ; 31 c0 13689 call 08d b9h ; e8 c5 fb13667 call 08dc9h ; e8 c5 fb 13690 13668 movzx ax, byte [bp-006h] ; 0f b6 46 fa 13691 13669 push ax ; 50 … … 13694 13672 mov ax, 000c0h ; b8 c0 00 13695 13673 mov dx, word [bp-00ah] ; 8b 56 f6 13696 call 0a0 90h ; e8 88 0e13674 call 0a0a0h ; e8 88 0e 13697 13675 mov es, [bp-008h] ; 8e 46 f8 13698 13676 mov word [es:si+018h], di ; 26 89 7c 18 … … 13701 13679 mov ax, word [es:si+01eh] ; 26 8b 44 1e 13702 13680 test ax, ax ; 85 c0 13703 je short 092 46h ; 74 2713681 je short 09256h ; 74 27 13704 13682 dec ax ; 48 13705 13683 mov es, [bp-00ah] ; 8e 46 f6 … … 13714 13692 mov ax, si ; 89 f0 13715 13693 mov dx, word [bp-008h] ; 8b 56 f8 13716 call 089 d8h ; e8 87 f713694 call 089e8h ; e8 87 f7 13717 13695 les bx, [bp-00eh] ; c4 5e f2 13718 13696 mov ax, word [es:bx+004h] ; 26 8b 47 04 … … 13741 13719 mov ax, word [es:bx+006h] ; 26 8b 47 06 13742 13720 or ax, word [es:bx+004h] ; 26 0b 47 04 13743 jne short 092 a5h ; 75 0513721 jne short 092b5h ; 75 05 13744 13722 mov ax, strict word 00004h ; b8 04 00 13745 jmp short 092 a7h ; eb 0213723 jmp short 092b7h ; eb 02 13746 13724 xor ax, ax ; 31 c0 13747 13725 lea sp, [bp-004h] ; 8d 66 fc … … 13750 13728 pop bp ; 5d 13751 13729 retn 0000ch ; c2 0c 00 13752 ahci_port_detect_device_: ; 0xf92 b0 LB 0x4b113730 ahci_port_detect_device_: ; 0xf92c0 LB 0x4b1 13753 13731 push bp ; 55 13754 13732 mov bp, sp ; 89 e5 … … 13762 13740 movzx di, bl ; 0f b6 fb 13763 13741 mov bx, di ; 89 fb 13764 call 08d b9h ; e8 ef fa13742 call 08dc9h ; e8 ef fa 13765 13743 mov dx, strict word 0000eh ; ba 0e 00 13766 13744 mov ax, strict word 00040h ; b8 40 00 13767 call 01765h ; e8 92 8413745 call 01765h ; e8 82 84 13768 13746 mov word [bp-010h], 00122h ; c7 46 f0 22 01 13769 13747 mov word [bp-00eh], ax ; 89 46 f2 … … 13834 13812 mov bx, strict word 0000fh ; bb 0f 00 13835 13813 xor cx, cx ; 31 c9 13836 call 088 54h ; e8 d7 f413814 call 08864h ; e8 d7 f4 13837 13815 test ax, ax ; 85 c0 13838 je near 097 59h ; 0f 84 d6 0313816 je near 09769h ; 0f 84 d6 03 13839 13817 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13840 13818 sal ax, 007h ; c1 e0 07 … … 13864 13842 mov bx, strict word 0000fh ; bb 0f 00 13865 13843 xor cx, cx ; 31 c9 13866 call 088 54h ; e8 8b f413844 call 08864h ; e8 8b f4 13867 13845 cmp ax, strict word 00001h ; 3d 01 00 13868 je short 093 83h ; 74 b513846 je short 09393h ; 74 b5 13869 13847 push strict byte 00000h ; 6a 00 13870 13848 mov bx, strict word 0000fh ; bb 0f 00 … … 13872 13850 mov ax, di ; 89 f8 13873 13851 mov dx, word [bp-022h] ; 8b 56 de 13874 call 088 54h ; e8 77 f413852 call 08864h ; e8 77 f4 13875 13853 cmp ax, strict word 00003h ; 3d 03 00 13876 jne near 097 59h ; 0f 85 75 0313854 jne near 09769h ; 0f 85 75 03 13877 13855 mov ax, word [bp-018h] ; 8b 46 e8 13878 13856 add ax, 00130h ; 05 30 01 … … 13901 13879 mov byte [bp-008h], al ; 88 46 f8 13902 13880 cmp AL, strict byte 004h ; 3c 04 13903 jnc near 097 59h ; 0f 83 2f 0313881 jnc near 09769h ; 0f 83 2f 03 13904 13882 mov ax, word [bp-018h] ; 8b 46 e8 13905 13883 add ax, 00118h ; 05 18 01 … … 13953 13931 add cl, 00ch ; 80 c1 0c 13954 13932 test dx, dx ; 85 d2 13955 jne near 096 afh ; 0f 85 0d 0213933 jne near 096bfh ; 0f 85 0d 02 13956 13934 cmp di, 00101h ; 81 ff 01 01 13957 jne near 096 afh ; 0f 85 05 0213935 jne near 096bfh ; 0f 85 05 02 13958 13936 les bx, [bp-010h] ; c4 5e f0 13959 13937 db 066h, 026h, 0c7h, 047h, 004h, 000h, 000h, 000h, 000h … … 13969 13947 mov ax, word [bp-010h] ; 8b 46 f0 13970 13948 mov dx, es ; 8c c2 13971 call 089 d8h ; e8 fa f413949 call 089e8h ; e8 fa f4 13972 13950 mov byte [bp-00ch], cl ; 88 4e f4 13973 13951 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 … … 13986 13964 mov dword [bp-016h], strict dword 000000000h ; 66 c7 46 ea 00 00 00 00 13987 13965 cmp di, 00fffh ; 81 ff ff 0f 13988 jne short 095 37h ; 75 1e13966 jne short 09547h ; 75 1e 13989 13967 cmp dx, strict byte 0ffffh ; 83 fa ff 13990 jne short 095 37h ; 75 1913968 jne short 09547h ; 75 19 13991 13969 mov dx, word [bp-0015ch] ; 8b 96 a4 fe 13992 13970 mov word [bp-014h], dx ; 89 56 ec … … 14025 14003 mov al, byte [bp-008h] ; 8a 46 f8 14026 14004 cmp AL, strict byte 001h ; 3c 01 14027 jc short 095 b0h ; 72 0c14028 jbe short 095 b8h ; 76 1214005 jc short 095c0h ; 72 0c 14006 jbe short 095c8h ; 76 12 14029 14007 cmp AL, strict byte 003h ; 3c 03 14030 je short 095 c0h ; 74 1614008 je short 095d0h ; 74 16 14031 14009 cmp AL, strict byte 002h ; 3c 02 14032 je short 095 bch ; 74 0e14033 jmp short 096 09h ; eb 5914010 je short 095cch ; 74 0e 14011 jmp short 09619h ; eb 59 14034 14012 test al, al ; 84 c0 14035 jne short 096 09h ; 75 5514013 jne short 09619h ; 75 55 14036 14014 mov DL, strict byte 040h ; b2 40 14037 jmp short 095 c2h ; eb 0a14015 jmp short 095d2h ; eb 0a 14038 14016 mov DL, strict byte 048h ; b2 48 14039 jmp short 095 c2h ; eb 0614017 jmp short 095d2h ; eb 06 14040 14018 mov DL, strict byte 050h ; b2 50 14041 jmp short 095 c2h ; eb 0214019 jmp short 095d2h ; eb 02 14042 14020 mov DL, strict byte 058h ; b2 58 14043 14021 mov al, dl ; 88 d0 … … 14045 14023 movzx bx, al ; 0f b6 d8 14046 14024 mov ax, bx ; 89 d8 14047 call 017a5h ; e8 d7 8114025 call 017a5h ; e8 c7 81 14048 14026 test al, al ; 84 c0 14049 je short 096 09h ; 74 3714027 je short 09619h ; 74 37 14050 14028 mov al, dl ; 88 d0 14051 14029 db 0feh, 0c0h 14052 14030 ; inc al ; fe c0 14053 14031 xor ah, ah ; 30 e4 14054 call 017a5h ; e8 ca 8114032 call 017a5h ; e8 ba 81 14055 14033 xor ah, ah ; 30 e4 14056 14034 mov si, ax ; 89 c6 14057 14035 sal si, 008h ; c1 e6 08 14058 14036 movzx ax, dl ; 0f b6 c2 14059 call 017a5h ; e8 bd 8114037 call 017a5h ; e8 ad 81 14060 14038 xor ah, ah ; 30 e4 14061 14039 add ax, si ; 01 f0 … … 14064 14042 add AL, strict byte 002h ; 04 02 14065 14043 xor ah, ah ; 30 e4 14066 call 017a5h ; e8 ad 8114044 call 017a5h ; e8 9d 81 14067 14045 xor ah, ah ; 30 e4 14068 14046 mov word [bp-02ah], ax ; 89 46 d6 14069 14047 mov ax, bx ; 89 d8 14070 call 017a5h ; e8 a3 8114048 call 017a5h ; e8 93 81 14071 14049 xor ah, ah ; 30 e4 14072 14050 mov word [bp-026h], ax ; 89 46 da 14073 jmp short 096 19h ; eb 1014051 jmp short 09629h ; eb 10 14074 14052 push dword [bp-016h] ; 66 ff 76 ea 14075 14053 push di ; 57 … … 14077 14055 mov dx, ss ; 8c d2 14078 14056 lea ax, [bp-02ah] ; 8d 46 d6 14079 call 05ac 0h ; e8 a7c414057 call 05acch ; e8 a3 c4 14080 14058 mov bx, 00db2h ; bb b2 0d 14081 14059 mov cx, ds ; 8c d9 14082 14060 mov ax, strict word 00004h ; b8 04 00 14083 call 01a2ah ; e8 06 8414061 call 01a2ah ; e8 f6 83 14084 14062 push dword [bp-016h] ; 66 ff 76 ea 14085 14063 push di ; 57 … … 14100 14078 push 00ce8h ; 68 e8 0c 14101 14079 push strict byte 00004h ; 6a 04 14102 call 01a6bh ; e8 18 8414080 call 01a6bh ; e8 08 84 14103 14081 add sp, strict byte 0001ch ; 83 c4 1c 14104 14082 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 … … 14129 14107 mov dx, strict word 00075h ; ba 75 00 14130 14108 mov ax, strict word 00040h ; b8 40 00 14131 call 01749h ; e8 ab 8014109 call 01749h ; e8 9b 80 14132 14110 db 0feh, 0c0h 14133 14111 ; inc al ; fe c0 … … 14135 14113 mov dx, strict word 00075h ; ba 75 00 14136 14114 mov ax, strict word 00040h ; b8 40 00 14137 call 01757h ; e8 ab 8014138 jmp near 097 4bh ; e9 9c 0014115 call 01757h ; e8 9b 80 14116 jmp near 0975bh ; e9 9c 00 14139 14117 cmp dx, 0eb14h ; 81 fa 14 eb 14140 jne near 097 4bh ; 0f 85 94 0014118 jne near 0975bh ; 0f 85 94 00 14141 14119 cmp di, 00101h ; 81 ff 01 01 14142 jne near 097 4bh ; 0f 85 8c 0014120 jne near 0975bh ; 0f 85 8c 00 14143 14121 les bx, [bp-010h] ; c4 5e f0 14144 14122 db 066h, 026h, 0c7h, 047h, 004h, 000h, 000h, 000h, 000h … … 14154 14132 mov ax, word [bp-010h] ; 8b 46 f0 14155 14133 mov dx, es ; 8c c2 14156 call 089 d8h ; e8 e5 f214134 call 089e8h ; e8 e5 f2 14157 14135 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14158 14136 db 00fh, 095h, 0c0h … … 14191 14169 pop bp ; 5d 14192 14170 retn ; c3 14193 ahci_mem_alloc_: ; 0xf97 61 LB 0x4314171 ahci_mem_alloc_: ; 0xf9771 LB 0x43 14194 14172 push bp ; 55 14195 14173 mov bp, sp ; 89 e5 … … 14201 14179 mov dx, 00413h ; ba 13 04 14202 14180 xor ax, ax ; 31 c0 14203 call 01765h ; e8 f4 7f14181 call 01765h ; e8 e4 7f 14204 14182 test ax, ax ; 85 c0 14205 je short 097 9ah ; 74 2514183 je short 097aah ; 74 25 14206 14184 dec ax ; 48 14207 14185 mov bx, ax ; 89 c3 … … 14210 14188 sal ax, 1 ; d1 e0 14211 14189 rcl dx, 1 ; d1 d2 14212 loop 097 7dh ; e2 fa14190 loop 0978dh ; e2 fa 14213 14191 mov si, ax ; 89 c6 14214 14192 mov di, dx ; 89 d7 … … 14216 14194 shr di, 1 ; d1 ef 14217 14195 rcr si, 1 ; d1 de 14218 loop 097 8ah ; e2 fa14196 loop 0979ah ; e2 fa 14219 14197 mov dx, 00413h ; ba 13 04 14220 14198 xor ax, ax ; 31 c0 14221 call 01773h ; e8 db 7f14199 call 01773h ; e8 cb 7f 14222 14200 mov ax, si ; 89 f0 14223 14201 lea sp, [bp-00ah] ; 8d 66 f6 … … 14229 14207 pop bp ; 5d 14230 14208 retn ; c3 14231 ahci_hba_init_: ; 0xf97 a4 LB 0x16614209 ahci_hba_init_: ; 0xf97b4 LB 0x166 14232 14210 push bp ; 55 14233 14211 mov bp, sp ; 89 e5 … … 14241 14219 mov dx, strict word 0000eh ; ba 0e 00 14242 14220 mov ax, strict word 00040h ; b8 40 00 14243 call 01765h ; e8 ab 7f14221 call 01765h ; e8 9b 7f 14244 14222 mov bx, 00122h ; bb 22 01 14245 14223 mov di, ax ; 89 c7 … … 14258 14236 shr eax, 010h ; 66 c1 e8 10 14259 14237 xchg dx, ax ; 92 14260 call 097 61h ; e8 83 ff14238 call 09771h ; e8 83 ff 14261 14239 mov word [bp-010h], ax ; 89 46 f0 14262 14240 test ax, ax ; 85 c0 14263 je near 098 e9h ; 0f 84 02 0114241 je near 098f9h ; 0f 84 02 01 14264 14242 mov ax, word [bp-010h] ; 8b 46 f0 14265 14243 mov es, di ; 8e c7 … … 14311 14289 xchg dx, ax ; 92 14312 14290 test AL, strict byte 001h ; a8 01 14313 jne short 098 3dh ; 75 de14291 jne short 0984dh ; 75 de 14314 14292 xor ax, ax ; 31 c0 14315 14293 xor cx, cx ; 31 c9 … … 14329 14307 mov bx, strict word 0001fh ; bb 1f 00 14330 14308 xor cx, cx ; 31 c9 14331 call 088 54h ; e8 d1 ef14309 call 08864h ; e8 d1 ef 14332 14310 db 0feh, 0c0h 14333 14311 ; inc al ; fe c0 14334 14312 mov byte [bp-00eh], al ; 88 46 f2 14335 14313 mov byte [bp-00ch], 000h ; c6 46 f4 00 14336 jmp short 098 aeh ; eb 2014314 jmp short 098beh ; eb 20 14337 14315 xor al, al ; 30 c0 14338 14316 test al, al ; 84 c0 14339 je short 098 a5h ; 74 1114317 je short 098b5h ; 74 11 14340 14318 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 14341 14319 xor ax, ax ; 31 c0 14342 14320 mov dx, word [bp-010h] ; 8b 56 f0 14343 call 092 b0h ; e8 10 fa14321 call 092c0h ; e8 10 fa 14344 14322 dec byte [bp-00eh] ; fe 4e f2 14345 je short 098 e7h ; 74 4214323 je short 098f7h ; 74 42 14346 14324 inc byte [bp-00ch] ; fe 46 f4 14347 14325 cmp byte [bp-00ch], 020h ; 80 7e f4 20 14348 jnc short 098 e7h ; 73 3914326 jnc short 098f7h ; 73 39 14349 14327 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 14350 14328 mov bx, strict word 00001h ; bb 01 00 14351 14329 xor di, di ; 31 ff 14352 jcxz 098 bfh ; e3 0614330 jcxz 098cfh ; e3 06 14353 14331 sal bx, 1 ; d1 e3 14354 14332 rcl di, 1 ; d1 d7 14355 loop 098 b9h ; e2 fa14333 loop 098c9h ; e2 fa 14356 14334 mov ax, strict word 0000ch ; b8 0c 00 14357 14335 xor cx, cx ; 31 c9 … … 14369 14347 xchg dx, ax ; 92 14370 14348 test dx, di ; 85 fa 14371 jne short 098 e3h ; 75 0414349 jne short 098f3h ; 75 04 14372 14350 test ax, bx ; 85 d8 14373 je short 098 8eh ; 74 ab14351 je short 0989eh ; 74 ab 14374 14352 mov AL, strict byte 001h ; b0 01 14375 jmp short 098 90h ; eb a914353 jmp short 098a0h ; eb a9 14376 14354 xor ax, ax ; 31 c0 14377 14355 lea sp, [bp-00ah] ; 8d 66 f6 … … 14383 14361 pop bp ; 5d 14384 14362 retn ; c3 14385 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 dah, 099h, 0b8h, 099h, 0beh, 099h, 0c4h, 099h, 0cah14386 db 099h, 0 d0h, 099h, 0d6h, 099h, 0dah, 099h14387 _ahci_init: ; 0xf99 0a LB 0x11614363 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0eah, 099h, 0c8h, 099h, 0ceh, 099h, 0d4h, 099h, 0dah 14364 db 099h, 0e0h, 099h, 0e6h, 099h, 0eah, 099h 14365 _ahci_init: ; 0xf991a LB 0x116 14388 14366 push bp ; 55 14389 14367 mov bp, sp ; 89 e5 … … 14393 14371 mov ax, 00601h ; b8 01 06 14394 14372 mov dx, strict word 00001h ; ba 01 00 14395 call 09e 40h ; e8 25 0514373 call 09e50h ; e8 25 05 14396 14374 mov bx, ax ; 89 c3 14397 14375 cmp ax, strict word 0ffffh ; 3d ff ff 14398 je near 09a 19h ; 0f 84 f5 0014376 je near 09a29h ; 0f 84 f5 00 14399 14377 xor al, al ; 30 c0 14400 14378 shr ax, 008h ; c1 e8 08 … … 14404 14382 xor ah, ah ; 30 e4 14405 14383 mov bx, strict word 00034h ; bb 34 00 14406 call 09e 6bh ; e8 31 0514384 call 09e7bh ; e8 31 05 14407 14385 mov cl, al ; 88 c1 14408 14386 test cl, cl ; 84 c9 14409 je short 099 63h ; 74 2314387 je short 09973h ; 74 23 14410 14388 movzx bx, cl ; 0f b6 d9 14411 14389 movzx di, byte [bp-008h] ; 0f b6 7e f8 … … 14413 14391 mov dx, di ; 89 fa 14414 14392 mov ax, si ; 89 f0 14415 call 09e 6bh ; e8 19 0514393 call 09e7bh ; e8 19 05 14416 14394 cmp AL, strict byte 012h ; 3c 12 14417 je short 099 63h ; 74 0d14395 je short 09973h ; 74 0d 14418 14396 mov al, cl ; 88 c8 14419 14397 db 0feh, 0c0h … … 14422 14400 mov dx, di ; 89 fa 14423 14401 mov ax, si ; 89 f0 14424 jmp short 099 37h ; eb d414402 jmp short 09947h ; eb d4 14425 14403 test cl, cl ; 84 c9 14426 je near 09a 19h ; 0f 84 b0 0014404 je near 09a29h ; 0f 84 b0 00 14427 14405 add cl, 002h ; 80 c1 02 14428 14406 movzx bx, cl ; 0f b6 d9 … … 14431 14409 mov dx, si ; 89 f2 14432 14410 mov ax, di ; 89 f8 14433 call 09e 6bh ; e8 ed 0414411 call 09e7bh ; e8 ed 04 14434 14412 cmp AL, strict byte 010h ; 3c 10 14435 jne near 09a 19h ; 0f 85 95 0014413 jne near 09a29h ; 0f 85 95 00 14436 14414 mov byte [bp-006h], 000h ; c6 46 fa 00 14437 14415 mov al, cl ; 88 c8 … … 14440 14418 mov dx, si ; 89 f2 14441 14419 mov ax, di ; 89 f8 14442 call 09e 8fh ; e8 f9 0414420 call 09e9fh ; e8 f9 04 14443 14421 mov dx, ax ; 89 c2 14444 14422 and ax, strict word 0000fh ; 25 0f 00 14445 14423 sub ax, strict word 00004h ; 2d 04 00 14446 14424 cmp ax, strict word 0000bh ; 3d 0b 00 14447 jnbe short 099 dah ; 77 3714425 jnbe short 099eah ; 77 37 14448 14426 push CS ; 0e 14449 14427 pop ES ; 07 14450 14428 mov cx, strict word 00008h ; b9 08 00 14451 mov di, 09 8f3h ; bf f3 9814429 mov di, 09903h ; bf 03 99 14452 14430 repne scasb ; f2 ae 14453 14431 sal cx, 1 ; d1 e1 14454 14432 mov di, cx ; 89 cf 14455 mov ax, word [cs:di-06 706h] ; 2e 8b 85 fa 9814433 mov ax, word [cs:di-066f6h] ; 2e 8b 85 0a 99 14456 14434 jmp ax ; ff e0 14457 14435 mov byte [bp-006h], 010h ; c6 46 fa 10 14458 jmp short 099 dah ; eb 1c14436 jmp short 099eah ; eb 1c 14459 14437 mov byte [bp-006h], 014h ; c6 46 fa 14 14460 jmp short 099 dah ; eb 1614438 jmp short 099eah ; eb 16 14461 14439 mov byte [bp-006h], 018h ; c6 46 fa 18 14462 jmp short 099 dah ; eb 1014440 jmp short 099eah ; eb 10 14463 14441 mov byte [bp-006h], 01ch ; c6 46 fa 1c 14464 jmp short 099 dah ; eb 0a14442 jmp short 099eah ; eb 0a 14465 14443 mov byte [bp-006h], 020h ; c6 46 fa 20 14466 jmp short 099 dah ; eb 0414444 jmp short 099eah ; eb 04 14467 14445 mov byte [bp-006h], 024h ; c6 46 fa 24 14468 14446 mov cx, dx ; 89 d1 … … 14471 14449 mov al, byte [bp-006h] ; 8a 46 fa 14472 14450 test al, al ; 84 c0 14473 je short 09a 19h ; 74 3014451 je short 09a29h ; 74 30 14474 14452 movzx bx, al ; 0f b6 d8 14475 14453 movzx di, byte [bp-008h] ; 0f b6 7e f8 … … 14477 14455 mov dx, di ; 89 fa 14478 14456 mov ax, si ; 89 f0 14479 call 09e b1h ; e8 b6 0414457 call 09ec1h ; e8 b6 04 14480 14458 test AL, strict byte 001h ; a8 01 14481 je short 09a 19h ; 74 1a14459 je short 09a29h ; 74 1a 14482 14460 and AL, strict byte 0f0h ; 24 f0 14483 14461 add ax, cx ; 01 c8 … … 14487 14465 mov dx, di ; 89 fa 14488 14466 mov ax, si ; 89 f0 14489 call 09e d8h ; e8 c5 0414467 call 09ee8h ; e8 c5 04 14490 14468 mov ax, word [bp-00ch] ; 8b 46 f4 14491 call 097 a4h ; e8 8b fd14469 call 097b4h ; e8 8b fd 14492 14470 lea sp, [bp-004h] ; 8d 66 fc 14493 14471 pop di ; 5f … … 14495 14473 pop bp ; 5d 14496 14474 retn ; c3 14497 apm_out_str_: ; 0xf9a 20 LB 0x3914475 apm_out_str_: ; 0xf9a30 LB 0x39 14498 14476 push bp ; 55 14499 14477 mov bp, sp ; 89 e5 … … 14501 14479 mov bx, ax ; 89 c3 14502 14480 cmp byte [bx], 000h ; 80 3f 00 14503 je short 09a 35h ; 74 0a14481 je short 09a45h ; 74 0a 14504 14482 mov al, byte [bx] ; 8a 07 14505 14483 out DX, AL ; ee … … 14508 14486 db 00ah, 0c0h 14509 14487 ; or al, al ; 0a c0 14510 jne short 09a 2dh ; 75 f814488 jne short 09a3dh ; 75 f8 14511 14489 lea sp, [bp-002h] ; 8d 66 fe 14512 14490 pop bx ; 5b 14513 14491 pop bp ; 5d 14514 14492 retn ; c3 14515 jl short 099d7h ; 7c 9a 14516 dec ax ; 48 14493 mov [bp+si-064a8h], ds ; 8c 9a 58 9b 14494 sahf ; 9e 14495 call far 09b58h:09ab9h ; 9a b9 9a 58 9b 14496 in AL, strict byte 09ah ; e4 9a 14497 pop ax ; 58 14517 14498 wait ; 9b 14518 mov ds, [bp+si-06557h] ; 8e 9a a9 9a 14519 dec ax ; 48 14499 jmp near 0c7f6h ; e9 9a 2d 14520 14500 wait ; 9b 14521 aam 09ah ; d4 9a 14522 dec ax ; 48 14501 sub ax, 02d9bh ; 2d 9b 2d 14523 14502 wait ; 9b 14524 fstp dword [bp+si-064e3h] ; d9 9a 1d 9b14525 s bb ax, 01d9bh ; 1d 9b 1d14503 sub byte [bp+di-064d3h], bl ; 28 9b 2d 9b 14504 sub ax, 0219bh ; 2d 9b 21 14526 14505 wait ; 9b 14527 sbb byte [bp+di-064e3h], bl ; 18 9b 1d 9b 14528 sbb ax, 0119bh ; 1d 9b 11 14529 wait ; 9b 14530 _apm_function: ; 0xf9a59 LB 0xf5 14506 _apm_function: ; 0xf9a69 LB 0xf5 14531 14507 push bp ; 55 14532 14508 mov bp, sp ; 89 e5 … … 14536 14512 xor ah, ah ; 30 e4 14537 14513 cmp ax, strict word 0000eh ; 3d 0e 00 14538 jnbe near 09b 1dh ; 0f 87 b0 0014514 jnbe near 09b2dh ; 0f 87 b0 00 14539 14515 mov bx, ax ; 89 c3 14540 14516 add bx, ax ; 01 c3 14541 14517 mov dx, word [bp+018h] ; 8b 56 18 14542 14518 or dl, 001h ; 80 ca 01 14543 jmp word [cs:bx-065 c5h] ; 2e ff a7 3b 9a14519 jmp word [cs:bx-065b5h] ; 2e ff a7 4b 9a 14544 14520 mov word [bp+012h], 00102h ; c7 46 12 02 01 14545 14521 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 14546 14522 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 14547 jmp near 09b 48h ; e9 ba 0014523 jmp near 09b58h ; e9 ba 00 14548 14524 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14549 mov word [bp+00ch], 0a1 04h ; c7 46 0c 04 a114525 mov word [bp+00ch], 0a114h ; c7 46 0c 14 a1 14550 14526 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 14551 14527 mov ax, strict word 0fff0h ; b8 f0 ff 14552 14528 mov word [bp+006h], ax ; 89 46 06 14553 14529 mov word [bp+004h], ax ; 89 46 04 14554 jmp near 09b 48h ; e9 9f 0014530 jmp near 09b58h ; e9 9f 00 14555 14531 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14556 14532 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 14565 14541 mov si, ax ; 89 c6 14566 14542 sal esi, 010h ; 66 c1 e6 10 14567 jmp near 09b 48h ; e9 74 0014543 jmp near 09b58h ; e9 74 00 14568 14544 sti ; fb 14569 14545 hlt ; f4 14570 jmp near 09b 48h ; e9 6f 0014546 jmp near 09b58h ; e9 6f 00 14571 14547 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 14572 je short 09 afeh ; 74 1f14548 je short 09b0eh ; 74 1f 14573 14549 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 14574 je short 09 af6h ; 74 1114550 je short 09b06h ; 74 11 14575 14551 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 14576 jne short 09b 06h ; 75 1b14552 jne short 09b16h ; 75 1b 14577 14553 mov dx, 0040fh ; ba 0f 04 14578 14554 mov ax, 00d22h ; b8 22 0d 14579 call 09a 20h ; e8 2c ff14580 jmp short 09b 48h ; eb 5214555 call 09a30h ; e8 2c ff 14556 jmp short 09b58h ; eb 52 14581 14557 mov dx, 0040fh ; ba 0f 04 14582 14558 mov ax, 00d2ah ; b8 2a 0d 14583 jmp short 09 af1h ; eb f314559 jmp short 09b01h ; eb f3 14584 14560 mov dx, 0040fh ; ba 0f 04 14585 14561 mov ax, 00d32h ; b8 32 0d 14586 jmp short 09 af1h ; eb eb14562 jmp short 09b01h ; eb eb 14587 14563 or ah, 00ah ; 80 cc 0a 14588 14564 mov word [bp+012h], ax ; 89 46 12 14589 14565 mov word [bp+018h], dx ; 89 56 18 14590 jmp short 09b 48h ; eb 3714566 jmp short 09b58h ; eb 37 14591 14567 mov word [bp+012h], 00102h ; c7 46 12 02 01 14592 jmp short 09b 48h ; eb 3014568 jmp short 09b58h ; eb 30 14593 14569 or ah, 080h ; 80 cc 80 14594 jmp short 09b 09h ; eb ec14570 jmp short 09b19h ; eb ec 14595 14571 mov bx, 00db2h ; bb b2 0d 14596 14572 mov cx, ds ; 8c d9 14597 14573 mov ax, strict word 00004h ; b8 04 00 14598 call 01a2ah ; e8 02 7f14574 call 01a2ah ; e8 f2 7e 14599 14575 push word [bp+00ch] ; ff 76 0c 14600 14576 push word [bp+012h] ; ff 76 12 14601 14577 push 00d3bh ; 68 3b 0d 14602 14578 push strict byte 00004h ; 6a 04 14603 call 01a6bh ; e8 35 7f14579 call 01a6bh ; e8 25 7f 14604 14580 add sp, strict byte 00008h ; 83 c4 08 14605 14581 mov ax, word [bp+012h] ; 8b 46 12 … … 14612 14588 pop bp ; 5d 14613 14589 retn ; c3 14614 pci16_select_reg_: ; 0xf9b 4e LB 0x2414590 pci16_select_reg_: ; 0xf9b5e LB 0x24 14615 14591 push bp ; 55 14616 14592 mov bp, sp ; 89 e5 … … 14629 14605 pop bp ; 5d 14630 14606 retn ; c3 14631 pci16_find_device_: ; 0xf9b 72 LB 0xf714607 pci16_find_device_: ; 0xf9b82 LB 0xf7 14632 14608 push bp ; 55 14633 14609 mov bp, sp ; 89 e5 … … 14643 14619 mov byte [bp-008h], 000h ; c6 46 f8 00 14644 14620 test bl, 007h ; f6 c3 07 14645 jne short 09b bah ; 75 2d14621 jne short 09bcah ; 75 2d 14646 14622 mov dx, strict word 0000eh ; ba 0e 00 14647 14623 mov ax, bx ; 89 d8 14648 call 09b 4eh ; e8 b9 ff14624 call 09b5eh ; e8 b9 ff 14649 14625 mov dx, 00cfeh ; ba fe 0c 14650 14626 in AL, DX ; ec … … 14653 14629 mov byte [bp-006h], al ; 88 46 fa 14654 14630 cmp AL, strict byte 0ffh ; 3c ff 14655 jne short 09b a8h ; 75 0614631 jne short 09bb8h ; 75 06 14656 14632 add bx, strict byte 00008h ; 83 c3 08 14657 jmp near 09c 3bh ; e9 93 0014633 jmp near 09c4bh ; e9 93 00 14658 14634 test byte [bp-006h], 080h ; f6 46 fa 80 14659 je short 09b b5h ; 74 0714635 je short 09bc5h ; 74 07 14660 14636 mov word [bp-00ah], strict word 00001h ; c7 46 f6 01 00 14661 jmp short 09b bah ; eb 0514637 jmp short 09bcah ; eb 05 14662 14638 mov word [bp-00ah], strict word 00008h ; c7 46 f6 08 00 14663 14639 mov al, byte [bp-006h] ; 8a 46 fa 14664 14640 and AL, strict byte 007h ; 24 07 14665 14641 cmp AL, strict byte 001h ; 3c 01 14666 jne short 09b e2h ; 75 1f14642 jne short 09bf2h ; 75 1f 14667 14643 mov ax, bx ; 89 d8 14668 14644 shr ax, 008h ; c1 e8 08 14669 14645 test ax, ax ; 85 c0 14670 jne short 09b e2h ; 75 1614646 jne short 09bf2h ; 75 16 14671 14647 mov dx, strict word 0001ah ; ba 1a 00 14672 14648 mov ax, bx ; 89 d8 14673 call 09b 4eh ; e8 7a ff14649 call 09b5eh ; e8 7a ff 14674 14650 mov dx, 00cfeh ; ba fe 0c 14675 14651 in AL, DX ; ec … … 14677 14653 ; sub ah, ah ; 2a e4 14678 14654 cmp al, byte [bp-008h] ; 3a 46 f8 14679 jbe short 09b e2h ; 76 0314655 jbe short 09bf2h ; 76 03 14680 14656 mov byte [bp-008h], al ; 88 46 f8 14681 14657 test di, di ; 85 ff 14682 je short 09b ebh ; 74 0514658 je short 09bfbh ; 74 05 14683 14659 mov dx, strict word 00008h ; ba 08 00 14684 jmp short 09b edh ; eb 0214660 jmp short 09bfdh ; eb 02 14685 14661 xor dx, dx ; 31 d2 14686 14662 mov ax, bx ; 89 d8 14687 call 09b 4eh ; e8 5c ff14663 call 09b5eh ; e8 5c ff 14688 14664 mov dx, 00cfch ; ba fc 0c 14689 14665 in eax, DX ; 66 ed … … 14696 14672 mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00 14697 14673 test di, di ; 85 ff 14698 je short 09c 1ch ; 74 0f14674 je short 09c2ch ; 74 0f 14699 14675 mov cx, strict word 00008h ; b9 08 00 14700 14676 shr dx, 1 ; d1 ea 14701 14677 rcr ax, 1 ; d1 d8 14702 loop 09c 10h ; e2 fa14678 loop 09c20h ; e2 fa 14703 14679 mov word [bp-00eh], ax ; 89 46 f2 14704 14680 mov word [bp-00ch], dx ; 89 56 f4 14705 14681 mov ax, word [bp-00ch] ; 8b 46 f4 14706 14682 cmp ax, word [bp-014h] ; 3b 46 ec 14707 jne short 09c 2ch ; 75 0814683 jne short 09c3ch ; 75 08 14708 14684 mov ax, word [bp-00eh] ; 8b 46 f2 14709 14685 cmp ax, word [bp-012h] ; 3b 46 ee 14710 je short 09c 32h ; 74 0614686 je short 09c42h ; 74 06 14711 14687 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 14712 je short 09c 38h ; 74 0614688 je short 09c48h ; 74 06 14713 14689 dec si ; 4e 14714 14690 cmp si, strict byte 0ffffh ; 83 fe ff 14715 je short 09c 4ah ; 74 1214691 je short 09c5ah ; 74 12 14716 14692 add bx, word [bp-00ah] ; 03 5e f6 14717 14693 mov dx, bx ; 89 da … … 14719 14695 movzx ax, byte [bp-008h] ; 0f b6 46 f8 14720 14696 cmp dx, ax ; 39 c2 14721 jbe near 09b 88h ; 0f 86 3e ff14697 jbe near 09b98h ; 0f 86 3e ff 14722 14698 cmp si, strict byte 0ffffh ; 83 fe ff 14723 jne short 09c 53h ; 75 0414699 jne short 09c63h ; 75 04 14724 14700 mov ax, bx ; 89 d8 14725 jmp short 09c 56h ; eb 0314701 jmp short 09c66h ; eb 03 14726 14702 mov ax, strict word 0ffffh ; b8 ff ff 14727 14703 lea sp, [bp-004h] ; 8d 66 fc … … 14730 14706 pop bp ; 5d 14731 14707 retn ; c3 14732 dec bx ; 4b14708 pop bx ; 5b 14733 14709 popfw ; 9d 14734 db 065h, 09dh14735 ; gs popfw ; 659d14736 js short 09c00h ; 789d14737 lea bx, [di-06260h] ; 8d 9d a0 9d14738 mov BL, strict byte 09dh ; b39d14739 _pci16_function: ; 0xf9c 69 LB 0x1d714710 jne short 09c0eh ; 75 9d 14711 mov byte [di-06263h], bl ; 88 9d 9d 9d 14712 mov AL, strict byte 09dh ; b0 9d 14713 retn ; c3 14714 popfw ; 9d 14715 _pci16_function: ; 0xf9c79 LB 0x1d7 14740 14716 push bp ; 55 14741 14717 mov bp, sp ; 89 e5 … … 14751 14727 xor ah, ah ; 30 e4 14752 14728 cmp bx, strict byte 00003h ; 83 fb 03 14753 jc short 09c a2h ; 72 1a14754 jbe short 09 cfah ; 76 7014729 jc short 09cb2h ; 72 1a 14730 jbe short 09d0ah ; 76 70 14755 14731 cmp bx, strict byte 0000eh ; 83 fb 0e 14756 je near 09d c7h ; 0f 84 36 0114732 je near 09dd7h ; 0f 84 36 01 14757 14733 cmp bx, strict byte 00008h ; 83 fb 08 14758 jc near 09e 0ch ; 0f 82 74 0114734 jc near 09e1ch ; 0f 82 74 01 14759 14735 cmp bx, strict byte 0000dh ; 83 fb 0d 14760 jbe near 09d 1fh ; 0f 86 80 0014761 jmp near 09e 0ch ; e9 6a 0114736 jbe near 09d2fh ; 0f 86 80 00 14737 jmp near 09e1ch ; e9 6a 01 14762 14738 cmp bx, strict byte 00002h ; 83 fb 02 14763 je short 09c cah ; 74 2314739 je short 09cdah ; 74 23 14764 14740 cmp bx, strict byte 00001h ; 83 fb 01 14765 jne near 09e 0ch ; 0f 85 5e 0114741 jne near 09e1ch ; 0f 85 5e 01 14766 14742 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 14767 14743 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 14769 14745 mov word [bp+018h], 04350h ; c7 46 18 50 43 14770 14746 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 14771 jmp near 09e 39h ; e9 6f 0114747 jmp near 09e49h ; e9 6f 01 14772 14748 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 14773 jne short 09c d6h ; 75 0614749 jne short 09ce6h ; 75 06 14774 14750 or ah, 083h ; 80 cc 83 14775 jmp near 09e 32h ; e9 5c 0114751 jmp near 09e42h ; e9 5c 01 14776 14752 mov bx, word [bp+008h] ; 8b 5e 08 14777 14753 mov dx, word [bp+01ch] ; 8b 56 1c 14778 14754 mov ax, word [bp+018h] ; 8b 46 18 14779 14755 xor cx, cx ; 31 c9 14780 call 09b 72h ; e8 8e fe14756 call 09b82h ; e8 8e fe 14781 14757 cmp ax, strict word 0ffffh ; 3d ff ff 14782 jne short 09 cf4h ; 75 0b14758 jne short 09d04h ; 75 0b 14783 14759 mov ax, word [bp+020h] ; 8b 46 20 14784 14760 xor ah, ah ; 30 e4 14785 14761 or ah, 086h ; 80 cc 86 14786 jmp near 09e 32h ; e9 3e 0114762 jmp near 09e42h ; e9 3e 01 14787 14763 mov word [bp+014h], ax ; 89 46 14 14788 jmp near 09e 39h ; e9 3f 0114764 jmp near 09e49h ; e9 3f 01 14789 14765 mov bx, word [bp+008h] ; 8b 5e 08 14790 14766 mov ax, word [bp+01ch] ; 8b 46 1c 14791 14767 mov dx, word [bp+01eh] ; 8b 56 1e 14792 14768 mov cx, strict word 00001h ; b9 01 00 14793 call 09b 72h ; e8 69 fe14769 call 09b82h ; e8 69 fe 14794 14770 cmp ax, strict word 0ffffh ; 3d ff ff 14795 jne short 09d 19h ; 75 0b14771 jne short 09d29h ; 75 0b 14796 14772 mov ax, word [bp+020h] ; 8b 46 20 14797 14773 xor ah, ah ; 30 e4 14798 14774 or ah, 086h ; 80 cc 86 14799 jmp near 09e 32h ; e9 19 0114775 jmp near 09e42h ; e9 19 01 14800 14776 mov word [bp+014h], ax ; 89 46 14 14801 jmp near 09e 39h ; e9 1a 0114777 jmp near 09e49h ; e9 1a 01 14802 14778 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 14803 jc short 09d 2ch ; 72 0614779 jc short 09d3ch ; 72 06 14804 14780 or ah, 087h ; 80 cc 87 14805 jmp near 09e 32h ; e9 06 0114781 jmp near 09e42h ; e9 06 01 14806 14782 mov dx, word [bp+004h] ; 8b 56 04 14807 14783 mov ax, word [bp+014h] ; 8b 46 14 14808 call 09b 4eh ; e8 19 fe14784 call 09b5eh ; e8 19 fe 14809 14785 mov bx, word [bp+020h] ; 8b 5e 20 14810 14786 xor bh, bh ; 30 ff 14811 14787 sub bx, strict byte 00008h ; 83 eb 08 14812 14788 cmp bx, strict byte 00005h ; 83 fb 05 14813 jnbe near 09e 39h ; 0f 87 f5 0014789 jnbe near 09e49h ; 0f 87 f5 00 14814 14790 add bx, bx ; 01 db 14815 jmp word [cs:bx-063 a3h] ; 2e ff a7 5d 9c14791 jmp word [cs:bx-06393h] ; 2e ff a7 6d 9c 14816 14792 mov bx, word [bp+01ch] ; 8b 5e 1c 14817 14793 xor bl, bl ; 30 db … … 14824 14800 or bx, ax ; 09 c3 14825 14801 mov word [bp+01ch], bx ; 89 5e 1c 14826 jmp near 09e 39h ; e9 d4 0014802 jmp near 09e49h ; e9 d4 00 14827 14803 mov dx, word [bp+004h] ; 8b 56 04 14828 14804 xor dh, dh ; 30 f6 … … 14831 14807 in ax, DX ; ed 14832 14808 mov word [bp+01ch], ax ; 89 46 1c 14833 jmp near 09e 39h ; e9 c1 0014809 jmp near 09e49h ; e9 c1 00 14834 14810 mov dx, 00cfch ; ba fc 0c 14835 14811 in eax, DX ; 66 ed … … 14840 14816 mov word [bp+01ch], ax ; 89 46 1c 14841 14817 mov word [bp+01eh], dx ; 89 56 1e 14842 jmp near 09e 39h ; e9 ac 0014818 jmp near 09e49h ; e9 ac 00 14843 14819 mov ax, word [bp+01ch] ; 8b 46 1c 14844 14820 mov dx, word [bp+004h] ; 8b 56 04 … … 14847 14823 add dx, 00cfch ; 81 c2 fc 0c 14848 14824 out DX, AL ; ee 14849 jmp near 09e 39h ; e9 99 0014825 jmp near 09e49h ; e9 99 00 14850 14826 mov ax, word [bp+01ch] ; 8b 46 1c 14851 14827 mov dx, word [bp+004h] ; 8b 56 04 … … 14854 14830 add dx, 00cfch ; 81 c2 fc 0c 14855 14831 out DX, ax ; ef 14856 jmp near 09e 39h ; e9 86 0014832 jmp near 09e49h ; e9 86 00 14857 14833 mov ax, word [bp+01ch] ; 8b 46 1c 14858 14834 mov cx, word [bp+01eh] ; 8b 4e 1e … … 14863 14839 ; mov ax, cx ; 8b c1 14864 14840 out DX, eax ; 66 ef 14865 jmp short 09e 39h ; eb 7214841 jmp short 09e49h ; eb 72 14866 14842 mov bx, word [bp+004h] ; 8b 5e 04 14867 14843 mov es, [bp+026h] ; 8e 46 26 … … 14870 14846 mov cx, word [0f370h] ; 8b 0e 70 f3 14871 14847 cmp cx, word [es:bx] ; 26 3b 0f 14872 jbe short 09d edh ; 76 1114848 jbe short 09dfdh ; 76 11 14873 14849 mov ax, word [bp+020h] ; 8b 46 20 14874 14850 xor ah, ah ; 30 e4 … … 14876 14852 mov word [bp+020h], ax ; 89 46 20 14877 14853 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 14878 jmp short 09e 01h ; eb 1414854 jmp short 09e11h ; eb 14 14879 14855 les di, [es:bx+002h] ; 26 c4 7f 02 14880 14856 mov si, 0f190h ; be 90 f1 … … 14888 14864 les bx, [bp-008h] ; c4 5e f8 14889 14865 mov word [es:bx], ax ; 26 89 07 14890 jmp short 09e 39h ; eb 2d14866 jmp short 09e49h ; eb 2d 14891 14867 mov bx, 00db2h ; bb b2 0d 14892 14868 mov cx, ds ; 8c d9 14893 14869 mov ax, strict word 00004h ; b8 04 00 14894 call 01a2ah ; e8 13 7c14870 call 01a2ah ; e8 03 7c 14895 14871 mov ax, word [bp+014h] ; 8b 46 14 14896 14872 push ax ; 50 … … 14899 14875 push 00d6eh ; 68 6e 0d 14900 14876 push strict byte 00004h ; 6a 04 14901 call 01a6bh ; e8 44 7c14877 call 01a6bh ; e8 34 7c 14902 14878 add sp, strict byte 00008h ; 83 c4 08 14903 14879 mov ax, word [bp+020h] ; 8b 46 20 … … 14911 14887 pop bp ; 5d 14912 14888 retn ; c3 14913 pci_find_classcode_: ; 0xf9e 40 LB 0x2b14889 pci_find_classcode_: ; 0xf9e50 LB 0x2b 14914 14890 push bp ; 55 14915 14891 mov bp, sp ; 89 e5 … … 14926 14902 int 01ah ; cd 1a 14927 14903 cmp ah, 000h ; 80 fc 00 14928 je near 09e 61h ; 0f 84 03 0014904 je near 09e71h ; 0f 84 03 00 14929 14905 mov bx, strict word 0ffffh ; bb ff ff 14930 14906 mov ax, bx ; 89 d8 … … 14935 14911 pop bp ; 5d 14936 14912 retn ; c3 14937 pci_read_config_byte_: ; 0xf9e 6b LB 0x2414913 pci_read_config_byte_: ; 0xf9e7b LB 0x24 14938 14914 push bp ; 55 14939 14915 mov bp, sp ; 89 e5 … … 14954 14930 pop bp ; 5d 14955 14931 retn ; c3 14956 pci_read_config_word_: ; 0xf9e 8f LB 0x2214932 pci_read_config_word_: ; 0xf9e9f LB 0x22 14957 14933 push bp ; 55 14958 14934 mov bp, sp ; 89 e5 … … 14973 14949 pop bp ; 5d 14974 14950 retn ; c3 14975 pci_read_config_dword_: ; 0xf9e b1 LB 0x2714951 pci_read_config_dword_: ; 0xf9ec1 LB 0x27 14976 14952 push bp ; 55 14977 14953 mov bp, sp ; 89 e5 … … 14994 14970 pop bp ; 5d 14995 14971 retn ; c3 14996 pci_write_config_word_: ; 0xf9e d8 LB 0x1c14972 pci_write_config_word_: ; 0xf9ee8 LB 0x1c 14997 14973 push bp ; 55 14998 14974 mov bp, sp ; 89 e5 … … 15009 14985 pop bp ; 5d 15010 14986 retn ; c3 15011 vds_is_present_: ; 0xf9 ef4 LB 0x1d14987 vds_is_present_: ; 0xf9f04 LB 0x1d 15012 14988 push bx ; 53 15013 14989 push bp ; 55 … … 15017 14993 mov es, ax ; 8e c0 15018 14994 test byte [es:bx], 020h ; 26 f6 07 20 15019 je short 09f 0ch ; 74 0614995 je short 09f1ch ; 74 06 15020 14996 mov ax, strict word 00001h ; b8 01 00 15021 14997 pop bp ; 5d … … 15026 15002 pop bx ; 5b 15027 15003 retn ; c3 15028 vds_real_to_lin_: ; 0xf9f 11 LB 0x1e15004 vds_real_to_lin_: ; 0xf9f21 LB 0x1e 15029 15005 push bx ; 53 15030 15006 push cx ; 51 … … 15037 15013 sal ax, 1 ; d1 e0 15038 15014 rcl dx, 1 ; d1 d2 15039 loop 09f 1fh ; e2 fa15015 loop 09f2fh ; e2 fa 15040 15016 xor cx, cx ; 31 c9 15041 15017 add ax, bx ; 01 d8 … … 15045 15021 pop bx ; 5b 15046 15022 retn ; c3 15047 vds_build_sg_list_: ; 0xf9f 2f LB 0x7915023 vds_build_sg_list_: ; 0xf9f3f LB 0x79 15048 15024 push bp ; 55 15049 15025 mov bp, sp ; 89 e5 … … 15059 15035 mov bx, word [bp+006h] ; 8b 5e 06 15060 15036 mov word [es:di+002h], bx ; 26 89 5d 02 15061 call 09f 11h ; e8 c3 ff15037 call 09f21h ; e8 c3 ff 15062 15038 mov es, si ; 8e c6 15063 15039 mov word [es:di+004h], ax ; 26 89 45 04 15064 15040 mov word [es:di+006h], dx ; 26 89 55 06 15065 15041 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 15066 call 09 ef4h ; e8 93 ff15042 call 09f04h ; e8 93 ff 15067 15043 test ax, ax ; 85 c0 15068 je short 09f 78h ; 74 1315044 je short 09f88h ; 74 13 15069 15045 mov es, si ; 8e c6 15070 15046 mov ax, 08105h ; b8 05 81 15071 15047 mov dx, strict word 00000h ; ba 00 00 15072 15048 int 04bh ; cd 4b 15073 jc near 09f 75h ; 0f 82 02 0015049 jc near 09f85h ; 0f 82 02 00 15074 15050 db 032h, 0c0h 15075 15051 ; xor al, al ; 32 c0 15076 15052 cbw ; 98 15077 jmp short 09f 9fh ; eb 2715053 jmp short 09fafh ; eb 27 15078 15054 mov es, si ; 8e c6 15079 15055 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 15092 15068 pop bp ; 5d 15093 15069 retn 00004h ; c2 04 00 15094 vds_free_sg_list_: ; 0xf9f a8 LB 0x3815070 vds_free_sg_list_: ; 0xf9fb8 LB 0x38 15095 15071 push bp ; 55 15096 15072 mov bp, sp ; 89 e5 … … 15098 15074 push di ; 57 15099 15075 mov bx, ax ; 89 c3 15100 call 09 ef4h ; e8 42 ff15076 call 09f04h ; e8 42 ff 15101 15077 test ax, ax ; 85 c0 15102 je short 09f c9h ; 74 1315078 je short 09fd9h ; 74 13 15103 15079 mov di, bx ; 89 df 15104 15080 mov es, dx ; 8e c2 … … 15106 15082 mov dx, strict word 00000h ; ba 00 00 15107 15083 int 04bh ; cd 4b 15108 jc near 09f c8h ; 0f 82 02 0015084 jc near 09fd8h ; 0f 82 02 00 15109 15085 db 032h, 0c0h 15110 15086 ; xor al, al ; 32 c0 … … 15118 15094 retn ; c3 15119 15095 times 0x8 db 0 15120 __U4M: ; 0xf9f e0 LB 0x4015096 __U4M: ; 0xf9ff0 LB 0x40 15121 15097 pushfw ; 9c 15122 15098 push eax ; 66 50 … … 15144 15120 retn ; c3 15145 15121 times 0xf db 0 15146 __U4D: ; 0xfa0 20 LB 0x4015122 __U4D: ; 0xfa030 LB 0x40 15147 15123 pushfw ; 9c 15148 15124 push eax ; 66 50 … … 15175 15151 retn ; c3 15176 15152 times 0x7 db 0 15177 __U8RS: ; 0xfa0 60 LB 0x1015153 __U8RS: ; 0xfa070 LB 0x10 15178 15154 test si, si ; 85 f6 15179 je short 0a0 6fh ; 74 0b15155 je short 0a07fh ; 74 0b 15180 15156 shr ax, 1 ; d1 e8 15181 15157 rcr bx, 1 ; d1 db … … 15183 15159 rcr dx, 1 ; d1 da 15184 15160 dec si ; 4e 15185 jne short 0a0 64h ; 75 f515161 jne short 0a074h ; 75 f5 15186 15162 retn ; c3 15187 __U8LS: ; 0xfa0 70 LB 0x1015163 __U8LS: ; 0xfa080 LB 0x10 15188 15164 test si, si ; 85 f6 15189 je short 0a0 7fh ; 74 0b15165 je short 0a08fh ; 74 0b 15190 15166 sal dx, 1 ; d1 e2 15191 15167 rcl cx, 1 ; d1 d1 … … 15193 15169 rcl ax, 1 ; d1 d0 15194 15170 dec si ; 4e 15195 jne short 0a0 74h ; 75 f515171 jne short 0a084h ; 75 f5 15196 15172 retn ; c3 15197 _fmemset_: ; 0xfa0 80 LB 0x1015173 _fmemset_: ; 0xfa090 LB 0x10 15198 15174 push di ; 57 15199 15175 mov es, dx ; 8e c2 … … 15206 15182 retn ; c3 15207 15183 times 0x3 db 0 15208 _fmemcpy_: ; 0xfa0 90 LB 0x3a15184 _fmemcpy_: ; 0xfa0a0 LB 0x3a 15209 15185 push bp ; 55 15210 15186 db 08bh, 0ech … … 15228 15204 pop bp ; 5d 15229 15205 retn ; c3 15230 db 000h, 000h, 000h, 000h, 000h, 000h, 0e0h, 0a0h, 0e2h, 0a0h, 0e6h, 0a0h, 0e6h, 0a0h, 0e6h, 0a0h 15231 db 0e8h, 0a0h, 0e8h, 0a0h, 0eah, 0a0h, 0eeh, 0a0h, 0eeh, 0a0h, 0f0h, 0a0h, 0f5h, 0a0h, 0f7h, 0a0h 15232 apm_worker: ; 0xfa0ca LB 0x3a 15206 add byte [bx+si], al ; 00 00 15207 add byte [bx+si], al ; 00 00 15208 add byte [bx+si], al ; 00 00 15209 db 0f0h, 0a0h, 0f2h, 0a0h, 0f6h, 0a0h, 0f6h, 0a0h, 0f6h, 0a0h, 0f8h, 0a0h, 0f8h, 0a0h, 0fah, 0a0h 15210 db 0feh, 0a0h, 0feh, 0a0h, 000h, 0a1h, 005h, 0a1h, 007h, 0a1h 15211 apm_worker: ; 0xfa0da LB 0x3a 15233 15212 sti ; fb 15234 15213 push ax ; 50 … … 15242 15221 pop ax ; 58 15243 15222 mov AH, strict byte 053h ; b4 53 15244 jnc short 0a1 00h ; 73 2515245 jmp word [cs:bp-05f 50h] ; 2e ff a6 b0 a015246 jmp short 0a 0feh ; eb 1c15223 jnc short 0a110h ; 73 25 15224 jmp word [cs:bp-05f40h] ; 2e ff a6 c0 a0 15225 jmp short 0a10eh ; eb 1c 15247 15226 sti ; fb 15248 15227 hlt ; f4 15249 jmp short 0a 0feh ; eb 1815250 jmp short 0a 0feh ; eb 1615251 jmp short 0a1 00h ; eb 1615228 jmp short 0a10eh ; eb 18 15229 jmp short 0a10eh ; eb 16 15230 jmp short 0a110h ; eb 16 15252 15231 mov AH, strict byte 080h ; b4 80 15253 jmp short 0a1 02h ; eb 1415254 jmp short 0a1 00h ; eb 1015232 jmp short 0a112h ; eb 14 15233 jmp short 0a110h ; eb 10 15255 15234 mov ax, 00102h ; b8 02 01 15256 jmp short 0a 0feh ; eb 0915257 jmp short 0a 0feh ; eb 0715235 jmp short 0a10eh ; eb 09 15236 jmp short 0a10eh ; eb 07 15258 15237 mov BL, strict byte 000h ; b3 00 15259 15238 mov cx, strict word 00000h ; b9 00 00 15260 jmp short 0a 0feh ; eb 0015239 jmp short 0a10eh ; eb 00 15261 15240 clc ; f8 15262 15241 retn ; c3 … … 15264 15243 stc ; f9 15265 15244 retn ; c3 15266 apm_pm16_entry: ; 0xfa1 04 LB 0x1115245 apm_pm16_entry: ; 0xfa114 LB 0x11 15267 15246 mov AH, strict byte 002h ; b4 02 15268 15247 push DS ; 1e … … 15272 15251 add bp, strict byte 00008h ; 83 c5 08 15273 15252 mov ds, bp ; 8e dd 15274 call 0a0 cah ; e8 b8 ff15253 call 0a0dah ; e8 b8 ff 15275 15254 pop bp ; 5d 15276 15255 pop DS ; 1f 15277 15256 retf ; cb 15278 15257 15279 ; Padding 0x38 eb bytes at 0xfa11515280 times 145 71db 015258 ; Padding 0x38db bytes at 0xfa125 15259 times 14555 db 0 15281 15260 15282 15261 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 15325 15304 add bp, strict byte 00008h ; 83 c5 08 15326 15305 push ebp ; 66 55 15327 mov bp, 0a1 06h ; bd 06 a115306 mov bp, 0a116h ; bd 16 a1 15328 15307 add byte [bx+si], al ; 00 00 15329 15308 push ebp ; 66 55 … … 15939 15918 mov dx, 0c800h ; ba 00 c8 15940 15919 call 01600h ; e8 e1 33 15941 call 04f ceh ; e8 ac6d15920 call 04fdah ; e8 b8 6d 15942 15921 pop DS ; 1f 15943 15922 mov ax, 0ff53h ; b8 53 ff … … 15994 15973 mov ax, 0f000h ; b8 00 f0 15995 15974 mov word [0012ah], ax ; a3 2a 01 15996 mov ax, 0f8f 8h ; b8 f8f815975 mov ax, 0f8feh ; b8 fe f8 15997 15976 mov word [001c0h], ax ; a3 c0 01 15998 15977 mov ax, 0f000h ; b8 00 f0 … … 16030 16009 mov ax, 0f000h ; b8 00 f0 16031 16010 mov word [0004eh], ax ; a3 4e 00 16032 mov ax, 0f8e 6h ; b8 e6f816011 mov ax, 0f8ech ; b8 ec f8 16033 16012 mov word [001d8h], ax ; a3 d8 01 16034 16013 mov ax, 0f000h ; b8 00 f0 … … 16043 16022 mov word [0011ah], ax ; a3 1a 01 16044 16023 retn ; c3 16045 mov ax, 0f8 bbh ; b8 bbf816024 mov ax, 0f8c1h ; b8 c1 f8 16046 16025 mov word [001d0h], ax ; a3 d0 01 16047 16026 mov ax, 0f000h ; b8 00 f0 … … 16060 16039 call 01da8h ; e8 65 3a 16061 16040 call 02235h ; e8 ef 3e 16062 call 099 0ah ; e8 c1 b516063 call 087 eeh ; e8 a2 a416041 call 0991ah ; e8 d1 b5 16042 call 087feh ; e8 b2 a4 16064 16043 call 0ed2fh ; e8 e0 09 16065 16044 call 0e2d2h ; e8 80 ff … … 16079 16058 ; xor edx, edx ; 66 33 d2 16080 16059 call 01890h ; e8 23 35 16081 call 03cb 1h ; e8 415916060 call 03cbdh ; e8 4d 59 16082 16061 sti ; fb 16083 16062 int 019h ; cd 19 … … 16181 16160 pop DS ; 1f 16182 16161 cld ; fc 16183 call 064 e3h ; e8 a1 7d16162 call 064f3h ; e8 b1 7d 16184 16163 popaw ; 61 16185 16164 pop ES ; 07 … … 16257 16236 pop DS ; 1f 16258 16237 cld ; fc 16259 call 057 d9h ; e8 976f16238 call 057e5h ; e8 a3 6f 16260 16239 popaw ; 61 16261 16240 pop DS ; 1f … … 16274 16253 pop DS ; 1f 16275 16254 cld ; fc 16276 call 057 d9h ; e8 796f16255 call 057e5h ; e8 85 6f 16277 16256 popaw ; 61 16278 16257 pop DS ; 1f … … 16368 16347 pop DS ; 1f 16369 16348 cld ; fc 16370 call 052d 1h ; e8 126916349 call 052ddh ; e8 1e 69 16371 16350 pop ES ; 07 16372 16351 popaw ; 61 … … 16384 16363 pop DS ; 1f 16385 16364 cld ; fc 16386 call 06f ach ; e8 d7 8516365 call 06fbch ; e8 e7 85 16387 16366 pop DS ; 1f 16388 16367 pop ES ; 07 … … 16406 16385 cld ; fc 16407 16386 push 0ece9h ; 68 e9 ec 16408 jmp near 03 cf5h ; e9 845016387 jmp near 03d01h ; e9 90 50 16409 16388 push ES ; 06 16410 16389 push ax ; 50 … … 16412 16391 push cx ; 51 16413 16392 push dx ; 52 16414 call 03c c9h ; e8 505016393 call 03cd5h ; e8 5c 50 16415 16394 cmp AL, strict byte 000h ; 3c 00 16416 16395 je short 0ecabh ; 74 2e 16417 call 03c dfh ; e8 5f5016396 call 03cebh ; e8 6b 50 16418 16397 pop dx ; 5a 16419 16398 push dx ; 52 … … 16433 16412 cld ; fc 16434 16413 push 0ece9h ; 68 e9 ec 16435 jmp near 042 cah ; e9 335616414 jmp near 042d6h ; e9 3f 56 16436 16415 and dl, 0e0h ; 80 e2 e0 16437 16416 db 03ah, 0c2h … … 16479 16458 shr ebx, 010h ; 66 c1 eb 10 16480 16459 push bx ; 53 16481 call 04 6feh ; e8 295a16460 call 0470ah ; e8 35 5a 16482 16461 pop bx ; 5b 16483 16462 sal ebx, 010h ; 66 c1 e3 10 … … 16486 16465 cmp ah, 040h ; 80 fc 40 16487 16466 jnbe short 0ece6h ; 77 05 16488 call 05b a5h ; e8 c16e16467 call 05bb1h ; e8 cd 6e 16489 16468 jmp short 0ece9h ; eb 03 16490 call 05f efh ; e8 06 7316469 call 05fffh ; e8 16 73 16491 16470 int13_out: ; 0xfece9 LB 0x4 16492 16471 pop DS ; 1f … … 16704 16683 pop DS ; 1f 16705 16684 cld ; fc 16706 call 079 27h ; e8 4a 8916685 call 07937h ; e8 5a 89 16707 16686 popaw ; 61 16708 16687 pop ES ; 07 … … 16755 16734 mov ax, strict word 00001h ; b8 01 00 16756 16735 push ax ; 50 16757 call 04d 65h ; e8 955c16736 call 04d71h ; e8 a1 5c 16758 16737 inc sp ; 44 16759 16738 inc sp ; 44 … … 16762 16741 mov ax, strict word 00002h ; b8 02 00 16763 16742 push ax ; 50 16764 call 04d 65h ; e8 885c16743 call 04d71h ; e8 94 5c 16765 16744 inc sp ; 44 16766 16745 inc sp ; 44 … … 16769 16748 mov ax, strict word 00003h ; b8 03 00 16770 16749 push ax ; 50 16771 call 04d 65h ; e8 7b5c16750 call 04d71h ; e8 87 5c 16772 16751 inc sp ; 44 16773 16752 inc sp ; 44 … … 16776 16755 mov ax, strict word 00004h ; b8 04 00 16777 16756 push ax ; 50 16778 call 04d 65h ; e8 6e5c16757 call 04d71h ; e8 7a 5c 16779 16758 inc sp ; 44 16780 16759 inc sp ; 44 … … 16918 16897 pop DS ; 1f 16919 16898 cld ; fc 16920 call 06e 01h ; e8 9a 7516899 call 06e11h ; e8 aa 75 16921 16900 pop DS ; 1f 16922 16901 pop ES ; 07 … … 16940 16919 cmp ah, 0c2h ; 80 fc c2 16941 16920 je short 0f899h ; 74 0e 16942 call 067 35h ; e8 a7 6e16921 call 06745h ; e8 b7 6e 16943 16922 popaw ; 61 16944 16923 pop ES ; 07 … … 16946 16925 popfw ; 9d 16947 16926 jmp short 0f8a7h ; eb 13 16948 call 09a 59h ; e8 c2 a116927 call 09a69h ; e8 d2 a1 16949 16928 jmp short 0f88eh ; eb f5 16950 16929 int15_handler_mouse: ; 0xff899 LB 0x5 16951 call 075 9ch ; e8 00 7d16930 call 075ach ; e8 10 7d 16952 16931 jmp short 0f88eh ; eb f0 16953 16932 int15_handler32: ; 0xff89e LB 0x9 16954 16933 pushad ; 66 60 16955 call 06a 6bh ; e8 c8 7116934 call 06a7bh ; e8 d8 71 16956 16935 popad ; 66 61 16957 16936 jmp short 0f88fh ; eb e8 16958 iret_modify_cf: ; 0xff8a7 LB 0x1 416959 jc short 0f8b 2h ; 72 0916937 iret_modify_cf: ; 0xff8a7 LB 0x1a 16938 jc short 0f8b7h ; 72 0e 16960 16939 push bp ; 55 16961 16940 db 08bh, 0ech 16962 16941 ; mov bp, sp ; 8b ec 16963 16942 and byte [bp+006h], 0feh ; 80 66 06 fe 16943 or word [bp+006h], 00200h ; 81 4e 06 00 02 16964 16944 pop bp ; 5d 16965 16945 iret ; cf … … 16967 16947 db 08bh, 0ech 16968 16948 ; mov bp, sp ; 8b ec 16969 or byte [bp+006h], 001h ; 80 4e 06 0116949 or word [bp+006h], 00201h ; 81 4e 06 01 02 16970 16950 pop bp ; 5d 16971 16951 iret ; cf 16972 int74_handler: ; 0xff8 bbLB 0x2b16952 int74_handler: ; 0xff8c1 LB 0x2b 16973 16953 sti ; fb 16974 16954 pushaw ; 60 … … 16985 16965 pop DS ; 1f 16986 16966 cld ; fc 16987 call 074 d2h ; e8 067c16967 call 074e2h ; e8 10 7c 16988 16968 pop cx ; 59 16989 jcxz 0f8 dbh ; e3 0c16969 jcxz 0f8e1h ; e3 0c 16990 16970 push strict byte 00000h ; 6a 00 16991 16971 pop DS ; 1f … … 16994 16974 call far [word 00022h] ; ff 1e 22 00 16995 16975 cli ; fa 16996 call 0e030h ; e8 51e716976 call 0e030h ; e8 4b e7 16997 16977 add sp, strict byte 00008h ; 83 c4 08 16998 16978 pop DS ; 1f … … 17000 16980 popaw ; 61 17001 16981 iret ; cf 17002 int76_handler: ; 0xff8e 6LB 0x1216982 int76_handler: ; 0xff8ec LB 0x12 17003 16983 push ax ; 50 17004 16984 push DS ; 1e … … 17006 16986 mov ds, ax ; 8e d8 17007 16987 mov byte [0008eh], 0ffh ; c6 06 8e 00 ff 17008 call 0e030h ; e8 3 be716988 call 0e030h ; e8 35 e7 17009 16989 pop DS ; 1f 17010 16990 pop ax ; 58 17011 16991 iret ; cf 17012 int70_handler: ; 0xff8f 8LB 0xd16992 int70_handler: ; 0xff8fe LB 0xd 17013 16993 push ES ; 06 17014 16994 push DS ; 1e … … 17017 16997 pop DS ; 1f 17018 16998 cld ; fc 17019 call 071 8ah ; e8 897816999 call 0719ah ; e8 93 78 17020 17000 popaw ; 61 17021 17001 pop DS ; 1f 17022 17002 pop ES ; 07 17023 17003 iret ; cf 17024 biosorg_check_before_or_at_0FA6Ch: ; 0xff90 5 LB 0x16917025 times 0x16 7db 017004 biosorg_check_before_or_at_0FA6Ch: ; 0xff90b LB 0x163 17005 times 0x161 db 0 17026 17006 db 'XM' 17027 17007 font8x8: ; 0xffa6e LB 0x400 … … 17099 17079 cld ; fc 17100 17080 pushad ; 66 60 17101 call 09c 69h ; e8 ec 9d17081 call 09c79h ; e8 fc 9d 17102 17082 popad ; 66 61 17103 17083 pop DS ; 1f … … 17110 17090 pop DS ; 1f 17111 17091 cld ; fc 17112 call 072 48h ; e8 bd 7317092 call 07258h ; e8 cd 73 17113 17093 popaw ; 61 17114 17094 pop DS ; 1f … … 17213 17193 cpu_reset: ; 0xffff0 LB 0x10 17214 17194 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 17215 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0 98h17195 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0a1h
Note:
See TracChangeset
for help on using the changeset viewer.