Changeset 62406 in vbox for trunk/src/VBox/Devices/PC
- Timestamp:
- Jul 21, 2016 3:34:39 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 108956
- Location:
- trunk/src/VBox/Devices/PC/BIOS
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.asm
r62178 r62406 988 988 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 989 989 _pktacc: ; 0xf006a LB 0xc 990 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 0 e6h, 080h, 04ch, 090h990 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 03ah, 081h, 0a0h, 090h 991 991 _softrst: ; 0xf0076 LB 0xc 992 db 000h, 000h, 000h, 000h, 000h, 000h, 089h, 02dh, 0 c8h, 03ah, 0c8h, 03ah992 db 000h, 000h, 000h, 000h, 000h, 000h, 089h, 02dh, 01ch, 03bh, 01ch, 03bh 993 993 _dskacc: ; 0xf0082 LB 0x2e 994 994 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f0h, 029h, 0a5h, 02ah, 000h, 000h, 000h, 000h 995 db 0 26h, 07fh, 006h, 080h, 01eh, 08fh, 0c6h, 08fh, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h995 db 07ah, 07fh, 05ah, 080h, 072h, 08fh, 01ah, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 996 996 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 997 997 … … 1116 1116 section CONST2 progbits vstart=0xd8e align=1 ; size=0x3fa class=DATA group=DGROUP 1117 1117 _bios_cvs_version_string: ; 0xf0d8e LB 0x12 1118 db 'VirtualBox 5.1. 0', 000h, 000h1118 db 'VirtualBox 5.1.2', 000h, 000h 1119 1119 _bios_prefix_string: ; 0xf0da0 LB 0x8 1120 1120 db 'BIOS: ', 000h, 000h … … 1190 1190 times 1144 db 0 1191 1191 1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8 cb8 class=CODE group=AUTO1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8d08 class=CODE group=AUTO 1193 1193 rom_scan_: ; 0xf1600 LB 0x50 1194 1194 push bp ; 55 … … 1440 1440 int 010h ; cd 10 1441 1441 jmp short 017b7h ; eb 03 1442 call 07 aebh ; e8 34631442 call 07b3fh ; e8 88 63 1443 1443 mov sp, bp ; 89 ec 1444 1444 pop bp ; 5d … … 1585 1585 mov bx, strict word 0000ah ; bb 0a 00 1586 1586 xor cx, cx ; 31 c9 1587 call 09f 50h ; e8 83 861587 call 09fa0h ; e8 d3 86 1588 1588 mov word [bp-008h], ax ; 89 46 f8 1589 1589 mov cx, dx ; 89 d1 … … 1815 1815 mov dx, word [bp-026h] ; 8b 56 da 1816 1816 mov si, word [bp-01eh] ; 8b 76 e2 1817 call 09f 80h ; e8 83 841817 call 09fd0h ; e8 d3 84 1818 1818 mov ax, dx ; 89 d0 1819 1819 xor ah, dh ; 30 f4 … … 2254 2254 mov dx, word [es:si] ; 26 8b 14 2255 2255 mov si, strict word 00018h ; be 18 00 2256 call 09f 80h ; e8 30 802256 call 09fd0h ; e8 80 80 2257 2257 xor dh, dh ; 30 f6 2258 2258 mov word [bp-014h], dx ; 89 56 ec … … 2264 2264 mov dx, word [es:si] ; 26 8b 14 2265 2265 mov si, strict word 00020h ; be 20 00 2266 call 09f 80h ; e8 10 802266 call 09fd0h ; e8 60 80 2267 2267 mov bx, dx ; 89 d3 2268 2268 mov ax, word [bp-01ch] ; 8b 46 e4 … … 2295 2295 mov dx, word [es:si] ; 26 8b 14 2296 2296 mov si, strict word 00008h ; be 08 00 2297 call 09f 80h ; e8 bf 7f2297 call 09fd0h ; e8 0f 80 2298 2298 mov word [bp-012h], dx ; 89 56 ee 2299 2299 mov bx, word [bp-016h] ; 8b 5e ea … … 2304 2304 mov dx, word [es:si] ; 26 8b 14 2305 2305 mov si, strict word 00018h ; be 18 00 2306 call 09f 80h ; e8 a1 7f2306 call 09fd0h ; e8 f1 7f 2307 2307 mov ah, dl ; 88 d4 2308 2308 and ah, 00fh ; 80 e4 0f … … 2694 2694 mov dx, ss ; 8c d2 2695 2695 lea ax, [bp-03ah] ; 8d 46 c6 2696 call 059 77h ; e8 cd 352696 call 059cbh ; e8 21 36 2697 2697 mov bx, 00da0h ; bb a0 0d 2698 2698 mov cx, ds ; 8c d9 … … 2861 2861 mov dx, word [es:di+036h] ; 26 8b 55 36 2862 2862 mov si, strict word 0000bh ; be 0b 00 2863 call 09f 80h ; e8 f9 792863 call 09fd0h ; e8 49 7a 2864 2864 mov word [bp-024h], dx ; 89 56 dc 2865 2865 mov word [bp-032h], cx ; 89 4e ce … … 3137 3137 mov dx, word [bp-024h] ; 8b 56 dc 3138 3138 mov si, strict word 00018h ; be 18 00 3139 call 09f 80h ; e8 37 773139 call 09fd0h ; e8 87 77 3140 3140 xor dh, dh ; 30 f6 3141 3141 mov word [bp-014h], dx ; 89 56 ec … … 3145 3145 mov dx, word [bp-024h] ; 8b 56 dc 3146 3146 mov si, strict word 00020h ; be 20 00 3147 call 09f 80h ; e8 20 773147 call 09fd0h ; e8 70 77 3148 3148 mov bx, dx ; 89 d3 3149 3149 mov ax, word [bp-022h] ; 8b 46 de … … 3179 3179 mov dx, word [bp-024h] ; 8b 56 dc 3180 3180 mov si, strict word 00008h ; be 08 00 3181 call 09f 80h ; e8 cc 763181 call 09fd0h ; e8 1c 77 3182 3182 mov word [bp-00ch], ax ; 89 46 f4 3183 3183 mov word [bp-00eh], bx ; 89 5e f2 … … 3186 3186 mov word [bp-018h], dx ; 89 56 e8 3187 3187 mov si, strict word 00010h ; be 10 00 3188 call 09f 80h ; e8 b7 763188 call 09fd0h ; e8 07 77 3189 3189 mov word [bp-024h], dx ; 89 56 dc 3190 3190 mov ax, dx ; 89 d0 … … 3848 3848 pop bp ; 5d 3849 3849 retn ; c3 3850 floppy_reset_controller_: ; 0xf2eba LB 0x 283850 floppy_reset_controller_: ; 0xf2eba LB 0x46 3851 3851 push bp ; 55 3852 3852 mov bp, sp ; 89 e5 3853 3853 push bx ; 53 3854 push cx ; 51 3854 3855 push dx ; 52 3856 mov bx, ax ; 89 c3 3855 3857 mov dx, 003f2h ; ba f2 03 3856 3858 in AL, DX ; ec 3857 3859 db 02ah, 0e4h 3858 3860 ; sub ah, ah ; 2a e4 3859 mov bx, ax ; 89 c33861 mov cx, ax ; 89 c1 3860 3862 and AL, strict byte 0fbh ; 24 fb 3861 3863 out DX, AL ; ee 3862 mov al, bl ; 88 d83864 mov al, cl ; 88 c8 3863 3865 or AL, strict byte 004h ; 0c 04 3864 3866 out DX, AL ; ee … … 3869 3871 and AL, strict byte 0c0h ; 24 c0 3870 3872 cmp AL, strict byte 080h ; 3c 80 3871 jne short 02ecfh ; 75 f4 3872 lea sp, [bp-004h] ; 8d 66 fc 3873 jne short 02ed2h ; 75 f4 3874 lea cx, [bx+00090h] ; 8d 8f 90 00 3875 mov dx, cx ; 89 ca 3876 mov ax, strict word 00040h ; b8 40 00 3877 call 01650h ; e8 66 e7 3878 and AL, strict byte 0efh ; 24 ef 3879 xor ah, ah ; 30 e4 3880 mov bx, ax ; 89 c3 3881 mov dx, cx ; 89 ca 3882 mov ax, strict word 00040h ; b8 40 00 3883 call 0165eh ; e8 66 e7 3884 lea sp, [bp-006h] ; 8d 66 fa 3873 3885 pop dx ; 5a 3886 pop cx ; 59 3874 3887 pop bx ; 5b 3875 3888 pop bp ; 5d 3876 3889 retn ; c3 3877 floppy_prepare_controller_: ; 0xf2 ee2LB 0x833890 floppy_prepare_controller_: ; 0xf2f00 LB 0x83 3878 3891 push bp ; 55 3879 3892 mov bp, sp ; 89 e5 … … 3885 3898 mov dx, strict word 0003eh ; ba 3e 00 3886 3899 mov ax, strict word 00040h ; b8 40 00 3887 call 01650h ; e8 5ce73900 call 01650h ; e8 3e e7 3888 3901 and AL, strict byte 07fh ; 24 7f 3889 3902 xor ah, ah ; 30 e4 … … 3891 3904 mov dx, strict word 0003eh ; ba 3e 00 3892 3905 mov ax, strict word 00040h ; b8 40 00 3893 call 0165eh ; e8 5be73906 call 0165eh ; e8 3d e7 3894 3907 mov dx, 003f2h ; ba f2 03 3895 3908 in AL, DX ; ec … … 3899 3912 mov byte [bp-008h], al ; 88 46 f8 3900 3913 test cx, cx ; 85 c9 3901 je short 02f 16h ; 74 043914 je short 02f34h ; 74 04 3902 3915 mov AL, strict byte 020h ; b0 20 3903 jmp short 02f 18h ; eb 023916 jmp short 02f36h ; eb 02 3904 3917 mov AL, strict byte 010h ; b0 10 3905 3918 or AL, strict byte 00ch ; 0c 0c … … 3910 3923 mov dx, strict word 00040h ; ba 40 00 3911 3924 mov ax, dx ; 89 d0 3912 call 0165eh ; e8 33e73925 call 0165eh ; e8 15 e7 3913 3926 mov dx, 0008bh ; ba 8b 00 3914 3927 mov ax, strict word 00040h ; b8 40 00 3915 call 01650h ; e8 1c e73928 call 01650h ; e8 fe e6 3916 3929 shr al, 006h ; c0 e8 06 3917 3930 mov dx, 003f7h ; ba f7 03 … … 3923 3936 and AL, strict byte 0c0h ; 24 c0 3924 3937 cmp AL, strict byte 080h ; 3c 80 3925 jne short 02f 3bh ; 75 f43938 jne short 02f59h ; 75 f4 3926 3939 cmp byte [bp-008h], 000h ; 80 7e f8 00 3927 jne short 02f 5dh ; 75 103928 call 02e52h ; e8 02 ff3940 jne short 02f7bh ; 75 10 3941 call 02e52h ; e8 e4 fe 3929 3942 mov bl, al ; 88 c3 3930 3943 xor bh, bh ; 30 ff 3931 3944 mov dx, strict word 0003eh ; ba 3e 00 3932 3945 mov ax, strict word 00040h ; b8 40 00 3933 call 0165eh ; e8 01 e73946 call 0165eh ; e8 e3 e6 3934 3947 lea sp, [bp-006h] ; 8d 66 fa 3935 3948 pop dx ; 5a … … 3938 3951 pop bp ; 5d 3939 3952 retn ; c3 3940 floppy_media_known_: ; 0xf2f 65LB 0x433953 floppy_media_known_: ; 0xf2f83 LB 0x43 3941 3954 push bp ; 55 3942 3955 mov bp, sp ; 89 e5 … … 3946 3959 mov dx, strict word 0003eh ; ba 3e 00 3947 3960 mov ax, strict word 00040h ; b8 40 00 3948 call 01650h ; e8 dbe63961 call 01650h ; e8 bd e6 3949 3962 mov ah, al ; 88 c4 3950 3963 test bx, bx ; 85 db 3951 je short 02f 7dh ; 74 023964 je short 02f9bh ; 74 02 3952 3965 shr al, 1 ; d0 e8 3953 3966 and AL, strict byte 001h ; 24 01 3954 jne short 02f 85h ; 75 043955 xor ah, ah ; 30 e4 3956 jmp short 02f a1h ; eb 1c3967 jne short 02fa3h ; 75 04 3968 xor ah, ah ; 30 e4 3969 jmp short 02fbfh ; eb 1c 3957 3970 mov dx, 00090h ; ba 90 00 3958 3971 test bx, bx ; 85 db 3959 je short 02f 8fh ; 74 033972 je short 02fadh ; 74 03 3960 3973 mov dx, 00091h ; ba 91 00 3961 3974 mov ax, strict word 00040h ; b8 40 00 3962 call 01650h ; e8 bbe63975 call 01650h ; e8 9d e6 3963 3976 xor ah, ah ; 30 e4 3964 3977 sar ax, 004h ; c1 f8 04 3965 3978 and AL, strict byte 001h ; 24 01 3966 je short 02f 81h ; 74 e33979 je short 02f9fh ; 74 e3 3967 3980 mov ax, strict word 00001h ; b8 01 00 3968 3981 lea sp, [bp-004h] ; 8d 66 fc … … 3971 3984 pop bp ; 5d 3972 3985 retn ; c3 3973 floppy_read_id_: ; 0xf2f a8LB 0x443986 floppy_read_id_: ; 0xf2fc6 LB 0x44 3974 3987 push bp ; 55 3975 3988 mov bp, sp ; 89 e5 … … 3979 3992 sub sp, strict byte 00008h ; 83 ec 08 3980 3993 mov bx, ax ; 89 c3 3981 call 02 ee2h ; e8 2c ff3994 call 02f00h ; e8 2c ff 3982 3995 mov AL, strict byte 04ah ; b0 4a 3983 3996 mov dx, 003f5h ; ba f5 03 … … 3985 3998 mov al, bl ; 88 d8 3986 3999 out DX, AL ; ee 3987 call 02e52h ; e8 90fe4000 call 02e52h ; e8 72 fe 3988 4001 xor si, si ; 31 f6 3989 jmp short 02f cbh ; eb 054002 jmp short 02fe9h ; eb 05 3990 4003 cmp si, strict byte 00007h ; 83 fe 07 3991 jnl short 02f d7h ; 7d 0c4004 jnl short 02ff5h ; 7d 0c 3992 4005 mov dx, 003f5h ; ba f5 03 3993 4006 in AL, DX ; ec … … 3996 4009 mov byte [bp+si-00eh], al ; 88 42 f2 3997 4010 inc si ; 46 3998 jmp short 02f c6h ; eb ef4011 jmp short 02fe4h ; eb ef 3999 4012 test byte [bp-00eh], 0c0h ; f6 46 f2 c0 4000 je short 02f e1h ; 74 044013 je short 02fffh ; 74 04 4001 4014 xor ax, ax ; 31 c0 4002 jmp short 0 2fe4h ; eb 034015 jmp short 03002h ; eb 03 4003 4016 mov ax, strict word 00001h ; b8 01 00 4004 4017 lea sp, [bp-006h] ; 8d 66 fa … … 4008 4021 pop bp ; 5d 4009 4022 retn ; c3 4010 floppy_drive_recal_: ; 0xf 2fecLB 0x4d4023 floppy_drive_recal_: ; 0xf300a LB 0x4d 4011 4024 push bp ; 55 4012 4025 mov bp, sp ; 89 e5 … … 4015 4028 push dx ; 52 4016 4029 mov bx, ax ; 89 c3 4017 call 02 ee2h ; e8 eb fe4030 call 02f00h ; e8 eb fe 4018 4031 mov AL, strict byte 007h ; b0 07 4019 4032 mov dx, 003f5h ; ba f5 03 … … 4021 4034 mov al, bl ; 88 d8 4022 4035 out DX, AL ; ee 4023 call 02e52h ; e8 4ffe4036 call 02e52h ; e8 31 fe 4024 4037 test bx, bx ; 85 db 4025 je short 030 11h ; 74 0a4038 je short 0302fh ; 74 0a 4026 4039 mov bl, al ; 88 c3 4027 4040 or bl, 002h ; 80 cb 02 4028 4041 mov cx, 00095h ; b9 95 00 4029 jmp short 030 19h ; eb 084042 jmp short 03037h ; eb 08 4030 4043 mov bl, al ; 88 c3 4031 4044 or bl, 001h ; 80 cb 01 … … 4034 4047 mov dx, strict word 0003eh ; ba 3e 00 4035 4048 mov ax, strict word 00040h ; b8 40 00 4036 call 0165eh ; e8 3ae64049 call 0165eh ; e8 1c e6 4037 4050 xor bx, bx ; 31 db 4038 4051 mov dx, cx ; 89 ca 4039 4052 mov ax, strict word 00040h ; b8 40 00 4040 call 0165eh ; e8 30e64053 call 0165eh ; e8 12 e6 4041 4054 mov ax, strict word 00001h ; b8 01 00 4042 4055 lea sp, [bp-006h] ; 8d 66 fa … … 4046 4059 pop bp ; 5d 4047 4060 retn ; c3 4048 floppy_media_sense_: ; 0xf30 39LB 0xf94061 floppy_media_sense_: ; 0xf3057 LB 0xf9 4049 4062 push bp ; 55 4050 4063 mov bp, sp ; 89 e5 … … 4055 4068 push di ; 57 4056 4069 mov di, ax ; 89 c7 4057 call 0 2fech ; e8 a6 ff4070 call 0300ah ; e8 a6 ff 4058 4071 test ax, ax ; 85 c0 4059 jne short 030 4fh ; 75 054072 jne short 0306dh ; 75 05 4060 4073 xor cx, cx ; 31 c9 4061 jmp near 031 26h ; e9 d7 004074 jmp near 03144h ; e9 d7 00 4062 4075 mov ax, strict word 00010h ; b8 10 00 4063 call 016ach ; e8 57e64076 call 016ach ; e8 39 e6 4064 4077 test di, di ; 85 ff 4065 jne short 030 60h ; 75 074078 jne short 0307eh ; 75 07 4066 4079 mov cl, al ; 88 c1 4067 4080 shr cl, 004h ; c0 e9 04 4068 jmp short 030 65h ; eb 054081 jmp short 03083h ; eb 05 4069 4082 mov cl, al ; 88 c1 4070 4083 and cl, 00fh ; 80 e1 0f 4071 4084 cmp cl, 001h ; 80 f9 01 4072 jne short 030 73h ; 75 094085 jne short 03091h ; 75 09 4073 4086 xor cl, cl ; 30 c9 4074 4087 mov CH, strict byte 015h ; b5 15 4075 4088 mov si, strict word 00001h ; be 01 00 4076 jmp short 030 b1h ; eb 3e4089 jmp short 030cfh ; eb 3e 4077 4090 cmp cl, 002h ; 80 f9 02 4078 jne short 030 7eh ; 75 064091 jne short 0309ch ; 75 06 4079 4092 xor cl, cl ; 30 c9 4080 4093 mov CH, strict byte 035h ; b5 35 4081 jmp short 030 6eh ; eb f04094 jmp short 0308ch ; eb f0 4082 4095 cmp cl, 003h ; 80 f9 03 4083 jne short 030 89h ; 75 064096 jne short 030a7h ; 75 06 4084 4097 xor cl, cl ; 30 c9 4085 4098 mov CH, strict byte 017h ; b5 17 4086 jmp short 030 6eh ; eb e54099 jmp short 0308ch ; eb e5 4087 4100 cmp cl, 004h ; 80 f9 04 4088 jne short 030 94h ; 75 064101 jne short 030b2h ; 75 06 4089 4102 xor cl, cl ; 30 c9 4090 4103 mov CH, strict byte 017h ; b5 17 4091 jmp short 030 6eh ; eb da4104 jmp short 0308ch ; eb da 4092 4105 cmp cl, 005h ; 80 f9 05 4093 jne short 030 9fh ; 75 064106 jne short 030bdh ; 75 06 4094 4107 mov CL, strict byte 0cch ; b1 cc 4095 4108 mov CH, strict byte 0d7h ; b5 d7 4096 jmp short 030 6eh ; eb cf4109 jmp short 0308ch ; eb cf 4097 4110 cmp cl, 00eh ; 80 f9 0e 4098 je short 030 a9h ; 74 054111 je short 030c7h ; 74 05 4099 4112 cmp cl, 00fh ; 80 f9 0f 4100 jne short 030 abh ; 75 024101 jmp short 030 99h ; eb ee4113 jne short 030c9h ; 75 02 4114 jmp short 030b7h ; eb ee 4102 4115 xor cl, cl ; 30 c9 4103 4116 xor ch, ch ; 30 ed … … 4108 4121 mov dx, 0008bh ; ba 8b 00 4109 4122 mov ax, strict word 00040h ; b8 40 00 4110 call 0165eh ; e8 9ee54123 call 0165eh ; e8 80 e5 4111 4124 mov ax, di ; 89 f8 4112 call 02f a8h ; e8 e3 fe4125 call 02fc6h ; e8 e3 fe 4113 4126 test ax, ax ; 85 c0 4114 jne short 03 0fbh ; 75 324127 jne short 03119h ; 75 32 4115 4128 mov al, cl ; 88 c8 4116 4129 and AL, strict byte 0c0h ; 24 c0 4117 4130 cmp AL, strict byte 080h ; 3c 80 4118 je short 03 0fbh ; 74 2a4131 je short 03119h ; 74 2a 4119 4132 mov al, cl ; 88 c8 4120 4133 and AL, strict byte 0c0h ; 24 c0 4121 4134 cmp AL, strict byte 0c0h ; 3c c0 4122 je short 03 0e8h ; 74 0f4135 je short 03106h ; 74 0f 4123 4136 mov ah, cl ; 88 cc 4124 4137 and ah, 03fh ; 80 e4 3f 4125 4138 cmp AL, strict byte 040h ; 3c 40 4126 je short 03 0f4h ; 74 124139 je short 03112h ; 74 12 4127 4140 test al, al ; 84 c0 4128 je short 03 0edh ; 74 074129 jmp short 030 b1h ; eb c94141 je short 0310bh ; 74 07 4142 jmp short 030cfh ; eb c9 4130 4143 and cl, 03fh ; 80 e1 3f 4131 jmp short 030 b1h ; eb c44144 jmp short 030cfh ; eb c4 4132 4145 mov cl, ah ; 88 e1 4133 4146 or cl, 040h ; 80 c9 40 4134 jmp short 030 b1h ; eb bd4147 jmp short 030cfh ; eb bd 4135 4148 mov cl, ah ; 88 e1 4136 4149 or cl, 080h ; 80 c9 80 4137 jmp short 030 b1h ; eb b64150 jmp short 030cfh ; eb b6 4138 4151 test di, di ; 85 ff 4139 jne short 031 04h ; 75 054152 jne short 03122h ; 75 05 4140 4153 mov di, 00090h ; bf 90 00 4141 jmp short 031 07h ; eb 034154 jmp short 03125h ; eb 03 4142 4155 mov di, 00091h ; bf 91 00 4143 4156 mov al, cl ; 88 c8 … … 4146 4159 mov dx, 0008bh ; ba 8b 00 4147 4160 mov ax, strict word 00040h ; b8 40 00 4148 call 0165eh ; e8 48e54161 call 0165eh ; e8 2a e5 4149 4162 mov al, ch ; 88 e8 4150 4163 xor ah, ah ; 30 e4 … … 4152 4165 mov dx, di ; 89 fa 4153 4166 mov ax, strict word 00040h ; b8 40 00 4154 call 0165eh ; e8 3ae54167 call 0165eh ; e8 1c e5 4155 4168 mov cx, si ; 89 f1 4156 4169 mov ax, cx ; 89 c8 … … 4163 4176 pop bp ; 5d 4164 4177 retn ; c3 4165 floppy_drive_exists_: ; 0xf31 32LB 0x284178 floppy_drive_exists_: ; 0xf3150 LB 0x28 4166 4179 push bp ; 55 4167 4180 mov bp, sp ; 89 e5 … … 4169 4182 mov dx, ax ; 89 c2 4170 4183 mov ax, strict word 00010h ; b8 10 00 4171 call 016ach ; e8 6ee54184 call 016ach ; e8 50 e5 4172 4185 test dx, dx ; 85 d2 4173 jne short 031 47h ; 75 054186 jne short 03165h ; 75 05 4174 4187 shr al, 004h ; c0 e8 04 4175 jmp short 031 49h ; eb 024188 jmp short 03167h ; eb 02 4176 4189 and AL, strict byte 00fh ; 24 0f 4177 4190 test al, al ; 84 c0 4178 je short 031 52h ; 74 054191 je short 03170h ; 74 05 4179 4192 mov ax, strict word 00001h ; b8 01 00 4180 jmp short 031 54h ; eb 024193 jmp short 03172h ; eb 02 4181 4194 xor ah, ah ; 30 e4 4182 4195 lea sp, [bp-002h] ; 8d 66 fe … … 4184 4197 pop bp ; 5d 4185 4198 retn ; c3 4186 _int13_diskette_function: ; 0xf31 5a LB 0x93e4199 _int13_diskette_function: ; 0xf3178 LB 0x974 4187 4200 push bp ; 55 4188 4201 mov bp, sp ; 89 e5 4189 4202 push si ; 56 4190 4203 push di ; 57 4191 sub sp, strict byte 0001 6h ; 83 ec 164204 sub sp, strict byte 00018h ; 83 ec 18 4192 4205 mov bx, word [bp+016h] ; 8b 5e 16 4193 4206 shr bx, 008h ; c1 eb 08 … … 4200 4213 mov dx, word [bp+014h] ; 8b 56 14 4201 4214 shr dx, 008h ; c1 ea 08 4202 mov word [bp-01 0h], dx ; 89 56 f04215 mov word [bp-014h], dx ; 89 56 ec 4203 4216 cmp bl, 008h ; 80 fb 08 4204 jc short 031 b7h ; 72 2e4217 jc short 031d5h ; 72 2e 4205 4218 mov dx, word [bp+01ch] ; 8b 56 1c 4206 4219 or dl, 001h ; 80 ca 01 4207 4220 cmp bl, 008h ; 80 fb 08 4208 jbe short 03 1edh ; 76 594221 jbe short 0320bh ; 76 59 4209 4222 cmp bl, 016h ; 80 fb 16 4210 jc short 031 afh ; 72 164223 jc short 031cdh ; 72 16 4211 4224 or si, 00100h ; 81 ce 00 01 4212 4225 cmp bl, 016h ; 80 fb 16 4213 jbe short 03 1f0h ; 76 4e4226 jbe short 0320eh ; 76 4e 4214 4227 cmp bl, 018h ; 80 fb 18 4215 je short 03 1f3h ; 74 4c4228 je short 03211h ; 74 4c 4216 4229 cmp bl, 017h ; 80 fb 17 4217 je short 032 09h ; 74 5d4218 jmp near 03a 75h ; e9 c6084230 je short 03227h ; 74 5d 4231 jmp near 03ac9h ; e9 fc 08 4219 4232 cmp bl, 015h ; 80 fb 15 4220 je short 032 0ch ; 74 584221 jmp near 03a 75h ; e9 be084233 je short 0322ah ; 74 58 4234 jmp near 03ac9h ; e9 f4 08 4222 4235 cmp bl, 001h ; 80 fb 01 4223 jc short 031 cbh ; 72 0f4224 jbe short 032 0fh ; 76 514236 jc short 031e9h ; 72 0f 4237 jbe short 0322dh ; 76 51 4225 4238 cmp bl, 005h ; 80 fb 05 4226 je short 032 2ah ; 74 674239 je short 03248h ; 74 67 4227 4240 cmp bl, 004h ; 80 fb 04 4228 jbe short 032 2dh ; 76 654229 jmp near 03a 75h ; e9 aa084241 jbe short 0324bh ; 76 65 4242 jmp near 03ac9h ; e9 e0 08 4230 4243 test bl, bl ; 84 db 4231 jne short 032 2fh ; 75 604244 jne short 0324dh ; 75 60 4232 4245 mov al, byte [bp+00eh] ; 8a 46 0e 4233 4246 mov byte [bp-006h], al ; 88 46 fa 4234 4247 cmp AL, strict byte 001h ; 3c 01 4235 jbe short 03 1f6h ; 76 1d4248 jbe short 03214h ; 76 1d 4236 4249 mov ax, word [bp+016h] ; 8b 46 16 4237 4250 xor ah, ah ; 30 e4 … … 4239 4252 mov word [bp+016h], ax ; 89 46 16 4240 4253 mov ax, strict word 00001h ; b8 01 00 4241 call 02e09h ; e8 1ffc4242 jmp near 035 99h ; e9 ac034243 jmp near 037 57h ; e9 67054244 jmp near 038 8bh ; e9 98064245 jmp near 039 24h ; e9 2e074254 call 02e09h ; e8 01 fc 4255 jmp near 035d0h ; e9 c5 03 4256 jmp near 037abh ; e9 9d 05 4257 jmp near 038dfh ; e9 ce 06 4258 jmp near 03978h ; e9 64 07 4246 4259 mov ax, strict word 00010h ; b8 10 00 4247 call 016ach ; e8 b0e44260 call 016ach ; e8 92 e4 4248 4261 cmp byte [bp-006h], 000h ; 80 7e fa 00 4249 jne short 032 11h ; 75 0f4262 jne short 0322fh ; 75 0f 4250 4263 mov cl, al ; 88 c1 4251 4264 shr cl, 004h ; c0 e9 04 4252 jmp short 032 16h ; eb 0d4253 jmp near 03 8afh ; e9 a3064254 jmp near 038 47h ; e9 38064255 jmp short 032 58h ; eb 474265 jmp short 03234h ; eb 0d 4266 jmp near 03903h ; e9 d9 06 4267 jmp near 0389bh ; e9 6e 06 4268 jmp short 03276h ; eb 47 4256 4269 mov cl, al ; 88 c1 4257 4270 and cl, 00fh ; 80 e1 0f 4258 4271 test cl, cl ; 84 c9 4259 jne short 032 32h ; 75 184272 jne short 03250h ; 75 18 4260 4273 mov ax, word [bp+016h] ; 8b 46 16 4261 4274 xor ah, ah ; 30 e4 … … 4263 4276 mov word [bp+016h], ax ; 89 46 16 4264 4277 mov ax, 00080h ; b8 80 00 4265 jmp short 03 1e7h ; eb bd4266 jmp near 035 c3h ; e9 96034267 jmp short 032 77h ; eb 484268 jmp near 03a 75h ; e9 43084278 jmp short 03205h ; eb bd 4279 jmp near 035fah ; e9 af 03 4280 jmp short 03295h ; eb 48 4281 jmp near 03ac9h ; e9 79 08 4269 4282 xor bx, bx ; 31 db 4270 4283 mov dx, strict word 0003eh ; ba 3e 00 4271 4284 mov ax, strict word 00040h ; b8 40 00 4272 call 0165eh ; e8 21e44285 call 0165eh ; e8 03 e4 4273 4286 xor al, al ; 30 c0 4274 4287 mov byte [bp+017h], al ; 88 46 17 4275 4288 xor ah, ah ; 30 e4 4276 call 02e09h ; e8 c2fb4289 call 02e09h ; e8 a4 fb 4277 4290 and byte [bp+01ch], 0feh ; 80 66 1c fe 4278 4291 mov al, byte [bp-006h] ; 8a 46 fa 4279 4292 xor ah, ah ; 30 e4 4280 4293 xor dx, dx ; 31 d2 4281 call 02e22h ; e8 cdfb4282 jmp near 035 bch ; e9 64034294 call 02e22h ; e8 af fb 4295 jmp near 035f3h ; e9 7d 03 4283 4296 and byte [bp+01ch], 0feh ; 80 66 1c fe 4284 4297 mov dx, 00441h ; ba 41 04 4285 4298 xor ax, ax ; 31 c0 4286 call 01650h ; e8 ece34299 call 01650h ; e8 ce e3 4287 4300 mov dl, al ; 88 c2 4288 4301 xor dh, dh ; 30 f6 … … 4291 4304 mov word [bp+016h], si ; 89 76 16 4292 4305 test al, al ; 84 c0 4293 je short 032 cah ; 74 564294 jmp near 035 99h ; e9 22034306 je short 032e8h ; 74 56 4307 jmp near 035d0h ; e9 3b 03 4295 4308 mov ch, cl ; 88 cd 4296 mov dl, byte [bp-01 0h] ; 8a 56 f04309 mov dl, byte [bp-014h] ; 8a 56 ec 4297 4310 mov byte [bp-008h], dl ; 88 56 f8 4298 4311 mov byte [bp-00ch], ah ; 88 66 f4 … … 4302 4315 mov byte [bp-006h], al ; 88 46 fa 4303 4316 cmp AL, strict byte 001h ; 3c 01 4304 jnbe short 032 a0h ; 77 0e4317 jnbe short 032beh ; 77 0e 4305 4318 cmp dl, 001h ; 80 fa 01 4306 jnbe short 032 a0h ; 77 094319 jnbe short 032beh ; 77 09 4307 4320 test cl, cl ; 84 c9 4308 je short 032 a0h ; 74 054321 je short 032beh ; 74 05 4309 4322 cmp cl, 048h ; 80 f9 48 4310 jbe short 032 cdh ; 76 2d4323 jbe short 032ebh ; 76 2d 4311 4324 mov bx, 00da0h ; bb a0 0d 4312 4325 mov cx, ds ; 8c d9 4313 4326 mov ax, strict word 00004h ; b8 04 00 4314 call 01923h ; e8 78e64327 call 01923h ; e8 5a e6 4315 4328 push 00275h ; 68 75 02 4316 4329 push 0028dh ; 68 8d 02 4317 4330 push strict byte 00004h ; 6a 04 4318 call 01966h ; e8 b0e64331 call 01966h ; e8 92 e6 4319 4332 add sp, strict byte 00006h ; 83 c4 06 4320 4333 mov ax, word [bp+016h] ; 8b 46 16 … … 4323 4336 mov word [bp+016h], ax ; 89 46 16 4324 4337 mov ax, strict word 00001h ; b8 01 00 4325 jmp near 033 4eh ; e9 84004326 jmp near 035 bch ; e9 ef 024338 jmp near 03373h ; e9 8b 00 4339 jmp near 035f3h ; e9 08 03 4327 4340 mov al, byte [bp-006h] ; 8a 46 fa 4328 4341 xor ah, ah ; 30 e4 4329 call 031 32h ; e8 5d fe4342 call 03150h ; e8 5d fe 4330 4343 test ax, ax ; 85 c0 4331 je short 03307h ; 74 2e 4332 mov dl, byte [bp-006h] ; 8a 56 fa 4333 xor dh, dh ; 30 f6 4334 mov ax, dx ; 89 d0 4335 call 02f65h ; e8 82 fc 4344 jne short 03307h ; 75 10 4345 mov ax, word [bp+016h] ; 8b 46 16 4346 xor ah, ah ; 30 e4 4347 or ah, 080h ; 80 cc 80 4348 mov word [bp+016h], ax ; 89 46 16 4349 mov ax, 00080h ; b8 80 00 4350 jmp short 03373h ; eb 6c 4351 mov bl, byte [bp-006h] ; 8a 5e fa 4352 xor bh, bh ; 30 ff 4353 mov ax, bx ; 89 d8 4354 call 02f83h ; e8 72 fc 4336 4355 test ax, ax ; 85 c0 4337 jne short 033 0ah ; 75 234338 mov ax, dx ; 89 d04339 call 030 39h ; e8 4d fd4356 jne short 0332fh ; 75 1a 4357 mov ax, bx ; 89 d8 4358 call 03057h ; e8 3d fd 4340 4359 test ax, ax ; 85 c0 4341 jne short 033 0ah ; 75 1a4360 jne short 0332fh ; 75 11 4342 4361 mov ax, word [bp+016h] ; 8b 46 16 4343 4362 xor ah, ah ; 30 e4 … … 4345 4364 mov word [bp+016h], ax ; 89 46 16 4346 4365 mov ax, strict word 0000ch ; b8 0c 00 4347 call 02e09h ; e8 08 fb 4348 mov byte [bp+016h], dh ; 88 76 16 4349 jmp near 03599h ; e9 92 02 4350 jmp near 033e9h ; e9 df 00 4366 jmp near 0341fh ; e9 f0 00 4351 4367 cmp byte [bp-00eh], 002h ; 80 7e f2 02 4352 jne short 03358h ; 75 48 4368 jne short 0337dh ; 75 48 4369 mov dx, word [bp+006h] ; 8b 56 06 4370 shr dx, 00ch ; c1 ea 0c 4371 mov cl, dl ; 88 d1 4353 4372 mov ax, word [bp+006h] ; 8b 46 06 4354 shr ax, 00ch ; c1 e8 0c 4355 mov cl, al ; 88 c1 4356 mov dx, word [bp+006h] ; 8b 56 06 4357 sal dx, 004h ; c1 e2 04 4373 sal ax, 004h ; c1 e0 04 4358 4374 mov bx, word [bp+010h] ; 8b 5e 10 4359 add bx, dx ; 01 d34375 add bx, ax ; 01 c3 4360 4376 mov word [bp-012h], bx ; 89 5e ee 4361 cmp dx, bx ; 39 da4362 jbe short 033 2ch ; 76 024377 cmp ax, bx ; 39 d8 4378 jbe short 03351h ; 76 02 4363 4379 db 0feh, 0c1h 4364 4380 ; inc cl ; fe c1 … … 4371 4387 add ax, bx ; 01 d8 4372 4388 cmp ax, word [bp-012h] ; 3b 46 ee 4373 jnc short 033 5bh ; 73 1b4389 jnc short 03380h ; 73 1b 4374 4390 mov ax, word [bp+016h] ; 8b 46 16 4375 4391 xor ah, ah ; 30 e4 … … 4377 4393 mov word [bp+016h], ax ; 89 46 16 4378 4394 mov ax, strict word 00009h ; b8 09 00 4379 call 02e09h ; e8 b8fa4395 call 02e09h ; e8 93 fa 4380 4396 mov byte [bp+016h], 000h ; c6 46 16 00 4381 jmp near 035 99h ; e9 41024382 jmp near 034 7fh ; e9 24014397 jmp near 035d0h ; e9 53 02 4398 jmp near 034b5h ; e9 35 01 4383 4399 mov AL, strict byte 006h ; b0 06 4384 4400 mov dx, strict word 0000ah ; ba 0a 00 … … 4411 4427 mov dx, strict word 0000ah ; ba 0a 00 4412 4428 out DX, AL ; ee 4413 mov al, byte [bp-006h] ; 8a 46 fa 4414 xor ah, ah ; 30 e4 4415 call 02ee2h ; e8 41 fb 4429 mov bl, byte [bp-006h] ; 8a 5e fa 4430 xor bh, bh ; 30 ff 4431 mov ax, bx ; 89 d8 4432 call 02f00h ; e8 38 fb 4416 4433 mov AL, strict byte 0e6h ; b0 e6 4417 4434 mov dx, 003f5h ; ba f5 03 … … 4421 4438 mov dx, ax ; 89 c2 4422 4439 sal dx, 002h ; c1 e2 02 4423 mov al, b yte [bp-006h] ; 8a 46 fa4440 mov al, bl ; 88 d8 4424 4441 or ax, dx ; 09 d0 4425 4442 mov dx, 003f5h ; ba f5 03 … … 4445 4462 mov AL, strict byte 0ffh ; b0 ff 4446 4463 out DX, AL ; ee 4447 call 02e73h ; e8 91fa4464 call 02e73h ; e8 6b fa 4448 4465 test al, al ; 84 c0 4449 jne short 033fah ; 75 14 4450 call 02ebah ; e8 d1 fa 4466 jne short 03428h ; 75 1c 4467 mov ax, bx ; 89 d8 4468 call 02ebah ; e8 a9 fa 4451 4469 mov ax, word [bp+016h] ; 8b 46 16 4452 4470 xor ah, ah ; 30 e4 … … 4454 4472 mov word [bp+016h], ax ; 89 46 16 4455 4473 mov ax, 00080h ; b8 80 00 4456 jmp near 0334eh ; e9 54 ff 4474 call 02e09h ; e8 e7 f9 4475 mov byte [bp+016h], bh ; 88 7e 16 4476 jmp near 035d0h ; e9 a8 01 4457 4477 mov dx, 003f4h ; ba f4 03 4458 4478 in AL, DX ; ec … … 4461 4481 and AL, strict byte 0c0h ; 24 c0 4462 4482 cmp AL, strict byte 0c0h ; 3c c0 4463 je short 034 14h ; 74 0e4483 je short 03442h ; 74 0e 4464 4484 push 00275h ; 68 75 02 4465 4485 push 002a8h ; 68 a8 02 4466 4486 push strict byte 00007h ; 6a 07 4467 call 01966h ; e8 55e54487 call 01966h ; e8 27 e5 4468 4488 add sp, strict byte 00006h ; 83 c4 06 4469 4489 xor si, si ; 31 f6 4470 jmp short 034 1dh ; eb 054490 jmp short 0344bh ; eb 05 4471 4491 cmp si, strict byte 00007h ; 83 fe 07 4472 jnl short 034 36h ; 7d 194492 jnl short 03464h ; 7d 19 4473 4493 mov dx, 003f5h ; ba f5 03 4474 4494 in AL, DX ; ec 4475 4495 db 02ah, 0e4h 4476 4496 ; sub ah, ah ; 2a e4 4477 mov byte [bp+si-01 ah], al ; 88 42 e64497 mov byte [bp+si-01ch], al ; 88 42 e4 4478 4498 mov bl, al ; 88 c3 4479 4499 xor bh, bh ; 30 ff 4480 4500 lea dx, [si+042h] ; 8d 54 42 4481 4501 mov ax, strict word 00040h ; b8 40 00 4482 call 0165eh ; e8 2b e24502 call 0165eh ; e8 fd e1 4483 4503 inc si ; 46 4484 jmp short 03418h ; eb e2 4485 test byte [bp-01ah], 0c0h ; f6 46 e6 c0 4486 je short 0344dh ; 74 11 4504 jmp short 03446h ; eb e2 4505 test byte [bp-01ch], 0c0h ; f6 46 e4 c0 4506 je short 03483h ; 74 19 4507 mov al, byte [bp-006h] ; 8a 46 fa 4508 xor ah, ah ; 30 e4 4509 call 02ebah ; e8 48 fa 4487 4510 mov ax, word [bp+016h] ; 8b 46 16 4488 4511 xor ah, ah ; 30 e4 … … 4490 4513 mov word [bp+016h], ax ; 89 46 16 4491 4514 mov ax, strict word 00020h ; b8 20 00 4492 jmp near 033 4eh ; e9 01 ff4515 jmp near 03373h ; e9 f0 fe 4493 4516 mov al, ch ; 88 e8 4494 4517 xor ah, ah ; 30 e4 … … 4511 4534 mov al, byte [bp-006h] ; 8a 46 fa 4512 4535 xor ah, ah ; 30 e4 4513 call 02e22h ; e8 aaf94536 call 02e22h ; e8 74 f9 4514 4537 mov byte [bp+017h], 000h ; c6 46 17 00 4515 jmp near 039 1dh ; e9 9e044538 jmp near 03971h ; e9 bc 04 4516 4539 cmp byte [bp-00eh], 003h ; 80 7e f2 03 4517 je short 034 88h ; 74 034518 jmp near 035 a7h ; e9 1f014540 je short 034beh ; 74 03 4541 jmp near 035deh ; e9 20 01 4519 4542 mov dx, word [bp+006h] ; 8b 56 06 4520 4543 shr dx, 00ch ; c1 ea 0c … … 4526 4549 mov word [bp-012h], bx ; 89 5e ee 4527 4550 cmp ax, bx ; 39 d8 4528 jbe short 034 a4h ; 76 024551 jbe short 034dah ; 76 02 4529 4552 db 0feh, 0c1h 4530 4553 ; inc cl ; fe c1 … … 4537 4560 add ax, bx ; 01 d8 4538 4561 cmp ax, word [bp-012h] ; 3b 46 ee 4539 jnc short 034 bbh ; 73 034540 jmp near 033 40h ; e9 85fe4562 jnc short 034f1h ; 73 03 4563 jmp near 03365h ; e9 74 fe 4541 4564 mov AL, strict byte 006h ; b0 06 4542 4565 mov dx, strict word 0000ah ; ba 0a 00 … … 4569 4592 mov dx, strict word 0000ah ; ba 0a 00 4570 4593 out DX, AL ; ee 4571 mov al, byte [bp-006h] ; 8a 46 fa 4572 xor ah, ah ; 30 e4 4573 call 02ee2h ; e8 e1 f9 4594 mov bl, byte [bp-006h] ; 8a 5e fa 4595 xor bh, bh ; 30 ff 4596 mov ax, bx ; 89 d8 4597 call 02f00h ; e8 c7 f9 4574 4598 mov AL, strict byte 0c5h ; b0 c5 4575 4599 mov dx, 003f5h ; ba f5 03 … … 4579 4603 mov dx, ax ; 89 c2 4580 4604 sal dx, 002h ; c1 e2 02 4581 mov al, b yte [bp-006h] ; 8a 46 fa4605 mov al, bl ; 88 d8 4582 4606 or ax, dx ; 09 d0 4583 4607 mov dx, 003f5h ; ba f5 03 … … 4591 4615 mov AL, strict byte 002h ; b0 02 4592 4616 out DX, AL ; ee 4593 mov dl, byte [bp-00ch] ; 8a 56 f4 4617 mov al, byte [bp-00ch] ; 8a 46 f4 4618 xor ah, ah ; 30 e4 4619 mov dl, ch ; 88 ea 4594 4620 xor dh, dh ; 30 f6 4595 mov al, ch ; 88 e84596 xor ah, ah ; 30 e44597 4621 add ax, dx ; 01 d0 4598 4622 dec ax ; 48 … … 4603 4627 mov AL, strict byte 0ffh ; b0 ff 4604 4628 out DX, AL ; ee 4605 call 02e73h ; e8 31 f94629 call 02e73h ; e8 fa f8 4606 4630 test al, al ; 84 c0 4607 jne short 035 49h ; 75 034608 jmp near 03 3e6h ; e9 9dfe4631 jne short 03580h ; 75 03 4632 jmp near 0340ch ; e9 8c fe 4609 4633 mov dx, 003f4h ; ba f4 03 4610 4634 in AL, DX ; ec … … 4613 4637 and AL, strict byte 0c0h ; 24 c0 4614 4638 cmp AL, strict byte 0c0h ; 3c c0 4615 je short 035 63h ; 74 0e4639 je short 0359ah ; 74 0e 4616 4640 push 00275h ; 68 75 02 4617 4641 push 002a8h ; 68 a8 02 4618 4642 push strict byte 00007h ; 6a 07 4619 call 01966h ; e8 06 e44643 call 01966h ; e8 cf e3 4620 4644 add sp, strict byte 00006h ; 83 c4 06 4621 4645 xor si, si ; 31 f6 4622 jmp short 035 6ch ; eb 054646 jmp short 035a3h ; eb 05 4623 4647 cmp si, strict byte 00007h ; 83 fe 07 4624 jnl short 035 85h ; 7d 194648 jnl short 035bch ; 7d 19 4625 4649 mov dx, 003f5h ; ba f5 03 4626 4650 in AL, DX ; ec 4627 4651 db 02ah, 0e4h 4628 4652 ; sub ah, ah ; 2a e4 4629 mov byte [bp+si-01 ah], al ; 88 42 e64653 mov byte [bp+si-01ch], al ; 88 42 e4 4630 4654 mov bl, al ; 88 c3 4631 4655 xor bh, bh ; 30 ff 4632 4656 lea dx, [si+042h] ; 8d 54 42 4633 4657 mov ax, strict word 00040h ; b8 40 00 4634 call 0165eh ; e8 dce04658 call 0165eh ; e8 a5 e0 4635 4659 inc si ; 46 4636 jmp short 035 67h ; eb e24637 test byte [bp-01 ah], 0c0h ; f6 46 e6c04638 jne short 035 8eh ; 75 034639 jmp near 034 6bh ; e9 ddfe4640 test byte [bp-01 9h], 002h ; f6 46 e7024641 je short 035 a0h ; 74 0c4660 jmp short 0359eh ; eb e2 4661 test byte [bp-01ch], 0c0h ; f6 46 e4 c0 4662 jne short 035c5h ; 75 03 4663 jmp near 034a1h ; e9 dc fe 4664 test byte [bp-01bh], 002h ; f6 46 e5 02 4665 je short 035d7h ; 74 0c 4642 4666 mov word [bp+016h], 00300h ; c7 46 16 00 03 4643 4667 or byte [bp+01ch], 001h ; 80 4e 1c 01 4644 jmp near 035 bch ; e9 1c 004668 jmp near 035f3h ; e9 1c 00 4645 4669 mov word [bp+016h], 00100h ; c7 46 16 00 01 4646 jmp short 035 99h ; eb f24670 jmp short 035d0h ; eb f2 4647 4671 mov dl, byte [bp-008h] ; 8a 56 f8 4648 4672 xor dh, dh ; 30 f6 4649 4673 mov al, byte [bp-006h] ; 8a 46 fa 4650 4674 xor ah, ah ; 30 e4 4651 call 02e22h ; e8 6ef84675 call 02e22h ; e8 37 f8 4652 4676 and byte [bp+01ch], 0feh ; 80 66 1c fe 4653 4677 mov byte [bp+017h], 000h ; c6 46 17 00 … … 4667 4691 mov byte [bp-006h], bl ; 88 5e fa 4668 4692 cmp bl, 001h ; 80 fb 01 4669 jnbe short 03 5f5h ; 77 124693 jnbe short 0362ch ; 77 12 4670 4694 cmp dl, 001h ; 80 fa 01 4671 jnbe short 03 5f5h ; 77 0d4695 jnbe short 0362ch ; 77 0d 4672 4696 cmp AL, strict byte 04fh ; 3c 4f 4673 jnbe short 03 5f5h ; 77 094697 jnbe short 0362ch ; 77 09 4674 4698 test ch, ch ; 84 ed 4675 je short 03 5f5h ; 74 054699 je short 0362ch ; 74 05 4676 4700 cmp ch, 012h ; 80 fd 12 4677 jbe short 036 0ah ; 76 154701 jbe short 03641h ; 76 15 4678 4702 mov ax, word [bp+016h] ; 8b 46 16 4679 4703 xor ah, ah ; 30 e4 … … 4681 4705 mov word [bp+016h], ax ; 89 46 16 4682 4706 mov ax, strict word 00001h ; b8 01 00 4683 call 02e09h ; e8 03 f84707 call 02e09h ; e8 cc f7 4684 4708 or byte [bp+01ch], 001h ; 80 4e 1c 01 4685 4709 mov al, byte [bp-006h] ; 8a 46 fa 4686 4710 xor ah, ah ; 30 e4 4687 call 031 32h ; e8 20fb4711 call 03150h ; e8 07 fb 4688 4712 test ax, ax ; 85 c0 4689 jne short 036 19h ; 75 034690 jmp near 032 1ah ; e9 01 fc4713 jne short 03650h ; 75 03 4714 jmp near 03238h ; e9 e8 fb 4691 4715 mov dl, byte [bp-006h] ; 8a 56 fa 4692 4716 xor dh, dh ; 30 f6 4693 4717 mov ax, dx ; 89 d0 4694 call 02f 65h ; e8 42f94718 call 02f83h ; e8 29 f9 4695 4719 test ax, ax ; 85 c0 4696 jne short 036 33h ; 75 0c4720 jne short 0367eh ; 75 20 4697 4721 mov ax, dx ; 89 d0 4698 call 030 39h ; e8 0d fa4722 call 03057h ; e8 f4 f9 4699 4723 test ax, ax ; 85 c0 4700 jne short 03633h ; 75 03 4701 jmp near 032f0h ; e9 bd fc 4724 jne short 0367eh ; 75 17 4725 mov ax, word [bp+016h] ; 8b 46 16 4726 xor ah, ah ; 30 e4 4727 or ah, 00ch ; 80 cc 0c 4728 mov word [bp+016h], ax ; 89 46 16 4729 mov ax, strict word 0000ch ; b8 0c 00 4730 call 02e09h ; e8 91 f7 4731 mov byte [bp+016h], dh ; 88 76 16 4732 jmp near 035d0h ; e9 52 ff 4702 4733 mov dx, word [bp+006h] ; 8b 56 06 4703 4734 shr dx, 00ch ; c1 ea 0c … … 4709 4740 mov word [bp-012h], bx ; 89 5e ee 4710 4741 cmp ax, bx ; 39 d8 4711 jbe short 036 4fh ; 76 024742 jbe short 0369ah ; 76 02 4712 4743 db 0feh, 0c1h 4713 4744 ; inc cl ; fe c1 … … 4720 4751 add ax, bx ; 01 d8 4721 4752 cmp ax, word [bp-012h] ; 3b 46 ee 4722 jnc short 036 66h ; 73 034723 jmp near 033 40h ; e9 dafc4753 jnc short 036b1h ; 73 03 4754 jmp near 03365h ; e9 b4 fc 4724 4755 mov AL, strict byte 006h ; b0 06 4725 4756 mov dx, strict word 0000ah ; ba 0a 00 … … 4752 4783 mov dx, strict word 0000ah ; ba 0a 00 4753 4784 out DX, AL ; ee 4754 mov al, byte [bp-006h] ; 8a 46 fa 4755 xor ah, ah ; 30 e4 4756 call 02ee2h ; e8 36 f8 4785 mov bl, byte [bp-006h] ; 8a 5e fa 4786 xor bh, bh ; 30 ff 4787 mov ax, bx ; 89 d8 4788 call 02f00h ; e8 07 f8 4757 4789 mov AL, strict byte 00fh ; b0 0f 4758 4790 mov dx, 003f5h ; ba f5 03 … … 4760 4792 mov al, byte [bp-00ah] ; 8a 46 f6 4761 4793 xor ah, ah ; 30 e4 4762 sal ax, 002h ; c1 e0 02 4763 mov bl, byte [bp-006h] ; 8a 5e fa 4764 xor bh, bh ; 30 ff 4765 or bx, ax ; 09 c3 4766 mov al, bl ; 88 d8 4794 mov dx, ax ; 89 c2 4795 sal dx, 002h ; c1 e2 02 4796 or dx, bx ; 09 da 4797 mov word [bp-010h], dx ; 89 56 f0 4798 mov al, byte [bp-010h] ; 8a 46 f0 4799 mov dx, 003f5h ; ba f5 03 4767 4800 out DX, AL ; ee 4768 4801 mov al, byte [bp-008h] ; 8a 46 f8 … … 4770 4803 mov AL, strict byte 04dh ; b0 4d 4771 4804 out DX, AL ; ee 4772 mov al, b l ; 88 d84805 mov al, byte [bp-010h] ; 8a 46 f0 4773 4806 out DX, AL ; ee 4774 4807 mov AL, strict byte 002h ; b0 02 … … 4780 4813 mov AL, strict byte 0f6h ; b0 f6 4781 4814 out DX, AL ; ee 4782 call 02e73h ; e8 96f74815 call 02e73h ; e8 44 f7 4783 4816 test al, al ; 84 c0 4784 jne short 036e7h ; 75 06 4785 call 02ebah ; e8 d6 f7 4786 jmp near 0321ah ; e9 33 fb 4817 jne short 0373bh ; 75 08 4818 mov ax, bx ; 89 d8 4819 call 02ebah ; e8 82 f7 4820 jmp near 03238h ; e9 fd fa 4787 4821 mov dx, 003f4h ; ba f4 03 4788 4822 in AL, DX ; ec … … 4791 4825 and AL, strict byte 0c0h ; 24 c0 4792 4826 cmp AL, strict byte 0c0h ; 3c c0 4793 je short 037 01h ; 74 0e4827 je short 03755h ; 74 0e 4794 4828 push 00275h ; 68 75 02 4795 4829 push 002a8h ; 68 a8 02 4796 4830 push strict byte 00007h ; 6a 07 4797 call 01966h ; e8 68e24831 call 01966h ; e8 14 e2 4798 4832 add sp, strict byte 00006h ; 83 c4 06 4799 4833 xor si, si ; 31 f6 4800 jmp short 037 0ah ; eb 054834 jmp short 0375eh ; eb 05 4801 4835 cmp si, strict byte 00007h ; 83 fe 07 4802 jnl short 037 23h ; 7d 194836 jnl short 03777h ; 7d 19 4803 4837 mov dx, 003f5h ; ba f5 03 4804 4838 in AL, DX ; ec 4805 4839 db 02ah, 0e4h 4806 4840 ; sub ah, ah ; 2a e4 4807 mov byte [bp+si-01 ah], al ; 88 42 e64841 mov byte [bp+si-01ch], al ; 88 42 e4 4808 4842 mov bl, al ; 88 c3 4809 4843 xor bh, bh ; 30 ff 4810 4844 lea dx, [si+042h] ; 8d 54 42 4811 4845 mov ax, strict word 00040h ; b8 40 00 4812 call 0165eh ; e8 3e df4846 call 0165eh ; e8 ea de 4813 4847 inc si ; 46 4814 jmp short 037 05h ; eb e24815 test byte [bp-01 ah], 0c0h ; f6 46 e6c04816 je short 037 40h ; 74 174817 test byte [bp-01 9h], 002h ; f6 46 e7024818 je short 037 32h ; 74 034819 jmp near 035 94h ; e9 62fe4848 jmp short 03759h ; eb e2 4849 test byte [bp-01ch], 0c0h ; f6 46 e4 c0 4850 je short 03794h ; 74 17 4851 test byte [bp-01bh], 002h ; f6 46 e5 02 4852 je short 03786h ; 74 03 4853 jmp near 035cbh ; e9 45 fe 4820 4854 push 00275h ; 68 75 02 4821 4855 push 002bch ; 68 bc 02 4822 4856 push strict byte 00007h ; 6a 07 4823 call 01966h ; e8 29 e24857 call 01966h ; e8 d5 e1 4824 4858 add sp, strict byte 00006h ; 83 c4 06 4825 4859 xor al, al ; 30 c0 4826 4860 mov byte [bp+017h], al ; 88 46 17 4827 4861 xor ah, ah ; 30 e4 4828 call 02e09h ; e8 bff64862 call 02e09h ; e8 6b f6 4829 4863 mov al, byte [bp-006h] ; 8a 46 fa 4830 4864 xor ah, ah ; 30 e4 4831 4865 xor dx, dx ; 31 d2 4832 call 02e22h ; e8 cef64833 jmp near 039 1dh ; e9 c6 014866 call 02e22h ; e8 7a f6 4867 jmp near 03971h ; e9 c6 01 4834 4868 mov byte [bp-006h], al ; 88 46 fa 4835 4869 cmp AL, strict byte 001h ; 3c 01 4836 jbe short 037 7ch ; 76 1e4870 jbe short 037d0h ; 76 1e 4837 4871 xor ax, ax ; 31 c0 4838 4872 mov word [bp+016h], ax ; 89 46 16 … … 4845 4879 xor ah, ah ; 30 e4 4846 4880 mov word [bp+012h], ax ; 89 46 12 4847 jmp near 038 98h ; e9 1c 014881 jmp near 038ech ; e9 1c 01 4848 4882 mov ax, strict word 00010h ; b8 10 00 4849 call 016ach ; e8 2a df4883 call 016ach ; e8 d6 de 4850 4884 mov cl, al ; 88 c1 4851 4885 xor ch, ch ; 30 ed 4852 4886 test AL, strict byte 0f0h ; a8 f0 4853 je short 037 8ch ; 74 024887 je short 037e0h ; 74 02 4854 4888 mov CH, strict byte 001h ; b5 01 4855 4889 test cl, 00fh ; f6 c1 0f 4856 je short 037 93h ; 74 024890 je short 037e7h ; 74 02 4857 4891 db 0feh, 0c5h 4858 4892 ; inc ch ; fe c5 4859 4893 cmp byte [bp-006h], 000h ; 80 7e fa 00 4860 jne short 037 9eh ; 75 054894 jne short 037f2h ; 75 05 4861 4895 shr cl, 004h ; c0 e9 04 4862 jmp short 037 a1h ; eb 034896 jmp short 037f5h ; eb 03 4863 4897 and cl, 00fh ; 80 e1 0f 4864 4898 mov byte [bp+011h], 000h ; c6 46 11 00 … … 4876 4910 mov word [bp+012h], ax ; 89 46 12 4877 4911 cmp cl, 003h ; 80 f9 03 4878 jc short 03 7ddh ; 72 154879 jbe short 038 04h ; 76 3a4912 jc short 03831h ; 72 15 4913 jbe short 03858h ; 76 3a 4880 4914 cmp cl, 005h ; 80 f9 05 4881 jc short 038 0bh ; 72 3c4882 jbe short 038 12h ; 76 414915 jc short 0385fh ; 72 3c 4916 jbe short 03866h ; 76 41 4883 4917 cmp cl, 00fh ; 80 f9 0f 4884 je short 038 20h ; 74 4a4918 je short 03874h ; 74 4a 4885 4919 cmp cl, 00eh ; 80 f9 0e 4886 je short 038 19h ; 74 3e4887 jmp short 038 27h ; eb 4a4920 je short 0386dh ; 74 3e 4921 jmp short 0387bh ; eb 4a 4888 4922 cmp cl, 002h ; 80 f9 02 4889 je short 03 7fdh ; 74 1b4923 je short 03851h ; 74 1b 4890 4924 cmp cl, 001h ; 80 f9 01 4891 je short 03 7f6h ; 74 0f4925 je short 0384ah ; 74 0f 4892 4926 test cl, cl ; 84 c9 4893 jne short 038 27h ; 75 3c4927 jne short 0387bh ; 75 3c 4894 4928 mov word [bp+014h], strict word 00000h ; c7 46 14 00 00 4895 4929 mov byte [bp+013h], 000h ; c6 46 13 00 4896 jmp short 038 35h ; eb 3f4930 jmp short 03889h ; eb 3f 4897 4931 mov word [bp+014h], 02709h ; c7 46 14 09 27 4898 jmp short 038 35h ; eb 384932 jmp short 03889h ; eb 38 4899 4933 mov word [bp+014h], 04f0fh ; c7 46 14 0f 4f 4900 jmp short 038 35h ; eb 314934 jmp short 03889h ; eb 31 4901 4935 mov word [bp+014h], 04f09h ; c7 46 14 09 4f 4902 jmp short 038 35h ; eb 2a4936 jmp short 03889h ; eb 2a 4903 4937 mov word [bp+014h], 04f12h ; c7 46 14 12 4f 4904 jmp short 038 35h ; eb 234938 jmp short 03889h ; eb 23 4905 4939 mov word [bp+014h], 04f24h ; c7 46 14 24 4f 4906 jmp short 038 35h ; eb 1c4940 jmp short 03889h ; eb 1c 4907 4941 mov word [bp+014h], 0fe3fh ; c7 46 14 3f fe 4908 jmp short 038 35h ; eb 154942 jmp short 03889h ; eb 15 4909 4943 mov word [bp+014h], 0feffh ; c7 46 14 ff fe 4910 jmp short 038 35h ; eb 0e4944 jmp short 03889h ; eb 0e 4911 4945 push 00275h ; 68 75 02 4912 4946 push 002cdh ; 68 cd 02 4913 4947 push strict byte 00007h ; 6a 07 4914 call 01966h ; e8 34 e14948 call 01966h ; e8 e0 e0 4915 4949 add sp, strict byte 00006h ; 83 c4 06 4916 4950 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 4917 4951 mov al, cl ; 88 c8 4918 4952 xor ah, ah ; 30 e4 4919 call 03a 98h ; e8 57 024953 call 03aech ; e8 57 02 4920 4954 mov word [bp+008h], ax ; 89 46 08 4921 jmp near 039 1dh ; e9 d6 004955 jmp near 03971h ; e9 d6 00 4922 4956 mov byte [bp-006h], al ; 88 46 fa 4923 4957 cmp AL, strict byte 001h ; 3c 01 4924 jbe short 038 53h ; 76 054958 jbe short 038a7h ; 76 05 4925 4959 mov word [bp+016h], si ; 89 76 16 4926 jmp short 038 98h ; eb 454960 jmp short 038ech ; eb 45 4927 4961 mov ax, strict word 00010h ; b8 10 00 4928 call 016ach ; e8 53 de4962 call 016ach ; e8 ff dd 4929 4963 cmp byte [bp-006h], 000h ; 80 7e fa 00 4930 jne short 038 66h ; 75 074964 jne short 038bah ; 75 07 4931 4965 mov cl, al ; 88 c1 4932 4966 shr cl, 004h ; c0 e9 04 4933 jmp short 038 6bh ; eb 054967 jmp short 038bfh ; eb 05 4934 4968 mov cl, al ; 88 c1 4935 4969 and cl, 00fh ; 80 e1 0f … … 4938 4972 xor ah, ah ; 30 e4 4939 4973 test cl, cl ; 84 c9 4940 je short 038 85h ; 74 0d4974 je short 038d9h ; 74 0d 4941 4975 cmp cl, 001h ; 80 f9 01 4942 jbe short 038 82h ; 76 054976 jbe short 038d6h ; 76 05 4943 4977 or ah, 002h ; 80 cc 02 4944 jmp short 038 85h ; eb 034978 jmp short 038d9h ; eb 03 4945 4979 or ah, 001h ; 80 cc 01 4946 4980 mov word [bp+016h], ax ; 89 46 16 4947 jmp near 035 bch ; e9 31fd4981 jmp near 035f3h ; e9 14 fd 4948 4982 cmp AL, strict byte 001h ; 3c 01 4949 jbe short 038 9eh ; 76 0f4983 jbe short 038f2h ; 76 0f 4950 4984 mov word [bp+016h], si ; 89 76 16 4951 4985 mov ax, strict word 00001h ; b8 01 00 4952 call 02e09h ; e8 71f54986 call 02e09h ; e8 1d f5 4953 4987 mov word [bp+01ch], dx ; 89 56 1c 4954 jmp near 035 bch ; e9 1efd4988 jmp near 035f3h ; e9 01 fd 4955 4989 mov ax, word [bp+016h] ; 8b 46 16 4956 4990 xor ah, ah ; 30 e4 … … 4958 4992 mov word [bp+016h], ax ; 89 46 16 4959 4993 mov ax, strict word 00006h ; b8 06 00 4960 jmp near 03 1e7h ; e9 38f94994 jmp near 03205h ; e9 02 f9 4961 4995 mov byte [bp-006h], al ; 88 46 fa 4962 4996 mov bl, cl ; 88 cb 4963 4997 cmp AL, strict byte 001h ; 3c 01 4964 jnbe short 038 8fh ; 77 d74998 jnbe short 038e3h ; 77 d7 4965 4999 mov al, byte [bp-006h] ; 8a 46 fa 4966 5000 xor ah, ah ; 30 e4 4967 call 031 32h ; e8 72f85001 call 03150h ; e8 3c f8 4968 5002 test ax, ax ; 85 c0 4969 jne short 03 8c7h ; 75 034970 jmp near 032 1ah ; e9 53f95003 jne short 0391bh ; 75 03 5004 jmp near 03238h ; e9 1d f9 4971 5005 cmp byte [bp-006h], 000h ; 80 7e fa 00 4972 je short 03 8d2h ; 74 055006 je short 03926h ; 74 05 4973 5007 mov dx, 00091h ; ba 91 00 4974 jmp short 03 8d5h ; eb 035008 jmp short 03929h ; eb 03 4975 5009 mov dx, 00090h ; ba 90 00 4976 5010 mov word [bp-012h], dx ; 89 56 ee 4977 5011 mov ax, strict word 00040h ; b8 40 00 4978 call 01650h ; e8 72dd5012 call 01650h ; e8 1e dd 4979 5013 and AL, strict byte 00fh ; 24 0f 4980 5014 cmp bl, 002h ; 80 fb 02 4981 jc short 03 8f4h ; 72 0f4982 jbe short 039 00h ; 76 195015 jc short 03948h ; 72 0f 5016 jbe short 03954h ; 76 19 4983 5017 cmp bl, 004h ; 80 fb 04 4984 je short 03 8fch ; 74 105018 je short 03950h ; 74 10 4985 5019 cmp bl, 003h ; 80 fb 03 4986 je short 039 04h ; 74 134987 jmp near 031 d9h ; e9 e5f85020 je short 03958h ; 74 13 5021 jmp near 031f7h ; e9 af f8 4988 5022 cmp bl, 001h ; 80 fb 01 4989 je short 03 8fch ; 74 034990 jmp near 031 d9h ; e9 ddf85023 je short 03950h ; 74 03 5024 jmp near 031f7h ; e9 a7 f8 4991 5025 or AL, strict byte 090h ; 0c 90 4992 jmp short 039 06h ; eb 065026 jmp short 0395ah ; eb 06 4993 5027 or AL, strict byte 070h ; 0c 70 4994 jmp short 039 06h ; eb 025028 jmp short 0395ah ; eb 02 4995 5029 or AL, strict byte 010h ; 0c 10 4996 5030 mov bl, al ; 88 c3 … … 4998 5032 mov dx, word [bp-012h] ; 8b 56 ee 4999 5033 mov ax, strict word 00040h ; b8 40 00 5000 call 0165eh ; e8 4b dd5034 call 0165eh ; e8 f7 dc 5001 5035 xor al, al ; 30 c0 5002 5036 mov byte [bp+017h], al ; 88 46 17 5003 5037 xor ah, ah ; 30 e4 5004 call 02e09h ; e8 ecf45038 call 02e09h ; e8 98 f4 5005 5039 and byte [bp+01ch], 0feh ; 80 66 1c fe 5006 jmp near 035 bch ; e9 98fc5040 jmp near 035f3h ; e9 7b fc 5007 5041 mov byte [bp-006h], al ; 88 46 fa 5008 5042 mov ch, ah ; 88 e5 … … 5012 5046 sar bx, 006h ; c1 fb 06 5013 5047 sal bx, 008h ; c1 e3 08 5014 add bx, word [bp-01 0h] ; 03 5e f05048 add bx, word [bp-014h] ; 03 5e ec 5015 5049 mov byte [bp-008h], bl ; 88 5e f8 5016 5050 cmp AL, strict byte 001h ; 3c 01 5017 jbe short 039 43h ; 76 035018 jmp near 038 8fh ; e9 4c ff5051 jbe short 03997h ; 76 03 5052 jmp near 038e3h ; e9 4c ff 5019 5053 mov al, byte [bp-006h] ; 8a 46 fa 5020 5054 xor ah, ah ; 30 e4 5021 call 031 32h ; e8 e7f75055 call 03150h ; e8 b1 f7 5022 5056 test ax, ax ; 85 c0 5023 jne short 039 52h ; 75 035024 jmp near 032 1ah ; e9 c8f85025 mov dl, byte [bp-006h] ; 8a 56fa5026 xor dh, dh ; 30 f65027 mov ax, dx ; 89 d05028 call 02f 65h ; e8 09 f65057 jne short 039a6h ; 75 03 5058 jmp near 03238h ; e9 92 f8 5059 mov bl, byte [bp-006h] ; 8a 5e fa 5060 xor bh, bh ; 30 ff 5061 mov ax, bx ; 89 d8 5062 call 02f83h ; e8 d3 f5 5029 5063 test ax, ax ; 85 c0 5030 jne short 039 7ah ; 75 1a5031 mov ax, dx ; 89 d05032 call 030 39h ; e8 d4f65064 jne short 039ceh ; 75 1a 5065 mov ax, bx ; 89 d8 5066 call 03057h ; e8 9e f6 5033 5067 test ax, ax ; 85 c0 5034 jne short 039 7ah ; 75 115068 jne short 039ceh ; 75 11 5035 5069 mov ax, word [bp+016h] ; 8b 46 16 5036 5070 xor ah, ah ; 30 e4 … … 5038 5072 mov word [bp+016h], ax ; 89 46 16 5039 5073 mov ax, strict word 0000ch ; b8 0c 00 5040 jmp near 03 1e7h ; e9 6df85074 jmp near 03205h ; e9 37 f8 5041 5075 mov ax, strict word 00010h ; b8 10 00 5042 call 016ach ; e8 2c dd5076 call 016ach ; e8 d8 dc 5043 5077 cmp byte [bp-006h], 000h ; 80 7e fa 00 5044 jne short 039 8dh ; 75 075078 jne short 039e1h ; 75 07 5045 5079 mov cl, al ; 88 c1 5046 5080 shr cl, 004h ; c0 e9 04 5047 jmp short 039 92h ; eb 055081 jmp short 039e6h ; eb 05 5048 5082 mov cl, al ; 88 c1 5049 5083 and cl, 00fh ; 80 e1 0f 5050 5084 cmp byte [bp-006h], 000h ; 80 7e fa 00 5051 je short 039 9dh ; 74 055085 je short 039f1h ; 74 05 5052 5086 mov dx, 00091h ; ba 91 00 5053 jmp short 039 a0h ; eb 035087 jmp short 039f4h ; eb 03 5054 5088 mov dx, 00090h ; ba 90 00 5055 5089 mov word [bp-012h], dx ; 89 56 ee 5056 5090 mov ax, strict word 00040h ; b8 40 00 5057 call 01650h ; e8 a7dc5091 call 01650h ; e8 53 dc 5058 5092 and AL, strict byte 00fh ; 24 0f 5059 5093 cmp cl, 003h ; 80 f9 03 5060 jc short 03 9cch ; 72 1c5094 jc short 03a20h ; 72 1c 5061 5095 mov ah, al ; 88 c4 5062 5096 or ah, 090h ; 80 cc 90 5063 5097 cmp cl, 003h ; 80 f9 03 5064 jbe short 03a 03h ; 76 495098 jbe short 03a57h ; 76 49 5065 5099 mov dl, al ; 88 c2 5066 5100 or dl, 010h ; 80 ca 10 5067 5101 cmp cl, 005h ; 80 f9 05 5068 je short 03a 10h ; 74 4c5102 je short 03a64h ; 74 4c 5069 5103 cmp cl, 004h ; 80 f9 04 5070 je short 03a 16h ; 74 4d5071 jmp near 03a 47h ; e9 7b 005104 je short 03a6ah ; 74 4d 5105 jmp near 03a9bh ; e9 7b 00 5072 5106 cmp cl, 002h ; 80 f9 02 5073 je short 03 9e5h ; 74 145107 je short 03a39h ; 74 14 5074 5108 cmp cl, 001h ; 80 f9 01 5075 jne short 03a 14h ; 75 3e5109 jne short 03a68h ; 75 3e 5076 5110 cmp byte [bp-008h], 027h ; 80 7e f8 27 5077 jne short 03a 14h ; 75 385111 jne short 03a68h ; 75 38 5078 5112 cmp ch, 009h ; 80 fd 09 5079 jne short 03a 2ah ; 75 495113 jne short 03a7eh ; 75 49 5080 5114 or AL, strict byte 090h ; 0c 90 5081 jmp short 03a 2ah ; eb 455115 jmp short 03a7eh ; eb 45 5082 5116 cmp byte [bp-008h], 027h ; 80 7e f8 27 5083 jne short 03 9f4h ; 75 095117 jne short 03a48h ; 75 09 5084 5118 cmp ch, 009h ; 80 fd 09 5085 jne short 03 9f4h ; 75 045119 jne short 03a48h ; 75 04 5086 5120 or AL, strict byte 070h ; 0c 70 5087 jmp short 03a 2ah ; eb 365121 jmp short 03a7eh ; eb 36 5088 5122 cmp byte [bp-008h], 04fh ; 80 7e f8 4f 5089 jne short 03a 47h ; 75 4d5123 jne short 03a9bh ; 75 4d 5090 5124 cmp ch, 00fh ; 80 fd 0f 5091 jne short 03a 47h ; 75 485125 jne short 03a9bh ; 75 48 5092 5126 or AL, strict byte 010h ; 0c 10 5093 jmp short 03a 47h ; eb 445127 jmp short 03a9bh ; eb 44 5094 5128 cmp byte [bp-008h], 04fh ; 80 7e f8 4f 5095 jne short 03a 47h ; 75 3e5129 jne short 03a9bh ; 75 3e 5096 5130 cmp ch, 009h ; 80 fd 09 5097 je short 03a 12h ; 74 045098 jmp short 03a 47h ; eb 375099 jmp short 03a 2ch ; eb 1a5131 je short 03a66h ; 74 04 5132 jmp short 03a9bh ; eb 37 5133 jmp short 03a80h ; eb 1a 5100 5134 mov al, ah ; 88 e0 5101 jmp short 03a 47h ; eb 315135 jmp short 03a9bh ; eb 31 5102 5136 cmp byte [bp-008h], 04fh ; 80 7e f8 4f 5103 jne short 03a 47h ; 75 2b5137 jne short 03a9bh ; 75 2b 5104 5138 cmp ch, 009h ; 80 fd 09 5105 jne short 03a 23h ; 75 025106 jmp short 03a 12h ; eb ef5139 jne short 03a77h ; 75 02 5140 jmp short 03a66h ; eb ef 5107 5141 cmp ch, 012h ; 80 fd 12 5108 jne short 03a 47h ; 75 1f5142 jne short 03a9bh ; 75 1f 5109 5143 mov al, dl ; 88 d0 5110 jmp short 03a 47h ; eb 1b5144 jmp short 03a9bh ; eb 1b 5111 5145 cmp byte [bp-008h], 04fh ; 80 7e f8 4f 5112 jne short 03a 47h ; 75 155146 jne short 03a9bh ; 75 15 5113 5147 cmp ch, 009h ; 80 fd 09 5114 jne short 03a 39h ; 75 025115 jmp short 03a 12h ; eb d95148 jne short 03a8dh ; 75 02 5149 jmp short 03a66h ; eb d9 5116 5150 cmp ch, 012h ; 80 fd 12 5117 jne short 03a 40h ; 75 025118 jmp short 03a 28h ; eb e85151 jne short 03a94h ; 75 02 5152 jmp short 03a7ch ; eb e8 5119 5153 cmp ch, 024h ; 80 fd 24 5120 jne short 03a 47h ; 75 025154 jne short 03a9bh ; 75 02 5121 5155 or AL, strict byte 0d0h ; 0c d0 5122 5156 mov dl, al ; 88 c2 … … 5124 5158 sar dx, 004h ; c1 fa 04 5125 5159 test dl, 001h ; f6 c2 01 5126 jne short 03a 56h ; 75 035127 jmp near 039 69h ; e9 13 ff5160 jne short 03aaah ; 75 03 5161 jmp near 039bdh ; e9 13 ff 5128 5162 mov bl, al ; 88 c3 5129 5163 xor bh, bh ; 30 ff 5130 5164 mov dx, word [bp-012h] ; 8b 56 ee 5131 5165 mov ax, strict word 00040h ; b8 40 00 5132 call 0165eh ; e8 fbdb5166 call 0165eh ; e8 a7 db 5133 5167 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 5134 5168 mov al, cl ; 88 c8 5135 5169 xor ah, ah ; 30 e4 5136 call 03a 98h ; e8 29 005170 call 03aech ; e8 29 00 5137 5171 mov word [bp+008h], ax ; 89 46 08 5138 jmp near 039 13h ; e9 9e fe5172 jmp near 03967h ; e9 9e fe 5139 5173 mov bx, 00da0h ; bb a0 0d 5140 5174 mov cx, ds ; 8c d9 5141 5175 mov ax, strict word 00004h ; b8 04 00 5142 call 01923h ; e8 a3de5176 call 01923h ; e8 4f de 5143 5177 mov ax, word [bp+016h] ; 8b 46 16 5144 5178 shr ax, 008h ; c1 e8 08 … … 5147 5181 push 002e2h ; 68 e2 02 5148 5182 push strict byte 00004h ; 6a 04 5149 call 01966h ; e8 d4de5183 call 01966h ; e8 80 de 5150 5184 add sp, strict byte 00008h ; 83 c4 08 5151 jmp near 031 d9h ; e9 41f75152 get_floppy_dpt_: ; 0xf3a 98LB 0x305185 jmp near 031f7h ; e9 0b f7 5186 get_floppy_dpt_: ; 0xf3aec LB 0x30 5153 5187 push bx ; 53 5154 5188 push dx ; 52 … … 5157 5191 mov dl, al ; 88 c2 5158 5192 xor ax, ax ; 31 c0 5159 jmp short 03a a9h ; eb 065193 jmp short 03afdh ; eb 06 5160 5194 inc ax ; 40 5161 5195 cmp ax, strict word 00007h ; 3d 07 00 5162 jnc short 03 ac1h ; 73 185196 jnc short 03b15h ; 73 18 5163 5197 mov bx, ax ; 89 c3 5164 5198 add bx, ax ; 01 c3 5165 5199 cmp dl, byte [word bx+0005bh] ; 3a 97 5b 00 5166 jne short 03a a3h ; 75 f05200 jne short 03af7h ; 75 f0 5167 5201 mov al, byte [word bx+0005ch] ; 8a 87 5c 00 5168 5202 xor ah, ah ; 30 e4 5169 5203 imul ax, ax, strict byte 0000dh ; 6b c0 0d 5170 5204 add ax, strict word 00000h ; 05 00 00 5171 jmp short 03 ac4h ; eb 035205 jmp short 03b18h ; eb 03 5172 5206 mov ax, strict word 00041h ; b8 41 00 5173 5207 pop bp ; 5d … … 5175 5209 pop bx ; 5b 5176 5210 retn ; c3 5177 dummy_soft_reset_: ; 0xf3 ac8LB 0x75211 dummy_soft_reset_: ; 0xf3b1c LB 0x7 5178 5212 push bp ; 55 5179 5213 mov bp, sp ; 89 e5 … … 5181 5215 pop bp ; 5d 5182 5216 retn ; c3 5183 _cdemu_init: ; 0xf3 acfLB 0x185217 _cdemu_init: ; 0xf3b23 LB 0x18 5184 5218 push bp ; 55 5185 5219 mov bp, sp ; 89 e5 5186 5220 mov dx, strict word 0000eh ; ba 0e 00 5187 5221 mov ax, strict word 00040h ; b8 40 00 5188 call 0166ch ; e8 91db5222 call 0166ch ; e8 3d db 5189 5223 xor bx, bx ; 31 db 5190 5224 mov dx, 00366h ; ba 66 03 5191 call 0165eh ; e8 7bdb5225 call 0165eh ; e8 27 db 5192 5226 mov sp, bp ; 89 ec 5193 5227 pop bp ; 5d 5194 5228 retn ; c3 5195 _cdemu_isactive: ; 0xf3 ae7LB 0x165229 _cdemu_isactive: ; 0xf3b3b LB 0x16 5196 5230 push bp ; 55 5197 5231 mov bp, sp ; 89 e5 5198 5232 mov dx, strict word 0000eh ; ba 0e 00 5199 5233 mov ax, strict word 00040h ; b8 40 00 5200 call 0166ch ; e8 79db5234 call 0166ch ; e8 25 db 5201 5235 mov dx, 00366h ; ba 66 03 5202 call 01650h ; e8 57db5236 call 01650h ; e8 03 db 5203 5237 mov sp, bp ; 89 ec 5204 5238 pop bp ; 5d 5205 5239 retn ; c3 5206 _cdemu_emulated_drive: ; 0xf3 afdLB 0x165240 _cdemu_emulated_drive: ; 0xf3b51 LB 0x16 5207 5241 push bp ; 55 5208 5242 mov bp, sp ; 89 e5 5209 5243 mov dx, strict word 0000eh ; ba 0e 00 5210 5244 mov ax, strict word 00040h ; b8 40 00 5211 call 0166ch ; e8 63db5245 call 0166ch ; e8 0f db 5212 5246 mov dx, 00368h ; ba 68 03 5213 call 01650h ; e8 41 db5247 call 01650h ; e8 ed da 5214 5248 mov sp, bp ; 89 ec 5215 5249 pop bp ; 5d 5216 5250 retn ; c3 5217 _int13_eltorito: ; 0xf3b 13LB 0x1905251 _int13_eltorito: ; 0xf3b67 LB 0x190 5218 5252 push bp ; 55 5219 5253 mov bp, sp ; 89 e5 … … 5222 5256 mov dx, strict word 0000eh ; ba 0e 00 5223 5257 mov ax, strict word 00040h ; b8 40 00 5224 call 0166ch ; e8 4b db5258 call 0166ch ; e8 f7 da 5225 5259 mov si, 00366h ; be 66 03 5226 5260 mov di, ax ; 89 c7 … … 5228 5262 shr ax, 008h ; c1 e8 08 5229 5263 cmp ax, strict word 0004bh ; 3d 4b 00 5230 jc short 03b 3bh ; 72 0a5231 jbe short 03b 62h ; 76 2f5264 jc short 03b8fh ; 72 0a 5265 jbe short 03bb6h ; 76 2f 5232 5266 cmp ax, strict word 0004dh ; 3d 4d 00 5233 jbe short 03b 40h ; 76 085234 jmp near 03c 67h ; e9 2c 015267 jbe short 03b94h ; 76 08 5268 jmp near 03cbbh ; e9 2c 01 5235 5269 cmp ax, strict word 0004ah ; 3d 4a 00 5236 jne short 03b 5fh ; 75 1f5270 jne short 03bb3h ; 75 1f 5237 5271 mov bx, 00da0h ; bb a0 0d 5238 5272 mov cx, ds ; 8c d9 5239 5273 mov ax, strict word 00004h ; b8 04 00 5240 call 01923h ; e8 d8dd5274 call 01923h ; e8 84 dd 5241 5275 push word [bp+016h] ; ff 76 16 5242 5276 push 002fch ; 68 fc 02 5243 5277 push 0030bh ; 68 0b 03 5244 5278 push strict byte 00004h ; 6a 04 5245 call 01966h ; e8 0d de5279 call 01966h ; e8 b9 dd 5246 5280 add sp, strict byte 00008h ; 83 c4 08 5247 jmp near 03c 82h ; e9 23 015248 jmp near 03c 67h ; e9 05 015281 jmp near 03cd6h ; e9 23 01 5282 jmp near 03cbbh ; e9 05 01 5249 5283 mov dx, word [bp+00ah] ; 8b 56 0a 5250 5284 mov ax, word [bp+004h] ; 8b 46 04 5251 5285 mov bx, strict word 00013h ; bb 13 00 5252 call 0165eh ; e8 f0da5286 call 0165eh ; e8 9c da 5253 5287 mov es, di ; 8e c7 5254 5288 mov bl, byte [es:si+001h] ; 26 8a 5c 01 … … 5257 5291 inc dx ; 42 5258 5292 mov ax, word [bp+004h] ; 8b 46 04 5259 call 0165eh ; e8 deda5293 call 0165eh ; e8 8a da 5260 5294 mov es, di ; 8e c7 5261 5295 mov bl, byte [es:si+002h] ; 26 8a 5c 02 … … 5265 5299 inc dx ; 42 5266 5300 mov ax, word [bp+004h] ; 8b 46 04 5267 call 0165eh ; e8 cbda5301 call 0165eh ; e8 77 da 5268 5302 mov es, di ; 8e c7 5269 5303 mov bl, byte [es:si+003h] ; 26 8a 5c 03 … … 5272 5306 add dx, strict byte 00003h ; 83 c2 03 5273 5307 mov ax, word [bp+004h] ; 8b 46 04 5274 call 0165eh ; e8 b7da5308 call 0165eh ; e8 63 da 5275 5309 mov es, di ; 8e c7 5276 5310 mov bx, word [es:si+008h] ; 26 8b 5c 08 … … 5279 5313 add dx, strict byte 00004h ; 83 c2 04 5280 5314 mov ax, word [bp+004h] ; 8b 46 04 5281 call 0169ah ; e8 ddda5315 call 0169ah ; e8 89 da 5282 5316 mov es, di ; 8e c7 5283 5317 mov bx, word [es:si+004h] ; 26 8b 5c 04 … … 5285 5319 add dx, strict byte 00008h ; 83 c2 08 5286 5320 mov ax, word [bp+004h] ; 8b 46 04 5287 call 0167ah ; e8 abda5321 call 0167ah ; e8 57 da 5288 5322 mov es, di ; 8e c7 5289 5323 mov bx, word [es:si+006h] ; 26 8b 5c 06 … … 5291 5325 add dx, strict byte 0000ah ; 83 c2 0a 5292 5326 mov ax, word [bp+004h] ; 8b 46 04 5293 call 0167ah ; e8 99da5327 call 0167ah ; e8 45 da 5294 5328 mov es, di ; 8e c7 5295 5329 mov bx, word [es:si+00ch] ; 26 8b 5c 0c … … 5297 5331 add dx, strict byte 0000ch ; 83 c2 0c 5298 5332 mov ax, word [bp+004h] ; 8b 46 04 5299 call 0167ah ; e8 87da5333 call 0167ah ; e8 33 da 5300 5334 mov es, di ; 8e c7 5301 5335 mov bx, word [es:si+00eh] ; 26 8b 5c 0e … … 5303 5337 add dx, strict byte 0000eh ; 83 c2 0e 5304 5338 mov ax, word [bp+004h] ; 8b 46 04 5305 call 0167ah ; e8 75da5339 call 0167ah ; e8 21 da 5306 5340 mov es, di ; 8e c7 5307 5341 mov bl, byte [es:si+012h] ; 26 8a 5c 12 … … 5310 5344 add dx, strict byte 00010h ; 83 c2 10 5311 5345 mov ax, word [bp+004h] ; 8b 46 04 5312 call 0165eh ; e8 45 da5346 call 0165eh ; e8 f1 d9 5313 5347 mov es, di ; 8e c7 5314 5348 mov bl, byte [es:si+014h] ; 26 8a 5c 14 … … 5317 5351 add dx, strict byte 00011h ; 83 c2 11 5318 5352 mov ax, word [bp+004h] ; 8b 46 04 5319 call 0165eh ; e8 31 da5353 call 0165eh ; e8 dd d9 5320 5354 mov es, di ; 8e c7 5321 5355 mov bl, byte [es:si+010h] ; 26 8a 5c 10 … … 5324 5358 add dx, strict byte 00012h ; 83 c2 12 5325 5359 mov ax, word [bp+004h] ; 8b 46 04 5326 call 0165eh ; e8 1d da5360 call 0165eh ; e8 c9 d9 5327 5361 test byte [bp+016h], 0ffh ; f6 46 16 ff 5328 jne short 03c 4dh ; 75 065362 jne short 03ca1h ; 75 06 5329 5363 mov es, di ; 8e c7 5330 5364 mov byte [es:si], 000h ; 26 c6 04 00 … … 5333 5367 mov dx, strict word 00074h ; ba 74 00 5334 5368 mov ax, strict word 00040h ; b8 40 00 5335 call 0165eh ; e8 02 da5369 call 0165eh ; e8 ae d9 5336 5370 and byte [bp+01ch], 0feh ; 80 66 1c fe 5337 5371 lea sp, [bp-004h] ; 8d 66 fc … … 5343 5377 mov cx, ds ; 8c d9 5344 5378 mov ax, strict word 00004h ; b8 04 00 5345 call 01923h ; e8 b1dc5379 call 01923h ; e8 5d dc 5346 5380 mov ax, word [bp+016h] ; 8b 46 16 5347 5381 shr ax, 008h ; c1 e8 08 … … 5349 5383 push 002fch ; 68 fc 02 5350 5384 push 00333h ; 68 33 03 5351 jmp near 03b 54h ; e9 d2 fe5385 jmp near 03ba8h ; e9 d2 fe 5352 5386 mov ax, word [bp+016h] ; 8b 46 16 5353 5387 xor ah, ah ; 30 e4 … … 5359 5393 mov dx, strict word 00074h ; ba 74 00 5360 5394 mov ax, strict word 00040h ; b8 40 00 5361 call 0165eh ; e8 c1d95395 call 0165eh ; e8 6d d9 5362 5396 or byte [bp+01ch], 001h ; 80 4e 1c 01 5363 jmp short 03c 60h ; eb bd5364 device_is_cdrom_: ; 0xf3c a3LB 0x355397 jmp short 03cb4h ; eb bd 5398 device_is_cdrom_: ; 0xf3cf7 LB 0x35 5365 5399 push bp ; 55 5366 5400 mov bp, sp ; 89 e5 … … 5370 5404 mov dx, strict word 0000eh ; ba 0e 00 5371 5405 mov ax, strict word 00040h ; b8 40 00 5372 call 0166ch ; e8 b9d95406 call 0166ch ; e8 65 d9 5373 5407 cmp bl, 010h ; 80 fb 10 5374 jc short 03 cbch ; 72 045408 jc short 03d10h ; 72 04 5375 5409 xor ax, ax ; 31 c0 5376 jmp short 03 cd1h ; eb 155410 jmp short 03d25h ; eb 15 5377 5411 xor bh, bh ; 30 ff 5378 5412 imul bx, bx, strict byte 0001ch ; 6b db 1c … … 5380 5414 add bx, 00122h ; 81 c3 22 01 5381 5415 cmp byte [es:bx+023h], 005h ; 26 80 7f 23 05 5382 jne short 03 cb8h ; 75 ea5416 jne short 03d0ch ; 75 ea 5383 5417 mov ax, strict word 00001h ; b8 01 00 5384 5418 lea sp, [bp-004h] ; 8d 66 fc … … 5387 5421 pop bp ; 5d 5388 5422 retn ; c3 5389 cdrom_boot_: ; 0xf3 cd8LB 0x4345423 cdrom_boot_: ; 0xf3d2c LB 0x434 5390 5424 push bp ; 55 5391 5425 mov bp, sp ; 89 e5 … … 5398 5432 mov dx, strict word 0000eh ; ba 0e 00 5399 5433 mov ax, strict word 00040h ; b8 40 00 5400 call 0166ch ; e8 7fd95434 call 0166ch ; e8 2b d9 5401 5435 mov word [bp-01ah], ax ; 89 46 e6 5402 5436 mov si, 00366h ; be 66 03 … … 5405 5439 mov word [bp-012h], ax ; 89 46 ee 5406 5440 mov byte [bp-00ch], 000h ; c6 46 f4 00 5407 jmp short 03d 0dh ; eb 095441 jmp short 03d61h ; eb 09 5408 5442 inc byte [bp-00ch] ; fe 46 f4 5409 5443 cmp byte [bp-00ch], 010h ; 80 7e f4 10 5410 jnc short 03d 19h ; 73 0c5444 jnc short 03d6dh ; 73 0c 5411 5445 mov al, byte [bp-00ch] ; 8a 46 f4 5412 5446 xor ah, ah ; 30 e4 5413 call 03c a3h ; e8 8e ff5447 call 03cf7h ; e8 8e ff 5414 5448 test ax, ax ; 85 c0 5415 je short 03d 04h ; 74 eb5449 je short 03d58h ; 74 eb 5416 5450 cmp byte [bp-00ch], 010h ; 80 7e f4 10 5417 jc short 03d 25h ; 72 065451 jc short 03d79h ; 72 06 5418 5452 mov ax, strict word 00002h ; b8 02 00 5419 jmp near 040 a9h ; e9 84 035453 jmp near 040fdh ; e9 84 03 5420 5454 mov cx, strict word 0000ch ; b9 0c 00 5421 5455 xor bx, bx ; 31 db 5422 5456 mov dx, ss ; 8c d2 5423 5457 lea ax, [bp-026h] ; 8d 46 da 5424 call 09f a0h ; e8 6e625458 call 09ff0h ; e8 6a 62 5425 5459 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 5426 5460 mov ax, strict word 00011h ; b8 11 00 … … 5439 5473 mov word [es:bx+010h], 00800h ; 26 c7 47 10 00 08 5440 5474 mov byte [bp-00eh], 000h ; c6 46 f2 00 5441 jmp short 03d 70h ; eb 095475 jmp short 03dc4h ; eb 09 5442 5476 inc byte [bp-00eh] ; fe 46 f2 5443 5477 cmp byte [bp-00eh], 004h ; 80 7e f2 04 5444 jnbe short 03 dach ; 77 3c5478 jnbe short 03e00h ; 77 3c 5445 5479 mov al, byte [bp-00ch] ; 8a 46 f4 5446 5480 xor ah, ah ; 30 e4 … … 5466 5500 call word [word di+0006ah] ; ff 95 6a 00 5467 5501 test ax, ax ; 85 c0 5468 jne short 03d 67h ; 75 bb5502 jne short 03dbbh ; 75 bb 5469 5503 test ax, ax ; 85 c0 5470 je short 03 db6h ; 74 065504 je short 03e0ah ; 74 06 5471 5505 mov ax, strict word 00003h ; b8 03 00 5472 jmp near 040 a9h ; e9 f3 025506 jmp near 040fdh ; e9 f3 02 5473 5507 cmp byte [bp-00826h], 000h ; 80 be da f7 00 5474 je short 03 dc3h ; 74 065508 je short 03e17h ; 74 06 5475 5509 mov ax, strict word 00004h ; b8 04 00 5476 jmp near 040 a9h ; e9 e6 025510 jmp near 040fdh ; e9 e6 02 5477 5511 xor di, di ; 31 ff 5478 jmp short 03 dcdh ; eb 065512 jmp short 03e21h ; eb 06 5479 5513 inc di ; 47 5480 5514 cmp di, strict byte 00005h ; 83 ff 05 5481 jnc short 03 dddh ; 73 105515 jnc short 03e31h ; 73 10 5482 5516 mov al, byte [bp+di-00825h] ; 8a 83 db f7 5483 5517 cmp al, byte [di+00da8h] ; 3a 85 a8 0d 5484 je short 03 dc7h ; 74 f05518 je short 03e1bh ; 74 f0 5485 5519 mov ax, strict word 00005h ; b8 05 00 5486 jmp near 040 a9h ; e9 cc 025520 jmp near 040fdh ; e9 cc 02 5487 5521 xor di, di ; 31 ff 5488 jmp short 03 de7h ; eb 065522 jmp short 03e3bh ; eb 06 5489 5523 inc di ; 47 5490 5524 cmp di, strict byte 00017h ; 83 ff 17 5491 jnc short 03 df7h ; 73 105525 jnc short 03e4bh ; 73 10 5492 5526 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 5493 5527 cmp al, byte [di+00daeh] ; 3a 85 ae 0d 5494 je short 03 de1h ; 74 f05528 je short 03e35h ; 74 f0 5495 5529 mov ax, strict word 00006h ; b8 06 00 5496 jmp near 040 a9h ; e9 b2 025530 jmp near 040fdh ; e9 b2 02 5497 5531 mov ax, word [bp-007dfh] ; 8b 86 21 f8 5498 5532 mov dx, word [bp-007ddh] ; 8b 96 23 f8 … … 5529 5563 call word [word di+0006ah] ; ff 95 6a 00 5530 5564 test ax, ax ; 85 c0 5531 je short 03e 59h ; 74 065565 je short 03eadh ; 74 06 5532 5566 mov ax, strict word 00007h ; b8 07 00 5533 jmp near 040 a9h ; e9 50 025567 jmp near 040fdh ; e9 50 02 5534 5568 cmp byte [bp-00826h], 001h ; 80 be da f7 01 5535 je short 03e 66h ; 74 065569 je short 03ebah ; 74 06 5536 5570 mov ax, strict word 00008h ; b8 08 00 5537 jmp near 040 a9h ; e9 43 025571 jmp near 040fdh ; e9 43 02 5538 5572 cmp byte [bp-00825h], 000h ; 80 be db f7 00 5539 je short 03e 73h ; 74 065573 je short 03ec7h ; 74 06 5540 5574 mov ax, strict word 00009h ; b8 09 00 5541 jmp near 040 a9h ; e9 36 025575 jmp near 040fdh ; e9 36 02 5542 5576 cmp byte [bp-00808h], 055h ; 80 be f8 f7 55 5543 je short 03e 80h ; 74 065577 je short 03ed4h ; 74 06 5544 5578 mov ax, strict word 0000ah ; b8 0a 00 5545 jmp near 040 a9h ; e9 29 025579 jmp near 040fdh ; e9 29 02 5546 5580 cmp byte [bp-00807h], 0aah ; 80 be f9 f7 aa 5547 jne short 03e 7ah ; 75 f35581 jne short 03eceh ; 75 f3 5548 5582 cmp byte [bp-00806h], 088h ; 80 be fa f7 88 5549 je short 03e 94h ; 74 065583 je short 03ee8h ; 74 06 5550 5584 mov ax, strict word 0000bh ; b8 0b 00 5551 jmp near 040 a9h ; e9 15 025585 jmp near 040fdh ; e9 15 02 5552 5586 mov al, byte [bp-00805h] ; 8a 86 fb f7 5553 5587 mov es, [bp-016h] ; 8e 46 ea 5554 5588 mov byte [es:si+001h], al ; 26 88 44 01 5555 5589 cmp byte [bp-00805h], 000h ; 80 be fb f7 00 5556 jne short 03 eadh ; 75 075590 jne short 03f01h ; 75 07 5557 5591 mov byte [es:si+002h], 0e0h ; 26 c6 44 02 e0 5558 jmp short 03 ec0h ; eb 135592 jmp short 03f14h ; eb 13 5559 5593 cmp byte [bp-00805h], 004h ; 80 be fb f7 04 5560 jnc short 03 ebbh ; 73 075594 jnc short 03f0fh ; 73 07 5561 5595 mov byte [es:si+002h], 000h ; 26 c6 44 02 00 5562 jmp short 03 ec0h ; eb 055596 jmp short 03f14h ; eb 05 5563 5597 mov byte [es:si+002h], 080h ; 26 c6 44 02 80 5564 5598 mov bl, byte [bp-00ch] ; 8a 5e f4 … … 5579 5613 mov word [bp-010h], ax ; 89 46 f0 5580 5614 test ax, ax ; 85 c0 5581 jne short 03 eefh ; 75 055615 jne short 03f43h ; 75 05 5582 5616 mov word [bp-010h], 007c0h ; c7 46 f0 c0 07 5583 5617 mov ax, word [bp-010h] ; 8b 46 f0 … … 5588 5622 mov word [es:si+00eh], di ; 26 89 7c 0e 5589 5623 test di, di ; 85 ff 5590 je short 03f 11h ; 74 065624 je short 03f65h ; 74 06 5591 5625 cmp di, 00400h ; 81 ff 00 04 5592 jbe short 03f 17h ; 76 065626 jbe short 03f6bh ; 76 06 5593 5627 mov ax, strict word 0000ch ; b8 0c 00 5594 jmp near 040 a9h ; e9 92 015628 jmp near 040fdh ; e9 92 01 5595 5629 mov ax, word [bp-007feh] ; 8b 86 02 f8 5596 5630 mov dx, word [bp-007fch] ; 8b 96 04 f8 … … 5636 5670 sal ax, 1 ; d1 e0 5637 5671 rcl di, 1 ; d1 d7 5638 loop 03f 8bh ; e2 fa5672 loop 03fdfh ; e2 fa 5639 5673 push di ; 57 5640 5674 push ax ; 50 … … 5651 5685 mov word [es:bx+020h], strict word 00000h ; 26 c7 47 20 00 00 5652 5686 test ax, ax ; 85 c0 5653 je short 0 3fbfh ; 74 065687 je short 04013h ; 74 06 5654 5688 mov ax, strict word 0000dh ; b8 0d 00 5655 jmp near 040 a9h ; e9 ea 005689 jmp near 040fdh ; e9 ea 00 5656 5690 mov es, [bp-016h] ; 8e 46 ea 5657 5691 mov al, byte [es:si+001h] ; 26 8a 44 01 5658 5692 cmp AL, strict byte 002h ; 3c 02 5659 jc short 0 3fd7h ; 72 0d5660 jbe short 0 3ff2h ; 76 265693 jc short 0402bh ; 72 0d 5694 jbe short 04046h ; 76 26 5661 5695 cmp AL, strict byte 004h ; 3c 04 5662 je short 040 02h ; 74 325696 je short 04056h ; 74 32 5663 5697 cmp AL, strict byte 003h ; 3c 03 5664 je short 0 3ffah ; 74 265665 jmp near 040 4eh ; e9 77 005698 je short 0404eh ; 74 26 5699 jmp near 040a2h ; e9 77 00 5666 5700 cmp AL, strict byte 001h ; 3c 01 5667 jne short 040 4eh ; 75 735701 jne short 040a2h ; 75 73 5668 5702 mov es, [bp-016h] ; 8e 46 ea 5669 5703 mov word [es:si+014h], strict word 0000fh ; 26 c7 44 14 0f 00 5670 5704 mov word [es:si+012h], strict word 00050h ; 26 c7 44 12 50 00 5671 5705 mov word [es:si+010h], strict word 00002h ; 26 c7 44 10 02 00 5672 jmp short 040 4eh ; eb 5c5706 jmp short 040a2h ; eb 5c 5673 5707 mov word [es:si+014h], strict word 00012h ; 26 c7 44 14 12 00 5674 jmp short 0 3fe4h ; eb ea5708 jmp short 04038h ; eb ea 5675 5709 mov word [es:si+014h], strict word 00024h ; 26 c7 44 14 24 00 5676 jmp short 0 3fe4h ; eb e25710 jmp short 04038h ; eb e2 5677 5711 mov dx, 001c4h ; ba c4 01 5678 5712 mov ax, word [bp-010h] ; 8b 46 f0 5679 call 01650h ; e8 45 d65713 call 01650h ; e8 f1 d5 5680 5714 and AL, strict byte 03fh ; 24 3f 5681 5715 xor ah, ah ; 30 e4 … … 5684 5718 mov dx, 001c4h ; ba c4 01 5685 5719 mov ax, word [bp-010h] ; 8b 46 f0 5686 call 01650h ; e8 31 d65720 call 01650h ; e8 dd d5 5687 5721 xor ah, ah ; 30 e4 5688 5722 mov bx, ax ; 89 c3 … … 5690 5724 mov dx, 001c5h ; ba c5 01 5691 5725 mov ax, word [bp-010h] ; 8b 46 f0 5692 call 01650h ; e8 21 d65726 call 01650h ; e8 cd d5 5693 5727 xor ah, ah ; 30 e4 5694 5728 add ax, bx ; 01 d8 … … 5698 5732 mov dx, 001c3h ; ba c3 01 5699 5733 mov ax, word [bp-010h] ; 8b 46 f0 5700 call 01650h ; e8 0c d65734 call 01650h ; e8 b8 d5 5701 5735 xor ah, ah ; 30 e4 5702 5736 inc ax ; 40 … … 5705 5739 mov es, [bp-016h] ; 8e 46 ea 5706 5740 cmp byte [es:si+001h], 000h ; 26 80 7c 01 00 5707 je short 040 8fh ; 74 375741 je short 040e3h ; 74 37 5708 5742 cmp byte [es:si+002h], 000h ; 26 80 7c 02 00 5709 jne short 040 77h ; 75 185743 jne short 040cbh ; 75 18 5710 5744 mov dx, strict word 00010h ; ba 10 00 5711 5745 mov ax, strict word 00040h ; b8 40 00 5712 call 01650h ; e8 e8d55746 call 01650h ; e8 94 d5 5713 5747 mov bl, al ; 88 c3 5714 5748 or bl, 041h ; 80 cb 41 … … 5716 5750 mov dx, strict word 00010h ; ba 10 00 5717 5751 mov ax, strict word 00040h ; b8 40 00 5718 jmp short 040 8ch ; eb 155752 jmp short 040e0h ; eb 15 5719 5753 mov dx, 00304h ; ba 04 03 5720 5754 mov ax, word [bp-01ah] ; 8b 46 e6 5721 call 01650h ; e8 d0d55755 call 01650h ; e8 7c d5 5722 5756 mov bl, al ; 88 c3 5723 5757 db 0feh, 0c3h … … 5726 5760 mov dx, 00304h ; ba 04 03 5727 5761 mov ax, word [bp-01ah] ; 8b 46 e6 5728 call 0165eh ; e8 cfd55762 call 0165eh ; e8 7b d5 5729 5763 mov es, [bp-016h] ; 8e 46 ea 5730 5764 cmp byte [es:si+001h], 000h ; 26 80 7c 01 00 5731 je short 040 9dh ; 74 045765 je short 040f1h ; 74 04 5732 5766 mov byte [es:si], 001h ; 26 c6 04 01 5733 5767 mov es, [bp-016h] ; 8e 46 ea … … 5744 5778 retn ; c3 5745 5779 db 050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h 5746 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 0 b2h, 044h, 0b1h5747 db 04 1h, 0e4h, 041h, 00eh, 042h, 0d9h, 041h, 00eh, 042h, 0d9h, 041h, 000h, 044h, 0e6h, 043h, 0b2h5748 db 04 4h, 0b2h, 044h, 0e6h, 043h, 0e6h, 043h, 0e6h, 043h, 0e6h, 043h, 0e6h, 043h, 0a9h, 044h, 0e6h5749 db 04 3h, 0b2h, 044h, 0b2h, 044h, 0b2h, 044h, 0b2h, 044h, 0b2h, 044h, 0b2h, 044h, 0b2h, 044h, 0b2h5750 db 04 4h, 0b2h, 044h, 0b2h, 044h, 0b2h, 044h, 0b2h, 044h5751 _int13_cdemu: ; 0xf41 0cLB 0x4425780 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 006h, 045h, 005h 5781 db 042h, 038h, 042h, 062h, 042h, 02dh, 042h, 062h, 042h, 02dh, 042h, 054h, 044h, 03ah, 044h, 006h 5782 db 045h, 006h, 045h, 03ah, 044h, 03ah, 044h, 03ah, 044h, 03ah, 044h, 03ah, 044h, 0fdh, 044h, 03ah 5783 db 044h, 006h, 045h, 006h, 045h, 006h, 045h, 006h, 045h, 006h, 045h, 006h, 045h, 006h, 045h, 006h 5784 db 045h, 006h, 045h, 006h, 045h, 006h, 045h, 006h, 045h 5785 _int13_cdemu: ; 0xf4160 LB 0x442 5752 5786 push bp ; 55 5753 5787 mov bp, sp ; 89 e5 … … 5757 5791 mov dx, strict word 0000eh ; ba 0e 00 5758 5792 mov ax, strict word 00040h ; b8 40 00 5759 call 0166ch ; e8 4f d55793 call 0166ch ; e8 fb d4 5760 5794 mov di, 00366h ; bf 66 03 5761 5795 mov cx, ax ; 89 c1 … … 5773 5807 mov dx, strict word 00074h ; ba 74 00 5774 5808 mov ax, strict word 00040h ; b8 40 00 5775 call 0165eh ; e8 12 d55809 call 0165eh ; e8 be d4 5776 5810 mov es, cx ; 8e c1 5777 5811 cmp byte [es:di], 000h ; 26 80 3d 00 5778 je short 041 63h ; 74 0f5812 je short 041b7h ; 74 0f 5779 5813 mov al, byte [es:di+002h] ; 26 8a 45 02 5780 5814 xor ah, ah ; 30 e4 … … 5782 5816 xor dh, dh ; 30 f6 5783 5817 cmp ax, dx ; 39 d0 5784 je short 041 8ch ; 74 295818 je short 041e0h ; 74 29 5785 5819 mov bx, 00da0h ; bb a0 0d 5786 5820 mov cx, ds ; 8c d9 5787 5821 mov ax, strict word 00004h ; b8 04 00 5788 call 01923h ; e8 b5d75822 call 01923h ; e8 61 d7 5789 5823 mov ax, word [bp+012h] ; 8b 46 12 5790 5824 xor ah, ah ; 30 e4 … … 5796 5830 push 00358h ; 68 58 03 5797 5831 push strict byte 00004h ; 6a 04 5798 call 01966h ; e8 e0d75832 call 01966h ; e8 8c d7 5799 5833 add sp, strict byte 0000ah ; 83 c4 0a 5800 jmp near 04 4d2h ; e9 46 035834 jmp near 04526h ; e9 46 03 5801 5835 mov ax, word [bp+016h] ; 8b 46 16 5802 5836 shr ax, 008h ; c1 e8 08 5803 5837 cmp ax, strict word 00050h ; 3d 50 00 5804 jnbe short 042 0bh ; 77 745838 jnbe short 0425fh ; 77 74 5805 5839 push CS ; 0e 5806 5840 pop ES ; 07 5807 5841 mov cx, strict word 0001eh ; b9 1e 00 5808 mov di, 04 0b3h ; bf b3 405842 mov di, 04107h ; bf 07 41 5809 5843 repne scasb ; f2 ae 5810 5844 sal cx, 1 ; d1 e1 5811 5845 mov di, cx ; 89 cf 5812 mov ax, word [cs:di+04 0d0h] ; 2e 8b 85 d0 405846 mov ax, word [cs:di+04124h] ; 2e 8b 85 24 41 5813 5847 mov bx, word [bp+016h] ; 8b 5e 16 5814 5848 xor bh, bh ; 30 ff … … 5823 5857 add bx, bx ; 01 db 5824 5858 cmp word [word bx+0006ah], strict byte 00000h ; 83 bf 6a 00 00 5825 je short 04 1d6h ; 74 095859 je short 0422ah ; 74 09 5826 5860 mov al, byte [bp-006h] ; 8a 46 fa 5827 5861 xor ah, ah ; 30 e4 5828 5862 call word [word bx+00076h] ; ff 97 76 00 5829 jmp near 04 3e6h ; e9 0d 025863 jmp near 0443ah ; e9 0d 02 5830 5864 mov ax, word [bp+016h] ; 8b 46 16 5831 5865 xor ah, ah ; 30 e4 5832 5866 or ah, 003h ; 80 cc 03 5833 jmp near 04 4dah ; e9 f6 025867 jmp near 0452eh ; e9 f6 02 5834 5868 mov dx, strict word 00074h ; ba 74 00 5835 5869 mov ax, strict word 00040h ; b8 40 00 5836 call 01650h ; e8 63d45870 call 01650h ; e8 0f d4 5837 5871 mov cl, al ; 88 c1 5838 5872 xor ah, ah ; 30 e4 … … 5843 5877 mov dx, strict word 00074h ; ba 74 00 5844 5878 mov ax, strict word 00040h ; b8 40 00 5845 call 0165eh ; e8 5ad45879 call 0165eh ; e8 06 d4 5846 5880 test cl, cl ; 84 c9 5847 je short 042 68h ; 74 605848 jmp near 04 4eeh ; e9 e3 025849 jmp near 04 4b2h ; e9 a4 025881 je short 042bch ; 74 60 5882 jmp near 04542h ; e9 e3 02 5883 jmp near 04506h ; e9 a4 02 5850 5884 mov es, [bp-008h] ; 8e 46 f8 5851 5885 mov di, word [es:si+014h] ; 26 8b 7c 14 … … 5871 5905 mov word [bp-00ah], cx ; 89 4e f6 5872 5906 test cx, cx ; 85 c9 5873 je short 042 76h ; 74 1e5907 je short 042cah ; 74 1e 5874 5908 cmp di, word [bp-010h] ; 3b 7e f0 5875 jc short 042 65h ; 72 085909 jc short 042b9h ; 72 08 5876 5910 cmp ax, dx ; 39 d0 5877 jnc short 042 65h ; 73 045911 jnc short 042b9h ; 73 04 5878 5912 cmp si, bx ; 39 de 5879 jc short 042 6bh ; 72 065880 jmp near 04 4d2h ; e9 6a 025881 jmp near 04 3eah ; e9 7f 015913 jc short 042bfh ; 72 06 5914 jmp near 04526h ; e9 6a 02 5915 jmp near 0443eh ; e9 7f 01 5882 5916 mov dx, word [bp+016h] ; 8b 56 16 5883 5917 shr dx, 008h ; c1 ea 08 5884 5918 cmp dx, strict byte 00004h ; 83 fa 04 5885 jne short 042 79h ; 75 035886 jmp near 04 3e6h ; e9 6d 015919 jne short 042cdh ; 75 03 5920 jmp near 0443ah ; e9 6d 01 5887 5921 mov dx, word [bp+010h] ; 8b 56 10 5888 5922 shr dx, 004h ; c1 ea 04 … … 5895 5929 xor dl, dl ; 30 d2 5896 5930 xor cx, cx ; 31 c9 5897 call 09f 30h ; e8 995c5931 call 09f80h ; e8 95 5c 5898 5932 xor bx, bx ; 31 db 5899 5933 add ax, si ; 01 f0 … … 5901 5935 mov bx, di ; 89 fb 5902 5936 xor cx, cx ; 31 c9 5903 call 09f 30h ; e8 8c5c5937 call 09f80h ; e8 88 5c 5904 5938 mov bx, ax ; 89 c3 5905 5939 mov ax, word [bp-010h] ; 8b 46 f0 … … 5936 5970 mov dx, ss ; 8c d2 5937 5971 lea ax, [bp-02eh] ; 8d 46 d2 5938 call 09f a0h ; e8 a55c5972 call 09ff0h ; e8 a1 5c 5939 5973 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 5940 5974 mov ax, word [bp-014h] ; 8b 46 ec … … 5986 6020 sal si, 1 ; d1 e6 5987 6021 rcl di, 1 ; d1 d7 5988 loop 043 7dh ; e2 fa6022 loop 043d1h ; e2 fa 5989 6023 push di ; 57 5990 6024 push si ; 56 … … 6002 6036 mov word [es:bx+020h], strict word 00000h ; 26 c7 47 20 00 00 6003 6037 test al, al ; 84 c0 6004 je short 04 3e6h ; 74 376038 je short 0443ah ; 74 37 6005 6039 mov bx, 00da0h ; bb a0 0d 6006 6040 mov cx, ds ; 8c d9 6007 6041 mov ax, strict word 00004h ; b8 04 00 6008 call 01923h ; e8 69d56042 call 01923h ; e8 15 d5 6009 6043 mov al, dl ; 88 d0 6010 6044 xor ah, ah ; 30 e4 … … 6016 6050 push 0038eh ; 68 8e 03 6017 6051 push strict byte 00004h ; 6a 04 6018 call 01966h ; e8 95d56052 call 01966h ; e8 41 d5 6019 6053 add sp, strict byte 0000ah ; 83 c4 0a 6020 6054 mov ax, word [bp+016h] ; 8b 46 16 … … 6023 6057 mov word [bp+016h], ax ; 89 46 16 6024 6058 mov byte [bp+016h], 000h ; c6 46 16 00 6025 jmp near 04 4ddh ; e9 f7 006059 jmp near 04531h ; e9 f7 00 6026 6060 mov byte [bp+017h], 000h ; c6 46 17 00 6027 6061 xor bx, bx ; 31 db 6028 6062 mov dx, strict word 00074h ; ba 74 00 6029 6063 mov ax, strict word 00040h ; b8 40 00 6030 call 0165eh ; e8 69d26064 call 0165eh ; e8 15 d2 6031 6065 and byte [bp+01ch], 0feh ; 80 66 1c fe 6032 6066 lea sp, [bp-004h] ; 8d 66 fc … … 6076 6110 mov word [bp+010h], ax ; 89 46 10 6077 6111 cmp dl, 003h ; 80 fa 03 6078 je short 044 8ch ; 74 1a6112 je short 044e0h ; 74 1a 6079 6113 cmp dl, 002h ; 80 fa 02 6080 je short 044 88h ; 74 116114 je short 044dch ; 74 11 6081 6115 cmp dl, 001h ; 80 fa 01 6082 jne short 044 90h ; 75 146116 jne short 044e4h ; 75 14 6083 6117 mov ax, word [bp+010h] ; 8b 46 10 6084 6118 xor al, al ; 30 c0 6085 6119 or AL, strict byte 002h ; 0c 02 6086 6120 mov word [bp+010h], ax ; 89 46 10 6087 jmp short 044 90h ; eb 086121 jmp short 044e4h ; eb 08 6088 6122 or AL, strict byte 004h ; 0c 04 6089 jmp short 044 83h ; eb f76123 jmp short 044d7h ; eb f7 6090 6124 or AL, strict byte 005h ; 0c 05 6091 jmp short 044 83h ; eb f36125 jmp short 044d7h ; eb f3 6092 6126 mov es, [bp-008h] ; 8e 46 f8 6093 6127 cmp byte [es:si+001h], 004h ; 26 80 7c 01 04 6094 jc short 044 9dh ; 72 036095 jmp near 04 3e6h ; e9 49 ff6128 jc short 044f1h ; 72 03 6129 jmp near 0443ah ; e9 49 ff 6096 6130 mov word [bp+008h], 0efc7h ; c7 46 08 c7 ef 6097 6131 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 6098 jmp short 044 9ah ; eb f16132 jmp short 044eeh ; eb f1 6099 6133 or bh, 003h ; 80 cf 03 6100 6134 mov word [bp+016h], bx ; 89 5e 16 6101 jmp near 04 3eah ; e9 38 ff6135 jmp near 0443eh ; e9 38 ff 6102 6136 mov bx, 00da0h ; bb a0 0d 6103 6137 mov cx, ds ; 8c d9 6104 6138 mov ax, strict word 00004h ; b8 04 00 6105 call 01923h ; e8 66d46139 call 01923h ; e8 12 d4 6106 6140 mov ax, word [bp+016h] ; 8b 46 16 6107 6141 shr ax, 008h ; c1 e8 08 … … 6110 6144 push 003afh ; 68 af 03 6111 6145 push strict byte 00004h ; 6a 04 6112 call 01966h ; e8 97d46146 call 01966h ; e8 43 d4 6113 6147 add sp, strict byte 00008h ; 83 c4 08 6114 6148 mov ax, word [bp+016h] ; 8b 46 16 … … 6121 6155 mov dx, strict word 00074h ; ba 74 00 6122 6156 mov ax, strict word 00040h ; b8 40 00 6123 call 0165eh ; e8 70d16157 call 0165eh ; e8 1c d1 6124 6158 or byte [bp+01ch], 001h ; 80 4e 1c 01 6125 jmp near 04 3f9h ; e9 04 ff6159 jmp near 0444dh ; e9 04 ff 6126 6160 db 050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h 6127 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 0 3ch, 046h, 071h6128 db 04ah, 0 f9h, 045h, 03ch, 046h, 0eeh, 045h, 03ch, 046h, 0eeh, 045h, 03ch, 046h, 071h, 04ah, 03ch6129 db 046h, 0 3ch, 046h, 071h, 04ah, 071h, 04ah, 071h, 04ah, 071h, 04ah, 071h, 04ah, 020h, 046h, 071h6130 db 04ah, 0 3ch, 046h, 029h, 046h, 058h, 046h, 0eeh, 045h, 058h, 046h, 09ah, 047h, 035h, 048h, 058h6131 db 046h, 0 5dh, 048h, 08bh, 04ah, 093h, 04ah, 03ch, 046h6132 _int13_cdrom: ; 0xf45 4eLB 0x57d6161 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 090h, 046h, 0c5h 6162 db 04ah, 04dh, 046h, 090h, 046h, 042h, 046h, 090h, 046h, 042h, 046h, 090h, 046h, 0c5h, 04ah, 090h 6163 db 046h, 090h, 046h, 0c5h, 04ah, 0c5h, 04ah, 0c5h, 04ah, 0c5h, 04ah, 0c5h, 04ah, 074h, 046h, 0c5h 6164 db 04ah, 090h, 046h, 07dh, 046h, 0ach, 046h, 042h, 046h, 0ach, 046h, 0eeh, 047h, 089h, 048h, 0ach 6165 db 046h, 0b1h, 048h, 0dfh, 04ah, 0e7h, 04ah, 090h, 046h 6166 _int13_cdrom: ; 0xf45a2 LB 0x57d 6133 6167 push bp ; 55 6134 6168 mov bp, sp ; 89 e5 … … 6138 6172 mov dx, strict word 0000eh ; ba 0e 00 6139 6173 mov ax, strict word 00040h ; b8 40 00 6140 call 0166ch ; e8 0d d16174 call 0166ch ; e8 b9 d0 6141 6175 mov word [bp-016h], ax ; 89 46 ea 6142 6176 mov si, 00122h ; be 22 01 … … 6145 6179 mov dx, strict word 00074h ; ba 74 00 6146 6180 mov ax, strict word 00040h ; b8 40 00 6147 call 0165eh ; e8 ebd06181 call 0165eh ; e8 97 d0 6148 6182 mov ax, word [bp+010h] ; 8b 46 10 6149 6183 xor ah, ah ; 30 e4 6150 6184 cmp ax, 000e0h ; 3d e0 00 6151 jc short 045 82h ; 72 056185 jc short 045d6h ; 72 05 6152 6186 cmp ax, 000f0h ; 3d f0 00 6153 jc short 045 a0h ; 72 1e6187 jc short 045f4h ; 72 1e 6154 6188 mov ax, word [bp+010h] ; 8b 46 10 6155 6189 xor ah, ah ; 30 e4 … … 6161 6195 push 003ebh ; 68 eb 03 6162 6196 push strict byte 00004h ; 6a 04 6163 call 01966h ; e8 ccd36197 call 01966h ; e8 78 d3 6164 6198 add sp, strict byte 0000ah ; 83 c4 0a 6165 jmp near 04a a9h ; e9 09 056199 jmp near 04afdh ; e9 09 05 6166 6200 mov ax, word [bp+010h] ; 8b 46 10 6167 6201 xor ah, ah ; 30 e4 … … 6172 6206 mov byte [bp-006h], dl ; 88 56 fa 6173 6207 cmp dl, 010h ; 80 fa 10 6174 jc short 04 5c9h ; 72 106208 jc short 0461dh ; 72 10 6175 6209 push ax ; 50 6176 6210 mov ax, word [bp+018h] ; 8b 46 18 … … 6179 6213 push 003dfh ; 68 df 03 6180 6214 push 00416h ; 68 16 04 6181 jmp short 045 95h ; eb cc6215 jmp short 045e9h ; eb cc 6182 6216 mov ax, word [bp+018h] ; 8b 46 18 6183 6217 shr ax, 008h ; c1 e8 08 6184 6218 cmp ax, strict word 00050h ; 3d 50 00 6185 jnbe short 046 3ch ; 77 686219 jnbe short 04690h ; 77 68 6186 6220 push CS ; 0e 6187 6221 pop ES ; 07 6188 6222 mov cx, strict word 0001eh ; b9 1e 00 6189 mov di, 04 4f5h ; bf f5 446223 mov di, 04549h ; bf 49 45 6190 6224 repne scasb ; f2 ae 6191 6225 sal cx, 1 ; d1 e1 6192 6226 mov di, cx ; 89 cf 6193 mov ax, word [cs:di+045 12h] ; 2e 8b 85 12456227 mov ax, word [cs:di+04566h] ; 2e 8b 85 66 45 6194 6228 mov bx, word [bp+018h] ; 8b 5e 18 6195 6229 xor bh, bh ; 30 ff … … 6198 6232 xor ah, ah ; 30 e4 6199 6233 or ah, 003h ; 80 cc 03 6200 jmp near 04 ab1h ; e9 b8 046234 jmp near 04b05h ; e9 b8 04 6201 6235 mov dx, strict word 00074h ; ba 74 00 6202 6236 mov ax, strict word 00040h ; b8 40 00 6203 call 01650h ; e8 4e d06237 call 01650h ; e8 fa cf 6204 6238 mov cl, al ; 88 c1 6205 6239 xor ah, ah ; 30 e4 … … 6210 6244 mov dx, strict word 00074h ; ba 74 00 6211 6245 mov ax, strict word 00040h ; b8 40 00 6212 call 0165eh ; e8 45 d06246 call 0165eh ; e8 f1 cf 6213 6247 test cl, cl ; 84 c9 6214 je short 046 39h ; 74 1c6215 jmp near 04 ac5h ; e9 a5 046248 je short 0468dh ; 74 1c 6249 jmp near 04b19h ; e9 a5 04 6216 6250 or bh, 002h ; 80 cf 02 6217 6251 mov word [bp+018h], bx ; 89 5e 18 6218 jmp near 04 ab4h ; e9 8b 046252 jmp near 04b08h ; e9 8b 04 6219 6253 mov word [bp+012h], 0aa55h ; c7 46 12 55 aa 6220 6254 or bh, 030h ; 80 cf 30 6221 6255 mov word [bp+018h], bx ; 89 5e 18 6222 6256 mov word [bp+016h], strict word 00007h ; c7 46 16 07 00 6223 jmp near 04a 75h ; e9 39 046257 jmp near 04ac9h ; e9 39 04 6224 6258 mov bx, 00da0h ; bb a0 0d 6225 6259 mov cx, ds ; 8c d9 6226 6260 mov ax, strict word 00004h ; b8 04 00 6227 call 01923h ; e8 dcd26261 call 01923h ; e8 88 d2 6228 6262 mov ax, word [bp+018h] ; 8b 46 18 6229 6263 shr ax, 008h ; c1 e8 08 … … 6232 6266 push 00333h ; 68 33 03 6233 6267 push strict byte 00004h ; 6a 04 6234 jmp short 046 98h ; eb 406268 jmp short 046ech ; eb 40 6235 6269 mov bx, word [bp+00ch] ; 8b 5e 0c 6236 6270 mov es, [bp+006h] ; 8e 46 06 … … 6247 6281 mov word [bp-022h], ax ; 89 46 de 6248 6282 or ax, word [bp-00eh] ; 0b 46 f2 6249 je short 046 a1h ; 74 186283 je short 046f5h ; 74 18 6250 6284 mov ax, word [bp+018h] ; 8b 46 18 6251 6285 shr ax, 008h ; c1 e8 08 … … 6254 6288 push 00448h ; 68 48 04 6255 6289 push strict byte 00007h ; 6a 07 6256 call 01966h ; e8 cbd26290 call 01966h ; e8 77 d2 6257 6291 add sp, strict byte 00008h ; 83 c4 08 6258 jmp near 04a a9h ; e9 08 046292 jmp near 04afdh ; e9 08 04 6259 6293 mov es, [bp-010h] ; 8e 46 f0 6260 6294 mov bx, word [bp-014h] ; 8b 5e ec … … 6267 6301 mov word [bp-012h], ax ; 89 46 ee 6268 6302 cmp ax, strict word 00044h ; 3d 44 00 6269 je short 04 6c8h ; 74 056303 je short 0471ch ; 74 05 6270 6304 cmp ax, strict word 00047h ; 3d 47 00 6271 jne short 04 6cbh ; 75 036272 jmp near 04a 71h ; e9 a6 036305 jne short 0471fh ; 75 03 6306 jmp near 04ac5h ; e9 a6 03 6273 6307 mov cx, strict word 0000ch ; b9 0c 00 6274 6308 xor bx, bx ; 31 db 6275 6309 mov dx, ss ; 8c d2 6276 6310 lea ax, [bp-030h] ; 8d 46 d0 6277 call 09f a0h ; e8 c8586311 call 09ff0h ; e8 c4 58 6278 6312 mov word [bp-030h], strict word 00028h ; c7 46 d0 28 00 6279 6313 mov ax, word [bp-00eh] ; 8b 46 f2 … … 6307 6341 sal ax, 1 ; d1 e0 6308 6342 rcl dx, 1 ; d1 d2 6309 loop 047 28h ; e2 fa6343 loop 0477ch ; e2 fa 6310 6344 push dx ; 52 6311 6345 push ax ; 50 … … 6325 6359 shr dx, 1 ; d1 ea 6326 6360 rcr ax, 1 ; d1 d8 6327 loop 047 57h ; e2 fa6361 loop 047abh ; e2 fa 6328 6362 mov es, [bp-010h] ; 8e 46 f0 6329 6363 mov bx, word [bp-014h] ; 8b 5e ec 6330 6364 mov word [es:bx+002h], ax ; 26 89 47 02 6331 6365 cmp byte [bp-018h], 000h ; 80 7e e8 00 6332 je short 04 7c0h ; 74 536366 je short 04814h ; 74 53 6333 6367 mov bx, 00da0h ; bb a0 0d 6334 6368 mov cx, ds ; 8c d9 6335 6369 mov ax, strict word 00004h ; b8 04 00 6336 call 01923h ; e8 abd16370 call 01923h ; e8 57 d1 6337 6371 mov al, byte [bp-018h] ; 8a 46 e8 6338 6372 xor ah, ah ; 30 e4 … … 6342 6376 push 00471h ; 68 71 04 6343 6377 push strict byte 00004h ; 6a 04 6344 call 01966h ; e8 dad16378 call 01966h ; e8 86 d1 6345 6379 add sp, strict byte 0000ah ; 83 c4 0a 6346 6380 mov ax, word [bp+018h] ; 8b 46 18 6347 6381 xor ah, ah ; 30 e4 6348 6382 or ah, 00ch ; 80 cc 0c 6349 jmp near 04 ab1h ; e9 17 036383 jmp near 04b05h ; e9 17 03 6350 6384 cmp bx, strict byte 00002h ; 83 fb 02 6351 jnbe short 048 08h ; 77 696385 jnbe short 0485ch ; 77 69 6352 6386 mov al, byte [bp-006h] ; 8a 46 fa 6353 6387 xor ah, ah ; 30 e4 … … 6358 6392 mov al, byte [es:di+025h] ; 26 8a 45 25 6359 6393 cmp bx, strict byte 00002h ; 83 fb 02 6360 je short 048 1eh ; 74 676394 je short 04872h ; 74 67 6361 6395 cmp bx, strict byte 00001h ; 83 fb 01 6362 je short 04 7f8h ; 74 3c6396 je short 0484ch ; 74 3c 6363 6397 test bx, bx ; 85 db 6364 je short 04 7c3h ; 74 036365 jmp near 04a 71h ; e9 ae 026398 je short 04817h ; 74 03 6399 jmp near 04ac5h ; e9 ae 02 6366 6400 cmp AL, strict byte 0ffh ; 3c ff 6367 jne short 04 7d9h ; 75 126401 jne short 0482dh ; 75 12 6368 6402 mov ax, word [bp+018h] ; 8b 46 18 6369 6403 xor ah, ah ; 30 e4 … … 6372 6406 xor al, al ; 30 c0 6373 6407 or AL, strict byte 001h ; 0c 01 6374 jmp near 04 ab1h ; e9 d8 026408 jmp near 04b05h ; e9 d8 02 6375 6409 mov dl, byte [bp-006h] ; 8a 56 fa 6376 6410 xor dh, dh ; 30 f6 … … 6385 6419 or AL, strict byte 001h ; 0c 01 6386 6420 mov word [bp+018h], ax ; 89 46 18 6387 jmp short 04 7c0h ; eb c86421 jmp short 04814h ; eb c8 6388 6422 test al, al ; 84 c0 6389 jne short 048 0bh ; 75 0f6423 jne short 0485fh ; 75 0f 6390 6424 or bh, 0b0h ; 80 cf b0 6391 6425 mov word [bp+018h], bx ; 89 5e 18 6392 6426 mov byte [bp+018h], al ; 88 46 18 6393 jmp near 04 ab4h ; e9 ac 026394 jmp near 04a a9h ; e9 9e 026427 jmp near 04b08h ; e9 ac 02 6428 jmp near 04afdh ; e9 9e 02 6395 6429 mov dl, byte [bp-006h] ; 8a 56 fa 6396 6430 xor dh, dh ; 30 f6 … … 6402 6436 mov byte [es:si+025h], al ; 26 88 44 25 6403 6437 test al, al ; 84 c0 6404 jne short 048 30h ; 75 0e6438 jne short 04884h ; 75 0e 6405 6439 xor ah, ah ; 30 e4 6406 6440 mov dx, word [bp+018h] ; 8b 56 18 … … 6408 6442 or dx, ax ; 09 c2 6409 6443 mov word [bp+018h], dx ; 89 56 18 6410 jmp short 04 7c0h ; eb 906444 jmp short 04814h ; eb 90 6411 6445 mov ax, strict word 00001h ; b8 01 00 6412 jmp short 048 24h ; eb ef6446 jmp short 04878h ; eb ef 6413 6447 mov al, byte [bp-006h] ; 8a 46 fa 6414 6448 xor ah, ah ; 30 e4 … … 6418 6452 mov al, byte [es:si+025h] ; 26 8a 44 25 6419 6453 test al, al ; 84 c0 6420 je short 048 50h ; 74 066454 je short 048a4h ; 74 06 6421 6455 or bh, 0b1h ; 80 cf b1 6422 jmp near 046 23h ; e9 d3 fd6423 je short 048 79h ; 74 276456 jmp near 04677h ; e9 d3 fd 6457 je short 048cdh ; 74 27 6424 6458 mov ax, word [bp+018h] ; 8b 46 18 6425 6459 xor ah, ah ; 30 e4 6426 6460 or ah, 0b1h ; 80 cc b1 6427 jmp near 04 ab1h ; e9 54 026461 jmp near 04b05h ; e9 54 02 6428 6462 mov dx, word [bp+00ch] ; 8b 56 0c 6429 6463 mov cx, word [bp+006h] ; 8b 4e 06 … … 6435 6469 mov word [bp-00ch], ax ; 89 46 f4 6436 6470 cmp ax, strict word 0001ah ; 3d 1a 00 6437 jnc short 048 7ch ; 73 056438 jmp short 048 08h ; eb 8f6439 jmp near 04a 71h ; e9 f5 016440 jc short 04 8e0h ; 72 626471 jnc short 048d0h ; 73 05 6472 jmp short 0485ch ; eb 8f 6473 jmp near 04ac5h ; e9 f5 01 6474 jc short 04934h ; 72 62 6441 6475 mov al, byte [bp-006h] ; 8a 46 fa 6442 6476 xor ah, ah ; 30 e4 … … 6462 6496 mov word [es:di+016h], strict word 0ffffh ; 26 c7 45 16 ff ff 6463 6497 cmp word [bp-00ch], strict byte 0001eh ; 83 7e f4 1e 6464 jnc short 04 8e9h ; 73 036465 jmp near 049 a5h ; e9 bc 006498 jnc short 0493dh ; 73 03 6499 jmp near 049f9h ; e9 bc 00 6466 6500 mov es, [bp-00ah] ; 8e 46 f6 6467 6501 mov word [es:bx], strict word 0001eh ; 26 c7 07 1e 00 … … 6506 6540 xor cl, cl ; 30 c9 6507 6541 xor ch, ch ; 30 ed 6508 jmp short 049 85h ; eb 056542 jmp short 049d9h ; eb 05 6509 6543 cmp ch, 00fh ; 80 fd 0f 6510 jnc short 049 9bh ; 73 166544 jnc short 049efh ; 73 16 6511 6545 mov al, ch ; 88 e8 6512 6546 xor ah, ah ; 30 e4 … … 6514 6548 add dx, 00356h ; 81 c2 56 03 6515 6549 mov ax, word [bp-016h] ; 8b 46 ea 6516 call 01650h ; e8 bbcc6550 call 01650h ; e8 67 cc 6517 6551 add cl, al ; 00 c1 6518 6552 db 0feh, 0c5h 6519 6553 ; inc ch ; fe c5 6520 jmp short 049 80h ; eb e56554 jmp short 049d4h ; eb e5 6521 6555 neg cl ; f6 d9 6522 6556 mov es, [bp-01eh] ; 8e 46 e2 6523 6557 mov byte [es:si+00243h], cl ; 26 88 8c 43 02 6524 6558 cmp word [bp-00ch], strict byte 00042h ; 83 7e f4 42 6525 jnc short 04 9aeh ; 73 036526 jmp near 04a 71h ; e9 c3 006559 jnc short 04a02h ; 73 03 6560 jmp near 04ac5h ; e9 c3 00 6527 6561 mov al, byte [bp-006h] ; 8a 46 fa 6528 6562 xor ah, ah ; 30 e4 … … 6543 6577 mov word [es:bx+022h], strict word 00000h ; 26 c7 47 22 00 00 6544 6578 test al, al ; 84 c0 6545 jne short 04 9f6h ; 75 0c6579 jne short 04a4ah ; 75 0c 6546 6580 mov word [es:bx+024h], 05349h ; 26 c7 47 24 49 53 6547 6581 mov word [es:bx+026h], 02041h ; 26 c7 47 26 41 20 … … 6552 6586 mov word [es:bx+02eh], 02020h ; 26 c7 47 2e 20 20 6553 6587 test al, al ; 84 c0 6554 jne short 04a 2bh ; 75 166588 jne short 04a7fh ; 75 16 6555 6589 mov word [es:bx+030h], dx ; 26 89 57 30 6556 6590 mov word [es:bx+032h], strict word 00000h ; 26 c7 47 32 00 00 … … 6567 6601 xor al, al ; 30 c0 6568 6602 mov AH, strict byte 01eh ; b4 1e 6569 jmp short 04a 56h ; eb 056603 jmp short 04aaah ; eb 05 6570 6604 cmp ah, 040h ; 80 fc 40 6571 jnc short 04a 68h ; 73 126605 jnc short 04abch ; 73 12 6572 6606 mov dl, ah ; 88 e2 6573 6607 xor dh, dh ; 30 f6 … … 6578 6612 db 0feh, 0c4h 6579 6613 ; inc ah ; fe c4 6580 jmp short 04a 51h ; eb e96614 jmp short 04aa5h ; eb e9 6581 6615 neg al ; f6 d8 6582 6616 mov es, [bp-00ah] ; 8e 46 f6 … … 6586 6620 mov dx, strict word 00074h ; ba 74 00 6587 6621 mov ax, strict word 00040h ; b8 40 00 6588 call 0165eh ; e8 decb6622 call 0165eh ; e8 8a cb 6589 6623 and byte [bp+01eh], 0feh ; 80 66 1e fe 6590 6624 lea sp, [bp-004h] ; 8d 66 fc … … 6595 6629 or bh, 006h ; 80 cf 06 6596 6630 mov word [bp+018h], bx ; 89 5e 18 6597 jmp short 04 ac5h ; eb 326631 jmp short 04b19h ; eb 32 6598 6632 cmp bx, strict byte 00006h ; 83 fb 06 6599 je short 04a 71h ; 74 d96633 je short 04ac5h ; 74 d9 6600 6634 cmp bx, strict byte 00001h ; 83 fb 01 6601 jc short 04a a9h ; 72 0c6602 jbe short 04a 71h ; 76 d26635 jc short 04afdh ; 72 0c 6636 jbe short 04ac5h ; 76 d2 6603 6637 cmp bx, strict byte 00003h ; 83 fb 03 6604 jc short 04a a9h ; 72 056638 jc short 04afdh ; 72 05 6605 6639 cmp bx, strict byte 00004h ; 83 fb 04 6606 jbe short 04a 71h ; 76 c86640 jbe short 04ac5h ; 76 c8 6607 6641 mov ax, word [bp+018h] ; 8b 46 18 6608 6642 xor ah, ah ; 30 e4 … … 6614 6648 mov dx, strict word 00074h ; ba 74 00 6615 6649 mov ax, strict word 00040h ; b8 40 00 6616 call 0165eh ; e8 99cb6650 call 0165eh ; e8 45 cb 6617 6651 or byte [bp+01eh], 001h ; 80 4e 1e 01 6618 jmp short 04a 84h ; eb b96619 print_boot_device_: ; 0xf4 acbLB 0x4b6652 jmp short 04ad8h ; eb b9 6653 print_boot_device_: ; 0xf4b1f LB 0x4b 6620 6654 push bp ; 55 6621 6655 mov bp, sp ; 89 e5 6622 6656 push cx ; 51 6623 6657 test al, al ; 84 c0 6624 je short 04 ad8h ; 74 056658 je short 04b2ch ; 74 05 6625 6659 mov dx, strict word 00002h ; ba 02 00 6626 jmp short 04 af2h ; eb 1a6660 jmp short 04b46h ; eb 1a 6627 6661 test dl, dl ; 84 d2 6628 je short 04 ae1h ; 74 056662 je short 04b35h ; 74 05 6629 6663 mov dx, strict word 00003h ; ba 03 00 6630 jmp short 04 af2h ; eb 116664 jmp short 04b46h ; eb 11 6631 6665 test bl, 080h ; f6 c3 80 6632 jne short 04 aeah ; 75 046666 jne short 04b3eh ; 75 04 6633 6667 xor dh, dh ; 30 f6 6634 jmp short 04 af2h ; eb 086668 jmp short 04b46h ; eb 08 6635 6669 test bl, 080h ; f6 c3 80 6636 je short 04b 10h ; 74 216670 je short 04b64h ; 74 21 6637 6671 mov dx, strict word 00001h ; ba 01 00 6638 6672 mov bx, 00da0h ; bb a0 0d 6639 6673 mov cx, ds ; 8c d9 6640 6674 mov ax, strict word 00004h ; b8 04 00 6641 call 01923h ; e8 26 ce6675 call 01923h ; e8 d2 cd 6642 6676 imul dx, dx, strict byte 0000ah ; 6b d2 0a 6643 6677 add dx, 00dc6h ; 81 c2 c6 0d … … 6645 6679 push 00494h ; 68 94 04 6646 6680 push strict byte 00004h ; 6a 04 6647 call 01966h ; e8 59ce6681 call 01966h ; e8 05 ce 6648 6682 add sp, strict byte 00006h ; 83 c4 06 6649 6683 lea sp, [bp-002h] ; 8d 66 fe … … 6651 6685 pop bp ; 5d 6652 6686 retn ; c3 6653 print_boot_failure_: ; 0xf4b 16LB 0x966687 print_boot_failure_: ; 0xf4b6a LB 0x96 6654 6688 push bp ; 55 6655 6689 mov bp, sp ; 89 e5 … … 6662 6696 mov si, cx ; 89 ce 6663 6697 test al, al ; 84 c0 6664 je short 04b 46h ; 74 1b6698 je short 04b9ah ; 74 1b 6665 6699 mov bx, 00da0h ; bb a0 0d 6666 6700 mov cx, ds ; 8c d9 6667 6701 mov ax, strict word 00004h ; b8 04 00 6668 call 01923h ; e8 edcd6702 call 01923h ; e8 99 cd 6669 6703 push 00ddah ; 68 da 0d 6670 6704 push 004a8h ; 68 a8 04 6671 6705 push strict byte 00004h ; 6a 04 6672 call 01966h ; e8 25 ce6706 call 01966h ; e8 d1 cd 6673 6707 add sp, strict byte 00006h ; 83 c4 06 6674 jmp short 04b 8ah ; eb 446708 jmp short 04bdeh ; eb 44 6675 6709 test ah, ah ; 84 e4 6676 je short 04b 5ah ; 74 106710 je short 04baeh ; 74 10 6677 6711 mov bx, 00da0h ; bb a0 0d 6678 6712 mov cx, ds ; 8c d9 6679 6713 mov ax, strict word 00004h ; b8 04 00 6680 call 01923h ; e8 cecd6714 call 01923h ; e8 7a cd 6681 6715 push 00de4h ; 68 e4 0d 6682 jmp short 04b 39h ; eb df6716 jmp short 04b8dh ; eb df 6683 6717 test bl, 080h ; f6 c3 80 6684 je short 04b 70h ; 74 116718 je short 04bc4h ; 74 11 6685 6719 mov bx, 00da0h ; bb a0 0d 6686 6720 mov cx, ds ; 8c d9 6687 6721 mov ax, strict word 00004h ; b8 04 00 6688 call 01923h ; e8 b9cd6722 call 01923h ; e8 65 cd 6689 6723 push si ; 56 6690 6724 push 00dd0h ; 68 d0 0d 6691 jmp short 04b 7fh ; eb 0f6725 jmp short 04bd3h ; eb 0f 6692 6726 mov bx, 00da0h ; bb a0 0d 6693 6727 mov cx, ds ; 8c d9 6694 6728 mov ax, strict word 00004h ; b8 04 00 6695 call 01923h ; e8 a8cd6729 call 01923h ; e8 54 cd 6696 6730 push si ; 56 6697 6731 push 00dc6h ; 68 c6 0d 6698 6732 push 004bdh ; 68 bd 04 6699 6733 push strict byte 00004h ; 6a 04 6700 call 01966h ; e8 dfcd6734 call 01966h ; e8 8b cd 6701 6735 add sp, strict byte 00008h ; 83 c4 08 6702 6736 cmp byte [bp+004h], 001h ; 80 7e 04 01 6703 jne short 04b a4h ; 75 146737 jne short 04bf8h ; 75 14 6704 6738 test dl, dl ; 84 d2 6705 jne short 04b 99h ; 75 056739 jne short 04bedh ; 75 05 6706 6740 push 004d5h ; 68 d5 04 6707 jmp short 04b 9ch ; eb 036741 jmp short 04bf0h ; eb 03 6708 6742 push 004ffh ; 68 ff 04 6709 6743 push strict byte 00007h ; 6a 07 6710 call 01966h ; e8 c5cd6744 call 01966h ; e8 71 cd 6711 6745 add sp, strict byte 00004h ; 83 c4 04 6712 6746 lea sp, [bp-002h] ; 8d 66 fe … … 6714 6748 pop bp ; 5d 6715 6749 retn 00002h ; c2 02 00 6716 print_cdromboot_failure_: ; 0xf4 bacLB 0x276750 print_cdromboot_failure_: ; 0xf4c00 LB 0x27 6717 6751 push bp ; 55 6718 6752 mov bp, sp ; 89 e5 … … 6724 6758 mov cx, ds ; 8c d9 6725 6759 mov ax, strict word 00004h ; b8 04 00 6726 call 01923h ; e8 64cd6760 call 01923h ; e8 10 cd 6727 6761 push dx ; 52 6728 6762 push 00534h ; 68 34 05 6729 6763 push strict byte 00004h ; 6a 04 6730 call 01966h ; e8 9ecd6764 call 01966h ; e8 4a cd 6731 6765 add sp, strict byte 00006h ; 83 c4 06 6732 6766 lea sp, [bp-006h] ; 8d 66 fa … … 6736 6770 pop bp ; 5d 6737 6771 retn ; c3 6738 _int19_function: ; 0xf4 bd3LB 0x2716772 _int19_function: ; 0xf4c27 LB 0x271 6739 6773 push bp ; 55 6740 6774 mov bp, sp ; 89 e5 … … 6744 6778 mov dx, strict word 0000eh ; ba 0e 00 6745 6779 mov ax, strict word 00040h ; b8 40 00 6746 call 0166ch ; e8 88ca6780 call 0166ch ; e8 34 ca 6747 6781 mov bx, ax ; 89 c3 6748 6782 mov word [bp-00eh], ax ; 89 46 f2 6749 6783 mov byte [bp-00ch], 000h ; c6 46 f4 00 6750 6784 mov ax, strict word 0003dh ; b8 3d 00 6751 call 016ach ; e8 b9ca6785 call 016ach ; e8 65 ca 6752 6786 mov dl, al ; 88 c2 6753 6787 xor dh, dh ; 30 f6 6754 6788 mov ax, strict word 00038h ; b8 38 00 6755 call 016ach ; e8 afca6789 call 016ach ; e8 5b ca 6756 6790 and AL, strict byte 0f0h ; 24 f0 6757 6791 xor ah, ah ; 30 e4 … … 6760 6794 or si, ax ; 09 c6 6761 6795 mov ax, strict word 0003ch ; b8 3c 00 6762 call 016ach ; e8 9eca6796 call 016ach ; e8 4a ca 6763 6797 and AL, strict byte 00fh ; 24 0f 6764 6798 xor ah, ah ; 30 e4 … … 6767 6801 mov dx, 0037dh ; ba 7d 03 6768 6802 mov ax, bx ; 89 d8 6769 call 01650h ; e8 31 ca6803 call 01650h ; e8 dd c9 6770 6804 test al, al ; 84 c0 6771 je short 04c 2fh ; 74 0c6805 je short 04c83h ; 74 0c 6772 6806 mov dx, 0037dh ; ba 7d 03 6773 6807 mov ax, bx ; 89 d8 6774 call 01650h ; e8 25 ca6808 call 01650h ; e8 d1 c9 6775 6809 xor ah, ah ; 30 e4 6776 6810 mov si, ax ; 89 c6 6777 6811 cmp byte [bp+004h], 001h ; 80 7e 04 01 6778 jne short 04c 45h ; 75 106812 jne short 04c99h ; 75 10 6779 6813 mov ax, strict word 0003ch ; b8 3c 00 6780 call 016ach ; e8 71ca6814 call 016ach ; e8 1d ca 6781 6815 and AL, strict byte 0f0h ; 24 f0 6782 6816 xor ah, ah ; 30 e4 6783 6817 sar ax, 004h ; c1 f8 04 6784 call 07d 11h ; e8 cc 306818 call 07d65h ; e8 cc 30 6785 6819 cmp byte [bp+004h], 002h ; 80 7e 04 02 6786 jne short 04c 4eh ; 75 036820 jne short 04ca2h ; 75 03 6787 6821 shr si, 004h ; c1 ee 04 6788 6822 cmp byte [bp+004h], 003h ; 80 7e 04 03 6789 jne short 04c 57h ; 75 036823 jne short 04cabh ; 75 03 6790 6824 shr si, 008h ; c1 ee 08 6791 6825 cmp byte [bp+004h], 004h ; 80 7e 04 04 6792 jne short 04c 60h ; 75 036826 jne short 04cb4h ; 75 03 6793 6827 shr si, 00ch ; c1 ee 0c 6794 6828 cmp si, strict byte 00010h ; 83 fe 10 6795 jnc short 04c 69h ; 73 046829 jnc short 04cbdh ; 73 04 6796 6830 mov byte [bp-00ch], 001h ; c6 46 f4 01 6797 6831 xor al, al ; 30 c0 … … 6802 6836 mov cx, ds ; 8c d9 6803 6837 mov ax, strict word 00004h ; b8 04 00 6804 call 01923h ; e8 a4cc6838 call 01923h ; e8 50 cc 6805 6839 push si ; 56 6806 6840 mov al, byte [bp+004h] ; 8a 46 04 … … 6809 6843 push 00554h ; 68 54 05 6810 6844 push strict byte 00004h ; 6a 04 6811 call 01966h ; e8 d8cc6845 call 01966h ; e8 84 cc 6812 6846 add sp, strict byte 00008h ; 83 c4 08 6813 6847 and si, strict byte 0000fh ; 83 e6 0f 6814 6848 cmp si, strict byte 00002h ; 83 fe 02 6815 jc short 04c a7h ; 72 0e6816 jbe short 04 cb6h ; 76 1b6849 jc short 04cfbh ; 72 0e 6850 jbe short 04d0ah ; 76 1b 6817 6851 cmp si, strict byte 00004h ; 83 fe 04 6818 je short 04 cd4h ; 74 346852 je short 04d28h ; 74 34 6819 6853 cmp si, strict byte 00003h ; 83 fe 03 6820 je short 04 ccah ; 74 256821 jmp short 04d 03h ; eb 5c6854 je short 04d1eh ; 74 25 6855 jmp short 04d57h ; eb 5c 6822 6856 cmp si, strict byte 00001h ; 83 fe 01 6823 jne short 04d 03h ; 75 576857 jne short 04d57h ; 75 57 6824 6858 xor al, al ; 30 c0 6825 6859 mov byte [bp-006h], al ; 88 46 fa 6826 6860 mov byte [bp-008h], al ; 88 46 f8 6827 jmp short 04d 1bh ; eb 656861 jmp short 04d6fh ; eb 65 6828 6862 mov dx, 0037ch ; ba 7c 03 6829 6863 mov ax, word [bp-00eh] ; 8b 46 f2 6830 call 01650h ; e8 91c96864 call 01650h ; e8 3d c9 6831 6865 add AL, strict byte 080h ; 04 80 6832 6866 mov byte [bp-006h], al ; 88 46 fa 6833 6867 mov byte [bp-008h], 000h ; c6 46 f8 00 6834 jmp short 04d 1bh ; eb 516868 jmp short 04d6fh ; eb 51 6835 6869 mov byte [bp-006h], 000h ; c6 46 fa 00 6836 6870 mov byte [bp-008h], 001h ; c6 46 f8 01 6837 jmp short 04 cdeh ; eb 0a6871 jmp short 04d32h ; eb 0a 6838 6872 mov byte [bp-00ah], 001h ; c6 46 f6 01 6839 6873 cmp byte [bp-008h], 000h ; 80 7e f8 00 6840 je short 04d 1bh ; 74 3d6841 call 03 cd8h ; e8 f7 ef6874 je short 04d6fh ; 74 3d 6875 call 03d2ch ; e8 f7 ef 6842 6876 mov bx, ax ; 89 c3 6843 6877 test AL, strict byte 0ffh ; a8 ff 6844 je short 04d 0ah ; 74 236845 call 04 bach ; e8 c2 fe6878 je short 04d5eh ; 74 23 6879 call 04c00h ; e8 c2 fe 6846 6880 mov al, byte [bp-00ch] ; 8a 46 f4 6847 6881 xor ah, ah ; 30 e4 … … 6853 6887 mov al, byte [bp-008h] ; 8a 46 f8 6854 6888 mov cx, strict word 00001h ; b9 01 00 6855 call 04b 16h ; e8 13 fe6889 call 04b6ah ; e8 13 fe 6856 6890 xor ax, ax ; 31 c0 6857 6891 xor dx, dx ; 31 d2 6858 jmp near 04e 3dh ; e9 33 016892 jmp near 04e91h ; e9 33 01 6859 6893 mov dx, 00372h ; ba 72 03 6860 6894 mov ax, word [bp-00eh] ; 8b 46 f2 6861 call 0166ch ; e8 59c96895 call 0166ch ; e8 05 c9 6862 6896 mov di, ax ; 89 c7 6863 6897 shr bx, 008h ; c1 eb 08 6864 6898 mov byte [bp-006h], bl ; 88 5e fa 6865 6899 cmp byte [bp-00ah], 001h ; 80 7e f6 01 6866 jne short 04d 76h ; 75 556900 jne short 04dcah ; 75 55 6867 6901 xor si, si ; 31 f6 6868 6902 mov ax, 0e200h ; b8 00 e2 6869 6903 mov es, ax ; 8e c0 6870 6904 cmp word [es:si], 0aa55h ; 26 81 3c 55 aa 6871 jne short 04 ceah ; 75 bb6905 jne short 04d3eh ; 75 bb 6872 6906 mov cx, ax ; 89 c1 6873 6907 mov si, word [es:si+01ah] ; 26 8b 74 1a 6874 6908 cmp word [es:si+002h], 0506eh ; 26 81 7c 02 6e 50 6875 jne short 04 ceah ; 75 ad6909 jne short 04d3eh ; 75 ad 6876 6910 cmp word [es:si], 05024h ; 26 81 3c 24 50 6877 jne short 04 ceah ; 75 a66911 jne short 04d3eh ; 75 a6 6878 6912 mov di, word [es:si+00eh] ; 26 8b 7c 0e 6879 6913 mov dx, word [es:di] ; 26 8b 15 6880 6914 mov ax, word [es:di+002h] ; 26 8b 45 02 6881 6915 cmp ax, 06568h ; 3d 68 65 6882 jne short 04d 78h ; 75 246916 jne short 04dcch ; 75 24 6883 6917 cmp dx, 07445h ; 81 fa 45 74 6884 jne short 04d 78h ; 75 1e6918 jne short 04dcch ; 75 1e 6885 6919 mov bl, byte [bp-006h] ; 8a 5e fa 6886 6920 xor bh, bh ; 30 ff … … 6889 6923 mov al, byte [bp-008h] ; 8a 46 f8 6890 6924 xor ah, ah ; 30 e4 6891 call 04 acbh ; e8 5f fd6925 call 04b1fh ; e8 5f fd 6892 6926 mov word [bp-012h], strict word 00006h ; c7 46 ee 06 00 6893 6927 mov word [bp-010h], cx ; 89 4e f0 6894 jmp short 04d 97h ; eb 216895 jmp short 04d 9dh ; eb 256928 jmp short 04debh ; eb 21 6929 jmp short 04df1h ; eb 25 6896 6930 mov bl, byte [bp-006h] ; 8a 5e fa 6897 6931 xor bh, bh ; 30 ff … … 6900 6934 mov al, byte [bp-008h] ; 8a 46 f8 6901 6935 xor ah, ah ; 30 e4 6902 call 04 acbh ; e8 41 fd6936 call 04b1fh ; e8 41 fd 6903 6937 sti ; fb 6904 6938 mov word [bp-010h], cx ; 89 4e f0 … … 6907 6941 mov word [bp-012h], ax ; 89 46 ee 6908 6942 call far [bp-012h] ; ff 5e ee 6909 jmp near 04 ceah ; e9 4d ff6943 jmp near 04d3eh ; e9 4d ff 6910 6944 cmp byte [bp-008h], 000h ; 80 7e f8 00 6911 jne short 04 dcah ; 75 276945 jne short 04e1eh ; 75 27 6912 6946 cmp byte [bp-00ah], 000h ; 80 7e f6 00 6913 jne short 04 dcah ; 75 216947 jne short 04e1eh ; 75 21 6914 6948 mov di, 007c0h ; bf c0 07 6915 6949 mov es, di ; 8e c7 … … 6924 6958 sbb ax, strict byte 00000h ; 83 d8 00 6925 6959 test ax, ax ; 85 c0 6926 je short 04 dcah ; 74 036927 jmp near 04 ceah ; e9 20 ff6960 je short 04e1eh ; 74 03 6961 jmp near 04d3eh ; e9 20 ff 6928 6962 cmp byte [bp-006h], 000h ; 80 7e fa 00 6929 je short 04 dd4h ; 74 046963 je short 04e28h ; 74 04 6930 6964 xor bl, bl ; 30 db 6931 jmp short 04 dd6h ; eb 026965 jmp short 04e2ah ; eb 02 6932 6966 mov BL, strict byte 001h ; b3 01 6933 6967 cmp byte [bp-008h], 000h ; 80 7e f8 00 6934 je short 04 ddeh ; 74 026968 je short 04e32h ; 74 02 6935 6969 mov BL, strict byte 001h ; b3 01 6936 6970 xor dx, dx ; 31 d2 6937 6971 mov ax, di ; 89 f8 6938 call 0166ch ; e8 87c86972 call 0166ch ; e8 33 c8 6939 6973 mov si, ax ; 89 c6 6940 6974 mov dx, strict word 00002h ; ba 02 00 6941 6975 mov ax, di ; 89 f8 6942 call 0166ch ; e8 7dc86976 call 0166ch ; e8 29 c8 6943 6977 cmp si, ax ; 39 c6 6944 je short 04e 04h ; 74 116978 je short 04e58h ; 74 11 6945 6979 test bl, bl ; 84 db 6946 jne short 04e 1ch ; 75 256980 jne short 04e70h ; 75 25 6947 6981 mov dx, 001feh ; ba fe 01 6948 6982 mov ax, di ; 89 f8 6949 call 0166ch ; e8 6dc86983 call 0166ch ; e8 19 c8 6950 6984 cmp ax, 0aa55h ; 3d 55 aa 6951 je short 04e 1ch ; 74 186985 je short 04e70h ; 74 18 6952 6986 mov al, byte [bp-00ch] ; 8a 46 f4 6953 6987 xor ah, ah ; 30 e4 … … 6959 6993 mov al, byte [bp-008h] ; 8a 46 f8 6960 6994 xor cx, cx ; 31 c9 6961 jmp near 04d 00h ; e9 e4 fe6995 jmp near 04d54h ; e9 e4 fe 6962 6996 mov bl, byte [bp-006h] ; 8a 5e fa 6963 6997 xor bh, bh ; 30 ff … … 6966 7000 mov al, byte [bp-008h] ; 8a 46 f8 6967 7001 xor ah, ah ; 30 e4 6968 call 04 acbh ; e8 9d fc7002 call 04b1fh ; e8 9d fc 6969 7003 mov al, byte [bp-006h] ; 8a 46 fa 6970 7004 xor ah, ah ; 30 e4 … … 6979 7013 pop bp ; 5d 6980 7014 retn ; c3 6981 keyboard_panic_: ; 0xf4e 44LB 0x137015 keyboard_panic_: ; 0xf4e98 LB 0x13 6982 7016 push bp ; 55 6983 7017 mov bp, sp ; 89 e5 … … 6985 7019 push 00574h ; 68 74 05 6986 7020 push strict byte 00007h ; 6a 07 6987 call 01966h ; e8 16 cb7021 call 01966h ; e8 c2 ca 6988 7022 add sp, strict byte 00006h ; 83 c4 06 6989 7023 mov sp, bp ; 89 ec 6990 7024 pop bp ; 5d 6991 7025 retn ; c3 6992 _keyboard_init: ; 0xf4e 57LB 0x26a7026 _keyboard_init: ; 0xf4eab LB 0x26a 6993 7027 push bp ; 55 6994 7028 mov bp, sp ; 89 e5 … … 7002 7036 ; sub ah, ah ; 2a e4 7003 7037 test AL, strict byte 002h ; a8 02 7004 je short 04e 7ah ; 74 0d7038 je short 04eceh ; 74 0d 7005 7039 dec bx ; 4b 7006 7040 test bx, bx ; 85 db 7007 jbe short 04e 7ah ; 76 087041 jbe short 04eceh ; 76 08 7008 7042 xor al, al ; 30 c0 7009 7043 mov dx, 00080h ; ba 80 00 7010 7044 out DX, AL ; ee 7011 jmp short 04e 63h ; eb e97045 jmp short 04eb7h ; eb e9 7012 7046 test bx, bx ; 85 db 7013 jne short 04e 83h ; 75 057047 jne short 04ed7h ; 75 05 7014 7048 xor ax, ax ; 31 c0 7015 call 04e 44h ; e8 c1 ff7049 call 04e98h ; e8 c1 ff 7016 7050 mov bx, strict word 0ffffh ; bb ff ff 7017 7051 mov dx, strict word 00064h ; ba 64 00 … … 7020 7054 ; sub ah, ah ; 2a e4 7021 7055 test AL, strict byte 001h ; a8 01 7022 jne short 04e 9dh ; 75 0d7056 jne short 04ef1h ; 75 0d 7023 7057 dec bx ; 4b 7024 7058 test bx, bx ; 85 db 7025 jbe short 04e 9dh ; 76 087059 jbe short 04ef1h ; 76 08 7026 7060 mov AL, strict byte 001h ; b0 01 7027 7061 mov dx, 00080h ; ba 80 00 7028 7062 out DX, AL ; ee 7029 jmp short 04e 86h ; eb e97063 jmp short 04edah ; eb e9 7030 7064 test bx, bx ; 85 db 7031 jne short 04e a7h ; 75 067065 jne short 04efbh ; 75 06 7032 7066 mov ax, strict word 00001h ; b8 01 00 7033 call 04e 44h ; e8 9d ff7067 call 04e98h ; e8 9d ff 7034 7068 mov dx, strict word 00060h ; ba 60 00 7035 7069 in AL, DX ; ec … … 7037 7071 ; sub ah, ah ; 2a e4 7038 7072 cmp ax, strict word 00055h ; 3d 55 00 7039 je short 04 eb8h ; 74 067073 je short 04f0ch ; 74 06 7040 7074 mov ax, 003dfh ; b8 df 03 7041 call 04e 44h ; e8 8c ff7075 call 04e98h ; e8 8c ff 7042 7076 mov AL, strict byte 0abh ; b0 ab 7043 7077 mov dx, strict word 00064h ; ba 64 00 … … 7049 7083 ; sub ah, ah ; 2a e4 7050 7084 test AL, strict byte 002h ; a8 02 7051 je short 04 ed8h ; 74 0d7085 je short 04f2ch ; 74 0d 7052 7086 dec bx ; 4b 7053 7087 test bx, bx ; 85 db 7054 jbe short 04 ed8h ; 76 087088 jbe short 04f2ch ; 76 08 7055 7089 mov AL, strict byte 010h ; b0 10 7056 7090 mov dx, 00080h ; ba 80 00 7057 7091 out DX, AL ; ee 7058 jmp short 04 ec1h ; eb e97092 jmp short 04f15h ; eb e9 7059 7093 test bx, bx ; 85 db 7060 jne short 04 ee2h ; 75 067094 jne short 04f36h ; 75 06 7061 7095 mov ax, strict word 0000ah ; b8 0a 00 7062 call 04e 44h ; e8 62 ff7096 call 04e98h ; e8 62 ff 7063 7097 mov bx, strict word 0ffffh ; bb ff ff 7064 7098 mov dx, strict word 00064h ; ba 64 00 … … 7067 7101 ; sub ah, ah ; 2a e4 7068 7102 test AL, strict byte 001h ; a8 01 7069 jne short 04 efch ; 75 0d7103 jne short 04f50h ; 75 0d 7070 7104 dec bx ; 4b 7071 7105 test bx, bx ; 85 db 7072 jbe short 04 efch ; 76 087106 jbe short 04f50h ; 76 08 7073 7107 mov AL, strict byte 011h ; b0 11 7074 7108 mov dx, 00080h ; ba 80 00 7075 7109 out DX, AL ; ee 7076 jmp short 04 ee5h ; eb e97110 jmp short 04f39h ; eb e9 7077 7111 test bx, bx ; 85 db 7078 jne short 04f 06h ; 75 067112 jne short 04f5ah ; 75 06 7079 7113 mov ax, strict word 0000bh ; b8 0b 00 7080 call 04e 44h ; e8 3e ff7114 call 04e98h ; e8 3e ff 7081 7115 mov dx, strict word 00060h ; ba 60 00 7082 7116 in AL, DX ; ec … … 7084 7118 ; sub ah, ah ; 2a e4 7085 7119 test ax, ax ; 85 c0 7086 je short 04f 16h ; 74 067120 je short 04f6ah ; 74 06 7087 7121 mov ax, 003e0h ; b8 e0 03 7088 call 04e 44h ; e8 2e ff7122 call 04e98h ; e8 2e ff 7089 7123 mov AL, strict byte 0ffh ; b0 ff 7090 7124 mov dx, strict word 00060h ; ba 60 00 … … 7096 7130 ; sub ah, ah ; 2a e4 7097 7131 test AL, strict byte 002h ; a8 02 7098 je short 04f 36h ; 74 0d7132 je short 04f8ah ; 74 0d 7099 7133 dec bx ; 4b 7100 7134 test bx, bx ; 85 db 7101 jbe short 04f 36h ; 76 087135 jbe short 04f8ah ; 76 08 7102 7136 mov AL, strict byte 020h ; b0 20 7103 7137 mov dx, 00080h ; ba 80 00 7104 7138 out DX, AL ; ee 7105 jmp short 04f 1fh ; eb e97139 jmp short 04f73h ; eb e9 7106 7140 test bx, bx ; 85 db 7107 jne short 04f 40h ; 75 067141 jne short 04f94h ; 75 06 7108 7142 mov ax, strict word 00014h ; b8 14 00 7109 call 04e 44h ; e8 04 ff7143 call 04e98h ; e8 04 ff 7110 7144 mov bx, strict word 0ffffh ; bb ff ff 7111 7145 mov dx, strict word 00064h ; ba 64 00 … … 7114 7148 ; sub ah, ah ; 2a e4 7115 7149 test AL, strict byte 001h ; a8 01 7116 jne short 04f 5ah ; 75 0d7150 jne short 04faeh ; 75 0d 7117 7151 dec bx ; 4b 7118 7152 test bx, bx ; 85 db 7119 jbe short 04f 5ah ; 76 087153 jbe short 04faeh ; 76 08 7120 7154 mov AL, strict byte 021h ; b0 21 7121 7155 mov dx, 00080h ; ba 80 00 7122 7156 out DX, AL ; ee 7123 jmp short 04f 43h ; eb e97157 jmp short 04f97h ; eb e9 7124 7158 test bx, bx ; 85 db 7125 jne short 04f 64h ; 75 067159 jne short 04fb8h ; 75 06 7126 7160 mov ax, strict word 00015h ; b8 15 00 7127 call 04e 44h ; e8 e0 fe7161 call 04e98h ; e8 e0 fe 7128 7162 mov dx, strict word 00060h ; ba 60 00 7129 7163 in AL, DX ; ec … … 7131 7165 ; sub ah, ah ; 2a e4 7132 7166 cmp ax, 000fah ; 3d fa 00 7133 je short 04f 75h ; 74 067167 je short 04fc9h ; 74 06 7134 7168 mov ax, 003e1h ; b8 e1 03 7135 call 04e 44h ; e8 cf fe7169 call 04e98h ; e8 cf fe 7136 7170 mov dx, strict word 00064h ; ba 64 00 7137 7171 in AL, DX ; ec … … 7139 7173 ; sub ah, ah ; 2a e4 7140 7174 test AL, strict byte 001h ; a8 01 7141 jne short 04f 87h ; 75 087175 jne short 04fdbh ; 75 08 7142 7176 mov AL, strict byte 031h ; b0 31 7143 7177 mov dx, 00080h ; ba 80 00 7144 7178 out DX, AL ; ee 7145 jmp short 04f 75h ; eb ee7179 jmp short 04fc9h ; eb ee 7146 7180 mov dx, strict word 00060h ; ba 60 00 7147 7181 in AL, DX ; ec … … 7149 7183 ; sub ah, ah ; 2a e4 7150 7184 cmp ax, 000aah ; 3d aa 00 7151 je short 04f a0h ; 74 0e7185 je short 04ff4h ; 74 0e 7152 7186 in AL, DX ; ec 7153 7187 db 02ah, 0e4h 7154 7188 ; sub ah, ah ; 2a e4 7155 7189 cmp ax, 000aah ; 3d aa 00 7156 je short 04f a0h ; 74 067190 je short 04ff4h ; 74 06 7157 7191 mov ax, 003e2h ; b8 e2 03 7158 call 04e 44h ; e8 a4 fe7192 call 04e98h ; e8 a4 fe 7159 7193 mov AL, strict byte 0f5h ; b0 f5 7160 7194 mov dx, strict word 00060h ; ba 60 00 … … 7166 7200 ; sub ah, ah ; 2a e4 7167 7201 test AL, strict byte 002h ; a8 02 7168 je short 0 4fc0h ; 74 0d7202 je short 05014h ; 74 0d 7169 7203 dec bx ; 4b 7170 7204 test bx, bx ; 85 db 7171 jbe short 0 4fc0h ; 76 087205 jbe short 05014h ; 76 08 7172 7206 mov AL, strict byte 040h ; b0 40 7173 7207 mov dx, 00080h ; ba 80 00 7174 7208 out DX, AL ; ee 7175 jmp short 04f a9h ; eb e97209 jmp short 04ffdh ; eb e9 7176 7210 test bx, bx ; 85 db 7177 jne short 0 4fcah ; 75 067211 jne short 0501eh ; 75 06 7178 7212 mov ax, strict word 00028h ; b8 28 00 7179 call 04e 44h ; e8 7a fe7213 call 04e98h ; e8 7a fe 7180 7214 mov bx, strict word 0ffffh ; bb ff ff 7181 7215 mov dx, strict word 00064h ; ba 64 00 … … 7184 7218 ; sub ah, ah ; 2a e4 7185 7219 test AL, strict byte 001h ; a8 01 7186 jne short 0 4fe4h ; 75 0d7220 jne short 05038h ; 75 0d 7187 7221 dec bx ; 4b 7188 7222 test bx, bx ; 85 db 7189 jbe short 0 4fe4h ; 76 087223 jbe short 05038h ; 76 08 7190 7224 mov AL, strict byte 041h ; b0 41 7191 7225 mov dx, 00080h ; ba 80 00 7192 7226 out DX, AL ; ee 7193 jmp short 0 4fcdh ; eb e97227 jmp short 05021h ; eb e9 7194 7228 test bx, bx ; 85 db 7195 jne short 0 4feeh ; 75 067229 jne short 05042h ; 75 06 7196 7230 mov ax, strict word 00029h ; b8 29 00 7197 call 04e 44h ; e8 56 fe7231 call 04e98h ; e8 56 fe 7198 7232 mov dx, strict word 00060h ; ba 60 00 7199 7233 in AL, DX ; ec … … 7201 7235 ; sub ah, ah ; 2a e4 7202 7236 cmp ax, 000fah ; 3d fa 00 7203 je short 0 4fffh ; 74 067237 je short 05053h ; 74 06 7204 7238 mov ax, 003e3h ; b8 e3 03 7205 call 04e 44h ; e8 45 fe7239 call 04e98h ; e8 45 fe 7206 7240 mov AL, strict byte 060h ; b0 60 7207 7241 mov dx, strict word 00064h ; ba 64 00 7208 out DX, AL ; ee7209 mov bx, strict word 0ffffh ; bb ff ff7210 mov dx, strict word 00064h ; ba 64 007211 in AL, DX ; ec7212 db 02ah, 0e4h7213 ; sub ah, ah ; 2a e47214 test AL, strict byte 002h ; a8 027215 je short 0501fh ; 74 0d7216 dec bx ; 4b7217 test bx, bx ; 85 db7218 jbe short 0501fh ; 76 087219 mov AL, strict byte 050h ; b0 507220 mov dx, 00080h ; ba 80 007221 out DX, AL ; ee7222 jmp short 05008h ; eb e97223 test bx, bx ; 85 db7224 jne short 05029h ; 75 067225 mov ax, strict word 00032h ; b8 32 007226 call 04e44h ; e8 1b fe7227 mov AL, strict byte 065h ; b0 657228 mov dx, strict word 00060h ; ba 60 007229 out DX, AL ; ee7230 mov bx, strict word 0ffffh ; bb ff ff7231 mov dx, strict word 00064h ; ba 64 007232 in AL, DX ; ec7233 db 02ah, 0e4h7234 ; sub ah, ah ; 2a e47235 test AL, strict byte 002h ; a8 027236 je short 05049h ; 74 0d7237 dec bx ; 4b7238 test bx, bx ; 85 db7239 jbe short 05049h ; 76 087240 mov AL, strict byte 060h ; b0 607241 mov dx, 00080h ; ba 80 007242 out DX, AL ; ee7243 jmp short 05032h ; eb e97244 test bx, bx ; 85 db7245 jne short 05053h ; 75 067246 mov ax, strict word 0003ch ; b8 3c 007247 call 04e44h ; e8 f1 fd7248 mov AL, strict byte 0f4h ; b0 f47249 mov dx, strict word 00060h ; ba 60 007250 7242 out DX, AL ; ee 7251 7243 mov bx, strict word 0ffffh ; bb ff ff … … 7259 7251 test bx, bx ; 85 db 7260 7252 jbe short 05073h ; 76 08 7261 mov AL, strict byte 0 70h ; b0 707253 mov AL, strict byte 050h ; b0 50 7262 7254 mov dx, 00080h ; ba 80 00 7263 7255 out DX, AL ; ee … … 7265 7257 test bx, bx ; 85 db 7266 7258 jne short 0507dh ; 75 06 7259 mov ax, strict word 00032h ; b8 32 00 7260 call 04e98h ; e8 1b fe 7261 mov AL, strict byte 065h ; b0 65 7262 mov dx, strict word 00060h ; ba 60 00 7263 out DX, AL ; ee 7264 mov bx, strict word 0ffffh ; bb ff ff 7265 mov dx, strict word 00064h ; ba 64 00 7266 in AL, DX ; ec 7267 db 02ah, 0e4h 7268 ; sub ah, ah ; 2a e4 7269 test AL, strict byte 002h ; a8 02 7270 je short 0509dh ; 74 0d 7271 dec bx ; 4b 7272 test bx, bx ; 85 db 7273 jbe short 0509dh ; 76 08 7274 mov AL, strict byte 060h ; b0 60 7275 mov dx, 00080h ; ba 80 00 7276 out DX, AL ; ee 7277 jmp short 05086h ; eb e9 7278 test bx, bx ; 85 db 7279 jne short 050a7h ; 75 06 7280 mov ax, strict word 0003ch ; b8 3c 00 7281 call 04e98h ; e8 f1 fd 7282 mov AL, strict byte 0f4h ; b0 f4 7283 mov dx, strict word 00060h ; ba 60 00 7284 out DX, AL ; ee 7285 mov bx, strict word 0ffffh ; bb ff ff 7286 mov dx, strict word 00064h ; ba 64 00 7287 in AL, DX ; ec 7288 db 02ah, 0e4h 7289 ; sub ah, ah ; 2a e4 7290 test AL, strict byte 002h ; a8 02 7291 je short 050c7h ; 74 0d 7292 dec bx ; 4b 7293 test bx, bx ; 85 db 7294 jbe short 050c7h ; 76 08 7295 mov AL, strict byte 070h ; b0 70 7296 mov dx, 00080h ; ba 80 00 7297 out DX, AL ; ee 7298 jmp short 050b0h ; eb e9 7299 test bx, bx ; 85 db 7300 jne short 050d1h ; 75 06 7267 7301 mov ax, strict word 00046h ; b8 46 00 7268 call 04e 44h ; e8 c7 fd7302 call 04e98h ; e8 c7 fd 7269 7303 mov bx, strict word 0ffffh ; bb ff ff 7270 7304 mov dx, strict word 00064h ; ba 64 00 … … 7273 7307 ; sub ah, ah ; 2a e4 7274 7308 test AL, strict byte 001h ; a8 01 7275 jne short 050 97h ; 75 0d7309 jne short 050ebh ; 75 0d 7276 7310 dec bx ; 4b 7277 7311 test bx, bx ; 85 db 7278 jbe short 050 97h ; 76 087312 jbe short 050ebh ; 76 08 7279 7313 mov AL, strict byte 071h ; b0 71 7280 7314 mov dx, 00080h ; ba 80 00 7281 7315 out DX, AL ; ee 7282 jmp short 050 80h ; eb e97316 jmp short 050d4h ; eb e9 7283 7317 test bx, bx ; 85 db 7284 jne short 050 a1h ; 75 067318 jne short 050f5h ; 75 06 7285 7319 mov ax, strict word 00046h ; b8 46 00 7286 call 04e 44h ; e8 a3 fd7320 call 04e98h ; e8 a3 fd 7287 7321 mov dx, strict word 00060h ; ba 60 00 7288 7322 in AL, DX ; ec … … 7290 7324 ; sub ah, ah ; 2a e4 7291 7325 cmp ax, 000fah ; 3d fa 00 7292 je short 05 0b2h ; 74 067326 je short 05106h ; 74 06 7293 7327 mov ax, 003e4h ; b8 e4 03 7294 call 04e 44h ; e8 92 fd7328 call 04e98h ; e8 92 fd 7295 7329 mov AL, strict byte 0a8h ; b0 a8 7296 7330 mov dx, strict word 00064h ; ba 64 00 7297 7331 out DX, AL ; ee 7298 7332 xor ax, ax ; 31 c0 7299 call 065 5bh ; e8 9e 147333 call 065afh ; e8 9e 14 7300 7334 mov sp, bp ; 89 ec 7301 7335 pop bp ; 5d 7302 7336 retn ; c3 7303 enqueue_key_: ; 0xf5 0c1LB 0x9e7337 enqueue_key_: ; 0xf5115 LB 0x9e 7304 7338 push bp ; 55 7305 7339 mov bp, sp ; 89 e5 … … 7313 7347 mov dx, strict word 0001ah ; ba 1a 00 7314 7348 mov ax, strict word 00040h ; b8 40 00 7315 call 0166ch ; e8 95c57349 call 0166ch ; e8 41 c5 7316 7350 mov di, ax ; 89 c7 7317 7351 mov dx, strict word 0001ch ; ba 1c 00 7318 7352 mov ax, strict word 00040h ; b8 40 00 7319 call 0166ch ; e8 8ac57353 call 0166ch ; e8 36 c5 7320 7354 mov si, ax ; 89 c6 7321 7355 lea cx, [si+002h] ; 8d 4c 02 7322 7356 cmp cx, strict byte 0003eh ; 83 f9 3e 7323 jc short 05 0efh ; 72 037357 jc short 05143h ; 72 03 7324 7358 mov cx, strict word 0001eh ; b9 1e 00 7325 7359 cmp cx, di ; 39 f9 7326 jne short 05 0f7h ; 75 047360 jne short 0514bh ; 75 04 7327 7361 xor ax, ax ; 31 c0 7328 jmp short 051 21h ; eb 2a7362 jmp short 05175h ; eb 2a 7329 7363 mov al, bl ; 88 d8 7330 7364 xor ah, ah ; 30 e4 … … 7332 7366 mov dx, si ; 89 f2 7333 7367 mov ax, strict word 00040h ; b8 40 00 7334 call 0165eh ; e8 59c57368 call 0165eh ; e8 05 c5 7335 7369 mov bl, byte [bp-00ah] ; 8a 5e f6 7336 7370 xor bh, bh ; 30 ff 7337 7371 lea dx, [si+001h] ; 8d 54 01 7338 7372 mov ax, strict word 00040h ; b8 40 00 7339 call 0165eh ; e8 4b c57373 call 0165eh ; e8 f7 c4 7340 7374 mov bx, cx ; 89 cb 7341 7375 mov dx, strict word 0001ch ; ba 1c 00 7342 7376 mov ax, strict word 00040h ; b8 40 00 7343 call 0167ah ; e8 5cc57377 call 0167ah ; e8 08 c5 7344 7378 mov ax, strict word 00001h ; b8 01 00 7345 7379 lea sp, [bp-008h] ; 8d 66 f8 … … 7350 7384 pop bp ; 5d 7351 7385 retn ; c3 7352 aam 0c6h ; d4 c6 7353 lds di, [bp+si-04948h] ; c5 ba b8 b6 7354 stosb ; aa 7355 popfw ; 9d 7356 push sp ; 54 7357 push bx ; 53 7358 inc si ; 46 7359 inc bp ; 45 7360 cmp bh, byte [bx+si] ; 3a 38 7361 sub bl, byte [ss:di] ; 36 2a 1d 7362 popfw ; 9d 7363 push sp ; 54 7364 push bp ; 55 7365 push dx ; 52 7366 not word [bx+di-009h] ; f7 51 f7 7367 push cx ; 51 7368 in AL, strict byte 052h ; e4 52 7369 into ; ce 7370 push cx ; 51 7371 push 0dc53h ; 68 53 dc 7372 push bx ; 53 7373 adc word [si+061h], strict byte 00054h ; 83 54 61 54 7374 pushfw ; 9c 7375 push dx ; 52 7376 not word [bx+di-009h] ; f7 51 f7 7377 push cx ; 51 7378 db 026h, 053h 7379 ; es push bx ; 26 53 7380 in AL, DX ; ec 7381 push cx ; 51 7382 mov sp, 04153h ; bc 53 41 7383 push sp ; 54 7384 jl short 051b3h ; 7c 54 7385 _int09_function: ; 0xf515f LB 0x494 7386 db 0d4h, 0c6h, 0c5h, 0bah, 0b8h, 0b6h, 0aah, 09dh, 054h, 053h, 046h, 045h, 03ah, 038h, 036h, 02ah 7387 db 01dh, 0f1h, 054h, 0a9h, 052h, 04bh, 052h, 04bh, 052h, 038h, 053h, 022h, 052h, 0bch, 053h, 030h 7388 db 054h, 0d7h, 054h, 0b5h, 054h, 0f0h, 052h, 04bh, 052h, 04bh, 052h, 07ah, 053h, 040h, 052h, 010h 7389 db 054h, 095h, 054h, 0d0h, 054h 7390 _int09_function: ; 0xf51b3 LB 0x494 7386 7391 push bp ; 55 7387 7392 mov bp, sp ; 89 e5 … … 7391 7396 mov byte [bp-00ah], al ; 88 46 f6 7392 7397 test al, al ; 84 c0 7393 jne short 051 89h ; 75 197398 jne short 051ddh ; 75 19 7394 7399 mov bx, 00da0h ; bb a0 0d 7395 7400 mov cx, ds ; 8c d9 7396 7401 mov ax, strict word 00004h ; b8 04 00 7397 call 01923h ; e8 a8c77402 call 01923h ; e8 54 c7 7398 7403 push 00587h ; 68 87 05 7399 7404 push strict byte 00004h ; 6a 04 7400 call 01966h ; e8 e3c77405 call 01966h ; e8 8f c7 7401 7406 add sp, strict byte 00004h ; 83 c4 04 7402 jmp near 052 4fh ; e9 c6 007407 jmp near 052a3h ; e9 c6 00 7403 7408 mov dx, strict word 00018h ; ba 18 00 7404 7409 mov ax, strict word 00040h ; b8 40 00 7405 call 01650h ; e8 bec47410 call 01650h ; e8 6a c4 7406 7411 mov byte [bp-010h], al ; 88 46 f0 7407 7412 mov byte [bp-008h], al ; 88 46 f8 7408 7413 mov dx, 00096h ; ba 96 00 7409 7414 mov ax, strict word 00040h ; b8 40 00 7410 call 01650h ; e8 afc47415 call 01650h ; e8 5b c4 7411 7416 mov byte [bp-004h], al ; 88 46 fc 7412 7417 mov byte [bp-00ch], al ; 88 46 f4 7413 7418 mov dx, strict word 00017h ; ba 17 00 7414 7419 mov ax, strict word 00040h ; b8 40 00 7415 call 01650h ; e8 a0c47420 call 01650h ; e8 4c c4 7416 7421 mov byte [bp-006h], al ; 88 46 fa 7417 7422 mov byte [bp-00eh], al ; 88 46 f2 … … 7420 7425 pop ES ; 07 7421 7426 mov cx, strict word 00012h ; b9 12 00 7422 mov di, 051 2ah ; bf 2a517427 mov di, 0517eh ; bf 7e 51 7423 7428 repne scasb ; f2 ae 7424 7429 sal cx, 1 ; d1 e1 7425 7430 mov di, cx ; 89 cf 7426 mov ax, word [cs:di+051 3bh] ; 2e 8b 85 3b517431 mov ax, word [cs:di+0518fh] ; 2e 8b 85 8f 51 7427 7432 jmp ax ; ff e0 7428 7433 xor byte [bp-00eh], 040h ; 80 76 f2 40 … … 7432 7437 mov dx, strict word 00017h ; ba 17 00 7433 7438 mov ax, strict word 00040h ; b8 40 00 7434 call 0165eh ; e8 7cc47439 call 0165eh ; e8 28 c4 7435 7440 or byte [bp-008h], 040h ; 80 4e f8 40 7436 7441 mov al, byte [bp-008h] ; 8a 46 f8 7437 jmp near 054 6dh ; e9 81 027442 jmp near 054c1h ; e9 81 02 7438 7443 mov al, byte [bp-010h] ; 8a 46 f0 7439 7444 and AL, strict byte 0bfh ; 24 bf 7440 7445 mov byte [bp-008h], al ; 88 46 f8 7441 jmp near 054 6dh ; e9 76 027446 jmp near 054c1h ; e9 76 02 7442 7447 test byte [bp-00ch], 002h ; f6 46 f4 02 7443 jne short 052 30h ; 75 337448 jne short 05284h ; 75 33 7444 7449 mov al, byte [bp-00ah] ; 8a 46 f6 7445 7450 and AL, strict byte 07fh ; 24 7f 7446 7451 cmp AL, strict byte 02ah ; 3c 2a 7447 jne short 052 0bh ; 75 057452 jne short 0525fh ; 75 05 7448 7453 mov dx, strict word 00002h ; ba 02 00 7449 jmp short 052 0eh ; eb 037454 jmp short 05262h ; eb 03 7450 7455 mov dx, strict word 00001h ; ba 01 00 7451 7456 test byte [bp-00ah], 080h ; f6 46 f6 80 7452 je short 052 1dh ; 74 097457 je short 05271h ; 74 09 7453 7458 mov al, dl ; 88 d0 7454 7459 not al ; f6 d0 7455 7460 and byte [bp-00eh], al ; 20 46 f2 7456 jmp short 052 20h ; eb 037461 jmp short 05274h ; eb 03 7457 7462 or byte [bp-00eh], dl ; 08 56 f2 7458 7463 mov al, byte [bp-00eh] ; 8a 46 f2 … … 7461 7466 mov dx, strict word 00017h ; ba 17 00 7462 7467 mov ax, strict word 00040h ; b8 40 00 7463 call 0165eh ; e8 2e c47468 call 0165eh ; e8 da c3 7464 7469 mov al, byte [bp-00ah] ; 8a 46 f6 7465 7470 and AL, strict byte 07fh ; 24 7f 7466 7471 cmp AL, strict byte 01dh ; 3c 1d 7467 je short 052 3dh ; 74 047472 je short 05291h ; 74 04 7468 7473 and byte [bp-00ch], 0feh ; 80 66 f4 fe 7469 7474 and byte [bp-00ch], 0fdh ; 80 66 f4 fd … … 7472 7477 mov dx, 00096h ; ba 96 00 7473 7478 mov ax, strict word 00040h ; b8 40 00 7474 call 0165eh ; e8 0f c47479 call 0165eh ; e8 bb c3 7475 7480 lea sp, [bp-002h] ; 8d 66 fe 7476 7481 pop di ; 5f … … 7478 7483 retn ; c3 7479 7484 test byte [bp-004h], 001h ; f6 46 fc 01 7480 jne short 052 30h ; 75 d57485 jne short 05284h ; 75 d5 7481 7486 mov al, byte [bp-006h] ; 8a 46 fa 7482 7487 or AL, strict byte 004h ; 0c 04 … … 7486 7491 mov dx, strict word 00017h ; ba 17 00 7487 7492 mov ax, strict word 00040h ; b8 40 00 7488 call 0165eh ; e8 eec37493 call 0165eh ; e8 9a c3 7489 7494 mov al, byte [bp-004h] ; 8a 46 fc 7490 7495 test AL, strict byte 002h ; a8 02 7491 je short 052 85h ; 74 0e7496 je short 052d9h ; 74 0e 7492 7497 or AL, strict byte 004h ; 0c 04 7493 7498 mov byte [bp-00ch], al ; 88 46 f4 … … 7495 7500 mov bx, ax ; 89 c3 7496 7501 mov dx, 00096h ; ba 96 00 7497 jmp short 052 94h ; eb 0f7502 jmp short 052e8h ; eb 0f 7498 7503 mov al, byte [bp-010h] ; 8a 46 f0 7499 7504 or AL, strict byte 001h ; 0c 01 … … 7503 7508 mov dx, strict word 00018h ; ba 18 00 7504 7509 mov ax, strict word 00040h ; b8 40 00 7505 call 0165eh ; e8 c4c37506 jmp short 052 30h ; eb 947510 call 0165eh ; e8 70 c3 7511 jmp short 05284h ; eb 94 7507 7512 test byte [bp-004h], 001h ; f6 46 fc 01 7508 jne short 052 30h ; 75 8e7513 jne short 05284h ; 75 8e 7509 7514 mov al, byte [bp-006h] ; 8a 46 fa 7510 7515 and AL, strict byte 0fbh ; 24 fb … … 7514 7519 mov dx, strict word 00017h ; ba 17 00 7515 7520 mov ax, strict word 00040h ; b8 40 00 7516 call 0165eh ; e8 a7c37521 call 0165eh ; e8 53 c3 7517 7522 mov al, byte [bp-004h] ; 8a 46 fc 7518 7523 test AL, strict byte 002h ; a8 02 7519 je short 05 2cch ; 74 0e7524 je short 05320h ; 74 0e 7520 7525 and AL, strict byte 0fbh ; 24 fb 7521 7526 mov byte [bp-00ch], al ; 88 46 f4 … … 7523 7528 mov bx, ax ; 89 c3 7524 7529 mov dx, 00096h ; ba 96 00 7525 jmp short 05 2dbh ; eb 0f7530 jmp short 0532fh ; eb 0f 7526 7531 mov al, byte [bp-010h] ; 8a 46 f0 7527 7532 and AL, strict byte 0feh ; 24 fe … … 7531 7536 mov dx, strict word 00018h ; ba 18 00 7532 7537 mov ax, strict word 00040h ; b8 40 00 7533 call 0165eh ; e8 7dc37534 jmp near 052 30h ; e9 4c ff7538 call 0165eh ; e8 29 c3 7539 jmp near 05284h ; e9 4c ff 7535 7540 mov al, byte [bp-006h] ; 8a 46 fa 7536 7541 or AL, strict byte 008h ; 0c 08 … … 7540 7545 mov dx, strict word 00017h ; ba 17 00 7541 7546 mov ax, strict word 00040h ; b8 40 00 7542 call 0165eh ; e8 65c37547 call 0165eh ; e8 11 c3 7543 7548 mov al, byte [bp-004h] ; 8a 46 fc 7544 7549 test AL, strict byte 002h ; a8 02 7545 je short 053 0eh ; 74 0e7550 je short 05362h ; 74 0e 7546 7551 or AL, strict byte 008h ; 0c 08 7547 7552 mov byte [bp-00ch], al ; 88 46 f4 … … 7549 7554 mov bx, ax ; 89 c3 7550 7555 mov dx, 00096h ; ba 96 00 7551 jmp short 053 1dh ; eb 0f7556 jmp short 05371h ; eb 0f 7552 7557 mov al, byte [bp-010h] ; 8a 46 f0 7553 7558 or AL, strict byte 002h ; 0c 02 … … 7557 7562 mov dx, strict word 00018h ; ba 18 00 7558 7563 mov ax, strict word 00040h ; b8 40 00 7559 call 0165eh ; e8 3b c37560 jmp near 052 30h ; e9 0a ff7564 call 0165eh ; e8 e7 c2 7565 jmp near 05284h ; e9 0a ff 7561 7566 mov al, byte [bp-006h] ; 8a 46 fa 7562 7567 and AL, strict byte 0f7h ; 24 f7 … … 7566 7571 mov dx, strict word 00017h ; ba 17 00 7567 7572 mov ax, strict word 00040h ; b8 40 00 7568 call 0165eh ; e8 23 c37573 call 0165eh ; e8 cf c2 7569 7574 mov al, byte [bp-004h] ; 8a 46 fc 7570 7575 test AL, strict byte 002h ; a8 02 7571 je short 053 50h ; 74 0e7576 je short 053a4h ; 74 0e 7572 7577 and AL, strict byte 0f7h ; 24 f7 7573 7578 mov byte [bp-00ch], al ; 88 46 f4 … … 7575 7580 mov bx, ax ; 89 c3 7576 7581 mov dx, 00096h ; ba 96 00 7577 jmp short 053 5fh ; eb 0f7582 jmp short 053b3h ; eb 0f 7578 7583 mov al, byte [bp-010h] ; 8a 46 f0 7579 7584 and AL, strict byte 0fdh ; 24 fd … … 7583 7588 mov dx, strict word 00018h ; ba 18 00 7584 7589 mov ax, strict word 00040h ; b8 40 00 7585 call 0165eh ; e8 f9c27586 jmp near 052 30h ; e9 c8 fe7590 call 0165eh ; e8 a5 c2 7591 jmp near 05284h ; e9 c8 fe 7587 7592 test byte [bp-004h], 003h ; f6 46 fc 03 7588 jne short 053 8eh ; 75 207593 jne short 053e2h ; 75 20 7589 7594 mov al, byte [bp-010h] ; 8a 46 f0 7590 7595 or AL, strict byte 020h ; 0c 20 … … 7594 7599 mov dx, strict word 00018h ; ba 18 00 7595 7600 mov ax, strict word 00040h ; b8 40 00 7596 call 0165eh ; e8 dbc27601 call 0165eh ; e8 87 c2 7597 7602 mov al, byte [bp-006h] ; 8a 46 fa 7598 7603 xor AL, strict byte 020h ; 34 20 7599 7604 mov byte [bp-00eh], al ; 88 46 f2 7600 jmp near 052 23h ; e9 95 fe7605 jmp near 05277h ; e9 95 fe 7601 7606 mov al, byte [bp-010h] ; 8a 46 f0 7602 7607 or AL, strict byte 008h ; 0c 08 … … 7606 7611 mov dx, strict word 00018h ; ba 18 00 7607 7612 mov ax, strict word 00040h ; b8 40 00 7608 call 0165eh ; e8 bbc27613 call 0165eh ; e8 67 c2 7609 7614 mov AL, strict byte 0aeh ; b0 ae 7610 7615 mov dx, strict word 00064h ; ba 64 00 7611 7616 out DX, AL ; ee 7612 call 0e034h ; e8 888c7617 call 0e034h ; e8 34 8c 7613 7618 mov dx, strict word 00018h ; ba 18 00 7614 7619 mov ax, strict word 00040h ; b8 40 00 7615 call 01650h ; e8 9bc27620 call 01650h ; e8 47 c2 7616 7621 test AL, strict byte 008h ; a8 08 7617 jne short 05 3ach ; 75 f37618 jmp near 052 30h ; e9 74 fe7622 jne short 05400h ; 75 f3 7623 jmp near 05284h ; e9 74 fe 7619 7624 test byte [bp-004h], 003h ; f6 46 fc 03 7620 je short 05 3c5h ; 74 037621 jmp near 052 30h ; e9 6b fe7625 je short 05419h ; 74 03 7626 jmp near 05284h ; e9 6b fe 7622 7627 mov al, byte [bp-010h] ; 8a 46 f0 7623 7628 and AL, strict byte 0dfh ; 24 df … … 7627 7632 mov dx, strict word 00018h ; ba 18 00 7628 7633 mov ax, strict word 00040h ; b8 40 00 7629 call 0165eh ; e8 84c27630 jmp short 05 3c2h ; eb e67634 call 0165eh ; e8 30 c2 7635 jmp short 05416h ; eb e6 7631 7636 test byte [bp-004h], 002h ; f6 46 fc 02 7632 je short 054 15h ; 74 337637 je short 05469h ; 74 33 7633 7638 mov dx, strict word 0001ah ; ba 1a 00 7634 7639 mov ax, strict word 00040h ; b8 40 00 7635 call 0166ch ; e8 81c27640 call 0166ch ; e8 2d c2 7636 7641 mov bx, ax ; 89 c3 7637 7642 mov dx, strict word 0001ch ; ba 1c 00 7638 7643 mov ax, strict word 00040h ; b8 40 00 7639 call 0167ah ; e8 84c27644 call 0167ah ; e8 30 c2 7640 7645 mov bx, 00080h ; bb 80 00 7641 7646 mov dx, strict word 00071h ; ba 71 00 7642 7647 mov ax, strict word 00040h ; b8 40 00 7643 call 0165eh ; e8 5cc27648 call 0165eh ; e8 08 c2 7644 7649 mov AL, strict byte 0aeh ; b0 ae 7645 7650 mov dx, strict word 00064h ; ba 64 00 … … 7650 7655 xor dx, dx ; 31 d2 7651 7656 xor ax, ax ; 31 c0 7652 call 05 0c1h ; e8 ae fc7653 jmp short 05 3c2h ; eb ad7657 call 05115h ; e8 ae fc 7658 jmp short 05416h ; eb ad 7654 7659 mov al, byte [bp-010h] ; 8a 46 f0 7655 7660 or AL, strict byte 010h ; 0c 10 … … 7659 7664 mov dx, strict word 00018h ; ba 18 00 7660 7665 mov ax, strict word 00040h ; b8 40 00 7661 call 0165eh ; e8 34 c27666 call 0165eh ; e8 e0 c1 7662 7667 mov al, byte [bp-006h] ; 8a 46 fa 7663 7668 xor AL, strict byte 010h ; 34 10 … … 7667 7672 mov dx, strict word 00017h ; ba 17 00 7668 7673 mov ax, strict word 00040h ; b8 40 00 7669 call 0165eh ; e8 1f c27670 jmp short 05 3c2h ; eb 817674 call 0165eh ; e8 cb c1 7675 jmp short 05416h ; eb 81 7671 7676 test byte [bp-004h], 002h ; f6 46 fc 02 7672 je short 054 4ah ; 74 037673 jmp near 052 30h ; e9 e6 fd7677 je short 0549eh ; 74 03 7678 jmp near 05284h ; e9 e6 fd 7674 7679 mov al, byte [bp-010h] ; 8a 46 f0 7675 7680 and AL, strict byte 0efh ; 24 ef … … 7679 7684 mov dx, strict word 00018h ; ba 18 00 7680 7685 mov ax, strict word 00040h ; b8 40 00 7681 call 0165eh ; e8 ffc17682 jmp short 054 47h ; eb e67686 call 0165eh ; e8 ab c1 7687 jmp short 0549bh ; eb e6 7683 7688 mov al, byte [bp-010h] ; 8a 46 f0 7684 7689 test AL, strict byte 004h ; a8 04 7685 jne short 054 47h ; 75 df7690 jne short 0549bh ; 75 df 7686 7691 or AL, strict byte 004h ; 0c 04 7687 7692 mov byte [bp-008h], al ; 88 46 f8 … … 7690 7695 mov dx, strict word 00018h ; ba 18 00 7691 7696 mov ax, strict word 00040h ; b8 40 00 7692 call 0165eh ; e8 e4c17693 jmp short 054 47h ; eb cb7697 call 0165eh ; e8 90 c1 7698 jmp short 0549bh ; eb cb 7694 7699 mov al, byte [bp-010h] ; 8a 46 f0 7695 7700 and AL, strict byte 0fbh ; 24 fb 7696 jmp short 054 4fh ; eb cc7701 jmp short 054a3h ; eb cc 7697 7702 mov al, byte [bp-006h] ; 8a 46 fa 7698 7703 and AL, strict byte 00ch ; 24 0c 7699 7704 cmp AL, strict byte 00ch ; 3c 0c 7700 jne short 054 9dh ; 75 117705 jne short 054f1h ; 75 11 7701 7706 mov bx, 01234h ; bb 34 12 7702 7707 mov dx, strict word 00072h ; ba 72 00 7703 7708 mov ax, strict word 00040h ; b8 40 00 7704 call 0167ah ; e8 e2c17709 call 0167ah ; e8 8e c1 7705 7710 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 7706 7711 test byte [bp-008h], 008h ; f6 46 f8 08 7707 je short 05 4b2h ; 74 0f7712 je short 05506h ; 74 0f 7708 7713 and byte [bp-008h], 0f7h ; 80 66 f8 f7 7709 7714 mov bl, byte [bp-008h] ; 8a 5e f8 7710 7715 xor bh, bh ; 30 ff 7711 7716 mov dx, strict word 00018h ; ba 18 00 7712 jmp near 052 49h ; e9 97 fd7717 jmp near 0529dh ; e9 97 fd 7713 7718 mov al, byte [bp-00ah] ; 8a 46 f6 7714 7719 test AL, strict byte 080h ; a8 80 7715 je short 05 4f0h ; 74 377720 je short 05544h ; 74 37 7716 7721 cmp AL, strict byte 0fah ; 3c fa 7717 jne short 05 4cfh ; 75 127722 jne short 05523h ; 75 12 7718 7723 mov dx, 00097h ; ba 97 00 7719 7724 mov ax, strict word 00040h ; b8 40 00 7720 call 01650h ; e8 8ac17725 call 01650h ; e8 36 c1 7721 7726 mov bl, al ; 88 c3 7722 7727 or bl, 010h ; 80 cb 10 7723 7728 xor bh, bh ; 30 ff 7724 jmp short 05 4e5h ; eb 167729 jmp short 05539h ; eb 16 7725 7730 cmp AL, strict byte 0feh ; 3c fe 7726 je short 05 4d6h ; 74 037727 jmp near 052 30h ; e9 5a fd7731 je short 0552ah ; 74 03 7732 jmp near 05284h ; e9 5a fd 7728 7733 mov dx, 00097h ; ba 97 00 7729 7734 mov ax, strict word 00040h ; b8 40 00 7730 call 01650h ; e8 71c17735 call 01650h ; e8 1d c1 7731 7736 or AL, strict byte 020h ; 0c 20 7732 7737 xor ah, ah ; 30 e4 … … 7734 7739 mov dx, 00097h ; ba 97 00 7735 7740 mov ax, strict word 00040h ; b8 40 00 7736 call 0165eh ; e8 70c17737 jmp short 05 4d3h ; eb e37741 call 0165eh ; e8 1c c1 7742 jmp short 05527h ; eb e3 7738 7743 cmp byte [bp-00ah], 058h ; 80 7e f6 58 7739 jbe short 055 15h ; 76 1f7744 jbe short 05569h ; 76 1f 7740 7745 mov bx, 00da0h ; bb a0 0d 7741 7746 mov cx, ds ; 8c d9 7742 7747 mov ax, strict word 00004h ; b8 04 00 7743 call 01923h ; e8 22 c47748 call 01923h ; e8 ce c3 7744 7749 mov al, byte [bp-00ah] ; 8a 46 f6 7745 7750 xor ah, ah ; 30 e4 … … 7747 7752 push 005a1h ; 68 a1 05 7748 7753 push strict byte 00004h ; 6a 04 7749 call 01966h ; e8 57c47754 call 01966h ; e8 03 c4 7750 7755 add sp, strict byte 00006h ; 83 c4 06 7751 jmp near 052 4fh ; e9 3a fd7756 jmp near 052a3h ; e9 3a fd 7752 7757 mov al, byte [bp-00eh] ; 8a 46 f2 7753 7758 test AL, strict byte 008h ; a8 08 7754 je short 055 2fh ; 74 137759 je short 05583h ; 74 13 7755 7760 mov al, byte [bp-00ah] ; 8a 46 f6 7756 7761 xor ah, ah ; 30 e4 … … 7758 7763 mov dl, byte [bx+00df4h] ; 8a 97 f4 0d 7759 7764 mov ax, word [bx+00df4h] ; 8b 87 f4 0d 7760 jmp near 05 5bfh ; e9 90 007765 jmp near 05613h ; e9 90 00 7761 7766 test AL, strict byte 004h ; a8 04 7762 je short 055 46h ; 74 137767 je short 0559ah ; 74 13 7763 7768 mov al, byte [bp-00ah] ; 8a 46 f6 7764 7769 xor ah, ah ; 30 e4 … … 7766 7771 mov dl, byte [bx+00df2h] ; 8a 97 f2 0d 7767 7772 mov ax, word [bx+00df2h] ; 8b 87 f2 0d 7768 jmp near 05 5bfh ; e9 79 007773 jmp near 05613h ; e9 79 00 7769 7774 mov al, byte [bp-00ch] ; 8a 46 f4 7770 7775 and AL, strict byte 002h ; 24 02 7771 7776 test al, al ; 84 c0 7772 jbe short 055 63h ; 76 147777 jbe short 055b7h ; 76 14 7773 7778 mov al, byte [bp-00ah] ; 8a 46 f6 7774 7779 cmp AL, strict byte 047h ; 3c 47 7775 jc short 055 63h ; 72 0d7780 jc short 055b7h ; 72 0d 7776 7781 cmp AL, strict byte 053h ; 3c 53 7777 jnbe short 055 63h ; 77 097782 jnbe short 055b7h ; 77 09 7778 7783 mov DL, strict byte 0e0h ; b2 e0 7779 7784 xor ah, ah ; 30 e4 7780 7785 imul bx, ax, strict byte 0000ah ; 6b d8 0a 7781 jmp short 05 5bbh ; eb 587786 jmp short 0560fh ; eb 58 7782 7787 test byte [bp-00eh], 003h ; f6 46 f2 03 7783 je short 055 98h ; 74 2f7788 je short 055ech ; 74 2f 7784 7789 mov al, byte [bp-00ah] ; 8a 46 f6 7785 7790 xor ah, ah ; 30 e4 … … 7789 7794 mov al, byte [bp-00eh] ; 8a 46 f2 7790 7795 test ax, dx ; 85 d0 7791 je short 055 88h ; 74 0a7796 je short 055dch ; 74 0a 7792 7797 mov dl, byte [bx+00deeh] ; 8a 97 ee 0d 7793 7798 mov ax, word [bx+00deeh] ; 8b 87 ee 0d 7794 jmp short 055 90h ; eb 087799 jmp short 055e4h ; eb 08 7795 7800 mov dl, byte [bx+00df0h] ; 8a 97 f0 0d 7796 7801 mov ax, word [bx+00df0h] ; 8b 87 f0 0d 7797 7802 shr ax, 008h ; c1 e8 08 7798 7803 mov byte [bp-00ah], al ; 88 46 f6 7799 jmp short 05 5c5h ; eb 2d7804 jmp short 05619h ; eb 2d 7800 7805 mov al, byte [bp-00ah] ; 8a 46 f6 7801 7806 xor ah, ah ; 30 e4 … … 7805 7810 mov al, byte [bp-00eh] ; 8a 46 f2 7806 7811 test ax, dx ; 85 d0 7807 je short 05 5b7h ; 74 0a7812 je short 0560bh ; 74 0a 7808 7813 mov dl, byte [bx+00df0h] ; 8a 97 f0 0d 7809 7814 mov ax, word [bx+00df0h] ; 8b 87 f0 0d 7810 jmp short 05 5bfh ; eb 087815 jmp short 05613h ; eb 08 7811 7816 mov dl, byte [bx+00deeh] ; 8a 97 ee 0d 7812 7817 mov ax, word [bx+00deeh] ; 8b 87 ee 0d … … 7814 7819 mov byte [bp-00ah], al ; 88 46 f6 7815 7820 cmp byte [bp-00ah], 000h ; 80 7e f6 00 7816 jne short 05 5e5h ; 75 1a7821 jne short 05639h ; 75 1a 7817 7822 test dl, dl ; 84 d2 7818 jne short 05 5e5h ; 75 167823 jne short 05639h ; 75 16 7819 7824 mov bx, 00da0h ; bb a0 0d 7820 7825 mov cx, ds ; 8c d9 7821 7826 mov ax, strict word 00004h ; b8 04 00 7822 call 01923h ; e8 49 c37827 call 01923h ; e8 f5 c2 7823 7828 push 005d8h ; 68 d8 05 7824 7829 push strict byte 00004h ; 6a 04 7825 call 01966h ; e8 84c37830 call 01966h ; e8 30 c3 7826 7831 add sp, strict byte 00004h ; 83 c4 04 7827 7832 mov bl, dl ; 88 d3 … … 7830 7835 xor ah, ah ; 30 e4 7831 7836 mov dx, bx ; 89 da 7832 jmp near 054 10h ; e9 1d fe7833 dequeue_key_: ; 0xf5 5f3LB 0x947837 jmp near 05464h ; e9 1d fe 7838 dequeue_key_: ; 0xf5647 LB 0x94 7834 7839 push bp ; 55 7835 7840 mov bp, sp ; 89 e5 … … 7844 7849 mov dx, strict word 0001ah ; ba 1a 00 7845 7850 mov ax, strict word 00040h ; b8 40 00 7846 call 0166ch ; e8 5fc07851 call 0166ch ; e8 0b c0 7847 7852 mov bx, ax ; 89 c3 7848 7853 mov dx, strict word 0001ch ; ba 1c 00 7849 7854 mov ax, strict word 00040h ; b8 40 00 7850 call 0166ch ; e8 54c07855 call 0166ch ; e8 00 c0 7851 7856 cmp bx, ax ; 39 c3 7852 je short 056 59h ; 74 3d7857 je short 056adh ; 74 3d 7853 7858 mov dx, bx ; 89 da 7854 7859 mov ax, strict word 00040h ; b8 40 00 7855 call 01650h ; e8 2c c07860 call 01650h ; e8 d8 bf 7856 7861 mov cl, al ; 88 c1 7857 7862 lea dx, [bx+001h] ; 8d 57 01 7858 7863 mov ax, strict word 00040h ; b8 40 00 7859 call 01650h ; e8 21 c07864 call 01650h ; e8 cd bf 7860 7865 mov es, [bp-008h] ; 8e 46 f8 7861 7866 mov byte [es:si], cl ; 26 88 0c … … 7863 7868 mov byte [es:di], al ; 26 88 05 7864 7869 cmp word [bp+004h], strict byte 00000h ; 83 7e 04 00 7865 je short 056 54h ; 74 137870 je short 056a8h ; 74 13 7866 7871 inc bx ; 43 7867 7872 inc bx ; 43 7868 7873 cmp bx, strict byte 0003eh ; 83 fb 3e 7869 jc short 056 4bh ; 72 037874 jc short 0569fh ; 72 03 7870 7875 mov bx, strict word 0001eh ; bb 1e 00 7871 7876 mov dx, strict word 0001ah ; ba 1a 00 7872 7877 mov ax, strict word 00040h ; b8 40 00 7873 call 0167ah ; e8 26 c07878 call 0167ah ; e8 d2 bf 7874 7879 mov ax, strict word 00001h ; b8 01 00 7875 jmp short 056 5bh ; eb 027880 jmp short 056afh ; eb 02 7876 7881 xor ax, ax ; 31 c0 7877 7882 lea sp, [bp-004h] ; 8d 66 fc … … 7884 7889 or cl, byte [bx+di] ; 0a 09 7885 7890 add ax, 00102h ; 05 02 01 7886 add byte [bx+di+04057h], cl ; 00 89 57 407891 add ch, bl ; 00 dd 7887 7892 push di ; 57 7888 rcl byte [bx+01eh], CL ; d2 57 1e 7893 xchg sp, ax ; 94 7894 push di ; 57 7895 db 026h, 058h 7896 ; es pop ax ; 26 58 7897 jc short 05723h ; 72 58 7898 sbb word [bx+si-054h], strict byte 00058h ; 83 58 ac 58 7899 mov CH, strict byte 058h ; b5 58 7900 db 026h, 059h 7901 ; es pop cx ; 26 59 7889 7902 pop ax ; 58 7890 das ; 2f 7903 pop cx ; 59 7904 xchg word [bx+di-040h], bx ; 87 59 c0 7905 pop cx ; 59 7906 db 020h 7891 7907 pop ax ; 58 7892 pop ax ; 58 7893 pop ax ; 58 7894 popaw ; 61 7895 pop ax ; 58 7896 rcr byte [bx+si+004h], CL ; d2 58 04 7897 pop cx ; 59 7898 xor bx, word [bx+di+06ch] ; 33 59 6c 7899 pop cx ; 59 7900 int3 ; cc 7901 push di ; 57 7902 _int16_function: ; 0xf5687 LB 0x2f0 7908 _int16_function: ; 0xf56db LB 0x2f0 7903 7909 push bp ; 55 7904 7910 mov bp, sp ; 89 e5 … … 7907 7913 mov dx, strict word 00017h ; ba 17 00 7908 7914 mov ax, strict word 00040h ; b8 40 00 7909 call 01650h ; e8 b9bf7915 call 01650h ; e8 65 bf 7910 7916 mov cl, al ; 88 c1 7911 7917 mov bh, al ; 88 c7 7912 7918 mov dx, 00097h ; ba 97 00 7913 7919 mov ax, strict word 00040h ; b8 40 00 7914 call 01650h ; e8 acbf7920 call 01650h ; e8 58 bf 7915 7921 mov bl, al ; 88 c3 7916 7922 mov dl, cl ; 88 ca … … 7922 7928 xor al, dl ; 30 d0 7923 7929 test ax, ax ; 85 c0 7924 je short 057 20h ; 74 667930 je short 05774h ; 74 66 7925 7931 cli ; fa 7926 7932 mov AL, strict byte 0edh ; b0 ed … … 7932 7938 ; sub ah, ah ; 2a e4 7933 7939 test AL, strict byte 001h ; a8 01 7934 jne short 05 6d3h ; 75 087940 jne short 05727h ; 75 08 7935 7941 mov AL, strict byte 021h ; b0 21 7936 7942 mov dx, 00080h ; ba 80 00 7937 7943 out DX, AL ; ee 7938 jmp short 05 6c1h ; eb ee7944 jmp short 05715h ; eb ee 7939 7945 mov dx, strict word 00060h ; ba 60 00 7940 7946 in AL, DX ; ec … … 7942 7948 ; sub ah, ah ; 2a e4 7943 7949 cmp ax, 000fah ; 3d fa 00 7944 jne short 057 1fh ; 75 417950 jne short 05773h ; 75 41 7945 7951 mov dl, bl ; 88 da 7946 7952 and dl, 0c8h ; 80 e2 c8 … … 7962 7968 ; sub ah, ah ; 2a e4 7963 7969 test AL, strict byte 001h ; a8 01 7964 jne short 057 0eh ; 75 087970 jne short 05762h ; 75 08 7965 7971 mov AL, strict byte 021h ; b0 21 7966 7972 mov dx, 00080h ; ba 80 00 7967 7973 out DX, AL ; ee 7968 jmp short 05 6fch ; eb ee7974 jmp short 05750h ; eb ee 7969 7975 mov dx, strict word 00060h ; ba 60 00 7970 7976 in AL, DX ; ec … … 7974 7980 mov dx, 00097h ; ba 97 00 7975 7981 mov ax, strict word 00040h ; b8 40 00 7976 call 0165eh ; e8 3f bf7982 call 0165eh ; e8 eb be 7977 7983 sti ; fb 7978 7984 mov ax, word [bp+012h] ; 8b 46 12 7979 7985 shr ax, 008h ; c1 e8 08 7980 7986 cmp ax, 000a2h ; 3d a2 00 7981 jnbe short 057 89h ; 77 5e7987 jnbe short 057ddh ; 77 5e 7982 7988 push CS ; 0e 7983 7989 pop ES ; 07 7984 7990 mov cx, strict word 0000ch ; b9 0c 00 7985 mov di, 056 64h ; bf 64567991 mov di, 056b8h ; bf b8 56 7986 7992 repne scasb ; f2 ae 7987 7993 sal cx, 1 ; d1 e1 7988 7994 mov di, cx ; 89 cf 7989 mov ax, word [cs:di+056 6fh] ; 2e 8b 85 6f567995 mov ax, word [cs:di+056c3h] ; 2e 8b 85 c3 56 7990 7996 jmp ax ; ff e0 7991 7997 push strict byte 00001h ; 6a 01 … … 7994 8000 mov dx, ss ; 8c d2 7995 8001 lea ax, [bp-006h] ; 8d 46 fa 7996 call 05 5f3h ; e8 a4 fe8002 call 05647h ; e8 a4 fe 7997 8003 test ax, ax ; 85 c0 7998 jne short 057 5eh ; 75 0b8004 jne short 057b2h ; 75 0b 7999 8005 push 0060fh ; 68 0f 06 8000 8006 push strict byte 00007h ; 6a 07 8001 call 01966h ; e8 0b c28007 call 01966h ; e8 b7 c1 8002 8008 add sp, strict byte 00004h ; 83 c4 04 8003 8009 cmp byte [bp-006h], 000h ; 80 7e fa 00 8004 je short 057 6ah ; 74 068010 je short 057beh ; 74 06 8005 8011 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 8006 je short 057 70h ; 74 068012 je short 057c4h ; 74 06 8007 8013 cmp byte [bp-008h], 0e0h ; 80 7e f8 e0 8008 jne short 057 74h ; 75 048014 jne short 057c8h ; 75 04 8009 8015 mov byte [bp-008h], 000h ; c6 46 f8 00 8010 8016 mov al, byte [bp-006h] ; 8a 46 fa … … 8015 8021 or dx, ax ; 09 c2 8016 8022 mov word [bp+012h], dx ; 89 56 12 8017 jmp near 05 7cch ; e9 43 008023 jmp near 05820h ; e9 43 00 8018 8024 mov bx, 00da0h ; bb a0 0d 8019 8025 mov cx, ds ; 8c d9 8020 8026 mov ax, strict word 00004h ; b8 04 00 8021 call 01923h ; e8 8fc18027 call 01923h ; e8 3b c1 8022 8028 mov ax, word [bp+012h] ; 8b 46 12 8023 8029 shr ax, 008h ; c1 e8 08 … … 8025 8031 push 00633h ; 68 33 06 8026 8032 push strict byte 00004h ; 6a 04 8027 call 01966h ; e8 c3c18033 call 01966h ; e8 6f c1 8028 8034 add sp, strict byte 00006h ; 83 c4 06 8029 8035 mov bx, 00da0h ; bb a0 0d 8030 8036 mov cx, ds ; 8c d9 8031 8037 mov ax, strict word 00004h ; b8 04 00 8032 call 01923h ; e8 72c18038 call 01923h ; e8 1e c1 8033 8039 mov ax, word [bp+00eh] ; 8b 46 0e 8034 8040 push ax ; 50 … … 8041 8047 push 0065bh ; 68 5b 06 8042 8048 push strict byte 00004h ; 6a 04 8043 call 01966h ; e8 9dc18049 call 01966h ; e8 49 c1 8044 8050 add sp, strict byte 0000ch ; 83 c4 0c 8045 8051 lea sp, [bp-002h] ; 8d 66 fe … … 8053 8059 mov dx, ss ; 8c d2 8054 8060 lea ax, [bp-006h] ; 8d 46 fa 8055 call 05 5f3h ; e8 0d fe8061 call 05647h ; e8 0d fe 8056 8062 test ax, ax ; 85 c0 8057 jne short 05 7f0h ; 75 068063 jne short 05844h ; 75 06 8058 8064 or word [bp+01ch], strict byte 00040h ; 83 4e 1c 40 8059 jmp short 05 7cch ; eb dc8065 jmp short 05820h ; eb dc 8060 8066 cmp byte [bp-006h], 000h ; 80 7e fa 00 8061 je short 05 7fch ; 74 068067 je short 05850h ; 74 06 8062 8068 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 8063 je short 058 02h ; 74 068069 je short 05856h ; 74 06 8064 8070 cmp byte [bp-008h], 0e0h ; 80 7e f8 e0 8065 jne short 058 06h ; 75 048071 jne short 0585ah ; 75 04 8066 8072 mov byte [bp-008h], 000h ; c6 46 f8 00 8067 8073 mov al, byte [bp-006h] ; 8a 46 fa … … 8073 8079 mov word [bp+012h], dx ; 89 56 12 8074 8080 and word [bp+01ch], strict byte 0ffbfh ; 83 66 1c bf 8075 jmp short 05 7cch ; eb ae8081 jmp short 05820h ; eb ae 8076 8082 mov dx, strict word 00017h ; ba 17 00 8077 8083 mov ax, strict word 00040h ; b8 40 00 8078 call 01650h ; e8 29 be8084 call 01650h ; e8 d5 bd 8079 8085 mov dx, word [bp+012h] ; 8b 56 12 8080 8086 mov dl, al ; 88 c2 8081 jmp near 057 83h ; e9 54 ff8087 jmp near 057d7h ; e9 54 ff 8082 8088 mov dl, byte [bp+010h] ; 8a 56 10 8083 8089 xor dh, dh ; 30 f6 … … 8085 8091 shr ax, 008h ; c1 e8 08 8086 8092 xor ah, ah ; 30 e4 8087 call 05 0c1h ; e8 82 f88093 call 05115h ; e8 82 f8 8088 8094 test ax, ax ; 85 c0 8089 jne short 058 50h ; 75 0d8095 jne short 058a4h ; 75 0d 8090 8096 mov ax, word [bp+012h] ; 8b 46 12 8091 8097 xor al, al ; 30 c0 8092 8098 or AL, strict byte 001h ; 0c 01 8093 8099 mov word [bp+012h], ax ; 89 46 12 8094 jmp near 05 7cch ; e9 7c ff8100 jmp near 05820h ; e9 7c ff 8095 8101 and word [bp+012h], 0ff00h ; 81 66 12 00 ff 8096 jmp near 05 7cch ; e9 74 ff8102 jmp near 05820h ; e9 74 ff 8097 8103 mov ax, word [bp+012h] ; 8b 46 12 8098 8104 xor al, al ; 30 c0 8099 8105 or AL, strict byte 030h ; 0c 30 8100 jmp short 058 4ah ; eb e98106 jmp short 0589eh ; eb e9 8101 8107 mov byte [bp-004h], 002h ; c6 46 fc 02 8102 8108 xor cx, cx ; 31 c9 … … 8111 8117 ; sub ah, ah ; 2a e4 8112 8118 test AL, strict byte 001h ; a8 01 8113 jne short 058 88h ; 75 0d8119 jne short 058dch ; 75 0d 8114 8120 dec bx ; 4b 8115 8121 test bx, bx ; 85 db 8116 jbe short 058 88h ; 76 088122 jbe short 058dch ; 76 08 8117 8123 mov dx, 00080h ; ba 80 00 8118 8124 in AL, DX ; ec 8119 8125 db 02ah, 0e4h 8120 8126 ; sub ah, ah ; 2a e4 8121 jmp short 058 71h ; eb e98127 jmp short 058c5h ; eb e9 8122 8128 test bx, bx ; 85 db 8123 jbe short 05 8cch ; 76 408129 jbe short 05920h ; 76 40 8124 8130 mov dx, strict word 00060h ; ba 60 00 8125 8131 in AL, DX ; ec … … 8127 8133 ; sub ah, ah ; 2a e4 8128 8134 cmp ax, 000fah ; 3d fa 00 8129 jne short 05 8cch ; 75 358135 jne short 05920h ; 75 35 8130 8136 mov bx, strict word 0ffffh ; bb ff ff 8131 8137 mov dx, strict word 00064h ; ba 64 00 … … 8134 8140 ; sub ah, ah ; 2a e4 8135 8141 test AL, strict byte 001h ; a8 01 8136 jne short 05 8b1h ; 75 0d8142 jne short 05905h ; 75 0d 8137 8143 dec bx ; 4b 8138 8144 test bx, bx ; 85 db 8139 jbe short 05 8b1h ; 76 088145 jbe short 05905h ; 76 08 8140 8146 mov dx, 00080h ; ba 80 00 8141 8147 in AL, DX ; ec 8142 8148 db 02ah, 0e4h 8143 8149 ; sub ah, ah ; 2a e4 8144 jmp short 058 9ah ; eb e98150 jmp short 058eeh ; eb e9 8145 8151 test bx, bx ; 85 db 8146 jbe short 05 8c3h ; 76 0e8152 jbe short 05917h ; 76 0e 8147 8153 shr cx, 008h ; c1 e9 08 8148 8154 mov dx, strict word 00060h ; ba 60 00 … … 8154 8160 dec byte [bp-004h] ; fe 4e fc 8155 8161 cmp byte [bp-004h], 000h ; 80 7e fc 00 8156 jnbe short 058 97h ; 77 cb8162 jnbe short 058ebh ; 77 cb 8157 8163 mov word [bp+00ch], cx ; 89 4e 0c 8158 jmp near 05 7cch ; e9 fa fe8164 jmp near 05820h ; e9 fa fe 8159 8165 push strict byte 00001h ; 6a 01 8160 8166 mov cx, ss ; 8c d1 … … 8162 8168 mov dx, ss ; 8c d2 8163 8169 lea ax, [bp-006h] ; 8d 46 fa 8164 call 05 5f3h ; e8 12 fd8170 call 05647h ; e8 12 fd 8165 8171 test ax, ax ; 85 c0 8166 jne short 05 8f0h ; 75 0b8172 jne short 05944h ; 75 0b 8167 8173 push 0060fh ; 68 0f 06 8168 8174 push strict byte 00007h ; 6a 07 8169 call 01966h ; e8 79c08175 call 01966h ; e8 25 c0 8170 8176 add sp, strict byte 00004h ; 83 c4 04 8171 8177 cmp byte [bp-006h], 000h ; 80 7e fa 00 8172 jne short 05 8f9h ; 75 038173 jmp near 057 74h ; e9 7b fe8178 jne short 0594dh ; 75 03 8179 jmp near 057c8h ; e9 7b fe 8174 8180 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 8175 jne short 059 02h ; 75 038176 jmp near 057 70h ; e9 6e fe8177 jmp short 05 8f6h ; eb f28181 jne short 05956h ; 75 03 8182 jmp near 057c4h ; e9 6e fe 8183 jmp short 0594ah ; eb f2 8178 8184 or word [bp+01ch], 00200h ; 81 4e 1c 00 02 8179 8185 push strict byte 00000h ; 6a 00 … … 8182 8188 mov dx, ss ; 8c d2 8183 8189 lea ax, [bp-006h] ; 8d 46 fa 8184 call 05 5f3h ; e8 db fc8190 call 05647h ; e8 db fc 8185 8191 test ax, ax ; 85 c0 8186 jne short 059 1fh ; 75 038187 jmp near 05 7eah ; e9 cb fe8192 jne short 05973h ; 75 03 8193 jmp near 0583eh ; e9 cb fe 8188 8194 cmp byte [bp-006h], 000h ; 80 7e fa 00 8189 jne short 059 28h ; 75 038190 jmp near 058 06h ; e9 de fe8195 jne short 0597ch ; 75 03 8196 jmp near 0585ah ; e9 de fe 8191 8197 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 8192 jne short 059 31h ; 75 038193 jmp near 058 02h ; e9 d1 fe8194 jmp short 059 25h ; eb f28198 jne short 05985h ; 75 03 8199 jmp near 05856h ; e9 d1 fe 8200 jmp short 05979h ; eb f2 8195 8201 mov dx, strict word 00017h ; ba 17 00 8196 8202 mov ax, strict word 00040h ; b8 40 00 8197 call 01650h ; e8 14 bd8203 call 01650h ; e8 c0 bc 8198 8204 mov dx, word [bp+012h] ; 8b 56 12 8199 8205 mov dl, al ; 88 c2 … … 8201 8207 mov dx, strict word 00018h ; ba 18 00 8202 8208 mov ax, strict word 00040h ; b8 40 00 8203 call 01650h ; e8 03 bd8209 call 01650h ; e8 af bc 8204 8210 mov bh, al ; 88 c7 8205 8211 and bh, 073h ; 80 e7 73 8206 8212 mov dx, 00096h ; ba 96 00 8207 8213 mov ax, strict word 00040h ; b8 40 00 8208 call 01650h ; e8 f5bc8214 call 01650h ; e8 a1 bc 8209 8215 and AL, strict byte 00ch ; 24 0c 8210 8216 or al, bh ; 08 f8 … … 8213 8219 xor ah, ah ; 30 e4 8214 8220 sal ax, 008h ; c1 e0 08 8215 jmp near 057 81h ; e9 15 fe8221 jmp near 057d5h ; e9 15 fe 8216 8222 mov ax, word [bp+012h] ; 8b 46 12 8217 8223 xor ah, ah ; 30 e4 8218 8224 or ah, 080h ; 80 cc 80 8219 jmp near 058 4ah ; e9 d3 fe8220 set_geom_lba_: ; 0xf59 77LB 0xe78225 jmp near 0589eh ; e9 d3 fe 8226 set_geom_lba_: ; 0xf59cb LB 0xe7 8221 8227 push bx ; 53 8222 8228 push cx ; 51 … … 8234 8240 mov dx, word [bp+00ch] ; 8b 56 0c 8235 8241 mov si, strict word 00020h ; be 20 00 8236 call 09f 80h ; e8 dc458242 call 09fd0h ; e8 d8 45 8237 8243 test ax, ax ; 85 c0 8238 jne short 05 9b4h ; 75 0c8244 jne short 05a08h ; 75 0c 8239 8245 test bx, bx ; 85 db 8240 jne short 05 9b4h ; 75 088246 jne short 05a08h ; 75 08 8241 8247 test cx, cx ; 85 c9 8242 jne short 05 9b4h ; 75 048248 jne short 05a08h ; 75 04 8243 8249 test dx, dx ; 85 d2 8244 je short 05 9bbh ; 74 078250 je short 05a0fh ; 74 07 8245 8251 mov bx, strict word 0ffffh ; bb ff ff 8246 8252 mov si, bx ; 89 de 8247 jmp short 05 9c1h ; eb 068253 jmp short 05a15h ; eb 06 8248 8254 mov bx, word [bp+00ch] ; 8b 5e 0c 8249 8255 mov si, word [bp+00eh] ; 8b 76 0e 8250 8256 mov word [bp-004h], bx ; 89 5e fc 8251 8257 xor bx, bx ; 31 db 8252 jmp short 05 9cdh ; eb 058258 jmp short 05a21h ; eb 05 8253 8259 cmp bx, strict byte 00004h ; 83 fb 04 8254 jnl short 05 9f0h ; 7d 238260 jnl short 05a44h ; 7d 23 8255 8261 mov ax, word [bp-006h] ; 8b 46 fa 8256 8262 cmp si, ax ; 39 c6 8257 jc short 05 9deh ; 72 0a8258 jne short 05 9e7h ; 75 118263 jc short 05a32h ; 72 0a 8264 jne short 05a3bh ; 75 11 8259 8265 mov ax, word [bp-004h] ; 8b 46 fc 8260 8266 cmp ax, word [bp-008h] ; 3b 46 f8 8261 jnbe short 05 9e7h ; 77 098267 jnbe short 05a3bh ; 77 09 8262 8268 mov ax, word [bp-002h] ; 8b 46 fe 8263 8269 inc ax ; 40 … … 8267 8273 rcr word [bp-008h], 1 ; d1 5e f8 8268 8274 inc bx ; 43 8269 jmp short 05 9c8h ; eb d88275 jmp short 05a1ch ; eb d8 8270 8276 mov ax, word [bp-002h] ; 8b 46 fe 8271 8277 xor dx, dx ; 31 d2 8272 8278 mov bx, strict word 0003fh ; bb 3f 00 8273 8279 xor cx, cx ; 31 c9 8274 call 09f 30h ; e8 33458280 call 09f80h ; e8 2f 45 8275 8281 mov bx, ax ; 89 c3 8276 8282 mov cx, dx ; 89 d1 8277 8283 mov ax, word [bp-004h] ; 8b 46 fc 8278 8284 mov dx, si ; 89 f2 8279 call 09f 50h ; e8 47458285 call 09fa0h ; e8 43 45 8280 8286 mov word [es:di+002h], ax ; 26 89 45 02 8281 8287 cmp ax, 00400h ; 3d 00 04 8282 jbe short 05a 18h ; 76 068288 jbe short 05a6ch ; 76 06 8283 8289 mov word [es:di+002h], 00400h ; 26 c7 45 02 00 04 8284 8290 mov ax, word [bp-002h] ; 8b 46 fe … … 8291 8297 pop bx ; 5b 8292 8298 retn 00008h ; c2 08 00 8293 out strict byte 05ah, AL ; e6 5a 8294 neg word [bp+si+026h] ; f7 5a 26 8299 cmp bl, byte [bp+di+04bh] ; 3a 5b 4b 8295 8300 pop bx ; 5b 8296 db 026h, 05bh 8297 ; es pop bx ; 26 5b 8298 db 026h, 05bh 8299 ; es pop bx ; 26 5b 8300 push SS ; 16 8301 jp short 05ae1h ; 7a 5b 8302 jp short 05ae3h ; 7a 5b 8303 jp short 05ae5h ; 7a 5b 8304 push strict byte 0005dh ; 6a 5d 8305 mov word [0a35eh], ax ; a3 5e a3 8306 pop si ; 5e 8307 xchg di, ax ; 97 8301 8308 pop bp ; 5d 8302 dec di ; 4f 8309 sbb byte [bp-05dh], 05eh ; 80 5e a3 5e 8310 mov word [0805eh], ax ; a3 5e 80 8303 8311 pop si ; 5e 8304 dec di ; 4f 8312 sbb byte [bp-05dh], 05eh ; 80 5e a3 5e 8313 mov word [0025eh], ax ; a3 5e 02 8305 8314 pop si ; 5e 8306 inc bx ; 43 8307 pop bp ; 5d 8308 sub AL, strict byte 05eh ; 2c 5e 8309 dec di ; 4f 8315 sbb byte [bp-05dh], 05eh ; 80 5e a3 5e 8316 mov word [0805eh], ax ; a3 5e 80 8310 8317 pop si ; 5e 8311 dec di ; 4f8318 xor bx, word [bp-05dh] ; 33 5e a3 8312 8319 pop si ; 5e 8313 sub AL, strict byte 05eh ; 2c 5e 8314 sub AL, strict byte 05eh ; 2c 5e 8315 dec di ; 4f 8320 mov word [0a35eh], ax ; a3 5e a3 8316 8321 pop si ; 5e 8317 dec di ; 4f 8318 pop si ; 5e 8319 scasb ; ae 8320 pop bp ; 5d 8321 sub AL, strict byte 05eh ; 2c 5e 8322 dec di ; 4f 8323 pop si ; 5e 8324 dec di ; 4f 8325 pop si ; 5e 8326 sub AL, strict byte 05eh ; 2c 5e 8327 fistp word [di+04fh] ; df 5d 4f 8328 pop si ; 5e 8329 dec di ; 4f 8330 pop si ; 5e 8331 dec di ; 4f 8332 pop si ; 5e 8333 _int13_harddisk: ; 0xf5a5e LB 0x44f 8322 _int13_harddisk: ; 0xf5ab2 LB 0x44f 8334 8323 push bp ; 55 8335 8324 mov bp, sp ; 89 e5 … … 8337 8326 mov dx, strict word 0000eh ; ba 0e 00 8338 8327 mov ax, strict word 00040h ; b8 40 00 8339 call 0166ch ; e8 ffbb8328 call 0166ch ; e8 ab bb 8340 8329 mov si, 00122h ; be 22 01 8341 8330 mov word [bp-004h], ax ; 89 46 fc … … 8343 8332 mov dx, 0008eh ; ba 8e 00 8344 8333 mov ax, strict word 00040h ; b8 40 00 8345 call 0165eh ; e8 e0bb8334 call 0165eh ; e8 8c bb 8346 8335 mov ax, word [bp+00eh] ; 8b 46 0e 8347 8336 xor ah, ah ; 30 e4 8348 8337 cmp ax, 00080h ; 3d 80 00 8349 jc short 05a 8dh ; 72 058338 jc short 05ae1h ; 72 05 8350 8339 cmp ax, 00090h ; 3d 90 00 8351 jc short 05a abh ; 72 1e8340 jc short 05affh ; 72 1e 8352 8341 mov ax, word [bp+00eh] ; 8b 46 0e 8353 8342 xor ah, ah ; 30 e4 … … 8359 8348 push 0068dh ; 68 8d 06 8360 8349 push strict byte 00004h ; 6a 04 8361 call 01966h ; e8 c1be8350 call 01966h ; e8 6d be 8362 8351 add sp, strict byte 0000ah ; 83 c4 0a 8363 jmp near 05e 6ah ; e9 bf 038352 jmp near 05ebeh ; e9 bf 03 8364 8353 mov ax, word [bp+00eh] ; 8b 46 0e 8365 8354 xor ah, ah ; 30 e4 … … 8370 8359 mov byte [bp-002h], dl ; 88 56 fe 8371 8360 cmp dl, 010h ; 80 fa 10 8372 jc short 05 ad4h ; 72 108361 jc short 05b28h ; 72 10 8373 8362 push ax ; 50 8374 8363 mov ax, word [bp+016h] ; 8b 46 16 … … 8377 8366 push 0067eh ; 68 7e 06 8378 8367 push 006b8h ; 68 b8 06 8379 jmp short 05a a0h ; eb cc8368 jmp short 05af4h ; eb cc 8380 8369 mov bx, word [bp+016h] ; 8b 5e 16 8381 8370 shr bx, 008h ; c1 eb 08 8382 8371 cmp bx, strict byte 00018h ; 83 fb 18 8383 jnbe short 05b 23h ; 77 448372 jnbe short 05b77h ; 77 44 8384 8373 add bx, bx ; 01 db 8385 jmp word [cs:bx+05a 2ch] ; 2e ff a7 2c5a8374 jmp word [cs:bx+05a80h] ; 2e ff a7 80 5a 8386 8375 cmp byte [bp-002h], 008h ; 80 7e fe 08 8387 jnc short 05 af4h ; 73 088376 jnc short 05b48h ; 73 08 8388 8377 mov al, byte [bp-002h] ; 8a 46 fe 8389 8378 xor ah, ah ; 30 e4 8390 call 01d85h ; e8 91c28391 jmp near 05d 2ch ; e9 35 028379 call 01d85h ; e8 3d c2 8380 jmp near 05d80h ; e9 35 02 8392 8381 mov dx, strict word 00074h ; ba 74 00 8393 8382 mov ax, strict word 00040h ; b8 40 00 8394 call 01650h ; e8 50 bb8383 call 01650h ; e8 fc ba 8395 8384 mov cl, al ; 88 c1 8396 8385 mov dx, word [bp+016h] ; 8b 56 16 … … 8403 8392 mov dx, strict word 00074h ; ba 74 00 8404 8393 mov ax, strict word 00040h ; b8 40 00 8405 call 0165eh ; e8 42 bb8394 call 0165eh ; e8 ee ba 8406 8395 test cl, cl ; 84 c9 8407 je short 05b 84h ; 74 648408 jmp near 05e 86h ; e9 63 038409 jmp near 05e 4fh ; e9 29 038396 je short 05bd8h ; 74 64 8397 jmp near 05edah ; e9 63 03 8398 jmp near 05ea3h ; e9 29 03 8410 8399 mov ax, word [bp+016h] ; 8b 46 16 8411 8400 xor ah, ah ; 30 e4 … … 8427 8416 mov ax, word [bp-00eh] ; 8b 46 f2 8428 8417 cmp ax, 00080h ; 3d 80 00 8429 jnbe short 05b 61h ; 77 048418 jnbe short 05bb5h ; 77 04 8430 8419 test ax, ax ; 85 c0 8431 jne short 05b 87h ; 75 268420 jne short 05bdbh ; 75 26 8432 8421 mov bx, 00da0h ; bb a0 0d 8433 8422 mov cx, ds ; 8c d9 8434 8423 mov ax, strict word 00004h ; b8 04 00 8435 call 01923h ; e8 b7bd8424 call 01923h ; e8 63 bd 8436 8425 mov ax, word [bp+016h] ; 8b 46 16 8437 8426 shr ax, 008h ; c1 e8 08 … … 8440 8429 push 006eah ; 68 ea 06 8441 8430 push strict byte 00004h ; 6a 04 8442 call 01966h ; e8 e8bd8431 call 01966h ; e8 94 bd 8443 8432 add sp, strict byte 00008h ; 83 c4 08 8444 jmp near 05e 6ah ; e9 e6 028445 jmp near 05d 30h ; e9 a9 018433 jmp near 05ebeh ; e9 e6 02 8434 jmp near 05d84h ; e9 a9 01 8446 8435 mov al, byte [bp-002h] ; 8a 46 fe 8447 8436 xor ah, ah ; 30 e4 … … 8455 8444 mov word [bp-00ah], dx ; 89 56 f6 8456 8445 cmp di, ax ; 39 c7 8457 jnc short 05 bb5h ; 73 0c8446 jnc short 05c09h ; 73 0c 8458 8447 cmp cx, word [bp-008h] ; 3b 4e f8 8459 jbe short 05 bb5h ; 76 078448 jbe short 05c09h ; 76 07 8460 8449 mov ax, word [bp-006h] ; 8b 46 fa 8461 8450 cmp ax, dx ; 39 d0 8462 jbe short 05 be5h ; 76 308451 jbe short 05c39h ; 76 30 8463 8452 mov bx, 00da0h ; bb a0 0d 8464 8453 mov cx, ds ; 8c d9 8465 8454 mov ax, strict word 00004h ; b8 04 00 8466 call 01923h ; e8 63bd8455 call 01923h ; e8 0f bd 8467 8456 push word [bp-006h] ; ff 76 fa 8468 8457 push word [bp-008h] ; ff 76 f8 … … 8477 8466 push 00712h ; 68 12 07 8478 8467 push strict byte 00004h ; 6a 04 8479 call 01966h ; e8 87bd8468 call 01966h ; e8 33 bd 8480 8469 add sp, strict byte 00010h ; 83 c4 10 8481 jmp near 05e 6ah ; e9 85 028470 jmp near 05ebeh ; e9 85 02 8482 8471 mov ax, word [bp+016h] ; 8b 46 16 8483 8472 shr ax, 008h ; c1 e8 08 8484 8473 cmp ax, strict word 00004h ; 3d 04 00 8485 je short 05c 10h ; 74 208474 je short 05c64h ; 74 20 8486 8475 mov al, byte [bp-002h] ; 8a 46 fe 8487 8476 xor ah, ah ; 30 e4 … … 8491 8480 add bx, ax ; 01 c3 8492 8481 cmp cx, word [es:bx+030h] ; 26 3b 4f 30 8493 jne short 05c 19h ; 75 148482 jne short 05c6dh ; 75 14 8494 8483 mov ax, word [es:bx+034h] ; 26 8b 47 34 8495 8484 cmp ax, word [bp-00ah] ; 3b 46 f6 8496 je short 05c 13h ; 74 058497 jmp short 05c 19h ; eb 098498 jmp near 05d 2ch ; e9 19 018485 je short 05c67h ; 74 05 8486 jmp short 05c6dh ; eb 09 8487 jmp near 05d80h ; e9 19 01 8499 8488 cmp byte [bp-002h], 008h ; 80 7e fe 08 8500 jc short 05c 49h ; 72 308489 jc short 05c9dh ; 72 30 8501 8490 mov ax, di ; 89 f8 8502 8491 xor dx, dx ; 31 d2 8503 8492 mov bx, cx ; 89 cb 8504 8493 xor cx, cx ; 31 c9 8505 call 09f 30h ; e8 0c438494 call 09f80h ; e8 08 43 8506 8495 xor bx, bx ; 31 db 8507 8496 add ax, word [bp-008h] ; 03 46 f8 … … 8509 8498 mov bx, word [bp-00ah] ; 8b 5e f6 8510 8499 xor cx, cx ; 31 c9 8511 call 09f 30h ; e8 fd428500 call 09f80h ; e8 f9 42 8512 8501 xor bx, bx ; 31 db 8513 8502 add ax, word [bp-006h] ; 03 46 fa … … 8565 8554 mov word [bp+016h], bx ; 89 5e 16 8566 8555 test dl, dl ; 84 d2 8567 je short 05d 2ch ; 74 468556 je short 05d80h ; 74 46 8568 8557 mov bx, 00da0h ; bb a0 0d 8569 8558 mov cx, ds ; 8c d9 8570 8559 mov ax, strict word 00004h ; b8 04 00 8571 call 01923h ; e8 32 bc8560 call 01923h ; e8 de bb 8572 8561 mov al, dl ; 88 d0 8573 8562 xor ah, ah ; 30 e4 … … 8579 8568 push 00759h ; 68 59 07 8580 8569 push strict byte 00004h ; 6a 04 8581 call 01966h ; e8 5ebc8570 call 01966h ; e8 0a bc 8582 8571 add sp, strict byte 0000ah ; 83 c4 0a 8583 8572 mov ax, word [bp+016h] ; 8b 46 16 8584 8573 xor ah, ah ; 30 e4 8585 8574 or ah, 00ch ; 80 cc 0c 8586 jmp near 05e 72h ; e9 5c 018575 jmp near 05ec6h ; e9 5c 01 8587 8576 mov bx, 00da0h ; bb a0 0d 8588 8577 mov cx, ds ; 8c d9 8589 8578 mov ax, strict word 00004h ; b8 04 00 8590 call 01923h ; e8 02 bc8579 call 01923h ; e8 ae bb 8591 8580 push 0077ah ; 68 7a 07 8592 8581 push strict byte 00004h ; 6a 04 8593 call 01966h ; e8 3d bc8582 call 01966h ; e8 e9 bb 8594 8583 add sp, strict byte 00004h ; 83 c4 04 8595 8584 mov byte [bp+017h], 000h ; c6 46 17 00 … … 8597 8586 mov dx, strict word 00074h ; ba 74 00 8598 8587 mov ax, strict word 00040h ; b8 40 00 8599 call 0165eh ; e8 23 b98588 call 0165eh ; e8 cf b8 8600 8589 and byte [bp+01ch], 0feh ; 80 66 1c fe 8601 8590 mov sp, bp ; 89 ec … … 8640 8629 mov dl, al ; 88 c2 8641 8630 mov word [bp+012h], dx ; 89 56 12 8642 jmp near 05d 2ch ; e9 7e ff8631 jmp near 05d80h ; e9 7e ff 8643 8632 mov al, byte [bp-002h] ; 8a 46 fe 8644 8633 xor ah, ah ; 30 e4 … … 8657 8646 and AL, strict byte 0c0h ; 24 c0 8658 8647 cmp AL, strict byte 040h ; 3c 40 8659 jne short 05 dd4h ; 75 038660 jmp near 05d 2ch ; e9 58 ff8648 jne short 05e28h ; 75 03 8649 jmp near 05d80h ; e9 58 ff 8661 8650 mov ax, word [bp+016h] ; 8b 46 16 8662 8651 xor ah, ah ; 30 e4 8663 8652 or ah, 0aah ; 80 cc aa 8664 jmp near 05e 72h ; e9 93 008653 jmp near 05ec6h ; e9 93 00 8665 8654 mov al, byte [bp-002h] ; 8a 46 fe 8666 8655 xor ah, ah ; 30 e4 … … 8677 8666 mov bx, word [bp-008h] ; 8b 5e f8 8678 8667 xor cx, cx ; 31 c9 8679 call 09f 30h ; e8 26418668 call 09f80h ; e8 22 41 8680 8669 mov bx, word [bp-006h] ; 8b 5e fa 8681 8670 xor cx, cx ; 31 c9 8682 call 09f 30h ; e8 1e418671 call 09f80h ; e8 1a 41 8683 8672 mov word [bp-010h], ax ; 89 46 f0 8684 8673 mov word [bp-00ch], dx ; 89 56 f4 … … 8689 8678 or ah, 003h ; 80 cc 03 8690 8679 mov word [bp+016h], ax ; 89 46 16 8691 jmp near 05d 30h ; e9 04 ff8680 jmp near 05d84h ; e9 04 ff 8692 8681 mov bx, 00da0h ; bb a0 0d 8693 8682 mov cx, ds ; 8c d9 8694 8683 mov ax, strict word 00004h ; b8 04 00 8695 call 01923h ; e8 ecba8684 call 01923h ; e8 98 ba 8696 8685 mov ax, word [bp+016h] ; 8b 46 16 8697 8686 shr ax, 008h ; c1 e8 08 … … 8700 8689 push 00794h ; 68 94 07 8701 8690 push strict byte 00004h ; 6a 04 8702 call 01966h ; e8 1d bb8691 call 01966h ; e8 c9 ba 8703 8692 add sp, strict byte 00008h ; 83 c4 08 8704 jmp near 05d 2ch ; e9 dd fe8693 jmp near 05d80h ; e9 dd fe 8705 8694 mov bx, 00da0h ; bb a0 0d 8706 8695 mov cx, ds ; 8c d9 8707 8696 mov ax, strict word 00004h ; b8 04 00 8708 call 01923h ; e8 c9ba8697 call 01923h ; e8 75 ba 8709 8698 mov ax, word [bp+016h] ; 8b 46 16 8710 8699 shr ax, 008h ; c1 e8 08 … … 8712 8701 push 0067eh ; 68 7e 06 8713 8702 push 007c7h ; 68 c7 07 8714 jmp near 05b 79h ; e9 0f fd8703 jmp near 05bcdh ; e9 0f fd 8715 8704 mov ax, word [bp+016h] ; 8b 46 16 8716 8705 xor ah, ah ; 30 e4 … … 8722 8711 mov dx, strict word 00074h ; ba 74 00 8723 8712 mov ax, strict word 00040h ; b8 40 00 8724 call 0165eh ; e8 d8b78713 call 0165eh ; e8 84 b7 8725 8714 or byte [bp+01ch], 001h ; 80 4e 1c 01 8726 jmp near 05d 3fh ; e9 b2 fe8727 dec cx ; 498715 jmp near 05d93h ; e9 b2 fe 8716 popfw ; 9d 8728 8717 pop di ; 5f 8729 jl short 05ef0h ; 7c 5f 8730 jl short 05ef2h ; 7c 5f 8731 jl short 05ef4h ; 7c 5f 8732 insw ; 6d 8733 arpl di, dx ; 63 d7 8734 pushaw ; 60 8735 jl short 05efah ; 7c 5f 8736 loopne 05efdh ; e0 60 8737 insw ; 6d 8738 arpl [bx+di+05fh], sp ; 63 61 5f 8718 rcr byte [bx-030h], 1 ; d0 5f d0 8719 pop di ; 5f 8720 rcr byte [bx-03fh], 1 ; d0 5f c1 8721 arpl [bp+di], bp ; 63 2b 8739 8722 popaw ; 61 8723 rcr byte [bx+034h], 1 ; d0 5f 34 8724 popaw ; 61 8725 sal word [bp+di-04bh], 05fh ; c1 63 b5 5f 8726 mov CH, strict byte 05fh ; b5 5f 8727 mov CH, strict byte 05fh ; b5 5f 8728 mov CH, strict byte 05fh ; b5 5f 8729 fsub dword [bp+di-04bh] ; d8 63 b5 8740 8730 pop di ; 5f 8741 popaw ; 61 8742 pop di ; 5f 8743 popaw ; 61 8744 pop di ; 5f 8745 test byte [bp+di+061h], ah ; 84 63 61 8746 pop di ; 5f 8747 popaw ; 61 8748 pop di ; 5f 8749 _int13_harddisk_ext: ; 0xf5ead LB 0x50f 8731 mov CH, strict byte 05fh ; b5 5f 8732 _int13_harddisk_ext: ; 0xf5f01 LB 0x50f 8750 8733 push bp ; 55 8751 8734 mov bp, sp ; 89 e5 … … 8753 8736 mov dx, strict word 0000eh ; ba 0e 00 8754 8737 mov ax, strict word 00040h ; b8 40 00 8755 call 0166ch ; e8 b0b78738 call 0166ch ; e8 5c b7 8756 8739 mov word [bp-012h], ax ; 89 46 ee 8757 8740 mov dx, strict word 0000eh ; ba 0e 00 8758 8741 mov ax, strict word 00040h ; b8 40 00 8759 call 0166ch ; e8 a4b78742 call 0166ch ; e8 50 b7 8760 8743 mov word [bp-008h], 00122h ; c7 46 f8 22 01 8761 8744 mov word [bp-006h], ax ; 89 46 fa … … 8763 8746 mov dx, 0008eh ; ba 8e 00 8764 8747 mov ax, strict word 00040h ; b8 40 00 8765 call 0165eh ; e8 83b78748 call 0165eh ; e8 2f b7 8766 8749 mov ax, word [bp+00eh] ; 8b 46 0e 8767 8750 xor ah, ah ; 30 e4 8768 8751 cmp ax, 00080h ; 3d 80 00 8769 jc short 05 eeah ; 72 058752 jc short 05f3eh ; 72 05 8770 8753 cmp ax, 00090h ; 3d 90 00 8771 jc short 05f 08h ; 72 1e8754 jc short 05f5ch ; 72 1e 8772 8755 mov ax, word [bp+00eh] ; 8b 46 0e 8773 8756 xor ah, ah ; 30 e4 … … 8779 8762 push 0068dh ; 68 8d 06 8780 8763 push strict byte 00004h ; 6a 04 8781 call 01966h ; e8 64ba8764 call 01966h ; e8 10 ba 8782 8765 add sp, strict byte 0000ah ; 83 c4 0a 8783 jmp near 063 9ah ; e9 92 048766 jmp near 063eeh ; e9 92 04 8784 8767 mov ax, word [bp+00eh] ; 8b 46 0e 8785 8768 xor ah, ah ; 30 e4 … … 8789 8772 mov byte [bp-004h], dl ; 88 56 fc 8790 8773 cmp dl, 010h ; 80 fa 10 8791 jc short 05f 2fh ; 72 108774 jc short 05f83h ; 72 10 8792 8775 push ax ; 50 8793 8776 mov ax, word [bp+016h] ; 8b 46 16 … … 8796 8779 push 007f5h ; 68 f5 07 8797 8780 push 006b8h ; 68 b8 06 8798 jmp short 05 efdh ; eb ce8781 jmp short 05f51h ; eb ce 8799 8782 mov bx, word [bp+016h] ; 8b 5e 16 8800 8783 shr bx, 008h ; c1 eb 08 8801 8784 sub bx, strict byte 00041h ; 83 eb 41 8802 8785 cmp bx, strict byte 0000fh ; 83 fb 0f 8803 jnbe short 05f 61h ; 77 248786 jnbe short 05fb5h ; 77 24 8804 8787 add bx, bx ; 01 db 8805 8788 mov dx, word [bp+016h] ; 8b 56 16 8806 8789 xor dh, dh ; 30 f6 8807 jmp word [cs:bx+05e 8dh] ; 2e ff a7 8d5e8790 jmp word [cs:bx+05ee1h] ; 2e ff a7 e1 5e 8808 8791 mov word [bp+010h], 0aa55h ; c7 46 10 55 aa 8809 8792 mov ax, word [bp+016h] ; 8b 46 16 … … 8812 8795 mov word [bp+016h], ax ; 89 46 16 8813 8796 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 8814 jmp near 063 71h ; e9 10 048797 jmp near 063c5h ; e9 10 04 8815 8798 mov bx, 00da0h ; bb a0 0d 8816 8799 mov cx, ds ; 8c d9 8817 8800 mov ax, strict word 00004h ; b8 04 00 8818 call 01923h ; e8 b7b98801 call 01923h ; e8 63 b9 8819 8802 mov ax, word [bp+016h] ; 8b 46 16 8820 8803 shr ax, 008h ; c1 e8 08 … … 8822 8805 push 007f5h ; 68 f5 07 8823 8806 push 007c7h ; 68 c7 07 8824 jmp near 060 11h ; e9 95 008807 jmp near 06065h ; e9 95 00 8825 8808 mov di, word [bp+00ah] ; 8b 7e 0a 8826 8809 mov es, [bp+004h] ; 8e 46 04 … … 8838 8821 xor bx, bx ; 31 db 8839 8822 mov si, strict word 00020h ; be 20 00 8840 call 09f 90h ; e8 e13f8823 call 09fe0h ; e8 dd 3f 8841 8824 mov si, ax ; 89 c6 8842 8825 mov word [bp-00ch], bx ; 89 5e f4 … … 8852 8835 mov al, byte [es:bx+022h] ; 26 8a 47 22 8853 8836 cmp si, word [es:bx+03ch] ; 26 3b 77 3c 8854 jnbe short 0 5ff9h ; 77 228855 jne short 060 1ch ; 75 438837 jnbe short 0604dh ; 77 22 8838 jne short 06070h ; 75 43 8856 8839 mov di, word [bp-00ch] ; 8b 7e f4 8857 8840 cmp di, word [es:bx+03ah] ; 26 3b 7f 3a 8858 jnbe short 0 5ff9h ; 77 178841 jnbe short 0604dh ; 77 17 8859 8842 mov di, word [bp-00ch] ; 8b 7e f4 8860 8843 cmp di, word [es:bx+03ah] ; 26 3b 7f 3a 8861 jne short 060 1ch ; 75 318844 jne short 06070h ; 75 31 8862 8845 cmp cx, word [es:bx+038h] ; 26 3b 4f 38 8863 jnbe short 0 5ff9h ; 77 088864 jne short 060 1ch ; 75 298846 jnbe short 0604dh ; 77 08 8847 jne short 06070h ; 75 29 8865 8848 cmp dx, word [es:bx+036h] ; 26 3b 57 36 8866 jc short 060 1ch ; 72 238849 jc short 06070h ; 72 23 8867 8850 mov bx, 00da0h ; bb a0 0d 8868 8851 mov cx, ds ; 8c d9 8869 8852 mov ax, strict word 00004h ; b8 04 00 8870 call 01923h ; e8 1f b98853 call 01923h ; e8 cb b8 8871 8854 mov ax, word [bp+016h] ; 8b 46 16 8872 8855 shr ax, 008h ; c1 e8 08 … … 8875 8858 push 00808h ; 68 08 08 8876 8859 push strict byte 00004h ; 6a 04 8877 call 01966h ; e8 50 b98860 call 01966h ; e8 fc b8 8878 8861 add sp, strict byte 00008h ; 83 c4 08 8879 jmp near 063 9ah ; e9 7e 038862 jmp near 063eeh ; e9 7e 03 8880 8863 mov di, word [bp+016h] ; 8b 7e 16 8881 8864 shr di, 008h ; c1 ef 08 8882 8865 cmp di, strict byte 00044h ; 83 ff 44 8883 je short 060 2ch ; 74 058866 je short 06080h ; 74 05 8884 8867 cmp di, strict byte 00047h ; 83 ff 47 8885 jne short 060 2fh ; 75 038886 jmp near 063 6dh ; e9 3e 038868 jne short 06083h ; 75 03 8869 jmp near 063c1h ; e9 3e 03 8887 8870 les bx, [bp-008h] ; c4 5e f8 8888 8871 mov word [es:bx+018h], strict word 00000h ; 26 c7 47 18 00 00 … … 8922 8905 mov word [es:bx+002h], ax ; 26 89 47 02 8923 8906 test dl, dl ; 84 d2 8924 je short 06 0feh ; 74 518907 je short 06152h ; 74 51 8925 8908 mov bx, 00da0h ; bb a0 0d 8926 8909 mov cx, ds ; 8c d9 8927 8910 mov ax, strict word 00004h ; b8 04 00 8928 call 01923h ; e8 6bb88911 call 01923h ; e8 17 b8 8929 8912 mov al, dl ; 88 d0 8930 8913 xor ah, ah ; 30 e4 … … 8934 8917 push 00759h ; 68 59 07 8935 8918 push strict byte 00004h ; 6a 04 8936 call 01966h ; e8 9db88919 call 01966h ; e8 49 b8 8937 8920 add sp, strict byte 0000ah ; 83 c4 0a 8938 8921 mov ax, word [bp+016h] ; 8b 46 16 8939 8922 xor ah, ah ; 30 e4 8940 8923 or ah, 00ch ; 80 cc 0c 8941 jmp near 063 a2h ; e9 cb 028924 jmp near 063f6h ; e9 cb 02 8942 8925 or dh, 0b2h ; 80 ce b2 8943 8926 mov word [bp+016h], dx ; 89 56 16 8944 jmp near 063 a5h ; e9 c5 028927 jmp near 063f9h ; e9 c5 02 8945 8928 mov bx, word [bp+00ah] ; 8b 5e 0a 8946 8929 mov ax, word [bp+004h] ; 8b 46 04 … … 8952 8935 mov word [bp-00eh], ax ; 89 46 f2 8953 8936 cmp ax, strict word 0001ah ; 3d 1a 00 8954 jnc short 061 01h ; 73 068955 jmp near 063 9ah ; e9 9c 028956 jmp near 063 6dh ; e9 6c 028957 jnc short 061 06h ; 73 038958 jmp near 061 9dh ; e9 97 008937 jnc short 06155h ; 73 06 8938 jmp near 063eeh ; e9 9c 02 8939 jmp near 063c1h ; e9 6c 02 8940 jnc short 0615ah ; 73 03 8941 jmp near 061f1h ; e9 97 00 8959 8942 mov al, byte [bp-004h] ; 8a 46 fc 8960 8943 xor ah, ah ; 30 e4 … … 8995 8978 mov bx, word [bp-00ch] ; 8b 5e f4 8996 8979 mov si, strict word 00020h ; be 20 00 8997 call 09f 80h ; e8 ed3d8980 call 09fd0h ; e8 e9 3d 8998 8981 mov bx, di ; 89 fb 8999 8982 mov word [es:bx+014h], dx ; 26 89 57 14 9000 8983 mov word [es:bx+016h], cx ; 26 89 4f 16 9001 8984 cmp word [bp-00eh], strict byte 0001eh ; 83 7e f2 1e 9002 jc short 062 08h ; 72 658985 jc short 0625ch ; 72 65 9003 8986 mov es, [bp-00ah] ; 8e 46 f6 9004 8987 mov word [es:di], strict word 0001eh ; 26 c7 05 1e 00 … … 9027 9010 mov dl, byte [es:bx+027h] ; 26 8a 57 27 9028 9011 test dl, dl ; 84 d2 9029 jne short 06 1f8h ; 75 049012 jne short 0624ch ; 75 04 9030 9013 xor bx, bx ; 31 db 9031 jmp short 06 1fbh ; eb 039014 jmp short 0624fh ; eb 03 9032 9015 mov bx, strict word 00008h ; bb 08 00 9033 9016 or bl, 010h ; 80 cb 10 9034 9017 cmp dl, 001h ; 80 fa 01 9035 jne short 062 0bh ; 75 089018 jne short 0625fh ; 75 08 9036 9019 mov ax, strict word 00001h ; b8 01 00 9037 jmp short 062 0dh ; eb 059038 jmp near 062 9eh ; e9 93 009020 jmp short 06261h ; eb 05 9021 jmp near 062f2h ; e9 93 00 9039 9022 xor ax, ax ; 31 c0 9040 9023 or bx, ax ; 09 c3 9041 9024 cmp dl, 003h ; 80 fa 03 9042 jne short 062 19h ; 75 059025 jne short 0626dh ; 75 05 9043 9026 mov ax, strict word 00003h ; b8 03 00 9044 jmp short 062 1bh ; eb 029027 jmp short 0626fh ; eb 02 9045 9028 xor ax, ax ; 31 c0 9046 9029 or bx, ax ; 09 c3 … … 9069 9052 xor bl, bl ; 30 db 9070 9053 xor bh, bh ; 30 ff 9071 jmp short 062 80h ; eb 059054 jmp short 062d4h ; eb 05 9072 9055 cmp bh, 00fh ; 80 ff 0f 9073 jnc short 062 94h ; 73 149056 jnc short 062e8h ; 73 14 9074 9057 mov dl, bh ; 88 fa 9075 9058 xor dh, dh ; 30 f6 9076 9059 add dx, 00356h ; 81 c2 56 03 9077 9060 mov ax, word [bp-012h] ; 8b 46 ee 9078 call 01650h ; e8 c2b39061 call 01650h ; e8 6e b3 9079 9062 add bl, al ; 00 c3 9080 9063 db 0feh, 0c7h 9081 9064 ; inc bh ; fe c7 9082 jmp short 062 7bh ; eb e79065 jmp short 062cfh ; eb e7 9083 9066 neg bl ; f6 db 9084 9067 les si, [bp-008h] ; c4 76 f8 9085 9068 mov byte [es:si+00243h], bl ; 26 88 9c 43 02 9086 9069 cmp word [bp-00eh], strict byte 00042h ; 83 7e f2 42 9087 jnc short 062 a7h ; 73 039088 jmp near 063 6dh ; e9 c6 009070 jnc short 062fbh ; 73 03 9071 jmp near 063c1h ; e9 c6 00 9089 9072 mov al, byte [bp-004h] ; 8a 46 fc 9090 9073 xor ah, ah ; 30 e4 … … 9105 9088 mov word [es:di+022h], strict word 00000h ; 26 c7 45 22 00 00 9106 9089 test al, al ; 84 c0 9107 jne short 06 2efh ; 75 0c9090 jne short 06343h ; 75 0c 9108 9091 mov word [es:di+024h], 05349h ; 26 c7 45 24 49 53 9109 9092 mov word [es:di+026h], 02041h ; 26 c7 45 26 41 20 … … 9114 9097 mov word [es:di+02eh], 02020h ; 26 c7 45 2e 20 20 9115 9098 test al, al ; 84 c0 9116 jne short 063 24h ; 75 169099 jne short 06378h ; 75 16 9117 9100 mov word [es:di+030h], dx ; 26 89 55 30 9118 9101 mov word [es:di+032h], strict word 00000h ; 26 c7 45 32 00 00 … … 9129 9112 xor bl, bl ; 30 db 9130 9113 mov BH, strict byte 01eh ; b7 1e 9131 jmp short 063 4fh ; eb 059114 jmp short 063a3h ; eb 05 9132 9115 cmp bh, 040h ; 80 ff 40 9133 jnc short 063 64h ; 73 159116 jnc short 063b8h ; 73 15 9134 9117 mov al, bh ; 88 f8 9135 9118 xor ah, ah ; 30 e4 … … 9137 9120 add dx, ax ; 01 c2 9138 9121 mov ax, word [bp+004h] ; 8b 46 04 9139 call 01650h ; e8 f2b29122 call 01650h ; e8 9e b2 9140 9123 add bl, al ; 00 c3 9141 9124 db 0feh, 0c7h 9142 9125 ; inc bh ; fe c7 9143 jmp short 063 4ah ; eb e69126 jmp short 0639eh ; eb e6 9144 9127 neg bl ; f6 db 9145 9128 mov es, [bp-00ah] ; 8e 46 f6 … … 9149 9132 mov dx, strict word 00074h ; ba 74 00 9150 9133 mov ax, strict word 00040h ; b8 40 00 9151 call 0165eh ; e8 e2b29134 call 0165eh ; e8 8e b2 9152 9135 and byte [bp+01ch], 0feh ; 80 66 1c fe 9153 9136 mov sp, bp ; 89 ec … … 9155 9138 retn ; c3 9156 9139 cmp dx, strict byte 00006h ; 83 fa 06 9157 je short 063 6dh ; 74 e49140 je short 063c1h ; 74 e4 9158 9141 cmp dx, strict byte 00001h ; 83 fa 01 9159 jc short 063 9ah ; 72 0c9160 jbe short 063 6dh ; 76 dd9142 jc short 063eeh ; 72 0c 9143 jbe short 063c1h ; 76 dd 9161 9144 cmp dx, strict byte 00003h ; 83 fa 03 9162 jc short 063 9ah ; 72 059145 jc short 063eeh ; 72 05 9163 9146 cmp dx, strict byte 00004h ; 83 fa 04 9164 jbe short 063 6dh ; 76 d39147 jbe short 063c1h ; 76 d3 9165 9148 mov ax, word [bp+016h] ; 8b 46 16 9166 9149 xor ah, ah ; 30 e4 … … 9172 9155 mov dx, strict word 00074h ; ba 74 00 9173 9156 mov ax, strict word 00040h ; b8 40 00 9174 call 0165eh ; e8 a8b29157 call 0165eh ; e8 54 b2 9175 9158 or byte [bp+01ch], 001h ; 80 4e 1c 01 9176 jmp short 063 80h ; eb c49177 _int14_function: ; 0xf6 3bcLB 0x15c9159 jmp short 063d4h ; eb c4 9160 _int14_function: ; 0xf6410 LB 0x15c 9178 9161 push bp ; 55 9179 9162 mov bp, sp ; 89 e5 … … 9183 9166 add dx, dx ; 01 d2 9184 9167 mov ax, strict word 00040h ; b8 40 00 9185 call 0166ch ; e8 a0b29168 call 0166ch ; e8 4c b2 9186 9169 mov si, ax ; 89 c6 9187 9170 mov bx, ax ; 89 c3 … … 9189 9172 add dx, strict byte 0007ch ; 83 c2 7c 9190 9173 mov ax, strict word 00040h ; b8 40 00 9191 call 01650h ; e8 74b29174 call 01650h ; e8 20 b2 9192 9175 mov cl, al ; 88 c1 9193 9176 cmp word [bp+00eh], strict byte 00004h ; 83 7e 0e 04 9194 jnc short 06 3e8h ; 73 049177 jnc short 0643ch ; 73 04 9195 9178 test si, si ; 85 f6 9196 jnbe short 06 3ebh ; 77 039197 jmp near 065 0eh ; e9 23 019179 jnbe short 0643fh ; 77 03 9180 jmp near 06562h ; e9 23 01 9198 9181 mov al, byte [bp+013h] ; 8a 46 13 9199 9182 cmp AL, strict byte 001h ; 3c 01 9200 jc short 06 3ffh ; 72 0d9201 jbe short 064 5fh ; 76 6b9183 jc short 06453h ; 72 0d 9184 jbe short 064b3h ; 76 6b 9202 9185 cmp AL, strict byte 003h ; 3c 03 9203 je short 064 57h ; 74 5f9186 je short 064abh ; 74 5f 9204 9187 cmp AL, strict byte 002h ; 3c 02 9205 je short 064 5ah ; 74 5e9206 jmp near 065 08h ; e9 09 019188 je short 064aeh ; 74 5e 9189 jmp near 0655ch ; e9 09 01 9207 9190 test al, al ; 84 c0 9208 jne short 064 5ch ; 75 599191 jne short 064b0h ; 75 59 9209 9192 lea dx, [bx+003h] ; 8d 57 03 9210 9193 in AL, DX ; ec … … 9216 9199 mov al, byte [bp+012h] ; 8a 46 12 9217 9200 test AL, strict byte 0e0h ; a8 e0 9218 jne short 064 22h ; 75 0c9201 jne short 06476h ; 75 0c 9219 9202 mov AL, strict byte 017h ; b0 17 9220 9203 mov dx, bx ; 89 da … … 9223 9206 mov dx, si ; 89 f2 9224 9207 out DX, AL ; ee 9225 jmp short 064 39h ; eb 179208 jmp short 0648dh ; eb 17 9226 9209 and AL, strict byte 0e0h ; 24 e0 9227 9210 xor ah, ah ; 30 e4 … … 9249 9232 ; sub ah, ah ; 2a e4 9250 9233 mov byte [bp+012h], al ; 88 46 12 9251 jmp near 06 4e9h ; e9 92 009252 jmp near 06 4f7h ; e9 9d 009253 jmp short 06 4adh ; eb 519254 jmp near 065 08h ; e9 a9 009234 jmp near 0653dh ; e9 92 00 9235 jmp near 0654bh ; e9 9d 00 9236 jmp short 06501h ; eb 51 9237 jmp near 0655ch ; e9 a9 00 9255 9238 mov dx, strict word 0006ch ; ba 6c 00 9256 9239 mov ax, strict word 00040h ; b8 40 00 9257 call 0166ch ; e8 04 b29240 call 0166ch ; e8 b0 b1 9258 9241 mov si, ax ; 89 c6 9259 9242 lea dx, [bx+005h] ; 8d 57 05 … … 9263 9246 and ax, strict word 00060h ; 25 60 00 9264 9247 cmp ax, strict word 00060h ; 3d 60 00 9265 je short 064 8fh ; 74 179248 je short 064e3h ; 74 17 9266 9249 test cl, cl ; 84 c9 9267 je short 064 8fh ; 74 139250 je short 064e3h ; 74 13 9268 9251 mov dx, strict word 0006ch ; ba 6c 00 9269 9252 mov ax, strict word 00040h ; b8 40 00 9270 call 0166ch ; e8 e7b19253 call 0166ch ; e8 93 b1 9271 9254 cmp ax, si ; 39 f0 9272 je short 064 6ah ; 74 e19255 je short 064beh ; 74 e1 9273 9256 mov si, ax ; 89 c6 9274 9257 db 0feh, 0c9h 9275 9258 ; dec cl ; fe c9 9276 jmp short 064 6ah ; eb db9259 jmp short 064beh ; eb db 9277 9260 test cl, cl ; 84 c9 9278 je short 064 99h ; 74 069261 je short 064edh ; 74 06 9279 9262 mov al, byte [bp+012h] ; 8a 46 12 9280 9263 mov dx, bx ; 89 da … … 9286 9269 mov byte [bp+013h], al ; 88 46 13 9287 9270 test cl, cl ; 84 c9 9288 jne short 06 4e9h ; 75 439271 jne short 0653dh ; 75 43 9289 9272 or AL, strict byte 080h ; 0c 80 9290 9273 mov byte [bp+013h], al ; 88 46 13 9291 jmp short 06 4e9h ; eb 3c9274 jmp short 0653dh ; eb 3c 9292 9275 mov dx, strict word 0006ch ; ba 6c 00 9293 9276 mov ax, strict word 00040h ; b8 40 00 9294 call 0166ch ; e8 b6b19277 call 0166ch ; e8 62 b1 9295 9278 mov si, ax ; 89 c6 9296 9279 lea dx, [bx+005h] ; 8d 57 05 … … 9299 9282 ; sub ah, ah ; 2a e4 9300 9283 test AL, strict byte 001h ; a8 01 9301 jne short 06 4d9h ; 75 179284 jne short 0652dh ; 75 17 9302 9285 test cl, cl ; 84 c9 9303 je short 06 4d9h ; 74 139286 je short 0652dh ; 74 13 9304 9287 mov dx, strict word 0006ch ; ba 6c 00 9305 9288 mov ax, strict word 00040h ; b8 40 00 9306 call 0166ch ; e8 9db19289 call 0166ch ; e8 49 b1 9307 9290 cmp ax, si ; 39 f0 9308 je short 06 4b8h ; 74 e59291 je short 0650ch ; 74 e5 9309 9292 mov si, ax ; 89 c6 9310 9293 db 0feh, 0c9h 9311 9294 ; dec cl ; fe c9 9312 jmp short 06 4b8h ; eb df9295 jmp short 0650ch ; eb df 9313 9296 test cl, cl ; 84 c9 9314 je short 06 4efh ; 74 129297 je short 06543h ; 74 12 9315 9298 mov byte [bp+013h], 000h ; c6 46 13 00 9316 9299 mov dx, bx ; 89 da … … 9320 9303 mov byte [bp+012h], al ; 88 46 12 9321 9304 and byte [bp+01ch], 0feh ; 80 66 1c fe 9322 jmp short 065 12h ; eb 239305 jmp short 06566h ; eb 23 9323 9306 lea dx, [bx+005h] ; 8d 57 05 9324 9307 in AL, DX ; ec 9325 9308 db 02ah, 0e4h 9326 9309 ; sub ah, ah ; 2a e4 9327 jmp short 064 a8h ; eb b19310 jmp short 064fch ; eb b1 9328 9311 lea dx, [si+005h] ; 8d 54 05 9329 9312 in AL, DX ; ec … … 9335 9318 db 02ah, 0e4h 9336 9319 ; sub ah, ah ; 2a e4 9337 jmp short 06 4e6h ; eb de9320 jmp short 0653ah ; eb de 9338 9321 or byte [bp+01ch], 001h ; 80 4e 1c 01 9339 jmp short 065 12h ; eb 049322 jmp short 06566h ; eb 04 9340 9323 or byte [bp+01ch], 001h ; 80 4e 1c 01 9341 9324 lea sp, [bp-002h] ; 8d 66 fe … … 9343 9326 pop bp ; 5d 9344 9327 retn ; c3 9345 timer_wait_: ; 0xf65 18LB 0x439328 timer_wait_: ; 0xf656c LB 0x43 9346 9329 push bp ; 55 9347 9330 mov bp, sp ; 89 e5 … … 9351 9334 mov bx, strict word 0000fh ; bb 0f 00 9352 9335 xor cx, cx ; 31 c9 9353 call 09f 50h ; e8 2a3a9336 call 09fa0h ; e8 26 3a 9354 9337 mov cx, ax ; 89 c1 9355 9338 mov bx, dx ; 89 d3 … … 9363 9346 adc bx, strict byte 0ffffh ; 83 d3 ff 9364 9347 cmp bx, strict byte 0ffffh ; 83 fb ff 9365 jne short 065 45h ; 75 059348 jne short 06599h ; 75 05 9366 9349 cmp cx, strict byte 0ffffh ; 83 f9 ff 9367 je short 065 54h ; 74 0f9350 je short 065a8h ; 74 0f 9368 9351 mov dx, strict word 00061h ; ba 61 00 9369 9352 in AL, DX ; ec … … 9372 9355 and AL, strict byte 010h ; 24 10 9373 9356 cmp al, byte [bp-006h] ; 3a 46 fa 9374 jne short 065 45h ; 75 f39375 jmp short 065 35h ; eb e19357 jne short 06599h ; 75 f3 9358 jmp short 06589h ; eb e1 9376 9359 lea sp, [bp-004h] ; 8d 66 fc 9377 9360 pop cx ; 59 … … 9379 9362 pop bp ; 5d 9380 9363 retn ; c3 9381 set_enable_a20_: ; 0xf65 5bLB 0x309364 set_enable_a20_: ; 0xf65af LB 0x30 9382 9365 push bp ; 55 9383 9366 mov bp, sp ; 89 e5 … … 9392 9375 mov cl, al ; 88 c1 9393 9376 test bx, bx ; 85 db 9394 je short 065 74h ; 74 059377 je short 065c8h ; 74 05 9395 9378 or AL, strict byte 002h ; 0c 02 9396 9379 out DX, AL ; ee 9397 jmp short 065 77h ; eb 039380 jmp short 065cbh ; eb 03 9398 9381 and AL, strict byte 0fdh ; 24 fd 9399 9382 out DX, AL ; ee 9400 9383 test cl, 002h ; f6 c1 02 9401 je short 065 81h ; 74 059384 je short 065d5h ; 74 05 9402 9385 mov ax, strict word 00001h ; b8 01 00 9403 jmp short 065 83h ; eb 029386 jmp short 065d7h ; eb 02 9404 9387 xor ax, ax ; 31 c0 9405 9388 lea sp, [bp-006h] ; 8d 66 fa … … 9409 9392 pop bp ; 5d 9410 9393 retn ; c3 9411 set_e820_range_: ; 0xf65 8bLB 0x889394 set_e820_range_: ; 0xf65df LB 0x88 9412 9395 push si ; 56 9413 9396 push bp ; 55 … … 9439 9422 retn 0000ah ; c2 0a 00 9440 9423 db 0ech, 0e9h, 0d8h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 083h, 052h, 04fh, 041h, 024h, 000h 9441 db 0 1dh, 069h, 04eh, 066h, 062h, 066h, 0f7h, 066h, 0fdh, 066h, 002h, 067h, 007h, 067h, 0afh, 067h9442 db 0 dah, 067h, 0f0h, 066h, 0f0h, 066h, 0a7h, 068h, 0cfh, 068h, 0e2h, 068h, 0f1h, 068h, 0f7h, 066h9443 db 0 f8h, 068h9444 _int15_function: ; 0xf66 13LB 0x33c9424 db 071h, 069h, 0a2h, 066h, 0b6h, 066h, 04bh, 067h, 051h, 067h, 056h, 067h, 05bh, 067h, 003h, 068h 9425 db 02eh, 068h, 044h, 067h, 044h, 067h, 0fbh, 068h, 023h, 069h, 036h, 069h, 045h, 069h, 04bh, 067h 9426 db 04ch, 069h 9427 _int15_function: ; 0xf6667 LB 0x33c 9445 9428 push bp ; 55 9446 9429 mov bp, sp ; 89 e5 … … 9450 9433 shr ax, 008h ; c1 e8 08 9451 9434 cmp ax, 000ech ; 3d ec 00 9452 jnbe short 066 58h ; 77 359435 jnbe short 066ach ; 77 35 9453 9436 push CS ; 0e 9454 9437 pop ES ; 07 9455 9438 mov cx, strict word 00011h ; b9 11 00 9456 mov di, 06 5e1h ; bf e1 659439 mov di, 06635h ; bf 35 66 9457 9440 repne scasb ; f2 ae 9458 9441 sal cx, 1 ; d1 e1 9459 9442 mov di, cx ; 89 cf 9460 mov si, word [cs:di+06 5f1h] ; 2e 8b b5 f1 659443 mov si, word [cs:di+06645h] ; 2e 8b b5 45 66 9461 9444 mov ax, word [bp+012h] ; 8b 46 12 9462 9445 xor ah, ah ; 30 e4 … … 9471 9454 xor ah, ah ; 30 e4 9472 9455 cmp ax, 000c0h ; 3d c0 00 9473 je short 066 5bh ; 74 039474 jmp near 069 1dh ; e9 c2 029456 je short 066afh ; 74 03 9457 jmp near 06971h ; e9 c2 02 9475 9458 or byte [bp+018h], 001h ; 80 4e 18 01 9476 jmp near 06 8c6h ; e9 64 029459 jmp near 0691ah ; e9 64 02 9477 9460 mov dx, ax ; 89 c2 9478 9461 cmp ax, strict word 00001h ; 3d 01 00 9479 jc short 066 77h ; 72 0e9480 jbe short 066 8bh ; 76 209462 jc short 066cbh ; 72 0e 9463 jbe short 066dfh ; 76 20 9481 9464 cmp ax, strict word 00003h ; 3d 03 00 9482 je short 06 6b8h ; 74 489465 je short 0670ch ; 74 48 9483 9466 cmp ax, strict word 00002h ; 3d 02 00 9484 je short 066 9bh ; 74 269485 jmp short 06 6c5h ; eb 4e9467 je short 066efh ; 74 26 9468 jmp short 06719h ; eb 4e 9486 9469 test ax, ax ; 85 c0 9487 jne short 06 6c5h ; 75 4a9470 jne short 06719h ; 75 4a 9488 9471 xor ax, ax ; 31 c0 9489 call 065 5bh ; e8 db fe9472 call 065afh ; e8 db fe 9490 9473 and byte [bp+018h], 0feh ; 80 66 18 fe 9491 9474 mov byte [bp+013h], 000h ; c6 46 13 00 9492 jmp near 06 6f0h ; e9 65 009475 jmp near 06744h ; e9 65 00 9493 9476 mov ax, strict word 00001h ; b8 01 00 9494 call 065 5bh ; e8 ca fe9477 call 065afh ; e8 ca fe 9495 9478 and byte [bp+018h], 0feh ; 80 66 18 fe 9496 9479 mov byte [bp+013h], dh ; 88 76 13 9497 jmp near 06 6f0h ; e9 55 009480 jmp near 06744h ; e9 55 00 9498 9481 mov dx, 00092h ; ba 92 00 9499 9482 in AL, DX ; ec … … 9507 9490 and byte [bp+018h], 0feh ; 80 66 18 fe 9508 9491 mov byte [bp+013h], ah ; 88 66 13 9509 jmp near 06 6f0h ; e9 38 009492 jmp near 06744h ; e9 38 00 9510 9493 and byte [bp+018h], 0feh ; 80 66 18 fe 9511 9494 mov byte [bp+013h], ah ; 88 66 13 9512 9495 mov word [bp+00ch], ax ; 89 46 0c 9513 jmp near 06 6f0h ; e9 2b 009496 jmp near 06744h ; e9 2b 00 9514 9497 mov bx, 00da0h ; bb a0 0d 9515 9498 mov cx, ds ; 8c d9 9516 9499 mov ax, strict word 00004h ; b8 04 00 9517 call 01923h ; e8 53 b29500 call 01923h ; e8 ff b1 9518 9501 mov ax, word [bp+012h] ; 8b 46 12 9519 9502 xor ah, ah ; 30 e4 … … 9521 9504 push 0082eh ; 68 2e 08 9522 9505 push strict byte 00004h ; 6a 04 9523 call 01966h ; e8 88b29506 call 01966h ; e8 34 b2 9524 9507 add sp, strict byte 00006h ; 83 c4 06 9525 9508 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9534 9517 retn ; c3 9535 9518 mov word [bp+018h], dx ; 89 56 18 9536 jmp near 067 a9h ; e9 ac 009519 jmp near 067fdh ; e9 ac 00 9537 9520 mov word [bp+018h], dx ; 89 56 18 9538 jmp short 06 6f0h ; eb ee9521 jmp short 06744h ; eb ee 9539 9522 mov word [bp+018h], cx ; 89 4e 18 9540 jmp short 06 6edh ; eb e69523 jmp short 06741h ; eb e6 9541 9524 test byte [bp+012h], 0ffh ; f6 46 12 ff 9542 jne short 067 7ch ; 75 6f9525 jne short 067d0h ; 75 6f 9543 9526 mov dx, 000a0h ; ba a0 00 9544 9527 mov ax, strict word 00040h ; b8 40 00 9545 call 01650h ; e8 3a af9528 call 01650h ; e8 e6 ae 9546 9529 test AL, strict byte 001h ; a8 01 9547 jne short 067 79h ; 75 5f9530 jne short 067cdh ; 75 5f 9548 9531 mov bx, strict word 00001h ; bb 01 00 9549 9532 mov dx, 000a0h ; ba a0 00 9550 9533 mov ax, strict word 00040h ; b8 40 00 9551 call 0165eh ; e8 38 af9534 call 0165eh ; e8 e4 ae 9552 9535 mov bx, word [bp+014h] ; 8b 5e 14 9553 9536 mov dx, 00098h ; ba 98 00 9554 9537 mov ax, strict word 00040h ; b8 40 00 9555 call 0167ah ; e8 48 af9538 call 0167ah ; e8 f4 ae 9556 9539 mov bx, word [bp+00ch] ; 8b 5e 0c 9557 9540 mov dx, 0009ah ; ba 9a 00 9558 9541 mov ax, strict word 00040h ; b8 40 00 9559 call 0167ah ; e8 3c af9542 call 0167ah ; e8 e8 ae 9560 9543 mov bx, word [bp+00eh] ; 8b 5e 0e 9561 9544 mov dx, 0009ch ; ba 9c 00 9562 9545 mov ax, strict word 00040h ; b8 40 00 9563 call 0167ah ; e8 30 af9546 call 0167ah ; e8 dc ae 9564 9547 mov bx, word [bp+010h] ; 8b 5e 10 9565 9548 mov dx, 0009eh ; ba 9e 00 9566 9549 mov ax, strict word 00040h ; b8 40 00 9567 call 0167ah ; e8 24 af9550 call 0167ah ; e8 d0 ae 9568 9551 and byte [bp+018h], 0feh ; 80 66 18 fe 9569 9552 mov dx, 000a1h ; ba a1 00 … … 9574 9557 out DX, AL ; ee 9575 9558 mov ax, strict word 0000bh ; b8 0b 00 9576 call 016ach ; e8 43 af9559 call 016ach ; e8 ef ae 9577 9560 mov dl, al ; 88 c2 9578 9561 or dl, 040h ; 80 ca 40 9579 9562 xor dh, dh ; 30 f6 9580 9563 mov ax, strict word 0000bh ; b8 0b 00 9581 call 016c7h ; e8 51 af9582 jmp near 06 6f0h ; e9 77 ff9583 jmp near 06 8bdh ; e9 41 019564 call 016c7h ; e8 fd ae 9565 jmp near 06744h ; e9 77 ff 9566 jmp near 06911h ; e9 41 01 9584 9567 cmp ax, strict word 00001h ; 3d 01 00 9585 jne short 067 9dh ; 75 1c9568 jne short 067f1h ; 75 1c 9586 9569 xor bx, bx ; 31 db 9587 9570 mov dx, 000a0h ; ba a0 00 9588 9571 mov ax, strict word 00040h ; b8 40 00 9589 call 0165eh ; e8 d2ae9572 call 0165eh ; e8 7e ae 9590 9573 and byte [bp+018h], 0feh ; 80 66 18 fe 9591 9574 mov ax, strict word 0000bh ; b8 0b 00 9592 call 016ach ; e8 16 af9575 call 016ach ; e8 c2 ae 9593 9576 mov dl, al ; 88 c2 9594 9577 and dl, 0bfh ; 80 e2 bf 9595 jmp short 067 6eh ; eb d19578 jmp short 067c2h ; eb d1 9596 9579 mov word [bp+018h], dx ; 89 56 18 9597 9580 mov ax, bx ; 89 d8 … … 9601 9584 or bx, ax ; 09 c3 9602 9585 mov word [bp+012h], bx ; 89 5e 12 9603 jmp near 06 6f0h ; e9 41 ff9586 jmp near 06744h ; e9 41 ff 9604 9587 mov ax, strict word 00031h ; b8 31 00 9605 call 016ach ; e8 f7ae9588 call 016ach ; e8 a3 ae 9606 9589 xor ah, ah ; 30 e4 9607 9590 mov dx, ax ; 89 c2 9608 9591 sal dx, 008h ; c1 e2 08 9609 9592 mov ax, strict word 00030h ; b8 30 00 9610 call 016ach ; e8 eaae9593 call 016ach ; e8 96 ae 9611 9594 xor ah, ah ; 30 e4 9612 9595 or dx, ax ; 09 c2 9613 9596 mov word [bp+012h], dx ; 89 56 12 9614 9597 cmp dx, strict byte 0ffc0h ; 83 fa c0 9615 jbe short 06 7d3h ; 76 059598 jbe short 06827h ; 76 05 9616 9599 mov word [bp+012h], strict word 0ffc0h ; c7 46 12 c0 ff 9617 9600 and byte [bp+018h], 0feh ; 80 66 18 fe 9618 jmp near 06 6f0h ; e9 16 ff9601 jmp near 06744h ; e9 16 ff 9619 9602 cli ; fa 9620 9603 mov ax, strict word 00001h ; b8 01 00 9621 call 065 5bh ; e8 7a fd9604 call 065afh ; e8 7a fd 9622 9605 mov dx, word [bp+006h] ; 8b 56 06 9623 9606 add dx, strict byte 00038h ; 83 c2 38 9624 9607 mov ax, word [bp+014h] ; 8b 46 14 9625 9608 mov bx, strict word 0ffffh ; bb ff ff 9626 call 0167ah ; e8 8aae9609 call 0167ah ; e8 36 ae 9627 9610 mov dx, word [bp+006h] ; 8b 56 06 9628 9611 add dx, strict byte 0003ah ; 83 c2 3a 9629 9612 mov ax, word [bp+014h] ; 8b 46 14 9630 9613 xor bx, bx ; 31 db 9631 call 0167ah ; e8 7cae9614 call 0167ah ; e8 28 ae 9632 9615 mov dx, word [bp+006h] ; 8b 56 06 9633 9616 add dx, strict byte 0003ch ; 83 c2 3c 9634 9617 mov ax, word [bp+014h] ; 8b 46 14 9635 9618 mov bx, strict word 0000fh ; bb 0f 00 9636 call 0165eh ; e8 51 ae9619 call 0165eh ; e8 fd ad 9637 9620 mov dx, word [bp+006h] ; 8b 56 06 9638 9621 add dx, strict byte 0003dh ; 83 c2 3d 9639 9622 mov ax, word [bp+014h] ; 8b 46 14 9640 9623 mov bx, 0009bh ; bb 9b 00 9641 call 0165eh ; e8 42 ae9624 call 0165eh ; e8 ee ad 9642 9625 mov dx, word [bp+006h] ; 8b 56 06 9643 9626 add dx, strict byte 0003eh ; 83 c2 3e 9644 9627 mov ax, word [bp+014h] ; 8b 46 14 9645 9628 xor bx, bx ; 31 db 9646 call 0167ah ; e8 50 ae9629 call 0167ah ; e8 fc ad 9647 9630 mov AL, strict byte 011h ; b0 11 9648 9631 mov dx, strict word 00020h ; ba 20 00 … … 9674 9657 out DX, AL ; ee 9675 9658 mov si, word [bp+006h] ; 8b 76 06 9676 call 068 6bh ; e8 00 009659 call 068bfh ; e8 00 00 9677 9660 pop di ; 5f 9678 9661 add di, strict byte 00018h ; 83 c7 18 … … 9702 9685 push cx ; 51 9703 9686 retf ; cb 9704 jmp near 06 6f0h ; e9 49 fe9687 jmp near 06744h ; e9 49 fe 9705 9688 mov bx, 00da0h ; bb a0 0d 9706 9689 mov cx, ds ; 8c d9 9707 9690 mov ax, strict word 00004h ; b8 04 00 9708 call 01923h ; e8 71b09691 call 01923h ; e8 1d b0 9709 9692 push 0086eh ; 68 6e 08 9710 9693 push strict byte 00004h ; 6a 04 9711 call 01966h ; e8 acb09694 call 01966h ; e8 58 b0 9712 9695 add sp, strict byte 00004h ; 83 c4 04 9713 9696 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9716 9699 or ah, 086h ; 80 cc 86 9717 9700 mov word [bp+012h], ax ; 89 46 12 9718 jmp near 06 6f0h ; e9 21 fe9701 jmp near 06744h ; e9 21 fe 9719 9702 mov word [bp+018h], cx ; 89 4e 18 9720 9703 mov word [bp+012h], ax ; 89 46 12 9721 9704 mov word [bp+00ch], 0e6f5h ; c7 46 0c f5 e6 9722 9705 mov word [bp+014h], 0f000h ; c7 46 14 00 f0 9723 jmp near 06 6f0h ; e9 0e fe9706 jmp near 06744h ; e9 0e fe 9724 9707 mov dx, strict word 0000eh ; ba 0e 00 9725 9708 mov ax, strict word 00040h ; b8 40 00 9726 call 0166ch ; e8 81ad9709 call 0166ch ; e8 2d ad 9727 9710 mov word [bp+014h], ax ; 89 46 14 9728 jmp near 06 7d3h ; e9 e2 fe9711 jmp near 06827h ; e9 e2 fe 9729 9712 push 0089dh ; 68 9d 08 9730 9713 push strict byte 00008h ; 6a 08 9731 jmp short 06 8b7h ; eb bf9714 jmp short 0690bh ; eb bf 9732 9715 test byte [bp+012h], 0ffh ; f6 46 12 ff 9733 jne short 069 1dh ; 75 1f9716 jne short 06971h ; 75 1f 9734 9717 mov word [bp+012h], ax ; 89 46 12 9735 9718 mov ax, word [bp+00ch] ; 8b 46 0c 9736 9719 xor ah, ah ; 30 e4 9737 9720 cmp ax, strict word 00001h ; 3d 01 00 9738 jc short 069 16h ; 72 0b9721 jc short 0696ah ; 72 0b 9739 9722 cmp ax, strict word 00003h ; 3d 03 00 9740 jnbe short 069 16h ; 77 069723 jnbe short 0696ah ; 77 06 9741 9724 mov word [bp+018h], cx ; 89 4e 18 9742 jmp near 06 6f0h ; e9 da fd9725 jmp near 06744h ; e9 da fd 9743 9726 or byte [bp+018h], 001h ; 80 4e 18 01 9744 jmp near 06 6f0h ; e9 d3 fd9727 jmp near 06744h ; e9 d3 fd 9745 9728 mov bx, 00da0h ; bb a0 0d 9746 9729 mov cx, ds ; 8c d9 9747 9730 mov ax, strict word 00004h ; b8 04 00 9748 call 01923h ; e8 fbaf9731 call 01923h ; e8 a7 af 9749 9732 push word [bp+00ch] ; ff 76 0c 9750 9733 push word [bp+012h] ; ff 76 12 9751 9734 push 008b4h ; 68 b4 08 9752 9735 push strict byte 00004h ; 6a 04 9753 call 01966h ; e8 30 b09736 call 01966h ; e8 dc af 9754 9737 add sp, strict byte 00008h ; 83 c4 08 9755 jmp short 06 8bdh ; eb 829756 mov cx, 0de6ah ; b9 6a de9757 push strict byte 0fffeh ; 6a fe9758 push strict byte 0004dh ; 6a 4d9759 imul bp, word [bp+di+06bh], strict byte 0ff88h ; 6b 6b 6b 889760 imul bp, word [bp+si-03395h], strict byte 0006bh ; 6b aa 6b cc 6b9761 or word [si+03dh], bp ; 09 6c 3d9738 jmp short 06911h ; eb 82 9739 or ax, 0326bh ; 0d 6b 32 9740 imul dx, word [bp+si+06bh], strict byte 0ffa1h ; 6b 52 6b a1 9741 imul di, word [bx-02395h], strict byte 0006bh ; 6b bf 6b dc 6b 9742 db 0feh 9743 imul sp, word [bx+si], strict byte 0006ch ; 6b 20 6c 9744 pop bp ; 5d 9762 9745 insb ; 6c 9763 _int15_function32: ; 0xf694f LB 0x38a 9746 xchg cx, ax ; 91 9747 insb ; 6c 9748 _int15_function32: ; 0xf69a3 LB 0x38a 9764 9749 push bp ; 55 9765 9750 mov bp, sp ; 89 e5 … … 9773 9758 xor dh, dh ; 30 f6 9774 9759 cmp ax, 000e8h ; 3d e8 00 9775 je short 06 9b6h ; 74 4a9760 je short 06a0ah ; 74 4a 9776 9761 cmp ax, 000d0h ; 3d d0 00 9777 je short 069 83h ; 74 129762 je short 069d7h ; 74 12 9778 9763 cmp ax, 00086h ; 3d 86 00 9779 jne short 06 9b4h ; 75 3e9764 jne short 06a08h ; 75 3e 9780 9765 sti ; fb 9781 9766 mov dx, word [bp+01ch] ; 8b 56 1c 9782 9767 mov ax, word [bp+018h] ; 8b 46 18 9783 call 065 18h ; e8 98 fb9784 jmp near 06b 47h ; e9 c4 019768 call 0656ch ; e8 98 fb 9769 jmp near 06b9bh ; e9 c4 01 9785 9770 cmp dx, strict byte 0004fh ; 83 fa 4f 9786 jne short 06 9b4h ; 75 2c9771 jne short 06a08h ; 75 2c 9787 9772 cmp word [bp+016h], 05052h ; 81 7e 16 52 50 9788 jne short 06 9eah ; 75 5b9773 jne short 06a3eh ; 75 5b 9789 9774 cmp word [bp+014h], 04f43h ; 81 7e 14 43 4f 9790 jne short 06 9eah ; 75 549775 jne short 06a3eh ; 75 54 9791 9776 cmp word [bp+01eh], 04d4fh ; 81 7e 1e 4f 4d 9792 jne short 06 9eah ; 75 4d9777 jne short 06a3eh ; 75 4d 9793 9778 cmp word [bp+01ch], 04445h ; 81 7e 1c 45 44 9794 jne short 06 9eah ; 75 469779 jne short 06a3eh ; 75 46 9795 9780 mov ax, word [bp+00ah] ; 8b 46 0a 9796 9781 or ax, word [bp+008h] ; 0b 46 08 9797 jne short 06 9eah ; 75 3e9782 jne short 06a3eh ; 75 3e 9798 9783 mov ax, word [bp+006h] ; 8b 46 06 9799 9784 or ax, word [bp+004h] ; 0b 46 04 9800 je short 06 9b8h ; 74 049801 jmp short 06 9eah ; eb 349802 jmp short 06 9e0h ; eb 289785 je short 06a0ch ; 74 04 9786 jmp short 06a3eh ; eb 34 9787 jmp short 06a34h ; eb 28 9803 9788 mov word [bp+028h], bx ; 89 5e 28 9804 9789 mov ax, word [bp+014h] ; 8b 46 14 … … 9812 9797 mov word [bp+020h], 03332h ; c7 46 20 32 33 9813 9798 mov word [bp+022h], 04941h ; c7 46 22 41 49 9814 jmp near 06b 47h ; e9 67 019799 jmp near 06b9bh ; e9 67 01 9815 9800 cmp dx, strict byte 00020h ; 83 fa 20 9816 je short 06 9f0h ; 74 0b9801 je short 06a44h ; 74 0b 9817 9802 cmp dx, strict byte 00001h ; 83 fa 01 9818 je short 06 9edh ; 74 039819 jmp near 06b 1dh ; e9 30 019820 jmp near 06c 8bh ; e9 9b 029803 je short 06a41h ; 74 03 9804 jmp near 06b71h ; e9 30 01 9805 jmp near 06cdfh ; e9 9b 02 9821 9806 cmp word [bp+01ah], 0534dh ; 81 7e 1a 4d 53 9822 jne short 06 9eah ; 75 f39807 jne short 06a3eh ; 75 f3 9823 9808 cmp word [bp+018h], 04150h ; 81 7e 18 50 41 9824 jne short 06 9eah ; 75 ec9809 jne short 06a3eh ; 75 ec 9825 9810 mov ax, strict word 00035h ; b8 35 00 9826 call 016ach ; e8 a8ac9811 call 016ach ; e8 54 ac 9827 9812 mov bl, al ; 88 c3 9828 9813 xor bh, bh ; 30 ff … … 9831 9816 sal bx, 1 ; d1 e3 9832 9817 rcl dx, 1 ; d1 d2 9833 loop 06a 0dh ; e2 fa9818 loop 06a61h ; e2 fa 9834 9819 mov ax, strict word 00034h ; b8 34 00 9835 call 016ach ; e8 93ac9820 call 016ach ; e8 3f ac 9836 9821 xor ah, ah ; 30 e4 9837 9822 mov dx, bx ; 89 da … … 9841 9826 adc dx, 00100h ; 81 d2 00 01 9842 9827 cmp dx, 00100h ; 81 fa 00 01 9843 jc short 06a 33h ; 72 069844 jne short 06a 61h ; 75 329828 jc short 06a87h ; 72 06 9829 jne short 06ab5h ; 75 32 9845 9830 test bx, bx ; 85 db 9846 jnbe short 06a 61h ; 77 2e9831 jnbe short 06ab5h ; 77 2e 9847 9832 mov ax, strict word 00031h ; b8 31 00 9848 call 016ach ; e8 73ac9833 call 016ach ; e8 1f ac 9849 9834 mov bl, al ; 88 c3 9850 9835 xor bh, bh ; 30 ff … … 9853 9838 sal bx, 1 ; d1 e3 9854 9839 rcl dx, 1 ; d1 d2 9855 loop 06a 42h ; e2 fa9840 loop 06a96h ; e2 fa 9856 9841 mov ax, strict word 00030h ; b8 30 00 9857 call 016ach ; e8 5eac9842 call 016ach ; e8 0a ac 9858 9843 xor ah, ah ; 30 e4 9859 9844 or bx, ax ; 09 c3 … … 9861 9846 sal bx, 1 ; d1 e3 9862 9847 rcl dx, 1 ; d1 d2 9863 loop 06a 55h ; e2 fa9848 loop 06aa9h ; e2 fa 9864 9849 add bx, strict byte 00000h ; 83 c3 00 9865 9850 adc dx, strict byte 00010h ; 83 d2 10 9866 9851 mov ax, strict word 00062h ; b8 62 00 9867 call 016ach ; e8 45 ac9852 call 016ach ; e8 f1 ab 9868 9853 xor ah, ah ; 30 e4 9869 9854 mov word [bp-00ah], ax ; 89 46 f6 … … 9873 9858 sal word [bp-00ah], 1 ; d1 66 f6 9874 9859 rcl word [bp-008h], 1 ; d1 56 f8 9875 loop 06a 74h ; e2 f89860 loop 06ac8h ; e2 f8 9876 9861 mov ax, strict word 00061h ; b8 61 00 9877 call 016ach ; e8 2a ac9862 call 016ach ; e8 d6 ab 9878 9863 xor ah, ah ; 30 e4 9879 9864 or word [bp-00ah], ax ; 09 46 f6 … … 9882 9867 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 9883 9868 mov ax, strict word 00063h ; b8 63 00 9884 call 016ach ; e8 14 ac9869 call 016ach ; e8 c0 ab 9885 9870 mov byte [bp-004h], al ; 88 46 fc 9886 9871 mov byte [bp-006h], al ; 88 46 fa 9887 9872 mov ax, word [bp+014h] ; 8b 46 14 9888 9873 cmp ax, strict word 00009h ; 3d 09 00 9889 jnbe short 06b 1dh ; 77 779874 jnbe short 06b71h ; 77 77 9890 9875 mov si, ax ; 89 c6 9891 9876 add si, ax ; 01 c6 … … 9894 9879 mov cx, dx ; 89 d1 9895 9880 adc cx, strict byte 0ffffh ; 83 d1 ff 9896 jmp word [cs:si+069 3bh] ; 2e ff a4 3b699881 jmp word [cs:si+0698fh] ; 2e ff a4 8f 69 9897 9882 push strict byte 00001h ; 6a 01 9898 9883 push strict byte 00000h ; 6a 00 … … 9904 9889 xor bx, bx ; 31 db 9905 9890 xor cx, cx ; 31 c9 9906 call 065 8bh ; e8 ba fa9891 call 065dfh ; e8 ba fa 9907 9892 mov word [bp+014h], strict word 00001h ; c7 46 14 01 00 9908 9893 mov word [bp+016h], strict word 00000h ; c7 46 16 00 00 9909 jmp near 06c 70h ; e9 92 019894 jmp near 06cc4h ; e9 92 01 9910 9895 push strict byte 00002h ; 6a 02 9911 9896 push strict byte 00000h ; 6a 00 … … 9917 9902 mov bx, 0fc00h ; bb 00 fc 9918 9903 mov cx, strict word 00009h ; b9 09 00 9919 call 065 8bh ; e8 94 fa9904 call 065dfh ; e8 94 fa 9920 9905 mov word [bp+014h], strict word 00002h ; c7 46 14 02 00 9921 jmp short 06 ad6h ; eb d89906 jmp short 06b2ah ; eb d8 9922 9907 push strict byte 00002h ; 6a 02 9923 9908 push strict byte 00000h ; 6a 00 … … 9929 9914 xor bx, bx ; 31 db 9930 9915 mov cx, strict word 0000fh ; b9 0f 00 9931 call 065 8bh ; e8 75 fa9916 call 065dfh ; e8 75 fa 9932 9917 mov word [bp+014h], strict word 00003h ; c7 46 14 03 00 9933 jmp short 06 ad6h ; eb b99918 jmp short 06b2ah ; eb b9 9934 9919 mov bx, 00da0h ; bb a0 0d 9935 9920 mov cx, ds ; 8c d9 9936 9921 mov ax, strict word 00004h ; b8 04 00 9937 call 01923h ; e8 fbad9922 call 01923h ; e8 a7 ad 9938 9923 push word [bp+014h] ; ff 76 14 9939 9924 push word [bp+020h] ; ff 76 20 9940 9925 push 008b4h ; 68 b4 08 9941 9926 push strict byte 00004h ; 6a 04 9942 call 01966h ; e8 30 ae9927 call 01966h ; e8 dc ad 9943 9928 add sp, strict byte 00008h ; 83 c4 08 9944 9929 or byte [bp+028h], 001h ; 80 4e 28 01 … … 9960 9945 xor bx, bx ; 31 db 9961 9946 mov cx, strict word 00010h ; b9 10 00 9962 call 065 8bh ; e8 28 fa9947 call 065dfh ; e8 28 fa 9963 9948 mov word [bp+014h], strict word 00004h ; c7 46 14 04 00 9964 jmp near 06 ad6h ; e9 6b ff9949 jmp near 06b2ah ; e9 6b ff 9965 9950 push strict byte 00003h ; 6a 03 9966 9951 push strict byte 00000h ; 6a 00 … … 9972 9957 mov bx, ax ; 89 c3 9973 9958 mov ax, si ; 89 f0 9974 call 065 8bh ; e8 0b fa9959 call 065dfh ; e8 0b fa 9975 9960 mov word [bp+014h], strict word 00005h ; c7 46 14 05 00 9976 jmp near 06 ad6h ; e9 4e ff9961 jmp near 06b2ah ; e9 4e ff 9977 9962 push strict byte 00002h ; 6a 02 9978 9963 push strict byte 00000h ; 6a 00 … … 9984 9969 xor bx, bx ; 31 db 9985 9970 mov cx, 0fec0h ; b9 c0 fe 9986 call 065 8bh ; e8 e9 f99971 call 065dfh ; e8 e9 f9 9987 9972 mov word [bp+014h], strict word 00006h ; c7 46 14 06 00 9988 jmp near 06 ad6h ; e9 2c ff9973 jmp near 06b2ah ; e9 2c ff 9989 9974 push strict byte 00002h ; 6a 02 9990 9975 push strict byte 00000h ; 6a 00 … … 9996 9981 xor bx, bx ; 31 db 9997 9982 mov cx, 0fee0h ; b9 e0 fe 9998 call 065 8bh ; e8 c7 f99983 call 065dfh ; e8 c7 f9 9999 9984 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 10000 jmp near 06 ad6h ; e9 0a ff9985 jmp near 06b2ah ; e9 0a ff 10001 9986 push strict byte 00002h ; 6a 02 10002 9987 push strict byte 00000h ; 6a 00 … … 10008 9993 xor bx, bx ; 31 db 10009 9994 mov cx, strict word 0fffch ; b9 fc ff 10010 call 065 8bh ; e8 a7 f99995 call 065dfh ; e8 a7 f9 10011 9996 cmp byte [bp-004h], 000h ; 80 7e fc 00 10012 jne short 06 bf1h ; 75 079997 jne short 06c45h ; 75 07 10013 9998 mov ax, word [bp-008h] ; 8b 46 f8 10014 9999 test ax, ax ; 85 c0 10015 je short 06c 01h ; 74 1010000 je short 06c55h ; 74 10 10016 10001 mov word [bp+014h], strict word 00009h ; c7 46 14 09 00 10017 jmp near 06 ad6h ; e9 dd fe10002 jmp near 06b2ah ; e9 dd fe 10018 10003 mov word [bp+014h], strict word 00008h ; c7 46 14 08 00 10019 jmp near 06 ad6h ; e9 d5 fe10004 jmp near 06b2ah ; e9 d5 fe 10020 10005 mov word [bp+014h], ax ; 89 46 14 10021 10006 mov word [bp+016h], ax ; 89 46 16 10022 jmp short 06c 70h ; eb 6710007 jmp short 06cc4h ; eb 67 10023 10008 push strict byte 00002h ; 6a 02 10024 10009 push strict byte 00000h ; 6a 00 … … 10030 10015 xor bx, bx ; 31 db 10031 10016 xor cx, cx ; 31 c9 10032 call 065 8bh ; e8 6b f910017 call 065dfh ; e8 6b f9 10033 10018 cmp byte [bp-004h], 000h ; 80 7e fc 00 10034 jne short 06c 2dh ; 75 0710019 jne short 06c81h ; 75 07 10035 10020 mov ax, word [bp-008h] ; 8b 46 f8 10036 10021 test ax, ax ; 85 c0 10037 je short 06c 35h ; 74 0810022 je short 06c89h ; 74 08 10038 10023 mov word [bp+014h], strict word 00009h ; c7 46 14 09 00 10039 jmp near 06 ad6h ; e9 a1 fe10024 jmp near 06b2ah ; e9 a1 fe 10040 10025 mov word [bp+014h], ax ; 89 46 14 10041 10026 mov word [bp+016h], ax ; 89 46 16 10042 jmp short 06c 70h ; eb 3310027 jmp short 06cc4h ; eb 33 10043 10028 cmp byte [bp-004h], 000h ; 80 7e fc 00 10044 jne short 06c 49h ; 75 0610029 jne short 06c9dh ; 75 06 10045 10030 cmp word [bp-008h], strict byte 00000h ; 83 7e f8 00 10046 je short 06c 70h ; 74 2710031 je short 06cc4h ; 74 27 10047 10032 push strict byte 00001h ; 6a 01 10048 10033 mov al, byte [bp-006h] ; 8a 46 fa … … 10058 10043 xor bx, bx ; 31 db 10059 10044 xor cx, cx ; 31 c9 10060 call 065 8bh ; e8 23 f910045 call 065dfh ; e8 23 f9 10061 10046 xor ax, ax ; 31 c0 10062 10047 mov word [bp+014h], ax ; 89 46 14 … … 10067 10052 mov word [bp+01eh], strict word 00000h ; c7 46 1e 00 00 10068 10053 and byte [bp+028h], 0feh ; 80 66 28 fe 10069 jmp near 06b 47h ; e9 bc fe10054 jmp near 06b9bh ; e9 bc fe 10070 10055 mov word [bp+028h], bx ; 89 5e 28 10071 10056 mov ax, strict word 00031h ; b8 31 00 10072 call 016ach ; e8 18 aa10057 call 016ach ; e8 c4 a9 10073 10058 xor ah, ah ; 30 e4 10074 10059 mov dx, ax ; 89 c2 10075 10060 sal dx, 008h ; c1 e2 08 10076 10061 mov ax, strict word 00030h ; b8 30 00 10077 call 016ach ; e8 0b aa10062 call 016ach ; e8 b7 a9 10078 10063 xor ah, ah ; 30 e4 10079 10064 or dx, ax ; 09 c2 10080 10065 mov word [bp+01ch], dx ; 89 56 1c 10081 10066 cmp dx, 03c00h ; 81 fa 00 3c 10082 jbe short 06 cb3h ; 76 0510067 jbe short 06d07h ; 76 05 10083 10068 mov word [bp+01ch], 03c00h ; c7 46 1c 00 3c 10084 10069 mov ax, strict word 00035h ; b8 35 00 10085 call 016ach ; e8 f3a910070 call 016ach ; e8 9f a9 10086 10071 xor ah, ah ; 30 e4 10087 10072 mov dx, ax ; 89 c2 10088 10073 sal dx, 008h ; c1 e2 08 10089 10074 mov ax, strict word 00034h ; b8 34 00 10090 call 016ach ; e8 e6a910075 call 016ach ; e8 92 a9 10091 10076 xor ah, ah ; 30 e4 10092 10077 or dx, ax ; 09 c2 … … 10095 10080 mov word [bp+020h], ax ; 89 46 20 10096 10081 mov word [bp+014h], dx ; 89 56 14 10097 jmp near 06b 47h ; e9 6e fe10098 _int15_blkmove: ; 0xf6 cd9LB 0x18a10082 jmp near 06b9bh ; e9 6e fe 10083 _int15_blkmove: ; 0xf6d2d LB 0x18a 10099 10084 push bp ; 55 10100 10085 mov bp, sp ; 89 e5 … … 10105 10090 cli ; fa 10106 10091 mov ax, strict word 00001h ; b8 01 00 10107 call 065 5bh ; e8 74 f810092 call 065afh ; e8 74 f8 10108 10093 mov di, ax ; 89 c7 10109 10094 mov ax, word [bp+006h] ; 8b 46 06 … … 10115 10100 mov byte [bp-006h], dl ; 88 56 fa 10116 10101 cmp cx, ax ; 39 c1 10117 jnc short 06d 06h ; 73 0510102 jnc short 06d5ah ; 73 05 10118 10103 db 0feh, 0c2h 10119 10104 ; inc dl ; fe c2 … … 10123 10108 mov ax, word [bp+006h] ; 8b 46 06 10124 10109 mov bx, strict word 0002fh ; bb 2f 00 10125 call 0167ah ; e8 65a910110 call 0167ah ; e8 11 a9 10126 10111 mov dx, word [bp+00ah] ; 8b 56 0a 10127 10112 add dx, strict byte 0000ah ; 83 c2 0a 10128 10113 mov ax, word [bp+006h] ; 8b 46 06 10129 10114 mov bx, cx ; 89 cb 10130 call 0167ah ; e8 57a910115 call 0167ah ; e8 03 a9 10131 10116 mov bl, byte [bp-006h] ; 8a 5e fa 10132 10117 xor bh, bh ; 30 ff … … 10134 10119 add dx, strict byte 0000ch ; 83 c2 0c 10135 10120 mov ax, word [bp+006h] ; 8b 46 06 10136 call 0165eh ; e8 2a a910121 call 0165eh ; e8 d6 a8 10137 10122 mov dx, word [bp+00ah] ; 8b 56 0a 10138 10123 add dx, strict byte 0000dh ; 83 c2 0d 10139 10124 mov ax, word [bp+006h] ; 8b 46 06 10140 10125 mov bx, 00093h ; bb 93 00 10141 call 0165eh ; e8 1b a910126 call 0165eh ; e8 c7 a8 10142 10127 mov dx, word [bp+00ah] ; 8b 56 0a 10143 10128 add dx, strict byte 0000eh ; 83 c2 0e 10144 10129 mov ax, word [bp+006h] ; 8b 46 06 10145 10130 xor bx, bx ; 31 db 10146 call 0167ah ; e8 29 a910131 call 0167ah ; e8 d5 a8 10147 10132 mov dx, word [bp+00ah] ; 8b 56 0a 10148 10133 add dx, strict byte 00020h ; 83 c2 20 10149 10134 mov ax, word [bp+006h] ; 8b 46 06 10150 10135 mov bx, strict word 0ffffh ; bb ff ff 10151 call 0167ah ; e8 1a a910136 call 0167ah ; e8 c6 a8 10152 10137 mov dx, word [bp+00ah] ; 8b 56 0a 10153 10138 add dx, strict byte 00022h ; 83 c2 22 10154 10139 mov ax, word [bp+006h] ; 8b 46 06 10155 10140 xor bx, bx ; 31 db 10156 call 0167ah ; e8 0c a910141 call 0167ah ; e8 b8 a8 10157 10142 mov dx, word [bp+00ah] ; 8b 56 0a 10158 10143 add dx, strict byte 00024h ; 83 c2 24 10159 10144 mov ax, word [bp+006h] ; 8b 46 06 10160 10145 mov bx, strict word 0000fh ; bb 0f 00 10161 call 0165eh ; e8 e1a810146 call 0165eh ; e8 8d a8 10162 10147 mov dx, word [bp+00ah] ; 8b 56 0a 10163 10148 add dx, strict byte 00025h ; 83 c2 25 10164 10149 mov ax, word [bp+006h] ; 8b 46 06 10165 10150 mov bx, 0009bh ; bb 9b 00 10166 call 0165eh ; e8 d2a810151 call 0165eh ; e8 7e a8 10167 10152 mov dx, word [bp+00ah] ; 8b 56 0a 10168 10153 add dx, strict byte 00026h ; 83 c2 26 10169 10154 mov ax, word [bp+006h] ; 8b 46 06 10170 10155 xor bx, bx ; 31 db 10171 call 0167ah ; e8 e0a810156 call 0167ah ; e8 8c a8 10172 10157 mov ax, ss ; 8c d0 10173 10158 mov cx, ax ; 89 c1 … … 10179 10164 mov ax, word [bp+006h] ; 8b 46 06 10180 10165 mov bx, strict word 0ffffh ; bb ff ff 10181 call 0167ah ; e8 c4a810166 call 0167ah ; e8 70 a8 10182 10167 mov dx, word [bp+00ah] ; 8b 56 0a 10183 10168 add dx, strict byte 0002ah ; 83 c2 2a 10184 10169 mov ax, word [bp+006h] ; 8b 46 06 10185 10170 mov bx, cx ; 89 cb 10186 call 0167ah ; e8 b6a810171 call 0167ah ; e8 62 a8 10187 10172 mov bl, byte [bp-008h] ; 8a 5e f8 10188 10173 xor bh, bh ; 30 ff … … 10190 10175 add dx, strict byte 0002ch ; 83 c2 2c 10191 10176 mov ax, word [bp+006h] ; 8b 46 06 10192 call 0165eh ; e8 89a810177 call 0165eh ; e8 35 a8 10193 10178 mov dx, word [bp+00ah] ; 8b 56 0a 10194 10179 add dx, strict byte 0002dh ; 83 c2 2d 10195 10180 mov ax, word [bp+006h] ; 8b 46 06 10196 10181 mov bx, 00093h ; bb 93 00 10197 call 0165eh ; e8 7aa810182 call 0165eh ; e8 26 a8 10198 10183 mov dx, word [bp+00ah] ; 8b 56 0a 10199 10184 add dx, strict byte 0002eh ; 83 c2 2e 10200 10185 mov ax, word [bp+006h] ; 8b 46 06 10201 10186 xor bx, bx ; 31 db 10202 call 0167ah ; e8 88a810187 call 0167ah ; e8 34 a8 10203 10188 lea bx, [bp+004h] ; 8d 5e 04 10204 10189 mov si, word [bp+00ah] ; 8b 76 0a … … 10210 10195 mov word [00467h], bx ; 89 1e 67 04 10211 10196 mov [00469h], ss ; 8c 16 69 04 10212 call 06e 0dh ; e8 00 0010197 call 06e61h ; e8 00 00 10213 10198 pop di ; 5f 10214 10199 add di, strict byte 00018h ; 83 c7 18 … … 10242 10227 int3 ; cc 10243 10228 mov ax, di ; 89 f8 10244 call 065 5bh ; e8 08 f710229 call 065afh ; e8 08 f7 10245 10230 sti ; fb 10246 10231 mov byte [bp+017h], 000h ; c6 46 17 00 … … 10251 10236 pop bp ; 5d 10252 10237 retn ; c3 10253 _inv_op_handler: ; 0xf6e 63LB 0x19b10238 _inv_op_handler: ; 0xf6eb7 LB 0x19b 10254 10239 push bp ; 55 10255 10240 mov bp, sp ; 89 e5 … … 10260 10245 les bx, [bp+018h] ; c4 5e 18 10261 10246 cmp byte [es:bx], 0f0h ; 26 80 3f f0 10262 jne short 06e 79h ; 75 0610247 jne short 06ecdh ; 75 06 10263 10248 inc word [bp+018h] ; ff 46 18 10264 jmp near 0 6ff7h ; e9 7e 0110249 jmp near 0704bh ; e9 7e 01 10265 10250 cmp word [es:bx], 0050fh ; 26 81 3f 0f 05 10266 je short 06e 83h ; 74 0310267 jmp near 0 6ff3h ; e9 70 0110251 je short 06ed7h ; 74 03 10252 jmp near 07047h ; e9 70 01 10268 10253 mov si, 00800h ; be 00 08 10269 10254 xor ax, ax ; 31 c0 … … 10294 10279 sal ax, 1 ; d1 e0 10295 10280 rcl dx, 1 ; d1 d2 10296 loop 06 ed4h ; e2 fa10281 loop 06f28h ; e2 fa 10297 10282 cmp bx, dx ; 39 d3 10298 jne short 06 ee2h ; 75 0410283 jne short 06f36h ; 75 04 10299 10284 cmp di, ax ; 39 c7 10300 je short 06 ee7h ; 74 0510285 je short 06f3bh ; 74 05 10301 10286 mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 10302 10287 mov es, [bp-006h] ; 8e 46 fa … … 10309 10294 sal ax, 1 ; d1 e0 10310 10295 rcl dx, 1 ; d1 d2 10311 loop 06 efdh ; e2 fa10296 loop 06f51h ; e2 fa 10312 10297 cmp bx, dx ; 39 d3 10313 jne short 06f 0bh ; 75 0410298 jne short 06f5fh ; 75 04 10314 10299 cmp di, ax ; 39 c7 10315 je short 06f 0fh ; 74 0410300 je short 06f63h ; 74 04 10316 10301 or byte [bp-008h], 002h ; 80 4e f8 02 10317 10302 push strict byte 00000h ; 6a 00 … … 10367 10352 mov ax, strict word 00008h ; b8 08 00 10368 10353 test cx, strict word 00001h ; f7 c1 01 00 10369 je near 0 6fb0h ; 0f 84 02 0010354 je near 07004h ; 0f 84 02 00 10370 10355 mov es, ax ; 8e c0 10371 10356 test cx, strict word 00002h ; f7 c1 02 00 10372 je near 0 6fd8h ; 0f 84 20 0010357 je near 0702ch ; 0f 84 20 00 10373 10358 mov bx, word [word ss:00000h] ; 36 8b 1e 00 00 10374 10359 mov word [word ss:00008h], bx ; 36 89 1e 08 00 … … 10387 10372 mov ss, [word ss:00020h] ; 36 8e 16 20 00 10388 10373 iret ; cf 10389 jmp short 0 6ff7h ; eb 0410374 jmp short 0704bh ; eb 04 10390 10375 sti ; fb 10391 10376 hlt ; f4 10392 jmp short 0 6ff4h ; eb fd10377 jmp short 07048h ; eb fd 10393 10378 lea sp, [bp-004h] ; 8d 66 fc 10394 10379 pop di ; 5f … … 10396 10381 pop bp ; 5d 10397 10382 retn ; c3 10398 init_rtc_: ; 0xf 6ffeLB 0x2810383 init_rtc_: ; 0xf7052 LB 0x28 10399 10384 push bp ; 55 10400 10385 mov bp, sp ; 89 e5 … … 10402 10387 mov dx, strict word 00026h ; ba 26 00 10403 10388 mov ax, strict word 0000ah ; b8 0a 00 10404 call 016c7h ; e8 bca610389 call 016c7h ; e8 68 a6 10405 10390 mov dx, strict word 00002h ; ba 02 00 10406 10391 mov ax, strict word 0000bh ; b8 0b 00 10407 call 016c7h ; e8 b3a610392 call 016c7h ; e8 5f a6 10408 10393 mov ax, strict word 0000ch ; b8 0c 00 10409 call 016ach ; e8 92a610394 call 016ach ; e8 3e a6 10410 10395 mov ax, strict word 0000dh ; b8 0d 00 10411 call 016ach ; e8 8ca610396 call 016ach ; e8 38 a6 10412 10397 lea sp, [bp-002h] ; 8d 66 fe 10413 10398 pop dx ; 5a 10414 10399 pop bp ; 5d 10415 10400 retn ; c3 10416 rtc_updating_: ; 0xf70 26LB 0x2110401 rtc_updating_: ; 0xf707a LB 0x21 10417 10402 push bp ; 55 10418 10403 mov bp, sp ; 89 e5 … … 10420 10405 mov dx, 061a8h ; ba a8 61 10421 10406 dec dx ; 4a 10422 je short 070 3eh ; 74 0e10407 je short 07092h ; 74 0e 10423 10408 mov ax, strict word 0000ah ; b8 0a 00 10424 call 016ach ; e8 76a610409 call 016ach ; e8 22 a6 10425 10410 test AL, strict byte 080h ; a8 80 10426 jne short 070 2dh ; 75 f310411 jne short 07081h ; 75 f3 10427 10412 xor ax, ax ; 31 c0 10428 jmp short 070 41h ; eb 0310413 jmp short 07095h ; eb 03 10429 10414 mov ax, strict word 00001h ; b8 01 00 10430 10415 lea sp, [bp-002h] ; 8d 66 fe … … 10432 10417 pop bp ; 5d 10433 10418 retn ; c3 10434 _int70_function: ; 0xf70 47LB 0xbf10419 _int70_function: ; 0xf709b LB 0xbf 10435 10420 push bp ; 55 10436 10421 mov bp, sp ; 89 e5 … … 10438 10423 push ax ; 50 10439 10424 mov ax, strict word 0000bh ; b8 0b 00 10440 call 016ach ; e8 5aa610425 call 016ach ; e8 06 a6 10441 10426 mov bl, al ; 88 c3 10442 10427 mov byte [bp-004h], al ; 88 46 fc 10443 10428 mov ax, strict word 0000ch ; b8 0c 00 10444 call 016ach ; e8 4f a610429 call 016ach ; e8 fb a5 10445 10430 mov dl, al ; 88 c2 10446 10431 test bl, 060h ; f6 c3 60 10447 jne short 070 67h ; 75 0310448 jmp near 07 0edh ; e9 86 0010432 jne short 070bbh ; 75 03 10433 jmp near 07141h ; e9 86 00 10449 10434 test AL, strict byte 020h ; a8 20 10450 je short 070 6fh ; 74 0410435 je short 070c3h ; 74 04 10451 10436 sti ; fb 10452 10437 int 04ah ; cd 4a 10453 10438 cli ; fa 10454 10439 test dl, 040h ; f6 c2 40 10455 je short 07 0d7h ; 74 6310440 je short 0712bh ; 74 63 10456 10441 mov dx, 000a0h ; ba a0 00 10457 10442 mov ax, strict word 00040h ; b8 40 00 10458 call 01650h ; e8 d3a510443 call 01650h ; e8 7f a5 10459 10444 test al, al ; 84 c0 10460 je short 07 0edh ; 74 6c10445 je short 07141h ; 74 6c 10461 10446 mov dx, 0009ch ; ba 9c 00 10462 10447 mov ax, strict word 00040h ; b8 40 00 10463 call 01688h ; e8 fea510448 call 01688h ; e8 aa a5 10464 10449 test dx, dx ; 85 d2 10465 jne short 07 0d9h ; 75 4b10450 jne short 0712dh ; 75 4b 10466 10451 cmp ax, 003d1h ; 3d d1 03 10467 jnc short 07 0d9h ; 73 4610452 jnc short 0712dh ; 73 46 10468 10453 mov dx, 00098h ; ba 98 00 10469 10454 mov ax, strict word 00040h ; b8 40 00 10470 call 0166ch ; e8 d0a510455 call 0166ch ; e8 7c a5 10471 10456 mov si, ax ; 89 c6 10472 10457 mov dx, 0009ah ; ba 9a 00 10473 10458 mov ax, strict word 00040h ; b8 40 00 10474 call 0166ch ; e8 c5a510459 call 0166ch ; e8 71 a5 10475 10460 mov cx, ax ; 89 c1 10476 10461 xor bx, bx ; 31 db 10477 10462 mov dx, 000a0h ; ba a0 00 10478 10463 mov ax, strict word 00040h ; b8 40 00 10479 call 0165eh ; e8 aaa510464 call 0165eh ; e8 56 a5 10480 10465 mov dl, byte [bp-004h] ; 8a 56 fc 10481 10466 and dl, 037h ; 80 e2 37 10482 10467 xor dh, dh ; 30 f6 10483 10468 mov ax, strict word 0000bh ; b8 0b 00 10484 call 016c7h ; e8 05 a610469 call 016c7h ; e8 b1 a5 10485 10470 mov dx, cx ; 89 ca 10486 10471 mov ax, si ; 89 f0 10487 call 01650h ; e8 87a510472 call 01650h ; e8 33 a5 10488 10473 mov bl, al ; 88 c3 10489 10474 or bl, 080h ; 80 cb 80 … … 10491 10476 mov dx, cx ; 89 ca 10492 10477 mov ax, si ; 89 f0 10493 call 0165eh ; e8 87a510494 jmp short 07 0edh ; eb 1410478 call 0165eh ; e8 33 a5 10479 jmp short 07141h ; eb 14 10495 10480 mov bx, ax ; 89 c3 10496 10481 add bx, 0fc2fh ; 81 c3 2f fc … … 10499 10484 mov dx, 0009ch ; ba 9c 00 10500 10485 mov ax, strict word 00040h ; b8 40 00 10501 call 0169ah ; e8 ada510502 call 0e030h ; e8 40 6f10486 call 0169ah ; e8 59 a5 10487 call 0e030h ; e8 ec 6e 10503 10488 lea sp, [bp-002h] ; 8d 66 fe 10504 10489 pop si ; 5e 10505 10490 pop bp ; 5d 10506 10491 retn ; c3 10507 sbb AL, strict byte 071h ; 1c7110508 inc bx ; 4310509 jno short 071 63h ; 71 6810510 jno short 07 0a1h ; 71 a410511 jno short 07 0f5h ; 71 f610512 j no short 0712eh ; 71 2d10513 jc short 071 77h ; 72 7410514 jc short 07 0d4h ; 72 cf10515 db 07 2h10516 _int1a_function: ; 0xf71 06LB 0x1d910492 jo short 071bdh ; 70 71 10493 xchg di, ax ; 97 10494 jno short 0710bh ; 71 bc 10495 jno short 07149h ; 71 f8 10496 jno short 0719dh ; 71 4a 10497 jc short 070d6h ; 72 81 10498 jc short 0711fh ; 72 c8 10499 jc short 0717ch ; 72 23 10500 db 073h 10501 _int1a_function: ; 0xf715a LB 0x1d9 10517 10502 push bp ; 55 10518 10503 mov bp, sp ; 89 e5 … … 10520 10505 mov al, byte [bp+013h] ; 8a 46 13 10521 10506 cmp AL, strict byte 007h ; 3c 07 10522 jnbe short 071 6fh ; 77 5e10507 jnbe short 071c3h ; 77 5e 10523 10508 mov bl, al ; 88 c3 10524 10509 xor bh, bh ; 30 ff 10525 10510 add bx, bx ; 01 db 10526 jmp word [cs:bx+07 0f6h] ; 2e ff a7 f6 7010511 jmp word [cs:bx+0714ah] ; 2e ff a7 4a 71 10527 10512 cli ; fa 10528 10513 mov bx, 0046eh ; bb 6e 04 … … 10539 10524 mov byte [es:bx], 000h ; 26 c6 07 00 10540 10525 sti ; fb 10541 jmp short 071 6fh ; eb 2c10526 jmp short 071c3h ; eb 2c 10542 10527 cli ; fa 10543 10528 mov bx, 0046eh ; bb 6e 04 … … 10553 10538 sti ; fb 10554 10539 mov byte [bp+013h], 000h ; c6 46 13 00 10555 jmp short 071 6fh ; eb 0710556 call 070 26h ; e8 bb fe10540 jmp short 071c3h ; eb 07 10541 call 0707ah ; e8 bb fe 10557 10542 test ax, ax ; 85 c0 10558 je short 071 72h ; 74 0310559 jmp near 071 a0h ; e9 2e 0010543 je short 071c6h ; 74 03 10544 jmp near 071f4h ; e9 2e 00 10560 10545 xor ax, ax ; 31 c0 10561 call 016ach ; e8 35 a510546 call 016ach ; e8 e1 a4 10562 10547 mov byte [bp+00fh], al ; 88 46 0f 10563 10548 mov ax, strict word 00002h ; b8 02 00 10564 call 016ach ; e8 2c a510549 call 016ach ; e8 d8 a4 10565 10550 mov byte [bp+010h], al ; 88 46 10 10566 10551 mov ax, strict word 00004h ; b8 04 00 10567 call 016ach ; e8 23 a510552 call 016ach ; e8 cf a4 10568 10553 mov dl, al ; 88 c2 10569 10554 mov byte [bp+011h], al ; 88 46 11 10570 10555 mov ax, strict word 0000bh ; b8 0b 00 10571 call 016ach ; e8 18 a510556 call 016ach ; e8 c4 a4 10572 10557 and AL, strict byte 001h ; 24 01 10573 10558 mov byte [bp+00eh], al ; 88 46 0e … … 10577 10562 pop bp ; 5d 10578 10563 retn ; c3 10579 call 070 26h ; e8 7f fe10564 call 0707ah ; e8 7f fe 10580 10565 test ax, ax ; 85 c0 10581 je short 07 1aeh ; 74 0310582 call 0 6ffeh ; e8 50 fe10566 je short 07202h ; 74 03 10567 call 07052h ; e8 50 fe 10583 10568 mov dl, byte [bp+00fh] ; 8a 56 0f 10584 10569 xor dh, dh ; 30 f6 10585 10570 xor ax, ax ; 31 c0 10586 call 016c7h ; e8 0f a510571 call 016c7h ; e8 bb a4 10587 10572 mov dl, byte [bp+010h] ; 8a 56 10 10588 10573 xor dh, dh ; 30 f6 10589 10574 mov ax, strict word 00002h ; b8 02 00 10590 call 016c7h ; e8 04 a510575 call 016c7h ; e8 b0 a4 10591 10576 mov dl, byte [bp+011h] ; 8a 56 11 10592 10577 xor dh, dh ; 30 f6 10593 10578 mov ax, strict word 00004h ; b8 04 00 10594 call 016c7h ; e8 f9a410579 call 016c7h ; e8 a5 a4 10595 10580 mov ax, strict word 0000bh ; b8 0b 00 10596 call 016ach ; e8 d8a410581 call 016ach ; e8 84 a4 10597 10582 mov bl, al ; 88 c3 10598 10583 and bl, 060h ; 80 e3 60 … … 10604 10589 xor dh, dh ; 30 f6 10605 10590 mov ax, strict word 0000bh ; b8 0b 00 10606 call 016c7h ; e8 daa410591 call 016c7h ; e8 86 a4 10607 10592 mov byte [bp+013h], 000h ; c6 46 13 00 10608 10593 mov byte [bp+012h], bl ; 88 5e 12 10609 jmp short 071 a0h ; eb aa10594 jmp short 071f4h ; eb aa 10610 10595 mov byte [bp+013h], 000h ; c6 46 13 00 10611 call 070 26h ; e8 29 fe10596 call 0707ah ; e8 29 fe 10612 10597 test ax, ax ; 85 c0 10613 je short 072 03h ; 74 0210614 jmp short 071 a0h ; eb 9d10598 je short 07257h ; 74 02 10599 jmp short 071f4h ; eb 9d 10615 10600 mov ax, strict word 00009h ; b8 09 00 10616 call 016ach ; e8 a3a410601 call 016ach ; e8 4f a4 10617 10602 mov byte [bp+010h], al ; 88 46 10 10618 10603 mov ax, strict word 00008h ; b8 08 00 10619 call 016ach ; e8 9aa410604 call 016ach ; e8 46 a4 10620 10605 mov byte [bp+00fh], al ; 88 46 0f 10621 10606 mov ax, strict word 00007h ; b8 07 00 10622 call 016ach ; e8 91a410607 call 016ach ; e8 3d a4 10623 10608 mov byte [bp+00eh], al ; 88 46 0e 10624 10609 mov ax, strict word 00032h ; b8 32 00 10625 call 016ach ; e8 88a410610 call 016ach ; e8 34 a4 10626 10611 mov byte [bp+011h], al ; 88 46 11 10627 10612 mov byte [bp+012h], al ; 88 46 12 10628 jmp near 071 a0h ; e9 73 ff10629 call 070 26h ; e8 f6 fd10613 jmp near 071f4h ; e9 73 ff 10614 call 0707ah ; e8 f6 fd 10630 10615 test ax, ax ; 85 c0 10631 je short 072 3ah ; 74 0610632 call 0 6ffeh ; e8 c7 fd10633 jmp near 071 a0h ; e9 66 ff10616 je short 0728eh ; 74 06 10617 call 07052h ; e8 c7 fd 10618 jmp near 071f4h ; e9 66 ff 10634 10619 mov dl, byte [bp+010h] ; 8a 56 10 10635 10620 xor dh, dh ; 30 f6 10636 10621 mov ax, strict word 00009h ; b8 09 00 10637 call 016c7h ; e8 82a410622 call 016c7h ; e8 2e a4 10638 10623 mov dl, byte [bp+00fh] ; 8a 56 0f 10639 10624 xor dh, dh ; 30 f6 10640 10625 mov ax, strict word 00008h ; b8 08 00 10641 call 016c7h ; e8 77a410626 call 016c7h ; e8 23 a4 10642 10627 mov dl, byte [bp+00eh] ; 8a 56 0e 10643 10628 xor dh, dh ; 30 f6 10644 10629 mov ax, strict word 00007h ; b8 07 00 10645 call 016c7h ; e8 6ca410630 call 016c7h ; e8 18 a4 10646 10631 mov dl, byte [bp+011h] ; 8a 56 11 10647 10632 xor dh, dh ; 30 f6 10648 10633 mov ax, strict word 00032h ; b8 32 00 10649 call 016c7h ; e8 61a410634 call 016c7h ; e8 0d a4 10650 10635 mov ax, strict word 0000bh ; b8 0b 00 10651 call 016ach ; e8 40 a410636 call 016ach ; e8 ec a3 10652 10637 mov bl, al ; 88 c3 10653 10638 and bl, 07fh ; 80 e3 7f 10654 jmp near 07 1e3h ; e9 6f ff10639 jmp near 07237h ; e9 6f ff 10655 10640 mov ax, strict word 0000bh ; b8 0b 00 10656 call 016ach ; e8 32 a410641 call 016ach ; e8 de a3 10657 10642 mov bl, al ; 88 c3 10658 10643 mov word [bp+012h], strict word 00000h ; c7 46 12 00 00 10659 10644 test AL, strict byte 020h ; a8 20 10660 je short 072 88h ; 74 0310661 jmp near 071 a0h ; e9 18 ff10662 call 070 26h ; e8 9b fd10645 je short 072dch ; 74 03 10646 jmp near 071f4h ; e9 18 ff 10647 call 0707ah ; e8 9b fd 10663 10648 test ax, ax ; 85 c0 10664 je short 072 92h ; 74 0310665 call 0 6ffeh ; e8 6c fd10649 je short 072e6h ; 74 03 10650 call 07052h ; e8 6c fd 10666 10651 mov dl, byte [bp+00fh] ; 8a 56 0f 10667 10652 xor dh, dh ; 30 f6 10668 10653 mov ax, strict word 00001h ; b8 01 00 10669 call 016c7h ; e8 2a a410654 call 016c7h ; e8 d6 a3 10670 10655 mov dl, byte [bp+010h] ; 8a 56 10 10671 10656 xor dh, dh ; 30 f6 10672 10657 mov ax, strict word 00003h ; b8 03 00 10673 call 016c7h ; e8 1f a410658 call 016c7h ; e8 cb a3 10674 10659 mov dl, byte [bp+011h] ; 8a 56 11 10675 10660 xor dh, dh ; 30 f6 10676 10661 mov ax, strict word 00005h ; b8 05 00 10677 call 016c7h ; e8 14 a410662 call 016c7h ; e8 c0 a3 10678 10663 mov dx, 000a1h ; ba a1 00 10679 10664 in AL, DX ; ec … … 10687 10672 xor dh, dh ; 30 f6 10688 10673 mov ax, strict word 0000bh ; b8 0b 00 10689 call 016c7h ; e8 fba310690 jmp near 071 a0h ; e9 d1 fe10674 call 016c7h ; e8 a7 a3 10675 jmp near 071f4h ; e9 d1 fe 10691 10676 mov ax, strict word 0000bh ; b8 0b 00 10692 call 016ach ; e8 d7a310677 call 016ach ; e8 83 a3 10693 10678 mov bl, al ; 88 c3 10694 10679 mov dl, al ; 88 c2 10695 10680 and dl, 057h ; 80 e2 57 10696 jmp near 07 1e5h ; e9 06 ff10697 send_to_mouse_ctrl_: ; 0xf7 2dfLB 0x3410681 jmp near 07239h ; e9 06 ff 10682 send_to_mouse_ctrl_: ; 0xf7333 LB 0x34 10698 10683 push bp ; 55 10699 10684 mov bp, sp ; 89 e5 … … 10706 10691 ; sub ah, ah ; 2a e4 10707 10692 test AL, strict byte 002h ; a8 02 10708 je short 07 2feh ; 74 0e10693 je short 07352h ; 74 0e 10709 10694 push 008eeh ; 68 ee 08 10710 10695 push 01168h ; 68 68 11 10711 10696 push strict byte 00007h ; 6a 07 10712 call 01966h ; e8 6ba610697 call 01966h ; e8 17 a6 10713 10698 add sp, strict byte 00006h ; 83 c4 06 10714 10699 mov AL, strict byte 0d4h ; b0 d4 … … 10724 10709 pop bp ; 5d 10725 10710 retn ; c3 10726 get_mouse_data_: ; 0xf73 13LB 0x5d10711 get_mouse_data_: ; 0xf7367 LB 0x5d 10727 10712 push bp ; 55 10728 10713 mov bp, sp ; 89 e5 … … 10739 10724 and ax, strict word 00021h ; 25 21 00 10740 10725 cmp ax, strict word 00021h ; 3d 21 00 10741 je short 073 56h ; 74 2810726 je short 073aah ; 74 28 10742 10727 test cx, cx ; 85 c9 10743 je short 073 56h ; 74 2410728 je short 073aah ; 74 24 10744 10729 mov dx, strict word 00061h ; ba 61 00 10745 10730 in AL, DX ; ec … … 10758 10743 xor ah, ah ; 30 e4 10759 10744 cmp dx, ax ; 39 c2 10760 je short 073 3dh ; 74 ea10745 je short 07391h ; 74 ea 10761 10746 dec cx ; 49 10762 jmp short 073 20h ; eb ca10747 jmp short 07374h ; eb ca 10763 10748 test cx, cx ; 85 c9 10764 jne short 073 5eh ; 75 0410749 jne short 073b2h ; 75 04 10765 10750 mov AL, strict byte 001h ; b0 01 10766 jmp short 073 69h ; eb 0b10751 jmp short 073bdh ; eb 0b 10767 10752 mov dx, strict word 00060h ; ba 60 00 10768 10753 in AL, DX ; ec … … 10776 10761 pop bp ; 5d 10777 10762 retn ; c3 10778 set_kbd_command_byte_: ; 0xf73 70LB 0x3210763 set_kbd_command_byte_: ; 0xf73c4 LB 0x32 10779 10764 push bp ; 55 10780 10765 mov bp, sp ; 89 e5 … … 10787 10772 ; sub ah, ah ; 2a e4 10788 10773 test AL, strict byte 002h ; a8 02 10789 je short 073 8fh ; 74 0e10774 je short 073e3h ; 74 0e 10790 10775 push 008f8h ; 68 f8 08 10791 10776 push 01168h ; 68 68 11 10792 10777 push strict byte 00007h ; 6a 07 10793 call 01966h ; e8 daa510778 call 01966h ; e8 86 a5 10794 10779 add sp, strict byte 00006h ; 83 c4 06 10795 10780 mov AL, strict byte 060h ; b0 60 … … 10804 10789 pop bp ; 5d 10805 10790 retn ; c3 10806 _int74_function: ; 0xf73 a2LB 0xd210791 _int74_function: ; 0xf73f6 LB 0xd2 10807 10792 push bp ; 55 10808 10793 mov bp, sp ; 89 e5 … … 10810 10795 mov dx, strict word 0000eh ; ba 0e 00 10811 10796 mov ax, strict word 00040h ; b8 40 00 10812 call 0166ch ; e8 bba210797 call 0166ch ; e8 67 a2 10813 10798 mov cx, ax ; 89 c1 10814 10799 mov word [bp+004h], strict word 00000h ; c7 46 04 00 00 … … 10819 10804 and AL, strict byte 021h ; 24 21 10820 10805 cmp AL, strict byte 021h ; 3c 21 10821 jne short 07 3e6h ; 75 2210806 jne short 0743ah ; 75 22 10822 10807 mov dx, strict word 00060h ; ba 60 00 10823 10808 in AL, DX ; ec … … 10827 10812 mov dx, strict word 00026h ; ba 26 00 10828 10813 mov ax, cx ; 89 c8 10829 call 01650h ; e8 7ca210814 call 01650h ; e8 28 a2 10830 10815 mov byte [bp-002h], al ; 88 46 fe 10831 10816 mov dx, strict word 00027h ; ba 27 00 10832 10817 mov ax, cx ; 89 c8 10833 call 01650h ; e8 71a210818 call 01650h ; e8 1d a2 10834 10819 mov byte [bp-006h], al ; 88 46 fa 10835 10820 test AL, strict byte 080h ; a8 80 10836 jne short 07 3e9h ; 75 0310837 jmp near 074 60h ; e9 77 0010821 jne short 0743dh ; 75 03 10822 jmp near 074b4h ; e9 77 00 10838 10823 mov al, byte [bp-006h] ; 8a 46 fa 10839 10824 and AL, strict byte 007h ; 24 07 … … 10849 10834 add dx, strict byte 00028h ; 83 c2 28 10850 10835 mov ax, cx ; 89 c8 10851 call 0165eh ; e8 52 a210836 call 0165eh ; e8 fe a1 10852 10837 mov al, byte [bp-008h] ; 8a 46 f8 10853 10838 cmp al, byte [bp-004h] ; 3a 46 fc 10854 jc short 074 50h ; 72 3c10839 jc short 074a4h ; 72 3c 10855 10840 mov dx, strict word 00028h ; ba 28 00 10856 10841 mov ax, cx ; 89 c8 10857 call 01650h ; e8 34 a210842 call 01650h ; e8 e0 a1 10858 10843 xor ah, ah ; 30 e4 10859 10844 mov word [bp+00ch], ax ; 89 46 0c 10860 10845 mov dx, strict word 00029h ; ba 29 00 10861 10846 mov ax, cx ; 89 c8 10862 call 01650h ; e8 27 a210847 call 01650h ; e8 d3 a1 10863 10848 xor ah, ah ; 30 e4 10864 10849 mov word [bp+00ah], ax ; 89 46 0a 10865 10850 mov dx, strict word 0002ah ; ba 2a 00 10866 10851 mov ax, cx ; 89 c8 10867 call 01650h ; e8 1a a210852 call 01650h ; e8 c6 a1 10868 10853 xor ah, ah ; 30 e4 10869 10854 mov word [bp+008h], ax ; 89 46 08 … … 10872 10857 mov byte [bp-002h], ah ; 88 66 fe 10873 10858 test byte [bp-006h], 080h ; f6 46 fa 80 10874 je short 074 53h ; 74 0a10859 je short 074a7h ; 74 0a 10875 10860 mov word [bp+004h], strict word 00001h ; c7 46 04 01 00 10876 jmp short 074 53h ; eb 0310861 jmp short 074a7h ; eb 03 10877 10862 inc byte [bp-002h] ; fe 46 fe 10878 10863 mov bl, byte [bp-002h] ; 8a 5e fe … … 10880 10865 mov dx, strict word 00026h ; ba 26 00 10881 10866 mov ax, cx ; 89 c8 10882 call 0165eh ; e8 fea110867 call 0165eh ; e8 aa a1 10883 10868 mov sp, bp ; 89 ec 10884 10869 pop bp ; 5d 10885 10870 retn ; c3 10886 mov BH, strict byte 074h ; b7 7410887 xor si, word [di-050h] ; 33 75 b010888 j ne short 074b0h ; 75 4510889 jbe short 074 1eh ; 76 b110890 j be short 0746dh ; 76 fe10891 j e short 0744ah ; 74 d910892 j be short 07411h ; 76 9e10871 or si, word [di-079h] ; 0b 75 87 10872 jne short 074c1h ; 75 04 10873 jbe short 07458h ; 76 99 10874 jbe short 074c6h ; 76 05 10875 jnbe short 07515h ; 77 52 10876 jne short 074f2h ; 75 2d 10877 jnbe short 074b9h ; 77 f2 10893 10878 db 077h 10894 _int15_function_mouse: ; 0xf74 74LB 0x38d10879 _int15_function_mouse: ; 0xf74c8 LB 0x38d 10895 10880 push bp ; 55 10896 10881 mov bp, sp ; 89 e5 … … 10899 10884 mov dx, strict word 0000eh ; ba 0e 00 10900 10885 mov ax, strict word 00040h ; b8 40 00 10901 call 0166ch ; e8 e8a110886 call 0166ch ; e8 94 a1 10902 10887 mov cx, ax ; 89 c1 10903 10888 cmp byte [bp+012h], 007h ; 80 7e 12 07 10904 jbe short 074 97h ; 76 0b10889 jbe short 074ebh ; 76 0b 10905 10890 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10906 10891 mov byte [bp+013h], 001h ; c6 46 13 01 10907 jmp near 07 7fbh ; e9 64 0310892 jmp near 0784fh ; e9 64 03 10908 10893 mov ax, strict word 00065h ; b8 65 00 10909 call 073 70h ; e8 d3 fe10894 call 073c4h ; e8 d3 fe 10910 10895 and word [bp+018h], strict byte 0fffeh ; 83 66 18 fe 10911 10896 mov byte [bp+013h], 000h ; c6 46 13 00 10912 10897 mov al, byte [bp+012h] ; 8a 46 12 10913 10898 cmp AL, strict byte 007h ; 3c 07 10914 jnbe short 075 0ch ; 77 6010899 jnbe short 07560h ; 77 60 10915 10900 xor ah, ah ; 30 e4 10916 10901 mov si, ax ; 89 c6 10917 10902 add si, ax ; 01 c6 10918 jmp word [cs:si+074 64h] ; 2e ff a4 647410903 jmp word [cs:si+074b8h] ; 2e ff a4 b8 74 10919 10904 cmp byte [bp+00dh], 001h ; 80 7e 0d 01 10920 jnbe short 075 0fh ; 77 5210905 jnbe short 07563h ; 77 52 10921 10906 mov dx, strict word 00027h ; ba 27 00 10922 10907 mov ax, cx ; 89 c8 10923 call 01650h ; e8 8ba110908 call 01650h ; e8 37 a1 10924 10909 test AL, strict byte 080h ; a8 80 10925 jne short 07 4d4h ; 75 0b10910 jne short 07528h ; 75 0b 10926 10911 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10927 10912 mov byte [bp+013h], 005h ; c6 46 13 05 10928 jmp near 07 7f5h ; e9 21 0310913 jmp near 07849h ; e9 21 03 10929 10914 cmp byte [bp+00dh], 000h ; 80 7e 0d 00 10930 jne short 07 4deh ; 75 0410915 jne short 07532h ; 75 04 10931 10916 mov AL, strict byte 0f5h ; b0 f5 10932 jmp short 07 4e0h ; eb 0210917 jmp short 07534h ; eb 02 10933 10918 mov AL, strict byte 0f4h ; b0 f4 10934 10919 xor ah, ah ; 30 e4 10935 call 07 2dfh ; e8 fa fd10920 call 07333h ; e8 fa fd 10936 10921 test al, al ; 84 c0 10937 jne short 075 12h ; 75 2910922 jne short 07566h ; 75 29 10938 10923 mov dx, ss ; 8c d2 10939 10924 lea ax, [bp-008h] ; 8d 46 f8 10940 call 073 13h ; e8 22 fe10925 call 07367h ; e8 22 fe 10941 10926 test al, al ; 84 c0 10942 je short 07 4fbh ; 74 0610927 je short 0754fh ; 74 06 10943 10928 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10944 jne short 075 12h ; 75 1710945 jmp near 07 7f5h ; e9 f7 0210929 jne short 07566h ; 75 17 10930 jmp near 07849h ; e9 f7 02 10946 10931 mov al, byte [bp+00dh] ; 8a 46 0d 10947 10932 cmp AL, strict byte 001h ; 3c 01 10948 jc short 075 09h ; 72 0410933 jc short 0755dh ; 72 04 10949 10934 cmp AL, strict byte 008h ; 3c 08 10950 jbe short 075 15h ; 76 0c10951 jmp near 076 a7h ; e9 9b 0110952 jmp near 07 7e2h ; e9 d3 0210953 jmp near 07 7edh ; e9 db 0210954 jmp near 077 79h ; e9 64 0210935 jbe short 07569h ; 76 0c 10936 jmp near 076fbh ; e9 9b 01 10937 jmp near 07836h ; e9 d3 02 10938 jmp near 07841h ; e9 db 02 10939 jmp near 077cdh ; e9 64 02 10955 10940 mov dx, strict word 00027h ; ba 27 00 10956 10941 mov ax, cx ; 89 c8 10957 call 01650h ; e8 33 a110942 call 01650h ; e8 df a0 10958 10943 mov ah, byte [bp+00dh] ; 8a 66 0d 10959 10944 db 0feh, 0cch … … 10965 10950 mov dx, strict word 00027h ; ba 27 00 10966 10951 mov ax, cx ; 89 c8 10967 call 0165eh ; e8 2b a110952 call 0165eh ; e8 d7 a0 10968 10953 mov dx, strict word 00026h ; ba 26 00 10969 10954 mov ax, cx ; 89 c8 10970 call 01650h ; e8 15 a110955 call 01650h ; e8 c1 a0 10971 10956 mov bl, al ; 88 c3 10972 10957 and bl, 0f8h ; 80 e3 f8 … … 10974 10959 mov dx, strict word 00026h ; ba 26 00 10975 10960 mov ax, cx ; 89 c8 10976 call 0165eh ; e8 14 a110961 call 0165eh ; e8 c0 a0 10977 10962 mov ax, 000ffh ; b8 ff 00 10978 call 07 2dfh ; e8 8f fd10963 call 07333h ; e8 8f fd 10979 10964 test al, al ; 84 c0 10980 jne short 075 12h ; 75 be10965 jne short 07566h ; 75 be 10981 10966 mov dx, ss ; 8c d2 10982 10967 lea ax, [bp-004h] ; 8d 46 fc 10983 call 073 13h ; e8 b7 fd10968 call 07367h ; e8 b7 fd 10984 10969 mov cl, al ; 88 c1 10985 10970 cmp byte [bp-004h], 0feh ; 80 7e fc fe 10986 jne short 075 6eh ; 75 0a10971 jne short 075c2h ; 75 0a 10987 10972 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10988 10973 mov byte [bp+013h], 004h ; c6 46 13 04 10989 jmp short 07 4fbh ; eb 8d10974 jmp short 0754fh ; eb 8d 10990 10975 cmp byte [bp-004h], 0fah ; 80 7e fc fa 10991 je short 075 85h ; 74 1110976 je short 075d9h ; 74 11 10992 10977 mov al, byte [bp-004h] ; 8a 46 fc 10993 10978 xor ah, ah ; 30 e4 … … 10995 10980 push 00903h ; 68 03 09 10996 10981 push strict byte 00007h ; 6a 07 10997 call 01966h ; e8 e4a310982 call 01966h ; e8 90 a3 10998 10983 add sp, strict byte 00006h ; 83 c4 06 10999 10984 test cl, cl ; 84 c9 11000 jne short 075 12h ; 75 8910985 jne short 07566h ; 75 89 11001 10986 mov dx, ss ; 8c d2 11002 10987 lea ax, [bp-008h] ; 8d 46 f8 11003 call 073 13h ; e8 82 fd10988 call 07367h ; e8 82 fd 11004 10989 test al, al ; 84 c0 11005 jne short 07 5ebh ; 75 5610990 jne short 0763fh ; 75 56 11006 10991 mov dx, ss ; 8c d2 11007 10992 lea ax, [bp-006h] ; 8d 46 fa 11008 call 073 13h ; e8 76 fd10993 call 07367h ; e8 76 fd 11009 10994 test al, al ; 84 c0 11010 jne short 07 5ebh ; 75 4a10995 jne short 0763fh ; 75 4a 11011 10996 mov al, byte [bp-008h] ; 8a 46 f8 11012 10997 mov byte [bp+00ch], al ; 88 46 0c 11013 10998 mov al, byte [bp-006h] ; 8a 46 fa 11014 10999 mov byte [bp+00dh], al ; 88 46 0d 11015 jmp near 07 7f5h ; e9 45 0211000 jmp near 07849h ; e9 45 02 11016 11001 mov al, byte [bp+00dh] ; 8a 46 0d 11017 11002 cmp AL, strict byte 003h ; 3c 03 11018 jc short 07 5c7h ; 72 1011019 jbe short 07 5e5h ; 76 2c11003 jc short 0761bh ; 72 10 11004 jbe short 07639h ; 76 2c 11020 11005 cmp AL, strict byte 006h ; 3c 06 11021 je short 07 5fah ; 74 3d11006 je short 0764eh ; 74 3d 11022 11007 cmp AL, strict byte 005h ; 3c 05 11023 je short 07 5f4h ; 74 3311008 je short 07648h ; 74 33 11024 11009 cmp AL, strict byte 004h ; 3c 04 11025 je short 07 5eeh ; 74 2911026 jmp short 076 00h ; eb 3911010 je short 07642h ; 74 29 11011 jmp short 07654h ; eb 39 11027 11012 cmp AL, strict byte 002h ; 3c 02 11028 je short 07 5dfh ; 74 1411013 je short 07633h ; 74 14 11029 11014 cmp AL, strict byte 001h ; 3c 01 11030 je short 07 5d9h ; 74 0a11015 je short 0762dh ; 74 0a 11031 11016 test al, al ; 84 c0 11032 jne short 076 00h ; 75 2d11017 jne short 07654h ; 75 2d 11033 11018 mov byte [bp-008h], 00ah ; c6 46 f8 0a 11034 jmp short 076 04h ; eb 2b11019 jmp short 07658h ; eb 2b 11035 11020 mov byte [bp-008h], 014h ; c6 46 f8 14 11036 jmp short 076 04h ; eb 2511021 jmp short 07658h ; eb 25 11037 11022 mov byte [bp-008h], 028h ; c6 46 f8 28 11038 jmp short 076 04h ; eb 1f11023 jmp short 07658h ; eb 1f 11039 11024 mov byte [bp-008h], 03ch ; c6 46 f8 3c 11040 jmp short 076 04h ; eb 1911041 jmp near 077 79h ; e9 8b 0111025 jmp short 07658h ; eb 19 11026 jmp near 077cdh ; e9 8b 01 11042 11027 mov byte [bp-008h], 050h ; c6 46 f8 50 11043 jmp short 076 04h ; eb 1011028 jmp short 07658h ; eb 10 11044 11029 mov byte [bp-008h], 064h ; c6 46 f8 64 11045 jmp short 076 04h ; eb 0a11030 jmp short 07658h ; eb 0a 11046 11031 mov byte [bp-008h], 0c8h ; c6 46 f8 c8 11047 jmp short 076 04h ; eb 0411032 jmp short 07658h ; eb 04 11048 11033 mov byte [bp-008h], 000h ; c6 46 f8 00 11049 11034 cmp byte [bp-008h], 000h ; 80 7e f8 00 11050 jbe short 076 3ah ; 76 3011035 jbe short 0768eh ; 76 30 11051 11036 mov ax, 000f3h ; b8 f3 00 11052 call 07 2dfh ; e8 cf fc11037 call 07333h ; e8 cf fc 11053 11038 test al, al ; 84 c0 11054 jne short 076 2fh ; 75 1b11039 jne short 07683h ; 75 1b 11055 11040 mov dx, ss ; 8c d2 11056 11041 lea ax, [bp-006h] ; 8d 46 fa 11057 call 073 13h ; e8 f7 fc11042 call 07367h ; e8 f7 fc 11058 11043 mov al, byte [bp-008h] ; 8a 46 f8 11059 11044 xor ah, ah ; 30 e4 11060 call 07 2dfh ; e8 bb fc11045 call 07333h ; e8 bb fc 11061 11046 mov dx, ss ; 8c d2 11062 11047 lea ax, [bp-006h] ; 8d 46 fa 11063 call 073 13h ; e8 e7 fc11064 jmp near 07 7f5h ; e9 c6 0111048 call 07367h ; e8 e7 fc 11049 jmp near 07849h ; e9 c6 01 11065 11050 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11066 11051 mov byte [bp+013h], 003h ; c6 46 13 03 11067 jmp near 07 7f5h ; e9 bb 0111052 jmp near 07849h ; e9 bb 01 11068 11053 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11069 11054 mov byte [bp+013h], 002h ; c6 46 13 02 11070 jmp near 07 7f5h ; e9 b0 0111055 jmp near 07849h ; e9 b0 01 11071 11056 cmp byte [bp+00dh], 004h ; 80 7e 0d 04 11072 jnc short 076 a7h ; 73 5c11057 jnc short 076fbh ; 73 5c 11073 11058 mov ax, 000e8h ; b8 e8 00 11074 call 07 2dfh ; e8 8e fc11059 call 07333h ; e8 8e fc 11075 11060 test al, al ; 84 c0 11076 jne short 076 9dh ; 75 4811061 jne short 076f1h ; 75 48 11077 11062 mov dx, ss ; 8c d2 11078 11063 lea ax, [bp-008h] ; 8d 46 f8 11079 call 073 13h ; e8 b6 fc11064 call 07367h ; e8 b6 fc 11080 11065 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11081 je short 076 74h ; 74 1111066 je short 076c8h ; 74 11 11082 11067 mov al, byte [bp-008h] ; 8a 46 f8 11083 11068 xor ah, ah ; 30 e4 … … 11085 11070 push 0092eh ; 68 2e 09 11086 11071 push strict byte 00007h ; 6a 07 11087 call 01966h ; e8 f5a211072 call 01966h ; e8 a1 a2 11088 11073 add sp, strict byte 00006h ; 83 c4 06 11089 11074 mov al, byte [bp+00dh] ; 8a 46 0d 11090 11075 xor ah, ah ; 30 e4 11091 call 07 2dfh ; e8 63 fc11076 call 07333h ; e8 63 fc 11092 11077 mov dx, ss ; 8c d2 11093 11078 lea ax, [bp-008h] ; 8d 46 f8 11094 call 073 13h ; e8 8f fc11079 call 07367h ; e8 8f fc 11095 11080 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11096 je short 07 6d6h ; 74 4c11081 je short 0772ah ; 74 4c 11097 11082 mov al, byte [bp-008h] ; 8a 46 f8 11098 11083 xor ah, ah ; 30 e4 … … 11100 11085 push 0092eh ; 68 2e 09 11101 11086 push strict byte 00007h ; 6a 07 11102 call 01966h ; e8 cea211087 call 01966h ; e8 7a a2 11103 11088 add sp, strict byte 00006h ; 83 c4 06 11104 jmp short 07 6d6h ; eb 3911089 jmp short 0772ah ; eb 39 11105 11090 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11106 11091 mov byte [bp+013h], 003h ; c6 46 13 03 11107 jmp short 07 6d6h ; eb 2f11092 jmp short 0772ah ; eb 2f 11108 11093 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11109 11094 mov byte [bp+013h], 002h ; c6 46 13 02 11110 jmp short 07 6d6h ; eb 2511095 jmp short 0772ah ; eb 25 11111 11096 mov ax, 000f2h ; b8 f2 00 11112 call 07 2dfh ; e8 28 fc11097 call 07333h ; e8 28 fc 11113 11098 test al, al ; 84 c0 11114 jne short 07 6ceh ; 75 1311099 jne short 07722h ; 75 13 11115 11100 mov dx, ss ; 8c d2 11116 11101 lea ax, [bp-008h] ; 8d 46 f8 11117 call 073 13h ; e8 50 fc11102 call 07367h ; e8 50 fc 11118 11103 mov dx, ss ; 8c d2 11119 11104 lea ax, [bp-006h] ; 8d 46 fa 11120 call 073 13h ; e8 48 fc11121 jmp near 075 a7h ; e9 d9 fe11105 call 07367h ; e8 48 fc 11106 jmp near 075fbh ; e9 d9 fe 11122 11107 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11123 11108 mov byte [bp+013h], 003h ; c6 46 13 03 11124 jmp near 07 7f5h ; e9 1c 0111109 jmp near 07849h ; e9 1c 01 11125 11110 mov al, byte [bp+00dh] ; 8a 46 0d 11126 11111 test al, al ; 84 c0 11127 jbe short 07 6e7h ; 76 0711112 jbe short 0773bh ; 76 07 11128 11113 cmp AL, strict byte 002h ; 3c 02 11129 jbe short 077 4eh ; 76 6a11130 jmp near 077 83h ; e9 9c 0011114 jbe short 077a2h ; 76 6a 11115 jmp near 077d7h ; e9 9c 00 11131 11116 mov ax, 000e9h ; b8 e9 00 11132 call 07 2dfh ; e8 f2 fb11117 call 07333h ; e8 f2 fb 11133 11118 test al, al ; 84 c0 11134 jne short 077 57h ; 75 6611119 jne short 077abh ; 75 66 11135 11120 mov dx, ss ; 8c d2 11136 11121 lea ax, [bp-008h] ; 8d 46 f8 11137 call 073 13h ; e8 1a fc11122 call 07367h ; e8 1a fc 11138 11123 mov cl, al ; 88 c1 11139 11124 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11140 je short 077 12h ; 74 1111125 je short 07766h ; 74 11 11141 11126 mov al, byte [bp-008h] ; 8a 46 f8 11142 11127 xor ah, ah ; 30 e4 … … 11144 11129 push 0092eh ; 68 2e 09 11145 11130 push strict byte 00007h ; 6a 07 11146 call 01966h ; e8 57a211131 call 01966h ; e8 03 a2 11147 11132 add sp, strict byte 00006h ; 83 c4 06 11148 11133 test cl, cl ; 84 c9 11149 jne short 077 79h ; 75 6311134 jne short 077cdh ; 75 63 11150 11135 mov dx, ss ; 8c d2 11151 11136 lea ax, [bp-008h] ; 8d 46 f8 11152 call 073 13h ; e8 f5 fb11137 call 07367h ; e8 f5 fb 11153 11138 test al, al ; 84 c0 11154 jne short 077 79h ; 75 5711139 jne short 077cdh ; 75 57 11155 11140 mov dx, ss ; 8c d2 11156 11141 lea ax, [bp-006h] ; 8d 46 fa 11157 call 073 13h ; e8 e9 fb11142 call 07367h ; e8 e9 fb 11158 11143 test al, al ; 84 c0 11159 jne short 077 79h ; 75 4b11144 jne short 077cdh ; 75 4b 11160 11145 mov dx, ss ; 8c d2 11161 11146 lea ax, [bp-004h] ; 8d 46 fc 11162 call 073 13h ; e8 dd fb11147 call 07367h ; e8 dd fb 11163 11148 test al, al ; 84 c0 11164 jne short 077 79h ; 75 3f11149 jne short 077cdh ; 75 3f 11165 11150 mov al, byte [bp-008h] ; 8a 46 f8 11166 11151 mov byte [bp+00ch], al ; 88 46 0c … … 11169 11154 mov al, byte [bp-004h] ; 8a 46 fc 11170 11155 mov byte [bp+00eh], al ; 88 46 0e 11171 jmp short 07 6d6h ; eb 8811156 jmp short 0772ah ; eb 88 11172 11157 cmp AL, strict byte 001h ; 3c 01 11173 jne short 077 59h ; 75 0711158 jne short 077adh ; 75 07 11174 11159 mov ax, 000e6h ; b8 e6 00 11175 jmp short 077 5ch ; eb 0511176 jmp short 077 79h ; eb 2011160 jmp short 077b0h ; eb 05 11161 jmp short 077cdh ; eb 20 11177 11162 mov ax, 000e7h ; b8 e7 00 11178 call 07 2dfh ; e8 80 fb11163 call 07333h ; e8 80 fb 11179 11164 mov cl, al ; 88 c1 11180 11165 test cl, cl ; 84 c9 11181 jne short 077 75h ; 75 1011166 jne short 077c9h ; 75 10 11182 11167 mov dx, ss ; 8c d2 11183 11168 lea ax, [bp-008h] ; 8d 46 f8 11184 call 073 13h ; e8 a6 fb11169 call 07367h ; e8 a6 fb 11185 11170 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11186 je short 077 75h ; 74 0211171 je short 077c9h ; 74 02 11187 11172 mov CL, strict byte 001h ; b1 01 11188 11173 test cl, cl ; 84 c9 11189 je short 07 7e0h ; 74 6711174 je short 07834h ; 74 67 11190 11175 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11191 11176 mov byte [bp+013h], 003h ; c6 46 13 03 11192 jmp short 07 7e0h ; eb 5d11177 jmp short 07834h ; eb 5d 11193 11178 mov al, byte [bp+00dh] ; 8a 46 0d 11194 11179 xor ah, ah ; 30 e4 … … 11196 11181 push 0095ah ; 68 5a 09 11197 11182 push strict byte 00007h ; 6a 07 11198 call 01966h ; e8 d5a111183 call 01966h ; e8 81 a1 11199 11184 add sp, strict byte 00006h ; 83 c4 06 11200 11185 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11201 11186 mov byte [bp+013h], 001h ; c6 46 13 01 11202 jmp short 07 7f5h ; eb 5711187 jmp short 07849h ; eb 57 11203 11188 mov si, word [bp+00ch] ; 8b 76 0c 11204 11189 mov bx, si ; 89 f3 11205 11190 mov dx, strict word 00022h ; ba 22 00 11206 11191 mov ax, cx ; 89 c8 11207 call 0167ah ; e8 cf9e11192 call 0167ah ; e8 7b 9e 11208 11193 mov bx, word [bp+014h] ; 8b 5e 14 11209 11194 mov dx, strict word 00024h ; ba 24 00 11210 11195 mov ax, cx ; 89 c8 11211 call 0167ah ; e8 c49e11196 call 0167ah ; e8 70 9e 11212 11197 mov dx, strict word 00027h ; ba 27 00 11213 11198 mov ax, cx ; 89 c8 11214 call 01650h ; e8 929e11199 call 01650h ; e8 3e 9e 11215 11200 mov ah, al ; 88 c4 11216 11201 test si, si ; 85 f6 11217 jne short 07 7d2h ; 75 0e11202 jne short 07826h ; 75 0e 11218 11203 cmp word [bp+014h], strict byte 00000h ; 83 7e 14 00 11219 jne short 07 7d2h ; 75 0811204 jne short 07826h ; 75 08 11220 11205 test AL, strict byte 080h ; a8 80 11221 je short 07 7d4h ; 74 0611206 je short 07828h ; 74 06 11222 11207 and AL, strict byte 07fh ; 24 7f 11223 jmp short 07 7d4h ; eb 0211208 jmp short 07828h ; eb 02 11224 11209 or AL, strict byte 080h ; 0c 80 11225 11210 mov bl, al ; 88 c3 … … 11227 11212 mov dx, strict word 00027h ; ba 27 00 11228 11213 mov ax, cx ; 89 c8 11229 call 0165eh ; e8 7e9e11230 jmp short 07 7f5h ; eb 1311214 call 0165eh ; e8 2a 9e 11215 jmp short 07849h ; eb 13 11231 11216 push 00974h ; 68 74 09 11232 11217 push strict byte 00007h ; 6a 07 11233 call 01966h ; e8 7ca111218 call 01966h ; e8 28 a1 11234 11219 add sp, strict byte 00004h ; 83 c4 04 11235 11220 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11236 11221 mov byte [bp+013h], 001h ; c6 46 13 01 11237 11222 mov ax, strict word 00047h ; b8 47 00 11238 call 073 70h ; e8 75 fb11223 call 073c4h ; e8 75 fb 11239 11224 lea sp, [bp-002h] ; 8d 66 fe 11240 11225 pop si ; 5e 11241 11226 pop bp ; 5d 11242 11227 retn ; c3 11243 _int17_function: ; 0xf78 01LB 0xaf11228 _int17_function: ; 0xf7855 LB 0xaf 11244 11229 push bp ; 55 11245 11230 mov bp, sp ; 89 e5 … … 11251 11236 add dx, strict byte 00008h ; 83 c2 08 11252 11237 mov ax, strict word 00040h ; b8 40 00 11253 call 0166ch ; e8 579e11238 call 0166ch ; e8 03 9e 11254 11239 mov bx, ax ; 89 c3 11255 11240 mov si, ax ; 89 c6 11256 11241 cmp byte [bp+013h], 003h ; 80 7e 13 03 11257 jnc short 078 2bh ; 73 0c11242 jnc short 0787fh ; 73 0c 11258 11243 mov ax, word [bp+00eh] ; 8b 46 0e 11259 11244 cmp ax, strict word 00003h ; 3d 03 00 11260 jnc short 078 2bh ; 73 0411245 jnc short 0787fh ; 73 04 11261 11246 test bx, bx ; 85 db 11262 jnbe short 078 2eh ; 77 0311263 jmp near 078 a6h ; e9 78 0011247 jnbe short 07882h ; 77 03 11248 jmp near 078fah ; e9 78 00 11264 11249 mov dx, ax ; 89 c2 11265 11250 add dx, strict byte 00078h ; 83 c2 78 11266 11251 mov ax, strict word 00040h ; b8 40 00 11267 call 01650h ; e8 17 9e11252 call 01650h ; e8 c3 9d 11268 11253 xor ah, ah ; 30 e4 11269 11254 mov cx, ax ; 89 c1 11270 11255 sal cx, 008h ; c1 e1 08 11271 11256 cmp byte [bp+013h], 000h ; 80 7e 13 00 11272 jne short 078 72h ; 75 2c11257 jne short 078c6h ; 75 2c 11273 11258 mov al, byte [bp+012h] ; 8a 46 12 11274 11259 mov dx, bx ; 89 da … … 11290 11275 ; sub ah, ah ; 2a e4 11291 11276 test AL, strict byte 040h ; a8 40 11292 je short 078 72h ; 74 0711277 je short 078c6h ; 74 07 11293 11278 test cx, cx ; 85 c9 11294 je short 078 72h ; 74 0311279 je short 078c6h ; 74 03 11295 11280 dec cx ; 49 11296 jmp short 078 61h ; eb ef11281 jmp short 078b5h ; eb ef 11297 11282 cmp byte [bp+013h], 001h ; 80 7e 13 01 11298 jne short 078 8dh ; 75 1511283 jne short 078e1h ; 75 15 11299 11284 lea dx, [si+002h] ; 8d 54 02 11300 11285 in AL, DX ; ec … … 11315 11300 mov byte [bp+013h], al ; 88 46 13 11316 11301 test cx, cx ; 85 c9 11317 jne short 078 a0h ; 75 0411302 jne short 078f4h ; 75 04 11318 11303 or byte [bp+013h], 001h ; 80 4e 13 01 11319 11304 and byte [bp+01ch], 0feh ; 80 66 1c fe 11320 jmp short 078 aah ; eb 0411305 jmp short 078feh ; eb 04 11321 11306 or byte [bp+01ch], 001h ; 80 4e 1c 01 11322 11307 lea sp, [bp-002h] ; 8d 66 fe … … 11324 11309 pop bp ; 5d 11325 11310 retn ; c3 11326 wait_: ; 0xf7 8b0LB 0xaf11311 wait_: ; 0xf7904 LB 0xaf 11327 11312 push bp ; 55 11328 11313 mov bp, sp ; 89 e5 … … 11342 11327 mov dx, 0046ch ; ba 6c 04 11343 11328 xor ax, ax ; 31 c0 11344 call 01688h ; e8 b59d11329 call 01688h ; e8 61 9d 11345 11330 mov word [bp-010h], ax ; 89 46 f0 11346 11331 mov bx, dx ; 89 d3 … … 11348 11333 mov dx, 0046ch ; ba 6c 04 11349 11334 xor ax, ax ; 31 c0 11350 call 01688h ; e8 a79d11335 call 01688h ; e8 53 9d 11351 11336 mov word [bp-012h], ax ; 89 46 ee 11352 11337 mov di, dx ; 89 d7 11353 11338 cmp dx, bx ; 39 da 11354 jnbe short 07 8f1h ; 77 0711355 jne short 07 8f8h ; 75 0c11339 jnbe short 07945h ; 77 07 11340 jne short 0794ch ; 75 0c 11356 11341 cmp ax, word [bp-010h] ; 3b 46 f0 11357 jbe short 07 8f8h ; 76 0711342 jbe short 0794ch ; 76 07 11358 11343 sub ax, word [bp-010h] ; 2b 46 f0 11359 11344 sbb dx, bx ; 19 da 11360 jmp short 079 03h ; eb 0b11345 jmp short 07957h ; eb 0b 11361 11346 cmp dx, bx ; 39 da 11362 jc short 079 03h ; 72 0711363 jne short 079 07h ; 75 0911347 jc short 07957h ; 72 07 11348 jne short 0795bh ; 75 09 11364 11349 cmp ax, word [bp-010h] ; 3b 46 f0 11365 jnc short 079 07h ; 73 0411350 jnc short 0795bh ; 73 04 11366 11351 sub si, ax ; 29 c6 11367 11352 sbb cx, dx ; 19 d1 … … 11371 11356 mov ax, 00100h ; b8 00 01 11372 11357 int 016h ; cd 16 11373 je short 079 1bh ; 74 0511358 je short 0796fh ; 74 05 11374 11359 mov AL, strict byte 001h ; b0 01 11375 jmp near 079 1dh ; e9 02 0011360 jmp near 07971h ; e9 02 00 11376 11361 db 032h, 0c0h 11377 11362 ; xor al, al ; 32 c0 11378 11363 test al, al ; 84 c0 11379 je short 079 44h ; 74 2311364 je short 07998h ; 74 23 11380 11365 db 033h, 0c0h 11381 11366 ; xor ax, ax ; 33 c0 … … 11388 11373 push 00996h ; 68 96 09 11389 11374 push strict byte 00004h ; 6a 04 11390 call 01966h ; e8 2f a011375 call 01966h ; e8 db 9f 11391 11376 add sp, strict byte 00006h ; 83 c4 06 11392 11377 cmp byte [bp-00ah], 000h ; 80 7e f6 00 11393 je short 079 44h ; 74 0411378 je short 07998h ; 74 04 11394 11379 mov al, dl ; 88 d0 11395 jmp short 079 56h ; eb 1211380 jmp short 079aah ; eb 12 11396 11381 test cx, cx ; 85 c9 11397 jnle short 07 8d8h ; 7f 9011398 jne short 079 4eh ; 75 0411382 jnle short 0792ch ; 7f 90 11383 jne short 079a2h ; 75 04 11399 11384 test si, si ; 85 f6 11400 jnbe short 07 8d8h ; 77 8a11385 jnbe short 0792ch ; 77 8a 11401 11386 mov ax, word [bp-00eh] ; 8b 46 f2 11402 11387 push ax ; 50 … … 11410 11395 pop bp ; 5d 11411 11396 retn ; c3 11412 read_logo_byte_: ; 0xf79 5fLB 0x1611397 read_logo_byte_: ; 0xf79b3 LB 0x16 11413 11398 push bp ; 55 11414 11399 mov bp, sp ; 89 e5 … … 11425 11410 pop bp ; 5d 11426 11411 retn ; c3 11427 read_logo_word_: ; 0xf79 75LB 0x1411412 read_logo_word_: ; 0xf79c9 LB 0x14 11428 11413 push bp ; 55 11429 11414 mov bp, sp ; 89 e5 … … 11438 11423 pop bp ; 5d 11439 11424 retn ; c3 11440 print_detected_harddisks_: ; 0xf79 89LB 0x13a11425 print_detected_harddisks_: ; 0xf79dd LB 0x13a 11441 11426 push bp ; 55 11442 11427 mov bp, sp ; 89 e5 … … 11450 11435 mov dx, strict word 0000eh ; ba 0e 00 11451 11436 mov ax, strict word 00040h ; b8 40 00 11452 call 0166ch ; e8 d09c11437 call 0166ch ; e8 7c 9c 11453 11438 mov si, ax ; 89 c6 11454 11439 mov byte [bp-00eh], 000h ; c6 46 f2 00 … … 11456 11441 xor ch, ch ; 30 ed 11457 11442 mov dx, 00304h ; ba 04 03 11458 call 01650h ; e8 a49c11443 call 01650h ; e8 50 9c 11459 11444 mov byte [bp-00ch], al ; 88 46 f4 11460 11445 xor bl, bl ; 30 db 11461 11446 cmp bl, byte [bp-00ch] ; 3a 5e f4 11462 jnc short 07a 13h ; 73 5d11447 jnc short 07a67h ; 73 5d 11463 11448 mov al, bl ; 88 d8 11464 11449 xor ah, ah ; 30 e4 … … 11466 11451 add dx, 00305h ; 81 c2 05 03 11467 11452 mov ax, si ; 89 f0 11468 call 01650h ; e8 8b9c11453 call 01650h ; e8 37 9c 11469 11454 mov bh, al ; 88 c7 11470 11455 cmp AL, strict byte 00ch ; 3c 0c 11471 jc short 07 9f0h ; 72 2511456 jc short 07a44h ; 72 25 11472 11457 test cl, cl ; 84 c9 11473 jne short 07 9dch ; 75 0d11458 jne short 07a30h ; 75 0d 11474 11459 push 009a7h ; 68 a7 09 11475 11460 push strict byte 00002h ; 6a 02 11476 call 01966h ; e8 8f9f11461 call 01966h ; e8 3b 9f 11477 11462 add sp, strict byte 00004h ; 83 c4 04 11478 11463 mov CL, strict byte 001h ; b1 01 … … 11483 11468 push 009bch ; 68 bc 09 11484 11469 push strict byte 00002h ; 6a 02 11485 call 01966h ; e8 7c9f11470 call 01966h ; e8 28 9f 11486 11471 add sp, strict byte 00006h ; 83 c4 06 11487 jmp near 07a 90h ; e9 a0 0011472 jmp near 07ae4h ; e9 a0 00 11488 11473 cmp AL, strict byte 008h ; 3c 08 11489 jc short 07a 07h ; 72 1311474 jc short 07a5bh ; 72 13 11490 11475 test ch, ch ; 84 ed 11491 jne short 07a 05h ; 75 0d11476 jne short 07a59h ; 75 0d 11492 11477 push 009cfh ; 68 cf 09 11493 11478 push strict byte 00002h ; 6a 02 11494 call 01966h ; e8 669f11479 call 01966h ; e8 12 9f 11495 11480 add sp, strict byte 00004h ; 83 c4 04 11496 11481 mov CH, strict byte 001h ; b5 01 11497 jmp short 07 9dch ; eb d511482 jmp short 07a30h ; eb d5 11498 11483 cmp AL, strict byte 004h ; 3c 04 11499 jnc short 07a 27h ; 73 1c11484 jnc short 07a7bh ; 73 1c 11500 11485 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11501 je short 07a 16h ; 74 0511502 jmp short 07a 27h ; eb 1411503 jmp near 07a 95h ; e9 7f 0011486 je short 07a6ah ; 74 05 11487 jmp short 07a7bh ; eb 14 11488 jmp near 07ae9h ; e9 7f 00 11504 11489 push 009e4h ; 68 e4 09 11505 11490 push strict byte 00002h ; 6a 02 11506 call 01966h ; e8 48 9f11491 call 01966h ; e8 f4 9e 11507 11492 add sp, strict byte 00004h ; 83 c4 04 11508 11493 mov byte [bp-00eh], 001h ; c6 46 f2 01 11509 jmp short 07a 3dh ; eb 1611494 jmp short 07a91h ; eb 16 11510 11495 cmp bh, 004h ; 80 ff 04 11511 jc short 07a 3dh ; 72 1111496 jc short 07a91h ; 72 11 11512 11497 test cl, cl ; 84 c9 11513 jne short 07a 3dh ; 75 0d11498 jne short 07a91h ; 75 0d 11514 11499 push 009f6h ; 68 f6 09 11515 11500 push strict byte 00002h ; 6a 02 11516 call 01966h ; e8 2e 9f11501 call 01966h ; e8 da 9e 11517 11502 add sp, strict byte 00004h ; 83 c4 04 11518 11503 mov CL, strict byte 001h ; b1 01 … … 11523 11508 push 00a0ah ; 68 0a 0a 11524 11509 push strict byte 00002h ; 6a 02 11525 call 01966h ; e8 1b 9f11510 call 01966h ; e8 c7 9e 11526 11511 add sp, strict byte 00006h ; 83 c4 06 11527 11512 cmp bh, 004h ; 80 ff 04 11528 jc short 07a 56h ; 72 0311513 jc short 07aaah ; 72 03 11529 11514 sub bh, 004h ; 80 ef 04 11530 11515 mov al, bh ; 88 f8 … … 11535 11520 sar ax, 1 ; d1 f8 11536 11521 test ax, ax ; 85 c0 11537 je short 07a 68h ; 74 0511522 je short 07abch ; 74 05 11538 11523 push 00a14h ; 68 14 0a 11539 jmp short 07a 6bh ; eb 0311524 jmp short 07abfh ; eb 03 11540 11525 push 00a1fh ; 68 1f 0a 11541 11526 push strict byte 00002h ; 6a 02 11542 call 01966h ; e8 f69e11527 call 01966h ; e8 a2 9e 11543 11528 add sp, strict byte 00004h ; 83 c4 04 11544 11529 mov al, bh ; 88 f8 … … 11548 11533 idiv di ; f7 ff 11549 11534 test dx, dx ; 85 d2 11550 je short 07a 86h ; 74 0511535 je short 07adah ; 74 05 11551 11536 push 00a28h ; 68 28 0a 11552 jmp short 07a 89h ; eb 0311537 jmp short 07addh ; eb 03 11553 11538 push 00a2eh ; 68 2e 0a 11554 11539 push di ; 57 11555 call 01966h ; e8 d99e11540 call 01966h ; e8 85 9e 11556 11541 add sp, strict byte 00004h ; 83 c4 04 11557 11542 db 0feh, 0c3h 11558 11543 ; inc bl ; fe c3 11559 jmp near 07 9b1h ; e9 1c ff11544 jmp near 07a05h ; e9 1c ff 11560 11545 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11561 jne short 07 aaeh ; 75 1311546 jne short 07b02h ; 75 13 11562 11547 test cl, cl ; 84 c9 11563 jne short 07 aaeh ; 75 0f11548 jne short 07b02h ; 75 0f 11564 11549 test ch, ch ; 84 ed 11565 jne short 07 aaeh ; 75 0b11550 jne short 07b02h ; 75 0b 11566 11551 push 00a35h ; 68 35 0a 11567 11552 push strict byte 00002h ; 6a 02 11568 call 01966h ; e8 bb9e11553 call 01966h ; e8 67 9e 11569 11554 add sp, strict byte 00004h ; 83 c4 04 11570 11555 push 00a49h ; 68 49 0a 11571 11556 push strict byte 00002h ; 6a 02 11572 call 01966h ; e8 b09e11557 call 01966h ; e8 5c 9e 11573 11558 add sp, strict byte 00004h ; 83 c4 04 11574 11559 lea sp, [bp-00ah] ; 8d 66 f6 … … 11580 11565 pop bp ; 5d 11581 11566 retn ; c3 11582 get_boot_drive_: ; 0xf7 ac3LB 0x2811567 get_boot_drive_: ; 0xf7b17 LB 0x28 11583 11568 push bp ; 55 11584 11569 mov bp, sp ; 89 e5 … … 11588 11573 mov dx, strict word 0000eh ; ba 0e 00 11589 11574 mov ax, strict word 00040h ; b8 40 00 11590 call 0166ch ; e8 999b11575 call 0166ch ; e8 45 9b 11591 11576 mov dx, 00304h ; ba 04 03 11592 call 01650h ; e8 779b11577 call 01650h ; e8 23 9b 11593 11578 sub bl, 002h ; 80 eb 02 11594 11579 cmp bl, al ; 38 c3 11595 jc short 07 ae2h ; 72 0211580 jc short 07b36h ; 72 02 11596 11581 mov BL, strict byte 0ffh ; b3 ff 11597 11582 mov al, bl ; 88 d8 … … 11601 11586 pop bp ; 5d 11602 11587 retn ; c3 11603 show_logo_: ; 0xf7 aebLB 0x22611588 show_logo_: ; 0xf7b3f LB 0x226 11604 11589 push bp ; 55 11605 11590 mov bp, sp ; 89 e5 … … 11612 11597 mov dx, strict word 0000eh ; ba 0e 00 11613 11598 mov ax, strict word 00040h ; b8 40 00 11614 call 0166ch ; e8 6d9b11599 call 0166ch ; e8 19 9b 11615 11600 mov si, ax ; 89 c6 11616 11601 xor cl, cl ; 30 c9 … … 11624 11609 mov al, dl ; 88 d0 11625 11610 xor ah, ah ; 30 e4 11626 call 079 75h ; e8 5d fe11611 call 079c9h ; e8 5d fe 11627 11612 cmp ax, 066bbh ; 3d bb 66 11628 jne short 07b 2fh ; 75 1211613 jne short 07b83h ; 75 12 11629 11614 push SS ; 16 11630 11615 pop ES ; 07 … … 11634 11619 mov word [es:di], bx ; 26 89 1d 11635 11620 cmp ax, strict word 0004fh ; 3d 4f 00 11636 je short 07b 32h ; 74 0311637 jmp near 07 befh ; e9 bd 0011621 je short 07b86h ; 74 03 11622 jmp near 07c43h ; e9 bd 00 11638 11623 mov al, dl ; 88 d0 11639 11624 add AL, strict byte 004h ; 04 04 11640 11625 xor ah, ah ; 30 e4 11641 call 079 5fh ; e8 24 fe11626 call 079b3h ; e8 24 fe 11642 11627 mov ch, al ; 88 c5 11643 11628 mov byte [bp-012h], al ; 88 46 ee … … 11645 11630 add AL, strict byte 005h ; 04 05 11646 11631 xor ah, ah ; 30 e4 11647 call 079 5fh ; e8 16 fe11632 call 079b3h ; e8 16 fe 11648 11633 mov dh, al ; 88 c6 11649 11634 mov byte [bp-010h], al ; 88 46 f0 … … 11651 11636 add AL, strict byte 002h ; 04 02 11652 11637 xor ah, ah ; 30 e4 11653 call 079 75h ; e8 1e fe11638 call 079c9h ; e8 1e fe 11654 11639 mov bx, ax ; 89 c3 11655 11640 mov word [bp-014h], ax ; 89 46 ec … … 11657 11642 add AL, strict byte 006h ; 04 06 11658 11643 xor ah, ah ; 30 e4 11659 call 079 5fh ; e8 fa fd11644 call 079b3h ; e8 fa fd 11660 11645 mov byte [bp-00eh], al ; 88 46 f2 11661 11646 test ch, ch ; 84 ed 11662 jne short 07b 74h ; 75 0811647 jne short 07bc8h ; 75 08 11663 11648 test dh, dh ; 84 f6 11664 jne short 07b 74h ; 75 0411649 jne short 07bc8h ; 75 04 11665 11650 test bx, bx ; 85 db 11666 je short 07 bcch ; 74 5811651 je short 07c20h ; 74 58 11667 11652 mov bx, 00142h ; bb 42 01 11668 11653 mov ax, 04f02h ; b8 02 4f 11669 11654 int 010h ; cd 10 11670 11655 cmp byte [bp-012h], 000h ; 80 7e ee 00 11671 je short 07b a5h ; 74 2311656 je short 07bf9h ; 74 23 11672 11657 xor bx, bx ; 31 db 11673 jmp short 07b 8ch ; eb 0611658 jmp short 07be0h ; eb 06 11674 11659 inc bx ; 43 11675 11660 cmp bx, strict byte 00010h ; 83 fb 10 11676 jnbe short 07 bach ; 77 2011661 jnbe short 07c00h ; 77 20 11677 11662 mov ax, bx ; 89 d8 11678 11663 or ah, 002h ; 80 cc 02 … … 11681 11666 xor dx, dx ; 31 d2 11682 11667 mov ax, strict word 00001h ; b8 01 00 11683 call 07 8b0h ; e8 13 fd11668 call 07904h ; e8 13 fd 11684 11669 cmp AL, strict byte 086h ; 3c 86 11685 jne short 07b 86h ; 75 e511670 jne short 07bdah ; 75 e5 11686 11671 mov CL, strict byte 001h ; b1 01 11687 jmp short 07 bach ; eb 0711672 jmp short 07c00h ; eb 07 11688 11673 mov ax, 00210h ; b8 10 02 11689 11674 mov dx, 003b8h ; ba b8 03 11690 11675 out DX, ax ; ef 11691 11676 test cl, cl ; 84 c9 11692 jne short 07 bc2h ; 75 1211677 jne short 07c16h ; 75 12 11693 11678 mov ax, word [bp-014h] ; 8b 46 ec 11694 11679 shr ax, 004h ; c1 e8 04 11695 11680 mov dx, strict word 00001h ; ba 01 00 11696 call 07 8b0h ; e8 f4 fc11681 call 07904h ; e8 f4 fc 11697 11682 cmp AL, strict byte 086h ; 3c 86 11698 jne short 07 bc2h ; 75 0211683 jne short 07c16h ; 75 02 11699 11684 mov CL, strict byte 001h ; b1 01 11700 11685 cmp byte [bp-010h], 000h ; 80 7e f0 00 11701 je short 07 befh ; 74 2711686 je short 07c43h ; 74 27 11702 11687 test cl, cl ; 84 c9 11703 je short 07 bceh ; 74 0211704 jmp short 07 befh ; eb 2111688 je short 07c22h ; 74 02 11689 jmp short 07c43h ; eb 21 11705 11690 mov bx, strict word 00010h ; bb 10 00 11706 jmp short 07 bd8h ; eb 0511691 jmp short 07c2ch ; eb 05 11707 11692 dec bx ; 4b 11708 11693 test bx, bx ; 85 db 11709 jbe short 07 befh ; 76 1711694 jbe short 07c43h ; 76 17 11710 11695 mov ax, bx ; 89 d8 11711 11696 or ah, 002h ; 80 cc 02 … … 11714 11699 xor dx, dx ; 31 d2 11715 11700 mov ax, strict word 00001h ; b8 01 00 11716 call 07 8b0h ; e8 c7 fc11701 call 07904h ; e8 c7 fc 11717 11702 cmp AL, strict byte 086h ; 3c 86 11718 jne short 07 bd3h ; 75 e611703 jne short 07c27h ; 75 e6 11719 11704 mov CL, strict byte 001h ; b1 01 11720 11705 xor bx, bx ; 31 db 11721 11706 mov dx, 0037dh ; ba 7d 03 11722 11707 mov ax, si ; 89 f0 11723 call 0165eh ; e8 659a11708 call 0165eh ; e8 11 9a 11724 11709 mov AL, strict byte 003h ; b0 03 11725 11710 mov AH, strict byte 000h ; b4 00 11726 11711 int 010h ; cd 10 11727 11712 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11728 je short 07c 19h ; 74 1411713 je short 07c6dh ; 74 14 11729 11714 cmp byte [bp-012h], 000h ; 80 7e ee 00 11730 jne short 07c 40h ; 75 3511715 jne short 07c94h ; 75 35 11731 11716 cmp byte [bp-010h], 000h ; 80 7e f0 00 11732 jne short 07c 40h ; 75 2f11717 jne short 07c94h ; 75 2f 11733 11718 cmp word [bp-014h], strict byte 00000h ; 83 7e ec 00 11734 je short 07c 1ch ; 74 0511735 jmp short 07c 40h ; eb 2711736 jmp near 07 cf4h ; e9 d8 0011719 je short 07c70h ; 74 05 11720 jmp short 07c94h ; eb 27 11721 jmp near 07d48h ; e9 d8 00 11737 11722 cmp byte [bp-00eh], 002h ; 80 7e f2 02 11738 jne short 07c 2dh ; 75 0b11723 jne short 07c81h ; 75 0b 11739 11724 push 00a4bh ; 68 4b 0a 11740 11725 push strict byte 00002h ; 6a 02 11741 call 01966h ; e8 3c 9d11726 call 01966h ; e8 e8 9c 11742 11727 add sp, strict byte 00004h ; 83 c4 04 11743 11728 test cl, cl ; 84 c9 11744 jne short 07c 40h ; 75 0f11729 jne short 07c94h ; 75 0f 11745 11730 mov dx, strict word 00001h ; ba 01 00 11746 11731 mov ax, 000c0h ; b8 c0 00 11747 call 07 8b0h ; e8 76 fc11732 call 07904h ; e8 76 fc 11748 11733 cmp AL, strict byte 086h ; 3c 86 11749 jne short 07c 40h ; 75 0211734 jne short 07c94h ; 75 02 11750 11735 mov CL, strict byte 001h ; b1 01 11751 11736 test cl, cl ; 84 c9 11752 je short 07c 19h ; 74 d511737 je short 07c6dh ; 74 d5 11753 11738 mov byte [bp-00ch], 000h ; c6 46 f4 00 11754 11739 mov ax, 00100h ; b8 00 01 … … 11769 11754 push 00a6dh ; 68 6d 0a 11770 11755 push strict byte 00002h ; 6a 02 11771 call 01966h ; e8 f99c11756 call 01966h ; e8 a5 9c 11772 11757 add sp, strict byte 00004h ; 83 c4 04 11773 call 079 89h ; e8 16 fd11758 call 079ddh ; e8 16 fd 11774 11759 push 00ab1h ; 68 b1 0a 11775 11760 push strict byte 00002h ; 6a 02 11776 call 01966h ; e8 eb9c11761 call 01966h ; e8 97 9c 11777 11762 add sp, strict byte 00004h ; 83 c4 04 11778 11763 mov dx, strict word 00001h ; ba 01 00 11779 11764 mov ax, strict word 00040h ; b8 40 00 11780 call 07 8b0h ; e8 29 fc11765 call 07904h ; e8 29 fc 11781 11766 mov bl, al ; 88 c3 11782 11767 test al, al ; 84 c0 11783 je short 07c 7eh ; 74 f111768 je short 07cd2h ; 74 f1 11784 11769 cmp AL, strict byte 030h ; 3c 30 11785 je short 07 ce1h ; 74 5011770 je short 07d35h ; 74 50 11786 11771 cmp bl, 002h ; 80 fb 02 11787 jc short 07 cbah ; 72 2411772 jc short 07d0eh ; 72 24 11788 11773 cmp bl, 009h ; 80 fb 09 11789 jnbe short 07 cbah ; 77 1f11774 jnbe short 07d0eh ; 77 1f 11790 11775 mov al, bl ; 88 d8 11791 11776 xor ah, ah ; 30 e4 11792 call 07 ac3h ; e8 21 fe11777 call 07b17h ; e8 21 fe 11793 11778 cmp AL, strict byte 0ffh ; 3c ff 11794 jne short 07c a8h ; 75 0211795 jmp short 07c 7eh ; eb d611779 jne short 07cfch ; 75 02 11780 jmp short 07cd2h ; eb d6 11796 11781 mov bl, al ; 88 c3 11797 11782 xor bh, bh ; 30 ff 11798 11783 mov dx, 0037ch ; ba 7c 03 11799 11784 mov ax, si ; 89 f0 11800 call 0165eh ; e8 aa9911785 call 0165eh ; e8 56 99 11801 11786 mov byte [bp-00ch], 002h ; c6 46 f4 02 11802 jmp short 07 ce1h ; eb 2711787 jmp short 07d35h ; eb 27 11803 11788 cmp bl, 02eh ; 80 fb 2e 11804 je short 07 ccfh ; 74 1011789 je short 07d23h ; 74 10 11805 11790 cmp bl, 026h ; 80 fb 26 11806 je short 07 cd5h ; 74 1111791 je short 07d29h ; 74 11 11807 11792 cmp bl, 021h ; 80 fb 21 11808 jne short 07 cdbh ; 75 1211793 jne short 07d2fh ; 75 12 11809 11794 mov byte [bp-00ch], 001h ; c6 46 f4 01 11810 jmp short 07 ce1h ; eb 1211795 jmp short 07d35h ; eb 12 11811 11796 mov byte [bp-00ch], 003h ; c6 46 f4 03 11812 jmp short 07 ce1h ; eb 0c11797 jmp short 07d35h ; eb 0c 11813 11798 mov byte [bp-00ch], 004h ; c6 46 f4 04 11814 jmp short 07 ce1h ; eb 0611799 jmp short 07d35h ; eb 06 11815 11800 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11816 je short 07c 7eh ; 74 9d11801 je short 07cd2h ; 74 9d 11817 11802 mov bl, byte [bp-00ch] ; 8a 5e f4 11818 11803 xor bh, bh ; 30 ff 11819 11804 mov dx, 0037dh ; ba 7d 03 11820 11805 mov ax, si ; 89 f0 11821 call 0165eh ; e8 709911806 call 0165eh ; e8 1c 99 11822 11807 mov AL, strict byte 003h ; b0 03 11823 11808 mov AH, strict byte 000h ; b4 00 … … 11832 11817 push DS ; 1e 11833 11818 mov ds, ax ; 8e d8 11834 call 0edbfh ; e8 ba7011819 call 0edbfh ; e8 66 70 11835 11820 pop DS ; 1f 11836 11821 pop bp ; 5d … … 11843 11828 pop bp ; 5d 11844 11829 retn ; c3 11845 delay_boot_: ; 0xf7d 11LB 0x6b11830 delay_boot_: ; 0xf7d65 LB 0x6b 11846 11831 push bp ; 55 11847 11832 mov bp, sp ; 89 e5 … … 11853 11838 mov dx, ax ; 89 c2 11854 11839 test ax, ax ; 85 c0 11855 je short 07d 72h ; 74 5311840 je short 07dc6h ; 74 53 11856 11841 mov AL, strict byte 034h ; b0 34 11857 11842 out strict byte 043h, AL ; e6 43 … … 11863 11848 push 00afbh ; 68 fb 0a 11864 11849 push strict byte 00002h ; 6a 02 11865 call 01966h ; e8 32 9c11850 call 01966h ; e8 de 9b 11866 11851 add sp, strict byte 00006h ; 83 c4 06 11867 11852 mov bx, dx ; 89 d3 11868 11853 test bx, bx ; 85 db 11869 jbe short 07d 54h ; 76 1711854 jbe short 07da8h ; 76 17 11870 11855 push bx ; 53 11871 11856 push 00b19h ; 68 19 0b 11872 11857 push strict byte 00002h ; 6a 02 11873 call 01966h ; e8 20 9c11858 call 01966h ; e8 cc 9b 11874 11859 add sp, strict byte 00006h ; 83 c4 06 11875 11860 xor dx, dx ; 31 d2 11876 11861 mov ax, strict word 00040h ; b8 40 00 11877 call 07 8b0h ; e8 5f fb11862 call 07904h ; e8 5f fb 11878 11863 dec bx ; 4b 11879 jmp short 07d 39h ; eb e511864 jmp short 07d8dh ; eb e5 11880 11865 push 00a49h ; 68 49 0a 11881 11866 push strict byte 00002h ; 6a 02 11882 call 01966h ; e8 0a 9c11867 call 01966h ; e8 b6 9b 11883 11868 add sp, strict byte 00004h ; 83 c4 04 11884 11869 mov AL, strict byte 034h ; b0 34 … … 11891 11876 push DS ; 1e 11892 11877 mov ds, ax ; 8e d8 11893 call 0edbfh ; e8 4f 7011878 call 0edbfh ; e8 fb 6f 11894 11879 pop DS ; 1f 11895 11880 pop bp ; 5d … … 11902 11887 pop bp ; 5d 11903 11888 retn ; c3 11904 scsi_cmd_data_in_: ; 0xf7d 7cLB 0xd511889 scsi_cmd_data_in_: ; 0xf7dd0 LB 0xd5 11905 11890 push bp ; 55 11906 11891 mov bp, sp ; 89 e5 … … 11918 11903 ; sub ah, ah ; 2a e4 11919 11904 test AL, strict byte 001h ; a8 01 11920 jne short 07d 92h ; 75 f711905 jne short 07de6h ; 75 f7 11921 11906 mov al, byte [bp+004h] ; 8a 46 04 11922 11907 cmp AL, strict byte 010h ; 3c 10 11923 jne short 07d a6h ; 75 0411908 jne short 07dfah ; 75 04 11924 11909 xor ax, ax ; 31 c0 11925 jmp short 07d a8h ; eb 0211910 jmp short 07dfch ; eb 02 11926 11911 xor ah, ah ; 30 e4 11927 11912 mov di, ax ; 89 c7 … … 11931 11916 shr dx, 1 ; d1 ea 11932 11917 rcr ax, 1 ; d1 d8 11933 loop 07 db2h ; e2 fa11918 loop 07e06h ; e2 fa 11934 11919 mov cx, ax ; 89 c1 11935 11920 and cx, 000f0h ; 81 e1 f0 00 … … 11949 11934 shr dx, 1 ; d1 ea 11950 11935 rcr ax, 1 ; d1 d8 11951 loop 07 dd7h ; e2 fa11936 loop 07e2bh ; e2 fa 11952 11937 mov dx, si ; 89 f2 11953 11938 out DX, AL ; ee … … 11956 11941 xor ah, ah ; 30 e4 11957 11942 cmp cx, ax ; 39 c1 11958 jnc short 07 df9h ; 73 0e11943 jnc short 07e4dh ; 73 0e 11959 11944 les di, [bp-00ah] ; c4 7e f6 11960 11945 add di, cx ; 01 cf … … 11963 11948 out DX, AL ; ee 11964 11949 inc cx ; 41 11965 jmp short 07 de2h ; eb e911950 jmp short 07e36h ; eb e9 11966 11951 mov dx, si ; 89 f2 11967 11952 in AL, DX ; ec … … 11969 11954 ; sub ah, ah ; 2a e4 11970 11955 test AL, strict byte 001h ; a8 01 11971 jne short 07 df9h ; 75 f711956 jne short 07e4dh ; 75 f7 11972 11957 test AL, strict byte 002h ; a8 02 11973 je short 07e 14h ; 74 0e11958 je short 07e68h ; 74 0e 11974 11959 lea dx, [si+003h] ; 8d 54 03 11975 11960 xor al, al ; 30 c0 … … 11979 11964 ; sub ah, ah ; 2a e4 11980 11965 mov di, strict word 00004h ; bf 04 00 11981 jmp short 07e 46h ; eb 3211966 jmp short 07e9ah ; eb 32 11982 11967 lea dx, [si+001h] ; 8d 54 01 11983 11968 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 11984 jne short 07e 23h ; 75 0611969 jne short 07e77h ; 75 06 11985 11970 cmp bx, 08000h ; 81 fb 00 80 11986 jbe short 07e 3dh ; 76 1a11971 jbe short 07e91h ; 76 1a 11987 11972 mov cx, 08000h ; b9 00 80 11988 11973 les di, [bp+006h] ; c4 7e 06 … … 11993 11978 add ax, 00800h ; 05 00 08 11994 11979 mov word [bp+008h], ax ; 89 46 08 11995 jmp short 07e 14h ; eb d711980 jmp short 07e68h ; eb d7 11996 11981 mov cx, bx ; 89 d9 11997 11982 les di, [bp+006h] ; c4 7e 06 … … 12004 11989 pop bp ; 5d 12005 11990 retn 0000ah ; c2 0a 00 12006 scsi_cmd_data_out_: ; 0xf7e 51LB 0xd511991 scsi_cmd_data_out_: ; 0xf7ea5 LB 0xd5 12007 11992 push bp ; 55 12008 11993 mov bp, sp ; 89 e5 … … 12020 12005 ; sub ah, ah ; 2a e4 12021 12006 test AL, strict byte 001h ; a8 01 12022 jne short 07e 67h ; 75 f712007 jne short 07ebbh ; 75 f7 12023 12008 mov al, byte [bp+004h] ; 8a 46 04 12024 12009 cmp AL, strict byte 010h ; 3c 10 12025 jne short 07e 7bh ; 75 0412010 jne short 07ecfh ; 75 04 12026 12011 xor ax, ax ; 31 c0 12027 jmp short 07e 7dh ; eb 0212012 jmp short 07ed1h ; eb 02 12028 12013 xor ah, ah ; 30 e4 12029 12014 mov si, ax ; 89 c6 … … 12033 12018 shr dx, 1 ; d1 ea 12034 12019 rcr ax, 1 ; d1 d8 12035 loop 07e 87h ; e2 fa12020 loop 07edbh ; e2 fa 12036 12021 mov cx, ax ; 89 c1 12037 12022 and cx, 000f0h ; 81 e1 f0 00 … … 12051 12036 shr dx, 1 ; d1 ea 12052 12037 rcr ax, 1 ; d1 d8 12053 loop 07 each ; e2 fa12038 loop 07f00h ; e2 fa 12054 12039 mov dx, di ; 89 fa 12055 12040 out DX, AL ; ee … … 12058 12043 xor ah, ah ; 30 e4 12059 12044 cmp cx, ax ; 39 c1 12060 jnc short 07 eceh ; 73 0e12045 jnc short 07f22h ; 73 0e 12061 12046 les si, [bp-00ah] ; c4 76 f6 12062 12047 add si, cx ; 01 ce … … 12065 12050 out DX, AL ; ee 12066 12051 inc cx ; 41 12067 jmp short 07 eb7h ; eb e912052 jmp short 07f0bh ; eb e9 12068 12053 lea dx, [di+001h] ; 8d 55 01 12069 12054 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 12070 jne short 07 eddh ; 75 0612055 jne short 07f31h ; 75 06 12071 12056 cmp bx, 08000h ; 81 fb 00 80 12072 jbe short 07 ef8h ; 76 1b12057 jbe short 07f4ch ; 76 1b 12073 12058 mov cx, 08000h ; b9 00 80 12074 12059 les si, [bp+006h] ; c4 76 06 … … 12080 12065 add ax, 00800h ; 05 00 08 12081 12066 mov word [bp+008h], ax ; 89 46 08 12082 jmp short 07 eceh ; eb d612067 jmp short 07f22h ; eb d6 12083 12068 mov cx, bx ; 89 d9 12084 12069 les si, [bp+006h] ; c4 76 06 … … 12090 12075 ; sub ah, ah ; 2a e4 12091 12076 test AL, strict byte 001h ; a8 01 12092 jne short 07f 00h ; 75 f712077 jne short 07f54h ; 75 f7 12093 12078 test AL, strict byte 002h ; a8 02 12094 je short 07f 1bh ; 74 0e12079 je short 07f6fh ; 74 0e 12095 12080 lea dx, [di+003h] ; 8d 55 03 12096 12081 xor al, al ; 30 c0 … … 12100 12085 ; sub ah, ah ; 2a e4 12101 12086 mov ax, strict word 00004h ; b8 04 00 12102 jmp short 07f 1dh ; eb 0212087 jmp short 07f71h ; eb 02 12103 12088 xor ax, ax ; 31 c0 12104 12089 lea sp, [bp-004h] ; 8d 66 fc … … 12107 12092 pop bp ; 5d 12108 12093 retn 0000ah ; c2 0a 00 12109 @scsi_read_sectors: ; 0xf7f 26LB 0xe012094 @scsi_read_sectors: ; 0xf7f7a LB 0xe0 12110 12095 push bp ; 55 12111 12096 mov bp, sp ; 89 e5 … … 12119 12104 mov byte [bp-006h], al ; 88 46 fa 12120 12105 cmp AL, strict byte 004h ; 3c 04 12121 jbe short 07f 52h ; 76 1112106 jbe short 07fa6h ; 76 11 12122 12107 xor ah, ah ; 30 e4 12123 12108 push ax ; 50 … … 12125 12110 push 00b30h ; 68 30 0b 12126 12111 push strict byte 00007h ; 6a 07 12127 call 01966h ; e8 17 9a12112 call 01966h ; e8 c3 99 12128 12113 add sp, strict byte 00008h ; 83 c4 08 12129 12114 mov es, [bp+006h] ; 8e 46 06 … … 12165 12150 sal word [bp-00ah], 1 ; d1 66 f6 12166 12151 rcl word [bp-008h], 1 ; d1 56 f8 12167 loop 0 7fbch ; e2 f812152 loop 08010h ; e2 f8 12168 12153 push word [bp-008h] ; ff 76 f8 12169 12154 push word [bp-00ah] ; ff 76 f6 … … 12174 12159 mov cx, ss ; 8c d1 12175 12160 lea bx, [bp-01ah] ; 8d 5e e6 12176 call 07d 7ch ; e8 9e fd12161 call 07dd0h ; e8 9e fd 12177 12162 mov ah, al ; 88 c4 12178 12163 test al, al ; 84 c0 12179 jne short 0 7ff9h ; 75 1512164 jne short 0804dh ; 75 15 12180 12165 mov es, [bp+006h] ; 8e 46 06 12181 12166 mov word [es:si+018h], di ; 26 89 7c 18 … … 12191 12176 pop bp ; 5d 12192 12177 retn 00004h ; c2 04 00 12193 @scsi_write_sectors: ; 0xf80 06LB 0xe012178 @scsi_write_sectors: ; 0xf805a LB 0xe0 12194 12179 push bp ; 55 12195 12180 mov bp, sp ; 89 e5 … … 12203 12188 mov byte [bp-006h], al ; 88 46 fa 12204 12189 cmp AL, strict byte 004h ; 3c 04 12205 jbe short 080 32h ; 76 1112190 jbe short 08086h ; 76 11 12206 12191 xor ah, ah ; 30 e4 12207 12192 push ax ; 50 … … 12209 12194 push 00b30h ; 68 30 0b 12210 12195 push strict byte 00007h ; 6a 07 12211 call 01966h ; e8 37 9912196 call 01966h ; e8 e3 98 12212 12197 add sp, strict byte 00008h ; 83 c4 08 12213 12198 mov es, [bp+006h] ; 8e 46 06 … … 12249 12234 sal word [bp-00ah], 1 ; d1 66 f6 12250 12235 rcl word [bp-008h], 1 ; d1 56 f8 12251 loop 080 9ch ; e2 f812236 loop 080f0h ; e2 f8 12252 12237 push word [bp-008h] ; ff 76 f8 12253 12238 push word [bp-00ah] ; ff 76 f6 … … 12258 12243 mov cx, ss ; 8c d1 12259 12244 lea bx, [bp-01ah] ; 8d 5e e6 12260 call 07e 51h ; e8 93 fd12245 call 07ea5h ; e8 93 fd 12261 12246 mov ah, al ; 88 c4 12262 12247 test al, al ; 84 c0 12263 jne short 08 0d9h ; 75 1512248 jne short 0812dh ; 75 15 12264 12249 mov es, [bp+006h] ; 8e 46 06 12265 12250 mov word [es:si+018h], di ; 26 89 7c 18 … … 12275 12260 pop bp ; 5d 12276 12261 retn 00004h ; c2 04 00 12277 scsi_cmd_packet_: ; 0xf8 0e6LB 0x16812262 scsi_cmd_packet_: ; 0xf813a LB 0x168 12278 12263 push bp ; 55 12279 12264 mov bp, sp ; 89 e5 … … 12287 12272 mov dx, strict word 0000eh ; ba 0e 00 12288 12273 mov ax, strict word 00040h ; b8 40 00 12289 call 0166ch ; e8 6a9512274 call 0166ch ; e8 16 95 12290 12275 mov si, 00122h ; be 22 01 12291 12276 mov word [bp-00ah], ax ; 89 46 f6 12292 12277 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12293 jne short 081 2dh ; 75 1f12278 jne short 08181h ; 75 1f 12294 12279 mov bx, 00da0h ; bb a0 0d 12295 12280 mov cx, ds ; 8c d9 12296 12281 mov ax, strict word 00004h ; b8 04 00 12297 call 01923h ; e8 0a 9812282 call 01923h ; e8 b6 97 12298 12283 push 00b62h ; 68 62 0b 12299 12284 push 00b72h ; 68 72 0b 12300 12285 push strict byte 00004h ; 6a 04 12301 call 01966h ; e8 42 9812286 call 01966h ; e8 ee 97 12302 12287 add sp, strict byte 00006h ; 83 c4 06 12303 12288 mov dx, strict word 00001h ; ba 01 00 12304 jmp near 082 43h ; e9 16 0112289 jmp near 08297h ; e9 16 01 12305 12290 sub di, strict byte 00008h ; 83 ef 08 12306 12291 sal di, 002h ; c1 e7 02 … … 12316 12301 ; sub ah, ah ; 2a e4 12317 12302 test AL, strict byte 001h ; a8 01 12318 jne short 081 49h ; 75 f712303 jne short 0819dh ; 75 f7 12319 12304 xor ax, ax ; 31 c0 12320 12305 mov dx, word [bp+006h] ; 8b 56 06 … … 12332 12317 shr dx, 1 ; d1 ea 12333 12318 rcr ax, 1 ; d1 d8 12334 loop 081 74h ; e2 fa12319 loop 081c8h ; e2 fa 12335 12320 and ax, 000f0h ; 25 f0 00 12336 12321 mov cl, byte [bp-006h] ; 8a 4e fa … … 12351 12336 shr dx, 1 ; d1 ea 12352 12337 rcr ax, 1 ; d1 d8 12353 loop 081 9ch ; e2 fa12338 loop 081f0h ; e2 fa 12354 12339 mov dx, bx ; 89 da 12355 12340 out DX, AL ; ee … … 12358 12343 xor ah, ah ; 30 e4 12359 12344 cmp cx, ax ; 39 c1 12360 jnc short 08 1beh ; 73 0e12345 jnc short 08212h ; 73 0e 12361 12346 les di, [bp-00eh] ; c4 7e f2 12362 12347 add di, cx ; 01 cf … … 12365 12350 out DX, AL ; ee 12366 12351 inc cx ; 41 12367 jmp short 081 a7h ; eb e912352 jmp short 081fbh ; eb e9 12368 12353 mov dx, bx ; 89 da 12369 12354 in AL, DX ; ec … … 12371 12356 ; sub ah, ah ; 2a e4 12372 12357 test AL, strict byte 001h ; a8 01 12373 jne short 08 1beh ; 75 f712358 jne short 08212h ; 75 f7 12374 12359 test AL, strict byte 002h ; a8 02 12375 je short 08 1d9h ; 74 0e12360 je short 0822dh ; 74 0e 12376 12361 lea dx, [bx+003h] ; 8d 57 03 12377 12362 xor al, al ; 30 c0 … … 12381 12366 ; sub ah, ah ; 2a e4 12382 12367 mov dx, strict word 00003h ; ba 03 00 12383 jmp short 082 43h ; eb 6a12368 jmp short 08297h ; eb 6a 12384 12369 mov ax, word [bp+004h] ; 8b 46 04 12385 12370 test ax, ax ; 85 c0 12386 je short 08 1e8h ; 74 0812371 je short 0823ch ; 74 08 12387 12372 lea dx, [bx+001h] ; 8d 57 01 12388 12373 mov cx, ax ; 89 c1 12389 12374 in AL, DX ; ec 12390 loop 08 1e5h ; e2 fd12375 loop 08239h ; e2 fd 12391 12376 mov ax, word [bp+006h] ; 8b 46 06 12392 12377 mov es, [bp-00ah] ; 8e 46 f6 … … 12396 12381 lea ax, [bx+001h] ; 8d 47 01 12397 12382 cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00 12398 jne short 082 09h ; 75 0712383 jne short 0825dh ; 75 07 12399 12384 cmp word [bp+006h], 08000h ; 81 7e 06 00 80 12400 jbe short 082 26h ; 76 1d12385 jbe short 0827ah ; 76 1d 12401 12386 mov dx, ax ; 89 c2 12402 12387 mov cx, 08000h ; b9 00 80 … … 12408 12393 add ax, 00800h ; 05 00 08 12409 12394 mov word [bp+00eh], ax ; 89 46 0e 12410 jmp short 08 1f9h ; eb d312395 jmp short 0824dh ; eb d3 12411 12396 mov dx, ax ; 89 c2 12412 12397 mov cx, word [bp+006h] ; 8b 4e 06 … … 12415 12400 mov es, [bp-00ah] ; 8e 46 f6 12416 12401 cmp word [es:si+020h], strict byte 00000h ; 26 83 7c 20 00 12417 je short 082 41h ; 74 0712402 je short 08295h ; 74 07 12418 12403 mov cx, word [es:si+020h] ; 26 8b 4c 20 12419 12404 in AL, DX ; ec 12420 loop 082 3eh ; e2 fd12405 loop 08292h ; e2 fd 12421 12406 xor dx, dx ; 31 d2 12422 12407 mov ax, dx ; 89 d0 … … 12426 12411 pop bp ; 5d 12427 12412 retn 0000ch ; c2 0c 00 12428 scsi_enumerate_attached_devices_: ; 0xf82 4eLB 0x4a612413 scsi_enumerate_attached_devices_: ; 0xf82a2 LB 0x4a6 12429 12414 push bp ; 55 12430 12415 mov bp, sp ; 89 e5 … … 12438 12423 mov dx, strict word 0000eh ; ba 0e 00 12439 12424 mov ax, strict word 00040h ; b8 40 00 12440 call 0166ch ; e8 08 9412425 call 0166ch ; e8 b4 93 12441 12426 mov di, 00122h ; bf 22 01 12442 12427 mov word [bp-020h], ax ; 89 46 e0 12443 12428 mov word [bp-022h], strict word 00000h ; c7 46 de 00 00 12444 jmp near 086 72h ; e9 00 0412429 jmp near 086c6h ; e9 00 04 12445 12430 cmp AL, strict byte 004h ; 3c 04 12446 jc short 082 79h ; 72 0312447 jmp near 08 6eah ; e9 71 0412431 jc short 082cdh ; 72 03 12432 jmp near 0873eh ; e9 71 04 12448 12433 mov cx, strict word 00010h ; b9 10 00 12449 12434 xor bx, bx ; 31 db 12450 12435 mov dx, ss ; 8c d2 12451 12436 lea ax, [bp-046h] ; 8d 46 ba 12452 call 09f a0h ; e8 1a1d12437 call 09ff0h ; e8 16 1d 12453 12438 mov byte [bp-046h], 09eh ; c6 46 ba 9e 12454 12439 mov byte [bp-045h], 010h ; c6 46 bb 10 … … 12465 12450 lea bx, [bp-046h] ; 8d 5e ba 12466 12451 mov ax, word [bp-00248h] ; 8b 86 b8 fd 12467 call 07d 7ch ; e8 cd fa12452 call 07dd0h ; e8 cd fa 12468 12453 test al, al ; 84 c0 12469 je short 08 2c1h ; 74 0e12454 je short 08315h ; 74 0e 12470 12455 push 00b92h ; 68 92 0b 12471 12456 push 00bcbh ; 68 cb 0b 12472 12457 push strict byte 00007h ; 6a 07 12473 call 01966h ; e8 a89612458 call 01966h ; e8 54 96 12474 12459 add sp, strict byte 00006h ; 83 c4 06 12475 12460 mov ax, word [bp-00240h] ; 8b 86 c0 fd … … 12503 12488 sal ax, 1 ; d1 e0 12504 12489 rcl dx, 1 ; d1 d2 12505 loop 083 10h ; e2 fa12490 loop 08364h ; e2 fa 12506 12491 or bx, ax ; 09 c3 12507 12492 or dx, si ; 09 f2 … … 12511 12496 mov word [bp-028h], bx ; 89 5e d8 12512 12497 test dx, dx ; 85 d2 12513 jne short 083 2fh ; 75 0612498 jne short 08383h ; 75 06 12514 12499 cmp bx, 00200h ; 81 fb 00 02 12515 je short 083 4fh ; 74 2012500 je short 083a3h ; 74 20 12516 12501 mov bx, 00da0h ; bb a0 0d 12517 12502 mov cx, ds ; 8c d9 12518 12503 mov ax, strict word 00004h ; b8 04 00 12519 call 01923h ; e8 e99512504 call 01923h ; e8 95 95 12520 12505 push dx ; 52 12521 12506 push word [bp-028h] ; ff 76 d8 … … 12523 12508 push 00beah ; 68 ea 0b 12524 12509 push strict byte 00004h ; 6a 04 12525 call 01966h ; e8 1d 9612510 call 01966h ; e8 c9 95 12526 12511 add sp, strict byte 0000ah ; 83 c4 0a 12527 jmp near 086 66h ; e9 17 0312512 jmp near 086bah ; e9 17 03 12528 12513 mov al, byte [bp-00ch] ; 8a 46 f4 12529 12514 cmp AL, strict byte 001h ; 3c 01 12530 jc short 083 62h ; 72 0c12531 jbe short 083 6ah ; 76 1212515 jc short 083b6h ; 72 0c 12516 jbe short 083beh ; 76 12 12532 12517 cmp AL, strict byte 003h ; 3c 03 12533 je short 083 72h ; 74 1612518 je short 083c6h ; 74 16 12534 12519 cmp AL, strict byte 002h ; 3c 02 12535 je short 083 6eh ; 74 0e12536 jmp short 08 3bbh ; eb 5912520 je short 083c2h ; 74 0e 12521 jmp short 0840fh ; eb 59 12537 12522 test al, al ; 84 c0 12538 jne short 08 3bbh ; 75 5512523 jne short 0840fh ; 75 55 12539 12524 mov BL, strict byte 090h ; b3 90 12540 jmp short 083 74h ; eb 0a12525 jmp short 083c8h ; eb 0a 12541 12526 mov BL, strict byte 098h ; b3 98 12542 jmp short 083 74h ; eb 0612527 jmp short 083c8h ; eb 06 12543 12528 mov BL, strict byte 0a0h ; b3 a0 12544 jmp short 083 74h ; eb 0212529 jmp short 083c8h ; eb 02 12545 12530 mov BL, strict byte 0a8h ; b3 a8 12546 12531 mov cl, bl ; 88 d9 … … 12548 12533 xor ch, ch ; 30 ed 12549 12534 mov ax, cx ; 89 c8 12550 call 016ach ; e8 2c 9312535 call 016ach ; e8 d8 92 12551 12536 test al, al ; 84 c0 12552 je short 08 3bbh ; 74 3712537 je short 0840fh ; 74 37 12553 12538 mov al, bl ; 88 d8 12554 12539 db 0feh, 0c0h 12555 12540 ; inc al ; fe c0 12556 12541 xor ah, ah ; 30 e4 12557 call 016ach ; e8 1f 9312542 call 016ach ; e8 cb 92 12558 12543 xor ah, ah ; 30 e4 12559 12544 mov dx, ax ; 89 c2 12560 12545 sal dx, 008h ; c1 e2 08 12561 12546 mov al, bl ; 88 d8 12562 call 016ach ; e8 13 9312547 call 016ach ; e8 bf 92 12563 12548 xor ah, ah ; 30 e4 12564 12549 add ax, dx ; 01 d0 … … 12568 12553 add AL, strict byte 002h ; 04 02 12569 12554 xor ah, ah ; 30 e4 12570 call 016ach ; e8 03 9312555 call 016ach ; e8 af 92 12571 12556 xor ah, ah ; 30 e4 12572 12557 mov word [bp-018h], ax ; 89 46 e8 12573 12558 mov ax, cx ; 89 c8 12574 call 016ach ; e8 f99212559 call 016ach ; e8 a5 92 12575 12560 xor ah, ah ; 30 e4 12576 12561 mov word [bp-026h], ax ; 89 46 da 12577 jmp near 084 a9h ; e9 ee 0012562 jmp near 084fdh ; e9 ee 00 12578 12563 mov ax, word [bp-012h] ; 8b 46 ee 12579 12564 mov bx, word [bp-010h] ; 8b 5e f0 … … 12581 12566 mov dx, word [bp-014h] ; 8b 56 ec 12582 12567 mov si, strict word 0000ch ; be 0c 00 12583 call 09f 80h ; e8 b31b12568 call 09fd0h ; e8 af 1b 12584 12569 mov word [bp-02ah], ax ; 89 46 d6 12585 12570 mov word [bp-016h], bx ; 89 5e ea … … 12588 12573 mov ax, word [bp-012h] ; 8b 46 ee 12589 12574 test ax, ax ; 85 c0 12590 jnbe short 08 3f5h ; 77 1512591 je short 08 3e5h ; 74 0312592 jmp near 084 6ah ; e9 85 0012575 jnbe short 08449h ; 77 15 12576 je short 08439h ; 74 03 12577 jmp near 084beh ; e9 85 00 12593 12578 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 12594 jnbe short 08 3f5h ; 77 0a12595 jne short 08 3e2h ; 75 f512579 jnbe short 08449h ; 77 0a 12580 jne short 08436h ; 75 f5 12596 12581 cmp word [bp-01ch], strict byte 00040h ; 83 7e e4 40 12597 jnbe short 08 3f5h ; 77 0212598 jne short 084 6ah ; 75 7512582 jnbe short 08449h ; 77 02 12583 jne short 084beh ; 75 75 12599 12584 mov word [bp-018h], 000ffh ; c7 46 e8 ff 00 12600 12585 mov word [bp-026h], strict word 0003fh ; c7 46 da 3f 00 … … 12603 12588 mov dx, word [bp-014h] ; 8b 56 ec 12604 12589 mov si, strict word 00006h ; be 06 00 12605 call 09f 80h ; e8 721b12590 call 09fd0h ; e8 6e 1b 12606 12591 mov si, word [bp-01eh] ; 8b 76 e2 12607 12592 add si, dx ; 01 d6 … … 12621 12606 mov dx, si ; 89 f2 12622 12607 mov si, strict word 00008h ; be 08 00 12623 call 09f 80h ; e8 421b12608 call 09fd0h ; e8 3e 1b 12624 12609 mov word [bp-02eh], bx ; 89 5e d2 12625 12610 mov word [bp-030h], cx ; 89 4e d0 … … 12630 12615 mov dx, word [bp-036h] ; 8b 56 ca 12631 12616 mov si, strict word 00010h ; be 10 00 12632 call 09f 80h ; e8 271b12617 call 09fd0h ; e8 23 1b 12633 12618 mov si, word [bp-032h] ; 8b 76 ce 12634 12619 add si, dx ; 01 d6 … … 12637 12622 mov ax, word [bp-02eh] ; 8b 46 d2 12638 12623 adc ax, bx ; 11 d8 12639 jmp short 084 a9h ; eb 3f12624 jmp short 084fdh ; eb 3f 12640 12625 test ax, ax ; 85 c0 12641 jnbe short 084 80h ; 77 1212642 jne short 084 8ch ; 75 1c12626 jnbe short 084d4h ; 77 12 12627 jne short 084e0h ; 75 1c 12643 12628 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 12644 jnbe short 084 80h ; 77 0a12645 jne short 084 8ch ; 75 1412629 jnbe short 084d4h ; 77 0a 12630 jne short 084e0h ; 75 14 12646 12631 cmp word [bp-01ch], strict byte 00020h ; 83 7e e4 20 12647 jnbe short 084 80h ; 77 0212648 jne short 084 8ch ; 75 0c12632 jnbe short 084d4h ; 77 02 12633 jne short 084e0h ; 75 0c 12649 12634 mov word [bp-018h], 00080h ; c7 46 e8 80 00 12650 12635 mov word [bp-026h], strict word 00020h ; c7 46 da 20 00 12651 jmp short 084 a5h ; eb 1912636 jmp short 084f9h ; eb 19 12652 12637 mov word [bp-018h], strict word 00040h ; c7 46 e8 40 00 12653 12638 mov word [bp-026h], strict word 00020h ; c7 46 da 20 00 … … 12656 12641 mov dx, word [bp-014h] ; 8b 56 ec 12657 12642 mov si, strict word 0000bh ; be 0b 00 12658 call 09f 80h ; e8 db1a12643 call 09fd0h ; e8 d7 1a 12659 12644 mov si, dx ; 89 d6 12660 12645 mov dx, cx ; 89 ca … … 12691 12676 mov word [es:bx+034h], ax ; 26 89 47 34 12692 12677 test dx, dx ; 85 d2 12693 jne short 085 1bh ; 75 0612678 jne short 0856fh ; 75 06 12694 12679 cmp si, 00400h ; 81 fe 00 04 12695 jbe short 085 29h ; 76 0e12680 jbe short 0857dh ; 76 0e 12696 12681 mov word [es:bx+02ch], 00400h ; 26 c7 47 2c 00 04 12697 12682 mov word [es:bx+032h], 00400h ; 26 c7 47 32 00 04 12698 jmp short 085 31h ; eb 0812683 jmp short 08585h ; eb 08 12699 12684 mov word [es:bx+02ch], si ; 26 89 77 2c 12700 12685 mov word [es:bx+032h], si ; 26 89 77 32 … … 12702 12687 mov cx, ds ; 8c d9 12703 12688 mov ax, strict word 00004h ; b8 04 00 12704 call 01923h ; e8 e79312689 call 01923h ; e8 93 93 12705 12690 push word [bp-012h] ; ff 76 ee 12706 12691 push word [bp-010h] ; ff 76 f0 … … 12717 12702 push 00c18h ; 68 18 0c 12718 12703 push strict byte 00004h ; 6a 04 12719 call 01966h ; e8 05 9412704 call 01966h ; e8 b1 93 12720 12705 add sp, strict byte 00018h ; 83 c4 18 12721 12706 mov al, byte [bp-00eh] ; 8a 46 f2 … … 12745 12730 mov dx, strict word 00075h ; ba 75 00 12746 12731 mov ax, strict word 00040h ; b8 40 00 12747 call 01650h ; e8 9b9012732 call 01650h ; e8 47 90 12748 12733 mov bl, al ; 88 c3 12749 12734 db 0feh, 0c3h … … 12752 12737 mov dx, strict word 00075h ; ba 75 00 12753 12738 mov ax, strict word 00040h ; b8 40 00 12754 call 0165eh ; e8 9a9012739 call 0165eh ; e8 46 90 12755 12740 inc byte [bp-00ch] ; fe 46 f4 12756 jmp near 086 5bh ; e9 91 0012741 jmp near 086afh ; e9 91 00 12757 12742 mov bx, 00da0h ; bb a0 0d 12758 12743 mov cx, ds ; 8c d9 12759 12744 mov ax, strict word 00004h ; b8 04 00 12760 call 01923h ; e8 4e 9312745 call 01923h ; e8 fa 92 12761 12746 push word [bp-022h] ; ff 76 de 12762 12747 mov al, byte [bp-00ch] ; 8a 46 f4 … … 12765 12750 push 00c46h ; 68 46 0c 12766 12751 push strict byte 00004h ; 6a 04 12767 call 01966h ; e8 809312752 call 01966h ; e8 2c 93 12768 12753 add sp, strict byte 00008h ; 83 c4 08 12769 12754 mov al, byte [bp-00ch] ; 8a 46 f4 … … 12771 12756 mov byte [bp-00eh], al ; 88 46 f2 12772 12757 test byte [bp-00245h], 080h ; f6 86 bb fd 80 12773 je short 08 5fdh ; 74 0512758 je short 08651h ; 74 05 12774 12759 mov dx, strict word 00001h ; ba 01 00 12775 jmp short 08 5ffh ; eb 0212760 jmp short 08653h ; eb 02 12776 12761 xor dx, dx ; 31 d2 12777 12762 mov al, byte [bp-00ch] ; 8a 46 f4 … … 12809 12794 inc word [bp-022h] ; ff 46 de 12810 12795 cmp word [bp-022h], strict byte 00010h ; 83 7e de 10 12811 jl short 086 72h ; 7c 0312812 jmp near 08 6eah ; e9 78 0012796 jl short 086c6h ; 7c 03 12797 jmp near 0873eh ; e9 78 00 12813 12798 mov byte [bp-046h], 012h ; c6 46 ba 12 12814 12799 xor al, al ; 30 c0 … … 12829 12814 lea bx, [bp-046h] ; 8d 5e ba 12830 12815 mov ax, word [bp-00248h] ; 8b 86 b8 fd 12831 call 07d 7ch ; e8 d7 f612816 call 07dd0h ; e8 d7 f6 12832 12817 test al, al ; 84 c0 12833 je short 08 6b7h ; 74 0e12818 je short 0870bh ; 74 0e 12834 12819 push 00b92h ; 68 92 0b 12835 12820 push 00bb2h ; 68 b2 0b 12836 12821 push strict byte 00007h ; 6a 07 12837 call 01966h ; e8 b29212822 call 01966h ; e8 5e 92 12838 12823 add sp, strict byte 00006h ; 83 c4 06 12839 12824 mov es, [bp-020h] ; 8e 46 e0 … … 12841 12826 mov byte [bp-00ch], al ; 88 46 f4 12842 12827 test byte [bp-00246h], 0e0h ; f6 86 ba fd e0 12843 jne short 08 6d3h ; 75 0a12828 jne short 08727h ; 75 0a 12844 12829 test byte [bp-00246h], 01fh ; f6 86 ba fd 1f 12845 jne short 08 6d3h ; 75 0312846 jmp near 082 72h ; e9 9f fb12830 jne short 08727h ; 75 03 12831 jmp near 082c6h ; e9 9f fb 12847 12832 test byte [bp-00246h], 0e0h ; f6 86 ba fd e0 12848 jne short 086 5bh ; 75 8112833 jne short 086afh ; 75 81 12849 12834 mov al, byte [bp-00246h] ; 8a 86 ba fd 12850 12835 and AL, strict byte 01fh ; 24 1f 12851 12836 cmp AL, strict byte 005h ; 3c 05 12852 jne short 08 6e7h ; 75 0312853 jmp near 08 5cah ; e9 e3 fe12854 jmp near 086 5bh ; e9 71 ff12837 jne short 0873bh ; 75 03 12838 jmp near 0861eh ; e9 e3 fe 12839 jmp near 086afh ; e9 71 ff 12855 12840 lea sp, [bp-00ah] ; 8d 66 f6 12856 12841 pop di ; 5f … … 12861 12846 pop bp ; 5d 12862 12847 retn ; c3 12863 _scsi_init: ; 0xf8 6f4LB 0x6612848 _scsi_init: ; 0xf8748 LB 0x66 12864 12849 push bp ; 55 12865 12850 mov bp, sp ; 89 e5 12866 12851 mov dx, strict word 0000eh ; ba 0e 00 12867 12852 mov ax, strict word 00040h ; b8 40 00 12868 call 0166ch ; e8 6c8f12853 call 0166ch ; e8 18 8f 12869 12854 mov bx, 00122h ; bb 22 01 12870 12855 mov es, ax ; 8e c0 … … 12877 12862 ; sub ah, ah ; 2a e4 12878 12863 cmp AL, strict byte 055h ; 3c 55 12879 jne short 087 24h ; 75 0c12864 jne short 08778h ; 75 0c 12880 12865 xor al, al ; 30 c0 12881 12866 mov dx, 00433h ; ba 33 04 12882 12867 out DX, AL ; ee 12883 12868 mov ax, 00430h ; b8 30 04 12884 call 082 4eh ; e8 2a fb12869 call 082a2h ; e8 2a fb 12885 12870 mov AL, strict byte 055h ; b0 55 12886 12871 mov dx, 00436h ; ba 36 04 … … 12890 12875 ; sub ah, ah ; 2a e4 12891 12876 cmp AL, strict byte 055h ; 3c 55 12892 jne short 087 3dh ; 75 0c12877 jne short 08791h ; 75 0c 12893 12878 xor al, al ; 30 c0 12894 12879 mov dx, 00437h ; ba 37 04 12895 12880 out DX, AL ; ee 12896 12881 mov ax, 00434h ; b8 34 04 12897 call 082 4eh ; e8 11 fb12882 call 082a2h ; e8 11 fb 12898 12883 mov AL, strict byte 055h ; b0 55 12899 12884 mov dx, 0043ah ; ba 3a 04 … … 12903 12888 ; sub ah, ah ; 2a e4 12904 12889 cmp AL, strict byte 055h ; 3c 55 12905 jne short 087 56h ; 75 0c12890 jne short 087aah ; 75 0c 12906 12891 xor al, al ; 30 c0 12907 12892 mov dx, 0043bh ; ba 3b 04 12908 12893 out DX, AL ; ee 12909 12894 mov ax, 00438h ; b8 38 04 12910 call 082 4eh ; e8 f8 fa12895 call 082a2h ; e8 f8 fa 12911 12896 mov sp, bp ; 89 ec 12912 12897 pop bp ; 5d 12913 12898 retn ; c3 12914 ahci_ctrl_extract_bits_: ; 0xf87 5aLB 0x1c12899 ahci_ctrl_extract_bits_: ; 0xf87ae LB 0x1c 12915 12900 push si ; 56 12916 12901 push bp ; 55 … … 12921 12906 mov cl, byte [bp+006h] ; 8a 4e 06 12922 12907 xor ch, ch ; 30 ed 12923 jcxz 087 71h ; e3 0612908 jcxz 087c5h ; e3 06 12924 12909 shr dx, 1 ; d1 ea 12925 12910 rcr ax, 1 ; d1 d8 12926 loop 087 6bh ; e2 fa12911 loop 087bfh ; e2 fa 12927 12912 pop bp ; 5d 12928 12913 pop si ; 5e 12929 12914 retn 00002h ; c2 02 00 12930 ahci_addr_to_phys_: ; 0xf87 76LB 0x1e12915 ahci_addr_to_phys_: ; 0xf87ca LB 0x1e 12931 12916 push bx ; 53 12932 12917 push cx ; 51 … … 12939 12924 sal ax, 1 ; d1 e0 12940 12925 rcl dx, 1 ; d1 d2 12941 loop 087 84h ; e2 fa12926 loop 087d8h ; e2 fa 12942 12927 xor cx, cx ; 31 c9 12943 12928 add ax, bx ; 01 d8 … … 12947 12932 pop bx ; 5b 12948 12933 retn ; c3 12949 ahci_port_cmd_sync_: ; 0xf87 94LB 0x15612934 ahci_port_cmd_sync_: ; 0xf87e8 LB 0x156 12950 12935 push bp ; 55 12951 12936 mov bp, sp ; 89 e5 … … 12962 12947 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 12963 12948 cmp AL, strict byte 0ffh ; 3c ff 12964 jne short 08 7b7h ; 75 0312965 jmp near 08 8e2h ; e9 2b 0112949 jne short 0880bh ; 75 03 12950 jmp near 08936h ; e9 2b 01 12966 12951 mov al, byte [es:si+00263h] ; 26 8a 84 63 02 12967 12952 xor ah, ah ; 30 e4 … … 12976 12961 lea ax, [si+00080h] ; 8d 84 80 00 12977 12962 mov dx, cx ; 89 ca 12978 call 087 76h ; e8 92 ff12963 call 087cah ; e8 92 ff 12979 12964 mov es, cx ; 8e c1 12980 12965 mov word [es:si+008h], ax ; 26 89 44 08 … … 13042 13027 xchg dx, ax ; 92 13043 13028 test dh, 040h ; f6 c6 40 13044 jne short 088 75h ; 75 0413029 jne short 088c9h ; 75 04 13045 13030 test AL, strict byte 001h ; a8 01 13046 je short 088 79h ; 74 0413031 je short 088cdh ; 74 04 13047 13032 mov AL, strict byte 001h ; b0 01 13048 jmp short 088 7bh ; eb 0213033 jmp short 088cfh ; eb 02 13049 13034 xor al, al ; 30 c0 13050 13035 test al, al ; 84 c0 13051 je short 088 48h ; 74 c913036 je short 0889ch ; 74 c9 13052 13037 mov al, byte [bp-008h] ; 8a 46 f8 13053 13038 xor ah, ah ; 30 e4 … … 13105 13090 pop bp ; 5d 13106 13091 retn ; c3 13107 ahci_cmd_data_: ; 0xf8 8eaLB 0x26713092 ahci_cmd_data_: ; 0xf893e LB 0x267 13108 13093 push bp ; 55 13109 13094 mov bp, sp ; 89 e5 … … 13130 13115 mov ax, 00080h ; b8 80 00 13131 13116 mov dx, word [bp-00ah] ; 8b 56 f6 13132 call 09f a0h ; e8 781613117 call 09ff0h ; e8 74 16 13133 13118 mov es, [bp-00ah] ; 8e 46 f6 13134 13119 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 13148 13133 mov dx, word [es:si] ; 26 8b 14 13149 13134 mov si, strict word 00008h ; be 08 00 13150 call 09f 80h ; e8 141613135 call 09fd0h ; e8 10 16 13151 13136 mov es, [bp-00ah] ; 8e 46 f6 13152 13137 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 13159 13144 mov dx, word [es:si] ; 26 8b 14 13160 13145 mov si, strict word 00010h ; be 10 00 13161 call 09f 80h ; e8 ee1513146 call 09fd0h ; e8 ea 15 13162 13147 mov es, [bp-00ah] ; 8e 46 f6 13163 13148 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 13171 13156 mov dx, word [es:si] ; 26 8b 14 13172 13157 mov si, strict word 00018h ; be 18 00 13173 call 09f 80h ; e8 c21513158 call 09fd0h ; e8 be 15 13174 13159 mov es, [bp-00ah] ; 8e 46 f6 13175 13160 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 13182 13167 mov dx, word [es:si] ; 26 8b 14 13183 13168 mov si, strict word 00020h ; be 20 00 13184 call 09f 80h ; e8 9c1513169 call 09fd0h ; e8 98 15 13185 13170 mov es, [bp-00ah] ; 8e 46 f6 13186 13171 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 13193 13178 mov dx, word [es:si] ; 26 8b 14 13194 13179 mov si, strict word 00028h ; be 28 00 13195 call 09f 80h ; e8 761513180 call 09fd0h ; e8 72 15 13196 13181 mov es, [bp-00ah] ; 8e 46 f6 13197 13182 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 13207 13192 mov bx, word [bp-010h] ; 8b 5e f0 13208 13193 xor cx, cx ; 31 c9 13209 call 09f 30h ; e8 f11413194 call 09f80h ; e8 ed 14 13210 13195 push dx ; 52 13211 13196 push ax ; 50 … … 13217 13202 mov ax, 0026ah ; b8 6a 02 13218 13203 mov dx, word [bp-00ah] ; 8b 56 f6 13219 call 09e 86h ; e8 2b 1413204 call 09edah ; e8 2b 14 13220 13205 mov es, [bp-00ah] ; 8e 46 f6 13221 13206 mov dx, word [es:di+0027eh] ; 26 8b 95 7e 02 … … 13240 13225 mov ax, word [es:bx+020h] ; 26 8b 47 20 13241 13226 test ax, ax ; 85 c0 13242 je short 08 aedh ; 74 3b13227 je short 08b41h ; 74 3b 13243 13228 dec ax ; 48 13244 13229 mov es, [bp-00ah] ; 8e 46 f6 … … 13258 13243 mov al, byte [bp-008h] ; 8a 46 f8 13259 13244 cmp AL, strict byte 035h ; 3c 35 13260 jne short 08 afah ; 75 0613245 jne short 08b4eh ; 75 06 13261 13246 mov byte [bp-008h], 040h ; c6 46 f8 40 13262 jmp short 08b 11h ; eb 1713247 jmp short 08b65h ; eb 17 13263 13248 cmp AL, strict byte 0a0h ; 3c a0 13264 jne short 08b 0dh ; 75 0f13249 jne short 08b61h ; 75 0f 13265 13250 or byte [bp-008h], 020h ; 80 4e f8 20 13266 13251 les bx, [bp-00eh] ; c4 5e f2 13267 13252 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 13268 jmp short 08b 11h ; eb 0413253 jmp short 08b65h ; eb 04 13269 13254 mov byte [bp-008h], 000h ; c6 46 f8 00 13270 13255 or byte [bp-008h], 005h ; 80 4e f8 05 … … 13273 13258 mov ax, word [bp-00eh] ; 8b 46 f2 13274 13259 mov dx, word [bp-00ch] ; 8b 56 f4 13275 call 087 94h ; e8 71 fc13260 call 087e8h ; e8 71 fc 13276 13261 mov cx, word [bp-00ch] ; 8b 4e f4 13277 13262 mov bx, word [bp-00eh] ; 8b 5e f2 … … 13280 13265 add ax, 0026ah ; 05 6a 02 13281 13266 mov dx, cx ; 89 ca 13282 call 09 efdh ; e8 c5 1313267 call 09f51h ; e8 c5 13 13283 13268 mov es, cx ; 8e c1 13284 13269 mov al, byte [es:bx+003h] ; 26 8a 47 03 13285 13270 test al, al ; 84 c0 13286 je short 08b 47h ; 74 0513271 je short 08b9bh ; 74 05 13287 13272 mov ax, strict word 00004h ; b8 04 00 13288 jmp short 08b 49h ; eb 0213273 jmp short 08b9dh ; eb 02 13289 13274 xor ah, ah ; 30 e4 13290 13275 lea sp, [bp-006h] ; 8d 66 fa … … 13294 13279 pop bp ; 5d 13295 13280 retn ; c3 13296 ahci_port_deinit_current_: ; 0xf8b 51LB 0x18013281 ahci_port_deinit_current_: ; 0xf8ba5 LB 0x180 13297 13282 push bp ; 55 13298 13283 mov bp, sp ; 89 e5 … … 13309 13294 mov byte [bp-00ah], al ; 88 46 f6 13310 13295 cmp AL, strict byte 0ffh ; 3c ff 13311 je short 08 bd2h ; 74 5f13296 je short 08c26h ; 74 5f 13312 13297 xor ah, ah ; 30 e4 13313 13298 sal ax, 007h ; c1 e0 07 … … 13353 13338 xchg dx, ax ; 92 13354 13339 test ax, 0c011h ; a9 11 c0 13355 je short 08 bd5h ; 74 0713340 je short 08c29h ; 74 07 13356 13341 mov AL, strict byte 001h ; b0 01 13357 jmp short 08 bd7h ; eb 0513358 jmp near 08 cc8h ; e9 f3 0013342 jmp short 08c2bh ; eb 05 13343 jmp near 08d1ch ; e9 f3 00 13359 13344 xor al, al ; 30 c0 13360 13345 cmp AL, strict byte 001h ; 3c 01 13361 je short 08b a5h ; 74 ca13346 je short 08bf9h ; 74 ca 13362 13347 mov cx, strict word 00020h ; b9 20 00 13363 13348 xor bx, bx ; 31 db 13364 13349 mov ax, di ; 89 f8 13365 13350 mov dx, word [bp-00eh] ; 8b 56 f2 13366 call 09f a0h ; e8 b81313351 call 09ff0h ; e8 b4 13 13367 13352 lea ax, [di+00080h] ; 8d 85 80 00 13368 13353 mov cx, strict word 00040h ; b9 40 00 13369 13354 xor bx, bx ; 31 db 13370 13355 mov dx, word [bp-00eh] ; 8b 56 f2 13371 call 09f a0h ; e8 a91313356 call 09ff0h ; e8 a5 13 13372 13357 lea ax, [di+00200h] ; 8d 85 00 02 13373 13358 mov cx, strict word 00060h ; b9 60 00 13374 13359 xor bx, bx ; 31 db 13375 13360 mov dx, word [bp-00eh] ; 8b 56 f2 13376 call 09f a0h ; e8 9a1313361 call 09ff0h ; e8 96 13 13377 13362 mov al, byte [bp-00ah] ; 8a 46 f6 13378 13363 xor ah, ah ; 30 e4 … … 13479 13464 pop bp ; 5d 13480 13465 retn ; c3 13481 ahci_port_init_: ; 0xf8 cd1LB 0x24d13466 ahci_port_init_: ; 0xf8d25 LB 0x24d 13482 13467 push bp ; 55 13483 13468 mov bp, sp ; 89 e5 … … 13489 13474 mov word [bp-00ah], dx ; 89 56 f6 13490 13475 mov byte [bp-008h], bl ; 88 5e f8 13491 call 08b 51h ; e8 6c fe13476 call 08ba5h ; e8 6c fe 13492 13477 mov al, bl ; 88 d8 13493 13478 xor ah, ah ; 30 e4 … … 13538 13523 xchg dx, ax ; 92 13539 13524 test ax, 0c011h ; a9 11 c0 13540 je short 08d 56h ; 74 0413525 je short 08daah ; 74 04 13541 13526 mov AL, strict byte 001h ; b0 01 13542 jmp short 08d 58h ; eb 0213527 jmp short 08dach ; eb 02 13543 13528 xor al, al ; 30 c0 13544 13529 cmp AL, strict byte 001h ; 3c 01 13545 je short 08d 21h ; 74 c513530 je short 08d75h ; 74 c5 13546 13531 mov cx, strict word 00020h ; b9 20 00 13547 13532 xor bx, bx ; 31 db 13548 13533 mov ax, si ; 89 f0 13549 13534 mov dx, word [bp-00ah] ; 8b 56 f6 13550 call 09f a0h ; e8 371213535 call 09ff0h ; e8 33 12 13551 13536 lea ax, [si+00080h] ; 8d 84 80 00 13552 13537 mov cx, strict word 00040h ; b9 40 00 13553 13538 xor bx, bx ; 31 db 13554 13539 mov dx, word [bp-00ah] ; 8b 56 f6 13555 call 09f a0h ; e8 281213540 call 09ff0h ; e8 24 12 13556 13541 lea di, [si+00200h] ; 8d bc 00 02 13557 13542 mov cx, strict word 00060h ; b9 60 00 … … 13559 13544 mov ax, di ; 89 f8 13560 13545 mov dx, word [bp-00ah] ; 8b 56 f6 13561 call 09f a0h ; e8 171213546 call 09ff0h ; e8 13 12 13562 13547 mov bl, byte [bp-008h] ; 8a 5e f8 13563 13548 xor bh, bh ; 30 ff … … 13577 13562 mov ax, di ; 89 f8 13578 13563 mov dx, word [bp-00ah] ; 8b 56 f6 13579 call 087 76h ; e8 bf f913564 call 087cah ; e8 bf f9 13580 13565 mov es, [bp-00ah] ; 8e 46 f6 13581 13566 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13622 13607 mov ax, si ; 89 f0 13623 13608 mov dx, word [bp-00ah] ; 8b 56 f6 13624 call 087 76h ; e8 53 f913609 call 087cah ; e8 53 f9 13625 13610 mov es, [bp-00ah] ; 8e 46 f6 13626 13611 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13727 13712 pop bp ; 5d 13728 13713 retn ; c3 13729 @ahci_read_sectors: ; 0xf8f 1eLB 0xa813714 @ahci_read_sectors: ; 0xf8f72 LB 0xa8 13730 13715 push bp ; 55 13731 13716 mov bp, sp ; 89 e5 … … 13738 13723 sub bx, strict byte 0000ch ; 83 eb 0c 13739 13724 cmp bx, strict byte 00004h ; 83 fb 04 13740 jbe short 08f 44h ; 76 0f13725 jbe short 08f98h ; 76 0f 13741 13726 push bx ; 53 13742 13727 push 00c62h ; 68 62 0c 13743 13728 push 00c74h ; 68 74 0c 13744 13729 push strict byte 00007h ; 6a 07 13745 call 01966h ; e8 25 8a13730 call 01966h ; e8 d1 89 13746 13731 add sp, strict byte 00008h ; 83 c4 08 13747 13732 xor di, di ; 31 ff … … 13758 13743 mov dx, word [es:di+00232h] ; 26 8b 95 32 02 13759 13744 xor ax, ax ; 31 c0 13760 call 08 cd1h ; e8 60 fd13745 call 08d25h ; e8 60 fd 13761 13746 mov bx, strict word 00025h ; bb 25 00 13762 13747 mov ax, si ; 89 f0 13763 13748 mov dx, word [bp+006h] ; 8b 56 06 13764 call 08 8eah ; e8 6e f913749 call 0893eh ; e8 6e f9 13765 13750 mov word [bp-006h], ax ; 89 46 fa 13766 13751 mov es, [bp+006h] ; 8e 46 06 … … 13791 13776 pop bp ; 5d 13792 13777 retn 00004h ; c2 04 00 13793 @ahci_write_sectors: ; 0xf 8fc6LB 0x8613778 @ahci_write_sectors: ; 0xf901a LB 0x86 13794 13779 push bp ; 55 13795 13780 mov bp, sp ; 89 e5 … … 13803 13788 sub dx, strict byte 0000ch ; 83 ea 0c 13804 13789 cmp dx, strict byte 00004h ; 83 fa 04 13805 jbe short 0 8ff0h ; 76 0f13790 jbe short 09044h ; 76 0f 13806 13791 push dx ; 52 13807 13792 push 00c93h ; 68 93 0c 13808 13793 push 00c74h ; 68 74 0c 13809 13794 push strict byte 00007h ; 6a 07 13810 call 01966h ; e8 798913795 call 01966h ; e8 25 89 13811 13796 add sp, strict byte 00008h ; 83 c4 08 13812 13797 xor bx, bx ; 31 db … … 13823 13808 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 13824 13809 xor ax, ax ; 31 c0 13825 call 08 cd1h ; e8 b6 fc13810 call 08d25h ; e8 b6 fc 13826 13811 mov bx, strict word 00035h ; bb 35 00 13827 13812 mov ax, si ; 89 f0 13828 13813 mov dx, cx ; 89 ca 13829 call 08 8eah ; e8 c5 f813814 call 0893eh ; e8 c5 f8 13830 13815 mov dx, ax ; 89 c2 13831 13816 mov es, cx ; 8e c1 … … 13842 13827 pop bp ; 5d 13843 13828 retn 00004h ; c2 04 00 13844 ahci_cmd_packet_: ; 0xf90 4cLB 0x18a13829 ahci_cmd_packet_: ; 0xf90a0 LB 0x18a 13845 13830 push bp ; 55 13846 13831 mov bp, sp ; 89 e5 … … 13854 13839 mov dx, strict word 0000eh ; ba 0e 00 13855 13840 mov ax, strict word 00040h ; b8 40 00 13856 call 0166ch ; e8 05 8613841 call 0166ch ; e8 b1 85 13857 13842 mov si, 00122h ; be 22 01 13858 13843 mov word [bp-008h], ax ; 89 46 f8 13859 13844 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 13860 jne short 090 92h ; 75 1f13845 jne short 090e6h ; 75 1f 13861 13846 mov bx, 00da0h ; bb a0 0d 13862 13847 mov cx, ds ; 8c d9 13863 13848 mov ax, strict word 00004h ; b8 04 00 13864 call 01923h ; e8 a58813849 call 01923h ; e8 51 88 13865 13850 push 00ca6h ; 68 a6 0c 13866 13851 push 00cb6h ; 68 b6 0c 13867 13852 push strict byte 00004h ; 6a 04 13868 call 01966h ; e8 dd8813853 call 01966h ; e8 89 88 13869 13854 add sp, strict byte 00006h ; 83 c4 06 13870 13855 mov ax, strict word 00001h ; b8 01 00 13871 jmp near 09 1cdh ; e9 3b 0113856 jmp near 09221h ; e9 3b 01 13872 13857 test byte [bp+004h], 001h ; f6 46 04 01 13873 jne short 090 8ch ; 75 f413858 jne short 090e0h ; 75 f4 13874 13859 mov ax, word [bp+006h] ; 8b 46 06 13875 13860 mov dx, word [bp+008h] ; 8b 56 08 … … 13877 13862 sal ax, 1 ; d1 e0 13878 13863 rcl dx, 1 ; d1 d2 13879 loop 090 a1h ; e2 fa13864 loop 090f5h ; e2 fa 13880 13865 mov es, [bp-008h] ; 8e 46 f8 13881 13866 mov word [es:si], ax ; 26 89 04 … … 13891 13876 mov dx, word [bp+008h] ; 8b 56 08 13892 13877 xor cx, cx ; 31 c9 13893 call 09f 50h ; e8 760e13878 call 09fa0h ; e8 72 0e 13894 13879 mov word [es:si+00eh], ax ; 26 89 44 0e 13895 13880 xor di, di ; 31 ff … … 13910 13895 mov bx, ax ; 89 c3 13911 13896 xor al, al ; 30 c0 13912 call 08 cd1h ; e8 b8 fb13897 call 08d25h ; e8 b8 fb 13913 13898 mov al, byte [bp-006h] ; 8a 46 fa 13914 13899 xor ah, ah ; 30 e4 … … 13918 13903 mov ax, 000c0h ; b8 c0 00 13919 13904 mov dx, word [bp-00ah] ; 8b 56 f6 13920 call 0 9fb0h ; e8 820e13905 call 0a000h ; e8 7e 0e 13921 13906 mov es, [bp-008h] ; 8e 46 f8 13922 13907 mov word [es:si+018h], di ; 26 89 7c 18 … … 13925 13910 mov ax, word [es:si+01eh] ; 26 8b 44 1e 13926 13911 test ax, ax ; 85 c0 13927 je short 091 6ch ; 74 2713912 je short 091c0h ; 74 27 13928 13913 dec ax ; 48 13929 13914 mov es, [bp-00ah] ; 8e 46 f6 … … 13938 13923 mov ax, si ; 89 f0 13939 13924 mov dx, word [bp-008h] ; 8b 56 f8 13940 call 08 8eah ; e8 73 f713925 call 0893eh ; e8 73 f7 13941 13926 les bx, [bp-00eh] ; c4 5e f2 13942 13927 mov dx, word [es:bx+004h] ; 26 8b 57 04 … … 13965 13950 mov ax, word [es:bx+006h] ; 26 8b 47 06 13966 13951 or ax, word [es:bx+004h] ; 26 0b 47 04 13967 jne short 09 1cbh ; 75 0513952 jne short 0921fh ; 75 05 13968 13953 mov ax, strict word 00004h ; b8 04 00 13969 jmp short 09 1cdh ; eb 0213954 jmp short 09221h ; eb 02 13970 13955 xor ax, ax ; 31 c0 13971 13956 lea sp, [bp-004h] ; 8d 66 fc … … 13974 13959 pop bp ; 5d 13975 13960 retn 0000ch ; c2 0c 00 13976 ahci_port_detect_device_: ; 0xf9 1d6LB 0x4e313961 ahci_port_detect_device_: ; 0xf922a LB 0x4e3 13977 13962 push bp ; 55 13978 13963 mov bp, sp ; 89 e5 … … 13987 13972 xor ch, ch ; 30 ed 13988 13973 mov bx, cx ; 89 cb 13989 call 08 cd1h ; e8 e0 fa13974 call 08d25h ; e8 e0 fa 13990 13975 mov dx, strict word 0000eh ; ba 0e 00 13991 13976 mov ax, strict word 00040h ; b8 40 00 13992 call 0166ch ; e8 728413977 call 0166ch ; e8 1e 84 13993 13978 mov word [bp-00eh], 00122h ; c7 46 f2 22 01 13994 13979 mov word [bp-016h], ax ; 89 46 ea … … 14060 14045 mov bx, strict word 0000fh ; bb 0f 00 14061 14046 xor cx, cx ; 31 c9 14062 call 087 5ah ; e8 b5 f414047 call 087aeh ; e8 b5 f4 14063 14048 test ax, ax ; 85 c0 14064 jne short 09 2ach ; 75 0314065 jmp near 09 6b1h ; e9 05 0414049 jne short 09300h ; 75 03 14050 jmp near 09705h ; e9 05 04 14066 14051 mov al, byte [bp-00ch] ; 8a 46 f4 14067 14052 xor ah, ah ; 30 e4 … … 14092 14077 mov bx, strict word 0000fh ; bb 0f 00 14093 14078 xor cx, cx ; 31 c9 14094 call 087 5ah ; e8 67 f414079 call 087aeh ; e8 67 f4 14095 14080 cmp ax, strict word 00001h ; 3d 01 00 14096 je short 09 2ach ; 74 b414081 je short 09300h ; 74 b4 14097 14082 push strict byte 00000h ; 6a 00 14098 14083 mov bx, strict word 0000fh ; bb 0f 00 … … 14100 14085 mov ax, word [bp-01ah] ; 8b 46 e6 14101 14086 mov dx, di ; 89 fa 14102 call 087 5ah ; e8 53 f414087 call 087aeh ; e8 53 f4 14103 14088 cmp ax, strict word 00003h ; 3d 03 00 14104 jne short 092 a9h ; 75 9d14089 jne short 092fdh ; 75 9d 14105 14090 mov ax, word [bp-01ch] ; 8b 46 e4 14106 14091 add ax, 00130h ; 05 30 01 … … 14130 14115 mov byte [bp-008h], al ; 88 46 f8 14131 14116 cmp AL, strict byte 004h ; 3c 04 14132 jc short 093 56h ; 72 0314133 jmp near 09 6b1h ; e9 5b 0314117 jc short 093aah ; 72 03 14118 jmp near 09705h ; e9 5b 03 14134 14119 mov ax, word [bp-01ch] ; 8b 46 e4 14135 14120 add ax, 00118h ; 05 18 01 … … 14181 14166 add cl, 00ch ; 80 c1 0c 14182 14167 test dx, dx ; 85 d2 14183 jne short 094 1ch ; 75 5414168 jne short 09470h ; 75 54 14184 14169 cmp ax, 00101h ; 3d 01 01 14185 jne short 094 1ch ; 75 4f14170 jne short 09470h ; 75 4f 14186 14171 mov es, [bp-016h] ; 8e 46 ea 14187 14172 mov bx, word [bp-00eh] ; 8b 5e f2 … … 14198 14183 mov ax, word [bp-00eh] ; 8b 46 f2 14199 14184 mov dx, es ; 8c c2 14200 call 08 8eah ; e8 dd f414185 call 0893eh ; e8 dd f4 14201 14186 mov byte [bp-00ah], cl ; 88 4e f6 14202 14187 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14203 je short 094 1fh ; 74 0814188 je short 09473h ; 74 08 14204 14189 mov ax, strict word 00001h ; b8 01 00 14205 jmp short 094 21h ; eb 0514206 jmp near 09 5efh ; e9 d0 0114190 jmp short 09475h ; eb 05 14191 jmp near 09643h ; e9 d0 01 14207 14192 xor ax, ax ; 31 c0 14208 14193 mov dl, al ; 88 c2 … … 14220 14205 mov word [bp-01eh], ax ; 89 46 e2 14221 14206 cmp word [bp-014h], 00fffh ; 81 7e ec ff 0f 14222 jne short 094 70h ; 75 1e14207 jne short 094c4h ; 75 1e 14223 14208 cmp di, strict byte 0ffffh ; 83 ff ff 14224 jne short 094 70h ; 75 1914209 jne short 094c4h ; 75 19 14225 14210 mov ax, word [bp-0015ch] ; 8b 86 a4 fe 14226 14211 mov word [bp-01eh], ax ; 89 46 e2 … … 14261 14246 mov al, byte [bp-008h] ; 8a 46 f8 14262 14247 cmp AL, strict byte 001h ; 3c 01 14263 jc short 09 4ebh ; 72 0c14264 jbe short 09 4f3h ; 76 1214248 jc short 0953fh ; 72 0c 14249 jbe short 09547h ; 76 12 14265 14250 cmp AL, strict byte 003h ; 3c 03 14266 je short 09 4fbh ; 74 1614251 je short 0954fh ; 74 16 14267 14252 cmp AL, strict byte 002h ; 3c 02 14268 je short 09 4f7h ; 74 0e14269 jmp short 095 43h ; eb 5814253 je short 0954bh ; 74 0e 14254 jmp short 09597h ; eb 58 14270 14255 test al, al ; 84 c0 14271 jne short 095 43h ; 75 5414256 jne short 09597h ; 75 54 14272 14257 mov DL, strict byte 040h ; b2 40 14273 jmp short 09 4fdh ; eb 0a14258 jmp short 09551h ; eb 0a 14274 14259 mov DL, strict byte 048h ; b2 48 14275 jmp short 09 4fdh ; eb 0614260 jmp short 09551h ; eb 06 14276 14261 mov DL, strict byte 050h ; b2 50 14277 jmp short 09 4fdh ; eb 0214262 jmp short 09551h ; eb 02 14278 14263 mov DL, strict byte 058h ; b2 58 14279 14264 mov bl, dl ; 88 d3 … … 14281 14266 xor bh, bh ; 30 ff 14282 14267 mov ax, bx ; 89 d8 14283 call 016ach ; e8 a38114268 call 016ach ; e8 4f 81 14284 14269 test al, al ; 84 c0 14285 je short 095 43h ; 74 3614270 je short 09597h ; 74 36 14286 14271 mov al, dl ; 88 d0 14287 14272 db 0feh, 0c0h 14288 14273 ; inc al ; fe c0 14289 14274 xor ah, ah ; 30 e4 14290 call 016ach ; e8 968114275 call 016ach ; e8 42 81 14291 14276 xor ah, ah ; 30 e4 14292 14277 mov cx, ax ; 89 c1 14293 14278 sal cx, 008h ; c1 e1 08 14294 14279 mov al, dl ; 88 d0 14295 call 016ach ; e8 8a8114280 call 016ach ; e8 36 81 14296 14281 xor ah, ah ; 30 e4 14297 14282 add ax, cx ; 01 c8 … … 14300 14285 add AL, strict byte 002h ; 04 02 14301 14286 xor ah, ah ; 30 e4 14302 call 016ach ; e8 7a8114287 call 016ach ; e8 26 81 14303 14288 xor ah, ah ; 30 e4 14304 14289 mov word [bp-02ah], ax ; 89 46 d6 14305 14290 mov ax, bx ; 89 d8 14306 call 016ach ; e8 708114291 call 016ach ; e8 1c 81 14307 14292 xor ah, ah ; 30 e4 14308 14293 mov word [bp-026h], ax ; 89 46 da 14309 jmp short 095 55h ; eb 1214294 jmp short 095a9h ; eb 12 14310 14295 push word [bp-01eh] ; ff 76 e2 14311 14296 push word [bp-012h] ; ff 76 ee … … 14314 14299 mov dx, ss ; 8c d2 14315 14300 lea ax, [bp-02ah] ; 8d 46 d6 14316 call 059 77h ; e8 22 c414301 call 059cbh ; e8 22 c4 14317 14302 mov bx, 00da0h ; bb a0 0d 14318 14303 mov cx, ds ; 8c d9 14319 14304 mov ax, strict word 00004h ; b8 04 00 14320 call 01923h ; e8 c38314305 call 01923h ; e8 6f 83 14321 14306 push word [bp-01eh] ; ff 76 e2 14322 14307 push word [bp-012h] ; ff 76 ee … … 14339 14324 push 00cd6h ; 68 d6 0c 14340 14325 push strict byte 00004h ; 6a 04 14341 call 01966h ; e8 d58314326 call 01966h ; e8 81 83 14342 14327 add sp, strict byte 0001ch ; 83 c4 1c 14343 14328 mov al, byte [bp-00ah] ; 8a 46 f6 … … 14370 14355 mov dx, strict word 00075h ; ba 75 00 14371 14356 mov ax, strict word 00040h ; b8 40 00 14372 call 01650h ; e8 738014357 call 01650h ; e8 1f 80 14373 14358 mov bl, al ; 88 c3 14374 14359 db 0feh, 0c3h … … 14377 14362 mov dx, strict word 00075h ; ba 75 00 14378 14363 mov ax, strict word 00040h ; b8 40 00 14379 call 0165eh ; e8 728014380 jmp near 096 a0h ; e9 b1 0014364 call 0165eh ; e8 1e 80 14365 jmp near 096f4h ; e9 b1 00 14381 14366 cmp dx, 0eb14h ; 81 fa 14 eb 14382 jne short 096 49h ; 75 5414367 jne short 0969dh ; 75 54 14383 14368 cmp ax, 00101h ; 3d 01 01 14384 jne short 096 49h ; 75 4f14369 jne short 0969dh ; 75 4f 14385 14370 mov es, [bp-016h] ; 8e 46 ea 14386 14371 mov bx, word [bp-00eh] ; 8b 5e f2 … … 14397 14382 mov ax, word [bp-00eh] ; 8b 46 f2 14398 14383 mov dx, es ; 8c c2 14399 call 08 8eah ; e8 b0 f214384 call 0893eh ; e8 b0 f2 14400 14385 mov byte [bp-00ah], cl ; 88 4e f6 14401 14386 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14402 je short 096 4bh ; 74 0714387 je short 0969fh ; 74 07 14403 14388 mov dx, strict word 00001h ; ba 01 00 14404 jmp short 096 4dh ; eb 0414405 jmp short 096 a0h ; eb 5514389 jmp short 096a1h ; eb 04 14390 jmp short 096f4h ; eb 55 14406 14391 xor dx, dx ; 31 d2 14407 14392 mov bl, byte [bp-008h] ; 8a 5e f8 … … 14442 14427 pop bp ; 5d 14443 14428 retn ; c3 14444 ahci_mem_alloc_: ; 0xf9 6b9LB 0x4314429 ahci_mem_alloc_: ; 0xf970d LB 0x43 14445 14430 push bp ; 55 14446 14431 mov bp, sp ; 89 e5 … … 14452 14437 mov dx, 00413h ; ba 13 04 14453 14438 xor ax, ax ; 31 c0 14454 call 0166ch ; e8 a37f14439 call 0166ch ; e8 4f 7f 14455 14440 test ax, ax ; 85 c0 14456 je short 09 6f2h ; 74 2514441 je short 09746h ; 74 25 14457 14442 dec ax ; 48 14458 14443 mov bx, ax ; 89 c3 … … 14461 14446 sal ax, 1 ; d1 e0 14462 14447 rcl dx, 1 ; d1 d2 14463 loop 09 6d5h ; e2 fa14448 loop 09729h ; e2 fa 14464 14449 mov si, ax ; 89 c6 14465 14450 mov di, dx ; 89 d7 … … 14467 14452 shr di, 1 ; d1 ef 14468 14453 rcr si, 1 ; d1 de 14469 loop 09 6e2h ; e2 fa14454 loop 09736h ; e2 fa 14470 14455 mov dx, 00413h ; ba 13 04 14471 14456 xor ax, ax ; 31 c0 14472 call 0167ah ; e8 8a7f14457 call 0167ah ; e8 36 7f 14473 14458 mov ax, si ; 89 f0 14474 14459 lea sp, [bp-00ah] ; 8d 66 f6 … … 14480 14465 pop bp ; 5d 14481 14466 retn ; c3 14482 ahci_hba_init_: ; 0xf9 6fcLB 0x16d14467 ahci_hba_init_: ; 0xf9750 LB 0x16d 14483 14468 push bp ; 55 14484 14469 mov bp, sp ; 89 e5 … … 14492 14477 mov dx, strict word 0000eh ; ba 0e 00 14493 14478 mov ax, strict word 00040h ; b8 40 00 14494 call 0166ch ; e8 5a7f14479 call 0166ch ; e8 06 7f 14495 14480 mov bx, 00122h ; bb 22 01 14496 14481 mov di, ax ; 89 c7 … … 14509 14494 shr eax, 010h ; 66 c1 e8 10 14510 14495 xchg dx, ax ; 92 14511 call 09 6b9h ; e8 83 ff14496 call 0970dh ; e8 83 ff 14512 14497 mov word [bp-010h], ax ; 89 46 f0 14513 14498 test ax, ax ; 85 c0 14514 jne short 097 40h ; 75 0314515 jmp near 098 48h ; e9 08 0114499 jne short 09794h ; 75 03 14500 jmp near 0989ch ; e9 08 01 14516 14501 mov ax, word [bp-010h] ; 8b 46 f0 14517 14502 mov es, di ; 8e c7 … … 14563 14548 xchg dx, ax ; 92 14564 14549 test AL, strict byte 001h ; a8 01 14565 jne short 097 9ah ; 75 de14550 jne short 097eeh ; 75 de 14566 14551 xor ax, ax ; 31 c0 14567 14552 xor cx, cx ; 31 c9 … … 14581 14566 mov bx, strict word 0001fh ; bb 1f 00 14582 14567 xor cx, cx ; 31 c9 14583 call 087 5ah ; e8 7a ef14568 call 087aeh ; e8 7a ef 14584 14569 db 0feh, 0c0h 14585 14570 ; inc al ; fe c0 14586 14571 mov byte [bp-00ch], al ; 88 46 f4 14587 14572 mov byte [bp-00eh], 000h ; c6 46 f2 00 14588 jmp short 098 0ch ; eb 2114573 jmp short 09860h ; eb 21 14589 14574 xor al, al ; 30 c0 14590 14575 test al, al ; 84 c0 14591 je short 098 03h ; 74 1214576 je short 09857h ; 74 12 14592 14577 mov bl, byte [bp-00eh] ; 8a 5e f2 14593 14578 xor bh, bh ; 30 ff 14594 14579 xor ax, ax ; 31 c0 14595 14580 mov dx, word [bp-010h] ; 8b 56 f0 14596 call 09 1d6h ; e8 d8 f914581 call 0922ah ; e8 d8 f9 14597 14582 dec byte [bp-00ch] ; fe 4e f4 14598 je short 098 46h ; 74 4314583 je short 0989ah ; 74 43 14599 14584 inc byte [bp-00eh] ; fe 46 f2 14600 14585 cmp byte [bp-00eh], 020h ; 80 7e f2 20 14601 jnc short 098 46h ; 73 3a14586 jnc short 0989ah ; 73 3a 14602 14587 mov cl, byte [bp-00eh] ; 8a 4e f2 14603 14588 xor ch, ch ; 30 ed 14604 14589 mov bx, strict word 00001h ; bb 01 00 14605 14590 xor di, di ; 31 ff 14606 jcxz 098 1eh ; e3 0614591 jcxz 09872h ; e3 06 14607 14592 sal bx, 1 ; d1 e3 14608 14593 rcl di, 1 ; d1 d7 14609 loop 098 18h ; e2 fa14594 loop 0986ch ; e2 fa 14610 14595 mov ax, strict word 0000ch ; b8 0c 00 14611 14596 xor cx, cx ; 31 c9 … … 14623 14608 xchg dx, ax ; 92 14624 14609 test dx, di ; 85 fa 14625 jne short 098 42h ; 75 0414610 jne short 09896h ; 75 04 14626 14611 test ax, bx ; 85 d8 14627 je short 09 7ebh ; 74 a914612 je short 0983fh ; 74 a9 14628 14613 mov AL, strict byte 001h ; b0 01 14629 jmp short 09 7edh ; eb a714614 jmp short 09841h ; eb a7 14630 14615 xor ax, ax ; 31 c0 14631 14616 lea sp, [bp-00ah] ; 8d 66 f6 … … 14637 14622 pop bp ; 5d 14638 14623 retn ; c3 14639 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 51h, 099h, 02fh, 099h, 035h, 099h, 03bh, 099h, 041h14640 db 099h, 0 47h, 099h, 04dh, 099h, 051h, 099h14641 _ahci_init: ; 0xf98 69LB 0x11914624 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0a5h, 099h, 083h, 099h, 089h, 099h, 08fh, 099h, 095h 14625 db 099h, 09bh, 099h, 0a1h, 099h, 0a5h, 099h 14626 _ahci_init: ; 0xf98bd LB 0x119 14642 14627 push bp ; 55 14643 14628 mov bp, sp ; 89 e5 … … 14646 14631 mov ax, 00601h ; b8 01 06 14647 14632 mov dx, strict word 00001h ; ba 01 00 14648 call 09d 9dh ; e8 24 0514633 call 09df1h ; e8 24 05 14649 14634 mov dx, ax ; 89 c2 14650 14635 cmp ax, strict word 0ffffh ; 3d ff ff 14651 je short 09 8cch ; 74 4c14636 je short 09920h ; 74 4c 14652 14637 xor al, al ; 30 c0 14653 14638 shr ax, 008h ; c1 e8 08 … … 14657 14642 xor ah, ah ; 30 e4 14658 14643 mov bx, strict word 00034h ; bb 34 00 14659 call 09d a5h ; e8 10 0514644 call 09df9h ; e8 10 05 14660 14645 mov cl, al ; 88 c1 14661 14646 test cl, cl ; 84 c9 14662 je short 09 8cfh ; 74 3414647 je short 09923h ; 74 34 14663 14648 mov bl, cl ; 88 cb 14664 14649 xor bh, bh ; 30 ff … … 14671 14656 mov dx, word [bp-010h] ; 8b 56 f0 14672 14657 mov ax, word [bp-00ch] ; 8b 46 f4 14673 call 09d a5h ; e8 eb 0414658 call 09df9h ; e8 eb 04 14674 14659 cmp AL, strict byte 012h ; 3c 12 14675 je short 09 8cfh ; 74 1114660 je short 09923h ; 74 11 14676 14661 mov bl, cl ; 88 cb 14677 14662 db 0feh, 0c3h … … 14680 14665 mov dx, word [bp-010h] ; 8b 56 f0 14681 14666 mov ax, word [bp-00ch] ; 8b 46 f4 14682 jmp short 098 92h ; eb c614683 jmp near 099 7ch ; e9 ad 0014667 jmp short 098e6h ; eb c6 14668 jmp near 099d0h ; e9 ad 00 14684 14669 test cl, cl ; 84 c9 14685 je short 09 8cch ; 74 f914670 je short 09920h ; 74 f9 14686 14671 add cl, 002h ; 80 c1 02 14687 14672 mov bl, cl ; 88 cb … … 14695 14680 mov dx, word [bp-00eh] ; 8b 56 f2 14696 14681 mov ax, word [bp-00ah] ; 8b 46 f6 14697 call 09d a5h ; e8 b0 0414682 call 09df9h ; e8 b0 04 14698 14683 cmp AL, strict byte 010h ; 3c 10 14699 jne short 09 8cch ; 75 d314684 jne short 09920h ; 75 d3 14700 14685 mov byte [bp-004h], 000h ; c6 46 fc 00 14701 14686 mov bl, cl ; 88 cb … … 14704 14689 mov dx, word [bp-00eh] ; 8b 56 f2 14705 14690 mov ax, word [bp-00ah] ; 8b 46 f6 14706 call 09 dd3h ; e8 c6 0414691 call 09e27h ; e8 c6 04 14707 14692 mov dx, ax ; 89 c2 14708 14693 and ax, strict word 0000fh ; 25 0f 00 14709 14694 sub ax, strict word 00004h ; 2d 04 00 14710 14695 cmp ax, strict word 0000bh ; 3d 0b 00 14711 jnbe short 099 51h ; 77 3714696 jnbe short 099a5h ; 77 37 14712 14697 push CS ; 0e 14713 14698 pop ES ; 07 14714 14699 mov cx, strict word 00008h ; b9 08 00 14715 mov di, 098 52h ; bf 529814700 mov di, 098a6h ; bf a6 98 14716 14701 repne scasb ; f2 ae 14717 14702 sal cx, 1 ; d1 e1 14718 14703 mov di, cx ; 89 cf 14719 mov ax, word [cs:di-067 a7h] ; 2e 8b 85 599814704 mov ax, word [cs:di-06753h] ; 2e 8b 85 ad 98 14720 14705 jmp ax ; ff e0 14721 14706 mov byte [bp-004h], 010h ; c6 46 fc 10 14722 jmp short 099 51h ; eb 1c14707 jmp short 099a5h ; eb 1c 14723 14708 mov byte [bp-004h], 014h ; c6 46 fc 14 14724 jmp short 099 51h ; eb 1614709 jmp short 099a5h ; eb 16 14725 14710 mov byte [bp-004h], 018h ; c6 46 fc 18 14726 jmp short 099 51h ; eb 1014711 jmp short 099a5h ; eb 10 14727 14712 mov byte [bp-004h], 01ch ; c6 46 fc 1c 14728 jmp short 099 51h ; eb 0a14713 jmp short 099a5h ; eb 0a 14729 14714 mov byte [bp-004h], 020h ; c6 46 fc 20 14730 jmp short 099 51h ; eb 0414715 jmp short 099a5h ; eb 04 14731 14716 mov byte [bp-004h], 024h ; c6 46 fc 24 14732 14717 mov cx, dx ; 89 d1 … … 14735 14720 mov al, byte [bp-004h] ; 8a 46 fc 14736 14721 test al, al ; 84 c0 14737 je short 099 7ch ; 74 1c14722 je short 099d0h ; 74 1c 14738 14723 mov bl, al ; 88 c3 14739 14724 xor bh, bh ; 30 ff … … 14742 14727 mov al, byte [bp-008h] ; 8a 46 f8 14743 14728 xor ah, ah ; 30 e4 14744 call 09 dfdh ; e8 8c 0414729 call 09e51h ; e8 8c 04 14745 14730 test AL, strict byte 001h ; a8 01 14746 je short 099 7ch ; 74 0714731 je short 099d0h ; 74 07 14747 14732 and AL, strict byte 0f0h ; 24 f0 14748 14733 add ax, cx ; 01 c8 14749 call 09 6fch ; e8 80 fd14734 call 09750h ; e8 80 fd 14750 14735 lea sp, [bp-002h] ; 8d 66 fe 14751 14736 pop di ; 5f 14752 14737 pop bp ; 5d 14753 14738 retn ; c3 14754 apm_out_str_: ; 0xf99 82LB 0x3914739 apm_out_str_: ; 0xf99d6 LB 0x39 14755 14740 push bp ; 55 14756 14741 mov bp, sp ; 89 e5 … … 14758 14743 mov bx, ax ; 89 c3 14759 14744 cmp byte [bx], 000h ; 80 3f 00 14760 je short 099 97h ; 74 0a14745 je short 099ebh ; 74 0a 14761 14746 mov al, byte [bx] ; 8a 07 14762 14747 out DX, AL ; ee … … 14765 14750 db 00ah, 0c0h 14766 14751 ; or al, al ; 0a c0 14767 jne short 099 8fh ; 75 f814752 jne short 099e3h ; 75 f8 14768 14753 lea sp, [bp-002h] ; 8d 66 fe 14769 14754 pop bx ; 5b 14770 14755 pop bp ; 5d 14771 14756 retn ; c3 14772 fcomp qword [bx+di-0659ch] ; dc 99 649a14773 out DX, AL ; ee14774 c wd ; 9914775 or word [bp+si-0659ch], bx ; 09 9a 649a14776 xor AL, strict byte 09ah ; 34 9a14777 db 064h, 09ah, 06ah, 09ah, 039h, 09ah14778 ; fs call far fs:09a39h:09a6ah ; 64 9a 6a 9a 39 9a14779 c mp word [bp+si-065c7h], bx ; 39 9a 399a14780 test ax, 0399ah ; a9 9a 3914781 call far 09aa2h:09a39h ; 9a 39 9a a2 9a14782 _apm_function: ; 0xf9 9bbLB 0xf314757 xor byte [bp+si-06548h], bl ; 30 9a b8 9a 14758 inc dx ; 42 14759 call far 09ab8h:09a5dh ; 9a 5d 9a b8 9a 14760 mov byte [bp+si-06548h], bl ; 88 9a b8 9a 14761 mov si, 08d9ah ; be 9a 8d 14762 call far 09a8dh:09a8dh ; 9a 8d 9a 8d 9a 14763 std ; fd 14764 call far 09a8dh:09a8dh ; 9a 8d 9a 8d 9a 14765 db 0f6h 14766 db 09ah 14767 _apm_function: ; 0xf9a0f LB 0xf3 14783 14768 push bp ; 55 14784 14769 mov bp, sp ; 89 e5 … … 14788 14773 xor ah, ah ; 30 e4 14789 14774 cmp ax, strict word 0000eh ; 3d 0e 00 14790 jnbe short 09a 39h ; 77 6c14775 jnbe short 09a8dh ; 77 6c 14791 14776 mov bx, ax ; 89 c3 14792 14777 add bx, ax ; 01 c3 14793 14778 mov dx, word [bp+018h] ; 8b 56 18 14794 14779 or dl, 001h ; 80 ca 01 14795 jmp word [cs:bx-066 63h] ; 2e ff a7 9d9914780 jmp word [cs:bx-0660fh] ; 2e ff a7 f1 99 14796 14781 mov word [bp+012h], 00102h ; c7 46 12 02 01 14797 14782 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 14798 14783 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 14799 jmp near 09a 64h ; e9 76 0014784 jmp near 09ab8h ; e9 76 00 14800 14785 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14801 mov word [bp+00ch], 0a0 24h ; c7 46 0c 24 a014786 mov word [bp+00ch], 0a074h ; c7 46 0c 74 a0 14802 14787 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 14803 14788 mov ax, strict word 0fff0h ; b8 f0 ff 14804 14789 mov word [bp+006h], ax ; 89 46 06 14805 14790 mov word [bp+004h], ax ; 89 46 04 14806 jmp near 09a 64h ; e9 5b 0014791 jmp near 09ab8h ; e9 5b 00 14807 14792 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14808 14793 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 14817 14802 mov si, ax ; 89 c6 14818 14803 sal esi, 010h ; 66 c1 e6 10 14819 jmp near 09a 64h ; e9 30 0014804 jmp near 09ab8h ; e9 30 00 14820 14805 sti ; fb 14821 14806 hlt ; f4 14822 jmp near 09a 64h ; e9 2b 0014807 jmp near 09ab8h ; e9 2b 00 14823 14808 mov bx, 00da0h ; bb a0 0d 14824 14809 mov cx, ds ; 8c d9 14825 14810 mov ax, strict word 00004h ; b8 04 00 14826 call 01923h ; e8 df7e14811 call 01923h ; e8 8b 7e 14827 14812 push word [bp+00ch] ; ff 76 0c 14828 14813 push word [bp+012h] ; ff 76 12 14829 14814 push 00d29h ; 68 29 0d 14830 14815 push strict byte 00004h ; 6a 04 14831 call 01966h ; e8 14 7f14816 call 01966h ; e8 c0 7e 14832 14817 add sp, strict byte 00008h ; 83 c4 08 14833 14818 mov ax, word [bp+012h] ; 8b 46 12 … … 14841 14826 retn ; c3 14842 14827 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 14843 je short 09a 8fh ; 74 1f14828 je short 09ae3h ; 74 1f 14844 14829 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 14845 je short 09a 87h ; 74 1114830 je short 09adbh ; 74 11 14846 14831 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 14847 jne short 09a 97h ; 75 1b14832 jne short 09aebh ; 75 1b 14848 14833 mov dx, 08900h ; ba 00 89 14849 14834 mov ax, 00d10h ; b8 10 0d 14850 call 099 82h ; e8 fd fe14851 jmp short 09a 64h ; eb dd14835 call 099d6h ; e8 fd fe 14836 jmp short 09ab8h ; eb dd 14852 14837 mov dx, 08900h ; ba 00 89 14853 14838 mov ax, 00d18h ; b8 18 0d 14854 jmp short 09a 82h ; eb f314839 jmp short 09ad6h ; eb f3 14855 14840 mov dx, 08900h ; ba 00 89 14856 14841 mov ax, 00d20h ; b8 20 0d 14857 jmp short 09a 82h ; eb eb14842 jmp short 09ad6h ; eb eb 14858 14843 or ah, 00ah ; 80 cc 0a 14859 14844 mov word [bp+012h], ax ; 89 46 12 14860 14845 mov word [bp+018h], dx ; 89 56 18 14861 jmp short 09a 64h ; eb c214846 jmp short 09ab8h ; eb c2 14862 14847 mov word [bp+012h], 00102h ; c7 46 12 02 01 14863 jmp short 09a 64h ; eb bb14848 jmp short 09ab8h ; eb bb 14864 14849 or ah, 080h ; 80 cc 80 14865 jmp short 09a 9ah ; eb ec14866 pci16_select_reg_: ; 0xf9 aaeLB 0x2414850 jmp short 09aeeh ; eb ec 14851 pci16_select_reg_: ; 0xf9b02 LB 0x24 14867 14852 push bp ; 55 14868 14853 mov bp, sp ; 89 e5 … … 14881 14866 pop bp ; 5d 14882 14867 retn ; c3 14883 pci16_find_device_: ; 0xf9 ad2LB 0xf914868 pci16_find_device_: ; 0xf9b26 LB 0xf9 14884 14869 push bp ; 55 14885 14870 mov bp, sp ; 89 e5 … … 14895 14880 mov byte [bp-008h], 000h ; c6 46 f8 00 14896 14881 test bl, 007h ; f6 c3 07 14897 jne short 09b 1ah ; 75 2d14882 jne short 09b6eh ; 75 2d 14898 14883 mov dx, strict word 0000eh ; ba 0e 00 14899 14884 mov ax, bx ; 89 d8 14900 call 09 aaeh ; e8 b9 ff14885 call 09b02h ; e8 b9 ff 14901 14886 mov dx, 00cfeh ; ba fe 0c 14902 14887 in AL, DX ; ec … … 14905 14890 mov byte [bp-006h], al ; 88 46 fa 14906 14891 cmp AL, strict byte 0ffh ; 3c ff 14907 jne short 09b 08h ; 75 0614892 jne short 09b5ch ; 75 06 14908 14893 add bx, strict byte 00008h ; 83 c3 08 14909 jmp near 09b 9bh ; e9 93 0014894 jmp near 09befh ; e9 93 00 14910 14895 test byte [bp-006h], 080h ; f6 46 fa 80 14911 je short 09b 15h ; 74 0714896 je short 09b69h ; 74 07 14912 14897 mov word [bp-010h], strict word 00001h ; c7 46 f0 01 00 14913 jmp short 09b 1ah ; eb 0514898 jmp short 09b6eh ; eb 05 14914 14899 mov word [bp-010h], strict word 00008h ; c7 46 f0 08 00 14915 14900 mov al, byte [bp-006h] ; 8a 46 fa 14916 14901 and AL, strict byte 007h ; 24 07 14917 14902 cmp AL, strict byte 001h ; 3c 01 14918 jne short 09b 42h ; 75 1f14903 jne short 09b96h ; 75 1f 14919 14904 mov ax, bx ; 89 d8 14920 14905 shr ax, 008h ; c1 e8 08 14921 14906 test ax, ax ; 85 c0 14922 jne short 09b 42h ; 75 1614907 jne short 09b96h ; 75 16 14923 14908 mov dx, strict word 0001ah ; ba 1a 00 14924 14909 mov ax, bx ; 89 d8 14925 call 09 aaeh ; e8 7a ff14910 call 09b02h ; e8 7a ff 14926 14911 mov dx, 00cfeh ; ba fe 0c 14927 14912 in AL, DX ; ec … … 14929 14914 ; sub ah, ah ; 2a e4 14930 14915 cmp al, byte [bp-008h] ; 3a 46 f8 14931 jbe short 09b 42h ; 76 0314916 jbe short 09b96h ; 76 03 14932 14917 mov byte [bp-008h], al ; 88 46 f8 14933 14918 test di, di ; 85 ff 14934 je short 09b 4bh ; 74 0514919 je short 09b9fh ; 74 05 14935 14920 mov dx, strict word 00008h ; ba 08 00 14936 jmp short 09b 4dh ; eb 0214921 jmp short 09ba1h ; eb 02 14937 14922 xor dx, dx ; 31 d2 14938 14923 mov ax, bx ; 89 d8 14939 call 09 aaeh ; e8 5c ff14924 call 09b02h ; e8 5c ff 14940 14925 mov dx, 00cfch ; ba fc 0c 14941 14926 in eax, DX ; 66 ed … … 14948 14933 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 14949 14934 test di, di ; 85 ff 14950 je short 09b 7ch ; 74 0f14935 je short 09bd0h ; 74 0f 14951 14936 mov cx, strict word 00008h ; b9 08 00 14952 14937 shr dx, 1 ; d1 ea 14953 14938 rcr ax, 1 ; d1 d8 14954 loop 09b 70h ; e2 fa14939 loop 09bc4h ; e2 fa 14955 14940 mov word [bp-00ah], ax ; 89 46 f6 14956 14941 mov word [bp-00ch], dx ; 89 56 f4 14957 14942 mov ax, word [bp-00ch] ; 8b 46 f4 14958 14943 cmp ax, word [bp-014h] ; 3b 46 ec 14959 jne short 09b 8ch ; 75 0814944 jne short 09be0h ; 75 08 14960 14945 mov ax, word [bp-00ah] ; 8b 46 f6 14961 14946 cmp ax, word [bp-012h] ; 3b 46 ee 14962 je short 09b 92h ; 74 0614947 je short 09be6h ; 74 06 14963 14948 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 14964 je short 09b 98h ; 74 0614949 je short 09bech ; 74 06 14965 14950 dec si ; 4e 14966 14951 cmp si, strict byte 0ffffh ; 83 fe ff 14967 je short 09 bach ; 74 1414952 je short 09c00h ; 74 14 14968 14953 add bx, word [bp-010h] ; 03 5e f0 14969 14954 mov dx, bx ; 89 da … … 14972 14957 xor ah, ah ; 30 e4 14973 14958 cmp dx, ax ; 39 c2 14974 jnbe short 09 bach ; 77 0314975 jmp near 09 ae8h ; e9 3c ff14959 jnbe short 09c00h ; 77 03 14960 jmp near 09b3ch ; e9 3c ff 14976 14961 cmp si, strict byte 0ffffh ; 83 fe ff 14977 jne short 09 bb5h ; 75 0414962 jne short 09c09h ; 75 04 14978 14963 mov ax, bx ; 89 d8 14979 jmp short 09 bb8h ; eb 0314964 jmp short 09c0ch ; eb 03 14980 14965 mov ax, strict word 0ffffh ; b8 ff ff 14981 14966 lea sp, [bp-004h] ; 8d 66 fc … … 14984 14969 pop bp ; 5d 14985 14970 retn ; c3 14986 lodsb ; ac 14987 pushfw ; 9c 14988 lds bx, [si-06329h] ; c5 9c d7 9c 14989 jmp short 09b63h ; eb 9c 14990 std ; fd 14991 pushfw ; 9c 14992 db 010h 14971 add byte [di-062e7h], bl ; 00 9d 19 9d 14972 sub bx, word [di-062c1h] ; 2b 9d 3f 9d 14973 push cx ; 51 14993 14974 popfw ; 9d 14994 _pci16_function: ; 0xf9bcb LB 0x1d2 14975 db 064h, 09dh 14976 ; fs popfw ; 64 9d 14977 _pci16_function: ; 0xf9c1f LB 0x1d2 14995 14978 push bp ; 55 14996 14979 mov bp, sp ; 89 e5 … … 15006 14989 xor ah, ah ; 30 e4 15007 14990 cmp bx, strict byte 00003h ; 83 fb 03 15008 jc short 09 bfdh ; 72 1315009 jbe short 09c 50h ; 76 6414991 jc short 09c51h ; 72 13 14992 jbe short 09ca4h ; 76 64 15010 14993 cmp bx, strict byte 0000eh ; 83 fb 0e 15011 je short 09c 58h ; 74 6714994 je short 09cach ; 74 67 15012 14995 cmp bx, strict byte 00008h ; 83 fb 08 15013 jc short 09c 07h ; 72 1114996 jc short 09c5bh ; 72 11 15014 14997 cmp bx, strict byte 0000dh ; 83 fb 0d 15015 jbe short 09c 5bh ; 76 6015016 jmp short 09c 07h ; eb 0a14998 jbe short 09cafh ; 76 60 14999 jmp short 09c5bh ; eb 0a 15017 15000 cmp bx, strict byte 00002h ; 83 fb 02 15018 je short 09c 26h ; 74 2415001 je short 09c7ah ; 74 24 15019 15002 cmp bx, strict byte 00001h ; 83 fb 01 15020 je short 09c 0ah ; 74 0315021 jmp near 09d 69h ; e9 5f 0115003 je short 09c5eh ; 74 03 15004 jmp near 09dbdh ; e9 5f 01 15022 15005 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 15023 15006 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 15025 15008 mov word [bp+018h], 04350h ; c7 46 18 50 43 15026 15009 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 15027 jmp near 09d 96h ; e9 70 0115010 jmp near 09deah ; e9 70 01 15028 15011 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 15029 jne short 09c 32h ; 75 0615012 jne short 09c86h ; 75 06 15030 15013 or ah, 083h ; 80 cc 83 15031 jmp near 09d 8fh ; e9 5d 0115014 jmp near 09de3h ; e9 5d 01 15032 15015 mov bx, word [bp+008h] ; 8b 5e 08 15033 15016 mov dx, word [bp+01ch] ; 8b 56 1c 15034 15017 mov ax, word [bp+018h] ; 8b 46 18 15035 15018 xor cx, cx ; 31 c9 15036 call 09 ad2h ; e8 92 fe15019 call 09b26h ; e8 92 fe 15037 15020 cmp ax, strict word 0ffffh ; 3d ff ff 15038 jne short 09c 52h ; 75 0d15021 jne short 09ca6h ; 75 0d 15039 15022 mov ax, word [bp+020h] ; 8b 46 20 15040 15023 xor ah, ah ; 30 e4 15041 15024 or ah, 086h ; 80 cc 86 15042 jmp near 09d 8fh ; e9 3f 0115043 jmp short 09c 5dh ; eb 0b15025 jmp near 09de3h ; e9 3f 01 15026 jmp short 09cb1h ; eb 0b 15044 15027 mov word [bp+014h], ax ; 89 46 14 15045 jmp near 09d 96h ; e9 3e 0115046 jmp near 09d 24h ; e9 c9 0015047 jmp short 09c 82h ; eb 2515028 jmp near 09deah ; e9 3e 01 15029 jmp near 09d78h ; e9 c9 00 15030 jmp short 09cd6h ; eb 25 15048 15031 mov bx, word [bp+008h] ; 8b 5e 08 15049 15032 mov ax, word [bp+01ch] ; 8b 46 1c 15050 15033 mov dx, word [bp+01eh] ; 8b 56 1e 15051 15034 mov cx, strict word 00001h ; b9 01 00 15052 call 09 ad2h ; e8 66 fe15035 call 09b26h ; e8 66 fe 15053 15036 cmp ax, strict word 0ffffh ; 3d ff ff 15054 jne short 09c 7ch ; 75 0b15037 jne short 09cd0h ; 75 0b 15055 15038 mov ax, word [bp+020h] ; 8b 46 20 15056 15039 xor ah, ah ; 30 e4 15057 15040 or ah, 086h ; 80 cc 86 15058 jmp near 09d 8fh ; e9 13 0115041 jmp near 09de3h ; e9 13 01 15059 15042 mov word [bp+014h], ax ; 89 46 14 15060 jmp near 09d 96h ; e9 14 0115043 jmp near 09deah ; e9 14 01 15061 15044 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 15062 jc short 09c 8fh ; 72 0615045 jc short 09ce3h ; 72 06 15063 15046 or ah, 087h ; 80 cc 87 15064 jmp near 09d 8fh ; e9 00 0115047 jmp near 09de3h ; e9 00 01 15065 15048 mov dx, word [bp+004h] ; 8b 56 04 15066 15049 mov ax, word [bp+014h] ; 8b 46 14 15067 call 09 aaeh ; e8 16 fe15050 call 09b02h ; e8 16 fe 15068 15051 mov bx, word [bp+020h] ; 8b 5e 20 15069 15052 xor bh, bh ; 30 ff 15070 15053 sub bx, strict byte 00008h ; 83 eb 08 15071 15054 cmp bx, strict byte 00005h ; 83 fb 05 15072 jnbe short 09d 0dh ; 77 6815055 jnbe short 09d61h ; 77 68 15073 15056 add bx, bx ; 01 db 15074 jmp word [cs:bx-06 441h] ; 2e ff a7 bf 9b15057 jmp word [cs:bx-063edh] ; 2e ff a7 13 9c 15075 15058 mov bx, word [bp+01ch] ; 8b 5e 1c 15076 15059 xor bl, bl ; 30 db … … 15083 15066 or bx, ax ; 09 c3 15084 15067 mov word [bp+01ch], bx ; 89 5e 1c 15085 jmp short 09d 0dh ; eb 4815068 jmp short 09d61h ; eb 48 15086 15069 mov dx, word [bp+004h] ; 8b 56 04 15087 15070 xor dh, dh ; 30 f6 … … 15090 15073 in ax, DX ; ed 15091 15074 mov word [bp+01ch], ax ; 89 46 1c 15092 jmp short 09d 0dh ; eb 3615075 jmp short 09d61h ; eb 36 15093 15076 mov dx, 00cfch ; ba fc 0c 15094 15077 in eax, DX ; 66 ed … … 15099 15082 mov word [bp+01ch], ax ; 89 46 1c 15100 15083 mov word [bp+01eh], dx ; 89 56 1e 15101 jmp short 09d 0dh ; eb 2215084 jmp short 09d61h ; eb 22 15102 15085 mov ax, word [bp+01ch] ; 8b 46 1c 15103 15086 mov dx, word [bp+004h] ; 8b 56 04 … … 15106 15089 add dx, 00cfch ; 81 c2 fc 0c 15107 15090 out DX, AL ; ee 15108 jmp short 09d 0dh ; eb 1015091 jmp short 09d61h ; eb 10 15109 15092 mov ax, word [bp+01ch] ; 8b 46 1c 15110 15093 mov dx, word [bp+004h] ; 8b 56 04 … … 15113 15096 add dx, 00cfch ; 81 c2 fc 0c 15114 15097 out DX, ax ; ef 15115 jmp near 09d 96h ; e9 86 0015098 jmp near 09deah ; e9 86 00 15116 15099 mov ax, word [bp+01ch] ; 8b 46 1c 15117 15100 mov cx, word [bp+01eh] ; 8b 4e 1e … … 15122 15105 ; mov ax, cx ; 8b c1 15123 15106 out DX, eax ; 66 ef 15124 jmp short 09d 96h ; eb 7215107 jmp short 09deah ; eb 72 15125 15108 mov bx, word [bp+004h] ; 8b 5e 04 15126 15109 mov es, [bp+026h] ; 8e 46 26 … … 15129 15112 mov cx, word [0f4a0h] ; 8b 0e a0 f4 15130 15113 cmp cx, word [es:bx] ; 26 3b 0f 15131 jbe short 09d 4ah ; 76 1115114 jbe short 09d9eh ; 76 11 15132 15115 mov ax, word [bp+020h] ; 8b 46 20 15133 15116 xor ah, ah ; 30 e4 … … 15135 15118 mov word [bp+020h], ax ; 89 46 20 15136 15119 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 15137 jmp short 09d 5eh ; eb 1415120 jmp short 09db2h ; eb 14 15138 15121 les di, [es:bx+002h] ; 26 c4 7f 02 15139 15122 mov si, 0f2c0h ; be c0 f2 … … 15147 15130 les bx, [bp-008h] ; c4 5e f8 15148 15131 mov word [es:bx], ax ; 26 89 07 15149 jmp short 09d 96h ; eb 2d15132 jmp short 09deah ; eb 2d 15150 15133 mov bx, 00da0h ; bb a0 0d 15151 15134 mov cx, ds ; 8c d9 15152 15135 mov ax, strict word 00004h ; b8 04 00 15153 call 01923h ; e8 af7b15136 call 01923h ; e8 5b 7b 15154 15137 mov ax, word [bp+014h] ; 8b 46 14 15155 15138 push ax ; 50 … … 15158 15141 push 00d5ch ; 68 5c 0d 15159 15142 push strict byte 00004h ; 6a 04 15160 call 01966h ; e8 e27b15143 call 01966h ; e8 8e 7b 15161 15144 add sp, strict byte 00008h ; 83 c4 08 15162 15145 mov ax, word [bp+020h] ; 8b 46 20 … … 15170 15153 pop bp ; 5d 15171 15154 retn ; c3 15172 pci_find_classcode_: ; 0xf9d 9dLB 0x815155 pci_find_classcode_: ; 0xf9df1 LB 0x8 15173 15156 push bp ; 55 15174 15157 mov bp, sp ; 89 e5 … … 15176 15159 pop bp ; 5d 15177 15160 retn ; c3 15178 pci_read_config_byte_: ; 0xf9d a5LB 0x2e15161 pci_read_config_byte_: ; 0xf9df9 LB 0x2e 15179 15162 push bp ; 55 15180 15163 mov bp, sp ; 89 e5 … … 15202 15185 pop bp ; 5d 15203 15186 retn ; c3 15204 pci_read_config_word_: ; 0xf9 dd3LB 0x2a15187 pci_read_config_word_: ; 0xf9e27 LB 0x2a 15205 15188 push bp ; 55 15206 15189 mov bp, sp ; 89 e5 … … 15226 15209 pop bp ; 5d 15227 15210 retn ; c3 15228 pci_read_config_dword_: ; 0xf9 dfdLB 0x4e15211 pci_read_config_dword_: ; 0xf9e51 LB 0x4e 15229 15212 push bp ; 55 15230 15213 mov bp, sp ; 89 e5 … … 15248 15231 int 01ah ; cd 1a 15249 15232 test cx, cx ; 85 c9 15250 jne short 09e 3ch ; 75 1415233 jne short 09e90h ; 75 14 15251 15234 mov al, byte [bp-006h] ; 8a 46 fa 15252 15235 xor ah, ah ; 30 e4 … … 15258 15241 int 01ah ; cd 1a 15259 15242 test cx, cx ; 85 c9 15260 je short 09e 41h ; 74 0515243 je short 09e95h ; 74 05 15261 15244 mov ax, strict word 00001h ; b8 01 00 15262 jmp short 09e 43h ; eb 0215245 jmp short 09e97h ; eb 02 15263 15246 xor ax, ax ; 31 c0 15264 15247 cwd ; 99 … … 15268 15251 pop bp ; 5d 15269 15252 retn ; c3 15270 vds_is_present_: ; 0xf9e 4bLB 0x1d15253 vds_is_present_: ; 0xf9e9f LB 0x1d 15271 15254 push bx ; 53 15272 15255 push bp ; 55 … … 15276 15259 mov es, ax ; 8e c0 15277 15260 test byte [es:bx], 020h ; 26 f6 07 20 15278 je short 09e 63h ; 74 0615261 je short 09eb7h ; 74 06 15279 15262 mov ax, strict word 00001h ; b8 01 00 15280 15263 pop bp ; 5d … … 15285 15268 pop bx ; 5b 15286 15269 retn ; c3 15287 vds_real_to_lin_: ; 0xf9e 68LB 0x1e15270 vds_real_to_lin_: ; 0xf9ebc LB 0x1e 15288 15271 push bx ; 53 15289 15272 push cx ; 51 … … 15296 15279 sal ax, 1 ; d1 e0 15297 15280 rcl dx, 1 ; d1 d2 15298 loop 09e 76h ; e2 fa15281 loop 09ecah ; e2 fa 15299 15282 xor cx, cx ; 31 c9 15300 15283 add ax, bx ; 01 d8 … … 15304 15287 pop bx ; 5b 15305 15288 retn ; c3 15306 vds_build_sg_list_: ; 0xf9e 86LB 0x7715289 vds_build_sg_list_: ; 0xf9eda LB 0x77 15307 15290 push bp ; 55 15308 15291 mov bp, sp ; 89 e5 … … 15318 15301 mov bx, word [bp+006h] ; 8b 5e 06 15319 15302 mov word [es:di+002h], bx ; 26 89 5d 02 15320 call 09e 68h ; e8 c3 ff15303 call 09ebch ; e8 c3 ff 15321 15304 mov es, si ; 8e c6 15322 15305 mov word [es:di+004h], ax ; 26 89 45 04 15323 15306 mov word [es:di+006h], dx ; 26 89 55 06 15324 15307 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 15325 call 09e 4bh ; e8 93 ff15308 call 09e9fh ; e8 93 ff 15326 15309 test ax, ax ; 85 c0 15327 je short 09 ecdh ; 74 1115310 je short 09f21h ; 74 11 15328 15311 mov es, si ; 8e c6 15329 15312 mov ax, 08105h ; b8 05 81 15330 15313 mov dx, strict word 00000h ; ba 00 00 15331 15314 int 04bh ; cd 4b 15332 jc short 09 ecah ; 72 0215315 jc short 09f1eh ; 72 02 15333 15316 db 032h, 0c0h 15334 15317 ; xor al, al ; 32 c0 15335 15318 cbw ; 98 15336 jmp short 09 ef4h ; eb 2715319 jmp short 09f48h ; eb 27 15337 15320 mov es, si ; 8e c6 15338 15321 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 15351 15334 pop bp ; 5d 15352 15335 retn 00004h ; c2 04 00 15353 vds_free_sg_list_: ; 0xf9 efd LB 0x3315336 vds_free_sg_list_: ; 0xf9f51 LB 0x2f 15354 15337 push bp ; 55 15355 15338 mov bp, sp ; 89 e5 … … 15357 15340 push di ; 57 15358 15341 mov bx, ax ; 89 c3 15359 call 09e 4bh ; e8 44 ff15342 call 09e9fh ; e8 44 ff 15360 15343 test ax, ax ; 85 c0 15361 je short 09f 1ch ; 74 1115344 je short 09f70h ; 74 11 15362 15345 mov di, bx ; 89 df 15363 15346 mov es, dx ; 8e c2 … … 15365 15348 mov dx, strict word 00000h ; ba 00 00 15366 15349 int 04bh ; cd 4b 15367 jc short 09f 1bh ; 72 0215350 jc short 09f6fh ; 72 02 15368 15351 db 032h, 0c0h 15369 15352 ; xor al, al ; 32 c0 … … 15376 15359 pop bp ; 5d 15377 15360 retn ; c3 15378 times 0x 5db 015379 __U4M: ; 0xf9f 30 LB 0x2015361 times 0x1 db 0 15362 __U4M: ; 0xf9f80 LB 0x20 15380 15363 pushfw ; 9c 15381 15364 push si ; 56 … … 15404 15387 retn ; c3 15405 15388 times 0x4 db 0 15406 __U4D: ; 0xf9f 50 LB 0x3015389 __U4D: ; 0xf9fa0 LB 0x30 15407 15390 pushfw ; 9c 15408 15391 push DS ; 1e … … 15419 15402 push dx ; 52 15420 15403 push ax ; 50 15421 call 0a0 35h ; e8 d0 0015404 call 0a085h ; e8 d0 00 15422 15405 mov cx, word [bp-002h] ; 8b 4e fe 15423 15406 mov bx, word [bp-004h] ; 8b 5e fc … … 15430 15413 retn ; c3 15431 15414 times 0xe db 0 15432 __U8RS: ; 0xf9f 80 LB 0x1015415 __U8RS: ; 0xf9fd0 LB 0x10 15433 15416 test si, si ; 85 f6 15434 je short 09f 8fh ; 74 0b15417 je short 09fdfh ; 74 0b 15435 15418 shr ax, 1 ; d1 e8 15436 15419 rcr bx, 1 ; d1 db … … 15438 15421 rcr dx, 1 ; d1 da 15439 15422 dec si ; 4e 15440 jne short 09f 84h ; 75 f515423 jne short 09fd4h ; 75 f5 15441 15424 retn ; c3 15442 __U8LS: ; 0xf9f 90 LB 0x1015425 __U8LS: ; 0xf9fe0 LB 0x10 15443 15426 test si, si ; 85 f6 15444 je short 09f 9fh ; 74 0b15427 je short 09fefh ; 74 0b 15445 15428 sal dx, 1 ; d1 e2 15446 15429 rcl cx, 1 ; d1 d1 … … 15448 15431 rcl ax, 1 ; d1 d0 15449 15432 dec si ; 4e 15450 jne short 09f 94h ; 75 f515433 jne short 09fe4h ; 75 f5 15451 15434 retn ; c3 15452 _fmemset_: ; 0xf9f a0 LB 0x1015435 _fmemset_: ; 0xf9ff0 LB 0x10 15453 15436 push di ; 57 15454 15437 mov es, dx ; 8e c2 … … 15461 15444 retn ; c3 15462 15445 times 0x3 db 0 15463 _fmemcpy_: ; 0xf 9fb0 LB 0x3a15446 _fmemcpy_: ; 0xfa000 LB 0x3a 15464 15447 push bp ; 55 15465 15448 db 08bh, 0ech … … 15486 15469 add byte [bx+si], al ; 00 00 15487 15470 add byte [bx+si], al ; 00 00 15488 add byte [bx+si-05ffeh], ah ; 00 a0 02 a0 15489 push ES ; 06 15490 mov AL, byte [0a006h] ; a0 06 a0 15491 push ES ; 06 15492 mov AL, byte [0a008h] ; a0 08 a0 15493 or byte [bx+si-05ff6h], ah ; 08 a0 0a a0 15494 push CS ; 0e 15495 mov AL, byte [0a00eh] ; a0 0e a0 15496 adc byte [bx+si-05febh], ah ; 10 a0 15 a0 15497 pop SS ; 17 15471 push ax ; 50 15472 mov AL, byte [0a052h] ; a0 52 a0 15473 push si ; 56 15474 mov AL, byte [0a056h] ; a0 56 a0 15475 push si ; 56 15476 mov AL, byte [0a058h] ; a0 58 a0 15477 pop ax ; 58 15478 mov AL, byte [0a05ah] ; a0 5a a0 15479 pop si ; 5e 15480 mov AL, byte [0a05eh] ; a0 5e a0 15481 pushaw ; 60 15482 mov AL, byte [0a065h] ; a0 65 a0 15483 db 067h 15498 15484 db 0a0h 15499 apm_worker: ; 0xf 9fea LB 0x3a15485 apm_worker: ; 0xfa03a LB 0x3a 15500 15486 sti ; fb 15501 15487 push ax ; 50 … … 15509 15495 pop ax ; 58 15510 15496 mov AH, strict byte 053h ; b4 53 15511 jnc short 0a0 20h ; 73 2515512 jmp word [cs:bp-0 6030h] ; 2e ff a6 d0 9f15513 jmp short 0a0 1eh ; eb 1c15497 jnc short 0a070h ; 73 25 15498 jmp word [cs:bp-05fe0h] ; 2e ff a6 20 a0 15499 jmp short 0a06eh ; eb 1c 15514 15500 sti ; fb 15515 15501 hlt ; f4 15516 jmp short 0a0 1eh ; eb 1815517 jmp short 0a0 1eh ; eb 1615518 jmp short 0a0 20h ; eb 1615502 jmp short 0a06eh ; eb 18 15503 jmp short 0a06eh ; eb 16 15504 jmp short 0a070h ; eb 16 15519 15505 mov AH, strict byte 080h ; b4 80 15520 jmp short 0a0 22h ; eb 1415521 jmp short 0a0 20h ; eb 1015506 jmp short 0a072h ; eb 14 15507 jmp short 0a070h ; eb 10 15522 15508 mov ax, 00102h ; b8 02 01 15523 jmp short 0a0 1eh ; eb 0915524 jmp short 0a0 1eh ; eb 0715509 jmp short 0a06eh ; eb 09 15510 jmp short 0a06eh ; eb 07 15525 15511 mov BL, strict byte 000h ; b3 00 15526 15512 mov cx, strict word 00000h ; b9 00 00 15527 jmp short 0a0 1eh ; eb 0015513 jmp short 0a06eh ; eb 00 15528 15514 clc ; f8 15529 15515 retn ; c3 … … 15531 15517 stc ; f9 15532 15518 retn ; c3 15533 apm_pm16_entry: ; 0xfa0 24 LB 0x1115519 apm_pm16_entry: ; 0xfa074 LB 0x11 15534 15520 mov AH, strict byte 002h ; b4 02 15535 15521 push DS ; 1e … … 15539 15525 add bp, strict byte 00008h ; 83 c5 08 15540 15526 mov ds, bp ; 8e dd 15541 call 0 9feah ; e8 b8 ff15527 call 0a03ah ; e8 b8 ff 15542 15528 pop bp ; 5d 15543 15529 pop DS ; 1f 15544 15530 retf ; cb 15545 _DoUInt32Div: ; 0xfa0 35 LB 0x26b15531 _DoUInt32Div: ; 0xfa085 LB 0x26b 15546 15532 push bp ; 55 15547 15533 mov bp, sp ; 89 e5 … … 15561 15547 mov [bp-006h], ds ; 8c 5e fa 15562 15548 cmp word [bx+002h], strict byte 00000h ; 83 7f 02 00 15563 jne short 0a0 85h ; 75 2215549 jne short 0a0d5h ; 75 22 15564 15550 mov ax, word [bx] ; 8b 07 15565 15551 test ax, ax ; 85 c0 15566 je short 0a0 82h ; 74 1915552 je short 0a0d2h ; 74 19 15567 15553 cmp ax, strict word 00001h ; 3d 01 00 15568 jne short 0a0 85h ; 75 1715554 jne short 0a0d5h ; 75 17 15569 15555 xor ax, ax ; 31 c0 15570 15556 mov word [bp+00ah], ax ; 89 46 0a … … 15574 15560 mov ax, word [bp-01ah] ; 8b 46 e6 15575 15561 mov word [bp+006h], ax ; 89 46 06 15576 jmp near 0a2 8dh ; e9 08 0215562 jmp near 0a2ddh ; e9 08 02 15577 15563 lds bx, [bp-00ch] ; c5 5e f4 15578 15564 mov ax, word [bx+002h] ; 8b 47 02 15579 15565 mov ds, [bp-006h] ; 8e 5e fa 15580 15566 cmp ax, word [si+002h] ; 3b 44 02 15581 je short 0a0 abh ; 74 1815567 je short 0a0fbh ; 74 18 15582 15568 mov ds, [bp-00ah] ; 8e 5e f6 15583 15569 mov ax, word [bx+002h] ; 8b 47 02 15584 15570 mov ds, [bp-006h] ; 8e 5e fa 15585 15571 cmp ax, word [si+002h] ; 3b 44 02 15586 jbe short 0a0 a6h ; 76 0515572 jbe short 0a0f6h ; 76 05 15587 15573 mov ax, strict word 00001h ; b8 01 00 15588 jmp short 0a 0cch ; eb 2615574 jmp short 0a11ch ; eb 26 15589 15575 mov ax, strict word 0ffffh ; b8 ff ff 15590 jmp short 0a 0cch ; eb 2115576 jmp short 0a11ch ; eb 21 15591 15577 mov ds, [bp-00ah] ; 8e 5e f6 15592 15578 mov ax, word [bx] ; 8b 07 15593 15579 mov ds, [bp-006h] ; 8e 5e fa 15594 15580 cmp ax, word [si] ; 3b 04 15595 je short 0a 0cah ; 74 1315581 je short 0a11ah ; 74 13 15596 15582 mov ds, [bp-00ah] ; 8e 5e f6 15597 15583 mov ax, word [bx] ; 8b 07 15598 15584 mov ds, [bp-006h] ; 8e 5e fa 15599 15585 cmp ax, word [si] ; 3b 04 15600 jbe short 0a 0c5h ; 76 0215601 jmp short 0a0 a1h ; eb dc15586 jbe short 0a115h ; 76 02 15587 jmp short 0a0f1h ; eb dc 15602 15588 mov ax, strict word 0ffffh ; b8 ff ff 15603 jmp short 0a 0cch ; eb 0215589 jmp short 0a11ch ; eb 02 15604 15590 xor ax, ax ; 31 c0 15605 15591 test ax, ax ; 85 c0 15606 jnl short 0a 0eeh ; 7d 1e15592 jnl short 0a13eh ; 7d 1e 15607 15593 lds bx, [bp-00ch] ; c5 5e f4 15608 15594 mov ax, word [bx] ; 8b 07 … … 15614 15600 mov word [bx+002h], strict word 00000h ; c7 47 02 00 00 15615 15601 mov word [bx], strict word 00000h ; c7 07 00 00 15616 jmp short 0a0 82h ; eb 9415617 jne short 0a1 05h ; 75 1515602 jmp short 0a0d2h ; eb 94 15603 jne short 0a155h ; 75 15 15618 15604 mov ds, [bp-008h] ; 8e 5e f8 15619 15605 mov word [di+002h], ax ; 89 45 02 … … 15622 15608 mov word [bx], strict word 00001h ; c7 07 01 00 15623 15609 mov word [bx+002h], ax ; 89 47 02 15624 jmp near 0a2 8dh ; e9 88 0115610 jmp near 0a2ddh ; e9 88 01 15625 15611 lds bx, [bp-00ch] ; c5 5e f4 15626 15612 mov ax, word [bx+002h] ; 8b 47 02 15627 15613 test ax, ax ; 85 c0 15628 je short 0a1 20h ; 74 1115614 je short 0a170h ; 74 11 15629 15615 push ax ; 50 15630 15616 mov ax, 0f000h ; b8 00 f0 15631 15617 mov ds, ax ; 8e d8 15632 call 0a2 a0h ; e8 88 0115618 call 0a2f0h ; e8 88 01 15633 15619 add sp, strict byte 00002h ; 83 c4 02 15634 15620 add ax, strict word 00010h ; 05 10 00 15635 jmp short 0a1 2dh ; eb 0d15621 jmp short 0a17dh ; eb 0d 15636 15622 push word [bx] ; ff 37 15637 15623 mov ax, 0f000h ; b8 00 f0 15638 15624 mov ds, ax ; 8e d8 15639 call 0a2 a0h ; e8 76 0115625 call 0a2f0h ; e8 76 01 15640 15626 add sp, strict byte 00002h ; 83 c4 02 15641 15627 mov word [bp-014h], ax ; 89 46 ec … … 15643 15629 mov ax, word [si+002h] ; 8b 44 02 15644 15630 test ax, ax ; 85 c0 15645 je short 0a1 4bh ; 74 1115631 je short 0a19bh ; 74 11 15646 15632 push ax ; 50 15647 15633 mov ax, 0f000h ; b8 00 f0 15648 15634 mov ds, ax ; 8e d8 15649 call 0a2 a0h ; e8 5d 0115635 call 0a2f0h ; e8 5d 01 15650 15636 add sp, strict byte 00002h ; 83 c4 02 15651 15637 add ax, strict word 00010h ; 05 10 00 15652 jmp short 0a1 58h ; eb 0d15638 jmp short 0a1a8h ; eb 0d 15653 15639 push word [si] ; ff 34 15654 15640 mov ax, 0f000h ; b8 00 f0 15655 15641 mov ds, ax ; 8e d8 15656 call 0a2 a0h ; e8 4b 0115642 call 0a2f0h ; e8 4b 01 15657 15643 add sp, strict byte 00002h ; 83 c4 02 15658 15644 mov dx, word [bp-014h] ; 8b 56 ec … … 15665 15651 mov word [bp-016h], ax ; 89 46 ea 15666 15652 test dx, dx ; 85 d2 15667 je short 0a 1c8h ; 74 5615653 je short 0a218h ; 74 56 15668 15654 mov cx, dx ; 89 d1 15669 15655 xor ch, dh ; 30 f5 … … 15671 15657 mov ax, word [si] ; 8b 04 15672 15658 mov dx, word [si+002h] ; 8b 54 02 15673 jcxz 0a1 86h ; e3 0615659 jcxz 0a1d6h ; e3 06 15674 15660 sal ax, 1 ; d1 e0 15675 15661 rcl dx, 1 ; d1 d2 15676 loop 0a1 80h ; e2 fa15662 loop 0a1d0h ; e2 fa 15677 15663 mov word [bp-018h], ax ; 89 46 e8 15678 15664 mov word [bp-016h], dx ; 89 56 ea … … 15680 15666 lds bx, [bp-00ch] ; c5 5e f4 15681 15667 cmp ax, word [bx+002h] ; 3b 47 02 15682 jnbe short 0a1 a6h ; 77 0f15668 jnbe short 0a1f6h ; 77 0f 15683 15669 mov ax, word [bp-016h] ; 8b 46 ea 15684 15670 cmp ax, word [bx+002h] ; 3b 47 02 15685 jne short 0a1 aah ; 75 0b15671 jne short 0a1fah ; 75 0b 15686 15672 mov ax, word [bp-018h] ; 8b 46 e8 15687 15673 cmp ax, word [bx] ; 3b 07 15688 jbe short 0a1 aah ; 76 0415674 jbe short 0a1fah ; 76 04 15689 15675 mov AL, strict byte 001h ; b0 01 15690 jmp short 0a1 ach ; eb 0215676 jmp short 0a1fch ; eb 02 15691 15677 xor al, al ; 30 c0 15692 15678 test al, al ; 84 c0 15693 je short 0a 1d3h ; 74 2315679 je short 0a223h ; 74 23 15694 15680 shr word [bp-016h], 1 ; d1 6e ea 15695 15681 rcr word [bp-018h], 1 ; d1 5e e8 15696 15682 dec word [bp-012h] ; ff 4e ee 15697 jmp short 0a 1d3h ; eb 1815683 jmp short 0a223h ; eb 18 15698 15684 mov cx, strict word 0001fh ; b9 1f 00 15699 15685 sal word [bp-018h], 1 ; d1 66 e8 15700 15686 rcl word [bp-016h], 1 ; d1 56 ea 15701 loop 0a 1beh ; e2 f815702 jmp short 0a 1b6h ; eb ee15687 loop 0a20eh ; e2 f8 15688 jmp short 0a206h ; eb ee 15703 15689 mov ax, word [si] ; 8b 04 15704 15690 mov word [bp-018h], ax ; 89 46 e8 … … 15717 15703 mov ds, [bp-006h] ; 8e 5e fa 15718 15704 cmp ax, word [si+002h] ; 3b 44 02 15719 jnbe short 0a 1ffh ; 77 0615720 jne short 0a2 03h ; 75 0815705 jnbe short 0a24fh ; 77 06 15706 jne short 0a253h ; 75 08 15721 15707 cmp dx, word [si] ; 3b 14 15722 jc short 0a2 03h ; 72 0415708 jc short 0a253h ; 72 04 15723 15709 mov AL, strict byte 001h ; b0 01 15724 jmp short 0a2 05h ; eb 0215710 jmp short 0a255h ; eb 02 15725 15711 xor al, al ; 30 c0 15726 15712 test al, al ; 84 c0 15727 je short 0a2 6ah ; 74 6115713 je short 0a2bah ; 74 61 15728 15714 mov ds, [bp-008h] ; 8e 5e f8 15729 15715 mov ax, word [di+002h] ; 8b 45 02 15730 15716 cmp ax, word [bp-016h] ; 3b 46 ea 15731 jnbe short 0a2 20h ; 77 0c15717 jnbe short 0a270h ; 77 0c 15732 15718 cmp ax, word [bp-016h] ; 3b 46 ea 15733 jne short 0a2 24h ; 75 0b15719 jne short 0a274h ; 75 0b 15734 15720 mov ax, word [di] ; 8b 05 15735 15721 cmp ax, word [bp-018h] ; 3b 46 e8 15736 jc short 0a2 24h ; 72 0415722 jc short 0a274h ; 72 04 15737 15723 mov AL, strict byte 001h ; b0 01 15738 jmp short 0a2 26h ; eb 0215724 jmp short 0a276h ; eb 02 15739 15725 xor al, al ; 30 c0 15740 15726 test al, al ; 84 c0 15741 je short 0a2 50h ; 74 2615727 je short 0a2a0h ; 74 26 15742 15728 mov ax, word [bp-018h] ; 8b 46 e8 15743 15729 mov ds, [bp-008h] ; 8e 5e f8 … … 15748 15734 xor dx, dx ; 31 d2 15749 15735 mov cx, word [bp-012h] ; 8b 4e ee 15750 jcxz 0a2 48h ; e3 0615736 jcxz 0a298h ; e3 06 15751 15737 sal ax, 1 ; d1 e0 15752 15738 rcl dx, 1 ; d1 d2 15753 loop 0a2 42h ; e2 fa15739 loop 0a292h ; e2 fa 15754 15740 lds bx, [bp-010h] ; c5 5e f0 15755 15741 or word [bx], ax ; 09 07 … … 15760 15746 mov ds, [bp-006h] ; 8e 5e fa 15761 15747 cmp ax, word [si+002h] ; 3b 44 02 15762 jc short 0a2 66h ; 72 0615763 jne short 0a2 6ch ; 75 0a15748 jc short 0a2b6h ; 72 06 15749 jne short 0a2bch ; 75 0a 15764 15750 cmp dx, word [si] ; 3b 14 15765 jnc short 0a2 6ch ; 73 0615751 jnc short 0a2bch ; 73 06 15766 15752 mov AL, strict byte 001h ; b0 01 15767 jmp short 0a2 6eh ; eb 0415768 jmp short 0a2 8dh ; eb 2115753 jmp short 0a2beh ; eb 04 15754 jmp short 0a2ddh ; eb 21 15769 15755 xor al, al ; 30 c0 15770 15756 test al, al ; 84 c0 15771 je short 0a2 81h ; 74 0f15772 jmp short 0a2 8dh ; eb 1915757 je short 0a2d1h ; 74 0f 15758 jmp short 0a2ddh ; eb 19 15773 15759 mov cx, strict word 0001fh ; b9 1f 00 15774 15760 sal word [bp-018h], 1 ; d1 66 e8 15775 15761 rcl word [bp-016h], 1 ; d1 56 ea 15776 loop 0a2 77h ; e2 f815777 jmp short 0a2 87h ; eb 0615762 loop 0a2c7h ; e2 f8 15763 jmp short 0a2d7h ; eb 06 15778 15764 shr word [bp-016h], 1 ; d1 6e ea 15779 15765 rcr word [bp-018h], 1 ; d1 5e e8 15780 15766 dec word [bp-012h] ; ff 4e ee 15781 jmp near 0a2 09h ; e9 7c ff15767 jmp near 0a259h ; e9 7c ff 15782 15768 mov ax, word [bp-01ch] ; 8b 46 e4 15783 15769 mov dx, word [bp-01ah] ; 8b 56 e6 … … 15788 15774 retn ; c3 15789 15775 times 0x6 db 0 15790 _ASMBitLastSetU16: ; 0xfa2 a0 LB 0x1815776 _ASMBitLastSetU16: ; 0xfa2f0 LB 0x18 15791 15777 push bp ; 55 15792 15778 db 08bh, 0ech … … 15794 15780 mov cx, word [bp+004h] ; 8b 4e 04 15795 15781 test cx, cx ; 85 c9 15796 je short 0a 2b4h ; 74 0a15782 je short 0a304h ; 74 0a 15797 15783 mov ax, strict word 00010h ; b8 10 00 15798 15784 sal cx, 1 ; d1 e1 15799 jc short 0a 2b6h ; 72 0515785 jc short 0a306h ; 72 05 15800 15786 dec ax ; 48 15801 jmp short 0a2 adh ; eb f915787 jmp short 0a2fdh ; eb f9 15802 15788 db 033h, 0c0h 15803 15789 ; xor ax, ax ; 33 c0 … … 15805 15791 retn ; c3 15806 15792 15807 ; Padding 0x3 748 bytes at 0xfa2b815808 times 14 152 db 015793 ; Padding 0x36f8 bytes at 0xfa308 15794 times 14072 db 0 15809 15795 15810 15796 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 15853 15839 add bp, strict byte 00008h ; 83 c5 08 15854 15840 push ebp ; 66 55 15855 mov bp, 0a0 26h ; bd 26 a015841 mov bp, 0a076h ; bd 76 a0 15856 15842 add byte [bx+si], al ; 00 00 15857 15843 push ebp ; 66 55 … … 16462 16448 mov dx, 0c800h ; ba 00 c8 16463 16449 call 01600h ; e8 ea 33 16464 call 04e 57h ; e8 3e6c16450 call 04eabh ; e8 92 6c 16465 16451 pop DS ; 1f 16466 16452 mov ax, 0ff53h ; b8 53 ff … … 16579 16565 call 01c9fh ; e8 63 39 16580 16566 call 02118h ; e8 d9 3d 16581 call 098 69h ; e8 27b516582 call 08 6f4h ; e8 af a316567 call 098bdh ; e8 7b b5 16568 call 08748h ; e8 03 a4 16583 16569 call 0ed2fh ; e8 e7 09 16584 16570 call 0e2d2h ; e8 87 ff … … 16590 16576 call 01600h ; e8 a9 32 16591 16577 call 0178dh ; e8 33 34 16592 call 03 acfh ; e8 725716578 call 03b23h ; e8 c6 57 16593 16579 sti ; fb 16594 16580 int 019h ; cd 19 … … 16692 16678 pop DS ; 1f 16693 16679 cld ; fc 16694 call 06 3bch ; e8 7a7c16680 call 06410h ; e8 ce 7c 16695 16681 popaw ; 61 16696 16682 pop ES ; 07 … … 16768 16754 pop DS ; 1f 16769 16755 cld ; fc 16770 call 056 87h ; e8 456e16756 call 056dbh ; e8 99 6e 16771 16757 popaw ; 61 16772 16758 pop DS ; 1f … … 16785 16771 pop DS ; 1f 16786 16772 cld ; fc 16787 call 056 87h ; e8 276e16773 call 056dbh ; e8 7b 6e 16788 16774 popaw ; 61 16789 16775 pop DS ; 1f … … 16830 16816 pop DS ; 1f 16831 16817 cld ; fc 16832 call 051 5fh ; e8 966716818 call 051b3h ; e8 ea 67 16833 16819 pop ES ; 07 16834 16820 popaw ; 61 … … 16846 16832 pop DS ; 1f 16847 16833 cld ; fc 16848 call 06e 63h ; e8 848416834 call 06eb7h ; e8 d8 84 16849 16835 pop DS ; 1f 16850 16836 pop ES ; 07 … … 16868 16854 cld ; fc 16869 16855 push 0ece9h ; 68 e9 ec 16870 jmp near 03b 13h ; e9 a24e16856 jmp near 03b67h ; e9 f6 4e 16871 16857 push ES ; 06 16872 16858 push ax ; 50 … … 16874 16860 push cx ; 51 16875 16861 push dx ; 52 16876 call 03 ae7h ; e8 6e4e16862 call 03b3bh ; e8 c2 4e 16877 16863 cmp AL, strict byte 000h ; 3c 00 16878 16864 je short 0ecabh ; 74 2e 16879 call 03 afdh ; e8 7d4e16865 call 03b51h ; e8 d1 4e 16880 16866 pop dx ; 5a 16881 16867 push dx ; 52 … … 16895 16881 cld ; fc 16896 16882 push 0ece9h ; 68 e9 ec 16897 jmp near 041 0ch ; e9 755416883 jmp near 04160h ; e9 c9 54 16898 16884 and dl, 0e0h ; 80 e2 e0 16899 16885 db 03ah, 0c2h … … 16935 16921 jne short 0ecc8h ; 75 06 16936 16922 push 0ece9h ; 68 e9 ec 16937 jmp near 031 5ah ; e9 924416923 jmp near 03178h ; e9 b0 44 16938 16924 int13_notfloppy: ; 0xfecc8 LB 0x14 16939 16925 cmp dl, 0e0h ; 80 fa e0 … … 16941 16927 shr ebx, 010h ; 66 c1 eb 10 16942 16928 push bx ; 53 16943 call 045 4eh ; e8 795816929 call 045a2h ; e8 cd 58 16944 16930 pop bx ; 5b 16945 16931 sal ebx, 010h ; 66 c1 e3 10 … … 16948 16934 cmp ah, 040h ; 80 fc 40 16949 16935 jnbe short 0ece6h ; 77 05 16950 call 05a 5eh ; e8 7a6d16936 call 05ab2h ; e8 ce 6d 16951 16937 jmp short 0ece9h ; eb 03 16952 call 05 eadh ; e8 c4 7116938 call 05f01h ; e8 18 72 16953 16939 int13_out: ; 0xfece9 LB 0x4 16954 16940 pop DS ; 1f … … 17164 17150 pop DS ; 1f 17165 17151 cld ; fc 17166 call 078 01h ; e8 248817152 call 07855h ; e8 78 88 17167 17153 popaw ; 61 17168 17154 pop ES ; 07 … … 17215 17201 mov ax, strict word 00001h ; b8 01 00 17216 17202 push ax ; 50 17217 call 04 bd3h ; e8 035b17203 call 04c27h ; e8 57 5b 17218 17204 inc sp ; 44 17219 17205 inc sp ; 44 … … 17222 17208 mov ax, strict word 00002h ; b8 02 00 17223 17209 push ax ; 50 17224 call 04 bd3h ; e8 f6 5a17210 call 04c27h ; e8 4a 5b 17225 17211 inc sp ; 44 17226 17212 inc sp ; 44 … … 17229 17215 mov ax, strict word 00003h ; b8 03 00 17230 17216 push ax ; 50 17231 call 04 bd3h ; e8 e9 5a17217 call 04c27h ; e8 3d 5b 17232 17218 inc sp ; 44 17233 17219 inc sp ; 44 … … 17236 17222 mov ax, strict word 00004h ; b8 04 00 17237 17223 push ax ; 50 17238 call 04 bd3h ; e8 dc 5a17224 call 04c27h ; e8 30 5b 17239 17225 inc sp ; 44 17240 17226 inc sp ; 44 … … 17520 17506 pop DS ; 1f 17521 17507 cld ; fc 17522 call 06 cd9h ; e8 727417508 call 06d2dh ; e8 c6 74 17523 17509 pop DS ; 1f 17524 17510 pop ES ; 07 … … 17542 17528 cmp ah, 0c2h ; 80 fc c2 17543 17529 je short 0f899h ; 74 0e 17544 call 066 13h ; e8 856d17530 call 06667h ; e8 d9 6d 17545 17531 popaw ; 61 17546 17532 pop ES ; 07 … … 17548 17534 popfw ; 9d 17549 17535 jmp short 0f8a5h ; eb 11 17550 call 09 9bbh ; e8 24a117536 call 09a0fh ; e8 78 a1 17551 17537 jmp short 0f88eh ; eb f5 17552 17538 int15_handler_mouse: ; 0xff899 LB 0x5 17553 call 074 74h ; e8 d8 7b17539 call 074c8h ; e8 2c 7c 17554 17540 jmp short 0f88eh ; eb f0 17555 17541 int15_handler32: ; 0xff89e LB 0x7 17556 17542 pushaw ; 60 17557 call 069 4fh ; e8 ad 7017543 call 069a3h ; e8 01 71 17558 17544 popaw ; 61 17559 17545 jmp short 0f88fh ; eb ea … … 17587 17573 pop DS ; 1f 17588 17574 cld ; fc 17589 call 073 a2h ; e8 d8 7a17575 call 073f6h ; e8 2c 7b 17590 17576 pop cx ; 59 17591 17577 jcxz 0f8d9h ; e3 0c … … 17619 17605 pop DS ; 1f 17620 17606 cld ; fc 17621 call 070 47h ; e8 487717607 call 0709bh ; e8 9c 77 17622 17608 popaw ; 61 17623 17609 pop DS ; 1f … … 17708 17694 pop DS ; 1f 17709 17695 cld ; fc 17710 call 071 06h ; e8 8f7217696 call 0715ah ; e8 e3 72 17711 17697 popaw ; 61 17712 17698 pop DS ; 1f … … 17813 17799 cpu_reset: ; 0xffff0 LB 0x10 17814 17800 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 17815 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0 c9h17801 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 089h -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.md5sum
r62178 r62406 1 373ec368a219608acb12fe2707c27727*VBoxPcBios286.rom1 5f745a736014b416ef1fa17602a68a12 *VBoxPcBios286.rom -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.asm
r62178 r62406 951 951 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 952 952 _pktacc: ; 0xf006a LB 0xc 953 db 000h, 000h, 000h, 000h, 000h, 000h, 0cch, 02bh, 0 dfh, 080h, 006h, 090h953 db 000h, 000h, 000h, 000h, 000h, 000h, 0cch, 02bh, 00fh, 081h, 036h, 090h 954 954 _softrst: ; 0xf0076 LB 0xc 955 db 000h, 000h, 000h, 000h, 000h, 000h, 0b4h, 02eh, 0 91h, 03bh, 091h, 03bh955 db 000h, 000h, 000h, 000h, 000h, 000h, 0b4h, 02eh, 0c1h, 03bh, 0c1h, 03bh 956 956 _dskacc: ; 0xf0082 LB 0x2e 957 957 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0bch, 02ah, 071h, 02bh, 000h, 000h, 000h, 000h 958 db 0 29h, 07fh, 004h, 080h, 0dch, 08eh, 082h, 08fh, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h958 db 059h, 07fh, 034h, 080h, 00ch, 08fh, 0b2h, 08fh, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 959 959 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 960 960 … … 1079 1079 section CONST2 progbits vstart=0xd8e align=1 ; size=0x3fa class=DATA group=DGROUP 1080 1080 _bios_cvs_version_string: ; 0xf0d8e LB 0x12 1081 db 'VirtualBox 5.1. 0', 000h, 000h1081 db 'VirtualBox 5.1.2', 000h, 000h 1082 1082 _bios_prefix_string: ; 0xf0da0 LB 0x8 1083 1083 db 'BIOS: ', 000h, 000h … … 1153 1153 times 1144 db 0 1154 1154 1155 section _TEXT progbits vstart=0x1600 align=1 ; size=0x89 b5 class=CODE group=AUTO1155 section _TEXT progbits vstart=0x1600 align=1 ; size=0x89e5 class=CODE group=AUTO 1156 1156 rom_scan_: ; 0xf1600 LB 0x50 1157 1157 push bp ; 55 … … 1458 1458 int 010h ; cd 10 1459 1459 jmp short 01829h ; eb 03 1460 call 07 af4h ; e8 cb 621460 call 07b24h ; e8 fb 62 1461 1461 mov sp, bp ; 89 ec 1462 1462 pop bp ; 5d … … 1604 1604 mov bx, strict word 0000ah ; bb 0a 00 1605 1605 xor cx, cx ; 31 c9 1606 call 09e c0h ; e8 7f 851606 call 09ef0h ; e8 af 85 1607 1607 mov word [bp-008h], ax ; 89 46 f8 1608 1608 mov cx, dx ; 89 d1 … … 1830 1830 mov dx, word [bp-026h] ; 8b 56 da 1831 1831 mov si, word [bp-01eh] ; 8b 76 e2 1832 call 09f 00h ; e8 8d 831832 call 09f30h ; e8 bd 83 1833 1833 mov ax, dx ; 89 d0 1834 1834 xor ah, dh ; 30 f4 … … 2272 2272 mov dx, word [es:si] ; 26 8b 14 2273 2273 mov si, strict word 00018h ; be 18 00 2274 call 09f 00h ; e8 31 7f2274 call 09f30h ; e8 61 7f 2275 2275 xor dh, dh ; 30 f6 2276 2276 mov word [bp-016h], dx ; 89 56 ea … … 2282 2282 mov dx, word [es:si] ; 26 8b 14 2283 2283 mov si, strict word 00020h ; be 20 00 2284 call 09f 00h ; e8 11 7f2284 call 09f30h ; e8 41 7f 2285 2285 mov bx, dx ; 89 d3 2286 2286 mov ax, word [bp-01eh] ; 8b 46 e2 … … 2313 2313 mov dx, word [es:si] ; 26 8b 14 2314 2314 mov si, strict word 00008h ; be 08 00 2315 call 09f 00h ; e8 c0 7e2315 call 09f30h ; e8 f0 7e 2316 2316 mov word [bp-014h], dx ; 89 56 ec 2317 2317 mov bx, word [bp-018h] ; 8b 5e e8 … … 2322 2322 mov dx, word [es:si] ; 26 8b 14 2323 2323 mov si, strict word 00018h ; be 18 00 2324 call 09f 00h ; e8 a2 7e2324 call 09f30h ; e8 d2 7e 2325 2325 and dx, strict byte 0000fh ; 83 e2 0f 2326 2326 or dl, 040h ; 80 ca 40 … … 2715 2715 mov dx, ss ; 8c d2 2716 2716 lea ax, [bp-03ah] ; 8d 46 c6 2717 call 059 a6h ; e8 66 352717 call 059d6h ; e8 96 35 2718 2718 mov bx, 00da0h ; bb a0 0d 2719 2719 mov cx, ds ; 8c d9 … … 2878 2878 mov dx, word [es:si+036h] ; 26 8b 54 36 2879 2879 mov si, strict word 0000bh ; be 0b 00 2880 call 09f 00h ; e8 da 782880 call 09f30h ; e8 0a 79 2881 2881 mov word [bp-030h], dx ; 89 56 d0 2882 2882 mov word [bp-02eh], cx ; 89 4e d2 … … 3149 3149 mov dx, word [bp-01eh] ; 8b 56 e2 3150 3150 mov si, strict word 00018h ; be 18 00 3151 call 09f 00h ; e8 04 763151 call 09f30h ; e8 34 76 3152 3152 xor dh, dh ; 30 f6 3153 3153 mov word [bp-01ch], dx ; 89 56 e4 … … 3157 3157 mov dx, word [bp-01eh] ; 8b 56 e2 3158 3158 mov si, strict word 00020h ; be 20 00 3159 call 09f 00h ; e8 ed 753159 call 09f30h ; e8 1d 76 3160 3160 mov bx, dx ; 89 d3 3161 3161 mov ax, word [bp-01ah] ; 8b 46 e6 … … 3191 3191 mov dx, word [bp-01eh] ; 8b 56 e2 3192 3192 mov si, strict word 00008h ; be 08 00 3193 call 09f 00h ; e8 99 753193 call 09f30h ; e8 c9 75 3194 3194 mov word [bp-010h], ax ; 89 46 f0 3195 3195 mov word [bp-014h], bx ; 89 5e ec … … 3198 3198 mov word [bp-026h], dx ; 89 56 da 3199 3199 mov si, strict word 00010h ; be 10 00 3200 call 09f 00h ; e8 84 753200 call 09f30h ; e8 b4 75 3201 3201 mov word [bp-01eh], dx ; 89 56 e2 3202 3202 mov ax, dx ; 89 d0 … … 3904 3904 pop bp ; 5d 3905 3905 retn ; c3 3906 floppy_reset_controller_: ; 0xf2fe0 LB 0x 2b3906 floppy_reset_controller_: ; 0xf2fe0 LB 0x48 3907 3907 push bp ; 55 3908 3908 mov bp, sp ; 89 e5 3909 3909 push bx ; 53 3910 push cx ; 51 3910 3911 push dx ; 52 3912 mov bx, ax ; 89 c3 3911 3913 mov dx, 003f2h ; ba f2 03 3912 3914 in AL, DX ; ec 3913 3915 db 02ah, 0e4h 3914 3916 ; sub ah, ah ; 2a e4 3915 mov bx, ax ; 89 c33916 movzx ax, bl ; 0f b6 c33917 mov cx, ax ; 89 c1 3918 movzx ax, cl ; 0f b6 c1 3917 3919 and AL, strict byte 0fbh ; 24 fb 3918 3920 out DX, AL ; ee 3919 mov al, bl ; 88 d83921 mov al, cl ; 88 c8 3920 3922 or AL, strict byte 004h ; 0c 04 3921 3923 out DX, AL ; ee … … 3926 3928 and AL, strict byte 0c0h ; 24 c0 3927 3929 cmp AL, strict byte 080h ; 3c 80 3928 jne short 02ff8h ; 75 f4 3929 lea sp, [bp-004h] ; 8d 66 fc 3930 jne short 02ffbh ; 75 f4 3931 lea cx, [bx+00090h] ; 8d 8f 90 00 3932 mov dx, cx ; 89 ca 3933 mov ax, strict word 00040h ; b8 40 00 3934 call 016b8h ; e8 a5 e6 3935 and AL, strict byte 0efh ; 24 ef 3936 movzx bx, al ; 0f b6 d8 3937 mov dx, cx ; 89 ca 3938 mov ax, strict word 00040h ; b8 40 00 3939 call 016c6h ; e8 a6 e6 3940 lea sp, [bp-006h] ; 8d 66 fa 3930 3941 pop dx ; 5a 3942 pop cx ; 59 3931 3943 pop bx ; 5b 3932 3944 pop bp ; 5d 3933 3945 retn ; c3 3934 floppy_prepare_controller_: ; 0xf30 0bLB 0x813946 floppy_prepare_controller_: ; 0xf3028 LB 0x81 3935 3947 push bp ; 55 3936 3948 mov bp, sp ; 89 e5 … … 3942 3954 mov dx, strict word 0003eh ; ba 3e 00 3943 3955 mov ax, strict word 00040h ; b8 40 00 3944 call 016b8h ; e8 9be63956 call 016b8h ; e8 7e e6 3945 3957 and AL, strict byte 07fh ; 24 7f 3946 3958 movzx bx, al ; 0f b6 d8 3947 3959 mov dx, strict word 0003eh ; ba 3e 00 3948 3960 mov ax, strict word 00040h ; b8 40 00 3949 call 016c6h ; e8 9be63961 call 016c6h ; e8 7e e6 3950 3962 mov dx, 003f2h ; ba f2 03 3951 3963 in AL, DX ; ec … … 3955 3967 mov byte [bp-008h], al ; 88 46 f8 3956 3968 test cx, cx ; 85 c9 3957 je short 030 3eh ; 74 043969 je short 0305bh ; 74 04 3958 3970 mov AL, strict byte 020h ; b0 20 3959 jmp short 030 40h ; eb 023971 jmp short 0305dh ; eb 02 3960 3972 mov AL, strict byte 010h ; b0 10 3961 3973 or AL, strict byte 00ch ; 0c 0c … … 3966 3978 mov dx, strict word 00040h ; ba 40 00 3967 3979 mov ax, dx ; 89 d0 3968 call 016c6h ; e8 73e63980 call 016c6h ; e8 56 e6 3969 3981 mov dx, 0008bh ; ba 8b 00 3970 3982 mov ax, strict word 00040h ; b8 40 00 3971 call 016b8h ; e8 5ce63983 call 016b8h ; e8 3f e6 3972 3984 shr al, 006h ; c0 e8 06 3973 3985 mov dx, 003f7h ; ba f7 03 … … 3979 3991 and AL, strict byte 0c0h ; 24 c0 3980 3992 cmp AL, strict byte 080h ; 3c 80 3981 jne short 030 63h ; 75 f43993 jne short 03080h ; 75 f4 3982 3994 cmp byte [bp-008h], 000h ; 80 7e f8 00 3983 jne short 030 84h ; 75 0f3984 call 02f79h ; e8 01 ff3995 jne short 030a1h ; 75 0f 3996 call 02f79h ; e8 e4 fe 3985 3997 movzx bx, al ; 0f b6 d8 3986 3998 mov dx, strict word 0003eh ; ba 3e 00 3987 3999 mov ax, strict word 00040h ; b8 40 00 3988 call 016c6h ; e8 42e64000 call 016c6h ; e8 25 e6 3989 4001 lea sp, [bp-006h] ; 8d 66 fa 3990 4002 pop dx ; 5a … … 3993 4005 pop bp ; 5d 3994 4006 retn ; c3 3995 floppy_media_known_: ; 0xf30 8cLB 0x434007 floppy_media_known_: ; 0xf30a9 LB 0x43 3996 4008 push bp ; 55 3997 4009 mov bp, sp ; 89 e5 … … 4001 4013 mov dx, strict word 0003eh ; ba 3e 00 4002 4014 mov ax, strict word 00040h ; b8 40 00 4003 call 016b8h ; e8 1c e64015 call 016b8h ; e8 ff e5 4004 4016 mov ah, al ; 88 c4 4005 4017 test bx, bx ; 85 db 4006 je short 030 a4h ; 74 024018 je short 030c1h ; 74 02 4007 4019 shr al, 1 ; d0 e8 4008 4020 and AL, strict byte 001h ; 24 01 4009 jne short 030 ach ; 75 044021 jne short 030c9h ; 75 04 4010 4022 xor ah, ah ; 30 e4 4011 jmp short 030 c8h ; eb 1c4023 jmp short 030e5h ; eb 1c 4012 4024 mov dx, 00090h ; ba 90 00 4013 4025 test bx, bx ; 85 db 4014 je short 030 b6h ; 74 034026 je short 030d3h ; 74 03 4015 4027 mov dx, 00091h ; ba 91 00 4016 4028 mov ax, strict word 00040h ; b8 40 00 4017 call 016b8h ; e8 fce54029 call 016b8h ; e8 df e5 4018 4030 xor ah, ah ; 30 e4 4019 4031 sar ax, 004h ; c1 f8 04 4020 4032 and AL, strict byte 001h ; 24 01 4021 je short 030 a8h ; 74 e34033 je short 030c5h ; 74 e3 4022 4034 mov ax, strict word 00001h ; b8 01 00 4023 4035 lea sp, [bp-004h] ; 8d 66 fc … … 4026 4038 pop bp ; 5d 4027 4039 retn ; c3 4028 floppy_read_id_: ; 0xf30 cfLB 0x404040 floppy_read_id_: ; 0xf30ec LB 0x40 4029 4041 push bp ; 55 4030 4042 mov bp, sp ; 89 e5 … … 4034 4046 sub sp, strict byte 00008h ; 83 ec 08 4035 4047 mov bx, ax ; 89 c3 4036 call 030 0bh ; e8 2e ff4048 call 03028h ; e8 2e ff 4037 4049 mov AL, strict byte 04ah ; b0 4a 4038 4050 mov dx, 003f5h ; ba f5 03 … … 4040 4052 mov al, bl ; 88 d8 4041 4053 out DX, AL ; ee 4042 call 02f79h ; e8 90fe4054 call 02f79h ; e8 73 fe 4043 4055 xor si, si ; 31 f6 4044 jmp short 03 0f2h ; eb 054056 jmp short 0310fh ; eb 05 4045 4057 cmp si, strict byte 00007h ; 83 fe 07 4046 jnl short 03 0feh ; 7d 0c4058 jnl short 0311bh ; 7d 0c 4047 4059 mov dx, 003f5h ; ba f5 03 4048 4060 in AL, DX ; ec … … 4051 4063 mov byte [bp+si-00eh], al ; 88 42 f2 4052 4064 inc si ; 46 4053 jmp short 03 0edh ; eb ef4065 jmp short 0310ah ; eb ef 4054 4066 test byte [bp-00eh], 0c0h ; f6 46 f2 c0 4055 4067 db 00fh, 094h, 0c0h … … 4062 4074 pop bp ; 5d 4063 4075 retn ; c3 4064 floppy_drive_recal_: ; 0xf31 0fLB 0x484076 floppy_drive_recal_: ; 0xf312c LB 0x48 4065 4077 push bp ; 55 4066 4078 mov bp, sp ; 89 e5 … … 4069 4081 push dx ; 52 4070 4082 mov bx, ax ; 89 c3 4071 call 030 0bh ; e8 f1 fe4083 call 03028h ; e8 f1 fe 4072 4084 mov AL, strict byte 007h ; b0 07 4073 4085 mov dx, 003f5h ; ba f5 03 … … 4075 4087 mov al, bl ; 88 d8 4076 4088 out DX, AL ; ee 4077 call 02f79h ; e8 53fe4089 call 02f79h ; e8 36 fe 4078 4090 test bx, bx ; 85 db 4079 je short 031 31h ; 74 074091 je short 0314eh ; 74 07 4080 4092 or AL, strict byte 002h ; 0c 02 4081 4093 mov cx, 00095h ; b9 95 00 4082 jmp short 031 36h ; eb 054094 jmp short 03153h ; eb 05 4083 4095 or AL, strict byte 001h ; 0c 01 4084 4096 mov cx, 00094h ; b9 94 00 … … 4086 4098 mov dx, strict word 0003eh ; ba 3e 00 4087 4099 mov ax, strict word 00040h ; b8 40 00 4088 call 016c6h ; e8 84e54100 call 016c6h ; e8 67 e5 4089 4101 xor bx, bx ; 31 db 4090 4102 mov dx, cx ; 89 ca 4091 4103 mov ax, strict word 00040h ; b8 40 00 4092 call 016c6h ; e8 7ae54104 call 016c6h ; e8 5d e5 4093 4105 mov ax, strict word 00001h ; b8 01 00 4094 4106 lea sp, [bp-006h] ; 8d 66 fa … … 4098 4110 pop bp ; 5d 4099 4111 retn ; c3 4100 floppy_media_sense_: ; 0xf31 57LB 0xf04112 floppy_media_sense_: ; 0xf3174 LB 0xf0 4101 4113 push bp ; 55 4102 4114 mov bp, sp ; 89 e5 … … 4107 4119 push di ; 57 4108 4120 mov di, ax ; 89 c7 4109 call 031 0fh ; e8 ab ff4121 call 0312ch ; e8 ab ff 4110 4122 test ax, ax ; 85 c0 4111 jne short 031 6dh ; 75 054123 jne short 0318ah ; 75 05 4112 4124 xor cx, cx ; 31 c9 4113 jmp near 032 3bh ; e9 ce 004125 jmp near 03258h ; e9 ce 00 4114 4126 mov ax, strict word 00010h ; b8 10 00 4115 call 01714h ; e8 a1e54127 call 01714h ; e8 84 e5 4116 4128 test di, di ; 85 ff 4117 jne short 031 7eh ; 75 074129 jne short 0319bh ; 75 07 4118 4130 mov cl, al ; 88 c1 4119 4131 shr cl, 004h ; c0 e9 04 4120 jmp short 031 83h ; eb 054132 jmp short 031a0h ; eb 05 4121 4133 mov cl, al ; 88 c1 4122 4134 and cl, 00fh ; 80 e1 0f 4123 4135 cmp cl, 001h ; 80 f9 01 4124 jne short 031 91h ; 75 094136 jne short 031aeh ; 75 09 4125 4137 xor cl, cl ; 30 c9 4126 4138 mov CH, strict byte 015h ; b5 15 4127 4139 mov si, strict word 00001h ; be 01 00 4128 jmp short 031 cfh ; eb 3e4140 jmp short 031ech ; eb 3e 4129 4141 cmp cl, 002h ; 80 f9 02 4130 jne short 031 9ch ; 75 064142 jne short 031b9h ; 75 06 4131 4143 xor cl, cl ; 30 c9 4132 4144 mov CH, strict byte 035h ; b5 35 4133 jmp short 031 8ch ; eb f04145 jmp short 031a9h ; eb f0 4134 4146 cmp cl, 003h ; 80 f9 03 4135 jne short 031 a7h ; 75 064147 jne short 031c4h ; 75 06 4136 4148 xor cl, cl ; 30 c9 4137 4149 mov CH, strict byte 017h ; b5 17 4138 jmp short 031 8ch ; eb e54150 jmp short 031a9h ; eb e5 4139 4151 cmp cl, 004h ; 80 f9 04 4140 jne short 031 b2h ; 75 064152 jne short 031cfh ; 75 06 4141 4153 xor cl, cl ; 30 c9 4142 4154 mov CH, strict byte 017h ; b5 17 4143 jmp short 031 8ch ; eb da4155 jmp short 031a9h ; eb da 4144 4156 cmp cl, 005h ; 80 f9 05 4145 jne short 031 bdh ; 75 064157 jne short 031dah ; 75 06 4146 4158 mov CL, strict byte 0cch ; b1 cc 4147 4159 mov CH, strict byte 0d7h ; b5 d7 4148 jmp short 031 8ch ; eb cf4160 jmp short 031a9h ; eb cf 4149 4161 cmp cl, 00eh ; 80 f9 0e 4150 je short 031 c7h ; 74 054162 je short 031e4h ; 74 05 4151 4163 cmp cl, 00fh ; 80 f9 0f 4152 jne short 031 c9h ; 75 024153 jmp short 031 b7h ; eb ee4164 jne short 031e6h ; 75 02 4165 jmp short 031d4h ; eb ee 4154 4166 xor cl, cl ; 30 c9 4155 4167 xor ch, ch ; 30 ed … … 4158 4170 mov dx, 0008bh ; ba 8b 00 4159 4171 mov ax, strict word 00040h ; b8 40 00 4160 call 016c6h ; e8 ebe44172 call 016c6h ; e8 ce e4 4161 4173 mov ax, di ; 89 f8 4162 call 030 cfh ; e8 ef fe4174 call 030ech ; e8 ef fe 4163 4175 test ax, ax ; 85 c0 4164 jne short 032 16h ; 75 324176 jne short 03233h ; 75 32 4165 4177 mov al, cl ; 88 c8 4166 4178 and AL, strict byte 0c0h ; 24 c0 4167 4179 cmp AL, strict byte 080h ; 3c 80 4168 je short 032 16h ; 74 2a4180 je short 03233h ; 74 2a 4169 4181 mov al, cl ; 88 c8 4170 4182 and AL, strict byte 0c0h ; 24 c0 4171 4183 cmp AL, strict byte 0c0h ; 3c c0 4172 je short 032 03h ; 74 0f4184 je short 03220h ; 74 0f 4173 4185 mov ah, cl ; 88 cc 4174 4186 and ah, 03fh ; 80 e4 3f 4175 4187 cmp AL, strict byte 040h ; 3c 40 4176 je short 032 0fh ; 74 124188 je short 0322ch ; 74 12 4177 4189 test al, al ; 84 c0 4178 je short 032 08h ; 74 074179 jmp short 031 cfh ; eb cc4190 je short 03225h ; 74 07 4191 jmp short 031ech ; eb cc 4180 4192 and cl, 03fh ; 80 e1 3f 4181 jmp short 031 cfh ; eb c74193 jmp short 031ech ; eb c7 4182 4194 mov cl, ah ; 88 e1 4183 4195 or cl, 040h ; 80 c9 40 4184 jmp short 031 cfh ; eb c04196 jmp short 031ech ; eb c0 4185 4197 mov cl, ah ; 88 e1 4186 4198 or cl, 080h ; 80 c9 80 4187 jmp short 031 cfh ; eb b94199 jmp short 031ech ; eb b9 4188 4200 test di, di ; 85 ff 4189 4201 db 00fh, 095h, 0c0h … … 4194 4206 mov dx, 0008bh ; ba 8b 00 4195 4207 mov ax, strict word 00040h ; b8 40 00 4196 call 016c6h ; e8 98e44208 call 016c6h ; e8 7b e4 4197 4209 movzx bx, ch ; 0f b6 dd 4198 4210 mov dx, di ; 89 fa 4199 4211 mov ax, strict word 00040h ; b8 40 00 4200 call 016c6h ; e8 8de44212 call 016c6h ; e8 70 e4 4201 4213 mov cx, si ; 89 f1 4202 4214 mov ax, cx ; 89 c8 … … 4209 4221 pop bp ; 5d 4210 4222 retn ; c3 4211 floppy_drive_exists_: ; 0xf32 47LB 0x244223 floppy_drive_exists_: ; 0xf3264 LB 0x24 4212 4224 push bp ; 55 4213 4225 mov bp, sp ; 89 e5 … … 4215 4227 mov dx, ax ; 89 c2 4216 4228 mov ax, strict word 00010h ; b8 10 00 4217 call 01714h ; e8 c1e44229 call 01714h ; e8 a4 e4 4218 4230 test dx, dx ; 85 d2 4219 jne short 032 5ch ; 75 054231 jne short 03279h ; 75 05 4220 4232 shr al, 004h ; c0 e8 04 4221 jmp short 032 5eh ; eb 024233 jmp short 0327bh ; eb 02 4222 4234 and AL, strict byte 00fh ; 24 0f 4223 4235 test al, al ; 84 c0 … … 4229 4241 pop bp ; 5d 4230 4242 retn ; c3 4231 _int13_diskette_function: ; 0xf32 6b LB 0x8f74243 _int13_diskette_function: ; 0xf3288 LB 0x90a 4232 4244 push bp ; 55 4233 4245 mov bp, sp ; 89 e5 … … 4237 4249 mov bx, word [bp+016h] ; 8b 5e 16 4238 4250 shr bx, 008h ; c1 eb 08 4239 mov byte [bp-00 6h], bl ; 88 5e fa4251 mov byte [bp-008h], bl ; 88 5e f8 4240 4252 mov si, word [bp+016h] ; 8b 76 16 4241 4253 and si, 000ffh ; 81 e6 ff 00 … … 4245 4257 mov dx, word [bp+014h] ; 8b 56 14 4246 4258 shr dx, 008h ; c1 ea 08 4247 mov word [bp-01 0h], dx ; 89 56 f04259 mov word [bp-012h], dx ; 89 56 ee 4248 4260 cmp bl, 008h ; 80 fb 08 4249 jc short 032 d2h ; 72 384261 jc short 032efh ; 72 38 4250 4262 mov dx, word [bp+01ch] ; 8b 56 1c 4251 4263 or dl, 001h ; 80 ca 01 4252 4264 cmp bl, 008h ; 80 fb 08 4253 jbe near 038 28h ; 0f 86 81054265 jbe near 03856h ; 0f 86 92 05 4254 4266 cmp bl, 016h ; 80 fb 16 4255 jc short 032 c8h ; 72 1c4267 jc short 032e5h ; 72 1c 4256 4268 or si, 00100h ; 81 ce 00 01 4257 4269 cmp bl, 016h ; 80 fb 16 4258 jbe near 039 5ch ; 0f 86 a5064270 jbe near 0398ch ; 0f 86 b8 06 4259 4271 cmp bl, 018h ; 80 fb 18 4260 je near 03 9f2h ; 0f 84 34074272 je near 03a22h ; 0f 84 47 07 4261 4273 cmp bl, 017h ; 80 fb 17 4262 je near 039 80h ; 0f 84 bb064263 jmp near 03b 3fh ; e9 77084274 je near 039b0h ; 0f 84 ce 06 4275 jmp near 03b6fh ; e9 8a 08 4264 4276 cmp bl, 015h ; 80 fb 15 4265 je near 039 18h ; 0f 84 49064266 jmp near 03b 3fh ; e9 6d084277 je near 03948h ; 0f 84 5c 06 4278 jmp near 03b6fh ; e9 80 08 4267 4279 cmp bl, 001h ; 80 fb 01 4268 jc short 03 2ech ; 72 154269 jbe near 033 65h ; 0f 86 8a 004280 jc short 03309h ; 72 15 4281 jbe near 03382h ; 0f 86 8a 00 4270 4282 cmp bl, 005h ; 80 fb 05 4271 je near 036 a2h ; 0f 84 c0034283 je near 036cch ; 0f 84 cd 03 4272 4284 cmp bl, 004h ; 80 fb 04 4273 jbe near 033 83h ; 0f 86 9a 004274 jmp near 03b 3fh ; e9 53084285 jbe near 033a0h ; 0f 86 9a 00 4286 jmp near 03b6fh ; e9 66 08 4275 4287 test bl, bl ; 84 db 4276 jne near 03b 3fh ; 0f 85 4d084288 jne near 03b6fh ; 0f 85 60 08 4277 4289 mov al, byte [bp+00eh] ; 8a 46 0e 4278 mov byte [bp-00 8h], al ; 88 46 f84290 mov byte [bp-00ch], al ; 88 46 f4 4279 4291 cmp AL, strict byte 001h ; 3c 01 4280 jbe short 033 10h ; 76 144292 jbe short 0332dh ; 76 14 4281 4293 mov ax, word [bp+016h] ; 8b 46 16 4282 4294 xor ah, ah ; 30 e4 … … 4284 4296 mov word [bp+016h], ax ; 89 46 16 4285 4297 mov ax, strict word 00001h ; b8 01 00 4286 call 02f34h ; e8 27fc4287 jmp near 036 7eh ; e9 6e034298 call 02f34h ; e8 0a fc 4299 jmp near 036a8h ; e9 7b 03 4288 4300 mov ax, strict word 00010h ; b8 10 00 4289 call 01714h ; e8 fee34290 cmp byte [bp-00 8h], 000h ; 80 7e f8004291 jne short 033 23h ; 75 074301 call 01714h ; e8 e1 e3 4302 cmp byte [bp-00ch], 000h ; 80 7e f4 00 4303 jne short 03340h ; 75 07 4292 4304 mov cl, al ; 88 c1 4293 4305 shr cl, 004h ; c0 e9 04 4294 jmp short 033 28h ; eb 054306 jmp short 03345h ; eb 05 4295 4307 mov cl, al ; 88 c1 4296 4308 and cl, 00fh ; 80 e1 0f 4297 4309 test cl, cl ; 84 c9 4298 jne short 033 3ch ; 75 104310 jne short 03359h ; 75 10 4299 4311 mov ax, word [bp+016h] ; 8b 46 16 4300 4312 xor ah, ah ; 30 e4 … … 4302 4314 mov word [bp+016h], ax ; 89 46 16 4303 4315 mov ax, 00080h ; b8 80 00 4304 jmp short 033 0ah ; eb ce4316 jmp short 03327h ; eb ce 4305 4317 xor bx, bx ; 31 db 4306 4318 mov dx, strict word 0003eh ; ba 3e 00 4307 4319 mov ax, strict word 00040h ; b8 40 00 4308 call 016c6h ; e8 7fe34320 call 016c6h ; e8 62 e3 4309 4321 xor al, al ; 30 c0 4310 4322 mov byte [bp+017h], al ; 88 46 17 4311 4323 xor ah, ah ; 30 e4 4312 call 02f34h ; e8 e3fb4324 call 02f34h ; e8 c6 fb 4313 4325 and byte [bp+01ch], 0feh ; 80 66 1c fe 4314 movzx ax, byte [bp-00 8h] ; 0f b6 46 f84326 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4315 4327 xor dx, dx ; 31 d2 4316 call 02f4ch ; e8 eefb4328 call 02f4ch ; e8 d1 fb 4317 4329 lea sp, [bp-004h] ; 8d 66 fc 4318 4330 pop di ; 5f … … 4323 4335 mov dx, 00441h ; ba 41 04 4324 4336 xor ax, ax ; 31 c0 4325 call 016b8h ; e8 47e34337 call 016b8h ; e8 2a e3 4326 4338 movzx dx, al ; 0f b6 d0 4327 4339 sal dx, 008h ; c1 e2 08 … … 4329 4341 mov word [bp+016h], si ; 89 76 16 4330 4342 test al, al ; 84 c0 4331 je short 033 5eh ; 74 de4332 jmp near 036 7eh ; e9 fb 024343 je short 0337bh ; 74 de 4344 jmp near 036a8h ; e9 08 03 4333 4345 mov ch, cl ; 88 cd 4334 mov dl, byte [bp-01 0h] ; 8a 56 f04335 mov byte [bp-00 ch], dl ; 88 56 f44336 mov byte [bp-00 ah], ah ; 88 66 f64346 mov dl, byte [bp-012h] ; 8a 56 ee 4347 mov byte [bp-00ah], dl ; 88 56 f6 4348 mov byte [bp-006h], ah ; 88 66 fa 4337 4349 mov dx, word [bp+012h] ; 8b 56 12 4338 4350 shr dx, 008h ; c1 ea 08 4339 4351 mov byte [bp-00eh], dl ; 88 56 f2 4340 mov byte [bp-00 8h], al ; 88 46 f84352 mov byte [bp-00ch], al ; 88 46 f4 4341 4353 cmp AL, strict byte 001h ; 3c 01 4342 jnbe short 033 ach ; 77 0e4354 jnbe short 033c9h ; 77 0e 4343 4355 cmp dl, 001h ; 80 fa 01 4344 jnbe short 033 ach ; 77 094356 jnbe short 033c9h ; 77 09 4345 4357 test cl, cl ; 84 c9 4346 je short 033 ach ; 74 054358 je short 033c9h ; 74 05 4347 4359 cmp cl, 048h ; 80 f9 48 4348 jbe short 033 d6h ; 76 2a4360 jbe short 033f3h ; 76 2a 4349 4361 mov bx, 00da0h ; bb a0 0d 4350 4362 mov cx, ds ; 8c d9 4351 4363 mov ax, strict word 00004h ; b8 04 00 4352 call 01999h ; e8 e2e54364 call 01999h ; e8 c5 e5 4353 4365 push 00275h ; 68 75 02 4354 4366 push 0028dh ; 68 8d 02 4355 4367 push strict byte 00004h ; 6a 04 4356 call 019dah ; e8 18 e64368 call 019dah ; e8 fb e5 4357 4369 add sp, strict byte 00006h ; 83 c4 06 4358 4370 mov ax, word [bp+016h] ; 8b 46 16 … … 4361 4373 mov word [bp+016h], ax ; 89 46 16 4362 4374 mov ax, strict word 00001h ; b8 01 00 4363 jmp near 034 4ch ; e9 76 004364 movzx ax, byte [bp-00 8h] ; 0f b6 46 f84365 call 032 47h ; e8 6a fe4375 jmp near 03469h ; e9 76 00 4376 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4377 call 03264h ; e8 6a fe 4366 4378 test ax, ax ; 85 c0 4367 je near 03 4dfh ; 0f 84 fc 004368 movzx dx, byte [bp-00 8h] ; 0f b6 56 f84379 je near 03500h ; 0f 84 00 01 4380 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 4369 4381 mov ax, dx ; 89 d0 4370 call 030 8ch ; e8 a0 fc4382 call 030a9h ; e8 a0 fc 4371 4383 test ax, ax ; 85 c0 4372 jne short 034 09h ; 75 194384 jne short 03426h ; 75 19 4373 4385 mov ax, dx ; 89 d0 4374 call 031 57h ; e8 62 fd4386 call 03174h ; e8 62 fd 4375 4387 test ax, ax ; 85 c0 4376 jne short 034 09h ; 75 104388 jne short 03426h ; 75 10 4377 4389 mov ax, word [bp+016h] ; 8b 46 16 4378 4390 xor ah, ah ; 30 e4 … … 4380 4392 mov word [bp+016h], ax ; 89 46 16 4381 4393 mov ax, strict word 0000ch ; b8 0c 00 4382 jmp short 034 4ch ; eb 434383 cmp byte [bp-00 6h], 002h ; 80 7e fa024384 jne near 035 71h ; 0f 85 60014394 jmp short 03469h ; eb 43 4395 cmp byte [bp-008h], 002h ; 80 7e f8 02 4396 jne near 03599h ; 0f 85 6b 01 4385 4397 mov ax, word [bp+006h] ; 8b 46 06 4386 4398 shr ax, 00ch ; c1 e8 0c … … 4390 4402 mov bx, word [bp+010h] ; 8b 5e 10 4391 4403 add bx, dx ; 01 d3 4392 mov word [bp-01 2h], bx ; 89 5e ee4404 mov word [bp-010h], bx ; 89 5e f0 4393 4405 cmp dx, bx ; 39 da 4394 jbe short 034 2dh ; 76 024406 jbe short 0344ah ; 76 02 4395 4407 db 0feh, 0c1h 4396 4408 ; inc cl ; fe c1 … … 4398 4410 sal bx, 009h ; c1 e3 09 4399 4411 dec bx ; 4b 4400 mov ax, word [bp-01 2h] ; 8b 46 ee4412 mov ax, word [bp-010h] ; 8b 46 f0 4401 4413 add ax, bx ; 01 d8 4402 cmp ax, word [bp-01 2h] ; 3b 46 ee4403 jnc short 034 56h ; 73 184414 cmp ax, word [bp-010h] ; 3b 46 f0 4415 jnc short 03473h ; 73 18 4404 4416 mov ax, word [bp+016h] ; 8b 46 16 4405 4417 xor ah, ah ; 30 e4 … … 4407 4419 mov word [bp+016h], ax ; 89 46 16 4408 4420 mov ax, strict word 00009h ; b8 09 00 4409 call 02f34h ; e8 e5fa4421 call 02f34h ; e8 c8 fa 4410 4422 mov byte [bp+016h], 000h ; c6 46 16 00 4411 jmp near 036 7eh ; e9 28024423 jmp near 036a8h ; e9 35 02 4412 4424 mov AL, strict byte 006h ; b0 06 4413 4425 mov dx, strict word 0000ah ; ba 0a 00 … … 4416 4428 mov dx, strict word 0000ch ; ba 0c 00 4417 4429 out DX, AL ; ee 4418 mov al, byte [bp-01 2h] ; 8a 46 ee4430 mov al, byte [bp-010h] ; 8a 46 f0 4419 4431 mov dx, strict word 00004h ; ba 04 00 4420 4432 out DX, AL ; ee 4421 mov ax, word [bp-01 2h] ; 8b 46 ee4433 mov ax, word [bp-010h] ; 8b 46 f0 4422 4434 shr ax, 008h ; c1 e8 08 4423 4435 out DX, AL ; ee … … 4440 4452 mov dx, strict word 0000ah ; ba 0a 00 4441 4453 out DX, AL ; ee 4442 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4443 call 0300bh ; e8 70 fb 4454 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 4455 mov ax, bx ; 89 d8 4456 call 03028h ; e8 6e fb 4444 4457 mov AL, strict byte 0e6h ; b0 e6 4445 4458 mov dx, 003f5h ; ba f5 03 4446 4459 out DX, AL ; ee 4447 movzx dx, byte [bp-00eh] ; 0f b6 56 f24448 sal dx, 002h ; c1 e2024449 movzx ax, byte [bp-008h] ; 0f b6 46 f84460 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 4461 sal ax, 002h ; c1 e0 02 4462 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 4450 4463 or ax, dx ; 09 d0 4451 4464 mov dx, 003f5h ; ba f5 03 4452 4465 out DX, AL ; ee 4453 mov al, byte [bp-00 ch] ; 8a 46 f44466 mov al, byte [bp-00ah] ; 8a 46 f6 4454 4467 out DX, AL ; ee 4455 4468 mov al, byte [bp-00eh] ; 8a 46 f2 4456 4469 out DX, AL ; ee 4457 mov al, byte [bp-00 ah] ; 8a 46 f64470 mov al, byte [bp-006h] ; 8a 46 fa 4458 4471 out DX, AL ; ee 4459 4472 mov AL, strict byte 002h ; b0 02 4460 4473 out DX, AL ; ee 4461 movzx dx, byte [bp-00 ah] ; 0f b6 56 f64474 movzx dx, byte [bp-006h] ; 0f b6 56 fa 4462 4475 movzx ax, ch ; 0f b6 c5 4463 4476 add ax, dx ; 01 d0 … … 4469 4482 mov AL, strict byte 0ffh ; b0 ff 4470 4483 out DX, AL ; ee 4471 call 02f9ah ; e8 c2fa4484 call 02f9ah ; e8 a3 fa 4472 4485 test al, al ; 84 c0 4473 jne short 034f0h ; 75 14 4474 call 02fe0h ; e8 01 fb 4486 jne short 03511h ; 75 16 4487 mov ax, bx ; 89 d8 4488 call 02fe0h ; e8 e0 fa 4475 4489 mov ax, word [bp+016h] ; 8b 46 16 4476 4490 xor ah, ah ; 30 e4 … … 4478 4492 mov word [bp+016h], ax ; 89 46 16 4479 4493 mov ax, 00080h ; b8 80 00 4480 jmp near 034 4ch ; e9 5cff4494 jmp near 03469h ; e9 58 ff 4481 4495 mov dx, 003f4h ; ba f4 03 4482 4496 in AL, DX ; ec … … 4485 4499 and AL, strict byte 0c0h ; 24 c0 4486 4500 cmp AL, strict byte 0c0h ; 3c c0 4487 je short 035 0ah ; 74 0e4501 je short 0352bh ; 74 0e 4488 4502 push 00275h ; 68 75 02 4489 4503 push 002a8h ; 68 a8 02 4490 4504 push strict byte 00007h ; 6a 07 4491 call 019dah ; e8 d3e44505 call 019dah ; e8 b2 e4 4492 4506 add sp, strict byte 00006h ; 83 c4 06 4493 4507 xor si, si ; 31 f6 4494 jmp short 035 13h ; eb 054508 jmp short 03534h ; eb 05 4495 4509 cmp si, strict byte 00007h ; 83 fe 07 4496 jnl short 035 2bh ; 7d 184510 jnl short 0354ch ; 7d 18 4497 4511 mov dx, 003f5h ; ba f5 03 4498 4512 in AL, DX ; ec … … 4503 4517 lea dx, [si+042h] ; 8d 54 42 4504 4518 mov ax, strict word 00040h ; b8 40 00 4505 call 016c6h ; e8 9ee14519 call 016c6h ; e8 7d e1 4506 4520 inc si ; 46 4507 jmp short 035 0eh ; eb e34521 jmp short 0352fh ; eb e3 4508 4522 test byte [bp-01ah], 0c0h ; f6 46 e6 c0 4509 je short 03542h ; 74 11 4523 je short 0356ah ; 74 18 4524 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4525 call 02fe0h ; e8 87 fa 4510 4526 mov ax, word [bp+016h] ; 8b 46 16 4511 4527 xor ah, ah ; 30 e4 … … 4513 4529 mov word [bp+016h], ax ; 89 46 16 4514 4530 mov ax, strict word 00020h ; b8 20 00 4515 jmp near 034 4ch ; e9 0a ff4531 jmp near 03469h ; e9 ff fe 4516 4532 movzx ax, ch ; 0f b6 c5 4517 4533 sal ax, 009h ; c1 e0 09 … … 4529 4545 rep movsw ; f3 a5 4530 4546 pop DS ; 1f 4531 movzx dx, byte [bp-00 ch] ; 0f b6 56 f44532 movzx ax, byte [bp-00 8h] ; 0f b6 46 f84533 call 02f4ch ; e8 e2f94547 movzx dx, byte [bp-00ah] ; 0f b6 56 f6 4548 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4549 call 02f4ch ; e8 ba f9 4534 4550 mov byte [bp+017h], 000h ; c6 46 17 00 4535 jmp near 03 9ebh ; e9 7a044536 cmp byte [bp-00 6h], 003h ; 80 7e fa034537 jne near 036 8ch ; 0f 85 13014551 jmp near 03a1bh ; e9 82 04 4552 cmp byte [bp-008h], 003h ; 80 7e f8 03 4553 jne near 036b6h ; 0f 85 15 01 4538 4554 mov ax, word [bp+006h] ; 8b 46 06 4539 4555 shr ax, 00ch ; c1 e8 0c … … 4543 4559 mov bx, word [bp+010h] ; 8b 5e 10 4544 4560 add bx, dx ; 01 d3 4545 mov word [bp-01 2h], bx ; 89 5e ee4561 mov word [bp-010h], bx ; 89 5e f0 4546 4562 cmp dx, bx ; 39 da 4547 jbe short 035 95h ; 76 024563 jbe short 035bdh ; 76 02 4548 4564 db 0feh, 0c1h 4549 4565 ; inc cl ; fe c1 … … 4551 4567 sal bx, 009h ; c1 e3 09 4552 4568 dec bx ; 4b 4553 mov ax, word [bp-01 2h] ; 8b 46 ee4569 mov ax, word [bp-010h] ; 8b 46 f0 4554 4570 add ax, bx ; 01 d8 4555 cmp ax, word [bp-01 2h] ; 3b 46 ee4556 jc near 034 3eh ; 0f 82 96fe4571 cmp ax, word [bp-010h] ; 3b 46 f0 4572 jc near 0345bh ; 0f 82 8b fe 4557 4573 mov AL, strict byte 006h ; b0 06 4558 4574 mov dx, strict word 0000ah ; ba 0a 00 … … 4561 4577 mov dx, strict word 0000ch ; ba 0c 00 4562 4578 out DX, AL ; ee 4563 mov al, byte [bp-01 2h] ; 8a 46 ee4579 mov al, byte [bp-010h] ; 8a 46 f0 4564 4580 mov dx, strict word 00004h ; ba 04 00 4565 4581 out DX, AL ; ee 4566 mov ax, word [bp-01 2h] ; 8b 46 ee4582 mov ax, word [bp-010h] ; 8b 46 f0 4567 4583 shr ax, 008h ; c1 e8 08 4568 4584 out DX, AL ; ee … … 4585 4601 mov dx, strict word 0000ah ; ba 0a 00 4586 4602 out DX, AL ; ee 4587 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4588 call 0300bh ; e8 1e fa 4603 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 4604 mov ax, bx ; 89 d8 4605 call 03028h ; e8 11 fa 4589 4606 mov AL, strict byte 0c5h ; b0 c5 4590 4607 mov dx, 003f5h ; ba f5 03 … … 4592 4609 movzx dx, byte [bp-00eh] ; 0f b6 56 f2 4593 4610 sal dx, 002h ; c1 e2 02 4594 movzx ax, byte [bp-00 8h] ; 0f b6 46 f84611 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4595 4612 or ax, dx ; 09 d0 4596 4613 mov dx, 003f5h ; ba f5 03 4597 4614 out DX, AL ; ee 4598 mov al, byte [bp-00 ch] ; 8a 46 f44615 mov al, byte [bp-00ah] ; 8a 46 f6 4599 4616 out DX, AL ; ee 4600 4617 mov al, byte [bp-00eh] ; 8a 46 f2 4601 4618 out DX, AL ; ee 4602 mov al, byte [bp-00 ah] ; 8a 46 f64619 mov al, byte [bp-006h] ; 8a 46 fa 4603 4620 out DX, AL ; ee 4604 4621 mov AL, strict byte 002h ; b0 02 4605 4622 out DX, AL ; ee 4606 movzx dx, byte [bp-00 ah] ; 0f b6 56 f64623 movzx dx, byte [bp-006h] ; 0f b6 56 fa 4607 4624 movzx ax, ch ; 0f b6 c5 4608 4625 add ax, dx ; 01 d0 … … 4614 4631 mov AL, strict byte 0ffh ; b0 ff 4615 4632 out DX, AL ; ee 4616 call 02f9ah ; e8 70f94633 call 02f9ah ; e8 46 f9 4617 4634 test al, al ; 84 c0 4618 je near 034 dch ; 0f 84 acfe4635 je near 034fbh ; 0f 84 a1 fe 4619 4636 mov dx, 003f4h ; ba f4 03 4620 4637 in AL, DX ; ec … … 4623 4640 and AL, strict byte 0c0h ; 24 c0 4624 4641 cmp AL, strict byte 0c0h ; 3c c0 4625 je short 036 4ah ; 74 0e4642 je short 03674h ; 74 0e 4626 4643 push 00275h ; 68 75 02 4627 4644 push 002a8h ; 68 a8 02 4628 4645 push strict byte 00007h ; 6a 07 4629 call 019dah ; e8 93e34646 call 019dah ; e8 69 e3 4630 4647 add sp, strict byte 00006h ; 83 c4 06 4631 4648 xor si, si ; 31 f6 4632 jmp short 036 53h ; eb 054649 jmp short 0367dh ; eb 05 4633 4650 cmp si, strict byte 00007h ; 83 fe 07 4634 jnl short 036 6bh ; 7d 184651 jnl short 03695h ; 7d 18 4635 4652 mov dx, 003f5h ; ba f5 03 4636 4653 in AL, DX ; ec … … 4641 4658 lea dx, [si+042h] ; 8d 54 42 4642 4659 mov ax, strict word 00040h ; b8 40 00 4643 call 016c6h ; e8 5ee04660 call 016c6h ; e8 34 e0 4644 4661 inc si ; 46 4645 jmp short 036 4eh ; eb e34662 jmp short 03678h ; eb e3 4646 4663 test byte [bp-01ah], 0c0h ; f6 46 e6 c0 4647 je near 035 5fh ; 0f 84 ecfe4664 je near 03587h ; 0f 84 ea fe 4648 4665 test byte [bp-019h], 002h ; f6 46 e7 02 4649 je short 036 85h ; 74 0c4666 je short 036afh ; 74 0c 4650 4667 mov word [bp+016h], 00300h ; c7 46 16 00 03 4651 4668 or byte [bp+01ch], 001h ; 80 4e 1c 01 4652 jmp near 033 5eh ; e9 d9fc4669 jmp near 0337bh ; e9 cc fc 4653 4670 mov word [bp+016h], 00100h ; c7 46 16 00 01 4654 jmp short 036 7eh ; eb f24655 movzx dx, byte [bp-00 ch] ; 0f b6 56 f44656 movzx ax, byte [bp-00 8h] ; 0f b6 46 f84657 call 02f4ch ; e8 b5f84671 jmp short 036a8h ; eb f2 4672 movzx dx, byte [bp-00ah] ; 0f b6 56 f6 4673 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4674 call 02f4ch ; e8 8b f8 4658 4675 and byte [bp+01ch], 0feh ; 80 66 1c fe 4659 4676 mov byte [bp+017h], 000h ; c6 46 17 00 4660 jmp near 033 5eh ; e9 bcfc4677 jmp near 0337bh ; e9 af fc 4661 4678 mov ch, byte [bp+016h] ; 8a 6e 16 4662 4679 mov ax, word [bp+014h] ; 8b 46 14 4663 4680 shr ax, 008h ; c1 e8 08 4664 mov byte [bp-00 ch], al ; 88 46 f44681 mov byte [bp-00ah], al ; 88 46 f6 4665 4682 mov dx, word [bp+012h] ; 8b 56 12 4666 4683 shr dx, 008h ; c1 ea 08 4667 4684 mov byte [bp-00eh], dl ; 88 56 f2 4668 4685 mov bl, byte [bp+00eh] ; 8a 5e 0e 4669 mov byte [bp-00 8h], bl ; 88 5e f84686 mov byte [bp-00ch], bl ; 88 5e f4 4670 4687 cmp bl, 001h ; 80 fb 01 4671 jnbe short 036 d4h ; 77 124688 jnbe short 036feh ; 77 12 4672 4689 cmp dl, 001h ; 80 fa 01 4673 jnbe short 036 d4h ; 77 0d4690 jnbe short 036feh ; 77 0d 4674 4691 cmp AL, strict byte 04fh ; 3c 4f 4675 jnbe short 036 d4h ; 77 094692 jnbe short 036feh ; 77 09 4676 4693 test ch, ch ; 84 ed 4677 je short 036 d4h ; 74 054694 je short 036feh ; 74 05 4678 4695 cmp ch, 012h ; 80 fd 12 4679 jbe short 03 6e9h ; 76 154696 jbe short 03713h ; 76 15 4680 4697 mov ax, word [bp+016h] ; 8b 46 16 4681 4698 xor ah, ah ; 30 e4 … … 4683 4700 mov word [bp+016h], ax ; 89 46 16 4684 4701 mov ax, strict word 00001h ; b8 01 00 4685 call 02f34h ; e8 4ff84702 call 02f34h ; e8 25 f8 4686 4703 or byte [bp+01ch], 001h ; 80 4e 1c 01 4687 movzx ax, byte [bp-00 8h] ; 0f b6 46 f84688 call 032 47h ; e8 57fb4704 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4705 call 03264h ; e8 4a fb 4689 4706 test ax, ax ; 85 c0 4690 je near 033 2ch ; 0f 84 36fc4691 movzx dx, byte [bp-00 8h] ; 0f b6 56 f84707 je near 03349h ; 0f 84 29 fc 4708 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 4692 4709 mov ax, dx ; 89 d0 4693 call 030 8ch ; e8 8df94710 call 030a9h ; e8 80 f9 4694 4711 test ax, ax ; 85 c0 4695 jne short 037 0eh ; 75 0b4712 jne short 03738h ; 75 0b 4696 4713 mov ax, dx ; 89 d0 4697 call 031 57h ; e8 4ffa4714 call 03174h ; e8 42 fa 4698 4715 test ax, ax ; 85 c0 4699 je near 03 3f9h ; 0f 84 ebfc4716 je near 03416h ; 0f 84 de fc 4700 4717 mov ax, word [bp+006h] ; 8b 46 06 4701 4718 shr ax, 00ch ; c1 e8 0c … … 4705 4722 mov bx, word [bp+010h] ; 8b 5e 10 4706 4723 add bx, dx ; 01 d3 4707 mov word [bp-01 2h], bx ; 89 5e ee4724 mov word [bp-010h], bx ; 89 5e f0 4708 4725 cmp dx, bx ; 39 da 4709 jbe short 037 2ah ; 76 024726 jbe short 03754h ; 76 02 4710 4727 db 0feh, 0c1h 4711 4728 ; inc cl ; fe c1 … … 4713 4730 sal bx, 002h ; c1 e3 02 4714 4731 dec bx ; 4b 4715 mov ax, word [bp-01 2h] ; 8b 46 ee4732 mov ax, word [bp-010h] ; 8b 46 f0 4716 4733 add ax, bx ; 01 d8 4717 cmp ax, word [bp-01 2h] ; 3b 46 ee4718 jc near 034 3eh ; 0f 82 01 fd4734 cmp ax, word [bp-010h] ; 3b 46 f0 4735 jc near 0345bh ; 0f 82 f4 fc 4719 4736 mov AL, strict byte 006h ; b0 06 4720 4737 mov dx, strict word 0000ah ; ba 0a 00 … … 4723 4740 mov dx, strict word 0000ch ; ba 0c 00 4724 4741 out DX, AL ; ee 4725 mov al, byte [bp-01 2h] ; 8a 46 ee4742 mov al, byte [bp-010h] ; 8a 46 f0 4726 4743 mov dx, strict word 00004h ; ba 04 00 4727 4744 out DX, AL ; ee 4728 mov ax, word [bp-01 2h] ; 8b 46 ee4745 mov ax, word [bp-010h] ; 8b 46 f0 4729 4746 shr ax, 008h ; c1 e8 08 4730 4747 out DX, AL ; ee … … 4747 4764 mov dx, strict word 0000ah ; ba 0a 00 4748 4765 out DX, AL ; ee 4749 movzx ax, byte [bp-008h] ; 0f b6 46 f8 4750 call 0300bh ; e8 89 f8 4766 movzx si, byte [bp-00ch] ; 0f b6 76 f4 4767 mov ax, si ; 89 f0 4768 call 03028h ; e8 7a f8 4751 4769 mov AL, strict byte 00fh ; b0 0f 4752 4770 mov dx, 003f5h ; ba f5 03 4753 4771 out DX, AL ; ee 4754 movzx bx, byte [bp-00eh] ; 0f b6 5ef24755 sal bx, 002h ; c1 e3024756 movzx ax, byte [bp-008h] ; 0f b6 46 f84772 movzx ax, byte [bp-00eh] ; 0f b6 46 f2 4773 sal ax, 002h ; c1 e0 02 4774 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 4757 4775 or bx, ax ; 09 c3 4758 4776 mov al, bl ; 88 d8 4759 4777 out DX, AL ; ee 4760 mov al, byte [bp-00 ch] ; 8a 46 f44778 mov al, byte [bp-00ah] ; 8a 46 f6 4761 4779 out DX, AL ; ee 4762 4780 mov AL, strict byte 04dh ; b0 4d … … 4772 4790 mov AL, strict byte 0f6h ; b0 f6 4773 4791 out DX, AL ; ee 4774 call 02f9ah ; e8 e9f74792 call 02f9ah ; e8 bd f7 4775 4793 test al, al ; 84 c0 4776 jne short 037bbh ; 75 06 4777 call 02fe0h ; e8 28 f8 4778 jmp near 0332ch ; e9 71 fb 4794 jne short 037e9h ; 75 08 4795 mov ax, si ; 89 f0 4796 call 02fe0h ; e8 fa f7 4797 jmp near 03349h ; e9 60 fb 4779 4798 mov dx, 003f4h ; ba f4 03 4780 4799 in AL, DX ; ec … … 4783 4802 and AL, strict byte 0c0h ; 24 c0 4784 4803 cmp AL, strict byte 0c0h ; 3c c0 4785 je short 03 7d5h ; 74 0e4804 je short 03803h ; 74 0e 4786 4805 push 00275h ; 68 75 02 4787 4806 push 002a8h ; 68 a8 02 4788 4807 push strict byte 00007h ; 6a 07 4789 call 019dah ; e8 08 e24808 call 019dah ; e8 da e1 4790 4809 add sp, strict byte 00006h ; 83 c4 06 4791 4810 xor si, si ; 31 f6 4792 jmp short 03 7deh ; eb 054811 jmp short 0380ch ; eb 05 4793 4812 cmp si, strict byte 00007h ; 83 fe 07 4794 jnl short 03 7f6h ; 7d 184813 jnl short 03824h ; 7d 18 4795 4814 mov dx, 003f5h ; ba f5 03 4796 4815 in AL, DX ; ec … … 4801 4820 lea dx, [si+042h] ; 8d 54 42 4802 4821 mov ax, strict word 00040h ; b8 40 00 4803 call 016c6h ; e8 d3de4822 call 016c6h ; e8 a5 de 4804 4823 inc si ; 46 4805 jmp short 03 7d9h ; eb e34824 jmp short 03807h ; eb e3 4806 4825 test byte [bp-01ah], 0c0h ; f6 46 e6 c0 4807 je short 038 12h ; 74 164826 je short 03840h ; 74 16 4808 4827 test byte [bp-019h], 002h ; f6 46 e7 02 4809 jne near 036 79h ; 0f 85 75fe4828 jne near 036a3h ; 0f 85 71 fe 4810 4829 push 00275h ; 68 75 02 4811 4830 push 002bch ; 68 bc 02 4812 4831 push strict byte 00007h ; 6a 07 4813 call 019dah ; e8 cbe14832 call 019dah ; e8 9d e1 4814 4833 add sp, strict byte 00006h ; 83 c4 06 4815 4834 xor al, al ; 30 c0 4816 4835 mov byte [bp+017h], al ; 88 46 17 4817 4836 xor ah, ah ; 30 e4 4818 call 02f34h ; e8 18 f74819 movzx ax, byte [bp-00 8h] ; 0f b6 46 f84837 call 02f34h ; e8 ea f6 4838 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4820 4839 xor dx, dx ; 31 d2 4821 call 02f4ch ; e8 27 f74822 jmp near 03 9ebh ; e9 c3014823 mov byte [bp-00 8h], al ; 88 46 f84840 call 02f4ch ; e8 f9 f6 4841 jmp near 03a1bh ; e9 c5 01 4842 mov byte [bp-00ch], al ; 88 46 f4 4824 4843 cmp AL, strict byte 001h ; 3c 01 4825 jbe short 038 4ch ; 76 1d4844 jbe short 0387ah ; 76 1d 4826 4845 xor ax, ax ; 31 c0 4827 4846 mov word [bp+016h], ax ; 89 46 16 … … 4833 4852 movzx ax, ch ; 0f b6 c5 4834 4853 mov word [bp+012h], ax ; 89 46 12 4835 jmp near 039 69h ; e9 1d014854 jmp near 03999h ; e9 1f 01 4836 4855 mov ax, strict word 00010h ; b8 10 00 4837 call 01714h ; e8 c2de4856 call 01714h ; e8 94 de 4838 4857 mov cl, al ; 88 c1 4839 4858 xor ch, ch ; 30 ed 4840 4859 test AL, strict byte 0f0h ; a8 f0 4841 je short 038 5ch ; 74 024860 je short 0388ah ; 74 02 4842 4861 mov CH, strict byte 001h ; b5 01 4843 4862 test cl, 00fh ; f6 c1 0f 4844 je short 038 63h ; 74 024863 je short 03891h ; 74 02 4845 4864 db 0feh, 0c5h 4846 4865 ; inc ch ; fe c5 4847 cmp byte [bp-00 8h], 000h ; 80 7e f8004848 jne short 038 6eh ; 75 054866 cmp byte [bp-00ch], 000h ; 80 7e f4 00 4867 jne short 0389ch ; 75 05 4849 4868 shr cl, 004h ; c0 e9 04 4850 jmp short 038 71h ; eb 034869 jmp short 0389fh ; eb 03 4851 4870 and cl, 00fh ; 80 e1 0f 4852 4871 mov byte [bp+011h], 000h ; c6 46 11 00 … … 4854 4873 mov word [bp+010h], ax ; 89 46 10 4855 4874 mov word [bp+016h], strict word 00000h ; c7 46 16 00 00 4856 mov ax, word [bp+012h] ; 8b 46 12 4857 xor al, al ; 30 c0 4858 movzx dx, ch ; 0f b6 d5 4859 or ax, dx ; 09 d0 4860 mov word [bp+012h], ax ; 89 46 12 4861 xor ah, ah ; 30 e4 4875 mov dx, word [bp+012h] ; 8b 56 12 4876 xor dl, dl ; 30 d2 4877 movzx ax, ch ; 0f b6 c5 4878 or dx, ax ; 09 c2 4879 mov word [bp+012h], dx ; 89 56 12 4880 mov ax, dx ; 89 d0 4881 xor ah, dh ; 30 f4 4862 4882 or ah, 001h ; 80 cc 01 4863 4883 mov word [bp+012h], ax ; 89 46 12 4864 4884 cmp cl, 003h ; 80 f9 03 4865 jc short 038 afh ; 72 154866 jbe short 03 8d6h ; 76 3a4885 jc short 038dfh ; 72 15 4886 jbe short 03906h ; 76 3a 4867 4887 cmp cl, 005h ; 80 f9 05 4868 jc short 03 8ddh ; 72 3c4869 jbe short 03 8e4h ; 76 414888 jc short 0390dh ; 72 3c 4889 jbe short 03914h ; 76 41 4870 4890 cmp cl, 00fh ; 80 f9 0f 4871 je short 03 8f2h ; 74 4a4891 je short 03922h ; 74 4a 4872 4892 cmp cl, 00eh ; 80 f9 0e 4873 je short 03 8ebh ; 74 3e4874 jmp short 03 8f9h ; eb 4a4893 je short 0391bh ; 74 3e 4894 jmp short 03929h ; eb 4a 4875 4895 cmp cl, 002h ; 80 f9 02 4876 je short 038 cfh ; 74 1b4896 je short 038ffh ; 74 1b 4877 4897 cmp cl, 001h ; 80 f9 01 4878 je short 038 c8h ; 74 0f4898 je short 038f8h ; 74 0f 4879 4899 test cl, cl ; 84 c9 4880 jne short 03 8f9h ; 75 3c4900 jne short 03929h ; 75 3c 4881 4901 mov word [bp+014h], strict word 00000h ; c7 46 14 00 00 4882 4902 mov byte [bp+013h], 000h ; c6 46 13 00 4883 jmp short 039 07h ; eb 3f4903 jmp short 03937h ; eb 3f 4884 4904 mov word [bp+014h], 02709h ; c7 46 14 09 27 4885 jmp short 039 07h ; eb 384905 jmp short 03937h ; eb 38 4886 4906 mov word [bp+014h], 04f0fh ; c7 46 14 0f 4f 4887 jmp short 039 07h ; eb 314907 jmp short 03937h ; eb 31 4888 4908 mov word [bp+014h], 04f09h ; c7 46 14 09 4f 4889 jmp short 039 07h ; eb 2a4909 jmp short 03937h ; eb 2a 4890 4910 mov word [bp+014h], 04f12h ; c7 46 14 12 4f 4891 jmp short 039 07h ; eb 234911 jmp short 03937h ; eb 23 4892 4912 mov word [bp+014h], 04f24h ; c7 46 14 24 4f 4893 jmp short 039 07h ; eb 1c4913 jmp short 03937h ; eb 1c 4894 4914 mov word [bp+014h], 0fe3fh ; c7 46 14 3f fe 4895 jmp short 039 07h ; eb 154915 jmp short 03937h ; eb 15 4896 4916 mov word [bp+014h], 0feffh ; c7 46 14 ff fe 4897 jmp short 039 07h ; eb 0e4917 jmp short 03937h ; eb 0e 4898 4918 push 00275h ; 68 75 02 4899 4919 push 002cdh ; 68 cd 02 4900 4920 push strict byte 00007h ; 6a 07 4901 call 019dah ; e8 d6 e04921 call 019dah ; e8 a6 e0 4902 4922 add sp, strict byte 00006h ; 83 c4 06 4903 4923 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 4904 4924 movzx ax, cl ; 0f b6 c1 4905 call 03b 62h ; e8 50 024925 call 03b92h ; e8 50 02 4906 4926 mov word [bp+008h], ax ; 89 46 08 4907 jmp near 03 9ebh ; e9 d3 004908 mov byte [bp-00 8h], al ; 88 46 f84927 jmp near 03a1bh ; e9 d3 00 4928 mov byte [bp-00ch], al ; 88 46 f4 4909 4929 cmp AL, strict byte 001h ; 3c 01 4910 jbe short 039 24h ; 76 054930 jbe short 03954h ; 76 05 4911 4931 mov word [bp+016h], si ; 89 76 16 4912 jmp short 039 69h ; eb 454932 jmp short 03999h ; eb 45 4913 4933 mov ax, strict word 00010h ; b8 10 00 4914 call 01714h ; e8 ea dd4915 cmp byte [bp-00 8h], 000h ; 80 7e f8004916 jne short 039 37h ; 75 074934 call 01714h ; e8 ba dd 4935 cmp byte [bp-00ch], 000h ; 80 7e f4 00 4936 jne short 03967h ; 75 07 4917 4937 mov cl, al ; 88 c1 4918 4938 shr cl, 004h ; c0 e9 04 4919 jmp short 039 3ch ; eb 054939 jmp short 0396ch ; eb 05 4920 4940 mov cl, al ; 88 c1 4921 4941 and cl, 00fh ; 80 e1 0f … … 4924 4944 xor dh, dh ; 30 f6 4925 4945 test cl, cl ; 84 c9 4926 je short 039 56h ; 74 0d4946 je short 03986h ; 74 0d 4927 4947 cmp cl, 001h ; 80 f9 01 4928 jbe short 039 53h ; 76 054948 jbe short 03983h ; 76 05 4929 4949 or dh, 002h ; 80 ce 02 4930 jmp short 039 56h ; eb 034950 jmp short 03986h ; eb 03 4931 4951 or dh, 001h ; 80 ce 01 4932 4952 mov word [bp+016h], dx ; 89 56 16 4933 jmp near 033 5eh ; e9 02 fa4953 jmp near 0337bh ; e9 ef f9 4934 4954 cmp AL, strict byte 001h ; 3c 01 4935 jbe short 039 6fh ; 76 0f4955 jbe short 0399fh ; 76 0f 4936 4956 mov word [bp+016h], si ; 89 76 16 4937 4957 mov ax, strict word 00001h ; b8 01 00 4938 call 02f34h ; e8 cb f54958 call 02f34h ; e8 9b f5 4939 4959 mov word [bp+01ch], dx ; 89 56 1c 4940 jmp near 033 5eh ; e9 eff94960 jmp near 0337bh ; e9 dc f9 4941 4961 mov ax, word [bp+016h] ; 8b 46 16 4942 4962 xor ah, ah ; 30 e4 … … 4944 4964 mov word [bp+016h], ax ; 89 46 16 4945 4965 mov ax, strict word 00006h ; b8 06 00 4946 jmp near 033 0ah ; e9 8af94947 mov byte [bp-00 8h], al ; 88 46 f84966 jmp near 03327h ; e9 77 f9 4967 mov byte [bp-00ch], al ; 88 46 f4 4948 4968 mov bl, cl ; 88 cb 4949 4969 cmp AL, strict byte 001h ; 3c 01 4950 jnbe short 039 60h ; 77 d74951 movzx ax, byte [bp-00 8h] ; 0f b6 46 f84952 call 032 47h ; e8 b7f84970 jnbe short 03990h ; 77 d7 4971 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 4972 call 03264h ; e8 a4 f8 4953 4973 test ax, ax ; 85 c0 4954 je near 033 2ch ; 0f 84 96f94955 cmp byte [bp-00 8h], 000h ; 80 7e f8004974 je near 03349h ; 0f 84 83 f9 4975 cmp byte [bp-00ch], 000h ; 80 7e f4 00 4956 4976 db 00fh, 095h, 0c0h 4957 4977 ; setne al ; 0f 95 c0 4958 4978 movzx dx, al ; 0f b6 d0 4959 4979 add dx, 00090h ; 81 c2 90 00 4960 mov word [bp-01 2h], dx ; 89 56 ee4980 mov word [bp-010h], dx ; 89 56 f0 4961 4981 mov ax, strict word 00040h ; b8 40 00 4962 call 016b8h ; e8 0b dd4982 call 016b8h ; e8 db dc 4963 4983 and AL, strict byte 00fh ; 24 0f 4964 4984 cmp bl, 002h ; 80 fb 02 4965 jc short 039 c3h ; 72 0f4966 jbe short 039 cfh ; 76 194985 jc short 039f3h ; 72 0f 4986 jbe short 039ffh ; 76 19 4967 4987 cmp bl, 004h ; 80 fb 04 4968 je short 039 cbh ; 74 104988 je short 039fbh ; 74 10 4969 4989 cmp bl, 003h ; 80 fb 03 4970 je short 03 9d3h ; 74 134971 jmp near 03 2fch ; e9 39f94990 je short 03a03h ; 74 13 4991 jmp near 03319h ; e9 26 f9 4972 4992 cmp bl, 001h ; 80 fb 01 4973 je short 039 cbh ; 74 034974 jmp near 03 2fch ; e9 31f94993 je short 039fbh ; 74 03 4994 jmp near 03319h ; e9 1e f9 4975 4995 or AL, strict byte 090h ; 0c 90 4976 jmp short 03 9d5h ; eb 064996 jmp short 03a05h ; eb 06 4977 4997 or AL, strict byte 070h ; 0c 70 4978 jmp short 03 9d5h ; eb 024998 jmp short 03a05h ; eb 02 4979 4999 or AL, strict byte 010h ; 0c 10 4980 5000 movzx bx, al ; 0f b6 d8 4981 mov dx, word [bp-01 2h] ; 8b 56 ee5001 mov dx, word [bp-010h] ; 8b 56 f0 4982 5002 mov ax, strict word 00040h ; b8 40 00 4983 call 016c6h ; e8 e5 dc5003 call 016c6h ; e8 b5 dc 4984 5004 xor al, al ; 30 c0 4985 5005 mov byte [bp+017h], al ; 88 46 17 4986 5006 xor ah, ah ; 30 e4 4987 call 02f34h ; e8 49 f55007 call 02f34h ; e8 19 f5 4988 5008 and byte [bp+01ch], 0feh ; 80 66 1c fe 4989 jmp near 033 5eh ; e9 6cf94990 mov byte [bp-00 8h], al ; 88 46 f85009 jmp near 0337bh ; e9 59 f9 5010 mov byte [bp-00ch], al ; 88 46 f4 4991 5011 mov ch, ah ; 88 e5 4992 5012 and ch, 03fh ; 80 e5 3f … … 4994 5014 sar bx, 006h ; c1 fb 06 4995 5015 sal bx, 008h ; c1 e3 08 4996 add bx, word [bp-01 0h] ; 03 5e f04997 mov byte [bp-00 ch], bl ; 88 5e f45016 add bx, word [bp-012h] ; 03 5e ee 5017 mov byte [bp-00ah], bl ; 88 5e f6 4998 5018 cmp AL, strict byte 001h ; 3c 01 4999 jnbe near 039 60h ; 0f 87 51 ff5000 movzx ax, byte [bp-00 8h] ; 0f b6 46 f85001 call 032 47h ; e8 31f85019 jnbe near 03990h ; 0f 87 51 ff 5020 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 5021 call 03264h ; e8 1e f8 5002 5022 test ax, ax ; 85 c0 5003 je near 033 2ch ; 0f 84 10 f95004 movzx dx, byte [bp-00 8h] ; 0f b6 56 f85023 je near 03349h ; 0f 84 fd f8 5024 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 5005 5025 mov ax, dx ; 89 d0 5006 call 030 8ch ; e8 67f65026 call 030a9h ; e8 54 f6 5007 5027 test ax, ax ; 85 c0 5008 jne short 03a 43h ; 75 1a5028 jne short 03a73h ; 75 1a 5009 5029 mov ax, dx ; 89 d0 5010 call 031 57h ; e8 29f75030 call 03174h ; e8 16 f7 5011 5031 test ax, ax ; 85 c0 5012 jne short 03a 43h ; 75 115032 jne short 03a73h ; 75 11 5013 5033 mov ax, word [bp+016h] ; 8b 46 16 5014 5034 xor ah, ah ; 30 e4 … … 5016 5036 mov word [bp+016h], ax ; 89 46 16 5017 5037 mov ax, strict word 0000ch ; b8 0c 00 5018 jmp near 033 0ah ; e9 c7f85038 jmp near 03327h ; e9 b4 f8 5019 5039 mov ax, strict word 00010h ; b8 10 00 5020 call 01714h ; e8 cb dc5021 cmp byte [bp-00 8h], 000h ; 80 7e f8005022 jne short 03a 56h ; 75 075040 call 01714h ; e8 9b dc 5041 cmp byte [bp-00ch], 000h ; 80 7e f4 00 5042 jne short 03a86h ; 75 07 5023 5043 mov cl, al ; 88 c1 5024 5044 shr cl, 004h ; c0 e9 04 5025 jmp short 03a 5bh ; eb 055045 jmp short 03a8bh ; eb 05 5026 5046 mov cl, al ; 88 c1 5027 5047 and cl, 00fh ; 80 e1 0f 5028 cmp byte [bp-00 8h], 000h ; 80 7e f8005048 cmp byte [bp-00ch], 000h ; 80 7e f4 00 5029 5049 db 00fh, 095h, 0c0h 5030 5050 ; setne al ; 0f 95 c0 5031 5051 movzx dx, al ; 0f b6 d0 5032 5052 add dx, 00090h ; 81 c2 90 00 5033 mov word [bp-01 2h], dx ; 89 56 ee5053 mov word [bp-010h], dx ; 89 56 f0 5034 5054 mov ax, strict word 00040h ; b8 40 00 5035 call 016b8h ; e8 46 dc5055 call 016b8h ; e8 16 dc 5036 5056 and AL, strict byte 00fh ; 24 0f 5037 5057 cmp cl, 003h ; 80 f9 03 5038 jc short 03a 97h ; 72 1e5058 jc short 03ac7h ; 72 1e 5039 5059 mov dl, al ; 88 c2 5040 5060 or dl, 090h ; 80 ca 90 5041 5061 cmp cl, 003h ; 80 f9 03 5042 jbe short 03 ad5h ; 76 525062 jbe short 03b05h ; 76 52 5043 5063 mov ah, al ; 88 c4 5044 5064 or ah, 010h ; 80 cc 10 5045 5065 cmp cl, 005h ; 80 f9 05 5046 je near 03 afah ; 0f 84 6b 005066 je near 03b2ah ; 0f 84 6b 00 5047 5067 cmp cl, 004h ; 80 f9 04 5048 je short 03 ae4h ; 74 505049 jmp near 03b 15h ; e9 7e 005068 je short 03b14h ; 74 50 5069 jmp near 03b45h ; e9 7e 00 5050 5070 cmp cl, 002h ; 80 f9 02 5051 je short 03a b7h ; 74 1b5071 je short 03ae7h ; 74 1b 5052 5072 cmp cl, 001h ; 80 f9 01 5053 jne near 03b 15h ; 0f 85 72 005054 cmp byte [bp-00 ch], 027h ; 80 7e f4275055 jne near 03b 15h ; 0f 85 6a 005073 jne near 03b45h ; 0f 85 72 00 5074 cmp byte [bp-00ah], 027h ; 80 7e f6 27 5075 jne near 03b45h ; 0f 85 6a 00 5056 5076 cmp ch, 009h ; 80 fd 09 5057 jne near 03b 15h ; 0f 85 63 005077 jne near 03b45h ; 0f 85 63 00 5058 5078 or AL, strict byte 090h ; 0c 90 5059 jmp near 03b 15h ; e9 5e 005060 cmp byte [bp-00 ch], 027h ; 80 7e f4275061 jne short 03a c6h ; 75 095079 jmp near 03b45h ; e9 5e 00 5080 cmp byte [bp-00ah], 027h ; 80 7e f6 27 5081 jne short 03af6h ; 75 09 5062 5082 cmp ch, 009h ; 80 fd 09 5063 jne short 03a c6h ; 75 045083 jne short 03af6h ; 75 04 5064 5084 or AL, strict byte 070h ; 0c 70 5065 jmp short 03b 15h ; eb 4f5066 cmp byte [bp-00 ch], 04fh ; 80 7e f44f5067 jne short 03b 15h ; 75 495085 jmp short 03b45h ; eb 4f 5086 cmp byte [bp-00ah], 04fh ; 80 7e f6 4f 5087 jne short 03b45h ; 75 49 5068 5088 cmp ch, 00fh ; 80 fd 0f 5069 jne short 03b 15h ; 75 445089 jne short 03b45h ; 75 44 5070 5090 or AL, strict byte 010h ; 0c 10 5071 jmp short 03b 15h ; eb 405072 cmp byte [bp-00 ch], 04fh ; 80 7e f44f5073 jne short 03b 15h ; 75 3a5091 jmp short 03b45h ; eb 40 5092 cmp byte [bp-00ah], 04fh ; 80 7e f6 4f 5093 jne short 03b45h ; 75 3a 5074 5094 cmp ch, 009h ; 80 fd 09 5075 jne short 03b 15h ; 75 355095 jne short 03b45h ; 75 35 5076 5096 mov al, dl ; 88 d0 5077 jmp short 03b 15h ; eb 315078 cmp byte [bp-00 ch], 04fh ; 80 7e f44f5079 jne short 03b 15h ; 75 2b5097 jmp short 03b45h ; eb 31 5098 cmp byte [bp-00ah], 04fh ; 80 7e f6 4f 5099 jne short 03b45h ; 75 2b 5080 5100 cmp ch, 009h ; 80 fd 09 5081 jne short 03 af1h ; 75 025082 jmp short 03 ae0h ; eb ef5101 jne short 03b21h ; 75 02 5102 jmp short 03b10h ; eb ef 5083 5103 cmp ch, 012h ; 80 fd 12 5084 jne short 03b 15h ; 75 1f5104 jne short 03b45h ; 75 1f 5085 5105 mov al, ah ; 88 e0 5086 jmp short 03b 15h ; eb 1b5087 cmp byte [bp-00 ch], 04fh ; 80 7e f44f5088 jne short 03b 15h ; 75 155106 jmp short 03b45h ; eb 1b 5107 cmp byte [bp-00ah], 04fh ; 80 7e f6 4f 5108 jne short 03b45h ; 75 15 5089 5109 cmp ch, 009h ; 80 fd 09 5090 jne short 03b 07h ; 75 025091 jmp short 03 ae0h ; eb d95110 jne short 03b37h ; 75 02 5111 jmp short 03b10h ; eb d9 5092 5112 cmp ch, 012h ; 80 fd 12 5093 jne short 03b 0eh ; 75 025094 jmp short 03 af6h ; eb e85113 jne short 03b3eh ; 75 02 5114 jmp short 03b26h ; eb e8 5095 5115 cmp ch, 024h ; 80 fd 24 5096 jne short 03b 15h ; 75 025116 jne short 03b45h ; 75 02 5097 5117 or AL, strict byte 0d0h ; 0c d0 5098 5118 movzx dx, al ; 0f b6 d0 5099 5119 sar dx, 004h ; c1 fa 04 5100 5120 test dl, 001h ; f6 c2 01 5101 je near 03a 32h ; 0f 84 10 ff5121 je near 03a62h ; 0f 84 10 ff 5102 5122 movzx bx, al ; 0f b6 d8 5103 mov dx, word [bp-01 2h] ; 8b 56 ee5123 mov dx, word [bp-010h] ; 8b 56 f0 5104 5124 mov ax, strict word 00040h ; b8 40 00 5105 call 016c6h ; e8 98 db5125 call 016c6h ; e8 68 db 5106 5126 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 5107 5127 movzx ax, cl ; 0f b6 c1 5108 call 03b 62h ; e8 29 005128 call 03b92h ; e8 29 00 5109 5129 mov word [bp+008h], ax ; 89 46 08 5110 jmp near 03 9e1h ; e9 a2 fe5130 jmp near 03a11h ; e9 a2 fe 5111 5131 mov bx, 00da0h ; bb a0 0d 5112 5132 mov cx, ds ; 8c d9 5113 5133 mov ax, strict word 00004h ; b8 04 00 5114 call 01999h ; e8 4f de5134 call 01999h ; e8 1f de 5115 5135 mov ax, word [bp+016h] ; 8b 46 16 5116 5136 shr ax, 008h ; c1 e8 08 … … 5119 5139 push 002e2h ; 68 e2 02 5120 5140 push strict byte 00004h ; 6a 04 5121 call 019dah ; e8 7e de5141 call 019dah ; e8 4e de 5122 5142 add sp, strict byte 00008h ; 83 c4 08 5123 jmp near 03 2fch ; e9 9af75124 get_floppy_dpt_: ; 0xf3b 62 LB 0x2f5143 jmp near 03319h ; e9 87 f7 5144 get_floppy_dpt_: ; 0xf3b92 LB 0x2f 5125 5145 push bx ; 53 5126 5146 push dx ; 52 … … 5129 5149 mov dl, al ; 88 c2 5130 5150 xor ax, ax ; 31 c0 5131 jmp short 03b 73h ; eb 065151 jmp short 03ba3h ; eb 06 5132 5152 inc ax ; 40 5133 5153 cmp ax, strict word 00007h ; 3d 07 00 5134 jnc short 03b 8ah ; 73 175154 jnc short 03bbah ; 73 17 5135 5155 mov bx, ax ; 89 c3 5136 5156 add bx, ax ; 01 c3 5137 5157 cmp dl, byte [word bx+0005bh] ; 3a 97 5b 00 5138 jne short 03b 6dh ; 75 f05158 jne short 03b9dh ; 75 f0 5139 5159 movzx ax, byte [word bx+0005ch] ; 0f b6 87 5c 00 5140 5160 imul ax, ax, strict byte 0000dh ; 6b c0 0d 5141 5161 add ax, strict word 00000h ; 05 00 00 5142 jmp short 03b 8dh ; eb 035162 jmp short 03bbdh ; eb 03 5143 5163 mov ax, strict word 00041h ; b8 41 00 5144 5164 pop bp ; 5d … … 5146 5166 pop bx ; 5b 5147 5167 retn ; c3 5148 dummy_soft_reset_: ; 0xf3b 91 LB 0x75168 dummy_soft_reset_: ; 0xf3bc1 LB 0x7 5149 5169 push bp ; 55 5150 5170 mov bp, sp ; 89 e5 … … 5152 5172 pop bp ; 5d 5153 5173 retn ; c3 5154 _cdemu_init: ; 0xf3b 98 LB 0x185174 _cdemu_init: ; 0xf3bc8 LB 0x18 5155 5175 push bp ; 55 5156 5176 mov bp, sp ; 89 e5 5157 5177 mov dx, strict word 0000eh ; ba 0e 00 5158 5178 mov ax, strict word 00040h ; b8 40 00 5159 call 016d4h ; e8 30 db5179 call 016d4h ; e8 00 db 5160 5180 xor bx, bx ; 31 db 5161 5181 mov dx, 00366h ; ba 66 03 5162 call 016c6h ; e8 1a db5182 call 016c6h ; e8 ea da 5163 5183 mov sp, bp ; 89 ec 5164 5184 pop bp ; 5d 5165 5185 retn ; c3 5166 _cdemu_isactive: ; 0xf3b b0 LB 0x165186 _cdemu_isactive: ; 0xf3be0 LB 0x16 5167 5187 push bp ; 55 5168 5188 mov bp, sp ; 89 e5 5169 5189 mov dx, strict word 0000eh ; ba 0e 00 5170 5190 mov ax, strict word 00040h ; b8 40 00 5171 call 016d4h ; e8 18 db5191 call 016d4h ; e8 e8 da 5172 5192 mov dx, 00366h ; ba 66 03 5173 call 016b8h ; e8 f6 da5193 call 016b8h ; e8 c6 da 5174 5194 mov sp, bp ; 89 ec 5175 5195 pop bp ; 5d 5176 5196 retn ; c3 5177 _cdemu_emulated_drive: ; 0xf3b c6 LB 0x165197 _cdemu_emulated_drive: ; 0xf3bf6 LB 0x16 5178 5198 push bp ; 55 5179 5199 mov bp, sp ; 89 e5 5180 5200 mov dx, strict word 0000eh ; ba 0e 00 5181 5201 mov ax, strict word 00040h ; b8 40 00 5182 call 016d4h ; e8 02 db5202 call 016d4h ; e8 d2 da 5183 5203 mov dx, 00368h ; ba 68 03 5184 call 016b8h ; e8 e0 da5204 call 016b8h ; e8 b0 da 5185 5205 mov sp, bp ; 89 ec 5186 5206 pop bp ; 5d 5187 5207 retn ; c3 5188 _int13_eltorito: ; 0xf3 bdc LB 0x1895208 _int13_eltorito: ; 0xf3c0c LB 0x189 5189 5209 push bp ; 55 5190 5210 mov bp, sp ; 89 e5 … … 5193 5213 mov dx, strict word 0000eh ; ba 0e 00 5194 5214 mov ax, strict word 00040h ; b8 40 00 5195 call 016d4h ; e8 ea da5215 call 016d4h ; e8 ba da 5196 5216 mov si, 00366h ; be 66 03 5197 5217 mov di, ax ; 89 c7 … … 5199 5219 shr ax, 008h ; c1 e8 08 5200 5220 cmp ax, strict word 0004bh ; 3d 4b 00 5201 jc short 03c 04h ; 72 0a5202 jbe short 03c 2ah ; 76 2e5221 jc short 03c34h ; 72 0a 5222 jbe short 03c5ah ; 76 2e 5203 5223 cmp ax, strict word 0004dh ; 3d 4d 00 5204 jbe short 03c 0bh ; 76 0a5205 jmp near 03d 29h ; e9 25 015224 jbe short 03c3bh ; 76 0a 5225 jmp near 03d59h ; e9 25 01 5206 5226 cmp ax, strict word 0004ah ; 3d 4a 00 5207 jne near 03d 29h ; 0f 85 1e 015227 jne near 03d59h ; 0f 85 1e 01 5208 5228 mov bx, 00da0h ; bb a0 0d 5209 5229 mov cx, ds ; 8c d9 5210 5230 mov ax, strict word 00004h ; b8 04 00 5211 call 01999h ; e8 83 dd5231 call 01999h ; e8 53 dd 5212 5232 push word [bp+016h] ; ff 76 16 5213 5233 push 002fch ; 68 fc 02 5214 5234 push 0030bh ; 68 0b 03 5215 5235 push strict byte 00004h ; 6a 04 5216 call 019dah ; e8 b6 dd5236 call 019dah ; e8 86 dd 5217 5237 add sp, strict byte 00008h ; 83 c4 08 5218 jmp near 03d 44h ; e9 1a 015238 jmp near 03d74h ; e9 1a 01 5219 5239 mov dx, word [bp+00ah] ; 8b 56 0a 5220 5240 mov ax, word [bp+004h] ; 8b 46 04 5221 5241 mov bx, strict word 00013h ; bb 13 00 5222 call 016c6h ; e8 90 da5242 call 016c6h ; e8 60 da 5223 5243 mov es, di ; 8e c7 5224 5244 movzx bx, byte [es:si+001h] ; 26 0f b6 5c 01 … … 5226 5246 inc dx ; 42 5227 5247 mov ax, word [bp+004h] ; 8b 46 04 5228 call 016c6h ; e8 7f da5248 call 016c6h ; e8 4f da 5229 5249 mov es, di ; 8e c7 5230 5250 movzx bx, byte [es:si+002h] ; 26 0f b6 5c 02 … … 5233 5253 inc dx ; 42 5234 5254 mov ax, word [bp+004h] ; 8b 46 04 5235 call 016c6h ; e8 6d da5255 call 016c6h ; e8 3d da 5236 5256 mov es, di ; 8e c7 5237 5257 movzx bx, byte [es:si+003h] ; 26 0f b6 5c 03 … … 5239 5259 add dx, strict byte 00003h ; 83 c2 03 5240 5260 mov ax, word [bp+004h] ; 8b 46 04 5241 call 016c6h ; e8 5a da5261 call 016c6h ; e8 2a da 5242 5262 mov es, di ; 8e c7 5243 5263 mov bx, word [es:si+008h] ; 26 8b 5c 08 … … 5246 5266 add dx, strict byte 00004h ; 83 c2 04 5247 5267 mov ax, word [bp+004h] ; 8b 46 04 5248 call 01702h ; e8 80 da5268 call 01702h ; e8 50 da 5249 5269 mov es, di ; 8e c7 5250 5270 mov bx, word [es:si+004h] ; 26 8b 5c 04 … … 5252 5272 add dx, strict byte 00008h ; 83 c2 08 5253 5273 mov ax, word [bp+004h] ; 8b 46 04 5254 call 016e2h ; e8 4e da5274 call 016e2h ; e8 1e da 5255 5275 mov es, di ; 8e c7 5256 5276 mov bx, word [es:si+006h] ; 26 8b 5c 06 … … 5258 5278 add dx, strict byte 0000ah ; 83 c2 0a 5259 5279 mov ax, word [bp+004h] ; 8b 46 04 5260 call 016e2h ; e8 3c da5280 call 016e2h ; e8 0c da 5261 5281 mov es, di ; 8e c7 5262 5282 mov bx, word [es:si+00ch] ; 26 8b 5c 0c … … 5264 5284 add dx, strict byte 0000ch ; 83 c2 0c 5265 5285 mov ax, word [bp+004h] ; 8b 46 04 5266 call 016e2h ; e8 2a da5286 call 016e2h ; e8 fa d9 5267 5287 mov es, di ; 8e c7 5268 5288 mov bx, word [es:si+00eh] ; 26 8b 5c 0e … … 5270 5290 add dx, strict byte 0000eh ; 83 c2 0e 5271 5291 mov ax, word [bp+004h] ; 8b 46 04 5272 call 016e2h ; e8 18 da5292 call 016e2h ; e8 e8 d9 5273 5293 mov es, di ; 8e c7 5274 5294 movzx bx, byte [es:si+012h] ; 26 0f b6 5c 12 … … 5276 5296 add dx, strict byte 00010h ; 83 c2 10 5277 5297 mov ax, word [bp+004h] ; 8b 46 04 5278 call 016c6h ; e8 e9 d95298 call 016c6h ; e8 b9 d9 5279 5299 mov es, di ; 8e c7 5280 5300 movzx bx, byte [es:si+014h] ; 26 0f b6 5c 14 … … 5282 5302 add dx, strict byte 00011h ; 83 c2 11 5283 5303 mov ax, word [bp+004h] ; 8b 46 04 5284 call 016c6h ; e8 d6 d95304 call 016c6h ; e8 a6 d9 5285 5305 mov es, di ; 8e c7 5286 5306 movzx bx, byte [es:si+010h] ; 26 0f b6 5c 10 … … 5288 5308 add dx, strict byte 00012h ; 83 c2 12 5289 5309 mov ax, word [bp+004h] ; 8b 46 04 5290 call 016c6h ; e8 c3 d95310 call 016c6h ; e8 93 d9 5291 5311 test byte [bp+016h], 0ffh ; f6 46 16 ff 5292 jne short 03d 0fh ; 75 065312 jne short 03d3fh ; 75 06 5293 5313 mov es, di ; 8e c7 5294 5314 mov byte [es:si], 000h ; 26 c6 04 00 … … 5297 5317 mov dx, strict word 00074h ; ba 74 00 5298 5318 mov ax, strict word 00040h ; b8 40 00 5299 call 016c6h ; e8 a8 d95319 call 016c6h ; e8 78 d9 5300 5320 and byte [bp+01ch], 0feh ; 80 66 1c fe 5301 5321 lea sp, [bp-004h] ; 8d 66 fc … … 5307 5327 mov cx, ds ; 8c d9 5308 5328 mov ax, strict word 00004h ; b8 04 00 5309 call 01999h ; e8 65 dc5329 call 01999h ; e8 35 dc 5310 5330 mov ax, word [bp+016h] ; 8b 46 16 5311 5331 shr ax, 008h ; c1 e8 08 … … 5313 5333 push 002fch ; 68 fc 02 5314 5334 push 00333h ; 68 33 03 5315 jmp near 03c 1fh ; e9 db fe5335 jmp near 03c4fh ; e9 db fe 5316 5336 mov ax, word [bp+016h] ; 8b 46 16 5317 5337 xor ah, ah ; 30 e4 … … 5323 5343 mov dx, strict word 00074h ; ba 74 00 5324 5344 mov ax, strict word 00040h ; b8 40 00 5325 call 016c6h ; e8 67 d95345 call 016c6h ; e8 37 d9 5326 5346 or byte [bp+01ch], 001h ; 80 4e 1c 01 5327 jmp short 03d 22h ; eb bd5328 device_is_cdrom_: ; 0xf3d 65 LB 0x355347 jmp short 03d52h ; eb bd 5348 device_is_cdrom_: ; 0xf3d95 LB 0x35 5329 5349 push bp ; 55 5330 5350 mov bp, sp ; 89 e5 … … 5334 5354 mov dx, strict word 0000eh ; ba 0e 00 5335 5355 mov ax, strict word 00040h ; b8 40 00 5336 call 016d4h ; e8 5f d95356 call 016d4h ; e8 2f d9 5337 5357 cmp bl, 010h ; 80 fb 10 5338 jc short 03d 7eh ; 72 045358 jc short 03daeh ; 72 04 5339 5359 xor ax, ax ; 31 c0 5340 jmp short 03d 93h ; eb 155360 jmp short 03dc3h ; eb 15 5341 5361 xor bh, bh ; 30 ff 5342 5362 imul bx, bx, strict byte 0001ch ; 6b db 1c … … 5344 5364 add bx, 00122h ; 81 c3 22 01 5345 5365 cmp byte [es:bx+023h], 005h ; 26 80 7f 23 05 5346 jne short 03d 7ah ; 75 ea5366 jne short 03daah ; 75 ea 5347 5367 mov ax, strict word 00001h ; b8 01 00 5348 5368 lea sp, [bp-004h] ; 8d 66 fc … … 5351 5371 pop bp ; 5d 5352 5372 retn ; c3 5353 cdrom_boot_: ; 0xf3d 9a LB 0x4165373 cdrom_boot_: ; 0xf3dca LB 0x416 5354 5374 push bp ; 55 5355 5375 mov bp, sp ; 89 e5 … … 5362 5382 mov dx, strict word 0000eh ; ba 0e 00 5363 5383 mov ax, strict word 00040h ; b8 40 00 5364 call 016d4h ; e8 25 d95384 call 016d4h ; e8 f5 d8 5365 5385 mov word [bp-018h], ax ; 89 46 e8 5366 5386 mov si, 00366h ; be 66 03 … … 5369 5389 mov word [bp-012h], ax ; 89 46 ee 5370 5390 mov byte [bp-00ch], 000h ; c6 46 f4 00 5371 jmp short 03d cfh ; eb 095391 jmp short 03dffh ; eb 09 5372 5392 inc byte [bp-00ch] ; fe 46 f4 5373 5393 cmp byte [bp-00ch], 010h ; 80 7e f4 10 5374 jnc short 03 ddah ; 73 0b5394 jnc short 03e0ah ; 73 0b 5375 5395 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 5376 call 03d 65h ; e8 8f ff5396 call 03d95h ; e8 8f ff 5377 5397 test ax, ax ; 85 c0 5378 je short 03d c6h ; 74 ec5398 je short 03df6h ; 74 ec 5379 5399 cmp byte [bp-00ch], 010h ; 80 7e f4 10 5380 jc short 03 de6h ; 72 065400 jc short 03e16h ; 72 06 5381 5401 mov ax, strict word 00002h ; b8 02 00 5382 jmp near 041 4dh ; e9 67 035402 jmp near 0417dh ; e9 67 03 5383 5403 mov cx, strict word 0000ch ; b9 0c 00 5384 5404 xor bx, bx ; 31 db 5385 5405 mov dx, ss ; 8c d2 5386 5406 lea ax, [bp-026h] ; 8d 46 da 5387 call 09f 20h ; e8 2d 615407 call 09f50h ; e8 2d 61 5388 5408 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 5389 5409 mov ax, strict word 00011h ; b8 11 00 … … 5401 5421 ; mov dword [es:bx+00eh], strict dword 008000001h ; 66 26 c7 47 0e 01 00 00 08 5402 5422 mov byte [bp-00eh], 000h ; c6 46 f2 00 5403 jmp short 03e 2bh ; eb 095423 jmp short 03e5bh ; eb 09 5404 5424 inc byte [bp-00eh] ; fe 46 f2 5405 5425 cmp byte [bp-00eh], 004h ; 80 7e f2 04 5406 jnbe short 03e 62h ; 77 375426 jnbe short 03e92h ; 77 37 5407 5427 movzx di, byte [bp-00ch] ; 0f b6 7e f4 5408 5428 imul di, di, strict byte 0001ch ; 6b ff 1c … … 5424 5444 call word [word di+0006ah] ; ff 95 6a 00 5425 5445 test ax, ax ; 85 c0 5426 jne short 03e 22h ; 75 c05446 jne short 03e52h ; 75 c0 5427 5447 test ax, ax ; 85 c0 5428 je short 03e 6ch ; 74 065448 je short 03e9ch ; 74 06 5429 5449 mov ax, strict word 00003h ; b8 03 00 5430 jmp near 041 4dh ; e9 e1 025450 jmp near 0417dh ; e9 e1 02 5431 5451 cmp byte [bp-00826h], 000h ; 80 be da f7 00 5432 je short 03e 79h ; 74 065452 je short 03ea9h ; 74 06 5433 5453 mov ax, strict word 00004h ; b8 04 00 5434 jmp near 041 4dh ; e9 d4 025454 jmp near 0417dh ; e9 d4 02 5435 5455 xor di, di ; 31 ff 5436 jmp short 03e 83h ; eb 065456 jmp short 03eb3h ; eb 06 5437 5457 inc di ; 47 5438 5458 cmp di, strict byte 00005h ; 83 ff 05 5439 jnc short 03e 93h ; 73 105459 jnc short 03ec3h ; 73 10 5440 5460 mov al, byte [bp+di-00825h] ; 8a 83 db f7 5441 5461 cmp al, byte [di+00da8h] ; 3a 85 a8 0d 5442 je short 03e 7dh ; 74 f05462 je short 03eadh ; 74 f0 5443 5463 mov ax, strict word 00005h ; b8 05 00 5444 jmp near 041 4dh ; e9 ba 025464 jmp near 0417dh ; e9 ba 02 5445 5465 xor di, di ; 31 ff 5446 jmp short 03e 9dh ; eb 065466 jmp short 03ecdh ; eb 06 5447 5467 inc di ; 47 5448 5468 cmp di, strict byte 00017h ; 83 ff 17 5449 jnc short 03e adh ; 73 105469 jnc short 03eddh ; 73 10 5450 5470 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 5451 5471 cmp al, byte [di+00daeh] ; 3a 85 ae 0d 5452 je short 03e 97h ; 74 f05472 je short 03ec7h ; 74 f0 5453 5473 mov ax, strict word 00006h ; b8 06 00 5454 jmp near 041 4dh ; e9 a0 025474 jmp near 0417dh ; e9 a0 02 5455 5475 mov ax, word [bp-007dfh] ; 8b 86 21 f8 5456 5476 mov dx, word [bp-007ddh] ; 8b 96 23 f8 … … 5483 5503 call word [word di+0006ah] ; ff 95 6a 00 5484 5504 test ax, ax ; 85 c0 5485 je short 03f 0ah ; 74 065505 je short 03f3ah ; 74 06 5486 5506 mov ax, strict word 00007h ; b8 07 00 5487 jmp near 041 4dh ; e9 43 025507 jmp near 0417dh ; e9 43 02 5488 5508 cmp byte [bp-00826h], 001h ; 80 be da f7 01 5489 je short 03f 17h ; 74 065509 je short 03f47h ; 74 06 5490 5510 mov ax, strict word 00008h ; b8 08 00 5491 jmp near 041 4dh ; e9 36 025511 jmp near 0417dh ; e9 36 02 5492 5512 cmp byte [bp-00825h], 000h ; 80 be db f7 00 5493 je short 03f 24h ; 74 065513 je short 03f54h ; 74 06 5494 5514 mov ax, strict word 00009h ; b8 09 00 5495 jmp near 041 4dh ; e9 29 025515 jmp near 0417dh ; e9 29 02 5496 5516 cmp byte [bp-00808h], 055h ; 80 be f8 f7 55 5497 je short 03f 31h ; 74 065517 je short 03f61h ; 74 06 5498 5518 mov ax, strict word 0000ah ; b8 0a 00 5499 jmp near 041 4dh ; e9 1c 025519 jmp near 0417dh ; e9 1c 02 5500 5520 cmp byte [bp-00807h], 0aah ; 80 be f9 f7 aa 5501 jne short 03f 2bh ; 75 f35521 jne short 03f5bh ; 75 f3 5502 5522 cmp byte [bp-00806h], 088h ; 80 be fa f7 88 5503 je short 03f 45h ; 74 065523 je short 03f75h ; 74 06 5504 5524 mov ax, strict word 0000bh ; b8 0b 00 5505 jmp near 041 4dh ; e9 08 025525 jmp near 0417dh ; e9 08 02 5506 5526 mov al, byte [bp-00805h] ; 8a 86 fb f7 5507 5527 mov es, [bp-010h] ; 8e 46 f0 5508 5528 mov byte [es:si+001h], al ; 26 88 44 01 5509 5529 cmp byte [bp-00805h], 000h ; 80 be fb f7 00 5510 jne short 03f 5eh ; 75 075530 jne short 03f8eh ; 75 07 5511 5531 mov byte [es:si+002h], 0e0h ; 26 c6 44 02 e0 5512 jmp short 03f 71h ; eb 135532 jmp short 03fa1h ; eb 13 5513 5533 cmp byte [bp-00805h], 004h ; 80 be fb f7 04 5514 jnc short 03f 6ch ; 73 075534 jnc short 03f9ch ; 73 07 5515 5535 mov byte [es:si+002h], 000h ; 26 c6 44 02 00 5516 jmp short 03f 71h ; eb 055536 jmp short 03fa1h ; eb 05 5517 5537 mov byte [es:si+002h], 080h ; 26 c6 44 02 80 5518 5538 movzx di, byte [bp-00ch] ; 0f b6 7e f4 … … 5532 5552 mov word [bp-016h], ax ; 89 46 ea 5533 5553 test ax, ax ; 85 c0 5534 jne short 03f 9fh ; 75 055554 jne short 03fcfh ; 75 05 5535 5555 mov word [bp-016h], 007c0h ; c7 46 ea c0 07 5536 5556 mov ax, word [bp-016h] ; 8b 46 ea … … 5541 5561 mov word [es:si+00eh], di ; 26 89 7c 0e 5542 5562 test di, di ; 85 ff 5543 je short 03f c1h ; 74 065563 je short 03ff1h ; 74 06 5544 5564 cmp di, 00400h ; 81 ff 00 04 5545 jbe short 03f c7h ; 76 065565 jbe short 03ff7h ; 76 06 5546 5566 mov ax, strict word 0000ch ; b8 0c 00 5547 jmp near 041 4dh ; e9 86 015567 jmp near 0417dh ; e9 86 01 5548 5568 mov ax, word [bp-007feh] ; 8b 86 02 f8 5549 5569 mov dx, word [bp-007fch] ; 8b 96 04 f8 … … 5585 5605 sal ax, 1 ; d1 e0 5586 5606 rcl di, 1 ; d1 d7 5587 loop 040 35h ; e2 fa5607 loop 04065h ; e2 fa 5588 5608 push di ; 57 5589 5609 push ax ; 50 … … 5598 5618 mov word [es:bx+020h], strict word 00000h ; 26 c7 47 20 00 00 5599 5619 test ax, ax ; 85 c0 5600 je short 040 65h ; 74 065620 je short 04095h ; 74 06 5601 5621 mov ax, strict word 0000dh ; b8 0d 00 5602 jmp near 041 4dh ; e9 e8 005622 jmp near 0417dh ; e9 e8 00 5603 5623 mov es, [bp-010h] ; 8e 46 f0 5604 5624 mov al, byte [es:si+001h] ; 26 8a 44 01 5605 5625 cmp AL, strict byte 002h ; 3c 02 5606 jc short 040 7dh ; 72 0d5607 jbe short 040 95h ; 76 235626 jc short 040adh ; 72 0d 5627 jbe short 040c5h ; 76 23 5608 5628 cmp AL, strict byte 004h ; 3c 04 5609 je short 040 abh ; 74 355629 je short 040dbh ; 74 35 5610 5630 cmp AL, strict byte 003h ; 3c 03 5611 je short 040 a0h ; 74 265612 jmp near 04 0f6h ; e9 79 005631 je short 040d0h ; 74 26 5632 jmp near 04126h ; e9 79 00 5613 5633 cmp AL, strict byte 001h ; 3c 01 5614 jne short 04 0f6h ; 75 755634 jne short 04126h ; 75 75 5615 5635 mov es, [bp-010h] ; 8e 46 f0 5616 5636 db 066h, 026h, 0c7h, 044h, 012h, 050h, 000h, 00fh, 000h 5617 5637 ; mov dword [es:si+012h], strict dword 0000f0050h ; 66 26 c7 44 12 50 00 0f 00 5618 5638 mov word [es:si+010h], strict word 00002h ; 26 c7 44 10 02 00 5619 jmp short 04 0f6h ; eb 615639 jmp short 04126h ; eb 61 5620 5640 db 066h, 026h, 0c7h, 044h, 012h, 050h, 000h, 012h, 000h 5621 5641 ; mov dword [es:si+012h], strict dword 000120050h ; 66 26 c7 44 12 50 00 12 00 5622 jmp short 040 8dh ; eb ed5642 jmp short 040bdh ; eb ed 5623 5643 db 066h, 026h, 0c7h, 044h, 012h, 050h, 000h, 024h, 000h 5624 5644 ; mov dword [es:si+012h], strict dword 000240050h ; 66 26 c7 44 12 50 00 24 00 5625 jmp short 040 8dh ; eb e25645 jmp short 040bdh ; eb e2 5626 5646 mov dx, 001c4h ; ba c4 01 5627 5647 mov ax, word [bp-016h] ; 8b 46 ea 5628 call 016b8h ; e8 04 d65648 call 016b8h ; e8 d4 d5 5629 5649 and AL, strict byte 03fh ; 24 3f 5630 5650 xor ah, ah ; 30 e4 … … 5633 5653 mov dx, 001c4h ; ba c4 01 5634 5654 mov ax, word [bp-016h] ; 8b 46 ea 5635 call 016b8h ; e8 f0 d55655 call 016b8h ; e8 c0 d5 5636 5656 movzx bx, al ; 0f b6 d8 5637 5657 sal bx, 002h ; c1 e3 02 5638 5658 mov dx, 001c5h ; ba c5 01 5639 5659 mov ax, word [bp-016h] ; 8b 46 ea 5640 call 016b8h ; e8 e1 d55660 call 016b8h ; e8 b1 d5 5641 5661 xor ah, ah ; 30 e4 5642 5662 add ax, bx ; 01 d8 … … 5646 5666 mov dx, 001c3h ; ba c3 01 5647 5667 mov ax, word [bp-016h] ; 8b 46 ea 5648 call 016b8h ; e8 cc d55668 call 016b8h ; e8 9c d5 5649 5669 xor ah, ah ; 30 e4 5650 5670 inc ax ; 40 … … 5653 5673 mov es, [bp-010h] ; 8e 46 f0 5654 5674 cmp byte [es:si+001h], 000h ; 26 80 7c 01 00 5655 je short 041 34h ; 74 345675 je short 04164h ; 74 34 5656 5676 cmp byte [es:si+002h], 000h ; 26 80 7c 02 00 5657 jne short 041 1dh ; 75 165677 jne short 0414dh ; 75 16 5658 5678 mov dx, strict word 00010h ; ba 10 00 5659 5679 mov ax, strict word 00040h ; b8 40 00 5660 call 016b8h ; e8 a8 d55680 call 016b8h ; e8 78 d5 5661 5681 or AL, strict byte 041h ; 0c 41 5662 5682 movzx bx, al ; 0f b6 d8 5663 5683 mov dx, strict word 00010h ; ba 10 00 5664 5684 mov ax, strict word 00040h ; b8 40 00 5665 jmp short 041 31h ; eb 145685 jmp short 04161h ; eb 14 5666 5686 mov dx, 00304h ; ba 04 03 5667 5687 mov ax, word [bp-018h] ; 8b 46 e8 5668 call 016b8h ; e8 92 d55688 call 016b8h ; e8 62 d5 5669 5689 db 0feh, 0c0h 5670 5690 ; inc al ; fe c0 … … 5672 5692 mov dx, 00304h ; ba 04 03 5673 5693 mov ax, word [bp-018h] ; 8b 46 e8 5674 call 016c6h ; e8 92 d55694 call 016c6h ; e8 62 d5 5675 5695 mov es, [bp-010h] ; 8e 46 f0 5676 5696 cmp byte [es:si+001h], 000h ; 26 80 7c 01 00 5677 je short 041 42h ; 74 045697 je short 04172h ; 74 04 5678 5698 mov byte [es:si], 001h ; 26 c6 04 01 5679 5699 mov es, [bp-010h] ; 8e 46 f0 … … 5689 5709 retn ; c3 5690 5710 db 050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h 5691 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 0 48h, 045h, 056h5692 db 042h, 0 a0h, 042h, 0c8h, 042h, 095h, 042h, 0c8h, 042h, 095h, 042h, 09eh, 044h, 07bh, 042h, 048h5693 db 045h, 0 48h, 045h, 07bh, 042h, 07bh, 042h, 07bh, 042h, 07bh, 042h, 07bh, 042h, 03fh, 045h, 07bh5694 db 042h, 0 48h, 045h, 048h, 045h, 048h, 045h, 048h, 045h, 048h, 045h, 048h, 045h, 048h, 045h, 048h5695 db 045h, 0 48h, 045h, 048h, 045h, 048h, 045h, 048h, 045h5696 _int13_cdemu: ; 0xf41 b0 LB 0x4345711 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 078h, 045h, 086h 5712 db 042h, 0d0h, 042h, 0f8h, 042h, 0c5h, 042h, 0f8h, 042h, 0c5h, 042h, 0ceh, 044h, 0abh, 042h, 078h 5713 db 045h, 078h, 045h, 0abh, 042h, 0abh, 042h, 0abh, 042h, 0abh, 042h, 0abh, 042h, 06fh, 045h, 0abh 5714 db 042h, 078h, 045h, 078h, 045h, 078h, 045h, 078h, 045h, 078h, 045h, 078h, 045h, 078h, 045h, 078h 5715 db 045h, 078h, 045h, 078h, 045h, 078h, 045h, 078h, 045h 5716 _int13_cdemu: ; 0xf41e0 LB 0x434 5697 5717 push bp ; 55 5698 5718 mov bp, sp ; 89 e5 … … 5702 5722 mov dx, strict word 0000eh ; ba 0e 00 5703 5723 mov ax, strict word 00040h ; b8 40 00 5704 call 016d4h ; e8 13 d55724 call 016d4h ; e8 e3 d4 5705 5725 mov di, 00366h ; bf 66 03 5706 5726 mov cx, ax ; 89 c1 … … 5718 5738 mov dx, strict word 00074h ; ba 74 00 5719 5739 mov ax, strict word 00040h ; b8 40 00 5720 call 016c6h ; e8 d6 d45740 call 016c6h ; e8 a6 d4 5721 5741 mov es, cx ; 8e c1 5722 5742 cmp byte [es:di], 000h ; 26 80 3d 00 5723 je short 042 06h ; 74 0e5743 je short 04236h ; 74 0e 5724 5744 movzx dx, byte [es:di+002h] ; 26 0f b6 55 02 5725 5745 mov ax, word [bp+012h] ; 8b 46 12 5726 5746 xor ah, ah ; 30 e4 5727 5747 cmp dx, ax ; 39 c2 5728 je short 042 2fh ; 74 295748 je short 0425fh ; 74 29 5729 5749 mov bx, 00da0h ; bb a0 0d 5730 5750 mov cx, ds ; 8c d9 5731 5751 mov ax, strict word 00004h ; b8 04 00 5732 call 01999h ; e8 88 d75752 call 01999h ; e8 58 d7 5733 5753 mov ax, word [bp+012h] ; 8b 46 12 5734 5754 xor ah, ah ; 30 e4 … … 5740 5760 push 00358h ; 68 58 03 5741 5761 push strict byte 00004h ; 6a 04 5742 call 019dah ; e8 b1 d75762 call 019dah ; e8 81 d7 5743 5763 add sp, strict byte 0000ah ; 83 c4 0a 5744 jmp near 045 68h ; e9 39 035764 jmp near 04598h ; e9 39 03 5745 5765 mov ax, word [bp+016h] ; 8b 46 16 5746 5766 shr ax, 008h ; c1 e8 08 5747 5767 cmp ax, strict word 00050h ; 3d 50 00 5748 jnbe near 045 48h ; 0f 87 0c 035768 jnbe near 04578h ; 0f 87 0c 03 5749 5769 push CS ; 0e 5750 5770 pop ES ; 07 5751 5771 mov cx, strict word 0001eh ; b9 1e 00 5752 mov di, 041 57h ; bf 57 415772 mov di, 04187h ; bf 87 41 5753 5773 repne scasb ; f2 ae 5754 5774 sal cx, 1 ; d1 e1 5755 5775 mov di, cx ; 89 cf 5756 mov ax, word [cs:di+041 74h] ; 2e 8b 85 74 415776 mov ax, word [cs:di+041a4h] ; 2e 8b 85 a4 41 5757 5777 mov bx, word [bp+016h] ; 8b 5e 16 5758 5778 xor bh, bh ; 30 ff … … 5765 5785 add bx, bx ; 01 db 5766 5786 cmp word [word bx+0006ah], strict byte 00000h ; 83 bf 6a 00 00 5767 je near 042 7bh ; 0f 84 08 005787 je near 042abh ; 0f 84 08 00 5768 5788 movzx ax, byte [bp-006h] ; 0f b6 46 fa 5769 5789 call word [word bx+00076h] ; ff 97 76 00 … … 5772 5792 mov dx, strict word 00074h ; ba 74 00 5773 5793 mov ax, strict word 00040h ; b8 40 00 5774 call 016c6h ; e8 3c d45794 call 016c6h ; e8 0c d4 5775 5795 and byte [bp+01ch], 0feh ; 80 66 1c fe 5776 5796 lea sp, [bp-004h] ; 8d 66 fc … … 5782 5802 xor ah, ah ; 30 e4 5783 5803 or ah, 003h ; 80 cc 03 5784 jmp near 045 70h ; e9 d0 025804 jmp near 045a0h ; e9 d0 02 5785 5805 mov dx, strict word 00074h ; ba 74 00 5786 5806 mov ax, strict word 00040h ; b8 40 00 5787 call 016b8h ; e8 0f d45807 call 016b8h ; e8 df d3 5788 5808 mov cl, al ; 88 c1 5789 5809 movzx ax, cl ; 0f b6 c1 … … 5794 5814 mov dx, strict word 00074h ; ba 74 00 5795 5815 mov ax, strict word 00040h ; b8 40 00 5796 call 016c6h ; e8 05 d45816 call 016c6h ; e8 d5 d3 5797 5817 test cl, cl ; 84 c9 5798 je short 042 7fh ; 74 ba5799 jmp near 045 84h ; e9 bc 025818 je short 042afh ; 74 ba 5819 jmp near 045b4h ; e9 bc 02 5800 5820 mov es, [bp-008h] ; 8e 46 f8 5801 5821 mov di, word [es:si+014h] ; 26 8b 7c 14 … … 5821 5841 mov word [bp-00ah], cx ; 89 4e f6 5822 5842 test cx, cx ; 85 c9 5823 jne short 043 15h ; 75 035824 jmp near 042 7bh ; e9 66 ff5843 jne short 04345h ; 75 03 5844 jmp near 042abh ; e9 66 ff 5825 5845 cmp di, word [bp-010h] ; 3b 7e f0 5826 jc near 045 68h ; 0f 82 4c 025846 jc near 04598h ; 0f 82 4c 02 5827 5847 cmp ax, dx ; 39 d0 5828 jnc near 045 68h ; 0f 83 46 025848 jnc near 04598h ; 0f 83 46 02 5829 5849 cmp si, bx ; 39 de 5830 jnc near 045 68h ; 0f 83 40 025850 jnc near 04598h ; 0f 83 40 02 5831 5851 mov dx, word [bp+016h] ; 8b 56 16 5832 5852 shr dx, 008h ; c1 ea 08 5833 5853 cmp dx, strict byte 00004h ; 83 fa 04 5834 jne short 043 36h ; 75 035835 jmp near 042 7bh ; e9 45 ff5854 jne short 04366h ; 75 03 5855 jmp near 042abh ; e9 45 ff 5836 5856 mov dx, word [bp+010h] ; 8b 56 10 5837 5857 shr dx, 004h ; c1 ea 04 … … 5844 5864 xor dl, dl ; 30 d2 5845 5865 xor cx, cx ; 31 c9 5846 call 09e 80h ; e8 2c 5b5866 call 09eb0h ; e8 2c 5b 5847 5867 xor bx, bx ; 31 db 5848 5868 add ax, si ; 01 f0 … … 5850 5870 mov bx, di ; 89 fb 5851 5871 xor cx, cx ; 31 c9 5852 call 09e 80h ; e8 1f 5b5872 call 09eb0h ; e8 1f 5b 5853 5873 mov bx, ax ; 89 c3 5854 5874 mov ax, word [bp-010h] ; 8b 46 f0 … … 5885 5905 mov dx, ss ; 8c d2 5886 5906 lea ax, [bp-02eh] ; 8d 46 d2 5887 call 09f 20h ; e8 68 5b5907 call 09f50h ; e8 68 5b 5888 5908 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 5889 5909 mov ax, word [bp-014h] ; 8b 46 ec … … 5933 5953 sal si, 1 ; d1 e6 5934 5954 rcl di, 1 ; d1 d7 5935 loop 044 38h ; e2 fa5955 loop 04468h ; e2 fa 5936 5956 push di ; 57 5937 5957 push si ; 56 … … 5948 5968 ; mov dword [es:bx+01eh], strict dword 000000000h ; 66 26 c7 47 1e 00 00 00 00 5949 5969 test al, al ; 84 c0 5950 je near 042 7bh ; 0f 84 13 fe5970 je near 042abh ; 0f 84 13 fe 5951 5971 mov bx, 00da0h ; bb a0 0d 5952 5972 mov cx, ds ; 8c d9 5953 5973 mov ax, strict word 00004h ; b8 04 00 5954 call 01999h ; e8 26 d55974 call 01999h ; e8 f6 d4 5955 5975 movzx ax, dl ; 0f b6 c2 5956 5976 push ax ; 50 … … 5961 5981 push 0038eh ; 68 8e 03 5962 5982 push strict byte 00004h ; 6a 04 5963 call 019dah ; e8 51 d55983 call 019dah ; e8 21 d5 5964 5984 add sp, strict byte 0000ah ; 83 c4 0a 5965 5985 mov ax, word [bp+016h] ; 8b 46 16 … … 5968 5988 mov word [bp+016h], ax ; 89 46 16 5969 5989 mov byte [bp+016h], 000h ; c6 46 16 00 5970 jmp near 045 73h ; e9 d5 005990 jmp near 045a3h ; e9 d5 00 5971 5991 mov es, [bp-008h] ; 8e 46 f8 5972 5992 mov di, word [es:si+014h] ; 26 8b 7c 14 … … 6007 6027 mov word [bp+010h], ax ; 89 46 10 6008 6028 cmp dl, 003h ; 80 fa 03 6009 je short 045 22h ; 74 1a6029 je short 04552h ; 74 1a 6010 6030 cmp dl, 002h ; 80 fa 02 6011 je short 045 1eh ; 74 116031 je short 0454eh ; 74 11 6012 6032 cmp dl, 001h ; 80 fa 01 6013 jne short 045 26h ; 75 146033 jne short 04556h ; 75 14 6014 6034 mov ax, word [bp+010h] ; 8b 46 10 6015 6035 xor al, al ; 30 c0 6016 6036 or AL, strict byte 002h ; 0c 02 6017 6037 mov word [bp+010h], ax ; 89 46 10 6018 jmp short 045 26h ; eb 086038 jmp short 04556h ; eb 08 6019 6039 or AL, strict byte 004h ; 0c 04 6020 jmp short 045 19h ; eb f76040 jmp short 04549h ; eb f7 6021 6041 or AL, strict byte 005h ; 0c 05 6022 jmp short 045 19h ; eb f36042 jmp short 04549h ; eb f3 6023 6043 mov es, [bp-008h] ; 8e 46 f8 6024 6044 cmp byte [es:si+001h], 004h ; 26 80 7c 01 04 6025 jnc near 042 7bh ; 0f 83 49 fd6045 jnc near 042abh ; 0f 83 49 fd 6026 6046 mov word [bp+008h], 0efc7h ; c7 46 08 c7 ef 6027 6047 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 6028 jmp near 042 7bh ; e9 3c fd6048 jmp near 042abh ; e9 3c fd 6029 6049 or bh, 003h ; 80 cf 03 6030 6050 mov word [bp+016h], bx ; 89 5e 16 6031 jmp near 042 7fh ; e9 37 fd6051 jmp near 042afh ; e9 37 fd 6032 6052 mov bx, 00da0h ; bb a0 0d 6033 6053 mov cx, ds ; 8c d9 6034 6054 mov ax, strict word 00004h ; b8 04 00 6035 call 01999h ; e8 46 d46055 call 01999h ; e8 16 d4 6036 6056 mov ax, word [bp+016h] ; 8b 46 16 6037 6057 shr ax, 008h ; c1 e8 08 … … 6040 6060 push 003afh ; 68 af 03 6041 6061 push strict byte 00004h ; 6a 04 6042 call 019dah ; e8 75 d46062 call 019dah ; e8 45 d4 6043 6063 add sp, strict byte 00008h ; 83 c4 08 6044 6064 mov ax, word [bp+016h] ; 8b 46 16 … … 6051 6071 mov dx, strict word 00074h ; ba 74 00 6052 6072 mov ax, strict word 00040h ; b8 40 00 6053 call 016c6h ; e8 42 d16073 call 016c6h ; e8 12 d1 6054 6074 or byte [bp+01ch], 001h ; 80 4e 1c 01 6055 jmp near 042 8eh ; e9 03 fd6075 jmp near 042beh ; e9 03 fd 6056 6076 db 050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h 6057 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 0 29h, 04bh, 0a5h6058 db 048h, 0 91h, 046h, 029h, 04bh, 086h, 046h, 029h, 04bh, 086h, 046h, 029h, 04bh, 0a5h, 048h, 029h6059 db 04bh, 0 29h, 04bh, 0a5h, 048h, 0a5h, 048h, 0a5h, 048h, 0a5h, 048h, 0a5h, 048h, 0bbh, 046h, 0a5h6060 db 048h, 0 29h, 04bh, 0c4h, 046h, 0d7h, 046h, 086h, 046h, 0d7h, 046h, 005h, 048h, 0bfh, 048h, 0d7h6061 db 04 6h, 0e6h, 048h, 0e2h, 04ah, 0eah, 04ah, 029h, 04bh6062 _int13_cdrom: ; 0xf4 5e4 LB 0x5626077 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 059h, 04bh, 0d5h 6078 db 048h, 0c1h, 046h, 059h, 04bh, 0b6h, 046h, 059h, 04bh, 0b6h, 046h, 059h, 04bh, 0d5h, 048h, 059h 6079 db 04bh, 059h, 04bh, 0d5h, 048h, 0d5h, 048h, 0d5h, 048h, 0d5h, 048h, 0d5h, 048h, 0ebh, 046h, 0d5h 6080 db 048h, 059h, 04bh, 0f4h, 046h, 007h, 047h, 0b6h, 046h, 007h, 047h, 035h, 048h, 0efh, 048h, 007h 6081 db 047h, 016h, 049h, 012h, 04bh, 01ah, 04bh, 059h, 04bh 6082 _int13_cdrom: ; 0xf4614 LB 0x562 6063 6083 push bp ; 55 6064 6084 mov bp, sp ; 89 e5 … … 6068 6088 mov dx, strict word 0000eh ; ba 0e 00 6069 6089 mov ax, strict word 00040h ; b8 40 00 6070 call 016d4h ; e8 df d06090 call 016d4h ; e8 af d0 6071 6091 mov word [bp-01ah], ax ; 89 46 e6 6072 6092 mov si, 00122h ; be 22 01 … … 6075 6095 mov dx, strict word 00074h ; ba 74 00 6076 6096 mov ax, strict word 00040h ; b8 40 00 6077 call 016c6h ; e8 bd d06097 call 016c6h ; e8 8d d0 6078 6098 mov ax, word [bp+010h] ; 8b 46 10 6079 6099 xor ah, ah ; 30 e4 6080 6100 cmp ax, 000e0h ; 3d e0 00 6081 jc short 046 18h ; 72 056101 jc short 04648h ; 72 05 6082 6102 cmp ax, 000f0h ; 3d f0 00 6083 jc short 046 36h ; 72 1e6103 jc short 04666h ; 72 1e 6084 6104 mov ax, word [bp+010h] ; 8b 46 10 6085 6105 xor ah, ah ; 30 e4 … … 6091 6111 push 003ebh ; 68 eb 03 6092 6112 push strict byte 00004h ; 6a 04 6093 call 019dah ; e8 aa d36113 call 019dah ; e8 7a d3 6094 6114 add sp, strict byte 0000ah ; 83 c4 0a 6095 jmp near 04b 06h ; e9 d0 046115 jmp near 04b36h ; e9 d0 04 6096 6116 mov ax, word [bp+010h] ; 8b 46 10 6097 6117 xor ah, ah ; 30 e4 … … 6102 6122 mov byte [bp-008h], dl ; 88 56 f8 6103 6123 cmp dl, 010h ; 80 fa 10 6104 jc short 046 5fh ; 72 106124 jc short 0468fh ; 72 10 6105 6125 push ax ; 50 6106 6126 mov ax, word [bp+018h] ; 8b 46 18 … … 6109 6129 push 003dfh ; 68 df 03 6110 6130 push 00416h ; 68 16 04 6111 jmp short 046 2bh ; eb cc6131 jmp short 0465bh ; eb cc 6112 6132 mov ax, word [bp+018h] ; 8b 46 18 6113 6133 shr ax, 008h ; c1 e8 08 6114 6134 cmp ax, strict word 00050h ; 3d 50 00 6115 jnbe near 04b 29h ; 0f 87 bd 046135 jnbe near 04b59h ; 0f 87 bd 04 6116 6136 push CS ; 0e 6117 6137 pop ES ; 07 6118 6138 mov cx, strict word 0001eh ; b9 1e 00 6119 mov di, 045 8bh ; bf 8b 456139 mov di, 045bbh ; bf bb 45 6120 6140 repne scasb ; f2 ae 6121 6141 sal cx, 1 ; d1 e1 6122 6142 mov di, cx ; 89 cf 6123 mov ax, word [cs:di+045 a8h] ; 2e 8b 85 a8 456143 mov ax, word [cs:di+045d8h] ; 2e 8b 85 d8 45 6124 6144 mov bx, word [bp+018h] ; 8b 5e 18 6125 6145 xor bh, bh ; 30 ff … … 6128 6148 xor ah, ah ; 30 e4 6129 6149 or ah, 003h ; 80 cc 03 6130 jmp near 04b 0eh ; e9 7d 046150 jmp near 04b3eh ; e9 7d 04 6131 6151 mov dx, strict word 00074h ; ba 74 00 6132 6152 mov ax, strict word 00040h ; b8 40 00 6133 call 016b8h ; e8 1e d06153 call 016b8h ; e8 ee cf 6134 6154 mov cl, al ; 88 c1 6135 6155 movzx ax, cl ; 0f b6 c1 … … 6140 6160 mov dx, strict word 00074h ; ba 74 00 6141 6161 mov ax, strict word 00040h ; b8 40 00 6142 call 016c6h ; e8 14 d06162 call 016c6h ; e8 e4 cf 6143 6163 test cl, cl ; 84 c9 6144 je near 048 a9h ; 0f 84 f1 016145 jmp near 04b 22h ; e9 67 046164 je near 048d9h ; 0f 84 f1 01 6165 jmp near 04b52h ; e9 67 04 6146 6166 or bh, 002h ; 80 cf 02 6147 6167 mov word [bp+018h], bx ; 89 5e 18 6148 jmp near 04b 11h ; e9 4d 046168 jmp near 04b41h ; e9 4d 04 6149 6169 mov word [bp+012h], 0aa55h ; c7 46 12 55 aa 6150 6170 or bh, 030h ; 80 cf 30 6151 6171 mov word [bp+018h], bx ; 89 5e 18 6152 6172 mov word [bp+016h], strict word 00007h ; c7 46 16 07 00 6153 jmp near 048 a9h ; e9 d2 016173 jmp near 048d9h ; e9 d2 01 6154 6174 mov bx, word [bp+00ch] ; 8b 5e 0c 6155 6175 mov es, [bp+006h] ; 8e 46 06 … … 6166 6186 mov di, word [es:bx+00eh] ; 26 8b 7f 0e 6167 6187 or di, ax ; 09 c7 6168 je short 047 1fh ; 74 186188 je short 0474fh ; 74 18 6169 6189 mov ax, word [bp+018h] ; 8b 46 18 6170 6190 shr ax, 008h ; c1 e8 08 … … 6173 6193 push 00448h ; 68 48 04 6174 6194 push strict byte 00007h ; 6a 07 6175 call 019dah ; e8 c1 d26195 call 019dah ; e8 91 d2 6176 6196 add sp, strict byte 00008h ; 83 c4 08 6177 jmp near 04b 06h ; e9 e7 036197 jmp near 04b36h ; e9 e7 03 6178 6198 les bx, [bp-014h] ; c4 5e ec 6179 6199 mov ax, word [es:bx+008h] ; 26 8b 47 08 … … 6185 6205 mov word [bp-016h], ax ; 89 46 ea 6186 6206 cmp ax, strict word 00044h ; 3d 44 00 6187 je near 048 a5h ; 0f 84 66 016207 je near 048d5h ; 0f 84 66 01 6188 6208 cmp ax, strict word 00047h ; 3d 47 00 6189 je near 048 a5h ; 0f 84 5f 016209 je near 048d5h ; 0f 84 5f 01 6190 6210 mov cx, strict word 0000ch ; b9 0c 00 6191 6211 xor bx, bx ; 31 db 6192 6212 mov dx, ss ; 8c d2 6193 6213 lea ax, [bp-02ch] ; 8d 46 d4 6194 call 09f 20h ; e8 cd 576214 call 09f50h ; e8 cd 57 6195 6215 mov word [bp-02ch], strict word 00028h ; c7 46 d4 28 00 6196 6216 mov ax, word [bp-018h] ; 8b 46 e8 … … 6220 6240 sal ax, 1 ; d1 e0 6221 6241 rcl bx, 1 ; d1 d3 6222 loop 047 9dh ; e2 fa6242 loop 047cdh ; e2 fa 6223 6243 push bx ; 53 6224 6244 push ax ; 50 … … 6236 6256 shr di, 1 ; d1 ef 6237 6257 rcr ax, 1 ; d1 d8 6238 loop 047 c7h ; e2 fa6258 loop 047f7h ; e2 fa 6239 6259 les bx, [bp-014h] ; c4 5e ec 6240 6260 mov word [es:bx+002h], ax ; 26 89 47 02 6241 6261 test dl, dl ; 84 d2 6242 je near 048 a5h ; 0f 84 cb 006262 je near 048d5h ; 0f 84 cb 00 6243 6263 mov bx, 00da0h ; bb a0 0d 6244 6264 mov cx, ds ; 8c d9 6245 6265 mov ax, strict word 00004h ; b8 04 00 6246 call 01999h ; e8 b4 d16266 call 01999h ; e8 84 d1 6247 6267 movzx ax, dl ; 0f b6 c2 6248 6268 push ax ; 50 … … 6251 6271 push 00471h ; 68 71 04 6252 6272 push strict byte 00004h ; 6a 04 6253 call 019dah ; e8 e3 d16273 call 019dah ; e8 b3 d1 6254 6274 add sp, strict byte 0000ah ; 83 c4 0a 6255 6275 mov ax, word [bp+018h] ; 8b 46 18 6256 6276 xor ah, ah ; 30 e4 6257 6277 or ah, 00ch ; 80 cc 0c 6258 jmp near 04b 0eh ; e9 09 036278 jmp near 04b3eh ; e9 09 03 6259 6279 cmp bx, strict byte 00002h ; 83 fb 02 6260 jnbe near 04b 06h ; 0f 87 fa 026280 jnbe near 04b36h ; 0f 87 fa 02 6261 6281 movzx ax, byte [bp-008h] ; 0f b6 46 f8 6262 6282 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 6266 6286 mov al, byte [es:di+025h] ; 26 8a 45 25 6267 6287 cmp bx, strict byte 00002h ; 83 fb 02 6268 je short 048 96h ; 74 736288 je short 048c6h ; 74 73 6269 6289 cmp bx, strict byte 00001h ; 83 fb 01 6270 je short 048 63h ; 74 3b6290 je short 04893h ; 74 3b 6271 6291 test bx, bx ; 85 db 6272 jne near 048 a5h ; 0f 85 77 006292 jne near 048d5h ; 0f 85 77 00 6273 6293 cmp AL, strict byte 0ffh ; 3c ff 6274 jne short 048 44h ; 75 126294 jne short 04874h ; 75 12 6275 6295 mov ax, word [bp+018h] ; 8b 46 18 6276 6296 xor ah, ah ; 30 e4 … … 6279 6299 xor al, al ; 30 c0 6280 6300 or AL, strict byte 001h ; 0c 01 6281 jmp near 04b 0eh ; e9 ca 026301 jmp near 04b3eh ; e9 ca 02 6282 6302 movzx dx, byte [bp-008h] ; 0f b6 56 f8 6283 6303 imul dx, dx, strict byte 0001ch ; 6b d2 1c … … 6291 6311 or AL, strict byte 001h ; 0c 01 6292 6312 mov word [bp+018h], ax ; 89 46 18 6293 jmp near 048 a5h ; e9 42 006313 jmp near 048d5h ; e9 42 00 6294 6314 test al, al ; 84 c0 6295 jne short 048 73h ; 75 0c6315 jne short 048a3h ; 75 0c 6296 6316 or bh, 0b0h ; 80 cf b0 6297 6317 mov word [bp+018h], bx ; 89 5e 18 6298 6318 mov byte [bp+018h], al ; 88 46 18 6299 jmp near 04b 11h ; e9 9e 026319 jmp near 04b41h ; e9 9e 02 6300 6320 movzx dx, byte [bp-008h] ; 0f b6 56 f8 6301 6321 imul dx, dx, strict byte 0001ch ; 6b d2 1c … … 6312 6332 xor al, al ; 30 c0 6313 6333 or ax, dx ; 09 d0 6314 jmp short 048 5dh ; eb c76334 jmp short 0488dh ; eb c7 6315 6335 test al, al ; 84 c0 6316 6336 db 00fh, 095h, 0c0h … … 6324 6344 mov dx, strict word 00074h ; ba 74 00 6325 6345 mov ax, strict word 00040h ; b8 40 00 6326 call 016c6h ; e8 12 ce6346 call 016c6h ; e8 e2 cd 6327 6347 and byte [bp+01eh], 0feh ; 80 66 1e fe 6328 6348 lea sp, [bp-004h] ; 8d 66 fc … … 6337 6357 mov al, byte [es:si+025h] ; 26 8a 44 25 6338 6358 test al, al ; 84 c0 6339 je short 04 8d9h ; 74 066359 je short 04909h ; 74 06 6340 6360 or bh, 0b1h ; 80 cf b1 6341 jmp near 046 beh ; e9 e5 fd6342 je short 048 a5h ; 74 ca6361 jmp near 046eeh ; e9 e5 fd 6362 je short 048d5h ; 74 ca 6343 6363 mov ax, word [bp+018h] ; 8b 46 18 6344 6364 xor ah, ah ; 30 e4 6345 6365 or ah, 0b1h ; 80 cc b1 6346 jmp near 04b 0eh ; e9 28 026366 jmp near 04b3eh ; e9 28 02 6347 6367 mov dx, word [bp+00ch] ; 8b 56 0c 6348 6368 mov cx, word [bp+006h] ; 8b 4e 06 … … 6354 6374 mov word [bp-00eh], ax ; 89 46 f2 6355 6375 cmp ax, strict word 0001ah ; 3d 1a 00 6356 jc near 04b 06h ; 0f 82 04 026357 jc short 049 53h ; 72 4f6376 jc near 04b36h ; 0f 82 04 02 6377 jc short 04983h ; 72 4f 6358 6378 movzx ax, byte [bp-008h] ; 0f b6 46 f8 6359 6379 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 6378 6398 ; mov dword [es:di+014h], strict dword 0ffffffffh ; 66 26 c7 45 14 ff ff ff ff 6379 6399 cmp word [bp-00eh], strict byte 0001eh ; 83 7e f2 1e 6380 jc near 04a 2ah ; 0f 82 cf 006400 jc near 04a5ah ; 0f 82 cf 00 6381 6401 mov es, [bp-00ah] ; 8e 46 f6 6382 6402 mov word [es:bx], strict word 0001eh ; 26 c7 07 1e 00 … … 6430 6450 xor cl, cl ; 30 c9 6431 6451 xor ch, ch ; 30 ed 6432 jmp short 04a 0dh ; eb 056452 jmp short 04a3dh ; eb 05 6433 6453 cmp ch, 00fh ; 80 fd 0f 6434 jnc short 04a 20h ; 73 136454 jnc short 04a50h ; 73 13 6435 6455 movzx dx, ch ; 0f b6 d5 6436 6456 add dx, 00356h ; 81 c2 56 03 6437 6457 mov ax, word [bp-01ah] ; 8b 46 e6 6438 call 016b8h ; e8 9e cc6458 call 016b8h ; e8 6e cc 6439 6459 add cl, al ; 00 c1 6440 6460 db 0feh, 0c5h 6441 6461 ; inc ch ; fe c5 6442 jmp short 04a 08h ; eb e86462 jmp short 04a38h ; eb e8 6443 6463 neg cl ; f6 d9 6444 6464 mov es, [bp-00ch] ; 8e 46 f4 6445 6465 mov byte [es:si+00243h], cl ; 26 88 8c 43 02 6446 6466 cmp word [bp-00eh], strict byte 00042h ; 83 7e f2 42 6447 jc near 048 a5h ; 0f 82 73 fe6467 jc near 048d5h ; 0f 82 73 fe 6448 6468 movzx ax, byte [bp-008h] ; 0f b6 46 f8 6449 6469 cwd ; 99 … … 6463 6483 mov word [es:bx+022h], strict word 00000h ; 26 c7 47 22 00 00 6464 6484 test al, al ; 84 c0 6465 jne short 04a 73h ; 75 096485 jne short 04aa3h ; 75 09 6466 6486 db 066h, 026h, 0c7h, 047h, 024h, 049h, 053h, 041h, 020h 6467 6487 ; mov dword [es:bx+024h], strict dword 020415349h ; 66 26 c7 47 24 49 53 41 20 … … 6472 6492 ; mov dword [es:bx+02ch], strict dword 020202020h ; 66 26 c7 47 2c 20 20 20 20 6473 6493 test al, al ; 84 c0 6474 jne short 04a 9fh ; 75 136494 jne short 04acfh ; 75 13 6475 6495 mov word [es:bx+030h], dx ; 26 89 57 30 6476 6496 db 066h, 026h, 0c7h, 047h, 032h, 000h, 000h, 000h, 000h … … 6487 6507 xor al, al ; 30 c0 6488 6508 mov AH, strict byte 01eh ; b4 1e 6489 jmp short 04a c7h ; eb 056509 jmp short 04af7h ; eb 05 6490 6510 cmp ah, 040h ; 80 fc 40 6491 jnc short 04 ad6h ; 73 0f6511 jnc short 04b06h ; 73 0f 6492 6512 movzx si, ah ; 0f b6 f4 6493 6513 mov es, [bp-00ah] ; 8e 46 f6 … … 6496 6516 db 0feh, 0c4h 6497 6517 ; inc ah ; fe c4 6498 jmp short 04a c2h ; eb ec6518 jmp short 04af2h ; eb ec 6499 6519 neg al ; f6 d8 6500 6520 mov es, [bp-00ah] ; 8e 46 f6 6501 6521 mov byte [es:bx+041h], al ; 26 88 47 41 6502 jmp near 048 a5h ; e9 c3 fd6522 jmp near 048d5h ; e9 c3 fd 6503 6523 or bh, 006h ; 80 cf 06 6504 6524 mov word [bp+018h], bx ; 89 5e 18 6505 jmp short 04b 22h ; eb 386525 jmp short 04b52h ; eb 38 6506 6526 cmp bx, strict byte 00006h ; 83 fb 06 6507 je near 048 a5h ; 0f 84 b4 fd6527 je near 048d5h ; 0f 84 b4 fd 6508 6528 cmp bx, strict byte 00001h ; 83 fb 01 6509 jc short 04b 06h ; 72 106510 jbe near 048 a5h ; 0f 86 ab fd6529 jc short 04b36h ; 72 10 6530 jbe near 048d5h ; 0f 86 ab fd 6511 6531 cmp bx, strict byte 00003h ; 83 fb 03 6512 jc short 04b 06h ; 72 076532 jc short 04b36h ; 72 07 6513 6533 cmp bx, strict byte 00004h ; 83 fb 04 6514 jbe near 048 a5h ; 0f 86 9f fd6534 jbe near 048d5h ; 0f 86 9f fd 6515 6535 mov ax, word [bp+018h] ; 8b 46 18 6516 6536 xor ah, ah ; 30 e4 … … 6522 6542 mov dx, strict word 00074h ; ba 74 00 6523 6543 mov ax, strict word 00040h ; b8 40 00 6524 call 016c6h ; e8 a4 cb6544 call 016c6h ; e8 74 cb 6525 6545 or byte [bp+01eh], 001h ; 80 4e 1e 01 6526 jmp near 048 b8h ; e9 8f fd6546 jmp near 048e8h ; e9 8f fd 6527 6547 mov bx, 00da0h ; bb a0 0d 6528 6548 mov cx, ds ; 8c d9 6529 6549 mov ax, strict word 00004h ; b8 04 00 6530 call 01999h ; e8 65 ce6550 call 01999h ; e8 35 ce 6531 6551 mov ax, word [bp+018h] ; 8b 46 18 6532 6552 shr ax, 008h ; c1 e8 08 … … 6535 6555 push 00333h ; 68 33 03 6536 6556 push strict byte 00004h ; 6a 04 6537 jmp near 047 16h ; e9 d0 fb6538 print_boot_device_: ; 0xf4b 46 LB 0x4b6557 jmp near 04746h ; e9 d0 fb 6558 print_boot_device_: ; 0xf4b76 LB 0x4b 6539 6559 push bp ; 55 6540 6560 mov bp, sp ; 89 e5 6541 6561 push cx ; 51 6542 6562 test al, al ; 84 c0 6543 je short 04b 53h ; 74 056563 je short 04b83h ; 74 05 6544 6564 mov dx, strict word 00002h ; ba 02 00 6545 jmp short 04b 6dh ; eb 1a6565 jmp short 04b9dh ; eb 1a 6546 6566 test dl, dl ; 84 d2 6547 je short 04b 5ch ; 74 056567 je short 04b8ch ; 74 05 6548 6568 mov dx, strict word 00003h ; ba 03 00 6549 jmp short 04b 6dh ; eb 116569 jmp short 04b9dh ; eb 11 6550 6570 test bl, 080h ; f6 c3 80 6551 jne short 04b 65h ; 75 046571 jne short 04b95h ; 75 04 6552 6572 xor dh, dh ; 30 f6 6553 jmp short 04b 6dh ; eb 086573 jmp short 04b9dh ; eb 08 6554 6574 test bl, 080h ; f6 c3 80 6555 je short 04b 8bh ; 74 216575 je short 04bbbh ; 74 21 6556 6576 mov dx, strict word 00001h ; ba 01 00 6557 6577 mov bx, 00da0h ; bb a0 0d 6558 6578 mov cx, ds ; 8c d9 6559 6579 mov ax, strict word 00004h ; b8 04 00 6560 call 01999h ; e8 21 ce6580 call 01999h ; e8 f1 cd 6561 6581 imul dx, dx, strict byte 0000ah ; 6b d2 0a 6562 6582 add dx, 00dc6h ; 81 c2 c6 0d … … 6564 6584 push 00494h ; 68 94 04 6565 6585 push strict byte 00004h ; 6a 04 6566 call 019dah ; e8 52 ce6586 call 019dah ; e8 22 ce 6567 6587 add sp, strict byte 00006h ; 83 c4 06 6568 6588 lea sp, [bp-002h] ; 8d 66 fe … … 6570 6590 pop bp ; 5d 6571 6591 retn ; c3 6572 print_boot_failure_: ; 0xf4b 91 LB 0x936592 print_boot_failure_: ; 0xf4bc1 LB 0x93 6573 6593 push bp ; 55 6574 6594 mov bp, sp ; 89 e5 … … 6579 6599 movzx si, ah ; 0f b6 f4 6580 6600 test al, al ; 84 c0 6581 je short 04b beh ; 74 1b6601 je short 04beeh ; 74 1b 6582 6602 mov bx, 00da0h ; bb a0 0d 6583 6603 mov cx, ds ; 8c d9 6584 6604 mov ax, strict word 00004h ; b8 04 00 6585 call 01999h ; e8 eb cd6605 call 01999h ; e8 bb cd 6586 6606 push 00ddah ; 68 da 0d 6587 6607 push 004a8h ; 68 a8 04 6588 6608 push strict byte 00004h ; 6a 04 6589 call 019dah ; e8 21 ce6609 call 019dah ; e8 f1 cd 6590 6610 add sp, strict byte 00006h ; 83 c4 06 6591 jmp short 04c 02h ; eb 446611 jmp short 04c32h ; eb 44 6592 6612 test dl, dl ; 84 d2 6593 je short 04 bd2h ; 74 106613 je short 04c02h ; 74 10 6594 6614 mov bx, 00da0h ; bb a0 0d 6595 6615 mov cx, ds ; 8c d9 6596 6616 mov ax, strict word 00004h ; b8 04 00 6597 call 01999h ; e8 cc cd6617 call 01999h ; e8 9c cd 6598 6618 push 00de4h ; 68 e4 0d 6599 jmp short 04b b1h ; eb df6619 jmp short 04be1h ; eb df 6600 6620 test bl, 080h ; f6 c3 80 6601 je short 04 be8h ; 74 116621 je short 04c18h ; 74 11 6602 6622 mov bx, 00da0h ; bb a0 0d 6603 6623 mov cx, ds ; 8c d9 6604 6624 mov ax, strict word 00004h ; b8 04 00 6605 call 01999h ; e8 b7 cd6625 call 01999h ; e8 87 cd 6606 6626 push si ; 56 6607 6627 push 00dd0h ; 68 d0 0d 6608 jmp short 04 bf7h ; eb 0f6628 jmp short 04c27h ; eb 0f 6609 6629 mov bx, 00da0h ; bb a0 0d 6610 6630 mov cx, ds ; 8c d9 6611 6631 mov ax, strict word 00004h ; b8 04 00 6612 call 01999h ; e8 a6 cd6632 call 01999h ; e8 76 cd 6613 6633 push si ; 56 6614 6634 push 00dc6h ; 68 c6 0d 6615 6635 push 004bdh ; 68 bd 04 6616 6636 push strict byte 00004h ; 6a 04 6617 call 019dah ; e8 db cd6637 call 019dah ; e8 ab cd 6618 6638 add sp, strict byte 00008h ; 83 c4 08 6619 6639 cmp byte [bp+004h], 001h ; 80 7e 04 01 6620 jne short 04c 1ch ; 75 146640 jne short 04c4ch ; 75 14 6621 6641 test dh, dh ; 84 f6 6622 jne short 04c 11h ; 75 056642 jne short 04c41h ; 75 05 6623 6643 push 004d5h ; 68 d5 04 6624 jmp short 04c 14h ; eb 036644 jmp short 04c44h ; eb 03 6625 6645 push 004ffh ; 68 ff 04 6626 6646 push strict byte 00007h ; 6a 07 6627 call 019dah ; e8 c1 cd6647 call 019dah ; e8 91 cd 6628 6648 add sp, strict byte 00004h ; 83 c4 04 6629 6649 lea sp, [bp-002h] ; 8d 66 fe … … 6631 6651 pop bp ; 5d 6632 6652 retn 00002h ; c2 02 00 6633 print_cdromboot_failure_: ; 0xf4c 24 LB 0x276653 print_cdromboot_failure_: ; 0xf4c54 LB 0x27 6634 6654 push bp ; 55 6635 6655 mov bp, sp ; 89 e5 … … 6641 6661 mov cx, ds ; 8c d9 6642 6662 mov ax, strict word 00004h ; b8 04 00 6643 call 01999h ; e8 62 cd6663 call 01999h ; e8 32 cd 6644 6664 push dx ; 52 6645 6665 push 00534h ; 68 34 05 6646 6666 push strict byte 00004h ; 6a 04 6647 call 019dah ; e8 9a cd6667 call 019dah ; e8 6a cd 6648 6668 add sp, strict byte 00006h ; 83 c4 06 6649 6669 lea sp, [bp-006h] ; 8d 66 fa … … 6653 6673 pop bp ; 5d 6654 6674 retn ; c3 6655 _int19_function: ; 0xf4c 4b LB 0x2566675 _int19_function: ; 0xf4c7b LB 0x256 6656 6676 push bp ; 55 6657 6677 mov bp, sp ; 89 e5 … … 6661 6681 mov dx, strict word 0000eh ; ba 0e 00 6662 6682 mov ax, strict word 00040h ; b8 40 00 6663 call 016d4h ; e8 78 ca6683 call 016d4h ; e8 48 ca 6664 6684 mov bx, ax ; 89 c3 6665 6685 mov word [bp-00eh], ax ; 89 46 f2 6666 6686 mov byte [bp-008h], 000h ; c6 46 f8 00 6667 6687 mov ax, strict word 0003dh ; b8 3d 00 6668 call 01714h ; e8 a9 ca6688 call 01714h ; e8 79 ca 6669 6689 movzx si, al ; 0f b6 f0 6670 6690 mov ax, strict word 00038h ; b8 38 00 6671 call 01714h ; e8 a0 ca6691 call 01714h ; e8 70 ca 6672 6692 and AL, strict byte 0f0h ; 24 f0 6673 6693 xor ah, ah ; 30 e4 … … 6675 6695 or si, ax ; 09 c6 6676 6696 mov ax, strict word 0003ch ; b8 3c 00 6677 call 01714h ; e8 91 ca6697 call 01714h ; e8 61 ca 6678 6698 and AL, strict byte 00fh ; 24 0f 6679 6699 xor ah, ah ; 30 e4 … … 6682 6702 mov dx, 0037dh ; ba 7d 03 6683 6703 mov ax, bx ; 89 d8 6684 call 016b8h ; e8 24 ca6704 call 016b8h ; e8 f4 c9 6685 6705 test al, al ; 84 c0 6686 je short 04c a3h ; 74 0b6706 je short 04cd3h ; 74 0b 6687 6707 mov dx, 0037dh ; ba 7d 03 6688 6708 mov ax, bx ; 89 d8 6689 call 016b8h ; e8 18 ca6709 call 016b8h ; e8 e8 c9 6690 6710 movzx si, al ; 0f b6 f0 6691 6711 cmp byte [bp+004h], 001h ; 80 7e 04 01 6692 jne short 04c b9h ; 75 106712 jne short 04ce9h ; 75 10 6693 6713 mov ax, strict word 0003ch ; b8 3c 00 6694 call 01714h ; e8 65 ca6714 call 01714h ; e8 35 ca 6695 6715 and AL, strict byte 0f0h ; 24 f0 6696 6716 xor ah, ah ; 30 e4 6697 6717 sar ax, 004h ; c1 f8 04 6698 call 07d 18h ; e8 5f 306718 call 07d48h ; e8 5f 30 6699 6719 cmp byte [bp+004h], 002h ; 80 7e 04 02 6700 jne short 04c c2h ; 75 036720 jne short 04cf2h ; 75 03 6701 6721 shr si, 004h ; c1 ee 04 6702 6722 cmp byte [bp+004h], 003h ; 80 7e 04 03 6703 jne short 04c cbh ; 75 036723 jne short 04cfbh ; 75 03 6704 6724 shr si, 008h ; c1 ee 08 6705 6725 cmp byte [bp+004h], 004h ; 80 7e 04 04 6706 jne short 04 cd4h ; 75 036726 jne short 04d04h ; 75 03 6707 6727 shr si, 00ch ; c1 ee 0c 6708 6728 cmp si, strict byte 00010h ; 83 fe 10 6709 jnc short 04 cddh ; 73 046729 jnc short 04d0dh ; 73 04 6710 6730 mov byte [bp-008h], 001h ; c6 46 f8 01 6711 6731 xor al, al ; 30 c0 … … 6716 6736 mov cx, ds ; 8c d9 6717 6737 mov ax, strict word 00004h ; b8 04 00 6718 call 01999h ; e8 a6 cc6738 call 01999h ; e8 76 cc 6719 6739 push si ; 56 6720 6740 movzx ax, byte [bp+004h] ; 0f b6 46 04 … … 6722 6742 push 00554h ; 68 54 05 6723 6743 push strict byte 00004h ; 6a 04 6724 call 019dah ; e8 d9 cc6744 call 019dah ; e8 a9 cc 6725 6745 add sp, strict byte 00008h ; 83 c4 08 6726 6746 and si, strict byte 0000fh ; 83 e6 0f 6727 6747 cmp si, strict byte 00002h ; 83 fe 02 6728 jc short 04d 1ah ; 72 0e6729 jbe short 04d 29h ; 76 1b6748 jc short 04d4ah ; 72 0e 6749 jbe short 04d59h ; 76 1b 6730 6750 cmp si, strict byte 00004h ; 83 fe 04 6731 je short 04d 47h ; 74 346751 je short 04d77h ; 74 34 6732 6752 cmp si, strict byte 00003h ; 83 fe 03 6733 je short 04d 3dh ; 74 256734 jmp short 04d 74h ; eb 5a6753 je short 04d6dh ; 74 25 6754 jmp short 04da4h ; eb 5a 6735 6755 cmp si, strict byte 00001h ; 83 fe 01 6736 jne short 04d 74h ; 75 556756 jne short 04da4h ; 75 55 6737 6757 xor al, al ; 30 c0 6738 6758 mov byte [bp-006h], al ; 88 46 fa 6739 6759 mov byte [bp-00ah], al ; 88 46 f6 6740 jmp short 04d 8ch ; eb 636760 jmp short 04dbch ; eb 63 6741 6761 mov dx, 0037ch ; ba 7c 03 6742 6762 mov ax, word [bp-00eh] ; 8b 46 f2 6743 call 016b8h ; e8 86 c96763 call 016b8h ; e8 56 c9 6744 6764 add AL, strict byte 080h ; 04 80 6745 6765 mov byte [bp-006h], al ; 88 46 fa 6746 6766 mov byte [bp-00ah], 000h ; c6 46 f6 00 6747 jmp short 04d 8ch ; eb 4f6767 jmp short 04dbch ; eb 4f 6748 6768 mov byte [bp-006h], 000h ; c6 46 fa 00 6749 6769 mov byte [bp-00ah], 001h ; c6 46 f6 01 6750 jmp short 04d 51h ; eb 0a6770 jmp short 04d81h ; eb 0a 6751 6771 mov byte [bp-00ch], 001h ; c6 46 f4 01 6752 6772 cmp byte [bp-00ah], 000h ; 80 7e f6 00 6753 je short 04d 8ch ; 74 3b6754 call 03d 9ah ; e8 46 f06773 je short 04dbch ; 74 3b 6774 call 03dcah ; e8 46 f0 6755 6775 mov bx, ax ; 89 c3 6756 6776 test AL, strict byte 0ffh ; a8 ff 6757 je short 04d 7bh ; 74 216758 call 04c 24h ; e8 c7 fe6777 je short 04dabh ; 74 21 6778 call 04c54h ; e8 c7 fe 6759 6779 movzx ax, byte [bp-008h] ; 0f b6 46 f8 6760 6780 push ax ; 50 … … 6763 6783 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6764 6784 mov cx, strict word 00001h ; b9 01 00 6765 call 04b 91h ; e8 1d fe6785 call 04bc1h ; e8 1d fe 6766 6786 xor ax, ax ; 31 c0 6767 6787 xor dx, dx ; 31 d2 6768 jmp near 04e 9ah ; e9 1f 016788 jmp near 04ecah ; e9 1f 01 6769 6789 mov dx, 00372h ; ba 72 03 6770 6790 mov ax, word [bp-00eh] ; 8b 46 f2 6771 call 016d4h ; e8 50 c96791 call 016d4h ; e8 20 c9 6772 6792 mov di, ax ; 89 c7 6773 6793 shr bx, 008h ; c1 eb 08 6774 6794 mov byte [bp-006h], bl ; 88 5e fa 6775 6795 cmp byte [bp-00ch], 001h ; 80 7e f4 01 6776 jne near 04e 08h ; 0f 85 74 006796 jne near 04e38h ; 0f 85 74 00 6777 6797 xor si, si ; 31 f6 6778 6798 mov ax, 0e200h ; b8 00 e2 6779 6799 mov es, ax ; 8e c0 6780 6800 cmp word [es:si], 0aa55h ; 26 81 3c 55 aa 6781 jne short 04d 5dh ; 75 bb6801 jne short 04d8dh ; 75 bb 6782 6802 mov cx, ax ; 89 c1 6783 6803 mov si, word [es:si+01ah] ; 26 8b 74 1a 6784 6804 cmp word [es:si+002h], 0506eh ; 26 81 7c 02 6e 50 6785 jne short 04d 5dh ; 75 ad6805 jne short 04d8dh ; 75 ad 6786 6806 cmp word [es:si], 05024h ; 26 81 3c 24 50 6787 jne short 04d 5dh ; 75 a66807 jne short 04d8dh ; 75 a6 6788 6808 mov di, word [es:si+00eh] ; 26 8b 7c 0e 6789 6809 mov dx, word [es:di] ; 26 8b 15 6790 6810 mov ax, word [es:di+002h] ; 26 8b 45 02 6791 6811 cmp ax, 06568h ; 3d 68 65 6792 jne short 04 de6h ; 75 1f6812 jne short 04e16h ; 75 1f 6793 6813 cmp dx, 07445h ; 81 fa 45 74 6794 jne short 04 de6h ; 75 196814 jne short 04e16h ; 75 19 6795 6815 movzx bx, byte [bp-006h] ; 0f b6 5e fa 6796 6816 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 6797 6817 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6798 call 04b 46h ; e8 6a fd6818 call 04b76h ; e8 6a fd 6799 6819 mov word [bp-012h], strict word 00006h ; c7 46 ee 06 00 6800 6820 mov word [bp-010h], cx ; 89 4e f0 6801 jmp short 04e 02h ; eb 1c6821 jmp short 04e32h ; eb 1c 6802 6822 movzx bx, byte [bp-006h] ; 0f b6 5e fa 6803 6823 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 6804 6824 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6805 call 04b 46h ; e8 51 fd6825 call 04b76h ; e8 51 fd 6806 6826 sti ; fb 6807 6827 mov word [bp-010h], cx ; 89 4e f0 … … 6810 6830 mov word [bp-012h], ax ; 89 46 ee 6811 6831 call far [bp-012h] ; ff 5e ee 6812 jmp near 04d 5dh ; e9 55 ff6832 jmp near 04d8dh ; e9 55 ff 6813 6833 cmp byte [bp-00ah], 000h ; 80 7e f6 00 6814 jne short 04e 34h ; 75 266834 jne short 04e64h ; 75 26 6815 6835 cmp byte [bp-00ch], 000h ; 80 7e f4 00 6816 jne short 04e 34h ; 75 206836 jne short 04e64h ; 75 20 6817 6837 mov di, 007c0h ; bf c0 07 6818 6838 mov es, di ; 8e c7 … … 6827 6847 sbb ax, strict byte 00000h ; 83 d8 00 6828 6848 test ax, ax ; 85 c0 6829 jne near 04d 5dh ; 0f 85 29 ff6849 jne near 04d8dh ; 0f 85 29 ff 6830 6850 cmp byte [bp-006h], 000h ; 80 7e fa 00 6831 6851 db 00fh, 094h, 0c1h 6832 6852 ; sete cl ; 0f 94 c1 6833 6853 cmp byte [bp-00ah], 000h ; 80 7e f6 00 6834 je short 04e 43h ; 74 026854 je short 04e73h ; 74 02 6835 6855 mov CL, strict byte 001h ; b1 01 6836 6856 xor dx, dx ; 31 d2 6837 6857 mov ax, di ; 89 f8 6838 call 016d4h ; e8 8a c86858 call 016d4h ; e8 5a c8 6839 6859 mov bx, ax ; 89 c3 6840 6860 mov dx, strict word 00002h ; ba 02 00 6841 6861 mov ax, di ; 89 f8 6842 call 016d4h ; e8 80 c86862 call 016d4h ; e8 50 c8 6843 6863 cmp bx, ax ; 39 c3 6844 je short 04e 69h ; 74 116864 je short 04e99h ; 74 11 6845 6865 test cl, cl ; 84 c9 6846 jne short 04e 7fh ; 75 236866 jne short 04eafh ; 75 23 6847 6867 mov dx, 001feh ; ba fe 01 6848 6868 mov ax, di ; 89 f8 6849 call 016d4h ; e8 70 c86869 call 016d4h ; e8 40 c8 6850 6870 cmp ax, 0aa55h ; 3d 55 aa 6851 je short 04e 7fh ; 74 166871 je short 04eafh ; 74 16 6852 6872 movzx ax, byte [bp-008h] ; 0f b6 46 f8 6853 6873 push ax ; 50 … … 6856 6876 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6857 6877 xor cx, cx ; 31 c9 6858 jmp near 04d 71h ; e9 f2 fe6878 jmp near 04da1h ; e9 f2 fe 6859 6879 movzx bx, byte [bp-006h] ; 0f b6 5e fa 6860 6880 movzx dx, byte [bp-00ch] ; 0f b6 56 f4 6861 6881 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 6862 call 04b 46h ; e8 b8 fc6882 call 04b76h ; e8 b8 fc 6863 6883 movzx bx, byte [bp-006h] ; 0f b6 5e fa 6864 6884 xor dx, dx ; 31 d2 … … 6871 6891 pop bp ; 5d 6872 6892 retn ; c3 6873 keyboard_panic_: ; 0xf4e a1 LB 0x136893 keyboard_panic_: ; 0xf4ed1 LB 0x13 6874 6894 push bp ; 55 6875 6895 mov bp, sp ; 89 e5 … … 6877 6897 push 00574h ; 68 74 05 6878 6898 push strict byte 00007h ; 6a 07 6879 call 019dah ; e8 2d cb6899 call 019dah ; e8 fd ca 6880 6900 add sp, strict byte 00006h ; 83 c4 06 6881 6901 mov sp, bp ; 89 ec 6882 6902 pop bp ; 5d 6883 6903 retn ; c3 6884 _keyboard_init: ; 0xf4e b4 LB 0x26a6904 _keyboard_init: ; 0xf4ee4 LB 0x26a 6885 6905 push bp ; 55 6886 6906 mov bp, sp ; 89 e5 … … 6894 6914 ; sub ah, ah ; 2a e4 6895 6915 test AL, strict byte 002h ; a8 02 6896 je short 04 ed7h ; 74 0d6916 je short 04f07h ; 74 0d 6897 6917 dec bx ; 4b 6898 6918 test bx, bx ; 85 db 6899 jbe short 04 ed7h ; 76 086919 jbe short 04f07h ; 76 08 6900 6920 xor al, al ; 30 c0 6901 6921 mov dx, 00080h ; ba 80 00 6902 6922 out DX, AL ; ee 6903 jmp short 04e c0h ; eb e96923 jmp short 04ef0h ; eb e9 6904 6924 test bx, bx ; 85 db 6905 jne short 04 ee0h ; 75 056925 jne short 04f10h ; 75 05 6906 6926 xor ax, ax ; 31 c0 6907 call 04e a1h ; e8 c1 ff6927 call 04ed1h ; e8 c1 ff 6908 6928 mov bx, strict word 0ffffh ; bb ff ff 6909 6929 mov dx, strict word 00064h ; ba 64 00 … … 6912 6932 ; sub ah, ah ; 2a e4 6913 6933 test AL, strict byte 001h ; a8 01 6914 jne short 04 efah ; 75 0d6934 jne short 04f2ah ; 75 0d 6915 6935 dec bx ; 4b 6916 6936 test bx, bx ; 85 db 6917 jbe short 04 efah ; 76 086937 jbe short 04f2ah ; 76 08 6918 6938 mov AL, strict byte 001h ; b0 01 6919 6939 mov dx, 00080h ; ba 80 00 6920 6940 out DX, AL ; ee 6921 jmp short 04 ee3h ; eb e96941 jmp short 04f13h ; eb e9 6922 6942 test bx, bx ; 85 db 6923 jne short 04f 04h ; 75 066943 jne short 04f34h ; 75 06 6924 6944 mov ax, strict word 00001h ; b8 01 00 6925 call 04e a1h ; e8 9d ff6945 call 04ed1h ; e8 9d ff 6926 6946 mov dx, strict word 00060h ; ba 60 00 6927 6947 in AL, DX ; ec … … 6929 6949 ; sub ah, ah ; 2a e4 6930 6950 cmp ax, strict word 00055h ; 3d 55 00 6931 je short 04f 15h ; 74 066951 je short 04f45h ; 74 06 6932 6952 mov ax, 003dfh ; b8 df 03 6933 call 04e a1h ; e8 8c ff6953 call 04ed1h ; e8 8c ff 6934 6954 mov AL, strict byte 0abh ; b0 ab 6935 6955 mov dx, strict word 00064h ; ba 64 00 … … 6941 6961 ; sub ah, ah ; 2a e4 6942 6962 test AL, strict byte 002h ; a8 02 6943 je short 04f 35h ; 74 0d6963 je short 04f65h ; 74 0d 6944 6964 dec bx ; 4b 6945 6965 test bx, bx ; 85 db 6946 jbe short 04f 35h ; 76 086966 jbe short 04f65h ; 76 08 6947 6967 mov AL, strict byte 010h ; b0 10 6948 6968 mov dx, 00080h ; ba 80 00 6949 6969 out DX, AL ; ee 6950 jmp short 04f 1eh ; eb e96970 jmp short 04f4eh ; eb e9 6951 6971 test bx, bx ; 85 db 6952 jne short 04f 3fh ; 75 066972 jne short 04f6fh ; 75 06 6953 6973 mov ax, strict word 0000ah ; b8 0a 00 6954 call 04e a1h ; e8 62 ff6974 call 04ed1h ; e8 62 ff 6955 6975 mov bx, strict word 0ffffh ; bb ff ff 6956 6976 mov dx, strict word 00064h ; ba 64 00 … … 6959 6979 ; sub ah, ah ; 2a e4 6960 6980 test AL, strict byte 001h ; a8 01 6961 jne short 04f 59h ; 75 0d6981 jne short 04f89h ; 75 0d 6962 6982 dec bx ; 4b 6963 6983 test bx, bx ; 85 db 6964 jbe short 04f 59h ; 76 086984 jbe short 04f89h ; 76 08 6965 6985 mov AL, strict byte 011h ; b0 11 6966 6986 mov dx, 00080h ; ba 80 00 6967 6987 out DX, AL ; ee 6968 jmp short 04f 42h ; eb e96988 jmp short 04f72h ; eb e9 6969 6989 test bx, bx ; 85 db 6970 jne short 04f 63h ; 75 066990 jne short 04f93h ; 75 06 6971 6991 mov ax, strict word 0000bh ; b8 0b 00 6972 call 04e a1h ; e8 3e ff6992 call 04ed1h ; e8 3e ff 6973 6993 mov dx, strict word 00060h ; ba 60 00 6974 6994 in AL, DX ; ec … … 6976 6996 ; sub ah, ah ; 2a e4 6977 6997 test ax, ax ; 85 c0 6978 je short 04f 73h ; 74 066998 je short 04fa3h ; 74 06 6979 6999 mov ax, 003e0h ; b8 e0 03 6980 call 04e a1h ; e8 2e ff7000 call 04ed1h ; e8 2e ff 6981 7001 mov AL, strict byte 0ffh ; b0 ff 6982 7002 mov dx, strict word 00060h ; ba 60 00 … … 6988 7008 ; sub ah, ah ; 2a e4 6989 7009 test AL, strict byte 002h ; a8 02 6990 je short 04f 93h ; 74 0d7010 je short 04fc3h ; 74 0d 6991 7011 dec bx ; 4b 6992 7012 test bx, bx ; 85 db 6993 jbe short 04f 93h ; 76 087013 jbe short 04fc3h ; 76 08 6994 7014 mov AL, strict byte 020h ; b0 20 6995 7015 mov dx, 00080h ; ba 80 00 6996 7016 out DX, AL ; ee 6997 jmp short 04f 7ch ; eb e97017 jmp short 04fach ; eb e9 6998 7018 test bx, bx ; 85 db 6999 jne short 04f 9dh ; 75 067019 jne short 04fcdh ; 75 06 7000 7020 mov ax, strict word 00014h ; b8 14 00 7001 call 04e a1h ; e8 04 ff7021 call 04ed1h ; e8 04 ff 7002 7022 mov bx, strict word 0ffffh ; bb ff ff 7003 7023 mov dx, strict word 00064h ; ba 64 00 … … 7006 7026 ; sub ah, ah ; 2a e4 7007 7027 test AL, strict byte 001h ; a8 01 7008 jne short 04f b7h ; 75 0d7028 jne short 04fe7h ; 75 0d 7009 7029 dec bx ; 4b 7010 7030 test bx, bx ; 85 db 7011 jbe short 04f b7h ; 76 087031 jbe short 04fe7h ; 76 08 7012 7032 mov AL, strict byte 021h ; b0 21 7013 7033 mov dx, 00080h ; ba 80 00 7014 7034 out DX, AL ; ee 7015 jmp short 04f a0h ; eb e97035 jmp short 04fd0h ; eb e9 7016 7036 test bx, bx ; 85 db 7017 jne short 04f c1h ; 75 067037 jne short 04ff1h ; 75 06 7018 7038 mov ax, strict word 00015h ; b8 15 00 7019 call 04e a1h ; e8 e0 fe7039 call 04ed1h ; e8 e0 fe 7020 7040 mov dx, strict word 00060h ; ba 60 00 7021 7041 in AL, DX ; ec … … 7023 7043 ; sub ah, ah ; 2a e4 7024 7044 cmp ax, 000fah ; 3d fa 00 7025 je short 0 4fd2h ; 74 067045 je short 05002h ; 74 06 7026 7046 mov ax, 003e1h ; b8 e1 03 7027 call 04e a1h ; e8 cf fe7047 call 04ed1h ; e8 cf fe 7028 7048 mov dx, strict word 00064h ; ba 64 00 7029 7049 in AL, DX ; ec … … 7031 7051 ; sub ah, ah ; 2a e4 7032 7052 test AL, strict byte 001h ; a8 01 7033 jne short 0 4fe4h ; 75 087053 jne short 05014h ; 75 08 7034 7054 mov AL, strict byte 031h ; b0 31 7035 7055 mov dx, 00080h ; ba 80 00 7036 7056 out DX, AL ; ee 7037 jmp short 0 4fd2h ; eb ee7057 jmp short 05002h ; eb ee 7038 7058 mov dx, strict word 00060h ; ba 60 00 7039 7059 in AL, DX ; ec … … 7041 7061 ; sub ah, ah ; 2a e4 7042 7062 cmp ax, 000aah ; 3d aa 00 7043 je short 0 4ffdh ; 74 0e7063 je short 0502dh ; 74 0e 7044 7064 in AL, DX ; ec 7045 7065 db 02ah, 0e4h 7046 7066 ; sub ah, ah ; 2a e4 7047 7067 cmp ax, 000aah ; 3d aa 00 7048 je short 0 4ffdh ; 74 067068 je short 0502dh ; 74 06 7049 7069 mov ax, 003e2h ; b8 e2 03 7050 call 04e a1h ; e8 a4 fe7070 call 04ed1h ; e8 a4 fe 7051 7071 mov AL, strict byte 0f5h ; b0 f5 7052 7072 mov dx, strict word 00060h ; ba 60 00 … … 7058 7078 ; sub ah, ah ; 2a e4 7059 7079 test AL, strict byte 002h ; a8 02 7060 je short 050 1dh ; 74 0d7080 je short 0504dh ; 74 0d 7061 7081 dec bx ; 4b 7062 7082 test bx, bx ; 85 db 7063 jbe short 050 1dh ; 76 087083 jbe short 0504dh ; 76 08 7064 7084 mov AL, strict byte 040h ; b0 40 7065 7085 mov dx, 00080h ; ba 80 00 7066 7086 out DX, AL ; ee 7067 jmp short 050 06h ; eb e97087 jmp short 05036h ; eb e9 7068 7088 test bx, bx ; 85 db 7069 jne short 050 27h ; 75 067089 jne short 05057h ; 75 06 7070 7090 mov ax, strict word 00028h ; b8 28 00 7071 call 04e a1h ; e8 7a fe7091 call 04ed1h ; e8 7a fe 7072 7092 mov bx, strict word 0ffffh ; bb ff ff 7073 7093 mov dx, strict word 00064h ; ba 64 00 … … 7076 7096 ; sub ah, ah ; 2a e4 7077 7097 test AL, strict byte 001h ; a8 01 7078 jne short 050 41h ; 75 0d7098 jne short 05071h ; 75 0d 7079 7099 dec bx ; 4b 7080 7100 test bx, bx ; 85 db 7081 jbe short 050 41h ; 76 087101 jbe short 05071h ; 76 08 7082 7102 mov AL, strict byte 041h ; b0 41 7083 7103 mov dx, 00080h ; ba 80 00 7084 7104 out DX, AL ; ee 7085 jmp short 050 2ah ; eb e97105 jmp short 0505ah ; eb e9 7086 7106 test bx, bx ; 85 db 7087 jne short 050 4bh ; 75 067107 jne short 0507bh ; 75 06 7088 7108 mov ax, strict word 00029h ; b8 29 00 7089 call 04e a1h ; e8 56 fe7109 call 04ed1h ; e8 56 fe 7090 7110 mov dx, strict word 00060h ; ba 60 00 7091 7111 in AL, DX ; ec … … 7093 7113 ; sub ah, ah ; 2a e4 7094 7114 cmp ax, 000fah ; 3d fa 00 7095 je short 050 5ch ; 74 067115 je short 0508ch ; 74 06 7096 7116 mov ax, 003e3h ; b8 e3 03 7097 call 04e a1h ; e8 45 fe7117 call 04ed1h ; e8 45 fe 7098 7118 mov AL, strict byte 060h ; b0 60 7099 7119 mov dx, strict word 00064h ; ba 64 00 … … 7105 7125 ; sub ah, ah ; 2a e4 7106 7126 test AL, strict byte 002h ; a8 02 7107 je short 050 7ch ; 74 0d7127 je short 050ach ; 74 0d 7108 7128 dec bx ; 4b 7109 7129 test bx, bx ; 85 db 7110 jbe short 050 7ch ; 76 087130 jbe short 050ach ; 76 08 7111 7131 mov AL, strict byte 050h ; b0 50 7112 7132 mov dx, 00080h ; ba 80 00 7113 7133 out DX, AL ; ee 7114 jmp short 050 65h ; eb e97134 jmp short 05095h ; eb e9 7115 7135 test bx, bx ; 85 db 7116 jne short 050 86h ; 75 067136 jne short 050b6h ; 75 06 7117 7137 mov ax, strict word 00032h ; b8 32 00 7118 call 04e a1h ; e8 1b fe7138 call 04ed1h ; e8 1b fe 7119 7139 mov AL, strict byte 065h ; b0 65 7120 7140 mov dx, strict word 00060h ; ba 60 00 … … 7126 7146 ; sub ah, ah ; 2a e4 7127 7147 test AL, strict byte 002h ; a8 02 7128 je short 050 a6h ; 74 0d7148 je short 050d6h ; 74 0d 7129 7149 dec bx ; 4b 7130 7150 test bx, bx ; 85 db 7131 jbe short 050 a6h ; 76 087151 jbe short 050d6h ; 76 08 7132 7152 mov AL, strict byte 060h ; b0 60 7133 7153 mov dx, 00080h ; ba 80 00 7134 7154 out DX, AL ; ee 7135 jmp short 050 8fh ; eb e97155 jmp short 050bfh ; eb e9 7136 7156 test bx, bx ; 85 db 7137 jne short 050 b0h ; 75 067157 jne short 050e0h ; 75 06 7138 7158 mov ax, strict word 0003ch ; b8 3c 00 7139 call 04e a1h ; e8 f1 fd7159 call 04ed1h ; e8 f1 fd 7140 7160 mov AL, strict byte 0f4h ; b0 f4 7141 7161 mov dx, strict word 00060h ; ba 60 00 … … 7147 7167 ; sub ah, ah ; 2a e4 7148 7168 test AL, strict byte 002h ; a8 02 7149 je short 05 0d0h ; 74 0d7169 je short 05100h ; 74 0d 7150 7170 dec bx ; 4b 7151 7171 test bx, bx ; 85 db 7152 jbe short 05 0d0h ; 76 087172 jbe short 05100h ; 76 08 7153 7173 mov AL, strict byte 070h ; b0 70 7154 7174 mov dx, 00080h ; ba 80 00 7155 7175 out DX, AL ; ee 7156 jmp short 050 b9h ; eb e97176 jmp short 050e9h ; eb e9 7157 7177 test bx, bx ; 85 db 7158 jne short 05 0dah ; 75 067178 jne short 0510ah ; 75 06 7159 7179 mov ax, strict word 00046h ; b8 46 00 7160 call 04e a1h ; e8 c7 fd7180 call 04ed1h ; e8 c7 fd 7161 7181 mov bx, strict word 0ffffh ; bb ff ff 7162 7182 mov dx, strict word 00064h ; ba 64 00 … … 7165 7185 ; sub ah, ah ; 2a e4 7166 7186 test AL, strict byte 001h ; a8 01 7167 jne short 05 0f4h ; 75 0d7187 jne short 05124h ; 75 0d 7168 7188 dec bx ; 4b 7169 7189 test bx, bx ; 85 db 7170 jbe short 05 0f4h ; 76 087190 jbe short 05124h ; 76 08 7171 7191 mov AL, strict byte 071h ; b0 71 7172 7192 mov dx, 00080h ; ba 80 00 7173 7193 out DX, AL ; ee 7174 jmp short 05 0ddh ; eb e97194 jmp short 0510dh ; eb e9 7175 7195 test bx, bx ; 85 db 7176 jne short 05 0feh ; 75 067196 jne short 0512eh ; 75 06 7177 7197 mov ax, strict word 00046h ; b8 46 00 7178 call 04e a1h ; e8 a3 fd7198 call 04ed1h ; e8 a3 fd 7179 7199 mov dx, strict word 00060h ; ba 60 00 7180 7200 in AL, DX ; ec … … 7182 7202 ; sub ah, ah ; 2a e4 7183 7203 cmp ax, 000fah ; 3d fa 00 7184 je short 051 0fh ; 74 067204 je short 0513fh ; 74 06 7185 7205 mov ax, 003e4h ; b8 e4 03 7186 call 04e a1h ; e8 92 fd7206 call 04ed1h ; e8 92 fd 7187 7207 mov AL, strict byte 0a8h ; b0 a8 7188 7208 mov dx, strict word 00064h ; ba 64 00 7189 7209 out DX, AL ; ee 7190 7210 xor ax, ax ; 31 c0 7191 call 065 66h ; e8 4c 147211 call 06596h ; e8 4c 14 7192 7212 mov sp, bp ; 89 ec 7193 7213 pop bp ; 5d 7194 7214 retn ; c3 7195 enqueue_key_: ; 0xf51 1e LB 0x997215 enqueue_key_: ; 0xf514e LB 0x99 7196 7216 push bp ; 55 7197 7217 mov bp, sp ; 89 e5 … … 7205 7225 mov dx, strict word 0001ah ; ba 1a 00 7206 7226 mov ax, strict word 00040h ; b8 40 00 7207 call 016d4h ; e8 a0 c57227 call 016d4h ; e8 70 c5 7208 7228 mov di, ax ; 89 c7 7209 7229 mov dx, strict word 0001ch ; ba 1c 00 7210 7230 mov ax, strict word 00040h ; b8 40 00 7211 call 016d4h ; e8 95 c57231 call 016d4h ; e8 65 c5 7212 7232 mov si, ax ; 89 c6 7213 7233 lea cx, [si+002h] ; 8d 4c 02 7214 7234 cmp cx, strict byte 0003eh ; 83 f9 3e 7215 jc short 051 4ch ; 72 037235 jc short 0517ch ; 72 03 7216 7236 mov cx, strict word 0001eh ; b9 1e 00 7217 7237 cmp cx, di ; 39 f9 7218 jne short 051 54h ; 75 047238 jne short 05184h ; 75 04 7219 7239 xor ax, ax ; 31 c0 7220 jmp short 051 79h ; eb 257240 jmp short 051a9h ; eb 25 7221 7241 xor bh, bh ; 30 ff 7222 7242 mov dx, si ; 89 f2 7223 7243 mov ax, strict word 00040h ; b8 40 00 7224 call 016c6h ; e8 68 c57244 call 016c6h ; e8 38 c5 7225 7245 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 7226 7246 lea dx, [si+001h] ; 8d 54 01 7227 7247 mov ax, strict word 00040h ; b8 40 00 7228 call 016c6h ; e8 5b c57248 call 016c6h ; e8 2b c5 7229 7249 mov bx, cx ; 89 cb 7230 7250 mov dx, strict word 0001ch ; ba 1c 00 7231 7251 mov ax, strict word 00040h ; b8 40 00 7232 call 016e2h ; e8 6c c57252 call 016e2h ; e8 3c c5 7233 7253 mov ax, strict word 00001h ; b8 01 00 7234 7254 lea sp, [bp-008h] ; 8d 66 f8 … … 7239 7259 pop bp ; 5d 7240 7260 retn ; c3 7241 aam 0c6h ; d4 c6 7242 lds di, [bp+si-04948h] ; c5 ba b8 b6 7243 stosb ; aa 7244 popfw ; 9d 7245 push sp ; 54 7246 push bx ; 53 7247 inc si ; 46 7248 inc bp ; 45 7249 cmp bh, byte [bx+si] ; 3a 38 7250 sub bl, byte [ss:di] ; 36 2a 1d 7251 fist word [si-058h] ; df 54 a8 7252 push dx ; 52 7253 push ax ; 50 7254 push dx ; 52 7255 push ax ; 50 7256 push dx ; 52 7257 xor word [bp+di+026h], dx ; 31 53 26 7258 push dx ; 52 7259 scasw ; af 7260 push bx ; 53 7261 sbb ax, 0c554h ; 1d 54 c5 7262 push sp ; 54 7263 mov ax, word [0ec54h] ; a1 54 ec 7264 push dx ; 52 7265 push ax ; 50 7266 push dx ; 52 7267 push ax ; 50 7268 push dx ; 52 7269 jo short 05202h ; 70 53 7270 inc dx ; 42 7271 push dx ; 52 7272 db 0feh 7273 push bx ; 53 7274 db 082h, 054h, 0beh, 054h 7275 ; adc byte [si-042h], 054h ; 82 54 be 54 7276 _int09_function: ; 0xf51b7 LB 0x474 7261 db 0d4h, 0c6h, 0c5h, 0bah, 0b8h, 0b6h, 0aah, 09dh, 054h, 053h, 046h, 045h, 03ah, 038h, 036h, 02ah 7262 db 01dh, 00fh, 055h, 0d8h, 052h, 080h, 052h, 080h, 052h, 061h, 053h, 056h, 052h, 0dfh, 053h, 04dh 7263 db 054h, 0f5h, 054h, 0d1h, 054h, 01ch, 053h, 080h, 052h, 080h, 052h, 0a0h, 053h, 072h, 052h, 02eh 7264 db 054h, 0b2h, 054h, 0eeh, 054h 7265 _int09_function: ; 0xf51e7 LB 0x474 7277 7266 push bp ; 55 7278 7267 mov bp, sp ; 89 e5 … … 7282 7271 mov byte [bp-00ch], al ; 88 46 f4 7283 7272 test al, al ; 84 c0 7284 jne short 05 1e1h ; 75 197273 jne short 05211h ; 75 19 7285 7274 mov bx, 00da0h ; bb a0 0d 7286 7275 mov cx, ds ; 8c d9 7287 7276 mov ax, strict word 00004h ; b8 04 00 7288 call 01999h ; e8 c6 c77277 call 01999h ; e8 96 c7 7289 7278 push 00587h ; 68 87 05 7290 7279 push strict byte 00004h ; 6a 04 7291 call 019dah ; e8 ff c77280 call 019dah ; e8 cf c7 7292 7281 add sp, strict byte 00004h ; 83 c4 04 7293 jmp near 052 a2h ; e9 c1 007282 jmp near 052d2h ; e9 c1 00 7294 7283 mov dx, strict word 00018h ; ba 18 00 7295 7284 mov ax, strict word 00040h ; b8 40 00 7296 call 016b8h ; e8 ce c47285 call 016b8h ; e8 9e c4 7297 7286 mov byte [bp-006h], al ; 88 46 fa 7298 7287 mov byte [bp-00ah], al ; 88 46 f6 7299 7288 mov dx, 00096h ; ba 96 00 7300 7289 mov ax, strict word 00040h ; b8 40 00 7301 call 016b8h ; e8 bf c47290 call 016b8h ; e8 8f c4 7302 7291 mov byte [bp-00eh], al ; 88 46 f2 7303 7292 mov byte [bp-004h], al ; 88 46 fc 7304 7293 mov dx, strict word 00017h ; ba 17 00 7305 7294 mov ax, strict word 00040h ; b8 40 00 7306 call 016b8h ; e8 b0 c47295 call 016b8h ; e8 80 c4 7307 7296 mov byte [bp-010h], al ; 88 46 f0 7308 7297 mov byte [bp-008h], al ; 88 46 f8 … … 7311 7300 pop ES ; 07 7312 7301 mov cx, strict word 00012h ; b9 12 00 7313 mov di, 051 82h ; bf 82 517302 mov di, 051b2h ; bf b2 51 7314 7303 repne scasb ; f2 ae 7315 7304 sal cx, 1 ; d1 e1 7316 7305 mov di, cx ; 89 cf 7317 mov ax, word [cs:di+051 93h] ; 2e 8b 85 93 517306 mov ax, word [cs:di+051c3h] ; 2e 8b 85 c3 51 7318 7307 jmp ax ; ff e0 7319 7308 xor byte [bp-008h], 040h ; 80 76 f8 40 … … 7321 7310 mov dx, strict word 00017h ; ba 17 00 7322 7311 mov ax, strict word 00040h ; b8 40 00 7323 call 016c6h ; e8 8f c47312 call 016c6h ; e8 5f c4 7324 7313 or byte [bp-00ah], 040h ; 80 4e f6 40 7325 7314 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 7326 jmp near 054 b2h ; e9 70 027315 jmp near 054e2h ; e9 70 02 7327 7316 mov al, byte [bp-006h] ; 8a 46 fa 7328 7317 and AL, strict byte 0bfh ; 24 bf 7329 7318 mov byte [bp-00ah], al ; 88 46 f6 7330 7319 movzx bx, al ; 0f b6 d8 7331 jmp near 054 b2h ; e9 62 027320 jmp near 054e2h ; e9 62 02 7332 7321 test byte [bp-004h], 002h ; f6 46 fc 02 7333 jne near 052 84h ; 0f 85 2c 007322 jne near 052b4h ; 0f 85 2c 00 7334 7323 mov al, byte [bp-00ch] ; 8a 46 f4 7335 7324 and AL, strict byte 07fh ; 24 7f … … 7341 7330 mov dl, al ; 88 c2 7342 7331 test byte [bp-00ch], 080h ; f6 46 f4 80 7343 je short 052 74h ; 74 077332 je short 052a4h ; 74 07 7344 7333 not al ; f6 d0 7345 7334 and byte [bp-008h], al ; 20 46 f8 7346 jmp short 052 77h ; eb 037335 jmp short 052a7h ; eb 03 7347 7336 or byte [bp-008h], al ; 08 46 f8 7348 7337 movzx bx, byte [bp-008h] ; 0f b6 5e f8 7349 7338 mov dx, strict word 00017h ; ba 17 00 7350 7339 mov ax, strict word 00040h ; b8 40 00 7351 call 016c6h ; e8 42 c47340 call 016c6h ; e8 12 c4 7352 7341 mov al, byte [bp-00ch] ; 8a 46 f4 7353 7342 and AL, strict byte 07fh ; 24 7f 7354 7343 cmp AL, strict byte 01dh ; 3c 1d 7355 je short 052 91h ; 74 047344 je short 052c1h ; 74 04 7356 7345 and byte [bp-004h], 0feh ; 80 66 fc fe 7357 7346 and byte [bp-004h], 0fdh ; 80 66 fc fd … … 7359 7348 mov dx, 00096h ; ba 96 00 7360 7349 mov ax, strict word 00040h ; b8 40 00 7361 call 016c6h ; e8 24 c47350 call 016c6h ; e8 f4 c3 7362 7351 lea sp, [bp-002h] ; 8d 66 fe 7363 7352 pop di ; 5f … … 7365 7354 retn ; c3 7366 7355 test byte [bp-00eh], 001h ; f6 46 f2 01 7367 jne short 052 84h ; 75 d67356 jne short 052b4h ; 75 d6 7368 7357 mov al, byte [bp-010h] ; 8a 46 f0 7369 7358 or AL, strict byte 004h ; 0c 04 … … 7372 7361 mov dx, strict word 00017h ; ba 17 00 7373 7362 mov ax, strict word 00040h ; b8 40 00 7374 call 016c6h ; e8 04 c47363 call 016c6h ; e8 d4 c3 7375 7364 mov al, byte [bp-00eh] ; 8a 46 f2 7376 7365 test AL, strict byte 002h ; a8 02 7377 je short 05 2d6h ; 74 0d7366 je short 05306h ; 74 0d 7378 7367 or AL, strict byte 004h ; 0c 04 7379 7368 mov byte [bp-004h], al ; 88 46 fc 7380 7369 movzx bx, al ; 0f b6 d8 7381 7370 mov dx, 00096h ; ba 96 00 7382 jmp short 05 2e4h ; eb 0e7371 jmp short 05314h ; eb 0e 7383 7372 mov al, byte [bp-006h] ; 8a 46 fa 7384 7373 or AL, strict byte 001h ; 0c 01 … … 7387 7376 mov dx, strict word 00018h ; ba 18 00 7388 7377 mov ax, strict word 00040h ; b8 40 00 7389 call 016c6h ; e8 dc c37390 jmp short 052 84h ; eb 987378 call 016c6h ; e8 ac c3 7379 jmp short 052b4h ; eb 98 7391 7380 test byte [bp-00eh], 001h ; f6 46 f2 01 7392 jne short 052 84h ; 75 927381 jne short 052b4h ; 75 92 7393 7382 mov al, byte [bp-010h] ; 8a 46 f0 7394 7383 and AL, strict byte 0fbh ; 24 fb … … 7397 7386 mov dx, strict word 00017h ; ba 17 00 7398 7387 mov ax, strict word 00040h ; b8 40 00 7399 call 016c6h ; e8 c0 c37388 call 016c6h ; e8 90 c3 7400 7389 mov al, byte [bp-00eh] ; 8a 46 f2 7401 7390 test AL, strict byte 002h ; a8 02 7402 je short 053 1ah ; 74 0d7391 je short 0534ah ; 74 0d 7403 7392 and AL, strict byte 0fbh ; 24 fb 7404 7393 mov byte [bp-004h], al ; 88 46 fc 7405 7394 movzx bx, al ; 0f b6 d8 7406 7395 mov dx, 00096h ; ba 96 00 7407 jmp short 053 28h ; eb 0e7396 jmp short 05358h ; eb 0e 7408 7397 mov al, byte [bp-006h] ; 8a 46 fa 7409 7398 and AL, strict byte 0feh ; 24 fe … … 7412 7401 mov dx, strict word 00018h ; ba 18 00 7413 7402 mov ax, strict word 00040h ; b8 40 00 7414 call 016c6h ; e8 98 c37415 jmp near 052 84h ; e9 53 ff7403 call 016c6h ; e8 68 c3 7404 jmp near 052b4h ; e9 53 ff 7416 7405 mov al, byte [bp-010h] ; 8a 46 f0 7417 7406 or AL, strict byte 008h ; 0c 08 … … 7420 7409 mov dx, strict word 00017h ; ba 17 00 7421 7410 mov ax, strict word 00040h ; b8 40 00 7422 call 016c6h ; e8 81 c37411 call 016c6h ; e8 51 c3 7423 7412 mov al, byte [bp-00eh] ; 8a 46 f2 7424 7413 test AL, strict byte 002h ; a8 02 7425 je short 053 59h ; 74 0d7414 je short 05389h ; 74 0d 7426 7415 or AL, strict byte 008h ; 0c 08 7427 7416 mov byte [bp-004h], al ; 88 46 fc 7428 7417 movzx bx, al ; 0f b6 d8 7429 7418 mov dx, 00096h ; ba 96 00 7430 jmp short 053 67h ; eb 0e7419 jmp short 05397h ; eb 0e 7431 7420 mov al, byte [bp-006h] ; 8a 46 fa 7432 7421 or AL, strict byte 002h ; 0c 02 … … 7435 7424 mov dx, strict word 00018h ; ba 18 00 7436 7425 mov ax, strict word 00040h ; b8 40 00 7437 call 016c6h ; e8 59 c37438 jmp near 052 84h ; e9 14 ff7426 call 016c6h ; e8 29 c3 7427 jmp near 052b4h ; e9 14 ff 7439 7428 mov al, byte [bp-010h] ; 8a 46 f0 7440 7429 and AL, strict byte 0f7h ; 24 f7 … … 7443 7432 mov dx, strict word 00017h ; ba 17 00 7444 7433 mov ax, strict word 00040h ; b8 40 00 7445 call 016c6h ; e8 42 c37434 call 016c6h ; e8 12 c3 7446 7435 mov al, byte [bp-00eh] ; 8a 46 f2 7447 7436 test AL, strict byte 002h ; a8 02 7448 je short 053 98h ; 74 0d7437 je short 053c8h ; 74 0d 7449 7438 and AL, strict byte 0f7h ; 24 f7 7450 7439 mov byte [bp-004h], al ; 88 46 fc 7451 7440 movzx bx, al ; 0f b6 d8 7452 7441 mov dx, 00096h ; ba 96 00 7453 jmp short 053 a6h ; eb 0e7442 jmp short 053d6h ; eb 0e 7454 7443 mov al, byte [bp-006h] ; 8a 46 fa 7455 7444 and AL, strict byte 0fdh ; 24 fd … … 7458 7447 mov dx, strict word 00018h ; ba 18 00 7459 7448 mov ax, strict word 00040h ; b8 40 00 7460 call 016c6h ; e8 1a c37461 jmp near 052 84h ; e9 d5 fe7449 call 016c6h ; e8 ea c2 7450 jmp near 052b4h ; e9 d5 fe 7462 7451 test byte [bp-00eh], 003h ; f6 46 f2 03 7463 jne short 05 3d1h ; 75 1c7452 jne short 05401h ; 75 1c 7464 7453 mov al, byte [bp-006h] ; 8a 46 fa 7465 7454 or AL, strict byte 020h ; 0c 20 … … 7468 7457 mov dx, strict word 00018h ; ba 18 00 7469 7458 mov ax, strict word 00040h ; b8 40 00 7470 call 016c6h ; e8 fd c27459 call 016c6h ; e8 cd c2 7471 7460 mov al, byte [bp-010h] ; 8a 46 f0 7472 7461 xor AL, strict byte 020h ; 34 20 7473 jmp near 054 70h ; e9 9f 007462 jmp near 054a0h ; e9 9f 00 7474 7463 mov al, byte [bp-006h] ; 8a 46 fa 7475 7464 or AL, strict byte 008h ; 0c 08 … … 7478 7467 mov dx, strict word 00018h ; ba 18 00 7479 7468 mov ax, strict word 00040h ; b8 40 00 7480 call 016c6h ; e8 e1 c27469 call 016c6h ; e8 b1 c2 7481 7470 mov AL, strict byte 0aeh ; b0 ae 7482 7471 mov dx, strict word 00064h ; ba 64 00 7483 7472 out DX, AL ; ee 7484 call 0e034h ; e8 46 8c7473 call 0e034h ; e8 16 8c 7485 7474 mov dx, strict word 00018h ; ba 18 00 7486 7475 mov ax, strict word 00040h ; b8 40 00 7487 call 016b8h ; e8 c1 c27476 call 016b8h ; e8 91 c2 7488 7477 test AL, strict byte 008h ; a8 08 7489 jne short 05 3eeh ; 75 f37490 jmp near 052 84h ; e9 86 fe7478 jne short 0541eh ; 75 f3 7479 jmp near 052b4h ; e9 86 fe 7491 7480 test byte [bp-00eh], 003h ; f6 46 f2 03 7492 jne near 052 84h ; 0f 85 7e fe7481 jne near 052b4h ; 0f 85 7e fe 7493 7482 mov al, byte [bp-006h] ; 8a 46 fa 7494 7483 and AL, strict byte 0dfh ; 24 df … … 7497 7486 mov dx, strict word 00018h ; ba 18 00 7498 7487 mov ax, strict word 00040h ; b8 40 00 7499 call 016c6h ; e8 ac c27500 jmp near 052 84h ; e9 67 fe7488 call 016c6h ; e8 7c c2 7489 jmp near 052b4h ; e9 67 fe 7501 7490 test byte [bp-00eh], 002h ; f6 46 f2 02 7502 je short 054 57h ; 74 347491 je short 05487h ; 74 34 7503 7492 mov dx, strict word 0001ah ; ba 1a 00 7504 7493 mov ax, strict word 00040h ; b8 40 00 7505 call 016d4h ; e8 a8 c27494 call 016d4h ; e8 78 c2 7506 7495 mov bx, ax ; 89 c3 7507 7496 mov dx, strict word 0001ch ; ba 1c 00 7508 7497 mov ax, strict word 00040h ; b8 40 00 7509 call 016e2h ; e8 ab c27498 call 016e2h ; e8 7b c2 7510 7499 mov bx, 00080h ; bb 80 00 7511 7500 mov dx, strict word 00071h ; ba 71 00 7512 7501 mov ax, strict word 00040h ; b8 40 00 7513 call 016c6h ; e8 83 c27502 call 016c6h ; e8 53 c2 7514 7503 mov AL, strict byte 0aeh ; b0 ae 7515 7504 mov dx, strict word 00064h ; ba 64 00 … … 7520 7509 xor dx, dx ; 31 d2 7521 7510 xor ax, ax ; 31 c0 7522 call 051 1eh ; e8 ca fc7523 jmp near 052 84h ; e9 2d fe7511 call 0514eh ; e8 ca fc 7512 jmp near 052b4h ; e9 2d fe 7524 7513 mov al, byte [bp-006h] ; 8a 46 fa 7525 7514 or AL, strict byte 010h ; 0c 10 … … 7528 7517 mov dx, strict word 00018h ; ba 18 00 7529 7518 mov ax, strict word 00040h ; b8 40 00 7530 call 016c6h ; e8 5b c27519 call 016c6h ; e8 2b c2 7531 7520 mov al, byte [bp-010h] ; 8a 46 f0 7532 7521 xor AL, strict byte 010h ; 34 10 … … 7535 7524 mov dx, strict word 00017h ; ba 17 00 7536 7525 mov ax, strict word 00040h ; b8 40 00 7537 call 016c6h ; e8 47 c27538 jmp near 052 84h ; e9 02 fe7526 call 016c6h ; e8 17 c2 7527 jmp near 052b4h ; e9 02 fe 7539 7528 test byte [bp-00eh], 002h ; f6 46 f2 02 7540 jne near 052 84h ; 0f 85 fa fd7529 jne near 052b4h ; 0f 85 fa fd 7541 7530 mov al, byte [bp-006h] ; 8a 46 fa 7542 7531 and AL, strict byte 0efh ; 24 ef … … 7545 7534 mov dx, strict word 00018h ; ba 18 00 7546 7535 mov ax, strict word 00040h ; b8 40 00 7547 call 016c6h ; e8 28 c27548 jmp near 052 84h ; e9 e3 fd7536 call 016c6h ; e8 f8 c1 7537 jmp near 052b4h ; e9 e3 fd 7549 7538 mov al, byte [bp-006h] ; 8a 46 fa 7550 7539 test AL, strict byte 004h ; a8 04 7551 jne near 052 84h ; 0f 85 da fd7540 jne near 052b4h ; 0f 85 da fd 7552 7541 or AL, strict byte 004h ; 0c 04 7553 7542 mov byte [bp-00ah], al ; 88 46 f6 … … 7555 7544 mov dx, strict word 00018h ; ba 18 00 7556 7545 mov ax, strict word 00040h ; b8 40 00 7557 call 016c6h ; e8 0b c27558 jmp near 052 84h ; e9 c6 fd7546 call 016c6h ; e8 db c1 7547 jmp near 052b4h ; e9 c6 fd 7559 7548 mov al, byte [bp-006h] ; 8a 46 fa 7560 7549 and AL, strict byte 0fbh ; 24 fb 7561 jmp short 054 ach ; eb e77550 jmp short 054dch ; eb e7 7562 7551 mov al, byte [bp-010h] ; 8a 46 f0 7563 7552 and AL, strict byte 00ch ; 24 0c 7564 7553 cmp AL, strict byte 00ch ; 3c 0c 7565 jne short 05 4dfh ; 75 117554 jne short 0550fh ; 75 11 7566 7555 mov bx, 01234h ; bb 34 12 7567 7556 mov dx, strict word 00072h ; ba 72 00 7568 7557 mov ax, strict word 00040h ; b8 40 00 7569 call 016e2h ; e8 08 c27558 call 016e2h ; e8 d8 c1 7570 7559 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 7571 7560 test byte [bp-00ah], 008h ; f6 46 f6 08 7572 je short 05 4f3h ; 74 0e7561 je short 05523h ; 74 0e 7573 7562 and byte [bp-00ah], 0f7h ; 80 66 f6 f7 7574 7563 movzx bx, byte [bp-00ah] ; 0f b6 5e f6 7575 7564 mov dx, strict word 00018h ; ba 18 00 7576 jmp near 052 9ch ; e9 a9 fd7565 jmp near 052cch ; e9 a9 fd 7577 7566 mov al, byte [bp-00ch] ; 8a 46 f4 7578 7567 test AL, strict byte 080h ; a8 80 7579 je short 055 31h ; 74 377568 je short 05561h ; 74 37 7580 7569 cmp AL, strict byte 0fah ; 3c fa 7581 jne short 055 0eh ; 75 107570 jne short 0553eh ; 75 10 7582 7571 mov dx, 00097h ; ba 97 00 7583 7572 mov ax, strict word 00040h ; b8 40 00 7584 call 016b8h ; e8 b1 c17573 call 016b8h ; e8 81 c1 7585 7574 mov dl, al ; 88 c2 7586 7575 or dl, 010h ; 80 ca 10 7587 jmp short 055 22h ; eb 147576 jmp short 05552h ; eb 14 7588 7577 cmp AL, strict byte 0feh ; 3c fe 7589 jne near 052 84h ; 0f 85 70 fd7578 jne near 052b4h ; 0f 85 70 fd 7590 7579 mov dx, 00097h ; ba 97 00 7591 7580 mov ax, strict word 00040h ; b8 40 00 7592 call 016b8h ; e8 9b c17581 call 016b8h ; e8 6b c1 7593 7582 mov dl, al ; 88 c2 7594 7583 or dl, 020h ; 80 ca 20 … … 7596 7585 mov dx, 00097h ; ba 97 00 7597 7586 mov ax, strict word 00040h ; b8 40 00 7598 call 016c6h ; e8 98 c17599 jmp near 052 84h ; e9 53 fd7587 call 016c6h ; e8 68 c1 7588 jmp near 052b4h ; e9 53 fd 7600 7589 cmp byte [bp-00ch], 058h ; 80 7e f4 58 7601 jbe short 055 55h ; 76 1e7590 jbe short 05585h ; 76 1e 7602 7591 mov bx, 00da0h ; bb a0 0d 7603 7592 mov cx, ds ; 8c d9 7604 7593 mov ax, strict word 00004h ; b8 04 00 7605 call 01999h ; e8 57 c47594 call 01999h ; e8 27 c4 7606 7595 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 7607 7596 push ax ; 50 7608 7597 push 005a1h ; 68 a1 05 7609 7598 push strict byte 00004h ; 6a 04 7610 call 019dah ; e8 8b c47599 call 019dah ; e8 5b c4 7611 7600 add sp, strict byte 00006h ; 83 c4 06 7612 jmp near 052 a2h ; e9 4d fd7601 jmp near 052d2h ; e9 4d fd 7613 7602 mov al, byte [bp-008h] ; 8a 46 f8 7614 7603 test AL, strict byte 008h ; a8 08 7615 je short 055 6eh ; 74 127604 je short 0559eh ; 74 12 7616 7605 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7617 7606 imul bx, bx, strict byte 0000ah ; 6b db 0a 7618 7607 mov dl, byte [bx+00df4h] ; 8a 97 f4 0d 7619 7608 mov ax, word [bx+00df4h] ; 8b 87 f4 0d 7620 jmp near 05 5fch ; e9 8e 007609 jmp near 0562ch ; e9 8e 00 7621 7610 test AL, strict byte 004h ; a8 04 7622 je short 055 84h ; 74 127611 je short 055b4h ; 74 12 7623 7612 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7624 7613 imul bx, bx, strict byte 0000ah ; 6b db 0a 7625 7614 mov dl, byte [bx+00df2h] ; 8a 97 f2 0d 7626 7615 mov ax, word [bx+00df2h] ; 8b 87 f2 0d 7627 jmp near 05 5fch ; e9 78 007616 jmp near 0562ch ; e9 78 00 7628 7617 mov al, byte [bp-004h] ; 8a 46 fc 7629 7618 and AL, strict byte 002h ; 24 02 7630 7619 test al, al ; 84 c0 7631 jbe short 055 a2h ; 76 157620 jbe short 055d2h ; 76 15 7632 7621 mov al, byte [bp-00ch] ; 8a 46 f4 7633 7622 cmp AL, strict byte 047h ; 3c 47 7634 jc short 055 a2h ; 72 0e7623 jc short 055d2h ; 72 0e 7635 7624 cmp AL, strict byte 053h ; 3c 53 7636 jnbe short 055 a2h ; 77 0a7625 jnbe short 055d2h ; 77 0a 7637 7626 mov DL, strict byte 0e0h ; b2 e0 7638 7627 movzx bx, al ; 0f b6 d8 7639 7628 imul bx, bx, strict byte 0000ah ; 6b db 0a 7640 jmp short 05 5f8h ; eb 567629 jmp short 05628h ; eb 56 7641 7630 test byte [bp-008h], 003h ; f6 46 f8 03 7642 je short 05 5d6h ; 74 2e7631 je short 05606h ; 74 2e 7643 7632 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7644 7633 imul bx, bx, strict byte 0000ah ; 6b db 0a … … 7646 7635 movzx dx, byte [bp-008h] ; 0f b6 56 f8 7647 7636 test dx, ax ; 85 c2 7648 je short 055 c6h ; 74 0a7637 je short 055f6h ; 74 0a 7649 7638 mov dl, byte [bx+00deeh] ; 8a 97 ee 0d 7650 7639 mov ax, word [bx+00deeh] ; 8b 87 ee 0d 7651 jmp short 055 ceh ; eb 087640 jmp short 055feh ; eb 08 7652 7641 mov dl, byte [bx+00df0h] ; 8a 97 f0 0d 7653 7642 mov ax, word [bx+00df0h] ; 8b 87 f0 0d 7654 7643 shr ax, 008h ; c1 e8 08 7655 7644 mov byte [bp-00ch], al ; 88 46 f4 7656 jmp short 056 02h ; eb 2c7645 jmp short 05632h ; eb 2c 7657 7646 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7658 7647 imul bx, bx, strict byte 0000ah ; 6b db 0a … … 7660 7649 movzx dx, byte [bp-008h] ; 0f b6 56 f8 7661 7650 test dx, ax ; 85 c2 7662 je short 05 5f4h ; 74 0a7651 je short 05624h ; 74 0a 7663 7652 mov dl, byte [bx+00df0h] ; 8a 97 f0 0d 7664 7653 mov ax, word [bx+00df0h] ; 8b 87 f0 0d 7665 jmp short 05 5fch ; eb 087654 jmp short 0562ch ; eb 08 7666 7655 mov dl, byte [bx+00deeh] ; 8a 97 ee 0d 7667 7656 mov ax, word [bx+00deeh] ; 8b 87 ee 0d … … 7669 7658 mov byte [bp-00ch], al ; 88 46 f4 7670 7659 cmp byte [bp-00ch], 000h ; 80 7e f4 00 7671 jne short 056 22h ; 75 1a7660 jne short 05652h ; 75 1a 7672 7661 test dl, dl ; 84 d2 7673 jne short 056 22h ; 75 167662 jne short 05652h ; 75 16 7674 7663 mov bx, 00da0h ; bb a0 0d 7675 7664 mov cx, ds ; 8c d9 7676 7665 mov ax, strict word 00004h ; b8 04 00 7677 call 01999h ; e8 82 c37666 call 01999h ; e8 52 c3 7678 7667 push 005d8h ; 68 d8 05 7679 7668 push strict byte 00004h ; 6a 04 7680 call 019dah ; e8 bb c37669 call 019dah ; e8 8b c3 7681 7670 add sp, strict byte 00004h ; 83 c4 04 7682 7671 xor dh, dh ; 30 f6 7683 7672 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 7684 jmp near 054 51h ; e9 26 fe7685 dequeue_key_: ; 0xf56 2b LB 0x947673 jmp near 05481h ; e9 26 fe 7674 dequeue_key_: ; 0xf565b LB 0x94 7686 7675 push bp ; 55 7687 7676 mov bp, sp ; 89 e5 … … 7696 7685 mov dx, strict word 0001ah ; ba 1a 00 7697 7686 mov ax, strict word 00040h ; b8 40 00 7698 call 016d4h ; e8 8f c07687 call 016d4h ; e8 5f c0 7699 7688 mov bx, ax ; 89 c3 7700 7689 mov dx, strict word 0001ch ; ba 1c 00 7701 7690 mov ax, strict word 00040h ; b8 40 00 7702 call 016d4h ; e8 84 c07691 call 016d4h ; e8 54 c0 7703 7692 cmp bx, ax ; 39 c3 7704 je short 056 91h ; 74 3d7693 je short 056c1h ; 74 3d 7705 7694 mov dx, bx ; 89 da 7706 7695 mov ax, strict word 00040h ; b8 40 00 7707 call 016b8h ; e8 5c c07696 call 016b8h ; e8 2c c0 7708 7697 mov cl, al ; 88 c1 7709 7698 lea dx, [bx+001h] ; 8d 57 01 7710 7699 mov ax, strict word 00040h ; b8 40 00 7711 call 016b8h ; e8 51 c07700 call 016b8h ; e8 21 c0 7712 7701 mov es, [bp-008h] ; 8e 46 f8 7713 7702 mov byte [es:si], cl ; 26 88 0c … … 7715 7704 mov byte [es:di], al ; 26 88 05 7716 7705 cmp word [bp+004h], strict byte 00000h ; 83 7e 04 00 7717 je short 056 8ch ; 74 137706 je short 056bch ; 74 13 7718 7707 inc bx ; 43 7719 7708 inc bx ; 43 7720 7709 cmp bx, strict byte 0003eh ; 83 fb 3e 7721 jc short 056 83h ; 72 037710 jc short 056b3h ; 72 03 7722 7711 mov bx, strict word 0001eh ; bb 1e 00 7723 7712 mov dx, strict word 0001ah ; ba 1a 00 7724 7713 mov ax, strict word 00040h ; b8 40 00 7725 call 016e2h ; e8 56 c07714 call 016e2h ; e8 26 c0 7726 7715 mov ax, strict word 00001h ; b8 01 00 7727 jmp short 056 93h ; eb 027716 jmp short 056c3h ; eb 02 7728 7717 xor ax, ax ; 31 c0 7729 7718 lea sp, [bp-004h] ; 8d 66 fc … … 7736 7725 or cl, byte [bx+di] ; 0a 09 7737 7726 add ax, 00102h ; 05 02 01 7738 add byte [di +059h], bl ; 00 5d 597739 jnc short 05702h ; 73577740 mov dx, 00657h ; ba 57 067727 add byte [di-05ca7h], cl ; 00 8d 59 a3 7728 push di ; 57 7729 jmp far 04658h:03657h ; ea 57 36 58 46 7741 7730 pop ax ; 58 7742 push SS ; 16 7743 pop ax ; 58 7744 inc ax ; 40 7745 pop ax ; 58 7746 dec cx ; 49 7747 pop ax ; 58 7748 mov dx, 0eb58h ; ba 58 eb 7749 pop ax ; 58 7750 sbb byte [bx+di+052h], bl ; 18 59 52 7731 jo short 0573bh ; 70 58 7732 jns short 0573dh ; 79 58 7733 jmp far 04859h:01b58h ; ea 58 1b 59 48 7751 7734 pop cx ; 59 7752 db 0 a0h7753 pop cx ;597754 _int16_function: ; 0xf56 bf LB 0x2e77735 db 082h, 059h, 0d0h, 059h 7736 ; sbb byte [bx+di-030h], 059h ; 82 59 d0 59 7737 _int16_function: ; 0xf56ef LB 0x2e7 7755 7738 push bp ; 55 7756 7739 mov bp, sp ; 89 e5 … … 7759 7742 mov dx, strict word 00017h ; ba 17 00 7760 7743 mov ax, strict word 00040h ; b8 40 00 7761 call 016b8h ; e8 e9 bf7744 call 016b8h ; e8 b9 bf 7762 7745 mov cl, al ; 88 c1 7763 7746 mov bh, al ; 88 c7 7764 7747 mov dx, 00097h ; ba 97 00 7765 7748 mov ax, strict word 00040h ; b8 40 00 7766 call 016b8h ; e8 dc bf7749 call 016b8h ; e8 ac bf 7767 7750 mov bl, al ; 88 c3 7768 7751 movzx dx, cl ; 0f b6 d1 … … 7773 7756 xor al, dl ; 30 d0 7774 7757 test ax, ax ; 85 c0 7775 je short 057 51h ; 74 607758 je short 05781h ; 74 60 7776 7759 cli ; fa 7777 7760 mov AL, strict byte 0edh ; b0 ed … … 7783 7766 ; sub ah, ah ; 2a e4 7784 7767 test AL, strict byte 001h ; a8 01 7785 jne short 057 0ah ; 75 087768 jne short 0573ah ; 75 08 7786 7769 mov AL, strict byte 021h ; b0 21 7787 7770 mov dx, 00080h ; ba 80 00 7788 7771 out DX, AL ; ee 7789 jmp short 05 6f8h ; eb ee7772 jmp short 05728h ; eb ee 7790 7773 mov dx, strict word 00060h ; ba 60 00 7791 7774 in AL, DX ; ec … … 7793 7776 ; sub ah, ah ; 2a e4 7794 7777 cmp ax, 000fah ; 3d fa 00 7795 jne short 057 50h ; 75 3b7778 jne short 05780h ; 75 3b 7796 7779 and bl, 0c8h ; 80 e3 c8 7797 7780 movzx ax, bh ; 0f b6 c7 … … 7809 7792 ; sub ah, ah ; 2a e4 7810 7793 test AL, strict byte 001h ; a8 01 7811 jne short 057 3fh ; 75 087794 jne short 0576fh ; 75 08 7812 7795 mov AL, strict byte 021h ; b0 21 7813 7796 mov dx, 00080h ; ba 80 00 7814 7797 out DX, AL ; ee 7815 jmp short 057 2dh ; eb ee7798 jmp short 0575dh ; eb ee 7816 7799 mov dx, strict word 00060h ; ba 60 00 7817 7800 in AL, DX ; ec … … 7821 7804 mov dx, 00097h ; ba 97 00 7822 7805 mov ax, strict word 00040h ; b8 40 00 7823 call 016c6h ; e8 76 bf7806 call 016c6h ; e8 46 bf 7824 7807 sti ; fb 7825 7808 mov ax, word [bp+012h] ; 8b 46 12 7826 7809 shr ax, 008h ; c1 e8 08 7827 7810 cmp ax, 000a2h ; 3d a2 00 7828 jnbe near 059 5dh ; 0f 87 ff 017811 jnbe near 0598dh ; 0f 87 ff 01 7829 7812 push CS ; 0e 7830 7813 pop ES ; 07 7831 7814 mov cx, strict word 0000ch ; b9 0c 00 7832 mov di, 056 9ch ; bf 9c 567815 mov di, 056cch ; bf cc 56 7833 7816 repne scasb ; f2 ae 7834 7817 sal cx, 1 ; d1 e1 7835 7818 mov di, cx ; 89 cf 7836 mov ax, word [cs:di+056 a7h] ; 2e 8b 85 a7 567819 mov ax, word [cs:di+056d7h] ; 2e 8b 85 d7 56 7837 7820 jmp ax ; ff e0 7838 7821 push strict byte 00001h ; 6a 01 … … 7841 7824 mov dx, ss ; 8c d2 7842 7825 lea ax, [bp-006h] ; 8d 46 fa 7843 call 056 2bh ; e8 a9 fe7826 call 0565bh ; e8 a9 fe 7844 7827 test ax, ax ; 85 c0 7845 jne short 057 91h ; 75 0b7828 jne short 057c1h ; 75 0b 7846 7829 push 0060fh ; 68 0f 06 7847 7830 push strict byte 00007h ; 6a 07 7848 call 019dah ; e8 4c c27831 call 019dah ; e8 1c c2 7849 7832 add sp, strict byte 00004h ; 83 c4 04 7850 7833 cmp byte [bp-006h], 000h ; 80 7e fa 00 7851 je short 057 9dh ; 74 067834 je short 057cdh ; 74 06 7852 7835 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7853 je short 057 a3h ; 74 067836 je short 057d3h ; 74 06 7854 7837 cmp byte [bp-008h], 0e0h ; 80 7e f8 e0 7855 jne short 057 a7h ; 75 047838 jne short 057d7h ; 75 04 7856 7839 mov byte [bp-008h], 000h ; c6 46 f8 00 7857 7840 movzx dx, byte [bp-006h] ; 0f b6 56 fa … … 7860 7843 or dx, ax ; 09 c2 7861 7844 mov word [bp+012h], dx ; 89 56 12 7862 jmp near 059 a0h ; e9 e6 017845 jmp near 059d0h ; e9 e6 01 7863 7846 or word [bp+01ch], 00200h ; 81 4e 1c 00 02 7864 7847 push strict byte 00000h ; 6a 00 … … 7867 7850 mov dx, ss ; 8c d2 7868 7851 lea ax, [bp-006h] ; 8d 46 fa 7869 call 056 2bh ; e8 5d fe7852 call 0565bh ; e8 5d fe 7870 7853 test ax, ax ; 85 c0 7871 jne short 05 7d9h ; 75 077854 jne short 05809h ; 75 07 7872 7855 or word [bp+01ch], strict byte 00040h ; 83 4e 1c 40 7873 jmp near 059 a0h ; e9 c7 017856 jmp near 059d0h ; e9 c7 01 7874 7857 cmp byte [bp-006h], 000h ; 80 7e fa 00 7875 je short 05 7e5h ; 74 067858 je short 05815h ; 74 06 7876 7859 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7877 je short 05 7ebh ; 74 067860 je short 0581bh ; 74 06 7878 7861 cmp byte [bp-008h], 0e0h ; 80 7e f8 e0 7879 jne short 05 7efh ; 75 047862 jne short 0581fh ; 75 04 7880 7863 mov byte [bp-008h], 000h ; c6 46 f8 00 7881 7864 movzx dx, byte [bp-006h] ; 0f b6 56 fa … … 7885 7868 mov word [bp+012h], dx ; 89 56 12 7886 7869 and word [bp+01ch], strict byte 0ffbfh ; 83 66 1c bf 7887 jmp near 059 a0h ; e9 9a 017870 jmp near 059d0h ; e9 9a 01 7888 7871 mov dx, strict word 00017h ; ba 17 00 7889 7872 mov ax, strict word 00040h ; b8 40 00 7890 call 016b8h ; e8 a9 be7873 call 016b8h ; e8 79 be 7891 7874 mov dx, word [bp+012h] ; 8b 56 12 7892 7875 mov dl, al ; 88 c2 7893 jmp short 057 b4h ; eb 9e7876 jmp short 057e4h ; eb 9e 7894 7877 mov al, byte [bp+010h] ; 8a 46 10 7895 7878 movzx dx, al ; 0f b6 d0 … … 7897 7880 shr ax, 008h ; c1 e8 08 7898 7881 xor ah, ah ; 30 e4 7899 call 051 1eh ; e8 f7 f87882 call 0514eh ; e8 f7 f8 7900 7883 test ax, ax ; 85 c0 7901 jne short 058 38h ; 75 0d7884 jne short 05868h ; 75 0d 7902 7885 mov ax, word [bp+012h] ; 8b 46 12 7903 7886 xor al, al ; 30 c0 7904 7887 or AL, strict byte 001h ; 0c 01 7905 7888 mov word [bp+012h], ax ; 89 46 12 7906 jmp near 059 a0h ; e9 68 017889 jmp near 059d0h ; e9 68 01 7907 7890 and word [bp+012h], 0ff00h ; 81 66 12 00 ff 7908 jmp near 059 a0h ; e9 60 017891 jmp near 059d0h ; e9 60 01 7909 7892 mov ax, word [bp+012h] ; 8b 46 12 7910 7893 xor al, al ; 30 c0 7911 7894 or AL, strict byte 030h ; 0c 30 7912 jmp short 058 32h ; eb e97895 jmp short 05862h ; eb e9 7913 7896 mov byte [bp-004h], 002h ; c6 46 fc 02 7914 7897 xor cx, cx ; 31 c9 … … 7923 7906 ; sub ah, ah ; 2a e4 7924 7907 test AL, strict byte 001h ; a8 01 7925 jne short 058 70h ; 75 0d7908 jne short 058a0h ; 75 0d 7926 7909 dec bx ; 4b 7927 7910 test bx, bx ; 85 db 7928 jbe short 058 70h ; 76 087911 jbe short 058a0h ; 76 08 7929 7912 mov dx, 00080h ; ba 80 00 7930 7913 in AL, DX ; ec 7931 7914 db 02ah, 0e4h 7932 7915 ; sub ah, ah ; 2a e4 7933 jmp short 058 59h ; eb e97916 jmp short 05889h ; eb e9 7934 7917 test bx, bx ; 85 db 7935 jbe short 058 b4h ; 76 407918 jbe short 058e4h ; 76 40 7936 7919 mov dx, strict word 00060h ; ba 60 00 7937 7920 in AL, DX ; ec … … 7939 7922 ; sub ah, ah ; 2a e4 7940 7923 cmp ax, 000fah ; 3d fa 00 7941 jne short 058 b4h ; 75 357924 jne short 058e4h ; 75 35 7942 7925 mov bx, strict word 0ffffh ; bb ff ff 7943 7926 mov dx, strict word 00064h ; ba 64 00 … … 7946 7929 ; sub ah, ah ; 2a e4 7947 7930 test AL, strict byte 001h ; a8 01 7948 jne short 058 99h ; 75 0d7931 jne short 058c9h ; 75 0d 7949 7932 dec bx ; 4b 7950 7933 test bx, bx ; 85 db 7951 jbe short 058 99h ; 76 087934 jbe short 058c9h ; 76 08 7952 7935 mov dx, 00080h ; ba 80 00 7953 7936 in AL, DX ; ec 7954 7937 db 02ah, 0e4h 7955 7938 ; sub ah, ah ; 2a e4 7956 jmp short 058 82h ; eb e97939 jmp short 058b2h ; eb e9 7957 7940 test bx, bx ; 85 db 7958 jbe short 058 abh ; 76 0e7941 jbe short 058dbh ; 76 0e 7959 7942 shr cx, 008h ; c1 e9 08 7960 7943 mov dx, strict word 00060h ; ba 60 00 … … 7966 7949 dec byte [bp-004h] ; fe 4e fc 7967 7950 cmp byte [bp-004h], 000h ; 80 7e fc 00 7968 jnbe short 058 7fh ; 77 cb7951 jnbe short 058afh ; 77 cb 7969 7952 mov word [bp+00ch], cx ; 89 4e 0c 7970 jmp near 059 a0h ; e9 e6 007953 jmp near 059d0h ; e9 e6 00 7971 7954 push strict byte 00001h ; 6a 01 7972 7955 mov cx, ss ; 8c d1 … … 7974 7957 mov dx, ss ; 8c d2 7975 7958 lea ax, [bp-006h] ; 8d 46 fa 7976 call 056 2bh ; e8 62 fd7959 call 0565bh ; e8 62 fd 7977 7960 test ax, ax ; 85 c0 7978 jne short 05 8d8h ; 75 0b7961 jne short 05908h ; 75 0b 7979 7962 push 0060fh ; 68 0f 06 7980 7963 push strict byte 00007h ; 6a 07 7981 call 019dah ; e8 05 c17964 call 019dah ; e8 d5 c0 7982 7965 add sp, strict byte 00004h ; 83 c4 04 7983 7966 cmp byte [bp-006h], 000h ; 80 7e fa 00 7984 je near 057 a7h ; 0f 84 c7 fe7967 je near 057d7h ; 0f 84 c7 fe 7985 7968 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 7986 je near 057 a3h ; 0f 84 bb fe7987 jmp near 057 a7h ; e9 bc fe7969 je near 057d3h ; 0f 84 bb fe 7970 jmp near 057d7h ; e9 bc fe 7988 7971 or word [bp+01ch], 00200h ; 81 4e 1c 00 02 7989 7972 push strict byte 00000h ; 6a 00 … … 7992 7975 mov dx, ss ; 8c d2 7993 7976 lea ax, [bp-006h] ; 8d 46 fa 7994 call 056 2bh ; e8 2c fd7977 call 0565bh ; e8 2c fd 7995 7978 test ax, ax ; 85 c0 7996 je near 05 7d2h ; 0f 84 cd fe7979 je near 05802h ; 0f 84 cd fe 7997 7980 cmp byte [bp-006h], 000h ; 80 7e fa 00 7998 je near 05 7efh ; 0f 84 e2 fe7981 je near 0581fh ; 0f 84 e2 fe 7999 7982 cmp byte [bp-008h], 0f0h ; 80 7e f8 f0 8000 je near 05 7ebh ; 0f 84 d6 fe8001 jmp near 05 7efh ; e9 d7 fe7983 je near 0581bh ; 0f 84 d6 fe 7984 jmp near 0581fh ; e9 d7 fe 8002 7985 mov dx, strict word 00017h ; ba 17 00 8003 7986 mov ax, strict word 00040h ; b8 40 00 8004 call 016b8h ; e8 97 bd7987 call 016b8h ; e8 67 bd 8005 7988 mov dx, word [bp+012h] ; 8b 56 12 8006 7989 mov dl, al ; 88 c2 … … 8008 7991 mov dx, strict word 00018h ; ba 18 00 8009 7992 mov ax, strict word 00040h ; b8 40 00 8010 call 016b8h ; e8 86 bd7993 call 016b8h ; e8 56 bd 8011 7994 mov bh, al ; 88 c7 8012 7995 and bh, 073h ; 80 e7 73 8013 7996 mov dx, 00096h ; ba 96 00 8014 7997 mov ax, strict word 00040h ; b8 40 00 8015 call 016b8h ; e8 78 bd7998 call 016b8h ; e8 48 bd 8016 7999 and AL, strict byte 00ch ; 24 0c 8017 8000 or bh, al ; 08 c7 … … 8020 8003 movzx ax, bh ; 0f b6 c7 8021 8004 sal ax, 008h ; c1 e0 08 8022 jmp near 057 b2h ; e9 60 fe8005 jmp near 057e2h ; e9 60 fe 8023 8006 mov ax, word [bp+012h] ; 8b 46 12 8024 8007 xor ah, ah ; 30 e4 8025 8008 or ah, 080h ; 80 cc 80 8026 jmp near 058 32h ; e9 d5 fe8009 jmp near 05862h ; e9 d5 fe 8027 8010 mov bx, 00da0h ; bb a0 0d 8028 8011 mov cx, ds ; 8c d9 8029 8012 mov ax, strict word 00004h ; b8 04 00 8030 call 01999h ; e8 31 c08013 call 01999h ; e8 01 c0 8031 8014 mov ax, word [bp+012h] ; 8b 46 12 8032 8015 shr ax, 008h ; c1 e8 08 … … 8034 8017 push 00633h ; 68 33 06 8035 8018 push strict byte 00004h ; 6a 04 8036 call 019dah ; e8 63 c08019 call 019dah ; e8 33 c0 8037 8020 add sp, strict byte 00006h ; 83 c4 06 8038 8021 mov bx, 00da0h ; bb a0 0d 8039 8022 mov cx, ds ; 8c d9 8040 8023 mov ax, strict word 00004h ; b8 04 00 8041 call 01999h ; e8 14 c08024 call 01999h ; e8 e4 bf 8042 8025 mov ax, word [bp+00eh] ; 8b 46 0e 8043 8026 push ax ; 50 … … 8050 8033 push 0065bh ; 68 5b 06 8051 8034 push strict byte 00004h ; 6a 04 8052 call 019dah ; e8 3d c08035 call 019dah ; e8 0d c0 8053 8036 add sp, strict byte 0000ch ; 83 c4 0c 8054 8037 lea sp, [bp-002h] ; 8d 66 fe … … 8056 8039 pop bp ; 5d 8057 8040 retn ; c3 8058 set_geom_lba_: ; 0xf59 a6 LB 0xe58041 set_geom_lba_: ; 0xf59d6 LB 0xe5 8059 8042 push bx ; 53 8060 8043 push cx ; 51 … … 8071 8054 mov dx, word [bp+00ch] ; 8b 56 0c 8072 8055 mov si, strict word 00020h ; be 20 00 8073 call 09f 00h ; e8 2f 458056 call 09f30h ; e8 2f 45 8074 8057 test ax, ax ; 85 c0 8075 jne short 05 9e1h ; 75 0c8058 jne short 05a11h ; 75 0c 8076 8059 test bx, bx ; 85 db 8077 jne short 05 9e1h ; 75 088060 jne short 05a11h ; 75 08 8078 8061 test cx, cx ; 85 c9 8079 jne short 05 9e1h ; 75 048062 jne short 05a11h ; 75 04 8080 8063 test dx, dx ; 85 d2 8081 je short 05 9e8h ; 74 078064 je short 05a18h ; 74 07 8082 8065 mov bx, strict word 0ffffh ; bb ff ff 8083 8066 mov si, bx ; 89 de 8084 jmp short 05 9eeh ; eb 068067 jmp short 05a1eh ; eb 06 8085 8068 mov bx, word [bp+00ch] ; 8b 5e 0c 8086 8069 mov si, word [bp+00eh] ; 8b 76 0e 8087 8070 mov word [bp-004h], bx ; 89 5e fc 8088 8071 xor bx, bx ; 31 db 8089 jmp short 05 9fah ; eb 058072 jmp short 05a2ah ; eb 05 8090 8073 cmp bx, strict byte 00004h ; 83 fb 04 8091 jnl short 05a 1dh ; 7d 238074 jnl short 05a4dh ; 7d 23 8092 8075 mov ax, word [bp-006h] ; 8b 46 fa 8093 8076 cmp si, ax ; 39 c6 8094 jc short 05a 0bh ; 72 0a8095 jne short 05a 14h ; 75 118077 jc short 05a3bh ; 72 0a 8078 jne short 05a44h ; 75 11 8096 8079 mov ax, word [bp-004h] ; 8b 46 fc 8097 8080 cmp ax, word [bp-008h] ; 3b 46 f8 8098 jnbe short 05a 14h ; 77 098081 jnbe short 05a44h ; 77 09 8099 8082 mov ax, word [bp-002h] ; 8b 46 fe 8100 8083 inc ax ; 40 … … 8104 8087 rcr word [bp-008h], 1 ; d1 5e f8 8105 8088 inc bx ; 43 8106 jmp short 05 9f5h ; eb d88089 jmp short 05a25h ; eb d8 8107 8090 mov ax, word [bp-002h] ; 8b 46 fe 8108 8091 xor dx, dx ; 31 d2 8109 8092 mov bx, strict word 0003fh ; bb 3f 00 8110 8093 xor cx, cx ; 31 c9 8111 call 09e 80h ; e8 56 448094 call 09eb0h ; e8 56 44 8112 8095 mov bx, ax ; 89 c3 8113 8096 mov cx, dx ; 89 d1 8114 8097 mov ax, word [bp-004h] ; 8b 46 fc 8115 8098 mov dx, si ; 89 f2 8116 call 09e c0h ; e8 8a 448099 call 09ef0h ; e8 8a 44 8117 8100 mov word [es:di+002h], ax ; 26 89 45 02 8118 8101 cmp ax, 00400h ; 3d 00 04 8119 jbe short 05a 45h ; 76 068102 jbe short 05a75h ; 76 06 8120 8103 mov word [es:di+002h], 00400h ; 26 c7 45 02 00 04 8121 8104 mov ax, word [bp-002h] ; 8b 46 fe … … 8128 8111 pop bx ; 5b 8129 8112 retn 00008h ; c2 08 00 8130 adc ax, 03b5bh ; 15 5b 3b8113 inc bp ; 45 8131 8114 pop bx ; 5b 8132 push 0685bh ; 68 5b 68 8115 imul bx, word [bp+di-068h], strict byte 0005bh ; 6b 5b 98 5b 8116 cbw ; 98 8133 8117 pop bx ; 5b 8134 push 0495bh ; 68 5b 49 8118 cbw ; 98 8119 pop bx ; 5b 8120 jns short 05af2h ; 79 5d 8121 cmpsw ; a7 8122 pop si ; 5e 8123 cmpsw ; a7 8124 pop si ; 5e 8125 xchg dx, ax ; 92 8135 8126 pop bp ; 5d 8136 jnbe short 05ac5h ; 77 5e 8137 jnbe short 05ac7h ; 77 5e 8138 bound bx, [di+054h] ; 62 5d 54 8127 test byte [bp-059h], bl ; 84 5e a7 8139 8128 pop si ; 5e 8140 jnbe short 05acdh ; 77 5e 8141 jnbe short 05acfh ; 77 5e 8142 push sp ; 54 8129 cmpsw ; a7 8143 8130 pop si ; 5e 8144 push sp ; 548131 test byte [bp-07ch], bl ; 84 5e 84 8145 8132 pop si ; 5e 8146 jnbe short 05ad5h ; 77 5e 8147 jnbe short 05ad7h ; 77 5e 8148 fcomp dword [di+054h] ; d8 5d 54 8133 cmpsw ; a7 8149 8134 pop si ; 5e 8150 jnbe short 05addh ; 77 5e 8151 jnbe short 05adfh ; 77 5e 8152 push sp ; 54 8135 cmpsw ; a7 8153 8136 pop si ; 5e 8154 or byte [bp +077h], bl ; 08 5e 778137 or byte [bp-07ch], bl ; 08 5e 84 8155 8138 pop si ; 5e 8156 jnbe short 05ae7h ; 77 5e 8157 jnbe short 05ae9h ; 77 5e 8158 _int13_harddisk: ; 0xf5a8b LB 0x44a 8139 cmpsw ; a7 8140 pop si ; 5e 8141 cmpsw ; a7 8142 pop si ; 5e 8143 test byte [bp+038h], bl ; 84 5e 38 8144 pop si ; 5e 8145 cmpsw ; a7 8146 pop si ; 5e 8147 cmpsw ; a7 8148 pop si ; 5e 8149 cmpsw ; a7 8150 pop si ; 5e 8151 _int13_harddisk: ; 0xf5abb LB 0x44a 8159 8152 push bp ; 55 8160 8153 mov bp, sp ; 89 e5 … … 8162 8155 mov dx, strict word 0000eh ; ba 0e 00 8163 8156 mov ax, strict word 00040h ; b8 40 00 8164 call 016d4h ; e8 3a bc8157 call 016d4h ; e8 0a bc 8165 8158 mov si, 00122h ; be 22 01 8166 8159 mov word [bp-004h], ax ; 89 46 fc … … 8168 8161 mov dx, 0008eh ; ba 8e 00 8169 8162 mov ax, strict word 00040h ; b8 40 00 8170 call 016c6h ; e8 1b bc8163 call 016c6h ; e8 eb bb 8171 8164 mov ax, word [bp+00eh] ; 8b 46 0e 8172 8165 xor ah, ah ; 30 e4 8173 8166 cmp ax, 00080h ; 3d 80 00 8174 jc short 05a bah ; 72 058167 jc short 05aeah ; 72 05 8175 8168 cmp ax, 00090h ; 3d 90 00 8176 jc short 05 ad8h ; 72 1e8169 jc short 05b08h ; 72 1e 8177 8170 mov ax, word [bp+00eh] ; 8b 46 0e 8178 8171 xor ah, ah ; 30 e4 … … 8184 8177 push 0068dh ; 68 8d 06 8185 8178 push strict byte 00004h ; 6a 04 8186 call 019dah ; e8 08 bf8179 call 019dah ; e8 d8 be 8187 8180 add sp, strict byte 0000ah ; 83 c4 0a 8188 jmp near 05e 92h ; e9 ba 038181 jmp near 05ec2h ; e9 ba 03 8189 8182 mov ax, word [bp+00eh] ; 8b 46 0e 8190 8183 xor ah, ah ; 30 e4 … … 8195 8188 mov byte [bp-002h], dl ; 88 56 fe 8196 8189 cmp dl, 010h ; 80 fa 10 8197 jc short 05b 01h ; 72 108190 jc short 05b31h ; 72 10 8198 8191 push ax ; 50 8199 8192 mov ax, word [bp+016h] ; 8b 46 16 … … 8202 8195 push 0067eh ; 68 7e 06 8203 8196 push 006b8h ; 68 b8 06 8204 jmp short 05a cdh ; eb cc8197 jmp short 05afdh ; eb cc 8205 8198 mov bx, word [bp+016h] ; 8b 5e 16 8206 8199 shr bx, 008h ; c1 eb 08 8207 8200 cmp bx, strict byte 00018h ; 83 fb 18 8208 jnbe near 05e 77h ; 0f 87 69 038201 jnbe near 05ea7h ; 0f 87 69 03 8209 8202 add bx, bx ; 01 db 8210 jmp word [cs:bx+05a 59h] ; 2e ff a7 59 5a8203 jmp word [cs:bx+05a89h] ; 2e ff a7 89 5a 8211 8204 cmp byte [bp-002h], 008h ; 80 7e fe 08 8212 jnc near 05b 24h ; 0f 83 07 008205 jnc near 05b54h ; 0f 83 07 00 8213 8206 movzx ax, byte [bp-002h] ; 0f b6 46 fe 8214 call 01de4h ; e8 c0 c28207 call 01de4h ; e8 90 c2 8215 8208 mov byte [bp+017h], 000h ; c6 46 17 00 8216 8209 xor bx, bx ; 31 db 8217 8210 mov dx, strict word 00074h ; ba 74 00 8218 8211 mov ax, strict word 00040h ; b8 40 00 8219 call 016c6h ; e8 93 bb8212 call 016c6h ; e8 63 bb 8220 8213 and byte [bp+01ch], 0feh ; 80 66 1c fe 8221 8214 mov sp, bp ; 89 ec … … 8224 8217 mov dx, strict word 00074h ; ba 74 00 8225 8218 mov ax, strict word 00040h ; b8 40 00 8226 call 016b8h ; e8 74 bb8219 call 016b8h ; e8 44 bb 8227 8220 mov cl, al ; 88 c1 8228 8221 mov dx, word [bp+016h] ; 8b 56 16 … … 8235 8228 mov dx, strict word 00074h ; ba 74 00 8236 8229 mov ax, strict word 00040h ; b8 40 00 8237 call 016c6h ; e8 65 bb8230 call 016c6h ; e8 35 bb 8238 8231 test cl, cl ; 84 c9 8239 je short 05b 28h ; 74 c38240 jmp near 05e aeh ; e9 46 038232 je short 05b58h ; 74 c3 8233 jmp near 05edeh ; e9 46 03 8241 8234 mov ax, word [bp+016h] ; 8b 46 16 8242 8235 xor ah, ah ; 30 e4 … … 8258 8251 mov ax, word [bp-00ch] ; 8b 46 f4 8259 8252 cmp ax, 00080h ; 3d 80 00 8260 jnbe short 05b a3h ; 77 048253 jnbe short 05bd3h ; 77 04 8261 8254 test ax, ax ; 85 c0 8262 jne short 05b c6h ; 75 238255 jne short 05bf6h ; 75 23 8263 8256 mov bx, 00da0h ; bb a0 0d 8264 8257 mov cx, ds ; 8c d9 8265 8258 mov ax, strict word 00004h ; b8 04 00 8266 call 01999h ; e8 eb bd8259 call 01999h ; e8 bb bd 8267 8260 mov ax, word [bp+016h] ; 8b 46 16 8268 8261 shr ax, 008h ; c1 e8 08 … … 8271 8264 push 006eah ; 68 ea 06 8272 8265 push strict byte 00004h ; 6a 04 8273 call 019dah ; e8 1a be8266 call 019dah ; e8 ea bd 8274 8267 add sp, strict byte 00008h ; 83 c4 08 8275 jmp near 05e 92h ; e9 cc 028268 jmp near 05ec2h ; e9 cc 02 8276 8269 movzx ax, byte [bp-002h] ; 0f b6 46 fe 8277 8270 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 8284 8277 mov word [bp-00ah], dx ; 89 56 f6 8285 8278 cmp di, ax ; 39 c7 8286 jnc short 05 bf3h ; 73 0c8279 jnc short 05c23h ; 73 0c 8287 8280 cmp cx, word [bp-008h] ; 3b 4e f8 8288 jbe short 05 bf3h ; 76 078281 jbe short 05c23h ; 76 07 8289 8282 mov ax, word [bp-006h] ; 8b 46 fa 8290 8283 cmp ax, dx ; 39 d0 8291 jbe short 05c 21h ; 76 2e8284 jbe short 05c51h ; 76 2e 8292 8285 mov bx, 00da0h ; bb a0 0d 8293 8286 mov cx, ds ; 8c d9 8294 8287 mov ax, strict word 00004h ; b8 04 00 8295 call 01999h ; e8 9b bd8288 call 01999h ; e8 6b bd 8296 8289 push dword [bp-008h] ; 66 ff 76 f8 8297 8290 push di ; 57 … … 8305 8298 push 00712h ; 68 12 07 8306 8299 push strict byte 00004h ; 6a 04 8307 call 019dah ; e8 bf bd8300 call 019dah ; e8 8f bd 8308 8301 add sp, strict byte 00010h ; 83 c4 10 8309 jmp near 05e 92h ; e9 71 028302 jmp near 05ec2h ; e9 71 02 8310 8303 mov ax, word [bp+016h] ; 8b 46 16 8311 8304 shr ax, 008h ; c1 e8 08 8312 8305 cmp ax, strict word 00004h ; 3d 04 00 8313 jne short 05c 2fh ; 75 038314 jmp near 05b 24h ; e9 f5 fe8306 jne short 05c5fh ; 75 03 8307 jmp near 05b54h ; e9 f5 fe 8315 8308 movzx bx, byte [bp-002h] ; 0f b6 5e fe 8316 8309 imul bx, bx, strict byte 0001ch ; 6b db 1c … … 8318 8311 add bx, si ; 01 f3 8319 8312 cmp cx, word [es:bx+030h] ; 26 3b 4f 30 8320 jne short 05c 50h ; 75 0f8313 jne short 05c80h ; 75 0f 8321 8314 mov ax, word [es:bx+034h] ; 26 8b 47 34 8322 8315 cmp ax, word [bp-00ah] ; 3b 46 f6 8323 jne short 05c 50h ; 75 068316 jne short 05c80h ; 75 06 8324 8317 cmp byte [bp-002h], 008h ; 80 7e fe 08 8325 jc short 05c 80h ; 72 308318 jc short 05cb0h ; 72 30 8326 8319 mov ax, di ; 89 f8 8327 8320 xor dx, dx ; 31 d2 8328 8321 mov bx, cx ; 89 cb 8329 8322 xor cx, cx ; 31 c9 8330 call 09e 80h ; e8 25 428323 call 09eb0h ; e8 25 42 8331 8324 xor bx, bx ; 31 db 8332 8325 add ax, word [bp-008h] ; 03 46 f8 … … 8334 8327 mov bx, word [bp-00ah] ; 8b 5e f6 8335 8328 xor cx, cx ; 31 c9 8336 call 09e 80h ; e8 16 428329 call 09eb0h ; e8 16 42 8337 8330 xor bx, bx ; 31 db 8338 8331 add ax, word [bp-006h] ; 03 46 fa … … 8389 8382 mov word [bp+016h], bx ; 89 5e 16 8390 8383 test dl, dl ; 84 d2 8391 je near 05b 24h ; 0f 84 0a fe8384 je near 05b54h ; 0f 84 0a fe 8392 8385 mov bx, 00da0h ; bb a0 0d 8393 8386 mov cx, ds ; 8c d9 8394 8387 mov ax, strict word 00004h ; b8 04 00 8395 call 01999h ; e8 74 bc8388 call 01999h ; e8 44 bc 8396 8389 movzx ax, dl ; 0f b6 c2 8397 8390 push ax ; 50 … … 8402 8395 push 00759h ; 68 59 07 8403 8396 push strict byte 00004h ; 6a 04 8404 call 019dah ; e8 9f bc8397 call 019dah ; e8 6f bc 8405 8398 add sp, strict byte 0000ah ; 83 c4 0a 8406 8399 mov ax, word [bp+016h] ; 8b 46 16 8407 8400 xor ah, ah ; 30 e4 8408 8401 or ah, 00ch ; 80 cc 0c 8409 jmp near 05e 9ah ; e9 51 018402 jmp near 05ecah ; e9 51 01 8410 8403 mov bx, 00da0h ; bb a0 0d 8411 8404 mov cx, ds ; 8c d9 8412 8405 mov ax, strict word 00004h ; b8 04 00 8413 call 01999h ; e8 45 bc8406 call 01999h ; e8 15 bc 8414 8407 push 0077ah ; 68 7a 07 8415 8408 push strict byte 00004h ; 6a 04 8416 call 019dah ; e8 7e bc8409 call 019dah ; e8 4e bc 8417 8410 add sp, strict byte 00004h ; 83 c4 04 8418 jmp near 05b 24h ; e9 c2 fd8411 jmp near 05b54h ; e9 c2 fd 8419 8412 movzx ax, byte [bp-002h] ; 0f b6 46 fe 8420 8413 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 8459 8452 or dx, ax ; 09 c2 8460 8453 mov word [bp+012h], dx ; 89 56 12 8461 jmp near 05b 24h ; e9 4c fd8454 jmp near 05b54h ; e9 4c fd 8462 8455 movzx ax, byte [bp-002h] ; 0f b6 46 fe 8463 8456 cwd ; 99 … … 8475 8468 and AL, strict byte 0c0h ; 24 c0 8476 8469 cmp AL, strict byte 040h ; 3c 40 8477 jne short 05 dfdh ; 75 038478 jmp near 05b 24h ; e9 27 fd8470 jne short 05e2dh ; 75 03 8471 jmp near 05b54h ; e9 27 fd 8479 8472 mov ax, word [bp+016h] ; 8b 46 16 8480 8473 xor ah, ah ; 30 e4 8481 8474 or ah, 0aah ; 80 cc aa 8482 jmp near 05e 9ah ; e9 92 008475 jmp near 05ecah ; e9 92 00 8483 8476 movzx ax, byte [bp-002h] ; 0f b6 46 fe 8484 8477 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 8494 8487 mov bx, word [bp-008h] ; 8b 5e f8 8495 8488 xor cx, cx ; 31 c9 8496 call 09e 80h ; e8 4e 408489 call 09eb0h ; e8 4e 40 8497 8490 mov bx, word [bp-006h] ; 8b 5e fa 8498 8491 xor cx, cx ; 31 c9 8499 call 09e 80h ; e8 46 408492 call 09eb0h ; e8 46 40 8500 8493 mov word [bp-010h], ax ; 89 46 f0 8501 8494 mov word [bp-00eh], dx ; 89 56 f2 … … 8506 8499 or ah, 003h ; 80 cc 03 8507 8500 mov word [bp+016h], ax ; 89 46 16 8508 jmp near 05b 28h ; e9 d4 fc8501 jmp near 05b58h ; e9 d4 fc 8509 8502 mov bx, 00da0h ; bb a0 0d 8510 8503 mov cx, ds ; 8c d9 8511 8504 mov ax, strict word 00004h ; b8 04 00 8512 call 01999h ; e8 3a bb8505 call 01999h ; e8 0a bb 8513 8506 mov ax, word [bp+016h] ; 8b 46 16 8514 8507 shr ax, 008h ; c1 e8 08 … … 8517 8510 push 00794h ; 68 94 07 8518 8511 push strict byte 00004h ; 6a 04 8519 call 019dah ; e8 69 bb8512 call 019dah ; e8 39 bb 8520 8513 add sp, strict byte 00008h ; 83 c4 08 8521 jmp near 05b 24h ; e9 ad fc8514 jmp near 05b54h ; e9 ad fc 8522 8515 mov bx, 00da0h ; bb a0 0d 8523 8516 mov cx, ds ; 8c d9 8524 8517 mov ax, strict word 00004h ; b8 04 00 8525 call 01999h ; e8 17 bb8518 call 01999h ; e8 e7 ba 8526 8519 mov ax, word [bp+016h] ; 8b 46 16 8527 8520 shr ax, 008h ; c1 e8 08 … … 8529 8522 push 0067eh ; 68 7e 06 8530 8523 push 007c7h ; 68 c7 07 8531 jmp near 05b bbh ; e9 29 fd8524 jmp near 05bebh ; e9 29 fd 8532 8525 mov ax, word [bp+016h] ; 8b 46 16 8533 8526 xor ah, ah ; 30 e4 … … 8539 8532 mov dx, strict word 00074h ; ba 74 00 8540 8533 mov ax, strict word 00040h ; b8 40 00 8541 call 016c6h ; e8 18 b88534 call 016c6h ; e8 e8 b7 8542 8535 or byte [bp+01ch], 001h ; 80 4e 1c 01 8543 jmp near 05b37h ; e9 82 fc 8544 jnc short 05f16h ; 73 5f 8545 mov bx, word [bx-075h] ; 8b 5f 8b 8536 jmp near 05b67h ; e9 82 fc 8537 mov word [0bb5fh], ax ; a3 5f bb 8546 8538 pop di ; 5f 8547 mov bx, word [bx+05fh] ; 8b 5f 5f 8548 arpl ax, sp ; 63 e0 8549 pushaw ; 60 8550 mov bx, word [bx-01ah] ; 8b 5f e6 8551 pushaw ; 60 8539 mov bx, 0bb5fh ; bb 5f bb 8552 8540 pop di ; 5f 8553 arpl [bp-0519dh], bp ; 63 ae 63 ae 8554 arpl [bp-0519dh], bp ; 63 ae 63 ae 8555 arpl [bp+063h], si ; 63 76 63 8556 scasb ; ae 8541 db 08fh, 063h, 010h 8542 ; pop word [bp+di+010h] ; 8f 63 10 8543 popaw ; 61 8544 mov bx, 0165fh ; bb 5f 16 8545 popaw ; 61 8546 db 08fh, 063h, 0deh 8547 ; pop word [bp+di-022h] ; 8f 63 de 8548 arpl si, bx ; 63 de 8549 arpl si, bx ; 63 de 8550 arpl si, bx ; 63 de 8551 arpl [bp-0219dh], sp ; 63 a6 63 de 8552 arpl si, bx ; 63 de 8557 8553 db 063h 8558 scasb ; ae 8559 db 063h 8560 _int13_harddisk_ext: ; 0xf5ed5 LB 0x4f4 8554 _int13_harddisk_ext: ; 0xf5f05 LB 0x4f4 8561 8555 push bp ; 55 8562 8556 mov bp, sp ; 89 e5 … … 8564 8558 mov dx, strict word 0000eh ; ba 0e 00 8565 8559 mov ax, strict word 00040h ; b8 40 00 8566 call 016d4h ; e8 f0 b78560 call 016d4h ; e8 c0 b7 8567 8561 mov word [bp-014h], ax ; 89 46 ec 8568 8562 mov dx, strict word 0000eh ; ba 0e 00 8569 8563 mov ax, strict word 00040h ; b8 40 00 8570 call 016d4h ; e8 e4 b78564 call 016d4h ; e8 b4 b7 8571 8565 mov word [bp-008h], 00122h ; c7 46 f8 22 01 8572 8566 mov word [bp-006h], ax ; 89 46 fa … … 8574 8568 mov dx, 0008eh ; ba 8e 00 8575 8569 mov ax, strict word 00040h ; b8 40 00 8576 call 016c6h ; e8 c3 b78570 call 016c6h ; e8 93 b7 8577 8571 mov ax, word [bp+00eh] ; 8b 46 0e 8578 8572 xor ah, ah ; 30 e4 8579 8573 cmp ax, 00080h ; 3d 80 00 8580 jc short 05f 12h ; 72 058574 jc short 05f42h ; 72 05 8581 8575 cmp ax, 00090h ; 3d 90 00 8582 jc short 05f 30h ; 72 1e8576 jc short 05f60h ; 72 1e 8583 8577 mov ax, word [bp+00eh] ; 8b 46 0e 8584 8578 xor ah, ah ; 30 e4 … … 8590 8584 push 0068dh ; 68 8d 06 8591 8585 push strict byte 00004h ; 6a 04 8592 call 019dah ; e8 b0 ba8586 call 019dah ; e8 80 ba 8593 8587 add sp, strict byte 0000ah ; 83 c4 0a 8594 jmp near 063 8ch ; e9 5c 048588 jmp near 063bch ; e9 5c 04 8595 8589 mov ax, word [bp+00eh] ; 8b 46 0e 8596 8590 xor ah, ah ; 30 e4 … … 8600 8594 mov byte [bp-004h], dl ; 88 56 fc 8601 8595 cmp dl, 010h ; 80 fa 10 8602 jc short 05f 57h ; 72 108596 jc short 05f87h ; 72 10 8603 8597 push ax ; 50 8604 8598 mov ax, word [bp+016h] ; 8b 46 16 … … 8607 8601 push 007f5h ; 68 f5 07 8608 8602 push 006b8h ; 68 b8 06 8609 jmp short 05f 25h ; eb ce8603 jmp short 05f55h ; eb ce 8610 8604 mov bx, word [bp+016h] ; 8b 5e 16 8611 8605 shr bx, 008h ; c1 eb 08 8612 8606 sub bx, strict byte 00041h ; 83 eb 41 8613 8607 cmp bx, strict byte 0000fh ; 83 fb 0f 8614 jnbe near 063 aeh ; 0f 87 47 048608 jnbe near 063deh ; 0f 87 47 04 8615 8609 add bx, bx ; 01 db 8616 8610 mov ax, word [bp+016h] ; 8b 46 16 8617 8611 xor ah, ah ; 30 e4 8618 jmp word [cs:bx+05e b5h] ; 2e ff a7 b5 5e8612 jmp word [cs:bx+05ee5h] ; 2e ff a7 e5 5e 8619 8613 mov word [bp+010h], 0aa55h ; c7 46 10 55 aa 8620 8614 mov ax, word [bp+016h] ; 8b 46 16 … … 8623 8617 mov word [bp+016h], ax ; 89 46 16 8624 8618 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 8625 jmp near 063 63h ; e9 d8 038619 jmp near 06393h ; e9 d8 03 8626 8620 mov di, word [bp+00ah] ; 8b 7e 0a 8627 8621 mov es, [bp+004h] ; 8e 46 04 … … 8639 8633 xor bx, bx ; 31 db 8640 8634 mov si, strict word 00020h ; be 20 00 8641 call 09f 10h ; e8 52 3f8635 call 09f40h ; e8 52 3f 8642 8636 mov word [bp-00eh], bx ; 89 5e f2 8643 8637 mov bx, word [es:di+008h] ; 26 8b 5d 08 … … 8651 8645 mov bl, byte [es:di+022h] ; 26 8a 5d 22 8652 8646 cmp ax, word [es:di+03ch] ; 26 3b 45 3c 8653 jnbe short 060 05h ; 77 228654 jne short 060 28h ; 75 438647 jnbe short 06035h ; 77 22 8648 jne short 06058h ; 75 43 8655 8649 mov si, word [bp-00eh] ; 8b 76 f2 8656 8650 cmp si, word [es:di+03ah] ; 26 3b 75 3a 8657 jnbe short 060 05h ; 77 178651 jnbe short 06035h ; 77 17 8658 8652 mov si, word [bp-00eh] ; 8b 76 f2 8659 8653 cmp si, word [es:di+03ah] ; 26 3b 75 3a 8660 jne short 060 28h ; 75 318654 jne short 06058h ; 75 31 8661 8655 cmp cx, word [es:di+038h] ; 26 3b 4d 38 8662 jnbe short 060 05h ; 77 088663 jne short 060 28h ; 75 298656 jnbe short 06035h ; 77 08 8657 jne short 06058h ; 75 29 8664 8658 cmp dx, word [es:di+036h] ; 26 3b 55 36 8665 jc short 060 28h ; 72 238659 jc short 06058h ; 72 23 8666 8660 mov bx, 00da0h ; bb a0 0d 8667 8661 mov cx, ds ; 8c d9 8668 8662 mov ax, strict word 00004h ; b8 04 00 8669 call 01999h ; e8 89 b98663 call 01999h ; e8 59 b9 8670 8664 mov ax, word [bp+016h] ; 8b 46 16 8671 8665 shr ax, 008h ; c1 e8 08 … … 8674 8668 push 00808h ; 68 08 08 8675 8669 push strict byte 00004h ; 6a 04 8676 call 019dah ; e8 b8 b98670 call 019dah ; e8 88 b9 8677 8671 add sp, strict byte 00008h ; 83 c4 08 8678 jmp near 063 8ch ; e9 64 038672 jmp near 063bch ; e9 64 03 8679 8673 mov di, word [bp+016h] ; 8b 7e 16 8680 8674 shr di, 008h ; c1 ef 08 8681 8675 cmp di, strict byte 00044h ; 83 ff 44 8682 je near 063 5fh ; 0f 84 2a 038676 je near 0638fh ; 0f 84 2a 03 8683 8677 cmp di, strict byte 00047h ; 83 ff 47 8684 je near 063 5fh ; 0f 84 23 038678 je near 0638fh ; 0f 84 23 03 8685 8679 les si, [bp-008h] ; c4 76 f8 8686 8680 db 066h, 026h, 0c7h, 044h, 018h, 000h, 000h, 000h, 000h … … 8719 8713 mov word [es:bx+002h], ax ; 26 89 47 02 8720 8714 test dl, dl ; 84 d2 8721 je near 063 5fh ; 0f 84 a8 028715 je near 0638fh ; 0f 84 a8 02 8722 8716 mov bx, 00da0h ; bb a0 0d 8723 8717 mov cx, ds ; 8c d9 8724 8718 mov ax, strict word 00004h ; b8 04 00 8725 call 01999h ; e8 d7 b88719 call 01999h ; e8 a7 b8 8726 8720 movzx ax, dl ; 0f b6 c2 8727 8721 push ax ; 50 … … 8730 8724 push 00759h ; 68 59 07 8731 8725 push strict byte 00004h ; 6a 04 8732 call 019dah ; e8 08 b98726 call 019dah ; e8 d8 b8 8733 8727 add sp, strict byte 0000ah ; 83 c4 0a 8734 8728 mov ax, word [bp+016h] ; 8b 46 16 8735 8729 xor ah, ah ; 30 e4 8736 8730 or ah, 00ch ; 80 cc 0c 8737 jmp near 063 94h ; e9 b4 028731 jmp near 063c4h ; e9 b4 02 8738 8732 or ah, 0b2h ; 80 cc b2 8739 jmp near 063 94h ; e9 ae 028733 jmp near 063c4h ; e9 ae 02 8740 8734 mov bx, word [bp+00ah] ; 8b 5e 0a 8741 8735 mov ax, word [bp+004h] ; 8b 46 04 … … 8747 8741 mov word [bp-010h], ax ; 89 46 f0 8748 8742 cmp ax, strict word 0001ah ; 3d 1a 00 8749 jc near 063 8ch ; 0f 82 89 028750 jc near 061 a2h ; 0f 82 9b 008743 jc near 063bch ; 0f 82 89 02 8744 jc near 061d2h ; 0f 82 9b 00 8751 8745 movzx ax, byte [bp-004h] ; 0f b6 46 fc 8752 8746 imul ax, ax, strict byte 0001ch ; 6b c0 1c … … 8790 8784 mov bx, word [bp-00eh] ; 8b 5e f2 8791 8785 mov si, strict word 00020h ; be 20 00 8792 call 09f 00h ; e8 68 3d8786 call 09f30h ; e8 68 3d 8793 8787 mov bx, di ; 89 fb 8794 8788 mov word [es:bx+014h], dx ; 26 89 57 14 8795 8789 mov word [es:bx+016h], cx ; 26 89 4f 16 8796 8790 cmp word [bp-010h], strict byte 0001eh ; 83 7e f0 1e 8797 jc near 062 a7h ; 0f 82 fd 008791 jc near 062d7h ; 0f 82 fd 00 8798 8792 mov es, [bp-00ah] ; 8e 46 f6 8799 8793 mov word [es:di], strict word 0001eh ; 26 c7 05 1e 00 … … 8821 8815 mov al, byte [es:bx+027h] ; 26 8a 47 27 8822 8816 test al, al ; 84 c0 8823 jne short 062 01h ; 75 048817 jne short 06231h ; 75 04 8824 8818 xor bx, bx ; 31 db 8825 jmp short 062 04h ; eb 038819 jmp short 06234h ; eb 03 8826 8820 mov bx, strict word 00008h ; bb 08 00 8827 8821 or bl, 010h ; 80 cb 10 … … 8837 8831 or bx, cx ; 09 cb 8838 8832 cmp AL, strict byte 003h ; 3c 03 8839 jne short 062 25h ; 75 058833 jne short 06255h ; 75 05 8840 8834 mov ax, strict word 00003h ; b8 03 00 8841 jmp short 062 27h ; eb 028835 jmp short 06257h ; eb 02 8842 8836 xor ax, ax ; 31 c0 8843 8837 or bx, ax ; 09 c3 … … 8865 8859 xor bl, bl ; 30 db 8866 8860 xor bh, bh ; 30 ff 8867 jmp short 062 8ah ; eb 058861 jmp short 062bah ; eb 05 8868 8862 cmp bh, 00fh ; 80 ff 0f 8869 jnc short 062 9dh ; 73 138863 jnc short 062cdh ; 73 13 8870 8864 movzx dx, bh ; 0f b6 d7 8871 8865 add dx, 00356h ; 81 c2 56 03 8872 8866 mov ax, word [bp-014h] ; 8b 46 ec 8873 call 016b8h ; e8 21 b48867 call 016b8h ; e8 f1 b3 8874 8868 add bl, al ; 00 c3 8875 8869 db 0feh, 0c7h 8876 8870 ; inc bh ; fe c7 8877 jmp short 062 85h ; eb e88871 jmp short 062b5h ; eb e8 8878 8872 neg bl ; f6 db 8879 8873 les si, [bp-008h] ; c4 76 f8 8880 8874 mov byte [es:si+00243h], bl ; 26 88 9c 43 02 8881 8875 cmp word [bp-010h], strict byte 00042h ; 83 7e f0 42 8882 jc near 063 5fh ; 0f 82 b0 008876 jc near 0638fh ; 0f 82 b0 00 8883 8877 movzx ax, byte [bp-004h] ; 0f b6 46 fc 8884 8878 cwd ; 99 … … 8898 8892 mov word [es:di+022h], strict word 00000h ; 26 c7 45 22 00 00 8899 8893 test al, al ; 84 c0 8900 jne short 06 2f0h ; 75 098894 jne short 06320h ; 75 09 8901 8895 db 066h, 026h, 0c7h, 045h, 024h, 049h, 053h, 041h, 020h 8902 8896 ; mov dword [es:di+024h], strict dword 020415349h ; 66 26 c7 45 24 49 53 41 20 … … 8907 8901 ; mov dword [es:di+02ch], strict dword 020202020h ; 66 26 c7 45 2c 20 20 20 20 8908 8902 test al, al ; 84 c0 8909 jne short 063 1ch ; 75 138903 jne short 0634ch ; 75 13 8910 8904 mov word [es:di+030h], dx ; 26 89 55 30 8911 8905 db 066h, 026h, 0c7h, 045h, 032h, 000h, 000h, 000h, 000h … … 8922 8916 xor bl, bl ; 30 db 8923 8917 mov BH, strict byte 01eh ; b7 1e 8924 jmp short 063 44h ; eb 058918 jmp short 06374h ; eb 05 8925 8919 cmp bh, 040h ; 80 ff 40 8926 jnc short 063 56h ; 73 128920 jnc short 06386h ; 73 12 8927 8921 movzx dx, bh ; 0f b6 d7 8928 8922 add dx, word [bp+00ah] ; 03 56 0a 8929 8923 mov ax, word [bp+004h] ; 8b 46 04 8930 call 016b8h ; e8 68 b38924 call 016b8h ; e8 38 b3 8931 8925 add bl, al ; 00 c3 8932 8926 db 0feh, 0c7h 8933 8927 ; inc bh ; fe c7 8934 jmp short 063 3fh ; eb e98928 jmp short 0636fh ; eb e9 8935 8929 neg bl ; f6 db 8936 8930 mov es, [bp-00ah] ; 8e 46 f6 … … 8940 8934 mov dx, strict word 00074h ; ba 74 00 8941 8935 mov ax, strict word 00040h ; b8 40 00 8942 call 016c6h ; e8 58 b38936 call 016c6h ; e8 28 b3 8943 8937 and byte [bp+01ch], 0feh ; 80 66 1c fe 8944 8938 mov sp, bp ; 89 ec … … 8946 8940 retn ; c3 8947 8941 cmp ax, strict word 00006h ; 3d 06 00 8948 je short 063 5fh ; 74 e48942 je short 0638fh ; 74 e4 8949 8943 cmp ax, strict word 00001h ; 3d 01 00 8950 jc short 063 8ch ; 72 0c8951 jbe short 063 5fh ; 76 dd8944 jc short 063bch ; 72 0c 8945 jbe short 0638fh ; 76 dd 8952 8946 cmp ax, strict word 00003h ; 3d 03 00 8953 jc short 063 8ch ; 72 058947 jc short 063bch ; 72 05 8954 8948 cmp ax, strict word 00004h ; 3d 04 00 8955 jbe short 063 5fh ; 76 d38949 jbe short 0638fh ; 76 d3 8956 8950 mov ax, word [bp+016h] ; 8b 46 16 8957 8951 xor ah, ah ; 30 e4 … … 8963 8957 mov dx, strict word 00074h ; ba 74 00 8964 8958 mov ax, strict word 00040h ; b8 40 00 8965 call 016c6h ; e8 1e b38959 call 016c6h ; e8 ee b2 8966 8960 or byte [bp+01ch], 001h ; 80 4e 1c 01 8967 jmp short 063 72h ; eb c48961 jmp short 063a2h ; eb c4 8968 8962 mov bx, 00da0h ; bb a0 0d 8969 8963 mov cx, ds ; 8c d9 8970 8964 mov ax, strict word 00004h ; b8 04 00 8971 call 01999h ; e8 e0 b58965 call 01999h ; e8 b0 b5 8972 8966 mov ax, word [bp+016h] ; 8b 46 16 8973 8967 shr ax, 008h ; c1 e8 08 … … 8975 8969 push 007f5h ; 68 f5 07 8976 8970 push 007c7h ; 68 c7 07 8977 jmp near 060 1dh ; e9 54 fc8978 _int14_function: ; 0xf63 c9 LB 0x15a8971 jmp near 0604dh ; e9 54 fc 8972 _int14_function: ; 0xf63f9 LB 0x15a 8979 8973 push bp ; 55 8980 8974 mov bp, sp ; 89 e5 … … 8984 8978 add dx, dx ; 01 d2 8985 8979 mov ax, strict word 00040h ; b8 40 00 8986 call 016d4h ; e8 fb b28980 call 016d4h ; e8 cb b2 8987 8981 mov si, ax ; 89 c6 8988 8982 mov bx, ax ; 89 c3 … … 8990 8984 add dx, strict byte 0007ch ; 83 c2 7c 8991 8985 mov ax, strict word 00040h ; b8 40 00 8992 call 016b8h ; e8 cf b28986 call 016b8h ; e8 9f b2 8993 8987 mov cl, al ; 88 c1 8994 8988 cmp word [bp+00eh], strict byte 00004h ; 83 7e 0e 04 8995 jnc near 065 19h ; 0f 83 26 018989 jnc near 06549h ; 0f 83 26 01 8996 8990 test si, si ; 85 f6 8997 jbe near 065 19h ; 0f 86 20 018991 jbe near 06549h ; 0f 86 20 01 8998 8992 mov al, byte [bp+013h] ; 8a 46 13 8999 8993 cmp AL, strict byte 001h ; 3c 01 9000 jc short 064 11h ; 72 119001 jbe short 064 6ah ; 76 688994 jc short 06441h ; 72 11 8995 jbe short 0649ah ; 76 68 9002 8996 cmp AL, strict byte 003h ; 3c 03 9003 je near 065 02h ; 0f 84 fa 008997 je near 06532h ; 0f 84 fa 00 9004 8998 cmp AL, strict byte 002h ; 3c 02 9005 je near 064 b8h ; 0f 84 aa 009006 jmp near 065 13h ; e9 02 018999 je near 064e8h ; 0f 84 aa 00 9000 jmp near 06543h ; e9 02 01 9007 9001 test al, al ; 84 c0 9008 jne near 065 13h ; 0f 85 fc 009002 jne near 06543h ; 0f 85 fc 00 9009 9003 lea dx, [bx+003h] ; 8d 57 03 9010 9004 in AL, DX ; ec … … 9016 9010 mov al, byte [bp+012h] ; 8a 46 12 9017 9011 test AL, strict byte 0e0h ; a8 e0 9018 jne short 064 36h ; 75 0c9012 jne short 06466h ; 75 0c 9019 9013 mov AL, strict byte 017h ; b0 17 9020 9014 mov dx, bx ; 89 da … … 9023 9017 mov dx, si ; 89 f2 9024 9018 out DX, AL ; ee 9025 jmp short 064 4ch ; eb 169019 jmp short 0647ch ; eb 16 9026 9020 and AL, strict byte 0e0h ; 24 e0 9027 9021 movzx cx, al ; 0f b6 c8 … … 9048 9042 ; sub ah, ah ; 2a e4 9049 9043 mov byte [bp+012h], al ; 88 46 12 9050 jmp near 06 4f4h ; e9 8a 009044 jmp near 06524h ; e9 8a 00 9051 9045 mov dx, strict word 0006ch ; ba 6c 00 9052 9046 mov ax, strict word 00040h ; b8 40 00 9053 call 016d4h ; e8 61 b29047 call 016d4h ; e8 31 b2 9054 9048 mov si, ax ; 89 c6 9055 9049 lea dx, [bx+005h] ; 8d 57 05 … … 9059 9053 and ax, strict word 00060h ; 25 60 00 9060 9054 cmp ax, strict word 00060h ; 3d 60 00 9061 je short 064 9ah ; 74 179055 je short 064cah ; 74 17 9062 9056 test cl, cl ; 84 c9 9063 je short 064 9ah ; 74 139057 je short 064cah ; 74 13 9064 9058 mov dx, strict word 0006ch ; ba 6c 00 9065 9059 mov ax, strict word 00040h ; b8 40 00 9066 call 016d4h ; e8 44 b29060 call 016d4h ; e8 14 b2 9067 9061 cmp ax, si ; 39 f0 9068 je short 064 75h ; 74 e19062 je short 064a5h ; 74 e1 9069 9063 mov si, ax ; 89 c6 9070 9064 db 0feh, 0c9h 9071 9065 ; dec cl ; fe c9 9072 jmp short 064 75h ; eb db9066 jmp short 064a5h ; eb db 9073 9067 test cl, cl ; 84 c9 9074 je short 064 a4h ; 74 069068 je short 064d4h ; 74 06 9075 9069 mov al, byte [bp+012h] ; 8a 46 12 9076 9070 mov dx, bx ; 89 da … … 9082 9076 mov byte [bp+013h], al ; 88 46 13 9083 9077 test cl, cl ; 84 c9 9084 jne short 06 4f4h ; 75 439078 jne short 06524h ; 75 43 9085 9079 or AL, strict byte 080h ; 0c 80 9086 9080 mov byte [bp+013h], al ; 88 46 13 9087 jmp short 06 4f4h ; eb 3c9081 jmp short 06524h ; eb 3c 9088 9082 mov dx, strict word 0006ch ; ba 6c 00 9089 9083 mov ax, strict word 00040h ; b8 40 00 9090 call 016d4h ; e8 13 b29084 call 016d4h ; e8 e3 b1 9091 9085 mov si, ax ; 89 c6 9092 9086 lea dx, [bx+005h] ; 8d 57 05 … … 9095 9089 ; sub ah, ah ; 2a e4 9096 9090 test AL, strict byte 001h ; a8 01 9097 jne short 06 4e4h ; 75 179091 jne short 06514h ; 75 17 9098 9092 test cl, cl ; 84 c9 9099 je short 06 4e4h ; 74 139093 je short 06514h ; 74 13 9100 9094 mov dx, strict word 0006ch ; ba 6c 00 9101 9095 mov ax, strict word 00040h ; b8 40 00 9102 call 016d4h ; e8 fa b19096 call 016d4h ; e8 ca b1 9103 9097 cmp ax, si ; 39 f0 9104 je short 064 c3h ; 74 e59098 je short 064f3h ; 74 e5 9105 9099 mov si, ax ; 89 c6 9106 9100 db 0feh, 0c9h 9107 9101 ; dec cl ; fe c9 9108 jmp short 064 c3h ; eb df9102 jmp short 064f3h ; eb df 9109 9103 test cl, cl ; 84 c9 9110 je short 06 4fah ; 74 129104 je short 0652ah ; 74 12 9111 9105 mov byte [bp+013h], 000h ; c6 46 13 00 9112 9106 mov dx, bx ; 89 da … … 9116 9110 mov byte [bp+012h], al ; 88 46 12 9117 9111 and byte [bp+01ch], 0feh ; 80 66 1c fe 9118 jmp short 065 1dh ; eb 239112 jmp short 0654dh ; eb 23 9119 9113 lea dx, [bx+005h] ; 8d 57 05 9120 9114 in AL, DX ; ec 9121 9115 db 02ah, 0e4h 9122 9116 ; sub ah, ah ; 2a e4 9123 jmp short 064 b3h ; eb b19117 jmp short 064e3h ; eb b1 9124 9118 lea dx, [si+005h] ; 8d 54 05 9125 9119 in AL, DX ; ec … … 9131 9125 db 02ah, 0e4h 9132 9126 ; sub ah, ah ; 2a e4 9133 jmp short 06 4f1h ; eb de9127 jmp short 06521h ; eb de 9134 9128 or byte [bp+01ch], 001h ; 80 4e 1c 01 9135 jmp short 065 1dh ; eb 049129 jmp short 0654dh ; eb 04 9136 9130 or byte [bp+01ch], 001h ; 80 4e 1c 01 9137 9131 lea sp, [bp-002h] ; 8d 66 fe … … 9139 9133 pop bp ; 5d 9140 9134 retn ; c3 9141 timer_wait_: ; 0xf65 23 LB 0x439135 timer_wait_: ; 0xf6553 LB 0x43 9142 9136 push bp ; 55 9143 9137 mov bp, sp ; 89 e5 … … 9147 9141 mov bx, strict word 0000fh ; bb 0f 00 9148 9142 xor cx, cx ; 31 c9 9149 call 09e c0h ; e8 8f 399143 call 09ef0h ; e8 8f 39 9150 9144 mov cx, ax ; 89 c1 9151 9145 mov bx, dx ; 89 d3 … … 9159 9153 adc bx, strict byte 0ffffh ; 83 d3 ff 9160 9154 cmp bx, strict byte 0ffffh ; 83 fb ff 9161 jne short 065 50h ; 75 059155 jne short 06580h ; 75 05 9162 9156 cmp cx, strict byte 0ffffh ; 83 f9 ff 9163 je short 065 5fh ; 74 0f9157 je short 0658fh ; 74 0f 9164 9158 mov dx, strict word 00061h ; ba 61 00 9165 9159 in AL, DX ; ec … … 9168 9162 and AL, strict byte 010h ; 24 10 9169 9163 cmp al, byte [bp-006h] ; 3a 46 fa 9170 jne short 065 50h ; 75 f39171 jmp short 065 40h ; eb e19164 jne short 06580h ; 75 f3 9165 jmp short 06570h ; eb e1 9172 9166 lea sp, [bp-004h] ; 8d 66 fc 9173 9167 pop cx ; 59 … … 9175 9169 pop bp ; 5d 9176 9170 retn ; c3 9177 set_enable_a20_: ; 0xf65 66 LB 0x2c9171 set_enable_a20_: ; 0xf6596 LB 0x2c 9178 9172 push bp ; 55 9179 9173 mov bp, sp ; 89 e5 … … 9188 9182 mov cl, al ; 88 c1 9189 9183 test bx, bx ; 85 db 9190 je short 065 7fh ; 74 059184 je short 065afh ; 74 05 9191 9185 or AL, strict byte 002h ; 0c 02 9192 9186 out DX, AL ; ee 9193 jmp short 065 82h ; eb 039187 jmp short 065b2h ; eb 03 9194 9188 and AL, strict byte 0fdh ; 24 fd 9195 9189 out DX, AL ; ee … … 9204 9198 pop bp ; 5d 9205 9199 retn ; c3 9206 set_e820_range_: ; 0xf65 92 LB 0x899200 set_e820_range_: ; 0xf65c2 LB 0x89 9207 9201 push si ; 56 9208 9202 push bp ; 55 … … 9233 9227 retn 0000ah ; c2 0a 00 9234 9228 db 0ech, 0e9h, 0d8h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 083h, 052h, 04fh, 041h, 024h, 000h 9235 db 0 1fh, 069h, 058h, 066h, 06bh, 066h, 000h, 067h, 006h, 067h, 00bh, 067h, 010h, 067h, 0b2h, 067h9236 db 0 dch, 067h, 0f9h, 066h, 0f9h, 066h, 0a9h, 068h, 0d1h, 068h, 0e4h, 068h, 0f3h, 068h, 000h, 067h9237 db 0 fah, 068h9238 _int15_function: ; 0xf66 1b LB 0x3369229 db 04fh, 069h, 088h, 066h, 09bh, 066h, 030h, 067h, 036h, 067h, 03bh, 067h, 040h, 067h, 0e2h, 067h 9230 db 00ch, 068h, 029h, 067h, 029h, 067h, 0d9h, 068h, 001h, 069h, 014h, 069h, 023h, 069h, 030h, 067h 9231 db 02ah, 069h 9232 _int15_function: ; 0xf664b LB 0x336 9239 9233 push bp ; 55 9240 9234 mov bp, sp ; 89 e5 … … 9244 9238 shr ax, 008h ; c1 e8 08 9245 9239 cmp ax, 000ech ; 3d ec 00 9246 jnbe near 069 1fh ; 0f 87 f2 029240 jnbe near 0694fh ; 0f 87 f2 02 9247 9241 push CS ; 0e 9248 9242 pop ES ; 07 9249 9243 mov cx, strict word 00011h ; b9 11 00 9250 mov di, 06 5e9h ; bf e9 659244 mov di, 06619h ; bf 19 66 9251 9245 repne scasb ; f2 ae 9252 9246 sal cx, 1 ; d1 e1 9253 9247 mov di, cx ; 89 cf 9254 mov si, word [cs:di+06 5f9h] ; 2e 8b b5 f9 659248 mov si, word [cs:di+06629h] ; 2e 8b b5 29 66 9255 9249 mov ax, word [bp+012h] ; 8b 46 12 9256 9250 xor ah, ah ; 30 e4 … … 9265 9259 xor ah, ah ; 30 e4 9266 9260 cmp ax, 000c0h ; 3d c0 00 9267 jne near 069 1fh ; 0f 85 bb 029261 jne near 0694fh ; 0f 85 bb 02 9268 9262 or byte [bp+018h], 001h ; 80 4e 18 01 9269 jmp near 068 c8h ; e9 5d 029263 jmp near 068f8h ; e9 5d 02 9270 9264 mov dx, ax ; 89 c2 9271 9265 cmp ax, strict word 00001h ; 3d 01 00 9272 jc short 066 80h ; 72 0e9273 jbe short 066 94h ; 76 209266 jc short 066b0h ; 72 0e 9267 jbe short 066c4h ; 76 20 9274 9268 cmp ax, strict word 00003h ; 3d 03 00 9275 je short 066 c1h ; 74 489269 je short 066f1h ; 74 48 9276 9270 cmp ax, strict word 00002h ; 3d 02 00 9277 je short 066 a4h ; 74 269278 jmp short 066 ceh ; eb 4e9271 je short 066d4h ; 74 26 9272 jmp short 066feh ; eb 4e 9279 9273 test ax, ax ; 85 c0 9280 jne short 066 ceh ; 75 4a9274 jne short 066feh ; 75 4a 9281 9275 xor ax, ax ; 31 c0 9282 call 065 66h ; e8 dd fe9276 call 06596h ; e8 dd fe 9283 9277 and byte [bp+018h], 0feh ; 80 66 18 fe 9284 9278 mov byte [bp+013h], 000h ; c6 46 13 00 9285 jmp near 06 6f9h ; e9 65 009279 jmp near 06729h ; e9 65 00 9286 9280 mov ax, strict word 00001h ; b8 01 00 9287 call 065 66h ; e8 cc fe9281 call 06596h ; e8 cc fe 9288 9282 and byte [bp+018h], 0feh ; 80 66 18 fe 9289 9283 mov byte [bp+013h], dh ; 88 76 13 9290 jmp near 06 6f9h ; e9 55 009284 jmp near 06729h ; e9 55 00 9291 9285 mov dx, 00092h ; ba 92 00 9292 9286 in AL, DX ; ec … … 9300 9294 and byte [bp+018h], 0feh ; 80 66 18 fe 9301 9295 mov byte [bp+013h], ah ; 88 66 13 9302 jmp near 06 6f9h ; e9 38 009296 jmp near 06729h ; e9 38 00 9303 9297 and byte [bp+018h], 0feh ; 80 66 18 fe 9304 9298 mov byte [bp+013h], ah ; 88 66 13 9305 9299 mov word [bp+00ch], ax ; 89 46 0c 9306 jmp near 06 6f9h ; e9 2b 009300 jmp near 06729h ; e9 2b 00 9307 9301 mov bx, 00da0h ; bb a0 0d 9308 9302 mov cx, ds ; 8c d9 9309 9303 mov ax, strict word 00004h ; b8 04 00 9310 call 01999h ; e8 c0 b29304 call 01999h ; e8 90 b2 9311 9305 mov ax, word [bp+012h] ; 8b 46 12 9312 9306 xor ah, ah ; 30 e4 … … 9314 9308 push 0082eh ; 68 2e 08 9315 9309 push strict byte 00004h ; 6a 04 9316 call 019dah ; e8 f3 b29310 call 019dah ; e8 c3 b2 9317 9311 add sp, strict byte 00006h ; 83 c4 06 9318 9312 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9327 9321 retn ; c3 9328 9322 mov word [bp+018h], bx ; 89 5e 18 9329 jmp near 067 ach ; e9 a6 009323 jmp near 067dch ; e9 a6 00 9330 9324 mov word [bp+018h], bx ; 89 5e 18 9331 jmp short 06 6f9h ; eb ee9325 jmp short 06729h ; eb ee 9332 9326 mov word [bp+018h], cx ; 89 4e 18 9333 jmp short 06 6f6h ; eb e69327 jmp short 06726h ; eb e6 9334 9328 test byte [bp+012h], 0ffh ; f6 46 12 ff 9335 jne short 067 82h ; 75 6c9329 jne short 067b2h ; 75 6c 9336 9330 mov dx, 000a0h ; ba a0 00 9337 9331 mov ax, strict word 00040h ; b8 40 00 9338 call 016b8h ; e8 99 af9332 call 016b8h ; e8 69 af 9339 9333 test AL, strict byte 001h ; a8 01 9340 jne near 068 bfh ; 0f 85 9a 019334 jne near 068efh ; 0f 85 9a 01 9341 9335 mov bx, strict word 00001h ; bb 01 00 9342 9336 mov dx, 000a0h ; ba a0 00 9343 9337 mov ax, strict word 00040h ; b8 40 00 9344 call 016c6h ; e8 95 af9338 call 016c6h ; e8 65 af 9345 9339 mov bx, word [bp+014h] ; 8b 5e 14 9346 9340 mov dx, 00098h ; ba 98 00 9347 9341 mov ax, strict word 00040h ; b8 40 00 9348 call 016e2h ; e8 a5 af9342 call 016e2h ; e8 75 af 9349 9343 mov bx, word [bp+00ch] ; 8b 5e 0c 9350 9344 mov dx, 0009ah ; ba 9a 00 9351 9345 mov ax, strict word 00040h ; b8 40 00 9352 call 016e2h ; e8 99 af9346 call 016e2h ; e8 69 af 9353 9347 mov bx, word [bp+00eh] ; 8b 5e 0e 9354 9348 mov dx, 0009ch ; ba 9c 00 9355 9349 mov ax, strict word 00040h ; b8 40 00 9356 call 016e2h ; e8 8d af9350 call 016e2h ; e8 5d af 9357 9351 mov bx, word [bp+010h] ; 8b 5e 10 9358 9352 mov dx, 0009eh ; ba 9e 00 9359 9353 mov ax, strict word 00040h ; b8 40 00 9360 call 016e2h ; e8 81 af9354 call 016e2h ; e8 51 af 9361 9355 and byte [bp+018h], 0feh ; 80 66 18 fe 9362 9356 mov dx, 000a1h ; ba a1 00 … … 9367 9361 out DX, AL ; ee 9368 9362 mov ax, strict word 0000bh ; b8 0b 00 9369 call 01714h ; e8 a0 af9363 call 01714h ; e8 70 af 9370 9364 or AL, strict byte 040h ; 0c 40 9371 9365 movzx dx, al ; 0f b6 d0 9372 9366 mov ax, strict word 0000bh ; b8 0b 00 9373 call 01731h ; e8 b2 af9374 jmp near 06 6f9h ; e9 77 ff9367 call 01731h ; e8 82 af 9368 jmp near 06729h ; e9 77 ff 9375 9369 cmp ax, strict word 00001h ; 3d 01 00 9376 jne short 067 a0h ; 75 199370 jne short 067d0h ; 75 19 9377 9371 xor bx, bx ; 31 db 9378 9372 mov dx, 000a0h ; ba a0 00 9379 9373 mov ax, strict word 00040h ; b8 40 00 9380 call 016c6h ; e8 34 af9374 call 016c6h ; e8 04 af 9381 9375 and byte [bp+018h], 0feh ; 80 66 18 fe 9382 9376 mov ax, strict word 0000bh ; b8 0b 00 9383 call 01714h ; e8 78 af9377 call 01714h ; e8 48 af 9384 9378 and AL, strict byte 0bfh ; 24 bf 9385 jmp short 067 76h ; eb d69379 jmp short 067a6h ; eb d6 9386 9380 mov word [bp+018h], bx ; 89 5e 18 9387 9381 mov ax, dx ; 89 d0 … … 9391 9385 or dx, ax ; 09 c2 9392 9386 mov word [bp+012h], dx ; 89 56 12 9393 jmp near 06 6f9h ; e9 47 ff9387 jmp near 06729h ; e9 47 ff 9394 9388 mov ax, strict word 00031h ; b8 31 00 9395 call 01714h ; e8 5c af9389 call 01714h ; e8 2c af 9396 9390 movzx dx, al ; 0f b6 d0 9397 9391 sal dx, 008h ; c1 e2 08 9398 9392 mov ax, strict word 00030h ; b8 30 00 9399 call 01714h ; e8 50 af9393 call 01714h ; e8 20 af 9400 9394 xor ah, ah ; 30 e4 9401 9395 or dx, ax ; 09 c2 9402 9396 mov word [bp+012h], dx ; 89 56 12 9403 9397 cmp dx, strict byte 0ffc0h ; 83 fa c0 9404 jbe short 06 7d5h ; 76 059398 jbe short 06805h ; 76 05 9405 9399 mov word [bp+012h], strict word 0ffc0h ; c7 46 12 c0 ff 9406 9400 and byte [bp+018h], 0feh ; 80 66 18 fe 9407 jmp near 06 6f9h ; e9 1d ff9401 jmp near 06729h ; e9 1d ff 9408 9402 cli ; fa 9409 9403 mov ax, strict word 00001h ; b8 01 00 9410 call 065 66h ; e8 83 fd9404 call 06596h ; e8 83 fd 9411 9405 mov dx, word [bp+006h] ; 8b 56 06 9412 9406 add dx, strict byte 00038h ; 83 c2 38 9413 9407 mov ax, word [bp+014h] ; 8b 46 14 9414 9408 mov bx, strict word 0ffffh ; bb ff ff 9415 call 016e2h ; e8 f0 ae9409 call 016e2h ; e8 c0 ae 9416 9410 mov dx, word [bp+006h] ; 8b 56 06 9417 9411 add dx, strict byte 0003ah ; 83 c2 3a 9418 9412 mov ax, word [bp+014h] ; 8b 46 14 9419 9413 xor bx, bx ; 31 db 9420 call 016e2h ; e8 e2 ae9414 call 016e2h ; e8 b2 ae 9421 9415 mov dx, word [bp+006h] ; 8b 56 06 9422 9416 add dx, strict byte 0003ch ; 83 c2 3c 9423 9417 mov ax, word [bp+014h] ; 8b 46 14 9424 9418 mov bx, strict word 0000fh ; bb 0f 00 9425 call 016c6h ; e8 b7 ae9419 call 016c6h ; e8 87 ae 9426 9420 mov dx, word [bp+006h] ; 8b 56 06 9427 9421 add dx, strict byte 0003dh ; 83 c2 3d 9428 9422 mov ax, word [bp+014h] ; 8b 46 14 9429 9423 mov bx, 0009bh ; bb 9b 00 9430 call 016c6h ; e8 a8 ae9424 call 016c6h ; e8 78 ae 9431 9425 mov dx, word [bp+006h] ; 8b 56 06 9432 9426 add dx, strict byte 0003eh ; 83 c2 3e 9433 9427 mov ax, word [bp+014h] ; 8b 46 14 9434 9428 xor bx, bx ; 31 db 9435 call 016e2h ; e8 b6 ae9429 call 016e2h ; e8 86 ae 9436 9430 mov AL, strict byte 011h ; b0 11 9437 9431 mov dx, strict word 00020h ; ba 20 00 … … 9463 9457 out DX, AL ; ee 9464 9458 mov si, word [bp+006h] ; 8b 76 06 9465 call 068 6dh ; e8 00 009459 call 0689dh ; e8 00 00 9466 9460 pop di ; 5f 9467 9461 add di, strict byte 00018h ; 83 c7 18 … … 9491 9485 push cx ; 51 9492 9486 retf ; cb 9493 jmp near 06 6f9h ; e9 50 fe9487 jmp near 06729h ; e9 50 fe 9494 9488 mov bx, 00da0h ; bb a0 0d 9495 9489 mov cx, ds ; 8c d9 9496 9490 mov ax, strict word 00004h ; b8 04 00 9497 call 01999h ; e8 e5 b09491 call 01999h ; e8 b5 b0 9498 9492 push 0086eh ; 68 6e 08 9499 9493 push strict byte 00004h ; 6a 04 9500 call 019dah ; e8 1e b19494 call 019dah ; e8 ee b0 9501 9495 add sp, strict byte 00004h ; 83 c4 04 9502 9496 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9505 9499 or ah, 086h ; 80 cc 86 9506 9500 mov word [bp+012h], ax ; 89 46 12 9507 jmp near 06 6f9h ; e9 28 fe9501 jmp near 06729h ; e9 28 fe 9508 9502 mov word [bp+018h], cx ; 89 4e 18 9509 9503 mov word [bp+012h], ax ; 89 46 12 9510 9504 mov word [bp+00ch], 0e6f5h ; c7 46 0c f5 e6 9511 9505 mov word [bp+014h], 0f000h ; c7 46 14 00 f0 9512 jmp near 06 6f9h ; e9 15 fe9506 jmp near 06729h ; e9 15 fe 9513 9507 mov dx, strict word 0000eh ; ba 0e 00 9514 9508 mov ax, strict word 00040h ; b8 40 00 9515 call 016d4h ; e8 e7 ad9509 call 016d4h ; e8 b7 ad 9516 9510 mov word [bp+014h], ax ; 89 46 14 9517 jmp near 06 7d5h ; e9 e2 fe9511 jmp near 06805h ; e9 e2 fe 9518 9512 push 0089dh ; 68 9d 08 9519 9513 push strict byte 00008h ; 6a 08 9520 jmp short 068 b9h ; eb bf9514 jmp short 068e9h ; eb bf 9521 9515 test byte [bp+012h], 0ffh ; f6 46 12 ff 9522 jne short 069 1fh ; 75 1f9516 jne short 0694fh ; 75 1f 9523 9517 mov word [bp+012h], ax ; 89 46 12 9524 9518 mov ax, word [bp+00ch] ; 8b 46 0c 9525 9519 xor ah, ah ; 30 e4 9526 9520 cmp ax, strict word 00001h ; 3d 01 00 9527 jc short 069 18h ; 72 0b9521 jc short 06948h ; 72 0b 9528 9522 cmp ax, strict word 00003h ; 3d 03 00 9529 jnbe short 069 18h ; 77 069523 jnbe short 06948h ; 77 06 9530 9524 mov word [bp+018h], cx ; 89 4e 18 9531 jmp near 06 6f9h ; e9 e1 fd9525 jmp near 06729h ; e9 e1 fd 9532 9526 or byte [bp+018h], 001h ; 80 4e 18 01 9533 jmp near 06 6f9h ; e9 da fd9527 jmp near 06729h ; e9 da fd 9534 9528 mov bx, 00da0h ; bb a0 0d 9535 9529 mov cx, ds ; 8c d9 9536 9530 mov ax, strict word 00004h ; b8 04 00 9537 call 01999h ; e8 6f b09531 call 01999h ; e8 3f b0 9538 9532 push word [bp+00ch] ; ff 76 0c 9539 9533 push word [bp+012h] ; ff 76 12 9540 9534 push 008b4h ; 68 b4 08 9541 9535 push strict byte 00004h ; 6a 04 9542 call 019dah ; e8 a2 b09536 call 019dah ; e8 72 b0 9543 9537 add sp, strict byte 00008h ; 83 c4 08 9544 jmp short 068bfh ; eb 82 9545 retf 0ec6ah ; ca 6a ec 9546 push strict byte 0000fh ; 6a 0f 9547 imul si, word [bx+di], strict byte 0006bh ; 6b 31 6b 9548 push cx ; 51 9549 imul si, word [bx+si+06bh], strict byte 0ff94h ; 6b 70 6b 94 9550 imul di, word [bx+si-00895h], strict byte 0006bh ; 6b b8 6b f7 6b 9551 db 023h 9538 jmp short 068efh ; eb 82 9539 cli ; fa 9540 push strict byte 0001ch ; 6a 1c 9541 imul di, word [bx], strict byte 0006bh ; 6b 3f 6b 9542 popaw ; 61 9543 imul ax, word [bx+di-05f95h], strict byte 0006bh ; 6b 81 6b a0 6b 9544 les bp, [bp+di-018h] ; c4 6b e8 9545 imul sp, word [bx], strict byte 0006ch ; 6b 27 6c 9546 push bx ; 53 9552 9547 insb ; 6c 9553 _int15_function32: ; 0xf69 51 LB 0x3969548 _int15_function32: ; 0xf6981 LB 0x396 9554 9549 push bp ; 55 9555 9550 mov bp, sp ; 89 e5 … … 9563 9558 xor dh, dh ; 30 f6 9564 9559 cmp ax, 000e8h ; 3d e8 00 9565 je near 06 9eeh ; 0f 84 7e 009560 je near 06a1eh ; 0f 84 7e 00 9566 9561 cmp ax, 000d0h ; 3d d0 00 9567 je short 069 89h ; 74 149562 je short 069b9h ; 74 14 9568 9563 cmp ax, 00086h ; 3d 86 00 9569 jne near 06c b7h ; 0f 85 3b 039564 jne near 06ce7h ; 0f 85 3b 03 9570 9565 sti ; fb 9571 9566 mov dx, word [bp+01ch] ; 8b 56 1c 9572 9567 mov ax, word [bp+018h] ; 8b 46 18 9573 call 065 23h ; e8 9d fb9574 jmp near 06 ce1h ; e9 58 039568 call 06553h ; e8 9d fb 9569 jmp near 06d11h ; e9 58 03 9575 9570 cmp dx, strict byte 0004fh ; 83 fa 4f 9576 jne near 06c b7h ; 0f 85 27 039571 jne near 06ce7h ; 0f 85 27 03 9577 9572 cmp word [bp+016h], 05052h ; 81 7e 16 52 50 9578 jne near 06c b7h ; 0f 85 1e 039573 jne near 06ce7h ; 0f 85 1e 03 9579 9574 cmp word [bp+014h], 04f43h ; 81 7e 14 43 4f 9580 jne near 06c b7h ; 0f 85 15 039575 jne near 06ce7h ; 0f 85 15 03 9581 9576 cmp word [bp+01eh], 04d4fh ; 81 7e 1e 4f 4d 9582 jne near 06c b7h ; 0f 85 0c 039577 jne near 06ce7h ; 0f 85 0c 03 9583 9578 cmp word [bp+01ch], 04445h ; 81 7e 1c 45 44 9584 jne near 06c b7h ; 0f 85 03 039579 jne near 06ce7h ; 0f 85 03 03 9585 9580 mov ax, word [bp+00ah] ; 8b 46 0a 9586 9581 or ax, word [bp+008h] ; 0b 46 08 9587 jne near 06c b7h ; 0f 85 f9 029582 jne near 06ce7h ; 0f 85 f9 02 9588 9583 mov ax, word [bp+006h] ; 8b 46 06 9589 9584 or ax, word [bp+004h] ; 0b 46 04 9590 jne near 06c b7h ; 0f 85 ef 029585 jne near 06ce7h ; 0f 85 ef 02 9591 9586 mov word [bp+028h], bx ; 89 5e 28 9592 9587 mov ax, word [bp+014h] ; 8b 46 14 … … 9599 9594 mov word [bp+006h], ax ; 89 46 06 9600 9595 mov dword [bp+020h], strict dword 049413332h ; 66 c7 46 20 32 33 41 49 9601 jmp near 06 ce1h ; e9 f3 029596 jmp near 06d11h ; e9 f3 02 9602 9597 cmp dx, strict byte 00020h ; 83 fa 20 9603 je short 06 9fdh ; 74 0a9598 je short 06a2dh ; 74 0a 9604 9599 cmp dx, strict byte 00001h ; 83 fa 01 9605 je near 06c 6ah ; 0f 84 70 029606 jmp near 06c b7h ; e9 ba 029600 je near 06c9ah ; 0f 84 70 02 9601 jmp near 06ce7h ; e9 ba 02 9607 9602 cmp word [bp+01ah], 0534dh ; 81 7e 1a 4d 53 9608 jne near 06c b7h ; 0f 85 b1 029603 jne near 06ce7h ; 0f 85 b1 02 9609 9604 cmp word [bp+018h], 04150h ; 81 7e 18 50 41 9610 jne near 06c b7h ; 0f 85 a8 029605 jne near 06ce7h ; 0f 85 a8 02 9611 9606 mov ax, strict word 00035h ; b8 35 00 9612 call 01714h ; e8 ff ac9607 call 01714h ; e8 cf ac 9613 9608 movzx bx, al ; 0f b6 d8 9614 9609 xor dx, dx ; 31 d2 … … 9616 9611 sal bx, 1 ; d1 e3 9617 9612 rcl dx, 1 ; d1 d2 9618 loop 06a 1dh ; e2 fa9613 loop 06a4dh ; e2 fa 9619 9614 mov ax, strict word 00034h ; b8 34 00 9620 call 01714h ; e8 eb ac9615 call 01714h ; e8 bb ac 9621 9616 xor ah, ah ; 30 e4 9622 9617 mov dx, bx ; 89 da … … 9626 9621 adc dx, 00100h ; 81 d2 00 01 9627 9622 cmp dx, 00100h ; 81 fa 00 01 9628 jc short 06a 43h ; 72 069629 jne short 06a 70h ; 75 319623 jc short 06a73h ; 72 06 9624 jne short 06aa0h ; 75 31 9630 9625 test bx, bx ; 85 db 9631 jnbe short 06a 70h ; 77 2d9626 jnbe short 06aa0h ; 77 2d 9632 9627 mov ax, strict word 00031h ; b8 31 00 9633 call 01714h ; e8 cb ac9628 call 01714h ; e8 9b ac 9634 9629 movzx bx, al ; 0f b6 d8 9635 9630 xor dx, dx ; 31 d2 … … 9637 9632 sal bx, 1 ; d1 e3 9638 9633 rcl dx, 1 ; d1 d2 9639 loop 06a 51h ; e2 fa9634 loop 06a81h ; e2 fa 9640 9635 mov ax, strict word 00030h ; b8 30 00 9641 call 01714h ; e8 b7 ac9636 call 01714h ; e8 87 ac 9642 9637 xor ah, ah ; 30 e4 9643 9638 or bx, ax ; 09 c3 … … 9645 9640 sal bx, 1 ; d1 e3 9646 9641 rcl dx, 1 ; d1 d2 9647 loop 06a 64h ; e2 fa9642 loop 06a94h ; e2 fa 9648 9643 add bx, strict byte 00000h ; 83 c3 00 9649 9644 adc dx, strict byte 00010h ; 83 d2 10 9650 9645 mov ax, strict word 00062h ; b8 62 00 9651 call 01714h ; e8 9e ac9646 call 01714h ; e8 6e ac 9652 9647 xor ah, ah ; 30 e4 9653 9648 mov word [bp-00ah], ax ; 89 46 f6 … … 9657 9652 sal word [bp-00ah], 1 ; d1 66 f6 9658 9653 rcl word [bp-008h], 1 ; d1 56 f8 9659 loop 06a 83h ; e2 f89654 loop 06ab3h ; e2 f8 9660 9655 mov ax, strict word 00061h ; b8 61 00 9661 call 01714h ; e8 83 ac9656 call 01714h ; e8 53 ac 9662 9657 xor ah, ah ; 30 e4 9663 9658 or word [bp-00ah], ax ; 09 46 f6 … … 9666 9661 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 9667 9662 mov ax, strict word 00063h ; b8 63 00 9668 call 01714h ; e8 6d ac9663 call 01714h ; e8 3d ac 9669 9664 mov byte [bp-004h], al ; 88 46 fc 9670 9665 mov byte [bp-006h], al ; 88 46 fa 9671 9666 mov ax, word [bp+014h] ; 8b 46 14 9672 9667 cmp ax, strict word 00009h ; 3d 09 00 9673 jnbe near 06c b7h ; 0f 87 00 029668 jnbe near 06ce7h ; 0f 87 00 02 9674 9669 mov si, ax ; 89 c6 9675 9670 add si, ax ; 01 c6 … … 9678 9673 mov cx, dx ; 89 d1 9679 9674 adc cx, strict byte 0ffffh ; 83 d1 ff 9680 jmp word [cs:si+069 3dh] ; 2e ff a4 3d 699675 jmp word [cs:si+0696dh] ; 2e ff a4 6d 69 9681 9676 push strict byte 00001h ; 6a 01 9682 9677 push dword 000000000h ; 66 6a 00 … … 9687 9682 xor bx, bx ; 31 db 9688 9683 xor cx, cx ; 31 c9 9689 call 065 92h ; e8 b1 fa9684 call 065c2h ; e8 b1 fa 9690 9685 mov dword [bp+014h], strict dword 000000001h ; 66 c7 46 14 01 00 00 00 9691 jmp near 06c 54h ; e9 68 019686 jmp near 06c84h ; e9 68 01 9692 9687 push strict byte 00002h ; 6a 02 9693 9688 push dword 000000000h ; 66 6a 00 … … 9698 9693 mov bx, 0fc00h ; bb 00 fc 9699 9694 mov cx, strict word 00009h ; b9 09 00 9700 call 065 92h ; e8 8e fa9695 call 065c2h ; e8 8e fa 9701 9696 mov dword [bp+014h], strict dword 000000002h ; 66 c7 46 14 02 00 00 00 9702 jmp near 06c 54h ; e9 45 019697 jmp near 06c84h ; e9 45 01 9703 9698 push strict byte 00002h ; 6a 02 9704 9699 push dword 000000000h ; 66 6a 00 … … 9709 9704 xor bx, bx ; 31 db 9710 9705 mov cx, strict word 0000fh ; b9 0f 00 9711 call 065 92h ; e8 6c fa9706 call 065c2h ; e8 6c fa 9712 9707 mov dword [bp+014h], strict dword 000000003h ; 66 c7 46 14 03 00 00 00 9713 jmp near 06c 54h ; e9 23 019708 jmp near 06c84h ; e9 23 01 9714 9709 push strict byte 00001h ; 6a 01 9715 9710 push dword 000000000h ; 66 6a 00 … … 9720 9715 xor bx, bx ; 31 db 9721 9716 mov cx, strict word 00010h ; b9 10 00 9722 call 065 92h ; e8 4c fa9717 call 065c2h ; e8 4c fa 9723 9718 mov dword [bp+014h], strict dword 000000004h ; 66 c7 46 14 04 00 00 00 9724 jmp near 06c 54h ; e9 03 019719 jmp near 06c84h ; e9 03 01 9725 9720 push strict byte 00003h ; 6a 03 9726 9721 push dword 000000000h ; 66 6a 00 … … 9731 9726 mov bx, ax ; 89 c3 9732 9727 mov ax, si ; 89 f0 9733 call 065 92h ; e8 2d fa9728 call 065c2h ; e8 2d fa 9734 9729 mov dword [bp+014h], strict dword 000000005h ; 66 c7 46 14 05 00 00 00 9735 jmp near 06c 54h ; e9 e4 009730 jmp near 06c84h ; e9 e4 00 9736 9731 push strict byte 00002h ; 6a 02 9737 9732 push dword 000000000h ; 66 6a 00 … … 9742 9737 xor bx, bx ; 31 db 9743 9738 mov cx, 0fec0h ; b9 c0 fe 9744 call 065 92h ; e8 09 fa9739 call 065c2h ; e8 09 fa 9745 9740 mov dword [bp+014h], strict dword 000000006h ; 66 c7 46 14 06 00 00 00 9746 jmp near 06c 54h ; e9 c0 009741 jmp near 06c84h ; e9 c0 00 9747 9742 push strict byte 00002h ; 6a 02 9748 9743 push dword 000000000h ; 66 6a 00 … … 9753 9748 xor bx, bx ; 31 db 9754 9749 mov cx, 0fee0h ; b9 e0 fe 9755 call 065 92h ; e8 e5 f99750 call 065c2h ; e8 e5 f9 9756 9751 mov dword [bp+014h], strict dword 000000007h ; 66 c7 46 14 07 00 00 00 9757 jmp near 06c 54h ; e9 9c 009752 jmp near 06c84h ; e9 9c 00 9758 9753 push strict byte 00002h ; 6a 02 9759 9754 push dword 000000000h ; 66 6a 00 … … 9763 9758 xor bx, bx ; 31 db 9764 9759 mov cx, strict word 0fffch ; b9 fc ff 9765 call 065 92h ; e8 c4 f99760 call 065c2h ; e8 c4 f9 9766 9761 cmp byte [bp-004h], 000h ; 80 7e fc 00 9767 jne short 06 bdbh ; 75 079762 jne short 06c0bh ; 75 07 9768 9763 mov ax, word [bp-008h] ; 8b 46 f8 9769 9764 test ax, ax ; 85 c0 9770 je short 06 befh ; 74 149765 je short 06c1fh ; 74 14 9771 9766 mov dword [bp+014h], strict dword 000000009h ; 66 c7 46 14 09 00 00 00 9772 jmp short 06c 54h ; eb 6f9767 jmp short 06c84h ; eb 6f 9773 9768 mov dword [bp+014h], strict dword 000000008h ; 66 c7 46 14 08 00 00 00 9774 jmp short 06c 54h ; eb 659769 jmp short 06c84h ; eb 65 9775 9770 mov word [bp+014h], ax ; 89 46 14 9776 9771 mov word [bp+016h], ax ; 89 46 16 9777 jmp short 06c 54h ; eb 5d9772 jmp short 06c84h ; eb 5d 9778 9773 push strict byte 00002h ; 6a 02 9779 9774 push dword 000000000h ; 66 6a 00 … … 9783 9778 xor bx, bx ; 31 db 9784 9779 xor cx, cx ; 31 c9 9785 call 065 92h ; e8 86 f99780 call 065c2h ; e8 86 f9 9786 9781 cmp byte [bp-004h], 000h ; 80 7e fc 00 9787 jne short 06c 19h ; 75 079782 jne short 06c49h ; 75 07 9788 9783 mov ax, word [bp-008h] ; 8b 46 f8 9789 9784 test ax, ax ; 85 c0 9790 je short 06c 1bh ; 74 029791 jmp short 06 bdbh ; eb c09785 je short 06c4bh ; 74 02 9786 jmp short 06c0bh ; eb c0 9792 9787 mov word [bp+014h], ax ; 89 46 14 9793 9788 mov word [bp+016h], ax ; 89 46 16 9794 jmp short 06c 54h ; eb 319789 jmp short 06c84h ; eb 31 9795 9790 cmp byte [bp-004h], 000h ; 80 7e fc 00 9796 jne short 06c 2fh ; 75 069791 jne short 06c5fh ; 75 06 9797 9792 cmp word [bp-008h], strict byte 00000h ; 83 7e f8 00 9798 je short 06c 54h ; 74 259793 je short 06c84h ; 74 25 9799 9794 push strict byte 00001h ; 6a 01 9800 9795 mov al, byte [bp-006h] ; 8a 46 fa … … 9809 9804 xor bx, bx ; 31 db 9810 9805 xor cx, cx ; 31 c9 9811 call 065 92h ; e8 46 f99806 call 065c2h ; e8 46 f9 9812 9807 xor ax, ax ; 31 c0 9813 9808 mov word [bp+014h], ax ; 89 46 14 … … 9816 9811 mov dword [bp+01ch], strict dword 000000014h ; 66 c7 46 1c 14 00 00 00 9817 9812 and byte [bp+028h], 0feh ; 80 66 28 fe 9818 jmp short 06 ce1h ; eb 779813 jmp short 06d11h ; eb 77 9819 9814 mov word [bp+028h], bx ; 89 5e 28 9820 9815 mov ax, strict word 00031h ; b8 31 00 9821 call 01714h ; e8 a1 aa9816 call 01714h ; e8 71 aa 9822 9817 xor ah, ah ; 30 e4 9823 9818 mov dx, ax ; 89 c2 9824 9819 sal dx, 008h ; c1 e2 08 9825 9820 mov ax, strict word 00030h ; b8 30 00 9826 call 01714h ; e8 94 aa9821 call 01714h ; e8 64 aa 9827 9822 xor ah, ah ; 30 e4 9828 9823 or dx, ax ; 09 c2 9829 9824 mov word [bp+01ch], dx ; 89 56 1c 9830 9825 cmp dx, 03c00h ; 81 fa 00 3c 9831 jbe short 06c 92h ; 76 059826 jbe short 06cc2h ; 76 05 9832 9827 mov word [bp+01ch], 03c00h ; c7 46 1c 00 3c 9833 9828 mov ax, strict word 00035h ; b8 35 00 9834 call 01714h ; e8 7c aa9829 call 01714h ; e8 4c aa 9835 9830 xor ah, ah ; 30 e4 9836 9831 mov dx, ax ; 89 c2 9837 9832 sal dx, 008h ; c1 e2 08 9838 9833 mov ax, strict word 00034h ; b8 34 00 9839 call 01714h ; e8 6f aa9834 call 01714h ; e8 3f aa 9840 9835 xor ah, ah ; 30 e4 9841 9836 or dx, ax ; 09 c2 … … 9844 9839 mov word [bp+020h], ax ; 89 46 20 9845 9840 mov word [bp+014h], dx ; 89 56 14 9846 jmp short 06 ce1h ; eb 2a9841 jmp short 06d11h ; eb 2a 9847 9842 mov bx, 00da0h ; bb a0 0d 9848 9843 mov cx, ds ; 8c d9 9849 9844 mov ax, strict word 00004h ; b8 04 00 9850 call 01999h ; e8 d7 ac9845 call 01999h ; e8 a7 ac 9851 9846 push word [bp+014h] ; ff 76 14 9852 9847 push word [bp+020h] ; ff 76 20 9853 9848 push 008b4h ; 68 b4 08 9854 9849 push strict byte 00004h ; 6a 04 9855 call 019dah ; e8 0a ad9850 call 019dah ; e8 da ac 9856 9851 add sp, strict byte 00008h ; 83 c4 08 9857 9852 or byte [bp+028h], 001h ; 80 4e 28 01 … … 9864 9859 pop bp ; 5d 9865 9860 retn ; c3 9866 _int15_blkmove: ; 0xf6 ce7 LB 0x1ab9861 _int15_blkmove: ; 0xf6d17 LB 0x1ab 9867 9862 push bp ; 55 9868 9863 mov bp, sp ; 89 e5 … … 9873 9868 cli ; fa 9874 9869 mov ax, strict word 00001h ; b8 01 00 9875 call 065 66h ; e8 71 f89870 call 06596h ; e8 71 f8 9876 9871 mov di, ax ; 89 c7 9877 9872 mov ax, word [bp+006h] ; 8b 46 06 … … 9883 9878 mov byte [bp-006h], dl ; 88 56 fa 9884 9879 cmp cx, ax ; 39 c1 9885 jnc short 06d 14h ; 73 059880 jnc short 06d44h ; 73 05 9886 9881 db 0feh, 0c2h 9887 9882 ; inc dl ; fe c2 … … 9891 9886 mov ax, word [bp+006h] ; 8b 46 06 9892 9887 mov bx, strict word 0002fh ; bb 2f 00 9893 call 016e2h ; e8 bf a99888 call 016e2h ; e8 8f a9 9894 9889 mov dx, word [bp+00ah] ; 8b 56 0a 9895 9890 add dx, strict byte 0000ah ; 83 c2 0a 9896 9891 mov ax, word [bp+006h] ; 8b 46 06 9897 9892 mov bx, cx ; 89 cb 9898 call 016e2h ; e8 b1 a99893 call 016e2h ; e8 81 a9 9899 9894 movzx bx, byte [bp-006h] ; 0f b6 5e fa 9900 9895 mov dx, word [bp+00ah] ; 8b 56 0a 9901 9896 add dx, strict byte 0000ch ; 83 c2 0c 9902 9897 mov ax, word [bp+006h] ; 8b 46 06 9903 call 016c6h ; e8 85 a99898 call 016c6h ; e8 55 a9 9904 9899 mov dx, word [bp+00ah] ; 8b 56 0a 9905 9900 add dx, strict byte 0000dh ; 83 c2 0d 9906 9901 mov ax, word [bp+006h] ; 8b 46 06 9907 9902 mov bx, 00093h ; bb 93 00 9908 call 016c6h ; e8 76 a99903 call 016c6h ; e8 46 a9 9909 9904 mov dx, word [bp+00ah] ; 8b 56 0a 9910 9905 add dx, strict byte 0000eh ; 83 c2 0e 9911 9906 mov ax, word [bp+006h] ; 8b 46 06 9912 9907 xor bx, bx ; 31 db 9913 call 016e2h ; e8 84 a99908 call 016e2h ; e8 54 a9 9914 9909 mov dx, word [bp+00ah] ; 8b 56 0a 9915 9910 add dx, strict byte 00020h ; 83 c2 20 9916 9911 mov ax, word [bp+006h] ; 8b 46 06 9917 9912 mov bx, strict word 0ffffh ; bb ff ff 9918 call 016e2h ; e8 75 a99913 call 016e2h ; e8 45 a9 9919 9914 mov dx, word [bp+00ah] ; 8b 56 0a 9920 9915 add dx, strict byte 00022h ; 83 c2 22 9921 9916 mov ax, word [bp+006h] ; 8b 46 06 9922 9917 xor bx, bx ; 31 db 9923 call 016e2h ; e8 67 a99918 call 016e2h ; e8 37 a9 9924 9919 mov dx, word [bp+00ah] ; 8b 56 0a 9925 9920 add dx, strict byte 00024h ; 83 c2 24 9926 9921 mov ax, word [bp+006h] ; 8b 46 06 9927 9922 mov bx, strict word 0000fh ; bb 0f 00 9928 call 016c6h ; e8 3c a99923 call 016c6h ; e8 0c a9 9929 9924 mov dx, word [bp+00ah] ; 8b 56 0a 9930 9925 add dx, strict byte 00025h ; 83 c2 25 9931 9926 mov ax, word [bp+006h] ; 8b 46 06 9932 9927 mov bx, 0009bh ; bb 9b 00 9933 call 016c6h ; e8 2d a99928 call 016c6h ; e8 fd a8 9934 9929 mov dx, word [bp+00ah] ; 8b 56 0a 9935 9930 add dx, strict byte 00026h ; 83 c2 26 9936 9931 mov ax, word [bp+006h] ; 8b 46 06 9937 9932 xor bx, bx ; 31 db 9938 call 016e2h ; e8 3b a99933 call 016e2h ; e8 0b a9 9939 9934 mov ax, ss ; 8c d0 9940 9935 mov cx, ax ; 89 c1 … … 9946 9941 mov ax, word [bp+006h] ; 8b 46 06 9947 9942 mov bx, strict word 0ffffh ; bb ff ff 9948 call 016e2h ; e8 1f a99943 call 016e2h ; e8 ef a8 9949 9944 mov dx, word [bp+00ah] ; 8b 56 0a 9950 9945 add dx, strict byte 0002ah ; 83 c2 2a 9951 9946 mov ax, word [bp+006h] ; 8b 46 06 9952 9947 mov bx, cx ; 89 cb 9953 call 016e2h ; e8 11 a99948 call 016e2h ; e8 e1 a8 9954 9949 movzx bx, byte [bp-008h] ; 0f b6 5e f8 9955 9950 mov dx, word [bp+00ah] ; 8b 56 0a 9956 9951 add dx, strict byte 0002ch ; 83 c2 2c 9957 9952 mov ax, word [bp+006h] ; 8b 46 06 9958 call 016c6h ; e8 e5 a89953 call 016c6h ; e8 b5 a8 9959 9954 mov dx, word [bp+00ah] ; 8b 56 0a 9960 9955 add dx, strict byte 0002dh ; 83 c2 2d 9961 9956 mov ax, word [bp+006h] ; 8b 46 06 9962 9957 mov bx, 00093h ; bb 93 00 9963 call 016c6h ; e8 d6 a89958 call 016c6h ; e8 a6 a8 9964 9959 mov dx, word [bp+00ah] ; 8b 56 0a 9965 9960 add dx, strict byte 0002eh ; 83 c2 2e 9966 9961 mov ax, word [bp+006h] ; 8b 46 06 9967 9962 xor bx, bx ; 31 db 9968 call 016e2h ; e8 e4 a89963 call 016e2h ; e8 b4 a8 9969 9964 lea ax, [bp+004h] ; 8d 46 04 9970 9965 mov si, word [bp+00ah] ; 8b 76 0a … … 9978 9973 mov word [00467h], sp ; 89 26 67 04 9979 9974 mov [00469h], ss ; 8c 16 69 04 9980 call 06e 1dh ; e8 00 009975 call 06e4dh ; e8 00 00 9981 9976 pop di ; 5f 9982 9977 add di, strict byte 0001bh ; 83 c7 1b … … 10001 9996 cld ; fc 10002 9997 rep movsw ; f3 a5 10003 call 06e 51h ; e8 00 009998 call 06e81h ; e8 00 00 10004 9999 pop ax ; 58 10005 10000 push 0f000h ; 68 00 f0 … … 10022 10017 pop DS ; 1f 10023 10018 mov ax, di ; 89 f8 10024 call 065 66h ; e8 e4 f610019 call 06596h ; e8 e4 f6 10025 10020 sti ; fb 10026 10021 mov byte [bp+017h], 000h ; c6 46 17 00 … … 10031 10026 pop bp ; 5d 10032 10027 retn ; c3 10033 _inv_op_handler: ; 0xf6e 92 LB 0x19510028 _inv_op_handler: ; 0xf6ec2 LB 0x195 10034 10029 push bp ; 55 10035 10030 mov bp, sp ; 89 e5 … … 10040 10035 les bx, [bp+018h] ; c4 5e 18 10041 10036 cmp byte [es:bx], 0f0h ; 26 80 3f f0 10042 jne short 06e a8h ; 75 0610037 jne short 06ed8h ; 75 06 10043 10038 inc word [bp+018h] ; ff 46 18 10044 jmp near 070 20h ; e9 78 0110039 jmp near 07050h ; e9 78 01 10045 10040 cmp word [es:bx], 0050fh ; 26 81 3f 0f 05 10046 jne near 070 1ch ; 0f 85 6b 0110041 jne near 0704ch ; 0f 85 6b 01 10047 10042 mov si, 00800h ; be 00 08 10048 10043 xor ax, ax ; 31 c0 … … 10072 10067 sal ax, 1 ; d1 e0 10073 10068 rcl dx, 1 ; d1 d2 10074 loop 06f 01h ; e2 fa10069 loop 06f31h ; e2 fa 10075 10070 cmp bx, dx ; 39 d3 10076 jne short 06f 0fh ; 75 0410071 jne short 06f3fh ; 75 04 10077 10072 cmp di, ax ; 39 c7 10078 je short 06f 14h ; 74 0510073 je short 06f44h ; 74 05 10079 10074 mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00 10080 10075 mov es, [bp-006h] ; 8e 46 fa … … 10086 10081 sal ax, 1 ; d1 e0 10087 10082 rcl dx, 1 ; d1 d2 10088 loop 06f 29h ; e2 fa10083 loop 06f59h ; e2 fa 10089 10084 cmp di, dx ; 39 d7 10090 jne short 06f 37h ; 75 0410085 jne short 06f67h ; 75 04 10091 10086 cmp bx, ax ; 39 c3 10092 je short 06f 3bh ; 74 0410087 je short 06f6bh ; 74 04 10093 10088 or byte [bp-008h], 002h ; 80 4e f8 02 10094 10089 push strict byte 00000h ; 6a 00 … … 10140 10135 mov ax, strict word 00008h ; b8 08 00 10141 10136 test cx, strict word 00001h ; f7 c1 01 00 10142 je near 0 6fd9h ; 0f 84 02 0010137 je near 07009h ; 0f 84 02 00 10143 10138 mov es, ax ; 8e c0 10144 10139 test cx, strict word 00002h ; f7 c1 02 00 10145 je near 070 01h ; 0f 84 20 0010140 je near 07031h ; 0f 84 20 00 10146 10141 mov bx, word [word ss:00000h] ; 36 8b 1e 00 00 10147 10142 mov word [word ss:00008h], bx ; 36 89 1e 08 00 … … 10160 10155 mov ss, [word ss:00020h] ; 36 8e 16 20 00 10161 10156 iret ; cf 10162 jmp short 070 20h ; eb 0410157 jmp short 07050h ; eb 04 10163 10158 sti ; fb 10164 10159 hlt ; f4 10165 jmp short 070 1dh ; eb fd10160 jmp short 0704dh ; eb fd 10166 10161 lea sp, [bp-004h] ; 8d 66 fc 10167 10162 pop di ; 5f … … 10169 10164 pop bp ; 5d 10170 10165 retn ; c3 10171 init_rtc_: ; 0xf70 27 LB 0x2810166 init_rtc_: ; 0xf7057 LB 0x28 10172 10167 push bp ; 55 10173 10168 mov bp, sp ; 89 e5 … … 10175 10170 mov dx, strict word 00026h ; ba 26 00 10176 10171 mov ax, strict word 0000ah ; b8 0a 00 10177 call 01731h ; e8 fd a610172 call 01731h ; e8 cd a6 10178 10173 mov dx, strict word 00002h ; ba 02 00 10179 10174 mov ax, strict word 0000bh ; b8 0b 00 10180 call 01731h ; e8 f4 a610175 call 01731h ; e8 c4 a6 10181 10176 mov ax, strict word 0000ch ; b8 0c 00 10182 call 01714h ; e8 d1 a610177 call 01714h ; e8 a1 a6 10183 10178 mov ax, strict word 0000dh ; b8 0d 00 10184 call 01714h ; e8 cb a610179 call 01714h ; e8 9b a6 10185 10180 lea sp, [bp-002h] ; 8d 66 fe 10186 10181 pop dx ; 5a 10187 10182 pop bp ; 5d 10188 10183 retn ; c3 10189 rtc_updating_: ; 0xf70 4f LB 0x2110184 rtc_updating_: ; 0xf707f LB 0x21 10190 10185 push bp ; 55 10191 10186 mov bp, sp ; 89 e5 … … 10193 10188 mov dx, 061a8h ; ba a8 61 10194 10189 dec dx ; 4a 10195 je short 070 67h ; 74 0e10190 je short 07097h ; 74 0e 10196 10191 mov ax, strict word 0000ah ; b8 0a 00 10197 call 01714h ; e8 b5 a610192 call 01714h ; e8 85 a6 10198 10193 test AL, strict byte 080h ; a8 80 10199 jne short 070 56h ; 75 f310194 jne short 07086h ; 75 f3 10200 10195 xor ax, ax ; 31 c0 10201 jmp short 070 6ah ; eb 0310196 jmp short 0709ah ; eb 03 10202 10197 mov ax, strict word 00001h ; b8 01 00 10203 10198 lea sp, [bp-002h] ; 8d 66 fe … … 10205 10200 pop bp ; 5d 10206 10201 retn ; c3 10207 _int70_function: ; 0xf70 70 LB 0xbe10202 _int70_function: ; 0xf70a0 LB 0xbe 10208 10203 push bp ; 55 10209 10204 mov bp, sp ; 89 e5 … … 10211 10206 push ax ; 50 10212 10207 mov ax, strict word 0000bh ; b8 0b 00 10213 call 01714h ; e8 99 a610208 call 01714h ; e8 69 a6 10214 10209 mov dl, al ; 88 c2 10215 10210 mov byte [bp-004h], al ; 88 46 fc 10216 10211 mov ax, strict word 0000ch ; b8 0c 00 10217 call 01714h ; e8 8e a610212 call 01714h ; e8 5e a6 10218 10213 mov dh, al ; 88 c6 10219 10214 test dl, 060h ; f6 c2 60 10220 je near 071 15h ; 0f 84 86 0010215 je near 07145h ; 0f 84 86 00 10221 10216 test AL, strict byte 020h ; a8 20 10222 je short 070 97h ; 74 0410217 je short 070c7h ; 74 04 10223 10218 sti ; fb 10224 10219 int 04ah ; cd 4a 10225 10220 cli ; fa 10226 10221 test dh, 040h ; f6 c6 40 10227 je near 071 15h ; 0f 84 77 0010222 je near 07145h ; 0f 84 77 00 10228 10223 mov dx, 000a0h ; ba a0 00 10229 10224 mov ax, strict word 00040h ; b8 40 00 10230 call 016b8h ; e8 11 a610225 call 016b8h ; e8 e1 a5 10231 10226 test al, al ; 84 c0 10232 je short 071 15h ; 74 6a10227 je short 07145h ; 74 6a 10233 10228 mov dx, 0009ch ; ba 9c 00 10234 10229 mov ax, strict word 00040h ; b8 40 00 10235 call 016f0h ; e8 3c a610230 call 016f0h ; e8 0c a6 10236 10231 test dx, dx ; 85 d2 10237 jne short 071 01h ; 75 4910232 jne short 07131h ; 75 49 10238 10233 cmp ax, 003d1h ; 3d d1 03 10239 jnc short 071 01h ; 73 4410234 jnc short 07131h ; 73 44 10240 10235 mov dx, 00098h ; ba 98 00 10241 10236 mov ax, strict word 00040h ; b8 40 00 10242 call 016d4h ; e8 0e a610237 call 016d4h ; e8 de a5 10243 10238 mov si, ax ; 89 c6 10244 10239 mov dx, 0009ah ; ba 9a 00 10245 10240 mov ax, strict word 00040h ; b8 40 00 10246 call 016d4h ; e8 03 a610241 call 016d4h ; e8 d3 a5 10247 10242 mov cx, ax ; 89 c1 10248 10243 xor bx, bx ; 31 db 10249 10244 mov dx, 000a0h ; ba a0 00 10250 10245 mov ax, strict word 00040h ; b8 40 00 10251 call 016c6h ; e8 e8 a510246 call 016c6h ; e8 b8 a5 10252 10247 mov al, byte [bp-004h] ; 8a 46 fc 10253 10248 and AL, strict byte 037h ; 24 37 10254 10249 movzx dx, al ; 0f b6 d0 10255 10250 mov ax, strict word 0000bh ; b8 0b 00 10256 call 01731h ; e8 45 a610251 call 01731h ; e8 15 a6 10257 10252 mov dx, cx ; 89 ca 10258 10253 mov ax, si ; 89 f0 10259 call 016b8h ; e8 c5 a510254 call 016b8h ; e8 95 a5 10260 10255 or AL, strict byte 080h ; 0c 80 10261 10256 movzx bx, al ; 0f b6 d8 10262 10257 mov dx, cx ; 89 ca 10263 10258 mov ax, si ; 89 f0 10264 call 016c6h ; e8 c7 a510265 jmp short 071 15h ; eb 1410259 call 016c6h ; e8 97 a5 10260 jmp short 07145h ; eb 14 10266 10261 mov bx, ax ; 89 c3 10267 10262 add bx, 0fc2fh ; 81 c3 2f fc … … 10270 10265 mov dx, 0009ch ; ba 9c 00 10271 10266 mov ax, strict word 00040h ; b8 40 00 10272 call 01702h ; e8 ed a510273 call 0e030h ; e8 18 6f10267 call 01702h ; e8 bd a5 10268 call 0e030h ; e8 e8 6e 10274 10269 lea sp, [bp-002h] ; 8d 66 fe 10275 10270 pop si ; 5e 10276 10271 pop bp ; 5d 10277 10272 retn ; c3 10278 inc bp ; 4510279 jno short 0718fh ; 71 6e10280 jno short 07 0b6h ; 71 9310281 jno short 07 0eah ; 71 c510282 jno short 071 3bh ; 71 1410283 jc short 071 75h ; 72 4c10284 jc short 07 0bah ; 72 8f10285 jc short 071 13h ; 72 e610286 db 07 2h10287 _int1a_function: ; 0xf71 2e LB 0x1c810273 jne short 071c1h ; 75 71 10274 sahf ; 9e 10275 jno short 07116h ; 71 c3 10276 jno short 0714ah ; 71 f5 10277 jno short 0719bh ; 71 44 10278 jc short 071d5h ; 72 7c 10279 jc short 0711ah ; 72 bf 10280 jc short 07173h ; 72 16 10281 db 073h 10282 _int1a_function: ; 0xf715e LB 0x1c8 10288 10283 push bp ; 55 10289 10284 mov bp, sp ; 89 e5 … … 10291 10286 mov al, byte [bp+013h] ; 8a 46 13 10292 10287 cmp AL, strict byte 007h ; 3c 07 10293 jnbe near 071 6ah ; 0f 87 2f 0010288 jnbe near 0719ah ; 0f 87 2f 00 10294 10289 movzx bx, al ; 0f b6 d8 10295 10290 add bx, bx ; 01 db 10296 jmp word [cs:bx+071 1eh] ; 2e ff a7 1e 7110291 jmp word [cs:bx+0714eh] ; 2e ff a7 4e 71 10297 10292 cli ; fa 10298 10293 mov bx, 0046eh ; bb 6e 04 … … 10325 10320 sti ; fb 10326 10321 mov byte [bp+013h], 000h ; c6 46 13 00 10327 jmp short 071 6ah ; eb d710328 call 070 4fh ; e8 b9 fe10322 jmp short 0719ah ; eb d7 10323 call 0707fh ; e8 b9 fe 10329 10324 test ax, ax ; 85 c0 10330 je short 071 9ch ; 74 0210331 jmp short 071 6ah ; eb ce10325 je short 071cch ; 74 02 10326 jmp short 0719ah ; eb ce 10332 10327 xor ax, ax ; 31 c0 10333 call 01714h ; e8 73 a510328 call 01714h ; e8 43 a5 10334 10329 mov byte [bp+00fh], al ; 88 46 0f 10335 10330 mov ax, strict word 00002h ; b8 02 00 10336 call 01714h ; e8 6a a510331 call 01714h ; e8 3a a5 10337 10332 mov byte [bp+010h], al ; 88 46 10 10338 10333 mov ax, strict word 00004h ; b8 04 00 10339 call 01714h ; e8 61 a510334 call 01714h ; e8 31 a5 10340 10335 mov bl, al ; 88 c3 10341 10336 mov byte [bp+011h], al ; 88 46 11 10342 10337 mov ax, strict word 0000bh ; b8 0b 00 10343 call 01714h ; e8 56 a510338 call 01714h ; e8 26 a5 10344 10339 and AL, strict byte 001h ; 24 01 10345 10340 mov byte [bp+00eh], al ; 88 46 0e 10346 jmp short 072 0ah ; eb 4510347 call 070 4fh ; e8 87 fe10341 jmp short 0723ah ; eb 45 10342 call 0707fh ; e8 87 fe 10348 10343 test ax, ax ; 85 c0 10349 je short 071 cfh ; 74 0310350 call 070 27h ; e8 58 fe10344 je short 071ffh ; 74 03 10345 call 07057h ; e8 58 fe 10351 10346 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 10352 10347 xor ax, ax ; 31 c0 10353 call 01731h ; e8 59 a510348 call 01731h ; e8 29 a5 10354 10349 movzx dx, byte [bp+010h] ; 0f b6 56 10 10355 10350 mov ax, strict word 00002h ; b8 02 00 10356 call 01731h ; e8 4f a510351 call 01731h ; e8 1f a5 10357 10352 movzx dx, byte [bp+011h] ; 0f b6 56 11 10358 10353 mov ax, strict word 00004h ; b8 04 00 10359 call 01731h ; e8 45 a510354 call 01731h ; e8 15 a5 10360 10355 mov ax, strict word 0000bh ; b8 0b 00 10361 call 01714h ; e8 22 a510356 call 01714h ; e8 f2 a4 10362 10357 mov bl, al ; 88 c3 10363 10358 and bl, 060h ; 80 e3 60 … … 10368 10363 movzx dx, bl ; 0f b6 d3 10369 10364 mov ax, strict word 0000bh ; b8 0b 00 10370 call 01731h ; e8 27 a510365 call 01731h ; e8 f7 a4 10371 10366 mov byte [bp+013h], 000h ; c6 46 13 00 10372 10367 mov byte [bp+012h], bl ; 88 5e 12 10373 jmp near 071 6ah ; e9 56 ff10368 jmp near 0719ah ; e9 56 ff 10374 10369 mov byte [bp+013h], 000h ; c6 46 13 00 10375 call 070 4fh ; e8 34 fe10370 call 0707fh ; e8 34 fe 10376 10371 test ax, ax ; 85 c0 10377 je short 072 22h ; 74 0310378 jmp near 071 6ah ; e9 48 ff10372 je short 07252h ; 74 03 10373 jmp near 0719ah ; e9 48 ff 10379 10374 mov ax, strict word 00009h ; b8 09 00 10380 call 01714h ; e8 ec a410375 call 01714h ; e8 bc a4 10381 10376 mov byte [bp+010h], al ; 88 46 10 10382 10377 mov ax, strict word 00008h ; b8 08 00 10383 call 01714h ; e8 e3 a410378 call 01714h ; e8 b3 a4 10384 10379 mov byte [bp+00fh], al ; 88 46 0f 10385 10380 mov ax, strict word 00007h ; b8 07 00 10386 call 01714h ; e8 da a410381 call 01714h ; e8 aa a4 10387 10382 mov byte [bp+00eh], al ; 88 46 0e 10388 10383 mov ax, strict word 00032h ; b8 32 00 10389 call 01714h ; e8 d1 a410384 call 01714h ; e8 a1 a4 10390 10385 mov byte [bp+011h], al ; 88 46 11 10391 10386 mov byte [bp+012h], al ; 88 46 12 10392 jmp near 071 6ah ; e9 1e ff10393 call 070 4fh ; e8 00 fe10387 jmp near 0719ah ; e9 1e ff 10388 call 0707fh ; e8 00 fe 10394 10389 test ax, ax ; 85 c0 10395 je short 072 59h ; 74 0610396 call 070 27h ; e8 d1 fd10397 jmp near 071 6ah ; e9 11 ff10390 je short 07289h ; 74 06 10391 call 07057h ; e8 d1 fd 10392 jmp near 0719ah ; e9 11 ff 10398 10393 movzx dx, byte [bp+010h] ; 0f b6 56 10 10399 10394 mov ax, strict word 00009h ; b8 09 00 10400 call 01731h ; e8 ce a410395 call 01731h ; e8 9e a4 10401 10396 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 10402 10397 mov ax, strict word 00008h ; b8 08 00 10403 call 01731h ; e8 c4 a410398 call 01731h ; e8 94 a4 10404 10399 movzx dx, byte [bp+00eh] ; 0f b6 56 0e 10405 10400 mov ax, strict word 00007h ; b8 07 00 10406 call 01731h ; e8 ba a410401 call 01731h ; e8 8a a4 10407 10402 movzx dx, byte [bp+011h] ; 0f b6 56 11 10408 10403 mov ax, strict word 00032h ; b8 32 00 10409 call 01731h ; e8 b0 a410404 call 01731h ; e8 80 a4 10410 10405 mov ax, strict word 0000bh ; b8 0b 00 10411 call 01714h ; e8 8d a410406 call 01714h ; e8 5d a4 10412 10407 mov bl, al ; 88 c3 10413 10408 and bl, 07fh ; 80 e3 7f 10414 jmp near 072 01h ; e9 72 ff10409 jmp near 07231h ; e9 72 ff 10415 10410 mov ax, strict word 0000bh ; b8 0b 00 10416 call 01714h ; e8 7f a410411 call 01714h ; e8 4f a4 10417 10412 mov bl, al ; 88 c3 10418 10413 mov word [bp+012h], strict word 00000h ; c7 46 12 00 00 10419 10414 test AL, strict byte 020h ; a8 20 10420 je short 072 a3h ; 74 0310421 jmp near 071 6ah ; e9 c7 fe10422 call 070 4fh ; e8 a9 fd10415 je short 072d3h ; 74 03 10416 jmp near 0719ah ; e9 c7 fe 10417 call 0707fh ; e8 a9 fd 10423 10418 test ax, ax ; 85 c0 10424 je short 072 adh ; 74 0310425 call 070 27h ; e8 7a fd10419 je short 072ddh ; 74 03 10420 call 07057h ; e8 7a fd 10426 10421 movzx dx, byte [bp+00fh] ; 0f b6 56 0f 10427 10422 mov ax, strict word 00001h ; b8 01 00 10428 call 01731h ; e8 7a a410423 call 01731h ; e8 4a a4 10429 10424 movzx dx, byte [bp+010h] ; 0f b6 56 10 10430 10425 mov ax, strict word 00003h ; b8 03 00 10431 call 01731h ; e8 70 a410426 call 01731h ; e8 40 a4 10432 10427 movzx dx, byte [bp+011h] ; 0f b6 56 11 10433 10428 mov ax, strict word 00005h ; b8 05 00 10434 call 01731h ; e8 66 a410429 call 01731h ; e8 36 a4 10435 10430 mov dx, 000a1h ; ba a1 00 10436 10431 in AL, DX ; ec … … 10444 10439 movzx dx, al ; 0f b6 d0 10445 10440 mov ax, strict word 0000bh ; b8 0b 00 10446 call 01731h ; e8 4e a410447 jmp near 071 6ah ; e9 84 fe10441 call 01731h ; e8 1e a4 10442 jmp near 0719ah ; e9 84 fe 10448 10443 mov ax, strict word 0000bh ; b8 0b 00 10449 call 01714h ; e8 28 a410444 call 01714h ; e8 f8 a3 10450 10445 mov bl, al ; 88 c3 10451 10446 and AL, strict byte 057h ; 24 57 10452 10447 movzx dx, al ; 0f b6 d0 10453 jmp near 072 04h ; e9 0e ff10454 send_to_mouse_ctrl_: ; 0xf7 2f6 LB 0x3410448 jmp near 07234h ; e9 0e ff 10449 send_to_mouse_ctrl_: ; 0xf7326 LB 0x34 10455 10450 push bp ; 55 10456 10451 mov bp, sp ; 89 e5 … … 10463 10458 ; sub ah, ah ; 2a e4 10464 10459 test AL, strict byte 002h ; a8 02 10465 je short 073 15h ; 74 0e10460 je short 07345h ; 74 0e 10466 10461 push 008eeh ; 68 ee 08 10467 10462 push 01168h ; 68 68 11 10468 10463 push strict byte 00007h ; 6a 07 10469 call 019dah ; e8 c8 a610464 call 019dah ; e8 98 a6 10470 10465 add sp, strict byte 00006h ; 83 c4 06 10471 10466 mov AL, strict byte 0d4h ; b0 d4 … … 10481 10476 pop bp ; 5d 10482 10477 retn ; c3 10483 get_mouse_data_: ; 0xf73 2a LB 0x5c10478 get_mouse_data_: ; 0xf735a LB 0x5c 10484 10479 push bp ; 55 10485 10480 mov bp, sp ; 89 e5 … … 10496 10491 and ax, strict word 00021h ; 25 21 00 10497 10492 cmp ax, strict word 00021h ; 3d 21 00 10498 je short 073 6ch ; 74 2710493 je short 0739ch ; 74 27 10499 10494 test cx, cx ; 85 c9 10500 je short 073 6ch ; 74 2310495 je short 0739ch ; 74 23 10501 10496 mov dx, strict word 00061h ; ba 61 00 10502 10497 in AL, DX ; ec … … 10514 10509 movzx ax, byte [bp-006h] ; 0f b6 46 fa 10515 10510 cmp dx, ax ; 39 c2 10516 je short 073 54h ; 74 eb10511 je short 07384h ; 74 eb 10517 10512 dec cx ; 49 10518 jmp short 073 37h ; eb cb10513 jmp short 07367h ; eb cb 10519 10514 test cx, cx ; 85 c9 10520 jne short 073 74h ; 75 0410515 jne short 073a4h ; 75 04 10521 10516 mov AL, strict byte 001h ; b0 01 10522 jmp short 073 7fh ; eb 0b10517 jmp short 073afh ; eb 0b 10523 10518 mov dx, strict word 00060h ; ba 60 00 10524 10519 in AL, DX ; ec … … 10532 10527 pop bp ; 5d 10533 10528 retn ; c3 10534 set_kbd_command_byte_: ; 0xf73 86 LB 0x3210529 set_kbd_command_byte_: ; 0xf73b6 LB 0x32 10535 10530 push bp ; 55 10536 10531 mov bp, sp ; 89 e5 … … 10543 10538 ; sub ah, ah ; 2a e4 10544 10539 test AL, strict byte 002h ; a8 02 10545 je short 073 a5h ; 74 0e10540 je short 073d5h ; 74 0e 10546 10541 push 008f8h ; 68 f8 08 10547 10542 push 01168h ; 68 68 11 10548 10543 push strict byte 00007h ; 6a 07 10549 call 019dah ; e8 38 a610544 call 019dah ; e8 08 a6 10550 10545 add sp, strict byte 00006h ; 83 c4 06 10551 10546 mov AL, strict byte 060h ; b0 60 … … 10560 10555 pop bp ; 5d 10561 10556 retn ; c3 10562 _int74_function: ; 0xf73 b8 LB 0xca10557 _int74_function: ; 0xf73e8 LB 0xca 10563 10558 push bp ; 55 10564 10559 mov bp, sp ; 89 e5 … … 10566 10561 mov dx, strict word 0000eh ; ba 0e 00 10567 10562 mov ax, strict word 00040h ; b8 40 00 10568 call 016d4h ; e8 0d a310563 call 016d4h ; e8 dd a2 10569 10564 mov cx, ax ; 89 c1 10570 10565 mov word [bp+004h], strict word 00000h ; c7 46 04 00 00 … … 10575 10570 and AL, strict byte 021h ; 24 21 10576 10571 cmp AL, strict byte 021h ; 3c 21 10577 jne near 074 6eh ; 0f 85 92 0010572 jne near 0749eh ; 0f 85 92 00 10578 10573 mov dx, strict word 00060h ; ba 60 00 10579 10574 in AL, DX ; ec … … 10583 10578 mov dx, strict word 00026h ; ba 26 00 10584 10579 mov ax, cx ; 89 c8 10585 call 016b8h ; e8 cc a210580 call 016b8h ; e8 9c a2 10586 10581 mov byte [bp-006h], al ; 88 46 fa 10587 10582 mov dx, strict word 00027h ; ba 27 00 10588 10583 mov ax, cx ; 89 c8 10589 call 016b8h ; e8 c1 a210584 call 016b8h ; e8 91 a2 10590 10585 mov byte [bp-008h], al ; 88 46 f8 10591 10586 test AL, strict byte 080h ; a8 80 10592 je short 074 6eh ; 74 7010587 je short 0749eh ; 74 70 10593 10588 mov al, byte [bp-008h] ; 8a 46 f8 10594 10589 and AL, strict byte 007h ; 24 07 … … 10601 10596 add dx, strict byte 00028h ; 83 c2 28 10602 10597 mov ax, cx ; 89 c8 10603 call 016c6h ; e8 ab a210598 call 016c6h ; e8 7b a2 10604 10599 mov al, byte [bp-004h] ; 8a 46 fc 10605 10600 cmp al, byte [bp-002h] ; 3a 46 fe 10606 jc short 074 5fh ; 72 3c10601 jc short 0748fh ; 72 3c 10607 10602 mov dx, strict word 00028h ; ba 28 00 10608 10603 mov ax, cx ; 89 c8 10609 call 016b8h ; e8 8d a210604 call 016b8h ; e8 5d a2 10610 10605 xor ah, ah ; 30 e4 10611 10606 mov word [bp+00ch], ax ; 89 46 0c 10612 10607 mov dx, strict word 00029h ; ba 29 00 10613 10608 mov ax, cx ; 89 c8 10614 call 016b8h ; e8 80 a210609 call 016b8h ; e8 50 a2 10615 10610 xor ah, ah ; 30 e4 10616 10611 mov word [bp+00ah], ax ; 89 46 0a 10617 10612 mov dx, strict word 0002ah ; ba 2a 00 10618 10613 mov ax, cx ; 89 c8 10619 call 016b8h ; e8 73 a210614 call 016b8h ; e8 43 a2 10620 10615 xor ah, ah ; 30 e4 10621 10616 mov word [bp+008h], ax ; 89 46 08 … … 10624 10619 mov byte [bp-006h], ah ; 88 66 fa 10625 10620 test byte [bp-008h], 080h ; f6 46 f8 80 10626 je short 074 62h ; 74 0a10621 je short 07492h ; 74 0a 10627 10622 mov word [bp+004h], strict word 00001h ; c7 46 04 01 00 10628 jmp short 074 62h ; eb 0310623 jmp short 07492h ; eb 03 10629 10624 inc byte [bp-006h] ; fe 46 fa 10630 10625 movzx bx, byte [bp-006h] ; 0f b6 5e fa 10631 10626 mov dx, strict word 00026h ; ba 26 00 10632 10627 mov ax, cx ; 89 c8 10633 call 016c6h ; e8 58 a210628 call 016c6h ; e8 28 a2 10634 10629 mov sp, bp ; 89 ec 10635 10630 pop bp ; 5d 10636 10631 retn ; c3 10637 d b 0c6h, 074h, 03ch, 075h10638 ; mov byte [si+03ch], 075h ; c6 74 3c 7510639 mov di, 05075h ; bf 75 5010640 jbe short 074 39h ; 76 be10641 jbe short 074 8fh ; 76 1210642 jne short 074 65h ; 75 e610643 j be short 0742ch ; 76 ab10632 div byte [si+06ch] ; f6 74 6c 10633 jne short 07496h ; 75 ef 10634 jne short 07429h ; 75 80 10635 jbe short 07499h ; 76 ee 10636 jbe short 074efh ; 76 42 10637 jne short 074c5h ; 75 16 10638 jnbe short 0748ch ; 77 db 10644 10639 db 077h 10645 _int15_function_mouse: ; 0xf74 82 LB 0x38b10640 _int15_function_mouse: ; 0xf74b2 LB 0x38b 10646 10641 push bp ; 55 10647 10642 mov bp, sp ; 89 e5 … … 10650 10645 mov dx, strict word 0000eh ; ba 0e 00 10651 10646 mov ax, strict word 00040h ; b8 40 00 10652 call 016d4h ; e8 42 a210647 call 016d4h ; e8 12 a2 10653 10648 mov cx, ax ; 89 c1 10654 10649 cmp byte [bp+012h], 007h ; 80 7e 12 07 10655 jbe short 074 a5h ; 76 0b10650 jbe short 074d5h ; 76 0b 10656 10651 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10657 10652 mov byte [bp+013h], 001h ; c6 46 13 01 10658 jmp near 078 07h ; e9 62 0310653 jmp near 07837h ; e9 62 03 10659 10654 mov ax, strict word 00065h ; b8 65 00 10660 call 073 86h ; e8 db fe10655 call 073b6h ; e8 db fe 10661 10656 and word [bp+018h], strict byte 0fffeh ; 83 66 18 fe 10662 10657 mov byte [bp+013h], 000h ; c6 46 13 00 10663 10658 mov al, byte [bp+012h] ; 8a 46 12 10664 10659 cmp AL, strict byte 007h ; 3c 07 10665 jnbe near 07 7eeh ; 0f 87 32 0310660 jnbe near 0781eh ; 0f 87 32 03 10666 10661 movzx si, al ; 0f b6 f0 10667 10662 add si, si ; 01 f6 10668 jmp word [cs:si+074 72h] ; 2e ff a4 72 7410663 jmp word [cs:si+074a2h] ; 2e ff a4 a2 74 10669 10664 cmp byte [bp+00dh], 001h ; 80 7e 0d 01 10670 jnbe near 07 7f9h ; 0f 87 2b 0310665 jnbe near 07829h ; 0f 87 2b 03 10671 10666 mov dx, strict word 00027h ; ba 27 00 10672 10667 mov ax, cx ; 89 c8 10673 call 016b8h ; e8 e2 a110668 call 016b8h ; e8 b2 a1 10674 10669 test AL, strict byte 080h ; a8 80 10675 jne short 07 4e5h ; 75 0b10670 jne short 07515h ; 75 0b 10676 10671 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10677 10672 mov byte [bp+013h], 005h ; c6 46 13 05 10678 jmp near 078 01h ; e9 1c 0310673 jmp near 07831h ; e9 1c 03 10679 10674 cmp byte [bp+00dh], 000h ; 80 7e 0d 00 10680 10675 db 00fh, 094h, 0c0h … … 10682 10677 add AL, strict byte 0f4h ; 04 f4 10683 10678 xor ah, ah ; 30 e4 10684 call 07 2f6h ; e8 03 fe10679 call 07326h ; e8 03 fe 10685 10680 test al, al ; 84 c0 10686 jne near 077 87h ; 0f 85 8e 0210681 jne near 077b7h ; 0f 85 8e 02 10687 10682 mov dx, ss ; 8c d2 10688 10683 lea ax, [bp-008h] ; 8d 46 f8 10689 call 073 2ah ; e8 29 fe10684 call 0735ah ; e8 29 fe 10690 10685 test al, al ; 84 c0 10691 je near 078 01h ; 0f 84 fa 0210686 je near 07831h ; 0f 84 fa 02 10692 10687 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10693 jne near 077 87h ; 0f 85 78 0210694 jmp near 078 01h ; e9 ef 0210688 jne near 077b7h ; 0f 85 78 02 10689 jmp near 07831h ; e9 ef 02 10695 10690 mov al, byte [bp+00dh] ; 8a 46 0d 10696 10691 cmp AL, strict byte 001h ; 3c 01 10697 jc short 075 1dh ; 72 0410692 jc short 0754dh ; 72 04 10698 10693 cmp AL, strict byte 008h ; 3c 08 10699 jbe short 075 20h ; 76 0310700 jmp near 076 b3h ; e9 93 0110694 jbe short 07550h ; 76 03 10695 jmp near 076e3h ; e9 93 01 10701 10696 mov dx, strict word 00027h ; ba 27 00 10702 10697 mov ax, cx ; 89 c8 10703 call 016b8h ; e8 90 a110698 call 016b8h ; e8 60 a1 10704 10699 mov ah, byte [bp+00dh] ; 8a 66 0d 10705 10700 db 0feh, 0cch … … 10710 10705 mov dx, strict word 00027h ; ba 27 00 10711 10706 mov ax, cx ; 89 c8 10712 call 016c6h ; e8 8a a110707 call 016c6h ; e8 5a a1 10713 10708 mov dx, strict word 00026h ; ba 26 00 10714 10709 mov ax, cx ; 89 c8 10715 call 016b8h ; e8 74 a110710 call 016b8h ; e8 44 a1 10716 10711 and AL, strict byte 0f8h ; 24 f8 10717 10712 movzx bx, al ; 0f b6 d8 10718 10713 mov dx, strict word 00026h ; ba 26 00 10719 10714 mov ax, cx ; 89 c8 10720 call 016c6h ; e8 75 a110715 call 016c6h ; e8 45 a1 10721 10716 mov ax, 000ffh ; b8 ff 00 10722 call 07 2f6h ; e8 9f fd10717 call 07326h ; e8 9f fd 10723 10718 test al, al ; 84 c0 10724 jne near 077 87h ; 0f 85 2a 0210719 jne near 077b7h ; 0f 85 2a 02 10725 10720 mov dx, ss ; 8c d2 10726 10721 lea ax, [bp-004h] ; 8d 46 fc 10727 call 073 2ah ; e8 c5 fd10722 call 0735ah ; e8 c5 fd 10728 10723 mov cl, al ; 88 c1 10729 10724 cmp byte [bp-004h], 0feh ; 80 7e fc fe 10730 jne short 075 78h ; 75 0b10725 jne short 075a8h ; 75 0b 10731 10726 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10732 10727 mov byte [bp+013h], 004h ; c6 46 13 04 10733 jmp near 078 01h ; e9 89 0210728 jmp near 07831h ; e9 89 02 10734 10729 cmp byte [bp-004h], 0fah ; 80 7e fc fa 10735 je short 075 8eh ; 74 1010730 je short 075beh ; 74 10 10736 10731 movzx ax, byte [bp-004h] ; 0f b6 46 fc 10737 10732 push ax ; 50 10738 10733 push 00903h ; 68 03 09 10739 10734 push strict byte 00007h ; 6a 07 10740 call 019dah ; e8 4f a410735 call 019dah ; e8 1f a4 10741 10736 add sp, strict byte 00006h ; 83 c4 06 10742 10737 test cl, cl ; 84 c9 10743 jne near 077 87h ; 0f 85 f3 0110738 jne near 077b7h ; 0f 85 f3 01 10744 10739 mov dx, ss ; 8c d2 10745 10740 lea ax, [bp-008h] ; 8d 46 f8 10746 call 073 2ah ; e8 8e fd10741 call 0735ah ; e8 8e fd 10747 10742 test al, al ; 84 c0 10748 jne near 077 87h ; 0f 85 e5 0110743 jne near 077b7h ; 0f 85 e5 01 10749 10744 mov dx, ss ; 8c d2 10750 10745 lea ax, [bp-006h] ; 8d 46 fa 10751 call 073 2ah ; e8 80 fd10746 call 0735ah ; e8 80 fd 10752 10747 test al, al ; 84 c0 10753 jne near 077 87h ; 0f 85 d7 0110748 jne near 077b7h ; 0f 85 d7 01 10754 10749 mov al, byte [bp-008h] ; 8a 46 f8 10755 10750 mov byte [bp+00ch], al ; 88 46 0c 10756 10751 mov al, byte [bp-006h] ; 8a 46 fa 10757 10752 mov byte [bp+00dh], al ; 88 46 0d 10758 jmp near 078 01h ; e9 42 0210753 jmp near 07831h ; e9 42 02 10759 10754 mov al, byte [bp+00dh] ; 8a 46 0d 10760 10755 cmp AL, strict byte 003h ; 3c 03 10761 jc short 07 5d6h ; 72 1010762 jbe short 07 5f4h ; 76 2c10756 jc short 07606h ; 72 10 10757 jbe short 07624h ; 76 2c 10763 10758 cmp AL, strict byte 006h ; 3c 06 10764 je short 076 06h ; 74 3a10759 je short 07636h ; 74 3a 10765 10760 cmp AL, strict byte 005h ; 3c 05 10766 je short 076 00h ; 74 3010761 je short 07630h ; 74 30 10767 10762 cmp AL, strict byte 004h ; 3c 04 10768 je short 07 5fah ; 74 2610769 jmp short 076 0ch ; eb 3610763 je short 0762ah ; 74 26 10764 jmp short 0763ch ; eb 36 10770 10765 cmp AL, strict byte 002h ; 3c 02 10771 je short 07 5eeh ; 74 1410766 je short 0761eh ; 74 14 10772 10767 cmp AL, strict byte 001h ; 3c 01 10773 je short 07 5e8h ; 74 0a10768 je short 07618h ; 74 0a 10774 10769 test al, al ; 84 c0 10775 jne short 076 0ch ; 75 2a10770 jne short 0763ch ; 75 2a 10776 10771 mov byte [bp-008h], 00ah ; c6 46 f8 0a 10777 jmp short 076 10h ; eb 2810772 jmp short 07640h ; eb 28 10778 10773 mov byte [bp-008h], 014h ; c6 46 f8 14 10779 jmp short 076 10h ; eb 2210774 jmp short 07640h ; eb 22 10780 10775 mov byte [bp-008h], 028h ; c6 46 f8 28 10781 jmp short 076 10h ; eb 1c10776 jmp short 07640h ; eb 1c 10782 10777 mov byte [bp-008h], 03ch ; c6 46 f8 3c 10783 jmp short 076 10h ; eb 1610778 jmp short 07640h ; eb 16 10784 10779 mov byte [bp-008h], 050h ; c6 46 f8 50 10785 jmp short 076 10h ; eb 1010780 jmp short 07640h ; eb 10 10786 10781 mov byte [bp-008h], 064h ; c6 46 f8 64 10787 jmp short 076 10h ; eb 0a10782 jmp short 07640h ; eb 0a 10788 10783 mov byte [bp-008h], 0c8h ; c6 46 f8 c8 10789 jmp short 076 10h ; eb 0410784 jmp short 07640h ; eb 04 10790 10785 mov byte [bp-008h], 000h ; c6 46 f8 00 10791 10786 cmp byte [bp-008h], 000h ; 80 7e f8 00 10792 jbe short 076 45h ; 76 2f10787 jbe short 07675h ; 76 2f 10793 10788 mov ax, 000f3h ; b8 f3 00 10794 call 07 2f6h ; e8 da fc10789 call 07326h ; e8 da fc 10795 10790 test al, al ; 84 c0 10796 jne short 076 3ah ; 75 1a10791 jne short 0766ah ; 75 1a 10797 10792 mov dx, ss ; 8c d2 10798 10793 lea ax, [bp-006h] ; 8d 46 fa 10799 call 073 2ah ; e8 02 fd10794 call 0735ah ; e8 02 fd 10800 10795 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10801 call 07 2f6h ; e8 c7 fc10796 call 07326h ; e8 c7 fc 10802 10797 mov dx, ss ; 8c d2 10803 10798 lea ax, [bp-006h] ; 8d 46 fa 10804 call 073 2ah ; e8 f3 fc10805 jmp near 078 01h ; e9 c7 0110799 call 0735ah ; e8 f3 fc 10800 jmp near 07831h ; e9 c7 01 10806 10801 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10807 10802 mov byte [bp+013h], 003h ; c6 46 13 03 10808 jmp near 078 01h ; e9 bc 0110803 jmp near 07831h ; e9 bc 01 10809 10804 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10810 10805 mov byte [bp+013h], 002h ; c6 46 13 02 10811 jmp near 078 01h ; e9 b1 0110806 jmp near 07831h ; e9 b1 01 10812 10807 cmp byte [bp+00dh], 004h ; 80 7e 0d 04 10813 jnc short 076 b3h ; 73 5d10808 jnc short 076e3h ; 73 5d 10814 10809 mov ax, 000e8h ; b8 e8 00 10815 call 07 2f6h ; e8 9a fc10810 call 07326h ; e8 9a fc 10816 10811 test al, al ; 84 c0 10817 jne short 076 a8h ; 75 4810812 jne short 076d8h ; 75 48 10818 10813 mov dx, ss ; 8c d2 10819 10814 lea ax, [bp-008h] ; 8d 46 f8 10820 call 073 2ah ; e8 c2 fc10815 call 0735ah ; e8 c2 fc 10821 10816 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10822 je short 076 7eh ; 74 1010817 je short 076aeh ; 74 10 10823 10818 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10824 10819 push ax ; 50 10825 10820 push 0092eh ; 68 2e 09 10826 10821 push strict byte 00007h ; 6a 07 10827 call 019dah ; e8 5f a310822 call 019dah ; e8 2f a3 10828 10823 add sp, strict byte 00006h ; 83 c4 06 10829 10824 movzx ax, byte [bp+00dh] ; 0f b6 46 0d 10830 call 07 2f6h ; e8 71 fc10825 call 07326h ; e8 71 fc 10831 10826 mov dx, ss ; 8c d2 10832 10827 lea ax, [bp-008h] ; 8d 46 f8 10833 call 073 2ah ; e8 9d fc10828 call 0735ah ; e8 9d fc 10834 10829 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10835 je near 078 01h ; 0f 84 6c 0110830 je near 07831h ; 0f 84 6c 01 10836 10831 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10837 10832 push ax ; 50 10838 10833 push 0092eh ; 68 2e 09 10839 10834 push strict byte 00007h ; 6a 07 10840 call 019dah ; e8 38 a310835 call 019dah ; e8 08 a3 10841 10836 add sp, strict byte 00006h ; 83 c4 06 10842 jmp near 078 01h ; e9 59 0110837 jmp near 07831h ; e9 59 01 10843 10838 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10844 10839 mov byte [bp+013h], 003h ; c6 46 13 03 10845 jmp near 078 01h ; e9 4e 0110840 jmp near 07831h ; e9 4e 01 10846 10841 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10847 10842 mov byte [bp+013h], 002h ; c6 46 13 02 10848 jmp near 078 01h ; e9 43 0110843 jmp near 07831h ; e9 43 01 10849 10844 mov ax, 000f2h ; b8 f2 00 10850 call 07 2f6h ; e8 32 fc10845 call 07326h ; e8 32 fc 10851 10846 test al, al ; 84 c0 10852 jne short 07 6dbh ; 75 1310847 jne short 0770bh ; 75 13 10853 10848 mov dx, ss ; 8c d2 10854 10849 lea ax, [bp-008h] ; 8d 46 f8 10855 call 073 2ah ; e8 5a fc10850 call 0735ah ; e8 5a fc 10856 10851 mov dx, ss ; 8c d2 10857 10852 lea ax, [bp-006h] ; 8d 46 fa 10858 call 073 2ah ; e8 52 fc10859 jmp near 075 b6h ; e9 db fe10853 call 0735ah ; e8 52 fc 10854 jmp near 075e6h ; e9 db fe 10860 10855 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10861 10856 mov byte [bp+013h], 003h ; c6 46 13 03 10862 jmp near 078 01h ; e9 1b 0110857 jmp near 07831h ; e9 1b 01 10863 10858 mov al, byte [bp+00dh] ; 8a 46 0d 10864 10859 test al, al ; 84 c0 10865 jbe short 07 6f4h ; 76 0710860 jbe short 07724h ; 76 07 10866 10861 cmp AL, strict byte 002h ; 3c 02 10867 jbe short 077 5dh ; 76 6c10868 jmp near 077 91h ; e9 9d 0010862 jbe short 0778dh ; 76 6c 10863 jmp near 077c1h ; e9 9d 00 10869 10864 mov ax, 000e9h ; b8 e9 00 10870 call 07 2f6h ; e8 fc fb10865 call 07326h ; e8 fc fb 10871 10866 test al, al ; 84 c0 10872 jne near 077 87h ; 0f 85 87 0010867 jne near 077b7h ; 0f 85 87 00 10873 10868 mov dx, ss ; 8c d2 10874 10869 lea ax, [bp-008h] ; 8d 46 f8 10875 call 073 2ah ; e8 22 fc10870 call 0735ah ; e8 22 fc 10876 10871 mov cl, al ; 88 c1 10877 10872 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10878 je short 077 20h ; 74 1010873 je short 07750h ; 74 10 10879 10874 movzx ax, byte [bp-008h] ; 0f b6 46 f8 10880 10875 push ax ; 50 10881 10876 push 0092eh ; 68 2e 09 10882 10877 push strict byte 00007h ; 6a 07 10883 call 019dah ; e8 bd a210878 call 019dah ; e8 8d a2 10884 10879 add sp, strict byte 00006h ; 83 c4 06 10885 10880 test cl, cl ; 84 c9 10886 jne short 077 87h ; 75 6310881 jne short 077b7h ; 75 63 10887 10882 mov dx, ss ; 8c d2 10888 10883 lea ax, [bp-008h] ; 8d 46 f8 10889 call 073 2ah ; e8 fe fb10884 call 0735ah ; e8 fe fb 10890 10885 test al, al ; 84 c0 10891 jne short 077 87h ; 75 5710886 jne short 077b7h ; 75 57 10892 10887 mov dx, ss ; 8c d2 10893 10888 lea ax, [bp-006h] ; 8d 46 fa 10894 call 073 2ah ; e8 f2 fb10889 call 0735ah ; e8 f2 fb 10895 10890 test al, al ; 84 c0 10896 jne short 077 87h ; 75 4b10891 jne short 077b7h ; 75 4b 10897 10892 mov dx, ss ; 8c d2 10898 10893 lea ax, [bp-004h] ; 8d 46 fc 10899 call 073 2ah ; e8 e6 fb10894 call 0735ah ; e8 e6 fb 10900 10895 test al, al ; 84 c0 10901 jne short 077 87h ; 75 3f10896 jne short 077b7h ; 75 3f 10902 10897 mov al, byte [bp-008h] ; 8a 46 f8 10903 10898 mov byte [bp+00ch], al ; 88 46 0c … … 10906 10901 mov al, byte [bp-004h] ; 8a 46 fc 10907 10902 mov byte [bp+00eh], al ; 88 46 0e 10908 jmp near 078 01h ; e9 a4 0010903 jmp near 07831h ; e9 a4 00 10909 10904 cmp AL, strict byte 001h ; 3c 01 10910 jne short 077 66h ; 75 0510905 jne short 07796h ; 75 05 10911 10906 mov ax, 000e6h ; b8 e6 00 10912 jmp short 077 69h ; eb 0310907 jmp short 07799h ; eb 03 10913 10908 mov ax, 000e7h ; b8 e7 00 10914 call 07 2f6h ; e8 8a fb10909 call 07326h ; e8 8a fb 10915 10910 mov cl, al ; 88 c1 10916 10911 test cl, cl ; 84 c9 10917 jne short 077 81h ; 75 0f10912 jne short 077b1h ; 75 0f 10918 10913 mov dx, ss ; 8c d2 10919 10914 lea ax, [bp-008h] ; 8d 46 f8 10920 call 073 2ah ; e8 b0 fb10915 call 0735ah ; e8 b0 fb 10921 10916 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 10922 10917 db 00fh, 095h, 0c1h 10923 10918 ; setne cl ; 0f 95 c1 10924 10919 test cl, cl ; 84 c9 10925 je near 078 01h ; 0f 84 7a 0010920 je near 07831h ; 0f 84 7a 00 10926 10921 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10927 10922 mov byte [bp+013h], 003h ; c6 46 13 03 10928 jmp short 078 01h ; eb 7010923 jmp short 07831h ; eb 70 10929 10924 movzx ax, byte [bp+00dh] ; 0f b6 46 0d 10930 10925 push ax ; 50 10931 10926 push 0095ah ; 68 5a 09 10932 10927 push strict byte 00007h ; 6a 07 10933 call 019dah ; e8 3c a210928 call 019dah ; e8 0c a2 10934 10929 add sp, strict byte 00006h ; 83 c4 06 10935 10930 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10936 10931 mov byte [bp+013h], 001h ; c6 46 13 01 10937 jmp short 078 01h ; eb 5610932 jmp short 07831h ; eb 56 10938 10933 mov si, word [bp+00ch] ; 8b 76 0c 10939 10934 mov bx, si ; 89 f3 10940 10935 mov dx, strict word 00022h ; ba 22 00 10941 10936 mov ax, cx ; 89 c8 10942 call 016e2h ; e8 2a 9f10937 call 016e2h ; e8 fa 9e 10943 10938 mov bx, word [bp+014h] ; 8b 5e 14 10944 10939 mov dx, strict word 00024h ; ba 24 00 10945 10940 mov ax, cx ; 89 c8 10946 call 016e2h ; e8 1f 9f10941 call 016e2h ; e8 ef 9e 10947 10942 mov dx, strict word 00027h ; ba 27 00 10948 10943 mov ax, cx ; 89 c8 10949 call 016b8h ; e8 ed 9e10944 call 016b8h ; e8 bd 9e 10950 10945 mov ah, al ; 88 c4 10951 10946 test si, si ; 85 f6 10952 jne short 07 7dfh ; 75 0e10947 jne short 0780fh ; 75 0e 10953 10948 cmp word [bp+014h], strict byte 00000h ; 83 7e 14 00 10954 jne short 07 7dfh ; 75 0810949 jne short 0780fh ; 75 08 10955 10950 test AL, strict byte 080h ; a8 80 10956 je short 07 7e1h ; 74 0610951 je short 07811h ; 74 06 10957 10952 and AL, strict byte 07fh ; 24 7f 10958 jmp short 07 7e1h ; eb 0210953 jmp short 07811h ; eb 02 10959 10954 or AL, strict byte 080h ; 0c 80 10960 10955 movzx bx, al ; 0f b6 d8 10961 10956 mov dx, strict word 00027h ; ba 27 00 10962 10957 mov ax, cx ; 89 c8 10963 call 016c6h ; e8 da 9e10964 jmp short 078 01h ; eb 1310958 call 016c6h ; e8 aa 9e 10959 jmp short 07831h ; eb 13 10965 10960 push 00974h ; 68 74 09 10966 10961 push strict byte 00007h ; 6a 07 10967 call 019dah ; e8 e4 a110962 call 019dah ; e8 b4 a1 10968 10963 add sp, strict byte 00004h ; 83 c4 04 10969 10964 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 10970 10965 mov byte [bp+013h], 001h ; c6 46 13 01 10971 10966 mov ax, strict word 00047h ; b8 47 00 10972 call 073 86h ; e8 7f fb10967 call 073b6h ; e8 7f fb 10973 10968 lea sp, [bp-002h] ; 8d 66 fe 10974 10969 pop si ; 5e 10975 10970 pop bp ; 5d 10976 10971 retn ; c3 10977 _int17_function: ; 0xf78 0d LB 0xb310972 _int17_function: ; 0xf783d LB 0xb3 10978 10973 push bp ; 55 10979 10974 mov bp, sp ; 89 e5 … … 10985 10980 add dx, strict byte 00008h ; 83 c2 08 10986 10981 mov ax, strict word 00040h ; b8 40 00 10987 call 016d4h ; e8 b3 9e10982 call 016d4h ; e8 83 9e 10988 10983 mov bx, ax ; 89 c3 10989 10984 mov si, ax ; 89 c6 10990 10985 cmp byte [bp+013h], 003h ; 80 7e 13 03 10991 jnc near 078 b6h ; 0f 83 89 0010986 jnc near 078e6h ; 0f 83 89 00 10992 10987 mov ax, word [bp+00eh] ; 8b 46 0e 10993 10988 cmp ax, strict word 00003h ; 3d 03 00 10994 jnc near 078 b6h ; 0f 83 7f 0010989 jnc near 078e6h ; 0f 83 7f 00 10995 10990 test bx, bx ; 85 db 10996 jbe near 078 b6h ; 0f 86 79 0010991 jbe near 078e6h ; 0f 86 79 00 10997 10992 mov dx, ax ; 89 c2 10998 10993 add dx, strict byte 00078h ; 83 c2 78 10999 10994 mov ax, strict word 00040h ; b8 40 00 11000 call 016b8h ; e8 70 9e10995 call 016b8h ; e8 40 9e 11001 10996 movzx cx, al ; 0f b6 c8 11002 10997 sal cx, 008h ; c1 e1 08 11003 10998 cmp byte [bp+013h], 000h ; 80 7e 13 00 11004 jne short 078 81h ; 75 2d10999 jne short 078b1h ; 75 2d 11005 11000 mov al, byte [bp+012h] ; 8a 46 12 11006 11001 mov dx, bx ; 89 da … … 11022 11017 ; sub ah, ah ; 2a e4 11023 11018 test AL, strict byte 040h ; a8 40 11024 je short 078 81h ; 74 0711019 je short 078b1h ; 74 07 11025 11020 test cx, cx ; 85 c9 11026 je short 078 81h ; 74 0311021 je short 078b1h ; 74 03 11027 11022 dec cx ; 49 11028 jmp short 078 70h ; eb ef11023 jmp short 078a0h ; eb ef 11029 11024 cmp byte [bp+013h], 001h ; 80 7e 13 01 11030 jne short 078 9dh ; 75 1611025 jne short 078cdh ; 75 16 11031 11026 lea dx, [si+002h] ; 8d 54 02 11032 11027 in AL, DX ; ec … … 11047 11042 mov byte [bp+013h], al ; 88 46 13 11048 11043 test cx, cx ; 85 c9 11049 jne short 078 b0h ; 75 0411044 jne short 078e0h ; 75 04 11050 11045 or byte [bp+013h], 001h ; 80 4e 13 01 11051 11046 and byte [bp+01ch], 0feh ; 80 66 1c fe 11052 jmp short 078 bah ; eb 0411047 jmp short 078eah ; eb 04 11053 11048 or byte [bp+01ch], 001h ; 80 4e 1c 01 11054 11049 lea sp, [bp-002h] ; 8d 66 fe … … 11056 11051 pop bp ; 5d 11057 11052 retn ; c3 11058 wait_: ; 0xf78 c0 LB 0xb211053 wait_: ; 0xf78f0 LB 0xb2 11059 11054 push bp ; 55 11060 11055 mov bp, sp ; 89 e5 … … 11074 11069 mov dx, 0046ch ; ba 6c 04 11075 11070 xor ax, ax ; 31 c0 11076 call 016f0h ; e8 0d 9e11071 call 016f0h ; e8 dd 9d 11077 11072 mov word [bp-00eh], ax ; 89 46 f2 11078 11073 mov bx, dx ; 89 d3 … … 11080 11075 mov dx, 0046ch ; ba 6c 04 11081 11076 xor ax, ax ; 31 c0 11082 call 016f0h ; e8 ff 9d11077 call 016f0h ; e8 cf 9d 11083 11078 mov word [bp-012h], ax ; 89 46 ee 11084 11079 mov di, dx ; 89 d7 11085 11080 cmp dx, bx ; 39 da 11086 jnbe short 079 01h ; 77 0711087 jne short 079 08h ; 75 0c11081 jnbe short 07931h ; 77 07 11082 jne short 07938h ; 75 0c 11088 11083 cmp ax, word [bp-00eh] ; 3b 46 f2 11089 jbe short 079 08h ; 76 0711084 jbe short 07938h ; 76 07 11090 11085 sub ax, word [bp-00eh] ; 2b 46 f2 11091 11086 sbb dx, bx ; 19 da 11092 jmp short 079 13h ; eb 0b11087 jmp short 07943h ; eb 0b 11093 11088 cmp dx, bx ; 39 da 11094 jc short 079 13h ; 72 0711095 jne short 079 17h ; 75 0911089 jc short 07943h ; 72 07 11090 jne short 07947h ; 75 09 11096 11091 cmp ax, word [bp-00eh] ; 3b 46 f2 11097 jnc short 079 17h ; 73 0411092 jnc short 07947h ; 73 04 11098 11093 sub si, ax ; 29 c6 11099 11094 sbb cx, dx ; 19 d1 … … 11103 11098 mov ax, 00100h ; b8 00 01 11104 11099 int 016h ; cd 16 11105 je near 079 2dh ; 0f 84 05 0011100 je near 0795dh ; 0f 84 05 00 11106 11101 mov AL, strict byte 001h ; b0 01 11107 jmp near 079 2fh ; e9 02 0011102 jmp near 0795fh ; e9 02 00 11108 11103 db 032h, 0c0h 11109 11104 ; xor al, al ; 32 c0 11110 11105 test al, al ; 84 c0 11111 je short 079 57h ; 74 2411106 je short 07987h ; 74 24 11112 11107 db 033h, 0c0h 11113 11108 ; xor ax, ax ; 33 c0 … … 11120 11115 push 00996h ; 68 96 09 11121 11116 push strict byte 00004h ; 6a 04 11122 call 019dah ; e8 90 a011117 call 019dah ; e8 60 a0 11123 11118 add sp, strict byte 00006h ; 83 c4 06 11124 11119 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11125 je short 079 57h ; 74 0411120 je short 07987h ; 74 04 11126 11121 mov al, dl ; 88 d0 11127 jmp short 079 69h ; eb 1211122 jmp short 07999h ; eb 12 11128 11123 test cx, cx ; 85 c9 11129 jnle short 07 8e8h ; 7f 8d11130 jne short 079 61h ; 75 0411124 jnle short 07918h ; 7f 8d 11125 jne short 07991h ; 75 04 11131 11126 test si, si ; 85 f6 11132 jnbe short 07 8e8h ; 77 8711127 jnbe short 07918h ; 77 87 11133 11128 mov ax, word [bp-010h] ; 8b 46 f0 11134 11129 push ax ; 50 … … 11142 11137 pop bp ; 5d 11143 11138 retn ; c3 11144 read_logo_byte_: ; 0xf79 72 LB 0x1611139 read_logo_byte_: ; 0xf79a2 LB 0x16 11145 11140 push bp ; 55 11146 11141 mov bp, sp ; 89 e5 … … 11157 11152 pop bp ; 5d 11158 11153 retn ; c3 11159 read_logo_word_: ; 0xf79 88 LB 0x1411154 read_logo_word_: ; 0xf79b8 LB 0x14 11160 11155 push bp ; 55 11161 11156 mov bp, sp ; 89 e5 … … 11170 11165 pop bp ; 5d 11171 11166 retn ; c3 11172 print_detected_harddisks_: ; 0xf79 9c LB 0x13011167 print_detected_harddisks_: ; 0xf79cc LB 0x130 11173 11168 push bp ; 55 11174 11169 mov bp, sp ; 89 e5 … … 11182 11177 mov dx, strict word 0000eh ; ba 0e 00 11183 11178 mov ax, strict word 00040h ; b8 40 00 11184 call 016d4h ; e8 25 9d11179 call 016d4h ; e8 f5 9c 11185 11180 mov si, ax ; 89 c6 11186 11181 mov byte [bp-00ch], 000h ; c6 46 f4 00 … … 11188 11183 xor ch, ch ; 30 ed 11189 11184 mov dx, 00304h ; ba 04 03 11190 call 016b8h ; e8 f9 9c11185 call 016b8h ; e8 c9 9c 11191 11186 mov byte [bp-00eh], al ; 88 46 f2 11192 11187 xor bl, bl ; 30 db 11193 11188 cmp bl, byte [bp-00eh] ; 3a 5e f2 11194 jnc near 07a 9eh ; 0f 83 d3 0011189 jnc near 07aceh ; 0f 83 d3 00 11195 11190 movzx dx, bl ; 0f b6 d3 11196 11191 add dx, 00305h ; 81 c2 05 03 11197 11192 mov ax, si ; 89 f0 11198 call 016b8h ; e8 e1 9c11193 call 016b8h ; e8 b1 9c 11199 11194 mov bh, al ; 88 c7 11200 11195 cmp AL, strict byte 00ch ; 3c 0c 11201 jc short 07a 01h ; 72 2411196 jc short 07a31h ; 72 24 11202 11197 test cl, cl ; 84 c9 11203 jne short 07 9eeh ; 75 0d11198 jne short 07a1eh ; 75 0d 11204 11199 push 009a7h ; 68 a7 09 11205 11200 push strict byte 00002h ; 6a 02 11206 call 019dah ; e8 f1 9f11201 call 019dah ; e8 c1 9f 11207 11202 add sp, strict byte 00004h ; 83 c4 04 11208 11203 mov CL, strict byte 001h ; b1 01 … … 11212 11207 push 009bch ; 68 bc 09 11213 11208 push strict byte 00002h ; 6a 02 11214 call 019dah ; e8 df 9f11209 call 019dah ; e8 af 9f 11215 11210 add sp, strict byte 00006h ; 83 c4 06 11216 jmp near 07a 99h ; e9 98 0011211 jmp near 07ac9h ; e9 98 00 11217 11212 cmp AL, strict byte 008h ; 3c 08 11218 jc short 07a 18h ; 72 1311213 jc short 07a48h ; 72 13 11219 11214 test ch, ch ; 84 ed 11220 jne short 07a 16h ; 75 0d11215 jne short 07a46h ; 75 0d 11221 11216 push 009cfh ; 68 cf 09 11222 11217 push strict byte 00002h ; 6a 02 11223 call 019dah ; e8 c9 9f11218 call 019dah ; e8 99 9f 11224 11219 add sp, strict byte 00004h ; 83 c4 04 11225 11220 mov CH, strict byte 001h ; b5 01 11226 jmp short 07 9eeh ; eb d611221 jmp short 07a1eh ; eb d6 11227 11222 cmp AL, strict byte 004h ; 3c 04 11228 jnc short 07a 33h ; 73 1711223 jnc short 07a63h ; 73 17 11229 11224 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11230 jne short 07a 33h ; 75 1111225 jne short 07a63h ; 75 11 11231 11226 push 009e4h ; 68 e4 09 11232 11227 push strict byte 00002h ; 6a 02 11233 call 019dah ; e8 b0 9f11228 call 019dah ; e8 80 9f 11234 11229 add sp, strict byte 00004h ; 83 c4 04 11235 11230 mov byte [bp-00ch], 001h ; c6 46 f4 01 11236 jmp short 07a 49h ; eb 1611231 jmp short 07a79h ; eb 16 11237 11232 cmp bh, 004h ; 80 ff 04 11238 jc short 07a 49h ; 72 1111233 jc short 07a79h ; 72 11 11239 11234 test cl, cl ; 84 c9 11240 jne short 07a 49h ; 75 0d11235 jne short 07a79h ; 75 0d 11241 11236 push 009f6h ; 68 f6 09 11242 11237 push strict byte 00002h ; 6a 02 11243 call 019dah ; e8 96 9f11238 call 019dah ; e8 66 9f 11244 11239 add sp, strict byte 00004h ; 83 c4 04 11245 11240 mov CL, strict byte 001h ; b1 01 … … 11249 11244 push 00a0ah ; 68 0a 0a 11250 11245 push strict byte 00002h ; 6a 02 11251 call 019dah ; e8 84 9f11246 call 019dah ; e8 54 9f 11252 11247 add sp, strict byte 00006h ; 83 c4 06 11253 11248 cmp bh, 004h ; 80 ff 04 11254 jc short 07a 61h ; 72 0311249 jc short 07a91h ; 72 03 11255 11250 sub bh, 004h ; 80 ef 04 11256 11251 movzx ax, bh ; 0f b6 c7 … … 11260 11255 sar ax, 1 ; d1 f8 11261 11256 test ax, ax ; 85 c0 11262 je short 07a 72h ; 74 0511257 je short 07aa2h ; 74 05 11263 11258 push 00a14h ; 68 14 0a 11264 jmp short 07a 75h ; eb 0311259 jmp short 07aa5h ; eb 03 11265 11260 push 00a1fh ; 68 1f 0a 11266 11261 push strict byte 00002h ; 6a 02 11267 call 019dah ; e8 60 9f11262 call 019dah ; e8 30 9f 11268 11263 add sp, strict byte 00004h ; 83 c4 04 11269 11264 movzx ax, bh ; 0f b6 c7 … … 11272 11267 idiv di ; f7 ff 11273 11268 test dx, dx ; 85 d2 11274 je short 07a 8fh ; 74 0511269 je short 07abfh ; 74 05 11275 11270 push 00a28h ; 68 28 0a 11276 jmp short 07a 92h ; eb 0311271 jmp short 07ac2h ; eb 03 11277 11272 push 00a2eh ; 68 2e 0a 11278 11273 push di ; 57 11279 call 019dah ; e8 44 9f11274 call 019dah ; e8 14 9f 11280 11275 add sp, strict byte 00004h ; 83 c4 04 11281 11276 db 0feh, 0c3h 11282 11277 ; inc bl ; fe c3 11283 jmp near 079 c4h ; e9 26 ff11278 jmp near 079f4h ; e9 26 ff 11284 11279 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11285 jne short 07a b7h ; 75 1311280 jne short 07ae7h ; 75 13 11286 11281 test cl, cl ; 84 c9 11287 jne short 07a b7h ; 75 0f11282 jne short 07ae7h ; 75 0f 11288 11283 test ch, ch ; 84 ed 11289 jne short 07a b7h ; 75 0b11284 jne short 07ae7h ; 75 0b 11290 11285 push 00a35h ; 68 35 0a 11291 11286 push strict byte 00002h ; 6a 02 11292 call 019dah ; e8 26 9f11287 call 019dah ; e8 f6 9e 11293 11288 add sp, strict byte 00004h ; 83 c4 04 11294 11289 push 00a49h ; 68 49 0a 11295 11290 push strict byte 00002h ; 6a 02 11296 call 019dah ; e8 1b 9f11291 call 019dah ; e8 eb 9e 11297 11292 add sp, strict byte 00004h ; 83 c4 04 11298 11293 lea sp, [bp-00ah] ; 8d 66 f6 … … 11304 11299 pop bp ; 5d 11305 11300 retn ; c3 11306 get_boot_drive_: ; 0xf7a cc LB 0x2811301 get_boot_drive_: ; 0xf7afc LB 0x28 11307 11302 push bp ; 55 11308 11303 mov bp, sp ; 89 e5 … … 11312 11307 mov dx, strict word 0000eh ; ba 0e 00 11313 11308 mov ax, strict word 00040h ; b8 40 00 11314 call 016d4h ; e8 f8 9b11309 call 016d4h ; e8 c8 9b 11315 11310 mov dx, 00304h ; ba 04 03 11316 call 016b8h ; e8 d6 9b11311 call 016b8h ; e8 a6 9b 11317 11312 sub bl, 002h ; 80 eb 02 11318 11313 cmp bl, al ; 38 c3 11319 jc short 07 aebh ; 72 0211314 jc short 07b1bh ; 72 02 11320 11315 mov BL, strict byte 0ffh ; b3 ff 11321 11316 mov al, bl ; 88 d8 … … 11325 11320 pop bp ; 5d 11326 11321 retn ; c3 11327 show_logo_: ; 0xf7 af4 LB 0x22411322 show_logo_: ; 0xf7b24 LB 0x224 11328 11323 push bp ; 55 11329 11324 mov bp, sp ; 89 e5 … … 11336 11331 mov dx, strict word 0000eh ; ba 0e 00 11337 11332 mov ax, strict word 00040h ; b8 40 00 11338 call 016d4h ; e8 cc 9b11333 call 016d4h ; e8 9c 9b 11339 11334 mov si, ax ; 89 c6 11340 11335 xor cl, cl ; 30 c9 … … 11347 11342 out strict byte 040h, AL ; e6 40 11348 11343 movzx ax, dl ; 0f b6 c2 11349 call 079 88h ; e8 68 fe11344 call 079b8h ; e8 68 fe 11350 11345 cmp ax, 066bbh ; 3d bb 66 11351 jne near 07 bf8h ; 0f 85 d1 0011346 jne near 07c28h ; 0f 85 d1 00 11352 11347 push SS ; 16 11353 11348 pop ES ; 07 … … 11357 11352 mov word [es:di], bx ; 26 89 1d 11358 11353 cmp ax, strict word 0004fh ; 3d 4f 00 11359 jne near 07 bf8h ; 0f 85 bd 0011354 jne near 07c28h ; 0f 85 bd 00 11360 11355 mov al, dl ; 88 d0 11361 11356 add AL, strict byte 004h ; 04 04 11362 11357 xor ah, ah ; 30 e4 11363 call 079 72h ; e8 2e fe11358 call 079a2h ; e8 2e fe 11364 11359 mov ch, al ; 88 c5 11365 11360 mov byte [bp-00ch], al ; 88 46 f4 … … 11367 11362 add AL, strict byte 005h ; 04 05 11368 11363 xor ah, ah ; 30 e4 11369 call 079 72h ; e8 20 fe11364 call 079a2h ; e8 20 fe 11370 11365 mov dh, al ; 88 c6 11371 11366 mov byte [bp-010h], al ; 88 46 f0 … … 11373 11368 add AL, strict byte 002h ; 04 02 11374 11369 xor ah, ah ; 30 e4 11375 call 079 88h ; e8 28 fe11370 call 079b8h ; e8 28 fe 11376 11371 mov bx, ax ; 89 c3 11377 11372 mov word [bp-014h], ax ; 89 46 ec … … 11379 11374 add AL, strict byte 006h ; 04 06 11380 11375 xor ah, ah ; 30 e4 11381 call 079 72h ; e8 04 fe11376 call 079a2h ; e8 04 fe 11382 11377 mov byte [bp-012h], al ; 88 46 ee 11383 11378 test ch, ch ; 84 ed 11384 jne short 07b 7fh ; 75 0a11379 jne short 07bafh ; 75 0a 11385 11380 test dh, dh ; 84 f6 11386 jne short 07b 7fh ; 75 0611381 jne short 07bafh ; 75 06 11387 11382 test bx, bx ; 85 db 11388 je near 07 bf8h ; 0f 84 79 0011383 je near 07c28h ; 0f 84 79 00 11389 11384 mov bx, 00142h ; bb 42 01 11390 11385 mov ax, 04f02h ; b8 02 4f 11391 11386 int 010h ; cd 10 11392 11387 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11393 je short 07b b0h ; 74 2311388 je short 07be0h ; 74 23 11394 11389 xor bx, bx ; 31 db 11395 jmp short 07b 97h ; eb 0611390 jmp short 07bc7h ; eb 06 11396 11391 inc bx ; 43 11397 11392 cmp bx, strict byte 00010h ; 83 fb 10 11398 jnbe short 07b b7h ; 77 2011393 jnbe short 07be7h ; 77 20 11399 11394 mov ax, bx ; 89 d8 11400 11395 or ah, 002h ; 80 cc 02 … … 11403 11398 xor dx, dx ; 31 d2 11404 11399 mov ax, strict word 00001h ; b8 01 00 11405 call 078 c0h ; e8 18 fd11400 call 078f0h ; e8 18 fd 11406 11401 cmp AL, strict byte 086h ; 3c 86 11407 jne short 07b 91h ; 75 e511402 jne short 07bc1h ; 75 e5 11408 11403 mov CL, strict byte 001h ; b1 01 11409 jmp short 07b b7h ; eb 0711404 jmp short 07be7h ; eb 07 11410 11405 mov ax, 00210h ; b8 10 02 11411 11406 mov dx, 003b8h ; ba b8 03 11412 11407 out DX, ax ; ef 11413 11408 test cl, cl ; 84 c9 11414 jne short 07b cdh ; 75 1211409 jne short 07bfdh ; 75 12 11415 11410 mov ax, word [bp-014h] ; 8b 46 ec 11416 11411 shr ax, 004h ; c1 e8 04 11417 11412 mov dx, strict word 00001h ; ba 01 00 11418 call 078 c0h ; e8 f9 fc11413 call 078f0h ; e8 f9 fc 11419 11414 cmp AL, strict byte 086h ; 3c 86 11420 jne short 07b cdh ; 75 0211415 jne short 07bfdh ; 75 02 11421 11416 mov CL, strict byte 001h ; b1 01 11422 11417 cmp byte [bp-010h], 000h ; 80 7e f0 00 11423 je short 07 bf8h ; 74 2511418 je short 07c28h ; 74 25 11424 11419 test cl, cl ; 84 c9 11425 jne short 07 bf8h ; 75 2111420 jne short 07c28h ; 75 21 11426 11421 mov bx, strict word 00010h ; bb 10 00 11427 jmp short 07 be1h ; eb 0511422 jmp short 07c11h ; eb 05 11428 11423 dec bx ; 4b 11429 11424 test bx, bx ; 85 db 11430 jbe short 07 bf8h ; 76 1711425 jbe short 07c28h ; 76 17 11431 11426 mov ax, bx ; 89 d8 11432 11427 or ah, 002h ; 80 cc 02 … … 11435 11430 xor dx, dx ; 31 d2 11436 11431 mov ax, strict word 00001h ; b8 01 00 11437 call 078 c0h ; e8 ce fc11432 call 078f0h ; e8 ce fc 11438 11433 cmp AL, strict byte 086h ; 3c 86 11439 jne short 07 bdch ; 75 e611434 jne short 07c0ch ; 75 e6 11440 11435 mov CL, strict byte 001h ; b1 01 11441 11436 xor bx, bx ; 31 db 11442 11437 mov dx, 0037dh ; ba 7d 03 11443 11438 mov ax, si ; 89 f0 11444 call 016c6h ; e8 c4 9a11439 call 016c6h ; e8 94 9a 11445 11440 mov AL, strict byte 003h ; b0 03 11446 11441 mov AH, strict byte 000h ; b4 00 11447 11442 int 010h ; cd 10 11448 11443 cmp byte [bp-012h], 000h ; 80 7e ee 00 11449 je near 07 cf9h ; 0f 84 e9 0011444 je near 07d29h ; 0f 84 e9 00 11450 11445 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11451 jne short 07c 46h ; 75 3011446 jne short 07c76h ; 75 30 11452 11447 cmp byte [bp-010h], 000h ; 80 7e f0 00 11453 jne short 07c 46h ; 75 2a11448 jne short 07c76h ; 75 2a 11454 11449 cmp word [bp-014h], strict byte 00000h ; 83 7e ec 00 11455 jne short 07c 46h ; 75 2411450 jne short 07c76h ; 75 24 11456 11451 cmp byte [bp-012h], 002h ; 80 7e ee 02 11457 jne short 07c 33h ; 75 0b11452 jne short 07c63h ; 75 0b 11458 11453 push 00a4bh ; 68 4b 0a 11459 11454 push strict byte 00002h ; 6a 02 11460 call 019dah ; e8 aa 9d11455 call 019dah ; e8 7a 9d 11461 11456 add sp, strict byte 00004h ; 83 c4 04 11462 11457 test cl, cl ; 84 c9 11463 jne short 07c 46h ; 75 0f11458 jne short 07c76h ; 75 0f 11464 11459 mov dx, strict word 00001h ; ba 01 00 11465 11460 mov ax, 000c0h ; b8 c0 00 11466 call 078 c0h ; e8 80 fc11461 call 078f0h ; e8 80 fc 11467 11462 cmp AL, strict byte 086h ; 3c 86 11468 jne short 07c 46h ; 75 0211463 jne short 07c76h ; 75 02 11469 11464 mov CL, strict byte 001h ; b1 01 11470 11465 test cl, cl ; 84 c9 11471 je near 07 cf9h ; 0f 84 ad 0011466 je near 07d29h ; 0f 84 ad 00 11472 11467 mov byte [bp-00eh], 000h ; c6 46 f2 00 11473 11468 mov ax, 00100h ; b8 00 01 … … 11488 11483 push 00a6dh ; 68 6d 0a 11489 11484 push strict byte 00002h ; 6a 02 11490 call 019dah ; e8 65 9d11485 call 019dah ; e8 35 9d 11491 11486 add sp, strict byte 00004h ; 83 c4 04 11492 call 079 9ch ; e8 21 fd11487 call 079cch ; e8 21 fd 11493 11488 push 00ab1h ; 68 b1 0a 11494 11489 push strict byte 00002h ; 6a 02 11495 call 019dah ; e8 57 9d11490 call 019dah ; e8 27 9d 11496 11491 add sp, strict byte 00004h ; 83 c4 04 11497 11492 mov dx, strict word 00001h ; ba 01 00 11498 11493 mov ax, strict word 00040h ; b8 40 00 11499 call 078 c0h ; e8 31 fc11494 call 078f0h ; e8 31 fc 11500 11495 mov bl, al ; 88 c3 11501 11496 test al, al ; 84 c0 11502 je short 07c 86h ; 74 f111497 je short 07cb6h ; 74 f1 11503 11498 cmp AL, strict byte 030h ; 3c 30 11504 je short 07 ce7h ; 74 4e11499 je short 07d17h ; 74 4e 11505 11500 cmp bl, 002h ; 80 fb 02 11506 jc short 07c c0h ; 72 2211501 jc short 07cf0h ; 72 22 11507 11502 cmp bl, 009h ; 80 fb 09 11508 jnbe short 07c c0h ; 77 1d11503 jnbe short 07cf0h ; 77 1d 11509 11504 movzx ax, bl ; 0f b6 c3 11510 call 07a cch ; e8 23 fe11505 call 07afch ; e8 23 fe 11511 11506 cmp AL, strict byte 0ffh ; 3c ff 11512 jne short 07c afh ; 75 0211513 jmp short 07c 86h ; eb d711507 jne short 07cdfh ; 75 02 11508 jmp short 07cb6h ; eb d7 11514 11509 movzx bx, al ; 0f b6 d8 11515 11510 mov dx, 0037ch ; ba 7c 03 11516 11511 mov ax, si ; 89 f0 11517 call 016c6h ; e8 0c 9a11512 call 016c6h ; e8 dc 99 11518 11513 mov byte [bp-00eh], 002h ; c6 46 f2 02 11519 jmp short 07 ce7h ; eb 2711514 jmp short 07d17h ; eb 27 11520 11515 cmp bl, 02eh ; 80 fb 2e 11521 je short 07 cd5h ; 74 1011516 je short 07d05h ; 74 10 11522 11517 cmp bl, 026h ; 80 fb 26 11523 je short 07 cdbh ; 74 1111518 je short 07d0bh ; 74 11 11524 11519 cmp bl, 021h ; 80 fb 21 11525 jne short 07 ce1h ; 75 1211520 jne short 07d11h ; 75 12 11526 11521 mov byte [bp-00eh], 001h ; c6 46 f2 01 11527 jmp short 07 ce7h ; eb 1211522 jmp short 07d17h ; eb 12 11528 11523 mov byte [bp-00eh], 003h ; c6 46 f2 03 11529 jmp short 07 ce7h ; eb 0c11524 jmp short 07d17h ; eb 0c 11530 11525 mov byte [bp-00eh], 004h ; c6 46 f2 04 11531 jmp short 07 ce7h ; eb 0611526 jmp short 07d17h ; eb 06 11532 11527 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11533 je short 07c 86h ; 74 9f11528 je short 07cb6h ; 74 9f 11534 11529 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 11535 11530 mov dx, 0037dh ; ba 7d 03 11536 11531 mov ax, si ; 89 f0 11537 call 016c6h ; e8 d3 9911532 call 016c6h ; e8 a3 99 11538 11533 mov AL, strict byte 003h ; b0 03 11539 11534 mov AH, strict byte 000h ; b4 00 … … 11548 11543 push DS ; 1e 11549 11544 mov ds, ax ; 8e d8 11550 call 0edbfh ; e8 b4 7011545 call 0edbfh ; e8 84 70 11551 11546 pop DS ; 1f 11552 11547 popad ; 66 61 … … 11559 11554 pop bp ; 5d 11560 11555 retn ; c3 11561 delay_boot_: ; 0xf7d 18 LB 0x6711556 delay_boot_: ; 0xf7d48 LB 0x67 11562 11557 push bp ; 55 11563 11558 mov bp, sp ; 89 e5 … … 11566 11561 mov dx, ax ; 89 c2 11567 11562 test ax, ax ; 85 c0 11568 je short 07d 78h ; 74 5511563 je short 07da8h ; 74 55 11569 11564 mov AL, strict byte 034h ; b0 34 11570 11565 out strict byte 043h, AL ; e6 43 … … 11576 11571 push 00afbh ; 68 fb 0a 11577 11572 push strict byte 00002h ; 6a 02 11578 call 019dah ; e8 a2 9c11573 call 019dah ; e8 72 9c 11579 11574 add sp, strict byte 00006h ; 83 c4 06 11580 11575 mov bx, dx ; 89 d3 11581 11576 test bx, bx ; 85 db 11582 jbe short 07d 58h ; 76 1711577 jbe short 07d88h ; 76 17 11583 11578 push bx ; 53 11584 11579 push 00b19h ; 68 19 0b 11585 11580 push strict byte 00002h ; 6a 02 11586 call 019dah ; e8 90 9c11581 call 019dah ; e8 60 9c 11587 11582 add sp, strict byte 00006h ; 83 c4 06 11588 11583 xor dx, dx ; 31 d2 11589 11584 mov ax, strict word 00040h ; b8 40 00 11590 call 078 c0h ; e8 6b fb11585 call 078f0h ; e8 6b fb 11591 11586 dec bx ; 4b 11592 jmp short 07d 3dh ; eb e511587 jmp short 07d6dh ; eb e5 11593 11588 push 00a49h ; 68 49 0a 11594 11589 push strict byte 00002h ; 6a 02 11595 call 019dah ; e8 7a 9c11590 call 019dah ; e8 4a 9c 11596 11591 add sp, strict byte 00004h ; 83 c4 04 11597 11592 mov AL, strict byte 034h ; b0 34 … … 11604 11599 push DS ; 1e 11605 11600 mov ds, ax ; 8e d8 11606 call 0edbfh ; e8 4a 7011601 call 0edbfh ; e8 1a 70 11607 11602 pop DS ; 1f 11608 11603 popad ; 66 61 … … 11612 11607 pop bp ; 5d 11613 11608 retn ; c3 11614 scsi_cmd_data_in_: ; 0xf7d 7f LB 0xd511609 scsi_cmd_data_in_: ; 0xf7daf LB 0xd5 11615 11610 push bp ; 55 11616 11611 mov bp, sp ; 89 e5 … … 11628 11623 ; sub ah, ah ; 2a e4 11629 11624 test AL, strict byte 001h ; a8 01 11630 jne short 07d 95h ; 75 f711625 jne short 07dc5h ; 75 f7 11631 11626 cmp byte [bp+004h], 010h ; 80 7e 04 10 11632 jne short 07d a8h ; 75 0411627 jne short 07dd8h ; 75 04 11633 11628 xor ax, ax ; 31 c0 11634 jmp short 07d ach ; eb 0411629 jmp short 07ddch ; eb 04 11635 11630 movzx ax, byte [bp+004h] ; 0f b6 46 04 11636 11631 mov di, ax ; 89 c7 … … 11640 11635 shr dx, 1 ; d1 ea 11641 11636 rcr ax, 1 ; d1 d8 11642 loop 07d b6h ; e2 fa11637 loop 07de6h ; e2 fa 11643 11638 mov cx, ax ; 89 c1 11644 11639 and cx, 000f0h ; 81 e1 f0 00 … … 11658 11653 shr dx, 1 ; d1 ea 11659 11654 rcr ax, 1 ; d1 d8 11660 loop 07 ddbh ; e2 fa11655 loop 07e0bh ; e2 fa 11661 11656 mov dx, si ; 89 f2 11662 11657 out DX, AL ; ee … … 11664 11659 movzx ax, byte [bp+004h] ; 0f b6 46 04 11665 11660 cmp cx, ax ; 39 c1 11666 jnc short 07 dfch ; 73 0e11661 jnc short 07e2ch ; 73 0e 11667 11662 les di, [bp-00ah] ; c4 7e f6 11668 11663 add di, cx ; 01 cf … … 11671 11666 out DX, AL ; ee 11672 11667 inc cx ; 41 11673 jmp short 07 de6h ; eb ea11668 jmp short 07e16h ; eb ea 11674 11669 mov dx, si ; 89 f2 11675 11670 in AL, DX ; ec … … 11677 11672 ; sub ah, ah ; 2a e4 11678 11673 test AL, strict byte 001h ; a8 01 11679 jne short 07 dfch ; 75 f711674 jne short 07e2ch ; 75 f7 11680 11675 test AL, strict byte 002h ; a8 02 11681 je short 07e 17h ; 74 0e11676 je short 07e47h ; 74 0e 11682 11677 lea dx, [si+003h] ; 8d 54 03 11683 11678 xor al, al ; 30 c0 … … 11687 11682 ; sub ah, ah ; 2a e4 11688 11683 mov di, strict word 00004h ; bf 04 00 11689 jmp short 07e 49h ; eb 3211684 jmp short 07e79h ; eb 32 11690 11685 lea dx, [si+001h] ; 8d 54 01 11691 11686 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 11692 jne short 07e 26h ; 75 0611687 jne short 07e56h ; 75 06 11693 11688 cmp bx, 08000h ; 81 fb 00 80 11694 jbe short 07e 40h ; 76 1a11689 jbe short 07e70h ; 76 1a 11695 11690 mov cx, 08000h ; b9 00 80 11696 11691 les di, [bp+006h] ; c4 7e 06 … … 11701 11696 add ax, 00800h ; 05 00 08 11702 11697 mov word [bp+008h], ax ; 89 46 08 11703 jmp short 07e 17h ; eb d711698 jmp short 07e47h ; eb d7 11704 11699 mov cx, bx ; 89 d9 11705 11700 les di, [bp+006h] ; c4 7e 06 … … 11712 11707 pop bp ; 5d 11713 11708 retn 0000ah ; c2 0a 00 11714 scsi_cmd_data_out_: ; 0xf7e 54 LB 0xd511709 scsi_cmd_data_out_: ; 0xf7e84 LB 0xd5 11715 11710 push bp ; 55 11716 11711 mov bp, sp ; 89 e5 … … 11728 11723 ; sub ah, ah ; 2a e4 11729 11724 test AL, strict byte 001h ; a8 01 11730 jne short 07e 6ah ; 75 f711725 jne short 07e9ah ; 75 f7 11731 11726 cmp byte [bp+004h], 010h ; 80 7e 04 10 11732 jne short 07e 7dh ; 75 0411727 jne short 07eadh ; 75 04 11733 11728 xor ax, ax ; 31 c0 11734 jmp short 07e 81h ; eb 0411729 jmp short 07eb1h ; eb 04 11735 11730 movzx ax, byte [bp+004h] ; 0f b6 46 04 11736 11731 mov si, ax ; 89 c6 … … 11740 11735 shr dx, 1 ; d1 ea 11741 11736 rcr ax, 1 ; d1 d8 11742 loop 07e 8bh ; e2 fa11737 loop 07ebbh ; e2 fa 11743 11738 mov cx, ax ; 89 c1 11744 11739 and cx, 000f0h ; 81 e1 f0 00 … … 11758 11753 shr dx, 1 ; d1 ea 11759 11754 rcr ax, 1 ; d1 d8 11760 loop 07e b0h ; e2 fa11755 loop 07ee0h ; e2 fa 11761 11756 mov dx, di ; 89 fa 11762 11757 out DX, AL ; ee … … 11764 11759 movzx ax, byte [bp+004h] ; 0f b6 46 04 11765 11760 cmp cx, ax ; 39 c1 11766 jnc short 07 ed1h ; 73 0e11761 jnc short 07f01h ; 73 0e 11767 11762 les si, [bp-00ah] ; c4 76 f6 11768 11763 add si, cx ; 01 ce … … 11771 11766 out DX, AL ; ee 11772 11767 inc cx ; 41 11773 jmp short 07e bbh ; eb ea11768 jmp short 07eebh ; eb ea 11774 11769 lea dx, [di+001h] ; 8d 55 01 11775 11770 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 11776 jne short 07 ee0h ; 75 0611771 jne short 07f10h ; 75 06 11777 11772 cmp bx, 08000h ; 81 fb 00 80 11778 jbe short 07 efbh ; 76 1b11773 jbe short 07f2bh ; 76 1b 11779 11774 mov cx, 08000h ; b9 00 80 11780 11775 les si, [bp+006h] ; c4 76 06 … … 11786 11781 add ax, 00800h ; 05 00 08 11787 11782 mov word [bp+008h], ax ; 89 46 08 11788 jmp short 07 ed1h ; eb d611783 jmp short 07f01h ; eb d6 11789 11784 mov cx, bx ; 89 d9 11790 11785 les si, [bp+006h] ; c4 76 06 … … 11796 11791 ; sub ah, ah ; 2a e4 11797 11792 test AL, strict byte 001h ; a8 01 11798 jne short 07f 03h ; 75 f711793 jne short 07f33h ; 75 f7 11799 11794 test AL, strict byte 002h ; a8 02 11800 je short 07f 1eh ; 74 0e11795 je short 07f4eh ; 74 0e 11801 11796 lea dx, [di+003h] ; 8d 55 03 11802 11797 xor al, al ; 30 c0 … … 11806 11801 ; sub ah, ah ; 2a e4 11807 11802 mov ax, strict word 00004h ; b8 04 00 11808 jmp short 07f 20h ; eb 0211803 jmp short 07f50h ; eb 02 11809 11804 xor ax, ax ; 31 c0 11810 11805 lea sp, [bp-004h] ; 8d 66 fc … … 11813 11808 pop bp ; 5d 11814 11809 retn 0000ah ; c2 0a 00 11815 @scsi_read_sectors: ; 0xf7f 29 LB 0xdb11810 @scsi_read_sectors: ; 0xf7f59 LB 0xdb 11816 11811 push bp ; 55 11817 11812 mov bp, sp ; 89 e5 … … 11825 11820 mov byte [bp-006h], al ; 88 46 fa 11826 11821 cmp AL, strict byte 004h ; 3c 04 11827 jbe short 07f 57h ; 76 1311822 jbe short 07f87h ; 76 13 11828 11823 movzx ax, byte [bp-006h] ; 0f b6 46 fa 11829 11824 push ax ; 50 … … 11831 11826 push 00b30h ; 68 30 0b 11832 11827 push strict byte 00007h ; 6a 07 11833 call 019dah ; e8 86 9a11828 call 019dah ; e8 56 9a 11834 11829 add sp, strict byte 00008h ; 83 c4 08 11835 11830 mov es, [bp+006h] ; 8e 46 06 … … 11870 11865 sal word [bp-00ah], 1 ; d1 66 f6 11871 11866 rcl word [bp-008h], 1 ; d1 56 f8 11872 loop 07f c0h ; e2 f811867 loop 07ff0h ; e2 f8 11873 11868 push dword [bp-00ah] ; 66 ff 76 f6 11874 11869 db 066h, 026h, 0ffh, 074h, 008h … … 11878 11873 mov cx, ss ; 8c d1 11879 11874 lea bx, [bp-01ah] ; 8d 5e e6 11880 call 07d 7fh ; e8 a2 fd11875 call 07dafh ; e8 a2 fd 11881 11876 mov ah, al ; 88 c4 11882 11877 test al, al ; 84 c0 11883 jne short 0 7ff8h ; 75 1511878 jne short 08028h ; 75 15 11884 11879 mov es, [bp+006h] ; 8e 46 06 11885 11880 mov word [es:si+018h], di ; 26 89 7c 18 … … 11894 11889 pop bp ; 5d 11895 11890 retn 00004h ; c2 04 00 11896 @scsi_write_sectors: ; 0xf80 04 LB 0xdb11891 @scsi_write_sectors: ; 0xf8034 LB 0xdb 11897 11892 push bp ; 55 11898 11893 mov bp, sp ; 89 e5 … … 11906 11901 mov byte [bp-006h], al ; 88 46 fa 11907 11902 cmp AL, strict byte 004h ; 3c 04 11908 jbe short 080 32h ; 76 1311903 jbe short 08062h ; 76 13 11909 11904 movzx ax, byte [bp-006h] ; 0f b6 46 fa 11910 11905 push ax ; 50 … … 11912 11907 push 00b30h ; 68 30 0b 11913 11908 push strict byte 00007h ; 6a 07 11914 call 019dah ; e8 ab 9911909 call 019dah ; e8 7b 99 11915 11910 add sp, strict byte 00008h ; 83 c4 08 11916 11911 mov es, [bp+006h] ; 8e 46 06 … … 11951 11946 sal word [bp-00ah], 1 ; d1 66 f6 11952 11947 rcl word [bp-008h], 1 ; d1 56 f8 11953 loop 080 9bh ; e2 f811948 loop 080cbh ; e2 f8 11954 11949 push dword [bp-00ah] ; 66 ff 76 f6 11955 11950 db 066h, 026h, 0ffh, 074h, 008h … … 11959 11954 mov cx, ss ; 8c d1 11960 11955 lea bx, [bp-01ah] ; 8d 5e e6 11961 call 07e 54h ; e8 9c fd11956 call 07e84h ; e8 9c fd 11962 11957 mov ah, al ; 88 c4 11963 11958 test al, al ; 84 c0 11964 jne short 08 0d3h ; 75 1511959 jne short 08103h ; 75 15 11965 11960 mov es, [bp+006h] ; 8e 46 06 11966 11961 mov word [es:si+018h], di ; 26 89 7c 18 … … 11975 11970 pop bp ; 5d 11976 11971 retn 00004h ; c2 04 00 11977 scsi_cmd_packet_: ; 0xf8 0df LB 0x16611972 scsi_cmd_packet_: ; 0xf810f LB 0x166 11978 11973 push bp ; 55 11979 11974 mov bp, sp ; 89 e5 … … 11987 11982 mov dx, strict word 0000eh ; ba 0e 00 11988 11983 mov ax, strict word 00040h ; b8 40 00 11989 call 016d4h ; e8 d9 9511984 call 016d4h ; e8 a9 95 11990 11985 mov si, 00122h ; be 22 01 11991 11986 mov word [bp-00eh], ax ; 89 46 f2 11992 11987 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 11993 jne short 081 26h ; 75 1f11988 jne short 08156h ; 75 1f 11994 11989 mov bx, 00da0h ; bb a0 0d 11995 11990 mov cx, ds ; 8c d9 11996 11991 mov ax, strict word 00004h ; b8 04 00 11997 call 01999h ; e8 87 9811992 call 01999h ; e8 57 98 11998 11993 push 00b62h ; 68 62 0b 11999 11994 push 00b72h ; 68 72 0b 12000 11995 push strict byte 00004h ; 6a 04 12001 call 019dah ; e8 bd 9811996 call 019dah ; e8 8d 98 12002 11997 add sp, strict byte 00006h ; 83 c4 06 12003 11998 mov dx, strict word 00001h ; ba 01 00 12004 jmp near 082 3ah ; e9 14 0111999 jmp near 0826ah ; e9 14 01 12005 12000 sub di, strict byte 00008h ; 83 ef 08 12006 12001 sal di, 002h ; c1 e7 02 … … 12016 12011 ; sub ah, ah ; 2a e4 12017 12012 test AL, strict byte 001h ; a8 01 12018 jne short 081 42h ; 75 f712013 jne short 08172h ; 75 f7 12019 12014 xor ax, ax ; 31 c0 12020 12015 mov dx, word [bp+006h] ; 8b 56 06 … … 12032 12027 shr dx, 1 ; d1 ea 12033 12028 rcr ax, 1 ; d1 d8 12034 loop 081 6dh ; e2 fa12029 loop 0819dh ; e2 fa 12035 12030 and ax, 000f0h ; 25 f0 00 12036 12031 movzx cx, byte [bp-006h] ; 0f b6 4e fa … … 12050 12045 shr dx, 1 ; d1 ea 12051 12046 rcr ax, 1 ; d1 d8 12052 loop 081 94h ; e2 fa12047 loop 081c4h ; e2 fa 12053 12048 mov dx, bx ; 89 da 12054 12049 out DX, AL ; ee … … 12056 12051 movzx ax, byte [bp-006h] ; 0f b6 46 fa 12057 12052 cmp cx, ax ; 39 c1 12058 jnc short 081 b5h ; 73 0e12053 jnc short 081e5h ; 73 0e 12059 12054 les di, [bp-00ch] ; c4 7e f4 12060 12055 add di, cx ; 01 cf … … 12063 12058 out DX, AL ; ee 12064 12059 inc cx ; 41 12065 jmp short 081 9fh ; eb ea12060 jmp short 081cfh ; eb ea 12066 12061 mov dx, bx ; 89 da 12067 12062 in AL, DX ; ec … … 12069 12064 ; sub ah, ah ; 2a e4 12070 12065 test AL, strict byte 001h ; a8 01 12071 jne short 081 b5h ; 75 f712066 jne short 081e5h ; 75 f7 12072 12067 test AL, strict byte 002h ; a8 02 12073 je short 08 1d0h ; 74 0e12068 je short 08200h ; 74 0e 12074 12069 lea dx, [bx+003h] ; 8d 57 03 12075 12070 xor al, al ; 30 c0 … … 12079 12074 ; sub ah, ah ; 2a e4 12080 12075 mov dx, strict word 00003h ; ba 03 00 12081 jmp short 082 3ah ; eb 6a12076 jmp short 0826ah ; eb 6a 12082 12077 mov ax, word [bp+004h] ; 8b 46 04 12083 12078 test ax, ax ; 85 c0 12084 je short 08 1dfh ; 74 0812079 je short 0820fh ; 74 08 12085 12080 lea dx, [bx+001h] ; 8d 57 01 12086 12081 mov cx, ax ; 89 c1 12087 12082 in AL, DX ; ec 12088 loop 08 1dch ; e2 fd12083 loop 0820ch ; e2 fd 12089 12084 mov ax, word [bp+006h] ; 8b 46 06 12090 12085 mov es, [bp-00eh] ; 8e 46 f2 … … 12094 12089 lea ax, [bx+001h] ; 8d 47 01 12095 12090 cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00 12096 jne short 082 00h ; 75 0712091 jne short 08230h ; 75 07 12097 12092 cmp word [bp+006h], 08000h ; 81 7e 06 00 80 12098 jbe short 082 1dh ; 76 1d12093 jbe short 0824dh ; 76 1d 12099 12094 mov dx, ax ; 89 c2 12100 12095 mov cx, 08000h ; b9 00 80 … … 12106 12101 add ax, 00800h ; 05 00 08 12107 12102 mov word [bp+00eh], ax ; 89 46 0e 12108 jmp short 08 1f0h ; eb d312103 jmp short 08220h ; eb d3 12109 12104 mov dx, ax ; 89 c2 12110 12105 mov cx, word [bp+006h] ; 8b 4e 06 … … 12113 12108 mov es, [bp-00eh] ; 8e 46 f2 12114 12109 cmp word [es:si+020h], strict byte 00000h ; 26 83 7c 20 00 12115 je short 082 38h ; 74 0712110 je short 08268h ; 74 07 12116 12111 mov cx, word [es:si+020h] ; 26 8b 4c 20 12117 12112 in AL, DX ; ec 12118 loop 082 35h ; e2 fd12113 loop 08265h ; e2 fd 12119 12114 xor dx, dx ; 31 d2 12120 12115 mov ax, dx ; 89 d0 … … 12124 12119 pop bp ; 5d 12125 12120 retn 0000ch ; c2 0c 00 12126 scsi_enumerate_attached_devices_: ; 0xf82 45 LB 0x48212121 scsi_enumerate_attached_devices_: ; 0xf8275 LB 0x482 12127 12122 push bp ; 55 12128 12123 mov bp, sp ; 89 e5 … … 12136 12131 mov dx, strict word 0000eh ; ba 0e 00 12137 12132 mov ax, strict word 00040h ; b8 40 00 12138 call 016d4h ; e8 79 9412133 call 016d4h ; e8 49 94 12139 12134 mov di, 00122h ; bf 22 01 12140 12135 mov word [bp-02eh], ax ; 89 46 d2 12141 12136 mov word [bp-01eh], strict word 00000h ; c7 46 e2 00 00 12142 jmp near 086 49h ; e9 e0 0312137 jmp near 08679h ; e9 e0 03 12143 12138 cmp AL, strict byte 004h ; 3c 04 12144 jnc near 086 bdh ; 0f 83 4e 0412139 jnc near 086edh ; 0f 83 4e 04 12145 12140 mov cx, strict word 00010h ; b9 10 00 12146 12141 xor bx, bx ; 31 db 12147 12142 mov dx, ss ; 8c d2 12148 12143 lea ax, [bp-046h] ; 8d 46 ba 12149 call 09f 20h ; e8 a4 1c12144 call 09f50h ; e8 a4 1c 12150 12145 mov byte [bp-046h], 09eh ; c6 46 ba 9e 12151 12146 mov byte [bp-045h], 010h ; c6 46 bb 10 … … 12160 12155 lea bx, [bp-046h] ; 8d 5e ba 12161 12156 mov ax, word [bp-00248h] ; 8b 86 b8 fd 12162 call 07d 7fh ; e8 dc fa12157 call 07dafh ; e8 dc fa 12163 12158 test al, al ; 84 c0 12164 je short 082 b5h ; 74 0e12159 je short 082e5h ; 74 0e 12165 12160 push 00b92h ; 68 92 0b 12166 12161 push 00bcbh ; 68 cb 0b 12167 12162 push strict byte 00007h ; 6a 07 12168 call 019dah ; e8 28 9712163 call 019dah ; e8 f8 96 12169 12164 add sp, strict byte 00006h ; 83 c4 06 12170 12165 mov ax, word [bp-00240h] ; 8b 86 c0 fd … … 12196 12191 sal ax, 1 ; d1 e0 12197 12192 rcl dx, 1 ; d1 d2 12198 loop 083 03h ; e2 fa12193 loop 08333h ; e2 fa 12199 12194 or bx, ax ; 09 c3 12200 12195 or dx, si ; 09 f2 … … 12203 12198 mov word [bp-024h], bx ; 89 5e dc 12204 12199 test dx, dx ; 85 d2 12205 jne short 083 21h ; 75 0612200 jne short 08351h ; 75 06 12206 12201 cmp bx, 00200h ; 81 fb 00 02 12207 je short 083 41h ; 74 2012202 je short 08371h ; 74 20 12208 12203 mov bx, 00da0h ; bb a0 0d 12209 12204 mov cx, ds ; 8c d9 12210 12205 mov ax, strict word 00004h ; b8 04 00 12211 call 01999h ; e8 6d 9612206 call 01999h ; e8 3d 96 12212 12207 push dx ; 52 12213 12208 push word [bp-024h] ; ff 76 dc … … 12215 12210 push 00beah ; 68 ea 0b 12216 12211 push strict byte 00004h ; 6a 04 12217 call 019dah ; e8 9f 9612212 call 019dah ; e8 6f 96 12218 12213 add sp, strict byte 0000ah ; 83 c4 0a 12219 jmp near 086 40h ; e9 ff 0212214 jmp near 08670h ; e9 ff 02 12220 12215 mov al, byte [bp-00ch] ; 8a 46 f4 12221 12216 cmp AL, strict byte 001h ; 3c 01 12222 jc short 083 54h ; 72 0c12223 jbe short 083 5ch ; 76 1212217 jc short 08384h ; 72 0c 12218 jbe short 0838ch ; 76 12 12224 12219 cmp AL, strict byte 003h ; 3c 03 12225 je short 083 64h ; 74 1612220 je short 08394h ; 74 16 12226 12221 cmp AL, strict byte 002h ; 3c 02 12227 je short 083 60h ; 74 0e12228 jmp short 083 adh ; eb 5912222 je short 08390h ; 74 0e 12223 jmp short 083ddh ; eb 59 12229 12224 test al, al ; 84 c0 12230 jne short 083 adh ; 75 5512225 jne short 083ddh ; 75 55 12231 12226 mov BL, strict byte 090h ; b3 90 12232 jmp short 083 66h ; eb 0a12227 jmp short 08396h ; eb 0a 12233 12228 mov BL, strict byte 098h ; b3 98 12234 jmp short 083 66h ; eb 0612229 jmp short 08396h ; eb 06 12235 12230 mov BL, strict byte 0a0h ; b3 a0 12236 jmp short 083 66h ; eb 0212231 jmp short 08396h ; eb 02 12237 12232 mov BL, strict byte 0a8h ; b3 a8 12238 12233 mov al, bl ; 88 d8 … … 12240 12235 movzx cx, al ; 0f b6 c8 12241 12236 mov ax, cx ; 89 c8 12242 call 01714h ; e8 a2 9312237 call 01714h ; e8 72 93 12243 12238 test al, al ; 84 c0 12244 je short 083 adh ; 74 3712239 je short 083ddh ; 74 37 12245 12240 mov al, bl ; 88 d8 12246 12241 db 0feh, 0c0h 12247 12242 ; inc al ; fe c0 12248 12243 xor ah, ah ; 30 e4 12249 call 01714h ; e8 95 9312244 call 01714h ; e8 65 93 12250 12245 movzx dx, al ; 0f b6 d0 12251 12246 sal dx, 008h ; c1 e2 08 12252 12247 movzx ax, bl ; 0f b6 c3 12253 call 01714h ; e8 89 9312248 call 01714h ; e8 59 93 12254 12249 xor ah, ah ; 30 e4 12255 12250 add ax, dx ; 01 d0 … … 12259 12254 add AL, strict byte 002h ; 04 02 12260 12255 xor ah, ah ; 30 e4 12261 call 01714h ; e8 79 9312256 call 01714h ; e8 49 93 12262 12257 xor ah, ah ; 30 e4 12263 12258 mov word [bp-034h], ax ; 89 46 cc 12264 12259 mov ax, cx ; 89 c8 12265 call 01714h ; e8 6f 9312260 call 01714h ; e8 3f 93 12266 12261 xor ah, ah ; 30 e4 12267 12262 mov word [bp-032h], ax ; 89 46 ce 12268 jmp near 084 96h ; e9 e9 0012263 jmp near 084c6h ; e9 e9 00 12269 12264 mov ax, word [bp-010h] ; 8b 46 f0 12270 12265 mov bx, word [bp-030h] ; 8b 5e d0 … … 12272 12267 mov dx, word [bp-016h] ; 8b 56 ea 12273 12268 mov si, strict word 0000ch ; be 0c 00 12274 call 09f 00h ; e8 41 1b12269 call 09f30h ; e8 41 1b 12275 12270 mov word [bp-018h], ax ; 89 46 e8 12276 12271 mov word [bp-014h], bx ; 89 5e ec … … 12279 12274 mov ax, word [bp-010h] ; 8b 46 f0 12280 12275 test ax, ax ; 85 c0 12281 jnbe short 08 3e8h ; 77 1612282 jne near 084 5bh ; 0f 85 85 0012276 jnbe short 08418h ; 77 16 12277 jne near 0848bh ; 0f 85 85 00 12283 12278 cmp word [bp-030h], strict byte 00000h ; 83 7e d0 00 12284 jnbe short 08 3e8h ; 77 0c12285 jne near 084 5bh ; 0f 85 7b 0012279 jnbe short 08418h ; 77 0c 12280 jne near 0848bh ; 0f 85 7b 00 12286 12281 cmp word [bp-012h], strict byte 00040h ; 83 7e ee 40 12287 jnbe short 08 3e8h ; 77 0212288 jne short 084 5bh ; 75 7312282 jnbe short 08418h ; 77 02 12283 jne short 0848bh ; 75 73 12289 12284 mov dword [bp-034h], strict dword 0003f00ffh ; 66 c7 46 cc ff 00 3f 00 12290 12285 mov bx, word [bp-030h] ; 8b 5e d0 … … 12292 12287 mov dx, word [bp-016h] ; 8b 56 ea 12293 12288 mov si, strict word 00006h ; be 06 00 12294 call 09f 00h ; e8 01 1b12289 call 09f30h ; e8 01 1b 12295 12290 mov si, word [bp-020h] ; 8b 76 e0 12296 12291 add si, dx ; 01 d6 … … 12310 12305 mov dx, si ; 89 f2 12311 12306 mov si, strict word 00008h ; be 08 00 12312 call 09f 00h ; e8 d1 1a12307 call 09f30h ; e8 d1 1a 12313 12308 mov word [bp-022h], bx ; 89 5e de 12314 12309 mov word [bp-02ch], cx ; 89 4e d4 … … 12319 12314 mov dx, word [bp-02ah] ; 8b 56 d6 12320 12315 mov si, strict word 00010h ; be 10 00 12321 call 09f 00h ; e8 b6 1a12316 call 09f30h ; e8 b6 1a 12322 12317 mov si, word [bp-01ah] ; 8b 76 e6 12323 12318 add si, dx ; 01 d6 … … 12326 12321 mov ax, word [bp-022h] ; 8b 46 de 12327 12322 adc ax, bx ; 11 d8 12328 jmp short 084 96h ; eb 3b12323 jmp short 084c6h ; eb 3b 12329 12324 test ax, ax ; 85 c0 12330 jnbe short 084 71h ; 77 1212331 jne short 084 7bh ; 75 1a12325 jnbe short 084a1h ; 77 12 12326 jne short 084abh ; 75 1a 12332 12327 cmp word [bp-030h], strict byte 00000h ; 83 7e d0 00 12333 jnbe short 084 71h ; 77 0a12334 jne short 084 7bh ; 75 1212328 jnbe short 084a1h ; 77 0a 12329 jne short 084abh ; 75 12 12335 12330 cmp word [bp-012h], strict byte 00020h ; 83 7e ee 20 12336 jnbe short 084 71h ; 77 0212337 jne short 084 7bh ; 75 0a12331 jnbe short 084a1h ; 77 02 12332 jne short 084abh ; 75 0a 12338 12333 mov dword [bp-034h], strict dword 000200080h ; 66 c7 46 cc 80 00 20 00 12339 jmp short 084 92h ; eb 1712334 jmp short 084c2h ; eb 17 12340 12335 mov dword [bp-034h], strict dword 000200040h ; 66 c7 46 cc 40 00 20 00 12341 12336 mov bx, word [bp-030h] ; 8b 5e d0 … … 12343 12338 mov dx, word [bp-016h] ; 8b 56 ea 12344 12339 mov si, strict word 0000bh ; be 0b 00 12345 call 09f 00h ; e8 6e 1a12340 call 09f30h ; e8 6e 1a 12346 12341 mov si, dx ; 89 d6 12347 12342 mov dx, cx ; 89 ca … … 12376 12371 mov word [es:bx+034h], ax ; 26 89 47 34 12377 12372 test dx, dx ; 85 d2 12378 jne short 085 03h ; 75 0612373 jne short 08533h ; 75 06 12379 12374 cmp si, 00400h ; 81 fe 00 04 12380 jbe short 085 11h ; 76 0e12375 jbe short 08541h ; 76 0e 12381 12376 mov word [es:bx+02ch], 00400h ; 26 c7 47 2c 00 04 12382 12377 mov word [es:bx+032h], 00400h ; 26 c7 47 32 00 04 12383 jmp short 085 19h ; eb 0812378 jmp short 08549h ; eb 08 12384 12379 mov word [es:bx+02ch], si ; 26 89 77 2c 12385 12380 mov word [es:bx+032h], si ; 26 89 77 32 … … 12387 12382 mov cx, ds ; 8c d9 12388 12383 mov ax, strict word 00004h ; b8 04 00 12389 call 01999h ; e8 75 9412384 call 01999h ; e8 45 94 12390 12385 push word [bp-010h] ; ff 76 f0 12391 12386 push word [bp-030h] ; ff 76 d0 … … 12400 12395 push 00c18h ; 68 18 0c 12401 12396 push strict byte 00004h ; 6a 04 12402 call 019dah ; e8 94 9412397 call 019dah ; e8 64 94 12403 12398 add sp, strict byte 00018h ; 83 c4 18 12404 12399 movzx bx, byte [bp-00eh] ; 0f b6 5e f2 … … 12425 12420 mov dx, strict word 00075h ; ba 75 00 12426 12421 mov ax, strict word 00040h ; b8 40 00 12427 call 016b8h ; e8 22 9112422 call 016b8h ; e8 f2 90 12428 12423 db 0feh, 0c0h 12429 12424 ; inc al ; fe c0 … … 12431 12426 mov dx, strict word 00075h ; ba 75 00 12432 12427 mov ax, strict word 00040h ; b8 40 00 12433 call 016c6h ; e8 22 9112428 call 016c6h ; e8 f2 90 12434 12429 inc byte [bp-00ch] ; fe 46 f4 12435 jmp near 086 35h ; e9 8b 0012430 jmp near 08665h ; e9 8b 00 12436 12431 mov bx, 00da0h ; bb a0 0d 12437 12432 mov cx, ds ; 8c d9 12438 12433 mov ax, strict word 00004h ; b8 04 00 12439 call 01999h ; e8 e4 9312434 call 01999h ; e8 b4 93 12440 12435 push word [bp-01eh] ; ff 76 e2 12441 12436 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 … … 12443 12438 push 00c46h ; 68 46 0c 12444 12439 push strict byte 00004h ; 6a 04 12445 call 019dah ; e8 15 9412440 call 019dah ; e8 e5 93 12446 12441 add sp, strict byte 00008h ; 83 c4 08 12447 12442 mov al, byte [bp-00ch] ; 8a 46 f4 … … 12484 12479 inc word [bp-01eh] ; ff 46 e2 12485 12480 cmp word [bp-01eh], strict byte 00010h ; 83 7e e2 10 12486 jnl short 086 bdh ; 7d 7412481 jnl short 086edh ; 7d 74 12487 12482 mov byte [bp-046h], 012h ; c6 46 ba 12 12488 12483 xor al, al ; 30 c0 … … 12501 12496 lea bx, [bp-046h] ; 8d 5e ba 12502 12497 mov ax, word [bp-00248h] ; 8b 86 b8 fd 12503 call 07d 7fh ; e8 05 f712498 call 07dafh ; e8 05 f7 12504 12499 test al, al ; 84 c0 12505 je short 086 8ch ; 74 0e12500 je short 086bch ; 74 0e 12506 12501 push 00b92h ; 68 92 0b 12507 12502 push 00bb2h ; 68 b2 0b 12508 12503 push strict byte 00007h ; 6a 07 12509 call 019dah ; e8 51 9312504 call 019dah ; e8 21 93 12510 12505 add sp, strict byte 00006h ; 83 c4 06 12511 12506 mov es, [bp-02eh] ; 8e 46 d2 … … 12513 12508 mov byte [bp-00ch], al ; 88 46 f4 12514 12509 test byte [bp-00246h], 0e0h ; f6 86 ba fd e0 12515 jne short 086 a7h ; 75 0912510 jne short 086d7h ; 75 09 12516 12511 test byte [bp-00246h], 01fh ; f6 86 ba fd 1f 12517 je near 082 69h ; 0f 84 c2 fb12512 je near 08299h ; 0f 84 c2 fb 12518 12513 test byte [bp-00246h], 0e0h ; f6 86 ba fd e0 12519 jne short 086 35h ; 75 8712514 jne short 08665h ; 75 87 12520 12515 mov al, byte [bp-00246h] ; 8a 86 ba fd 12521 12516 and AL, strict byte 01fh ; 24 1f 12522 12517 cmp AL, strict byte 005h ; 3c 05 12523 je near 085 aah ; 0f 84 f0 fe12524 jmp near 086 35h ; e9 78 ff12518 je near 085dah ; 0f 84 f0 fe 12519 jmp near 08665h ; e9 78 ff 12525 12520 lea sp, [bp-00ah] ; 8d 66 f6 12526 12521 pop di ; 5f … … 12531 12526 pop bp ; 5d 12532 12527 retn ; c3 12533 _scsi_init: ; 0xf86 c7 LB 0x6612528 _scsi_init: ; 0xf86f7 LB 0x66 12534 12529 push bp ; 55 12535 12530 mov bp, sp ; 89 e5 12536 12531 mov dx, strict word 0000eh ; ba 0e 00 12537 12532 mov ax, strict word 00040h ; b8 40 00 12538 call 016d4h ; e8 01 9012533 call 016d4h ; e8 d1 8f 12539 12534 mov bx, 00122h ; bb 22 01 12540 12535 mov es, ax ; 8e c0 … … 12547 12542 ; sub ah, ah ; 2a e4 12548 12543 cmp AL, strict byte 055h ; 3c 55 12549 jne short 08 6f7h ; 75 0c12544 jne short 08727h ; 75 0c 12550 12545 xor al, al ; 30 c0 12551 12546 mov dx, 00433h ; ba 33 04 12552 12547 out DX, AL ; ee 12553 12548 mov ax, 00430h ; b8 30 04 12554 call 082 45h ; e8 4e fb12549 call 08275h ; e8 4e fb 12555 12550 mov AL, strict byte 055h ; b0 55 12556 12551 mov dx, 00436h ; ba 36 04 … … 12560 12555 ; sub ah, ah ; 2a e4 12561 12556 cmp AL, strict byte 055h ; 3c 55 12562 jne short 087 10h ; 75 0c12557 jne short 08740h ; 75 0c 12563 12558 xor al, al ; 30 c0 12564 12559 mov dx, 00437h ; ba 37 04 12565 12560 out DX, AL ; ee 12566 12561 mov ax, 00434h ; b8 34 04 12567 call 082 45h ; e8 35 fb12562 call 08275h ; e8 35 fb 12568 12563 mov AL, strict byte 055h ; b0 55 12569 12564 mov dx, 0043ah ; ba 3a 04 … … 12573 12568 ; sub ah, ah ; 2a e4 12574 12569 cmp AL, strict byte 055h ; 3c 55 12575 jne short 087 29h ; 75 0c12570 jne short 08759h ; 75 0c 12576 12571 xor al, al ; 30 c0 12577 12572 mov dx, 0043bh ; ba 3b 04 12578 12573 out DX, AL ; ee 12579 12574 mov ax, 00438h ; b8 38 04 12580 call 082 45h ; e8 1c fb12575 call 08275h ; e8 1c fb 12581 12576 mov sp, bp ; 89 ec 12582 12577 pop bp ; 5d 12583 12578 retn ; c3 12584 ahci_ctrl_extract_bits_: ; 0xf87 2d LB 0x1b12579 ahci_ctrl_extract_bits_: ; 0xf875d LB 0x1b 12585 12580 push si ; 56 12586 12581 push bp ; 55 … … 12590 12585 and dx, cx ; 21 ca 12591 12586 movzx cx, byte [bp+006h] ; 0f b6 4e 06 12592 jcxz 087 43h ; e3 0612587 jcxz 08773h ; e3 06 12593 12588 shr dx, 1 ; d1 ea 12594 12589 rcr ax, 1 ; d1 d8 12595 loop 087 3dh ; e2 fa12590 loop 0876dh ; e2 fa 12596 12591 pop bp ; 5d 12597 12592 pop si ; 5e 12598 12593 retn 00002h ; c2 02 00 12599 ahci_addr_to_phys_: ; 0xf87 48 LB 0x1e12594 ahci_addr_to_phys_: ; 0xf8778 LB 0x1e 12600 12595 push bx ; 53 12601 12596 push cx ; 51 … … 12608 12603 sal ax, 1 ; d1 e0 12609 12604 rcl dx, 1 ; d1 d2 12610 loop 087 56h ; e2 fa12605 loop 08786h ; e2 fa 12611 12606 xor cx, cx ; 31 c9 12612 12607 add ax, bx ; 01 d8 … … 12616 12611 pop bx ; 5b 12617 12612 retn ; c3 12618 ahci_port_cmd_sync_: ; 0xf87 66 LB 0x14b12613 ahci_port_cmd_sync_: ; 0xf8796 LB 0x14b 12619 12614 push bp ; 55 12620 12615 mov bp, sp ; 89 e5 … … 12631 12626 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 12632 12627 cmp ah, 0ffh ; 80 fc ff 12633 je near 088 a9h ; 0f 84 20 0112628 je near 088d9h ; 0f 84 20 01 12634 12629 movzx dx, byte [es:si+00263h] ; 26 0f b6 94 63 02 12635 12630 xor di, di ; 31 ff … … 12643 12638 lea ax, [si+00080h] ; 8d 84 80 00 12644 12639 mov dx, cx ; 89 ca 12645 call 087 48h ; e8 96 ff12640 call 08778h ; e8 96 ff 12646 12641 mov es, cx ; 8e c1 12647 12642 mov word [es:si+008h], ax ; 26 89 44 08 … … 12706 12701 xchg dx, ax ; 92 12707 12702 test dh, 040h ; f6 c6 40 12708 jne short 088 3fh ; 75 0412703 jne short 0886fh ; 75 04 12709 12704 test AL, strict byte 001h ; a8 01 12710 je short 088 43h ; 74 0412705 je short 08873h ; 74 04 12711 12706 mov AL, strict byte 001h ; b0 01 12712 jmp short 088 45h ; eb 0212707 jmp short 08875h ; eb 02 12713 12708 xor al, al ; 30 c0 12714 12709 test al, al ; 84 c0 12715 je short 088 13h ; 74 ca12710 je short 08843h ; 74 ca 12716 12711 movzx di, byte [bp-008h] ; 0f b6 7e f8 12717 12712 sal di, 007h ; c1 e7 07 … … 12767 12762 pop bp ; 5d 12768 12763 retn ; c3 12769 ahci_cmd_data_: ; 0xf88 b1 LB 0x26212764 ahci_cmd_data_: ; 0xf88e1 LB 0x262 12770 12765 push bp ; 55 12771 12766 mov bp, sp ; 89 e5 … … 12792 12787 mov ax, 00080h ; b8 80 00 12793 12788 mov dx, word [bp-00ah] ; 8b 56 f6 12794 call 09f 20h ; e8 31 1612789 call 09f50h ; e8 31 16 12795 12790 mov es, [bp-00ah] ; 8e 46 f6 12796 12791 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 12810 12805 mov dx, word [es:si] ; 26 8b 14 12811 12806 mov si, strict word 00008h ; be 08 00 12812 call 09f 00h ; e8 cd 1512807 call 09f30h ; e8 cd 15 12813 12808 mov es, [bp-00ah] ; 8e 46 f6 12814 12809 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 12821 12816 mov dx, word [es:si] ; 26 8b 14 12822 12817 mov si, strict word 00010h ; be 10 00 12823 call 09f 00h ; e8 a7 1512818 call 09f30h ; e8 a7 15 12824 12819 mov es, [bp-00ah] ; 8e 46 f6 12825 12820 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 12833 12828 mov dx, word [es:si] ; 26 8b 14 12834 12829 mov si, strict word 00018h ; be 18 00 12835 call 09f 00h ; e8 7b 1512830 call 09f30h ; e8 7b 15 12836 12831 mov es, [bp-00ah] ; 8e 46 f6 12837 12832 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 12844 12839 mov dx, word [es:si] ; 26 8b 14 12845 12840 mov si, strict word 00020h ; be 20 00 12846 call 09f 00h ; e8 55 1512841 call 09f30h ; e8 55 15 12847 12842 mov es, [bp-00ah] ; 8e 46 f6 12848 12843 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 12855 12850 mov dx, word [es:si] ; 26 8b 14 12856 12851 mov si, strict word 00028h ; be 28 00 12857 call 09f 00h ; e8 2f 1512852 call 09f30h ; e8 2f 15 12858 12853 mov es, [bp-00ah] ; 8e 46 f6 12859 12854 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 12869 12864 mov bx, word [bp-010h] ; 8b 5e f0 12870 12865 xor cx, cx ; 31 c9 12871 call 09e 80h ; e8 7a 1412866 call 09eb0h ; e8 7a 14 12872 12867 push dx ; 52 12873 12868 push ax ; 50 … … 12879 12874 mov ax, 0026ah ; b8 6a 02 12880 12875 mov dx, word [bp-00ah] ; 8b 56 f6 12881 call 09 dd4h ; e8 b2 1312876 call 09e04h ; e8 b2 13 12882 12877 mov es, [bp-00ah] ; 8e 46 f6 12883 12878 mov ax, word [es:di+0027eh] ; 26 8b 85 7e 02 … … 12900 12895 mov ax, word [es:bx+020h] ; 26 8b 47 20 12901 12896 test ax, ax ; 85 c0 12902 je short 08a b0h ; 74 3912897 je short 08ae0h ; 74 39 12903 12898 dec ax ; 48 12904 12899 mov es, [bp-00ah] ; 8e 46 f6 … … 12916 12911 mov al, byte [bp-008h] ; 8a 46 f8 12917 12912 cmp AL, strict byte 035h ; 3c 35 12918 jne short 08a bdh ; 75 0612913 jne short 08aedh ; 75 06 12919 12914 mov byte [bp-008h], 040h ; c6 46 f8 40 12920 jmp short 08 ad4h ; eb 1712915 jmp short 08b04h ; eb 17 12921 12916 cmp AL, strict byte 0a0h ; 3c a0 12922 jne short 08 ad0h ; 75 0f12917 jne short 08b00h ; 75 0f 12923 12918 or byte [bp-008h], 020h ; 80 4e f8 20 12924 12919 les bx, [bp-00eh] ; c4 5e f2 12925 12920 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 12926 jmp short 08 ad4h ; eb 0412921 jmp short 08b04h ; eb 04 12927 12922 mov byte [bp-008h], 000h ; c6 46 f8 00 12928 12923 or byte [bp-008h], 005h ; 80 4e f8 05 … … 12930 12925 mov ax, word [bp-00eh] ; 8b 46 f2 12931 12926 mov dx, word [bp-00ch] ; 8b 56 f4 12932 call 087 66h ; e8 81 fc12927 call 08796h ; e8 81 fc 12933 12928 mov cx, word [bp-00ch] ; 8b 4e f4 12934 12929 mov bx, word [bp-00eh] ; 8b 5e f2 … … 12937 12932 add ax, 0026ah ; 05 6a 02 12938 12933 mov dx, cx ; 89 ca 12939 call 09e 4dh ; e8 53 1312934 call 09e7dh ; e8 53 13 12940 12935 mov es, cx ; 8e c1 12941 12936 mov al, byte [es:bx+003h] ; 26 8a 47 03 12942 12937 test al, al ; 84 c0 12943 je short 08b 09h ; 74 0512938 je short 08b39h ; 74 05 12944 12939 mov ax, strict word 00004h ; b8 04 00 12945 jmp short 08b 0bh ; eb 0212940 jmp short 08b3bh ; eb 02 12946 12941 xor ah, ah ; 30 e4 12947 12942 lea sp, [bp-006h] ; 8d 66 fa … … 12951 12946 pop bp ; 5d 12952 12947 retn ; c3 12953 ahci_port_deinit_current_: ; 0xf8b 13 LB 0x17f12948 ahci_port_deinit_current_: ; 0xf8b43 LB 0x17f 12954 12949 push bp ; 55 12955 12950 mov bp, sp ; 89 e5 … … 12966 12961 mov byte [bp-00ah], al ; 88 46 f6 12967 12962 cmp AL, strict byte 0ffh ; 3c ff 12968 je near 08c 89h ; 0f 84 52 0112963 je near 08cb9h ; 0f 84 52 01 12969 12964 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 12970 12965 sal ax, 007h ; c1 e0 07 … … 13009 13004 xchg dx, ax ; 92 13010 13005 test ax, 0c011h ; a9 11 c0 13011 je short 08b 97h ; 74 0413006 je short 08bc7h ; 74 04 13012 13007 mov AL, strict byte 001h ; b0 01 13013 jmp short 08b 99h ; eb 0213008 jmp short 08bc9h ; eb 02 13014 13009 xor al, al ; 30 c0 13015 13010 cmp AL, strict byte 001h ; 3c 01 13016 je short 08b 6bh ; 74 ce13011 je short 08b9bh ; 74 ce 13017 13012 mov cx, strict word 00020h ; b9 20 00 13018 13013 xor bx, bx ; 31 db 13019 13014 mov ax, di ; 89 f8 13020 13015 mov dx, word [bp-00ch] ; 8b 56 f4 13021 call 09f 20h ; e8 76 1313016 call 09f50h ; e8 76 13 13022 13017 lea ax, [di+00080h] ; 8d 85 80 00 13023 13018 mov cx, strict word 00040h ; b9 40 00 13024 13019 xor bx, bx ; 31 db 13025 13020 mov dx, word [bp-00ch] ; 8b 56 f4 13026 call 09f 20h ; e8 67 1313021 call 09f50h ; e8 67 13 13027 13022 lea ax, [di+00200h] ; 8d 85 00 02 13028 13023 mov cx, strict word 00060h ; b9 60 00 13029 13024 xor bx, bx ; 31 db 13030 13025 mov dx, word [bp-00ch] ; 8b 56 f4 13031 call 09f 20h ; e8 58 1313026 call 09f50h ; e8 58 13 13032 13027 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13033 13028 sal ax, 007h ; c1 e0 07 … … 13133 13128 pop bp ; 5d 13134 13129 retn ; c3 13135 ahci_port_init_: ; 0xf8c 92 LB 0x24a13130 ahci_port_init_: ; 0xf8cc2 LB 0x24a 13136 13131 push bp ; 55 13137 13132 mov bp, sp ; 89 e5 … … 13143 13138 mov word [bp-00ah], dx ; 89 56 f6 13144 13139 mov byte [bp-008h], bl ; 88 5e f8 13145 call 08b 13h ; e8 6d fe13140 call 08b43h ; e8 6d fe 13146 13141 movzx ax, bl ; 0f b6 c3 13147 13142 sal ax, 007h ; c1 e0 07 … … 13190 13185 xchg dx, ax ; 92 13191 13186 test ax, 0c011h ; a9 11 c0 13192 je short 08d 15h ; 74 0413187 je short 08d45h ; 74 04 13193 13188 mov AL, strict byte 001h ; b0 01 13194 jmp short 08d 17h ; eb 0213189 jmp short 08d47h ; eb 02 13195 13190 xor al, al ; 30 c0 13196 13191 cmp AL, strict byte 001h ; 3c 01 13197 je short 08 ce1h ; 74 c613192 je short 08d11h ; 74 c6 13198 13193 mov cx, strict word 00020h ; b9 20 00 13199 13194 xor bx, bx ; 31 db 13200 13195 mov ax, si ; 89 f0 13201 13196 mov dx, word [bp-00ah] ; 8b 56 f6 13202 call 09f 20h ; e8 f8 1113197 call 09f50h ; e8 f8 11 13203 13198 lea ax, [si+00080h] ; 8d 84 80 00 13204 13199 mov cx, strict word 00040h ; b9 40 00 13205 13200 xor bx, bx ; 31 db 13206 13201 mov dx, word [bp-00ah] ; 8b 56 f6 13207 call 09f 20h ; e8 e9 1113202 call 09f50h ; e8 e9 11 13208 13203 lea di, [si+00200h] ; 8d bc 00 02 13209 13204 mov cx, strict word 00060h ; b9 60 00 … … 13211 13206 mov ax, di ; 89 f8 13212 13207 mov dx, word [bp-00ah] ; 8b 56 f6 13213 call 09f 20h ; e8 d8 1113208 call 09f50h ; e8 d8 11 13214 13209 movzx bx, byte [bp-008h] ; 0f b6 5e f8 13215 13210 sal bx, 007h ; c1 e3 07 … … 13228 13223 mov ax, di ; 89 f8 13229 13224 mov dx, word [bp-00ah] ; 8b 56 f6 13230 call 087 48h ; e8 d3 f913225 call 08778h ; e8 d3 f9 13231 13226 mov es, [bp-00ah] ; 8e 46 f6 13232 13227 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13273 13268 mov ax, si ; 89 f0 13274 13269 mov dx, word [bp-00ah] ; 8b 56 f6 13275 call 087 48h ; e8 67 f913270 call 08778h ; e8 67 f9 13276 13271 mov es, [bp-00ah] ; 8e 46 f6 13277 13272 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13378 13373 pop bp ; 5d 13379 13374 retn ; c3 13380 @ahci_read_sectors: ; 0xf8 edc LB 0xa613375 @ahci_read_sectors: ; 0xf8f0c LB 0xa6 13381 13376 push bp ; 55 13382 13377 mov bp, sp ; 89 e5 … … 13388 13383 sub di, strict byte 0000ch ; 83 ef 0c 13389 13384 cmp di, strict byte 00004h ; 83 ff 04 13390 jbe short 08f 01h ; 76 0f13385 jbe short 08f31h ; 76 0f 13391 13386 push di ; 57 13392 13387 push 00c62h ; 68 62 0c 13393 13388 push 00c74h ; 68 74 0c 13394 13389 push strict byte 00007h ; 6a 07 13395 call 019dah ; e8 dc 8a13390 call 019dah ; e8 ac 8a 13396 13391 add sp, strict byte 00008h ; 83 c4 08 13397 13392 xor bx, bx ; 31 db … … 13407 13402 mov dx, word [es:di+00232h] ; 26 8b 95 32 02 13408 13403 xor ax, ax ; 31 c0 13409 call 08c 92h ; e8 65 fd13404 call 08cc2h ; e8 65 fd 13410 13405 mov bx, strict word 00025h ; bb 25 00 13411 13406 mov ax, si ; 89 f0 13412 13407 mov dx, word [bp+006h] ; 8b 56 06 13413 call 088 b1h ; e8 79 f913408 call 088e1h ; e8 79 f9 13414 13409 mov word [bp-006h], ax ; 89 46 fa 13415 13410 mov es, [bp+006h] ; 8e 46 06 … … 13440 13435 pop bp ; 5d 13441 13436 retn 00004h ; c2 04 00 13442 @ahci_write_sectors: ; 0xf8f 82 LB 0x8413437 @ahci_write_sectors: ; 0xf8fb2 LB 0x84 13443 13438 push bp ; 55 13444 13439 mov bp, sp ; 89 e5 … … 13451 13446 sub dx, strict byte 0000ch ; 83 ea 0c 13452 13447 cmp dx, strict byte 00004h ; 83 fa 04 13453 jbe short 08f abh ; 76 0f13448 jbe short 08fdbh ; 76 0f 13454 13449 push dx ; 52 13455 13450 push 00c93h ; 68 93 0c 13456 13451 push 00c74h ; 68 74 0c 13457 13452 push strict byte 00007h ; 6a 07 13458 call 019dah ; e8 32 8a13453 call 019dah ; e8 02 8a 13459 13454 add sp, strict byte 00008h ; 83 c4 08 13460 13455 xor bx, bx ; 31 db … … 13470 13465 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 13471 13466 xor ax, ax ; 31 c0 13472 call 08c 92h ; e8 bd fc13467 call 08cc2h ; e8 bd fc 13473 13468 mov bx, strict word 00035h ; bb 35 00 13474 13469 mov ax, si ; 89 f0 13475 13470 mov dx, cx ; 89 ca 13476 call 088 b1h ; e8 d2 f813471 call 088e1h ; e8 d2 f8 13477 13472 mov dx, ax ; 89 c2 13478 13473 mov es, cx ; 8e c1 … … 13489 13484 pop bp ; 5d 13490 13485 retn 00004h ; c2 04 00 13491 ahci_cmd_packet_: ; 0xf90 06 LB 0x18313486 ahci_cmd_packet_: ; 0xf9036 LB 0x183 13492 13487 push bp ; 55 13493 13488 mov bp, sp ; 89 e5 … … 13501 13496 mov dx, strict word 0000eh ; ba 0e 00 13502 13497 mov ax, strict word 00040h ; b8 40 00 13503 call 016d4h ; e8 b3 8613498 call 016d4h ; e8 83 86 13504 13499 mov si, 00122h ; be 22 01 13505 13500 mov word [bp-008h], ax ; 89 46 f8 13506 13501 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 13507 jne short 090 4ch ; 75 1f13502 jne short 0907ch ; 75 1f 13508 13503 mov bx, 00da0h ; bb a0 0d 13509 13504 mov cx, ds ; 8c d9 13510 13505 mov ax, strict word 00004h ; b8 04 00 13511 call 01999h ; e8 61 8913506 call 01999h ; e8 31 89 13512 13507 push 00ca6h ; 68 a6 0c 13513 13508 push 00cb6h ; 68 b6 0c 13514 13509 push strict byte 00004h ; 6a 04 13515 call 019dah ; e8 97 8913510 call 019dah ; e8 67 89 13516 13511 add sp, strict byte 00006h ; 83 c4 06 13517 13512 mov ax, strict word 00001h ; b8 01 00 13518 jmp near 091 80h ; e9 34 0113513 jmp near 091b0h ; e9 34 01 13519 13514 test byte [bp+004h], 001h ; f6 46 04 01 13520 jne short 090 46h ; 75 f413515 jne short 09076h ; 75 f4 13521 13516 mov ax, word [bp+006h] ; 8b 46 06 13522 13517 mov dx, word [bp+008h] ; 8b 56 08 … … 13524 13519 sal ax, 1 ; d1 e0 13525 13520 rcl dx, 1 ; d1 d2 13526 loop 090 5bh ; e2 fa13521 loop 0908bh ; e2 fa 13527 13522 mov es, [bp-008h] ; 8e 46 f8 13528 13523 mov word [es:si], ax ; 26 89 04 … … 13538 13533 mov dx, word [bp+008h] ; 8b 56 08 13539 13534 xor cx, cx ; 31 c9 13540 call 09e c0h ; e8 2f 0e13535 call 09ef0h ; e8 2f 0e 13541 13536 mov word [es:si+00eh], ax ; 26 89 44 0e 13542 13537 xor di, di ; 31 ff … … 13555 13550 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 13556 13551 xor ax, ax ; 31 c0 13557 call 08c 92h ; e8 c5 fb13552 call 08cc2h ; e8 c5 fb 13558 13553 movzx ax, byte [bp-006h] ; 0f b6 46 fa 13559 13554 push ax ; 50 … … 13562 13557 mov ax, 000c0h ; b8 c0 00 13563 13558 mov dx, word [bp-00ah] ; 8b 56 f6 13564 call 09f 30h ; e8 4f 0e13559 call 09f60h ; e8 4f 0e 13565 13560 mov es, [bp-008h] ; 8e 46 f8 13566 13561 mov word [es:si+018h], di ; 26 89 7c 18 … … 13569 13564 mov ax, word [es:si+01eh] ; 26 8b 44 1e 13570 13565 test ax, ax ; 85 c0 13571 je short 091 1fh ; 74 2713566 je short 0914fh ; 74 27 13572 13567 dec ax ; 48 13573 13568 mov es, [bp-00ah] ; 8e 46 f6 … … 13582 13577 mov ax, si ; 89 f0 13583 13578 mov dx, word [bp-008h] ; 8b 56 f8 13584 call 088 b1h ; e8 87 f713579 call 088e1h ; e8 87 f7 13585 13580 les bx, [bp-00eh] ; c4 5e f2 13586 13581 mov ax, word [es:bx+004h] ; 26 8b 47 04 … … 13609 13604 mov ax, word [es:bx+006h] ; 26 8b 47 06 13610 13605 or ax, word [es:bx+004h] ; 26 0b 47 04 13611 jne short 091 7eh ; 75 0513606 jne short 091aeh ; 75 05 13612 13607 mov ax, strict word 00004h ; b8 04 00 13613 jmp short 091 80h ; eb 0213608 jmp short 091b0h ; eb 02 13614 13609 xor ax, ax ; 31 c0 13615 13610 lea sp, [bp-004h] ; 8d 66 fc … … 13618 13613 pop bp ; 5d 13619 13614 retn 0000ch ; c2 0c 00 13620 ahci_port_detect_device_: ; 0xf91 89 LB 0x4b113615 ahci_port_detect_device_: ; 0xf91b9 LB 0x4b1 13621 13616 push bp ; 55 13622 13617 mov bp, sp ; 89 e5 … … 13630 13625 movzx di, bl ; 0f b6 fb 13631 13626 mov bx, di ; 89 fb 13632 call 08c 92h ; e8 ef fa13627 call 08cc2h ; e8 ef fa 13633 13628 mov dx, strict word 0000eh ; ba 0e 00 13634 13629 mov ax, strict word 00040h ; b8 40 00 13635 call 016d4h ; e8 28 8513630 call 016d4h ; e8 f8 84 13636 13631 mov word [bp-010h], 00122h ; c7 46 f0 22 01 13637 13632 mov word [bp-00eh], ax ; 89 46 f2 … … 13702 13697 mov bx, strict word 0000fh ; bb 0f 00 13703 13698 xor cx, cx ; 31 c9 13704 call 087 2dh ; e8 d7 f413699 call 0875dh ; e8 d7 f4 13705 13700 test ax, ax ; 85 c0 13706 je near 096 32h ; 0f 84 d6 0313701 je near 09662h ; 0f 84 d6 03 13707 13702 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13708 13703 sal ax, 007h ; c1 e0 07 … … 13732 13727 mov bx, strict word 0000fh ; bb 0f 00 13733 13728 xor cx, cx ; 31 c9 13734 call 087 2dh ; e8 8b f413729 call 0875dh ; e8 8b f4 13735 13730 cmp ax, strict word 00001h ; 3d 01 00 13736 je short 092 5ch ; 74 b513731 je short 0928ch ; 74 b5 13737 13732 push strict byte 00000h ; 6a 00 13738 13733 mov bx, strict word 0000fh ; bb 0f 00 … … 13740 13735 mov ax, di ; 89 f8 13741 13736 mov dx, word [bp-022h] ; 8b 56 de 13742 call 087 2dh ; e8 77 f413737 call 0875dh ; e8 77 f4 13743 13738 cmp ax, strict word 00003h ; 3d 03 00 13744 jne near 096 32h ; 0f 85 75 0313739 jne near 09662h ; 0f 85 75 03 13745 13740 mov ax, word [bp-018h] ; 8b 46 e8 13746 13741 add ax, 00130h ; 05 30 01 … … 13769 13764 mov byte [bp-008h], al ; 88 46 f8 13770 13765 cmp AL, strict byte 004h ; 3c 04 13771 jnc near 096 32h ; 0f 83 2f 0313766 jnc near 09662h ; 0f 83 2f 03 13772 13767 mov ax, word [bp-018h] ; 8b 46 e8 13773 13768 add ax, 00118h ; 05 18 01 … … 13821 13816 add cl, 00ch ; 80 c1 0c 13822 13817 test dx, dx ; 85 d2 13823 jne near 095 88h ; 0f 85 0d 0213818 jne near 095b8h ; 0f 85 0d 02 13824 13819 cmp di, 00101h ; 81 ff 01 01 13825 jne near 095 88h ; 0f 85 05 0213820 jne near 095b8h ; 0f 85 05 02 13826 13821 les bx, [bp-010h] ; c4 5e f0 13827 13822 db 066h, 026h, 0c7h, 047h, 004h, 000h, 000h, 000h, 000h … … 13837 13832 mov ax, word [bp-010h] ; 8b 46 f0 13838 13833 mov dx, es ; 8c c2 13839 call 088 b1h ; e8 fa f413834 call 088e1h ; e8 fa f4 13840 13835 mov byte [bp-00ch], cl ; 88 4e f4 13841 13836 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 … … 13854 13849 mov dword [bp-016h], strict dword 000000000h ; 66 c7 46 ea 00 00 00 00 13855 13850 cmp di, 00fffh ; 81 ff ff 0f 13856 jne short 094 10h ; 75 1e13851 jne short 09440h ; 75 1e 13857 13852 cmp dx, strict byte 0ffffh ; 83 fa ff 13858 jne short 094 10h ; 75 1913853 jne short 09440h ; 75 19 13859 13854 mov dx, word [bp-0015ch] ; 8b 96 a4 fe 13860 13855 mov word [bp-014h], dx ; 89 56 ec … … 13893 13888 mov al, byte [bp-008h] ; 8a 46 f8 13894 13889 cmp AL, strict byte 001h ; 3c 01 13895 jc short 094 89h ; 72 0c13896 jbe short 094 91h ; 76 1213890 jc short 094b9h ; 72 0c 13891 jbe short 094c1h ; 76 12 13897 13892 cmp AL, strict byte 003h ; 3c 03 13898 je short 094 99h ; 74 1613893 je short 094c9h ; 74 16 13899 13894 cmp AL, strict byte 002h ; 3c 02 13900 je short 094 95h ; 74 0e13901 jmp short 09 4e2h ; eb 5913895 je short 094c5h ; 74 0e 13896 jmp short 09512h ; eb 59 13902 13897 test al, al ; 84 c0 13903 jne short 09 4e2h ; 75 5513898 jne short 09512h ; 75 55 13904 13899 mov DL, strict byte 040h ; b2 40 13905 jmp short 094 9bh ; eb 0a13900 jmp short 094cbh ; eb 0a 13906 13901 mov DL, strict byte 048h ; b2 48 13907 jmp short 094 9bh ; eb 0613902 jmp short 094cbh ; eb 06 13908 13903 mov DL, strict byte 050h ; b2 50 13909 jmp short 094 9bh ; eb 0213904 jmp short 094cbh ; eb 02 13910 13905 mov DL, strict byte 058h ; b2 58 13911 13906 mov al, dl ; 88 d0 … … 13913 13908 movzx bx, al ; 0f b6 d8 13914 13909 mov ax, bx ; 89 d8 13915 call 01714h ; e8 6d 8213910 call 01714h ; e8 3d 82 13916 13911 test al, al ; 84 c0 13917 je short 09 4e2h ; 74 3713912 je short 09512h ; 74 37 13918 13913 mov al, dl ; 88 d0 13919 13914 db 0feh, 0c0h 13920 13915 ; inc al ; fe c0 13921 13916 xor ah, ah ; 30 e4 13922 call 01714h ; e8 60 8213917 call 01714h ; e8 30 82 13923 13918 xor ah, ah ; 30 e4 13924 13919 mov si, ax ; 89 c6 13925 13920 sal si, 008h ; c1 e6 08 13926 13921 movzx ax, dl ; 0f b6 c2 13927 call 01714h ; e8 53 8213922 call 01714h ; e8 23 82 13928 13923 xor ah, ah ; 30 e4 13929 13924 add ax, si ; 01 f0 … … 13932 13927 add AL, strict byte 002h ; 04 02 13933 13928 xor ah, ah ; 30 e4 13934 call 01714h ; e8 43 8213929 call 01714h ; e8 13 82 13935 13930 xor ah, ah ; 30 e4 13936 13931 mov word [bp-02ah], ax ; 89 46 d6 13937 13932 mov ax, bx ; 89 d8 13938 call 01714h ; e8 39 8213933 call 01714h ; e8 09 82 13939 13934 xor ah, ah ; 30 e4 13940 13935 mov word [bp-026h], ax ; 89 46 da 13941 jmp short 09 4f2h ; eb 1013936 jmp short 09522h ; eb 10 13942 13937 push dword [bp-016h] ; 66 ff 76 ea 13943 13938 push di ; 57 … … 13945 13940 mov dx, ss ; 8c d2 13946 13941 lea ax, [bp-02ah] ; 8d 46 d6 13947 call 059 a6h ; e8 b4 c413942 call 059d6h ; e8 b4 c4 13948 13943 mov bx, 00da0h ; bb a0 0d 13949 13944 mov cx, ds ; 8c d9 13950 13945 mov ax, strict word 00004h ; b8 04 00 13951 call 01999h ; e8 9c 8413946 call 01999h ; e8 6c 84 13952 13947 push dword [bp-016h] ; 66 ff 76 ea 13953 13948 push di ; 57 … … 13968 13963 push 00cd6h ; 68 d6 0c 13969 13964 push strict byte 00004h ; 6a 04 13970 call 019dah ; e8 ae 8413965 call 019dah ; e8 7e 84 13971 13966 add sp, strict byte 0001ch ; 83 c4 1c 13972 13967 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 … … 13997 13992 mov dx, strict word 00075h ; ba 75 00 13998 13993 mov ax, strict word 00040h ; b8 40 00 13999 call 016b8h ; e8 41 8113994 call 016b8h ; e8 11 81 14000 13995 db 0feh, 0c0h 14001 13996 ; inc al ; fe c0 … … 14003 13998 mov dx, strict word 00075h ; ba 75 00 14004 13999 mov ax, strict word 00040h ; b8 40 00 14005 call 016c6h ; e8 41 8114006 jmp near 096 24h ; e9 9c 0014000 call 016c6h ; e8 11 81 14001 jmp near 09654h ; e9 9c 00 14007 14002 cmp dx, 0eb14h ; 81 fa 14 eb 14008 jne near 096 24h ; 0f 85 94 0014003 jne near 09654h ; 0f 85 94 00 14009 14004 cmp di, 00101h ; 81 ff 01 01 14010 jne near 096 24h ; 0f 85 8c 0014005 jne near 09654h ; 0f 85 8c 00 14011 14006 les bx, [bp-010h] ; c4 5e f0 14012 14007 db 066h, 026h, 0c7h, 047h, 004h, 000h, 000h, 000h, 000h … … 14022 14017 mov ax, word [bp-010h] ; 8b 46 f0 14023 14018 mov dx, es ; 8c c2 14024 call 088 b1h ; e8 e5 f214019 call 088e1h ; e8 e5 f2 14025 14020 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14026 14021 db 00fh, 095h, 0c0h … … 14059 14054 pop bp ; 5d 14060 14055 retn ; c3 14061 ahci_mem_alloc_: ; 0xf96 3a LB 0x4314056 ahci_mem_alloc_: ; 0xf966a LB 0x43 14062 14057 push bp ; 55 14063 14058 mov bp, sp ; 89 e5 … … 14069 14064 mov dx, 00413h ; ba 13 04 14070 14065 xor ax, ax ; 31 c0 14071 call 016d4h ; e8 8a 8014066 call 016d4h ; e8 5a 80 14072 14067 test ax, ax ; 85 c0 14073 je short 096 73h ; 74 2514068 je short 096a3h ; 74 25 14074 14069 dec ax ; 48 14075 14070 mov bx, ax ; 89 c3 … … 14078 14073 sal ax, 1 ; d1 e0 14079 14074 rcl dx, 1 ; d1 d2 14080 loop 096 56h ; e2 fa14075 loop 09686h ; e2 fa 14081 14076 mov si, ax ; 89 c6 14082 14077 mov di, dx ; 89 d7 … … 14084 14079 shr di, 1 ; d1 ef 14085 14080 rcr si, 1 ; d1 de 14086 loop 096 63h ; e2 fa14081 loop 09693h ; e2 fa 14087 14082 mov dx, 00413h ; ba 13 04 14088 14083 xor ax, ax ; 31 c0 14089 call 016e2h ; e8 71 8014084 call 016e2h ; e8 41 80 14090 14085 mov ax, si ; 89 f0 14091 14086 lea sp, [bp-00ah] ; 8d 66 f6 … … 14097 14092 pop bp ; 5d 14098 14093 retn ; c3 14099 ahci_hba_init_: ; 0xf96 7d LB 0x16614094 ahci_hba_init_: ; 0xf96ad LB 0x166 14100 14095 push bp ; 55 14101 14096 mov bp, sp ; 89 e5 … … 14109 14104 mov dx, strict word 0000eh ; ba 0e 00 14110 14105 mov ax, strict word 00040h ; b8 40 00 14111 call 016d4h ; e8 41 8014106 call 016d4h ; e8 11 80 14112 14107 mov bx, 00122h ; bb 22 01 14113 14108 mov di, ax ; 89 c7 … … 14126 14121 shr eax, 010h ; 66 c1 e8 10 14127 14122 xchg dx, ax ; 92 14128 call 096 3ah ; e8 83 ff14123 call 0966ah ; e8 83 ff 14129 14124 mov word [bp-010h], ax ; 89 46 f0 14130 14125 test ax, ax ; 85 c0 14131 je near 097 c2h ; 0f 84 02 0114126 je near 097f2h ; 0f 84 02 01 14132 14127 mov ax, word [bp-010h] ; 8b 46 f0 14133 14128 mov es, di ; 8e c7 … … 14179 14174 xchg dx, ax ; 92 14180 14175 test AL, strict byte 001h ; a8 01 14181 jne short 097 16h ; 75 de14176 jne short 09746h ; 75 de 14182 14177 xor ax, ax ; 31 c0 14183 14178 xor cx, cx ; 31 c9 … … 14197 14192 mov bx, strict word 0001fh ; bb 1f 00 14198 14193 xor cx, cx ; 31 c9 14199 call 087 2dh ; e8 d1 ef14194 call 0875dh ; e8 d1 ef 14200 14195 db 0feh, 0c0h 14201 14196 ; inc al ; fe c0 14202 14197 mov byte [bp-00eh], al ; 88 46 f2 14203 14198 mov byte [bp-00ch], 000h ; c6 46 f4 00 14204 jmp short 097 87h ; eb 2014199 jmp short 097b7h ; eb 20 14205 14200 xor al, al ; 30 c0 14206 14201 test al, al ; 84 c0 14207 je short 097 7eh ; 74 1114202 je short 097aeh ; 74 11 14208 14203 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 14209 14204 xor ax, ax ; 31 c0 14210 14205 mov dx, word [bp-010h] ; 8b 56 f0 14211 call 091 89h ; e8 10 fa14206 call 091b9h ; e8 10 fa 14212 14207 dec byte [bp-00eh] ; fe 4e f2 14213 je short 097 c0h ; 74 4214208 je short 097f0h ; 74 42 14214 14209 inc byte [bp-00ch] ; fe 46 f4 14215 14210 cmp byte [bp-00ch], 020h ; 80 7e f4 20 14216 jnc short 097 c0h ; 73 3914211 jnc short 097f0h ; 73 39 14217 14212 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 14218 14213 mov bx, strict word 00001h ; bb 01 00 14219 14214 xor di, di ; 31 ff 14220 jcxz 097 98h ; e3 0614215 jcxz 097c8h ; e3 06 14221 14216 sal bx, 1 ; d1 e3 14222 14217 rcl di, 1 ; d1 d7 14223 loop 097 92h ; e2 fa14218 loop 097c2h ; e2 fa 14224 14219 mov ax, strict word 0000ch ; b8 0c 00 14225 14220 xor cx, cx ; 31 c9 … … 14237 14232 xchg dx, ax ; 92 14238 14233 test dx, di ; 85 fa 14239 jne short 097 bch ; 75 0414234 jne short 097ech ; 75 04 14240 14235 test ax, bx ; 85 d8 14241 je short 097 67h ; 74 ab14236 je short 09797h ; 74 ab 14242 14237 mov AL, strict byte 001h ; b0 01 14243 jmp short 097 69h ; eb a914238 jmp short 09799h ; eb a9 14244 14239 xor ax, ax ; 31 c0 14245 14240 lea sp, [bp-00ah] ; 8d 66 f6 … … 14251 14246 pop bp ; 5d 14252 14247 retn ; c3 14253 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 b2h, 098h, 090h, 098h, 096h, 098h, 09ch, 098h, 0a2h14254 db 098h, 0 a8h, 098h, 0aeh, 098h, 0b2h, 098h14255 _ahci_init: ; 0xf9 7e3 LB 0xfe14248 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0e2h, 098h, 0c0h, 098h, 0c6h, 098h, 0cch, 098h, 0d2h 14249 db 098h, 0d8h, 098h, 0deh, 098h, 0e2h, 098h 14250 _ahci_init: ; 0xf9813 LB 0xfe 14256 14251 push bp ; 55 14257 14252 mov bp, sp ; 89 e5 … … 14261 14256 mov ax, 00601h ; b8 01 06 14262 14257 mov dx, strict word 00001h ; ba 01 00 14263 call 09d 01h ; e8 0d 0514258 call 09d31h ; e8 0d 05 14264 14259 mov dx, ax ; 89 c2 14265 14260 cmp ax, strict word 0ffffh ; 3d ff ff 14266 je near 09 8dah ; 0f 84 dd 0014261 je near 0990ah ; 0f 84 dd 00 14267 14262 xor al, al ; 30 c0 14268 14263 shr ax, 008h ; c1 e8 08 … … 14272 14267 xor ah, ah ; 30 e4 14273 14268 mov bx, strict word 00034h ; bb 34 00 14274 call 09d 2ch ; e8 1a 0514269 call 09d5ch ; e8 1a 05 14275 14270 mov cl, al ; 88 c1 14276 14271 test cl, cl ; 84 c9 14277 je short 098 3bh ; 74 2314272 je short 0986bh ; 74 23 14278 14273 movzx bx, cl ; 0f b6 d9 14279 14274 movzx di, byte [bp-008h] ; 0f b6 7e f8 … … 14281 14276 mov dx, di ; 89 fa 14282 14277 mov ax, si ; 89 f0 14283 call 09d 2ch ; e8 02 0514278 call 09d5ch ; e8 02 05 14284 14279 cmp AL, strict byte 012h ; 3c 12 14285 je short 098 3bh ; 74 0d14280 je short 0986bh ; 74 0d 14286 14281 mov al, cl ; 88 c8 14287 14282 db 0feh, 0c0h … … 14290 14285 mov dx, di ; 89 fa 14291 14286 mov ax, si ; 89 f0 14292 jmp short 098 0fh ; eb d414287 jmp short 0983fh ; eb d4 14293 14288 test cl, cl ; 84 c9 14294 je near 09 8dah ; 0f 84 99 0014289 je near 0990ah ; 0f 84 99 00 14295 14290 add cl, 002h ; 80 c1 02 14296 14291 movzx bx, cl ; 0f b6 d9 … … 14299 14294 mov dx, di ; 89 fa 14300 14295 mov ax, si ; 89 f0 14301 call 09d 2ch ; e8 d6 0414296 call 09d5ch ; e8 d6 04 14302 14297 cmp AL, strict byte 010h ; 3c 10 14303 jne near 09 8dah ; 0f 85 7e 0014298 jne near 0990ah ; 0f 85 7e 00 14304 14299 mov byte [bp-006h], 000h ; c6 46 fa 00 14305 14300 mov al, cl ; 88 c8 … … 14308 14303 mov dx, di ; 89 fa 14309 14304 mov ax, si ; 89 f0 14310 call 09d 50h ; e8 e2 0414305 call 09d80h ; e8 e2 04 14311 14306 mov dx, ax ; 89 c2 14312 14307 and ax, strict word 0000fh ; 25 0f 00 14313 14308 sub ax, strict word 00004h ; 2d 04 00 14314 14309 cmp ax, strict word 0000bh ; 3d 0b 00 14315 jnbe short 098 b2h ; 77 3714310 jnbe short 098e2h ; 77 37 14316 14311 push CS ; 0e 14317 14312 pop ES ; 07 14318 14313 mov cx, strict word 00008h ; b9 08 00 14319 mov di, 097 cch ; bf cc 9714314 mov di, 097fch ; bf fc 97 14320 14315 repne scasb ; f2 ae 14321 14316 sal cx, 1 ; d1 e1 14322 14317 mov di, cx ; 89 cf 14323 mov ax, word [cs:di-06 82dh] ; 2e 8b 85 d3 9714318 mov ax, word [cs:di-067fdh] ; 2e 8b 85 03 98 14324 14319 jmp ax ; ff e0 14325 14320 mov byte [bp-006h], 010h ; c6 46 fa 10 14326 jmp short 098 b2h ; eb 1c14321 jmp short 098e2h ; eb 1c 14327 14322 mov byte [bp-006h], 014h ; c6 46 fa 14 14328 jmp short 098 b2h ; eb 1614323 jmp short 098e2h ; eb 16 14329 14324 mov byte [bp-006h], 018h ; c6 46 fa 18 14330 jmp short 098 b2h ; eb 1014325 jmp short 098e2h ; eb 10 14331 14326 mov byte [bp-006h], 01ch ; c6 46 fa 1c 14332 jmp short 098 b2h ; eb 0a14327 jmp short 098e2h ; eb 0a 14333 14328 mov byte [bp-006h], 020h ; c6 46 fa 20 14334 jmp short 098 b2h ; eb 0414329 jmp short 098e2h ; eb 04 14335 14330 mov byte [bp-006h], 024h ; c6 46 fa 24 14336 14331 mov si, dx ; 89 d6 … … 14339 14334 mov al, byte [bp-006h] ; 8a 46 fa 14340 14335 test al, al ; 84 c0 14341 je short 09 8dah ; 74 1914336 je short 0990ah ; 74 19 14342 14337 movzx bx, al ; 0f b6 d8 14343 14338 movzx dx, byte [bp-008h] ; 0f b6 56 f8 14344 14339 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 14345 call 09d 72h ; e8 a3 0414340 call 09da2h ; e8 a3 04 14346 14341 test AL, strict byte 001h ; a8 01 14347 je short 09 8dah ; 74 0714342 je short 0990ah ; 74 07 14348 14343 and AL, strict byte 0f0h ; 24 f0 14349 14344 add ax, si ; 01 f0 14350 call 096 7dh ; e8 a3 fd14345 call 096adh ; e8 a3 fd 14351 14346 lea sp, [bp-004h] ; 8d 66 fc 14352 14347 pop di ; 5f … … 14354 14349 pop bp ; 5d 14355 14350 retn ; c3 14356 apm_out_str_: ; 0xf9 8e1 LB 0x3914351 apm_out_str_: ; 0xf9911 LB 0x39 14357 14352 push bp ; 55 14358 14353 mov bp, sp ; 89 e5 … … 14360 14355 mov bx, ax ; 89 c3 14361 14356 cmp byte [bx], 000h ; 80 3f 00 14362 je short 09 8f6h ; 74 0a14357 je short 09926h ; 74 0a 14363 14358 mov al, byte [bx] ; 8a 07 14364 14359 out DX, AL ; ee … … 14367 14362 db 00ah, 0c0h 14368 14363 ; or al, al ; 0a c0 14369 jne short 09 8eeh ; 75 f814364 jne short 0991eh ; 75 f8 14370 14365 lea sp, [bp-002h] ; 8d 66 fe 14371 14366 pop bx ; 5b 14372 14367 pop bp ; 5d 14373 14368 retn ; c3 14374 cmp ax, 00999h ; 3d 99 09 14375 call far 0996ah:0994fh ; 9a 4f 99 6a 99 14376 or word [bp+si-0666bh], bx ; 09 9a 95 99 14377 or word [bp+si-06666h], bx ; 09 9a 9a 99 14378 ficomp word [bx+di-06622h] ; de 99 de 99 14379 ficomp word [bx+di-06627h] ; de 99 d9 99 14380 ficomp word [bx+di-06622h] ; de 99 de 99 14381 db 0d2h 14369 insw ; 6d 14382 14370 cwd ; 99 14383 _apm_function: ; 0xf991a LB 0xf5 14371 cmp word [bp+si-06681h], bx ; 39 9a 7f 99 14372 call far 0c59ah:03999h ; 9a 99 39 9a c5 14373 cwd ; 99 14374 cmp word [bp+si-06636h], bx ; 39 9a ca 99 14375 push CS ; 0e 14376 call far 09a0eh:09a0eh ; 9a 0e 9a 0e 9a 14377 or word [bp+si-065f2h], bx ; 09 9a 0e 9a 14378 push CS ; 0e 14379 db 09ah 14380 db 002h 14381 db 09ah 14382 _apm_function: ; 0xf994a LB 0xf5 14384 14383 push bp ; 55 14385 14384 mov bp, sp ; 89 e5 … … 14389 14388 xor ah, ah ; 30 e4 14390 14389 cmp ax, strict word 0000eh ; 3d 0e 00 14391 jnbe near 09 9deh ; 0f 87 b0 0014390 jnbe near 09a0eh ; 0f 87 b0 00 14392 14391 mov bx, ax ; 89 c3 14393 14392 add bx, ax ; 01 c3 14394 14393 mov dx, word [bp+018h] ; 8b 56 18 14395 14394 or dl, 001h ; 80 ca 01 14396 jmp word [cs:bx-06 704h] ; 2e ff a7 fc 9814395 jmp word [cs:bx-066d4h] ; 2e ff a7 2c 99 14397 14396 mov word [bp+012h], 00102h ; c7 46 12 02 01 14398 14397 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 14399 14398 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 14400 jmp near 09a 09h ; e9 ba 0014399 jmp near 09a39h ; e9 ba 00 14401 14400 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14402 mov word [bp+00ch], 09f a4h ; c7 46 0c a4 9f14401 mov word [bp+00ch], 09fd4h ; c7 46 0c d4 9f 14403 14402 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 14404 14403 mov ax, strict word 0fff0h ; b8 f0 ff 14405 14404 mov word [bp+006h], ax ; 89 46 06 14406 14405 mov word [bp+004h], ax ; 89 46 04 14407 jmp near 09a 09h ; e9 9f 0014406 jmp near 09a39h ; e9 9f 00 14408 14407 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14409 14408 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 14418 14417 mov si, ax ; 89 c6 14419 14418 sal esi, 010h ; 66 c1 e6 10 14420 jmp near 09a 09h ; e9 74 0014419 jmp near 09a39h ; e9 74 00 14421 14420 sti ; fb 14422 14421 hlt ; f4 14423 jmp near 09a 09h ; e9 6f 0014422 jmp near 09a39h ; e9 6f 00 14424 14423 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 14425 je short 099 bfh ; 74 1f14424 je short 099efh ; 74 1f 14426 14425 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 14427 je short 099 b7h ; 74 1114426 je short 099e7h ; 74 11 14428 14427 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 14429 jne short 099 c7h ; 75 1b14428 jne short 099f7h ; 75 1b 14430 14429 mov dx, 08900h ; ba 00 89 14431 14430 mov ax, 00d10h ; b8 10 0d 14432 call 09 8e1h ; e8 2c ff14433 jmp short 09a 09h ; eb 5214431 call 09911h ; e8 2c ff 14432 jmp short 09a39h ; eb 52 14434 14433 mov dx, 08900h ; ba 00 89 14435 14434 mov ax, 00d18h ; b8 18 0d 14436 jmp short 099 b2h ; eb f314435 jmp short 099e2h ; eb f3 14437 14436 mov dx, 08900h ; ba 00 89 14438 14437 mov ax, 00d20h ; b8 20 0d 14439 jmp short 099 b2h ; eb eb14438 jmp short 099e2h ; eb eb 14440 14439 or ah, 00ah ; 80 cc 0a 14441 14440 mov word [bp+012h], ax ; 89 46 12 14442 14441 mov word [bp+018h], dx ; 89 56 18 14443 jmp short 09a 09h ; eb 3714442 jmp short 09a39h ; eb 37 14444 14443 mov word [bp+012h], 00102h ; c7 46 12 02 01 14445 jmp short 09a 09h ; eb 3014444 jmp short 09a39h ; eb 30 14446 14445 or ah, 080h ; 80 cc 80 14447 jmp short 099 cah ; eb ec14446 jmp short 099fah ; eb ec 14448 14447 mov bx, 00da0h ; bb a0 0d 14449 14448 mov cx, ds ; 8c d9 14450 14449 mov ax, strict word 00004h ; b8 04 00 14451 call 01999h ; e8 b0 7f14450 call 01999h ; e8 80 7f 14452 14451 push word [bp+00ch] ; ff 76 0c 14453 14452 push word [bp+012h] ; ff 76 12 14454 14453 push 00d29h ; 68 29 0d 14455 14454 push strict byte 00004h ; 6a 04 14456 call 019dah ; e8 e3 7f14455 call 019dah ; e8 b3 7f 14457 14456 add sp, strict byte 00008h ; 83 c4 08 14458 14457 mov ax, word [bp+012h] ; 8b 46 12 … … 14465 14464 pop bp ; 5d 14466 14465 retn ; c3 14467 pci16_select_reg_: ; 0xf9a 0f LB 0x2414466 pci16_select_reg_: ; 0xf9a3f LB 0x24 14468 14467 push bp ; 55 14469 14468 mov bp, sp ; 89 e5 … … 14482 14481 pop bp ; 5d 14483 14482 retn ; c3 14484 pci16_find_device_: ; 0xf9a 33 LB 0xf714483 pci16_find_device_: ; 0xf9a63 LB 0xf7 14485 14484 push bp ; 55 14486 14485 mov bp, sp ; 89 e5 … … 14496 14495 mov byte [bp-008h], 000h ; c6 46 f8 00 14497 14496 test bl, 007h ; f6 c3 07 14498 jne short 09a 7bh ; 75 2d14497 jne short 09aabh ; 75 2d 14499 14498 mov dx, strict word 0000eh ; ba 0e 00 14500 14499 mov ax, bx ; 89 d8 14501 call 09a 0fh ; e8 b9 ff14500 call 09a3fh ; e8 b9 ff 14502 14501 mov dx, 00cfeh ; ba fe 0c 14503 14502 in AL, DX ; ec … … 14506 14505 mov byte [bp-006h], al ; 88 46 fa 14507 14506 cmp AL, strict byte 0ffh ; 3c ff 14508 jne short 09a 69h ; 75 0614507 jne short 09a99h ; 75 06 14509 14508 add bx, strict byte 00008h ; 83 c3 08 14510 jmp near 09 afch ; e9 93 0014509 jmp near 09b2ch ; e9 93 00 14511 14510 test byte [bp-006h], 080h ; f6 46 fa 80 14512 je short 09a 76h ; 74 0714511 je short 09aa6h ; 74 07 14513 14512 mov word [bp-00ah], strict word 00001h ; c7 46 f6 01 00 14514 jmp short 09a 7bh ; eb 0514513 jmp short 09aabh ; eb 05 14515 14514 mov word [bp-00ah], strict word 00008h ; c7 46 f6 08 00 14516 14515 mov al, byte [bp-006h] ; 8a 46 fa 14517 14516 and AL, strict byte 007h ; 24 07 14518 14517 cmp AL, strict byte 001h ; 3c 01 14519 jne short 09a a3h ; 75 1f14518 jne short 09ad3h ; 75 1f 14520 14519 mov ax, bx ; 89 d8 14521 14520 shr ax, 008h ; c1 e8 08 14522 14521 test ax, ax ; 85 c0 14523 jne short 09a a3h ; 75 1614522 jne short 09ad3h ; 75 16 14524 14523 mov dx, strict word 0001ah ; ba 1a 00 14525 14524 mov ax, bx ; 89 d8 14526 call 09a 0fh ; e8 7a ff14525 call 09a3fh ; e8 7a ff 14527 14526 mov dx, 00cfeh ; ba fe 0c 14528 14527 in AL, DX ; ec … … 14530 14529 ; sub ah, ah ; 2a e4 14531 14530 cmp al, byte [bp-008h] ; 3a 46 f8 14532 jbe short 09a a3h ; 76 0314531 jbe short 09ad3h ; 76 03 14533 14532 mov byte [bp-008h], al ; 88 46 f8 14534 14533 test di, di ; 85 ff 14535 je short 09a ach ; 74 0514534 je short 09adch ; 74 05 14536 14535 mov dx, strict word 00008h ; ba 08 00 14537 jmp short 09a aeh ; eb 0214536 jmp short 09adeh ; eb 02 14538 14537 xor dx, dx ; 31 d2 14539 14538 mov ax, bx ; 89 d8 14540 call 09a 0fh ; e8 5c ff14539 call 09a3fh ; e8 5c ff 14541 14540 mov dx, 00cfch ; ba fc 0c 14542 14541 in eax, DX ; 66 ed … … 14549 14548 mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00 14550 14549 test di, di ; 85 ff 14551 je short 09 addh ; 74 0f14550 je short 09b0dh ; 74 0f 14552 14551 mov cx, strict word 00008h ; b9 08 00 14553 14552 shr dx, 1 ; d1 ea 14554 14553 rcr ax, 1 ; d1 d8 14555 loop 09 ad1h ; e2 fa14554 loop 09b01h ; e2 fa 14556 14555 mov word [bp-00eh], ax ; 89 46 f2 14557 14556 mov word [bp-00ch], dx ; 89 56 f4 14558 14557 mov ax, word [bp-00ch] ; 8b 46 f4 14559 14558 cmp ax, word [bp-014h] ; 3b 46 ec 14560 jne short 09 aedh ; 75 0814559 jne short 09b1dh ; 75 08 14561 14560 mov ax, word [bp-00eh] ; 8b 46 f2 14562 14561 cmp ax, word [bp-012h] ; 3b 46 ee 14563 je short 09 af3h ; 74 0614562 je short 09b23h ; 74 06 14564 14563 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 14565 je short 09 af9h ; 74 0614564 je short 09b29h ; 74 06 14566 14565 dec si ; 4e 14567 14566 cmp si, strict byte 0ffffh ; 83 fe ff 14568 je short 09b 0bh ; 74 1214567 je short 09b3bh ; 74 12 14569 14568 add bx, word [bp-00ah] ; 03 5e f6 14570 14569 mov dx, bx ; 89 da … … 14572 14571 movzx ax, byte [bp-008h] ; 0f b6 46 f8 14573 14572 cmp dx, ax ; 39 c2 14574 jbe near 09a 49h ; 0f 86 3e ff14573 jbe near 09a79h ; 0f 86 3e ff 14575 14574 cmp si, strict byte 0ffffh ; 83 fe ff 14576 jne short 09b 14h ; 75 0414575 jne short 09b44h ; 75 04 14577 14576 mov ax, bx ; 89 d8 14578 jmp short 09b 17h ; eb 0314577 jmp short 09b47h ; eb 03 14579 14578 mov ax, strict word 0ffffh ; b8 ff ff 14580 14579 lea sp, [bp-004h] ; 8d 66 fc … … 14583 14582 pop bp ; 5d 14584 14583 retn ; c3 14585 or AL, strict byte 09ch ; 0c 9c 14586 db 026h, 09ch 14587 ; es pushfw ; 26 9c 14588 cmp word [si-063b2h], bx ; 39 9c 4e 9c 14589 popaw ; 61 14584 cmp AL, strict byte 09ch ; 3c 9c 14585 push si ; 56 14590 14586 pushfw ; 9c 14591 je short 09ac6h ; 74 9c 14592 _pci16_function: ; 0xf9b2a LB 0x1d7 14587 imul bx, word [si-06382h], 09c91h ; 69 9c 7e 9c 91 9c 14588 movsb ; a4 14589 pushfw ; 9c 14590 _pci16_function: ; 0xf9b5a LB 0x1d7 14593 14591 push bp ; 55 14594 14592 mov bp, sp ; 89 e5 … … 14604 14602 xor ah, ah ; 30 e4 14605 14603 cmp bx, strict byte 00003h ; 83 fb 03 14606 jc short 09b 63h ; 72 1a14607 jbe short 09b bbh ; 76 7014604 jc short 09b93h ; 72 1a 14605 jbe short 09bebh ; 76 70 14608 14606 cmp bx, strict byte 0000eh ; 83 fb 0e 14609 je near 09c 88h ; 0f 84 36 0114607 je near 09cb8h ; 0f 84 36 01 14610 14608 cmp bx, strict byte 00008h ; 83 fb 08 14611 jc near 09c cdh ; 0f 82 74 0114609 jc near 09cfdh ; 0f 82 74 01 14612 14610 cmp bx, strict byte 0000dh ; 83 fb 0d 14613 jbe near 09 be0h ; 0f 86 80 0014614 jmp near 09c cdh ; e9 6a 0114611 jbe near 09c10h ; 0f 86 80 00 14612 jmp near 09cfdh ; e9 6a 01 14615 14613 cmp bx, strict byte 00002h ; 83 fb 02 14616 je short 09b 8bh ; 74 2314614 je short 09bbbh ; 74 23 14617 14615 cmp bx, strict byte 00001h ; 83 fb 01 14618 jne near 09c cdh ; 0f 85 5e 0114616 jne near 09cfdh ; 0f 85 5e 01 14619 14617 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 14620 14618 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 14622 14620 mov word [bp+018h], 04350h ; c7 46 18 50 43 14623 14621 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 14624 jmp near 09 cfah ; e9 6f 0114622 jmp near 09d2ah ; e9 6f 01 14625 14623 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 14626 jne short 09b 97h ; 75 0614624 jne short 09bc7h ; 75 06 14627 14625 or ah, 083h ; 80 cc 83 14628 jmp near 09 cf3h ; e9 5c 0114626 jmp near 09d23h ; e9 5c 01 14629 14627 mov bx, word [bp+008h] ; 8b 5e 08 14630 14628 mov dx, word [bp+01ch] ; 8b 56 1c 14631 14629 mov ax, word [bp+018h] ; 8b 46 18 14632 14630 xor cx, cx ; 31 c9 14633 call 09a 33h ; e8 8e fe14631 call 09a63h ; e8 8e fe 14634 14632 cmp ax, strict word 0ffffh ; 3d ff ff 14635 jne short 09b b5h ; 75 0b14633 jne short 09be5h ; 75 0b 14636 14634 mov ax, word [bp+020h] ; 8b 46 20 14637 14635 xor ah, ah ; 30 e4 14638 14636 or ah, 086h ; 80 cc 86 14639 jmp near 09 cf3h ; e9 3e 0114637 jmp near 09d23h ; e9 3e 01 14640 14638 mov word [bp+014h], ax ; 89 46 14 14641 jmp near 09 cfah ; e9 3f 0114639 jmp near 09d2ah ; e9 3f 01 14642 14640 mov bx, word [bp+008h] ; 8b 5e 08 14643 14641 mov ax, word [bp+01ch] ; 8b 46 1c 14644 14642 mov dx, word [bp+01eh] ; 8b 56 1e 14645 14643 mov cx, strict word 00001h ; b9 01 00 14646 call 09a 33h ; e8 69 fe14644 call 09a63h ; e8 69 fe 14647 14645 cmp ax, strict word 0ffffh ; 3d ff ff 14648 jne short 09 bdah ; 75 0b14646 jne short 09c0ah ; 75 0b 14649 14647 mov ax, word [bp+020h] ; 8b 46 20 14650 14648 xor ah, ah ; 30 e4 14651 14649 or ah, 086h ; 80 cc 86 14652 jmp near 09 cf3h ; e9 19 0114650 jmp near 09d23h ; e9 19 01 14653 14651 mov word [bp+014h], ax ; 89 46 14 14654 jmp near 09 cfah ; e9 1a 0114652 jmp near 09d2ah ; e9 1a 01 14655 14653 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 14656 jc short 09 bedh ; 72 0614654 jc short 09c1dh ; 72 06 14657 14655 or ah, 087h ; 80 cc 87 14658 jmp near 09 cf3h ; e9 06 0114656 jmp near 09d23h ; e9 06 01 14659 14657 mov dx, word [bp+004h] ; 8b 56 04 14660 14658 mov ax, word [bp+014h] ; 8b 46 14 14661 call 09a 0fh ; e8 19 fe14659 call 09a3fh ; e8 19 fe 14662 14660 mov bx, word [bp+020h] ; 8b 5e 20 14663 14661 xor bh, bh ; 30 ff 14664 14662 sub bx, strict byte 00008h ; 83 eb 08 14665 14663 cmp bx, strict byte 00005h ; 83 fb 05 14666 jnbe near 09 cfah ; 0f 87 f5 0014664 jnbe near 09d2ah ; 0f 87 f5 00 14667 14665 add bx, bx ; 01 db 14668 jmp word [cs:bx-064 e2h] ; 2e ff a7 1e 9b14666 jmp word [cs:bx-064b2h] ; 2e ff a7 4e 9b 14669 14667 mov bx, word [bp+01ch] ; 8b 5e 1c 14670 14668 xor bl, bl ; 30 db … … 14677 14675 or bx, ax ; 09 c3 14678 14676 mov word [bp+01ch], bx ; 89 5e 1c 14679 jmp near 09 cfah ; e9 d4 0014677 jmp near 09d2ah ; e9 d4 00 14680 14678 mov dx, word [bp+004h] ; 8b 56 04 14681 14679 xor dh, dh ; 30 f6 … … 14684 14682 in ax, DX ; ed 14685 14683 mov word [bp+01ch], ax ; 89 46 1c 14686 jmp near 09 cfah ; e9 c1 0014684 jmp near 09d2ah ; e9 c1 00 14687 14685 mov dx, 00cfch ; ba fc 0c 14688 14686 in eax, DX ; 66 ed … … 14693 14691 mov word [bp+01ch], ax ; 89 46 1c 14694 14692 mov word [bp+01eh], dx ; 89 56 1e 14695 jmp near 09 cfah ; e9 ac 0014693 jmp near 09d2ah ; e9 ac 00 14696 14694 mov ax, word [bp+01ch] ; 8b 46 1c 14697 14695 mov dx, word [bp+004h] ; 8b 56 04 … … 14700 14698 add dx, 00cfch ; 81 c2 fc 0c 14701 14699 out DX, AL ; ee 14702 jmp near 09 cfah ; e9 99 0014700 jmp near 09d2ah ; e9 99 00 14703 14701 mov ax, word [bp+01ch] ; 8b 46 1c 14704 14702 mov dx, word [bp+004h] ; 8b 56 04 … … 14707 14705 add dx, 00cfch ; 81 c2 fc 0c 14708 14706 out DX, ax ; ef 14709 jmp near 09 cfah ; e9 86 0014707 jmp near 09d2ah ; e9 86 00 14710 14708 mov ax, word [bp+01ch] ; 8b 46 1c 14711 14709 mov cx, word [bp+01eh] ; 8b 4e 1e … … 14716 14714 ; mov ax, cx ; 8b c1 14717 14715 out DX, eax ; 66 ef 14718 jmp short 09 cfah ; eb 7214716 jmp short 09d2ah ; eb 72 14719 14717 mov bx, word [bp+004h] ; 8b 5e 04 14720 14718 mov es, [bp+026h] ; 8e 46 26 … … 14723 14721 mov cx, word [0f4a0h] ; 8b 0e a0 f4 14724 14722 cmp cx, word [es:bx] ; 26 3b 0f 14725 jbe short 09c aeh ; 76 1114723 jbe short 09cdeh ; 76 11 14726 14724 mov ax, word [bp+020h] ; 8b 46 20 14727 14725 xor ah, ah ; 30 e4 … … 14729 14727 mov word [bp+020h], ax ; 89 46 20 14730 14728 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 14731 jmp short 09c c2h ; eb 1414729 jmp short 09cf2h ; eb 14 14732 14730 les di, [es:bx+002h] ; 26 c4 7f 02 14733 14731 mov si, 0f2c0h ; be c0 f2 … … 14741 14739 les bx, [bp-008h] ; c4 5e f8 14742 14740 mov word [es:bx], ax ; 26 89 07 14743 jmp short 09 cfah ; eb 2d14741 jmp short 09d2ah ; eb 2d 14744 14742 mov bx, 00da0h ; bb a0 0d 14745 14743 mov cx, ds ; 8c d9 14746 14744 mov ax, strict word 00004h ; b8 04 00 14747 call 01999h ; e8 c1 7c14745 call 01999h ; e8 91 7c 14748 14746 mov ax, word [bp+014h] ; 8b 46 14 14749 14747 push ax ; 50 … … 14752 14750 push 00d5ch ; 68 5c 0d 14753 14751 push strict byte 00004h ; 6a 04 14754 call 019dah ; e8 f2 7c14752 call 019dah ; e8 c2 7c 14755 14753 add sp, strict byte 00008h ; 83 c4 08 14756 14754 mov ax, word [bp+020h] ; 8b 46 20 … … 14764 14762 pop bp ; 5d 14765 14763 retn ; c3 14766 pci_find_classcode_: ; 0xf9d 01 LB 0x2b14764 pci_find_classcode_: ; 0xf9d31 LB 0x2b 14767 14765 push bp ; 55 14768 14766 mov bp, sp ; 89 e5 … … 14779 14777 int 01ah ; cd 1a 14780 14778 cmp ah, 000h ; 80 fc 00 14781 je near 09d 22h ; 0f 84 03 0014779 je near 09d52h ; 0f 84 03 00 14782 14780 mov bx, strict word 0ffffh ; bb ff ff 14783 14781 mov ax, bx ; 89 d8 … … 14788 14786 pop bp ; 5d 14789 14787 retn ; c3 14790 pci_read_config_byte_: ; 0xf9d 2c LB 0x2414788 pci_read_config_byte_: ; 0xf9d5c LB 0x24 14791 14789 push bp ; 55 14792 14790 mov bp, sp ; 89 e5 … … 14807 14805 pop bp ; 5d 14808 14806 retn ; c3 14809 pci_read_config_word_: ; 0xf9d 50 LB 0x2214807 pci_read_config_word_: ; 0xf9d80 LB 0x22 14810 14808 push bp ; 55 14811 14809 mov bp, sp ; 89 e5 … … 14826 14824 pop bp ; 5d 14827 14825 retn ; c3 14828 pci_read_config_dword_: ; 0xf9d 72 LB 0x2714826 pci_read_config_dword_: ; 0xf9da2 LB 0x27 14829 14827 push bp ; 55 14830 14828 mov bp, sp ; 89 e5 … … 14847 14845 pop bp ; 5d 14848 14846 retn ; c3 14849 vds_is_present_: ; 0xf9d 99 LB 0x1d14847 vds_is_present_: ; 0xf9dc9 LB 0x1d 14850 14848 push bx ; 53 14851 14849 push bp ; 55 … … 14855 14853 mov es, ax ; 8e c0 14856 14854 test byte [es:bx], 020h ; 26 f6 07 20 14857 je short 09d b1h ; 74 0614855 je short 09de1h ; 74 06 14858 14856 mov ax, strict word 00001h ; b8 01 00 14859 14857 pop bp ; 5d … … 14864 14862 pop bx ; 5b 14865 14863 retn ; c3 14866 vds_real_to_lin_: ; 0xf9d b6 LB 0x1e14864 vds_real_to_lin_: ; 0xf9de6 LB 0x1e 14867 14865 push bx ; 53 14868 14866 push cx ; 51 … … 14875 14873 sal ax, 1 ; d1 e0 14876 14874 rcl dx, 1 ; d1 d2 14877 loop 09d c4h ; e2 fa14875 loop 09df4h ; e2 fa 14878 14876 xor cx, cx ; 31 c9 14879 14877 add ax, bx ; 01 d8 … … 14883 14881 pop bx ; 5b 14884 14882 retn ; c3 14885 vds_build_sg_list_: ; 0xf9 dd4 LB 0x7914883 vds_build_sg_list_: ; 0xf9e04 LB 0x79 14886 14884 push bp ; 55 14887 14885 mov bp, sp ; 89 e5 … … 14897 14895 mov bx, word [bp+006h] ; 8b 5e 06 14898 14896 mov word [es:di+002h], bx ; 26 89 5d 02 14899 call 09d b6h ; e8 c3 ff14897 call 09de6h ; e8 c3 ff 14900 14898 mov es, si ; 8e c6 14901 14899 mov word [es:di+004h], ax ; 26 89 45 04 14902 14900 mov word [es:di+006h], dx ; 26 89 55 06 14903 14901 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 14904 call 09d 99h ; e8 93 ff14902 call 09dc9h ; e8 93 ff 14905 14903 test ax, ax ; 85 c0 14906 je short 09e 1dh ; 74 1314904 je short 09e4dh ; 74 13 14907 14905 mov es, si ; 8e c6 14908 14906 mov ax, 08105h ; b8 05 81 14909 14907 mov dx, strict word 00000h ; ba 00 00 14910 14908 int 04bh ; cd 4b 14911 jc near 09e 1ah ; 0f 82 02 0014909 jc near 09e4ah ; 0f 82 02 00 14912 14910 db 032h, 0c0h 14913 14911 ; xor al, al ; 32 c0 14914 14912 cbw ; 98 14915 jmp short 09e 44h ; eb 2714913 jmp short 09e74h ; eb 27 14916 14914 mov es, si ; 8e c6 14917 14915 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 14930 14928 pop bp ; 5d 14931 14929 retn 00004h ; c2 04 00 14932 vds_free_sg_list_: ; 0xf9e 4d LB 0x3314930 vds_free_sg_list_: ; 0xf9e7d LB 0x33 14933 14931 push bp ; 55 14934 14932 mov bp, sp ; 89 e5 … … 14936 14934 push di ; 57 14937 14935 mov bx, ax ; 89 c3 14938 call 09d 99h ; e8 42 ff14936 call 09dc9h ; e8 42 ff 14939 14937 test ax, ax ; 85 c0 14940 je short 09e 6eh ; 74 1314938 je short 09e9eh ; 74 13 14941 14939 mov di, bx ; 89 df 14942 14940 mov es, dx ; 8e c2 … … 14944 14942 mov dx, strict word 00000h ; ba 00 00 14945 14943 int 04bh ; cd 4b 14946 jc near 09e 6dh ; 0f 82 02 0014944 jc near 09e9dh ; 0f 82 02 00 14947 14945 db 032h, 0c0h 14948 14946 ; xor al, al ; 32 c0 … … 14956 14954 retn ; c3 14957 14955 times 0x3 db 0 14958 __U4M: ; 0xf9e 80 LB 0x4014956 __U4M: ; 0xf9eb0 LB 0x40 14959 14957 pushfw ; 9c 14960 14958 push eax ; 66 50 … … 14982 14980 retn ; c3 14983 14981 times 0xf db 0 14984 __U4D: ; 0xf9e c0 LB 0x4014982 __U4D: ; 0xf9ef0 LB 0x40 14985 14983 pushfw ; 9c 14986 14984 push eax ; 66 50 … … 15013 15011 retn ; c3 15014 15012 times 0x7 db 0 15015 __U8RS: ; 0xf9f 00 LB 0x1015013 __U8RS: ; 0xf9f30 LB 0x10 15016 15014 test si, si ; 85 f6 15017 je short 09f 0fh ; 74 0b15015 je short 09f3fh ; 74 0b 15018 15016 shr ax, 1 ; d1 e8 15019 15017 rcr bx, 1 ; d1 db … … 15021 15019 rcr dx, 1 ; d1 da 15022 15020 dec si ; 4e 15023 jne short 09f 04h ; 75 f515021 jne short 09f34h ; 75 f5 15024 15022 retn ; c3 15025 __U8LS: ; 0xf9f 10 LB 0x1015023 __U8LS: ; 0xf9f40 LB 0x10 15026 15024 test si, si ; 85 f6 15027 je short 09f 1fh ; 74 0b15025 je short 09f4fh ; 74 0b 15028 15026 sal dx, 1 ; d1 e2 15029 15027 rcl cx, 1 ; d1 d1 … … 15031 15029 rcl ax, 1 ; d1 d0 15032 15030 dec si ; 4e 15033 jne short 09f 14h ; 75 f515031 jne short 09f44h ; 75 f5 15034 15032 retn ; c3 15035 _fmemset_: ; 0xf9f 20 LB 0x1015033 _fmemset_: ; 0xf9f50 LB 0x10 15036 15034 push di ; 57 15037 15035 mov es, dx ; 8e c2 … … 15044 15042 retn ; c3 15045 15043 times 0x3 db 0 15046 _fmemcpy_: ; 0xf9f 30 LB 0x3a15044 _fmemcpy_: ; 0xf9f60 LB 0x3a 15047 15045 push bp ; 55 15048 15046 db 08bh, 0ech … … 15069 15067 add byte [bx+si], al ; 00 00 15070 15068 add byte [bx+si], al ; 00 00 15071 sbb byte [bx-0607eh], 086h ; 80 9f 82 9f 86 15069 mov AL, strict byte 09fh ; b0 9f 15070 mov DL, strict byte 09fh ; b2 9f 15071 mov DH, strict byte 09fh ; b6 9f 15072 mov DH, strict byte 09fh ; b6 9f 15073 mov DH, strict byte 09fh ; b6 9f 15074 mov ax, 0b89fh ; b8 9f b8 15072 15075 lahf ; 9f 15073 xchg byte [bx-0607ah], bl ; 86 9f 86 9f 15074 mov byte [bx-06078h], bl ; 88 9f 88 9f 15075 mov bl, byte [bx-06072h] ; 8a 9f 8e 9f 15076 mov ds, [bx-06070h] ; 8e 9f 90 9f 15077 xchg bp, ax ; 95 15076 mov dx, 0be9fh ; ba 9f be 15078 15077 lahf ; 9f 15079 xchg di, ax ; 9715078 mov si, 0c09fh ; be 9f c0 15080 15079 lahf ; 9f 15081 apm_worker: ; 0xf9f6a LB 0x3a 15080 lds bx, [bx-06039h] ; c5 9f c7 9f 15081 apm_worker: ; 0xf9f9a LB 0x3a 15082 15082 sti ; fb 15083 15083 push ax ; 50 … … 15091 15091 pop ax ; 58 15092 15092 mov AH, strict byte 053h ; b4 53 15093 jnc short 09f a0h ; 73 2515094 jmp word [cs:bp-060 b0h] ; 2e ff a6 50 9f15095 jmp short 09f 9eh ; eb 1c15093 jnc short 09fd0h ; 73 25 15094 jmp word [cs:bp-06080h] ; 2e ff a6 80 9f 15095 jmp short 09fceh ; eb 1c 15096 15096 sti ; fb 15097 15097 hlt ; f4 15098 jmp short 09f 9eh ; eb 1815099 jmp short 09f 9eh ; eb 1615100 jmp short 09f a0h ; eb 1615098 jmp short 09fceh ; eb 18 15099 jmp short 09fceh ; eb 16 15100 jmp short 09fd0h ; eb 16 15101 15101 mov AH, strict byte 080h ; b4 80 15102 jmp short 09f a2h ; eb 1415103 jmp short 09f a0h ; eb 1015102 jmp short 09fd2h ; eb 14 15103 jmp short 09fd0h ; eb 10 15104 15104 mov ax, 00102h ; b8 02 01 15105 jmp short 09f 9eh ; eb 0915106 jmp short 09f 9eh ; eb 0715105 jmp short 09fceh ; eb 09 15106 jmp short 09fceh ; eb 07 15107 15107 mov BL, strict byte 000h ; b3 00 15108 15108 mov cx, strict word 00000h ; b9 00 00 15109 jmp short 09f 9eh ; eb 0015109 jmp short 09fceh ; eb 00 15110 15110 clc ; f8 15111 15111 retn ; c3 … … 15113 15113 stc ; f9 15114 15114 retn ; c3 15115 apm_pm16_entry: ; 0xf9f a4 LB 0x1115115 apm_pm16_entry: ; 0xf9fd4 LB 0x11 15116 15116 mov AH, strict byte 002h ; b4 02 15117 15117 push DS ; 1e … … 15121 15121 add bp, strict byte 00008h ; 83 c5 08 15122 15122 mov ds, bp ; 8e dd 15123 call 09f 6ah ; e8 b8 ff15123 call 09f9ah ; e8 b8 ff 15124 15124 pop bp ; 5d 15125 15125 pop DS ; 1f 15126 15126 retf ; cb 15127 15127 15128 ; Padding 0x3a 4b bytes at 0xf9fb515129 times 14 923db 015128 ; Padding 0x3a1b bytes at 0xf9fe5 15129 times 14875 db 0 15130 15130 15131 15131 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 15174 15174 add bp, strict byte 00008h ; 83 c5 08 15175 15175 push ebp ; 66 55 15176 mov bp, 09f a6h ; bd a6 9f15176 mov bp, 09fd6h ; bd d6 9f 15177 15177 add byte [bx+si], al ; 00 00 15178 15178 push ebp ; 66 55 … … 15786 15786 mov dx, 0c800h ; ba 00 c8 15787 15787 call 01600h ; e8 e1 33 15788 call 04e b4h ; e8 92 6c15788 call 04ee4h ; e8 c2 6c 15789 15789 pop DS ; 1f 15790 15790 mov ax, 0ff53h ; b8 53 ff … … 15907 15907 call 01d17h ; e8 d4 39 15908 15908 call 021a4h ; e8 5e 3e 15909 call 09 7e3h ; e8 9a b415910 call 086 c7h ; e8 7b a315909 call 09813h ; e8 ca b4 15910 call 086f7h ; e8 ab a3 15911 15911 call 0ed2fh ; e8 e0 09 15912 15912 call 0e2d2h ; e8 80 ff … … 15918 15918 call 01600h ; e8 a2 32 15919 15919 call 017ffh ; e8 9e 34 15920 call 03b 98h ; e8 34 5815920 call 03bc8h ; e8 64 58 15921 15921 sti ; fb 15922 15922 int 019h ; cd 19 … … 16020 16020 pop DS ; 1f 16021 16021 cld ; fc 16022 call 063 c9h ; e8 87 7c16022 call 063f9h ; e8 b7 7c 16023 16023 popaw ; 61 16024 16024 pop ES ; 07 … … 16096 16096 pop DS ; 1f 16097 16097 cld ; fc 16098 call 056 bfh ; e8 7d 6e16098 call 056efh ; e8 ad 6e 16099 16099 popaw ; 61 16100 16100 pop DS ; 1f … … 16113 16113 pop DS ; 1f 16114 16114 cld ; fc 16115 call 056 bfh ; e8 5f 6e16115 call 056efh ; e8 8f 6e 16116 16116 popaw ; 61 16117 16117 pop DS ; 1f … … 16212 16212 pop DS ; 1f 16213 16213 cld ; fc 16214 call 051 b7h ; e8 ee 6716214 call 051e7h ; e8 1e 68 16215 16215 pop ES ; 07 16216 16216 popaw ; 61 … … 16228 16228 pop DS ; 1f 16229 16229 cld ; fc 16230 call 06e 92h ; e8 b3 8416230 call 06ec2h ; e8 e3 84 16231 16231 pop DS ; 1f 16232 16232 pop ES ; 07 … … 16250 16250 cld ; fc 16251 16251 push 0ece9h ; 68 e9 ec 16252 jmp near 03 bdch ; e9 6b 4f16252 jmp near 03c0ch ; e9 9b 4f 16253 16253 push ES ; 06 16254 16254 push ax ; 50 … … 16256 16256 push cx ; 51 16257 16257 push dx ; 52 16258 call 03b b0h ; e8 37 4f16258 call 03be0h ; e8 67 4f 16259 16259 cmp AL, strict byte 000h ; 3c 00 16260 16260 je short 0ecabh ; 74 2e 16261 call 03b c6h ; e8 46 4f16261 call 03bf6h ; e8 76 4f 16262 16262 pop dx ; 5a 16263 16263 push dx ; 52 … … 16277 16277 cld ; fc 16278 16278 push 0ece9h ; 68 e9 ec 16279 jmp near 041 b0h ; e9 19 5516279 jmp near 041e0h ; e9 49 55 16280 16280 and dl, 0e0h ; 80 e2 e0 16281 16281 db 03ah, 0c2h … … 16317 16317 jne short 0ecc8h ; 75 06 16318 16318 push 0ece9h ; 68 e9 ec 16319 jmp near 032 6bh ; e9 a34516319 jmp near 03288h ; e9 c0 45 16320 16320 int13_notfloppy: ; 0xfecc8 LB 0x14 16321 16321 cmp dl, 0e0h ; 80 fa e0 … … 16323 16323 shr ebx, 010h ; 66 c1 eb 10 16324 16324 push bx ; 53 16325 call 04 5e4h ; e8 0f 5916325 call 04614h ; e8 3f 59 16326 16326 pop bx ; 5b 16327 16327 sal ebx, 010h ; 66 c1 e3 10 … … 16330 16330 cmp ah, 040h ; 80 fc 40 16331 16331 jnbe short 0ece6h ; 77 05 16332 call 05a 8bh ; e8 a7 6d16332 call 05abbh ; e8 d7 6d 16333 16333 jmp short 0ece9h ; eb 03 16334 call 05 ed5h ; e8 ec 7116334 call 05f05h ; e8 1c 72 16335 16335 int13_out: ; 0xfece9 LB 0x4 16336 16336 pop DS ; 1f … … 16548 16548 pop DS ; 1f 16549 16549 cld ; fc 16550 call 078 0dh ; e8 30 8816550 call 0783dh ; e8 60 88 16551 16551 popaw ; 61 16552 16552 pop ES ; 07 … … 16599 16599 mov ax, strict word 00001h ; b8 01 00 16600 16600 push ax ; 50 16601 call 04c 4bh ; e8 7b 5b16601 call 04c7bh ; e8 ab 5b 16602 16602 inc sp ; 44 16603 16603 inc sp ; 44 … … 16606 16606 mov ax, strict word 00002h ; b8 02 00 16607 16607 push ax ; 50 16608 call 04c 4bh ; e8 6e 5b16608 call 04c7bh ; e8 9e 5b 16609 16609 inc sp ; 44 16610 16610 inc sp ; 44 … … 16613 16613 mov ax, strict word 00003h ; b8 03 00 16614 16614 push ax ; 50 16615 call 04c 4bh ; e8 61 5b16615 call 04c7bh ; e8 91 5b 16616 16616 inc sp ; 44 16617 16617 inc sp ; 44 … … 16620 16620 mov ax, strict word 00004h ; b8 04 00 16621 16621 push ax ; 50 16622 call 04c 4bh ; e8 54 5b16622 call 04c7bh ; e8 84 5b 16623 16623 inc sp ; 44 16624 16624 inc sp ; 44 … … 16903 16903 pop DS ; 1f 16904 16904 cld ; fc 16905 call 06 ce7h ; e8 80 7416905 call 06d17h ; e8 b0 74 16906 16906 pop DS ; 1f 16907 16907 pop ES ; 07 … … 16925 16925 cmp ah, 0c2h ; 80 fc c2 16926 16926 je short 0f899h ; 74 0e 16927 call 066 1bh ; e8 8d 6d16927 call 0664bh ; e8 bd 6d 16928 16928 popaw ; 61 16929 16929 pop ES ; 07 … … 16931 16931 popfw ; 9d 16932 16932 jmp short 0f8a7h ; eb 13 16933 call 099 1ah ; e8 83 a016933 call 0994ah ; e8 b3 a0 16934 16934 jmp short 0f88eh ; eb f5 16935 16935 int15_handler_mouse: ; 0xff899 LB 0x5 16936 call 074 82h ; e8 e6 7b16936 call 074b2h ; e8 16 7c 16937 16937 jmp short 0f88eh ; eb f0 16938 16938 int15_handler32: ; 0xff89e LB 0x9 16939 16939 pushad ; 66 60 16940 call 069 51h ; e8 ae 7016940 call 06981h ; e8 de 70 16941 16941 popad ; 66 61 16942 16942 jmp short 0f88fh ; eb e8 … … 16970 16970 pop DS ; 1f 16971 16971 cld ; fc 16972 call 073 b8h ; e8 ec 7a16972 call 073e8h ; e8 1c 7b 16973 16973 pop cx ; 59 16974 16974 jcxz 0f8dbh ; e3 0c … … 17002 17002 pop DS ; 1f 17003 17003 cld ; fc 17004 call 070 70h ; e8 6f 7717004 call 070a0h ; e8 9f 77 17005 17005 popaw ; 61 17006 17006 pop DS ; 1f … … 17084 17084 cld ; fc 17085 17085 pushad ; 66 60 17086 call 09b 2ah ; e8 ad 9c17086 call 09b5ah ; e8 dd 9c 17087 17087 popad ; 66 61 17088 17088 pop DS ; 1f … … 17095 17095 pop DS ; 1f 17096 17096 cld ; fc 17097 call 071 2eh ; e8 a3 7217097 call 0715eh ; e8 d3 72 17098 17098 popaw ; 61 17099 17099 pop DS ; 1f … … 17198 17198 cpu_reset: ; 0xffff0 LB 0x10 17199 17199 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 17200 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0 28h17200 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 01ah -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.md5sum
r62178 r62406 1 65f585c99598acfc494c013e1f0a0ee3*VBoxPcBios386.rom1 c003d8ab6825d254dea0b1d1e4ed4da7 *VBoxPcBios386.rom -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.asm
r62178 r62406 988 988 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 989 989 _pktacc: ; 0xf006a LB 0xc 990 db 000h, 000h, 000h, 000h, 000h, 000h, 0a1h, 02bh, 0 82h, 081h, 01dh, 091h990 db 000h, 000h, 000h, 000h, 000h, 000h, 0a1h, 02bh, 0c8h, 081h, 063h, 091h 991 991 _softrst: ; 0xf0076 LB 0xc 992 db 000h, 000h, 000h, 000h, 000h, 000h, 02ch, 02eh, 0 bdh, 03bh, 0bdh, 03bh992 db 000h, 000h, 000h, 000h, 000h, 000h, 02ch, 02eh, 003h, 03ch, 003h, 03ch 993 993 _dskacc: ; 0xf0082 LB 0x2e 994 994 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 02ah, 046h, 02bh, 000h, 000h, 000h, 000h 995 db 0 b0h, 07fh, 099h, 080h, 0ebh, 08fh, 095h, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h995 db 0f6h, 07fh, 0dfh, 080h, 031h, 090h, 0dbh, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 996 996 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 997 997 … … 1116 1116 section CONST2 progbits vstart=0xd8e align=1 ; size=0x3fa class=DATA group=DGROUP 1117 1117 _bios_cvs_version_string: ; 0xf0d8e LB 0x12 1118 db 'VirtualBox 5.1. 0', 000h, 000h1118 db 'VirtualBox 5.1.2', 000h, 000h 1119 1119 _bios_prefix_string: ; 0xf0da0 LB 0x8 1120 1120 db 'BIOS: ', 000h, 000h … … 1190 1190 times 1144 db 0 1191 1191 1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8d 98 class=CODE group=AUTO1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8dd8 class=CODE group=AUTO 1193 1193 rom_scan_: ; 0xf1600 LB 0x52 1194 1194 push bp ; 55 … … 1450 1450 int 010h ; cd 10 1451 1451 jmp short 017c3h ; eb 03 1452 call 07b 54h ; e8 91631452 call 07b9ah ; e8 d7 63 1453 1453 mov sp, bp ; 89 ec 1454 1454 pop bp ; 5d … … 1596 1596 mov bx, strict word 0000ah ; bb 0a 00 1597 1597 xor cx, cx ; 31 c9 1598 call 0a0 30h ; e8 53 871598 call 0a070h ; e8 93 87 1599 1599 mov word [bp-008h], ax ; 89 46 f8 1600 1600 mov cx, dx ; 89 d1 … … 1833 1833 mov dx, word [bp-026h] ; 8b 56 da 1834 1834 mov si, word [bp-01eh] ; 8b 76 e2 1835 call 0a0 60h ; e8 48 851835 call 0a0a0h ; e8 88 85 1836 1836 mov ax, dx ; 89 d0 1837 1837 xor ah, dh ; 30 f4 … … 2294 2294 mov dx, word [es:si] ; 26 8b 14 2295 2295 mov si, strict word 00018h ; be 18 00 2296 call 0a0 60h ; e8 ce 802296 call 0a0a0h ; e8 0e 81 2297 2297 xor dh, dh ; 30 f6 2298 2298 mov word [bp-014h], dx ; 89 56 ec … … 2304 2304 mov dx, word [es:si] ; 26 8b 14 2305 2305 mov si, strict word 00020h ; be 20 00 2306 call 0a0 60h ; e8 ae 802306 call 0a0a0h ; e8 ee 80 2307 2307 mov bx, dx ; 89 d3 2308 2308 mov word [bp-010h], dx ; 89 56 f0 … … 2336 2336 mov dx, word [es:si] ; 26 8b 14 2337 2337 mov si, strict word 00008h ; be 08 00 2338 call 0a0 60h ; e8 5b 802338 call 0a0a0h ; e8 9b 80 2339 2339 mov word [bp-010h], dx ; 89 56 f0 2340 2340 mov bx, word [bp-016h] ; 8b 5e ea … … 2345 2345 mov dx, word [es:si] ; 26 8b 14 2346 2346 mov si, strict word 00018h ; be 18 00 2347 call 0a0 60h ; e8 3d 802347 call 0a0a0h ; e8 7d 80 2348 2348 mov bl, dl ; 88 d3 2349 2349 and bl, 00fh ; 80 e3 0f … … 2741 2741 mov dx, ss ; 8c d2 2742 2742 lea ax, [bp-03eh] ; 8d 46 c2 2743 call 05b 09h ; e8 08372743 call 05b4fh ; e8 4e 37 2744 2744 mov bx, 00da0h ; bb a0 0d 2745 2745 mov cx, ds ; 8c d9 … … 2923 2923 mov dx, word [es:di+036h] ; 26 8b 55 36 2924 2924 mov si, strict word 0000bh ; be 0b 00 2925 call 0a0 60h ; e8 61 7a2925 call 0a0a0h ; e8 a1 7a 2926 2926 mov word [bp-02ah], dx ; 89 56 d6 2927 2927 mov word [bp-026h], cx ; 89 4e da … … 3215 3215 mov dx, word [bp-022h] ; 8b 56 de 3216 3216 mov si, strict word 00018h ; be 18 00 3217 call 0a0 60h ; e8 84 773217 call 0a0a0h ; e8 c4 77 3218 3218 xor dh, dh ; 30 f6 3219 3219 mov word [bp-014h], dx ; 89 56 ec … … 3223 3223 mov dx, word [bp-022h] ; 8b 56 de 3224 3224 mov si, strict word 00020h ; be 20 00 3225 call 0a0 60h ; e8 6d 773225 call 0a0a0h ; e8 ad 77 3226 3226 mov bx, dx ; 89 d3 3227 3227 mov word [bp-024h], dx ; 89 56 dc … … 3257 3257 mov dx, word [bp-022h] ; 8b 56 de 3258 3258 mov si, strict word 00008h ; be 08 00 3259 call 0a0 60h ; e8 19 773259 call 0a0a0h ; e8 59 77 3260 3260 mov word [bp-00ch], ax ; 89 46 f4 3261 3261 mov word [bp-020h], bx ; 89 5e e0 … … 3264 3264 mov word [bp-024h], dx ; 89 56 dc 3265 3265 mov si, strict word 00010h ; be 10 00 3266 call 0a0 60h ; e8 04 773266 call 0a0a0h ; e8 44 77 3267 3267 mov word [bp-022h], dx ; 89 56 de 3268 3268 mov ax, dx ; 89 d0 … … 3945 3945 pop bp ; 5d 3946 3946 retn ; c3 3947 floppy_reset_controller_: ; 0xf2f67 LB 0x 283947 floppy_reset_controller_: ; 0xf2f67 LB 0x46 3948 3948 push bp ; 55 3949 3949 mov bp, sp ; 89 e5 3950 3950 push bx ; 53 3951 push cx ; 51 3951 3952 push dx ; 52 3953 mov bx, ax ; 89 c3 3952 3954 mov dx, 003f2h ; ba f2 03 3953 3955 in AL, DX ; ec 3954 3956 db 02ah, 0e4h 3955 3957 ; sub ah, ah ; 2a e4 3956 mov bx, ax ; 89 c33958 mov cx, ax ; 89 c1 3957 3959 and AL, strict byte 0fbh ; 24 fb 3958 3960 out DX, AL ; ee 3959 mov al, bl ; 88 d83961 mov al, cl ; 88 c8 3960 3962 or AL, strict byte 004h ; 0c 04 3961 3963 out DX, AL ; ee … … 3966 3968 and AL, strict byte 0c0h ; 24 c0 3967 3969 cmp AL, strict byte 080h ; 3c 80 3968 jne short 02f7ch ; 75 f4 3969 lea sp, [bp-004h] ; 8d 66 fc 3970 jne short 02f7fh ; 75 f4 3971 lea cx, [bx+00090h] ; 8d 8f 90 00 3972 mov dx, cx ; 89 ca 3973 mov ax, strict word 00040h ; b8 40 00 3974 call 01652h ; e8 bb e6 3975 and AL, strict byte 0efh ; 24 ef 3976 xor ah, ah ; 30 e4 3977 mov bx, ax ; 89 c3 3978 mov dx, cx ; 89 ca 3979 mov ax, strict word 00040h ; b8 40 00 3980 call 01660h ; e8 bb e6 3981 lea sp, [bp-006h] ; 8d 66 fa 3970 3982 pop dx ; 5a 3983 pop cx ; 59 3971 3984 pop bx ; 5b 3972 3985 pop bp ; 5d 3973 3986 retn ; c3 3974 floppy_prepare_controller_: ; 0xf2f 8fLB 0x843987 floppy_prepare_controller_: ; 0xf2fad LB 0x84 3975 3988 push bp ; 55 3976 3989 mov bp, sp ; 89 e5 … … 3982 3995 mov dx, strict word 0003eh ; ba 3e 00 3983 3996 mov ax, strict word 00040h ; b8 40 00 3984 call 01652h ; e8 b1e63997 call 01652h ; e8 93 e6 3985 3998 and AL, strict byte 07fh ; 24 7f 3986 3999 xor ah, ah ; 30 e4 … … 3988 4001 mov dx, strict word 0003eh ; ba 3e 00 3989 4002 mov ax, strict word 00040h ; b8 40 00 3990 call 01660h ; e8 b0e64003 call 01660h ; e8 92 e6 3991 4004 mov dx, 003f2h ; ba f2 03 3992 4005 in AL, DX ; ec … … 3996 4009 mov byte [bp-008h], al ; 88 46 f8 3997 4010 test cx, cx ; 85 c9 3998 je short 02f c3h ; 74 044011 je short 02fe1h ; 74 04 3999 4012 mov AL, strict byte 020h ; b0 20 4000 jmp short 02f c5h ; eb 024013 jmp short 02fe3h ; eb 02 4001 4014 mov AL, strict byte 010h ; b0 10 4002 4015 or AL, strict byte 00ch ; 0c 0c … … 4007 4020 mov dx, strict word 00040h ; ba 40 00 4008 4021 mov ax, dx ; 89 d0 4009 call 01660h ; e8 88e64022 call 01660h ; e8 6a e6 4010 4023 mov dx, 0008bh ; ba 8b 00 4011 4024 mov ax, strict word 00040h ; b8 40 00 4012 call 01652h ; e8 71e64025 call 01652h ; e8 53 e6 4013 4026 mov CL, strict byte 006h ; b1 06 4014 4027 shr al, CL ; d2 e8 … … 4021 4034 and AL, strict byte 0c0h ; 24 c0 4022 4035 cmp AL, strict byte 080h ; 3c 80 4023 jne short 0 2fe9h ; 75 f44036 jne short 03007h ; 75 f4 4024 4037 cmp byte [bp-008h], 000h ; 80 7e f8 00 4025 jne short 030 0bh ; 75 104026 call 02effh ; e8 01 ff4038 jne short 03029h ; 75 10 4039 call 02effh ; e8 e3 fe 4027 4040 mov bl, al ; 88 c3 4028 4041 xor bh, bh ; 30 ff 4029 4042 mov dx, strict word 0003eh ; ba 3e 00 4030 4043 mov ax, strict word 00040h ; b8 40 00 4031 call 01660h ; e8 55e64044 call 01660h ; e8 37 e6 4032 4045 lea sp, [bp-006h] ; 8d 66 fa 4033 4046 pop dx ; 5a … … 4036 4049 pop bp ; 5d 4037 4050 retn ; c3 4038 floppy_media_known_: ; 0xf30 13LB 0x464051 floppy_media_known_: ; 0xf3031 LB 0x46 4039 4052 push bp ; 55 4040 4053 mov bp, sp ; 89 e5 … … 4045 4058 mov dx, strict word 0003eh ; ba 3e 00 4046 4059 mov ax, strict word 00040h ; b8 40 00 4047 call 01652h ; e8 2ee64060 call 01652h ; e8 10 e6 4048 4061 mov ah, al ; 88 c4 4049 4062 test bx, bx ; 85 db 4050 je short 030 2ch ; 74 024063 je short 0304ah ; 74 02 4051 4064 shr al, 1 ; d0 e8 4052 4065 and AL, strict byte 001h ; 24 01 4053 jne short 030 34h ; 75 044054 xor ah, ah ; 30 e4 4055 jmp short 030 51h ; eb 1d4066 jne short 03052h ; 75 04 4067 xor ah, ah ; 30 e4 4068 jmp short 0306fh ; eb 1d 4056 4069 mov dx, 00090h ; ba 90 00 4057 4070 test bx, bx ; 85 db 4058 je short 030 3eh ; 74 034071 je short 0305ch ; 74 03 4059 4072 mov dx, 00091h ; ba 91 00 4060 4073 mov ax, strict word 00040h ; b8 40 00 4061 call 01652h ; e8 0e e64074 call 01652h ; e8 f0 e5 4062 4075 xor ah, ah ; 30 e4 4063 4076 mov CL, strict byte 004h ; b1 04 4064 4077 sar ax, CL ; d3 f8 4065 4078 and AL, strict byte 001h ; 24 01 4066 je short 030 30h ; 74 e24079 je short 0304eh ; 74 e2 4067 4080 mov ax, strict word 00001h ; b8 01 00 4068 4081 lea sp, [bp-006h] ; 8d 66 fa … … 4072 4085 pop bp ; 5d 4073 4086 retn ; c3 4074 floppy_read_id_: ; 0xf30 59LB 0x444087 floppy_read_id_: ; 0xf3077 LB 0x44 4075 4088 push bp ; 55 4076 4089 mov bp, sp ; 89 e5 … … 4080 4093 sub sp, strict byte 00008h ; 83 ec 08 4081 4094 mov bx, ax ; 89 c3 4082 call 02f 8fh ; e8 28 ff4095 call 02fadh ; e8 28 ff 4083 4096 mov AL, strict byte 04ah ; b0 4a 4084 4097 mov dx, 003f5h ; ba f5 03 … … 4086 4099 mov al, bl ; 88 d8 4087 4100 out DX, AL ; ee 4088 call 02effh ; e8 8cfe4101 call 02effh ; e8 6e fe 4089 4102 xor si, si ; 31 f6 4090 jmp short 030 7ch ; eb 054103 jmp short 0309ah ; eb 05 4091 4104 cmp si, strict byte 00007h ; 83 fe 07 4092 jnl short 030 88h ; 7d 0c4105 jnl short 030a6h ; 7d 0c 4093 4106 mov dx, 003f5h ; ba f5 03 4094 4107 in AL, DX ; ec … … 4097 4110 mov byte [bp+si-00eh], al ; 88 42 f2 4098 4111 inc si ; 46 4099 jmp short 030 77h ; eb ef4112 jmp short 03095h ; eb ef 4100 4113 test byte [bp-00eh], 0c0h ; f6 46 f2 c0 4101 je short 030 92h ; 74 044114 je short 030b0h ; 74 04 4102 4115 xor ax, ax ; 31 c0 4103 jmp short 030 95h ; eb 034116 jmp short 030b3h ; eb 03 4104 4117 mov ax, strict word 00001h ; b8 01 00 4105 4118 lea sp, [bp-006h] ; 8d 66 fa … … 4109 4122 pop bp ; 5d 4110 4123 retn ; c3 4111 floppy_drive_recal_: ; 0xf30 9dLB 0x4d4124 floppy_drive_recal_: ; 0xf30bb LB 0x4d 4112 4125 push bp ; 55 4113 4126 mov bp, sp ; 89 e5 … … 4116 4129 push dx ; 52 4117 4130 mov bx, ax ; 89 c3 4118 call 02f 8fh ; e8 e7 fe4131 call 02fadh ; e8 e7 fe 4119 4132 mov AL, strict byte 007h ; b0 07 4120 4133 mov dx, 003f5h ; ba f5 03 … … 4122 4135 mov al, bl ; 88 d8 4123 4136 out DX, AL ; ee 4124 call 02effh ; e8 4bfe4137 call 02effh ; e8 2d fe 4125 4138 test bx, bx ; 85 db 4126 je short 030 c2h ; 74 0a4139 je short 030e0h ; 74 0a 4127 4140 mov bl, al ; 88 c3 4128 4141 or bl, 002h ; 80 cb 02 4129 4142 mov cx, 00095h ; b9 95 00 4130 jmp short 030 cah ; eb 084143 jmp short 030e8h ; eb 08 4131 4144 mov bl, al ; 88 c3 4132 4145 or bl, 001h ; 80 cb 01 … … 4135 4148 mov dx, strict word 0003eh ; ba 3e 00 4136 4149 mov ax, strict word 00040h ; b8 40 00 4137 call 01660h ; e8 8be54150 call 01660h ; e8 6d e5 4138 4151 xor bx, bx ; 31 db 4139 4152 mov dx, cx ; 89 ca 4140 4153 mov ax, strict word 00040h ; b8 40 00 4141 call 01660h ; e8 81e54154 call 01660h ; e8 63 e5 4142 4155 mov ax, strict word 00001h ; b8 01 00 4143 4156 lea sp, [bp-006h] ; 8d 66 fa … … 4147 4160 pop bp ; 5d 4148 4161 retn ; c3 4149 floppy_media_sense_: ; 0xf3 0eaLB 0xfa4162 floppy_media_sense_: ; 0xf3108 LB 0xfa 4150 4163 push bp ; 55 4151 4164 mov bp, sp ; 89 e5 … … 4156 4169 push di ; 57 4157 4170 mov di, ax ; 89 c7 4158 call 030 9dh ; e8 a6 ff4171 call 030bbh ; e8 a6 ff 4159 4172 test ax, ax ; 85 c0 4160 jne short 031 00h ; 75 054173 jne short 0311eh ; 75 05 4161 4174 xor cx, cx ; 31 c9 4162 jmp near 031 d8h ; e9 d8 004175 jmp near 031f6h ; e9 d8 00 4163 4176 mov ax, strict word 00010h ; b8 10 00 4164 call 016aeh ; e8 a8e54177 call 016aeh ; e8 8a e5 4165 4178 test di, di ; 85 ff 4166 jne short 031 12h ; 75 084179 jne short 03130h ; 75 08 4167 4180 mov CL, strict byte 004h ; b1 04 4168 4181 shr al, CL ; d2 e8 4169 4182 mov cl, al ; 88 c1 4170 jmp short 031 17h ; eb 054183 jmp short 03135h ; eb 05 4171 4184 mov cl, al ; 88 c1 4172 4185 and cl, 00fh ; 80 e1 0f 4173 4186 cmp cl, 001h ; 80 f9 01 4174 jne short 031 25h ; 75 094187 jne short 03143h ; 75 09 4175 4188 xor cl, cl ; 30 c9 4176 4189 mov CH, strict byte 015h ; b5 15 4177 4190 mov si, strict word 00001h ; be 01 00 4178 jmp short 031 63h ; eb 3e4191 jmp short 03181h ; eb 3e 4179 4192 cmp cl, 002h ; 80 f9 02 4180 jne short 031 30h ; 75 064193 jne short 0314eh ; 75 06 4181 4194 xor cl, cl ; 30 c9 4182 4195 mov CH, strict byte 035h ; b5 35 4183 jmp short 031 20h ; eb f04196 jmp short 0313eh ; eb f0 4184 4197 cmp cl, 003h ; 80 f9 03 4185 jne short 031 3bh ; 75 064198 jne short 03159h ; 75 06 4186 4199 xor cl, cl ; 30 c9 4187 4200 mov CH, strict byte 017h ; b5 17 4188 jmp short 031 20h ; eb e54201 jmp short 0313eh ; eb e5 4189 4202 cmp cl, 004h ; 80 f9 04 4190 jne short 031 46h ; 75 064203 jne short 03164h ; 75 06 4191 4204 xor cl, cl ; 30 c9 4192 4205 mov CH, strict byte 017h ; b5 17 4193 jmp short 031 20h ; eb da4206 jmp short 0313eh ; eb da 4194 4207 cmp cl, 005h ; 80 f9 05 4195 jne short 031 51h ; 75 064208 jne short 0316fh ; 75 06 4196 4209 mov CL, strict byte 0cch ; b1 cc 4197 4210 mov CH, strict byte 0d7h ; b5 d7 4198 jmp short 031 20h ; eb cf4211 jmp short 0313eh ; eb cf 4199 4212 cmp cl, 00eh ; 80 f9 0e 4200 je short 031 5bh ; 74 054213 je short 03179h ; 74 05 4201 4214 cmp cl, 00fh ; 80 f9 0f 4202 jne short 031 5dh ; 75 024203 jmp short 031 4bh ; eb ee4215 jne short 0317bh ; 75 02 4216 jmp short 03169h ; eb ee 4204 4217 xor cl, cl ; 30 c9 4205 4218 xor ch, ch ; 30 ed … … 4210 4223 mov dx, 0008bh ; ba 8b 00 4211 4224 mov ax, strict word 00040h ; b8 40 00 4212 call 01660h ; e8 eee44225 call 01660h ; e8 d0 e4 4213 4226 mov ax, di ; 89 f8 4214 call 030 59h ; e8 e2 fe4227 call 03077h ; e8 e2 fe 4215 4228 test ax, ax ; 85 c0 4216 jne short 031 adh ; 75 324229 jne short 031cbh ; 75 32 4217 4230 mov al, cl ; 88 c8 4218 4231 and AL, strict byte 0c0h ; 24 c0 4219 4232 cmp AL, strict byte 080h ; 3c 80 4220 je short 031 adh ; 74 2a4233 je short 031cbh ; 74 2a 4221 4234 mov al, cl ; 88 c8 4222 4235 and AL, strict byte 0c0h ; 24 c0 4223 4236 cmp AL, strict byte 0c0h ; 3c c0 4224 je short 031 9ah ; 74 0f4237 je short 031b8h ; 74 0f 4225 4238 mov ah, cl ; 88 cc 4226 4239 and ah, 03fh ; 80 e4 3f 4227 4240 cmp AL, strict byte 040h ; 3c 40 4228 je short 031 a6h ; 74 124241 je short 031c4h ; 74 12 4229 4242 test al, al ; 84 c0 4230 je short 031 9fh ; 74 074231 jmp short 031 63h ; eb c94243 je short 031bdh ; 74 07 4244 jmp short 03181h ; eb c9 4232 4245 and cl, 03fh ; 80 e1 3f 4233 jmp short 031 63h ; eb c44246 jmp short 03181h ; eb c4 4234 4247 mov cl, ah ; 88 e1 4235 4248 or cl, 040h ; 80 c9 40 4236 jmp short 031 63h ; eb bd4249 jmp short 03181h ; eb bd 4237 4250 mov cl, ah ; 88 e1 4238 4251 or cl, 080h ; 80 c9 80 4239 jmp short 031 63h ; eb b64252 jmp short 03181h ; eb b6 4240 4253 test di, di ; 85 ff 4241 jne short 031 b6h ; 75 054254 jne short 031d4h ; 75 05 4242 4255 mov di, 00090h ; bf 90 00 4243 jmp short 031 b9h ; eb 034256 jmp short 031d7h ; eb 03 4244 4257 mov di, 00091h ; bf 91 00 4245 4258 mov al, cl ; 88 c8 … … 4248 4261 mov dx, 0008bh ; ba 8b 00 4249 4262 mov ax, strict word 00040h ; b8 40 00 4250 call 01660h ; e8 98e44263 call 01660h ; e8 7a e4 4251 4264 mov al, ch ; 88 e8 4252 4265 xor ah, ah ; 30 e4 … … 4254 4267 mov dx, di ; 89 fa 4255 4268 mov ax, strict word 00040h ; b8 40 00 4256 call 01660h ; e8 8ae44269 call 01660h ; e8 6c e4 4257 4270 mov cx, si ; 89 f1 4258 4271 mov ax, cx ; 89 c8 … … 4265 4278 pop bp ; 5d 4266 4279 retn ; c3 4267 floppy_drive_exists_: ; 0xf3 1e4LB 0x2b4280 floppy_drive_exists_: ; 0xf3202 LB 0x2b 4268 4281 push bp ; 55 4269 4282 mov bp, sp ; 89 e5 … … 4272 4285 mov dx, ax ; 89 c2 4273 4286 mov ax, strict word 00010h ; b8 10 00 4274 call 016aeh ; e8 bde44287 call 016aeh ; e8 9f e4 4275 4288 test dx, dx ; 85 d2 4276 jne short 03 1fbh ; 75 064289 jne short 03219h ; 75 06 4277 4290 mov CL, strict byte 004h ; b1 04 4278 4291 shr al, CL ; d2 e8 4279 jmp short 03 1fdh ; eb 024292 jmp short 0321bh ; eb 02 4280 4293 and AL, strict byte 00fh ; 24 0f 4281 4294 test al, al ; 84 c0 4282 je short 032 06h ; 74 054295 je short 03224h ; 74 05 4283 4296 mov ax, strict word 00001h ; b8 01 00 4284 jmp short 032 08h ; eb 024297 jmp short 03226h ; eb 02 4285 4298 xor ah, ah ; 30 e4 4286 4299 lea sp, [bp-004h] ; 8d 66 fc … … 4289 4302 pop bp ; 5d 4290 4303 retn ; c3 4291 _int13_diskette_function: ; 0xf32 0f LB 0x97c4304 _int13_diskette_function: ; 0xf322d LB 0x9a4 4292 4305 push bp ; 55 4293 4306 mov bp, sp ; 89 e5 … … 4297 4310 mov bl, byte [bp+017h] ; 8a 5e 17 4298 4311 xor bh, bh ; 30 ff 4299 mov byte [bp-010h], bl ; 88 5e f04312 mov cl, bl ; 88 d9 4300 4313 mov si, word [bp+016h] ; 8b 76 16 4301 4314 and si, 000ffh ; 81 e6 ff 00 4302 4315 mov al, byte [bp+00eh] ; 8a 46 0e 4303 mov cl, byte [bp+014h] ; 8a 4e 14 4316 mov dl, byte [bp+014h] ; 8a 56 14 4317 mov byte [bp-010h], dl ; 88 56 f0 4304 4318 mov ch, byte [bp+016h] ; 8a 6e 16 4305 4319 mov dl, byte [bp+015h] ; 8a 56 15 4306 mov byte [bp-01 4h], dl ; 88 56 ec4307 mov byte [bp-01 3h], bh ; 88 7e ed4308 mov dx, word [bp-01 4h] ; 8b 56 ec4320 mov byte [bp-012h], dl ; 88 56 ee 4321 mov byte [bp-011h], bh ; 88 7e ef 4322 mov dx, word [bp-012h] ; 8b 56 ee 4309 4323 cmp bl, 008h ; 80 fb 08 4310 jc short 032 6eh ; 72 2e4324 jc short 0328eh ; 72 2e 4311 4325 mov dx, word [bp+01ch] ; 8b 56 1c 4312 4326 or dl, 001h ; 80 ca 01 4313 4327 cmp bl, 008h ; 80 fb 08 4314 jbe short 032 a4h ; 76 594328 jbe short 032c4h ; 76 59 4315 4329 cmp bl, 016h ; 80 fb 16 4316 jc short 032 66h ; 72 164330 jc short 03286h ; 72 16 4317 4331 or si, 00100h ; 81 ce 00 01 4318 4332 cmp bl, 016h ; 80 fb 16 4319 jbe short 032 a7h ; 76 4e4333 jbe short 032c7h ; 76 4e 4320 4334 cmp bl, 018h ; 80 fb 18 4321 je short 032 aah ; 74 4c4335 je short 032cah ; 74 4c 4322 4336 cmp bl, 017h ; 80 fb 17 4323 je short 032 c1h ; 74 5e4324 jmp near 03b 65h ; e9 ff 084337 je short 032e1h ; 74 5e 4338 jmp near 03babh ; e9 25 09 4325 4339 cmp bl, 015h ; 80 fb 15 4326 je short 032 c4h ; 74 594327 jmp near 03b 65h ; e9 f7 084340 je short 032e4h ; 74 59 4341 jmp near 03babh ; e9 1d 09 4328 4342 cmp bl, 001h ; 80 fb 01 4329 jc short 032 82h ; 72 0f4330 jbe short 032 c7h ; 76 524343 jc short 032a2h ; 72 0f 4344 jbe short 032e7h ; 76 52 4331 4345 cmp bl, 005h ; 80 fb 05 4332 je short 03 2e2h ; 74 684346 je short 03302h ; 74 68 4333 4347 cmp bl, 004h ; 80 fb 04 4334 jbe short 03 2e5h ; 76 664335 jmp near 03b 65h ; e9 e3 084348 jbe short 03305h ; 76 66 4349 jmp near 03babh ; e9 09 09 4336 4350 test bl, bl ; 84 db 4337 jne short 03 2e7h ; 75 614351 jne short 03307h ; 75 61 4338 4352 mov al, byte [bp+00eh] ; 8a 46 0e 4339 4353 mov byte [bp-006h], al ; 88 46 fa 4340 4354 cmp AL, strict byte 001h ; 3c 01 4341 jbe short 032 adh ; 76 1d4355 jbe short 032cdh ; 76 1d 4342 4356 mov ax, word [bp+016h] ; 8b 46 16 4343 4357 xor ah, ah ; 30 e4 … … 4345 4359 mov word [bp+016h], ax ; 89 46 16 4346 4360 mov ax, strict word 00001h ; b8 01 00 4347 call 02eb0h ; e8 0f fc4348 jmp near 036 56h ; e9 b2034349 jmp near 038 27h ; e9 80054350 jmp near 039 6bh ; e9 c1064351 jmp near 03a 04h ; e9 57074361 call 02eb0h ; e8 ef fb 4362 jmp near 03697h ; e9 d3 03 4363 jmp near 0386bh ; e9 a4 05 4364 jmp near 039afh ; e9 e5 06 4365 jmp near 03a48h ; e9 7b 07 4352 4366 mov ax, strict word 00010h ; b8 10 00 4353 call 016aeh ; e8 fb e34367 call 016aeh ; e8 db e3 4354 4368 cmp byte [bp-006h], 000h ; 80 7e fa 00 4355 jne short 032 c9h ; 75 104369 jne short 032e9h ; 75 10 4356 4370 mov CL, strict byte 004h ; b1 04 4357 4371 mov ch, al ; 88 c5 4358 4372 shr ch, CL ; d2 ed 4359 jmp short 032 ceh ; eb 0d4360 jmp near 039 8fh ; e9 cb064361 jmp near 039 26h ; e9 5f064362 jmp short 033 10h ; eb 474373 jmp short 032eeh ; eb 0d 4374 jmp near 039d3h ; e9 ef 06 4375 jmp near 0396ah ; e9 83 06 4376 jmp short 03330h ; eb 47 4363 4377 mov ch, al ; 88 c5 4364 4378 and ch, 00fh ; 80 e5 0f 4365 4379 test ch, ch ; 84 ed 4366 jne short 03 2eah ; 75 184380 jne short 0330ah ; 75 18 4367 4381 mov ax, word [bp+016h] ; 8b 46 16 4368 4382 xor ah, ah ; 30 e4 … … 4370 4384 mov word [bp+016h], ax ; 89 46 16 4371 4385 mov ax, 00080h ; b8 80 00 4372 jmp short 032 9eh ; eb bc4373 jmp near 036 80h ; e9 9b034374 jmp short 033 2ch ; eb 454375 jmp near 03b 65h ; e9 7b084386 jmp short 032beh ; eb bc 4387 jmp near 036c1h ; e9 bc 03 4388 jmp short 0334ch ; eb 45 4389 jmp near 03babh ; e9 a1 08 4376 4390 xor bx, bx ; 31 db 4377 4391 mov dx, strict word 0003eh ; ba 3e 00 4378 4392 mov ax, strict word 00040h ; b8 40 00 4379 call 01660h ; e8 6b e34393 call 01660h ; e8 4b e3 4380 4394 xor al, al ; 30 c0 4381 4395 mov byte [bp+017h], al ; 88 46 17 4382 4396 xor ah, ah ; 30 e4 4383 call 02eb0h ; e8 b1 fb4397 call 02eb0h ; e8 91 fb 4384 4398 and byte [bp+01ch], 0feh ; 80 66 1c fe 4385 4399 mov al, byte [bp-006h] ; 8a 46 fa 4386 4400 xor ah, ah ; 30 e4 4387 4401 xor dx, dx ; 31 d2 4388 call 02ec9h ; e8 bc fb4389 jmp near 036 79h ; e9 69034402 call 02ec9h ; e8 9c fb 4403 jmp near 036bah ; e9 8a 03 4390 4404 and byte [bp+01ch], 0feh ; 80 66 1c fe 4391 4405 mov dx, 00441h ; ba 41 04 4392 4406 xor ax, ax ; 31 c0 4393 call 01652h ; e8 36 e34407 call 01652h ; e8 16 e3 4394 4408 mov dh, al ; 88 c6 4395 4409 xor dl, dl ; 30 d2 … … 4397 4411 mov word [bp+016h], si ; 89 76 16 4398 4412 test al, al ; 84 c0 4399 je short 033 80h ; 74 574400 jmp near 036 56h ; e9 2a034413 je short 033a3h ; 74 5a 4414 jmp near 03697h ; e9 4b 03 4401 4415 mov byte [bp-008h], ch ; 88 6e f8 4402 4416 mov byte [bp-00ah], dl ; 88 56 f6 4403 mov byte [bp-00eh], cl ; 88 4e f2 4417 mov ah, byte [bp-010h] ; 8a 66 f0 4418 mov byte [bp-00eh], ah ; 88 66 f2 4404 4419 mov dl, byte [bp+013h] ; 8a 56 13 4405 4420 xor dh, dh ; 30 f6 … … 4407 4422 mov byte [bp-006h], al ; 88 46 fa 4408 4423 cmp AL, strict byte 001h ; 3c 01 4409 jnbe short 033 52h ; 77 0e4424 jnbe short 03375h ; 77 0e 4410 4425 cmp dl, 001h ; 80 fa 01 4411 jnbe short 033 52h ; 77 094426 jnbe short 03375h ; 77 09 4412 4427 test ch, ch ; 84 ed 4413 je short 033 52h ; 74 054428 je short 03375h ; 74 05 4414 4429 cmp ch, 048h ; 80 fd 48 4415 jbe short 033 83h ; 76 314430 jbe short 033a6h ; 76 31 4416 4431 mov bx, 00da0h ; bb a0 0d 4417 4432 mov cx, ds ; 8c d9 4418 4433 mov ax, strict word 00004h ; b8 04 00 4419 call 01933h ; e8 d6e54434 call 01933h ; e8 b3 e5 4420 4435 mov ax, 00275h ; b8 75 02 4421 4436 push ax ; 50 … … 4424 4439 mov ax, strict word 00004h ; b8 04 00 4425 4440 push ax ; 50 4426 call 01976h ; e8 0a e64441 call 01976h ; e8 e7 e5 4427 4442 add sp, strict byte 00006h ; 83 c4 06 4428 4443 mov ax, word [bp+016h] ; 8b 46 16 … … 4431 4446 mov word [bp+016h], ax ; 89 46 16 4432 4447 mov ax, strict word 00001h ; b8 01 00 4433 jmp near 034 05h ; e9 85004434 jmp near 036 79h ; e9 f6 024448 jmp near 03435h ; e9 92 00 4449 jmp near 036bah ; e9 14 03 4435 4450 mov al, byte [bp-006h] ; 8a 46 fa 4436 4451 xor ah, ah ; 30 e4 4437 call 03 1e4h ; e8 59fe4452 call 03202h ; e8 54 fe 4438 4453 test ax, ax ; 85 c0 4439 je short 033bdh ; 74 2e 4440 mov bl, byte [bp-006h] ; 8a 5e fa 4441 xor bh, bh ; 30 ff 4442 mov ax, bx ; 89 d8 4443 call 03013h ; e8 7a fc 4454 jne short 033c3h ; 75 11 4455 mov ax, word [bp+016h] ; 8b 46 16 4456 xor ah, ah ; 30 e4 4457 or ah, 080h ; 80 cc 80 4458 mov word [bp+016h], ax ; 89 46 16 4459 mov ax, 00080h ; b8 80 00 4460 jmp near 03435h ; e9 72 00 4461 mov dl, byte [bp-006h] ; 8a 56 fa 4462 xor dh, dh ; 30 f6 4463 mov ax, dx ; 89 d0 4464 call 03031h ; e8 64 fc 4444 4465 test ax, ax ; 85 c0 4445 jne short 033 c0h ; 75 234446 mov ax, bx ; 89 d84447 call 03 0eah ; e8 48fd4466 jne short 033f1h ; 75 20 4467 mov ax, dx ; 89 d0 4468 call 03108h ; e8 32 fd 4448 4469 test ax, ax ; 85 c0 4449 jne short 033 c0h ; 75 1a4470 jne short 033f1h ; 75 17 4450 4471 mov ax, word [bp+016h] ; 8b 46 16 4451 4472 xor ah, ah ; 30 e4 … … 4453 4474 mov word [bp+016h], ax ; 89 46 16 4454 4475 mov ax, strict word 0000ch ; b8 0c 00 4455 call 02eb0h ; e8 f9 fa 4456 mov byte [bp+016h], bh ; 88 7e 16 4457 jmp near 03656h ; e9 99 02 4458 jmp near 0349ch ; e9 dc 00 4459 cmp byte [bp-010h], 002h ; 80 7e f0 02 4460 jne short 0340fh ; 75 49 4476 call 02eb0h ; e8 c5 fa 4477 mov byte [bp+016h], dh ; 88 76 16 4478 jmp near 03697h ; e9 a6 02 4479 cmp cl, 002h ; 80 f9 02 4480 jne short 0343fh ; 75 49 4461 4481 mov CL, strict byte 00ch ; b1 0c 4462 4482 mov dx, word [bp+006h] ; 8b 56 06 … … 4468 4488 mov bx, word [bp+010h] ; 8b 5e 10 4469 4489 add bx, ax ; 01 c3 4470 mov word [bp-01 2h], bx ; 89 5e ee4490 mov word [bp-014h], bx ; 89 5e ec 4471 4491 cmp ax, bx ; 39 d8 4472 jbe short 03 3e4h ; 76 024492 jbe short 03414h ; 76 02 4473 4493 db 0feh, 0c5h 4474 4494 ; inc ch ; fe c5 … … 4479 4499 sal bx, CL ; d3 e3 4480 4500 dec bx ; 4b 4481 mov ax, word [bp-01 2h] ; 8b 46 ee4501 mov ax, word [bp-014h] ; 8b 46 ec 4482 4502 add ax, bx ; 01 d8 4483 cmp ax, word [bp-01 2h] ; 3b 46 ee4484 jnc short 034 12h ; 73 184503 cmp ax, word [bp-014h] ; 3b 46 ec 4504 jnc short 03442h ; 73 18 4485 4505 mov ax, word [bp+016h] ; 8b 46 16 4486 4506 mov ah, cl ; 88 cc 4487 4507 mov word [bp+016h], ax ; 89 46 16 4488 4508 mov ax, strict word 00009h ; b8 09 00 4489 call 02eb0h ; e8 a8 fa4509 call 02eb0h ; e8 78 fa 4490 4510 mov byte [bp+016h], 000h ; c6 46 16 00 4491 jmp near 036 56h ; e9 47024492 jmp near 035 38h ; e9 26014511 jmp near 03697h ; e9 58 02 4512 jmp near 03579h ; e9 37 01 4493 4513 mov AL, strict byte 006h ; b0 06 4494 4514 mov dx, strict word 0000ah ; ba 0a 00 … … 4497 4517 mov dx, strict word 0000ch ; ba 0c 00 4498 4518 out DX, AL ; ee 4499 mov al, byte [bp-01 2h] ; 8a 46 ee4519 mov al, byte [bp-014h] ; 8a 46 ec 4500 4520 mov dx, strict word 00004h ; ba 04 00 4501 4521 out DX, AL ; ee 4502 mov al, byte [bp-01 1h] ; 8a 46 ef4522 mov al, byte [bp-013h] ; 8a 46 ed 4503 4523 out DX, AL ; ee 4504 4524 xor al, al ; 30 c0 … … 4519 4539 mov dx, strict word 0000ah ; ba 0a 00 4520 4540 out DX, AL ; ee 4521 mov al, byte [bp-006h] ; 8a 46 fa 4522 xor ah, ah ; 30 e4 4523 call 02f8fh ; e8 3d fb 4541 mov bl, byte [bp-006h] ; 8a 5e fa 4542 xor bh, bh ; 30 ff 4543 mov ax, bx ; 89 d8 4544 call 02fadh ; e8 29 fb 4524 4545 mov AL, strict byte 0e6h ; b0 e6 4525 4546 mov dx, 003f5h ; ba f5 03 … … 4530 4551 sal dx, 1 ; d1 e2 4531 4552 sal dx, 1 ; d1 e2 4532 mov al, b yte [bp-006h] ; 8a 46 fa4553 mov al, bl ; 88 d8 4533 4554 or ax, dx ; 09 d0 4534 4555 mov dx, 003f5h ; ba f5 03 … … 4542 4563 mov AL, strict byte 002h ; b0 02 4543 4564 out DX, AL ; ee 4544 mov al, byte [bp-00eh] ; 8a 46 f2 4545 xor ah, ah ; 30 e4 4546 mov dl, byte [bp-008h] ; 8a 56 f8 4565 mov dl, byte [bp-00eh] ; 8a 56 f2 4547 4566 xor dh, dh ; 30 f6 4567 mov al, byte [bp-008h] ; 8a 46 f8 4568 xor ah, ah ; 30 e4 4548 4569 add ax, dx ; 01 d0 4549 4570 dec ax ; 48 … … 4554 4575 mov AL, strict byte 0ffh ; b0 ff 4555 4576 out DX, AL ; ee 4556 call 02f20h ; e8 8bfa4577 call 02f20h ; e8 5a fa 4557 4578 test al, al ; 84 c0 4558 jne short 034adh ; 75 14 4559 call 02f67h ; e8 cb fa 4579 jne short 034e6h ; 75 1c 4580 mov ax, bx ; 89 d8 4581 call 02f67h ; e8 98 fa 4560 4582 mov ax, word [bp+016h] ; 8b 46 16 4561 4583 xor ah, ah ; 30 e4 … … 4563 4585 mov word [bp+016h], ax ; 89 46 16 4564 4586 mov ax, 00080h ; b8 80 00 4565 jmp near 03405h ; e9 58 ff 4587 call 02eb0h ; e8 d0 f9 4588 mov byte [bp+016h], bh ; 88 7e 16 4589 jmp near 03697h ; e9 b1 01 4566 4590 mov dx, 003f4h ; ba f4 03 4567 4591 in AL, DX ; ec … … 4570 4594 and AL, strict byte 0c0h ; 24 c0 4571 4595 cmp AL, strict byte 0c0h ; 3c c0 4572 je short 03 4cbh ; 74 124596 je short 03504h ; 74 12 4573 4597 mov ax, 00275h ; b8 75 02 4574 4598 push ax ; 50 … … 4577 4601 mov ax, strict word 00007h ; b8 07 00 4578 4602 push ax ; 50 4579 call 01976h ; e8 aee44603 call 01976h ; e8 75 e4 4580 4604 add sp, strict byte 00006h ; 83 c4 06 4581 4605 xor si, si ; 31 f6 4582 jmp short 03 4d4h ; eb 054606 jmp short 0350dh ; eb 05 4583 4607 cmp si, strict byte 00007h ; 83 fe 07 4584 jnl short 03 4edh ; 7d 194608 jnl short 03526h ; 7d 19 4585 4609 mov dx, 003f5h ; ba f5 03 4586 4610 in AL, DX ; ec … … 4592 4616 lea dx, [si+042h] ; 8d 54 42 4593 4617 mov ax, strict word 00040h ; b8 40 00 4594 call 01660h ; e8 76e14618 call 01660h ; e8 3d e1 4595 4619 inc si ; 46 4596 jmp short 03 4cfh ; eb e24620 jmp short 03508h ; eb e2 4597 4621 test byte [bp-01ch], 0c0h ; f6 46 e4 c0 4598 je short 03504h ; 74 11 4622 je short 03545h ; 74 19 4623 mov al, byte [bp-006h] ; 8a 46 fa 4624 xor ah, ah ; 30 e4 4625 call 02f67h ; e8 33 fa 4599 4626 mov ax, word [bp+016h] ; 8b 46 16 4600 4627 xor ah, ah ; 30 e4 … … 4602 4629 mov word [bp+016h], ax ; 89 46 16 4603 4630 mov ax, strict word 00020h ; b8 20 00 4604 jmp near 034 05h ; e9 01 ff4631 jmp near 03435h ; e9 f0 fe 4605 4632 mov al, byte [bp-008h] ; 8a 46 f8 4606 4633 xor ah, ah ; 30 e4 … … 4624 4651 mov al, byte [bp-006h] ; 8a 46 fa 4625 4652 xor ah, ah ; 30 e4 4626 call 02ec9h ; e8 98f94653 call 02ec9h ; e8 57 f9 4627 4654 mov byte [bp+017h], 000h ; c6 46 17 00 4628 jmp near 03 9fdh ; e9 c5044629 cmp byte [bp-010h], 003h ; 80 7e f0034630 je short 035 41h ; 74 034631 jmp near 036 64h ; e9 23014655 jmp near 03a41h ; e9 c8 04 4656 cmp cl, 003h ; 80 f9 03 4657 je short 03581h ; 74 03 4658 jmp near 036a5h ; e9 24 01 4632 4659 mov CL, strict byte 00ch ; b1 0c 4633 4660 mov dx, word [bp+006h] ; 8b 56 06 … … 4639 4666 mov bx, word [bp+010h] ; 8b 5e 10 4640 4667 add bx, ax ; 01 c3 4641 mov word [bp-01 2h], bx ; 89 5e ee4668 mov word [bp-014h], bx ; 89 5e ec 4642 4669 cmp ax, bx ; 39 d8 4643 jbe short 035 5fh ; 76 024670 jbe short 0359fh ; 76 02 4644 4671 db 0feh, 0c5h 4645 4672 ; inc ch ; fe c5 … … 4650 4677 sal bx, CL ; d3 e3 4651 4678 dec bx ; 4b 4652 mov ax, word [bp-01 2h] ; 8b 46 ee4679 mov ax, word [bp-014h] ; 8b 46 ec 4653 4680 add ax, bx ; 01 d8 4654 cmp ax, word [bp-01 2h] ; 3b 46 ee4655 jnc short 035 78h ; 73 034656 jmp near 03 3fah ; e9 82 fe4681 cmp ax, word [bp-014h] ; 3b 46 ec 4682 jnc short 035b8h ; 73 03 4683 jmp near 0342ah ; e9 72 fe 4657 4684 mov AL, strict byte 006h ; b0 06 4658 4685 mov dx, strict word 0000ah ; ba 0a 00 … … 4661 4688 mov dx, strict word 0000ch ; ba 0c 00 4662 4689 out DX, AL ; ee 4663 mov al, byte [bp-01 2h] ; 8a 46 ee4690 mov al, byte [bp-014h] ; 8a 46 ec 4664 4691 mov dx, strict word 00004h ; ba 04 00 4665 4692 out DX, AL ; ee 4666 mov al, byte [bp-01 1h] ; 8a 46 ef4693 mov al, byte [bp-013h] ; 8a 46 ed 4667 4694 out DX, AL ; ee 4668 4695 xor al, al ; 30 c0 … … 4683 4710 mov dx, strict word 0000ah ; ba 0a 00 4684 4711 out DX, AL ; ee 4685 mov al, byte [bp-006h] ; 8a 46 fa 4686 xor ah, ah ; 30 e4 4687 call 02f8fh ; e8 d7 f9 4712 mov bl, byte [bp-006h] ; 8a 5e fa 4713 xor bh, bh ; 30 ff 4714 mov ax, bx ; 89 d8 4715 call 02fadh ; e8 b3 f9 4688 4716 mov AL, strict byte 0c5h ; b0 c5 4689 4717 mov dx, 003f5h ; ba f5 03 … … 4694 4722 sal dx, 1 ; d1 e2 4695 4723 sal dx, 1 ; d1 e2 4696 mov al, b yte [bp-006h] ; 8a 46 fa4724 mov al, bl ; 88 d8 4697 4725 or ax, dx ; 09 d0 4698 4726 mov dx, 003f5h ; ba f5 03 … … 4706 4734 mov AL, strict byte 002h ; b0 02 4707 4735 out DX, AL ; ee 4708 mov al, byte [bp-00eh] ; 8a 46 f2 4709 xor ah, ah ; 30 e4 4710 mov dl, byte [bp-008h] ; 8a 56 f8 4736 mov dl, byte [bp-00eh] ; 8a 56 f2 4711 4737 xor dh, dh ; 30 f6 4738 mov al, byte [bp-008h] ; 8a 46 f8 4739 xor ah, ah ; 30 e4 4712 4740 add ax, dx ; 01 d0 4713 4741 dec ax ; 48 … … 4718 4746 mov AL, strict byte 0ffh ; b0 ff 4719 4747 out DX, AL ; ee 4720 call 02f20h ; e8 25 f94748 call 02f20h ; e8 e4 f8 4721 4749 test al, al ; 84 c0 4722 jne short 036 02h ; 75 034723 jmp near 034 99h ; e9 97 fe4750 jne short 03643h ; 75 03 4751 jmp near 034cah ; e9 87 fe 4724 4752 mov dx, 003f4h ; ba f4 03 4725 4753 in AL, DX ; ec … … 4728 4756 and AL, strict byte 0c0h ; 24 c0 4729 4757 cmp AL, strict byte 0c0h ; 3c c0 4730 je short 036 20h ; 74 124758 je short 03661h ; 74 12 4731 4759 mov ax, 00275h ; b8 75 02 4732 4760 push ax ; 50 … … 4735 4763 mov ax, strict word 00007h ; b8 07 00 4736 4764 push ax ; 50 4737 call 01976h ; e8 59e34765 call 01976h ; e8 18 e3 4738 4766 add sp, strict byte 00006h ; 83 c4 06 4739 4767 xor si, si ; 31 f6 4740 jmp short 036 29h ; eb 054768 jmp short 0366ah ; eb 05 4741 4769 cmp si, strict byte 00007h ; 83 fe 07 4742 jnl short 036 42h ; 7d 194770 jnl short 03683h ; 7d 19 4743 4771 mov dx, 003f5h ; ba f5 03 4744 4772 in AL, DX ; ec … … 4750 4778 lea dx, [si+042h] ; 8d 54 42 4751 4779 mov ax, strict word 00040h ; b8 40 00 4752 call 01660h ; e8 21 e04780 call 01660h ; e8 e0 df 4753 4781 inc si ; 46 4754 jmp short 036 24h ; eb e24782 jmp short 03665h ; eb e2 4755 4783 test byte [bp-01ch], 0c0h ; f6 46 e4 c0 4756 jne short 036 4bh ; 75 034757 jmp near 035 24h ; e9 d9 fe4784 jne short 0368ch ; 75 03 4785 jmp near 03565h ; e9 d9 fe 4758 4786 test byte [bp-01bh], 002h ; f6 46 e5 02 4759 je short 036 5dh ; 74 0c4787 je short 0369eh ; 74 0c 4760 4788 mov word [bp+016h], 00300h ; c7 46 16 00 03 4761 4789 or byte [bp+01ch], 001h ; 80 4e 1c 01 4762 jmp near 036 79h ; e9 1c 004790 jmp near 036bah ; e9 1c 00 4763 4791 mov word [bp+016h], 00100h ; c7 46 16 00 01 4764 jmp short 036 56h ; eb f24792 jmp short 03697h ; eb f2 4765 4793 mov dl, byte [bp-00ah] ; 8a 56 f6 4766 4794 xor dh, dh ; 30 f6 4767 4795 mov al, byte [bp-006h] ; 8a 46 fa 4768 4796 xor ah, ah ; 30 e4 4769 call 02ec9h ; e8 58f84797 call 02ec9h ; e8 17 f8 4770 4798 and byte [bp+01ch], 0feh ; 80 66 1c fe 4771 4799 mov byte [bp+017h], 000h ; c6 46 17 00 … … 4779 4807 mov al, byte [bp+015h] ; 8a 46 15 4780 4808 xor ah, ah ; 30 e4 4809 mov dx, ax ; 89 c2 4781 4810 mov byte [bp-00ah], al ; 88 46 f6 4782 mov dl, byte [bp+013h] ; 8a 56 13 4783 xor dh, dh ; 30 f6 4784 mov byte [bp-00ch], dl ; 88 56 f4 4811 mov al, byte [bp+013h] ; 8a 46 13 4812 mov byte [bp-00ch], al ; 88 46 f4 4785 4813 mov bl, byte [bp+00eh] ; 8a 5e 0e 4786 4814 mov byte [bp-006h], bl ; 88 5e fa 4787 4815 cmp bl, 001h ; 80 fb 01 4788 jnbe short 036 b5h ; 77 144789 cmp dl, 001h ; 80 fa014790 jnbe short 036 b5h ; 77 0f4791 cmp AL, strict byte 04fh ; 3c4f4792 jnbe short 036 b5h ; 77 0b4816 jnbe short 036f6h ; 77 14 4817 cmp AL, strict byte 001h ; 3c 01 4818 jnbe short 036f6h ; 77 10 4819 cmp dl, 04fh ; 80 fa 4f 4820 jnbe short 036f6h ; 77 0b 4793 4821 mov al, byte [bp-008h] ; 8a 46 f8 4794 4822 test al, al ; 84 c0 4795 je short 036 b5h ; 74 044823 je short 036f6h ; 74 04 4796 4824 cmp AL, strict byte 012h ; 3c 12 4797 jbe short 03 6cah ; 76 154825 jbe short 0370bh ; 76 15 4798 4826 mov ax, word [bp+016h] ; 8b 46 16 4799 4827 xor ah, ah ; 30 e4 … … 4801 4829 mov word [bp+016h], ax ; 89 46 16 4802 4830 mov ax, strict word 00001h ; b8 01 00 4803 call 02eb0h ; e8 eaf74831 call 02eb0h ; e8 a9 f7 4804 4832 or byte [bp+01ch], 001h ; 80 4e 1c 01 4805 4833 mov al, byte [bp-006h] ; 8a 46 fa 4806 4834 xor ah, ah ; 30 e4 4807 call 03 1e4h ; e8 12 fb4835 call 03202h ; e8 ef fa 4808 4836 test ax, ax ; 85 c0 4809 jne short 03 6d9h ; 75 034810 jmp near 032 d2h ; e9 f9fb4811 mov bl, byte [bp-006h] ; 8a 5efa4812 xor bh, bh ; 30 ff4813 mov ax, bx ; 89 d84814 call 030 13h ; e8 30f94837 jne short 0371ah ; 75 03 4838 jmp near 032f2h ; e9 d8 fb 4839 mov dl, byte [bp-006h] ; 8a 56 fa 4840 xor dh, dh ; 30 f6 4841 mov ax, dx ; 89 d0 4842 call 03031h ; e8 0d f9 4815 4843 test ax, ax ; 85 c0 4816 jne short 03 6f3h ; 75 0c4817 mov ax, bx ; 89 d84818 call 03 0eah ; e8 fef94844 jne short 03734h ; 75 0c 4845 mov ax, dx ; 89 d0 4846 call 03108h ; e8 db f9 4819 4847 test ax, ax ; 85 c0 4820 jne short 03 6f3h ; 75 034821 jmp near 033 a6h ; e9 b3fc4848 jne short 03734h ; 75 03 4849 jmp near 033dah ; e9 a6 fc 4822 4850 mov CL, strict byte 00ch ; b1 0c 4851 mov ax, word [bp+006h] ; 8b 46 06 4852 shr ax, CL ; d3 e8 4853 mov ch, al ; 88 c5 4854 mov CL, strict byte 004h ; b1 04 4823 4855 mov dx, word [bp+006h] ; 8b 56 06 4824 shr dx, CL ; d3 ea 4825 mov ch, dl ; 88 d5 4826 mov CL, strict byte 004h ; b1 04 4827 mov ax, word [bp+006h] ; 8b 46 06 4828 sal ax, CL ; d3 e0 4856 sal dx, CL ; d3 e2 4829 4857 mov bx, word [bp+010h] ; 8b 5e 10 4830 add bx, ax ; 01 c34831 mov word [bp-01 2h], bx ; 89 5e ee4832 cmp ax, bx ; 39 d84833 jbe short 037 11h ; 76 024858 add bx, dx ; 01 d3 4859 mov word [bp-014h], bx ; 89 5e ec 4860 cmp dx, bx ; 39 da 4861 jbe short 03752h ; 76 02 4834 4862 db 0feh, 0c5h 4835 4863 ; inc ch ; fe c5 … … 4840 4868 sal bx, 1 ; d1 e3 4841 4869 dec bx ; 4b 4842 mov ax, word [bp-01 2h] ; 8b 46 ee4870 mov ax, word [bp-014h] ; 8b 46 ec 4843 4871 add ax, bx ; 01 d8 4844 cmp ax, word [bp-01 2h] ; 3b 46 ee4845 jnc short 037 32h ; 73 0b4872 cmp ax, word [bp-014h] ; 3b 46 ec 4873 jnc short 03773h ; 73 0b 4846 4874 mov ax, word [bp+016h] ; 8b 46 16 4847 4875 xor ah, ah ; 30 e4 4848 4876 or ah, 009h ; 80 cc 09 4849 jmp near 03 3ffh ; e9 cdfc4877 jmp near 0342fh ; e9 bc fc 4850 4878 mov AL, strict byte 006h ; b0 06 4851 4879 mov dx, strict word 0000ah ; ba 0a 00 … … 4854 4882 mov dx, strict word 0000ch ; ba 0c 00 4855 4883 out DX, AL ; ee 4856 mov al, byte [bp-01 2h] ; 8a 46 ee4884 mov al, byte [bp-014h] ; 8a 46 ec 4857 4885 mov dx, strict word 00004h ; ba 04 00 4858 4886 out DX, AL ; ee 4859 mov al, byte [bp-01 1h] ; 8a 46 ef4887 mov al, byte [bp-013h] ; 8a 46 ed 4860 4888 out DX, AL ; ee 4861 4889 xor al, al ; 30 c0 … … 4876 4904 mov dx, strict word 0000ah ; ba 0a 00 4877 4905 out DX, AL ; ee 4878 mov al, byte [bp-006h] ; 8a 46 fa 4879 xor ah, ah ; 30 e4 4880 call 02f8fh ; e8 1d f8 4906 mov bl, byte [bp-006h] ; 8a 5e fa 4907 xor bh, bh ; 30 ff 4908 mov ax, bx ; 89 d8 4909 call 02fadh ; e8 f8 f7 4881 4910 mov AL, strict byte 00fh ; b0 0f 4882 4911 mov dx, 003f5h ; ba f5 03 … … 4886 4915 sal ax, 1 ; d1 e0 4887 4916 sal ax, 1 ; d1 e0 4888 mov bl, byte [bp-006h] ; 8a 5e fa4889 xor bh, bh ; 30 ff4890 or bx, ax ; 09 c34891 mov al, bl ; 88 d84917 mov cl, bl ; 88 d9 4918 xor ch, ch ; 30 ed 4919 or cx, ax ; 09 c1 4920 mov al, cl ; 88 c8 4892 4921 out DX, AL ; ee 4893 4922 mov al, byte [bp-00ah] ; 8a 46 f6 … … 4895 4924 mov AL, strict byte 04dh ; b0 4d 4896 4925 out DX, AL ; ee 4897 mov al, bl ; 88 d84926 mov al, cl ; 88 c8 4898 4927 out DX, AL ; ee 4899 4928 mov AL, strict byte 002h ; b0 02 … … 4905 4934 mov AL, strict byte 0f6h ; b0 f6 4906 4935 out DX, AL ; ee 4907 call 02f20h ; e8 7bf74936 call 02f20h ; e8 39 f7 4908 4937 test al, al ; 84 c0 4909 jne short 037afh ; 75 06 4910 call 02f67h ; e8 bb f7 4911 jmp near 032d2h ; e9 23 fb 4938 jne short 037f3h ; 75 08 4939 mov ax, bx ; 89 d8 4940 call 02f67h ; e8 77 f7 4941 jmp near 032f2h ; e9 ff fa 4912 4942 mov dx, 003f4h ; ba f4 03 4913 4943 in AL, DX ; ec … … 4916 4946 and AL, strict byte 0c0h ; 24 c0 4917 4947 cmp AL, strict byte 0c0h ; 3c c0 4918 je short 03 7cdh ; 74 124948 je short 03811h ; 74 12 4919 4949 mov ax, 00275h ; b8 75 02 4920 4950 push ax ; 50 … … 4923 4953 mov ax, strict word 00007h ; b8 07 00 4924 4954 push ax ; 50 4925 call 01976h ; e8 ace14955 call 01976h ; e8 68 e1 4926 4956 add sp, strict byte 00006h ; 83 c4 06 4927 4957 xor si, si ; 31 f6 4928 jmp short 03 7d6h ; eb 054958 jmp short 0381ah ; eb 05 4929 4959 cmp si, strict byte 00007h ; 83 fe 07 4930 jnl short 03 7efh ; 7d 194960 jnl short 03833h ; 7d 19 4931 4961 mov dx, 003f5h ; ba f5 03 4932 4962 in AL, DX ; ec … … 4938 4968 lea dx, [si+042h] ; 8d 54 42 4939 4969 mov ax, strict word 00040h ; b8 40 00 4940 call 01660h ; e8 74de4970 call 01660h ; e8 30 de 4941 4971 inc si ; 46 4942 jmp short 03 7d1h ; eb e24972 jmp short 03815h ; eb e2 4943 4973 test byte [bp-01ch], 0c0h ; f6 46 e4 c0 4944 je short 038 10h ; 74 1b4974 je short 03854h ; 74 1b 4945 4975 test byte [bp-01bh], 002h ; f6 46 e5 02 4946 je short 03 7feh ; 74 034947 jmp near 036 51h ; e9 53fe4976 je short 03842h ; 74 03 4977 jmp near 03692h ; e9 50 fe 4948 4978 mov ax, 00275h ; b8 75 02 4949 4979 push ax ; 50 … … 4952 4982 mov ax, strict word 00007h ; b8 07 00 4953 4983 push ax ; 50 4954 call 01976h ; e8 69e14984 call 01976h ; e8 25 e1 4955 4985 add sp, strict byte 00006h ; 83 c4 06 4956 4986 xor al, al ; 30 c0 4957 4987 mov byte [bp+017h], al ; 88 46 17 4958 4988 xor ah, ah ; 30 e4 4959 call 02eb0h ; e8 96f64989 call 02eb0h ; e8 52 f6 4960 4990 mov al, byte [bp-006h] ; 8a 46 fa 4961 4991 xor ah, ah ; 30 e4 4962 4992 xor dx, dx ; 31 d2 4963 call 02ec9h ; e8 a5f64964 jmp near 03 9fdh ; e9 d6 014993 call 02ec9h ; e8 61 f6 4994 jmp near 03a41h ; e9 d6 01 4965 4995 mov byte [bp-006h], al ; 88 46 fa 4966 4996 cmp AL, strict byte 001h ; 3c 01 4967 jbe short 038 56h ; 76 284997 jbe short 0389ah ; 76 28 4968 4998 mov word [bp+016h], strict word 00000h ; c7 46 16 00 00 4969 4999 mov word [bp+010h], strict word 00000h ; c7 46 10 00 00 … … 4975 5005 xor ah, ah ; 30 e4 4976 5006 mov word [bp+012h], ax ; 89 46 12 4977 jmp near 039 78h ; e9 22 015007 jmp near 039bch ; e9 22 01 4978 5008 mov ax, strict word 00010h ; b8 10 00 4979 call 016aeh ; e8 52de5009 call 016aeh ; e8 0e de 4980 5010 mov ch, al ; 88 c5 4981 5011 xor ah, ah ; 30 e4 4982 5012 test AL, strict byte 0f0h ; a8 f0 4983 je short 038 66h ; 74 025013 je short 038aah ; 74 02 4984 5014 mov AH, strict byte 001h ; b4 01 4985 5015 test ch, 00fh ; f6 c5 0f 4986 je short 038 6dh ; 74 025016 je short 038b1h ; 74 02 4987 5017 db 0feh, 0c4h 4988 5018 ; inc ah ; fe c4 4989 5019 cmp byte [bp-006h], 000h ; 80 7e fa 00 4990 jne short 038 79h ; 75 065020 jne short 038bdh ; 75 06 4991 5021 mov CL, strict byte 004h ; b1 04 4992 5022 shr ch, CL ; d2 ed 4993 jmp short 038 7ch ; eb 035023 jmp short 038c0h ; eb 03 4994 5024 and ch, 00fh ; 80 e5 0f 4995 5025 mov byte [bp+011h], 000h ; c6 46 11 00 … … 5006 5036 mov word [bp+012h], ax ; 89 46 12 5007 5037 cmp ch, 003h ; 80 fd 03 5008 jc short 038 b8h ; 72 155009 jbe short 03 8dfh ; 76 3a5038 jc short 038fch ; 72 15 5039 jbe short 03923h ; 76 3a 5010 5040 cmp ch, 005h ; 80 fd 05 5011 jc short 03 8e6h ; 72 3c5012 jbe short 03 8edh ; 76 415041 jc short 0392ah ; 72 3c 5042 jbe short 03931h ; 76 41 5013 5043 cmp ch, 00fh ; 80 fd 0f 5014 je short 03 8fbh ; 74 4a5044 je short 0393fh ; 74 4a 5015 5045 cmp ch, 00eh ; 80 fd 0e 5016 je short 03 8f4h ; 74 3e5017 jmp short 039 02h ; eb 4a5046 je short 03938h ; 74 3e 5047 jmp short 03946h ; eb 4a 5018 5048 cmp ch, 002h ; 80 fd 02 5019 je short 03 8d8h ; 74 1b5049 je short 0391ch ; 74 1b 5020 5050 cmp ch, 001h ; 80 fd 01 5021 je short 03 8d1h ; 74 0f5051 je short 03915h ; 74 0f 5022 5052 test ch, ch ; 84 ed 5023 jne short 039 02h ; 75 3c5053 jne short 03946h ; 75 3c 5024 5054 mov word [bp+014h], strict word 00000h ; c7 46 14 00 00 5025 5055 mov byte [bp+013h], 000h ; c6 46 13 00 5026 jmp short 039 14h ; eb 435056 jmp short 03958h ; eb 43 5027 5057 mov word [bp+014h], 02709h ; c7 46 14 09 27 5028 jmp short 039 14h ; eb 3c5058 jmp short 03958h ; eb 3c 5029 5059 mov word [bp+014h], 04f0fh ; c7 46 14 0f 4f 5030 jmp short 039 14h ; eb 355060 jmp short 03958h ; eb 35 5031 5061 mov word [bp+014h], 04f09h ; c7 46 14 09 4f 5032 jmp short 039 14h ; eb 2e5062 jmp short 03958h ; eb 2e 5033 5063 mov word [bp+014h], 04f12h ; c7 46 14 12 4f 5034 jmp short 039 14h ; eb 275064 jmp short 03958h ; eb 27 5035 5065 mov word [bp+014h], 04f24h ; c7 46 14 24 4f 5036 jmp short 039 14h ; eb 205066 jmp short 03958h ; eb 20 5037 5067 mov word [bp+014h], 0fe3fh ; c7 46 14 3f fe 5038 jmp short 039 14h ; eb 195068 jmp short 03958h ; eb 19 5039 5069 mov word [bp+014h], 0feffh ; c7 46 14 ff fe 5040 jmp short 039 14h ; eb 125070 jmp short 03958h ; eb 12 5041 5071 mov ax, 00275h ; b8 75 02 5042 5072 push ax ; 50 … … 5045 5075 mov ax, strict word 00007h ; b8 07 00 5046 5076 push ax ; 50 5047 call 01976h ; e8 65e05077 call 01976h ; e8 21 e0 5048 5078 add sp, strict byte 00006h ; 83 c4 06 5049 5079 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 5050 5080 mov al, ch ; 88 e8 5051 5081 xor ah, ah ; 30 e4 5052 call 03b 8bh ; e8 6b025082 call 03bd1h ; e8 6d 02 5053 5083 mov word [bp+008h], ax ; 89 46 08 5054 jmp near 03 9fdh ; e9 d7 005084 jmp near 03a41h ; e9 d7 00 5055 5085 mov byte [bp-006h], al ; 88 46 fa 5056 5086 cmp AL, strict byte 001h ; 3c 01 5057 jbe short 039 32h ; 76 055087 jbe short 03976h ; 76 05 5058 5088 mov word [bp+016h], si ; 89 76 16 5059 jmp short 039 78h ; eb 465089 jmp short 039bch ; eb 46 5060 5090 mov ax, strict word 00010h ; b8 10 00 5061 call 016aeh ; e8 76dd5091 call 016aeh ; e8 32 dd 5062 5092 cmp byte [bp-006h], 000h ; 80 7e fa 00 5063 jne short 039 46h ; 75 085093 jne short 0398ah ; 75 08 5064 5094 mov CL, strict byte 004h ; b1 04 5065 5095 mov ch, al ; 88 c5 5066 5096 shr ch, CL ; d2 ed 5067 jmp short 039 4bh ; eb 055097 jmp short 0398fh ; eb 05 5068 5098 mov ch, al ; 88 c5 5069 5099 and ch, 00fh ; 80 e5 0f … … 5072 5102 xor ah, ah ; 30 e4 5073 5103 test ch, ch ; 84 ed 5074 je short 039 65h ; 74 0d5104 je short 039a9h ; 74 0d 5075 5105 cmp ch, 001h ; 80 fd 01 5076 jbe short 039 62h ; 76 055106 jbe short 039a6h ; 76 05 5077 5107 or ah, 002h ; 80 cc 02 5078 jmp short 039 65h ; eb 035108 jmp short 039a9h ; eb 03 5079 5109 or ah, 001h ; 80 cc 01 5080 5110 mov word [bp+016h], ax ; 89 46 16 5081 jmp near 036 79h ; e9 0efd5111 jmp near 036bah ; e9 0b fd 5082 5112 cmp AL, strict byte 001h ; 3c 01 5083 jbe short 039 7eh ; 76 0f5113 jbe short 039c2h ; 76 0f 5084 5114 mov word [bp+016h], si ; 89 76 16 5085 5115 mov ax, strict word 00001h ; b8 01 00 5086 call 02eb0h ; e8 38 f55116 call 02eb0h ; e8 f4 f4 5087 5117 mov word [bp+01ch], dx ; 89 56 1c 5088 jmp near 036 79h ; e9 fbfc5118 jmp near 036bah ; e9 f8 fc 5089 5119 mov ax, word [bp+016h] ; 8b 46 16 5090 5120 xor ah, ah ; 30 e4 … … 5092 5122 mov word [bp+016h], ax ; 89 46 16 5093 5123 mov ax, strict word 00006h ; b8 06 00 5094 jmp near 032 9eh ; e9 0f f95124 jmp near 032beh ; e9 eb f8 5095 5125 mov byte [bp-006h], al ; 88 46 fa 5096 5126 mov bl, ch ; 88 eb 5097 5127 cmp AL, strict byte 001h ; 3c 01 5098 jnbe short 039 6fh ; 77 d75128 jnbe short 039b3h ; 77 d7 5099 5129 mov al, byte [bp-006h] ; 8a 46 fa 5100 5130 xor ah, ah ; 30 e4 5101 call 03 1e4h ; e8 44f85131 call 03202h ; e8 1e f8 5102 5132 test ax, ax ; 85 c0 5103 jne short 039 a7h ; 75 035104 jmp near 032 d2h ; e9 2bf95133 jne short 039ebh ; 75 03 5134 jmp near 032f2h ; e9 07 f9 5105 5135 cmp byte [bp-006h], 000h ; 80 7e fa 00 5106 je short 039 b2h ; 74 055136 je short 039f6h ; 74 05 5107 5137 mov dx, 00091h ; ba 91 00 5108 jmp short 039 b5h ; eb 035138 jmp short 039f9h ; eb 03 5109 5139 mov dx, 00090h ; ba 90 00 5110 mov word [bp-01 2h], dx ; 89 56 ee5140 mov word [bp-014h], dx ; 89 56 ec 5111 5141 mov ax, strict word 00040h ; b8 40 00 5112 call 01652h ; e8 94dc5142 call 01652h ; e8 50 dc 5113 5143 and AL, strict byte 00fh ; 24 0f 5114 5144 cmp bl, 002h ; 80 fb 02 5115 jc short 03 9d4h ; 72 0f5116 jbe short 03 9e0h ; 76 195145 jc short 03a18h ; 72 0f 5146 jbe short 03a24h ; 76 19 5117 5147 cmp bl, 004h ; 80 fb 04 5118 je short 03 9dch ; 74 105148 je short 03a20h ; 74 10 5119 5149 cmp bl, 003h ; 80 fb 03 5120 je short 03 9e4h ; 74 135121 jmp near 032 90h ; e9 bcf85150 je short 03a28h ; 74 13 5151 jmp near 032b0h ; e9 98 f8 5122 5152 cmp bl, 001h ; 80 fb 01 5123 je short 03 9dch ; 74 035124 jmp near 032 90h ; e9 b4f85153 je short 03a20h ; 74 03 5154 jmp near 032b0h ; e9 90 f8 5125 5155 or AL, strict byte 090h ; 0c 90 5126 jmp short 03 9e6h ; eb 065156 jmp short 03a2ah ; eb 06 5127 5157 or AL, strict byte 070h ; 0c 70 5128 jmp short 03 9e6h ; eb 025158 jmp short 03a2ah ; eb 02 5129 5159 or AL, strict byte 010h ; 0c 10 5130 5160 mov bl, al ; 88 c3 5131 5161 xor bh, bh ; 30 ff 5132 mov dx, word [bp-01 2h] ; 8b 56 ee5162 mov dx, word [bp-014h] ; 8b 56 ec 5133 5163 mov ax, strict word 00040h ; b8 40 00 5134 call 01660h ; e8 6ddc5164 call 01660h ; e8 29 dc 5135 5165 xor al, al ; 30 c0 5136 5166 mov byte [bp+017h], al ; 88 46 17 5137 5167 xor ah, ah ; 30 e4 5138 call 02eb0h ; e8 b3f45168 call 02eb0h ; e8 6f f4 5139 5169 and byte [bp+01ch], 0feh ; 80 66 1c fe 5140 jmp near 036 79h ; e9 75fc5170 jmp near 036bah ; e9 72 fc 5141 5171 mov byte [bp-006h], al ; 88 46 fa 5142 mov ah, cl ; 88 cc5172 mov ah, byte [bp+014h] ; 8a 66 14 5143 5173 and ah, 03fh ; 80 e4 3f 5144 5174 mov byte [bp-008h], ah ; 88 66 f8 5145 mov bl, cl ; 88 cb5175 mov bl, byte [bp-010h] ; 8a 5e f0 5146 5176 mov CL, strict byte 006h ; b1 06 5147 5177 sar bx, CL ; d3 fb 5148 5178 mov bh, bl ; 88 df 5149 5179 xor bl, bl ; 30 db 5150 add bx, word [bp-01 4h] ; 03 5e ec5180 add bx, word [bp-012h] ; 03 5e ee 5151 5181 mov byte [bp-00ah], bl ; 88 5e f6 5152 5182 cmp AL, strict byte 001h ; 3c 01 5153 jbe short 03a 26h ; 76 035154 jmp near 039 6fh ; e9 49ff5183 jbe short 03a6ch ; 76 03 5184 jmp near 039b3h ; e9 47 ff 5155 5185 mov al, byte [bp-006h] ; 8a 46 fa 5156 5186 xor ah, ah ; 30 e4 5157 call 03 1e4h ; e8 b6f75187 call 03202h ; e8 8e f7 5158 5188 test ax, ax ; 85 c0 5159 jne short 03a 35h ; 75 035160 jmp near 032 d2h ; e9 9df85161 mov bl, byte [bp-006h] ; 8a 5efa5162 xor bh, bh ; 30 ff5163 mov ax, bx ; 89 d85164 call 030 13h ; e8 d4f55189 jne short 03a7bh ; 75 03 5190 jmp near 032f2h ; e9 77 f8 5191 mov dl, byte [bp-006h] ; 8a 56 fa 5192 xor dh, dh ; 30 f6 5193 mov ax, dx ; 89 d0 5194 call 03031h ; e8 ac f5 5165 5195 test ax, ax ; 85 c0 5166 jne short 03a 5dh ; 75 1a5167 mov ax, bx ; 89 d85168 call 03 0eah ; e8 a2f65196 jne short 03aa3h ; 75 1a 5197 mov ax, dx ; 89 d0 5198 call 03108h ; e8 7a f6 5169 5199 test ax, ax ; 85 c0 5170 jne short 03a 5dh ; 75 115200 jne short 03aa3h ; 75 11 5171 5201 mov ax, word [bp+016h] ; 8b 46 16 5172 5202 xor ah, ah ; 30 e4 … … 5174 5204 mov word [bp+016h], ax ; 89 46 16 5175 5205 mov ax, strict word 0000ch ; b8 0c 00 5176 jmp near 032 9eh ; e9 41f85206 jmp near 032beh ; e9 1b f8 5177 5207 mov ax, strict word 00010h ; b8 10 00 5178 call 016aeh ; e8 4bdc5208 call 016aeh ; e8 05 dc 5179 5209 cmp byte [bp-006h], 000h ; 80 7e fa 00 5180 jne short 03a 71h ; 75 085210 jne short 03ab7h ; 75 08 5181 5211 mov CL, strict byte 004h ; b1 04 5182 5212 mov ch, al ; 88 c5 5183 5213 shr ch, CL ; d2 ed 5184 jmp short 03a 76h ; eb 055214 jmp short 03abch ; eb 05 5185 5215 mov ch, al ; 88 c5 5186 5216 and ch, 00fh ; 80 e5 0f 5187 5217 cmp byte [bp-006h], 000h ; 80 7e fa 00 5188 je short 03a 81h ; 74 055218 je short 03ac7h ; 74 05 5189 5219 mov dx, 00091h ; ba 91 00 5190 jmp short 03a 84h ; eb 035220 jmp short 03acah ; eb 03 5191 5221 mov dx, 00090h ; ba 90 00 5192 mov word [bp-01 2h], dx ; 89 56 ee5222 mov word [bp-014h], dx ; 89 56 ec 5193 5223 mov ax, strict word 00040h ; b8 40 00 5194 call 01652h ; e8 c5db5224 call 01652h ; e8 7f db 5195 5225 and AL, strict byte 00fh ; 24 0f 5196 5226 cmp ch, 003h ; 80 fd 03 5197 jc short 03a b0h ; 72 1c5227 jc short 03af6h ; 72 1c 5198 5228 mov ah, al ; 88 c4 5199 5229 or ah, 090h ; 80 cc 90 5200 5230 cmp ch, 003h ; 80 fd 03 5201 jbe short 03 aech ; 76 4e5231 jbe short 03b32h ; 76 4e 5202 5232 mov dl, al ; 88 c2 5203 5233 or dl, 010h ; 80 ca 10 5204 5234 cmp ch, 005h ; 80 fd 05 5205 je short 03 aeah ; 74 425235 je short 03b30h ; 74 42 5206 5236 cmp ch, 004h ; 80 fd 04 5207 je short 03 afah ; 74 4d5208 jmp near 03b 36h ; e9 86 005237 je short 03b40h ; 74 4d 5238 jmp near 03b7ch ; e9 86 00 5209 5239 cmp ch, 002h ; 80 fd 02 5210 je short 03 acah ; 74 155240 je short 03b10h ; 74 15 5211 5241 cmp ch, 001h ; 80 fd 01 5212 jne short 03 afeh ; 75 445242 jne short 03b44h ; 75 44 5213 5243 cmp byte [bp-00ah], 027h ; 80 7e f6 27 5214 jne short 03 afeh ; 75 3e5244 jne short 03b44h ; 75 3e 5215 5245 cmp byte [bp-008h], 009h ; 80 7e f8 09 5216 jne short 03b 16h ; 75 505246 jne short 03b5ch ; 75 50 5217 5247 or AL, strict byte 090h ; 0c 90 5218 jmp short 03b 16h ; eb 4c5248 jmp short 03b5ch ; eb 4c 5219 5249 cmp byte [bp-00ah], 027h ; 80 7e f6 27 5220 jne short 03 adah ; 75 0a5250 jne short 03b20h ; 75 0a 5221 5251 cmp byte [bp-008h], 009h ; 80 7e f8 09 5222 jne short 03 adah ; 75 045252 jne short 03b20h ; 75 04 5223 5253 or AL, strict byte 070h ; 0c 70 5224 jmp short 03b 16h ; eb 3c5254 jmp short 03b5ch ; eb 3c 5225 5255 cmp byte [bp-00ah], 04fh ; 80 7e f6 4f 5226 jne short 03b 16h ; 75 365256 jne short 03b5ch ; 75 36 5227 5257 cmp byte [bp-008h], 00fh ; 80 7e f8 0f 5228 jne short 03b 36h ; 75 505258 jne short 03b7ch ; 75 50 5229 5259 or AL, strict byte 010h ; 0c 10 5230 jmp short 03b 36h ; eb 4c5231 jmp short 03b 18h ; eb 2c5260 jmp short 03b7ch ; eb 4c 5261 jmp short 03b5eh ; eb 2c 5232 5262 cmp byte [bp-00ah], 04fh ; 80 7e f6 4f 5233 jne short 03b 36h ; 75 445263 jne short 03b7ch ; 75 44 5234 5264 cmp byte [bp-008h], 009h ; 80 7e f8 09 5235 je short 03 afch ; 74 045236 jmp short 03b 36h ; eb 3c5237 jmp short 03b 00h ; eb 045265 je short 03b42h ; 74 04 5266 jmp short 03b7ch ; eb 3c 5267 jmp short 03b46h ; eb 04 5238 5268 mov al, ah ; 88 e0 5239 jmp short 03b 36h ; eb 365269 jmp short 03b7ch ; eb 36 5240 5270 cmp byte [bp-00ah], 04fh ; 80 7e f6 4f 5241 jne short 03b 36h ; 75 305271 jne short 03b7ch ; 75 30 5242 5272 cmp byte [bp-008h], 009h ; 80 7e f8 09 5243 jne short 03b 0eh ; 75 025244 jmp short 03 afch ; eb ee5273 jne short 03b54h ; 75 02 5274 jmp short 03b42h ; eb ee 5245 5275 cmp byte [bp-008h], 012h ; 80 7e f8 12 5246 jne short 03b 36h ; 75 225276 jne short 03b7ch ; 75 22 5247 5277 mov al, dl ; 88 d0 5248 jmp short 03b 36h ; eb 1e5278 jmp short 03b7ch ; eb 1e 5249 5279 cmp byte [bp-00ah], 04fh ; 80 7e f6 4f 5250 jne short 03b 36h ; 75 185280 jne short 03b7ch ; 75 18 5251 5281 cmp byte [bp-008h], 009h ; 80 7e f8 09 5252 jne short 03b 26h ; 75 025253 jmp short 03 afch ; eb d65282 jne short 03b6ch ; 75 02 5283 jmp short 03b42h ; eb d6 5254 5284 cmp byte [bp-008h], 012h ; 80 7e f8 12 5255 jne short 03b 2eh ; 75 025256 jmp short 03b 14h ; eb e65285 jne short 03b74h ; 75 02 5286 jmp short 03b5ah ; eb e6 5257 5287 cmp byte [bp-008h], 024h ; 80 7e f8 24 5258 jne short 03b 36h ; 75 025288 jne short 03b7ch ; 75 02 5259 5289 or AL, strict byte 0d0h ; 0c d0 5260 5290 mov dl, al ; 88 c2 … … 5263 5293 sar dx, CL ; d3 fa 5264 5294 test dl, 001h ; f6 c2 01 5265 jne short 03b 46h ; 75 035266 jmp near 03a 4ch ; e9 06 ff5295 jne short 03b8ch ; 75 03 5296 jmp near 03a92h ; e9 06 ff 5267 5297 mov bl, al ; 88 c3 5268 5298 xor bh, bh ; 30 ff 5269 mov dx, word [bp-01 2h] ; 8b 56 ee5299 mov dx, word [bp-014h] ; 8b 56 ec 5270 5300 mov ax, strict word 00040h ; b8 40 00 5271 call 01660h ; e8 0d db5301 call 01660h ; e8 c7 da 5272 5302 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 5273 5303 mov al, ch ; 88 e8 5274 5304 xor ah, ah ; 30 e4 5275 call 03b 8bh ; e8 2c 005305 call 03bd1h ; e8 2c 00 5276 5306 mov word [bp+008h], ax ; 89 46 08 5277 jmp near 03 9f3h ; e9 8efe5307 jmp near 03a37h ; e9 8c fe 5278 5308 mov bx, 00da0h ; bb a0 0d 5279 5309 mov cx, ds ; 8c d9 5280 5310 mov ax, strict word 00004h ; b8 04 00 5281 call 01933h ; e8 c3dd5311 call 01933h ; e8 7d dd 5282 5312 mov al, byte [bp+017h] ; 8a 46 17 5283 5313 xor ah, ah ; 30 e4 … … 5289 5319 mov ax, strict word 00004h ; b8 04 00 5290 5320 push ax ; 50 5291 call 01976h ; e8 f1dd5321 call 01976h ; e8 ab dd 5292 5322 add sp, strict byte 00008h ; 83 c4 08 5293 jmp near 032 90h ; e9 05 f75294 get_floppy_dpt_: ; 0xf3b 8bLB 0x325323 jmp near 032b0h ; e9 df f6 5324 get_floppy_dpt_: ; 0xf3bd1 LB 0x32 5295 5325 push bx ; 53 5296 5326 push dx ; 52 … … 5299 5329 mov dl, al ; 88 c2 5300 5330 xor ax, ax ; 31 c0 5301 jmp short 03b 9ch ; eb 065331 jmp short 03be2h ; eb 06 5302 5332 inc ax ; 40 5303 5333 cmp ax, strict word 00007h ; 3d 07 00 5304 jnc short 03b b6h ; 73 1a5334 jnc short 03bfch ; 73 1a 5305 5335 mov bx, ax ; 89 c3 5306 5336 sal bx, 1 ; d1 e3 5307 5337 cmp dl, byte [word bx+0005bh] ; 3a 97 5b 00 5308 jne short 03b 96h ; 75 f05338 jne short 03bdch ; 75 f0 5309 5339 mov al, byte [word bx+0005ch] ; 8a 87 5c 00 5310 5340 xor ah, ah ; 30 e4 … … 5312 5342 imul bx ; f7 eb 5313 5343 add ax, strict word 00000h ; 05 00 00 5314 jmp short 03b b9h ; eb 035344 jmp short 03bffh ; eb 03 5315 5345 mov ax, strict word 00041h ; b8 41 00 5316 5346 pop bp ; 5d … … 5318 5348 pop bx ; 5b 5319 5349 retn ; c3 5320 dummy_soft_reset_: ; 0xf3 bbdLB 0x75350 dummy_soft_reset_: ; 0xf3c03 LB 0x7 5321 5351 push bp ; 55 5322 5352 mov bp, sp ; 89 e5 … … 5324 5354 pop bp ; 5d 5325 5355 retn ; c3 5326 _cdemu_init: ; 0xf3 bc4LB 0x185356 _cdemu_init: ; 0xf3c0a LB 0x18 5327 5357 push bp ; 55 5328 5358 mov bp, sp ; 89 e5 5329 5359 mov dx, strict word 0000eh ; ba 0e 00 5330 5360 mov ax, strict word 00040h ; b8 40 00 5331 call 0166eh ; e8 9eda5361 call 0166eh ; e8 58 da 5332 5362 xor bx, bx ; 31 db 5333 5363 mov dx, 00366h ; ba 66 03 5334 call 01660h ; e8 88da5364 call 01660h ; e8 42 da 5335 5365 mov sp, bp ; 89 ec 5336 5366 pop bp ; 5d 5337 5367 retn ; c3 5338 _cdemu_isactive: ; 0xf3 bdcLB 0x165368 _cdemu_isactive: ; 0xf3c22 LB 0x16 5339 5369 push bp ; 55 5340 5370 mov bp, sp ; 89 e5 5341 5371 mov dx, strict word 0000eh ; ba 0e 00 5342 5372 mov ax, strict word 00040h ; b8 40 00 5343 call 0166eh ; e8 86da5373 call 0166eh ; e8 40 da 5344 5374 mov dx, 00366h ; ba 66 03 5345 call 01652h ; e8 64da5375 call 01652h ; e8 1e da 5346 5376 mov sp, bp ; 89 ec 5347 5377 pop bp ; 5d 5348 5378 retn ; c3 5349 _cdemu_emulated_drive: ; 0xf3 bf2LB 0x165379 _cdemu_emulated_drive: ; 0xf3c38 LB 0x16 5350 5380 push bp ; 55 5351 5381 mov bp, sp ; 89 e5 5352 5382 mov dx, strict word 0000eh ; ba 0e 00 5353 5383 mov ax, strict word 00040h ; b8 40 00 5354 call 0166eh ; e8 70da5384 call 0166eh ; e8 2a da 5355 5385 mov dx, 00368h ; ba 68 03 5356 call 01652h ; e8 4eda5386 call 01652h ; e8 08 da 5357 5387 mov sp, bp ; 89 ec 5358 5388 pop bp ; 5d 5359 5389 retn ; c3 5360 _int13_eltorito: ; 0xf3c 08LB 0x1915390 _int13_eltorito: ; 0xf3c4e LB 0x191 5361 5391 push bp ; 55 5362 5392 mov bp, sp ; 89 e5 … … 5365 5395 mov dx, strict word 0000eh ; ba 0e 00 5366 5396 mov ax, strict word 00040h ; b8 40 00 5367 call 0166eh ; e8 58da5397 call 0166eh ; e8 12 da 5368 5398 mov si, 00366h ; be 66 03 5369 5399 mov di, ax ; 89 c7 … … 5371 5401 xor ah, ah ; 30 e4 5372 5402 cmp ax, strict word 0004bh ; 3d 4b 00 5373 jc short 03c 2fh ; 72 0a5374 jbe short 03c 5ah ; 76 335403 jc short 03c75h ; 72 0a 5404 jbe short 03ca0h ; 76 33 5375 5405 cmp ax, strict word 0004dh ; 3d 4d 00 5376 jbe short 03c 34h ; 76 085377 jmp near 03d 5fh ; e9 30 015406 jbe short 03c7ah ; 76 08 5407 jmp near 03da5h ; e9 30 01 5378 5408 cmp ax, strict word 0004ah ; 3d 4a 00 5379 jne short 03c 57h ; 75 235409 jne short 03c9dh ; 75 23 5380 5410 mov bx, 00da0h ; bb a0 0d 5381 5411 mov cx, ds ; 8c d9 5382 5412 mov ax, strict word 00004h ; b8 04 00 5383 call 01933h ; e8 f4dc5413 call 01933h ; e8 ae dc 5384 5414 push word [bp+016h] ; ff 76 16 5385 5415 mov ax, 002fch ; b8 fc 02 … … 5389 5419 mov ax, strict word 00004h ; b8 04 00 5390 5420 push ax ; 50 5391 call 01976h ; e8 25 dd5421 call 01976h ; e8 df dc 5392 5422 add sp, strict byte 00008h ; 83 c4 08 5393 jmp near 03d 7ah ; e9 23 015394 jmp near 03d 5fh ; e9 05 015423 jmp near 03dc0h ; e9 23 01 5424 jmp near 03da5h ; e9 05 01 5395 5425 mov dx, word [bp+00ah] ; 8b 56 0a 5396 5426 mov ax, word [bp+004h] ; 8b 46 04 5397 5427 mov bx, strict word 00013h ; bb 13 00 5398 call 01660h ; e8 fad95428 call 01660h ; e8 b4 d9 5399 5429 mov es, di ; 8e c7 5400 5430 mov bl, byte [es:si+001h] ; 26 8a 5c 01 … … 5403 5433 inc dx ; 42 5404 5434 mov ax, word [bp+004h] ; 8b 46 04 5405 call 01660h ; e8 e8d95435 call 01660h ; e8 a2 d9 5406 5436 mov es, di ; 8e c7 5407 5437 mov bl, byte [es:si+002h] ; 26 8a 5c 02 … … 5411 5441 inc dx ; 42 5412 5442 mov ax, word [bp+004h] ; 8b 46 04 5413 call 01660h ; e8 d5d95443 call 01660h ; e8 8f d9 5414 5444 mov es, di ; 8e c7 5415 5445 mov bl, byte [es:si+003h] ; 26 8a 5c 03 … … 5418 5448 add dx, strict byte 00003h ; 83 c2 03 5419 5449 mov ax, word [bp+004h] ; 8b 46 04 5420 call 01660h ; e8 c1d95450 call 01660h ; e8 7b d9 5421 5451 mov es, di ; 8e c7 5422 5452 mov bx, word [es:si+008h] ; 26 8b 5c 08 … … 5425 5455 add dx, strict byte 00004h ; 83 c2 04 5426 5456 mov ax, word [bp+004h] ; 8b 46 04 5427 call 0169ch ; e8 e7d95457 call 0169ch ; e8 a1 d9 5428 5458 mov es, di ; 8e c7 5429 5459 mov bx, word [es:si+004h] ; 26 8b 5c 04 … … 5431 5461 add dx, strict byte 00008h ; 83 c2 08 5432 5462 mov ax, word [bp+004h] ; 8b 46 04 5433 call 0167ch ; e8 b5d95463 call 0167ch ; e8 6f d9 5434 5464 mov es, di ; 8e c7 5435 5465 mov bx, word [es:si+006h] ; 26 8b 5c 06 … … 5437 5467 add dx, strict byte 0000ah ; 83 c2 0a 5438 5468 mov ax, word [bp+004h] ; 8b 46 04 5439 call 0167ch ; e8 a3d95469 call 0167ch ; e8 5d d9 5440 5470 mov es, di ; 8e c7 5441 5471 mov bx, word [es:si+00ch] ; 26 8b 5c 0c … … 5443 5473 add dx, strict byte 0000ch ; 83 c2 0c 5444 5474 mov ax, word [bp+004h] ; 8b 46 04 5445 call 0167ch ; e8 91d95475 call 0167ch ; e8 4b d9 5446 5476 mov es, di ; 8e c7 5447 5477 mov bx, word [es:si+00eh] ; 26 8b 5c 0e … … 5449 5479 add dx, strict byte 0000eh ; 83 c2 0e 5450 5480 mov ax, word [bp+004h] ; 8b 46 04 5451 call 0167ch ; e8 7fd95481 call 0167ch ; e8 39 d9 5452 5482 mov es, di ; 8e c7 5453 5483 mov bl, byte [es:si+012h] ; 26 8a 5c 12 … … 5456 5486 add dx, strict byte 00010h ; 83 c2 10 5457 5487 mov ax, word [bp+004h] ; 8b 46 04 5458 call 01660h ; e8 4fd95488 call 01660h ; e8 09 d9 5459 5489 mov es, di ; 8e c7 5460 5490 mov bl, byte [es:si+014h] ; 26 8a 5c 14 … … 5463 5493 add dx, strict byte 00011h ; 83 c2 11 5464 5494 mov ax, word [bp+004h] ; 8b 46 04 5465 call 01660h ; e8 3b d95495 call 01660h ; e8 f5 d8 5466 5496 mov es, di ; 8e c7 5467 5497 mov bl, byte [es:si+010h] ; 26 8a 5c 10 … … 5470 5500 add dx, strict byte 00012h ; 83 c2 12 5471 5501 mov ax, word [bp+004h] ; 8b 46 04 5472 call 01660h ; e8 27 d95502 call 01660h ; e8 e1 d8 5473 5503 test byte [bp+016h], 0ffh ; f6 46 16 ff 5474 jne short 03d 45h ; 75 065504 jne short 03d8bh ; 75 06 5475 5505 mov es, di ; 8e c7 5476 5506 mov byte [es:si], 000h ; 26 c6 04 00 … … 5479 5509 mov dx, strict word 00074h ; ba 74 00 5480 5510 mov ax, strict word 00040h ; b8 40 00 5481 call 01660h ; e8 0c d95511 call 01660h ; e8 c6 d8 5482 5512 and byte [bp+01ch], 0feh ; 80 66 1c fe 5483 5513 lea sp, [bp-004h] ; 8d 66 fc … … 5489 5519 mov cx, ds ; 8c d9 5490 5520 mov ax, strict word 00004h ; b8 04 00 5491 call 01933h ; e8 c9db5521 call 01933h ; e8 83 db 5492 5522 mov al, byte [bp+017h] ; 8a 46 17 5493 5523 xor ah, ah ; 30 e4 … … 5496 5526 push ax ; 50 5497 5527 mov ax, 00333h ; b8 33 03 5498 jmp near 03c 49h ; e9 cf fe5528 jmp near 03c8fh ; e9 cf fe 5499 5529 mov ax, word [bp+016h] ; 8b 46 16 5500 5530 xor ah, ah ; 30 e4 … … 5505 5535 mov dx, strict word 00074h ; ba 74 00 5506 5536 mov ax, strict word 00040h ; b8 40 00 5507 call 01660h ; e8 cdd85537 call 01660h ; e8 87 d8 5508 5538 or byte [bp+01ch], 001h ; 80 4e 1c 01 5509 jmp short 03d 58h ; eb bf5510 device_is_cdrom_: ; 0xf3d 99LB 0x3f5539 jmp short 03d9eh ; eb bf 5540 device_is_cdrom_: ; 0xf3ddf LB 0x3f 5511 5541 push bp ; 55 5512 5542 mov bp, sp ; 89 e5 … … 5517 5547 mov dx, strict word 0000eh ; ba 0e 00 5518 5548 mov ax, strict word 00040h ; b8 40 00 5519 call 0166eh ; e8 c4d85549 call 0166eh ; e8 7e d8 5520 5550 mov cx, ax ; 89 c1 5521 5551 cmp bl, 010h ; 80 fb 10 5522 jc short 03d b5h ; 72 045552 jc short 03dfbh ; 72 04 5523 5553 xor ax, ax ; 31 c0 5524 jmp short 03 dd0h ; eb 1b5554 jmp short 03e16h ; eb 1b 5525 5555 mov al, bl ; 88 d8 5526 5556 xor ah, ah ; 30 e4 … … 5531 5561 add bx, 00122h ; 81 c3 22 01 5532 5562 cmp byte [es:bx+023h], 005h ; 26 80 7f 23 05 5533 jne short 03d b1h ; 75 e45563 jne short 03df7h ; 75 e4 5534 5564 mov ax, strict word 00001h ; b8 01 00 5535 5565 lea sp, [bp-006h] ; 8d 66 fa … … 5539 5569 pop bp ; 5d 5540 5570 retn ; c3 5541 cdrom_boot_: ; 0xf3 dd8LB 0x43d5571 cdrom_boot_: ; 0xf3e1e LB 0x43d 5542 5572 push bp ; 55 5543 5573 mov bp, sp ; 89 e5 … … 5550 5580 mov dx, strict word 0000eh ; ba 0e 00 5551 5581 mov ax, strict word 00040h ; b8 40 00 5552 call 0166eh ; e8 81d85582 call 0166eh ; e8 3b d8 5553 5583 mov word [bp-01ah], ax ; 89 46 e6 5554 5584 mov si, 00366h ; be 66 03 … … 5557 5587 mov word [bp-012h], ax ; 89 46 ee 5558 5588 mov byte [bp-00ch], 000h ; c6 46 f4 00 5559 jmp short 03e 0dh ; eb 095589 jmp short 03e53h ; eb 09 5560 5590 inc byte [bp-00ch] ; fe 46 f4 5561 5591 cmp byte [bp-00ch], 010h ; 80 7e f4 10 5562 jnc short 03e 19h ; 73 0c5592 jnc short 03e5fh ; 73 0c 5563 5593 mov al, byte [bp-00ch] ; 8a 46 f4 5564 5594 xor ah, ah ; 30 e4 5565 call 03d 99h ; e8 84 ff5595 call 03ddfh ; e8 84 ff 5566 5596 test ax, ax ; 85 c0 5567 je short 03e 04h ; 74 eb5597 je short 03e4ah ; 74 eb 5568 5598 cmp byte [bp-00ch], 010h ; 80 7e f4 10 5569 jc short 03e 25h ; 72 065599 jc short 03e6bh ; 72 06 5570 5600 mov ax, strict word 00002h ; b8 02 00 5571 jmp near 041 b2h ; e9 8d 035601 jmp near 041f8h ; e9 8d 03 5572 5602 mov cx, strict word 0000ch ; b9 0c 00 5573 5603 xor bx, bx ; 31 db 5574 5604 mov dx, ss ; 8c d2 5575 5605 lea ax, [bp-026h] ; 8d 46 da 5576 call 0a0 80h ; e8 4e625606 call 0a0c0h ; e8 48 62 5577 5607 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 5578 5608 mov ax, strict word 00011h ; b8 11 00 … … 5590 5620 mov word [es:bx+010h], 00800h ; 26 c7 47 10 00 08 5591 5621 mov byte [bp-00eh], 000h ; c6 46 f2 00 5592 jmp short 03e 6dh ; eb 095622 jmp short 03eb3h ; eb 09 5593 5623 inc byte [bp-00eh] ; fe 46 f2 5594 5624 cmp byte [bp-00eh], 004h ; 80 7e f2 04 5595 jnbe short 03e afh ; 77 425625 jnbe short 03ef5h ; 77 42 5596 5626 mov al, byte [bp-00ch] ; 8a 46 f4 5597 5627 xor ah, ah ; 30 e4 … … 5622 5652 call word [word di+0006ah] ; ff 95 6a 00 5623 5653 test ax, ax ; 85 c0 5624 jne short 03e 64h ; 75 b55654 jne short 03eaah ; 75 b5 5625 5655 test ax, ax ; 85 c0 5626 je short 03e b9h ; 74 065656 je short 03effh ; 74 06 5627 5657 mov ax, strict word 00003h ; b8 03 00 5628 jmp near 041 b2h ; e9 f9 025658 jmp near 041f8h ; e9 f9 02 5629 5659 cmp byte [bp-00826h], 000h ; 80 be da f7 00 5630 je short 03 ec6h ; 74 065660 je short 03f0ch ; 74 06 5631 5661 mov ax, strict word 00004h ; b8 04 00 5632 jmp near 041 b2h ; e9 ec 025662 jmp near 041f8h ; e9 ec 02 5633 5663 xor di, di ; 31 ff 5634 jmp short 03 ed0h ; eb 065664 jmp short 03f16h ; eb 06 5635 5665 inc di ; 47 5636 5666 cmp di, strict byte 00005h ; 83 ff 05 5637 jnc short 03 ee0h ; 73 105667 jnc short 03f26h ; 73 10 5638 5668 mov al, byte [bp+di-00825h] ; 8a 83 db f7 5639 5669 cmp al, byte [di+00da8h] ; 3a 85 a8 0d 5640 je short 03 ecah ; 74 f05670 je short 03f10h ; 74 f0 5641 5671 mov ax, strict word 00005h ; b8 05 00 5642 jmp near 041 b2h ; e9 d2 025672 jmp near 041f8h ; e9 d2 02 5643 5673 xor di, di ; 31 ff 5644 jmp short 03 eeah ; eb 065674 jmp short 03f30h ; eb 06 5645 5675 inc di ; 47 5646 5676 cmp di, strict byte 00017h ; 83 ff 17 5647 jnc short 03 efah ; 73 105677 jnc short 03f40h ; 73 10 5648 5678 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 5649 5679 cmp al, byte [di+00daeh] ; 3a 85 ae 0d 5650 je short 03 ee4h ; 74 f05680 je short 03f2ah ; 74 f0 5651 5681 mov ax, strict word 00006h ; b8 06 00 5652 jmp near 041 b2h ; e9 b8 025682 jmp near 041f8h ; e9 b8 02 5653 5683 mov ax, word [bp-007dfh] ; 8b 86 21 f8 5654 5684 mov dx, word [bp-007ddh] ; 8b 96 23 f8 … … 5690 5720 call word [word di+0006ah] ; ff 95 6a 00 5691 5721 test ax, ax ; 85 c0 5692 je short 03f 62h ; 74 065722 je short 03fa8h ; 74 06 5693 5723 mov ax, strict word 00007h ; b8 07 00 5694 jmp near 041 b2h ; e9 50 025724 jmp near 041f8h ; e9 50 02 5695 5725 cmp byte [bp-00826h], 001h ; 80 be da f7 01 5696 je short 03f 6fh ; 74 065726 je short 03fb5h ; 74 06 5697 5727 mov ax, strict word 00008h ; b8 08 00 5698 jmp near 041 b2h ; e9 43 025728 jmp near 041f8h ; e9 43 02 5699 5729 cmp byte [bp-00825h], 000h ; 80 be db f7 00 5700 je short 03f 7ch ; 74 065730 je short 03fc2h ; 74 06 5701 5731 mov ax, strict word 00009h ; b8 09 00 5702 jmp near 041 b2h ; e9 36 025732 jmp near 041f8h ; e9 36 02 5703 5733 cmp byte [bp-00808h], 055h ; 80 be f8 f7 55 5704 je short 03f 89h ; 74 065734 je short 03fcfh ; 74 06 5705 5735 mov ax, strict word 0000ah ; b8 0a 00 5706 jmp near 041 b2h ; e9 29 025736 jmp near 041f8h ; e9 29 02 5707 5737 cmp byte [bp-00807h], 0aah ; 80 be f9 f7 aa 5708 jne short 03f 83h ; 75 f35738 jne short 03fc9h ; 75 f3 5709 5739 cmp byte [bp-00806h], 088h ; 80 be fa f7 88 5710 je short 03f 9dh ; 74 065740 je short 03fe3h ; 74 06 5711 5741 mov ax, strict word 0000bh ; b8 0b 00 5712 jmp near 041 b2h ; e9 15 025742 jmp near 041f8h ; e9 15 02 5713 5743 mov al, byte [bp-00805h] ; 8a 86 fb f7 5714 5744 mov es, [bp-018h] ; 8e 46 e8 5715 5745 mov byte [es:si+001h], al ; 26 88 44 01 5716 5746 cmp byte [bp-00805h], 000h ; 80 be fb f7 00 5717 jne short 03f b6h ; 75 075747 jne short 03ffch ; 75 07 5718 5748 mov byte [es:si+002h], 0e0h ; 26 c6 44 02 e0 5719 jmp short 0 3fc9h ; eb 135749 jmp short 0400fh ; eb 13 5720 5750 cmp byte [bp-00805h], 004h ; 80 be fb f7 04 5721 jnc short 0 3fc4h ; 73 075751 jnc short 0400ah ; 73 07 5722 5752 mov byte [es:si+002h], 000h ; 26 c6 44 02 00 5723 jmp short 0 3fc9h ; eb 055753 jmp short 0400fh ; eb 05 5724 5754 mov byte [es:si+002h], 080h ; 26 c6 44 02 80 5725 5755 mov bl, byte [bp-00ch] ; 8a 5e f4 … … 5740 5770 mov word [bp-010h], ax ; 89 46 f0 5741 5771 test ax, ax ; 85 c0 5742 jne short 0 3ff8h ; 75 055772 jne short 0403eh ; 75 05 5743 5773 mov word [bp-010h], 007c0h ; c7 46 f0 c0 07 5744 5774 mov ax, word [bp-010h] ; 8b 46 f0 … … 5749 5779 mov word [es:si+00eh], bx ; 26 89 5c 0e 5750 5780 test bx, bx ; 85 db 5751 je short 040 1ah ; 74 065781 je short 04060h ; 74 06 5752 5782 cmp bx, 00400h ; 81 fb 00 04 5753 jbe short 040 20h ; 76 065783 jbe short 04066h ; 76 06 5754 5784 mov ax, strict word 0000ch ; b8 0c 00 5755 jmp near 041 b2h ; e9 92 015785 jmp near 041f8h ; e9 92 01 5756 5786 mov ax, word [bp-007feh] ; 8b 86 02 f8 5757 5787 mov dx, word [bp-007fch] ; 8b 96 04 f8 … … 5801 5831 sal ax, 1 ; d1 e0 5802 5832 rcl di, 1 ; d1 d7 5803 loop 040 98h ; e2 fa5833 loop 040deh ; e2 fa 5804 5834 push di ; 57 5805 5835 push ax ; 50 … … 5816 5846 mov word [es:bx+020h], strict word 00000h ; 26 c7 47 20 00 00 5817 5847 test ax, ax ; 85 c0 5818 je short 04 0cah ; 74 065848 je short 04110h ; 74 06 5819 5849 mov ax, strict word 0000dh ; b8 0d 00 5820 jmp near 041 b2h ; e9 e8 005850 jmp near 041f8h ; e9 e8 00 5821 5851 mov es, [bp-018h] ; 8e 46 e8 5822 5852 mov al, byte [es:si+001h] ; 26 8a 44 01 5823 5853 cmp AL, strict byte 002h ; 3c 02 5824 jc short 04 0e2h ; 72 0d5825 jbe short 04 0fdh ; 76 265854 jc short 04128h ; 72 0d 5855 jbe short 04143h ; 76 26 5826 5856 cmp AL, strict byte 004h ; 3c 04 5827 je short 041 0dh ; 74 325857 je short 04153h ; 74 32 5828 5858 cmp AL, strict byte 003h ; 3c 03 5829 je short 041 05h ; 74 265830 jmp near 041 5ah ; e9 78 005859 je short 0414bh ; 74 26 5860 jmp near 041a0h ; e9 78 00 5831 5861 cmp AL, strict byte 001h ; 3c 01 5832 jne short 041 5ah ; 75 745862 jne short 041a0h ; 75 74 5833 5863 mov es, [bp-018h] ; 8e 46 e8 5834 5864 mov word [es:si+014h], strict word 0000fh ; 26 c7 44 14 0f 00 5835 5865 mov word [es:si+012h], strict word 00050h ; 26 c7 44 12 50 00 5836 5866 mov word [es:si+010h], strict word 00002h ; 26 c7 44 10 02 00 5837 jmp short 041 5ah ; eb 5d5867 jmp short 041a0h ; eb 5d 5838 5868 mov word [es:si+014h], strict word 00012h ; 26 c7 44 14 12 00 5839 jmp short 04 0efh ; eb ea5869 jmp short 04135h ; eb ea 5840 5870 mov word [es:si+014h], strict word 00024h ; 26 c7 44 14 24 00 5841 jmp short 04 0efh ; eb e25871 jmp short 04135h ; eb e2 5842 5872 mov dx, 001c4h ; ba c4 01 5843 5873 mov ax, word [bp-010h] ; 8b 46 f0 5844 call 01652h ; e8 3c d55874 call 01652h ; e8 f6 d4 5845 5875 and AL, strict byte 03fh ; 24 3f 5846 5876 xor ah, ah ; 30 e4 … … 5849 5879 mov dx, 001c4h ; ba c4 01 5850 5880 mov ax, word [bp-010h] ; 8b 46 f0 5851 call 01652h ; e8 28 d55881 call 01652h ; e8 e2 d4 5852 5882 xor ah, ah ; 30 e4 5853 5883 mov bx, ax ; 89 c3 … … 5856 5886 mov dx, 001c5h ; ba c5 01 5857 5887 mov ax, word [bp-010h] ; 8b 46 f0 5858 call 01652h ; e8 17 d55888 call 01652h ; e8 d1 d4 5859 5889 xor ah, ah ; 30 e4 5860 5890 add ax, bx ; 01 d8 … … 5864 5894 mov dx, 001c3h ; ba c3 01 5865 5895 mov ax, word [bp-010h] ; 8b 46 f0 5866 call 01652h ; e8 02 d55896 call 01652h ; e8 bc d4 5867 5897 xor ah, ah ; 30 e4 5868 5898 inc ax ; 40 … … 5871 5901 mov es, [bp-018h] ; 8e 46 e8 5872 5902 cmp byte [es:si+001h], 000h ; 26 80 7c 01 00 5873 je short 041 9bh ; 74 375903 je short 041e1h ; 74 37 5874 5904 cmp byte [es:si+002h], 000h ; 26 80 7c 02 00 5875 jne short 041 83h ; 75 185905 jne short 041c9h ; 75 18 5876 5906 mov dx, strict word 00010h ; ba 10 00 5877 5907 mov ax, strict word 00040h ; b8 40 00 5878 call 01652h ; e8 ded45908 call 01652h ; e8 98 d4 5879 5909 mov bl, al ; 88 c3 5880 5910 or bl, 041h ; 80 cb 41 … … 5882 5912 mov dx, strict word 00010h ; ba 10 00 5883 5913 mov ax, strict word 00040h ; b8 40 00 5884 jmp short 041 98h ; eb 155914 jmp short 041deh ; eb 15 5885 5915 mov dx, 00304h ; ba 04 03 5886 5916 mov ax, word [bp-01ah] ; 8b 46 e6 5887 call 01652h ; e8 c6d45917 call 01652h ; e8 80 d4 5888 5918 mov bl, al ; 88 c3 5889 5919 db 0feh, 0c3h … … 5892 5922 mov dx, 00304h ; ba 04 03 5893 5923 mov ax, word [bp-01ah] ; 8b 46 e6 5894 call 01660h ; e8 c5d45924 call 01660h ; e8 7f d4 5895 5925 mov es, [bp-018h] ; 8e 46 e8 5896 5926 cmp byte [es:si+001h], 000h ; 26 80 7c 01 00 5897 je short 041 a9h ; 74 045927 je short 041efh ; 74 04 5898 5928 mov byte [es:si], 001h ; 26 c6 04 01 5899 5929 mov es, [bp-018h] ; 8e 46 e8 … … 5909 5939 retn ; c3 5910 5940 db 050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h 5911 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 0 cch, 045h, 0bch5912 db 04 2h, 0f1h, 042h, 016h, 043h, 0e6h, 042h, 016h, 043h, 0e6h, 042h, 015h, 045h, 0fbh, 044h, 0cch5913 db 04 5h, 0cch, 045h, 0fbh, 044h, 0fbh, 044h, 0fbh, 044h, 0fbh, 044h, 0fbh, 044h, 0c3h, 045h, 0fbh5914 db 04 4h, 0cch, 045h, 0cch, 045h, 0cch, 045h, 0cch, 045h, 0cch, 045h, 0cch, 045h, 0cch, 045h, 0cch5915 db 04 5h, 0cch, 045h, 0cch, 045h, 0cch, 045h, 0cch, 045h5916 _int13_cdemu: ; 0xf42 15LB 0x4535941 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 012h, 046h, 002h 5942 db 043h, 037h, 043h, 05ch, 043h, 02ch, 043h, 05ch, 043h, 02ch, 043h, 05bh, 045h, 041h, 045h, 012h 5943 db 046h, 012h, 046h, 041h, 045h, 041h, 045h, 041h, 045h, 041h, 045h, 041h, 045h, 009h, 046h, 041h 5944 db 045h, 012h, 046h, 012h, 046h, 012h, 046h, 012h, 046h, 012h, 046h, 012h, 046h, 012h, 046h, 012h 5945 db 046h, 012h, 046h, 012h, 046h, 012h, 046h, 012h, 046h 5946 _int13_cdemu: ; 0xf425b LB 0x453 5917 5947 push bp ; 55 5918 5948 mov bp, sp ; 89 e5 … … 5922 5952 mov dx, strict word 0000eh ; ba 0e 00 5923 5953 mov ax, strict word 00040h ; b8 40 00 5924 call 0166eh ; e8 48d45954 call 0166eh ; e8 02 d4 5925 5955 mov di, 00366h ; bf 66 03 5926 5956 mov cx, ax ; 89 c1 … … 5938 5968 mov dx, strict word 00074h ; ba 74 00 5939 5969 mov ax, strict word 00040h ; b8 40 00 5940 call 01660h ; e8 0b d45970 call 01660h ; e8 c5 d3 5941 5971 mov es, cx ; 8e c1 5942 5972 cmp byte [es:di], 000h ; 26 80 3d 00 5943 je short 042 6ch ; 74 0f5973 je short 042b2h ; 74 0f 5944 5974 mov al, byte [es:di+002h] ; 26 8a 45 02 5945 5975 xor ah, ah ; 30 e4 … … 5947 5977 xor dh, dh ; 30 f6 5948 5978 cmp ax, dx ; 39 d0 5949 je short 042 96h ; 74 2a5979 je short 042dch ; 74 2a 5950 5980 mov bx, 00da0h ; bb a0 0d 5951 5981 mov cx, ds ; 8c d9 5952 5982 mov ax, strict word 00004h ; b8 04 00 5953 call 01933h ; e8 bcd65983 call 01933h ; e8 76 d6 5954 5984 mov ax, word [bp+012h] ; 8b 46 12 5955 5985 xor ah, ah ; 30 e4 … … 5963 5993 mov ax, strict word 00004h ; b8 04 00 5964 5994 push ax ; 50 5965 call 01976h ; e8 e6d65995 call 01976h ; e8 a0 d6 5966 5996 add sp, strict byte 0000ah ; 83 c4 0a 5967 jmp near 04 5efh ; e9 59 035997 jmp near 04635h ; e9 59 03 5968 5998 mov al, byte [bp+017h] ; 8a 46 17 5969 5999 xor ah, ah ; 30 e4 5970 6000 mov dx, ax ; 89 c2 5971 6001 cmp ax, strict word 00050h ; 3d 50 00 5972 jnbe short 043 13h ; 77 716002 jnbe short 04359h ; 77 71 5973 6003 push CS ; 0e 5974 6004 pop ES ; 07 5975 6005 mov cx, strict word 0001eh ; b9 1e 00 5976 mov di, 04 1bch ; bf bc 416006 mov di, 04202h ; bf 02 42 5977 6007 repne scasb ; f2 ae 5978 6008 sal cx, 1 ; d1 e1 5979 6009 mov di, cx ; 89 cf 5980 mov ax, word [cs:di+04 1d9h] ; 2e 8b 85 d9 416010 mov ax, word [cs:di+0421fh] ; 2e 8b 85 1f 42 5981 6011 mov bx, word [bp+016h] ; 8b 5e 16 5982 6012 xor bh, bh ; 30 ff … … 5992 6022 sal bx, 1 ; d1 e3 5993 6023 cmp word [word bx+0006ah], strict byte 00000h ; 83 bf 6a 00 00 5994 je short 04 2e3h ; 74 096024 je short 04329h ; 74 09 5995 6025 mov al, byte [bp-006h] ; 8a 46 fa 5996 6026 xor ah, ah ; 30 e4 5997 6027 call word [word bx+00076h] ; ff 97 76 00 5998 jmp near 04 4fbh ; e9 15 026028 jmp near 04541h ; e9 15 02 5999 6029 mov ax, word [bp+016h] ; 8b 46 16 6000 6030 xor ah, ah ; 30 e4 6001 6031 or ah, 003h ; 80 cc 03 6002 jmp near 04 5f7h ; e9 06 036032 jmp near 0463dh ; e9 06 03 6003 6033 mov dx, strict word 00074h ; ba 74 00 6004 6034 mov ax, strict word 00040h ; b8 40 00 6005 call 01652h ; e8 58d36035 call 01652h ; e8 12 d3 6006 6036 mov cl, al ; 88 c1 6007 6037 mov bh, al ; 88 c7 … … 6010 6040 mov dx, strict word 00074h ; ba 74 00 6011 6041 mov ax, strict word 00040h ; b8 40 00 6012 call 01660h ; e8 54d36042 call 01660h ; e8 0e d3 6013 6043 test cl, cl ; 84 c9 6014 je short 043 75h ; 74 656015 jmp near 046 08h ; e9 f5 026016 jmp near 04 5cch ; e9 b6 026044 je short 043bbh ; 74 65 6045 jmp near 0464eh ; e9 f5 02 6046 jmp near 04612h ; e9 b6 02 6017 6047 mov es, [bp-012h] ; 8e 46 ee 6018 6048 mov di, word [es:si+014h] ; 26 8b 7c 14 … … 6040 6070 mov word [bp-014h], cx ; 89 4e ec 6041 6071 test cx, cx ; 85 c9 6042 je short 043 82h ; 74 1d6072 je short 043c8h ; 74 1d 6043 6073 cmp di, word [bp-00ah] ; 3b 7e f6 6044 jc short 043 72h ; 72 086074 jc short 043b8h ; 72 08 6045 6075 cmp ax, dx ; 39 d0 6046 jnc short 043 72h ; 73 046076 jnc short 043b8h ; 73 04 6047 6077 cmp bx, si ; 39 f3 6048 jnbe short 043 78h ; 77 066049 jmp near 04 5efh ; e9 7a 026050 jmp near 04 4ffh ; e9 87 016078 jnbe short 043beh ; 77 06 6079 jmp near 04635h ; e9 7a 02 6080 jmp near 04545h ; e9 87 01 6051 6081 mov dl, byte [bp+017h] ; 8a 56 17 6052 6082 xor dh, dh ; 30 f6 6053 6083 cmp dx, strict byte 00004h ; 83 fa 04 6054 jne short 043 85h ; 75 036055 jmp near 04 4fbh ; e9 76 016084 jne short 043cbh ; 75 03 6085 jmp near 04541h ; e9 76 01 6056 6086 mov CL, strict byte 004h ; b1 04 6057 6087 mov dx, word [bp+010h] ; 8b 56 10 … … 6066 6096 xor dl, dl ; 30 d2 6067 6097 xor cx, cx ; 31 c9 6068 call 0a0 10h ; e8 6a5c6098 call 0a050h ; e8 64 5c 6069 6099 xor bx, bx ; 31 db 6070 6100 add ax, si ; 01 f0 … … 6072 6102 mov bx, di ; 89 fb 6073 6103 xor cx, cx ; 31 c9 6074 call 0a0 10h ; e8 5d5c6104 call 0a050h ; e8 57 5c 6075 6105 mov bx, ax ; 89 c3 6076 6106 mov ax, word [bp-00ah] ; 8b 46 f6 … … 6107 6137 mov dx, ss ; 8c d2 6108 6138 lea ax, [bp-030h] ; 8d 46 d0 6109 call 0a0 80h ; e8 765c6139 call 0a0c0h ; e8 70 5c 6110 6140 mov word [bp-030h], strict word 00028h ; c7 46 d0 28 00 6111 6141 mov ax, word [bp-00eh] ; 8b 46 f2 … … 6160 6190 sal si, 1 ; d1 e6 6161 6191 rcl di, 1 ; d1 d7 6162 loop 044 8fh ; e2 fa6192 loop 044d5h ; e2 fa 6163 6193 push di ; 57 6164 6194 push si ; 56 … … 6176 6206 mov word [es:bx+020h], strict word 00000h ; 26 c7 47 20 00 00 6177 6207 test al, al ; 84 c0 6178 je short 04 4fbh ; 74 386208 je short 04541h ; 74 38 6179 6209 mov bx, 00da0h ; bb a0 0d 6180 6210 mov cx, ds ; 8c d9 6181 6211 mov ax, strict word 00004h ; b8 04 00 6182 call 01933h ; e8 65d46212 call 01933h ; e8 1f d4 6183 6213 mov al, dl ; 88 d0 6184 6214 xor ah, ah ; 30 e4 … … 6192 6222 mov ax, strict word 00004h ; b8 04 00 6193 6223 push ax ; 50 6194 call 01976h ; e8 90d46224 call 01976h ; e8 4a d4 6195 6225 add sp, strict byte 0000ah ; 83 c4 0a 6196 6226 mov ax, word [bp+016h] ; 8b 46 16 … … 6199 6229 mov word [bp+016h], ax ; 89 46 16 6200 6230 mov byte [bp+016h], 000h ; c6 46 16 00 6201 jmp near 04 5fah ; e9 ff 006231 jmp near 04640h ; e9 ff 00 6202 6232 mov byte [bp+017h], 000h ; c6 46 17 00 6203 6233 xor bx, bx ; 31 db 6204 6234 mov dx, strict word 00074h ; ba 74 00 6205 6235 mov ax, strict word 00040h ; b8 40 00 6206 call 01660h ; e8 56d16236 call 01660h ; e8 10 d1 6207 6237 and byte [bp+01ch], 0feh ; 80 66 1c fe 6208 6238 lea sp, [bp-004h] ; 8d 66 fc … … 6254 6284 mov word [bp+010h], cx ; 89 4e 10 6255 6285 cmp AL, strict byte 003h ; 3c 03 6256 je short 045 a5h ; 74 1c6286 je short 045ebh ; 74 1c 6257 6287 cmp AL, strict byte 002h ; 3c 02 6258 je short 045 9dh ; 74 106288 je short 045e3h ; 74 10 6259 6289 cmp AL, strict byte 001h ; 3c 01 6260 jne short 045 aah ; 75 196290 jne short 045f0h ; 75 19 6261 6291 mov ax, word [bp+010h] ; 8b 46 10 6262 6292 xor al, al ; 30 c0 6263 6293 or AL, strict byte 002h ; 0c 02 6264 6294 mov word [bp+010h], ax ; 89 46 10 6265 jmp short 045 aah ; eb 0d6295 jmp short 045f0h ; eb 0d 6266 6296 or cl, 004h ; 80 c9 04 6267 6297 mov word [bp+010h], cx ; 89 4e 10 6268 jmp short 045 aah ; eb 056298 jmp short 045f0h ; eb 05 6269 6299 or cl, 005h ; 80 c9 05 6270 jmp short 045 a0h ; eb f66300 jmp short 045e6h ; eb f6 6271 6301 mov es, [bp-012h] ; 8e 46 ee 6272 6302 cmp byte [es:si+001h], 004h ; 26 80 7c 01 04 6273 jc short 045 b7h ; 72 036274 jmp near 04 4fbh ; e9 44 ff6303 jc short 045fdh ; 72 03 6304 jmp near 04541h ; e9 44 ff 6275 6305 mov word [bp+008h], 0efc7h ; c7 46 08 c7 ef 6276 6306 mov word [bp+006h], 0f000h ; c7 46 06 00 f0 6277 jmp short 045 b4h ; eb f16307 jmp short 045fah ; eb f1 6278 6308 or bh, 003h ; 80 cf 03 6279 6309 mov word [bp+016h], bx ; 89 5e 16 6280 jmp near 04 4ffh ; e9 33 ff6310 jmp near 04545h ; e9 33 ff 6281 6311 mov bx, 00da0h ; bb a0 0d 6282 6312 mov cx, ds ; 8c d9 6283 6313 mov ax, strict word 00004h ; b8 04 00 6284 call 01933h ; e8 5cd36314 call 01933h ; e8 16 d3 6285 6315 mov al, byte [bp+017h] ; 8a 46 17 6286 6316 xor ah, ah ; 30 e4 … … 6292 6322 mov ax, strict word 00004h ; b8 04 00 6293 6323 push ax ; 50 6294 call 01976h ; e8 8ad36324 call 01976h ; e8 44 d3 6295 6325 add sp, strict byte 00008h ; 83 c4 08 6296 6326 mov ax, word [bp+016h] ; 8b 46 16 … … 6302 6332 mov dx, strict word 00074h ; ba 74 00 6303 6333 mov ax, strict word 00040h ; b8 40 00 6304 call 01660h ; e8 58d06334 call 01660h ; e8 12 d0 6305 6335 or byte [bp+01ch], 001h ; 80 4e 1c 01 6306 jmp near 045 0eh ; e9 ff fe6336 jmp near 04554h ; e9 ff fe 6307 6337 db 050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h 6308 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 0 51h, 047h, 096h6309 db 04bh, 0 13h, 047h, 051h, 047h, 008h, 047h, 051h, 047h, 008h, 047h, 051h, 047h, 096h, 04bh, 051h6310 db 047h, 0 51h, 047h, 096h, 04bh, 096h, 04bh, 096h, 04bh, 096h, 04bh, 096h, 04bh, 035h, 047h, 096h6311 db 04bh, 0 51h, 047h, 03eh, 047h, 06fh, 047h, 008h, 047h, 06fh, 047h, 0b8h, 048h, 058h, 049h, 06fh6312 db 047h, 0 82h, 049h, 0b0h, 04bh, 0b8h, 04bh, 051h, 047h6313 _int13_cdrom: ; 0xf46 68LB 0x5856338 db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 097h, 047h, 0dch 6339 db 04bh, 059h, 047h, 097h, 047h, 04eh, 047h, 097h, 047h, 04eh, 047h, 097h, 047h, 0dch, 04bh, 097h 6340 db 047h, 097h, 047h, 0dch, 04bh, 0dch, 04bh, 0dch, 04bh, 0dch, 04bh, 0dch, 04bh, 07bh, 047h, 0dch 6341 db 04bh, 097h, 047h, 084h, 047h, 0b5h, 047h, 04eh, 047h, 0b5h, 047h, 0feh, 048h, 09eh, 049h, 0b5h 6342 db 047h, 0c8h, 049h, 0f6h, 04bh, 0feh, 04bh, 097h, 047h 6343 _int13_cdrom: ; 0xf46ae LB 0x585 6314 6344 push bp ; 55 6315 6345 mov bp, sp ; 89 e5 … … 6319 6349 mov dx, strict word 0000eh ; ba 0e 00 6320 6350 mov ax, strict word 00040h ; b8 40 00 6321 call 0166eh ; e8 f5cf6351 call 0166eh ; e8 af cf 6322 6352 mov word [bp-018h], ax ; 89 46 e8 6323 6353 mov word [bp-00eh], 00122h ; c7 46 f2 22 01 … … 6326 6356 mov dx, strict word 00074h ; ba 74 00 6327 6357 mov ax, strict word 00040h ; b8 40 00 6328 call 01660h ; e8 d1cf6358 call 01660h ; e8 8b cf 6329 6359 mov ax, word [bp+010h] ; 8b 46 10 6330 6360 xor ah, ah ; 30 e4 6331 6361 cmp ax, 000e0h ; 3d e0 00 6332 jc short 046 9eh ; 72 056362 jc short 046e4h ; 72 05 6333 6363 cmp ax, 000f0h ; 3d f0 00 6334 jc short 04 6bdh ; 72 1f6364 jc short 04703h ; 72 1f 6335 6365 mov ax, word [bp+010h] ; 8b 46 10 6336 6366 xor ah, ah ; 30 e4 … … 6344 6374 mov ax, strict word 00004h ; b8 04 00 6345 6375 push ax ; 50 6346 call 01976h ; e8 bfd26376 call 01976h ; e8 79 d2 6347 6377 add sp, strict byte 0000ah ; 83 c4 0a 6348 jmp near 04 bceh ; e9 11 056378 jmp near 04c14h ; e9 11 05 6349 6379 mov ax, word [bp+010h] ; 8b 46 10 6350 6380 xor ah, ah ; 30 e4 … … 6354 6384 mov byte [bp-008h], dl ; 88 56 f8 6355 6385 cmp dl, 010h ; 80 fa 10 6356 jc short 04 6e2h ; 72 0e6386 jc short 04728h ; 72 0e 6357 6387 push ax ; 50 6358 6388 mov al, byte [bp+019h] ; 8a 46 19 … … 6361 6391 push ax ; 50 6362 6392 mov ax, 00416h ; b8 16 04 6363 jmp short 046 afh ; eb cd6393 jmp short 046f5h ; eb cd 6364 6394 mov al, byte [bp+019h] ; 8a 46 19 6365 6395 xor ah, ah ; 30 e4 6366 6396 mov dx, ax ; 89 c2 6367 6397 cmp ax, strict word 00050h ; 3d 50 00 6368 jnbe short 047 51h ; 77 636398 jnbe short 04797h ; 77 63 6369 6399 push CS ; 0e 6370 6400 pop ES ; 07 6371 6401 mov cx, strict word 0001eh ; b9 1e 00 6372 mov di, 046 0fh ; bf 0f466402 mov di, 04655h ; bf 55 46 6373 6403 repne scasb ; f2 ae 6374 6404 sal cx, 1 ; d1 e1 6375 6405 mov di, cx ; 89 cf 6376 mov ax, word [cs:di+046 2ch] ; 2e 8b 85 2c466406 mov ax, word [cs:di+04672h] ; 2e 8b 85 72 46 6377 6407 mov bx, word [bp+018h] ; 8b 5e 18 6378 6408 xor bh, bh ; 30 ff … … 6381 6411 xor ah, ah ; 30 e4 6382 6412 or ah, 003h ; 80 cc 03 6383 jmp near 04 bd6h ; e9 c3 046413 jmp near 04c1ch ; e9 c3 04 6384 6414 mov dx, strict word 00074h ; ba 74 00 6385 6415 mov ax, strict word 00040h ; b8 40 00 6386 call 01652h ; e8 36 cf6416 call 01652h ; e8 f0 ce 6387 6417 mov cl, al ; 88 c1 6388 6418 mov bh, al ; 88 c7 … … 6391 6421 mov dx, strict word 00074h ; ba 74 00 6392 6422 mov ax, strict word 00040h ; b8 40 00 6393 call 01660h ; e8 32 cf6423 call 01660h ; e8 ec ce 6394 6424 test cl, cl ; 84 c9 6395 je short 047 4eh ; 74 1c6396 jmp near 04 be7h ; e9 b2 046425 je short 04794h ; 74 1c 6426 jmp near 04c2dh ; e9 b2 04 6397 6427 or bh, 002h ; 80 cf 02 6398 6428 mov word [bp+018h], bx ; 89 5e 18 6399 jmp near 04 bd9h ; e9 9b 046429 jmp near 04c1fh ; e9 9b 04 6400 6430 mov word [bp+012h], 0aa55h ; c7 46 12 55 aa 6401 6431 or bh, 030h ; 80 cf 30 6402 6432 mov word [bp+018h], bx ; 89 5e 18 6403 6433 mov word [bp+016h], strict word 00007h ; c7 46 16 07 00 6404 jmp near 04b 9ah ; e9 49 046434 jmp near 04be0h ; e9 49 04 6405 6435 mov bx, 00da0h ; bb a0 0d 6406 6436 mov cx, ds ; 8c d9 6407 6437 mov ax, strict word 00004h ; b8 04 00 6408 call 01933h ; e8 d7d16438 call 01933h ; e8 91 d1 6409 6439 mov al, byte [bp+019h] ; 8a 46 19 6410 6440 xor ah, ah ; 30 e4 … … 6415 6445 push ax ; 50 6416 6446 mov ax, strict word 00004h ; b8 04 00 6417 jmp short 047 b0h ; eb 416447 jmp short 047f6h ; eb 41 6418 6448 mov bx, word [bp+00ch] ; 8b 5e 0c 6419 6449 mov es, [bp+006h] ; 8e 46 06 … … 6430 6460 mov word [bp-012h], ax ; 89 46 ee 6431 6461 or ax, word [bp-014h] ; 0b 46 ec 6432 je short 04 7bah ; 74 1b6462 je short 04800h ; 74 1b 6433 6463 mov al, byte [bp+019h] ; 8a 46 19 6434 6464 xor ah, ah ; 30 e4 … … 6440 6470 mov ax, strict word 00007h ; b8 07 00 6441 6471 push ax ; 50 6442 call 01976h ; e8 c2d16472 call 01976h ; e8 7c d1 6443 6473 add sp, strict byte 00008h ; 83 c4 08 6444 jmp near 04 bceh ; e9 14 046474 jmp near 04c14h ; e9 14 04 6445 6475 mov es, [bp-020h] ; 8e 46 e0 6446 6476 mov ax, word [es:di+008h] ; 26 8b 45 08 … … 6453 6483 mov ax, word [bp-010h] ; 8b 46 f0 6454 6484 cmp ax, strict word 00044h ; 3d 44 00 6455 je short 04 7e2h ; 74 056485 je short 04828h ; 74 05 6456 6486 cmp ax, strict word 00047h ; 3d 47 00 6457 jne short 04 7e5h ; 75 036458 jmp near 04b 96h ; e9 b1 036487 jne short 0482bh ; 75 03 6488 jmp near 04bdch ; e9 b1 03 6459 6489 mov cx, strict word 0000ch ; b9 0c 00 6460 6490 xor bx, bx ; 31 db 6461 6491 mov dx, ss ; 8c d2 6462 6492 lea ax, [bp-02eh] ; 8d 46 d2 6463 call 0a0 80h ; e8 8e586493 call 0a0c0h ; e8 88 58 6464 6494 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 6465 6495 mov ax, word [bp-014h] ; 8b 46 ec … … 6494 6524 sal bx, 1 ; d1 e3 6495 6525 rcl si, 1 ; d1 d6 6496 loop 048 44h ; e2 fa6526 loop 0488ah ; e2 fa 6497 6527 push si ; 56 6498 6528 push bx ; 53 … … 6513 6543 shr dx, 1 ; d1 ea 6514 6544 rcr ax, 1 ; d1 d8 6515 loop 048 74h ; e2 fa6545 loop 048bah ; e2 fa 6516 6546 mov es, [bp-020h] ; 8e 46 e0 6517 6547 mov word [es:di+002h], ax ; 26 89 45 02 6518 6548 cmp byte [bp-016h], 000h ; 80 7e ea 00 6519 je short 04 8deh ; 74 576549 je short 04924h ; 74 57 6520 6550 mov bx, 00da0h ; bb a0 0d 6521 6551 mov cx, ds ; 8c d9 6522 6552 mov ax, strict word 00004h ; b8 04 00 6523 call 01933h ; e8 a1d06553 call 01933h ; e8 5b d0 6524 6554 mov al, byte [bp-016h] ; 8a 46 ea 6525 6555 xor ah, ah ; 30 e4 … … 6532 6562 mov ax, strict word 00004h ; b8 04 00 6533 6563 push ax ; 50 6534 call 01976h ; e8 ccd06564 call 01976h ; e8 86 d0 6535 6565 add sp, strict byte 0000ah ; 83 c4 0a 6536 6566 mov ax, word [bp+018h] ; 8b 46 18 6537 6567 xor ah, ah ; 30 e4 6538 6568 or ah, 00ch ; 80 cc 0c 6539 jmp near 04 bd6h ; e9 1e 036569 jmp near 04c1ch ; e9 1e 03 6540 6570 cmp bx, strict byte 00002h ; 83 fb 02 6541 jnbe short 049 29h ; 77 6c6571 jnbe short 0496fh ; 77 6c 6542 6572 mov al, byte [bp-008h] ; 8a 46 f8 6543 6573 xor ah, ah ; 30 e4 … … 6548 6578 mov cl, byte [es:si+025h] ; 26 8a 4c 25 6549 6579 cmp bx, strict byte 00002h ; 83 fb 02 6550 je short 049 41h ; 74 6c6580 je short 04987h ; 74 6c 6551 6581 cmp bx, strict byte 00001h ; 83 fb 01 6552 je short 049 19h ; 74 3f6582 je short 0495fh ; 74 3f 6553 6583 test bx, bx ; 85 db 6554 je short 04 8e1h ; 74 036555 jmp near 04b 96h ; e9 b5 026584 je short 04927h ; 74 03 6585 jmp near 04bdch ; e9 b5 02 6556 6586 cmp cl, 0ffh ; 80 f9 ff 6557 jne short 04 8f8h ; 75 126587 jne short 0493eh ; 75 12 6558 6588 mov ax, word [bp+018h] ; 8b 46 18 6559 6589 xor ah, ah ; 30 e4 … … 6562 6592 xor al, al ; 30 c0 6563 6593 or AL, strict byte 001h ; 0c 01 6564 jmp near 04 bd6h ; e9 de 026594 jmp near 04c1ch ; e9 de 02 6565 6595 mov al, byte [bp-008h] ; 8a 46 f8 6566 6596 xor ah, ah ; 30 e4 … … 6576 6606 or AL, strict byte 001h ; 0c 01 6577 6607 mov word [bp+018h], ax ; 89 46 18 6578 jmp short 04 8deh ; eb c56608 jmp short 04924h ; eb c5 6579 6609 test cl, cl ; 84 c9 6580 jne short 049 2ch ; 75 0f6610 jne short 04972h ; 75 0f 6581 6611 or bh, 0b0h ; 80 cf b0 6582 6612 mov word [bp+018h], bx ; 89 5e 18 6583 6613 mov byte [bp+018h], cl ; 88 4e 18 6584 jmp near 04 bd9h ; e9 b0 026585 jmp near 04 bceh ; e9 a2 026614 jmp near 04c1fh ; e9 b0 02 6615 jmp near 04c14h ; e9 a2 02 6586 6616 mov al, byte [bp-008h] ; 8a 46 f8 6587 6617 xor ah, ah ; 30 e4 … … 6594 6624 mov byte [es:bx+025h], cl ; 26 88 4f 25 6595 6625 test cl, cl ; 84 c9 6596 jne short 049 53h ; 75 0e6626 jne short 04999h ; 75 0e 6597 6627 xor ax, ax ; 31 c0 6598 6628 mov dx, word [bp+018h] ; 8b 56 18 … … 6600 6630 or dx, ax ; 09 c2 6601 6631 mov word [bp+018h], dx ; 89 56 18 6602 jmp short 04 8deh ; eb 8b6632 jmp short 04924h ; eb 8b 6603 6633 mov ax, strict word 00001h ; b8 01 00 6604 jmp short 049 47h ; eb ef6634 jmp short 0498dh ; eb ef 6605 6635 mov al, byte [bp-008h] ; 8a 46 f8 6606 6636 xor ah, ah ; 30 e4 … … 6611 6641 mov cl, byte [es:si+025h] ; 26 8a 4c 25 6612 6642 test cl, cl ; 84 c9 6613 je short 049 75h ; 74 066643 je short 049bbh ; 74 06 6614 6644 or bh, 0b1h ; 80 cf b1 6615 jmp near 047 38h ; e9 c3 fd6616 je short 049 9ch ; 74 256645 jmp near 0477eh ; e9 c3 fd 6646 je short 049e2h ; 74 25 6617 6647 mov ax, word [bp+018h] ; 8b 46 18 6618 6648 xor ah, ah ; 30 e4 6619 6649 or ah, 0b1h ; 80 cc b1 6620 jmp near 04 bd6h ; e9 54 026650 jmp near 04c1ch ; e9 54 02 6621 6651 mov bx, word [bp+00ch] ; 8b 5e 0c 6622 6652 mov cx, word [bp+006h] ; 8b 4e 06 … … 6627 6657 mov word [bp-01eh], ax ; 89 46 e2 6628 6658 cmp ax, strict word 0001ah ; 3d 1a 00 6629 jnc short 049 9fh ; 73 056630 jmp short 049 29h ; eb 8d6631 jmp near 04b 96h ; e9 f7 016632 jc short 04a 01h ; 72 606659 jnc short 049e5h ; 73 05 6660 jmp short 0496fh ; eb 8d 6661 jmp near 04bdch ; e9 f7 01 6662 jc short 04a47h ; 72 60 6633 6663 mov al, byte [bp-008h] ; 8a 46 f8 6634 6664 xor ah, ah ; 30 e4 … … 6653 6683 mov word [es:bx+016h], strict word 0ffffh ; 26 c7 47 16 ff ff 6654 6684 cmp word [bp-01eh], strict byte 0001eh ; 83 7e e2 1e 6655 jnc short 04a 0ah ; 73 036656 jmp near 04 acah ; e9 c0 006685 jnc short 04a50h ; 73 03 6686 jmp near 04b10h ; e9 c0 00 6657 6687 mov es, [bp-00ah] ; 8e 46 f6 6658 6688 mov word [es:si], strict word 0001eh ; 26 c7 04 1e 00 … … 6699 6729 xor bl, bl ; 30 db 6700 6730 xor bh, bh ; 30 ff 6701 jmp short 04a aah ; eb 056731 jmp short 04af0h ; eb 05 6702 6732 cmp bh, 00fh ; 80 ff 0f 6703 jnc short 04 ac0h ; 73 166733 jnc short 04b06h ; 73 16 6704 6734 mov al, bh ; 88 f8 6705 6735 xor ah, ah ; 30 e4 … … 6707 6737 add dx, 00356h ; 81 c2 56 03 6708 6738 mov ax, word [bp-018h] ; 8b 46 e8 6709 call 01652h ; e8 98cb6739 call 01652h ; e8 52 cb 6710 6740 add bl, al ; 00 c3 6711 6741 db 0feh, 0c7h 6712 6742 ; inc bh ; fe c7 6713 jmp short 04a a5h ; eb e56743 jmp short 04aebh ; eb e5 6714 6744 neg bl ; f6 db 6715 6745 les di, [bp-00eh] ; c4 7e f2 6716 6746 mov byte [es:di+00243h], bl ; 26 88 9d 43 02 6717 6747 cmp word [bp-01eh], strict byte 00042h ; 83 7e e2 42 6718 jnc short 04 ad3h ; 73 036719 jmp near 04b 96h ; e9 c3 006748 jnc short 04b19h ; 73 03 6749 jmp near 04bdch ; e9 c3 00 6720 6750 mov al, byte [bp-008h] ; 8a 46 f8 6721 6751 xor ah, ah ; 30 e4 … … 6737 6767 mov word [es:si+022h], strict word 00000h ; 26 c7 44 22 00 00 6738 6768 test al, al ; 84 c0 6739 jne short 04b 1dh ; 75 0c6769 jne short 04b63h ; 75 0c 6740 6770 mov word [es:si+024h], 05349h ; 26 c7 44 24 49 53 6741 6771 mov word [es:si+026h], 02041h ; 26 c7 44 26 41 20 … … 6746 6776 mov word [es:si+02eh], 02020h ; 26 c7 44 2e 20 20 6747 6777 test al, al ; 84 c0 6748 jne short 04b 52h ; 75 166778 jne short 04b98h ; 75 16 6749 6779 mov word [es:si+030h], dx ; 26 89 54 30 6750 6780 mov word [es:si+032h], strict word 00000h ; 26 c7 44 32 00 00 … … 6761 6791 xor al, al ; 30 c0 6762 6792 mov AH, strict byte 01eh ; b4 1e 6763 jmp short 04b 7dh ; eb 056793 jmp short 04bc3h ; eb 05 6764 6794 cmp ah, 040h ; 80 fc 40 6765 jnc short 04b 8dh ; 73 106795 jnc short 04bd3h ; 73 10 6766 6796 mov bl, ah ; 88 e3 6767 6797 xor bh, bh ; 30 ff … … 6771 6801 db 0feh, 0c4h 6772 6802 ; inc ah ; fe c4 6773 jmp short 04b 78h ; eb eb6803 jmp short 04bbeh ; eb eb 6774 6804 neg al ; f6 d8 6775 6805 mov es, [bp-00ah] ; 8e 46 f6 … … 6779 6809 mov dx, strict word 00074h ; ba 74 00 6780 6810 mov ax, strict word 00040h ; b8 40 00 6781 call 01660h ; e8 bbca6811 call 01660h ; e8 75 ca 6782 6812 and byte [bp+01eh], 0feh ; 80 66 1e fe 6783 6813 lea sp, [bp-004h] ; 8d 66 fc … … 6788 6818 or bh, 006h ; 80 cf 06 6789 6819 mov word [bp+018h], bx ; 89 5e 18 6790 jmp short 04 be7h ; eb 2f6820 jmp short 04c2dh ; eb 2f 6791 6821 cmp bx, strict byte 00006h ; 83 fb 06 6792 je short 04b 96h ; 74 d96822 je short 04bdch ; 74 d9 6793 6823 cmp bx, strict byte 00001h ; 83 fb 01 6794 jc short 04 bceh ; 72 0c6795 jbe short 04b 96h ; 76 d26824 jc short 04c14h ; 72 0c 6825 jbe short 04bdch ; 76 d2 6796 6826 cmp bx, strict byte 00003h ; 83 fb 03 6797 jc short 04 bceh ; 72 056827 jc short 04c14h ; 72 05 6798 6828 cmp bx, strict byte 00004h ; 83 fb 04 6799 jbe short 04b 96h ; 76 c86829 jbe short 04bdch ; 76 c8 6800 6830 mov ax, word [bp+018h] ; 8b 46 18 6801 6831 xor ah, ah ; 30 e4 … … 6806 6836 mov dx, strict word 00074h ; ba 74 00 6807 6837 mov ax, strict word 00040h ; b8 40 00 6808 call 01660h ; e8 79ca6838 call 01660h ; e8 33 ca 6809 6839 or byte [bp+01eh], 001h ; 80 4e 1e 01 6810 jmp short 04b a9h ; eb bc6811 print_boot_device_: ; 0xf4 bedLB 0x516840 jmp short 04befh ; eb bc 6841 print_boot_device_: ; 0xf4c33 LB 0x51 6812 6842 push bp ; 55 6813 6843 mov bp, sp ; 89 e5 6814 6844 push cx ; 51 6815 6845 test al, al ; 84 c0 6816 je short 04 bfah ; 74 056846 je short 04c40h ; 74 05 6817 6847 mov dx, strict word 00002h ; ba 02 00 6818 jmp short 04c 14h ; eb 1a6848 jmp short 04c5ah ; eb 1a 6819 6849 test dl, dl ; 84 d2 6820 je short 04c 03h ; 74 056850 je short 04c49h ; 74 05 6821 6851 mov dx, strict word 00003h ; ba 03 00 6822 jmp short 04c 14h ; eb 116852 jmp short 04c5ah ; eb 11 6823 6853 test bl, 080h ; f6 c3 80 6824 jne short 04c 0ch ; 75 046854 jne short 04c52h ; 75 04 6825 6855 xor dh, dh ; 30 f6 6826 jmp short 04c 14h ; eb 086856 jmp short 04c5ah ; eb 08 6827 6857 test bl, 080h ; f6 c3 80 6828 je short 04c 38h ; 74 276858 je short 04c7eh ; 74 27 6829 6859 mov dx, strict word 00001h ; ba 01 00 6830 6860 mov bx, 00da0h ; bb a0 0d 6831 6861 mov cx, ds ; 8c d9 6832 6862 mov ax, strict word 00004h ; b8 04 00 6833 call 01933h ; e8 14 cd6863 call 01933h ; e8 ce cc 6834 6864 mov ax, dx ; 89 d0 6835 6865 mov dx, strict word 0000ah ; ba 0a 00 … … 6841 6871 mov ax, strict word 00004h ; b8 04 00 6842 6872 push ax ; 50 6843 call 01976h ; e8 41 cd6873 call 01976h ; e8 fb cc 6844 6874 add sp, strict byte 00006h ; 83 c4 06 6845 6875 lea sp, [bp-002h] ; 8d 66 fe … … 6847 6877 pop bp ; 5d 6848 6878 retn ; c3 6849 print_boot_failure_: ; 0xf4c 3eLB 0x9f6879 print_boot_failure_: ; 0xf4c84 LB 0x9f 6850 6880 push bp ; 55 6851 6881 mov bp, sp ; 89 e5 … … 6857 6887 mov si, cx ; 89 ce 6858 6888 test al, al ; 84 c0 6859 je short 04c 70h ; 74 1f6889 je short 04cb6h ; 74 1f 6860 6890 mov bx, 00da0h ; bb a0 0d 6861 6891 mov cx, ds ; 8c d9 6862 6892 mov ax, strict word 00004h ; b8 04 00 6863 call 01933h ; e8 d7cc6893 call 01933h ; e8 91 cc 6864 6894 mov cx, 00ddah ; b9 da 0d 6865 6895 push cx ; 51 … … 6868 6898 mov cx, strict word 00004h ; b9 04 00 6869 6899 push cx ; 51 6870 call 01976h ; e8 0b cd6900 call 01976h ; e8 c5 cc 6871 6901 add sp, strict byte 00006h ; 83 c4 06 6872 jmp short 04c b8h ; eb 486902 jmp short 04cfeh ; eb 48 6873 6903 test dl, dl ; 84 d2 6874 je short 04c 84h ; 74 106904 je short 04ccah ; 74 10 6875 6905 mov bx, 00da0h ; bb a0 0d 6876 6906 mov cx, ds ; 8c d9 6877 6907 mov ax, strict word 00004h ; b8 04 00 6878 call 01933h ; e8 b4cc6908 call 01933h ; e8 6e cc 6879 6909 mov cx, 00de4h ; b9 e4 0d 6880 jmp short 04c 5fh ; eb db6910 jmp short 04ca5h ; eb db 6881 6911 test bl, 080h ; f6 c3 80 6882 je short 04c 9ah ; 74 116912 je short 04ce0h ; 74 11 6883 6913 mov bx, 00da0h ; bb a0 0d 6884 6914 mov cx, ds ; 8c d9 6885 6915 mov ax, strict word 00004h ; b8 04 00 6886 call 01933h ; e8 9fcc6916 call 01933h ; e8 59 cc 6887 6917 push si ; 56 6888 6918 mov cx, 00dd0h ; b9 d0 0d 6889 jmp short 04c a9h ; eb 0f6919 jmp short 04cefh ; eb 0f 6890 6920 mov bx, 00da0h ; bb a0 0d 6891 6921 mov cx, ds ; 8c d9 6892 6922 mov ax, strict word 00004h ; b8 04 00 6893 call 01933h ; e8 8ecc6923 call 01933h ; e8 48 cc 6894 6924 push si ; 56 6895 6925 mov cx, 00dc6h ; b9 c6 0d … … 6899 6929 mov cx, strict word 00004h ; b9 04 00 6900 6930 push cx ; 51 6901 call 01976h ; e8 c1cc6931 call 01976h ; e8 7b cc 6902 6932 add sp, strict byte 00008h ; 83 c4 08 6903 6933 cmp byte [bp+004h], 001h ; 80 7e 04 01 6904 jne short 04 cd5h ; 75 176934 jne short 04d1bh ; 75 17 6905 6935 test dh, dh ; 84 f6 6906 jne short 04 cc7h ; 75 056936 jne short 04d0dh ; 75 05 6907 6937 mov dx, 004d5h ; ba d5 04 6908 jmp short 04 ccah ; eb 036938 jmp short 04d10h ; eb 03 6909 6939 mov dx, 004ffh ; ba ff 04 6910 6940 push dx ; 52 6911 6941 mov dx, strict word 00007h ; ba 07 00 6912 6942 push dx ; 52 6913 call 01976h ; e8 a4cc6943 call 01976h ; e8 5e cc 6914 6944 add sp, strict byte 00004h ; 83 c4 04 6915 6945 lea sp, [bp-002h] ; 8d 66 fe … … 6917 6947 pop bp ; 5d 6918 6948 retn 00002h ; c2 02 00 6919 print_cdromboot_failure_: ; 0xf4 cddLB 0x2a6949 print_cdromboot_failure_: ; 0xf4d23 LB 0x2a 6920 6950 push bp ; 55 6921 6951 mov bp, sp ; 89 e5 … … 6927 6957 mov cx, ds ; 8c d9 6928 6958 mov ax, strict word 00004h ; b8 04 00 6929 call 01933h ; e8 43 cc6959 call 01933h ; e8 fd cb 6930 6960 push dx ; 52 6931 6961 mov dx, 00534h ; ba 34 05 … … 6933 6963 mov dx, strict word 00004h ; ba 04 00 6934 6964 push dx ; 52 6935 call 01976h ; e8 7acc6965 call 01976h ; e8 34 cc 6936 6966 add sp, strict byte 00006h ; 83 c4 06 6937 6967 lea sp, [bp-006h] ; 8d 66 fa … … 6941 6971 pop bp ; 5d 6942 6972 retn ; c3 6943 _int19_function: ; 0xf4d 07LB 0x28d6973 _int19_function: ; 0xf4d4d LB 0x28d 6944 6974 push bp ; 55 6945 6975 mov bp, sp ; 89 e5 … … 6949 6979 mov dx, strict word 0000eh ; ba 0e 00 6950 6980 mov ax, strict word 00040h ; b8 40 00 6951 call 0166eh ; e8 56c96981 call 0166eh ; e8 10 c9 6952 6982 mov bx, ax ; 89 c3 6953 6983 mov di, ax ; 89 c7 6954 6984 mov byte [bp-00ch], 000h ; c6 46 f4 00 6955 6985 mov ax, strict word 0003dh ; b8 3d 00 6956 call 016aeh ; e8 88c96986 call 016aeh ; e8 42 c9 6957 6987 mov dl, al ; 88 c2 6958 6988 xor dh, dh ; 30 f6 6959 6989 mov word [bp-00eh], dx ; 89 56 f2 6960 6990 mov ax, strict word 00038h ; b8 38 00 6961 call 016aeh ; e8 7bc96991 call 016aeh ; e8 35 c9 6962 6992 and AL, strict byte 0f0h ; 24 f0 6963 6993 mov byte [bp-010h], al ; 88 46 f0 … … 6969 6999 mov word [bp-00eh], dx ; 89 56 f2 6970 7000 mov ax, strict word 0003ch ; b8 3c 00 6971 call 016aeh ; e8 61c97001 call 016aeh ; e8 1b c9 6972 7002 and AL, strict byte 00fh ; 24 0f 6973 7003 xor ah, ah ; 30 e4 … … 6977 7007 mov dx, 0037dh ; ba 7d 03 6978 7008 mov ax, bx ; 89 d8 6979 call 01652h ; e8 f2c87009 call 01652h ; e8 ac c8 6980 7010 test al, al ; 84 c0 6981 je short 04d 71h ; 74 0d7011 je short 04db7h ; 74 0d 6982 7012 mov dx, 0037dh ; ba 7d 03 6983 7013 mov ax, bx ; 89 d8 6984 call 01652h ; e8 e6c87014 call 01652h ; e8 a0 c8 6985 7015 xor ah, ah ; 30 e4 6986 7016 mov word [bp-00eh], ax ; 89 46 f2 6987 7017 cmp byte [bp+004h], 001h ; 80 7e 04 01 6988 jne short 04d 88h ; 75 117018 jne short 04dceh ; 75 11 6989 7019 mov ax, strict word 0003ch ; b8 3c 00 6990 call 016aeh ; e8 31 c97020 call 016aeh ; e8 eb c8 6991 7021 and AL, strict byte 0f0h ; 24 f0 6992 7022 xor ah, ah ; 30 e4 6993 7023 mov CL, strict byte 004h ; b1 04 6994 7024 sar ax, CL ; d3 f8 6995 call 07d 94h ; e8 0c 307025 call 07ddah ; e8 0c 30 6996 7026 cmp byte [bp+004h], 002h ; 80 7e 04 02 6997 jne short 04d 93h ; 75 057027 jne short 04dd9h ; 75 05 6998 7028 mov CL, strict byte 004h ; b1 04 6999 7029 shr word [bp-00eh], CL ; d3 6e f2 7000 7030 cmp byte [bp+004h], 003h ; 80 7e 04 03 7001 jne short 04d a1h ; 75 087031 jne short 04de7h ; 75 08 7002 7032 mov al, byte [bp-00dh] ; 8a 46 f3 7003 7033 xor ah, ah ; 30 e4 7004 7034 mov word [bp-00eh], ax ; 89 46 f2 7005 7035 cmp byte [bp+004h], 004h ; 80 7e 04 04 7006 jne short 04d ach ; 75 057036 jne short 04df2h ; 75 05 7007 7037 mov CL, strict byte 00ch ; b1 0c 7008 7038 shr word [bp-00eh], CL ; d3 6e f2 7009 7039 cmp word [bp-00eh], strict byte 00010h ; 83 7e f2 10 7010 jnc short 04d b6h ; 73 047040 jnc short 04dfch ; 73 04 7011 7041 mov byte [bp-00ch], 001h ; c6 46 f4 01 7012 7042 xor al, al ; 30 c0 … … 7017 7047 mov cx, ds ; 8c d9 7018 7048 mov ax, strict word 00004h ; b8 04 00 7019 call 01933h ; e8 67cb7049 call 01933h ; e8 21 cb 7020 7050 push word [bp-00eh] ; ff 76 f2 7021 7051 mov al, byte [bp+004h] ; 8a 46 04 … … 7026 7056 mov ax, strict word 00004h ; b8 04 00 7027 7057 push ax ; 50 7028 call 01976h ; e8 96cb7058 call 01976h ; e8 50 cb 7029 7059 add sp, strict byte 00008h ; 83 c4 08 7030 7060 mov ax, word [bp-00eh] ; 8b 46 f2 7031 7061 and ax, strict word 0000fh ; 25 0f 00 7032 7062 cmp ax, strict word 00002h ; 3d 02 00 7033 jc short 04 dfch ; 72 0e7034 jbe short 04e 0bh ; 76 1b7063 jc short 04e42h ; 72 0e 7064 jbe short 04e51h ; 76 1b 7035 7065 cmp ax, strict word 00004h ; 3d 04 00 7036 je short 04e 28h ; 74 337066 je short 04e6eh ; 74 33 7037 7067 cmp ax, strict word 00003h ; 3d 03 00 7038 je short 04e 1eh ; 74 247039 jmp short 04e 57h ; eb 5b7068 je short 04e64h ; 74 24 7069 jmp short 04e9dh ; eb 5b 7040 7070 cmp ax, strict word 00001h ; 3d 01 00 7041 jne short 04e 57h ; 75 567071 jne short 04e9dh ; 75 56 7042 7072 xor al, al ; 30 c0 7043 7073 mov byte [bp-006h], al ; 88 46 fa 7044 7074 mov byte [bp-008h], al ; 88 46 f8 7045 jmp short 04e 6bh ; eb 607075 jmp short 04eb1h ; eb 60 7046 7076 mov dx, 0037ch ; ba 7c 03 7047 7077 mov ax, di ; 89 f8 7048 call 01652h ; e8 3f c87078 call 01652h ; e8 f9 c7 7049 7079 add AL, strict byte 080h ; 04 80 7050 7080 mov byte [bp-006h], al ; 88 46 fa 7051 7081 mov byte [bp-008h], 000h ; c6 46 f8 00 7052 jmp short 04e 6bh ; eb 4d7082 jmp short 04eb1h ; eb 4d 7053 7083 mov byte [bp-006h], 000h ; c6 46 fa 00 7054 7084 mov byte [bp-008h], 001h ; c6 46 f8 01 7055 jmp short 04e 32h ; eb 0a7085 jmp short 04e78h ; eb 0a 7056 7086 mov byte [bp-00ah], 001h ; c6 46 f6 01 7057 7087 cmp byte [bp-008h], 000h ; 80 7e f8 00 7058 je short 04e 6bh ; 74 397059 call 03 dd8h ; e8 a3 ef7088 je short 04eb1h ; 74 39 7089 call 03e1eh ; e8 a3 ef 7060 7090 mov bx, ax ; 89 c3 7061 7091 test AL, strict byte 0ffh ; a8 ff 7062 je short 04e 5eh ; 74 237063 call 04 cddh ; e8 9f fe7092 je short 04ea4h ; 74 23 7093 call 04d23h ; e8 9f fe 7064 7094 mov al, byte [bp-00ch] ; 8a 46 f4 7065 7095 xor ah, ah ; 30 e4 … … 7071 7101 mov al, byte [bp-008h] ; 8a 46 f8 7072 7102 mov cx, strict word 00001h ; b9 01 00 7073 call 04c 3eh ; e8 e7 fd7103 call 04c84h ; e8 e7 fd 7074 7104 xor ax, ax ; 31 c0 7075 7105 xor dx, dx ; 31 d2 7076 jmp near 04f 8dh ; e9 2f 017106 jmp near 04fd3h ; e9 2f 01 7077 7107 mov dx, 00372h ; ba 72 03 7078 7108 mov ax, di ; 89 f8 7079 call 0166eh ; e8 08 c87109 call 0166eh ; e8 c2 c7 7080 7110 mov si, ax ; 89 c6 7081 7111 mov byte [bp-006h], bh ; 88 7e fa 7082 7112 cmp byte [bp-00ah], 001h ; 80 7e f6 01 7083 jne short 04 ec6h ; 75 557113 jne short 04f0ch ; 75 55 7084 7114 xor si, si ; 31 f6 7085 7115 mov ax, 0e200h ; b8 00 e2 7086 7116 mov es, ax ; 8e c0 7087 7117 cmp word [es:si], 0aa55h ; 26 81 3c 55 aa 7088 jne short 04e 3eh ; 75 bf7118 jne short 04e84h ; 75 bf 7089 7119 mov cx, ax ; 89 c1 7090 7120 mov si, word [es:si+01ah] ; 26 8b 74 1a 7091 7121 cmp word [es:si+002h], 0506eh ; 26 81 7c 02 6e 50 7092 jne short 04e 3eh ; 75 b17122 jne short 04e84h ; 75 b1 7093 7123 cmp word [es:si], 05024h ; 26 81 3c 24 50 7094 jne short 04e 3eh ; 75 aa7124 jne short 04e84h ; 75 aa 7095 7125 mov bx, word [es:si+00eh] ; 26 8b 5c 0e 7096 7126 mov dx, word [es:bx] ; 26 8b 17 7097 7127 mov ax, word [es:bx+002h] ; 26 8b 47 02 7098 7128 cmp ax, 06568h ; 3d 68 65 7099 jne short 04 ec8h ; 75 247129 jne short 04f0eh ; 75 24 7100 7130 cmp dx, 07445h ; 81 fa 45 74 7101 jne short 04 ec8h ; 75 1e7131 jne short 04f0eh ; 75 1e 7102 7132 mov bl, byte [bp-006h] ; 8a 5e fa 7103 7133 xor bh, bh ; 30 ff … … 7106 7136 mov al, byte [bp-008h] ; 8a 46 f8 7107 7137 xor ah, ah ; 30 e4 7108 call 04 bedh ; e8 31 fd7138 call 04c33h ; e8 31 fd 7109 7139 mov word [bp-014h], strict word 00006h ; c7 46 ec 06 00 7110 7140 mov word [bp-012h], cx ; 89 4e ee 7111 jmp short 04 ee7h ; eb 217112 jmp short 04 eedh ; eb 257141 jmp short 04f2dh ; eb 21 7142 jmp short 04f33h ; eb 25 7113 7143 mov bl, byte [bp-006h] ; 8a 5e fa 7114 7144 xor bh, bh ; 30 ff … … 7117 7147 mov al, byte [bp-008h] ; 8a 46 f8 7118 7148 xor ah, ah ; 30 e4 7119 call 04 bedh ; e8 13 fd7149 call 04c33h ; e8 13 fd 7120 7150 sti ; fb 7121 7151 mov word [bp-012h], cx ; 89 4e ee … … 7124 7154 mov word [bp-014h], ax ; 89 46 ec 7125 7155 call far [bp-014h] ; ff 5e ec 7126 jmp near 04e 3eh ; e9 51 ff7156 jmp near 04e84h ; e9 51 ff 7127 7157 cmp byte [bp-008h], 000h ; 80 7e f8 00 7128 jne short 04f 1ah ; 75 277158 jne short 04f60h ; 75 27 7129 7159 cmp byte [bp-00ah], 000h ; 80 7e f6 00 7130 jne short 04f 1ah ; 75 217160 jne short 04f60h ; 75 21 7131 7161 mov si, 007c0h ; be c0 07 7132 7162 mov es, si ; 8e c6 … … 7141 7171 sbb ax, strict byte 00000h ; 83 d8 00 7142 7172 test ax, ax ; 85 c0 7143 je short 04f 1ah ; 74 037144 jmp near 04e 3eh ; e9 24 ff7173 je short 04f60h ; 74 03 7174 jmp near 04e84h ; e9 24 ff 7145 7175 cmp byte [bp-006h], 000h ; 80 7e fa 00 7146 je short 04f 24h ; 74 047176 je short 04f6ah ; 74 04 7147 7177 xor bl, bl ; 30 db 7148 jmp short 04f 26h ; eb 027178 jmp short 04f6ch ; eb 02 7149 7179 mov BL, strict byte 001h ; b3 01 7150 7180 cmp byte [bp-008h], 000h ; 80 7e f8 00 7151 je short 04f 2eh ; 74 027181 je short 04f74h ; 74 02 7152 7182 mov BL, strict byte 001h ; b3 01 7153 7183 xor dx, dx ; 31 d2 7154 7184 mov ax, si ; 89 f0 7155 call 0166eh ; e8 39 c77185 call 0166eh ; e8 f3 c6 7156 7186 mov di, ax ; 89 c7 7157 7187 mov dx, strict word 00002h ; ba 02 00 7158 7188 mov ax, si ; 89 f0 7159 call 0166eh ; e8 2f c77189 call 0166eh ; e8 e9 c6 7160 7190 cmp di, ax ; 39 c7 7161 je short 04f 54h ; 74 117191 je short 04f9ah ; 74 11 7162 7192 test bl, bl ; 84 db 7163 jne short 04f 6ch ; 75 257193 jne short 04fb2h ; 75 25 7164 7194 mov dx, 001feh ; ba fe 01 7165 7195 mov ax, si ; 89 f0 7166 call 0166eh ; e8 1f c77196 call 0166eh ; e8 d9 c6 7167 7197 cmp ax, 0aa55h ; 3d 55 aa 7168 je short 04f 6ch ; 74 187198 je short 04fb2h ; 74 18 7169 7199 mov al, byte [bp-00ch] ; 8a 46 f4 7170 7200 xor ah, ah ; 30 e4 … … 7176 7206 mov al, byte [bp-008h] ; 8a 46 f8 7177 7207 xor cx, cx ; 31 c9 7178 jmp near 04e 54h ; e9 e8 fe7208 jmp near 04e9ah ; e9 e8 fe 7179 7209 mov bl, byte [bp-006h] ; 8a 5e fa 7180 7210 xor bh, bh ; 30 ff … … 7183 7213 mov al, byte [bp-008h] ; 8a 46 f8 7184 7214 xor ah, ah ; 30 e4 7185 call 04 bedh ; e8 6f fc7215 call 04c33h ; e8 6f fc 7186 7216 mov al, byte [bp-006h] ; 8a 46 fa 7187 7217 xor ah, ah ; 30 e4 … … 7196 7226 pop bp ; 5d 7197 7227 retn ; c3 7198 keyboard_panic_: ; 0xf4f 94LB 0x167228 keyboard_panic_: ; 0xf4fda LB 0x16 7199 7229 push bp ; 55 7200 7230 mov bp, sp ; 89 e5 … … 7204 7234 mov ax, strict word 00007h ; b8 07 00 7205 7235 push ax ; 50 7206 call 01976h ; e8 d3c97236 call 01976h ; e8 8d c9 7207 7237 add sp, strict byte 00006h ; 83 c4 06 7208 7238 mov sp, bp ; 89 ec 7209 7239 pop bp ; 5d 7210 7240 retn ; c3 7211 _keyboard_init: ; 0xf4f aaLB 0x26a7241 _keyboard_init: ; 0xf4ff0 LB 0x26a 7212 7242 push bp ; 55 7213 7243 mov bp, sp ; 89 e5 … … 7221 7251 ; sub ah, ah ; 2a e4 7222 7252 test AL, strict byte 002h ; a8 02 7223 je short 0 4fcdh ; 74 0d7253 je short 05013h ; 74 0d 7224 7254 dec bx ; 4b 7225 7255 test bx, bx ; 85 db 7226 jbe short 0 4fcdh ; 76 087256 jbe short 05013h ; 76 08 7227 7257 xor al, al ; 30 c0 7228 7258 mov dx, 00080h ; ba 80 00 7229 7259 out DX, AL ; ee 7230 jmp short 04f b6h ; eb e97260 jmp short 04ffch ; eb e9 7231 7261 test bx, bx ; 85 db 7232 jne short 0 4fd6h ; 75 057262 jne short 0501ch ; 75 05 7233 7263 xor ax, ax ; 31 c0 7234 call 04f 94h ; e8 be ff7264 call 04fdah ; e8 be ff 7235 7265 mov bx, strict word 0ffffh ; bb ff ff 7236 7266 mov dx, strict word 00064h ; ba 64 00 … … 7239 7269 ; sub ah, ah ; 2a e4 7240 7270 test AL, strict byte 001h ; a8 01 7241 jne short 0 4ff0h ; 75 0d7271 jne short 05036h ; 75 0d 7242 7272 dec bx ; 4b 7243 7273 test bx, bx ; 85 db 7244 jbe short 0 4ff0h ; 76 087274 jbe short 05036h ; 76 08 7245 7275 mov AL, strict byte 001h ; b0 01 7246 7276 mov dx, 00080h ; ba 80 00 7247 7277 out DX, AL ; ee 7248 jmp short 0 4fd9h ; eb e97278 jmp short 0501fh ; eb e9 7249 7279 test bx, bx ; 85 db 7250 jne short 0 4ffah ; 75 067280 jne short 05040h ; 75 06 7251 7281 mov ax, strict word 00001h ; b8 01 00 7252 call 04f 94h ; e8 9a ff7282 call 04fdah ; e8 9a ff 7253 7283 mov dx, strict word 00060h ; ba 60 00 7254 7284 in AL, DX ; ec … … 7256 7286 ; sub ah, ah ; 2a e4 7257 7287 cmp ax, strict word 00055h ; 3d 55 00 7258 je short 050 0bh ; 74 067288 je short 05051h ; 74 06 7259 7289 mov ax, 003dfh ; b8 df 03 7260 call 04f 94h ; e8 89 ff7290 call 04fdah ; e8 89 ff 7261 7291 mov AL, strict byte 0abh ; b0 ab 7262 7292 mov dx, strict word 00064h ; ba 64 00 … … 7268 7298 ; sub ah, ah ; 2a e4 7269 7299 test AL, strict byte 002h ; a8 02 7270 je short 050 2bh ; 74 0d7300 je short 05071h ; 74 0d 7271 7301 dec bx ; 4b 7272 7302 test bx, bx ; 85 db 7273 jbe short 050 2bh ; 76 087303 jbe short 05071h ; 76 08 7274 7304 mov AL, strict byte 010h ; b0 10 7275 7305 mov dx, 00080h ; ba 80 00 7276 7306 out DX, AL ; ee 7277 jmp short 050 14h ; eb e97307 jmp short 0505ah ; eb e9 7278 7308 test bx, bx ; 85 db 7279 jne short 050 35h ; 75 067309 jne short 0507bh ; 75 06 7280 7310 mov ax, strict word 0000ah ; b8 0a 00 7281 call 04f 94h ; e8 5f ff7311 call 04fdah ; e8 5f ff 7282 7312 mov bx, strict word 0ffffh ; bb ff ff 7283 7313 mov dx, strict word 00064h ; ba 64 00 … … 7286 7316 ; sub ah, ah ; 2a e4 7287 7317 test AL, strict byte 001h ; a8 01 7288 jne short 050 4fh ; 75 0d7318 jne short 05095h ; 75 0d 7289 7319 dec bx ; 4b 7290 7320 test bx, bx ; 85 db 7291 jbe short 050 4fh ; 76 087321 jbe short 05095h ; 76 08 7292 7322 mov AL, strict byte 011h ; b0 11 7293 7323 mov dx, 00080h ; ba 80 00 7294 7324 out DX, AL ; ee 7295 jmp short 050 38h ; eb e97325 jmp short 0507eh ; eb e9 7296 7326 test bx, bx ; 85 db 7297 jne short 050 59h ; 75 067327 jne short 0509fh ; 75 06 7298 7328 mov ax, strict word 0000bh ; b8 0b 00 7299 call 04f 94h ; e8 3b ff7329 call 04fdah ; e8 3b ff 7300 7330 mov dx, strict word 00060h ; ba 60 00 7301 7331 in AL, DX ; ec … … 7303 7333 ; sub ah, ah ; 2a e4 7304 7334 test ax, ax ; 85 c0 7305 je short 050 69h ; 74 067335 je short 050afh ; 74 06 7306 7336 mov ax, 003e0h ; b8 e0 03 7307 call 04f 94h ; e8 2b ff7337 call 04fdah ; e8 2b ff 7308 7338 mov AL, strict byte 0ffh ; b0 ff 7309 7339 mov dx, strict word 00060h ; ba 60 00 … … 7315 7345 ; sub ah, ah ; 2a e4 7316 7346 test AL, strict byte 002h ; a8 02 7317 je short 050 89h ; 74 0d7347 je short 050cfh ; 74 0d 7318 7348 dec bx ; 4b 7319 7349 test bx, bx ; 85 db 7320 jbe short 050 89h ; 76 087350 jbe short 050cfh ; 76 08 7321 7351 mov AL, strict byte 020h ; b0 20 7322 7352 mov dx, 00080h ; ba 80 00 7323 7353 out DX, AL ; ee 7324 jmp short 050 72h ; eb e97354 jmp short 050b8h ; eb e9 7325 7355 test bx, bx ; 85 db 7326 jne short 050 93h ; 75 067356 jne short 050d9h ; 75 06 7327 7357 mov ax, strict word 00014h ; b8 14 00 7328 call 04f 94h ; e8 01 ff7358 call 04fdah ; e8 01 ff 7329 7359 mov bx, strict word 0ffffh ; bb ff ff 7330 7360 mov dx, strict word 00064h ; ba 64 00 … … 7333 7363 ; sub ah, ah ; 2a e4 7334 7364 test AL, strict byte 001h ; a8 01 7335 jne short 050 adh ; 75 0d7365 jne short 050f3h ; 75 0d 7336 7366 dec bx ; 4b 7337 7367 test bx, bx ; 85 db 7338 jbe short 050 adh ; 76 087368 jbe short 050f3h ; 76 08 7339 7369 mov AL, strict byte 021h ; b0 21 7340 7370 mov dx, 00080h ; ba 80 00 7341 7371 out DX, AL ; ee 7342 jmp short 050 96h ; eb e97372 jmp short 050dch ; eb e9 7343 7373 test bx, bx ; 85 db 7344 jne short 050 b7h ; 75 067374 jne short 050fdh ; 75 06 7345 7375 mov ax, strict word 00015h ; b8 15 00 7346 call 04f 94h ; e8 dd fe7376 call 04fdah ; e8 dd fe 7347 7377 mov dx, strict word 00060h ; ba 60 00 7348 7378 in AL, DX ; ec … … 7350 7380 ; sub ah, ah ; 2a e4 7351 7381 cmp ax, 000fah ; 3d fa 00 7352 je short 05 0c8h ; 74 067382 je short 0510eh ; 74 06 7353 7383 mov ax, 003e1h ; b8 e1 03 7354 call 04f 94h ; e8 cc fe7384 call 04fdah ; e8 cc fe 7355 7385 mov dx, strict word 00064h ; ba 64 00 7356 7386 in AL, DX ; ec … … 7358 7388 ; sub ah, ah ; 2a e4 7359 7389 test AL, strict byte 001h ; a8 01 7360 jne short 05 0dah ; 75 087390 jne short 05120h ; 75 08 7361 7391 mov AL, strict byte 031h ; b0 31 7362 7392 mov dx, 00080h ; ba 80 00 7363 7393 out DX, AL ; ee 7364 jmp short 05 0c8h ; eb ee7394 jmp short 0510eh ; eb ee 7365 7395 mov dx, strict word 00060h ; ba 60 00 7366 7396 in AL, DX ; ec … … 7368 7398 ; sub ah, ah ; 2a e4 7369 7399 cmp ax, 000aah ; 3d aa 00 7370 je short 05 0f3h ; 74 0e7400 je short 05139h ; 74 0e 7371 7401 in AL, DX ; ec 7372 7402 db 02ah, 0e4h 7373 7403 ; sub ah, ah ; 2a e4 7374 7404 cmp ax, 000aah ; 3d aa 00 7375 je short 05 0f3h ; 74 067405 je short 05139h ; 74 06 7376 7406 mov ax, 003e2h ; b8 e2 03 7377 call 04f 94h ; e8 a1 fe7407 call 04fdah ; e8 a1 fe 7378 7408 mov AL, strict byte 0f5h ; b0 f5 7379 7409 mov dx, strict word 00060h ; ba 60 00 … … 7385 7415 ; sub ah, ah ; 2a e4 7386 7416 test AL, strict byte 002h ; a8 02 7387 je short 051 13h ; 74 0d7417 je short 05159h ; 74 0d 7388 7418 dec bx ; 4b 7389 7419 test bx, bx ; 85 db 7390 jbe short 051 13h ; 76 087420 jbe short 05159h ; 76 08 7391 7421 mov AL, strict byte 040h ; b0 40 7392 7422 mov dx, 00080h ; ba 80 00 7393 7423 out DX, AL ; ee 7394 jmp short 05 0fch ; eb e97424 jmp short 05142h ; eb e9 7395 7425 test bx, bx ; 85 db 7396 jne short 051 1dh ; 75 067426 jne short 05163h ; 75 06 7397 7427 mov ax, strict word 00028h ; b8 28 00 7398 call 04f 94h ; e8 77 fe7428 call 04fdah ; e8 77 fe 7399 7429 mov bx, strict word 0ffffh ; bb ff ff 7400 7430 mov dx, strict word 00064h ; ba 64 00 … … 7403 7433 ; sub ah, ah ; 2a e4 7404 7434 test AL, strict byte 001h ; a8 01 7405 jne short 051 37h ; 75 0d7435 jne short 0517dh ; 75 0d 7406 7436 dec bx ; 4b 7407 7437 test bx, bx ; 85 db 7408 jbe short 051 37h ; 76 087438 jbe short 0517dh ; 76 08 7409 7439 mov AL, strict byte 041h ; b0 41 7410 7440 mov dx, 00080h ; ba 80 00 7411 7441 out DX, AL ; ee 7412 jmp short 051 20h ; eb e97442 jmp short 05166h ; eb e9 7413 7443 test bx, bx ; 85 db 7414 jne short 051 41h ; 75 067444 jne short 05187h ; 75 06 7415 7445 mov ax, strict word 00029h ; b8 29 00 7416 call 04f 94h ; e8 53 fe7446 call 04fdah ; e8 53 fe 7417 7447 mov dx, strict word 00060h ; ba 60 00 7418 7448 in AL, DX ; ec … … 7420 7450 ; sub ah, ah ; 2a e4 7421 7451 cmp ax, 000fah ; 3d fa 00 7422 je short 051 52h ; 74 067452 je short 05198h ; 74 06 7423 7453 mov ax, 003e3h ; b8 e3 03 7424 call 04f 94h ; e8 42 fe7454 call 04fdah ; e8 42 fe 7425 7455 mov AL, strict byte 060h ; b0 60 7426 7456 mov dx, strict word 00064h ; ba 64 00 … … 7432 7462 ; sub ah, ah ; 2a e4 7433 7463 test AL, strict byte 002h ; a8 02 7434 je short 051 72h ; 74 0d7464 je short 051b8h ; 74 0d 7435 7465 dec bx ; 4b 7436 7466 test bx, bx ; 85 db 7437 jbe short 051 72h ; 76 087467 jbe short 051b8h ; 76 08 7438 7468 mov AL, strict byte 050h ; b0 50 7439 7469 mov dx, 00080h ; ba 80 00 7440 7470 out DX, AL ; ee 7441 jmp short 051 5bh ; eb e97471 jmp short 051a1h ; eb e9 7442 7472 test bx, bx ; 85 db 7443 jne short 051 7ch ; 75 067473 jne short 051c2h ; 75 06 7444 7474 mov ax, strict word 00032h ; b8 32 00 7445 call 04f 94h ; e8 18 fe7475 call 04fdah ; e8 18 fe 7446 7476 mov AL, strict byte 065h ; b0 65 7447 7477 mov dx, strict word 00060h ; ba 60 00 … … 7453 7483 ; sub ah, ah ; 2a e4 7454 7484 test AL, strict byte 002h ; a8 02 7455 je short 051 9ch ; 74 0d7485 je short 051e2h ; 74 0d 7456 7486 dec bx ; 4b 7457 7487 test bx, bx ; 85 db 7458 jbe short 051 9ch ; 76 087488 jbe short 051e2h ; 76 08 7459 7489 mov AL, strict byte 060h ; b0 60 7460 7490 mov dx, 00080h ; ba 80 00 7461 7491 out DX, AL ; ee 7462 jmp short 051 85h ; eb e97492 jmp short 051cbh ; eb e9 7463 7493 test bx, bx ; 85 db 7464 jne short 051 a6h ; 75 067494 jne short 051ech ; 75 06 7465 7495 mov ax, strict word 0003ch ; b8 3c 00 7466 call 04f 94h ; e8 ee fd7496 call 04fdah ; e8 ee fd 7467 7497 mov AL, strict byte 0f4h ; b0 f4 7468 7498 mov dx, strict word 00060h ; ba 60 00 … … 7474 7504 ; sub ah, ah ; 2a e4 7475 7505 test AL, strict byte 002h ; a8 02 7476 je short 05 1c6h ; 74 0d7506 je short 0520ch ; 74 0d 7477 7507 dec bx ; 4b 7478 7508 test bx, bx ; 85 db 7479 jbe short 05 1c6h ; 76 087509 jbe short 0520ch ; 76 08 7480 7510 mov AL, strict byte 070h ; b0 70 7481 7511 mov dx, 00080h ; ba 80 00 7482 7512 out DX, AL ; ee 7483 jmp short 051 afh ; eb e97513 jmp short 051f5h ; eb e9 7484 7514 test bx, bx ; 85 db 7485 jne short 05 1d0h ; 75 067515 jne short 05216h ; 75 06 7486 7516 mov ax, strict word 00046h ; b8 46 00 7487 call 04f 94h ; e8 c4 fd7517 call 04fdah ; e8 c4 fd 7488 7518 mov bx, strict word 0ffffh ; bb ff ff 7489 7519 mov dx, strict word 00064h ; ba 64 00 … … 7492 7522 ; sub ah, ah ; 2a e4 7493 7523 test AL, strict byte 001h ; a8 01 7494 jne short 05 1eah ; 75 0d7524 jne short 05230h ; 75 0d 7495 7525 dec bx ; 4b 7496 7526 test bx, bx ; 85 db 7497 jbe short 05 1eah ; 76 087527 jbe short 05230h ; 76 08 7498 7528 mov AL, strict byte 071h ; b0 71 7499 7529 mov dx, 00080h ; ba 80 00 7500 7530 out DX, AL ; ee 7501 jmp short 05 1d3h ; eb e97531 jmp short 05219h ; eb e9 7502 7532 test bx, bx ; 85 db 7503 jne short 05 1f4h ; 75 067533 jne short 0523ah ; 75 06 7504 7534 mov ax, strict word 00046h ; b8 46 00 7505 call 04f 94h ; e8 a0 fd7535 call 04fdah ; e8 a0 fd 7506 7536 mov dx, strict word 00060h ; ba 60 00 7507 7537 in AL, DX ; ec … … 7509 7539 ; sub ah, ah ; 2a e4 7510 7540 cmp ax, 000fah ; 3d fa 00 7511 je short 052 05h ; 74 067541 je short 0524bh ; 74 06 7512 7542 mov ax, 003e4h ; b8 e4 03 7513 call 04f 94h ; e8 8f fd7543 call 04fdah ; e8 8f fd 7514 7544 mov AL, strict byte 0a8h ; b0 a8 7515 7545 mov dx, strict word 00064h ; ba 64 00 7516 7546 out DX, AL ; ee 7517 7547 xor ax, ax ; 31 c0 7518 call 067 04h ; e8 f4 147548 call 0674ah ; e8 f4 14 7519 7549 mov sp, bp ; 89 ec 7520 7550 pop bp ; 5d 7521 7551 retn ; c3 7522 enqueue_key_: ; 0xf52 14LB 0x9e7552 enqueue_key_: ; 0xf525a LB 0x9e 7523 7553 push bp ; 55 7524 7554 mov bp, sp ; 89 e5 … … 7532 7562 mov dx, strict word 0001ah ; ba 1a 00 7533 7563 mov ax, strict word 00040h ; b8 40 00 7534 call 0166eh ; e8 44 c47564 call 0166eh ; e8 fe c3 7535 7565 mov di, ax ; 89 c7 7536 7566 mov dx, strict word 0001ch ; ba 1c 00 7537 7567 mov ax, strict word 00040h ; b8 40 00 7538 call 0166eh ; e8 39 c47568 call 0166eh ; e8 f3 c3 7539 7569 mov si, ax ; 89 c6 7540 7570 lea cx, [si+002h] ; 8d 4c 02 7541 7571 cmp cx, strict byte 0003eh ; 83 f9 3e 7542 jc short 052 42h ; 72 037572 jc short 05288h ; 72 03 7543 7573 mov cx, strict word 0001eh ; b9 1e 00 7544 7574 cmp cx, di ; 39 f9 7545 jne short 052 4ah ; 75 047575 jne short 05290h ; 75 04 7546 7576 xor ax, ax ; 31 c0 7547 jmp short 052 74h ; eb 2a7577 jmp short 052bah ; eb 2a 7548 7578 mov al, bl ; 88 d8 7549 7579 xor ah, ah ; 30 e4 … … 7551 7581 mov dx, si ; 89 f2 7552 7582 mov ax, strict word 00040h ; b8 40 00 7553 call 01660h ; e8 08 c47583 call 01660h ; e8 c2 c3 7554 7584 mov bl, byte [bp-00ah] ; 8a 5e f6 7555 7585 xor bh, bh ; 30 ff 7556 7586 lea dx, [si+001h] ; 8d 54 01 7557 7587 mov ax, strict word 00040h ; b8 40 00 7558 call 01660h ; e8 fac37588 call 01660h ; e8 b4 c3 7559 7589 mov bx, cx ; 89 cb 7560 7590 mov dx, strict word 0001ch ; ba 1c 00 7561 7591 mov ax, strict word 00040h ; b8 40 00 7562 call 0167ch ; e8 0b c47592 call 0167ch ; e8 c5 c3 7563 7593 mov ax, strict word 00001h ; b8 01 00 7564 7594 lea sp, [bp-008h] ; 8d 66 f8 … … 7569 7599 pop bp ; 5d 7570 7600 retn ; c3 7571 aam 0c6h ; d4 c6 7572 lds di, [bp+si-04948h] ; c5 ba b8 b6 7573 stosb ; aa 7574 popfw ; 9d 7575 push sp ; 54 7576 push bx ; 53 7577 inc si ; 46 7578 inc bp ; 45 7579 cmp bh, byte [bx+si] ; 3a 38 7580 sub bl, byte [ss:di] ; 36 2a 1d 7581 clc ; f8 7582 push bp ; 55 7583 mov BL, strict byte 053h ; b3 53 7584 push bx ; 53 7585 push bx ; 53 7586 push bx ; 53 7587 push bx ; 53 7588 inc dx ; 42 7589 push sp ; 54 7590 and AL, strict byte 053h ; 24 53 7591 db 0c6h, 054h, 037h, 055h 7592 ; mov byte [si+037h], 055h ; c6 54 37 55 7593 ficom word [di-044h] ; de 55 bc 7594 push bp ; 55 7595 cli ; fa 7596 push bx ; 53 7597 push bx ; 53 7598 push bx ; 53 7599 push bx ; 53 7600 push bx ; 53 7601 test byte [si+044h], dl ; 84 54 44 7602 push bx ; 53 7603 pop SS ; 17 7604 push bp ; 55 7605 pushfw ; 9c 7606 push bp ; 55 7607 xlatb ; d7 7608 push bp ; 55 7609 _int09_function: ; 0xf52b2 LB 0x4cd 7601 db 0d4h, 0c6h, 0c5h, 0bah, 0b8h, 0b6h, 0aah, 09dh, 054h, 053h, 046h, 045h, 03ah, 038h, 036h, 02ah 7602 db 01dh, 03eh, 056h, 0f9h, 053h, 099h, 053h, 099h, 053h, 088h, 054h, 06ah, 053h, 00ch, 055h, 07dh 7603 db 055h, 024h, 056h, 002h, 056h, 040h, 054h, 099h, 053h, 099h, 053h, 0cah, 054h, 08ah, 053h, 05dh 7604 db 055h, 0e2h, 055h, 01dh, 056h 7605 _int09_function: ; 0xf52f8 LB 0x4cd 7610 7606 push bp ; 55 7611 7607 mov bp, sp ; 89 e5 … … 7615 7611 mov byte [bp-004h], al ; 88 46 fc 7616 7612 test al, al ; 84 c0 7617 jne short 05 2dfh ; 75 1c7613 jne short 05325h ; 75 1c 7618 7614 mov bx, 00da0h ; bb a0 0d 7619 7615 mov cx, ds ; 8c d9 7620 7616 mov ax, strict word 00004h ; b8 04 00 7621 call 01933h ; e8 65c67617 call 01933h ; e8 1f c6 7622 7618 mov ax, 00587h ; b8 87 05 7623 7619 push ax ; 50 7624 7620 mov ax, strict word 00004h ; b8 04 00 7625 7621 push ax ; 50 7626 call 01976h ; e8 9dc67622 call 01976h ; e8 57 c6 7627 7623 add sp, strict byte 00004h ; 83 c4 04 7628 jmp near 053 adh ; e9 ce 007624 jmp near 053f3h ; e9 ce 00 7629 7625 mov dx, strict word 00018h ; ba 18 00 7630 7626 mov ax, strict word 00040h ; b8 40 00 7631 call 01652h ; e8 6ac37627 call 01652h ; e8 24 c3 7632 7628 mov byte [bp-006h], al ; 88 46 fa 7633 7629 mov byte [bp-008h], al ; 88 46 f8 7634 7630 mov dx, 00096h ; ba 96 00 7635 7631 mov ax, strict word 00040h ; b8 40 00 7636 call 01652h ; e8 5bc37632 call 01652h ; e8 15 c3 7637 7633 mov byte [bp-00ah], al ; 88 46 f6 7638 7634 mov byte [bp-010h], al ; 88 46 f0 7639 7635 mov dx, strict word 00017h ; ba 17 00 7640 7636 mov ax, strict word 00040h ; b8 40 00 7641 call 01652h ; e8 4cc37637 call 01652h ; e8 06 c3 7642 7638 mov byte [bp-00ch], al ; 88 46 f4 7643 7639 mov byte [bp-00eh], al ; 88 46 f2 … … 7646 7642 pop ES ; 07 7647 7643 mov cx, strict word 00012h ; b9 12 00 7648 mov di, 052 7dh ; bf 7d527644 mov di, 052c3h ; bf c3 52 7649 7645 repne scasb ; f2 ae 7650 7646 sal cx, 1 ; d1 e1 7651 7647 mov di, cx ; 89 cf 7652 mov ax, word [cs:di+052 8eh] ; 2e 8b 85 8e527648 mov ax, word [cs:di+052d4h] ; 2e 8b 85 d4 52 7653 7649 jmp ax ; ff e0 7654 7650 xor byte [bp-00eh], 040h ; 80 76 f2 40 … … 7657 7653 mov dx, strict word 00017h ; ba 17 00 7658 7654 mov ax, strict word 00040h ; b8 40 00 7659 call 01660h ; e8 2a c37655 call 01660h ; e8 e4 c2 7660 7656 or byte [bp-008h], 040h ; 80 4e f8 40 7661 7657 mov al, byte [bp-008h] ; 8a 46 f8 7662 7658 xor ah, ah ; 30 e4 7663 7659 mov bx, ax ; 89 c3 7664 jmp near 05 5cch ; e9 88 027660 jmp near 05612h ; e9 88 02 7665 7661 mov al, byte [bp-006h] ; 8a 46 fa 7666 7662 and AL, strict byte 0bfh ; 24 bf … … 7668 7664 mov bl, al ; 88 c3 7669 7665 xor bh, bh ; 30 ff 7670 jmp near 05 5cch ; e9 79 027666 jmp near 05612h ; e9 79 02 7671 7667 test byte [bp-010h], 002h ; f6 46 f0 02 7672 jne short 053 8ch ; 75 337668 jne short 053d2h ; 75 33 7673 7669 mov al, byte [bp-004h] ; 8a 46 fc 7674 7670 and AL, strict byte 07fh ; 24 7f 7675 7671 cmp AL, strict byte 02ah ; 3c 2a 7676 jne short 053 67h ; 75 057672 jne short 053adh ; 75 05 7677 7673 mov bx, strict word 00002h ; bb 02 00 7678 jmp short 053 6ah ; eb 037674 jmp short 053b0h ; eb 03 7679 7675 mov bx, strict word 00001h ; bb 01 00 7680 7676 test byte [bp-004h], 080h ; f6 46 fc 80 7681 je short 053 79h ; 74 097677 je short 053bfh ; 74 09 7682 7678 mov al, bl ; 88 d8 7683 7679 not al ; f6 d0 7684 7680 and byte [bp-00eh], al ; 20 46 f2 7685 jmp short 053 7ch ; eb 037681 jmp short 053c2h ; eb 03 7686 7682 or byte [bp-00eh], bl ; 08 5e f2 7687 7683 mov al, byte [bp-00eh] ; 8a 46 f2 … … 7690 7686 mov dx, strict word 00017h ; ba 17 00 7691 7687 mov ax, strict word 00040h ; b8 40 00 7692 call 01660h ; e8 d4c27688 call 01660h ; e8 8e c2 7693 7689 mov al, byte [bp-004h] ; 8a 46 fc 7694 7690 and AL, strict byte 07fh ; 24 7f 7695 7691 cmp AL, strict byte 01dh ; 3c 1d 7696 je short 053 99h ; 74 047692 je short 053dfh ; 74 04 7697 7693 and byte [bp-010h], 0feh ; 80 66 f0 fe 7698 7694 and byte [bp-010h], 0fdh ; 80 66 f0 fd … … 7702 7698 mov dx, 00096h ; ba 96 00 7703 7699 mov ax, strict word 00040h ; b8 40 00 7704 call 01660h ; e8 b3c27700 call 01660h ; e8 6d c2 7705 7701 lea sp, [bp-002h] ; 8d 66 fe 7706 7702 pop di ; 5f … … 7708 7704 retn ; c3 7709 7705 test byte [bp-00ah], 001h ; f6 46 f6 01 7710 jne short 053 8ch ; 75 d37706 jne short 053d2h ; 75 d3 7711 7707 mov al, byte [bp-00ch] ; 8a 46 f4 7712 7708 or AL, strict byte 004h ; 0c 04 … … 7716 7712 mov dx, strict word 00017h ; ba 17 00 7717 7713 mov ax, strict word 00040h ; b8 40 00 7718 call 01660h ; e8 92c27714 call 01660h ; e8 4c c2 7719 7715 mov al, byte [bp-00ah] ; 8a 46 f6 7720 7716 test AL, strict byte 002h ; a8 02 7721 je short 05 3e3h ; 74 0e7717 je short 05429h ; 74 0e 7722 7718 or AL, strict byte 004h ; 0c 04 7723 7719 mov byte [bp-010h], al ; 88 46 f0 … … 7725 7721 mov bx, ax ; 89 c3 7726 7722 mov dx, 00096h ; ba 96 00 7727 jmp short 05 3f2h ; eb 0f7723 jmp short 05438h ; eb 0f 7728 7724 mov al, byte [bp-006h] ; 8a 46 fa 7729 7725 or AL, strict byte 001h ; 0c 01 … … 7733 7729 mov dx, strict word 00018h ; ba 18 00 7734 7730 mov ax, strict word 00040h ; b8 40 00 7735 call 01660h ; e8 68c27736 jmp short 053 8ch ; eb 927731 call 01660h ; e8 22 c2 7732 jmp short 053d2h ; eb 92 7737 7733 test byte [bp-00ah], 001h ; f6 46 f6 01 7738 jne short 053 8ch ; 75 8c7734 jne short 053d2h ; 75 8c 7739 7735 mov al, byte [bp-00ch] ; 8a 46 f4 7740 7736 and AL, strict byte 0fbh ; 24 fb … … 7744 7740 mov dx, strict word 00017h ; ba 17 00 7745 7741 mov ax, strict word 00040h ; b8 40 00 7746 call 01660h ; e8 4bc27742 call 01660h ; e8 05 c2 7747 7743 mov al, byte [bp-00ah] ; 8a 46 f6 7748 7744 test AL, strict byte 002h ; a8 02 7749 je short 054 2ah ; 74 0e7745 je short 05470h ; 74 0e 7750 7746 and AL, strict byte 0fbh ; 24 fb 7751 7747 mov byte [bp-010h], al ; 88 46 f0 … … 7753 7749 mov bx, ax ; 89 c3 7754 7750 mov dx, 00096h ; ba 96 00 7755 jmp short 054 39h ; eb 0f7751 jmp short 0547fh ; eb 0f 7756 7752 mov al, byte [bp-006h] ; 8a 46 fa 7757 7753 and AL, strict byte 0feh ; 24 fe … … 7761 7757 mov dx, strict word 00018h ; ba 18 00 7762 7758 mov ax, strict word 00040h ; b8 40 00 7763 call 01660h ; e8 21 c27764 jmp near 053 8ch ; e9 4a ff7759 call 01660h ; e8 db c1 7760 jmp near 053d2h ; e9 4a ff 7765 7761 mov al, byte [bp-00ch] ; 8a 46 f4 7766 7762 or AL, strict byte 008h ; 0c 08 … … 7770 7766 mov dx, strict word 00017h ; ba 17 00 7771 7767 mov ax, strict word 00040h ; b8 40 00 7772 call 01660h ; e8 09 c27768 call 01660h ; e8 c3 c1 7773 7769 mov al, byte [bp-00ah] ; 8a 46 f6 7774 7770 test AL, strict byte 002h ; a8 02 7775 je short 054 6ch ; 74 0e7771 je short 054b2h ; 74 0e 7776 7772 or AL, strict byte 008h ; 0c 08 7777 7773 mov byte [bp-010h], al ; 88 46 f0 … … 7779 7775 mov bx, ax ; 89 c3 7780 7776 mov dx, 00096h ; ba 96 00 7781 jmp short 054 7bh ; eb 0f7777 jmp short 054c1h ; eb 0f 7782 7778 mov al, byte [bp-006h] ; 8a 46 fa 7783 7779 or AL, strict byte 002h ; 0c 02 … … 7787 7783 mov dx, strict word 00018h ; ba 18 00 7788 7784 mov ax, strict word 00040h ; b8 40 00 7789 call 01660h ; e8 dfc17790 jmp near 053 8ch ; e9 08 ff7785 call 01660h ; e8 99 c1 7786 jmp near 053d2h ; e9 08 ff 7791 7787 mov al, byte [bp-00ch] ; 8a 46 f4 7792 7788 and AL, strict byte 0f7h ; 24 f7 … … 7796 7792 mov dx, strict word 00017h ; ba 17 00 7797 7793 mov ax, strict word 00040h ; b8 40 00 7798 call 01660h ; e8 c7c17794 call 01660h ; e8 81 c1 7799 7795 mov al, byte [bp-00ah] ; 8a 46 f6 7800 7796 test AL, strict byte 002h ; a8 02 7801 je short 054 aeh ; 74 0e7797 je short 054f4h ; 74 0e 7802 7798 and AL, strict byte 0f7h ; 24 f7 7803 7799 mov byte [bp-010h], al ; 88 46 f0 … … 7805 7801 mov bx, ax ; 89 c3 7806 7802 mov dx, 00096h ; ba 96 00 7807 jmp short 05 4bdh ; eb 0f7803 jmp short 05503h ; eb 0f 7808 7804 mov al, byte [bp-006h] ; 8a 46 fa 7809 7805 and AL, strict byte 0fdh ; 24 fd … … 7813 7809 mov dx, strict word 00018h ; ba 18 00 7814 7810 mov ax, strict word 00040h ; b8 40 00 7815 call 01660h ; e8 9dc17816 jmp near 053 8ch ; e9 c6 fe7811 call 01660h ; e8 57 c1 7812 jmp near 053d2h ; e9 c6 fe 7817 7813 test byte [bp-00ah], 003h ; f6 46 f6 03 7818 jne short 05 4e9h ; 75 1d7814 jne short 0552fh ; 75 1d 7819 7815 mov al, byte [bp-006h] ; 8a 46 fa 7820 7816 or AL, strict byte 020h ; 0c 20 … … 7824 7820 mov dx, strict word 00018h ; ba 18 00 7825 7821 mov ax, strict word 00040h ; b8 40 00 7826 call 01660h ; e8 7fc17822 call 01660h ; e8 39 c1 7827 7823 mov al, byte [bp-00ch] ; 8a 46 f4 7828 7824 xor AL, strict byte 020h ; 34 20 7829 jmp near 055 8ah ; e9 a1 007825 jmp near 055d0h ; e9 a1 00 7830 7826 mov al, byte [bp-006h] ; 8a 46 fa 7831 7827 or AL, strict byte 008h ; 0c 08 … … 7835 7831 mov dx, strict word 00018h ; ba 18 00 7836 7832 mov ax, strict word 00040h ; b8 40 00 7837 call 01660h ; e8 62c17833 call 01660h ; e8 1c c1 7838 7834 mov AL, strict byte 0aeh ; b0 ae 7839 7835 mov dx, strict word 00064h ; ba 64 00 7840 7836 out DX, AL ; ee 7841 call 0e034h ; e8 2d 8b7837 call 0e034h ; e8 e7 8a 7842 7838 mov dx, strict word 00018h ; ba 18 00 7843 7839 mov ax, strict word 00040h ; b8 40 00 7844 call 01652h ; e8 42 c17840 call 01652h ; e8 fc c0 7845 7841 test AL, strict byte 008h ; a8 08 7846 jne short 055 07h ; 75 f37847 jmp near 053 8ch ; e9 75 fe7842 jne short 0554dh ; 75 f3 7843 jmp near 053d2h ; e9 75 fe 7848 7844 test byte [bp-00ah], 003h ; f6 46 f6 03 7849 je short 055 20h ; 74 037850 jmp near 053 8ch ; e9 6c fe7845 je short 05566h ; 74 03 7846 jmp near 053d2h ; e9 6c fe 7851 7847 mov al, byte [bp-006h] ; 8a 46 fa 7852 7848 and AL, strict byte 0dfh ; 24 df … … 7856 7852 mov dx, strict word 00018h ; ba 18 00 7857 7853 mov ax, strict word 00040h ; b8 40 00 7858 call 01660h ; e8 2b c17859 jmp short 055 1dh ; eb e67854 call 01660h ; e8 e5 c0 7855 jmp short 05563h ; eb e6 7860 7856 test byte [bp-00ah], 002h ; f6 46 f6 02 7861 je short 055 70h ; 74 337857 je short 055b6h ; 74 33 7862 7858 mov dx, strict word 0001ah ; ba 1a 00 7863 7859 mov ax, strict word 00040h ; b8 40 00 7864 call 0166eh ; e8 28 c17860 call 0166eh ; e8 e2 c0 7865 7861 mov bx, ax ; 89 c3 7866 7862 mov dx, strict word 0001ch ; ba 1c 00 7867 7863 mov ax, strict word 00040h ; b8 40 00 7868 call 0167ch ; e8 2b c17864 call 0167ch ; e8 e5 c0 7869 7865 mov bx, 00080h ; bb 80 00 7870 7866 mov dx, strict word 00071h ; ba 71 00 7871 7867 mov ax, strict word 00040h ; b8 40 00 7872 call 01660h ; e8 03 c17868 call 01660h ; e8 bd c0 7873 7869 mov AL, strict byte 0aeh ; b0 ae 7874 7870 mov dx, strict word 00064h ; ba 64 00 … … 7879 7875 xor dx, dx ; 31 d2 7880 7876 xor ax, ax ; 31 c0 7881 call 052 14h ; e8 a6 fc7882 jmp short 055 1dh ; eb ad7877 call 0525ah ; e8 a6 fc 7878 jmp short 05563h ; eb ad 7883 7879 mov al, byte [bp-006h] ; 8a 46 fa 7884 7880 or AL, strict byte 010h ; 0c 10 … … 7888 7884 mov dx, strict word 00018h ; ba 18 00 7889 7885 mov ax, strict word 00040h ; b8 40 00 7890 call 01660h ; e8 dbc07886 call 01660h ; e8 95 c0 7891 7887 mov al, byte [bp-00ch] ; 8a 46 f4 7892 7888 xor AL, strict byte 010h ; 34 10 … … 7896 7892 mov dx, strict word 00017h ; ba 17 00 7897 7893 mov ax, strict word 00040h ; b8 40 00 7898 call 01660h ; e8 c6c07899 jmp short 055 1dh ; eb 817894 call 01660h ; e8 80 c0 7895 jmp short 05563h ; eb 81 7900 7896 test byte [bp-00ah], 002h ; f6 46 f6 02 7901 je short 055 a5h ; 74 037902 jmp near 053 8ch ; e9 e7 fd7897 je short 055ebh ; 74 03 7898 jmp near 053d2h ; e9 e7 fd 7903 7899 mov al, byte [bp-006h] ; 8a 46 fa 7904 7900 and AL, strict byte 0efh ; 24 ef … … 7908 7904 mov dx, strict word 00018h ; ba 18 00 7909 7905 mov ax, strict word 00040h ; b8 40 00 7910 call 01660h ; e8 a6c07911 jmp short 055 a2h ; eb e67906 call 01660h ; e8 60 c0 7907 jmp short 055e8h ; eb e6 7912 7908 mov al, byte [bp-006h] ; 8a 46 fa 7913 7909 test AL, strict byte 004h ; a8 04 7914 jne short 055 a2h ; 75 df7910 jne short 055e8h ; 75 df 7915 7911 or AL, strict byte 004h ; 0c 04 7916 7912 mov byte [bp-008h], al ; 88 46 f8 … … 7919 7915 mov dx, strict word 00018h ; ba 18 00 7920 7916 mov ax, strict word 00040h ; b8 40 00 7921 call 01660h ; e8 8bc07922 jmp short 055 a2h ; eb cb7917 call 01660h ; e8 45 c0 7918 jmp short 055e8h ; eb cb 7923 7919 mov al, byte [bp-006h] ; 8a 46 fa 7924 7920 and AL, strict byte 0fbh ; 24 fb 7925 jmp short 05 5c5h ; eb e77921 jmp short 0560bh ; eb e7 7926 7922 mov al, byte [bp-00ch] ; 8a 46 f4 7927 7923 and AL, strict byte 00ch ; 24 0c 7928 7924 cmp AL, strict byte 00ch ; 3c 0c 7929 jne short 05 5f8h ; 75 117925 jne short 0563eh ; 75 11 7930 7926 mov bx, 01234h ; bb 34 12 7931 7927 mov dx, strict word 00072h ; ba 72 00 7932 7928 mov ax, strict word 00040h ; b8 40 00 7933 call 0167ch ; e8 89c07929 call 0167ch ; e8 43 c0 7934 7930 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 7935 7931 test byte [bp-008h], 008h ; f6 46 f8 08 7936 je short 056 0fh ; 74 117932 je short 05655h ; 74 11 7937 7933 and byte [bp-008h], 0f7h ; 80 66 f8 f7 7938 7934 mov al, byte [bp-008h] ; 8a 46 f8 … … 7940 7936 mov bx, ax ; 89 c3 7941 7937 mov dx, strict word 00018h ; ba 18 00 7942 jmp near 053 a7h ; e9 98 fd7938 jmp near 053edh ; e9 98 fd 7943 7939 mov al, byte [bp-004h] ; 8a 46 fc 7944 7940 test AL, strict byte 080h ; a8 80 7945 je short 056 4dh ; 74 377941 je short 05693h ; 74 37 7946 7942 cmp AL, strict byte 0fah ; 3c fa 7947 jne short 056 2ch ; 75 127943 jne short 05672h ; 75 12 7948 7944 mov dx, 00097h ; ba 97 00 7949 7945 mov ax, strict word 00040h ; b8 40 00 7950 call 01652h ; e8 2f c07946 call 01652h ; e8 e9 bf 7951 7947 mov bl, al ; 88 c3 7952 7948 or bl, 010h ; 80 cb 10 7953 7949 xor bh, bh ; 30 ff 7954 jmp short 056 42h ; eb 167950 jmp short 05688h ; eb 16 7955 7951 cmp AL, strict byte 0feh ; 3c fe 7956 je short 056 33h ; 74 037957 jmp near 053 8ch ; e9 59 fd7952 je short 05679h ; 74 03 7953 jmp near 053d2h ; e9 59 fd 7958 7954 mov dx, 00097h ; ba 97 00 7959 7955 mov ax, strict word 00040h ; b8 40 00 7960 call 01652h ; e8 16 c07956 call 01652h ; e8 d0 bf 7961 7957 or AL, strict byte 020h ; 0c 20 7962 7958 xor ah, ah ; 30 e4 … … 7964 7960 mov dx, 00097h ; ba 97 00 7965 7961 mov ax, strict word 00040h ; b8 40 00 7966 call 01660h ; e8 15 c07967 jmp short 056 30h ; eb e37962 call 01660h ; e8 cf bf 7963 jmp short 05676h ; eb e3 7968 7964 cmp byte [bp-004h], 058h ; 80 7e fc 58 7969 jbe short 056 75h ; 76 227965 jbe short 056bbh ; 76 22 7970 7966 mov bx, 00da0h ; bb a0 0d 7971 7967 mov cx, ds ; 8c d9 7972 7968 mov ax, strict word 00004h ; b8 04 00 7973 call 01933h ; e8 d5c27969 call 01933h ; e8 8f c2 7974 7970 mov al, byte [bp-004h] ; 8a 46 fc 7975 7971 xor ah, ah ; 30 e4 … … 7979 7975 mov ax, strict word 00004h ; b8 04 00 7980 7976 push ax ; 50 7981 call 01976h ; e8 07 c37977 call 01976h ; e8 c1 c2 7982 7978 add sp, strict byte 00006h ; 83 c4 06 7983 jmp near 053 adh ; e9 38 fd7979 jmp near 053f3h ; e9 38 fd 7984 7980 mov al, byte [bp-00eh] ; 8a 46 f2 7985 7981 test AL, strict byte 008h ; a8 08 7986 je short 056 96h ; 74 1a7982 je short 056dch ; 74 1a 7987 7983 mov al, byte [bp-004h] ; 8a 46 fc 7988 7984 xor ah, ah ; 30 e4 … … 7993 7989 mov byte [bp-012h], al ; 88 46 ee 7994 7990 mov al, byte [bx+00df5h] ; 8a 87 f5 0d 7995 jmp near 057 48h ; e9 b2 007991 jmp near 0578eh ; e9 b2 00 7996 7992 test AL, strict byte 004h ; a8 04 7997 je short 056 b4h ; 74 1a7993 je short 056fah ; 74 1a 7998 7994 mov al, byte [bp-004h] ; 8a 46 fc 7999 7995 xor ah, ah ; 30 e4 … … 8004 8000 mov byte [bp-012h], al ; 88 46 ee 8005 8001 mov al, byte [bx+00df3h] ; 8a 87 f3 0d 8006 jmp near 057 48h ; e9 94 008002 jmp near 0578eh ; e9 94 00 8007 8003 mov al, byte [bp-010h] ; 8a 46 f0 8008 8004 and AL, strict byte 002h ; 24 02 8009 8005 test al, al ; 84 c0 8010 jbe short 05 6d7h ; 76 1a8006 jbe short 0571dh ; 76 1a 8011 8007 mov al, byte [bp-004h] ; 8a 46 fc 8012 8008 cmp AL, strict byte 047h ; 3c 47 8013 jc short 05 6d7h ; 72 138009 jc short 0571dh ; 72 13 8014 8010 cmp AL, strict byte 053h ; 3c 53 8015 jnbe short 05 6d7h ; 77 0f8011 jnbe short 0571dh ; 77 0f 8016 8012 mov byte [bp-012h], 0e0h ; c6 46 ee e0 8017 8013 xor ah, ah ; 30 e4 … … 8019 8015 imul dx ; f7 ea 8020 8016 mov bx, ax ; 89 c3 8021 jmp short 057 44h ; eb 6d8017 jmp short 0578ah ; eb 6d 8022 8018 test byte [bp-00eh], 003h ; f6 46 f2 03 8023 je short 057 15h ; 74 388019 je short 0575bh ; 74 38 8024 8020 mov al, byte [bp-004h] ; 8a 46 fc 8025 8021 xor ah, ah ; 30 e4 … … 8032 8028 mov al, byte [bp-00eh] ; 8a 46 f2 8033 8029 test ax, dx ; 85 d0 8034 je short 057 05h ; 74 0d8030 je short 0574bh ; 74 0d 8035 8031 mov al, byte [bx+00deeh] ; 8a 87 ee 0d 8036 8032 mov byte [bp-012h], al ; 88 46 ee 8037 8033 mov al, byte [bx+00defh] ; 8a 87 ef 0d 8038 jmp short 057 10h ; eb 0b8034 jmp short 05756h ; eb 0b 8039 8035 mov al, byte [bx+00df0h] ; 8a 87 f0 0d 8040 8036 mov byte [bp-012h], al ; 88 46 ee 8041 8037 mov al, byte [bx+00df1h] ; 8a 87 f1 0d 8042 8038 mov byte [bp-004h], al ; 88 46 fc 8043 jmp short 057 4bh ; eb 368039 jmp short 05791h ; eb 36 8044 8040 mov al, byte [bp-004h] ; 8a 46 fc 8045 8041 xor ah, ah ; 30 e4 … … 8052 8048 mov al, byte [bp-00eh] ; 8a 46 f2 8053 8049 test ax, dx ; 85 d0 8054 je short 057 3dh ; 74 0d8050 je short 05783h ; 74 0d 8055 8051 mov al, byte [bx+00df0h] ; 8a 87 f0 0d 8056 8052 mov byte [bp-012h], al ; 88 46 ee 8057 8053 mov al, byte [bx+00df1h] ; 8a 87 f1 0d 8058 jmp short 057 48h ; eb 0b8054 jmp short 0578eh ; eb 0b 8059 8055 mov al, byte [bx+00deeh] ; 8a 87 ee 0d 8060 8056 mov byte [bp-012h], al ; 88 46 ee … … 8062 8058 mov byte [bp-004h], al ; 88 46 fc 8063 8059 cmp byte [bp-004h], 000h ; 80 7e fc 00 8064 jne short 057 70h ; 75 1f8060 jne short 057b6h ; 75 1f 8065 8061 cmp byte [bp-012h], 000h ; 80 7e ee 00 8066 jne short 057 70h ; 75 198062 jne short 057b6h ; 75 19 8067 8063 mov bx, 00da0h ; bb a0 0d 8068 8064 mov cx, ds ; 8c d9 8069 8065 mov ax, strict word 00004h ; b8 04 00 8070 call 01933h ; e8 d1c18066 call 01933h ; e8 8b c1 8071 8067 mov ax, 005d8h ; b8 d8 05 8072 8068 push ax ; 50 8073 8069 mov ax, strict word 00004h ; b8 04 00 8074 8070 push ax ; 50 8075 call 01976h ; e8 09 c28071 call 01976h ; e8 c3 c1 8076 8072 add sp, strict byte 00004h ; 83 c4 04 8077 8073 mov bl, byte [bp-012h] ; 8a 5e ee … … 8080 8076 xor ah, ah ; 30 e4 8081 8077 mov dx, bx ; 89 da 8082 jmp near 055 6bh ; e9 ec fd8083 dequeue_key_: ; 0xf57 7fLB 0x948078 jmp near 055b1h ; e9 ec fd 8079 dequeue_key_: ; 0xf57c5 LB 0x94 8084 8080 push bp ; 55 8085 8081 mov bp, sp ; 89 e5 … … 8094 8090 mov dx, strict word 0001ah ; ba 1a 00 8095 8091 mov ax, strict word 00040h ; b8 40 00 8096 call 0166eh ; e8 d5be8092 call 0166eh ; e8 8f be 8097 8093 mov bx, ax ; 89 c3 8098 8094 mov dx, strict word 0001ch ; ba 1c 00 8099 8095 mov ax, strict word 00040h ; b8 40 00 8100 call 0166eh ; e8 cabe8096 call 0166eh ; e8 84 be 8101 8097 cmp bx, ax ; 39 c3 8102 je short 05 7e5h ; 74 3d8098 je short 0582bh ; 74 3d 8103 8099 mov dx, bx ; 89 da 8104 8100 mov ax, strict word 00040h ; b8 40 00 8105 call 01652h ; e8 a2be8101 call 01652h ; e8 5c be 8106 8102 mov cl, al ; 88 c1 8107 8103 lea dx, [bx+001h] ; 8d 57 01 8108 8104 mov ax, strict word 00040h ; b8 40 00 8109 call 01652h ; e8 97be8105 call 01652h ; e8 51 be 8110 8106 mov es, [bp-008h] ; 8e 46 f8 8111 8107 mov byte [es:si], cl ; 26 88 0c … … 8113 8109 mov byte [es:di], al ; 26 88 05 8114 8110 cmp word [bp+004h], strict byte 00000h ; 83 7e 04 00 8115 je short 05 7e0h ; 74 138111 je short 05826h ; 74 13 8116 8112 inc bx ; 43 8117 8113 inc bx ; 43 8118 8114 cmp bx, strict byte 0003eh ; 83 fb 3e 8119 jc short 05 7d7h ; 72 038115 jc short 0581dh ; 72 03 8120 8116 mov bx, strict word 0001eh ; bb 1e 00 8121 8117 mov dx, strict word 0001ah ; ba 1a 00 8122 8118 mov ax, strict word 00040h ; b8 40 00 8123 call 0167ch ; e8 9cbe8119 call 0167ch ; e8 56 be 8124 8120 mov ax, strict word 00001h ; b8 01 00 8125 jmp short 05 7e7h ; eb 028121 jmp short 0582dh ; eb 02 8126 8122 xor ax, ax ; 31 c0 8127 8123 lea sp, [bp-004h] ; 8d 66 fc … … 8134 8130 or cl, byte [bx+di] ; 0a 09 8135 8131 add ax, 00102h ; 05 02 01 8136 add byte [bx+di], bl ; 00 19 8132 add byte [bx+059h], bl ; 00 5f 59 8133 sbb bl, byte [bx+di-051h] ; 1a 59 af 8137 8134 pop cx ; 59 8138 aam 058h ; d4 58 8139 imul bx, word [bx+di-053h], 0c059h ; 69 59 ad 59 c0 8135 db 0f3h, 059h 8136 ; rep pop cx ; f3 59 8137 push ES ; 06 8138 pop dx ; 5a 8139 sub ax, 0375ah ; 2d 5a 37 8140 pop dx ; 5a 8141 cmpsb ; a6 8142 pop dx ; 5a 8143 fstp qword [bp+si+00dh] ; dd 5a 0d 8144 pop bx ; 5b 8145 inc sp ; 44 8146 pop bx ; 5b 8147 db 0a9h 8140 8148 pop cx ; 59 8141 out 059h, ax ; e7 59 8142 db 0f1h 8143 pop cx ; 59 8144 pushaw ; 60 8145 pop dx ; 5a 8146 xchg di, ax ; 97 8147 pop dx ; 5a 8148 db 0c7h, 05ah, 0feh, 05ah, 063h 8149 ; mov word [bp+si-002h], 0635ah ; c7 5a fe 5a 63 8150 pop cx ; 59 8151 _int16_function: ; 0xf5813 LB 0x2f6 8149 _int16_function: ; 0xf5859 LB 0x2f6 8152 8150 push bp ; 55 8153 8151 mov bp, sp ; 89 e5 … … 8156 8154 mov dx, strict word 00017h ; ba 17 00 8157 8155 mov ax, strict word 00040h ; b8 40 00 8158 call 01652h ; e8 2f be8156 call 01652h ; e8 e9 bd 8159 8157 mov cl, al ; 88 c1 8160 8158 mov bh, al ; 88 c7 8161 8159 mov dx, 00097h ; ba 97 00 8162 8160 mov ax, strict word 00040h ; b8 40 00 8163 call 01652h ; e8 22 be8161 call 01652h ; e8 dc bd 8164 8162 mov bl, al ; 88 c3 8165 8163 mov dl, cl ; 88 ca … … 8172 8170 xor al, dl ; 30 d0 8173 8171 test ax, ax ; 85 c0 8174 je short 058 b3h ; 74 6c8172 je short 058f9h ; 74 6c 8175 8173 cli ; fa 8176 8174 mov AL, strict byte 0edh ; b0 ed … … 8182 8180 ; sub ah, ah ; 2a e4 8183 8181 test AL, strict byte 001h ; a8 01 8184 jne short 058 60h ; 75 088182 jne short 058a6h ; 75 08 8185 8183 mov AL, strict byte 021h ; b0 21 8186 8184 mov dx, 00080h ; ba 80 00 8187 8185 out DX, AL ; ee 8188 jmp short 058 4eh ; eb ee8186 jmp short 05894h ; eb ee 8189 8187 mov dx, strict word 00060h ; ba 60 00 8190 8188 in AL, DX ; ec … … 8192 8190 ; sub ah, ah ; 2a e4 8193 8191 cmp ax, 000fah ; 3d fa 00 8194 jne short 058 b2h ; 75 478192 jne short 058f8h ; 75 47 8195 8193 and bl, 0c8h ; 80 e3 c8 8196 8194 mov al, bh ; 88 f8 … … 8215 8213 ; sub ah, ah ; 2a e4 8216 8214 test AL, strict byte 001h ; a8 01 8217 jne short 058 a1h ; 75 088215 jne short 058e7h ; 75 08 8218 8216 mov AL, strict byte 021h ; b0 21 8219 8217 mov dx, 00080h ; ba 80 00 8220 8218 out DX, AL ; ee 8221 jmp short 058 8fh ; eb ee8219 jmp short 058d5h ; eb ee 8222 8220 mov dx, strict word 00060h ; ba 60 00 8223 8221 in AL, DX ; ec … … 8227 8225 mov dx, 00097h ; ba 97 00 8228 8226 mov ax, strict word 00040h ; b8 40 00 8229 call 01660h ; e8 aebd8227 call 01660h ; e8 68 bd 8230 8228 sti ; fb 8231 8229 mov CL, strict byte 008h ; b1 08 … … 8233 8231 shr ax, CL ; d3 e8 8234 8232 cmp ax, 000a2h ; 3d a2 00 8235 jnbe short 059 19h ; 77 5a8233 jnbe short 0595fh ; 77 5a 8236 8234 push CS ; 0e 8237 8235 pop ES ; 07 8238 8236 mov cx, strict word 0000ch ; b9 0c 00 8239 mov di, 05 7f0h ; bf f0 578237 mov di, 05836h ; bf 36 58 8240 8238 repne scasb ; f2 ae 8241 8239 sal cx, 1 ; d1 e1 8242 8240 mov di, cx ; 89 cf 8243 mov ax, word [cs:di+05 7fbh] ; 2e 8b 85 fb 578241 mov ax, word [cs:di+05841h] ; 2e 8b 85 41 58 8244 8242 jmp ax ; ff e0 8245 8243 mov ax, strict word 00001h ; b8 01 00 … … 8249 8247 mov dx, ss ; 8c d2 8250 8248 lea ax, [bp-008h] ; 8d 46 f8 8251 call 057 7fh ; e8 9a fe8249 call 057c5h ; e8 9a fe 8252 8250 test ax, ax ; 85 c0 8253 jne short 05 8f7h ; 75 0e8251 jne short 0593dh ; 75 0e 8254 8252 mov ax, 0060fh ; b8 0f 06 8255 8253 push ax ; 50 8256 8254 mov ax, strict word 00007h ; b8 07 00 8257 8255 push ax ; 50 8258 call 01976h ; e8 82c08256 call 01976h ; e8 3c c0 8259 8257 add sp, strict byte 00004h ; 83 c4 04 8260 8258 cmp byte [bp-008h], 000h ; 80 7e f8 00 8261 je short 059 03h ; 74 068259 je short 05949h ; 74 06 8262 8260 cmp byte [bp-006h], 0f0h ; 80 7e fa f0 8263 je short 059 09h ; 74 068261 je short 0594fh ; 74 06 8264 8262 cmp byte [bp-006h], 0e0h ; 80 7e fa e0 8265 jne short 059 0dh ; 75 048263 jne short 05953h ; 75 04 8266 8264 mov byte [bp-006h], 000h ; c6 46 fa 00 8267 8265 mov ah, byte [bp-008h] ; 8a 66 f8 8268 8266 mov al, byte [bp-006h] ; 8a 46 fa 8269 8267 mov word [bp+012h], ax ; 89 46 12 8270 jmp near 059 63h ; e9 4a 008268 jmp near 059a9h ; e9 4a 00 8271 8269 mov bx, 00da0h ; bb a0 0d 8272 8270 mov cx, ds ; 8c d9 8273 8271 mov ax, strict word 00004h ; b8 04 00 8274 call 01933h ; e8 0f c08272 call 01933h ; e8 c9 bf 8275 8273 mov CL, strict byte 008h ; b1 08 8276 8274 mov ax, word [bp+012h] ; 8b 46 12 … … 8281 8279 mov ax, strict word 00004h ; b8 04 00 8282 8280 push ax ; 50 8283 call 01976h ; e8 3f c08281 call 01976h ; e8 f9 bf 8284 8282 add sp, strict byte 00006h ; 83 c4 06 8285 8283 mov bx, 00da0h ; bb a0 0d 8286 8284 mov cx, ds ; 8c d9 8287 8285 mov ax, strict word 00004h ; b8 04 00 8288 call 01933h ; e8 eebf8286 call 01933h ; e8 a8 bf 8289 8287 mov ax, word [bp+00eh] ; 8b 46 0e 8290 8288 push ax ; 50 … … 8299 8297 mov ax, strict word 00004h ; b8 04 00 8300 8298 push ax ; 50 8301 call 01976h ; e8 16 c08299 call 01976h ; e8 d0 bf 8302 8300 add sp, strict byte 0000ch ; 83 c4 0c 8303 8301 lea sp, [bp-002h] ; 8d 66 fe … … 8312 8310 mov dx, ss ; 8c d2 8313 8311 lea ax, [bp-008h] ; 8d 46 f8 8314 call 057 7fh ; e8 01 fe8312 call 057c5h ; e8 01 fe 8315 8313 test ax, ax ; 85 c0 8316 jne short 059 88h ; 75 068314 jne short 059ceh ; 75 06 8317 8315 or word [bp+01ch], strict byte 00040h ; 83 4e 1c 40 8318 jmp short 059 63h ; eb db8316 jmp short 059a9h ; eb db 8319 8317 cmp byte [bp-008h], 000h ; 80 7e f8 00 8320 je short 059 94h ; 74 068318 je short 059dah ; 74 06 8321 8319 cmp byte [bp-006h], 0f0h ; 80 7e fa f0 8322 je short 059 9ah ; 74 068320 je short 059e0h ; 74 06 8323 8321 cmp byte [bp-006h], 0e0h ; 80 7e fa e0 8324 jne short 059 9eh ; 75 048322 jne short 059e4h ; 75 04 8325 8323 mov byte [bp-006h], 000h ; c6 46 fa 00 8326 8324 mov dh, byte [bp-008h] ; 8a 76 f8 … … 8328 8326 mov word [bp+012h], dx ; 89 56 12 8329 8327 and word [bp+01ch], strict byte 0ffbfh ; 83 66 1c bf 8330 jmp short 059 63h ; eb b68328 jmp short 059a9h ; eb b6 8331 8329 mov dx, strict word 00017h ; ba 17 00 8332 8330 mov ax, strict word 00040h ; b8 40 00 8333 call 01652h ; e8 9cbc8331 call 01652h ; e8 56 bc 8334 8332 mov dx, word [bp+012h] ; 8b 56 12 8335 8333 mov dl, al ; 88 c2 8336 8334 mov word [bp+012h], dx ; 89 56 12 8337 jmp short 059 63h ; eb a38335 jmp short 059a9h ; eb a3 8338 8336 mov dl, byte [bp+010h] ; 8a 56 10 8339 8337 xor dh, dh ; 30 f6 … … 8342 8340 shr ax, CL ; d3 e8 8343 8341 xor ah, ah ; 30 e4 8344 call 052 14h ; e8 43 f88342 call 0525ah ; e8 43 f8 8345 8343 test ax, ax ; 85 c0 8346 jne short 05 9dfh ; 75 0a8344 jne short 05a25h ; 75 0a 8347 8345 mov ax, word [bp+012h] ; 8b 46 12 8348 8346 xor al, al ; 30 c0 8349 8347 or AL, strict byte 001h ; 0c 01 8350 jmp near 059 13h ; e9 34 ff8348 jmp near 05959h ; e9 34 ff 8351 8349 and word [bp+012h], 0ff00h ; 81 66 12 00 ff 8352 jmp near 059 63h ; e9 7c ff8350 jmp near 059a9h ; e9 7c ff 8353 8351 mov ax, word [bp+012h] ; 8b 46 12 8354 8352 xor al, al ; 30 c0 8355 8353 or AL, strict byte 030h ; 0c 30 8356 jmp near 059 13h ; e9 22 ff8354 jmp near 05959h ; e9 22 ff 8357 8355 mov byte [bp-004h], 002h ; c6 46 fc 02 8358 8356 xor cx, cx ; 31 c9 … … 8367 8365 ; sub ah, ah ; 2a e4 8368 8366 test AL, strict byte 001h ; a8 01 8369 jne short 05a 18h ; 75 0d8367 jne short 05a5eh ; 75 0d 8370 8368 dec bx ; 4b 8371 8369 test bx, bx ; 85 db 8372 jbe short 05a 18h ; 76 088370 jbe short 05a5eh ; 76 08 8373 8371 mov dx, 00080h ; ba 80 00 8374 8372 in AL, DX ; ec 8375 8373 db 02ah, 0e4h 8376 8374 ; sub ah, ah ; 2a e4 8377 jmp short 05a 01h ; eb e98375 jmp short 05a47h ; eb e9 8378 8376 test bx, bx ; 85 db 8379 jbe short 05a 5ah ; 76 3e8377 jbe short 05aa0h ; 76 3e 8380 8378 mov dx, strict word 00060h ; ba 60 00 8381 8379 in AL, DX ; ec … … 8383 8381 ; sub ah, ah ; 2a e4 8384 8382 cmp ax, 000fah ; 3d fa 00 8385 jne short 05a 5ah ; 75 338383 jne short 05aa0h ; 75 33 8386 8384 mov bx, strict word 0ffffh ; bb ff ff 8387 8385 mov dx, strict word 00064h ; ba 64 00 … … 8390 8388 ; sub ah, ah ; 2a e4 8391 8389 test AL, strict byte 001h ; a8 01 8392 jne short 05a 41h ; 75 0d8390 jne short 05a87h ; 75 0d 8393 8391 dec bx ; 4b 8394 8392 test bx, bx ; 85 db 8395 jbe short 05a 41h ; 76 088393 jbe short 05a87h ; 76 08 8396 8394 mov dx, 00080h ; ba 80 00 8397 8395 in AL, DX ; ec 8398 8396 db 02ah, 0e4h 8399 8397 ; sub ah, ah ; 2a e4 8400 jmp short 05a 2ah ; eb e98398 jmp short 05a70h ; eb e9 8401 8399 test bx, bx ; 85 db 8402 jbe short 05a 51h ; 76 0c8400 jbe short 05a97h ; 76 0c 8403 8401 mov bl, ch ; 88 eb 8404 8402 mov dx, strict word 00060h ; ba 60 00 … … 8410 8408 dec byte [bp-004h] ; fe 4e fc 8411 8409 cmp byte [bp-004h], 000h ; 80 7e fc 00 8412 jnbe short 05a 27h ; 77 cd8410 jnbe short 05a6dh ; 77 cd 8413 8411 mov word [bp+00ch], cx ; 89 4e 0c 8414 jmp near 059 63h ; e9 03 ff8412 jmp near 059a9h ; e9 03 ff 8415 8413 mov ax, strict word 00001h ; b8 01 00 8416 8414 push ax ; 50 … … 8419 8417 mov dx, ss ; 8c d2 8420 8418 lea ax, [bp-008h] ; 8d 46 f8 8421 call 057 7fh ; e8 0e fd8419 call 057c5h ; e8 0e fd 8422 8420 test ax, ax ; 85 c0 8423 jne short 05a 83h ; 75 0e8421 jne short 05ac9h ; 75 0e 8424 8422 mov ax, 0060fh ; b8 0f 06 8425 8423 push ax ; 50 8426 8424 mov ax, strict word 00007h ; b8 07 00 8427 8425 push ax ; 50 8428 call 01976h ; e8 f6be8426 call 01976h ; e8 b0 be 8429 8427 add sp, strict byte 00004h ; 83 c4 04 8430 8428 cmp byte [bp-008h], 000h ; 80 7e f8 00 8431 jne short 05a 8ch ; 75 038432 jmp near 059 0dh ; e9 81 fe8429 jne short 05ad2h ; 75 03 8430 jmp near 05953h ; e9 81 fe 8433 8431 cmp byte [bp-006h], 0f0h ; 80 7e fa f0 8434 jne short 05a 95h ; 75 038435 jmp near 059 09h ; e9 74 fe8436 jmp short 05a 89h ; eb f28432 jne short 05adbh ; 75 03 8433 jmp near 0594fh ; e9 74 fe 8434 jmp short 05acfh ; eb f2 8437 8435 or word [bp+01ch], 00200h ; 81 4e 1c 00 02 8438 8436 xor ax, ax ; 31 c0 … … 8442 8440 mov dx, ss ; 8c d2 8443 8441 lea ax, [bp-008h] ; 8d 46 f8 8444 call 057 7fh ; e8 d3 fc8442 call 057c5h ; e8 d3 fc 8445 8443 test ax, ax ; 85 c0 8446 jne short 05a b3h ; 75 038447 jmp near 059 82h ; e9 cf fe8444 jne short 05af9h ; 75 03 8445 jmp near 059c8h ; e9 cf fe 8448 8446 cmp byte [bp-008h], 000h ; 80 7e f8 00 8449 jne short 05 abch ; 75 038450 jmp near 059 9eh ; e9 e2 fe8447 jne short 05b02h ; 75 03 8448 jmp near 059e4h ; e9 e2 fe 8451 8449 cmp byte [bp-006h], 0f0h ; 80 7e fa f0 8452 jne short 05 ac5h ; 75 038453 jmp near 059 9ah ; e9 d5 fe8454 jmp short 05a b9h ; eb f28450 jne short 05b0bh ; 75 03 8451 jmp near 059e0h ; e9 d5 fe 8452 jmp short 05affh ; eb f2 8455 8453 mov dx, strict word 00017h ; ba 17 00 8456 8454 mov ax, strict word 00040h ; b8 40 00 8457 call 01652h ; e8 82bb8455 call 01652h ; e8 3c bb 8458 8456 mov dx, word [bp+012h] ; 8b 56 12 8459 8457 mov dl, al ; 88 c2 … … 8461 8459 mov dx, strict word 00018h ; ba 18 00 8462 8460 mov ax, strict word 00040h ; b8 40 00 8463 call 01652h ; e8 71bb8461 call 01652h ; e8 2b bb 8464 8462 mov bh, al ; 88 c7 8465 8463 and bh, 073h ; 80 e7 73 8466 8464 mov dx, 00096h ; ba 96 00 8467 8465 mov ax, strict word 00040h ; b8 40 00 8468 call 01652h ; e8 63bb8466 call 01652h ; e8 1d bb 8469 8467 mov ah, al ; 88 c4 8470 8468 and ah, 00ch ; 80 e4 0c … … 8472 8470 mov dx, word [bp+012h] ; 8b 56 12 8473 8471 mov dh, ah ; 88 e6 8474 jmp near 05 9bbh ; e9 bd fe8472 jmp near 05a01h ; e9 bd fe 8475 8473 mov ax, word [bp+012h] ; 8b 46 12 8476 8474 xor ah, ah ; 30 e4 8477 8475 or ah, 080h ; 80 cc 80 8478 jmp near 059 13h ; e9 0a fe8479 set_geom_lba_: ; 0xf5b 09LB 0xeb8476 jmp near 05959h ; e9 0a fe 8477 set_geom_lba_: ; 0xf5b4f LB 0xeb 8480 8478 push bx ; 53 8481 8479 push cx ; 51 … … 8495 8493 mov dx, word [bp+00ch] ; 8b 56 0c 8496 8494 mov si, strict word 00020h ; be 20 00 8497 call 0a0 60h ; e8 28458495 call 0a0a0h ; e8 22 45 8498 8496 test ax, ax ; 85 c0 8499 jne short 05b 48h ; 75 0c8497 jne short 05b8eh ; 75 0c 8500 8498 test bx, bx ; 85 db 8501 jne short 05b 48h ; 75 088499 jne short 05b8eh ; 75 08 8502 8500 test cx, cx ; 85 c9 8503 jne short 05b 48h ; 75 048501 jne short 05b8eh ; 75 04 8504 8502 test dx, dx ; 85 d2 8505 je short 05b 4fh ; 74 078503 je short 05b95h ; 74 07 8506 8504 mov bx, strict word 0ffffh ; bb ff ff 8507 8505 mov si, bx ; 89 de 8508 jmp short 05b 55h ; eb 068506 jmp short 05b9bh ; eb 06 8509 8507 mov bx, word [bp+00ch] ; 8b 5e 0c 8510 8508 mov si, word [bp+00eh] ; 8b 76 0e 8511 8509 mov word [bp-004h], bx ; 89 5e fc 8512 8510 xor bx, bx ; 31 db 8513 jmp short 05b 61h ; eb 058511 jmp short 05ba7h ; eb 05 8514 8512 cmp bx, strict byte 00004h ; 83 fb 04 8515 jnl short 05b 84h ; 7d 238513 jnl short 05bcah ; 7d 23 8516 8514 mov ax, word [bp-006h] ; 8b 46 fa 8517 8515 cmp si, ax ; 39 c6 8518 jc short 05b 72h ; 72 0a8519 jne short 05b 7bh ; 75 118516 jc short 05bb8h ; 72 0a 8517 jne short 05bc1h ; 75 11 8520 8518 mov ax, word [bp-004h] ; 8b 46 fc 8521 8519 cmp ax, word [bp-008h] ; 3b 46 f8 8522 jnbe short 05b 7bh ; 77 098520 jnbe short 05bc1h ; 77 09 8523 8521 mov ax, word [bp-002h] ; 8b 46 fe 8524 8522 inc ax ; 40 … … 8528 8526 rcr word [bp-008h], 1 ; d1 5e f8 8529 8527 inc bx ; 43 8530 jmp short 05b 5ch ; eb d88528 jmp short 05ba2h ; eb d8 8531 8529 mov ax, word [bp-002h] ; 8b 46 fe 8532 8530 xor dx, dx ; 31 d2 8533 8531 mov bx, strict word 0003fh ; bb 3f 00 8534 8532 xor cx, cx ; 31 c9 8535 call 0a0 10h ; e8 7f448533 call 0a050h ; e8 79 44 8536 8534 mov bx, ax ; 89 c3 8537 8535 mov cx, dx ; 89 d1 8538 8536 mov ax, word [bp-004h] ; 8b 46 fc 8539 8537 mov dx, si ; 89 f2 8540 call 0a0 30h ; e8 93448538 call 0a070h ; e8 8d 44 8541 8539 mov word [es:di+002h], ax ; 26 89 45 02 8542 8540 cmp ax, 00400h ; 3d 00 04 8543 jbe short 05b ach ; 76 068541 jbe short 05bf2h ; 76 06 8544 8542 mov word [es:di+002h], 00400h ; 26 c7 45 02 00 04 8545 8543 mov ax, word [bp-002h] ; 8b 46 fe … … 8553 8551 pop bx ; 5b 8554 8552 retn 00008h ; c2 08 00 8555 jl short 05c20h ; 7c 5c 8556 lea bx, [si-04bh] ; 8d 5c b5 8553 retn 0d35ch ; c2 5c d3 8557 8554 pop sp ; 5c 8558 mov CH, strict byte 05ch ; b5 5c 8559 mov CH, strict byte 05ch ; b5 5c 8560 mov word [0df5eh], ax ; a3 5e df 8555 sti ; fb 8556 pop sp ; 5c 8557 sti ; fb 8558 pop sp ; 5c 8559 sti ; fb 8560 pop sp ; 5c 8561 jmp near 08173h ; e9 5e 25 8562 pushaw ; 60 8563 and ax, 01960h ; 25 60 19 8561 8564 pop di ; 5f 8562 fistp word [bx-02dh] ; df 5f d38563 p op si ; 5e8564 mov cx, 0df5fh ; b9 5f df8565 call far [bx+025h] ; ff 5f 25 8566 pushaw ; 60 8567 and ax, 0ff60h ; 25 60 ff 8565 8568 pop di ; 5f 8566 fistp word [bx-047h] ; df 5f b9 8569 call far [bx+025h] ; ff 5f 25 8570 pushaw ; 60 8571 and ax, 07f60h ; 25 60 7f 8567 8572 pop di ; 5f 8568 mov cx, 0df5fh ; b9 5f df 8573 call far [bx+025h] ; ff 5f 25 8574 pushaw ; 60 8575 and ax, 0ff60h ; 25 60 ff 8569 8576 pop di ; 5f 8570 fistp word [bx+039h] ; df 5f 39 8571 pop di ; 5f 8572 mov cx, 0df5fh ; b9 5f df 8573 pop di ; 5f 8574 fistp word [bx-047h] ; df 5f b9 8575 pop di ; 5f 8576 push strict byte 0005fh ; 6a 5f 8577 fistp word [bx-021h] ; df 5f df 8578 pop di ; 5f 8579 db 0dfh 8580 pop di ; 5f 8581 _int13_harddisk: ; 0xf5bf4 LB 0x446 8577 mov AL, strict byte 05fh ; b0 5f 8578 and ax, 02560h ; 25 60 25 8579 pushaw ; 60 8580 db 025h 8581 pushaw ; 60 8582 _int13_harddisk: ; 0xf5c3a LB 0x446 8582 8583 push bp ; 55 8583 8584 mov bp, sp ; 89 e5 … … 8585 8586 mov dx, strict word 0000eh ; ba 0e 00 8586 8587 mov ax, strict word 00040h ; b8 40 00 8587 call 0166eh ; e8 6bba8588 call 0166eh ; e8 25 ba 8588 8589 mov si, 00122h ; be 22 01 8589 8590 mov word [bp-004h], ax ; 89 46 fc … … 8591 8592 mov dx, 0008eh ; ba 8e 00 8592 8593 mov ax, strict word 00040h ; b8 40 00 8593 call 01660h ; e8 4cba8594 call 01660h ; e8 06 ba 8594 8595 mov ax, word [bp+00eh] ; 8b 46 0e 8595 8596 xor ah, ah ; 30 e4 8596 8597 cmp ax, 00080h ; 3d 80 00 8597 jc short 05c 23h ; 72 058598 jc short 05c69h ; 72 05 8598 8599 cmp ax, 00090h ; 3d 90 00 8599 jc short 05c 42h ; 72 1f8600 jc short 05c88h ; 72 1f 8600 8601 mov ax, word [bp+00eh] ; 8b 46 0e 8601 8602 xor ah, ah ; 30 e4 … … 8609 8610 mov ax, strict word 00004h ; b8 04 00 8610 8611 push ax ; 50 8611 call 01976h ; e8 3a bd8612 call 01976h ; e8 f4 bc 8612 8613 add sp, strict byte 0000ah ; 83 c4 0a 8613 jmp near 0 5ffah ; e9 b8 038614 jmp near 06040h ; e9 b8 03 8614 8615 mov ax, word [bp+00eh] ; 8b 46 0e 8615 8616 xor ah, ah ; 30 e4 … … 8620 8621 mov byte [bp-002h], dl ; 88 56 fe 8621 8622 cmp dl, 010h ; 80 fa 10 8622 jc short 05c 69h ; 72 0e8623 jc short 05cafh ; 72 0e 8623 8624 push ax ; 50 8624 8625 mov al, byte [bp+017h] ; 8a 46 17 … … 8627 8628 push ax ; 50 8628 8629 mov ax, 006b8h ; b8 b8 06 8629 jmp short 05c 34h ; eb cb8630 jmp short 05c7ah ; eb cb 8630 8631 mov al, byte [bp+017h] ; 8a 46 17 8631 8632 xor ah, ah ; 30 e4 8632 8633 cmp ax, strict word 00018h ; 3d 18 00 8633 jnbe short 05c b2h ; 77 3f8634 jnbe short 05cf8h ; 77 3f 8634 8635 mov bx, ax ; 89 c3 8635 8636 sal bx, 1 ; d1 e3 8636 jmp word [cs:bx+05 bc2h] ; 2e ff a7 c2 5b8637 jmp word [cs:bx+05c08h] ; 2e ff a7 08 5c 8637 8638 cmp byte [bp-002h], 008h ; 80 7e fe 08 8638 jnc short 05c 8ah ; 73 088639 jnc short 05cd0h ; 73 08 8639 8640 mov al, byte [bp-002h] ; 8a 46 fe 8640 8641 xor ah, ah ; 30 e4 8641 call 01db8h ; e8 2e c18642 jmp near 05 ebch ; e9 2f 028642 call 01db8h ; e8 e8 c0 8643 jmp near 05f02h ; e9 2f 02 8643 8644 mov dx, strict word 00074h ; ba 74 00 8644 8645 mov ax, strict word 00040h ; b8 40 00 8645 call 01652h ; e8 bcb98646 call 01652h ; e8 76 b9 8646 8647 mov cl, al ; 88 c1 8647 8648 mov dx, word [bp+016h] ; 8b 56 16 … … 8651 8652 mov dx, strict word 00074h ; ba 74 00 8652 8653 mov ax, strict word 00040h ; b8 40 00 8653 call 01660h ; e8 b5b98654 call 01660h ; e8 6f b9 8654 8655 test cl, cl ; 84 c9 8655 je short 05d 11h ; 74 628656 jmp near 060 13h ; e9 61 038657 jmp near 0 5fdfh ; e9 2a 038656 je short 05d57h ; 74 62 8657 jmp near 06059h ; e9 61 03 8658 jmp near 06025h ; e9 2a 03 8658 8659 mov ax, word [bp+016h] ; 8b 46 16 8659 8660 xor ah, ah ; 30 e4 … … 8674 8675 mov ax, word [bp-00eh] ; 8b 46 f2 8675 8676 cmp ax, 00080h ; 3d 80 00 8676 jnbe short 05 cebh ; 77 048677 jnbe short 05d31h ; 77 04 8677 8678 test ax, ax ; 85 c0 8678 jne short 05d 14h ; 75 298679 jne short 05d5ah ; 75 29 8679 8680 mov bx, 00da0h ; bb a0 0d 8680 8681 mov cx, ds ; 8c d9 8681 8682 mov ax, strict word 00004h ; b8 04 00 8682 call 01933h ; e8 3d bc8683 call 01933h ; e8 f7 bb 8683 8684 mov al, byte [bp+017h] ; 8a 46 17 8684 8685 xor ah, ah ; 30 e4 … … 8690 8691 mov ax, strict word 00004h ; b8 04 00 8691 8692 push ax ; 50 8692 call 01976h ; e8 6bbc8693 call 01976h ; e8 25 bc 8693 8694 add sp, strict byte 00008h ; 83 c4 08 8694 jmp near 0 5ffah ; e9 e9 028695 jmp near 05 ec0h ; e9 ac 018695 jmp near 06040h ; e9 e9 02 8696 jmp near 05f06h ; e9 ac 01 8696 8697 mov al, byte [bp-002h] ; 8a 46 fe 8697 8698 xor ah, ah ; 30 e4 … … 8706 8707 mov word [bp-010h], dx ; 89 56 f0 8707 8708 cmp ax, word [bp-00ah] ; 3b 46 f6 8708 jbe short 05d 42h ; 76 098709 jbe short 05d88h ; 76 09 8709 8710 cmp cx, word [bp-00ch] ; 3b 4e f4 8710 jbe short 05d 42h ; 76 048711 jbe short 05d88h ; 76 04 8711 8712 cmp di, dx ; 39 d7 8712 jbe short 05d 73h ; 76 318713 jbe short 05db9h ; 76 31 8713 8714 mov bx, 00da0h ; bb a0 0d 8714 8715 mov cx, ds ; 8c d9 8715 8716 mov ax, strict word 00004h ; b8 04 00 8716 call 01933h ; e8 e6bb8717 call 01933h ; e8 a0 bb 8717 8718 push di ; 57 8718 8719 push word [bp-00ch] ; ff 76 f4 … … 8729 8730 mov ax, strict word 00004h ; b8 04 00 8730 8731 push ax ; 50 8731 call 01976h ; e8 09 bc8732 call 01976h ; e8 c3 bb 8732 8733 add sp, strict byte 00010h ; 83 c4 10 8733 jmp near 0 5ffah ; e9 87 028734 jmp near 06040h ; e9 87 02 8734 8735 mov al, byte [bp+017h] ; 8a 46 17 8735 8736 xor ah, ah ; 30 e4 8736 8737 cmp ax, strict word 00004h ; 3d 04 00 8737 je short 05d 9dh ; 74 208738 je short 05de3h ; 74 20 8738 8739 mov al, byte [bp-002h] ; 8a 46 fe 8739 8740 mov dx, strict word 0001ch ; ba 1c 00 … … 8743 8744 add bx, ax ; 01 c3 8744 8745 cmp cx, word [es:bx+030h] ; 26 3b 4f 30 8745 jne short 05d a6h ; 75 148746 jne short 05dech ; 75 14 8746 8747 mov ax, word [es:bx+034h] ; 26 8b 47 34 8747 8748 cmp ax, word [bp-010h] ; 3b 46 f0 8748 je short 05d a0h ; 74 058749 jmp short 05d a6h ; eb 098750 jmp near 05 ebch ; e9 1c 018749 je short 05de6h ; 74 05 8750 jmp short 05dech ; eb 09 8751 jmp near 05f02h ; e9 1c 01 8751 8752 cmp byte [bp-002h], 008h ; 80 7e fe 08 8752 jc short 05 dd5h ; 72 2f8753 jc short 05e1bh ; 72 2f 8753 8754 mov ax, word [bp-00ah] ; 8b 46 f6 8754 8755 xor dx, dx ; 31 d2 8755 8756 mov bx, cx ; 89 cb 8756 8757 xor cx, cx ; 31 c9 8757 call 0a0 10h ; e8 5e428758 call 0a050h ; e8 58 42 8758 8759 xor bx, bx ; 31 db 8759 8760 add ax, word [bp-00ch] ; 03 46 f4 … … 8761 8762 mov bx, word [bp-010h] ; 8b 5e f0 8762 8763 xor cx, cx ; 31 c9 8763 call 0a0 10h ; e8 4f428764 call 0a050h ; e8 49 42 8764 8765 xor bx, bx ; 31 db 8765 8766 add ax, di ; 01 f8 … … 8818 8819 mov word [bp+016h], bx ; 89 5e 16 8819 8820 test dl, dl ; 84 d2 8820 je short 05 ebch ; 74 4a8821 je short 05f02h ; 74 4a 8821 8822 mov bx, 00da0h ; bb a0 0d 8822 8823 mov cx, ds ; 8c d9 8823 8824 mov ax, strict word 00004h ; b8 04 00 8824 call 01933h ; e8 b6ba8825 call 01933h ; e8 70 ba 8825 8826 mov al, dl ; 88 d0 8826 8827 xor ah, ah ; 30 e4 … … 8834 8835 mov ax, strict word 00004h ; b8 04 00 8835 8836 push ax ; 50 8836 call 01976h ; e8 e1ba8837 call 01976h ; e8 9b ba 8837 8838 add sp, strict byte 0000ah ; 83 c4 0a 8838 8839 mov ax, word [bp+016h] ; 8b 46 16 8839 8840 xor ah, ah ; 30 e4 8840 8841 or ah, 00ch ; 80 cc 0c 8841 jmp near 060 02h ; e9 5f 018842 jmp near 06048h ; e9 5f 01 8842 8843 mov bx, 00da0h ; bb a0 0d 8843 8844 mov cx, ds ; 8c d9 8844 8845 mov ax, strict word 00004h ; b8 04 00 8845 call 01933h ; e8 85ba8846 call 01933h ; e8 3f ba 8846 8847 mov ax, 0077ah ; b8 7a 07 8847 8848 push ax ; 50 8848 8849 mov ax, strict word 00004h ; b8 04 00 8849 8850 push ax ; 50 8850 call 01976h ; e8 bdba8851 call 01976h ; e8 77 ba 8851 8852 add sp, strict byte 00004h ; 83 c4 04 8852 8853 mov byte [bp+017h], 000h ; c6 46 17 00 … … 8854 8855 mov dx, strict word 00074h ; ba 74 00 8855 8856 mov ax, strict word 00040h ; b8 40 00 8856 call 01660h ; e8 95b78857 call 01660h ; e8 4f b7 8857 8858 and byte [bp+01ch], 0feh ; 80 66 1c fe 8858 8859 mov sp, bp ; 89 ec … … 8897 8898 or ax, dx ; 09 d0 8898 8899 mov word [bp+012h], ax ; 89 46 12 8899 jmp short 05 ebch ; eb 838900 jmp short 05f02h ; eb 83 8900 8901 mov al, byte [bp-002h] ; 8a 46 fe 8901 8902 cwd ; 99 … … 8914 8915 and AL, strict byte 0c0h ; 24 c0 8915 8916 cmp AL, strict byte 040h ; 3c 40 8916 jne short 05f 5fh ; 75 038917 jmp near 05 ebch ; e9 5d ff8917 jne short 05fa5h ; 75 03 8918 jmp near 05f02h ; e9 5d ff 8918 8919 mov ax, word [bp+016h] ; 8b 46 16 8919 8920 xor ah, ah ; 30 e4 8920 8921 or ah, 0aah ; 80 cc aa 8921 jmp near 060 02h ; e9 98 008922 jmp near 06048h ; e9 98 00 8922 8923 mov al, byte [bp-002h] ; 8a 46 fe 8923 8924 xor ah, ah ; 30 e4 … … 8935 8936 mov bx, word [bp-00ch] ; 8b 5e f4 8936 8937 xor cx, cx ; 31 c9 8937 call 0a0 10h ; e8 78408938 call 0a050h ; e8 72 40 8938 8939 mov bx, di ; 89 fb 8939 8940 xor cx, cx ; 31 c9 8940 call 0a0 10h ; e8 71408941 call 0a050h ; e8 6b 40 8941 8942 mov word [bp-008h], ax ; 89 46 f8 8942 8943 mov word [bp-006h], dx ; 89 56 fa … … 8947 8948 or ah, 003h ; 80 cc 03 8948 8949 mov word [bp+016h], ax ; 89 46 16 8949 jmp near 05 ec0h ; e9 07 ff8950 jmp near 05f06h ; e9 07 ff 8950 8951 mov bx, 00da0h ; bb a0 0d 8951 8952 mov cx, ds ; 8c d9 8952 8953 mov ax, strict word 00004h ; b8 04 00 8953 call 01933h ; e8 6fb98954 call 01933h ; e8 29 b9 8954 8955 mov al, byte [bp+017h] ; 8a 46 17 8955 8956 xor ah, ah ; 30 e4 … … 8961 8962 mov ax, strict word 00004h ; b8 04 00 8962 8963 push ax ; 50 8963 call 01976h ; e8 9db98964 call 01976h ; e8 57 b9 8964 8965 add sp, strict byte 00008h ; 83 c4 08 8965 jmp near 05 ebch ; e9 dd fe8966 jmp near 05f02h ; e9 dd fe 8966 8967 mov bx, 00da0h ; bb a0 0d 8967 8968 mov cx, ds ; 8c d9 8968 8969 mov ax, strict word 00004h ; b8 04 00 8969 call 01933h ; e8 49b98970 call 01933h ; e8 03 b9 8970 8971 mov al, byte [bp+017h] ; 8a 46 17 8971 8972 xor ah, ah ; 30 e4 … … 8974 8975 push ax ; 50 8975 8976 mov ax, 007c7h ; b8 c7 07 8976 jmp near 05d 03h ; e9 09 fd8977 jmp near 05d49h ; e9 09 fd 8977 8978 mov ax, word [bp+016h] ; 8b 46 16 8978 8979 xor ah, ah ; 30 e4 … … 8983 8984 mov dx, strict word 00074h ; ba 74 00 8984 8985 mov ax, strict word 00040h ; b8 40 00 8985 call 01660h ; e8 4db68986 call 01660h ; e8 07 b6 8986 8987 or byte [bp+01ch], 001h ; 80 4e 1c 01 8987 jmp near 05ecfh ; e9 b5 fe 8988 aam 060h ; d4 60 8989 pop ES ; 07 8988 jmp near 05f15h ; e9 b5 fe 8989 sbb ah, byte [bx+di+04dh] ; 1a 61 4d 8990 8990 popaw ; 61 8991 pop ES ; 078991 dec bp ; 4d 8992 8992 popaw ; 61 8993 pop ES ; 078993 dec bp ; 4d 8994 8994 popaw ; 61 8995 sbb word [di+07ch], sp ; 19 65 7c 8996 bound ax, [bx] ; 62 07 8995 pop di ; 5f 8996 db 065h, 0c2h, 062h, 04dh 8997 ; gs retn 04d62h ; 65 c2 62 4d 8997 8998 popaw ; 61 8998 db 082h, 062h, 019h, 065h 8999 ; and byte [bp+si+019h], 065h ; 82 62 19 65 9000 in AL, DX ; ec 9001 pushaw ; 60 9002 in AL, DX ; ec 9003 pushaw ; 60 9004 in AL, DX ; ec 9005 pushaw ; 60 9006 in AL, DX ; ec 9007 pushaw ; 60 9008 xor byte [di-014h], ah ; 30 65 ec 9009 pushaw ; 60 9010 in AL, DX ; ec 9011 pushaw ; 60 9012 _int13_harddisk_ext: ; 0xf603a LB 0x52b 8999 enter 05f62h, 065h ; c8 62 5f 65 9000 xor ah, byte [bx+di+032h] ; 32 61 32 9001 popaw ; 61 9002 xor ah, byte [bx+di+032h] ; 32 61 32 9003 popaw ; 61 9004 jbe short 060e1h ; 76 65 9005 xor ah, byte [bx+di+032h] ; 32 61 32 9006 popaw ; 61 9007 _int13_harddisk_ext: ; 0xf6080 LB 0x52b 9013 9008 push bp ; 55 9014 9009 mov bp, sp ; 89 e5 … … 9016 9011 mov dx, strict word 0000eh ; ba 0e 00 9017 9012 mov ax, strict word 00040h ; b8 40 00 9018 call 0166eh ; e8 25 b69013 call 0166eh ; e8 df b5 9019 9014 mov word [bp-018h], ax ; 89 46 e8 9020 9015 mov dx, strict word 0000eh ; ba 0e 00 9021 9016 mov ax, strict word 00040h ; b8 40 00 9022 call 0166eh ; e8 19 b69017 call 0166eh ; e8 d3 b5 9023 9018 mov word [bp-008h], 00122h ; c7 46 f8 22 01 9024 9019 mov word [bp-006h], ax ; 89 46 fa … … 9026 9021 mov dx, 0008eh ; ba 8e 00 9027 9022 mov ax, strict word 00040h ; b8 40 00 9028 call 01660h ; e8 f8b59023 call 01660h ; e8 b2 b5 9029 9024 mov ax, word [bp+00eh] ; 8b 46 0e 9030 9025 xor ah, ah ; 30 e4 9031 9026 cmp ax, 00080h ; 3d 80 00 9032 jc short 060 77h ; 72 059027 jc short 060bdh ; 72 05 9033 9028 cmp ax, 00090h ; 3d 90 00 9034 jc short 060 96h ; 72 1f9029 jc short 060dch ; 72 1f 9035 9030 mov ax, word [bp+00eh] ; 8b 46 0e 9036 9031 xor ah, ah ; 30 e4 … … 9044 9039 mov ax, strict word 00004h ; b8 04 00 9045 9040 push ax ; 50 9046 call 01976h ; e8 e6b89041 call 01976h ; e8 a0 b8 9047 9042 add sp, strict byte 0000ah ; 83 c4 0a 9048 jmp near 065 46h ; e9 b0 049043 jmp near 0658ch ; e9 b0 04 9049 9044 mov ax, word [bp+00eh] ; 8b 46 0e 9050 9045 xor ah, ah ; 30 e4 … … 9054 9049 mov byte [bp-004h], dl ; 88 56 fc 9055 9050 cmp dl, 010h ; 80 fa 10 9056 jc short 06 0bbh ; 72 0e9051 jc short 06101h ; 72 0e 9057 9052 push ax ; 50 9058 9053 mov al, byte [bp+017h] ; 8a 46 17 … … 9061 9056 push ax ; 50 9062 9057 mov ax, 006b8h ; b8 b8 06 9063 jmp short 060 88h ; eb cd9058 jmp short 060ceh ; eb cd 9064 9059 mov bl, byte [bp+017h] ; 8a 5e 17 9065 9060 xor bh, bh ; 30 ff 9066 9061 sub bx, strict byte 00041h ; 83 eb 41 9067 9062 cmp bx, strict byte 0000fh ; 83 fb 0f 9068 jnbe short 06 0ech ; 77 249063 jnbe short 06132h ; 77 24 9069 9064 sal bx, 1 ; d1 e3 9070 9065 mov ax, word [bp+016h] ; 8b 46 16 9071 9066 xor ah, ah ; 30 e4 9072 jmp word [cs:bx+060 1ah] ; 2e ff a7 1a609067 jmp word [cs:bx+06060h] ; 2e ff a7 60 60 9073 9068 mov word [bp+010h], 0aa55h ; c7 46 10 55 aa 9074 9069 mov ax, word [bp+016h] ; 8b 46 16 … … 9077 9072 mov word [bp+016h], ax ; 89 46 16 9078 9073 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 9079 jmp near 065 1dh ; e9 31 049074 jmp near 06563h ; e9 31 04 9080 9075 mov bx, 00da0h ; bb a0 0d 9081 9076 mov cx, ds ; 8c d9 9082 9077 mov ax, strict word 00004h ; b8 04 00 9083 call 01933h ; e8 3c b89078 call 01933h ; e8 f6 b7 9084 9079 mov al, byte [bp+017h] ; 8a 46 17 9085 9080 xor ah, ah ; 30 e4 … … 9088 9083 push ax ; 50 9089 9084 mov ax, 007c7h ; b8 c7 07 9090 jmp near 061 a4h ; e9 9d 009085 jmp near 061eah ; e9 9d 00 9091 9086 mov di, word [bp+00ah] ; 8b 7e 0a 9092 9087 mov es, [bp+004h] ; 8e 46 04 … … 9104 9099 xor bx, bx ; 31 db 9105 9100 mov si, strict word 00020h ; be 20 00 9106 call 0a0 70h ; e8 363f9101 call 0a0b0h ; e8 30 3f 9107 9102 mov word [bp-00eh], ax ; 89 46 f2 9108 9103 mov word [bp-010h], bx ; 89 5e f0 … … 9121 9116 mov dx, word [bp-00eh] ; 8b 56 f2 9122 9117 cmp dx, word [es:bx+03ch] ; 26 3b 57 3c 9123 jnbe short 061 8ch ; 77 229124 jne short 061 b2h ; 75 469118 jnbe short 061d2h ; 77 22 9119 jne short 061f8h ; 75 46 9125 9120 mov dx, word [bp-010h] ; 8b 56 f0 9126 9121 cmp dx, word [es:bx+03ah] ; 26 3b 57 3a 9127 jnbe short 061 8ch ; 77 179122 jnbe short 061d2h ; 77 17 9128 9123 mov dx, word [bp-010h] ; 8b 56 f0 9129 9124 cmp dx, word [es:bx+03ah] ; 26 3b 57 3a 9130 jne short 061 b2h ; 75 349125 jne short 061f8h ; 75 34 9131 9126 cmp cx, word [es:bx+038h] ; 26 3b 4f 38 9132 jnbe short 061 8ch ; 77 089133 jne short 061 b2h ; 75 2c9127 jnbe short 061d2h ; 77 08 9128 jne short 061f8h ; 75 2c 9134 9129 cmp si, word [es:bx+036h] ; 26 3b 77 36 9135 jc short 061 b2h ; 72 269130 jc short 061f8h ; 72 26 9136 9131 mov bx, 00da0h ; bb a0 0d 9137 9132 mov cx, ds ; 8c d9 9138 9133 mov ax, strict word 00004h ; b8 04 00 9139 call 01933h ; e8 9cb79134 call 01933h ; e8 56 b7 9140 9135 mov al, byte [bp+017h] ; 8a 46 17 9141 9136 xor ah, ah ; 30 e4 … … 9147 9142 mov ax, strict word 00004h ; b8 04 00 9148 9143 push ax ; 50 9149 call 01976h ; e8 cab79144 call 01976h ; e8 84 b7 9150 9145 add sp, strict byte 00008h ; 83 c4 08 9151 jmp near 065 46h ; e9 94 039146 jmp near 0658ch ; e9 94 03 9152 9147 mov ah, byte [bp+017h] ; 8a 66 17 9153 9148 mov byte [bp-012h], ah ; 88 66 ee 9154 9149 mov byte [bp-011h], 000h ; c6 46 ef 00 9155 9150 cmp word [bp-012h], strict byte 00044h ; 83 7e ee 44 9156 je short 06 1c8h ; 74 069151 je short 0620eh ; 74 06 9157 9152 cmp word [bp-012h], strict byte 00047h ; 83 7e ee 47 9158 jne short 06 1cbh ; 75 039159 jmp near 065 19h ; e9 4e 039153 jne short 06211h ; 75 03 9154 jmp near 0655fh ; e9 4e 03 9160 9155 les bx, [bp-008h] ; c4 5e f8 9161 9156 mov word [es:bx+018h], strict word 00000h ; 26 c7 47 18 00 00 … … 9195 9190 mov word [es:bx+002h], ax ; 26 89 47 02 9196 9191 test dl, dl ; 84 d2 9197 je short 062 a0h ; 74 549192 je short 062e6h ; 74 54 9198 9193 mov bx, 00da0h ; bb a0 0d 9199 9194 mov cx, ds ; 8c d9 9200 9195 mov ax, strict word 00004h ; b8 04 00 9201 call 01933h ; e8 dcb69196 call 01933h ; e8 96 b6 9202 9197 mov al, dl ; 88 d0 9203 9198 xor ah, ah ; 30 e4 … … 9210 9205 mov ax, strict word 00004h ; b8 04 00 9211 9206 push ax ; 50 9212 call 01976h ; e8 08 b79207 call 01976h ; e8 c2 b6 9213 9208 add sp, strict byte 0000ah ; 83 c4 0a 9214 9209 mov ax, word [bp+016h] ; 8b 46 16 9215 9210 xor ah, ah ; 30 e4 9216 9211 or ah, 00ch ; 80 cc 0c 9217 jmp near 065 4eh ; e9 d2 029212 jmp near 06594h ; e9 d2 02 9218 9213 or ah, 0b2h ; 80 cc b2 9219 jmp near 065 4eh ; e9 cc 029214 jmp near 06594h ; e9 cc 02 9220 9215 mov bx, word [bp+00ah] ; 8b 5e 0a 9221 9216 mov ax, word [bp+004h] ; 8b 46 04 … … 9227 9222 mov word [bp-014h], ax ; 89 46 ec 9228 9223 cmp ax, strict word 0001ah ; 3d 1a 00 9229 jnc short 062 a3h ; 73 069230 jmp near 065 46h ; e9 a6 029231 jmp near 065 19h ; e9 76 029232 jnc short 062 a8h ; 73 039233 jmp near 063 3bh ; e9 93 009224 jnc short 062e9h ; 73 06 9225 jmp near 0658ch ; e9 a6 02 9226 jmp near 0655fh ; e9 76 02 9227 jnc short 062eeh ; 73 03 9228 jmp near 06381h ; e9 93 00 9234 9229 mov al, byte [bp-004h] ; 8a 46 fc 9235 9230 xor ah, ah ; 30 e4 … … 9269 9264 mov dx, si ; 89 f2 9270 9265 mov si, strict word 00020h ; be 20 00 9271 call 0a0 60h ; e8 2f3d9266 call 0a0a0h ; e8 29 3d 9272 9267 mov bx, di ; 89 fb 9273 9268 mov word [es:bx+014h], dx ; 26 89 57 14 9274 9269 mov word [es:bx+016h], cx ; 26 89 4f 16 9275 9270 cmp word [bp-014h], strict byte 0001eh ; 83 7e ec 1e 9276 jc short 063 adh ; 72 6c9271 jc short 063f3h ; 72 6c 9277 9272 mov es, [bp-00ah] ; 8e 46 f6 9278 9273 mov word [es:di], strict word 0001eh ; 26 c7 05 1e 00 … … 9305 9300 mov al, byte [es:bx+027h] ; 26 8a 47 27 9306 9301 test al, al ; 84 c0 9307 jne short 063 9eh ; 75 049302 jne short 063e4h ; 75 04 9308 9303 xor si, si ; 31 f6 9309 jmp short 063 a1h ; eb 039304 jmp short 063e7h ; eb 03 9310 9305 mov si, strict word 00008h ; be 08 00 9311 9306 or si, strict byte 00010h ; 83 ce 10 9312 9307 cmp AL, strict byte 001h ; 3c 01 9313 jne short 063 b0h ; 75 089308 jne short 063f6h ; 75 08 9314 9309 mov dx, strict word 00001h ; ba 01 00 9315 jmp short 063 b2h ; eb 059316 jmp near 064 48h ; e9 98 009310 jmp short 063f8h ; eb 05 9311 jmp near 0648eh ; e9 98 00 9317 9312 xor dx, dx ; 31 d2 9318 9313 or si, dx ; 09 d6 9319 9314 cmp AL, strict byte 003h ; 3c 03 9320 jne short 06 3bdh ; 75 059315 jne short 06403h ; 75 05 9321 9316 mov ax, strict word 00003h ; b8 03 00 9322 jmp short 06 3bfh ; eb 029317 jmp short 06405h ; eb 02 9323 9318 xor ax, ax ; 31 c0 9324 9319 or si, ax ; 09 c6 … … 9349 9344 xor bl, bl ; 30 db 9350 9345 xor bh, bh ; 30 ff 9351 jmp short 064 28h ; eb 059346 jmp short 0646eh ; eb 05 9352 9347 cmp bh, 00fh ; 80 ff 0f 9353 jnc short 064 3eh ; 73 169348 jnc short 06484h ; 73 16 9354 9349 mov al, bh ; 88 f8 9355 9350 xor ah, ah ; 30 e4 … … 9357 9352 add dx, 00356h ; 81 c2 56 03 9358 9353 mov ax, word [bp-018h] ; 8b 46 e8 9359 call 01652h ; e8 1a b29354 call 01652h ; e8 d4 b1 9360 9355 add bl, al ; 00 c3 9361 9356 db 0feh, 0c7h 9362 9357 ; inc bh ; fe c7 9363 jmp short 064 23h ; eb e59358 jmp short 06469h ; eb e5 9364 9359 neg bl ; f6 db 9365 9360 les si, [bp-008h] ; c4 76 f8 9366 9361 mov byte [es:si+00243h], bl ; 26 88 9c 43 02 9367 9362 cmp word [bp-014h], strict byte 00042h ; 83 7e ec 42 9368 jnc short 064 51h ; 73 039369 jmp near 065 19h ; e9 c8 009363 jnc short 06497h ; 73 03 9364 jmp near 0655fh ; e9 c8 00 9370 9365 mov al, byte [bp-004h] ; 8a 46 fc 9371 9366 xor ah, ah ; 30 e4 … … 9387 9382 mov word [es:di+022h], strict word 00000h ; 26 c7 45 22 00 00 9388 9383 test al, al ; 84 c0 9389 jne short 064 9bh ; 75 0c9384 jne short 064e1h ; 75 0c 9390 9385 mov word [es:di+024h], 05349h ; 26 c7 45 24 49 53 9391 9386 mov word [es:di+026h], 02041h ; 26 c7 45 26 41 20 … … 9396 9391 mov word [es:di+02eh], 02020h ; 26 c7 45 2e 20 20 9397 9392 test al, al ; 84 c0 9398 jne short 06 4d0h ; 75 169393 jne short 06516h ; 75 16 9399 9394 mov word [es:di+030h], dx ; 26 89 55 30 9400 9395 mov word [es:di+032h], strict word 00000h ; 26 c7 45 32 00 00 … … 9411 9406 xor bl, bl ; 30 db 9412 9407 mov BH, strict byte 01eh ; b7 1e 9413 jmp short 06 4fbh ; eb 059408 jmp short 06541h ; eb 05 9414 9409 cmp bh, 040h ; 80 ff 40 9415 jnc short 065 10h ; 73 159410 jnc short 06556h ; 73 15 9416 9411 mov al, bh ; 88 f8 9417 9412 xor ah, ah ; 30 e4 … … 9419 9414 add dx, ax ; 01 c2 9420 9415 mov ax, word [bp+004h] ; 8b 46 04 9421 call 01652h ; e8 48b19416 call 01652h ; e8 02 b1 9422 9417 add bl, al ; 00 c3 9423 9418 db 0feh, 0c7h 9424 9419 ; inc bh ; fe c7 9425 jmp short 06 4f6h ; eb e69420 jmp short 0653ch ; eb e6 9426 9421 neg bl ; f6 db 9427 9422 mov es, [bp-00ah] ; 8e 46 f6 … … 9431 9426 mov dx, strict word 00074h ; ba 74 00 9432 9427 mov ax, strict word 00040h ; b8 40 00 9433 call 01660h ; e8 38 b19428 call 01660h ; e8 f2 b0 9434 9429 and byte [bp+01ch], 0feh ; 80 66 1c fe 9435 9430 mov sp, bp ; 89 ec … … 9437 9432 retn ; c3 9438 9433 cmp ax, strict word 00006h ; 3d 06 00 9439 je short 065 19h ; 74 e49434 je short 0655fh ; 74 e4 9440 9435 cmp ax, strict word 00001h ; 3d 01 00 9441 jc short 065 46h ; 72 0c9442 jbe short 065 19h ; 76 dd9436 jc short 0658ch ; 72 0c 9437 jbe short 0655fh ; 76 dd 9443 9438 cmp ax, strict word 00003h ; 3d 03 00 9444 jc short 065 46h ; 72 059439 jc short 0658ch ; 72 05 9445 9440 cmp ax, strict word 00004h ; 3d 04 00 9446 jbe short 065 19h ; 76 d39441 jbe short 0655fh ; 76 d3 9447 9442 mov ax, word [bp+016h] ; 8b 46 16 9448 9443 xor ah, ah ; 30 e4 … … 9453 9448 mov dx, strict word 00074h ; ba 74 00 9454 9449 mov ax, strict word 00040h ; b8 40 00 9455 call 01660h ; e8 01 b19450 call 01660h ; e8 bb b0 9456 9451 or byte [bp+01ch], 001h ; 80 4e 1c 01 9457 jmp short 065 2ch ; eb c79458 _int14_function: ; 0xf65 65LB 0x15c9452 jmp short 06572h ; eb c7 9453 _int14_function: ; 0xf65ab LB 0x15c 9459 9454 push bp ; 55 9460 9455 mov bp, sp ; 89 e5 … … 9464 9459 sal dx, 1 ; d1 e2 9465 9460 mov ax, strict word 00040h ; b8 40 00 9466 call 0166eh ; e8 f9b09461 call 0166eh ; e8 b3 b0 9467 9462 mov si, ax ; 89 c6 9468 9463 mov bx, ax ; 89 c3 … … 9470 9465 add dx, strict byte 0007ch ; 83 c2 7c 9471 9466 mov ax, strict word 00040h ; b8 40 00 9472 call 01652h ; e8 cdb09467 call 01652h ; e8 87 b0 9473 9468 mov cl, al ; 88 c1 9474 9469 cmp word [bp+00eh], strict byte 00004h ; 83 7e 0e 04 9475 jnc short 065 91h ; 73 049470 jnc short 065d7h ; 73 04 9476 9471 test si, si ; 85 f6 9477 jnbe short 065 94h ; 77 039478 jmp near 066 b7h ; e9 23 019472 jnbe short 065dah ; 77 03 9473 jmp near 066fdh ; e9 23 01 9479 9474 mov al, byte [bp+013h] ; 8a 46 13 9480 9475 cmp AL, strict byte 001h ; 3c 01 9481 jc short 065 a8h ; 72 0d9482 jbe short 066 08h ; 76 6b9476 jc short 065eeh ; 72 0d 9477 jbe short 0664eh ; 76 6b 9483 9478 cmp AL, strict byte 003h ; 3c 03 9484 je short 066 00h ; 74 5f9479 je short 06646h ; 74 5f 9485 9480 cmp AL, strict byte 002h ; 3c 02 9486 je short 066 03h ; 74 5e9487 jmp near 066 b1h ; e9 09 019481 je short 06649h ; 74 5e 9482 jmp near 066f7h ; e9 09 01 9488 9483 test al, al ; 84 c0 9489 jne short 066 05h ; 75 599484 jne short 0664bh ; 75 59 9490 9485 lea dx, [bx+003h] ; 8d 57 03 9491 9486 in AL, DX ; ec … … 9497 9492 mov al, byte [bp+012h] ; 8a 46 12 9498 9493 test AL, strict byte 0e0h ; a8 e0 9499 jne short 06 5cbh ; 75 0c9494 jne short 06611h ; 75 0c 9500 9495 mov AL, strict byte 017h ; b0 17 9501 9496 mov dx, bx ; 89 da … … 9504 9499 mov dx, si ; 89 f2 9505 9500 out DX, AL ; ee 9506 jmp short 06 5e2h ; eb 179501 jmp short 06628h ; eb 17 9507 9502 and AL, strict byte 0e0h ; 24 e0 9508 9503 xor ah, ah ; 30 e4 … … 9531 9526 ; sub ah, ah ; 2a e4 9532 9527 mov byte [bp+012h], al ; 88 46 12 9533 jmp near 066 92h ; e9 92 009534 jmp near 066 a0h ; e9 9d 009535 jmp short 066 56h ; eb 519536 jmp near 066 b1h ; e9 a9 009528 jmp near 066d8h ; e9 92 00 9529 jmp near 066e6h ; e9 9d 00 9530 jmp short 0669ch ; eb 51 9531 jmp near 066f7h ; e9 a9 00 9537 9532 mov dx, strict word 0006ch ; ba 6c 00 9538 9533 mov ax, strict word 00040h ; b8 40 00 9539 call 0166eh ; e8 5db09534 call 0166eh ; e8 17 b0 9540 9535 mov si, ax ; 89 c6 9541 9536 lea dx, [bx+005h] ; 8d 57 05 … … 9545 9540 and ax, strict word 00060h ; 25 60 00 9546 9541 cmp ax, strict word 00060h ; 3d 60 00 9547 je short 066 38h ; 74 179542 je short 0667eh ; 74 17 9548 9543 test cl, cl ; 84 c9 9549 je short 066 38h ; 74 139544 je short 0667eh ; 74 13 9550 9545 mov dx, strict word 0006ch ; ba 6c 00 9551 9546 mov ax, strict word 00040h ; b8 40 00 9552 call 0166eh ; e8 40 b09547 call 0166eh ; e8 fa af 9553 9548 cmp ax, si ; 39 f0 9554 je short 066 13h ; 74 e19549 je short 06659h ; 74 e1 9555 9550 mov si, ax ; 89 c6 9556 9551 db 0feh, 0c9h 9557 9552 ; dec cl ; fe c9 9558 jmp short 066 13h ; eb db9553 jmp short 06659h ; eb db 9559 9554 test cl, cl ; 84 c9 9560 je short 066 42h ; 74 069555 je short 06688h ; 74 06 9561 9556 mov al, byte [bp+012h] ; 8a 46 12 9562 9557 mov dx, bx ; 89 da … … 9568 9563 mov byte [bp+013h], al ; 88 46 13 9569 9564 test cl, cl ; 84 c9 9570 jne short 066 92h ; 75 439565 jne short 066d8h ; 75 43 9571 9566 or AL, strict byte 080h ; 0c 80 9572 9567 mov byte [bp+013h], al ; 88 46 13 9573 jmp short 066 92h ; eb 3c9568 jmp short 066d8h ; eb 3c 9574 9569 mov dx, strict word 0006ch ; ba 6c 00 9575 9570 mov ax, strict word 00040h ; b8 40 00 9576 call 0166eh ; e8 0f b09571 call 0166eh ; e8 c9 af 9577 9572 mov si, ax ; 89 c6 9578 9573 lea dx, [bx+005h] ; 8d 57 05 … … 9581 9576 ; sub ah, ah ; 2a e4 9582 9577 test AL, strict byte 001h ; a8 01 9583 jne short 066 82h ; 75 179578 jne short 066c8h ; 75 17 9584 9579 test cl, cl ; 84 c9 9585 je short 066 82h ; 74 139580 je short 066c8h ; 74 13 9586 9581 mov dx, strict word 0006ch ; ba 6c 00 9587 9582 mov ax, strict word 00040h ; b8 40 00 9588 call 0166eh ; e8 f6af9583 call 0166eh ; e8 b0 af 9589 9584 cmp ax, si ; 39 f0 9590 je short 066 61h ; 74 e59585 je short 066a7h ; 74 e5 9591 9586 mov si, ax ; 89 c6 9592 9587 db 0feh, 0c9h 9593 9588 ; dec cl ; fe c9 9594 jmp short 066 61h ; eb df9589 jmp short 066a7h ; eb df 9595 9590 test cl, cl ; 84 c9 9596 je short 066 98h ; 74 129591 je short 066deh ; 74 12 9597 9592 mov byte [bp+013h], 000h ; c6 46 13 00 9598 9593 mov dx, bx ; 89 da … … 9602 9597 mov byte [bp+012h], al ; 88 46 12 9603 9598 and byte [bp+01ch], 0feh ; 80 66 1c fe 9604 jmp short 06 6bbh ; eb 239599 jmp short 06701h ; eb 23 9605 9600 lea dx, [bx+005h] ; 8d 57 05 9606 9601 in AL, DX ; ec 9607 9602 db 02ah, 0e4h 9608 9603 ; sub ah, ah ; 2a e4 9609 jmp short 066 51h ; eb b19604 jmp short 06697h ; eb b1 9610 9605 lea dx, [si+005h] ; 8d 54 05 9611 9606 in AL, DX ; ec … … 9617 9612 db 02ah, 0e4h 9618 9613 ; sub ah, ah ; 2a e4 9619 jmp short 066 8fh ; eb de9614 jmp short 066d5h ; eb de 9620 9615 or byte [bp+01ch], 001h ; 80 4e 1c 01 9621 jmp short 06 6bbh ; eb 049616 jmp short 06701h ; eb 04 9622 9617 or byte [bp+01ch], 001h ; 80 4e 1c 01 9623 9618 lea sp, [bp-002h] ; 8d 66 fe … … 9625 9620 pop bp ; 5d 9626 9621 retn ; c3 9627 timer_wait_: ; 0xf6 6c1LB 0x439622 timer_wait_: ; 0xf6707 LB 0x43 9628 9623 push bp ; 55 9629 9624 mov bp, sp ; 89 e5 … … 9633 9628 mov bx, strict word 0000fh ; bb 0f 00 9634 9629 xor cx, cx ; 31 c9 9635 call 0a0 30h ; e8 61399630 call 0a070h ; e8 5b 39 9636 9631 mov cx, ax ; 89 c1 9637 9632 mov bx, dx ; 89 d3 … … 9645 9640 adc bx, strict byte 0ffffh ; 83 d3 ff 9646 9641 cmp bx, strict byte 0ffffh ; 83 fb ff 9647 jne short 06 6eeh ; 75 059642 jne short 06734h ; 75 05 9648 9643 cmp cx, strict byte 0ffffh ; 83 f9 ff 9649 je short 06 6fdh ; 74 0f9644 je short 06743h ; 74 0f 9650 9645 mov dx, strict word 00061h ; ba 61 00 9651 9646 in AL, DX ; ec … … 9654 9649 and AL, strict byte 010h ; 24 10 9655 9650 cmp al, byte [bp-006h] ; 3a 46 fa 9656 jne short 06 6eeh ; 75 f39657 jmp short 06 6deh ; eb e19651 jne short 06734h ; 75 f3 9652 jmp short 06724h ; eb e1 9658 9653 lea sp, [bp-004h] ; 8d 66 fc 9659 9654 pop cx ; 59 … … 9661 9656 pop bp ; 5d 9662 9657 retn ; c3 9663 set_enable_a20_: ; 0xf67 04LB 0x309658 set_enable_a20_: ; 0xf674a LB 0x30 9664 9659 push bp ; 55 9665 9660 mov bp, sp ; 89 e5 … … 9674 9669 mov cl, al ; 88 c1 9675 9670 test bx, bx ; 85 db 9676 je short 067 1dh ; 74 059671 je short 06763h ; 74 05 9677 9672 or AL, strict byte 002h ; 0c 02 9678 9673 out DX, AL ; ee 9679 jmp short 067 20h ; eb 039674 jmp short 06766h ; eb 03 9680 9675 and AL, strict byte 0fdh ; 24 fd 9681 9676 out DX, AL ; ee 9682 9677 test cl, 002h ; f6 c1 02 9683 je short 067 2ah ; 74 059678 je short 06770h ; 74 05 9684 9679 mov ax, strict word 00001h ; b8 01 00 9685 jmp short 067 2ch ; eb 029680 jmp short 06772h ; eb 02 9686 9681 xor ax, ax ; 31 c0 9687 9682 lea sp, [bp-006h] ; 8d 66 fa … … 9691 9686 pop bp ; 5d 9692 9687 retn ; c3 9693 set_e820_range_: ; 0xf67 34LB 0x889688 set_e820_range_: ; 0xf677a LB 0x88 9694 9689 push si ; 56 9695 9690 push bp ; 55 … … 9721 9716 retn 0000ah ; c2 0a 00 9722 9717 db 0ech, 0e9h, 0d8h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 083h, 052h, 04fh, 041h, 024h, 000h 9723 db 0 c9h, 06ah, 0f8h, 067h, 00ch, 068h, 0a8h, 068h, 0aeh, 068h, 0b3h, 068h, 0b8h, 068h, 060h, 069h9724 db 0 84h, 069h, 0a1h, 068h, 0a1h, 068h, 04eh, 06ah, 079h, 06ah, 08ch, 06ah, 09bh, 06ah, 0a8h, 068h9725 db 0 a4h, 06ah9726 _int15_function: ; 0xf6 7bcLB 0x3439718 db 00fh, 06bh, 03eh, 068h, 052h, 068h, 0eeh, 068h, 0f4h, 068h, 0f9h, 068h, 0feh, 068h, 0a6h, 069h 9719 db 0cah, 069h, 0e7h, 068h, 0e7h, 068h, 094h, 06ah, 0bfh, 06ah, 0d2h, 06ah, 0e1h, 06ah, 0eeh, 068h 9720 db 0eah, 06ah 9721 _int15_function: ; 0xf6802 LB 0x343 9727 9722 push bp ; 55 9728 9723 mov bp, sp ; 89 e5 … … 9733 9728 mov dx, ax ; 89 c2 9734 9729 cmp ax, 000ech ; 3d ec 00 9735 jnbe short 068 02h ; 77 359730 jnbe short 06848h ; 77 35 9736 9731 push CS ; 0e 9737 9732 pop ES ; 07 9738 9733 mov cx, strict word 00011h ; b9 11 00 9739 mov di, 067 8ah ; bf 8a679734 mov di, 067d0h ; bf d0 67 9740 9735 repne scasb ; f2 ae 9741 9736 sal cx, 1 ; d1 e1 9742 9737 mov di, cx ; 89 cf 9743 mov si, word [cs:di+067 9ah] ; 2e 8b b5 9a679738 mov si, word [cs:di+067e0h] ; 2e 8b b5 e0 67 9744 9739 mov ax, word [bp+012h] ; 8b 46 12 9745 9740 xor ah, ah ; 30 e4 … … 9754 9749 xor ah, ah ; 30 e4 9755 9750 cmp ax, 000c0h ; 3d c0 00 9756 je short 068 05h ; 74 039757 jmp near 06 ac9h ; e9 c4 029751 je short 0684bh ; 74 03 9752 jmp near 06b0fh ; e9 c4 02 9758 9753 or byte [bp+018h], 001h ; 80 4e 18 01 9759 jmp near 06a 70h ; e9 64 029754 jmp near 06ab6h ; e9 64 02 9760 9755 mov dx, ax ; 89 c2 9761 9756 cmp ax, strict word 00001h ; 3d 01 00 9762 jc short 068 21h ; 72 0e9763 jbe short 068 35h ; 76 209757 jc short 06867h ; 72 0e 9758 jbe short 0687bh ; 76 20 9764 9759 cmp ax, strict word 00003h ; 3d 03 00 9765 je short 068 66h ; 74 4c9760 je short 068ach ; 74 4c 9766 9761 cmp ax, strict word 00002h ; 3d 02 00 9767 je short 068 45h ; 74 269768 jmp short 068 73h ; eb 529762 je short 0688bh ; 74 26 9763 jmp short 068b9h ; eb 52 9769 9764 test ax, ax ; 85 c0 9770 jne short 068 73h ; 75 4e9765 jne short 068b9h ; 75 4e 9771 9766 xor ax, ax ; 31 c0 9772 call 067 04h ; e8 da fe9767 call 0674ah ; e8 da fe 9773 9768 and byte [bp+018h], 0feh ; 80 66 18 fe 9774 9769 mov byte [bp+013h], 000h ; c6 46 13 00 9775 jmp near 068 a1h ; e9 6c 009770 jmp near 068e7h ; e9 6c 00 9776 9771 mov ax, strict word 00001h ; b8 01 00 9777 call 067 04h ; e8 c9 fe9772 call 0674ah ; e8 c9 fe 9778 9773 and byte [bp+018h], 0feh ; 80 66 18 fe 9779 9774 mov byte [bp+013h], dh ; 88 76 13 9780 jmp near 068 a1h ; e9 5c 009775 jmp near 068e7h ; e9 5c 00 9781 9776 mov dx, 00092h ; ba 92 00 9782 9777 in AL, DX ; ec … … 9792 9787 xor al, dl ; 30 d0 9793 9788 mov byte [bp+013h], al ; 88 46 13 9794 jmp near 068 a1h ; e9 3b 009789 jmp near 068e7h ; e9 3b 00 9795 9790 and byte [bp+018h], 0feh ; 80 66 18 fe 9796 9791 mov byte [bp+013h], ah ; 88 66 13 9797 9792 mov word [bp+00ch], ax ; 89 46 0c 9798 jmp near 068 a1h ; e9 2e 009793 jmp near 068e7h ; e9 2e 00 9799 9794 mov bx, 00da0h ; bb a0 0d 9800 9795 mov cx, ds ; 8c d9 9801 9796 mov ax, strict word 00004h ; b8 04 00 9802 call 01933h ; e8 b5b09797 call 01933h ; e8 6f b0 9803 9798 mov ax, word [bp+012h] ; 8b 46 12 9804 9799 xor ah, ah ; 30 e4 … … 9808 9803 mov ax, strict word 00004h ; b8 04 00 9809 9804 push ax ; 50 9810 call 01976h ; e8 e7b09805 call 01976h ; e8 a1 b0 9811 9806 add sp, strict byte 00006h ; 83 c4 06 9812 9807 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9821 9816 retn ; c3 9822 9817 mov word [bp+018h], dx ; 89 56 18 9823 jmp near 069 5ah ; e9 ac 009818 jmp near 069a0h ; e9 ac 00 9824 9819 mov word [bp+018h], dx ; 89 56 18 9825 jmp short 068 a1h ; eb ee9820 jmp short 068e7h ; eb ee 9826 9821 mov word [bp+018h], cx ; 89 4e 18 9827 jmp short 068 9eh ; eb e69822 jmp short 068e4h ; eb e6 9828 9823 test byte [bp+012h], 0ffh ; f6 46 12 ff 9829 jne short 069 2dh ; 75 6f9824 jne short 06973h ; 75 6f 9830 9825 mov dx, 000a0h ; ba a0 00 9831 9826 mov ax, strict word 00040h ; b8 40 00 9832 call 01652h ; e8 8bad9827 call 01652h ; e8 45 ad 9833 9828 test AL, strict byte 001h ; a8 01 9834 jne short 069 2ah ; 75 5f9829 jne short 06970h ; 75 5f 9835 9830 mov bx, strict word 00001h ; bb 01 00 9836 9831 mov dx, 000a0h ; ba a0 00 9837 9832 mov ax, strict word 00040h ; b8 40 00 9838 call 01660h ; e8 89ad9833 call 01660h ; e8 43 ad 9839 9834 mov bx, word [bp+014h] ; 8b 5e 14 9840 9835 mov dx, 00098h ; ba 98 00 9841 9836 mov ax, strict word 00040h ; b8 40 00 9842 call 0167ch ; e8 99ad9837 call 0167ch ; e8 53 ad 9843 9838 mov bx, word [bp+00ch] ; 8b 5e 0c 9844 9839 mov dx, 0009ah ; ba 9a 00 9845 9840 mov ax, strict word 00040h ; b8 40 00 9846 call 0167ch ; e8 8dad9841 call 0167ch ; e8 47 ad 9847 9842 mov bx, word [bp+00eh] ; 8b 5e 0e 9848 9843 mov dx, 0009ch ; ba 9c 00 9849 9844 mov ax, strict word 00040h ; b8 40 00 9850 call 0167ch ; e8 81ad9845 call 0167ch ; e8 3b ad 9851 9846 mov bx, word [bp+010h] ; 8b 5e 10 9852 9847 mov dx, 0009eh ; ba 9e 00 9853 9848 mov ax, strict word 00040h ; b8 40 00 9854 call 0167ch ; e8 75ad9849 call 0167ch ; e8 2f ad 9855 9850 and byte [bp+018h], 0feh ; 80 66 18 fe 9856 9851 mov dx, 000a1h ; ba a1 00 … … 9861 9856 out DX, AL ; ee 9862 9857 mov ax, strict word 0000bh ; b8 0b 00 9863 call 016aeh ; e8 94ad9858 call 016aeh ; e8 4e ad 9864 9859 mov dl, al ; 88 c2 9865 9860 or dl, 040h ; 80 ca 40 9866 9861 xor dh, dh ; 30 f6 9867 9862 mov ax, strict word 0000bh ; b8 0b 00 9868 call 016c9h ; e8 a2ad9869 jmp near 068 a1h ; e9 77 ff9870 jmp near 06a 67h ; e9 3a 019863 call 016c9h ; e8 5c ad 9864 jmp near 068e7h ; e9 77 ff 9865 jmp near 06aadh ; e9 3a 01 9871 9866 cmp ax, strict word 00001h ; 3d 01 00 9872 jne short 069 4eh ; 75 1c9867 jne short 06994h ; 75 1c 9873 9868 xor bx, bx ; 31 db 9874 9869 mov dx, 000a0h ; ba a0 00 9875 9870 mov ax, strict word 00040h ; b8 40 00 9876 call 01660h ; e8 23 ad9871 call 01660h ; e8 dd ac 9877 9872 and byte [bp+018h], 0feh ; 80 66 18 fe 9878 9873 mov ax, strict word 0000bh ; b8 0b 00 9879 call 016aeh ; e8 67ad9874 call 016aeh ; e8 21 ad 9880 9875 mov dl, al ; 88 c2 9881 9876 and dl, 0bfh ; 80 e2 bf 9882 jmp short 069 1fh ; eb d19877 jmp short 06965h ; eb d1 9883 9878 mov word [bp+018h], dx ; 89 56 18 9884 9879 mov ax, bx ; 89 d8 … … 9888 9883 or bx, ax ; 09 c3 9889 9884 mov word [bp+012h], bx ; 89 5e 12 9890 jmp near 068 a1h ; e9 41 ff9885 jmp near 068e7h ; e9 41 ff 9891 9886 mov ax, strict word 00031h ; b8 31 00 9892 call 016aeh ; e8 48ad9887 call 016aeh ; e8 02 ad 9893 9888 mov dh, al ; 88 c6 9894 9889 mov ax, strict word 00030h ; b8 30 00 9895 call 016aeh ; e8 40 ad9890 call 016aeh ; e8 fa ac 9896 9891 mov dl, al ; 88 c2 9897 9892 mov word [bp+012h], dx ; 89 56 12 9898 9893 cmp dx, strict byte 0ffc0h ; 83 fa c0 9899 jbe short 069 7dh ; 76 059894 jbe short 069c3h ; 76 05 9900 9895 mov word [bp+012h], strict word 0ffc0h ; c7 46 12 c0 ff 9901 9896 and byte [bp+018h], 0feh ; 80 66 18 fe 9902 jmp near 068 a1h ; e9 1d ff9897 jmp near 068e7h ; e9 1d ff 9903 9898 cli ; fa 9904 9899 mov ax, strict word 00001h ; b8 01 00 9905 call 067 04h ; e8 79 fd9900 call 0674ah ; e8 79 fd 9906 9901 mov dx, word [bp+006h] ; 8b 56 06 9907 9902 add dx, strict byte 00038h ; 83 c2 38 9908 9903 mov ax, word [bp+014h] ; 8b 46 14 9909 9904 mov bx, strict word 0ffffh ; bb ff ff 9910 call 0167ch ; e8 e2ac9905 call 0167ch ; e8 9c ac 9911 9906 mov dx, word [bp+006h] ; 8b 56 06 9912 9907 add dx, strict byte 0003ah ; 83 c2 3a 9913 9908 mov ax, word [bp+014h] ; 8b 46 14 9914 9909 xor bx, bx ; 31 db 9915 call 0167ch ; e8 d4ac9910 call 0167ch ; e8 8e ac 9916 9911 mov dx, word [bp+006h] ; 8b 56 06 9917 9912 add dx, strict byte 0003ch ; 83 c2 3c 9918 9913 mov ax, word [bp+014h] ; 8b 46 14 9919 9914 mov bx, strict word 0000fh ; bb 0f 00 9920 call 01660h ; e8 a9ac9915 call 01660h ; e8 63 ac 9921 9916 mov dx, word [bp+006h] ; 8b 56 06 9922 9917 add dx, strict byte 0003dh ; 83 c2 3d 9923 9918 mov ax, word [bp+014h] ; 8b 46 14 9924 9919 mov bx, 0009bh ; bb 9b 00 9925 call 01660h ; e8 9aac9920 call 01660h ; e8 54 ac 9926 9921 mov dx, word [bp+006h] ; 8b 56 06 9927 9922 add dx, strict byte 0003eh ; 83 c2 3e 9928 9923 mov ax, word [bp+014h] ; 8b 46 14 9929 9924 xor bx, bx ; 31 db 9930 call 0167ch ; e8 a8ac9925 call 0167ch ; e8 62 ac 9931 9926 mov AL, strict byte 011h ; b0 11 9932 9927 mov dx, strict word 00020h ; ba 20 00 … … 9957 9952 out DX, AL ; ee 9958 9953 mov si, word [bp+006h] ; 8b 76 06 9959 call 06a 12h ; e8 00 009954 call 06a58h ; e8 00 00 9960 9955 pop di ; 5f 9961 9956 add di, strict byte 00018h ; 83 c7 18 … … 9985 9980 push cx ; 51 9986 9981 retf ; cb 9987 jmp near 068 a1h ; e9 53 fe9982 jmp near 068e7h ; e9 53 fe 9988 9983 mov bx, 00da0h ; bb a0 0d 9989 9984 mov cx, ds ; 8c d9 9990 9985 mov ax, strict word 00004h ; b8 04 00 9991 call 01933h ; e8 daae9986 call 01933h ; e8 94 ae 9992 9987 mov ax, 0086eh ; b8 6e 08 9993 9988 push ax ; 50 9994 9989 mov ax, strict word 00004h ; b8 04 00 9995 9990 push ax ; 50 9996 call 01976h ; e8 12 af9991 call 01976h ; e8 cc ae 9997 9992 add sp, strict byte 00004h ; 83 c4 04 9998 9993 or byte [bp+018h], 001h ; 80 4e 18 01 … … 10001 9996 or ah, 086h ; 80 cc 86 10002 9997 mov word [bp+012h], ax ; 89 46 12 10003 jmp near 068 a1h ; e9 28 fe9998 jmp near 068e7h ; e9 28 fe 10004 9999 mov word [bp+018h], cx ; 89 4e 18 10005 10000 mov word [bp+012h], ax ; 89 46 12 10006 10001 mov word [bp+00ch], 0e6f5h ; c7 46 0c f5 e6 10007 10002 mov word [bp+014h], 0f000h ; c7 46 14 00 f0 10008 jmp near 068 a1h ; e9 15 fe10003 jmp near 068e7h ; e9 15 fe 10009 10004 mov dx, strict word 0000eh ; ba 0e 00 10010 10005 mov ax, strict word 00040h ; b8 40 00 10011 call 0166eh ; e8 d9ab10006 call 0166eh ; e8 93 ab 10012 10007 mov word [bp+014h], ax ; 89 46 14 10013 jmp near 069 7dh ; e9 e2 fe10008 jmp near 069c3h ; e9 e2 fe 10014 10009 mov ax, 0089dh ; b8 9d 08 10015 10010 push ax ; 50 10016 10011 mov ax, strict word 00008h ; b8 08 00 10017 jmp short 06a 60h ; eb bc10012 jmp short 06aa6h ; eb bc 10018 10013 test byte [bp+012h], 0ffh ; f6 46 12 ff 10019 jne short 06 ac9h ; 75 1f10014 jne short 06b0fh ; 75 1f 10020 10015 mov word [bp+012h], ax ; 89 46 12 10021 10016 mov ax, word [bp+00ch] ; 8b 46 0c 10022 10017 xor ah, ah ; 30 e4 10023 10018 cmp ax, strict word 00001h ; 3d 01 00 10024 jc short 06 ac2h ; 72 0b10019 jc short 06b08h ; 72 0b 10025 10020 cmp ax, strict word 00003h ; 3d 03 00 10026 jnbe short 06 ac2h ; 77 0610021 jnbe short 06b08h ; 77 06 10027 10022 mov word [bp+018h], cx ; 89 4e 18 10028 jmp near 068 a1h ; e9 df fd10023 jmp near 068e7h ; e9 df fd 10029 10024 or byte [bp+018h], 001h ; 80 4e 18 01 10030 jmp near 068 a1h ; e9 d8 fd10025 jmp near 068e7h ; e9 d8 fd 10031 10026 mov bx, 00da0h ; bb a0 0d 10032 10027 mov cx, ds ; 8c d9 10033 10028 mov ax, strict word 00004h ; b8 04 00 10034 call 01933h ; e8 5fae10029 call 01933h ; e8 19 ae 10035 10030 push word [bp+00ch] ; ff 76 0c 10036 10031 push word [bp+012h] ; ff 76 12 … … 10039 10034 mov ax, strict word 00004h ; b8 04 00 10040 10035 push ax ; 50 10041 call 01976h ; e8 91ae10036 call 01976h ; e8 4b ae 10042 10037 add sp, strict byte 00008h ; 83 c4 08 10043 jmp near 06a 67h ; e9 7c ff10044 push 0926ch ; 68 6c 9210038 jmp near 06aadh ; e9 7c ff 10039 scasb ; ae 10045 10040 insb ; 6c 10046 jmp far 02f6dh:00f6ch ; ea 6c 0f 6d 2f10041 fsubr dword [si+030h] ; d8 6c 30 10047 10042 insw ; 6d 10048 dec si ; 4e10043 push bp ; 55 10049 10044 insw ; 6d 10050 je short 06b66h ; 74 6d 10051 call far 00b6dh:0d76dh ; 9a 6d d7 6d 0b 10045 jne short 06ba8h ; 75 6d 10046 xchg sp, ax ; 94 10047 insw ; 6d 10048 mov dx, 0e06dh ; ba 6d e0 10049 insw ; 6d 10050 sbb ax, 0516eh ; 1d 6e 51 10052 10051 outsb ; 6e 10053 _int15_function32: ; 0xf6 affLB 0x39e10052 _int15_function32: ; 0xf6b45 LB 0x39e 10054 10053 push bp ; 55 10055 10054 mov bp, sp ; 89 e5 … … 10063 10062 xor dh, dh ; 30 f6 10064 10063 cmp ax, 000e8h ; 3d e8 00 10065 je short 06b 65h ; 74 4a10064 je short 06babh ; 74 4a 10066 10065 cmp ax, 000d0h ; 3d d0 00 10067 je short 06b 32h ; 74 1210066 je short 06b78h ; 74 12 10068 10067 cmp ax, 00086h ; 3d 86 00 10069 jne short 06b 63h ; 75 3e10068 jne short 06ba9h ; 75 3e 10070 10069 sti ; fb 10071 10070 mov dx, word [bp+01ch] ; 8b 56 1c 10072 10071 mov ax, word [bp+018h] ; 8b 46 18 10073 call 06 6c1h ; e8 92 fb10074 jmp near 06 ce4h ; e9 b2 0110072 call 06707h ; e8 92 fb 10073 jmp near 06d2ah ; e9 b2 01 10075 10074 cmp dx, strict byte 0004fh ; 83 fa 4f 10076 jne short 06b 63h ; 75 2c10075 jne short 06ba9h ; 75 2c 10077 10076 cmp word [bp+016h], 05052h ; 81 7e 16 52 50 10078 jne short 06b 99h ; 75 5b10077 jne short 06bdfh ; 75 5b 10079 10078 cmp word [bp+014h], 04f43h ; 81 7e 14 43 4f 10080 jne short 06b 99h ; 75 5410079 jne short 06bdfh ; 75 54 10081 10080 cmp word [bp+01eh], 04d4fh ; 81 7e 1e 4f 4d 10082 jne short 06b 99h ; 75 4d10081 jne short 06bdfh ; 75 4d 10083 10082 cmp word [bp+01ch], 04445h ; 81 7e 1c 45 44 10084 jne short 06b 99h ; 75 4610083 jne short 06bdfh ; 75 46 10085 10084 mov ax, word [bp+00ah] ; 8b 46 0a 10086 10085 or ax, word [bp+008h] ; 0b 46 08 10087 jne short 06b 99h ; 75 3e10086 jne short 06bdfh ; 75 3e 10088 10087 mov ax, word [bp+006h] ; 8b 46 06 10089 10088 or ax, word [bp+004h] ; 0b 46 04 10090 je short 06b 67h ; 74 0410091 jmp short 06b 99h ; eb 3410092 jmp short 06b 8fh ; eb 2810089 je short 06badh ; 74 04 10090 jmp short 06bdfh ; eb 34 10091 jmp short 06bd5h ; eb 28 10093 10092 mov word [bp+028h], bx ; 89 5e 28 10094 10093 mov ax, word [bp+014h] ; 8b 46 14 … … 10102 10101 mov word [bp+020h], 03332h ; c7 46 20 32 33 10103 10102 mov word [bp+022h], 04941h ; c7 46 22 41 49 10104 jmp near 06 ce4h ; e9 55 0110103 jmp near 06d2ah ; e9 55 01 10105 10104 cmp dx, strict byte 00020h ; 83 fa 20 10106 je short 06b 9fh ; 74 0b10105 je short 06be5h ; 74 0b 10107 10106 cmp dx, strict byte 00001h ; 83 fa 01 10108 je short 06b 9ch ; 74 0310109 jmp near 06c b7h ; e9 1b 0110110 jmp near 06e 5dh ; e9 be 0210107 je short 06be2h ; 74 03 10108 jmp near 06cfdh ; e9 1b 01 10109 jmp near 06ea3h ; e9 be 02 10111 10110 cmp word [bp+01ah], 0534dh ; 81 7e 1a 4d 53 10112 jne short 06b 99h ; 75 f310111 jne short 06bdfh ; 75 f3 10113 10112 cmp word [bp+018h], 04150h ; 81 7e 18 50 41 10114 jne short 06b 99h ; 75 ec10113 jne short 06bdfh ; 75 ec 10115 10114 mov ax, strict word 00035h ; b8 35 00 10116 call 016aeh ; e8 fbaa10115 call 016aeh ; e8 b5 aa 10117 10116 mov bl, al ; 88 c3 10118 10117 xor bh, bh ; 30 ff … … 10121 10120 sal bx, 1 ; d1 e3 10122 10121 rcl dx, 1 ; d1 d2 10123 loop 06 bbch ; e2 fa10122 loop 06c02h ; e2 fa 10124 10123 mov ax, strict word 00034h ; b8 34 00 10125 call 016aeh ; e8 e6aa10124 call 016aeh ; e8 a0 aa 10126 10125 xor ah, ah ; 30 e4 10127 10126 mov dx, bx ; 89 da … … 10131 10130 adc dx, 00100h ; 81 d2 00 01 10132 10131 cmp dx, 00100h ; 81 fa 00 01 10133 jc short 06 be2h ; 72 0610134 jne short 06c 10h ; 75 3210132 jc short 06c28h ; 72 06 10133 jne short 06c56h ; 75 32 10135 10134 test bx, bx ; 85 db 10136 jnbe short 06c 10h ; 77 2e10135 jnbe short 06c56h ; 77 2e 10137 10136 mov ax, strict word 00031h ; b8 31 00 10138 call 016aeh ; e8 c6aa10137 call 016aeh ; e8 80 aa 10139 10138 mov bl, al ; 88 c3 10140 10139 xor bh, bh ; 30 ff … … 10143 10142 sal bx, 1 ; d1 e3 10144 10143 rcl dx, 1 ; d1 d2 10145 loop 06 bf1h ; e2 fa10144 loop 06c37h ; e2 fa 10146 10145 mov ax, strict word 00030h ; b8 30 00 10147 call 016aeh ; e8 b1aa10146 call 016aeh ; e8 6b aa 10148 10147 xor ah, ah ; 30 e4 10149 10148 or bx, ax ; 09 c3 … … 10151 10150 sal bx, 1 ; d1 e3 10152 10151 rcl dx, 1 ; d1 d2 10153 loop 06c 04h ; e2 fa10152 loop 06c4ah ; e2 fa 10154 10153 add bx, strict byte 00000h ; 83 c3 00 10155 10154 adc dx, strict byte 00010h ; 83 d2 10 10156 10155 mov ax, strict word 00062h ; b8 62 00 10157 call 016aeh ; e8 98aa10156 call 016aeh ; e8 52 aa 10158 10157 xor ah, ah ; 30 e4 10159 10158 mov word [bp-00ah], ax ; 89 46 f6 … … 10163 10162 sal word [bp-00ah], 1 ; d1 66 f6 10164 10163 rcl word [bp-008h], 1 ; d1 56 f8 10165 loop 06c 23h ; e2 f810164 loop 06c69h ; e2 f8 10166 10165 mov ax, strict word 00061h ; b8 61 00 10167 call 016aeh ; e8 7daa10166 call 016aeh ; e8 37 aa 10168 10167 xor ah, ah ; 30 e4 10169 10168 or word [bp-00ah], ax ; 09 46 f6 … … 10172 10171 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 10173 10172 mov ax, strict word 00063h ; b8 63 00 10174 call 016aeh ; e8 67aa10173 call 016aeh ; e8 21 aa 10175 10174 mov byte [bp-004h], al ; 88 46 fc 10176 10175 mov byte [bp-006h], al ; 88 46 fa 10177 10176 mov ax, word [bp+014h] ; 8b 46 14 10178 10177 cmp ax, strict word 00009h ; 3d 09 00 10179 jnbe short 06c b7h ; 77 6210178 jnbe short 06cfdh ; 77 62 10180 10179 mov si, ax ; 89 c6 10181 10180 sal si, 1 ; d1 e6 … … 10184 10183 mov cx, dx ; 89 d1 10185 10184 adc cx, strict byte 0ffffh ; 83 d1 ff 10186 jmp word [cs:si+06 aebh] ; 2e ff a4 eb 6a10185 jmp word [cs:si+06b31h] ; 2e ff a4 31 6b 10187 10186 mov ax, strict word 00001h ; b8 01 00 10188 10187 push ax ; 50 … … 10198 10197 xor bx, bx ; 31 db 10199 10198 xor cx, cx ; 31 c9 10200 call 067 34h ; e8 af fa10199 call 0677ah ; e8 af fa 10201 10200 mov word [bp+014h], strict word 00001h ; c7 46 14 01 00 10202 10201 mov word [bp+016h], strict word 00000h ; c7 46 16 00 00 10203 jmp near 06e 42h ; e9 b0 0110202 jmp near 06e88h ; e9 b0 01 10204 10203 mov ax, strict word 00002h ; b8 02 00 10205 10204 push ax ; 50 … … 10215 10214 mov bx, 0fc00h ; bb 00 fc 10216 10215 mov cx, strict word 00009h ; b9 09 00 10217 call 067 34h ; e8 84 fa10216 call 0677ah ; e8 84 fa 10218 10217 mov word [bp+014h], strict word 00002h ; c7 46 14 02 00 10219 jmp short 06c 8ah ; eb d310218 jmp short 06cd0h ; eb d3 10220 10219 mov bx, 00da0h ; bb a0 0d 10221 10220 mov cx, ds ; 8c d9 10222 10221 mov ax, strict word 00004h ; b8 04 00 10223 call 01933h ; e8 71ac10222 call 01933h ; e8 2b ac 10224 10223 push word [bp+014h] ; ff 76 14 10225 10224 push word [bp+020h] ; ff 76 20 … … 10228 10227 mov ax, strict word 00004h ; b8 04 00 10229 10228 push ax ; 50 10230 call 01976h ; e8 a3ac10229 call 01976h ; e8 5d ac 10231 10230 add sp, strict byte 00008h ; 83 c4 08 10232 10231 or byte [bp+028h], 001h ; 80 4e 28 01 … … 10252 10251 xor bx, bx ; 31 db 10253 10252 mov cx, strict word 0000fh ; b9 0f 00 10254 call 067 34h ; e8 2d fa10253 call 0677ah ; e8 2d fa 10255 10254 mov word [bp+014h], strict word 00003h ; c7 46 14 03 00 10256 jmp near 06c 8ah ; e9 7b ff10255 jmp near 06cd0h ; e9 7b ff 10257 10256 mov dx, strict word 00001h ; ba 01 00 10258 10257 push dx ; 52 … … 10266 10265 xor bx, bx ; 31 db 10267 10266 mov cx, strict word 00010h ; b9 10 00 10268 call 067 34h ; e8 0d fa10267 call 0677ah ; e8 0d fa 10269 10268 mov word [bp+014h], strict word 00004h ; c7 46 14 04 00 10270 jmp near 06c 8ah ; e9 5b ff10269 jmp near 06cd0h ; e9 5b ff 10271 10270 mov si, strict word 00003h ; be 03 00 10272 10271 push si ; 56 … … 10280 10279 mov bx, ax ; 89 c3 10281 10280 mov ax, si ; 89 f0 10282 call 067 34h ; e8 ee f910281 call 0677ah ; e8 ee f9 10283 10282 mov word [bp+014h], strict word 00005h ; c7 46 14 05 00 10284 jmp near 06c 8ah ; e9 3c ff10283 jmp near 06cd0h ; e9 3c ff 10285 10284 mov ax, strict word 00002h ; b8 02 00 10286 10285 push ax ; 50 … … 10296 10295 xor bx, bx ; 31 db 10297 10296 mov cx, 0fec0h ; b9 c0 fe 10298 call 067 34h ; e8 c8 f910297 call 0677ah ; e8 c8 f9 10299 10298 mov word [bp+014h], strict word 00006h ; c7 46 14 06 00 10300 jmp near 06c 8ah ; e9 16 ff10299 jmp near 06cd0h ; e9 16 ff 10301 10300 mov ax, strict word 00002h ; b8 02 00 10302 10301 push ax ; 50 … … 10312 10311 xor bx, bx ; 31 db 10313 10312 mov cx, 0fee0h ; b9 e0 fe 10314 call 067 34h ; e8 a2 f910313 call 0677ah ; e8 a2 f9 10315 10314 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 10316 jmp near 06c 8ah ; e9 f0 fe10315 jmp near 06cd0h ; e9 f0 fe 10317 10316 mov ax, strict word 00002h ; b8 02 00 10318 10317 push ax ; 50 … … 10326 10325 xor bx, bx ; 31 db 10327 10326 mov cx, strict word 0fffch ; b9 fc ff 10328 call 067 34h ; e8 82 f910327 call 0677ah ; e8 82 f9 10329 10328 cmp byte [bp-004h], 000h ; 80 7e fc 00 10330 jne short 06 dbfh ; 75 0710329 jne short 06e05h ; 75 07 10331 10330 mov ax, word [bp-008h] ; 8b 46 f8 10332 10331 test ax, ax ; 85 c0 10333 je short 06 dcfh ; 74 1010332 je short 06e15h ; 74 10 10334 10333 mov word [bp+014h], strict word 00009h ; c7 46 14 09 00 10335 jmp near 06c 8ah ; e9 c3 fe10334 jmp near 06cd0h ; e9 c3 fe 10336 10335 mov word [bp+014h], strict word 00008h ; c7 46 14 08 00 10337 jmp near 06c 8ah ; e9 bb fe10336 jmp near 06cd0h ; e9 bb fe 10338 10337 mov word [bp+014h], ax ; 89 46 14 10339 10338 mov word [bp+016h], ax ; 89 46 16 10340 jmp short 06e 42h ; eb 6b10339 jmp short 06e88h ; eb 6b 10341 10340 mov ax, strict word 00002h ; b8 02 00 10342 10341 push ax ; 50 … … 10350 10349 xor bx, bx ; 31 db 10351 10350 xor cx, cx ; 31 c9 10352 call 067 34h ; e8 46 f910351 call 0677ah ; e8 46 f9 10353 10352 cmp byte [bp-004h], 000h ; 80 7e fc 00 10354 jne short 06 dfbh ; 75 0710353 jne short 06e41h ; 75 07 10355 10354 mov ax, word [bp-008h] ; 8b 46 f8 10356 10355 test ax, ax ; 85 c0 10357 je short 06e 03h ; 74 0810356 je short 06e49h ; 74 08 10358 10357 mov word [bp+014h], strict word 00009h ; c7 46 14 09 00 10359 jmp near 06c 8ah ; e9 87 fe10358 jmp near 06cd0h ; e9 87 fe 10360 10359 mov word [bp+014h], ax ; 89 46 14 10361 10360 mov word [bp+016h], ax ; 89 46 16 10362 jmp short 06e 42h ; eb 3710361 jmp short 06e88h ; eb 37 10363 10362 cmp byte [bp-004h], 000h ; 80 7e fc 00 10364 jne short 06e 17h ; 75 0610363 jne short 06e5dh ; 75 06 10365 10364 cmp word [bp-008h], strict byte 00000h ; 83 7e f8 00 10366 je short 06e 42h ; 74 2b10365 je short 06e88h ; 74 2b 10367 10366 mov ax, strict word 00001h ; b8 01 00 10368 10367 push ax ; 50 … … 10380 10379 xor bx, bx ; 31 db 10381 10380 xor cx, cx ; 31 c9 10382 call 067 34h ; e8 fa f810381 call 0677ah ; e8 fa f8 10383 10382 xor ax, ax ; 31 c0 10384 10383 mov word [bp+014h], ax ; 89 46 14 … … 10389 10388 mov word [bp+01eh], strict word 00000h ; c7 46 1e 00 00 10390 10389 and byte [bp+028h], 0feh ; 80 66 28 fe 10391 jmp near 06 ce4h ; e9 87 fe10390 jmp near 06d2ah ; e9 87 fe 10392 10391 mov word [bp+028h], bx ; 89 5e 28 10393 10392 mov ax, strict word 00031h ; b8 31 00 10394 call 016aeh ; e8 48a810393 call 016aeh ; e8 02 a8 10395 10394 mov dh, al ; 88 c6 10396 10395 mov ax, strict word 00030h ; b8 30 00 10397 call 016aeh ; e8 40 a810396 call 016aeh ; e8 fa a7 10398 10397 mov dl, al ; 88 c2 10399 10398 mov word [bp+01ch], dx ; 89 56 1c 10400 10399 cmp dx, 03c00h ; 81 fa 00 3c 10401 jbe short 06e 7eh ; 76 0510400 jbe short 06ec4h ; 76 05 10402 10401 mov word [bp+01ch], 03c00h ; c7 46 1c 00 3c 10403 10402 mov ax, strict word 00035h ; b8 35 00 10404 call 016aeh ; e8 2a a810403 call 016aeh ; e8 e4 a7 10405 10404 mov dh, al ; 88 c6 10406 10405 mov ax, strict word 00034h ; b8 34 00 10407 call 016aeh ; e8 22 a810406 call 016aeh ; e8 dc a7 10408 10407 mov dl, al ; 88 c2 10409 10408 mov word [bp+018h], dx ; 89 56 18 … … 10411 10410 mov word [bp+020h], ax ; 89 46 20 10412 10411 mov word [bp+014h], dx ; 89 56 14 10413 jmp near 06 ce4h ; e9 47 fe10414 _inv_op_handler: ; 0xf6e 9dLB 0x18f10412 jmp near 06d2ah ; e9 47 fe 10413 _inv_op_handler: ; 0xf6ee3 LB 0x18f 10415 10414 push bp ; 55 10416 10415 mov bp, sp ; 89 e5 … … 10421 10420 les bx, [bp+018h] ; c4 5e 18 10422 10421 cmp byte [es:bx], 0f0h ; 26 80 3f f0 10423 jne short 06e b3h ; 75 0610422 jne short 06ef9h ; 75 06 10424 10423 inc word [bp+018h] ; ff 46 18 10425 jmp near 070 25h ; e9 72 0110424 jmp near 0706bh ; e9 72 01 10426 10425 cmp word [es:bx], 0050fh ; 26 81 3f 0f 05 10427 je short 06 ebdh ; 74 0310428 jmp near 070 21h ; e9 64 0110426 je short 06f03h ; 74 03 10427 jmp near 07067h ; e9 64 01 10429 10428 mov si, 00800h ; be 00 08 10430 10429 xor ax, ax ; 31 c0 … … 10455 10454 sal ax, 1 ; d1 e0 10456 10455 rcl dx, 1 ; d1 d2 10457 loop 06f 0eh ; e2 fa10456 loop 06f54h ; e2 fa 10458 10457 cmp bx, dx ; 39 d3 10459 jne short 06f 1ch ; 75 0410458 jne short 06f62h ; 75 04 10460 10459 cmp di, ax ; 39 c7 10461 je short 06f 21h ; 74 0510460 je short 06f67h ; 74 05 10462 10461 mov word [bp-006h], strict word 00001h ; c7 46 fa 01 00 10463 10462 mov es, [bp-008h] ; 8e 46 f8 … … 10470 10469 sal ax, 1 ; d1 e0 10471 10470 rcl dx, 1 ; d1 d2 10472 loop 06f 37h ; e2 fa10471 loop 06f7dh ; e2 fa 10473 10472 cmp bx, dx ; 39 d3 10474 jne short 06f 45h ; 75 0410473 jne short 06f8bh ; 75 04 10475 10474 cmp di, ax ; 39 c7 10476 je short 06f 49h ; 74 0410475 je short 06f8fh ; 74 04 10477 10476 or byte [bp-006h], 002h ; 80 4e fa 02 10478 10477 xor ax, ax ; 31 c0 … … 10524 10523 mov ax, strict word 00008h ; b8 08 00 10525 10524 test cx, strict word 00001h ; f7 c1 01 00 10526 je near 0 6fdeh ; 0f 84 02 0010525 je near 07024h ; 0f 84 02 00 10527 10526 mov es, ax ; 8e c0 10528 10527 test cx, strict word 00002h ; f7 c1 02 00 10529 je near 070 06h ; 0f 84 20 0010528 je near 0704ch ; 0f 84 20 00 10530 10529 mov bx, word [word ss:00000h] ; 36 8b 1e 00 00 10531 10530 mov word [word ss:00008h], bx ; 36 89 1e 08 00 … … 10544 10543 mov ss, [word ss:00020h] ; 36 8e 16 20 00 10545 10544 iret ; cf 10546 jmp short 070 25h ; eb 0410545 jmp short 0706bh ; eb 04 10547 10546 sti ; fb 10548 10547 hlt ; f4 10549 jmp short 070 22h ; eb fd10548 jmp short 07068h ; eb fd 10550 10549 lea sp, [bp-004h] ; 8d 66 fc 10551 10550 pop di ; 5f … … 10553 10552 pop bp ; 5d 10554 10553 retn ; c3 10555 init_rtc_: ; 0xf70 2cLB 0x2810554 init_rtc_: ; 0xf7072 LB 0x28 10556 10555 push bp ; 55 10557 10556 mov bp, sp ; 89 e5 … … 10559 10558 mov dx, strict word 00026h ; ba 26 00 10560 10559 mov ax, strict word 0000ah ; b8 0a 00 10561 call 016c9h ; e8 90a610560 call 016c9h ; e8 4a a6 10562 10561 mov dx, strict word 00002h ; ba 02 00 10563 10562 mov ax, strict word 0000bh ; b8 0b 00 10564 call 016c9h ; e8 87a610563 call 016c9h ; e8 41 a6 10565 10564 mov ax, strict word 0000ch ; b8 0c 00 10566 call 016aeh ; e8 66a610565 call 016aeh ; e8 20 a6 10567 10566 mov ax, strict word 0000dh ; b8 0d 00 10568 call 016aeh ; e8 60a610567 call 016aeh ; e8 1a a6 10569 10568 lea sp, [bp-002h] ; 8d 66 fe 10570 10569 pop dx ; 5a 10571 10570 pop bp ; 5d 10572 10571 retn ; c3 10573 rtc_updating_: ; 0xf70 54LB 0x2110572 rtc_updating_: ; 0xf709a LB 0x21 10574 10573 push bp ; 55 10575 10574 mov bp, sp ; 89 e5 … … 10577 10576 mov dx, 061a8h ; ba a8 61 10578 10577 dec dx ; 4a 10579 je short 070 6ch ; 74 0e10578 je short 070b2h ; 74 0e 10580 10579 mov ax, strict word 0000ah ; b8 0a 00 10581 call 016aeh ; e8 4aa610580 call 016aeh ; e8 04 a6 10582 10581 test AL, strict byte 080h ; a8 80 10583 jne short 070 5bh ; 75 f310582 jne short 070a1h ; 75 f3 10584 10583 xor ax, ax ; 31 c0 10585 jmp short 070 6fh ; eb 0310584 jmp short 070b5h ; eb 03 10586 10585 mov ax, strict word 00001h ; b8 01 00 10587 10586 lea sp, [bp-002h] ; 8d 66 fe … … 10589 10588 pop bp ; 5d 10590 10589 retn ; c3 10591 _int70_function: ; 0xf70 75LB 0xbf10590 _int70_function: ; 0xf70bb LB 0xbf 10592 10591 push bp ; 55 10593 10592 mov bp, sp ; 89 e5 … … 10595 10594 push ax ; 50 10596 10595 mov ax, strict word 0000bh ; b8 0b 00 10597 call 016aeh ; e8 2e a610596 call 016aeh ; e8 e8 a5 10598 10597 mov bl, al ; 88 c3 10599 10598 mov byte [bp-004h], al ; 88 46 fc 10600 10599 mov ax, strict word 0000ch ; b8 0c 00 10601 call 016aeh ; e8 23 a610600 call 016aeh ; e8 dd a5 10602 10601 mov dl, al ; 88 c2 10603 10602 test bl, 060h ; f6 c3 60 10604 jne short 070 95h ; 75 0310605 jmp near 071 1bh ; e9 86 0010603 jne short 070dbh ; 75 03 10604 jmp near 07161h ; e9 86 00 10606 10605 test AL, strict byte 020h ; a8 20 10607 je short 070 9dh ; 74 0410606 je short 070e3h ; 74 04 10608 10607 sti ; fb 10609 10608 int 04ah ; cd 4a 10610 10609 cli ; fa 10611 10610 test dl, 040h ; f6 c2 40 10612 je short 071 05h ; 74 6310611 je short 0714bh ; 74 63 10613 10612 mov dx, 000a0h ; ba a0 00 10614 10613 mov ax, strict word 00040h ; b8 40 00 10615 call 01652h ; e8 a7a510614 call 01652h ; e8 61 a5 10616 10615 test al, al ; 84 c0 10617 je short 071 1bh ; 74 6c10616 je short 07161h ; 74 6c 10618 10617 mov dx, 0009ch ; ba 9c 00 10619 10618 mov ax, strict word 00040h ; b8 40 00 10620 call 0168ah ; e8 d2a510619 call 0168ah ; e8 8c a5 10621 10620 test dx, dx ; 85 d2 10622 jne short 071 07h ; 75 4b10621 jne short 0714dh ; 75 4b 10623 10622 cmp ax, 003d1h ; 3d d1 03 10624 jnc short 071 07h ; 73 4610623 jnc short 0714dh ; 73 46 10625 10624 mov dx, 00098h ; ba 98 00 10626 10625 mov ax, strict word 00040h ; b8 40 00 10627 call 0166eh ; e8 a4a510626 call 0166eh ; e8 5e a5 10628 10627 mov si, ax ; 89 c6 10629 10628 mov dx, 0009ah ; ba 9a 00 10630 10629 mov ax, strict word 00040h ; b8 40 00 10631 call 0166eh ; e8 99a510630 call 0166eh ; e8 53 a5 10632 10631 mov cx, ax ; 89 c1 10633 10632 xor bx, bx ; 31 db 10634 10633 mov dx, 000a0h ; ba a0 00 10635 10634 mov ax, strict word 00040h ; b8 40 00 10636 call 01660h ; e8 7ea510635 call 01660h ; e8 38 a5 10637 10636 mov dl, byte [bp-004h] ; 8a 56 fc 10638 10637 and dl, 037h ; 80 e2 37 10639 10638 xor dh, dh ; 30 f6 10640 10639 mov ax, strict word 0000bh ; b8 0b 00 10641 call 016c9h ; e8 d9a510640 call 016c9h ; e8 93 a5 10642 10641 mov dx, cx ; 89 ca 10643 10642 mov ax, si ; 89 f0 10644 call 01652h ; e8 5ba510643 call 01652h ; e8 15 a5 10645 10644 mov bl, al ; 88 c3 10646 10645 or bl, 080h ; 80 cb 80 … … 10648 10647 mov dx, cx ; 89 ca 10649 10648 mov ax, si ; 89 f0 10650 call 01660h ; e8 5ba510651 jmp short 071 1bh ; eb 1410649 call 01660h ; e8 15 a5 10650 jmp short 07161h ; eb 14 10652 10651 mov bx, ax ; 89 c3 10653 10652 add bx, 0fc2fh ; 81 c3 2f fc … … 10656 10655 mov dx, 0009ch ; ba 9c 00 10657 10656 mov ax, strict word 00040h ; b8 40 00 10658 call 0169ch ; e8 81a510659 call 0e030h ; e8 12 6f10657 call 0169ch ; e8 3b a5 10658 call 0e030h ; e8 cc 6e 10660 10659 lea sp, [bp-002h] ; 8d 66 fe 10661 10660 pop si ; 5e 10662 10661 pop bp ; 5d 10663 10662 retn ; c3 10664 dec dx ; 4a10665 jno short 071 98h ; 71 7110666 jno short 07 0bfh ; 71 9610667 jno short 07 0fdh ; 71 d210668 j no short 07151h ; 71 2410669 jc short 071 8ah ; 72 5b10670 jc short 07 0d3h ; 72 a210671 jc short 071 30h ; 72 fd10672 db 07 2h10673 _int1a_function: ; 0xf71 34LB 0x1d910663 nop ; 90 10664 jno short 07124h ; 71 b7 10665 jno short 0714bh ; 71 dc 10666 jno short 07189h ; 71 18 10667 jc short 071ddh ; 72 6a 10668 jc short 07116h ; 72 a1 10669 jc short 0715fh ; 72 e8 10670 jc short 071bch ; 72 43 10671 db 073h 10672 _int1a_function: ; 0xf717a LB 0x1d9 10674 10673 push bp ; 55 10675 10674 mov bp, sp ; 89 e5 … … 10677 10676 mov al, byte [bp+013h] ; 8a 46 13 10678 10677 cmp AL, strict byte 007h ; 3c 07 10679 jnbe short 071 9dh ; 77 5e10678 jnbe short 071e3h ; 77 5e 10680 10679 mov bl, al ; 88 c3 10681 10680 xor bh, bh ; 30 ff 10682 10681 sal bx, 1 ; d1 e3 10683 jmp word [cs:bx+071 24h] ; 2e ff a7 247110682 jmp word [cs:bx+0716ah] ; 2e ff a7 6a 71 10684 10683 cli ; fa 10685 10684 mov bx, 0046eh ; bb 6e 04 … … 10696 10695 mov byte [es:bx], 000h ; 26 c6 07 00 10697 10696 sti ; fb 10698 jmp short 071 9dh ; eb 2c10697 jmp short 071e3h ; eb 2c 10699 10698 cli ; fa 10700 10699 mov bx, 0046eh ; bb 6e 04 … … 10710 10709 sti ; fb 10711 10710 mov byte [bp+013h], 000h ; c6 46 13 00 10712 jmp short 071 9dh ; eb 0710713 call 070 54h ; e8 bb fe10711 jmp short 071e3h ; eb 07 10712 call 0709ah ; e8 bb fe 10714 10713 test ax, ax ; 85 c0 10715 je short 071 a0h ; 74 0310716 jmp near 07 1ceh ; e9 2e 0010714 je short 071e6h ; 74 03 10715 jmp near 07214h ; e9 2e 00 10717 10716 xor ax, ax ; 31 c0 10718 call 016aeh ; e8 09 a510717 call 016aeh ; e8 c3 a4 10719 10718 mov byte [bp+00fh], al ; 88 46 0f 10720 10719 mov ax, strict word 00002h ; b8 02 00 10721 call 016aeh ; e8 00 a510720 call 016aeh ; e8 ba a4 10722 10721 mov byte [bp+010h], al ; 88 46 10 10723 10722 mov ax, strict word 00004h ; b8 04 00 10724 call 016aeh ; e8 f7a410723 call 016aeh ; e8 b1 a4 10725 10724 mov dl, al ; 88 c2 10726 10725 mov byte [bp+011h], al ; 88 46 11 10727 10726 mov ax, strict word 0000bh ; b8 0b 00 10728 call 016aeh ; e8 eca410727 call 016aeh ; e8 a6 a4 10729 10728 and AL, strict byte 001h ; 24 01 10730 10729 mov byte [bp+00eh], al ; 88 46 0e … … 10734 10733 pop bp ; 5d 10735 10734 retn ; c3 10736 call 070 54h ; e8 7f fe10735 call 0709ah ; e8 7f fe 10737 10736 test ax, ax ; 85 c0 10738 je short 07 1dch ; 74 0310739 call 070 2ch ; e8 50 fe10737 je short 07222h ; 74 03 10738 call 07072h ; e8 50 fe 10740 10739 mov dl, byte [bp+00fh] ; 8a 56 0f 10741 10740 xor dh, dh ; 30 f6 10742 10741 xor ax, ax ; 31 c0 10743 call 016c9h ; e8 e3a410742 call 016c9h ; e8 9d a4 10744 10743 mov dl, byte [bp+010h] ; 8a 56 10 10745 10744 xor dh, dh ; 30 f6 10746 10745 mov ax, strict word 00002h ; b8 02 00 10747 call 016c9h ; e8 d8a410746 call 016c9h ; e8 92 a4 10748 10747 mov dl, byte [bp+011h] ; 8a 56 11 10749 10748 xor dh, dh ; 30 f6 10750 10749 mov ax, strict word 00004h ; b8 04 00 10751 call 016c9h ; e8 cda410750 call 016c9h ; e8 87 a4 10752 10751 mov ax, strict word 0000bh ; b8 0b 00 10753 call 016aeh ; e8 aca410752 call 016aeh ; e8 66 a4 10754 10753 mov bl, al ; 88 c3 10755 10754 and bl, 060h ; 80 e3 60 … … 10761 10760 xor dh, dh ; 30 f6 10762 10761 mov ax, strict word 0000bh ; b8 0b 00 10763 call 016c9h ; e8 aea410762 call 016c9h ; e8 68 a4 10764 10763 mov byte [bp+013h], 000h ; c6 46 13 00 10765 10764 mov byte [bp+012h], bl ; 88 5e 12 10766 jmp short 07 1ceh ; eb aa10765 jmp short 07214h ; eb aa 10767 10766 mov byte [bp+013h], 000h ; c6 46 13 00 10768 call 070 54h ; e8 29 fe10767 call 0709ah ; e8 29 fe 10769 10768 test ax, ax ; 85 c0 10770 je short 072 31h ; 74 0210771 jmp short 07 1ceh ; eb 9d10769 je short 07277h ; 74 02 10770 jmp short 07214h ; eb 9d 10772 10771 mov ax, strict word 00009h ; b8 09 00 10773 call 016aeh ; e8 77a410772 call 016aeh ; e8 31 a4 10774 10773 mov byte [bp+010h], al ; 88 46 10 10775 10774 mov ax, strict word 00008h ; b8 08 00 10776 call 016aeh ; e8 6ea410775 call 016aeh ; e8 28 a4 10777 10776 mov byte [bp+00fh], al ; 88 46 0f 10778 10777 mov ax, strict word 00007h ; b8 07 00 10779 call 016aeh ; e8 65a410778 call 016aeh ; e8 1f a4 10780 10779 mov byte [bp+00eh], al ; 88 46 0e 10781 10780 mov ax, strict word 00032h ; b8 32 00 10782 call 016aeh ; e8 5ca410781 call 016aeh ; e8 16 a4 10783 10782 mov byte [bp+011h], al ; 88 46 11 10784 10783 mov byte [bp+012h], al ; 88 46 12 10785 jmp near 07 1ceh ; e9 73 ff10786 call 070 54h ; e8 f6 fd10784 jmp near 07214h ; e9 73 ff 10785 call 0709ah ; e8 f6 fd 10787 10786 test ax, ax ; 85 c0 10788 je short 072 68h ; 74 0610789 call 070 2ch ; e8 c7 fd10790 jmp near 07 1ceh ; e9 66 ff10787 je short 072aeh ; 74 06 10788 call 07072h ; e8 c7 fd 10789 jmp near 07214h ; e9 66 ff 10791 10790 mov dl, byte [bp+010h] ; 8a 56 10 10792 10791 xor dh, dh ; 30 f6 10793 10792 mov ax, strict word 00009h ; b8 09 00 10794 call 016c9h ; e8 56a410793 call 016c9h ; e8 10 a4 10795 10794 mov dl, byte [bp+00fh] ; 8a 56 0f 10796 10795 xor dh, dh ; 30 f6 10797 10796 mov ax, strict word 00008h ; b8 08 00 10798 call 016c9h ; e8 4ba410797 call 016c9h ; e8 05 a4 10799 10798 mov dl, byte [bp+00eh] ; 8a 56 0e 10800 10799 xor dh, dh ; 30 f6 10801 10800 mov ax, strict word 00007h ; b8 07 00 10802 call 016c9h ; e8 40 a410801 call 016c9h ; e8 fa a3 10803 10802 mov dl, byte [bp+011h] ; 8a 56 11 10804 10803 xor dh, dh ; 30 f6 10805 10804 mov ax, strict word 00032h ; b8 32 00 10806 call 016c9h ; e8 35 a410805 call 016c9h ; e8 ef a3 10807 10806 mov ax, strict word 0000bh ; b8 0b 00 10808 call 016aeh ; e8 14 a410807 call 016aeh ; e8 ce a3 10809 10808 mov bl, al ; 88 c3 10810 10809 and bl, 07fh ; 80 e3 7f 10811 jmp near 072 11h ; e9 6f ff10810 jmp near 07257h ; e9 6f ff 10812 10811 mov ax, strict word 0000bh ; b8 0b 00 10813 call 016aeh ; e8 06 a410812 call 016aeh ; e8 c0 a3 10814 10813 mov bl, al ; 88 c3 10815 10814 mov word [bp+012h], strict word 00000h ; c7 46 12 00 00 10816 10815 test AL, strict byte 020h ; a8 20 10817 je short 072 b6h ; 74 0310818 jmp near 07 1ceh ; e9 18 ff10819 call 070 54h ; e8 9b fd10816 je short 072fch ; 74 03 10817 jmp near 07214h ; e9 18 ff 10818 call 0709ah ; e8 9b fd 10820 10819 test ax, ax ; 85 c0 10821 je short 07 2c0h ; 74 0310822 call 070 2ch ; e8 6c fd10820 je short 07306h ; 74 03 10821 call 07072h ; e8 6c fd 10823 10822 mov dl, byte [bp+00fh] ; 8a 56 0f 10824 10823 xor dh, dh ; 30 f6 10825 10824 mov ax, strict word 00001h ; b8 01 00 10826 call 016c9h ; e8 fea310825 call 016c9h ; e8 b8 a3 10827 10826 mov dl, byte [bp+010h] ; 8a 56 10 10828 10827 xor dh, dh ; 30 f6 10829 10828 mov ax, strict word 00003h ; b8 03 00 10830 call 016c9h ; e8 f3a310829 call 016c9h ; e8 ad a3 10831 10830 mov dl, byte [bp+011h] ; 8a 56 11 10832 10831 xor dh, dh ; 30 f6 10833 10832 mov ax, strict word 00005h ; b8 05 00 10834 call 016c9h ; e8 e8a310833 call 016c9h ; e8 a2 a3 10835 10834 mov dx, 000a1h ; ba a1 00 10836 10835 in AL, DX ; ec … … 10844 10843 xor dh, dh ; 30 f6 10845 10844 mov ax, strict word 0000bh ; b8 0b 00 10846 call 016c9h ; e8 cfa310847 jmp near 07 1ceh ; e9 d1 fe10845 call 016c9h ; e8 89 a3 10846 jmp near 07214h ; e9 d1 fe 10848 10847 mov ax, strict word 0000bh ; b8 0b 00 10849 call 016aeh ; e8 aba310848 call 016aeh ; e8 65 a3 10850 10849 mov bl, al ; 88 c3 10851 10850 mov dl, al ; 88 c2 10852 10851 and dl, 057h ; 80 e2 57 10853 jmp near 072 13h ; e9 06 ff10854 send_to_mouse_ctrl_: ; 0xf73 0dLB 0x3810852 jmp near 07259h ; e9 06 ff 10853 send_to_mouse_ctrl_: ; 0xf7353 LB 0x38 10855 10854 push bp ; 55 10856 10855 mov bp, sp ; 89 e5 … … 10863 10862 ; sub ah, ah ; 2a e4 10864 10863 test AL, strict byte 002h ; a8 02 10865 je short 073 30h ; 74 1210864 je short 07376h ; 74 12 10866 10865 mov ax, 008eeh ; b8 ee 08 10867 10866 push ax ; 50 … … 10870 10869 mov ax, strict word 00007h ; b8 07 00 10871 10870 push ax ; 50 10872 call 01976h ; e8 49a610871 call 01976h ; e8 03 a6 10873 10872 add sp, strict byte 00006h ; 83 c4 06 10874 10873 mov AL, strict byte 0d4h ; b0 d4 … … 10884 10883 pop bp ; 5d 10885 10884 retn ; c3 10886 get_mouse_data_: ; 0xf73 45LB 0x5d10885 get_mouse_data_: ; 0xf738b LB 0x5d 10887 10886 push bp ; 55 10888 10887 mov bp, sp ; 89 e5 … … 10899 10898 and ax, strict word 00021h ; 25 21 00 10900 10899 cmp ax, strict word 00021h ; 3d 21 00 10901 je short 073 88h ; 74 2810900 je short 073ceh ; 74 28 10902 10901 test cx, cx ; 85 c9 10903 je short 073 88h ; 74 2410902 je short 073ceh ; 74 24 10904 10903 mov dx, strict word 00061h ; ba 61 00 10905 10904 in AL, DX ; ec … … 10918 10917 xor ah, ah ; 30 e4 10919 10918 cmp dx, ax ; 39 c2 10920 je short 073 6fh ; 74 ea10919 je short 073b5h ; 74 ea 10921 10920 dec cx ; 49 10922 jmp short 073 52h ; eb ca10921 jmp short 07398h ; eb ca 10923 10922 test cx, cx ; 85 c9 10924 jne short 073 90h ; 75 0410923 jne short 073d6h ; 75 04 10925 10924 mov AL, strict byte 001h ; b0 01 10926 jmp short 073 9bh ; eb 0b10925 jmp short 073e1h ; eb 0b 10927 10926 mov dx, strict word 00060h ; ba 60 00 10928 10927 in AL, DX ; ec … … 10936 10935 pop bp ; 5d 10937 10936 retn ; c3 10938 set_kbd_command_byte_: ; 0xf73 a2LB 0x3610937 set_kbd_command_byte_: ; 0xf73e8 LB 0x36 10939 10938 push bp ; 55 10940 10939 mov bp, sp ; 89 e5 … … 10947 10946 ; sub ah, ah ; 2a e4 10948 10947 test AL, strict byte 002h ; a8 02 10949 je short 07 3c5h ; 74 1210948 je short 0740bh ; 74 12 10950 10949 mov ax, 008f8h ; b8 f8 08 10951 10950 push ax ; 50 … … 10954 10953 mov ax, strict word 00007h ; b8 07 00 10955 10954 push ax ; 50 10956 call 01976h ; e8 b4a510955 call 01976h ; e8 6e a5 10957 10956 add sp, strict byte 00006h ; 83 c4 06 10958 10957 mov AL, strict byte 060h ; b0 60 … … 10967 10966 pop bp ; 5d 10968 10967 retn ; c3 10969 _int74_function: ; 0xf7 3d8LB 0xd210968 _int74_function: ; 0xf741e LB 0xd2 10970 10969 push bp ; 55 10971 10970 mov bp, sp ; 89 e5 … … 10973 10972 mov dx, strict word 0000eh ; ba 0e 00 10974 10973 mov ax, strict word 00040h ; b8 40 00 10975 call 0166eh ; e8 87a210974 call 0166eh ; e8 41 a2 10976 10975 mov cx, ax ; 89 c1 10977 10976 mov word [bp+004h], strict word 00000h ; c7 46 04 00 00 … … 10982 10981 and AL, strict byte 021h ; 24 21 10983 10982 cmp AL, strict byte 021h ; 3c 21 10984 jne short 074 1ch ; 75 2210983 jne short 07462h ; 75 22 10985 10984 mov dx, strict word 00060h ; ba 60 00 10986 10985 in AL, DX ; ec … … 10990 10989 mov dx, strict word 00026h ; ba 26 00 10991 10990 mov ax, cx ; 89 c8 10992 call 01652h ; e8 48a210991 call 01652h ; e8 02 a2 10993 10992 mov byte [bp-002h], al ; 88 46 fe 10994 10993 mov dx, strict word 00027h ; ba 27 00 10995 10994 mov ax, cx ; 89 c8 10996 call 01652h ; e8 3d a210995 call 01652h ; e8 f7 a1 10997 10996 mov byte [bp-006h], al ; 88 46 fa 10998 10997 test AL, strict byte 080h ; a8 80 10999 jne short 074 1fh ; 75 0311000 jmp near 074 96h ; e9 77 0010998 jne short 07465h ; 75 03 10999 jmp near 074dch ; e9 77 00 11001 11000 mov al, byte [bp-006h] ; 8a 46 fa 11002 11001 and AL, strict byte 007h ; 24 07 … … 11012 11011 add dx, strict byte 00028h ; 83 c2 28 11013 11012 mov ax, cx ; 89 c8 11014 call 01660h ; e8 1e a211013 call 01660h ; e8 d8 a1 11015 11014 mov al, byte [bp-008h] ; 8a 46 f8 11016 11015 cmp al, byte [bp-004h] ; 3a 46 fc 11017 jc short 074 86h ; 72 3c11016 jc short 074cch ; 72 3c 11018 11017 mov dx, strict word 00028h ; ba 28 00 11019 11018 mov ax, cx ; 89 c8 11020 call 01652h ; e8 00 a211019 call 01652h ; e8 ba a1 11021 11020 xor ah, ah ; 30 e4 11022 11021 mov word [bp+00ch], ax ; 89 46 0c 11023 11022 mov dx, strict word 00029h ; ba 29 00 11024 11023 mov ax, cx ; 89 c8 11025 call 01652h ; e8 f3a111024 call 01652h ; e8 ad a1 11026 11025 xor ah, ah ; 30 e4 11027 11026 mov word [bp+00ah], ax ; 89 46 0a 11028 11027 mov dx, strict word 0002ah ; ba 2a 00 11029 11028 mov ax, cx ; 89 c8 11030 call 01652h ; e8 e6a111029 call 01652h ; e8 a0 a1 11031 11030 xor ah, ah ; 30 e4 11032 11031 mov word [bp+008h], ax ; 89 46 08 … … 11035 11034 mov byte [bp-002h], ah ; 88 66 fe 11036 11035 test byte [bp-006h], 080h ; f6 46 fa 80 11037 je short 074 89h ; 74 0a11036 je short 074cfh ; 74 0a 11038 11037 mov word [bp+004h], strict word 00001h ; c7 46 04 01 00 11039 jmp short 074 89h ; eb 0311038 jmp short 074cfh ; eb 03 11040 11039 inc byte [bp-002h] ; fe 46 fe 11041 11040 mov bl, byte [bp-002h] ; 8a 5e fe … … 11043 11042 mov dx, strict word 00026h ; ba 26 00 11044 11043 mov ax, cx ; 89 c8 11045 call 01660h ; e8 caa111044 call 01660h ; e8 84 a1 11046 11045 mov sp, bp ; 89 ec 11047 11046 pop bp ; 5d 11048 11047 retn ; c3 11049 in AL, DX ; ec 11050 je short 07505h ; 74 68 11051 jne short 07487h ; 75 e8 11052 jne short 0751eh ; 75 7d 11053 jbe short 07492h ; 76 ef 11054 jbe short 074d8h ; 76 33 11055 jne short 074beh ; 75 17 11056 jnbe short 0748dh ; 77 e4 11057 db 077h 11058 _int15_function_mouse: ; 0xf74aa LB 0x3a0 11048 xor dh, byte [di-052h] ; 32 75 ae 11049 jne short 07513h ; 75 2e 11050 jbe short 074aah ; 76 c3 11051 jbe short 0751eh ; 76 35 11052 jnbe short 07564h ; 77 79 11053 jne short 0754ah ; 75 5d 11054 jnbe short 07519h ; 77 2a 11055 db 078h 11056 _int15_function_mouse: ; 0xf74f0 LB 0x3a0 11059 11057 push bp ; 55 11060 11058 mov bp, sp ; 89 e5 … … 11063 11061 mov dx, strict word 0000eh ; ba 0e 00 11064 11062 mov ax, strict word 00040h ; b8 40 00 11065 call 0166eh ; e8 b4a111063 call 0166eh ; e8 6e a1 11066 11064 mov cx, ax ; 89 c1 11067 11065 cmp byte [bp+012h], 007h ; 80 7e 12 07 11068 jbe short 07 4cdh ; 76 0b11066 jbe short 07513h ; 76 0b 11069 11067 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11070 11068 mov byte [bp+013h], 001h ; c6 46 13 01 11071 jmp near 078 44h ; e9 77 0311069 jmp near 0788ah ; e9 77 03 11072 11070 mov ax, strict word 00065h ; b8 65 00 11073 call 073 a2h ; e8 cf fe11071 call 073e8h ; e8 cf fe 11074 11072 and word [bp+018h], strict byte 0fffeh ; 83 66 18 fe 11075 11073 mov byte [bp+013h], 000h ; c6 46 13 00 11076 11074 mov bl, byte [bp+012h] ; 8a 5e 12 11077 11075 cmp bl, 007h ; 80 fb 07 11078 jnbe short 075 41h ; 77 5e11076 jnbe short 07587h ; 77 5e 11079 11077 xor bh, bh ; 30 ff 11080 11078 sal bx, 1 ; d1 e3 11081 jmp word [cs:bx+074 9ah] ; 2e ff a7 9a7411079 jmp word [cs:bx+074e0h] ; 2e ff a7 e0 74 11082 11080 cmp byte [bp+00dh], 001h ; 80 7e 0d 01 11083 jnbe short 075 44h ; 77 5211081 jnbe short 0758ah ; 77 52 11084 11082 mov dx, strict word 00027h ; ba 27 00 11085 11083 mov ax, cx ; 89 c8 11086 call 01652h ; e8 58a111084 call 01652h ; e8 12 a1 11087 11085 test AL, strict byte 080h ; a8 80 11088 jne short 075 09h ; 75 0b11086 jne short 0754fh ; 75 0b 11089 11087 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11090 11088 mov byte [bp+013h], 005h ; c6 46 13 05 11091 jmp near 078 3eh ; e9 35 0311089 jmp near 07884h ; e9 35 03 11092 11090 cmp byte [bp+00dh], 000h ; 80 7e 0d 00 11093 jne short 075 13h ; 75 0411091 jne short 07559h ; 75 04 11094 11092 mov AL, strict byte 0f5h ; b0 f5 11095 jmp short 075 15h ; eb 0211093 jmp short 0755bh ; eb 02 11096 11094 mov AL, strict byte 0f4h ; b0 f4 11097 11095 xor ah, ah ; 30 e4 11098 call 073 0dh ; e8 f3 fd11096 call 07353h ; e8 f3 fd 11099 11097 test al, al ; 84 c0 11100 jne short 075 47h ; 75 2911098 jne short 0758dh ; 75 29 11101 11099 mov dx, ss ; 8c d2 11102 11100 lea ax, [bp-006h] ; 8d 46 fa 11103 call 073 45h ; e8 1f fe11101 call 0738bh ; e8 1f fe 11104 11102 test al, al ; 84 c0 11105 je short 075 30h ; 74 0611103 je short 07576h ; 74 06 11106 11104 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11107 jne short 075 47h ; 75 1711108 jmp near 078 3eh ; e9 0b 0311105 jne short 0758dh ; 75 17 11106 jmp near 07884h ; e9 0b 03 11109 11107 mov al, byte [bp+00dh] ; 8a 46 0d 11110 11108 cmp AL, strict byte 001h ; 3c 01 11111 jc short 075 3eh ; 72 0411109 jc short 07584h ; 72 04 11112 11110 cmp AL, strict byte 008h ; 3c 08 11113 jbe short 075 4ah ; 76 0c11114 jmp near 07 6e5h ; e9 a4 0111115 jmp near 078 28h ; e9 e4 0211116 jmp near 078 36h ; e9 ef 0211117 jmp near 07 7bch ; e9 72 0211111 jbe short 07590h ; 76 0c 11112 jmp near 0772bh ; e9 a4 01 11113 jmp near 0786eh ; e9 e4 02 11114 jmp near 0787ch ; e9 ef 02 11115 jmp near 07802h ; e9 72 02 11118 11116 mov dx, strict word 00027h ; ba 27 00 11119 11117 mov ax, cx ; 89 c8 11120 call 01652h ; e8 00 a111118 call 01652h ; e8 ba a0 11121 11119 mov ah, byte [bp+00dh] ; 8a 66 0d 11122 11120 db 0feh, 0cch … … 11128 11126 mov dx, strict word 00027h ; ba 27 00 11129 11127 mov ax, cx ; 89 c8 11130 call 01660h ; e8 f8a011128 call 01660h ; e8 b2 a0 11131 11129 mov dx, strict word 00026h ; ba 26 00 11132 11130 mov ax, cx ; 89 c8 11133 call 01652h ; e8 e2a011131 call 01652h ; e8 9c a0 11134 11132 mov bl, al ; 88 c3 11135 11133 and bl, 0f8h ; 80 e3 f8 … … 11137 11135 mov dx, strict word 00026h ; ba 26 00 11138 11136 mov ax, cx ; 89 c8 11139 call 01660h ; e8 e1a011137 call 01660h ; e8 9b a0 11140 11138 mov ax, 000ffh ; b8 ff 00 11141 call 073 0dh ; e8 88 fd11139 call 07353h ; e8 88 fd 11142 11140 test al, al ; 84 c0 11143 jne short 075 47h ; 75 be11141 jne short 0758dh ; 75 be 11144 11142 mov dx, ss ; 8c d2 11145 11143 lea ax, [bp-008h] ; 8d 46 f8 11146 call 073 45h ; e8 b4 fd11144 call 0738bh ; e8 b4 fd 11147 11145 mov cl, al ; 88 c1 11148 11146 cmp byte [bp-008h], 0feh ; 80 7e f8 fe 11149 jne short 075 a3h ; 75 0a11147 jne short 075e9h ; 75 0a 11150 11148 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11151 11149 mov byte [bp+013h], 004h ; c6 46 13 04 11152 jmp short 075 30h ; eb 8d11150 jmp short 07576h ; eb 8d 11153 11151 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11154 je short 07 5bdh ; 74 1411152 je short 07603h ; 74 14 11155 11153 mov al, byte [bp-008h] ; 8a 46 f8 11156 11154 xor ah, ah ; 30 e4 … … 11160 11158 mov ax, strict word 00007h ; b8 07 00 11161 11159 push ax ; 50 11162 call 01976h ; e8 bca311160 call 01976h ; e8 76 a3 11163 11161 add sp, strict byte 00006h ; 83 c4 06 11164 11162 test cl, cl ; 84 c9 11165 jne short 075 47h ; 75 8611163 jne short 0758dh ; 75 86 11166 11164 mov dx, ss ; 8c d2 11167 11165 lea ax, [bp-006h] ; 8d 46 fa 11168 call 073 45h ; e8 7c fd11166 call 0738bh ; e8 7c fd 11169 11167 test al, al ; 84 c0 11170 jne short 076 23h ; 75 5611168 jne short 07669h ; 75 56 11171 11169 mov dx, ss ; 8c d2 11172 11170 lea ax, [bp-004h] ; 8d 46 fc 11173 call 073 45h ; e8 70 fd11171 call 0738bh ; e8 70 fd 11174 11172 test al, al ; 84 c0 11175 jne short 076 23h ; 75 4a11173 jne short 07669h ; 75 4a 11176 11174 mov al, byte [bp-006h] ; 8a 46 fa 11177 11175 mov byte [bp+00ch], al ; 88 46 0c 11178 11176 mov al, byte [bp-004h] ; 8a 46 fc 11179 11177 mov byte [bp+00dh], al ; 88 46 0d 11180 jmp near 078 3eh ; e9 56 0211178 jmp near 07884h ; e9 56 02 11181 11179 mov al, byte [bp+00dh] ; 8a 46 0d 11182 11180 cmp AL, strict byte 003h ; 3c 03 11183 jc short 07 5ffh ; 72 1011184 jbe short 076 1dh ; 76 2c11181 jc short 07645h ; 72 10 11182 jbe short 07663h ; 76 2c 11185 11183 cmp AL, strict byte 006h ; 3c 06 11186 je short 076 32h ; 74 3d11184 je short 07678h ; 74 3d 11187 11185 cmp AL, strict byte 005h ; 3c 05 11188 je short 076 2ch ; 74 3311186 je short 07672h ; 74 33 11189 11187 cmp AL, strict byte 004h ; 3c 04 11190 je short 076 26h ; 74 2911191 jmp short 076 38h ; eb 3911188 je short 0766ch ; 74 29 11189 jmp short 0767eh ; eb 39 11192 11190 cmp AL, strict byte 002h ; 3c 02 11193 je short 076 17h ; 74 1411191 je short 0765dh ; 74 14 11194 11192 cmp AL, strict byte 001h ; 3c 01 11195 je short 076 11h ; 74 0a11193 je short 07657h ; 74 0a 11196 11194 test al, al ; 84 c0 11197 jne short 076 38h ; 75 2d11195 jne short 0767eh ; 75 2d 11198 11196 mov byte [bp-006h], 00ah ; c6 46 fa 0a 11199 jmp short 076 3ch ; eb 2b11197 jmp short 07682h ; eb 2b 11200 11198 mov byte [bp-006h], 014h ; c6 46 fa 14 11201 jmp short 076 3ch ; eb 2511199 jmp short 07682h ; eb 25 11202 11200 mov byte [bp-006h], 028h ; c6 46 fa 28 11203 jmp short 076 3ch ; eb 1f11201 jmp short 07682h ; eb 1f 11204 11202 mov byte [bp-006h], 03ch ; c6 46 fa 3c 11205 jmp short 076 3ch ; eb 1911206 jmp near 07 7bch ; e9 96 0111203 jmp short 07682h ; eb 19 11204 jmp near 07802h ; e9 96 01 11207 11205 mov byte [bp-006h], 050h ; c6 46 fa 50 11208 jmp short 076 3ch ; eb 1011206 jmp short 07682h ; eb 10 11209 11207 mov byte [bp-006h], 064h ; c6 46 fa 64 11210 jmp short 076 3ch ; eb 0a11208 jmp short 07682h ; eb 0a 11211 11209 mov byte [bp-006h], 0c8h ; c6 46 fa c8 11212 jmp short 076 3ch ; eb 0411210 jmp short 07682h ; eb 04 11213 11211 mov byte [bp-006h], 000h ; c6 46 fa 00 11214 11212 cmp byte [bp-006h], 000h ; 80 7e fa 00 11215 jbe short 076 72h ; 76 3011213 jbe short 076b8h ; 76 30 11216 11214 mov ax, 000f3h ; b8 f3 00 11217 call 073 0dh ; e8 c5 fc11215 call 07353h ; e8 c5 fc 11218 11216 test al, al ; 84 c0 11219 jne short 076 67h ; 75 1b11217 jne short 076adh ; 75 1b 11220 11218 mov dx, ss ; 8c d2 11221 11219 lea ax, [bp-004h] ; 8d 46 fc 11222 call 073 45h ; e8 f1 fc11220 call 0738bh ; e8 f1 fc 11223 11221 mov al, byte [bp-006h] ; 8a 46 fa 11224 11222 xor ah, ah ; 30 e4 11225 call 073 0dh ; e8 b1 fc11223 call 07353h ; e8 b1 fc 11226 11224 mov dx, ss ; 8c d2 11227 11225 lea ax, [bp-004h] ; 8d 46 fc 11228 call 073 45h ; e8 e1 fc11229 jmp near 078 3eh ; e9 d7 0111226 call 0738bh ; e8 e1 fc 11227 jmp near 07884h ; e9 d7 01 11230 11228 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11231 11229 mov byte [bp+013h], 003h ; c6 46 13 03 11232 jmp near 078 3eh ; e9 cc 0111230 jmp near 07884h ; e9 cc 01 11233 11231 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11234 11232 mov byte [bp+013h], 002h ; c6 46 13 02 11235 jmp near 078 3eh ; e9 c1 0111233 jmp near 07884h ; e9 c1 01 11236 11234 cmp byte [bp+00dh], 004h ; 80 7e 0d 04 11237 jnc short 07 6e5h ; 73 6211235 jnc short 0772bh ; 73 62 11238 11236 mov ax, 000e8h ; b8 e8 00 11239 call 073 0dh ; e8 84 fc11237 call 07353h ; e8 84 fc 11240 11238 test al, al ; 84 c0 11241 jne short 07 6dbh ; 75 4e11239 jne short 07721h ; 75 4e 11242 11240 mov dx, ss ; 8c d2 11243 11241 lea ax, [bp-006h] ; 8d 46 fa 11244 call 073 45h ; e8 b0 fc11242 call 0738bh ; e8 b0 fc 11245 11243 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11246 je short 076 afh ; 74 1411244 je short 076f5h ; 74 14 11247 11245 mov al, byte [bp-006h] ; 8a 46 fa 11248 11246 xor ah, ah ; 30 e4 … … 11252 11250 mov ax, strict word 00007h ; b8 07 00 11253 11251 push ax ; 50 11254 call 01976h ; e8 caa211252 call 01976h ; e8 84 a2 11255 11253 add sp, strict byte 00006h ; 83 c4 06 11256 11254 mov al, byte [bp+00dh] ; 8a 46 0d 11257 11255 xor ah, ah ; 30 e4 11258 call 073 0dh ; e8 56 fc11256 call 07353h ; e8 56 fc 11259 11257 mov dx, ss ; 8c d2 11260 11258 lea ax, [bp-006h] ; 8d 46 fa 11261 call 073 45h ; e8 86 fc11259 call 0738bh ; e8 86 fc 11262 11260 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11263 je short 077 14h ; 74 4f11261 je short 0775ah ; 74 4f 11264 11262 mov al, byte [bp-006h] ; 8a 46 fa 11265 11263 xor ah, ah ; 30 e4 … … 11269 11267 mov ax, strict word 00007h ; b8 07 00 11270 11268 push ax ; 50 11271 call 01976h ; e8 a0a211269 call 01976h ; e8 5a a2 11272 11270 add sp, strict byte 00006h ; 83 c4 06 11273 jmp short 077 14h ; eb 3911271 jmp short 0775ah ; eb 39 11274 11272 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11275 11273 mov byte [bp+013h], 003h ; c6 46 13 03 11276 jmp short 077 14h ; eb 2f11274 jmp short 0775ah ; eb 2f 11277 11275 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11278 11276 mov byte [bp+013h], 002h ; c6 46 13 02 11279 jmp short 077 14h ; eb 2511277 jmp short 0775ah ; eb 25 11280 11278 mov ax, 000f2h ; b8 f2 00 11281 call 073 0dh ; e8 18 fc11279 call 07353h ; e8 18 fc 11282 11280 test al, al ; 84 c0 11283 jne short 077 0ch ; 75 1311281 jne short 07752h ; 75 13 11284 11282 mov dx, ss ; 8c d2 11285 11283 lea ax, [bp-006h] ; 8d 46 fa 11286 call 073 45h ; e8 44 fc11284 call 0738bh ; e8 44 fc 11287 11285 mov dx, ss ; 8c d2 11288 11286 lea ax, [bp-004h] ; 8d 46 fc 11289 call 073 45h ; e8 3c fc11290 jmp near 07 5dfh ; e9 d3 fe11287 call 0738bh ; e8 3c fc 11288 jmp near 07625h ; e9 d3 fe 11291 11289 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11292 11290 mov byte [bp+013h], 003h ; c6 46 13 03 11293 jmp near 078 3eh ; e9 27 0111291 jmp near 07884h ; e9 27 01 11294 11292 mov al, byte [bp+00dh] ; 8a 46 0d 11295 11293 test al, al ; 84 c0 11296 jbe short 077 27h ; 76 0911294 jbe short 0776dh ; 76 09 11297 11295 cmp AL, strict byte 002h ; 3c 02 11298 jbe short 077 25h ; 76 0311299 jmp near 07 7c6h ; e9 a1 0011300 jmp short 077 91h ; eb 6a11296 jbe short 0776bh ; 76 03 11297 jmp near 0780ch ; e9 a1 00 11298 jmp short 077d7h ; eb 6a 11301 11299 mov ax, 000e9h ; b8 e9 00 11302 call 073 0dh ; e8 e0 fb11300 call 07353h ; e8 e0 fb 11303 11301 test al, al ; 84 c0 11304 jne short 077 9ah ; 75 6911302 jne short 077e0h ; 75 69 11305 11303 mov dx, ss ; 8c d2 11306 11304 lea ax, [bp-006h] ; 8d 46 fa 11307 call 073 45h ; e8 0c fc11305 call 0738bh ; e8 0c fc 11308 11306 mov cl, al ; 88 c1 11309 11307 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11310 je short 077 55h ; 74 1411308 je short 0779bh ; 74 14 11311 11309 mov al, byte [bp-006h] ; 8a 46 fa 11312 11310 xor ah, ah ; 30 e4 … … 11316 11314 mov ax, strict word 00007h ; b8 07 00 11317 11315 push ax ; 50 11318 call 01976h ; e8 24 a211316 call 01976h ; e8 de a1 11319 11317 add sp, strict byte 00006h ; 83 c4 06 11320 11318 test cl, cl ; 84 c9 11321 jne short 07 7bch ; 75 6311319 jne short 07802h ; 75 63 11322 11320 mov dx, ss ; 8c d2 11323 11321 lea ax, [bp-006h] ; 8d 46 fa 11324 call 073 45h ; e8 e4 fb11322 call 0738bh ; e8 e4 fb 11325 11323 test al, al ; 84 c0 11326 jne short 07 7bch ; 75 5711324 jne short 07802h ; 75 57 11327 11325 mov dx, ss ; 8c d2 11328 11326 lea ax, [bp-004h] ; 8d 46 fc 11329 call 073 45h ; e8 d8 fb11327 call 0738bh ; e8 d8 fb 11330 11328 test al, al ; 84 c0 11331 jne short 07 7bch ; 75 4b11329 jne short 07802h ; 75 4b 11332 11330 mov dx, ss ; 8c d2 11333 11331 lea ax, [bp-008h] ; 8d 46 f8 11334 call 073 45h ; e8 cc fb11332 call 0738bh ; e8 cc fb 11335 11333 test al, al ; 84 c0 11336 jne short 07 7bch ; 75 3f11334 jne short 07802h ; 75 3f 11337 11335 mov al, byte [bp-006h] ; 8a 46 fa 11338 11336 mov byte [bp+00ch], al ; 88 46 0c … … 11341 11339 mov al, byte [bp-008h] ; 8a 46 f8 11342 11340 mov byte [bp+00eh], al ; 88 46 0e 11343 jmp short 077 14h ; eb 8311341 jmp short 0775ah ; eb 83 11344 11342 cmp AL, strict byte 001h ; 3c 01 11345 jne short 077 9ch ; 75 0711343 jne short 077e2h ; 75 07 11346 11344 mov ax, 000e6h ; b8 e6 00 11347 jmp short 077 9fh ; eb 0511348 jmp short 07 7bch ; eb 2011345 jmp short 077e5h ; eb 05 11346 jmp short 07802h ; eb 20 11349 11347 mov ax, 000e7h ; b8 e7 00 11350 call 073 0dh ; e8 6b fb11348 call 07353h ; e8 6b fb 11351 11349 mov cl, al ; 88 c1 11352 11350 test cl, cl ; 84 c9 11353 jne short 077 b8h ; 75 1011351 jne short 077feh ; 75 10 11354 11352 mov dx, ss ; 8c d2 11355 11353 lea ax, [bp-006h] ; 8d 46 fa 11356 call 073 45h ; e8 95 fb11354 call 0738bh ; e8 95 fb 11357 11355 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11358 je short 077 b8h ; 74 0211356 je short 077feh ; 74 02 11359 11357 mov CL, strict byte 001h ; b1 01 11360 11358 test cl, cl ; 84 c9 11361 je short 078 26h ; 74 6a11359 je short 0786ch ; 74 6a 11362 11360 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11363 11361 mov byte [bp+013h], 003h ; c6 46 13 03 11364 jmp short 078 26h ; eb 6011362 jmp short 0786ch ; eb 60 11365 11363 mov al, byte [bp+00dh] ; 8a 46 0d 11366 11364 xor ah, ah ; 30 e4 … … 11370 11368 mov ax, strict word 00007h ; b8 07 00 11371 11369 push ax ; 50 11372 call 01976h ; e8 9fa111370 call 01976h ; e8 59 a1 11373 11371 add sp, strict byte 00006h ; 83 c4 06 11374 11372 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11375 11373 mov byte [bp+013h], 001h ; c6 46 13 01 11376 jmp short 078 3eh ; eb 5a11374 jmp short 07884h ; eb 5a 11377 11375 mov si, word [bp+00ch] ; 8b 76 0c 11378 11376 mov bx, si ; 89 f3 11379 11377 mov dx, strict word 00022h ; ba 22 00 11380 11378 mov ax, cx ; 89 c8 11381 call 0167ch ; e8 8b9e11379 call 0167ch ; e8 45 9e 11382 11380 mov bx, word [bp+014h] ; 8b 5e 14 11383 11381 mov dx, strict word 00024h ; ba 24 00 11384 11382 mov ax, cx ; 89 c8 11385 call 0167ch ; e8 809e11383 call 0167ch ; e8 3a 9e 11386 11384 mov dx, strict word 00027h ; ba 27 00 11387 11385 mov ax, cx ; 89 c8 11388 call 01652h ; e8 4e9e11386 call 01652h ; e8 08 9e 11389 11387 mov ah, al ; 88 c4 11390 11388 test si, si ; 85 f6 11391 jne short 078 18h ; 75 0e11389 jne short 0785eh ; 75 0e 11392 11390 cmp word [bp+014h], strict byte 00000h ; 83 7e 14 00 11393 jne short 078 18h ; 75 0811391 jne short 0785eh ; 75 08 11394 11392 test AL, strict byte 080h ; a8 80 11395 je short 078 1ah ; 74 0611393 je short 07860h ; 74 06 11396 11394 and AL, strict byte 07fh ; 24 7f 11397 jmp short 078 1ah ; eb 0211395 jmp short 07860h ; eb 02 11398 11396 or AL, strict byte 080h ; 0c 80 11399 11397 mov bl, al ; 88 c3 … … 11401 11399 mov dx, strict word 00027h ; ba 27 00 11402 11400 mov ax, cx ; 89 c8 11403 call 01660h ; e8 3a 9e11404 jmp short 078 3eh ; eb 1611401 call 01660h ; e8 f4 9d 11402 jmp short 07884h ; eb 16 11405 11403 mov ax, 00974h ; b8 74 09 11406 11404 push ax ; 50 11407 11405 mov ax, strict word 00007h ; b8 07 00 11408 11406 push ax ; 50 11409 call 01976h ; e8 43 a111407 call 01976h ; e8 fd a0 11410 11408 add sp, strict byte 00004h ; 83 c4 04 11411 11409 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11412 11410 mov byte [bp+013h], 001h ; c6 46 13 01 11413 11411 mov ax, strict word 00047h ; b8 47 00 11414 call 073 a2h ; e8 5e fb11412 call 073e8h ; e8 5e fb 11415 11413 lea sp, [bp-002h] ; 8d 66 fe 11416 11414 pop si ; 5e 11417 11415 pop bp ; 5d 11418 11416 retn ; c3 11419 _int17_function: ; 0xf78 4aLB 0xac11417 _int17_function: ; 0xf7890 LB 0xac 11420 11418 push bp ; 55 11421 11419 mov bp, sp ; 89 e5 … … 11427 11425 add dx, strict byte 00008h ; 83 c2 08 11428 11426 mov ax, strict word 00040h ; b8 40 00 11429 call 0166eh ; e8 10 9e11427 call 0166eh ; e8 ca 9d 11430 11428 mov bx, ax ; 89 c3 11431 11429 mov si, ax ; 89 c6 11432 11430 cmp byte [bp+013h], 003h ; 80 7e 13 03 11433 jnc short 078 74h ; 73 0c11431 jnc short 078bah ; 73 0c 11434 11432 mov ax, word [bp+00eh] ; 8b 46 0e 11435 11433 cmp ax, strict word 00003h ; 3d 03 00 11436 jnc short 078 74h ; 73 0411434 jnc short 078bah ; 73 04 11437 11435 test bx, bx ; 85 db 11438 jnbe short 078 77h ; 77 0311439 jmp near 07 8ech ; e9 75 0011436 jnbe short 078bdh ; 77 03 11437 jmp near 07932h ; e9 75 00 11440 11438 mov dx, ax ; 89 c2 11441 11439 add dx, strict byte 00078h ; 83 c2 78 11442 11440 mov ax, strict word 00040h ; b8 40 00 11443 call 01652h ; e8 d09d11441 call 01652h ; e8 8a 9d 11444 11442 mov ch, al ; 88 c5 11445 11443 xor cl, cl ; 30 c9 11446 11444 cmp byte [bp+013h], 000h ; 80 7e 13 00 11447 jne short 078 b8h ; 75 2c11445 jne short 078feh ; 75 2c 11448 11446 mov al, byte [bp+012h] ; 8a 46 12 11449 11447 mov dx, bx ; 89 da … … 11465 11463 ; sub ah, ah ; 2a e4 11466 11464 test AL, strict byte 040h ; a8 40 11467 je short 078 b8h ; 74 0711465 je short 078feh ; 74 07 11468 11466 test cx, cx ; 85 c9 11469 je short 078 b8h ; 74 0311467 je short 078feh ; 74 03 11470 11468 dec cx ; 49 11471 jmp short 078 a7h ; eb ef11469 jmp short 078edh ; eb ef 11472 11470 cmp byte [bp+013h], 001h ; 80 7e 13 01 11473 jne short 07 8d3h ; 75 1511471 jne short 07919h ; 75 15 11474 11472 lea dx, [si+002h] ; 8d 54 02 11475 11473 in AL, DX ; ec … … 11490 11488 mov byte [bp+013h], al ; 88 46 13 11491 11489 test cx, cx ; 85 c9 11492 jne short 07 8e6h ; 75 0411490 jne short 0792ch ; 75 04 11493 11491 or byte [bp+013h], 001h ; 80 4e 13 01 11494 11492 and byte [bp+01ch], 0feh ; 80 66 1c fe 11495 jmp short 07 8f0h ; eb 0411493 jmp short 07936h ; eb 04 11496 11494 or byte [bp+01ch], 001h ; 80 4e 1c 01 11497 11495 lea sp, [bp-002h] ; 8d 66 fe … … 11499 11497 pop bp ; 5d 11500 11498 retn ; c3 11501 wait_: ; 0xf7 8f6LB 0xb211499 wait_: ; 0xf793c LB 0xb2 11502 11500 push bp ; 55 11503 11501 mov bp, sp ; 89 e5 … … 11517 11515 mov dx, 0046ch ; ba 6c 04 11518 11516 xor ax, ax ; 31 c0 11519 call 0168ah ; e8 719d11517 call 0168ah ; e8 2b 9d 11520 11518 mov word [bp-00eh], ax ; 89 46 f2 11521 11519 mov bx, dx ; 89 d3 … … 11523 11521 mov dx, 0046ch ; ba 6c 04 11524 11522 xor ax, ax ; 31 c0 11525 call 0168ah ; e8 639d11523 call 0168ah ; e8 1d 9d 11526 11524 mov word [bp-012h], ax ; 89 46 ee 11527 11525 mov di, dx ; 89 d7 11528 11526 cmp dx, bx ; 39 da 11529 jnbe short 079 37h ; 77 0711530 jne short 079 3eh ; 75 0c11527 jnbe short 0797dh ; 77 07 11528 jne short 07984h ; 75 0c 11531 11529 cmp ax, word [bp-00eh] ; 3b 46 f2 11532 jbe short 079 3eh ; 76 0711530 jbe short 07984h ; 76 07 11533 11531 sub ax, word [bp-00eh] ; 2b 46 f2 11534 11532 sbb dx, bx ; 19 da 11535 jmp short 079 49h ; eb 0b11533 jmp short 0798fh ; eb 0b 11536 11534 cmp dx, bx ; 39 da 11537 jc short 079 49h ; 72 0711538 jne short 079 4dh ; 75 0911535 jc short 0798fh ; 72 07 11536 jne short 07993h ; 75 09 11539 11537 cmp ax, word [bp-00eh] ; 3b 46 f2 11540 jnc short 079 4dh ; 73 0411538 jnc short 07993h ; 73 04 11541 11539 sub si, ax ; 29 c6 11542 11540 sbb cx, dx ; 19 d1 … … 11546 11544 mov ax, 00100h ; b8 00 01 11547 11545 int 016h ; cd 16 11548 je short 079 61h ; 74 0511546 je short 079a7h ; 74 05 11549 11547 mov AL, strict byte 001h ; b0 01 11550 jmp near 079 63h ; e9 02 0011548 jmp near 079a9h ; e9 02 00 11551 11549 db 032h, 0c0h 11552 11550 ; xor al, al ; 32 c0 11553 11551 test al, al ; 84 c0 11554 je short 079 8dh ; 74 2611552 je short 079d3h ; 74 26 11555 11553 db 033h, 0c0h 11556 11554 ; xor ax, ax ; 33 c0 … … 11565 11563 mov ax, strict word 00004h ; b8 04 00 11566 11564 push ax ; 50 11567 call 01976h ; e8 f69f11565 call 01976h ; e8 b0 9f 11568 11566 add sp, strict byte 00006h ; 83 c4 06 11569 11567 cmp byte [bp-00ah], 000h ; 80 7e f6 00 11570 je short 079 8dh ; 74 0411568 je short 079d3h ; 74 04 11571 11569 mov al, dl ; 88 d0 11572 jmp short 079 9fh ; eb 1211570 jmp short 079e5h ; eb 12 11573 11571 test cx, cx ; 85 c9 11574 jnle short 079 1eh ; 7f 8d11575 jne short 079 97h ; 75 0411572 jnle short 07964h ; 7f 8d 11573 jne short 079ddh ; 75 04 11576 11574 test si, si ; 85 f6 11577 jnbe short 079 1eh ; 77 8711575 jnbe short 07964h ; 77 87 11578 11576 mov ax, word [bp-010h] ; 8b 46 f0 11579 11577 push ax ; 50 … … 11587 11585 pop bp ; 5d 11588 11586 retn ; c3 11589 read_logo_byte_: ; 0xf79 a8LB 0x1611587 read_logo_byte_: ; 0xf79ee LB 0x16 11590 11588 push bp ; 55 11591 11589 mov bp, sp ; 89 e5 … … 11602 11600 pop bp ; 5d 11603 11601 retn ; c3 11604 read_logo_word_: ; 0xf7 9beLB 0x1411602 read_logo_word_: ; 0xf7a04 LB 0x14 11605 11603 push bp ; 55 11606 11604 mov bp, sp ; 89 e5 … … 11615 11613 pop bp ; 5d 11616 11614 retn ; c3 11617 print_detected_harddisks_: ; 0xf7 9d2LB 0x15a11615 print_detected_harddisks_: ; 0xf7a18 LB 0x15a 11618 11616 push bp ; 55 11619 11617 mov bp, sp ; 89 e5 … … 11625 11623 mov dx, strict word 0000eh ; ba 0e 00 11626 11624 mov ax, strict word 00040h ; b8 40 00 11627 call 0166eh ; e8 899c11625 call 0166eh ; e8 43 9c 11628 11626 mov si, ax ; 89 c6 11629 11627 mov byte [bp-00eh], 000h ; c6 46 f2 00 … … 11631 11629 mov byte [bp-00ch], ch ; 88 6e f4 11632 11630 mov dx, 00304h ; ba 04 03 11633 call 01652h ; e8 5c9c11631 call 01652h ; e8 16 9c 11634 11632 mov byte [bp-00ah], al ; 88 46 f6 11635 11633 xor cl, cl ; 30 c9 11636 11634 cmp cl, byte [bp-00ah] ; 3a 4e f6 11637 jnc short 07a 5eh ; 73 5e11635 jnc short 07aa4h ; 73 5e 11638 11636 mov al, cl ; 88 c8 11639 11637 xor ah, ah ; 30 e4 … … 11641 11639 add dx, 00305h ; 81 c2 05 03 11642 11640 mov ax, si ; 89 f0 11643 call 01652h ; e8 43 9c11641 call 01652h ; e8 fd 9b 11644 11642 mov bl, al ; 88 c3 11645 11643 cmp AL, strict byte 00ch ; 3c 0c 11646 jc short 07a 40h ; 72 2b11644 jc short 07a86h ; 72 2b 11647 11645 test ch, ch ; 84 ed 11648 jne short 07a 29h ; 75 1011646 jne short 07a6fh ; 75 10 11649 11647 mov ax, 009a7h ; b8 a7 09 11650 11648 push ax ; 50 11651 11649 mov ax, strict word 00002h ; b8 02 00 11652 11650 push ax ; 50 11653 call 01976h ; e8 529f11651 call 01976h ; e8 0c 9f 11654 11652 add sp, strict byte 00004h ; 83 c4 04 11655 11653 mov CH, strict byte 001h ; b5 01 … … 11662 11660 mov ax, strict word 00002h ; b8 02 00 11663 11661 push ax ; 50 11664 call 01976h ; e8 3c 9f11662 call 01976h ; e8 f6 9e 11665 11663 add sp, strict byte 00006h ; 83 c4 06 11666 jmp near 07 af2h ; e9 b2 0011664 jmp near 07b38h ; e9 b2 00 11667 11665 cmp AL, strict byte 008h ; 3c 08 11668 jc short 07a 61h ; 72 1d11666 jc short 07aa7h ; 72 1d 11669 11667 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11670 jne short 07a 5ch ; 75 1211668 jne short 07aa2h ; 75 12 11671 11669 mov ax, 009cfh ; b8 cf 09 11672 11670 push ax ; 50 11673 11671 mov ax, strict word 00002h ; b8 02 00 11674 11672 push ax ; 50 11675 call 01976h ; e8 21 9f11673 call 01976h ; e8 db 9e 11676 11674 add sp, strict byte 00004h ; 83 c4 04 11677 11675 mov byte [bp-00ch], 001h ; c6 46 f4 01 11678 jmp short 07a 29h ; eb cb11679 jmp near 07 af7h ; e9 96 0011676 jmp short 07a6fh ; eb cb 11677 jmp near 07b3dh ; e9 96 00 11680 11678 cmp AL, strict byte 004h ; 3c 04 11681 jnc short 07a 7fh ; 73 1a11679 jnc short 07ac5h ; 73 1a 11682 11680 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11683 jne short 07a 7fh ; 75 1411681 jne short 07ac5h ; 75 14 11684 11682 mov ax, 009e4h ; b8 e4 09 11685 11683 push ax ; 50 11686 11684 mov ax, strict word 00002h ; b8 02 00 11687 11685 push ax ; 50 11688 call 01976h ; e8 00 9f11686 call 01976h ; e8 ba 9e 11689 11687 add sp, strict byte 00004h ; 83 c4 04 11690 11688 mov byte [bp-00eh], 001h ; c6 46 f2 01 11691 jmp short 07a 98h ; eb 1911689 jmp short 07adeh ; eb 19 11692 11690 cmp bl, 004h ; 80 fb 04 11693 jc short 07a 98h ; 72 1411691 jc short 07adeh ; 72 14 11694 11692 test ch, ch ; 84 ed 11695 jne short 07a 98h ; 75 1011693 jne short 07adeh ; 75 10 11696 11694 mov ax, 009f6h ; b8 f6 09 11697 11695 push ax ; 50 11698 11696 mov ax, strict word 00002h ; b8 02 00 11699 11697 push ax ; 50 11700 call 01976h ; e8 e39e11698 call 01976h ; e8 9d 9e 11701 11699 add sp, strict byte 00004h ; 83 c4 04 11702 11700 mov CH, strict byte 001h ; b5 01 … … 11709 11707 mov ax, strict word 00002h ; b8 02 00 11710 11708 push ax ; 50 11711 call 01976h ; e8 cd9e11709 call 01976h ; e8 87 9e 11712 11710 add sp, strict byte 00006h ; 83 c4 06 11713 11711 cmp bl, 004h ; 80 fb 04 11714 jc short 07a b4h ; 72 0311712 jc short 07afah ; 72 03 11715 11713 sub bl, 004h ; 80 eb 04 11716 11714 mov al, bl ; 88 d8 … … 11721 11719 sar ax, 1 ; d1 f8 11722 11720 test ax, ax ; 85 c0 11723 je short 07 ac6h ; 74 0511721 je short 07b0ch ; 74 05 11724 11722 mov ax, 00a14h ; b8 14 0a 11725 jmp short 07 ac9h ; eb 0311723 jmp short 07b0fh ; eb 03 11726 11724 mov ax, 00a1fh ; b8 1f 0a 11727 11725 push ax ; 50 11728 11726 mov ax, strict word 00002h ; b8 02 00 11729 11727 push ax ; 50 11730 call 01976h ; e8 a59e11728 call 01976h ; e8 5f 9e 11731 11729 add sp, strict byte 00004h ; 83 c4 04 11732 11730 mov al, bl ; 88 d8 … … 11736 11734 idiv bx ; f7 fb 11737 11735 test dx, dx ; 85 d2 11738 je short 07 ae7h ; 74 0511736 je short 07b2dh ; 74 05 11739 11737 mov ax, 00a28h ; b8 28 0a 11740 jmp short 07 aeah ; eb 0311738 jmp short 07b30h ; eb 03 11741 11739 mov ax, 00a2eh ; b8 2e 0a 11742 11740 push ax ; 50 11743 11741 push bx ; 53 11744 call 01976h ; e8 879e11742 call 01976h ; e8 41 9e 11745 11743 add sp, strict byte 00004h ; 83 c4 04 11746 11744 db 0feh, 0c1h 11747 11745 ; inc cl ; fe c1 11748 jmp near 07 9fbh ; e9 04 ff11746 jmp near 07a41h ; e9 04 ff 11749 11747 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11750 jne short 07b 15h ; 75 1811748 jne short 07b5bh ; 75 18 11751 11749 test ch, ch ; 84 ed 11752 jne short 07b 15h ; 75 1411750 jne short 07b5bh ; 75 14 11753 11751 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11754 jne short 07b 15h ; 75 0e11752 jne short 07b5bh ; 75 0e 11755 11753 mov ax, 00a35h ; b8 35 0a 11756 11754 push ax ; 50 11757 11755 mov ax, strict word 00002h ; b8 02 00 11758 11756 push ax ; 50 11759 call 01976h ; e8 649e11757 call 01976h ; e8 1e 9e 11760 11758 add sp, strict byte 00004h ; 83 c4 04 11761 11759 mov ax, 00a49h ; b8 49 0a … … 11763 11761 mov ax, strict word 00002h ; b8 02 00 11764 11762 push ax ; 50 11765 call 01976h ; e8 569e11763 call 01976h ; e8 10 9e 11766 11764 add sp, strict byte 00004h ; 83 c4 04 11767 11765 lea sp, [bp-008h] ; 8d 66 f8 … … 11772 11770 pop bp ; 5d 11773 11771 retn ; c3 11774 get_boot_drive_: ; 0xf7b 2cLB 0x2811772 get_boot_drive_: ; 0xf7b72 LB 0x28 11775 11773 push bp ; 55 11776 11774 mov bp, sp ; 89 e5 … … 11780 11778 mov dx, strict word 0000eh ; ba 0e 00 11781 11779 mov ax, strict word 00040h ; b8 40 00 11782 call 0166eh ; e8 32 9b11780 call 0166eh ; e8 ec 9a 11783 11781 mov dx, 00304h ; ba 04 03 11784 call 01652h ; e8 10 9b11782 call 01652h ; e8 ca 9a 11785 11783 sub bl, 002h ; 80 eb 02 11786 11784 cmp bl, al ; 38 c3 11787 jc short 07b 4bh ; 72 0211785 jc short 07b91h ; 72 02 11788 11786 mov BL, strict byte 0ffh ; b3 ff 11789 11787 mov al, bl ; 88 d8 … … 11793 11791 pop bp ; 5d 11794 11792 retn ; c3 11795 show_logo_: ; 0xf7b 54LB 0x24011793 show_logo_: ; 0xf7b9a LB 0x240 11796 11794 push bp ; 55 11797 11795 mov bp, sp ; 89 e5 … … 11804 11802 mov dx, strict word 0000eh ; ba 0e 00 11805 11803 mov ax, strict word 00040h ; b8 40 00 11806 call 0166eh ; e8 06 9b11804 call 0166eh ; e8 c0 9a 11807 11805 mov si, ax ; 89 c6 11808 11806 mov byte [bp-00ch], 000h ; c6 46 f4 00 … … 11816 11814 mov al, cl ; 88 c8 11817 11815 xor ah, ah ; 30 e4 11818 call 07 9beh ; e8 3b fe11816 call 07a04h ; e8 3b fe 11819 11817 cmp ax, 066bbh ; 3d bb 66 11820 jne short 07b 9ah ; 75 1211818 jne short 07be0h ; 75 12 11821 11819 push SS ; 16 11822 11820 pop ES ; 07 … … 11826 11824 mov word [es:di], bx ; 26 89 1d 11827 11825 cmp ax, strict word 0004fh ; 3d 4f 00 11828 je short 07b 9dh ; 74 0311829 jmp near 07c 63h ; e9 c6 0011826 je short 07be3h ; 74 03 11827 jmp near 07ca9h ; e9 c6 00 11830 11828 mov al, cl ; 88 c8 11831 11829 add AL, strict byte 004h ; 04 04 11832 11830 xor ah, ah ; 30 e4 11833 call 079 a8h ; e8 02 fe11831 call 079eeh ; e8 02 fe 11834 11832 mov bl, al ; 88 c3 11835 11833 mov byte [bp-014h], al ; 88 46 ec … … 11837 11835 add AL, strict byte 005h ; 04 05 11838 11836 xor ah, ah ; 30 e4 11839 call 079 a8h ; e8 f4 fd11837 call 079eeh ; e8 f4 fd 11840 11838 mov bh, al ; 88 c7 11841 11839 mov byte [bp-012h], al ; 88 46 ee … … 11843 11841 add AL, strict byte 002h ; 04 02 11844 11842 xor ah, ah ; 30 e4 11845 call 07 9beh ; e8 fc fd11843 call 07a04h ; e8 fc fd 11846 11844 mov dx, ax ; 89 c2 11847 11845 mov word [bp-016h], ax ; 89 46 ea … … 11849 11847 add AL, strict byte 006h ; 04 06 11850 11848 xor ah, ah ; 30 e4 11851 call 079 a8h ; e8 d8 fd11849 call 079eeh ; e8 d8 fd 11852 11850 mov byte [bp-010h], al ; 88 46 f0 11853 11851 test bl, bl ; 84 db 11854 jne short 07 bdfh ; 75 0811852 jne short 07c25h ; 75 08 11855 11853 test bh, bh ; 84 ff 11856 jne short 07 bdfh ; 75 0411854 jne short 07c25h ; 75 04 11857 11855 test dx, dx ; 85 d2 11858 je short 07b 9ah ; 74 bb11856 je short 07be0h ; 74 bb 11859 11857 mov bx, 00142h ; bb 42 01 11860 11858 mov ax, 04f02h ; b8 02 4f 11861 11859 int 010h ; cd 10 11862 11860 cmp byte [bp-014h], 000h ; 80 7e ec 00 11863 je short 07c 12h ; 74 2511861 je short 07c58h ; 74 25 11864 11862 xor cx, cx ; 31 c9 11865 jmp short 07 bf7h ; eb 0611863 jmp short 07c3dh ; eb 06 11866 11864 inc cx ; 41 11867 11865 cmp cx, strict byte 00010h ; 83 f9 10 11868 jnbe short 07c 19h ; 77 2211866 jnbe short 07c5fh ; 77 22 11869 11867 mov ax, cx ; 89 c8 11870 11868 or ah, 002h ; 80 cc 02 … … 11873 11871 xor dx, dx ; 31 d2 11874 11872 mov ax, strict word 00001h ; b8 01 00 11875 call 07 8f6h ; e8 ee fc11873 call 0793ch ; e8 ee fc 11876 11874 cmp AL, strict byte 086h ; 3c 86 11877 jne short 07 bf1h ; 75 e511875 jne short 07c37h ; 75 e5 11878 11876 mov byte [bp-00ch], 001h ; c6 46 f4 01 11879 jmp short 07c 19h ; eb 0711877 jmp short 07c5fh ; eb 07 11880 11878 mov ax, 00210h ; b8 10 02 11881 11879 mov dx, 003b8h ; ba b8 03 11882 11880 out DX, ax ; ef 11883 11881 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11884 jne short 07c 34h ; 75 1511882 jne short 07c7ah ; 75 15 11885 11883 mov CL, strict byte 004h ; b1 04 11886 11884 mov ax, word [bp-016h] ; 8b 46 ea 11887 11885 shr ax, CL ; d3 e8 11888 11886 mov dx, strict word 00001h ; ba 01 00 11889 call 07 8f6h ; e8 ca fc11887 call 0793ch ; e8 ca fc 11890 11888 cmp AL, strict byte 086h ; 3c 86 11891 jne short 07c 34h ; 75 0411889 jne short 07c7ah ; 75 04 11892 11890 mov byte [bp-00ch], 001h ; c6 46 f4 01 11893 11891 cmp byte [bp-012h], 000h ; 80 7e ee 00 11894 je short 07c 63h ; 74 2911892 je short 07ca9h ; 74 29 11895 11893 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11896 jne short 07c 63h ; 75 2311894 jne short 07ca9h ; 75 23 11897 11895 mov cx, strict word 00010h ; b9 10 00 11898 jmp short 07c 4ah ; eb 0511896 jmp short 07c90h ; eb 05 11899 11897 dec cx ; 49 11900 11898 test cx, cx ; 85 c9 11901 jbe short 07c 63h ; 76 1911899 jbe short 07ca9h ; 76 19 11902 11900 mov ax, cx ; 89 c8 11903 11901 or ah, 002h ; 80 cc 02 … … 11906 11904 xor dx, dx ; 31 d2 11907 11905 mov ax, strict word 00001h ; b8 01 00 11908 call 07 8f6h ; e8 9b fc11906 call 0793ch ; e8 9b fc 11909 11907 cmp AL, strict byte 086h ; 3c 86 11910 jne short 07c 45h ; 75 e611908 jne short 07c8bh ; 75 e6 11911 11909 mov byte [bp-00ch], 001h ; c6 46 f4 01 11912 11910 xor bx, bx ; 31 db 11913 11911 mov dx, 0037dh ; ba 7d 03 11914 11912 mov ax, si ; 89 f0 11915 call 01660h ; e8 f39911913 call 01660h ; e8 ad 99 11916 11914 mov AL, strict byte 003h ; b0 03 11917 11915 mov AH, strict byte 000h ; b4 00 11918 11916 int 010h ; cd 10 11919 11917 cmp byte [bp-010h], 000h ; 80 7e f0 00 11920 je short 07c 8dh ; 74 1411918 je short 07cd3h ; 74 14 11921 11919 cmp byte [bp-014h], 000h ; 80 7e ec 00 11922 jne short 07 cbbh ; 75 3c11920 jne short 07d01h ; 75 3c 11923 11921 cmp byte [bp-012h], 000h ; 80 7e ee 00 11924 jne short 07 cbbh ; 75 3611922 jne short 07d01h ; 75 36 11925 11923 cmp word [bp-016h], strict byte 00000h ; 83 7e ea 00 11926 je short 07c 90h ; 74 0511927 jmp short 07 cbbh ; eb 2e11928 jmp near 07d 77h ; e9 e7 0011924 je short 07cd6h ; 74 05 11925 jmp short 07d01h ; eb 2e 11926 jmp near 07dbdh ; e9 e7 00 11929 11927 cmp byte [bp-010h], 002h ; 80 7e f0 02 11930 jne short 07c a4h ; 75 0e11928 jne short 07ceah ; 75 0e 11931 11929 mov ax, 00a4bh ; b8 4b 0a 11932 11930 push ax ; 50 11933 11931 mov ax, strict word 00002h ; b8 02 00 11934 11932 push ax ; 50 11935 call 01976h ; e8 d59c11933 call 01976h ; e8 8f 9c 11936 11934 add sp, strict byte 00004h ; 83 c4 04 11937 11935 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11938 jne short 07 cbbh ; 75 1111936 jne short 07d01h ; 75 11 11939 11937 mov dx, strict word 00001h ; ba 01 00 11940 11938 mov ax, 000c0h ; b8 c0 00 11941 call 07 8f6h ; e8 43 fc11939 call 0793ch ; e8 43 fc 11942 11940 cmp AL, strict byte 086h ; 3c 86 11943 jne short 07 cbbh ; 75 0411941 jne short 07d01h ; 75 04 11944 11942 mov byte [bp-00ch], 001h ; c6 46 f4 01 11945 11943 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11946 je short 07c 8dh ; 74 cc11944 je short 07cd3h ; 74 cc 11947 11945 mov byte [bp-00eh], 000h ; c6 46 f2 00 11948 11946 mov ax, 00100h ; b8 00 01 … … 11965 11963 mov ax, strict word 00002h ; b8 02 00 11966 11964 push ax ; 50 11967 call 01976h ; e8 899c11965 call 01976h ; e8 43 9c 11968 11966 add sp, strict byte 00004h ; 83 c4 04 11969 call 07 9d2h ; e8 df fc11967 call 07a18h ; e8 df fc 11970 11968 mov ax, 00ab1h ; b8 b1 0a 11971 11969 push ax ; 50 11972 11970 mov ax, strict word 00002h ; b8 02 00 11973 11971 push ax ; 50 11974 call 01976h ; e8 789c11972 call 01976h ; e8 32 9c 11975 11973 add sp, strict byte 00004h ; 83 c4 04 11976 11974 mov dx, strict word 00001h ; ba 01 00 11977 11975 mov ax, strict word 00040h ; b8 40 00 11978 call 07 8f6h ; e8 ec fb11976 call 0793ch ; e8 ec fb 11979 11977 mov cl, al ; 88 c1 11980 11978 test al, al ; 84 c0 11981 je short 07d 01h ; 74 f111979 je short 07d47h ; 74 f1 11982 11980 cmp AL, strict byte 030h ; 3c 30 11983 je short 07d 64h ; 74 5011981 je short 07daah ; 74 50 11984 11982 cmp cl, 002h ; 80 f9 02 11985 jc short 07d 3dh ; 72 2411983 jc short 07d83h ; 72 24 11986 11984 cmp cl, 009h ; 80 f9 09 11987 jnbe short 07d 3dh ; 77 1f11985 jnbe short 07d83h ; 77 1f 11988 11986 mov al, cl ; 88 c8 11989 11987 xor ah, ah ; 30 e4 11990 call 07b 2ch ; e8 07 fe11988 call 07b72h ; e8 07 fe 11991 11989 cmp AL, strict byte 0ffh ; 3c ff 11992 jne short 07d 2bh ; 75 0211993 jmp short 07d 01h ; eb d611990 jne short 07d71h ; 75 02 11991 jmp short 07d47h ; eb d6 11994 11992 mov bl, al ; 88 c3 11995 11993 xor bh, bh ; 30 ff 11996 11994 mov dx, 0037ch ; ba 7c 03 11997 11995 mov ax, si ; 89 f0 11998 call 01660h ; e8 29 9911996 call 01660h ; e8 e3 98 11999 11997 mov byte [bp-00eh], 002h ; c6 46 f2 02 12000 jmp short 07d 64h ; eb 2711998 jmp short 07daah ; eb 27 12001 11999 cmp cl, 02eh ; 80 f9 2e 12002 je short 07d 52h ; 74 1012000 je short 07d98h ; 74 10 12003 12001 cmp cl, 026h ; 80 f9 26 12004 je short 07d 58h ; 74 1112002 je short 07d9eh ; 74 11 12005 12003 cmp cl, 021h ; 80 f9 21 12006 jne short 07d 5eh ; 75 1212004 jne short 07da4h ; 75 12 12007 12005 mov byte [bp-00eh], 001h ; c6 46 f2 01 12008 jmp short 07d 64h ; eb 1212006 jmp short 07daah ; eb 12 12009 12007 mov byte [bp-00eh], 003h ; c6 46 f2 03 12010 jmp short 07d 64h ; eb 0c12008 jmp short 07daah ; eb 0c 12011 12009 mov byte [bp-00eh], 004h ; c6 46 f2 04 12012 jmp short 07d 64h ; eb 0612010 jmp short 07daah ; eb 06 12013 12011 cmp byte [bp-00eh], 000h ; 80 7e f2 00 12014 je short 07d 01h ; 74 9d12012 je short 07d47h ; 74 9d 12015 12013 mov bl, byte [bp-00eh] ; 8a 5e f2 12016 12014 xor bh, bh ; 30 ff 12017 12015 mov dx, 0037dh ; ba 7d 03 12018 12016 mov ax, si ; 89 f0 12019 call 01660h ; e8 ef9812017 call 01660h ; e8 a9 98 12020 12018 mov AL, strict byte 003h ; b0 03 12021 12019 mov AH, strict byte 000h ; b4 00 … … 12030 12028 push DS ; 1e 12031 12029 mov ds, ax ; 8e d8 12032 call 0ede3h ; e8 5b7012030 call 0ede3h ; e8 15 70 12033 12031 pop DS ; 1f 12034 12032 pop bp ; 5d … … 12041 12039 pop bp ; 5d 12042 12040 retn ; c3 12043 delay_boot_: ; 0xf7d 94LB 0x7212041 delay_boot_: ; 0xf7dda LB 0x72 12044 12042 push bp ; 55 12045 12043 mov bp, sp ; 89 e5 … … 12051 12049 mov bx, ax ; 89 c3 12052 12050 test ax, ax ; 85 c0 12053 je short 07 dfch ; 74 5a12051 je short 07e42h ; 74 5a 12054 12052 mov AL, strict byte 034h ; b0 34 12055 12053 out strict byte 043h, AL ; e6 43 … … 12063 12061 mov ax, strict word 00002h ; b8 02 00 12064 12062 push ax ; 50 12065 call 01976h ; e8 bc9b12063 call 01976h ; e8 76 9b 12066 12064 add sp, strict byte 00006h ; 83 c4 06 12067 12065 test bx, bx ; 85 db 12068 jbe short 07 ddbh ; 76 1a12066 jbe short 07e21h ; 76 1a 12069 12067 push bx ; 53 12070 12068 mov ax, 00b19h ; b8 19 0b … … 12072 12070 mov ax, strict word 00002h ; b8 02 00 12073 12071 push ax ; 50 12074 call 01976h ; e8 a99b12072 call 01976h ; e8 63 9b 12075 12073 add sp, strict byte 00006h ; 83 c4 06 12076 12074 xor dx, dx ; 31 d2 12077 12075 mov ax, strict word 00040h ; b8 40 00 12078 call 07 8f6h ; e8 1e fb12076 call 0793ch ; e8 1e fb 12079 12077 dec bx ; 4b 12080 jmp short 07 dbdh ; eb e212078 jmp short 07e03h ; eb e2 12081 12079 mov bx, 00a49h ; bb 49 0a 12082 12080 push bx ; 53 12083 12081 mov bx, strict word 00002h ; bb 02 00 12084 12082 push bx ; 53 12085 call 01976h ; e8 909b12083 call 01976h ; e8 4a 9b 12086 12084 add sp, strict byte 00004h ; 83 c4 04 12087 12085 mov AL, strict byte 034h ; b0 34 … … 12094 12092 push DS ; 1e 12095 12093 mov ds, ax ; 8e d8 12096 call 0ede3h ; e8 e96f12094 call 0ede3h ; e8 a3 6f 12097 12095 pop DS ; 1f 12098 12096 pop bp ; 5d … … 12105 12103 pop bp ; 5d 12106 12104 retn ; c3 12107 scsi_cmd_data_in_: ; 0xf7e 06LB 0xd512105 scsi_cmd_data_in_: ; 0xf7e4c LB 0xd5 12108 12106 push bp ; 55 12109 12107 mov bp, sp ; 89 e5 … … 12121 12119 ; sub ah, ah ; 2a e4 12122 12120 test AL, strict byte 001h ; a8 01 12123 jne short 07e 1ch ; 75 f712121 jne short 07e62h ; 75 f7 12124 12122 mov al, byte [bp+004h] ; 8a 46 04 12125 12123 cmp AL, strict byte 010h ; 3c 10 12126 jne short 07e 30h ; 75 0412124 jne short 07e76h ; 75 04 12127 12125 xor ax, ax ; 31 c0 12128 jmp short 07e 32h ; eb 0212126 jmp short 07e78h ; eb 02 12129 12127 xor ah, ah ; 30 e4 12130 12128 mov di, ax ; 89 c7 … … 12134 12132 shr dx, 1 ; d1 ea 12135 12133 rcr ax, 1 ; d1 d8 12136 loop 07e 3ch ; e2 fa12134 loop 07e82h ; e2 fa 12137 12135 mov cx, ax ; 89 c1 12138 12136 and cx, 000f0h ; 81 e1 f0 00 … … 12152 12150 shr dx, 1 ; d1 ea 12153 12151 rcr ax, 1 ; d1 d8 12154 loop 07e 61h ; e2 fa12152 loop 07ea7h ; e2 fa 12155 12153 mov dx, si ; 89 f2 12156 12154 out DX, AL ; ee … … 12159 12157 xor ah, ah ; 30 e4 12160 12158 cmp cx, ax ; 39 c1 12161 jnc short 07e 83h ; 73 0e12159 jnc short 07ec9h ; 73 0e 12162 12160 les di, [bp-00ah] ; c4 7e f6 12163 12161 add di, cx ; 01 cf … … 12166 12164 out DX, AL ; ee 12167 12165 inc cx ; 41 12168 jmp short 07e 6ch ; eb e912166 jmp short 07eb2h ; eb e9 12169 12167 mov dx, si ; 89 f2 12170 12168 in AL, DX ; ec … … 12172 12170 ; sub ah, ah ; 2a e4 12173 12171 test AL, strict byte 001h ; a8 01 12174 jne short 07e 83h ; 75 f712172 jne short 07ec9h ; 75 f7 12175 12173 test AL, strict byte 002h ; a8 02 12176 je short 07e 9eh ; 74 0e12174 je short 07ee4h ; 74 0e 12177 12175 lea dx, [si+003h] ; 8d 54 03 12178 12176 xor al, al ; 30 c0 … … 12182 12180 ; sub ah, ah ; 2a e4 12183 12181 mov di, strict word 00004h ; bf 04 00 12184 jmp short 07 ed0h ; eb 3212182 jmp short 07f16h ; eb 32 12185 12183 lea dx, [si+001h] ; 8d 54 01 12186 12184 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 12187 jne short 07e adh ; 75 0612185 jne short 07ef3h ; 75 06 12188 12186 cmp bx, 08000h ; 81 fb 00 80 12189 jbe short 07 ec7h ; 76 1a12187 jbe short 07f0dh ; 76 1a 12190 12188 mov cx, 08000h ; b9 00 80 12191 12189 les di, [bp+006h] ; c4 7e 06 … … 12196 12194 add ax, 00800h ; 05 00 08 12197 12195 mov word [bp+008h], ax ; 89 46 08 12198 jmp short 07e 9eh ; eb d712196 jmp short 07ee4h ; eb d7 12199 12197 mov cx, bx ; 89 d9 12200 12198 les di, [bp+006h] ; c4 7e 06 … … 12207 12205 pop bp ; 5d 12208 12206 retn 0000ah ; c2 0a 00 12209 scsi_cmd_data_out_: ; 0xf7 edbLB 0xd512207 scsi_cmd_data_out_: ; 0xf7f21 LB 0xd5 12210 12208 push bp ; 55 12211 12209 mov bp, sp ; 89 e5 … … 12223 12221 ; sub ah, ah ; 2a e4 12224 12222 test AL, strict byte 001h ; a8 01 12225 jne short 07 ef1h ; 75 f712223 jne short 07f37h ; 75 f7 12226 12224 mov al, byte [bp+004h] ; 8a 46 04 12227 12225 cmp AL, strict byte 010h ; 3c 10 12228 jne short 07f 05h ; 75 0412226 jne short 07f4bh ; 75 04 12229 12227 xor ax, ax ; 31 c0 12230 jmp short 07f 07h ; eb 0212228 jmp short 07f4dh ; eb 02 12231 12229 xor ah, ah ; 30 e4 12232 12230 mov si, ax ; 89 c6 … … 12236 12234 shr dx, 1 ; d1 ea 12237 12235 rcr ax, 1 ; d1 d8 12238 loop 07f 11h ; e2 fa12236 loop 07f57h ; e2 fa 12239 12237 mov cx, ax ; 89 c1 12240 12238 and cx, 000f0h ; 81 e1 f0 00 … … 12254 12252 shr dx, 1 ; d1 ea 12255 12253 rcr ax, 1 ; d1 d8 12256 loop 07f 36h ; e2 fa12254 loop 07f7ch ; e2 fa 12257 12255 mov dx, di ; 89 fa 12258 12256 out DX, AL ; ee … … 12261 12259 xor ah, ah ; 30 e4 12262 12260 cmp cx, ax ; 39 c1 12263 jnc short 07f 58h ; 73 0e12261 jnc short 07f9eh ; 73 0e 12264 12262 les si, [bp-00ah] ; c4 76 f6 12265 12263 add si, cx ; 01 ce … … 12268 12266 out DX, AL ; ee 12269 12267 inc cx ; 41 12270 jmp short 07f 41h ; eb e912268 jmp short 07f87h ; eb e9 12271 12269 lea dx, [di+001h] ; 8d 55 01 12272 12270 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 12273 jne short 07f 67h ; 75 0612271 jne short 07fadh ; 75 06 12274 12272 cmp bx, 08000h ; 81 fb 00 80 12275 jbe short 07f 82h ; 76 1b12273 jbe short 07fc8h ; 76 1b 12276 12274 mov cx, 08000h ; b9 00 80 12277 12275 les si, [bp+006h] ; c4 76 06 … … 12283 12281 add ax, 00800h ; 05 00 08 12284 12282 mov word [bp+008h], ax ; 89 46 08 12285 jmp short 07f 58h ; eb d612283 jmp short 07f9eh ; eb d6 12286 12284 mov cx, bx ; 89 d9 12287 12285 les si, [bp+006h] ; c4 76 06 … … 12293 12291 ; sub ah, ah ; 2a e4 12294 12292 test AL, strict byte 001h ; a8 01 12295 jne short 07f 8ah ; 75 f712293 jne short 07fd0h ; 75 f7 12296 12294 test AL, strict byte 002h ; a8 02 12297 je short 07f a5h ; 74 0e12295 je short 07febh ; 74 0e 12298 12296 lea dx, [di+003h] ; 8d 55 03 12299 12297 xor al, al ; 30 c0 … … 12303 12301 ; sub ah, ah ; 2a e4 12304 12302 mov ax, strict word 00004h ; b8 04 00 12305 jmp short 07f a7h ; eb 0212303 jmp short 07fedh ; eb 02 12306 12304 xor ax, ax ; 31 c0 12307 12305 lea sp, [bp-004h] ; 8d 66 fc … … 12310 12308 pop bp ; 5d 12311 12309 retn 0000ah ; c2 0a 00 12312 @scsi_read_sectors: ; 0xf7f b0LB 0xe912310 @scsi_read_sectors: ; 0xf7ff6 LB 0xe9 12313 12311 push bp ; 55 12314 12312 mov bp, sp ; 89 e5 … … 12322 12320 mov byte [bp-006h], al ; 88 46 fa 12323 12321 cmp AL, strict byte 004h ; 3c 04 12324 jbe short 0 7fe0h ; 76 1512322 jbe short 08026h ; 76 15 12325 12323 xor ah, ah ; 30 e4 12326 12324 push ax ; 50 … … 12331 12329 mov ax, strict word 00007h ; b8 07 00 12332 12330 push ax ; 50 12333 call 01976h ; e8 999912331 call 01976h ; e8 53 99 12334 12332 add sp, strict byte 00008h ; 83 c4 08 12335 12333 mov es, [bp+006h] ; 8e 46 06 … … 12372 12370 sal word [bp-00ah], 1 ; d1 66 f6 12373 12371 rcl word [bp-008h], 1 ; d1 56 f8 12374 loop 080 4bh ; e2 f812372 loop 08091h ; e2 f8 12375 12373 push word [bp-008h] ; ff 76 f8 12376 12374 push word [bp-00ah] ; ff 76 f6 … … 12383 12381 mov cx, ss ; 8c d1 12384 12382 lea bx, [bp-01ah] ; 8d 5e e6 12385 call 07e 06h ; e8 95 fd12383 call 07e4ch ; e8 95 fd 12386 12384 mov ah, al ; 88 c4 12387 12385 test al, al ; 84 c0 12388 jne short 080 8ch ; 75 1512386 jne short 080d2h ; 75 15 12389 12387 mov es, [bp+006h] ; 8e 46 06 12390 12388 mov word [es:si+018h], di ; 26 89 7c 18 … … 12400 12398 pop bp ; 5d 12401 12399 retn 00004h ; c2 04 00 12402 @scsi_write_sectors: ; 0xf80 99LB 0xe912400 @scsi_write_sectors: ; 0xf80df LB 0xe9 12403 12401 push bp ; 55 12404 12402 mov bp, sp ; 89 e5 … … 12412 12410 mov byte [bp-006h], al ; 88 46 fa 12413 12411 cmp AL, strict byte 004h ; 3c 04 12414 jbe short 08 0c9h ; 76 1512412 jbe short 0810fh ; 76 15 12415 12413 xor ah, ah ; 30 e4 12416 12414 push ax ; 50 … … 12421 12419 mov ax, strict word 00007h ; b8 07 00 12422 12420 push ax ; 50 12423 call 01976h ; e8 b09812421 call 01976h ; e8 6a 98 12424 12422 add sp, strict byte 00008h ; 83 c4 08 12425 12423 mov es, [bp+006h] ; 8e 46 06 … … 12462 12460 sal word [bp-00ah], 1 ; d1 66 f6 12463 12461 rcl word [bp-008h], 1 ; d1 56 f8 12464 loop 081 34h ; e2 f812462 loop 0817ah ; e2 f8 12465 12463 push word [bp-008h] ; ff 76 f8 12466 12464 push word [bp-00ah] ; ff 76 f6 … … 12473 12471 mov cx, ss ; 8c d1 12474 12472 lea bx, [bp-01ah] ; 8d 5e e6 12475 call 07 edbh ; e8 81 fd12473 call 07f21h ; e8 81 fd 12476 12474 mov ah, al ; 88 c4 12477 12475 test al, al ; 84 c0 12478 jne short 081 75h ; 75 1512476 jne short 081bbh ; 75 15 12479 12477 mov es, [bp+006h] ; 8e 46 06 12480 12478 mov word [es:si+018h], di ; 26 89 7c 18 … … 12490 12488 pop bp ; 5d 12491 12489 retn 00004h ; c2 04 00 12492 scsi_cmd_packet_: ; 0xf81 82LB 0x17012490 scsi_cmd_packet_: ; 0xf81c8 LB 0x170 12493 12491 push bp ; 55 12494 12492 mov bp, sp ; 89 e5 … … 12502 12500 mov dx, strict word 0000eh ; ba 0e 00 12503 12501 mov ax, strict word 00040h ; b8 40 00 12504 call 0166eh ; e8 d09412502 call 0166eh ; e8 8a 94 12505 12503 mov si, 00122h ; be 22 01 12506 12504 mov word [bp-00ch], ax ; 89 46 f4 12507 12505 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12508 jne short 08 1cdh ; 75 2312506 jne short 08213h ; 75 23 12509 12507 mov bx, 00da0h ; bb a0 0d 12510 12508 mov cx, ds ; 8c d9 12511 12509 mov ax, strict word 00004h ; b8 04 00 12512 call 01933h ; e8 7e9712510 call 01933h ; e8 38 97 12513 12511 mov ax, 00b62h ; b8 62 0b 12514 12512 push ax ; 50 … … 12517 12515 mov ax, strict word 00004h ; b8 04 00 12518 12516 push ax ; 50 12519 call 01976h ; e8 b29712517 call 01976h ; e8 6c 97 12520 12518 add sp, strict byte 00006h ; 83 c4 06 12521 12519 mov dx, strict word 00001h ; ba 01 00 12522 jmp near 08 2e7h ; e9 1a 0112520 jmp near 0832dh ; e9 1a 01 12523 12521 sub di, strict byte 00008h ; 83 ef 08 12524 12522 sal di, 1 ; d1 e7 … … 12535 12533 ; sub ah, ah ; 2a e4 12536 12534 test AL, strict byte 001h ; a8 01 12537 jne short 08 1eah ; 75 f712535 jne short 08230h ; 75 f7 12538 12536 xor dx, bx ; 31 da 12539 12537 mov ax, word [bp+006h] ; 8b 46 06 … … 12551 12549 shr dx, 1 ; d1 ea 12552 12550 rcr ax, 1 ; d1 d8 12553 loop 082 15h ; e2 fa12551 loop 0825bh ; e2 fa 12554 12552 and ax, 000f0h ; 25 f0 00 12555 12553 mov cl, byte [bp-006h] ; 8a 4e fa … … 12570 12568 shr dx, 1 ; d1 ea 12571 12569 rcr ax, 1 ; d1 d8 12572 loop 082 3dh ; e2 fa12570 loop 08283h ; e2 fa 12573 12571 mov dx, bx ; 89 da 12574 12572 out DX, AL ; ee … … 12577 12575 xor ah, ah ; 30 e4 12578 12576 cmp cx, ax ; 39 c1 12579 jnc short 082 62h ; 73 1112577 jnc short 082a8h ; 73 11 12580 12578 mov es, [bp-00ah] ; 8e 46 f6 12581 12579 mov di, word [bp-00eh] ; 8b 7e f2 … … 12585 12583 out DX, AL ; ee 12586 12584 inc cx ; 41 12587 jmp short 082 48h ; eb e612585 jmp short 0828eh ; eb e6 12588 12586 mov dx, bx ; 89 da 12589 12587 in AL, DX ; ec … … 12591 12589 ; sub ah, ah ; 2a e4 12592 12590 test AL, strict byte 001h ; a8 01 12593 jne short 082 62h ; 75 f712591 jne short 082a8h ; 75 f7 12594 12592 test AL, strict byte 002h ; a8 02 12595 je short 082 7dh ; 74 0e12593 je short 082c3h ; 74 0e 12596 12594 lea dx, [bx+003h] ; 8d 57 03 12597 12595 xor al, al ; 30 c0 … … 12601 12599 ; sub ah, ah ; 2a e4 12602 12600 mov dx, strict word 00003h ; ba 03 00 12603 jmp short 08 2e7h ; eb 6a12601 jmp short 0832dh ; eb 6a 12604 12602 mov ax, word [bp+004h] ; 8b 46 04 12605 12603 test ax, ax ; 85 c0 12606 je short 082 8ch ; 74 0812604 je short 082d2h ; 74 08 12607 12605 lea dx, [bx+001h] ; 8d 57 01 12608 12606 mov cx, ax ; 89 c1 12609 12607 in AL, DX ; ec 12610 loop 082 89h ; e2 fd12608 loop 082cfh ; e2 fd 12611 12609 mov ax, word [bp+006h] ; 8b 46 06 12612 12610 mov es, [bp-00ch] ; 8e 46 f4 … … 12616 12614 lea ax, [bx+001h] ; 8d 47 01 12617 12615 cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00 12618 jne short 082 adh ; 75 0712616 jne short 082f3h ; 75 07 12619 12617 cmp word [bp+006h], 08000h ; 81 7e 06 00 80 12620 jbe short 08 2cah ; 76 1d12618 jbe short 08310h ; 76 1d 12621 12619 mov dx, ax ; 89 c2 12622 12620 mov cx, 08000h ; b9 00 80 … … 12628 12626 add ax, 00800h ; 05 00 08 12629 12627 mov word [bp+00eh], ax ; 89 46 0e 12630 jmp short 082 9dh ; eb d312628 jmp short 082e3h ; eb d3 12631 12629 mov dx, ax ; 89 c2 12632 12630 mov cx, word [bp+006h] ; 8b 4e 06 … … 12635 12633 mov es, [bp-00ch] ; 8e 46 f4 12636 12634 cmp word [es:si+020h], strict byte 00000h ; 26 83 7c 20 00 12637 je short 08 2e5h ; 74 0712635 je short 0832bh ; 74 07 12638 12636 mov cx, word [es:si+020h] ; 26 8b 4c 20 12639 12637 in AL, DX ; ec 12640 loop 08 2e2h ; e2 fd12638 loop 08328h ; e2 fd 12641 12639 xor dx, dx ; 31 d2 12642 12640 mov ax, dx ; 89 d0 … … 12646 12644 pop bp ; 5d 12647 12645 retn 0000ch ; c2 0c 00 12648 scsi_enumerate_attached_devices_: ; 0xf8 2f2LB 0x4cb12646 scsi_enumerate_attached_devices_: ; 0xf8338 LB 0x4cb 12649 12647 push bp ; 55 12650 12648 mov bp, sp ; 89 e5 … … 12658 12656 mov dx, strict word 0000eh ; ba 0e 00 12659 12657 mov ax, strict word 00040h ; b8 40 00 12660 call 0166eh ; e8 669312658 call 0166eh ; e8 20 93 12661 12659 mov di, 00122h ; bf 22 01 12662 12660 mov word [bp-016h], ax ; 89 46 ea 12663 12661 mov word [bp-014h], strict word 00000h ; c7 46 ec 00 00 12664 jmp near 087 30h ; e9 1a 0412662 jmp near 08776h ; e9 1a 04 12665 12663 cmp AL, strict byte 004h ; 3c 04 12666 jc short 083 1dh ; 72 0312667 jmp near 087 b3h ; e9 96 0412664 jc short 08363h ; 72 03 12665 jmp near 087f9h ; e9 96 04 12668 12666 mov cx, strict word 00010h ; b9 10 00 12669 12667 xor bx, bx ; 31 db 12670 12668 mov dx, ss ; 8c d2 12671 12669 lea ax, [bp-048h] ; 8d 46 b8 12672 call 0a0 80h ; e8 561d12670 call 0a0c0h ; e8 50 1d 12673 12671 mov byte [bp-048h], 09eh ; c6 46 b8 9e 12674 12672 mov byte [bp-047h], 010h ; c6 46 b9 10 … … 12688 12686 lea bx, [bp-048h] ; 8d 5e b8 12689 12687 mov ax, word [bp-0024ah] ; 8b 86 b6 fd 12690 call 07e 06h ; e8 ae fa12688 call 07e4ch ; e8 ae fa 12691 12689 test al, al ; 84 c0 12692 je short 083 6eh ; 74 1212690 je short 083b4h ; 74 12 12693 12691 mov ax, 00b92h ; b8 92 0b 12694 12692 push ax ; 50 … … 12697 12695 mov ax, strict word 00007h ; b8 07 00 12698 12696 push ax ; 50 12699 call 01976h ; e8 0b 9612697 call 01976h ; e8 c5 95 12700 12698 add sp, strict byte 00006h ; 83 c4 06 12701 12699 mov ax, word [bp-00242h] ; 8b 86 be fd … … 12729 12727 sal ax, 1 ; d1 e0 12730 12728 rcl dx, 1 ; d1 d2 12731 loop 08 3bch ; e2 fa12729 loop 08402h ; e2 fa 12732 12730 or bx, ax ; 09 c3 12733 12731 or dx, si ; 09 f2 … … 12737 12735 mov word [bp-01ch], bx ; 89 5e e4 12738 12736 test dx, dx ; 85 d2 12739 jne short 08 3dbh ; 75 0612737 jne short 08421h ; 75 06 12740 12738 cmp bx, 00200h ; 81 fb 00 02 12741 je short 08 3feh ; 74 2312739 je short 08444h ; 74 23 12742 12740 mov bx, 00da0h ; bb a0 0d 12743 12741 mov cx, ds ; 8c d9 12744 12742 mov ax, strict word 00004h ; b8 04 00 12745 call 01933h ; e8 4d9512743 call 01933h ; e8 07 95 12746 12744 push dx ; 52 12747 12745 push word [bp-01ch] ; ff 76 e4 … … 12751 12749 mov ax, strict word 00004h ; b8 04 00 12752 12750 push ax ; 50 12753 call 01976h ; e8 7e9512751 call 01976h ; e8 38 95 12754 12752 add sp, strict byte 0000ah ; 83 c4 0a 12755 jmp near 087 24h ; e9 26 0312753 jmp near 0876ah ; e9 26 03 12756 12754 mov al, byte [bp-00ch] ; 8a 46 f4 12757 12755 cmp AL, strict byte 001h ; 3c 01 12758 jc short 084 11h ; 72 0c12759 jbe short 084 19h ; 76 1212756 jc short 08457h ; 72 0c 12757 jbe short 0845fh ; 76 12 12760 12758 cmp AL, strict byte 003h ; 3c 03 12761 je short 084 21h ; 74 1612759 je short 08467h ; 74 16 12762 12760 cmp AL, strict byte 002h ; 3c 02 12763 je short 084 1dh ; 74 0e12764 jmp short 084 68h ; eb 5712761 je short 08463h ; 74 0e 12762 jmp short 084aeh ; eb 57 12765 12763 test al, al ; 84 c0 12766 jne short 084 68h ; 75 5312764 jne short 084aeh ; 75 53 12767 12765 mov BL, strict byte 090h ; b3 90 12768 jmp short 084 23h ; eb 0a12766 jmp short 08469h ; eb 0a 12769 12767 mov BL, strict byte 098h ; b3 98 12770 jmp short 084 23h ; eb 0612768 jmp short 08469h ; eb 06 12771 12769 mov BL, strict byte 0a0h ; b3 a0 12772 jmp short 084 23h ; eb 0212770 jmp short 08469h ; eb 02 12773 12771 mov BL, strict byte 0a8h ; b3 a8 12774 12772 mov cl, bl ; 88 d9 … … 12776 12774 xor ch, ch ; 30 ed 12777 12775 mov ax, cx ; 89 c8 12778 call 016aeh ; e8 7f9212776 call 016aeh ; e8 39 92 12779 12777 test al, al ; 84 c0 12780 je short 084 68h ; 74 3512778 je short 084aeh ; 74 35 12781 12779 mov al, bl ; 88 d8 12782 12780 db 0feh, 0c0h 12783 12781 ; inc al ; fe c0 12784 12782 xor ah, ah ; 30 e4 12785 call 016aeh ; e8 729212783 call 016aeh ; e8 2c 92 12786 12784 mov dh, al ; 88 c6 12787 12785 mov al, bl ; 88 d8 12788 12786 xor ah, ah ; 30 e4 12789 call 016aeh ; e8 699212787 call 016aeh ; e8 23 92 12790 12788 mov ah, dh ; 88 f4 12791 12789 cwd ; 99 … … 12795 12793 add AL, strict byte 002h ; 04 02 12796 12794 xor ah, ah ; 30 e4 12797 call 016aeh ; e8 589212795 call 016aeh ; e8 12 92 12798 12796 xor ah, ah ; 30 e4 12799 12797 mov word [bp-028h], ax ; 89 46 d8 12800 12798 mov ax, cx ; 89 c8 12801 call 016aeh ; e8 4e9212799 call 016aeh ; e8 08 92 12802 12800 xor ah, ah ; 30 e4 12803 12801 mov word [bp-01ah], ax ; 89 46 e6 12804 jmp near 085 55h ; e9 ed 0012802 jmp near 0859bh ; e9 ed 00 12805 12803 mov ax, word [bp-020h] ; 8b 46 e0 12806 12804 mov bx, word [bp-022h] ; 8b 5e de … … 12808 12806 mov dx, word [bp-024h] ; 8b 56 dc 12809 12807 mov si, strict word 0000ch ; be 0c 00 12810 call 0a0 60h ; e8 e61b12808 call 0a0a0h ; e8 e0 1b 12811 12809 mov word [bp-02ah], ax ; 89 46 d6 12812 12810 mov word [bp-02ch], bx ; 89 5e d4 … … 12815 12813 mov ax, word [bp-020h] ; 8b 46 e0 12816 12814 test ax, ax ; 85 c0 12817 jnbe short 084 a2h ; 77 1512818 je short 084 92h ; 74 0312819 jmp near 085 15h ; e9 83 0012815 jnbe short 084e8h ; 77 15 12816 je short 084d8h ; 74 03 12817 jmp near 0855bh ; e9 83 00 12820 12818 cmp word [bp-022h], strict byte 00000h ; 83 7e de 00 12821 jnbe short 084 a2h ; 77 0a12822 jne short 084 8fh ; 75 f512819 jnbe short 084e8h ; 77 0a 12820 jne short 084d5h ; 75 f5 12823 12821 cmp word [bp-012h], strict byte 00040h ; 83 7e ee 40 12824 jnbe short 084 a2h ; 77 0212825 jne short 085 15h ; 75 7312822 jnbe short 084e8h ; 77 02 12823 jne short 0855bh ; 75 73 12826 12824 mov word [bp-028h], 000ffh ; c7 46 d8 ff 00 12827 12825 mov word [bp-01ah], strict word 0003fh ; c7 46 e6 3f 00 … … 12830 12828 mov dx, word [bp-024h] ; 8b 56 dc 12831 12829 mov si, strict word 00006h ; be 06 00 12832 call 0a0 60h ; e8 a51b12830 call 0a0a0h ; e8 9f 1b 12833 12831 mov si, word [bp-018h] ; 8b 76 e8 12834 12832 add si, dx ; 01 d6 … … 12848 12846 mov dx, si ; 89 f2 12849 12847 mov si, strict word 00008h ; be 08 00 12850 call 0a0 60h ; e8 751b12848 call 0a0a0h ; e8 6f 1b 12851 12849 mov word [bp-02eh], bx ; 89 5e d2 12852 12850 mov word [bp-030h], cx ; 89 4e d0 … … 12857 12855 mov dx, word [bp-01eh] ; 8b 56 e2 12858 12856 mov si, strict word 00010h ; be 10 00 12859 call 0a0 60h ; e8 5a1b12857 call 0a0a0h ; e8 54 1b 12860 12858 mov si, word [bp-032h] ; 8b 76 ce 12861 12859 add si, dx ; 01 d6 … … 12863 12861 mov ax, word [bp-02eh] ; 8b 46 d2 12864 12862 adc ax, bx ; 11 d8 12865 jmp short 085 52h ; eb 3d12863 jmp short 08598h ; eb 3d 12866 12864 test ax, ax ; 85 c0 12867 jnbe short 085 2bh ; 77 1212868 jne short 085 37h ; 75 1c12865 jnbe short 08571h ; 77 12 12866 jne short 0857dh ; 75 1c 12869 12867 cmp word [bp-022h], strict byte 00000h ; 83 7e de 00 12870 jnbe short 085 2bh ; 77 0a12871 jne short 085 37h ; 75 1412868 jnbe short 08571h ; 77 0a 12869 jne short 0857dh ; 75 14 12872 12870 cmp word [bp-012h], strict byte 00020h ; 83 7e ee 20 12873 jnbe short 085 2bh ; 77 0212874 jne short 085 37h ; 75 0c12871 jnbe short 08571h ; 77 02 12872 jne short 0857dh ; 75 0c 12875 12873 mov word [bp-028h], 00080h ; c7 46 d8 80 00 12876 12874 mov word [bp-01ah], strict word 00020h ; c7 46 e6 20 00 12877 jmp short 085 50h ; eb 1912875 jmp short 08596h ; eb 19 12878 12876 mov word [bp-028h], strict word 00040h ; c7 46 d8 40 00 12879 12877 mov word [bp-01ah], strict word 00020h ; c7 46 e6 20 00 … … 12882 12880 mov dx, word [bp-024h] ; 8b 56 dc 12883 12881 mov si, strict word 0000bh ; be 0b 00 12884 call 0a0 60h ; e8 101b12882 call 0a0a0h ; e8 0a 1b 12885 12883 mov si, dx ; 89 d6 12886 12884 mov word [bp-026h], cx ; 89 4e da … … 12919 12917 mov word [es:bx+034h], ax ; 26 89 47 34 12920 12918 cmp word [bp-026h], strict byte 00000h ; 83 7e da 00 12921 jne short 08 5cch ; 75 0612919 jne short 08612h ; 75 06 12922 12920 cmp si, 00400h ; 81 fe 00 04 12923 jbe short 08 5dah ; 76 0e12921 jbe short 08620h ; 76 0e 12924 12922 mov word [es:bx+02ch], 00400h ; 26 c7 47 2c 00 04 12925 12923 mov word [es:bx+032h], 00400h ; 26 c7 47 32 00 04 12926 jmp short 08 5e2h ; eb 0812924 jmp short 08628h ; eb 08 12927 12925 mov word [es:bx+02ch], si ; 26 89 77 2c 12928 12926 mov word [es:bx+032h], si ; 26 89 77 32 … … 12930 12928 mov cx, ds ; 8c d9 12931 12929 mov ax, strict word 00004h ; b8 04 00 12932 call 01933h ; e8 469312930 call 01933h ; e8 00 93 12933 12931 push word [bp-020h] ; ff 76 e0 12934 12932 push word [bp-022h] ; ff 76 de … … 12947 12945 mov ax, strict word 00004h ; b8 04 00 12948 12946 push ax ; 50 12949 call 01976h ; e8 5f9312947 call 01976h ; e8 19 93 12950 12948 add sp, strict byte 00018h ; 83 c4 18 12951 12949 mov al, byte [bp-00eh] ; 8a 46 f2 … … 12976 12974 mov dx, strict word 00075h ; ba 75 00 12977 12975 mov ax, strict word 00040h ; b8 40 00 12978 call 01652h ; e8 e58f12976 call 01652h ; e8 9f 8f 12979 12977 mov bl, al ; 88 c3 12980 12978 db 0feh, 0c3h … … 12983 12981 mov dx, strict word 00075h ; ba 75 00 12984 12982 mov ax, strict word 00040h ; b8 40 00 12985 call 01660h ; e8 e48f12983 call 01660h ; e8 9e 8f 12986 12984 inc byte [bp-00ch] ; fe 46 f4 12987 jmp near 087 19h ; e9 97 0012985 jmp near 0875fh ; e9 97 00 12988 12986 mov bx, 00da0h ; bb a0 0d 12989 12987 mov cx, ds ; 8c d9 12990 12988 mov ax, strict word 00004h ; b8 04 00 12991 call 01933h ; e8 a69212989 call 01933h ; e8 60 92 12992 12990 push word [bp-014h] ; ff 76 ec 12993 12991 mov al, byte [bp-00ch] ; 8a 46 f4 … … 12998 12996 mov ax, strict word 00004h ; b8 04 00 12999 12997 push ax ; 50 13000 call 01976h ; e8 d59212998 call 01976h ; e8 8f 92 13001 12999 add sp, strict byte 00008h ; 83 c4 08 13002 13000 mov al, byte [bp-00ch] ; 8a 46 f4 … … 13004 13002 mov byte [bp-00eh], al ; 88 46 f2 13005 13003 test byte [bp-00247h], 080h ; f6 86 b9 fd 80 13006 je short 086 b8h ; 74 0513004 je short 086feh ; 74 05 13007 13005 mov cx, strict word 00001h ; b9 01 00 13008 jmp short 08 6bah ; eb 0213006 jmp short 08700h ; eb 02 13009 13007 xor cx, cx ; 31 c9 13010 13008 mov al, byte [bp-00ch] ; 8a 46 f4 … … 13044 13042 inc word [bp-014h] ; ff 46 ec 13045 13043 cmp word [bp-014h], strict byte 00010h ; 83 7e ec 10 13046 jl short 087 30h ; 7c 0313047 jmp near 087 b3h ; e9 83 0013044 jl short 08776h ; 7c 03 13045 jmp near 087f9h ; e9 83 00 13048 13046 mov byte [bp-048h], 012h ; c6 46 b8 12 13049 13047 xor al, al ; 30 c0 … … 13067 13065 lea bx, [bp-048h] ; 8d 5e b8 13068 13066 mov ax, word [bp-0024ah] ; 8b 86 b6 fd 13069 call 07e 06h ; e8 9e f613067 call 07e4ch ; e8 9e f6 13070 13068 test al, al ; 84 c0 13071 je short 087 7eh ; 74 1213069 je short 087c4h ; 74 12 13072 13070 mov ax, 00b92h ; b8 92 0b 13073 13071 push ax ; 50 … … 13076 13074 mov ax, strict word 00007h ; b8 07 00 13077 13075 push ax ; 50 13078 call 01976h ; e8 fb9113076 call 01976h ; e8 b5 91 13079 13077 add sp, strict byte 00006h ; 83 c4 06 13080 13078 mov es, [bp-016h] ; 8e 46 ea … … 13082 13080 mov byte [bp-00ch], al ; 88 46 f4 13083 13081 test byte [bp-00248h], 0e0h ; f6 86 b8 fd e0 13084 jne short 087 9ah ; 75 0a13082 jne short 087e0h ; 75 0a 13085 13083 test byte [bp-00248h], 01fh ; f6 86 b8 fd 1f 13086 jne short 087 9ah ; 75 0313087 jmp near 083 16h ; e9 7c fb13084 jne short 087e0h ; 75 03 13085 jmp near 0835ch ; e9 7c fb 13088 13086 test byte [bp-00248h], 0e0h ; f6 86 b8 fd e0 13089 je short 087 a4h ; 74 0313090 jmp near 087 19h ; e9 75 ff13087 je short 087eah ; 74 03 13088 jmp near 0875fh ; e9 75 ff 13091 13089 mov al, byte [bp-00248h] ; 8a 86 b8 fd 13092 13090 and AL, strict byte 01fh ; 24 1f 13093 13091 cmp AL, strict byte 005h ; 3c 05 13094 jne short 087 b1h ; 75 0313095 jmp near 086 82h ; e9 d1 fe13096 jmp short 087 a1h ; eb ee13092 jne short 087f7h ; 75 03 13093 jmp near 086c8h ; e9 d1 fe 13094 jmp short 087e7h ; eb ee 13097 13095 lea sp, [bp-00ah] ; 8d 66 f6 13098 13096 pop di ; 5f … … 13103 13101 pop bp ; 5d 13104 13102 retn ; c3 13105 _scsi_init: ; 0xf8 7bdLB 0x6613103 _scsi_init: ; 0xf8803 LB 0x66 13106 13104 push bp ; 55 13107 13105 mov bp, sp ; 89 e5 13108 13106 mov dx, strict word 0000eh ; ba 0e 00 13109 13107 mov ax, strict word 00040h ; b8 40 00 13110 call 0166eh ; e8 a58e13108 call 0166eh ; e8 5f 8e 13111 13109 mov bx, 00122h ; bb 22 01 13112 13110 mov es, ax ; 8e c0 … … 13119 13117 ; sub ah, ah ; 2a e4 13120 13118 cmp AL, strict byte 055h ; 3c 55 13121 jne short 08 7edh ; 75 0c13119 jne short 08833h ; 75 0c 13122 13120 xor al, al ; 30 c0 13123 13121 mov dx, 00433h ; ba 33 04 13124 13122 out DX, AL ; ee 13125 13123 mov ax, 00430h ; b8 30 04 13126 call 08 2f2h ; e8 05 fb13124 call 08338h ; e8 05 fb 13127 13125 mov AL, strict byte 055h ; b0 55 13128 13126 mov dx, 00436h ; ba 36 04 … … 13132 13130 ; sub ah, ah ; 2a e4 13133 13131 cmp AL, strict byte 055h ; 3c 55 13134 jne short 088 06h ; 75 0c13132 jne short 0884ch ; 75 0c 13135 13133 xor al, al ; 30 c0 13136 13134 mov dx, 00437h ; ba 37 04 13137 13135 out DX, AL ; ee 13138 13136 mov ax, 00434h ; b8 34 04 13139 call 08 2f2h ; e8 ec fa13137 call 08338h ; e8 ec fa 13140 13138 mov AL, strict byte 055h ; b0 55 13141 13139 mov dx, 0043ah ; ba 3a 04 … … 13145 13143 ; sub ah, ah ; 2a e4 13146 13144 cmp AL, strict byte 055h ; 3c 55 13147 jne short 088 1fh ; 75 0c13145 jne short 08865h ; 75 0c 13148 13146 xor al, al ; 30 c0 13149 13147 mov dx, 0043bh ; ba 3b 04 13150 13148 out DX, AL ; ee 13151 13149 mov ax, 00438h ; b8 38 04 13152 call 08 2f2h ; e8 d3 fa13150 call 08338h ; e8 d3 fa 13153 13151 mov sp, bp ; 89 ec 13154 13152 pop bp ; 5d 13155 13153 retn ; c3 13156 ahci_ctrl_extract_bits_: ; 0xf88 23LB 0x1c13154 ahci_ctrl_extract_bits_: ; 0xf8869 LB 0x1c 13157 13155 push si ; 56 13158 13156 push bp ; 55 … … 13163 13161 mov cl, byte [bp+006h] ; 8a 4e 06 13164 13162 xor ch, ch ; 30 ed 13165 jcxz 088 3ah ; e3 0613163 jcxz 08880h ; e3 06 13166 13164 shr dx, 1 ; d1 ea 13167 13165 rcr ax, 1 ; d1 d8 13168 loop 088 34h ; e2 fa13166 loop 0887ah ; e2 fa 13169 13167 pop bp ; 5d 13170 13168 pop si ; 5e 13171 13169 retn 00002h ; c2 02 00 13172 ahci_addr_to_phys_: ; 0xf88 3fLB 0x1e13170 ahci_addr_to_phys_: ; 0xf8885 LB 0x1e 13173 13171 push bx ; 53 13174 13172 push cx ; 51 … … 13181 13179 sal ax, 1 ; d1 e0 13182 13180 rcl dx, 1 ; d1 d2 13183 loop 088 4dh ; e2 fa13181 loop 08893h ; e2 fa 13184 13182 xor cx, cx ; 31 c9 13185 13183 add ax, bx ; 01 d8 … … 13189 13187 pop bx ; 5b 13190 13188 retn ; c3 13191 ahci_port_cmd_sync_: ; 0xf88 5dLB 0x15913189 ahci_port_cmd_sync_: ; 0xf88a3 LB 0x159 13192 13190 push bp ; 55 13193 13191 mov bp, sp ; 89 e5 … … 13204 13202 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 13205 13203 cmp AL, strict byte 0ffh ; 3c ff 13206 jne short 088 80h ; 75 0313207 jmp near 089 aeh ; e9 2e 0113204 jne short 088c6h ; 75 03 13205 jmp near 089f4h ; e9 2e 01 13208 13206 mov al, byte [es:si+00263h] ; 26 8a 84 63 02 13209 13207 xor ah, ah ; 30 e4 … … 13218 13216 lea ax, [si+00080h] ; 8d 84 80 00 13219 13217 mov dx, cx ; 89 ca 13220 call 088 3fh ; e8 92 ff13218 call 08885h ; e8 92 ff 13221 13219 mov es, cx ; 8e c1 13222 13220 mov word [es:si+008h], ax ; 26 89 44 08 … … 13286 13284 xchg dx, ax ; 92 13287 13285 test dh, 040h ; f6 c6 40 13288 jne short 089 40h ; 75 0413286 jne short 08986h ; 75 04 13289 13287 test AL, strict byte 001h ; a8 01 13290 je short 089 44h ; 74 0413288 je short 0898ah ; 74 04 13291 13289 mov AL, strict byte 001h ; b0 01 13292 jmp short 089 46h ; eb 0213290 jmp short 0898ch ; eb 02 13293 13291 xor al, al ; 30 c0 13294 13292 test al, al ; 84 c0 13295 je short 089 12h ; 74 c813293 je short 08958h ; 74 c8 13296 13294 mov al, byte [bp-008h] ; 8a 46 f8 13297 13295 xor ah, ah ; 30 e4 … … 13350 13348 pop bp ; 5d 13351 13349 retn ; c3 13352 ahci_cmd_data_: ; 0xf89 b6LB 0x26213350 ahci_cmd_data_: ; 0xf89fc LB 0x262 13353 13351 push bp ; 55 13354 13352 mov bp, sp ; 89 e5 … … 13375 13373 mov ax, 00080h ; b8 80 00 13376 13374 mov dx, word [bp-00ah] ; 8b 56 f6 13377 call 0a0 80h ; e8 8c1613375 call 0a0c0h ; e8 86 16 13378 13376 mov es, [bp-00ah] ; 8e 46 f6 13379 13377 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 13393 13391 mov dx, word [es:si] ; 26 8b 14 13394 13392 mov si, strict word 00008h ; be 08 00 13395 call 0a0 60h ; e8 281613393 call 0a0a0h ; e8 22 16 13396 13394 mov es, [bp-00ah] ; 8e 46 f6 13397 13395 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 13404 13402 mov dx, word [es:si] ; 26 8b 14 13405 13403 mov si, strict word 00010h ; be 10 00 13406 call 0a0 60h ; e8 02 1613404 call 0a0a0h ; e8 fc 15 13407 13405 mov es, [bp-00ah] ; 8e 46 f6 13408 13406 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 13416 13414 mov dx, word [es:si] ; 26 8b 14 13417 13415 mov si, strict word 00018h ; be 18 00 13418 call 0a0 60h ; e8 d61513416 call 0a0a0h ; e8 d0 15 13419 13417 mov es, [bp-00ah] ; 8e 46 f6 13420 13418 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 13427 13425 mov dx, word [es:si] ; 26 8b 14 13428 13426 mov si, strict word 00020h ; be 20 00 13429 call 0a0 60h ; e8 b01513427 call 0a0a0h ; e8 aa 15 13430 13428 mov es, [bp-00ah] ; 8e 46 f6 13431 13429 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 13438 13436 mov dx, word [es:si] ; 26 8b 14 13439 13437 mov si, strict word 00028h ; be 28 00 13440 call 0a0 60h ; e8 8a1513438 call 0a0a0h ; e8 84 15 13441 13439 mov es, [bp-00ah] ; 8e 46 f6 13442 13440 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 13451 13449 mov bx, word [bp-012h] ; 8b 5e ee 13452 13450 xor cx, cx ; 31 c9 13453 call 0a0 10h ; e8 081513451 call 0a050h ; e8 02 15 13454 13452 push dx ; 52 13455 13453 push ax ; 50 … … 13461 13459 mov ax, 0026ah ; b8 6a 02 13462 13460 mov dx, word [bp-00ah] ; 8b 56 f6 13463 call 09f 5fh ; e8 3b 1413461 call 09fa5h ; e8 3b 14 13464 13462 mov es, [bp-00ah] ; 8e 46 f6 13465 13463 mov dx, word [es:di+0027eh] ; 26 8b 95 7e 02 … … 13485 13483 mov ax, word [es:bx+020h] ; 26 8b 47 20 13486 13484 test ax, ax ; 85 c0 13487 je short 08b b4h ; 74 3913485 je short 08bfah ; 74 39 13488 13486 dec ax ; 48 13489 13487 mov es, [bp-00ah] ; 8e 46 f6 … … 13503 13501 mov al, byte [bp-008h] ; 8a 46 f8 13504 13502 cmp AL, strict byte 035h ; 3c 35 13505 jne short 08 bc1h ; 75 0613503 jne short 08c07h ; 75 06 13506 13504 mov byte [bp-008h], 040h ; c6 46 f8 40 13507 jmp short 08 bd8h ; eb 1713505 jmp short 08c1eh ; eb 17 13508 13506 cmp AL, strict byte 0a0h ; 3c a0 13509 jne short 08 bd4h ; 75 0f13507 jne short 08c1ah ; 75 0f 13510 13508 or byte [bp-008h], 020h ; 80 4e f8 20 13511 13509 les bx, [bp-00eh] ; c4 5e f2 13512 13510 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 13513 jmp short 08 bd8h ; eb 0413511 jmp short 08c1eh ; eb 04 13514 13512 mov byte [bp-008h], 000h ; c6 46 f8 00 13515 13513 or byte [bp-008h], 005h ; 80 4e f8 05 … … 13518 13516 mov ax, word [bp-00eh] ; 8b 46 f2 13519 13517 mov dx, word [bp-00ch] ; 8b 56 f4 13520 call 088 5dh ; e8 73 fc13518 call 088a3h ; e8 73 fc 13521 13519 mov cx, word [bp-00ch] ; 8b 4e f4 13522 13520 mov bx, word [bp-00eh] ; 8b 5e f2 … … 13525 13523 add ax, 0026ah ; 05 6a 02 13526 13524 mov dx, cx ; 89 ca 13527 call 0 9fd6h ; e8 d7 1313525 call 0a01ch ; e8 d7 13 13528 13526 mov es, cx ; 8e c1 13529 13527 mov al, byte [es:bx+003h] ; 26 8a 47 03 13530 13528 test al, al ; 84 c0 13531 je short 08c 0eh ; 74 0513529 je short 08c54h ; 74 05 13532 13530 mov ax, strict word 00004h ; b8 04 00 13533 jmp short 08c 10h ; eb 0213531 jmp short 08c56h ; eb 02 13534 13532 xor ah, ah ; 30 e4 13535 13533 lea sp, [bp-006h] ; 8d 66 fa … … 13539 13537 pop bp ; 5d 13540 13538 retn ; c3 13541 ahci_port_deinit_current_: ; 0xf8c 18LB 0x18313539 ahci_port_deinit_current_: ; 0xf8c5e LB 0x183 13542 13540 push bp ; 55 13543 13541 mov bp, sp ; 89 e5 … … 13554 13552 mov byte [bp-00ah], al ; 88 46 f6 13555 13553 cmp AL, strict byte 0ffh ; 3c ff 13556 je short 08c 9bh ; 74 6113554 je short 08ce1h ; 74 61 13557 13555 xor ah, ah ; 30 e4 13558 13556 mov CL, strict byte 007h ; b1 07 … … 13600 13598 xchg dx, ax ; 92 13601 13599 test ax, 0c011h ; a9 11 c0 13602 je short 08c 9eh ; 74 0713600 je short 08ce4h ; 74 07 13603 13601 mov AL, strict byte 001h ; b0 01 13604 jmp short 08c a0h ; eb 0513605 jmp near 08d 92h ; e9 f4 0013602 jmp short 08ce6h ; eb 05 13603 jmp near 08dd8h ; e9 f4 00 13606 13604 xor al, al ; 30 c0 13607 13605 cmp AL, strict byte 001h ; 3c 01 13608 je short 08c 6dh ; 74 c913606 je short 08cb3h ; 74 c9 13609 13607 mov cx, strict word 00020h ; b9 20 00 13610 13608 xor bx, bx ; 31 db 13611 13609 mov ax, di ; 89 f8 13612 13610 mov dx, word [bp-00eh] ; 8b 56 f2 13613 call 0a0 80h ; e8 cf1313611 call 0a0c0h ; e8 c9 13 13614 13612 lea ax, [di+00080h] ; 8d 85 80 00 13615 13613 mov cx, strict word 00040h ; b9 40 00 13616 13614 xor bx, bx ; 31 db 13617 13615 mov dx, word [bp-00eh] ; 8b 56 f2 13618 call 0a0 80h ; e8 c01313616 call 0a0c0h ; e8 ba 13 13619 13617 lea ax, [di+00200h] ; 8d 85 00 02 13620 13618 mov cx, strict word 00060h ; b9 60 00 13621 13619 xor bx, bx ; 31 db 13622 13620 mov dx, word [bp-00eh] ; 8b 56 f2 13623 call 0a0 80h ; e8 b11313621 call 0a0c0h ; e8 ab 13 13624 13622 mov al, byte [bp-00ah] ; 8a 46 f6 13625 13623 xor ah, ah ; 30 e4 … … 13727 13725 pop bp ; 5d 13728 13726 retn ; c3 13729 ahci_port_init_: ; 0xf8d 9bLB 0x25013727 ahci_port_init_: ; 0xf8de1 LB 0x250 13730 13728 push bp ; 55 13731 13729 mov bp, sp ; 89 e5 … … 13737 13735 mov word [bp-00ah], dx ; 89 56 f6 13738 13736 mov byte [bp-008h], bl ; 88 5e f8 13739 call 08c 18h ; e8 69 fe13737 call 08c5eh ; e8 69 fe 13740 13738 mov al, bl ; 88 d8 13741 13739 xor ah, ah ; 30 e4 … … 13788 13786 xchg dx, ax ; 92 13789 13787 test ax, 0c011h ; a9 11 c0 13790 je short 08e 22h ; 74 0413788 je short 08e68h ; 74 04 13791 13789 mov AL, strict byte 001h ; b0 01 13792 jmp short 08e 24h ; eb 0213790 jmp short 08e6ah ; eb 02 13793 13791 xor al, al ; 30 c0 13794 13792 cmp AL, strict byte 001h ; 3c 01 13795 je short 08 dech ; 74 c413793 je short 08e32h ; 74 c4 13796 13794 mov cx, strict word 00020h ; b9 20 00 13797 13795 xor bx, bx ; 31 db 13798 13796 mov ax, si ; 89 f0 13799 13797 mov dx, word [bp-00ah] ; 8b 56 f6 13800 call 0a0 80h ; e8 4b1213798 call 0a0c0h ; e8 45 12 13801 13799 lea ax, [si+00080h] ; 8d 84 80 00 13802 13800 mov cx, strict word 00040h ; b9 40 00 13803 13801 xor bx, bx ; 31 db 13804 13802 mov dx, word [bp-00ah] ; 8b 56 f6 13805 call 0a0 80h ; e8 3c1213803 call 0a0c0h ; e8 36 12 13806 13804 lea di, [si+00200h] ; 8d bc 00 02 13807 13805 mov cx, strict word 00060h ; b9 60 00 … … 13809 13807 mov ax, di ; 89 f8 13810 13808 mov dx, word [bp-00ah] ; 8b 56 f6 13811 call 0a0 80h ; e8 2b1213809 call 0a0c0h ; e8 25 12 13812 13810 mov bl, byte [bp-008h] ; 8a 5e f8 13813 13811 xor bh, bh ; 30 ff … … 13828 13826 mov ax, di ; 89 f8 13829 13827 mov dx, word [bp-00ah] ; 8b 56 f6 13830 call 088 3fh ; e8 bb f913828 call 08885h ; e8 bb f9 13831 13829 mov es, [bp-00ah] ; 8e 46 f6 13832 13830 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13873 13871 mov ax, si ; 89 f0 13874 13872 mov dx, word [bp-00ah] ; 8b 56 f6 13875 call 088 3fh ; e8 4f f913873 call 08885h ; e8 4f f9 13876 13874 mov es, [bp-00ah] ; 8e 46 f6 13877 13875 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13978 13976 pop bp ; 5d 13979 13977 retn ; c3 13980 @ahci_read_sectors: ; 0xf 8febLB 0xaa13978 @ahci_read_sectors: ; 0xf9031 LB 0xaa 13981 13979 push bp ; 55 13982 13980 mov bp, sp ; 89 e5 … … 13989 13987 sub di, strict byte 0000ch ; 83 ef 0c 13990 13988 cmp di, strict byte 00004h ; 83 ff 04 13991 jbe short 090 16h ; 76 1313989 jbe short 0905ch ; 76 13 13992 13990 push di ; 57 13993 13991 mov ax, 00c62h ; b8 62 0c … … 13997 13995 mov ax, strict word 00007h ; b8 07 00 13998 13996 push ax ; 50 13999 call 01976h ; e8 638913997 call 01976h ; e8 1d 89 14000 13998 add sp, strict byte 00008h ; 83 c4 08 14001 13999 xor bx, bx ; 31 db … … 14011 14009 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14012 14010 xor ax, ax ; 31 c0 14013 call 08d 9bh ; e8 5a fd14011 call 08de1h ; e8 5a fd 14014 14012 mov bx, strict word 00025h ; bb 25 00 14015 14013 mov ax, si ; 89 f0 14016 14014 mov dx, word [bp+006h] ; 8b 56 06 14017 call 089 b6h ; e8 6a f914015 call 089fch ; e8 6a f9 14018 14016 mov bx, ax ; 89 c3 14019 14017 mov es, [bp+006h] ; 8e 46 06 … … 14045 14043 pop bp ; 5d 14046 14044 retn 00004h ; c2 04 00 14047 @ahci_write_sectors: ; 0xf90 95LB 0x8814045 @ahci_write_sectors: ; 0xf90db LB 0x88 14048 14046 push bp ; 55 14049 14047 mov bp, sp ; 89 e5 … … 14057 14055 sub bx, strict byte 0000ch ; 83 eb 0c 14058 14056 cmp bx, strict byte 00004h ; 83 fb 04 14059 jbe short 09 0c3h ; 76 1314057 jbe short 09109h ; 76 13 14060 14058 push bx ; 53 14061 14059 mov ax, 00c93h ; b8 93 0c … … 14065 14063 mov ax, strict word 00007h ; b8 07 00 14066 14064 push ax ; 50 14067 call 01976h ; e8 b68814065 call 01976h ; e8 70 88 14068 14066 add sp, strict byte 00008h ; 83 c4 08 14069 14067 xor di, di ; 31 ff … … 14079 14077 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14080 14078 xor ax, ax ; 31 c0 14081 call 08d 9bh ; e8 af fc14079 call 08de1h ; e8 af fc 14082 14080 mov bx, strict word 00035h ; bb 35 00 14083 14081 mov ax, si ; 89 f0 14084 14082 mov dx, cx ; 89 ca 14085 call 089 b6h ; e8 c0 f814083 call 089fch ; e8 c0 f8 14086 14084 mov dx, ax ; 89 c2 14087 14085 mov es, cx ; 8e c1 … … 14098 14096 pop bp ; 5d 14099 14097 retn 00004h ; c2 04 00 14100 ahci_cmd_packet_: ; 0xf91 1dLB 0x18c14098 ahci_cmd_packet_: ; 0xf9163 LB 0x18c 14101 14099 push bp ; 55 14102 14100 mov bp, sp ; 89 e5 … … 14110 14108 mov dx, strict word 0000eh ; ba 0e 00 14111 14109 mov ax, strict word 00040h ; b8 40 00 14112 call 0166eh ; e8 36 8514110 call 0166eh ; e8 f0 84 14113 14111 mov si, 00122h ; be 22 01 14114 14112 mov word [bp-008h], ax ; 89 46 f8 14115 14113 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 14116 jne short 091 67h ; 75 2314114 jne short 091adh ; 75 23 14117 14115 mov bx, 00da0h ; bb a0 0d 14118 14116 mov cx, ds ; 8c d9 14119 14117 mov ax, strict word 00004h ; b8 04 00 14120 call 01933h ; e8 e48714118 call 01933h ; e8 9e 87 14121 14119 mov ax, 00ca6h ; b8 a6 0c 14122 14120 push ax ; 50 … … 14125 14123 mov ax, strict word 00004h ; b8 04 00 14126 14124 push ax ; 50 14127 call 01976h ; e8 18 8814125 call 01976h ; e8 d2 87 14128 14126 add sp, strict byte 00006h ; 83 c4 06 14129 14127 mov ax, strict word 00001h ; b8 01 00 14130 jmp near 092 a0h ; e9 39 0114128 jmp near 092e6h ; e9 39 01 14131 14129 test byte [bp+004h], 001h ; f6 46 04 01 14132 jne short 091 61h ; 75 f414130 jne short 091a7h ; 75 f4 14133 14131 mov bx, word [bp+006h] ; 8b 5e 06 14134 14132 mov di, word [bp+008h] ; 8b 7e 08 … … 14136 14134 sal bx, 1 ; d1 e3 14137 14135 rcl di, 1 ; d1 d7 14138 loop 091 76h ; e2 fa14136 loop 091bch ; e2 fa 14139 14137 mov es, [bp-008h] ; 8e 46 f8 14140 14138 mov word [es:si], bx ; 26 89 1c … … 14150 14148 mov dx, word [bp+008h] ; 8b 56 08 14151 14149 xor cx, cx ; 31 c9 14152 call 0a0 30h ; e8 810e14150 call 0a070h ; e8 7b 0e 14153 14151 mov word [es:si+00eh], ax ; 26 89 44 0e 14154 14152 xor di, di ; 31 ff … … 14168 14166 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14169 14167 xor ax, ax ; 31 c0 14170 call 08d 9bh ; e8 af fb14168 call 08de1h ; e8 af fb 14171 14169 mov al, byte [bp-006h] ; 8a 46 fa 14172 14170 xor ah, ah ; 30 e4 … … 14176 14174 mov ax, 000c0h ; b8 c0 00 14177 14175 mov dx, word [bp-00ah] ; 8b 56 f6 14178 call 0a0 90h ; e8 8f0e14176 call 0a0d0h ; e8 89 0e 14179 14177 mov es, [bp-008h] ; 8e 46 f8 14180 14178 mov word [es:si+018h], di ; 26 89 7c 18 … … 14183 14181 mov ax, word [es:si+01eh] ; 26 8b 44 1e 14184 14182 test ax, ax ; 85 c0 14185 je short 092 3fh ; 74 2714183 je short 09285h ; 74 27 14186 14184 dec ax ; 48 14187 14185 mov es, [bp-00ah] ; 8e 46 f6 … … 14196 14194 mov ax, si ; 89 f0 14197 14195 mov dx, word [bp-008h] ; 8b 56 f8 14198 call 089 b6h ; e8 6c f714196 call 089fch ; e8 6c f7 14199 14197 les bx, [bp-00eh] ; c4 5e f2 14200 14198 mov dx, word [es:bx+004h] ; 26 8b 57 04 … … 14223 14221 mov ax, word [es:bx+006h] ; 26 8b 47 06 14224 14222 or ax, word [es:bx+004h] ; 26 0b 47 04 14225 jne short 092 9eh ; 75 0514223 jne short 092e4h ; 75 05 14226 14224 mov ax, strict word 00004h ; b8 04 00 14227 jmp short 092 a0h ; eb 0214225 jmp short 092e6h ; eb 02 14228 14226 xor ax, ax ; 31 c0 14229 14227 lea sp, [bp-004h] ; 8d 66 fc … … 14232 14230 pop bp ; 5d 14233 14231 retn 0000ch ; c2 0c 00 14234 ahci_port_detect_device_: ; 0xf92 a9LB 0x4fe14232 ahci_port_detect_device_: ; 0xf92ef LB 0x4fe 14235 14233 push bp ; 55 14236 14234 mov bp, sp ; 89 e5 … … 14248 14246 mov bx, word [bp-020h] ; 8b 5e e0 14249 14247 mov ax, si ; 89 f0 14250 call 08d 9bh ; e8 ce fa14248 call 08de1h ; e8 ce fa 14251 14249 mov dx, strict word 0000eh ; ba 0e 00 14252 14250 mov ax, strict word 00040h ; b8 40 00 14253 call 0166eh ; e8 988314251 call 0166eh ; e8 52 83 14254 14252 mov word [bp-01ah], 00122h ; c7 46 e6 22 01 14255 14253 mov word [bp-00eh], ax ; 89 46 f2 … … 14323 14321 mov bx, strict word 0000fh ; bb 0f 00 14324 14322 xor cx, cx ; 31 c9 14325 call 088 23h ; e8 9f f414323 call 08869h ; e8 9f f4 14326 14324 test ax, ax ; 85 c0 14327 jne short 093 8bh ; 75 0314328 jmp near 097 9fh ; e9 14 0414325 jne short 093d1h ; 75 03 14326 jmp near 097e5h ; e9 14 04 14329 14327 mov al, byte [bp-008h] ; 8a 46 f8 14330 14328 xor ah, ah ; 30 e4 … … 14358 14356 xor cx, cx ; 31 c9 14359 14357 mov ax, di ; 89 f8 14360 call 088 23h ; e8 4d f414358 call 08869h ; e8 4d f4 14361 14359 cmp ax, strict word 00001h ; 3d 01 00 14362 je short 093 8bh ; 74 b014360 je short 093d1h ; 74 b0 14363 14361 xor ax, ax ; 31 c0 14364 14362 push ax ; 50 … … 14367 14365 mov ax, di ; 89 f8 14368 14366 mov dx, word [bp-01ch] ; 8b 56 e4 14369 call 088 23h ; e8 38 f414367 call 08869h ; e8 38 f4 14370 14368 cmp ax, strict word 00003h ; 3d 03 00 14371 jne short 093 88h ; 75 9814369 jne short 093ceh ; 75 98 14372 14370 mov ax, word [bp-016h] ; 8b 46 ea 14373 14371 add ax, 00130h ; 05 30 01 … … 14397 14395 mov byte [bp-00ch], al ; 88 46 f4 14398 14396 cmp AL, strict byte 004h ; 3c 04 14399 jc short 094 3ah ; 72 0314400 jmp near 097 9fh ; e9 65 0314397 jc short 09480h ; 72 03 14398 jmp near 097e5h ; e9 65 03 14401 14399 mov ax, word [bp-016h] ; 8b 46 ea 14402 14400 add ax, 00118h ; 05 18 01 … … 14450 14448 add cl, 00ch ; 80 c1 0c 14451 14449 test dx, dx ; 85 d2 14452 jne short 095 05h ; 75 5514450 jne short 0954bh ; 75 55 14453 14451 cmp bx, 00101h ; 81 fb 01 01 14454 jne short 095 05h ; 75 4f14452 jne short 0954bh ; 75 4f 14455 14453 mov es, [bp-00eh] ; 8e 46 f2 14456 14454 mov bx, word [bp-01ah] ; 8b 5e e6 … … 14467 14465 mov ax, word [bp-01ah] ; 8b 46 e6 14468 14466 mov dx, es ; 8c c2 14469 call 089 b6h ; e8 c0 f414467 call 089fch ; e8 c0 f4 14470 14468 mov byte [bp-00ah], cl ; 88 4e f6 14471 14469 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14472 je short 095 08h ; 74 0814470 je short 0954eh ; 74 08 14473 14471 mov ax, strict word 00001h ; b8 01 00 14474 jmp short 095 0ah ; eb 0514475 jmp near 09 6dah ; e9 d2 0114472 jmp short 09550h ; eb 05 14473 jmp near 09720h ; e9 d2 01 14476 14474 xor ax, ax ; 31 c0 14477 14475 mov cl, al ; 88 c1 … … 14489 14487 mov word [bp-012h], ax ; 89 46 ee 14490 14488 cmp di, 00fffh ; 81 ff ff 0f 14491 jne short 095 59h ; 75 1f14489 jne short 0959fh ; 75 1f 14492 14490 cmp word [bp-014h], strict byte 0ffffh ; 83 7e ec ff 14493 jne short 095 59h ; 75 1914491 jne short 0959fh ; 75 19 14494 14492 mov ax, word [bp-0015ch] ; 8b 86 a4 fe 14495 14493 mov word [bp-012h], ax ; 89 46 ee … … 14531 14529 mov al, byte [bp-00ch] ; 8a 46 f4 14532 14530 cmp AL, strict byte 001h ; 3c 01 14533 jc short 09 5d6h ; 72 0c14534 jbe short 09 5deh ; 76 1214531 jc short 0961ch ; 72 0c 14532 jbe short 09624h ; 76 12 14535 14533 cmp AL, strict byte 003h ; 3c 03 14536 je short 09 5e6h ; 74 1614534 je short 0962ch ; 74 16 14537 14535 cmp AL, strict byte 002h ; 3c 02 14538 je short 09 5e2h ; 74 0e14539 jmp short 096 29h ; eb 5314536 je short 09628h ; 74 0e 14537 jmp short 0966fh ; eb 53 14540 14538 test al, al ; 84 c0 14541 jne short 096 29h ; 75 4f14539 jne short 0966fh ; 75 4f 14542 14540 mov DL, strict byte 040h ; b2 40 14543 jmp short 09 5e8h ; eb 0a14541 jmp short 0962eh ; eb 0a 14544 14542 mov DL, strict byte 048h ; b2 48 14545 jmp short 09 5e8h ; eb 0614543 jmp short 0962eh ; eb 06 14546 14544 mov DL, strict byte 050h ; b2 50 14547 jmp short 09 5e8h ; eb 0214545 jmp short 0962eh ; eb 02 14548 14546 mov DL, strict byte 058h ; b2 58 14549 14547 mov bl, dl ; 88 d3 … … 14551 14549 xor bh, bh ; 30 ff 14552 14550 mov ax, bx ; 89 d8 14553 call 016aeh ; e8 ba8014551 call 016aeh ; e8 74 80 14554 14552 test al, al ; 84 c0 14555 je short 096 29h ; 74 3114553 je short 0966fh ; 74 31 14556 14554 mov al, dl ; 88 d0 14557 14555 db 0feh, 0c0h 14558 14556 ; inc al ; fe c0 14559 14557 xor ah, ah ; 30 e4 14560 call 016aeh ; e8 ad8014558 call 016aeh ; e8 67 80 14561 14559 mov ch, al ; 88 c5 14562 14560 mov al, dl ; 88 d0 14563 14561 xor ah, ah ; 30 e4 14564 call 016aeh ; e8 a48014562 call 016aeh ; e8 5e 80 14565 14563 mov ah, ch ; 88 ec 14566 14564 mov word [bp-028h], ax ; 89 46 d8 … … 14568 14566 add AL, strict byte 002h ; 04 02 14569 14567 xor ah, ah ; 30 e4 14570 call 016aeh ; e8 968014568 call 016aeh ; e8 50 80 14571 14569 xor ah, ah ; 30 e4 14572 14570 mov word [bp-02ah], ax ; 89 46 d6 14573 14571 mov ax, bx ; 89 d8 14574 call 016aeh ; e8 8c8014572 call 016aeh ; e8 46 80 14575 14573 xor ah, ah ; 30 e4 14576 14574 mov word [bp-026h], ax ; 89 46 da 14577 jmp short 096 3bh ; eb 1214575 jmp short 09681h ; eb 12 14578 14576 push word [bp-012h] ; ff 76 ee 14579 14577 push word [bp-01eh] ; ff 76 e2 … … 14582 14580 mov dx, ss ; 8c d2 14583 14581 lea ax, [bp-02ah] ; 8d 46 d6 14584 call 05b 09h ; e8 ce c414582 call 05b4fh ; e8 ce c4 14585 14583 mov bx, 00da0h ; bb a0 0d 14586 14584 mov cx, ds ; 8c d9 14587 14585 mov ax, strict word 00004h ; b8 04 00 14588 call 01933h ; e8 ed8214586 call 01933h ; e8 a7 82 14589 14587 push word [bp-012h] ; ff 76 ee 14590 14588 push word [bp-01eh] ; ff 76 e2 … … 14609 14607 mov ax, strict word 00004h ; b8 04 00 14610 14608 push ax ; 50 14611 call 01976h ; e8 fc8214609 call 01976h ; e8 b6 82 14612 14610 add sp, strict byte 0001ch ; 83 c4 1c 14613 14611 mov al, byte [bp-00ah] ; 8a 46 f6 … … 14641 14639 mov dx, strict word 00075h ; ba 75 00 14642 14640 mov ax, strict word 00040h ; b8 40 00 14643 call 01652h ; e8 8a7f14641 call 01652h ; e8 44 7f 14644 14642 mov bl, al ; 88 c3 14645 14643 db 0feh, 0c3h … … 14648 14646 mov dx, strict word 00075h ; ba 75 00 14649 14647 mov ax, strict word 00040h ; b8 40 00 14650 call 01660h ; e8 897f14651 jmp near 097 8eh ; e9 b4 0014648 call 01660h ; e8 43 7f 14649 jmp near 097d4h ; e9 b4 00 14652 14650 cmp dx, 0eb14h ; 81 fa 14 eb 14653 jne short 097 35h ; 75 5514651 jne short 0977bh ; 75 55 14654 14652 cmp bx, 00101h ; 81 fb 01 01 14655 jne short 097 35h ; 75 4f14653 jne short 0977bh ; 75 4f 14656 14654 mov es, [bp-00eh] ; 8e 46 f2 14657 14655 mov bx, word [bp-01ah] ; 8b 5e e6 … … 14668 14666 mov ax, word [bp-01ah] ; 8b 46 e6 14669 14667 mov dx, es ; 8c c2 14670 call 089 b6h ; e8 90 f214668 call 089fch ; e8 90 f2 14671 14669 mov byte [bp-00ah], cl ; 88 4e f6 14672 14670 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14673 je short 097 37h ; 74 0714671 je short 0977dh ; 74 07 14674 14672 mov cx, strict word 00001h ; b9 01 00 14675 jmp short 097 39h ; eb 0414676 jmp short 097 8eh ; eb 5714673 jmp short 0977fh ; eb 04 14674 jmp short 097d4h ; eb 57 14677 14675 xor cx, cx ; 31 c9 14678 14676 mov bl, byte [bp-00ch] ; 8a 5e f4 … … 14714 14712 pop bp ; 5d 14715 14713 retn ; c3 14716 ahci_mem_alloc_: ; 0xf97 a7LB 0x4314714 ahci_mem_alloc_: ; 0xf97ed LB 0x43 14717 14715 push bp ; 55 14718 14716 mov bp, sp ; 89 e5 … … 14724 14722 mov dx, 00413h ; ba 13 04 14725 14723 xor ax, ax ; 31 c0 14726 call 0166eh ; e8 b77e14724 call 0166eh ; e8 71 7e 14727 14725 test ax, ax ; 85 c0 14728 je short 09 7e0h ; 74 2514726 je short 09826h ; 74 25 14729 14727 dec ax ; 48 14730 14728 mov bx, ax ; 89 c3 … … 14733 14731 sal ax, 1 ; d1 e0 14734 14732 rcl dx, 1 ; d1 d2 14735 loop 09 7c3h ; e2 fa14733 loop 09809h ; e2 fa 14736 14734 mov si, ax ; 89 c6 14737 14735 mov di, dx ; 89 d7 … … 14739 14737 shr di, 1 ; d1 ef 14740 14738 rcr si, 1 ; d1 de 14741 loop 09 7d0h ; e2 fa14739 loop 09816h ; e2 fa 14742 14740 mov dx, 00413h ; ba 13 04 14743 14741 xor ax, ax ; 31 c0 14744 call 0167ch ; e8 9e7e14742 call 0167ch ; e8 58 7e 14745 14743 mov ax, si ; 89 f0 14746 14744 lea sp, [bp-00ah] ; 8d 66 f6 … … 14752 14750 pop bp ; 5d 14753 14751 retn ; c3 14754 ahci_hba_init_: ; 0xf9 7eaLB 0x16e14752 ahci_hba_init_: ; 0xf9830 LB 0x16e 14755 14753 push bp ; 55 14756 14754 mov bp, sp ; 89 e5 … … 14764 14762 mov dx, strict word 0000eh ; ba 0e 00 14765 14763 mov ax, strict word 00040h ; b8 40 00 14766 call 0166eh ; e8 6e7e14764 call 0166eh ; e8 28 7e 14767 14765 mov bx, 00122h ; bb 22 01 14768 14766 mov di, ax ; 89 c7 … … 14781 14779 shr eax, 010h ; 66 c1 e8 10 14782 14780 xchg dx, ax ; 92 14783 call 097 a7h ; e8 83 ff14781 call 097edh ; e8 83 ff 14784 14782 mov word [bp-010h], ax ; 89 46 f0 14785 14783 test ax, ax ; 85 c0 14786 jne short 098 2eh ; 75 0314787 jmp near 099 37h ; e9 09 0114784 jne short 09874h ; 75 03 14785 jmp near 0997dh ; e9 09 01 14788 14786 mov ax, word [bp-010h] ; 8b 46 f0 14789 14787 mov es, di ; 8e c7 … … 14835 14833 xchg dx, ax ; 92 14836 14834 test AL, strict byte 001h ; a8 01 14837 jne short 098 88h ; 75 de14835 jne short 098ceh ; 75 de 14838 14836 xor ax, ax ; 31 c0 14839 14837 xor cx, cx ; 31 c9 … … 14854 14852 mov bx, strict word 0001fh ; bb 1f 00 14855 14853 xor cx, cx ; 31 c9 14856 call 088 23h ; e8 54 ef14854 call 08869h ; e8 54 ef 14857 14855 db 0feh, 0c0h 14858 14856 ; inc al ; fe c0 14859 14857 mov byte [bp-00eh], al ; 88 46 f2 14860 14858 mov byte [bp-00ch], 000h ; c6 46 f4 00 14861 jmp short 09 8fbh ; eb 2114859 jmp short 09941h ; eb 21 14862 14860 xor al, al ; 30 c0 14863 14861 test al, al ; 84 c0 14864 je short 09 8f2h ; 74 1214862 je short 09938h ; 74 12 14865 14863 mov bl, byte [bp-00ch] ; 8a 5e f4 14866 14864 xor bh, bh ; 30 ff 14867 14865 xor ax, ax ; 31 c0 14868 14866 mov dx, word [bp-010h] ; 8b 56 f0 14869 call 092 a9h ; e8 bc f914867 call 092efh ; e8 bc f9 14870 14868 dec byte [bp-00eh] ; fe 4e f2 14871 je short 099 35h ; 74 4314869 je short 0997bh ; 74 43 14872 14870 inc byte [bp-00ch] ; fe 46 f4 14873 14871 cmp byte [bp-00ch], 020h ; 80 7e f4 20 14874 jnc short 099 35h ; 73 3a14872 jnc short 0997bh ; 73 3a 14875 14873 mov cl, byte [bp-00ch] ; 8a 4e f4 14876 14874 xor ch, ch ; 30 ed 14877 14875 mov bx, strict word 00001h ; bb 01 00 14878 14876 xor di, di ; 31 ff 14879 jcxz 099 0dh ; e3 0614877 jcxz 09953h ; e3 06 14880 14878 sal bx, 1 ; d1 e3 14881 14879 rcl di, 1 ; d1 d7 14882 loop 099 07h ; e2 fa14880 loop 0994dh ; e2 fa 14883 14881 mov ax, strict word 0000ch ; b8 0c 00 14884 14882 xor cx, cx ; 31 c9 … … 14896 14894 xchg dx, ax ; 92 14897 14895 test dx, di ; 85 fa 14898 jne short 099 31h ; 75 0414896 jne short 09977h ; 75 04 14899 14897 test ax, bx ; 85 d8 14900 je short 09 8dah ; 74 a914898 je short 09920h ; 74 a9 14901 14899 mov AL, strict byte 001h ; b0 01 14902 jmp short 09 8dch ; eb a714900 jmp short 09922h ; eb a7 14903 14901 xor ax, ax ; 31 c0 14904 14902 lea sp, [bp-00ah] ; 8d 66 f6 … … 14910 14908 pop bp ; 5d 14911 14909 retn ; c3 14912 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 3dh, 09ah, 01bh, 09ah, 021h, 09ah, 027h, 09ah, 02dh14913 db 09ah, 0 33h, 09ah, 039h, 09ah, 03dh, 09ah14914 _ahci_init: ; 0xf99 58LB 0x11a14910 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 083h, 09ah, 061h, 09ah, 067h, 09ah, 06dh, 09ah, 073h 14911 db 09ah, 079h, 09ah, 07fh, 09ah, 083h, 09ah 14912 _ahci_init: ; 0xf999e LB 0x11a 14915 14913 push bp ; 55 14916 14914 mov bp, sp ; 89 e5 … … 14919 14917 mov ax, 00601h ; b8 01 06 14920 14918 mov dx, strict word 00001h ; ba 01 00 14921 call 09e 91h ; e8 29 0514919 call 09ed7h ; e8 29 05 14922 14920 mov dx, ax ; 89 c2 14923 14921 cmp ax, strict word 0ffffh ; 3d ff ff 14924 je short 099 b8h ; 74 4914922 je short 099feh ; 74 49 14925 14923 mov al, ah ; 88 e0 14926 14924 mov byte [bp-006h], ah ; 88 66 fa … … 14929 14927 xor ah, ah ; 30 e4 14930 14928 mov bx, strict word 00034h ; bb 34 00 14931 call 09e 99h ; e8 18 0514929 call 09edfh ; e8 18 05 14932 14930 mov cl, al ; 88 c1 14933 14931 test cl, cl ; 84 c9 14934 je short 09 9bbh ; 74 3414932 je short 09a01h ; 74 34 14935 14933 mov bl, cl ; 88 cb 14936 14934 xor bh, bh ; 30 ff … … 14943 14941 mov dx, word [bp-00ch] ; 8b 56 f4 14944 14942 mov ax, word [bp-010h] ; 8b 46 f0 14945 call 09e 99h ; e8 f3 0414943 call 09edfh ; e8 f3 04 14946 14944 cmp AL, strict byte 012h ; 3c 12 14947 je short 09 9bbh ; 74 1114945 je short 09a01h ; 74 11 14948 14946 mov bl, cl ; 88 cb 14949 14947 db 0feh, 0c3h … … 14952 14950 mov dx, word [bp-00ch] ; 8b 56 f4 14953 14951 mov ax, word [bp-010h] ; 8b 46 f0 14954 jmp short 099 7eh ; eb c614955 jmp near 09a 6ch ; e9 b1 0014952 jmp short 099c4h ; eb c6 14953 jmp near 09ab2h ; e9 b1 00 14956 14954 test cl, cl ; 84 c9 14957 je short 099 b8h ; 74 f914955 je short 099feh ; 74 f9 14958 14956 add cl, 002h ; 80 c1 02 14959 14957 mov bl, cl ; 88 cb … … 14967 14965 mov dx, word [bp-00eh] ; 8b 56 f2 14968 14966 mov ax, word [bp-00ah] ; 8b 46 f6 14969 call 09e 99h ; e8 b8 0414967 call 09edfh ; e8 b8 04 14970 14968 cmp AL, strict byte 010h ; 3c 10 14971 jne short 099 b8h ; 75 d314969 jne short 099feh ; 75 d3 14972 14970 mov byte [bp-004h], 000h ; c6 46 fc 00 14973 14971 mov bl, cl ; 88 cb … … 14976 14974 mov dx, word [bp-00eh] ; 8b 56 f2 14977 14975 mov ax, word [bp-00ah] ; 8b 46 f6 14978 call 09 ec0h ; e8 c7 0414976 call 09f06h ; e8 c7 04 14979 14977 mov dx, ax ; 89 c2 14980 14978 and ax, strict word 0000fh ; 25 0f 00 14981 14979 sub ax, strict word 00004h ; 2d 04 00 14982 14980 cmp ax, strict word 0000bh ; 3d 0b 00 14983 jnbe short 09a 3dh ; 77 3714981 jnbe short 09a83h ; 77 37 14984 14982 push CS ; 0e 14985 14983 pop ES ; 07 14986 14984 mov cx, strict word 00008h ; b9 08 00 14987 mov di, 099 41h ; bf 419914985 mov di, 09987h ; bf 87 99 14988 14986 repne scasb ; f2 ae 14989 14987 sal cx, 1 ; d1 e1 14990 14988 mov di, cx ; 89 cf 14991 mov ax, word [cs:di-066 b8h] ; 2e 8b 85 489914989 mov ax, word [cs:di-06672h] ; 2e 8b 85 8e 99 14992 14990 jmp ax ; ff e0 14993 14991 mov byte [bp-004h], 010h ; c6 46 fc 10 14994 jmp short 09a 3dh ; eb 1c14992 jmp short 09a83h ; eb 1c 14995 14993 mov byte [bp-004h], 014h ; c6 46 fc 14 14996 jmp short 09a 3dh ; eb 1614994 jmp short 09a83h ; eb 16 14997 14995 mov byte [bp-004h], 018h ; c6 46 fc 18 14998 jmp short 09a 3dh ; eb 1014996 jmp short 09a83h ; eb 10 14999 14997 mov byte [bp-004h], 01ch ; c6 46 fc 1c 15000 jmp short 09a 3dh ; eb 0a14998 jmp short 09a83h ; eb 0a 15001 14999 mov byte [bp-004h], 020h ; c6 46 fc 20 15002 jmp short 09a 3dh ; eb 0415000 jmp short 09a83h ; eb 04 15003 15001 mov byte [bp-004h], 024h ; c6 46 fc 24 15004 15002 mov CL, strict byte 004h ; b1 04 … … 15010 15008 mov al, byte [bp-004h] ; 8a 46 fc 15011 15009 test al, al ; 84 c0 15012 je short 09a 6ch ; 74 1c15010 je short 09ab2h ; 74 1c 15013 15011 mov bl, al ; 88 c3 15014 15012 xor bh, bh ; 30 ff … … 15017 15015 mov al, byte [bp-006h] ; 8a 46 fa 15018 15016 xor ah, ah ; 30 e4 15019 call 09 ee5h ; e8 84 0415017 call 09f2bh ; e8 84 04 15020 15018 test AL, strict byte 001h ; a8 01 15021 je short 09a 6ch ; 74 0715019 je short 09ab2h ; 74 07 15022 15020 and AL, strict byte 0f0h ; 24 f0 15023 15021 add ax, cx ; 01 c8 15024 call 09 7eah ; e8 7e fd15022 call 09830h ; e8 7e fd 15025 15023 lea sp, [bp-002h] ; 8d 66 fe 15026 15024 pop di ; 5f 15027 15025 pop bp ; 5d 15028 15026 retn ; c3 15029 apm_out_str_: ; 0xf9a 72LB 0x3915027 apm_out_str_: ; 0xf9ab8 LB 0x39 15030 15028 push bp ; 55 15031 15029 mov bp, sp ; 89 e5 … … 15033 15031 mov bx, ax ; 89 c3 15034 15032 cmp byte [bx], 000h ; 80 3f 00 15035 je short 09a 87h ; 74 0a15033 je short 09acdh ; 74 0a 15036 15034 mov al, byte [bx] ; 8a 07 15037 15035 out DX, AL ; ee … … 15040 15038 db 00ah, 0c0h 15041 15039 ; or al, al ; 0a c0 15042 jne short 09a 7fh ; 75 f815040 jne short 09ac5h ; 75 f8 15043 15041 lea sp, [bp-002h] ; 8d 66 fe 15044 15042 pop bx ; 5b 15045 15043 pop bp ; 5d 15046 15044 retn ; c3 15047 int3 ; cc 15048 call far 09adeh:09b57h ; 9a 57 9b de 9a 15049 stc ; f9 15050 call far 09b24h:09b57h ; 9a 57 9b 24 9b 15051 push di ; 57 15045 adc bl, byte [bp+di-06463h] ; 12 9b 9d 9b 15046 and AL, strict byte 09bh ; 24 9b 15047 aas ; 3f 15052 15048 wait ; 9b 15053 pop bp ; 5d15049 popfw ; 9d 15054 15050 wait ; 9b 15055 sub word [bp+di-064d7h], bx ; 29 9b 29 9b 15056 sub word [bp+di-06464h], bx ; 29 9b 9c 9b 15057 sub word [bp+di-064d7h], bx ; 29 9b 29 9b 15058 xchg bp, ax ; 95 15051 push strict byte 0ff9bh ; 6a 9b 15052 popfw ; 9d 15059 15053 wait ; 9b 15060 _apm_function: ; 0xf9aab LB 0xf6 15054 mov word [06f9bh], ax ; a3 9b 6f 15055 wait ; 9b 15056 outsw ; 6f 15057 wait ; 9b 15058 outsw ; 6f 15059 wait ; 9b 15060 loop 09a86h ; e2 9b 15061 outsw ; 6f 15062 wait ; 9b 15063 outsw ; 6f 15064 wait ; 9b 15065 db 0dbh 15066 wait ; 9b 15067 _apm_function: ; 0xf9af1 LB 0xf6 15061 15068 push bp ; 55 15062 15069 mov bp, sp ; 89 e5 … … 15066 15073 xor ah, ah ; 30 e4 15067 15074 cmp ax, strict word 0000eh ; 3d 0e 00 15068 jnbe short 09b 29h ; 77 6c15075 jnbe short 09b6fh ; 77 6c 15069 15076 mov bx, ax ; 89 c3 15070 15077 sal bx, 1 ; d1 e3 15071 15078 mov dx, word [bp+018h] ; 8b 56 18 15072 15079 or dl, 001h ; 80 ca 01 15073 jmp word [cs:bx-065 73h] ; 2e ff a7 8d9a15080 jmp word [cs:bx-0652dh] ; 2e ff a7 d3 9a 15074 15081 mov word [bp+012h], 00102h ; c7 46 12 02 01 15075 15082 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 15076 15083 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 15077 jmp near 09b 57h ; e9 79 0015084 jmp near 09b9dh ; e9 79 00 15078 15085 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 15079 mov word [bp+00ch], 0a1 04h ; c7 46 0c 04 a115086 mov word [bp+00ch], 0a144h ; c7 46 0c 44 a1 15080 15087 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 15081 15088 mov ax, strict word 0fff0h ; b8 f0 ff 15082 15089 mov word [bp+006h], ax ; 89 46 06 15083 15090 mov word [bp+004h], ax ; 89 46 04 15084 jmp near 09b 57h ; e9 5e 0015091 jmp near 09b9dh ; e9 5e 00 15085 15092 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 15086 15093 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 15095 15102 mov si, ax ; 89 c6 15096 15103 sal esi, 010h ; 66 c1 e6 10 15097 jmp near 09b 57h ; e9 33 0015104 jmp near 09b9dh ; e9 33 00 15098 15105 sti ; fb 15099 15106 hlt ; f4 15100 jmp near 09b 57h ; e9 2e 0015107 jmp near 09b9dh ; e9 2e 00 15101 15108 mov bx, 00da0h ; bb a0 0d 15102 15109 mov cx, ds ; 8c d9 15103 15110 mov ax, strict word 00004h ; b8 04 00 15104 call 01933h ; e8 ff7d15111 call 01933h ; e8 b9 7d 15105 15112 push word [bp+00ch] ; ff 76 0c 15106 15113 push word [bp+012h] ; ff 76 12 … … 15109 15116 mov ax, strict word 00004h ; b8 04 00 15110 15117 push ax ; 50 15111 call 01976h ; e8 31 7e15118 call 01976h ; e8 eb 7d 15112 15119 add sp, strict byte 00008h ; 83 c4 08 15113 15120 mov ax, word [bp+012h] ; 8b 46 12 … … 15121 15128 retn ; c3 15122 15129 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 15123 je short 09b 82h ; 74 1f15130 je short 09bc8h ; 74 1f 15124 15131 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 15125 je short 09b 7ah ; 74 1115132 je short 09bc0h ; 74 11 15126 15133 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 15127 jne short 09b 8ah ; 75 1b15134 jne short 09bd0h ; 75 1b 15128 15135 mov dx, 08900h ; ba 00 89 15129 15136 mov ax, 00d10h ; b8 10 0d 15130 call 09a 72h ; e8 fa fe15131 jmp short 09b 57h ; eb dd15137 call 09ab8h ; e8 fa fe 15138 jmp short 09b9dh ; eb dd 15132 15139 mov dx, 08900h ; ba 00 89 15133 15140 mov ax, 00d18h ; b8 18 0d 15134 jmp short 09b 75h ; eb f315141 jmp short 09bbbh ; eb f3 15135 15142 mov dx, 08900h ; ba 00 89 15136 15143 mov ax, 00d20h ; b8 20 0d 15137 jmp short 09b 75h ; eb eb15144 jmp short 09bbbh ; eb eb 15138 15145 or ah, 00ah ; 80 cc 0a 15139 15146 mov word [bp+012h], ax ; 89 46 12 15140 15147 mov word [bp+018h], dx ; 89 56 18 15141 jmp short 09b 57h ; eb c215148 jmp short 09b9dh ; eb c2 15142 15149 mov word [bp+012h], 00102h ; c7 46 12 02 01 15143 jmp short 09b 57h ; eb bb15150 jmp short 09b9dh ; eb bb 15144 15151 or ah, 080h ; 80 cc 80 15145 jmp short 09b 8dh ; eb ec15146 pci16_select_reg_: ; 0xf9b a1LB 0x2415152 jmp short 09bd3h ; eb ec 15153 pci16_select_reg_: ; 0xf9be7 LB 0x24 15147 15154 push bp ; 55 15148 15155 mov bp, sp ; 89 e5 … … 15161 15168 pop bp ; 5d 15162 15169 retn ; c3 15163 pci16_find_device_: ; 0xf9 bc5LB 0xf715170 pci16_find_device_: ; 0xf9c0b LB 0xf7 15164 15171 push bp ; 55 15165 15172 mov bp, sp ; 89 e5 … … 15175 15182 mov byte [bp-006h], 000h ; c6 46 fa 00 15176 15183 test bl, 007h ; f6 c3 07 15177 jne short 09c 0dh ; 75 2d15184 jne short 09c53h ; 75 2d 15178 15185 mov dx, strict word 0000eh ; ba 0e 00 15179 15186 mov ax, bx ; 89 d8 15180 call 09b a1h ; e8 b9 ff15187 call 09be7h ; e8 b9 ff 15181 15188 mov dx, 00cfeh ; ba fe 0c 15182 15189 in AL, DX ; ec … … 15185 15192 mov byte [bp-008h], al ; 88 46 f8 15186 15193 cmp AL, strict byte 0ffh ; 3c ff 15187 jne short 09 bfbh ; 75 0615194 jne short 09c41h ; 75 06 15188 15195 add bx, strict byte 00008h ; 83 c3 08 15189 jmp near 09c 8dh ; e9 92 0015196 jmp near 09cd3h ; e9 92 00 15190 15197 test byte [bp-008h], 080h ; f6 46 f8 80 15191 je short 09c 08h ; 74 0715198 je short 09c4eh ; 74 07 15192 15199 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 15193 jmp short 09c 0dh ; eb 0515200 jmp short 09c53h ; eb 05 15194 15201 mov word [bp-00eh], strict word 00008h ; c7 46 f2 08 00 15195 15202 mov al, byte [bp-008h] ; 8a 46 f8 15196 15203 and AL, strict byte 007h ; 24 07 15197 15204 cmp AL, strict byte 001h ; 3c 01 15198 jne short 09c 34h ; 75 1e15205 jne short 09c7ah ; 75 1e 15199 15206 mov al, bh ; 88 f8 15200 15207 xor ah, ah ; 30 e4 15201 15208 test ax, ax ; 85 c0 15202 jne short 09c 34h ; 75 1615209 jne short 09c7ah ; 75 16 15203 15210 mov dx, strict word 0001ah ; ba 1a 00 15204 15211 mov ax, bx ; 89 d8 15205 call 09b a1h ; e8 7b ff15212 call 09be7h ; e8 7b ff 15206 15213 mov dx, 00cfeh ; ba fe 0c 15207 15214 in AL, DX ; ec … … 15209 15216 ; sub ah, ah ; 2a e4 15210 15217 cmp al, byte [bp-006h] ; 3a 46 fa 15211 jbe short 09c 34h ; 76 0315218 jbe short 09c7ah ; 76 03 15212 15219 mov byte [bp-006h], al ; 88 46 fa 15213 15220 test di, di ; 85 ff 15214 je short 09c 3dh ; 74 0515221 je short 09c83h ; 74 05 15215 15222 mov dx, strict word 00008h ; ba 08 00 15216 jmp short 09c 3fh ; eb 0215223 jmp short 09c85h ; eb 02 15217 15224 xor dx, dx ; 31 d2 15218 15225 mov ax, bx ; 89 d8 15219 call 09b a1h ; e8 5d ff15226 call 09be7h ; e8 5d ff 15220 15227 mov dx, 00cfch ; ba fc 0c 15221 15228 in eax, DX ; 66 ed … … 15228 15235 mov word [bp-00ch], strict word 00000h ; c7 46 f4 00 00 15229 15236 test di, di ; 85 ff 15230 je short 09c 6eh ; 74 0f15237 je short 09cb4h ; 74 0f 15231 15238 mov cx, strict word 00008h ; b9 08 00 15232 15239 shr dx, 1 ; d1 ea 15233 15240 rcr ax, 1 ; d1 d8 15234 loop 09c 62h ; e2 fa15241 loop 09ca8h ; e2 fa 15235 15242 mov word [bp-00ah], ax ; 89 46 f6 15236 15243 mov word [bp-010h], dx ; 89 56 f0 15237 15244 mov ax, word [bp-010h] ; 8b 46 f0 15238 15245 cmp ax, word [bp-014h] ; 3b 46 ec 15239 jne short 09c 7eh ; 75 0815246 jne short 09cc4h ; 75 08 15240 15247 mov ax, word [bp-00ah] ; 8b 46 f6 15241 15248 cmp ax, word [bp-012h] ; 3b 46 ee 15242 je short 09c 84h ; 74 0615249 je short 09ccah ; 74 06 15243 15250 cmp word [bp-00ch], strict byte 00000h ; 83 7e f4 00 15244 je short 09c 8ah ; 74 0615251 je short 09cd0h ; 74 06 15245 15252 dec si ; 4e 15246 15253 cmp si, strict byte 0ffffh ; 83 fe ff 15247 je short 09c 9dh ; 74 1315254 je short 09ce3h ; 74 13 15248 15255 add bx, word [bp-00eh] ; 03 5e f2 15249 15256 mov al, bh ; 88 f8 … … 15252 15259 xor dh, dh ; 30 f6 15253 15260 cmp ax, dx ; 39 d0 15254 jnbe short 09c 9dh ; 77 0315255 jmp near 09 bdbh ; e9 3e ff15261 jnbe short 09ce3h ; 77 03 15262 jmp near 09c21h ; e9 3e ff 15256 15263 cmp si, strict byte 0ffffh ; 83 fe ff 15257 jne short 09c a6h ; 75 0415264 jne short 09cech ; 75 04 15258 15265 mov ax, bx ; 89 d8 15259 jmp short 09c a9h ; eb 0315266 jmp short 09cefh ; eb 03 15260 15267 mov ax, strict word 0ffffh ; b8 ff ff 15261 15268 lea sp, [bp-004h] ; 8d 66 fc … … 15264 15271 pop bp ; 5d 15265 15272 retn ; c3 15273 jcxz 09c95h ; e3 9d 15274 cld ; fc 15266 15275 popfw ; 9d 15267 popfw ; 9d 15268 mov DH, strict byte 09dh ; b6 9d 15269 enter 0dc9dh, 09dh ; c8 9d dc 9d 15270 out DX, AL ; ee 15271 popfw ; 9d 15272 db 001h 15276 push CS ; 0e 15273 15277 sahf ; 9e 15274 _pci16_function: ; 0xf9cbc LB 0x1d5 15278 and bl, byte [bp-061cch] ; 22 9e 34 9e 15279 inc di ; 47 15280 sahf ; 9e 15281 _pci16_function: ; 0xf9d02 LB 0x1d5 15275 15282 push bp ; 55 15276 15283 mov bp, sp ; 89 e5 … … 15286 15293 xor ah, ah ; 30 e4 15287 15294 cmp bx, strict byte 00003h ; 83 fb 03 15288 jc short 09 ceeh ; 72 1315289 jbe short 09d 41h ; 76 6415295 jc short 09d34h ; 72 13 15296 jbe short 09d87h ; 76 64 15290 15297 cmp bx, strict byte 0000eh ; 83 fb 0e 15291 je short 09d 49h ; 74 6715298 je short 09d8fh ; 74 67 15292 15299 cmp bx, strict byte 00008h ; 83 fb 08 15293 jc short 09 cf8h ; 72 1115300 jc short 09d3eh ; 72 11 15294 15301 cmp bx, strict byte 0000dh ; 83 fb 0d 15295 jbe short 09d 4ch ; 76 6015296 jmp short 09 cf8h ; eb 0a15302 jbe short 09d92h ; 76 60 15303 jmp short 09d3eh ; eb 0a 15297 15304 cmp bx, strict byte 00002h ; 83 fb 02 15298 je short 09d 17h ; 74 2415305 je short 09d5dh ; 74 24 15299 15306 cmp bx, strict byte 00001h ; 83 fb 01 15300 je short 09 cfbh ; 74 0315301 jmp near 09e 5ah ; e9 5f 0115307 je short 09d41h ; 74 03 15308 jmp near 09ea0h ; e9 5f 01 15302 15309 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 15303 15310 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 15305 15312 mov word [bp+018h], 04350h ; c7 46 18 50 43 15306 15313 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 15307 jmp near 09e 8ah ; e9 73 0115314 jmp near 09ed0h ; e9 73 01 15308 15315 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 15309 jne short 09d 23h ; 75 0615316 jne short 09d69h ; 75 06 15310 15317 or ah, 083h ; 80 cc 83 15311 jmp near 09e 83h ; e9 60 0115318 jmp near 09ec9h ; e9 60 01 15312 15319 mov bx, word [bp+008h] ; 8b 5e 08 15313 15320 mov dx, word [bp+01ch] ; 8b 56 1c 15314 15321 mov ax, word [bp+018h] ; 8b 46 18 15315 15322 xor cx, cx ; 31 c9 15316 call 09 bc5h ; e8 94 fe15323 call 09c0bh ; e8 94 fe 15317 15324 cmp ax, strict word 0ffffh ; 3d ff ff 15318 jne short 09d 43h ; 75 0d15325 jne short 09d89h ; 75 0d 15319 15326 mov ax, word [bp+020h] ; 8b 46 20 15320 15327 xor ah, ah ; 30 e4 15321 15328 or ah, 086h ; 80 cc 86 15322 jmp near 09e 83h ; e9 42 0115323 jmp short 09d 4eh ; eb 0b15329 jmp near 09ec9h ; e9 42 01 15330 jmp short 09d94h ; eb 0b 15324 15331 mov word [bp+014h], ax ; 89 46 14 15325 jmp near 09e 8ah ; e9 41 0115326 jmp near 09e 15h ; e9 c9 0015327 jmp short 09d 73h ; eb 2515332 jmp near 09ed0h ; e9 41 01 15333 jmp near 09e5bh ; e9 c9 00 15334 jmp short 09db9h ; eb 25 15328 15335 mov bx, word [bp+008h] ; 8b 5e 08 15329 15336 mov ax, word [bp+01ch] ; 8b 46 1c 15330 15337 mov dx, word [bp+01eh] ; 8b 56 1e 15331 15338 mov cx, strict word 00001h ; b9 01 00 15332 call 09 bc5h ; e8 68 fe15339 call 09c0bh ; e8 68 fe 15333 15340 cmp ax, strict word 0ffffh ; 3d ff ff 15334 jne short 09d 6dh ; 75 0b15341 jne short 09db3h ; 75 0b 15335 15342 mov ax, word [bp+020h] ; 8b 46 20 15336 15343 xor ah, ah ; 30 e4 15337 15344 or ah, 086h ; 80 cc 86 15338 jmp near 09e 83h ; e9 16 0115345 jmp near 09ec9h ; e9 16 01 15339 15346 mov word [bp+014h], ax ; 89 46 14 15340 jmp near 09e 8ah ; e9 17 0115347 jmp near 09ed0h ; e9 17 01 15341 15348 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 15342 jc short 09d 80h ; 72 0615349 jc short 09dc6h ; 72 06 15343 15350 or ah, 087h ; 80 cc 87 15344 jmp near 09e 83h ; e9 03 0115351 jmp near 09ec9h ; e9 03 01 15345 15352 mov dx, word [bp+004h] ; 8b 56 04 15346 15353 mov ax, word [bp+014h] ; 8b 46 14 15347 call 09b a1h ; e8 18 fe15354 call 09be7h ; e8 18 fe 15348 15355 mov bx, word [bp+020h] ; 8b 5e 20 15349 15356 xor bh, bh ; 30 ff 15350 15357 sub bx, strict byte 00008h ; 83 eb 08 15351 15358 cmp bx, strict byte 00005h ; 83 fb 05 15352 jnbe short 09 dfeh ; 77 6815359 jnbe short 09e44h ; 77 68 15353 15360 sal bx, 1 ; d1 e3 15354 jmp word [cs:bx-063 50h] ; 2e ff a7 b09c15361 jmp word [cs:bx-0630ah] ; 2e ff a7 f6 9c 15355 15362 mov bx, word [bp+01ch] ; 8b 5e 1c 15356 15363 xor bl, bl ; 30 db … … 15363 15370 or bx, ax ; 09 c3 15364 15371 mov word [bp+01ch], bx ; 89 5e 1c 15365 jmp short 09 dfeh ; eb 4815372 jmp short 09e44h ; eb 48 15366 15373 mov dx, word [bp+004h] ; 8b 56 04 15367 15374 xor dh, dh ; 30 f6 … … 15370 15377 in ax, DX ; ed 15371 15378 mov word [bp+01ch], ax ; 89 46 1c 15372 jmp short 09 dfeh ; eb 3615379 jmp short 09e44h ; eb 36 15373 15380 mov dx, 00cfch ; ba fc 0c 15374 15381 in eax, DX ; 66 ed … … 15379 15386 mov word [bp+01ch], ax ; 89 46 1c 15380 15387 mov word [bp+01eh], dx ; 89 56 1e 15381 jmp short 09 dfeh ; eb 2215388 jmp short 09e44h ; eb 22 15382 15389 mov ax, word [bp+01ch] ; 8b 46 1c 15383 15390 mov dx, word [bp+004h] ; 8b 56 04 … … 15386 15393 add dx, 00cfch ; 81 c2 fc 0c 15387 15394 out DX, AL ; ee 15388 jmp short 09 dfeh ; eb 1015395 jmp short 09e44h ; eb 10 15389 15396 mov ax, word [bp+01ch] ; 8b 46 1c 15390 15397 mov dx, word [bp+004h] ; 8b 56 04 … … 15393 15400 add dx, 00cfch ; 81 c2 fc 0c 15394 15401 out DX, ax ; ef 15395 jmp near 09e 8ah ; e9 89 0015402 jmp near 09ed0h ; e9 89 00 15396 15403 mov ax, word [bp+01ch] ; 8b 46 1c 15397 15404 mov cx, word [bp+01eh] ; 8b 4e 1e … … 15402 15409 ; mov ax, cx ; 8b c1 15403 15410 out DX, eax ; 66 ef 15404 jmp short 09e 8ah ; eb 7515411 jmp short 09ed0h ; eb 75 15405 15412 mov bx, word [bp+004h] ; 8b 5e 04 15406 15413 mov es, [bp+026h] ; 8e 46 26 … … 15409 15416 mov cx, word [0f4a0h] ; 8b 0e a0 f4 15410 15417 cmp cx, word [es:bx] ; 26 3b 0f 15411 jbe short 09e 3bh ; 76 1115418 jbe short 09e81h ; 76 11 15412 15419 mov ax, word [bp+020h] ; 8b 46 20 15413 15420 xor ah, ah ; 30 e4 … … 15415 15422 mov word [bp+020h], ax ; 89 46 20 15416 15423 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 15417 jmp short 09e 4fh ; eb 1415424 jmp short 09e95h ; eb 14 15418 15425 les di, [es:bx+002h] ; 26 c4 7f 02 15419 15426 mov si, 0f2c0h ; be c0 f2 … … 15427 15434 les bx, [bp-008h] ; c4 5e f8 15428 15435 mov word [es:bx], ax ; 26 89 07 15429 jmp short 09e 8ah ; eb 3015436 jmp short 09ed0h ; eb 30 15430 15437 mov bx, 00da0h ; bb a0 0d 15431 15438 mov cx, ds ; 8c d9 15432 15439 mov ax, strict word 00004h ; b8 04 00 15433 call 01933h ; e8 ce7a15440 call 01933h ; e8 88 7a 15434 15441 mov ax, word [bp+014h] ; 8b 46 14 15435 15442 push ax ; 50 … … 15440 15447 mov ax, strict word 00004h ; b8 04 00 15441 15448 push ax ; 50 15442 call 01976h ; e8 fe7a15449 call 01976h ; e8 b8 7a 15443 15450 add sp, strict byte 00008h ; 83 c4 08 15444 15451 mov ax, word [bp+020h] ; 8b 46 20 … … 15452 15459 pop bp ; 5d 15453 15460 retn ; c3 15454 pci_find_classcode_: ; 0xf9e 91LB 0x815461 pci_find_classcode_: ; 0xf9ed7 LB 0x8 15455 15462 push bp ; 55 15456 15463 mov bp, sp ; 89 e5 … … 15458 15465 pop bp ; 5d 15459 15466 retn ; c3 15460 pci_read_config_byte_: ; 0xf9e 99LB 0x2715467 pci_read_config_byte_: ; 0xf9edf LB 0x27 15461 15468 push bp ; 55 15462 15469 mov bp, sp ; 89 e5 … … 15481 15488 pop bp ; 5d 15482 15489 retn ; c3 15483 pci_read_config_word_: ; 0xf9 ec0LB 0x2515490 pci_read_config_word_: ; 0xf9f06 LB 0x25 15484 15491 push bp ; 55 15485 15492 mov bp, sp ; 89 e5 … … 15503 15510 pop bp ; 5d 15504 15511 retn ; c3 15505 pci_read_config_dword_: ; 0xf9 ee5LB 0x3f15512 pci_read_config_dword_: ; 0xf9f2b LB 0x3f 15506 15513 push bp ; 55 15507 15514 mov bp, sp ; 89 e5 … … 15518 15525 int 01ah ; cd 1a 15519 15526 test cx, cx ; 85 c9 15520 jne short 09f 15h ; 75 1415527 jne short 09f5bh ; 75 14 15521 15528 mov al, byte [bp-006h] ; 8a 46 fa 15522 15529 xor ah, ah ; 30 e4 … … 15528 15535 int 01ah ; cd 1a 15529 15536 test cx, cx ; 85 c9 15530 je short 09f 1ah ; 74 0515537 je short 09f60h ; 74 05 15531 15538 mov ax, strict word 00001h ; b8 01 00 15532 jmp short 09f 1ch ; eb 0215539 jmp short 09f62h ; eb 02 15533 15540 xor ax, ax ; 31 c0 15534 15541 cwd ; 99 … … 15538 15545 pop bp ; 5d 15539 15546 retn ; c3 15540 vds_is_present_: ; 0xf9f 24LB 0x1d15547 vds_is_present_: ; 0xf9f6a LB 0x1d 15541 15548 push bx ; 53 15542 15549 push bp ; 55 … … 15546 15553 mov es, ax ; 8e c0 15547 15554 test byte [es:bx], 020h ; 26 f6 07 20 15548 je short 09f 3ch ; 74 0615555 je short 09f82h ; 74 06 15549 15556 mov ax, strict word 00001h ; b8 01 00 15550 15557 pop bp ; 5d … … 15555 15562 pop bx ; 5b 15556 15563 retn ; c3 15557 vds_real_to_lin_: ; 0xf9f 41LB 0x1e15564 vds_real_to_lin_: ; 0xf9f87 LB 0x1e 15558 15565 push bx ; 53 15559 15566 push cx ; 51 … … 15566 15573 sal ax, 1 ; d1 e0 15567 15574 rcl dx, 1 ; d1 d2 15568 loop 09f 4fh ; e2 fa15575 loop 09f95h ; e2 fa 15569 15576 xor cx, cx ; 31 c9 15570 15577 add ax, bx ; 01 d8 … … 15574 15581 pop bx ; 5b 15575 15582 retn ; c3 15576 vds_build_sg_list_: ; 0xf9f 5fLB 0x7715583 vds_build_sg_list_: ; 0xf9fa5 LB 0x77 15577 15584 push bp ; 55 15578 15585 mov bp, sp ; 89 e5 … … 15588 15595 mov bx, word [bp+006h] ; 8b 5e 06 15589 15596 mov word [es:di+002h], bx ; 26 89 5d 02 15590 call 09f 41h ; e8 c3 ff15597 call 09f87h ; e8 c3 ff 15591 15598 mov es, si ; 8e c6 15592 15599 mov word [es:di+004h], ax ; 26 89 45 04 15593 15600 mov word [es:di+006h], dx ; 26 89 55 06 15594 15601 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 15595 call 09f 24h ; e8 93 ff15602 call 09f6ah ; e8 93 ff 15596 15603 test ax, ax ; 85 c0 15597 je short 09f a6h ; 74 1115604 je short 09fech ; 74 11 15598 15605 mov es, si ; 8e c6 15599 15606 mov ax, 08105h ; b8 05 81 15600 15607 mov dx, strict word 00000h ; ba 00 00 15601 15608 int 04bh ; cd 4b 15602 jc short 09f a3h ; 72 0215609 jc short 09fe9h ; 72 02 15603 15610 db 032h, 0c0h 15604 15611 ; xor al, al ; 32 c0 15605 15612 cbw ; 98 15606 jmp short 0 9fcdh ; eb 2715613 jmp short 0a013h ; eb 27 15607 15614 mov es, si ; 8e c6 15608 15615 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 15621 15628 pop bp ; 5d 15622 15629 retn 00004h ; c2 04 00 15623 vds_free_sg_list_: ; 0xf 9fd6 LB 0x3a15630 vds_free_sg_list_: ; 0xfa01c LB 0x34 15624 15631 push bp ; 55 15625 15632 mov bp, sp ; 89 e5 … … 15627 15634 push di ; 57 15628 15635 mov bx, ax ; 89 c3 15629 call 09f 24h ; e8 44 ff15636 call 09f6ah ; e8 44 ff 15630 15637 test ax, ax ; 85 c0 15631 je short 0 9ff5h ; 74 1115638 je short 0a03bh ; 74 11 15632 15639 mov di, bx ; 89 df 15633 15640 mov es, dx ; 8e c2 … … 15635 15642 mov dx, strict word 00000h ; ba 00 00 15636 15643 int 04bh ; cd 4b 15637 jc short 0 9ff4h ; 72 0215644 jc short 0a03ah ; 72 02 15638 15645 db 032h, 0c0h 15639 15646 ; xor al, al ; 32 c0 … … 15646 15653 pop bp ; 5d 15647 15654 retn ; c3 15648 times 0x cdb 015649 __U4M: ; 0xfa0 10 LB 0x2015655 times 0x6 db 0 15656 __U4M: ; 0xfa050 LB 0x20 15650 15657 pushfw ; 9c 15651 15658 push si ; 56 … … 15674 15681 retn ; c3 15675 15682 times 0x4 db 0 15676 __U4D: ; 0xfa0 30 LB 0x3015683 __U4D: ; 0xfa070 LB 0x30 15677 15684 pushfw ; 9c 15678 15685 push DS ; 1e … … 15689 15696 push dx ; 52 15690 15697 push ax ; 50 15691 call 0a1 15h ; e8 d0 0015698 call 0a155h ; e8 d0 00 15692 15699 mov cx, word [bp-002h] ; 8b 4e fe 15693 15700 mov bx, word [bp-004h] ; 8b 5e fc … … 15700 15707 retn ; c3 15701 15708 times 0xe db 0 15702 __U8RS: ; 0xfa0 60 LB 0x1015709 __U8RS: ; 0xfa0a0 LB 0x10 15703 15710 test si, si ; 85 f6 15704 je short 0a0 6fh ; 74 0b15711 je short 0a0afh ; 74 0b 15705 15712 shr ax, 1 ; d1 e8 15706 15713 rcr bx, 1 ; d1 db … … 15708 15715 rcr dx, 1 ; d1 da 15709 15716 dec si ; 4e 15710 jne short 0a0 64h ; 75 f515717 jne short 0a0a4h ; 75 f5 15711 15718 retn ; c3 15712 __U8LS: ; 0xfa0 70 LB 0x1015719 __U8LS: ; 0xfa0b0 LB 0x10 15713 15720 test si, si ; 85 f6 15714 je short 0a0 7fh ; 74 0b15721 je short 0a0bfh ; 74 0b 15715 15722 sal dx, 1 ; d1 e2 15716 15723 rcl cx, 1 ; d1 d1 … … 15718 15725 rcl ax, 1 ; d1 d0 15719 15726 dec si ; 4e 15720 jne short 0a0 74h ; 75 f515727 jne short 0a0b4h ; 75 f5 15721 15728 retn ; c3 15722 _fmemset_: ; 0xfa0 80 LB 0x1015729 _fmemset_: ; 0xfa0c0 LB 0x10 15723 15730 push di ; 57 15724 15731 mov es, dx ; 8e c2 … … 15731 15738 retn ; c3 15732 15739 times 0x3 db 0 15733 _fmemcpy_: ; 0xfa0 90 LB 0x3a15740 _fmemcpy_: ; 0xfa0d0 LB 0x3a 15734 15741 push bp ; 55 15735 15742 db 08bh, 0ech … … 15753 15760 pop bp ; 5d 15754 15761 retn ; c3 15755 db 000h, 000h, 000h, 000h, 000h, 000h, 0e0h, 0a0h, 0e2h, 0a0h, 0e6h, 0a0h, 0e6h, 0a0h, 0e6h, 0a0h 15756 db 0e8h, 0a0h, 0e8h, 0a0h, 0eah, 0a0h, 0eeh, 0a0h, 0eeh, 0a0h, 0f0h, 0a0h, 0f5h, 0a0h, 0f7h, 0a0h 15757 apm_worker: ; 0xfa0ca LB 0x3a 15762 add byte [bx+si], al ; 00 00 15763 add byte [bx+si], al ; 00 00 15764 add byte [bx+si], al ; 00 00 15765 and byte [bx+di-05edeh], ah ; 20 a1 22 a1 15766 mov ax, word [es:0a126h] ; 26 a1 26 a1 15767 mov ax, word [es:0a128h] ; 26 a1 28 a1 15768 sub byte [bx+di-05ed6h], ah ; 28 a1 2a a1 15769 mov ax, word [cs:0a12eh] ; 2e a1 2e a1 15770 xor byte [bx+di-05ecbh], ah ; 30 a1 35 a1 15771 aaa ; 37 15772 db 0a1h 15773 apm_worker: ; 0xfa10a LB 0x3a 15758 15774 sti ; fb 15759 15775 push ax ; 50 … … 15767 15783 pop ax ; 58 15768 15784 mov AH, strict byte 053h ; b4 53 15769 jnc short 0a1 00h ; 73 2515770 jmp word [cs:bp-05f 50h] ; 2e ff a6 b0 a015771 jmp short 0a 0feh ; eb 1c15785 jnc short 0a140h ; 73 25 15786 jmp word [cs:bp-05f10h] ; 2e ff a6 f0 a0 15787 jmp short 0a13eh ; eb 1c 15772 15788 sti ; fb 15773 15789 hlt ; f4 15774 jmp short 0a 0feh ; eb 1815775 jmp short 0a 0feh ; eb 1615776 jmp short 0a1 00h ; eb 1615790 jmp short 0a13eh ; eb 18 15791 jmp short 0a13eh ; eb 16 15792 jmp short 0a140h ; eb 16 15777 15793 mov AH, strict byte 080h ; b4 80 15778 jmp short 0a1 02h ; eb 1415779 jmp short 0a1 00h ; eb 1015794 jmp short 0a142h ; eb 14 15795 jmp short 0a140h ; eb 10 15780 15796 mov ax, 00102h ; b8 02 01 15781 jmp short 0a 0feh ; eb 0915782 jmp short 0a 0feh ; eb 0715797 jmp short 0a13eh ; eb 09 15798 jmp short 0a13eh ; eb 07 15783 15799 mov BL, strict byte 000h ; b3 00 15784 15800 mov cx, strict word 00000h ; b9 00 00 15785 jmp short 0a 0feh ; eb 0015801 jmp short 0a13eh ; eb 00 15786 15802 clc ; f8 15787 15803 retn ; c3 … … 15789 15805 stc ; f9 15790 15806 retn ; c3 15791 apm_pm16_entry: ; 0xfa1 04 LB 0x1115807 apm_pm16_entry: ; 0xfa144 LB 0x11 15792 15808 mov AH, strict byte 002h ; b4 02 15793 15809 push DS ; 1e … … 15797 15813 add bp, strict byte 00008h ; 83 c5 08 15798 15814 mov ds, bp ; 8e dd 15799 call 0a 0cah ; e8 b8 ff15815 call 0a10ah ; e8 b8 ff 15800 15816 pop bp ; 5d 15801 15817 pop DS ; 1f 15802 15818 retf ; cb 15803 _DoUInt32Div: ; 0xfa1 15 LB 0x26b15819 _DoUInt32Div: ; 0xfa155 LB 0x26b 15804 15820 push bp ; 55 15805 15821 mov bp, sp ; 89 e5 … … 15819 15835 mov [bp-006h], ds ; 8c 5e fa 15820 15836 cmp word [bx+002h], strict byte 00000h ; 83 7f 02 00 15821 jne short 0a1 65h ; 75 2215837 jne short 0a1a5h ; 75 22 15822 15838 mov ax, word [bx] ; 8b 07 15823 15839 test ax, ax ; 85 c0 15824 je short 0a1 62h ; 74 1915840 je short 0a1a2h ; 74 19 15825 15841 cmp ax, strict word 00001h ; 3d 01 00 15826 jne short 0a1 65h ; 75 1715842 jne short 0a1a5h ; 75 17 15827 15843 xor ax, ax ; 31 c0 15828 15844 mov word [bp+00ah], ax ; 89 46 0a … … 15832 15848 mov ax, word [bp-01ah] ; 8b 46 e6 15833 15849 mov word [bp+006h], ax ; 89 46 06 15834 jmp near 0a3 6dh ; e9 08 0215850 jmp near 0a3adh ; e9 08 02 15835 15851 lds bx, [bp-00ch] ; c5 5e f4 15836 15852 mov ax, word [bx+002h] ; 8b 47 02 15837 15853 mov ds, [bp-006h] ; 8e 5e fa 15838 15854 cmp ax, word [si+002h] ; 3b 44 02 15839 je short 0a1 8bh ; 74 1815855 je short 0a1cbh ; 74 18 15840 15856 mov ds, [bp-00ah] ; 8e 5e f6 15841 15857 mov ax, word [bx+002h] ; 8b 47 02 15842 15858 mov ds, [bp-006h] ; 8e 5e fa 15843 15859 cmp ax, word [si+002h] ; 3b 44 02 15844 jbe short 0a1 86h ; 76 0515860 jbe short 0a1c6h ; 76 05 15845 15861 mov ax, strict word 00001h ; b8 01 00 15846 jmp short 0a1 ach ; eb 2615862 jmp short 0a1ech ; eb 26 15847 15863 mov ax, strict word 0ffffh ; b8 ff ff 15848 jmp short 0a1 ach ; eb 2115864 jmp short 0a1ech ; eb 21 15849 15865 mov ds, [bp-00ah] ; 8e 5e f6 15850 15866 mov ax, word [bx] ; 8b 07 15851 15867 mov ds, [bp-006h] ; 8e 5e fa 15852 15868 cmp ax, word [si] ; 3b 04 15853 je short 0a1 aah ; 74 1315869 je short 0a1eah ; 74 13 15854 15870 mov ds, [bp-00ah] ; 8e 5e f6 15855 15871 mov ax, word [bx] ; 8b 07 15856 15872 mov ds, [bp-006h] ; 8e 5e fa 15857 15873 cmp ax, word [si] ; 3b 04 15858 jbe short 0a1 a5h ; 76 0215859 jmp short 0a1 81h ; eb dc15874 jbe short 0a1e5h ; 76 02 15875 jmp short 0a1c1h ; eb dc 15860 15876 mov ax, strict word 0ffffh ; b8 ff ff 15861 jmp short 0a1 ach ; eb 0215877 jmp short 0a1ech ; eb 02 15862 15878 xor ax, ax ; 31 c0 15863 15879 test ax, ax ; 85 c0 15864 jnl short 0a 1ceh ; 7d 1e15880 jnl short 0a20eh ; 7d 1e 15865 15881 lds bx, [bp-00ch] ; c5 5e f4 15866 15882 mov ax, word [bx] ; 8b 07 … … 15872 15888 mov word [bx+002h], strict word 00000h ; c7 47 02 00 00 15873 15889 mov word [bx], strict word 00000h ; c7 07 00 00 15874 jmp short 0a1 62h ; eb 9415875 jne short 0a 1e5h ; 75 1515890 jmp short 0a1a2h ; eb 94 15891 jne short 0a225h ; 75 15 15876 15892 mov ds, [bp-008h] ; 8e 5e f8 15877 15893 mov word [di+002h], ax ; 89 45 02 … … 15880 15896 mov word [bx], strict word 00001h ; c7 07 01 00 15881 15897 mov word [bx+002h], ax ; 89 47 02 15882 jmp near 0a3 6dh ; e9 88 0115898 jmp near 0a3adh ; e9 88 01 15883 15899 lds bx, [bp-00ch] ; c5 5e f4 15884 15900 mov ax, word [bx+002h] ; 8b 47 02 15885 15901 test ax, ax ; 85 c0 15886 je short 0a2 00h ; 74 1115902 je short 0a240h ; 74 11 15887 15903 push ax ; 50 15888 15904 mov ax, 0f000h ; b8 00 f0 15889 15905 mov ds, ax ; 8e d8 15890 call 0a3 80h ; e8 88 0115906 call 0a3c0h ; e8 88 01 15891 15907 add sp, strict byte 00002h ; 83 c4 02 15892 15908 add ax, strict word 00010h ; 05 10 00 15893 jmp short 0a2 0dh ; eb 0d15909 jmp short 0a24dh ; eb 0d 15894 15910 push word [bx] ; ff 37 15895 15911 mov ax, 0f000h ; b8 00 f0 15896 15912 mov ds, ax ; 8e d8 15897 call 0a3 80h ; e8 76 0115913 call 0a3c0h ; e8 76 01 15898 15914 add sp, strict byte 00002h ; 83 c4 02 15899 15915 mov word [bp-014h], ax ; 89 46 ec … … 15901 15917 mov ax, word [si+002h] ; 8b 44 02 15902 15918 test ax, ax ; 85 c0 15903 je short 0a2 2bh ; 74 1115919 je short 0a26bh ; 74 11 15904 15920 push ax ; 50 15905 15921 mov ax, 0f000h ; b8 00 f0 15906 15922 mov ds, ax ; 8e d8 15907 call 0a3 80h ; e8 5d 0115923 call 0a3c0h ; e8 5d 01 15908 15924 add sp, strict byte 00002h ; 83 c4 02 15909 15925 add ax, strict word 00010h ; 05 10 00 15910 jmp short 0a2 38h ; eb 0d15926 jmp short 0a278h ; eb 0d 15911 15927 push word [si] ; ff 34 15912 15928 mov ax, 0f000h ; b8 00 f0 15913 15929 mov ds, ax ; 8e d8 15914 call 0a3 80h ; e8 4b 0115930 call 0a3c0h ; e8 4b 01 15915 15931 add sp, strict byte 00002h ; 83 c4 02 15916 15932 mov dx, word [bp-014h] ; 8b 56 ec … … 15923 15939 mov word [bp-016h], ax ; 89 46 ea 15924 15940 test dx, dx ; 85 d2 15925 je short 0a2 a8h ; 74 5615941 je short 0a2e8h ; 74 56 15926 15942 mov cx, dx ; 89 d1 15927 15943 xor ch, dh ; 30 f5 … … 15929 15945 mov ax, word [si] ; 8b 04 15930 15946 mov dx, word [si+002h] ; 8b 54 02 15931 jcxz 0a2 66h ; e3 0615947 jcxz 0a2a6h ; e3 06 15932 15948 sal ax, 1 ; d1 e0 15933 15949 rcl dx, 1 ; d1 d2 15934 loop 0a2 60h ; e2 fa15950 loop 0a2a0h ; e2 fa 15935 15951 mov word [bp-018h], ax ; 89 46 e8 15936 15952 mov word [bp-016h], dx ; 89 56 ea … … 15938 15954 lds bx, [bp-00ch] ; c5 5e f4 15939 15955 cmp ax, word [bx+002h] ; 3b 47 02 15940 jnbe short 0a2 86h ; 77 0f15956 jnbe short 0a2c6h ; 77 0f 15941 15957 mov ax, word [bp-016h] ; 8b 46 ea 15942 15958 cmp ax, word [bx+002h] ; 3b 47 02 15943 jne short 0a2 8ah ; 75 0b15959 jne short 0a2cah ; 75 0b 15944 15960 mov ax, word [bp-018h] ; 8b 46 e8 15945 15961 cmp ax, word [bx] ; 3b 07 15946 jbe short 0a2 8ah ; 76 0415962 jbe short 0a2cah ; 76 04 15947 15963 mov AL, strict byte 001h ; b0 01 15948 jmp short 0a2 8ch ; eb 0215964 jmp short 0a2cch ; eb 02 15949 15965 xor al, al ; 30 c0 15950 15966 test al, al ; 84 c0 15951 je short 0a2 b3h ; 74 2315967 je short 0a2f3h ; 74 23 15952 15968 shr word [bp-016h], 1 ; d1 6e ea 15953 15969 rcr word [bp-018h], 1 ; d1 5e e8 15954 15970 dec word [bp-012h] ; ff 4e ee 15955 jmp short 0a2 b3h ; eb 1815971 jmp short 0a2f3h ; eb 18 15956 15972 mov cx, strict word 0001fh ; b9 1f 00 15957 15973 sal word [bp-018h], 1 ; d1 66 e8 15958 15974 rcl word [bp-016h], 1 ; d1 56 ea 15959 loop 0a2 9eh ; e2 f815960 jmp short 0a2 96h ; eb ee15975 loop 0a2deh ; e2 f8 15976 jmp short 0a2d6h ; eb ee 15961 15977 mov ax, word [si] ; 8b 04 15962 15978 mov word [bp-018h], ax ; 89 46 e8 … … 15975 15991 mov ds, [bp-006h] ; 8e 5e fa 15976 15992 cmp ax, word [si+002h] ; 3b 44 02 15977 jnbe short 0a 2dfh ; 77 0615978 jne short 0a 2e3h ; 75 0815993 jnbe short 0a31fh ; 77 06 15994 jne short 0a323h ; 75 08 15979 15995 cmp dx, word [si] ; 3b 14 15980 jc short 0a 2e3h ; 72 0415996 jc short 0a323h ; 72 04 15981 15997 mov AL, strict byte 001h ; b0 01 15982 jmp short 0a 2e5h ; eb 0215998 jmp short 0a325h ; eb 02 15983 15999 xor al, al ; 30 c0 15984 16000 test al, al ; 84 c0 15985 je short 0a3 4ah ; 74 6116001 je short 0a38ah ; 74 61 15986 16002 mov ds, [bp-008h] ; 8e 5e f8 15987 16003 mov ax, word [di+002h] ; 8b 45 02 15988 16004 cmp ax, word [bp-016h] ; 3b 46 ea 15989 jnbe short 0a3 00h ; 77 0c16005 jnbe short 0a340h ; 77 0c 15990 16006 cmp ax, word [bp-016h] ; 3b 46 ea 15991 jne short 0a3 04h ; 75 0b16007 jne short 0a344h ; 75 0b 15992 16008 mov ax, word [di] ; 8b 05 15993 16009 cmp ax, word [bp-018h] ; 3b 46 e8 15994 jc short 0a3 04h ; 72 0416010 jc short 0a344h ; 72 04 15995 16011 mov AL, strict byte 001h ; b0 01 15996 jmp short 0a3 06h ; eb 0216012 jmp short 0a346h ; eb 02 15997 16013 xor al, al ; 30 c0 15998 16014 test al, al ; 84 c0 15999 je short 0a3 30h ; 74 2616015 je short 0a370h ; 74 26 16000 16016 mov ax, word [bp-018h] ; 8b 46 e8 16001 16017 mov ds, [bp-008h] ; 8e 5e f8 … … 16006 16022 xor dx, dx ; 31 d2 16007 16023 mov cx, word [bp-012h] ; 8b 4e ee 16008 jcxz 0a3 28h ; e3 0616024 jcxz 0a368h ; e3 06 16009 16025 sal ax, 1 ; d1 e0 16010 16026 rcl dx, 1 ; d1 d2 16011 loop 0a3 22h ; e2 fa16027 loop 0a362h ; e2 fa 16012 16028 lds bx, [bp-010h] ; c5 5e f0 16013 16029 or word [bx], ax ; 09 07 … … 16018 16034 mov ds, [bp-006h] ; 8e 5e fa 16019 16035 cmp ax, word [si+002h] ; 3b 44 02 16020 jc short 0a3 46h ; 72 0616021 jne short 0a3 4ch ; 75 0a16036 jc short 0a386h ; 72 06 16037 jne short 0a38ch ; 75 0a 16022 16038 cmp dx, word [si] ; 3b 14 16023 jnc short 0a3 4ch ; 73 0616039 jnc short 0a38ch ; 73 06 16024 16040 mov AL, strict byte 001h ; b0 01 16025 jmp short 0a3 4eh ; eb 0416026 jmp short 0a3 6dh ; eb 2116041 jmp short 0a38eh ; eb 04 16042 jmp short 0a3adh ; eb 21 16027 16043 xor al, al ; 30 c0 16028 16044 test al, al ; 84 c0 16029 je short 0a3 61h ; 74 0f16030 jmp short 0a3 6dh ; eb 1916045 je short 0a3a1h ; 74 0f 16046 jmp short 0a3adh ; eb 19 16031 16047 mov cx, strict word 0001fh ; b9 1f 00 16032 16048 sal word [bp-018h], 1 ; d1 66 e8 16033 16049 rcl word [bp-016h], 1 ; d1 56 ea 16034 loop 0a3 57h ; e2 f816035 jmp short 0a3 67h ; eb 0616050 loop 0a397h ; e2 f8 16051 jmp short 0a3a7h ; eb 06 16036 16052 shr word [bp-016h], 1 ; d1 6e ea 16037 16053 rcr word [bp-018h], 1 ; d1 5e e8 16038 16054 dec word [bp-012h] ; ff 4e ee 16039 jmp near 0a 2e9h ; e9 7c ff16055 jmp near 0a329h ; e9 7c ff 16040 16056 mov ax, word [bp-01ch] ; 8b 46 e4 16041 16057 mov dx, word [bp-01ah] ; 8b 56 e6 … … 16046 16062 retn ; c3 16047 16063 times 0x6 db 0 16048 _ASMBitLastSetU16: ; 0xfa3 80 LB 0x1816064 _ASMBitLastSetU16: ; 0xfa3c0 LB 0x18 16049 16065 push bp ; 55 16050 16066 db 08bh, 0ech … … 16052 16068 mov cx, word [bp+004h] ; 8b 4e 04 16053 16069 test cx, cx ; 85 c9 16054 je short 0a3 94h ; 74 0a16070 je short 0a3d4h ; 74 0a 16055 16071 mov ax, strict word 00010h ; b8 10 00 16056 16072 sal cx, 1 ; d1 e1 16057 jc short 0a3 96h ; 72 0516073 jc short 0a3d6h ; 72 05 16058 16074 dec ax ; 48 16059 jmp short 0a3 8dh ; eb f916075 jmp short 0a3cdh ; eb f9 16060 16076 db 033h, 0c0h 16061 16077 ; xor ax, ax ; 33 c0 … … 16063 16079 retn ; c3 16064 16080 16065 ; Padding 0x36 68 bytes at 0xfa39816066 times 13 928db 016081 ; Padding 0x3628 bytes at 0xfa3d8 16082 times 13864 db 0 16067 16083 16068 16084 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 16111 16127 add bp, strict byte 00008h ; 83 c5 08 16112 16128 push ebp ; 66 55 16113 mov bp, 0a1 06h ; bd 06 a116129 mov bp, 0a146h ; bd 46 a1 16114 16130 add byte [bx+si], al ; 00 00 16115 16131 push ebp ; 66 55 … … 16718 16734 mov dx, 0c800h ; ba 00 c8 16719 16735 call 01600h ; e8 f0 33 16720 call 04f aah ; e8 976d16736 call 04ff0h ; e8 dd 6d 16721 16737 pop DS ; 1f 16722 16738 mov ax, 0ff53h ; b8 53 ff … … 16841 16857 call 01cc5h ; e8 89 39 16842 16858 call 02154h ; e8 15 3e 16843 call 099 58h ; e8 16b616844 call 08 7bdh ; e8 78a416859 call 0999eh ; e8 5c b6 16860 call 08803h ; e8 be a4 16845 16861 call 0ed4ch ; e8 04 0a 16846 16862 call 0e2d2h ; e8 87 ff … … 16852 16868 call 01600h ; e8 a9 32 16853 16869 call 01799h ; e8 3f 34 16854 call 03 bc4h ; e8 675816870 call 03c0ah ; e8 ad 58 16855 16871 sti ; fb 16856 16872 int 019h ; cd 19 … … 16961 16977 pop DS ; 1f 16962 16978 cld ; fc 16963 call 065 65h ; e8 1c7e16979 call 065abh ; e8 62 7e 16964 16980 pop di ; 5f 16965 16981 pop si ; 5e … … 17065 17081 pop DS ; 1f 17066 17082 cld ; fc 17067 call 058 13h ; e8 ca 6f17083 call 05859h ; e8 10 70 17068 17084 pop di ; 5f 17069 17085 pop si ; 5e … … 17089 17105 pop DS ; 1f 17090 17106 cld ; fc 17091 call 058 13h ; e8 a56f17107 call 05859h ; e8 eb 6f 17092 17108 pop di ; 5f 17093 17109 pop si ; 5e … … 17148 17164 pop DS ; 1f 17149 17165 cld ; fc 17150 call 052 b2h ; e8 e2 6817166 call 052f8h ; e8 28 69 17151 17167 pop ES ; 07 17152 17168 pop di ; 5f … … 17178 17194 pop DS ; 1f 17179 17195 cld ; fc 17180 call 06e 9dh ; e8 a98417196 call 06ee3h ; e8 ef 84 17181 17197 pop DS ; 1f 17182 17198 pop ES ; 07 … … 17214 17230 cld ; fc 17215 17231 push word [cs:0ec7ah] ; 2e ff 36 7a ec 17216 jmp near 03c 08h ; e9 8e4f17232 jmp near 03c4eh ; e9 d4 4f 17217 17233 jmp_call_ret_int13_out: ; 0xfec7a LB 0x4a 17218 17234 db 0ffh … … 17223 17239 push cx ; 51 17224 17240 push dx ; 52 17225 call 03 bdch ; e8 584f17241 call 03c22h ; e8 9e 4f 17226 17242 cmp AL, strict byte 000h ; 3c 00 17227 17243 je short 0ecbfh ; 74 37 17228 call 03 bf2h ; e8 674f17244 call 03c38h ; e8 ad 4f 17229 17245 pop dx ; 5a 17230 17246 push dx ; 52 … … 17251 17267 cld ; fc 17252 17268 push word [cs:0ec7ah] ; 2e ff 36 7a ec 17253 jmp near 042 15h ; e9 6a5517269 jmp near 0425bh ; e9 b0 55 17254 17270 and dl, 0e0h ; 80 e2 e0 17255 17271 db 03ah, 0c2h … … 17291 17307 jne short 0ecdeh ; 75 08 17292 17308 push word [cs:0ec7ah] ; 2e ff 36 7a ec 17293 jmp near 032 0fh ; e9 314517309 jmp near 0322dh ; e9 4f 45 17294 17310 int13_notfloppy: ; 0xfecde LB 0x14 17295 17311 cmp dl, 0e0h ; 80 fa e0 … … 17297 17313 shr ebx, 010h ; 66 c1 eb 10 17298 17314 push bx ; 53 17299 call 046 68h ; e8 7d5917315 call 046aeh ; e8 c3 59 17300 17316 pop bx ; 5b 17301 17317 sal ebx, 010h ; 66 c1 e3 10 … … 17304 17320 cmp ah, 040h ; 80 fc 40 17305 17321 jnbe short 0ecfch ; 77 05 17306 call 05 bf4h ; e8 fa 6e17322 call 05c3ah ; e8 40 6f 17307 17323 jmp short 0ecffh ; eb 03 17308 call 060 3ah ; e8 3b7317324 call 06080h ; e8 81 73 17309 17325 int13_out: ; 0xfecff LB 0xb 17310 17326 pop DS ; 1f … … 17540 17556 pop DS ; 1f 17541 17557 cld ; fc 17542 call 078 4ah ; e8 668817558 call 07890h ; e8 ac 88 17543 17559 pop di ; 5f 17544 17560 pop si ; 5e … … 17598 17614 mov ax, strict word 00001h ; b8 01 00 17599 17615 push ax ; 50 17600 call 04d 07h ; e8 375c17616 call 04d4dh ; e8 7d 5c 17601 17617 inc sp ; 44 17602 17618 inc sp ; 44 … … 17605 17621 mov ax, strict word 00002h ; b8 02 00 17606 17622 push ax ; 50 17607 call 04d 07h ; e8 2a5c17623 call 04d4dh ; e8 70 5c 17608 17624 inc sp ; 44 17609 17625 inc sp ; 44 … … 17612 17628 mov ax, strict word 00003h ; b8 03 00 17613 17629 push ax ; 50 17614 call 04d 07h ; e8 1d5c17630 call 04d4dh ; e8 63 5c 17615 17631 inc sp ; 44 17616 17632 inc sp ; 44 … … 17619 17635 mov ax, strict word 00004h ; b8 04 00 17620 17636 push ax ; 50 17621 call 04d 07h ; e8 105c17637 call 04d4dh ; e8 56 5c 17622 17638 inc sp ; 44 17623 17639 inc sp ; 44 … … 17922 17938 cmp ah, 0c2h ; 80 fc c2 17923 17939 je short 0f895h ; 74 15 17924 call 06 7bch ; e8 396f17940 call 06802h ; e8 7f 6f 17925 17941 pop di ; 5f 17926 17942 pop si ; 5e … … 17935 17951 popfw ; 9d 17936 17952 jmp short 0f8afh ; eb 1f 17937 call 09a abh ; e8 18a217953 call 09af1h ; e8 5e a2 17938 17954 jmp short 0f883h ; eb ee 17939 17955 int15_handler_mouse: ; 0xff895 LB 0x5 17940 call 074 aah ; e8 127c17956 call 074f0h ; e8 58 7c 17941 17957 jmp short 0f883h ; eb e9 17942 17958 int15_handler32: ; 0xff89a LB 0x15 … … 17949 17965 push si ; 56 17950 17966 push di ; 57 17951 call 06 affh ; e8 5a7217967 call 06b45h ; e8 a0 72 17952 17968 pop di ; 5f 17953 17969 pop si ; 5e … … 17995 18011 pop DS ; 1f 17996 18012 cld ; fc 17997 call 07 3d8h ; e8 fd 7a18013 call 0741eh ; e8 43 7b 17998 18014 pop cx ; 59 17999 18015 jcxz 0f8ebh ; e3 0d … … 18043 18059 pop DS ; 1f 18044 18060 cld ; fc 18045 call 070 75h ; e8 567718061 call 070bbh ; e8 9c 77 18046 18062 pop di ; 5f 18047 18063 pop si ; 5e … … 18146 18162 pop DS ; 1f 18147 18163 cld ; fc 18148 call 071 34h ; e8 b67218164 call 0717ah ; e8 fc 72 18149 18165 pop di ; 5f 18150 18166 pop si ; 5e … … 18258 18274 cpu_reset: ; 0xffff0 LB 0x10 18259 18275 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 18260 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 0 4bh18276 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 037h -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.md5sum
r62178 r62406 1 054d96b31388917aaa057b74cc4153b3*VBoxPcBios8086.rom1 330a9aa8398ed5ec4c2d8ab184d0b782 *VBoxPcBios8086.rom
Note:
See TracChangeset
for help on using the changeset viewer.