Changeset 55078 in vbox for trunk/src/VBox/Devices/PC/BIOS
- Timestamp:
- Apr 1, 2015 2:50:42 PM (10 years ago)
- Location:
- trunk/src/VBox/Devices/PC/BIOS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.asm
r52439 r55078 856 856 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 857 857 _pktacc: ; 0xf006a LB 0xc 858 db 000h, 000h, 000h, 000h, 000h, 000h, 08fh, 028h, 0 9ah, 079h, 062h, 087h858 db 000h, 000h, 000h, 000h, 000h, 000h, 08fh, 028h, 05dh, 07bh, 025h, 089h 859 859 _softrst: ; 0xf0076 LB 0xc 860 db 000h, 000h, 000h, 000h, 000h, 000h, 077h, 02bh, 0 91h, 036h, 091h, 036h860 db 000h, 000h, 000h, 000h, 000h, 000h, 077h, 02bh, 054h, 038h, 054h, 038h 861 861 _dskacc: ; 0xf0082 LB 0x2e 862 862 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0d8h, 027h, 052h, 028h, 000h, 000h, 000h, 000h 863 db 0 28h, 078h, 0e1h, 078h, 05eh, 086h, 0f2h, 086h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h863 db 0ebh, 079h, 0a4h, 07ah, 021h, 088h, 0b5h, 088h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 864 864 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 865 865 … … 871 871 db 'bios_printf: unknown format', 00ah, 000h, 000h 872 872 db 'ata-detect: Failed to detect ATA device', 00ah, 000h 873 db 'ata%d-%d: PCHS=%u/% d/%dLCHS=%u/%u/%u', 00ah, 000h873 db 'ata%d-%d: PCHS=%u/%u/%u LCHS=%u/%u/%u', 00ah, 000h 874 874 db 'ata-detect: Failed to detect ATAPI device', 00ah, 000h 875 875 db ' slave', 000h … … 968 968 db '%s: SCSI_READ_CAPACITY failed', 00ah, 000h 969 969 db 'Disk %d has an unsupported sector size of %u', 00ah, 000h 970 db 'SCSI %d-ID#%d: LCHS=%u/%u/%u %l dsectors', 00ah, 000h970 db 'SCSI %d-ID#%d: LCHS=%u/%u/%u %lu sectors', 00ah, 000h 971 971 db 'SCSI %d-ID#%d: CD/DVD-ROM', 00ah, 000h, 000h 972 972 db 'ahci_read_sectors', 000h … … 975 975 db 'ahci_cmd_packet', 000h 976 976 db '%s: DATA_OUT not supported yet', 00ah, 000h 977 db 'AHCI %d-P#%d: PCHS=%u/% d/%d LCHS=%u/%u/%u %ldsectors', 00ah, 000h, 000h977 db 'AHCI %d-P#%d: PCHS=%u/%u/%u LCHS=%u/%u/%u %lu sectors', 00ah, 000h, 000h 978 978 db 'Standby', 000h 979 979 db 'Suspend', 000h … … 982 982 db 'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h 983 983 984 section CONST2 progbits vstart=0xd90 align=1 ; size=0x 3faclass=DATA group=DGROUP985 _bios_cvs_version_string: ; 0xf0d90 LB 0x1 2986 db 'VirtualBox 4.3.53', 000h987 _bios_prefix_string: ; 0xf0da 2LB 0x8984 section CONST2 progbits vstart=0xd90 align=1 ; size=0x400 class=DATA group=DGROUP 985 _bios_cvs_version_string: ; 0xf0d90 LB 0x18 986 db 'VirtualBox 5.0.0_BETA1', 000h, 000h 987 _bios_prefix_string: ; 0xf0da8 LB 0x8 988 988 db 'BIOS: ', 000h, 000h 989 _isotag: ; 0xf0d aaLB 0x6989 _isotag: ; 0xf0db0 LB 0x6 990 990 db 'CD001', 000h 991 _eltorito: ; 0xf0db 0LB 0x18991 _eltorito: ; 0xf0db6 LB 0x18 992 992 db 'EL TORITO SPECIFICATION', 000h 993 _drivetypes: ; 0xf0dc 8LB 0x28993 _drivetypes: ; 0xf0dce LB 0x28 994 994 db 046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h 995 995 db 069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h 996 996 db 04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h 997 _scan_to_scanascii: ; 0xf0df 0LB 0x37a997 _scan_to_scanascii: ; 0xf0df6 LB 0x37a 998 998 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h 999 999 db 000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h … … 1052 1052 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h 1053 1053 db 000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h 1054 _panic_msg_keyb_buffer_full: ; 0xf11 6aLB 0x201054 _panic_msg_keyb_buffer_full: ; 0xf1170 LB 0x20 1055 1055 db '%s: keyboard input buffer full', 00ah, 000h 1056 1056 1057 ; Padding 0x47 6 bytes at 0xf118a1058 times 11 42db 01057 ; Padding 0x470 bytes at 0xf1190 1058 times 1136 db 0 1059 1059 1060 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8 025 class=CODE group=AUTO1060 section _TEXT progbits vstart=0x1600 align=1 ; size=0x81e5 class=CODE group=AUTO 1061 1061 rom_scan_: ; 0xf1600 LB 0x50 1062 1062 push bp ; 55 … … 1280 1280 push bp ; 55 1281 1281 mov bp, sp ; 89 e5 1282 mov bx, 00da 2h ; bb a20d1282 mov bx, 00da8h ; bb a8 0d 1283 1283 mov cx, ds ; 8c d9 1284 1284 mov ax, strict word 00004h ; b8 04 00 … … 1309 1309 int 010h ; cd 10 1310 1310 jmp short 017c1h ; eb 03 1311 call 07 437h ; e8 76 5c1311 call 075fah ; e8 39 5e 1312 1312 mov sp, bp ; 89 ec 1313 1313 pop bp ; 5d … … 1455 1455 mov bx, strict word 0000ah ; bb 0a 00 1456 1456 xor cx, cx ; 31 c9 1457 call 09 530h ; e8 57 7c1457 call 096f0h ; e8 17 7e 1458 1458 mov word [bp-008h], ax ; 89 46 f8 1459 1459 mov cx, dx ; 89 d1 … … 2418 2418 mov dx, ss ; 8c d2 2419 2419 lea ax, [bp-036h] ; 8d 46 ca 2420 call 05 3f3h ; e8 d6 312421 mov bx, 00da 2h ; bb a20d2420 call 055b6h ; e8 99 33 2421 mov bx, 00da8h ; bb a8 0d 2422 2422 mov cx, ds ; 8c d9 2423 2423 mov ax, strict word 00004h ; b8 04 00 … … 3067 3067 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 3068 3068 jne short 028e1h ; 75 1f 3069 mov bx, 00da 2h ; bb a20d3069 mov bx, 00da8h ; bb a8 0d 3070 3070 mov cx, ds ; 8c d9 3071 3071 mov ax, strict word 00004h ; b8 04 00 … … 3829 3829 pop bp ; 5d 3830 3830 retn ; c3 3831 _int13_diskette_function: ; 0xf2f2e LB 0x 7343831 _int13_diskette_function: ; 0xf2f2e LB 0x8f7 3832 3832 push bp ; 55 3833 3833 mov bp, sp ; 89 e5 3834 3834 push si ; 56 3835 3835 push di ; 57 3836 sub sp, strict byte 0001 2h ; 83 ec 123836 sub sp, strict byte 00016h ; 83 ec 16 3837 3837 mov bx, word [bp+016h] ; 8b 5e 16 3838 3838 shr bx, 008h ; c1 eb 08 3839 mov ch, bl ; 88 dd3839 mov byte [bp-006h], bl ; 88 5e fa 3840 3840 mov si, word [bp+016h] ; 8b 76 16 3841 3841 and si, 000ffh ; 81 e6 ff 00 3842 mov ah, byte [bp+00eh] ; 8a 66 0e 3842 mov al, byte [bp+00eh] ; 8a 46 0e 3843 mov ah, byte [bp+014h] ; 8a 66 14 3844 mov cl, byte [bp+016h] ; 8a 4e 16 3845 mov dx, word [bp+014h] ; 8b 56 14 3846 shr dx, 008h ; c1 ea 08 3847 mov word [bp-010h], dx ; 89 56 f0 3843 3848 cmp bl, 008h ; 80 fb 08 3844 jc short 02f 85h ; 72 383849 jc short 02f95h ; 72 38 3845 3850 mov dx, word [bp+01ch] ; 8b 56 1c 3846 3851 or dl, 001h ; 80 ca 01 3847 3852 cmp bl, 008h ; 80 fb 08 3848 jbe near 034e 1h ; 0f 86 87053853 jbe near 034ebh ; 0f 86 81 05 3849 3854 cmp bl, 016h ; 80 fb 16 3850 jc short 02f 7bh ; 72 1c3855 jc short 02f8bh ; 72 1c 3851 3856 or si, 00100h ; 81 ce 00 01 3852 3857 cmp bl, 016h ; 80 fb 16 3853 jbe near 0361 dh ; 0f 86 b3063858 jbe near 0361fh ; 0f 86 a5 06 3854 3859 cmp bl, 018h ; 80 fb 18 3855 je near 036 22h ; 0f 84 b1 063860 je near 036b5h ; 0f 84 34 07 3856 3861 cmp bl, 017h ; 80 fb 17 3857 je near 036 22h ; 0f 84 aa063858 jmp near 03 63fh ; e9 c4 063862 je near 03643h ; 0f 84 bb 06 3863 jmp near 03802h ; e9 77 08 3859 3864 cmp bl, 015h ; 80 fb 15 3860 je near 035d 7h ; 0f 84 55063861 jmp near 03 63fh ; e9 ba 063865 je near 035dbh ; 0f 84 49 06 3866 jmp near 03802h ; e9 6d 08 3862 3867 cmp bl, 001h ; 80 fb 01 3863 jc short 02f 9fh ; 72 153864 jbe near 030 18h ; 0f 86 8a 003868 jc short 02fafh ; 72 15 3869 jbe near 03028h ; 0f 86 8a 00 3865 3870 cmp bl, 005h ; 80 fb 05 3866 je near 033 5bh ; 0f 84 c6033871 je near 03365h ; 0f 84 c0 03 3867 3872 cmp bl, 004h ; 80 fb 04 3868 jbe near 030 36h ; 0f 86 9a 003869 jmp near 03 63fh ; e9 a0 063873 jbe near 03046h ; 0f 86 9a 00 3874 jmp near 03802h ; e9 53 08 3870 3875 test bl, bl ; 84 db 3871 jne near 03 63fh ; 0f 85 9a 063876 jne near 03802h ; 0f 85 4d 08 3872 3877 mov al, byte [bp+00eh] ; 8a 46 0e 3873 mov byte [bp-00 eh], al ; 88 46 f23878 mov byte [bp-008h], al ; 88 46 f8 3874 3879 cmp AL, strict byte 001h ; 3c 01 3875 jbe short 02f c3h ; 76 143880 jbe short 02fd3h ; 76 14 3876 3881 mov ax, word [bp+016h] ; 8b 46 16 3877 3882 xor ah, ah ; 30 e4 … … 3879 3884 mov word [bp+016h], ax ; 89 46 16 3880 3885 mov ax, strict word 00001h ; b8 01 00 3881 call 02bf7h ; e8 37 fc3882 jmp near 033 37h ; e9 74033886 call 02bf7h ; e8 27 fc 3887 jmp near 03341h ; e9 6e 03 3883 3888 mov ax, strict word 00010h ; b8 10 00 3884 call 016ach ; e8 e3 e63885 cmp byte [bp-00 eh], 000h ; 80 7e f2003886 jne short 02f d6h ; 75 073887 mov dl, al ; 88 c23888 shr dl, 004h ; c0 ea043889 jmp short 02f dbh ; eb 053890 mov dl, al ; 88 c23891 and dl, 00fh ; 80 e20f3892 test dl, dl ; 84 d23893 jne short 02f efh ; 75 103889 call 016ach ; e8 d3 e6 3890 cmp byte [bp-008h], 000h ; 80 7e f8 00 3891 jne short 02fe6h ; 75 07 3892 mov cl, al ; 88 c1 3893 shr cl, 004h ; c0 e9 04 3894 jmp short 02febh ; eb 05 3895 mov cl, al ; 88 c1 3896 and cl, 00fh ; 80 e1 0f 3897 test cl, cl ; 84 c9 3898 jne short 02fffh ; 75 10 3894 3899 mov ax, word [bp+016h] ; 8b 46 16 3895 3900 xor ah, ah ; 30 e4 … … 3897 3902 mov word [bp+016h], ax ; 89 46 16 3898 3903 mov ax, 00080h ; b8 80 00 3899 jmp short 02f bdh ; eb ce3904 jmp short 02fcdh ; eb ce 3900 3905 xor bx, bx ; 31 db 3901 3906 mov dx, strict word 0003eh ; ba 3e 00 3902 3907 mov ax, strict word 00040h ; b8 40 00 3903 call 0165eh ; e8 64 e63908 call 0165eh ; e8 54 e6 3904 3909 xor al, al ; 30 c0 3905 3910 mov byte [bp+017h], al ; 88 46 17 3906 3911 xor ah, ah ; 30 e4 3907 call 02bf7h ; e8 f3 fb3912 call 02bf7h ; e8 e3 fb 3908 3913 and byte [bp+01ch], 0feh ; 80 66 1c fe 3909 movzx ax, byte [bp-00 eh] ; 0f b6 46 f23914 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3910 3915 xor dx, dx ; 31 d2 3911 call 02c0fh ; e8 fe fb3916 call 02c0fh ; e8 ee fb 3912 3917 lea sp, [bp-004h] ; 8d 66 fc 3913 3918 pop di ; 5f … … 3918 3923 mov dx, 00441h ; ba 41 04 3919 3924 xor ax, ax ; 31 c0 3920 call 01650h ; e8 2c e63925 call 01650h ; e8 1c e6 3921 3926 movzx dx, al ; 0f b6 d0 3922 3927 sal dx, 008h ; c1 e2 08 … … 3924 3929 mov word [bp+016h], si ; 89 76 16 3925 3930 test al, al ; 84 c0 3926 je short 03011h ; 74 de 3927 jmp near 03337h ; e9 01 03 3928 mov al, byte [bp+016h] ; 8a 46 16 3929 mov byte [bp-00ch], al ; 88 46 f4 3930 mov dx, word [bp+014h] ; 8b 56 14 3931 shr dx, 008h ; c1 ea 08 3932 mov byte [bp-006h], dl ; 88 56 fa 3933 mov al, byte [bp+014h] ; 8a 46 14 3934 mov byte [bp-00ah], al ; 88 46 f6 3931 je short 03021h ; 74 de 3932 jmp near 03341h ; e9 fb 02 3933 mov ch, cl ; 88 cd 3934 mov dl, byte [bp-010h] ; 8a 56 f0 3935 mov byte [bp-00ch], dl ; 88 56 f4 3936 mov byte [bp-00ah], ah ; 88 66 f6 3935 3937 mov dx, word [bp+012h] ; 8b 56 12 3936 3938 shr dx, 008h ; c1 ea 08 3937 mov byte [bp-00 8h], dl ; 88 56 f83938 mov byte [bp-00 eh], ah ; 88 66 f23939 cmp ah, 001h ; 80 fc 013940 jnbe short 0306 ch ; 77 103939 mov byte [bp-00eh], dl ; 88 56 f2 3940 mov byte [bp-008h], al ; 88 46 f8 3941 cmp AL, strict byte 001h ; 3c 01 3942 jnbe short 0306fh ; 77 0e 3941 3943 cmp dl, 001h ; 80 fa 01 3942 jnbe short 0306ch ; 77 0b 3943 mov al, byte [bp-00ch] ; 8a 46 f4 3944 test al, al ; 84 c0 3945 je short 0306ch ; 74 04 3946 cmp AL, strict byte 048h ; 3c 48 3947 jbe short 03095h ; 76 29 3948 mov bx, 00da2h ; bb a2 0d 3944 jnbe short 0306fh ; 77 09 3945 test cl, cl ; 84 c9 3946 je short 0306fh ; 74 05 3947 cmp cl, 048h ; 80 f9 48 3948 jbe short 03099h ; 76 2a 3949 mov bx, 00da8h ; bb a8 0d 3949 3950 mov cx, ds ; 8c d9 3950 3951 mov ax, strict word 00004h ; b8 04 00 3951 call 01931h ; e8 b ae83952 call 01931h ; e8 b7 e8 3952 3953 push 00255h ; 68 55 02 3953 3954 push 0026dh ; 68 6d 02 3954 3955 push strict byte 00004h ; 6a 04 3955 call 01972h ; e8 f0e83956 call 01972h ; e8 ed e8 3956 3957 add sp, strict byte 00006h ; 83 c4 06 3957 3958 mov ax, word [bp+016h] ; 8b 46 16 … … 3960 3961 mov word [bp+016h], ax ; 89 46 16 3961 3962 mov ax, strict word 00001h ; b8 01 00 3962 jmp short 03106h ; eb 713963 movzx ax, byte [bp-00 eh] ; 0f b6 46 f23964 call 02f0ah ; e8 6 efe3963 jmp near 0310fh ; e9 76 00 3964 movzx ax, byte [bp-008h] ; 0f b6 46 f8 3965 call 02f0ah ; e8 6a fe 3965 3966 test ax, ax ; 85 c0 3966 je near 031 99h ; 0f 84 f7003967 movzx dx, byte [bp-00 eh] ; 0f b6 56 f23967 je near 031a2h ; 0f 84 fc 00 3968 movzx dx, byte [bp-008h] ; 0f b6 56 f8 3968 3969 mov ax, dx ; 89 d0 3969 call 02d4fh ; e8 a 4fc3970 call 02d4fh ; e8 a0 fc 3970 3971 test ax, ax ; 85 c0 3971 jne short 030c 8h ; 75 193972 jne short 030cch ; 75 19 3972 3973 mov ax, dx ; 89 d0 3973 call 02e1ah ; e8 6 6fd3974 call 02e1ah ; e8 62 fd 3974 3975 test ax, ax ; 85 c0 3975 jne short 030c 8h ; 75 103976 jne short 030cch ; 75 10 3976 3977 mov ax, word [bp+016h] ; 8b 46 16 3977 3978 xor ah, ah ; 30 e4 … … 3979 3980 mov word [bp+016h], ax ; 89 46 16 3980 3981 mov ax, strict word 0000ch ; b8 0c 00 3981 jmp short 0310 6h ; eb 3e3982 cmp ch, 002h ; 80 fd023983 jne near 0323 0h ; 0f 85 61013984 mov cx, word [bp+006h] ; 8b 4e063985 shr cx, 00ch ; c1 e90c3986 mov ah, cl ; 88 cc3982 jmp short 0310fh ; eb 43 3983 cmp byte [bp-006h], 002h ; 80 7e fa 02 3984 jne near 03234h ; 0f 85 60 01 3985 mov ax, word [bp+006h] ; 8b 46 06 3986 shr ax, 00ch ; c1 e8 0c 3987 mov cl, al ; 88 c1 3987 3988 mov dx, word [bp+006h] ; 8b 56 06 3988 3989 sal dx, 004h ; c1 e2 04 3989 3990 mov bx, word [bp+010h] ; 8b 5e 10 3990 3991 add bx, dx ; 01 d3 3991 cmp bx, dx ; 39 d3 3992 jnc short 030e8h ; 73 02 3993 db 0feh, 0c4h 3994 ; inc ah ; fe c4 3995 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 3996 sal cx, 009h ; c1 e1 09 3997 dec cx ; 49 3998 mov dx, bx ; 89 da 3999 add dx, cx ; 01 ca 3992 mov word [bp-012h], bx ; 89 5e ee 4000 3993 cmp dx, bx ; 39 da 4001 jnc short 03110h ; 73 18 3994 jbe short 030f0h ; 76 02 3995 db 0feh, 0c1h 3996 ; inc cl ; fe c1 3997 movzx bx, ch ; 0f b6 dd 3998 sal bx, 009h ; c1 e3 09 3999 dec bx ; 4b 4000 mov ax, word [bp-012h] ; 8b 46 ee 4001 add ax, bx ; 01 d8 4002 cmp ax, word [bp-012h] ; 3b 46 ee 4003 jnc short 03119h ; 73 18 4002 4004 mov ax, word [bp+016h] ; 8b 46 16 4003 4005 xor ah, ah ; 30 e4 … … 4005 4007 mov word [bp+016h], ax ; 89 46 16 4006 4008 mov ax, strict word 00009h ; b8 09 00 4007 call 02bf7h ; e8 e efa4009 call 02bf7h ; e8 e5 fa 4008 4010 mov byte [bp+016h], 000h ; c6 46 16 00 4009 jmp near 033 37h ; e9 27024011 jmp near 03341h ; e9 28 02 4010 4012 mov AL, strict byte 006h ; b0 06 4011 4013 mov dx, strict word 0000ah ; ba 0a 00 … … 4014 4016 mov dx, strict word 0000ch ; ba 0c 00 4015 4017 out DX, AL ; ee 4018 mov al, byte [bp-012h] ; 8a 46 ee 4019 mov dx, strict word 00004h ; ba 04 00 4020 out DX, AL ; ee 4021 mov ax, word [bp-012h] ; 8b 46 ee 4022 shr ax, 008h ; c1 e8 08 4023 out DX, AL ; ee 4024 xor al, al ; 30 c0 4025 mov dx, strict word 0000ch ; ba 0c 00 4026 out DX, AL ; ee 4016 4027 mov al, bl ; 88 d8 4017 mov dx, strict word 00004h ; ba 04 004018 out DX, AL ; ee4019 shr bx, 008h ; c1 eb 084020 mov al, bl ; 88 d84021 out DX, AL ; ee4022 xor al, bl ; 30 d84023 mov dx, strict word 0000ch ; ba 0c 004024 out DX, AL ; ee4025 mov al, cl ; 88 c84026 4028 mov dx, strict word 00005h ; ba 05 00 4027 4029 out DX, AL ; ee 4028 shr cx, 008h ; c1 e9 084029 mov al, cl ; 88 c84030 mov ax, bx ; 89 d8 4031 shr ax, 008h ; c1 e8 08 4030 4032 out DX, AL ; ee 4031 4033 mov AL, strict byte 046h ; b0 46 4032 4034 mov dx, strict word 0000bh ; ba 0b 00 4033 4035 out DX, AL ; ee 4034 mov al, ah ; 88 e04036 mov al, cl ; 88 c8 4035 4037 mov dx, 00081h ; ba 81 00 4036 4038 out DX, AL ; ee … … 4038 4040 mov dx, strict word 0000ah ; ba 0a 00 4039 4041 out DX, AL ; ee 4040 out DX, AL ; ee 4041 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 4042 call 02cceh ; e8 7a fb 4042 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4043 call 02cceh ; e8 70 fb 4043 4044 mov AL, strict byte 0e6h ; b0 e6 4044 4045 mov dx, 003f5h ; ba f5 03 4045 4046 out DX, AL ; ee 4047 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 4048 sal dx, 002h ; c1 e2 02 4046 4049 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4047 sal ax, 002h ; c1 e0 024048 movzx dx, byte [bp-00eh] ; 0f b6 56 f24049 4050 or ax, dx ; 09 d0 4050 4051 mov dx, 003f5h ; ba f5 03 4051 4052 out DX, AL ; ee 4052 mov al, byte [bp-00 6h] ; 8a 46 fa4053 out DX, AL ; ee 4054 mov al, byte [bp-00 8h] ; 8a 46 f84053 mov al, byte [bp-00ch] ; 8a 46 f4 4054 out DX, AL ; ee 4055 mov al, byte [bp-00eh] ; 8a 46 f2 4055 4056 out DX, AL ; ee 4056 4057 mov al, byte [bp-00ah] ; 8a 46 f6 … … 4059 4060 out DX, AL ; ee 4060 4061 movzx dx, byte [bp-00ah] ; 0f b6 56 f6 4061 movzx ax, byte [bp-00ch] ; 0f b6 46 f44062 movzx ax, ch ; 0f b6 c5 4062 4063 add ax, dx ; 01 d0 4063 4064 dec ax ; 48 … … 4068 4069 mov AL, strict byte 0ffh ; b0 ff 4069 4070 out DX, AL ; ee 4070 call 02c5dh ; e8 c bfa4071 call 02c5dh ; e8 c2 fa 4071 4072 test al, al ; 84 c0 4072 jne short 031 aah ; 75 144073 call 02ca3h ; e8 0 afb4073 jne short 031b3h ; 75 14 4074 call 02ca3h ; e8 01 fb 4074 4075 mov ax, word [bp+016h] ; 8b 46 16 4075 4076 xor ah, ah ; 30 e4 … … 4077 4078 mov word [bp+016h], ax ; 89 46 16 4078 4079 mov ax, 00080h ; b8 80 00 4079 jmp near 0310 6h ; e9 5c ff4080 jmp near 0310fh ; e9 5c ff 4080 4081 mov dx, 003f4h ; ba f4 03 4081 4082 in AL, DX ; ec … … 4084 4085 and AL, strict byte 0c0h ; 24 c0 4085 4086 cmp AL, strict byte 0c0h ; 3c c0 4086 je short 031c 4h ; 74 0e4087 je short 031cdh ; 74 0e 4087 4088 push 00255h ; 68 55 02 4088 4089 push 00288h ; 68 88 02 4089 4090 push strict byte 00007h ; 6a 07 4090 call 01972h ; e8 b1e74091 call 01972h ; e8 a8 e7 4091 4092 add sp, strict byte 00006h ; 83 c4 06 4092 4093 xor si, si ; 31 f6 4093 jmp short 031 cdh ; eb 054094 jmp short 031d6h ; eb 05 4094 4095 cmp si, strict byte 00007h ; 83 fe 07 4095 jnl short 031e 5h ; 7d 184096 jnl short 031eeh ; 7d 18 4096 4097 mov dx, 003f5h ; ba f5 03 4097 4098 in AL, DX ; ec 4098 4099 db 02ah, 0e4h 4099 4100 ; sub ah, ah ; 2a e4 4100 mov byte [bp+si-01 6h], al ; 88 42 ea4101 mov byte [bp+si-01ah], al ; 88 42 e6 4101 4102 movzx bx, al ; 0f b6 d8 4102 4103 lea dx, [si+042h] ; 8d 54 42 4103 4104 mov ax, strict word 00040h ; b8 40 00 4104 call 0165eh ; e8 7 ce44105 call 0165eh ; e8 73 e4 4105 4106 inc si ; 46 4106 jmp short 031 c8h ; eb e34107 test byte [bp-01 6h], 0c0h ; f6 46 eac04108 je short 03 1fch ; 74 114107 jmp short 031d1h ; eb e3 4108 test byte [bp-01ah], 0c0h ; f6 46 e6 c0 4109 je short 03205h ; 74 11 4109 4110 mov ax, word [bp+016h] ; 8b 46 16 4110 4111 xor ah, ah ; 30 e4 … … 4112 4113 mov word [bp+016h], ax ; 89 46 16 4113 4114 mov ax, strict word 00020h ; b8 20 00 4114 jmp near 0310 6h ; e9 0a ff4115 movzx ax, byte [bp-00ch] ; 0f b6 46 f44115 jmp near 0310fh ; e9 0a ff 4116 movzx ax, ch ; 0f b6 c5 4116 4117 sal ax, 009h ; c1 e0 09 4117 4118 cwd ; 99 … … 4119 4120 ; sub ax, dx ; 2b c2 4120 4121 sar ax, 1 ; d1 f8 4122 mov cx, ax ; 89 c1 4121 4123 mov si, word [bp+010h] ; 8b 76 10 4122 4124 mov dx, word [bp+006h] ; 8b 56 06 4123 4125 mov di, si ; 89 f7 4124 4126 mov es, dx ; 8e c2 4125 mov cx, ax ; 89 c14126 4127 push DS ; 1e 4127 4128 mov ds, dx ; 8e da 4128 4129 rep movsw ; f3 a5 4129 4130 pop DS ; 1f 4130 movzx dx, byte [bp-00 6h] ; 0f b6 56 fa4131 movzx ax, byte [bp-00 eh] ; 0f b6 46 f24132 call 02c0fh ; e8 e af94131 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 4132 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4133 call 02c0fh ; e8 e2 f9 4133 4134 mov byte [bp+017h], 000h ; c6 46 17 00 4134 and byte [bp+01ch], 0feh ; 80 66 1c fe 4135 jmp near 03011h ; e9 e1 fd 4136 cmp ch, 003h ; 80 fd 03 4137 jne near 03345h ; 0f 85 0e 01 4135 jmp near 036aeh ; e9 7a 04 4136 cmp byte [bp-006h], 003h ; 80 7e fa 03 4137 jne near 0334fh ; 0f 85 13 01 4138 mov ax, word [bp+006h] ; 8b 46 06 4139 shr ax, 00ch ; c1 e8 0c 4140 mov cl, al ; 88 c1 4138 4141 mov dx, word [bp+006h] ; 8b 56 06 4139 shr dx, 00ch ; c1 ea 0c 4140 mov ah, dl ; 88 d4 4141 mov cx, word [bp+006h] ; 8b 4e 06 4142 sal cx, 004h ; c1 e1 04 4142 sal dx, 004h ; c1 e2 04 4143 4143 mov bx, word [bp+010h] ; 8b 5e 10 4144 add bx, cx ; 01 cb 4145 cmp bx, cx ; 39 cb 4146 jnc short 03250h ; 73 02 4147 db 0feh, 0c4h 4148 ; inc ah ; fe c4 4149 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 4150 sal cx, 009h ; c1 e1 09 4151 dec cx ; 49 4152 mov dx, bx ; 89 da 4153 add dx, cx ; 01 ca 4144 add bx, dx ; 01 d3 4145 mov word [bp-012h], bx ; 89 5e ee 4154 4146 cmp dx, bx ; 39 da 4155 jc near 030f8h ; 0f 82 96 fe 4147 jbe short 03258h ; 76 02 4148 db 0feh, 0c1h 4149 ; inc cl ; fe c1 4150 movzx bx, ch ; 0f b6 dd 4151 sal bx, 009h ; c1 e3 09 4152 dec bx ; 4b 4153 mov ax, word [bp-012h] ; 8b 46 ee 4154 add ax, bx ; 01 d8 4155 cmp ax, word [bp-012h] ; 3b 46 ee 4156 jc near 03101h ; 0f 82 96 fe 4156 4157 mov AL, strict byte 006h ; b0 06 4157 4158 mov dx, strict word 0000ah ; ba 0a 00 … … 4160 4161 mov dx, strict word 0000ch ; ba 0c 00 4161 4162 out DX, AL ; ee 4163 mov al, byte [bp-012h] ; 8a 46 ee 4164 mov dx, strict word 00004h ; ba 04 00 4165 out DX, AL ; ee 4166 mov ax, word [bp-012h] ; 8b 46 ee 4167 shr ax, 008h ; c1 e8 08 4168 out DX, AL ; ee 4169 xor al, al ; 30 c0 4170 mov dx, strict word 0000ch ; ba 0c 00 4171 out DX, AL ; ee 4162 4172 mov al, bl ; 88 d8 4163 mov dx, strict word 00004h ; ba 04 004164 out DX, AL ; ee4165 shr bx, 008h ; c1 eb 084166 mov al, bl ; 88 d84167 out DX, AL ; ee4168 xor al, bl ; 30 d84169 mov dx, strict word 0000ch ; ba 0c 004170 out DX, AL ; ee4171 mov al, cl ; 88 c84172 4173 mov dx, strict word 00005h ; ba 05 00 4173 4174 out DX, AL ; ee 4174 shr cx, 008h ; c1 e9 084175 mov al, cl ; 88 c84175 mov ax, bx ; 89 d8 4176 shr ax, 008h ; c1 e8 08 4176 4177 out DX, AL ; ee 4177 4178 mov AL, strict byte 04ah ; b0 4a 4178 4179 mov dx, strict word 0000bh ; ba 0b 00 4179 4180 out DX, AL ; ee 4180 mov al, ah ; 88 e04181 mov al, cl ; 88 c8 4181 4182 mov dx, 00081h ; ba 81 00 4182 4183 out DX, AL ; ee … … 4184 4185 mov dx, strict word 0000ah ; ba 0a 00 4185 4186 out DX, AL ; ee 4186 movzx ax, byte [bp-00 eh] ; 0f b6 46 f24187 call 02cceh ; e8 29fa4187 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4188 call 02cceh ; e8 1e fa 4188 4189 mov AL, strict byte 0c5h ; b0 c5 4189 4190 mov dx, 003f5h ; ba f5 03 4190 4191 out DX, AL ; ee 4191 movzx dx, byte [bp-00 8h] ; 0f b6 56 f84192 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 4192 4193 sal dx, 002h ; c1 e2 02 4193 movzx ax, byte [bp-00 eh] ; 0f b6 46 f24194 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4194 4195 or ax, dx ; 09 d0 4195 4196 mov dx, 003f5h ; ba f5 03 4196 4197 out DX, AL ; ee 4197 mov al, byte [bp-00 6h] ; 8a 46 fa4198 out DX, AL ; ee 4199 mov al, byte [bp-00 8h] ; 8a 46 f84198 mov al, byte [bp-00ch] ; 8a 46 f4 4199 out DX, AL ; ee 4200 mov al, byte [bp-00eh] ; 8a 46 f2 4200 4201 out DX, AL ; ee 4201 4202 mov al, byte [bp-00ah] ; 8a 46 f6 … … 4204 4205 out DX, AL ; ee 4205 4206 movzx dx, byte [bp-00ah] ; 0f b6 56 f6 4206 movzx ax, byte [bp-00ch] ; 0f b6 46 f44207 movzx ax, ch ; 0f b6 c5 4207 4208 add ax, dx ; 01 d0 4208 4209 dec ax ; 48 … … 4213 4214 mov AL, strict byte 0ffh ; b0 ff 4214 4215 out DX, AL ; ee 4215 call 02c5dh ; e8 7 af94216 call 02c5dh ; e8 70 f9 4216 4217 test al, al ; 84 c0 4217 je near 0319 6h ; 0f 84 adfe4218 je near 0319fh ; 0f 84 ac fe 4218 4219 mov dx, 003f4h ; ba f4 03 4219 4220 in AL, DX ; ec … … 4222 4223 and AL, strict byte 0c0h ; 24 c0 4223 4224 cmp AL, strict byte 0c0h ; 3c c0 4224 je short 0330 3h ; 74 0e4225 je short 0330dh ; 74 0e 4225 4226 push 00255h ; 68 55 02 4226 4227 push 00288h ; 68 88 02 4227 4228 push strict byte 00007h ; 6a 07 4228 call 01972h ; e8 72e64229 call 01972h ; e8 68 e6 4229 4230 add sp, strict byte 00006h ; 83 c4 06 4230 4231 xor si, si ; 31 f6 4231 jmp short 033 0ch ; eb 054232 jmp short 03316h ; eb 05 4232 4233 cmp si, strict byte 00007h ; 83 fe 07 4233 jnl short 0332 4h ; 7d 184234 jnl short 0332eh ; 7d 18 4234 4235 mov dx, 003f5h ; ba f5 03 4235 4236 in AL, DX ; ec 4236 4237 db 02ah, 0e4h 4237 4238 ; sub ah, ah ; 2a e4 4238 mov byte [bp+si-01 6h], al ; 88 42 ea4239 mov byte [bp+si-01ah], al ; 88 42 e6 4239 4240 movzx bx, al ; 0f b6 d8 4240 4241 lea dx, [si+042h] ; 8d 54 42 4241 4242 mov ax, strict word 00040h ; b8 40 00 4242 call 0165eh ; e8 3 de34243 call 0165eh ; e8 33 e3 4243 4244 inc si ; 46 4244 jmp short 033 07h ; eb e34245 test byte [bp-01 6h], 0c0h ; f6 46 eac04246 je near 032 1ah ; 0f 84 eefe4247 test byte [bp-01 5h], 002h ; f6 46 eb024248 je short 033 3eh ; 74 0c4245 jmp short 03311h ; eb e3 4246 test byte [bp-01ah], 0c0h ; f6 46 e6 c0 4247 je near 03222h ; 0f 84 ec fe 4248 test byte [bp-019h], 002h ; f6 46 e7 02 4249 je short 03348h ; 74 0c 4249 4250 mov word [bp+016h], 00300h ; c7 46 16 00 03 4250 4251 or byte [bp+01ch], 001h ; 80 4e 1c 01 4251 jmp near 030 11h ; e9 d3fc4252 jmp near 03021h ; e9 d9 fc 4252 4253 mov word [bp+016h], 00100h ; c7 46 16 00 01 4253 jmp short 033 37h ; eb f24254 movzx dx, byte [bp-00 6h] ; 0f b6 56 fa4255 movzx ax, byte [bp-00 eh] ; 0f b6 46 f24256 call 02c0fh ; e8 b ff84254 jmp short 03341h ; eb f2 4255 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 4256 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4257 call 02c0fh ; e8 b5 f8 4257 4258 and byte [bp+01ch], 0feh ; 80 66 1c fe 4258 4259 mov byte [bp+017h], 000h ; c6 46 17 00 4259 jmp near 03011h ; e9 b6 fc 4260 mov al, byte [bp+016h] ; 8a 46 16 4260 jmp near 03021h ; e9 bc fc 4261 mov ch, byte [bp+016h] ; 8a 6e 16 4262 mov ax, word [bp+014h] ; 8b 46 14 4263 shr ax, 008h ; c1 e8 08 4261 4264 mov byte [bp-00ch], al ; 88 46 f4 4262 mov dx, word [bp+01 4h] ; 8b 56 144265 mov dx, word [bp+012h] ; 8b 56 12 4263 4266 shr dx, 008h ; c1 ea 08 4264 mov byte [bp-006h], dl ; 88 56 fa 4265 mov ax, word [bp+012h] ; 8b 46 12 4266 shr ax, 008h ; c1 e8 08 4267 mov byte [bp-008h], al ; 88 46 f8 4267 mov byte [bp-00eh], dl ; 88 56 f2 4268 4268 mov bl, byte [bp+00eh] ; 8a 5e 0e 4269 mov byte [bp-00 eh], bl ; 88 5e f24269 mov byte [bp-008h], bl ; 88 5e f8 4270 4270 cmp bl, 001h ; 80 fb 01 4271 jnbe short 03392h ; 77 14 4272 cmp AL, strict byte 001h ; 3c 01 4273 jnbe short 03392h ; 77 10 4274 cmp dl, 04fh ; 80 fa 4f 4275 jnbe short 03392h ; 77 0b 4276 mov al, byte [bp-00ch] ; 8a 46 f4 4277 test al, al ; 84 c0 4278 je short 03392h ; 74 04 4279 cmp AL, strict byte 012h ; 3c 12 4280 jbe short 033a7h ; 76 15 4271 jnbe short 03397h ; 77 12 4272 cmp dl, 001h ; 80 fa 01 4273 jnbe short 03397h ; 77 0d 4274 cmp AL, strict byte 04fh ; 3c 4f 4275 jnbe short 03397h ; 77 09 4276 test ch, ch ; 84 ed 4277 je short 03397h ; 74 05 4278 cmp ch, 012h ; 80 fd 12 4279 jbe short 033ach ; 76 15 4281 4280 mov ax, word [bp+016h] ; 8b 46 16 4282 4281 xor ah, ah ; 30 e4 … … 4284 4283 mov word [bp+016h], ax ; 89 46 16 4285 4284 mov ax, strict word 00001h ; b8 01 00 4286 call 02bf7h ; e8 54f84285 call 02bf7h ; e8 4f f8 4287 4286 or byte [bp+01ch], 001h ; 80 4e 1c 01 4288 movzx ax, byte [bp-00 eh] ; 0f b6 46 f24289 call 02f0ah ; e8 5 cfb4287 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4288 call 02f0ah ; e8 57 fb 4290 4289 test ax, ax ; 85 c0 4291 je near 02f dfh ; 0f 84 2bfc4292 movzx dx, byte [bp-00 eh] ; 0f b6 56 f24290 je near 02fefh ; 0f 84 36 fc 4291 movzx dx, byte [bp-008h] ; 0f b6 56 f8 4293 4292 mov ax, dx ; 89 d0 4294 call 02d4fh ; e8 92f94293 call 02d4fh ; e8 8d f9 4295 4294 test ax, ax ; 85 c0 4296 jne short 033 cch ; 75 0b4295 jne short 033d1h ; 75 0b 4297 4296 mov ax, dx ; 89 d0 4298 call 02e1ah ; e8 54fa4297 call 02e1ah ; e8 4f fa 4299 4298 test ax, ax ; 85 c0 4300 je near 030b 8h ; 0f 84 ecfc4301 mov cx, word [bp+006h] ; 8b 4e064302 shr cx, 00ch ; c1 e90c4303 mov ah, cl ; 88 cc4299 je near 030bch ; 0f 84 eb fc 4300 mov ax, word [bp+006h] ; 8b 46 06 4301 shr ax, 00ch ; c1 e8 0c 4302 mov cl, al ; 88 c1 4304 4303 mov dx, word [bp+006h] ; 8b 56 06 4305 4304 sal dx, 004h ; c1 e2 04 4306 4305 mov bx, word [bp+010h] ; 8b 5e 10 4307 4306 add bx, dx ; 01 d3 4308 cmp bx, dx ; 39 d3 4309 jnc short 033e5h ; 73 02 4310 db 0feh, 0c4h 4311 ; inc ah ; fe c4 4312 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 4313 sal cx, 002h ; c1 e1 02 4314 dec cx ; 49 4315 mov dx, bx ; 89 da 4316 add dx, cx ; 01 ca 4307 mov word [bp-012h], bx ; 89 5e ee 4317 4308 cmp dx, bx ; 39 da 4318 jc near 030f8h ; 0f 82 01 fd 4309 jbe short 033edh ; 76 02 4310 db 0feh, 0c1h 4311 ; inc cl ; fe c1 4312 movzx bx, ch ; 0f b6 dd 4313 sal bx, 002h ; c1 e3 02 4314 dec bx ; 4b 4315 mov ax, word [bp-012h] ; 8b 46 ee 4316 add ax, bx ; 01 d8 4317 cmp ax, word [bp-012h] ; 3b 46 ee 4318 jc near 03101h ; 0f 82 01 fd 4319 4319 mov AL, strict byte 006h ; b0 06 4320 4320 mov dx, strict word 0000ah ; ba 0a 00 … … 4323 4323 mov dx, strict word 0000ch ; ba 0c 00 4324 4324 out DX, AL ; ee 4325 mov al, byte [bp-012h] ; 8a 46 ee 4326 mov dx, strict word 00004h ; ba 04 00 4327 out DX, AL ; ee 4328 mov ax, word [bp-012h] ; 8b 46 ee 4329 shr ax, 008h ; c1 e8 08 4330 out DX, AL ; ee 4331 xor al, al ; 30 c0 4332 mov dx, strict word 0000ch ; ba 0c 00 4333 out DX, AL ; ee 4325 4334 mov al, bl ; 88 d8 4326 mov dx, strict word 00004h ; ba 04 004327 out DX, AL ; ee4328 shr bx, 008h ; c1 eb 084329 mov al, bl ; 88 d84330 out DX, AL ; ee4331 xor al, bl ; 30 d84332 mov dx, strict word 0000ch ; ba 0c 004333 out DX, AL ; ee4334 mov al, cl ; 88 c84335 4335 mov dx, strict word 00005h ; ba 05 00 4336 4336 out DX, AL ; ee 4337 shr cx, 008h ; c1 e9 084338 mov al, cl ; 88 c84337 mov ax, bx ; 89 d8 4338 shr ax, 008h ; c1 e8 08 4339 4339 out DX, AL ; ee 4340 4340 mov AL, strict byte 04ah ; b0 4a 4341 4341 mov dx, strict word 0000bh ; ba 0b 00 4342 4342 out DX, AL ; ee 4343 mov al, ah ; 88 e04343 mov al, cl ; 88 c8 4344 4344 mov dx, 00081h ; ba 81 00 4345 4345 out DX, AL ; ee … … 4347 4347 mov dx, strict word 0000ah ; ba 0a 00 4348 4348 out DX, AL ; ee 4349 movzx ax, byte [bp-00 eh] ; 0f b6 46 f24350 call 02cceh ; e8 94f84349 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4350 call 02cceh ; e8 89 f8 4351 4351 mov AL, strict byte 00fh ; b0 0f 4352 4352 mov dx, 003f5h ; ba f5 03 4353 4353 out DX, AL ; ee 4354 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 4355 sal bx, 002h ; c1 e3 02 4354 4356 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4355 sal ax, 002h ; c1 e0 024356 movzx bx, byte [bp-00eh] ; 0f b6 5e f24357 4357 or bx, ax ; 09 c3 4358 4358 mov al, bl ; 88 d8 4359 4359 out DX, AL ; ee 4360 mov al, byte [bp-00 6h] ; 8a 46 fa4360 mov al, byte [bp-00ch] ; 8a 46 f4 4361 4361 out DX, AL ; ee 4362 4362 mov AL, strict byte 04dh ; b0 4d … … 4366 4366 mov AL, strict byte 002h ; b0 02 4367 4367 out DX, AL ; ee 4368 mov al, byte [bp-00ch] ; 8a 46 f44369 out DX, AL ; ee 4370 xor al, al ; 30 c04368 mov al, ch ; 88 e8 4369 out DX, AL ; ee 4370 xor al, ch ; 30 e8 4371 4371 out DX, AL ; ee 4372 4372 mov AL, strict byte 0f6h ; b0 f6 4373 4373 out DX, AL ; ee 4374 call 02c5dh ; e8 f3f74374 call 02c5dh ; e8 e9 f7 4375 4375 test al, al ; 84 c0 4376 jne short 0347 4h ; 75 064377 call 02ca3h ; e8 32f84378 jmp near 02f dfh ; e9 6bfb4376 jne short 0347eh ; 75 06 4377 call 02ca3h ; e8 28 f8 4378 jmp near 02fefh ; e9 71 fb 4379 4379 mov dx, 003f4h ; ba f4 03 4380 4380 in AL, DX ; ec … … 4383 4383 and AL, strict byte 0c0h ; 24 c0 4384 4384 cmp AL, strict byte 0c0h ; 3c c0 4385 je short 034 8eh ; 74 0e4385 je short 03498h ; 74 0e 4386 4386 push 00255h ; 68 55 02 4387 4387 push 00288h ; 68 88 02 4388 4388 push strict byte 00007h ; 6a 07 4389 call 01972h ; e8 e7e44389 call 01972h ; e8 dd e4 4390 4390 add sp, strict byte 00006h ; 83 c4 06 4391 4391 xor si, si ; 31 f6 4392 jmp short 034 97h ; eb 054392 jmp short 034a1h ; eb 05 4393 4393 cmp si, strict byte 00007h ; 83 fe 07 4394 jnl short 034 afh ; 7d 184394 jnl short 034b9h ; 7d 18 4395 4395 mov dx, 003f5h ; ba f5 03 4396 4396 in AL, DX ; ec 4397 4397 db 02ah, 0e4h 4398 4398 ; sub ah, ah ; 2a e4 4399 mov byte [bp+si-01 6h], al ; 88 42 ea4399 mov byte [bp+si-01ah], al ; 88 42 e6 4400 4400 movzx bx, al ; 0f b6 d8 4401 4401 lea dx, [si+042h] ; 8d 54 42 4402 4402 mov ax, strict word 00040h ; b8 40 00 4403 call 0165eh ; e8 b2e14403 call 0165eh ; e8 a8 e1 4404 4404 inc si ; 46 4405 jmp short 0349 2h ; eb e34406 test byte [bp-01 6h], 0c0h ; f6 46 eac04407 je short 034 cbh ; 74 164408 test byte [bp-01 5h], 002h ; f6 46 eb024409 jne near 0333 2h ; 0f 85 75 fe4405 jmp short 0349ch ; eb e3 4406 test byte [bp-01ah], 0c0h ; f6 46 e6 c0 4407 je short 034d5h ; 74 16 4408 test byte [bp-019h], 002h ; f6 46 e7 02 4409 jne near 0333ch ; 0f 85 75 fe 4410 4410 push 00255h ; 68 55 02 4411 4411 push 0029ch ; 68 9c 02 4412 4412 push strict byte 00007h ; 6a 07 4413 call 01972h ; e8 a ae44413 call 01972h ; e8 a0 e4 4414 4414 add sp, strict byte 00006h ; 83 c4 06 4415 4415 xor al, al ; 30 c0 4416 4416 mov byte [bp+017h], al ; 88 46 17 4417 4417 xor ah, ah ; 30 e4 4418 call 02bf7h ; e8 22f74419 movzx ax, byte [bp-00 eh] ; 0f b6 46 f24418 call 02bf7h ; e8 18 f7 4419 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4420 4420 xor dx, dx ; 31 d2 4421 call 02c0fh ; e8 31f74422 jmp near 03 229h ; e9 48 fd4423 mov byte [bp-00 eh], ah ; 88 66 f24424 cmp ah, 001h ; 80 fc 014425 jbe short 0350 9h ; 76 204421 call 02c0fh ; e8 27 f7 4422 jmp near 036aeh ; e9 c3 01 4423 mov byte [bp-008h], al ; 88 46 f8 4424 cmp AL, strict byte 001h ; 3c 01 4425 jbe short 0350fh ; 76 1d 4426 4426 xor ax, ax ; 31 c0 4427 4427 mov word [bp+016h], ax ; 89 46 16 … … 4431 4431 mov word [bp+006h], ax ; 89 46 06 4432 4432 mov word [bp+008h], ax ; 89 46 08 4433 movzx ax, ch ; 0f b6 c5 4434 mov word [bp+012h], ax ; 89 46 12 4435 jmp near 0362ch ; e9 1d 01 4436 mov ax, strict word 00010h ; b8 10 00 4437 call 016ach ; e8 97 e1 4438 mov cl, al ; 88 c1 4439 xor ch, ch ; 30 ed 4440 test AL, strict byte 0f0h ; a8 f0 4441 je short 0351fh ; 74 02 4442 mov CH, strict byte 001h ; b5 01 4443 test cl, 00fh ; f6 c1 0f 4444 je short 03526h ; 74 02 4445 db 0feh, 0c5h 4446 ; inc ch ; fe c5 4447 cmp byte [bp-008h], 000h ; 80 7e f8 00 4448 jne short 03531h ; 75 05 4449 shr cl, 004h ; c0 e9 04 4450 jmp short 03534h ; eb 03 4451 and cl, 00fh ; 80 e1 0f 4452 mov byte [bp+011h], 000h ; c6 46 11 00 4433 4453 movzx ax, cl ; 0f b6 c1 4434 mov word [bp+012h], ax ; 89 46 124435 mov word [bp+01ch], dx ; 89 56 1c4436 jmp near 03011h ; e9 08 fb4437 mov ax, strict word 00010h ; b8 10 004438 call 016ach ; e8 9d e14439 mov dl, al ; 88 c24440 xor cl, cl ; 30 c94441 test AL, strict byte 0f0h ; a8 f04442 je short 03519h ; 74 024443 mov CL, strict byte 001h ; b1 014444 test dl, 00fh ; f6 c2 0f4445 je short 03520h ; 74 024446 db 0feh, 0c1h4447 ; inc cl ; fe c14448 cmp byte [bp-00eh], 000h ; 80 7e f2 004449 jne short 0352bh ; 75 054450 shr dl, 004h ; c0 ea 044451 jmp short 0352eh ; eb 034452 and dl, 00fh ; 80 e2 0f4453 mov byte [bp+011h], 000h ; c6 46 11 004454 movzx ax, dl ; 0f b6 c24455 4454 mov word [bp+010h], ax ; 89 46 10 4456 4455 mov word [bp+016h], strict word 00000h ; c7 46 16 00 00 4457 mov bx, word [bp+012h] ; 8b 5e 12 4458 xor bl, bl ; 30 db 4459 movzx ax, cl ; 0f b6 c1 4460 or bx, ax ; 09 c3 4461 mov word [bp+012h], bx ; 89 5e 12 4462 mov ax, bx ; 89 d8 4463 xor ah, bh ; 30 fc 4456 mov ax, word [bp+012h] ; 8b 46 12 4457 xor al, al ; 30 c0 4458 movzx dx, ch ; 0f b6 d5 4459 or ax, dx ; 09 d0 4460 mov word [bp+012h], ax ; 89 46 12 4461 xor ah, ah ; 30 e4 4464 4462 or ah, 001h ; 80 cc 01 4465 4463 mov word [bp+012h], ax ; 89 46 12 4466 cmp dl, 003h ; 80 fa034467 jc short 035 6eh ; 72 154468 jbe short 0359 5h ; 76 3a4469 cmp dl, 005h ; 80 fa054470 jc short 035 9ch ; 72 3c4471 jbe short 035a 3h ; 76 414472 cmp dl, 00fh ; 80 fa0f4473 je short 035b 1h ; 74 4a4474 cmp dl, 00eh ; 80 fa0e4475 je short 035a ah ; 74 3e4476 jmp short 035b 8h ; eb 4a4477 cmp dl, 002h ; 80 fa024478 je short 035 8eh ; 74 1b4479 cmp dl, 001h ; 80 fa014480 je short 0358 7h ; 74 0f4481 test dl, dl ; 84 d24482 jne short 035b 8h ; 75 3c4464 cmp cl, 003h ; 80 f9 03 4465 jc short 03572h ; 72 15 4466 jbe short 03599h ; 76 3a 4467 cmp cl, 005h ; 80 f9 05 4468 jc short 035a0h ; 72 3c 4469 jbe short 035a7h ; 76 41 4470 cmp cl, 00fh ; 80 f9 0f 4471 je short 035b5h ; 74 4a 4472 cmp cl, 00eh ; 80 f9 0e 4473 je short 035aeh ; 74 3e 4474 jmp short 035bch ; eb 4a 4475 cmp cl, 002h ; 80 f9 02 4476 je short 03592h ; 74 1b 4477 cmp cl, 001h ; 80 f9 01 4478 je short 0358bh ; 74 0f 4479 test cl, cl ; 84 c9 4480 jne short 035bch ; 75 3c 4483 4481 mov word [bp+014h], strict word 00000h ; c7 46 14 00 00 4484 4482 mov byte [bp+013h], 000h ; c6 46 13 00 4485 jmp short 035c 6h ; eb 3f4483 jmp short 035cah ; eb 3f 4486 4484 mov word [bp+014h], 02709h ; c7 46 14 09 27 4487 jmp short 035c 6h ; eb 384485 jmp short 035cah ; eb 38 4488 4486 mov word [bp+014h], 04f0fh ; c7 46 14 0f 4f 4489 jmp short 035c 6h ; eb 314487 jmp short 035cah ; eb 31 4490 4488 mov word [bp+014h], 04f09h ; c7 46 14 09 4f 4491 jmp short 035c 6h ; eb 2a4489 jmp short 035cah ; eb 2a 4492 4490 mov word [bp+014h], 04f12h ; c7 46 14 12 4f 4493 jmp short 035c 6h ; eb 234491 jmp short 035cah ; eb 23 4494 4492 mov word [bp+014h], 04f24h ; c7 46 14 24 4f 4495 jmp short 035c 6h ; eb 1c4493 jmp short 035cah ; eb 1c 4496 4494 mov word [bp+014h], 0fe3fh ; c7 46 14 3f fe 4497 jmp short 035c 6h ; eb 154495 jmp short 035cah ; eb 15 4498 4496 mov word [bp+014h], 0feffh ; c7 46 14 ff fe 4499 jmp short 035c 6h ; eb 0e4497 jmp short 035cah ; eb 0e 4500 4498 push 00255h ; 68 55 02 4501 4499 push 002adh ; 68 ad 02 4502 4500 push strict byte 00007h ; 6a 07 4503 call 01972h ; e8 a fe34501 call 01972h ; e8 ab e3 4504 4502 add sp, strict byte 00006h ; 83 c4 06 4505 4503 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 4506 movzx ax, dl ; 0f b6 c24507 call 03 662h ; e8 91 004504 movzx ax, cl ; 0f b6 c1 4505 call 03825h ; e8 50 02 4508 4506 mov word [bp+008h], ax ; 89 46 08 4509 jmp near 03 229h ; e9 52 fc4510 mov byte [bp-00 eh], ah ; 88 66 f24511 cmp ah, 001h ; 80 fc 014512 jbe short 035e 5h ; 76 064507 jmp near 036aeh ; e9 d3 00 4508 mov byte [bp-008h], al ; 88 46 f8 4509 cmp AL, strict byte 001h ; 3c 01 4510 jbe short 035e7h ; 76 05 4513 4511 mov word [bp+016h], si ; 89 76 16 4514 jmp near 03503h ; e9 1e ff4512 jmp short 0362ch ; eb 45 4515 4513 mov ax, strict word 00010h ; b8 10 00 4516 call 016ach ; e8 c1e04517 cmp byte [bp-00 eh], 000h ; 80 7e f2004518 jne short 035f 8h ; 75 074519 mov dl, al ; 88 c24520 shr dl, 004h ; c0 ea044521 jmp short 035f dh ; eb 054522 mov dl, al ; 88 c24523 and dl, 00fh ; 80 e20f4514 call 016ach ; e8 bf e0 4515 cmp byte [bp-008h], 000h ; 80 7e f8 00 4516 jne short 035fah ; 75 07 4517 mov cl, al ; 88 c1 4518 shr cl, 004h ; c0 e9 04 4519 jmp short 035ffh ; eb 05 4520 mov cl, al ; 88 c1 4521 and cl, 00fh ; 80 e1 0f 4524 4522 and byte [bp+01ch], 0feh ; 80 66 1c fe 4525 mov bx, word [bp+016h] ; 8b 5e164526 xor bh, bh ; 30 ff4527 test dl, dl ; 84 d24528 je short 0361 7h ; 74 0d4529 cmp dl, 001h ; 80 fa014530 jbe short 0361 4h ; 76 054531 or bh, 002h ; 80 cf024532 jmp short 0361 7h ; eb 034533 or bh, 001h ; 80 cf014534 mov word [bp+016h], bx ; 89 5e164535 jmp near 030 11h ; e9 f4 f94536 cmp ah, 001h ; 80 fc 014537 jbe short 036 2eh ; 76 0c4523 mov dx, word [bp+016h] ; 8b 56 16 4524 xor dh, dh ; 30 f6 4525 test cl, cl ; 84 c9 4526 je short 03619h ; 74 0d 4527 cmp cl, 001h ; 80 f9 01 4528 jbe short 03616h ; 76 05 4529 or dh, 002h ; 80 ce 02 4530 jmp short 03619h ; eb 03 4531 or dh, 001h ; 80 ce 01 4532 mov word [bp+016h], dx ; 89 56 16 4533 jmp near 03021h ; e9 02 fa 4534 cmp AL, strict byte 001h ; 3c 01 4535 jbe short 03632h ; 76 0f 4538 4536 mov word [bp+016h], si ; 89 76 16 4539 4537 mov ax, strict word 00001h ; b8 01 00 4540 call 02bf7h ; e8 cc f5 4541 jmp near 03503h ; e9 d5 fe 4538 call 02bf7h ; e8 cb f5 4539 mov word [bp+01ch], dx ; 89 56 1c 4540 jmp near 03021h ; e9 ef f9 4542 4541 mov ax, word [bp+016h] ; 8b 46 16 4543 4542 xor ah, ah ; 30 e4 … … 4545 4544 mov word [bp+016h], ax ; 89 46 16 4546 4545 mov ax, strict word 00006h ; b8 06 00 4547 jmp near 02fbdh ; e9 7e f9 4548 mov bx, 00da2h ; bb a2 0d 4546 jmp near 02fcdh ; e9 8a f9 4547 mov byte [bp-008h], al ; 88 46 f8 4548 mov bl, cl ; 88 cb 4549 cmp AL, strict byte 001h ; 3c 01 4550 jnbe short 03623h ; 77 d7 4551 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4552 call 02f0ah ; e8 b7 f8 4553 test ax, ax ; 85 c0 4554 je near 02fefh ; 0f 84 96 f9 4555 cmp byte [bp-008h], 000h ; 80 7e f8 00 4556 db 00fh, 095h, 0c0h 4557 ; setne al ; 0f 95 c0 4558 movzx dx, al ; 0f b6 d0 4559 add dx, 00090h ; 81 c2 90 00 4560 mov word [bp-012h], dx ; 89 56 ee 4561 mov ax, strict word 00040h ; b8 40 00 4562 call 01650h ; e8 e0 df 4563 and AL, strict byte 00fh ; 24 0f 4564 cmp bl, 002h ; 80 fb 02 4565 jc short 03686h ; 72 0f 4566 jbe short 03692h ; 76 19 4567 cmp bl, 004h ; 80 fb 04 4568 je short 0368eh ; 74 10 4569 cmp bl, 003h ; 80 fb 03 4570 je short 03696h ; 74 13 4571 jmp near 02fbfh ; e9 39 f9 4572 cmp bl, 001h ; 80 fb 01 4573 je short 0368eh ; 74 03 4574 jmp near 02fbfh ; e9 31 f9 4575 or AL, strict byte 090h ; 0c 90 4576 jmp short 03698h ; eb 06 4577 or AL, strict byte 070h ; 0c 70 4578 jmp short 03698h ; eb 02 4579 or AL, strict byte 010h ; 0c 10 4580 movzx bx, al ; 0f b6 d8 4581 mov dx, word [bp-012h] ; 8b 56 ee 4582 mov ax, strict word 00040h ; b8 40 00 4583 call 0165eh ; e8 ba df 4584 xor al, al ; 30 c0 4585 mov byte [bp+017h], al ; 88 46 17 4586 xor ah, ah ; 30 e4 4587 call 02bf7h ; e8 49 f5 4588 and byte [bp+01ch], 0feh ; 80 66 1c fe 4589 jmp near 03021h ; e9 6c f9 4590 mov byte [bp-008h], al ; 88 46 f8 4591 mov ch, ah ; 88 e5 4592 and ch, 03fh ; 80 e5 3f 4593 movzx bx, ah ; 0f b6 dc 4594 sar bx, 006h ; c1 fb 06 4595 sal bx, 008h ; c1 e3 08 4596 add bx, word [bp-010h] ; 03 5e f0 4597 mov byte [bp-00ch], bl ; 88 5e f4 4598 cmp AL, strict byte 001h ; 3c 01 4599 jnbe near 03623h ; 0f 87 51 ff 4600 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4601 call 02f0ah ; e8 31 f8 4602 test ax, ax ; 85 c0 4603 je near 02fefh ; 0f 84 10 f9 4604 movzx dx, byte [bp-008h] ; 0f b6 56 f8 4605 mov ax, dx ; 89 d0 4606 call 02d4fh ; e8 67 f6 4607 test ax, ax ; 85 c0 4608 jne short 03706h ; 75 1a 4609 mov ax, dx ; 89 d0 4610 call 02e1ah ; e8 29 f7 4611 test ax, ax ; 85 c0 4612 jne short 03706h ; 75 11 4613 mov ax, word [bp+016h] ; 8b 46 16 4614 xor ah, ah ; 30 e4 4615 or ah, 00ch ; 80 cc 0c 4616 mov word [bp+016h], ax ; 89 46 16 4617 mov ax, strict word 0000ch ; b8 0c 00 4618 jmp near 02fcdh ; e9 c7 f8 4619 mov ax, strict word 00010h ; b8 10 00 4620 call 016ach ; e8 a0 df 4621 cmp byte [bp-008h], 000h ; 80 7e f8 00 4622 jne short 03719h ; 75 07 4623 mov cl, al ; 88 c1 4624 shr cl, 004h ; c0 e9 04 4625 jmp short 0371eh ; eb 05 4626 mov cl, al ; 88 c1 4627 and cl, 00fh ; 80 e1 0f 4628 cmp byte [bp-008h], 000h ; 80 7e f8 00 4629 db 00fh, 095h, 0c0h 4630 ; setne al ; 0f 95 c0 4631 movzx dx, al ; 0f b6 d0 4632 add dx, 00090h ; 81 c2 90 00 4633 mov word [bp-012h], dx ; 89 56 ee 4634 mov ax, strict word 00040h ; b8 40 00 4635 call 01650h ; e8 1b df 4636 and AL, strict byte 00fh ; 24 0f 4637 cmp cl, 003h ; 80 f9 03 4638 jc short 0375ah ; 72 1e 4639 mov dl, al ; 88 c2 4640 or dl, 090h ; 80 ca 90 4641 cmp cl, 003h ; 80 f9 03 4642 jbe short 03798h ; 76 52 4643 mov ah, al ; 88 c4 4644 or ah, 010h ; 80 cc 10 4645 cmp cl, 005h ; 80 f9 05 4646 je near 037bdh ; 0f 84 6b 00 4647 cmp cl, 004h ; 80 f9 04 4648 je short 037a7h ; 74 50 4649 jmp near 037d8h ; e9 7e 00 4650 cmp cl, 002h ; 80 f9 02 4651 je short 0377ah ; 74 1b 4652 cmp cl, 001h ; 80 f9 01 4653 jne near 037d8h ; 0f 85 72 00 4654 cmp byte [bp-00ch], 027h ; 80 7e f4 27 4655 jne near 037d8h ; 0f 85 6a 00 4656 cmp ch, 009h ; 80 fd 09 4657 jne near 037d8h ; 0f 85 63 00 4658 or AL, strict byte 090h ; 0c 90 4659 jmp near 037d8h ; e9 5e 00 4660 cmp byte [bp-00ch], 027h ; 80 7e f4 27 4661 jne short 03789h ; 75 09 4662 cmp ch, 009h ; 80 fd 09 4663 jne short 03789h ; 75 04 4664 or AL, strict byte 070h ; 0c 70 4665 jmp short 037d8h ; eb 4f 4666 cmp byte [bp-00ch], 04fh ; 80 7e f4 4f 4667 jne short 037d8h ; 75 49 4668 cmp ch, 00fh ; 80 fd 0f 4669 jne short 037d8h ; 75 44 4670 or AL, strict byte 010h ; 0c 10 4671 jmp short 037d8h ; eb 40 4672 cmp byte [bp-00ch], 04fh ; 80 7e f4 4f 4673 jne short 037d8h ; 75 3a 4674 cmp ch, 009h ; 80 fd 09 4675 jne short 037d8h ; 75 35 4676 mov al, dl ; 88 d0 4677 jmp short 037d8h ; eb 31 4678 cmp byte [bp-00ch], 04fh ; 80 7e f4 4f 4679 jne short 037d8h ; 75 2b 4680 cmp ch, 009h ; 80 fd 09 4681 jne short 037b4h ; 75 02 4682 jmp short 037a3h ; eb ef 4683 cmp ch, 012h ; 80 fd 12 4684 jne short 037d8h ; 75 1f 4685 mov al, ah ; 88 e0 4686 jmp short 037d8h ; eb 1b 4687 cmp byte [bp-00ch], 04fh ; 80 7e f4 4f 4688 jne short 037d8h ; 75 15 4689 cmp ch, 009h ; 80 fd 09 4690 jne short 037cah ; 75 02 4691 jmp short 037a3h ; eb d9 4692 cmp ch, 012h ; 80 fd 12 4693 jne short 037d1h ; 75 02 4694 jmp short 037b9h ; eb e8 4695 cmp ch, 024h ; 80 fd 24 4696 jne short 037d8h ; 75 02 4697 or AL, strict byte 0d0h ; 0c d0 4698 movzx dx, al ; 0f b6 d0 4699 sar dx, 004h ; c1 fa 04 4700 test dl, 001h ; f6 c2 01 4701 je near 036f5h ; 0f 84 10 ff 4702 movzx bx, al ; 0f b6 d8 4703 mov dx, word [bp-012h] ; 8b 56 ee 4704 mov ax, strict word 00040h ; b8 40 00 4705 call 0165eh ; e8 6d de 4706 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 4707 movzx ax, cl ; 0f b6 c1 4708 call 03825h ; e8 29 00 4709 mov word [bp+008h], ax ; 89 46 08 4710 jmp near 036a4h ; e9 a2 fe 4711 mov bx, 00da8h ; bb a8 0d 4549 4712 mov cx, ds ; 8c d9 4550 4713 mov ax, strict word 00004h ; b8 04 00 4551 call 01931h ; e8 e7 e24714 call 01931h ; e8 24 e1 4552 4715 mov ax, word [bp+016h] ; 8b 46 16 4553 4716 shr ax, 008h ; c1 e8 08 … … 4556 4719 push 002c2h ; 68 c2 02 4557 4720 push strict byte 00004h ; 6a 04 4558 call 01972h ; e8 16 e34721 call 01972h ; e8 53 e1 4559 4722 add sp, strict byte 00008h ; 83 c4 08 4560 jmp near 02f afh ; e9 4d f94561 get_floppy_dpt_: ; 0xf3 662LB 0x2f4723 jmp near 02fbfh ; e9 9a f7 4724 get_floppy_dpt_: ; 0xf3825 LB 0x2f 4562 4725 push bx ; 53 4563 4726 push dx ; 52 … … 4566 4729 mov dl, al ; 88 c2 4567 4730 xor ax, ax ; 31 c0 4568 jmp short 03 673h ; eb 064731 jmp short 03836h ; eb 06 4569 4732 inc ax ; 40 4570 4733 cmp ax, strict word 00007h ; 3d 07 00 4571 jnc short 03 68ah ; 73 174734 jnc short 0384dh ; 73 17 4572 4735 mov bx, ax ; 89 c3 4573 4736 add bx, ax ; 01 c3 4574 4737 cmp dl, byte [word bx+0005bh] ; 3a 97 5b 00 4575 jne short 03 66dh ; 75 f04738 jne short 03830h ; 75 f0 4576 4739 movzx ax, byte [word bx+0005ch] ; 0f b6 87 5c 00 4577 4740 imul ax, ax, strict byte 0000dh ; 6b c0 0d 4578 4741 add ax, strict word 00000h ; 05 00 00 4579 jmp short 03 68dh ; eb 034742 jmp short 03850h ; eb 03 4580 4743 mov ax, strict word 00041h ; b8 41 00 4581 4744 pop bp ; 5d … … 4583 4746 pop bx ; 5b 4584 4747 retn ; c3 4585 dummy_soft_reset_: ; 0xf3 691LB 0x74748 dummy_soft_reset_: ; 0xf3854 LB 0x7 4586 4749 push bp ; 55 4587 4750 mov bp, sp ; 89 e5 … … 4589 4752 pop bp ; 5d 4590 4753 retn ; c3 4591 _cdemu_init: ; 0xf3 698LB 0x184754 _cdemu_init: ; 0xf385b LB 0x18 4592 4755 push bp ; 55 4593 4756 mov bp, sp ; 89 e5 4594 4757 mov dx, strict word 0000eh ; ba 0e 00 4595 4758 mov ax, strict word 00040h ; b8 40 00 4596 call 0166ch ; e8 c8 df4759 call 0166ch ; e8 05 de 4597 4760 xor bx, bx ; 31 db 4598 4761 mov dx, 00322h ; ba 22 03 4599 call 0165eh ; e8 b2 df4762 call 0165eh ; e8 ef dd 4600 4763 mov sp, bp ; 89 ec 4601 4764 pop bp ; 5d 4602 4765 retn ; c3 4603 _cdemu_isactive: ; 0xf3 6b0LB 0x164766 _cdemu_isactive: ; 0xf3873 LB 0x16 4604 4767 push bp ; 55 4605 4768 mov bp, sp ; 89 e5 4606 4769 mov dx, strict word 0000eh ; ba 0e 00 4607 4770 mov ax, strict word 00040h ; b8 40 00 4608 call 0166ch ; e8 b0 df4771 call 0166ch ; e8 ed dd 4609 4772 mov dx, 00322h ; ba 22 03 4610 call 01650h ; e8 8e df4773 call 01650h ; e8 cb dd 4611 4774 mov sp, bp ; 89 ec 4612 4775 pop bp ; 5d 4613 4776 retn ; c3 4614 _cdemu_emulated_drive: ; 0xf3 6c6LB 0x164777 _cdemu_emulated_drive: ; 0xf3889 LB 0x16 4615 4778 push bp ; 55 4616 4779 mov bp, sp ; 89 e5 4617 4780 mov dx, strict word 0000eh ; ba 0e 00 4618 4781 mov ax, strict word 00040h ; b8 40 00 4619 call 0166ch ; e8 9a df4782 call 0166ch ; e8 d7 dd 4620 4783 mov dx, 00324h ; ba 24 03 4621 call 01650h ; e8 78 df4784 call 01650h ; e8 b5 dd 4622 4785 mov sp, bp ; 89 ec 4623 4786 pop bp ; 5d 4624 4787 retn ; c3 4625 _int13_eltorito: ; 0xf3 6dcLB 0x1894788 _int13_eltorito: ; 0xf389f LB 0x189 4626 4789 push bp ; 55 4627 4790 mov bp, sp ; 89 e5 … … 4630 4793 mov dx, strict word 0000eh ; ba 0e 00 4631 4794 mov ax, strict word 00040h ; b8 40 00 4632 call 0166ch ; e8 82 df4795 call 0166ch ; e8 bf dd 4633 4796 mov si, 00322h ; be 22 03 4634 4797 mov di, ax ; 89 c7 … … 4636 4799 shr ax, 008h ; c1 e8 08 4637 4800 cmp ax, strict word 0004bh ; 3d 4b 00 4638 jc short 03 704h ; 72 0a4639 jbe short 03 72ah ; 76 2e4801 jc short 038c7h ; 72 0a 4802 jbe short 038edh ; 76 2e 4640 4803 cmp ax, strict word 0004dh ; 3d 4d 00 4641 jbe short 03 70bh ; 76 0a4642 jmp near 03 829h ; e9 25 014804 jbe short 038ceh ; 76 0a 4805 jmp near 039ech ; e9 25 01 4643 4806 cmp ax, strict word 0004ah ; 3d 4a 00 4644 jne near 03 829h ; 0f 85 1e 014645 mov bx, 00da 2h ; bb a20d4807 jne near 039ech ; 0f 85 1e 01 4808 mov bx, 00da8h ; bb a8 0d 4646 4809 mov cx, ds ; 8c d9 4647 4810 mov ax, strict word 00004h ; b8 04 00 4648 call 01931h ; e8 1b e24811 call 01931h ; e8 58 e0 4649 4812 push word [bp+016h] ; ff 76 16 4650 4813 push 002dch ; 68 dc 02 4651 4814 push 002ebh ; 68 eb 02 4652 4815 push strict byte 00004h ; 6a 04 4653 call 01972h ; e8 4e e24816 call 01972h ; e8 8b e0 4654 4817 add sp, strict byte 00008h ; 83 c4 08 4655 jmp near 03 844h ; e9 1a 014818 jmp near 03a07h ; e9 1a 01 4656 4819 mov dx, word [bp+00ah] ; 8b 56 0a 4657 4820 mov ax, word [bp+004h] ; 8b 46 04 4658 4821 mov bx, strict word 00013h ; bb 13 00 4659 call 0165eh ; e8 28 df4822 call 0165eh ; e8 65 dd 4660 4823 mov es, di ; 8e c7 4661 4824 movzx bx, byte [es:si+001h] ; 26 0f b6 5c 01 … … 4663 4826 inc dx ; 42 4664 4827 mov ax, word [bp+004h] ; 8b 46 04 4665 call 0165eh ; e8 17 df4828 call 0165eh ; e8 54 dd 4666 4829 mov es, di ; 8e c7 4667 4830 movzx bx, byte [es:si+002h] ; 26 0f b6 5c 02 … … 4670 4833 inc dx ; 42 4671 4834 mov ax, word [bp+004h] ; 8b 46 04 4672 call 0165eh ; e8 05 df4835 call 0165eh ; e8 42 dd 4673 4836 mov es, di ; 8e c7 4674 4837 movzx bx, byte [es:si+003h] ; 26 0f b6 5c 03 … … 4676 4839 add dx, strict byte 00003h ; 83 c2 03 4677 4840 mov ax, word [bp+004h] ; 8b 46 04 4678 call 0165eh ; e8 f2 de4841 call 0165eh ; e8 2f dd 4679 4842 mov es, di ; 8e c7 4680 4843 mov bx, word [es:si+008h] ; 26 8b 5c 08 … … 4683 4846 add dx, strict byte 00004h ; 83 c2 04 4684 4847 mov ax, word [bp+004h] ; 8b 46 04 4685 call 0169ah ; e8 18 df4848 call 0169ah ; e8 55 dd 4686 4849 mov es, di ; 8e c7 4687 4850 mov bx, word [es:si+004h] ; 26 8b 5c 04 … … 4689 4852 add dx, strict byte 00008h ; 83 c2 08 4690 4853 mov ax, word [bp+004h] ; 8b 46 04 4691 call 0167ah ; e8 e6 de4854 call 0167ah ; e8 23 dd 4692 4855 mov es, di ; 8e c7 4693 4856 mov bx, word [es:si+006h] ; 26 8b 5c 06 … … 4695 4858 add dx, strict byte 0000ah ; 83 c2 0a 4696 4859 mov ax, word [bp+004h] ; 8b 46 04 4697 call 0167ah ; e8 d4 de4860 call 0167ah ; e8 11 dd 4698 4861 mov es, di ; 8e c7 4699 4862 mov bx, word [es:si+00ch] ; 26 8b 5c 0c … … 4701 4864 add dx, strict byte 0000ch ; 83 c2 0c 4702 4865 mov ax, word [bp+004h] ; 8b 46 04 4703 call 0167ah ; e8 c2 de4866 call 0167ah ; e8 ff dc 4704 4867 mov es, di ; 8e c7 4705 4868 mov bx, word [es:si+00eh] ; 26 8b 5c 0e … … 4707 4870 add dx, strict byte 0000eh ; 83 c2 0e 4708 4871 mov ax, word [bp+004h] ; 8b 46 04 4709 call 0167ah ; e8 b0 de4872 call 0167ah ; e8 ed dc 4710 4873 mov es, di ; 8e c7 4711 4874 movzx bx, byte [es:si+012h] ; 26 0f b6 5c 12 … … 4713 4876 add dx, strict byte 00010h ; 83 c2 10 4714 4877 mov ax, word [bp+004h] ; 8b 46 04 4715 call 0165eh ; e8 81 de4878 call 0165eh ; e8 be dc 4716 4879 mov es, di ; 8e c7 4717 4880 movzx bx, byte [es:si+014h] ; 26 0f b6 5c 14 … … 4719 4882 add dx, strict byte 00011h ; 83 c2 11 4720 4883 mov ax, word [bp+004h] ; 8b 46 04 4721 call 0165eh ; e8 6e de4884 call 0165eh ; e8 ab dc 4722 4885 mov es, di ; 8e c7 4723 4886 movzx bx, byte [es:si+010h] ; 26 0f b6 5c 10 … … 4725 4888 add dx, strict byte 00012h ; 83 c2 12 4726 4889 mov ax, word [bp+004h] ; 8b 46 04 4727 call 0165eh ; e8 5b de4890 call 0165eh ; e8 98 dc 4728 4891 test byte [bp+016h], 0ffh ; f6 46 16 ff 4729 jne short 03 80fh ; 75 064892 jne short 039d2h ; 75 06 4730 4893 mov es, di ; 8e c7 4731 4894 mov byte [es:si], 000h ; 26 c6 04 00 … … 4734 4897 mov dx, strict word 00074h ; ba 74 00 4735 4898 mov ax, strict word 00040h ; b8 40 00 4736 call 0165eh ; e8 40 de4899 call 0165eh ; e8 7d dc 4737 4900 and byte [bp+01ch], 0feh ; 80 66 1c fe 4738 4901 lea sp, [bp-004h] ; 8d 66 fc … … 4741 4904 pop bp ; 5d 4742 4905 retn ; c3 4743 mov bx, 00da 2h ; bb a20d4906 mov bx, 00da8h ; bb a8 0d 4744 4907 mov cx, ds ; 8c d9 4745 4908 mov ax, strict word 00004h ; b8 04 00 4746 call 01931h ; e8 fd e04909 call 01931h ; e8 3a df 4747 4910 mov ax, word [bp+016h] ; 8b 46 16 4748 4911 shr ax, 008h ; c1 e8 08 … … 4750 4913 push 002dch ; 68 dc 02 4751 4914 push 00313h ; 68 13 03 4752 jmp near 03 71fh ; e9 db fe4915 jmp near 038e2h ; e9 db fe 4753 4916 mov ax, word [bp+016h] ; 8b 46 16 4754 4917 xor ah, ah ; 30 e4 … … 4760 4923 mov dx, strict word 00074h ; ba 74 00 4761 4924 mov ax, strict word 00040h ; b8 40 00 4762 call 0165eh ; e8 ff dd4925 call 0165eh ; e8 3c dc 4763 4926 or byte [bp+01ch], 001h ; 80 4e 1c 01 4764 jmp short 03 822h ; eb bd4765 device_is_cdrom_: ; 0xf3 865LB 0x354927 jmp short 039e5h ; eb bd 4928 device_is_cdrom_: ; 0xf3a28 LB 0x35 4766 4929 push bp ; 55 4767 4930 mov bp, sp ; 89 e5 … … 4771 4934 mov dx, strict word 0000eh ; ba 0e 00 4772 4935 mov ax, strict word 00040h ; b8 40 00 4773 call 0166ch ; e8 f7 dd4936 call 0166ch ; e8 34 dc 4774 4937 cmp bl, 010h ; 80 fb 10 4775 jc short 03 87eh ; 72 044938 jc short 03a41h ; 72 04 4776 4939 xor ax, ax ; 31 c0 4777 jmp short 03 893h ; eb 154940 jmp short 03a56h ; eb 15 4778 4941 xor bh, bh ; 30 ff 4779 4942 imul bx, bx, strict byte 00018h ; 6b db 18 … … 4781 4944 add bx, 00122h ; 81 c3 22 01 4782 4945 cmp byte [es:bx+01fh], 005h ; 26 80 7f 1f 05 4783 jne short 03 87ah ; 75 ea4946 jne short 03a3dh ; 75 ea 4784 4947 mov ax, strict word 00001h ; b8 01 00 4785 4948 lea sp, [bp-004h] ; 8d 66 fc … … 4788 4951 pop bp ; 5d 4789 4952 retn ; c3 4790 cdrom_boot_: ; 0xf3 89aLB 0x4164953 cdrom_boot_: ; 0xf3a5d LB 0x416 4791 4954 push bp ; 55 4792 4955 mov bp, sp ; 89 e5 … … 4799 4962 mov dx, strict word 0000eh ; ba 0e 00 4800 4963 mov ax, strict word 00040h ; b8 40 00 4801 call 0166ch ; e8 bd dd4964 call 0166ch ; e8 fa db 4802 4965 mov word [bp-018h], ax ; 89 46 e8 4803 4966 mov si, 00322h ; be 22 03 … … 4806 4969 mov word [bp-012h], ax ; 89 46 ee 4807 4970 mov byte [bp-00ch], 000h ; c6 46 f4 00 4808 jmp short 03 8cfh ; eb 094971 jmp short 03a92h ; eb 09 4809 4972 inc byte [bp-00ch] ; fe 46 f4 4810 4973 cmp byte [bp-00ch], 010h ; 80 7e f4 10 4811 jnc short 03 8dah ; 73 0b4974 jnc short 03a9dh ; 73 0b 4812 4975 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4813 call 03 865h ; e8 8f ff4976 call 03a28h ; e8 8f ff 4814 4977 test ax, ax ; 85 c0 4815 je short 03 8c6h ; 74 ec4978 je short 03a89h ; 74 ec 4816 4979 cmp byte [bp-00ch], 010h ; 80 7e f4 10 4817 jc short 03 8e6h ; 72 064980 jc short 03aa9h ; 72 06 4818 4981 mov ax, strict word 00002h ; b8 02 00 4819 jmp near 03 c4dh ; e9 67 034982 jmp near 03e10h ; e9 67 03 4820 4983 mov cx, strict word 0000ch ; b9 0c 00 4821 4984 xor bx, bx ; 31 db 4822 4985 mov dx, ss ; 8c d2 4823 4986 lea ax, [bp-026h] ; 8d 46 da 4824 call 09 59ah ; e8 a75c4987 call 0975ah ; e8 a4 5c 4825 4988 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 4826 4989 mov ax, strict word 00011h ; b8 11 00 … … 4838 5001 ; mov dword [es:bx+00ah], strict dword 008000001h ; 66 26 c7 47 0a 01 00 00 08 4839 5002 mov byte [bp-00eh], 000h ; c6 46 f2 00 4840 jmp short 03 92bh ; eb 095003 jmp short 03aeeh ; eb 09 4841 5004 inc byte [bp-00eh] ; fe 46 f2 4842 5005 cmp byte [bp-00eh], 004h ; 80 7e f2 04 4843 jnbe short 03 962h ; 77 375006 jnbe short 03b25h ; 77 37 4844 5007 movzx di, byte [bp-00ch] ; 0f b6 7e f4 4845 5008 imul di, di, strict byte 00018h ; 6b ff 18 … … 4861 5024 call word [word di+0006ah] ; ff 95 6a 00 4862 5025 test ax, ax ; 85 c0 4863 jne short 03 922h ; 75 c05026 jne short 03ae5h ; 75 c0 4864 5027 test ax, ax ; 85 c0 4865 je short 03 96ch ; 74 065028 je short 03b2fh ; 74 06 4866 5029 mov ax, strict word 00003h ; b8 03 00 4867 jmp near 03 c4dh ; e9 e1 025030 jmp near 03e10h ; e9 e1 02 4868 5031 cmp byte [bp-00826h], 000h ; 80 be da f7 00 4869 je short 03 979h ; 74 065032 je short 03b3ch ; 74 06 4870 5033 mov ax, strict word 00004h ; b8 04 00 4871 jmp near 03 c4dh ; e9 d4 025034 jmp near 03e10h ; e9 d4 02 4872 5035 xor di, di ; 31 ff 4873 jmp short 03 983h ; eb 065036 jmp short 03b46h ; eb 06 4874 5037 inc di ; 47 4875 5038 cmp di, strict byte 00005h ; 83 ff 05 4876 jnc short 03 993h ; 73 105039 jnc short 03b56h ; 73 10 4877 5040 mov al, byte [bp+di-00825h] ; 8a 83 db f7 4878 cmp al, byte [di+00d aah] ; 3a 85 aa0d4879 je short 03 97dh ; 74 f05041 cmp al, byte [di+00db0h] ; 3a 85 b0 0d 5042 je short 03b40h ; 74 f0 4880 5043 mov ax, strict word 00005h ; b8 05 00 4881 jmp near 03 c4dh ; e9 ba 025044 jmp near 03e10h ; e9 ba 02 4882 5045 xor di, di ; 31 ff 4883 jmp short 03 99dh ; eb 065046 jmp short 03b60h ; eb 06 4884 5047 inc di ; 47 4885 5048 cmp di, strict byte 00017h ; 83 ff 17 4886 jnc short 03 9adh ; 73 105049 jnc short 03b70h ; 73 10 4887 5050 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 4888 cmp al, byte [di+00db 0h] ; 3a 85 b00d4889 je short 03 997h ; 74 f05051 cmp al, byte [di+00db6h] ; 3a 85 b6 0d 5052 je short 03b5ah ; 74 f0 4890 5053 mov ax, strict word 00006h ; b8 06 00 4891 jmp near 03 c4dh ; e9 a0 025054 jmp near 03e10h ; e9 a0 02 4892 5055 mov ax, word [bp-007dfh] ; 8b 86 21 f8 4893 5056 mov dx, word [bp-007ddh] ; 8b 96 23 f8 … … 4920 5083 call word [word di+0006ah] ; ff 95 6a 00 4921 5084 test ax, ax ; 85 c0 4922 je short 03 a0ah ; 74 065085 je short 03bcdh ; 74 06 4923 5086 mov ax, strict word 00007h ; b8 07 00 4924 jmp near 03 c4dh ; e9 43 025087 jmp near 03e10h ; e9 43 02 4925 5088 cmp byte [bp-00826h], 001h ; 80 be da f7 01 4926 je short 03 a17h ; 74 065089 je short 03bdah ; 74 06 4927 5090 mov ax, strict word 00008h ; b8 08 00 4928 jmp near 03 c4dh ; e9 36 025091 jmp near 03e10h ; e9 36 02 4929 5092 cmp byte [bp-00825h], 000h ; 80 be db f7 00 4930 je short 03 a24h ; 74 065093 je short 03be7h ; 74 06 4931 5094 mov ax, strict word 00009h ; b8 09 00 4932 jmp near 03 c4dh ; e9 29 025095 jmp near 03e10h ; e9 29 02 4933 5096 cmp byte [bp-00808h], 055h ; 80 be f8 f7 55 4934 je short 03 a31h ; 74 065097 je short 03bf4h ; 74 06 4935 5098 mov ax, strict word 0000ah ; b8 0a 00 4936 jmp near 03 c4dh ; e9 1c 025099 jmp near 03e10h ; e9 1c 02 4937 5100 cmp byte [bp-00807h], 0aah ; 80 be f9 f7 aa 4938 jne short 03 a2bh ; 75 f35101 jne short 03beeh ; 75 f3 4939 5102 cmp byte [bp-00806h], 088h ; 80 be fa f7 88 4940 je short 03 a45h ; 74 065103 je short 03c08h ; 74 06 4941 5104 mov ax, strict word 0000bh ; b8 0b 00 4942 jmp near 03 c4dh ; e9 08 025105 jmp near 03e10h ; e9 08 02 4943 5106 mov al, byte [bp-00805h] ; 8a 86 fb f7 4944 5107 mov es, [bp-010h] ; 8e 46 f0 4945 5108 mov byte [es:si+001h], al ; 26 88 44 01 4946 5109 cmp byte [bp-00805h], 000h ; 80 be fb f7 00 4947 jne short 03 a5eh ; 75 075110 jne short 03c21h ; 75 07 4948 5111 mov byte [es:si+002h], 0e0h ; 26 c6 44 02 e0 4949 jmp short 03 a71h ; eb 135112 jmp short 03c34h ; eb 13 4950 5113 cmp byte [bp-00805h], 004h ; 80 be fb f7 04 4951 jnc short 03 a6ch ; 73 075114 jnc short 03c2fh ; 73 07 4952 5115 mov byte [es:si+002h], 000h ; 26 c6 44 02 00 4953 jmp short 03 a71h ; eb 055116 jmp short 03c34h ; eb 05 4954 5117 mov byte [es:si+002h], 080h ; 26 c6 44 02 80 4955 5118 movzx di, byte [bp-00ch] ; 0f b6 7e f4 … … 4969 5132 mov word [bp-016h], ax ; 89 46 ea 4970 5133 test ax, ax ; 85 c0 4971 jne short 03 a9fh ; 75 055134 jne short 03c62h ; 75 05 4972 5135 mov word [bp-016h], 007c0h ; c7 46 ea c0 07 4973 5136 mov ax, word [bp-016h] ; 8b 46 ea … … 4978 5141 mov word [es:si+00eh], di ; 26 89 7c 0e 4979 5142 test di, di ; 85 ff 4980 je short 03 ac1h ; 74 065143 je short 03c84h ; 74 06 4981 5144 cmp di, 00400h ; 81 ff 00 04 4982 jbe short 03 ac7h ; 76 065145 jbe short 03c8ah ; 76 06 4983 5146 mov ax, strict word 0000ch ; b8 0c 00 4984 jmp near 03 c4dh ; e9 86 015147 jmp near 03e10h ; e9 86 01 4985 5148 mov ax, word [bp-007feh] ; 8b 86 02 f8 4986 5149 mov dx, word [bp-007fch] ; 8b 96 04 f8 … … 5022 5185 sal ax, 1 ; d1 e0 5023 5186 rcl di, 1 ; d1 d7 5024 loop 03 b35h ; e2 fa5187 loop 03cf8h ; e2 fa 5025 5188 push di ; 57 5026 5189 push ax ; 50 … … 5035 5198 mov word [es:bx+01ch], strict word 00000h ; 26 c7 47 1c 00 00 5036 5199 test ax, ax ; 85 c0 5037 je short 03 b65h ; 74 065200 je short 03d28h ; 74 06 5038 5201 mov ax, strict word 0000dh ; b8 0d 00 5039 jmp near 03 c4dh ; e9 e8 005202 jmp near 03e10h ; e9 e8 00 5040 5203 mov es, [bp-010h] ; 8e 46 f0 5041 5204 mov al, byte [es:si+001h] ; 26 8a 44 01 5042 5205 cmp AL, strict byte 002h ; 3c 02 5043 jc short 03 b7dh ; 72 0d5044 jbe short 03 b95h ; 76 235206 jc short 03d40h ; 72 0d 5207 jbe short 03d58h ; 76 23 5045 5208 cmp AL, strict byte 004h ; 3c 04 5046 je short 03 babh ; 74 355209 je short 03d6eh ; 74 35 5047 5210 cmp AL, strict byte 003h ; 3c 03 5048 je short 03 ba0h ; 74 265049 jmp near 03 bf6h ; e9 79 005211 je short 03d63h ; 74 26 5212 jmp near 03db9h ; e9 79 00 5050 5213 cmp AL, strict byte 001h ; 3c 01 5051 jne short 03 bf6h ; 75 755214 jne short 03db9h ; 75 75 5052 5215 mov es, [bp-010h] ; 8e 46 f0 5053 5216 db 066h, 026h, 0c7h, 044h, 012h, 050h, 000h, 00fh, 000h 5054 5217 ; mov dword [es:si+012h], strict dword 0000f0050h ; 66 26 c7 44 12 50 00 0f 00 5055 5218 mov word [es:si+010h], strict word 00002h ; 26 c7 44 10 02 00 5056 jmp short 03 bf6h ; eb 615219 jmp short 03db9h ; eb 61 5057 5220 db 066h, 026h, 0c7h, 044h, 012h, 050h, 000h, 012h, 000h 5058 5221 ; mov dword [es:si+012h], strict dword 000120050h ; 66 26 c7 44 12 50 00 12 00 5059 jmp short 03 b8dh ; eb ed5222 jmp short 03d50h ; eb ed 5060 5223 db 066h, 026h, 0c7h, 044h, 012h, 050h, 000h, 024h, 000h 5061 5224 ; mov dword [es:si+012h], strict dword 000240050h ; 66 26 c7 44 12 50 00 24 00 5062 jmp short 03 b8dh ; eb e25225 jmp short 03d50h ; eb e2 5063 5226 mov dx, 001c4h ; ba c4 01 5064 5227 mov ax, word [bp-016h] ; 8b 46 ea 5065 call 01650h ; e8 9c da5228 call 01650h ; e8 d9 d8 5066 5229 and AL, strict byte 03fh ; 24 3f 5067 5230 xor ah, ah ; 30 e4 … … 5070 5233 mov dx, 001c4h ; ba c4 01 5071 5234 mov ax, word [bp-016h] ; 8b 46 ea 5072 call 01650h ; e8 88 da5235 call 01650h ; e8 c5 d8 5073 5236 movzx bx, al ; 0f b6 d8 5074 5237 sal bx, 002h ; c1 e3 02 5075 5238 mov dx, 001c5h ; ba c5 01 5076 5239 mov ax, word [bp-016h] ; 8b 46 ea 5077 call 01650h ; e8 79 da5240 call 01650h ; e8 b6 d8 5078 5241 xor ah, ah ; 30 e4 5079 5242 add ax, bx ; 01 d8 … … 5083 5246 mov dx, 001c3h ; ba c3 01 5084 5247 mov ax, word [bp-016h] ; 8b 46 ea 5085 call 01650h ; e8 64 da5248 call 01650h ; e8 a1 d8 5086 5249 xor ah, ah ; 30 e4 5087 5250 inc ax ; 40 … … 5090 5253 mov es, [bp-010h] ; 8e 46 f0 5091 5254 cmp byte [es:si+001h], 000h ; 26 80 7c 01 00 5092 je short 03 c34h ; 74 345255 je short 03df7h ; 74 34 5093 5256 cmp byte [es:si+002h], 000h ; 26 80 7c 02 00 5094 jne short 03 c1dh ; 75 165257 jne short 03de0h ; 75 16 5095 5258 mov dx, strict word 00010h ; ba 10 00 5096 5259 mov ax, strict word 00040h ; b8 40 00 5097 call 01650h ; e8 40 da5260 call 01650h ; e8 7d d8 5098 5261 or AL, strict byte 041h ; 0c 41 5099 5262 movzx bx, al ; 0f b6 d8 5100 5263 mov dx, strict word 00010h ; ba 10 00 5101 5264 mov ax, strict word 00040h ; b8 40 00 5102 jmp short 03 c31h ; eb 145265 jmp short 03df4h ; eb 14 5103 5266 mov dx, 002c0h ; ba c0 02 5104 5267 mov ax, word [bp-018h] ; 8b 46 e8 5105 call 01650h ; e8 2a da5268 call 01650h ; e8 67 d8 5106 5269 db 0feh, 0c0h 5107 5270 ; inc al ; fe c0 … … 5109 5272 mov dx, 002c0h ; ba c0 02 5110 5273 mov ax, word [bp-018h] ; 8b 46 e8 5111 call 0165eh ; e8 2a da5274 call 0165eh ; e8 67 d8 5112 5275 mov es, [bp-010h] ; 8e 46 f0 5113 5276 cmp byte [es:si+001h], 000h ; 26 80 7c 01 00 5114 je short 03 c42h ; 74 045277 je short 03e05h ; 74 04 5115 5278 mov byte [es:si], 001h ; 26 c6 04 01 5116 5279 mov es, [bp-010h] ; 8e 46 f0 … … 5126 5289 retn ; c3 5127 5290 db 050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h 5128 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 0 48h, 040h, 056h5129 db 03 dh, 0a0h, 03dh, 0c8h, 03dh, 095h, 03dh, 0c8h, 03dh, 095h, 03dh, 09eh, 03fh, 07bh, 03dh, 048h5130 db 04 0h, 048h, 040h, 07bh, 03dh, 07bh, 03dh, 07bh, 03dh, 07bh, 03dh, 07bh, 03dh, 03fh, 040h, 07bh5131 db 03 dh, 048h, 040h, 048h, 040h, 048h, 040h, 048h, 040h, 048h, 040h, 048h, 040h, 048h, 040h, 048h5132 db 04 0h, 048h, 040h, 048h, 040h, 048h, 040h, 048h, 040h5133 _int13_cdemu: ; 0xf3 cb0LB 0x4345291 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 00bh, 042h, 019h 5292 db 03fh, 063h, 03fh, 08bh, 03fh, 058h, 03fh, 08bh, 03fh, 058h, 03fh, 061h, 041h, 03eh, 03fh, 00bh 5293 db 042h, 00bh, 042h, 03eh, 03fh, 03eh, 03fh, 03eh, 03fh, 03eh, 03fh, 03eh, 03fh, 002h, 042h, 03eh 5294 db 03fh, 00bh, 042h, 00bh, 042h, 00bh, 042h, 00bh, 042h, 00bh, 042h, 00bh, 042h, 00bh, 042h, 00bh 5295 db 042h, 00bh, 042h, 00bh, 042h, 00bh, 042h, 00bh, 042h 5296 _int13_cdemu: ; 0xf3e73 LB 0x434 5134 5297 push bp ; 55 5135 5298 mov bp, sp ; 89 e5 … … 5139 5302 mov dx, strict word 0000eh ; ba 0e 00 5140 5303 mov ax, strict word 00040h ; b8 40 00 5141 call 0166ch ; e8 ab d95304 call 0166ch ; e8 e8 d7 5142 5305 mov di, 00322h ; bf 22 03 5143 5306 mov cx, ax ; 89 c1 … … 5155 5318 mov dx, strict word 00074h ; ba 74 00 5156 5319 mov ax, strict word 00040h ; b8 40 00 5157 call 0165eh ; e8 6e d95320 call 0165eh ; e8 ab d7 5158 5321 mov es, cx ; 8e c1 5159 5322 cmp byte [es:di], 000h ; 26 80 3d 00 5160 je short 03 d06h ; 74 0e5323 je short 03ec9h ; 74 0e 5161 5324 movzx dx, byte [es:di+002h] ; 26 0f b6 55 02 5162 5325 mov ax, word [bp+012h] ; 8b 46 12 5163 5326 xor ah, ah ; 30 e4 5164 5327 cmp dx, ax ; 39 c2 5165 je short 03 d2fh ; 74 295166 mov bx, 00da 2h ; bb a20d5328 je short 03ef2h ; 74 29 5329 mov bx, 00da8h ; bb a8 0d 5167 5330 mov cx, ds ; 8c d9 5168 5331 mov ax, strict word 00004h ; b8 04 00 5169 call 01931h ; e8 20 dc5332 call 01931h ; e8 5d da 5170 5333 mov ax, word [bp+012h] ; 8b 46 12 5171 5334 xor ah, ah ; 30 e4 … … 5177 5340 push 00338h ; 68 38 03 5178 5341 push strict byte 00004h ; 6a 04 5179 call 01972h ; e8 49 dc5342 call 01972h ; e8 86 da 5180 5343 add sp, strict byte 0000ah ; 83 c4 0a 5181 jmp near 04 068h ; e9 39 035344 jmp near 0422bh ; e9 39 03 5182 5345 mov ax, word [bp+016h] ; 8b 46 16 5183 5346 shr ax, 008h ; c1 e8 08 5184 5347 cmp ax, strict word 00050h ; 3d 50 00 5185 jnbe near 04 048h ; 0f 87 0c 035348 jnbe near 0420bh ; 0f 87 0c 03 5186 5349 push CS ; 0e 5187 5350 pop ES ; 07 5188 5351 mov cx, strict word 0001eh ; b9 1e 00 5189 mov di, 03 c57h ; bf 57 3c5352 mov di, 03e1ah ; bf 1a 3e 5190 5353 repne scasb ; f2 ae 5191 5354 sal cx, 1 ; d1 e1 5192 5355 mov di, cx ; 89 cf 5193 mov ax, word [cs:di+03 c74h] ; 2e 8b 85 74 3c5356 mov ax, word [cs:di+03e37h] ; 2e 8b 85 37 3e 5194 5357 mov bx, word [bp+016h] ; 8b 5e 16 5195 5358 xor bh, bh ; 30 ff … … 5202 5365 add bx, bx ; 01 db 5203 5366 cmp word [word bx+0006ah], strict byte 00000h ; 83 bf 6a 00 00 5204 je near 03 d7bh ; 0f 84 08 005367 je near 03f3eh ; 0f 84 08 00 5205 5368 movzx ax, byte [bp-006h] ; 0f b6 46 fa 5206 5369 call word [word bx+00076h] ; ff 97 76 00 … … 5209 5372 mov dx, strict word 00074h ; ba 74 00 5210 5373 mov ax, strict word 00040h ; b8 40 00 5211 call 0165eh ; e8 d4 d85374 call 0165eh ; e8 11 d7 5212 5375 and byte [bp+01ch], 0feh ; 80 66 1c fe 5213 5376 lea sp, [bp-004h] ; 8d 66 fc … … 5219 5382 xor ah, ah ; 30 e4 5220 5383 or ah, 003h ; 80 cc 03 5221 jmp near 04 070h ; e9 d0 025384 jmp near 04233h ; e9 d0 02 5222 5385 mov dx, strict word 00074h ; ba 74 00 5223 5386 mov ax, strict word 00040h ; b8 40 00 5224 call 01650h ; e8 a7 d85387 call 01650h ; e8 e4 d6 5225 5388 mov cl, al ; 88 c1 5226 5389 movzx ax, cl ; 0f b6 c1 … … 5231 5394 mov dx, strict word 00074h ; ba 74 00 5232 5395 mov ax, strict word 00040h ; b8 40 00 5233 call 0165eh ; e8 9d d85396 call 0165eh ; e8 da d6 5234 5397 test cl, cl ; 84 c9 5235 je short 03 d7fh ; 74 ba5236 jmp near 04 084h ; e9 bc 025398 je short 03f42h ; 74 ba 5399 jmp near 04247h ; e9 bc 02 5237 5400 mov es, [bp-008h] ; 8e 46 f8 5238 5401 mov di, word [es:si+014h] ; 26 8b 7c 14 … … 5258 5421 mov word [bp-00ah], cx ; 89 4e f6 5259 5422 test cx, cx ; 85 c9 5260 jne short 03 e15h ; 75 035261 jmp near 03 d7bh ; e9 66 ff5423 jne short 03fd8h ; 75 03 5424 jmp near 03f3eh ; e9 66 ff 5262 5425 cmp di, word [bp-010h] ; 3b 7e f0 5263 jc near 04 068h ; 0f 82 4c 025426 jc near 0422bh ; 0f 82 4c 02 5264 5427 cmp ax, dx ; 39 d0 5265 jnc near 04 068h ; 0f 83 46 025428 jnc near 0422bh ; 0f 83 46 02 5266 5429 cmp si, bx ; 39 de 5267 jnc near 04 068h ; 0f 83 40 025430 jnc near 0422bh ; 0f 83 40 02 5268 5431 mov dx, word [bp+016h] ; 8b 56 16 5269 5432 shr dx, 008h ; c1 ea 08 5270 5433 cmp dx, strict byte 00004h ; 83 fa 04 5271 jne short 03 e36h ; 75 035272 jmp near 03 d7bh ; e9 45 ff5434 jne short 03ff9h ; 75 03 5435 jmp near 03f3eh ; e9 45 ff 5273 5436 mov dx, word [bp+010h] ; 8b 56 10 5274 5437 shr dx, 004h ; c1 ea 04 … … 5281 5444 xor dl, dl ; 30 d2 5282 5445 xor cx, cx ; 31 c9 5283 call 09 569h ; e8 15575446 call 09729h ; e8 12 57 5284 5447 xor bx, bx ; 31 db 5285 5448 add ax, si ; 01 f0 … … 5287 5450 mov bx, di ; 89 fb 5288 5451 xor cx, cx ; 31 c9 5289 call 09 569h ; e8 08575452 call 09729h ; e8 05 57 5290 5453 mov bx, ax ; 89 c3 5291 5454 mov ax, word [bp-010h] ; 8b 46 f0 … … 5322 5485 mov dx, ss ; 8c d2 5323 5486 lea ax, [bp-02eh] ; 8d 46 d2 5324 call 09 59ah ; e8 e2565487 call 0975ah ; e8 df 56 5325 5488 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 5326 5489 mov ax, word [bp-014h] ; 8b 46 ec … … 5370 5533 sal si, 1 ; d1 e6 5371 5534 rcl di, 1 ; d1 d7 5372 loop 0 3f38h ; e2 fa5535 loop 040fbh ; e2 fa 5373 5536 push di ; 57 5374 5537 push si ; 56 … … 5385 5548 ; mov dword [es:bx+01ah], strict dword 000000000h ; 66 26 c7 47 1a 00 00 00 00 5386 5549 test al, al ; 84 c0 5387 je near 03 d7bh ; 0f 84 13 fe5388 mov bx, 00da 2h ; bb a20d5550 je near 03f3eh ; 0f 84 13 fe 5551 mov bx, 00da8h ; bb a8 0d 5389 5552 mov cx, ds ; 8c d9 5390 5553 mov ax, strict word 00004h ; b8 04 00 5391 call 01931h ; e8 be d95554 call 01931h ; e8 fb d7 5392 5555 movzx ax, dl ; 0f b6 c2 5393 5556 push ax ; 50 … … 5398 5561 push 0036eh ; 68 6e 03 5399 5562 push strict byte 00004h ; 6a 04 5400 call 01972h ; e8 e9 d95563 call 01972h ; e8 26 d8 5401 5564 add sp, strict byte 0000ah ; 83 c4 0a 5402 5565 mov ax, word [bp+016h] ; 8b 46 16 … … 5405 5568 mov word [bp+016h], ax ; 89 46 16 5406 5569 mov byte [bp+016h], 000h ; c6 46 16 00 5407 jmp near 04 073h ; e9 d5 005570 jmp near 04236h ; e9 d5 00 5408 5571 mov es, [bp-008h] ; 8e 46 f8 5409 5572 mov di, word [es:si+014h] ; 26 8b 7c 14 … … 5444 5607 mov word [bp+010h], ax ; 89 46 10 5445 5608 cmp dl, 003h ; 80 fa 03 5446 je short 04 022h ; 74 1a5609 je short 041e5h ; 74 1a 5447 5610 cmp dl, 002h ; 80 fa 02 5448 je short 04 01eh ; 74 115611 je short 041e1h ; 74 11 5449 5612 cmp dl, 001h ; 80 fa 01 5450 jne short 04 026h ; 75 145613 jne short 041e9h ; 75 14 5451 5614 mov ax, word [bp+010h] ; 8b 46 10 5452 5615 xor al, al ; 30 c0 5453 5616 or AL, strict byte 002h ; 0c 02 5454 5617 mov word [bp+010h], ax ; 89 46 10 5455 jmp short 04 026h ; eb 085618 jmp short 041e9h ; eb 08 5456 5619 or AL, strict byte 004h ; 0c 04 5457 jmp short 04 019h ; eb f75620 jmp short 041dch ; eb f7 5458 5621 or AL, strict byte 005h ; 0c 05 5459 jmp short 04 019h ; eb f35622 jmp short 041dch ; eb f3 5460 5623 mov es, [bp-008h] ; 8e 46 f8 5461 5624 cmp byte [es:si+001h], 004h ; 26 80 7c 01 04 5462 jnc near 03 d7bh ; 0f 83 49 fd5625 jnc near 03f3eh ; 0f 83 49 fd 5463 5626 mov word [bp+008h], 0efc7h ; c7 46 08 c7 ef 5464 5627 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 5465 jmp near 03 d7bh ; e9 3c fd5628 jmp near 03f3eh ; e9 3c fd 5466 5629 or bh, 003h ; 80 cf 03 5467 5630 mov word [bp+016h], bx ; 89 5e 16 5468 jmp near 03 d7fh ; e9 37 fd5469 mov bx, 00da 2h ; bb a20d5631 jmp near 03f42h ; e9 37 fd 5632 mov bx, 00da8h ; bb a8 0d 5470 5633 mov cx, ds ; 8c d9 5471 5634 mov ax, strict word 00004h ; b8 04 00 5472 call 01931h ; e8 de d85635 call 01931h ; e8 1b d7 5473 5636 mov ax, word [bp+016h] ; 8b 46 16 5474 5637 shr ax, 008h ; c1 e8 08 … … 5477 5640 push 0038fh ; 68 8f 03 5478 5641 push strict byte 00004h ; 6a 04 5479 call 01972h ; e8 0d d95642 call 01972h ; e8 4a d7 5480 5643 add sp, strict byte 00008h ; 83 c4 08 5481 5644 mov ax, word [bp+016h] ; 8b 46 16 … … 5488 5651 mov dx, strict word 00074h ; ba 74 00 5489 5652 mov ax, strict word 00040h ; b8 40 00 5490 call 0165eh ; e8 da d55653 call 0165eh ; e8 17 d4 5491 5654 or byte [bp+01ch], 001h ; 80 4e 1c 01 5492 jmp near 03 d8eh ; e9 03 fd5655 jmp near 03f51h ; e9 03 fd 5493 5656 db 050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h 5494 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 0 29h, 046h, 0a5h5495 db 04 3h, 091h, 041h, 029h, 046h, 086h, 041h, 029h, 046h, 086h, 041h, 029h, 046h, 0a5h, 043h, 029h5496 db 04 6h, 029h, 046h, 0a5h, 043h, 0a5h, 043h, 0a5h, 043h, 0a5h, 043h, 0a5h, 043h, 0bbh, 041h, 0a5h5497 db 04 3h, 029h, 046h, 0c4h, 041h, 0d7h, 041h, 086h, 041h, 0d7h, 041h, 005h, 043h, 0bfh, 043h, 0d7h5498 db 04 1h, 0e6h, 043h, 0e2h, 045h, 0eah, 045h, 029h, 046h5499 _int13_cdrom: ; 0xf4 0e4LB 0x5625657 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 0ech, 047h, 068h 5658 db 045h, 054h, 043h, 0ech, 047h, 049h, 043h, 0ech, 047h, 049h, 043h, 0ech, 047h, 068h, 045h, 0ech 5659 db 047h, 0ech, 047h, 068h, 045h, 068h, 045h, 068h, 045h, 068h, 045h, 068h, 045h, 07eh, 043h, 068h 5660 db 045h, 0ech, 047h, 087h, 043h, 09ah, 043h, 049h, 043h, 09ah, 043h, 0c8h, 044h, 082h, 045h, 09ah 5661 db 043h, 0a9h, 045h, 0a5h, 047h, 0adh, 047h, 0ech, 047h 5662 _int13_cdrom: ; 0xf42a7 LB 0x562 5500 5663 push bp ; 55 5501 5664 mov bp, sp ; 89 e5 … … 5505 5668 mov dx, strict word 0000eh ; ba 0e 00 5506 5669 mov ax, strict word 00040h ; b8 40 00 5507 call 0166ch ; e8 77 d55670 call 0166ch ; e8 b4 d3 5508 5671 mov word [bp-01ah], ax ; 89 46 e6 5509 5672 mov si, 00122h ; be 22 01 … … 5512 5675 mov dx, strict word 00074h ; ba 74 00 5513 5676 mov ax, strict word 00040h ; b8 40 00 5514 call 0165eh ; e8 55 d55677 call 0165eh ; e8 92 d3 5515 5678 mov ax, word [bp+010h] ; 8b 46 10 5516 5679 xor ah, ah ; 30 e4 5517 5680 cmp ax, 000e0h ; 3d e0 00 5518 jc short 04 118h ; 72 055681 jc short 042dbh ; 72 05 5519 5682 cmp ax, 000f0h ; 3d f0 00 5520 jc short 04 136h ; 72 1e5683 jc short 042f9h ; 72 1e 5521 5684 mov ax, word [bp+010h] ; 8b 46 10 5522 5685 xor ah, ah ; 30 e4 … … 5528 5691 push 003cbh ; 68 cb 03 5529 5692 push strict byte 00004h ; 6a 04 5530 call 01972h ; e8 42 d85693 call 01972h ; e8 7f d6 5531 5694 add sp, strict byte 0000ah ; 83 c4 0a 5532 jmp near 04 606h ; e9 d0 045695 jmp near 047c9h ; e9 d0 04 5533 5696 mov ax, word [bp+010h] ; 8b 46 10 5534 5697 xor ah, ah ; 30 e4 … … 5539 5702 mov byte [bp-008h], dl ; 88 56 f8 5540 5703 cmp dl, 010h ; 80 fa 10 5541 jc short 04 15fh ; 72 105704 jc short 04322h ; 72 10 5542 5705 push ax ; 50 5543 5706 mov ax, word [bp+018h] ; 8b 46 18 … … 5546 5709 push 003bfh ; 68 bf 03 5547 5710 push 003f6h ; 68 f6 03 5548 jmp short 04 12bh ; eb cc5711 jmp short 042eeh ; eb cc 5549 5712 mov ax, word [bp+018h] ; 8b 46 18 5550 5713 shr ax, 008h ; c1 e8 08 5551 5714 cmp ax, strict word 00050h ; 3d 50 00 5552 jnbe near 04 629h ; 0f 87 bd 045715 jnbe near 047ech ; 0f 87 bd 04 5553 5716 push CS ; 0e 5554 5717 pop ES ; 07 5555 5718 mov cx, strict word 0001eh ; b9 1e 00 5556 mov di, 04 08bh ; bf 8b 405719 mov di, 0424eh ; bf 4e 42 5557 5720 repne scasb ; f2 ae 5558 5721 sal cx, 1 ; d1 e1 5559 5722 mov di, cx ; 89 cf 5560 mov ax, word [cs:di+04 0a8h] ; 2e 8b 85 a8 405723 mov ax, word [cs:di+0426bh] ; 2e 8b 85 6b 42 5561 5724 mov bx, word [bp+018h] ; 8b 5e 18 5562 5725 xor bh, bh ; 30 ff … … 5565 5728 xor ah, ah ; 30 e4 5566 5729 or ah, 003h ; 80 cc 03 5567 jmp near 04 60eh ; e9 7d 045730 jmp near 047d1h ; e9 7d 04 5568 5731 mov dx, strict word 00074h ; ba 74 00 5569 5732 mov ax, strict word 00040h ; b8 40 00 5570 call 01650h ; e8 b6 d45733 call 01650h ; e8 f3 d2 5571 5734 mov cl, al ; 88 c1 5572 5735 movzx ax, cl ; 0f b6 c1 … … 5577 5740 mov dx, strict word 00074h ; ba 74 00 5578 5741 mov ax, strict word 00040h ; b8 40 00 5579 call 0165eh ; e8 ac d45742 call 0165eh ; e8 e9 d2 5580 5743 test cl, cl ; 84 c9 5581 je near 04 3a9h ; 0f 84 f1 015582 jmp near 04 622h ; e9 67 045744 je near 0456ch ; 0f 84 f1 01 5745 jmp near 047e5h ; e9 67 04 5583 5746 or bh, 002h ; 80 cf 02 5584 5747 mov word [bp+018h], bx ; 89 5e 18 5585 jmp near 04 611h ; e9 4d 045748 jmp near 047d4h ; e9 4d 04 5586 5749 mov word [bp+012h], 0aa55h ; c7 46 12 55 aa 5587 5750 or bh, 030h ; 80 cf 30 5588 5751 mov word [bp+018h], bx ; 89 5e 18 5589 5752 mov word [bp+016h], strict word 00007h ; c7 46 16 07 00 5590 jmp near 04 3a9h ; e9 d2 015753 jmp near 0456ch ; e9 d2 01 5591 5754 mov bx, word [bp+00ch] ; 8b 5e 0c 5592 5755 mov es, [bp+006h] ; 8e 46 06 … … 5603 5766 mov di, word [es:bx+00eh] ; 26 8b 7f 0e 5604 5767 or di, ax ; 09 c7 5605 je short 04 21fh ; 74 185768 je short 043e2h ; 74 18 5606 5769 mov ax, word [bp+018h] ; 8b 46 18 5607 5770 shr ax, 008h ; c1 e8 08 … … 5610 5773 push 00428h ; 68 28 04 5611 5774 push strict byte 00007h ; 6a 07 5612 call 01972h ; e8 59 d75775 call 01972h ; e8 96 d5 5613 5776 add sp, strict byte 00008h ; 83 c4 08 5614 jmp near 04 606h ; e9 e7 035777 jmp near 047c9h ; e9 e7 03 5615 5778 les bx, [bp-014h] ; c4 5e ec 5616 5779 mov ax, word [es:bx+008h] ; 26 8b 47 08 … … 5622 5785 mov word [bp-016h], ax ; 89 46 ea 5623 5786 cmp ax, strict word 00044h ; 3d 44 00 5624 je near 04 3a5h ; 0f 84 66 015787 je near 04568h ; 0f 84 66 01 5625 5788 cmp ax, strict word 00047h ; 3d 47 00 5626 je near 04 3a5h ; 0f 84 5f 015789 je near 04568h ; 0f 84 5f 01 5627 5790 mov cx, strict word 0000ch ; b9 0c 00 5628 5791 xor bx, bx ; 31 db 5629 5792 mov dx, ss ; 8c d2 5630 5793 lea ax, [bp-02ch] ; 8d 46 d4 5631 call 09 59ah ; e8 47535794 call 0975ah ; e8 44 53 5632 5795 mov word [bp-02ch], strict word 00028h ; c7 46 d4 28 00 5633 5796 mov ax, word [bp-018h] ; 8b 46 e8 … … 5657 5820 sal ax, 1 ; d1 e0 5658 5821 rcl bx, 1 ; d1 d3 5659 loop 04 29dh ; e2 fa5822 loop 04460h ; e2 fa 5660 5823 push bx ; 53 5661 5824 push ax ; 50 … … 5673 5836 shr di, 1 ; d1 ef 5674 5837 rcr ax, 1 ; d1 d8 5675 loop 04 2c7h ; e2 fa5838 loop 0448ah ; e2 fa 5676 5839 les bx, [bp-014h] ; c4 5e ec 5677 5840 mov word [es:bx+002h], ax ; 26 89 47 02 5678 5841 test dl, dl ; 84 d2 5679 je near 04 3a5h ; 0f 84 cb 005680 mov bx, 00da 2h ; bb a20d5842 je near 04568h ; 0f 84 cb 00 5843 mov bx, 00da8h ; bb a8 0d 5681 5844 mov cx, ds ; 8c d9 5682 5845 mov ax, strict word 00004h ; b8 04 00 5683 call 01931h ; e8 4c d65846 call 01931h ; e8 89 d4 5684 5847 movzx ax, dl ; 0f b6 c2 5685 5848 push ax ; 50 … … 5688 5851 push 00451h ; 68 51 04 5689 5852 push strict byte 00004h ; 6a 04 5690 call 01972h ; e8 7b d65853 call 01972h ; e8 b8 d4 5691 5854 add sp, strict byte 0000ah ; 83 c4 0a 5692 5855 mov ax, word [bp+018h] ; 8b 46 18 5693 5856 xor ah, ah ; 30 e4 5694 5857 or ah, 00ch ; 80 cc 0c 5695 jmp near 04 60eh ; e9 09 035858 jmp near 047d1h ; e9 09 03 5696 5859 cmp bx, strict byte 00002h ; 83 fb 02 5697 jnbe near 04 606h ; 0f 87 fa 025860 jnbe near 047c9h ; 0f 87 fa 02 5698 5861 movzx ax, byte [bp-008h] ; 0f b6 46 f8 5699 5862 imul ax, ax, strict byte 00018h ; 6b c0 18 … … 5703 5866 mov al, byte [es:di+021h] ; 26 8a 45 21 5704 5867 cmp bx, strict byte 00002h ; 83 fb 02 5705 je short 04 396h ; 74 735868 je short 04559h ; 74 73 5706 5869 cmp bx, strict byte 00001h ; 83 fb 01 5707 je short 04 363h ; 74 3b5870 je short 04526h ; 74 3b 5708 5871 test bx, bx ; 85 db 5709 jne near 04 3a5h ; 0f 85 77 005872 jne near 04568h ; 0f 85 77 00 5710 5873 cmp AL, strict byte 0ffh ; 3c ff 5711 jne short 04 344h ; 75 125874 jne short 04507h ; 75 12 5712 5875 mov ax, word [bp+018h] ; 8b 46 18 5713 5876 xor ah, ah ; 30 e4 … … 5716 5879 xor al, al ; 30 c0 5717 5880 or AL, strict byte 001h ; 0c 01 5718 jmp near 04 60eh ; e9 ca 025881 jmp near 047d1h ; e9 ca 02 5719 5882 movzx dx, byte [bp-008h] ; 0f b6 56 f8 5720 5883 imul dx, dx, strict byte 00018h ; 6b d2 18 … … 5728 5891 or AL, strict byte 001h ; 0c 01 5729 5892 mov word [bp+018h], ax ; 89 46 18 5730 jmp near 04 3a5h ; e9 42 005893 jmp near 04568h ; e9 42 00 5731 5894 test al, al ; 84 c0 5732 jne short 04 373h ; 75 0c5895 jne short 04536h ; 75 0c 5733 5896 or bh, 0b0h ; 80 cf b0 5734 5897 mov word [bp+018h], bx ; 89 5e 18 5735 5898 mov byte [bp+018h], al ; 88 46 18 5736 jmp near 04 611h ; e9 9e 025899 jmp near 047d4h ; e9 9e 02 5737 5900 movzx dx, byte [bp-008h] ; 0f b6 56 f8 5738 5901 imul dx, dx, strict byte 00018h ; 6b d2 18 … … 5749 5912 xor al, al ; 30 c0 5750 5913 or ax, dx ; 09 d0 5751 jmp short 04 35dh ; eb c75914 jmp short 04520h ; eb c7 5752 5915 test al, al ; 84 c0 5753 5916 db 00fh, 095h, 0c0h … … 5761 5924 mov dx, strict word 00074h ; ba 74 00 5762 5925 mov ax, strict word 00040h ; b8 40 00 5763 call 0165eh ; e8 aa d25926 call 0165eh ; e8 e7 d0 5764 5927 and byte [bp+01eh], 0feh ; 80 66 1e fe 5765 5928 lea sp, [bp-004h] ; 8d 66 fc … … 5774 5937 mov al, byte [es:si+021h] ; 26 8a 44 21 5775 5938 test al, al ; 84 c0 5776 je short 04 3d9h ; 74 065939 je short 0459ch ; 74 06 5777 5940 or bh, 0b1h ; 80 cf b1 5778 jmp near 04 1beh ; e9 e5 fd5779 je short 04 3a5h ; 74 ca5941 jmp near 04381h ; e9 e5 fd 5942 je short 04568h ; 74 ca 5780 5943 mov ax, word [bp+018h] ; 8b 46 18 5781 5944 xor ah, ah ; 30 e4 5782 5945 or ah, 0b1h ; 80 cc b1 5783 jmp near 04 60eh ; e9 28 025946 jmp near 047d1h ; e9 28 02 5784 5947 mov dx, word [bp+00ch] ; 8b 56 0c 5785 5948 mov cx, word [bp+006h] ; 8b 4e 06 … … 5791 5954 mov word [bp-00eh], ax ; 89 46 f2 5792 5955 cmp ax, strict word 0001ah ; 3d 1a 00 5793 jc near 04 606h ; 0f 82 04 025794 jc short 04 453h ; 72 4f5956 jc near 047c9h ; 0f 82 04 02 5957 jc short 04616h ; 72 4f 5795 5958 movzx ax, byte [bp-008h] ; 0f b6 46 f8 5796 5959 imul ax, ax, strict byte 00018h ; 6b c0 18 … … 5815 5978 ; mov dword [es:di+014h], strict dword 0ffffffffh ; 66 26 c7 45 14 ff ff ff ff 5816 5979 cmp word [bp-00eh], strict byte 0001eh ; 83 7e f2 1e 5817 jc near 04 52ah ; 0f 82 cf 005980 jc near 046edh ; 0f 82 cf 00 5818 5981 mov es, [bp-00ah] ; 8e 46 f6 5819 5982 mov word [es:bx], strict word 0001eh ; 26 c7 07 1e 00 … … 5867 6030 xor cl, cl ; 30 c9 5868 6031 xor ch, ch ; 30 ed 5869 jmp short 04 50dh ; eb 056032 jmp short 046d0h ; eb 05 5870 6033 cmp ch, 00fh ; 80 fd 0f 5871 jnc short 04 520h ; 73 136034 jnc short 046e3h ; 73 13 5872 6035 movzx dx, ch ; 0f b6 d5 5873 6036 add dx, 00312h ; 81 c2 12 03 5874 6037 mov ax, word [bp-01ah] ; 8b 46 e6 5875 call 01650h ; e8 36 d16038 call 01650h ; e8 73 cf 5876 6039 add cl, al ; 00 c1 5877 6040 db 0feh, 0c5h 5878 6041 ; inc ch ; fe c5 5879 jmp short 04 508h ; eb e86042 jmp short 046cbh ; eb e8 5880 6043 neg cl ; f6 d9 5881 6044 mov es, [bp-00ch] ; 8e 46 f4 5882 6045 mov byte [es:si+001ffh], cl ; 26 88 8c ff 01 5883 6046 cmp word [bp-00eh], strict byte 00042h ; 83 7e f2 42 5884 jc near 04 3a5h ; 0f 82 73 fe6047 jc near 04568h ; 0f 82 73 fe 5885 6048 movzx ax, byte [bp-008h] ; 0f b6 46 f8 5886 6049 cwd ; 99 … … 5900 6063 mov word [es:bx+022h], strict word 00000h ; 26 c7 47 22 00 00 5901 6064 test al, al ; 84 c0 5902 jne short 04 573h ; 75 096065 jne short 04736h ; 75 09 5903 6066 db 066h, 026h, 0c7h, 047h, 024h, 049h, 053h, 041h, 020h 5904 6067 ; mov dword [es:bx+024h], strict dword 020415349h ; 66 26 c7 47 24 49 53 41 20 … … 5909 6072 ; mov dword [es:bx+02ch], strict dword 020202020h ; 66 26 c7 47 2c 20 20 20 20 5910 6073 test al, al ; 84 c0 5911 jne short 04 59fh ; 75 136074 jne short 04762h ; 75 13 5912 6075 mov word [es:bx+030h], dx ; 26 89 57 30 5913 6076 db 066h, 026h, 0c7h, 047h, 032h, 000h, 000h, 000h, 000h … … 5924 6087 xor al, al ; 30 c0 5925 6088 mov AH, strict byte 01eh ; b4 1e 5926 jmp short 04 5c7h ; eb 056089 jmp short 0478ah ; eb 05 5927 6090 cmp ah, 040h ; 80 fc 40 5928 jnc short 04 5d6h ; 73 0f6091 jnc short 04799h ; 73 0f 5929 6092 movzx si, ah ; 0f b6 f4 5930 6093 mov es, [bp-00ah] ; 8e 46 f6 … … 5933 6096 db 0feh, 0c4h 5934 6097 ; inc ah ; fe c4 5935 jmp short 04 5c2h ; eb ec6098 jmp short 04785h ; eb ec 5936 6099 neg al ; f6 d8 5937 6100 mov es, [bp-00ah] ; 8e 46 f6 5938 6101 mov byte [es:bx+041h], al ; 26 88 47 41 5939 jmp near 04 3a5h ; e9 c3 fd6102 jmp near 04568h ; e9 c3 fd 5940 6103 or bh, 006h ; 80 cf 06 5941 6104 mov word [bp+018h], bx ; 89 5e 18 5942 jmp short 04 622h ; eb 386105 jmp short 047e5h ; eb 38 5943 6106 cmp bx, strict byte 00006h ; 83 fb 06 5944 je near 04 3a5h ; 0f 84 b4 fd6107 je near 04568h ; 0f 84 b4 fd 5945 6108 cmp bx, strict byte 00001h ; 83 fb 01 5946 jc short 04 606h ; 72 105947 jbe near 04 3a5h ; 0f 86 ab fd6109 jc short 047c9h ; 72 10 6110 jbe near 04568h ; 0f 86 ab fd 5948 6111 cmp bx, strict byte 00003h ; 83 fb 03 5949 jc short 04 606h ; 72 076112 jc short 047c9h ; 72 07 5950 6113 cmp bx, strict byte 00004h ; 83 fb 04 5951 jbe near 04 3a5h ; 0f 86 9f fd6114 jbe near 04568h ; 0f 86 9f fd 5952 6115 mov ax, word [bp+018h] ; 8b 46 18 5953 6116 xor ah, ah ; 30 e4 … … 5959 6122 mov dx, strict word 00074h ; ba 74 00 5960 6123 mov ax, strict word 00040h ; b8 40 00 5961 call 0165eh ; e8 3c d06124 call 0165eh ; e8 79 ce 5962 6125 or byte [bp+01eh], 001h ; 80 4e 1e 01 5963 jmp near 04 3b8h ; e9 8f fd5964 mov bx, 00da 2h ; bb a20d6126 jmp near 0457bh ; e9 8f fd 6127 mov bx, 00da8h ; bb a8 0d 5965 6128 mov cx, ds ; 8c d9 5966 6129 mov ax, strict word 00004h ; b8 04 00 5967 call 01931h ; e8 fd d26130 call 01931h ; e8 3a d1 5968 6131 mov ax, word [bp+018h] ; 8b 46 18 5969 6132 shr ax, 008h ; c1 e8 08 … … 5972 6135 push 00313h ; 68 13 03 5973 6136 push strict byte 00004h ; 6a 04 5974 jmp near 04 216h ; e9 d0 fb5975 print_boot_device_: ; 0xf4 646LB 0x4b6137 jmp near 043d9h ; e9 d0 fb 6138 print_boot_device_: ; 0xf4809 LB 0x4b 5976 6139 push bp ; 55 5977 6140 mov bp, sp ; 89 e5 5978 6141 push cx ; 51 5979 6142 test al, al ; 84 c0 5980 je short 04 653h ; 74 056143 je short 04816h ; 74 05 5981 6144 mov dx, strict word 00002h ; ba 02 00 5982 jmp short 04 66dh ; eb 1a6145 jmp short 04830h ; eb 1a 5983 6146 test dl, dl ; 84 d2 5984 je short 04 65ch ; 74 056147 je short 0481fh ; 74 05 5985 6148 mov dx, strict word 00003h ; ba 03 00 5986 jmp short 04 66dh ; eb 116149 jmp short 04830h ; eb 11 5987 6150 test bl, 080h ; f6 c3 80 5988 jne short 04 665h ; 75 046151 jne short 04828h ; 75 04 5989 6152 xor dh, dh ; 30 f6 5990 jmp short 04 66dh ; eb 086153 jmp short 04830h ; eb 08 5991 6154 test bl, 080h ; f6 c3 80 5992 je short 04 68bh ; 74 216155 je short 0484eh ; 74 21 5993 6156 mov dx, strict word 00001h ; ba 01 00 5994 mov bx, 00da 2h ; bb a20d6157 mov bx, 00da8h ; bb a8 0d 5995 6158 mov cx, ds ; 8c d9 5996 6159 mov ax, strict word 00004h ; b8 04 00 5997 call 01931h ; e8 b9 d26160 call 01931h ; e8 f6 d0 5998 6161 imul dx, dx, strict byte 0000ah ; 6b d2 0a 5999 add dx, 00dc 8h ; 81 c2 c80d6162 add dx, 00dceh ; 81 c2 ce 0d 6000 6163 push dx ; 52 6001 6164 push 00474h ; 68 74 04 6002 6165 push strict byte 00004h ; 6a 04 6003 call 01972h ; e8 ea d26166 call 01972h ; e8 27 d1 6004 6167 add sp, strict byte 00006h ; 83 c4 06 6005 6168 lea sp, [bp-002h] ; 8d 66 fe … … 6007 6170 pop bp ; 5d 6008 6171 retn ; c3 6009 print_boot_failure_: ; 0xf4 691LB 0x936172 print_boot_failure_: ; 0xf4854 LB 0x93 6010 6173 push bp ; 55 6011 6174 mov bp, sp ; 89 e5 … … 6016 6179 movzx si, ah ; 0f b6 f4 6017 6180 test al, al ; 84 c0 6018 je short 04 6beh ; 74 1b6019 mov bx, 00da 2h ; bb a20d6181 je short 04881h ; 74 1b 6182 mov bx, 00da8h ; bb a8 0d 6020 6183 mov cx, ds ; 8c d9 6021 6184 mov ax, strict word 00004h ; b8 04 00 6022 call 01931h ; e8 83 d26023 push 00d dch ; 68 dc0d6185 call 01931h ; e8 c0 d0 6186 push 00de2h ; 68 e2 0d 6024 6187 push 00488h ; 68 88 04 6025 6188 push strict byte 00004h ; 6a 04 6026 call 01972h ; e8 b9 d26189 call 01972h ; e8 f6 d0 6027 6190 add sp, strict byte 00006h ; 83 c4 06 6028 jmp short 04 702h ; eb 446191 jmp short 048c5h ; eb 44 6029 6192 test dl, dl ; 84 d2 6030 je short 04 6d2h ; 74 106031 mov bx, 00da 2h ; bb a20d6193 je short 04895h ; 74 10 6194 mov bx, 00da8h ; bb a8 0d 6032 6195 mov cx, ds ; 8c d9 6033 6196 mov ax, strict word 00004h ; b8 04 00 6034 call 01931h ; e8 64 d26035 push 00de 6h ; 68 e60d6036 jmp short 04 6b1h ; eb df6197 call 01931h ; e8 a1 d0 6198 push 00dech ; 68 ec 0d 6199 jmp short 04874h ; eb df 6037 6200 test bl, 080h ; f6 c3 80 6038 je short 04 6e8h ; 74 116039 mov bx, 00da 2h ; bb a20d6201 je short 048abh ; 74 11 6202 mov bx, 00da8h ; bb a8 0d 6040 6203 mov cx, ds ; 8c d9 6041 6204 mov ax, strict word 00004h ; b8 04 00 6042 call 01931h ; e8 4f d26205 call 01931h ; e8 8c d0 6043 6206 push si ; 56 6044 push 00dd 2h ; 68 d20d6045 jmp short 04 6f7h ; eb 0f6046 mov bx, 00da 2h ; bb a20d6207 push 00dd8h ; 68 d8 0d 6208 jmp short 048bah ; eb 0f 6209 mov bx, 00da8h ; bb a8 0d 6047 6210 mov cx, ds ; 8c d9 6048 6211 mov ax, strict word 00004h ; b8 04 00 6049 call 01931h ; e8 3e d26212 call 01931h ; e8 7b d0 6050 6213 push si ; 56 6051 push 00dc 8h ; 68 c80d6214 push 00dceh ; 68 ce 0d 6052 6215 push 0049dh ; 68 9d 04 6053 6216 push strict byte 00004h ; 6a 04 6054 call 01972h ; e8 73 d26217 call 01972h ; e8 b0 d0 6055 6218 add sp, strict byte 00008h ; 83 c4 08 6056 6219 cmp byte [bp+004h], 001h ; 80 7e 04 01 6057 jne short 04 71ch ; 75 146220 jne short 048dfh ; 75 14 6058 6221 test dh, dh ; 84 f6 6059 jne short 04 711h ; 75 056222 jne short 048d4h ; 75 05 6060 6223 push 004b5h ; 68 b5 04 6061 jmp short 04 714h ; eb 036224 jmp short 048d7h ; eb 03 6062 6225 push 004dfh ; 68 df 04 6063 6226 push strict byte 00007h ; 6a 07 6064 call 01972h ; e8 59 d26227 call 01972h ; e8 96 d0 6065 6228 add sp, strict byte 00004h ; 83 c4 04 6066 6229 lea sp, [bp-002h] ; 8d 66 fe … … 6068 6231 pop bp ; 5d 6069 6232 retn 00002h ; c2 02 00 6070 print_cdromboot_failure_: ; 0xf4 724LB 0x276233 print_cdromboot_failure_: ; 0xf48e7 LB 0x27 6071 6234 push bp ; 55 6072 6235 mov bp, sp ; 89 e5 … … 6075 6238 push dx ; 52 6076 6239 mov dx, ax ; 89 c2 6077 mov bx, 00da 2h ; bb a20d6240 mov bx, 00da8h ; bb a8 0d 6078 6241 mov cx, ds ; 8c d9 6079 6242 mov ax, strict word 00004h ; b8 04 00 6080 call 01931h ; e8 fa d16243 call 01931h ; e8 37 d0 6081 6244 push dx ; 52 6082 6245 push 00514h ; 68 14 05 6083 6246 push strict byte 00004h ; 6a 04 6084 call 01972h ; e8 32 d26247 call 01972h ; e8 6f d0 6085 6248 add sp, strict byte 00006h ; 83 c4 06 6086 6249 lea sp, [bp-006h] ; 8d 66 fa … … 6090 6253 pop bp ; 5d 6091 6254 retn ; c3 6092 _int19_function: ; 0xf4 74bLB 0x2566255 _int19_function: ; 0xf490e LB 0x256 6093 6256 push bp ; 55 6094 6257 mov bp, sp ; 89 e5 … … 6098 6261 mov dx, strict word 0000eh ; ba 0e 00 6099 6262 mov ax, strict word 00040h ; b8 40 00 6100 call 0166ch ; e8 10 cf6263 call 0166ch ; e8 4d cd 6101 6264 mov bx, ax ; 89 c3 6102 6265 mov word [bp-00eh], ax ; 89 46 f2 6103 6266 mov byte [bp-008h], 000h ; c6 46 f8 00 6104 6267 mov ax, strict word 0003dh ; b8 3d 00 6105 call 016ach ; e8 41 cf6268 call 016ach ; e8 7e cd 6106 6269 movzx si, al ; 0f b6 f0 6107 6270 mov ax, strict word 00038h ; b8 38 00 6108 call 016ach ; e8 38 cf6271 call 016ach ; e8 75 cd 6109 6272 and AL, strict byte 0f0h ; 24 f0 6110 6273 xor ah, ah ; 30 e4 … … 6112 6275 or si, ax ; 09 c6 6113 6276 mov ax, strict word 0003ch ; b8 3c 00 6114 call 016ach ; e8 29 cf6277 call 016ach ; e8 66 cd 6115 6278 and AL, strict byte 00fh ; 24 0f 6116 6279 xor ah, ah ; 30 e4 … … 6119 6282 mov dx, 00339h ; ba 39 03 6120 6283 mov ax, bx ; 89 d8 6121 call 01650h ; e8 bc ce6284 call 01650h ; e8 f9 cc 6122 6285 test al, al ; 84 c0 6123 je short 04 7a3h ; 74 0b6286 je short 04966h ; 74 0b 6124 6287 mov dx, 00339h ; ba 39 03 6125 6288 mov ax, bx ; 89 d8 6126 call 01650h ; e8 b0 ce6289 call 01650h ; e8 ed cc 6127 6290 movzx si, al ; 0f b6 f0 6128 6291 cmp byte [bp+004h], 001h ; 80 7e 04 01 6129 jne short 04 7b9h ; 75 106292 jne short 0497ch ; 75 10 6130 6293 mov ax, strict word 0003ch ; b8 3c 00 6131 call 016ach ; e8 fd ce6294 call 016ach ; e8 3a cd 6132 6295 and AL, strict byte 0f0h ; 24 f0 6133 6296 xor ah, ah ; 30 e4 6134 6297 sar ax, 004h ; c1 f8 04 6135 call 07 65bh ; e8 a2 2e6298 call 0781eh ; e8 a2 2e 6136 6299 cmp byte [bp+004h], 002h ; 80 7e 04 02 6137 jne short 04 7c2h ; 75 036300 jne short 04985h ; 75 03 6138 6301 shr si, 004h ; c1 ee 04 6139 6302 cmp byte [bp+004h], 003h ; 80 7e 04 03 6140 jne short 04 7cbh ; 75 036303 jne short 0498eh ; 75 03 6141 6304 shr si, 008h ; c1 ee 08 6142 6305 cmp byte [bp+004h], 004h ; 80 7e 04 04 6143 jne short 04 7d4h ; 75 036306 jne short 04997h ; 75 03 6144 6307 shr si, 00ch ; c1 ee 0c 6145 6308 cmp si, strict byte 00010h ; 83 fe 10 6146 jnc short 04 7ddh ; 73 046309 jnc short 049a0h ; 73 04 6147 6310 mov byte [bp-008h], 001h ; c6 46 f8 01 6148 6311 xor al, al ; 30 c0 … … 6150 6313 mov byte [bp-00ah], al ; 88 46 f6 6151 6314 mov byte [bp-00ch], al ; 88 46 f4 6152 mov bx, 00da 2h ; bb a20d6315 mov bx, 00da8h ; bb a8 0d 6153 6316 mov cx, ds ; 8c d9 6154 6317 mov ax, strict word 00004h ; b8 04 00 6155 call 01931h ; e8 3e d16318 call 01931h ; e8 7b cf 6156 6319 push si ; 56 6157 6320 movzx ax, byte [bp+004h] ; 0f b6 46 04 … … 6159 6322 push 00534h ; 68 34 05 6160 6323 push strict byte 00004h ; 6a 04 6161 call 01972h ; e8 71 d16324 call 01972h ; e8 ae cf 6162 6325 add sp, strict byte 00008h ; 83 c4 08 6163 6326 and si, strict byte 0000fh ; 83 e6 0f 6164 6327 cmp si, strict byte 00002h ; 83 fe 02 6165 jc short 04 81ah ; 72 0e6166 jbe short 04 829h ; 76 1b6328 jc short 049ddh ; 72 0e 6329 jbe short 049ech ; 76 1b 6167 6330 cmp si, strict byte 00004h ; 83 fe 04 6168 je short 04 847h ; 74 346331 je short 04a0ah ; 74 34 6169 6332 cmp si, strict byte 00003h ; 83 fe 03 6170 je short 04 83dh ; 74 256171 jmp short 04 874h ; eb 5a6333 je short 04a00h ; 74 25 6334 jmp short 04a37h ; eb 5a 6172 6335 cmp si, strict byte 00001h ; 83 fe 01 6173 jne short 04 874h ; 75 556336 jne short 04a37h ; 75 55 6174 6337 xor al, al ; 30 c0 6175 6338 mov byte [bp-006h], al ; 88 46 fa 6176 6339 mov byte [bp-00ah], al ; 88 46 f6 6177 jmp short 04 88ch ; eb 636340 jmp short 04a4fh ; eb 63 6178 6341 mov dx, 00338h ; ba 38 03 6179 6342 mov ax, word [bp-00eh] ; 8b 46 f2 6180 call 01650h ; e8 1e ce6343 call 01650h ; e8 5b cc 6181 6344 add AL, strict byte 080h ; 04 80 6182 6345 mov byte [bp-006h], al ; 88 46 fa 6183 6346 mov byte [bp-00ah], 000h ; c6 46 f6 00 6184 jmp short 04 88ch ; eb 4f6347 jmp short 04a4fh ; eb 4f 6185 6348 mov byte [bp-006h], 000h ; c6 46 fa 00 6186 6349 mov byte [bp-00ah], 001h ; c6 46 f6 01 6187 jmp short 04 851h ; eb 0a6350 jmp short 04a14h ; eb 0a 6188 6351 mov byte [bp-00ch], 001h ; c6 46 f4 01 6189 6352 cmp byte [bp-00ah], 000h ; 80 7e f6 00 6190 je short 04 88ch ; 74 3b6191 call 03 89ah ; e8 46 f06353 je short 04a4fh ; 74 3b 6354 call 03a5dh ; e8 46 f0 6192 6355 mov bx, ax ; 89 c3 6193 6356 test AL, strict byte 0ffh ; a8 ff 6194 je short 04 87bh ; 74 216195 call 04 724h ; e8 c7 fe6357 je short 04a3eh ; 74 21 6358 call 048e7h ; e8 c7 fe 6196 6359 movzx ax, byte [bp-008h] ; 0f b6 46 f8 6197 6360 push ax ; 50 … … 6200 6363 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6201 6364 mov cx, strict word 00001h ; b9 01 00 6202 call 04 691h ; e8 1d fe6365 call 04854h ; e8 1d fe 6203 6366 xor ax, ax ; 31 c0 6204 6367 xor dx, dx ; 31 d2 6205 jmp near 04 99ah ; e9 1f 016368 jmp near 04b5dh ; e9 1f 01 6206 6369 mov dx, 0032eh ; ba 2e 03 6207 6370 mov ax, word [bp-00eh] ; 8b 46 f2 6208 call 0166ch ; e8 e8 cd6371 call 0166ch ; e8 25 cc 6209 6372 mov di, ax ; 89 c7 6210 6373 shr bx, 008h ; c1 eb 08 6211 6374 mov byte [bp-006h], bl ; 88 5e fa 6212 6375 cmp byte [bp-00ch], 001h ; 80 7e f4 01 6213 jne near 04 908h ; 0f 85 74 006376 jne near 04acbh ; 0f 85 74 00 6214 6377 xor si, si ; 31 f6 6215 6378 mov ax, 0e200h ; b8 00 e2 6216 6379 mov es, ax ; 8e c0 6217 6380 cmp word [es:si], 0aa55h ; 26 81 3c 55 aa 6218 jne short 04 85dh ; 75 bb6381 jne short 04a20h ; 75 bb 6219 6382 mov cx, ax ; 89 c1 6220 6383 mov si, word [es:si+01ah] ; 26 8b 74 1a 6221 6384 cmp word [es:si+002h], 0506eh ; 26 81 7c 02 6e 50 6222 jne short 04 85dh ; 75 ad6385 jne short 04a20h ; 75 ad 6223 6386 cmp word [es:si], 05024h ; 26 81 3c 24 50 6224 jne short 04 85dh ; 75 a66387 jne short 04a20h ; 75 a6 6225 6388 mov di, word [es:si+00eh] ; 26 8b 7c 0e 6226 6389 mov dx, word [es:di] ; 26 8b 15 6227 6390 mov ax, word [es:di+002h] ; 26 8b 45 02 6228 6391 cmp ax, 06568h ; 3d 68 65 6229 jne short 04 8e6h ; 75 1f6392 jne short 04aa9h ; 75 1f 6230 6393 cmp dx, 07445h ; 81 fa 45 74 6231 jne short 04 8e6h ; 75 196394 jne short 04aa9h ; 75 19 6232 6395 movzx bx, byte [bp-006h] ; 0f b6 5e fa 6233 6396 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 6234 6397 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6235 call 04 646h ; e8 6a fd6398 call 04809h ; e8 6a fd 6236 6399 mov word [bp-012h], strict word 00006h ; c7 46 ee 06 00 6237 6400 mov word [bp-010h], cx ; 89 4e f0 6238 jmp short 04 902h ; eb 1c6401 jmp short 04ac5h ; eb 1c 6239 6402 movzx bx, byte [bp-006h] ; 0f b6 5e fa 6240 6403 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 6241 6404 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6242 call 04 646h ; e8 51 fd6405 call 04809h ; e8 51 fd 6243 6406 sti ; fb 6244 6407 mov word [bp-010h], cx ; 89 4e f0 … … 6247 6410 mov word [bp-012h], ax ; 89 46 ee 6248 6411 call far [bp-012h] ; ff 5e ee 6249 jmp near 04 85dh ; e9 55 ff6412 jmp near 04a20h ; e9 55 ff 6250 6413 cmp byte [bp-00ah], 000h ; 80 7e f6 00 6251 jne short 04 934h ; 75 266414 jne short 04af7h ; 75 26 6252 6415 cmp byte [bp-00ch], 000h ; 80 7e f4 00 6253 jne short 04 934h ; 75 206416 jne short 04af7h ; 75 20 6254 6417 mov di, 007c0h ; bf c0 07 6255 6418 mov es, di ; 8e c7 … … 6264 6427 sbb ax, strict byte 00000h ; 83 d8 00 6265 6428 test ax, ax ; 85 c0 6266 jne near 04 85dh ; 0f 85 29 ff6429 jne near 04a20h ; 0f 85 29 ff 6267 6430 cmp byte [bp-006h], 000h ; 80 7e fa 00 6268 6431 db 00fh, 094h, 0c1h 6269 6432 ; sete cl ; 0f 94 c1 6270 6433 cmp byte [bp-00ah], 000h ; 80 7e f6 00 6271 je short 04 943h ; 74 026434 je short 04b06h ; 74 02 6272 6435 mov CL, strict byte 001h ; b1 01 6273 6436 xor dx, dx ; 31 d2 6274 6437 mov ax, di ; 89 f8 6275 call 0166ch ; e8 22 cd6438 call 0166ch ; e8 5f cb 6276 6439 mov bx, ax ; 89 c3 6277 6440 mov dx, strict word 00002h ; ba 02 00 6278 6441 mov ax, di ; 89 f8 6279 call 0166ch ; e8 18 cd6442 call 0166ch ; e8 55 cb 6280 6443 cmp bx, ax ; 39 c3 6281 je short 04 969h ; 74 116444 je short 04b2ch ; 74 11 6282 6445 test cl, cl ; 84 c9 6283 jne short 04 97fh ; 75 236446 jne short 04b42h ; 75 23 6284 6447 mov dx, 001feh ; ba fe 01 6285 6448 mov ax, di ; 89 f8 6286 call 0166ch ; e8 08 cd6449 call 0166ch ; e8 45 cb 6287 6450 cmp ax, 0aa55h ; 3d 55 aa 6288 je short 04 97fh ; 74 166451 je short 04b42h ; 74 16 6289 6452 movzx ax, byte [bp-008h] ; 0f b6 46 f8 6290 6453 push ax ; 50 … … 6293 6456 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6294 6457 xor cx, cx ; 31 c9 6295 jmp near 04 871h ; e9 f2 fe6458 jmp near 04a34h ; e9 f2 fe 6296 6459 movzx bx, byte [bp-006h] ; 0f b6 5e fa 6297 6460 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 6298 6461 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6299 call 04 646h ; e8 b8 fc6462 call 04809h ; e8 b8 fc 6300 6463 movzx bx, byte [bp-006h] ; 0f b6 5e fa 6301 6464 xor dx, dx ; 31 d2 … … 6308 6471 pop bp ; 5d 6309 6472 retn ; c3 6310 keyboard_panic_: ; 0xf4 9a1LB 0x136473 keyboard_panic_: ; 0xf4b64 LB 0x13 6311 6474 push bp ; 55 6312 6475 mov bp, sp ; 89 e5 … … 6314 6477 push 00554h ; 68 54 05 6315 6478 push strict byte 00007h ; 6a 07 6316 call 01972h ; e8 c5 cf6479 call 01972h ; e8 02 ce 6317 6480 add sp, strict byte 00006h ; 83 c4 06 6318 6481 mov sp, bp ; 89 ec 6319 6482 pop bp ; 5d 6320 6483 retn ; c3 6321 _keyboard_init: ; 0xf4 9b4LB 0x26a6484 _keyboard_init: ; 0xf4b77 LB 0x26a 6322 6485 push bp ; 55 6323 6486 mov bp, sp ; 89 e5 … … 6331 6494 ; sub ah, ah ; 2a e4 6332 6495 test AL, strict byte 002h ; a8 02 6333 je short 04 9d7h ; 74 0d6496 je short 04b9ah ; 74 0d 6334 6497 dec bx ; 4b 6335 6498 test bx, bx ; 85 db 6336 jbe short 04 9d7h ; 76 086499 jbe short 04b9ah ; 76 08 6337 6500 xor al, al ; 30 c0 6338 6501 mov dx, 00080h ; ba 80 00 6339 6502 out DX, AL ; ee 6340 jmp short 04 9c0h ; eb e96503 jmp short 04b83h ; eb e9 6341 6504 test bx, bx ; 85 db 6342 jne short 04 9e0h ; 75 056505 jne short 04ba3h ; 75 05 6343 6506 xor ax, ax ; 31 c0 6344 call 04 9a1h ; e8 c1 ff6507 call 04b64h ; e8 c1 ff 6345 6508 mov bx, strict word 0ffffh ; bb ff ff 6346 6509 mov dx, strict word 00064h ; ba 64 00 … … 6349 6512 ; sub ah, ah ; 2a e4 6350 6513 test AL, strict byte 001h ; a8 01 6351 jne short 04 9fah ; 75 0d6514 jne short 04bbdh ; 75 0d 6352 6515 dec bx ; 4b 6353 6516 test bx, bx ; 85 db 6354 jbe short 04 9fah ; 76 086517 jbe short 04bbdh ; 76 08 6355 6518 mov AL, strict byte 001h ; b0 01 6356 6519 mov dx, 00080h ; ba 80 00 6357 6520 out DX, AL ; ee 6358 jmp short 04 9e3h ; eb e96521 jmp short 04ba6h ; eb e9 6359 6522 test bx, bx ; 85 db 6360 jne short 04 a04h ; 75 066523 jne short 04bc7h ; 75 06 6361 6524 mov ax, strict word 00001h ; b8 01 00 6362 call 04 9a1h ; e8 9d ff6525 call 04b64h ; e8 9d ff 6363 6526 mov dx, strict word 00060h ; ba 60 00 6364 6527 in AL, DX ; ec … … 6366 6529 ; sub ah, ah ; 2a e4 6367 6530 cmp ax, strict word 00055h ; 3d 55 00 6368 je short 04 a15h ; 74 066531 je short 04bd8h ; 74 06 6369 6532 mov ax, 003dfh ; b8 df 03 6370 call 04 9a1h ; e8 8c ff6533 call 04b64h ; e8 8c ff 6371 6534 mov AL, strict byte 0abh ; b0 ab 6372 6535 mov dx, strict word 00064h ; ba 64 00 … … 6378 6541 ; sub ah, ah ; 2a e4 6379 6542 test AL, strict byte 002h ; a8 02 6380 je short 04 a35h ; 74 0d6543 je short 04bf8h ; 74 0d 6381 6544 dec bx ; 4b 6382 6545 test bx, bx ; 85 db 6383 jbe short 04 a35h ; 76 086546 jbe short 04bf8h ; 76 08 6384 6547 mov AL, strict byte 010h ; b0 10 6385 6548 mov dx, 00080h ; ba 80 00 6386 6549 out DX, AL ; ee 6387 jmp short 04 a1eh ; eb e96550 jmp short 04be1h ; eb e9 6388 6551 test bx, bx ; 85 db 6389 jne short 04 a3fh ; 75 066552 jne short 04c02h ; 75 06 6390 6553 mov ax, strict word 0000ah ; b8 0a 00 6391 call 04 9a1h ; e8 62 ff6554 call 04b64h ; e8 62 ff 6392 6555 mov bx, strict word 0ffffh ; bb ff ff 6393 6556 mov dx, strict word 00064h ; ba 64 00 … … 6396 6559 ; sub ah, ah ; 2a e4 6397 6560 test AL, strict byte 001h ; a8 01 6398 jne short 04 a59h ; 75 0d6561 jne short 04c1ch ; 75 0d 6399 6562 dec bx ; 4b 6400 6563 test bx, bx ; 85 db 6401 jbe short 04 a59h ; 76 086564 jbe short 04c1ch ; 76 08 6402 6565 mov AL, strict byte 011h ; b0 11 6403 6566 mov dx, 00080h ; ba 80 00 6404 6567 out DX, AL ; ee 6405 jmp short 04 a42h ; eb e96568 jmp short 04c05h ; eb e9 6406 6569 test bx, bx ; 85 db 6407 jne short 04 a63h ; 75 066570 jne short 04c26h ; 75 06 6408 6571 mov ax, strict word 0000bh ; b8 0b 00 6409 call 04 9a1h ; e8 3e ff6572 call 04b64h ; e8 3e ff 6410 6573 mov dx, strict word 00060h ; ba 60 00 6411 6574 in AL, DX ; ec … … 6413 6576 ; sub ah, ah ; 2a e4 6414 6577 test ax, ax ; 85 c0 6415 je short 04 a73h ; 74 066578 je short 04c36h ; 74 06 6416 6579 mov ax, 003e0h ; b8 e0 03 6417 call 04 9a1h ; e8 2e ff6580 call 04b64h ; e8 2e ff 6418 6581 mov AL, strict byte 0ffh ; b0 ff 6419 6582 mov dx, strict word 00060h ; ba 60 00 … … 6425 6588 ; sub ah, ah ; 2a e4 6426 6589 test AL, strict byte 002h ; a8 02 6427 je short 04 a93h ; 74 0d6590 je short 04c56h ; 74 0d 6428 6591 dec bx ; 4b 6429 6592 test bx, bx ; 85 db 6430 jbe short 04 a93h ; 76 086593 jbe short 04c56h ; 76 08 6431 6594 mov AL, strict byte 020h ; b0 20 6432 6595 mov dx, 00080h ; ba 80 00 6433 6596 out DX, AL ; ee 6434 jmp short 04 a7ch ; eb e96597 jmp short 04c3fh ; eb e9 6435 6598 test bx, bx ; 85 db 6436 jne short 04 a9dh ; 75 066599 jne short 04c60h ; 75 06 6437 6600 mov ax, strict word 00014h ; b8 14 00 6438 call 04 9a1h ; e8 04 ff6601 call 04b64h ; e8 04 ff 6439 6602 mov bx, strict word 0ffffh ; bb ff ff 6440 6603 mov dx, strict word 00064h ; ba 64 00 … … 6443 6606 ; sub ah, ah ; 2a e4 6444 6607 test AL, strict byte 001h ; a8 01 6445 jne short 04 ab7h ; 75 0d6608 jne short 04c7ah ; 75 0d 6446 6609 dec bx ; 4b 6447 6610 test bx, bx ; 85 db 6448 jbe short 04 ab7h ; 76 086611 jbe short 04c7ah ; 76 08 6449 6612 mov AL, strict byte 021h ; b0 21 6450 6613 mov dx, 00080h ; ba 80 00 6451 6614 out DX, AL ; ee 6452 jmp short 04 aa0h ; eb e96615 jmp short 04c63h ; eb e9 6453 6616 test bx, bx ; 85 db 6454 jne short 04 ac1h ; 75 066617 jne short 04c84h ; 75 06 6455 6618 mov ax, strict word 00015h ; b8 15 00 6456 call 04 9a1h ; e8 e0 fe6619 call 04b64h ; e8 e0 fe 6457 6620 mov dx, strict word 00060h ; ba 60 00 6458 6621 in AL, DX ; ec … … 6460 6623 ; sub ah, ah ; 2a e4 6461 6624 cmp ax, 000fah ; 3d fa 00 6462 je short 04 ad2h ; 74 066625 je short 04c95h ; 74 06 6463 6626 mov ax, 003e1h ; b8 e1 03 6464 call 04 9a1h ; e8 cf fe6627 call 04b64h ; e8 cf fe 6465 6628 mov dx, strict word 00064h ; ba 64 00 6466 6629 in AL, DX ; ec … … 6468 6631 ; sub ah, ah ; 2a e4 6469 6632 test AL, strict byte 001h ; a8 01 6470 jne short 04 ae4h ; 75 086633 jne short 04ca7h ; 75 08 6471 6634 mov AL, strict byte 031h ; b0 31 6472 6635 mov dx, 00080h ; ba 80 00 6473 6636 out DX, AL ; ee 6474 jmp short 04 ad2h ; eb ee6637 jmp short 04c95h ; eb ee 6475 6638 mov dx, strict word 00060h ; ba 60 00 6476 6639 in AL, DX ; ec … … 6478 6641 ; sub ah, ah ; 2a e4 6479 6642 cmp ax, 000aah ; 3d aa 00 6480 je short 04 afdh ; 74 0e6643 je short 04cc0h ; 74 0e 6481 6644 in AL, DX ; ec 6482 6645 db 02ah, 0e4h 6483 6646 ; sub ah, ah ; 2a e4 6484 6647 cmp ax, 000aah ; 3d aa 00 6485 je short 04 afdh ; 74 066648 je short 04cc0h ; 74 06 6486 6649 mov ax, 003e2h ; b8 e2 03 6487 call 04 9a1h ; e8 a4 fe6650 call 04b64h ; e8 a4 fe 6488 6651 mov AL, strict byte 0f5h ; b0 f5 6489 6652 mov dx, strict word 00060h ; ba 60 00 … … 6495 6658 ; sub ah, ah ; 2a e4 6496 6659 test AL, strict byte 002h ; a8 02 6497 je short 04 b1dh ; 74 0d6660 je short 04ce0h ; 74 0d 6498 6661 dec bx ; 4b 6499 6662 test bx, bx ; 85 db 6500 jbe short 04 b1dh ; 76 086663 jbe short 04ce0h ; 76 08 6501 6664 mov AL, strict byte 040h ; b0 40 6502 6665 mov dx, 00080h ; ba 80 00 6503 6666 out DX, AL ; ee 6504 jmp short 04 b06h ; eb e96667 jmp short 04cc9h ; eb e9 6505 6668 test bx, bx ; 85 db 6506 jne short 04 b27h ; 75 066669 jne short 04ceah ; 75 06 6507 6670 mov ax, strict word 00028h ; b8 28 00 6508 call 04 9a1h ; e8 7a fe6671 call 04b64h ; e8 7a fe 6509 6672 mov bx, strict word 0ffffh ; bb ff ff 6510 6673 mov dx, strict word 00064h ; ba 64 00 … … 6513 6676 ; sub ah, ah ; 2a e4 6514 6677 test AL, strict byte 001h ; a8 01 6515 jne short 04 b41h ; 75 0d6678 jne short 04d04h ; 75 0d 6516 6679 dec bx ; 4b 6517 6680 test bx, bx ; 85 db 6518 jbe short 04 b41h ; 76 086681 jbe short 04d04h ; 76 08 6519 6682 mov AL, strict byte 041h ; b0 41 6520 6683 mov dx, 00080h ; ba 80 00 6521 6684 out DX, AL ; ee 6522 jmp short 04 b2ah ; eb e96685 jmp short 04cedh ; eb e9 6523 6686 test bx, bx ; 85 db 6524 jne short 04 b4bh ; 75 066687 jne short 04d0eh ; 75 06 6525 6688 mov ax, strict word 00029h ; b8 29 00 6526 call 04 9a1h ; e8 56 fe6689 call 04b64h ; e8 56 fe 6527 6690 mov dx, strict word 00060h ; ba 60 00 6528 6691 in AL, DX ; ec … … 6530 6693 ; sub ah, ah ; 2a e4 6531 6694 cmp ax, 000fah ; 3d fa 00 6532 je short 04 b5ch ; 74 066695 je short 04d1fh ; 74 06 6533 6696 mov ax, 003e3h ; b8 e3 03 6534 call 04 9a1h ; e8 45 fe6697 call 04b64h ; e8 45 fe 6535 6698 mov AL, strict byte 060h ; b0 60 6536 6699 mov dx, strict word 00064h ; ba 64 00 … … 6542 6705 ; sub ah, ah ; 2a e4 6543 6706 test AL, strict byte 002h ; a8 02 6544 je short 04 b7ch ; 74 0d6707 je short 04d3fh ; 74 0d 6545 6708 dec bx ; 4b 6546 6709 test bx, bx ; 85 db 6547 jbe short 04 b7ch ; 76 086710 jbe short 04d3fh ; 76 08 6548 6711 mov AL, strict byte 050h ; b0 50 6549 6712 mov dx, 00080h ; ba 80 00 6550 6713 out DX, AL ; ee 6551 jmp short 04 b65h ; eb e96714 jmp short 04d28h ; eb e9 6552 6715 test bx, bx ; 85 db 6553 jne short 04 b86h ; 75 066716 jne short 04d49h ; 75 06 6554 6717 mov ax, strict word 00032h ; b8 32 00 6555 call 04 9a1h ; e8 1b fe6718 call 04b64h ; e8 1b fe 6556 6719 mov AL, strict byte 065h ; b0 65 6557 6720 mov dx, strict word 00060h ; ba 60 00 … … 6563 6726 ; sub ah, ah ; 2a e4 6564 6727 test AL, strict byte 002h ; a8 02 6565 je short 04 ba6h ; 74 0d6728 je short 04d69h ; 74 0d 6566 6729 dec bx ; 4b 6567 6730 test bx, bx ; 85 db 6568 jbe short 04 ba6h ; 76 086731 jbe short 04d69h ; 76 08 6569 6732 mov AL, strict byte 060h ; b0 60 6570 6733 mov dx, 00080h ; ba 80 00 6571 6734 out DX, AL ; ee 6572 jmp short 04 b8fh ; eb e96735 jmp short 04d52h ; eb e9 6573 6736 test bx, bx ; 85 db 6574 jne short 04 bb0h ; 75 066737 jne short 04d73h ; 75 06 6575 6738 mov ax, strict word 0003ch ; b8 3c 00 6576 call 04 9a1h ; e8 f1 fd6739 call 04b64h ; e8 f1 fd 6577 6740 mov AL, strict byte 0f4h ; b0 f4 6578 6741 mov dx, strict word 00060h ; ba 60 00 … … 6584 6747 ; sub ah, ah ; 2a e4 6585 6748 test AL, strict byte 002h ; a8 02 6586 je short 04 bd0h ; 74 0d6749 je short 04d93h ; 74 0d 6587 6750 dec bx ; 4b 6588 6751 test bx, bx ; 85 db 6589 jbe short 04 bd0h ; 76 086752 jbe short 04d93h ; 76 08 6590 6753 mov AL, strict byte 070h ; b0 70 6591 6754 mov dx, 00080h ; ba 80 00 6592 6755 out DX, AL ; ee 6593 jmp short 04 bb9h ; eb e96756 jmp short 04d7ch ; eb e9 6594 6757 test bx, bx ; 85 db 6595 jne short 04 bdah ; 75 066758 jne short 04d9dh ; 75 06 6596 6759 mov ax, strict word 00046h ; b8 46 00 6597 call 04 9a1h ; e8 c7 fd6760 call 04b64h ; e8 c7 fd 6598 6761 mov bx, strict word 0ffffh ; bb ff ff 6599 6762 mov dx, strict word 00064h ; ba 64 00 … … 6602 6765 ; sub ah, ah ; 2a e4 6603 6766 test AL, strict byte 001h ; a8 01 6604 jne short 04 bf4h ; 75 0d6767 jne short 04db7h ; 75 0d 6605 6768 dec bx ; 4b 6606 6769 test bx, bx ; 85 db 6607 jbe short 04 bf4h ; 76 086770 jbe short 04db7h ; 76 08 6608 6771 mov AL, strict byte 071h ; b0 71 6609 6772 mov dx, 00080h ; ba 80 00 6610 6773 out DX, AL ; ee 6611 jmp short 04 bddh ; eb e96774 jmp short 04da0h ; eb e9 6612 6775 test bx, bx ; 85 db 6613 jne short 04 bfeh ; 75 066776 jne short 04dc1h ; 75 06 6614 6777 mov ax, strict word 00046h ; b8 46 00 6615 call 04 9a1h ; e8 a3 fd6778 call 04b64h ; e8 a3 fd 6616 6779 mov dx, strict word 00060h ; ba 60 00 6617 6780 in AL, DX ; ec … … 6619 6782 ; sub ah, ah ; 2a e4 6620 6783 cmp ax, 000fah ; 3d fa 00 6621 je short 04 c0fh ; 74 066784 je short 04dd2h ; 74 06 6622 6785 mov ax, 003e4h ; b8 e4 03 6623 call 04 9a1h ; e8 92 fd6786 call 04b64h ; e8 92 fd 6624 6787 mov AL, strict byte 0a8h ; b0 a8 6625 6788 mov dx, strict word 00064h ; ba 64 00 6626 6789 out DX, AL ; ee 6627 6790 xor ax, ax ; 31 c0 6628 call 0 5ef3h ; e8 d9 126791 call 060b6h ; e8 d9 12 6629 6792 mov sp, bp ; 89 ec 6630 6793 pop bp ; 5d 6631 6794 retn ; c3 6632 enqueue_key_: ; 0xf4 c1eLB 0x936795 enqueue_key_: ; 0xf4de1 LB 0x93 6633 6796 push bp ; 55 6634 6797 mov bp, sp ; 89 e5 … … 6642 6805 mov dx, strict word 0001ah ; ba 1a 00 6643 6806 mov ax, strict word 00040h ; b8 40 00 6644 call 0166ch ; e8 38 ca6807 call 0166ch ; e8 75 c8 6645 6808 mov di, ax ; 89 c7 6646 6809 mov dx, strict word 0001ch ; ba 1c 00 6647 6810 mov ax, strict word 00040h ; b8 40 00 6648 call 0166ch ; e8 2d ca6811 call 0166ch ; e8 6a c8 6649 6812 mov si, ax ; 89 c6 6650 6813 lea cx, [si+002h] ; 8d 4c 02 6651 6814 cmp cx, strict byte 0003eh ; 83 f9 3e 6652 jc short 04 c4ch ; 72 036815 jc short 04e0fh ; 72 03 6653 6816 mov cx, strict word 0001eh ; b9 1e 00 6654 6817 cmp cx, di ; 39 f9 6655 jne short 04 c54h ; 75 046818 jne short 04e17h ; 75 04 6656 6819 xor ax, ax ; 31 c0 6657 jmp short 04 c79h ; eb 256820 jmp short 04e3ch ; eb 25 6658 6821 xor bh, bh ; 30 ff 6659 6822 mov dx, si ; 89 f2 6660 6823 mov ax, strict word 00040h ; b8 40 00 6661 call 0165eh ; e8 00 ca6824 call 0165eh ; e8 3d c8 6662 6825 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 6663 6826 lea dx, [si+001h] ; 8d 54 01 6664 6827 mov ax, strict word 00040h ; b8 40 00 6665 call 0165eh ; e8 f3 c96828 call 0165eh ; e8 30 c8 6666 6829 mov bx, cx ; 89 cb 6667 6830 mov dx, strict word 0001ch ; ba 1c 00 6668 6831 mov ax, strict word 00040h ; b8 40 00 6669 call 0167ah ; e8 04 ca6832 call 0167ah ; e8 41 c8 6670 6833 mov ax, strict word 00001h ; b8 01 00 6671 6834 lea sp, [bp-008h] ; 8d 66 f8 … … 6685 6848 cmp bh, byte [bx+si] ; 3a 38 6686 6849 sub bl, byte [ss:di] ; 36 2a 1d 6687 sbb AL, strict byte 04fh ; 1c 4f 6688 db 082h, 04dh, 04ah, 04dh 6689 ; or byte [di+04ah], 04dh ; 82 4d 4a 4d 6690 dec dx ; 4a 6691 dec bp ; 4d 6692 adc byte [bp+020h], cl ; 10 4e 20 6693 dec bp ; 4d 6694 mov cs, [bp-020h] ; 8e 4e e0 6850 fist word [bx+si+045h] ; df 50 45 6851 dec di ; 4f 6852 or ax, 00d4fh ; 0d 4f 0d 6853 dec di ; 4f 6854 ror word [bx-01dh], CL ; d3 4f e3 6695 6855 dec si ; 4e 6696 add cl, byte [bx-037h] ; 02 4f c9 6697 dec bp ; 4d 6698 dec dx ; 4a 6699 dec bp ; 4d 6700 dec dx ; 4a 6701 dec bp ; 4d 6856 push cx ; 51 6857 push ax ; 50 6858 mov word [0c550h], ax ; a3 50 c5 6859 push ax ; 50 6860 mov [bx+00dh], cs ; 8c 4f 0d 6702 6861 dec di ; 4f 6703 dec si ; 4e 6704 cmp AL, strict byte 04dh ; 3c 4d 6705 ror word [bp-005h], 04eh ; c1 4e fb 4e 6706 _int09_function: ; 0xf4cb1 LB 0x3c7 6862 or ax, 0124fh ; 0d 4f 12 6863 push ax ; 50 6864 dec word [bp-07ch] ; ff 4e 84 6865 push ax ; 50 6866 db 0beh 6867 push ax ; 50 6868 _int09_function: ; 0xf4e74 LB 0x3c7 6707 6869 push bp ; 55 6708 6870 mov bp, sp ; 89 e5 … … 6712 6874 mov byte [bp-008h], al ; 88 46 f8 6713 6875 test al, al ; 84 c0 6714 jne short 04 cdbh ; 75 196715 mov bx, 00da 2h ; bb a20d6876 jne short 04e9eh ; 75 19 6877 mov bx, 00da8h ; bb a8 0d 6716 6878 mov cx, ds ; 8c d9 6717 6879 mov ax, strict word 00004h ; b8 04 00 6718 call 01931h ; e8 64 cc6880 call 01931h ; e8 a1 ca 6719 6881 push 00567h ; 68 67 05 6720 6882 push strict byte 00004h ; 6a 04 6721 call 01972h ; e8 9d cc6883 call 01972h ; e8 da ca 6722 6884 add sp, strict byte 00004h ; 83 c4 04 6723 jmp near 05 072h ; e9 97 036885 jmp near 05235h ; e9 97 03 6724 6886 mov dx, strict word 00017h ; ba 17 00 6725 6887 mov ax, strict word 00040h ; b8 40 00 6726 call 01650h ; e8 6c c96888 call 01650h ; e8 a9 c7 6727 6889 mov byte [bp-010h], al ; 88 46 f0 6728 6890 mov byte [bp-00ah], al ; 88 46 f6 6729 6891 mov dx, strict word 00018h ; ba 18 00 6730 6892 mov ax, strict word 00040h ; b8 40 00 6731 call 01650h ; e8 5d c96893 call 01650h ; e8 9a c7 6732 6894 mov byte [bp-00eh], al ; 88 46 f2 6733 6895 mov byte [bp-004h], al ; 88 46 fc 6734 6896 mov dx, 00096h ; ba 96 00 6735 6897 mov ax, strict word 00040h ; b8 40 00 6736 call 01650h ; e8 4e c96898 call 01650h ; e8 8b c7 6737 6899 mov byte [bp-006h], al ; 88 46 fa 6738 6900 mov byte [bp-00ch], al ; 88 46 f4 … … 6741 6903 pop ES ; 07 6742 6904 mov cx, strict word 00010h ; b9 10 00 6743 mov di, 04 c82h ; bf 82 4c6905 mov di, 04e45h ; bf 45 4e 6744 6906 repne scasb ; f2 ae 6745 6907 sal cx, 1 ; d1 e1 6746 6908 mov di, cx ; 89 cf 6747 mov ax, word [cs:di+04 c91h] ; 2e 8b 85 91 4c6909 mov ax, word [cs:di+04e54h] ; 2e 8b 85 54 4e 6748 6910 jmp ax ; ff e0 6749 6911 xor byte [bp-00ah], 040h ; 80 76 f6 40 … … 6751 6913 mov dx, strict word 00017h ; ba 17 00 6752 6914 mov ax, strict word 00040h ; b8 40 00 6753 call 0165eh ; e8 2d c96915 call 0165eh ; e8 6a c7 6754 6916 or byte [bp-004h], 040h ; 80 4e fc 40 6755 6917 movzx bx, byte [bp-004h] ; 0f b6 5e fc 6756 jmp near 0 4ed4h ; e9 98 016918 jmp near 05097h ; e9 98 01 6757 6919 mov al, byte [bp-00eh] ; 8a 46 f2 6758 6920 and AL, strict byte 0bfh ; 24 bf 6759 6921 mov byte [bp-004h], al ; 88 46 fc 6760 6922 movzx bx, al ; 0f b6 d8 6761 jmp near 0 4ed4h ; e9 8a 016923 jmp near 05097h ; e9 8a 01 6762 6924 test byte [bp-00ch], 002h ; f6 46 f4 02 6763 jne near 05 054h ; 0f 85 02 036925 jne near 05217h ; 0f 85 02 03 6764 6926 mov al, byte [bp-008h] ; 8a 46 f8 6765 6927 and AL, strict byte 07fh ; 24 7f … … 6770 6932 inc dx ; 42 6771 6933 test byte [bp-008h], 080h ; f6 46 f8 80 6772 je short 04 d6fh ; 74 096934 je short 04f32h ; 74 09 6773 6935 mov al, dl ; 88 d0 6774 6936 not al ; f6 d0 6775 6937 and byte [bp-00ah], al ; 20 46 f6 6776 jmp short 04 d72h ; eb 036938 jmp short 04f35h ; eb 03 6777 6939 or byte [bp-00ah], dl ; 08 56 f6 6778 6940 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 6779 6941 mov dx, strict word 00017h ; ba 17 00 6780 6942 mov ax, strict word 00040h ; b8 40 00 6781 call 0165eh ; e8 df c86782 jmp near 05 054h ; e9 d2 026943 call 0165eh ; e8 1c c7 6944 jmp near 05217h ; e9 d2 02 6783 6945 test byte [bp-006h], 001h ; f6 46 fa 01 6784 jne near 05 054h ; 0f 85 ca 026946 jne near 05217h ; 0f 85 ca 02 6785 6947 mov al, byte [bp-010h] ; 8a 46 f0 6786 6948 or AL, strict byte 004h ; 0c 04 … … 6789 6951 mov dx, strict word 00017h ; ba 17 00 6790 6952 mov ax, strict word 00040h ; b8 40 00 6791 call 0165eh ; e8 c0 c86953 call 0165eh ; e8 fd c6 6792 6954 mov al, byte [bp-006h] ; 8a 46 fa 6793 6955 test AL, strict byte 002h ; a8 02 6794 je short 04 db2h ; 74 0d6956 je short 04f75h ; 74 0d 6795 6957 or AL, strict byte 004h ; 0c 04 6796 6958 mov byte [bp-00ch], al ; 88 46 f4 6797 6959 movzx bx, al ; 0f b6 d8 6798 6960 mov dx, 00096h ; ba 96 00 6799 jmp short 04 dc0h ; eb 0e6961 jmp short 04f83h ; eb 0e 6800 6962 mov al, byte [bp-00eh] ; 8a 46 f2 6801 6963 or AL, strict byte 001h ; 0c 01 … … 6804 6966 mov dx, strict word 00018h ; ba 18 00 6805 6967 mov ax, strict word 00040h ; b8 40 00 6806 call 0165eh ; e8 98 c86807 jmp near 05 054h ; e9 8b 026968 call 0165eh ; e8 d5 c6 6969 jmp near 05217h ; e9 8b 02 6808 6970 test byte [bp-006h], 001h ; f6 46 fa 01 6809 jne near 05 054h ; 0f 85 83 026971 jne near 05217h ; 0f 85 83 02 6810 6972 mov al, byte [bp-010h] ; 8a 46 f0 6811 6973 and AL, strict byte 0fbh ; 24 fb … … 6814 6976 mov dx, strict word 00017h ; ba 17 00 6815 6977 mov ax, strict word 00040h ; b8 40 00 6816 call 0165eh ; e8 79 c86978 call 0165eh ; e8 b6 c6 6817 6979 mov al, byte [bp-006h] ; 8a 46 fa 6818 6980 test AL, strict byte 002h ; a8 02 6819 je short 04 df9h ; 74 0d6981 je short 04fbch ; 74 0d 6820 6982 and AL, strict byte 0fbh ; 24 fb 6821 6983 mov byte [bp-00ch], al ; 88 46 f4 6822 6984 movzx bx, al ; 0f b6 d8 6823 6985 mov dx, 00096h ; ba 96 00 6824 jmp short 04 e07h ; eb 0e6986 jmp short 04fcah ; eb 0e 6825 6987 mov al, byte [bp-00eh] ; 8a 46 f2 6826 6988 and AL, strict byte 0feh ; 24 fe … … 6829 6991 mov dx, strict word 00018h ; ba 18 00 6830 6992 mov ax, strict word 00040h ; b8 40 00 6831 call 0165eh ; e8 51 c86832 jmp near 05 054h ; e9 44 026993 call 0165eh ; e8 8e c6 6994 jmp near 05217h ; e9 44 02 6833 6995 mov al, byte [bp-010h] ; 8a 46 f0 6834 6996 or AL, strict byte 008h ; 0c 08 … … 6837 6999 mov dx, strict word 00017h ; ba 17 00 6838 7000 mov ax, strict word 00040h ; b8 40 00 6839 call 0165eh ; e8 3a c87001 call 0165eh ; e8 77 c6 6840 7002 mov al, byte [bp-006h] ; 8a 46 fa 6841 7003 test AL, strict byte 002h ; a8 02 6842 je short 04 e38h ; 74 0d7004 je short 04ffbh ; 74 0d 6843 7005 or AL, strict byte 008h ; 0c 08 6844 7006 mov byte [bp-00ch], al ; 88 46 f4 6845 7007 movzx bx, al ; 0f b6 d8 6846 7008 mov dx, 00096h ; ba 96 00 6847 jmp short 0 4e46h ; eb 0e7009 jmp short 05009h ; eb 0e 6848 7010 mov al, byte [bp-00eh] ; 8a 46 f2 6849 7011 or AL, strict byte 002h ; 0c 02 … … 6852 7014 mov dx, strict word 00018h ; ba 18 00 6853 7015 mov ax, strict word 00040h ; b8 40 00 6854 call 0165eh ; e8 12 c86855 jmp near 05 054h ; e9 05 027016 call 0165eh ; e8 4f c6 7017 jmp near 05217h ; e9 05 02 6856 7018 mov al, byte [bp-010h] ; 8a 46 f0 6857 7019 and AL, strict byte 0f7h ; 24 f7 … … 6860 7022 mov dx, strict word 00017h ; ba 17 00 6861 7023 mov ax, strict word 00040h ; b8 40 00 6862 call 0165eh ; e8 fb c77024 call 0165eh ; e8 38 c6 6863 7025 mov al, byte [bp-006h] ; 8a 46 fa 6864 7026 test AL, strict byte 002h ; a8 02 6865 je short 0 4e77h ; 74 0d7027 je short 0503ah ; 74 0d 6866 7028 and AL, strict byte 0f7h ; 24 f7 6867 7029 mov byte [bp-00ch], al ; 88 46 f4 6868 7030 movzx bx, al ; 0f b6 d8 6869 7031 mov dx, 00096h ; ba 96 00 6870 jmp short 0 4e85h ; eb 0e7032 jmp short 05048h ; eb 0e 6871 7033 mov al, byte [bp-00eh] ; 8a 46 f2 6872 7034 and AL, strict byte 0fdh ; 24 fd … … 6875 7037 mov dx, strict word 00018h ; ba 18 00 6876 7038 mov ax, strict word 00040h ; b8 40 00 6877 call 0165eh ; e8 d3 c76878 jmp near 05 054h ; e9 c6 017039 call 0165eh ; e8 10 c6 7040 jmp near 05217h ; e9 c6 01 6879 7041 test byte [bp-006h], 003h ; f6 46 fa 03 6880 jne near 05 054h ; 0f 85 be 017042 jne near 05217h ; 0f 85 be 01 6881 7043 mov al, byte [bp-00eh] ; 8a 46 f2 6882 7044 or AL, strict byte 020h ; 0c 20 … … 6885 7047 mov dx, strict word 00018h ; ba 18 00 6886 7048 mov ax, strict word 00040h ; b8 40 00 6887 call 0165eh ; e8 b4 c77049 call 0165eh ; e8 f1 c5 6888 7050 mov al, byte [bp-010h] ; 8a 46 f0 6889 7051 xor AL, strict byte 020h ; 34 20 … … 6892 7054 mov dx, strict word 00017h ; ba 17 00 6893 7055 mov ax, strict word 00040h ; b8 40 00 6894 call 0165eh ; e8 a0 c76895 jmp near 05 054h ; e9 93 017056 call 0165eh ; e8 dd c5 7057 jmp near 05217h ; e9 93 01 6896 7058 test byte [bp-006h], 003h ; f6 46 fa 03 6897 jne near 05 054h ; 0f 85 8b 017059 jne near 05217h ; 0f 85 8b 01 6898 7060 mov al, byte [bp-00eh] ; 8a 46 f2 6899 7061 and AL, strict byte 0dfh ; 24 df … … 6902 7064 mov dx, strict word 00018h ; ba 18 00 6903 7065 mov ax, strict word 00040h ; b8 40 00 6904 call 0165eh ; e8 81 c76905 jmp near 05 054h ; e9 74 017066 call 0165eh ; e8 be c5 7067 jmp near 05217h ; e9 74 01 6906 7068 mov al, byte [bp-00eh] ; 8a 46 f2 6907 7069 or AL, strict byte 010h ; 0c 10 … … 6910 7072 mov dx, strict word 00018h ; ba 18 00 6911 7073 mov ax, strict word 00040h ; b8 40 00 6912 call 0165eh ; e8 6a c77074 call 0165eh ; e8 a7 c5 6913 7075 mov al, byte [bp-010h] ; 8a 46 f0 6914 7076 xor AL, strict byte 010h ; 34 10 6915 jmp short 0 4eafh ; eb b47077 jmp short 05072h ; eb b4 6916 7078 mov al, byte [bp-00eh] ; 8a 46 f2 6917 7079 and AL, strict byte 0efh ; 24 ef 6918 jmp short 0 4eceh ; eb cc7080 jmp short 05091h ; eb cc 6919 7081 mov al, byte [bp-010h] ; 8a 46 f0 6920 7082 and AL, strict byte 00ch ; 24 0c 6921 7083 cmp AL, strict byte 00ch ; 3c 0c 6922 jne short 0 4f1ch ; 75 117084 jne short 050dfh ; 75 11 6923 7085 mov bx, 01234h ; bb 34 12 6924 7086 mov dx, strict word 00072h ; ba 72 00 6925 7087 mov ax, strict word 00040h ; b8 40 00 6926 call 0167ah ; e8 63 c77088 call 0167ah ; e8 a0 c5 6927 7089 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 6928 7090 mov al, byte [bp-008h] ; 8a 46 f8 6929 7091 test AL, strict byte 080h ; a8 80 6930 je short 0 4f5ah ; 74 377092 je short 0511dh ; 74 37 6931 7093 cmp AL, strict byte 0fah ; 3c fa 6932 jne short 0 4f37h ; 75 107094 jne short 050fah ; 75 10 6933 7095 mov dx, 00097h ; ba 97 00 6934 7096 mov ax, strict word 00040h ; b8 40 00 6935 call 01650h ; e8 20 c77097 call 01650h ; e8 5d c5 6936 7098 mov dl, al ; 88 c2 6937 7099 or dl, 010h ; 80 ca 10 6938 jmp short 0 4f4bh ; eb 147100 jmp short 0510eh ; eb 14 6939 7101 cmp AL, strict byte 0feh ; 3c fe 6940 jne near 05 054h ; 0f 85 17 017102 jne near 05217h ; 0f 85 17 01 6941 7103 mov dx, 00097h ; ba 97 00 6942 7104 mov ax, strict word 00040h ; b8 40 00 6943 call 01650h ; e8 0a c77105 call 01650h ; e8 47 c5 6944 7106 mov dl, al ; 88 c2 6945 7107 or dl, 020h ; 80 ca 20 … … 6947 7109 mov dx, 00097h ; ba 97 00 6948 7110 mov ax, strict word 00040h ; b8 40 00 6949 call 0165eh ; e8 07 c76950 jmp near 05 054h ; e9 fa 007111 call 0165eh ; e8 44 c5 7112 jmp near 05217h ; e9 fa 00 6951 7113 cmp byte [bp-008h], 058h ; 80 7e f8 58 6952 jbe short 0 4f7eh ; 76 1e6953 mov bx, 00da 2h ; bb a20d7114 jbe short 05141h ; 76 1e 7115 mov bx, 00da8h ; bb a8 0d 6954 7116 mov cx, ds ; 8c d9 6955 7117 mov ax, strict word 00004h ; b8 04 00 6956 call 01931h ; e8 c6 c97118 call 01931h ; e8 03 c8 6957 7119 movzx ax, byte [bp-008h] ; 0f b6 46 f8 6958 7120 push ax ; 50 6959 7121 push 00581h ; 68 81 05 6960 7122 push strict byte 00004h ; 6a 04 6961 call 01972h ; e8 fa c97123 call 01972h ; e8 37 c8 6962 7124 add sp, strict byte 00006h ; 83 c4 06 6963 jmp near 05 072h ; e9 f4 007125 jmp near 05235h ; e9 f4 00 6964 7126 mov al, byte [bp-00ah] ; 8a 46 f6 6965 7127 test AL, strict byte 008h ; a8 08 6966 je short 0 4f97h ; 74 127128 je short 0515ah ; 74 12 6967 7129 movzx bx, byte [bp-008h] ; 0f b6 5e f8 6968 7130 imul bx, bx, strict byte 0000ah ; 6b db 0a 6969 mov dl, byte [bx+00df 6h] ; 8a 97 f60d6970 mov ax, word [bx+00df 6h] ; 8b 87 f60d6971 jmp near 05 025h ; e9 8e 007131 mov dl, byte [bx+00dfch] ; 8a 97 fc 0d 7132 mov ax, word [bx+00dfch] ; 8b 87 fc 0d 7133 jmp near 051e8h ; e9 8e 00 6972 7134 test AL, strict byte 004h ; a8 04 6973 je short 0 4fadh ; 74 127135 je short 05170h ; 74 12 6974 7136 movzx bx, byte [bp-008h] ; 0f b6 5e f8 6975 7137 imul bx, bx, strict byte 0000ah ; 6b db 0a 6976 mov dl, byte [bx+00df 4h] ; 8a 97 f40d6977 mov ax, word [bx+00df 4h] ; 8b 87 f40d6978 jmp near 05 025h ; e9 78 007138 mov dl, byte [bx+00dfah] ; 8a 97 fa 0d 7139 mov ax, word [bx+00dfah] ; 8b 87 fa 0d 7140 jmp near 051e8h ; e9 78 00 6979 7141 mov al, byte [bp-00ch] ; 8a 46 f4 6980 7142 and AL, strict byte 002h ; 24 02 6981 7143 test al, al ; 84 c0 6982 jbe short 0 4fcbh ; 76 157144 jbe short 0518eh ; 76 15 6983 7145 mov al, byte [bp-008h] ; 8a 46 f8 6984 7146 cmp AL, strict byte 047h ; 3c 47 6985 jc short 0 4fcbh ; 72 0e7147 jc short 0518eh ; 72 0e 6986 7148 cmp AL, strict byte 053h ; 3c 53 6987 jnbe short 0 4fcbh ; 77 0a7149 jnbe short 0518eh ; 77 0a 6988 7150 mov DL, strict byte 0e0h ; b2 e0 6989 7151 movzx bx, al ; 0f b6 d8 6990 7152 imul bx, bx, strict byte 0000ah ; 6b db 0a 6991 jmp short 05 021h ; eb 567153 jmp short 051e4h ; eb 56 6992 7154 test byte [bp-00ah], 003h ; f6 46 f6 03 6993 je short 0 4fffh ; 74 2e7155 je short 051c2h ; 74 2e 6994 7156 movzx bx, byte [bp-008h] ; 0f b6 5e f8 6995 7157 imul bx, bx, strict byte 0000ah ; 6b db 0a 6996 movzx ax, byte [bx+00df 8h] ; 0f b6 87 f80d7158 movzx ax, byte [bx+00dfeh] ; 0f b6 87 fe 0d 6997 7159 movzx dx, byte [bp-00ah] ; 0f b6 56 f6 6998 7160 test dx, ax ; 85 c2 6999 je short 0 4fefh ; 74 0a7000 mov dl, byte [bx+00df 0h] ; 8a 97 f00d7001 mov ax, word [bx+00df 0h] ; 8b 87 f00d7002 jmp short 0 4ff7h ; eb 087003 mov dl, byte [bx+00df 2h] ; 8a 97 f20d7004 mov ax, word [bx+00df 2h] ; 8b 87 f20d7161 je short 051b2h ; 74 0a 7162 mov dl, byte [bx+00df6h] ; 8a 97 f6 0d 7163 mov ax, word [bx+00df6h] ; 8b 87 f6 0d 7164 jmp short 051bah ; eb 08 7165 mov dl, byte [bx+00df8h] ; 8a 97 f8 0d 7166 mov ax, word [bx+00df8h] ; 8b 87 f8 0d 7005 7167 shr ax, 008h ; c1 e8 08 7006 7168 mov byte [bp-008h], al ; 88 46 f8 7007 jmp short 05 02bh ; eb 2c7169 jmp short 051eeh ; eb 2c 7008 7170 movzx bx, byte [bp-008h] ; 0f b6 5e f8 7009 7171 imul bx, bx, strict byte 0000ah ; 6b db 0a 7010 movzx ax, byte [bx+00df 8h] ; 0f b6 87 f80d7172 movzx ax, byte [bx+00dfeh] ; 0f b6 87 fe 0d 7011 7173 movzx dx, byte [bp-00ah] ; 0f b6 56 f6 7012 7174 test dx, ax ; 85 c2 7013 je short 05 01dh ; 74 0a7014 mov dl, byte [bx+00df 2h] ; 8a 97 f20d7015 mov ax, word [bx+00df 2h] ; 8b 87 f20d7016 jmp short 05 025h ; eb 087017 mov dl, byte [bx+00df 0h] ; 8a 97 f00d7018 mov ax, word [bx+00df 0h] ; 8b 87 f00d7175 je short 051e0h ; 74 0a 7176 mov dl, byte [bx+00df8h] ; 8a 97 f8 0d 7177 mov ax, word [bx+00df8h] ; 8b 87 f8 0d 7178 jmp short 051e8h ; eb 08 7179 mov dl, byte [bx+00df6h] ; 8a 97 f6 0d 7180 mov ax, word [bx+00df6h] ; 8b 87 f6 0d 7019 7181 shr ax, 008h ; c1 e8 08 7020 7182 mov byte [bp-008h], al ; 88 46 f8 7021 7183 cmp byte [bp-008h], 000h ; 80 7e f8 00 7022 jne short 05 04bh ; 75 1a7184 jne short 0520eh ; 75 1a 7023 7185 test dl, dl ; 84 d2 7024 jne short 05 04bh ; 75 167025 mov bx, 00da 2h ; bb a20d7186 jne short 0520eh ; 75 16 7187 mov bx, 00da8h ; bb a8 0d 7026 7188 mov cx, ds ; 8c d9 7027 7189 mov ax, strict word 00004h ; b8 04 00 7028 call 01931h ; e8 f1 c87190 call 01931h ; e8 2e c7 7029 7191 push 005b8h ; 68 b8 05 7030 7192 push strict byte 00004h ; 6a 04 7031 call 01972h ; e8 2a c97193 call 01972h ; e8 67 c7 7032 7194 add sp, strict byte 00004h ; 83 c4 04 7033 7195 xor dh, dh ; 30 f6 7034 7196 movzx ax, byte [bp-008h] ; 0f b6 46 f8 7035 call 04 c1eh ; e8 ca fb7197 call 04de1h ; e8 ca fb 7036 7198 mov al, byte [bp-008h] ; 8a 46 f8 7037 7199 and AL, strict byte 07fh ; 24 7f 7038 7200 cmp AL, strict byte 01dh ; 3c 1d 7039 je short 05 061h ; 74 047201 je short 05224h ; 74 04 7040 7202 and byte [bp-00ch], 0feh ; 80 66 f4 fe 7041 7203 and byte [bp-00ch], 0fdh ; 80 66 f4 fd … … 7043 7205 mov dx, 00096h ; ba 96 00 7044 7206 mov ax, strict word 00040h ; b8 40 00 7045 call 0165eh ; e8 ec c57207 call 0165eh ; e8 29 c4 7046 7208 lea sp, [bp-002h] ; 8d 66 fe 7047 7209 pop di ; 5f 7048 7210 pop bp ; 5d 7049 7211 retn ; c3 7050 dequeue_key_: ; 0xf5 078LB 0x947212 dequeue_key_: ; 0xf523b LB 0x94 7051 7213 push bp ; 55 7052 7214 mov bp, sp ; 89 e5 … … 7061 7223 mov dx, strict word 0001ah ; ba 1a 00 7062 7224 mov ax, strict word 00040h ; b8 40 00 7063 call 0166ch ; e8 da c57225 call 0166ch ; e8 17 c4 7064 7226 mov bx, ax ; 89 c3 7065 7227 mov dx, strict word 0001ch ; ba 1c 00 7066 7228 mov ax, strict word 00040h ; b8 40 00 7067 call 0166ch ; e8 cf c57229 call 0166ch ; e8 0c c4 7068 7230 cmp bx, ax ; 39 c3 7069 je short 05 0deh ; 74 3d7231 je short 052a1h ; 74 3d 7070 7232 mov dx, bx ; 89 da 7071 7233 mov ax, strict word 00040h ; b8 40 00 7072 call 01650h ; e8 a7 c57234 call 01650h ; e8 e4 c3 7073 7235 mov cl, al ; 88 c1 7074 7236 lea dx, [bx+001h] ; 8d 57 01 7075 7237 mov ax, strict word 00040h ; b8 40 00 7076 call 01650h ; e8 9c c57238 call 01650h ; e8 d9 c3 7077 7239 mov es, [bp-008h] ; 8e 46 f8 7078 7240 mov byte [es:si], cl ; 26 88 0c … … 7080 7242 mov byte [es:di], al ; 26 88 05 7081 7243 cmp word [bp+004h], strict byte 00000h ; 83 7e 04 00 7082 je short 05 0d9h ; 74 137244 je short 0529ch ; 74 13 7083 7245 inc bx ; 43 7084 7246 inc bx ; 43 7085 7247 cmp bx, strict byte 0003eh ; 83 fb 3e 7086 jc short 05 0d0h ; 72 037248 jc short 05293h ; 72 03 7087 7249 mov bx, strict word 0001eh ; bb 1e 00 7088 7250 mov dx, strict word 0001ah ; ba 1a 00 7089 7251 mov ax, strict word 00040h ; b8 40 00 7090 call 0167ah ; e8 a1 c57252 call 0167ah ; e8 de c3 7091 7253 mov ax, strict word 00001h ; b8 01 00 7092 jmp short 05 0e0h ; eb 027254 jmp short 052a3h ; eb 02 7093 7255 xor ax, ax ; 31 c0 7094 7256 lea sp, [bp-004h] ; 8d 66 fc … … 7101 7263 or cl, byte [bx+di] ; 0a 09 7102 7264 add ax, 00102h ; 05 02 01 7103 add byte [bp+si-03fadh], ch ; 00 aa 53 c0 7104 push cx ; 51 7105 pop ES ; 07 7106 push dx ; 52 7107 push bx ; 53 7108 push dx ; 52 7109 arpl word [bp+si-073h], dx ; 63 52 8d 7110 push dx ; 52 7111 xchg si, ax ; 96 7112 push dx ; 52 7113 pop ES ; 07 7114 push bx ; 53 7115 cmp byte [bp+di+065h], dl ; 38 53 65 7116 push bx ; 53 7117 lahf ; 9f 7118 push bx ; 53 7119 in ax, DX ; ed 7120 push bx ; 53 7121 _int16_function: ; 0xf510c LB 0x2e7 7265 add byte [di+055h], ch ; 00 6d 55 7266 adc word [bp+di-036h], strict byte 00053h ; 83 53 ca 53 7267 push SS ; 16 7268 push sp ; 54 7269 db 026h, 054h 7270 ; es push sp ; 26 54 7271 push ax ; 50 7272 push sp ; 54 7273 pop cx ; 59 7274 push sp ; 54 7275 retf 0fb54h ; ca 54 fb 7276 push sp ; 54 7277 sub byte [di+062h], dl ; 28 55 62 7278 push bp ; 55 7279 mov AL, strict byte 055h ; b0 55 7280 _int16_function: ; 0xf52cf LB 0x2e7 7122 7281 push bp ; 55 7123 7282 mov bp, sp ; 89 e5 … … 7126 7285 mov dx, strict word 00017h ; ba 17 00 7127 7286 mov ax, strict word 00040h ; b8 40 00 7128 call 01650h ; e8 34 c57287 call 01650h ; e8 71 c3 7129 7288 mov cl, al ; 88 c1 7130 7289 mov bh, al ; 88 c7 7131 7290 mov dx, 00097h ; ba 97 00 7132 7291 mov ax, strict word 00040h ; b8 40 00 7133 call 01650h ; e8 27 c57292 call 01650h ; e8 64 c3 7134 7293 mov bl, al ; 88 c3 7135 7294 movzx dx, cl ; 0f b6 d1 … … 7140 7299 xor al, dl ; 30 d0 7141 7300 test ax, ax ; 85 c0 7142 je short 05 19eh ; 74 607301 je short 05361h ; 74 60 7143 7302 cli ; fa 7144 7303 mov AL, strict byte 0edh ; b0 ed … … 7150 7309 ; sub ah, ah ; 2a e4 7151 7310 test AL, strict byte 001h ; a8 01 7152 jne short 05 157h ; 75 087311 jne short 0531ah ; 75 08 7153 7312 mov AL, strict byte 021h ; b0 21 7154 7313 mov dx, 00080h ; ba 80 00 7155 7314 out DX, AL ; ee 7156 jmp short 05 145h ; eb ee7315 jmp short 05308h ; eb ee 7157 7316 mov dx, strict word 00060h ; ba 60 00 7158 7317 in AL, DX ; ec … … 7160 7319 ; sub ah, ah ; 2a e4 7161 7320 cmp ax, 000fah ; 3d fa 00 7162 jne short 05 19dh ; 75 3b7321 jne short 05360h ; 75 3b 7163 7322 and bl, 0c8h ; 80 e3 c8 7164 7323 movzx ax, bh ; 0f b6 c7 … … 7176 7335 ; sub ah, ah ; 2a e4 7177 7336 test AL, strict byte 001h ; a8 01 7178 jne short 05 18ch ; 75 087337 jne short 0534fh ; 75 08 7179 7338 mov AL, strict byte 021h ; b0 21 7180 7339 mov dx, 00080h ; ba 80 00 7181 7340 out DX, AL ; ee 7182 jmp short 05 17ah ; eb ee7341 jmp short 0533dh ; eb ee 7183 7342 mov dx, strict word 00060h ; ba 60 00 7184 7343 in AL, DX ; ec … … 7188 7347 mov dx, 00097h ; ba 97 00 7189 7348 mov ax, strict word 00040h ; b8 40 00 7190 call 0165eh ; e8 c1 c47349 call 0165eh ; e8 fe c2 7191 7350 sti ; fb 7192 7351 mov ax, word [bp+012h] ; 8b 46 12 7193 7352 shr ax, 008h ; c1 e8 08 7194 7353 cmp ax, 000a2h ; 3d a2 00 7195 jnbe near 05 3aah ; 0f 87 ff 017354 jnbe near 0556dh ; 0f 87 ff 01 7196 7355 push CS ; 0e 7197 7356 pop ES ; 07 7198 7357 mov cx, strict word 0000ch ; b9 0c 00 7199 mov di, 05 0e9h ; bf e9 507358 mov di, 052ach ; bf ac 52 7200 7359 repne scasb ; f2 ae 7201 7360 sal cx, 1 ; d1 e1 7202 7361 mov di, cx ; 89 cf 7203 mov ax, word [cs:di+05 0f4h] ; 2e 8b 85 f4 507362 mov ax, word [cs:di+052b7h] ; 2e 8b 85 b7 52 7204 7363 jmp ax ; ff e0 7205 7364 push strict byte 00001h ; 6a 01 … … 7208 7367 mov dx, ss ; 8c d2 7209 7368 lea ax, [bp-006h] ; 8d 46 fa 7210 call 05 078h ; e8 a9 fe7369 call 0523bh ; e8 a9 fe 7211 7370 test ax, ax ; 85 c0 7212 jne short 05 1deh ; 75 0b7371 jne short 053a1h ; 75 0b 7213 7372 push 005efh ; 68 ef 05 7214 7373 push strict byte 00007h ; 6a 07 7215 call 01972h ; e8 97 c77374 call 01972h ; e8 d4 c5 7216 7375 add sp, strict byte 00004h ; 83 c4 04 7217 7376 cmp byte [bp-006h], 000h ; 80 7e fa 00 7218 je short 05 1eah ; 74 067377 je short 053adh ; 74 06 7219 7378 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7220 je short 05 1f0h ; 74 067379 je short 053b3h ; 74 06 7221 7380 cmp byte [bp-008h], 0e0h ; 80 7e f8 e0 7222 jne short 05 1f4h ; 75 047381 jne short 053b7h ; 75 04 7223 7382 mov byte [bp-008h], 000h ; c6 46 f8 00 7224 7383 movzx dx, byte [bp-006h] ; 0f b6 56 fa … … 7227 7386 or dx, ax ; 09 c2 7228 7387 mov word [bp+012h], dx ; 89 56 12 7229 jmp near 05 3edh ; e9 e6 017388 jmp near 055b0h ; e9 e6 01 7230 7389 or word [bp+01ch], 00200h ; 81 4e 1c 00 02 7231 7390 push strict byte 00000h ; 6a 00 … … 7234 7393 mov dx, ss ; 8c d2 7235 7394 lea ax, [bp-006h] ; 8d 46 fa 7236 call 05 078h ; e8 5d fe7395 call 0523bh ; e8 5d fe 7237 7396 test ax, ax ; 85 c0 7238 jne short 05 226h ; 75 077397 jne short 053e9h ; 75 07 7239 7398 or word [bp+01ch], strict byte 00040h ; 83 4e 1c 40 7240 jmp near 05 3edh ; e9 c7 017399 jmp near 055b0h ; e9 c7 01 7241 7400 cmp byte [bp-006h], 000h ; 80 7e fa 00 7242 je short 05 232h ; 74 067401 je short 053f5h ; 74 06 7243 7402 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7244 je short 05 238h ; 74 067403 je short 053fbh ; 74 06 7245 7404 cmp byte [bp-008h], 0e0h ; 80 7e f8 e0 7246 jne short 05 23ch ; 75 047405 jne short 053ffh ; 75 04 7247 7406 mov byte [bp-008h], 000h ; c6 46 f8 00 7248 7407 movzx dx, byte [bp-006h] ; 0f b6 56 fa … … 7252 7411 mov word [bp+012h], dx ; 89 56 12 7253 7412 and word [bp+01ch], strict byte 0ffbfh ; 83 66 1c bf 7254 jmp near 05 3edh ; e9 9a 017413 jmp near 055b0h ; e9 9a 01 7255 7414 mov dx, strict word 00017h ; ba 17 00 7256 7415 mov ax, strict word 00040h ; b8 40 00 7257 call 01650h ; e8 f4 c37416 call 01650h ; e8 31 c2 7258 7417 mov dx, word [bp+012h] ; 8b 56 12 7259 7418 mov dl, al ; 88 c2 7260 jmp short 05 201h ; eb 9e7419 jmp short 053c4h ; eb 9e 7261 7420 mov al, byte [bp+010h] ; 8a 46 10 7262 7421 movzx dx, al ; 0f b6 d0 … … 7264 7423 shr ax, 008h ; c1 e8 08 7265 7424 xor ah, ah ; 30 e4 7266 call 04 c1eh ; e8 aa f97425 call 04de1h ; e8 aa f9 7267 7426 test ax, ax ; 85 c0 7268 jne short 05 285h ; 75 0d7427 jne short 05448h ; 75 0d 7269 7428 mov ax, word [bp+012h] ; 8b 46 12 7270 7429 xor al, al ; 30 c0 7271 7430 or AL, strict byte 001h ; 0c 01 7272 7431 mov word [bp+012h], ax ; 89 46 12 7273 jmp near 05 3edh ; e9 68 017432 jmp near 055b0h ; e9 68 01 7274 7433 and word [bp+012h], 0ff00h ; 81 66 12 00 ff 7275 jmp near 05 3edh ; e9 60 017434 jmp near 055b0h ; e9 60 01 7276 7435 mov ax, word [bp+012h] ; 8b 46 12 7277 7436 xor al, al ; 30 c0 7278 7437 or AL, strict byte 030h ; 0c 30 7279 jmp short 05 27fh ; eb e97438 jmp short 05442h ; eb e9 7280 7439 mov byte [bp-004h], 002h ; c6 46 fc 02 7281 7440 xor cx, cx ; 31 c9 … … 7290 7449 ; sub ah, ah ; 2a e4 7291 7450 test AL, strict byte 001h ; a8 01 7292 jne short 05 2bdh ; 75 0d7451 jne short 05480h ; 75 0d 7293 7452 dec bx ; 4b 7294 7453 test bx, bx ; 85 db 7295 jbe short 05 2bdh ; 76 087454 jbe short 05480h ; 76 08 7296 7455 mov dx, 00080h ; ba 80 00 7297 7456 in AL, DX ; ec 7298 7457 db 02ah, 0e4h 7299 7458 ; sub ah, ah ; 2a e4 7300 jmp short 05 2a6h ; eb e97459 jmp short 05469h ; eb e9 7301 7460 test bx, bx ; 85 db 7302 jbe short 05 301h ; 76 407461 jbe short 054c4h ; 76 40 7303 7462 mov dx, strict word 00060h ; ba 60 00 7304 7463 in AL, DX ; ec … … 7306 7465 ; sub ah, ah ; 2a e4 7307 7466 cmp ax, 000fah ; 3d fa 00 7308 jne short 05 301h ; 75 357467 jne short 054c4h ; 75 35 7309 7468 mov bx, strict word 0ffffh ; bb ff ff 7310 7469 mov dx, strict word 00064h ; ba 64 00 … … 7313 7472 ; sub ah, ah ; 2a e4 7314 7473 test AL, strict byte 001h ; a8 01 7315 jne short 05 2e6h ; 75 0d7474 jne short 054a9h ; 75 0d 7316 7475 dec bx ; 4b 7317 7476 test bx, bx ; 85 db 7318 jbe short 05 2e6h ; 76 087477 jbe short 054a9h ; 76 08 7319 7478 mov dx, 00080h ; ba 80 00 7320 7479 in AL, DX ; ec 7321 7480 db 02ah, 0e4h 7322 7481 ; sub ah, ah ; 2a e4 7323 jmp short 05 2cfh ; eb e97482 jmp short 05492h ; eb e9 7324 7483 test bx, bx ; 85 db 7325 jbe short 05 2f8h ; 76 0e7484 jbe short 054bbh ; 76 0e 7326 7485 shr cx, 008h ; c1 e9 08 7327 7486 mov dx, strict word 00060h ; ba 60 00 … … 7333 7492 dec byte [bp-004h] ; fe 4e fc 7334 7493 cmp byte [bp-004h], 000h ; 80 7e fc 00 7335 jnbe short 05 2cch ; 77 cb7494 jnbe short 0548fh ; 77 cb 7336 7495 mov word [bp+00ch], cx ; 89 4e 0c 7337 jmp near 05 3edh ; e9 e6 007496 jmp near 055b0h ; e9 e6 00 7338 7497 push strict byte 00001h ; 6a 01 7339 7498 mov cx, ss ; 8c d1 … … 7341 7500 mov dx, ss ; 8c d2 7342 7501 lea ax, [bp-006h] ; 8d 46 fa 7343 call 05 078h ; e8 62 fd7502 call 0523bh ; e8 62 fd 7344 7503 test ax, ax ; 85 c0 7345 jne short 05 325h ; 75 0b7504 jne short 054e8h ; 75 0b 7346 7505 push 005efh ; 68 ef 05 7347 7506 push strict byte 00007h ; 6a 07 7348 call 01972h ; e8 50 c67507 call 01972h ; e8 8d c4 7349 7508 add sp, strict byte 00004h ; 83 c4 04 7350 7509 cmp byte [bp-006h], 000h ; 80 7e fa 00 7351 je near 05 1f4h ; 0f 84 c7 fe7510 je near 053b7h ; 0f 84 c7 fe 7352 7511 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7353 je near 05 1f0h ; 0f 84 bb fe7354 jmp near 05 1f4h ; e9 bc fe7512 je near 053b3h ; 0f 84 bb fe 7513 jmp near 053b7h ; e9 bc fe 7355 7514 or word [bp+01ch], 00200h ; 81 4e 1c 00 02 7356 7515 push strict byte 00000h ; 6a 00 … … 7359 7518 mov dx, ss ; 8c d2 7360 7519 lea ax, [bp-006h] ; 8d 46 fa 7361 call 05 078h ; e8 2c fd7520 call 0523bh ; e8 2c fd 7362 7521 test ax, ax ; 85 c0 7363 je near 05 21fh ; 0f 84 cd fe7522 je near 053e2h ; 0f 84 cd fe 7364 7523 cmp byte [bp-006h], 000h ; 80 7e fa 00 7365 je near 05 23ch ; 0f 84 e2 fe7524 je near 053ffh ; 0f 84 e2 fe 7366 7525 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7367 je near 05 238h ; 0f 84 d6 fe7368 jmp near 05 23ch ; e9 d7 fe7526 je near 053fbh ; 0f 84 d6 fe 7527 jmp near 053ffh ; e9 d7 fe 7369 7528 mov dx, strict word 00017h ; ba 17 00 7370 7529 mov ax, strict word 00040h ; b8 40 00 7371 call 01650h ; e8 e2 c27530 call 01650h ; e8 1f c1 7372 7531 mov dx, word [bp+012h] ; 8b 56 12 7373 7532 mov dl, al ; 88 c2 … … 7375 7534 mov dx, strict word 00018h ; ba 18 00 7376 7535 mov ax, strict word 00040h ; b8 40 00 7377 call 01650h ; e8 d1 c27536 call 01650h ; e8 0e c1 7378 7537 mov bh, al ; 88 c7 7379 7538 and bh, 073h ; 80 e7 73 7380 7539 mov dx, 00096h ; ba 96 00 7381 7540 mov ax, strict word 00040h ; b8 40 00 7382 call 01650h ; e8 c3 c27541 call 01650h ; e8 00 c1 7383 7542 and AL, strict byte 00ch ; 24 0c 7384 7543 or bh, al ; 08 c7 … … 7387 7546 movzx ax, bh ; 0f b6 c7 7388 7547 sal ax, 008h ; c1 e0 08 7389 jmp near 05 1ffh ; e9 60 fe7548 jmp near 053c2h ; e9 60 fe 7390 7549 mov ax, word [bp+012h] ; 8b 46 12 7391 7550 xor ah, ah ; 30 e4 7392 7551 or ah, 080h ; 80 cc 80 7393 jmp near 05 27fh ; e9 d5 fe7394 mov bx, 00da 2h ; bb a20d7552 jmp near 05442h ; e9 d5 fe 7553 mov bx, 00da8h ; bb a8 0d 7395 7554 mov cx, ds ; 8c d9 7396 7555 mov ax, strict word 00004h ; b8 04 00 7397 call 01931h ; e8 7c c57556 call 01931h ; e8 b9 c3 7398 7557 mov ax, word [bp+012h] ; 8b 46 12 7399 7558 shr ax, 008h ; c1 e8 08 … … 7401 7560 push 00613h ; 68 13 06 7402 7561 push strict byte 00004h ; 6a 04 7403 call 01972h ; e8 ae c57562 call 01972h ; e8 eb c3 7404 7563 add sp, strict byte 00006h ; 83 c4 06 7405 mov bx, 00da 2h ; bb a20d7564 mov bx, 00da8h ; bb a8 0d 7406 7565 mov cx, ds ; 8c d9 7407 7566 mov ax, strict word 00004h ; b8 04 00 7408 call 01931h ; e8 5f c57567 call 01931h ; e8 9c c3 7409 7568 mov ax, word [bp+00eh] ; 8b 46 0e 7410 7569 push ax ; 50 … … 7417 7576 push 0063bh ; 68 3b 06 7418 7577 push strict byte 00004h ; 6a 04 7419 call 01972h ; e8 88 c57578 call 01972h ; e8 c5 c3 7420 7579 add sp, strict byte 0000ch ; 83 c4 0c 7421 7580 lea sp, [bp-002h] ; 8d 66 fe … … 7423 7582 pop bp ; 5d 7424 7583 retn ; c3 7425 set_geom_lba_: ; 0xf5 3f3LB 0x9e7584 set_geom_lba_: ; 0xf55b6 LB 0x9e 7426 7585 push si ; 56 7427 7586 push di ; 57 … … 7435 7594 mov di, 000ffh ; bf ff 00 7436 7595 xor bx, bx ; 31 db 7437 jmp short 05 414h ; eb 057596 jmp short 055d7h ; eb 05 7438 7597 cmp bx, strict byte 00004h ; 83 fb 04 7439 jnl short 05 42ah ; 7d 167598 jnl short 055edh ; 7d 16 7440 7599 cmp dx, word [bp-002h] ; 3b 56 fe 7441 jnbe short 05 420h ; 77 077442 jne short 05 423h ; 75 087600 jnbe short 055e3h ; 77 07 7601 jne short 055e6h ; 75 08 7443 7602 cmp ax, word [bp-004h] ; 3b 46 fc 7444 jc short 05 423h ; 72 037603 jc short 055e6h ; 72 03 7445 7604 inc di ; 47 7446 7605 shr di, 1 ; d1 ef … … 7448 7607 rcr ax, 1 ; d1 d8 7449 7608 inc bx ; 43 7450 jmp short 05 40fh ; eb e57609 jmp short 055d2h ; eb e5 7451 7610 mov ax, di ; 89 f8 7452 7611 xor dx, dx ; 31 d2 7453 7612 mov bx, strict word 0003fh ; bb 3f 00 7454 7613 xor cx, cx ; 31 c9 7455 call 09 569h ; e8 33417614 call 09729h ; e8 30 41 7456 7615 mov bx, ax ; 89 c3 7457 7616 mov cx, dx ; 89 d1 7458 7617 mov ax, word [bp-004h] ; 8b 46 fc 7459 7618 mov dx, word [bp-002h] ; 8b 56 fe 7460 call 09 530h ; e8 ed407619 call 096f0h ; e8 ea 40 7461 7620 mov word [es:si+002h], ax ; 26 89 44 02 7462 7621 cmp ax, 00400h ; 3d 00 04 7463 jbe short 05 452h ; 76 067622 jbe short 05615h ; 76 06 7464 7623 mov word [es:si+002h], 00400h ; 26 c7 44 02 00 04 7465 7624 mov word [es:si], di ; 26 89 3c … … 7469 7628 pop si ; 5e 7470 7629 retn ; c3 7471 sbb dx, word [di+041h] ; 1b 55 41 7472 push bp ; 55 7473 outsb ; 6e 7474 push bp ; 55 7475 outsb ; 6e 7476 push bp ; 55 7477 outsb ; 6e 7478 push bp ; 55 7479 inc si ; 46 7630 ficom word [bp+004h] ; de 56 04 7480 7631 push di ; 57 7481 je short 054c5h ; 74 58 7482 je short 054c7h ; 74 58 7483 pop di ; 5f 7632 xor word [bx+031h], dx ; 31 57 31 7484 7633 push di ; 57 7485 push cx ; 51 7486 pop ax ; 58 7487 je short 054cdh ; 74 58 7488 je short 054cfh ; 74 58 7489 push cx ; 51 7490 pop ax ; 58 7491 push cx ; 51 7492 pop ax ; 58 7493 je short 054d5h ; 74 58 7494 je short 054d7h ; 74 58 7495 aad 057h ; d5 57 7496 push cx ; 51 7497 pop ax ; 58 7498 je short 054ddh ; 74 58 7499 je short 054dfh ; 74 58 7500 push cx ; 51 7501 pop ax ; 58 7502 add ax, 07458h ; 05 58 74 7503 pop ax ; 58 7504 je short 054e7h ; 74 58 7505 je short 054e9h ; 74 58 7506 _int13_harddisk: ; 0xf5491 LB 0x441 7634 xor word [bx+009h], dx ; 31 57 09 7635 pop cx ; 59 7636 aaa ; 37 7637 pop dx ; 5a 7638 aaa ; 37 7639 pop dx ; 5a 7640 and bl, byte [bx+di+014h] ; 22 59 14 7641 pop dx ; 5a 7642 aaa ; 37 7643 pop dx ; 5a 7644 aaa ; 37 7645 pop dx ; 5a 7646 adc AL, strict byte 05ah ; 14 5a 7647 adc AL, strict byte 05ah ; 14 5a 7648 aaa ; 37 7649 pop dx ; 5a 7650 aaa ; 37 7651 pop dx ; 5a 7652 cbw ; 98 7653 pop cx ; 59 7654 adc AL, strict byte 05ah ; 14 5a 7655 aaa ; 37 7656 pop dx ; 5a 7657 aaa ; 37 7658 pop dx ; 5a 7659 adc AL, strict byte 05ah ; 14 5a 7660 enter 03759h, 05ah ; c8 59 37 5a 7661 aaa ; 37 7662 pop dx ; 5a 7663 aaa ; 37 7664 pop dx ; 5a 7665 _int13_harddisk: ; 0xf5654 LB 0x441 7507 7666 push bp ; 55 7508 7667 mov bp, sp ; 89 e5 … … 7510 7669 mov dx, strict word 0000eh ; ba 0e 00 7511 7670 mov ax, strict word 00040h ; b8 40 00 7512 call 0166ch ; e8 cc c17671 call 0166ch ; e8 09 c0 7513 7672 mov si, 00122h ; be 22 01 7514 7673 mov word [bp-004h], ax ; 89 46 fc … … 7516 7675 mov dx, 0008eh ; ba 8e 00 7517 7676 mov ax, strict word 00040h ; b8 40 00 7518 call 0165eh ; e8 ad c17677 call 0165eh ; e8 ea bf 7519 7678 mov ax, word [bp+00eh] ; 8b 46 0e 7520 7679 xor ah, ah ; 30 e4 7521 7680 cmp ax, 00080h ; 3d 80 00 7522 jc short 05 4c0h ; 72 057681 jc short 05683h ; 72 05 7523 7682 cmp ax, 00090h ; 3d 90 00 7524 jc short 05 4deh ; 72 1e7683 jc short 056a1h ; 72 1e 7525 7684 mov ax, word [bp+00eh] ; 8b 46 0e 7526 7685 xor ah, ah ; 30 e4 … … 7532 7691 push 0066dh ; 68 6d 06 7533 7692 push strict byte 00004h ; 6a 04 7534 call 01972h ; e8 9a c47693 call 01972h ; e8 d7 c2 7535 7694 add sp, strict byte 0000ah ; 83 c4 0a 7536 jmp near 05 88fh ; e9 b1 037695 jmp near 05a52h ; e9 b1 03 7537 7696 mov ax, word [bp+00eh] ; 8b 46 0e 7538 7697 xor ah, ah ; 30 e4 … … 7543 7702 mov byte [bp-002h], dl ; 88 56 fe 7544 7703 cmp dl, 010h ; 80 fa 10 7545 jc short 05 507h ; 72 107704 jc short 056cah ; 72 10 7546 7705 push ax ; 50 7547 7706 mov ax, word [bp+016h] ; 8b 46 16 … … 7550 7709 push 0065eh ; 68 5e 06 7551 7710 push 00698h ; 68 98 06 7552 jmp short 05 4d3h ; eb cc7711 jmp short 05696h ; eb cc 7553 7712 mov bx, word [bp+016h] ; 8b 5e 16 7554 7713 shr bx, 008h ; c1 eb 08 7555 7714 cmp bx, strict byte 00018h ; 83 fb 18 7556 jnbe near 05 874h ; 0f 87 60 037715 jnbe near 05a37h ; 0f 87 60 03 7557 7716 add bx, bx ; 01 db 7558 jmp word [cs:bx+05 45fh] ; 2e ff a7 5f 547717 jmp word [cs:bx+05622h] ; 2e ff a7 22 56 7559 7718 cmp byte [bp-002h], 008h ; 80 7e fe 08 7560 jnc near 05 52ah ; 0f 83 07 007719 jnc near 056edh ; 0f 83 07 00 7561 7720 movzx ax, byte [bp-002h] ; 0f b6 46 fe 7562 call 01c71h ; e8 47 c77721 call 01c71h ; e8 84 c5 7563 7722 mov byte [bp+017h], 000h ; c6 46 17 00 7564 7723 xor bx, bx ; 31 db 7565 7724 mov dx, strict word 00074h ; ba 74 00 7566 7725 mov ax, strict word 00040h ; b8 40 00 7567 call 0165eh ; e8 25 c17726 call 0165eh ; e8 62 bf 7568 7727 and byte [bp+01ch], 0feh ; 80 66 1c fe 7569 7728 mov sp, bp ; 89 ec … … 7572 7731 mov dx, strict word 00074h ; ba 74 00 7573 7732 mov ax, strict word 00040h ; b8 40 00 7574 call 01650h ; e8 06 c17733 call 01650h ; e8 43 bf 7575 7734 mov cl, al ; 88 c1 7576 7735 mov dx, word [bp+016h] ; 8b 56 16 … … 7583 7742 mov dx, strict word 00074h ; ba 74 00 7584 7743 mov ax, strict word 00040h ; b8 40 00 7585 call 0165eh ; e8 f7 c07744 call 0165eh ; e8 34 bf 7586 7745 test cl, cl ; 84 c9 7587 je short 05 52eh ; 74 c37588 jmp near 05 8abh ; e9 3d 037746 je short 056f1h ; 74 c3 7747 jmp near 05a6eh ; e9 3d 03 7589 7748 mov ax, word [bp+016h] ; 8b 46 16 7590 7749 xor ah, ah ; 30 e4 … … 7606 7765 mov ax, word [bp-00ch] ; 8b 46 f4 7607 7766 cmp ax, 00080h ; 3d 80 00 7608 jnbe short 05 5a9h ; 77 047767 jnbe short 0576ch ; 77 04 7609 7768 test ax, ax ; 85 c0 7610 jne short 05 5cch ; 75 237611 mov bx, 00da 2h ; bb a20d7769 jne short 0578fh ; 75 23 7770 mov bx, 00da8h ; bb a8 0d 7612 7771 mov cx, ds ; 8c d9 7613 7772 mov ax, strict word 00004h ; b8 04 00 7614 call 01931h ; e8 7d c37773 call 01931h ; e8 ba c1 7615 7774 mov ax, word [bp+016h] ; 8b 46 16 7616 7775 shr ax, 008h ; c1 e8 08 … … 7619 7778 push 006cah ; 68 ca 06 7620 7779 push strict byte 00004h ; 6a 04 7621 call 01972h ; e8 ac c37780 call 01972h ; e8 e9 c1 7622 7781 add sp, strict byte 00008h ; 83 c4 08 7623 jmp near 05 88fh ; e9 c3 027782 jmp near 05a52h ; e9 c3 02 7624 7783 movzx ax, byte [bp-002h] ; 0f b6 46 fe 7625 7784 imul ax, ax, strict byte 00018h ; 6b c0 18 … … 7632 7791 mov word [bp-00ah], dx ; 89 56 f6 7633 7792 cmp di, ax ; 39 c7 7634 jnc short 05 5f9h ; 73 0c7793 jnc short 057bch ; 73 0c 7635 7794 cmp cx, word [bp-008h] ; 3b 4e f8 7636 jbe short 05 5f9h ; 76 077795 jbe short 057bch ; 76 07 7637 7796 mov ax, word [bp-006h] ; 8b 46 fa 7638 7797 cmp ax, dx ; 39 d0 7639 jbe short 05 627h ; 76 2e7640 mov bx, 00da 2h ; bb a20d7798 jbe short 057eah ; 76 2e 7799 mov bx, 00da8h ; bb a8 0d 7641 7800 mov cx, ds ; 8c d9 7642 7801 mov ax, strict word 00004h ; b8 04 00 7643 call 01931h ; e8 2d c37802 call 01931h ; e8 6a c1 7644 7803 push dword [bp-008h] ; 66 ff 76 f8 7645 7804 push di ; 57 … … 7653 7812 push 006f2h ; 68 f2 06 7654 7813 push strict byte 00004h ; 6a 04 7655 call 01972h ; e8 51 c37814 call 01972h ; e8 8e c1 7656 7815 add sp, strict byte 00010h ; 83 c4 10 7657 jmp near 05 88fh ; e9 68 027816 jmp near 05a52h ; e9 68 02 7658 7817 mov ax, word [bp+016h] ; 8b 46 16 7659 7818 shr ax, 008h ; c1 e8 08 7660 7819 cmp ax, strict word 00004h ; 3d 04 00 7661 jne short 05 635h ; 75 037662 jmp near 05 52ah ; e9 f5 fe7820 jne short 057f8h ; 75 03 7821 jmp near 056edh ; e9 f5 fe 7663 7822 movzx bx, byte [bp-002h] ; 0f b6 5e fe 7664 7823 imul bx, bx, strict byte 00018h ; 6b db 18 … … 7666 7825 add bx, si ; 01 f3 7667 7826 cmp cx, word [es:bx+02ch] ; 26 3b 4f 2c 7668 jne short 05 656h ; 75 0f7827 jne short 05819h ; 75 0f 7669 7828 mov ax, word [es:bx+030h] ; 26 8b 47 30 7670 7829 cmp ax, word [bp-00ah] ; 3b 46 f6 7671 jne short 05 656h ; 75 067830 jne short 05819h ; 75 06 7672 7831 cmp byte [bp-002h], 008h ; 80 7e fe 08 7673 jc short 05 686h ; 72 307832 jc short 05849h ; 72 30 7674 7833 mov ax, di ; 89 f8 7675 7834 xor dx, dx ; 31 d2 7676 7835 mov bx, cx ; 89 cb 7677 7836 xor cx, cx ; 31 c9 7678 call 09 569h ; e8 083f7837 call 09729h ; e8 05 3f 7679 7838 xor bx, bx ; 31 db 7680 7839 add ax, word [bp-008h] ; 03 46 f8 … … 7682 7841 mov bx, word [bp-00ah] ; 8b 5e f6 7683 7842 xor cx, cx ; 31 c9 7684 call 09 569h ; e8 f93e7843 call 09729h ; e8 f6 3e 7685 7844 xor bx, bx ; 31 db 7686 7845 add ax, word [bp-006h] ; 03 46 fa … … 7735 7894 mov word [bp+016h], bx ; 89 5e 16 7736 7895 test dl, dl ; 84 d2 7737 je near 05 52ah ; 0f 84 13 fe7738 mov bx, 00da 2h ; bb a20d7896 je near 056edh ; 0f 84 13 fe 7897 mov bx, 00da8h ; bb a8 0d 7739 7898 mov cx, ds ; 8c d9 7740 7899 mov ax, strict word 00004h ; b8 04 00 7741 call 01931h ; e8 0f c27900 call 01931h ; e8 4c c0 7742 7901 movzx ax, dl ; 0f b6 c2 7743 7902 push ax ; 50 … … 7748 7907 push 00739h ; 68 39 07 7749 7908 push strict byte 00004h ; 6a 04 7750 call 01972h ; e8 3a c27909 call 01972h ; e8 77 c0 7751 7910 add sp, strict byte 0000ah ; 83 c4 0a 7752 7911 mov ax, word [bp+016h] ; 8b 46 16 7753 7912 xor ah, ah ; 30 e4 7754 7913 or ah, 00ch ; 80 cc 0c 7755 jmp near 05 897h ; e9 51 017756 mov bx, 00da 2h ; bb a20d7914 jmp near 05a5ah ; e9 51 01 7915 mov bx, 00da8h ; bb a8 0d 7757 7916 mov cx, ds ; 8c d9 7758 7917 mov ax, strict word 00004h ; b8 04 00 7759 call 01931h ; e8 e0 c17918 call 01931h ; e8 1d c0 7760 7919 push 0075ah ; 68 5a 07 7761 7920 push strict byte 00004h ; 6a 04 7762 call 01972h ; e8 19 c27921 call 01972h ; e8 56 c0 7763 7922 add sp, strict byte 00004h ; 83 c4 04 7764 jmp near 05 52ah ; e9 cb fd7923 jmp near 056edh ; e9 cb fd 7765 7924 movzx ax, byte [bp-002h] ; 0f b6 46 fe 7766 7925 imul ax, ax, strict byte 00018h ; 6b c0 18 … … 7805 7964 or dx, ax ; 09 c2 7806 7965 mov word [bp+012h], dx ; 89 56 12 7807 jmp near 05 52ah ; e9 55 fd7966 jmp near 056edh ; e9 55 fd 7808 7967 movzx ax, byte [bp-002h] ; 0f b6 46 fe 7809 7968 cwd ; 99 … … 7821 7980 and AL, strict byte 0c0h ; 24 c0 7822 7981 cmp AL, strict byte 040h ; 3c 40 7823 jne short 05 7fah ; 75 037824 jmp near 05 52ah ; e9 30 fd7982 jne short 059bdh ; 75 03 7983 jmp near 056edh ; e9 30 fd 7825 7984 mov ax, word [bp+016h] ; 8b 46 16 7826 7985 xor ah, ah ; 30 e4 7827 7986 or ah, 0aah ; 80 cc aa 7828 jmp near 05 897h ; e9 92 007987 jmp near 05a5ah ; e9 92 00 7829 7988 movzx ax, byte [bp-002h] ; 0f b6 46 fe 7830 7989 imul ax, ax, strict byte 00018h ; 6b c0 18 … … 7840 7999 mov bx, word [bp-008h] ; 8b 5e f8 7841 8000 xor cx, cx ; 31 c9 7842 call 09 569h ; e8 3a3d8001 call 09729h ; e8 37 3d 7843 8002 mov bx, word [bp-006h] ; 8b 5e fa 7844 8003 xor cx, cx ; 31 c9 7845 call 09 569h ; e8 323d8004 call 09729h ; e8 2f 3d 7846 8005 mov word [bp-010h], ax ; 89 46 f0 7847 8006 mov word [bp-00eh], dx ; 89 56 f2 … … 7852 8011 or ah, 003h ; 80 cc 03 7853 8012 mov word [bp+016h], ax ; 89 46 16 7854 jmp near 05 52eh ; e9 dd fc7855 mov bx, 00da 2h ; bb a20d8013 jmp near 056f1h ; e9 dd fc 8014 mov bx, 00da8h ; bb a8 0d 7856 8015 mov cx, ds ; 8c d9 7857 8016 mov ax, strict word 00004h ; b8 04 00 7858 call 01931h ; e8 d5 c08017 call 01931h ; e8 12 bf 7859 8018 mov ax, word [bp+016h] ; 8b 46 16 7860 8019 shr ax, 008h ; c1 e8 08 … … 7863 8022 push 00774h ; 68 74 07 7864 8023 push strict byte 00004h ; 6a 04 7865 call 01972h ; e8 04 c18024 call 01972h ; e8 41 bf 7866 8025 add sp, strict byte 00008h ; 83 c4 08 7867 jmp near 05 52ah ; e9 b6 fc7868 mov bx, 00da 2h ; bb a20d8026 jmp near 056edh ; e9 b6 fc 8027 mov bx, 00da8h ; bb a8 0d 7869 8028 mov cx, ds ; 8c d9 7870 8029 mov ax, strict word 00004h ; b8 04 00 7871 call 01931h ; e8 b2 c08030 call 01931h ; e8 ef be 7872 8031 mov ax, word [bp+016h] ; 8b 46 16 7873 8032 shr ax, 008h ; c1 e8 08 … … 7875 8034 push 0065eh ; 68 5e 06 7876 8035 push 007a7h ; 68 a7 07 7877 jmp near 05 5c1h ; e9 32 fd8036 jmp near 05784h ; e9 32 fd 7878 8037 mov ax, word [bp+016h] ; 8b 46 16 7879 8038 xor ah, ah ; 30 e4 … … 7885 8044 mov dx, strict word 00074h ; ba 74 00 7886 8045 mov ax, strict word 00040h ; b8 40 00 7887 call 0165eh ; e8 b3 bd8046 call 0165eh ; e8 f0 bb 7888 8047 or byte [bp+01ch], 001h ; 80 4e 1c 01 7889 jmp near 0553dh ; e9 8b fc 7890 insw ; 6d 7891 pop cx ; 59 7892 test word [bx+di-07bh], bx ; 85 59 85 7893 pop cx ; 59 7894 test word [bx+di+034h], bx ; 85 59 34 7895 pop bp ; 5d 7896 enter 0855ah, 059h ; c8 5a 85 59 7897 into ; ce 7898 pop dx ; 5a 7899 xor AL, strict byte 05dh ; 34 5d 7900 sbb word [di-07dh], strict byte 0005dh ; 83 5d 83 5d 7901 sbb word [di-07dh], strict byte 0005dh ; 83 5d 83 5d 7902 dec bx ; 4b 7903 pop bp ; 5d 7904 sbb word [di-07dh], strict byte 0005dh ; 83 5d 83 5d 7905 _int13_harddisk_ext: ; 0xf58d2 LB 0x4cc 8048 jmp near 05700h ; e9 8b fc 8049 xor byte [bp+di+048h], bl ; 30 5b 48 8050 pop bx ; 5b 8051 dec ax ; 48 8052 pop bx ; 5b 8053 dec ax ; 48 8054 pop bx ; 5b 8055 neg word [bp-075h] ; f7 5e 8b 8056 pop sp ; 5c 8057 dec ax ; 48 8058 pop bx ; 5b 8059 xchg cx, ax ; 91 8060 pop sp ; 5c 8061 neg word [bp+046h] ; f7 5e 46 8062 pop di ; 5f 8063 inc si ; 46 8064 pop di ; 5f 8065 inc si ; 46 8066 pop di ; 5f 8067 inc si ; 46 8068 pop di ; 5f 8069 push CS ; 0e 8070 pop di ; 5f 8071 inc si ; 46 8072 pop di ; 5f 8073 inc si ; 46 8074 pop di ; 5f 8075 _int13_harddisk_ext: ; 0xf5a95 LB 0x4cc 7906 8076 push bp ; 55 7907 8077 mov bp, sp ; 89 e5 … … 7909 8079 mov dx, strict word 0000eh ; ba 0e 00 7910 8080 mov ax, strict word 00040h ; b8 40 00 7911 call 0166ch ; e8 8b bd8081 call 0166ch ; e8 c8 bb 7912 8082 mov word [bp-014h], ax ; 89 46 ec 7913 8083 mov dx, strict word 0000eh ; ba 0e 00 7914 8084 mov ax, strict word 00040h ; b8 40 00 7915 call 0166ch ; e8 7f bd8085 call 0166ch ; e8 bc bb 7916 8086 mov si, 00122h ; be 22 01 7917 8087 mov word [bp-026h], ax ; 89 46 da … … 7919 8089 mov dx, 0008eh ; ba 8e 00 7920 8090 mov ax, strict word 00040h ; b8 40 00 7921 call 0165eh ; e8 60 bd8091 call 0165eh ; e8 9d bb 7922 8092 mov ax, word [bp+00eh] ; 8b 46 0e 7923 8093 xor ah, ah ; 30 e4 7924 8094 cmp ax, 00080h ; 3d 80 00 7925 jc short 05 90dh ; 72 058095 jc short 05ad0h ; 72 05 7926 8096 cmp ax, 00090h ; 3d 90 00 7927 jc short 05 92bh ; 72 1e8097 jc short 05aeeh ; 72 1e 7928 8098 mov ax, word [bp+00eh] ; 8b 46 0e 7929 8099 xor ah, ah ; 30 e4 … … 7935 8105 push 0066dh ; 68 6d 06 7936 8106 push strict byte 00004h ; 6a 04 7937 call 01972h ; e8 4d c08107 call 01972h ; e8 8a be 7938 8108 add sp, strict byte 0000ah ; 83 c4 0a 7939 jmp near 05 d61h ; e9 36 048109 jmp near 05f24h ; e9 36 04 7940 8110 mov ax, word [bp+00eh] ; 8b 46 0e 7941 8111 xor ah, ah ; 30 e4 … … 7945 8115 mov cl, byte [es:bx+0011fh] ; 26 8a 8f 1f 01 7946 8116 cmp cl, 010h ; 80 f9 10 7947 jc short 05 951h ; 72 108117 jc short 05b14h ; 72 10 7948 8118 push ax ; 50 7949 8119 mov ax, word [bp+016h] ; 8b 46 16 … … 7952 8122 push 007d5h ; 68 d5 07 7953 8123 push 00698h ; 68 98 06 7954 jmp short 05 920h ; eb cf8124 jmp short 05ae3h ; eb cf 7955 8125 mov bx, word [bp+016h] ; 8b 5e 16 7956 8126 shr bx, 008h ; c1 eb 08 7957 8127 sub bx, strict byte 00041h ; 83 eb 41 7958 8128 cmp bx, strict byte 0000fh ; 83 fb 0f 7959 jnbe near 05 d83h ; 0f 87 22 048129 jnbe near 05f46h ; 0f 87 22 04 7960 8130 add bx, bx ; 01 db 7961 8131 mov ax, word [bp+016h] ; 8b 46 16 7962 8132 xor ah, ah ; 30 e4 7963 jmp word [cs:bx+05 8b2h] ; 2e ff a7 b2 588133 jmp word [cs:bx+05a75h] ; 2e ff a7 75 5a 7964 8134 mov word [bp+010h], 0aa55h ; c7 46 10 55 aa 7965 8135 mov ax, word [bp+016h] ; 8b 46 16 … … 7968 8138 mov word [bp+016h], ax ; 89 46 16 7969 8139 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 7970 jmp near 05 d38h ; e9 b3 038140 jmp near 05efbh ; e9 b3 03 7971 8141 mov bx, word [bp+00ah] ; 8b 5e 0a 7972 8142 mov es, [bp+004h] ; 8e 46 04 … … 7983 8153 mov ax, word [es:bx+00eh] ; 26 8b 47 0e 7984 8154 or ax, word [bp-00ah] ; 0b 46 f6 7985 je short 05 9c6h ; 74 118155 je short 05b89h ; 74 11 7986 8156 mov ax, word [bp+016h] ; 8b 46 16 7987 8157 shr ax, 008h ; c1 e8 08 … … 7990 8160 push 007e8h ; 68 e8 07 7991 8161 push strict byte 00007h ; 6a 07 7992 jmp short 05 a10h ; eb 4a8162 jmp short 05bd3h ; eb 4a 7993 8163 mov es, [bp-010h] ; 8e 46 f0 7994 8164 mov ax, word [es:di+008h] ; 26 8b 45 08 … … 8002 8172 mov ch, byte [es:bx+01eh] ; 26 8a 6f 1e 8003 8173 cmp ax, word [es:bx+034h] ; 26 3b 47 34 8004 jnbe short 05 9f6h ; 77 0b8005 jne short 05 a19h ; 75 2c8174 jnbe short 05bb9h ; 77 0b 8175 jne short 05bdch ; 75 2c 8006 8176 mov dx, word [bp-00ah] ; 8b 56 f6 8007 8177 cmp dx, word [es:bx+032h] ; 26 3b 57 32 8008 jc short 05 a19h ; 72 238009 mov bx, 00da 2h ; bb a20d8178 jc short 05bdch ; 72 23 8179 mov bx, 00da8h ; bb a8 0d 8010 8180 mov cx, ds ; 8c d9 8011 8181 mov ax, strict word 00004h ; b8 04 00 8012 call 01931h ; e8 30 bf8182 call 01931h ; e8 6d bd 8013 8183 mov ax, word [bp+016h] ; 8b 46 16 8014 8184 shr ax, 008h ; c1 e8 08 … … 8017 8187 push 00811h ; 68 11 08 8018 8188 push strict byte 00004h ; 6a 04 8019 call 01972h ; e8 5f bf8189 call 01972h ; e8 9c bd 8020 8190 add sp, strict byte 00008h ; 83 c4 08 8021 jmp near 05 d61h ; e9 48 038191 jmp near 05f24h ; e9 48 03 8022 8192 mov dx, word [bp+016h] ; 8b 56 16 8023 8193 shr dx, 008h ; c1 ea 08 8024 8194 mov word [bp-00ch], dx ; 89 56 f4 8025 8195 cmp dx, strict byte 00044h ; 83 fa 44 8026 je near 05 d34h ; 0f 84 0b 038196 je near 05ef7h ; 0f 84 0b 03 8027 8197 cmp dx, strict byte 00047h ; 83 fa 47 8028 je near 05 d34h ; 0f 84 04 038198 je near 05ef7h ; 0f 84 04 03 8029 8199 mov es, [bp-026h] ; 8e 46 da 8030 8200 db 066h, 026h, 0c7h, 044h, 014h, 000h, 000h, 000h, 000h … … 8058 8228 mov word [es:di+002h], ax ; 26 89 45 02 8059 8229 test dl, dl ; 84 d2 8060 je near 05 d34h ; 0f 84 97 028061 mov bx, 00da 2h ; bb a20d8230 je near 05ef7h ; 0f 84 97 02 8231 mov bx, 00da8h ; bb a8 0d 8062 8232 mov cx, ds ; 8c d9 8063 8233 mov ax, strict word 00004h ; b8 04 00 8064 call 01931h ; e8 89 be8234 call 01931h ; e8 c6 bc 8065 8235 movzx ax, dl ; 0f b6 c2 8066 8236 push ax ; 50 … … 8069 8239 push 00739h ; 68 39 07 8070 8240 push strict byte 00004h ; 6a 04 8071 call 01972h ; e8 b8 be8241 call 01972h ; e8 f5 bc 8072 8242 add sp, strict byte 0000ah ; 83 c4 0a 8073 8243 mov ax, word [bp+016h] ; 8b 46 16 8074 8244 xor ah, ah ; 30 e4 8075 8245 or ah, 00ch ; 80 cc 0c 8076 jmp near 05 d69h ; e9 a1 028246 jmp near 05f2ch ; e9 a1 02 8077 8247 or ah, 0b2h ; 80 cc b2 8078 jmp near 05 d69h ; e9 9b 028248 jmp near 05f2ch ; e9 9b 02 8079 8249 mov bx, word [bp+00ah] ; 8b 5e 0a 8080 8250 mov ax, word [bp+004h] ; 8b 46 04 … … 8086 8256 mov word [bp-00eh], ax ; 89 46 f2 8087 8257 cmp ax, strict word 0001ah ; 3d 1a 00 8088 jc near 05 d61h ; 0f 82 76 028089 jc near 05 b72h ; 0f 82 83 008258 jc near 05f24h ; 0f 82 76 02 8259 jc near 05d35h ; 0f 82 83 00 8090 8260 movzx ax, cl ; 0f b6 c1 8091 8261 imul ax, ax, strict byte 00018h ; 6b c0 18 … … 8125 8295 ; mov dword [es:di+014h], strict dword 000000000h ; 66 26 c7 45 14 00 00 00 00 8126 8296 cmp word [bp-00eh], strict byte 0001eh ; 83 7e f2 1e 8127 jc near 05 c7eh ; 0f 82 04 018297 jc near 05e41h ; 0f 82 04 01 8128 8298 mov es, [bp-004h] ; 8e 46 fc 8129 8299 mov word [es:bx], strict word 0001eh ; 26 c7 07 1e 00 … … 8151 8321 mov al, byte [es:di+023h] ; 26 8a 45 23 8152 8322 test al, al ; 84 c0 8153 jne short 05 bd0h ; 75 048323 jne short 05d93h ; 75 04 8154 8324 xor dx, dx ; 31 d2 8155 jmp short 05 bd3h ; eb 038325 jmp short 05d96h ; eb 03 8156 8326 mov dx, strict word 00008h ; ba 08 00 8157 8327 or dl, 010h ; 80 ca 10 … … 8168 8338 or word [bp-008h], dx ; 09 56 f8 8169 8339 cmp AL, strict byte 003h ; 3c 03 8170 jne short 05 bf9h ; 75 058340 jne short 05dbch ; 75 05 8171 8341 mov ax, strict word 00003h ; b8 03 00 8172 jmp short 05 bfbh ; eb 028342 jmp short 05dbeh ; eb 02 8173 8343 xor ax, ax ; 31 c0 8174 8344 or word [bp-008h], ax ; 09 46 f8 … … 8195 8365 xor ch, ch ; 30 ed 8196 8366 mov byte [bp-002h], ch ; 88 6e fe 8197 jmp short 05 c5fh ; eb 068367 jmp short 05e22h ; eb 06 8198 8368 cmp byte [bp-002h], 00fh ; 80 7e fe 0f 8199 jnc short 05 c74h ; 73 158369 jnc short 05e37h ; 73 15 8200 8370 movzx dx, byte [bp-002h] ; 0f b6 56 fe 8201 8371 add dx, 00312h ; 81 c2 12 03 8202 8372 mov ax, word [bp-014h] ; 8b 46 ec 8203 call 01650h ; e8 e3 b98373 call 01650h ; e8 20 b8 8204 8374 add ch, al ; 00 c5 8205 8375 inc byte [bp-002h] ; fe 46 fe 8206 jmp short 05 c59h ; eb e58376 jmp short 05e1ch ; eb e5 8207 8377 neg ch ; f6 dd 8208 8378 mov es, [bp-026h] ; 8e 46 da 8209 8379 mov byte [es:si+001ffh], ch ; 26 88 ac ff 01 8210 8380 cmp word [bp-00eh], strict byte 00042h ; 83 7e f2 42 8211 jc near 05 d34h ; 0f 82 ae 008381 jc near 05ef7h ; 0f 82 ae 00 8212 8382 movzx ax, cl ; 0f b6 c1 8213 8383 cwd ; 99 … … 8227 8397 mov word [es:bx+022h], strict word 00000h ; 26 c7 47 22 00 00 8228 8398 test al, al ; 84 c0 8229 jne short 05 cc6h ; 75 098399 jne short 05e89h ; 75 09 8230 8400 db 066h, 026h, 0c7h, 047h, 024h, 049h, 053h, 041h, 020h 8231 8401 ; mov dword [es:bx+024h], strict dword 020415349h ; 66 26 c7 47 24 49 53 41 20 … … 8236 8406 ; mov dword [es:bx+02ch], strict dword 020202020h ; 66 26 c7 47 2c 20 20 20 20 8237 8407 test al, al ; 84 c0 8238 jne short 05 cf2h ; 75 138408 jne short 05eb5h ; 75 13 8239 8409 mov word [es:bx+030h], dx ; 26 89 57 30 8240 8410 db 066h, 026h, 0c7h, 047h, 032h, 000h, 000h, 000h, 000h … … 8251 8421 xor cl, cl ; 30 c9 8252 8422 mov CH, strict byte 01eh ; b5 1e 8253 jmp short 05 d19h ; eb 058423 jmp short 05edch ; eb 05 8254 8424 cmp ch, 040h ; 80 fd 40 8255 jnc short 05 d2bh ; 73 128425 jnc short 05eeeh ; 73 12 8256 8426 movzx dx, ch ; 0f b6 d5 8257 8427 add dx, word [bp+00ah] ; 03 56 0a 8258 8428 mov ax, word [bp+004h] ; 8b 46 04 8259 call 01650h ; e8 2b b98429 call 01650h ; e8 68 b7 8260 8430 add cl, al ; 00 c1 8261 8431 db 0feh, 0c5h 8262 8432 ; inc ch ; fe c5 8263 jmp short 05 d14h ; eb e98433 jmp short 05ed7h ; eb e9 8264 8434 neg cl ; f6 d9 8265 8435 mov es, [bp-004h] ; 8e 46 fc … … 8269 8439 mov dx, strict word 00074h ; ba 74 00 8270 8440 mov ax, strict word 00040h ; b8 40 00 8271 call 0165eh ; e8 1b b98441 call 0165eh ; e8 58 b7 8272 8442 and byte [bp+01ch], 0feh ; 80 66 1c fe 8273 8443 mov sp, bp ; 89 ec … … 8275 8445 retn ; c3 8276 8446 cmp ax, strict word 00006h ; 3d 06 00 8277 je short 05 d34h ; 74 e48447 je short 05ef7h ; 74 e4 8278 8448 cmp ax, strict word 00001h ; 3d 01 00 8279 jc short 05 d61h ; 72 0c8280 jbe short 05 d34h ; 76 dd8449 jc short 05f24h ; 72 0c 8450 jbe short 05ef7h ; 76 dd 8281 8451 cmp ax, strict word 00003h ; 3d 03 00 8282 jc short 05 d61h ; 72 058452 jc short 05f24h ; 72 05 8283 8453 cmp ax, strict word 00004h ; 3d 04 00 8284 jbe short 05 d34h ; 76 d38454 jbe short 05ef7h ; 76 d3 8285 8455 mov ax, word [bp+016h] ; 8b 46 16 8286 8456 xor ah, ah ; 30 e4 … … 8292 8462 mov dx, strict word 00074h ; ba 74 00 8293 8463 mov ax, strict word 00040h ; b8 40 00 8294 call 0165eh ; e8 e1 b88464 call 0165eh ; e8 1e b7 8295 8465 or byte [bp+01ch], 001h ; 80 4e 1c 01 8296 jmp short 05 d47h ; eb c48297 mov bx, 00da 2h ; bb a20d8466 jmp short 05f0ah ; eb c4 8467 mov bx, 00da8h ; bb a8 0d 8298 8468 mov cx, ds ; 8c d9 8299 8469 mov ax, strict word 00004h ; b8 04 00 8300 call 01931h ; e8 a3 bb8470 call 01931h ; e8 e0 b9 8301 8471 mov ax, word [bp+016h] ; 8b 46 16 8302 8472 shr ax, 008h ; c1 e8 08 … … 8304 8474 push 007d5h ; 68 d5 07 8305 8475 push 007a7h ; 68 a7 07 8306 jmp near 05 a0eh ; e9 70 fc8307 _int14_function: ; 0xf5 d9eLB 0x1558476 jmp near 05bd1h ; e9 70 fc 8477 _int14_function: ; 0xf5f61 LB 0x155 8308 8478 push bp ; 55 8309 8479 mov bp, sp ; 89 e5 … … 8313 8483 add dx, dx ; 01 d2 8314 8484 mov ax, strict word 00040h ; b8 40 00 8315 call 0166ch ; e8 be b88485 call 0166ch ; e8 fb b6 8316 8486 mov si, ax ; 89 c6 8317 8487 mov bx, ax ; 89 c3 … … 8319 8489 add dx, strict byte 0007ch ; 83 c2 7c 8320 8490 mov ax, strict word 00040h ; b8 40 00 8321 call 01650h ; e8 92 b88491 call 01650h ; e8 cf b6 8322 8492 mov cl, al ; 88 c1 8323 8493 cmp word [bp+00eh], strict byte 00004h ; 83 7e 0e 04 8324 jnc near 0 5ee9h ; 0f 83 21 018494 jnc near 060ach ; 0f 83 21 01 8325 8495 test si, si ; 85 f6 8326 jbe near 0 5ee9h ; 0f 86 1b 018496 jbe near 060ach ; 0f 86 1b 01 8327 8497 mov al, byte [bp+013h] ; 8a 46 13 8328 8498 cmp AL, strict byte 001h ; 3c 01 8329 jc short 05 de6h ; 72 118330 jbe short 05 e3ah ; 76 638499 jc short 05fa9h ; 72 11 8500 jbe short 05ffdh ; 76 63 8331 8501 cmp AL, strict byte 003h ; 3c 03 8332 je near 0 5ed2h ; 0f 84 f5 008502 je near 06095h ; 0f 84 f5 00 8333 8503 cmp AL, strict byte 002h ; 3c 02 8334 je near 0 5e88h ; 0f 84 a5 008335 jmp near 0 5ee3h ; e9 fd 008504 je near 0604bh ; 0f 84 a5 00 8505 jmp near 060a6h ; e9 fd 00 8336 8506 test al, al ; 84 c0 8337 jne near 0 5ee3h ; 0f 85 f7 008507 jne near 060a6h ; 0f 85 f7 00 8338 8508 lea dx, [bx+003h] ; 8d 57 03 8339 8509 in AL, DX ; ec … … 8367 8537 ; sub ah, ah ; 2a e4 8368 8538 mov byte [bp+012h], al ; 88 46 12 8369 jmp near 0 5ec4h ; e9 97 008539 jmp near 06087h ; e9 97 00 8370 8540 mov AL, strict byte 017h ; b0 17 8371 8541 mov dx, bx ; 89 da … … 8374 8544 mov AL, strict byte 004h ; b0 04 8375 8545 out DX, AL ; ee 8376 jmp short 05 e0fh ; eb d58546 jmp short 05fd2h ; eb d5 8377 8547 mov dx, strict word 0006ch ; ba 6c 00 8378 8548 mov ax, strict word 00040h ; b8 40 00 8379 call 0166ch ; e8 29 b88549 call 0166ch ; e8 66 b6 8380 8550 mov si, ax ; 89 c6 8381 8551 lea dx, [bx+005h] ; 8d 57 05 … … 8385 8555 and ax, strict word 00060h ; 25 60 00 8386 8556 cmp ax, strict word 00060h ; 3d 60 00 8387 je short 0 5e6ah ; 74 178557 je short 0602dh ; 74 17 8388 8558 test cl, cl ; 84 c9 8389 je short 0 5e6ah ; 74 138559 je short 0602dh ; 74 13 8390 8560 mov dx, strict word 0006ch ; ba 6c 00 8391 8561 mov ax, strict word 00040h ; b8 40 00 8392 call 0166ch ; e8 0c b88562 call 0166ch ; e8 49 b6 8393 8563 cmp ax, si ; 39 f0 8394 je short 0 5e45h ; 74 e18564 je short 06008h ; 74 e1 8395 8565 mov si, ax ; 89 c6 8396 8566 db 0feh, 0c9h 8397 8567 ; dec cl ; fe c9 8398 jmp short 0 5e45h ; eb db8568 jmp short 06008h ; eb db 8399 8569 test cl, cl ; 84 c9 8400 je short 0 5e74h ; 74 068570 je short 06037h ; 74 06 8401 8571 mov al, byte [bp+012h] ; 8a 46 12 8402 8572 mov dx, bx ; 89 da … … 8408 8578 mov byte [bp+013h], al ; 88 46 13 8409 8579 test cl, cl ; 84 c9 8410 jne short 0 5ec4h ; 75 438580 jne short 06087h ; 75 43 8411 8581 or AL, strict byte 080h ; 0c 80 8412 8582 mov byte [bp+013h], al ; 88 46 13 8413 jmp short 0 5ec4h ; eb 3c8583 jmp short 06087h ; eb 3c 8414 8584 mov dx, strict word 0006ch ; ba 6c 00 8415 8585 mov ax, strict word 00040h ; b8 40 00 8416 call 0166ch ; e8 db b78586 call 0166ch ; e8 18 b6 8417 8587 mov si, ax ; 89 c6 8418 8588 lea dx, [bx+005h] ; 8d 57 05 … … 8421 8591 ; sub ah, ah ; 2a e4 8422 8592 test AL, strict byte 001h ; a8 01 8423 jne short 0 5eb4h ; 75 178593 jne short 06077h ; 75 17 8424 8594 test cl, cl ; 84 c9 8425 je short 0 5eb4h ; 74 138595 je short 06077h ; 74 13 8426 8596 mov dx, strict word 0006ch ; ba 6c 00 8427 8597 mov ax, strict word 00040h ; b8 40 00 8428 call 0166ch ; e8 c2 b78598 call 0166ch ; e8 ff b5 8429 8599 cmp ax, si ; 39 f0 8430 je short 0 5e93h ; 74 e58600 je short 06056h ; 74 e5 8431 8601 mov si, ax ; 89 c6 8432 8602 db 0feh, 0c9h 8433 8603 ; dec cl ; fe c9 8434 jmp short 0 5e93h ; eb df8604 jmp short 06056h ; eb df 8435 8605 test cl, cl ; 84 c9 8436 je short 0 5ecah ; 74 128606 je short 0608dh ; 74 12 8437 8607 mov byte [bp+013h], 000h ; c6 46 13 00 8438 8608 mov dx, bx ; 89 da … … 8442 8612 mov byte [bp+012h], al ; 88 46 12 8443 8613 and byte [bp+01ch], 0feh ; 80 66 1c fe 8444 jmp short 0 5eedh ; eb 238614 jmp short 060b0h ; eb 23 8445 8615 lea dx, [bx+005h] ; 8d 57 05 8446 8616 in AL, DX ; ec 8447 8617 db 02ah, 0e4h 8448 8618 ; sub ah, ah ; 2a e4 8449 jmp short 0 5e83h ; eb b18619 jmp short 06046h ; eb b1 8450 8620 lea dx, [si+005h] ; 8d 54 05 8451 8621 in AL, DX ; ec … … 8457 8627 db 02ah, 0e4h 8458 8628 ; sub ah, ah ; 2a e4 8459 jmp short 0 5ec1h ; eb de8629 jmp short 06084h ; eb de 8460 8630 or byte [bp+01ch], 001h ; 80 4e 1c 01 8461 jmp short 0 5eedh ; eb 048631 jmp short 060b0h ; eb 04 8462 8632 or byte [bp+01ch], 001h ; 80 4e 1c 01 8463 8633 lea sp, [bp-002h] ; 8d 66 fe … … 8465 8635 pop bp ; 5d 8466 8636 retn ; c3 8467 set_enable_a20_: ; 0xf 5ef3LB 0x2c8637 set_enable_a20_: ; 0xf60b6 LB 0x2c 8468 8638 push bp ; 55 8469 8639 mov bp, sp ; 89 e5 … … 8478 8648 mov cl, al ; 88 c1 8479 8649 test bx, bx ; 85 db 8480 je short 0 5f0ch ; 74 058650 je short 060cfh ; 74 05 8481 8651 or AL, strict byte 002h ; 0c 02 8482 8652 out DX, AL ; ee 8483 jmp short 0 5f0fh ; eb 038653 jmp short 060d2h ; eb 03 8484 8654 and AL, strict byte 0fdh ; 24 fd 8485 8655 out DX, AL ; ee … … 8494 8664 pop bp ; 5d 8495 8665 retn ; c3 8496 set_e820_range_: ; 0xf 5f1fLB 0x8c8666 set_e820_range_: ; 0xf60e2 LB 0x8c 8497 8667 push si ; 56 8498 8668 push bp ; 55 … … 8523 8693 retn 0000ah ; c2 0a 00 8524 8694 db 0ech, 0e9h, 0d8h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 087h, 083h, 052h, 04fh, 041h, 024h 8525 db 000h, 0 4ah, 064h, 0eah, 05fh, 0fdh, 05fh, 092h, 060h, 098h, 060h, 09dh, 060h, 0a2h, 060h, 044h8526 db 06 1h, 0e1h, 062h, 007h, 063h, 08bh, 060h, 08bh, 060h, 0d4h, 063h, 0fch, 063h, 00fh, 064h, 01eh8527 db 06 4h, 092h, 060h, 025h, 064h8528 _int15_function: ; 0xf 5fabLB 0x4cd8695 db 000h, 00dh, 066h, 0adh, 061h, 0c0h, 061h, 055h, 062h, 05bh, 062h, 060h, 062h, 065h, 062h, 007h 8696 db 063h, 0a4h, 064h, 0cah, 064h, 04eh, 062h, 04eh, 062h, 097h, 065h, 0bfh, 065h, 0d2h, 065h, 0e1h 8697 db 065h, 055h, 062h, 0e8h, 065h 8698 _int15_function: ; 0xf616e LB 0x4cd 8529 8699 push bp ; 55 8530 8700 mov bp, sp ; 89 e5 … … 8536 8706 shr ax, 008h ; c1 e8 08 8537 8707 cmp ax, 000ech ; 3d ec 00 8538 jnbe near 06 44ah ; 0f 87 8b 048708 jnbe near 0660dh ; 0f 87 8b 04 8539 8709 push CS ; 0e 8540 8710 pop ES ; 07 8541 8711 mov cx, strict word 00012h ; b9 12 00 8542 mov di, 0 5f76h ; bf 76 5f8712 mov di, 06139h ; bf 39 61 8543 8713 repne scasb ; f2 ae 8544 8714 sal cx, 1 ; d1 e1 8545 8715 mov di, cx ; 89 cf 8546 mov si, word [cs:di+0 5f87h] ; 2e 8b b5 87 5f8716 mov si, word [cs:di+0614ah] ; 2e 8b b5 4a 61 8547 8717 mov ax, word [bp+012h] ; 8b 46 12 8548 8718 xor ah, ah ; 30 e4 … … 8557 8727 xor ah, ah ; 30 e4 8558 8728 cmp ax, 000c0h ; 3d c0 00 8559 jne near 06 44ah ; 0f 85 54 048729 jne near 0660dh ; 0f 85 54 04 8560 8730 or byte [bp+018h], 001h ; 80 4e 18 01 8561 jmp near 06 3f3h ; e9 f6 038731 jmp near 065b6h ; e9 f6 03 8562 8732 mov dx, ax ; 89 c2 8563 8733 cmp ax, strict word 00001h ; 3d 01 00 8564 jc short 06 012h ; 72 0e8565 jbe short 06 026h ; 76 208734 jc short 061d5h ; 72 0e 8735 jbe short 061e9h ; 76 20 8566 8736 cmp ax, strict word 00003h ; 3d 03 00 8567 je short 06 053h ; 74 488737 je short 06216h ; 74 48 8568 8738 cmp ax, strict word 00002h ; 3d 02 00 8569 je short 06 036h ; 74 268570 jmp short 06 060h ; eb 4e8739 je short 061f9h ; 74 26 8740 jmp short 06223h ; eb 4e 8571 8741 test ax, ax ; 85 c0 8572 jne short 06 060h ; 75 4a8742 jne short 06223h ; 75 4a 8573 8743 xor ax, ax ; 31 c0 8574 call 0 5ef3h ; e8 d8 fe8744 call 060b6h ; e8 d8 fe 8575 8745 and byte [bp+018h], 0feh ; 80 66 18 fe 8576 8746 mov byte [bp+013h], 000h ; c6 46 13 00 8577 jmp near 06 08bh ; e9 65 008747 jmp near 0624eh ; e9 65 00 8578 8748 mov ax, strict word 00001h ; b8 01 00 8579 call 0 5ef3h ; e8 c7 fe8749 call 060b6h ; e8 c7 fe 8580 8750 and byte [bp+018h], 0feh ; 80 66 18 fe 8581 8751 mov byte [bp+013h], dh ; 88 76 13 8582 jmp near 06 08bh ; e9 55 008752 jmp near 0624eh ; e9 55 00 8583 8753 mov dx, 00092h ; ba 92 00 8584 8754 in AL, DX ; ec … … 8592 8762 and byte [bp+018h], 0feh ; 80 66 18 fe 8593 8763 mov byte [bp+013h], ah ; 88 66 13 8594 jmp near 06 08bh ; e9 38 008764 jmp near 0624eh ; e9 38 00 8595 8765 and byte [bp+018h], 0feh ; 80 66 18 fe 8596 8766 mov byte [bp+013h], ah ; 88 66 13 8597 8767 mov word [bp+00ch], ax ; 89 46 0c 8598 jmp near 06 08bh ; e9 2b 008599 mov bx, 00da 2h ; bb a20d8768 jmp near 0624eh ; e9 2b 00 8769 mov bx, 00da8h ; bb a8 0d 8600 8770 mov cx, ds ; 8c d9 8601 8771 mov ax, strict word 00004h ; b8 04 00 8602 call 01931h ; e8 c6 b88772 call 01931h ; e8 03 b7 8603 8773 mov ax, word [bp+012h] ; 8b 46 12 8604 8774 xor ah, ah ; 30 e4 … … 8606 8776 push 00836h ; 68 36 08 8607 8777 push strict byte 00004h ; 6a 04 8608 call 01972h ; e8 f9 b88778 call 01972h ; e8 36 b7 8609 8779 add sp, strict byte 00006h ; 83 c4 06 8610 8780 or byte [bp+018h], 001h ; 80 4e 18 01 … … 8619 8789 retn ; c3 8620 8790 mov word [bp+018h], bx ; 89 5e 18 8621 jmp near 06 13eh ; e9 a6 008791 jmp near 06301h ; e9 a6 00 8622 8792 mov word [bp+018h], bx ; 89 5e 18 8623 jmp short 06 08bh ; eb ee8793 jmp short 0624eh ; eb ee 8624 8794 mov word [bp+018h], cx ; 89 4e 18 8625 jmp short 06 088h ; eb e68795 jmp short 0624bh ; eb e6 8626 8796 test byte [bp+012h], 0ffh ; f6 46 12 ff 8627 je short 06 114h ; 74 6c8797 je short 062d7h ; 74 6c 8628 8798 mov dx, 000a0h ; ba a0 00 8629 8799 mov ax, strict word 00040h ; b8 40 00 8630 call 01650h ; e8 9f b58800 call 01650h ; e8 dc b3 8631 8801 test AL, strict byte 001h ; a8 01 8632 jne near 06 3eah ; 0f 85 33 038802 jne near 065adh ; 0f 85 33 03 8633 8803 mov bx, strict word 00001h ; bb 01 00 8634 8804 mov dx, 000a0h ; ba a0 00 8635 8805 mov ax, strict word 00040h ; b8 40 00 8636 call 0165eh ; e8 9b b58806 call 0165eh ; e8 d8 b3 8637 8807 mov bx, word [bp+014h] ; 8b 5e 14 8638 8808 mov dx, 00098h ; ba 98 00 8639 8809 mov ax, strict word 00040h ; b8 40 00 8640 call 0167ah ; e8 ab b58810 call 0167ah ; e8 e8 b3 8641 8811 mov bx, word [bp+00ch] ; 8b 5e 0c 8642 8812 mov dx, 0009ah ; ba 9a 00 8643 8813 mov ax, strict word 00040h ; b8 40 00 8644 call 0167ah ; e8 9f b58814 call 0167ah ; e8 dc b3 8645 8815 mov bx, word [bp+00eh] ; 8b 5e 0e 8646 8816 mov dx, 0009ch ; ba 9c 00 8647 8817 mov ax, strict word 00040h ; b8 40 00 8648 call 0167ah ; e8 93 b58818 call 0167ah ; e8 d0 b3 8649 8819 mov bx, word [bp+010h] ; 8b 5e 10 8650 8820 mov dx, 0009eh ; ba 9e 00 8651 8821 mov ax, strict word 00040h ; b8 40 00 8652 call 0167ah ; e8 87 b58822 call 0167ah ; e8 c4 b3 8653 8823 and byte [bp+018h], 0feh ; 80 66 18 fe 8654 8824 mov dx, 000a1h ; ba a1 00 … … 8659 8829 out DX, AL ; ee 8660 8830 mov ax, strict word 0000bh ; b8 0b 00 8661 call 016ach ; e8 a6 b58831 call 016ach ; e8 e3 b3 8662 8832 or AL, strict byte 040h ; 0c 40 8663 8833 movzx dx, al ; 0f b6 d0 8664 8834 mov ax, strict word 0000bh ; b8 0b 00 8665 call 016c9h ; e8 b8 b58666 jmp near 06 08bh ; e9 77 ff8835 call 016c9h ; e8 f5 b3 8836 jmp near 0624eh ; e9 77 ff 8667 8837 cmp ax, strict word 00001h ; 3d 01 00 8668 jne short 06 132h ; 75 198838 jne short 062f5h ; 75 19 8669 8839 xor bx, bx ; 31 db 8670 8840 mov dx, 000a0h ; ba a0 00 8671 8841 mov ax, strict word 00040h ; b8 40 00 8672 call 0165eh ; e8 3a b58842 call 0165eh ; e8 77 b3 8673 8843 and byte [bp+018h], 0feh ; 80 66 18 fe 8674 8844 mov ax, strict word 0000bh ; b8 0b 00 8675 call 016ach ; e8 7e b58845 call 016ach ; e8 bb b3 8676 8846 and AL, strict byte 0bfh ; 24 bf 8677 jmp short 06 108h ; eb d68847 jmp short 062cbh ; eb d6 8678 8848 mov word [bp+018h], bx ; 89 5e 18 8679 8849 mov ax, dx ; 89 d0 … … 8683 8853 or dx, ax ; 09 c2 8684 8854 mov word [bp+012h], dx ; 89 56 12 8685 jmp near 06 08bh ; e9 47 ff8855 jmp near 0624eh ; e9 47 ff 8686 8856 cli ; fa 8687 8857 mov ax, strict word 00001h ; b8 01 00 8688 call 0 5ef3h ; e8 a8 fd8858 call 060b6h ; e8 a8 fd 8689 8859 mov di, ax ; 89 c7 8690 8860 mov ax, word [bp+014h] ; 8b 46 14 … … 8696 8866 mov byte [bp-006h], dl ; 88 56 fa 8697 8867 cmp cx, ax ; 39 c1 8698 jnc short 06 16ah ; 73 058868 jnc short 0632dh ; 73 05 8699 8869 db 0feh, 0c2h 8700 8870 ; inc dl ; fe c2 … … 8704 8874 mov ax, word [bp+014h] ; 8b 46 14 8705 8875 mov bx, strict word 0002fh ; bb 2f 00 8706 call 0167ah ; e8 01 b58876 call 0167ah ; e8 3e b3 8707 8877 mov dx, word [bp+006h] ; 8b 56 06 8708 8878 add dx, strict byte 0000ah ; 83 c2 0a 8709 8879 mov ax, word [bp+014h] ; 8b 46 14 8710 8880 mov bx, cx ; 89 cb 8711 call 0167ah ; e8 f3 b48881 call 0167ah ; e8 30 b3 8712 8882 movzx bx, byte [bp-006h] ; 0f b6 5e fa 8713 8883 mov dx, word [bp+006h] ; 8b 56 06 8714 8884 add dx, strict byte 0000ch ; 83 c2 0c 8715 8885 mov ax, word [bp+014h] ; 8b 46 14 8716 call 0165eh ; e8 c7 b48886 call 0165eh ; e8 04 b3 8717 8887 mov dx, word [bp+006h] ; 8b 56 06 8718 8888 add dx, strict byte 0000dh ; 83 c2 0d 8719 8889 mov ax, word [bp+014h] ; 8b 46 14 8720 8890 mov bx, 00093h ; bb 93 00 8721 call 0165eh ; e8 b8 b48891 call 0165eh ; e8 f5 b2 8722 8892 mov dx, word [bp+006h] ; 8b 56 06 8723 8893 add dx, strict byte 0000eh ; 83 c2 0e 8724 8894 mov ax, word [bp+014h] ; 8b 46 14 8725 8895 xor bx, bx ; 31 db 8726 call 0167ah ; e8 c6 b48896 call 0167ah ; e8 03 b3 8727 8897 mov dx, word [bp+006h] ; 8b 56 06 8728 8898 add dx, strict byte 00020h ; 83 c2 20 8729 8899 mov ax, word [bp+014h] ; 8b 46 14 8730 8900 mov bx, strict word 0ffffh ; bb ff ff 8731 call 0167ah ; e8 b7 b48901 call 0167ah ; e8 f4 b2 8732 8902 mov dx, word [bp+006h] ; 8b 56 06 8733 8903 add dx, strict byte 00022h ; 83 c2 22 8734 8904 mov ax, word [bp+014h] ; 8b 46 14 8735 8905 xor bx, bx ; 31 db 8736 call 0167ah ; e8 a9 b48906 call 0167ah ; e8 e6 b2 8737 8907 mov dx, word [bp+006h] ; 8b 56 06 8738 8908 add dx, strict byte 00024h ; 83 c2 24 8739 8909 mov ax, word [bp+014h] ; 8b 46 14 8740 8910 mov bx, strict word 0000fh ; bb 0f 00 8741 call 0165eh ; e8 7e b48911 call 0165eh ; e8 bb b2 8742 8912 mov dx, word [bp+006h] ; 8b 56 06 8743 8913 add dx, strict byte 00025h ; 83 c2 25 8744 8914 mov ax, word [bp+014h] ; 8b 46 14 8745 8915 mov bx, 0009bh ; bb 9b 00 8746 call 0165eh ; e8 6f b48916 call 0165eh ; e8 ac b2 8747 8917 mov dx, word [bp+006h] ; 8b 56 06 8748 8918 add dx, strict byte 00026h ; 83 c2 26 8749 8919 mov ax, word [bp+014h] ; 8b 46 14 8750 8920 xor bx, bx ; 31 db 8751 call 0167ah ; e8 7d b48921 call 0167ah ; e8 ba b2 8752 8922 mov ax, ss ; 8c d0 8753 8923 mov cx, ax ; 89 c1 … … 8759 8929 mov ax, word [bp+014h] ; 8b 46 14 8760 8930 mov bx, strict word 0ffffh ; bb ff ff 8761 call 0167ah ; e8 61 b48931 call 0167ah ; e8 9e b2 8762 8932 mov dx, word [bp+006h] ; 8b 56 06 8763 8933 add dx, strict byte 0002ah ; 83 c2 2a 8764 8934 mov ax, word [bp+014h] ; 8b 46 14 8765 8935 mov bx, cx ; 89 cb 8766 call 0167ah ; e8 53 b48936 call 0167ah ; e8 90 b2 8767 8937 movzx bx, byte [bp-008h] ; 0f b6 5e f8 8768 8938 mov dx, word [bp+006h] ; 8b 56 06 8769 8939 add dx, strict byte 0002ch ; 83 c2 2c 8770 8940 mov ax, word [bp+014h] ; 8b 46 14 8771 call 0165eh ; e8 27 b48941 call 0165eh ; e8 64 b2 8772 8942 mov dx, word [bp+006h] ; 8b 56 06 8773 8943 add dx, strict byte 0002dh ; 83 c2 2d 8774 8944 mov ax, word [bp+014h] ; 8b 46 14 8775 8945 mov bx, 00093h ; bb 93 00 8776 call 0165eh ; e8 18 b48946 call 0165eh ; e8 55 b2 8777 8947 mov dx, word [bp+006h] ; 8b 56 06 8778 8948 add dx, strict byte 0002eh ; 83 c2 2e 8779 8949 mov ax, word [bp+014h] ; 8b 46 14 8780 8950 xor bx, bx ; 31 db 8781 call 0167ah ; e8 26 b48951 call 0167ah ; e8 63 b2 8782 8952 mov si, word [bp+006h] ; 8b 76 06 8783 8953 mov es, [bp+014h] ; 8e 46 14 … … 8790 8960 mov word [00467h], sp ; 89 26 67 04 8791 8961 mov [00469h], ss ; 8c 16 69 04 8792 call 06 270h ; e8 00 008962 call 06433h ; e8 00 00 8793 8963 pop di ; 5f 8794 8964 add di, strict byte 0001bh ; 83 c7 1b … … 8813 8983 cld ; fc 8814 8984 rep movsw ; f3 a5 8815 call 06 2a4h ; e8 00 008985 call 06467h ; e8 00 00 8816 8986 pop ax ; 58 8817 8987 push 0f000h ; 68 00 f0 … … 8834 9004 pop DS ; 1f 8835 9005 mov ax, di ; 89 f8 8836 call 0 5ef3h ; e8 1e fc9006 call 060b6h ; e8 1e fc 8837 9007 sti ; fb 8838 9008 mov byte [bp+013h], 000h ; c6 46 13 00 8839 9009 and byte [bp+018h], 0feh ; 80 66 18 fe 8840 jmp near 06 08bh ; e9 aa fd9010 jmp near 0624eh ; e9 aa fd 8841 9011 mov ax, strict word 00031h ; b8 31 00 8842 call 016ach ; e8 c5 b39012 call 016ach ; e8 02 b2 8843 9013 xor ah, ah ; 30 e4 8844 9014 mov dx, ax ; 89 c2 8845 9015 sal dx, 008h ; c1 e2 08 8846 9016 mov ax, strict word 00030h ; b8 30 00 8847 call 016ach ; e8 b8 b39017 call 016ach ; e8 f5 b1 8848 9018 xor ah, ah ; 30 e4 8849 9019 or dx, ax ; 09 c2 8850 9020 mov word [bp+012h], dx ; 89 56 12 8851 9021 cmp dx, strict byte 0ffc0h ; 83 fa c0 8852 jbe short 06 2dah ; 76 da9022 jbe short 0649dh ; 76 da 8853 9023 mov word [bp+012h], strict word 0ffc0h ; c7 46 12 c0 ff 8854 jmp short 06 2dah ; eb d39024 jmp short 0649dh ; eb d3 8855 9025 cli ; fa 8856 9026 mov ax, strict word 00001h ; b8 01 00 8857 call 0 5ef3h ; e8 e5 fb9027 call 060b6h ; e8 e5 fb 8858 9028 mov dx, word [bp+006h] ; 8b 56 06 8859 9029 add dx, strict byte 00038h ; 83 c2 38 8860 9030 mov ax, word [bp+014h] ; 8b 46 14 8861 9031 mov bx, strict word 0ffffh ; bb ff ff 8862 call 0167ah ; e8 5d b39032 call 0167ah ; e8 9a b1 8863 9033 mov dx, word [bp+006h] ; 8b 56 06 8864 9034 add dx, strict byte 0003ah ; 83 c2 3a 8865 9035 mov ax, word [bp+014h] ; 8b 46 14 8866 9036 xor bx, bx ; 31 db 8867 call 0167ah ; e8 4f b39037 call 0167ah ; e8 8c b1 8868 9038 mov dx, word [bp+006h] ; 8b 56 06 8869 9039 add dx, strict byte 0003ch ; 83 c2 3c 8870 9040 mov ax, word [bp+014h] ; 8b 46 14 8871 9041 mov bx, strict word 0000fh ; bb 0f 00 8872 call 0165eh ; e8 24 b39042 call 0165eh ; e8 61 b1 8873 9043 mov dx, word [bp+006h] ; 8b 56 06 8874 9044 add dx, strict byte 0003dh ; 83 c2 3d 8875 9045 mov ax, word [bp+014h] ; 8b 46 14 8876 9046 mov bx, 0009bh ; bb 9b 00 8877 call 0165eh ; e8 15 b39047 call 0165eh ; e8 52 b1 8878 9048 mov dx, word [bp+006h] ; 8b 56 06 8879 9049 add dx, strict byte 0003eh ; 83 c2 3e 8880 9050 mov ax, word [bp+014h] ; 8b 46 14 8881 9051 xor bx, bx ; 31 db 8882 call 0167ah ; e8 23 b39052 call 0167ah ; e8 60 b1 8883 9053 mov AL, strict byte 011h ; b0 11 8884 9054 mov dx, strict word 00020h ; ba 20 00 … … 8910 9080 out DX, AL ; ee 8911 9081 mov si, word [bp+006h] ; 8b 76 06 8912 call 06 398h ; e8 00 009082 call 0655bh ; e8 00 00 8913 9083 pop di ; 5f 8914 9084 add di, strict byte 00018h ; 83 c7 18 … … 8938 9108 push cx ; 51 8939 9109 retf ; cb 8940 jmp near 06 08bh ; e9 b7 fc8941 mov bx, 00da 2h ; bb a20d9110 jmp near 0624eh ; e9 b7 fc 9111 mov bx, 00da8h ; bb a8 0d 8942 9112 mov cx, ds ; 8c d9 8943 9113 mov ax, strict word 00004h ; b8 04 00 8944 call 01931h ; e8 52 b59114 call 01931h ; e8 8f b3 8945 9115 push 00876h ; 68 76 08 8946 9116 push strict byte 00004h ; 6a 04 8947 call 01972h ; e8 8b b59117 call 01972h ; e8 c8 b3 8948 9118 add sp, strict byte 00004h ; 83 c4 04 8949 9119 or byte [bp+018h], 001h ; 80 4e 18 01 … … 8952 9122 or ah, 086h ; 80 cc 86 8953 9123 mov word [bp+012h], ax ; 89 46 12 8954 jmp near 06 08bh ; e9 8f fc9124 jmp near 0624eh ; e9 8f fc 8955 9125 mov word [bp+018h], cx ; 89 4e 18 8956 9126 mov word [bp+012h], ax ; 89 46 12 8957 9127 mov word [bp+00ch], 0e6f5h ; c7 46 0c f5 e6 8958 9128 mov word [bp+014h], 0f000h ; c7 46 14 00 f0 8959 jmp near 06 08bh ; e9 7c fc9129 jmp near 0624eh ; e9 7c fc 8960 9130 mov dx, strict word 0000eh ; ba 0e 00 8961 9131 mov ax, strict word 00040h ; b8 40 00 8962 call 0166ch ; e8 54 b29132 call 0166ch ; e8 91 b0 8963 9133 mov word [bp+014h], ax ; 89 46 14 8964 jmp near 06 2dah ; e9 bc fe9134 jmp near 0649dh ; e9 bc fe 8965 9135 push 008a5h ; 68 a5 08 8966 9136 push strict byte 00008h ; 6a 08 8967 jmp short 06 3e4h ; eb bf9137 jmp short 065a7h ; eb bf 8968 9138 test byte [bp+012h], 0ffh ; f6 46 12 ff 8969 jne short 06 44ah ; 75 1f9139 jne short 0660dh ; 75 1f 8970 9140 mov word [bp+012h], ax ; 89 46 12 8971 9141 mov ax, word [bp+00ch] ; 8b 46 0c 8972 9142 xor ah, ah ; 30 e4 8973 9143 cmp ax, strict word 00001h ; 3d 01 00 8974 jc short 06 443h ; 72 0b9144 jc short 06606h ; 72 0b 8975 9145 cmp ax, strict word 00003h ; 3d 03 00 8976 jnbe short 06 443h ; 77 069146 jnbe short 06606h ; 77 06 8977 9147 mov word [bp+018h], cx ; 89 4e 18 8978 jmp near 06 08bh ; e9 48 fc9148 jmp near 0624eh ; e9 48 fc 8979 9149 or byte [bp+018h], 001h ; 80 4e 18 01 8980 jmp near 06 08bh ; e9 41 fc8981 mov bx, 00da 2h ; bb a20d9150 jmp near 0624eh ; e9 41 fc 9151 mov bx, 00da8h ; bb a8 0d 8982 9152 mov cx, ds ; 8c d9 8983 9153 mov ax, strict word 00004h ; b8 04 00 8984 call 01931h ; e8 dc b49154 call 01931h ; e8 19 b3 8985 9155 push word [bp+00ch] ; ff 76 0c 8986 9156 push word [bp+012h] ; ff 76 12 8987 9157 push 008bch ; 68 bc 08 8988 9158 push strict byte 00004h ; 6a 04 8989 call 01972h ; e8 0f b59159 call 01972h ; e8 4c b3 8990 9160 add sp, strict byte 00008h ; 83 c4 08 8991 jmp short 063eah ; eb 82 8992 db 021h, 066h, 043h, 066h, 066h, 066h, 088h, 066h, 0a8h, 066h, 0c9h, 066h, 008h, 067h, 034h, 067h 8993 _int15_function32: ; 0xf6478 LB 0x37e 9161 jmp short 065adh ; eb 82 9162 in AL, strict byte 067h ; e4 67 9163 push ES ; 06 9164 push 06829h ; 68 29 68 9165 dec bx ; 4b 9166 push 0686bh ; 68 6b 68 9167 mov [bx+si-035h], gs ; 8c 68 cb 9168 push 068f7h ; 68 f7 68 9169 _int15_function32: ; 0xf663b LB 0x37e 8994 9170 push bp ; 55 8995 9171 mov bp, sp ; 89 e5 … … 9003 9179 xor ah, ah ; 30 e4 9004 9180 cmp dx, 000e8h ; 81 fa e8 00 9005 je near 06 545h ; 0f 84 ad 009181 je near 06708h ; 0f 84 ad 00 9006 9182 cmp dx, 000d0h ; 81 fa d0 00 9007 je short 06 4e0h ; 74 429183 je short 066a3h ; 74 42 9008 9184 cmp dx, 00086h ; 81 fa 86 00 9009 jne near 06 7c6h ; 0f 85 20 039185 jne near 06989h ; 0f 85 20 03 9010 9186 sti ; fb 9011 9187 mov ax, word [bp+01ch] ; 8b 46 1c … … 9026 9202 db 066h, 00bh, 0c9h 9027 9203 ; or ecx, ecx ; 66 0b c9 9028 je near 06 4ddh ; 0f 84 0e 009204 je near 066a0h ; 0f 84 0e 00 9029 9205 in AL, strict byte 061h ; e4 61 9030 9206 and AL, strict byte 010h ; 24 10 9031 9207 db 03ah, 0c4h 9032 9208 ; cmp al, ah ; 3a c4 9033 je short 06 4cfh ; 74 f89209 je short 06692h ; 74 f8 9034 9210 db 08ah, 0e0h 9035 9211 ; mov ah, al ; 8a e0 9036 9212 dec ecx ; 66 49 9037 jne short 06 4cfh ; 75 f29038 jmp near 06 7f0h ; e9 10 039213 jne short 06692h ; 75 f2 9214 jmp near 069b3h ; e9 10 03 9039 9215 cmp ax, strict word 0004fh ; 3d 4f 00 9040 jne near 06 7c6h ; 0f 85 df 029216 jne near 06989h ; 0f 85 df 02 9041 9217 cmp word [bp+016h], 05052h ; 81 7e 16 52 50 9042 jne near 06 7c6h ; 0f 85 d6 029218 jne near 06989h ; 0f 85 d6 02 9043 9219 cmp word [bp+014h], 04f43h ; 81 7e 14 43 4f 9044 jne near 06 7c6h ; 0f 85 cd 029220 jne near 06989h ; 0f 85 cd 02 9045 9221 cmp word [bp+01eh], 04d4fh ; 81 7e 1e 4f 4d 9046 jne near 06 7c6h ; 0f 85 c4 029222 jne near 06989h ; 0f 85 c4 02 9047 9223 cmp word [bp+01ch], 04445h ; 81 7e 1c 45 44 9048 jne near 06 7c6h ; 0f 85 bb 029224 jne near 06989h ; 0f 85 bb 02 9049 9225 mov ax, word [bp+00ah] ; 8b 46 0a 9050 9226 or ax, word [bp+008h] ; 0b 46 08 9051 jne near 06 7c6h ; 0f 85 b1 029227 jne near 06989h ; 0f 85 b1 02 9052 9228 mov ax, word [bp+006h] ; 8b 46 06 9053 9229 or ax, word [bp+004h] ; 0b 46 04 9054 jne near 06 7c6h ; 0f 85 a7 029230 jne near 06989h ; 0f 85 a7 02 9055 9231 mov word [bp+028h], bx ; 89 5e 28 9056 9232 mov ax, word [bp+014h] ; 8b 46 14 … … 9063 9239 mov word [bp+006h], ax ; 89 46 06 9064 9240 mov dword [bp+020h], strict dword 049413332h ; 66 c7 46 20 32 33 41 49 9065 jmp near 06 7f0h ; e9 ab 029241 jmp near 069b3h ; e9 ab 02 9066 9242 cmp ax, strict word 00020h ; 3d 20 00 9067 je short 06 554h ; 74 0a9243 je short 06717h ; 74 0a 9068 9244 cmp ax, strict word 00001h ; 3d 01 00 9069 je near 06 77bh ; 0f 84 2a 029070 jmp near 06 7c6h ; e9 72 029245 je near 0693eh ; 0f 84 2a 02 9246 jmp near 06989h ; e9 72 02 9071 9247 cmp word [bp+01ah], 0534dh ; 81 7e 1a 4d 53 9072 jne near 06 7c6h ; 0f 85 69 029248 jne near 06989h ; 0f 85 69 02 9073 9249 cmp word [bp+018h], 04150h ; 81 7e 18 50 41 9074 jne near 06 7c6h ; 0f 85 60 029250 jne near 06989h ; 0f 85 60 02 9075 9251 mov ax, strict word 00035h ; b8 35 00 9076 call 016ach ; e8 40 b19252 call 016ach ; e8 7d af 9077 9253 movzx bx, al ; 0f b6 d8 9078 9254 xor dx, dx ; 31 d2 … … 9080 9256 sal bx, 1 ; d1 e3 9081 9257 rcl dx, 1 ; d1 d2 9082 loop 06 574h ; e2 fa9258 loop 06737h ; e2 fa 9083 9259 mov ax, strict word 00034h ; b8 34 00 9084 call 016ach ; e8 2c b19260 call 016ach ; e8 69 af 9085 9261 xor ah, ah ; 30 e4 9086 9262 mov dx, bx ; 89 da … … 9090 9266 adc dx, 00100h ; 81 d2 00 01 9091 9267 cmp dx, 00100h ; 81 fa 00 01 9092 jc short 06 59ah ; 72 069093 jne short 06 5c7h ; 75 319268 jc short 0675dh ; 72 06 9269 jne short 0678ah ; 75 31 9094 9270 test bx, bx ; 85 db 9095 jnbe short 06 5c7h ; 77 2d9271 jnbe short 0678ah ; 77 2d 9096 9272 mov ax, strict word 00031h ; b8 31 00 9097 call 016ach ; e8 0c b19273 call 016ach ; e8 49 af 9098 9274 movzx bx, al ; 0f b6 d8 9099 9275 xor dx, dx ; 31 d2 … … 9101 9277 sal bx, 1 ; d1 e3 9102 9278 rcl dx, 1 ; d1 d2 9103 loop 06 5a8h ; e2 fa9279 loop 0676bh ; e2 fa 9104 9280 mov ax, strict word 00030h ; b8 30 00 9105 call 016ach ; e8 f8 b09281 call 016ach ; e8 35 af 9106 9282 xor ah, ah ; 30 e4 9107 9283 or bx, ax ; 09 c3 … … 9109 9285 sal bx, 1 ; d1 e3 9110 9286 rcl dx, 1 ; d1 d2 9111 loop 06 5bbh ; e2 fa9287 loop 0677eh ; e2 fa 9112 9288 add bx, strict byte 00000h ; 83 c3 00 9113 9289 adc dx, strict byte 00010h ; 83 d2 10 9114 9290 mov ax, strict word 00062h ; b8 62 00 9115 call 016ach ; e8 df b09291 call 016ach ; e8 1c af 9116 9292 xor ah, ah ; 30 e4 9117 9293 mov word [bp-00ah], ax ; 89 46 f6 … … 9121 9297 sal word [bp-00ah], 1 ; d1 66 f6 9122 9298 rcl word [bp-008h], 1 ; d1 56 f8 9123 loop 06 5dah ; e2 f89299 loop 0679dh ; e2 f8 9124 9300 mov ax, strict word 00061h ; b8 61 00 9125 call 016ach ; e8 c4 b09301 call 016ach ; e8 01 af 9126 9302 xor ah, ah ; 30 e4 9127 9303 or word [bp-00ah], ax ; 09 46 f6 … … 9130 9306 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 9131 9307 mov ax, strict word 00063h ; b8 63 00 9132 call 016ach ; e8 ae b09308 call 016ach ; e8 eb ae 9133 9309 mov byte [bp-004h], al ; 88 46 fc 9134 9310 mov byte [bp-006h], al ; 88 46 fa 9135 9311 mov ax, word [bp+014h] ; 8b 46 14 9136 9312 cmp ax, strict word 00007h ; 3d 07 00 9137 jnbe near 06 7c6h ; 0f 87 b8 019313 jnbe near 06989h ; 0f 87 b8 01 9138 9314 mov si, ax ; 89 c6 9139 9315 add si, ax ; 01 c6 … … 9142 9318 mov ax, dx ; 89 d0 9143 9319 adc ax, strict word 0ffffh ; 15 ff ff 9144 jmp word [cs:si+06 468h] ; 2e ff a4 68 649320 jmp word [cs:si+0662bh] ; 2e ff a4 2b 66 9145 9321 push strict byte 00001h ; 6a 01 9146 9322 push dword 000000000h ; 66 6a 00 … … 9151 9327 xor bx, bx ; 31 db 9152 9328 xor cx, cx ; 31 c9 9153 call 0 5f1fh ; e8 e7 f89329 call 060e2h ; e8 e7 f8 9154 9330 mov dword [bp+014h], strict dword 000000001h ; 66 c7 46 14 01 00 00 00 9155 jmp near 06 765h ; e9 22 019331 jmp near 06928h ; e9 22 01 9156 9332 push strict byte 00002h ; 6a 02 9157 9333 push dword 000000000h ; 66 6a 00 … … 9162 9338 mov bx, 0fc00h ; bb 00 fc 9163 9339 mov cx, strict word 00009h ; b9 09 00 9164 call 0 5f1fh ; e8 c4 f89340 call 060e2h ; e8 c4 f8 9165 9341 mov dword [bp+014h], strict dword 000000002h ; 66 c7 46 14 02 00 00 00 9166 jmp near 06 765h ; e9 ff 009342 jmp near 06928h ; e9 ff 00 9167 9343 push strict byte 00002h ; 6a 02 9168 9344 push dword 000000000h ; 66 6a 00 … … 9173 9349 xor bx, bx ; 31 db 9174 9350 mov cx, strict word 0000fh ; b9 0f 00 9175 call 0 5f1fh ; e8 a2 f89351 call 060e2h ; e8 a2 f8 9176 9352 mov dword [bp+014h], strict dword 000000003h ; 66 c7 46 14 03 00 00 00 9177 jmp near 06 765h ; e9 dd 009353 jmp near 06928h ; e9 dd 00 9178 9354 push strict byte 00001h ; 6a 01 9179 9355 push dword 000000000h ; 66 6a 00 … … 9184 9360 xor bx, bx ; 31 db 9185 9361 mov cx, strict word 00010h ; b9 10 00 9186 call 0 5f1fh ; e8 82 f89362 call 060e2h ; e8 82 f8 9187 9363 mov dword [bp+014h], strict dword 000000004h ; 66 c7 46 14 04 00 00 00 9188 jmp near 06 765h ; e9 bd 009364 jmp near 06928h ; e9 bd 00 9189 9365 push strict byte 00003h ; 6a 03 9190 9366 push dword 000000000h ; 66 6a 00 … … 9196 9372 mov cx, ax ; 89 c1 9197 9373 mov ax, si ; 89 f0 9198 call 0 5f1fh ; e8 61 f89374 call 060e2h ; e8 61 f8 9199 9375 mov dword [bp+014h], strict dword 000000005h ; 66 c7 46 14 05 00 00 00 9200 jmp near 06 765h ; e9 9c 009376 jmp near 06928h ; e9 9c 00 9201 9377 push strict byte 00002h ; 6a 02 9202 9378 push dword 000000000h ; 66 6a 00 … … 9206 9382 xor bx, bx ; 31 db 9207 9383 mov cx, strict word 0fffch ; b9 fc ff 9208 call 0 5f1fh ; e8 40 f89384 call 060e2h ; e8 40 f8 9209 9385 cmp byte [bp-004h], 000h ; 80 7e fc 00 9210 jne short 06 6ech ; 75 079386 jne short 068afh ; 75 07 9211 9387 mov ax, word [bp-008h] ; 8b 46 f8 9212 9388 test ax, ax ; 85 c0 9213 je short 06 700h ; 74 149389 je short 068c3h ; 74 14 9214 9390 mov dword [bp+014h], strict dword 000000007h ; 66 c7 46 14 07 00 00 00 9215 jmp short 06 765h ; eb 6f9391 jmp short 06928h ; eb 6f 9216 9392 mov dword [bp+014h], strict dword 000000006h ; 66 c7 46 14 06 00 00 00 9217 jmp short 06 765h ; eb 659393 jmp short 06928h ; eb 65 9218 9394 mov word [bp+014h], ax ; 89 46 14 9219 9395 mov word [bp+016h], ax ; 89 46 16 9220 jmp short 06 765h ; eb 5d9396 jmp short 06928h ; eb 5d 9221 9397 push strict byte 00002h ; 6a 02 9222 9398 push dword 000000000h ; 66 6a 00 … … 9226 9402 xor bx, bx ; 31 db 9227 9403 xor cx, cx ; 31 c9 9228 call 0 5f1fh ; e8 02 f89404 call 060e2h ; e8 02 f8 9229 9405 cmp byte [bp-004h], 000h ; 80 7e fc 00 9230 jne short 06 72ah ; 75 079406 jne short 068edh ; 75 07 9231 9407 mov ax, word [bp-008h] ; 8b 46 f8 9232 9408 test ax, ax ; 85 c0 9233 je short 06 72ch ; 74 029234 jmp short 06 6ech ; eb c09409 je short 068efh ; 74 02 9410 jmp short 068afh ; eb c0 9235 9411 mov word [bp+014h], ax ; 89 46 14 9236 9412 mov word [bp+016h], ax ; 89 46 16 9237 jmp short 06 765h ; eb 319413 jmp short 06928h ; eb 31 9238 9414 cmp byte [bp-004h], 000h ; 80 7e fc 00 9239 jne short 06 740h ; 75 069415 jne short 06903h ; 75 06 9240 9416 cmp word [bp-008h], strict byte 00000h ; 83 7e f8 00 9241 je short 06 765h ; 74 259417 je short 06928h ; 74 25 9242 9418 push strict byte 00001h ; 6a 01 9243 9419 mov al, byte [bp-006h] ; 8a 46 fa … … 9252 9428 xor bx, bx ; 31 db 9253 9429 xor cx, cx ; 31 c9 9254 call 0 5f1fh ; e8 c2 f79430 call 060e2h ; e8 c2 f7 9255 9431 xor ax, ax ; 31 c0 9256 9432 mov word [bp+014h], ax ; 89 46 14 … … 9259 9435 mov dword [bp+01ch], strict dword 000000014h ; 66 c7 46 1c 14 00 00 00 9260 9436 and byte [bp+028h], 0feh ; 80 66 28 fe 9261 jmp short 06 7f0h ; eb 759437 jmp short 069b3h ; eb 75 9262 9438 mov word [bp+028h], bx ; 89 5e 28 9263 9439 mov ax, strict word 00031h ; b8 31 00 9264 call 016ach ; e8 28 af9440 call 016ach ; e8 65 ad 9265 9441 movzx dx, al ; 0f b6 d0 9266 9442 sal dx, 008h ; c1 e2 08 9267 9443 mov ax, strict word 00030h ; b8 30 00 9268 call 016ach ; e8 1c af9444 call 016ach ; e8 59 ad 9269 9445 xor ah, ah ; 30 e4 9270 9446 or dx, ax ; 09 c2 9271 9447 mov word [bp+01ch], dx ; 89 56 1c 9272 9448 cmp dx, 03c00h ; 81 fa 00 3c 9273 jbe short 06 7a2h ; 76 059449 jbe short 06965h ; 76 05 9274 9450 mov word [bp+01ch], 03c00h ; c7 46 1c 00 3c 9275 9451 mov ax, strict word 00035h ; b8 35 00 9276 call 016ach ; e8 04 af9452 call 016ach ; e8 41 ad 9277 9453 movzx dx, al ; 0f b6 d0 9278 9454 sal dx, 008h ; c1 e2 08 9279 9455 mov ax, strict word 00034h ; b8 34 00 9280 call 016ach ; e8 f8 ae9456 call 016ach ; e8 35 ad 9281 9457 xor ah, ah ; 30 e4 9282 9458 or dx, ax ; 09 c2 … … 9285 9461 mov word [bp+020h], ax ; 89 46 20 9286 9462 mov word [bp+014h], dx ; 89 56 14 9287 jmp short 06 7f0h ; eb 2a9288 mov bx, 00da 2h ; bb a20d9463 jmp short 069b3h ; eb 2a 9464 mov bx, 00da8h ; bb a8 0d 9289 9465 mov cx, ds ; 8c d9 9290 9466 mov ax, strict word 00004h ; b8 04 00 9291 call 01931h ; e8 60 b19467 call 01931h ; e8 9d af 9292 9468 push word [bp+014h] ; ff 76 14 9293 9469 push word [bp+020h] ; ff 76 20 9294 9470 push 008bch ; 68 bc 08 9295 9471 push strict byte 00004h ; 6a 04 9296 call 01972h ; e8 93 b19472 call 01972h ; e8 d0 af 9297 9473 add sp, strict byte 00008h ; 83 c4 08 9298 9474 or byte [bp+028h], 001h ; 80 4e 28 01 … … 9305 9481 pop bp ; 5d 9306 9482 retn ; c3 9307 _inv_op_handler: ; 0xf6 7f6LB 0x1959483 _inv_op_handler: ; 0xf69b9 LB 0x195 9308 9484 push bp ; 55 9309 9485 mov bp, sp ; 89 e5 … … 9314 9490 les bx, [bp+018h] ; c4 5e 18 9315 9491 cmp byte [es:bx], 0f0h ; 26 80 3f f0 9316 jne short 06 80ch ; 75 069492 jne short 069cfh ; 75 06 9317 9493 inc word [bp+018h] ; ff 46 18 9318 jmp near 06 984h ; e9 78 019494 jmp near 06b47h ; e9 78 01 9319 9495 cmp word [es:bx], 0050fh ; 26 81 3f 0f 05 9320 jne near 06 980h ; 0f 85 6b 019496 jne near 06b43h ; 0f 85 6b 01 9321 9497 mov si, 00800h ; be 00 08 9322 9498 xor ax, ax ; 31 c0 … … 9346 9522 sal ax, 1 ; d1 e0 9347 9523 rcl dx, 1 ; d1 d2 9348 loop 06 865h ; e2 fa9524 loop 06a28h ; e2 fa 9349 9525 cmp bx, dx ; 39 d3 9350 jne short 06 873h ; 75 049526 jne short 06a36h ; 75 04 9351 9527 cmp di, ax ; 39 c7 9352 je short 06 878h ; 74 059528 je short 06a3bh ; 74 05 9353 9529 mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 9354 9530 mov es, [bp-006h] ; 8e 46 fa … … 9360 9536 sal ax, 1 ; d1 e0 9361 9537 rcl dx, 1 ; d1 d2 9362 loop 06 88dh ; e2 fa9538 loop 06a50h ; e2 fa 9363 9539 cmp di, dx ; 39 d7 9364 jne short 06 89bh ; 75 049540 jne short 06a5eh ; 75 04 9365 9541 cmp bx, ax ; 39 c3 9366 je short 06 89fh ; 74 049542 je short 06a62h ; 74 04 9367 9543 or byte [bp-008h], 002h ; 80 4e f8 02 9368 9544 push strict byte 00000h ; 6a 00 … … 9414 9590 mov ax, strict word 00008h ; b8 08 00 9415 9591 test cx, strict word 00001h ; f7 c1 01 00 9416 je near 06 93dh ; 0f 84 02 009592 je near 06b00h ; 0f 84 02 00 9417 9593 mov es, ax ; 8e c0 9418 9594 test cx, strict word 00002h ; f7 c1 02 00 9419 je near 06 965h ; 0f 84 20 009595 je near 06b28h ; 0f 84 20 00 9420 9596 mov bx, word [word ss:00000h] ; 36 8b 1e 00 00 9421 9597 mov word [word ss:00008h], bx ; 36 89 1e 08 00 … … 9434 9610 mov ss, [word ss:00020h] ; 36 8e 16 20 00 9435 9611 iret ; cf 9436 jmp short 06 984h ; eb 049612 jmp short 06b47h ; eb 04 9437 9613 sti ; fb 9438 9614 hlt ; f4 9439 jmp short 06 981h ; eb fd9615 jmp short 06b44h ; eb fd 9440 9616 lea sp, [bp-004h] ; 8d 66 fc 9441 9617 pop di ; 5f … … 9443 9619 pop bp ; 5d 9444 9620 retn ; c3 9445 init_rtc_: ; 0xf6 98bLB 0x289621 init_rtc_: ; 0xf6b4e LB 0x28 9446 9622 push bp ; 55 9447 9623 mov bp, sp ; 89 e5 … … 9449 9625 mov dx, strict word 00026h ; ba 26 00 9450 9626 mov ax, strict word 0000ah ; b8 0a 00 9451 call 016c9h ; e8 31 ad9627 call 016c9h ; e8 6e ab 9452 9628 mov dx, strict word 00002h ; ba 02 00 9453 9629 mov ax, strict word 0000bh ; b8 0b 00 9454 call 016c9h ; e8 28 ad9630 call 016c9h ; e8 65 ab 9455 9631 mov ax, strict word 0000ch ; b8 0c 00 9456 call 016ach ; e8 05 ad9632 call 016ach ; e8 42 ab 9457 9633 mov ax, strict word 0000dh ; b8 0d 00 9458 call 016ach ; e8 ff ac9634 call 016ach ; e8 3c ab 9459 9635 lea sp, [bp-002h] ; 8d 66 fe 9460 9636 pop dx ; 5a 9461 9637 pop bp ; 5d 9462 9638 retn ; c3 9463 rtc_updating_: ; 0xf6 9b3LB 0x219639 rtc_updating_: ; 0xf6b76 LB 0x21 9464 9640 push bp ; 55 9465 9641 mov bp, sp ; 89 e5 … … 9467 9643 mov dx, 061a8h ; ba a8 61 9468 9644 dec dx ; 4a 9469 je short 06 9cbh ; 74 0e9645 je short 06b8eh ; 74 0e 9470 9646 mov ax, strict word 0000ah ; b8 0a 00 9471 call 016ach ; e8 e9 ac9647 call 016ach ; e8 26 ab 9472 9648 test AL, strict byte 080h ; a8 80 9473 jne short 06 9bah ; 75 f39649 jne short 06b7dh ; 75 f3 9474 9650 xor ax, ax ; 31 c0 9475 jmp short 06 9ceh ; eb 039651 jmp short 06b91h ; eb 03 9476 9652 mov ax, strict word 00001h ; b8 01 00 9477 9653 lea sp, [bp-002h] ; 8d 66 fe … … 9479 9655 pop bp ; 5d 9480 9656 retn ; c3 9481 _int70_function: ; 0xf6 9d4LB 0xbe9657 _int70_function: ; 0xf6b97 LB 0xbe 9482 9658 push bp ; 55 9483 9659 mov bp, sp ; 89 e5 … … 9485 9661 push ax ; 50 9486 9662 mov ax, strict word 0000bh ; b8 0b 00 9487 call 016ach ; e8 cd ac9663 call 016ach ; e8 0a ab 9488 9664 mov dl, al ; 88 c2 9489 9665 mov byte [bp-004h], al ; 88 46 fc 9490 9666 mov ax, strict word 0000ch ; b8 0c 00 9491 call 016ach ; e8 c2 ac9667 call 016ach ; e8 ff aa 9492 9668 mov dh, al ; 88 c6 9493 9669 test dl, 060h ; f6 c2 60 9494 je near 06 a79h ; 0f 84 86 009670 je near 06c3ch ; 0f 84 86 00 9495 9671 test AL, strict byte 020h ; a8 20 9496 je short 06 9fbh ; 74 049672 je short 06bbeh ; 74 04 9497 9673 sti ; fb 9498 9674 int 04ah ; cd 4a 9499 9675 cli ; fa 9500 9676 test dh, 040h ; f6 c6 40 9501 je near 06 a79h ; 0f 84 77 009677 je near 06c3ch ; 0f 84 77 00 9502 9678 mov dx, 000a0h ; ba a0 00 9503 9679 mov ax, strict word 00040h ; b8 40 00 9504 call 01650h ; e8 45 ac9680 call 01650h ; e8 82 aa 9505 9681 test al, al ; 84 c0 9506 je short 06 a79h ; 74 6a9682 je short 06c3ch ; 74 6a 9507 9683 mov dx, 0009ch ; ba 9c 00 9508 9684 mov ax, strict word 00040h ; b8 40 00 9509 call 01688h ; e8 70 ac9685 call 01688h ; e8 ad aa 9510 9686 test dx, dx ; 85 d2 9511 jne short 06 a65h ; 75 499687 jne short 06c28h ; 75 49 9512 9688 cmp ax, 003d1h ; 3d d1 03 9513 jnc short 06 a65h ; 73 449689 jnc short 06c28h ; 73 44 9514 9690 mov dx, 00098h ; ba 98 00 9515 9691 mov ax, strict word 00040h ; b8 40 00 9516 call 0166ch ; e8 42 ac9692 call 0166ch ; e8 7f aa 9517 9693 mov si, ax ; 89 c6 9518 9694 mov dx, 0009ah ; ba 9a 00 9519 9695 mov ax, strict word 00040h ; b8 40 00 9520 call 0166ch ; e8 37 ac9696 call 0166ch ; e8 74 aa 9521 9697 mov cx, ax ; 89 c1 9522 9698 xor bx, bx ; 31 db 9523 9699 mov dx, 000a0h ; ba a0 00 9524 9700 mov ax, strict word 00040h ; b8 40 00 9525 call 0165eh ; e8 1c ac9701 call 0165eh ; e8 59 aa 9526 9702 mov al, byte [bp-004h] ; 8a 46 fc 9527 9703 and AL, strict byte 037h ; 24 37 9528 9704 movzx dx, al ; 0f b6 d0 9529 9705 mov ax, strict word 0000bh ; b8 0b 00 9530 call 016c9h ; e8 79 ac9706 call 016c9h ; e8 b6 aa 9531 9707 mov dx, cx ; 89 ca 9532 9708 mov ax, si ; 89 f0 9533 call 01650h ; e8 f9 ab9709 call 01650h ; e8 36 aa 9534 9710 or AL, strict byte 080h ; 0c 80 9535 9711 movzx bx, al ; 0f b6 d8 9536 9712 mov dx, cx ; 89 ca 9537 9713 mov ax, si ; 89 f0 9538 call 0165eh ; e8 fb ab9539 jmp short 06 a79h ; eb 149714 call 0165eh ; e8 38 aa 9715 jmp short 06c3ch ; eb 14 9540 9716 mov bx, ax ; 89 c3 9541 9717 add bx, 0fc2fh ; 81 c3 2f fc … … 9544 9720 mov dx, 0009ch ; ba 9c 00 9545 9721 mov ax, strict word 00040h ; b8 40 00 9546 call 0169ah ; e8 21 ac9547 call 0e030h ; e8 b4 759722 call 0169ah ; e8 5e aa 9723 call 0e030h ; e8 f1 73 9548 9724 lea sp, [bp-002h] ; 8d 66 fe 9549 9725 pop si ; 5e 9550 9726 pop bp ; 5d 9551 9727 retn ; c3 9552 test ax, 0d26ah ; a9 6a d29553 push strict byte 0fff7h ; 6a f79554 push strict byte 00029h ; 6a 299555 imul di, word [bx+si+06bh], strict byte 0ffb0h ; 6b 78 6b b09556 imul si, bx, strict byte 0006bh ; 6b f3 6b9557 dec dx ; 4a9558 9728 insb ; 6c 9559 _int1a_function: ; 0xf6a92 LB 0x1c8 9729 insb ; 6c 9730 xchg bp, ax ; 95 9731 insb ; 6c 9732 mov dx, 0ec6ch ; ba 6c ec 9733 insb ; 6c 9734 cmp bp, word [di+073h] ; 3b 6d 73 9735 insw ; 6d 9736 mov DH, strict byte 06dh ; b6 6d 9737 db 00dh 9738 outsb ; 6e 9739 _int1a_function: ; 0xf6c55 LB 0x1c8 9560 9740 push bp ; 55 9561 9741 mov bp, sp ; 89 e5 … … 9563 9743 mov al, byte [bp+013h] ; 8a 46 13 9564 9744 cmp AL, strict byte 007h ; 3c 07 9565 jnbe near 06 aceh ; 0f 87 2f 009745 jnbe near 06c91h ; 0f 87 2f 00 9566 9746 movzx bx, al ; 0f b6 d8 9567 9747 add bx, bx ; 01 db 9568 jmp word [cs:bx+06 a82h] ; 2e ff a7 82 6a9748 jmp word [cs:bx+06c45h] ; 2e ff a7 45 6c 9569 9749 cli ; fa 9570 9750 mov bx, 0046eh ; bb 6e 04 … … 9597 9777 sti ; fb 9598 9778 mov byte [bp+013h], 000h ; c6 46 13 00 9599 jmp short 06 aceh ; eb d79600 call 06 9b3h ; e8 b9 fe9779 jmp short 06c91h ; eb d7 9780 call 06b76h ; e8 b9 fe 9601 9781 test ax, ax ; 85 c0 9602 je short 06 b00h ; 74 029603 jmp short 06 aceh ; eb ce9782 je short 06cc3h ; 74 02 9783 jmp short 06c91h ; eb ce 9604 9784 xor ax, ax ; 31 c0 9605 call 016ach ; e8 a7 ab9785 call 016ach ; e8 e4 a9 9606 9786 mov byte [bp+00fh], al ; 88 46 0f 9607 9787 mov ax, strict word 00002h ; b8 02 00 9608 call 016ach ; e8 9e ab9788 call 016ach ; e8 db a9 9609 9789 mov byte [bp+010h], al ; 88 46 10 9610 9790 mov ax, strict word 00004h ; b8 04 00 9611 call 016ach ; e8 95 ab9791 call 016ach ; e8 d2 a9 9612 9792 mov bl, al ; 88 c3 9613 9793 mov byte [bp+011h], al ; 88 46 11 9614 9794 mov ax, strict word 0000bh ; b8 0b 00 9615 call 016ach ; e8 8a ab9795 call 016ach ; e8 c7 a9 9616 9796 and AL, strict byte 001h ; 24 01 9617 9797 mov byte [bp+00eh], al ; 88 46 0e 9618 jmp short 06 b6eh ; eb 459619 call 06 9b3h ; e8 87 fe9798 jmp short 06d31h ; eb 45 9799 call 06b76h ; e8 87 fe 9620 9800 test ax, ax ; 85 c0 9621 je short 06 b33h ; 74 039622 call 06 98bh ; e8 58 fe9801 je short 06cf6h ; 74 03 9802 call 06b4eh ; e8 58 fe 9623 9803 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 9624 9804 xor ax, ax ; 31 c0 9625 call 016c9h ; e8 8d ab9805 call 016c9h ; e8 ca a9 9626 9806 movzx dx, byte [bp+010h] ; 0f b6 56 10 9627 9807 mov ax, strict word 00002h ; b8 02 00 9628 call 016c9h ; e8 83 ab9808 call 016c9h ; e8 c0 a9 9629 9809 movzx dx, byte [bp+011h] ; 0f b6 56 11 9630 9810 mov ax, strict word 00004h ; b8 04 00 9631 call 016c9h ; e8 79 ab9811 call 016c9h ; e8 b6 a9 9632 9812 mov ax, strict word 0000bh ; b8 0b 00 9633 call 016ach ; e8 56 ab9813 call 016ach ; e8 93 a9 9634 9814 mov bl, al ; 88 c3 9635 9815 and bl, 060h ; 80 e3 60 … … 9640 9820 movzx dx, bl ; 0f b6 d3 9641 9821 mov ax, strict word 0000bh ; b8 0b 00 9642 call 016c9h ; e8 5b ab9822 call 016c9h ; e8 98 a9 9643 9823 mov byte [bp+013h], 000h ; c6 46 13 00 9644 9824 mov byte [bp+012h], bl ; 88 5e 12 9645 jmp near 06 aceh ; e9 56 ff9825 jmp near 06c91h ; e9 56 ff 9646 9826 mov byte [bp+013h], 000h ; c6 46 13 00 9647 call 06 9b3h ; e8 34 fe9827 call 06b76h ; e8 34 fe 9648 9828 test ax, ax ; 85 c0 9649 je short 06 b86h ; 74 039650 jmp near 06 aceh ; e9 48 ff9829 je short 06d49h ; 74 03 9830 jmp near 06c91h ; e9 48 ff 9651 9831 mov ax, strict word 00009h ; b8 09 00 9652 call 016ach ; e8 20 ab9832 call 016ach ; e8 5d a9 9653 9833 mov byte [bp+010h], al ; 88 46 10 9654 9834 mov ax, strict word 00008h ; b8 08 00 9655 call 016ach ; e8 17 ab9835 call 016ach ; e8 54 a9 9656 9836 mov byte [bp+00fh], al ; 88 46 0f 9657 9837 mov ax, strict word 00007h ; b8 07 00 9658 call 016ach ; e8 0e ab9838 call 016ach ; e8 4b a9 9659 9839 mov byte [bp+00eh], al ; 88 46 0e 9660 9840 mov ax, strict word 00032h ; b8 32 00 9661 call 016ach ; e8 05 ab9841 call 016ach ; e8 42 a9 9662 9842 mov byte [bp+011h], al ; 88 46 11 9663 9843 mov byte [bp+012h], al ; 88 46 12 9664 jmp near 06 aceh ; e9 1e ff9665 call 06 9b3h ; e8 00 fe9844 jmp near 06c91h ; e9 1e ff 9845 call 06b76h ; e8 00 fe 9666 9846 test ax, ax ; 85 c0 9667 je short 06 bbdh ; 74 069668 call 06 98bh ; e8 d1 fd9669 jmp near 06 aceh ; e9 11 ff9847 je short 06d80h ; 74 06 9848 call 06b4eh ; e8 d1 fd 9849 jmp near 06c91h ; e9 11 ff 9670 9850 movzx dx, byte [bp+010h] ; 0f b6 56 10 9671 9851 mov ax, strict word 00009h ; b8 09 00 9672 call 016c9h ; e8 02 ab9852 call 016c9h ; e8 3f a9 9673 9853 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 9674 9854 mov ax, strict word 00008h ; b8 08 00 9675 call 016c9h ; e8 f8 aa9855 call 016c9h ; e8 35 a9 9676 9856 movzx dx, byte [bp+00eh] ; 0f b6 56 0e 9677 9857 mov ax, strict word 00007h ; b8 07 00 9678 call 016c9h ; e8 ee aa9858 call 016c9h ; e8 2b a9 9679 9859 movzx dx, byte [bp+011h] ; 0f b6 56 11 9680 9860 mov ax, strict word 00032h ; b8 32 00 9681 call 016c9h ; e8 e4 aa9861 call 016c9h ; e8 21 a9 9682 9862 mov ax, strict word 0000bh ; b8 0b 00 9683 call 016ach ; e8 c1 aa9863 call 016ach ; e8 fe a8 9684 9864 mov bl, al ; 88 c3 9685 9865 and bl, 07fh ; 80 e3 7f 9686 jmp near 06 b65h ; e9 72 ff9866 jmp near 06d28h ; e9 72 ff 9687 9867 mov ax, strict word 0000bh ; b8 0b 00 9688 call 016ach ; e8 b3 aa9868 call 016ach ; e8 f0 a8 9689 9869 mov bl, al ; 88 c3 9690 9870 mov word [bp+012h], strict word 00000h ; c7 46 12 00 00 9691 9871 test AL, strict byte 020h ; a8 20 9692 je short 06 c07h ; 74 039693 jmp near 06 aceh ; e9 c7 fe9694 call 06 9b3h ; e8 a9 fd9872 je short 06dcah ; 74 03 9873 jmp near 06c91h ; e9 c7 fe 9874 call 06b76h ; e8 a9 fd 9695 9875 test ax, ax ; 85 c0 9696 je short 06 c11h ; 74 039697 call 06 98bh ; e8 7a fd9876 je short 06dd4h ; 74 03 9877 call 06b4eh ; e8 7a fd 9698 9878 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 9699 9879 mov ax, strict word 00001h ; b8 01 00 9700 call 016c9h ; e8 ae aa9880 call 016c9h ; e8 eb a8 9701 9881 movzx dx, byte [bp+010h] ; 0f b6 56 10 9702 9882 mov ax, strict word 00003h ; b8 03 00 9703 call 016c9h ; e8 a4 aa9883 call 016c9h ; e8 e1 a8 9704 9884 movzx dx, byte [bp+011h] ; 0f b6 56 11 9705 9885 mov ax, strict word 00005h ; b8 05 00 9706 call 016c9h ; e8 9a aa9886 call 016c9h ; e8 d7 a8 9707 9887 mov dx, 000a1h ; ba a1 00 9708 9888 in AL, DX ; ec … … 9716 9896 movzx dx, al ; 0f b6 d0 9717 9897 mov ax, strict word 0000bh ; b8 0b 00 9718 call 016c9h ; e8 82 aa9719 jmp near 06 aceh ; e9 84 fe9898 call 016c9h ; e8 bf a8 9899 jmp near 06c91h ; e9 84 fe 9720 9900 mov ax, strict word 0000bh ; b8 0b 00 9721 call 016ach ; e8 5c aa9901 call 016ach ; e8 99 a8 9722 9902 mov bl, al ; 88 c3 9723 9903 and AL, strict byte 057h ; 24 57 9724 9904 movzx dx, al ; 0f b6 d0 9725 jmp near 06 b68h ; e9 0e ff9726 send_to_mouse_ctrl_: ; 0xf6 c5aLB 0x349905 jmp near 06d2bh ; e9 0e ff 9906 send_to_mouse_ctrl_: ; 0xf6e1d LB 0x34 9727 9907 push bp ; 55 9728 9908 mov bp, sp ; 89 e5 … … 9735 9915 ; sub ah, ah ; 2a e4 9736 9916 test AL, strict byte 002h ; a8 02 9737 je short 06 c79h ; 74 0e9917 je short 06e3ch ; 74 0e 9738 9918 push 008f6h ; 68 f6 08 9739 push 011 6ah ; 68 6a119919 push 01170h ; 68 70 11 9740 9920 push strict byte 00007h ; 6a 07 9741 call 01972h ; e8 fc ac9921 call 01972h ; e8 39 ab 9742 9922 add sp, strict byte 00006h ; 83 c4 06 9743 9923 mov AL, strict byte 0d4h ; b0 d4 … … 9753 9933 pop bp ; 5d 9754 9934 retn ; c3 9755 get_mouse_data_: ; 0xf6 c8eLB 0x3b9935 get_mouse_data_: ; 0xf6e51 LB 0x3b 9756 9936 push bp ; 55 9757 9937 mov bp, sp ; 89 e5 … … 9767 9947 and ax, strict word 00021h ; 25 21 00 9768 9948 cmp ax, strict word 00021h ; 3d 21 00 9769 je short 06 cafh ; 74 079949 je short 06e72h ; 74 07 9770 9950 test cx, cx ; 85 c9 9771 je short 06 cafh ; 74 039951 je short 06e72h ; 74 03 9772 9952 dec cx ; 49 9773 jmp short 06 c9ah ; eb eb9953 jmp short 06e5dh ; eb eb 9774 9954 test cx, cx ; 85 c9 9775 jne short 06 cb7h ; 75 049955 jne short 06e7ah ; 75 04 9776 9956 mov AL, strict byte 001h ; b0 01 9777 jmp short 06 cc2h ; eb 0b9957 jmp short 06e85h ; eb 0b 9778 9958 mov dx, strict word 00060h ; ba 60 00 9779 9959 in AL, DX ; ec … … 9787 9967 pop bp ; 5d 9788 9968 retn ; c3 9789 set_kbd_command_byte_: ; 0xf6 cc9LB 0x329969 set_kbd_command_byte_: ; 0xf6e8c LB 0x32 9790 9970 push bp ; 55 9791 9971 mov bp, sp ; 89 e5 … … 9798 9978 ; sub ah, ah ; 2a e4 9799 9979 test AL, strict byte 002h ; a8 02 9800 je short 06 ce8h ; 74 0e9980 je short 06eabh ; 74 0e 9801 9981 push 00900h ; 68 00 09 9802 push 011 6ah ; 68 6a119982 push 01170h ; 68 70 11 9803 9983 push strict byte 00007h ; 6a 07 9804 call 01972h ; e8 8d ac9984 call 01972h ; e8 ca aa 9805 9985 add sp, strict byte 00006h ; 83 c4 06 9806 9986 mov AL, strict byte 060h ; b0 60 … … 9815 9995 pop bp ; 5d 9816 9996 retn ; c3 9817 _int74_function: ; 0xf6 cfbLB 0xca9997 _int74_function: ; 0xf6ebe LB 0xca 9818 9998 push bp ; 55 9819 9999 mov bp, sp ; 89 e5 … … 9821 10001 mov dx, strict word 0000eh ; ba 0e 00 9822 10002 mov ax, strict word 00040h ; b8 40 00 9823 call 0166ch ; e8 62 a910003 call 0166ch ; e8 9f a7 9824 10004 mov cx, ax ; 89 c1 9825 10005 mov word [bp+004h], strict word 00000h ; c7 46 04 00 00 … … 9830 10010 and AL, strict byte 021h ; 24 21 9831 10011 cmp AL, strict byte 021h ; 3c 21 9832 jne near 06 db1h ; 0f 85 92 0010012 jne near 06f74h ; 0f 85 92 00 9833 10013 mov dx, strict word 00060h ; ba 60 00 9834 10014 in AL, DX ; ec … … 9838 10018 mov dx, strict word 00026h ; ba 26 00 9839 10019 mov ax, cx ; 89 c8 9840 call 01650h ; e8 21 a910020 call 01650h ; e8 5e a7 9841 10021 mov byte [bp-006h], al ; 88 46 fa 9842 10022 mov dx, strict word 00027h ; ba 27 00 9843 10023 mov ax, cx ; 89 c8 9844 call 01650h ; e8 16 a910024 call 01650h ; e8 53 a7 9845 10025 mov byte [bp-008h], al ; 88 46 f8 9846 10026 test AL, strict byte 080h ; a8 80 9847 je short 06 db1h ; 74 7010027 je short 06f74h ; 74 70 9848 10028 mov al, byte [bp-008h] ; 8a 46 f8 9849 10029 and AL, strict byte 007h ; 24 07 … … 9856 10036 add dx, strict byte 00028h ; 83 c2 28 9857 10037 mov ax, cx ; 89 c8 9858 call 0165eh ; e8 00 a910038 call 0165eh ; e8 3d a7 9859 10039 mov al, byte [bp-004h] ; 8a 46 fc 9860 10040 cmp al, byte [bp-002h] ; 3a 46 fe 9861 jc short 06 da2h ; 72 3c10041 jc short 06f65h ; 72 3c 9862 10042 mov dx, strict word 00028h ; ba 28 00 9863 10043 mov ax, cx ; 89 c8 9864 call 01650h ; e8 e2 a810044 call 01650h ; e8 1f a7 9865 10045 xor ah, ah ; 30 e4 9866 10046 mov word [bp+00ch], ax ; 89 46 0c 9867 10047 mov dx, strict word 00029h ; ba 29 00 9868 10048 mov ax, cx ; 89 c8 9869 call 01650h ; e8 d5 a810049 call 01650h ; e8 12 a7 9870 10050 xor ah, ah ; 30 e4 9871 10051 mov word [bp+00ah], ax ; 89 46 0a 9872 10052 mov dx, strict word 0002ah ; ba 2a 00 9873 10053 mov ax, cx ; 89 c8 9874 call 01650h ; e8 c8 a810054 call 01650h ; e8 05 a7 9875 10055 xor ah, ah ; 30 e4 9876 10056 mov word [bp+008h], ax ; 89 46 08 … … 9879 10059 mov byte [bp-006h], ah ; 88 66 fa 9880 10060 test byte [bp-008h], 080h ; f6 46 f8 80 9881 je short 06 da5h ; 74 0a10061 je short 06f68h ; 74 0a 9882 10062 mov word [bp+004h], strict word 00001h ; c7 46 04 01 00 9883 jmp short 06 da5h ; eb 0310063 jmp short 06f68h ; eb 03 9884 10064 inc byte [bp-006h] ; fe 46 fa 9885 10065 movzx bx, byte [bp-006h] ; 0f b6 5e fa 9886 10066 mov dx, strict word 00026h ; ba 26 00 9887 10067 mov ax, cx ; 89 c8 9888 call 0165eh ; e8 ad a810068 call 0165eh ; e8 ea a6 9889 10069 mov sp, bp ; 89 ec 9890 10070 pop bp ; 5d 9891 10071 retn ; c3 9892 or word [bp+07fh], bp ; 09 6e 7f 9893 outsb ; 6e 9894 add ch, byte [bx-06dh] ; 02 6f 93 10072 int3 ; cc 9895 10073 outsw ; 6f 9896 add word [bx+si+055h], si ; 01 70 55 9897 outsb ; 6e 9898 sub word [bx+si-012h], si ; 29 70 ee 9899 db 070h 9900 _int15_function_mouse: ; 0xf6dc5 LB 0x38b 10074 inc dx ; 42 10075 jo short 06f42h ; 70 c5 10076 jo short 06fd5h ; 70 56 10077 jno short 06f45h ; 71 c4 10078 jno short 06f9bh ; 71 18 10079 jo short 06f71h ; 70 ec 10080 jno short 06f38h ; 71 b1 10081 db 072h 10082 _int15_function_mouse: ; 0xf6f88 LB 0x38b 9901 10083 push bp ; 55 9902 10084 mov bp, sp ; 89 e5 … … 9905 10087 mov dx, strict word 0000eh ; ba 0e 00 9906 10088 mov ax, strict word 00040h ; b8 40 00 9907 call 0166ch ; e8 97 a810089 call 0166ch ; e8 d4 a6 9908 10090 mov cx, ax ; 89 c1 9909 10091 cmp byte [bp+012h], 007h ; 80 7e 12 07 9910 jbe short 06 de8h ; 76 0b10092 jbe short 06fabh ; 76 0b 9911 10093 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 9912 10094 mov byte [bp+013h], 001h ; c6 46 13 01 9913 jmp near 07 14ah ; e9 62 0310095 jmp near 0730dh ; e9 62 03 9914 10096 mov ax, strict word 00065h ; b8 65 00 9915 call 06 cc9h ; e8 db fe10097 call 06e8ch ; e8 db fe 9916 10098 and word [bp+018h], strict byte 0fffeh ; 83 66 18 fe 9917 10099 mov byte [bp+013h], 000h ; c6 46 13 00 9918 10100 mov al, byte [bp+012h] ; 8a 46 12 9919 10101 cmp AL, strict byte 007h ; 3c 07 9920 jnbe near 07 131h ; 0f 87 32 0310102 jnbe near 072f4h ; 0f 87 32 03 9921 10103 movzx si, al ; 0f b6 f0 9922 10104 add si, si ; 01 f6 9923 jmp word [cs:si+06 db5h] ; 2e ff a4 b5 6d10105 jmp word [cs:si+06f78h] ; 2e ff a4 78 6f 9924 10106 cmp byte [bp+00dh], 001h ; 80 7e 0d 01 9925 jnbe near 07 13ch ; 0f 87 2b 0310107 jnbe near 072ffh ; 0f 87 2b 03 9926 10108 mov dx, strict word 00027h ; ba 27 00 9927 10109 mov ax, cx ; 89 c8 9928 call 01650h ; e8 37 a810110 call 01650h ; e8 74 a6 9929 10111 test AL, strict byte 080h ; a8 80 9930 jne short 06 e28h ; 75 0b10112 jne short 06febh ; 75 0b 9931 10113 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 9932 10114 mov byte [bp+013h], 005h ; c6 46 13 05 9933 jmp near 07 144h ; e9 1c 0310115 jmp near 07307h ; e9 1c 03 9934 10116 cmp byte [bp+00dh], 000h ; 80 7e 0d 00 9935 10117 db 00fh, 094h, 0c0h … … 9937 10119 add AL, strict byte 0f4h ; 04 f4 9938 10120 xor ah, ah ; 30 e4 9939 call 06 c5ah ; e8 24 fe10121 call 06e1dh ; e8 24 fe 9940 10122 test al, al ; 84 c0 9941 jne near 07 0cah ; 0f 85 8e 0210123 jne near 0728dh ; 0f 85 8e 02 9942 10124 mov dx, ss ; 8c d2 9943 10125 lea ax, [bp-008h] ; 8d 46 f8 9944 call 06 c8eh ; e8 4a fe10126 call 06e51h ; e8 4a fe 9945 10127 test al, al ; 84 c0 9946 je near 07 144h ; 0f 84 fa 0210128 je near 07307h ; 0f 84 fa 02 9947 10129 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 9948 jne near 07 0cah ; 0f 85 78 029949 jmp near 07 144h ; e9 ef 0210130 jne near 0728dh ; 0f 85 78 02 10131 jmp near 07307h ; e9 ef 02 9950 10132 mov al, byte [bp+00dh] ; 8a 46 0d 9951 10133 cmp AL, strict byte 001h ; 3c 01 9952 jc short 0 6e60h ; 72 0410134 jc short 07023h ; 72 04 9953 10135 cmp AL, strict byte 008h ; 3c 08 9954 jbe short 0 6e63h ; 76 039955 jmp near 0 6ff6h ; e9 93 0110136 jbe short 07026h ; 76 03 10137 jmp near 071b9h ; e9 93 01 9956 10138 mov dx, strict word 00027h ; ba 27 00 9957 10139 mov ax, cx ; 89 c8 9958 call 01650h ; e8 e5 a710140 call 01650h ; e8 22 a6 9959 10141 mov ah, byte [bp+00dh] ; 8a 66 0d 9960 10142 db 0feh, 0cch … … 9965 10147 mov dx, strict word 00027h ; ba 27 00 9966 10148 mov ax, cx ; 89 c8 9967 call 0165eh ; e8 df a710149 call 0165eh ; e8 1c a6 9968 10150 mov dx, strict word 00026h ; ba 26 00 9969 10151 mov ax, cx ; 89 c8 9970 call 01650h ; e8 c9 a710152 call 01650h ; e8 06 a6 9971 10153 and AL, strict byte 0f8h ; 24 f8 9972 10154 movzx bx, al ; 0f b6 d8 9973 10155 mov dx, strict word 00026h ; ba 26 00 9974 10156 mov ax, cx ; 89 c8 9975 call 0165eh ; e8 ca a710157 call 0165eh ; e8 07 a6 9976 10158 mov ax, 000ffh ; b8 ff 00 9977 call 06 c5ah ; e8 c0 fd10159 call 06e1dh ; e8 c0 fd 9978 10160 test al, al ; 84 c0 9979 jne near 07 0cah ; 0f 85 2a 0210161 jne near 0728dh ; 0f 85 2a 02 9980 10162 mov dx, ss ; 8c d2 9981 10163 lea ax, [bp-004h] ; 8d 46 fc 9982 call 06 c8eh ; e8 e6 fd10164 call 06e51h ; e8 e6 fd 9983 10165 mov cl, al ; 88 c1 9984 10166 cmp byte [bp-004h], 0feh ; 80 7e fc fe 9985 jne short 0 6ebbh ; 75 0b10167 jne short 0707eh ; 75 0b 9986 10168 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 9987 10169 mov byte [bp+013h], 004h ; c6 46 13 04 9988 jmp near 07 144h ; e9 89 0210170 jmp near 07307h ; e9 89 02 9989 10171 cmp byte [bp-004h], 0fah ; 80 7e fc fa 9990 je short 0 6ed1h ; 74 1010172 je short 07094h ; 74 10 9991 10173 movzx ax, byte [bp-004h] ; 0f b6 46 fc 9992 10174 push ax ; 50 9993 10175 push 0090bh ; 68 0b 09 9994 10176 push strict byte 00007h ; 6a 07 9995 call 01972h ; e8 a4 aa10177 call 01972h ; e8 e1 a8 9996 10178 add sp, strict byte 00006h ; 83 c4 06 9997 10179 test cl, cl ; 84 c9 9998 jne near 07 0cah ; 0f 85 f3 0110180 jne near 0728dh ; 0f 85 f3 01 9999 10181 mov dx, ss ; 8c d2 10000 10182 lea ax, [bp-008h] ; 8d 46 f8 10001 call 06 c8eh ; e8 af fd10183 call 06e51h ; e8 af fd 10002 10184 test al, al ; 84 c0 10003 jne near 07 0cah ; 0f 85 e5 0110185 jne near 0728dh ; 0f 85 e5 01 10004 10186 mov dx, ss ; 8c d2 10005 10187 lea ax, [bp-006h] ; 8d 46 fa 10006 call 06 c8eh ; e8 a1 fd10188 call 06e51h ; e8 a1 fd 10007 10189 test al, al ; 84 c0 10008 jne near 07 0cah ; 0f 85 d7 0110190 jne near 0728dh ; 0f 85 d7 01 10009 10191 mov al, byte [bp-008h] ; 8a 46 f8 10010 10192 mov byte [bp+00ch], al ; 88 46 0c 10011 10193 mov al, byte [bp-006h] ; 8a 46 fa 10012 10194 mov byte [bp+00dh], al ; 88 46 0d 10013 jmp near 07 144h ; e9 42 0210195 jmp near 07307h ; e9 42 02 10014 10196 mov al, byte [bp+00dh] ; 8a 46 0d 10015 10197 cmp AL, strict byte 003h ; 3c 03 10016 jc short 0 6f19h ; 72 1010017 jbe short 0 6f37h ; 76 2c10198 jc short 070dch ; 72 10 10199 jbe short 070fah ; 76 2c 10018 10200 cmp AL, strict byte 006h ; 3c 06 10019 je short 0 6f49h ; 74 3a10201 je short 0710ch ; 74 3a 10020 10202 cmp AL, strict byte 005h ; 3c 05 10021 je short 0 6f43h ; 74 3010203 je short 07106h ; 74 30 10022 10204 cmp AL, strict byte 004h ; 3c 04 10023 je short 0 6f3dh ; 74 2610024 jmp short 0 6f4fh ; eb 3610205 je short 07100h ; 74 26 10206 jmp short 07112h ; eb 36 10025 10207 cmp AL, strict byte 002h ; 3c 02 10026 je short 0 6f31h ; 74 1410208 je short 070f4h ; 74 14 10027 10209 cmp AL, strict byte 001h ; 3c 01 10028 je short 0 6f2bh ; 74 0a10210 je short 070eeh ; 74 0a 10029 10211 test al, al ; 84 c0 10030 jne short 0 6f4fh ; 75 2a10212 jne short 07112h ; 75 2a 10031 10213 mov byte [bp-008h], 00ah ; c6 46 f8 0a 10032 jmp short 0 6f53h ; eb 2810214 jmp short 07116h ; eb 28 10033 10215 mov byte [bp-008h], 014h ; c6 46 f8 14 10034 jmp short 0 6f53h ; eb 2210216 jmp short 07116h ; eb 22 10035 10217 mov byte [bp-008h], 028h ; c6 46 f8 28 10036 jmp short 0 6f53h ; eb 1c10218 jmp short 07116h ; eb 1c 10037 10219 mov byte [bp-008h], 03ch ; c6 46 f8 3c 10038 jmp short 0 6f53h ; eb 1610220 jmp short 07116h ; eb 16 10039 10221 mov byte [bp-008h], 050h ; c6 46 f8 50 10040 jmp short 0 6f53h ; eb 1010222 jmp short 07116h ; eb 10 10041 10223 mov byte [bp-008h], 064h ; c6 46 f8 64 10042 jmp short 0 6f53h ; eb 0a10224 jmp short 07116h ; eb 0a 10043 10225 mov byte [bp-008h], 0c8h ; c6 46 f8 c8 10044 jmp short 0 6f53h ; eb 0410226 jmp short 07116h ; eb 04 10045 10227 mov byte [bp-008h], 000h ; c6 46 f8 00 10046 10228 cmp byte [bp-008h], 000h ; 80 7e f8 00 10047 jbe short 0 6f88h ; 76 2f10229 jbe short 0714bh ; 76 2f 10048 10230 mov ax, 000f3h ; b8 f3 00 10049 call 06 c5ah ; e8 fb fc10231 call 06e1dh ; e8 fb fc 10050 10232 test al, al ; 84 c0 10051 jne short 0 6f7dh ; 75 1a10233 jne short 07140h ; 75 1a 10052 10234 mov dx, ss ; 8c d2 10053 10235 lea ax, [bp-006h] ; 8d 46 fa 10054 call 06 c8eh ; e8 23 fd10236 call 06e51h ; e8 23 fd 10055 10237 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10056 call 06 c5ah ; e8 e8 fc10238 call 06e1dh ; e8 e8 fc 10057 10239 mov dx, ss ; 8c d2 10058 10240 lea ax, [bp-006h] ; 8d 46 fa 10059 call 06 c8eh ; e8 14 fd10060 jmp near 07 144h ; e9 c7 0110241 call 06e51h ; e8 14 fd 10242 jmp near 07307h ; e9 c7 01 10061 10243 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10062 10244 mov byte [bp+013h], 003h ; c6 46 13 03 10063 jmp near 07 144h ; e9 bc 0110245 jmp near 07307h ; e9 bc 01 10064 10246 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10065 10247 mov byte [bp+013h], 002h ; c6 46 13 02 10066 jmp near 07 144h ; e9 b1 0110248 jmp near 07307h ; e9 b1 01 10067 10249 cmp byte [bp+00dh], 004h ; 80 7e 0d 04 10068 jnc short 0 6ff6h ; 73 5d10250 jnc short 071b9h ; 73 5d 10069 10251 mov ax, 000e8h ; b8 e8 00 10070 call 06 c5ah ; e8 bb fc10252 call 06e1dh ; e8 bb fc 10071 10253 test al, al ; 84 c0 10072 jne short 0 6febh ; 75 4810254 jne short 071aeh ; 75 48 10073 10255 mov dx, ss ; 8c d2 10074 10256 lea ax, [bp-008h] ; 8d 46 f8 10075 call 06 c8eh ; e8 e3 fc10257 call 06e51h ; e8 e3 fc 10076 10258 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10077 je short 0 6fc1h ; 74 1010259 je short 07184h ; 74 10 10078 10260 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10079 10261 push ax ; 50 10080 10262 push 00936h ; 68 36 09 10081 10263 push strict byte 00007h ; 6a 07 10082 call 01972h ; e8 b4 a910264 call 01972h ; e8 f1 a7 10083 10265 add sp, strict byte 00006h ; 83 c4 06 10084 10266 movzx ax, byte [bp+00dh] ; 0f b6 46 0d 10085 call 06 c5ah ; e8 92 fc10267 call 06e1dh ; e8 92 fc 10086 10268 mov dx, ss ; 8c d2 10087 10269 lea ax, [bp-008h] ; 8d 46 f8 10088 call 06 c8eh ; e8 be fc10270 call 06e51h ; e8 be fc 10089 10271 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10090 je near 07 144h ; 0f 84 6c 0110272 je near 07307h ; 0f 84 6c 01 10091 10273 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10092 10274 push ax ; 50 10093 10275 push 00936h ; 68 36 09 10094 10276 push strict byte 00007h ; 6a 07 10095 call 01972h ; e8 8d a910277 call 01972h ; e8 ca a7 10096 10278 add sp, strict byte 00006h ; 83 c4 06 10097 jmp near 07 144h ; e9 59 0110279 jmp near 07307h ; e9 59 01 10098 10280 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10099 10281 mov byte [bp+013h], 003h ; c6 46 13 03 10100 jmp near 07 144h ; e9 4e 0110282 jmp near 07307h ; e9 4e 01 10101 10283 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10102 10284 mov byte [bp+013h], 002h ; c6 46 13 02 10103 jmp near 07 144h ; e9 43 0110285 jmp near 07307h ; e9 43 01 10104 10286 mov ax, 000f2h ; b8 f2 00 10105 call 06 c5ah ; e8 53 fc10287 call 06e1dh ; e8 53 fc 10106 10288 test al, al ; 84 c0 10107 jne short 07 01eh ; 75 1310289 jne short 071e1h ; 75 13 10108 10290 mov dx, ss ; 8c d2 10109 10291 lea ax, [bp-008h] ; 8d 46 f8 10110 call 06 c8eh ; e8 7b fc10292 call 06e51h ; e8 7b fc 10111 10293 mov dx, ss ; 8c d2 10112 10294 lea ax, [bp-006h] ; 8d 46 fa 10113 call 06 c8eh ; e8 73 fc10114 jmp near 0 6ef9h ; e9 db fe10295 call 06e51h ; e8 73 fc 10296 jmp near 070bch ; e9 db fe 10115 10297 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10116 10298 mov byte [bp+013h], 003h ; c6 46 13 03 10117 jmp near 07 144h ; e9 1b 0110299 jmp near 07307h ; e9 1b 01 10118 10300 mov al, byte [bp+00dh] ; 8a 46 0d 10119 10301 test al, al ; 84 c0 10120 jbe short 07 037h ; 76 0710302 jbe short 071fah ; 76 07 10121 10303 cmp AL, strict byte 002h ; 3c 02 10122 jbe short 07 0a0h ; 76 6c10123 jmp near 07 0d4h ; e9 9d 0010304 jbe short 07263h ; 76 6c 10305 jmp near 07297h ; e9 9d 00 10124 10306 mov ax, 000e9h ; b8 e9 00 10125 call 06 c5ah ; e8 1d fc10307 call 06e1dh ; e8 1d fc 10126 10308 test al, al ; 84 c0 10127 jne near 07 0cah ; 0f 85 87 0010309 jne near 0728dh ; 0f 85 87 00 10128 10310 mov dx, ss ; 8c d2 10129 10311 lea ax, [bp-008h] ; 8d 46 f8 10130 call 06 c8eh ; e8 43 fc10312 call 06e51h ; e8 43 fc 10131 10313 mov cl, al ; 88 c1 10132 10314 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10133 je short 07 063h ; 74 1010315 je short 07226h ; 74 10 10134 10316 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10135 10317 push ax ; 50 10136 10318 push 00936h ; 68 36 09 10137 10319 push strict byte 00007h ; 6a 07 10138 call 01972h ; e8 12 a910320 call 01972h ; e8 4f a7 10139 10321 add sp, strict byte 00006h ; 83 c4 06 10140 10322 test cl, cl ; 84 c9 10141 jne short 07 0cah ; 75 6310323 jne short 0728dh ; 75 63 10142 10324 mov dx, ss ; 8c d2 10143 10325 lea ax, [bp-008h] ; 8d 46 f8 10144 call 06 c8eh ; e8 1f fc10326 call 06e51h ; e8 1f fc 10145 10327 test al, al ; 84 c0 10146 jne short 07 0cah ; 75 5710328 jne short 0728dh ; 75 57 10147 10329 mov dx, ss ; 8c d2 10148 10330 lea ax, [bp-006h] ; 8d 46 fa 10149 call 06 c8eh ; e8 13 fc10331 call 06e51h ; e8 13 fc 10150 10332 test al, al ; 84 c0 10151 jne short 07 0cah ; 75 4b10333 jne short 0728dh ; 75 4b 10152 10334 mov dx, ss ; 8c d2 10153 10335 lea ax, [bp-004h] ; 8d 46 fc 10154 call 06 c8eh ; e8 07 fc10336 call 06e51h ; e8 07 fc 10155 10337 test al, al ; 84 c0 10156 jne short 07 0cah ; 75 3f10338 jne short 0728dh ; 75 3f 10157 10339 mov al, byte [bp-008h] ; 8a 46 f8 10158 10340 mov byte [bp+00ch], al ; 88 46 0c … … 10161 10343 mov al, byte [bp-004h] ; 8a 46 fc 10162 10344 mov byte [bp+00eh], al ; 88 46 0e 10163 jmp near 07 144h ; e9 a4 0010345 jmp near 07307h ; e9 a4 00 10164 10346 cmp AL, strict byte 001h ; 3c 01 10165 jne short 07 0a9h ; 75 0510347 jne short 0726ch ; 75 05 10166 10348 mov ax, 000e6h ; b8 e6 00 10167 jmp short 07 0ach ; eb 0310349 jmp short 0726fh ; eb 03 10168 10350 mov ax, 000e7h ; b8 e7 00 10169 call 06 c5ah ; e8 ab fb10351 call 06e1dh ; e8 ab fb 10170 10352 mov cl, al ; 88 c1 10171 10353 test cl, cl ; 84 c9 10172 jne short 07 0c4h ; 75 0f10354 jne short 07287h ; 75 0f 10173 10355 mov dx, ss ; 8c d2 10174 10356 lea ax, [bp-008h] ; 8d 46 f8 10175 call 06 c8eh ; e8 d1 fb10357 call 06e51h ; e8 d1 fb 10176 10358 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10177 10359 db 00fh, 095h, 0c1h 10178 10360 ; setne cl ; 0f 95 c1 10179 10361 test cl, cl ; 84 c9 10180 je near 07 144h ; 0f 84 7a 0010362 je near 07307h ; 0f 84 7a 00 10181 10363 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10182 10364 mov byte [bp+013h], 003h ; c6 46 13 03 10183 jmp short 07 144h ; eb 7010365 jmp short 07307h ; eb 70 10184 10366 movzx ax, byte [bp+00dh] ; 0f b6 46 0d 10185 10367 push ax ; 50 10186 10368 push 00962h ; 68 62 09 10187 10369 push strict byte 00007h ; 6a 07 10188 call 01972h ; e8 91 a810370 call 01972h ; e8 ce a6 10189 10371 add sp, strict byte 00006h ; 83 c4 06 10190 10372 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10191 10373 mov byte [bp+013h], 001h ; c6 46 13 01 10192 jmp short 07 144h ; eb 5610374 jmp short 07307h ; eb 56 10193 10375 mov si, word [bp+00ch] ; 8b 76 0c 10194 10376 mov bx, si ; 89 f3 10195 10377 mov dx, strict word 00022h ; ba 22 00 10196 10378 mov ax, cx ; 89 c8 10197 call 0167ah ; e8 7f a510379 call 0167ah ; e8 bc a3 10198 10380 mov bx, word [bp+014h] ; 8b 5e 14 10199 10381 mov dx, strict word 00024h ; ba 24 00 10200 10382 mov ax, cx ; 89 c8 10201 call 0167ah ; e8 74 a510383 call 0167ah ; e8 b1 a3 10202 10384 mov dx, strict word 00027h ; ba 27 00 10203 10385 mov ax, cx ; 89 c8 10204 call 01650h ; e8 42 a510386 call 01650h ; e8 7f a3 10205 10387 mov ah, al ; 88 c4 10206 10388 test si, si ; 85 f6 10207 jne short 07 122h ; 75 0e10389 jne short 072e5h ; 75 0e 10208 10390 cmp word [bp+014h], strict byte 00000h ; 83 7e 14 00 10209 jne short 07 122h ; 75 0810391 jne short 072e5h ; 75 08 10210 10392 test AL, strict byte 080h ; a8 80 10211 je short 07 124h ; 74 0610393 je short 072e7h ; 74 06 10212 10394 and AL, strict byte 07fh ; 24 7f 10213 jmp short 07 124h ; eb 0210395 jmp short 072e7h ; eb 02 10214 10396 or AL, strict byte 080h ; 0c 80 10215 10397 movzx bx, al ; 0f b6 d8 10216 10398 mov dx, strict word 00027h ; ba 27 00 10217 10399 mov ax, cx ; 89 c8 10218 call 0165eh ; e8 2f a510219 jmp short 07 144h ; eb 1310400 call 0165eh ; e8 6c a3 10401 jmp short 07307h ; eb 13 10220 10402 push 0097ch ; 68 7c 09 10221 10403 push strict byte 00007h ; 6a 07 10222 call 01972h ; e8 39 a810404 call 01972h ; e8 76 a6 10223 10405 add sp, strict byte 00004h ; 83 c4 04 10224 10406 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10225 10407 mov byte [bp+013h], 001h ; c6 46 13 01 10226 10408 mov ax, strict word 00047h ; b8 47 00 10227 call 06 cc9h ; e8 7f fb10409 call 06e8ch ; e8 7f fb 10228 10410 lea sp, [bp-002h] ; 8d 66 fe 10229 10411 pop si ; 5e 10230 10412 pop bp ; 5d 10231 10413 retn ; c3 10232 _int17_function: ; 0xf7 150LB 0xb310414 _int17_function: ; 0xf7313 LB 0xb3 10233 10415 push bp ; 55 10234 10416 mov bp, sp ; 89 e5 … … 10240 10422 add dx, strict byte 00008h ; 83 c2 08 10241 10423 mov ax, strict word 00040h ; b8 40 00 10242 call 0166ch ; e8 08 a510424 call 0166ch ; e8 45 a3 10243 10425 mov bx, ax ; 89 c3 10244 10426 mov si, ax ; 89 c6 10245 10427 cmp byte [bp+013h], 003h ; 80 7e 13 03 10246 jnc near 07 1f9h ; 0f 83 89 0010428 jnc near 073bch ; 0f 83 89 00 10247 10429 mov ax, word [bp+00eh] ; 8b 46 0e 10248 10430 cmp ax, strict word 00003h ; 3d 03 00 10249 jnc near 07 1f9h ; 0f 83 7f 0010431 jnc near 073bch ; 0f 83 7f 00 10250 10432 test bx, bx ; 85 db 10251 jbe near 07 1f9h ; 0f 86 79 0010433 jbe near 073bch ; 0f 86 79 00 10252 10434 mov dx, ax ; 89 c2 10253 10435 add dx, strict byte 00078h ; 83 c2 78 10254 10436 mov ax, strict word 00040h ; b8 40 00 10255 call 01650h ; e8 c5 a410437 call 01650h ; e8 02 a3 10256 10438 movzx cx, al ; 0f b6 c8 10257 10439 sal cx, 008h ; c1 e1 08 10258 10440 cmp byte [bp+013h], 000h ; 80 7e 13 00 10259 jne short 07 1c4h ; 75 2d10441 jne short 07387h ; 75 2d 10260 10442 mov al, byte [bp+012h] ; 8a 46 12 10261 10443 mov dx, bx ; 89 da … … 10277 10459 ; sub ah, ah ; 2a e4 10278 10460 test AL, strict byte 040h ; a8 40 10279 je short 07 1c4h ; 74 0710461 je short 07387h ; 74 07 10280 10462 test cx, cx ; 85 c9 10281 je short 07 1c4h ; 74 0310463 je short 07387h ; 74 03 10282 10464 dec cx ; 49 10283 jmp short 07 1b3h ; eb ef10465 jmp short 07376h ; eb ef 10284 10466 cmp byte [bp+013h], 001h ; 80 7e 13 01 10285 jne short 07 1e0h ; 75 1610467 jne short 073a3h ; 75 16 10286 10468 lea dx, [si+002h] ; 8d 54 02 10287 10469 in AL, DX ; ec … … 10302 10484 mov byte [bp+013h], al ; 88 46 13 10303 10485 test cx, cx ; 85 c9 10304 jne short 07 1f3h ; 75 0410486 jne short 073b6h ; 75 04 10305 10487 or byte [bp+013h], 001h ; 80 4e 13 01 10306 10488 and byte [bp+01ch], 0feh ; 80 66 1c fe 10307 jmp short 07 1fdh ; eb 0410489 jmp short 073c0h ; eb 04 10308 10490 or byte [bp+01ch], 001h ; 80 4e 1c 01 10309 10491 lea sp, [bp-002h] ; 8d 66 fe … … 10311 10493 pop bp ; 5d 10312 10494 retn ; c3 10313 wait_: ; 0xf7 203LB 0xb210495 wait_: ; 0xf73c6 LB 0xb2 10314 10496 push bp ; 55 10315 10497 mov bp, sp ; 89 e5 … … 10329 10511 mov dx, 0046ch ; ba 6c 04 10330 10512 xor ax, ax ; 31 c0 10331 call 01688h ; e8 62 a410513 call 01688h ; e8 9f a2 10332 10514 mov word [bp-00eh], ax ; 89 46 f2 10333 10515 mov bx, dx ; 89 d3 … … 10335 10517 mov dx, 0046ch ; ba 6c 04 10336 10518 xor ax, ax ; 31 c0 10337 call 01688h ; e8 54 a410519 call 01688h ; e8 91 a2 10338 10520 mov word [bp-012h], ax ; 89 46 ee 10339 10521 mov di, dx ; 89 d7 10340 10522 cmp dx, bx ; 39 da 10341 jnbe short 07 244h ; 77 0710342 jne short 07 24bh ; 75 0c10523 jnbe short 07407h ; 77 07 10524 jne short 0740eh ; 75 0c 10343 10525 cmp ax, word [bp-00eh] ; 3b 46 f2 10344 jbe short 07 24bh ; 76 0710526 jbe short 0740eh ; 76 07 10345 10527 sub ax, word [bp-00eh] ; 2b 46 f2 10346 10528 sbb dx, bx ; 19 da 10347 jmp short 07 256h ; eb 0b10529 jmp short 07419h ; eb 0b 10348 10530 cmp dx, bx ; 39 da 10349 jc short 07 256h ; 72 0710350 jne short 07 25ah ; 75 0910531 jc short 07419h ; 72 07 10532 jne short 0741dh ; 75 09 10351 10533 cmp ax, word [bp-00eh] ; 3b 46 f2 10352 jnc short 07 25ah ; 73 0410534 jnc short 0741dh ; 73 04 10353 10535 sub si, ax ; 29 c6 10354 10536 sbb cx, dx ; 19 d1 … … 10358 10540 mov ax, 00100h ; b8 00 01 10359 10541 int 016h ; cd 16 10360 je near 07 270h ; 0f 84 05 0010542 je near 07433h ; 0f 84 05 00 10361 10543 mov AL, strict byte 001h ; b0 01 10362 jmp near 07 272h ; e9 02 0010544 jmp near 07435h ; e9 02 00 10363 10545 db 032h, 0c0h 10364 10546 ; xor al, al ; 32 c0 10365 10547 test al, al ; 84 c0 10366 je short 07 29ah ; 74 2410548 je short 0745dh ; 74 24 10367 10549 db 033h, 0c0h 10368 10550 ; xor ax, ax ; 33 c0 … … 10375 10557 push 0099eh ; 68 9e 09 10376 10558 push strict byte 00004h ; 6a 04 10377 call 01972h ; e8 e5 a610559 call 01972h ; e8 22 a5 10378 10560 add sp, strict byte 00006h ; 83 c4 06 10379 10561 cmp byte [bp-00ch], 000h ; 80 7e f4 00 10380 je short 07 29ah ; 74 0410562 je short 0745dh ; 74 04 10381 10563 mov al, dl ; 88 d0 10382 jmp short 07 2ach ; eb 1210564 jmp short 0746fh ; eb 12 10383 10565 test cx, cx ; 85 c9 10384 jnle short 07 22bh ; 7f 8d10385 jne short 07 2a4h ; 75 0410566 jnle short 073eeh ; 7f 8d 10567 jne short 07467h ; 75 04 10386 10568 test si, si ; 85 f6 10387 jnbe short 07 22bh ; 77 8710569 jnbe short 073eeh ; 77 87 10388 10570 mov ax, word [bp-010h] ; 8b 46 f0 10389 10571 push ax ; 50 … … 10397 10579 pop bp ; 5d 10398 10580 retn ; c3 10399 read_logo_byte_: ; 0xf7 2b5LB 0x1610581 read_logo_byte_: ; 0xf7478 LB 0x16 10400 10582 push bp ; 55 10401 10583 mov bp, sp ; 89 e5 … … 10412 10594 pop bp ; 5d 10413 10595 retn ; c3 10414 read_logo_word_: ; 0xf7 2cbLB 0x1410596 read_logo_word_: ; 0xf748e LB 0x14 10415 10597 push bp ; 55 10416 10598 mov bp, sp ; 89 e5 … … 10425 10607 pop bp ; 5d 10426 10608 retn ; c3 10427 print_detected_harddisks_: ; 0xf7 2dfLB 0x13010609 print_detected_harddisks_: ; 0xf74a2 LB 0x130 10428 10610 push bp ; 55 10429 10611 mov bp, sp ; 89 e5 … … 10437 10619 mov dx, strict word 0000eh ; ba 0e 00 10438 10620 mov ax, strict word 00040h ; b8 40 00 10439 call 0166ch ; e8 7a a310621 call 0166ch ; e8 b7 a1 10440 10622 mov si, ax ; 89 c6 10441 10623 mov byte [bp-00ch], 000h ; c6 46 f4 00 … … 10443 10625 xor ch, ch ; 30 ed 10444 10626 mov dx, 002c0h ; ba c0 02 10445 call 01650h ; e8 4e a310627 call 01650h ; e8 8b a1 10446 10628 mov byte [bp-00eh], al ; 88 46 f2 10447 10629 xor bl, bl ; 30 db 10448 10630 cmp bl, byte [bp-00eh] ; 3a 5e f2 10449 jnc near 07 3e1h ; 0f 83 d3 0010631 jnc near 075a4h ; 0f 83 d3 00 10450 10632 movzx dx, bl ; 0f b6 d3 10451 10633 add dx, 002c1h ; 81 c2 c1 02 10452 10634 mov ax, si ; 89 f0 10453 call 01650h ; e8 36 a310635 call 01650h ; e8 73 a1 10454 10636 mov bh, al ; 88 c7 10455 10637 cmp AL, strict byte 00ch ; 3c 0c 10456 jc short 07 344h ; 72 2410638 jc short 07507h ; 72 24 10457 10639 test cl, cl ; 84 c9 10458 jne short 07 331h ; 75 0d10640 jne short 074f4h ; 75 0d 10459 10641 push 009afh ; 68 af 09 10460 10642 push strict byte 00002h ; 6a 02 10461 call 01972h ; e8 46 a610643 call 01972h ; e8 83 a4 10462 10644 add sp, strict byte 00004h ; 83 c4 04 10463 10645 mov CL, strict byte 001h ; b1 01 … … 10467 10649 push 009c4h ; 68 c4 09 10468 10650 push strict byte 00002h ; 6a 02 10469 call 01972h ; e8 34 a610651 call 01972h ; e8 71 a4 10470 10652 add sp, strict byte 00006h ; 83 c4 06 10471 jmp near 07 3dch ; e9 98 0010653 jmp near 0759fh ; e9 98 00 10472 10654 cmp AL, strict byte 008h ; 3c 08 10473 jc short 07 35bh ; 72 1310655 jc short 0751eh ; 72 13 10474 10656 test ch, ch ; 84 ed 10475 jne short 07 359h ; 75 0d10657 jne short 0751ch ; 75 0d 10476 10658 push 009d7h ; 68 d7 09 10477 10659 push strict byte 00002h ; 6a 02 10478 call 01972h ; e8 1e a610660 call 01972h ; e8 5b a4 10479 10661 add sp, strict byte 00004h ; 83 c4 04 10480 10662 mov CH, strict byte 001h ; b5 01 10481 jmp short 07 331h ; eb d610663 jmp short 074f4h ; eb d6 10482 10664 cmp AL, strict byte 004h ; 3c 04 10483 jnc short 07 376h ; 73 1710665 jnc short 07539h ; 73 17 10484 10666 cmp byte [bp-00ch], 000h ; 80 7e f4 00 10485 jne short 07 376h ; 75 1110667 jne short 07539h ; 75 11 10486 10668 push 009ech ; 68 ec 09 10487 10669 push strict byte 00002h ; 6a 02 10488 call 01972h ; e8 05 a610670 call 01972h ; e8 42 a4 10489 10671 add sp, strict byte 00004h ; 83 c4 04 10490 10672 mov byte [bp-00ch], 001h ; c6 46 f4 01 10491 jmp short 07 38ch ; eb 1610673 jmp short 0754fh ; eb 16 10492 10674 cmp bh, 004h ; 80 ff 04 10493 jc short 07 38ch ; 72 1110675 jc short 0754fh ; 72 11 10494 10676 test cl, cl ; 84 c9 10495 jne short 07 38ch ; 75 0d10677 jne short 0754fh ; 75 0d 10496 10678 push 009feh ; 68 fe 09 10497 10679 push strict byte 00002h ; 6a 02 10498 call 01972h ; e8 eb a510680 call 01972h ; e8 28 a4 10499 10681 add sp, strict byte 00004h ; 83 c4 04 10500 10682 mov CL, strict byte 001h ; b1 01 … … 10504 10686 push 00a12h ; 68 12 0a 10505 10687 push strict byte 00002h ; 6a 02 10506 call 01972h ; e8 d9 a510688 call 01972h ; e8 16 a4 10507 10689 add sp, strict byte 00006h ; 83 c4 06 10508 10690 cmp bh, 004h ; 80 ff 04 10509 jc short 07 3a4h ; 72 0310691 jc short 07567h ; 72 03 10510 10692 sub bh, 004h ; 80 ef 04 10511 10693 movzx ax, bh ; 0f b6 c7 … … 10515 10697 sar ax, 1 ; d1 f8 10516 10698 test ax, ax ; 85 c0 10517 je short 07 3b5h ; 74 0510699 je short 07578h ; 74 05 10518 10700 push 00a1ch ; 68 1c 0a 10519 jmp short 07 3b8h ; eb 0310701 jmp short 0757bh ; eb 03 10520 10702 push 00a27h ; 68 27 0a 10521 10703 push strict byte 00002h ; 6a 02 10522 call 01972h ; e8 b5 a510704 call 01972h ; e8 f2 a3 10523 10705 add sp, strict byte 00004h ; 83 c4 04 10524 10706 movzx ax, bh ; 0f b6 c7 … … 10527 10709 idiv di ; f7 ff 10528 10710 test dx, dx ; 85 d2 10529 je short 07 3d2h ; 74 0510711 je short 07595h ; 74 05 10530 10712 push 00a30h ; 68 30 0a 10531 jmp short 07 3d5h ; eb 0310713 jmp short 07598h ; eb 03 10532 10714 push 00a36h ; 68 36 0a 10533 10715 push di ; 57 10534 call 01972h ; e8 99 a510716 call 01972h ; e8 d6 a3 10535 10717 add sp, strict byte 00004h ; 83 c4 04 10536 10718 db 0feh, 0c3h 10537 10719 ; inc bl ; fe c3 10538 jmp near 07 307h ; e9 26 ff10720 jmp near 074cah ; e9 26 ff 10539 10721 cmp byte [bp-00ch], 000h ; 80 7e f4 00 10540 jne short 07 3fah ; 75 1310722 jne short 075bdh ; 75 13 10541 10723 test cl, cl ; 84 c9 10542 jne short 07 3fah ; 75 0f10724 jne short 075bdh ; 75 0f 10543 10725 test ch, ch ; 84 ed 10544 jne short 07 3fah ; 75 0b10726 jne short 075bdh ; 75 0b 10545 10727 push 00a3dh ; 68 3d 0a 10546 10728 push strict byte 00002h ; 6a 02 10547 call 01972h ; e8 7b a510729 call 01972h ; e8 b8 a3 10548 10730 add sp, strict byte 00004h ; 83 c4 04 10549 10731 push 00a51h ; 68 51 0a 10550 10732 push strict byte 00002h ; 6a 02 10551 call 01972h ; e8 70 a510733 call 01972h ; e8 ad a3 10552 10734 add sp, strict byte 00004h ; 83 c4 04 10553 10735 lea sp, [bp-00ah] ; 8d 66 f6 … … 10559 10741 pop bp ; 5d 10560 10742 retn ; c3 10561 get_boot_drive_: ; 0xf7 40fLB 0x2810743 get_boot_drive_: ; 0xf75d2 LB 0x28 10562 10744 push bp ; 55 10563 10745 mov bp, sp ; 89 e5 … … 10567 10749 mov dx, strict word 0000eh ; ba 0e 00 10568 10750 mov ax, strict word 00040h ; b8 40 00 10569 call 0166ch ; e8 4d a210751 call 0166ch ; e8 8a a0 10570 10752 mov dx, 002c0h ; ba c0 02 10571 call 01650h ; e8 2b a210753 call 01650h ; e8 68 a0 10572 10754 sub bl, 002h ; 80 eb 02 10573 10755 cmp bl, al ; 38 c3 10574 jc short 07 42eh ; 72 0210756 jc short 075f1h ; 72 02 10575 10757 mov BL, strict byte 0ffh ; b3 ff 10576 10758 mov al, bl ; 88 d8 … … 10580 10762 pop bp ; 5d 10581 10763 retn ; c3 10582 show_logo_: ; 0xf7 437LB 0x22410764 show_logo_: ; 0xf75fa LB 0x224 10583 10765 push bp ; 55 10584 10766 mov bp, sp ; 89 e5 … … 10591 10773 mov dx, strict word 0000eh ; ba 0e 00 10592 10774 mov ax, strict word 00040h ; b8 40 00 10593 call 0166ch ; e8 21 a210775 call 0166ch ; e8 5e a0 10594 10776 mov si, ax ; 89 c6 10595 10777 xor cl, cl ; 30 c9 … … 10602 10784 out strict byte 040h, AL ; e6 40 10603 10785 movzx ax, dl ; 0f b6 c2 10604 call 07 2cbh ; e8 68 fe10786 call 0748eh ; e8 68 fe 10605 10787 cmp ax, 066bbh ; 3d bb 66 10606 jne near 07 53bh ; 0f 85 d1 0010788 jne near 076feh ; 0f 85 d1 00 10607 10789 push SS ; 16 10608 10790 pop ES ; 07 … … 10612 10794 mov word [es:di], bx ; 26 89 1d 10613 10795 cmp ax, strict word 0004fh ; 3d 4f 00 10614 jne near 07 53bh ; 0f 85 bd 0010796 jne near 076feh ; 0f 85 bd 00 10615 10797 mov al, dl ; 88 d0 10616 10798 add AL, strict byte 004h ; 04 04 10617 10799 xor ah, ah ; 30 e4 10618 call 07 2b5h ; e8 2e fe10800 call 07478h ; e8 2e fe 10619 10801 mov ch, al ; 88 c5 10620 10802 mov byte [bp-00ch], al ; 88 46 f4 … … 10622 10804 add AL, strict byte 005h ; 04 05 10623 10805 xor ah, ah ; 30 e4 10624 call 07 2b5h ; e8 20 fe10806 call 07478h ; e8 20 fe 10625 10807 mov dh, al ; 88 c6 10626 10808 mov byte [bp-010h], al ; 88 46 f0 … … 10628 10810 add AL, strict byte 002h ; 04 02 10629 10811 xor ah, ah ; 30 e4 10630 call 07 2cbh ; e8 28 fe10812 call 0748eh ; e8 28 fe 10631 10813 mov bx, ax ; 89 c3 10632 10814 mov word [bp-014h], ax ; 89 46 ec … … 10634 10816 add AL, strict byte 006h ; 04 06 10635 10817 xor ah, ah ; 30 e4 10636 call 07 2b5h ; e8 04 fe10818 call 07478h ; e8 04 fe 10637 10819 mov byte [bp-012h], al ; 88 46 ee 10638 10820 test ch, ch ; 84 ed 10639 jne short 07 4c2h ; 75 0a10821 jne short 07685h ; 75 0a 10640 10822 test dh, dh ; 84 f6 10641 jne short 07 4c2h ; 75 0610823 jne short 07685h ; 75 06 10642 10824 test bx, bx ; 85 db 10643 je near 07 53bh ; 0f 84 79 0010825 je near 076feh ; 0f 84 79 00 10644 10826 mov bx, 00142h ; bb 42 01 10645 10827 mov ax, 04f02h ; b8 02 4f 10646 10828 int 010h ; cd 10 10647 10829 cmp byte [bp-00ch], 000h ; 80 7e f4 00 10648 je short 07 4f3h ; 74 2310830 je short 076b6h ; 74 23 10649 10831 xor bx, bx ; 31 db 10650 jmp short 07 4dah ; eb 0610832 jmp short 0769dh ; eb 06 10651 10833 inc bx ; 43 10652 10834 cmp bx, strict byte 00010h ; 83 fb 10 10653 jnbe short 07 4fah ; 77 2010835 jnbe short 076bdh ; 77 20 10654 10836 mov ax, bx ; 89 d8 10655 10837 or ah, 002h ; 80 cc 02 … … 10658 10840 xor dx, dx ; 31 d2 10659 10841 mov ax, strict word 00001h ; b8 01 00 10660 call 07 203h ; e8 18 fd10842 call 073c6h ; e8 18 fd 10661 10843 cmp AL, strict byte 086h ; 3c 86 10662 jne short 07 4d4h ; 75 e510844 jne short 07697h ; 75 e5 10663 10845 mov CL, strict byte 001h ; b1 01 10664 jmp short 07 4fah ; eb 0710846 jmp short 076bdh ; eb 07 10665 10847 mov ax, 00210h ; b8 10 02 10666 10848 mov dx, 003b8h ; ba b8 03 10667 10849 out DX, ax ; ef 10668 10850 test cl, cl ; 84 c9 10669 jne short 07 510h ; 75 1210851 jne short 076d3h ; 75 12 10670 10852 mov ax, word [bp-014h] ; 8b 46 ec 10671 10853 shr ax, 004h ; c1 e8 04 10672 10854 mov dx, strict word 00001h ; ba 01 00 10673 call 07 203h ; e8 f9 fc10855 call 073c6h ; e8 f9 fc 10674 10856 cmp AL, strict byte 086h ; 3c 86 10675 jne short 07 510h ; 75 0210857 jne short 076d3h ; 75 02 10676 10858 mov CL, strict byte 001h ; b1 01 10677 10859 cmp byte [bp-010h], 000h ; 80 7e f0 00 10678 je short 07 53bh ; 74 2510860 je short 076feh ; 74 25 10679 10861 test cl, cl ; 84 c9 10680 jne short 07 53bh ; 75 2110862 jne short 076feh ; 75 21 10681 10863 mov bx, strict word 00010h ; bb 10 00 10682 jmp short 07 524h ; eb 0510864 jmp short 076e7h ; eb 05 10683 10865 dec bx ; 4b 10684 10866 test bx, bx ; 85 db 10685 jbe short 07 53bh ; 76 1710867 jbe short 076feh ; 76 17 10686 10868 mov ax, bx ; 89 d8 10687 10869 or ah, 002h ; 80 cc 02 … … 10690 10872 xor dx, dx ; 31 d2 10691 10873 mov ax, strict word 00001h ; b8 01 00 10692 call 07 203h ; e8 ce fc10874 call 073c6h ; e8 ce fc 10693 10875 cmp AL, strict byte 086h ; 3c 86 10694 jne short 07 51fh ; 75 e610876 jne short 076e2h ; 75 e6 10695 10877 mov CL, strict byte 001h ; b1 01 10696 10878 xor bx, bx ; 31 db 10697 10879 mov dx, 00339h ; ba 39 03 10698 10880 mov ax, si ; 89 f0 10699 call 0165eh ; e8 19 a110881 call 0165eh ; e8 56 9f 10700 10882 mov AL, strict byte 003h ; b0 03 10701 10883 mov AH, strict byte 000h ; b4 00 10702 10884 int 010h ; cd 10 10703 10885 cmp byte [bp-012h], 000h ; 80 7e ee 00 10704 je near 07 63ch ; 0f 84 e9 0010886 je near 077ffh ; 0f 84 e9 00 10705 10887 cmp byte [bp-00ch], 000h ; 80 7e f4 00 10706 jne short 07 589h ; 75 3010888 jne short 0774ch ; 75 30 10707 10889 cmp byte [bp-010h], 000h ; 80 7e f0 00 10708 jne short 07 589h ; 75 2a10890 jne short 0774ch ; 75 2a 10709 10891 cmp word [bp-014h], strict byte 00000h ; 83 7e ec 00 10710 jne short 07 589h ; 75 2410892 jne short 0774ch ; 75 24 10711 10893 cmp byte [bp-012h], 002h ; 80 7e ee 02 10712 jne short 07 576h ; 75 0b10894 jne short 07739h ; 75 0b 10713 10895 push 00a53h ; 68 53 0a 10714 10896 push strict byte 00002h ; 6a 02 10715 call 01972h ; e8 ff a310897 call 01972h ; e8 3c a2 10716 10898 add sp, strict byte 00004h ; 83 c4 04 10717 10899 test cl, cl ; 84 c9 10718 jne short 07 589h ; 75 0f10900 jne short 0774ch ; 75 0f 10719 10901 mov dx, strict word 00001h ; ba 01 00 10720 10902 mov ax, 000c0h ; b8 c0 00 10721 call 07 203h ; e8 80 fc10903 call 073c6h ; e8 80 fc 10722 10904 cmp AL, strict byte 086h ; 3c 86 10723 jne short 07 589h ; 75 0210905 jne short 0774ch ; 75 02 10724 10906 mov CL, strict byte 001h ; b1 01 10725 10907 test cl, cl ; 84 c9 10726 je near 07 63ch ; 0f 84 ad 0010908 je near 077ffh ; 0f 84 ad 00 10727 10909 mov byte [bp-00eh], 000h ; c6 46 f2 00 10728 10910 mov ax, 00100h ; b8 00 01 … … 10743 10925 push 00a75h ; 68 75 0a 10744 10926 push strict byte 00002h ; 6a 02 10745 call 01972h ; e8 ba a310927 call 01972h ; e8 f7 a1 10746 10928 add sp, strict byte 00004h ; 83 c4 04 10747 call 07 2dfh ; e8 21 fd10929 call 074a2h ; e8 21 fd 10748 10930 push 00ab9h ; 68 b9 0a 10749 10931 push strict byte 00002h ; 6a 02 10750 call 01972h ; e8 ac a310932 call 01972h ; e8 e9 a1 10751 10933 add sp, strict byte 00004h ; 83 c4 04 10752 10934 mov dx, strict word 00001h ; ba 01 00 10753 10935 mov ax, strict word 00040h ; b8 40 00 10754 call 07 203h ; e8 31 fc10936 call 073c6h ; e8 31 fc 10755 10937 mov bl, al ; 88 c3 10756 10938 test al, al ; 84 c0 10757 je short 07 5c9h ; 74 f110939 je short 0778ch ; 74 f1 10758 10940 cmp AL, strict byte 030h ; 3c 30 10759 je short 07 62ah ; 74 4e10941 je short 077edh ; 74 4e 10760 10942 cmp bl, 002h ; 80 fb 02 10761 jc short 07 603h ; 72 2210943 jc short 077c6h ; 72 22 10762 10944 cmp bl, 009h ; 80 fb 09 10763 jnbe short 07 603h ; 77 1d10945 jnbe short 077c6h ; 77 1d 10764 10946 movzx ax, bl ; 0f b6 c3 10765 call 07 40fh ; e8 23 fe10947 call 075d2h ; e8 23 fe 10766 10948 cmp AL, strict byte 0ffh ; 3c ff 10767 jne short 07 5f2h ; 75 0210768 jmp short 07 5c9h ; eb d710949 jne short 077b5h ; 75 02 10950 jmp short 0778ch ; eb d7 10769 10951 movzx bx, al ; 0f b6 d8 10770 10952 mov dx, 00338h ; ba 38 03 10771 10953 mov ax, si ; 89 f0 10772 call 0165eh ; e8 61 a010954 call 0165eh ; e8 9e 9e 10773 10955 mov byte [bp-00eh], 002h ; c6 46 f2 02 10774 jmp short 07 62ah ; eb 2710956 jmp short 077edh ; eb 27 10775 10957 cmp bl, 02eh ; 80 fb 2e 10776 je short 07 618h ; 74 1010958 je short 077dbh ; 74 10 10777 10959 cmp bl, 026h ; 80 fb 26 10778 je short 07 61eh ; 74 1110960 je short 077e1h ; 74 11 10779 10961 cmp bl, 021h ; 80 fb 21 10780 jne short 07 624h ; 75 1210962 jne short 077e7h ; 75 12 10781 10963 mov byte [bp-00eh], 001h ; c6 46 f2 01 10782 jmp short 07 62ah ; eb 1210964 jmp short 077edh ; eb 12 10783 10965 mov byte [bp-00eh], 003h ; c6 46 f2 03 10784 jmp short 07 62ah ; eb 0c10966 jmp short 077edh ; eb 0c 10785 10967 mov byte [bp-00eh], 004h ; c6 46 f2 04 10786 jmp short 07 62ah ; eb 0610968 jmp short 077edh ; eb 06 10787 10969 cmp byte [bp-00eh], 000h ; 80 7e f2 00 10788 je short 07 5c9h ; 74 9f10970 je short 0778ch ; 74 9f 10789 10971 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 10790 10972 mov dx, 00339h ; ba 39 03 10791 10973 mov ax, si ; 89 f0 10792 call 0165eh ; e8 28 a010974 call 0165eh ; e8 65 9e 10793 10975 mov AL, strict byte 003h ; b0 03 10794 10976 mov AH, strict byte 000h ; b4 00 … … 10803 10985 push DS ; 1e 10804 10986 mov ds, ax ; 8e d8 10805 call 0edbfh ; e8 71 7710987 call 0edbfh ; e8 ae 75 10806 10988 pop DS ; 1f 10807 10989 popad ; 66 61 … … 10814 10996 pop bp ; 5d 10815 10997 retn ; c3 10816 delay_boot_: ; 0xf7 65bLB 0x6710998 delay_boot_: ; 0xf781e LB 0x67 10817 10999 push bp ; 55 10818 11000 mov bp, sp ; 89 e5 … … 10821 11003 mov dx, ax ; 89 c2 10822 11004 test ax, ax ; 85 c0 10823 je short 07 6bbh ; 74 5511005 je short 0787eh ; 74 55 10824 11006 mov AL, strict byte 034h ; b0 34 10825 11007 out strict byte 043h, AL ; e6 43 … … 10831 11013 push 00b03h ; 68 03 0b 10832 11014 push strict byte 00002h ; 6a 02 10833 call 01972h ; e8 f7 a211015 call 01972h ; e8 34 a1 10834 11016 add sp, strict byte 00006h ; 83 c4 06 10835 11017 mov bx, dx ; 89 d3 10836 11018 test bx, bx ; 85 db 10837 jbe short 07 69bh ; 76 1711019 jbe short 0785eh ; 76 17 10838 11020 push bx ; 53 10839 11021 push 00b21h ; 68 21 0b 10840 11022 push strict byte 00002h ; 6a 02 10841 call 01972h ; e8 e5 a211023 call 01972h ; e8 22 a1 10842 11024 add sp, strict byte 00006h ; 83 c4 06 10843 11025 xor dx, dx ; 31 d2 10844 11026 mov ax, strict word 00040h ; b8 40 00 10845 call 07 203h ; e8 6b fb11027 call 073c6h ; e8 6b fb 10846 11028 dec bx ; 4b 10847 jmp short 07 680h ; eb e511029 jmp short 07843h ; eb e5 10848 11030 push 00a51h ; 68 51 0a 10849 11031 push strict byte 00002h ; 6a 02 10850 call 01972h ; e8 cf a211032 call 01972h ; e8 0c a1 10851 11033 add sp, strict byte 00004h ; 83 c4 04 10852 11034 mov AL, strict byte 034h ; b0 34 … … 10859 11041 push DS ; 1e 10860 11042 mov ds, ax ; 8e d8 10861 call 0edbfh ; e8 07 7711043 call 0edbfh ; e8 44 75 10862 11044 pop DS ; 1f 10863 11045 popad ; 66 61 … … 10867 11049 pop bp ; 5d 10868 11050 retn ; c3 10869 scsi_cmd_data_in_: ; 0xf7 6c2LB 0xb211051 scsi_cmd_data_in_: ; 0xf7885 LB 0xb2 10870 11052 push bp ; 55 10871 11053 mov bp, sp ; 89 e5 … … 10883 11065 ; sub ah, ah ; 2a e4 10884 11066 test AL, strict byte 001h ; a8 01 10885 jne short 07 6d8h ; 75 f711067 jne short 0789bh ; 75 f7 10886 11068 mov ax, bx ; 89 d8 10887 11069 mov dx, word [bp+00ch] ; 8b 56 0c … … 10889 11071 shr dx, 1 ; d1 ea 10890 11072 rcr ax, 1 ; d1 d8 10891 loop 07 6e9h ; e2 fa11073 loop 078ach ; e2 fa 10892 11074 and ax, 000f0h ; 25 f0 00 10893 11075 movzx cx, byte [bp+004h] ; 0f b6 4e 04 … … 10907 11089 shr dx, 1 ; d1 ea 10908 11090 rcr ax, 1 ; d1 d8 10909 loop 07 70fh ; e2 fa11091 loop 078d2h ; e2 fa 10910 11092 mov dx, si ; 89 f2 10911 11093 out DX, AL ; ee … … 10913 11095 movzx ax, byte [bp+004h] ; 0f b6 46 04 10914 11096 cmp cx, ax ; 39 c1 10915 jnc short 07 730h ; 73 0e11097 jnc short 078f3h ; 73 0e 10916 11098 les di, [bp-00ah] ; c4 7e f6 10917 11099 add di, cx ; 01 cf … … 10920 11102 out DX, AL ; ee 10921 11103 inc cx ; 41 10922 jmp short 07 71ah ; eb ea11104 jmp short 078ddh ; eb ea 10923 11105 mov dx, si ; 89 f2 10924 11106 in AL, DX ; ec … … 10926 11108 ; sub ah, ah ; 2a e4 10927 11109 test AL, strict byte 001h ; a8 01 10928 jne short 07 730h ; 75 f711110 jne short 078f3h ; 75 f7 10929 11111 lea dx, [si+001h] ; 8d 54 01 10930 11112 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 10931 jne short 07 748h ; 75 0611113 jne short 0790bh ; 75 06 10932 11114 cmp bx, 08000h ; 81 fb 00 80 10933 jbe short 07 762h ; 76 1a11115 jbe short 07925h ; 76 1a 10934 11116 mov cx, 08000h ; b9 00 80 10935 11117 les di, [bp+006h] ; c4 7e 06 … … 10940 11122 add ax, 00800h ; 05 00 08 10941 11123 mov word [bp+008h], ax ; 89 46 08 10942 jmp short 07 739h ; eb d711124 jmp short 078fch ; eb d7 10943 11125 mov cx, bx ; 89 d9 10944 11126 les di, [bp+006h] ; c4 7e 06 … … 10950 11132 pop bp ; 5d 10951 11133 retn 0000ah ; c2 0a 00 10952 scsi_cmd_data_out_: ; 0xf7 774LB 0xb411134 scsi_cmd_data_out_: ; 0xf7937 LB 0xb4 10953 11135 push bp ; 55 10954 11136 mov bp, sp ; 89 e5 … … 10966 11148 ; sub ah, ah ; 2a e4 10967 11149 test AL, strict byte 001h ; a8 01 10968 jne short 07 78ah ; 75 f711150 jne short 0794dh ; 75 f7 10969 11151 mov ax, bx ; 89 d8 10970 11152 mov dx, word [bp+00ch] ; 8b 56 0c … … 10972 11154 shr dx, 1 ; d1 ea 10973 11155 rcr ax, 1 ; d1 d8 10974 loop 07 79bh ; e2 fa11156 loop 0795eh ; e2 fa 10975 11157 and ax, 000f0h ; 25 f0 00 10976 11158 movzx cx, byte [bp+004h] ; 0f b6 4e 04 … … 10990 11172 shr dx, 1 ; d1 ea 10991 11173 rcr ax, 1 ; d1 d8 10992 loop 07 7c1h ; e2 fa11174 loop 07984h ; e2 fa 10993 11175 mov dx, di ; 89 fa 10994 11176 out DX, AL ; ee … … 10996 11178 movzx ax, byte [bp+004h] ; 0f b6 46 04 10997 11179 cmp cx, ax ; 39 c1 10998 jnc short 07 7e2h ; 73 0e11180 jnc short 079a5h ; 73 0e 10999 11181 les si, [bp-00ah] ; c4 76 f6 11000 11182 add si, cx ; 01 ce … … 11003 11185 out DX, AL ; ee 11004 11186 inc cx ; 41 11005 jmp short 07 7cch ; eb ea11187 jmp short 0798fh ; eb ea 11006 11188 lea dx, [di+001h] ; 8d 55 01 11007 11189 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 11008 jne short 07 7f1h ; 75 0611190 jne short 079b4h ; 75 06 11009 11191 cmp bx, 08000h ; 81 fb 00 80 11010 jbe short 07 80ch ; 76 1b11192 jbe short 079cfh ; 76 1b 11011 11193 mov cx, 08000h ; b9 00 80 11012 11194 les si, [bp+006h] ; c4 76 06 … … 11018 11200 add ax, 00800h ; 05 00 08 11019 11201 mov word [bp+008h], ax ; 89 46 08 11020 jmp short 07 7e2h ; eb d611202 jmp short 079a5h ; eb d6 11021 11203 mov cx, bx ; 89 d9 11022 11204 les si, [bp+006h] ; c4 76 06 … … 11028 11210 ; sub ah, ah ; 2a e4 11029 11211 test AL, strict byte 001h ; a8 01 11030 jne short 07 814h ; 75 f711212 jne short 079d7h ; 75 f7 11031 11213 xor ax, ax ; 31 c0 11032 11214 lea sp, [bp-004h] ; 8d 66 fc … … 11035 11217 pop bp ; 5d 11036 11218 retn 0000ah ; c2 0a 00 11037 @scsi_read_sectors: ; 0xf7 828LB 0xb911219 @scsi_read_sectors: ; 0xf79eb LB 0xb9 11038 11220 push bp ; 55 11039 11221 mov bp, sp ; 89 e5 … … 11046 11228 sub bl, 008h ; 80 eb 08 11047 11229 cmp bl, 004h ; 80 fb 04 11048 jbe short 07 854h ; 76 1211230 jbe short 07a17h ; 76 12 11049 11231 movzx ax, bl ; 0f b6 c3 11050 11232 push ax ; 50 … … 11052 11234 push 00b38h ; 68 38 0b 11053 11235 push strict byte 00007h ; 6a 07 11054 call 01972h ; e8 21 a111236 call 01972h ; e8 5e 9f 11055 11237 add sp, strict byte 00008h ; 83 c4 08 11056 11238 mov es, [bp+006h] ; 8e 46 06 … … 11079 11261 sal word [bp-008h], 1 ; d1 66 f8 11080 11262 rcl word [bp-006h], 1 ; d1 56 fa 11081 loop 07 89dh ; e2 f811263 loop 07a60h ; e2 f8 11082 11264 push dword [bp-008h] ; 66 ff 76 f8 11083 11265 db 066h, 026h, 0ffh, 074h, 004h … … 11087 11269 mov cx, ss ; 8c d1 11088 11270 lea bx, [bp-012h] ; 8d 5e ee 11089 call 07 6c2h ; e8 08 fe11271 call 07885h ; e8 08 fe 11090 11272 mov ah, al ; 88 c4 11091 11273 test al, al ; 84 c0 11092 jne short 07 8d5h ; 75 1511274 jne short 07a98h ; 75 15 11093 11275 mov es, [bp+006h] ; 8e 46 06 11094 11276 mov word [es:si+014h], di ; 26 89 7c 14 … … 11103 11285 pop bp ; 5d 11104 11286 retn 00004h ; c2 04 00 11105 @scsi_write_sectors: ; 0xf7 8e1LB 0xb911287 @scsi_write_sectors: ; 0xf7aa4 LB 0xb9 11106 11288 push bp ; 55 11107 11289 mov bp, sp ; 89 e5 … … 11114 11296 sub bl, 008h ; 80 eb 08 11115 11297 cmp bl, 004h ; 80 fb 04 11116 jbe short 07 90dh ; 76 1211298 jbe short 07ad0h ; 76 12 11117 11299 movzx ax, bl ; 0f b6 c3 11118 11300 push ax ; 50 … … 11120 11302 push 00b38h ; 68 38 0b 11121 11303 push strict byte 00007h ; 6a 07 11122 call 01972h ; e8 68 a011304 call 01972h ; e8 a5 9e 11123 11305 add sp, strict byte 00008h ; 83 c4 08 11124 11306 mov es, [bp+006h] ; 8e 46 06 … … 11147 11329 sal word [bp-008h], 1 ; d1 66 f8 11148 11330 rcl word [bp-006h], 1 ; d1 56 fa 11149 loop 07 956h ; e2 f811331 loop 07b19h ; e2 f8 11150 11332 push dword [bp-008h] ; 66 ff 76 f8 11151 11333 db 066h, 026h, 0ffh, 074h, 004h … … 11155 11337 mov cx, ss ; 8c d1 11156 11338 lea bx, [bp-012h] ; 8d 5e ee 11157 call 07 774h ; e8 01 fe11339 call 07937h ; e8 01 fe 11158 11340 mov ah, al ; 88 c4 11159 11341 test al, al ; 84 c0 11160 jne short 07 98eh ; 75 1511342 jne short 07b51h ; 75 15 11161 11343 mov es, [bp+006h] ; 8e 46 06 11162 11344 mov word [es:si+014h], di ; 26 89 7c 14 … … 11171 11353 pop bp ; 5d 11172 11354 retn 00004h ; c2 04 00 11173 scsi_cmd_packet_: ; 0xf7 99aLB 0x16611355 scsi_cmd_packet_: ; 0xf7b5d LB 0x166 11174 11356 push bp ; 55 11175 11357 mov bp, sp ; 89 e5 … … 11183 11365 mov dx, strict word 0000eh ; ba 0e 00 11184 11366 mov ax, strict word 00040h ; b8 40 00 11185 call 0166ch ; e8 b6 9c11367 call 0166ch ; e8 f3 9a 11186 11368 mov si, 00122h ; be 22 01 11187 11369 mov word [bp-00eh], ax ; 89 46 f2 11188 11370 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 11189 jne short 07 9e1h ; 75 1f11190 mov bx, 00da 2h ; bb a20d11371 jne short 07ba4h ; 75 1f 11372 mov bx, 00da8h ; bb a8 0d 11191 11373 mov cx, ds ; 8c d9 11192 11374 mov ax, strict word 00004h ; b8 04 00 11193 call 01931h ; e8 64 9f11375 call 01931h ; e8 a1 9d 11194 11376 push 00b6ah ; 68 6a 0b 11195 11377 push 00b7ah ; 68 7a 0b 11196 11378 push strict byte 00004h ; 6a 04 11197 call 01972h ; e8 9a 9f11379 call 01972h ; e8 d7 9d 11198 11380 add sp, strict byte 00006h ; 83 c4 06 11199 11381 mov dx, strict word 00001h ; ba 01 00 11200 jmp near 07 af5h ; e9 14 0111382 jmp near 07cb8h ; e9 14 01 11201 11383 sub di, strict byte 00008h ; 83 ef 08 11202 11384 sal di, 002h ; c1 e7 02 … … 11212 11394 ; sub ah, ah ; 2a e4 11213 11395 test AL, strict byte 001h ; a8 01 11214 jne short 07 9fdh ; 75 f711396 jne short 07bc0h ; 75 f7 11215 11397 xor ax, ax ; 31 c0 11216 11398 mov dx, word [bp+006h] ; 8b 56 06 … … 11228 11410 shr dx, 1 ; d1 ea 11229 11411 rcr ax, 1 ; d1 d8 11230 loop 07 a28h ; e2 fa11412 loop 07bebh ; e2 fa 11231 11413 and ax, 000f0h ; 25 f0 00 11232 11414 movzx cx, byte [bp-006h] ; 0f b6 4e fa … … 11246 11428 shr dx, 1 ; d1 ea 11247 11429 rcr ax, 1 ; d1 d8 11248 loop 07 a4fh ; e2 fa11430 loop 07c12h ; e2 fa 11249 11431 mov dx, bx ; 89 da 11250 11432 out DX, AL ; ee … … 11252 11434 movzx ax, byte [bp-006h] ; 0f b6 46 fa 11253 11435 cmp cx, ax ; 39 c1 11254 jnc short 07 a70h ; 73 0e11436 jnc short 07c33h ; 73 0e 11255 11437 les di, [bp-00ch] ; c4 7e f4 11256 11438 add di, cx ; 01 cf … … 11259 11441 out DX, AL ; ee 11260 11442 inc cx ; 41 11261 jmp short 07 a5ah ; eb ea11443 jmp short 07c1dh ; eb ea 11262 11444 mov dx, bx ; 89 da 11263 11445 in AL, DX ; ec … … 11265 11447 ; sub ah, ah ; 2a e4 11266 11448 test AL, strict byte 001h ; a8 01 11267 jne short 07 a70h ; 75 f711449 jne short 07c33h ; 75 f7 11268 11450 test AL, strict byte 002h ; a8 02 11269 je short 07 a8bh ; 74 0e11451 je short 07c4eh ; 74 0e 11270 11452 lea dx, [bx+003h] ; 8d 57 03 11271 11453 xor al, al ; 30 c0 … … 11275 11457 ; sub ah, ah ; 2a e4 11276 11458 mov dx, strict word 00003h ; ba 03 00 11277 jmp short 07 af5h ; eb 6a11459 jmp short 07cb8h ; eb 6a 11278 11460 mov ax, word [bp+004h] ; 8b 46 04 11279 11461 test ax, ax ; 85 c0 11280 je short 07 a9ah ; 74 0811462 je short 07c5dh ; 74 08 11281 11463 lea dx, [bx+001h] ; 8d 57 01 11282 11464 mov cx, ax ; 89 c1 11283 11465 in AL, DX ; ec 11284 loop 07 a97h ; e2 fd11466 loop 07c5ah ; e2 fd 11285 11467 mov ax, word [bp+006h] ; 8b 46 06 11286 11468 mov es, [bp-00eh] ; 8e 46 f2 … … 11290 11472 lea ax, [bx+001h] ; 8d 47 01 11291 11473 cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00 11292 jne short 07 abbh ; 75 0711474 jne short 07c7eh ; 75 07 11293 11475 cmp word [bp+006h], 08000h ; 81 7e 06 00 80 11294 jbe short 07 ad8h ; 76 1d11476 jbe short 07c9bh ; 76 1d 11295 11477 mov dx, ax ; 89 c2 11296 11478 mov cx, 08000h ; b9 00 80 … … 11302 11484 add ax, 00800h ; 05 00 08 11303 11485 mov word [bp+00eh], ax ; 89 46 0e 11304 jmp short 07 aabh ; eb d311486 jmp short 07c6eh ; eb d3 11305 11487 mov dx, ax ; 89 c2 11306 11488 mov cx, word [bp+006h] ; 8b 4e 06 … … 11309 11491 mov es, [bp-00eh] ; 8e 46 f2 11310 11492 cmp word [es:si+01ch], strict byte 00000h ; 26 83 7c 1c 00 11311 je short 07 af3h ; 74 0711493 je short 07cb6h ; 74 07 11312 11494 mov cx, word [es:si+01ch] ; 26 8b 4c 1c 11313 11495 in AL, DX ; ec 11314 loop 07 af0h ; e2 fd11496 loop 07cb3h ; e2 fd 11315 11497 xor dx, dx ; 31 d2 11316 11498 mov ax, dx ; 89 d0 … … 11320 11502 pop bp ; 5d 11321 11503 retn 0000ch ; c2 0c 00 11322 scsi_enumerate_attached_devices_: ; 0xf7 b00LB 0x3e511504 scsi_enumerate_attached_devices_: ; 0xf7cc3 LB 0x3e5 11323 11505 push bp ; 55 11324 11506 mov bp, sp ; 89 e5 … … 11332 11514 mov dx, strict word 0000eh ; ba 0e 00 11333 11515 mov ax, strict word 00040h ; b8 40 00 11334 call 0166ch ; e8 56 9b11516 call 0166ch ; e8 93 99 11335 11517 mov si, 00122h ; be 22 01 11336 11518 mov word [bp-01ah], ax ; 89 46 e6 11337 11519 mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00 11338 jmp near 0 7e73h ; e9 4f 0311520 jmp near 08036h ; e9 4f 03 11339 11521 mov es, [bp-01ah] ; 8e 46 e6 11340 11522 cmp byte [es:si+001e8h], 004h ; 26 80 bc e8 01 04 11341 jnc near 0 7edbh ; 0f 83 aa 0311523 jnc near 0809eh ; 0f 83 aa 03 11342 11524 mov cx, strict word 0000ah ; b9 0a 00 11343 11525 xor bx, bx ; 31 db 11344 11526 mov dx, ss ; 8c d2 11345 11527 lea ax, [bp-026h] ; 8d 46 da 11346 call 09 59ah ; e8 5c1a11528 call 0975ah ; e8 59 1a 11347 11529 mov byte [bp-026h], 025h ; c6 46 da 25 11348 11530 push dword 000000008h ; 66 6a 08 … … 11355 11537 lea bx, [bp-026h] ; 8d 5e da 11356 11538 mov ax, word [bp-00228h] ; 8b 86 d8 fd 11357 call 07 6c2h ; e8 65 fb11539 call 07885h ; e8 65 fb 11358 11540 test al, al ; 84 c0 11359 je short 07 b6fh ; 74 0e11541 je short 07d32h ; 74 0e 11360 11542 push 00b9ah ; 68 9a 0b 11361 11543 push 00bd3h ; 68 d3 0b 11362 11544 push strict byte 00007h ; 6a 07 11363 call 01972h ; e8 06 9e11545 call 01972h ; e8 43 9c 11364 11546 add sp, strict byte 00006h ; 83 c4 06 11365 11547 movzx ax, byte [bp-00225h] ; 0f b6 86 db fd … … 11373 11555 sal ax, 1 ; d1 e0 11374 11556 rcl dx, 1 ; d1 d2 11375 loop 07 b8ah ; e2 fa11557 loop 07d4dh ; e2 fa 11376 11558 or bx, ax ; 09 c3 11377 11559 or dx, di ; 09 fa … … 11390 11572 sal ax, 1 ; d1 e0 11391 11573 rcl dx, 1 ; d1 d2 11392 loop 07 bbch ; e2 fa11574 loop 07d7fh ; e2 fa 11393 11575 or ax, bx ; 09 d8 11394 11576 or dx, di ; 09 fa … … 11397 11579 mov word [bp-016h], ax ; 89 46 ea 11398 11580 test dx, dx ; 85 d2 11399 jne short 07 bd9h ; 75 0511581 jne short 07d9ch ; 75 05 11400 11582 cmp ax, 00200h ; 3d 00 02 11401 je short 07 bf9h ; 74 2011402 mov bx, 00da 2h ; bb a20d11583 je short 07dbch ; 74 20 11584 mov bx, 00da8h ; bb a8 0d 11403 11585 mov cx, ds ; 8c d9 11404 11586 mov ax, strict word 00004h ; b8 04 00 11405 call 01931h ; e8 4d 9d11587 call 01931h ; e8 8a 9b 11406 11588 push dx ; 52 11407 11589 push word [bp-016h] ; ff 76 ea … … 11409 11591 push 00bf2h ; 68 f2 0b 11410 11592 push strict byte 00004h ; 6a 04 11411 call 01972h ; e8 7f 9d11593 call 01972h ; e8 bc 9b 11412 11594 add sp, strict byte 0000ah ; 83 c4 0a 11413 jmp near 0 7e6ah ; e9 71 0211595 jmp near 0802dh ; e9 71 02 11414 11596 mov es, [bp-01ah] ; 8e 46 e6 11415 11597 mov al, byte [es:si+001e8h] ; 26 8a 84 e8 01 11416 11598 mov byte [bp-00ch], al ; 88 46 f4 11417 11599 cmp AL, strict byte 001h ; 3c 01 11418 jc short 07 c14h ; 72 0c11419 jbe short 07 c1ch ; 76 1211600 jc short 07dd7h ; 72 0c 11601 jbe short 07ddfh ; 76 12 11420 11602 cmp AL, strict byte 003h ; 3c 03 11421 je short 07 c24h ; 74 1611603 je short 07de7h ; 74 16 11422 11604 cmp AL, strict byte 002h ; 3c 02 11423 je short 07 c20h ; 74 0e11424 jmp short 07 c70h ; eb 5c11605 je short 07de3h ; 74 0e 11606 jmp short 07e33h ; eb 5c 11425 11607 test al, al ; 84 c0 11426 jne short 07 c70h ; 75 5811608 jne short 07e33h ; 75 58 11427 11609 mov BL, strict byte 090h ; b3 90 11428 jmp short 07 c26h ; eb 0a11610 jmp short 07de9h ; eb 0a 11429 11611 mov BL, strict byte 098h ; b3 98 11430 jmp short 07 c26h ; eb 0611612 jmp short 07de9h ; eb 06 11431 11613 mov BL, strict byte 0a0h ; b3 a0 11432 jmp short 07 c26h ; eb 0211614 jmp short 07de9h ; eb 02 11433 11615 mov BL, strict byte 0a8h ; b3 a8 11434 11616 mov al, bl ; 88 d8 … … 11436 11618 movzx cx, al ; 0f b6 c8 11437 11619 mov ax, cx ; 89 c8 11438 call 016ach ; e8 7a 9a11620 call 016ach ; e8 b7 98 11439 11621 test al, al ; 84 c0 11440 je short 07 c70h ; 74 3a11622 je short 07e33h ; 74 3a 11441 11623 mov al, bl ; 88 d8 11442 11624 db 0feh, 0c0h 11443 11625 ; inc al ; fe c0 11444 11626 xor ah, ah ; 30 e4 11445 call 016ach ; e8 6d 9a11627 call 016ach ; e8 aa 98 11446 11628 xor ah, ah ; 30 e4 11447 11629 mov dx, ax ; 89 c2 11448 11630 sal dx, 008h ; c1 e2 08 11449 11631 movzx ax, bl ; 0f b6 c3 11450 call 016ach ; e8 60 9a11632 call 016ach ; e8 9d 98 11451 11633 xor ah, ah ; 30 e4 11452 11634 add ax, dx ; 01 d0 … … 11457 11639 add AL, strict byte 002h ; 04 02 11458 11640 xor ah, ah ; 30 e4 11459 call 016ach ; e8 4d 9a11641 call 016ach ; e8 8a 98 11460 11642 xor ah, ah ; 30 e4 11461 11643 mov word [bp-014h], ax ; 89 46 ec 11462 11644 mov ax, cx ; 89 c8 11463 call 016ach ; e8 43 9a11645 call 016ach ; e8 80 98 11464 11646 xor ah, ah ; 30 e4 11465 11647 mov word [bp-01ch], ax ; 89 46 e4 11466 jmp short 07 cb5h ; eb 4511648 jmp short 07e78h ; eb 45 11467 11649 mov ax, word [bp-018h] ; 8b 46 e8 11468 11650 cmp ax, strict word 00040h ; 3d 40 00 11469 jnbe short 07 c7ah ; 77 0211470 jne short 07 c86h ; 75 0c11651 jnbe short 07e3dh ; 77 02 11652 jne short 07e49h ; 75 0c 11471 11653 mov word [bp-014h], 000ffh ; c7 46 ec ff 00 11472 11654 mov word [bp-01ch], strict word 0003fh ; c7 46 e4 3f 00 11473 jmp short 07 c9eh ; eb 1811655 jmp short 07e61h ; eb 18 11474 11656 cmp ax, strict word 00020h ; 3d 20 00 11475 jnbe short 07 c8dh ; 77 0211476 jne short 07 c94h ; 75 0711657 jnbe short 07e50h ; 77 02 11658 jne short 07e57h ; 75 07 11477 11659 mov word [bp-014h], 00080h ; c7 46 ec 80 00 11478 jmp short 07 c99h ; eb 0511660 jmp short 07e5ch ; eb 05 11479 11661 mov word [bp-014h], strict word 00040h ; c7 46 ec 40 00 11480 11662 mov word [bp-01ch], strict word 00020h ; c7 46 e4 20 00 … … 11484 11666 mov dx, word [bp-018h] ; 8b 56 e8 11485 11667 xor cx, cx ; 31 c9 11486 call 09 530h ; e8 801811668 call 096f0h ; e8 7d 18 11487 11669 mov di, ax ; 89 c7 11488 11670 mov word [bp-012h], dx ; 89 56 ee … … 11511 11693 mov word [es:bx+02ah], ax ; 26 89 47 2a 11512 11694 cmp word [bp-012h], strict byte 00000h ; 83 7e ee 00 11513 jne short 07 d11h ; 75 0611695 jne short 07ed4h ; 75 06 11514 11696 cmp di, 00400h ; 81 ff 00 04 11515 jbe short 07 d19h ; 76 0811697 jbe short 07edch ; 76 08 11516 11698 mov word [es:bx+028h], 00400h ; 26 c7 47 28 00 04 11517 jmp short 07 d1dh ; eb 0411699 jmp short 07ee0h ; eb 04 11518 11700 mov word [es:bx+028h], di ; 26 89 7f 28 11519 mov bx, 00da 2h ; bb a20d11701 mov bx, 00da8h ; bb a8 0d 11520 11702 mov cx, ds ; 8c d9 11521 11703 mov ax, strict word 00004h ; b8 04 00 11522 call 01931h ; e8 09 9c11704 call 01931h ; e8 46 9a 11523 11705 push word [bp-018h] ; ff 76 e8 11524 11706 push word [bp-00eh] ; ff 76 f2 … … 11531 11713 push 00c20h ; 68 20 0c 11532 11714 push strict byte 00004h ; 6a 04 11533 call 01972h ; e8 2d 9c11715 call 01972h ; e8 6a 9a 11534 11716 add sp, strict byte 00012h ; 83 c4 12 11535 11717 movzx ax, dl ; 0f b6 c2 … … 11543 11725 mov word [es:bx+030h], ax ; 26 89 47 30 11544 11726 cmp word [bp-012h], strict byte 00000h ; 83 7e ee 00 11545 jne short 07 d6fh ; 75 0611727 jne short 07f32h ; 75 06 11546 11728 cmp di, 00400h ; 81 ff 00 04 11547 jbe short 07 d77h ; 76 0811729 jbe short 07f3ah ; 76 08 11548 11730 mov word [es:bx+02eh], 00400h ; 26 c7 47 2e 00 04 11549 jmp short 07 d7bh ; eb 0411731 jmp short 07f3eh ; eb 04 11550 11732 mov word [es:bx+02eh], di ; 26 89 7f 2e 11551 11733 movzx ax, dl ; 0f b6 c2 … … 11569 11751 mov dx, strict word 00075h ; ba 75 00 11570 11752 mov ax, strict word 00040h ; b8 40 00 11571 call 01650h ; e8 95 9811753 call 01650h ; e8 d2 96 11572 11754 db 0feh, 0c0h 11573 11755 ; inc al ; fe c0 … … 11575 11757 mov dx, strict word 00075h ; ba 75 00 11576 11758 mov ax, strict word 00040h ; b8 40 00 11577 call 0165eh ; e8 95 9811759 call 0165eh ; e8 d2 96 11578 11760 inc byte [bp-00ch] ; fe 46 f4 11579 11761 mov al, byte [bp-00ch] ; 8a 46 f4 11580 11762 mov es, [bp-01ah] ; 8e 46 e6 11581 11763 mov byte [es:si+001e8h], al ; 26 88 84 e8 01 11582 jmp near 0 7e6ah ; e9 90 0011583 mov bx, 00da 2h ; bb a20d11764 jmp near 0802dh ; e9 90 00 11765 mov bx, 00da8h ; bb a8 0d 11584 11766 mov cx, ds ; 8c d9 11585 11767 mov ax, strict word 00004h ; b8 04 00 11586 call 01931h ; e8 4c 9b11768 call 01931h ; e8 89 99 11587 11769 push word [bp-010h] ; ff 76 f0 11588 11770 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 … … 11590 11772 push 00c4ah ; 68 4a 0c 11591 11773 push strict byte 00004h ; 6a 04 11592 call 01972h ; e8 7d 9b11774 call 01972h ; e8 ba 99 11593 11775 add sp, strict byte 00008h ; 83 c4 08 11594 11776 mov dl, byte [bp-00ch] ; 8a 56 f4 … … 11629 11811 inc word [bp-010h] ; ff 46 f0 11630 11812 cmp word [bp-010h], strict byte 00010h ; 83 7e f0 10 11631 jnl short 0 7edbh ; 7d 6811813 jnl short 0809eh ; 7d 68 11632 11814 mov byte [bp-026h], 012h ; c6 46 da 12 11633 11815 xor al, al ; 30 c0 … … 11646 11828 lea bx, [bp-026h] ; 8d 5e da 11647 11829 mov ax, word [bp-00228h] ; 8b 86 d8 fd 11648 call 07 6c2h ; e8 1e f811830 call 07885h ; e8 1e f8 11649 11831 test al, al ; 84 c0 11650 je short 0 7eb6h ; 74 0e11832 je short 08079h ; 74 0e 11651 11833 push 00b9ah ; 68 9a 0b 11652 11834 push 00bbah ; 68 ba 0b 11653 11835 push strict byte 00007h ; 6a 07 11654 call 01972h ; e8 bf 9a11836 call 01972h ; e8 fc 98 11655 11837 add sp, strict byte 00006h ; 83 c4 06 11656 11838 test byte [bp-00226h], 0e0h ; f6 86 da fd e0 11657 jne short 0 7ec6h ; 75 0911839 jne short 08089h ; 75 09 11658 11840 test byte [bp-00226h], 01fh ; f6 86 da fd 1f 11659 je near 07 b24h ; 0f 84 5e fc11841 je near 07ce7h ; 0f 84 5e fc 11660 11842 test byte [bp-00226h], 0e0h ; f6 86 da fd e0 11661 jne short 0 7e6ah ; 75 9d11843 jne short 0802dh ; 75 9d 11662 11844 mov al, byte [bp-00226h] ; 8a 86 da fd 11663 11845 and AL, strict byte 01fh ; 24 1f 11664 11846 cmp AL, strict byte 005h ; 3c 05 11665 je near 07 ddah ; 0f 84 01 ff11666 jmp short 0 7e6ah ; eb 8f11847 je near 07f9dh ; 0f 84 01 ff 11848 jmp short 0802dh ; eb 8f 11667 11849 lea sp, [bp-00ah] ; 8d 66 f6 11668 11850 pop di ; 5f … … 11673 11855 pop bp ; 5d 11674 11856 retn ; c3 11675 _scsi_init: ; 0xf 7ee5LB 0x6611857 _scsi_init: ; 0xf80a8 LB 0x66 11676 11858 push bp ; 55 11677 11859 mov bp, sp ; 89 e5 11678 11860 mov dx, strict word 0000eh ; ba 0e 00 11679 11861 mov ax, strict word 00040h ; b8 40 00 11680 call 0166ch ; e8 7b 9711862 call 0166ch ; e8 b8 95 11681 11863 mov bx, 00122h ; bb 22 01 11682 11864 mov es, ax ; 8e c0 … … 11689 11871 ; sub ah, ah ; 2a e4 11690 11872 cmp AL, strict byte 055h ; 3c 55 11691 jne short 0 7f15h ; 75 0c11873 jne short 080d8h ; 75 0c 11692 11874 xor al, al ; 30 c0 11693 11875 mov dx, 00433h ; ba 33 04 11694 11876 out DX, AL ; ee 11695 11877 mov ax, 00430h ; b8 30 04 11696 call 07 b00h ; e8 eb fb11878 call 07cc3h ; e8 eb fb 11697 11879 mov AL, strict byte 055h ; b0 55 11698 11880 mov dx, 00436h ; ba 36 04 … … 11702 11884 ; sub ah, ah ; 2a e4 11703 11885 cmp AL, strict byte 055h ; 3c 55 11704 jne short 0 7f2eh ; 75 0c11886 jne short 080f1h ; 75 0c 11705 11887 xor al, al ; 30 c0 11706 11888 mov dx, 00437h ; ba 37 04 11707 11889 out DX, AL ; ee 11708 11890 mov ax, 00434h ; b8 34 04 11709 call 07 b00h ; e8 d2 fb11891 call 07cc3h ; e8 d2 fb 11710 11892 mov AL, strict byte 055h ; b0 55 11711 11893 mov dx, 0043ah ; ba 3a 04 … … 11715 11897 ; sub ah, ah ; 2a e4 11716 11898 cmp AL, strict byte 055h ; 3c 55 11717 jne short 0 7f47h ; 75 0c11899 jne short 0810ah ; 75 0c 11718 11900 xor al, al ; 30 c0 11719 11901 mov dx, 0043bh ; ba 3b 04 11720 11902 out DX, AL ; ee 11721 11903 mov ax, 00438h ; b8 38 04 11722 call 07 b00h ; e8 b9 fb11904 call 07cc3h ; e8 b9 fb 11723 11905 mov sp, bp ; 89 ec 11724 11906 pop bp ; 5d 11725 11907 retn ; c3 11726 high_bits_save_: ; 0xf 7f4bLB 0x1711908 high_bits_save_: ; 0xf810e LB 0x17 11727 11909 push bp ; 55 11728 11910 mov bp, sp ; 89 e5 … … 11736 11918 pop bp ; 5d 11737 11919 retn ; c3 11738 high_bits_restore_: ; 0xf 7f62LB 0x1711920 high_bits_restore_: ; 0xf8125 LB 0x17 11739 11921 push bp ; 55 11740 11922 mov bp, sp ; 89 e5 … … 11748 11930 pop bp ; 5d 11749 11931 retn ; c3 11750 ahci_ctrl_set_bits_: ; 0xf 7f79LB 0x4311932 ahci_ctrl_set_bits_: ; 0xf813c LB 0x43 11751 11933 push bp ; 55 11752 11934 mov bp, sp ; 89 e5 … … 11786 11968 pop bp ; 5d 11787 11969 retn ; c3 11788 ahci_ctrl_clear_bits_: ; 0xf 7fbcLB 0x4711970 ahci_ctrl_clear_bits_: ; 0xf817f LB 0x47 11789 11971 push bp ; 55 11790 11972 mov bp, sp ; 89 e5 … … 11826 12008 pop bp ; 5d 11827 12009 retn ; c3 11828 ahci_ctrl_is_bit_set_: ; 0xf8 003LB 0x3912010 ahci_ctrl_is_bit_set_: ; 0xf81c6 LB 0x39 11829 12011 push bp ; 55 11830 12012 mov bp, sp ; 89 e5 … … 11848 12030 xchg dx, ax ; 92 11849 12031 test dx, di ; 85 fa 11850 jne short 08 02fh ; 75 0412032 jne short 081f2h ; 75 04 11851 12033 test ax, bx ; 85 d8 11852 je short 08 033h ; 74 0412034 je short 081f6h ; 74 04 11853 12035 mov AL, strict byte 001h ; b0 01 11854 jmp short 08 035h ; eb 0212036 jmp short 081f8h ; eb 02 11855 12037 xor al, al ; 30 c0 11856 12038 lea sp, [bp-004h] ; 8d 66 fc … … 11859 12041 pop bp ; 5d 11860 12042 retn ; c3 11861 ahci_ctrl_extract_bits_: ; 0xf8 03cLB 0x1b12043 ahci_ctrl_extract_bits_: ; 0xf81ff LB 0x1b 11862 12044 push si ; 56 11863 12045 push bp ; 55 … … 11867 12049 and dx, cx ; 21 ca 11868 12050 movzx cx, byte [bp+006h] ; 0f b6 4e 06 11869 jcxz 08 052h ; e3 0612051 jcxz 08215h ; e3 06 11870 12052 shr dx, 1 ; d1 ea 11871 12053 rcr ax, 1 ; d1 d8 11872 loop 08 04ch ; e2 fa12054 loop 0820fh ; e2 fa 11873 12055 pop bp ; 5d 11874 12056 pop si ; 5e 11875 12057 retn 00002h ; c2 02 00 11876 ahci_addr_to_phys_: ; 0xf8 057LB 0x1e12058 ahci_addr_to_phys_: ; 0xf821a LB 0x1e 11877 12059 push bx ; 53 11878 12060 push cx ; 51 … … 11885 12067 sal ax, 1 ; d1 e0 11886 12068 rcl dx, 1 ; d1 d2 11887 loop 08 065h ; e2 fa12069 loop 08228h ; e2 fa 11888 12070 xor cx, cx ; 31 c9 11889 12071 add ax, bx ; 01 d8 … … 11893 12075 pop bx ; 5b 11894 12076 retn ; c3 11895 ahci_port_cmd_sync_: ; 0xf8 075LB 0xd512077 ahci_port_cmd_sync_: ; 0xf8238 LB 0xd5 11896 12078 push bp ; 55 11897 12079 mov bp, sp ; 89 e5 … … 11907 12089 mov di, word [es:si+00260h] ; 26 8b bc 60 02 11908 12090 cmp AL, strict byte 0ffh ; 3c ff 11909 je near 08 142h ; 0f 84 aa 0012091 je near 08305h ; 0f 84 aa 00 11910 12092 movzx cx, byte [es:si+00263h] ; 26 0f b6 8c 63 02 11911 12093 xor dx, dx ; 31 d2 … … 11919 12101 lea ax, [si+00080h] ; 8d 84 80 00 11920 12102 mov dx, es ; 8c c2 11921 call 08 057h ; e8 96 ff12103 call 0821ah ; e8 96 ff 11922 12104 mov es, [bp-00ah] ; 8e 46 f6 11923 12105 mov word [es:si+008h], ax ; 26 89 44 08 … … 11929 12111 xor cx, cx ; 31 c9 11930 12112 mov ax, di ; 89 f8 11931 call 0 7f79h ; e8 98 fe12113 call 0813ch ; e8 98 fe 11932 12114 lea ax, [si+00138h] ; 8d 84 38 01 11933 12115 cwd ; 99 … … 11956 12138 mov dx, si ; 89 f2 11957 12139 mov ax, di ; 89 f8 11958 call 08 003h ; e8 e2 fe12140 call 081c6h ; e8 e2 fe 11959 12141 test al, al ; 84 c0 11960 je short 08 104h ; 74 df12142 je short 082c7h ; 74 df 11961 12143 mov bx, strict word 00001h ; bb 01 00 11962 12144 xor cx, cx ; 31 c9 11963 12145 mov dx, si ; 89 f2 11964 12146 mov ax, di ; 89 f8 11965 call 0 7f79h ; e8 48 fe12147 call 0813ch ; e8 48 fe 11966 12148 mov dx, word [bp-00ch] ; 8b 56 f4 11967 12149 add dx, 00118h ; 81 c2 18 01 … … 11969 12151 xor cx, cx ; 31 c9 11970 12152 mov ax, di ; 89 f8 11971 call 0 7fbch ; e8 7a fe12153 call 0817fh ; e8 7a fe 11972 12154 lea sp, [bp-006h] ; 8d 66 fa 11973 12155 pop di ; 5f … … 11976 12158 pop bp ; 5d 11977 12159 retn ; c3 11978 ahci_cmd_data_: ; 0xf8 14aLB 0x1ca12160 ahci_cmd_data_: ; 0xf830d LB 0x1ca 11979 12161 push bp ; 55 11980 12162 mov bp, sp ; 89 e5 … … 12000 12182 mov ax, 00080h ; b8 80 00 12001 12183 mov dx, word [bp-00ah] ; 8b 56 f6 12002 call 09 59ah ; e8 111412184 call 0975ah ; e8 0e 14 12003 12185 mov es, [bp-00ah] ; 8e 46 f6 12004 12186 mov word [es:si+00080h], 08027h ; 26 c7 84 80 00 27 80 … … 12016 12198 shr bx, 1 ; d1 eb 12017 12199 rcr ax, 1 ; d1 d8 12018 loop 08 1bch ; e2 fa12200 loop 0837fh ; e2 fa 12019 12201 mov es, [bp-00ah] ; 8e 46 f6 12020 12202 mov byte [es:si+00085h], al ; 26 88 84 85 00 … … 12041 12223 mov bx, word [bp-016h] ; 8b 5e ea 12042 12224 xor cx, cx ; 31 c9 12043 call 09 569h ; e8 441312225 call 09729h ; e8 41 13 12044 12226 push dx ; 52 12045 12227 push ax ; 50 … … 12049 12231 mov ax, 0026ah ; b8 6a 02 12050 12232 mov dx, word [bp-00ah] ; 8b 56 f6 12051 call 09 47fh ; e8 44 1212233 call 09642h ; e8 44 12 12052 12234 mov es, [bp-00ah] ; 8e 46 f6 12053 12235 movzx ax, byte [es:si+00263h] ; 26 0f b6 84 63 02 … … 12069 12251 mov es, [bp-012h] ; 8e 46 ee 12070 12252 cmp word [es:di+01ch], strict byte 00000h ; 26 83 7d 1c 00 12071 je short 08 2b4h ; 74 2c12253 je short 08477h ; 74 2c 12072 12254 mov dx, word [es:di+01ch] ; 26 8b 55 1c 12073 12255 dec dx ; 4a … … 12088 12270 movzx dx, byte [es:bx+00263h] ; 26 0f b6 97 63 02 12089 12271 cmp ax, dx ; 39 d0 12090 jnc short 08 2ceh ; 73 0312272 jnc short 08491h ; 73 03 12091 12273 inc ax ; 40 12092 jmp short 08 2beh ; eb f012274 jmp short 08481h ; eb f0 12093 12275 mov al, byte [bp-008h] ; 8a 46 f8 12094 12276 cmp AL, strict byte 035h ; 3c 35 12095 jne short 08 2dbh ; 75 0612277 jne short 0849eh ; 75 06 12096 12278 mov byte [bp-008h], 040h ; c6 46 f8 40 12097 jmp short 08 2efh ; eb 1412279 jmp short 084b2h ; eb 14 12098 12280 cmp AL, strict byte 0a0h ; 3c a0 12099 jne short 08 2ebh ; 75 0c12281 jne short 084aeh ; 75 0c 12100 12282 or byte [bp-008h], 020h ; 80 4e f8 20 12101 12283 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 12102 jmp short 08 2efh ; eb 0412284 jmp short 084b2h ; eb 04 12103 12285 mov byte [bp-008h], 000h ; c6 46 f8 00 12104 12286 or byte [bp-008h], 005h ; 80 4e f8 05 … … 12106 12288 mov ax, word [bp-00eh] ; 8b 46 f2 12107 12289 mov dx, word [bp-00ch] ; 8b 56 f4 12108 call 08 075h ; e8 75 fd12290 call 08238h ; e8 75 fd 12109 12291 mov ax, word [bp-00eh] ; 8b 46 f2 12110 12292 add ax, 0026ah ; 05 6a 02 12111 12293 mov dx, word [bp-00ch] ; 8b 56 f4 12112 call 09 4f8h ; e8 ec 1112294 call 096bbh ; e8 ec 11 12113 12295 lea sp, [bp-006h] ; 8d 66 fa 12114 12296 pop di ; 5f … … 12117 12299 pop bp ; 5d 12118 12300 retn ; c3 12119 ahci_port_deinit_current_: ; 0xf8 314LB 0x14412301 ahci_port_deinit_current_: ; 0xf84d7 LB 0x144 12120 12302 push bp ; 55 12121 12303 mov bp, sp ; 89 e5 … … 12132 12314 mov byte [bp-00ah], al ; 88 46 f6 12133 12315 cmp AL, strict byte 0ffh ; 3c ff 12134 je near 08 44fh ; 0f 84 17 0112316 je near 08612h ; 0f 84 17 01 12135 12317 movzx dx, al ; 0f b6 d0 12136 12318 sal dx, 007h ; c1 e2 07 … … 12139 12321 xor cx, cx ; 31 c9 12140 12322 mov ax, si ; 89 f0 12141 call 0 7fbch ; e8 70 fc12323 call 0817fh ; e8 70 fc 12142 12324 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 12143 12325 sal ax, 007h ; c1 e0 07 … … 12148 12330 xor cx, cx ; 31 c9 12149 12331 mov ax, si ; 89 f0 12150 call 08 003h ; e8 9d fc12332 call 081c6h ; e8 9d fc 12151 12333 cmp AL, strict byte 001h ; 3c 01 12152 je short 08 34ch ; 74 e212334 je short 0850fh ; 74 e2 12153 12335 mov cx, strict word 00020h ; b9 20 00 12154 12336 xor bx, bx ; 31 db 12155 12337 mov ax, di ; 89 f8 12156 12338 mov dx, word [bp-00ch] ; 8b 56 f4 12157 call 09 59ah ; e8 231212339 call 0975ah ; e8 20 12 12158 12340 lea ax, [di+00080h] ; 8d 85 80 00 12159 12341 mov cx, strict word 00040h ; b9 40 00 12160 12342 xor bx, bx ; 31 db 12161 12343 mov dx, word [bp-00ch] ; 8b 56 f4 12162 call 09 59ah ; e8 141212344 call 0975ah ; e8 11 12 12163 12345 lea ax, [di+00200h] ; 8d 85 00 02 12164 12346 mov cx, strict word 00060h ; b9 60 00 12165 12347 xor bx, bx ; 31 db 12166 12348 mov dx, word [bp-00ch] ; 8b 56 f4 12167 call 09 59ah ; e8 051212349 call 0975ah ; e8 02 12 12168 12350 mov ax, word [bp-00eh] ; 8b 46 f2 12169 12351 add ax, 00108h ; 05 08 01 … … 12267 12449 pop bp ; 5d 12268 12450 retn ; c3 12269 ahci_port_init_: ; 0xf8 458LB 0x20612451 ahci_port_init_: ; 0xf861b LB 0x206 12270 12452 push bp ; 55 12271 12453 mov bp, sp ; 89 e5 … … 12277 12459 mov word [bp-00ah], dx ; 89 56 f6 12278 12460 mov byte [bp-008h], bl ; 88 5e f8 12279 call 08 314h ; e8 a8 fe12461 call 084d7h ; e8 a8 fe 12280 12462 movzx dx, bl ; 0f b6 d3 12281 12463 sal dx, 007h ; c1 e2 07 … … 12285 12467 mov bx, strict word 00011h ; bb 11 00 12286 12468 xor cx, cx ; 31 c9 12287 call 0 7fbch ; e8 36 fb12469 call 0817fh ; e8 36 fb 12288 12470 movzx di, byte [bp-008h] ; 0f b6 7e f8 12289 12471 sal di, 007h ; c1 e7 07 … … 12293 12475 mov bx, 0c011h ; bb 11 c0 12294 12476 xor cx, cx ; 31 c9 12295 call 08 003h ; e8 62 fb12477 call 081c6h ; e8 62 fb 12296 12478 cmp AL, strict byte 001h ; 3c 01 12297 je short 08 486h ; 74 e112479 je short 08649h ; 74 e1 12298 12480 mov cx, strict word 00020h ; b9 20 00 12299 12481 xor bx, bx ; 31 db 12300 12482 mov ax, si ; 89 f0 12301 12483 mov dx, word [bp-00ah] ; 8b 56 f6 12302 call 09 59ah ; e8 e81012484 call 0975ah ; e8 e5 10 12303 12485 lea ax, [si+00080h] ; 8d 84 80 00 12304 12486 mov cx, strict word 00040h ; b9 40 00 12305 12487 xor bx, bx ; 31 db 12306 12488 mov dx, word [bp-00ah] ; 8b 56 f6 12307 call 09 59ah ; e8 d91012489 call 0975ah ; e8 d6 10 12308 12490 mov ax, si ; 89 f0 12309 12491 add ah, 002h ; 80 c4 02 … … 12312 12494 xor bx, bx ; 31 db 12313 12495 mov dx, word [bp-00ah] ; 8b 56 f6 12314 call 09 59ah ; e8 c61012496 call 0975ah ; e8 c3 10 12315 12497 lea ax, [di+00108h] ; 8d 85 08 01 12316 12498 cwd ; 99 … … 12326 12508 mov ax, word [bp-00ch] ; 8b 46 f4 12327 12509 mov dx, word [bp-00ah] ; 8b 56 f6 12328 call 08 057h ; e8 60 fb12510 call 0821ah ; e8 60 fb 12329 12511 mov es, [bp-00ah] ; 8e 46 f6 12330 12512 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 … … 12371 12553 mov ax, si ; 89 f0 12372 12554 mov dx, word [bp-00ah] ; 8b 56 f6 12373 call 08 057h ; e8 f4 fa12555 call 0821ah ; e8 f4 fa 12374 12556 mov es, [bp-00ah] ; 8e 46 f6 12375 12557 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 … … 12476 12658 pop bp ; 5d 12477 12659 retn ; c3 12478 @ahci_read_sectors: ; 0xf8 65eLB 0x9412660 @ahci_read_sectors: ; 0xf8821 LB 0x94 12479 12661 push bp ; 55 12480 12662 mov bp, sp ; 89 e5 … … 12485 12667 sub di, strict byte 0000ch ; 83 ef 0c 12486 12668 cmp di, strict byte 00004h ; 83 ff 04 12487 jbe short 08 682h ; 76 0f12669 jbe short 08845h ; 76 0f 12488 12670 push di ; 57 12489 12671 push 00c66h ; 68 66 0c 12490 12672 push 00c78h ; 68 78 0c 12491 12673 push strict byte 00007h ; 6a 07 12492 call 01972h ; e8 f3 9212674 call 01972h ; e8 30 91 12493 12675 add sp, strict byte 00008h ; 83 c4 08 12494 12676 les bx, [bp+004h] ; c4 5e 04 12495 12677 mov dx, word [es:bx+001eeh] ; 26 8b 97 ee 01 12496 12678 xor ax, ax ; 31 c0 12497 call 0 7f4bh ; e8 bc f812679 call 0810eh ; e8 bc f8 12498 12680 mov es, [bp+006h] ; 8e 46 06 12499 12681 add di, bx ; 01 df … … 12502 12684 mov dx, word [es:di+001eeh] ; 26 8b 95 ee 01 12503 12685 xor ax, ax ; 31 c0 12504 call 08 458h ; e8 b1 fd12686 call 0861bh ; e8 b1 fd 12505 12687 mov bx, strict word 00025h ; bb 25 00 12506 12688 mov ax, di ; 89 f8 12507 12689 mov dx, word [bp+006h] ; 8b 56 06 12508 call 08 14ah ; e8 98 fa12690 call 0830dh ; e8 98 fa 12509 12691 mov es, [bp+006h] ; 8e 46 06 12510 12692 mov bx, di ; 89 fb … … 12526 12708 mov dx, word [es:bx+001eeh] ; 26 8b 97 ee 01 12527 12709 xor ax, ax ; 31 c0 12528 call 0 7f62h ; e8 7b f812710 call 08125h ; e8 7b f8 12529 12711 xor ax, ax ; 31 c0 12530 12712 lea sp, [bp-004h] ; 8d 66 fc … … 12533 12715 pop bp ; 5d 12534 12716 retn 00004h ; c2 04 00 12535 @ahci_write_sectors: ; 0xf8 6f2LB 0x7012717 @ahci_write_sectors: ; 0xf88b5 LB 0x70 12536 12718 push bp ; 55 12537 12719 mov bp, sp ; 89 e5 … … 12543 12725 sub bx, strict byte 0000ch ; 83 eb 0c 12544 12726 cmp bx, strict byte 00004h ; 83 fb 04 12545 jbe short 08 71ah ; 76 0f12727 jbe short 088ddh ; 76 0f 12546 12728 push bx ; 53 12547 12729 push 00c97h ; 68 97 0c 12548 12730 push 00c78h ; 68 78 0c 12549 12731 push strict byte 00007h ; 6a 07 12550 call 01972h ; e8 5b 9212732 call 01972h ; e8 98 90 12551 12733 add sp, strict byte 00008h ; 83 c4 08 12552 12734 mov es, cx ; 8e c1 12553 12735 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12554 12736 xor ax, ax ; 31 c0 12555 call 0 7f4bh ; e8 25 f812737 call 0810eh ; e8 25 f8 12556 12738 mov es, cx ; 8e c1 12557 12739 add bx, si ; 01 f3 … … 12559 12741 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12560 12742 xor ax, ax ; 31 c0 12561 call 08 458h ; e8 1e fd12743 call 0861bh ; e8 1e fd 12562 12744 mov bx, strict word 00035h ; bb 35 00 12563 12745 mov ax, si ; 89 f0 12564 12746 mov dx, cx ; 89 ca 12565 call 08 14ah ; e8 06 fa12747 call 0830dh ; e8 06 fa 12566 12748 mov es, cx ; 8e c1 12567 12749 mov dx, word [es:si+00ah] ; 26 8b 54 0a … … 12569 12751 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12570 12752 xor ax, ax ; 31 c0 12571 call 0 7f62h ; e8 0a f812753 call 08125h ; e8 0a f8 12572 12754 xor ax, ax ; 31 c0 12573 12755 lea sp, [bp-002h] ; 8d 66 fe … … 12575 12757 pop bp ; 5d 12576 12758 retn 00004h ; c2 04 00 12577 ahci_cmd_packet_: ; 0xf8 762LB 0x17312759 ahci_cmd_packet_: ; 0xf8925 LB 0x173 12578 12760 push bp ; 55 12579 12761 mov bp, sp ; 89 e5 … … 12587 12769 mov dx, strict word 0000eh ; ba 0e 00 12588 12770 mov ax, strict word 00040h ; b8 40 00 12589 call 0166ch ; e8 ef 8e12771 call 0166ch ; e8 2c 8d 12590 12772 mov si, 00122h ; be 22 01 12591 12773 mov word [bp-008h], ax ; 89 46 f8 12592 12774 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12593 jne short 08 7a8h ; 75 1f12594 mov bx, 00da 2h ; bb a20d12775 jne short 0896bh ; 75 1f 12776 mov bx, 00da8h ; bb a8 0d 12595 12777 mov cx, ds ; 8c d9 12596 12778 mov ax, strict word 00004h ; b8 04 00 12597 call 01931h ; e8 9d 9112779 call 01931h ; e8 da 8f 12598 12780 push 00caah ; 68 aa 0c 12599 12781 push 00cbah ; 68 ba 0c 12600 12782 push strict byte 00004h ; 6a 04 12601 call 01972h ; e8 d3 9112783 call 01972h ; e8 10 90 12602 12784 add sp, strict byte 00006h ; 83 c4 06 12603 12785 mov ax, strict word 00001h ; b8 01 00 12604 jmp near 08 8cch ; e9 24 0112786 jmp near 08a8fh ; e9 24 01 12605 12787 test byte [bp+004h], 001h ; f6 46 04 01 12606 jne short 08 7a2h ; 75 f412788 jne short 08965h ; 75 f4 12607 12789 mov ax, word [bp+006h] ; 8b 46 06 12608 12790 mov dx, word [bp+008h] ; 8b 56 08 … … 12610 12792 sal ax, 1 ; d1 e0 12611 12793 rcl dx, 1 ; d1 d2 12612 loop 08 7b7h ; e2 fa12794 loop 0897ah ; e2 fa 12613 12795 mov es, [bp-008h] ; 8e 46 f8 12614 12796 mov word [es:si], ax ; 26 89 04 … … 12622 12804 mov dx, word [bp+008h] ; 8b 56 08 12623 12805 xor cx, cx ; 31 c9 12624 call 09 530h ; e8 4c0d12806 call 096f0h ; e8 49 0d 12625 12807 mov word [es:si+00ah], ax ; 26 89 44 0a 12626 12808 xor di, di ; 31 ff … … 12632 12814 xor ax, ax ; 31 c0 12633 12815 mov dx, word [bp-00ah] ; 8b 56 f6 12634 call 0 7f4bh ; e8 47 f712816 call 0810eh ; e8 47 f7 12635 12817 mov es, [bp-008h] ; 8e 46 f8 12636 12818 mov bx, word [bp-014h] ; 8b 5e ec … … 12639 12821 mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01 12640 12822 xor ax, ax ; 31 c0 12641 call 08 458h ; e8 3c fc12823 call 0861bh ; e8 3c fc 12642 12824 movzx ax, byte [bp-006h] ; 0f b6 46 fa 12643 12825 push ax ; 50 … … 12646 12828 mov ax, 000c0h ; b8 c0 00 12647 12829 mov dx, word [bp-00ah] ; 8b 56 f6 12648 call 09 5a7h ; e8 770d12830 call 09767h ; e8 74 0d 12649 12831 mov es, [bp-008h] ; 8e 46 f8 12650 12832 mov word [es:si+014h], di ; 26 89 7c 14 … … 12653 12835 mov ax, word [es:si+01ah] ; 26 8b 44 1a 12654 12836 test ax, ax ; 85 c0 12655 je short 08 86eh ; 74 2712837 je short 08a31h ; 74 27 12656 12838 dec ax ; 48 12657 12839 mov es, [bp-00ah] ; 8e 46 f6 … … 12666 12848 mov ax, si ; 89 f0 12667 12849 mov dx, word [bp-008h] ; 8b 56 f8 12668 call 08 14ah ; e8 d1 f812850 call 0830dh ; e8 d1 f8 12669 12851 les bx, [bp-00eh] ; c4 5e f2 12670 12852 mov ax, word [es:bx+004h] ; 26 8b 47 04 … … 12689 12871 mov ax, word [bp-00eh] ; 8b 46 f2 12690 12872 mov dx, word [bp-00ch] ; 8b 56 f4 12691 call 0 7f62h ; e8 aa f612873 call 08125h ; e8 aa f6 12692 12874 les bx, [bp-00eh] ; c4 5e f2 12693 12875 mov ax, word [es:bx+006h] ; 26 8b 47 06 12694 12876 or ax, word [es:bx+004h] ; 26 0b 47 04 12695 jne short 08 8cah ; 75 0512877 jne short 08a8dh ; 75 05 12696 12878 mov ax, strict word 00004h ; b8 04 00 12697 jmp short 08 8cch ; eb 0212879 jmp short 08a8fh ; eb 02 12698 12880 xor ax, ax ; 31 c0 12699 12881 lea sp, [bp-004h] ; 8d 66 fc … … 12702 12884 pop bp ; 5d 12703 12885 retn 0000ch ; c2 0c 00 12704 ahci_port_detect_device_: ; 0xf8 8d5LB 0x45112886 ahci_port_detect_device_: ; 0xf8a98 LB 0x451 12705 12887 push bp ; 55 12706 12888 mov bp, sp ; 89 e5 … … 12714 12896 movzx di, bl ; 0f b6 fb 12715 12897 mov bx, di ; 89 fb 12716 call 08 458h ; e8 69 fb12898 call 0861bh ; e8 69 fb 12717 12899 mov dx, strict word 0000eh ; ba 0e 00 12718 12900 mov ax, strict word 00040h ; b8 40 00 12719 call 0166ch ; e8 74 8d12901 call 0166ch ; e8 b1 8b 12720 12902 mov word [bp-010h], 00122h ; c7 46 f0 22 01 12721 12903 mov word [bp-00eh], ax ; 89 46 f2 … … 12786 12968 mov bx, strict word 0000fh ; bb 0f 00 12787 12969 xor cx, cx ; 31 c9 12788 call 08 03ch ; e8 9a f612970 call 081ffh ; e8 9a f6 12789 12971 test ax, ax ; 85 c0 12790 je near 08 d1eh ; 0f 84 76 0312972 je near 08ee1h ; 0f 84 76 03 12791 12973 movzx ax, byte [bp-008h] ; 0f b6 46 f8 12792 12974 sal ax, 007h ; c1 e0 07 … … 12816 12998 mov bx, strict word 0000fh ; bb 0f 00 12817 12999 xor cx, cx ; 31 c9 12818 call 08 03ch ; e8 4e f613000 call 081ffh ; e8 4e f6 12819 13001 cmp ax, strict word 00001h ; 3d 01 00 12820 je short 08 9a8h ; 74 b513002 je short 08b6bh ; 74 b5 12821 13003 push strict byte 00000h ; 6a 00 12822 13004 mov bx, strict word 0000fh ; bb 0f 00 … … 12824 13006 mov ax, di ; 89 f8 12825 13007 mov dx, word [bp-01ah] ; 8b 56 e6 12826 call 08 03ch ; e8 3a f613008 call 081ffh ; e8 3a f6 12827 13009 cmp ax, strict word 00003h ; 3d 03 00 12828 jne near 08 d1eh ; 0f 85 15 0313010 jne near 08ee1h ; 0f 85 15 03 12829 13011 mov ax, word [bp-016h] ; 8b 46 ea 12830 13012 add ax, 00130h ; 05 30 01 … … 12853 13035 mov byte [bp-00ch], al ; 88 46 f4 12854 13036 cmp AL, strict byte 004h ; 3c 04 12855 jnc near 08 d1eh ; 0f 83 cf 0213037 jnc near 08ee1h ; 0f 83 cf 02 12856 13038 mov dx, word [bp-016h] ; 8b 56 ea 12857 13039 add dx, 00118h ; 81 c2 18 01 … … 12860 13042 mov bx, strict word 00010h ; bb 10 00 12861 13043 xor cx, cx ; 31 c9 12862 call 0 7f79h ; e8 13 f513044 call 0813ch ; e8 13 f5 12863 13045 mov ax, word [bp-016h] ; 8b 46 ea 12864 13046 add ax, 00124h ; 05 24 01 … … 12884 13066 add cl, 00ch ; 80 c1 0c 12885 13067 test dx, dx ; 85 d2 12886 jne near 08 c7ah ; 0f 85 d8 0113068 jne near 08e3dh ; 0f 85 d8 01 12887 13069 cmp ax, 00101h ; 3d 01 01 12888 jne near 08 c7ah ; 0f 85 d1 0113070 jne near 08e3dh ; 0f 85 d1 01 12889 13071 les bx, [bp-010h] ; c4 5e f0 12890 13072 db 066h, 026h, 0c7h, 007h, 000h, 000h, 000h, 000h … … 12898 13080 mov ax, word [bp-010h] ; 8b 46 f0 12899 13081 mov dx, es ; 8c c2 12900 call 08 14ah ; e8 76 f613082 call 0830dh ; e8 76 f6 12901 13083 mov byte [bp-00ah], cl ; 88 4e f6 12902 13084 test byte [bp-00226h], 080h ; f6 86 da fd 80 … … 12915 13097 mov di, word [bp-001ach] ; 8b be 54 fe 12916 13098 cmp di, 00fffh ; 81 ff ff 0f 12917 jne short 08 b19h ; 75 1013099 jne short 08cdch ; 75 10 12918 13100 cmp ax, strict word 0ffffh ; 3d ff ff 12919 jne short 08 b19h ; 75 0b13101 jne short 08cdch ; 75 0b 12920 13102 mov ax, word [bp-0015eh] ; 8b 86 a2 fe 12921 13103 mov word [bp-014h], ax ; 89 46 ec … … 12946 13128 mov al, byte [bp-00ch] ; 8a 46 f4 12947 13129 cmp AL, strict byte 001h ; 3c 01 12948 jc short 08 b84h ; 72 0c12949 jbe short 08 b8ch ; 76 1213130 jc short 08d47h ; 72 0c 13131 jbe short 08d4fh ; 76 12 12950 13132 cmp AL, strict byte 003h ; 3c 03 12951 je short 08 b94h ; 74 1613133 je short 08d57h ; 74 16 12952 13134 cmp AL, strict byte 002h ; 3c 02 12953 je short 08 b90h ; 74 0e12954 jmp short 08 bddh ; eb 5913135 je short 08d53h ; 74 0e 13136 jmp short 08da0h ; eb 59 12955 13137 test al, al ; 84 c0 12956 jne short 08 bddh ; 75 5513138 jne short 08da0h ; 75 55 12957 13139 mov DL, strict byte 040h ; b2 40 12958 jmp short 08 b96h ; eb 0a13140 jmp short 08d59h ; eb 0a 12959 13141 mov DL, strict byte 048h ; b2 48 12960 jmp short 08 b96h ; eb 0613142 jmp short 08d59h ; eb 06 12961 13143 mov DL, strict byte 050h ; b2 50 12962 jmp short 08 b96h ; eb 0213144 jmp short 08d59h ; eb 02 12963 13145 mov DL, strict byte 058h ; b2 58 12964 13146 mov al, dl ; 88 d0 … … 12966 13148 movzx bx, al ; 0f b6 d8 12967 13149 mov ax, bx ; 89 d8 12968 call 016ach ; e8 0a 8b13150 call 016ach ; e8 47 89 12969 13151 test al, al ; 84 c0 12970 je short 08 bddh ; 74 3713152 je short 08da0h ; 74 37 12971 13153 mov al, dl ; 88 d0 12972 13154 db 0feh, 0c0h 12973 13155 ; inc al ; fe c0 12974 13156 xor ah, ah ; 30 e4 12975 call 016ach ; e8 fd 8a13157 call 016ach ; e8 3a 89 12976 13158 xor ah, ah ; 30 e4 12977 13159 mov si, ax ; 89 c6 12978 13160 sal si, 008h ; c1 e6 08 12979 13161 movzx ax, dl ; 0f b6 c2 12980 call 016ach ; e8 f0 8a13162 call 016ach ; e8 2d 89 12981 13163 xor ah, ah ; 30 e4 12982 13164 add ax, si ; 01 f0 … … 12985 13167 add AL, strict byte 002h ; 04 02 12986 13168 xor ah, ah ; 30 e4 12987 call 016ach ; e8 e0 8a13169 call 016ach ; e8 1d 89 12988 13170 xor ah, ah ; 30 e4 12989 13171 mov word [bp-026h], ax ; 89 46 da 12990 13172 mov ax, bx ; 89 d8 12991 call 016ach ; e8 d6 8a13173 call 016ach ; e8 13 89 12992 13174 xor ah, ah ; 30 e4 12993 13175 mov word [bp-022h], ax ; 89 46 de 12994 jmp short 08 beah ; eb 0d13176 jmp short 08dadh ; eb 0d 12995 13177 mov bx, word [bp-014h] ; 8b 5e ec 12996 13178 mov cx, di ; 89 f9 12997 13179 mov dx, ss ; 8c d2 12998 13180 lea ax, [bp-026h] ; 8d 46 da 12999 call 05 3f3h ; e8 09 c813000 mov bx, 00da 2h ; bb a20d13181 call 055b6h ; e8 09 c8 13182 mov bx, 00da8h ; bb a8 0d 13001 13183 mov cx, ds ; 8c d9 13002 13184 mov ax, strict word 00004h ; b8 04 00 13003 call 01931h ; e8 3c 8d13185 call 01931h ; e8 79 8b 13004 13186 push di ; 57 13005 13187 push word [bp-014h] ; ff 76 ec … … 13018 13200 push 00cdah ; 68 da 0c 13019 13201 push strict byte 00004h ; 6a 04 13020 call 01972h ; e8 54 8d13202 call 01972h ; e8 91 8b 13021 13203 add sp, strict byte 00018h ; 83 c4 18 13022 13204 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 … … 13047 13229 mov dx, strict word 00075h ; ba 75 00 13048 13230 mov ax, strict word 00040h ; b8 40 00 13049 call 01650h ; e8 e7 8913231 call 01650h ; e8 24 88 13050 13232 db 0feh, 0c0h 13051 13233 ; inc al ; fe c0 … … 13053 13235 mov dx, strict word 00075h ; ba 75 00 13054 13236 mov ax, strict word 00040h ; b8 40 00 13055 call 0165eh ; e8 e7 8913056 jmp near 08 d10h ; e9 96 0013237 call 0165eh ; e8 24 88 13238 jmp near 08ed3h ; e9 96 00 13057 13239 cmp dx, 0eb14h ; 81 fa 14 eb 13058 jne near 08 d10h ; 0f 85 8e 0013240 jne near 08ed3h ; 0f 85 8e 00 13059 13241 cmp ax, 00101h ; 3d 01 01 13060 jne near 08 d10h ; 0f 85 87 0013242 jne near 08ed3h ; 0f 85 87 00 13061 13243 les bx, [bp-010h] ; c4 5e f0 13062 13244 db 066h, 026h, 0c7h, 007h, 000h, 000h, 000h, 000h … … 13070 13252 mov ax, word [bp-010h] ; 8b 46 f0 13071 13253 mov dx, es ; 8c c2 13072 call 08 14ah ; e8 96 f413254 call 0830dh ; e8 96 f4 13073 13255 test byte [bp-00226h], 080h ; f6 86 da fd 80 13074 13256 db 00fh, 095h, 0c0h … … 13109 13291 pop bp ; 5d 13110 13292 retn ; c3 13111 ahci_mem_alloc_: ; 0xf8 d26LB 0x4313293 ahci_mem_alloc_: ; 0xf8ee9 LB 0x43 13112 13294 push bp ; 55 13113 13295 mov bp, sp ; 89 e5 … … 13119 13301 mov dx, 00413h ; ba 13 04 13120 13302 xor ax, ax ; 31 c0 13121 call 0166ch ; e8 36 8913303 call 0166ch ; e8 73 87 13122 13304 test ax, ax ; 85 c0 13123 je short 08 d5fh ; 74 2513305 je short 08f22h ; 74 25 13124 13306 dec ax ; 48 13125 13307 mov bx, ax ; 89 c3 … … 13128 13310 sal ax, 1 ; d1 e0 13129 13311 rcl dx, 1 ; d1 d2 13130 loop 08 d42h ; e2 fa13312 loop 08f05h ; e2 fa 13131 13313 mov si, ax ; 89 c6 13132 13314 mov di, dx ; 89 d7 … … 13134 13316 shr di, 1 ; d1 ef 13135 13317 rcr si, 1 ; d1 de 13136 loop 08 d4fh ; e2 fa13318 loop 08f12h ; e2 fa 13137 13319 mov dx, 00413h ; ba 13 04 13138 13320 xor ax, ax ; 31 c0 13139 call 0167ah ; e8 1d 8913321 call 0167ah ; e8 5a 87 13140 13322 mov ax, si ; 89 f0 13141 13323 lea sp, [bp-00ah] ; 8d 66 f6 … … 13147 13329 pop bp ; 5d 13148 13330 retn ; c3 13149 ahci_hba_init_: ; 0xf8 d69LB 0x12513331 ahci_hba_init_: ; 0xf8f2c LB 0x125 13150 13332 push bp ; 55 13151 13333 mov bp, sp ; 89 e5 … … 13159 13341 mov dx, strict word 0000eh ; ba 0e 00 13160 13342 mov ax, strict word 00040h ; b8 40 00 13161 call 0166ch ; e8 ed 8813343 call 0166ch ; e8 2a 87 13162 13344 mov bx, 00122h ; bb 22 01 13163 13345 mov word [bp-010h], ax ; 89 46 f0 … … 13176 13358 shr eax, 010h ; 66 c1 e8 10 13177 13359 xchg dx, ax ; 92 13178 call 08 d26h ; e8 82 ff13360 call 08ee9h ; e8 82 ff 13179 13361 mov di, ax ; 89 c7 13180 13362 test ax, ax ; 85 c0 13181 je near 0 8e6dh ; 0f 84 c1 0013363 je near 09030h ; 0f 84 c1 00 13182 13364 mov es, [bp-010h] ; 8e 46 f0 13183 13365 mov word [es:bx+001eeh], di ; 26 89 bf ee 01 … … 13193 13375 mov dx, strict word 00004h ; ba 04 00 13194 13376 mov ax, si ; 89 f0 13195 call 0 7f79h ; e8 99 f113377 call 0813ch ; e8 99 f1 13196 13378 mov ax, strict word 00004h ; b8 04 00 13197 13379 xor cx, cx ; 31 c9 … … 13210 13392 xchg dx, ax ; 92 13211 13393 test AL, strict byte 001h ; a8 01 13212 jne short 08 de0h ; 75 de13394 jne short 08fa3h ; 75 de 13213 13395 xor ax, ax ; 31 c0 13214 13396 xor cx, cx ; 31 c9 … … 13228 13410 mov bx, strict word 0001fh ; bb 1f 00 13229 13411 xor cx, cx ; 31 c9 13230 call 08 03ch ; e8 16 f213412 call 081ffh ; e8 16 f2 13231 13413 db 0feh, 0c0h 13232 13414 ; inc al ; fe c0 13233 13415 mov byte [bp-00eh], al ; 88 46 f2 13234 13416 mov byte [bp-00ch], 000h ; c6 46 f4 00 13235 jmp short 08 e3ah ; eb 0913417 jmp short 08ffdh ; eb 09 13236 13418 inc byte [bp-00ch] ; fe 46 f4 13237 13419 cmp byte [bp-00ch], 020h ; 80 7e f4 20 13238 jnc short 0 8e6bh ; 73 3113420 jnc short 0902eh ; 73 31 13239 13421 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 13240 13422 mov ax, strict word 00001h ; b8 01 00 13241 13423 xor dx, dx ; 31 d2 13242 jcxz 0 8e4bh ; e3 0613424 jcxz 0900eh ; e3 06 13243 13425 sal ax, 1 ; d1 e0 13244 13426 rcl dx, 1 ; d1 d2 13245 loop 0 8e45h ; e2 fa13427 loop 09008h ; e2 fa 13246 13428 mov bx, ax ; 89 c3 13247 13429 mov cx, dx ; 89 d1 13248 13430 mov dx, strict word 0000ch ; ba 0c 00 13249 13431 mov ax, si ; 89 f0 13250 call 08 003h ; e8 ac f113432 call 081c6h ; e8 ac f1 13251 13433 test al, al ; 84 c0 13252 je short 08 e31h ; 74 d613434 je short 08ff4h ; 74 d6 13253 13435 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 13254 13436 xor ax, ax ; 31 c0 13255 13437 mov dx, di ; 89 fa 13256 call 08 8d5h ; e8 6f fa13438 call 08a98h ; e8 6f fa 13257 13439 dec byte [bp-00eh] ; fe 4e f2 13258 jne short 08 e31h ; 75 c613440 jne short 08ff4h ; 75 c6 13259 13441 xor ax, ax ; 31 c0 13260 13442 lea sp, [bp-00ah] ; 8d 66 f6 … … 13266 13448 pop bp ; 5d 13267 13449 retn ; c3 13268 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 5dh, 08fh, 03bh, 08fh, 041h, 08fh, 047h, 08fh, 04dh13269 db 0 8fh, 053h, 08fh, 059h, 08fh, 05dh, 08fh13270 _ahci_init: ; 0xf 8e8eLB 0xfe13450 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 020h, 091h, 0feh, 090h, 004h, 091h, 00ah, 091h, 010h 13451 db 091h, 016h, 091h, 01ch, 091h, 020h, 091h 13452 _ahci_init: ; 0xf9051 LB 0xfe 13271 13453 push bp ; 55 13272 13454 mov bp, sp ; 89 e5 … … 13276 13458 mov ax, 00601h ; b8 01 06 13277 13459 mov dx, strict word 00001h ; ba 01 00 13278 call 09 3ach ; e8 0d 0513460 call 0956fh ; e8 0d 05 13279 13461 mov dx, ax ; 89 c2 13280 13462 cmp ax, strict word 0ffffh ; 3d ff ff 13281 je near 0 8f85h ; 0f 84 dd 0013463 je near 09148h ; 0f 84 dd 00 13282 13464 xor al, al ; 30 c0 13283 13465 shr ax, 008h ; c1 e8 08 … … 13287 13469 xor ah, ah ; 30 e4 13288 13470 mov bx, strict word 00034h ; bb 34 00 13289 call 09 3d7h ; e8 1a 0513471 call 0959ah ; e8 1a 05 13290 13472 mov cl, al ; 88 c1 13291 13473 test cl, cl ; 84 c9 13292 je short 0 8ee6h ; 74 2313474 je short 090a9h ; 74 23 13293 13475 movzx bx, cl ; 0f b6 d9 13294 13476 movzx di, byte [bp-008h] ; 0f b6 7e f8 … … 13296 13478 mov dx, di ; 89 fa 13297 13479 mov ax, si ; 89 f0 13298 call 09 3d7h ; e8 02 0513480 call 0959ah ; e8 02 05 13299 13481 cmp AL, strict byte 012h ; 3c 12 13300 je short 0 8ee6h ; 74 0d13482 je short 090a9h ; 74 0d 13301 13483 mov al, cl ; 88 c8 13302 13484 db 0feh, 0c0h … … 13305 13487 mov dx, di ; 89 fa 13306 13488 mov ax, si ; 89 f0 13307 jmp short 0 8ebah ; eb d413489 jmp short 0907dh ; eb d4 13308 13490 test cl, cl ; 84 c9 13309 je near 0 8f85h ; 0f 84 99 0013491 je near 09148h ; 0f 84 99 00 13310 13492 add cl, 002h ; 80 c1 02 13311 13493 movzx bx, cl ; 0f b6 d9 … … 13314 13496 mov dx, di ; 89 fa 13315 13497 mov ax, si ; 89 f0 13316 call 09 3d7h ; e8 d6 0413498 call 0959ah ; e8 d6 04 13317 13499 cmp AL, strict byte 010h ; 3c 10 13318 jne near 0 8f85h ; 0f 85 7e 0013500 jne near 09148h ; 0f 85 7e 00 13319 13501 mov byte [bp-006h], 000h ; c6 46 fa 00 13320 13502 mov al, cl ; 88 c8 … … 13323 13505 mov dx, di ; 89 fa 13324 13506 mov ax, si ; 89 f0 13325 call 09 3fbh ; e8 e2 0413507 call 095beh ; e8 e2 04 13326 13508 mov dx, ax ; 89 c2 13327 13509 and ax, strict word 0000fh ; 25 0f 00 13328 13510 sub ax, strict word 00004h ; 2d 04 00 13329 13511 cmp ax, strict word 0000bh ; 3d 0b 00 13330 jnbe short 0 8f5dh ; 77 3713512 jnbe short 09120h ; 77 37 13331 13513 push CS ; 0e 13332 13514 pop ES ; 07 13333 13515 mov cx, strict word 00008h ; b9 08 00 13334 mov di, 0 8e77h ; bf 77 8e13516 mov di, 0903ah ; bf 3a 90 13335 13517 repne scasb ; f2 ae 13336 13518 sal cx, 1 ; d1 e1 13337 13519 mov di, cx ; 89 cf 13338 mov ax, word [cs:di-0 7182h] ; 2e 8b 85 7e 8e13520 mov ax, word [cs:di-06fbfh] ; 2e 8b 85 41 90 13339 13521 jmp ax ; ff e0 13340 13522 mov byte [bp-006h], 010h ; c6 46 fa 10 13341 jmp short 0 8f5dh ; eb 1c13523 jmp short 09120h ; eb 1c 13342 13524 mov byte [bp-006h], 014h ; c6 46 fa 14 13343 jmp short 0 8f5dh ; eb 1613525 jmp short 09120h ; eb 16 13344 13526 mov byte [bp-006h], 018h ; c6 46 fa 18 13345 jmp short 0 8f5dh ; eb 1013527 jmp short 09120h ; eb 10 13346 13528 mov byte [bp-006h], 01ch ; c6 46 fa 1c 13347 jmp short 0 8f5dh ; eb 0a13529 jmp short 09120h ; eb 0a 13348 13530 mov byte [bp-006h], 020h ; c6 46 fa 20 13349 jmp short 0 8f5dh ; eb 0413531 jmp short 09120h ; eb 04 13350 13532 mov byte [bp-006h], 024h ; c6 46 fa 24 13351 13533 mov si, dx ; 89 d6 … … 13354 13536 mov al, byte [bp-006h] ; 8a 46 fa 13355 13537 test al, al ; 84 c0 13356 je short 0 8f85h ; 74 1913538 je short 09148h ; 74 19 13357 13539 movzx bx, al ; 0f b6 d8 13358 13540 movzx dx, byte [bp-008h] ; 0f b6 56 f8 13359 13541 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13360 call 09 41dh ; e8 a3 0413542 call 095e0h ; e8 a3 04 13361 13543 test AL, strict byte 001h ; a8 01 13362 je short 0 8f85h ; 74 0713544 je short 09148h ; 74 07 13363 13545 and AL, strict byte 0f0h ; 24 f0 13364 13546 add ax, si ; 01 f0 13365 call 08 d69h ; e8 e4 fd13547 call 08f2ch ; e8 e4 fd 13366 13548 lea sp, [bp-004h] ; 8d 66 fc 13367 13549 pop di ; 5f … … 13369 13551 pop bp ; 5d 13370 13552 retn ; c3 13371 apm_out_str_: ; 0xf 8f8cLB 0x3913553 apm_out_str_: ; 0xf914f LB 0x39 13372 13554 push bp ; 55 13373 13555 mov bp, sp ; 89 e5 … … 13375 13557 mov bx, ax ; 89 c3 13376 13558 cmp byte [bx], 000h ; 80 3f 00 13377 je short 0 8fa1h ; 74 0a13559 je short 09164h ; 74 0a 13378 13560 mov al, byte [bx] ; 8a 07 13379 13561 out DX, AL ; ee … … 13382 13564 db 00ah, 0c0h 13383 13565 ; or al, al ; 0a c0 13384 jne short 0 8f99h ; 75 f813566 jne short 0915ch ; 75 f8 13385 13567 lea sp, [bp-002h] ; 8d 66 fe 13386 13568 pop bx ; 5b 13387 13569 pop bp ; 5d 13388 13570 retn ; c3 13389 call 04439h ; e8 8f b4 13390 nop ; 90 13391 cli ; fa 13392 db 08fh, 015h 13393 ; pop word [di] ; 8f 15 13394 nop ; 90 13395 mov AH, strict byte 090h ; b4 90 13571 stosw ; ab 13572 xchg cx, ax ; 91 13573 jnbe short 09100h ; 77 92 13574 mov bp, 0d891h ; bd 91 d8 13575 xchg cx, ax ; 91 13576 jnbe short 09106h ; 77 92 13577 add dx, word [bp+si-06d89h] ; 03 92 77 92 13578 or byte [bp+si-06db4h], dl ; 08 92 4c 92 13579 dec sp ; 4c 13580 xchg dx, ax ; 92 13581 dec sp ; 4c 13582 xchg dx, ax ; 92 13583 inc di ; 47 13584 xchg dx, ax ; 92 13585 dec sp ; 4c 13586 xchg dx, ax ; 92 13587 dec sp ; 4c 13588 xchg dx, ax ; 92 13396 13589 inc ax ; 40 13397 nop ; 90 13398 mov AH, strict byte 090h ; b4 90 13399 inc bp ; 45 13400 nop ; 90 13401 mov word [bx+si-06f77h], dx ; 89 90 89 90 13402 mov word [bx+si-06f7ch], dx ; 89 90 84 90 13403 mov word [bx+si-06f77h], dx ; 89 90 89 90 13404 jnl short 08f55h ; 7d 90 13405 _apm_function: ; 0xf8fc5 LB 0xf5 13590 xchg dx, ax ; 92 13591 _apm_function: ; 0xf9188 LB 0xf5 13406 13592 push bp ; 55 13407 13593 mov bp, sp ; 89 e5 … … 13411 13597 xor ah, ah ; 30 e4 13412 13598 cmp ax, strict word 0000eh ; 3d 0e 00 13413 jnbe near 09 089h ; 0f 87 b0 0013599 jnbe near 0924ch ; 0f 87 b0 00 13414 13600 mov bx, ax ; 89 c3 13415 13601 add bx, ax ; 01 c3 13416 13602 mov dx, word [bp+018h] ; 8b 56 18 13417 13603 or dl, 001h ; 80 ca 01 13418 jmp word [cs:bx-0 7059h] ; 2e ff a7 a7 8f13604 jmp word [cs:bx-06e96h] ; 2e ff a7 6a 91 13419 13605 mov word [bp+012h], 00102h ; c7 46 12 02 01 13420 13606 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 13421 13607 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 13422 jmp near 09 0b4h ; e9 ba 0013608 jmp near 09277h ; e9 ba 00 13423 13609 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 13424 mov word [bp+00ch], 09 614h ; c7 46 0c 14 9613610 mov word [bp+00ch], 097d4h ; c7 46 0c d4 97 13425 13611 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 13426 13612 mov ax, strict word 0fff0h ; b8 f0 ff 13427 13613 mov word [bp+006h], ax ; 89 46 06 13428 13614 mov word [bp+004h], ax ; 89 46 04 13429 jmp near 09 0b4h ; e9 9f 0013615 jmp near 09277h ; e9 9f 00 13430 13616 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 13431 13617 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 13440 13626 mov si, ax ; 89 c6 13441 13627 sal esi, 010h ; 66 c1 e6 10 13442 jmp near 09 0b4h ; e9 74 0013628 jmp near 09277h ; e9 74 00 13443 13629 sti ; fb 13444 13630 hlt ; f4 13445 jmp near 09 0b4h ; e9 6f 0013631 jmp near 09277h ; e9 6f 00 13446 13632 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 13447 je short 09 06ah ; 74 1f13633 je short 0922dh ; 74 1f 13448 13634 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 13449 je short 09 062h ; 74 1113635 je short 09225h ; 74 11 13450 13636 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 13451 jne short 09 072h ; 75 1b13637 jne short 09235h ; 75 1b 13452 13638 mov dx, 08900h ; ba 00 89 13453 13639 mov ax, 00d12h ; b8 12 0d 13454 call 0 8f8ch ; e8 2c ff13455 jmp short 09 0b4h ; eb 5213640 call 0914fh ; e8 2c ff 13641 jmp short 09277h ; eb 52 13456 13642 mov dx, 08900h ; ba 00 89 13457 13643 mov ax, 00d1ah ; b8 1a 0d 13458 jmp short 09 05dh ; eb f313644 jmp short 09220h ; eb f3 13459 13645 mov dx, 08900h ; ba 00 89 13460 13646 mov ax, 00d22h ; b8 22 0d 13461 jmp short 09 05dh ; eb eb13647 jmp short 09220h ; eb eb 13462 13648 or ah, 00ah ; 80 cc 0a 13463 13649 mov word [bp+012h], ax ; 89 46 12 13464 13650 mov word [bp+018h], dx ; 89 56 18 13465 jmp short 09 0b4h ; eb 3713651 jmp short 09277h ; eb 37 13466 13652 mov word [bp+012h], 00102h ; c7 46 12 02 01 13467 jmp short 09 0b4h ; eb 3013653 jmp short 09277h ; eb 30 13468 13654 or ah, 080h ; 80 cc 80 13469 jmp short 09 075h ; eb ec13470 mov bx, 00da 2h ; bb a20d13655 jmp short 09238h ; eb ec 13656 mov bx, 00da8h ; bb a8 0d 13471 13657 mov cx, ds ; 8c d9 13472 13658 mov ax, strict word 00004h ; b8 04 00 13473 call 01931h ; e8 9d 8813659 call 01931h ; e8 da 86 13474 13660 push word [bp+00ch] ; ff 76 0c 13475 13661 push word [bp+012h] ; ff 76 12 13476 13662 push 00d2bh ; 68 2b 0d 13477 13663 push strict byte 00004h ; 6a 04 13478 call 01972h ; e8 d0 8813664 call 01972h ; e8 0d 87 13479 13665 add sp, strict byte 00008h ; 83 c4 08 13480 13666 mov ax, word [bp+012h] ; 8b 46 12 … … 13487 13673 pop bp ; 5d 13488 13674 retn ; c3 13489 pci16_select_reg_: ; 0xf9 0baLB 0x2413675 pci16_select_reg_: ; 0xf927d LB 0x24 13490 13676 push bp ; 55 13491 13677 mov bp, sp ; 89 e5 … … 13504 13690 pop bp ; 5d 13505 13691 retn ; c3 13506 pci16_find_device_: ; 0xf9 0deLB 0xf713692 pci16_find_device_: ; 0xf92a1 LB 0xf7 13507 13693 push bp ; 55 13508 13694 mov bp, sp ; 89 e5 … … 13518 13704 mov byte [bp-008h], 000h ; c6 46 f8 00 13519 13705 test bl, 007h ; f6 c3 07 13520 jne short 09 126h ; 75 2d13706 jne short 092e9h ; 75 2d 13521 13707 mov dx, strict word 0000eh ; ba 0e 00 13522 13708 mov ax, bx ; 89 d8 13523 call 09 0bah ; e8 b9 ff13709 call 0927dh ; e8 b9 ff 13524 13710 mov dx, 00cfeh ; ba fe 0c 13525 13711 in AL, DX ; ec … … 13528 13714 mov byte [bp-006h], al ; 88 46 fa 13529 13715 cmp AL, strict byte 0ffh ; 3c ff 13530 jne short 09 114h ; 75 0613716 jne short 092d7h ; 75 06 13531 13717 add bx, strict byte 00008h ; 83 c3 08 13532 jmp near 09 1a7h ; e9 93 0013718 jmp near 0936ah ; e9 93 00 13533 13719 test byte [bp-006h], 080h ; f6 46 fa 80 13534 je short 09 121h ; 74 0713720 je short 092e4h ; 74 07 13535 13721 mov word [bp-00ah], strict word 00001h ; c7 46 f6 01 00 13536 jmp short 09 126h ; eb 0513722 jmp short 092e9h ; eb 05 13537 13723 mov word [bp-00ah], strict word 00008h ; c7 46 f6 08 00 13538 13724 mov al, byte [bp-006h] ; 8a 46 fa 13539 13725 and AL, strict byte 007h ; 24 07 13540 13726 cmp AL, strict byte 001h ; 3c 01 13541 jne short 09 14eh ; 75 1f13727 jne short 09311h ; 75 1f 13542 13728 mov ax, bx ; 89 d8 13543 13729 shr ax, 008h ; c1 e8 08 13544 13730 test ax, ax ; 85 c0 13545 jne short 09 14eh ; 75 1613731 jne short 09311h ; 75 16 13546 13732 mov dx, strict word 0001ah ; ba 1a 00 13547 13733 mov ax, bx ; 89 d8 13548 call 09 0bah ; e8 7a ff13734 call 0927dh ; e8 7a ff 13549 13735 mov dx, 00cfeh ; ba fe 0c 13550 13736 in AL, DX ; ec … … 13552 13738 ; sub ah, ah ; 2a e4 13553 13739 cmp al, byte [bp-008h] ; 3a 46 f8 13554 jbe short 09 14eh ; 76 0313740 jbe short 09311h ; 76 03 13555 13741 mov byte [bp-008h], al ; 88 46 f8 13556 13742 test di, di ; 85 ff 13557 je short 09 157h ; 74 0513743 je short 0931ah ; 74 05 13558 13744 mov dx, strict word 00008h ; ba 08 00 13559 jmp short 09 159h ; eb 0213745 jmp short 0931ch ; eb 02 13560 13746 xor dx, dx ; 31 d2 13561 13747 mov ax, bx ; 89 d8 13562 call 09 0bah ; e8 5c ff13748 call 0927dh ; e8 5c ff 13563 13749 mov dx, 00cfch ; ba fc 0c 13564 13750 in eax, DX ; 66 ed … … 13571 13757 mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00 13572 13758 test di, di ; 85 ff 13573 je short 09 188h ; 74 0f13759 je short 0934bh ; 74 0f 13574 13760 mov cx, strict word 00008h ; b9 08 00 13575 13761 shr dx, 1 ; d1 ea 13576 13762 rcr ax, 1 ; d1 d8 13577 loop 09 17ch ; e2 fa13763 loop 0933fh ; e2 fa 13578 13764 mov word [bp-00eh], ax ; 89 46 f2 13579 13765 mov word [bp-00ch], dx ; 89 56 f4 13580 13766 mov ax, word [bp-00ch] ; 8b 46 f4 13581 13767 cmp ax, word [bp-014h] ; 3b 46 ec 13582 jne short 09 198h ; 75 0813768 jne short 0935bh ; 75 08 13583 13769 mov ax, word [bp-00eh] ; 8b 46 f2 13584 13770 cmp ax, word [bp-012h] ; 3b 46 ee 13585 je short 09 19eh ; 74 0613771 je short 09361h ; 74 06 13586 13772 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 13587 je short 09 1a4h ; 74 0613773 je short 09367h ; 74 06 13588 13774 dec si ; 4e 13589 13775 cmp si, strict byte 0ffffh ; 83 fe ff 13590 je short 09 1b6h ; 74 1213776 je short 09379h ; 74 12 13591 13777 add bx, word [bp-00ah] ; 03 5e f6 13592 13778 mov dx, bx ; 89 da … … 13594 13780 movzx ax, byte [bp-008h] ; 0f b6 46 f8 13595 13781 cmp dx, ax ; 39 c2 13596 jbe near 09 0f4h ; 0f 86 3e ff13782 jbe near 092b7h ; 0f 86 3e ff 13597 13783 cmp si, strict byte 0ffffh ; 83 fe ff 13598 jne short 09 1bfh ; 75 0413784 jne short 09382h ; 75 04 13599 13785 mov ax, bx ; 89 d8 13600 jmp short 09 1c2h ; eb 0313786 jmp short 09385h ; eb 03 13601 13787 mov ax, strict word 0ffffh ; b8 ff ff 13602 13788 lea sp, [bp-004h] ; 8d 66 fc … … 13605 13791 pop bp ; 5d 13606 13792 retn ; c3 13607 mov BH, strict byte 092h ; b7 92 13608 rcl word [bp+si-06d1ch], 1 ; d1 92 e4 92 13609 stc ; f9 13610 xchg dx, ax ; 92 13611 or AL, strict byte 093h ; 0c 93 13612 pop DS ; 1f 13613 xchg bx, ax ; 93 13614 _pci16_function: ; 0xf91d5 LB 0x1d7 13793 jp short 09322h ; 7a 94 13794 xchg sp, ax ; 94 13795 xchg sp, ax ; 94 13796 cmpsw ; a7 13797 xchg sp, ax ; 94 13798 mov sp, 0cf94h ; bc 94 cf 13799 xchg sp, ax ; 94 13800 loop 0932ch ; e2 94 13801 _pci16_function: ; 0xf9398 LB 0x1d7 13615 13802 push bp ; 55 13616 13803 mov bp, sp ; 89 e5 … … 13626 13813 xor ah, ah ; 30 e4 13627 13814 cmp bx, strict byte 00003h ; 83 fb 03 13628 jc short 09 20eh ; 72 1a13629 jbe short 09 266h ; 76 7013815 jc short 093d1h ; 72 1a 13816 jbe short 09429h ; 76 70 13630 13817 cmp bx, strict byte 0000eh ; 83 fb 0e 13631 je near 09 333h ; 0f 84 36 0113818 je near 094f6h ; 0f 84 36 01 13632 13819 cmp bx, strict byte 00008h ; 83 fb 08 13633 jc near 09 378h ; 0f 82 74 0113820 jc near 0953bh ; 0f 82 74 01 13634 13821 cmp bx, strict byte 0000dh ; 83 fb 0d 13635 jbe near 09 28bh ; 0f 86 80 0013636 jmp near 09 378h ; e9 6a 0113822 jbe near 0944eh ; 0f 86 80 00 13823 jmp near 0953bh ; e9 6a 01 13637 13824 cmp bx, strict byte 00002h ; 83 fb 02 13638 je short 09 236h ; 74 2313825 je short 093f9h ; 74 23 13639 13826 cmp bx, strict byte 00001h ; 83 fb 01 13640 jne near 09 378h ; 0f 85 5e 0113827 jne near 0953bh ; 0f 85 5e 01 13641 13828 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 13642 13829 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 13644 13831 mov word [bp+018h], 04350h ; c7 46 18 50 43 13645 13832 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 13646 jmp near 09 3a5h ; e9 6f 0113833 jmp near 09568h ; e9 6f 01 13647 13834 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 13648 jne short 09 242h ; 75 0613835 jne short 09405h ; 75 06 13649 13836 or ah, 083h ; 80 cc 83 13650 jmp near 09 39eh ; e9 5c 0113837 jmp near 09561h ; e9 5c 01 13651 13838 mov bx, word [bp+008h] ; 8b 5e 08 13652 13839 mov dx, word [bp+01ch] ; 8b 56 1c 13653 13840 mov ax, word [bp+018h] ; 8b 46 18 13654 13841 xor cx, cx ; 31 c9 13655 call 09 0deh ; e8 8e fe13842 call 092a1h ; e8 8e fe 13656 13843 cmp ax, strict word 0ffffh ; 3d ff ff 13657 jne short 09 260h ; 75 0b13844 jne short 09423h ; 75 0b 13658 13845 mov ax, word [bp+020h] ; 8b 46 20 13659 13846 xor ah, ah ; 30 e4 13660 13847 or ah, 086h ; 80 cc 86 13661 jmp near 09 39eh ; e9 3e 0113848 jmp near 09561h ; e9 3e 01 13662 13849 mov word [bp+014h], ax ; 89 46 14 13663 jmp near 09 3a5h ; e9 3f 0113850 jmp near 09568h ; e9 3f 01 13664 13851 mov bx, word [bp+008h] ; 8b 5e 08 13665 13852 mov ax, word [bp+01ch] ; 8b 46 1c 13666 13853 mov dx, word [bp+01eh] ; 8b 56 1e 13667 13854 mov cx, strict word 00001h ; b9 01 00 13668 call 09 0deh ; e8 69 fe13855 call 092a1h ; e8 69 fe 13669 13856 cmp ax, strict word 0ffffh ; 3d ff ff 13670 jne short 09 285h ; 75 0b13857 jne short 09448h ; 75 0b 13671 13858 mov ax, word [bp+020h] ; 8b 46 20 13672 13859 xor ah, ah ; 30 e4 13673 13860 or ah, 086h ; 80 cc 86 13674 jmp near 09 39eh ; e9 19 0113861 jmp near 09561h ; e9 19 01 13675 13862 mov word [bp+014h], ax ; 89 46 14 13676 jmp near 09 3a5h ; e9 1a 0113863 jmp near 09568h ; e9 1a 01 13677 13864 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 13678 jc short 09 298h ; 72 0613865 jc short 0945bh ; 72 06 13679 13866 or ah, 087h ; 80 cc 87 13680 jmp near 09 39eh ; e9 06 0113867 jmp near 09561h ; e9 06 01 13681 13868 mov dx, word [bp+004h] ; 8b 56 04 13682 13869 mov ax, word [bp+014h] ; 8b 46 14 13683 call 09 0bah ; e8 19 fe13870 call 0927dh ; e8 19 fe 13684 13871 mov bx, word [bp+020h] ; 8b 5e 20 13685 13872 xor bh, bh ; 30 ff 13686 13873 sub bx, strict byte 00008h ; 83 eb 08 13687 13874 cmp bx, strict byte 00005h ; 83 fb 05 13688 jnbe near 09 3a5h ; 0f 87 f5 0013875 jnbe near 09568h ; 0f 87 f5 00 13689 13876 add bx, bx ; 01 db 13690 jmp word [cs:bx-06 e37h] ; 2e ff a7 c9 9113877 jmp word [cs:bx-06c74h] ; 2e ff a7 8c 93 13691 13878 mov bx, word [bp+01ch] ; 8b 5e 1c 13692 13879 xor bl, bl ; 30 db … … 13699 13886 or bx, ax ; 09 c3 13700 13887 mov word [bp+01ch], bx ; 89 5e 1c 13701 jmp near 09 3a5h ; e9 d4 0013888 jmp near 09568h ; e9 d4 00 13702 13889 mov dx, word [bp+004h] ; 8b 56 04 13703 13890 xor dh, dh ; 30 f6 … … 13706 13893 in ax, DX ; ed 13707 13894 mov word [bp+01ch], ax ; 89 46 1c 13708 jmp near 09 3a5h ; e9 c1 0013895 jmp near 09568h ; e9 c1 00 13709 13896 mov dx, 00cfch ; ba fc 0c 13710 13897 in eax, DX ; 66 ed … … 13715 13902 mov word [bp+01ch], ax ; 89 46 1c 13716 13903 mov word [bp+01eh], dx ; 89 56 1e 13717 jmp near 09 3a5h ; e9 ac 0013904 jmp near 09568h ; e9 ac 00 13718 13905 mov ax, word [bp+01ch] ; 8b 46 1c 13719 13906 mov dx, word [bp+004h] ; 8b 56 04 … … 13722 13909 add dx, 00cfch ; 81 c2 fc 0c 13723 13910 out DX, AL ; ee 13724 jmp near 09 3a5h ; e9 99 0013911 jmp near 09568h ; e9 99 00 13725 13912 mov ax, word [bp+01ch] ; 8b 46 1c 13726 13913 mov dx, word [bp+004h] ; 8b 56 04 … … 13729 13916 add dx, 00cfch ; 81 c2 fc 0c 13730 13917 out DX, ax ; ef 13731 jmp near 09 3a5h ; e9 86 0013918 jmp near 09568h ; e9 86 00 13732 13919 mov ax, word [bp+01ch] ; 8b 46 1c 13733 13920 mov cx, word [bp+01eh] ; 8b 4e 1e … … 13738 13925 ; mov ax, cx ; 8b c1 13739 13926 out DX, eax ; 66 ef 13740 jmp short 09 3a5h ; eb 7213927 jmp short 09568h ; eb 72 13741 13928 mov bx, word [bp+004h] ; 8b 5e 04 13742 13929 mov es, [bp+026h] ; 8e 46 26 … … 13745 13932 mov cx, word [0f4a0h] ; 8b 0e a0 f4 13746 13933 cmp cx, word [es:bx] ; 26 3b 0f 13747 jbe short 09 359h ; 76 1113934 jbe short 0951ch ; 76 11 13748 13935 mov ax, word [bp+020h] ; 8b 46 20 13749 13936 xor ah, ah ; 30 e4 … … 13751 13938 mov word [bp+020h], ax ; 89 46 20 13752 13939 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 13753 jmp short 09 36dh ; eb 1413940 jmp short 09530h ; eb 14 13754 13941 les di, [es:bx+002h] ; 26 c4 7f 02 13755 13942 mov si, 0f2c0h ; be c0 f2 … … 13763 13950 les bx, [bp-008h] ; c4 5e f8 13764 13951 mov word [es:bx], ax ; 26 89 07 13765 jmp short 09 3a5h ; eb 2d13766 mov bx, 00da 2h ; bb a20d13952 jmp short 09568h ; eb 2d 13953 mov bx, 00da8h ; bb a8 0d 13767 13954 mov cx, ds ; 8c d9 13768 13955 mov ax, strict word 00004h ; b8 04 00 13769 call 01931h ; e8 ae 8513956 call 01931h ; e8 eb 83 13770 13957 mov ax, word [bp+014h] ; 8b 46 14 13771 13958 push ax ; 50 … … 13774 13961 push 00d5eh ; 68 5e 0d 13775 13962 push strict byte 00004h ; 6a 04 13776 call 01972h ; e8 df 8513963 call 01972h ; e8 1c 84 13777 13964 add sp, strict byte 00008h ; 83 c4 08 13778 13965 mov ax, word [bp+020h] ; 8b 46 20 … … 13786 13973 pop bp ; 5d 13787 13974 retn ; c3 13788 pci_find_classcode_: ; 0xf9 3acLB 0x2b13975 pci_find_classcode_: ; 0xf956f LB 0x2b 13789 13976 push bp ; 55 13790 13977 mov bp, sp ; 89 e5 … … 13801 13988 int 01ah ; cd 1a 13802 13989 cmp ah, 000h ; 80 fc 00 13803 je near 09 3cdh ; 0f 84 03 0013990 je near 09590h ; 0f 84 03 00 13804 13991 mov bx, strict word 0ffffh ; bb ff ff 13805 13992 mov ax, bx ; 89 d8 … … 13810 13997 pop bp ; 5d 13811 13998 retn ; c3 13812 pci_read_config_byte_: ; 0xf9 3d7LB 0x2413999 pci_read_config_byte_: ; 0xf959a LB 0x24 13813 14000 push bp ; 55 13814 14001 mov bp, sp ; 89 e5 … … 13829 14016 pop bp ; 5d 13830 14017 retn ; c3 13831 pci_read_config_word_: ; 0xf9 3fbLB 0x2214018 pci_read_config_word_: ; 0xf95be LB 0x22 13832 14019 push bp ; 55 13833 14020 mov bp, sp ; 89 e5 … … 13848 14035 pop bp ; 5d 13849 14036 retn ; c3 13850 pci_read_config_dword_: ; 0xf9 41dLB 0x2714037 pci_read_config_dword_: ; 0xf95e0 LB 0x27 13851 14038 push bp ; 55 13852 14039 mov bp, sp ; 89 e5 … … 13869 14056 pop bp ; 5d 13870 14057 retn ; c3 13871 vds_is_present_: ; 0xf9 444LB 0x1d14058 vds_is_present_: ; 0xf9607 LB 0x1d 13872 14059 push bx ; 53 13873 14060 push bp ; 55 … … 13877 14064 mov es, ax ; 8e c0 13878 14065 test byte [es:bx], 020h ; 26 f6 07 20 13879 je short 09 45ch ; 74 0614066 je short 0961fh ; 74 06 13880 14067 mov ax, strict word 00001h ; b8 01 00 13881 14068 pop bp ; 5d … … 13886 14073 pop bx ; 5b 13887 14074 retn ; c3 13888 vds_real_to_lin_: ; 0xf9 461LB 0x1e14075 vds_real_to_lin_: ; 0xf9624 LB 0x1e 13889 14076 push bx ; 53 13890 14077 push cx ; 51 … … 13897 14084 sal ax, 1 ; d1 e0 13898 14085 rcl dx, 1 ; d1 d2 13899 loop 09 46fh ; e2 fa14086 loop 09632h ; e2 fa 13900 14087 xor cx, cx ; 31 c9 13901 14088 add ax, bx ; 01 d8 … … 13905 14092 pop bx ; 5b 13906 14093 retn ; c3 13907 vds_build_sg_list_: ; 0xf9 47fLB 0x7914094 vds_build_sg_list_: ; 0xf9642 LB 0x79 13908 14095 push bp ; 55 13909 14096 mov bp, sp ; 89 e5 … … 13919 14106 mov bx, word [bp+006h] ; 8b 5e 06 13920 14107 mov word [es:di+002h], bx ; 26 89 5d 02 13921 call 09 461h ; e8 c3 ff14108 call 09624h ; e8 c3 ff 13922 14109 mov es, si ; 8e c6 13923 14110 mov word [es:di+004h], ax ; 26 89 45 04 13924 14111 mov word [es:di+006h], dx ; 26 89 55 06 13925 14112 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 13926 call 09 444h ; e8 93 ff14113 call 09607h ; e8 93 ff 13927 14114 test ax, ax ; 85 c0 13928 je short 09 4c8h ; 74 1314115 je short 0968bh ; 74 13 13929 14116 mov es, si ; 8e c6 13930 14117 mov ax, 08105h ; b8 05 81 13931 14118 mov dx, strict word 00000h ; ba 00 00 13932 14119 int 04bh ; cd 4b 13933 jc near 09 4c5h ; 0f 82 02 0014120 jc near 09688h ; 0f 82 02 00 13934 14121 db 032h, 0c0h 13935 14122 ; xor al, al ; 32 c0 13936 14123 cbw ; 98 13937 jmp short 09 4efh ; eb 2714124 jmp short 096b2h ; eb 27 13938 14125 mov es, si ; 8e c6 13939 14126 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 13952 14139 pop bp ; 5d 13953 14140 retn 00004h ; c2 04 00 13954 vds_free_sg_list_: ; 0xf9 4f8 LB 0x3814141 vds_free_sg_list_: ; 0xf96bb LB 0x35 13955 14142 push bp ; 55 13956 14143 mov bp, sp ; 89 e5 … … 13958 14145 push di ; 57 13959 14146 mov bx, ax ; 89 c3 13960 call 09 444h ; e8 42 ff14147 call 09607h ; e8 42 ff 13961 14148 test ax, ax ; 85 c0 13962 je short 09 519h ; 74 1314149 je short 096dch ; 74 13 13963 14150 mov di, bx ; 89 df 13964 14151 mov es, dx ; 8e c2 … … 13966 14153 mov dx, strict word 00000h ; ba 00 00 13967 14154 int 04bh ; cd 4b 13968 jc near 09 518h ; 0f 82 02 0014155 jc near 096dbh ; 0f 82 02 00 13969 14156 db 032h, 0c0h 13970 14157 ; xor al, al ; 32 c0 … … 13977 14164 pop bp ; 5d 13978 14165 retn ; c3 13979 times 0x 8db 013980 __U4D: ; 0xf9 530 LB 0x3914166 times 0x5 db 0 14167 __U4D: ; 0xf96f0 LB 0x39 13981 14168 pushfw ; 9c 13982 14169 push eax ; 66 50 … … 14008 14195 popfw ; 9d 14009 14196 retn ; c3 14010 __U4M: ; 0xf9 569 LB 0x3114197 __U4M: ; 0xf9729 LB 0x31 14011 14198 pushfw ; 9c 14012 14199 push eax ; 66 50 … … 14033 14220 popfw ; 9d 14034 14221 retn ; c3 14035 _fmemset_: ; 0xf9 59a LB 0xd14222 _fmemset_: ; 0xf975a LB 0xd 14036 14223 push di ; 57 14037 14224 mov es, dx ; 8e c2 … … 14043 14230 pop di ; 5f 14044 14231 retn ; c3 14045 _fmemcpy_: ; 0xf9 5a7 LB 0x3314232 _fmemcpy_: ; 0xf9767 LB 0x33 14046 14233 push bp ; 55 14047 14234 db 08bh, 0ech … … 14063 14250 leave ; c9 14064 14251 retn ; c3 14065 add al, dh ; 00 f0 14066 xchg bp, ax ; 95 14067 repne xchg bp, ax ; f2 95 14068 not byte [di-06a0ah] ; f6 95 f6 95 14069 not byte [di-06a08h] ; f6 95 f8 95 14070 clc ; f8 14071 xchg bp, ax ; 95 14072 cli ; fa 14073 xchg bp, ax ; 95 14074 db 0feh 14075 xchg bp, ax ; 95 14076 db 0feh 14077 xchg bp, ax ; 95 14078 add byte [bp-069fbh], dl ; 00 96 05 96 14079 pop ES ; 07 14080 xchg si, ax ; 96 14081 apm_worker: ; 0xf95da LB 0x3a 14252 add byte [bx+si-04d69h], dh ; 00 b0 97 b2 14253 xchg di, ax ; 97 14254 mov DH, strict byte 097h ; b6 97 14255 mov DH, strict byte 097h ; b6 97 14256 mov DH, strict byte 097h ; b6 97 14257 mov ax, 0b897h ; b8 97 b8 14258 xchg di, ax ; 97 14259 mov dx, 0be97h ; ba 97 be 14260 xchg di, ax ; 97 14261 mov si, 0c097h ; be 97 c0 14262 xchg di, ax ; 97 14263 lds dx, [bx-06839h] ; c5 97 c7 97 14264 apm_worker: ; 0xf979a LB 0x3a 14082 14265 sti ; fb 14083 14266 push ax ; 50 … … 14091 14274 pop ax ; 58 14092 14275 mov AH, strict byte 053h ; b4 53 14093 jnc short 09 610h ; 73 2514094 jmp word [cs:bp-06 a40h] ; 2e ff a6 c0 9514095 jmp short 09 60eh ; eb 1c14276 jnc short 097d0h ; 73 25 14277 jmp word [cs:bp-06880h] ; 2e ff a6 80 97 14278 jmp short 097ceh ; eb 1c 14096 14279 sti ; fb 14097 14280 hlt ; f4 14098 jmp short 09 60eh ; eb 1814099 jmp short 09 60eh ; eb 1614100 jmp short 09 610h ; eb 1614281 jmp short 097ceh ; eb 18 14282 jmp short 097ceh ; eb 16 14283 jmp short 097d0h ; eb 16 14101 14284 mov AH, strict byte 080h ; b4 80 14102 jmp short 09 612h ; eb 1414103 jmp short 09 610h ; eb 1014285 jmp short 097d2h ; eb 14 14286 jmp short 097d0h ; eb 10 14104 14287 mov ax, 00102h ; b8 02 01 14105 jmp short 09 60eh ; eb 0914106 jmp short 09 60eh ; eb 0714288 jmp short 097ceh ; eb 09 14289 jmp short 097ceh ; eb 07 14107 14290 mov BL, strict byte 000h ; b3 00 14108 14291 mov cx, strict word 00000h ; b9 00 00 14109 jmp short 09 60eh ; eb 0014292 jmp short 097ceh ; eb 00 14110 14293 clc ; f8 14111 14294 retn ; c3 … … 14113 14296 stc ; f9 14114 14297 retn ; c3 14115 apm_pm16_entry: ; 0xf9 614 LB 0x1114298 apm_pm16_entry: ; 0xf97d4 LB 0x11 14116 14299 mov AH, strict byte 002h ; b4 02 14117 14300 push DS ; 1e … … 14121 14304 add bp, strict byte 00008h ; 83 c5 08 14122 14305 mov ds, bp ; 8e dd 14123 call 09 5dah ; e8 b8 ff14306 call 0979ah ; e8 b8 ff 14124 14307 pop bp ; 5d 14125 14308 pop DS ; 1f 14126 14309 retf ; cb 14127 14310 14128 ; Padding 0x4 3db bytes at 0xf962514129 times 1 7371db 014311 ; Padding 0x421b bytes at 0xf97e5 14312 times 16923 db 0 14130 14313 14131 14314 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 14174 14357 add bp, strict byte 00008h ; 83 c5 08 14175 14358 push ebp ; 66 55 14176 mov bp, 09 616h ; bd 16 9614359 mov bp, 097d6h ; bd d6 97 14177 14360 add byte [bx+si], al ; 00 00 14178 14361 push ebp ; 66 55 … … 14370 14553 xor bx, bx ; 31 db 14371 14554 db 00fh, 0b7h, 055h, 00ch 14372 ; movzx dx, word [di+00ch]; 0f b7 55 0c14555 ; movzx dx, [di+00ch] ; 0f b7 55 0c 14373 14556 db 00fh, 0b7h, 045h, 020h 14374 ; movzx ax, word [di+020h]; 0f b7 45 2014557 ; movzx ax, [di+020h] ; 0f b7 45 20 14375 14558 sal ax, 010h ; c1 e0 10 14376 14559 db 00fh, 0b7h, 04dh, 01ch 14377 ; movzx cx, word [di+01ch]; 0f b7 4d 1c14560 ; movzx cx, [di+01ch] ; 0f b7 4d 1c 14378 14561 or ax, cx ; 09 c8 14379 14562 call 0da81h ; e8 66 fe … … 14391 14574 add byte [bx+si], al ; 00 00 14392 14575 db 00fh, 0b7h, 055h, 00ch 14393 ; movzx dx, word [di+00ch]; 0f b7 55 0c14576 ; movzx dx, [di+00ch] ; 0f b7 55 0c 14394 14577 mov ax, word [di+020h] ; 8b 45 20 14395 14578 mov bx, strict word 00001h ; bb 01 00 … … 14415 14598 add byte [bx+si], al ; 00 00 14416 14599 db 00fh, 0b7h, 055h, 008h 14417 ; movzx dx, word [di+008h]; 0f b7 55 0814600 ; movzx dx, [di+008h] ; 0f b7 55 08 14418 14601 db 00fh, 0b7h, 045h, 018h 14419 ; movzx ax, word [di+018h]; 0f b7 45 1814602 ; movzx ax, [di+018h] ; 0f b7 45 18 14420 14603 call 0da5fh ; e8 d9 fd 14421 14604 db 0ffh … … 14484 14667 add byte [bx+si], al ; 00 00 14485 14668 db 00fh, 0b7h, 045h, 020h 14486 ; movzx ax, word [di+020h]; 0f b7 45 2014669 ; movzx ax, [di+020h] ; 0f b7 45 20 14487 14670 mov dx, word [di+008h] ; 8b 55 08 14488 14671 xor dh, dh ; 30 f6 … … 14501 14684 jmp short 0ddc3h ; eb 70 14502 14685 db 00fh, 0b7h, 045h, 008h 14503 ; movzx ax, word [di+008h]; 0f b7 45 0814686 ; movzx ax, [di+008h] ; 0f b7 45 08 14504 14687 mov es, [di+028h] ; 8e 45 28 14505 14688 mov [di-010h], es ; 8c 45 f0 … … 14780 14963 mov dx, 0c800h ; ba 00 c8 14781 14964 call 01600h ; e8 e7 33 14782 call 04 9b4h ; e8 98 6714965 call 04b77h ; e8 5b 69 14783 14966 pop DS ; 1f 14784 14967 mov ax, 0ff53h ; b8 53 ff … … 14896 15079 call 01badh ; e8 71 38 14897 15080 call 01fa7h ; e8 68 3c 14898 call 0 8e8eh ; e8 4c ab14899 call 0 7ee5h ; e8 a0 9b15081 call 09051h ; e8 0f ad 15082 call 080a8h ; e8 63 9d 14900 15083 call 0ed2fh ; e8 e7 09 14901 15084 call 0e2d2h ; e8 87 ff … … 14907 15090 mov dx, 0f000h ; ba 00 f0 14908 15091 call 01600h ; e8 a6 32 14909 call 03 698h ; e8 3b 5315092 call 0385bh ; e8 fe 54 14910 15093 sti ; fb 14911 15094 int 019h ; cd 19 … … 15005 15188 pop DS ; 1f 15006 15189 cld ; fc 15007 call 05 d9eh ; e8 5c 7615190 call 05f61h ; e8 1f 78 15008 15191 popaw ; 61 15009 15192 pop ES ; 07 … … 15080 15263 pop DS ; 1f 15081 15264 cld ; fc 15082 call 05 10ch ; e8 ca 6815265 call 052cfh ; e8 8d 6a 15083 15266 popaw ; 61 15084 15267 pop DS ; 1f … … 15097 15280 pop DS ; 1f 15098 15281 cld ; fc 15099 call 05 10ch ; e8 ac 6815282 call 052cfh ; e8 6f 6a 15100 15283 popaw ; 61 15101 15284 pop DS ; 1f … … 15199 15382 pop DS ; 1f 15200 15383 cld ; fc 15201 call 04 cb1h ; e8 e2 6215384 call 04e74h ; e8 a5 64 15202 15385 pop ES ; 07 15203 15386 popaw ; 61 … … 15215 15398 pop DS ; 1f 15216 15399 cld ; fc 15217 call 06 7f6h ; e8 11 7e15400 call 069b9h ; e8 d4 7f 15218 15401 pop DS ; 1f 15219 15402 pop ES ; 07 … … 15236 15419 cld ; fc 15237 15420 push 0ece9h ; 68 e9 ec 15238 jmp near 03 6dch ; e9 6b 4a15421 jmp near 0389fh ; e9 2e 4c 15239 15422 push ES ; 06 15240 15423 push ax ; 50 … … 15242 15425 push cx ; 51 15243 15426 push dx ; 52 15244 call 03 6b0h ; e8 37 4a15427 call 03873h ; e8 fa 4b 15245 15428 cmp AL, strict byte 000h ; 3c 00 15246 15429 je short 0ecabh ; 74 2e 15247 call 03 6c6h ; e8 46 4a15430 call 03889h ; e8 09 4c 15248 15431 pop dx ; 5a 15249 15432 push dx ; 52 … … 15263 15446 cld ; fc 15264 15447 push 0ece9h ; 68 e9 ec 15265 jmp near 03 cb0h ; e9 19 5015448 jmp near 03e73h ; e9 dc 51 15266 15449 and dl, 0e0h ; 80 e2 e0 15267 15450 db 03ah, 0c2h … … 15309 15492 shr ebx, 010h ; 66 c1 eb 10 15310 15493 push bx ; 53 15311 call 04 0e4h ; e8 0f 5415494 call 042a7h ; e8 d2 55 15312 15495 pop bx ; 5b 15313 15496 sal ebx, 010h ; 66 c1 e3 10 … … 15316 15499 cmp ah, 040h ; 80 fc 40 15317 15500 jnbe short 0ece6h ; 77 05 15318 call 05 491h ; e8 ad 6715501 call 05654h ; e8 70 69 15319 15502 jmp short 0ece9h ; eb 03 15320 call 05 8d2h ; e8 e9 6b15503 call 05a95h ; e8 ac 6d 15321 15504 int13_out: ; 0xfece9 LB 0x4 15322 15505 pop DS ; 1f … … 15531 15714 pop DS ; 1f 15532 15715 cld ; fc 15533 call 07 150h ; e8 73 8115716 call 07313h ; e8 36 83 15534 15717 popaw ; 61 15535 15718 pop ES ; 07 … … 15579 15762 mov ax, strict word 00001h ; b8 01 00 15580 15763 push ax ; 50 15581 call 04 74bh ; e8 7b 5615764 call 0490eh ; e8 3e 58 15582 15765 inc sp ; 44 15583 15766 inc sp ; 44 … … 15586 15769 mov ax, strict word 00002h ; b8 02 00 15587 15770 push ax ; 50 15588 call 04 74bh ; e8 6e 5615771 call 0490eh ; e8 31 58 15589 15772 inc sp ; 44 15590 15773 inc sp ; 44 … … 15593 15776 mov ax, strict word 00003h ; b8 03 00 15594 15777 push strict byte 00003h ; 6a 03 15595 call 04 74bh ; e8 60 5615778 call 0490eh ; e8 23 58 15596 15779 inc sp ; 44 15597 15780 inc sp ; 44 … … 15600 15783 mov ax, strict word 00004h ; b8 04 00 15601 15784 push ax ; 50 15602 call 04 74bh ; e8 53 5615785 call 0490eh ; e8 16 58 15603 15786 inc sp ; 44 15604 15787 inc sp ; 44 … … 15891 16074 cmp ah, 0c2h ; 80 fc c2 15892 16075 je short 0f887h ; 74 0e 15893 call 0 5fabh ; e8 2f 6716076 call 0616eh ; e8 f2 68 15894 16077 popaw ; 61 15895 16078 pop ES ; 07 … … 15897 16080 popfw ; 9d 15898 16081 jmp short 0f895h ; eb 13 15899 call 0 8fc5h ; e8 40 9716082 call 09188h ; e8 03 99 15900 16083 jmp short 0f87ch ; eb f5 15901 16084 int15_handler_mouse: ; 0xff887 LB 0x5 15902 call 06 dc5h ; e8 3b 7516085 call 06f88h ; e8 fe 76 15903 16086 jmp short 0f87ch ; eb f0 15904 16087 int15_handler32: ; 0xff88c LB 0x9 15905 16088 pushad ; 66 60 15906 call 06 478h ; e8 e7 6b16089 call 0663bh ; e8 aa 6d 15907 16090 popad ; 66 61 15908 16091 jmp short 0f87dh ; eb e8 … … 15934 16117 pop DS ; 1f 15935 16118 cld ; fc 15936 call 06 cfbh ; e8 3e 7416119 call 06ebeh ; e8 01 76 15937 16120 pop cx ; 59 15938 16121 jcxz 0f8cch ; e3 0c … … 16026 16209 db 018h, 018h, 018h, 000h, 018h, 018h, 018h, 000h, 0e0h, 030h, 030h, 01ch, 030h, 030h, 0e0h, 000h 16027 16210 db 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 000h 16028 db 080h, 0fch, 0b1h, 075h, 00fh, 006h, 01eh, 00eh, 01fh, 0fch, 066h, 060h, 0e8h, 0 58h, 093h, 066h16029 db 061h, 01fh, 007h, 0cfh, 006h, 01eh, 060h, 00eh, 01fh, 0fch, 0e8h, 0 07h, 06ch, 061h, 01fh, 007h16211 db 080h, 0fch, 0b1h, 075h, 00fh, 006h, 01eh, 00eh, 01fh, 0fch, 066h, 060h, 0e8h, 01bh, 095h, 066h 16212 db 061h, 01fh, 007h, 0cfh, 006h, 01eh, 060h, 00eh, 01fh, 0fch, 0e8h, 0cah, 06dh, 061h, 01fh, 007h 16030 16213 db 0cfh 16031 16214 int70_handler: ; 0xffe8f LB 0x16 … … 16036 16219 pop DS ; 1f 16037 16220 cld ; fc 16038 call 06 9d4h ; e8 3c 6b16221 call 06b97h ; e8 ff 6c 16039 16222 popaw ; 61 16040 16223 pop DS ; 1f … … 16087 16270 dec di ; 4f 16088 16271 jc short 0ff64h ; 72 61 16089 arpl word [si+065h], bp; 63 6c 6516272 arpl [si+065h], bp ; 63 6c 65 16090 16273 and byte [bp+04dh], dl ; 20 56 4d 16091 16274 and byte [bp+069h], dl ; 20 56 69 … … 16135 16318 cpu_reset: ; 0xffff0 LB 0x10 16136 16319 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 16137 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0 ach16320 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 05dh -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.md5sum
r52439 r55078 1 81504fb40b77397cbba587ef505d6c22*VBoxPcBios.rom1 52f20c4019f05d0a8b5d96985ecebb03 *VBoxPcBios.rom
Note:
See TracChangeset
for help on using the changeset viewer.