Changeset 51255 in vbox for trunk/src/VBox/Devices/PC
- Timestamp:
- May 15, 2014 8:21:54 AM (11 years ago)
- Location:
- trunk/src/VBox/Devices/PC/BIOS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.asm
r51062 r51255 1058 1058 times 1142 db 0 1059 1059 1060 section _TEXT progbits vstart=0x1600 align=1 ; size=0x 7fd5 class=CODE group=AUTO1060 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8025 class=CODE group=AUTO 1061 1061 rom_scan_: ; 0xf1600 LB 0x50 1062 1062 push bp ; 55 … … 1455 1455 mov bx, strict word 0000ah ; bb 0a 00 1456 1456 xor cx, cx ; 31 c9 1457 call 09 4e0h ; e8 07 7c1457 call 09530h ; e8 57 7c 1458 1458 mov word [bp-008h], ax ; 89 46 f8 1459 1459 mov cx, dx ; 89 d1 … … 4822 4822 mov dx, ss ; 8c d2 4823 4823 lea ax, [bp-026h] ; 8d 46 da 4824 call 095 4ah ; e8 57 5c4824 call 0959ah ; e8 a7 5c 4825 4825 mov word [bp-026h], strict word 00028h ; c7 46 da 28 00 4826 4826 mov ax, strict word 00011h ; b8 11 00 … … 5281 5281 xor dl, dl ; 30 d2 5282 5282 xor cx, cx ; 31 c9 5283 call 095 19h ; e8 c5 565283 call 09569h ; e8 15 57 5284 5284 xor bx, bx ; 31 db 5285 5285 add ax, si ; 01 f0 … … 5287 5287 mov bx, di ; 89 fb 5288 5288 xor cx, cx ; 31 c9 5289 call 095 19h ; e8 b8 565289 call 09569h ; e8 08 57 5290 5290 mov bx, ax ; 89 c3 5291 5291 mov ax, word [bp-010h] ; 8b 46 f0 … … 5322 5322 mov dx, ss ; 8c d2 5323 5323 lea ax, [bp-02eh] ; 8d 46 d2 5324 call 095 4ah ; e8 92 565324 call 0959ah ; e8 e2 56 5325 5325 mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00 5326 5326 mov ax, word [bp-014h] ; 8b 46 ec … … 5629 5629 mov dx, ss ; 8c d2 5630 5630 lea ax, [bp-02ch] ; 8d 46 d4 5631 call 095 4ah ; e8 f7 525631 call 0959ah ; e8 47 53 5632 5632 mov word [bp-02ch], strict word 00028h ; c7 46 d4 28 00 5633 5633 mov ax, word [bp-018h] ; 8b 46 e8 … … 7453 7453 mov bx, strict word 0003fh ; bb 3f 00 7454 7454 xor cx, cx ; 31 c9 7455 call 095 19h ; e8 e3 407455 call 09569h ; e8 33 41 7456 7456 mov bx, ax ; 89 c3 7457 7457 mov cx, dx ; 89 d1 7458 7458 mov ax, word [bp-004h] ; 8b 46 fc 7459 7459 mov dx, word [bp-002h] ; 8b 56 fe 7460 call 09 4e0h ; e8 9d 407460 call 09530h ; e8 ed 40 7461 7461 mov word [es:si+002h], ax ; 26 89 44 02 7462 7462 cmp ax, 00400h ; 3d 00 04 … … 7676 7676 mov bx, cx ; 89 cb 7677 7677 xor cx, cx ; 31 c9 7678 call 095 19h ; e8 b8 3e7678 call 09569h ; e8 08 3f 7679 7679 xor bx, bx ; 31 db 7680 7680 add ax, word [bp-008h] ; 03 46 f8 … … 7682 7682 mov bx, word [bp-00ah] ; 8b 5e f6 7683 7683 xor cx, cx ; 31 c9 7684 call 095 19h ; e8 a9 3e7684 call 09569h ; e8 f9 3e 7685 7685 xor bx, bx ; 31 db 7686 7686 add ax, word [bp-006h] ; 03 46 fa … … 7840 7840 mov bx, word [bp-008h] ; 8b 5e f8 7841 7841 xor cx, cx ; 31 c9 7842 call 095 19h ; e8 ea 3c7842 call 09569h ; e8 3a 3d 7843 7843 mov bx, word [bp-006h] ; 8b 5e fa 7844 7844 xor cx, cx ; 31 c9 7845 call 095 19h ; e8 e2 3c7845 call 09569h ; e8 32 3d 7846 7846 mov word [bp-010h], ax ; 89 46 f0 7847 7847 mov word [bp-00eh], dx ; 89 56 f2 … … 11344 11344 mov dx, ss ; 8c d2 11345 11345 lea ax, [bp-026h] ; 8d 46 da 11346 call 095 4ah ; e8 0c 1a11346 call 0959ah ; e8 5c 1a 11347 11347 mov byte [bp-026h], 025h ; c6 46 da 25 11348 11348 push dword 000000008h ; 66 6a 08 … … 11484 11484 mov dx, word [bp-018h] ; 8b 56 e8 11485 11485 xor cx, cx ; 31 c9 11486 call 09 4e0h ; e8 30 1811486 call 09530h ; e8 80 18 11487 11487 mov di, ax ; 89 c7 11488 11488 mov word [bp-012h], dx ; 89 56 ee … … 12000 12000 mov ax, 00080h ; b8 80 00 12001 12001 mov dx, word [bp-00ah] ; 8b 56 f6 12002 call 095 4ah ; e8 c1 1312002 call 0959ah ; e8 11 14 12003 12003 mov es, [bp-00ah] ; 8e 46 f6 12004 12004 mov word [es:si+00080h], 08027h ; 26 c7 84 80 00 27 80 … … 12041 12041 mov bx, word [bp-016h] ; 8b 5e ea 12042 12042 xor cx, cx ; 31 c9 12043 call 095 19h ; e8 f4 1212043 call 09569h ; e8 44 13 12044 12044 push dx ; 52 12045 12045 push ax ; 50 … … 12049 12049 mov ax, 0026ah ; b8 6a 02 12050 12050 mov dx, word [bp-00ah] ; 8b 56 f6 12051 call 094 2fh ; e8 f4 1112051 call 0947fh ; e8 44 12 12052 12052 mov es, [bp-00ah] ; 8e 46 f6 12053 12053 movzx ax, byte [es:si+00263h] ; 26 0f b6 84 63 02 … … 12110 12110 add ax, 0026ah ; 05 6a 02 12111 12111 mov dx, word [bp-00ch] ; 8b 56 f4 12112 call 094 a8h ; e8 9c 1112112 call 094f8h ; e8 ec 11 12113 12113 lea sp, [bp-006h] ; 8d 66 fa 12114 12114 pop di ; 5f … … 12155 12155 mov ax, di ; 89 f8 12156 12156 mov dx, word [bp-00ch] ; 8b 56 f4 12157 call 095 4ah ; e8 d3 1112157 call 0959ah ; e8 23 12 12158 12158 lea ax, [di+00080h] ; 8d 85 80 00 12159 12159 mov cx, strict word 00040h ; b9 40 00 12160 12160 xor bx, bx ; 31 db 12161 12161 mov dx, word [bp-00ch] ; 8b 56 f4 12162 call 095 4ah ; e8 c4 1112162 call 0959ah ; e8 14 12 12163 12163 lea ax, [di+00200h] ; 8d 85 00 02 12164 12164 mov cx, strict word 00060h ; b9 60 00 12165 12165 xor bx, bx ; 31 db 12166 12166 mov dx, word [bp-00ch] ; 8b 56 f4 12167 call 095 4ah ; e8 b5 1112167 call 0959ah ; e8 05 12 12168 12168 mov ax, word [bp-00eh] ; 8b 46 f2 12169 12169 add ax, 00108h ; 05 08 01 … … 12300 12300 mov ax, si ; 89 f0 12301 12301 mov dx, word [bp-00ah] ; 8b 56 f6 12302 call 095 4ah ; e8 98 1012302 call 0959ah ; e8 e8 10 12303 12303 lea ax, [si+00080h] ; 8d 84 80 00 12304 12304 mov cx, strict word 00040h ; b9 40 00 12305 12305 xor bx, bx ; 31 db 12306 12306 mov dx, word [bp-00ah] ; 8b 56 f6 12307 call 095 4ah ; e8 89 1012307 call 0959ah ; e8 d9 10 12308 12308 mov ax, si ; 89 f0 12309 12309 add ah, 002h ; 80 c4 02 … … 12312 12312 xor bx, bx ; 31 db 12313 12313 mov dx, word [bp-00ah] ; 8b 56 f6 12314 call 095 4ah ; e8 76 1012314 call 0959ah ; e8 c6 10 12315 12315 lea ax, [di+00108h] ; 8d 85 08 01 12316 12316 cwd ; 99 … … 12622 12622 mov dx, word [bp+008h] ; 8b 56 08 12623 12623 xor cx, cx ; 31 c9 12624 call 09 4e0h ; e8 fc 0c12624 call 09530h ; e8 4c 0d 12625 12625 mov word [es:si+00ah], ax ; 26 89 44 0a 12626 12626 xor di, di ; 31 ff … … 12646 12646 mov ax, 000c0h ; b8 c0 00 12647 12647 mov dx, word [bp-00ah] ; 8b 56 f6 12648 call 095 57h ; e8 27 0d12648 call 095a7h ; e8 77 0d 12649 12649 mov es, [bp-008h] ; 8e 46 f8 12650 12650 mov word [es:si+014h], di ; 26 89 7c 14 … … 12702 12702 pop bp ; 5d 12703 12703 retn 0000ch ; c2 0c 00 12704 ahci_port_detect_device_: ; 0xf88d5 LB 0x4 0112704 ahci_port_detect_device_: ; 0xf88d5 LB 0x451 12705 12705 push bp ; 55 12706 12706 mov bp, sp ; 89 e5 … … 12708 12708 push si ; 56 12709 12709 push di ; 57 12710 sub sp, 0022 2h ; 81 ec 220212711 mov di, ax ; 89 c712712 mov word [bp-01 0h], dx ; 89 56 f012713 mov byte [bp-00 ch], bl ; 88 5e f412714 movzx cx, bl ; 0f b6 cb12715 mov bx, cx ; 89 cb12710 sub sp, 00220h ; 81 ec 20 02 12711 mov si, ax ; 89 c6 12712 mov word [bp-012h], dx ; 89 56 ee 12713 mov byte [bp-008h], bl ; 88 5e f8 12714 movzx di, bl ; 0f b6 fb 12715 mov bx, di ; 89 fb 12716 12716 call 08458h ; e8 69 fb 12717 12717 mov dx, strict word 0000eh ; ba 0e 00 12718 12718 mov ax, strict word 00040h ; b8 40 00 12719 12719 call 0166ch ; e8 74 8d 12720 mov word [bp-020h], ax ; 89 46 e0 12721 mov si, 00122h ; be 22 01 12720 mov word [bp-010h], 00122h ; c7 46 f0 22 01 12722 12721 mov word [bp-00eh], ax ; 89 46 f2 12723 mov word [bp-012h], si ; 89 76 ee 12724 mov word [bp-01eh], ax ; 89 46 e2 12725 sal cx, 007h ; c1 e1 07 12726 mov word [bp-016h], cx ; 89 4e ea 12727 mov ax, cx ; 89 c8 12728 add ax, 0012ch ; 05 2c 01 12722 sal di, 007h ; c1 e7 07 12723 mov word [bp-020h], di ; 89 7e e0 12724 lea ax, [di+0012ch] ; 8d 85 2c 01 12729 12725 cwd ; 99 12730 mov word [bp-022h], ax ; 89 46 de12726 mov di, ax ; 89 c7 12731 12727 mov bx, dx ; 89 d3 12732 mov es, [bp-01 0h] ; 8e 46 f012733 mov dx, word [es: di+00260h] ; 26 8b 9560 0212728 mov es, [bp-012h] ; 8e 46 ee 12729 mov dx, word [es:si+00260h] ; 26 8b 94 60 02 12734 12730 mov cx, bx ; 89 d9 12735 12731 xchg cx, ax ; 91 … … 12738 12734 ; mov ax, cx ; 8b c1 12739 12735 out DX, eax ; 66 ef 12740 mov es, [bp-01 0h] ; 8e 46 f012741 mov dx, word [es: di+00260h] ; 26 8b 9560 0212736 mov es, [bp-012h] ; 8e 46 ee 12737 mov dx, word [es:si+00260h] ; 26 8b 94 60 02 12742 12738 add dx, strict byte 00004h ; 83 c2 04 12743 12739 mov ax, strict word 00001h ; b8 01 00 … … 12748 12744 ; mov ax, cx ; 8b c1 12749 12745 out DX, eax ; 66 ef 12750 mov es, [bp-01 0h] ; 8e 46 f012751 mov dx, word [es: di+00260h] ; 26 8b 9560 0212752 mov ax, word [bp-022h] ; 8b 46 de12746 mov es, [bp-012h] ; 8e 46 ee 12747 mov dx, word [es:si+00260h] ; 26 8b 94 60 02 12748 mov ax, di ; 89 f8 12753 12749 mov cx, bx ; 89 d9 12754 12750 xchg cx, ax ; 91 … … 12757 12753 ; mov ax, cx ; 8b c1 12758 12754 out DX, eax ; 66 ef 12759 mov es, [bp-01 0h] ; 8e 46 f012760 mov dx, word [es: di+00260h] ; 26 8b 9560 0212755 mov es, [bp-012h] ; 8e 46 ee 12756 mov dx, word [es:si+00260h] ; 26 8b 94 60 02 12761 12757 add dx, strict byte 00004h ; 83 c2 04 12762 12758 xor ax, ax ; 31 c0 … … 12767 12763 ; mov ax, cx ; 8b c1 12768 12764 out DX, eax ; 66 ef 12769 mov ax, word [bp-0 16h] ; 8b 46 ea12765 mov ax, word [bp-020h] ; 8b 46 e0 12770 12766 add ax, 00128h ; 05 28 01 12771 12767 cwd ; 99 12772 mov es, [bp-01 0h] ; 8e 46 f012773 mov bx, word [es: di+00260h] ; 26 8b 9d60 0212768 mov es, [bp-012h] ; 8e 46 ee 12769 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 12774 12770 mov cx, dx ; 89 d1 12775 12771 mov dx, bx ; 89 da … … 12779 12775 ; mov ax, cx ; 8b c1 12780 12776 out DX, eax ; 66 ef 12781 mov es, [bp-01 0h] ; 8e 46 f012782 mov dx, word [es: di+00260h] ; 26 8b 9560 0212777 mov es, [bp-012h] ; 8e 46 ee 12778 mov dx, word [es:si+00260h] ; 26 8b 94 60 02 12783 12779 add dx, strict byte 00004h ; 83 c2 04 12784 12780 in eax, DX ; 66 ed … … 12790 12786 mov bx, strict word 0000fh ; bb 0f 00 12791 12787 xor cx, cx ; 31 c9 12792 call 0803ch ; e8 90 f6 12793 cmp ax, strict word 00003h ; 3d 03 00 12794 jne near 08cceh ; 0f 85 1b 03 12795 mov ax, word [bp-016h] ; 8b 46 ea 12796 add ax, 00130h ; 05 30 01 12788 call 0803ch ; e8 9a f6 12789 test ax, ax ; 85 c0 12790 je near 08d1eh ; 0f 84 76 03 12791 movzx ax, byte [bp-008h] ; 0f b6 46 f8 12792 sal ax, 007h ; c1 e0 07 12793 mov word [bp-016h], ax ; 89 46 ea 12794 add ax, 00128h ; 05 28 01 12797 12795 cwd ; 99 12798 mov es, [bp-01 0h] ; 8e 46 f012799 mov bx, word [es: di+00260h] ; 26 8b 9d60 0212796 mov es, [bp-012h] ; 8e 46 ee 12797 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 12800 12798 mov cx, dx ; 89 d1 12801 12799 mov dx, bx ; 89 da … … 12805 12803 ; mov ax, cx ; 8b c1 12806 12804 out DX, eax ; 66 ef 12807 mov es, [bp-010h] ; 8e 46 f0 12808 mov dx, word [es:di+00260h] ; 26 8b 95 60 02 12805 mov es, [bp-012h] ; 8e 46 ee 12806 mov dx, word [es:si+00260h] ; 26 8b 94 60 02 12807 add dx, strict byte 00004h ; 83 c2 04 12808 in eax, DX ; 66 ed 12809 db 08bh, 0d0h 12810 ; mov dx, ax ; 8b d0 12811 shr eax, 010h ; 66 c1 e8 10 12812 xchg dx, ax ; 92 12813 mov di, ax ; 89 c7 12814 mov word [bp-01ah], dx ; 89 56 e6 12815 push strict byte 00000h ; 6a 00 12816 mov bx, strict word 0000fh ; bb 0f 00 12817 xor cx, cx ; 31 c9 12818 call 0803ch ; e8 4e f6 12819 cmp ax, strict word 00001h ; 3d 01 00 12820 je short 089a8h ; 74 b5 12821 push strict byte 00000h ; 6a 00 12822 mov bx, strict word 0000fh ; bb 0f 00 12823 xor cx, cx ; 31 c9 12824 mov ax, di ; 89 f8 12825 mov dx, word [bp-01ah] ; 8b 56 e6 12826 call 0803ch ; e8 3a f6 12827 cmp ax, strict word 00003h ; 3d 03 00 12828 jne near 08d1eh ; 0f 85 15 03 12829 mov ax, word [bp-016h] ; 8b 46 ea 12830 add ax, 00130h ; 05 30 01 12831 cwd ; 99 12832 mov es, [bp-012h] ; 8e 46 ee 12833 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 12834 mov cx, dx ; 89 d1 12835 mov dx, bx ; 89 da 12836 xchg cx, ax ; 91 12837 sal eax, 010h ; 66 c1 e0 10 12838 db 08bh, 0c1h 12839 ; mov ax, cx ; 8b c1 12840 out DX, eax ; 66 ef 12841 mov es, [bp-012h] ; 8e 46 ee 12842 mov dx, word [es:si+00260h] ; 26 8b 94 60 02 12809 12843 add dx, strict byte 00004h ; 83 c2 04 12810 12844 mov ax, strict word 0ffffh ; b8 ff ff … … 12815 12849 ; mov ax, cx ; 8b c1 12816 12850 out DX, eax ; 66 ef 12817 mov es, [bp-00eh] ; 8e 46 f212818 mov al, byte [es: si+001edh] ; 26 8a 84ed 0112819 mov byte [bp-00 8h], al ; 88 46 f812851 les bx, [bp-010h] ; c4 5e f0 12852 mov al, byte [es:bx+001edh] ; 26 8a 87 ed 01 12853 mov byte [bp-00ch], al ; 88 46 f4 12820 12854 cmp AL, strict byte 004h ; 3c 04 12821 jnc near 08 cceh ; 0f 83 d50212855 jnc near 08d1eh ; 0f 83 cf 02 12822 12856 mov dx, word [bp-016h] ; 8b 56 ea 12823 12857 add dx, 00118h ; 81 c2 18 01 12824 mov es, [bp-01 0h] ; 8e 46 f012825 mov ax, word [es: di+00260h] ; 26 8b 8560 0212858 mov es, [bp-012h] ; 8e 46 ee 12859 mov ax, word [es:si+00260h] ; 26 8b 84 60 02 12826 12860 mov bx, strict word 00010h ; bb 10 00 12827 12861 xor cx, cx ; 31 c9 12828 call 07f79h ; e8 69f512862 call 07f79h ; e8 13 f5 12829 12863 mov ax, word [bp-016h] ; 8b 46 ea 12830 12864 add ax, 00124h ; 05 24 01 12831 12865 cwd ; 99 12832 mov es, [bp-01 0h] ; 8e 46 f012833 mov bx, word [es: di+00260h] ; 26 8b 9d60 0212866 mov es, [bp-012h] ; 8e 46 ee 12867 mov bx, word [es:si+00260h] ; 26 8b 9c 60 02 12834 12868 mov cx, dx ; 89 d1 12835 12869 mov dx, bx ; 89 da … … 12839 12873 ; mov ax, cx ; 8b c1 12840 12874 out DX, eax ; 66 ef 12841 mov es, [bp-01 0h] ; 8e 46 f012842 mov dx, word [es: di+00260h] ; 26 8b 9560 0212875 mov es, [bp-012h] ; 8e 46 ee 12876 mov dx, word [es:si+00260h] ; 26 8b 94 60 02 12843 12877 add dx, strict byte 00004h ; 83 c2 04 12844 12878 in eax, DX ; 66 ed … … 12847 12881 shr eax, 010h ; 66 c1 e8 10 12848 12882 xchg dx, ax ; 92 12849 mov cl, byte [bp-00 8h] ; 8a 4e f812883 mov cl, byte [bp-00ch] ; 8a 4e f4 12850 12884 add cl, 00ch ; 80 c1 0c 12851 12885 test dx, dx ; 85 d2 12852 jne near 08c 20h ; 0f 85 d40112886 jne near 08c7ah ; 0f 85 d8 01 12853 12887 cmp ax, 00101h ; 3d 01 01 12854 jne near 08c 20h ; 0f 85 cd0112855 mov es, [bp-00eh] ; 8e 46 f212856 db 066h, 026h, 0c7h, 00 4h, 000h, 000h, 000h, 000h12857 ; mov dword [es: si], strict dword 000000000h ; 66 26 c7 0400 00 00 0012858 lea dx, [bp-0022 8h] ; 8d 96 d8fd12859 mov word [es: si+004h], dx ; 26 89 540412860 mov [es: si+006h], ss ; 26 8c 540612861 db 066h, 026h, 0c7h, 04 4h, 00ah, 001h, 000h, 000h, 002h12862 ; mov dword [es: si+00ah], strict dword 002000001h ; 66 26 c7 440a 01 00 00 0212888 jne near 08c7ah ; 0f 85 d1 01 12889 les bx, [bp-010h] ; c4 5e f0 12890 db 066h, 026h, 0c7h, 007h, 000h, 000h, 000h, 000h 12891 ; mov dword [es:bx], strict dword 000000000h ; 66 26 c7 07 00 00 00 00 12892 lea dx, [bp-00226h] ; 8d 96 da fd 12893 mov word [es:bx+004h], dx ; 26 89 57 04 12894 mov [es:bx+006h], ss ; 26 8c 57 06 12895 db 066h, 026h, 0c7h, 047h, 00ah, 001h, 000h, 000h, 002h 12896 ; mov dword [es:bx+00ah], strict dword 002000001h ; 66 26 c7 47 0a 01 00 00 02 12863 12897 mov bx, 000ech ; bb ec 00 12864 mov ax, si ; 89f012865 mov dx, word [bp-020h] ; 8b 56 e012866 call 0814ah ; e8 ccf612898 mov ax, word [bp-010h] ; 8b 46 f0 12899 mov dx, es ; 8c c2 12900 call 0814ah ; e8 76 f6 12867 12901 mov byte [bp-00ah], cl ; 88 4e f6 12868 test byte [bp-0022 8h], 080h ; f6 86 d8fd 8012902 test byte [bp-00226h], 080h ; f6 86 da fd 80 12869 12903 db 00fh, 095h, 0c0h 12870 12904 ; setne al ; 0f 95 c0 12871 12905 xor ah, ah ; 30 e4 12872 mov dx, word [bp-00226h] ; 8b 96 da fd 12873 mov word [bp-018h], dx ; 89 56 e8 12874 mov dx, word [bp-00222h] ; 8b 96 de fd 12875 mov word [bp-01ch], dx ; 89 56 e4 12876 mov dx, word [bp-0021ch] ; 8b 96 e4 fd 12877 mov word [bp-01ah], dx ; 89 56 e6 12878 mov di, word [bp-001b0h] ; 8b be 50 fe 12879 mov dx, word [bp-001aeh] ; 8b 96 52 fe 12880 mov word [bp-014h], dx ; 89 56 ec 12881 cmp dx, 00fffh ; 81 fa ff 0f 12882 jne short 08ac1h ; 75 10 12883 cmp di, strict byte 0ffffh ; 83 ff ff 12884 jne short 08ac1h ; 75 0b 12885 mov di, word [bp-00160h] ; 8b be a0 fe 12886 mov dx, word [bp-0015eh] ; 8b 96 a2 fe 12887 mov word [bp-014h], dx ; 89 56 ec 12888 movzx bx, byte [bp-008h] ; 0f b6 5e f8 12889 mov es, [bp-01eh] ; 8e 46 e2 12890 add bx, word [bp-012h] ; 03 5e ee 12891 mov ah, byte [bp-00ch] ; 8a 66 f4 12892 mov byte [es:bx+001e9h], ah ; 26 88 a7 e9 01 12893 movzx dx, byte [bp-00ah] ; 0f b6 56 f6 12894 imul dx, dx, strict byte 00018h ; 6b d2 18 12895 mov si, word [bp-012h] ; 8b 76 ee 12896 add si, dx ; 01 d6 12906 mov dl, al ; 88 c2 12907 mov ax, word [bp-00224h] ; 8b 86 dc fd 12908 mov word [bp-018h], ax ; 89 46 e8 12909 mov ax, word [bp-00220h] ; 8b 86 e0 fd 12910 mov word [bp-01eh], ax ; 89 46 e2 12911 mov ax, word [bp-0021ah] ; 8b 86 e6 fd 12912 mov word [bp-01ch], ax ; 89 46 e4 12913 mov ax, word [bp-001aeh] ; 8b 86 52 fe 12914 mov word [bp-014h], ax ; 89 46 ec 12915 mov di, word [bp-001ach] ; 8b be 54 fe 12916 cmp di, 00fffh ; 81 ff ff 0f 12917 jne short 08b19h ; 75 10 12918 cmp ax, strict word 0ffffh ; 3d ff ff 12919 jne short 08b19h ; 75 0b 12920 mov ax, word [bp-0015eh] ; 8b 86 a2 fe 12921 mov word [bp-014h], ax ; 89 46 ec 12922 mov di, word [bp-0015ch] ; 8b be a4 fe 12923 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 12924 mov es, [bp-00eh] ; 8e 46 f2 12925 add bx, word [bp-010h] ; 03 5e f0 12926 mov al, byte [bp-008h] ; 8a 46 f8 12927 mov byte [es:bx+001e9h], al ; 26 88 87 e9 01 12928 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 12929 imul ax, ax, strict byte 00018h ; 6b c0 18 12930 mov si, word [bp-010h] ; 8b 76 f0 12931 add si, ax ; 01 c6 12897 12932 mov word [es:si+01eh], 0ff05h ; 26 c7 44 1e 05 ff 12898 mov byte [es:si+020h], al ; 26 88 44 2012933 mov byte [es:si+020h], dl ; 26 88 54 20 12899 12934 mov byte [es:si+021h], 000h ; 26 c6 44 21 00 12900 12935 mov word [es:si+024h], 00200h ; 26 c7 44 24 00 02 12901 12936 mov byte [es:si+023h], 001h ; 26 c6 44 23 01 12902 mov word [es:si+032h], di ; 26 89 7c 3212903 12937 mov ax, word [bp-014h] ; 8b 46 ec 12904 mov word [es:si+034h], ax ; 26 89 44 34 12905 mov ax, word [bp-01ch] ; 8b 46 e4 12938 mov word [es:si+032h], ax ; 26 89 44 32 12939 mov word [es:si+034h], di ; 26 89 7c 34 12940 mov ax, word [bp-01eh] ; 8b 46 e2 12906 12941 mov word [es:si+02ch], ax ; 26 89 44 2c 12907 12942 mov ax, word [bp-018h] ; 8b 46 e8 12908 12943 mov word [es:si+02eh], ax ; 26 89 44 2e 12909 mov ax, word [bp-01 ah] ; 8b 46 e612944 mov ax, word [bp-01ch] ; 8b 46 e4 12910 12945 mov word [es:si+030h], ax ; 26 89 44 30 12911 mov al, byte [bp-00 8h] ; 8a 46 f812946 mov al, byte [bp-00ch] ; 8a 46 f4 12912 12947 cmp AL, strict byte 001h ; 3c 01 12913 jc short 08b 2ch ; 72 0c12914 jbe short 08b 34h ; 76 1212948 jc short 08b84h ; 72 0c 12949 jbe short 08b8ch ; 76 12 12915 12950 cmp AL, strict byte 003h ; 3c 03 12916 je short 08b 3ch ; 74 1612951 je short 08b94h ; 74 16 12917 12952 cmp AL, strict byte 002h ; 3c 02 12918 je short 08b 38h ; 74 0e12919 jmp short 08b 85h ; eb 5912953 je short 08b90h ; 74 0e 12954 jmp short 08bddh ; eb 59 12920 12955 test al, al ; 84 c0 12921 jne short 08b 85h ; 75 5512956 jne short 08bddh ; 75 55 12922 12957 mov DL, strict byte 040h ; b2 40 12923 jmp short 08b 3eh ; eb 0a12958 jmp short 08b96h ; eb 0a 12924 12959 mov DL, strict byte 048h ; b2 48 12925 jmp short 08b 3eh ; eb 0612960 jmp short 08b96h ; eb 06 12926 12961 mov DL, strict byte 050h ; b2 50 12927 jmp short 08b 3eh ; eb 0212962 jmp short 08b96h ; eb 02 12928 12963 mov DL, strict byte 058h ; b2 58 12929 12964 mov al, dl ; 88 d0 … … 12931 12966 movzx bx, al ; 0f b6 d8 12932 12967 mov ax, bx ; 89 d8 12933 call 016ach ; e8 628b12968 call 016ach ; e8 0a 8b 12934 12969 test al, al ; 84 c0 12935 je short 08b 85h ; 74 3712970 je short 08bddh ; 74 37 12936 12971 mov al, dl ; 88 d0 12937 12972 db 0feh, 0c0h 12938 12973 ; inc al ; fe c0 12939 12974 xor ah, ah ; 30 e4 12940 call 016ach ; e8 55 8b12975 call 016ach ; e8 fd 8a 12941 12976 xor ah, ah ; 30 e4 12942 mov cx, ax ; 89 c112943 sal cx, 008h ; c1 e10812977 mov si, ax ; 89 c6 12978 sal si, 008h ; c1 e6 08 12944 12979 movzx ax, dl ; 0f b6 c2 12945 call 016ach ; e8 48 8b12980 call 016ach ; e8 f0 8a 12946 12981 xor ah, ah ; 30 e4 12947 add ax, cx ; 01 c812948 mov word [bp-02 6h], ax ; 89 46 da12982 add ax, si ; 01 f0 12983 mov word [bp-024h], ax ; 89 46 dc 12949 12984 mov al, dl ; 88 d0 12950 12985 add AL, strict byte 002h ; 04 02 12951 12986 xor ah, ah ; 30 e4 12952 call 016ach ; e8 38 8b12987 call 016ach ; e8 e0 8a 12953 12988 xor ah, ah ; 30 e4 12954 mov word [bp-02 8h], ax ; 89 46 d812989 mov word [bp-026h], ax ; 89 46 da 12955 12990 mov ax, bx ; 89 d8 12956 call 016ach ; e8 2e 8b12991 call 016ach ; e8 d6 8a 12957 12992 xor ah, ah ; 30 e4 12958 mov word [bp-02 4h], ax ; 89 46 dc12959 jmp short 08b 92h ; eb 0d12960 mov bx, di ; 89 fb12961 mov cx, word [bp-014h] ; 8b 4e ec12993 mov word [bp-022h], ax ; 89 46 de 12994 jmp short 08beah ; eb 0d 12995 mov bx, word [bp-014h] ; 8b 5e ec 12996 mov cx, di ; 89 f9 12962 12997 mov dx, ss ; 8c d2 12963 lea ax, [bp-02 8h] ; 8d 46 d812964 call 053f3h ; e8 61c812998 lea ax, [bp-026h] ; 8d 46 da 12999 call 053f3h ; e8 09 c8 12965 13000 mov bx, 00da2h ; bb a2 0d 12966 13001 mov cx, ds ; 8c d9 12967 13002 mov ax, strict word 00004h ; b8 04 00 12968 call 01931h ; e8 94 8d 13003 call 01931h ; e8 3c 8d 13004 push di ; 57 12969 13005 push word [bp-014h] ; ff 76 ec 12970 push di ; 57 12971 mov ax, word [bp-024h] ; 8b 46 dc 12972 push ax ; 50 12973 mov ax, word [bp-028h] ; 8b 46 d8 13006 mov ax, word [bp-022h] ; 8b 46 de 12974 13007 push ax ; 50 12975 13008 mov ax, word [bp-026h] ; 8b 46 da 12976 13009 push ax ; 50 12977 push dword [bp-01ch] ; 66 ff 76 e4 13010 mov ax, word [bp-024h] ; 8b 46 dc 13011 push ax ; 50 13012 push dword [bp-01eh] ; 66 ff 76 e2 12978 13013 push word [bp-018h] ; ff 76 e8 13014 movzx ax, byte [bp-008h] ; 0f b6 46 f8 13015 push ax ; 50 12979 13016 movzx ax, byte [bp-00ch] ; 0f b6 46 f4 12980 push ax ; 5012981 movzx ax, byte [bp-008h] ; 0f b6 46 f812982 13017 push ax ; 50 12983 13018 push 00cdah ; 68 da 0c 12984 13019 push strict byte 00004h ; 6a 04 12985 call 01972h ; e8 ac8d13020 call 01972h ; e8 54 8d 12986 13021 add sp, strict byte 00018h ; 83 c4 18 12987 movzx di, byte [bp-00ah] ; 0f b6 7e f6 12988 imul di, di, strict byte 00018h ; 6b ff 18 12989 add di, word [bp-012h] ; 03 7e ee 12990 mov es, [bp-01eh] ; 8e 46 e2 13022 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13023 imul ax, ax, strict byte 00018h ; 6b c0 18 13024 mov di, word [bp-010h] ; 8b 7e f0 13025 add di, ax ; 01 c7 13026 mov es, [bp-00eh] ; 8e 46 f2 12991 13027 lea di, [di+026h] ; 8d 7d 26 12992 13028 push DS ; 1e 12993 13029 push SS ; 16 12994 13030 pop DS ; 1f 12995 lea si, [bp-02 8h] ; 8d 76 d813031 lea si, [bp-026h] ; 8d 76 da 12996 13032 movsw ; a5 12997 13033 movsw ; a5 12998 13034 movsw ; a5 12999 13035 pop DS ; 1f 13000 mov bx, word [bp-01 2h] ; 8b 5e ee13036 mov bx, word [bp-010h] ; 8b 5e f0 13001 13037 mov al, byte [es:bx+0019eh] ; 26 8a 87 9e 01 13002 mov ah, byte [bp-00 8h] ; 8a 66 f813038 mov ah, byte [bp-00ch] ; 8a 66 f4 13003 13039 add ah, 00ch ; 80 c4 0c 13004 13040 movzx bx, al ; 0f b6 d8 13005 add bx, word [bp-01 2h] ; 03 5e ee13041 add bx, word [bp-010h] ; 03 5e f0 13006 13042 mov byte [es:bx+0019fh], ah ; 26 88 a7 9f 01 13007 13043 db 0feh, 0c0h 13008 13044 ; inc al ; fe c0 13009 mov bx, word [bp-01 2h] ; 8b 5e ee13045 mov bx, word [bp-010h] ; 8b 5e f0 13010 13046 mov byte [es:bx+0019eh], al ; 26 88 87 9e 01 13011 13047 mov dx, strict word 00075h ; ba 75 00 13012 13048 mov ax, strict word 00040h ; b8 40 00 13013 call 01650h ; e8 41 8a13049 call 01650h ; e8 e7 89 13014 13050 db 0feh, 0c0h 13015 13051 ; inc al ; fe c0 … … 13017 13053 mov dx, strict word 00075h ; ba 75 00 13018 13054 mov ax, strict word 00040h ; b8 40 00 13019 call 0165eh ; e8 41 8a13020 jmp near 08 cbdh ; e9 9d0013055 call 0165eh ; e8 e7 89 13056 jmp near 08d10h ; e9 96 00 13021 13057 cmp dx, 0eb14h ; 81 fa 14 eb 13022 jne near 08 cbdh ; 0f 85 950013058 jne near 08d10h ; 0f 85 8e 00 13023 13059 cmp ax, 00101h ; 3d 01 01 13024 jne near 08 cbdh ; 0f 85 8e0013025 mov es, [bp-00eh] ; 8e 46 f213026 db 066h, 026h, 0c7h, 00 4h, 000h, 000h, 000h, 000h13027 ; mov dword [es: si], strict dword 000000000h ; 66 26 c7 0400 00 00 0013028 lea dx, [bp-0022 8h] ; 8d 96 d8fd13029 mov word [es: si+004h], dx ; 26 89 540413030 mov [es: si+006h], ss ; 26 8c 540613031 db 066h, 026h, 0c7h, 04 4h, 00ah, 001h, 000h, 000h, 002h13032 ; mov dword [es: si+00ah], strict dword 002000001h ; 66 26 c7 440a 01 00 00 0213060 jne near 08d10h ; 0f 85 87 00 13061 les bx, [bp-010h] ; c4 5e f0 13062 db 066h, 026h, 0c7h, 007h, 000h, 000h, 000h, 000h 13063 ; mov dword [es:bx], strict dword 000000000h ; 66 26 c7 07 00 00 00 00 13064 lea dx, [bp-00226h] ; 8d 96 da fd 13065 mov word [es:bx+004h], dx ; 26 89 57 04 13066 mov [es:bx+006h], ss ; 26 8c 57 06 13067 db 066h, 026h, 0c7h, 047h, 00ah, 001h, 000h, 000h, 002h 13068 ; mov dword [es:bx+00ah], strict dword 002000001h ; 66 26 c7 47 0a 01 00 00 02 13033 13069 mov bx, 000a1h ; bb a1 00 13034 mov ax, si ; 89f013035 mov dx, word [bp-020h] ; 8b 56 e013036 call 0814ah ; e8 f0f413037 test byte [bp-0022 8h], 080h ; f6 86 d8fd 8013070 mov ax, word [bp-010h] ; 8b 46 f0 13071 mov dx, es ; 8c c2 13072 call 0814ah ; e8 96 f4 13073 test byte [bp-00226h], 080h ; f6 86 da fd 80 13038 13074 db 00fh, 095h, 0c0h 13039 13075 ; setne al ; 0f 95 c0 13040 movzx dx, al ; 0f b6 d0 13041 movzx bx, byte [bp-008h] ; 0f b6 5e f8 13042 mov es, [bp-020h] ; 8e 46 e0 13043 add bx, si ; 01 f3 13044 mov al, byte [bp-00ch] ; 8a 46 f4 13076 xor ah, ah ; 30 e4 13077 mov dx, ax ; 89 c2 13078 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 13079 mov es, [bp-00eh] ; 8e 46 f2 13080 add bx, word [bp-010h] ; 03 5e f0 13081 mov al, byte [bp-008h] ; 8a 46 f8 13045 13082 mov byte [es:bx+001e9h], al ; 26 88 87 e9 01 13046 movzx si, cl ; 0f b6 f1 13047 imul si, si, strict byte 00018h ; 6b f6 18 13048 add si, 00122h ; 81 c6 22 01 13083 movzx ax, cl ; 0f b6 c1 13084 imul ax, ax, strict byte 00018h ; 6b c0 18 13085 mov si, word [bp-010h] ; 8b 76 f0 13086 add si, ax ; 01 c6 13049 13087 mov word [es:si+01eh], 00505h ; 26 c7 44 1e 05 05 13050 13088 mov byte [es:si+020h], dl ; 26 88 54 20 13051 13089 mov word [es:si+024h], 00800h ; 26 c7 44 24 00 08 13052 mov es, [bp-01eh] ; 8e 46 e2 13053 mov bx, word [bp-012h] ; 8b 5e ee 13090 mov bx, word [bp-010h] ; 8b 5e f0 13054 13091 mov al, byte [es:bx+001afh] ; 26 8a 87 af 01 13055 mov ah, byte [bp-00 8h] ; 8a 66 f813092 mov ah, byte [bp-00ch] ; 8a 66 f4 13056 13093 add ah, 00ch ; 80 c4 0c 13057 13094 movzx bx, al ; 0f b6 d8 13058 mov es, [bp-020h] ; 8e 46 e0 13059 add bx, 00122h ; 81 c3 22 01 13095 add bx, word [bp-010h] ; 03 5e f0 13060 13096 mov byte [es:bx+001b0h], ah ; 26 88 a7 b0 01 13061 13097 db 0feh, 0c0h 13062 13098 ; inc al ; fe c0 13063 mov es, [bp-01eh] ; 8e 46 e2 13064 mov bx, word [bp-012h] ; 8b 5e ee 13099 mov bx, word [bp-010h] ; 8b 5e f0 13065 13100 mov byte [es:bx+001afh], al ; 26 88 87 af 01 13066 inc byte [bp-008h] ; fe 46 f8 13067 mov al, byte [bp-008h] ; 8a 46 f8 13068 mov es, [bp-01eh] ; 8e 46 e2 13069 mov bx, word [bp-012h] ; 8b 5e ee 13101 inc byte [bp-00ch] ; fe 46 f4 13102 mov al, byte [bp-00ch] ; 8a 46 f4 13103 les bx, [bp-010h] ; c4 5e f0 13070 13104 mov byte [es:bx+001edh], al ; 26 88 87 ed 01 13071 13105 lea sp, [bp-006h] ; 8d 66 fa … … 13075 13109 pop bp ; 5d 13076 13110 retn ; c3 13077 ahci_mem_alloc_: ; 0xf8 cd6 LB 0x4313111 ahci_mem_alloc_: ; 0xf8d26 LB 0x43 13078 13112 push bp ; 55 13079 13113 mov bp, sp ; 89 e5 … … 13085 13119 mov dx, 00413h ; ba 13 04 13086 13120 xor ax, ax ; 31 c0 13087 call 0166ch ; e8 86 8913121 call 0166ch ; e8 36 89 13088 13122 test ax, ax ; 85 c0 13089 je short 08d 0fh ; 74 2513123 je short 08d5fh ; 74 25 13090 13124 dec ax ; 48 13091 13125 mov bx, ax ; 89 c3 … … 13094 13128 sal ax, 1 ; d1 e0 13095 13129 rcl dx, 1 ; d1 d2 13096 loop 08 cf2h ; e2 fa13130 loop 08d42h ; e2 fa 13097 13131 mov si, ax ; 89 c6 13098 13132 mov di, dx ; 89 d7 … … 13100 13134 shr di, 1 ; d1 ef 13101 13135 rcr si, 1 ; d1 de 13102 loop 08 cffh ; e2 fa13136 loop 08d4fh ; e2 fa 13103 13137 mov dx, 00413h ; ba 13 04 13104 13138 xor ax, ax ; 31 c0 13105 call 0167ah ; e8 6d 8913139 call 0167ah ; e8 1d 89 13106 13140 mov ax, si ; 89 f0 13107 13141 lea sp, [bp-00ah] ; 8d 66 f6 … … 13113 13147 pop bp ; 5d 13114 13148 retn ; c3 13115 ahci_hba_init_: ; 0xf8d 19 LB 0x12513149 ahci_hba_init_: ; 0xf8d69 LB 0x125 13116 13150 push bp ; 55 13117 13151 mov bp, sp ; 89 e5 … … 13125 13159 mov dx, strict word 0000eh ; ba 0e 00 13126 13160 mov ax, strict word 00040h ; b8 40 00 13127 call 0166ch ; e8 3d 8913161 call 0166ch ; e8 ed 88 13128 13162 mov bx, 00122h ; bb 22 01 13129 13163 mov word [bp-010h], ax ; 89 46 f0 … … 13142 13176 shr eax, 010h ; 66 c1 e8 10 13143 13177 xchg dx, ax ; 92 13144 call 08 cd6h ; e8 82 ff13178 call 08d26h ; e8 82 ff 13145 13179 mov di, ax ; 89 c7 13146 13180 test ax, ax ; 85 c0 13147 je near 08e 1dh ; 0f 84 c1 0013181 je near 08e6dh ; 0f 84 c1 00 13148 13182 mov es, [bp-010h] ; 8e 46 f0 13149 13183 mov word [es:bx+001eeh], di ; 26 89 bf ee 01 … … 13159 13193 mov dx, strict word 00004h ; ba 04 00 13160 13194 mov ax, si ; 89 f0 13161 call 07f79h ; e8 e9 f113195 call 07f79h ; e8 99 f1 13162 13196 mov ax, strict word 00004h ; b8 04 00 13163 13197 xor cx, cx ; 31 c9 … … 13176 13210 xchg dx, ax ; 92 13177 13211 test AL, strict byte 001h ; a8 01 13178 jne short 08d 90h ; 75 de13212 jne short 08de0h ; 75 de 13179 13213 xor ax, ax ; 31 c0 13180 13214 xor cx, cx ; 31 c9 … … 13194 13228 mov bx, strict word 0001fh ; bb 1f 00 13195 13229 xor cx, cx ; 31 c9 13196 call 0803ch ; e8 66 f213230 call 0803ch ; e8 16 f2 13197 13231 db 0feh, 0c0h 13198 13232 ; inc al ; fe c0 13199 13233 mov byte [bp-00eh], al ; 88 46 f2 13200 13234 mov byte [bp-00ch], 000h ; c6 46 f4 00 13201 jmp short 08 deah ; eb 0913235 jmp short 08e3ah ; eb 09 13202 13236 inc byte [bp-00ch] ; fe 46 f4 13203 13237 cmp byte [bp-00ch], 020h ; 80 7e f4 20 13204 jnc short 08e 1bh ; 73 3113238 jnc short 08e6bh ; 73 31 13205 13239 movzx cx, byte [bp-00ch] ; 0f b6 4e f4 13206 13240 mov ax, strict word 00001h ; b8 01 00 13207 13241 xor dx, dx ; 31 d2 13208 jcxz 08 dfbh ; e3 0613242 jcxz 08e4bh ; e3 06 13209 13243 sal ax, 1 ; d1 e0 13210 13244 rcl dx, 1 ; d1 d2 13211 loop 08 df5h ; e2 fa13245 loop 08e45h ; e2 fa 13212 13246 mov bx, ax ; 89 c3 13213 13247 mov cx, dx ; 89 d1 13214 13248 mov dx, strict word 0000ch ; ba 0c 00 13215 13249 mov ax, si ; 89 f0 13216 call 08003h ; e8 fc f113250 call 08003h ; e8 ac f1 13217 13251 test al, al ; 84 c0 13218 je short 08 de1h ; 74 d613252 je short 08e31h ; 74 d6 13219 13253 movzx bx, byte [bp-00ch] ; 0f b6 5e f4 13220 13254 xor ax, ax ; 31 c0 13221 13255 mov dx, di ; 89 fa 13222 call 088d5h ; e8 bf fa13256 call 088d5h ; e8 6f fa 13223 13257 dec byte [bp-00eh] ; fe 4e f2 13224 jne short 08 de1h ; 75 c613258 jne short 08e31h ; 75 c6 13225 13259 xor ax, ax ; 31 c0 13226 13260 lea sp, [bp-00ah] ; 8d 66 f6 … … 13232 13266 pop bp ; 5d 13233 13267 retn ; c3 13234 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0 0dh, 08fh, 0ebh, 08eh, 0f1h, 08eh, 0f7h, 08eh, 0fdh13235 db 08 eh, 003h, 08fh, 009h, 08fh, 00dh, 08fh13236 _ahci_init: ; 0xf8e 3e LB 0xfe13268 db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 05dh, 08fh, 03bh, 08fh, 041h, 08fh, 047h, 08fh, 04dh 13269 db 08fh, 053h, 08fh, 059h, 08fh, 05dh, 08fh 13270 _ahci_init: ; 0xf8e8e LB 0xfe 13237 13271 push bp ; 55 13238 13272 mov bp, sp ; 89 e5 … … 13242 13276 mov ax, 00601h ; b8 01 06 13243 13277 mov dx, strict word 00001h ; ba 01 00 13244 call 093 5ch ; e8 0d 0513278 call 093ach ; e8 0d 05 13245 13279 mov dx, ax ; 89 c2 13246 13280 cmp ax, strict word 0ffffh ; 3d ff ff 13247 je near 08f 35h ; 0f 84 dd 0013281 je near 08f85h ; 0f 84 dd 00 13248 13282 xor al, al ; 30 c0 13249 13283 shr ax, 008h ; c1 e8 08 … … 13253 13287 xor ah, ah ; 30 e4 13254 13288 mov bx, strict word 00034h ; bb 34 00 13255 call 093 87h ; e8 1a 0513289 call 093d7h ; e8 1a 05 13256 13290 mov cl, al ; 88 c1 13257 13291 test cl, cl ; 84 c9 13258 je short 08e 96h ; 74 2313292 je short 08ee6h ; 74 23 13259 13293 movzx bx, cl ; 0f b6 d9 13260 13294 movzx di, byte [bp-008h] ; 0f b6 7e f8 … … 13262 13296 mov dx, di ; 89 fa 13263 13297 mov ax, si ; 89 f0 13264 call 093 87h ; e8 02 0513298 call 093d7h ; e8 02 05 13265 13299 cmp AL, strict byte 012h ; 3c 12 13266 je short 08e 96h ; 74 0d13300 je short 08ee6h ; 74 0d 13267 13301 mov al, cl ; 88 c8 13268 13302 db 0feh, 0c0h … … 13271 13305 mov dx, di ; 89 fa 13272 13306 mov ax, si ; 89 f0 13273 jmp short 08e 6ah ; eb d413307 jmp short 08ebah ; eb d4 13274 13308 test cl, cl ; 84 c9 13275 je near 08f 35h ; 0f 84 99 0013309 je near 08f85h ; 0f 84 99 00 13276 13310 add cl, 002h ; 80 c1 02 13277 13311 movzx bx, cl ; 0f b6 d9 … … 13280 13314 mov dx, di ; 89 fa 13281 13315 mov ax, si ; 89 f0 13282 call 093 87h ; e8 d6 0413316 call 093d7h ; e8 d6 04 13283 13317 cmp AL, strict byte 010h ; 3c 10 13284 jne near 08f 35h ; 0f 85 7e 0013318 jne near 08f85h ; 0f 85 7e 00 13285 13319 mov byte [bp-006h], 000h ; c6 46 fa 00 13286 13320 mov al, cl ; 88 c8 … … 13289 13323 mov dx, di ; 89 fa 13290 13324 mov ax, si ; 89 f0 13291 call 093 abh ; e8 e2 0413325 call 093fbh ; e8 e2 04 13292 13326 mov dx, ax ; 89 c2 13293 13327 and ax, strict word 0000fh ; 25 0f 00 13294 13328 sub ax, strict word 00004h ; 2d 04 00 13295 13329 cmp ax, strict word 0000bh ; 3d 0b 00 13296 jnbe short 08f 0dh ; 77 3713330 jnbe short 08f5dh ; 77 37 13297 13331 push CS ; 0e 13298 13332 pop ES ; 07 13299 13333 mov cx, strict word 00008h ; b9 08 00 13300 mov di, 08e 27h ; bf 27 8e13334 mov di, 08e77h ; bf 77 8e 13301 13335 repne scasb ; f2 ae 13302 13336 sal cx, 1 ; d1 e1 13303 13337 mov di, cx ; 89 cf 13304 mov ax, word [cs:di-071 d2h] ; 2e 8b 85 2e 8e13338 mov ax, word [cs:di-07182h] ; 2e 8b 85 7e 8e 13305 13339 jmp ax ; ff e0 13306 13340 mov byte [bp-006h], 010h ; c6 46 fa 10 13307 jmp short 08f 0dh ; eb 1c13341 jmp short 08f5dh ; eb 1c 13308 13342 mov byte [bp-006h], 014h ; c6 46 fa 14 13309 jmp short 08f 0dh ; eb 1613343 jmp short 08f5dh ; eb 16 13310 13344 mov byte [bp-006h], 018h ; c6 46 fa 18 13311 jmp short 08f 0dh ; eb 1013345 jmp short 08f5dh ; eb 10 13312 13346 mov byte [bp-006h], 01ch ; c6 46 fa 1c 13313 jmp short 08f 0dh ; eb 0a13347 jmp short 08f5dh ; eb 0a 13314 13348 mov byte [bp-006h], 020h ; c6 46 fa 20 13315 jmp short 08f 0dh ; eb 0413349 jmp short 08f5dh ; eb 04 13316 13350 mov byte [bp-006h], 024h ; c6 46 fa 24 13317 13351 mov si, dx ; 89 d6 … … 13320 13354 mov al, byte [bp-006h] ; 8a 46 fa 13321 13355 test al, al ; 84 c0 13322 je short 08f 35h ; 74 1913356 je short 08f85h ; 74 19 13323 13357 movzx bx, al ; 0f b6 d8 13324 13358 movzx dx, byte [bp-008h] ; 0f b6 56 f8 13325 13359 movzx ax, byte [bp-00ah] ; 0f b6 46 f6 13326 call 09 3cdh ; e8 a3 0413360 call 0941dh ; e8 a3 04 13327 13361 test AL, strict byte 001h ; a8 01 13328 je short 08f 35h ; 74 0713362 je short 08f85h ; 74 07 13329 13363 and AL, strict byte 0f0h ; 24 f0 13330 13364 add ax, si ; 01 f0 13331 call 08d 19h ; e8 e4 fd13365 call 08d69h ; e8 e4 fd 13332 13366 lea sp, [bp-004h] ; 8d 66 fc 13333 13367 pop di ; 5f … … 13335 13369 pop bp ; 5d 13336 13370 retn ; c3 13337 apm_out_str_: ; 0xf8f 3c LB 0x3913371 apm_out_str_: ; 0xf8f8c LB 0x39 13338 13372 push bp ; 55 13339 13373 mov bp, sp ; 89 e5 … … 13341 13375 mov bx, ax ; 89 c3 13342 13376 cmp byte [bx], 000h ; 80 3f 00 13343 je short 08f 51h ; 74 0a13377 je short 08fa1h ; 74 0a 13344 13378 mov al, byte [bx] ; 8a 07 13345 13379 out DX, AL ; ee … … 13348 13382 db 00ah, 0c0h 13349 13383 ; or al, al ; 0a c0 13350 jne short 08f 49h ; 75 f813384 jne short 08f99h ; 75 f8 13351 13385 lea sp, [bp-002h] ; 8d 66 fe 13352 13386 pop bx ; 5b 13353 13387 pop bp ; 5d 13354 13388 retn ; c3 13355 cbw ; 98 13356 db 08fh, 064h, 090h 13357 ; pop word [si-070h] ; 8f 64 90 13358 stosb ; aa 13359 db 08fh, 0c5h 13360 ; pop bp ; 8f c5 13361 db 08fh, 064h, 090h 13362 ; pop word [si-070h] ; 8f 64 90 13363 db 0f0h, 08fh, 064h, 090h 13364 ; Illegal opcode ; f0 8f 64 90 13365 cmc ; f5 13366 db 08fh, 039h 13367 ; pop word [bx+di] ; 8f 39 13389 call 04439h ; e8 8f b4 13368 13390 nop ; 90 13369 cmp word [bx+si-06fc7h], dx ; 39 90 39 90 13370 xor AL, strict byte 090h ; 34 90 13371 cmp word [bx+si-06fc7h], dx ; 39 90 39 90 13372 db 02dh 13391 cli ; fa 13392 db 08fh, 015h 13393 ; pop word [di] ; 8f 15 13373 13394 nop ; 90 13374 _apm_function: ; 0xf8f75 LB 0xf5 13395 mov AH, strict byte 090h ; b4 90 13396 inc ax ; 40 13397 nop ; 90 13398 mov AH, strict byte 090h ; b4 90 13399 inc bp ; 45 13400 nop ; 90 13401 mov word [bx+si-06f77h], dx ; 89 90 89 90 13402 mov word [bx+si-06f7ch], dx ; 89 90 84 90 13403 mov word [bx+si-06f77h], dx ; 89 90 89 90 13404 jnl short 08f55h ; 7d 90 13405 _apm_function: ; 0xf8fc5 LB 0xf5 13375 13406 push bp ; 55 13376 13407 mov bp, sp ; 89 e5 … … 13380 13411 xor ah, ah ; 30 e4 13381 13412 cmp ax, strict word 0000eh ; 3d 0e 00 13382 jnbe near 090 39h ; 0f 87 b0 0013413 jnbe near 09089h ; 0f 87 b0 00 13383 13414 mov bx, ax ; 89 c3 13384 13415 add bx, ax ; 01 c3 13385 13416 mov dx, word [bp+018h] ; 8b 56 18 13386 13417 or dl, 001h ; 80 ca 01 13387 jmp word [cs:bx-070 a9h] ; 2e ff a7 57 8f13418 jmp word [cs:bx-07059h] ; 2e ff a7 a7 8f 13388 13419 mov word [bp+012h], 00102h ; c7 46 12 02 01 13389 13420 mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50 13390 13421 mov word [bp+010h], strict word 00003h ; c7 46 10 03 00 13391 jmp near 090 64h ; e9 ba 0013422 jmp near 090b4h ; e9 ba 00 13392 13423 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 13393 mov word [bp+00ch], 09 5c4h ; c7 46 0c c4 9513424 mov word [bp+00ch], 09614h ; c7 46 0c 14 96 13394 13425 mov word [bp+010h], 0f000h ; c7 46 10 00 f0 13395 13426 mov ax, strict word 0fff0h ; b8 f0 ff 13396 13427 mov word [bp+006h], ax ; 89 46 06 13397 13428 mov word [bp+004h], ax ; 89 46 04 13398 jmp near 090 64h ; e9 9f 0013429 jmp near 090b4h ; e9 9f 00 13399 13430 mov word [bp+012h], 0f000h ; c7 46 12 00 f0 13400 13431 mov word [bp+00ch], 0da40h ; c7 46 0c 40 da … … 13409 13440 mov si, ax ; 89 c6 13410 13441 sal esi, 010h ; 66 c1 e6 10 13411 jmp near 090 64h ; e9 74 0013442 jmp near 090b4h ; e9 74 00 13412 13443 sti ; fb 13413 13444 hlt ; f4 13414 jmp near 090 64h ; e9 6f 0013445 jmp near 090b4h ; e9 6f 00 13415 13446 cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03 13416 je short 090 1ah ; 74 1f13447 je short 0906ah ; 74 1f 13417 13448 cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02 13418 je short 090 12h ; 74 1113449 je short 09062h ; 74 11 13419 13450 cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01 13420 jne short 090 22h ; 75 1b13451 jne short 09072h ; 75 1b 13421 13452 mov dx, 08900h ; ba 00 89 13422 13453 mov ax, 00d12h ; b8 12 0d 13423 call 08f 3ch ; e8 2c ff13424 jmp short 090 64h ; eb 5213454 call 08f8ch ; e8 2c ff 13455 jmp short 090b4h ; eb 52 13425 13456 mov dx, 08900h ; ba 00 89 13426 13457 mov ax, 00d1ah ; b8 1a 0d 13427 jmp short 090 0dh ; eb f313458 jmp short 0905dh ; eb f3 13428 13459 mov dx, 08900h ; ba 00 89 13429 13460 mov ax, 00d22h ; b8 22 0d 13430 jmp short 090 0dh ; eb eb13461 jmp short 0905dh ; eb eb 13431 13462 or ah, 00ah ; 80 cc 0a 13432 13463 mov word [bp+012h], ax ; 89 46 12 13433 13464 mov word [bp+018h], dx ; 89 56 18 13434 jmp short 090 64h ; eb 3713465 jmp short 090b4h ; eb 37 13435 13466 mov word [bp+012h], 00102h ; c7 46 12 02 01 13436 jmp short 090 64h ; eb 3013467 jmp short 090b4h ; eb 30 13437 13468 or ah, 080h ; 80 cc 80 13438 jmp short 090 25h ; eb ec13469 jmp short 09075h ; eb ec 13439 13470 mov bx, 00da2h ; bb a2 0d 13440 13471 mov cx, ds ; 8c d9 13441 13472 mov ax, strict word 00004h ; b8 04 00 13442 call 01931h ; e8 ed 8813473 call 01931h ; e8 9d 88 13443 13474 push word [bp+00ch] ; ff 76 0c 13444 13475 push word [bp+012h] ; ff 76 12 13445 13476 push 00d2bh ; 68 2b 0d 13446 13477 push strict byte 00004h ; 6a 04 13447 call 01972h ; e8 20 8913478 call 01972h ; e8 d0 88 13448 13479 add sp, strict byte 00008h ; 83 c4 08 13449 13480 mov ax, word [bp+012h] ; 8b 46 12 … … 13456 13487 pop bp ; 5d 13457 13488 retn ; c3 13458 pci16_select_reg_: ; 0xf90 6a LB 0x2413489 pci16_select_reg_: ; 0xf90ba LB 0x24 13459 13490 push bp ; 55 13460 13491 mov bp, sp ; 89 e5 … … 13473 13504 pop bp ; 5d 13474 13505 retn ; c3 13475 pci16_find_device_: ; 0xf90 8e LB 0xf713506 pci16_find_device_: ; 0xf90de LB 0xf7 13476 13507 push bp ; 55 13477 13508 mov bp, sp ; 89 e5 … … 13487 13518 mov byte [bp-008h], 000h ; c6 46 f8 00 13488 13519 test bl, 007h ; f6 c3 07 13489 jne short 09 0d6h ; 75 2d13520 jne short 09126h ; 75 2d 13490 13521 mov dx, strict word 0000eh ; ba 0e 00 13491 13522 mov ax, bx ; 89 d8 13492 call 090 6ah ; e8 b9 ff13523 call 090bah ; e8 b9 ff 13493 13524 mov dx, 00cfeh ; ba fe 0c 13494 13525 in AL, DX ; ec … … 13497 13528 mov byte [bp-006h], al ; 88 46 fa 13498 13529 cmp AL, strict byte 0ffh ; 3c ff 13499 jne short 09 0c4h ; 75 0613530 jne short 09114h ; 75 06 13500 13531 add bx, strict byte 00008h ; 83 c3 08 13501 jmp near 091 57h ; e9 93 0013532 jmp near 091a7h ; e9 93 00 13502 13533 test byte [bp-006h], 080h ; f6 46 fa 80 13503 je short 09 0d1h ; 74 0713534 je short 09121h ; 74 07 13504 13535 mov word [bp-00ah], strict word 00001h ; c7 46 f6 01 00 13505 jmp short 09 0d6h ; eb 0513536 jmp short 09126h ; eb 05 13506 13537 mov word [bp-00ah], strict word 00008h ; c7 46 f6 08 00 13507 13538 mov al, byte [bp-006h] ; 8a 46 fa 13508 13539 and AL, strict byte 007h ; 24 07 13509 13540 cmp AL, strict byte 001h ; 3c 01 13510 jne short 09 0feh ; 75 1f13541 jne short 0914eh ; 75 1f 13511 13542 mov ax, bx ; 89 d8 13512 13543 shr ax, 008h ; c1 e8 08 13513 13544 test ax, ax ; 85 c0 13514 jne short 09 0feh ; 75 1613545 jne short 0914eh ; 75 16 13515 13546 mov dx, strict word 0001ah ; ba 1a 00 13516 13547 mov ax, bx ; 89 d8 13517 call 090 6ah ; e8 7a ff13548 call 090bah ; e8 7a ff 13518 13549 mov dx, 00cfeh ; ba fe 0c 13519 13550 in AL, DX ; ec … … 13521 13552 ; sub ah, ah ; 2a e4 13522 13553 cmp al, byte [bp-008h] ; 3a 46 f8 13523 jbe short 09 0feh ; 76 0313554 jbe short 0914eh ; 76 03 13524 13555 mov byte [bp-008h], al ; 88 46 f8 13525 13556 test di, di ; 85 ff 13526 je short 091 07h ; 74 0513557 je short 09157h ; 74 05 13527 13558 mov dx, strict word 00008h ; ba 08 00 13528 jmp short 091 09h ; eb 0213559 jmp short 09159h ; eb 02 13529 13560 xor dx, dx ; 31 d2 13530 13561 mov ax, bx ; 89 d8 13531 call 090 6ah ; e8 5c ff13562 call 090bah ; e8 5c ff 13532 13563 mov dx, 00cfch ; ba fc 0c 13533 13564 in eax, DX ; 66 ed … … 13540 13571 mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00 13541 13572 test di, di ; 85 ff 13542 je short 091 38h ; 74 0f13573 je short 09188h ; 74 0f 13543 13574 mov cx, strict word 00008h ; b9 08 00 13544 13575 shr dx, 1 ; d1 ea 13545 13576 rcr ax, 1 ; d1 d8 13546 loop 091 2ch ; e2 fa13577 loop 0917ch ; e2 fa 13547 13578 mov word [bp-00eh], ax ; 89 46 f2 13548 13579 mov word [bp-00ch], dx ; 89 56 f4 13549 13580 mov ax, word [bp-00ch] ; 8b 46 f4 13550 13581 cmp ax, word [bp-014h] ; 3b 46 ec 13551 jne short 091 48h ; 75 0813582 jne short 09198h ; 75 08 13552 13583 mov ax, word [bp-00eh] ; 8b 46 f2 13553 13584 cmp ax, word [bp-012h] ; 3b 46 ee 13554 je short 091 4eh ; 74 0613585 je short 0919eh ; 74 06 13555 13586 cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00 13556 je short 091 54h ; 74 0613587 je short 091a4h ; 74 06 13557 13588 dec si ; 4e 13558 13589 cmp si, strict byte 0ffffh ; 83 fe ff 13559 je short 091 66h ; 74 1213590 je short 091b6h ; 74 12 13560 13591 add bx, word [bp-00ah] ; 03 5e f6 13561 13592 mov dx, bx ; 89 da … … 13563 13594 movzx ax, byte [bp-008h] ; 0f b6 46 f8 13564 13595 cmp dx, ax ; 39 c2 13565 jbe near 090 a4h ; 0f 86 3e ff13596 jbe near 090f4h ; 0f 86 3e ff 13566 13597 cmp si, strict byte 0ffffh ; 83 fe ff 13567 jne short 091 6fh ; 75 0413598 jne short 091bfh ; 75 04 13568 13599 mov ax, bx ; 89 d8 13569 jmp short 091 72h ; eb 0313600 jmp short 091c2h ; eb 03 13570 13601 mov ax, strict word 0ffffh ; b8 ff ff 13571 13602 lea sp, [bp-004h] ; 8d 66 fc … … 13574 13605 pop bp ; 5d 13575 13606 retn ; c3 13576 db 067h, 092h, 081h, 092h, 094h, 092h, 0a9h, 092h, 0bch, 092h, 0cfh, 092h 13577 _pci16_function: ; 0xf9185 LB 0x1d7 13607 mov BH, strict byte 092h ; b7 92 13608 rcl word [bp+si-06d1ch], 1 ; d1 92 e4 92 13609 stc ; f9 13610 xchg dx, ax ; 92 13611 or AL, strict byte 093h ; 0c 93 13612 pop DS ; 1f 13613 xchg bx, ax ; 93 13614 _pci16_function: ; 0xf91d5 LB 0x1d7 13578 13615 push bp ; 55 13579 13616 mov bp, sp ; 89 e5 … … 13589 13626 xor ah, ah ; 30 e4 13590 13627 cmp bx, strict byte 00003h ; 83 fb 03 13591 jc short 09 1beh ; 72 1a13592 jbe short 092 16h ; 76 7013628 jc short 0920eh ; 72 1a 13629 jbe short 09266h ; 76 70 13593 13630 cmp bx, strict byte 0000eh ; 83 fb 0e 13594 je near 09 2e3h ; 0f 84 36 0113631 je near 09333h ; 0f 84 36 01 13595 13632 cmp bx, strict byte 00008h ; 83 fb 08 13596 jc near 093 28h ; 0f 82 74 0113633 jc near 09378h ; 0f 82 74 01 13597 13634 cmp bx, strict byte 0000dh ; 83 fb 0d 13598 jbe near 092 3bh ; 0f 86 80 0013599 jmp near 093 28h ; e9 6a 0113635 jbe near 0928bh ; 0f 86 80 00 13636 jmp near 09378h ; e9 6a 01 13600 13637 cmp bx, strict byte 00002h ; 83 fb 02 13601 je short 09 1e6h ; 74 2313638 je short 09236h ; 74 23 13602 13639 cmp bx, strict byte 00001h ; 83 fb 01 13603 jne near 093 28h ; 0f 85 5e 0113640 jne near 09378h ; 0f 85 5e 01 13604 13641 mov word [bp+020h], strict word 00001h ; c7 46 20 01 00 13605 13642 mov word [bp+014h], 00210h ; c7 46 14 10 02 … … 13607 13644 mov word [bp+018h], 04350h ; c7 46 18 50 43 13608 13645 mov word [bp+01ah], 02049h ; c7 46 1a 49 20 13609 jmp near 093 55h ; e9 6f 0113646 jmp near 093a5h ; e9 6f 01 13610 13647 cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff 13611 jne short 09 1f2h ; 75 0613648 jne short 09242h ; 75 06 13612 13649 or ah, 083h ; 80 cc 83 13613 jmp near 093 4eh ; e9 5c 0113650 jmp near 0939eh ; e9 5c 01 13614 13651 mov bx, word [bp+008h] ; 8b 5e 08 13615 13652 mov dx, word [bp+01ch] ; 8b 56 1c 13616 13653 mov ax, word [bp+018h] ; 8b 46 18 13617 13654 xor cx, cx ; 31 c9 13618 call 090 8eh ; e8 8e fe13655 call 090deh ; e8 8e fe 13619 13656 cmp ax, strict word 0ffffh ; 3d ff ff 13620 jne short 092 10h ; 75 0b13657 jne short 09260h ; 75 0b 13621 13658 mov ax, word [bp+020h] ; 8b 46 20 13622 13659 xor ah, ah ; 30 e4 13623 13660 or ah, 086h ; 80 cc 86 13624 jmp near 093 4eh ; e9 3e 0113661 jmp near 0939eh ; e9 3e 01 13625 13662 mov word [bp+014h], ax ; 89 46 14 13626 jmp near 093 55h ; e9 3f 0113663 jmp near 093a5h ; e9 3f 01 13627 13664 mov bx, word [bp+008h] ; 8b 5e 08 13628 13665 mov ax, word [bp+01ch] ; 8b 46 1c 13629 13666 mov dx, word [bp+01eh] ; 8b 56 1e 13630 13667 mov cx, strict word 00001h ; b9 01 00 13631 call 090 8eh ; e8 69 fe13668 call 090deh ; e8 69 fe 13632 13669 cmp ax, strict word 0ffffh ; 3d ff ff 13633 jne short 092 35h ; 75 0b13670 jne short 09285h ; 75 0b 13634 13671 mov ax, word [bp+020h] ; 8b 46 20 13635 13672 xor ah, ah ; 30 e4 13636 13673 or ah, 086h ; 80 cc 86 13637 jmp near 093 4eh ; e9 19 0113674 jmp near 0939eh ; e9 19 01 13638 13675 mov word [bp+014h], ax ; 89 46 14 13639 jmp near 093 55h ; e9 1a 0113676 jmp near 093a5h ; e9 1a 01 13640 13677 cmp word [bp+004h], 00100h ; 81 7e 04 00 01 13641 jc short 092 48h ; 72 0613678 jc short 09298h ; 72 06 13642 13679 or ah, 087h ; 80 cc 87 13643 jmp near 093 4eh ; e9 06 0113680 jmp near 0939eh ; e9 06 01 13644 13681 mov dx, word [bp+004h] ; 8b 56 04 13645 13682 mov ax, word [bp+014h] ; 8b 46 14 13646 call 090 6ah ; e8 19 fe13683 call 090bah ; e8 19 fe 13647 13684 mov bx, word [bp+020h] ; 8b 5e 20 13648 13685 xor bh, bh ; 30 ff 13649 13686 sub bx, strict byte 00008h ; 83 eb 08 13650 13687 cmp bx, strict byte 00005h ; 83 fb 05 13651 jnbe near 093 55h ; 0f 87 f5 0013688 jnbe near 093a5h ; 0f 87 f5 00 13652 13689 add bx, bx ; 01 db 13653 jmp word [cs:bx-06e 87h] ; 2e ff a7 79 9113690 jmp word [cs:bx-06e37h] ; 2e ff a7 c9 91 13654 13691 mov bx, word [bp+01ch] ; 8b 5e 1c 13655 13692 xor bl, bl ; 30 db … … 13662 13699 or bx, ax ; 09 c3 13663 13700 mov word [bp+01ch], bx ; 89 5e 1c 13664 jmp near 093 55h ; e9 d4 0013701 jmp near 093a5h ; e9 d4 00 13665 13702 mov dx, word [bp+004h] ; 8b 56 04 13666 13703 xor dh, dh ; 30 f6 … … 13669 13706 in ax, DX ; ed 13670 13707 mov word [bp+01ch], ax ; 89 46 1c 13671 jmp near 093 55h ; e9 c1 0013708 jmp near 093a5h ; e9 c1 00 13672 13709 mov dx, 00cfch ; ba fc 0c 13673 13710 in eax, DX ; 66 ed … … 13678 13715 mov word [bp+01ch], ax ; 89 46 1c 13679 13716 mov word [bp+01eh], dx ; 89 56 1e 13680 jmp near 093 55h ; e9 ac 0013717 jmp near 093a5h ; e9 ac 00 13681 13718 mov ax, word [bp+01ch] ; 8b 46 1c 13682 13719 mov dx, word [bp+004h] ; 8b 56 04 … … 13685 13722 add dx, 00cfch ; 81 c2 fc 0c 13686 13723 out DX, AL ; ee 13687 jmp near 093 55h ; e9 99 0013724 jmp near 093a5h ; e9 99 00 13688 13725 mov ax, word [bp+01ch] ; 8b 46 1c 13689 13726 mov dx, word [bp+004h] ; 8b 56 04 … … 13692 13729 add dx, 00cfch ; 81 c2 fc 0c 13693 13730 out DX, ax ; ef 13694 jmp near 093 55h ; e9 86 0013731 jmp near 093a5h ; e9 86 00 13695 13732 mov ax, word [bp+01ch] ; 8b 46 1c 13696 13733 mov cx, word [bp+01eh] ; 8b 4e 1e … … 13701 13738 ; mov ax, cx ; 8b c1 13702 13739 out DX, eax ; 66 ef 13703 jmp short 093 55h ; eb 7213740 jmp short 093a5h ; eb 72 13704 13741 mov bx, word [bp+004h] ; 8b 5e 04 13705 13742 mov es, [bp+026h] ; 8e 46 26 … … 13708 13745 mov cx, word [0f4a0h] ; 8b 0e a0 f4 13709 13746 cmp cx, word [es:bx] ; 26 3b 0f 13710 jbe short 093 09h ; 76 1113747 jbe short 09359h ; 76 11 13711 13748 mov ax, word [bp+020h] ; 8b 46 20 13712 13749 xor ah, ah ; 30 e4 … … 13714 13751 mov word [bp+020h], ax ; 89 46 20 13715 13752 or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01 13716 jmp short 093 1dh ; eb 1413753 jmp short 0936dh ; eb 14 13717 13754 les di, [es:bx+002h] ; 26 c4 7f 02 13718 13755 mov si, 0f2c0h ; be c0 f2 … … 13726 13763 les bx, [bp-008h] ; c4 5e f8 13727 13764 mov word [es:bx], ax ; 26 89 07 13728 jmp short 093 55h ; eb 2d13765 jmp short 093a5h ; eb 2d 13729 13766 mov bx, 00da2h ; bb a2 0d 13730 13767 mov cx, ds ; 8c d9 13731 13768 mov ax, strict word 00004h ; b8 04 00 13732 call 01931h ; e8 fe 8513769 call 01931h ; e8 ae 85 13733 13770 mov ax, word [bp+014h] ; 8b 46 14 13734 13771 push ax ; 50 … … 13737 13774 push 00d5eh ; 68 5e 0d 13738 13775 push strict byte 00004h ; 6a 04 13739 call 01972h ; e8 2f 8613776 call 01972h ; e8 df 85 13740 13777 add sp, strict byte 00008h ; 83 c4 08 13741 13778 mov ax, word [bp+020h] ; 8b 46 20 … … 13749 13786 pop bp ; 5d 13750 13787 retn ; c3 13751 pci_find_classcode_: ; 0xf93 5c LB 0x2b13788 pci_find_classcode_: ; 0xf93ac LB 0x2b 13752 13789 push bp ; 55 13753 13790 mov bp, sp ; 89 e5 … … 13764 13801 int 01ah ; cd 1a 13765 13802 cmp ah, 000h ; 80 fc 00 13766 je near 093 7dh ; 0f 84 03 0013803 je near 093cdh ; 0f 84 03 00 13767 13804 mov bx, strict word 0ffffh ; bb ff ff 13768 13805 mov ax, bx ; 89 d8 … … 13773 13810 pop bp ; 5d 13774 13811 retn ; c3 13775 pci_read_config_byte_: ; 0xf93 87 LB 0x2413812 pci_read_config_byte_: ; 0xf93d7 LB 0x24 13776 13813 push bp ; 55 13777 13814 mov bp, sp ; 89 e5 … … 13792 13829 pop bp ; 5d 13793 13830 retn ; c3 13794 pci_read_config_word_: ; 0xf93 ab LB 0x2213831 pci_read_config_word_: ; 0xf93fb LB 0x22 13795 13832 push bp ; 55 13796 13833 mov bp, sp ; 89 e5 … … 13811 13848 pop bp ; 5d 13812 13849 retn ; c3 13813 pci_read_config_dword_: ; 0xf9 3cd LB 0x2713850 pci_read_config_dword_: ; 0xf941d LB 0x27 13814 13851 push bp ; 55 13815 13852 mov bp, sp ; 89 e5 … … 13832 13869 pop bp ; 5d 13833 13870 retn ; c3 13834 vds_is_present_: ; 0xf9 3f4 LB 0x1d13871 vds_is_present_: ; 0xf9444 LB 0x1d 13835 13872 push bx ; 53 13836 13873 push bp ; 55 … … 13840 13877 mov es, ax ; 8e c0 13841 13878 test byte [es:bx], 020h ; 26 f6 07 20 13842 je short 094 0ch ; 74 0613879 je short 0945ch ; 74 06 13843 13880 mov ax, strict word 00001h ; b8 01 00 13844 13881 pop bp ; 5d … … 13849 13886 pop bx ; 5b 13850 13887 retn ; c3 13851 vds_real_to_lin_: ; 0xf94 11 LB 0x1e13888 vds_real_to_lin_: ; 0xf9461 LB 0x1e 13852 13889 push bx ; 53 13853 13890 push cx ; 51 … … 13860 13897 sal ax, 1 ; d1 e0 13861 13898 rcl dx, 1 ; d1 d2 13862 loop 094 1fh ; e2 fa13899 loop 0946fh ; e2 fa 13863 13900 xor cx, cx ; 31 c9 13864 13901 add ax, bx ; 01 d8 … … 13868 13905 pop bx ; 5b 13869 13906 retn ; c3 13870 vds_build_sg_list_: ; 0xf94 2f LB 0x7913907 vds_build_sg_list_: ; 0xf947f LB 0x79 13871 13908 push bp ; 55 13872 13909 mov bp, sp ; 89 e5 … … 13882 13919 mov bx, word [bp+006h] ; 8b 5e 06 13883 13920 mov word [es:di+002h], bx ; 26 89 5d 02 13884 call 094 11h ; e8 c3 ff13921 call 09461h ; e8 c3 ff 13885 13922 mov es, si ; 8e c6 13886 13923 mov word [es:di+004h], ax ; 26 89 45 04 13887 13924 mov word [es:di+006h], dx ; 26 89 55 06 13888 13925 mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00 13889 call 09 3f4h ; e8 93 ff13926 call 09444h ; e8 93 ff 13890 13927 test ax, ax ; 85 c0 13891 je short 094 78h ; 74 1313928 je short 094c8h ; 74 13 13892 13929 mov es, si ; 8e c6 13893 13930 mov ax, 08105h ; b8 05 81 13894 13931 mov dx, strict word 00000h ; ba 00 00 13895 13932 int 04bh ; cd 4b 13896 jc near 094 75h ; 0f 82 02 0013933 jc near 094c5h ; 0f 82 02 00 13897 13934 db 032h, 0c0h 13898 13935 ; xor al, al ; 32 c0 13899 13936 cbw ; 98 13900 jmp short 094 9fh ; eb 2713937 jmp short 094efh ; eb 27 13901 13938 mov es, si ; 8e c6 13902 13939 mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00 … … 13915 13952 pop bp ; 5d 13916 13953 retn 00004h ; c2 04 00 13917 vds_free_sg_list_: ; 0xf94 a8 LB 0x3813954 vds_free_sg_list_: ; 0xf94f8 LB 0x38 13918 13955 push bp ; 55 13919 13956 mov bp, sp ; 89 e5 … … 13921 13958 push di ; 57 13922 13959 mov bx, ax ; 89 c3 13923 call 09 3f4h ; e8 42 ff13960 call 09444h ; e8 42 ff 13924 13961 test ax, ax ; 85 c0 13925 je short 09 4c9h ; 74 1313962 je short 09519h ; 74 13 13926 13963 mov di, bx ; 89 df 13927 13964 mov es, dx ; 8e c2 … … 13929 13966 mov dx, strict word 00000h ; ba 00 00 13930 13967 int 04bh ; cd 4b 13931 jc near 09 4c8h ; 0f 82 02 0013968 jc near 09518h ; 0f 82 02 00 13932 13969 db 032h, 0c0h 13933 13970 ; xor al, al ; 32 c0 … … 13941 13978 retn ; c3 13942 13979 times 0x8 db 0 13943 __U4D: ; 0xf9 4e0 LB 0x3913980 __U4D: ; 0xf9530 LB 0x39 13944 13981 pushfw ; 9c 13945 13982 push eax ; 66 50 … … 13971 14008 popfw ; 9d 13972 14009 retn ; c3 13973 __U4M: ; 0xf95 19 LB 0x3114010 __U4M: ; 0xf9569 LB 0x31 13974 14011 pushfw ; 9c 13975 14012 push eax ; 66 50 … … 13996 14033 popfw ; 9d 13997 14034 retn ; c3 13998 _fmemset_: ; 0xf95 4a LB 0xd14035 _fmemset_: ; 0xf959a LB 0xd 13999 14036 push di ; 57 14000 14037 mov es, dx ; 8e c2 … … 14006 14043 pop di ; 5f 14007 14044 retn ; c3 14008 _fmemcpy_: ; 0xf95 57 LB 0x3314045 _fmemcpy_: ; 0xf95a7 LB 0x33 14009 14046 push bp ; 55 14010 14047 db 08bh, 0ech … … 14026 14063 leave ; c9 14027 14064 retn ; c3 14028 add byte [bx+si-05d6bh], ah ; 00 a0 95 a214065 add al, dh ; 00 f0 14029 14066 xchg bp, ax ; 95 14030 cmpsb ; a6 14067 repne xchg bp, ax ; f2 95 14068 not byte [di-06a0ah] ; f6 95 f6 95 14069 not byte [di-06a08h] ; f6 95 f8 95 14070 clc ; f8 14031 14071 xchg bp, ax ; 95 14032 c mpsb ; a614072 cli ; fa 14033 14073 xchg bp, ax ; 95 14034 cmpsb ; a614074 db 0feh 14035 14075 xchg bp, ax ; 95 14036 test AL, strict byte 095h ; a8 95 14037 test AL, strict byte 095h ; a8 95 14038 stosb ; aa 14076 db 0feh 14039 14077 xchg bp, ax ; 95 14040 scasb ; ae 14041 xchg bp, ax ; 95 14042 scasb ; ae 14043 xchg bp, ax ; 95 14044 mov AL, strict byte 095h ; b0 95 14045 mov CH, strict byte 095h ; b5 95 14046 mov BH, strict byte 095h ; b7 95 14047 apm_worker: ; 0xf958a LB 0x3a 14078 add byte [bp-069fbh], dl ; 00 96 05 96 14079 pop ES ; 07 14080 xchg si, ax ; 96 14081 apm_worker: ; 0xf95da LB 0x3a 14048 14082 sti ; fb 14049 14083 push ax ; 50 … … 14057 14091 pop ax ; 58 14058 14092 mov AH, strict byte 053h ; b4 53 14059 jnc short 09 5c0h ; 73 2514060 jmp word [cs:bp-06a 90h] ; 2e ff a6 70 9514061 jmp short 09 5beh ; eb 1c14093 jnc short 09610h ; 73 25 14094 jmp word [cs:bp-06a40h] ; 2e ff a6 c0 95 14095 jmp short 0960eh ; eb 1c 14062 14096 sti ; fb 14063 14097 hlt ; f4 14064 jmp short 09 5beh ; eb 1814065 jmp short 09 5beh ; eb 1614066 jmp short 09 5c0h ; eb 1614098 jmp short 0960eh ; eb 18 14099 jmp short 0960eh ; eb 16 14100 jmp short 09610h ; eb 16 14067 14101 mov AH, strict byte 080h ; b4 80 14068 jmp short 09 5c2h ; eb 1414069 jmp short 09 5c0h ; eb 1014102 jmp short 09612h ; eb 14 14103 jmp short 09610h ; eb 10 14070 14104 mov ax, 00102h ; b8 02 01 14071 jmp short 09 5beh ; eb 0914072 jmp short 09 5beh ; eb 0714105 jmp short 0960eh ; eb 09 14106 jmp short 0960eh ; eb 07 14073 14107 mov BL, strict byte 000h ; b3 00 14074 14108 mov cx, strict word 00000h ; b9 00 00 14075 jmp short 09 5beh ; eb 0014109 jmp short 0960eh ; eb 00 14076 14110 clc ; f8 14077 14111 retn ; c3 … … 14079 14113 stc ; f9 14080 14114 retn ; c3 14081 apm_pm16_entry: ; 0xf9 5c4 LB 0x1114115 apm_pm16_entry: ; 0xf9614 LB 0x11 14082 14116 mov AH, strict byte 002h ; b4 02 14083 14117 push DS ; 1e … … 14087 14121 add bp, strict byte 00008h ; 83 c5 08 14088 14122 mov ds, bp ; 8e dd 14089 call 095 8ah ; e8 b8 ff14123 call 095dah ; e8 b8 ff 14090 14124 pop bp ; 5d 14091 14125 pop DS ; 1f 14092 14126 retf ; cb 14093 14127 14094 ; Padding 0x4 42b bytes at 0xf95d514095 times 17 451 db 014128 ; Padding 0x43db bytes at 0xf9625 14129 times 17371 db 0 14096 14130 14097 14131 section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO … … 14140 14174 add bp, strict byte 00008h ; 83 c5 08 14141 14175 push ebp ; 66 55 14142 mov bp, 09 5c6h ; bd c6 9514176 mov bp, 09616h ; bd 16 96 14143 14177 add byte [bx+si], al ; 00 00 14144 14178 push ebp ; 66 55 … … 14862 14896 call 01badh ; e8 71 38 14863 14897 call 01fa7h ; e8 68 3c 14864 call 08e 3eh ; e8 fc aa14898 call 08e8eh ; e8 4c ab 14865 14899 call 07ee5h ; e8 a0 9b 14866 14900 call 0ed2fh ; e8 e7 09 … … 15860 15894 popfw ; 9d 15861 15895 jmp short 0f895h ; eb 13 15862 call 08f 75h ; e8 f0 9615896 call 08fc5h ; e8 40 97 15863 15897 jmp short 0f87ch ; eb f5 15864 15898 int15_handler_mouse: ; 0xff887 LB 0x5 … … 15989 16023 db 018h, 018h, 018h, 000h, 018h, 018h, 018h, 000h, 0e0h, 030h, 030h, 01ch, 030h, 030h, 0e0h, 000h 15990 16024 db 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 000h 15991 db 080h, 0fch, 0b1h, 075h, 00fh, 006h, 01eh, 00eh, 01fh, 0fch, 066h, 060h, 0e8h, 0 08h, 093h, 066h16025 db 080h, 0fch, 0b1h, 075h, 00fh, 006h, 01eh, 00eh, 01fh, 0fch, 066h, 060h, 0e8h, 058h, 093h, 066h 15992 16026 db 061h, 01fh, 007h, 0cfh, 006h, 01eh, 060h, 00eh, 01fh, 0fch, 0e8h, 007h, 06ch, 061h, 01fh, 007h 15993 16027 db 0cfh … … 16098 16132 cpu_reset: ; 0xffff0 LB 0x10 16099 16133 jmp far 0f000h:0e05bh ; ea 5b e0 00 f0 16100 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0 e8h16134 db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 018h -
trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.md5sum
r51062 r51255 1 6a940bcf6a5d4747e33d98d6028b3cec*VBoxPcBios.rom1 55ca2fd1a1b0f2f630e123a300b99aa4 *VBoxPcBios.rom
Note:
See TracChangeset
for help on using the changeset viewer.