Changeset 62406 in vbox for trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.asm
- Timestamp:
- Jul 21, 2016 3:34:39 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note:
See TracChangeset
for help on using the changeset viewer.