Changeset 68290 in vbox for trunk/src/VBox/Devices/PC
- Timestamp:
- Aug 3, 2017 4:24:55 PM (7 years ago)
- Location:
- trunk/src/VBox/Devices/PC/BIOS
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.asm
r67807 r68290 988 988 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 989 989 _pktacc: ; 0xf006a LB 0xc 990 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 080h, 081h, 0 6eh, 091h990 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 080h, 081h, 02bh, 091h 991 991 _softrst: ; 0xf0076 LB 0xc 992 992 db 000h, 000h, 000h, 000h, 000h, 000h, 089h, 02dh, 04dh, 03bh, 04dh, 03bh 993 993 _dskacc: ; 0xf0082 LB 0x2e 994 994 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f0h, 029h, 0a5h, 02ah, 000h, 000h, 000h, 000h 995 db 0c0h, 07fh, 0a0h, 080h, 0 40h, 090h, 0e8h, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h995 db 0c0h, 07fh, 0a0h, 080h, 0fdh, 08fh, 0a5h, 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 998 section CONST progbits vstart=0xb0 align=1 ; size=0x d40class=DATA group=DGROUP998 section CONST progbits vstart=0xb0 align=1 ; size=0xcde class=DATA group=DGROUP 999 999 db 'NMI Handler called', 00ah, 000h 1000 1000 db 'INT18: BOOT FAILURE', 00ah, 000h … … 1101 1101 db 'Disk %d has an unsupported sector size of %u', 00ah, 000h 1102 1102 db 'SCSI %d-ID#%d: LCHS=%lu/%u/%u 0x%llx sectors', 00ah, 000h 1103 db 'SCSI %d-ID#%d: CD/DVD-ROM', 00ah, 000h 1104 db 'scsi_pci_init', 000h 1105 db '%s: Adapter %x:%x not found, how come?!', 00ah, 000h 1106 db '%s: Adapter %x:%x found at %x, enabling BM', 00ah, 000h 1103 db 'SCSI %d-ID#%d: CD/DVD-ROM', 00ah, 000h, 000h 1107 1104 db 'ahci_read_sectors', 000h 1108 1105 db '%s: device_id out of range %d', 00ah, 000h … … 1117 1114 db 'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h 1118 1115 1119 section CONST2 progbits vstart=0xd f0 align=1 ; size=0x3faclass=DATA group=DGROUP1120 _bios_cvs_version_string: ; 0xf0d f0 LB 0x121121 db 'VirtualBox 5. 1.51', 000h1122 _bios_prefix_string: ; 0xf0 e02LB 0x81116 section CONST2 progbits vstart=0xd8e align=1 ; size=0x400 class=DATA group=DGROUP 1117 _bios_cvs_version_string: ; 0xf0d8e LB 0x18 1118 db 'VirtualBox 5.2.0_BETA1', 000h, 000h 1119 _bios_prefix_string: ; 0xf0da6 LB 0x8 1123 1120 db 'BIOS: ', 000h, 000h 1124 _isotag: ; 0xf0 e0aLB 0x61121 _isotag: ; 0xf0dae LB 0x6 1125 1122 db 'CD001', 000h 1126 _eltorito: ; 0xf0 e10LB 0x181123 _eltorito: ; 0xf0db4 LB 0x18 1127 1124 db 'EL TORITO SPECIFICATION', 000h 1128 _drivetypes: ; 0xf0 e28LB 0x281125 _drivetypes: ; 0xf0dcc LB 0x28 1129 1126 db 046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h 1130 1127 db 069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h 1131 1128 db 04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1132 _scan_to_scanascii: ; 0xf0 e50LB 0x37a1129 _scan_to_scanascii: ; 0xf0df4 LB 0x37a 1133 1130 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h 1134 1131 db 000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h … … 1187 1184 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h 1188 1185 db 000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h 1189 _panic_msg_keyb_buffer_full: ; 0xf11 caLB 0x201186 _panic_msg_keyb_buffer_full: ; 0xf116e LB 0x20 1190 1187 db '%s: keyboard input buffer full', 00ah, 000h 1191 1188 1192 ; Padding 0x4 16 bytes at 0xf11ea1193 times 1 046db 01189 ; Padding 0x472 bytes at 0xf118e 1190 times 1138 db 0 1194 1191 1195 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8e 48 class=CODE group=AUTO1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8e08 class=CODE group=AUTO 1196 1193 rom_scan_: ; 0xf1600 LB 0x50 1197 1194 push bp ; 55 … … 1414 1411 push bp ; 55 1415 1412 mov bp, sp ; 89 e5 1416 mov bx, 00 e02h ; bb 02 0e1413 mov bx, 00da6h ; bb a6 0d 1417 1414 mov cx, ds ; 8c d9 1418 1415 mov ax, strict word 00004h ; b8 04 00 1419 1416 call 01923h ; e8 a8 01 1420 push 00d f0h ; 68 f00d1417 push 00d8eh ; 68 8e 0d 1421 1418 push 000d9h ; 68 d9 00 1422 1419 push strict byte 00004h ; 6a 04 … … 1588 1585 mov bx, strict word 0000ah ; bb 0a 00 1589 1586 xor cx, cx ; 31 c9 1590 call 0a0 e0h ; e8 13 881587 call 0a0a0h ; e8 d3 87 1591 1588 mov word [bp-008h], ax ; 89 46 f8 1592 1589 mov cx, dx ; 89 d1 … … 1818 1815 mov dx, word [bp-026h] ; 8b 56 da 1819 1816 mov si, word [bp-01eh] ; 8b 76 e2 1820 call 0a 110h ; e8 13 861817 call 0a0d0h ; e8 d3 85 1821 1818 mov ax, dx ; 89 d0 1822 1819 xor ah, dh ; 30 f4 … … 2257 2254 mov dx, word [es:si] ; 26 8b 14 2258 2255 mov si, strict word 00018h ; be 18 00 2259 call 0a 110h ; e8 c0 812256 call 0a0d0h ; e8 80 81 2260 2257 xor dh, dh ; 30 f6 2261 2258 mov word [bp-014h], dx ; 89 56 ec … … 2267 2264 mov dx, word [es:si] ; 26 8b 14 2268 2265 mov si, strict word 00020h ; be 20 00 2269 call 0a 110h ; e8 a0 812266 call 0a0d0h ; e8 60 81 2270 2267 mov bx, dx ; 89 d3 2271 2268 mov ax, word [bp-01ch] ; 8b 46 e4 … … 2298 2295 mov dx, word [es:si] ; 26 8b 14 2299 2296 mov si, strict word 00008h ; be 08 00 2300 call 0a 110h ; e8 4f 812297 call 0a0d0h ; e8 0f 81 2301 2298 mov word [bp-012h], dx ; 89 56 ee 2302 2299 mov bx, word [bp-016h] ; 8b 5e ea … … 2307 2304 mov dx, word [es:si] ; 26 8b 14 2308 2305 mov si, strict word 00018h ; be 18 00 2309 call 0a 110h ; e8 31 812306 call 0a0d0h ; e8 f1 80 2310 2307 mov ah, dl ; 88 d4 2311 2308 and ah, 00fh ; 80 e4 0f … … 2698 2695 lea ax, [bp-03ah] ; 8d 46 c6 2699 2696 call 05a02h ; e8 58 36 2700 mov bx, 00 e02h ; bb 02 0e2697 mov bx, 00da6h ; bb a6 0d 2701 2698 mov cx, ds ; 8c d9 2702 2699 mov ax, strict word 00004h ; b8 04 00 … … 2864 2861 mov dx, word [es:di+036h] ; 26 8b 55 36 2865 2862 mov si, strict word 0000bh ; be 0b 00 2866 call 0a 110h ; e8 89 7b2863 call 0a0d0h ; e8 49 7b 2867 2864 mov word [bp-024h], dx ; 89 56 dc 2868 2865 mov word [bp-032h], cx ; 89 4e ce … … 3140 3137 mov dx, word [bp-024h] ; 8b 56 dc 3141 3138 mov si, strict word 00018h ; be 18 00 3142 call 0a 110h ; e8 c7 783139 call 0a0d0h ; e8 87 78 3143 3140 xor dh, dh ; 30 f6 3144 3141 mov word [bp-014h], dx ; 89 56 ec … … 3148 3145 mov dx, word [bp-024h] ; 8b 56 dc 3149 3146 mov si, strict word 00020h ; be 20 00 3150 call 0a 110h ; e8 b0 783147 call 0a0d0h ; e8 70 78 3151 3148 mov bx, dx ; 89 d3 3152 3149 mov ax, word [bp-022h] ; 8b 46 de … … 3182 3179 mov dx, word [bp-024h] ; 8b 56 dc 3183 3180 mov si, strict word 00008h ; be 08 00 3184 call 0a 110h ; e8 5c 783181 call 0a0d0h ; e8 1c 78 3185 3182 mov word [bp-00ch], ax ; 89 46 f4 3186 3183 mov word [bp-00eh], bx ; 89 5e f2 … … 3189 3186 mov word [bp-018h], dx ; 89 56 e8 3190 3187 mov si, strict word 00010h ; be 10 00 3191 call 0a 110h ; e8 47 783188 call 0a0d0h ; e8 07 78 3192 3189 mov word [bp-024h], dx ; 89 56 dc 3193 3190 mov ax, dx ; 89 d0 … … 3449 3446 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 3450 3447 jne short 02b52h ; 75 1f 3451 mov bx, 00 e02h ; bb 02 0e3448 mov bx, 00da6h ; bb a6 0d 3452 3449 mov cx, ds ; 8c d9 3453 3450 mov ax, strict word 00004h ; b8 04 00 … … 4283 4280 cmp bh, 048h ; 80 ff 48 4284 4281 jbe short 03292h ; 76 33 4285 mov bx, 00 e02h ; bb 02 0e4282 mov bx, 00da6h ; bb a6 0d 4286 4283 mov cx, ds ; 8c d9 4287 4284 mov ax, strict word 00004h ; b8 04 00 … … 5186 5183 mov byte [es:bx], 000h ; 26 c6 07 00 5187 5184 jmp near 0348ch ; e9 92 f9 5188 mov bx, 00 e02h ; bb 02 0e5185 mov bx, 00da6h ; bb a6 0d 5189 5186 mov cx, ds ; 8c d9 5190 5187 mov ax, strict word 00004h ; b8 04 00 … … 5284 5281 cmp ax, strict word 0004ah ; 3d 4a 00 5285 5282 jne short 03be4h ; 75 1f 5286 mov bx, 00 e02h ; bb 02 0e5283 mov bx, 00da6h ; bb a6 0d 5287 5284 mov cx, ds ; 8c d9 5288 5285 mov ax, strict word 00004h ; b8 04 00 … … 5389 5386 pop bp ; 5d 5390 5387 retn ; c3 5391 mov bx, 00 e02h ; bb 02 0e5388 mov bx, 00da6h ; bb a6 0d 5392 5389 mov cx, ds ; 8c d9 5393 5390 mov ax, strict word 00004h ; b8 04 00 … … 5471 5468 mov dx, ss ; 8c d2 5472 5469 lea ax, [bp-026h] ; 8d 46 da 5473 call 0a 130h ; e8 79 635470 call 0a0f0h ; e8 39 63 5474 5471 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 5475 5472 mov ax, strict word 00011h ; b8 11 00 … … 5530 5527 jnc short 03e62h ; 73 10 5531 5528 mov al, byte [bp+di-00825h] ; 8a 83 db f7 5532 cmp al, byte [di+00 e0ah] ; 3a 85 0a 0e5529 cmp al, byte [di+00daeh] ; 3a 85 ae 0d 5533 5530 je short 03e4ch ; 74 f0 5534 5531 mov ax, strict word 00005h ; b8 05 00 … … 5540 5537 jnc short 03e7ch ; 73 10 5541 5538 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 5542 cmp al, byte [di+00 e10h] ; 3a 85 10 0e5539 cmp al, byte [di+00db4h] ; 3a 85 b4 0d 5543 5540 je short 03e66h ; 74 f0 5544 5541 mov ax, strict word 00006h ; b8 06 00 … … 5832 5829 cmp ax, dx ; 39 d0 5833 5830 je short 04212h ; 74 29 5834 mov bx, 00 e02h ; bb 02 0e5831 mov bx, 00da6h ; bb a6 0d 5835 5832 mov cx, ds ; 8c d9 5836 5833 mov ax, strict word 00004h ; b8 04 00 … … 5944 5941 xor dl, dl ; 30 d2 5945 5942 xor cx, cx ; 31 c9 5946 call 0a0 c0h ; e8 a3 5d5943 call 0a080h ; e8 63 5d 5947 5944 xor bx, bx ; 31 db 5948 5945 add ax, si ; 01 f0 … … 5950 5947 mov bx, di ; 89 fb 5951 5948 xor cx, cx ; 31 c9 5952 call 0a0 c0h ; e8 96 5d5949 call 0a080h ; e8 56 5d 5953 5950 mov bx, ax ; 89 c3 5954 5951 mov ax, word [bp-010h] ; 8b 46 f0 … … 5985 5982 mov dx, ss ; 8c d2 5986 5983 lea ax, [bp-02eh] ; 8d 46 d2 5987 call 0a 130h ; e8 af 5d5984 call 0a0f0h ; e8 6f 5d 5988 5985 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 5989 5986 mov ax, word [bp-014h] ; 8b 46 ec … … 6052 6049 test al, al ; 84 c0 6053 6050 je short 0446ch ; 74 37 6054 mov bx, 00 e02h ; bb 02 0e6051 mov bx, 00da6h ; bb a6 0d 6055 6052 mov cx, ds ; 8c d9 6056 6053 mov ax, strict word 00004h ; b8 04 00 … … 6149 6146 mov word [bp+016h], bx ; 89 5e 16 6150 6147 jmp near 04470h ; e9 38 ff 6151 mov bx, 00 e02h ; bb 02 0e6148 mov bx, 00da6h ; bb a6 0d 6152 6149 mov cx, ds ; 8c d9 6153 6150 mov ax, strict word 00004h ; b8 04 00 … … 6271 6268 mov word [bp+016h], strict word 00007h ; c7 46 16 07 00 6272 6269 jmp near 04afbh ; e9 39 04 6273 mov bx, 00 e02h ; bb 02 0e6270 mov bx, 00da6h ; bb a6 0d 6274 6271 mov cx, ds ; 8c d9 6275 6272 mov ax, strict word 00004h ; b8 04 00 … … 6324 6321 mov dx, ss ; 8c d2 6325 6322 lea ax, [bp-030h] ; 8d 46 d0 6326 call 0a 130h ; e8 d2 596323 call 0a0f0h ; e8 92 59 6327 6324 mov word [bp-030h], strict word 00028h ; c7 46 d0 28 00 6328 6325 mov ax, word [bp-00eh] ; 8b 46 f2 … … 6380 6377 cmp byte [bp-018h], 000h ; 80 7e e8 00 6381 6378 je short 04846h ; 74 53 6382 mov bx, 00 e02h ; bb 02 0e6379 mov bx, 00da6h ; bb a6 0d 6383 6380 mov cx, ds ; 8c d9 6384 6381 mov ax, strict word 00004h ; b8 04 00 … … 6685 6682 je short 04b96h ; 74 21 6686 6683 mov dx, strict word 00001h ; ba 01 00 6687 mov bx, 00 e02h ; bb 02 0e6684 mov bx, 00da6h ; bb a6 0d 6688 6685 mov cx, ds ; 8c d9 6689 6686 mov ax, strict word 00004h ; b8 04 00 6690 6687 call 01923h ; e8 a0 cd 6691 6688 imul dx, dx, strict byte 0000ah ; 6b d2 0a 6692 add dx, 00 e28h ; 81 c2 28 0e6689 add dx, 00dcch ; 81 c2 cc 0d 6693 6690 push dx ; 52 6694 6691 push 00494h ; 68 94 04 … … 6712 6709 test al, al ; 84 c0 6713 6710 je short 04bcch ; 74 1b 6714 mov bx, 00 e02h ; bb 02 0e6711 mov bx, 00da6h ; bb a6 0d 6715 6712 mov cx, ds ; 8c d9 6716 6713 mov ax, strict word 00004h ; b8 04 00 6717 6714 call 01923h ; e8 67 cd 6718 push 00 e3ch ; 68 3c 0e6715 push 00de0h ; 68 e0 0d 6719 6716 push 004a8h ; 68 a8 04 6720 6717 push strict byte 00004h ; 6a 04 … … 6724 6721 test ah, ah ; 84 e4 6725 6722 je short 04be0h ; 74 10 6726 mov bx, 00 e02h ; bb 02 0e6723 mov bx, 00da6h ; bb a6 0d 6727 6724 mov cx, ds ; 8c d9 6728 6725 mov ax, strict word 00004h ; b8 04 00 6729 6726 call 01923h ; e8 48 cd 6730 push 00 e46h ; 68 46 0e6727 push 00deah ; 68 ea 0d 6731 6728 jmp short 04bbfh ; eb df 6732 6729 test bl, 080h ; f6 c3 80 6733 6730 je short 04bf6h ; 74 11 6734 mov bx, 00 e02h ; bb 02 0e6731 mov bx, 00da6h ; bb a6 0d 6735 6732 mov cx, ds ; 8c d9 6736 6733 mov ax, strict word 00004h ; b8 04 00 6737 6734 call 01923h ; e8 33 cd 6738 6735 push si ; 56 6739 push 00 e32h ; 68 32 0e6736 push 00dd6h ; 68 d6 0d 6740 6737 jmp short 04c05h ; eb 0f 6741 mov bx, 00 e02h ; bb 02 0e6738 mov bx, 00da6h ; bb a6 0d 6742 6739 mov cx, ds ; 8c d9 6743 6740 mov ax, strict word 00004h ; b8 04 00 6744 6741 call 01923h ; e8 22 cd 6745 6742 push si ; 56 6746 push 00 e28h ; 68 28 0e6743 push 00dcch ; 68 cc 0d 6747 6744 push 004bdh ; 68 bd 04 6748 6745 push strict byte 00004h ; 6a 04 … … 6770 6767 push dx ; 52 6771 6768 mov dx, ax ; 89 c2 6772 mov bx, 00 e02h ; bb 02 0e6769 mov bx, 00da6h ; bb a6 0d 6773 6770 mov cx, ds ; 8c d9 6774 6771 mov ax, strict word 00004h ; b8 04 00 … … 6848 6845 mov byte [bp-008h], al ; 88 46 f8 6849 6846 mov byte [bp-00ah], al ; 88 46 f6 6850 mov bx, 00 e02h ; bb 02 0e6847 mov bx, 00da6h ; bb a6 0d 6851 6848 mov cx, ds ; 8c d9 6852 6849 mov ax, strict word 00004h ; b8 04 00 … … 7412 7409 test al, al ; 84 c0 7413 7410 jne short 0520fh ; 75 19 7414 mov bx, 00 e02h ; bb 02 0e7411 mov bx, 00da6h ; bb a6 0d 7415 7412 mov cx, ds ; 8c d9 7416 7413 mov ax, strict word 00004h ; b8 04 00 … … 7758 7755 cmp byte [bp-00ah], 058h ; 80 7e f6 58 7759 7756 jbe short 0559bh ; 76 1f 7760 mov bx, 00 e02h ; bb 02 0e7757 mov bx, 00da6h ; bb a6 0d 7761 7758 mov cx, ds ; 8c d9 7762 7759 mov ax, strict word 00004h ; b8 04 00 … … 7776 7773 xor ah, ah ; 30 e4 7777 7774 imul bx, ax, strict byte 0000ah ; 6b d8 0a 7778 mov dl, byte [bx+00 e56h] ; 8a 97 56 0e7779 mov ax, word [bx+00 e56h] ; 8b 87 56 0e7775 mov dl, byte [bx+00dfah] ; 8a 97 fa 0d 7776 mov ax, word [bx+00dfah] ; 8b 87 fa 0d 7780 7777 jmp near 05645h ; e9 90 00 7781 7778 test AL, strict byte 004h ; a8 04 … … 7784 7781 xor ah, ah ; 30 e4 7785 7782 imul bx, ax, strict byte 0000ah ; 6b d8 0a 7786 mov dl, byte [bx+00 e54h] ; 8a 97 54 0e7787 mov ax, word [bx+00 e54h] ; 8b 87 54 0e7783 mov dl, byte [bx+00df8h] ; 8a 97 f8 0d 7784 mov ax, word [bx+00df8h] ; 8b 87 f8 0d 7788 7785 jmp near 05645h ; e9 79 00 7789 7786 mov al, byte [bp-00ch] ; 8a 46 f4 … … 7805 7802 xor ah, ah ; 30 e4 7806 7803 imul bx, ax, strict byte 0000ah ; 6b d8 0a 7807 mov al, byte [bx+00 e58h] ; 8a 87 58 0e7804 mov al, byte [bx+00dfch] ; 8a 87 fc 0d 7808 7805 mov dx, ax ; 89 c2 7809 7806 mov al, byte [bp-00eh] ; 8a 46 f2 7810 7807 test ax, dx ; 85 d0 7811 7808 je short 0560eh ; 74 0a 7812 mov dl, byte [bx+00 e50h] ; 8a 97 50 0e7813 mov ax, word [bx+00 e50h] ; 8b 87 50 0e7809 mov dl, byte [bx+00df4h] ; 8a 97 f4 0d 7810 mov ax, word [bx+00df4h] ; 8b 87 f4 0d 7814 7811 jmp short 05616h ; eb 08 7815 mov dl, byte [bx+00 e52h] ; 8a 97 52 0e7816 mov ax, word [bx+00 e52h] ; 8b 87 52 0e7812 mov dl, byte [bx+00df6h] ; 8a 97 f6 0d 7813 mov ax, word [bx+00df6h] ; 8b 87 f6 0d 7817 7814 shr ax, 008h ; c1 e8 08 7818 7815 mov byte [bp-00ah], al ; 88 46 f6 … … 7821 7818 xor ah, ah ; 30 e4 7822 7819 imul bx, ax, strict byte 0000ah ; 6b d8 0a 7823 mov al, byte [bx+00 e58h] ; 8a 87 58 0e7820 mov al, byte [bx+00dfch] ; 8a 87 fc 0d 7824 7821 mov dx, ax ; 89 c2 7825 7822 mov al, byte [bp-00eh] ; 8a 46 f2 7826 7823 test ax, dx ; 85 d0 7827 7824 je short 0563dh ; 74 0a 7828 mov dl, byte [bx+00 e52h] ; 8a 97 52 0e7829 mov ax, word [bx+00 e52h] ; 8b 87 52 0e7825 mov dl, byte [bx+00df6h] ; 8a 97 f6 0d 7826 mov ax, word [bx+00df6h] ; 8b 87 f6 0d 7830 7827 jmp short 05645h ; eb 08 7831 mov dl, byte [bx+00 e50h] ; 8a 97 50 0e7832 mov ax, word [bx+00 e50h] ; 8b 87 50 0e7828 mov dl, byte [bx+00df4h] ; 8a 97 f4 0d 7829 mov ax, word [bx+00df4h] ; 8b 87 f4 0d 7833 7830 shr ax, 008h ; c1 e8 08 7834 7831 mov byte [bp-00ah], al ; 88 46 f6 … … 7837 7834 test dl, dl ; 84 d2 7838 7835 jne short 0566bh ; 75 16 7839 mov bx, 00 e02h ; bb 02 0e7836 mov bx, 00da6h ; bb a6 0d 7840 7837 mov cx, ds ; 8c d9 7841 7838 mov ax, strict word 00004h ; b8 04 00 … … 8037 8034 mov word [bp+012h], dx ; 89 56 12 8038 8035 jmp near 05855h ; e9 43 00 8039 mov bx, 00 e02h ; bb 02 0e8036 mov bx, 00da6h ; bb a6 0d 8040 8037 mov cx, ds ; 8c d9 8041 8038 mov ax, strict word 00004h ; b8 04 00 … … 8048 8045 call 01966h ; e8 3a c1 8049 8046 add sp, strict byte 00006h ; 83 c4 06 8050 mov bx, 00 e02h ; bb 02 0e8047 mov bx, 00da6h ; bb a6 0d 8051 8048 mov cx, ds ; 8c d9 8052 8049 mov ax, strict word 00004h ; b8 04 00 … … 8257 8254 mov dx, word [bp+00ch] ; 8b 56 0c 8258 8255 mov si, strict word 00020h ; be 20 00 8259 call 0a 110h ; e8 e1 468256 call 0a0d0h ; e8 a1 46 8260 8257 test ax, ax ; 85 c0 8261 8258 jne short 05a3fh ; 75 0c … … 8295 8292 mov bx, strict word 0003fh ; bb 3f 00 8296 8293 xor cx, cx ; 31 c9 8297 call 0a0 c0h ; e8 38 468294 call 0a080h ; e8 f8 45 8298 8295 mov bx, ax ; 89 c3 8299 8296 mov cx, dx ; 89 d1 8300 8297 mov ax, word [bp-004h] ; 8b 46 fc 8301 8298 mov dx, si ; 89 f2 8302 call 0a0 e0h ; e8 4c 468299 call 0a0a0h ; e8 0c 46 8303 8300 mov word [es:di+002h], ax ; 26 89 45 02 8304 8301 cmp ax, 00400h ; 3d 00 04 … … 8441 8438 test ax, ax ; 85 c0 8442 8439 jne short 05c16h ; 75 26 8443 mov bx, 00 e02h ; bb 02 0e8440 mov bx, 00da6h ; bb a6 0d 8444 8441 mov cx, ds ; 8c d9 8445 8442 mov ax, strict word 00004h ; b8 04 00 … … 8472 8469 cmp ax, dx ; 39 d0 8473 8470 jbe short 05c74h ; 76 30 8474 mov bx, 00 e02h ; bb 02 0e8471 mov bx, 00da6h ; bb a6 0d 8475 8472 mov cx, ds ; 8c d9 8476 8473 mov ax, strict word 00004h ; b8 04 00 … … 8514 8511 mov bx, cx ; 89 cb 8515 8512 xor cx, cx ; 31 c9 8516 call 0a0 c0h ; e8 0d 448513 call 0a080h ; e8 cd 43 8517 8514 xor bx, bx ; 31 db 8518 8515 add ax, word [bp-006h] ; 03 46 fa … … 8520 8517 mov bx, word [bp-008h] ; 8b 5e f8 8521 8518 xor cx, cx ; 31 c9 8522 call 0a0 c0h ; e8 fe 438519 call 0a080h ; e8 be 43 8523 8520 xor bx, bx ; 31 db 8524 8521 add ax, word [bp-004h] ; 03 46 fc … … 8577 8574 test dl, dl ; 84 d2 8578 8575 je short 05dbbh ; 74 46 8579 mov bx, 00 e02h ; bb 02 0e8576 mov bx, 00da6h ; bb a6 0d 8580 8577 mov cx, ds ; 8c d9 8581 8578 mov ax, strict word 00004h ; b8 04 00 … … 8596 8593 or ah, 00ch ; 80 cc 0c 8597 8594 jmp near 05f01h ; e9 5c 01 8598 mov bx, 00 e02h ; bb 02 0e8595 mov bx, 00da6h ; bb a6 0d 8599 8596 mov cx, ds ; 8c d9 8600 8597 mov ax, strict word 00004h ; b8 04 00 … … 8688 8685 mov bx, word [bp-006h] ; 8b 5e fa 8689 8686 xor cx, cx ; 31 c9 8690 call 0a0 c0h ; e8 27 428687 call 0a080h ; e8 e7 41 8691 8688 mov bx, word [bp-004h] ; 8b 5e fc 8692 8689 xor cx, cx ; 31 c9 8693 call 0a0 c0h ; e8 1f 428690 call 0a080h ; e8 df 41 8694 8691 mov word [bp-00eh], ax ; 89 46 f2 8695 8692 mov word [bp-00ah], dx ; 89 56 f6 … … 8701 8698 mov word [bp+016h], ax ; 89 46 16 8702 8699 jmp near 05dbfh ; e9 04 ff 8703 mov bx, 00 e02h ; bb 02 0e8700 mov bx, 00da6h ; bb a6 0d 8704 8701 mov cx, ds ; 8c d9 8705 8702 mov ax, strict word 00004h ; b8 04 00 … … 8714 8711 add sp, strict byte 00008h ; 83 c4 08 8715 8712 jmp near 05dbbh ; e9 dd fe 8716 mov bx, 00 e02h ; bb 02 0e8713 mov bx, 00da6h ; bb a6 0d 8717 8714 mov cx, ds ; 8c d9 8718 8715 mov ax, strict word 00004h ; b8 04 00 … … 8804 8801 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 8805 8802 jmp near 06400h ; e9 10 04 8806 mov bx, 00 e02h ; bb 02 0e8803 mov bx, 00da6h ; bb a6 0d 8807 8804 mov cx, ds ; 8c d9 8808 8805 mov ax, strict word 00004h ; b8 04 00 … … 8829 8826 xor bx, bx ; 31 db 8830 8827 mov si, strict word 00020h ; be 20 00 8831 call 0a 120h ; e8 e2 408828 call 0a0e0h ; e8 a2 40 8832 8829 mov si, ax ; 89 c6 8833 8830 mov word [bp-00ch], bx ; 89 5e f4 … … 8856 8853 cmp dx, word [es:bx+036h] ; 26 3b 57 36 8857 8854 jc short 060abh ; 72 23 8858 mov bx, 00 e02h ; bb 02 0e8855 mov bx, 00da6h ; bb a6 0d 8859 8856 mov cx, ds ; 8c d9 8860 8857 mov ax, strict word 00004h ; b8 04 00 … … 8914 8911 test dl, dl ; 84 d2 8915 8912 je short 0618dh ; 74 51 8916 mov bx, 00 e02h ; bb 02 0e8913 mov bx, 00da6h ; bb a6 0d 8917 8914 mov cx, ds ; 8c d9 8918 8915 mov ax, strict word 00004h ; b8 04 00 … … 8986 8983 mov bx, word [bp-00ch] ; 8b 5e f4 8987 8984 mov si, strict word 00020h ; be 20 00 8988 call 0a 110h ; e8 ee 3e8985 call 0a0d0h ; e8 ae 3e 8989 8986 mov bx, di ; 89 fb 8990 8987 mov word [es:bx+014h], dx ; 26 89 57 14 … … 9342 9339 mov bx, strict word 0000fh ; bb 0f 00 9343 9340 xor cx, cx ; 31 c9 9344 call 0a0 e0h ; e8 2b 3b9341 call 0a0a0h ; e8 eb 3a 9345 9342 mov cx, ax ; 89 c1 9346 9343 mov bx, dx ; 89 d3 … … 9503 9500 mov word [bp+00ch], ax ; 89 46 0c 9504 9501 jmp near 0677fh ; e9 2b 00 9505 mov bx, 00 e02h ; bb 02 0e9502 mov bx, 00da6h ; bb a6 0d 9506 9503 mov cx, ds ; 8c d9 9507 9504 mov ax, strict word 00004h ; b8 04 00 … … 9694 9691 retf ; cb 9695 9692 jmp near 0677fh ; e9 49 fe 9696 mov bx, 00 e02h ; bb 02 0e9693 mov bx, 00da6h ; bb a6 0d 9697 9694 mov cx, ds ; 8c d9 9698 9695 mov ax, strict word 00004h ; b8 04 00 … … 9734 9731 or byte [bp+018h], 001h ; 80 4e 18 01 9735 9732 jmp near 0677fh ; e9 d3 fd 9736 mov bx, 00 e02h ; bb 02 0e9733 mov bx, 00da6h ; bb a6 0d 9737 9734 mov cx, ds ; 8c d9 9738 9735 mov ax, strict word 00004h ; b8 04 00 … … 9927 9924 mov word [bp+014h], strict word 00003h ; c7 46 14 03 00 9928 9925 jmp short 06b65h ; eb b9 9929 mov bx, 00 e02h ; bb 02 0e9926 mov bx, 00da6h ; bb a6 0d 9930 9927 mov cx, ds ; 8c d9 9931 9928 mov ax, strict word 00004h ; b8 04 00 … … 10703 10700 je short 0738dh ; 74 0e 10704 10701 push 008eeh ; 68 ee 08 10705 push 011 cah ; 68 ca1110702 push 0116eh ; 68 6e 11 10706 10703 push strict byte 00007h ; 6a 07 10707 10704 call 01966h ; e8 dc a5 … … 10784 10781 je short 0741eh ; 74 0e 10785 10782 push 008f8h ; 68 f8 08 10786 push 011 cah ; 68 ca1110783 push 0116eh ; 68 6e 11 10787 10784 push strict byte 00007h ; 6a 07 10788 10785 call 01966h ; e8 4b a5 … … 12293 12290 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12294 12291 jne short 081c7h ; 75 1f 12295 mov bx, 00 e02h ; bb 02 0e12292 mov bx, 00da6h ; bb a6 0d 12296 12293 mov cx, ds ; 8c d9 12297 12294 mov ax, strict word 00004h ; b8 04 00 … … 12451 12448 mov dx, ss ; 8c d2 12452 12449 lea ax, [bp-046h] ; 8d 46 ba 12453 call 0a 130h ; e8 10 1e12450 call 0a0f0h ; e8 d0 1d 12454 12451 mov byte [bp-046h], 09eh ; c6 46 ba 9e 12455 12452 mov byte [bp-045h], 010h ; c6 46 bb 10 … … 12515 12512 cmp bx, 00200h ; 81 fb 00 02 12516 12513 je short 083e9h ; 74 20 12517 mov bx, 00 e02h ; bb 02 0e12514 mov bx, 00da6h ; bb a6 0d 12518 12515 mov cx, ds ; 8c d9 12519 12516 mov ax, strict word 00004h ; b8 04 00 … … 12582 12579 mov dx, word [bp-014h] ; 8b 56 ec 12583 12580 mov si, strict word 0000ch ; be 0c 00 12584 call 0a 110h ; e8 a9 1c12581 call 0a0d0h ; e8 69 1c 12585 12582 mov word [bp-02ah], ax ; 89 46 d6 12586 12583 mov word [bp-016h], bx ; 89 5e ea … … 12604 12601 mov dx, word [bp-014h] ; 8b 56 ec 12605 12602 mov si, strict word 00006h ; be 06 00 12606 call 0a 110h ; e8 68 1c12603 call 0a0d0h ; e8 28 1c 12607 12604 mov si, word [bp-01eh] ; 8b 76 e2 12608 12605 add si, dx ; 01 d6 … … 12622 12619 mov dx, si ; 89 f2 12623 12620 mov si, strict word 00008h ; be 08 00 12624 call 0a 110h ; e8 38 1c12621 call 0a0d0h ; e8 f8 1b 12625 12622 mov word [bp-02eh], bx ; 89 5e d2 12626 12623 mov word [bp-030h], cx ; 89 4e d0 … … 12631 12628 mov dx, word [bp-036h] ; 8b 56 ca 12632 12629 mov si, strict word 00010h ; be 10 00 12633 call 0a 110h ; e8 1d 1c12630 call 0a0d0h ; e8 dd 1b 12634 12631 mov si, word [bp-032h] ; 8b 76 ce 12635 12632 add si, dx ; 01 d6 … … 12657 12654 mov dx, word [bp-014h] ; 8b 56 ec 12658 12655 mov si, strict word 0000bh ; be 0b 00 12659 call 0a 110h ; e8 d1 1b12656 call 0a0d0h ; e8 91 1b 12660 12657 mov si, dx ; 89 d6 12661 12658 mov dx, cx ; 89 ca … … 12700 12697 mov word [es:bx+02ch], si ; 26 89 77 2c 12701 12698 mov word [es:bx+032h], si ; 26 89 77 32 12702 mov bx, 00 e02h ; bb 02 0e12699 mov bx, 00da6h ; bb a6 0d 12703 12700 mov cx, ds ; 8c d9 12704 12701 mov ax, strict word 00004h ; b8 04 00 … … 12756 12753 inc byte [bp-00ch] ; fe 46 f4 12757 12754 jmp near 086f5h ; e9 91 00 12758 mov bx, 00 e02h ; bb 02 0e12755 mov bx, 00da6h ; bb a6 0d 12759 12756 mov cx, ds ; 8c d9 12760 12757 mov ax, strict word 00004h ; b8 04 00 … … 12862 12859 pop bp ; 5d 12863 12860 retn ; c3 12864 scsi_pci_init_: ; 0xf878e LB 0x 6d12861 scsi_pci_init_: ; 0xf878e LB 0x2a 12865 12862 push bp ; 55 12866 12863 mov bp, sp ; 89 e5 12867 12864 push bx ; 53 12868 12865 push cx ; 51 12869 push si ; 56 12870 push di ; 57 12871 mov di, ax ; 89 c7 12872 mov si, dx ; 89 d6 12873 call 09ee8h ; e8 4c 17 12874 mov dx, ax ; 89 c2 12866 call 09ea5h ; e8 0f 17 12867 mov bx, ax ; 89 c3 12875 12868 cmp ax, strict word 0ffffh ; 3d ff ff 12876 jne short 087c0h ; 75 1d 12877 mov bx, 00e02h ; bb 02 0e 12878 mov cx, ds ; 8c d9 12879 mov ax, strict word 00004h ; b8 04 00 12880 call 01923h ; e8 75 91 12881 push si ; 56 12882 push di ; 57 12883 push 00c61h ; 68 61 0c 12884 push 00c6fh ; 68 6f 0c 12885 push strict byte 00004h ; 6a 04 12886 call 01966h ; e8 ab 91 12887 add sp, strict byte 0000ah ; 83 c4 0a 12888 jmp short 087f2h ; eb 32 12889 mov bx, 00e02h ; bb 02 0e 12890 mov cx, ds ; 8c d9 12891 mov ax, strict word 00004h ; b8 04 00 12892 call 01923h ; e8 58 91 12893 push dx ; 52 12894 push si ; 56 12895 push di ; 57 12896 push 00c61h ; 68 61 0c 12897 push 00c98h ; 68 98 0c 12898 push strict byte 00004h ; 6a 04 12899 call 01966h ; e8 8d 91 12900 add sp, strict byte 0000ch ; 83 c4 0c 12901 mov al, dl ; 88 d0 12902 xor ah, ah ; 30 e4 12903 mov si, ax ; 89 c6 12904 shr dx, 008h ; c1 ea 08 12905 mov al, dl ; 88 d0 12869 je short 087b1h ; 74 14 12870 mov dl, bl ; 88 da 12871 xor dh, dh ; 30 f6 12872 shr bx, 008h ; c1 eb 08 12873 mov al, bl ; 88 d8 12874 xor ah, ah ; 30 e4 12906 12875 mov cx, strict word 00007h ; b9 07 00 12907 12876 mov bx, strict word 00004h ; bb 04 00 12908 mov dx, si ; 89 f2 12909 call 09fb1h ; e8 bf 17 12910 lea sp, [bp-008h] ; 8d 66 f8 12911 pop di ; 5f 12912 pop si ; 5e 12877 call 09f6eh ; e8 bd 17 12878 lea sp, [bp-004h] ; 8d 66 fc 12913 12879 pop cx ; 59 12914 12880 pop bx ; 5b 12915 12881 pop bp ; 5d 12916 12882 retn ; c3 12917 _scsi_init: ; 0xf87 fbLB 0x8112883 _scsi_init: ; 0xf87b8 LB 0x81 12918 12884 push bp ; 55 12919 12885 mov bp, sp ; 89 e5 12920 12886 mov dx, strict word 0000eh ; ba 0e 00 12921 12887 mov ax, strict word 00040h ; b8 40 00 12922 call 0166ch ; e8 658e12888 call 0166ch ; e8 a8 8e 12923 12889 mov bx, 00122h ; bb 22 01 12924 12890 mov es, ax ; 8e c0 … … 12931 12897 ; sub ah, ah ; 2a e4 12932 12898 cmp AL, strict byte 055h ; 3c 55 12933 jne short 08 834h ; 75 1512899 jne short 087f1h ; 75 15 12934 12900 xor al, al ; 30 c0 12935 12901 mov dx, 00433h ; ba 33 04 12936 12902 out DX, AL ; ee 12937 12903 mov ax, 00430h ; b8 30 04 12938 call 082e8h ; e8 bd fa12904 call 082e8h ; e8 00 fb 12939 12905 mov dx, 01040h ; ba 40 10 12940 12906 mov ax, 0104bh ; b8 4b 10 12941 call 0878eh ; e8 5aff12907 call 0878eh ; e8 9d ff 12942 12908 mov AL, strict byte 055h ; b0 55 12943 12909 mov dx, 00436h ; ba 36 04 … … 12947 12913 ; sub ah, ah ; 2a e4 12948 12914 cmp AL, strict byte 055h ; 3c 55 12949 jne short 088 56h ; 75 1512915 jne short 08813h ; 75 15 12950 12916 xor al, al ; 30 c0 12951 12917 mov dx, 00437h ; ba 37 04 12952 12918 out DX, AL ; ee 12953 12919 mov ax, 00434h ; b8 34 04 12954 call 082e8h ; e8 9bfa12920 call 082e8h ; e8 de fa 12955 12921 mov dx, strict word 00030h ; ba 30 00 12956 12922 mov ax, 01000h ; b8 00 10 12957 call 0878eh ; e8 38ff12923 call 0878eh ; e8 7b ff 12958 12924 mov AL, strict byte 055h ; b0 55 12959 12925 mov dx, 0043ah ; ba 3a 04 … … 12963 12929 ; sub ah, ah ; 2a e4 12964 12930 cmp AL, strict byte 055h ; 3c 55 12965 jne short 088 78h ; 75 1512931 jne short 08835h ; 75 15 12966 12932 xor al, al ; 30 c0 12967 12933 mov dx, 0043bh ; ba 3b 04 12968 12934 out DX, AL ; ee 12969 12935 mov ax, 00438h ; b8 38 04 12970 call 082e8h ; e8 79fa12936 call 082e8h ; e8 bc fa 12971 12937 mov dx, strict word 00054h ; ba 54 00 12972 12938 mov ax, 01000h ; b8 00 10 12973 call 0878eh ; e8 16ff12939 call 0878eh ; e8 59 ff 12974 12940 mov sp, bp ; 89 ec 12975 12941 pop bp ; 5d 12976 12942 retn ; c3 12977 ahci_ctrl_extract_bits_: ; 0xf88 7cLB 0x1c12943 ahci_ctrl_extract_bits_: ; 0xf8839 LB 0x1c 12978 12944 push si ; 56 12979 12945 push bp ; 55 … … 12984 12950 mov cl, byte [bp+006h] ; 8a 4e 06 12985 12951 xor ch, ch ; 30 ed 12986 jcxz 088 93h ; e3 0612952 jcxz 08850h ; e3 06 12987 12953 shr dx, 1 ; d1 ea 12988 12954 rcr ax, 1 ; d1 d8 12989 loop 088 8dh ; e2 fa12955 loop 0884ah ; e2 fa 12990 12956 pop bp ; 5d 12991 12957 pop si ; 5e 12992 12958 retn 00002h ; c2 02 00 12993 ahci_addr_to_phys_: ; 0xf88 98LB 0x1e12959 ahci_addr_to_phys_: ; 0xf8855 LB 0x1e 12994 12960 push bx ; 53 12995 12961 push cx ; 51 … … 13002 12968 sal ax, 1 ; d1 e0 13003 12969 rcl dx, 1 ; d1 d2 13004 loop 088 a6h ; e2 fa12970 loop 08863h ; e2 fa 13005 12971 xor cx, cx ; 31 c9 13006 12972 add ax, bx ; 01 d8 … … 13010 12976 pop bx ; 5b 13011 12977 retn ; c3 13012 ahci_port_cmd_sync_: ; 0xf88 b6LB 0x15612978 ahci_port_cmd_sync_: ; 0xf8873 LB 0x156 13013 12979 push bp ; 55 13014 12980 mov bp, sp ; 89 e5 … … 13025 12991 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 13026 12992 cmp AL, strict byte 0ffh ; 3c ff 13027 jne short 088 d9h ; 75 0313028 jmp near 08 a04h ; e9 2b 0112993 jne short 08896h ; 75 03 12994 jmp near 089c1h ; e9 2b 01 13029 12995 mov al, byte [es:si+00263h] ; 26 8a 84 63 02 13030 12996 xor ah, ah ; 30 e4 … … 13039 13005 lea ax, [si+00080h] ; 8d 84 80 00 13040 13006 mov dx, cx ; 89 ca 13041 call 088 98h ; e8 92 ff13007 call 08855h ; e8 92 ff 13042 13008 mov es, cx ; 8e c1 13043 13009 mov word [es:si+008h], ax ; 26 89 44 08 … … 13105 13071 xchg dx, ax ; 92 13106 13072 test dh, 040h ; f6 c6 40 13107 jne short 089 97h ; 75 0413073 jne short 08954h ; 75 04 13108 13074 test AL, strict byte 001h ; a8 01 13109 je short 089 9bh ; 74 0413075 je short 08958h ; 74 04 13110 13076 mov AL, strict byte 001h ; b0 01 13111 jmp short 089 9dh ; eb 0213077 jmp short 0895ah ; eb 02 13112 13078 xor al, al ; 30 c0 13113 13079 test al, al ; 84 c0 13114 je short 089 6ah ; 74 c913080 je short 08927h ; 74 c9 13115 13081 mov al, byte [bp-008h] ; 8a 46 f8 13116 13082 xor ah, ah ; 30 e4 … … 13168 13134 pop bp ; 5d 13169 13135 retn ; c3 13170 ahci_cmd_data_: ; 0xf8 a0cLB 0x26713136 ahci_cmd_data_: ; 0xf89c9 LB 0x267 13171 13137 push bp ; 55 13172 13138 mov bp, sp ; 89 e5 … … 13193 13159 mov ax, 00080h ; b8 80 00 13194 13160 mov dx, word [bp-00ah] ; 8b 56 f6 13195 call 0a 130h ; e8 e61613161 call 0a0f0h ; e8 e9 16 13196 13162 mov es, [bp-00ah] ; 8e 46 f6 13197 13163 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 13211 13177 mov dx, word [es:si] ; 26 8b 14 13212 13178 mov si, strict word 00008h ; be 08 00 13213 call 0a 110h ; e8 821613179 call 0a0d0h ; e8 85 16 13214 13180 mov es, [bp-00ah] ; 8e 46 f6 13215 13181 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 13222 13188 mov dx, word [es:si] ; 26 8b 14 13223 13189 mov si, strict word 00010h ; be 10 00 13224 call 0a 110h ; e8 5c1613190 call 0a0d0h ; e8 5f 16 13225 13191 mov es, [bp-00ah] ; 8e 46 f6 13226 13192 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 13234 13200 mov dx, word [es:si] ; 26 8b 14 13235 13201 mov si, strict word 00018h ; be 18 00 13236 call 0a 110h ; e8 301613202 call 0a0d0h ; e8 33 16 13237 13203 mov es, [bp-00ah] ; 8e 46 f6 13238 13204 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 13245 13211 mov dx, word [es:si] ; 26 8b 14 13246 13212 mov si, strict word 00020h ; be 20 00 13247 call 0a 110h ; e8 0a1613213 call 0a0d0h ; e8 0d 16 13248 13214 mov es, [bp-00ah] ; 8e 46 f6 13249 13215 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 13256 13222 mov dx, word [es:si] ; 26 8b 14 13257 13223 mov si, strict word 00028h ; be 28 00 13258 call 0a 110h ; e8 e41513224 call 0a0d0h ; e8 e7 15 13259 13225 mov es, [bp-00ah] ; 8e 46 f6 13260 13226 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 13270 13236 mov bx, word [bp-010h] ; 8b 5e f0 13271 13237 xor cx, cx ; 31 c9 13272 call 0a0 c0h ; e8 5f1513238 call 0a080h ; e8 62 15 13273 13239 push dx ; 52 13274 13240 push ax ; 50 … … 13280 13246 mov ax, 0026ah ; b8 6a 02 13281 13247 mov dx, word [bp-00ah] ; 8b 56 f6 13282 call 0 a011h ; e8 94 1413248 call 09fceh ; e8 94 14 13283 13249 mov es, [bp-00ah] ; 8e 46 f6 13284 13250 mov dx, word [es:di+0027eh] ; 26 8b 95 7e 02 … … 13303 13269 mov ax, word [es:bx+020h] ; 26 8b 47 20 13304 13270 test ax, ax ; 85 c0 13305 je short 08 c0fh ; 74 3b13271 je short 08bcch ; 74 3b 13306 13272 dec ax ; 48 13307 13273 mov es, [bp-00ah] ; 8e 46 f6 … … 13321 13287 mov al, byte [bp-008h] ; 8a 46 f8 13322 13288 cmp AL, strict byte 035h ; 3c 35 13323 jne short 08 c1ch ; 75 0613289 jne short 08bd9h ; 75 06 13324 13290 mov byte [bp-008h], 040h ; c6 46 f8 40 13325 jmp short 08 c33h ; eb 1713291 jmp short 08bf0h ; eb 17 13326 13292 cmp AL, strict byte 0a0h ; 3c a0 13327 jne short 08 c2fh ; 75 0f13293 jne short 08bech ; 75 0f 13328 13294 or byte [bp-008h], 020h ; 80 4e f8 20 13329 13295 les bx, [bp-00eh] ; c4 5e f2 13330 13296 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 13331 jmp short 08 c33h ; eb 0413297 jmp short 08bf0h ; eb 04 13332 13298 mov byte [bp-008h], 000h ; c6 46 f8 00 13333 13299 or byte [bp-008h], 005h ; 80 4e f8 05 … … 13336 13302 mov ax, word [bp-00eh] ; 8b 46 f2 13337 13303 mov dx, word [bp-00ch] ; 8b 56 f4 13338 call 088 b6h ; e8 71 fc13304 call 08873h ; e8 71 fc 13339 13305 mov cx, word [bp-00ch] ; 8b 4e f4 13340 13306 mov bx, word [bp-00eh] ; 8b 5e f2 … … 13343 13309 add ax, 0026ah ; 05 6a 02 13344 13310 mov dx, cx ; 89 ca 13345 call 0a0 88h ; e8 2e 1413311 call 0a045h ; e8 2e 14 13346 13312 mov es, cx ; 8e c1 13347 13313 mov al, byte [es:bx+003h] ; 26 8a 47 03 13348 13314 test al, al ; 84 c0 13349 je short 08c 69h ; 74 0513315 je short 08c26h ; 74 05 13350 13316 mov ax, strict word 00004h ; b8 04 00 13351 jmp short 08c 6bh ; eb 0213317 jmp short 08c28h ; eb 02 13352 13318 xor ah, ah ; 30 e4 13353 13319 lea sp, [bp-006h] ; 8d 66 fa … … 13357 13323 pop bp ; 5d 13358 13324 retn ; c3 13359 ahci_port_deinit_current_: ; 0xf8c 73LB 0x18013325 ahci_port_deinit_current_: ; 0xf8c30 LB 0x180 13360 13326 push bp ; 55 13361 13327 mov bp, sp ; 89 e5 … … 13372 13338 mov byte [bp-00ah], al ; 88 46 f6 13373 13339 cmp AL, strict byte 0ffh ; 3c ff 13374 je short 08c f4h ; 74 5f13340 je short 08cb1h ; 74 5f 13375 13341 xor ah, ah ; 30 e4 13376 13342 sal ax, 007h ; c1 e0 07 … … 13416 13382 xchg dx, ax ; 92 13417 13383 test ax, 0c011h ; a9 11 c0 13418 je short 08c f7h ; 74 0713384 je short 08cb4h ; 74 07 13419 13385 mov AL, strict byte 001h ; b0 01 13420 jmp short 08c f9h ; eb 0513421 jmp near 08d eah ; e9 f3 0013386 jmp short 08cb6h ; eb 05 13387 jmp near 08da7h ; e9 f3 00 13422 13388 xor al, al ; 30 c0 13423 13389 cmp AL, strict byte 001h ; 3c 01 13424 je short 08c c7h ; 74 ca13390 je short 08c84h ; 74 ca 13425 13391 mov cx, strict word 00020h ; b9 20 00 13426 13392 xor bx, bx ; 31 db 13427 13393 mov ax, di ; 89 f8 13428 13394 mov dx, word [bp-00eh] ; 8b 56 f2 13429 call 0a 130h ; e8 261413395 call 0a0f0h ; e8 29 14 13430 13396 lea ax, [di+00080h] ; 8d 85 80 00 13431 13397 mov cx, strict word 00040h ; b9 40 00 13432 13398 xor bx, bx ; 31 db 13433 13399 mov dx, word [bp-00eh] ; 8b 56 f2 13434 call 0a 130h ; e8 171413400 call 0a0f0h ; e8 1a 14 13435 13401 lea ax, [di+00200h] ; 8d 85 00 02 13436 13402 mov cx, strict word 00060h ; b9 60 00 13437 13403 xor bx, bx ; 31 db 13438 13404 mov dx, word [bp-00eh] ; 8b 56 f2 13439 call 0a 130h ; e8 081413405 call 0a0f0h ; e8 0b 14 13440 13406 mov al, byte [bp-00ah] ; 8a 46 f6 13441 13407 xor ah, ah ; 30 e4 … … 13542 13508 pop bp ; 5d 13543 13509 retn ; c3 13544 ahci_port_init_: ; 0xf8d f3LB 0x24d13510 ahci_port_init_: ; 0xf8db0 LB 0x24d 13545 13511 push bp ; 55 13546 13512 mov bp, sp ; 89 e5 … … 13552 13518 mov word [bp-00ah], dx ; 89 56 f6 13553 13519 mov byte [bp-008h], bl ; 88 5e f8 13554 call 08c 73h ; e8 6c fe13520 call 08c30h ; e8 6c fe 13555 13521 mov al, bl ; 88 d8 13556 13522 xor ah, ah ; 30 e4 … … 13601 13567 xchg dx, ax ; 92 13602 13568 test ax, 0c011h ; a9 11 c0 13603 je short 08e 78h ; 74 0413569 je short 08e35h ; 74 04 13604 13570 mov AL, strict byte 001h ; b0 01 13605 jmp short 08e 7ah ; eb 0213571 jmp short 08e37h ; eb 02 13606 13572 xor al, al ; 30 c0 13607 13573 cmp AL, strict byte 001h ; 3c 01 13608 je short 08e 43h ; 74 c513574 je short 08e00h ; 74 c5 13609 13575 mov cx, strict word 00020h ; b9 20 00 13610 13576 xor bx, bx ; 31 db 13611 13577 mov ax, si ; 89 f0 13612 13578 mov dx, word [bp-00ah] ; 8b 56 f6 13613 call 0a 130h ; e8 a51213579 call 0a0f0h ; e8 a8 12 13614 13580 lea ax, [si+00080h] ; 8d 84 80 00 13615 13581 mov cx, strict word 00040h ; b9 40 00 13616 13582 xor bx, bx ; 31 db 13617 13583 mov dx, word [bp-00ah] ; 8b 56 f6 13618 call 0a 130h ; e8 961213584 call 0a0f0h ; e8 99 12 13619 13585 lea di, [si+00200h] ; 8d bc 00 02 13620 13586 mov cx, strict word 00060h ; b9 60 00 … … 13622 13588 mov ax, di ; 89 f8 13623 13589 mov dx, word [bp-00ah] ; 8b 56 f6 13624 call 0a 130h ; e8 851213590 call 0a0f0h ; e8 88 12 13625 13591 mov bl, byte [bp-008h] ; 8a 5e f8 13626 13592 xor bh, bh ; 30 ff … … 13640 13606 mov ax, di ; 89 f8 13641 13607 mov dx, word [bp-00ah] ; 8b 56 f6 13642 call 088 98h ; e8 bf f913608 call 08855h ; e8 bf f9 13643 13609 mov es, [bp-00ah] ; 8e 46 f6 13644 13610 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13685 13651 mov ax, si ; 89 f0 13686 13652 mov dx, word [bp-00ah] ; 8b 56 f6 13687 call 088 98h ; e8 53 f913653 call 08855h ; e8 53 f9 13688 13654 mov es, [bp-00ah] ; 8e 46 f6 13689 13655 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13790 13756 pop bp ; 5d 13791 13757 retn ; c3 13792 @ahci_read_sectors: ; 0xf 9040LB 0xa813758 @ahci_read_sectors: ; 0xf8ffd LB 0xa8 13793 13759 push bp ; 55 13794 13760 mov bp, sp ; 89 e5 … … 13801 13767 sub bx, strict byte 0000ch ; 83 eb 0c 13802 13768 cmp bx, strict byte 00004h ; 83 fb 04 13803 jbe short 090 66h ; 76 0f13769 jbe short 09023h ; 76 0f 13804 13770 push bx ; 53 13805 push 00c c4h ; 68 c40c13806 push 00c d6h ; 68 d60c13771 push 00c62h ; 68 62 0c 13772 push 00c74h ; 68 74 0c 13807 13773 push strict byte 00007h ; 6a 07 13808 call 01966h ; e8 038913774 call 01966h ; e8 46 89 13809 13775 add sp, strict byte 00008h ; 83 c4 08 13810 13776 xor di, di ; 31 ff … … 13821 13787 mov dx, word [es:di+00232h] ; 26 8b 95 32 02 13822 13788 xor ax, ax ; 31 c0 13823 call 08d f3h ; e8 60 fd13789 call 08db0h ; e8 60 fd 13824 13790 mov bx, strict word 00025h ; bb 25 00 13825 13791 mov ax, si ; 89 f0 13826 13792 mov dx, word [bp+006h] ; 8b 56 06 13827 call 08 a0ch ; e8 6e f913793 call 089c9h ; e8 6e f9 13828 13794 mov word [bp-006h], ax ; 89 46 fa 13829 13795 mov es, [bp+006h] ; 8e 46 06 … … 13854 13820 pop bp ; 5d 13855 13821 retn 00004h ; c2 04 00 13856 @ahci_write_sectors: ; 0xf90 e8LB 0x8613822 @ahci_write_sectors: ; 0xf90a5 LB 0x86 13857 13823 push bp ; 55 13858 13824 mov bp, sp ; 89 e5 … … 13866 13832 sub dx, strict byte 0000ch ; 83 ea 0c 13867 13833 cmp dx, strict byte 00004h ; 83 fa 04 13868 jbe short 09 112h ; 76 0f13834 jbe short 090cfh ; 76 0f 13869 13835 push dx ; 52 13870 push 00c f5h ; 68 f50c13871 push 00c d6h ; 68 d60c13836 push 00c93h ; 68 93 0c 13837 push 00c74h ; 68 74 0c 13872 13838 push strict byte 00007h ; 6a 07 13873 call 01966h ; e8 578813839 call 01966h ; e8 9a 88 13874 13840 add sp, strict byte 00008h ; 83 c4 08 13875 13841 xor bx, bx ; 31 db … … 13886 13852 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 13887 13853 xor ax, ax ; 31 c0 13888 call 08d f3h ; e8 b6 fc13854 call 08db0h ; e8 b6 fc 13889 13855 mov bx, strict word 00035h ; bb 35 00 13890 13856 mov ax, si ; 89 f0 13891 13857 mov dx, cx ; 89 ca 13892 call 08 a0ch ; e8 c5 f813858 call 089c9h ; e8 c5 f8 13893 13859 mov dx, ax ; 89 c2 13894 13860 mov es, cx ; 8e c1 … … 13905 13871 pop bp ; 5d 13906 13872 retn 00004h ; c2 04 00 13907 ahci_cmd_packet_: ; 0xf91 6eLB 0x18a13873 ahci_cmd_packet_: ; 0xf912b LB 0x18a 13908 13874 push bp ; 55 13909 13875 mov bp, sp ; 89 e5 … … 13917 13883 mov dx, strict word 0000eh ; ba 0e 00 13918 13884 mov ax, strict word 00040h ; b8 40 00 13919 call 0166ch ; e8 e3 8413885 call 0166ch ; e8 26 85 13920 13886 mov si, 00122h ; be 22 01 13921 13887 mov word [bp-008h], ax ; 89 46 f8 13922 13888 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 13923 jne short 091 b4h ; 75 1f13924 mov bx, 00 e02h ; bb 02 0e13889 jne short 09171h ; 75 1f 13890 mov bx, 00da6h ; bb a6 0d 13925 13891 mov cx, ds ; 8c d9 13926 13892 mov ax, strict word 00004h ; b8 04 00 13927 call 01923h ; e8 838713928 push 00 d08h ; 68 08 0d13929 push 00 d18h ; 68 18 0d13893 call 01923h ; e8 c6 87 13894 push 00ca6h ; 68 a6 0c 13895 push 00cb6h ; 68 b6 0c 13930 13896 push strict byte 00004h ; 6a 04 13931 call 01966h ; e8 bb8713897 call 01966h ; e8 fe 87 13932 13898 add sp, strict byte 00006h ; 83 c4 06 13933 13899 mov ax, strict word 00001h ; b8 01 00 13934 jmp near 092 efh ; e9 3b 0113900 jmp near 092ach ; e9 3b 01 13935 13901 test byte [bp+004h], 001h ; f6 46 04 01 13936 jne short 091 aeh ; 75 f413902 jne short 0916bh ; 75 f4 13937 13903 mov ax, word [bp+006h] ; 8b 46 06 13938 13904 mov dx, word [bp+008h] ; 8b 56 08 … … 13940 13906 sal ax, 1 ; d1 e0 13941 13907 rcl dx, 1 ; d1 d2 13942 loop 091 c3h ; e2 fa13908 loop 09180h ; e2 fa 13943 13909 mov es, [bp-008h] ; 8e 46 f8 13944 13910 mov word [es:si], ax ; 26 89 04 … … 13954 13920 mov dx, word [bp+008h] ; 8b 56 08 13955 13921 xor cx, cx ; 31 c9 13956 call 0a0 e0h ; e8 e40e13922 call 0a0a0h ; e8 e7 0e 13957 13923 mov word [es:si+00eh], ax ; 26 89 44 0e 13958 13924 xor di, di ; 31 ff … … 13973 13939 mov bx, ax ; 89 c3 13974 13940 xor al, al ; 30 c0 13975 call 08d f3h ; e8 b8 fb13941 call 08db0h ; e8 b8 fb 13976 13942 mov al, byte [bp-006h] ; 8a 46 fa 13977 13943 xor ah, ah ; 30 e4 … … 13981 13947 mov ax, 000c0h ; b8 c0 00 13982 13948 mov dx, word [bp-00ah] ; 8b 56 f6 13983 call 0a1 40h ; e8 f00e13949 call 0a100h ; e8 f3 0e 13984 13950 mov es, [bp-008h] ; 8e 46 f8 13985 13951 mov word [es:si+018h], di ; 26 89 7c 18 … … 13988 13954 mov ax, word [es:si+01eh] ; 26 8b 44 1e 13989 13955 test ax, ax ; 85 c0 13990 je short 092 8eh ; 74 2713956 je short 0924bh ; 74 27 13991 13957 dec ax ; 48 13992 13958 mov es, [bp-00ah] ; 8e 46 f6 … … 14001 13967 mov ax, si ; 89 f0 14002 13968 mov dx, word [bp-008h] ; 8b 56 f8 14003 call 08 a0ch ; e8 73 f713969 call 089c9h ; e8 73 f7 14004 13970 les bx, [bp-00eh] ; c4 5e f2 14005 13971 mov dx, word [es:bx+004h] ; 26 8b 57 04 … … 14028 13994 mov ax, word [es:bx+006h] ; 26 8b 47 06 14029 13995 or ax, word [es:bx+004h] ; 26 0b 47 04 14030 jne short 092 edh ; 75 0513996 jne short 092aah ; 75 05 14031 13997 mov ax, strict word 00004h ; b8 04 00 14032 jmp short 092 efh ; eb 0213998 jmp short 092ach ; eb 02 14033 13999 xor ax, ax ; 31 c0 14034 14000 lea sp, [bp-004h] ; 8d 66 fc … … 14037 14003 pop bp ; 5d 14038 14004 retn 0000ch ; c2 0c 00 14039 ahci_port_detect_device_: ; 0xf92 f8LB 0x4e314005 ahci_port_detect_device_: ; 0xf92b5 LB 0x4e3 14040 14006 push bp ; 55 14041 14007 mov bp, sp ; 89 e5 … … 14050 14016 xor ch, ch ; 30 ed 14051 14017 mov bx, cx ; 89 cb 14052 call 08d f3h ; e8 e0 fa14018 call 08db0h ; e8 e0 fa 14053 14019 mov dx, strict word 0000eh ; ba 0e 00 14054 14020 mov ax, strict word 00040h ; b8 40 00 14055 call 0166ch ; e8 508314021 call 0166ch ; e8 93 83 14056 14022 mov word [bp-00eh], 00122h ; c7 46 f2 22 01 14057 14023 mov word [bp-016h], ax ; 89 46 ea … … 14123 14089 mov bx, strict word 0000fh ; bb 0f 00 14124 14090 xor cx, cx ; 31 c9 14125 call 088 7ch ; e8 b5 f414091 call 08839h ; e8 b5 f4 14126 14092 test ax, ax ; 85 c0 14127 jne short 093 ceh ; 75 0314128 jmp near 097 d3h ; e9 05 0414093 jne short 0938bh ; 75 03 14094 jmp near 09790h ; e9 05 04 14129 14095 mov al, byte [bp-00ch] ; 8a 46 f4 14130 14096 xor ah, ah ; 30 e4 … … 14155 14121 mov bx, strict word 0000fh ; bb 0f 00 14156 14122 xor cx, cx ; 31 c9 14157 call 088 7ch ; e8 67 f414123 call 08839h ; e8 67 f4 14158 14124 cmp ax, strict word 00001h ; 3d 01 00 14159 je short 093 ceh ; 74 b414125 je short 0938bh ; 74 b4 14160 14126 push strict byte 00000h ; 6a 00 14161 14127 mov bx, strict word 0000fh ; bb 0f 00 … … 14163 14129 mov ax, word [bp-01ah] ; 8b 46 e6 14164 14130 mov dx, di ; 89 fa 14165 call 088 7ch ; e8 53 f414131 call 08839h ; e8 53 f4 14166 14132 cmp ax, strict word 00003h ; 3d 03 00 14167 jne short 093 cbh ; 75 9d14133 jne short 09388h ; 75 9d 14168 14134 mov ax, word [bp-01ch] ; 8b 46 e4 14169 14135 add ax, 00130h ; 05 30 01 … … 14193 14159 mov byte [bp-008h], al ; 88 46 f8 14194 14160 cmp AL, strict byte 004h ; 3c 04 14195 jc short 094 78h ; 72 0314196 jmp near 097 d3h ; e9 5b 0314161 jc short 09435h ; 72 03 14162 jmp near 09790h ; e9 5b 03 14197 14163 mov ax, word [bp-01ch] ; 8b 46 e4 14198 14164 add ax, 00118h ; 05 18 01 … … 14244 14210 add cl, 00ch ; 80 c1 0c 14245 14211 test dx, dx ; 85 d2 14246 jne short 09 53eh ; 75 5414212 jne short 094fbh ; 75 54 14247 14213 cmp ax, 00101h ; 3d 01 01 14248 jne short 09 53eh ; 75 4f14214 jne short 094fbh ; 75 4f 14249 14215 mov es, [bp-016h] ; 8e 46 ea 14250 14216 mov bx, word [bp-00eh] ; 8b 5e f2 … … 14261 14227 mov ax, word [bp-00eh] ; 8b 46 f2 14262 14228 mov dx, es ; 8c c2 14263 call 08 a0ch ; e8 dd f414229 call 089c9h ; e8 dd f4 14264 14230 mov byte [bp-00ah], cl ; 88 4e f6 14265 14231 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14266 je short 09 541h ; 74 0814232 je short 094feh ; 74 08 14267 14233 mov ax, strict word 00001h ; b8 01 00 14268 jmp short 095 43h ; eb 0514269 jmp near 09 711h ; e9 d0 0114234 jmp short 09500h ; eb 05 14235 jmp near 096ceh ; e9 d0 01 14270 14236 xor ax, ax ; 31 c0 14271 14237 mov dl, al ; 88 c2 … … 14283 14249 mov word [bp-01eh], ax ; 89 46 e2 14284 14250 cmp word [bp-014h], 00fffh ; 81 7e ec ff 0f 14285 jne short 095 92h ; 75 1e14251 jne short 0954fh ; 75 1e 14286 14252 cmp di, strict byte 0ffffh ; 83 ff ff 14287 jne short 095 92h ; 75 1914253 jne short 0954fh ; 75 19 14288 14254 mov ax, word [bp-0015ch] ; 8b 86 a4 fe 14289 14255 mov word [bp-01eh], ax ; 89 46 e2 … … 14324 14290 mov al, byte [bp-008h] ; 8a 46 f8 14325 14291 cmp AL, strict byte 001h ; 3c 01 14326 jc short 09 60dh ; 72 0c14327 jbe short 09 615h ; 76 1214292 jc short 095cah ; 72 0c 14293 jbe short 095d2h ; 76 12 14328 14294 cmp AL, strict byte 003h ; 3c 03 14329 je short 09 61dh ; 74 1614295 je short 095dah ; 74 16 14330 14296 cmp AL, strict byte 002h ; 3c 02 14331 je short 09 619h ; 74 0e14332 jmp short 096 65h ; eb 5814297 je short 095d6h ; 74 0e 14298 jmp short 09622h ; eb 58 14333 14299 test al, al ; 84 c0 14334 jne short 096 65h ; 75 5414300 jne short 09622h ; 75 54 14335 14301 mov DL, strict byte 040h ; b2 40 14336 jmp short 09 61fh ; eb 0a14302 jmp short 095dch ; eb 0a 14337 14303 mov DL, strict byte 048h ; b2 48 14338 jmp short 09 61fh ; eb 0614304 jmp short 095dch ; eb 06 14339 14305 mov DL, strict byte 050h ; b2 50 14340 jmp short 09 61fh ; eb 0214306 jmp short 095dch ; eb 02 14341 14307 mov DL, strict byte 058h ; b2 58 14342 14308 mov bl, dl ; 88 d3 … … 14344 14310 xor bh, bh ; 30 ff 14345 14311 mov ax, bx ; 89 d8 14346 call 016ach ; e8 818014312 call 016ach ; e8 c4 80 14347 14313 test al, al ; 84 c0 14348 je short 096 65h ; 74 3614314 je short 09622h ; 74 36 14349 14315 mov al, dl ; 88 d0 14350 14316 db 0feh, 0c0h 14351 14317 ; inc al ; fe c0 14352 14318 xor ah, ah ; 30 e4 14353 call 016ach ; e8 748014319 call 016ach ; e8 b7 80 14354 14320 xor ah, ah ; 30 e4 14355 14321 mov cx, ax ; 89 c1 14356 14322 sal cx, 008h ; c1 e1 08 14357 14323 mov al, dl ; 88 d0 14358 call 016ach ; e8 688014324 call 016ach ; e8 ab 80 14359 14325 xor ah, ah ; 30 e4 14360 14326 add ax, cx ; 01 c8 … … 14363 14329 add AL, strict byte 002h ; 04 02 14364 14330 xor ah, ah ; 30 e4 14365 call 016ach ; e8 588014331 call 016ach ; e8 9b 80 14366 14332 xor ah, ah ; 30 e4 14367 14333 mov word [bp-02ah], ax ; 89 46 d6 14368 14334 mov ax, bx ; 89 d8 14369 call 016ach ; e8 4e8014335 call 016ach ; e8 91 80 14370 14336 xor ah, ah ; 30 e4 14371 14337 mov word [bp-026h], ax ; 89 46 da 14372 jmp short 096 77h ; eb 1214338 jmp short 09634h ; eb 12 14373 14339 push word [bp-01eh] ; ff 76 e2 14374 14340 push word [bp-012h] ; ff 76 ee … … 14377 14343 mov dx, ss ; 8c d2 14378 14344 lea ax, [bp-02ah] ; 8d 46 d6 14379 call 05a02h ; e8 8bc314380 mov bx, 00 e02h ; bb 02 0e14345 call 05a02h ; e8 ce c3 14346 mov bx, 00da6h ; bb a6 0d 14381 14347 mov cx, ds ; 8c d9 14382 14348 mov ax, strict word 00004h ; b8 04 00 14383 call 01923h ; e8 a18214349 call 01923h ; e8 e4 82 14384 14350 push word [bp-01eh] ; ff 76 e2 14385 14351 push word [bp-012h] ; ff 76 ee … … 14400 14366 mov al, byte [bp-008h] ; 8a 46 f8 14401 14367 push ax ; 50 14402 push 00 d38h ; 68 38 0d14368 push 00cd6h ; 68 d6 0c 14403 14369 push strict byte 00004h ; 6a 04 14404 call 01966h ; e8 b38214370 call 01966h ; e8 f6 82 14405 14371 add sp, strict byte 0001ch ; 83 c4 1c 14406 14372 mov al, byte [bp-00ah] ; 8a 46 f6 … … 14433 14399 mov dx, strict word 00075h ; ba 75 00 14434 14400 mov ax, strict word 00040h ; b8 40 00 14435 call 01650h ; e8 517f14401 call 01650h ; e8 94 7f 14436 14402 mov bl, al ; 88 c3 14437 14403 db 0feh, 0c3h … … 14440 14406 mov dx, strict word 00075h ; ba 75 00 14441 14407 mov ax, strict word 00040h ; b8 40 00 14442 call 0165eh ; e8 507f14443 jmp near 097 c2h ; e9 b1 0014408 call 0165eh ; e8 93 7f 14409 jmp near 0977fh ; e9 b1 00 14444 14410 cmp dx, 0eb14h ; 81 fa 14 eb 14445 jne short 097 6bh ; 75 5414411 jne short 09728h ; 75 54 14446 14412 cmp ax, 00101h ; 3d 01 01 14447 jne short 097 6bh ; 75 4f14413 jne short 09728h ; 75 4f 14448 14414 mov es, [bp-016h] ; 8e 46 ea 14449 14415 mov bx, word [bp-00eh] ; 8b 5e f2 … … 14460 14426 mov ax, word [bp-00eh] ; 8b 46 f2 14461 14427 mov dx, es ; 8c c2 14462 call 08 a0ch ; e8 b0 f214428 call 089c9h ; e8 b0 f2 14463 14429 mov byte [bp-00ah], cl ; 88 4e f6 14464 14430 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14465 je short 097 6dh ; 74 0714431 je short 0972ah ; 74 07 14466 14432 mov dx, strict word 00001h ; ba 01 00 14467 jmp short 097 6fh ; eb 0414468 jmp short 097 c2h ; eb 5514433 jmp short 0972ch ; eb 04 14434 jmp short 0977fh ; eb 55 14469 14435 xor dx, dx ; 31 d2 14470 14436 mov bl, byte [bp-008h] ; 8a 5e f8 … … 14505 14471 pop bp ; 5d 14506 14472 retn ; c3 14507 ahci_mem_alloc_: ; 0xf97 dbLB 0x4314473 ahci_mem_alloc_: ; 0xf9798 LB 0x43 14508 14474 push bp ; 55 14509 14475 mov bp, sp ; 89 e5 … … 14515 14481 mov dx, 00413h ; ba 13 04 14516 14482 xor ax, ax ; 31 c0 14517 call 0166ch ; e8 817e14483 call 0166ch ; e8 c4 7e 14518 14484 test ax, ax ; 85 c0 14519 je short 09 814h ; 74 2514485 je short 097d1h ; 74 25 14520 14486 dec ax ; 48 14521 14487 mov bx, ax ; 89 c3 … … 14524 14490 sal ax, 1 ; d1 e0 14525 14491 rcl dx, 1 ; d1 d2 14526 loop 097 f7h ; e2 fa14492 loop 097b4h ; e2 fa 14527 14493 mov si, ax ; 89 c6 14528 14494 mov di, dx ; 89 d7 … … 14530 14496 shr di, 1 ; d1 ef 14531 14497 rcr si, 1 ; d1 de 14532 loop 09 804h ; e2 fa14498 loop 097c1h ; e2 fa 14533 14499 mov dx, 00413h ; ba 13 04 14534 14500 xor ax, ax ; 31 c0 14535 call 0167ah ; e8 687e14501 call 0167ah ; e8 ab 7e 14536 14502 mov ax, si ; 89 f0 14537 14503 lea sp, [bp-00ah] ; 8d 66 f6 … … 14543 14509 pop bp ; 5d 14544 14510 retn ; c3 14545 ahci_hba_init_: ; 0xf9 81eLB 0x16d14511 ahci_hba_init_: ; 0xf97db LB 0x16d 14546 14512 push bp ; 55 14547 14513 mov bp, sp ; 89 e5 … … 14555 14521 mov dx, strict word 0000eh ; ba 0e 00 14556 14522 mov ax, strict word 00040h ; b8 40 00 14557 call 0166ch ; e8 387e14523 call 0166ch ; e8 7b 7e 14558 14524 mov bx, 00122h ; bb 22 01 14559 14525 mov di, ax ; 89 c7 … … 14572 14538 shr eax, 010h ; 66 c1 e8 10 14573 14539 xchg dx, ax ; 92 14574 call 097 dbh ; e8 83 ff14540 call 09798h ; e8 83 ff 14575 14541 mov word [bp-010h], ax ; 89 46 f0 14576 14542 test ax, ax ; 85 c0 14577 jne short 098 62h ; 75 0314578 jmp near 099 6ah ; e9 08 0114543 jne short 0981fh ; 75 03 14544 jmp near 09927h ; e9 08 01 14579 14545 mov ax, word [bp-010h] ; 8b 46 f0 14580 14546 mov es, di ; 8e c7 … … 14626 14592 xchg dx, ax ; 92 14627 14593 test AL, strict byte 001h ; a8 01 14628 jne short 098 bch ; 75 de14594 jne short 09879h ; 75 de 14629 14595 xor ax, ax ; 31 c0 14630 14596 xor cx, cx ; 31 c9 … … 14644 14610 mov bx, strict word 0001fh ; bb 1f 00 14645 14611 xor cx, cx ; 31 c9 14646 call 088 7ch ; e8 7a ef14612 call 08839h ; e8 7a ef 14647 14613 db 0feh, 0c0h 14648 14614 ; inc al ; fe c0 14649 14615 mov byte [bp-00ch], al ; 88 46 f4 14650 14616 mov byte [bp-00eh], 000h ; c6 46 f2 00 14651 jmp short 09 92eh ; eb 2114617 jmp short 098ebh ; eb 21 14652 14618 xor al, al ; 30 c0 14653 14619 test al, al ; 84 c0 14654 je short 09 925h ; 74 1214620 je short 098e2h ; 74 12 14655 14621 mov bl, byte [bp-00eh] ; 8a 5e f2 14656 14622 xor bh, bh ; 30 ff 14657 14623 xor ax, ax ; 31 c0 14658 14624 mov dx, word [bp-010h] ; 8b 56 f0 14659 call 092 f8h ; e8 d8 f914625 call 092b5h ; e8 d8 f9 14660 14626 dec byte [bp-00ch] ; fe 4e f4 14661 je short 099 68h ; 74 4314627 je short 09925h ; 74 43 14662 14628 inc byte [bp-00eh] ; fe 46 f2 14663 14629 cmp byte [bp-00eh], 020h ; 80 7e f2 20 14664 jnc short 099 68h ; 73 3a14630 jnc short 09925h ; 73 3a 14665 14631 mov cl, byte [bp-00eh] ; 8a 4e f2 14666 14632 xor ch, ch ; 30 ed 14667 14633 mov bx, strict word 00001h ; bb 01 00 14668 14634 xor di, di ; 31 ff 14669 jcxz 09 940h ; e3 0614635 jcxz 098fdh ; e3 06 14670 14636 sal bx, 1 ; d1 e3 14671 14637 rcl di, 1 ; d1 d7 14672 loop 09 93ah ; e2 fa14638 loop 098f7h ; e2 fa 14673 14639 mov ax, strict word 0000ch ; b8 0c 00 14674 14640 xor cx, cx ; 31 c9 … … 14686 14652 xchg dx, ax ; 92 14687 14653 test dx, di ; 85 fa 14688 jne short 099 64h ; 75 0414654 jne short 09921h ; 75 04 14689 14655 test ax, bx ; 85 d8 14690 je short 09 90dh ; 74 a914656 je short 098cah ; 74 a9 14691 14657 mov AL, strict byte 001h ; b0 01 14692 jmp short 09 90fh ; eb a714658 jmp short 098cch ; eb a7 14693 14659 xor ax, ax ; 31 c0 14694 14660 lea sp, [bp-00ah] ; 8d 66 f6 … … 14700 14666 pop bp ; 5d 14701 14667 retn ; c3 14702 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 74h, 09ah, 052h, 09ah, 058h, 09ah, 05eh, 09ah, 064h14703 db 09ah, 0 6ah, 09ah, 070h, 09ah, 074h, 09ah14704 _ahci_init: ; 0xf99 8bLB 0x13a14668 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 031h, 09ah, 00fh, 09ah, 015h, 09ah, 01bh, 09ah, 021h 14669 db 09ah, 027h, 09ah, 02dh, 09ah, 031h, 09ah 14670 _ahci_init: ; 0xf9948 LB 0x13a 14705 14671 push bp ; 55 14706 14672 mov bp, sp ; 89 e5 … … 14710 14676 mov ax, 00601h ; b8 01 06 14711 14677 mov dx, strict word 00001h ; ba 01 00 14712 call 09e e0h ; e8 44 0514678 call 09e9dh ; e8 44 05 14713 14679 mov dx, ax ; 89 c2 14714 14680 cmp ax, strict word 0ffffh ; 3d ff ff 14715 je short 099 efh ; 74 4c14681 je short 099ach ; 74 4c 14716 14682 xor al, al ; 30 c0 14717 14683 shr ax, 008h ; c1 e8 08 … … 14721 14687 xor ah, ah ; 30 e4 14722 14688 mov bx, strict word 00034h ; bb 34 00 14723 call 09 f0bh ; e8 53 0514689 call 09ec8h ; e8 53 05 14724 14690 mov cl, al ; 88 c1 14725 14691 test cl, cl ; 84 c9 14726 je short 099 f2h ; 74 3414692 je short 099afh ; 74 34 14727 14693 mov bl, cl ; 88 cb 14728 14694 xor bh, bh ; 30 ff … … 14735 14701 mov dx, word [bp-00eh] ; 8b 56 f2 14736 14702 mov ax, word [bp-014h] ; 8b 46 ec 14737 call 09 f0bh ; e8 2e 0514703 call 09ec8h ; e8 2e 05 14738 14704 cmp AL, strict byte 012h ; 3c 12 14739 je short 099 f2h ; 74 1114705 je short 099afh ; 74 11 14740 14706 mov bl, cl ; 88 cb 14741 14707 db 0feh, 0c3h … … 14744 14710 mov dx, word [bp-00eh] ; 8b 56 f2 14745 14711 mov ax, word [bp-014h] ; 8b 46 ec 14746 jmp short 099 b5h ; eb c614747 jmp near 09a beh ; e9 cc 0014712 jmp short 09972h ; eb c6 14713 jmp near 09a7bh ; e9 cc 00 14748 14714 test cl, cl ; 84 c9 14749 je short 099 efh ; 74 f914715 je short 099ach ; 74 f9 14750 14716 add cl, 002h ; 80 c1 02 14751 14717 mov bl, cl ; 88 cb … … 14759 14725 mov dx, word [bp-012h] ; 8b 56 ee 14760 14726 mov ax, word [bp-00ch] ; 8b 46 f4 14761 call 09 f0bh ; e8 f3 0414727 call 09ec8h ; e8 f3 04 14762 14728 cmp AL, strict byte 010h ; 3c 10 14763 jne short 099 efh ; 75 d314729 jne short 099ach ; 75 d3 14764 14730 mov byte [bp-008h], 000h ; c6 46 f8 00 14765 14731 mov bl, cl ; 88 cb … … 14768 14734 mov dx, word [bp-012h] ; 8b 56 ee 14769 14735 mov ax, word [bp-00ch] ; 8b 46 f4 14770 call 09 f39h ; e8 09 0514736 call 09ef6h ; e8 09 05 14771 14737 mov dx, ax ; 89 c2 14772 14738 and ax, strict word 0000fh ; 25 0f 00 14773 14739 sub ax, strict word 00004h ; 2d 04 00 14774 14740 cmp ax, strict word 0000bh ; 3d 0b 00 14775 jnbe short 09a 74h ; 77 3714741 jnbe short 09a31h ; 77 37 14776 14742 push CS ; 0e 14777 14743 pop ES ; 07 14778 14744 mov cx, strict word 00008h ; b9 08 00 14779 mov di, 099 74h ; bf 749914745 mov di, 09931h ; bf 31 99 14780 14746 repne scasb ; f2 ae 14781 14747 sal cx, 1 ; d1 e1 14782 14748 mov di, cx ; 89 cf 14783 mov ax, word [cs:di-066 85h] ; 2e 8b 85 7b9914749 mov ax, word [cs:di-066c8h] ; 2e 8b 85 38 99 14784 14750 jmp ax ; ff e0 14785 14751 mov byte [bp-008h], 010h ; c6 46 f8 10 14786 jmp short 09a 74h ; eb 1c14752 jmp short 09a31h ; eb 1c 14787 14753 mov byte [bp-008h], 014h ; c6 46 f8 14 14788 jmp short 09a 74h ; eb 1614754 jmp short 09a31h ; eb 16 14789 14755 mov byte [bp-008h], 018h ; c6 46 f8 18 14790 jmp short 09a 74h ; eb 1014756 jmp short 09a31h ; eb 10 14791 14757 mov byte [bp-008h], 01ch ; c6 46 f8 1c 14792 jmp short 09a 74h ; eb 0a14758 jmp short 09a31h ; eb 0a 14793 14759 mov byte [bp-008h], 020h ; c6 46 f8 20 14794 jmp short 09a 74h ; eb 0414760 jmp short 09a31h ; eb 04 14795 14761 mov byte [bp-008h], 024h ; c6 46 f8 24 14796 14762 mov si, dx ; 89 d6 … … 14799 14765 mov al, byte [bp-008h] ; 8a 46 f8 14800 14766 test al, al ; 84 c0 14801 je short 09a beh ; 74 3b14767 je short 09a7bh ; 74 3b 14802 14768 mov bl, al ; 88 c3 14803 14769 xor bh, bh ; 30 ff … … 14810 14776 mov dx, word [bp-010h] ; 8b 56 f0 14811 14777 mov ax, word [bp-016h] ; 8b 46 ea 14812 call 09f 63h ; e8 c1 0414778 call 09f20h ; e8 c1 04 14813 14779 test AL, strict byte 001h ; a8 01 14814 je short 09a beh ; 74 1814780 je short 09a7bh ; 74 18 14815 14781 and AL, strict byte 0f0h ; 24 f0 14816 14782 add si, ax ; 01 c6 … … 14819 14785 mov dx, word [bp-010h] ; 8b 56 f0 14820 14786 mov ax, word [bp-016h] ; 8b 46 ea 14821 call 09f b1h ; e8 f8 0414787 call 09f6eh ; e8 f8 04 14822 14788 mov ax, si ; 89 f0 14823 call 09 81eh ; e8 60 fd14789 call 097dbh ; e8 60 fd 14824 14790 lea sp, [bp-004h] ; 8d 66 fc 14825 14791 pop di ; 5f … … 14827 14793 pop bp ; 5d 14828 14794 retn ; c3 14829 apm_out_str_: ; 0xf9a c5LB 0x3914795 apm_out_str_: ; 0xf9a82 LB 0x39 14830 14796 push bp ; 55 14831 14797 mov bp, sp ; 89 e5 … … 14833 14799 mov bx, ax ; 89 c3 14834 14800 cmp byte [bx], 000h ; 80 3f 00 14835 je short 09a dah ; 74 0a14801 je short 09a97h ; 74 0a 14836 14802 mov al, byte [bx] ; 8a 07 14837 14803 out DX, AL ; ee … … 14840 14806 db 00ah, 0c0h 14841 14807 ; or al, al ; 0a c0 14842 jne short 09a d2h ; 75 f814808 jne short 09a8fh ; 75 f8 14843 14809 lea sp, [bp-002h] ; 8d 66 fe 14844 14810 pop bx ; 5b 14845 14811 pop bp ; 5d 14846 14812 retn ; c3 14847 pop DS ; 1f 14813 fcomp qword [bp+si-0649ch] ; dc 9a 64 9b 14814 out DX, AL ; ee 14815 call far 09b64h:09b09h ; 9a 09 9b 64 9b 14816 xor AL, strict byte 09bh ; 34 9b 14817 db 064h, 09bh 14818 ; fs wait ; 64 9b 14819 push strict byte 0ff9bh ; 6a 9b 14820 cmp word [bp+di-064c7h], bx ; 39 9b 39 9b 14821 cmp word [bp+di-06457h], bx ; 39 9b a9 9b 14822 cmp word [bp+di-064c7h], bx ; 39 9b 39 9b 14823 db 0a2h 14848 14824 wait ; 9b 14849 cmpsw ; a7 14850 wait ; 9b 14851 xor word [bp+di-064b4h], bx ; 31 9b 4c 9b 14852 cmpsw ; a7 14853 wait ; 9b 14854 jnbe short 09a87h ; 77 9b 14855 cmpsw ; a7 14856 wait ; 9b 14857 lodsw ; ad 14858 wait ; 9b 14859 jl short 09a8dh ; 7c 9b 14860 jl short 09a8fh ; 7c 9b 14861 jl short 09a91h ; 7c 9b 14862 in AL, DX ; ec 14863 wait ; 9b 14864 jl short 09a95h ; 7c 9b 14865 jl short 09a97h ; 7c 9b 14866 in ax, 09bh ; e5 9b 14867 _apm_function: ; 0xf9afe LB 0xf3 14825 _apm_function: ; 0xf9abb LB 0xf3 14868 14826 push bp ; 55 14869 14827 mov bp, sp ; 89 e5 … … 14873 14831 xor ah, ah ; 30 e4 14874 14832 cmp ax, strict word 0000eh ; 3d 0e 00 14875 jnbe short 09b 7ch ; 77 6c14833 jnbe short 09b39h ; 77 6c 14876 14834 mov bx, ax ; 89 c3 14877 14835 add bx, ax ; 01 c3 14878 14836 mov dx, word [bp+018h] ; 8b 56 18 14879 14837 or dl, 001h ; 80 ca 01 14880 jmp word [cs:bx-065 20h] ; 2e ff a7 e09a14838 jmp word [cs:bx-06563h] ; 2e ff a7 9d 9a 14881 14839 mov word [bp+012h], 00102h ; c7 46 12 02 01 14882 14840 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 14883 14841 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 14884 jmp near 09b a7h ; e9 76 0014842 jmp near 09b64h ; e9 76 00 14885 14843 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14886 mov word [bp+00ch], 0a1 b4h ; c7 46 0c b4 a114844 mov word [bp+00ch], 0a174h ; c7 46 0c 74 a1 14887 14845 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 14888 14846 mov ax, strict word 0fff0h ; b8 f0 ff 14889 14847 mov word [bp+006h], ax ; 89 46 06 14890 14848 mov word [bp+004h], ax ; 89 46 04 14891 jmp near 09b a7h ; e9 5b 0014849 jmp near 09b64h ; e9 5b 00 14892 14850 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14893 14851 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 14902 14860 mov si, ax ; 89 c6 14903 14861 sal esi, 010h ; 66 c1 e6 10 14904 jmp near 09b a7h ; e9 30 0014862 jmp near 09b64h ; e9 30 00 14905 14863 sti ; fb 14906 14864 hlt ; f4 14907 jmp near 09b a7h ; e9 2b 0014908 mov bx, 00 e02h ; bb 02 0e14865 jmp near 09b64h ; e9 2b 00 14866 mov bx, 00da6h ; bb a6 0d 14909 14867 mov cx, ds ; 8c d9 14910 14868 mov ax, strict word 00004h ; b8 04 00 14911 call 01923h ; e8 9c7d14869 call 01923h ; e8 df 7d 14912 14870 push word [bp+00ch] ; ff 76 0c 14913 14871 push word [bp+012h] ; ff 76 12 14914 push 00d 8bh ; 68 8b0d14872 push 00d29h ; 68 29 0d 14915 14873 push strict byte 00004h ; 6a 04 14916 call 01966h ; e8 d1 7d14874 call 01966h ; e8 14 7e 14917 14875 add sp, strict byte 00008h ; 83 c4 08 14918 14876 mov ax, word [bp+012h] ; 8b 46 12 … … 14926 14884 retn ; c3 14927 14885 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 14928 je short 09b d2h ; 74 1f14886 je short 09b8fh ; 74 1f 14929 14887 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 14930 je short 09b cah ; 74 1114888 je short 09b87h ; 74 11 14931 14889 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 14932 jne short 09b dah ; 75 1b14890 jne short 09b97h ; 75 1b 14933 14891 mov dx, 0040fh ; ba 0f 04 14934 mov ax, 00d 72h ; b8 720d14935 call 09a c5h ; e8 fd fe14936 jmp short 09b a7h ; eb dd14892 mov ax, 00d10h ; b8 10 0d 14893 call 09a82h ; e8 fd fe 14894 jmp short 09b64h ; eb dd 14937 14895 mov dx, 0040fh ; ba 0f 04 14938 mov ax, 00d 7ah ; b8 7a0d14939 jmp short 09b c5h ; eb f314896 mov ax, 00d18h ; b8 18 0d 14897 jmp short 09b82h ; eb f3 14940 14898 mov dx, 0040fh ; ba 0f 04 14941 mov ax, 00d 82h ; b8 820d14942 jmp short 09b c5h ; eb eb14899 mov ax, 00d20h ; b8 20 0d 14900 jmp short 09b82h ; eb eb 14943 14901 or ah, 00ah ; 80 cc 0a 14944 14902 mov word [bp+012h], ax ; 89 46 12 14945 14903 mov word [bp+018h], dx ; 89 56 18 14946 jmp short 09b a7h ; eb c214904 jmp short 09b64h ; eb c2 14947 14905 mov word [bp+012h], 00102h ; c7 46 12 02 01 14948 jmp short 09b a7h ; eb bb14906 jmp short 09b64h ; eb bb 14949 14907 or ah, 080h ; 80 cc 80 14950 jmp short 09b ddh ; eb ec14951 pci16_select_reg_: ; 0xf9b f1LB 0x2414908 jmp short 09b9ah ; eb ec 14909 pci16_select_reg_: ; 0xf9bae LB 0x24 14952 14910 push bp ; 55 14953 14911 mov bp, sp ; 89 e5 … … 14966 14924 pop bp ; 5d 14967 14925 retn ; c3 14968 pci16_find_device_: ; 0xf9 c15LB 0xf914926 pci16_find_device_: ; 0xf9bd2 LB 0xf9 14969 14927 push bp ; 55 14970 14928 mov bp, sp ; 89 e5 … … 14980 14938 mov byte [bp-008h], 000h ; c6 46 f8 00 14981 14939 test bl, 007h ; f6 c3 07 14982 jne short 09c 5dh ; 75 2d14940 jne short 09c1ah ; 75 2d 14983 14941 mov dx, strict word 0000eh ; ba 0e 00 14984 14942 mov ax, bx ; 89 d8 14985 call 09b f1h ; e8 b9 ff14943 call 09baeh ; e8 b9 ff 14986 14944 mov dx, 00cfeh ; ba fe 0c 14987 14945 in AL, DX ; ec … … 14990 14948 mov byte [bp-006h], al ; 88 46 fa 14991 14949 cmp AL, strict byte 0ffh ; 3c ff 14992 jne short 09c 4bh ; 75 0614950 jne short 09c08h ; 75 06 14993 14951 add bx, strict byte 00008h ; 83 c3 08 14994 jmp near 09c deh ; e9 93 0014952 jmp near 09c9bh ; e9 93 00 14995 14953 test byte [bp-006h], 080h ; f6 46 fa 80 14996 je short 09c 58h ; 74 0714954 je short 09c15h ; 74 07 14997 14955 mov word [bp-010h], strict word 00001h ; c7 46 f0 01 00 14998 jmp short 09c 5dh ; eb 0514956 jmp short 09c1ah ; eb 05 14999 14957 mov word [bp-010h], strict word 00008h ; c7 46 f0 08 00 15000 14958 mov al, byte [bp-006h] ; 8a 46 fa 15001 14959 and AL, strict byte 007h ; 24 07 15002 14960 cmp AL, strict byte 001h ; 3c 01 15003 jne short 09c 85h ; 75 1f14961 jne short 09c42h ; 75 1f 15004 14962 mov ax, bx ; 89 d8 15005 14963 shr ax, 008h ; c1 e8 08 15006 14964 test ax, ax ; 85 c0 15007 jne short 09c 85h ; 75 1614965 jne short 09c42h ; 75 16 15008 14966 mov dx, strict word 0001ah ; ba 1a 00 15009 14967 mov ax, bx ; 89 d8 15010 call 09b f1h ; e8 7a ff14968 call 09baeh ; e8 7a ff 15011 14969 mov dx, 00cfeh ; ba fe 0c 15012 14970 in AL, DX ; ec … … 15014 14972 ; sub ah, ah ; 2a e4 15015 14973 cmp al, byte [bp-008h] ; 3a 46 f8 15016 jbe short 09c 85h ; 76 0314974 jbe short 09c42h ; 76 03 15017 14975 mov byte [bp-008h], al ; 88 46 f8 15018 14976 test di, di ; 85 ff 15019 je short 09c 8eh ; 74 0514977 je short 09c4bh ; 74 05 15020 14978 mov dx, strict word 00008h ; ba 08 00 15021 jmp short 09c 90h ; eb 0214979 jmp short 09c4dh ; eb 02 15022 14980 xor dx, dx ; 31 d2 15023 14981 mov ax, bx ; 89 d8 15024 call 09b f1h ; e8 5c ff14982 call 09baeh ; e8 5c ff 15025 14983 mov dx, 00cfch ; ba fc 0c 15026 14984 in eax, DX ; 66 ed … … 15033 14991 mov word [bp-00eh], strict word 00000h ; c7 46 f2 00 00 15034 14992 test di, di ; 85 ff 15035 je short 09c bfh ; 74 0f14993 je short 09c7ch ; 74 0f 15036 14994 mov cx, strict word 00008h ; b9 08 00 15037 14995 shr dx, 1 ; d1 ea 15038 14996 rcr ax, 1 ; d1 d8 15039 loop 09c b3h ; e2 fa14997 loop 09c70h ; e2 fa 15040 14998 mov word [bp-00ah], ax ; 89 46 f6 15041 14999 mov word [bp-00ch], dx ; 89 56 f4 15042 15000 mov ax, word [bp-00ch] ; 8b 46 f4 15043 15001 cmp ax, word [bp-014h] ; 3b 46 ec 15044 jne short 09c cfh ; 75 0815002 jne short 09c8ch ; 75 08 15045 15003 mov ax, word [bp-00ah] ; 8b 46 f6 15046 15004 cmp ax, word [bp-012h] ; 3b 46 ee 15047 je short 09c d5h ; 74 0615005 je short 09c92h ; 74 06 15048 15006 cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00 15049 je short 09c dbh ; 74 0615007 je short 09c98h ; 74 06 15050 15008 dec si ; 4e 15051 15009 cmp si, strict byte 0ffffh ; 83 fe ff 15052 je short 09c efh ; 74 1415010 je short 09cach ; 74 14 15053 15011 add bx, word [bp-010h] ; 03 5e f0 15054 15012 mov dx, bx ; 89 da … … 15057 15015 xor ah, ah ; 30 e4 15058 15016 cmp dx, ax ; 39 c2 15059 jnbe short 09c efh ; 77 0315060 jmp near 09 c2bh ; e9 3c ff15017 jnbe short 09cach ; 77 03 15018 jmp near 09be8h ; e9 3c ff 15061 15019 cmp si, strict byte 0ffffh ; 83 fe ff 15062 jne short 09c f8h ; 75 0415020 jne short 09cb5h ; 75 04 15063 15021 mov ax, bx ; 89 d8 15064 jmp short 09c fbh ; eb 0315022 jmp short 09cb8h ; eb 03 15065 15023 mov ax, strict word 0ffffh ; b8 ff ff 15066 15024 lea sp, [bp-004h] ; 8d 66 fc … … 15069 15027 pop bp ; 5d 15070 15028 retn ; c3 15071 out DX, ax ; ef15029 lodsb ; ac 15072 15030 popfw ; 9d 15073 or byte [bp-061e6h], bl ; 08 9e 1a 9e 15074 db 02eh, 09eh 15075 ; cs sahf ; 2e 9e 15076 inc ax ; 40 15031 lds bx, [di-06229h] ; c5 9d d7 9d 15032 jmp short 09c64h ; eb 9d 15033 std ; fd 15034 popfw ; 9d 15035 db 010h 15077 15036 sahf ; 9e 15078 push bx ; 53 15079 sahf ; 9e 15080 _pci16_function: ; 0xf9d0e LB 0x1d2 15037 _pci16_function: ; 0xf9ccb LB 0x1d2 15081 15038 push bp ; 55 15082 15039 mov bp, sp ; 89 e5 … … 15092 15049 xor ah, ah ; 30 e4 15093 15050 cmp bx, strict byte 00003h ; 83 fb 03 15094 jc short 09 d40h ; 72 1315095 jbe short 09d 93h ; 76 6415051 jc short 09cfdh ; 72 13 15052 jbe short 09d50h ; 76 64 15096 15053 cmp bx, strict byte 0000eh ; 83 fb 0e 15097 je short 09d 9bh ; 74 6715054 je short 09d58h ; 74 67 15098 15055 cmp bx, strict byte 00008h ; 83 fb 08 15099 jc short 09d 4ah ; 72 1115056 jc short 09d07h ; 72 11 15100 15057 cmp bx, strict byte 0000dh ; 83 fb 0d 15101 jbe short 09d 9eh ; 76 6015102 jmp short 09d 4ah ; eb 0a15058 jbe short 09d5bh ; 76 60 15059 jmp short 09d07h ; eb 0a 15103 15060 cmp bx, strict byte 00002h ; 83 fb 02 15104 je short 09d 69h ; 74 2415061 je short 09d26h ; 74 24 15105 15062 cmp bx, strict byte 00001h ; 83 fb 01 15106 je short 09d 4dh ; 74 0315107 jmp near 09e ach ; e9 5f 0115063 je short 09d0ah ; 74 03 15064 jmp near 09e69h ; e9 5f 01 15108 15065 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 15109 15066 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 15111 15068 mov word [bp+018h], 04350h ; c7 46 18 50 43 15112 15069 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 15113 jmp near 09e d9h ; e9 70 0115070 jmp near 09e96h ; e9 70 01 15114 15071 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 15115 jne short 09d 75h ; 75 0615072 jne short 09d32h ; 75 06 15116 15073 or ah, 083h ; 80 cc 83 15117 jmp near 09e d2h ; e9 5d 0115074 jmp near 09e8fh ; e9 5d 01 15118 15075 mov bx, word [bp+008h] ; 8b 5e 08 15119 15076 mov dx, word [bp+01ch] ; 8b 56 1c 15120 15077 mov ax, word [bp+018h] ; 8b 46 18 15121 15078 xor cx, cx ; 31 c9 15122 call 09 c15h ; e8 92 fe15079 call 09bd2h ; e8 92 fe 15123 15080 cmp ax, strict word 0ffffh ; 3d ff ff 15124 jne short 09d 95h ; 75 0d15081 jne short 09d52h ; 75 0d 15125 15082 mov ax, word [bp+020h] ; 8b 46 20 15126 15083 xor ah, ah ; 30 e4 15127 15084 or ah, 086h ; 80 cc 86 15128 jmp near 09e d2h ; e9 3f 0115129 jmp short 09d a0h ; eb 0b15085 jmp near 09e8fh ; e9 3f 01 15086 jmp short 09d5dh ; eb 0b 15130 15087 mov word [bp+014h], ax ; 89 46 14 15131 jmp near 09e d9h ; e9 3e 0115132 jmp near 09e 67h ; e9 c9 0015133 jmp short 09d c5h ; eb 2515088 jmp near 09e96h ; e9 3e 01 15089 jmp near 09e24h ; e9 c9 00 15090 jmp short 09d82h ; eb 25 15134 15091 mov bx, word [bp+008h] ; 8b 5e 08 15135 15092 mov ax, word [bp+01ch] ; 8b 46 1c 15136 15093 mov dx, word [bp+01eh] ; 8b 56 1e 15137 15094 mov cx, strict word 00001h ; b9 01 00 15138 call 09 c15h ; e8 66 fe15095 call 09bd2h ; e8 66 fe 15139 15096 cmp ax, strict word 0ffffh ; 3d ff ff 15140 jne short 09d bfh ; 75 0b15097 jne short 09d7ch ; 75 0b 15141 15098 mov ax, word [bp+020h] ; 8b 46 20 15142 15099 xor ah, ah ; 30 e4 15143 15100 or ah, 086h ; 80 cc 86 15144 jmp near 09e d2h ; e9 13 0115101 jmp near 09e8fh ; e9 13 01 15145 15102 mov word [bp+014h], ax ; 89 46 14 15146 jmp near 09e d9h ; e9 14 0115103 jmp near 09e96h ; e9 14 01 15147 15104 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 15148 jc short 09d d2h ; 72 0615105 jc short 09d8fh ; 72 06 15149 15106 or ah, 087h ; 80 cc 87 15150 jmp near 09e d2h ; e9 00 0115107 jmp near 09e8fh ; e9 00 01 15151 15108 mov dx, word [bp+004h] ; 8b 56 04 15152 15109 mov ax, word [bp+014h] ; 8b 46 14 15153 call 09b f1h ; e8 16 fe15110 call 09baeh ; e8 16 fe 15154 15111 mov bx, word [bp+020h] ; 8b 5e 20 15155 15112 xor bh, bh ; 30 ff 15156 15113 sub bx, strict byte 00008h ; 83 eb 08 15157 15114 cmp bx, strict byte 00005h ; 83 fb 05 15158 jnbe short 09e 50h ; 77 6815115 jnbe short 09e0dh ; 77 68 15159 15116 add bx, bx ; 01 db 15160 jmp word [cs:bx-06 2feh] ; 2e ff a7 02 9d15117 jmp word [cs:bx-06341h] ; 2e ff a7 bf 9c 15161 15118 mov bx, word [bp+01ch] ; 8b 5e 1c 15162 15119 xor bl, bl ; 30 db … … 15169 15126 or bx, ax ; 09 c3 15170 15127 mov word [bp+01ch], bx ; 89 5e 1c 15171 jmp short 09e 50h ; eb 4815128 jmp short 09e0dh ; eb 48 15172 15129 mov dx, word [bp+004h] ; 8b 56 04 15173 15130 xor dh, dh ; 30 f6 … … 15176 15133 in ax, DX ; ed 15177 15134 mov word [bp+01ch], ax ; 89 46 1c 15178 jmp short 09e 50h ; eb 3615135 jmp short 09e0dh ; eb 36 15179 15136 mov dx, 00cfch ; ba fc 0c 15180 15137 in eax, DX ; 66 ed … … 15185 15142 mov word [bp+01ch], ax ; 89 46 1c 15186 15143 mov word [bp+01eh], dx ; 89 56 1e 15187 jmp short 09e 50h ; eb 2215144 jmp short 09e0dh ; eb 22 15188 15145 mov ax, word [bp+01ch] ; 8b 46 1c 15189 15146 mov dx, word [bp+004h] ; 8b 56 04 … … 15192 15149 add dx, 00cfch ; 81 c2 fc 0c 15193 15150 out DX, AL ; ee 15194 jmp short 09e 50h ; eb 1015151 jmp short 09e0dh ; eb 10 15195 15152 mov ax, word [bp+01ch] ; 8b 46 1c 15196 15153 mov dx, word [bp+004h] ; 8b 56 04 … … 15199 15156 add dx, 00cfch ; 81 c2 fc 0c 15200 15157 out DX, ax ; ef 15201 jmp near 09e d9h ; e9 86 0015158 jmp near 09e96h ; e9 86 00 15202 15159 mov ax, word [bp+01ch] ; 8b 46 1c 15203 15160 mov cx, word [bp+01eh] ; 8b 4e 1e … … 15208 15165 ; mov ax, cx ; 8b c1 15209 15166 out DX, eax ; 66 ef 15210 jmp short 09e d9h ; eb 7215167 jmp short 09e96h ; eb 72 15211 15168 mov bx, word [bp+004h] ; 8b 5e 04 15212 15169 mov es, [bp+026h] ; 8e 46 26 … … 15215 15172 mov cx, word [0f380h] ; 8b 0e 80 f3 15216 15173 cmp cx, word [es:bx] ; 26 3b 0f 15217 jbe short 09e 8dh ; 76 1115174 jbe short 09e4ah ; 76 11 15218 15175 mov ax, word [bp+020h] ; 8b 46 20 15219 15176 xor ah, ah ; 30 e4 … … 15221 15178 mov word [bp+020h], ax ; 89 46 20 15222 15179 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 15223 jmp short 09e a1h ; eb 1415180 jmp short 09e5eh ; eb 14 15224 15181 les di, [es:bx+002h] ; 26 c4 7f 02 15225 15182 mov si, 0f1a0h ; be a0 f1 … … 15233 15190 les bx, [bp-008h] ; c4 5e f8 15234 15191 mov word [es:bx], ax ; 26 89 07 15235 jmp short 09e d9h ; eb 2d15236 mov bx, 00 e02h ; bb 02 0e15192 jmp short 09e96h ; eb 2d 15193 mov bx, 00da6h ; bb a6 0d 15237 15194 mov cx, ds ; 8c d9 15238 15195 mov ax, strict word 00004h ; b8 04 00 15239 call 01923h ; e8 6c7a15196 call 01923h ; e8 af 7a 15240 15197 mov ax, word [bp+014h] ; 8b 46 14 15241 15198 push ax ; 50 15242 15199 mov ax, word [bp+020h] ; 8b 46 20 15243 15200 push ax ; 50 15244 push 00d beh ; 68 be0d15201 push 00d5ch ; 68 5c 0d 15245 15202 push strict byte 00004h ; 6a 04 15246 call 01966h ; e8 9f7a15203 call 01966h ; e8 e2 7a 15247 15204 add sp, strict byte 00008h ; 83 c4 08 15248 15205 mov ax, word [bp+020h] ; 8b 46 20 … … 15256 15213 pop bp ; 5d 15257 15214 retn ; c3 15258 pci_find_classcode_: ; 0xf9e e0LB 0x815215 pci_find_classcode_: ; 0xf9e9d LB 0x8 15259 15216 push bp ; 55 15260 15217 mov bp, sp ; 89 e5 … … 15262 15219 pop bp ; 5d 15263 15220 retn ; c3 15264 pci_find_device_: ; 0xf9e e8LB 0x2315221 pci_find_device_: ; 0xf9ea5 LB 0x23 15265 15222 push bp ; 55 15266 15223 mov bp, sp ; 89 e5 … … 15274 15231 int 01ah ; cd 1a 15275 15232 cmp ah, 000h ; 80 fc 00 15276 je short 09 f01h ; 74 0315233 je short 09ebeh ; 74 03 15277 15234 mov bx, strict word 0ffffh ; bb ff ff 15278 15235 mov ax, bx ; 89 d8 … … 15283 15240 pop bp ; 5d 15284 15241 retn ; c3 15285 pci_read_config_byte_: ; 0xf9 f0bLB 0x2e15242 pci_read_config_byte_: ; 0xf9ec8 LB 0x2e 15286 15243 push bp ; 55 15287 15244 mov bp, sp ; 89 e5 … … 15309 15266 pop bp ; 5d 15310 15267 retn ; c3 15311 pci_read_config_word_: ; 0xf9 f39LB 0x2a15268 pci_read_config_word_: ; 0xf9ef6 LB 0x2a 15312 15269 push bp ; 55 15313 15270 mov bp, sp ; 89 e5 … … 15333 15290 pop bp ; 5d 15334 15291 retn ; c3 15335 pci_read_config_dword_: ; 0xf9f 63LB 0x4e15292 pci_read_config_dword_: ; 0xf9f20 LB 0x4e 15336 15293 push bp ; 55 15337 15294 mov bp, sp ; 89 e5 … … 15355 15312 int 01ah ; cd 1a 15356 15313 test cx, cx ; 85 c9 15357 jne short 09f a2h ; 75 1415314 jne short 09f5fh ; 75 14 15358 15315 mov al, byte [bp-006h] ; 8a 46 fa 15359 15316 xor ah, ah ; 30 e4 … … 15365 15322 int 01ah ; cd 1a 15366 15323 test cx, cx ; 85 c9 15367 je short 09f a7h ; 74 0515324 je short 09f64h ; 74 05 15368 15325 mov ax, strict word 00001h ; b8 01 00 15369 jmp short 09f a9h ; eb 0215326 jmp short 09f66h ; eb 02 15370 15327 xor ax, ax ; 31 c0 15371 15328 cwd ; 99 … … 15375 15332 pop bp ; 5d 15376 15333 retn ; c3 15377 pci_write_config_word_: ; 0xf9f b1LB 0x2515334 pci_write_config_word_: ; 0xf9f6e LB 0x25 15378 15335 push bp ; 55 15379 15336 mov bp, sp ; 89 e5 … … 15395 15352 pop bp ; 5d 15396 15353 retn ; c3 15397 vds_is_present_: ; 0xf9f d6LB 0x1d15354 vds_is_present_: ; 0xf9f93 LB 0x1d 15398 15355 push bx ; 53 15399 15356 push bp ; 55 … … 15403 15360 mov es, ax ; 8e c0 15404 15361 test byte [es:bx], 020h ; 26 f6 07 20 15405 je short 09f eeh ; 74 0615362 je short 09fabh ; 74 06 15406 15363 mov ax, strict word 00001h ; b8 01 00 15407 15364 pop bp ; 5d … … 15412 15369 pop bx ; 5b 15413 15370 retn ; c3 15414 vds_real_to_lin_: ; 0xf9f f3LB 0x1e15371 vds_real_to_lin_: ; 0xf9fb0 LB 0x1e 15415 15372 push bx ; 53 15416 15373 push cx ; 51 … … 15423 15380 sal ax, 1 ; d1 e0 15424 15381 rcl dx, 1 ; d1 d2 15425 loop 0 a001h ; e2 fa15382 loop 09fbeh ; e2 fa 15426 15383 xor cx, cx ; 31 c9 15427 15384 add ax, bx ; 01 d8 … … 15431 15388 pop bx ; 5b 15432 15389 retn ; c3 15433 vds_build_sg_list_: ; 0xf a011LB 0x7715390 vds_build_sg_list_: ; 0xf9fce LB 0x77 15434 15391 push bp ; 55 15435 15392 mov bp, sp ; 89 e5 … … 15445 15402 mov bx, word [bp+006h] ; 8b 5e 06 15446 15403 mov word [es:di+002h], bx ; 26 89 5d 02 15447 call 09f f3h ; e8 c3 ff15404 call 09fb0h ; e8 c3 ff 15448 15405 mov es, si ; 8e c6 15449 15406 mov word [es:di+004h], ax ; 26 89 45 04 15450 15407 mov word [es:di+006h], dx ; 26 89 55 06 15451 15408 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 15452 call 09f d6h ; e8 93 ff15409 call 09f93h ; e8 93 ff 15453 15410 test ax, ax ; 85 c0 15454 je short 0a0 58h ; 74 1115411 je short 0a015h ; 74 11 15455 15412 mov es, si ; 8e c6 15456 15413 mov ax, 08105h ; b8 05 81 15457 15414 mov dx, strict word 00000h ; ba 00 00 15458 15415 int 04bh ; cd 4b 15459 jc short 0a0 55h ; 72 0215416 jc short 0a012h ; 72 02 15460 15417 db 032h, 0c0h 15461 15418 ; xor al, al ; 32 c0 15462 15419 cbw ; 98 15463 jmp short 0a0 7fh ; eb 2715420 jmp short 0a03ch ; eb 27 15464 15421 mov es, si ; 8e c6 15465 15422 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 15478 15435 pop bp ; 5d 15479 15436 retn 00004h ; c2 04 00 15480 vds_free_sg_list_: ; 0xfa0 88 LB 0x3815437 vds_free_sg_list_: ; 0xfa045 LB 0x3b 15481 15438 push bp ; 55 15482 15439 mov bp, sp ; 89 e5 … … 15484 15441 push di ; 57 15485 15442 mov bx, ax ; 89 c3 15486 call 09f d6h ; e8 44 ff15443 call 09f93h ; e8 44 ff 15487 15444 test ax, ax ; 85 c0 15488 je short 0a0 a7h ; 74 1115445 je short 0a064h ; 74 11 15489 15446 mov di, bx ; 89 df 15490 15447 mov es, dx ; 8e c2 … … 15492 15449 mov dx, strict word 00000h ; ba 00 00 15493 15450 int 04bh ; cd 4b 15494 jc short 0a0 a6h ; 72 0215451 jc short 0a063h ; 72 02 15495 15452 db 032h, 0c0h 15496 15453 ; xor al, al ; 32 c0 … … 15503 15460 pop bp ; 5d 15504 15461 retn ; c3 15505 times 0x adb 015506 __U4M: ; 0xfa0 c0 LB 0x2015462 times 0xd db 0 15463 __U4M: ; 0xfa080 LB 0x20 15507 15464 pushfw ; 9c 15508 15465 push si ; 56 … … 15531 15488 retn ; c3 15532 15489 times 0x4 db 0 15533 __U4D: ; 0xfa0 e0 LB 0x3015490 __U4D: ; 0xfa0a0 LB 0x30 15534 15491 pushfw ; 9c 15535 15492 push DS ; 1e … … 15546 15503 push dx ; 52 15547 15504 push ax ; 50 15548 call 0a1 c5h ; e8 d0 0015505 call 0a185h ; e8 d0 00 15549 15506 mov cx, word [bp-002h] ; 8b 4e fe 15550 15507 mov bx, word [bp-004h] ; 8b 5e fc … … 15557 15514 retn ; c3 15558 15515 times 0xe db 0 15559 __U8RS: ; 0xfa 110 LB 0x1015516 __U8RS: ; 0xfa0d0 LB 0x10 15560 15517 test si, si ; 85 f6 15561 je short 0a 11fh ; 74 0b15518 je short 0a0dfh ; 74 0b 15562 15519 shr ax, 1 ; d1 e8 15563 15520 rcr bx, 1 ; d1 db … … 15565 15522 rcr dx, 1 ; d1 da 15566 15523 dec si ; 4e 15567 jne short 0a 114h ; 75 f515524 jne short 0a0d4h ; 75 f5 15568 15525 retn ; c3 15569 __U8LS: ; 0xfa 120 LB 0x1015526 __U8LS: ; 0xfa0e0 LB 0x10 15570 15527 test si, si ; 85 f6 15571 je short 0a 12fh ; 74 0b15528 je short 0a0efh ; 74 0b 15572 15529 sal dx, 1 ; d1 e2 15573 15530 rcl cx, 1 ; d1 d1 … … 15575 15532 rcl ax, 1 ; d1 d0 15576 15533 dec si ; 4e 15577 jne short 0a 124h ; 75 f515534 jne short 0a0e4h ; 75 f5 15578 15535 retn ; c3 15579 _fmemset_: ; 0xfa 130 LB 0x1015536 _fmemset_: ; 0xfa0f0 LB 0x10 15580 15537 push di ; 57 15581 15538 mov es, dx ; 8e c2 … … 15588 15545 retn ; c3 15589 15546 times 0x3 db 0 15590 _fmemcpy_: ; 0xfa1 40 LB 0x3a15547 _fmemcpy_: ; 0xfa100 LB 0x3a 15591 15548 push bp ; 55 15592 15549 db 08bh, 0ech … … 15613 15570 add byte [bx+si], al ; 00 00 15614 15571 add byte [bx+si], al ; 00 00 15615 nop ; 90 15616 mov ax, word [0a192h] ; a1 92 a1 15617 xchg si, ax ; 96 15618 mov ax, word [0a196h] ; a1 96 a1 15619 xchg si, ax ; 96 15620 mov ax, word [0a198h] ; a1 98 a1 15621 cbw ; 98 15622 mov ax, word [0a19ah] ; a1 9a a1 15623 sahf ; 9e 15624 mov ax, word [0a19eh] ; a1 9e a1 15625 mov AL, byte [0a5a1h] ; a0 a1 a5 15626 mov ax, word [0a1a7h] ; a1 a7 a1 15627 apm_worker: ; 0xfa17a LB 0x3a 15572 push ax ; 50 15573 mov ax, word [0a152h] ; a1 52 a1 15574 push si ; 56 15575 mov ax, word [0a156h] ; a1 56 a1 15576 push si ; 56 15577 mov ax, word [0a158h] ; a1 58 a1 15578 pop ax ; 58 15579 mov ax, word [0a15ah] ; a1 5a a1 15580 pop si ; 5e 15581 mov ax, word [0a15eh] ; a1 5e a1 15582 pushaw ; 60 15583 mov ax, word [0a165h] ; a1 65 a1 15584 db 067h 15585 db 0a1h 15586 apm_worker: ; 0xfa13a LB 0x3a 15628 15587 sti ; fb 15629 15588 push ax ; 50 … … 15637 15596 pop ax ; 58 15638 15597 mov AH, strict byte 053h ; b4 53 15639 jnc short 0a1 b0h ; 73 2515640 jmp word [cs:bp-05e a0h] ; 2e ff a6 60 a115641 jmp short 0a1 aeh ; eb 1c15598 jnc short 0a170h ; 73 25 15599 jmp word [cs:bp-05ee0h] ; 2e ff a6 20 a1 15600 jmp short 0a16eh ; eb 1c 15642 15601 sti ; fb 15643 15602 hlt ; f4 15644 jmp short 0a1 aeh ; eb 1815645 jmp short 0a1 aeh ; eb 1615646 jmp short 0a1 b0h ; eb 1615603 jmp short 0a16eh ; eb 18 15604 jmp short 0a16eh ; eb 16 15605 jmp short 0a170h ; eb 16 15647 15606 mov AH, strict byte 080h ; b4 80 15648 jmp short 0a1 b2h ; eb 1415649 jmp short 0a1 b0h ; eb 1015607 jmp short 0a172h ; eb 14 15608 jmp short 0a170h ; eb 10 15650 15609 mov ax, 00102h ; b8 02 01 15651 jmp short 0a1 aeh ; eb 0915652 jmp short 0a1 aeh ; eb 0715610 jmp short 0a16eh ; eb 09 15611 jmp short 0a16eh ; eb 07 15653 15612 mov BL, strict byte 000h ; b3 00 15654 15613 mov cx, strict word 00000h ; b9 00 00 15655 jmp short 0a1 aeh ; eb 0015614 jmp short 0a16eh ; eb 00 15656 15615 clc ; f8 15657 15616 retn ; c3 … … 15659 15618 stc ; f9 15660 15619 retn ; c3 15661 apm_pm16_entry: ; 0xfa1 b4 LB 0x1115620 apm_pm16_entry: ; 0xfa174 LB 0x11 15662 15621 mov AH, strict byte 002h ; b4 02 15663 15622 push DS ; 1e … … 15667 15626 add bp, strict byte 00008h ; 83 c5 08 15668 15627 mov ds, bp ; 8e dd 15669 call 0a1 7ah ; e8 b8 ff15628 call 0a13ah ; e8 b8 ff 15670 15629 pop bp ; 5d 15671 15630 pop DS ; 1f 15672 15631 retf ; cb 15673 _DoUInt32Div: ; 0xfa1 c5 LB 0x26b15632 _DoUInt32Div: ; 0xfa185 LB 0x26b 15674 15633 push bp ; 55 15675 15634 mov bp, sp ; 89 e5 … … 15689 15648 mov [bp-006h], ds ; 8c 5e fa 15690 15649 cmp word [bx+002h], strict byte 00000h ; 83 7f 02 00 15691 jne short 0a 215h ; 75 2215650 jne short 0a1d5h ; 75 22 15692 15651 mov ax, word [bx] ; 8b 07 15693 15652 test ax, ax ; 85 c0 15694 je short 0a 212h ; 74 1915653 je short 0a1d2h ; 74 19 15695 15654 cmp ax, strict word 00001h ; 3d 01 00 15696 jne short 0a 215h ; 75 1715655 jne short 0a1d5h ; 75 17 15697 15656 xor ax, ax ; 31 c0 15698 15657 mov word [bp+00ah], ax ; 89 46 0a … … 15702 15661 mov ax, word [bp-01ah] ; 8b 46 e6 15703 15662 mov word [bp+006h], ax ; 89 46 06 15704 jmp near 0a 41dh ; e9 08 0215663 jmp near 0a3ddh ; e9 08 02 15705 15664 lds bx, [bp-00ch] ; c5 5e f4 15706 15665 mov ax, word [bx+002h] ; 8b 47 02 15707 15666 mov ds, [bp-006h] ; 8e 5e fa 15708 15667 cmp ax, word [si+002h] ; 3b 44 02 15709 je short 0a 23bh ; 74 1815668 je short 0a1fbh ; 74 18 15710 15669 mov ds, [bp-00ah] ; 8e 5e f6 15711 15670 mov ax, word [bx+002h] ; 8b 47 02 15712 15671 mov ds, [bp-006h] ; 8e 5e fa 15713 15672 cmp ax, word [si+002h] ; 3b 44 02 15714 jbe short 0a 236h ; 76 0515673 jbe short 0a1f6h ; 76 05 15715 15674 mov ax, strict word 00001h ; b8 01 00 15716 jmp short 0a2 5ch ; eb 2615675 jmp short 0a21ch ; eb 26 15717 15676 mov ax, strict word 0ffffh ; b8 ff ff 15718 jmp short 0a2 5ch ; eb 2115677 jmp short 0a21ch ; eb 21 15719 15678 mov ds, [bp-00ah] ; 8e 5e f6 15720 15679 mov ax, word [bx] ; 8b 07 15721 15680 mov ds, [bp-006h] ; 8e 5e fa 15722 15681 cmp ax, word [si] ; 3b 04 15723 je short 0a2 5ah ; 74 1315682 je short 0a21ah ; 74 13 15724 15683 mov ds, [bp-00ah] ; 8e 5e f6 15725 15684 mov ax, word [bx] ; 8b 07 15726 15685 mov ds, [bp-006h] ; 8e 5e fa 15727 15686 cmp ax, word [si] ; 3b 04 15728 jbe short 0a2 55h ; 76 0215729 jmp short 0a 231h ; eb dc15687 jbe short 0a215h ; 76 02 15688 jmp short 0a1f1h ; eb dc 15730 15689 mov ax, strict word 0ffffh ; b8 ff ff 15731 jmp short 0a2 5ch ; eb 0215690 jmp short 0a21ch ; eb 02 15732 15691 xor ax, ax ; 31 c0 15733 15692 test ax, ax ; 85 c0 15734 jnl short 0a2 7eh ; 7d 1e15693 jnl short 0a23eh ; 7d 1e 15735 15694 lds bx, [bp-00ch] ; c5 5e f4 15736 15695 mov ax, word [bx] ; 8b 07 … … 15742 15701 mov word [bx+002h], strict word 00000h ; c7 47 02 00 00 15743 15702 mov word [bx], strict word 00000h ; c7 07 00 00 15744 jmp short 0a 212h ; eb 9415745 jne short 0a2 95h ; 75 1515703 jmp short 0a1d2h ; eb 94 15704 jne short 0a255h ; 75 15 15746 15705 mov ds, [bp-008h] ; 8e 5e f8 15747 15706 mov word [di+002h], ax ; 89 45 02 … … 15750 15709 mov word [bx], strict word 00001h ; c7 07 01 00 15751 15710 mov word [bx+002h], ax ; 89 47 02 15752 jmp near 0a 41dh ; e9 88 0115711 jmp near 0a3ddh ; e9 88 01 15753 15712 lds bx, [bp-00ch] ; c5 5e f4 15754 15713 mov ax, word [bx+002h] ; 8b 47 02 15755 15714 test ax, ax ; 85 c0 15756 je short 0a2 b0h ; 74 1115715 je short 0a270h ; 74 11 15757 15716 push ax ; 50 15758 15717 mov ax, 0f000h ; b8 00 f0 15759 15718 mov ds, ax ; 8e d8 15760 call 0a 430h ; e8 88 0115719 call 0a3f0h ; e8 88 01 15761 15720 add sp, strict byte 00002h ; 83 c4 02 15762 15721 add ax, strict word 00010h ; 05 10 00 15763 jmp short 0a2 bdh ; eb 0d15722 jmp short 0a27dh ; eb 0d 15764 15723 push word [bx] ; ff 37 15765 15724 mov ax, 0f000h ; b8 00 f0 15766 15725 mov ds, ax ; 8e d8 15767 call 0a 430h ; e8 76 0115726 call 0a3f0h ; e8 76 01 15768 15727 add sp, strict byte 00002h ; 83 c4 02 15769 15728 mov word [bp-014h], ax ; 89 46 ec … … 15771 15730 mov ax, word [si+002h] ; 8b 44 02 15772 15731 test ax, ax ; 85 c0 15773 je short 0a2 dbh ; 74 1115732 je short 0a29bh ; 74 11 15774 15733 push ax ; 50 15775 15734 mov ax, 0f000h ; b8 00 f0 15776 15735 mov ds, ax ; 8e d8 15777 call 0a 430h ; e8 5d 0115736 call 0a3f0h ; e8 5d 01 15778 15737 add sp, strict byte 00002h ; 83 c4 02 15779 15738 add ax, strict word 00010h ; 05 10 00 15780 jmp short 0a2 e8h ; eb 0d15739 jmp short 0a2a8h ; eb 0d 15781 15740 push word [si] ; ff 34 15782 15741 mov ax, 0f000h ; b8 00 f0 15783 15742 mov ds, ax ; 8e d8 15784 call 0a 430h ; e8 4b 0115743 call 0a3f0h ; e8 4b 01 15785 15744 add sp, strict byte 00002h ; 83 c4 02 15786 15745 mov dx, word [bp-014h] ; 8b 56 ec … … 15793 15752 mov word [bp-016h], ax ; 89 46 ea 15794 15753 test dx, dx ; 85 d2 15795 je short 0a3 58h ; 74 5615754 je short 0a318h ; 74 56 15796 15755 mov cx, dx ; 89 d1 15797 15756 xor ch, dh ; 30 f5 … … 15799 15758 mov ax, word [si] ; 8b 04 15800 15759 mov dx, word [si+002h] ; 8b 54 02 15801 jcxz 0a 316h ; e3 0615760 jcxz 0a2d6h ; e3 06 15802 15761 sal ax, 1 ; d1 e0 15803 15762 rcl dx, 1 ; d1 d2 15804 loop 0a 310h ; e2 fa15763 loop 0a2d0h ; e2 fa 15805 15764 mov word [bp-018h], ax ; 89 46 e8 15806 15765 mov word [bp-016h], dx ; 89 56 ea … … 15808 15767 lds bx, [bp-00ch] ; c5 5e f4 15809 15768 cmp ax, word [bx+002h] ; 3b 47 02 15810 jnbe short 0a 336h ; 77 0f15769 jnbe short 0a2f6h ; 77 0f 15811 15770 mov ax, word [bp-016h] ; 8b 46 ea 15812 15771 cmp ax, word [bx+002h] ; 3b 47 02 15813 jne short 0a 33ah ; 75 0b15772 jne short 0a2fah ; 75 0b 15814 15773 mov ax, word [bp-018h] ; 8b 46 e8 15815 15774 cmp ax, word [bx] ; 3b 07 15816 jbe short 0a 33ah ; 76 0415775 jbe short 0a2fah ; 76 04 15817 15776 mov AL, strict byte 001h ; b0 01 15818 jmp short 0a 33ch ; eb 0215777 jmp short 0a2fch ; eb 02 15819 15778 xor al, al ; 30 c0 15820 15779 test al, al ; 84 c0 15821 je short 0a3 63h ; 74 2315780 je short 0a323h ; 74 23 15822 15781 shr word [bp-016h], 1 ; d1 6e ea 15823 15782 rcr word [bp-018h], 1 ; d1 5e e8 15824 15783 dec word [bp-012h] ; ff 4e ee 15825 jmp short 0a3 63h ; eb 1815784 jmp short 0a323h ; eb 18 15826 15785 mov cx, strict word 0001fh ; b9 1f 00 15827 15786 sal word [bp-018h], 1 ; d1 66 e8 15828 15787 rcl word [bp-016h], 1 ; d1 56 ea 15829 loop 0a3 4eh ; e2 f815830 jmp short 0a3 46h ; eb ee15788 loop 0a30eh ; e2 f8 15789 jmp short 0a306h ; eb ee 15831 15790 mov ax, word [si] ; 8b 04 15832 15791 mov word [bp-018h], ax ; 89 46 e8 … … 15845 15804 mov ds, [bp-006h] ; 8e 5e fa 15846 15805 cmp ax, word [si+002h] ; 3b 44 02 15847 jnbe short 0a3 8fh ; 77 0615848 jne short 0a3 93h ; 75 0815806 jnbe short 0a34fh ; 77 06 15807 jne short 0a353h ; 75 08 15849 15808 cmp dx, word [si] ; 3b 14 15850 jc short 0a3 93h ; 72 0415809 jc short 0a353h ; 72 04 15851 15810 mov AL, strict byte 001h ; b0 01 15852 jmp short 0a3 95h ; eb 0215811 jmp short 0a355h ; eb 02 15853 15812 xor al, al ; 30 c0 15854 15813 test al, al ; 84 c0 15855 je short 0a3 fah ; 74 6115814 je short 0a3bah ; 74 61 15856 15815 mov ds, [bp-008h] ; 8e 5e f8 15857 15816 mov ax, word [di+002h] ; 8b 45 02 15858 15817 cmp ax, word [bp-016h] ; 3b 46 ea 15859 jnbe short 0a3 b0h ; 77 0c15818 jnbe short 0a370h ; 77 0c 15860 15819 cmp ax, word [bp-016h] ; 3b 46 ea 15861 jne short 0a3 b4h ; 75 0b15820 jne short 0a374h ; 75 0b 15862 15821 mov ax, word [di] ; 8b 05 15863 15822 cmp ax, word [bp-018h] ; 3b 46 e8 15864 jc short 0a3 b4h ; 72 0415823 jc short 0a374h ; 72 04 15865 15824 mov AL, strict byte 001h ; b0 01 15866 jmp short 0a3 b6h ; eb 0215825 jmp short 0a376h ; eb 02 15867 15826 xor al, al ; 30 c0 15868 15827 test al, al ; 84 c0 15869 je short 0a3 e0h ; 74 2615828 je short 0a3a0h ; 74 26 15870 15829 mov ax, word [bp-018h] ; 8b 46 e8 15871 15830 mov ds, [bp-008h] ; 8e 5e f8 … … 15876 15835 xor dx, dx ; 31 d2 15877 15836 mov cx, word [bp-012h] ; 8b 4e ee 15878 jcxz 0a3 d8h ; e3 0615837 jcxz 0a398h ; e3 06 15879 15838 sal ax, 1 ; d1 e0 15880 15839 rcl dx, 1 ; d1 d2 15881 loop 0a3 d2h ; e2 fa15840 loop 0a392h ; e2 fa 15882 15841 lds bx, [bp-010h] ; c5 5e f0 15883 15842 or word [bx], ax ; 09 07 … … 15888 15847 mov ds, [bp-006h] ; 8e 5e fa 15889 15848 cmp ax, word [si+002h] ; 3b 44 02 15890 jc short 0a3 f6h ; 72 0615891 jne short 0a3 fch ; 75 0a15849 jc short 0a3b6h ; 72 06 15850 jne short 0a3bch ; 75 0a 15892 15851 cmp dx, word [si] ; 3b 14 15893 jnc short 0a3 fch ; 73 0615852 jnc short 0a3bch ; 73 06 15894 15853 mov AL, strict byte 001h ; b0 01 15895 jmp short 0a3 feh ; eb 0415896 jmp short 0a 41dh ; eb 2115854 jmp short 0a3beh ; eb 04 15855 jmp short 0a3ddh ; eb 21 15897 15856 xor al, al ; 30 c0 15898 15857 test al, al ; 84 c0 15899 je short 0a 411h ; 74 0f15900 jmp short 0a 41dh ; eb 1915858 je short 0a3d1h ; 74 0f 15859 jmp short 0a3ddh ; eb 19 15901 15860 mov cx, strict word 0001fh ; b9 1f 00 15902 15861 sal word [bp-018h], 1 ; d1 66 e8 15903 15862 rcl word [bp-016h], 1 ; d1 56 ea 15904 loop 0a 407h ; e2 f815905 jmp short 0a 417h ; eb 0615863 loop 0a3c7h ; e2 f8 15864 jmp short 0a3d7h ; eb 06 15906 15865 shr word [bp-016h], 1 ; d1 6e ea 15907 15866 rcr word [bp-018h], 1 ; d1 5e e8 15908 15867 dec word [bp-012h] ; ff 4e ee 15909 jmp near 0a3 99h ; e9 7c ff15868 jmp near 0a359h ; e9 7c ff 15910 15869 mov ax, word [bp-01ch] ; 8b 46 e4 15911 15870 mov dx, word [bp-01ah] ; 8b 56 e6 … … 15916 15875 retn ; c3 15917 15876 times 0x6 db 0 15918 _ASMBitLastSetU16: ; 0xfa 430 LB 0x1815877 _ASMBitLastSetU16: ; 0xfa3f0 LB 0x18 15919 15878 push bp ; 55 15920 15879 db 08bh, 0ech … … 15922 15881 mov cx, word [bp+004h] ; 8b 4e 04 15923 15882 test cx, cx ; 85 c9 15924 je short 0a4 44h ; 74 0a15883 je short 0a404h ; 74 0a 15925 15884 mov ax, strict word 00010h ; b8 10 00 15926 15885 sal cx, 1 ; d1 e1 15927 jc short 0a4 46h ; 72 0515886 jc short 0a406h ; 72 05 15928 15887 dec ax ; 48 15929 jmp short 0a 43dh ; eb f915888 jmp short 0a3fdh ; eb f9 15930 15889 db 033h, 0c0h 15931 15890 ; xor ax, ax ; 33 c0 … … 15933 15892 retn ; c3 15934 15893 15935 ; Padding 0x35 b8 bytes at 0xfa44815936 times 13 752db 015894 ; Padding 0x35f8 bytes at 0xfa408 15895 times 13816 db 0 15937 15896 15938 15897 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 15981 15940 add bp, strict byte 00008h ; 83 c5 08 15982 15941 push ebp ; 66 55 15983 mov bp, 0a1 b6h ; bd b6 a115942 mov bp, 0a176h ; bd 76 a1 15984 15943 add byte [bx+si], al ; 00 00 15985 15944 push ebp ; 66 55 … … 16707 16666 call 01c9fh ; e8 63 39 16708 16667 call 02118h ; e8 d9 3d 16709 call 099 8bh ; e8 49b616710 call 087 fbh ; e8 b6a416668 call 09948h ; e8 06 b6 16669 call 087b8h ; e8 73 a4 16711 16670 call 0ed2fh ; e8 e7 09 16712 16671 call 0e2d2h ; e8 87 ff … … 16856 16815 out strict byte 0a1h, AL ; e6 a1 16857 16816 retn ; c3 16858 ebda_post: ; 0xfe778 LB 0x 4516817 ebda_post: ; 0xfe778 LB 0x51 16859 16818 mov ax, 0e746h ; b8 46 e7 16860 16819 mov word [00034h], ax ; a3 34 00 … … 16870 16829 mov word [001cah], ax ; a3 ca 01 16871 16830 mov ax, 0e746h ; b8 46 e7 16831 mov word [001cch], ax ; a3 cc 01 16832 mov ax, 0f000h ; b8 00 f0 16833 mov word [001ceh], ax ; a3 ce 01 16834 mov ax, 0e746h ; b8 46 e7 16872 16835 mov word [001dch], ax ; a3 dc 01 16873 16836 mov ax, 0f000h ; b8 00 f0 … … 16881 16844 mov word [0040eh], 09fc0h ; c7 06 0e 04 c0 9f 16882 16845 retn ; c3 16883 biosorg_check_before_or_at_0E82Ch: ; 0xfe7 bd LB 0x7116884 times 0x6 fdb 016846 biosorg_check_before_or_at_0E82Ch: ; 0xfe7c9 LB 0x65 16847 times 0x63 db 0 16885 16848 db 'XM' 16886 16849 biosorg_check_at_0E82Eh: ; 0xfe82e LB 0x3d … … 17541 17504 popfw ; 9d 17542 17505 jmp short 0f8a5h ; eb 11 17543 call 09a feh ; e8 67a217506 call 09abbh ; e8 24 a2 17544 17507 jmp short 0f88eh ; eb f5 17545 17508 int15_handler_mouse: ; 0xff899 LB 0x5 … … 17807 17770 cpu_reset: ; 0xffff0 LB 0x10 17808 17771 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 17809 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0 0fh17772 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 03dh -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.md5sum
r67807 r68290 1 0aa9c82df689a029ef3c0dd6eb7cfba6*VBoxPcBios286.rom1 854cf294cb1f7c54bf62169e4fb5a30b *VBoxPcBios286.rom -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.asm
r67807 r68290 951 951 db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h 952 952 _pktacc: ; 0xf006a LB 0xc 953 db 000h, 000h, 000h, 000h, 000h, 000h, 05dh, 02ch, 01ah, 082h, 0 c8h, 091h953 db 000h, 000h, 000h, 000h, 000h, 000h, 05dh, 02ch, 01ah, 082h, 089h, 091h 954 954 _softrst: ; 0xf0076 LB 0xc 955 955 db 000h, 000h, 000h, 000h, 000h, 000h, 045h, 02fh, 0b6h, 03ch, 0b6h, 03ch 956 956 _dskacc: ; 0xf0082 LB 0x2e 957 957 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 04dh, 02bh, 002h, 02ch, 000h, 000h, 000h, 000h 958 db 064h, 080h, 03fh, 081h, 0 9eh, 090h, 044h, 091h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h958 db 064h, 080h, 03fh, 081h, 05fh, 090h, 005h, 091h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h 959 959 db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h 960 960 961 section CONST progbits vstart=0xb0 align=1 ; size=0x d52class=DATA group=DGROUP961 section CONST progbits vstart=0xb0 align=1 ; size=0xcf0 class=DATA group=DGROUP 962 962 db 'CPUID EDX: 0x%lx', 00ah, 000h 963 963 db 'NMI Handler called', 00ah, 000h … … 1065 1065 db 'Disk %d has an unsupported sector size of %u', 00ah, 000h 1066 1066 db 'SCSI %d-ID#%d: LCHS=%lu/%u/%u 0x%llx sectors', 00ah, 000h 1067 db 'SCSI %d-ID#%d: CD/DVD-ROM', 00ah, 000h 1068 db 'scsi_pci_init', 000h 1069 db '%s: Adapter %x:%x not found, how come?!', 00ah, 000h 1070 db '%s: Adapter %x:%x found at %x, enabling BM', 00ah, 000h 1067 db 'SCSI %d-ID#%d: CD/DVD-ROM', 00ah, 000h, 000h 1071 1068 db 'ahci_read_sectors', 000h 1072 1069 db '%s: device_id out of range %d', 00ah, 000h … … 1081 1078 db 'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h 1082 1079 1083 section CONST2 progbits vstart=0x e02 align=1 ; size=0x3faclass=DATA group=DGROUP1084 _bios_cvs_version_string: ; 0xf0 e02 LB 0x121085 db 'VirtualBox 5. 1.51', 000h1086 _bios_prefix_string: ; 0xf0 e14LB 0x81080 section CONST2 progbits vstart=0xda0 align=1 ; size=0x400 class=DATA group=DGROUP 1081 _bios_cvs_version_string: ; 0xf0da0 LB 0x18 1082 db 'VirtualBox 5.2.0_BETA1', 000h, 000h 1083 _bios_prefix_string: ; 0xf0db8 LB 0x8 1087 1084 db 'BIOS: ', 000h, 000h 1088 _isotag: ; 0xf0 e1cLB 0x61085 _isotag: ; 0xf0dc0 LB 0x6 1089 1086 db 'CD001', 000h 1090 _eltorito: ; 0xf0 e22LB 0x181087 _eltorito: ; 0xf0dc6 LB 0x18 1091 1088 db 'EL TORITO SPECIFICATION', 000h 1092 _drivetypes: ; 0xf0 e3aLB 0x281089 _drivetypes: ; 0xf0dde LB 0x28 1093 1090 db 046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h 1094 1091 db 069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h 1095 1092 db 04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1096 _scan_to_scanascii: ; 0xf0e 62LB 0x37a1093 _scan_to_scanascii: ; 0xf0e06 LB 0x37a 1097 1094 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h 1098 1095 db 000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h … … 1151 1148 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h 1152 1149 db 000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h 1153 _panic_msg_keyb_buffer_full: ; 0xf11 dcLB 0x201150 _panic_msg_keyb_buffer_full: ; 0xf1180 LB 0x20 1154 1151 db '%s: keyboard input buffer full', 00ah, 000h 1155 1152 1156 ; Padding 0x4 04 bytes at 0xf11fc1157 times 1 028db 01153 ; Padding 0x460 bytes at 0xf11a0 1154 times 1120 db 0 1158 1155 1159 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8b d5 class=CODE group=AUTO1156 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8b95 class=CODE group=AUTO 1160 1157 rom_scan_: ; 0xf1600 LB 0x50 1161 1158 push bp ; 55 … … 1504 1501 push bp ; 55 1505 1502 mov bp, sp ; 89 e5 1506 mov bx, 00 e14h ; bb 14 0e1503 mov bx, 00db8h ; bb b8 0d 1507 1504 mov cx, ds ; 8c d9 1508 1505 mov ax, strict word 00004h ; b8 04 00 1509 1506 call 01a2ah ; e8 ac 01 1510 push 00 e02h ; 68 02 0e1507 push 00da0h ; 68 a0 0d 1511 1508 push 000ebh ; 68 eb 00 1512 1509 push strict byte 00004h ; 6a 04 … … 1679 1676 mov bx, strict word 0000ah ; bb 0a 00 1680 1677 xor cx, cx ; 31 c9 1681 call 0a0 e0h ; e8 0e 871678 call 0a0a0h ; e8 ce 86 1682 1679 mov word [bp-008h], ax ; 89 46 f8 1683 1680 mov cx, dx ; 89 d1 … … 1905 1902 mov dx, word [bp-026h] ; 8b 56 da 1906 1903 mov si, word [bp-01eh] ; 8b 76 e2 1907 call 0a 120h ; e8 1c 851904 call 0a0e0h ; e8 dc 84 1908 1905 mov ax, dx ; 89 d0 1909 1906 xor ah, dh ; 30 f4 … … 2347 2344 mov dx, word [es:si] ; 26 8b 14 2348 2345 mov si, strict word 00018h ; be 18 00 2349 call 0a 120h ; e8 c0 802346 call 0a0e0h ; e8 80 80 2350 2347 xor dh, dh ; 30 f6 2351 2348 mov word [bp-016h], dx ; 89 56 ea … … 2357 2354 mov dx, word [es:si] ; 26 8b 14 2358 2355 mov si, strict word 00020h ; be 20 00 2359 call 0a 120h ; e8 a0 802356 call 0a0e0h ; e8 60 80 2360 2357 mov bx, dx ; 89 d3 2361 2358 mov ax, word [bp-01eh] ; 8b 46 e2 … … 2388 2385 mov dx, word [es:si] ; 26 8b 14 2389 2386 mov si, strict word 00008h ; be 08 00 2390 call 0a 120h ; e8 4f 802387 call 0a0e0h ; e8 0f 80 2391 2388 mov word [bp-014h], dx ; 89 56 ec 2392 2389 mov bx, word [bp-018h] ; 8b 5e e8 … … 2397 2394 mov dx, word [es:si] ; 26 8b 14 2398 2395 mov si, strict word 00018h ; be 18 00 2399 call 0a 120h ; e8 31 802396 call 0a0e0h ; e8 f1 7f 2400 2397 and dx, strict byte 0000fh ; 83 e2 0f 2401 2398 or dl, 040h ; 80 ca 40 … … 2791 2788 lea ax, [bp-03ah] ; 8d 46 c6 2792 2789 call 05ad0h ; e8 ff 35 2793 mov bx, 00 e14h ; bb 14 0e2790 mov bx, 00db8h ; bb b8 0d 2794 2791 mov cx, ds ; 8c d9 2795 2792 mov ax, strict word 00004h ; b8 04 00 … … 2953 2950 mov dx, word [es:si+036h] ; 26 8b 54 36 2954 2951 mov si, strict word 0000bh ; be 0b 00 2955 call 0a 120h ; e8 69 7a2952 call 0a0e0h ; e8 29 7a 2956 2953 mov word [bp-030h], dx ; 89 56 d0 2957 2954 mov word [bp-02eh], cx ; 89 4e d2 … … 3224 3221 mov dx, word [bp-01eh] ; 8b 56 e2 3225 3222 mov si, strict word 00018h ; be 18 00 3226 call 0a 120h ; e8 93 773223 call 0a0e0h ; e8 53 77 3227 3224 xor dh, dh ; 30 f6 3228 3225 mov word [bp-01ch], dx ; 89 56 e4 … … 3232 3229 mov dx, word [bp-01eh] ; 8b 56 e2 3233 3230 mov si, strict word 00020h ; be 20 00 3234 call 0a 120h ; e8 7c 773231 call 0a0e0h ; e8 3c 77 3235 3232 mov bx, dx ; 89 d3 3236 3233 mov ax, word [bp-01ah] ; 8b 46 e6 … … 3266 3263 mov dx, word [bp-01eh] ; 8b 56 e2 3267 3264 mov si, strict word 00008h ; be 08 00 3268 call 0a 120h ; e8 28 773265 call 0a0e0h ; e8 e8 76 3269 3266 mov word [bp-010h], ax ; 89 46 f0 3270 3267 mov word [bp-014h], bx ; 89 5e ec … … 3273 3270 mov word [bp-026h], dx ; 89 56 da 3274 3271 mov si, strict word 00010h ; be 10 00 3275 call 0a 120h ; e8 13 773272 call 0a0e0h ; e8 d3 76 3276 3273 mov word [bp-01eh], dx ; 89 56 e2 3277 3274 mov ax, dx ; 89 d0 … … 3542 3539 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 3543 3540 jne short 02cafh ; 75 1f 3544 mov bx, 00 e14h ; bb 14 0e3541 mov bx, 00db8h ; bb b8 0d 3545 3542 mov cx, ds ; 8c d9 3546 3543 mov ax, strict word 00004h ; b8 04 00 … … 4413 4410 cmp bh, 048h ; 80 ff 48 4414 4411 jbe short 03443h ; 76 33 4415 mov bx, 00 e14h ; bb 14 0e4412 mov bx, 00db8h ; bb b8 0d 4416 4413 mov cx, ds ; 8c d9 4417 4414 mov ax, strict word 00004h ; b8 04 00 … … 5255 5252 mov byte [es:bx], 000h ; 26 c6 07 00 5256 5253 jmp near 03612h ; e9 ae f9 5257 mov bx, 00 e14h ; bb 14 0e5254 mov bx, 00db8h ; bb b8 0d 5258 5255 mov cx, ds ; 8c d9 5259 5256 mov ax, strict word 00004h ; b8 04 00 … … 5352 5349 cmp ax, strict word 0004ah ; 3d 4a 00 5353 5350 jne near 03e4eh ; 0f 85 1e 01 5354 mov bx, 00 e14h ; bb 14 0e5351 mov bx, 00db8h ; bb b8 0d 5355 5352 mov cx, ds ; 8c d9 5356 5353 mov ax, strict word 00004h ; b8 04 00 … … 5450 5447 pop bp ; 5d 5451 5448 retn ; c3 5452 mov bx, 00 e14h ; bb 14 0e5449 mov bx, 00db8h ; bb b8 0d 5453 5450 mov cx, ds ; 8c d9 5454 5451 mov ax, strict word 00004h ; b8 04 00 … … 5531 5528 mov dx, ss ; 8c d2 5532 5529 lea ax, [bp-026h] ; 8d 46 da 5533 call 0a1 40h ; e8 28 625530 call 0a100h ; e8 e8 61 5534 5531 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 5535 5532 mov ax, strict word 00011h ; b8 11 00 … … 5585 5582 jnc short 03fb7h ; 73 10 5586 5583 mov al, byte [bp+di-00825h] ; 8a 83 db f7 5587 cmp al, byte [di+00 e1ch] ; 3a 85 1c 0e5584 cmp al, byte [di+00dc0h] ; 3a 85 c0 0d 5588 5585 je short 03fa1h ; 74 f0 5589 5586 mov ax, strict word 00005h ; b8 05 00 … … 5595 5592 jnc short 03fd1h ; 73 10 5596 5593 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 5597 cmp al, byte [di+00 e22h] ; 3a 85 22 0e5594 cmp al, byte [di+00dc6h] ; 3a 85 c6 0d 5598 5595 je short 03fbbh ; 74 f0 5599 5596 mov ax, strict word 00006h ; b8 06 00 … … 5874 5871 cmp dx, ax ; 39 c2 5875 5872 je short 04355h ; 74 29 5876 mov bx, 00 e14h ; bb 14 0e5873 mov bx, 00db8h ; bb b8 0d 5877 5874 mov cx, ds ; 8c d9 5878 5875 mov ax, strict word 00004h ; b8 04 00 … … 5991 5988 xor dl, dl ; 30 d2 5992 5989 xor cx, cx ; 31 c9 5993 call 0a0 a0h ; e8 26 5c5990 call 0a060h ; e8 e6 5b 5994 5991 xor bx, bx ; 31 db 5995 5992 add ax, si ; 01 f0 … … 5997 5994 mov bx, di ; 89 fb 5998 5995 xor cx, cx ; 31 c9 5999 call 0a0 a0h ; e8 19 5c5996 call 0a060h ; e8 d9 5b 6000 5997 mov bx, ax ; 89 c3 6001 5998 mov ax, word [bp-010h] ; 8b 46 f0 … … 6032 6029 mov dx, ss ; 8c d2 6033 6030 lea ax, [bp-02eh] ; 8d 46 d2 6034 call 0a1 40h ; e8 62 5c6031 call 0a100h ; e8 22 5c 6035 6032 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 6036 6033 mov ax, word [bp-014h] ; 8b 46 ec … … 6096 6093 test al, al ; 84 c0 6097 6094 je near 043a1h ; 0f 84 13 fe 6098 mov bx, 00 e14h ; bb 14 0e6095 mov bx, 00db8h ; bb b8 0d 6099 6096 mov cx, ds ; 8c d9 6100 6097 mov ax, strict word 00004h ; b8 04 00 … … 6177 6174 mov word [bp+016h], bx ; 89 5e 16 6178 6175 jmp near 043a5h ; e9 37 fd 6179 mov bx, 00 e14h ; bb 14 0e6176 mov bx, 00db8h ; bb b8 0d 6180 6177 mov cx, ds ; 8c d9 6181 6178 mov ax, strict word 00004h ; b8 04 00 … … 6339 6336 mov dx, ss ; 8c d2 6340 6337 lea ax, [bp-02ch] ; 8d 46 d4 6341 call 0a1 40h ; e8 c7 586338 call 0a100h ; e8 87 58 6342 6339 mov word [bp-02ch], strict word 00028h ; c7 46 d4 28 00 6343 6340 mov ax, word [bp-018h] ; 8b 46 e8 … … 6388 6385 test dl, dl ; 84 d2 6389 6386 je near 049cbh ; 0f 84 cb 00 6390 mov bx, 00 e14h ; bb 14 0e6387 mov bx, 00db8h ; bb b8 0d 6391 6388 mov cx, ds ; 8c d9 6392 6389 mov ax, strict word 00004h ; b8 04 00 … … 6672 6669 or byte [bp+01eh], 001h ; 80 4e 1e 01 6673 6670 jmp near 049deh ; e9 8f fd 6674 mov bx, 00 e14h ; bb 14 0e6671 mov bx, 00db8h ; bb b8 0d 6675 6672 mov cx, ds ; 8c d9 6676 6673 mov ax, strict word 00004h ; b8 04 00 … … 6702 6699 je short 04cb1h ; 74 21 6703 6700 mov dx, strict word 00001h ; ba 01 00 6704 mov bx, 00 e14h ; bb 14 0e6701 mov bx, 00db8h ; bb b8 0d 6705 6702 mov cx, ds ; 8c d9 6706 6703 mov ax, strict word 00004h ; b8 04 00 6707 6704 call 01a2ah ; e8 8c cd 6708 6705 imul dx, dx, strict byte 0000ah ; 6b d2 0a 6709 add dx, 00 e3ah ; 81 c2 3a 0e6706 add dx, 00ddeh ; 81 c2 de 0d 6710 6707 push dx ; 52 6711 6708 push 004a6h ; 68 a6 04 … … 6727 6724 test al, al ; 84 c0 6728 6725 je short 04ce4h ; 74 1b 6729 mov bx, 00 e14h ; bb 14 0e6726 mov bx, 00db8h ; bb b8 0d 6730 6727 mov cx, ds ; 8c d9 6731 6728 mov ax, strict word 00004h ; b8 04 00 6732 6729 call 01a2ah ; e8 56 cd 6733 push 00 e4eh ; 68 4e 0e6730 push 00df2h ; 68 f2 0d 6734 6731 push 004bah ; 68 ba 04 6735 6732 push strict byte 00004h ; 6a 04 … … 6739 6736 test dl, dl ; 84 d2 6740 6737 je short 04cf8h ; 74 10 6741 mov bx, 00 e14h ; bb 14 0e6738 mov bx, 00db8h ; bb b8 0d 6742 6739 mov cx, ds ; 8c d9 6743 6740 mov ax, strict word 00004h ; b8 04 00 6744 6741 call 01a2ah ; e8 37 cd 6745 push 00 e58h ; 68 58 0e6742 push 00dfch ; 68 fc 0d 6746 6743 jmp short 04cd7h ; eb df 6747 6744 test bl, 080h ; f6 c3 80 6748 6745 je short 04d0eh ; 74 11 6749 mov bx, 00 e14h ; bb 14 0e6746 mov bx, 00db8h ; bb b8 0d 6750 6747 mov cx, ds ; 8c d9 6751 6748 mov ax, strict word 00004h ; b8 04 00 6752 6749 call 01a2ah ; e8 22 cd 6753 6750 push si ; 56 6754 push 00 e44h ; 68 44 0e6751 push 00de8h ; 68 e8 0d 6755 6752 jmp short 04d1dh ; eb 0f 6756 mov bx, 00 e14h ; bb 14 0e6753 mov bx, 00db8h ; bb b8 0d 6757 6754 mov cx, ds ; 8c d9 6758 6755 mov ax, strict word 00004h ; b8 04 00 6759 6756 call 01a2ah ; e8 11 cd 6760 6757 push si ; 56 6761 push 00 e3ah ; 68 3a 0e6758 push 00ddeh ; 68 de 0d 6762 6759 push 004cfh ; 68 cf 04 6763 6760 push strict byte 00004h ; 6a 04 … … 6785 6782 push dx ; 52 6786 6783 mov dx, ax ; 89 c2 6787 mov bx, 00 e14h ; bb 14 0e6784 mov bx, 00db8h ; bb b8 0d 6788 6785 mov cx, ds ; 8c d9 6789 6786 mov ax, strict word 00004h ; b8 04 00 … … 6860 6857 mov byte [bp-00ah], al ; 88 46 f6 6861 6858 mov byte [bp-00ch], al ; 88 46 f4 6862 mov bx, 00 e14h ; bb 14 0e6859 mov bx, 00db8h ; bb b8 0d 6863 6860 mov cx, ds ; 8c d9 6864 6861 mov ax, strict word 00004h ; b8 04 00 … … 7399 7396 test al, al ; 84 c0 7400 7397 jne short 05307h ; 75 19 7401 mov bx, 00 e14h ; bb 14 0e7398 mov bx, 00db8h ; bb b8 0d 7402 7399 mov cx, ds ; 8c d9 7403 7400 mov ax, strict word 00004h ; b8 04 00 … … 7716 7713 cmp byte [bp-00ch], 058h ; 80 7e f4 58 7717 7714 jbe short 0567bh ; 76 1e 7718 mov bx, 00 e14h ; bb 14 0e7715 mov bx, 00db8h ; bb b8 0d 7719 7716 mov cx, ds ; 8c d9 7720 7717 mov ax, strict word 00004h ; b8 04 00 … … 7732 7729 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7733 7730 imul bx, bx, strict byte 0000ah ; 6b db 0a 7734 mov dl, byte [bx+00e 68h] ; 8a 97 680e7735 mov ax, word [bx+00e 68h] ; 8b 87 680e7731 mov dl, byte [bx+00e0ch] ; 8a 97 0c 0e 7732 mov ax, word [bx+00e0ch] ; 8b 87 0c 0e 7736 7733 jmp near 05722h ; e9 8e 00 7737 7734 test AL, strict byte 004h ; a8 04 … … 7739 7736 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7740 7737 imul bx, bx, strict byte 0000ah ; 6b db 0a 7741 mov dl, byte [bx+00e 66h] ; 8a 97 660e7742 mov ax, word [bx+00e 66h] ; 8b 87 660e7738 mov dl, byte [bx+00e0ah] ; 8a 97 0a 0e 7739 mov ax, word [bx+00e0ah] ; 8b 87 0a 0e 7743 7740 jmp near 05722h ; e9 78 00 7744 7741 mov al, byte [bp-004h] ; 8a 46 fc … … 7759 7756 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7760 7757 imul bx, bx, strict byte 0000ah ; 6b db 0a 7761 movzx ax, byte [bx+00e 6ah] ; 0f b6 87 6a0e7758 movzx ax, byte [bx+00e0eh] ; 0f b6 87 0e 0e 7762 7759 movzx dx, byte [bp-008h] ; 0f b6 56 f8 7763 7760 test dx, ax ; 85 c2 7764 7761 je short 056ech ; 74 0a 7765 mov dl, byte [bx+00e 62h] ; 8a 97 620e7766 mov ax, word [bx+00e 62h] ; 8b 87 620e7762 mov dl, byte [bx+00e06h] ; 8a 97 06 0e 7763 mov ax, word [bx+00e06h] ; 8b 87 06 0e 7767 7764 jmp short 056f4h ; eb 08 7768 mov dl, byte [bx+00e 64h] ; 8a 97 640e7769 mov ax, word [bx+00e 64h] ; 8b 87 640e7765 mov dl, byte [bx+00e08h] ; 8a 97 08 0e 7766 mov ax, word [bx+00e08h] ; 8b 87 08 0e 7770 7767 shr ax, 008h ; c1 e8 08 7771 7768 mov byte [bp-00ch], al ; 88 46 f4 … … 7773 7770 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 7774 7771 imul bx, bx, strict byte 0000ah ; 6b db 0a 7775 movzx ax, byte [bx+00e 6ah] ; 0f b6 87 6a0e7772 movzx ax, byte [bx+00e0eh] ; 0f b6 87 0e 0e 7776 7773 movzx dx, byte [bp-008h] ; 0f b6 56 f8 7777 7774 test dx, ax ; 85 c2 7778 7775 je short 0571ah ; 74 0a 7779 mov dl, byte [bx+00e 64h] ; 8a 97 640e7780 mov ax, word [bx+00e 64h] ; 8b 87 640e7776 mov dl, byte [bx+00e08h] ; 8a 97 08 0e 7777 mov ax, word [bx+00e08h] ; 8b 87 08 0e 7781 7778 jmp short 05722h ; eb 08 7782 mov dl, byte [bx+00e 62h] ; 8a 97 620e7783 mov ax, word [bx+00e 62h] ; 8b 87 620e7779 mov dl, byte [bx+00e06h] ; 8a 97 06 0e 7780 mov ax, word [bx+00e06h] ; 8b 87 06 0e 7784 7781 shr ax, 008h ; c1 e8 08 7785 7782 mov byte [bp-00ch], al ; 88 46 f4 … … 7788 7785 test dl, dl ; 84 d2 7789 7786 jne short 05748h ; 75 16 7790 mov bx, 00 e14h ; bb 14 0e7787 mov bx, 00db8h ; bb b8 0d 7791 7788 mov cx, ds ; 8c d9 7792 7789 mov ax, strict word 00004h ; b8 04 00 … … 8142 8139 or ah, 080h ; 80 cc 80 8143 8140 jmp near 0595bh ; e9 d4 fe 8144 mov bx, 00 e14h ; bb 14 0e8141 mov bx, 00db8h ; bb b8 0d 8145 8142 mov cx, ds ; 8c d9 8146 8143 mov ax, strict word 00004h ; b8 04 00 … … 8153 8150 call 01a6bh ; e8 ca bf 8154 8151 add sp, strict byte 00006h ; 83 c4 06 8155 mov bx, 00 e14h ; bb 14 0e8152 mov bx, 00db8h ; bb b8 0d 8156 8153 mov cx, ds ; 8c d9 8157 8154 mov ax, strict word 00004h ; b8 04 00 … … 8188 8185 mov dx, word [bp+00ch] ; 8b 56 0c 8189 8186 mov si, strict word 00020h ; be 20 00 8190 call 0a 120h ; e8 25 468187 call 0a0e0h ; e8 e5 45 8191 8188 test ax, ax ; 85 c0 8192 8189 jne short 05b0bh ; 75 0c … … 8226 8223 mov bx, strict word 0003fh ; bb 3f 00 8227 8224 xor cx, cx ; 31 c9 8228 call 0a0 a0h ; e8 4c 458225 call 0a060h ; e8 0c 45 8229 8226 mov bx, ax ; 89 c3 8230 8227 mov cx, dx ; 89 d1 8231 8228 mov ax, word [bp-004h] ; 8b 46 fc 8232 8229 mov dx, si ; 89 f2 8233 call 0a0 e0h ; e8 80 458230 call 0a0a0h ; e8 40 45 8234 8231 mov word [es:di+002h], ax ; 26 89 45 02 8235 8232 cmp ax, 00400h ; 3d 00 04 … … 8388 8385 test ax, ax ; 85 c0 8389 8386 jne short 05cf4h ; 75 23 8390 mov bx, 00 e14h ; bb 14 0e8387 mov bx, 00db8h ; bb b8 0d 8391 8388 mov cx, ds ; 8c d9 8392 8389 mov ax, strict word 00004h ; b8 04 00 … … 8417 8414 cmp ax, dx ; 39 d0 8418 8415 jbe short 05d4fh ; 76 2e 8419 mov bx, 00 e14h ; bb 14 0e8416 mov bx, 00db8h ; bb b8 0d 8420 8417 mov cx, ds ; 8c d9 8421 8418 mov ax, strict word 00004h ; b8 04 00 … … 8455 8452 mov bx, cx ; 89 cb 8456 8453 xor cx, cx ; 31 c9 8457 call 0a0 a0h ; e8 17 438454 call 0a060h ; e8 d7 42 8458 8455 xor bx, bx ; 31 db 8459 8456 add ax, word [bp-008h] ; 03 46 f8 … … 8461 8458 mov bx, word [bp-00ah] ; 8b 5e f6 8462 8459 xor cx, cx ; 31 c9 8463 call 0a0 a0h ; e8 08 438460 call 0a060h ; e8 c8 42 8464 8461 xor bx, bx ; 31 db 8465 8462 add ax, word [bp-006h] ; 03 46 fa … … 8517 8514 test dl, dl ; 84 d2 8518 8515 je near 05c52h ; 0f 84 0a fe 8519 mov bx, 00 e14h ; bb 14 0e8516 mov bx, 00db8h ; bb b8 0d 8520 8517 mov cx, ds ; 8c d9 8521 8518 mov ax, strict word 00004h ; b8 04 00 … … 8535 8532 or ah, 00ch ; 80 cc 0c 8536 8533 jmp near 05fc8h ; e9 51 01 8537 mov bx, 00 e14h ; bb 14 0e8534 mov bx, 00db8h ; bb b8 0d 8538 8535 mov cx, ds ; 8c d9 8539 8536 mov ax, strict word 00004h ; b8 04 00 … … 8621 8618 mov bx, word [bp-008h] ; 8b 5e f8 8622 8619 xor cx, cx ; 31 c9 8623 call 0a0 a0h ; e8 40 418620 call 0a060h ; e8 00 41 8624 8621 mov bx, word [bp-006h] ; 8b 5e fa 8625 8622 xor cx, cx ; 31 c9 8626 call 0a0 a0h ; e8 38 418623 call 0a060h ; e8 f8 40 8627 8624 mov word [bp-010h], ax ; 89 46 f0 8628 8625 mov word [bp-00eh], dx ; 89 56 f2 … … 8634 8631 mov word [bp+016h], ax ; 89 46 16 8635 8632 jmp near 05c56h ; e9 d4 fc 8636 mov bx, 00 e14h ; bb 14 0e8633 mov bx, 00db8h ; bb b8 0d 8637 8634 mov cx, ds ; 8c d9 8638 8635 mov ax, strict word 00004h ; b8 04 00 … … 8647 8644 add sp, strict byte 00008h ; 83 c4 08 8648 8645 jmp near 05c52h ; e9 ad fc 8649 mov bx, 00 e14h ; bb 14 0e8646 mov bx, 00db8h ; bb b8 0d 8650 8647 mov cx, ds ; 8c d9 8651 8648 mov ax, strict word 00004h ; b8 04 00 … … 8761 8758 xor bx, bx ; 31 db 8762 8759 mov si, strict word 00020h ; be 20 00 8763 call 0a 130h ; e8 44 408760 call 0a0f0h ; e8 04 40 8764 8761 mov word [bp-00eh], bx ; 89 5e f2 8765 8762 mov bx, word [es:di+008h] ; 26 8b 5d 08 … … 8786 8783 cmp dx, word [es:di+036h] ; 26 3b 55 36 8787 8784 jc short 06156h ; 72 23 8788 mov bx, 00 e14h ; bb 14 0e8785 mov bx, 00db8h ; bb b8 0d 8789 8786 mov cx, ds ; 8c d9 8790 8787 mov ax, strict word 00004h ; b8 04 00 … … 8842 8839 test dl, dl ; 84 d2 8843 8840 je near 0648dh ; 0f 84 a8 02 8844 mov bx, 00 e14h ; bb 14 0e8841 mov bx, 00db8h ; bb b8 0d 8845 8842 mov cx, ds ; 8c d9 8846 8843 mov ax, strict word 00004h ; b8 04 00 … … 8912 8909 mov bx, word [bp-00eh] ; 8b 5e f2 8913 8910 mov si, strict word 00020h ; be 20 00 8914 call 0a 120h ; e8 5a 3e8911 call 0a0e0h ; e8 1a 3e 8915 8912 mov bx, di ; 89 fb 8916 8913 mov word [es:bx+014h], dx ; 26 89 57 14 … … 9088 9085 or byte [bp+01ch], 001h ; 80 4e 1c 01 9089 9086 jmp short 064a0h ; eb c4 9090 mov bx, 00 e14h ; bb 14 0e9087 mov bx, 00db8h ; bb b8 0d 9091 9088 mov cx, ds ; 8c d9 9092 9089 mov ax, strict word 00004h ; b8 04 00 … … 9269 9266 mov bx, strict word 0000fh ; bb 0f 00 9270 9267 xor cx, cx ; 31 c9 9271 call 0a0 e0h ; e8 81 3a9268 call 0a0a0h ; e8 41 3a 9272 9269 mov cx, ax ; 89 c1 9273 9270 mov bx, dx ; 89 d3 … … 9427 9424 mov word [bp+00ch], ax ; 89 46 0c 9428 9425 jmp near 06827h ; e9 2b 00 9429 mov bx, 00 e14h ; bb 14 0e9426 mov bx, 00db8h ; bb b8 0d 9430 9427 mov cx, ds ; 8c d9 9431 9428 mov ax, strict word 00004h ; b8 04 00 … … 9614 9611 retf ; cb 9615 9612 jmp near 06827h ; e9 50 fe 9616 mov bx, 00 e14h ; bb 14 0e9613 mov bx, 00db8h ; bb b8 0d 9617 9614 mov cx, ds ; 8c d9 9618 9615 mov ax, strict word 00004h ; b8 04 00 … … 9654 9651 or byte [bp+018h], 001h ; 80 4e 18 01 9655 9652 jmp near 06827h ; e9 da fd 9656 mov bx, 00 e14h ; bb 14 0e9653 mov bx, 00db8h ; bb b8 0d 9657 9654 mov cx, ds ; 8c d9 9658 9655 mov ax, strict word 00004h ; b8 04 00 … … 9970 9967 mov word [bp+014h], dx ; 89 56 14 9971 9968 jmp short 06e0fh ; eb 2a 9972 mov bx, 00 e14h ; bb 14 0e9969 mov bx, 00db8h ; bb b8 0d 9973 9970 mov cx, ds ; 8c d9 9974 9971 mov ax, strict word 00004h ; b8 04 00 … … 10590 10587 je short 07443h ; 74 0e 10591 10588 push 00900h ; 68 00 09 10592 push 011 dch ; 68 dc1110589 push 01180h ; 68 80 11 10593 10590 push strict byte 00007h ; 6a 07 10594 10591 call 01a6bh ; e8 2b a6 … … 10670 10667 je short 074d3h ; 74 0e 10671 10668 push 0090ah ; 68 0a 09 10672 push 011 dch ; 68 dc1110669 push 01180h ; 68 80 11 10673 10670 push strict byte 00007h ; 6a 07 10674 10671 call 01a6bh ; e8 9b a5 … … 12124 12121 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12125 12122 jne short 08261h ; 75 1f 12126 mov bx, 00 e14h ; bb 14 0e12123 mov bx, 00db8h ; bb b8 0d 12127 12124 mov cx, ds ; 8c d9 12128 12125 mov ax, strict word 00004h ; b8 04 00 … … 12279 12276 mov dx, ss ; 8c d2 12280 12277 lea ax, [bp-046h] ; 8d 46 ba 12281 call 0a1 40h ; e8 89 1d12278 call 0a100h ; e8 49 1d 12282 12279 mov byte [bp-046h], 09eh ; c6 46 ba 9e 12283 12280 mov byte [bp-045h], 010h ; c6 46 bb 10 … … 12338 12335 cmp bx, 00200h ; 81 fb 00 02 12339 12336 je short 0847ch ; 74 20 12340 mov bx, 00 e14h ; bb 14 0e12337 mov bx, 00db8h ; bb b8 0d 12341 12338 mov cx, ds ; 8c d9 12342 12339 mov ax, strict word 00004h ; b8 04 00 … … 12404 12401 mov dx, word [bp-016h] ; 8b 56 ea 12405 12402 mov si, strict word 0000ch ; be 0c 00 12406 call 0a 120h ; e8 26 1c12403 call 0a0e0h ; e8 e6 1b 12407 12404 mov word [bp-018h], ax ; 89 46 e8 12408 12405 mov word [bp-014h], bx ; 89 5e ec … … 12424 12421 mov dx, word [bp-016h] ; 8b 56 ea 12425 12422 mov si, strict word 00006h ; be 06 00 12426 call 0a 120h ; e8 e6 1b12423 call 0a0e0h ; e8 a6 1b 12427 12424 mov si, word [bp-020h] ; 8b 76 e0 12428 12425 add si, dx ; 01 d6 … … 12442 12439 mov dx, si ; 89 f2 12443 12440 mov si, strict word 00008h ; be 08 00 12444 call 0a 120h ; e8 b6 1b12441 call 0a0e0h ; e8 76 1b 12445 12442 mov word [bp-022h], bx ; 89 5e de 12446 12443 mov word [bp-02ch], cx ; 89 4e d4 … … 12451 12448 mov dx, word [bp-02ah] ; 8b 56 d6 12452 12449 mov si, strict word 00010h ; be 10 00 12453 call 0a 120h ; e8 9b 1b12450 call 0a0e0h ; e8 5b 1b 12454 12451 mov si, word [bp-01ah] ; 8b 76 e6 12455 12452 add si, dx ; 01 d6 … … 12475 12472 mov dx, word [bp-016h] ; 8b 56 ea 12476 12473 mov si, strict word 0000bh ; be 0b 00 12477 call 0a 120h ; e8 53 1b12474 call 0a0e0h ; e8 13 1b 12478 12475 mov si, dx ; 89 d6 12479 12476 mov dx, cx ; 89 ca … … 12516 12513 mov word [es:bx+02ch], si ; 26 89 77 2c 12517 12514 mov word [es:bx+032h], si ; 26 89 77 32 12518 mov bx, 00 e14h ; bb 14 0e12515 mov bx, 00db8h ; bb b8 0d 12519 12516 mov cx, ds ; 8c d9 12520 12517 mov ax, strict word 00004h ; b8 04 00 … … 12566 12563 inc byte [bp-00ch] ; fe 46 f4 12567 12564 jmp near 08770h ; e9 8b 00 12568 mov bx, 00 e14h ; bb 14 0e12565 mov bx, 00db8h ; bb b8 0d 12569 12566 mov cx, ds ; 8c d9 12570 12567 mov ax, strict word 00004h ; b8 04 00 … … 12663 12660 pop bp ; 5d 12664 12661 retn ; c3 12665 scsi_pci_init_: ; 0xf8802 LB 0x 6c12662 scsi_pci_init_: ; 0xf8802 LB 0x2d 12666 12663 push bp ; 55 12667 12664 mov bp, sp ; 89 e5 … … 12669 12666 push cx ; 51 12670 12667 push si ; 56 12671 push di ; 57 12672 mov si, ax ; 89 c6 12673 mov di, dx ; 89 d7 12674 call 09f06h ; e8 f6 16 12668 call 09ec7h ; e8 bc 16 12675 12669 mov dx, ax ; 89 c2 12676 12670 cmp ax, strict word 0ffffh ; 3d ff ff 12677 jne short 08834h ; 75 1d 12678 mov bx, 00e14h ; bb 14 0e 12679 mov cx, ds ; 8c d9 12680 mov ax, strict word 00004h ; b8 04 00 12681 call 01a2ah ; e8 08 92 12682 push di ; 57 12683 push si ; 56 12684 push 00c73h ; 68 73 0c 12685 push 00c81h ; 68 81 0c 12686 push strict byte 00004h ; 6a 04 12687 call 01a6bh ; e8 3c 92 12688 add sp, strict byte 0000ah ; 83 c4 0a 12689 jmp short 08865h ; eb 31 12690 mov bx, 00e14h ; bb 14 0e 12691 mov cx, ds ; 8c d9 12692 mov ax, strict word 00004h ; b8 04 00 12693 call 01a2ah ; e8 eb 91 12694 push dx ; 52 12695 push di ; 57 12696 push si ; 56 12697 push 00c73h ; 68 73 0c 12698 push 00caah ; 68 aa 0c 12699 push strict byte 00004h ; 6a 04 12700 call 01a6bh ; e8 1e 92 12701 add sp, strict byte 0000ch ; 83 c4 0c 12671 je short 08827h ; 74 15 12702 12672 movzx si, dl ; 0f b6 f2 12703 12673 mov ax, dx ; 89 d0 … … 12707 12677 mov bx, strict word 00004h ; bb 04 00 12708 12678 mov dx, si ; 89 f2 12709 call 09f98h ; e8 33 17 12710 lea sp, [bp-008h] ; 8d 66 f8 12711 pop di ; 5f 12679 call 09f59h ; e8 32 17 12680 lea sp, [bp-006h] ; 8d 66 fa 12712 12681 pop si ; 5e 12713 12682 pop cx ; 59 … … 12715 12684 pop bp ; 5d 12716 12685 retn ; c3 12717 _scsi_init: ; 0xf88 6eLB 0x8112686 _scsi_init: ; 0xf882f LB 0x81 12718 12687 push bp ; 55 12719 12688 mov bp, sp ; 89 e5 12720 12689 mov dx, strict word 0000eh ; ba 0e 00 12721 12690 mov ax, strict word 00040h ; b8 40 00 12722 call 01765h ; e8 eb 8e12691 call 01765h ; e8 2a 8f 12723 12692 mov bx, 00122h ; bb 22 01 12724 12693 mov es, ax ; 8e c0 … … 12731 12700 ; sub ah, ah ; 2a e4 12732 12701 cmp AL, strict byte 055h ; 3c 55 12733 jne short 088 a7h ; 75 1512702 jne short 08868h ; 75 15 12734 12703 xor al, al ; 30 c0 12735 12704 mov dx, 00433h ; ba 33 04 12736 12705 out DX, AL ; ee 12737 12706 mov ax, 00430h ; b8 30 04 12738 call 08380h ; e8 e2 fa12707 call 08380h ; e8 21 fb 12739 12708 mov dx, 01040h ; ba 40 10 12740 12709 mov ax, 0104bh ; b8 4b 10 12741 call 08802h ; e8 5bff12710 call 08802h ; e8 9a ff 12742 12711 mov AL, strict byte 055h ; b0 55 12743 12712 mov dx, 00436h ; ba 36 04 … … 12747 12716 ; sub ah, ah ; 2a e4 12748 12717 cmp AL, strict byte 055h ; 3c 55 12749 jne short 088 c9h ; 75 1512718 jne short 0888ah ; 75 15 12750 12719 xor al, al ; 30 c0 12751 12720 mov dx, 00437h ; ba 37 04 12752 12721 out DX, AL ; ee 12753 12722 mov ax, 00434h ; b8 34 04 12754 call 08380h ; e8 c0fa12723 call 08380h ; e8 ff fa 12755 12724 mov dx, strict word 00030h ; ba 30 00 12756 12725 mov ax, 01000h ; b8 00 10 12757 call 08802h ; e8 39ff12726 call 08802h ; e8 78 ff 12758 12727 mov AL, strict byte 055h ; b0 55 12759 12728 mov dx, 0043ah ; ba 3a 04 … … 12763 12732 ; sub ah, ah ; 2a e4 12764 12733 cmp AL, strict byte 055h ; 3c 55 12765 jne short 088 ebh ; 75 1512734 jne short 088ach ; 75 15 12766 12735 xor al, al ; 30 c0 12767 12736 mov dx, 0043bh ; ba 3b 04 12768 12737 out DX, AL ; ee 12769 12738 mov ax, 00438h ; b8 38 04 12770 call 08380h ; e8 9efa12739 call 08380h ; e8 dd fa 12771 12740 mov dx, strict word 00054h ; ba 54 00 12772 12741 mov ax, 01000h ; b8 00 10 12773 call 08802h ; e8 17ff12742 call 08802h ; e8 56 ff 12774 12743 mov sp, bp ; 89 ec 12775 12744 pop bp ; 5d 12776 12745 retn ; c3 12777 ahci_ctrl_extract_bits_: ; 0xf88 efLB 0x1b12746 ahci_ctrl_extract_bits_: ; 0xf88b0 LB 0x1b 12778 12747 push si ; 56 12779 12748 push bp ; 55 … … 12783 12752 and dx, cx ; 21 ca 12784 12753 movzx cx, byte [bp+006h] ; 0f b6 4e 06 12785 jcxz 08 905h ; e3 0612754 jcxz 088c6h ; e3 06 12786 12755 shr dx, 1 ; d1 ea 12787 12756 rcr ax, 1 ; d1 d8 12788 loop 088 ffh ; e2 fa12757 loop 088c0h ; e2 fa 12789 12758 pop bp ; 5d 12790 12759 pop si ; 5e 12791 12760 retn 00002h ; c2 02 00 12792 ahci_addr_to_phys_: ; 0xf8 90aLB 0x1e12761 ahci_addr_to_phys_: ; 0xf88cb LB 0x1e 12793 12762 push bx ; 53 12794 12763 push cx ; 51 … … 12801 12770 sal ax, 1 ; d1 e0 12802 12771 rcl dx, 1 ; d1 d2 12803 loop 08 918h ; e2 fa12772 loop 088d9h ; e2 fa 12804 12773 xor cx, cx ; 31 c9 12805 12774 add ax, bx ; 01 d8 … … 12809 12778 pop bx ; 5b 12810 12779 retn ; c3 12811 ahci_port_cmd_sync_: ; 0xf8 928LB 0x14b12780 ahci_port_cmd_sync_: ; 0xf88e9 LB 0x14b 12812 12781 push bp ; 55 12813 12782 mov bp, sp ; 89 e5 … … 12824 12793 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 12825 12794 cmp ah, 0ffh ; 80 fc ff 12826 je near 08a 6bh ; 0f 84 20 0112795 je near 08a2ch ; 0f 84 20 01 12827 12796 movzx dx, byte [es:si+00263h] ; 26 0f b6 94 63 02 12828 12797 xor di, di ; 31 ff … … 12836 12805 lea ax, [si+00080h] ; 8d 84 80 00 12837 12806 mov dx, cx ; 89 ca 12838 call 08 90ah ; e8 96 ff12807 call 088cbh ; e8 96 ff 12839 12808 mov es, cx ; 8e c1 12840 12809 mov word [es:si+008h], ax ; 26 89 44 08 … … 12899 12868 xchg dx, ax ; 92 12900 12869 test dh, 040h ; f6 c6 40 12901 jne short 08 a01h ; 75 0412870 jne short 089c2h ; 75 04 12902 12871 test AL, strict byte 001h ; a8 01 12903 je short 08 a05h ; 74 0412872 je short 089c6h ; 74 04 12904 12873 mov AL, strict byte 001h ; b0 01 12905 jmp short 08 a07h ; eb 0212874 jmp short 089c8h ; eb 02 12906 12875 xor al, al ; 30 c0 12907 12876 test al, al ; 84 c0 12908 je short 089 d5h ; 74 ca12877 je short 08996h ; 74 ca 12909 12878 movzx di, byte [bp-008h] ; 0f b6 7e f8 12910 12879 sal di, 007h ; c1 e7 07 … … 12960 12929 pop bp ; 5d 12961 12930 retn ; c3 12962 ahci_cmd_data_: ; 0xf8a 73LB 0x26212931 ahci_cmd_data_: ; 0xf8a34 LB 0x262 12963 12932 push bp ; 55 12964 12933 mov bp, sp ; 89 e5 … … 12985 12954 mov ax, 00080h ; b8 80 00 12986 12955 mov dx, word [bp-00ah] ; 8b 56 f6 12987 call 0a1 40h ; e8 8f1612956 call 0a100h ; e8 8e 16 12988 12957 mov es, [bp-00ah] ; 8e 46 f6 12989 12958 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 13003 12972 mov dx, word [es:si] ; 26 8b 14 13004 12973 mov si, strict word 00008h ; be 08 00 13005 call 0a 120h ; e8 2b1612974 call 0a0e0h ; e8 2a 16 13006 12975 mov es, [bp-00ah] ; 8e 46 f6 13007 12976 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 13014 12983 mov dx, word [es:si] ; 26 8b 14 13015 12984 mov si, strict word 00010h ; be 10 00 13016 call 0a 120h ; e8 051612985 call 0a0e0h ; e8 04 16 13017 12986 mov es, [bp-00ah] ; 8e 46 f6 13018 12987 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 13026 12995 mov dx, word [es:si] ; 26 8b 14 13027 12996 mov si, strict word 00018h ; be 18 00 13028 call 0a 120h ; e8 d91512997 call 0a0e0h ; e8 d8 15 13029 12998 mov es, [bp-00ah] ; 8e 46 f6 13030 12999 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 13037 13006 mov dx, word [es:si] ; 26 8b 14 13038 13007 mov si, strict word 00020h ; be 20 00 13039 call 0a 120h ; e8 b31513008 call 0a0e0h ; e8 b2 15 13040 13009 mov es, [bp-00ah] ; 8e 46 f6 13041 13010 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 13048 13017 mov dx, word [es:si] ; 26 8b 14 13049 13018 mov si, strict word 00028h ; be 28 00 13050 call 0a 120h ; e8 8d1513019 call 0a0e0h ; e8 8c 15 13051 13020 mov es, [bp-00ah] ; 8e 46 f6 13052 13021 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 13062 13031 mov bx, word [bp-010h] ; 8b 5e f0 13063 13032 xor cx, cx ; 31 c9 13064 call 0a0 a0h ; e8 d81413033 call 0a060h ; e8 d7 14 13065 13034 push dx ; 52 13066 13035 push ax ; 50 … … 13072 13041 mov ax, 0026ah ; b8 6a 02 13073 13042 mov dx, word [bp-00ah] ; 8b 56 f6 13074 call 09f efh ; e8 0b 1413043 call 09fb0h ; e8 0b 14 13075 13044 mov es, [bp-00ah] ; 8e 46 f6 13076 13045 mov ax, word [es:di+0027eh] ; 26 8b 85 7e 02 … … 13093 13062 mov ax, word [es:bx+020h] ; 26 8b 47 20 13094 13063 test ax, ax ; 85 c0 13095 je short 08c 72h ; 74 3913064 je short 08c33h ; 74 39 13096 13065 dec ax ; 48 13097 13066 mov es, [bp-00ah] ; 8e 46 f6 … … 13109 13078 mov al, byte [bp-008h] ; 8a 46 f8 13110 13079 cmp AL, strict byte 035h ; 3c 35 13111 jne short 08c 7fh ; 75 0613080 jne short 08c40h ; 75 06 13112 13081 mov byte [bp-008h], 040h ; c6 46 f8 40 13113 jmp short 08c 96h ; eb 1713082 jmp short 08c57h ; eb 17 13114 13083 cmp AL, strict byte 0a0h ; 3c a0 13115 jne short 08c 92h ; 75 0f13084 jne short 08c53h ; 75 0f 13116 13085 or byte [bp-008h], 020h ; 80 4e f8 20 13117 13086 les bx, [bp-00eh] ; c4 5e f2 13118 13087 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 13119 jmp short 08c 96h ; eb 0413088 jmp short 08c57h ; eb 04 13120 13089 mov byte [bp-008h], 000h ; c6 46 f8 00 13121 13090 or byte [bp-008h], 005h ; 80 4e f8 05 … … 13123 13092 mov ax, word [bp-00eh] ; 8b 46 f2 13124 13093 mov dx, word [bp-00ch] ; 8b 56 f4 13125 call 08 928h ; e8 81 fc13094 call 088e9h ; e8 81 fc 13126 13095 mov cx, word [bp-00ch] ; 8b 4e f4 13127 13096 mov bx, word [bp-00eh] ; 8b 5e f2 … … 13130 13099 add ax, 0026ah ; 05 6a 02 13131 13100 mov dx, cx ; 89 ca 13132 call 0a0 68h ; e8 ac 1313101 call 0a029h ; e8 ac 13 13133 13102 mov es, cx ; 8e c1 13134 13103 mov al, byte [es:bx+003h] ; 26 8a 47 03 13135 13104 test al, al ; 84 c0 13136 je short 08c cbh ; 74 0513105 je short 08c8ch ; 74 05 13137 13106 mov ax, strict word 00004h ; b8 04 00 13138 jmp short 08c cdh ; eb 0213107 jmp short 08c8eh ; eb 02 13139 13108 xor ah, ah ; 30 e4 13140 13109 lea sp, [bp-006h] ; 8d 66 fa … … 13144 13113 pop bp ; 5d 13145 13114 retn ; c3 13146 ahci_port_deinit_current_: ; 0xf8c d5LB 0x17f13115 ahci_port_deinit_current_: ; 0xf8c96 LB 0x17f 13147 13116 push bp ; 55 13148 13117 mov bp, sp ; 89 e5 … … 13159 13128 mov byte [bp-00ah], al ; 88 46 f6 13160 13129 cmp AL, strict byte 0ffh ; 3c ff 13161 je near 08e 4bh ; 0f 84 52 0113130 je near 08e0ch ; 0f 84 52 01 13162 13131 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13163 13132 sal ax, 007h ; c1 e0 07 … … 13202 13171 xchg dx, ax ; 92 13203 13172 test ax, 0c011h ; a9 11 c0 13204 je short 08d 59h ; 74 0413173 je short 08d1ah ; 74 04 13205 13174 mov AL, strict byte 001h ; b0 01 13206 jmp short 08d 5bh ; eb 0213175 jmp short 08d1ch ; eb 02 13207 13176 xor al, al ; 30 c0 13208 13177 cmp AL, strict byte 001h ; 3c 01 13209 je short 08 d2dh ; 74 ce13178 je short 08ceeh ; 74 ce 13210 13179 mov cx, strict word 00020h ; b9 20 00 13211 13180 xor bx, bx ; 31 db 13212 13181 mov ax, di ; 89 f8 13213 13182 mov dx, word [bp-00ch] ; 8b 56 f4 13214 call 0a1 40h ; e8 d41313183 call 0a100h ; e8 d3 13 13215 13184 lea ax, [di+00080h] ; 8d 85 80 00 13216 13185 mov cx, strict word 00040h ; b9 40 00 13217 13186 xor bx, bx ; 31 db 13218 13187 mov dx, word [bp-00ch] ; 8b 56 f4 13219 call 0a1 40h ; e8 c51313188 call 0a100h ; e8 c4 13 13220 13189 lea ax, [di+00200h] ; 8d 85 00 02 13221 13190 mov cx, strict word 00060h ; b9 60 00 13222 13191 xor bx, bx ; 31 db 13223 13192 mov dx, word [bp-00ch] ; 8b 56 f4 13224 call 0a1 40h ; e8 b61313193 call 0a100h ; e8 b5 13 13225 13194 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13226 13195 sal ax, 007h ; c1 e0 07 … … 13326 13295 pop bp ; 5d 13327 13296 retn ; c3 13328 ahci_port_init_: ; 0xf8e 54LB 0x24a13297 ahci_port_init_: ; 0xf8e15 LB 0x24a 13329 13298 push bp ; 55 13330 13299 mov bp, sp ; 89 e5 … … 13336 13305 mov word [bp-00ah], dx ; 89 56 f6 13337 13306 mov byte [bp-008h], bl ; 88 5e f8 13338 call 08c d5h ; e8 6d fe13307 call 08c96h ; e8 6d fe 13339 13308 movzx ax, bl ; 0f b6 c3 13340 13309 sal ax, 007h ; c1 e0 07 … … 13383 13352 xchg dx, ax ; 92 13384 13353 test ax, 0c011h ; a9 11 c0 13385 je short 08e d7h ; 74 0413354 je short 08e98h ; 74 04 13386 13355 mov AL, strict byte 001h ; b0 01 13387 jmp short 08e d9h ; eb 0213356 jmp short 08e9ah ; eb 02 13388 13357 xor al, al ; 30 c0 13389 13358 cmp AL, strict byte 001h ; 3c 01 13390 je short 08e a3h ; 74 c613359 je short 08e64h ; 74 c6 13391 13360 mov cx, strict word 00020h ; b9 20 00 13392 13361 xor bx, bx ; 31 db 13393 13362 mov ax, si ; 89 f0 13394 13363 mov dx, word [bp-00ah] ; 8b 56 f6 13395 call 0a1 40h ; e8 561213364 call 0a100h ; e8 55 12 13396 13365 lea ax, [si+00080h] ; 8d 84 80 00 13397 13366 mov cx, strict word 00040h ; b9 40 00 13398 13367 xor bx, bx ; 31 db 13399 13368 mov dx, word [bp-00ah] ; 8b 56 f6 13400 call 0a1 40h ; e8 471213369 call 0a100h ; e8 46 12 13401 13370 lea di, [si+00200h] ; 8d bc 00 02 13402 13371 mov cx, strict word 00060h ; b9 60 00 … … 13404 13373 mov ax, di ; 89 f8 13405 13374 mov dx, word [bp-00ah] ; 8b 56 f6 13406 call 0a1 40h ; e8 361213375 call 0a100h ; e8 35 12 13407 13376 movzx bx, byte [bp-008h] ; 0f b6 5e f8 13408 13377 sal bx, 007h ; c1 e3 07 … … 13421 13390 mov ax, di ; 89 f8 13422 13391 mov dx, word [bp-00ah] ; 8b 56 f6 13423 call 08 90ah ; e8 d3 f913392 call 088cbh ; e8 d3 f9 13424 13393 mov es, [bp-00ah] ; 8e 46 f6 13425 13394 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13466 13435 mov ax, si ; 89 f0 13467 13436 mov dx, word [bp-00ah] ; 8b 56 f6 13468 call 08 90ah ; e8 67 f913437 call 088cbh ; e8 67 f9 13469 13438 mov es, [bp-00ah] ; 8e 46 f6 13470 13439 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13571 13540 pop bp ; 5d 13572 13541 retn ; c3 13573 @ahci_read_sectors: ; 0xf90 9eLB 0xa613542 @ahci_read_sectors: ; 0xf905f LB 0xa6 13574 13543 push bp ; 55 13575 13544 mov bp, sp ; 89 e5 … … 13581 13550 sub di, strict byte 0000ch ; 83 ef 0c 13582 13551 cmp di, strict byte 00004h ; 83 ff 04 13583 jbe short 090 c3h ; 76 0f13552 jbe short 09084h ; 76 0f 13584 13553 push di ; 57 13585 push 00c d6h ; 68 d60c13586 push 00c e8h ; 68 e80c13554 push 00c74h ; 68 74 0c 13555 push 00c86h ; 68 86 0c 13587 13556 push strict byte 00007h ; 6a 07 13588 call 01a6bh ; e8 ab8913557 call 01a6bh ; e8 ea 89 13589 13558 add sp, strict byte 00008h ; 83 c4 08 13590 13559 xor bx, bx ; 31 db … … 13600 13569 mov dx, word [es:di+00232h] ; 26 8b 95 32 02 13601 13570 xor ax, ax ; 31 c0 13602 call 08e 54h ; e8 65 fd13571 call 08e15h ; e8 65 fd 13603 13572 mov bx, strict word 00025h ; bb 25 00 13604 13573 mov ax, si ; 89 f0 13605 13574 mov dx, word [bp+006h] ; 8b 56 06 13606 call 08a 73h ; e8 79 f913575 call 08a34h ; e8 79 f9 13607 13576 mov word [bp-006h], ax ; 89 46 fa 13608 13577 mov es, [bp+006h] ; 8e 46 06 … … 13633 13602 pop bp ; 5d 13634 13603 retn 00004h ; c2 04 00 13635 @ahci_write_sectors: ; 0xf91 44LB 0x8413604 @ahci_write_sectors: ; 0xf9105 LB 0x84 13636 13605 push bp ; 55 13637 13606 mov bp, sp ; 89 e5 … … 13644 13613 sub dx, strict byte 0000ch ; 83 ea 0c 13645 13614 cmp dx, strict byte 00004h ; 83 fa 04 13646 jbe short 091 6dh ; 76 0f13615 jbe short 0912eh ; 76 0f 13647 13616 push dx ; 52 13648 push 00 d07h ; 68 07 0d13649 push 00c e8h ; 68 e80c13617 push 00ca5h ; 68 a5 0c 13618 push 00c86h ; 68 86 0c 13650 13619 push strict byte 00007h ; 6a 07 13651 call 01a6bh ; e8 018913620 call 01a6bh ; e8 40 89 13652 13621 add sp, strict byte 00008h ; 83 c4 08 13653 13622 xor bx, bx ; 31 db … … 13663 13632 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 13664 13633 xor ax, ax ; 31 c0 13665 call 08e 54h ; e8 bd fc13634 call 08e15h ; e8 bd fc 13666 13635 mov bx, strict word 00035h ; bb 35 00 13667 13636 mov ax, si ; 89 f0 13668 13637 mov dx, cx ; 89 ca 13669 call 08a 73h ; e8 d2 f813638 call 08a34h ; e8 d2 f8 13670 13639 mov dx, ax ; 89 c2 13671 13640 mov es, cx ; 8e c1 … … 13682 13651 pop bp ; 5d 13683 13652 retn 00004h ; c2 04 00 13684 ahci_cmd_packet_: ; 0xf91 c8LB 0x18313653 ahci_cmd_packet_: ; 0xf9189 LB 0x183 13685 13654 push bp ; 55 13686 13655 mov bp, sp ; 89 e5 … … 13694 13663 mov dx, strict word 0000eh ; ba 0e 00 13695 13664 mov ax, strict word 00040h ; b8 40 00 13696 call 01765h ; e8 828513665 call 01765h ; e8 c1 85 13697 13666 mov si, 00122h ; be 22 01 13698 13667 mov word [bp-008h], ax ; 89 46 f8 13699 13668 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 13700 jne short 09 20eh ; 75 1f13701 mov bx, 00 e14h ; bb 14 0e13669 jne short 091cfh ; 75 1f 13670 mov bx, 00db8h ; bb b8 0d 13702 13671 mov cx, ds ; 8c d9 13703 13672 mov ax, strict word 00004h ; b8 04 00 13704 call 01a2ah ; e8 308813705 push 00 d1ah ; 68 1a 0d13706 push 00 d2ah ; 68 2a 0d13673 call 01a2ah ; e8 6f 88 13674 push 00cb8h ; 68 b8 0c 13675 push 00cc8h ; 68 c8 0c 13707 13676 push strict byte 00004h ; 6a 04 13708 call 01a6bh ; e8 668813677 call 01a6bh ; e8 a5 88 13709 13678 add sp, strict byte 00006h ; 83 c4 06 13710 13679 mov ax, strict word 00001h ; b8 01 00 13711 jmp near 093 42h ; e9 34 0113680 jmp near 09303h ; e9 34 01 13712 13681 test byte [bp+004h], 001h ; f6 46 04 01 13713 jne short 09 208h ; 75 f413682 jne short 091c9h ; 75 f4 13714 13683 mov ax, word [bp+006h] ; 8b 46 06 13715 13684 mov dx, word [bp+008h] ; 8b 56 08 … … 13717 13686 sal ax, 1 ; d1 e0 13718 13687 rcl dx, 1 ; d1 d2 13719 loop 09 21dh ; e2 fa13688 loop 091deh ; e2 fa 13720 13689 mov es, [bp-008h] ; 8e 46 f8 13721 13690 mov word [es:si], ax ; 26 89 04 … … 13731 13700 mov dx, word [bp+008h] ; 8b 56 08 13732 13701 xor cx, cx ; 31 c9 13733 call 0a0 e0h ; e8 8d0e13702 call 0a0a0h ; e8 8c 0e 13734 13703 mov word [es:si+00eh], ax ; 26 89 44 0e 13735 13704 xor di, di ; 31 ff … … 13748 13717 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 13749 13718 xor ax, ax ; 31 c0 13750 call 08e 54h ; e8 c5 fb13719 call 08e15h ; e8 c5 fb 13751 13720 movzx ax, byte [bp-006h] ; 0f b6 46 fa 13752 13721 push ax ; 50 … … 13755 13724 mov ax, 000c0h ; b8 c0 00 13756 13725 mov dx, word [bp-00ah] ; 8b 56 f6 13757 call 0a1 50h ; e8 ad0e13726 call 0a110h ; e8 ac 0e 13758 13727 mov es, [bp-008h] ; 8e 46 f8 13759 13728 mov word [es:si+018h], di ; 26 89 7c 18 … … 13762 13731 mov ax, word [es:si+01eh] ; 26 8b 44 1e 13763 13732 test ax, ax ; 85 c0 13764 je short 092 e1h ; 74 2713733 je short 092a2h ; 74 27 13765 13734 dec ax ; 48 13766 13735 mov es, [bp-00ah] ; 8e 46 f6 … … 13775 13744 mov ax, si ; 89 f0 13776 13745 mov dx, word [bp-008h] ; 8b 56 f8 13777 call 08a 73h ; e8 87 f713746 call 08a34h ; e8 87 f7 13778 13747 les bx, [bp-00eh] ; c4 5e f2 13779 13748 mov ax, word [es:bx+004h] ; 26 8b 47 04 … … 13802 13771 mov ax, word [es:bx+006h] ; 26 8b 47 06 13803 13772 or ax, word [es:bx+004h] ; 26 0b 47 04 13804 jne short 093 40h ; 75 0513773 jne short 09301h ; 75 05 13805 13774 mov ax, strict word 00004h ; b8 04 00 13806 jmp short 093 42h ; eb 0213775 jmp short 09303h ; eb 02 13807 13776 xor ax, ax ; 31 c0 13808 13777 lea sp, [bp-004h] ; 8d 66 fc … … 13811 13780 pop bp ; 5d 13812 13781 retn 0000ch ; c2 0c 00 13813 ahci_port_detect_device_: ; 0xf93 4bLB 0x4b113782 ahci_port_detect_device_: ; 0xf930c LB 0x4b1 13814 13783 push bp ; 55 13815 13784 mov bp, sp ; 89 e5 … … 13823 13792 movzx di, bl ; 0f b6 fb 13824 13793 mov bx, di ; 89 fb 13825 call 08e 54h ; e8 ef fa13794 call 08e15h ; e8 ef fa 13826 13795 mov dx, strict word 0000eh ; ba 0e 00 13827 13796 mov ax, strict word 00040h ; b8 40 00 13828 call 01765h ; e8 f7 8313797 call 01765h ; e8 36 84 13829 13798 mov word [bp-010h], 00122h ; c7 46 f0 22 01 13830 13799 mov word [bp-00eh], ax ; 89 46 f2 … … 13895 13864 mov bx, strict word 0000fh ; bb 0f 00 13896 13865 xor cx, cx ; 31 c9 13897 call 088 efh ; e8 d7 f413866 call 088b0h ; e8 d7 f4 13898 13867 test ax, ax ; 85 c0 13899 je near 097 f4h ; 0f 84 d6 0313868 je near 097b5h ; 0f 84 d6 03 13900 13869 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13901 13870 sal ax, 007h ; c1 e0 07 … … 13925 13894 mov bx, strict word 0000fh ; bb 0f 00 13926 13895 xor cx, cx ; 31 c9 13927 call 088 efh ; e8 8b f413896 call 088b0h ; e8 8b f4 13928 13897 cmp ax, strict word 00001h ; 3d 01 00 13929 je short 09 41eh ; 74 b513898 je short 093dfh ; 74 b5 13930 13899 push strict byte 00000h ; 6a 00 13931 13900 mov bx, strict word 0000fh ; bb 0f 00 … … 13933 13902 mov ax, di ; 89 f8 13934 13903 mov dx, word [bp-022h] ; 8b 56 de 13935 call 088 efh ; e8 77 f413904 call 088b0h ; e8 77 f4 13936 13905 cmp ax, strict word 00003h ; 3d 03 00 13937 jne near 097 f4h ; 0f 85 75 0313906 jne near 097b5h ; 0f 85 75 03 13938 13907 mov ax, word [bp-018h] ; 8b 46 e8 13939 13908 add ax, 00130h ; 05 30 01 … … 13962 13931 mov byte [bp-008h], al ; 88 46 f8 13963 13932 cmp AL, strict byte 004h ; 3c 04 13964 jnc near 097 f4h ; 0f 83 2f 0313933 jnc near 097b5h ; 0f 83 2f 03 13965 13934 mov ax, word [bp-018h] ; 8b 46 e8 13966 13935 add ax, 00118h ; 05 18 01 … … 14014 13983 add cl, 00ch ; 80 c1 0c 14015 13984 test dx, dx ; 85 d2 14016 jne near 097 4ah ; 0f 85 0d 0213985 jne near 0970bh ; 0f 85 0d 02 14017 13986 cmp di, 00101h ; 81 ff 01 01 14018 jne near 097 4ah ; 0f 85 05 0213987 jne near 0970bh ; 0f 85 05 02 14019 13988 les bx, [bp-010h] ; c4 5e f0 14020 13989 db 066h, 026h, 0c7h, 047h, 004h, 000h, 000h, 000h, 000h … … 14030 13999 mov ax, word [bp-010h] ; 8b 46 f0 14031 14000 mov dx, es ; 8c c2 14032 call 08a 73h ; e8 fa f414001 call 08a34h ; e8 fa f4 14033 14002 mov byte [bp-00ch], cl ; 88 4e f4 14034 14003 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 … … 14047 14016 mov dword [bp-016h], strict dword 000000000h ; 66 c7 46 ea 00 00 00 00 14048 14017 cmp di, 00fffh ; 81 ff ff 0f 14049 jne short 095 d2h ; 75 1e14018 jne short 09593h ; 75 1e 14050 14019 cmp dx, strict byte 0ffffh ; 83 fa ff 14051 jne short 095 d2h ; 75 1914020 jne short 09593h ; 75 19 14052 14021 mov dx, word [bp-0015ch] ; 8b 96 a4 fe 14053 14022 mov word [bp-014h], dx ; 89 56 ec … … 14086 14055 mov al, byte [bp-008h] ; 8a 46 f8 14087 14056 cmp AL, strict byte 001h ; 3c 01 14088 jc short 096 4bh ; 72 0c14089 jbe short 096 53h ; 76 1214057 jc short 0960ch ; 72 0c 14058 jbe short 09614h ; 76 12 14090 14059 cmp AL, strict byte 003h ; 3c 03 14091 je short 096 5bh ; 74 1614060 je short 0961ch ; 74 16 14092 14061 cmp AL, strict byte 002h ; 3c 02 14093 je short 096 57h ; 74 0e14094 jmp short 096 a4h ; eb 5914062 je short 09618h ; 74 0e 14063 jmp short 09665h ; eb 59 14095 14064 test al, al ; 84 c0 14096 jne short 096 a4h ; 75 5514065 jne short 09665h ; 75 55 14097 14066 mov DL, strict byte 040h ; b2 40 14098 jmp short 096 5dh ; eb 0a14067 jmp short 0961eh ; eb 0a 14099 14068 mov DL, strict byte 048h ; b2 48 14100 jmp short 096 5dh ; eb 0614069 jmp short 0961eh ; eb 06 14101 14070 mov DL, strict byte 050h ; b2 50 14102 jmp short 096 5dh ; eb 0214071 jmp short 0961eh ; eb 02 14103 14072 mov DL, strict byte 058h ; b2 58 14104 14073 mov al, dl ; 88 d0 … … 14106 14075 movzx bx, al ; 0f b6 d8 14107 14076 mov ax, bx ; 89 d8 14108 call 017a5h ; e8 3c8114077 call 017a5h ; e8 7b 81 14109 14078 test al, al ; 84 c0 14110 je short 096 a4h ; 74 3714079 je short 09665h ; 74 37 14111 14080 mov al, dl ; 88 d0 14112 14081 db 0feh, 0c0h 14113 14082 ; inc al ; fe c0 14114 14083 xor ah, ah ; 30 e4 14115 call 017a5h ; e8 2f8114084 call 017a5h ; e8 6e 81 14116 14085 xor ah, ah ; 30 e4 14117 14086 mov si, ax ; 89 c6 14118 14087 sal si, 008h ; c1 e6 08 14119 14088 movzx ax, dl ; 0f b6 c2 14120 call 017a5h ; e8 228114089 call 017a5h ; e8 61 81 14121 14090 xor ah, ah ; 30 e4 14122 14091 add ax, si ; 01 f0 … … 14125 14094 add AL, strict byte 002h ; 04 02 14126 14095 xor ah, ah ; 30 e4 14127 call 017a5h ; e8 128114096 call 017a5h ; e8 51 81 14128 14097 xor ah, ah ; 30 e4 14129 14098 mov word [bp-02ah], ax ; 89 46 d6 14130 14099 mov ax, bx ; 89 d8 14131 call 017a5h ; e8 088114100 call 017a5h ; e8 47 81 14132 14101 xor ah, ah ; 30 e4 14133 14102 mov word [bp-026h], ax ; 89 46 da 14134 jmp short 096 b4h ; eb 1014103 jmp short 09675h ; eb 10 14135 14104 push dword [bp-016h] ; 66 ff 76 ea 14136 14105 push di ; 57 … … 14138 14107 mov dx, ss ; 8c d2 14139 14108 lea ax, [bp-02ah] ; 8d 46 d6 14140 call 05ad0h ; e8 1cc414141 mov bx, 00 e14h ; bb 14 0e14109 call 05ad0h ; e8 5b c4 14110 mov bx, 00db8h ; bb b8 0d 14142 14111 mov cx, ds ; 8c d9 14143 14112 mov ax, strict word 00004h ; b8 04 00 14144 call 01a2ah ; e8 6b8314113 call 01a2ah ; e8 aa 83 14145 14114 push dword [bp-016h] ; 66 ff 76 ea 14146 14115 push di ; 57 … … 14159 14128 movzx ax, byte [bp-008h] ; 0f b6 46 f8 14160 14129 push ax ; 50 14161 push 00 d4ah ; 68 4a 0d14130 push 00ce8h ; 68 e8 0c 14162 14131 push strict byte 00004h ; 6a 04 14163 call 01a6bh ; e8 7d8314132 call 01a6bh ; e8 bc 83 14164 14133 add sp, strict byte 0001ch ; 83 c4 1c 14165 14134 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 … … 14190 14159 mov dx, strict word 00075h ; ba 75 00 14191 14160 mov ax, strict word 00040h ; b8 40 00 14192 call 01749h ; e8 108014161 call 01749h ; e8 4f 80 14193 14162 db 0feh, 0c0h 14194 14163 ; inc al ; fe c0 … … 14196 14165 mov dx, strict word 00075h ; ba 75 00 14197 14166 mov ax, strict word 00040h ; b8 40 00 14198 call 01757h ; e8 108014199 jmp near 097 e6h ; e9 9c 0014167 call 01757h ; e8 4f 80 14168 jmp near 097a7h ; e9 9c 00 14200 14169 cmp dx, 0eb14h ; 81 fa 14 eb 14201 jne near 097 e6h ; 0f 85 94 0014170 jne near 097a7h ; 0f 85 94 00 14202 14171 cmp di, 00101h ; 81 ff 01 01 14203 jne near 097 e6h ; 0f 85 8c 0014172 jne near 097a7h ; 0f 85 8c 00 14204 14173 les bx, [bp-010h] ; c4 5e f0 14205 14174 db 066h, 026h, 0c7h, 047h, 004h, 000h, 000h, 000h, 000h … … 14215 14184 mov ax, word [bp-010h] ; 8b 46 f0 14216 14185 mov dx, es ; 8c c2 14217 call 08a 73h ; e8 e5 f214186 call 08a34h ; e8 e5 f2 14218 14187 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14219 14188 db 00fh, 095h, 0c0h … … 14252 14221 pop bp ; 5d 14253 14222 retn ; c3 14254 ahci_mem_alloc_: ; 0xf97 fcLB 0x4314223 ahci_mem_alloc_: ; 0xf97bd LB 0x43 14255 14224 push bp ; 55 14256 14225 mov bp, sp ; 89 e5 … … 14262 14231 mov dx, 00413h ; ba 13 04 14263 14232 xor ax, ax ; 31 c0 14264 call 01765h ; e8 597f14233 call 01765h ; e8 98 7f 14265 14234 test ax, ax ; 85 c0 14266 je short 09 835h ; 74 2514235 je short 097f6h ; 74 25 14267 14236 dec ax ; 48 14268 14237 mov bx, ax ; 89 c3 … … 14271 14240 sal ax, 1 ; d1 e0 14272 14241 rcl dx, 1 ; d1 d2 14273 loop 09 818h ; e2 fa14242 loop 097d9h ; e2 fa 14274 14243 mov si, ax ; 89 c6 14275 14244 mov di, dx ; 89 d7 … … 14277 14246 shr di, 1 ; d1 ef 14278 14247 rcr si, 1 ; d1 de 14279 loop 09 825h ; e2 fa14248 loop 097e6h ; e2 fa 14280 14249 mov dx, 00413h ; ba 13 04 14281 14250 xor ax, ax ; 31 c0 14282 call 01773h ; e8 407f14251 call 01773h ; e8 7f 7f 14283 14252 mov ax, si ; 89 f0 14284 14253 lea sp, [bp-00ah] ; 8d 66 f6 … … 14290 14259 pop bp ; 5d 14291 14260 retn ; c3 14292 ahci_hba_init_: ; 0xf98 3fLB 0x16614261 ahci_hba_init_: ; 0xf9800 LB 0x166 14293 14262 push bp ; 55 14294 14263 mov bp, sp ; 89 e5 … … 14302 14271 mov dx, strict word 0000eh ; ba 0e 00 14303 14272 mov ax, strict word 00040h ; b8 40 00 14304 call 01765h ; e8 107f14273 call 01765h ; e8 4f 7f 14305 14274 mov bx, 00122h ; bb 22 01 14306 14275 mov di, ax ; 89 c7 … … 14319 14288 shr eax, 010h ; 66 c1 e8 10 14320 14289 xchg dx, ax ; 92 14321 call 097 fch ; e8 83 ff14290 call 097bdh ; e8 83 ff 14322 14291 mov word [bp-010h], ax ; 89 46 f0 14323 14292 test ax, ax ; 85 c0 14324 je near 099 84h ; 0f 84 02 0114293 je near 09945h ; 0f 84 02 01 14325 14294 mov ax, word [bp-010h] ; 8b 46 f0 14326 14295 mov es, di ; 8e c7 … … 14372 14341 xchg dx, ax ; 92 14373 14342 test AL, strict byte 001h ; a8 01 14374 jne short 098 d8h ; 75 de14343 jne short 09899h ; 75 de 14375 14344 xor ax, ax ; 31 c0 14376 14345 xor cx, cx ; 31 c9 … … 14390 14359 mov bx, strict word 0001fh ; bb 1f 00 14391 14360 xor cx, cx ; 31 c9 14392 call 088 efh ; e8 d1 ef14361 call 088b0h ; e8 d1 ef 14393 14362 db 0feh, 0c0h 14394 14363 ; inc al ; fe c0 14395 14364 mov byte [bp-00eh], al ; 88 46 f2 14396 14365 mov byte [bp-00ch], 000h ; c6 46 f4 00 14397 jmp short 099 49h ; eb 2014366 jmp short 0990ah ; eb 20 14398 14367 xor al, al ; 30 c0 14399 14368 test al, al ; 84 c0 14400 je short 099 40h ; 74 1114369 je short 09901h ; 74 11 14401 14370 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 14402 14371 xor ax, ax ; 31 c0 14403 14372 mov dx, word [bp-010h] ; 8b 56 f0 14404 call 093 4bh ; e8 10 fa14373 call 0930ch ; e8 10 fa 14405 14374 dec byte [bp-00eh] ; fe 4e f2 14406 je short 099 82h ; 74 4214375 je short 09943h ; 74 42 14407 14376 inc byte [bp-00ch] ; fe 46 f4 14408 14377 cmp byte [bp-00ch], 020h ; 80 7e f4 20 14409 jnc short 099 82h ; 73 3914378 jnc short 09943h ; 73 39 14410 14379 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 14411 14380 mov bx, strict word 00001h ; bb 01 00 14412 14381 xor di, di ; 31 ff 14413 jcxz 099 5ah ; e3 0614382 jcxz 0991bh ; e3 06 14414 14383 sal bx, 1 ; d1 e3 14415 14384 rcl di, 1 ; d1 d7 14416 loop 099 54h ; e2 fa14385 loop 09915h ; e2 fa 14417 14386 mov ax, strict word 0000ch ; b8 0c 00 14418 14387 xor cx, cx ; 31 c9 … … 14430 14399 xchg dx, ax ; 92 14431 14400 test dx, di ; 85 fa 14432 jne short 099 7eh ; 75 0414401 jne short 0993fh ; 75 04 14433 14402 test ax, bx ; 85 d8 14434 je short 09 929h ; 74 ab14403 je short 098eah ; 74 ab 14435 14404 mov AL, strict byte 001h ; b0 01 14436 jmp short 09 92bh ; eb a914405 jmp short 098ech ; eb a9 14437 14406 xor ax, ax ; 31 c0 14438 14407 lea sp, [bp-00ah] ; 8d 66 f6 … … 14444 14413 pop bp ; 5d 14445 14414 retn ; c3 14446 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 75h, 09ah, 053h, 09ah, 059h, 09ah, 05fh, 09ah, 065h14447 db 09ah, 0 6bh, 09ah, 071h, 09ah, 075h, 09ah14448 _ahci_init: ; 0xf99 a5LB 0x11614415 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 036h, 09ah, 014h, 09ah, 01ah, 09ah, 020h, 09ah, 026h 14416 db 09ah, 02ch, 09ah, 032h, 09ah, 036h, 09ah 14417 _ahci_init: ; 0xf9966 LB 0x116 14449 14418 push bp ; 55 14450 14419 mov bp, sp ; 89 e5 … … 14454 14423 mov ax, 00601h ; b8 01 06 14455 14424 mov dx, strict word 00001h ; ba 01 00 14456 call 09e dbh ; e8 25 0514425 call 09e9ch ; e8 25 05 14457 14426 mov bx, ax ; 89 c3 14458 14427 cmp ax, strict word 0ffffh ; 3d ff ff 14459 je near 09a b4h ; 0f 84 f5 0014428 je near 09a75h ; 0f 84 f5 00 14460 14429 xor al, al ; 30 c0 14461 14430 shr ax, 008h ; c1 e8 08 … … 14465 14434 xor ah, ah ; 30 e4 14466 14435 mov bx, strict word 00034h ; bb 34 00 14467 call 09 f2bh ; e8 56 0514436 call 09eech ; e8 56 05 14468 14437 mov cl, al ; 88 c1 14469 14438 test cl, cl ; 84 c9 14470 je short 099 feh ; 74 2314439 je short 099bfh ; 74 23 14471 14440 movzx bx, cl ; 0f b6 d9 14472 14441 movzx di, byte [bp-008h] ; 0f b6 7e f8 … … 14474 14443 mov dx, di ; 89 fa 14475 14444 mov ax, si ; 89 f0 14476 call 09 f2bh ; e8 3e 0514445 call 09eech ; e8 3e 05 14477 14446 cmp AL, strict byte 012h ; 3c 12 14478 je short 099 feh ; 74 0d14447 je short 099bfh ; 74 0d 14479 14448 mov al, cl ; 88 c8 14480 14449 db 0feh, 0c0h … … 14483 14452 mov dx, di ; 89 fa 14484 14453 mov ax, si ; 89 f0 14485 jmp short 099 d2h ; eb d414454 jmp short 09993h ; eb d4 14486 14455 test cl, cl ; 84 c9 14487 je near 09a b4h ; 0f 84 b0 0014456 je near 09a75h ; 0f 84 b0 00 14488 14457 add cl, 002h ; 80 c1 02 14489 14458 movzx bx, cl ; 0f b6 d9 … … 14492 14461 mov dx, si ; 89 f2 14493 14462 mov ax, di ; 89 f8 14494 call 09 f2bh ; e8 12 0514463 call 09eech ; e8 12 05 14495 14464 cmp AL, strict byte 010h ; 3c 10 14496 jne near 09a b4h ; 0f 85 95 0014465 jne near 09a75h ; 0f 85 95 00 14497 14466 mov byte [bp-006h], 000h ; c6 46 fa 00 14498 14467 mov al, cl ; 88 c8 … … 14501 14470 mov dx, si ; 89 f2 14502 14471 mov ax, di ; 89 f8 14503 call 09f 4fh ; e8 1e 0514472 call 09f10h ; e8 1e 05 14504 14473 mov dx, ax ; 89 c2 14505 14474 and ax, strict word 0000fh ; 25 0f 00 14506 14475 sub ax, strict word 00004h ; 2d 04 00 14507 14476 cmp ax, strict word 0000bh ; 3d 0b 00 14508 jnbe short 09a 75h ; 77 3714477 jnbe short 09a36h ; 77 37 14509 14478 push CS ; 0e 14510 14479 pop ES ; 07 14511 14480 mov cx, strict word 00008h ; b9 08 00 14512 mov di, 099 8eh ; bf 8e9914481 mov di, 0994fh ; bf 4f 99 14513 14482 repne scasb ; f2 ae 14514 14483 sal cx, 1 ; d1 e1 14515 14484 mov di, cx ; 89 cf 14516 mov ax, word [cs:di-066 6bh] ; 2e 8b 85 959914485 mov ax, word [cs:di-066aah] ; 2e 8b 85 56 99 14517 14486 jmp ax ; ff e0 14518 14487 mov byte [bp-006h], 010h ; c6 46 fa 10 14519 jmp short 09a 75h ; eb 1c14488 jmp short 09a36h ; eb 1c 14520 14489 mov byte [bp-006h], 014h ; c6 46 fa 14 14521 jmp short 09a 75h ; eb 1614490 jmp short 09a36h ; eb 16 14522 14491 mov byte [bp-006h], 018h ; c6 46 fa 18 14523 jmp short 09a 75h ; eb 1014492 jmp short 09a36h ; eb 10 14524 14493 mov byte [bp-006h], 01ch ; c6 46 fa 1c 14525 jmp short 09a 75h ; eb 0a14494 jmp short 09a36h ; eb 0a 14526 14495 mov byte [bp-006h], 020h ; c6 46 fa 20 14527 jmp short 09a 75h ; eb 0414496 jmp short 09a36h ; eb 04 14528 14497 mov byte [bp-006h], 024h ; c6 46 fa 24 14529 14498 mov cx, dx ; 89 d1 … … 14532 14501 mov al, byte [bp-006h] ; 8a 46 fa 14533 14502 test al, al ; 84 c0 14534 je short 09a b4h ; 74 3014503 je short 09a75h ; 74 30 14535 14504 movzx bx, al ; 0f b6 d8 14536 14505 movzx di, byte [bp-008h] ; 0f b6 7e f8 … … 14538 14507 mov dx, di ; 89 fa 14539 14508 mov ax, si ; 89 f0 14540 call 09f 71h ; e8 db 0414509 call 09f32h ; e8 db 04 14541 14510 test AL, strict byte 001h ; a8 01 14542 je short 09a b4h ; 74 1a14511 je short 09a75h ; 74 1a 14543 14512 and AL, strict byte 0f0h ; 24 f0 14544 14513 add ax, cx ; 01 c8 … … 14548 14517 mov dx, di ; 89 fa 14549 14518 mov ax, si ; 89 f0 14550 call 09f 98h ; e8 ea 0414519 call 09f59h ; e8 ea 04 14551 14520 mov ax, word [bp-00ch] ; 8b 46 f4 14552 call 098 3fh ; e8 8b fd14521 call 09800h ; e8 8b fd 14553 14522 lea sp, [bp-004h] ; 8d 66 fc 14554 14523 pop di ; 5f … … 14556 14525 pop bp ; 5d 14557 14526 retn ; c3 14558 apm_out_str_: ; 0xf9a bbLB 0x3914527 apm_out_str_: ; 0xf9a7c LB 0x39 14559 14528 push bp ; 55 14560 14529 mov bp, sp ; 89 e5 … … 14562 14531 mov bx, ax ; 89 c3 14563 14532 cmp byte [bx], 000h ; 80 3f 00 14564 je short 09a d0h ; 74 0a14533 je short 09a91h ; 74 0a 14565 14534 mov al, byte [bx] ; 8a 07 14566 14535 out DX, AL ; ee … … 14569 14538 db 00ah, 0c0h 14570 14539 ; or al, al ; 0a c0 14571 jne short 09a c8h ; 75 f814540 jne short 09a89h ; 75 f8 14572 14541 lea sp, [bp-002h] ; 8d 66 fe 14573 14542 pop bx ; 5b 14574 14543 pop bp ; 5d 14575 14544 retn ; c3 14576 pop SS ; 17 14545 fcomp dword [bp+si-0645ch] ; d8 9a a4 9b 14546 jmp far 0a49bh:0059ah ; ea 9a 05 9b a4 14577 14547 wait ; 9b 14578 jcxz 09a75h ; e3 9b 14579 sub word [bp+di-064bch], bx ; 29 9b 44 9b 14580 jcxz 09a7bh ; e3 9b 14581 outsw ; 6f 14548 xor byte [bp+di-0645ch], bl ; 30 9b a4 9b 14549 xor ax, 0799bh ; 35 9b 79 14582 14550 wait ; 9b 14583 jcxz 09a7fh ; e3 9b 14584 je short 09a81h ; 74 9b 14585 mov ax, 0b89bh ; b8 9b b8 14551 jns short 09a46h ; 79 9b 14552 jns short 09a48h ; 79 9b 14553 je short 09a4ah ; 74 9b 14554 jns short 09a4ch ; 79 9b 14555 jns short 09a4eh ; 79 9b 14556 insw ; 6d 14586 14557 wait ; 9b 14587 mov ax, 0b39bh ; b8 9b b3 14588 wait ; 9b 14589 mov ax, 0b89bh ; b8 9b b8 14590 wait ; 9b 14591 lodsb ; ac 14592 wait ; 9b 14593 _apm_function: ; 0xf9af4 LB 0xf5 14558 _apm_function: ; 0xf9ab5 LB 0xf5 14594 14559 push bp ; 55 14595 14560 mov bp, sp ; 89 e5 … … 14599 14564 xor ah, ah ; 30 e4 14600 14565 cmp ax, strict word 0000eh ; 3d 0e 00 14601 jnbe near 09b b8h ; 0f 87 b0 0014566 jnbe near 09b79h ; 0f 87 b0 00 14602 14567 mov bx, ax ; 89 c3 14603 14568 add bx, ax ; 01 c3 14604 14569 mov dx, word [bp+018h] ; 8b 56 18 14605 14570 or dl, 001h ; 80 ca 01 14606 jmp word [cs:bx-065 2ah] ; 2e ff a7 d69a14571 jmp word [cs:bx-06569h] ; 2e ff a7 97 9a 14607 14572 mov word [bp+012h], 00102h ; c7 46 12 02 01 14608 14573 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 14609 14574 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 14610 jmp near 09b e3h ; e9 ba 0014575 jmp near 09ba4h ; e9 ba 00 14611 14576 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14612 mov word [bp+00ch], 0a1 c4h ; c7 46 0c c4 a114577 mov word [bp+00ch], 0a184h ; c7 46 0c 84 a1 14613 14578 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 14614 14579 mov ax, strict word 0fff0h ; b8 f0 ff 14615 14580 mov word [bp+006h], ax ; 89 46 06 14616 14581 mov word [bp+004h], ax ; 89 46 04 14617 jmp near 09b e3h ; e9 9f 0014582 jmp near 09ba4h ; e9 9f 00 14618 14583 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 14619 14584 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 14628 14593 mov si, ax ; 89 c6 14629 14594 sal esi, 010h ; 66 c1 e6 10 14630 jmp near 09b e3h ; e9 74 0014595 jmp near 09ba4h ; e9 74 00 14631 14596 sti ; fb 14632 14597 hlt ; f4 14633 jmp near 09b e3h ; e9 6f 0014598 jmp near 09ba4h ; e9 6f 00 14634 14599 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 14635 je short 09b 99h ; 74 1f14600 je short 09b5ah ; 74 1f 14636 14601 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 14637 je short 09b 91h ; 74 1114602 je short 09b52h ; 74 11 14638 14603 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 14639 jne short 09b a1h ; 75 1b14604 jne short 09b62h ; 75 1b 14640 14605 mov dx, 0040fh ; ba 0f 04 14641 mov ax, 00d 84h ; b8 840d14642 call 09a bbh ; e8 2c ff14643 jmp short 09b e3h ; eb 5214606 mov ax, 00d22h ; b8 22 0d 14607 call 09a7ch ; e8 2c ff 14608 jmp short 09ba4h ; eb 52 14644 14609 mov dx, 0040fh ; ba 0f 04 14645 mov ax, 00d 8ch ; b8 8c0d14646 jmp short 09b 8ch ; eb f314610 mov ax, 00d2ah ; b8 2a 0d 14611 jmp short 09b4dh ; eb f3 14647 14612 mov dx, 0040fh ; ba 0f 04 14648 mov ax, 00d 94h ; b8 940d14649 jmp short 09b 8ch ; eb eb14613 mov ax, 00d32h ; b8 32 0d 14614 jmp short 09b4dh ; eb eb 14650 14615 or ah, 00ah ; 80 cc 0a 14651 14616 mov word [bp+012h], ax ; 89 46 12 14652 14617 mov word [bp+018h], dx ; 89 56 18 14653 jmp short 09b e3h ; eb 3714618 jmp short 09ba4h ; eb 37 14654 14619 mov word [bp+012h], 00102h ; c7 46 12 02 01 14655 jmp short 09b e3h ; eb 3014620 jmp short 09ba4h ; eb 30 14656 14621 or ah, 080h ; 80 cc 80 14657 jmp short 09b a4h ; eb ec14658 mov bx, 00 e14h ; bb 14 0e14622 jmp short 09b65h ; eb ec 14623 mov bx, 00db8h ; bb b8 0d 14659 14624 mov cx, ds ; 8c d9 14660 14625 mov ax, strict word 00004h ; b8 04 00 14661 call 01a2ah ; e8 677e14626 call 01a2ah ; e8 a6 7e 14662 14627 push word [bp+00ch] ; ff 76 0c 14663 14628 push word [bp+012h] ; ff 76 12 14664 push 00d 9dh ; 68 9d0d14629 push 00d3bh ; 68 3b 0d 14665 14630 push strict byte 00004h ; 6a 04 14666 call 01a6bh ; e8 9a7e14631 call 01a6bh ; e8 d9 7e 14667 14632 add sp, strict byte 00008h ; 83 c4 08 14668 14633 mov ax, word [bp+012h] ; 8b 46 12 … … 14675 14640 pop bp ; 5d 14676 14641 retn ; c3 14677 pci16_select_reg_: ; 0xf9b e9LB 0x2414642 pci16_select_reg_: ; 0xf9baa LB 0x24 14678 14643 push bp ; 55 14679 14644 mov bp, sp ; 89 e5 … … 14692 14657 pop bp ; 5d 14693 14658 retn ; c3 14694 pci16_find_device_: ; 0xf9 c0dLB 0xf714659 pci16_find_device_: ; 0xf9bce LB 0xf7 14695 14660 push bp ; 55 14696 14661 mov bp, sp ; 89 e5 … … 14706 14671 mov byte [bp-008h], 000h ; c6 46 f8 00 14707 14672 test bl, 007h ; f6 c3 07 14708 jne short 09c 55h ; 75 2d14673 jne short 09c16h ; 75 2d 14709 14674 mov dx, strict word 0000eh ; ba 0e 00 14710 14675 mov ax, bx ; 89 d8 14711 call 09b e9h ; e8 b9 ff14676 call 09baah ; e8 b9 ff 14712 14677 mov dx, 00cfeh ; ba fe 0c 14713 14678 in AL, DX ; ec … … 14716 14681 mov byte [bp-006h], al ; 88 46 fa 14717 14682 cmp AL, strict byte 0ffh ; 3c ff 14718 jne short 09c 43h ; 75 0614683 jne short 09c04h ; 75 06 14719 14684 add bx, strict byte 00008h ; 83 c3 08 14720 jmp near 09c d6h ; e9 93 0014685 jmp near 09c97h ; e9 93 00 14721 14686 test byte [bp-006h], 080h ; f6 46 fa 80 14722 je short 09c 50h ; 74 0714687 je short 09c11h ; 74 07 14723 14688 mov word [bp-00ah], strict word 00001h ; c7 46 f6 01 00 14724 jmp short 09c 55h ; eb 0514689 jmp short 09c16h ; eb 05 14725 14690 mov word [bp-00ah], strict word 00008h ; c7 46 f6 08 00 14726 14691 mov al, byte [bp-006h] ; 8a 46 fa 14727 14692 and AL, strict byte 007h ; 24 07 14728 14693 cmp AL, strict byte 001h ; 3c 01 14729 jne short 09c 7dh ; 75 1f14694 jne short 09c3eh ; 75 1f 14730 14695 mov ax, bx ; 89 d8 14731 14696 shr ax, 008h ; c1 e8 08 14732 14697 test ax, ax ; 85 c0 14733 jne short 09c 7dh ; 75 1614698 jne short 09c3eh ; 75 16 14734 14699 mov dx, strict word 0001ah ; ba 1a 00 14735 14700 mov ax, bx ; 89 d8 14736 call 09b e9h ; e8 7a ff14701 call 09baah ; e8 7a ff 14737 14702 mov dx, 00cfeh ; ba fe 0c 14738 14703 in AL, DX ; ec … … 14740 14705 ; sub ah, ah ; 2a e4 14741 14706 cmp al, byte [bp-008h] ; 3a 46 f8 14742 jbe short 09c 7dh ; 76 0314707 jbe short 09c3eh ; 76 03 14743 14708 mov byte [bp-008h], al ; 88 46 f8 14744 14709 test di, di ; 85 ff 14745 je short 09c 86h ; 74 0514710 je short 09c47h ; 74 05 14746 14711 mov dx, strict word 00008h ; ba 08 00 14747 jmp short 09c 88h ; eb 0214712 jmp short 09c49h ; eb 02 14748 14713 xor dx, dx ; 31 d2 14749 14714 mov ax, bx ; 89 d8 14750 call 09b e9h ; e8 5c ff14715 call 09baah ; e8 5c ff 14751 14716 mov dx, 00cfch ; ba fc 0c 14752 14717 in eax, DX ; 66 ed … … 14759 14724 mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00 14760 14725 test di, di ; 85 ff 14761 je short 09c b7h ; 74 0f14726 je short 09c78h ; 74 0f 14762 14727 mov cx, strict word 00008h ; b9 08 00 14763 14728 shr dx, 1 ; d1 ea 14764 14729 rcr ax, 1 ; d1 d8 14765 loop 09c abh ; e2 fa14730 loop 09c6ch ; e2 fa 14766 14731 mov word [bp-00eh], ax ; 89 46 f2 14767 14732 mov word [bp-00ch], dx ; 89 56 f4 14768 14733 mov ax, word [bp-00ch] ; 8b 46 f4 14769 14734 cmp ax, word [bp-014h] ; 3b 46 ec 14770 jne short 09c c7h ; 75 0814735 jne short 09c88h ; 75 08 14771 14736 mov ax, word [bp-00eh] ; 8b 46 f2 14772 14737 cmp ax, word [bp-012h] ; 3b 46 ee 14773 je short 09c cdh ; 74 0614738 je short 09c8eh ; 74 06 14774 14739 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 14775 je short 09c d3h ; 74 0614740 je short 09c94h ; 74 06 14776 14741 dec si ; 4e 14777 14742 cmp si, strict byte 0ffffh ; 83 fe ff 14778 je short 09c e5h ; 74 1214743 je short 09ca6h ; 74 12 14779 14744 add bx, word [bp-00ah] ; 03 5e f6 14780 14745 mov dx, bx ; 89 da … … 14782 14747 movzx ax, byte [bp-008h] ; 0f b6 46 f8 14783 14748 cmp dx, ax ; 39 c2 14784 jbe near 09 c23h ; 0f 86 3e ff14749 jbe near 09be4h ; 0f 86 3e ff 14785 14750 cmp si, strict byte 0ffffh ; 83 fe ff 14786 jne short 09c eeh ; 75 0414751 jne short 09cafh ; 75 04 14787 14752 mov ax, bx ; 89 d8 14788 jmp short 09c f1h ; eb 0314753 jmp short 09cb2h ; eb 03 14789 14754 mov ax, strict word 0ffffh ; b8 ff ff 14790 14755 lea sp, [bp-004h] ; 8d 66 fc … … 14793 14758 pop bp ; 5d 14794 14759 retn ; c3 14795 out strict byte 09dh, AL ; e6 9d 14796 add byte [bp-061edh], bl ; 00 9e 13 9e 14797 sub byte [bp-061c5h], bl ; 28 9e 3b 9e 14798 dec si ; 4e 14760 cmpsw ; a7 14761 popfw ; 9d 14762 rcr word [di-0622ch], 0e9h ; c1 9d d4 9d e9 14763 popfw ; 9d 14764 cld ; fc 14765 popfw ; 9d 14766 db 00fh 14799 14767 sahf ; 9e 14800 _pci16_function: ; 0xf9 d04LB 0x1d714768 _pci16_function: ; 0xf9cc5 LB 0x1d7 14801 14769 push bp ; 55 14802 14770 mov bp, sp ; 89 e5 … … 14812 14780 xor ah, ah ; 30 e4 14813 14781 cmp bx, strict byte 00003h ; 83 fb 03 14814 jc short 09 d3dh ; 72 1a14815 jbe short 09d 95h ; 76 7014782 jc short 09cfeh ; 72 1a 14783 jbe short 09d56h ; 76 70 14816 14784 cmp bx, strict byte 0000eh ; 83 fb 0e 14817 je near 09e 62h ; 0f 84 36 0114785 je near 09e23h ; 0f 84 36 01 14818 14786 cmp bx, strict byte 00008h ; 83 fb 08 14819 jc near 09e a7h ; 0f 82 74 0114787 jc near 09e68h ; 0f 82 74 01 14820 14788 cmp bx, strict byte 0000dh ; 83 fb 0d 14821 jbe near 09d bah ; 0f 86 80 0014822 jmp near 09e a7h ; e9 6a 0114789 jbe near 09d7bh ; 0f 86 80 00 14790 jmp near 09e68h ; e9 6a 01 14823 14791 cmp bx, strict byte 00002h ; 83 fb 02 14824 je short 09d 65h ; 74 2314792 je short 09d26h ; 74 23 14825 14793 cmp bx, strict byte 00001h ; 83 fb 01 14826 jne near 09e a7h ; 0f 85 5e 0114794 jne near 09e68h ; 0f 85 5e 01 14827 14795 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 14828 14796 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 14830 14798 mov word [bp+018h], 04350h ; c7 46 18 50 43 14831 14799 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 14832 jmp near 09e d4h ; e9 6f 0114800 jmp near 09e95h ; e9 6f 01 14833 14801 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 14834 jne short 09d 71h ; 75 0614802 jne short 09d32h ; 75 06 14835 14803 or ah, 083h ; 80 cc 83 14836 jmp near 09e cdh ; e9 5c 0114804 jmp near 09e8eh ; e9 5c 01 14837 14805 mov bx, word [bp+008h] ; 8b 5e 08 14838 14806 mov dx, word [bp+01ch] ; 8b 56 1c 14839 14807 mov ax, word [bp+018h] ; 8b 46 18 14840 14808 xor cx, cx ; 31 c9 14841 call 09 c0dh ; e8 8e fe14809 call 09bceh ; e8 8e fe 14842 14810 cmp ax, strict word 0ffffh ; 3d ff ff 14843 jne short 09d 8fh ; 75 0b14811 jne short 09d50h ; 75 0b 14844 14812 mov ax, word [bp+020h] ; 8b 46 20 14845 14813 xor ah, ah ; 30 e4 14846 14814 or ah, 086h ; 80 cc 86 14847 jmp near 09e cdh ; e9 3e 0114815 jmp near 09e8eh ; e9 3e 01 14848 14816 mov word [bp+014h], ax ; 89 46 14 14849 jmp near 09e d4h ; e9 3f 0114817 jmp near 09e95h ; e9 3f 01 14850 14818 mov bx, word [bp+008h] ; 8b 5e 08 14851 14819 mov ax, word [bp+01ch] ; 8b 46 1c 14852 14820 mov dx, word [bp+01eh] ; 8b 56 1e 14853 14821 mov cx, strict word 00001h ; b9 01 00 14854 call 09 c0dh ; e8 69 fe14822 call 09bceh ; e8 69 fe 14855 14823 cmp ax, strict word 0ffffh ; 3d ff ff 14856 jne short 09d b4h ; 75 0b14824 jne short 09d75h ; 75 0b 14857 14825 mov ax, word [bp+020h] ; 8b 46 20 14858 14826 xor ah, ah ; 30 e4 14859 14827 or ah, 086h ; 80 cc 86 14860 jmp near 09e cdh ; e9 19 0114828 jmp near 09e8eh ; e9 19 01 14861 14829 mov word [bp+014h], ax ; 89 46 14 14862 jmp near 09e d4h ; e9 1a 0114830 jmp near 09e95h ; e9 1a 01 14863 14831 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 14864 jc short 09d c7h ; 72 0614832 jc short 09d88h ; 72 06 14865 14833 or ah, 087h ; 80 cc 87 14866 jmp near 09e cdh ; e9 06 0114834 jmp near 09e8eh ; e9 06 01 14867 14835 mov dx, word [bp+004h] ; 8b 56 04 14868 14836 mov ax, word [bp+014h] ; 8b 46 14 14869 call 09b e9h ; e8 19 fe14837 call 09baah ; e8 19 fe 14870 14838 mov bx, word [bp+020h] ; 8b 5e 20 14871 14839 xor bh, bh ; 30 ff 14872 14840 sub bx, strict byte 00008h ; 83 eb 08 14873 14841 cmp bx, strict byte 00005h ; 83 fb 05 14874 jnbe near 09e d4h ; 0f 87 f5 0014842 jnbe near 09e95h ; 0f 87 f5 00 14875 14843 add bx, bx ; 01 db 14876 jmp word [cs:bx-063 08h] ; 2e ff a7 f89c14844 jmp word [cs:bx-06347h] ; 2e ff a7 b9 9c 14877 14845 mov bx, word [bp+01ch] ; 8b 5e 1c 14878 14846 xor bl, bl ; 30 db … … 14885 14853 or bx, ax ; 09 c3 14886 14854 mov word [bp+01ch], bx ; 89 5e 1c 14887 jmp near 09e d4h ; e9 d4 0014855 jmp near 09e95h ; e9 d4 00 14888 14856 mov dx, word [bp+004h] ; 8b 56 04 14889 14857 xor dh, dh ; 30 f6 … … 14892 14860 in ax, DX ; ed 14893 14861 mov word [bp+01ch], ax ; 89 46 1c 14894 jmp near 09e d4h ; e9 c1 0014862 jmp near 09e95h ; e9 c1 00 14895 14863 mov dx, 00cfch ; ba fc 0c 14896 14864 in eax, DX ; 66 ed … … 14901 14869 mov word [bp+01ch], ax ; 89 46 1c 14902 14870 mov word [bp+01eh], dx ; 89 56 1e 14903 jmp near 09e d4h ; e9 ac 0014871 jmp near 09e95h ; e9 ac 00 14904 14872 mov ax, word [bp+01ch] ; 8b 46 1c 14905 14873 mov dx, word [bp+004h] ; 8b 56 04 … … 14908 14876 add dx, 00cfch ; 81 c2 fc 0c 14909 14877 out DX, AL ; ee 14910 jmp near 09e d4h ; e9 99 0014878 jmp near 09e95h ; e9 99 00 14911 14879 mov ax, word [bp+01ch] ; 8b 46 1c 14912 14880 mov dx, word [bp+004h] ; 8b 56 04 … … 14915 14883 add dx, 00cfch ; 81 c2 fc 0c 14916 14884 out DX, ax ; ef 14917 jmp near 09e d4h ; e9 86 0014885 jmp near 09e95h ; e9 86 00 14918 14886 mov ax, word [bp+01ch] ; 8b 46 1c 14919 14887 mov cx, word [bp+01eh] ; 8b 4e 1e … … 14924 14892 ; mov ax, cx ; 8b c1 14925 14893 out DX, eax ; 66 ef 14926 jmp short 09e d4h ; eb 7214894 jmp short 09e95h ; eb 72 14927 14895 mov bx, word [bp+004h] ; 8b 5e 04 14928 14896 mov es, [bp+026h] ; 8e 46 26 … … 14931 14899 mov cx, word [0f370h] ; 8b 0e 70 f3 14932 14900 cmp cx, word [es:bx] ; 26 3b 0f 14933 jbe short 09e 88h ; 76 1114901 jbe short 09e49h ; 76 11 14934 14902 mov ax, word [bp+020h] ; 8b 46 20 14935 14903 xor ah, ah ; 30 e4 … … 14937 14905 mov word [bp+020h], ax ; 89 46 20 14938 14906 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 14939 jmp short 09e 9ch ; eb 1414907 jmp short 09e5dh ; eb 14 14940 14908 les di, [es:bx+002h] ; 26 c4 7f 02 14941 14909 mov si, 0f190h ; be 90 f1 … … 14949 14917 les bx, [bp-008h] ; c4 5e f8 14950 14918 mov word [es:bx], ax ; 26 89 07 14951 jmp short 09e d4h ; eb 2d14952 mov bx, 00 e14h ; bb 14 0e14919 jmp short 09e95h ; eb 2d 14920 mov bx, 00db8h ; bb b8 0d 14953 14921 mov cx, ds ; 8c d9 14954 14922 mov ax, strict word 00004h ; b8 04 00 14955 call 01a2ah ; e8 787b14923 call 01a2ah ; e8 b7 7b 14956 14924 mov ax, word [bp+014h] ; 8b 46 14 14957 14925 push ax ; 50 14958 14926 mov ax, word [bp+020h] ; 8b 46 20 14959 14927 push ax ; 50 14960 push 00d d0h ; 68 d00d14928 push 00d6eh ; 68 6e 0d 14961 14929 push strict byte 00004h ; 6a 04 14962 call 01a6bh ; e8 a97b14930 call 01a6bh ; e8 e8 7b 14963 14931 add sp, strict byte 00008h ; 83 c4 08 14964 14932 mov ax, word [bp+020h] ; 8b 46 20 … … 14972 14940 pop bp ; 5d 14973 14941 retn ; c3 14974 pci_find_classcode_: ; 0xf9e dbLB 0x2b14942 pci_find_classcode_: ; 0xf9e9c LB 0x2b 14975 14943 push bp ; 55 14976 14944 mov bp, sp ; 89 e5 … … 14987 14955 int 01ah ; cd 1a 14988 14956 cmp ah, 000h ; 80 fc 00 14989 je near 09e fch ; 0f 84 03 0014957 je near 09ebdh ; 0f 84 03 00 14990 14958 mov bx, strict word 0ffffh ; bb ff ff 14991 14959 mov ax, bx ; 89 d8 … … 14996 14964 pop bp ; 5d 14997 14965 retn ; c3 14998 pci_find_device_: ; 0xf9 f06LB 0x2514966 pci_find_device_: ; 0xf9ec7 LB 0x25 14999 14967 push bp ; 55 15000 14968 mov bp, sp ; 89 e5 … … 15008 14976 int 01ah ; cd 1a 15009 14977 cmp ah, 000h ; 80 fc 00 15010 je near 09 f21h ; 0f 84 03 0014978 je near 09ee2h ; 0f 84 03 00 15011 14979 mov bx, strict word 0ffffh ; bb ff ff 15012 14980 mov ax, bx ; 89 d8 … … 15017 14985 pop bp ; 5d 15018 14986 retn ; c3 15019 pci_read_config_byte_: ; 0xf9 f2bLB 0x2414987 pci_read_config_byte_: ; 0xf9eec LB 0x24 15020 14988 push bp ; 55 15021 14989 mov bp, sp ; 89 e5 … … 15036 15004 pop bp ; 5d 15037 15005 retn ; c3 15038 pci_read_config_word_: ; 0xf9f 4fLB 0x2215006 pci_read_config_word_: ; 0xf9f10 LB 0x22 15039 15007 push bp ; 55 15040 15008 mov bp, sp ; 89 e5 … … 15055 15023 pop bp ; 5d 15056 15024 retn ; c3 15057 pci_read_config_dword_: ; 0xf9f 71LB 0x2715025 pci_read_config_dword_: ; 0xf9f32 LB 0x27 15058 15026 push bp ; 55 15059 15027 mov bp, sp ; 89 e5 … … 15076 15044 pop bp ; 5d 15077 15045 retn ; c3 15078 pci_write_config_word_: ; 0xf9f 98LB 0x1c15046 pci_write_config_word_: ; 0xf9f59 LB 0x1c 15079 15047 push bp ; 55 15080 15048 mov bp, sp ; 89 e5 … … 15091 15059 pop bp ; 5d 15092 15060 retn ; c3 15093 vds_is_present_: ; 0xf9f b4LB 0x1d15061 vds_is_present_: ; 0xf9f75 LB 0x1d 15094 15062 push bx ; 53 15095 15063 push bp ; 55 … … 15099 15067 mov es, ax ; 8e c0 15100 15068 test byte [es:bx], 020h ; 26 f6 07 20 15101 je short 09f cch ; 74 0615069 je short 09f8dh ; 74 06 15102 15070 mov ax, strict word 00001h ; b8 01 00 15103 15071 pop bp ; 5d … … 15108 15076 pop bx ; 5b 15109 15077 retn ; c3 15110 vds_real_to_lin_: ; 0xf9f d1LB 0x1e15078 vds_real_to_lin_: ; 0xf9f92 LB 0x1e 15111 15079 push bx ; 53 15112 15080 push cx ; 51 … … 15119 15087 sal ax, 1 ; d1 e0 15120 15088 rcl dx, 1 ; d1 d2 15121 loop 09f dfh ; e2 fa15089 loop 09fa0h ; e2 fa 15122 15090 xor cx, cx ; 31 c9 15123 15091 add ax, bx ; 01 d8 … … 15127 15095 pop bx ; 5b 15128 15096 retn ; c3 15129 vds_build_sg_list_: ; 0xf9f efLB 0x7915097 vds_build_sg_list_: ; 0xf9fb0 LB 0x79 15130 15098 push bp ; 55 15131 15099 mov bp, sp ; 89 e5 … … 15141 15109 mov bx, word [bp+006h] ; 8b 5e 06 15142 15110 mov word [es:di+002h], bx ; 26 89 5d 02 15143 call 09f d1h ; e8 c3 ff15111 call 09f92h ; e8 c3 ff 15144 15112 mov es, si ; 8e c6 15145 15113 mov word [es:di+004h], ax ; 26 89 45 04 15146 15114 mov word [es:di+006h], dx ; 26 89 55 06 15147 15115 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 15148 call 09f b4h ; e8 93 ff15116 call 09f75h ; e8 93 ff 15149 15117 test ax, ax ; 85 c0 15150 je short 0 a038h ; 74 1315118 je short 09ff9h ; 74 13 15151 15119 mov es, si ; 8e c6 15152 15120 mov ax, 08105h ; b8 05 81 15153 15121 mov dx, strict word 00000h ; ba 00 00 15154 15122 int 04bh ; cd 4b 15155 jc near 0 a035h ; 0f 82 02 0015123 jc near 09ff6h ; 0f 82 02 00 15156 15124 db 032h, 0c0h 15157 15125 ; xor al, al ; 32 c0 15158 15126 cbw ; 98 15159 jmp short 0a0 5fh ; eb 2715127 jmp short 0a020h ; eb 27 15160 15128 mov es, si ; 8e c6 15161 15129 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 15174 15142 pop bp ; 5d 15175 15143 retn 00004h ; c2 04 00 15176 vds_free_sg_list_: ; 0xfa0 68 LB 0x3815144 vds_free_sg_list_: ; 0xfa029 LB 0x37 15177 15145 push bp ; 55 15178 15146 mov bp, sp ; 89 e5 … … 15180 15148 push di ; 57 15181 15149 mov bx, ax ; 89 c3 15182 call 09f b4h ; e8 42 ff15150 call 09f75h ; e8 42 ff 15183 15151 test ax, ax ; 85 c0 15184 je short 0a0 89h ; 74 1315152 je short 0a04ah ; 74 13 15185 15153 mov di, bx ; 89 df 15186 15154 mov es, dx ; 8e c2 … … 15188 15156 mov dx, strict word 00000h ; ba 00 00 15189 15157 int 04bh ; cd 4b 15190 jc near 0a0 88h ; 0f 82 02 0015158 jc near 0a049h ; 0f 82 02 00 15191 15159 db 032h, 0c0h 15192 15160 ; xor al, al ; 32 c0 … … 15199 15167 pop bp ; 5d 15200 15168 retn ; c3 15201 times 0x 8db 015202 __U4M: ; 0xfa0 a0 LB 0x4015169 times 0x7 db 0 15170 __U4M: ; 0xfa060 LB 0x40 15203 15171 pushfw ; 9c 15204 15172 push eax ; 66 50 … … 15226 15194 retn ; c3 15227 15195 times 0xf db 0 15228 __U4D: ; 0xfa0 e0 LB 0x4015196 __U4D: ; 0xfa0a0 LB 0x40 15229 15197 pushfw ; 9c 15230 15198 push eax ; 66 50 … … 15257 15225 retn ; c3 15258 15226 times 0x7 db 0 15259 __U8RS: ; 0xfa 120 LB 0x1015227 __U8RS: ; 0xfa0e0 LB 0x10 15260 15228 test si, si ; 85 f6 15261 je short 0a 12fh ; 74 0b15229 je short 0a0efh ; 74 0b 15262 15230 shr ax, 1 ; d1 e8 15263 15231 rcr bx, 1 ; d1 db … … 15265 15233 rcr dx, 1 ; d1 da 15266 15234 dec si ; 4e 15267 jne short 0a 124h ; 75 f515235 jne short 0a0e4h ; 75 f5 15268 15236 retn ; c3 15269 __U8LS: ; 0xfa 130 LB 0x1015237 __U8LS: ; 0xfa0f0 LB 0x10 15270 15238 test si, si ; 85 f6 15271 je short 0a 13fh ; 74 0b15239 je short 0a0ffh ; 74 0b 15272 15240 sal dx, 1 ; d1 e2 15273 15241 rcl cx, 1 ; d1 d1 … … 15275 15243 rcl ax, 1 ; d1 d0 15276 15244 dec si ; 4e 15277 jne short 0a 134h ; 75 f515245 jne short 0a0f4h ; 75 f5 15278 15246 retn ; c3 15279 _fmemset_: ; 0xfa1 40 LB 0x1015247 _fmemset_: ; 0xfa100 LB 0x10 15280 15248 push di ; 57 15281 15249 mov es, dx ; 8e c2 … … 15288 15256 retn ; c3 15289 15257 times 0x3 db 0 15290 _fmemcpy_: ; 0xfa1 50 LB 0x3a15258 _fmemcpy_: ; 0xfa110 LB 0x3a 15291 15259 push bp ; 55 15292 15260 db 08bh, 0ech … … 15313 15281 add byte [bx+si], al ; 00 00 15314 15282 add byte [bx+si], al ; 00 00 15315 mov AL, byte [0a2a1h] ; a0 a1 a2 15316 mov ax, word [0a1a6h] ; a1 a6 a1 15317 cmpsb ; a6 15318 mov ax, word [0a1a6h] ; a1 a6 a1 15319 test AL, strict byte 0a1h ; a8 a1 15320 test AL, strict byte 0a1h ; a8 a1 15321 stosb ; aa 15322 mov ax, word [0a1aeh] ; a1 ae a1 15323 scasb ; ae 15324 mov ax, word [0a1b0h] ; a1 b0 a1 15325 mov CH, strict byte 0a1h ; b5 a1 15326 mov BH, strict byte 0a1h ; b7 a1 15327 apm_worker: ; 0xfa18a LB 0x3a 15283 pushaw ; 60 15284 mov ax, word [0a162h] ; a1 62 a1 15285 mov eax, dword [0a166h] ; 66 a1 66 a1 15286 mov eax, dword [0a168h] ; 66 a1 68 a1 15287 push 06aa1h ; 68 a1 6a 15288 mov ax, word [0a16eh] ; a1 6e a1 15289 outsb ; 6e 15290 mov ax, word [0a170h] ; a1 70 a1 15291 jne short 0a0e9h ; 75 a1 15292 jnbe short 0a0ebh ; 77 a1 15293 apm_worker: ; 0xfa14a LB 0x3a 15328 15294 sti ; fb 15329 15295 push ax ; 50 … … 15337 15303 pop ax ; 58 15338 15304 mov AH, strict byte 053h ; b4 53 15339 jnc short 0a1 c0h ; 73 2515340 jmp word [cs:bp-05e 90h] ; 2e ff a6 70 a115341 jmp short 0a1 beh ; eb 1c15305 jnc short 0a180h ; 73 25 15306 jmp word [cs:bp-05ed0h] ; 2e ff a6 30 a1 15307 jmp short 0a17eh ; eb 1c 15342 15308 sti ; fb 15343 15309 hlt ; f4 15344 jmp short 0a1 beh ; eb 1815345 jmp short 0a1 beh ; eb 1615346 jmp short 0a1 c0h ; eb 1615310 jmp short 0a17eh ; eb 18 15311 jmp short 0a17eh ; eb 16 15312 jmp short 0a180h ; eb 16 15347 15313 mov AH, strict byte 080h ; b4 80 15348 jmp short 0a1 c2h ; eb 1415349 jmp short 0a1 c0h ; eb 1015314 jmp short 0a182h ; eb 14 15315 jmp short 0a180h ; eb 10 15350 15316 mov ax, 00102h ; b8 02 01 15351 jmp short 0a1 beh ; eb 0915352 jmp short 0a1 beh ; eb 0715317 jmp short 0a17eh ; eb 09 15318 jmp short 0a17eh ; eb 07 15353 15319 mov BL, strict byte 000h ; b3 00 15354 15320 mov cx, strict word 00000h ; b9 00 00 15355 jmp short 0a1 beh ; eb 0015321 jmp short 0a17eh ; eb 00 15356 15322 clc ; f8 15357 15323 retn ; c3 … … 15359 15325 stc ; f9 15360 15326 retn ; c3 15361 apm_pm16_entry: ; 0xfa1 c4 LB 0x1115327 apm_pm16_entry: ; 0xfa184 LB 0x11 15362 15328 mov AH, strict byte 002h ; b4 02 15363 15329 push DS ; 1e … … 15367 15333 add bp, strict byte 00008h ; 83 c5 08 15368 15334 mov ds, bp ; 8e dd 15369 call 0a1 8ah ; e8 b8 ff15335 call 0a14ah ; e8 b8 ff 15370 15336 pop bp ; 5d 15371 15337 pop DS ; 1f 15372 15338 retf ; cb 15373 15339 15374 ; Padding 0x38 2b bytes at 0xfa1d515375 times 14 379db 015340 ; Padding 0x386b bytes at 0xfa195 15341 times 14443 db 0 15376 15342 15377 15343 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 15420 15386 add bp, strict byte 00008h ; 83 c5 08 15421 15387 push ebp ; 66 55 15422 mov bp, 0a1 c6h ; bd c6 a115388 mov bp, 0a186h ; bd 86 a1 15423 15389 add byte [bx+si], al ; 00 00 15424 15390 push ebp ; 66 55 … … 16155 16121 call 01da8h ; e8 65 3a 16156 16122 call 02235h ; e8 ef 3e 16157 call 099 a5h ; e8 5cb616158 call 088 6eh ; e8 22 a516123 call 09966h ; e8 1d b6 16124 call 0882fh ; e8 e3 a4 16159 16125 call 0ed2fh ; e8 e0 09 16160 16126 call 0e2d2h ; e8 80 ff … … 16312 16278 out strict byte 0a1h, AL ; e6 a1 16313 16279 retn ; c3 16314 ebda_post: ; 0xfe778 LB 0x 4516280 ebda_post: ; 0xfe778 LB 0x51 16315 16281 mov ax, 0e746h ; b8 46 e7 16316 16282 mov word [00034h], ax ; a3 34 00 … … 16326 16292 mov word [001cah], ax ; a3 ca 01 16327 16293 mov ax, 0e746h ; b8 46 e7 16294 mov word [001cch], ax ; a3 cc 01 16295 mov ax, 0f000h ; b8 00 f0 16296 mov word [001ceh], ax ; a3 ce 01 16297 mov ax, 0e746h ; b8 46 e7 16328 16298 mov word [001dch], ax ; a3 dc 01 16329 16299 mov ax, 0f000h ; b8 00 f0 … … 16337 16307 mov word [0040eh], 09fc0h ; c7 06 0e 04 c0 9f 16338 16308 retn ; c3 16339 biosorg_check_before_or_at_0E82Ch: ; 0xfe7 bd LB 0x7116340 times 0x6 fdb 016309 biosorg_check_before_or_at_0E82Ch: ; 0xfe7c9 LB 0x65 16310 times 0x63 db 0 16341 16311 db 'XM' 16342 16312 biosorg_check_at_0E82Eh: ; 0xfe82e LB 0x3d … … 17044 17014 popfw ; 9d 17045 17015 jmp short 0f8a7h ; eb 13 17046 call 09a f4h ; e8 5da217016 call 09ab5h ; e8 1e a2 17047 17017 jmp short 0f88eh ; eb f5 17048 17018 int15_handler_mouse: ; 0xff899 LB 0x5 … … 17198 17168 cld ; fc 17199 17169 pushad ; 66 60 17200 call 09 d04h ; e8 879e17170 call 09cc5h ; e8 48 9e 17201 17171 popad ; 66 61 17202 17172 pop DS ; 1f … … 17312 17282 cpu_reset: ; 0xffff0 LB 0x10 17313 17283 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 17314 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0 37h17284 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 020h -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative386.md5sum
r67807 r68290 1 f85d1e93260947edc3616ca0a94b2b5f*VBoxPcBios386.rom1 c1a8ae98c9a136255d8b6646740f698c *VBoxPcBios386.rom -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.asm
r67807 r68290 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, 00bh, 082h, 0 33h, 092h990 db 000h, 000h, 000h, 000h, 000h, 000h, 0a1h, 02bh, 00bh, 082h, 0ech, 091h 991 991 _softrst: ; 0xf0076 LB 0xc 992 992 db 000h, 000h, 000h, 000h, 000h, 000h, 02ch, 02eh, 02eh, 03ch, 02eh, 03ch 993 993 _dskacc: ; 0xf0082 LB 0x2e 994 994 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 02ah, 046h, 02bh, 000h, 000h, 000h, 000h 995 db 039h, 080h, 022h, 081h, 0 01h, 091h, 0abh, 091h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h995 db 039h, 080h, 022h, 081h, 0bah, 090h, 064h, 091h, 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 998 section CONST progbits vstart=0xb0 align=1 ; size=0x d40class=DATA group=DGROUP998 section CONST progbits vstart=0xb0 align=1 ; size=0xcde class=DATA group=DGROUP 999 999 db 'NMI Handler called', 00ah, 000h 1000 1000 db 'INT18: BOOT FAILURE', 00ah, 000h … … 1101 1101 db 'Disk %d has an unsupported sector size of %u', 00ah, 000h 1102 1102 db 'SCSI %d-ID#%d: LCHS=%lu/%u/%u 0x%llx sectors', 00ah, 000h 1103 db 'SCSI %d-ID#%d: CD/DVD-ROM', 00ah, 000h 1104 db 'scsi_pci_init', 000h 1105 db '%s: Adapter %x:%x not found, how come?!', 00ah, 000h 1106 db '%s: Adapter %x:%x found at %x, enabling BM', 00ah, 000h 1103 db 'SCSI %d-ID#%d: CD/DVD-ROM', 00ah, 000h, 000h 1107 1104 db 'ahci_read_sectors', 000h 1108 1105 db '%s: device_id out of range %d', 00ah, 000h … … 1117 1114 db 'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h 1118 1115 1119 section CONST2 progbits vstart=0xd f0 align=1 ; size=0x3faclass=DATA group=DGROUP1120 _bios_cvs_version_string: ; 0xf0d f0 LB 0x121121 db 'VirtualBox 5. 1.51', 000h1122 _bios_prefix_string: ; 0xf0 e02LB 0x81116 section CONST2 progbits vstart=0xd8e align=1 ; size=0x400 class=DATA group=DGROUP 1117 _bios_cvs_version_string: ; 0xf0d8e LB 0x18 1118 db 'VirtualBox 5.2.0_BETA1', 000h, 000h 1119 _bios_prefix_string: ; 0xf0da6 LB 0x8 1123 1120 db 'BIOS: ', 000h, 000h 1124 _isotag: ; 0xf0 e0aLB 0x61121 _isotag: ; 0xf0dae LB 0x6 1125 1122 db 'CD001', 000h 1126 _eltorito: ; 0xf0 e10LB 0x181123 _eltorito: ; 0xf0db4 LB 0x18 1127 1124 db 'EL TORITO SPECIFICATION', 000h 1128 _drivetypes: ; 0xf0 e28LB 0x281125 _drivetypes: ; 0xf0dcc LB 0x28 1129 1126 db 046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h 1130 1127 db 069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h 1131 1128 db 04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h 1132 _scan_to_scanascii: ; 0xf0 e50LB 0x37a1129 _scan_to_scanascii: ; 0xf0df4 LB 0x37a 1133 1130 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h 1134 1131 db 000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h … … 1187 1184 db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h 1188 1185 db 000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h 1189 _panic_msg_keyb_buffer_full: ; 0xf11 caLB 0x201186 _panic_msg_keyb_buffer_full: ; 0xf116e LB 0x20 1190 1187 db '%s: keyboard input buffer full', 00ah, 000h 1191 1188 1192 ; Padding 0x4 16 bytes at 0xf11ea1193 times 1 046db 01189 ; Padding 0x472 bytes at 0xf118e 1190 times 1138 db 0 1194 1191 1195 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8 f08 class=CODE group=AUTO1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8ec8 class=CODE group=AUTO 1196 1193 rom_scan_: ; 0xf1600 LB 0x52 1197 1194 push bp ; 55 … … 1421 1418 push bp ; 55 1422 1419 mov bp, sp ; 89 e5 1423 mov bx, 00 e02h ; bb 02 0e1420 mov bx, 00da6h ; bb a6 0d 1424 1421 mov cx, ds ; 8c d9 1425 1422 mov ax, strict word 00004h ; b8 04 00 1426 1423 call 01933h ; e8 b0 01 1427 mov ax, 00d f0h ; b8 f00d1424 mov ax, 00d8eh ; b8 8e 0d 1428 1425 push ax ; 50 1429 1426 mov ax, 000d9h ; b8 d9 00 … … 1599 1596 mov bx, strict word 0000ah ; bb 0a 00 1600 1597 xor cx, cx ; 31 c9 1601 call 0a1 a0h ; e8 c3 881598 call 0a160h ; e8 83 88 1602 1599 mov word [bp-008h], ax ; 89 46 f8 1603 1600 mov cx, dx ; 89 d1 … … 1836 1833 mov dx, word [bp-026h] ; 8b 56 da 1837 1834 mov si, word [bp-01eh] ; 8b 76 e2 1838 call 0a1 d0h ; e8 b8 861835 call 0a190h ; e8 78 86 1839 1836 mov ax, dx ; 89 d0 1840 1837 xor ah, dh ; 30 f4 … … 2297 2294 mov dx, word [es:si] ; 26 8b 14 2298 2295 mov si, strict word 00018h ; be 18 00 2299 call 0a1 d0h ; e8 3e 822296 call 0a190h ; e8 fe 81 2300 2297 xor dh, dh ; 30 f6 2301 2298 mov word [bp-014h], dx ; 89 56 ec … … 2307 2304 mov dx, word [es:si] ; 26 8b 14 2308 2305 mov si, strict word 00020h ; be 20 00 2309 call 0a1 d0h ; e8 1e 822306 call 0a190h ; e8 de 81 2310 2307 mov bx, dx ; 89 d3 2311 2308 mov word [bp-010h], dx ; 89 56 f0 … … 2339 2336 mov dx, word [es:si] ; 26 8b 14 2340 2337 mov si, strict word 00008h ; be 08 00 2341 call 0a1 d0h ; e8 cb 812338 call 0a190h ; e8 8b 81 2342 2339 mov word [bp-010h], dx ; 89 56 f0 2343 2340 mov bx, word [bp-016h] ; 8b 5e ea … … 2348 2345 mov dx, word [es:si] ; 26 8b 14 2349 2346 mov si, strict word 00018h ; be 18 00 2350 call 0a1 d0h ; e8 ad 812347 call 0a190h ; e8 6d 81 2351 2348 mov bl, dl ; 88 d3 2352 2349 and bl, 00fh ; 80 e3 0f … … 2745 2742 lea ax, [bp-03eh] ; 8d 46 c2 2746 2743 call 05b7fh ; e8 7e 37 2747 mov bx, 00 e02h ; bb 02 0e2744 mov bx, 00da6h ; bb a6 0d 2748 2745 mov cx, ds ; 8c d9 2749 2746 mov ax, strict word 00004h ; b8 04 00 … … 2926 2923 mov dx, word [es:di+036h] ; 26 8b 55 36 2927 2924 mov si, strict word 0000bh ; be 0b 00 2928 call 0a1 d0h ; e8 d1 7b2925 call 0a190h ; e8 91 7b 2929 2926 mov word [bp-02ah], dx ; 89 56 d6 2930 2927 mov word [bp-026h], cx ; 89 4e da … … 3218 3215 mov dx, word [bp-022h] ; 8b 56 de 3219 3216 mov si, strict word 00018h ; be 18 00 3220 call 0a1 d0h ; e8 f4 783217 call 0a190h ; e8 b4 78 3221 3218 xor dh, dh ; 30 f6 3222 3219 mov word [bp-014h], dx ; 89 56 ec … … 3226 3223 mov dx, word [bp-022h] ; 8b 56 de 3227 3224 mov si, strict word 00020h ; be 20 00 3228 call 0a1 d0h ; e8 dd 783225 call 0a190h ; e8 9d 78 3229 3226 mov bx, dx ; 89 d3 3230 3227 mov word [bp-024h], dx ; 89 56 dc … … 3260 3257 mov dx, word [bp-022h] ; 8b 56 de 3261 3258 mov si, strict word 00008h ; be 08 00 3262 call 0a1 d0h ; e8 89 783259 call 0a190h ; e8 49 78 3263 3260 mov word [bp-00ch], ax ; 89 46 f4 3264 3261 mov word [bp-020h], bx ; 89 5e e0 … … 3267 3264 mov word [bp-024h], dx ; 89 56 dc 3268 3265 mov si, strict word 00010h ; be 10 00 3269 call 0a1 d0h ; e8 74 783266 call 0a190h ; e8 34 78 3270 3267 mov word [bp-022h], dx ; 89 56 de 3271 3268 mov ax, dx ; 89 d0 … … 3534 3531 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 3535 3532 jne short 02bf6h ; 75 23 3536 mov bx, 00 e02h ; bb 02 0e3533 mov bx, 00da6h ; bb a6 0d 3537 3534 mov cx, ds ; 8c d9 3538 3535 mov ax, strict word 00004h ; b8 04 00 … … 4382 4379 cmp bh, 048h ; 80 ff 48 4383 4380 jbe short 0333ch ; 76 37 4384 mov bx, 00 e02h ; bb 02 0e4381 mov bx, 00da6h ; bb a6 0d 4385 4382 mov cx, ds ; 8c d9 4386 4383 mov ax, strict word 00004h ; b8 04 00 … … 5318 5315 mov byte [es:bx], 000h ; 26 c6 07 00 5319 5316 jmp near 03533h ; e9 5d f9 5320 mov bx, 00 e02h ; bb 02 0e5317 mov bx, 00da6h ; bb a6 0d 5321 5318 mov cx, ds ; 8c d9 5322 5319 mov ax, strict word 00004h ; b8 04 00 … … 5420 5417 cmp ax, strict word 0004ah ; 3d 4a 00 5421 5418 jne short 03cc8h ; 75 23 5422 mov bx, 00 e02h ; bb 02 0e5419 mov bx, 00da6h ; bb a6 0d 5423 5420 mov cx, ds ; 8c d9 5424 5421 mov ax, strict word 00004h ; b8 04 00 … … 5528 5525 pop bp ; 5d 5529 5526 retn ; c3 5530 mov bx, 00 e02h ; bb 02 0e5527 mov bx, 00da6h ; bb a6 0d 5531 5528 mov cx, ds ; 8c d9 5532 5529 mov ax, strict word 00004h ; b8 04 00 … … 5616 5613 mov dx, ss ; 8c d2 5617 5614 lea ax, [bp-026h] ; 8d 46 da 5618 call 0a1 f0h ; e8 4d 635615 call 0a1b0h ; e8 0d 63 5619 5616 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 5620 5617 mov ax, strict word 00011h ; b8 11 00 … … 5679 5676 jnc short 03f51h ; 73 10 5680 5677 mov al, byte [bp+di-00825h] ; 8a 83 db f7 5681 cmp al, byte [di+00 e0ah] ; 3a 85 0a 0e5678 cmp al, byte [di+00daeh] ; 3a 85 ae 0d 5682 5679 je short 03f3bh ; 74 f0 5683 5680 mov ax, strict word 00005h ; b8 05 00 … … 5689 5686 jnc short 03f6bh ; 73 10 5690 5687 mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7 5691 cmp al, byte [di+00 e10h] ; 3a 85 10 0e5688 cmp al, byte [di+00db4h] ; 3a 85 b4 0d 5692 5689 je short 03f55h ; 74 f0 5693 5690 mov ax, strict word 00006h ; b8 06 00 … … 5990 5987 cmp ax, dx ; 39 d0 5991 5988 je short 04308h ; 74 2a 5992 mov bx, 00 e02h ; bb 02 0e5989 mov bx, 00da6h ; bb a6 0d 5993 5990 mov cx, ds ; 8c d9 5994 5991 mov ax, strict word 00004h ; b8 04 00 … … 6108 6105 xor dl, dl ; 30 d2 6109 6106 xor cx, cx ; 31 c9 6110 call 0a1 80h ; e8 68 5d6107 call 0a140h ; e8 28 5d 6111 6108 xor bx, bx ; 31 db 6112 6109 add ax, si ; 01 f0 … … 6114 6111 mov bx, di ; 89 fb 6115 6112 xor cx, cx ; 31 c9 6116 call 0a1 80h ; e8 5b 5d6113 call 0a140h ; e8 1b 5d 6117 6114 mov bx, ax ; 89 c3 6118 6115 mov ax, word [bp-00ah] ; 8b 46 f6 … … 6149 6146 mov dx, ss ; 8c d2 6150 6147 lea ax, [bp-030h] ; 8d 46 d0 6151 call 0a1 f0h ; e8 74 5d6148 call 0a1b0h ; e8 34 5d 6152 6149 mov word [bp-030h], strict word 00028h ; c7 46 d0 28 00 6153 6150 mov ax, word [bp-00eh] ; 8b 46 f2 … … 6219 6216 test al, al ; 84 c0 6220 6217 je short 0456dh ; 74 38 6221 mov bx, 00 e02h ; bb 02 0e6218 mov bx, 00da6h ; bb a6 0d 6222 6219 mov cx, ds ; 8c d9 6223 6220 mov ax, strict word 00004h ; b8 04 00 … … 6321 6318 mov word [bp+016h], bx ; 89 5e 16 6322 6319 jmp near 04571h ; e9 33 ff 6323 mov bx, 00 e02h ; bb 02 0e6320 mov bx, 00da6h ; bb a6 0d 6324 6321 mov cx, ds ; 8c d9 6325 6322 mov ax, strict word 00004h ; b8 04 00 … … 6445 6442 mov word [bp+016h], strict word 00007h ; c7 46 16 07 00 6446 6443 jmp near 04c0ch ; e9 49 04 6447 mov bx, 00 e02h ; bb 02 0e6444 mov bx, 00da6h ; bb a6 0d 6448 6445 mov cx, ds ; 8c d9 6449 6446 mov ax, strict word 00004h ; b8 04 00 … … 6503 6500 mov dx, ss ; 8c d2 6504 6501 lea ax, [bp-02eh] ; 8d 46 d2 6505 call 0a1 f0h ; e8 8c 596502 call 0a1b0h ; e8 4c 59 6506 6503 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 6507 6504 mov ax, word [bp-014h] ; 8b 46 ec … … 6560 6557 cmp byte [bp-016h], 000h ; 80 7e ea 00 6561 6558 je short 04950h ; 74 57 6562 mov bx, 00 e02h ; bb 02 0e6559 mov bx, 00da6h ; bb a6 0d 6563 6560 mov cx, ds ; 8c d9 6564 6561 mov ax, strict word 00004h ; b8 04 00 … … 6870 6867 je short 04caah ; 74 27 6871 6868 mov dx, strict word 00001h ; ba 01 00 6872 mov bx, 00 e02h ; bb 02 0e6869 mov bx, 00da6h ; bb a6 0d 6873 6870 mov cx, ds ; 8c d9 6874 6871 mov ax, strict word 00004h ; b8 04 00 … … 6877 6874 mov dx, strict word 0000ah ; ba 0a 00 6878 6875 imul dx ; f7 ea 6879 add ax, 00 e28h ; 05 28 0e6876 add ax, 00dcch ; 05 cc 0d 6880 6877 push ax ; 50 6881 6878 mov ax, 00494h ; b8 94 04 … … 6900 6897 test al, al ; 84 c0 6901 6898 je short 04ce2h ; 74 1f 6902 mov bx, 00 e02h ; bb 02 0e6899 mov bx, 00da6h ; bb a6 0d 6903 6900 mov cx, ds ; 8c d9 6904 6901 mov ax, strict word 00004h ; b8 04 00 6905 6902 call 01933h ; e8 65 cc 6906 mov cx, 00 e3ch ; b9 3c 0e6903 mov cx, 00de0h ; b9 e0 0d 6907 6904 push cx ; 51 6908 6905 mov cx, 004a8h ; b9 a8 04 … … 6915 6912 test dl, dl ; 84 d2 6916 6913 je short 04cf6h ; 74 10 6917 mov bx, 00 e02h ; bb 02 0e6914 mov bx, 00da6h ; bb a6 0d 6918 6915 mov cx, ds ; 8c d9 6919 6916 mov ax, strict word 00004h ; b8 04 00 6920 6917 call 01933h ; e8 42 cc 6921 mov cx, 00 e46h ; b9 46 0e6918 mov cx, 00deah ; b9 ea 0d 6922 6919 jmp short 04cd1h ; eb db 6923 6920 test bl, 080h ; f6 c3 80 6924 6921 je short 04d0ch ; 74 11 6925 mov bx, 00 e02h ; bb 02 0e6922 mov bx, 00da6h ; bb a6 0d 6926 6923 mov cx, ds ; 8c d9 6927 6924 mov ax, strict word 00004h ; b8 04 00 6928 6925 call 01933h ; e8 2d cc 6929 6926 push si ; 56 6930 mov cx, 00 e32h ; b9 32 0e6927 mov cx, 00dd6h ; b9 d6 0d 6931 6928 jmp short 04d1bh ; eb 0f 6932 mov bx, 00 e02h ; bb 02 0e6929 mov bx, 00da6h ; bb a6 0d 6933 6930 mov cx, ds ; 8c d9 6934 6931 mov ax, strict word 00004h ; b8 04 00 6935 6932 call 01933h ; e8 1c cc 6936 6933 push si ; 56 6937 mov cx, 00 e28h ; b9 28 0e6934 mov cx, 00dcch ; b9 cc 0d 6938 6935 push cx ; 51 6939 6936 mov cx, 004bdh ; b9 bd 04 … … 6966 6963 push dx ; 52 6967 6964 mov dx, ax ; 89 c2 6968 mov bx, 00 e02h ; bb 02 0e6965 mov bx, 00da6h ; bb a6 0d 6969 6966 mov cx, ds ; 8c d9 6970 6967 mov ax, strict word 00004h ; b8 04 00 … … 7056 7053 mov byte [bp-008h], al ; 88 46 f8 7057 7054 mov byte [bp-00ah], al ; 88 46 f6 7058 mov bx, 00 e02h ; bb 02 0e7055 mov bx, 00da6h ; bb a6 0d 7059 7056 mov cx, ds ; 8c d9 7060 7057 mov ax, strict word 00004h ; b8 04 00 … … 7624 7621 test al, al ; 84 c0 7625 7622 jne short 05351h ; 75 1c 7626 mov bx, 00 e02h ; bb 02 0e7623 mov bx, 00da6h ; bb a6 0d 7627 7624 mov cx, ds ; 8c d9 7628 7625 mov ax, strict word 00004h ; b8 04 00 … … 7976 7973 cmp byte [bp-004h], 058h ; 80 7e fc 58 7977 7974 jbe short 056e7h ; 76 22 7978 mov bx, 00 e02h ; bb 02 0e7975 mov bx, 00da6h ; bb a6 0d 7979 7976 mov cx, ds ; 8c d9 7980 7977 mov ax, strict word 00004h ; b8 04 00 … … 7998 7995 imul bx ; f7 eb 7999 7996 mov bx, ax ; 89 c3 8000 mov al, byte [bx+00 e56h] ; 8a 87 56 0e7997 mov al, byte [bx+00dfah] ; 8a 87 fa 0d 8001 7998 mov byte [bp-012h], al ; 88 46 ee 8002 mov al, byte [bx+00 e57h] ; 8a 87 57 0e7999 mov al, byte [bx+00dfbh] ; 8a 87 fb 0d 8003 8000 jmp near 057bah ; e9 b2 00 8004 8001 test AL, strict byte 004h ; a8 04 … … 8009 8006 imul dx ; f7 ea 8010 8007 mov bx, ax ; 89 c3 8011 mov al, byte [bx+00 e54h] ; 8a 87 54 0e8008 mov al, byte [bx+00df8h] ; 8a 87 f8 0d 8012 8009 mov byte [bp-012h], al ; 88 46 ee 8013 mov al, byte [bx+00 e55h] ; 8a 87 55 0e8010 mov al, byte [bx+00df9h] ; 8a 87 f9 0d 8014 8011 jmp near 057bah ; e9 94 00 8015 8012 mov al, byte [bp-010h] ; 8a 46 f0 … … 8035 8032 imul dx ; f7 ea 8036 8033 mov bx, ax ; 89 c3 8037 mov al, byte [bx+00 e58h] ; 8a 87 58 0e8034 mov al, byte [bx+00dfch] ; 8a 87 fc 0d 8038 8035 xor ah, ah ; 30 e4 8039 8036 mov dx, ax ; 89 c2 … … 8041 8038 test ax, dx ; 85 d0 8042 8039 je short 05777h ; 74 0d 8043 mov al, byte [bx+00 e50h] ; 8a 87 50 0e8040 mov al, byte [bx+00df4h] ; 8a 87 f4 0d 8044 8041 mov byte [bp-012h], al ; 88 46 ee 8045 mov al, byte [bx+00 e51h] ; 8a 87 51 0e8042 mov al, byte [bx+00df5h] ; 8a 87 f5 0d 8046 8043 jmp short 05782h ; eb 0b 8047 mov al, byte [bx+00 e52h] ; 8a 87 52 0e8044 mov al, byte [bx+00df6h] ; 8a 87 f6 0d 8048 8045 mov byte [bp-012h], al ; 88 46 ee 8049 mov al, byte [bx+00 e53h] ; 8a 87 53 0e8046 mov al, byte [bx+00df7h] ; 8a 87 f7 0d 8050 8047 mov byte [bp-004h], al ; 88 46 fc 8051 8048 jmp short 057bdh ; eb 36 … … 8055 8052 imul bx ; f7 eb 8056 8053 mov bx, ax ; 89 c3 8057 mov al, byte [bx+00 e58h] ; 8a 87 58 0e8054 mov al, byte [bx+00dfch] ; 8a 87 fc 0d 8058 8055 xor ah, ah ; 30 e4 8059 8056 mov dx, ax ; 89 c2 … … 8061 8058 test ax, dx ; 85 d0 8062 8059 je short 057afh ; 74 0d 8063 mov al, byte [bx+00 e52h] ; 8a 87 52 0e8060 mov al, byte [bx+00df6h] ; 8a 87 f6 0d 8064 8061 mov byte [bp-012h], al ; 88 46 ee 8065 mov al, byte [bx+00 e53h] ; 8a 87 53 0e8062 mov al, byte [bx+00df7h] ; 8a 87 f7 0d 8066 8063 jmp short 057bah ; eb 0b 8067 mov al, byte [bx+00 e50h] ; 8a 87 50 0e8064 mov al, byte [bx+00df4h] ; 8a 87 f4 0d 8068 8065 mov byte [bp-012h], al ; 88 46 ee 8069 mov al, byte [bx+00 e51h] ; 8a 87 51 0e8066 mov al, byte [bx+00df5h] ; 8a 87 f5 0d 8070 8067 mov byte [bp-004h], al ; 88 46 fc 8071 8068 cmp byte [bp-004h], 000h ; 80 7e fc 00 … … 8073 8070 cmp byte [bp-012h], 000h ; 80 7e ee 00 8074 8071 jne short 057e2h ; 75 19 8075 mov bx, 00 e02h ; bb 02 0e8072 mov bx, 00da6h ; bb a6 0d 8076 8073 mov cx, ds ; 8c d9 8077 8074 mov ax, strict word 00004h ; b8 04 00 … … 8276 8273 mov word [bp+012h], ax ; 89 46 12 8277 8274 jmp near 059d7h ; e9 4a 00 8278 mov bx, 00 e02h ; bb 02 0e8275 mov bx, 00da6h ; bb a6 0d 8279 8276 mov cx, ds ; 8c d9 8280 8277 mov ax, strict word 00004h ; b8 04 00 … … 8290 8287 call 01976h ; e8 cb bf 8291 8288 add sp, strict byte 00006h ; 83 c4 06 8292 mov bx, 00 e02h ; bb 02 0e8289 mov bx, 00da6h ; bb a6 0d 8293 8290 mov cx, ds ; 8c d9 8294 8291 mov ax, strict word 00004h ; b8 04 00 … … 8504 8501 mov dx, word [bp+00ch] ; 8b 56 0c 8505 8502 mov si, strict word 00020h ; be 20 00 8506 call 0a1 d0h ; e8 22 468503 call 0a190h ; e8 e2 45 8507 8504 test ax, ax ; 85 c0 8508 8505 jne short 05bbeh ; 75 0c … … 8542 8539 mov bx, strict word 0003fh ; bb 3f 00 8543 8540 xor cx, cx ; 31 c9 8544 call 0a1 80h ; e8 79 458541 call 0a140h ; e8 39 45 8545 8542 mov bx, ax ; 89 c3 8546 8543 mov cx, dx ; 89 d1 8547 8544 mov ax, word [bp-004h] ; 8b 46 fc 8548 8545 mov dx, si ; 89 f2 8549 call 0a1 a0h ; e8 8d 458546 call 0a160h ; e8 4d 45 8550 8547 mov word [es:di+002h], ax ; 26 89 45 02 8551 8548 cmp ax, 00400h ; 3d 00 04 … … 8698 8695 test ax, ax ; 85 c0 8699 8696 jne short 05d8eh ; 75 29 8700 mov bx, 00 e02h ; bb 02 0e8697 mov bx, 00da6h ; bb a6 0d 8701 8698 mov cx, ds ; 8c d9 8702 8699 mov ax, strict word 00004h ; b8 04 00 … … 8732 8729 cmp di, dx ; 39 d7 8733 8730 jbe short 05dedh ; 76 31 8734 mov bx, 00 e02h ; bb 02 0e8731 mov bx, 00da6h ; bb a6 0d 8735 8732 mov cx, ds ; 8c d9 8736 8733 mov ax, strict word 00004h ; b8 04 00 … … 8776 8773 mov bx, cx ; 89 cb 8777 8774 xor cx, cx ; 31 c9 8778 call 0a1 80h ; e8 54 438775 call 0a140h ; e8 14 43 8779 8776 xor bx, bx ; 31 db 8780 8777 add ax, word [bp-008h] ; 03 46 f8 … … 8782 8779 mov bx, word [bp-00eh] ; 8b 5e f2 8783 8780 xor cx, cx ; 31 c9 8784 call 0a1 80h ; e8 45 438781 call 0a140h ; e8 05 43 8785 8782 xor bx, bx ; 31 db 8786 8783 add ax, di ; 01 f8 … … 8840 8837 test dl, dl ; 84 d2 8841 8838 je short 05f36h ; 74 4a 8842 mov bx, 00 e02h ; bb 02 0e8839 mov bx, 00da6h ; bb a6 0d 8843 8840 mov cx, ds ; 8c d9 8844 8841 mov ax, strict word 00004h ; b8 04 00 … … 8861 8858 or ah, 00ch ; 80 cc 0c 8862 8859 jmp near 0607ch ; e9 5f 01 8863 mov bx, 00 e02h ; bb 02 0e8860 mov bx, 00da6h ; bb a6 0d 8864 8861 mov cx, ds ; 8c d9 8865 8862 mov ax, strict word 00004h ; b8 04 00 … … 8956 8953 mov bx, word [bp-008h] ; 8b 5e f8 8957 8954 xor cx, cx ; 31 c9 8958 call 0a1 80h ; e8 6e 418955 call 0a140h ; e8 2e 41 8959 8956 mov bx, di ; 89 fb 8960 8957 xor cx, cx ; 31 c9 8961 call 0a1 80h ; e8 67 418958 call 0a140h ; e8 27 41 8962 8959 mov word [bp-010h], ax ; 89 46 f0 8963 8960 mov word [bp-004h], dx ; 89 56 fc … … 8969 8966 mov word [bp+016h], ax ; 89 46 16 8970 8967 jmp near 05f3ah ; e9 07 ff 8971 mov bx, 00 e02h ; bb 02 0e8968 mov bx, 00da6h ; bb a6 0d 8972 8969 mov cx, ds ; 8c d9 8973 8970 mov ax, strict word 00004h ; b8 04 00 … … 8985 8982 add sp, strict byte 00008h ; 83 c4 08 8986 8983 jmp near 05f36h ; e9 dd fe 8987 mov bx, 00 e02h ; bb 02 0e8984 mov bx, 00da6h ; bb a6 0d 8988 8985 mov cx, ds ; 8c d9 8989 8986 mov ax, strict word 00004h ; b8 04 00 … … 9092 9089 mov word [bp+014h], strict word 00007h ; c7 46 14 07 00 9093 9090 jmp near 06597h ; e9 31 04 9094 mov bx, 00 e02h ; bb 02 0e9091 mov bx, 00da6h ; bb a6 0d 9095 9092 mov cx, ds ; 8c d9 9096 9093 mov ax, strict word 00004h ; b8 04 00 … … 9118 9115 xor bx, bx ; 31 db 9119 9116 mov si, strict word 00020h ; be 20 00 9120 call 0a1 e0h ; e8 2c 409117 call 0a1a0h ; e8 ec 3f 9121 9118 mov word [bp-00eh], ax ; 89 46 f2 9122 9119 mov word [bp-010h], bx ; 89 5e f0 … … 9148 9145 cmp si, word [es:bx+036h] ; 26 3b 77 36 9149 9146 jc short 0622ch ; 72 26 9150 mov bx, 00 e02h ; bb 02 0e9147 mov bx, 00da6h ; bb a6 0d 9151 9148 mov cx, ds ; 8c d9 9152 9149 mov ax, strict word 00004h ; b8 04 00 … … 9210 9207 test dl, dl ; 84 d2 9211 9208 je short 0631ah ; 74 54 9212 mov bx, 00 e02h ; bb 02 0e9209 mov bx, 00da6h ; bb a6 0d 9213 9210 mov cx, ds ; 8c d9 9214 9211 mov ax, strict word 00004h ; b8 04 00 … … 9283 9280 mov dx, si ; 89 f2 9284 9281 mov si, strict word 00020h ; be 20 00 9285 call 0a1 d0h ; e8 25 3e9282 call 0a190h ; e8 e5 3d 9286 9283 mov bx, di ; 89 fb 9287 9284 mov word [es:bx+014h], dx ; 26 89 57 14 … … 9647 9644 mov bx, strict word 0000fh ; bb 0f 00 9648 9645 xor cx, cx ; 31 c9 9649 call 0a1 a0h ; e8 57 3a9646 call 0a160h ; e8 17 3a 9650 9647 mov cx, ax ; 89 c1 9651 9648 mov bx, dx ; 89 d3 … … 9811 9808 mov word [bp+00ch], ax ; 89 46 0c 9812 9809 jmp near 0691bh ; e9 2e 00 9813 mov bx, 00 e02h ; bb 02 0e9810 mov bx, 00da6h ; bb a6 0d 9814 9811 mov cx, ds ; 8c d9 9815 9812 mov ax, strict word 00004h ; b8 04 00 … … 10000 9997 retf ; cb 10001 9998 jmp near 0691bh ; e9 53 fe 10002 mov bx, 00 e02h ; bb 02 0e9999 mov bx, 00da6h ; bb a6 0d 10003 10000 mov cx, ds ; 8c d9 10004 10001 mov ax, strict word 00004h ; b8 04 00 … … 10043 10040 or byte [bp+018h], 001h ; 80 4e 18 01 10044 10041 jmp near 0691bh ; e9 d8 fd 10045 mov bx, 00 e02h ; bb 02 0e10042 mov bx, 00da6h ; bb a6 0d 10046 10043 mov cx, ds ; 8c d9 10047 10044 mov ax, strict word 00004h ; b8 04 00 … … 10235 10232 mov word [bp+014h], strict word 00002h ; c7 46 14 02 00 10236 10233 jmp short 06d04h ; eb d3 10237 mov bx, 00 e02h ; bb 02 0e10234 mov bx, 00da6h ; bb a6 0d 10238 10235 mov cx, ds ; 8c d9 10239 10236 mov ax, strict word 00004h ; b8 04 00 … … 10882 10879 mov ax, 008eeh ; b8 ee 08 10883 10880 push ax ; 50 10884 mov ax, 011 cah ; b8 ca1110881 mov ax, 0116eh ; b8 6e 11 10885 10882 push ax ; 50 10886 10883 mov ax, strict word 00007h ; b8 07 00 … … 10966 10963 mov ax, 008f8h ; b8 f8 08 10967 10964 push ax ; 50 10968 mov ax, 011 cah ; b8 ca1110965 mov ax, 0116eh ; b8 6e 11 10969 10966 push ax ; 50 10970 10967 mov ax, strict word 00007h ; b8 07 00 … … 12529 12526 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 12530 12527 jne short 08256h ; 75 23 12531 mov bx, 00 e02h ; bb 02 0e12528 mov bx, 00da6h ; bb a6 0d 12532 12529 mov cx, ds ; 8c d9 12533 12530 mov ax, strict word 00004h ; b8 04 00 … … 12692 12689 mov dx, ss ; 8c d2 12693 12690 lea ax, [bp-048h] ; 8d 46 b8 12694 call 0a1 f0h ; e8 3d 1e12691 call 0a1b0h ; e8 fd 1d 12695 12692 mov byte [bp-048h], 09eh ; c6 46 b8 9e 12696 12693 mov byte [bp-047h], 010h ; c6 46 b9 10 … … 12762 12759 cmp bx, 00200h ; 81 fb 00 02 12763 12760 je short 08487h ; 74 23 12764 mov bx, 00 e02h ; bb 02 0e12761 mov bx, 00da6h ; bb a6 0d 12765 12762 mov cx, ds ; 8c d9 12766 12763 mov ax, strict word 00004h ; b8 04 00 … … 12830 12827 mov dx, word [bp-024h] ; 8b 56 dc 12831 12828 mov si, strict word 0000ch ; be 0c 00 12832 call 0a1 d0h ; e8 cd 1c12829 call 0a190h ; e8 8d 1c 12833 12830 mov word [bp-02ah], ax ; 89 46 d6 12834 12831 mov word [bp-02ch], bx ; 89 5e d4 … … 12852 12849 mov dx, word [bp-024h] ; 8b 56 dc 12853 12850 mov si, strict word 00006h ; be 06 00 12854 call 0a1 d0h ; e8 8c 1c12851 call 0a190h ; e8 4c 1c 12855 12852 mov si, word [bp-018h] ; 8b 76 e8 12856 12853 add si, dx ; 01 d6 … … 12870 12867 mov dx, si ; 89 f2 12871 12868 mov si, strict word 00008h ; be 08 00 12872 call 0a1 d0h ; e8 5c 1c12869 call 0a190h ; e8 1c 1c 12873 12870 mov word [bp-02eh], bx ; 89 5e d2 12874 12871 mov word [bp-030h], cx ; 89 4e d0 … … 12879 12876 mov dx, word [bp-01eh] ; 8b 56 e2 12880 12877 mov si, strict word 00010h ; be 10 00 12881 call 0a1 d0h ; e8 41 1c12878 call 0a190h ; e8 01 1c 12882 12879 mov si, word [bp-032h] ; 8b 76 ce 12883 12880 add si, dx ; 01 d6 … … 12904 12901 mov dx, word [bp-024h] ; 8b 56 dc 12905 12902 mov si, strict word 0000bh ; be 0b 00 12906 call 0a1 d0h ; e8 f7 1b12903 call 0a190h ; e8 b7 1b 12907 12904 mov si, dx ; 89 d6 12908 12905 mov word [bp-026h], cx ; 89 4e da … … 12949 12946 mov word [es:bx+02ch], si ; 26 89 77 2c 12950 12947 mov word [es:bx+032h], si ; 26 89 77 32 12951 mov bx, 00 e02h ; bb 02 0e12948 mov bx, 00da6h ; bb a6 0d 12952 12949 mov cx, ds ; 8c d9 12953 12950 mov ax, strict word 00004h ; b8 04 00 … … 13008 13005 inc byte [bp-00ch] ; fe 46 f4 13009 13006 jmp near 087a2h ; e9 97 00 13010 mov bx, 00 e02h ; bb 02 0e13007 mov bx, 00da6h ; bb a6 0d 13011 13008 mov cx, ds ; 8c d9 13012 13009 mov ax, strict word 00004h ; b8 04 00 … … 13125 13122 pop bp ; 5d 13126 13123 retn ; c3 13127 scsi_pci_init_: ; 0xf8846 LB 0x 7213124 scsi_pci_init_: ; 0xf8846 LB 0x2b 13128 13125 push bp ; 55 13129 13126 mov bp, sp ; 89 e5 … … 13131 13128 push cx ; 51 13132 13129 push si ; 56 13133 push di ; 57 13134 mov di, ax ; 89 c7 13135 mov si, dx ; 89 d6 13136 call 09fceh ; e8 7a 17 13130 call 09f87h ; e8 38 17 13137 13131 mov dx, ax ; 89 c2 13138 13132 cmp ax, strict word 0ffffh ; 3d ff ff 13139 jne short 0887ch ; 75 21 13140 mov bx, 00e02h ; bb 02 0e 13141 mov cx, ds ; 8c d9 13142 mov ax, strict word 00004h ; b8 04 00 13143 call 01933h ; e8 cd 90 13144 push si ; 56 13145 push di ; 57 13146 mov ax, 00c61h ; b8 61 0c 13147 push ax ; 50 13148 mov ax, 00c6fh ; b8 6f 0c 13149 push ax ; 50 13150 mov ax, strict word 00004h ; b8 04 00 13151 push ax ; 50 13152 call 01976h ; e8 ff 90 13153 add sp, strict byte 0000ah ; 83 c4 0a 13154 jmp short 088afh ; eb 33 13155 mov bx, 00e02h ; bb 02 0e 13156 mov cx, ds ; 8c d9 13157 mov ax, strict word 00004h ; b8 04 00 13158 call 01933h ; e8 ac 90 13159 push dx ; 52 13160 push si ; 56 13161 push di ; 57 13162 mov ax, 00c61h ; b8 61 0c 13163 push ax ; 50 13164 mov ax, 00c98h ; b8 98 0c 13165 push ax ; 50 13166 mov ax, strict word 00004h ; b8 04 00 13167 push ax ; 50 13168 call 01976h ; e8 dd 90 13169 add sp, strict byte 0000ch ; 83 c4 0c 13133 je short 08869h ; 74 13 13170 13134 mov al, dl ; 88 d0 13171 13135 xor ah, ah ; 30 e4 … … 13175 13139 mov bx, strict word 00004h ; bb 04 00 13176 13140 mov dx, si ; 89 f2 13177 call 0a07ch ; e8 cd 17 13178 lea sp, [bp-008h] ; 8d 66 f8 13179 pop di ; 5f 13141 call 0a035h ; e8 cc 17 13142 lea sp, [bp-006h] ; 8d 66 fa 13180 13143 pop si ; 5e 13181 13144 pop cx ; 59 … … 13183 13146 pop bp ; 5d 13184 13147 retn ; c3 13185 _scsi_init: ; 0xf88 b8LB 0x8113148 _scsi_init: ; 0xf8871 LB 0x81 13186 13149 push bp ; 55 13187 13150 mov bp, sp ; 89 e5 13188 13151 mov dx, strict word 0000eh ; ba 0e 00 13189 13152 mov ax, strict word 00040h ; b8 40 00 13190 call 0166eh ; e8 aa8d13153 call 0166eh ; e8 f1 8d 13191 13154 mov bx, 00122h ; bb 22 01 13192 13155 mov es, ax ; 8e c0 … … 13199 13162 ; sub ah, ah ; 2a e4 13200 13163 cmp AL, strict byte 055h ; 3c 55 13201 jne short 088 f1h ; 75 1513164 jne short 088aah ; 75 15 13202 13165 xor al, al ; 30 c0 13203 13166 mov dx, 00433h ; ba 33 04 13204 13167 out DX, AL ; ee 13205 13168 mov ax, 00430h ; b8 30 04 13206 call 0837bh ; e8 93fa13169 call 0837bh ; e8 da fa 13207 13170 mov dx, 01040h ; ba 40 10 13208 13171 mov ax, 0104bh ; b8 4b 10 13209 call 08846h ; e8 55ff13172 call 08846h ; e8 9c ff 13210 13173 mov AL, strict byte 055h ; b0 55 13211 13174 mov dx, 00436h ; ba 36 04 … … 13215 13178 ; sub ah, ah ; 2a e4 13216 13179 cmp AL, strict byte 055h ; 3c 55 13217 jne short 08 913h ; 75 1513180 jne short 088cch ; 75 15 13218 13181 xor al, al ; 30 c0 13219 13182 mov dx, 00437h ; ba 37 04 13220 13183 out DX, AL ; ee 13221 13184 mov ax, 00434h ; b8 34 04 13222 call 0837bh ; e8 71fa13185 call 0837bh ; e8 b8 fa 13223 13186 mov dx, strict word 00030h ; ba 30 00 13224 13187 mov ax, 01000h ; b8 00 10 13225 call 08846h ; e8 33ff13188 call 08846h ; e8 7a ff 13226 13189 mov AL, strict byte 055h ; b0 55 13227 13190 mov dx, 0043ah ; ba 3a 04 … … 13231 13194 ; sub ah, ah ; 2a e4 13232 13195 cmp AL, strict byte 055h ; 3c 55 13233 jne short 08 935h ; 75 1513196 jne short 088eeh ; 75 15 13234 13197 xor al, al ; 30 c0 13235 13198 mov dx, 0043bh ; ba 3b 04 13236 13199 out DX, AL ; ee 13237 13200 mov ax, 00438h ; b8 38 04 13238 call 0837bh ; e8 4ffa13201 call 0837bh ; e8 96 fa 13239 13202 mov dx, strict word 00054h ; ba 54 00 13240 13203 mov ax, 01000h ; b8 00 10 13241 call 08846h ; e8 11ff13204 call 08846h ; e8 58 ff 13242 13205 mov sp, bp ; 89 ec 13243 13206 pop bp ; 5d 13244 13207 retn ; c3 13245 ahci_ctrl_extract_bits_: ; 0xf8 939LB 0x1c13208 ahci_ctrl_extract_bits_: ; 0xf88f2 LB 0x1c 13246 13209 push si ; 56 13247 13210 push bp ; 55 … … 13252 13215 mov cl, byte [bp+006h] ; 8a 4e 06 13253 13216 xor ch, ch ; 30 ed 13254 jcxz 089 50h ; e3 0613217 jcxz 08909h ; e3 06 13255 13218 shr dx, 1 ; d1 ea 13256 13219 rcr ax, 1 ; d1 d8 13257 loop 089 4ah ; e2 fa13220 loop 08903h ; e2 fa 13258 13221 pop bp ; 5d 13259 13222 pop si ; 5e 13260 13223 retn 00002h ; c2 02 00 13261 ahci_addr_to_phys_: ; 0xf89 55LB 0x1e13224 ahci_addr_to_phys_: ; 0xf890e LB 0x1e 13262 13225 push bx ; 53 13263 13226 push cx ; 51 … … 13270 13233 sal ax, 1 ; d1 e0 13271 13234 rcl dx, 1 ; d1 d2 13272 loop 089 63h ; e2 fa13235 loop 0891ch ; e2 fa 13273 13236 xor cx, cx ; 31 c9 13274 13237 add ax, bx ; 01 d8 … … 13278 13241 pop bx ; 5b 13279 13242 retn ; c3 13280 ahci_port_cmd_sync_: ; 0xf89 73LB 0x15913243 ahci_port_cmd_sync_: ; 0xf892c LB 0x159 13281 13244 push bp ; 55 13282 13245 mov bp, sp ; 89 e5 … … 13293 13256 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 13294 13257 cmp AL, strict byte 0ffh ; 3c ff 13295 jne short 089 96h ; 75 0313296 jmp near 08a c4h ; e9 2e 0113258 jne short 0894fh ; 75 03 13259 jmp near 08a7dh ; e9 2e 01 13297 13260 mov al, byte [es:si+00263h] ; 26 8a 84 63 02 13298 13261 xor ah, ah ; 30 e4 … … 13307 13270 lea ax, [si+00080h] ; 8d 84 80 00 13308 13271 mov dx, cx ; 89 ca 13309 call 089 55h ; e8 92 ff13272 call 0890eh ; e8 92 ff 13310 13273 mov es, cx ; 8e c1 13311 13274 mov word [es:si+008h], ax ; 26 89 44 08 … … 13375 13338 xchg dx, ax ; 92 13376 13339 test dh, 040h ; f6 c6 40 13377 jne short 08a 56h ; 75 0413340 jne short 08a0fh ; 75 04 13378 13341 test AL, strict byte 001h ; a8 01 13379 je short 08a 5ah ; 74 0413342 je short 08a13h ; 74 04 13380 13343 mov AL, strict byte 001h ; b0 01 13381 jmp short 08a 5ch ; eb 0213344 jmp short 08a15h ; eb 02 13382 13345 xor al, al ; 30 c0 13383 13346 test al, al ; 84 c0 13384 je short 08 a28h ; 74 c813347 je short 089e1h ; 74 c8 13385 13348 mov al, byte [bp-008h] ; 8a 46 f8 13386 13349 xor ah, ah ; 30 e4 … … 13439 13402 pop bp ; 5d 13440 13403 retn ; c3 13441 ahci_cmd_data_: ; 0xf8a ccLB 0x26213404 ahci_cmd_data_: ; 0xf8a85 LB 0x262 13442 13405 push bp ; 55 13443 13406 mov bp, sp ; 89 e5 … … 13464 13427 mov ax, 00080h ; b8 80 00 13465 13428 mov dx, word [bp-00ah] ; 8b 56 f6 13466 call 0a1 f0h ; e8 e61613429 call 0a1b0h ; e8 ed 16 13467 13430 mov es, [bp-00ah] ; 8e 46 f6 13468 13431 mov word [es:di+00080h], 08027h ; 26 c7 85 80 00 27 80 … … 13482 13445 mov dx, word [es:si] ; 26 8b 14 13483 13446 mov si, strict word 00008h ; be 08 00 13484 call 0a1 d0h ; e8 821613447 call 0a190h ; e8 89 16 13485 13448 mov es, [bp-00ah] ; 8e 46 f6 13486 13449 mov byte [es:di+00085h], dl ; 26 88 95 85 00 … … 13493 13456 mov dx, word [es:si] ; 26 8b 14 13494 13457 mov si, strict word 00010h ; be 10 00 13495 call 0a1 d0h ; e8 5c1613458 call 0a190h ; e8 63 16 13496 13459 mov es, [bp-00ah] ; 8e 46 f6 13497 13460 mov byte [es:di+00086h], dl ; 26 88 95 86 00 … … 13505 13468 mov dx, word [es:si] ; 26 8b 14 13506 13469 mov si, strict word 00018h ; be 18 00 13507 call 0a1 d0h ; e8 301613470 call 0a190h ; e8 37 16 13508 13471 mov es, [bp-00ah] ; 8e 46 f6 13509 13472 mov byte [es:di+00088h], dl ; 26 88 95 88 00 … … 13516 13479 mov dx, word [es:si] ; 26 8b 14 13517 13480 mov si, strict word 00020h ; be 20 00 13518 call 0a1 d0h ; e8 0a1613481 call 0a190h ; e8 11 16 13519 13482 mov es, [bp-00ah] ; 8e 46 f6 13520 13483 mov byte [es:di+00089h], dl ; 26 88 95 89 00 … … 13527 13490 mov dx, word [es:si] ; 26 8b 14 13528 13491 mov si, strict word 00028h ; be 28 00 13529 call 0a1 d0h ; e8 e41513492 call 0a190h ; e8 eb 15 13530 13493 mov es, [bp-00ah] ; 8e 46 f6 13531 13494 mov byte [es:di+0008ah], dl ; 26 88 95 8a 00 … … 13540 13503 mov bx, word [bp-012h] ; 8b 5e ee 13541 13504 xor cx, cx ; 31 c9 13542 call 0a1 80h ; e8 621513505 call 0a140h ; e8 69 15 13543 13506 push dx ; 52 13544 13507 push ax ; 50 … … 13550 13513 mov ax, 0026ah ; b8 6a 02 13551 13514 mov dx, word [bp-00ah] ; 8b 56 f6 13552 call 0a0 d5h ; e8 9b 1413515 call 0a08eh ; e8 9b 14 13553 13516 mov es, [bp-00ah] ; 8e 46 f6 13554 13517 mov dx, word [es:di+0027eh] ; 26 8b 95 7e 02 … … 13574 13537 mov ax, word [es:bx+020h] ; 26 8b 47 20 13575 13538 test ax, ax ; 85 c0 13576 je short 08c cah ; 74 3913539 je short 08c83h ; 74 39 13577 13540 dec ax ; 48 13578 13541 mov es, [bp-00ah] ; 8e 46 f6 … … 13592 13555 mov al, byte [bp-008h] ; 8a 46 f8 13593 13556 cmp AL, strict byte 035h ; 3c 35 13594 jne short 08c d7h ; 75 0613557 jne short 08c90h ; 75 06 13595 13558 mov byte [bp-008h], 040h ; c6 46 f8 40 13596 jmp short 08c eeh ; eb 1713559 jmp short 08ca7h ; eb 17 13597 13560 cmp AL, strict byte 0a0h ; 3c a0 13598 jne short 08c eah ; 75 0f13561 jne short 08ca3h ; 75 0f 13599 13562 or byte [bp-008h], 020h ; 80 4e f8 20 13600 13563 les bx, [bp-00eh] ; c4 5e f2 13601 13564 or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01 13602 jmp short 08c eeh ; eb 0413565 jmp short 08ca7h ; eb 04 13603 13566 mov byte [bp-008h], 000h ; c6 46 f8 00 13604 13567 or byte [bp-008h], 005h ; 80 4e f8 05 … … 13607 13570 mov ax, word [bp-00eh] ; 8b 46 f2 13608 13571 mov dx, word [bp-00ch] ; 8b 56 f4 13609 call 089 73h ; e8 73 fc13572 call 0892ch ; e8 73 fc 13610 13573 mov cx, word [bp-00ch] ; 8b 4e f4 13611 13574 mov bx, word [bp-00eh] ; 8b 5e f2 … … 13614 13577 add ax, 0026ah ; 05 6a 02 13615 13578 mov dx, cx ; 89 ca 13616 call 0a1 4ch ; e8 37 1413579 call 0a105h ; e8 37 14 13617 13580 mov es, cx ; 8e c1 13618 13581 mov al, byte [es:bx+003h] ; 26 8a 47 03 13619 13582 test al, al ; 84 c0 13620 je short 08 d24h ; 74 0513583 je short 08cddh ; 74 05 13621 13584 mov ax, strict word 00004h ; b8 04 00 13622 jmp short 08 d26h ; eb 0213585 jmp short 08cdfh ; eb 02 13623 13586 xor ah, ah ; 30 e4 13624 13587 lea sp, [bp-006h] ; 8d 66 fa … … 13628 13591 pop bp ; 5d 13629 13592 retn ; c3 13630 ahci_port_deinit_current_: ; 0xf8 d2eLB 0x18313593 ahci_port_deinit_current_: ; 0xf8ce7 LB 0x183 13631 13594 push bp ; 55 13632 13595 mov bp, sp ; 89 e5 … … 13643 13606 mov byte [bp-00ah], al ; 88 46 f6 13644 13607 cmp AL, strict byte 0ffh ; 3c ff 13645 je short 08d b1h ; 74 6113608 je short 08d6ah ; 74 61 13646 13609 xor ah, ah ; 30 e4 13647 13610 mov CL, strict byte 007h ; b1 07 … … 13689 13652 xchg dx, ax ; 92 13690 13653 test ax, 0c011h ; a9 11 c0 13691 je short 08d b4h ; 74 0713654 je short 08d6dh ; 74 07 13692 13655 mov AL, strict byte 001h ; b0 01 13693 jmp short 08d b6h ; eb 0513694 jmp near 08e a8h ; e9 f4 0013656 jmp short 08d6fh ; eb 05 13657 jmp near 08e61h ; e9 f4 00 13695 13658 xor al, al ; 30 c0 13696 13659 cmp AL, strict byte 001h ; 3c 01 13697 je short 08d 83h ; 74 c913660 je short 08d3ch ; 74 c9 13698 13661 mov cx, strict word 00020h ; b9 20 00 13699 13662 xor bx, bx ; 31 db 13700 13663 mov ax, di ; 89 f8 13701 13664 mov dx, word [bp-00eh] ; 8b 56 f2 13702 call 0a1 f0h ; e8 291413665 call 0a1b0h ; e8 30 14 13703 13666 lea ax, [di+00080h] ; 8d 85 80 00 13704 13667 mov cx, strict word 00040h ; b9 40 00 13705 13668 xor bx, bx ; 31 db 13706 13669 mov dx, word [bp-00eh] ; 8b 56 f2 13707 call 0a1 f0h ; e8 1a1413670 call 0a1b0h ; e8 21 14 13708 13671 lea ax, [di+00200h] ; 8d 85 00 02 13709 13672 mov cx, strict word 00060h ; b9 60 00 13710 13673 xor bx, bx ; 31 db 13711 13674 mov dx, word [bp-00eh] ; 8b 56 f2 13712 call 0a1 f0h ; e8 0b1413675 call 0a1b0h ; e8 12 14 13713 13676 mov al, byte [bp-00ah] ; 8a 46 f6 13714 13677 xor ah, ah ; 30 e4 … … 13816 13779 pop bp ; 5d 13817 13780 retn ; c3 13818 ahci_port_init_: ; 0xf8e b1LB 0x25013781 ahci_port_init_: ; 0xf8e6a LB 0x250 13819 13782 push bp ; 55 13820 13783 mov bp, sp ; 89 e5 … … 13826 13789 mov word [bp-00ah], dx ; 89 56 f6 13827 13790 mov byte [bp-008h], bl ; 88 5e f8 13828 call 08 d2eh ; e8 69 fe13791 call 08ce7h ; e8 69 fe 13829 13792 mov al, bl ; 88 d8 13830 13793 xor ah, ah ; 30 e4 … … 13877 13840 xchg dx, ax ; 92 13878 13841 test ax, 0c011h ; a9 11 c0 13879 je short 08 f38h ; 74 0413842 je short 08ef1h ; 74 04 13880 13843 mov AL, strict byte 001h ; b0 01 13881 jmp short 08 f3ah ; eb 0213844 jmp short 08ef3h ; eb 02 13882 13845 xor al, al ; 30 c0 13883 13846 cmp AL, strict byte 001h ; 3c 01 13884 je short 08 f02h ; 74 c413847 je short 08ebbh ; 74 c4 13885 13848 mov cx, strict word 00020h ; b9 20 00 13886 13849 xor bx, bx ; 31 db 13887 13850 mov ax, si ; 89 f0 13888 13851 mov dx, word [bp-00ah] ; 8b 56 f6 13889 call 0a1 f0h ; e8 a51213852 call 0a1b0h ; e8 ac 12 13890 13853 lea ax, [si+00080h] ; 8d 84 80 00 13891 13854 mov cx, strict word 00040h ; b9 40 00 13892 13855 xor bx, bx ; 31 db 13893 13856 mov dx, word [bp-00ah] ; 8b 56 f6 13894 call 0a1 f0h ; e8 961213857 call 0a1b0h ; e8 9d 12 13895 13858 lea di, [si+00200h] ; 8d bc 00 02 13896 13859 mov cx, strict word 00060h ; b9 60 00 … … 13898 13861 mov ax, di ; 89 f8 13899 13862 mov dx, word [bp-00ah] ; 8b 56 f6 13900 call 0a1 f0h ; e8 851213863 call 0a1b0h ; e8 8c 12 13901 13864 mov bl, byte [bp-008h] ; 8a 5e f8 13902 13865 xor bh, bh ; 30 ff … … 13917 13880 mov ax, di ; 89 f8 13918 13881 mov dx, word [bp-00ah] ; 8b 56 f6 13919 call 089 55h ; e8 bb f913882 call 0890eh ; e8 bb f9 13920 13883 mov es, [bp-00ah] ; 8e 46 f6 13921 13884 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 13962 13925 mov ax, si ; 89 f0 13963 13926 mov dx, word [bp-00ah] ; 8b 56 f6 13964 call 089 55h ; e8 4f f913927 call 0890eh ; e8 4f f9 13965 13928 mov es, [bp-00ah] ; 8e 46 f6 13966 13929 mov di, word [es:si+00260h] ; 26 8b bc 60 02 … … 14067 14030 pop bp ; 5d 14068 14031 retn ; c3 14069 @ahci_read_sectors: ; 0xf9 101LB 0xaa14032 @ahci_read_sectors: ; 0xf90ba LB 0xaa 14070 14033 push bp ; 55 14071 14034 mov bp, sp ; 89 e5 … … 14078 14041 sub di, strict byte 0000ch ; 83 ef 0c 14079 14042 cmp di, strict byte 00004h ; 83 ff 04 14080 jbe short 09 12ch ; 76 1314043 jbe short 090e5h ; 76 13 14081 14044 push di ; 57 14082 mov ax, 00c c4h ; b8 c40c14083 push ax ; 50 14084 mov ax, 00c d6h ; b8 d60c14045 mov ax, 00c62h ; b8 62 0c 14046 push ax ; 50 14047 mov ax, 00c74h ; b8 74 0c 14085 14048 push ax ; 50 14086 14049 mov ax, strict word 00007h ; b8 07 00 14087 14050 push ax ; 50 14088 call 01976h ; e8 4d8814051 call 01976h ; e8 94 88 14089 14052 add sp, strict byte 00008h ; 83 c4 08 14090 14053 xor bx, bx ; 31 db … … 14100 14063 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14101 14064 xor ax, ax ; 31 c0 14102 call 08e b1h ; e8 5a fd14065 call 08e6ah ; e8 5a fd 14103 14066 mov bx, strict word 00025h ; bb 25 00 14104 14067 mov ax, si ; 89 f0 14105 14068 mov dx, word [bp+006h] ; 8b 56 06 14106 call 08a cch ; e8 6a f914069 call 08a85h ; e8 6a f9 14107 14070 mov bx, ax ; 89 c3 14108 14071 mov es, [bp+006h] ; 8e 46 06 … … 14134 14097 pop bp ; 5d 14135 14098 retn 00004h ; c2 04 00 14136 @ahci_write_sectors: ; 0xf91 abLB 0x8814099 @ahci_write_sectors: ; 0xf9164 LB 0x88 14137 14100 push bp ; 55 14138 14101 mov bp, sp ; 89 e5 … … 14146 14109 sub bx, strict byte 0000ch ; 83 eb 0c 14147 14110 cmp bx, strict byte 00004h ; 83 fb 04 14148 jbe short 091 d9h ; 76 1314111 jbe short 09192h ; 76 13 14149 14112 push bx ; 53 14150 mov ax, 00c f5h ; b8 f50c14151 push ax ; 50 14152 mov ax, 00c d6h ; b8 d60c14113 mov ax, 00c93h ; b8 93 0c 14114 push ax ; 50 14115 mov ax, 00c74h ; b8 74 0c 14153 14116 push ax ; 50 14154 14117 mov ax, strict word 00007h ; b8 07 00 14155 14118 push ax ; 50 14156 call 01976h ; e8 a08714119 call 01976h ; e8 e7 87 14157 14120 add sp, strict byte 00008h ; 83 c4 08 14158 14121 xor di, di ; 31 ff … … 14168 14131 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14169 14132 xor ax, ax ; 31 c0 14170 call 08e b1h ; e8 af fc14133 call 08e6ah ; e8 af fc 14171 14134 mov bx, strict word 00035h ; bb 35 00 14172 14135 mov ax, si ; 89 f0 14173 14136 mov dx, cx ; 89 ca 14174 call 08a cch ; e8 c0 f814137 call 08a85h ; e8 c0 f8 14175 14138 mov dx, ax ; 89 c2 14176 14139 mov es, cx ; 8e c1 … … 14187 14150 pop bp ; 5d 14188 14151 retn 00004h ; c2 04 00 14189 ahci_cmd_packet_: ; 0xf9 233LB 0x18c14152 ahci_cmd_packet_: ; 0xf91ec LB 0x18c 14190 14153 push bp ; 55 14191 14154 mov bp, sp ; 89 e5 … … 14199 14162 mov dx, strict word 0000eh ; ba 0e 00 14200 14163 mov ax, strict word 00040h ; b8 40 00 14201 call 0166eh ; e8 208414164 call 0166eh ; e8 67 84 14202 14165 mov si, 00122h ; be 22 01 14203 14166 mov word [bp-008h], ax ; 89 46 f8 14204 14167 cmp byte [bp+00ah], 002h ; 80 7e 0a 02 14205 jne short 092 7dh ; 75 2314206 mov bx, 00 e02h ; bb 02 0e14168 jne short 09236h ; 75 23 14169 mov bx, 00da6h ; bb a6 0d 14207 14170 mov cx, ds ; 8c d9 14208 14171 mov ax, strict word 00004h ; b8 04 00 14209 call 01933h ; e8 ce 8614210 mov ax, 00 d08h ; b8 08 0d14211 push ax ; 50 14212 mov ax, 00 d18h ; b8 18 0d14172 call 01933h ; e8 15 87 14173 mov ax, 00ca6h ; b8 a6 0c 14174 push ax ; 50 14175 mov ax, 00cb6h ; b8 b6 0c 14213 14176 push ax ; 50 14214 14177 mov ax, strict word 00004h ; b8 04 00 14215 14178 push ax ; 50 14216 call 01976h ; e8 028714179 call 01976h ; e8 49 87 14217 14180 add sp, strict byte 00006h ; 83 c4 06 14218 14181 mov ax, strict word 00001h ; b8 01 00 14219 jmp near 093 b6h ; e9 39 0114182 jmp near 0936fh ; e9 39 01 14220 14183 test byte [bp+004h], 001h ; f6 46 04 01 14221 jne short 092 77h ; 75 f414184 jne short 09230h ; 75 f4 14222 14185 mov bx, word [bp+006h] ; 8b 5e 06 14223 14186 mov di, word [bp+008h] ; 8b 7e 08 … … 14225 14188 sal bx, 1 ; d1 e3 14226 14189 rcl di, 1 ; d1 d7 14227 loop 092 8ch ; e2 fa14190 loop 09245h ; e2 fa 14228 14191 mov es, [bp-008h] ; 8e 46 f8 14229 14192 mov word [es:si], bx ; 26 89 1c … … 14239 14202 mov dx, word [bp+008h] ; 8b 56 08 14240 14203 xor cx, cx ; 31 c9 14241 call 0a1 a0h ; e8 db0e14204 call 0a160h ; e8 e2 0e 14242 14205 mov word [es:si+00eh], ax ; 26 89 44 0e 14243 14206 xor di, di ; 31 ff … … 14257 14220 mov dx, word [es:si+00232h] ; 26 8b 94 32 02 14258 14221 xor ax, ax ; 31 c0 14259 call 08e b1h ; e8 af fb14222 call 08e6ah ; e8 af fb 14260 14223 mov al, byte [bp-006h] ; 8a 46 fa 14261 14224 xor ah, ah ; 30 e4 … … 14265 14228 mov ax, 000c0h ; b8 c0 00 14266 14229 mov dx, word [bp-00ah] ; 8b 56 f6 14267 call 0a 200h ; e8 e90e14230 call 0a1c0h ; e8 f0 0e 14268 14231 mov es, [bp-008h] ; 8e 46 f8 14269 14232 mov word [es:si+018h], di ; 26 89 7c 18 … … 14272 14235 mov ax, word [es:si+01eh] ; 26 8b 44 1e 14273 14236 test ax, ax ; 85 c0 14274 je short 093 55h ; 74 2714237 je short 0930eh ; 74 27 14275 14238 dec ax ; 48 14276 14239 mov es, [bp-00ah] ; 8e 46 f6 … … 14285 14248 mov ax, si ; 89 f0 14286 14249 mov dx, word [bp-008h] ; 8b 56 f8 14287 call 08a cch ; e8 6c f714250 call 08a85h ; e8 6c f7 14288 14251 les bx, [bp-00eh] ; c4 5e f2 14289 14252 mov dx, word [es:bx+004h] ; 26 8b 57 04 … … 14312 14275 mov ax, word [es:bx+006h] ; 26 8b 47 06 14313 14276 or ax, word [es:bx+004h] ; 26 0b 47 04 14314 jne short 093 b4h ; 75 0514277 jne short 0936dh ; 75 05 14315 14278 mov ax, strict word 00004h ; b8 04 00 14316 jmp short 093 b6h ; eb 0214279 jmp short 0936fh ; eb 02 14317 14280 xor ax, ax ; 31 c0 14318 14281 lea sp, [bp-004h] ; 8d 66 fc … … 14321 14284 pop bp ; 5d 14322 14285 retn 0000ch ; c2 0c 00 14323 ahci_port_detect_device_: ; 0xf93 bfLB 0x4fe14286 ahci_port_detect_device_: ; 0xf9378 LB 0x4fe 14324 14287 push bp ; 55 14325 14288 mov bp, sp ; 89 e5 … … 14337 14300 mov bx, word [bp-020h] ; 8b 5e e0 14338 14301 mov ax, si ; 89 f0 14339 call 08e b1h ; e8 ce fa14302 call 08e6ah ; e8 ce fa 14340 14303 mov dx, strict word 0000eh ; ba 0e 00 14341 14304 mov ax, strict word 00040h ; b8 40 00 14342 call 0166eh ; e8 828214305 call 0166eh ; e8 c9 82 14343 14306 mov word [bp-01ah], 00122h ; c7 46 e6 22 01 14344 14307 mov word [bp-00eh], ax ; 89 46 f2 … … 14412 14375 mov bx, strict word 0000fh ; bb 0f 00 14413 14376 xor cx, cx ; 31 c9 14414 call 08 939h ; e8 9f f414377 call 088f2h ; e8 9f f4 14415 14378 test ax, ax ; 85 c0 14416 jne short 094 a1h ; 75 0314417 jmp near 098 b5h ; e9 14 0414379 jne short 0945ah ; 75 03 14380 jmp near 0986eh ; e9 14 04 14418 14381 mov al, byte [bp-008h] ; 8a 46 f8 14419 14382 xor ah, ah ; 30 e4 … … 14447 14410 xor cx, cx ; 31 c9 14448 14411 mov ax, di ; 89 f8 14449 call 08 939h ; e8 4d f414412 call 088f2h ; e8 4d f4 14450 14413 cmp ax, strict word 00001h ; 3d 01 00 14451 je short 094 a1h ; 74 b014414 je short 0945ah ; 74 b0 14452 14415 xor ax, ax ; 31 c0 14453 14416 push ax ; 50 … … 14456 14419 mov ax, di ; 89 f8 14457 14420 mov dx, word [bp-01ch] ; 8b 56 e4 14458 call 08 939h ; e8 38 f414421 call 088f2h ; e8 38 f4 14459 14422 cmp ax, strict word 00003h ; 3d 03 00 14460 jne short 094 9eh ; 75 9814423 jne short 09457h ; 75 98 14461 14424 mov ax, word [bp-016h] ; 8b 46 ea 14462 14425 add ax, 00130h ; 05 30 01 … … 14486 14449 mov byte [bp-00ch], al ; 88 46 f4 14487 14450 cmp AL, strict byte 004h ; 3c 04 14488 jc short 095 50h ; 72 0314489 jmp near 098 b5h ; e9 65 0314451 jc short 09509h ; 72 03 14452 jmp near 0986eh ; e9 65 03 14490 14453 mov ax, word [bp-016h] ; 8b 46 ea 14491 14454 add ax, 00118h ; 05 18 01 … … 14539 14502 add cl, 00ch ; 80 c1 0c 14540 14503 test dx, dx ; 85 d2 14541 jne short 09 61bh ; 75 5514504 jne short 095d4h ; 75 55 14542 14505 cmp bx, 00101h ; 81 fb 01 01 14543 jne short 09 61bh ; 75 4f14506 jne short 095d4h ; 75 4f 14544 14507 mov es, [bp-00eh] ; 8e 46 f2 14545 14508 mov bx, word [bp-01ah] ; 8b 5e e6 … … 14556 14519 mov ax, word [bp-01ah] ; 8b 46 e6 14557 14520 mov dx, es ; 8c c2 14558 call 08a cch ; e8 c0 f414521 call 08a85h ; e8 c0 f4 14559 14522 mov byte [bp-00ah], cl ; 88 4e f6 14560 14523 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14561 je short 09 61eh ; 74 0814524 je short 095d7h ; 74 08 14562 14525 mov ax, strict word 00001h ; b8 01 00 14563 jmp short 09 620h ; eb 0514564 jmp near 097 f0h ; e9 d2 0114526 jmp short 095d9h ; eb 05 14527 jmp near 097a9h ; e9 d2 01 14565 14528 xor ax, ax ; 31 c0 14566 14529 mov cl, al ; 88 c1 … … 14578 14541 mov word [bp-012h], ax ; 89 46 ee 14579 14542 cmp di, 00fffh ; 81 ff ff 0f 14580 jne short 096 6fh ; 75 1f14543 jne short 09628h ; 75 1f 14581 14544 cmp word [bp-014h], strict byte 0ffffh ; 83 7e ec ff 14582 jne short 096 6fh ; 75 1914545 jne short 09628h ; 75 19 14583 14546 mov ax, word [bp-0015ch] ; 8b 86 a4 fe 14584 14547 mov word [bp-012h], ax ; 89 46 ee … … 14620 14583 mov al, byte [bp-00ch] ; 8a 46 f4 14621 14584 cmp AL, strict byte 001h ; 3c 01 14622 jc short 096 ech ; 72 0c14623 jbe short 096 f4h ; 76 1214585 jc short 096a5h ; 72 0c 14586 jbe short 096adh ; 76 12 14624 14587 cmp AL, strict byte 003h ; 3c 03 14625 je short 096 fch ; 74 1614588 je short 096b5h ; 74 16 14626 14589 cmp AL, strict byte 002h ; 3c 02 14627 je short 096 f8h ; 74 0e14628 jmp short 09 73fh ; eb 5314590 je short 096b1h ; 74 0e 14591 jmp short 096f8h ; eb 53 14629 14592 test al, al ; 84 c0 14630 jne short 09 73fh ; 75 4f14593 jne short 096f8h ; 75 4f 14631 14594 mov DL, strict byte 040h ; b2 40 14632 jmp short 096 feh ; eb 0a14595 jmp short 096b7h ; eb 0a 14633 14596 mov DL, strict byte 048h ; b2 48 14634 jmp short 096 feh ; eb 0614597 jmp short 096b7h ; eb 06 14635 14598 mov DL, strict byte 050h ; b2 50 14636 jmp short 096 feh ; eb 0214599 jmp short 096b7h ; eb 02 14637 14600 mov DL, strict byte 058h ; b2 58 14638 14601 mov bl, dl ; 88 d3 … … 14640 14603 xor bh, bh ; 30 ff 14641 14604 mov ax, bx ; 89 d8 14642 call 016aeh ; e8 a47f14605 call 016aeh ; e8 eb 7f 14643 14606 test al, al ; 84 c0 14644 je short 09 73fh ; 74 3114607 je short 096f8h ; 74 31 14645 14608 mov al, dl ; 88 d0 14646 14609 db 0feh, 0c0h 14647 14610 ; inc al ; fe c0 14648 14611 xor ah, ah ; 30 e4 14649 call 016aeh ; e8 977f14612 call 016aeh ; e8 de 7f 14650 14613 mov ch, al ; 88 c5 14651 14614 mov al, dl ; 88 d0 14652 14615 xor ah, ah ; 30 e4 14653 call 016aeh ; e8 8e7f14616 call 016aeh ; e8 d5 7f 14654 14617 mov ah, ch ; 88 ec 14655 14618 mov word [bp-028h], ax ; 89 46 d8 … … 14657 14620 add AL, strict byte 002h ; 04 02 14658 14621 xor ah, ah ; 30 e4 14659 call 016aeh ; e8 807f14622 call 016aeh ; e8 c7 7f 14660 14623 xor ah, ah ; 30 e4 14661 14624 mov word [bp-02ah], ax ; 89 46 d6 14662 14625 mov ax, bx ; 89 d8 14663 call 016aeh ; e8 767f14626 call 016aeh ; e8 bd 7f 14664 14627 xor ah, ah ; 30 e4 14665 14628 mov word [bp-026h], ax ; 89 46 da 14666 jmp short 097 51h ; eb 1214629 jmp short 0970ah ; eb 12 14667 14630 push word [bp-012h] ; ff 76 ee 14668 14631 push word [bp-01eh] ; ff 76 e2 … … 14671 14634 mov dx, ss ; 8c d2 14672 14635 lea ax, [bp-02ah] ; 8d 46 d6 14673 call 05b7fh ; e8 2ec414674 mov bx, 00 e02h ; bb 02 0e14636 call 05b7fh ; e8 75 c4 14637 mov bx, 00da6h ; bb a6 0d 14675 14638 mov cx, ds ; 8c d9 14676 14639 mov ax, strict word 00004h ; b8 04 00 14677 call 01933h ; e8 d7 8114640 call 01933h ; e8 1e 82 14678 14641 push word [bp-012h] ; ff 76 ee 14679 14642 push word [bp-01eh] ; ff 76 e2 … … 14694 14657 mov al, byte [bp-00ch] ; 8a 46 f4 14695 14658 push ax ; 50 14696 mov ax, 00 d38h ; b8 38 0d14659 mov ax, 00cd6h ; b8 d6 0c 14697 14660 push ax ; 50 14698 14661 mov ax, strict word 00004h ; b8 04 00 14699 14662 push ax ; 50 14700 call 01976h ; e8 e6 8114663 call 01976h ; e8 2d 82 14701 14664 add sp, strict byte 0001ch ; 83 c4 1c 14702 14665 mov al, byte [bp-00ah] ; 8a 46 f6 … … 14730 14693 mov dx, strict word 00075h ; ba 75 00 14731 14694 mov ax, strict word 00040h ; b8 40 00 14732 call 01652h ; e8 747e14695 call 01652h ; e8 bb 7e 14733 14696 mov bl, al ; 88 c3 14734 14697 db 0feh, 0c3h … … 14737 14700 mov dx, strict word 00075h ; ba 75 00 14738 14701 mov ax, strict word 00040h ; b8 40 00 14739 call 01660h ; e8 737e14740 jmp near 098 a4h ; e9 b4 0014702 call 01660h ; e8 ba 7e 14703 jmp near 0985dh ; e9 b4 00 14741 14704 cmp dx, 0eb14h ; 81 fa 14 eb 14742 jne short 098 4bh ; 75 5514705 jne short 09804h ; 75 55 14743 14706 cmp bx, 00101h ; 81 fb 01 01 14744 jne short 098 4bh ; 75 4f14707 jne short 09804h ; 75 4f 14745 14708 mov es, [bp-00eh] ; 8e 46 f2 14746 14709 mov bx, word [bp-01ah] ; 8b 5e e6 … … 14757 14720 mov ax, word [bp-01ah] ; 8b 46 e6 14758 14721 mov dx, es ; 8c c2 14759 call 08a cch ; e8 90 f214722 call 08a85h ; e8 90 f2 14760 14723 mov byte [bp-00ah], cl ; 88 4e f6 14761 14724 test byte [bp-0022ah], 080h ; f6 86 d6 fd 80 14762 je short 098 4dh ; 74 0714725 je short 09806h ; 74 07 14763 14726 mov cx, strict word 00001h ; b9 01 00 14764 jmp short 098 4fh ; eb 0414765 jmp short 098 a4h ; eb 5714727 jmp short 09808h ; eb 04 14728 jmp short 0985dh ; eb 57 14766 14729 xor cx, cx ; 31 c9 14767 14730 mov bl, byte [bp-00ch] ; 8a 5e f4 … … 14803 14766 pop bp ; 5d 14804 14767 retn ; c3 14805 ahci_mem_alloc_: ; 0xf98 bdLB 0x4314768 ahci_mem_alloc_: ; 0xf9876 LB 0x43 14806 14769 push bp ; 55 14807 14770 mov bp, sp ; 89 e5 … … 14813 14776 mov dx, 00413h ; ba 13 04 14814 14777 xor ax, ax ; 31 c0 14815 call 0166eh ; e8 a17d14778 call 0166eh ; e8 e8 7d 14816 14779 test ax, ax ; 85 c0 14817 je short 098 f6h ; 74 2514780 je short 098afh ; 74 25 14818 14781 dec ax ; 48 14819 14782 mov bx, ax ; 89 c3 … … 14822 14785 sal ax, 1 ; d1 e0 14823 14786 rcl dx, 1 ; d1 d2 14824 loop 098 d9h ; e2 fa14787 loop 09892h ; e2 fa 14825 14788 mov si, ax ; 89 c6 14826 14789 mov di, dx ; 89 d7 … … 14828 14791 shr di, 1 ; d1 ef 14829 14792 rcr si, 1 ; d1 de 14830 loop 098 e6h ; e2 fa14793 loop 0989fh ; e2 fa 14831 14794 mov dx, 00413h ; ba 13 04 14832 14795 xor ax, ax ; 31 c0 14833 call 0167ch ; e8 887d14796 call 0167ch ; e8 cf 7d 14834 14797 mov ax, si ; 89 f0 14835 14798 lea sp, [bp-00ah] ; 8d 66 f6 … … 14841 14804 pop bp ; 5d 14842 14805 retn ; c3 14843 ahci_hba_init_: ; 0xf9 900LB 0x16e14806 ahci_hba_init_: ; 0xf98b9 LB 0x16e 14844 14807 push bp ; 55 14845 14808 mov bp, sp ; 89 e5 … … 14853 14816 mov dx, strict word 0000eh ; ba 0e 00 14854 14817 mov ax, strict word 00040h ; b8 40 00 14855 call 0166eh ; e8 587d14818 call 0166eh ; e8 9f 7d 14856 14819 mov bx, 00122h ; bb 22 01 14857 14820 mov di, ax ; 89 c7 … … 14870 14833 shr eax, 010h ; 66 c1 e8 10 14871 14834 xchg dx, ax ; 92 14872 call 098 bdh ; e8 83 ff14835 call 09876h ; e8 83 ff 14873 14836 mov word [bp-010h], ax ; 89 46 f0 14874 14837 test ax, ax ; 85 c0 14875 jne short 09 944h ; 75 0314876 jmp near 09a 4dh ; e9 09 0114838 jne short 098fdh ; 75 03 14839 jmp near 09a06h ; e9 09 01 14877 14840 mov ax, word [bp-010h] ; 8b 46 f0 14878 14841 mov es, di ; 8e c7 … … 14924 14887 xchg dx, ax ; 92 14925 14888 test AL, strict byte 001h ; a8 01 14926 jne short 099 9eh ; 75 de14889 jne short 09957h ; 75 de 14927 14890 xor ax, ax ; 31 c0 14928 14891 xor cx, cx ; 31 c9 … … 14943 14906 mov bx, strict word 0001fh ; bb 1f 00 14944 14907 xor cx, cx ; 31 c9 14945 call 08 939h ; e8 54 ef14908 call 088f2h ; e8 54 ef 14946 14909 db 0feh, 0c0h 14947 14910 ; inc al ; fe c0 14948 14911 mov byte [bp-00eh], al ; 88 46 f2 14949 14912 mov byte [bp-00ch], 000h ; c6 46 f4 00 14950 jmp short 09 a11h ; eb 2114913 jmp short 099cah ; eb 21 14951 14914 xor al, al ; 30 c0 14952 14915 test al, al ; 84 c0 14953 je short 09 a08h ; 74 1214916 je short 099c1h ; 74 12 14954 14917 mov bl, byte [bp-00ch] ; 8a 5e f4 14955 14918 xor bh, bh ; 30 ff 14956 14919 xor ax, ax ; 31 c0 14957 14920 mov dx, word [bp-010h] ; 8b 56 f0 14958 call 093 bfh ; e8 bc f914921 call 09378h ; e8 bc f9 14959 14922 dec byte [bp-00eh] ; fe 4e f2 14960 je short 09a 4bh ; 74 4314923 je short 09a04h ; 74 43 14961 14924 inc byte [bp-00ch] ; fe 46 f4 14962 14925 cmp byte [bp-00ch], 020h ; 80 7e f4 20 14963 jnc short 09a 4bh ; 73 3a14926 jnc short 09a04h ; 73 3a 14964 14927 mov cl, byte [bp-00ch] ; 8a 4e f4 14965 14928 xor ch, ch ; 30 ed 14966 14929 mov bx, strict word 00001h ; bb 01 00 14967 14930 xor di, di ; 31 ff 14968 jcxz 09 a23h ; e3 0614931 jcxz 099dch ; e3 06 14969 14932 sal bx, 1 ; d1 e3 14970 14933 rcl di, 1 ; d1 d7 14971 loop 09 a1dh ; e2 fa14934 loop 099d6h ; e2 fa 14972 14935 mov ax, strict word 0000ch ; b8 0c 00 14973 14936 xor cx, cx ; 31 c9 … … 14985 14948 xchg dx, ax ; 92 14986 14949 test dx, di ; 85 fa 14987 jne short 09a 47h ; 75 0414950 jne short 09a00h ; 75 04 14988 14951 test ax, bx ; 85 d8 14989 je short 099 f0h ; 74 a914952 je short 099a9h ; 74 a9 14990 14953 mov AL, strict byte 001h ; b0 01 14991 jmp short 099 f2h ; eb a714954 jmp short 099abh ; eb a7 14992 14955 xor ax, ax ; 31 c0 14993 14956 lea sp, [bp-00ah] ; 8d 66 f6 … … 14999 14962 pop bp ; 5d 15000 14963 retn ; c3 15001 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 54h, 09bh, 032h, 09bh, 038h, 09bh, 03eh, 09bh, 044h15002 db 09 bh, 04ah, 09bh, 050h, 09bh, 054h, 09bh15003 _ahci_init: ; 0xf9a 6eLB 0x13914964 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 00dh, 09bh, 0ebh, 09ah, 0f1h, 09ah, 0f7h, 09ah, 0fdh 14965 db 09ah, 003h, 09bh, 009h, 09bh, 00dh, 09bh 14966 _ahci_init: ; 0xf9a27 LB 0x139 15004 14967 push bp ; 55 15005 14968 mov bp, sp ; 89 e5 … … 15009 14972 mov ax, 00601h ; b8 01 06 15010 14973 mov dx, strict word 00001h ; ba 01 00 15011 call 09f c6h ; e8 47 0514974 call 09f7fh ; e8 47 05 15012 14975 mov dx, ax ; 89 c2 15013 14976 cmp ax, strict word 0ffffh ; 3d ff ff 15014 je short 09a cfh ; 74 4914977 je short 09a88h ; 74 49 15015 14978 mov al, ah ; 88 e0 15016 14979 mov byte [bp-008h], ah ; 88 66 f8 … … 15019 14982 xor ah, ah ; 30 e4 15020 14983 mov bx, strict word 00034h ; bb 34 00 15021 call 09f f1h ; e8 59 0514984 call 09faah ; e8 59 05 15022 14985 mov cl, al ; 88 c1 15023 14986 test cl, cl ; 84 c9 15024 je short 09a d2h ; 74 3414987 je short 09a8bh ; 74 34 15025 14988 mov bl, cl ; 88 cb 15026 14989 xor bh, bh ; 30 ff … … 15033 14996 mov dx, word [bp-00ch] ; 8b 56 f4 15034 14997 mov ax, word [bp-012h] ; 8b 46 ee 15035 call 09f f1h ; e8 34 0514998 call 09faah ; e8 34 05 15036 14999 cmp AL, strict byte 012h ; 3c 12 15037 je short 09a d2h ; 74 1115000 je short 09a8bh ; 74 11 15038 15001 mov bl, cl ; 88 cb 15039 15002 db 0feh, 0c3h … … 15042 15005 mov dx, word [bp-00ch] ; 8b 56 f4 15043 15006 mov ax, word [bp-012h] ; 8b 46 ee 15044 jmp short 09a 95h ; eb c615045 jmp near 09b a0h ; e9 ce 0015007 jmp short 09a4eh ; eb c6 15008 jmp near 09b59h ; e9 ce 00 15046 15009 test cl, cl ; 84 c9 15047 je short 09a cfh ; 74 f915010 je short 09a88h ; 74 f9 15048 15011 add cl, 002h ; 80 c1 02 15049 15012 mov bl, cl ; 88 cb … … 15057 15020 mov dx, word [bp-00eh] ; 8b 56 f2 15058 15021 mov ax, word [bp-014h] ; 8b 46 ec 15059 call 09f f1h ; e8 f9 0415022 call 09faah ; e8 f9 04 15060 15023 cmp AL, strict byte 010h ; 3c 10 15061 jne short 09a cfh ; 75 d315024 jne short 09a88h ; 75 d3 15062 15025 mov byte [bp-006h], 000h ; c6 46 fa 00 15063 15026 mov bl, cl ; 88 cb … … 15066 15029 mov dx, word [bp-00eh] ; 8b 56 f2 15067 15030 mov ax, word [bp-014h] ; 8b 46 ec 15068 call 0 a018h ; e8 08 0515031 call 09fd1h ; e8 08 05 15069 15032 mov dx, ax ; 89 c2 15070 15033 and ax, strict word 0000fh ; 25 0f 00 15071 15034 sub ax, strict word 00004h ; 2d 04 00 15072 15035 cmp ax, strict word 0000bh ; 3d 0b 00 15073 jnbe short 09b 54h ; 77 3715036 jnbe short 09b0dh ; 77 37 15074 15037 push CS ; 0e 15075 15038 pop ES ; 07 15076 15039 mov cx, strict word 00008h ; b9 08 00 15077 mov di, 09a 57h ; bf 579a15040 mov di, 09a10h ; bf 10 9a 15078 15041 repne scasb ; f2 ae 15079 15042 sal cx, 1 ; d1 e1 15080 15043 mov di, cx ; 89 cf 15081 mov ax, word [cs:di-065 a2h] ; 2e 8b 85 5e9a15044 mov ax, word [cs:di-065e9h] ; 2e 8b 85 17 9a 15082 15045 jmp ax ; ff e0 15083 15046 mov byte [bp-006h], 010h ; c6 46 fa 10 15084 jmp short 09b 54h ; eb 1c15047 jmp short 09b0dh ; eb 1c 15085 15048 mov byte [bp-006h], 014h ; c6 46 fa 14 15086 jmp short 09b 54h ; eb 1615049 jmp short 09b0dh ; eb 16 15087 15050 mov byte [bp-006h], 018h ; c6 46 fa 18 15088 jmp short 09b 54h ; eb 1015051 jmp short 09b0dh ; eb 10 15089 15052 mov byte [bp-006h], 01ch ; c6 46 fa 1c 15090 jmp short 09b 54h ; eb 0a15053 jmp short 09b0dh ; eb 0a 15091 15054 mov byte [bp-006h], 020h ; c6 46 fa 20 15092 jmp short 09b 54h ; eb 0415055 jmp short 09b0dh ; eb 04 15093 15056 mov byte [bp-006h], 024h ; c6 46 fa 24 15094 15057 mov CL, strict byte 004h ; b1 04 … … 15099 15062 mov al, byte [bp-006h] ; 8a 46 fa 15100 15063 test al, al ; 84 c0 15101 je short 09b a0h ; 74 3b15064 je short 09b59h ; 74 3b 15102 15065 mov bl, al ; 88 c3 15103 15066 xor bh, bh ; 30 ff … … 15110 15073 mov dx, word [bp-010h] ; 8b 56 f0 15111 15074 mov ax, word [bp-016h] ; 8b 46 ea 15112 call 0 a03dh ; e8 b9 0415075 call 09ff6h ; e8 b9 04 15113 15076 test AL, strict byte 001h ; a8 01 15114 je short 09b a0h ; 74 1815077 je short 09b59h ; 74 18 15115 15078 and AL, strict byte 0f0h ; 24 f0 15116 15079 add si, ax ; 01 c6 … … 15119 15082 mov dx, word [bp-010h] ; 8b 56 f0 15120 15083 mov ax, word [bp-016h] ; 8b 46 ea 15121 call 0a0 7ch ; e8 e1 0415084 call 0a035h ; e8 e1 04 15122 15085 mov ax, si ; 89 f0 15123 call 09 900h ; e8 60 fd15086 call 098b9h ; e8 60 fd 15124 15087 lea sp, [bp-004h] ; 8d 66 fc 15125 15088 pop di ; 5f … … 15127 15090 pop bp ; 5d 15128 15091 retn ; c3 15129 apm_out_str_: ; 0xf9b a7LB 0x3915092 apm_out_str_: ; 0xf9b60 LB 0x39 15130 15093 push bp ; 55 15131 15094 mov bp, sp ; 89 e5 … … 15133 15096 mov bx, ax ; 89 c3 15134 15097 cmp byte [bx], 000h ; 80 3f 00 15135 je short 09b bch ; 74 0a15098 je short 09b75h ; 74 0a 15136 15099 mov al, byte [bx] ; 8a 07 15137 15100 out DX, AL ; ee … … 15140 15103 db 00ah, 0c0h 15141 15104 ; or al, al ; 0a c0 15142 jne short 09b b4h ; 75 f815105 jne short 09b6dh ; 75 f8 15143 15106 lea sp, [bp-002h] ; 8d 66 fe 15144 15107 pop bx ; 5b 15145 15108 pop bp ; 5d 15146 15109 retn ; c3 15147 add word [si-06374h], bx ; 01 9c 8c 9c 15148 adc bx, word [si-063d2h] ; 13 9c 2e 9c 15149 mov [si-063a7h], ds ; 8c 9c 59 9c 15150 mov [si-0636eh], ds ; 8c 9c 92 9c 15151 pop si ; 5e 15110 mov dx, 0459bh ; ba 9b 45 15152 15111 pushfw ; 9c 15153 pop si ; 5e 15112 int3 ; cc 15113 wait ; 9b 15114 out 09bh, ax ; e7 9b 15115 inc bp ; 45 15154 15116 pushfw ; 9c 15155 pop si ; 5e 15117 adc bl, byte [si-063bbh] ; 12 9c 45 9c 15118 dec bx ; 4b 15156 15119 pushfw ; 9c 15157 rcr word [si-063a2h], 1 ; d1 9c 5e 9c 15158 pop si ; 5e 15120 pop SS ; 17 15159 15121 pushfw ; 9c 15160 db 0cah15122 pop SS ; 17 15161 15123 pushfw ; 9c 15162 _apm_function: ; 0xf9be0 LB 0xf6 15124 pop SS ; 17 15125 pushfw ; 9c 15126 mov bl, byte [si-063e9h] ; 8a 9c 17 9c 15127 pop SS ; 17 15128 pushfw ; 9c 15129 db 083h 15130 pushfw ; 9c 15131 _apm_function: ; 0xf9b99 LB 0xf6 15163 15132 push bp ; 55 15164 15133 mov bp, sp ; 89 e5 … … 15168 15137 xor ah, ah ; 30 e4 15169 15138 cmp ax, strict word 0000eh ; 3d 0e 00 15170 jnbe short 09c 5eh ; 77 6c15139 jnbe short 09c17h ; 77 6c 15171 15140 mov bx, ax ; 89 c3 15172 15141 sal bx, 1 ; d1 e3 15173 15142 mov dx, word [bp+018h] ; 8b 56 18 15174 15143 or dl, 001h ; 80 ca 01 15175 jmp word [cs:bx-064 3eh] ; 2e ff a7 c29b15144 jmp word [cs:bx-06485h] ; 2e ff a7 7b 9b 15176 15145 mov word [bp+012h], 00102h ; c7 46 12 02 01 15177 15146 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 15178 15147 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 15179 jmp near 09c 8ch ; e9 79 0015148 jmp near 09c45h ; e9 79 00 15180 15149 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 15181 mov word [bp+00ch], 0a2 74h ; c7 46 0c 74 a215150 mov word [bp+00ch], 0a234h ; c7 46 0c 34 a2 15182 15151 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 15183 15152 mov ax, strict word 0fff0h ; b8 f0 ff 15184 15153 mov word [bp+006h], ax ; 89 46 06 15185 15154 mov word [bp+004h], ax ; 89 46 04 15186 jmp near 09c 8ch ; e9 5e 0015155 jmp near 09c45h ; e9 5e 00 15187 15156 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 15188 15157 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 15197 15166 mov si, ax ; 89 c6 15198 15167 sal esi, 010h ; 66 c1 e6 10 15199 jmp near 09c 8ch ; e9 33 0015168 jmp near 09c45h ; e9 33 00 15200 15169 sti ; fb 15201 15170 hlt ; f4 15202 jmp near 09c 8ch ; e9 2e 0015203 mov bx, 00 e02h ; bb 02 0e15171 jmp near 09c45h ; e9 2e 00 15172 mov bx, 00da6h ; bb a6 0d 15204 15173 mov cx, ds ; 8c d9 15205 15174 mov ax, strict word 00004h ; b8 04 00 15206 call 01933h ; e8 ca 7c15175 call 01933h ; e8 11 7d 15207 15176 push word [bp+00ch] ; ff 76 0c 15208 15177 push word [bp+012h] ; ff 76 12 15209 mov ax, 00d 8bh ; b8 8b0d15178 mov ax, 00d29h ; b8 29 0d 15210 15179 push ax ; 50 15211 15180 mov ax, strict word 00004h ; b8 04 00 15212 15181 push ax ; 50 15213 call 01976h ; e8 fc 7c15182 call 01976h ; e8 43 7d 15214 15183 add sp, strict byte 00008h ; 83 c4 08 15215 15184 mov ax, word [bp+012h] ; 8b 46 12 … … 15223 15192 retn ; c3 15224 15193 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 15225 je short 09c b7h ; 74 1f15194 je short 09c70h ; 74 1f 15226 15195 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 15227 je short 09c afh ; 74 1115196 je short 09c68h ; 74 11 15228 15197 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 15229 jne short 09c bfh ; 75 1b15198 jne short 09c78h ; 75 1b 15230 15199 mov dx, 0040fh ; ba 0f 04 15231 mov ax, 00d 72h ; b8 720d15232 call 09b a7h ; e8 fa fe15233 jmp short 09c 8ch ; eb dd15200 mov ax, 00d10h ; b8 10 0d 15201 call 09b60h ; e8 fa fe 15202 jmp short 09c45h ; eb dd 15234 15203 mov dx, 0040fh ; ba 0f 04 15235 mov ax, 00d 7ah ; b8 7a0d15236 jmp short 09c aah ; eb f315204 mov ax, 00d18h ; b8 18 0d 15205 jmp short 09c63h ; eb f3 15237 15206 mov dx, 0040fh ; ba 0f 04 15238 mov ax, 00d 82h ; b8 820d15239 jmp short 09c aah ; eb eb15207 mov ax, 00d20h ; b8 20 0d 15208 jmp short 09c63h ; eb eb 15240 15209 or ah, 00ah ; 80 cc 0a 15241 15210 mov word [bp+012h], ax ; 89 46 12 15242 15211 mov word [bp+018h], dx ; 89 56 18 15243 jmp short 09c 8ch ; eb c215212 jmp short 09c45h ; eb c2 15244 15213 mov word [bp+012h], 00102h ; c7 46 12 02 01 15245 jmp short 09c 8ch ; eb bb15214 jmp short 09c45h ; eb bb 15246 15215 or ah, 080h ; 80 cc 80 15247 jmp short 09c c2h ; eb ec15248 pci16_select_reg_: ; 0xf9c d6LB 0x2415216 jmp short 09c7bh ; eb ec 15217 pci16_select_reg_: ; 0xf9c8f LB 0x24 15249 15218 push bp ; 55 15250 15219 mov bp, sp ; 89 e5 … … 15263 15232 pop bp ; 5d 15264 15233 retn ; c3 15265 pci16_find_device_: ; 0xf9c faLB 0xf715234 pci16_find_device_: ; 0xf9cb3 LB 0xf7 15266 15235 push bp ; 55 15267 15236 mov bp, sp ; 89 e5 … … 15277 15246 mov byte [bp-006h], 000h ; c6 46 fa 00 15278 15247 test bl, 007h ; f6 c3 07 15279 jne short 09 d42h ; 75 2d15248 jne short 09cfbh ; 75 2d 15280 15249 mov dx, strict word 0000eh ; ba 0e 00 15281 15250 mov ax, bx ; 89 d8 15282 call 09c d6h ; e8 b9 ff15251 call 09c8fh ; e8 b9 ff 15283 15252 mov dx, 00cfeh ; ba fe 0c 15284 15253 in AL, DX ; ec … … 15287 15256 mov byte [bp-008h], al ; 88 46 f8 15288 15257 cmp AL, strict byte 0ffh ; 3c ff 15289 jne short 09 d30h ; 75 0615258 jne short 09ce9h ; 75 06 15290 15259 add bx, strict byte 00008h ; 83 c3 08 15291 jmp near 09d c2h ; e9 92 0015260 jmp near 09d7bh ; e9 92 00 15292 15261 test byte [bp-008h], 080h ; f6 46 f8 80 15293 je short 09 d3dh ; 74 0715262 je short 09cf6h ; 74 07 15294 15263 mov word [bp-00eh], strict word 00001h ; c7 46 f2 01 00 15295 jmp short 09 d42h ; eb 0515264 jmp short 09cfbh ; eb 05 15296 15265 mov word [bp-00eh], strict word 00008h ; c7 46 f2 08 00 15297 15266 mov al, byte [bp-008h] ; 8a 46 f8 15298 15267 and AL, strict byte 007h ; 24 07 15299 15268 cmp AL, strict byte 001h ; 3c 01 15300 jne short 09d 69h ; 75 1e15269 jne short 09d22h ; 75 1e 15301 15270 mov al, bh ; 88 f8 15302 15271 xor ah, ah ; 30 e4 15303 15272 test ax, ax ; 85 c0 15304 jne short 09d 69h ; 75 1615273 jne short 09d22h ; 75 16 15305 15274 mov dx, strict word 0001ah ; ba 1a 00 15306 15275 mov ax, bx ; 89 d8 15307 call 09c d6h ; e8 7b ff15276 call 09c8fh ; e8 7b ff 15308 15277 mov dx, 00cfeh ; ba fe 0c 15309 15278 in AL, DX ; ec … … 15311 15280 ; sub ah, ah ; 2a e4 15312 15281 cmp al, byte [bp-006h] ; 3a 46 fa 15313 jbe short 09d 69h ; 76 0315282 jbe short 09d22h ; 76 03 15314 15283 mov byte [bp-006h], al ; 88 46 fa 15315 15284 test di, di ; 85 ff 15316 je short 09d 72h ; 74 0515285 je short 09d2bh ; 74 05 15317 15286 mov dx, strict word 00008h ; ba 08 00 15318 jmp short 09d 74h ; eb 0215287 jmp short 09d2dh ; eb 02 15319 15288 xor dx, dx ; 31 d2 15320 15289 mov ax, bx ; 89 d8 15321 call 09c d6h ; e8 5d ff15290 call 09c8fh ; e8 5d ff 15322 15291 mov dx, 00cfch ; ba fc 0c 15323 15292 in eax, DX ; 66 ed … … 15330 15299 mov word [bp-00ch], strict word 00000h ; c7 46 f4 00 00 15331 15300 test di, di ; 85 ff 15332 je short 09d a3h ; 74 0f15301 je short 09d5ch ; 74 0f 15333 15302 mov cx, strict word 00008h ; b9 08 00 15334 15303 shr dx, 1 ; d1 ea 15335 15304 rcr ax, 1 ; d1 d8 15336 loop 09d 97h ; e2 fa15305 loop 09d50h ; e2 fa 15337 15306 mov word [bp-00ah], ax ; 89 46 f6 15338 15307 mov word [bp-010h], dx ; 89 56 f0 15339 15308 mov ax, word [bp-010h] ; 8b 46 f0 15340 15309 cmp ax, word [bp-014h] ; 3b 46 ec 15341 jne short 09d b3h ; 75 0815310 jne short 09d6ch ; 75 08 15342 15311 mov ax, word [bp-00ah] ; 8b 46 f6 15343 15312 cmp ax, word [bp-012h] ; 3b 46 ee 15344 je short 09d b9h ; 74 0615313 je short 09d72h ; 74 06 15345 15314 cmp word [bp-00ch], strict byte 00000h ; 83 7e f4 00 15346 je short 09d bfh ; 74 0615315 je short 09d78h ; 74 06 15347 15316 dec si ; 4e 15348 15317 cmp si, strict byte 0ffffh ; 83 fe ff 15349 je short 09d d2h ; 74 1315318 je short 09d8bh ; 74 13 15350 15319 add bx, word [bp-00eh] ; 03 5e f2 15351 15320 mov al, bh ; 88 f8 … … 15354 15323 xor dh, dh ; 30 f6 15355 15324 cmp ax, dx ; 39 d0 15356 jnbe short 09d d2h ; 77 0315357 jmp near 09 d10h ; e9 3e ff15325 jnbe short 09d8bh ; 77 03 15326 jmp near 09cc9h ; e9 3e ff 15358 15327 cmp si, strict byte 0ffffh ; 83 fe ff 15359 jne short 09d dbh ; 75 0415328 jne short 09d94h ; 75 04 15360 15329 mov ax, bx ; 89 d8 15361 jmp short 09d deh ; eb 0315330 jmp short 09d97h ; eb 03 15362 15331 mov ax, strict word 0ffffh ; b8 ff ff 15363 15332 lea sp, [bp-004h] ; 8d 66 fc … … 15366 15335 pop bp ; 5d 15367 15336 retn ; c3 15368 rcr byte [bp-06115h], CL ; d2 9e eb 9e 15369 std ; fd 15337 mov bx, word [bp-0615ch] ; 8b 9e a4 9e 15338 mov DH, strict byte 09eh ; b6 9e 15339 retf 0dc9eh ; ca 9e dc 15370 15340 sahf ; 9e 15371 adc word [bx-060ddh], bx ; 11 9f 23 9f 15372 db 036h, 09fh 15373 ; ss lahf ; 36 9f 15374 _pci16_function: ; 0xf9df1 LB 0x1d5 15341 out DX, ax ; ef 15342 sahf ; 9e 15343 _pci16_function: ; 0xf9daa LB 0x1d5 15375 15344 push bp ; 55 15376 15345 mov bp, sp ; 89 e5 … … 15386 15355 xor ah, ah ; 30 e4 15387 15356 cmp bx, strict byte 00003h ; 83 fb 03 15388 jc short 09 e23h ; 72 1315389 jbe short 09e 76h ; 76 6415357 jc short 09ddch ; 72 13 15358 jbe short 09e2fh ; 76 64 15390 15359 cmp bx, strict byte 0000eh ; 83 fb 0e 15391 je short 09e 7eh ; 74 6715360 je short 09e37h ; 74 67 15392 15361 cmp bx, strict byte 00008h ; 83 fb 08 15393 jc short 09 e2dh ; 72 1115362 jc short 09de6h ; 72 11 15394 15363 cmp bx, strict byte 0000dh ; 83 fb 0d 15395 jbe short 09e 81h ; 76 6015396 jmp short 09 e2dh ; eb 0a15364 jbe short 09e3ah ; 76 60 15365 jmp short 09de6h ; eb 0a 15397 15366 cmp bx, strict byte 00002h ; 83 fb 02 15398 je short 09e 4ch ; 74 2415367 je short 09e05h ; 74 24 15399 15368 cmp bx, strict byte 00001h ; 83 fb 01 15400 je short 09 e30h ; 74 0315401 jmp near 09f 8fh ; e9 5f 0115369 je short 09de9h ; 74 03 15370 jmp near 09f48h ; e9 5f 01 15402 15371 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 15403 15372 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 15405 15374 mov word [bp+018h], 04350h ; c7 46 18 50 43 15406 15375 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 15407 jmp near 09f bfh ; e9 73 0115376 jmp near 09f78h ; e9 73 01 15408 15377 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 15409 jne short 09e 58h ; 75 0615378 jne short 09e11h ; 75 06 15410 15379 or ah, 083h ; 80 cc 83 15411 jmp near 09f b8h ; e9 60 0115380 jmp near 09f71h ; e9 60 01 15412 15381 mov bx, word [bp+008h] ; 8b 5e 08 15413 15382 mov dx, word [bp+01ch] ; 8b 56 1c 15414 15383 mov ax, word [bp+018h] ; 8b 46 18 15415 15384 xor cx, cx ; 31 c9 15416 call 09c fah ; e8 94 fe15385 call 09cb3h ; e8 94 fe 15417 15386 cmp ax, strict word 0ffffh ; 3d ff ff 15418 jne short 09e 78h ; 75 0d15387 jne short 09e31h ; 75 0d 15419 15388 mov ax, word [bp+020h] ; 8b 46 20 15420 15389 xor ah, ah ; 30 e4 15421 15390 or ah, 086h ; 80 cc 86 15422 jmp near 09f b8h ; e9 42 0115423 jmp short 09e 83h ; eb 0b15391 jmp near 09f71h ; e9 42 01 15392 jmp short 09e3ch ; eb 0b 15424 15393 mov word [bp+014h], ax ; 89 46 14 15425 jmp near 09f bfh ; e9 41 0115426 jmp near 09f 4ah ; e9 c9 0015427 jmp short 09e a8h ; eb 2515394 jmp near 09f78h ; e9 41 01 15395 jmp near 09f03h ; e9 c9 00 15396 jmp short 09e61h ; eb 25 15428 15397 mov bx, word [bp+008h] ; 8b 5e 08 15429 15398 mov ax, word [bp+01ch] ; 8b 46 1c 15430 15399 mov dx, word [bp+01eh] ; 8b 56 1e 15431 15400 mov cx, strict word 00001h ; b9 01 00 15432 call 09c fah ; e8 68 fe15401 call 09cb3h ; e8 68 fe 15433 15402 cmp ax, strict word 0ffffh ; 3d ff ff 15434 jne short 09e a2h ; 75 0b15403 jne short 09e5bh ; 75 0b 15435 15404 mov ax, word [bp+020h] ; 8b 46 20 15436 15405 xor ah, ah ; 30 e4 15437 15406 or ah, 086h ; 80 cc 86 15438 jmp near 09f b8h ; e9 16 0115407 jmp near 09f71h ; e9 16 01 15439 15408 mov word [bp+014h], ax ; 89 46 14 15440 jmp near 09f bfh ; e9 17 0115409 jmp near 09f78h ; e9 17 01 15441 15410 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 15442 jc short 09e b5h ; 72 0615411 jc short 09e6eh ; 72 06 15443 15412 or ah, 087h ; 80 cc 87 15444 jmp near 09f b8h ; e9 03 0115413 jmp near 09f71h ; e9 03 01 15445 15414 mov dx, word [bp+004h] ; 8b 56 04 15446 15415 mov ax, word [bp+014h] ; 8b 46 14 15447 call 09c d6h ; e8 18 fe15416 call 09c8fh ; e8 18 fe 15448 15417 mov bx, word [bp+020h] ; 8b 5e 20 15449 15418 xor bh, bh ; 30 ff 15450 15419 sub bx, strict byte 00008h ; 83 eb 08 15451 15420 cmp bx, strict byte 00005h ; 83 fb 05 15452 jnbe short 09 f33h ; 77 6815421 jnbe short 09eech ; 77 68 15453 15422 sal bx, 1 ; d1 e3 15454 jmp word [cs:bx-062 1bh] ; 2e ff a7 e59d15423 jmp word [cs:bx-06262h] ; 2e ff a7 9e 9d 15455 15424 mov bx, word [bp+01ch] ; 8b 5e 1c 15456 15425 xor bl, bl ; 30 db … … 15463 15432 or bx, ax ; 09 c3 15464 15433 mov word [bp+01ch], bx ; 89 5e 1c 15465 jmp short 09 f33h ; eb 4815434 jmp short 09eech ; eb 48 15466 15435 mov dx, word [bp+004h] ; 8b 56 04 15467 15436 xor dh, dh ; 30 f6 … … 15470 15439 in ax, DX ; ed 15471 15440 mov word [bp+01ch], ax ; 89 46 1c 15472 jmp short 09 f33h ; eb 3615441 jmp short 09eech ; eb 36 15473 15442 mov dx, 00cfch ; ba fc 0c 15474 15443 in eax, DX ; 66 ed … … 15479 15448 mov word [bp+01ch], ax ; 89 46 1c 15480 15449 mov word [bp+01eh], dx ; 89 56 1e 15481 jmp short 09 f33h ; eb 2215450 jmp short 09eech ; eb 22 15482 15451 mov ax, word [bp+01ch] ; 8b 46 1c 15483 15452 mov dx, word [bp+004h] ; 8b 56 04 … … 15486 15455 add dx, 00cfch ; 81 c2 fc 0c 15487 15456 out DX, AL ; ee 15488 jmp short 09 f33h ; eb 1015457 jmp short 09eech ; eb 10 15489 15458 mov ax, word [bp+01ch] ; 8b 46 1c 15490 15459 mov dx, word [bp+004h] ; 8b 56 04 … … 15493 15462 add dx, 00cfch ; 81 c2 fc 0c 15494 15463 out DX, ax ; ef 15495 jmp near 09f bfh ; e9 89 0015464 jmp near 09f78h ; e9 89 00 15496 15465 mov ax, word [bp+01ch] ; 8b 46 1c 15497 15466 mov cx, word [bp+01eh] ; 8b 4e 1e … … 15502 15471 ; mov ax, cx ; 8b c1 15503 15472 out DX, eax ; 66 ef 15504 jmp short 09f bfh ; eb 7515473 jmp short 09f78h ; eb 75 15505 15474 mov bx, word [bp+004h] ; 8b 5e 04 15506 15475 mov es, [bp+026h] ; 8e 46 26 … … 15509 15478 mov cx, word [0f380h] ; 8b 0e 80 f3 15510 15479 cmp cx, word [es:bx] ; 26 3b 0f 15511 jbe short 09f 70h ; 76 1115480 jbe short 09f29h ; 76 11 15512 15481 mov ax, word [bp+020h] ; 8b 46 20 15513 15482 xor ah, ah ; 30 e4 … … 15515 15484 mov word [bp+020h], ax ; 89 46 20 15516 15485 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 15517 jmp short 09f 84h ; eb 1415486 jmp short 09f3dh ; eb 14 15518 15487 les di, [es:bx+002h] ; 26 c4 7f 02 15519 15488 mov si, 0f1a0h ; be a0 f1 … … 15527 15496 les bx, [bp-008h] ; c4 5e f8 15528 15497 mov word [es:bx], ax ; 26 89 07 15529 jmp short 09f bfh ; eb 3015530 mov bx, 00 e02h ; bb 02 0e15498 jmp short 09f78h ; eb 30 15499 mov bx, 00da6h ; bb a6 0d 15531 15500 mov cx, ds ; 8c d9 15532 15501 mov ax, strict word 00004h ; b8 04 00 15533 call 01933h ; e8 997915502 call 01933h ; e8 e0 79 15534 15503 mov ax, word [bp+014h] ; 8b 46 14 15535 15504 push ax ; 50 15536 15505 mov ax, word [bp+020h] ; 8b 46 20 15537 15506 push ax ; 50 15538 mov ax, 00d beh ; b8 be0d15507 mov ax, 00d5ch ; b8 5c 0d 15539 15508 push ax ; 50 15540 15509 mov ax, strict word 00004h ; b8 04 00 15541 15510 push ax ; 50 15542 call 01976h ; e8 c9 7915511 call 01976h ; e8 10 7a 15543 15512 add sp, strict byte 00008h ; 83 c4 08 15544 15513 mov ax, word [bp+020h] ; 8b 46 20 … … 15552 15521 pop bp ; 5d 15553 15522 retn ; c3 15554 pci_find_classcode_: ; 0xf9f c6LB 0x815523 pci_find_classcode_: ; 0xf9f7f LB 0x8 15555 15524 push bp ; 55 15556 15525 mov bp, sp ; 89 e5 … … 15558 15527 pop bp ; 5d 15559 15528 retn ; c3 15560 pci_find_device_: ; 0xf9f ceLB 0x2315529 pci_find_device_: ; 0xf9f87 LB 0x23 15561 15530 push bp ; 55 15562 15531 mov bp, sp ; 89 e5 … … 15570 15539 int 01ah ; cd 1a 15571 15540 cmp ah, 000h ; 80 fc 00 15572 je short 09f e7h ; 74 0315541 je short 09fa0h ; 74 03 15573 15542 mov bx, strict word 0ffffh ; bb ff ff 15574 15543 mov ax, bx ; 89 d8 … … 15579 15548 pop bp ; 5d 15580 15549 retn ; c3 15581 pci_read_config_byte_: ; 0xf9f f1LB 0x2715550 pci_read_config_byte_: ; 0xf9faa LB 0x27 15582 15551 push bp ; 55 15583 15552 mov bp, sp ; 89 e5 … … 15602 15571 pop bp ; 5d 15603 15572 retn ; c3 15604 pci_read_config_word_: ; 0xf a018LB 0x2515573 pci_read_config_word_: ; 0xf9fd1 LB 0x25 15605 15574 push bp ; 55 15606 15575 mov bp, sp ; 89 e5 … … 15624 15593 pop bp ; 5d 15625 15594 retn ; c3 15626 pci_read_config_dword_: ; 0xf a03dLB 0x3f15595 pci_read_config_dword_: ; 0xf9ff6 LB 0x3f 15627 15596 push bp ; 55 15628 15597 mov bp, sp ; 89 e5 … … 15639 15608 int 01ah ; cd 1a 15640 15609 test cx, cx ; 85 c9 15641 jne short 0a0 6dh ; 75 1415610 jne short 0a026h ; 75 14 15642 15611 mov al, byte [bp-006h] ; 8a 46 fa 15643 15612 xor ah, ah ; 30 e4 … … 15649 15618 int 01ah ; cd 1a 15650 15619 test cx, cx ; 85 c9 15651 je short 0a0 72h ; 74 0515620 je short 0a02bh ; 74 05 15652 15621 mov ax, strict word 00001h ; b8 01 00 15653 jmp short 0a0 74h ; eb 0215622 jmp short 0a02dh ; eb 02 15654 15623 xor ax, ax ; 31 c0 15655 15624 cwd ; 99 … … 15659 15628 pop bp ; 5d 15660 15629 retn ; c3 15661 pci_write_config_word_: ; 0xfa0 7cLB 0x1e15630 pci_write_config_word_: ; 0xfa035 LB 0x1e 15662 15631 push bp ; 55 15663 15632 mov bp, sp ; 89 e5 … … 15676 15645 pop bp ; 5d 15677 15646 retn ; c3 15678 vds_is_present_: ; 0xfa0 9aLB 0x1d15647 vds_is_present_: ; 0xfa053 LB 0x1d 15679 15648 push bx ; 53 15680 15649 push bp ; 55 … … 15684 15653 mov es, ax ; 8e c0 15685 15654 test byte [es:bx], 020h ; 26 f6 07 20 15686 je short 0a0 b2h ; 74 0615655 je short 0a06bh ; 74 06 15687 15656 mov ax, strict word 00001h ; b8 01 00 15688 15657 pop bp ; 5d … … 15693 15662 pop bx ; 5b 15694 15663 retn ; c3 15695 vds_real_to_lin_: ; 0xfa0 b7LB 0x1e15664 vds_real_to_lin_: ; 0xfa070 LB 0x1e 15696 15665 push bx ; 53 15697 15666 push cx ; 51 … … 15704 15673 sal ax, 1 ; d1 e0 15705 15674 rcl dx, 1 ; d1 d2 15706 loop 0a0 c5h ; e2 fa15675 loop 0a07eh ; e2 fa 15707 15676 xor cx, cx ; 31 c9 15708 15677 add ax, bx ; 01 d8 … … 15712 15681 pop bx ; 5b 15713 15682 retn ; c3 15714 vds_build_sg_list_: ; 0xfa0 d5LB 0x7715683 vds_build_sg_list_: ; 0xfa08e LB 0x77 15715 15684 push bp ; 55 15716 15685 mov bp, sp ; 89 e5 … … 15726 15695 mov bx, word [bp+006h] ; 8b 5e 06 15727 15696 mov word [es:di+002h], bx ; 26 89 5d 02 15728 call 0a0 b7h ; e8 c3 ff15697 call 0a070h ; e8 c3 ff 15729 15698 mov es, si ; 8e c6 15730 15699 mov word [es:di+004h], ax ; 26 89 45 04 15731 15700 mov word [es:di+006h], dx ; 26 89 55 06 15732 15701 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 15733 call 0a0 9ah ; e8 93 ff15702 call 0a053h ; e8 93 ff 15734 15703 test ax, ax ; 85 c0 15735 je short 0a 11ch ; 74 1115704 je short 0a0d5h ; 74 11 15736 15705 mov es, si ; 8e c6 15737 15706 mov ax, 08105h ; b8 05 81 15738 15707 mov dx, strict word 00000h ; ba 00 00 15739 15708 int 04bh ; cd 4b 15740 jc short 0a 119h ; 72 0215709 jc short 0a0d2h ; 72 02 15741 15710 db 032h, 0c0h 15742 15711 ; xor al, al ; 32 c0 15743 15712 cbw ; 98 15744 jmp short 0a 143h ; eb 2715713 jmp short 0a0fch ; eb 27 15745 15714 mov es, si ; 8e c6 15746 15715 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 15759 15728 pop bp ; 5d 15760 15729 retn 00004h ; c2 04 00 15761 vds_free_sg_list_: ; 0xfa1 4c LB 0x3415730 vds_free_sg_list_: ; 0xfa105 LB 0x3b 15762 15731 push bp ; 55 15763 15732 mov bp, sp ; 89 e5 … … 15765 15734 push di ; 57 15766 15735 mov bx, ax ; 89 c3 15767 call 0a0 9ah ; e8 44 ff15736 call 0a053h ; e8 44 ff 15768 15737 test ax, ax ; 85 c0 15769 je short 0a1 6bh ; 74 1115738 je short 0a124h ; 74 11 15770 15739 mov di, bx ; 89 df 15771 15740 mov es, dx ; 8e c2 … … 15773 15742 mov dx, strict word 00000h ; ba 00 00 15774 15743 int 04bh ; cd 4b 15775 jc short 0a1 6ah ; 72 0215744 jc short 0a123h ; 72 02 15776 15745 db 032h, 0c0h 15777 15746 ; xor al, al ; 32 c0 … … 15784 15753 pop bp ; 5d 15785 15754 retn ; c3 15786 times 0x 6db 015787 __U4M: ; 0xfa1 80 LB 0x2015755 times 0xd db 0 15756 __U4M: ; 0xfa140 LB 0x20 15788 15757 pushfw ; 9c 15789 15758 push si ; 56 … … 15812 15781 retn ; c3 15813 15782 times 0x4 db 0 15814 __U4D: ; 0xfa1 a0 LB 0x3015783 __U4D: ; 0xfa160 LB 0x30 15815 15784 pushfw ; 9c 15816 15785 push DS ; 1e … … 15827 15796 push dx ; 52 15828 15797 push ax ; 50 15829 call 0a2 85h ; e8 d0 0015798 call 0a245h ; e8 d0 00 15830 15799 mov cx, word [bp-002h] ; 8b 4e fe 15831 15800 mov bx, word [bp-004h] ; 8b 5e fc … … 15838 15807 retn ; c3 15839 15808 times 0xe db 0 15840 __U8RS: ; 0xfa1 d0 LB 0x1015809 __U8RS: ; 0xfa190 LB 0x10 15841 15810 test si, si ; 85 f6 15842 je short 0a1 dfh ; 74 0b15811 je short 0a19fh ; 74 0b 15843 15812 shr ax, 1 ; d1 e8 15844 15813 rcr bx, 1 ; d1 db … … 15846 15815 rcr dx, 1 ; d1 da 15847 15816 dec si ; 4e 15848 jne short 0a1 d4h ; 75 f515817 jne short 0a194h ; 75 f5 15849 15818 retn ; c3 15850 __U8LS: ; 0xfa1 e0 LB 0x1015819 __U8LS: ; 0xfa1a0 LB 0x10 15851 15820 test si, si ; 85 f6 15852 je short 0a1 efh ; 74 0b15821 je short 0a1afh ; 74 0b 15853 15822 sal dx, 1 ; d1 e2 15854 15823 rcl cx, 1 ; d1 d1 … … 15856 15825 rcl ax, 1 ; d1 d0 15857 15826 dec si ; 4e 15858 jne short 0a1 e4h ; 75 f515827 jne short 0a1a4h ; 75 f5 15859 15828 retn ; c3 15860 _fmemset_: ; 0xfa1 f0 LB 0x1015829 _fmemset_: ; 0xfa1b0 LB 0x10 15861 15830 push di ; 57 15862 15831 mov es, dx ; 8e c2 … … 15869 15838 retn ; c3 15870 15839 times 0x3 db 0 15871 _fmemcpy_: ; 0xfa 200 LB 0x3a15840 _fmemcpy_: ; 0xfa1c0 LB 0x3a 15872 15841 push bp ; 55 15873 15842 db 08bh, 0ech … … 15894 15863 add byte [bx+si], al ; 00 00 15895 15864 add byte [bx+si], al ; 00 00 15896 push ax ; 50 15897 mov byte [0a252h], AL ; a2 52 a2 15898 push si ; 56 15899 mov byte [0a256h], AL ; a2 56 a2 15900 push si ; 56 15901 mov byte [0a258h], AL ; a2 58 a2 15902 pop ax ; 58 15903 mov byte [0a25ah], AL ; a2 5a a2 15904 pop si ; 5e 15905 mov byte [0a25eh], AL ; a2 5e a2 15906 pushaw ; 60 15907 mov byte [0a265h], AL ; a2 65 a2 15908 db 067h 15865 adc byte [bp+si-05deeh], ah ; 10 a2 12 a2 15866 push SS ; 16 15867 mov byte [0a216h], AL ; a2 16 a2 15868 push SS ; 16 15869 mov byte [0a218h], AL ; a2 18 a2 15870 sbb byte [bp+si-05de6h], ah ; 18 a2 1a a2 15871 push DS ; 1e 15872 mov byte [0a21eh], AL ; a2 1e a2 15873 and byte [bp+si-05ddbh], ah ; 20 a2 25 a2 15874 daa ; 27 15909 15875 db 0a2h 15910 apm_worker: ; 0xfa 23a LB 0x3a15876 apm_worker: ; 0xfa1fa LB 0x3a 15911 15877 sti ; fb 15912 15878 push ax ; 50 … … 15920 15886 pop ax ; 58 15921 15887 mov AH, strict byte 053h ; b4 53 15922 jnc short 0a2 70h ; 73 2515923 jmp word [cs:bp-05 de0h] ; 2e ff a6 20 a215924 jmp short 0a2 6eh ; eb 1c15888 jnc short 0a230h ; 73 25 15889 jmp word [cs:bp-05e20h] ; 2e ff a6 e0 a1 15890 jmp short 0a22eh ; eb 1c 15925 15891 sti ; fb 15926 15892 hlt ; f4 15927 jmp short 0a2 6eh ; eb 1815928 jmp short 0a2 6eh ; eb 1615929 jmp short 0a2 70h ; eb 1615893 jmp short 0a22eh ; eb 18 15894 jmp short 0a22eh ; eb 16 15895 jmp short 0a230h ; eb 16 15930 15896 mov AH, strict byte 080h ; b4 80 15931 jmp short 0a2 72h ; eb 1415932 jmp short 0a2 70h ; eb 1015897 jmp short 0a232h ; eb 14 15898 jmp short 0a230h ; eb 10 15933 15899 mov ax, 00102h ; b8 02 01 15934 jmp short 0a2 6eh ; eb 0915935 jmp short 0a2 6eh ; eb 0715900 jmp short 0a22eh ; eb 09 15901 jmp short 0a22eh ; eb 07 15936 15902 mov BL, strict byte 000h ; b3 00 15937 15903 mov cx, strict word 00000h ; b9 00 00 15938 jmp short 0a2 6eh ; eb 0015904 jmp short 0a22eh ; eb 00 15939 15905 clc ; f8 15940 15906 retn ; c3 … … 15942 15908 stc ; f9 15943 15909 retn ; c3 15944 apm_pm16_entry: ; 0xfa2 74 LB 0x1115910 apm_pm16_entry: ; 0xfa234 LB 0x11 15945 15911 mov AH, strict byte 002h ; b4 02 15946 15912 push DS ; 1e … … 15950 15916 add bp, strict byte 00008h ; 83 c5 08 15951 15917 mov ds, bp ; 8e dd 15952 call 0a 23ah ; e8 b8 ff15918 call 0a1fah ; e8 b8 ff 15953 15919 pop bp ; 5d 15954 15920 pop DS ; 1f 15955 15921 retf ; cb 15956 _DoUInt32Div: ; 0xfa2 85 LB 0x26b15922 _DoUInt32Div: ; 0xfa245 LB 0x26b 15957 15923 push bp ; 55 15958 15924 mov bp, sp ; 89 e5 … … 15972 15938 mov [bp-006h], ds ; 8c 5e fa 15973 15939 cmp word [bx+002h], strict byte 00000h ; 83 7f 02 00 15974 jne short 0a2 d5h ; 75 2215940 jne short 0a295h ; 75 22 15975 15941 mov ax, word [bx] ; 8b 07 15976 15942 test ax, ax ; 85 c0 15977 je short 0a2 d2h ; 74 1915943 je short 0a292h ; 74 19 15978 15944 cmp ax, strict word 00001h ; 3d 01 00 15979 jne short 0a2 d5h ; 75 1715945 jne short 0a295h ; 75 17 15980 15946 xor ax, ax ; 31 c0 15981 15947 mov word [bp+00ah], ax ; 89 46 0a … … 15985 15951 mov ax, word [bp-01ah] ; 8b 46 e6 15986 15952 mov word [bp+006h], ax ; 89 46 06 15987 jmp near 0a4 ddh ; e9 08 0215953 jmp near 0a49dh ; e9 08 02 15988 15954 lds bx, [bp-00ch] ; c5 5e f4 15989 15955 mov ax, word [bx+002h] ; 8b 47 02 15990 15956 mov ds, [bp-006h] ; 8e 5e fa 15991 15957 cmp ax, word [si+002h] ; 3b 44 02 15992 je short 0a2 fbh ; 74 1815958 je short 0a2bbh ; 74 18 15993 15959 mov ds, [bp-00ah] ; 8e 5e f6 15994 15960 mov ax, word [bx+002h] ; 8b 47 02 15995 15961 mov ds, [bp-006h] ; 8e 5e fa 15996 15962 cmp ax, word [si+002h] ; 3b 44 02 15997 jbe short 0a2 f6h ; 76 0515963 jbe short 0a2b6h ; 76 05 15998 15964 mov ax, strict word 00001h ; b8 01 00 15999 jmp short 0a 31ch ; eb 2615965 jmp short 0a2dch ; eb 26 16000 15966 mov ax, strict word 0ffffh ; b8 ff ff 16001 jmp short 0a 31ch ; eb 2115967 jmp short 0a2dch ; eb 21 16002 15968 mov ds, [bp-00ah] ; 8e 5e f6 16003 15969 mov ax, word [bx] ; 8b 07 16004 15970 mov ds, [bp-006h] ; 8e 5e fa 16005 15971 cmp ax, word [si] ; 3b 04 16006 je short 0a 31ah ; 74 1315972 je short 0a2dah ; 74 13 16007 15973 mov ds, [bp-00ah] ; 8e 5e f6 16008 15974 mov ax, word [bx] ; 8b 07 16009 15975 mov ds, [bp-006h] ; 8e 5e fa 16010 15976 cmp ax, word [si] ; 3b 04 16011 jbe short 0a 315h ; 76 0216012 jmp short 0a2 f1h ; eb dc15977 jbe short 0a2d5h ; 76 02 15978 jmp short 0a2b1h ; eb dc 16013 15979 mov ax, strict word 0ffffh ; b8 ff ff 16014 jmp short 0a 31ch ; eb 0215980 jmp short 0a2dch ; eb 02 16015 15981 xor ax, ax ; 31 c0 16016 15982 test ax, ax ; 85 c0 16017 jnl short 0a 33eh ; 7d 1e15983 jnl short 0a2feh ; 7d 1e 16018 15984 lds bx, [bp-00ch] ; c5 5e f4 16019 15985 mov ax, word [bx] ; 8b 07 … … 16025 15991 mov word [bx+002h], strict word 00000h ; c7 47 02 00 00 16026 15992 mov word [bx], strict word 00000h ; c7 07 00 00 16027 jmp short 0a2 d2h ; eb 9416028 jne short 0a3 55h ; 75 1515993 jmp short 0a292h ; eb 94 15994 jne short 0a315h ; 75 15 16029 15995 mov ds, [bp-008h] ; 8e 5e f8 16030 15996 mov word [di+002h], ax ; 89 45 02 … … 16033 15999 mov word [bx], strict word 00001h ; c7 07 01 00 16034 16000 mov word [bx+002h], ax ; 89 47 02 16035 jmp near 0a4 ddh ; e9 88 0116001 jmp near 0a49dh ; e9 88 01 16036 16002 lds bx, [bp-00ch] ; c5 5e f4 16037 16003 mov ax, word [bx+002h] ; 8b 47 02 16038 16004 test ax, ax ; 85 c0 16039 je short 0a3 70h ; 74 1116005 je short 0a330h ; 74 11 16040 16006 push ax ; 50 16041 16007 mov ax, 0f000h ; b8 00 f0 16042 16008 mov ds, ax ; 8e d8 16043 call 0a4 f0h ; e8 88 0116009 call 0a4b0h ; e8 88 01 16044 16010 add sp, strict byte 00002h ; 83 c4 02 16045 16011 add ax, strict word 00010h ; 05 10 00 16046 jmp short 0a3 7dh ; eb 0d16012 jmp short 0a33dh ; eb 0d 16047 16013 push word [bx] ; ff 37 16048 16014 mov ax, 0f000h ; b8 00 f0 16049 16015 mov ds, ax ; 8e d8 16050 call 0a4 f0h ; e8 76 0116016 call 0a4b0h ; e8 76 01 16051 16017 add sp, strict byte 00002h ; 83 c4 02 16052 16018 mov word [bp-014h], ax ; 89 46 ec … … 16054 16020 mov ax, word [si+002h] ; 8b 44 02 16055 16021 test ax, ax ; 85 c0 16056 je short 0a3 9bh ; 74 1116022 je short 0a35bh ; 74 11 16057 16023 push ax ; 50 16058 16024 mov ax, 0f000h ; b8 00 f0 16059 16025 mov ds, ax ; 8e d8 16060 call 0a4 f0h ; e8 5d 0116026 call 0a4b0h ; e8 5d 01 16061 16027 add sp, strict byte 00002h ; 83 c4 02 16062 16028 add ax, strict word 00010h ; 05 10 00 16063 jmp short 0a3 a8h ; eb 0d16029 jmp short 0a368h ; eb 0d 16064 16030 push word [si] ; ff 34 16065 16031 mov ax, 0f000h ; b8 00 f0 16066 16032 mov ds, ax ; 8e d8 16067 call 0a4 f0h ; e8 4b 0116033 call 0a4b0h ; e8 4b 01 16068 16034 add sp, strict byte 00002h ; 83 c4 02 16069 16035 mov dx, word [bp-014h] ; 8b 56 ec … … 16076 16042 mov word [bp-016h], ax ; 89 46 ea 16077 16043 test dx, dx ; 85 d2 16078 je short 0a 418h ; 74 5616044 je short 0a3d8h ; 74 56 16079 16045 mov cx, dx ; 89 d1 16080 16046 xor ch, dh ; 30 f5 … … 16082 16048 mov ax, word [si] ; 8b 04 16083 16049 mov dx, word [si+002h] ; 8b 54 02 16084 jcxz 0a3 d6h ; e3 0616050 jcxz 0a396h ; e3 06 16085 16051 sal ax, 1 ; d1 e0 16086 16052 rcl dx, 1 ; d1 d2 16087 loop 0a3 d0h ; e2 fa16053 loop 0a390h ; e2 fa 16088 16054 mov word [bp-018h], ax ; 89 46 e8 16089 16055 mov word [bp-016h], dx ; 89 56 ea … … 16091 16057 lds bx, [bp-00ch] ; c5 5e f4 16092 16058 cmp ax, word [bx+002h] ; 3b 47 02 16093 jnbe short 0a3 f6h ; 77 0f16059 jnbe short 0a3b6h ; 77 0f 16094 16060 mov ax, word [bp-016h] ; 8b 46 ea 16095 16061 cmp ax, word [bx+002h] ; 3b 47 02 16096 jne short 0a3 fah ; 75 0b16062 jne short 0a3bah ; 75 0b 16097 16063 mov ax, word [bp-018h] ; 8b 46 e8 16098 16064 cmp ax, word [bx] ; 3b 07 16099 jbe short 0a3 fah ; 76 0416065 jbe short 0a3bah ; 76 04 16100 16066 mov AL, strict byte 001h ; b0 01 16101 jmp short 0a3 fch ; eb 0216067 jmp short 0a3bch ; eb 02 16102 16068 xor al, al ; 30 c0 16103 16069 test al, al ; 84 c0 16104 je short 0a 423h ; 74 2316070 je short 0a3e3h ; 74 23 16105 16071 shr word [bp-016h], 1 ; d1 6e ea 16106 16072 rcr word [bp-018h], 1 ; d1 5e e8 16107 16073 dec word [bp-012h] ; ff 4e ee 16108 jmp short 0a 423h ; eb 1816074 jmp short 0a3e3h ; eb 18 16109 16075 mov cx, strict word 0001fh ; b9 1f 00 16110 16076 sal word [bp-018h], 1 ; d1 66 e8 16111 16077 rcl word [bp-016h], 1 ; d1 56 ea 16112 loop 0a 40eh ; e2 f816113 jmp short 0a 406h ; eb ee16078 loop 0a3ceh ; e2 f8 16079 jmp short 0a3c6h ; eb ee 16114 16080 mov ax, word [si] ; 8b 04 16115 16081 mov word [bp-018h], ax ; 89 46 e8 … … 16128 16094 mov ds, [bp-006h] ; 8e 5e fa 16129 16095 cmp ax, word [si+002h] ; 3b 44 02 16130 jnbe short 0a4 4fh ; 77 0616131 jne short 0a4 53h ; 75 0816096 jnbe short 0a40fh ; 77 06 16097 jne short 0a413h ; 75 08 16132 16098 cmp dx, word [si] ; 3b 14 16133 jc short 0a4 53h ; 72 0416099 jc short 0a413h ; 72 04 16134 16100 mov AL, strict byte 001h ; b0 01 16135 jmp short 0a4 55h ; eb 0216101 jmp short 0a415h ; eb 02 16136 16102 xor al, al ; 30 c0 16137 16103 test al, al ; 84 c0 16138 je short 0a4 bah ; 74 6116104 je short 0a47ah ; 74 61 16139 16105 mov ds, [bp-008h] ; 8e 5e f8 16140 16106 mov ax, word [di+002h] ; 8b 45 02 16141 16107 cmp ax, word [bp-016h] ; 3b 46 ea 16142 jnbe short 0a4 70h ; 77 0c16108 jnbe short 0a430h ; 77 0c 16143 16109 cmp ax, word [bp-016h] ; 3b 46 ea 16144 jne short 0a4 74h ; 75 0b16110 jne short 0a434h ; 75 0b 16145 16111 mov ax, word [di] ; 8b 05 16146 16112 cmp ax, word [bp-018h] ; 3b 46 e8 16147 jc short 0a4 74h ; 72 0416113 jc short 0a434h ; 72 04 16148 16114 mov AL, strict byte 001h ; b0 01 16149 jmp short 0a4 76h ; eb 0216115 jmp short 0a436h ; eb 02 16150 16116 xor al, al ; 30 c0 16151 16117 test al, al ; 84 c0 16152 je short 0a4 a0h ; 74 2616118 je short 0a460h ; 74 26 16153 16119 mov ax, word [bp-018h] ; 8b 46 e8 16154 16120 mov ds, [bp-008h] ; 8e 5e f8 … … 16159 16125 xor dx, dx ; 31 d2 16160 16126 mov cx, word [bp-012h] ; 8b 4e ee 16161 jcxz 0a4 98h ; e3 0616127 jcxz 0a458h ; e3 06 16162 16128 sal ax, 1 ; d1 e0 16163 16129 rcl dx, 1 ; d1 d2 16164 loop 0a4 92h ; e2 fa16130 loop 0a452h ; e2 fa 16165 16131 lds bx, [bp-010h] ; c5 5e f0 16166 16132 or word [bx], ax ; 09 07 … … 16171 16137 mov ds, [bp-006h] ; 8e 5e fa 16172 16138 cmp ax, word [si+002h] ; 3b 44 02 16173 jc short 0a4 b6h ; 72 0616174 jne short 0a4 bch ; 75 0a16139 jc short 0a476h ; 72 06 16140 jne short 0a47ch ; 75 0a 16175 16141 cmp dx, word [si] ; 3b 14 16176 jnc short 0a4 bch ; 73 0616142 jnc short 0a47ch ; 73 06 16177 16143 mov AL, strict byte 001h ; b0 01 16178 jmp short 0a4 beh ; eb 0416179 jmp short 0a4 ddh ; eb 2116144 jmp short 0a47eh ; eb 04 16145 jmp short 0a49dh ; eb 21 16180 16146 xor al, al ; 30 c0 16181 16147 test al, al ; 84 c0 16182 je short 0a4 d1h ; 74 0f16183 jmp short 0a4 ddh ; eb 1916148 je short 0a491h ; 74 0f 16149 jmp short 0a49dh ; eb 19 16184 16150 mov cx, strict word 0001fh ; b9 1f 00 16185 16151 sal word [bp-018h], 1 ; d1 66 e8 16186 16152 rcl word [bp-016h], 1 ; d1 56 ea 16187 loop 0a4 c7h ; e2 f816188 jmp short 0a4 d7h ; eb 0616153 loop 0a487h ; e2 f8 16154 jmp short 0a497h ; eb 06 16189 16155 shr word [bp-016h], 1 ; d1 6e ea 16190 16156 rcr word [bp-018h], 1 ; d1 5e e8 16191 16157 dec word [bp-012h] ; ff 4e ee 16192 jmp near 0a4 59h ; e9 7c ff16158 jmp near 0a419h ; e9 7c ff 16193 16159 mov ax, word [bp-01ch] ; 8b 46 e4 16194 16160 mov dx, word [bp-01ah] ; 8b 56 e6 … … 16199 16165 retn ; c3 16200 16166 times 0x6 db 0 16201 _ASMBitLastSetU16: ; 0xfa4 f0 LB 0x1816167 _ASMBitLastSetU16: ; 0xfa4b0 LB 0x18 16202 16168 push bp ; 55 16203 16169 db 08bh, 0ech … … 16205 16171 mov cx, word [bp+004h] ; 8b 4e 04 16206 16172 test cx, cx ; 85 c9 16207 je short 0a 504h ; 74 0a16173 je short 0a4c4h ; 74 0a 16208 16174 mov ax, strict word 00010h ; b8 10 00 16209 16175 sal cx, 1 ; d1 e1 16210 jc short 0a 506h ; 72 0516176 jc short 0a4c6h ; 72 05 16211 16177 dec ax ; 48 16212 jmp short 0a4 fdh ; eb f916178 jmp short 0a4bdh ; eb f9 16213 16179 db 033h, 0c0h 16214 16180 ; xor ax, ax ; 33 c0 … … 16216 16182 retn ; c3 16217 16183 16218 ; Padding 0x3 4f8 bytes at 0xfa50816219 times 13 560db 016184 ; Padding 0x3538 bytes at 0xfa4c8 16185 times 13624 db 0 16220 16186 16221 16187 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 16264 16230 add bp, strict byte 00008h ; 83 c5 08 16265 16231 push ebp ; 66 55 16266 mov bp, 0a2 76h ; bd 76 a216232 mov bp, 0a236h ; bd 36 a2 16267 16233 add byte [bx+si], al ; 00 00 16268 16234 push ebp ; 66 55 … … 16994 16960 call 01cc5h ; e8 89 39 16995 16961 call 02154h ; e8 15 3e 16996 call 09a 6eh ; e8 2c b716997 call 088 b8h ; e8 73a516962 call 09a27h ; e8 e5 b6 16963 call 08871h ; e8 2c a5 16998 16964 call 0ed4ch ; e8 04 0a 16999 16965 call 0e2d2h ; e8 87 ff … … 17171 17137 out strict byte 0a1h, AL ; e6 a1 17172 17138 retn ; c3 17173 ebda_post: ; 0xfe794 LB 0x 4517139 ebda_post: ; 0xfe794 LB 0x51 17174 17140 mov ax, 0e754h ; b8 54 e7 17175 17141 mov word [00034h], ax ; a3 34 00 … … 17185 17151 mov word [001cah], ax ; a3 ca 01 17186 17152 mov ax, 0e754h ; b8 54 e7 17153 mov word [001cch], ax ; a3 cc 01 17154 mov ax, 0f000h ; b8 00 f0 17155 mov word [001ceh], ax ; a3 ce 01 17156 mov ax, 0e754h ; b8 54 e7 17187 17157 mov word [001dch], ax ; a3 dc 01 17188 17158 mov ax, 0f000h ; b8 00 f0 … … 17196 17166 mov word [0040eh], 09fc0h ; c7 06 0e 04 c0 9f 17197 17167 retn ; c3 17198 biosorg_check_before_or_at_0E82Ch: ; 0xfe7 d9 LB 0x5517199 times 0x 53db 017168 biosorg_check_before_or_at_0E82Ch: ; 0xfe7e5 LB 0x49 17169 times 0x47 db 0 17200 17170 db 'XM' 17201 17171 biosorg_check_at_0E82Eh: ; 0xfe82e LB 0x52 … … 17950 17920 popfw ; 9d 17951 17921 jmp short 0f8afh ; eb 1f 17952 call 09b e0h ; e8 4da317922 call 09b99h ; e8 06 a3 17953 17923 jmp short 0f883h ; eb ee 17954 17924 int15_handler_mouse: ; 0xff895 LB 0x5 … … 18274 18244 cpu_reset: ; 0xffff0 LB 0x10 18275 18245 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 18276 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 0 23h18246 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 0f9h -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.md5sum
r67807 r68290 1 269f62de83976f5a734bb5219dc89ba4*VBoxPcBios8086.rom1 e5b242e719ad26ca22448575914e8257 *VBoxPcBios8086.rom
Note:
See TracChangeset
for help on using the changeset viewer.