Changeset 62120 in vbox for trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.asm
- Timestamp:
- Jul 7, 2016 4:58:51 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 108606
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.asm
r61733 r62120 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 7dh, 081h, 018h, 091h990 db 000h, 000h, 000h, 000h, 000h, 000h, 0a1h, 02bh, 082h, 081h, 01dh, 091h 991 991 _softrst: ; 0xf0076 LB 0xc 992 992 db 000h, 000h, 000h, 000h, 000h, 000h, 02ch, 02eh, 0bdh, 03bh, 0bdh, 03bh 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 abh, 07fh, 094h, 080h, 0e6h, 08fh, 090h, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h995 db 0b0h, 07fh, 099h, 080h, 0ebh, 08fh, 095h, 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 … … 1114 1114 db 'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h 1115 1115 1116 section CONST2 progbits vstart=0xd8e align=1 ; size=0x 400class=DATA group=DGROUP1117 _bios_cvs_version_string: ; 0xf0d8e LB 0x1 81118 db 'VirtualBox 5.1.0_ BETA3', 000h, 000h1119 _bios_prefix_string: ; 0xf0da 6LB 0x81116 section CONST2 progbits vstart=0xd8e align=1 ; size=0x3fe class=DATA group=DGROUP 1117 _bios_cvs_version_string: ; 0xf0d8e LB 0x16 1118 db 'VirtualBox 5.1.0_RC1', 000h, 000h 1119 _bios_prefix_string: ; 0xf0da4 LB 0x8 1120 1120 db 'BIOS: ', 000h, 000h 1121 _isotag: ; 0xf0da eLB 0x61121 _isotag: ; 0xf0dac LB 0x6 1122 1122 db 'CD001', 000h 1123 _eltorito: ; 0xf0db 4LB 0x181123 _eltorito: ; 0xf0db2 LB 0x18 1124 1124 db 'EL TORITO SPECIFICATION', 000h 1125 _drivetypes: ; 0xf0dc cLB 0x281125 _drivetypes: ; 0xf0dca LB 0x28 1126 1126 db 046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h 1127 1127 db 069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h 1128 1128 db 04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1129 _scan_to_scanascii: ; 0xf0df 4LB 0x37a1129 _scan_to_scanascii: ; 0xf0df2 LB 0x37a 1130 1130 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h 1131 1131 db 000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h … … 1184 1184 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h 1185 1185 db 000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h 1186 _panic_msg_keyb_buffer_full: ; 0xf116 eLB 0x201186 _panic_msg_keyb_buffer_full: ; 0xf116c LB 0x20 1187 1187 db '%s: keyboard input buffer full', 00ah, 000h 1188 1188 1189 ; Padding 0x47 2 bytes at 0xf118e1190 times 11 38db 01189 ; Padding 0x474 bytes at 0xf118c 1190 times 1140 db 0 1191 1191 1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8d 88 class=CODE group=AUTO1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8d98 class=CODE group=AUTO 1193 1193 rom_scan_: ; 0xf1600 LB 0x52 1194 1194 push bp ; 55 … … 1418 1418 push bp ; 55 1419 1419 mov bp, sp ; 89 e5 1420 mov bx, 00da 6h ; bb a60d1420 mov bx, 00da4h ; bb a4 0d 1421 1421 mov cx, ds ; 8c d9 1422 1422 mov ax, strict word 00004h ; b8 04 00 … … 1450 1450 int 010h ; cd 10 1451 1451 jmp short 017c3h ; eb 03 1452 call 07b 4fh ; e8 8c631452 call 07b54h ; e8 91 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 20h ; e8 43 871598 call 0a030h ; e8 53 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 50h ; e8 38 851835 call 0a060h ; e8 48 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 50h ; e8 be 802296 call 0a060h ; e8 ce 80 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 50h ; e8 9e 802306 call 0a060h ; e8 ae 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 50h ; e8 4b 802338 call 0a060h ; e8 5b 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 50h ; e8 2d 802347 call 0a060h ; e8 3d 80 2348 2348 mov bl, dl ; 88 d3 2349 2349 and bl, 00fh ; 80 e3 0f … … 2742 2742 lea ax, [bp-03eh] ; 8d 46 c2 2743 2743 call 05b09h ; e8 08 37 2744 mov bx, 00da 6h ; bb a60d2744 mov bx, 00da4h ; bb a4 0d 2745 2745 mov cx, ds ; 8c d9 2746 2746 mov ax, strict word 00004h ; b8 04 00 … … 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 50h ; e8 51 7a2925 call 0a060h ; e8 61 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 50h ; e8 74 773217 call 0a060h ; e8 84 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 50h ; e8 5d 773225 call 0a060h ; e8 6d 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 50h ; e8 09 773259 call 0a060h ; e8 19 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 50h ; e8 f4 763266 call 0a060h ; e8 04 77 3267 3267 mov word [bp-022h], dx ; 89 56 de 3268 3268 mov ax, dx ; 89 d0 … … 3531 3531 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 3532 3532 jne short 02bf6h ; 75 23 3533 mov bx, 00da 6h ; bb a60d3533 mov bx, 00da4h ; bb a4 0d 3534 3534 mov cx, ds ; 8c d9 3535 3535 mov ax, strict word 00004h ; b8 04 00 … … 4414 4414 cmp ch, 048h ; 80 fd 48 4415 4415 jbe short 03383h ; 76 31 4416 mov bx, 00da 6h ; bb a60d4416 mov bx, 00da4h ; bb a4 0d 4417 4417 mov cx, ds ; 8c d9 4418 4418 mov ax, strict word 00004h ; b8 04 00 … … 5276 5276 mov word [bp+008h], ax ; 89 46 08 5277 5277 jmp near 039f3h ; e9 8e fe 5278 mov bx, 00da 6h ; bb a60d5278 mov bx, 00da4h ; bb a4 0d 5279 5279 mov cx, ds ; 8c d9 5280 5280 mov ax, strict word 00004h ; b8 04 00 … … 5378 5378 cmp ax, strict word 0004ah ; 3d 4a 00 5379 5379 jne short 03c57h ; 75 23 5380 mov bx, 00da 6h ; bb a60d5380 mov bx, 00da4h ; bb a4 0d 5381 5381 mov cx, ds ; 8c d9 5382 5382 mov ax, strict word 00004h ; b8 04 00 … … 5486 5486 pop bp ; 5d 5487 5487 retn ; c3 5488 mov bx, 00da 6h ; bb a60d5488 mov bx, 00da4h ; bb a4 0d 5489 5489 mov cx, ds ; 8c d9 5490 5490 mov ax, strict word 00004h ; b8 04 00 … … 5574 5574 mov dx, ss ; 8c d2 5575 5575 lea ax, [bp-026h] ; 8d 46 da 5576 call 0a0 70h ; e8 3e 625576 call 0a080h ; e8 4e 62 5577 5577 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 5578 5578 mov ax, strict word 00011h ; b8 11 00 … … 5637 5637 jnc short 03ee0h ; 73 10 5638 5638 mov al, byte [bp+di-00825h] ; 8a 83 db f7 5639 cmp al, byte [di+00da eh] ; 3a 85 ae0d5639 cmp al, byte [di+00dach] ; 3a 85 ac 0d 5640 5640 je short 03ecah ; 74 f0 5641 5641 mov ax, strict word 00005h ; b8 05 00 … … 5647 5647 jnc short 03efah ; 73 10 5648 5648 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 5649 cmp al, byte [di+00db 4h] ; 3a 85 b40d5649 cmp al, byte [di+00db2h] ; 3a 85 b2 0d 5650 5650 je short 03ee4h ; 74 f0 5651 5651 mov ax, strict word 00006h ; b8 06 00 … … 5948 5948 cmp ax, dx ; 39 d0 5949 5949 je short 04296h ; 74 2a 5950 mov bx, 00da 6h ; bb a60d5950 mov bx, 00da4h ; bb a4 0d 5951 5951 mov cx, ds ; 8c d9 5952 5952 mov ax, strict word 00004h ; b8 04 00 … … 6066 6066 xor dl, dl ; 30 d2 6067 6067 xor cx, cx ; 31 c9 6068 call 0a0 00h ; e8 5a 5c6068 call 0a010h ; e8 6a 5c 6069 6069 xor bx, bx ; 31 db 6070 6070 add ax, si ; 01 f0 … … 6072 6072 mov bx, di ; 89 fb 6073 6073 xor cx, cx ; 31 c9 6074 call 0a0 00h ; e8 4d 5c6074 call 0a010h ; e8 5d 5c 6075 6075 mov bx, ax ; 89 c3 6076 6076 mov ax, word [bp-00ah] ; 8b 46 f6 … … 6107 6107 mov dx, ss ; 8c d2 6108 6108 lea ax, [bp-030h] ; 8d 46 d0 6109 call 0a0 70h ; e8 66 5c6109 call 0a080h ; e8 76 5c 6110 6110 mov word [bp-030h], strict word 00028h ; c7 46 d0 28 00 6111 6111 mov ax, word [bp-00eh] ; 8b 46 f2 … … 6177 6177 test al, al ; 84 c0 6178 6178 je short 044fbh ; 74 38 6179 mov bx, 00da 6h ; bb a60d6179 mov bx, 00da4h ; bb a4 0d 6180 6180 mov cx, ds ; 8c d9 6181 6181 mov ax, strict word 00004h ; b8 04 00 … … 6279 6279 mov word [bp+016h], bx ; 89 5e 16 6280 6280 jmp near 044ffh ; e9 33 ff 6281 mov bx, 00da 6h ; bb a60d6281 mov bx, 00da4h ; bb a4 0d 6282 6282 mov cx, ds ; 8c d9 6283 6283 mov ax, strict word 00004h ; b8 04 00 … … 6403 6403 mov word [bp+016h], strict word 00007h ; c7 46 16 07 00 6404 6404 jmp near 04b9ah ; e9 49 04 6405 mov bx, 00da 6h ; bb a60d6405 mov bx, 00da4h ; bb a4 0d 6406 6406 mov cx, ds ; 8c d9 6407 6407 mov ax, strict word 00004h ; b8 04 00 … … 6461 6461 mov dx, ss ; 8c d2 6462 6462 lea ax, [bp-02eh] ; 8d 46 d2 6463 call 0a0 70h ; e8 7e 586463 call 0a080h ; e8 8e 58 6464 6464 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 6465 6465 mov ax, word [bp-014h] ; 8b 46 ec … … 6518 6518 cmp byte [bp-016h], 000h ; 80 7e ea 00 6519 6519 je short 048deh ; 74 57 6520 mov bx, 00da 6h ; bb a60d6520 mov bx, 00da4h ; bb a4 0d 6521 6521 mov cx, ds ; 8c d9 6522 6522 mov ax, strict word 00004h ; b8 04 00 … … 6828 6828 je short 04c38h ; 74 27 6829 6829 mov dx, strict word 00001h ; ba 01 00 6830 mov bx, 00da 6h ; bb a60d6830 mov bx, 00da4h ; bb a4 0d 6831 6831 mov cx, ds ; 8c d9 6832 6832 mov ax, strict word 00004h ; b8 04 00 … … 6835 6835 mov dx, strict word 0000ah ; ba 0a 00 6836 6836 imul dx ; f7 ea 6837 add ax, 00dc ch ; 05 cc0d6837 add ax, 00dcah ; 05 ca 0d 6838 6838 push ax ; 50 6839 6839 mov ax, 00494h ; b8 94 04 … … 6858 6858 test al, al ; 84 c0 6859 6859 je short 04c70h ; 74 1f 6860 mov bx, 00da 6h ; bb a60d6860 mov bx, 00da4h ; bb a4 0d 6861 6861 mov cx, ds ; 8c d9 6862 6862 mov ax, strict word 00004h ; b8 04 00 6863 6863 call 01933h ; e8 d7 cc 6864 mov cx, 00d e0h ; b9 e00d6864 mov cx, 00ddeh ; b9 de 0d 6865 6865 push cx ; 51 6866 6866 mov cx, 004a8h ; b9 a8 04 … … 6873 6873 test dl, dl ; 84 d2 6874 6874 je short 04c84h ; 74 10 6875 mov bx, 00da 6h ; bb a60d6875 mov bx, 00da4h ; bb a4 0d 6876 6876 mov cx, ds ; 8c d9 6877 6877 mov ax, strict word 00004h ; b8 04 00 6878 6878 call 01933h ; e8 b4 cc 6879 mov cx, 00de ah ; b9 ea0d6879 mov cx, 00de8h ; b9 e8 0d 6880 6880 jmp short 04c5fh ; eb db 6881 6881 test bl, 080h ; f6 c3 80 6882 6882 je short 04c9ah ; 74 11 6883 mov bx, 00da 6h ; bb a60d6883 mov bx, 00da4h ; bb a4 0d 6884 6884 mov cx, ds ; 8c d9 6885 6885 mov ax, strict word 00004h ; b8 04 00 6886 6886 call 01933h ; e8 9f cc 6887 6887 push si ; 56 6888 mov cx, 00dd 6h ; b9 d60d6888 mov cx, 00dd4h ; b9 d4 0d 6889 6889 jmp short 04ca9h ; eb 0f 6890 mov bx, 00da 6h ; bb a60d6890 mov bx, 00da4h ; bb a4 0d 6891 6891 mov cx, ds ; 8c d9 6892 6892 mov ax, strict word 00004h ; b8 04 00 6893 6893 call 01933h ; e8 8e cc 6894 6894 push si ; 56 6895 mov cx, 00dc ch ; b9 cc0d6895 mov cx, 00dcah ; b9 ca 0d 6896 6896 push cx ; 51 6897 6897 mov cx, 004bdh ; b9 bd 04 … … 6924 6924 push dx ; 52 6925 6925 mov dx, ax ; 89 c2 6926 mov bx, 00da 6h ; bb a60d6926 mov bx, 00da4h ; bb a4 0d 6927 6927 mov cx, ds ; 8c d9 6928 6928 mov ax, strict word 00004h ; b8 04 00 … … 6993 6993 mov CL, strict byte 004h ; b1 04 6994 6994 sar ax, CL ; d3 f8 6995 call 07d 8fh ; e8 07306995 call 07d94h ; e8 0c 30 6996 6996 cmp byte [bp+004h], 002h ; 80 7e 04 02 6997 6997 jne short 04d93h ; 75 05 … … 7014 7014 mov byte [bp-008h], al ; 88 46 f8 7015 7015 mov byte [bp-00ah], al ; 88 46 f6 7016 mov bx, 00da 6h ; bb a60d7016 mov bx, 00da4h ; bb a4 0d 7017 7017 mov cx, ds ; 8c d9 7018 7018 mov ax, strict word 00004h ; b8 04 00 … … 7516 7516 out DX, AL ; ee 7517 7517 xor ax, ax ; 31 c0 7518 call 06 6ffh ; e8 ef147518 call 06704h ; e8 f4 14 7519 7519 mov sp, bp ; 89 ec 7520 7520 pop bp ; 5d … … 7616 7616 test al, al ; 84 c0 7617 7617 jne short 052dfh ; 75 1c 7618 mov bx, 00da 6h ; bb a60d7618 mov bx, 00da4h ; bb a4 0d 7619 7619 mov cx, ds ; 8c d9 7620 7620 mov ax, strict word 00004h ; b8 04 00 … … 7968 7968 cmp byte [bp-004h], 058h ; 80 7e fc 58 7969 7969 jbe short 05675h ; 76 22 7970 mov bx, 00da 6h ; bb a60d7970 mov bx, 00da4h ; bb a4 0d 7971 7971 mov cx, ds ; 8c d9 7972 7972 mov ax, strict word 00004h ; b8 04 00 … … 7990 7990 imul bx ; f7 eb 7991 7991 mov bx, ax ; 89 c3 7992 mov al, byte [bx+00df ah] ; 8a 87 fa0d7992 mov al, byte [bx+00df8h] ; 8a 87 f8 0d 7993 7993 mov byte [bp-012h], al ; 88 46 ee 7994 mov al, byte [bx+00df bh] ; 8a 87 fb0d7994 mov al, byte [bx+00df9h] ; 8a 87 f9 0d 7995 7995 jmp near 05748h ; e9 b2 00 7996 7996 test AL, strict byte 004h ; a8 04 … … 8001 8001 imul dx ; f7 ea 8002 8002 mov bx, ax ; 89 c3 8003 mov al, byte [bx+00df 8h] ; 8a 87 f80d8003 mov al, byte [bx+00df6h] ; 8a 87 f6 0d 8004 8004 mov byte [bp-012h], al ; 88 46 ee 8005 mov al, byte [bx+00df 9h] ; 8a 87 f90d8005 mov al, byte [bx+00df7h] ; 8a 87 f7 0d 8006 8006 jmp near 05748h ; e9 94 00 8007 8007 mov al, byte [bp-010h] ; 8a 46 f0 … … 8027 8027 imul dx ; f7 ea 8028 8028 mov bx, ax ; 89 c3 8029 mov al, byte [bx+00df ch] ; 8a 87 fc0d8029 mov al, byte [bx+00dfah] ; 8a 87 fa 0d 8030 8030 xor ah, ah ; 30 e4 8031 8031 mov dx, ax ; 89 c2 … … 8033 8033 test ax, dx ; 85 d0 8034 8034 je short 05705h ; 74 0d 8035 mov al, byte [bx+00df2h] ; 8a 87 f2 0d 8036 mov byte [bp-012h], al ; 88 46 ee 8037 mov al, byte [bx+00df3h] ; 8a 87 f3 0d 8038 jmp short 05710h ; eb 0b 8035 8039 mov al, byte [bx+00df4h] ; 8a 87 f4 0d 8036 8040 mov byte [bp-012h], al ; 88 46 ee 8037 8041 mov al, byte [bx+00df5h] ; 8a 87 f5 0d 8038 jmp short 05710h ; eb 0b8039 mov al, byte [bx+00df6h] ; 8a 87 f6 0d8040 mov byte [bp-012h], al ; 88 46 ee8041 mov al, byte [bx+00df7h] ; 8a 87 f7 0d8042 8042 mov byte [bp-004h], al ; 88 46 fc 8043 8043 jmp short 0574bh ; eb 36 … … 8047 8047 imul bx ; f7 eb 8048 8048 mov bx, ax ; 89 c3 8049 mov al, byte [bx+00df ch] ; 8a 87 fc0d8049 mov al, byte [bx+00dfah] ; 8a 87 fa 0d 8050 8050 xor ah, ah ; 30 e4 8051 8051 mov dx, ax ; 89 c2 … … 8053 8053 test ax, dx ; 85 d0 8054 8054 je short 0573dh ; 74 0d 8055 mov al, byte [bx+00df6h] ; 8a 87 f6 0d8056 mov byte [bp-012h], al ; 88 46 ee8057 mov al, byte [bx+00df7h] ; 8a 87 f7 0d8058 jmp short 05748h ; eb 0b8059 8055 mov al, byte [bx+00df4h] ; 8a 87 f4 0d 8060 8056 mov byte [bp-012h], al ; 88 46 ee 8061 8057 mov al, byte [bx+00df5h] ; 8a 87 f5 0d 8058 jmp short 05748h ; eb 0b 8059 mov al, byte [bx+00df2h] ; 8a 87 f2 0d 8060 mov byte [bp-012h], al ; 88 46 ee 8061 mov al, byte [bx+00df3h] ; 8a 87 f3 0d 8062 8062 mov byte [bp-004h], al ; 88 46 fc 8063 8063 cmp byte [bp-004h], 000h ; 80 7e fc 00 … … 8065 8065 cmp byte [bp-012h], 000h ; 80 7e ee 00 8066 8066 jne short 05770h ; 75 19 8067 mov bx, 00da 6h ; bb a60d8067 mov bx, 00da4h ; bb a4 0d 8068 8068 mov cx, ds ; 8c d9 8069 8069 mov ax, strict word 00004h ; b8 04 00 … … 8269 8269 mov word [bp+012h], ax ; 89 46 12 8270 8270 jmp near 05963h ; e9 4a 00 8271 mov bx, 00da 6h ; bb a60d8271 mov bx, 00da4h ; bb a4 0d 8272 8272 mov cx, ds ; 8c d9 8273 8273 mov ax, strict word 00004h ; b8 04 00 … … 8283 8283 call 01976h ; e8 3f c0 8284 8284 add sp, strict byte 00006h ; 83 c4 06 8285 mov bx, 00da 6h ; bb a60d8285 mov bx, 00da4h ; bb a4 0d 8286 8286 mov cx, ds ; 8c d9 8287 8287 mov ax, strict word 00004h ; b8 04 00 … … 8495 8495 mov dx, word [bp+00ch] ; 8b 56 0c 8496 8496 mov si, strict word 00020h ; be 20 00 8497 call 0a0 50h ; e8 18 458497 call 0a060h ; e8 28 45 8498 8498 test ax, ax ; 85 c0 8499 8499 jne short 05b48h ; 75 0c … … 8533 8533 mov bx, strict word 0003fh ; bb 3f 00 8534 8534 xor cx, cx ; 31 c9 8535 call 0a0 00h ; e8 6f 448535 call 0a010h ; e8 7f 44 8536 8536 mov bx, ax ; 89 c3 8537 8537 mov cx, dx ; 89 d1 8538 8538 mov ax, word [bp-004h] ; 8b 46 fc 8539 8539 mov dx, si ; 89 f2 8540 call 0a0 20h ; e8 83 448540 call 0a030h ; e8 93 44 8541 8541 mov word [es:di+002h], ax ; 26 89 45 02 8542 8542 cmp ax, 00400h ; 3d 00 04 … … 8677 8677 test ax, ax ; 85 c0 8678 8678 jne short 05d14h ; 75 29 8679 mov bx, 00da 6h ; bb a60d8679 mov bx, 00da4h ; bb a4 0d 8680 8680 mov cx, ds ; 8c d9 8681 8681 mov ax, strict word 00004h ; b8 04 00 … … 8711 8711 cmp di, dx ; 39 d7 8712 8712 jbe short 05d73h ; 76 31 8713 mov bx, 00da 6h ; bb a60d8713 mov bx, 00da4h ; bb a4 0d 8714 8714 mov cx, ds ; 8c d9 8715 8715 mov ax, strict word 00004h ; b8 04 00 … … 8755 8755 mov bx, cx ; 89 cb 8756 8756 xor cx, cx ; 31 c9 8757 call 0a0 00h ; e8 4e 428757 call 0a010h ; e8 5e 42 8758 8758 xor bx, bx ; 31 db 8759 8759 add ax, word [bp-00ch] ; 03 46 f4 … … 8761 8761 mov bx, word [bp-010h] ; 8b 5e f0 8762 8762 xor cx, cx ; 31 c9 8763 call 0a0 00h ; e8 3f 428763 call 0a010h ; e8 4f 42 8764 8764 xor bx, bx ; 31 db 8765 8765 add ax, di ; 01 f8 … … 8819 8819 test dl, dl ; 84 d2 8820 8820 je short 05ebch ; 74 4a 8821 mov bx, 00da 6h ; bb a60d8821 mov bx, 00da4h ; bb a4 0d 8822 8822 mov cx, ds ; 8c d9 8823 8823 mov ax, strict word 00004h ; b8 04 00 … … 8840 8840 or ah, 00ch ; 80 cc 0c 8841 8841 jmp near 06002h ; e9 5f 01 8842 mov bx, 00da 6h ; bb a60d8842 mov bx, 00da4h ; bb a4 0d 8843 8843 mov cx, ds ; 8c d9 8844 8844 mov ax, strict word 00004h ; b8 04 00 … … 8935 8935 mov bx, word [bp-00ch] ; 8b 5e f4 8936 8936 xor cx, cx ; 31 c9 8937 call 0a0 00h ; e8 68 408937 call 0a010h ; e8 78 40 8938 8938 mov bx, di ; 89 fb 8939 8939 xor cx, cx ; 31 c9 8940 call 0a0 00h ; e8 61 408940 call 0a010h ; e8 71 40 8941 8941 mov word [bp-008h], ax ; 89 46 f8 8942 8942 mov word [bp-006h], dx ; 89 56 fa … … 8948 8948 mov word [bp+016h], ax ; 89 46 16 8949 8949 jmp near 05ec0h ; e9 07 ff 8950 mov bx, 00da 6h ; bb a60d8950 mov bx, 00da4h ; bb a4 0d 8951 8951 mov cx, ds ; 8c d9 8952 8952 mov ax, strict word 00004h ; b8 04 00 … … 8964 8964 add sp, strict byte 00008h ; 83 c4 08 8965 8965 jmp near 05ebch ; e9 dd fe 8966 mov bx, 00da 6h ; bb a60d8966 mov bx, 00da4h ; bb a4 0d 8967 8967 mov cx, ds ; 8c d9 8968 8968 mov ax, strict word 00004h ; b8 04 00 … … 9078 9078 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 9079 9079 jmp near 0651dh ; e9 31 04 9080 mov bx, 00da 6h ; bb a60d9080 mov bx, 00da4h ; bb a4 0d 9081 9081 mov cx, ds ; 8c d9 9082 9082 mov ax, strict word 00004h ; b8 04 00 … … 9104 9104 xor bx, bx ; 31 db 9105 9105 mov si, strict word 00020h ; be 20 00 9106 call 0a0 60h ; e8 26 3f9106 call 0a070h ; e8 36 3f 9107 9107 mov word [bp-00eh], ax ; 89 46 f2 9108 9108 mov word [bp-010h], bx ; 89 5e f0 … … 9134 9134 cmp si, word [es:bx+036h] ; 26 3b 77 36 9135 9135 jc short 061b2h ; 72 26 9136 mov bx, 00da 6h ; bb a60d9136 mov bx, 00da4h ; bb a4 0d 9137 9137 mov cx, ds ; 8c d9 9138 9138 mov ax, strict word 00004h ; b8 04 00 … … 9196 9196 test dl, dl ; 84 d2 9197 9197 je short 062a0h ; 74 54 9198 mov bx, 00da 6h ; bb a60d9198 mov bx, 00da4h ; bb a4 0d 9199 9199 mov cx, ds ; 8c d9 9200 9200 mov ax, strict word 00004h ; b8 04 00 … … 9269 9269 mov dx, si ; 89 f2 9270 9270 mov si, strict word 00020h ; be 20 00 9271 call 0a0 50h ; e8 1f 3d9271 call 0a060h ; e8 2f 3d 9272 9272 mov bx, di ; 89 fb 9273 9273 mov word [es:bx+014h], dx ; 26 89 57 14 … … 9456 9456 or byte [bp+01ch], 001h ; 80 4e 1c 01 9457 9457 jmp short 0652ch ; eb c7 9458 _int14_function: ; 0xf6565 LB 0x15 79458 _int14_function: ; 0xf6565 LB 0x15c 9459 9459 push bp ; 55 9460 9460 mov bp, sp ; 89 e5 … … 9476 9476 test si, si ; 85 f6 9477 9477 jnbe short 06594h ; 77 03 9478 jmp near 066b 2h ; e9 1e019478 jmp near 066b7h ; e9 23 01 9479 9479 mov al, byte [bp+013h] ; 8a 46 13 9480 9480 cmp AL, strict byte 001h ; 3c 01 9481 9481 jc short 065a8h ; 72 0d 9482 jbe short 0660 3h ; 76 669482 jbe short 06608h ; 76 6b 9483 9483 cmp AL, strict byte 003h ; 3c 03 9484 je short 06 5fbh ; 74 5a9484 je short 06600h ; 74 5f 9485 9485 cmp AL, strict byte 002h ; 3c 02 9486 je short 06 5feh ; 74 599487 jmp near 066 ach ; e9 04019486 je short 06603h ; 74 5e 9487 jmp near 066b1h ; e9 09 01 9488 9488 test al, al ; 84 c0 9489 jne short 0660 0h ; 75 549489 jne short 06605h ; 75 59 9490 9490 lea dx, [bx+003h] ; 8d 57 03 9491 9491 in AL, DX ; ec … … 9494 9494 or AL, strict byte 080h ; 0c 80 9495 9495 out DX, AL ; ee 9496 lea si, [bx+001h] ; 8d 77 01 9496 9497 mov al, byte [bp+012h] ; 8a 46 12 9498 test AL, strict byte 0e0h ; a8 e0 9499 jne short 065cbh ; 75 0c 9500 mov AL, strict byte 017h ; b0 17 9501 mov dx, bx ; 89 da 9502 out DX, AL ; ee 9503 mov AL, strict byte 004h ; b0 04 9504 mov dx, si ; 89 f2 9505 out DX, AL ; ee 9506 jmp short 065e2h ; eb 17 9497 9507 and AL, strict byte 0e0h ; 24 e0 9498 9508 xor ah, ah ; 30 e4 … … 9505 9515 out DX, AL ; ee 9506 9516 mov al, ah ; 88 e0 9507 lea dx, [bx+001h] ; 8d 57 019517 mov dx, si ; 89 f2 9508 9518 out DX, AL ; ee 9509 9519 mov al, byte [bp+012h] ; 8a 46 12 … … 9521 9531 ; sub ah, ah ; 2a e4 9522 9532 mov byte [bp+012h], al ; 88 46 12 9523 jmp near 0668dh ; e9 9f 00 9524 mov AL, strict byte 017h ; b0 17 9525 mov dx, bx ; 89 da 9526 out DX, AL ; ee 9527 lea dx, [bx+001h] ; 8d 57 01 9528 mov AL, strict byte 004h ; b0 04 9529 out DX, AL ; ee 9530 jmp short 065d0h ; eb d5 9531 jmp near 0669bh ; e9 9d 00 9532 jmp short 06651h ; eb 51 9533 jmp near 066ach ; e9 a9 00 9533 jmp near 06692h ; e9 92 00 9534 jmp near 066a0h ; e9 9d 00 9535 jmp short 06656h ; eb 51 9536 jmp near 066b1h ; e9 a9 00 9534 9537 mov dx, strict word 0006ch ; ba 6c 00 9535 9538 mov ax, strict word 00040h ; b8 40 00 9536 call 0166eh ; e8 62b09539 call 0166eh ; e8 5d b0 9537 9540 mov si, ax ; 89 c6 9538 9541 lea dx, [bx+005h] ; 8d 57 05 … … 9542 9545 and ax, strict word 00060h ; 25 60 00 9543 9546 cmp ax, strict word 00060h ; 3d 60 00 9544 je short 0663 3h ; 74 179547 je short 06638h ; 74 17 9545 9548 test cl, cl ; 84 c9 9546 je short 0663 3h ; 74 139549 je short 06638h ; 74 13 9547 9550 mov dx, strict word 0006ch ; ba 6c 00 9548 9551 mov ax, strict word 00040h ; b8 40 00 9549 call 0166eh ; e8 4 5b09552 call 0166eh ; e8 40 b0 9550 9553 cmp ax, si ; 39 f0 9551 je short 066 0eh ; 74 e19554 je short 06613h ; 74 e1 9552 9555 mov si, ax ; 89 c6 9553 9556 db 0feh, 0c9h 9554 9557 ; dec cl ; fe c9 9555 jmp short 066 0eh ; eb db9558 jmp short 06613h ; eb db 9556 9559 test cl, cl ; 84 c9 9557 je short 066 3dh ; 74 069560 je short 06642h ; 74 06 9558 9561 mov al, byte [bp+012h] ; 8a 46 12 9559 9562 mov dx, bx ; 89 da … … 9565 9568 mov byte [bp+013h], al ; 88 46 13 9566 9569 test cl, cl ; 84 c9 9567 jne short 066 8dh ; 75 439570 jne short 06692h ; 75 43 9568 9571 or AL, strict byte 080h ; 0c 80 9569 9572 mov byte [bp+013h], al ; 88 46 13 9570 jmp short 066 8dh ; eb 3c9573 jmp short 06692h ; eb 3c 9571 9574 mov dx, strict word 0006ch ; ba 6c 00 9572 9575 mov ax, strict word 00040h ; b8 40 00 9573 call 0166eh ; e8 14b09576 call 0166eh ; e8 0f b0 9574 9577 mov si, ax ; 89 c6 9575 9578 lea dx, [bx+005h] ; 8d 57 05 … … 9578 9581 ; sub ah, ah ; 2a e4 9579 9582 test AL, strict byte 001h ; a8 01 9580 jne short 066 7dh ; 75 179583 jne short 06682h ; 75 17 9581 9584 test cl, cl ; 84 c9 9582 je short 066 7dh ; 74 139585 je short 06682h ; 74 13 9583 9586 mov dx, strict word 0006ch ; ba 6c 00 9584 9587 mov ax, strict word 00040h ; b8 40 00 9585 call 0166eh ; e8 f baf9588 call 0166eh ; e8 f6 af 9586 9589 cmp ax, si ; 39 f0 9587 je short 066 5ch ; 74 e59590 je short 06661h ; 74 e5 9588 9591 mov si, ax ; 89 c6 9589 9592 db 0feh, 0c9h 9590 9593 ; dec cl ; fe c9 9591 jmp short 066 5ch ; eb df9594 jmp short 06661h ; eb df 9592 9595 test cl, cl ; 84 c9 9593 je short 0669 3h ; 74 129596 je short 06698h ; 74 12 9594 9597 mov byte [bp+013h], 000h ; c6 46 13 00 9595 9598 mov dx, bx ; 89 da … … 9599 9602 mov byte [bp+012h], al ; 88 46 12 9600 9603 and byte [bp+01ch], 0feh ; 80 66 1c fe 9601 jmp short 066b 6h ; eb 239604 jmp short 066bbh ; eb 23 9602 9605 lea dx, [bx+005h] ; 8d 57 05 9603 9606 in AL, DX ; ec 9604 9607 db 02ah, 0e4h 9605 9608 ; sub ah, ah ; 2a e4 9606 jmp short 066 4ch ; eb b19609 jmp short 06651h ; eb b1 9607 9610 lea dx, [si+005h] ; 8d 54 05 9608 9611 in AL, DX ; ec … … 9614 9617 db 02ah, 0e4h 9615 9618 ; sub ah, ah ; 2a e4 9616 jmp short 0668 ah ; eb de9619 jmp short 0668fh ; eb de 9617 9620 or byte [bp+01ch], 001h ; 80 4e 1c 01 9618 jmp short 066b 6h ; eb 049621 jmp short 066bbh ; eb 04 9619 9622 or byte [bp+01ch], 001h ; 80 4e 1c 01 9620 9623 lea sp, [bp-002h] ; 8d 66 fe … … 9622 9625 pop bp ; 5d 9623 9626 retn ; c3 9624 timer_wait_: ; 0xf66 bcLB 0x439627 timer_wait_: ; 0xf66c1 LB 0x43 9625 9628 push bp ; 55 9626 9629 mov bp, sp ; 89 e5 … … 9630 9633 mov bx, strict word 0000fh ; bb 0f 00 9631 9634 xor cx, cx ; 31 c9 9632 call 0a0 20h ; e8 56399635 call 0a030h ; e8 61 39 9633 9636 mov cx, ax ; 89 c1 9634 9637 mov bx, dx ; 89 d3 … … 9642 9645 adc bx, strict byte 0ffffh ; 83 d3 ff 9643 9646 cmp bx, strict byte 0ffffh ; 83 fb ff 9644 jne short 066e 9h ; 75 059647 jne short 066eeh ; 75 05 9645 9648 cmp cx, strict byte 0ffffh ; 83 f9 ff 9646 je short 066f 8h ; 74 0f9649 je short 066fdh ; 74 0f 9647 9650 mov dx, strict word 00061h ; ba 61 00 9648 9651 in AL, DX ; ec … … 9651 9654 and AL, strict byte 010h ; 24 10 9652 9655 cmp al, byte [bp-006h] ; 3a 46 fa 9653 jne short 066e 9h ; 75 f39654 jmp short 066d 9h ; eb e19656 jne short 066eeh ; 75 f3 9657 jmp short 066deh ; eb e1 9655 9658 lea sp, [bp-004h] ; 8d 66 fc 9656 9659 pop cx ; 59 … … 9658 9661 pop bp ; 5d 9659 9662 retn ; c3 9660 set_enable_a20_: ; 0xf6 6ffLB 0x309663 set_enable_a20_: ; 0xf6704 LB 0x30 9661 9664 push bp ; 55 9662 9665 mov bp, sp ; 89 e5 … … 9671 9674 mov cl, al ; 88 c1 9672 9675 test bx, bx ; 85 db 9673 je short 0671 8h ; 74 059676 je short 0671dh ; 74 05 9674 9677 or AL, strict byte 002h ; 0c 02 9675 9678 out DX, AL ; ee 9676 jmp short 067 1bh ; eb 039679 jmp short 06720h ; eb 03 9677 9680 and AL, strict byte 0fdh ; 24 fd 9678 9681 out DX, AL ; ee 9679 9682 test cl, 002h ; f6 c1 02 9680 je short 0672 5h ; 74 059683 je short 0672ah ; 74 05 9681 9684 mov ax, strict word 00001h ; b8 01 00 9682 jmp short 0672 7h ; eb 029685 jmp short 0672ch ; eb 02 9683 9686 xor ax, ax ; 31 c0 9684 9687 lea sp, [bp-006h] ; 8d 66 fa … … 9688 9691 pop bp ; 5d 9689 9692 retn ; c3 9690 set_e820_range_: ; 0xf67 2fLB 0x889693 set_e820_range_: ; 0xf6734 LB 0x88 9691 9694 push si ; 56 9692 9695 push bp ; 55 … … 9718 9721 retn 0000ah ; c2 0a 00 9719 9722 db 0ech, 0e9h, 0d8h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 083h, 052h, 04fh, 041h, 024h, 000h 9720 db 0c 4h, 06ah, 0f3h, 067h, 007h, 068h, 0a3h, 068h, 0a9h, 068h, 0aeh, 068h, 0b3h, 068h, 05bh, 069h9721 db 0 7fh, 069h, 09ch, 068h, 09ch, 068h, 049h, 06ah, 074h, 06ah, 087h, 06ah, 096h, 06ah, 0a3h, 068h9722 db 0 9fh, 06ah9723 _int15_function: ; 0xf67b 7LB 0x3439723 db 0c9h, 06ah, 0f8h, 067h, 00ch, 068h, 0a8h, 068h, 0aeh, 068h, 0b3h, 068h, 0b8h, 068h, 060h, 069h 9724 db 084h, 069h, 0a1h, 068h, 0a1h, 068h, 04eh, 06ah, 079h, 06ah, 08ch, 06ah, 09bh, 06ah, 0a8h, 068h 9725 db 0a4h, 06ah 9726 _int15_function: ; 0xf67bc LB 0x343 9724 9727 push bp ; 55 9725 9728 mov bp, sp ; 89 e5 … … 9730 9733 mov dx, ax ; 89 c2 9731 9734 cmp ax, 000ech ; 3d ec 00 9732 jnbe short 06 7fdh ; 77 359735 jnbe short 06802h ; 77 35 9733 9736 push CS ; 0e 9734 9737 pop ES ; 07 9735 9738 mov cx, strict word 00011h ; b9 11 00 9736 mov di, 0678 5h ; bf 85679739 mov di, 0678ah ; bf 8a 67 9737 9740 repne scasb ; f2 ae 9738 9741 sal cx, 1 ; d1 e1 9739 9742 mov di, cx ; 89 cf 9740 mov si, word [cs:di+0679 5h] ; 2e 8b b5 95679743 mov si, word [cs:di+0679ah] ; 2e 8b b5 9a 67 9741 9744 mov ax, word [bp+012h] ; 8b 46 12 9742 9745 xor ah, ah ; 30 e4 … … 9751 9754 xor ah, ah ; 30 e4 9752 9755 cmp ax, 000c0h ; 3d c0 00 9753 je short 0680 0h ; 74 039754 jmp near 06ac 4h ; e9 c4 029756 je short 06805h ; 74 03 9757 jmp near 06ac9h ; e9 c4 02 9755 9758 or byte [bp+018h], 001h ; 80 4e 18 01 9756 jmp near 06a 6bh ; e9 64 029759 jmp near 06a70h ; e9 64 02 9757 9760 mov dx, ax ; 89 c2 9758 9761 cmp ax, strict word 00001h ; 3d 01 00 9759 jc short 068 1ch ; 72 0e9760 jbe short 0683 0h ; 76 209762 jc short 06821h ; 72 0e 9763 jbe short 06835h ; 76 20 9761 9764 cmp ax, strict word 00003h ; 3d 03 00 9762 je short 0686 1h ; 74 4c9765 je short 06866h ; 74 4c 9763 9766 cmp ax, strict word 00002h ; 3d 02 00 9764 je short 0684 0h ; 74 269765 jmp short 068 6eh ; eb 529767 je short 06845h ; 74 26 9768 jmp short 06873h ; eb 52 9766 9769 test ax, ax ; 85 c0 9767 jne short 068 6eh ; 75 4e9770 jne short 06873h ; 75 4e 9768 9771 xor ax, ax ; 31 c0 9769 call 06 6ffh ; e8 da fe9772 call 06704h ; e8 da fe 9770 9773 and byte [bp+018h], 0feh ; 80 66 18 fe 9771 9774 mov byte [bp+013h], 000h ; c6 46 13 00 9772 jmp near 068 9ch ; e9 6c 009775 jmp near 068a1h ; e9 6c 00 9773 9776 mov ax, strict word 00001h ; b8 01 00 9774 call 06 6ffh ; e8 c9 fe9777 call 06704h ; e8 c9 fe 9775 9778 and byte [bp+018h], 0feh ; 80 66 18 fe 9776 9779 mov byte [bp+013h], dh ; 88 76 13 9777 jmp near 068 9ch ; e9 5c 009780 jmp near 068a1h ; e9 5c 00 9778 9781 mov dx, 00092h ; ba 92 00 9779 9782 in AL, DX ; ec … … 9789 9792 xor al, dl ; 30 d0 9790 9793 mov byte [bp+013h], al ; 88 46 13 9791 jmp near 068 9ch ; e9 3b 009794 jmp near 068a1h ; e9 3b 00 9792 9795 and byte [bp+018h], 0feh ; 80 66 18 fe 9793 9796 mov byte [bp+013h], ah ; 88 66 13 9794 9797 mov word [bp+00ch], ax ; 89 46 0c 9795 jmp near 068 9ch ; e9 2e 009796 mov bx, 00da 6h ; bb a60d9798 jmp near 068a1h ; e9 2e 00 9799 mov bx, 00da4h ; bb a4 0d 9797 9800 mov cx, ds ; 8c d9 9798 9801 mov ax, strict word 00004h ; b8 04 00 9799 call 01933h ; e8 b ab09802 call 01933h ; e8 b5 b0 9800 9803 mov ax, word [bp+012h] ; 8b 46 12 9801 9804 xor ah, ah ; 30 e4 … … 9805 9808 mov ax, strict word 00004h ; b8 04 00 9806 9809 push ax ; 50 9807 call 01976h ; e8 e cb09810 call 01976h ; e8 e7 b0 9808 9811 add sp, strict byte 00006h ; 83 c4 06 9809 9812 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9818 9821 retn ; c3 9819 9822 mov word [bp+018h], dx ; 89 56 18 9820 jmp near 0695 5h ; e9 ac 009823 jmp near 0695ah ; e9 ac 00 9821 9824 mov word [bp+018h], dx ; 89 56 18 9822 jmp short 068 9ch ; eb ee9825 jmp short 068a1h ; eb ee 9823 9826 mov word [bp+018h], cx ; 89 4e 18 9824 jmp short 0689 9h ; eb e69827 jmp short 0689eh ; eb e6 9825 9828 test byte [bp+012h], 0ffh ; f6 46 12 ff 9826 jne short 0692 8h ; 75 6f9829 jne short 0692dh ; 75 6f 9827 9830 mov dx, 000a0h ; ba a0 00 9828 9831 mov ax, strict word 00040h ; b8 40 00 9829 call 01652h ; e8 90ad9832 call 01652h ; e8 8b ad 9830 9833 test AL, strict byte 001h ; a8 01 9831 jne short 0692 5h ; 75 5f9834 jne short 0692ah ; 75 5f 9832 9835 mov bx, strict word 00001h ; bb 01 00 9833 9836 mov dx, 000a0h ; ba a0 00 9834 9837 mov ax, strict word 00040h ; b8 40 00 9835 call 01660h ; e8 8 ead9838 call 01660h ; e8 89 ad 9836 9839 mov bx, word [bp+014h] ; 8b 5e 14 9837 9840 mov dx, 00098h ; ba 98 00 9838 9841 mov ax, strict word 00040h ; b8 40 00 9839 call 0167ch ; e8 9 ead9842 call 0167ch ; e8 99 ad 9840 9843 mov bx, word [bp+00ch] ; 8b 5e 0c 9841 9844 mov dx, 0009ah ; ba 9a 00 9842 9845 mov ax, strict word 00040h ; b8 40 00 9843 call 0167ch ; e8 92ad9846 call 0167ch ; e8 8d ad 9844 9847 mov bx, word [bp+00eh] ; 8b 5e 0e 9845 9848 mov dx, 0009ch ; ba 9c 00 9846 9849 mov ax, strict word 00040h ; b8 40 00 9847 call 0167ch ; e8 8 6ad9850 call 0167ch ; e8 81 ad 9848 9851 mov bx, word [bp+010h] ; 8b 5e 10 9849 9852 mov dx, 0009eh ; ba 9e 00 9850 9853 mov ax, strict word 00040h ; b8 40 00 9851 call 0167ch ; e8 7 aad9854 call 0167ch ; e8 75 ad 9852 9855 and byte [bp+018h], 0feh ; 80 66 18 fe 9853 9856 mov dx, 000a1h ; ba a1 00 … … 9858 9861 out DX, AL ; ee 9859 9862 mov ax, strict word 0000bh ; b8 0b 00 9860 call 016aeh ; e8 9 9ad9863 call 016aeh ; e8 94 ad 9861 9864 mov dl, al ; 88 c2 9862 9865 or dl, 040h ; 80 ca 40 9863 9866 xor dh, dh ; 30 f6 9864 9867 mov ax, strict word 0000bh ; b8 0b 00 9865 call 016c9h ; e8 a 7ad9866 jmp near 068 9ch ; e9 77 ff9867 jmp near 06a6 2h ; e9 3a 019868 call 016c9h ; e8 a2 ad 9869 jmp near 068a1h ; e9 77 ff 9870 jmp near 06a67h ; e9 3a 01 9868 9871 cmp ax, strict word 00001h ; 3d 01 00 9869 jne short 0694 9h ; 75 1c9872 jne short 0694eh ; 75 1c 9870 9873 xor bx, bx ; 31 db 9871 9874 mov dx, 000a0h ; ba a0 00 9872 9875 mov ax, strict word 00040h ; b8 40 00 9873 call 01660h ; e8 2 8ad9876 call 01660h ; e8 23 ad 9874 9877 and byte [bp+018h], 0feh ; 80 66 18 fe 9875 9878 mov ax, strict word 0000bh ; b8 0b 00 9876 call 016aeh ; e8 6 cad9879 call 016aeh ; e8 67 ad 9877 9880 mov dl, al ; 88 c2 9878 9881 and dl, 0bfh ; 80 e2 bf 9879 jmp short 0691 ah ; eb d19882 jmp short 0691fh ; eb d1 9880 9883 mov word [bp+018h], dx ; 89 56 18 9881 9884 mov ax, bx ; 89 d8 … … 9885 9888 or bx, ax ; 09 c3 9886 9889 mov word [bp+012h], bx ; 89 5e 12 9887 jmp near 068 9ch ; e9 41 ff9890 jmp near 068a1h ; e9 41 ff 9888 9891 mov ax, strict word 00031h ; b8 31 00 9889 call 016aeh ; e8 4 dad9892 call 016aeh ; e8 48 ad 9890 9893 mov dh, al ; 88 c6 9891 9894 mov ax, strict word 00030h ; b8 30 00 9892 call 016aeh ; e8 4 5ad9895 call 016aeh ; e8 40 ad 9893 9896 mov dl, al ; 88 c2 9894 9897 mov word [bp+012h], dx ; 89 56 12 9895 9898 cmp dx, strict byte 0ffc0h ; 83 fa c0 9896 jbe short 0697 8h ; 76 059899 jbe short 0697dh ; 76 05 9897 9900 mov word [bp+012h], strict word 0ffc0h ; c7 46 12 c0 ff 9898 9901 and byte [bp+018h], 0feh ; 80 66 18 fe 9899 jmp near 068 9ch ; e9 1d ff9902 jmp near 068a1h ; e9 1d ff 9900 9903 cli ; fa 9901 9904 mov ax, strict word 00001h ; b8 01 00 9902 call 06 6ffh ; e8 79 fd9905 call 06704h ; e8 79 fd 9903 9906 mov dx, word [bp+006h] ; 8b 56 06 9904 9907 add dx, strict byte 00038h ; 83 c2 38 9905 9908 mov ax, word [bp+014h] ; 8b 46 14 9906 9909 mov bx, strict word 0ffffh ; bb ff ff 9907 call 0167ch ; e8 e 7ac9910 call 0167ch ; e8 e2 ac 9908 9911 mov dx, word [bp+006h] ; 8b 56 06 9909 9912 add dx, strict byte 0003ah ; 83 c2 3a 9910 9913 mov ax, word [bp+014h] ; 8b 46 14 9911 9914 xor bx, bx ; 31 db 9912 call 0167ch ; e8 d 9ac9915 call 0167ch ; e8 d4 ac 9913 9916 mov dx, word [bp+006h] ; 8b 56 06 9914 9917 add dx, strict byte 0003ch ; 83 c2 3c 9915 9918 mov ax, word [bp+014h] ; 8b 46 14 9916 9919 mov bx, strict word 0000fh ; bb 0f 00 9917 call 01660h ; e8 a eac9920 call 01660h ; e8 a9 ac 9918 9921 mov dx, word [bp+006h] ; 8b 56 06 9919 9922 add dx, strict byte 0003dh ; 83 c2 3d 9920 9923 mov ax, word [bp+014h] ; 8b 46 14 9921 9924 mov bx, 0009bh ; bb 9b 00 9922 call 01660h ; e8 9 fac9925 call 01660h ; e8 9a ac 9923 9926 mov dx, word [bp+006h] ; 8b 56 06 9924 9927 add dx, strict byte 0003eh ; 83 c2 3e 9925 9928 mov ax, word [bp+014h] ; 8b 46 14 9926 9929 xor bx, bx ; 31 db 9927 call 0167ch ; e8 a dac9930 call 0167ch ; e8 a8 ac 9928 9931 mov AL, strict byte 011h ; b0 11 9929 9932 mov dx, strict word 00020h ; ba 20 00 … … 9954 9957 out DX, AL ; ee 9955 9958 mov si, word [bp+006h] ; 8b 76 06 9956 call 06a 0dh ; e8 00 009959 call 06a12h ; e8 00 00 9957 9960 pop di ; 5f 9958 9961 add di, strict byte 00018h ; 83 c7 18 … … 9982 9985 push cx ; 51 9983 9986 retf ; cb 9984 jmp near 068 9ch ; e9 53 fe9985 mov bx, 00da 6h ; bb a60d9987 jmp near 068a1h ; e9 53 fe 9988 mov bx, 00da4h ; bb a4 0d 9986 9989 mov cx, ds ; 8c d9 9987 9990 mov ax, strict word 00004h ; b8 04 00 9988 call 01933h ; e8 d fae9991 call 01933h ; e8 da ae 9989 9992 mov ax, 0086eh ; b8 6e 08 9990 9993 push ax ; 50 9991 9994 mov ax, strict word 00004h ; b8 04 00 9992 9995 push ax ; 50 9993 call 01976h ; e8 1 7af9996 call 01976h ; e8 12 af 9994 9997 add sp, strict byte 00004h ; 83 c4 04 9995 9998 or byte [bp+018h], 001h ; 80 4e 18 01 … … 9998 10001 or ah, 086h ; 80 cc 86 9999 10002 mov word [bp+012h], ax ; 89 46 12 10000 jmp near 068 9ch ; e9 28 fe10003 jmp near 068a1h ; e9 28 fe 10001 10004 mov word [bp+018h], cx ; 89 4e 18 10002 10005 mov word [bp+012h], ax ; 89 46 12 10003 10006 mov word [bp+00ch], 0e6f5h ; c7 46 0c f5 e6 10004 10007 mov word [bp+014h], 0f000h ; c7 46 14 00 f0 10005 jmp near 068 9ch ; e9 15 fe10008 jmp near 068a1h ; e9 15 fe 10006 10009 mov dx, strict word 0000eh ; ba 0e 00 10007 10010 mov ax, strict word 00040h ; b8 40 00 10008 call 0166eh ; e8 d eab10011 call 0166eh ; e8 d9 ab 10009 10012 mov word [bp+014h], ax ; 89 46 14 10010 jmp near 0697 8h ; e9 e2 fe10013 jmp near 0697dh ; e9 e2 fe 10011 10014 mov ax, 0089dh ; b8 9d 08 10012 10015 push ax ; 50 10013 10016 mov ax, strict word 00008h ; b8 08 00 10014 jmp short 06a 5bh ; eb bc10017 jmp short 06a60h ; eb bc 10015 10018 test byte [bp+012h], 0ffh ; f6 46 12 ff 10016 jne short 06ac 4h ; 75 1f10019 jne short 06ac9h ; 75 1f 10017 10020 mov word [bp+012h], ax ; 89 46 12 10018 10021 mov ax, word [bp+00ch] ; 8b 46 0c 10019 10022 xor ah, ah ; 30 e4 10020 10023 cmp ax, strict word 00001h ; 3d 01 00 10021 jc short 06a bdh ; 72 0b10024 jc short 06ac2h ; 72 0b 10022 10025 cmp ax, strict word 00003h ; 3d 03 00 10023 jnbe short 06a bdh ; 77 0610026 jnbe short 06ac2h ; 77 06 10024 10027 mov word [bp+018h], cx ; 89 4e 18 10025 jmp near 068 9ch ; e9 df fd10028 jmp near 068a1h ; e9 df fd 10026 10029 or byte [bp+018h], 001h ; 80 4e 18 01 10027 jmp near 068 9ch ; e9 d8 fd10028 mov bx, 00da 6h ; bb a60d10030 jmp near 068a1h ; e9 d8 fd 10031 mov bx, 00da4h ; bb a4 0d 10029 10032 mov cx, ds ; 8c d9 10030 10033 mov ax, strict word 00004h ; b8 04 00 10031 call 01933h ; e8 64ae10034 call 01933h ; e8 5f ae 10032 10035 push word [bp+00ch] ; ff 76 0c 10033 10036 push word [bp+012h] ; ff 76 12 … … 10036 10039 mov ax, strict word 00004h ; b8 04 00 10037 10040 push ax ; 50 10038 call 01976h ; e8 9 6ae10041 call 01976h ; e8 91 ae 10039 10042 add sp, strict byte 00008h ; 83 c4 08 10040 jmp near 06a6 2h ; e9 7c ff10041 arpl [si-073h], bp ; 63 6c 8d10043 jmp near 06a67h ; e9 7c ff 10044 push 0926ch ; 68 6c 92 10042 10045 insb ; 6c 10043 in ax, 06ch ; e5 6c 10044 or ch, byte [di+02ah] ; 0a 6d 2a 10046 jmp far 02f6dh:00f6ch ; ea 6c 0f 6d 2f 10045 10047 insw ; 6d 10046 dec cx ; 4910048 dec si ; 4e 10047 10049 insw ; 6d 10048 outsw ; 6f 10049 insw ; 6d 10050 xchg bp, ax ; 95 10051 insw ; 6d 10052 shr byte [di+006h], CL ; d2 6d 06 10050 je short 06b66h ; 74 6d 10051 call far 00b6dh:0d76dh ; 9a 6d d7 6d 0b 10053 10052 outsb ; 6e 10054 _int15_function32: ; 0xf6af aLB 0x39e10053 _int15_function32: ; 0xf6aff LB 0x39e 10055 10054 push bp ; 55 10056 10055 mov bp, sp ; 89 e5 … … 10064 10063 xor dh, dh ; 30 f6 10065 10064 cmp ax, 000e8h ; 3d e8 00 10066 je short 06b6 0h ; 74 4a10065 je short 06b65h ; 74 4a 10067 10066 cmp ax, 000d0h ; 3d d0 00 10068 je short 06b 2dh ; 74 1210067 je short 06b32h ; 74 12 10069 10068 cmp ax, 00086h ; 3d 86 00 10070 jne short 06b 5eh ; 75 3e10069 jne short 06b63h ; 75 3e 10071 10070 sti ; fb 10072 10071 mov dx, word [bp+01ch] ; 8b 56 1c 10073 10072 mov ax, word [bp+018h] ; 8b 46 18 10074 call 066 bch ; e8 92 fb10075 jmp near 06c dfh ; e9 b2 0110073 call 066c1h ; e8 92 fb 10074 jmp near 06ce4h ; e9 b2 01 10076 10075 cmp dx, strict byte 0004fh ; 83 fa 4f 10077 jne short 06b 5eh ; 75 2c10076 jne short 06b63h ; 75 2c 10078 10077 cmp word [bp+016h], 05052h ; 81 7e 16 52 50 10079 jne short 06b9 4h ; 75 5b10078 jne short 06b99h ; 75 5b 10080 10079 cmp word [bp+014h], 04f43h ; 81 7e 14 43 4f 10081 jne short 06b9 4h ; 75 5410080 jne short 06b99h ; 75 54 10082 10081 cmp word [bp+01eh], 04d4fh ; 81 7e 1e 4f 4d 10083 jne short 06b9 4h ; 75 4d10082 jne short 06b99h ; 75 4d 10084 10083 cmp word [bp+01ch], 04445h ; 81 7e 1c 45 44 10085 jne short 06b9 4h ; 75 4610084 jne short 06b99h ; 75 46 10086 10085 mov ax, word [bp+00ah] ; 8b 46 0a 10087 10086 or ax, word [bp+008h] ; 0b 46 08 10088 jne short 06b9 4h ; 75 3e10087 jne short 06b99h ; 75 3e 10089 10088 mov ax, word [bp+006h] ; 8b 46 06 10090 10089 or ax, word [bp+004h] ; 0b 46 04 10091 je short 06b6 2h ; 74 0410092 jmp short 06b9 4h ; eb 3410093 jmp short 06b8 ah ; eb 2810090 je short 06b67h ; 74 04 10091 jmp short 06b99h ; eb 34 10092 jmp short 06b8fh ; eb 28 10094 10093 mov word [bp+028h], bx ; 89 5e 28 10095 10094 mov ax, word [bp+014h] ; 8b 46 14 … … 10103 10102 mov word [bp+020h], 03332h ; c7 46 20 32 33 10104 10103 mov word [bp+022h], 04941h ; c7 46 22 41 49 10105 jmp near 06c dfh ; e9 55 0110104 jmp near 06ce4h ; e9 55 01 10106 10105 cmp dx, strict byte 00020h ; 83 fa 20 10107 je short 06b9 ah ; 74 0b10106 je short 06b9fh ; 74 0b 10108 10107 cmp dx, strict byte 00001h ; 83 fa 01 10109 je short 06b9 7h ; 74 0310110 jmp near 06cb 2h ; e9 1b 0110111 jmp near 06e5 8h ; e9 be 0210108 je short 06b9ch ; 74 03 10109 jmp near 06cb7h ; e9 1b 01 10110 jmp near 06e5dh ; e9 be 02 10112 10111 cmp word [bp+01ah], 0534dh ; 81 7e 1a 4d 53 10113 jne short 06b9 4h ; 75 f310112 jne short 06b99h ; 75 f3 10114 10113 cmp word [bp+018h], 04150h ; 81 7e 18 50 41 10115 jne short 06b9 4h ; 75 ec10114 jne short 06b99h ; 75 ec 10116 10115 mov ax, strict word 00035h ; b8 35 00 10117 call 016aeh ; e8 00 ab10116 call 016aeh ; e8 fb aa 10118 10117 mov bl, al ; 88 c3 10119 10118 xor bh, bh ; 30 ff … … 10122 10121 sal bx, 1 ; d1 e3 10123 10122 rcl dx, 1 ; d1 d2 10124 loop 06bb 7h ; e2 fa10123 loop 06bbch ; e2 fa 10125 10124 mov ax, strict word 00034h ; b8 34 00 10126 call 016aeh ; e8 e baa10125 call 016aeh ; e8 e6 aa 10127 10126 xor ah, ah ; 30 e4 10128 10127 mov dx, bx ; 89 da … … 10132 10131 adc dx, 00100h ; 81 d2 00 01 10133 10132 cmp dx, 00100h ; 81 fa 00 01 10134 jc short 06b ddh ; 72 0610135 jne short 06c 0bh ; 75 3210133 jc short 06be2h ; 72 06 10134 jne short 06c10h ; 75 32 10136 10135 test bx, bx ; 85 db 10137 jnbe short 06c 0bh ; 77 2e10136 jnbe short 06c10h ; 77 2e 10138 10137 mov ax, strict word 00031h ; b8 31 00 10139 call 016aeh ; e8 c baa10138 call 016aeh ; e8 c6 aa 10140 10139 mov bl, al ; 88 c3 10141 10140 xor bh, bh ; 30 ff … … 10144 10143 sal bx, 1 ; d1 e3 10145 10144 rcl dx, 1 ; d1 d2 10146 loop 06b ech ; e2 fa10145 loop 06bf1h ; e2 fa 10147 10146 mov ax, strict word 00030h ; b8 30 00 10148 call 016aeh ; e8 b 6aa10147 call 016aeh ; e8 b1 aa 10149 10148 xor ah, ah ; 30 e4 10150 10149 or bx, ax ; 09 c3 … … 10152 10151 sal bx, 1 ; d1 e3 10153 10152 rcl dx, 1 ; d1 d2 10154 loop 06 bffh ; e2 fa10153 loop 06c04h ; e2 fa 10155 10154 add bx, strict byte 00000h ; 83 c3 00 10156 10155 adc dx, strict byte 00010h ; 83 d2 10 10157 10156 mov ax, strict word 00062h ; b8 62 00 10158 call 016aeh ; e8 9 daa10157 call 016aeh ; e8 98 aa 10159 10158 xor ah, ah ; 30 e4 10160 10159 mov word [bp-00ah], ax ; 89 46 f6 … … 10164 10163 sal word [bp-00ah], 1 ; d1 66 f6 10165 10164 rcl word [bp-008h], 1 ; d1 56 f8 10166 loop 06c 1eh ; e2 f810165 loop 06c23h ; e2 f8 10167 10166 mov ax, strict word 00061h ; b8 61 00 10168 call 016aeh ; e8 82aa10167 call 016aeh ; e8 7d aa 10169 10168 xor ah, ah ; 30 e4 10170 10169 or word [bp-00ah], ax ; 09 46 f6 … … 10173 10172 mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00 10174 10173 mov ax, strict word 00063h ; b8 63 00 10175 call 016aeh ; e8 6 caa10174 call 016aeh ; e8 67 aa 10176 10175 mov byte [bp-004h], al ; 88 46 fc 10177 10176 mov byte [bp-006h], al ; 88 46 fa 10178 10177 mov ax, word [bp+014h] ; 8b 46 14 10179 10178 cmp ax, strict word 00009h ; 3d 09 00 10180 jnbe short 06cb 2h ; 77 6210179 jnbe short 06cb7h ; 77 62 10181 10180 mov si, ax ; 89 c6 10182 10181 sal si, 1 ; d1 e6 … … 10185 10184 mov cx, dx ; 89 d1 10186 10185 adc cx, strict byte 0ffffh ; 83 d1 ff 10187 jmp word [cs:si+06ae 6h] ; 2e ff a4 e66a10186 jmp word [cs:si+06aebh] ; 2e ff a4 eb 6a 10188 10187 mov ax, strict word 00001h ; b8 01 00 10189 10188 push ax ; 50 … … 10199 10198 xor bx, bx ; 31 db 10200 10199 xor cx, cx ; 31 c9 10201 call 067 2fh ; e8 af fa10200 call 06734h ; e8 af fa 10202 10201 mov word [bp+014h], strict word 00001h ; c7 46 14 01 00 10203 10202 mov word [bp+016h], strict word 00000h ; c7 46 16 00 00 10204 jmp near 06e 3dh ; e9 b0 0110203 jmp near 06e42h ; e9 b0 01 10205 10204 mov ax, strict word 00002h ; b8 02 00 10206 10205 push ax ; 50 … … 10216 10215 mov bx, 0fc00h ; bb 00 fc 10217 10216 mov cx, strict word 00009h ; b9 09 00 10218 call 067 2fh ; e8 84 fa10217 call 06734h ; e8 84 fa 10219 10218 mov word [bp+014h], strict word 00002h ; c7 46 14 02 00 10220 jmp short 06c8 5h ; eb d310221 mov bx, 00da 6h ; bb a60d10219 jmp short 06c8ah ; eb d3 10220 mov bx, 00da4h ; bb a4 0d 10222 10221 mov cx, ds ; 8c d9 10223 10222 mov ax, strict word 00004h ; b8 04 00 10224 call 01933h ; e8 7 6ac10223 call 01933h ; e8 71 ac 10225 10224 push word [bp+014h] ; ff 76 14 10226 10225 push word [bp+020h] ; ff 76 20 … … 10229 10228 mov ax, strict word 00004h ; b8 04 00 10230 10229 push ax ; 50 10231 call 01976h ; e8 a 8ac10230 call 01976h ; e8 a3 ac 10232 10231 add sp, strict byte 00008h ; 83 c4 08 10233 10232 or byte [bp+028h], 001h ; 80 4e 28 01 … … 10253 10252 xor bx, bx ; 31 db 10254 10253 mov cx, strict word 0000fh ; b9 0f 00 10255 call 067 2fh ; e8 2d fa10254 call 06734h ; e8 2d fa 10256 10255 mov word [bp+014h], strict word 00003h ; c7 46 14 03 00 10257 jmp near 06c8 5h ; e9 7b ff10256 jmp near 06c8ah ; e9 7b ff 10258 10257 mov dx, strict word 00001h ; ba 01 00 10259 10258 push dx ; 52 … … 10267 10266 xor bx, bx ; 31 db 10268 10267 mov cx, strict word 00010h ; b9 10 00 10269 call 067 2fh ; e8 0d fa10268 call 06734h ; e8 0d fa 10270 10269 mov word [bp+014h], strict word 00004h ; c7 46 14 04 00 10271 jmp near 06c8 5h ; e9 5b ff10270 jmp near 06c8ah ; e9 5b ff 10272 10271 mov si, strict word 00003h ; be 03 00 10273 10272 push si ; 56 … … 10281 10280 mov bx, ax ; 89 c3 10282 10281 mov ax, si ; 89 f0 10283 call 067 2fh ; e8 ee f910282 call 06734h ; e8 ee f9 10284 10283 mov word [bp+014h], strict word 00005h ; c7 46 14 05 00 10285 jmp near 06c8 5h ; e9 3c ff10284 jmp near 06c8ah ; e9 3c ff 10286 10285 mov ax, strict word 00002h ; b8 02 00 10287 10286 push ax ; 50 … … 10297 10296 xor bx, bx ; 31 db 10298 10297 mov cx, 0fec0h ; b9 c0 fe 10299 call 067 2fh ; e8 c8 f910298 call 06734h ; e8 c8 f9 10300 10299 mov word [bp+014h], strict word 00006h ; c7 46 14 06 00 10301 jmp near 06c8 5h ; e9 16 ff10300 jmp near 06c8ah ; e9 16 ff 10302 10301 mov ax, strict word 00002h ; b8 02 00 10303 10302 push ax ; 50 … … 10313 10312 xor bx, bx ; 31 db 10314 10313 mov cx, 0fee0h ; b9 e0 fe 10315 call 067 2fh ; e8 a2 f910314 call 06734h ; e8 a2 f9 10316 10315 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 10317 jmp near 06c8 5h ; e9 f0 fe10316 jmp near 06c8ah ; e9 f0 fe 10318 10317 mov ax, strict word 00002h ; b8 02 00 10319 10318 push ax ; 50 … … 10327 10326 xor bx, bx ; 31 db 10328 10327 mov cx, strict word 0fffch ; b9 fc ff 10329 call 067 2fh ; e8 82 f910328 call 06734h ; e8 82 f9 10330 10329 cmp byte [bp-004h], 000h ; 80 7e fc 00 10331 jne short 06db ah ; 75 0710330 jne short 06dbfh ; 75 07 10332 10331 mov ax, word [bp-008h] ; 8b 46 f8 10333 10332 test ax, ax ; 85 c0 10334 je short 06dc ah ; 74 1010333 je short 06dcfh ; 74 10 10335 10334 mov word [bp+014h], strict word 00009h ; c7 46 14 09 00 10336 jmp near 06c8 5h ; e9 c3 fe10335 jmp near 06c8ah ; e9 c3 fe 10337 10336 mov word [bp+014h], strict word 00008h ; c7 46 14 08 00 10338 jmp near 06c8 5h ; e9 bb fe10337 jmp near 06c8ah ; e9 bb fe 10339 10338 mov word [bp+014h], ax ; 89 46 14 10340 10339 mov word [bp+016h], ax ; 89 46 16 10341 jmp short 06e 3dh ; eb 6b10340 jmp short 06e42h ; eb 6b 10342 10341 mov ax, strict word 00002h ; b8 02 00 10343 10342 push ax ; 50 … … 10351 10350 xor bx, bx ; 31 db 10352 10351 xor cx, cx ; 31 c9 10353 call 067 2fh ; e8 46 f910352 call 06734h ; e8 46 f9 10354 10353 cmp byte [bp-004h], 000h ; 80 7e fc 00 10355 jne short 06df 6h ; 75 0710354 jne short 06dfbh ; 75 07 10356 10355 mov ax, word [bp-008h] ; 8b 46 f8 10357 10356 test ax, ax ; 85 c0 10358 je short 06 dfeh ; 74 0810357 je short 06e03h ; 74 08 10359 10358 mov word [bp+014h], strict word 00009h ; c7 46 14 09 00 10360 jmp near 06c8 5h ; e9 87 fe10359 jmp near 06c8ah ; e9 87 fe 10361 10360 mov word [bp+014h], ax ; 89 46 14 10362 10361 mov word [bp+016h], ax ; 89 46 16 10363 jmp short 06e 3dh ; eb 3710362 jmp short 06e42h ; eb 37 10364 10363 cmp byte [bp-004h], 000h ; 80 7e fc 00 10365 jne short 06e1 2h ; 75 0610364 jne short 06e17h ; 75 06 10366 10365 cmp word [bp-008h], strict byte 00000h ; 83 7e f8 00 10367 je short 06e 3dh ; 74 2b10366 je short 06e42h ; 74 2b 10368 10367 mov ax, strict word 00001h ; b8 01 00 10369 10368 push ax ; 50 … … 10381 10380 xor bx, bx ; 31 db 10382 10381 xor cx, cx ; 31 c9 10383 call 067 2fh ; e8 fa f810382 call 06734h ; e8 fa f8 10384 10383 xor ax, ax ; 31 c0 10385 10384 mov word [bp+014h], ax ; 89 46 14 … … 10390 10389 mov word [bp+01eh], strict word 00000h ; c7 46 1e 00 00 10391 10390 and byte [bp+028h], 0feh ; 80 66 28 fe 10392 jmp near 06c dfh ; e9 87 fe10391 jmp near 06ce4h ; e9 87 fe 10393 10392 mov word [bp+028h], bx ; 89 5e 28 10394 10393 mov ax, strict word 00031h ; b8 31 00 10395 call 016aeh ; e8 4 da810394 call 016aeh ; e8 48 a8 10396 10395 mov dh, al ; 88 c6 10397 10396 mov ax, strict word 00030h ; b8 30 00 10398 call 016aeh ; e8 4 5a810397 call 016aeh ; e8 40 a8 10399 10398 mov dl, al ; 88 c2 10400 10399 mov word [bp+01ch], dx ; 89 56 1c 10401 10400 cmp dx, 03c00h ; 81 fa 00 3c 10402 jbe short 06e7 9h ; 76 0510401 jbe short 06e7eh ; 76 05 10403 10402 mov word [bp+01ch], 03c00h ; c7 46 1c 00 3c 10404 10403 mov ax, strict word 00035h ; b8 35 00 10405 call 016aeh ; e8 2 fa810404 call 016aeh ; e8 2a a8 10406 10405 mov dh, al ; 88 c6 10407 10406 mov ax, strict word 00034h ; b8 34 00 10408 call 016aeh ; e8 2 7a810407 call 016aeh ; e8 22 a8 10409 10408 mov dl, al ; 88 c2 10410 10409 mov word [bp+018h], dx ; 89 56 18 … … 10412 10411 mov word [bp+020h], ax ; 89 46 20 10413 10412 mov word [bp+014h], dx ; 89 56 14 10414 jmp near 06c dfh ; e9 47 fe10415 _inv_op_handler: ; 0xf6e9 8LB 0x18f10413 jmp near 06ce4h ; e9 47 fe 10414 _inv_op_handler: ; 0xf6e9d LB 0x18f 10416 10415 push bp ; 55 10417 10416 mov bp, sp ; 89 e5 … … 10422 10421 les bx, [bp+018h] ; c4 5e 18 10423 10422 cmp byte [es:bx], 0f0h ; 26 80 3f f0 10424 jne short 06e aeh ; 75 0610423 jne short 06eb3h ; 75 06 10425 10424 inc word [bp+018h] ; ff 46 18 10426 jmp near 0702 0h ; e9 72 0110425 jmp near 07025h ; e9 72 01 10427 10426 cmp word [es:bx], 0050fh ; 26 81 3f 0f 05 10428 je short 06eb 8h ; 74 0310429 jmp near 070 1ch ; e9 64 0110427 je short 06ebdh ; 74 03 10428 jmp near 07021h ; e9 64 01 10430 10429 mov si, 00800h ; be 00 08 10431 10430 xor ax, ax ; 31 c0 … … 10456 10455 sal ax, 1 ; d1 e0 10457 10456 rcl dx, 1 ; d1 d2 10458 loop 06f0 9h ; e2 fa10457 loop 06f0eh ; e2 fa 10459 10458 cmp bx, dx ; 39 d3 10460 jne short 06f1 7h ; 75 0410459 jne short 06f1ch ; 75 04 10461 10460 cmp di, ax ; 39 c7 10462 je short 06f 1ch ; 74 0510461 je short 06f21h ; 74 05 10463 10462 mov word [bp-006h], strict word 00001h ; c7 46 fa 01 00 10464 10463 mov es, [bp-008h] ; 8e 46 f8 … … 10471 10470 sal ax, 1 ; d1 e0 10472 10471 rcl dx, 1 ; d1 d2 10473 loop 06f3 2h ; e2 fa10472 loop 06f37h ; e2 fa 10474 10473 cmp bx, dx ; 39 d3 10475 jne short 06f4 0h ; 75 0410474 jne short 06f45h ; 75 04 10476 10475 cmp di, ax ; 39 c7 10477 je short 06f4 4h ; 74 0410476 je short 06f49h ; 74 04 10478 10477 or byte [bp-006h], 002h ; 80 4e fa 02 10479 10478 xor ax, ax ; 31 c0 … … 10525 10524 mov ax, strict word 00008h ; b8 08 00 10526 10525 test cx, strict word 00001h ; f7 c1 01 00 10527 je near 06fd 9h ; 0f 84 02 0010526 je near 06fdeh ; 0f 84 02 00 10528 10527 mov es, ax ; 8e c0 10529 10528 test cx, strict word 00002h ; f7 c1 02 00 10530 je near 0700 1h ; 0f 84 20 0010529 je near 07006h ; 0f 84 20 00 10531 10530 mov bx, word [word ss:00000h] ; 36 8b 1e 00 00 10532 10531 mov word [word ss:00008h], bx ; 36 89 1e 08 00 … … 10545 10544 mov ss, [word ss:00020h] ; 36 8e 16 20 00 10546 10545 iret ; cf 10547 jmp short 0702 0h ; eb 0410546 jmp short 07025h ; eb 04 10548 10547 sti ; fb 10549 10548 hlt ; f4 10550 jmp short 070 1dh ; eb fd10549 jmp short 07022h ; eb fd 10551 10550 lea sp, [bp-004h] ; 8d 66 fc 10552 10551 pop di ; 5f … … 10554 10553 pop bp ; 5d 10555 10554 retn ; c3 10556 init_rtc_: ; 0xf702 7LB 0x2810555 init_rtc_: ; 0xf702c LB 0x28 10557 10556 push bp ; 55 10558 10557 mov bp, sp ; 89 e5 … … 10560 10559 mov dx, strict word 00026h ; ba 26 00 10561 10560 mov ax, strict word 0000ah ; b8 0a 00 10562 call 016c9h ; e8 9 5a610561 call 016c9h ; e8 90 a6 10563 10562 mov dx, strict word 00002h ; ba 02 00 10564 10563 mov ax, strict word 0000bh ; b8 0b 00 10565 call 016c9h ; e8 8 ca610564 call 016c9h ; e8 87 a6 10566 10565 mov ax, strict word 0000ch ; b8 0c 00 10567 call 016aeh ; e8 6 ba610566 call 016aeh ; e8 66 a6 10568 10567 mov ax, strict word 0000dh ; b8 0d 00 10569 call 016aeh ; e8 6 5a610568 call 016aeh ; e8 60 a6 10570 10569 lea sp, [bp-002h] ; 8d 66 fe 10571 10570 pop dx ; 5a 10572 10571 pop bp ; 5d 10573 10572 retn ; c3 10574 rtc_updating_: ; 0xf70 4fLB 0x2110573 rtc_updating_: ; 0xf7054 LB 0x21 10575 10574 push bp ; 55 10576 10575 mov bp, sp ; 89 e5 … … 10578 10577 mov dx, 061a8h ; ba a8 61 10579 10578 dec dx ; 4a 10580 je short 0706 7h ; 74 0e10579 je short 0706ch ; 74 0e 10581 10580 mov ax, strict word 0000ah ; b8 0a 00 10582 call 016aeh ; e8 4 fa610581 call 016aeh ; e8 4a a6 10583 10582 test AL, strict byte 080h ; a8 80 10584 jne short 0705 6h ; 75 f310583 jne short 0705bh ; 75 f3 10585 10584 xor ax, ax ; 31 c0 10586 jmp short 0706 ah ; eb 0310585 jmp short 0706fh ; eb 03 10587 10586 mov ax, strict word 00001h ; b8 01 00 10588 10587 lea sp, [bp-002h] ; 8d 66 fe … … 10590 10589 pop bp ; 5d 10591 10590 retn ; c3 10592 _int70_function: ; 0xf707 0LB 0xbf10591 _int70_function: ; 0xf7075 LB 0xbf 10593 10592 push bp ; 55 10594 10593 mov bp, sp ; 89 e5 … … 10596 10595 push ax ; 50 10597 10596 mov ax, strict word 0000bh ; b8 0b 00 10598 call 016aeh ; e8 33a610597 call 016aeh ; e8 2e a6 10599 10598 mov bl, al ; 88 c3 10600 10599 mov byte [bp-004h], al ; 88 46 fc 10601 10600 mov ax, strict word 0000ch ; b8 0c 00 10602 call 016aeh ; e8 2 8a610601 call 016aeh ; e8 23 a6 10603 10602 mov dl, al ; 88 c2 10604 10603 test bl, 060h ; f6 c3 60 10605 jne short 0709 0h ; 75 0310606 jmp near 0711 6h ; e9 86 0010604 jne short 07095h ; 75 03 10605 jmp near 0711bh ; e9 86 00 10607 10606 test AL, strict byte 020h ; a8 20 10608 je short 0709 8h ; 74 0410607 je short 0709dh ; 74 04 10609 10608 sti ; fb 10610 10609 int 04ah ; cd 4a 10611 10610 cli ; fa 10612 10611 test dl, 040h ; f6 c2 40 10613 je short 0710 0h ; 74 6310612 je short 07105h ; 74 63 10614 10613 mov dx, 000a0h ; ba a0 00 10615 10614 mov ax, strict word 00040h ; b8 40 00 10616 call 01652h ; e8 a ca510615 call 01652h ; e8 a7 a5 10617 10616 test al, al ; 84 c0 10618 je short 0711 6h ; 74 6c10617 je short 0711bh ; 74 6c 10619 10618 mov dx, 0009ch ; ba 9c 00 10620 10619 mov ax, strict word 00040h ; b8 40 00 10621 call 0168ah ; e8 d 7a510620 call 0168ah ; e8 d2 a5 10622 10621 test dx, dx ; 85 d2 10623 jne short 0710 2h ; 75 4b10622 jne short 07107h ; 75 4b 10624 10623 cmp ax, 003d1h ; 3d d1 03 10625 jnc short 0710 2h ; 73 4610624 jnc short 07107h ; 73 46 10626 10625 mov dx, 00098h ; ba 98 00 10627 10626 mov ax, strict word 00040h ; b8 40 00 10628 call 0166eh ; e8 a 9a510627 call 0166eh ; e8 a4 a5 10629 10628 mov si, ax ; 89 c6 10630 10629 mov dx, 0009ah ; ba 9a 00 10631 10630 mov ax, strict word 00040h ; b8 40 00 10632 call 0166eh ; e8 9 ea510631 call 0166eh ; e8 99 a5 10633 10632 mov cx, ax ; 89 c1 10634 10633 xor bx, bx ; 31 db 10635 10634 mov dx, 000a0h ; ba a0 00 10636 10635 mov ax, strict word 00040h ; b8 40 00 10637 call 01660h ; e8 83a510636 call 01660h ; e8 7e a5 10638 10637 mov dl, byte [bp-004h] ; 8a 56 fc 10639 10638 and dl, 037h ; 80 e2 37 10640 10639 xor dh, dh ; 30 f6 10641 10640 mov ax, strict word 0000bh ; b8 0b 00 10642 call 016c9h ; e8 d ea510641 call 016c9h ; e8 d9 a5 10643 10642 mov dx, cx ; 89 ca 10644 10643 mov ax, si ; 89 f0 10645 call 01652h ; e8 60a510644 call 01652h ; e8 5b a5 10646 10645 mov bl, al ; 88 c3 10647 10646 or bl, 080h ; 80 cb 80 … … 10649 10648 mov dx, cx ; 89 ca 10650 10649 mov ax, si ; 89 f0 10651 call 01660h ; e8 60a510652 jmp short 0711 6h ; eb 1410650 call 01660h ; e8 5b a5 10651 jmp short 0711bh ; eb 14 10653 10652 mov bx, ax ; 89 c3 10654 10653 add bx, 0fc2fh ; 81 c3 2f fc … … 10657 10656 mov dx, 0009ch ; ba 9c 00 10658 10657 mov ax, strict word 00040h ; b8 40 00 10659 call 0169ch ; e8 8 6a510660 call 0e030h ; e8 1 76f10658 call 0169ch ; e8 81 a5 10659 call 0e030h ; e8 12 6f 10661 10660 lea sp, [bp-002h] ; 8d 66 fe 10662 10661 pop si ; 5e 10663 10662 pop bp ; 5d 10664 10663 retn ; c3 10665 inc bp ; 4510666 jno short 071 8eh ; 71 6c10667 jno short 070b 5h ; 71 9110668 jno short 070f 3h ; 71 cd10669 jno short 071 47h ; 71 1f10670 jc short 0718 0h ; 72 5610671 jc short 070 c9h ; 72 9d10672 jc short 071 26h ; 72 f810664 dec dx ; 4a 10665 jno short 07198h ; 71 71 10666 jno short 070bfh ; 71 96 10667 jno short 070fdh ; 71 d2 10668 jno short 07151h ; 71 24 10669 jc short 0718ah ; 72 5b 10670 jc short 070d3h ; 72 a2 10671 jc short 07130h ; 72 fd 10673 10672 db 072h 10674 _int1a_function: ; 0xf71 2fLB 0x1d910673 _int1a_function: ; 0xf7134 LB 0x1d9 10675 10674 push bp ; 55 10676 10675 mov bp, sp ; 89 e5 … … 10678 10677 mov al, byte [bp+013h] ; 8a 46 13 10679 10678 cmp AL, strict byte 007h ; 3c 07 10680 jnbe short 0719 8h ; 77 5e10679 jnbe short 0719dh ; 77 5e 10681 10680 mov bl, al ; 88 c3 10682 10681 xor bh, bh ; 30 ff 10683 10682 sal bx, 1 ; d1 e3 10684 jmp word [cs:bx+071 1fh] ; 2e ff a7 1f7110683 jmp word [cs:bx+07124h] ; 2e ff a7 24 71 10685 10684 cli ; fa 10686 10685 mov bx, 0046eh ; bb 6e 04 … … 10697 10696 mov byte [es:bx], 000h ; 26 c6 07 00 10698 10697 sti ; fb 10699 jmp short 0719 8h ; eb 2c10698 jmp short 0719dh ; eb 2c 10700 10699 cli ; fa 10701 10700 mov bx, 0046eh ; bb 6e 04 … … 10711 10710 sti ; fb 10712 10711 mov byte [bp+013h], 000h ; c6 46 13 00 10713 jmp short 0719 8h ; eb 0710714 call 070 4fh ; e8 bb fe10712 jmp short 0719dh ; eb 07 10713 call 07054h ; e8 bb fe 10715 10714 test ax, ax ; 85 c0 10716 je short 071 9bh ; 74 0310717 jmp near 071c 9h ; e9 2e 0010715 je short 071a0h ; 74 03 10716 jmp near 071ceh ; e9 2e 00 10718 10717 xor ax, ax ; 31 c0 10719 call 016aeh ; e8 0 ea510718 call 016aeh ; e8 09 a5 10720 10719 mov byte [bp+00fh], al ; 88 46 0f 10721 10720 mov ax, strict word 00002h ; b8 02 00 10722 call 016aeh ; e8 0 5a510721 call 016aeh ; e8 00 a5 10723 10722 mov byte [bp+010h], al ; 88 46 10 10724 10723 mov ax, strict word 00004h ; b8 04 00 10725 call 016aeh ; e8 f ca410724 call 016aeh ; e8 f7 a4 10726 10725 mov dl, al ; 88 c2 10727 10726 mov byte [bp+011h], al ; 88 46 11 10728 10727 mov ax, strict word 0000bh ; b8 0b 00 10729 call 016aeh ; e8 f1a410728 call 016aeh ; e8 ec a4 10730 10729 and AL, strict byte 001h ; 24 01 10731 10730 mov byte [bp+00eh], al ; 88 46 0e … … 10735 10734 pop bp ; 5d 10736 10735 retn ; c3 10737 call 070 4fh ; e8 7f fe10736 call 07054h ; e8 7f fe 10738 10737 test ax, ax ; 85 c0 10739 je short 071d 7h ; 74 0310740 call 0702 7h ; e8 50 fe10738 je short 071dch ; 74 03 10739 call 0702ch ; e8 50 fe 10741 10740 mov dl, byte [bp+00fh] ; 8a 56 0f 10742 10741 xor dh, dh ; 30 f6 10743 10742 xor ax, ax ; 31 c0 10744 call 016c9h ; e8 e 8a410743 call 016c9h ; e8 e3 a4 10745 10744 mov dl, byte [bp+010h] ; 8a 56 10 10746 10745 xor dh, dh ; 30 f6 10747 10746 mov ax, strict word 00002h ; b8 02 00 10748 call 016c9h ; e8 d da410747 call 016c9h ; e8 d8 a4 10749 10748 mov dl, byte [bp+011h] ; 8a 56 11 10750 10749 xor dh, dh ; 30 f6 10751 10750 mov ax, strict word 00004h ; b8 04 00 10752 call 016c9h ; e8 d2a410751 call 016c9h ; e8 cd a4 10753 10752 mov ax, strict word 0000bh ; b8 0b 00 10754 call 016aeh ; e8 b1a410753 call 016aeh ; e8 ac a4 10755 10754 mov bl, al ; 88 c3 10756 10755 and bl, 060h ; 80 e3 60 … … 10762 10761 xor dh, dh ; 30 f6 10763 10762 mov ax, strict word 0000bh ; b8 0b 00 10764 call 016c9h ; e8 b3a410763 call 016c9h ; e8 ae a4 10765 10764 mov byte [bp+013h], 000h ; c6 46 13 00 10766 10765 mov byte [bp+012h], bl ; 88 5e 12 10767 jmp short 071c 9h ; eb aa10766 jmp short 071ceh ; eb aa 10768 10767 mov byte [bp+013h], 000h ; c6 46 13 00 10769 call 070 4fh ; e8 29 fe10768 call 07054h ; e8 29 fe 10770 10769 test ax, ax ; 85 c0 10771 je short 072 2ch ; 74 0210772 jmp short 071c 9h ; eb 9d10770 je short 07231h ; 74 02 10771 jmp short 071ceh ; eb 9d 10773 10772 mov ax, strict word 00009h ; b8 09 00 10774 call 016aeh ; e8 7 ca410773 call 016aeh ; e8 77 a4 10775 10774 mov byte [bp+010h], al ; 88 46 10 10776 10775 mov ax, strict word 00008h ; b8 08 00 10777 call 016aeh ; e8 73a410776 call 016aeh ; e8 6e a4 10778 10777 mov byte [bp+00fh], al ; 88 46 0f 10779 10778 mov ax, strict word 00007h ; b8 07 00 10780 call 016aeh ; e8 6 aa410779 call 016aeh ; e8 65 a4 10781 10780 mov byte [bp+00eh], al ; 88 46 0e 10782 10781 mov ax, strict word 00032h ; b8 32 00 10783 call 016aeh ; e8 61a410782 call 016aeh ; e8 5c a4 10784 10783 mov byte [bp+011h], al ; 88 46 11 10785 10784 mov byte [bp+012h], al ; 88 46 12 10786 jmp near 071c 9h ; e9 73 ff10787 call 070 4fh ; e8 f6 fd10785 jmp near 071ceh ; e9 73 ff 10786 call 07054h ; e8 f6 fd 10788 10787 test ax, ax ; 85 c0 10789 je short 0726 3h ; 74 0610790 call 0702 7h ; e8 c7 fd10791 jmp near 071c 9h ; e9 66 ff10788 je short 07268h ; 74 06 10789 call 0702ch ; e8 c7 fd 10790 jmp near 071ceh ; e9 66 ff 10792 10791 mov dl, byte [bp+010h] ; 8a 56 10 10793 10792 xor dh, dh ; 30 f6 10794 10793 mov ax, strict word 00009h ; b8 09 00 10795 call 016c9h ; e8 5 ba410794 call 016c9h ; e8 56 a4 10796 10795 mov dl, byte [bp+00fh] ; 8a 56 0f 10797 10796 xor dh, dh ; 30 f6 10798 10797 mov ax, strict word 00008h ; b8 08 00 10799 call 016c9h ; e8 50a410798 call 016c9h ; e8 4b a4 10800 10799 mov dl, byte [bp+00eh] ; 8a 56 0e 10801 10800 xor dh, dh ; 30 f6 10802 10801 mov ax, strict word 00007h ; b8 07 00 10803 call 016c9h ; e8 4 5a410802 call 016c9h ; e8 40 a4 10804 10803 mov dl, byte [bp+011h] ; 8a 56 11 10805 10804 xor dh, dh ; 30 f6 10806 10805 mov ax, strict word 00032h ; b8 32 00 10807 call 016c9h ; e8 3 aa410806 call 016c9h ; e8 35 a4 10808 10807 mov ax, strict word 0000bh ; b8 0b 00 10809 call 016aeh ; e8 1 9a410808 call 016aeh ; e8 14 a4 10810 10809 mov bl, al ; 88 c3 10811 10810 and bl, 07fh ; 80 e3 7f 10812 jmp near 072 0ch ; e9 6f ff10811 jmp near 07211h ; e9 6f ff 10813 10812 mov ax, strict word 0000bh ; b8 0b 00 10814 call 016aeh ; e8 0 ba410813 call 016aeh ; e8 06 a4 10815 10814 mov bl, al ; 88 c3 10816 10815 mov word [bp+012h], strict word 00000h ; c7 46 12 00 00 10817 10816 test AL, strict byte 020h ; a8 20 10818 je short 072b 1h ; 74 0310819 jmp near 071c 9h ; e9 18 ff10820 call 070 4fh ; e8 9b fd10817 je short 072b6h ; 74 03 10818 jmp near 071ceh ; e9 18 ff 10819 call 07054h ; e8 9b fd 10821 10820 test ax, ax ; 85 c0 10822 je short 072 bbh ; 74 0310823 call 0702 7h ; e8 6c fd10821 je short 072c0h ; 74 03 10822 call 0702ch ; e8 6c fd 10824 10823 mov dl, byte [bp+00fh] ; 8a 56 0f 10825 10824 xor dh, dh ; 30 f6 10826 10825 mov ax, strict word 00001h ; b8 01 00 10827 call 016c9h ; e8 03 a410826 call 016c9h ; e8 fe a3 10828 10827 mov dl, byte [bp+010h] ; 8a 56 10 10829 10828 xor dh, dh ; 30 f6 10830 10829 mov ax, strict word 00003h ; b8 03 00 10831 call 016c9h ; e8 f 8a310830 call 016c9h ; e8 f3 a3 10832 10831 mov dl, byte [bp+011h] ; 8a 56 11 10833 10832 xor dh, dh ; 30 f6 10834 10833 mov ax, strict word 00005h ; b8 05 00 10835 call 016c9h ; e8 e da310834 call 016c9h ; e8 e8 a3 10836 10835 mov dx, 000a1h ; ba a1 00 10837 10836 in AL, DX ; ec … … 10845 10844 xor dh, dh ; 30 f6 10846 10845 mov ax, strict word 0000bh ; b8 0b 00 10847 call 016c9h ; e8 d4a310848 jmp near 071c 9h ; e9 d1 fe10846 call 016c9h ; e8 cf a3 10847 jmp near 071ceh ; e9 d1 fe 10849 10848 mov ax, strict word 0000bh ; b8 0b 00 10850 call 016aeh ; e8 b0a310849 call 016aeh ; e8 ab a3 10851 10850 mov bl, al ; 88 c3 10852 10851 mov dl, al ; 88 c2 10853 10852 and dl, 057h ; 80 e2 57 10854 jmp near 072 0eh ; e9 06 ff10855 send_to_mouse_ctrl_: ; 0xf730 8LB 0x3810853 jmp near 07213h ; e9 06 ff 10854 send_to_mouse_ctrl_: ; 0xf730d LB 0x38 10856 10855 push bp ; 55 10857 10856 mov bp, sp ; 89 e5 … … 10864 10863 ; sub ah, ah ; 2a e4 10865 10864 test AL, strict byte 002h ; a8 02 10866 je short 073 2bh ; 74 1210865 je short 07330h ; 74 12 10867 10866 mov ax, 008eeh ; b8 ee 08 10868 10867 push ax ; 50 10869 mov ax, 0116 eh ; b8 6e1110868 mov ax, 0116ch ; b8 6c 11 10870 10869 push ax ; 50 10871 10870 mov ax, strict word 00007h ; b8 07 00 10872 10871 push ax ; 50 10873 call 01976h ; e8 4 ea610872 call 01976h ; e8 49 a6 10874 10873 add sp, strict byte 00006h ; 83 c4 06 10875 10874 mov AL, strict byte 0d4h ; b0 d4 … … 10885 10884 pop bp ; 5d 10886 10885 retn ; c3 10887 get_mouse_data_: ; 0xf734 0LB 0x5d10886 get_mouse_data_: ; 0xf7345 LB 0x5d 10888 10887 push bp ; 55 10889 10888 mov bp, sp ; 89 e5 … … 10900 10899 and ax, strict word 00021h ; 25 21 00 10901 10900 cmp ax, strict word 00021h ; 3d 21 00 10902 je short 0738 3h ; 74 2810901 je short 07388h ; 74 28 10903 10902 test cx, cx ; 85 c9 10904 je short 0738 3h ; 74 2410903 je short 07388h ; 74 24 10905 10904 mov dx, strict word 00061h ; ba 61 00 10906 10905 in AL, DX ; ec … … 10919 10918 xor ah, ah ; 30 e4 10920 10919 cmp dx, ax ; 39 c2 10921 je short 0736 ah ; 74 ea10920 je short 0736fh ; 74 ea 10922 10921 dec cx ; 49 10923 jmp short 073 4dh ; eb ca10922 jmp short 07352h ; eb ca 10924 10923 test cx, cx ; 85 c9 10925 jne short 073 8bh ; 75 0410924 jne short 07390h ; 75 04 10926 10925 mov AL, strict byte 001h ; b0 01 10927 jmp short 0739 6h ; eb 0b10926 jmp short 0739bh ; eb 0b 10928 10927 mov dx, strict word 00060h ; ba 60 00 10929 10928 in AL, DX ; ec … … 10937 10936 pop bp ; 5d 10938 10937 retn ; c3 10939 set_kbd_command_byte_: ; 0xf73 9dLB 0x3610938 set_kbd_command_byte_: ; 0xf73a2 LB 0x36 10940 10939 push bp ; 55 10941 10940 mov bp, sp ; 89 e5 … … 10948 10947 ; sub ah, ah ; 2a e4 10949 10948 test AL, strict byte 002h ; a8 02 10950 je short 073c 0h ; 74 1210949 je short 073c5h ; 74 12 10951 10950 mov ax, 008f8h ; b8 f8 08 10952 10951 push ax ; 50 10953 mov ax, 0116 eh ; b8 6e1110952 mov ax, 0116ch ; b8 6c 11 10954 10953 push ax ; 50 10955 10954 mov ax, strict word 00007h ; b8 07 00 10956 10955 push ax ; 50 10957 call 01976h ; e8 b 9a510956 call 01976h ; e8 b4 a5 10958 10957 add sp, strict byte 00006h ; 83 c4 06 10959 10958 mov AL, strict byte 060h ; b0 60 … … 10968 10967 pop bp ; 5d 10969 10968 retn ; c3 10970 _int74_function: ; 0xf73d 3LB 0xd210969 _int74_function: ; 0xf73d8 LB 0xd2 10971 10970 push bp ; 55 10972 10971 mov bp, sp ; 89 e5 … … 10974 10973 mov dx, strict word 0000eh ; ba 0e 00 10975 10974 mov ax, strict word 00040h ; b8 40 00 10976 call 0166eh ; e8 8 ca210975 call 0166eh ; e8 87 a2 10977 10976 mov cx, ax ; 89 c1 10978 10977 mov word [bp+004h], strict word 00000h ; c7 46 04 00 00 … … 10983 10982 and AL, strict byte 021h ; 24 21 10984 10983 cmp AL, strict byte 021h ; 3c 21 10985 jne short 0741 7h ; 75 2210984 jne short 0741ch ; 75 22 10986 10985 mov dx, strict word 00060h ; ba 60 00 10987 10986 in AL, DX ; ec … … 10991 10990 mov dx, strict word 00026h ; ba 26 00 10992 10991 mov ax, cx ; 89 c8 10993 call 01652h ; e8 4 da210992 call 01652h ; e8 48 a2 10994 10993 mov byte [bp-002h], al ; 88 46 fe 10995 10994 mov dx, strict word 00027h ; ba 27 00 10996 10995 mov ax, cx ; 89 c8 10997 call 01652h ; e8 42a210996 call 01652h ; e8 3d a2 10998 10997 mov byte [bp-006h], al ; 88 46 fa 10999 10998 test AL, strict byte 080h ; a8 80 11000 jne short 0741 ah ; 75 0311001 jmp near 0749 1h ; e9 77 0010999 jne short 0741fh ; 75 03 11000 jmp near 07496h ; e9 77 00 11002 11001 mov al, byte [bp-006h] ; 8a 46 fa 11003 11002 and AL, strict byte 007h ; 24 07 … … 11013 11012 add dx, strict byte 00028h ; 83 c2 28 11014 11013 mov ax, cx ; 89 c8 11015 call 01660h ; e8 23a211014 call 01660h ; e8 1e a2 11016 11015 mov al, byte [bp-008h] ; 8a 46 f8 11017 11016 cmp al, byte [bp-004h] ; 3a 46 fc 11018 jc short 0748 1h ; 72 3c11017 jc short 07486h ; 72 3c 11019 11018 mov dx, strict word 00028h ; ba 28 00 11020 11019 mov ax, cx ; 89 c8 11021 call 01652h ; e8 0 5a211020 call 01652h ; e8 00 a2 11022 11021 xor ah, ah ; 30 e4 11023 11022 mov word [bp+00ch], ax ; 89 46 0c 11024 11023 mov dx, strict word 00029h ; ba 29 00 11025 11024 mov ax, cx ; 89 c8 11026 call 01652h ; e8 f 8a111025 call 01652h ; e8 f3 a1 11027 11026 xor ah, ah ; 30 e4 11028 11027 mov word [bp+00ah], ax ; 89 46 0a 11029 11028 mov dx, strict word 0002ah ; ba 2a 00 11030 11029 mov ax, cx ; 89 c8 11031 call 01652h ; e8 e ba111030 call 01652h ; e8 e6 a1 11032 11031 xor ah, ah ; 30 e4 11033 11032 mov word [bp+008h], ax ; 89 46 08 … … 11036 11035 mov byte [bp-002h], ah ; 88 66 fe 11037 11036 test byte [bp-006h], 080h ; f6 46 fa 80 11038 je short 0748 4h ; 74 0a11037 je short 07489h ; 74 0a 11039 11038 mov word [bp+004h], strict word 00001h ; c7 46 04 01 00 11040 jmp short 0748 4h ; eb 0311039 jmp short 07489h ; eb 03 11041 11040 inc byte [bp-002h] ; fe 46 fe 11042 11041 mov bl, byte [bp-002h] ; 8a 5e fe … … 11044 11043 mov dx, strict word 00026h ; ba 26 00 11045 11044 mov ax, cx ; 89 c8 11046 call 01660h ; e8 c fa111045 call 01660h ; e8 ca a1 11047 11046 mov sp, bp ; 89 ec 11048 11047 pop bp ; 5d 11049 11048 retn ; c3 11050 out 074h, ax ; e7 74 11051 arpl [di-01dh], si ; 63 75 e3 11052 jne short 07514h ; 75 78 11053 jbe short 07488h ; 76 ea 11054 jbe short 074ceh ; 76 2e 11055 jne short 074b4h ; 75 12 11056 jnbe short 07483h ; 77 df 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 11057 db 077h 11058 _int15_function_mouse: ; 0xf74a 5LB 0x3a011058 _int15_function_mouse: ; 0xf74aa LB 0x3a0 11059 11059 push bp ; 55 11060 11060 mov bp, sp ; 89 e5 … … 11063 11063 mov dx, strict word 0000eh ; ba 0e 00 11064 11064 mov ax, strict word 00040h ; b8 40 00 11065 call 0166eh ; e8 b 9a111065 call 0166eh ; e8 b4 a1 11066 11066 mov cx, ax ; 89 c1 11067 11067 cmp byte [bp+012h], 007h ; 80 7e 12 07 11068 jbe short 074c 8h ; 76 0b11068 jbe short 074cdh ; 76 0b 11069 11069 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11070 11070 mov byte [bp+013h], 001h ; c6 46 13 01 11071 jmp near 078 3fh ; e9 77 0311071 jmp near 07844h ; e9 77 03 11072 11072 mov ax, strict word 00065h ; b8 65 00 11073 call 073 9dh ; e8 cf fe11073 call 073a2h ; e8 cf fe 11074 11074 and word [bp+018h], strict byte 0fffeh ; 83 66 18 fe 11075 11075 mov byte [bp+013h], 000h ; c6 46 13 00 11076 11076 mov bl, byte [bp+012h] ; 8a 5e 12 11077 11077 cmp bl, 007h ; 80 fb 07 11078 jnbe short 075 3ch ; 77 5e11078 jnbe short 07541h ; 77 5e 11079 11079 xor bh, bh ; 30 ff 11080 11080 sal bx, 1 ; d1 e3 11081 jmp word [cs:bx+0749 5h] ; 2e ff a7 957411081 jmp word [cs:bx+0749ah] ; 2e ff a7 9a 74 11082 11082 cmp byte [bp+00dh], 001h ; 80 7e 0d 01 11083 jnbe short 075 3fh ; 77 5211083 jnbe short 07544h ; 77 52 11084 11084 mov dx, strict word 00027h ; ba 27 00 11085 11085 mov ax, cx ; 89 c8 11086 call 01652h ; e8 5 da111086 call 01652h ; e8 58 a1 11087 11087 test AL, strict byte 080h ; a8 80 11088 jne short 0750 4h ; 75 0b11088 jne short 07509h ; 75 0b 11089 11089 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11090 11090 mov byte [bp+013h], 005h ; c6 46 13 05 11091 jmp near 0783 9h ; e9 35 0311091 jmp near 0783eh ; e9 35 03 11092 11092 cmp byte [bp+00dh], 000h ; 80 7e 0d 00 11093 jne short 075 0eh ; 75 0411093 jne short 07513h ; 75 04 11094 11094 mov AL, strict byte 0f5h ; b0 f5 11095 jmp short 0751 0h ; eb 0211095 jmp short 07515h ; eb 02 11096 11096 mov AL, strict byte 0f4h ; b0 f4 11097 11097 xor ah, ah ; 30 e4 11098 call 0730 8h ; e8 f3 fd11098 call 0730dh ; e8 f3 fd 11099 11099 test al, al ; 84 c0 11100 jne short 0754 2h ; 75 2911100 jne short 07547h ; 75 29 11101 11101 mov dx, ss ; 8c d2 11102 11102 lea ax, [bp-006h] ; 8d 46 fa 11103 call 0734 0h ; e8 1f fe11103 call 07345h ; e8 1f fe 11104 11104 test al, al ; 84 c0 11105 je short 075 2bh ; 74 0611105 je short 07530h ; 74 06 11106 11106 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11107 jne short 0754 2h ; 75 1711108 jmp near 0783 9h ; e9 0b 0311107 jne short 07547h ; 75 17 11108 jmp near 0783eh ; e9 0b 03 11109 11109 mov al, byte [bp+00dh] ; 8a 46 0d 11110 11110 cmp AL, strict byte 001h ; 3c 01 11111 jc short 0753 9h ; 72 0411111 jc short 0753eh ; 72 04 11112 11112 cmp AL, strict byte 008h ; 3c 08 11113 jbe short 0754 5h ; 76 0c11114 jmp near 076e 0h ; e9 a4 0111115 jmp near 0782 3h ; e9 e4 0211116 jmp near 0783 1h ; e9 ef 0211117 jmp near 077b 7h ; e9 72 0211113 jbe short 0754ah ; 76 0c 11114 jmp near 076e5h ; e9 a4 01 11115 jmp near 07828h ; e9 e4 02 11116 jmp near 07836h ; e9 ef 02 11117 jmp near 077bch ; e9 72 02 11118 11118 mov dx, strict word 00027h ; ba 27 00 11119 11119 mov ax, cx ; 89 c8 11120 call 01652h ; e8 0 5a111120 call 01652h ; e8 00 a1 11121 11121 mov ah, byte [bp+00dh] ; 8a 66 0d 11122 11122 db 0feh, 0cch … … 11128 11128 mov dx, strict word 00027h ; ba 27 00 11129 11129 mov ax, cx ; 89 c8 11130 call 01660h ; e8 f da011130 call 01660h ; e8 f8 a0 11131 11131 mov dx, strict word 00026h ; ba 26 00 11132 11132 mov ax, cx ; 89 c8 11133 call 01652h ; e8 e 7a011133 call 01652h ; e8 e2 a0 11134 11134 mov bl, al ; 88 c3 11135 11135 and bl, 0f8h ; 80 e3 f8 … … 11137 11137 mov dx, strict word 00026h ; ba 26 00 11138 11138 mov ax, cx ; 89 c8 11139 call 01660h ; e8 e 6a011139 call 01660h ; e8 e1 a0 11140 11140 mov ax, 000ffh ; b8 ff 00 11141 call 0730 8h ; e8 88 fd11141 call 0730dh ; e8 88 fd 11142 11142 test al, al ; 84 c0 11143 jne short 0754 2h ; 75 be11143 jne short 07547h ; 75 be 11144 11144 mov dx, ss ; 8c d2 11145 11145 lea ax, [bp-008h] ; 8d 46 f8 11146 call 0734 0h ; e8 b4 fd11146 call 07345h ; e8 b4 fd 11147 11147 mov cl, al ; 88 c1 11148 11148 cmp byte [bp-008h], 0feh ; 80 7e f8 fe 11149 jne short 075 9eh ; 75 0a11149 jne short 075a3h ; 75 0a 11150 11150 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11151 11151 mov byte [bp+013h], 004h ; c6 46 13 04 11152 jmp short 075 2bh ; eb 8d11152 jmp short 07530h ; eb 8d 11153 11153 cmp byte [bp-008h], 0fah ; 80 7e f8 fa 11154 je short 075b 8h ; 74 1411154 je short 075bdh ; 74 14 11155 11155 mov al, byte [bp-008h] ; 8a 46 f8 11156 11156 xor ah, ah ; 30 e4 … … 11160 11160 mov ax, strict word 00007h ; b8 07 00 11161 11161 push ax ; 50 11162 call 01976h ; e8 c1a311162 call 01976h ; e8 bc a3 11163 11163 add sp, strict byte 00006h ; 83 c4 06 11164 11164 test cl, cl ; 84 c9 11165 jne short 0754 2h ; 75 8611165 jne short 07547h ; 75 86 11166 11166 mov dx, ss ; 8c d2 11167 11167 lea ax, [bp-006h] ; 8d 46 fa 11168 call 0734 0h ; e8 7c fd11168 call 07345h ; e8 7c fd 11169 11169 test al, al ; 84 c0 11170 jne short 076 1eh ; 75 5611170 jne short 07623h ; 75 56 11171 11171 mov dx, ss ; 8c d2 11172 11172 lea ax, [bp-004h] ; 8d 46 fc 11173 call 0734 0h ; e8 70 fd11173 call 07345h ; e8 70 fd 11174 11174 test al, al ; 84 c0 11175 jne short 076 1eh ; 75 4a11175 jne short 07623h ; 75 4a 11176 11176 mov al, byte [bp-006h] ; 8a 46 fa 11177 11177 mov byte [bp+00ch], al ; 88 46 0c 11178 11178 mov al, byte [bp-004h] ; 8a 46 fc 11179 11179 mov byte [bp+00dh], al ; 88 46 0d 11180 jmp near 0783 9h ; e9 56 0211180 jmp near 0783eh ; e9 56 02 11181 11181 mov al, byte [bp+00dh] ; 8a 46 0d 11182 11182 cmp AL, strict byte 003h ; 3c 03 11183 jc short 075f ah ; 72 1011184 jbe short 0761 8h ; 76 2c11183 jc short 075ffh ; 72 10 11184 jbe short 0761dh ; 76 2c 11185 11185 cmp AL, strict byte 006h ; 3c 06 11186 je short 076 2dh ; 74 3d11186 je short 07632h ; 74 3d 11187 11187 cmp AL, strict byte 005h ; 3c 05 11188 je short 0762 7h ; 74 3311188 je short 0762ch ; 74 33 11189 11189 cmp AL, strict byte 004h ; 3c 04 11190 je short 0762 1h ; 74 2911191 jmp short 0763 3h ; eb 3911190 je short 07626h ; 74 29 11191 jmp short 07638h ; eb 39 11192 11192 cmp AL, strict byte 002h ; 3c 02 11193 je short 0761 2h ; 74 1411193 je short 07617h ; 74 14 11194 11194 cmp AL, strict byte 001h ; 3c 01 11195 je short 076 0ch ; 74 0a11195 je short 07611h ; 74 0a 11196 11196 test al, al ; 84 c0 11197 jne short 0763 3h ; 75 2d11197 jne short 07638h ; 75 2d 11198 11198 mov byte [bp-006h], 00ah ; c6 46 fa 0a 11199 jmp short 0763 7h ; eb 2b11199 jmp short 0763ch ; eb 2b 11200 11200 mov byte [bp-006h], 014h ; c6 46 fa 14 11201 jmp short 0763 7h ; eb 2511201 jmp short 0763ch ; eb 25 11202 11202 mov byte [bp-006h], 028h ; c6 46 fa 28 11203 jmp short 0763 7h ; eb 1f11203 jmp short 0763ch ; eb 1f 11204 11204 mov byte [bp-006h], 03ch ; c6 46 fa 3c 11205 jmp short 0763 7h ; eb 1911206 jmp near 077b 7h ; e9 96 0111205 jmp short 0763ch ; eb 19 11206 jmp near 077bch ; e9 96 01 11207 11207 mov byte [bp-006h], 050h ; c6 46 fa 50 11208 jmp short 0763 7h ; eb 1011208 jmp short 0763ch ; eb 10 11209 11209 mov byte [bp-006h], 064h ; c6 46 fa 64 11210 jmp short 0763 7h ; eb 0a11210 jmp short 0763ch ; eb 0a 11211 11211 mov byte [bp-006h], 0c8h ; c6 46 fa c8 11212 jmp short 0763 7h ; eb 0411212 jmp short 0763ch ; eb 04 11213 11213 mov byte [bp-006h], 000h ; c6 46 fa 00 11214 11214 cmp byte [bp-006h], 000h ; 80 7e fa 00 11215 jbe short 076 6dh ; 76 3011215 jbe short 07672h ; 76 30 11216 11216 mov ax, 000f3h ; b8 f3 00 11217 call 0730 8h ; e8 c5 fc11217 call 0730dh ; e8 c5 fc 11218 11218 test al, al ; 84 c0 11219 jne short 0766 2h ; 75 1b11219 jne short 07667h ; 75 1b 11220 11220 mov dx, ss ; 8c d2 11221 11221 lea ax, [bp-004h] ; 8d 46 fc 11222 call 0734 0h ; e8 f1 fc11222 call 07345h ; e8 f1 fc 11223 11223 mov al, byte [bp-006h] ; 8a 46 fa 11224 11224 xor ah, ah ; 30 e4 11225 call 0730 8h ; e8 b1 fc11225 call 0730dh ; e8 b1 fc 11226 11226 mov dx, ss ; 8c d2 11227 11227 lea ax, [bp-004h] ; 8d 46 fc 11228 call 0734 0h ; e8 e1 fc11229 jmp near 0783 9h ; e9 d7 0111228 call 07345h ; e8 e1 fc 11229 jmp near 0783eh ; e9 d7 01 11230 11230 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11231 11231 mov byte [bp+013h], 003h ; c6 46 13 03 11232 jmp near 0783 9h ; e9 cc 0111232 jmp near 0783eh ; e9 cc 01 11233 11233 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11234 11234 mov byte [bp+013h], 002h ; c6 46 13 02 11235 jmp near 0783 9h ; e9 c1 0111235 jmp near 0783eh ; e9 c1 01 11236 11236 cmp byte [bp+00dh], 004h ; 80 7e 0d 04 11237 jnc short 076e 0h ; 73 6211237 jnc short 076e5h ; 73 62 11238 11238 mov ax, 000e8h ; b8 e8 00 11239 call 0730 8h ; e8 84 fc11239 call 0730dh ; e8 84 fc 11240 11240 test al, al ; 84 c0 11241 jne short 076d 6h ; 75 4e11241 jne short 076dbh ; 75 4e 11242 11242 mov dx, ss ; 8c d2 11243 11243 lea ax, [bp-006h] ; 8d 46 fa 11244 call 0734 0h ; e8 b0 fc11244 call 07345h ; e8 b0 fc 11245 11245 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11246 je short 076a ah ; 74 1411246 je short 076afh ; 74 14 11247 11247 mov al, byte [bp-006h] ; 8a 46 fa 11248 11248 xor ah, ah ; 30 e4 … … 11252 11252 mov ax, strict word 00007h ; b8 07 00 11253 11253 push ax ; 50 11254 call 01976h ; e8 c fa211254 call 01976h ; e8 ca a2 11255 11255 add sp, strict byte 00006h ; 83 c4 06 11256 11256 mov al, byte [bp+00dh] ; 8a 46 0d 11257 11257 xor ah, ah ; 30 e4 11258 call 0730 8h ; e8 56 fc11258 call 0730dh ; e8 56 fc 11259 11259 mov dx, ss ; 8c d2 11260 11260 lea ax, [bp-006h] ; 8d 46 fa 11261 call 0734 0h ; e8 86 fc11261 call 07345h ; e8 86 fc 11262 11262 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11263 je short 077 0fh ; 74 4f11263 je short 07714h ; 74 4f 11264 11264 mov al, byte [bp-006h] ; 8a 46 fa 11265 11265 xor ah, ah ; 30 e4 … … 11269 11269 mov ax, strict word 00007h ; b8 07 00 11270 11270 push ax ; 50 11271 call 01976h ; e8 a 5a211271 call 01976h ; e8 a0 a2 11272 11272 add sp, strict byte 00006h ; 83 c4 06 11273 jmp short 077 0fh ; eb 3911273 jmp short 07714h ; eb 39 11274 11274 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11275 11275 mov byte [bp+013h], 003h ; c6 46 13 03 11276 jmp short 077 0fh ; eb 2f11276 jmp short 07714h ; eb 2f 11277 11277 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11278 11278 mov byte [bp+013h], 002h ; c6 46 13 02 11279 jmp short 077 0fh ; eb 2511279 jmp short 07714h ; eb 25 11280 11280 mov ax, 000f2h ; b8 f2 00 11281 call 0730 8h ; e8 18 fc11281 call 0730dh ; e8 18 fc 11282 11282 test al, al ; 84 c0 11283 jne short 0770 7h ; 75 1311283 jne short 0770ch ; 75 13 11284 11284 mov dx, ss ; 8c d2 11285 11285 lea ax, [bp-006h] ; 8d 46 fa 11286 call 0734 0h ; e8 44 fc11286 call 07345h ; e8 44 fc 11287 11287 mov dx, ss ; 8c d2 11288 11288 lea ax, [bp-004h] ; 8d 46 fc 11289 call 0734 0h ; e8 3c fc11290 jmp near 075d ah ; e9 d3 fe11289 call 07345h ; e8 3c fc 11290 jmp near 075dfh ; e9 d3 fe 11291 11291 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11292 11292 mov byte [bp+013h], 003h ; c6 46 13 03 11293 jmp near 0783 9h ; e9 27 0111293 jmp near 0783eh ; e9 27 01 11294 11294 mov al, byte [bp+00dh] ; 8a 46 0d 11295 11295 test al, al ; 84 c0 11296 jbe short 0772 2h ; 76 0911296 jbe short 07727h ; 76 09 11297 11297 cmp AL, strict byte 002h ; 3c 02 11298 jbe short 0772 0h ; 76 0311299 jmp near 077c 1h ; e9 a1 0011300 jmp short 077 8ch ; eb 6a11298 jbe short 07725h ; 76 03 11299 jmp near 077c6h ; e9 a1 00 11300 jmp short 07791h ; eb 6a 11301 11301 mov ax, 000e9h ; b8 e9 00 11302 call 0730 8h ; e8 e0 fb11302 call 0730dh ; e8 e0 fb 11303 11303 test al, al ; 84 c0 11304 jne short 0779 5h ; 75 6911304 jne short 0779ah ; 75 69 11305 11305 mov dx, ss ; 8c d2 11306 11306 lea ax, [bp-006h] ; 8d 46 fa 11307 call 0734 0h ; e8 0c fc11307 call 07345h ; e8 0c fc 11308 11308 mov cl, al ; 88 c1 11309 11309 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11310 je short 0775 0h ; 74 1411310 je short 07755h ; 74 14 11311 11311 mov al, byte [bp-006h] ; 8a 46 fa 11312 11312 xor ah, ah ; 30 e4 … … 11316 11316 mov ax, strict word 00007h ; b8 07 00 11317 11317 push ax ; 50 11318 call 01976h ; e8 2 9a211318 call 01976h ; e8 24 a2 11319 11319 add sp, strict byte 00006h ; 83 c4 06 11320 11320 test cl, cl ; 84 c9 11321 jne short 077b 7h ; 75 6311321 jne short 077bch ; 75 63 11322 11322 mov dx, ss ; 8c d2 11323 11323 lea ax, [bp-006h] ; 8d 46 fa 11324 call 0734 0h ; e8 e4 fb11324 call 07345h ; e8 e4 fb 11325 11325 test al, al ; 84 c0 11326 jne short 077b 7h ; 75 5711326 jne short 077bch ; 75 57 11327 11327 mov dx, ss ; 8c d2 11328 11328 lea ax, [bp-004h] ; 8d 46 fc 11329 call 0734 0h ; e8 d8 fb11329 call 07345h ; e8 d8 fb 11330 11330 test al, al ; 84 c0 11331 jne short 077b 7h ; 75 4b11331 jne short 077bch ; 75 4b 11332 11332 mov dx, ss ; 8c d2 11333 11333 lea ax, [bp-008h] ; 8d 46 f8 11334 call 0734 0h ; e8 cc fb11334 call 07345h ; e8 cc fb 11335 11335 test al, al ; 84 c0 11336 jne short 077b 7h ; 75 3f11336 jne short 077bch ; 75 3f 11337 11337 mov al, byte [bp-006h] ; 8a 46 fa 11338 11338 mov byte [bp+00ch], al ; 88 46 0c … … 11341 11341 mov al, byte [bp-008h] ; 8a 46 f8 11342 11342 mov byte [bp+00eh], al ; 88 46 0e 11343 jmp short 077 0fh ; eb 8311343 jmp short 07714h ; eb 83 11344 11344 cmp AL, strict byte 001h ; 3c 01 11345 jne short 0779 7h ; 75 0711345 jne short 0779ch ; 75 07 11346 11346 mov ax, 000e6h ; b8 e6 00 11347 jmp short 0779 ah ; eb 0511348 jmp short 077b 7h ; eb 2011347 jmp short 0779fh ; eb 05 11348 jmp short 077bch ; eb 20 11349 11349 mov ax, 000e7h ; b8 e7 00 11350 call 0730 8h ; e8 6b fb11350 call 0730dh ; e8 6b fb 11351 11351 mov cl, al ; 88 c1 11352 11352 test cl, cl ; 84 c9 11353 jne short 077b 3h ; 75 1011353 jne short 077b8h ; 75 10 11354 11354 mov dx, ss ; 8c d2 11355 11355 lea ax, [bp-006h] ; 8d 46 fa 11356 call 0734 0h ; e8 95 fb11356 call 07345h ; e8 95 fb 11357 11357 cmp byte [bp-006h], 0fah ; 80 7e fa fa 11358 je short 077b 3h ; 74 0211358 je short 077b8h ; 74 02 11359 11359 mov CL, strict byte 001h ; b1 01 11360 11360 test cl, cl ; 84 c9 11361 je short 0782 1h ; 74 6a11361 je short 07826h ; 74 6a 11362 11362 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11363 11363 mov byte [bp+013h], 003h ; c6 46 13 03 11364 jmp short 0782 1h ; eb 6011364 jmp short 07826h ; eb 60 11365 11365 mov al, byte [bp+00dh] ; 8a 46 0d 11366 11366 xor ah, ah ; 30 e4 … … 11370 11370 mov ax, strict word 00007h ; b8 07 00 11371 11371 push ax ; 50 11372 call 01976h ; e8 a4a111372 call 01976h ; e8 9f a1 11373 11373 add sp, strict byte 00006h ; 83 c4 06 11374 11374 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11375 11375 mov byte [bp+013h], 001h ; c6 46 13 01 11376 jmp short 0783 9h ; eb 5a11376 jmp short 0783eh ; eb 5a 11377 11377 mov si, word [bp+00ch] ; 8b 76 0c 11378 11378 mov bx, si ; 89 f3 11379 11379 mov dx, strict word 00022h ; ba 22 00 11380 11380 mov ax, cx ; 89 c8 11381 call 0167ch ; e8 909e11381 call 0167ch ; e8 8b 9e 11382 11382 mov bx, word [bp+014h] ; 8b 5e 14 11383 11383 mov dx, strict word 00024h ; ba 24 00 11384 11384 mov ax, cx ; 89 c8 11385 call 0167ch ; e8 8 59e11385 call 0167ch ; e8 80 9e 11386 11386 mov dx, strict word 00027h ; ba 27 00 11387 11387 mov ax, cx ; 89 c8 11388 call 01652h ; e8 539e11388 call 01652h ; e8 4e 9e 11389 11389 mov ah, al ; 88 c4 11390 11390 test si, si ; 85 f6 11391 jne short 0781 3h ; 75 0e11391 jne short 07818h ; 75 0e 11392 11392 cmp word [bp+014h], strict byte 00000h ; 83 7e 14 00 11393 jne short 0781 3h ; 75 0811393 jne short 07818h ; 75 08 11394 11394 test AL, strict byte 080h ; a8 80 11395 je short 0781 5h ; 74 0611395 je short 0781ah ; 74 06 11396 11396 and AL, strict byte 07fh ; 24 7f 11397 jmp short 0781 5h ; eb 0211397 jmp short 0781ah ; eb 02 11398 11398 or AL, strict byte 080h ; 0c 80 11399 11399 mov bl, al ; 88 c3 … … 11401 11401 mov dx, strict word 00027h ; ba 27 00 11402 11402 mov ax, cx ; 89 c8 11403 call 01660h ; e8 3 f9e11404 jmp short 0783 9h ; eb 1611403 call 01660h ; e8 3a 9e 11404 jmp short 0783eh ; eb 16 11405 11405 mov ax, 00974h ; b8 74 09 11406 11406 push ax ; 50 11407 11407 mov ax, strict word 00007h ; b8 07 00 11408 11408 push ax ; 50 11409 call 01976h ; e8 4 8a111409 call 01976h ; e8 43 a1 11410 11410 add sp, strict byte 00004h ; 83 c4 04 11411 11411 or word [bp+018h], strict byte 00001h ; 83 4e 18 01 11412 11412 mov byte [bp+013h], 001h ; c6 46 13 01 11413 11413 mov ax, strict word 00047h ; b8 47 00 11414 call 073 9dh ; e8 5e fb11414 call 073a2h ; e8 5e fb 11415 11415 lea sp, [bp-002h] ; 8d 66 fe 11416 11416 pop si ; 5e 11417 11417 pop bp ; 5d 11418 11418 retn ; c3 11419 _int17_function: ; 0xf784 5LB 0xac11419 _int17_function: ; 0xf784a LB 0xac 11420 11420 push bp ; 55 11421 11421 mov bp, sp ; 89 e5 … … 11427 11427 add dx, strict byte 00008h ; 83 c2 08 11428 11428 mov ax, strict word 00040h ; b8 40 00 11429 call 0166eh ; e8 1 59e11429 call 0166eh ; e8 10 9e 11430 11430 mov bx, ax ; 89 c3 11431 11431 mov si, ax ; 89 c6 11432 11432 cmp byte [bp+013h], 003h ; 80 7e 13 03 11433 jnc short 078 6fh ; 73 0c11433 jnc short 07874h ; 73 0c 11434 11434 mov ax, word [bp+00eh] ; 8b 46 0e 11435 11435 cmp ax, strict word 00003h ; 3d 03 00 11436 jnc short 078 6fh ; 73 0411436 jnc short 07874h ; 73 04 11437 11437 test bx, bx ; 85 db 11438 jnbe short 0787 2h ; 77 0311439 jmp near 078e 7h ; e9 75 0011438 jnbe short 07877h ; 77 03 11439 jmp near 078ech ; e9 75 00 11440 11440 mov dx, ax ; 89 c2 11441 11441 add dx, strict byte 00078h ; 83 c2 78 11442 11442 mov ax, strict word 00040h ; b8 40 00 11443 call 01652h ; e8 d 59d11443 call 01652h ; e8 d0 9d 11444 11444 mov ch, al ; 88 c5 11445 11445 xor cl, cl ; 30 c9 11446 11446 cmp byte [bp+013h], 000h ; 80 7e 13 00 11447 jne short 078b 3h ; 75 2c11447 jne short 078b8h ; 75 2c 11448 11448 mov al, byte [bp+012h] ; 8a 46 12 11449 11449 mov dx, bx ; 89 da … … 11465 11465 ; sub ah, ah ; 2a e4 11466 11466 test AL, strict byte 040h ; a8 40 11467 je short 078b 3h ; 74 0711467 je short 078b8h ; 74 07 11468 11468 test cx, cx ; 85 c9 11469 je short 078b 3h ; 74 0311469 je short 078b8h ; 74 03 11470 11470 dec cx ; 49 11471 jmp short 078a 2h ; eb ef11471 jmp short 078a7h ; eb ef 11472 11472 cmp byte [bp+013h], 001h ; 80 7e 13 01 11473 jne short 078 ceh ; 75 1511473 jne short 078d3h ; 75 15 11474 11474 lea dx, [si+002h] ; 8d 54 02 11475 11475 in AL, DX ; ec … … 11490 11490 mov byte [bp+013h], al ; 88 46 13 11491 11491 test cx, cx ; 85 c9 11492 jne short 078e 1h ; 75 0411492 jne short 078e6h ; 75 04 11493 11493 or byte [bp+013h], 001h ; 80 4e 13 01 11494 11494 and byte [bp+01ch], 0feh ; 80 66 1c fe 11495 jmp short 078 ebh ; eb 0411495 jmp short 078f0h ; eb 04 11496 11496 or byte [bp+01ch], 001h ; 80 4e 1c 01 11497 11497 lea sp, [bp-002h] ; 8d 66 fe … … 11499 11499 pop bp ; 5d 11500 11500 retn ; c3 11501 wait_: ; 0xf78f 1LB 0xb211501 wait_: ; 0xf78f6 LB 0xb2 11502 11502 push bp ; 55 11503 11503 mov bp, sp ; 89 e5 … … 11517 11517 mov dx, 0046ch ; ba 6c 04 11518 11518 xor ax, ax ; 31 c0 11519 call 0168ah ; e8 7 69d11519 call 0168ah ; e8 71 9d 11520 11520 mov word [bp-00eh], ax ; 89 46 f2 11521 11521 mov bx, dx ; 89 d3 … … 11523 11523 mov dx, 0046ch ; ba 6c 04 11524 11524 xor ax, ax ; 31 c0 11525 call 0168ah ; e8 6 89d11525 call 0168ah ; e8 63 9d 11526 11526 mov word [bp-012h], ax ; 89 46 ee 11527 11527 mov di, dx ; 89 d7 11528 11528 cmp dx, bx ; 39 da 11529 jnbe short 0793 2h ; 77 0711530 jne short 0793 9h ; 75 0c11529 jnbe short 07937h ; 77 07 11530 jne short 0793eh ; 75 0c 11531 11531 cmp ax, word [bp-00eh] ; 3b 46 f2 11532 jbe short 0793 9h ; 76 0711532 jbe short 0793eh ; 76 07 11533 11533 sub ax, word [bp-00eh] ; 2b 46 f2 11534 11534 sbb dx, bx ; 19 da 11535 jmp short 0794 4h ; eb 0b11535 jmp short 07949h ; eb 0b 11536 11536 cmp dx, bx ; 39 da 11537 jc short 0794 4h ; 72 0711538 jne short 0794 8h ; 75 0911537 jc short 07949h ; 72 07 11538 jne short 0794dh ; 75 09 11539 11539 cmp ax, word [bp-00eh] ; 3b 46 f2 11540 jnc short 0794 8h ; 73 0411540 jnc short 0794dh ; 73 04 11541 11541 sub si, ax ; 29 c6 11542 11542 sbb cx, dx ; 19 d1 … … 11546 11546 mov ax, 00100h ; b8 00 01 11547 11547 int 016h ; cd 16 11548 je short 079 5ch ; 74 0511548 je short 07961h ; 74 05 11549 11549 mov AL, strict byte 001h ; b0 01 11550 jmp near 079 5eh ; e9 02 0011550 jmp near 07963h ; e9 02 00 11551 11551 db 032h, 0c0h 11552 11552 ; xor al, al ; 32 c0 11553 11553 test al, al ; 84 c0 11554 je short 0798 8h ; 74 2611554 je short 0798dh ; 74 26 11555 11555 db 033h, 0c0h 11556 11556 ; xor ax, ax ; 33 c0 … … 11565 11565 mov ax, strict word 00004h ; b8 04 00 11566 11566 push ax ; 50 11567 call 01976h ; e8 f b9f11567 call 01976h ; e8 f6 9f 11568 11568 add sp, strict byte 00006h ; 83 c4 06 11569 11569 cmp byte [bp-00ah], 000h ; 80 7e f6 00 11570 je short 0798 8h ; 74 0411570 je short 0798dh ; 74 04 11571 11571 mov al, dl ; 88 d0 11572 jmp short 0799 ah ; eb 1211572 jmp short 0799fh ; eb 12 11573 11573 test cx, cx ; 85 c9 11574 jnle short 0791 9h ; 7f 8d11575 jne short 0799 2h ; 75 0411574 jnle short 0791eh ; 7f 8d 11575 jne short 07997h ; 75 04 11576 11576 test si, si ; 85 f6 11577 jnbe short 0791 9h ; 77 8711577 jnbe short 0791eh ; 77 87 11578 11578 mov ax, word [bp-010h] ; 8b 46 f0 11579 11579 push ax ; 50 … … 11587 11587 pop bp ; 5d 11588 11588 retn ; c3 11589 read_logo_byte_: ; 0xf79a 3LB 0x1611589 read_logo_byte_: ; 0xf79a8 LB 0x16 11590 11590 push bp ; 55 11591 11591 mov bp, sp ; 89 e5 … … 11602 11602 pop bp ; 5d 11603 11603 retn ; c3 11604 read_logo_word_: ; 0xf79b 9LB 0x1411604 read_logo_word_: ; 0xf79be LB 0x14 11605 11605 push bp ; 55 11606 11606 mov bp, sp ; 89 e5 … … 11615 11615 pop bp ; 5d 11616 11616 retn ; c3 11617 print_detected_harddisks_: ; 0xf79 cdLB 0x15a11617 print_detected_harddisks_: ; 0xf79d2 LB 0x15a 11618 11618 push bp ; 55 11619 11619 mov bp, sp ; 89 e5 … … 11625 11625 mov dx, strict word 0000eh ; ba 0e 00 11626 11626 mov ax, strict word 00040h ; b8 40 00 11627 call 0166eh ; e8 8 e9c11627 call 0166eh ; e8 89 9c 11628 11628 mov si, ax ; 89 c6 11629 11629 mov byte [bp-00eh], 000h ; c6 46 f2 00 … … 11631 11631 mov byte [bp-00ch], ch ; 88 6e f4 11632 11632 mov dx, 00304h ; ba 04 03 11633 call 01652h ; e8 619c11633 call 01652h ; e8 5c 9c 11634 11634 mov byte [bp-00ah], al ; 88 46 f6 11635 11635 xor cl, cl ; 30 c9 11636 11636 cmp cl, byte [bp-00ah] ; 3a 4e f6 11637 jnc short 07a5 9h ; 73 5e11637 jnc short 07a5eh ; 73 5e 11638 11638 mov al, cl ; 88 c8 11639 11639 xor ah, ah ; 30 e4 … … 11641 11641 add dx, 00305h ; 81 c2 05 03 11642 11642 mov ax, si ; 89 f0 11643 call 01652h ; e8 4 89c11643 call 01652h ; e8 43 9c 11644 11644 mov bl, al ; 88 c3 11645 11645 cmp AL, strict byte 00ch ; 3c 0c 11646 jc short 07a 3bh ; 72 2b11646 jc short 07a40h ; 72 2b 11647 11647 test ch, ch ; 84 ed 11648 jne short 07a2 4h ; 75 1011648 jne short 07a29h ; 75 10 11649 11649 mov ax, 009a7h ; b8 a7 09 11650 11650 push ax ; 50 11651 11651 mov ax, strict word 00002h ; b8 02 00 11652 11652 push ax ; 50 11653 call 01976h ; e8 5 79f11653 call 01976h ; e8 52 9f 11654 11654 add sp, strict byte 00004h ; 83 c4 04 11655 11655 mov CH, strict byte 001h ; b5 01 … … 11662 11662 mov ax, strict word 00002h ; b8 02 00 11663 11663 push ax ; 50 11664 call 01976h ; e8 419f11664 call 01976h ; e8 3c 9f 11665 11665 add sp, strict byte 00006h ; 83 c4 06 11666 jmp near 07a edh ; e9 b2 0011666 jmp near 07af2h ; e9 b2 00 11667 11667 cmp AL, strict byte 008h ; 3c 08 11668 jc short 07a 5ch ; 72 1d11668 jc short 07a61h ; 72 1d 11669 11669 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11670 jne short 07a5 7h ; 75 1211670 jne short 07a5ch ; 75 12 11671 11671 mov ax, 009cfh ; b8 cf 09 11672 11672 push ax ; 50 11673 11673 mov ax, strict word 00002h ; b8 02 00 11674 11674 push ax ; 50 11675 call 01976h ; e8 2 69f11675 call 01976h ; e8 21 9f 11676 11676 add sp, strict byte 00004h ; 83 c4 04 11677 11677 mov byte [bp-00ch], 001h ; c6 46 f4 01 11678 jmp short 07a2 4h ; eb cb11679 jmp near 07af 2h ; e9 96 0011678 jmp short 07a29h ; eb cb 11679 jmp near 07af7h ; e9 96 00 11680 11680 cmp AL, strict byte 004h ; 3c 04 11681 jnc short 07a7 ah ; 73 1a11681 jnc short 07a7fh ; 73 1a 11682 11682 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11683 jne short 07a7 ah ; 75 1411683 jne short 07a7fh ; 75 14 11684 11684 mov ax, 009e4h ; b8 e4 09 11685 11685 push ax ; 50 11686 11686 mov ax, strict word 00002h ; b8 02 00 11687 11687 push ax ; 50 11688 call 01976h ; e8 0 59f11688 call 01976h ; e8 00 9f 11689 11689 add sp, strict byte 00004h ; 83 c4 04 11690 11690 mov byte [bp-00eh], 001h ; c6 46 f2 01 11691 jmp short 07a9 3h ; eb 1911691 jmp short 07a98h ; eb 19 11692 11692 cmp bl, 004h ; 80 fb 04 11693 jc short 07a9 3h ; 72 1411693 jc short 07a98h ; 72 14 11694 11694 test ch, ch ; 84 ed 11695 jne short 07a9 3h ; 75 1011695 jne short 07a98h ; 75 10 11696 11696 mov ax, 009f6h ; b8 f6 09 11697 11697 push ax ; 50 11698 11698 mov ax, strict word 00002h ; b8 02 00 11699 11699 push ax ; 50 11700 call 01976h ; e8 e 89e11700 call 01976h ; e8 e3 9e 11701 11701 add sp, strict byte 00004h ; 83 c4 04 11702 11702 mov CH, strict byte 001h ; b5 01 … … 11709 11709 mov ax, strict word 00002h ; b8 02 00 11710 11710 push ax ; 50 11711 call 01976h ; e8 d29e11711 call 01976h ; e8 cd 9e 11712 11712 add sp, strict byte 00006h ; 83 c4 06 11713 11713 cmp bl, 004h ; 80 fb 04 11714 jc short 07a afh ; 72 0311714 jc short 07ab4h ; 72 03 11715 11715 sub bl, 004h ; 80 eb 04 11716 11716 mov al, bl ; 88 d8 … … 11721 11721 sar ax, 1 ; d1 f8 11722 11722 test ax, ax ; 85 c0 11723 je short 07ac 1h ; 74 0511723 je short 07ac6h ; 74 05 11724 11724 mov ax, 00a14h ; b8 14 0a 11725 jmp short 07ac 4h ; eb 0311725 jmp short 07ac9h ; eb 03 11726 11726 mov ax, 00a1fh ; b8 1f 0a 11727 11727 push ax ; 50 11728 11728 mov ax, strict word 00002h ; b8 02 00 11729 11729 push ax ; 50 11730 call 01976h ; e8 a a9e11730 call 01976h ; e8 a5 9e 11731 11731 add sp, strict byte 00004h ; 83 c4 04 11732 11732 mov al, bl ; 88 d8 … … 11736 11736 idiv bx ; f7 fb 11737 11737 test dx, dx ; 85 d2 11738 je short 07ae 2h ; 74 0511738 je short 07ae7h ; 74 05 11739 11739 mov ax, 00a28h ; b8 28 0a 11740 jmp short 07ae 5h ; eb 0311740 jmp short 07aeah ; eb 03 11741 11741 mov ax, 00a2eh ; b8 2e 0a 11742 11742 push ax ; 50 11743 11743 push bx ; 53 11744 call 01976h ; e8 8 c9e11744 call 01976h ; e8 87 9e 11745 11745 add sp, strict byte 00004h ; 83 c4 04 11746 11746 db 0feh, 0c1h 11747 11747 ; inc cl ; fe c1 11748 jmp near 079f 6h ; e9 04 ff11748 jmp near 079fbh ; e9 04 ff 11749 11749 cmp byte [bp-00eh], 000h ; 80 7e f2 00 11750 jne short 07b1 0h ; 75 1811750 jne short 07b15h ; 75 18 11751 11751 test ch, ch ; 84 ed 11752 jne short 07b1 0h ; 75 1411752 jne short 07b15h ; 75 14 11753 11753 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11754 jne short 07b1 0h ; 75 0e11754 jne short 07b15h ; 75 0e 11755 11755 mov ax, 00a35h ; b8 35 0a 11756 11756 push ax ; 50 11757 11757 mov ax, strict word 00002h ; b8 02 00 11758 11758 push ax ; 50 11759 call 01976h ; e8 6 99e11759 call 01976h ; e8 64 9e 11760 11760 add sp, strict byte 00004h ; 83 c4 04 11761 11761 mov ax, 00a49h ; b8 49 0a … … 11763 11763 mov ax, strict word 00002h ; b8 02 00 11764 11764 push ax ; 50 11765 call 01976h ; e8 5 b9e11765 call 01976h ; e8 56 9e 11766 11766 add sp, strict byte 00004h ; 83 c4 04 11767 11767 lea sp, [bp-008h] ; 8d 66 f8 … … 11772 11772 pop bp ; 5d 11773 11773 retn ; c3 11774 get_boot_drive_: ; 0xf7b2 7LB 0x2811774 get_boot_drive_: ; 0xf7b2c LB 0x28 11775 11775 push bp ; 55 11776 11776 mov bp, sp ; 89 e5 … … 11780 11780 mov dx, strict word 0000eh ; ba 0e 00 11781 11781 mov ax, strict word 00040h ; b8 40 00 11782 call 0166eh ; e8 3 79b11782 call 0166eh ; e8 32 9b 11783 11783 mov dx, 00304h ; ba 04 03 11784 call 01652h ; e8 1 59b11784 call 01652h ; e8 10 9b 11785 11785 sub bl, 002h ; 80 eb 02 11786 11786 cmp bl, al ; 38 c3 11787 jc short 07b4 6h ; 72 0211787 jc short 07b4bh ; 72 02 11788 11788 mov BL, strict byte 0ffh ; b3 ff 11789 11789 mov al, bl ; 88 d8 … … 11793 11793 pop bp ; 5d 11794 11794 retn ; c3 11795 show_logo_: ; 0xf7b 4fLB 0x24011795 show_logo_: ; 0xf7b54 LB 0x240 11796 11796 push bp ; 55 11797 11797 mov bp, sp ; 89 e5 … … 11804 11804 mov dx, strict word 0000eh ; ba 0e 00 11805 11805 mov ax, strict word 00040h ; b8 40 00 11806 call 0166eh ; e8 0 b9b11806 call 0166eh ; e8 06 9b 11807 11807 mov si, ax ; 89 c6 11808 11808 mov byte [bp-00ch], 000h ; c6 46 f4 00 … … 11816 11816 mov al, cl ; 88 c8 11817 11817 xor ah, ah ; 30 e4 11818 call 079b 9h ; e8 3b fe11818 call 079beh ; e8 3b fe 11819 11819 cmp ax, 066bbh ; 3d bb 66 11820 jne short 07b9 5h ; 75 1211820 jne short 07b9ah ; 75 12 11821 11821 push SS ; 16 11822 11822 pop ES ; 07 … … 11826 11826 mov word [es:di], bx ; 26 89 1d 11827 11827 cmp ax, strict word 0004fh ; 3d 4f 00 11828 je short 07b9 8h ; 74 0311829 jmp near 07c 5eh ; e9 c6 0011828 je short 07b9dh ; 74 03 11829 jmp near 07c63h ; e9 c6 00 11830 11830 mov al, cl ; 88 c8 11831 11831 add AL, strict byte 004h ; 04 04 11832 11832 xor ah, ah ; 30 e4 11833 call 079a 3h ; e8 02 fe11833 call 079a8h ; e8 02 fe 11834 11834 mov bl, al ; 88 c3 11835 11835 mov byte [bp-014h], al ; 88 46 ec … … 11837 11837 add AL, strict byte 005h ; 04 05 11838 11838 xor ah, ah ; 30 e4 11839 call 079a 3h ; e8 f4 fd11839 call 079a8h ; e8 f4 fd 11840 11840 mov bh, al ; 88 c7 11841 11841 mov byte [bp-012h], al ; 88 46 ee … … 11843 11843 add AL, strict byte 002h ; 04 02 11844 11844 xor ah, ah ; 30 e4 11845 call 079b 9h ; e8 fc fd11845 call 079beh ; e8 fc fd 11846 11846 mov dx, ax ; 89 c2 11847 11847 mov word [bp-016h], ax ; 89 46 ea … … 11849 11849 add AL, strict byte 006h ; 04 06 11850 11850 xor ah, ah ; 30 e4 11851 call 079a 3h ; e8 d8 fd11851 call 079a8h ; e8 d8 fd 11852 11852 mov byte [bp-010h], al ; 88 46 f0 11853 11853 test bl, bl ; 84 db 11854 jne short 07bd ah ; 75 0811854 jne short 07bdfh ; 75 08 11855 11855 test bh, bh ; 84 ff 11856 jne short 07bd ah ; 75 0411856 jne short 07bdfh ; 75 04 11857 11857 test dx, dx ; 85 d2 11858 je short 07b9 5h ; 74 bb11858 je short 07b9ah ; 74 bb 11859 11859 mov bx, 00142h ; bb 42 01 11860 11860 mov ax, 04f02h ; b8 02 4f 11861 11861 int 010h ; cd 10 11862 11862 cmp byte [bp-014h], 000h ; 80 7e ec 00 11863 je short 07c 0dh ; 74 2511863 je short 07c12h ; 74 25 11864 11864 xor cx, cx ; 31 c9 11865 jmp short 07bf 2h ; eb 0611865 jmp short 07bf7h ; eb 06 11866 11866 inc cx ; 41 11867 11867 cmp cx, strict byte 00010h ; 83 f9 10 11868 jnbe short 07c1 4h ; 77 2211868 jnbe short 07c19h ; 77 22 11869 11869 mov ax, cx ; 89 c8 11870 11870 or ah, 002h ; 80 cc 02 … … 11873 11873 xor dx, dx ; 31 d2 11874 11874 mov ax, strict word 00001h ; b8 01 00 11875 call 078f 1h ; e8 ee fc11875 call 078f6h ; e8 ee fc 11876 11876 cmp AL, strict byte 086h ; 3c 86 11877 jne short 07b ech ; 75 e511877 jne short 07bf1h ; 75 e5 11878 11878 mov byte [bp-00ch], 001h ; c6 46 f4 01 11879 jmp short 07c1 4h ; eb 0711879 jmp short 07c19h ; eb 07 11880 11880 mov ax, 00210h ; b8 10 02 11881 11881 mov dx, 003b8h ; ba b8 03 11882 11882 out DX, ax ; ef 11883 11883 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11884 jne short 07c 2fh ; 75 1511884 jne short 07c34h ; 75 15 11885 11885 mov CL, strict byte 004h ; b1 04 11886 11886 mov ax, word [bp-016h] ; 8b 46 ea 11887 11887 shr ax, CL ; d3 e8 11888 11888 mov dx, strict word 00001h ; ba 01 00 11889 call 078f 1h ; e8 ca fc11889 call 078f6h ; e8 ca fc 11890 11890 cmp AL, strict byte 086h ; 3c 86 11891 jne short 07c 2fh ; 75 0411891 jne short 07c34h ; 75 04 11892 11892 mov byte [bp-00ch], 001h ; c6 46 f4 01 11893 11893 cmp byte [bp-012h], 000h ; 80 7e ee 00 11894 je short 07c 5eh ; 74 2911894 je short 07c63h ; 74 29 11895 11895 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11896 jne short 07c 5eh ; 75 2311896 jne short 07c63h ; 75 23 11897 11897 mov cx, strict word 00010h ; b9 10 00 11898 jmp short 07c4 5h ; eb 0511898 jmp short 07c4ah ; eb 05 11899 11899 dec cx ; 49 11900 11900 test cx, cx ; 85 c9 11901 jbe short 07c 5eh ; 76 1911901 jbe short 07c63h ; 76 19 11902 11902 mov ax, cx ; 89 c8 11903 11903 or ah, 002h ; 80 cc 02 … … 11906 11906 xor dx, dx ; 31 d2 11907 11907 mov ax, strict word 00001h ; b8 01 00 11908 call 078f 1h ; e8 9b fc11908 call 078f6h ; e8 9b fc 11909 11909 cmp AL, strict byte 086h ; 3c 86 11910 jne short 07c4 0h ; 75 e611910 jne short 07c45h ; 75 e6 11911 11911 mov byte [bp-00ch], 001h ; c6 46 f4 01 11912 11912 xor bx, bx ; 31 db 11913 11913 mov dx, 0037dh ; ba 7d 03 11914 11914 mov ax, si ; 89 f0 11915 call 01660h ; e8 f 89911915 call 01660h ; e8 f3 99 11916 11916 mov AL, strict byte 003h ; b0 03 11917 11917 mov AH, strict byte 000h ; b4 00 11918 11918 int 010h ; cd 10 11919 11919 cmp byte [bp-010h], 000h ; 80 7e f0 00 11920 je short 07c8 8h ; 74 1411920 je short 07c8dh ; 74 14 11921 11921 cmp byte [bp-014h], 000h ; 80 7e ec 00 11922 jne short 07cb 6h ; 75 3c11922 jne short 07cbbh ; 75 3c 11923 11923 cmp byte [bp-012h], 000h ; 80 7e ee 00 11924 jne short 07cb 6h ; 75 3611924 jne short 07cbbh ; 75 36 11925 11925 cmp word [bp-016h], strict byte 00000h ; 83 7e ea 00 11926 je short 07c 8bh ; 74 0511927 jmp short 07cb 6h ; eb 2e11928 jmp near 07d7 2h ; e9 e7 0011926 je short 07c90h ; 74 05 11927 jmp short 07cbbh ; eb 2e 11928 jmp near 07d77h ; e9 e7 00 11929 11929 cmp byte [bp-010h], 002h ; 80 7e f0 02 11930 jne short 07c 9fh ; 75 0e11930 jne short 07ca4h ; 75 0e 11931 11931 mov ax, 00a4bh ; b8 4b 0a 11932 11932 push ax ; 50 11933 11933 mov ax, strict word 00002h ; b8 02 00 11934 11934 push ax ; 50 11935 call 01976h ; e8 d a9c11935 call 01976h ; e8 d5 9c 11936 11936 add sp, strict byte 00004h ; 83 c4 04 11937 11937 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11938 jne short 07cb 6h ; 75 1111938 jne short 07cbbh ; 75 11 11939 11939 mov dx, strict word 00001h ; ba 01 00 11940 11940 mov ax, 000c0h ; b8 c0 00 11941 call 078f 1h ; e8 43 fc11941 call 078f6h ; e8 43 fc 11942 11942 cmp AL, strict byte 086h ; 3c 86 11943 jne short 07cb 6h ; 75 0411943 jne short 07cbbh ; 75 04 11944 11944 mov byte [bp-00ch], 001h ; c6 46 f4 01 11945 11945 cmp byte [bp-00ch], 000h ; 80 7e f4 00 11946 je short 07c8 8h ; 74 cc11946 je short 07c8dh ; 74 cc 11947 11947 mov byte [bp-00eh], 000h ; c6 46 f2 00 11948 11948 mov ax, 00100h ; b8 00 01 … … 11965 11965 mov ax, strict word 00002h ; b8 02 00 11966 11966 push ax ; 50 11967 call 01976h ; e8 8 e9c11967 call 01976h ; e8 89 9c 11968 11968 add sp, strict byte 00004h ; 83 c4 04 11969 call 079 cdh ; e8 df fc11969 call 079d2h ; e8 df fc 11970 11970 mov ax, 00ab1h ; b8 b1 0a 11971 11971 push ax ; 50 11972 11972 mov ax, strict word 00002h ; b8 02 00 11973 11973 push ax ; 50 11974 call 01976h ; e8 7 d9c11974 call 01976h ; e8 78 9c 11975 11975 add sp, strict byte 00004h ; 83 c4 04 11976 11976 mov dx, strict word 00001h ; ba 01 00 11977 11977 mov ax, strict word 00040h ; b8 40 00 11978 call 078f 1h ; e8 ec fb11978 call 078f6h ; e8 ec fb 11979 11979 mov cl, al ; 88 c1 11980 11980 test al, al ; 84 c0 11981 je short 07 cfch ; 74 f111981 je short 07d01h ; 74 f1 11982 11982 cmp AL, strict byte 030h ; 3c 30 11983 je short 07d 5fh ; 74 5011983 je short 07d64h ; 74 50 11984 11984 cmp cl, 002h ; 80 f9 02 11985 jc short 07d3 8h ; 72 2411985 jc short 07d3dh ; 72 24 11986 11986 cmp cl, 009h ; 80 f9 09 11987 jnbe short 07d3 8h ; 77 1f11987 jnbe short 07d3dh ; 77 1f 11988 11988 mov al, cl ; 88 c8 11989 11989 xor ah, ah ; 30 e4 11990 call 07b2 7h ; e8 07 fe11990 call 07b2ch ; e8 07 fe 11991 11991 cmp AL, strict byte 0ffh ; 3c ff 11992 jne short 07d2 6h ; 75 0211993 jmp short 07 cfch ; eb d611992 jne short 07d2bh ; 75 02 11993 jmp short 07d01h ; eb d6 11994 11994 mov bl, al ; 88 c3 11995 11995 xor bh, bh ; 30 ff 11996 11996 mov dx, 0037ch ; ba 7c 03 11997 11997 mov ax, si ; 89 f0 11998 call 01660h ; e8 2 e9911998 call 01660h ; e8 29 99 11999 11999 mov byte [bp-00eh], 002h ; c6 46 f2 02 12000 jmp short 07d 5fh ; eb 2712000 jmp short 07d64h ; eb 27 12001 12001 cmp cl, 02eh ; 80 f9 2e 12002 je short 07d 4dh ; 74 1012002 je short 07d52h ; 74 10 12003 12003 cmp cl, 026h ; 80 f9 26 12004 je short 07d5 3h ; 74 1112004 je short 07d58h ; 74 11 12005 12005 cmp cl, 021h ; 80 f9 21 12006 jne short 07d5 9h ; 75 1212006 jne short 07d5eh ; 75 12 12007 12007 mov byte [bp-00eh], 001h ; c6 46 f2 01 12008 jmp short 07d 5fh ; eb 1212008 jmp short 07d64h ; eb 12 12009 12009 mov byte [bp-00eh], 003h ; c6 46 f2 03 12010 jmp short 07d 5fh ; eb 0c12010 jmp short 07d64h ; eb 0c 12011 12011 mov byte [bp-00eh], 004h ; c6 46 f2 04 12012 jmp short 07d 5fh ; eb 0612012 jmp short 07d64h ; eb 06 12013 12013 cmp byte [bp-00eh], 000h ; 80 7e f2 00 12014 je short 07 cfch ; 74 9d12014 je short 07d01h ; 74 9d 12015 12015 mov bl, byte [bp-00eh] ; 8a 5e f2 12016 12016 xor bh, bh ; 30 ff 12017 12017 mov dx, 0037dh ; ba 7d 03 12018 12018 mov ax, si ; 89 f0 12019 call 01660h ; e8 f49812019 call 01660h ; e8 ef 98 12020 12020 mov AL, strict byte 003h ; b0 03 12021 12021 mov AH, strict byte 000h ; b4 00 … … 12030 12030 push DS ; 1e 12031 12031 mov ds, ax ; 8e d8 12032 call 0ede3h ; e8 607012032 call 0ede3h ; e8 5b 70 12033 12033 pop DS ; 1f 12034 12034 pop bp ; 5d … … 12041 12041 pop bp ; 5d 12042 12042 retn ; c3 12043 delay_boot_: ; 0xf7d 8fLB 0x7212043 delay_boot_: ; 0xf7d94 LB 0x72 12044 12044 push bp ; 55 12045 12045 mov bp, sp ; 89 e5 … … 12051 12051 mov bx, ax ; 89 c3 12052 12052 test ax, ax ; 85 c0 12053 je short 07df 7h ; 74 5a12053 je short 07dfch ; 74 5a 12054 12054 mov AL, strict byte 034h ; b0 34 12055 12055 out strict byte 043h, AL ; e6 43 … … 12063 12063 mov ax, strict word 00002h ; b8 02 00 12064 12064 push ax ; 50 12065 call 01976h ; e8 c19b12065 call 01976h ; e8 bc 9b 12066 12066 add sp, strict byte 00006h ; 83 c4 06 12067 12067 test bx, bx ; 85 db 12068 jbe short 07dd 6h ; 76 1a12068 jbe short 07ddbh ; 76 1a 12069 12069 push bx ; 53 12070 12070 mov ax, 00b19h ; b8 19 0b … … 12072 12072 mov ax, strict word 00002h ; b8 02 00 12073 12073 push ax ; 50 12074 call 01976h ; e8 a e9b12074 call 01976h ; e8 a9 9b 12075 12075 add sp, strict byte 00006h ; 83 c4 06 12076 12076 xor dx, dx ; 31 d2 12077 12077 mov ax, strict word 00040h ; b8 40 00 12078 call 078f 1h ; e8 1e fb12078 call 078f6h ; e8 1e fb 12079 12079 dec bx ; 4b 12080 jmp short 07db 8h ; eb e212080 jmp short 07dbdh ; eb e2 12081 12081 mov bx, 00a49h ; bb 49 0a 12082 12082 push bx ; 53 12083 12083 mov bx, strict word 00002h ; bb 02 00 12084 12084 push bx ; 53 12085 call 01976h ; e8 9 59b12085 call 01976h ; e8 90 9b 12086 12086 add sp, strict byte 00004h ; 83 c4 04 12087 12087 mov AL, strict byte 034h ; b0 34 … … 12094 12094 push DS ; 1e 12095 12095 mov ds, ax ; 8e d8 12096 call 0ede3h ; e8 e e6f12096 call 0ede3h ; e8 e9 6f 12097 12097 pop DS ; 1f 12098 12098 pop bp ; 5d … … 12105 12105 pop bp ; 5d 12106 12106 retn ; c3 12107 scsi_cmd_data_in_: ; 0xf7e0 1LB 0xd512107 scsi_cmd_data_in_: ; 0xf7e06 LB 0xd5 12108 12108 push bp ; 55 12109 12109 mov bp, sp ; 89 e5 … … 12121 12121 ; sub ah, ah ; 2a e4 12122 12122 test AL, strict byte 001h ; a8 01 12123 jne short 07e1 7h ; 75 f712123 jne short 07e1ch ; 75 f7 12124 12124 mov al, byte [bp+004h] ; 8a 46 04 12125 12125 cmp AL, strict byte 010h ; 3c 10 12126 jne short 07e 2bh ; 75 0412126 jne short 07e30h ; 75 04 12127 12127 xor ax, ax ; 31 c0 12128 jmp short 07e 2dh ; eb 0212128 jmp short 07e32h ; eb 02 12129 12129 xor ah, ah ; 30 e4 12130 12130 mov di, ax ; 89 c7 … … 12134 12134 shr dx, 1 ; d1 ea 12135 12135 rcr ax, 1 ; d1 d8 12136 loop 07e3 7h ; e2 fa12136 loop 07e3ch ; e2 fa 12137 12137 mov cx, ax ; 89 c1 12138 12138 and cx, 000f0h ; 81 e1 f0 00 … … 12152 12152 shr dx, 1 ; d1 ea 12153 12153 rcr ax, 1 ; d1 d8 12154 loop 07e 5ch ; e2 fa12154 loop 07e61h ; e2 fa 12155 12155 mov dx, si ; 89 f2 12156 12156 out DX, AL ; ee … … 12159 12159 xor ah, ah ; 30 e4 12160 12160 cmp cx, ax ; 39 c1 12161 jnc short 07e 7eh ; 73 0e12161 jnc short 07e83h ; 73 0e 12162 12162 les di, [bp-00ah] ; c4 7e f6 12163 12163 add di, cx ; 01 cf … … 12166 12166 out DX, AL ; ee 12167 12167 inc cx ; 41 12168 jmp short 07e6 7h ; eb e912168 jmp short 07e6ch ; eb e9 12169 12169 mov dx, si ; 89 f2 12170 12170 in AL, DX ; ec … … 12172 12172 ; sub ah, ah ; 2a e4 12173 12173 test AL, strict byte 001h ; a8 01 12174 jne short 07e 7eh ; 75 f712174 jne short 07e83h ; 75 f7 12175 12175 test AL, strict byte 002h ; a8 02 12176 je short 07e9 9h ; 74 0e12176 je short 07e9eh ; 74 0e 12177 12177 lea dx, [si+003h] ; 8d 54 03 12178 12178 xor al, al ; 30 c0 … … 12182 12182 ; sub ah, ah ; 2a e4 12183 12183 mov di, strict word 00004h ; bf 04 00 12184 jmp short 07e cbh ; eb 3212184 jmp short 07ed0h ; eb 32 12185 12185 lea dx, [si+001h] ; 8d 54 01 12186 12186 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 12187 jne short 07ea 8h ; 75 0612187 jne short 07eadh ; 75 06 12188 12188 cmp bx, 08000h ; 81 fb 00 80 12189 jbe short 07ec 2h ; 76 1a12189 jbe short 07ec7h ; 76 1a 12190 12190 mov cx, 08000h ; b9 00 80 12191 12191 les di, [bp+006h] ; c4 7e 06 … … 12196 12196 add ax, 00800h ; 05 00 08 12197 12197 mov word [bp+008h], ax ; 89 46 08 12198 jmp short 07e9 9h ; eb d712198 jmp short 07e9eh ; eb d7 12199 12199 mov cx, bx ; 89 d9 12200 12200 les di, [bp+006h] ; c4 7e 06 … … 12207 12207 pop bp ; 5d 12208 12208 retn 0000ah ; c2 0a 00 12209 scsi_cmd_data_out_: ; 0xf7ed 6LB 0xd512209 scsi_cmd_data_out_: ; 0xf7edb LB 0xd5 12210 12210 push bp ; 55 12211 12211 mov bp, sp ; 89 e5 … … 12223 12223 ; sub ah, ah ; 2a e4 12224 12224 test AL, strict byte 001h ; a8 01 12225 jne short 07e ech ; 75 f712225 jne short 07ef1h ; 75 f7 12226 12226 mov al, byte [bp+004h] ; 8a 46 04 12227 12227 cmp AL, strict byte 010h ; 3c 10 12228 jne short 07f0 0h ; 75 0412228 jne short 07f05h ; 75 04 12229 12229 xor ax, ax ; 31 c0 12230 jmp short 07f0 2h ; eb 0212230 jmp short 07f07h ; eb 02 12231 12231 xor ah, ah ; 30 e4 12232 12232 mov si, ax ; 89 c6 … … 12236 12236 shr dx, 1 ; d1 ea 12237 12237 rcr ax, 1 ; d1 d8 12238 loop 07f 0ch ; e2 fa12238 loop 07f11h ; e2 fa 12239 12239 mov cx, ax ; 89 c1 12240 12240 and cx, 000f0h ; 81 e1 f0 00 … … 12254 12254 shr dx, 1 ; d1 ea 12255 12255 rcr ax, 1 ; d1 d8 12256 loop 07f3 1h ; e2 fa12256 loop 07f36h ; e2 fa 12257 12257 mov dx, di ; 89 fa 12258 12258 out DX, AL ; ee … … 12261 12261 xor ah, ah ; 30 e4 12262 12262 cmp cx, ax ; 39 c1 12263 jnc short 07f5 3h ; 73 0e12263 jnc short 07f58h ; 73 0e 12264 12264 les si, [bp-00ah] ; c4 76 f6 12265 12265 add si, cx ; 01 ce … … 12268 12268 out DX, AL ; ee 12269 12269 inc cx ; 41 12270 jmp short 07f 3ch ; eb e912270 jmp short 07f41h ; eb e9 12271 12271 lea dx, [di+001h] ; 8d 55 01 12272 12272 cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00 12273 jne short 07f6 2h ; 75 0612273 jne short 07f67h ; 75 06 12274 12274 cmp bx, 08000h ; 81 fb 00 80 12275 jbe short 07f 7dh ; 76 1b12275 jbe short 07f82h ; 76 1b 12276 12276 mov cx, 08000h ; b9 00 80 12277 12277 les si, [bp+006h] ; c4 76 06 … … 12283 12283 add ax, 00800h ; 05 00 08 12284 12284 mov word [bp+008h], ax ; 89 46 08 12285 jmp short 07f5 3h ; eb d612285 jmp short 07f58h ; eb d6 12286 12286 mov cx, bx ; 89 d9 12287 12287 les si, [bp+006h] ; c4 76 06 … … 12293 12293 ; sub ah, ah ; 2a e4 12294 12294 test AL, strict byte 001h ; a8 01 12295 jne short 07f8 5h ; 75 f712295 jne short 07f8ah ; 75 f7 12296 12296 test AL, strict byte 002h ; a8 02 12297 je short 07fa 0h ; 74 0e12297 je short 07fa5h ; 74 0e 12298 12298 lea dx, [di+003h] ; 8d 55 03 12299 12299 xor al, al ; 30 c0 … … 12303 12303 ; sub ah, ah ; 2a e4 12304 12304 mov ax, strict word 00004h ; b8 04 00 12305 jmp short 07fa 2h ; eb 0212305 jmp short 07fa7h ; eb 02 12306 12306 xor ax, ax ; 31 c0 12307 12307 lea sp, [bp-004h] ; 8d 66 fc … … 12310 12310 pop bp ; 5d 12311 12311 retn 0000ah ; c2 0a 00 12312 @scsi_read_sectors: ; 0xf7f abLB 0xe912312 @scsi_read_sectors: ; 0xf7fb0 LB 0xe9 12313 12313 push bp ; 55 12314 12314 mov bp, sp ; 89 e5 … … 12322 12322 mov byte [bp-006h], al ; 88 46 fa 12323 12323 cmp AL, strict byte 004h ; 3c 04 12324 jbe short 07f dbh ; 76 1512324 jbe short 07fe0h ; 76 15 12325 12325 xor ah, ah ; 30 e4 12326 12326 push ax ; 50 … … 12331 12331 mov ax, strict word 00007h ; b8 07 00 12332 12332 push ax ; 50 12333 call 01976h ; e8 9 e9912333 call 01976h ; e8 99 99 12334 12334 add sp, strict byte 00008h ; 83 c4 08 12335 12335 mov es, [bp+006h] ; 8e 46 06 … … 12372 12372 sal word [bp-00ah], 1 ; d1 66 f6 12373 12373 rcl word [bp-008h], 1 ; d1 56 f8 12374 loop 0804 6h ; e2 f812374 loop 0804bh ; e2 f8 12375 12375 push word [bp-008h] ; ff 76 f8 12376 12376 push word [bp-00ah] ; ff 76 f6 … … 12383 12383 mov cx, ss ; 8c d1 12384 12384 lea bx, [bp-01ah] ; 8d 5e e6 12385 call 07e0 1h ; e8 95 fd12385 call 07e06h ; e8 95 fd 12386 12386 mov ah, al ; 88 c4 12387 12387 test al, al ; 84 c0 12388 jne short 0808 7h ; 75 1512388 jne short 0808ch ; 75 15 12389 12389 mov es, [bp+006h] ; 8e 46 06 12390 12390 mov word [es:si+018h], di ; 26 89 7c 18 … … 12400 12400 pop bp ; 5d 12401 12401 retn 00004h ; c2 04 00 12402 @scsi_write_sectors: ; 0xf809 4LB 0xe912402 @scsi_write_sectors: ; 0xf8099 LB 0xe9 12403 12403 push bp ; 55 12404 12404 mov bp, sp ; 89 e5 … … 12412 12412 mov byte [bp-006h], al ; 88 46 fa 12413 12413 cmp AL, strict byte 004h ; 3c 04 12414 jbe short 080c 4h ; 76 1512414 jbe short 080c9h ; 76 15 12415 12415 xor ah, ah ; 30 e4 12416 12416 push ax ; 50 … … 12421 12421 mov ax, strict word 00007h ; b8 07 00 12422 12422 push ax ; 50 12423 call 01976h ; e8 b 59812423 call 01976h ; e8 b0 98 12424 12424 add sp, strict byte 00008h ; 83 c4 08 12425 12425 mov es, [bp+006h] ; 8e 46 06 … … 12462 12462 sal word [bp-00ah], 1 ; d1 66 f6 12463 12463 rcl word [bp-008h], 1 ; d1 56 f8 12464 loop 081 2fh ; e2 f812464 loop 08134h ; e2 f8 12465 12465 push word [bp-008h] ; ff 76 f8 12466 12466 push word [bp-00ah] ; ff 76 f6 … … 12473 12473 mov cx, ss ; 8c d1 12474 12474 lea bx, [bp-01ah] ; 8d 5e e6 12475 call 07ed 6h ; e8 81 fd12475 call 07edbh ; e8 81 fd 12476 12476 mov ah, al ; 88 c4 12477 12477 test al, al ; 84 c0 12478 jne short 0817 0h ; 75 1512478 jne short 08175h ; 75 15 12479 12479 mov es, [bp+006h] ; 8e 46 06 12480 12480 mov word [es:si+018h], di ; 26 89 7c 18 … … 12490 12490 pop bp ; 5d 12491 12491 retn 00004h ; c2 04 00 12492 scsi_cmd_packet_: ; 0xf81 7dLB 0x17012492 scsi_cmd_packet_: ; 0xf8182 LB 0x170 12493 12493 push bp ; 55 12494 12494 mov bp, sp ; 89 e5 … … 12502 12502 mov dx, strict word 0000eh ; ba 0e 00 12503 12503 mov ax, strict word 00040h ; b8 40 00 12504 call 0166eh ; e8 d 59412504 call 0166eh ; e8 d0 94 12505 12505 mov si, 00122h ; be 22 01 12506 12506 mov word [bp-00ch], ax ; 89 46 f4 12507 12507 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12508 jne short 081c 8h ; 75 2312509 mov bx, 00da 6h ; bb a60d12508 jne short 081cdh ; 75 23 12509 mov bx, 00da4h ; bb a4 0d 12510 12510 mov cx, ds ; 8c d9 12511 12511 mov ax, strict word 00004h ; b8 04 00 12512 call 01933h ; e8 839712512 call 01933h ; e8 7e 97 12513 12513 mov ax, 00b62h ; b8 62 0b 12514 12514 push ax ; 50 … … 12517 12517 mov ax, strict word 00004h ; b8 04 00 12518 12518 push ax ; 50 12519 call 01976h ; e8 b 79712519 call 01976h ; e8 b2 97 12520 12520 add sp, strict byte 00006h ; 83 c4 06 12521 12521 mov dx, strict word 00001h ; ba 01 00 12522 jmp near 082e 2h ; e9 1a 0112522 jmp near 082e7h ; e9 1a 01 12523 12523 sub di, strict byte 00008h ; 83 ef 08 12524 12524 sal di, 1 ; d1 e7 … … 12535 12535 ; sub ah, ah ; 2a e4 12536 12536 test AL, strict byte 001h ; a8 01 12537 jne short 081e 5h ; 75 f712537 jne short 081eah ; 75 f7 12538 12538 xor dx, bx ; 31 da 12539 12539 mov ax, word [bp+006h] ; 8b 46 06 … … 12551 12551 shr dx, 1 ; d1 ea 12552 12552 rcr ax, 1 ; d1 d8 12553 loop 0821 0h ; e2 fa12553 loop 08215h ; e2 fa 12554 12554 and ax, 000f0h ; 25 f0 00 12555 12555 mov cl, byte [bp-006h] ; 8a 4e fa … … 12570 12570 shr dx, 1 ; d1 ea 12571 12571 rcr ax, 1 ; d1 d8 12572 loop 0823 8h ; e2 fa12572 loop 0823dh ; e2 fa 12573 12573 mov dx, bx ; 89 da 12574 12574 out DX, AL ; ee … … 12577 12577 xor ah, ah ; 30 e4 12578 12578 cmp cx, ax ; 39 c1 12579 jnc short 082 5dh ; 73 1112579 jnc short 08262h ; 73 11 12580 12580 mov es, [bp-00ah] ; 8e 46 f6 12581 12581 mov di, word [bp-00eh] ; 8b 7e f2 … … 12585 12585 out DX, AL ; ee 12586 12586 inc cx ; 41 12587 jmp short 0824 3h ; eb e612587 jmp short 08248h ; eb e6 12588 12588 mov dx, bx ; 89 da 12589 12589 in AL, DX ; ec … … 12591 12591 ; sub ah, ah ; 2a e4 12592 12592 test AL, strict byte 001h ; a8 01 12593 jne short 082 5dh ; 75 f712593 jne short 08262h ; 75 f7 12594 12594 test AL, strict byte 002h ; a8 02 12595 je short 0827 8h ; 74 0e12595 je short 0827dh ; 74 0e 12596 12596 lea dx, [bx+003h] ; 8d 57 03 12597 12597 xor al, al ; 30 c0 … … 12601 12601 ; sub ah, ah ; 2a e4 12602 12602 mov dx, strict word 00003h ; ba 03 00 12603 jmp short 082e 2h ; eb 6a12603 jmp short 082e7h ; eb 6a 12604 12604 mov ax, word [bp+004h] ; 8b 46 04 12605 12605 test ax, ax ; 85 c0 12606 je short 0828 7h ; 74 0812606 je short 0828ch ; 74 08 12607 12607 lea dx, [bx+001h] ; 8d 57 01 12608 12608 mov cx, ax ; 89 c1 12609 12609 in AL, DX ; ec 12610 loop 0828 4h ; e2 fd12610 loop 08289h ; e2 fd 12611 12611 mov ax, word [bp+006h] ; 8b 46 06 12612 12612 mov es, [bp-00ch] ; 8e 46 f4 … … 12616 12616 lea ax, [bx+001h] ; 8d 47 01 12617 12617 cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00 12618 jne short 082a 8h ; 75 0712618 jne short 082adh ; 75 07 12619 12619 cmp word [bp+006h], 08000h ; 81 7e 06 00 80 12620 jbe short 082c 5h ; 76 1d12620 jbe short 082cah ; 76 1d 12621 12621 mov dx, ax ; 89 c2 12622 12622 mov cx, 08000h ; b9 00 80 … … 12628 12628 add ax, 00800h ; 05 00 08 12629 12629 mov word [bp+00eh], ax ; 89 46 0e 12630 jmp short 0829 8h ; eb d312630 jmp short 0829dh ; eb d3 12631 12631 mov dx, ax ; 89 c2 12632 12632 mov cx, word [bp+006h] ; 8b 4e 06 … … 12635 12635 mov es, [bp-00ch] ; 8e 46 f4 12636 12636 cmp word [es:si+020h], strict byte 00000h ; 26 83 7c 20 00 12637 je short 082e 0h ; 74 0712637 je short 082e5h ; 74 07 12638 12638 mov cx, word [es:si+020h] ; 26 8b 4c 20 12639 12639 in AL, DX ; ec 12640 loop 082 ddh ; e2 fd12640 loop 082e2h ; e2 fd 12641 12641 xor dx, dx ; 31 d2 12642 12642 mov ax, dx ; 89 d0 … … 12646 12646 pop bp ; 5d 12647 12647 retn 0000ch ; c2 0c 00 12648 scsi_enumerate_attached_devices_: ; 0xf82 edLB 0x4cb12648 scsi_enumerate_attached_devices_: ; 0xf82f2 LB 0x4cb 12649 12649 push bp ; 55 12650 12650 mov bp, sp ; 89 e5 … … 12658 12658 mov dx, strict word 0000eh ; ba 0e 00 12659 12659 mov ax, strict word 00040h ; b8 40 00 12660 call 0166eh ; e8 6 b9312660 call 0166eh ; e8 66 93 12661 12661 mov di, 00122h ; bf 22 01 12662 12662 mov word [bp-016h], ax ; 89 46 ea 12663 12663 mov word [bp-014h], strict word 00000h ; c7 46 ec 00 00 12664 jmp near 087 2bh ; e9 1a 0412664 jmp near 08730h ; e9 1a 04 12665 12665 cmp AL, strict byte 004h ; 3c 04 12666 jc short 0831 8h ; 72 0312667 jmp near 087 aeh ; e9 96 0412666 jc short 0831dh ; 72 03 12667 jmp near 087b3h ; e9 96 04 12668 12668 mov cx, strict word 00010h ; b9 10 00 12669 12669 xor bx, bx ; 31 db 12670 12670 mov dx, ss ; 8c d2 12671 12671 lea ax, [bp-048h] ; 8d 46 b8 12672 call 0a0 70h ; e8 4b1d12672 call 0a080h ; e8 56 1d 12673 12673 mov byte [bp-048h], 09eh ; c6 46 b8 9e 12674 12674 mov byte [bp-047h], 010h ; c6 46 b9 10 … … 12688 12688 lea bx, [bp-048h] ; 8d 5e b8 12689 12689 mov ax, word [bp-0024ah] ; 8b 86 b6 fd 12690 call 07e0 1h ; e8 ae fa12690 call 07e06h ; e8 ae fa 12691 12691 test al, al ; 84 c0 12692 je short 0836 9h ; 74 1212692 je short 0836eh ; 74 12 12693 12693 mov ax, 00b92h ; b8 92 0b 12694 12694 push ax ; 50 … … 12697 12697 mov ax, strict word 00007h ; b8 07 00 12698 12698 push ax ; 50 12699 call 01976h ; e8 109612699 call 01976h ; e8 0b 96 12700 12700 add sp, strict byte 00006h ; 83 c4 06 12701 12701 mov ax, word [bp-00242h] ; 8b 86 be fd … … 12729 12729 sal ax, 1 ; d1 e0 12730 12730 rcl dx, 1 ; d1 d2 12731 loop 083b 7h ; e2 fa12731 loop 083bch ; e2 fa 12732 12732 or bx, ax ; 09 c3 12733 12733 or dx, si ; 09 f2 … … 12737 12737 mov word [bp-01ch], bx ; 89 5e e4 12738 12738 test dx, dx ; 85 d2 12739 jne short 083d 6h ; 75 0612739 jne short 083dbh ; 75 06 12740 12740 cmp bx, 00200h ; 81 fb 00 02 12741 je short 083f 9h ; 74 2312742 mov bx, 00da 6h ; bb a60d12741 je short 083feh ; 74 23 12742 mov bx, 00da4h ; bb a4 0d 12743 12743 mov cx, ds ; 8c d9 12744 12744 mov ax, strict word 00004h ; b8 04 00 12745 call 01933h ; e8 529512745 call 01933h ; e8 4d 95 12746 12746 push dx ; 52 12747 12747 push word [bp-01ch] ; ff 76 e4 … … 12751 12751 mov ax, strict word 00004h ; b8 04 00 12752 12752 push ax ; 50 12753 call 01976h ; e8 839512753 call 01976h ; e8 7e 95 12754 12754 add sp, strict byte 0000ah ; 83 c4 0a 12755 jmp near 087 1fh ; e9 26 0312755 jmp near 08724h ; e9 26 03 12756 12756 mov al, byte [bp-00ch] ; 8a 46 f4 12757 12757 cmp AL, strict byte 001h ; 3c 01 12758 jc short 084 0ch ; 72 0c12759 jbe short 0841 4h ; 76 1212758 jc short 08411h ; 72 0c 12759 jbe short 08419h ; 76 12 12760 12760 cmp AL, strict byte 003h ; 3c 03 12761 je short 084 1ch ; 74 1612761 je short 08421h ; 74 16 12762 12762 cmp AL, strict byte 002h ; 3c 02 12763 je short 0841 8h ; 74 0e12764 jmp short 0846 3h ; eb 5712763 je short 0841dh ; 74 0e 12764 jmp short 08468h ; eb 57 12765 12765 test al, al ; 84 c0 12766 jne short 0846 3h ; 75 5312766 jne short 08468h ; 75 53 12767 12767 mov BL, strict byte 090h ; b3 90 12768 jmp short 084 1eh ; eb 0a12768 jmp short 08423h ; eb 0a 12769 12769 mov BL, strict byte 098h ; b3 98 12770 jmp short 084 1eh ; eb 0612770 jmp short 08423h ; eb 06 12771 12771 mov BL, strict byte 0a0h ; b3 a0 12772 jmp short 084 1eh ; eb 0212772 jmp short 08423h ; eb 02 12773 12773 mov BL, strict byte 0a8h ; b3 a8 12774 12774 mov cl, bl ; 88 d9 … … 12776 12776 xor ch, ch ; 30 ed 12777 12777 mov ax, cx ; 89 c8 12778 call 016aeh ; e8 849212778 call 016aeh ; e8 7f 92 12779 12779 test al, al ; 84 c0 12780 je short 0846 3h ; 74 3512780 je short 08468h ; 74 35 12781 12781 mov al, bl ; 88 d8 12782 12782 db 0feh, 0c0h 12783 12783 ; inc al ; fe c0 12784 12784 xor ah, ah ; 30 e4 12785 call 016aeh ; e8 7 79212785 call 016aeh ; e8 72 92 12786 12786 mov dh, al ; 88 c6 12787 12787 mov al, bl ; 88 d8 12788 12788 xor ah, ah ; 30 e4 12789 call 016aeh ; e8 6 e9212789 call 016aeh ; e8 69 92 12790 12790 mov ah, dh ; 88 f4 12791 12791 cwd ; 99 … … 12795 12795 add AL, strict byte 002h ; 04 02 12796 12796 xor ah, ah ; 30 e4 12797 call 016aeh ; e8 5 d9212797 call 016aeh ; e8 58 92 12798 12798 xor ah, ah ; 30 e4 12799 12799 mov word [bp-028h], ax ; 89 46 d8 12800 12800 mov ax, cx ; 89 c8 12801 call 016aeh ; e8 539212801 call 016aeh ; e8 4e 92 12802 12802 xor ah, ah ; 30 e4 12803 12803 mov word [bp-01ah], ax ; 89 46 e6 12804 jmp near 0855 0h ; e9 ed 0012804 jmp near 08555h ; e9 ed 00 12805 12805 mov ax, word [bp-020h] ; 8b 46 e0 12806 12806 mov bx, word [bp-022h] ; 8b 5e de … … 12808 12808 mov dx, word [bp-024h] ; 8b 56 dc 12809 12809 mov si, strict word 0000ch ; be 0c 00 12810 call 0a0 50h ; e8 db1b12810 call 0a060h ; e8 e6 1b 12811 12811 mov word [bp-02ah], ax ; 89 46 d6 12812 12812 mov word [bp-02ch], bx ; 89 5e d4 … … 12815 12815 mov ax, word [bp-020h] ; 8b 46 e0 12816 12816 test ax, ax ; 85 c0 12817 jnbe short 084 9dh ; 77 1512818 je short 084 8dh ; 74 0312819 jmp near 0851 0h ; e9 83 0012817 jnbe short 084a2h ; 77 15 12818 je short 08492h ; 74 03 12819 jmp near 08515h ; e9 83 00 12820 12820 cmp word [bp-022h], strict byte 00000h ; 83 7e de 00 12821 jnbe short 084 9dh ; 77 0a12822 jne short 0848 ah ; 75 f512821 jnbe short 084a2h ; 77 0a 12822 jne short 0848fh ; 75 f5 12823 12823 cmp word [bp-012h], strict byte 00040h ; 83 7e ee 40 12824 jnbe short 084 9dh ; 77 0212825 jne short 0851 0h ; 75 7312824 jnbe short 084a2h ; 77 02 12825 jne short 08515h ; 75 73 12826 12826 mov word [bp-028h], 000ffh ; c7 46 d8 ff 00 12827 12827 mov word [bp-01ah], strict word 0003fh ; c7 46 e6 3f 00 … … 12830 12830 mov dx, word [bp-024h] ; 8b 56 dc 12831 12831 mov si, strict word 00006h ; be 06 00 12832 call 0a0 50h ; e8 9a1b12832 call 0a060h ; e8 a5 1b 12833 12833 mov si, word [bp-018h] ; 8b 76 e8 12834 12834 add si, dx ; 01 d6 … … 12848 12848 mov dx, si ; 89 f2 12849 12849 mov si, strict word 00008h ; be 08 00 12850 call 0a0 50h ; e8 6a1b12850 call 0a060h ; e8 75 1b 12851 12851 mov word [bp-02eh], bx ; 89 5e d2 12852 12852 mov word [bp-030h], cx ; 89 4e d0 … … 12857 12857 mov dx, word [bp-01eh] ; 8b 56 e2 12858 12858 mov si, strict word 00010h ; be 10 00 12859 call 0a0 50h ; e8 4f1b12859 call 0a060h ; e8 5a 1b 12860 12860 mov si, word [bp-032h] ; 8b 76 ce 12861 12861 add si, dx ; 01 d6 … … 12863 12863 mov ax, word [bp-02eh] ; 8b 46 d2 12864 12864 adc ax, bx ; 11 d8 12865 jmp short 085 4dh ; eb 3d12865 jmp short 08552h ; eb 3d 12866 12866 test ax, ax ; 85 c0 12867 jnbe short 0852 6h ; 77 1212868 jne short 0853 2h ; 75 1c12867 jnbe short 0852bh ; 77 12 12868 jne short 08537h ; 75 1c 12869 12869 cmp word [bp-022h], strict byte 00000h ; 83 7e de 00 12870 jnbe short 0852 6h ; 77 0a12871 jne short 0853 2h ; 75 1412870 jnbe short 0852bh ; 77 0a 12871 jne short 08537h ; 75 14 12872 12872 cmp word [bp-012h], strict byte 00020h ; 83 7e ee 20 12873 jnbe short 0852 6h ; 77 0212874 jne short 0853 2h ; 75 0c12873 jnbe short 0852bh ; 77 02 12874 jne short 08537h ; 75 0c 12875 12875 mov word [bp-028h], 00080h ; c7 46 d8 80 00 12876 12876 mov word [bp-01ah], strict word 00020h ; c7 46 e6 20 00 12877 jmp short 085 4bh ; eb 1912877 jmp short 08550h ; eb 19 12878 12878 mov word [bp-028h], strict word 00040h ; c7 46 d8 40 00 12879 12879 mov word [bp-01ah], strict word 00020h ; c7 46 e6 20 00 … … 12882 12882 mov dx, word [bp-024h] ; 8b 56 dc 12883 12883 mov si, strict word 0000bh ; be 0b 00 12884 call 0a0 50h ; e8 051b12884 call 0a060h ; e8 10 1b 12885 12885 mov si, dx ; 89 d6 12886 12886 mov word [bp-026h], cx ; 89 4e da … … 12919 12919 mov word [es:bx+034h], ax ; 26 89 47 34 12920 12920 cmp word [bp-026h], strict byte 00000h ; 83 7e da 00 12921 jne short 085c 7h ; 75 0612921 jne short 085cch ; 75 06 12922 12922 cmp si, 00400h ; 81 fe 00 04 12923 jbe short 085d 5h ; 76 0e12923 jbe short 085dah ; 76 0e 12924 12924 mov word [es:bx+02ch], 00400h ; 26 c7 47 2c 00 04 12925 12925 mov word [es:bx+032h], 00400h ; 26 c7 47 32 00 04 12926 jmp short 085 ddh ; eb 0812926 jmp short 085e2h ; eb 08 12927 12927 mov word [es:bx+02ch], si ; 26 89 77 2c 12928 12928 mov word [es:bx+032h], si ; 26 89 77 32 12929 mov bx, 00da 6h ; bb a60d12929 mov bx, 00da4h ; bb a4 0d 12930 12930 mov cx, ds ; 8c d9 12931 12931 mov ax, strict word 00004h ; b8 04 00 12932 call 01933h ; e8 4 b9312932 call 01933h ; e8 46 93 12933 12933 push word [bp-020h] ; ff 76 e0 12934 12934 push word [bp-022h] ; ff 76 de … … 12947 12947 mov ax, strict word 00004h ; b8 04 00 12948 12948 push ax ; 50 12949 call 01976h ; e8 649312949 call 01976h ; e8 5f 93 12950 12950 add sp, strict byte 00018h ; 83 c4 18 12951 12951 mov al, byte [bp-00eh] ; 8a 46 f2 … … 12976 12976 mov dx, strict word 00075h ; ba 75 00 12977 12977 mov ax, strict word 00040h ; b8 40 00 12978 call 01652h ; e8 e a8f12978 call 01652h ; e8 e5 8f 12979 12979 mov bl, al ; 88 c3 12980 12980 db 0feh, 0c3h … … 12983 12983 mov dx, strict word 00075h ; ba 75 00 12984 12984 mov ax, strict word 00040h ; b8 40 00 12985 call 01660h ; e8 e 98f12985 call 01660h ; e8 e4 8f 12986 12986 inc byte [bp-00ch] ; fe 46 f4 12987 jmp near 0871 4h ; e9 97 0012988 mov bx, 00da 6h ; bb a60d12987 jmp near 08719h ; e9 97 00 12988 mov bx, 00da4h ; bb a4 0d 12989 12989 mov cx, ds ; 8c d9 12990 12990 mov ax, strict word 00004h ; b8 04 00 12991 call 01933h ; e8 a b9212991 call 01933h ; e8 a6 92 12992 12992 push word [bp-014h] ; ff 76 ec 12993 12993 mov al, byte [bp-00ch] ; 8a 46 f4 … … 12998 12998 mov ax, strict word 00004h ; b8 04 00 12999 12999 push ax ; 50 13000 call 01976h ; e8 d a9213000 call 01976h ; e8 d5 92 13001 13001 add sp, strict byte 00008h ; 83 c4 08 13002 13002 mov al, byte [bp-00ch] ; 8a 46 f4 … … 13004 13004 mov byte [bp-00eh], al ; 88 46 f2 13005 13005 test byte [bp-00247h], 080h ; f6 86 b9 fd 80 13006 je short 086b 3h ; 74 0513006 je short 086b8h ; 74 05 13007 13007 mov cx, strict word 00001h ; b9 01 00 13008 jmp short 086b 5h ; eb 0213008 jmp short 086bah ; eb 02 13009 13009 xor cx, cx ; 31 c9 13010 13010 mov al, byte [bp-00ch] ; 8a 46 f4 … … 13044 13044 inc word [bp-014h] ; ff 46 ec 13045 13045 cmp word [bp-014h], strict byte 00010h ; 83 7e ec 10 13046 jl short 087 2bh ; 7c 0313047 jmp near 087 aeh ; e9 83 0013046 jl short 08730h ; 7c 03 13047 jmp near 087b3h ; e9 83 00 13048 13048 mov byte [bp-048h], 012h ; c6 46 b8 12 13049 13049 xor al, al ; 30 c0 … … 13067 13067 lea bx, [bp-048h] ; 8d 5e b8 13068 13068 mov ax, word [bp-0024ah] ; 8b 86 b6 fd 13069 call 07e0 1h ; e8 9e f613069 call 07e06h ; e8 9e f6 13070 13070 test al, al ; 84 c0 13071 je short 0877 9h ; 74 1213071 je short 0877eh ; 74 12 13072 13072 mov ax, 00b92h ; b8 92 0b 13073 13073 push ax ; 50 … … 13076 13076 mov ax, strict word 00007h ; b8 07 00 13077 13077 push ax ; 50 13078 call 01976h ; e8 00 9213078 call 01976h ; e8 fb 91 13079 13079 add sp, strict byte 00006h ; 83 c4 06 13080 13080 mov es, [bp-016h] ; 8e 46 ea … … 13082 13082 mov byte [bp-00ch], al ; 88 46 f4 13083 13083 test byte [bp-00248h], 0e0h ; f6 86 b8 fd e0 13084 jne short 0879 5h ; 75 0a13084 jne short 0879ah ; 75 0a 13085 13085 test byte [bp-00248h], 01fh ; f6 86 b8 fd 1f 13086 jne short 0879 5h ; 75 0313087 jmp near 0831 1h ; e9 7c fb13086 jne short 0879ah ; 75 03 13087 jmp near 08316h ; e9 7c fb 13088 13088 test byte [bp-00248h], 0e0h ; f6 86 b8 fd e0 13089 je short 087 9fh ; 74 0313090 jmp near 0871 4h ; e9 75 ff13089 je short 087a4h ; 74 03 13090 jmp near 08719h ; e9 75 ff 13091 13091 mov al, byte [bp-00248h] ; 8a 86 b8 fd 13092 13092 and AL, strict byte 01fh ; 24 1f 13093 13093 cmp AL, strict byte 005h ; 3c 05 13094 jne short 087 ach ; 75 0313095 jmp near 086 7dh ; e9 d1 fe13096 jmp short 087 9ch ; eb ee13094 jne short 087b1h ; 75 03 13095 jmp near 08682h ; e9 d1 fe 13096 jmp short 087a1h ; eb ee 13097 13097 lea sp, [bp-00ah] ; 8d 66 f6 13098 13098 pop di ; 5f … … 13103 13103 pop bp ; 5d 13104 13104 retn ; c3 13105 _scsi_init: ; 0xf87b 8LB 0x6613105 _scsi_init: ; 0xf87bd LB 0x66 13106 13106 push bp ; 55 13107 13107 mov bp, sp ; 89 e5 13108 13108 mov dx, strict word 0000eh ; ba 0e 00 13109 13109 mov ax, strict word 00040h ; b8 40 00 13110 call 0166eh ; e8 a a8e13110 call 0166eh ; e8 a5 8e 13111 13111 mov bx, 00122h ; bb 22 01 13112 13112 mov es, ax ; 8e c0 … … 13119 13119 ; sub ah, ah ; 2a e4 13120 13120 cmp AL, strict byte 055h ; 3c 55 13121 jne short 087e 8h ; 75 0c13121 jne short 087edh ; 75 0c 13122 13122 xor al, al ; 30 c0 13123 13123 mov dx, 00433h ; ba 33 04 13124 13124 out DX, AL ; ee 13125 13125 mov ax, 00430h ; b8 30 04 13126 call 082 edh ; e8 05 fb13126 call 082f2h ; e8 05 fb 13127 13127 mov AL, strict byte 055h ; b0 55 13128 13128 mov dx, 00436h ; ba 36 04 … … 13132 13132 ; sub ah, ah ; 2a e4 13133 13133 cmp AL, strict byte 055h ; 3c 55 13134 jne short 0880 1h ; 75 0c13134 jne short 08806h ; 75 0c 13135 13135 xor al, al ; 30 c0 13136 13136 mov dx, 00437h ; ba 37 04 13137 13137 out DX, AL ; ee 13138 13138 mov ax, 00434h ; b8 34 04 13139 call 082 edh ; e8 ec fa13139 call 082f2h ; e8 ec fa 13140 13140 mov AL, strict byte 055h ; b0 55 13141 13141 mov dx, 0043ah ; ba 3a 04 … … 13145 13145 ; sub ah, ah ; 2a e4 13146 13146 cmp AL, strict byte 055h ; 3c 55 13147 jne short 0881 ah ; 75 0c13147 jne short 0881fh ; 75 0c 13148 13148 xor al, al ; 30 c0 13149 13149 mov dx, 0043bh ; ba 3b 04 13150 13150 out DX, AL ; ee 13151 13151 mov ax, 00438h ; b8 38 04 13152 call 082 edh ; e8 d3 fa13152 call 082f2h ; e8 d3 fa 13153 13153 mov sp, bp ; 89 ec 13154 13154 pop bp ; 5d 13155 13155 retn ; c3 13156 ahci_ctrl_extract_bits_: ; 0xf88 1eLB 0x1c13156 ahci_ctrl_extract_bits_: ; 0xf8823 LB 0x1c 13157 13157 push si ; 56 13158 13158 push bp ; 55 … … 13163 13163 mov cl, byte [bp+006h] ; 8a 4e 06 13164 13164 xor ch, ch ; 30 ed 13165 jcxz 0883 5h ; e3 0613165 jcxz 0883ah ; e3 06 13166 13166 shr dx, 1 ; d1 ea 13167 13167 rcr ax, 1 ; d1 d8 13168 loop 088 2fh ; e2 fa13168 loop 08834h ; e2 fa 13169 13169 pop bp ; 5d 13170 13170 pop si ; 5e 13171 13171 retn 00002h ; c2 02 00 13172 ahci_addr_to_phys_: ; 0xf883 aLB 0x1e13172 ahci_addr_to_phys_: ; 0xf883f LB 0x1e 13173 13173 push bx ; 53 13174 13174 push cx ; 51 … … 13181 13181 sal ax, 1 ; d1 e0 13182 13182 rcl dx, 1 ; d1 d2 13183 loop 0884 8h ; e2 fa13183 loop 0884dh ; e2 fa 13184 13184 xor cx, cx ; 31 c9 13185 13185 add ax, bx ; 01 d8 … … 13189 13189 pop bx ; 5b 13190 13190 retn ; c3 13191 ahci_port_cmd_sync_: ; 0xf885 8LB 0x15913191 ahci_port_cmd_sync_: ; 0xf885d LB 0x159 13192 13192 push bp ; 55 13193 13193 mov bp, sp ; 89 e5 … … 13204 13204 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 13205 13205 cmp AL, strict byte 0ffh ; 3c ff 13206 jne short 088 7bh ; 75 0313207 jmp near 089a 9h ; e9 2e 0113206 jne short 08880h ; 75 03 13207 jmp near 089aeh ; e9 2e 01 13208 13208 mov al, byte [es:si+00263h] ; 26 8a 84 63 02 13209 13209 xor ah, ah ; 30 e4 … … 13218 13218 lea ax, [si+00080h] ; 8d 84 80 00 13219 13219 mov dx, cx ; 89 ca 13220 call 0883 ah ; e8 92 ff13220 call 0883fh ; e8 92 ff 13221 13221 mov es, cx ; 8e c1 13222 13222 mov word [es:si+008h], ax ; 26 89 44 08 … … 13286 13286 xchg dx, ax ; 92 13287 13287 test dh, 040h ; f6 c6 40 13288 jne short 089 3bh ; 75 0413288 jne short 08940h ; 75 04 13289 13289 test AL, strict byte 001h ; a8 01 13290 je short 089 3fh ; 74 0413290 je short 08944h ; 74 04 13291 13291 mov AL, strict byte 001h ; b0 01 13292 jmp short 0894 1h ; eb 0213292 jmp short 08946h ; eb 02 13293 13293 xor al, al ; 30 c0 13294 13294 test al, al ; 84 c0 13295 je short 089 0dh ; 74 c813295 je short 08912h ; 74 c8 13296 13296 mov al, byte [bp-008h] ; 8a 46 f8 13297 13297 xor ah, ah ; 30 e4 … … 13350 13350 pop bp ; 5d 13351 13351 retn ; c3 13352 ahci_cmd_data_: ; 0xf89b 1LB 0x26213352 ahci_cmd_data_: ; 0xf89b6 LB 0x262 13353 13353 push bp ; 55 13354 13354 mov bp, sp ; 89 e5 … … 13375 13375 mov ax, 00080h ; b8 80 00 13376 13376 mov dx, word [bp-00ah] ; 8b 56 f6 13377 call 0a0 70h ; e8 811613377 call 0a080h ; e8 8c 16 13378 13378 mov es, [bp-00ah] ; 8e 46 f6 13379 13379 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 13393 13393 mov dx, word [es:si] ; 26 8b 14 13394 13394 mov si, strict word 00008h ; be 08 00 13395 call 0a0 50h ; e8 1d1613395 call 0a060h ; e8 28 16 13396 13396 mov es, [bp-00ah] ; 8e 46 f6 13397 13397 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 13404 13404 mov dx, word [es:si] ; 26 8b 14 13405 13405 mov si, strict word 00010h ; be 10 00 13406 call 0a0 50h ; e8 f7 1513406 call 0a060h ; e8 02 16 13407 13407 mov es, [bp-00ah] ; 8e 46 f6 13408 13408 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 13416 13416 mov dx, word [es:si] ; 26 8b 14 13417 13417 mov si, strict word 00018h ; be 18 00 13418 call 0a0 50h ; e8 cb1513418 call 0a060h ; e8 d6 15 13419 13419 mov es, [bp-00ah] ; 8e 46 f6 13420 13420 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 13427 13427 mov dx, word [es:si] ; 26 8b 14 13428 13428 mov si, strict word 00020h ; be 20 00 13429 call 0a0 50h ; e8 a51513429 call 0a060h ; e8 b0 15 13430 13430 mov es, [bp-00ah] ; 8e 46 f6 13431 13431 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 13438 13438 mov dx, word [es:si] ; 26 8b 14 13439 13439 mov si, strict word 00028h ; be 28 00 13440 call 0a0 50h ; e8 7f1513440 call 0a060h ; e8 8a 15 13441 13441 mov es, [bp-00ah] ; 8e 46 f6 13442 13442 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 13451 13451 mov bx, word [bp-012h] ; 8b 5e ee 13452 13452 xor cx, cx ; 31 c9 13453 call 0a0 00h ; e8 fd 1413453 call 0a010h ; e8 08 15 13454 13454 push dx ; 52 13455 13455 push ax ; 50 … … 13461 13461 mov ax, 0026ah ; b8 6a 02 13462 13462 mov dx, word [bp-00ah] ; 8b 56 f6 13463 call 09f5 ah ; e8 3b 1413463 call 09f5fh ; e8 3b 14 13464 13464 mov es, [bp-00ah] ; 8e 46 f6 13465 13465 mov dx, word [es:di+0027eh] ; 26 8b 95 7e 02 … … 13485 13485 mov ax, word [es:bx+020h] ; 26 8b 47 20 13486 13486 test ax, ax ; 85 c0 13487 je short 08b afh ; 74 3913487 je short 08bb4h ; 74 39 13488 13488 dec ax ; 48 13489 13489 mov es, [bp-00ah] ; 8e 46 f6 … … 13503 13503 mov al, byte [bp-008h] ; 8a 46 f8 13504 13504 cmp AL, strict byte 035h ; 3c 35 13505 jne short 08b bch ; 75 0613505 jne short 08bc1h ; 75 06 13506 13506 mov byte [bp-008h], 040h ; c6 46 f8 40 13507 jmp short 08bd 3h ; eb 1713507 jmp short 08bd8h ; eb 17 13508 13508 cmp AL, strict byte 0a0h ; 3c a0 13509 jne short 08b cfh ; 75 0f13509 jne short 08bd4h ; 75 0f 13510 13510 or byte [bp-008h], 020h ; 80 4e f8 20 13511 13511 les bx, [bp-00eh] ; c4 5e f2 13512 13512 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 13513 jmp short 08bd 3h ; eb 0413513 jmp short 08bd8h ; eb 04 13514 13514 mov byte [bp-008h], 000h ; c6 46 f8 00 13515 13515 or byte [bp-008h], 005h ; 80 4e f8 05 … … 13518 13518 mov ax, word [bp-00eh] ; 8b 46 f2 13519 13519 mov dx, word [bp-00ch] ; 8b 56 f4 13520 call 0885 8h ; e8 73 fc13520 call 0885dh ; e8 73 fc 13521 13521 mov cx, word [bp-00ch] ; 8b 4e f4 13522 13522 mov bx, word [bp-00eh] ; 8b 5e f2 … … 13525 13525 add ax, 0026ah ; 05 6a 02 13526 13526 mov dx, cx ; 89 ca 13527 call 09fd 1h ; e8 d7 1313527 call 09fd6h ; e8 d7 13 13528 13528 mov es, cx ; 8e c1 13529 13529 mov al, byte [es:bx+003h] ; 26 8a 47 03 13530 13530 test al, al ; 84 c0 13531 je short 08c0 9h ; 74 0513531 je short 08c0eh ; 74 05 13532 13532 mov ax, strict word 00004h ; b8 04 00 13533 jmp short 08c 0bh ; eb 0213533 jmp short 08c10h ; eb 02 13534 13534 xor ah, ah ; 30 e4 13535 13535 lea sp, [bp-006h] ; 8d 66 fa … … 13539 13539 pop bp ; 5d 13540 13540 retn ; c3 13541 ahci_port_deinit_current_: ; 0xf8c1 3LB 0x18313541 ahci_port_deinit_current_: ; 0xf8c18 LB 0x183 13542 13542 push bp ; 55 13543 13543 mov bp, sp ; 89 e5 … … 13554 13554 mov byte [bp-00ah], al ; 88 46 f6 13555 13555 cmp AL, strict byte 0ffh ; 3c ff 13556 je short 08c9 6h ; 74 6113556 je short 08c9bh ; 74 61 13557 13557 xor ah, ah ; 30 e4 13558 13558 mov CL, strict byte 007h ; b1 07 … … 13600 13600 xchg dx, ax ; 92 13601 13601 test ax, 0c011h ; a9 11 c0 13602 je short 08c9 9h ; 74 0713602 je short 08c9eh ; 74 07 13603 13603 mov AL, strict byte 001h ; b0 01 13604 jmp short 08c 9bh ; eb 0513605 jmp near 08d 8dh ; e9 f4 0013604 jmp short 08ca0h ; eb 05 13605 jmp near 08d92h ; e9 f4 00 13606 13606 xor al, al ; 30 c0 13607 13607 cmp AL, strict byte 001h ; 3c 01 13608 je short 08c6 8h ; 74 c913608 je short 08c6dh ; 74 c9 13609 13609 mov cx, strict word 00020h ; b9 20 00 13610 13610 xor bx, bx ; 31 db 13611 13611 mov ax, di ; 89 f8 13612 13612 mov dx, word [bp-00eh] ; 8b 56 f2 13613 call 0a0 70h ; e8 c41313613 call 0a080h ; e8 cf 13 13614 13614 lea ax, [di+00080h] ; 8d 85 80 00 13615 13615 mov cx, strict word 00040h ; b9 40 00 13616 13616 xor bx, bx ; 31 db 13617 13617 mov dx, word [bp-00eh] ; 8b 56 f2 13618 call 0a0 70h ; e8 b51313618 call 0a080h ; e8 c0 13 13619 13619 lea ax, [di+00200h] ; 8d 85 00 02 13620 13620 mov cx, strict word 00060h ; b9 60 00 13621 13621 xor bx, bx ; 31 db 13622 13622 mov dx, word [bp-00eh] ; 8b 56 f2 13623 call 0a0 70h ; e8 a61313623 call 0a080h ; e8 b1 13 13624 13624 mov al, byte [bp-00ah] ; 8a 46 f6 13625 13625 xor ah, ah ; 30 e4 … … 13727 13727 pop bp ; 5d 13728 13728 retn ; c3 13729 ahci_port_init_: ; 0xf8d9 6LB 0x25013729 ahci_port_init_: ; 0xf8d9b LB 0x250 13730 13730 push bp ; 55 13731 13731 mov bp, sp ; 89 e5 … … 13737 13737 mov word [bp-00ah], dx ; 89 56 f6 13738 13738 mov byte [bp-008h], bl ; 88 5e f8 13739 call 08c1 3h ; e8 69 fe13739 call 08c18h ; e8 69 fe 13740 13740 mov al, bl ; 88 d8 13741 13741 xor ah, ah ; 30 e4 … … 13788 13788 xchg dx, ax ; 92 13789 13789 test ax, 0c011h ; a9 11 c0 13790 je short 08e 1dh ; 74 0413790 je short 08e22h ; 74 04 13791 13791 mov AL, strict byte 001h ; b0 01 13792 jmp short 08e 1fh ; eb 0213792 jmp short 08e24h ; eb 02 13793 13793 xor al, al ; 30 c0 13794 13794 cmp AL, strict byte 001h ; 3c 01 13795 je short 08de 7h ; 74 c413795 je short 08dech ; 74 c4 13796 13796 mov cx, strict word 00020h ; b9 20 00 13797 13797 xor bx, bx ; 31 db 13798 13798 mov ax, si ; 89 f0 13799 13799 mov dx, word [bp-00ah] ; 8b 56 f6 13800 call 0a0 70h ; e8 401213800 call 0a080h ; e8 4b 12 13801 13801 lea ax, [si+00080h] ; 8d 84 80 00 13802 13802 mov cx, strict word 00040h ; b9 40 00 13803 13803 xor bx, bx ; 31 db 13804 13804 mov dx, word [bp-00ah] ; 8b 56 f6 13805 call 0a0 70h ; e8 311213805 call 0a080h ; e8 3c 12 13806 13806 lea di, [si+00200h] ; 8d bc 00 02 13807 13807 mov cx, strict word 00060h ; b9 60 00 … … 13809 13809 mov ax, di ; 89 f8 13810 13810 mov dx, word [bp-00ah] ; 8b 56 f6 13811 call 0a0 70h ; e8 201213811 call 0a080h ; e8 2b 12 13812 13812 mov bl, byte [bp-008h] ; 8a 5e f8 13813 13813 xor bh, bh ; 30 ff … … 13828 13828 mov ax, di ; 89 f8 13829 13829 mov dx, word [bp-00ah] ; 8b 56 f6 13830 call 0883 ah ; e8 bb f913830 call 0883fh ; e8 bb f9 13831 13831 mov es, [bp-00ah] ; 8e 46 f6 13832 13832 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13873 13873 mov ax, si ; 89 f0 13874 13874 mov dx, word [bp-00ah] ; 8b 56 f6 13875 call 0883 ah ; e8 4f f913875 call 0883fh ; e8 4f f9 13876 13876 mov es, [bp-00ah] ; 8e 46 f6 13877 13877 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13978 13978 pop bp ; 5d 13979 13979 retn ; c3 13980 @ahci_read_sectors: ; 0xf8fe 6LB 0xaa13980 @ahci_read_sectors: ; 0xf8feb LB 0xaa 13981 13981 push bp ; 55 13982 13982 mov bp, sp ; 89 e5 … … 13989 13989 sub di, strict byte 0000ch ; 83 ef 0c 13990 13990 cmp di, strict byte 00004h ; 83 ff 04 13991 jbe short 0901 1h ; 76 1313991 jbe short 09016h ; 76 13 13992 13992 push di ; 57 13993 13993 mov ax, 00c62h ; b8 62 0c … … 13997 13997 mov ax, strict word 00007h ; b8 07 00 13998 13998 push ax ; 50 13999 call 01976h ; e8 6 88913999 call 01976h ; e8 63 89 14000 14000 add sp, strict byte 00008h ; 83 c4 08 14001 14001 xor bx, bx ; 31 db … … 14011 14011 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14012 14012 xor ax, ax ; 31 c0 14013 call 08d9 6h ; e8 5a fd14013 call 08d9bh ; e8 5a fd 14014 14014 mov bx, strict word 00025h ; bb 25 00 14015 14015 mov ax, si ; 89 f0 14016 14016 mov dx, word [bp+006h] ; 8b 56 06 14017 call 089b 1h ; e8 6a f914017 call 089b6h ; e8 6a f9 14018 14018 mov bx, ax ; 89 c3 14019 14019 mov es, [bp+006h] ; 8e 46 06 … … 14045 14045 pop bp ; 5d 14046 14046 retn 00004h ; c2 04 00 14047 @ahci_write_sectors: ; 0xf909 0LB 0x8814047 @ahci_write_sectors: ; 0xf9095 LB 0x88 14048 14048 push bp ; 55 14049 14049 mov bp, sp ; 89 e5 … … 14057 14057 sub bx, strict byte 0000ch ; 83 eb 0c 14058 14058 cmp bx, strict byte 00004h ; 83 fb 04 14059 jbe short 090 beh ; 76 1314059 jbe short 090c3h ; 76 13 14060 14060 push bx ; 53 14061 14061 mov ax, 00c93h ; b8 93 0c … … 14065 14065 mov ax, strict word 00007h ; b8 07 00 14066 14066 push ax ; 50 14067 call 01976h ; e8 b b8814067 call 01976h ; e8 b6 88 14068 14068 add sp, strict byte 00008h ; 83 c4 08 14069 14069 xor di, di ; 31 ff … … 14079 14079 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14080 14080 xor ax, ax ; 31 c0 14081 call 08d9 6h ; e8 af fc14081 call 08d9bh ; e8 af fc 14082 14082 mov bx, strict word 00035h ; bb 35 00 14083 14083 mov ax, si ; 89 f0 14084 14084 mov dx, cx ; 89 ca 14085 call 089b 1h ; e8 c0 f814085 call 089b6h ; e8 c0 f8 14086 14086 mov dx, ax ; 89 c2 14087 14087 mov es, cx ; 8e c1 … … 14098 14098 pop bp ; 5d 14099 14099 retn 00004h ; c2 04 00 14100 ahci_cmd_packet_: ; 0xf911 8LB 0x18c14100 ahci_cmd_packet_: ; 0xf911d LB 0x18c 14101 14101 push bp ; 55 14102 14102 mov bp, sp ; 89 e5 … … 14110 14110 mov dx, strict word 0000eh ; ba 0e 00 14111 14111 mov ax, strict word 00040h ; b8 40 00 14112 call 0166eh ; e8 3 b8514112 call 0166eh ; e8 36 85 14113 14113 mov si, 00122h ; be 22 01 14114 14114 mov word [bp-008h], ax ; 89 46 f8 14115 14115 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 14116 jne short 0916 2h ; 75 2314117 mov bx, 00da 6h ; bb a60d14116 jne short 09167h ; 75 23 14117 mov bx, 00da4h ; bb a4 0d 14118 14118 mov cx, ds ; 8c d9 14119 14119 mov ax, strict word 00004h ; b8 04 00 14120 call 01933h ; e8 e 98714120 call 01933h ; e8 e4 87 14121 14121 mov ax, 00ca6h ; b8 a6 0c 14122 14122 push ax ; 50 … … 14125 14125 mov ax, strict word 00004h ; b8 04 00 14126 14126 push ax ; 50 14127 call 01976h ; e8 1 d8814127 call 01976h ; e8 18 88 14128 14128 add sp, strict byte 00006h ; 83 c4 06 14129 14129 mov ax, strict word 00001h ; b8 01 00 14130 jmp near 092 9bh ; e9 39 0114130 jmp near 092a0h ; e9 39 01 14131 14131 test byte [bp+004h], 001h ; f6 46 04 01 14132 jne short 091 5ch ; 75 f414132 jne short 09161h ; 75 f4 14133 14133 mov bx, word [bp+006h] ; 8b 5e 06 14134 14134 mov di, word [bp+008h] ; 8b 7e 08 … … 14136 14136 sal bx, 1 ; d1 e3 14137 14137 rcl di, 1 ; d1 d7 14138 loop 0917 1h ; e2 fa14138 loop 09176h ; e2 fa 14139 14139 mov es, [bp-008h] ; 8e 46 f8 14140 14140 mov word [es:si], bx ; 26 89 1c … … 14150 14150 mov dx, word [bp+008h] ; 8b 56 08 14151 14151 xor cx, cx ; 31 c9 14152 call 0a0 20h ; e8 760e14152 call 0a030h ; e8 81 0e 14153 14153 mov word [es:si+00eh], ax ; 26 89 44 0e 14154 14154 xor di, di ; 31 ff … … 14168 14168 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14169 14169 xor ax, ax ; 31 c0 14170 call 08d9 6h ; e8 af fb14170 call 08d9bh ; e8 af fb 14171 14171 mov al, byte [bp-006h] ; 8a 46 fa 14172 14172 xor ah, ah ; 30 e4 … … 14176 14176 mov ax, 000c0h ; b8 c0 00 14177 14177 mov dx, word [bp-00ah] ; 8b 56 f6 14178 call 0a0 80h ; e8 840e14178 call 0a090h ; e8 8f 0e 14179 14179 mov es, [bp-008h] ; 8e 46 f8 14180 14180 mov word [es:si+018h], di ; 26 89 7c 18 … … 14183 14183 mov ax, word [es:si+01eh] ; 26 8b 44 1e 14184 14184 test ax, ax ; 85 c0 14185 je short 0923 ah ; 74 2714185 je short 0923fh ; 74 27 14186 14186 dec ax ; 48 14187 14187 mov es, [bp-00ah] ; 8e 46 f6 … … 14196 14196 mov ax, si ; 89 f0 14197 14197 mov dx, word [bp-008h] ; 8b 56 f8 14198 call 089b 1h ; e8 6c f714198 call 089b6h ; e8 6c f7 14199 14199 les bx, [bp-00eh] ; c4 5e f2 14200 14200 mov dx, word [es:bx+004h] ; 26 8b 57 04 … … 14223 14223 mov ax, word [es:bx+006h] ; 26 8b 47 06 14224 14224 or ax, word [es:bx+004h] ; 26 0b 47 04 14225 jne short 0929 9h ; 75 0514225 jne short 0929eh ; 75 05 14226 14226 mov ax, strict word 00004h ; b8 04 00 14227 jmp short 092 9bh ; eb 0214227 jmp short 092a0h ; eb 02 14228 14228 xor ax, ax ; 31 c0 14229 14229 lea sp, [bp-004h] ; 8d 66 fc … … 14232 14232 pop bp ; 5d 14233 14233 retn 0000ch ; c2 0c 00 14234 ahci_port_detect_device_: ; 0xf92a 4LB 0x4fe14234 ahci_port_detect_device_: ; 0xf92a9 LB 0x4fe 14235 14235 push bp ; 55 14236 14236 mov bp, sp ; 89 e5 … … 14248 14248 mov bx, word [bp-020h] ; 8b 5e e0 14249 14249 mov ax, si ; 89 f0 14250 call 08d9 6h ; e8 ce fa14250 call 08d9bh ; e8 ce fa 14251 14251 mov dx, strict word 0000eh ; ba 0e 00 14252 14252 mov ax, strict word 00040h ; b8 40 00 14253 call 0166eh ; e8 9 d8314253 call 0166eh ; e8 98 83 14254 14254 mov word [bp-01ah], 00122h ; c7 46 e6 22 01 14255 14255 mov word [bp-00eh], ax ; 89 46 f2 … … 14323 14323 mov bx, strict word 0000fh ; bb 0f 00 14324 14324 xor cx, cx ; 31 c9 14325 call 088 1eh ; e8 9f f414325 call 08823h ; e8 9f f4 14326 14326 test ax, ax ; 85 c0 14327 jne short 0938 6h ; 75 0314328 jmp near 0979 ah ; e9 14 0414327 jne short 0938bh ; 75 03 14328 jmp near 0979fh ; e9 14 04 14329 14329 mov al, byte [bp-008h] ; 8a 46 f8 14330 14330 xor ah, ah ; 30 e4 … … 14358 14358 xor cx, cx ; 31 c9 14359 14359 mov ax, di ; 89 f8 14360 call 088 1eh ; e8 4d f414360 call 08823h ; e8 4d f4 14361 14361 cmp ax, strict word 00001h ; 3d 01 00 14362 je short 0938 6h ; 74 b014362 je short 0938bh ; 74 b0 14363 14363 xor ax, ax ; 31 c0 14364 14364 push ax ; 50 … … 14367 14367 mov ax, di ; 89 f8 14368 14368 mov dx, word [bp-01ch] ; 8b 56 e4 14369 call 088 1eh ; e8 38 f414369 call 08823h ; e8 38 f4 14370 14370 cmp ax, strict word 00003h ; 3d 03 00 14371 jne short 0938 3h ; 75 9814371 jne short 09388h ; 75 98 14372 14372 mov ax, word [bp-016h] ; 8b 46 ea 14373 14373 add ax, 00130h ; 05 30 01 … … 14397 14397 mov byte [bp-00ch], al ; 88 46 f4 14398 14398 cmp AL, strict byte 004h ; 3c 04 14399 jc short 0943 5h ; 72 0314400 jmp near 0979 ah ; e9 65 0314399 jc short 0943ah ; 72 03 14400 jmp near 0979fh ; e9 65 03 14401 14401 mov ax, word [bp-016h] ; 8b 46 ea 14402 14402 add ax, 00118h ; 05 18 01 … … 14450 14450 add cl, 00ch ; 80 c1 0c 14451 14451 test dx, dx ; 85 d2 14452 jne short 0950 0h ; 75 5514452 jne short 09505h ; 75 55 14453 14453 cmp bx, 00101h ; 81 fb 01 01 14454 jne short 0950 0h ; 75 4f14454 jne short 09505h ; 75 4f 14455 14455 mov es, [bp-00eh] ; 8e 46 f2 14456 14456 mov bx, word [bp-01ah] ; 8b 5e e6 … … 14467 14467 mov ax, word [bp-01ah] ; 8b 46 e6 14468 14468 mov dx, es ; 8c c2 14469 call 089b 1h ; e8 c0 f414469 call 089b6h ; e8 c0 f4 14470 14470 mov byte [bp-00ah], cl ; 88 4e f6 14471 14471 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14472 je short 0950 3h ; 74 0814472 je short 09508h ; 74 08 14473 14473 mov ax, strict word 00001h ; b8 01 00 14474 jmp short 0950 5h ; eb 0514475 jmp near 096d 5h ; e9 d2 0114474 jmp short 0950ah ; eb 05 14475 jmp near 096dah ; e9 d2 01 14476 14476 xor ax, ax ; 31 c0 14477 14477 mov cl, al ; 88 c1 … … 14489 14489 mov word [bp-012h], ax ; 89 46 ee 14490 14490 cmp di, 00fffh ; 81 ff ff 0f 14491 jne short 0955 4h ; 75 1f14491 jne short 09559h ; 75 1f 14492 14492 cmp word [bp-014h], strict byte 0ffffh ; 83 7e ec ff 14493 jne short 0955 4h ; 75 1914493 jne short 09559h ; 75 19 14494 14494 mov ax, word [bp-0015ch] ; 8b 86 a4 fe 14495 14495 mov word [bp-012h], ax ; 89 46 ee … … 14531 14531 mov al, byte [bp-00ch] ; 8a 46 f4 14532 14532 cmp AL, strict byte 001h ; 3c 01 14533 jc short 095d 1h ; 72 0c14534 jbe short 095d 9h ; 76 1214533 jc short 095d6h ; 72 0c 14534 jbe short 095deh ; 76 12 14535 14535 cmp AL, strict byte 003h ; 3c 03 14536 je short 095e 1h ; 74 1614536 je short 095e6h ; 74 16 14537 14537 cmp AL, strict byte 002h ; 3c 02 14538 je short 095 ddh ; 74 0e14539 jmp short 0962 4h ; eb 5314538 je short 095e2h ; 74 0e 14539 jmp short 09629h ; eb 53 14540 14540 test al, al ; 84 c0 14541 jne short 0962 4h ; 75 4f14541 jne short 09629h ; 75 4f 14542 14542 mov DL, strict byte 040h ; b2 40 14543 jmp short 095e 3h ; eb 0a14543 jmp short 095e8h ; eb 0a 14544 14544 mov DL, strict byte 048h ; b2 48 14545 jmp short 095e 3h ; eb 0614545 jmp short 095e8h ; eb 06 14546 14546 mov DL, strict byte 050h ; b2 50 14547 jmp short 095e 3h ; eb 0214547 jmp short 095e8h ; eb 02 14548 14548 mov DL, strict byte 058h ; b2 58 14549 14549 mov bl, dl ; 88 d3 … … 14551 14551 xor bh, bh ; 30 ff 14552 14552 mov ax, bx ; 89 d8 14553 call 016aeh ; e8 b f8014553 call 016aeh ; e8 ba 80 14554 14554 test al, al ; 84 c0 14555 je short 0962 4h ; 74 3114555 je short 09629h ; 74 31 14556 14556 mov al, dl ; 88 d0 14557 14557 db 0feh, 0c0h 14558 14558 ; inc al ; fe c0 14559 14559 xor ah, ah ; 30 e4 14560 call 016aeh ; e8 b28014560 call 016aeh ; e8 ad 80 14561 14561 mov ch, al ; 88 c5 14562 14562 mov al, dl ; 88 d0 14563 14563 xor ah, ah ; 30 e4 14564 call 016aeh ; e8 a 98014564 call 016aeh ; e8 a4 80 14565 14565 mov ah, ch ; 88 ec 14566 14566 mov word [bp-028h], ax ; 89 46 d8 … … 14568 14568 add AL, strict byte 002h ; 04 02 14569 14569 xor ah, ah ; 30 e4 14570 call 016aeh ; e8 9 b8014570 call 016aeh ; e8 96 80 14571 14571 xor ah, ah ; 30 e4 14572 14572 mov word [bp-02ah], ax ; 89 46 d6 14573 14573 mov ax, bx ; 89 d8 14574 call 016aeh ; e8 918014574 call 016aeh ; e8 8c 80 14575 14575 xor ah, ah ; 30 e4 14576 14576 mov word [bp-026h], ax ; 89 46 da 14577 jmp short 0963 6h ; eb 1214577 jmp short 0963bh ; eb 12 14578 14578 push word [bp-012h] ; ff 76 ee 14579 14579 push word [bp-01eh] ; ff 76 e2 … … 14582 14582 mov dx, ss ; 8c d2 14583 14583 lea ax, [bp-02ah] ; 8d 46 d6 14584 call 05b09h ; e8 d3c414585 mov bx, 00da 6h ; bb a60d14584 call 05b09h ; e8 ce c4 14585 mov bx, 00da4h ; bb a4 0d 14586 14586 mov cx, ds ; 8c d9 14587 14587 mov ax, strict word 00004h ; b8 04 00 14588 call 01933h ; e8 f28214588 call 01933h ; e8 ed 82 14589 14589 push word [bp-012h] ; ff 76 ee 14590 14590 push word [bp-01eh] ; ff 76 e2 … … 14609 14609 mov ax, strict word 00004h ; b8 04 00 14610 14610 push ax ; 50 14611 call 01976h ; e8 01 8314611 call 01976h ; e8 fc 82 14612 14612 add sp, strict byte 0001ch ; 83 c4 1c 14613 14613 mov al, byte [bp-00ah] ; 8a 46 f6 … … 14641 14641 mov dx, strict word 00075h ; ba 75 00 14642 14642 mov ax, strict word 00040h ; b8 40 00 14643 call 01652h ; e8 8 f7f14643 call 01652h ; e8 8a 7f 14644 14644 mov bl, al ; 88 c3 14645 14645 db 0feh, 0c3h … … 14648 14648 mov dx, strict word 00075h ; ba 75 00 14649 14649 mov ax, strict word 00040h ; b8 40 00 14650 call 01660h ; e8 8 e7f14651 jmp near 0978 9h ; e9 b4 0014650 call 01660h ; e8 89 7f 14651 jmp near 0978eh ; e9 b4 00 14652 14652 cmp dx, 0eb14h ; 81 fa 14 eb 14653 jne short 0973 0h ; 75 5514653 jne short 09735h ; 75 55 14654 14654 cmp bx, 00101h ; 81 fb 01 01 14655 jne short 0973 0h ; 75 4f14655 jne short 09735h ; 75 4f 14656 14656 mov es, [bp-00eh] ; 8e 46 f2 14657 14657 mov bx, word [bp-01ah] ; 8b 5e e6 … … 14668 14668 mov ax, word [bp-01ah] ; 8b 46 e6 14669 14669 mov dx, es ; 8c c2 14670 call 089b 1h ; e8 90 f214670 call 089b6h ; e8 90 f2 14671 14671 mov byte [bp-00ah], cl ; 88 4e f6 14672 14672 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14673 je short 0973 2h ; 74 0714673 je short 09737h ; 74 07 14674 14674 mov cx, strict word 00001h ; b9 01 00 14675 jmp short 0973 4h ; eb 0414676 jmp short 0978 9h ; eb 5714675 jmp short 09739h ; eb 04 14676 jmp short 0978eh ; eb 57 14677 14677 xor cx, cx ; 31 c9 14678 14678 mov bl, byte [bp-00ch] ; 8a 5e f4 … … 14714 14714 pop bp ; 5d 14715 14715 retn ; c3 14716 ahci_mem_alloc_: ; 0xf97a 2LB 0x4314716 ahci_mem_alloc_: ; 0xf97a7 LB 0x43 14717 14717 push bp ; 55 14718 14718 mov bp, sp ; 89 e5 … … 14724 14724 mov dx, 00413h ; ba 13 04 14725 14725 xor ax, ax ; 31 c0 14726 call 0166eh ; e8 b c7e14726 call 0166eh ; e8 b7 7e 14727 14727 test ax, ax ; 85 c0 14728 je short 097 dbh ; 74 2514728 je short 097e0h ; 74 25 14729 14729 dec ax ; 48 14730 14730 mov bx, ax ; 89 c3 … … 14733 14733 sal ax, 1 ; d1 e0 14734 14734 rcl dx, 1 ; d1 d2 14735 loop 097 beh ; e2 fa14735 loop 097c3h ; e2 fa 14736 14736 mov si, ax ; 89 c6 14737 14737 mov di, dx ; 89 d7 … … 14739 14739 shr di, 1 ; d1 ef 14740 14740 rcr si, 1 ; d1 de 14741 loop 097 cbh ; e2 fa14741 loop 097d0h ; e2 fa 14742 14742 mov dx, 00413h ; ba 13 04 14743 14743 xor ax, ax ; 31 c0 14744 call 0167ch ; e8 a37e14744 call 0167ch ; e8 9e 7e 14745 14745 mov ax, si ; 89 f0 14746 14746 lea sp, [bp-00ah] ; 8d 66 f6 … … 14752 14752 pop bp ; 5d 14753 14753 retn ; c3 14754 ahci_hba_init_: ; 0xf97e 5LB 0x16e14754 ahci_hba_init_: ; 0xf97ea LB 0x16e 14755 14755 push bp ; 55 14756 14756 mov bp, sp ; 89 e5 … … 14764 14764 mov dx, strict word 0000eh ; ba 0e 00 14765 14765 mov ax, strict word 00040h ; b8 40 00 14766 call 0166eh ; e8 737e14766 call 0166eh ; e8 6e 7e 14767 14767 mov bx, 00122h ; bb 22 01 14768 14768 mov di, ax ; 89 c7 … … 14781 14781 shr eax, 010h ; 66 c1 e8 10 14782 14782 xchg dx, ax ; 92 14783 call 097a 2h ; e8 83 ff14783 call 097a7h ; e8 83 ff 14784 14784 mov word [bp-010h], ax ; 89 46 f0 14785 14785 test ax, ax ; 85 c0 14786 jne short 0982 9h ; 75 0314787 jmp near 0993 2h ; e9 09 0114786 jne short 0982eh ; 75 03 14787 jmp near 09937h ; e9 09 01 14788 14788 mov ax, word [bp-010h] ; 8b 46 f0 14789 14789 mov es, di ; 8e c7 … … 14835 14835 xchg dx, ax ; 92 14836 14836 test AL, strict byte 001h ; a8 01 14837 jne short 0988 3h ; 75 de14837 jne short 09888h ; 75 de 14838 14838 xor ax, ax ; 31 c0 14839 14839 xor cx, cx ; 31 c9 … … 14854 14854 mov bx, strict word 0001fh ; bb 1f 00 14855 14855 xor cx, cx ; 31 c9 14856 call 088 1eh ; e8 54 ef14856 call 08823h ; e8 54 ef 14857 14857 db 0feh, 0c0h 14858 14858 ; inc al ; fe c0 14859 14859 mov byte [bp-00eh], al ; 88 46 f2 14860 14860 mov byte [bp-00ch], 000h ; c6 46 f4 00 14861 jmp short 098f 6h ; eb 2114861 jmp short 098fbh ; eb 21 14862 14862 xor al, al ; 30 c0 14863 14863 test al, al ; 84 c0 14864 je short 098 edh ; 74 1214864 je short 098f2h ; 74 12 14865 14865 mov bl, byte [bp-00ch] ; 8a 5e f4 14866 14866 xor bh, bh ; 30 ff 14867 14867 xor ax, ax ; 31 c0 14868 14868 mov dx, word [bp-010h] ; 8b 56 f0 14869 call 092a 4h ; e8 bc f914869 call 092a9h ; e8 bc f9 14870 14870 dec byte [bp-00eh] ; fe 4e f2 14871 je short 0993 0h ; 74 4314871 je short 09935h ; 74 43 14872 14872 inc byte [bp-00ch] ; fe 46 f4 14873 14873 cmp byte [bp-00ch], 020h ; 80 7e f4 20 14874 jnc short 0993 0h ; 73 3a14874 jnc short 09935h ; 73 3a 14875 14875 mov cl, byte [bp-00ch] ; 8a 4e f4 14876 14876 xor ch, ch ; 30 ed 14877 14877 mov bx, strict word 00001h ; bb 01 00 14878 14878 xor di, di ; 31 ff 14879 jcxz 0990 8h ; e3 0614879 jcxz 0990dh ; e3 06 14880 14880 sal bx, 1 ; d1 e3 14881 14881 rcl di, 1 ; d1 d7 14882 loop 0990 2h ; e2 fa14882 loop 09907h ; e2 fa 14883 14883 mov ax, strict word 0000ch ; b8 0c 00 14884 14884 xor cx, cx ; 31 c9 … … 14896 14896 xchg dx, ax ; 92 14897 14897 test dx, di ; 85 fa 14898 jne short 099 2ch ; 75 0414898 jne short 09931h ; 75 04 14899 14899 test ax, bx ; 85 d8 14900 je short 098d 5h ; 74 a914900 je short 098dah ; 74 a9 14901 14901 mov AL, strict byte 001h ; b0 01 14902 jmp short 098d 7h ; eb a714902 jmp short 098dch ; eb a7 14903 14903 xor ax, ax ; 31 c0 14904 14904 lea sp, [bp-00ah] ; 8d 66 f6 … … 14910 14910 pop bp ; 5d 14911 14911 retn ; c3 14912 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 03 8h, 09ah, 016h, 09ah, 01ch, 09ah, 022h, 09ah, 028h14913 db 09ah, 0 2eh, 09ah, 034h, 09ah, 038h, 09ah14914 _ahci_init: ; 0xf995 3LB 0x11a14912 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 03dh, 09ah, 01bh, 09ah, 021h, 09ah, 027h, 09ah, 02dh 14913 db 09ah, 033h, 09ah, 039h, 09ah, 03dh, 09ah 14914 _ahci_init: ; 0xf9958 LB 0x11a 14915 14915 push bp ; 55 14916 14916 mov bp, sp ; 89 e5 … … 14919 14919 mov ax, 00601h ; b8 01 06 14920 14920 mov dx, strict word 00001h ; ba 01 00 14921 call 09e 8ch ; e8 29 0514921 call 09e91h ; e8 29 05 14922 14922 mov dx, ax ; 89 c2 14923 14923 cmp ax, strict word 0ffffh ; 3d ff ff 14924 je short 099b 3h ; 74 4914924 je short 099b8h ; 74 49 14925 14925 mov al, ah ; 88 e0 14926 14926 mov byte [bp-006h], ah ; 88 66 fa … … 14929 14929 xor ah, ah ; 30 e4 14930 14930 mov bx, strict word 00034h ; bb 34 00 14931 call 09e9 4h ; e8 18 0514931 call 09e99h ; e8 18 05 14932 14932 mov cl, al ; 88 c1 14933 14933 test cl, cl ; 84 c9 14934 je short 099b 6h ; 74 3414934 je short 099bbh ; 74 34 14935 14935 mov bl, cl ; 88 cb 14936 14936 xor bh, bh ; 30 ff … … 14943 14943 mov dx, word [bp-00ch] ; 8b 56 f4 14944 14944 mov ax, word [bp-010h] ; 8b 46 f0 14945 call 09e9 4h ; e8 f3 0414945 call 09e99h ; e8 f3 04 14946 14946 cmp AL, strict byte 012h ; 3c 12 14947 je short 099b 6h ; 74 1114947 je short 099bbh ; 74 11 14948 14948 mov bl, cl ; 88 cb 14949 14949 db 0feh, 0c3h … … 14952 14952 mov dx, word [bp-00ch] ; 8b 56 f4 14953 14953 mov ax, word [bp-010h] ; 8b 46 f0 14954 jmp short 0997 9h ; eb c614955 jmp near 09a6 7h ; e9 b1 0014954 jmp short 0997eh ; eb c6 14955 jmp near 09a6ch ; e9 b1 00 14956 14956 test cl, cl ; 84 c9 14957 je short 099b 3h ; 74 f914957 je short 099b8h ; 74 f9 14958 14958 add cl, 002h ; 80 c1 02 14959 14959 mov bl, cl ; 88 cb … … 14967 14967 mov dx, word [bp-00eh] ; 8b 56 f2 14968 14968 mov ax, word [bp-00ah] ; 8b 46 f6 14969 call 09e9 4h ; e8 b8 0414969 call 09e99h ; e8 b8 04 14970 14970 cmp AL, strict byte 010h ; 3c 10 14971 jne short 099b 3h ; 75 d314971 jne short 099b8h ; 75 d3 14972 14972 mov byte [bp-004h], 000h ; c6 46 fc 00 14973 14973 mov bl, cl ; 88 cb … … 14976 14976 mov dx, word [bp-00eh] ; 8b 56 f2 14977 14977 mov ax, word [bp-00ah] ; 8b 46 f6 14978 call 09e bbh ; e8 c7 0414978 call 09ec0h ; e8 c7 04 14979 14979 mov dx, ax ; 89 c2 14980 14980 and ax, strict word 0000fh ; 25 0f 00 14981 14981 sub ax, strict word 00004h ; 2d 04 00 14982 14982 cmp ax, strict word 0000bh ; 3d 0b 00 14983 jnbe short 09a3 8h ; 77 3714983 jnbe short 09a3dh ; 77 37 14984 14984 push CS ; 0e 14985 14985 pop ES ; 07 14986 14986 mov cx, strict word 00008h ; b9 08 00 14987 mov di, 099 3ch ; bf 3c9914987 mov di, 09941h ; bf 41 99 14988 14988 repne scasb ; f2 ae 14989 14989 sal cx, 1 ; d1 e1 14990 14990 mov di, cx ; 89 cf 14991 mov ax, word [cs:di-066b dh] ; 2e 8b 85 439914991 mov ax, word [cs:di-066b8h] ; 2e 8b 85 48 99 14992 14992 jmp ax ; ff e0 14993 14993 mov byte [bp-004h], 010h ; c6 46 fc 10 14994 jmp short 09a3 8h ; eb 1c14994 jmp short 09a3dh ; eb 1c 14995 14995 mov byte [bp-004h], 014h ; c6 46 fc 14 14996 jmp short 09a3 8h ; eb 1614996 jmp short 09a3dh ; eb 16 14997 14997 mov byte [bp-004h], 018h ; c6 46 fc 18 14998 jmp short 09a3 8h ; eb 1014998 jmp short 09a3dh ; eb 10 14999 14999 mov byte [bp-004h], 01ch ; c6 46 fc 1c 15000 jmp short 09a3 8h ; eb 0a15000 jmp short 09a3dh ; eb 0a 15001 15001 mov byte [bp-004h], 020h ; c6 46 fc 20 15002 jmp short 09a3 8h ; eb 0415002 jmp short 09a3dh ; eb 04 15003 15003 mov byte [bp-004h], 024h ; c6 46 fc 24 15004 15004 mov CL, strict byte 004h ; b1 04 … … 15010 15010 mov al, byte [bp-004h] ; 8a 46 fc 15011 15011 test al, al ; 84 c0 15012 je short 09a6 7h ; 74 1c15012 je short 09a6ch ; 74 1c 15013 15013 mov bl, al ; 88 c3 15014 15014 xor bh, bh ; 30 ff … … 15017 15017 mov al, byte [bp-006h] ; 8a 46 fa 15018 15018 xor ah, ah ; 30 e4 15019 call 09ee 0h ; e8 84 0415019 call 09ee5h ; e8 84 04 15020 15020 test AL, strict byte 001h ; a8 01 15021 je short 09a6 7h ; 74 0715021 je short 09a6ch ; 74 07 15022 15022 and AL, strict byte 0f0h ; 24 f0 15023 15023 add ax, cx ; 01 c8 15024 call 097e 5h ; e8 7e fd15024 call 097eah ; e8 7e fd 15025 15025 lea sp, [bp-002h] ; 8d 66 fe 15026 15026 pop di ; 5f 15027 15027 pop bp ; 5d 15028 15028 retn ; c3 15029 apm_out_str_: ; 0xf9a 6dLB 0x3915029 apm_out_str_: ; 0xf9a72 LB 0x39 15030 15030 push bp ; 55 15031 15031 mov bp, sp ; 89 e5 … … 15033 15033 mov bx, ax ; 89 c3 15034 15034 cmp byte [bx], 000h ; 80 3f 00 15035 je short 09a8 2h ; 74 0a15035 je short 09a87h ; 74 0a 15036 15036 mov al, byte [bx] ; 8a 07 15037 15037 out DX, AL ; ee … … 15040 15040 db 00ah, 0c0h 15041 15041 ; or al, al ; 0a c0 15042 jne short 09a7 ah ; 75 f815042 jne short 09a7fh ; 75 f8 15043 15043 lea sp, [bp-002h] ; 8d 66 fe 15044 15044 pop bx ; 5b 15045 15045 pop bp ; 5d 15046 15046 retn ; c3 15047 db 0c7h, 09ah, 052h, 09bh, 0d9h, 09ah15048 ; mov word [bp+si-064aeh], 09ad9h ; c7 9a 52 9b d99a15049 hlt ; f415050 call far 09b 1fh:09b52h ; 9a 52 9b 1f9b15051 push d x ; 5215047 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 15052 15052 wait ; 9b 15053 pop ax ; 5815053 pop bp ; 5d 15054 15054 wait ; 9b 15055 and AL, strict byte 09bh ; 249b15056 and AL, strict byte 09bh ; 249b15057 and AL, strict byte 09bh ; 249b15058 xchg di, ax ; 9715055 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 15059 15059 wait ; 9b 15060 and AL, strict byte 09bh ; 24 9b 15061 and AL, strict byte 09bh ; 24 9b 15062 nop ; 90 15063 wait ; 9b 15064 _apm_function: ; 0xf9aa6 LB 0xf6 15060 _apm_function: ; 0xf9aab LB 0xf6 15065 15061 push bp ; 55 15066 15062 mov bp, sp ; 89 e5 … … 15070 15066 xor ah, ah ; 30 e4 15071 15067 cmp ax, strict word 0000eh ; 3d 0e 00 15072 jnbe short 09b2 4h ; 77 6c15068 jnbe short 09b29h ; 77 6c 15073 15069 mov bx, ax ; 89 c3 15074 15070 sal bx, 1 ; d1 e3 15075 15071 mov dx, word [bp+018h] ; 8b 56 18 15076 15072 or dl, 001h ; 80 ca 01 15077 jmp word [cs:bx-0657 8h] ; 2e ff a7 889a15073 jmp word [cs:bx-06573h] ; 2e ff a7 8d 9a 15078 15074 mov word [bp+012h], 00102h ; c7 46 12 02 01 15079 15075 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 15080 15076 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 15081 jmp near 09b5 2h ; e9 79 0015077 jmp near 09b57h ; e9 79 00 15082 15078 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 15083 mov word [bp+00ch], 0a 0f4h ; c7 46 0c f4 a015079 mov word [bp+00ch], 0a104h ; c7 46 0c 04 a1 15084 15080 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 15085 15081 mov ax, strict word 0fff0h ; b8 f0 ff 15086 15082 mov word [bp+006h], ax ; 89 46 06 15087 15083 mov word [bp+004h], ax ; 89 46 04 15088 jmp near 09b5 2h ; e9 5e 0015084 jmp near 09b57h ; e9 5e 00 15089 15085 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 15090 15086 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 15099 15095 mov si, ax ; 89 c6 15100 15096 sal esi, 010h ; 66 c1 e6 10 15101 jmp near 09b5 2h ; e9 33 0015097 jmp near 09b57h ; e9 33 00 15102 15098 sti ; fb 15103 15099 hlt ; f4 15104 jmp near 09b5 2h ; e9 2e 0015105 mov bx, 00da 6h ; bb a60d15100 jmp near 09b57h ; e9 2e 00 15101 mov bx, 00da4h ; bb a4 0d 15106 15102 mov cx, ds ; 8c d9 15107 15103 mov ax, strict word 00004h ; b8 04 00 15108 call 01933h ; e8 04 7e15104 call 01933h ; e8 ff 7d 15109 15105 push word [bp+00ch] ; ff 76 0c 15110 15106 push word [bp+012h] ; ff 76 12 … … 15113 15109 mov ax, strict word 00004h ; b8 04 00 15114 15110 push ax ; 50 15115 call 01976h ; e8 3 67e15111 call 01976h ; e8 31 7e 15116 15112 add sp, strict byte 00008h ; 83 c4 08 15117 15113 mov ax, word [bp+012h] ; 8b 46 12 … … 15125 15121 retn ; c3 15126 15122 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 15127 je short 09b 7dh ; 74 1f15123 je short 09b82h ; 74 1f 15128 15124 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 15129 je short 09b7 5h ; 74 1115125 je short 09b7ah ; 74 11 15130 15126 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 15131 jne short 09b8 5h ; 75 1b15127 jne short 09b8ah ; 75 1b 15132 15128 mov dx, 08900h ; ba 00 89 15133 15129 mov ax, 00d10h ; b8 10 0d 15134 call 09a 6dh ; e8 fa fe15135 jmp short 09b5 2h ; eb dd15130 call 09a72h ; e8 fa fe 15131 jmp short 09b57h ; eb dd 15136 15132 mov dx, 08900h ; ba 00 89 15137 15133 mov ax, 00d18h ; b8 18 0d 15138 jmp short 09b7 0h ; eb f315134 jmp short 09b75h ; eb f3 15139 15135 mov dx, 08900h ; ba 00 89 15140 15136 mov ax, 00d20h ; b8 20 0d 15141 jmp short 09b7 0h ; eb eb15137 jmp short 09b75h ; eb eb 15142 15138 or ah, 00ah ; 80 cc 0a 15143 15139 mov word [bp+012h], ax ; 89 46 12 15144 15140 mov word [bp+018h], dx ; 89 56 18 15145 jmp short 09b5 2h ; eb c215141 jmp short 09b57h ; eb c2 15146 15142 mov word [bp+012h], 00102h ; c7 46 12 02 01 15147 jmp short 09b5 2h ; eb bb15143 jmp short 09b57h ; eb bb 15148 15144 or ah, 080h ; 80 cc 80 15149 jmp short 09b8 8h ; eb ec15150 pci16_select_reg_: ; 0xf9b 9cLB 0x2415145 jmp short 09b8dh ; eb ec 15146 pci16_select_reg_: ; 0xf9ba1 LB 0x24 15151 15147 push bp ; 55 15152 15148 mov bp, sp ; 89 e5 … … 15165 15161 pop bp ; 5d 15166 15162 retn ; c3 15167 pci16_find_device_: ; 0xf9bc 0LB 0xf715163 pci16_find_device_: ; 0xf9bc5 LB 0xf7 15168 15164 push bp ; 55 15169 15165 mov bp, sp ; 89 e5 … … 15179 15175 mov byte [bp-006h], 000h ; c6 46 fa 00 15180 15176 test bl, 007h ; f6 c3 07 15181 jne short 09c0 8h ; 75 2d15177 jne short 09c0dh ; 75 2d 15182 15178 mov dx, strict word 0000eh ; ba 0e 00 15183 15179 mov ax, bx ; 89 d8 15184 call 09b 9ch ; e8 b9 ff15180 call 09ba1h ; e8 b9 ff 15185 15181 mov dx, 00cfeh ; ba fe 0c 15186 15182 in AL, DX ; ec … … 15189 15185 mov byte [bp-008h], al ; 88 46 f8 15190 15186 cmp AL, strict byte 0ffh ; 3c ff 15191 jne short 09bf 6h ; 75 0615187 jne short 09bfbh ; 75 06 15192 15188 add bx, strict byte 00008h ; 83 c3 08 15193 jmp near 09c8 8h ; e9 92 0015189 jmp near 09c8dh ; e9 92 00 15194 15190 test byte [bp-008h], 080h ; f6 46 f8 80 15195 je short 09c0 3h ; 74 0715191 je short 09c08h ; 74 07 15196 15192 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 15197 jmp short 09c0 8h ; eb 0515193 jmp short 09c0dh ; eb 05 15198 15194 mov word [bp-00eh], strict word 00008h ; c7 46 f2 08 00 15199 15195 mov al, byte [bp-008h] ; 8a 46 f8 15200 15196 and AL, strict byte 007h ; 24 07 15201 15197 cmp AL, strict byte 001h ; 3c 01 15202 jne short 09c 2fh ; 75 1e15198 jne short 09c34h ; 75 1e 15203 15199 mov al, bh ; 88 f8 15204 15200 xor ah, ah ; 30 e4 15205 15201 test ax, ax ; 85 c0 15206 jne short 09c 2fh ; 75 1615202 jne short 09c34h ; 75 16 15207 15203 mov dx, strict word 0001ah ; ba 1a 00 15208 15204 mov ax, bx ; 89 d8 15209 call 09b 9ch ; e8 7b ff15205 call 09ba1h ; e8 7b ff 15210 15206 mov dx, 00cfeh ; ba fe 0c 15211 15207 in AL, DX ; ec … … 15213 15209 ; sub ah, ah ; 2a e4 15214 15210 cmp al, byte [bp-006h] ; 3a 46 fa 15215 jbe short 09c 2fh ; 76 0315211 jbe short 09c34h ; 76 03 15216 15212 mov byte [bp-006h], al ; 88 46 fa 15217 15213 test di, di ; 85 ff 15218 je short 09c3 8h ; 74 0515214 je short 09c3dh ; 74 05 15219 15215 mov dx, strict word 00008h ; ba 08 00 15220 jmp short 09c3 ah ; eb 0215216 jmp short 09c3fh ; eb 02 15221 15217 xor dx, dx ; 31 d2 15222 15218 mov ax, bx ; 89 d8 15223 call 09b 9ch ; e8 5d ff15219 call 09ba1h ; e8 5d ff 15224 15220 mov dx, 00cfch ; ba fc 0c 15225 15221 in eax, DX ; 66 ed … … 15232 15228 mov word [bp-00ch], strict word 00000h ; c7 46 f4 00 00 15233 15229 test di, di ; 85 ff 15234 je short 09c6 9h ; 74 0f15230 je short 09c6eh ; 74 0f 15235 15231 mov cx, strict word 00008h ; b9 08 00 15236 15232 shr dx, 1 ; d1 ea 15237 15233 rcr ax, 1 ; d1 d8 15238 loop 09c 5dh ; e2 fa15234 loop 09c62h ; e2 fa 15239 15235 mov word [bp-00ah], ax ; 89 46 f6 15240 15236 mov word [bp-010h], dx ; 89 56 f0 15241 15237 mov ax, word [bp-010h] ; 8b 46 f0 15242 15238 cmp ax, word [bp-014h] ; 3b 46 ec 15243 jne short 09c7 9h ; 75 0815239 jne short 09c7eh ; 75 08 15244 15240 mov ax, word [bp-00ah] ; 8b 46 f6 15245 15241 cmp ax, word [bp-012h] ; 3b 46 ee 15246 je short 09c 7fh ; 74 0615242 je short 09c84h ; 74 06 15247 15243 cmp word [bp-00ch], strict byte 00000h ; 83 7e f4 00 15248 je short 09c8 5h ; 74 0615244 je short 09c8ah ; 74 06 15249 15245 dec si ; 4e 15250 15246 cmp si, strict byte 0ffffh ; 83 fe ff 15251 je short 09c9 8h ; 74 1315247 je short 09c9dh ; 74 13 15252 15248 add bx, word [bp-00eh] ; 03 5e f2 15253 15249 mov al, bh ; 88 f8 … … 15256 15252 xor dh, dh ; 30 f6 15257 15253 cmp ax, dx ; 39 d0 15258 jnbe short 09c9 8h ; 77 0315259 jmp near 09bd 6h ; e9 3e ff15254 jnbe short 09c9dh ; 77 03 15255 jmp near 09bdbh ; e9 3e ff 15260 15256 cmp si, strict byte 0ffffh ; 83 fe ff 15261 jne short 09ca 1h ; 75 0415257 jne short 09ca6h ; 75 04 15262 15258 mov ax, bx ; 89 d8 15263 jmp short 09ca 4h ; eb 0315259 jmp short 09ca9h ; eb 03 15264 15260 mov ax, strict word 0ffffh ; b8 ff ff 15265 15261 lea sp, [bp-004h] ; 8d 66 fc … … 15268 15264 pop bp ; 5d 15269 15265 retn ; c3 15270 cbw ; 9815271 15266 popfw ; 9d 15272 mov CL, strict byte 09dh ; b1 9d15273 retn ; c315274 15267 popfw ; 9d 15275 xlatb ; d7 15268 mov DH, strict byte 09dh ; b6 9d 15269 enter 0dc9dh, 09dh ; c8 9d dc 9d 15270 out DX, AL ; ee 15276 15271 popfw ; 9d 15277 jmp near 09953h ; e9 9d fc15278 popfw ; 9d15279 _pci16_function: ; 0xf9cb 7LB 0x1d515272 db 001h 15273 sahf ; 9e 15274 _pci16_function: ; 0xf9cbc LB 0x1d5 15280 15275 push bp ; 55 15281 15276 mov bp, sp ; 89 e5 … … 15291 15286 xor ah, ah ; 30 e4 15292 15287 cmp bx, strict byte 00003h ; 83 fb 03 15293 jc short 09ce 9h ; 72 1315294 jbe short 09d 3ch ; 76 6415288 jc short 09ceeh ; 72 13 15289 jbe short 09d41h ; 76 64 15295 15290 cmp bx, strict byte 0000eh ; 83 fb 0e 15296 je short 09d4 4h ; 74 6715291 je short 09d49h ; 74 67 15297 15292 cmp bx, strict byte 00008h ; 83 fb 08 15298 jc short 09cf 3h ; 72 1115293 jc short 09cf8h ; 72 11 15299 15294 cmp bx, strict byte 0000dh ; 83 fb 0d 15300 jbe short 09d4 7h ; 76 6015301 jmp short 09cf 3h ; eb 0a15295 jbe short 09d4ch ; 76 60 15296 jmp short 09cf8h ; eb 0a 15302 15297 cmp bx, strict byte 00002h ; 83 fb 02 15303 je short 09d1 2h ; 74 2415298 je short 09d17h ; 74 24 15304 15299 cmp bx, strict byte 00001h ; 83 fb 01 15305 je short 09cf 6h ; 74 0315306 jmp near 09e5 5h ; e9 5f 0115300 je short 09cfbh ; 74 03 15301 jmp near 09e5ah ; e9 5f 01 15307 15302 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 15308 15303 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 15310 15305 mov word [bp+018h], 04350h ; c7 46 18 50 43 15311 15306 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 15312 jmp near 09e8 5h ; e9 73 0115307 jmp near 09e8ah ; e9 73 01 15313 15308 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 15314 jne short 09d 1eh ; 75 0615309 jne short 09d23h ; 75 06 15315 15310 or ah, 083h ; 80 cc 83 15316 jmp near 09e 7eh ; e9 60 0115311 jmp near 09e83h ; e9 60 01 15317 15312 mov bx, word [bp+008h] ; 8b 5e 08 15318 15313 mov dx, word [bp+01ch] ; 8b 56 1c 15319 15314 mov ax, word [bp+018h] ; 8b 46 18 15320 15315 xor cx, cx ; 31 c9 15321 call 09bc 0h ; e8 94 fe15316 call 09bc5h ; e8 94 fe 15322 15317 cmp ax, strict word 0ffffh ; 3d ff ff 15323 jne short 09d 3eh ; 75 0d15318 jne short 09d43h ; 75 0d 15324 15319 mov ax, word [bp+020h] ; 8b 46 20 15325 15320 xor ah, ah ; 30 e4 15326 15321 or ah, 086h ; 80 cc 86 15327 jmp near 09e 7eh ; e9 42 0115328 jmp short 09d4 9h ; eb 0b15322 jmp near 09e83h ; e9 42 01 15323 jmp short 09d4eh ; eb 0b 15329 15324 mov word [bp+014h], ax ; 89 46 14 15330 jmp near 09e8 5h ; e9 41 0115331 jmp near 09e1 0h ; e9 c9 0015332 jmp short 09d 6eh ; eb 2515325 jmp near 09e8ah ; e9 41 01 15326 jmp near 09e15h ; e9 c9 00 15327 jmp short 09d73h ; eb 25 15333 15328 mov bx, word [bp+008h] ; 8b 5e 08 15334 15329 mov ax, word [bp+01ch] ; 8b 46 1c 15335 15330 mov dx, word [bp+01eh] ; 8b 56 1e 15336 15331 mov cx, strict word 00001h ; b9 01 00 15337 call 09bc 0h ; e8 68 fe15332 call 09bc5h ; e8 68 fe 15338 15333 cmp ax, strict word 0ffffh ; 3d ff ff 15339 jne short 09d6 8h ; 75 0b15334 jne short 09d6dh ; 75 0b 15340 15335 mov ax, word [bp+020h] ; 8b 46 20 15341 15336 xor ah, ah ; 30 e4 15342 15337 or ah, 086h ; 80 cc 86 15343 jmp near 09e 7eh ; e9 16 0115338 jmp near 09e83h ; e9 16 01 15344 15339 mov word [bp+014h], ax ; 89 46 14 15345 jmp near 09e8 5h ; e9 17 0115340 jmp near 09e8ah ; e9 17 01 15346 15341 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 15347 jc short 09d 7bh ; 72 0615342 jc short 09d80h ; 72 06 15348 15343 or ah, 087h ; 80 cc 87 15349 jmp near 09e 7eh ; e9 03 0115344 jmp near 09e83h ; e9 03 01 15350 15345 mov dx, word [bp+004h] ; 8b 56 04 15351 15346 mov ax, word [bp+014h] ; 8b 46 14 15352 call 09b 9ch ; e8 18 fe15347 call 09ba1h ; e8 18 fe 15353 15348 mov bx, word [bp+020h] ; 8b 5e 20 15354 15349 xor bh, bh ; 30 ff 15355 15350 sub bx, strict byte 00008h ; 83 eb 08 15356 15351 cmp bx, strict byte 00005h ; 83 fb 05 15357 jnbe short 09df 9h ; 77 6815352 jnbe short 09dfeh ; 77 68 15358 15353 sal bx, 1 ; d1 e3 15359 jmp word [cs:bx-0635 5h] ; 2e ff a7 ab9c15354 jmp word [cs:bx-06350h] ; 2e ff a7 b0 9c 15360 15355 mov bx, word [bp+01ch] ; 8b 5e 1c 15361 15356 xor bl, bl ; 30 db … … 15368 15363 or bx, ax ; 09 c3 15369 15364 mov word [bp+01ch], bx ; 89 5e 1c 15370 jmp short 09df 9h ; eb 4815365 jmp short 09dfeh ; eb 48 15371 15366 mov dx, word [bp+004h] ; 8b 56 04 15372 15367 xor dh, dh ; 30 f6 … … 15375 15370 in ax, DX ; ed 15376 15371 mov word [bp+01ch], ax ; 89 46 1c 15377 jmp short 09df 9h ; eb 3615372 jmp short 09dfeh ; eb 36 15378 15373 mov dx, 00cfch ; ba fc 0c 15379 15374 in eax, DX ; 66 ed … … 15384 15379 mov word [bp+01ch], ax ; 89 46 1c 15385 15380 mov word [bp+01eh], dx ; 89 56 1e 15386 jmp short 09df 9h ; eb 2215381 jmp short 09dfeh ; eb 22 15387 15382 mov ax, word [bp+01ch] ; 8b 46 1c 15388 15383 mov dx, word [bp+004h] ; 8b 56 04 … … 15391 15386 add dx, 00cfch ; 81 c2 fc 0c 15392 15387 out DX, AL ; ee 15393 jmp short 09df 9h ; eb 1015388 jmp short 09dfeh ; eb 10 15394 15389 mov ax, word [bp+01ch] ; 8b 46 1c 15395 15390 mov dx, word [bp+004h] ; 8b 56 04 … … 15398 15393 add dx, 00cfch ; 81 c2 fc 0c 15399 15394 out DX, ax ; ef 15400 jmp near 09e8 5h ; e9 89 0015395 jmp near 09e8ah ; e9 89 00 15401 15396 mov ax, word [bp+01ch] ; 8b 46 1c 15402 15397 mov cx, word [bp+01eh] ; 8b 4e 1e … … 15407 15402 ; mov ax, cx ; 8b c1 15408 15403 out DX, eax ; 66 ef 15409 jmp short 09e8 5h ; eb 7515404 jmp short 09e8ah ; eb 75 15410 15405 mov bx, word [bp+004h] ; 8b 5e 04 15411 15406 mov es, [bp+026h] ; 8e 46 26 … … 15414 15409 mov cx, word [0f4a0h] ; 8b 0e a0 f4 15415 15410 cmp cx, word [es:bx] ; 26 3b 0f 15416 jbe short 09e3 6h ; 76 1115411 jbe short 09e3bh ; 76 11 15417 15412 mov ax, word [bp+020h] ; 8b 46 20 15418 15413 xor ah, ah ; 30 e4 … … 15420 15415 mov word [bp+020h], ax ; 89 46 20 15421 15416 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 15422 jmp short 09e4 ah ; eb 1415417 jmp short 09e4fh ; eb 14 15423 15418 les di, [es:bx+002h] ; 26 c4 7f 02 15424 15419 mov si, 0f2c0h ; be c0 f2 … … 15432 15427 les bx, [bp-008h] ; c4 5e f8 15433 15428 mov word [es:bx], ax ; 26 89 07 15434 jmp short 09e8 5h ; eb 3015435 mov bx, 00da 6h ; bb a60d15429 jmp short 09e8ah ; eb 30 15430 mov bx, 00da4h ; bb a4 0d 15436 15431 mov cx, ds ; 8c d9 15437 15432 mov ax, strict word 00004h ; b8 04 00 15438 call 01933h ; e8 d37a15433 call 01933h ; e8 ce 7a 15439 15434 mov ax, word [bp+014h] ; 8b 46 14 15440 15435 push ax ; 50 … … 15445 15440 mov ax, strict word 00004h ; b8 04 00 15446 15441 push ax ; 50 15447 call 01976h ; e8 03 7b15442 call 01976h ; e8 fe 7a 15448 15443 add sp, strict byte 00008h ; 83 c4 08 15449 15444 mov ax, word [bp+020h] ; 8b 46 20 … … 15457 15452 pop bp ; 5d 15458 15453 retn ; c3 15459 pci_find_classcode_: ; 0xf9e 8cLB 0x815454 pci_find_classcode_: ; 0xf9e91 LB 0x8 15460 15455 push bp ; 55 15461 15456 mov bp, sp ; 89 e5 … … 15463 15458 pop bp ; 5d 15464 15459 retn ; c3 15465 pci_read_config_byte_: ; 0xf9e9 4LB 0x2715460 pci_read_config_byte_: ; 0xf9e99 LB 0x27 15466 15461 push bp ; 55 15467 15462 mov bp, sp ; 89 e5 … … 15486 15481 pop bp ; 5d 15487 15482 retn ; c3 15488 pci_read_config_word_: ; 0xf9e bbLB 0x2515483 pci_read_config_word_: ; 0xf9ec0 LB 0x25 15489 15484 push bp ; 55 15490 15485 mov bp, sp ; 89 e5 … … 15508 15503 pop bp ; 5d 15509 15504 retn ; c3 15510 pci_read_config_dword_: ; 0xf9ee 0LB 0x3f15505 pci_read_config_dword_: ; 0xf9ee5 LB 0x3f 15511 15506 push bp ; 55 15512 15507 mov bp, sp ; 89 e5 … … 15523 15518 int 01ah ; cd 1a 15524 15519 test cx, cx ; 85 c9 15525 jne short 09f1 0h ; 75 1415520 jne short 09f15h ; 75 14 15526 15521 mov al, byte [bp-006h] ; 8a 46 fa 15527 15522 xor ah, ah ; 30 e4 … … 15533 15528 int 01ah ; cd 1a 15534 15529 test cx, cx ; 85 c9 15535 je short 09f1 5h ; 74 0515530 je short 09f1ah ; 74 05 15536 15531 mov ax, strict word 00001h ; b8 01 00 15537 jmp short 09f1 7h ; eb 0215532 jmp short 09f1ch ; eb 02 15538 15533 xor ax, ax ; 31 c0 15539 15534 cwd ; 99 … … 15543 15538 pop bp ; 5d 15544 15539 retn ; c3 15545 vds_is_present_: ; 0xf9f 1fLB 0x1d15540 vds_is_present_: ; 0xf9f24 LB 0x1d 15546 15541 push bx ; 53 15547 15542 push bp ; 55 … … 15551 15546 mov es, ax ; 8e c0 15552 15547 test byte [es:bx], 020h ; 26 f6 07 20 15553 je short 09f3 7h ; 74 0615548 je short 09f3ch ; 74 06 15554 15549 mov ax, strict word 00001h ; b8 01 00 15555 15550 pop bp ; 5d … … 15560 15555 pop bx ; 5b 15561 15556 retn ; c3 15562 vds_real_to_lin_: ; 0xf9f 3cLB 0x1e15557 vds_real_to_lin_: ; 0xf9f41 LB 0x1e 15563 15558 push bx ; 53 15564 15559 push cx ; 51 … … 15571 15566 sal ax, 1 ; d1 e0 15572 15567 rcl dx, 1 ; d1 d2 15573 loop 09f4 ah ; e2 fa15568 loop 09f4fh ; e2 fa 15574 15569 xor cx, cx ; 31 c9 15575 15570 add ax, bx ; 01 d8 … … 15579 15574 pop bx ; 5b 15580 15575 retn ; c3 15581 vds_build_sg_list_: ; 0xf9f5 aLB 0x7715576 vds_build_sg_list_: ; 0xf9f5f LB 0x77 15582 15577 push bp ; 55 15583 15578 mov bp, sp ; 89 e5 … … 15593 15588 mov bx, word [bp+006h] ; 8b 5e 06 15594 15589 mov word [es:di+002h], bx ; 26 89 5d 02 15595 call 09f 3ch ; e8 c3 ff15590 call 09f41h ; e8 c3 ff 15596 15591 mov es, si ; 8e c6 15597 15592 mov word [es:di+004h], ax ; 26 89 45 04 15598 15593 mov word [es:di+006h], dx ; 26 89 55 06 15599 15594 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 15600 call 09f 1fh ; e8 93 ff15595 call 09f24h ; e8 93 ff 15601 15596 test ax, ax ; 85 c0 15602 je short 09fa 1h ; 74 1115597 je short 09fa6h ; 74 11 15603 15598 mov es, si ; 8e c6 15604 15599 mov ax, 08105h ; b8 05 81 15605 15600 mov dx, strict word 00000h ; ba 00 00 15606 15601 int 04bh ; cd 4b 15607 jc short 09f 9eh ; 72 0215602 jc short 09fa3h ; 72 02 15608 15603 db 032h, 0c0h 15609 15604 ; xor al, al ; 32 c0 15610 15605 cbw ; 98 15611 jmp short 09fc 8h ; eb 2715606 jmp short 09fcdh ; eb 27 15612 15607 mov es, si ; 8e c6 15613 15608 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 15626 15621 pop bp ; 5d 15627 15622 retn 00004h ; c2 04 00 15628 vds_free_sg_list_: ; 0xf9fd 1 LB 0x2f15623 vds_free_sg_list_: ; 0xf9fd6 LB 0x3a 15629 15624 push bp ; 55 15630 15625 mov bp, sp ; 89 e5 … … 15632 15627 push di ; 57 15633 15628 mov bx, ax ; 89 c3 15634 call 09f 1fh ; e8 44 ff15629 call 09f24h ; e8 44 ff 15635 15630 test ax, ax ; 85 c0 15636 je short 09ff 0h ; 74 1115631 je short 09ff5h ; 74 11 15637 15632 mov di, bx ; 89 df 15638 15633 mov es, dx ; 8e c2 … … 15640 15635 mov dx, strict word 00000h ; ba 00 00 15641 15636 int 04bh ; cd 4b 15642 jc short 09f efh ; 72 0215637 jc short 09ff4h ; 72 02 15643 15638 db 032h, 0c0h 15644 15639 ; xor al, al ; 32 c0 … … 15651 15646 pop bp ; 5d 15652 15647 retn ; c3 15653 times 0x 1db 015654 __U4M: ; 0xfa0 00 LB 0x2015648 times 0xc db 0 15649 __U4M: ; 0xfa010 LB 0x20 15655 15650 pushfw ; 9c 15656 15651 push si ; 56 … … 15679 15674 retn ; c3 15680 15675 times 0x4 db 0 15681 __U4D: ; 0xfa0 20 LB 0x3015676 __U4D: ; 0xfa030 LB 0x30 15682 15677 pushfw ; 9c 15683 15678 push DS ; 1e … … 15694 15689 push dx ; 52 15695 15690 push ax ; 50 15696 call 0a1 05h ; e8 d0 0015691 call 0a115h ; e8 d0 00 15697 15692 mov cx, word [bp-002h] ; 8b 4e fe 15698 15693 mov bx, word [bp-004h] ; 8b 5e fc … … 15705 15700 retn ; c3 15706 15701 times 0xe db 0 15707 __U8RS: ; 0xfa0 50 LB 0x1015702 __U8RS: ; 0xfa060 LB 0x10 15708 15703 test si, si ; 85 f6 15709 je short 0a0 5fh ; 74 0b15704 je short 0a06fh ; 74 0b 15710 15705 shr ax, 1 ; d1 e8 15711 15706 rcr bx, 1 ; d1 db … … 15713 15708 rcr dx, 1 ; d1 da 15714 15709 dec si ; 4e 15715 jne short 0a0 54h ; 75 f515710 jne short 0a064h ; 75 f5 15716 15711 retn ; c3 15717 __U8LS: ; 0xfa0 60 LB 0x1015712 __U8LS: ; 0xfa070 LB 0x10 15718 15713 test si, si ; 85 f6 15719 je short 0a0 6fh ; 74 0b15714 je short 0a07fh ; 74 0b 15720 15715 sal dx, 1 ; d1 e2 15721 15716 rcl cx, 1 ; d1 d1 … … 15723 15718 rcl ax, 1 ; d1 d0 15724 15719 dec si ; 4e 15725 jne short 0a0 64h ; 75 f515720 jne short 0a074h ; 75 f5 15726 15721 retn ; c3 15727 _fmemset_: ; 0xfa0 70 LB 0x1015722 _fmemset_: ; 0xfa080 LB 0x10 15728 15723 push di ; 57 15729 15724 mov es, dx ; 8e c2 … … 15736 15731 retn ; c3 15737 15732 times 0x3 db 0 15738 _fmemcpy_: ; 0xfa0 80 LB 0x3a15733 _fmemcpy_: ; 0xfa090 LB 0x3a 15739 15734 push bp ; 55 15740 15735 db 08bh, 0ech … … 15758 15753 pop bp ; 5d 15759 15754 retn ; c3 15760 add byte [bx+si], al ; 00 00 15761 add byte [bx+si], al ; 00 00 15762 add byte [bx+si], al ; 00 00 15763 sal byte [bx+si-05f2eh], 1 ; d0 a0 d2 a0 15764 db 0d6h 15765 mov AL, byte [0a0d6h] ; a0 d6 a0 15766 db 0d6h 15767 mov AL, byte [0a0d8h] ; a0 d8 a0 15768 fsub dword [bx+si-05f26h] ; d8 a0 da a0 15769 fisub word [bx+si-05f22h] ; de a0 de a0 15770 loopne 0a056h ; e0 a0 15771 in ax, 0a0h ; e5 a0 15772 out 0a0h, ax ; e7 a0 15773 apm_worker: ; 0xfa0ba LB 0x3a 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 15774 15758 sti ; fb 15775 15759 push ax ; 50 … … 15783 15767 pop ax ; 58 15784 15768 mov AH, strict byte 053h ; b4 53 15785 jnc short 0a 0f0h ; 73 2515786 jmp word [cs:bp-05f 60h] ; 2e ff a6 a0 a015787 jmp short 0a0 eeh ; eb 1c15769 jnc short 0a100h ; 73 25 15770 jmp word [cs:bp-05f50h] ; 2e ff a6 b0 a0 15771 jmp short 0a0feh ; eb 1c 15788 15772 sti ; fb 15789 15773 hlt ; f4 15790 jmp short 0a0 eeh ; eb 1815791 jmp short 0a0 eeh ; eb 1615792 jmp short 0a 0f0h ; eb 1615774 jmp short 0a0feh ; eb 18 15775 jmp short 0a0feh ; eb 16 15776 jmp short 0a100h ; eb 16 15793 15777 mov AH, strict byte 080h ; b4 80 15794 jmp short 0a 0f2h ; eb 1415795 jmp short 0a 0f0h ; eb 1015778 jmp short 0a102h ; eb 14 15779 jmp short 0a100h ; eb 10 15796 15780 mov ax, 00102h ; b8 02 01 15797 jmp short 0a0 eeh ; eb 0915798 jmp short 0a0 eeh ; eb 0715781 jmp short 0a0feh ; eb 09 15782 jmp short 0a0feh ; eb 07 15799 15783 mov BL, strict byte 000h ; b3 00 15800 15784 mov cx, strict word 00000h ; b9 00 00 15801 jmp short 0a0 eeh ; eb 0015785 jmp short 0a0feh ; eb 00 15802 15786 clc ; f8 15803 15787 retn ; c3 … … 15805 15789 stc ; f9 15806 15790 retn ; c3 15807 apm_pm16_entry: ; 0xfa 0f4 LB 0x1115791 apm_pm16_entry: ; 0xfa104 LB 0x11 15808 15792 mov AH, strict byte 002h ; b4 02 15809 15793 push DS ; 1e … … 15813 15797 add bp, strict byte 00008h ; 83 c5 08 15814 15798 mov ds, bp ; 8e dd 15815 call 0a0 bah ; e8 b8 ff15799 call 0a0cah ; e8 b8 ff 15816 15800 pop bp ; 5d 15817 15801 pop DS ; 1f 15818 15802 retf ; cb 15819 _DoUInt32Div: ; 0xfa1 05 LB 0x26b15803 _DoUInt32Div: ; 0xfa115 LB 0x26b 15820 15804 push bp ; 55 15821 15805 mov bp, sp ; 89 e5 … … 15835 15819 mov [bp-006h], ds ; 8c 5e fa 15836 15820 cmp word [bx+002h], strict byte 00000h ; 83 7f 02 00 15837 jne short 0a1 55h ; 75 2215821 jne short 0a165h ; 75 22 15838 15822 mov ax, word [bx] ; 8b 07 15839 15823 test ax, ax ; 85 c0 15840 je short 0a1 52h ; 74 1915824 je short 0a162h ; 74 19 15841 15825 cmp ax, strict word 00001h ; 3d 01 00 15842 jne short 0a1 55h ; 75 1715826 jne short 0a165h ; 75 17 15843 15827 xor ax, ax ; 31 c0 15844 15828 mov word [bp+00ah], ax ; 89 46 0a … … 15848 15832 mov ax, word [bp-01ah] ; 8b 46 e6 15849 15833 mov word [bp+006h], ax ; 89 46 06 15850 jmp near 0a3 5dh ; e9 08 0215834 jmp near 0a36dh ; e9 08 02 15851 15835 lds bx, [bp-00ch] ; c5 5e f4 15852 15836 mov ax, word [bx+002h] ; 8b 47 02 15853 15837 mov ds, [bp-006h] ; 8e 5e fa 15854 15838 cmp ax, word [si+002h] ; 3b 44 02 15855 je short 0a1 7bh ; 74 1815839 je short 0a18bh ; 74 18 15856 15840 mov ds, [bp-00ah] ; 8e 5e f6 15857 15841 mov ax, word [bx+002h] ; 8b 47 02 15858 15842 mov ds, [bp-006h] ; 8e 5e fa 15859 15843 cmp ax, word [si+002h] ; 3b 44 02 15860 jbe short 0a1 76h ; 76 0515844 jbe short 0a186h ; 76 05 15861 15845 mov ax, strict word 00001h ; b8 01 00 15862 jmp short 0a1 9ch ; eb 2615846 jmp short 0a1ach ; eb 26 15863 15847 mov ax, strict word 0ffffh ; b8 ff ff 15864 jmp short 0a1 9ch ; eb 2115848 jmp short 0a1ach ; eb 21 15865 15849 mov ds, [bp-00ah] ; 8e 5e f6 15866 15850 mov ax, word [bx] ; 8b 07 15867 15851 mov ds, [bp-006h] ; 8e 5e fa 15868 15852 cmp ax, word [si] ; 3b 04 15869 je short 0a1 9ah ; 74 1315853 je short 0a1aah ; 74 13 15870 15854 mov ds, [bp-00ah] ; 8e 5e f6 15871 15855 mov ax, word [bx] ; 8b 07 15872 15856 mov ds, [bp-006h] ; 8e 5e fa 15873 15857 cmp ax, word [si] ; 3b 04 15874 jbe short 0a1 95h ; 76 0215875 jmp short 0a1 71h ; eb dc15858 jbe short 0a1a5h ; 76 02 15859 jmp short 0a181h ; eb dc 15876 15860 mov ax, strict word 0ffffh ; b8 ff ff 15877 jmp short 0a1 9ch ; eb 0215861 jmp short 0a1ach ; eb 02 15878 15862 xor ax, ax ; 31 c0 15879 15863 test ax, ax ; 85 c0 15880 jnl short 0a1 beh ; 7d 1e15864 jnl short 0a1ceh ; 7d 1e 15881 15865 lds bx, [bp-00ch] ; c5 5e f4 15882 15866 mov ax, word [bx] ; 8b 07 … … 15888 15872 mov word [bx+002h], strict word 00000h ; c7 47 02 00 00 15889 15873 mov word [bx], strict word 00000h ; c7 07 00 00 15890 jmp short 0a1 52h ; eb 9415891 jne short 0a1 d5h ; 75 1515874 jmp short 0a162h ; eb 94 15875 jne short 0a1e5h ; 75 15 15892 15876 mov ds, [bp-008h] ; 8e 5e f8 15893 15877 mov word [di+002h], ax ; 89 45 02 … … 15896 15880 mov word [bx], strict word 00001h ; c7 07 01 00 15897 15881 mov word [bx+002h], ax ; 89 47 02 15898 jmp near 0a3 5dh ; e9 88 0115882 jmp near 0a36dh ; e9 88 01 15899 15883 lds bx, [bp-00ch] ; c5 5e f4 15900 15884 mov ax, word [bx+002h] ; 8b 47 02 15901 15885 test ax, ax ; 85 c0 15902 je short 0a 1f0h ; 74 1115886 je short 0a200h ; 74 11 15903 15887 push ax ; 50 15904 15888 mov ax, 0f000h ; b8 00 f0 15905 15889 mov ds, ax ; 8e d8 15906 call 0a3 70h ; e8 88 0115890 call 0a380h ; e8 88 01 15907 15891 add sp, strict byte 00002h ; 83 c4 02 15908 15892 add ax, strict word 00010h ; 05 10 00 15909 jmp short 0a 1fdh ; eb 0d15893 jmp short 0a20dh ; eb 0d 15910 15894 push word [bx] ; ff 37 15911 15895 mov ax, 0f000h ; b8 00 f0 15912 15896 mov ds, ax ; 8e d8 15913 call 0a3 70h ; e8 76 0115897 call 0a380h ; e8 76 01 15914 15898 add sp, strict byte 00002h ; 83 c4 02 15915 15899 mov word [bp-014h], ax ; 89 46 ec … … 15917 15901 mov ax, word [si+002h] ; 8b 44 02 15918 15902 test ax, ax ; 85 c0 15919 je short 0a2 1bh ; 74 1115903 je short 0a22bh ; 74 11 15920 15904 push ax ; 50 15921 15905 mov ax, 0f000h ; b8 00 f0 15922 15906 mov ds, ax ; 8e d8 15923 call 0a3 70h ; e8 5d 0115907 call 0a380h ; e8 5d 01 15924 15908 add sp, strict byte 00002h ; 83 c4 02 15925 15909 add ax, strict word 00010h ; 05 10 00 15926 jmp short 0a2 28h ; eb 0d15910 jmp short 0a238h ; eb 0d 15927 15911 push word [si] ; ff 34 15928 15912 mov ax, 0f000h ; b8 00 f0 15929 15913 mov ds, ax ; 8e d8 15930 call 0a3 70h ; e8 4b 0115914 call 0a380h ; e8 4b 01 15931 15915 add sp, strict byte 00002h ; 83 c4 02 15932 15916 mov dx, word [bp-014h] ; 8b 56 ec … … 15939 15923 mov word [bp-016h], ax ; 89 46 ea 15940 15924 test dx, dx ; 85 d2 15941 je short 0a2 98h ; 74 5615925 je short 0a2a8h ; 74 56 15942 15926 mov cx, dx ; 89 d1 15943 15927 xor ch, dh ; 30 f5 … … 15945 15929 mov ax, word [si] ; 8b 04 15946 15930 mov dx, word [si+002h] ; 8b 54 02 15947 jcxz 0a2 56h ; e3 0615931 jcxz 0a266h ; e3 06 15948 15932 sal ax, 1 ; d1 e0 15949 15933 rcl dx, 1 ; d1 d2 15950 loop 0a2 50h ; e2 fa15934 loop 0a260h ; e2 fa 15951 15935 mov word [bp-018h], ax ; 89 46 e8 15952 15936 mov word [bp-016h], dx ; 89 56 ea … … 15954 15938 lds bx, [bp-00ch] ; c5 5e f4 15955 15939 cmp ax, word [bx+002h] ; 3b 47 02 15956 jnbe short 0a2 76h ; 77 0f15940 jnbe short 0a286h ; 77 0f 15957 15941 mov ax, word [bp-016h] ; 8b 46 ea 15958 15942 cmp ax, word [bx+002h] ; 3b 47 02 15959 jne short 0a2 7ah ; 75 0b15943 jne short 0a28ah ; 75 0b 15960 15944 mov ax, word [bp-018h] ; 8b 46 e8 15961 15945 cmp ax, word [bx] ; 3b 07 15962 jbe short 0a2 7ah ; 76 0415946 jbe short 0a28ah ; 76 04 15963 15947 mov AL, strict byte 001h ; b0 01 15964 jmp short 0a2 7ch ; eb 0215948 jmp short 0a28ch ; eb 02 15965 15949 xor al, al ; 30 c0 15966 15950 test al, al ; 84 c0 15967 je short 0a2 a3h ; 74 2315951 je short 0a2b3h ; 74 23 15968 15952 shr word [bp-016h], 1 ; d1 6e ea 15969 15953 rcr word [bp-018h], 1 ; d1 5e e8 15970 15954 dec word [bp-012h] ; ff 4e ee 15971 jmp short 0a2 a3h ; eb 1815955 jmp short 0a2b3h ; eb 18 15972 15956 mov cx, strict word 0001fh ; b9 1f 00 15973 15957 sal word [bp-018h], 1 ; d1 66 e8 15974 15958 rcl word [bp-016h], 1 ; d1 56 ea 15975 loop 0a2 8eh ; e2 f815976 jmp short 0a2 86h ; eb ee15959 loop 0a29eh ; e2 f8 15960 jmp short 0a296h ; eb ee 15977 15961 mov ax, word [si] ; 8b 04 15978 15962 mov word [bp-018h], ax ; 89 46 e8 … … 15991 15975 mov ds, [bp-006h] ; 8e 5e fa 15992 15976 cmp ax, word [si+002h] ; 3b 44 02 15993 jnbe short 0a2 cfh ; 77 0615994 jne short 0a2 d3h ; 75 0815977 jnbe short 0a2dfh ; 77 06 15978 jne short 0a2e3h ; 75 08 15995 15979 cmp dx, word [si] ; 3b 14 15996 jc short 0a2 d3h ; 72 0415980 jc short 0a2e3h ; 72 04 15997 15981 mov AL, strict byte 001h ; b0 01 15998 jmp short 0a2 d5h ; eb 0215982 jmp short 0a2e5h ; eb 02 15999 15983 xor al, al ; 30 c0 16000 15984 test al, al ; 84 c0 16001 je short 0a3 3ah ; 74 6115985 je short 0a34ah ; 74 61 16002 15986 mov ds, [bp-008h] ; 8e 5e f8 16003 15987 mov ax, word [di+002h] ; 8b 45 02 16004 15988 cmp ax, word [bp-016h] ; 3b 46 ea 16005 jnbe short 0a 2f0h ; 77 0c15989 jnbe short 0a300h ; 77 0c 16006 15990 cmp ax, word [bp-016h] ; 3b 46 ea 16007 jne short 0a 2f4h ; 75 0b15991 jne short 0a304h ; 75 0b 16008 15992 mov ax, word [di] ; 8b 05 16009 15993 cmp ax, word [bp-018h] ; 3b 46 e8 16010 jc short 0a 2f4h ; 72 0415994 jc short 0a304h ; 72 04 16011 15995 mov AL, strict byte 001h ; b0 01 16012 jmp short 0a 2f6h ; eb 0215996 jmp short 0a306h ; eb 02 16013 15997 xor al, al ; 30 c0 16014 15998 test al, al ; 84 c0 16015 je short 0a3 20h ; 74 2615999 je short 0a330h ; 74 26 16016 16000 mov ax, word [bp-018h] ; 8b 46 e8 16017 16001 mov ds, [bp-008h] ; 8e 5e f8 … … 16022 16006 xor dx, dx ; 31 d2 16023 16007 mov cx, word [bp-012h] ; 8b 4e ee 16024 jcxz 0a3 18h ; e3 0616008 jcxz 0a328h ; e3 06 16025 16009 sal ax, 1 ; d1 e0 16026 16010 rcl dx, 1 ; d1 d2 16027 loop 0a3 12h ; e2 fa16011 loop 0a322h ; e2 fa 16028 16012 lds bx, [bp-010h] ; c5 5e f0 16029 16013 or word [bx], ax ; 09 07 … … 16034 16018 mov ds, [bp-006h] ; 8e 5e fa 16035 16019 cmp ax, word [si+002h] ; 3b 44 02 16036 jc short 0a3 36h ; 72 0616037 jne short 0a3 3ch ; 75 0a16020 jc short 0a346h ; 72 06 16021 jne short 0a34ch ; 75 0a 16038 16022 cmp dx, word [si] ; 3b 14 16039 jnc short 0a3 3ch ; 73 0616023 jnc short 0a34ch ; 73 06 16040 16024 mov AL, strict byte 001h ; b0 01 16041 jmp short 0a3 3eh ; eb 0416042 jmp short 0a3 5dh ; eb 2116025 jmp short 0a34eh ; eb 04 16026 jmp short 0a36dh ; eb 21 16043 16027 xor al, al ; 30 c0 16044 16028 test al, al ; 84 c0 16045 je short 0a3 51h ; 74 0f16046 jmp short 0a3 5dh ; eb 1916029 je short 0a361h ; 74 0f 16030 jmp short 0a36dh ; eb 19 16047 16031 mov cx, strict word 0001fh ; b9 1f 00 16048 16032 sal word [bp-018h], 1 ; d1 66 e8 16049 16033 rcl word [bp-016h], 1 ; d1 56 ea 16050 loop 0a3 47h ; e2 f816051 jmp short 0a3 57h ; eb 0616034 loop 0a357h ; e2 f8 16035 jmp short 0a367h ; eb 06 16052 16036 shr word [bp-016h], 1 ; d1 6e ea 16053 16037 rcr word [bp-018h], 1 ; d1 5e e8 16054 16038 dec word [bp-012h] ; ff 4e ee 16055 jmp near 0a2 d9h ; e9 7c ff16039 jmp near 0a2e9h ; e9 7c ff 16056 16040 mov ax, word [bp-01ch] ; 8b 46 e4 16057 16041 mov dx, word [bp-01ah] ; 8b 56 e6 … … 16062 16046 retn ; c3 16063 16047 times 0x6 db 0 16064 _ASMBitLastSetU16: ; 0xfa3 70 LB 0x1816048 _ASMBitLastSetU16: ; 0xfa380 LB 0x18 16065 16049 push bp ; 55 16066 16050 db 08bh, 0ech … … 16068 16052 mov cx, word [bp+004h] ; 8b 4e 04 16069 16053 test cx, cx ; 85 c9 16070 je short 0a3 84h ; 74 0a16054 je short 0a394h ; 74 0a 16071 16055 mov ax, strict word 00010h ; b8 10 00 16072 16056 sal cx, 1 ; d1 e1 16073 jc short 0a3 86h ; 72 0516057 jc short 0a396h ; 72 05 16074 16058 dec ax ; 48 16075 jmp short 0a3 7dh ; eb f916059 jmp short 0a38dh ; eb f9 16076 16060 db 033h, 0c0h 16077 16061 ; xor ax, ax ; 33 c0 … … 16079 16063 retn ; c3 16080 16064 16081 ; Padding 0x36 78 bytes at 0xfa38816082 times 139 44db 016065 ; Padding 0x3668 bytes at 0xfa398 16066 times 13928 db 0 16083 16067 16084 16068 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 16127 16111 add bp, strict byte 00008h ; 83 c5 08 16128 16112 push ebp ; 66 55 16129 mov bp, 0a 0f6h ; bd f6 a016113 mov bp, 0a106h ; bd 06 a1 16130 16114 add byte [bx+si], al ; 00 00 16131 16115 push ebp ; 66 55 … … 16857 16841 call 01cc5h ; e8 89 39 16858 16842 call 02154h ; e8 15 3e 16859 call 0995 3h ; e8 11b616860 call 087b 8h ; e8 73a416843 call 09958h ; e8 16 b6 16844 call 087bdh ; e8 78 a4 16861 16845 call 0ed4ch ; e8 04 0a 16862 16846 call 0e2d2h ; e8 87 ff … … 17194 17178 pop DS ; 1f 17195 17179 cld ; fc 17196 call 06e9 8h ; e8 a48417180 call 06e9dh ; e8 a9 84 17197 17181 pop DS ; 1f 17198 17182 pop ES ; 07 … … 17556 17540 pop DS ; 1f 17557 17541 cld ; fc 17558 call 0784 5h ; e8 618817542 call 0784ah ; e8 66 88 17559 17543 pop di ; 5f 17560 17544 pop si ; 5e … … 17938 17922 cmp ah, 0c2h ; 80 fc c2 17939 17923 je short 0f895h ; 74 15 17940 call 067b 7h ; e8 346f17924 call 067bch ; e8 39 6f 17941 17925 pop di ; 5f 17942 17926 pop si ; 5e … … 17951 17935 popfw ; 9d 17952 17936 jmp short 0f8afh ; eb 1f 17953 call 09aa 6h ; e8 13a217937 call 09aabh ; e8 18 a2 17954 17938 jmp short 0f883h ; eb ee 17955 17939 int15_handler_mouse: ; 0xff895 LB 0x5 17956 call 074a 5h ; e8 0d7c17940 call 074aah ; e8 12 7c 17957 17941 jmp short 0f883h ; eb e9 17958 17942 int15_handler32: ; 0xff89a LB 0x15 … … 17965 17949 push si ; 56 17966 17950 push di ; 57 17967 call 06af ah ; e8 557217951 call 06affh ; e8 5a 72 17968 17952 pop di ; 5f 17969 17953 pop si ; 5e … … 18011 17995 pop DS ; 1f 18012 17996 cld ; fc 18013 call 073d 3h ; e8 f87a17997 call 073d8h ; e8 fd 7a 18014 17998 pop cx ; 59 18015 17999 jcxz 0f8ebh ; e3 0d … … 18059 18043 pop DS ; 1f 18060 18044 cld ; fc 18061 call 0707 0h ; e8 517718045 call 07075h ; e8 56 77 18062 18046 pop di ; 5f 18063 18047 pop si ; 5e … … 18162 18146 pop DS ; 1f 18163 18147 cld ; fc 18164 call 071 2fh ; e8 b17218148 call 07134h ; e8 b6 72 18165 18149 pop di ; 5f 18166 18150 pop si ; 5e … … 18274 18258 cpu_reset: ; 0xffff0 LB 0x10 18275 18259 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 18276 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 0 70h18260 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 016h
Note:
See TracChangeset
for help on using the changeset viewer.