VirtualBox

Ignore:
Timestamp:
Mar 16, 2017 9:14:29 PM (8 years ago)
Author:
vboxsync
Message:

Devices/BIOS: update alternative code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative286.asm

    r63625 r66146  
    988988    db  001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h
    989989_pktacc:                                     ; 0xf006a LB 0xc
    990     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 03ah, 081h, 0a0h, 090h
     990    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 045h, 081h, 0abh, 090h
    991991_softrst:                                    ; 0xf0076 LB 0xc
    992992    db  000h, 000h, 000h, 000h, 000h, 000h, 089h, 02dh, 01ch, 03bh, 01ch, 03bh
    993993_dskacc:                                     ; 0xf0082 LB 0x2e
    994994    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0f0h, 029h, 0a5h, 02ah, 000h, 000h, 000h, 000h
    995     db  07ah, 07fh, 05ah, 080h, 072h, 08fh, 01ah, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h
     995    db  085h, 07fh, 065h, 080h, 07dh, 08fh, 025h, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h
    996996    db  032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h
    997997
     
    11901190  times 1144 db 0
    11911191
    1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8d08 class=CODE group=AUTO
     1192section _TEXT progbits vstart=0x1600 align=1 ; size=0x8d18 class=CODE group=AUTO
    11931193rom_scan_:                                   ; 0xf1600 LB 0x50
    11941194    push bp                                   ; 55
     
    15851585    mov bx, strict word 0000ah                ; bb 0a 00
    15861586    xor cx, cx                                ; 31 c9
    1587     call 09fa0h                               ; e8 d3 86
     1587    call 09fb0h                               ; e8 e3 86
    15881588    mov word [bp-008h], ax                    ; 89 46 f8
    15891589    mov cx, dx                                ; 89 d1
     
    18151815    mov dx, word [bp-026h]                    ; 8b 56 da
    18161816    mov si, word [bp-01eh]                    ; 8b 76 e2
    1817     call 09fd0h                               ; e8 d3 84
     1817    call 09fe0h                               ; e8 e3 84
    18181818    mov ax, dx                                ; 89 d0
    18191819    xor ah, dh                                ; 30 f4
     
    22542254    mov dx, word [es:si]                      ; 26 8b 14
    22552255    mov si, strict word 00018h                ; be 18 00
    2256     call 09fd0h                               ; e8 80 80
     2256    call 09fe0h                               ; e8 90 80
    22572257    xor dh, dh                                ; 30 f6
    22582258    mov word [bp-014h], dx                    ; 89 56 ec
     
    22642264    mov dx, word [es:si]                      ; 26 8b 14
    22652265    mov si, strict word 00020h                ; be 20 00
    2266     call 09fd0h                               ; e8 60 80
     2266    call 09fe0h                               ; e8 70 80
    22672267    mov bx, dx                                ; 89 d3
    22682268    mov ax, word [bp-01ch]                    ; 8b 46 e4
     
    22952295    mov dx, word [es:si]                      ; 26 8b 14
    22962296    mov si, strict word 00008h                ; be 08 00
    2297     call 09fd0h                               ; e8 0f 80
     2297    call 09fe0h                               ; e8 1f 80
    22982298    mov word [bp-012h], dx                    ; 89 56 ee
    22992299    mov bx, word [bp-016h]                    ; 8b 5e ea
     
    23042304    mov dx, word [es:si]                      ; 26 8b 14
    23052305    mov si, strict word 00018h                ; be 18 00
    2306     call 09fd0h                               ; e8 f1 7f
     2306    call 09fe0h                               ; e8 01 80
    23072307    mov ah, dl                                ; 88 d4
    23082308    and ah, 00fh                              ; 80 e4 0f
     
    28612861    mov dx, word [es:di+036h]                 ; 26 8b 55 36
    28622862    mov si, strict word 0000bh                ; be 0b 00
    2863     call 09fd0h                               ; e8 49 7a
     2863    call 09fe0h                               ; e8 59 7a
    28642864    mov word [bp-024h], dx                    ; 89 56 dc
    28652865    mov word [bp-032h], cx                    ; 89 4e ce
     
    31373137    mov dx, word [bp-024h]                    ; 8b 56 dc
    31383138    mov si, strict word 00018h                ; be 18 00
    3139     call 09fd0h                               ; e8 87 77
     3139    call 09fe0h                               ; e8 97 77
    31403140    xor dh, dh                                ; 30 f6
    31413141    mov word [bp-014h], dx                    ; 89 56 ec
     
    31453145    mov dx, word [bp-024h]                    ; 8b 56 dc
    31463146    mov si, strict word 00020h                ; be 20 00
    3147     call 09fd0h                               ; e8 70 77
     3147    call 09fe0h                               ; e8 80 77
    31483148    mov bx, dx                                ; 89 d3
    31493149    mov ax, word [bp-022h]                    ; 8b 46 de
     
    31793179    mov dx, word [bp-024h]                    ; 8b 56 dc
    31803180    mov si, strict word 00008h                ; be 08 00
    3181     call 09fd0h                               ; e8 1c 77
     3181    call 09fe0h                               ; e8 2c 77
    31823182    mov word [bp-00ch], ax                    ; 89 46 f4
    31833183    mov word [bp-00eh], bx                    ; 89 5e f2
     
    31863186    mov word [bp-018h], dx                    ; 89 56 e8
    31873187    mov si, strict word 00010h                ; be 10 00
    3188     call 09fd0h                               ; e8 07 77
     3188    call 09fe0h                               ; e8 17 77
    31893189    mov word [bp-024h], dx                    ; 89 56 dc
    31903190    mov ax, dx                                ; 89 d0
     
    54565456    mov dx, ss                                ; 8c d2
    54575457    lea ax, [bp-026h]                         ; 8d 46 da
    5458     call 09ff0h                               ; e8 6a 62
     5458    call 0a000h                               ; e8 7a 62
    54595459    mov word [bp-026h], strict word 00028h    ; c7 46 da 28 00
    54605460    mov ax, strict word 00011h                ; b8 11 00
     
    59295929    xor dl, dl                                ; 30 d2
    59305930    xor cx, cx                                ; 31 c9
    5931     call 09f80h                               ; e8 95 5c
     5931    call 09f90h                               ; e8 a5 5c
    59325932    xor bx, bx                                ; 31 db
    59335933    add ax, si                                ; 01 f0
     
    59355935    mov bx, di                                ; 89 fb
    59365936    xor cx, cx                                ; 31 c9
    5937     call 09f80h                               ; e8 88 5c
     5937    call 09f90h                               ; e8 98 5c
    59385938    mov bx, ax                                ; 89 c3
    59395939    mov ax, word [bp-010h]                    ; 8b 46 f0
     
    59705970    mov dx, ss                                ; 8c d2
    59715971    lea ax, [bp-02eh]                         ; 8d 46 d2
    5972     call 09ff0h                               ; e8 a1 5c
     5972    call 0a000h                               ; e8 b1 5c
    59735973    mov word [bp-02eh], strict word 00028h    ; c7 46 d2 28 00
    59745974    mov ax, word [bp-014h]                    ; 8b 46 ec
     
    63096309    mov dx, ss                                ; 8c d2
    63106310    lea ax, [bp-030h]                         ; 8d 46 d0
    6311     call 09ff0h                               ; e8 c4 58
     6311    call 0a000h                               ; e8 d4 58
    63126312    mov word [bp-030h], strict word 00028h    ; c7 46 d0 28 00
    63136313    mov ax, word [bp-00eh]                    ; 8b 46 f2
     
    68166816    xor ah, ah                                ; 30 e4
    68176817    sar ax, 004h                              ; c1 f8 04
    6818     call 07d65h                               ; e8 cc 30
     6818    call 07d70h                               ; e8 d7 30
    68196819    cmp byte [bp+004h], 002h                  ; 80 7e 04 02
    68206820    jne short 04ca2h                          ; 75 03
     
    82408240    mov dx, word [bp+00ch]                    ; 8b 56 0c
    82418241    mov si, strict word 00020h                ; be 20 00
    8242     call 09fd0h                               ; e8 d8 45
     8242    call 09fe0h                               ; e8 e8 45
    82438243    test ax, ax                               ; 85 c0
    82448244    jne short 05a08h                          ; 75 0c
     
    82788278    mov bx, strict word 0003fh                ; bb 3f 00
    82798279    xor cx, cx                                ; 31 c9
    8280     call 09f80h                               ; e8 2f 45
     8280    call 09f90h                               ; e8 3f 45
    82818281    mov bx, ax                                ; 89 c3
    82828282    mov cx, dx                                ; 89 d1
    82838283    mov ax, word [bp-004h]                    ; 8b 46 fc
    82848284    mov dx, si                                ; 89 f2
    8285     call 09fa0h                               ; e8 43 45
     8285    call 09fb0h                               ; e8 53 45
    82868286    mov word [es:di+002h], ax                 ; 26 89 45 02
    82878287    cmp ax, 00400h                            ; 3d 00 04
     
    84928492    mov bx, cx                                ; 89 cb
    84938493    xor cx, cx                                ; 31 c9
    8494     call 09f80h                               ; e8 08 43
     8494    call 09f90h                               ; e8 18 43
    84958495    xor bx, bx                                ; 31 db
    84968496    add ax, word [bp-008h]                    ; 03 46 f8
     
    84988498    mov bx, word [bp-00ah]                    ; 8b 5e f6
    84998499    xor cx, cx                                ; 31 c9
    8500     call 09f80h                               ; e8 f9 42
     8500    call 09f90h                               ; e8 09 43
    85018501    xor bx, bx                                ; 31 db
    85028502    add ax, word [bp-006h]                    ; 03 46 fa
     
    86668666    mov bx, word [bp-008h]                    ; 8b 5e f8
    86678667    xor cx, cx                                ; 31 c9
    8668     call 09f80h                               ; e8 22 41
     8668    call 09f90h                               ; e8 32 41
    86698669    mov bx, word [bp-006h]                    ; 8b 5e fa
    86708670    xor cx, cx                                ; 31 c9
    8671     call 09f80h                               ; e8 1a 41
     8671    call 09f90h                               ; e8 2a 41
    86728672    mov word [bp-010h], ax                    ; 89 46 f0
    86738673    mov word [bp-00ch], dx                    ; 89 56 f4
     
    88218821    xor bx, bx                                ; 31 db
    88228822    mov si, strict word 00020h                ; be 20 00
    8823     call 09fe0h                               ; e8 dd 3f
     8823    call 09ff0h                               ; e8 ed 3f
    88248824    mov si, ax                                ; 89 c6
    88258825    mov word [bp-00ch], bx                    ; 89 5e f4
     
    89788978    mov bx, word [bp-00ch]                    ; 8b 5e f4
    89798979    mov si, strict word 00020h                ; be 20 00
    8980     call 09fd0h                               ; e8 e9 3d
     8980    call 09fe0h                               ; e8 f9 3d
    89818981    mov bx, di                                ; 89 fb
    89828982    mov word [es:bx+014h], dx                 ; 26 89 57 14
     
    93349334    mov bx, strict word 0000fh                ; bb 0f 00
    93359335    xor cx, cx                                ; 31 c9
    9336     call 09fa0h                               ; e8 26 3a
     9336    call 09fb0h                               ; e8 36 3a
    93379337    mov cx, ax                                ; 89 c1
    93389338    mov bx, dx                                ; 89 d3
     
    1158611586    pop bp                                    ; 5d
    1158711587    retn                                      ; c3
    11588 show_logo_:                                  ; 0xf7b3f LB 0x226
     11588show_logo_:                                  ; 0xf7b3f LB 0x231
    1158911589    push bp                                   ; 55
    1159011590    mov bp, sp                                ; 89 e5
     
    1162011620    cmp ax, strict word 0004fh                ; 3d 4f 00
    1162111621    je short 07b86h                           ; 74 03
    11622     jmp near 07c43h                           ; e9 bd 00
     11622    jmp near 07c4eh                           ; e9 c8 00
    1162311623    mov al, dl                                ; 88 d0
    1162411624    add AL, strict byte 004h                  ; 04 04
     
    1164911649    jne short 07bc8h                          ; 75 04
    1165011650    test bx, bx                               ; 85 db
    11651     je short 07c20h                           ; 74 58
     11651    je short 07b83h                           ; 74 bb
    1165211652    mov bx, 00142h                            ; bb 42 01
    1165311653    mov ax, 04f02h                            ; b8 02 4f
     
    1168611686    je short 07c43h                           ; 74 27
    1168711687    test cl, cl                               ; 84 c9
    11688     je short 07c22h                           ; 74 02
    11689     jmp short 07c43h                          ; eb 21
     11688    jne short 07c43h                          ; 75 23
    1169011689    mov bx, strict word 00010h                ; bb 10 00
    11691     jmp short 07c2ch                          ; eb 05
     11690    jmp short 07c2ah                          ; eb 05
    1169211691    dec bx                                    ; 4b
    1169311692    test bx, bx                               ; 85 db
    11694     jbe short 07c43h                          ; 76 17
     11693    jbe short 07c4eh                          ; 76 24
    1169511694    mov ax, bx                                ; 89 d8
    1169611695    or ah, 002h                               ; 80 cc 02
     
    1169911698    xor dx, dx                                ; 31 d2
    1170011699    mov ax, strict word 00001h                ; b8 01 00
    11701     call 07904h                               ; e8 c7 fc
     11700    call 07904h                               ; e8 c9 fc
    1170211701    cmp AL, strict byte 086h                  ; 3c 86
    11703     jne short 07c27h                          ; 75 e6
     11702    jne short 07c25h                          ; 75 e6
    1170411703    mov CL, strict byte 001h                  ; b1 01
     11704    jmp short 07c4eh                          ; eb 0b
     11705    test cl, cl                               ; 84 c9
     11706    jne short 07c4eh                          ; 75 07
     11707    mov ax, 00200h                            ; b8 00 02
     11708    mov dx, 003b8h                            ; ba b8 03
     11709    out DX, ax                                ; ef
    1170511710    xor bx, bx                                ; 31 db
    1170611711    mov dx, 0037dh                            ; ba 7d 03
    1170711712    mov ax, si                                ; 89 f0
    11708     call 0165eh                               ; e8 11 9a
     11713    call 0165eh                               ; e8 06 9a
    1170911714    mov AL, strict byte 003h                  ; b0 03
    1171011715    mov AH, strict byte 000h                  ; b4 00
    1171111716    int 010h                                  ; cd 10
    1171211717    cmp byte [bp-00eh], 000h                  ; 80 7e f2 00
    11713     je short 07c6dh                           ; 74 14
     11718    je short 07c78h                           ; 74 14
    1171411719    cmp byte [bp-012h], 000h                  ; 80 7e ee 00
    11715     jne short 07c94h                          ; 75 35
     11720    jne short 07c9fh                          ; 75 35
    1171611721    cmp byte [bp-010h], 000h                  ; 80 7e f0 00
    11717     jne short 07c94h                          ; 75 2f
     11722    jne short 07c9fh                          ; 75 2f
    1171811723    cmp word [bp-014h], strict byte 00000h    ; 83 7e ec 00
    11719     je short 07c70h                           ; 74 05
    11720     jmp short 07c94h                          ; eb 27
    11721     jmp near 07d48h                           ; e9 d8 00
     11724    je short 07c7bh                           ; 74 05
     11725    jmp short 07c9fh                          ; eb 27
     11726    jmp near 07d53h                           ; e9 d8 00
    1172211727    cmp byte [bp-00eh], 002h                  ; 80 7e f2 02
    11723     jne short 07c81h                          ; 75 0b
     11728    jne short 07c8ch                          ; 75 0b
    1172411729    push 00a4bh                               ; 68 4b 0a
    1172511730    push strict byte 00002h                   ; 6a 02
    11726     call 01966h                               ; e8 e8 9c
     11731    call 01966h                               ; e8 dd 9c
    1172711732    add sp, strict byte 00004h                ; 83 c4 04
    1172811733    test cl, cl                               ; 84 c9
    11729     jne short 07c94h                          ; 75 0f
     11734    jne short 07c9fh                          ; 75 0f
    1173011735    mov dx, strict word 00001h                ; ba 01 00
    1173111736    mov ax, 000c0h                            ; b8 c0 00
    11732     call 07904h                               ; e8 76 fc
     11737    call 07904h                               ; e8 6b fc
    1173311738    cmp AL, strict byte 086h                  ; 3c 86
    11734     jne short 07c94h                          ; 75 02
     11739    jne short 07c9fh                          ; 75 02
    1173511740    mov CL, strict byte 001h                  ; b1 01
    1173611741    test cl, cl                               ; 84 c9
    11737     je short 07c6dh                           ; 74 d5
     11742    je short 07c78h                           ; 74 d5
    1173811743    mov byte [bp-00ch], 000h                  ; c6 46 f4 00
    1173911744    mov ax, 00100h                            ; b8 00 01
     
    1175411759    push 00a6dh                               ; 68 6d 0a
    1175511760    push strict byte 00002h                   ; 6a 02
    11756     call 01966h                               ; e8 a5 9c
     11761    call 01966h                               ; e8 9a 9c
    1175711762    add sp, strict byte 00004h                ; 83 c4 04
    11758     call 079ddh                               ; e8 16 fd
     11763    call 079ddh                               ; e8 0b fd
    1175911764    push 00ab1h                               ; 68 b1 0a
    1176011765    push strict byte 00002h                   ; 6a 02
    11761     call 01966h                               ; e8 97 9c
     11766    call 01966h                               ; e8 8c 9c
    1176211767    add sp, strict byte 00004h                ; 83 c4 04
    1176311768    mov dx, strict word 00001h                ; ba 01 00
    1176411769    mov ax, strict word 00040h                ; b8 40 00
    11765     call 07904h                               ; e8 29 fc
     11770    call 07904h                               ; e8 1e fc
    1176611771    mov bl, al                                ; 88 c3
    1176711772    test al, al                               ; 84 c0
    11768     je short 07cd2h                           ; 74 f1
     11773    je short 07cddh                           ; 74 f1
    1176911774    cmp AL, strict byte 030h                  ; 3c 30
    11770     je short 07d35h                           ; 74 50
     11775    je short 07d40h                           ; 74 50
    1177111776    cmp bl, 002h                              ; 80 fb 02
    11772     jc short 07d0eh                           ; 72 24
     11777    jc short 07d19h                           ; 72 24
    1177311778    cmp bl, 009h                              ; 80 fb 09
    11774     jnbe short 07d0eh                         ; 77 1f
     11779    jnbe short 07d19h                         ; 77 1f
    1177511780    mov al, bl                                ; 88 d8
    1177611781    xor ah, ah                                ; 30 e4
    11777     call 07b17h                               ; e8 21 fe
     11782    call 07b17h                               ; e8 16 fe
    1177811783    cmp AL, strict byte 0ffh                  ; 3c ff
    11779     jne short 07cfch                          ; 75 02
    11780     jmp short 07cd2h                          ; eb d6
     11784    jne short 07d07h                          ; 75 02
     11785    jmp short 07cddh                          ; eb d6
    1178111786    mov bl, al                                ; 88 c3
    1178211787    xor bh, bh                                ; 30 ff
    1178311788    mov dx, 0037ch                            ; ba 7c 03
    1178411789    mov ax, si                                ; 89 f0
    11785     call 0165eh                               ; e8 56 99
     11790    call 0165eh                               ; e8 4b 99
    1178611791    mov byte [bp-00ch], 002h                  ; c6 46 f4 02
    11787     jmp short 07d35h                          ; eb 27
     11792    jmp short 07d40h                          ; eb 27
    1178811793    cmp bl, 02eh                              ; 80 fb 2e
    11789     je short 07d23h                           ; 74 10
     11794    je short 07d2eh                           ; 74 10
    1179011795    cmp bl, 026h                              ; 80 fb 26
    11791     je short 07d29h                           ; 74 11
     11796    je short 07d34h                           ; 74 11
    1179211797    cmp bl, 021h                              ; 80 fb 21
    11793     jne short 07d2fh                          ; 75 12
     11798    jne short 07d3ah                          ; 75 12
    1179411799    mov byte [bp-00ch], 001h                  ; c6 46 f4 01
    11795     jmp short 07d35h                          ; eb 12
     11800    jmp short 07d40h                          ; eb 12
    1179611801    mov byte [bp-00ch], 003h                  ; c6 46 f4 03
    11797     jmp short 07d35h                          ; eb 0c
     11802    jmp short 07d40h                          ; eb 0c
    1179811803    mov byte [bp-00ch], 004h                  ; c6 46 f4 04
    11799     jmp short 07d35h                          ; eb 06
     11804    jmp short 07d40h                          ; eb 06
    1180011805    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    11801     je short 07cd2h                           ; 74 9d
     11806    je short 07cddh                           ; 74 9d
    1180211807    mov bl, byte [bp-00ch]                    ; 8a 5e f4
    1180311808    xor bh, bh                                ; 30 ff
    1180411809    mov dx, 0037dh                            ; ba 7d 03
    1180511810    mov ax, si                                ; 89 f0
    11806     call 0165eh                               ; e8 1c 99
     11811    call 0165eh                               ; e8 11 99
    1180711812    mov AL, strict byte 003h                  ; b0 03
    1180811813    mov AH, strict byte 000h                  ; b4 00
     
    1181711822    push DS                                   ; 1e
    1181811823    mov ds, ax                                ; 8e d8
    11819     call 0edbfh                               ; e8 66 70
     11824    call 0edbfh                               ; e8 5b 70
    1182011825    pop DS                                    ; 1f
    1182111826    pop bp                                    ; 5d
     
    1182811833    pop bp                                    ; 5d
    1182911834    retn                                      ; c3
    11830 delay_boot_:                                 ; 0xf7d65 LB 0x6b
     11835delay_boot_:                                 ; 0xf7d70 LB 0x6b
    1183111836    push bp                                   ; 55
    1183211837    mov bp, sp                                ; 89 e5
     
    1183811843    mov dx, ax                                ; 89 c2
    1183911844    test ax, ax                               ; 85 c0
    11840     je short 07dc6h                           ; 74 53
     11845    je short 07dd1h                           ; 74 53
    1184111846    mov AL, strict byte 034h                  ; b0 34
    1184211847    out strict byte 043h, AL                  ; e6 43
     
    1184811853    push 00afbh                               ; 68 fb 0a
    1184911854    push strict byte 00002h                   ; 6a 02
    11850     call 01966h                               ; e8 de 9b
     11855    call 01966h                               ; e8 d3 9b
    1185111856    add sp, strict byte 00006h                ; 83 c4 06
    1185211857    mov bx, dx                                ; 89 d3
    1185311858    test bx, bx                               ; 85 db
    11854     jbe short 07da8h                          ; 76 17
     11859    jbe short 07db3h                          ; 76 17
    1185511860    push bx                                   ; 53
    1185611861    push 00b19h                               ; 68 19 0b
    1185711862    push strict byte 00002h                   ; 6a 02
    11858     call 01966h                               ; e8 cc 9b
     11863    call 01966h                               ; e8 c1 9b
    1185911864    add sp, strict byte 00006h                ; 83 c4 06
    1186011865    xor dx, dx                                ; 31 d2
    1186111866    mov ax, strict word 00040h                ; b8 40 00
    11862     call 07904h                               ; e8 5f fb
     11867    call 07904h                               ; e8 54 fb
    1186311868    dec bx                                    ; 4b
    11864     jmp short 07d8dh                          ; eb e5
     11869    jmp short 07d98h                          ; eb e5
    1186511870    push 00a49h                               ; 68 49 0a
    1186611871    push strict byte 00002h                   ; 6a 02
    11867     call 01966h                               ; e8 b6 9b
     11872    call 01966h                               ; e8 ab 9b
    1186811873    add sp, strict byte 00004h                ; 83 c4 04
    1186911874    mov AL, strict byte 034h                  ; b0 34
     
    1187611881    push DS                                   ; 1e
    1187711882    mov ds, ax                                ; 8e d8
    11878     call 0edbfh                               ; e8 fb 6f
     11883    call 0edbfh                               ; e8 f0 6f
    1187911884    pop DS                                    ; 1f
    1188011885    pop bp                                    ; 5d
     
    1188711892    pop bp                                    ; 5d
    1188811893    retn                                      ; c3
    11889 scsi_cmd_data_in_:                           ; 0xf7dd0 LB 0xd5
     11894scsi_cmd_data_in_:                           ; 0xf7ddb LB 0xd5
    1189011895    push bp                                   ; 55
    1189111896    mov bp, sp                                ; 89 e5
     
    1190311908    ; sub ah, ah                                ; 2a e4
    1190411909    test AL, strict byte 001h                 ; a8 01
    11905     jne short 07de6h                          ; 75 f7
     11910    jne short 07df1h                          ; 75 f7
    1190611911    mov al, byte [bp+004h]                    ; 8a 46 04
    1190711912    cmp AL, strict byte 010h                  ; 3c 10
    11908     jne short 07dfah                          ; 75 04
     11913    jne short 07e05h                          ; 75 04
    1190911914    xor ax, ax                                ; 31 c0
    11910     jmp short 07dfch                          ; eb 02
     11915    jmp short 07e07h                          ; eb 02
    1191111916    xor ah, ah                                ; 30 e4
    1191211917    mov di, ax                                ; 89 c7
     
    1191611921    shr dx, 1                                 ; d1 ea
    1191711922    rcr ax, 1                                 ; d1 d8
    11918     loop 07e06h                               ; e2 fa
     11923    loop 07e11h                               ; e2 fa
    1191911924    mov cx, ax                                ; 89 c1
    1192011925    and cx, 000f0h                            ; 81 e1 f0 00
     
    1193411939    shr dx, 1                                 ; d1 ea
    1193511940    rcr ax, 1                                 ; d1 d8
    11936     loop 07e2bh                               ; e2 fa
     11941    loop 07e36h                               ; e2 fa
    1193711942    mov dx, si                                ; 89 f2
    1193811943    out DX, AL                                ; ee
     
    1194111946    xor ah, ah                                ; 30 e4
    1194211947    cmp cx, ax                                ; 39 c1
    11943     jnc short 07e4dh                          ; 73 0e
     11948    jnc short 07e58h                          ; 73 0e
    1194411949    les di, [bp-00ah]                         ; c4 7e f6
    1194511950    add di, cx                                ; 01 cf
     
    1194811953    out DX, AL                                ; ee
    1194911954    inc cx                                    ; 41
    11950     jmp short 07e36h                          ; eb e9
     11955    jmp short 07e41h                          ; eb e9
    1195111956    mov dx, si                                ; 89 f2
    1195211957    in AL, DX                                 ; ec
     
    1195411959    ; sub ah, ah                                ; 2a e4
    1195511960    test AL, strict byte 001h                 ; a8 01
    11956     jne short 07e4dh                          ; 75 f7
     11961    jne short 07e58h                          ; 75 f7
    1195711962    test AL, strict byte 002h                 ; a8 02
    11958     je short 07e68h                           ; 74 0e
     11963    je short 07e73h                           ; 74 0e
    1195911964    lea dx, [si+003h]                         ; 8d 54 03
    1196011965    xor al, al                                ; 30 c0
     
    1196411969    ; sub ah, ah                                ; 2a e4
    1196511970    mov di, strict word 00004h                ; bf 04 00
    11966     jmp short 07e9ah                          ; eb 32
     11971    jmp short 07ea5h                          ; eb 32
    1196711972    lea dx, [si+001h]                         ; 8d 54 01
    1196811973    cmp word [bp+00ch], strict byte 00000h    ; 83 7e 0c 00
    11969     jne short 07e77h                          ; 75 06
     11974    jne short 07e82h                          ; 75 06
    1197011975    cmp bx, 08000h                            ; 81 fb 00 80
    11971     jbe short 07e91h                          ; 76 1a
     11976    jbe short 07e9ch                          ; 76 1a
    1197211977    mov cx, 08000h                            ; b9 00 80
    1197311978    les di, [bp+006h]                         ; c4 7e 06
     
    1197811983    add ax, 00800h                            ; 05 00 08
    1197911984    mov word [bp+008h], ax                    ; 89 46 08
    11980     jmp short 07e68h                          ; eb d7
     11985    jmp short 07e73h                          ; eb d7
    1198111986    mov cx, bx                                ; 89 d9
    1198211987    les di, [bp+006h]                         ; c4 7e 06
     
    1198911994    pop bp                                    ; 5d
    1199011995    retn 0000ah                               ; c2 0a 00
    11991 scsi_cmd_data_out_:                          ; 0xf7ea5 LB 0xd5
     11996scsi_cmd_data_out_:                          ; 0xf7eb0 LB 0xd5
    1199211997    push bp                                   ; 55
    1199311998    mov bp, sp                                ; 89 e5
     
    1200512010    ; sub ah, ah                                ; 2a e4
    1200612011    test AL, strict byte 001h                 ; a8 01
    12007     jne short 07ebbh                          ; 75 f7
     12012    jne short 07ec6h                          ; 75 f7
    1200812013    mov al, byte [bp+004h]                    ; 8a 46 04
    1200912014    cmp AL, strict byte 010h                  ; 3c 10
    12010     jne short 07ecfh                          ; 75 04
     12015    jne short 07edah                          ; 75 04
    1201112016    xor ax, ax                                ; 31 c0
    12012     jmp short 07ed1h                          ; eb 02
     12017    jmp short 07edch                          ; eb 02
    1201312018    xor ah, ah                                ; 30 e4
    1201412019    mov si, ax                                ; 89 c6
     
    1201812023    shr dx, 1                                 ; d1 ea
    1201912024    rcr ax, 1                                 ; d1 d8
    12020     loop 07edbh                               ; e2 fa
     12025    loop 07ee6h                               ; e2 fa
    1202112026    mov cx, ax                                ; 89 c1
    1202212027    and cx, 000f0h                            ; 81 e1 f0 00
     
    1203612041    shr dx, 1                                 ; d1 ea
    1203712042    rcr ax, 1                                 ; d1 d8
    12038     loop 07f00h                               ; e2 fa
     12043    loop 07f0bh                               ; e2 fa
    1203912044    mov dx, di                                ; 89 fa
    1204012045    out DX, AL                                ; ee
     
    1204312048    xor ah, ah                                ; 30 e4
    1204412049    cmp cx, ax                                ; 39 c1
    12045     jnc short 07f22h                          ; 73 0e
     12050    jnc short 07f2dh                          ; 73 0e
    1204612051    les si, [bp-00ah]                         ; c4 76 f6
    1204712052    add si, cx                                ; 01 ce
     
    1205012055    out DX, AL                                ; ee
    1205112056    inc cx                                    ; 41
    12052     jmp short 07f0bh                          ; eb e9
     12057    jmp short 07f16h                          ; eb e9
    1205312058    lea dx, [di+001h]                         ; 8d 55 01
    1205412059    cmp word [bp+00ch], strict byte 00000h    ; 83 7e 0c 00
    12055     jne short 07f31h                          ; 75 06
     12060    jne short 07f3ch                          ; 75 06
    1205612061    cmp bx, 08000h                            ; 81 fb 00 80
    12057     jbe short 07f4ch                          ; 76 1b
     12062    jbe short 07f57h                          ; 76 1b
    1205812063    mov cx, 08000h                            ; b9 00 80
    1205912064    les si, [bp+006h]                         ; c4 76 06
     
    1206512070    add ax, 00800h                            ; 05 00 08
    1206612071    mov word [bp+008h], ax                    ; 89 46 08
    12067     jmp short 07f22h                          ; eb d6
     12072    jmp short 07f2dh                          ; eb d6
    1206812073    mov cx, bx                                ; 89 d9
    1206912074    les si, [bp+006h]                         ; c4 76 06
     
    1207512080    ; sub ah, ah                                ; 2a e4
    1207612081    test AL, strict byte 001h                 ; a8 01
    12077     jne short 07f54h                          ; 75 f7
     12082    jne short 07f5fh                          ; 75 f7
    1207812083    test AL, strict byte 002h                 ; a8 02
    12079     je short 07f6fh                           ; 74 0e
     12084    je short 07f7ah                           ; 74 0e
    1208012085    lea dx, [di+003h]                         ; 8d 55 03
    1208112086    xor al, al                                ; 30 c0
     
    1208512090    ; sub ah, ah                                ; 2a e4
    1208612091    mov ax, strict word 00004h                ; b8 04 00
    12087     jmp short 07f71h                          ; eb 02
     12092    jmp short 07f7ch                          ; eb 02
    1208812093    xor ax, ax                                ; 31 c0
    1208912094    lea sp, [bp-004h]                         ; 8d 66 fc
     
    1209212097    pop bp                                    ; 5d
    1209312098    retn 0000ah                               ; c2 0a 00
    12094 @scsi_read_sectors:                          ; 0xf7f7a LB 0xe0
     12099@scsi_read_sectors:                          ; 0xf7f85 LB 0xe0
    1209512100    push bp                                   ; 55
    1209612101    mov bp, sp                                ; 89 e5
     
    1210412109    mov byte [bp-006h], al                    ; 88 46 fa
    1210512110    cmp AL, strict byte 004h                  ; 3c 04
    12106     jbe short 07fa6h                          ; 76 11
     12111    jbe short 07fb1h                          ; 76 11
    1210712112    xor ah, ah                                ; 30 e4
    1210812113    push ax                                   ; 50
     
    1211012115    push 00b30h                               ; 68 30 0b
    1211112116    push strict byte 00007h                   ; 6a 07
    12112     call 01966h                               ; e8 c3 99
     12117    call 01966h                               ; e8 b8 99
    1211312118    add sp, strict byte 00008h                ; 83 c4 08
    1211412119    mov es, [bp+006h]                         ; 8e 46 06
     
    1215012155    sal word [bp-00ah], 1                     ; d1 66 f6
    1215112156    rcl word [bp-008h], 1                     ; d1 56 f8
    12152     loop 08010h                               ; e2 f8
     12157    loop 0801bh                               ; e2 f8
    1215312158    push word [bp-008h]                       ; ff 76 f8
    1215412159    push word [bp-00ah]                       ; ff 76 f6
     
    1215912164    mov cx, ss                                ; 8c d1
    1216012165    lea bx, [bp-01ah]                         ; 8d 5e e6
    12161     call 07dd0h                               ; e8 9e fd
     12166    call 07ddbh                               ; e8 9e fd
    1216212167    mov ah, al                                ; 88 c4
    1216312168    test al, al                               ; 84 c0
    12164     jne short 0804dh                          ; 75 15
     12169    jne short 08058h                          ; 75 15
    1216512170    mov es, [bp+006h]                         ; 8e 46 06
    1216612171    mov word [es:si+018h], di                 ; 26 89 7c 18
     
    1217612181    pop bp                                    ; 5d
    1217712182    retn 00004h                               ; c2 04 00
    12178 @scsi_write_sectors:                         ; 0xf805a LB 0xe0
     12183@scsi_write_sectors:                         ; 0xf8065 LB 0xe0
    1217912184    push bp                                   ; 55
    1218012185    mov bp, sp                                ; 89 e5
     
    1218812193    mov byte [bp-006h], al                    ; 88 46 fa
    1218912194    cmp AL, strict byte 004h                  ; 3c 04
    12190     jbe short 08086h                          ; 76 11
     12195    jbe short 08091h                          ; 76 11
    1219112196    xor ah, ah                                ; 30 e4
    1219212197    push ax                                   ; 50
     
    1219412199    push 00b30h                               ; 68 30 0b
    1219512200    push strict byte 00007h                   ; 6a 07
    12196     call 01966h                               ; e8 e3 98
     12201    call 01966h                               ; e8 d8 98
    1219712202    add sp, strict byte 00008h                ; 83 c4 08
    1219812203    mov es, [bp+006h]                         ; 8e 46 06
     
    1223412239    sal word [bp-00ah], 1                     ; d1 66 f6
    1223512240    rcl word [bp-008h], 1                     ; d1 56 f8
    12236     loop 080f0h                               ; e2 f8
     12241    loop 080fbh                               ; e2 f8
    1223712242    push word [bp-008h]                       ; ff 76 f8
    1223812243    push word [bp-00ah]                       ; ff 76 f6
     
    1224312248    mov cx, ss                                ; 8c d1
    1224412249    lea bx, [bp-01ah]                         ; 8d 5e e6
    12245     call 07ea5h                               ; e8 93 fd
     12250    call 07eb0h                               ; e8 93 fd
    1224612251    mov ah, al                                ; 88 c4
    1224712252    test al, al                               ; 84 c0
    12248     jne short 0812dh                          ; 75 15
     12253    jne short 08138h                          ; 75 15
    1224912254    mov es, [bp+006h]                         ; 8e 46 06
    1225012255    mov word [es:si+018h], di                 ; 26 89 7c 18
     
    1226012265    pop bp                                    ; 5d
    1226112266    retn 00004h                               ; c2 04 00
    12262 scsi_cmd_packet_:                            ; 0xf813a LB 0x168
     12267scsi_cmd_packet_:                            ; 0xf8145 LB 0x168
    1226312268    push bp                                   ; 55
    1226412269    mov bp, sp                                ; 89 e5
     
    1227212277    mov dx, strict word 0000eh                ; ba 0e 00
    1227312278    mov ax, strict word 00040h                ; b8 40 00
    12274     call 0166ch                               ; e8 16 95
     12279    call 0166ch                               ; e8 0b 95
    1227512280    mov si, 00122h                            ; be 22 01
    1227612281    mov word [bp-00ah], ax                    ; 89 46 f6
    1227712282    cmp byte [bp+00ah], 002h                  ; 80 7e 0a 02
    12278     jne short 08181h                          ; 75 1f
     12283    jne short 0818ch                          ; 75 1f
    1227912284    mov bx, 00da0h                            ; bb a0 0d
    1228012285    mov cx, ds                                ; 8c d9
    1228112286    mov ax, strict word 00004h                ; b8 04 00
    12282     call 01923h                               ; e8 b6 97
     12287    call 01923h                               ; e8 ab 97
    1228312288    push 00b62h                               ; 68 62 0b
    1228412289    push 00b72h                               ; 68 72 0b
    1228512290    push strict byte 00004h                   ; 6a 04
    12286     call 01966h                               ; e8 ee 97
     12291    call 01966h                               ; e8 e3 97
    1228712292    add sp, strict byte 00006h                ; 83 c4 06
    1228812293    mov dx, strict word 00001h                ; ba 01 00
    12289     jmp near 08297h                           ; e9 16 01
     12294    jmp near 082a2h                           ; e9 16 01
    1229012295    sub di, strict byte 00008h                ; 83 ef 08
    1229112296    sal di, 002h                              ; c1 e7 02
     
    1230112306    ; sub ah, ah                                ; 2a e4
    1230212307    test AL, strict byte 001h                 ; a8 01
    12303     jne short 0819dh                          ; 75 f7
     12308    jne short 081a8h                          ; 75 f7
    1230412309    xor ax, ax                                ; 31 c0
    1230512310    mov dx, word [bp+006h]                    ; 8b 56 06
     
    1231712322    shr dx, 1                                 ; d1 ea
    1231812323    rcr ax, 1                                 ; d1 d8
    12319     loop 081c8h                               ; e2 fa
     12324    loop 081d3h                               ; e2 fa
    1232012325    and ax, 000f0h                            ; 25 f0 00
    1232112326    mov cl, byte [bp-006h]                    ; 8a 4e fa
     
    1233612341    shr dx, 1                                 ; d1 ea
    1233712342    rcr ax, 1                                 ; d1 d8
    12338     loop 081f0h                               ; e2 fa
     12343    loop 081fbh                               ; e2 fa
    1233912344    mov dx, bx                                ; 89 da
    1234012345    out DX, AL                                ; ee
     
    1234312348    xor ah, ah                                ; 30 e4
    1234412349    cmp cx, ax                                ; 39 c1
    12345     jnc short 08212h                          ; 73 0e
     12350    jnc short 0821dh                          ; 73 0e
    1234612351    les di, [bp-00eh]                         ; c4 7e f2
    1234712352    add di, cx                                ; 01 cf
     
    1235012355    out DX, AL                                ; ee
    1235112356    inc cx                                    ; 41
    12352     jmp short 081fbh                          ; eb e9
     12357    jmp short 08206h                          ; eb e9
    1235312358    mov dx, bx                                ; 89 da
    1235412359    in AL, DX                                 ; ec
     
    1235612361    ; sub ah, ah                                ; 2a e4
    1235712362    test AL, strict byte 001h                 ; a8 01
    12358     jne short 08212h                          ; 75 f7
     12363    jne short 0821dh                          ; 75 f7
    1235912364    test AL, strict byte 002h                 ; a8 02
    12360     je short 0822dh                           ; 74 0e
     12365    je short 08238h                           ; 74 0e
    1236112366    lea dx, [bx+003h]                         ; 8d 57 03
    1236212367    xor al, al                                ; 30 c0
     
    1236612371    ; sub ah, ah                                ; 2a e4
    1236712372    mov dx, strict word 00003h                ; ba 03 00
    12368     jmp short 08297h                          ; eb 6a
     12373    jmp short 082a2h                          ; eb 6a
    1236912374    mov ax, word [bp+004h]                    ; 8b 46 04
    1237012375    test ax, ax                               ; 85 c0
    12371     je short 0823ch                           ; 74 08
     12376    je short 08247h                           ; 74 08
    1237212377    lea dx, [bx+001h]                         ; 8d 57 01
    1237312378    mov cx, ax                                ; 89 c1
    1237412379    in AL, DX                                 ; ec
    12375     loop 08239h                               ; e2 fd
     12380    loop 08244h                               ; e2 fd
    1237612381    mov ax, word [bp+006h]                    ; 8b 46 06
    1237712382    mov es, [bp-00ah]                         ; 8e 46 f6
     
    1238112386    lea ax, [bx+001h]                         ; 8d 47 01
    1238212387    cmp word [bp+008h], strict byte 00000h    ; 83 7e 08 00
    12383     jne short 0825dh                          ; 75 07
     12388    jne short 08268h                          ; 75 07
    1238412389    cmp word [bp+006h], 08000h                ; 81 7e 06 00 80
    12385     jbe short 0827ah                          ; 76 1d
     12390    jbe short 08285h                          ; 76 1d
    1238612391    mov dx, ax                                ; 89 c2
    1238712392    mov cx, 08000h                            ; b9 00 80
     
    1239312398    add ax, 00800h                            ; 05 00 08
    1239412399    mov word [bp+00eh], ax                    ; 89 46 0e
    12395     jmp short 0824dh                          ; eb d3
     12400    jmp short 08258h                          ; eb d3
    1239612401    mov dx, ax                                ; 89 c2
    1239712402    mov cx, word [bp+006h]                    ; 8b 4e 06
     
    1240012405    mov es, [bp-00ah]                         ; 8e 46 f6
    1240112406    cmp word [es:si+020h], strict byte 00000h ; 26 83 7c 20 00
    12402     je short 08295h                           ; 74 07
     12407    je short 082a0h                           ; 74 07
    1240312408    mov cx, word [es:si+020h]                 ; 26 8b 4c 20
    1240412409    in AL, DX                                 ; ec
    12405     loop 08292h                               ; e2 fd
     12410    loop 0829dh                               ; e2 fd
    1240612411    xor dx, dx                                ; 31 d2
    1240712412    mov ax, dx                                ; 89 d0
     
    1241112416    pop bp                                    ; 5d
    1241212417    retn 0000ch                               ; c2 0c 00
    12413 scsi_enumerate_attached_devices_:            ; 0xf82a2 LB 0x4a6
     12418scsi_enumerate_attached_devices_:            ; 0xf82ad LB 0x4a6
    1241412419    push bp                                   ; 55
    1241512420    mov bp, sp                                ; 89 e5
     
    1242312428    mov dx, strict word 0000eh                ; ba 0e 00
    1242412429    mov ax, strict word 00040h                ; b8 40 00
    12425     call 0166ch                               ; e8 b4 93
     12430    call 0166ch                               ; e8 a9 93
    1242612431    mov di, 00122h                            ; bf 22 01
    1242712432    mov word [bp-020h], ax                    ; 89 46 e0
    1242812433    mov word [bp-022h], strict word 00000h    ; c7 46 de 00 00
    12429     jmp near 086c6h                           ; e9 00 04
     12434    jmp near 086d1h                           ; e9 00 04
    1243012435    cmp AL, strict byte 004h                  ; 3c 04
    12431     jc short 082cdh                           ; 72 03
    12432     jmp near 0873eh                           ; e9 71 04
     12436    jc short 082d8h                           ; 72 03
     12437    jmp near 08749h                           ; e9 71 04
    1243312438    mov cx, strict word 00010h                ; b9 10 00
    1243412439    xor bx, bx                                ; 31 db
    1243512440    mov dx, ss                                ; 8c d2
    1243612441    lea ax, [bp-046h]                         ; 8d 46 ba
    12437     call 09ff0h                               ; e8 16 1d
     12442    call 0a000h                               ; e8 1b 1d
    1243812443    mov byte [bp-046h], 09eh                  ; c6 46 ba 9e
    1243912444    mov byte [bp-045h], 010h                  ; c6 46 bb 10
     
    1245012455    lea bx, [bp-046h]                         ; 8d 5e ba
    1245112456    mov ax, word [bp-00248h]                  ; 8b 86 b8 fd
    12452     call 07dd0h                               ; e8 cd fa
     12457    call 07ddbh                               ; e8 cd fa
    1245312458    test al, al                               ; 84 c0
    12454     je short 08315h                           ; 74 0e
     12459    je short 08320h                           ; 74 0e
    1245512460    push 00b92h                               ; 68 92 0b
    1245612461    push 00bcbh                               ; 68 cb 0b
    1245712462    push strict byte 00007h                   ; 6a 07
    12458     call 01966h                               ; e8 54 96
     12463    call 01966h                               ; e8 49 96
    1245912464    add sp, strict byte 00006h                ; 83 c4 06
    1246012465    mov ax, word [bp-00240h]                  ; 8b 86 c0 fd
     
    1248812493    sal ax, 1                                 ; d1 e0
    1248912494    rcl dx, 1                                 ; d1 d2
    12490     loop 08364h                               ; e2 fa
     12495    loop 0836fh                               ; e2 fa
    1249112496    or bx, ax                                 ; 09 c3
    1249212497    or dx, si                                 ; 09 f2
     
    1249612501    mov word [bp-028h], bx                    ; 89 5e d8
    1249712502    test dx, dx                               ; 85 d2
    12498     jne short 08383h                          ; 75 06
     12503    jne short 0838eh                          ; 75 06
    1249912504    cmp bx, 00200h                            ; 81 fb 00 02
    12500     je short 083a3h                           ; 74 20
     12505    je short 083aeh                           ; 74 20
    1250112506    mov bx, 00da0h                            ; bb a0 0d
    1250212507    mov cx, ds                                ; 8c d9
    1250312508    mov ax, strict word 00004h                ; b8 04 00
    12504     call 01923h                               ; e8 95 95
     12509    call 01923h                               ; e8 8a 95
    1250512510    push dx                                   ; 52
    1250612511    push word [bp-028h]                       ; ff 76 d8
     
    1250812513    push 00beah                               ; 68 ea 0b
    1250912514    push strict byte 00004h                   ; 6a 04
    12510     call 01966h                               ; e8 c9 95
     12515    call 01966h                               ; e8 be 95
    1251112516    add sp, strict byte 0000ah                ; 83 c4 0a
    12512     jmp near 086bah                           ; e9 17 03
     12517    jmp near 086c5h                           ; e9 17 03
    1251312518    mov al, byte [bp-00ch]                    ; 8a 46 f4
    1251412519    cmp AL, strict byte 001h                  ; 3c 01
    12515     jc short 083b6h                           ; 72 0c
    12516     jbe short 083beh                          ; 76 12
     12520    jc short 083c1h                           ; 72 0c
     12521    jbe short 083c9h                          ; 76 12
    1251712522    cmp AL, strict byte 003h                  ; 3c 03
    12518     je short 083c6h                           ; 74 16
     12523    je short 083d1h                           ; 74 16
    1251912524    cmp AL, strict byte 002h                  ; 3c 02
    12520     je short 083c2h                           ; 74 0e
    12521     jmp short 0840fh                          ; eb 59
     12525    je short 083cdh                           ; 74 0e
     12526    jmp short 0841ah                          ; eb 59
    1252212527    test al, al                               ; 84 c0
    12523     jne short 0840fh                          ; 75 55
     12528    jne short 0841ah                          ; 75 55
    1252412529    mov BL, strict byte 090h                  ; b3 90
    12525     jmp short 083c8h                          ; eb 0a
     12530    jmp short 083d3h                          ; eb 0a
    1252612531    mov BL, strict byte 098h                  ; b3 98
    12527     jmp short 083c8h                          ; eb 06
     12532    jmp short 083d3h                          ; eb 06
    1252812533    mov BL, strict byte 0a0h                  ; b3 a0
    12529     jmp short 083c8h                          ; eb 02
     12534    jmp short 083d3h                          ; eb 02
    1253012535    mov BL, strict byte 0a8h                  ; b3 a8
    1253112536    mov cl, bl                                ; 88 d9
     
    1253312538    xor ch, ch                                ; 30 ed
    1253412539    mov ax, cx                                ; 89 c8
    12535     call 016ach                               ; e8 d8 92
     12540    call 016ach                               ; e8 cd 92
    1253612541    test al, al                               ; 84 c0
    12537     je short 0840fh                           ; 74 37
     12542    je short 0841ah                           ; 74 37
    1253812543    mov al, bl                                ; 88 d8
    1253912544    db  0feh, 0c0h
    1254012545    ; inc al                                    ; fe c0
    1254112546    xor ah, ah                                ; 30 e4
    12542     call 016ach                               ; e8 cb 92
     12547    call 016ach                               ; e8 c0 92
    1254312548    xor ah, ah                                ; 30 e4
    1254412549    mov dx, ax                                ; 89 c2
    1254512550    sal dx, 008h                              ; c1 e2 08
    1254612551    mov al, bl                                ; 88 d8
    12547     call 016ach                               ; e8 bf 92
     12552    call 016ach                               ; e8 b4 92
    1254812553    xor ah, ah                                ; 30 e4
    1254912554    add ax, dx                                ; 01 d0
     
    1255312558    add AL, strict byte 002h                  ; 04 02
    1255412559    xor ah, ah                                ; 30 e4
    12555     call 016ach                               ; e8 af 92
     12560    call 016ach                               ; e8 a4 92
    1255612561    xor ah, ah                                ; 30 e4
    1255712562    mov word [bp-018h], ax                    ; 89 46 e8
    1255812563    mov ax, cx                                ; 89 c8
    12559     call 016ach                               ; e8 a5 92
     12564    call 016ach                               ; e8 9a 92
    1256012565    xor ah, ah                                ; 30 e4
    1256112566    mov word [bp-026h], ax                    ; 89 46 da
    12562     jmp near 084fdh                           ; e9 ee 00
     12567    jmp near 08508h                           ; e9 ee 00
    1256312568    mov ax, word [bp-012h]                    ; 8b 46 ee
    1256412569    mov bx, word [bp-010h]                    ; 8b 5e f0
     
    1256612571    mov dx, word [bp-014h]                    ; 8b 56 ec
    1256712572    mov si, strict word 0000ch                ; be 0c 00
    12568     call 09fd0h                               ; e8 af 1b
     12573    call 09fe0h                               ; e8 b4 1b
    1256912574    mov word [bp-02ah], ax                    ; 89 46 d6
    1257012575    mov word [bp-016h], bx                    ; 89 5e ea
     
    1257312578    mov ax, word [bp-012h]                    ; 8b 46 ee
    1257412579    test ax, ax                               ; 85 c0
    12575     jnbe short 08449h                         ; 77 15
    12576     je short 08439h                           ; 74 03
    12577     jmp near 084beh                           ; e9 85 00
     12580    jnbe short 08454h                         ; 77 15
     12581    je short 08444h                           ; 74 03
     12582    jmp near 084c9h                           ; e9 85 00
    1257812583    cmp word [bp-010h], strict byte 00000h    ; 83 7e f0 00
    12579     jnbe short 08449h                         ; 77 0a
    12580     jne short 08436h                          ; 75 f5
     12584    jnbe short 08454h                         ; 77 0a
     12585    jne short 08441h                          ; 75 f5
    1258112586    cmp word [bp-01ch], strict byte 00040h    ; 83 7e e4 40
    12582     jnbe short 08449h                         ; 77 02
    12583     jne short 084beh                          ; 75 75
     12587    jnbe short 08454h                         ; 77 02
     12588    jne short 084c9h                          ; 75 75
    1258412589    mov word [bp-018h], 000ffh                ; c7 46 e8 ff 00
    1258512590    mov word [bp-026h], strict word 0003fh    ; c7 46 da 3f 00
     
    1258812593    mov dx, word [bp-014h]                    ; 8b 56 ec
    1258912594    mov si, strict word 00006h                ; be 06 00
    12590     call 09fd0h                               ; e8 6e 1b
     12595    call 09fe0h                               ; e8 73 1b
    1259112596    mov si, word [bp-01eh]                    ; 8b 76 e2
    1259212597    add si, dx                                ; 01 d6
     
    1260612611    mov dx, si                                ; 89 f2
    1260712612    mov si, strict word 00008h                ; be 08 00
    12608     call 09fd0h                               ; e8 3e 1b
     12613    call 09fe0h                               ; e8 43 1b
    1260912614    mov word [bp-02eh], bx                    ; 89 5e d2
    1261012615    mov word [bp-030h], cx                    ; 89 4e d0
     
    1261512620    mov dx, word [bp-036h]                    ; 8b 56 ca
    1261612621    mov si, strict word 00010h                ; be 10 00
    12617     call 09fd0h                               ; e8 23 1b
     12622    call 09fe0h                               ; e8 28 1b
    1261812623    mov si, word [bp-032h]                    ; 8b 76 ce
    1261912624    add si, dx                                ; 01 d6
     
    1262212627    mov ax, word [bp-02eh]                    ; 8b 46 d2
    1262312628    adc ax, bx                                ; 11 d8
    12624     jmp short 084fdh                          ; eb 3f
     12629    jmp short 08508h                          ; eb 3f
    1262512630    test ax, ax                               ; 85 c0
    12626     jnbe short 084d4h                         ; 77 12
    12627     jne short 084e0h                          ; 75 1c
     12631    jnbe short 084dfh                         ; 77 12
     12632    jne short 084ebh                          ; 75 1c
    1262812633    cmp word [bp-010h], strict byte 00000h    ; 83 7e f0 00
    12629     jnbe short 084d4h                         ; 77 0a
    12630     jne short 084e0h                          ; 75 14
     12634    jnbe short 084dfh                         ; 77 0a
     12635    jne short 084ebh                          ; 75 14
    1263112636    cmp word [bp-01ch], strict byte 00020h    ; 83 7e e4 20
    12632     jnbe short 084d4h                         ; 77 02
    12633     jne short 084e0h                          ; 75 0c
     12637    jnbe short 084dfh                         ; 77 02
     12638    jne short 084ebh                          ; 75 0c
    1263412639    mov word [bp-018h], 00080h                ; c7 46 e8 80 00
    1263512640    mov word [bp-026h], strict word 00020h    ; c7 46 da 20 00
    12636     jmp short 084f9h                          ; eb 19
     12641    jmp short 08504h                          ; eb 19
    1263712642    mov word [bp-018h], strict word 00040h    ; c7 46 e8 40 00
    1263812643    mov word [bp-026h], strict word 00020h    ; c7 46 da 20 00
     
    1264112646    mov dx, word [bp-014h]                    ; 8b 56 ec
    1264212647    mov si, strict word 0000bh                ; be 0b 00
    12643     call 09fd0h                               ; e8 d7 1a
     12648    call 09fe0h                               ; e8 dc 1a
    1264412649    mov si, dx                                ; 89 d6
    1264512650    mov dx, cx                                ; 89 ca
     
    1267612681    mov word [es:bx+034h], ax                 ; 26 89 47 34
    1267712682    test dx, dx                               ; 85 d2
    12678     jne short 0856fh                          ; 75 06
     12683    jne short 0857ah                          ; 75 06
    1267912684    cmp si, 00400h                            ; 81 fe 00 04
    12680     jbe short 0857dh                          ; 76 0e
     12685    jbe short 08588h                          ; 76 0e
    1268112686    mov word [es:bx+02ch], 00400h             ; 26 c7 47 2c 00 04
    1268212687    mov word [es:bx+032h], 00400h             ; 26 c7 47 32 00 04
    12683     jmp short 08585h                          ; eb 08
     12688    jmp short 08590h                          ; eb 08
    1268412689    mov word [es:bx+02ch], si                 ; 26 89 77 2c
    1268512690    mov word [es:bx+032h], si                 ; 26 89 77 32
     
    1268712692    mov cx, ds                                ; 8c d9
    1268812693    mov ax, strict word 00004h                ; b8 04 00
    12689     call 01923h                               ; e8 93 93
     12694    call 01923h                               ; e8 88 93
    1269012695    push word [bp-012h]                       ; ff 76 ee
    1269112696    push word [bp-010h]                       ; ff 76 f0
     
    1270212707    push 00c18h                               ; 68 18 0c
    1270312708    push strict byte 00004h                   ; 6a 04
    12704     call 01966h                               ; e8 b1 93
     12709    call 01966h                               ; e8 a6 93
    1270512710    add sp, strict byte 00018h                ; 83 c4 18
    1270612711    mov al, byte [bp-00eh]                    ; 8a 46 f2
     
    1273012735    mov dx, strict word 00075h                ; ba 75 00
    1273112736    mov ax, strict word 00040h                ; b8 40 00
    12732     call 01650h                               ; e8 47 90
     12737    call 01650h                               ; e8 3c 90
    1273312738    mov bl, al                                ; 88 c3
    1273412739    db  0feh, 0c3h
     
    1273712742    mov dx, strict word 00075h                ; ba 75 00
    1273812743    mov ax, strict word 00040h                ; b8 40 00
    12739     call 0165eh                               ; e8 46 90
     12744    call 0165eh                               ; e8 3b 90
    1274012745    inc byte [bp-00ch]                        ; fe 46 f4
    12741     jmp near 086afh                           ; e9 91 00
     12746    jmp near 086bah                           ; e9 91 00
    1274212747    mov bx, 00da0h                            ; bb a0 0d
    1274312748    mov cx, ds                                ; 8c d9
    1274412749    mov ax, strict word 00004h                ; b8 04 00
    12745     call 01923h                               ; e8 fa 92
     12750    call 01923h                               ; e8 ef 92
    1274612751    push word [bp-022h]                       ; ff 76 de
    1274712752    mov al, byte [bp-00ch]                    ; 8a 46 f4
     
    1275012755    push 00c46h                               ; 68 46 0c
    1275112756    push strict byte 00004h                   ; 6a 04
    12752     call 01966h                               ; e8 2c 93
     12757    call 01966h                               ; e8 21 93
    1275312758    add sp, strict byte 00008h                ; 83 c4 08
    1275412759    mov al, byte [bp-00ch]                    ; 8a 46 f4
     
    1275612761    mov byte [bp-00eh], al                    ; 88 46 f2
    1275712762    test byte [bp-00245h], 080h               ; f6 86 bb fd 80
    12758     je short 08651h                           ; 74 05
     12763    je short 0865ch                           ; 74 05
    1275912764    mov dx, strict word 00001h                ; ba 01 00
    12760     jmp short 08653h                          ; eb 02
     12765    jmp short 0865eh                          ; eb 02
    1276112766    xor dx, dx                                ; 31 d2
    1276212767    mov al, byte [bp-00ch]                    ; 8a 46 f4
     
    1279412799    inc word [bp-022h]                        ; ff 46 de
    1279512800    cmp word [bp-022h], strict byte 00010h    ; 83 7e de 10
    12796     jl short 086c6h                           ; 7c 03
    12797     jmp near 0873eh                           ; e9 78 00
     12801    jl short 086d1h                           ; 7c 03
     12802    jmp near 08749h                           ; e9 78 00
    1279812803    mov byte [bp-046h], 012h                  ; c6 46 ba 12
    1279912804    xor al, al                                ; 30 c0
     
    1281412819    lea bx, [bp-046h]                         ; 8d 5e ba
    1281512820    mov ax, word [bp-00248h]                  ; 8b 86 b8 fd
    12816     call 07dd0h                               ; e8 d7 f6
     12821    call 07ddbh                               ; e8 d7 f6
    1281712822    test al, al                               ; 84 c0
    12818     je short 0870bh                           ; 74 0e
     12823    je short 08716h                           ; 74 0e
    1281912824    push 00b92h                               ; 68 92 0b
    1282012825    push 00bb2h                               ; 68 b2 0b
    1282112826    push strict byte 00007h                   ; 6a 07
    12822     call 01966h                               ; e8 5e 92
     12827    call 01966h                               ; e8 53 92
    1282312828    add sp, strict byte 00006h                ; 83 c4 06
    1282412829    mov es, [bp-020h]                         ; 8e 46 e0
     
    1282612831    mov byte [bp-00ch], al                    ; 88 46 f4
    1282712832    test byte [bp-00246h], 0e0h               ; f6 86 ba fd e0
    12828     jne short 08727h                          ; 75 0a
     12833    jne short 08732h                          ; 75 0a
    1282912834    test byte [bp-00246h], 01fh               ; f6 86 ba fd 1f
    12830     jne short 08727h                          ; 75 03
    12831     jmp near 082c6h                           ; e9 9f fb
     12835    jne short 08732h                          ; 75 03
     12836    jmp near 082d1h                           ; e9 9f fb
    1283212837    test byte [bp-00246h], 0e0h               ; f6 86 ba fd e0
    12833     jne short 086afh                          ; 75 81
     12838    jne short 086bah                          ; 75 81
    1283412839    mov al, byte [bp-00246h]                  ; 8a 86 ba fd
    1283512840    and AL, strict byte 01fh                  ; 24 1f
    1283612841    cmp AL, strict byte 005h                  ; 3c 05
    12837     jne short 0873bh                          ; 75 03
    12838     jmp near 0861eh                           ; e9 e3 fe
    12839     jmp near 086afh                           ; e9 71 ff
     12842    jne short 08746h                          ; 75 03
     12843    jmp near 08629h                           ; e9 e3 fe
     12844    jmp near 086bah                           ; e9 71 ff
    1284012845    lea sp, [bp-00ah]                         ; 8d 66 f6
    1284112846    pop di                                    ; 5f
     
    1284612851    pop bp                                    ; 5d
    1284712852    retn                                      ; c3
    12848 _scsi_init:                                  ; 0xf8748 LB 0x66
     12853_scsi_init:                                  ; 0xf8753 LB 0x66
    1284912854    push bp                                   ; 55
    1285012855    mov bp, sp                                ; 89 e5
    1285112856    mov dx, strict word 0000eh                ; ba 0e 00
    1285212857    mov ax, strict word 00040h                ; b8 40 00
    12853     call 0166ch                               ; e8 18 8f
     12858    call 0166ch                               ; e8 0d 8f
    1285412859    mov bx, 00122h                            ; bb 22 01
    1285512860    mov es, ax                                ; 8e c0
     
    1286212867    ; sub ah, ah                                ; 2a e4
    1286312868    cmp AL, strict byte 055h                  ; 3c 55
    12864     jne short 08778h                          ; 75 0c
     12869    jne short 08783h                          ; 75 0c
    1286512870    xor al, al                                ; 30 c0
    1286612871    mov dx, 00433h                            ; ba 33 04
    1286712872    out DX, AL                                ; ee
    1286812873    mov ax, 00430h                            ; b8 30 04
    12869     call 082a2h                               ; e8 2a fb
     12874    call 082adh                               ; e8 2a fb
    1287012875    mov AL, strict byte 055h                  ; b0 55
    1287112876    mov dx, 00436h                            ; ba 36 04
     
    1287512880    ; sub ah, ah                                ; 2a e4
    1287612881    cmp AL, strict byte 055h                  ; 3c 55
    12877     jne short 08791h                          ; 75 0c
     12882    jne short 0879ch                          ; 75 0c
    1287812883    xor al, al                                ; 30 c0
    1287912884    mov dx, 00437h                            ; ba 37 04
    1288012885    out DX, AL                                ; ee
    1288112886    mov ax, 00434h                            ; b8 34 04
    12882     call 082a2h                               ; e8 11 fb
     12887    call 082adh                               ; e8 11 fb
    1288312888    mov AL, strict byte 055h                  ; b0 55
    1288412889    mov dx, 0043ah                            ; ba 3a 04
     
    1288812893    ; sub ah, ah                                ; 2a e4
    1288912894    cmp AL, strict byte 055h                  ; 3c 55
    12890     jne short 087aah                          ; 75 0c
     12895    jne short 087b5h                          ; 75 0c
    1289112896    xor al, al                                ; 30 c0
    1289212897    mov dx, 0043bh                            ; ba 3b 04
    1289312898    out DX, AL                                ; ee
    1289412899    mov ax, 00438h                            ; b8 38 04
    12895     call 082a2h                               ; e8 f8 fa
     12900    call 082adh                               ; e8 f8 fa
    1289612901    mov sp, bp                                ; 89 ec
    1289712902    pop bp                                    ; 5d
    1289812903    retn                                      ; c3
    12899 ahci_ctrl_extract_bits_:                     ; 0xf87ae LB 0x1c
     12904ahci_ctrl_extract_bits_:                     ; 0xf87b9 LB 0x1c
    1290012905    push si                                   ; 56
    1290112906    push bp                                   ; 55
     
    1290612911    mov cl, byte [bp+006h]                    ; 8a 4e 06
    1290712912    xor ch, ch                                ; 30 ed
    12908     jcxz 087c5h                               ; e3 06
     12913    jcxz 087d0h                               ; e3 06
    1290912914    shr dx, 1                                 ; d1 ea
    1291012915    rcr ax, 1                                 ; d1 d8
    12911     loop 087bfh                               ; e2 fa
     12916    loop 087cah                               ; e2 fa
    1291212917    pop bp                                    ; 5d
    1291312918    pop si                                    ; 5e
    1291412919    retn 00002h                               ; c2 02 00
    12915 ahci_addr_to_phys_:                          ; 0xf87ca LB 0x1e
     12920ahci_addr_to_phys_:                          ; 0xf87d5 LB 0x1e
    1291612921    push bx                                   ; 53
    1291712922    push cx                                   ; 51
     
    1292412929    sal ax, 1                                 ; d1 e0
    1292512930    rcl dx, 1                                 ; d1 d2
    12926     loop 087d8h                               ; e2 fa
     12931    loop 087e3h                               ; e2 fa
    1292712932    xor cx, cx                                ; 31 c9
    1292812933    add ax, bx                                ; 01 d8
     
    1293212937    pop bx                                    ; 5b
    1293312938    retn                                      ; c3
    12934 ahci_port_cmd_sync_:                         ; 0xf87e8 LB 0x156
     12939ahci_port_cmd_sync_:                         ; 0xf87f3 LB 0x156
    1293512940    push bp                                   ; 55
    1293612941    mov bp, sp                                ; 89 e5
     
    1294712952    mov bx, word [es:si+00260h]               ; 26 8b 9c 60 02
    1294812953    cmp AL, strict byte 0ffh                  ; 3c ff
    12949     jne short 0880bh                          ; 75 03
    12950     jmp near 08936h                           ; e9 2b 01
     12954    jne short 08816h                          ; 75 03
     12955    jmp near 08941h                           ; e9 2b 01
    1295112956    mov al, byte [es:si+00263h]               ; 26 8a 84 63 02
    1295212957    xor ah, ah                                ; 30 e4
     
    1296112966    lea ax, [si+00080h]                       ; 8d 84 80 00
    1296212967    mov dx, cx                                ; 89 ca
    12963     call 087cah                               ; e8 92 ff
     12968    call 087d5h                               ; e8 92 ff
    1296412969    mov es, cx                                ; 8e c1
    1296512970    mov word [es:si+008h], ax                 ; 26 89 44 08
     
    1302713032    xchg dx, ax                               ; 92
    1302813033    test dh, 040h                             ; f6 c6 40
    13029     jne short 088c9h                          ; 75 04
     13034    jne short 088d4h                          ; 75 04
    1303013035    test AL, strict byte 001h                 ; a8 01
    13031     je short 088cdh                           ; 74 04
     13036    je short 088d8h                           ; 74 04
    1303213037    mov AL, strict byte 001h                  ; b0 01
    13033     jmp short 088cfh                          ; eb 02
     13038    jmp short 088dah                          ; eb 02
    1303413039    xor al, al                                ; 30 c0
    1303513040    test al, al                               ; 84 c0
    13036     je short 0889ch                           ; 74 c9
     13041    je short 088a7h                           ; 74 c9
    1303713042    mov al, byte [bp-008h]                    ; 8a 46 f8
    1303813043    xor ah, ah                                ; 30 e4
     
    1309013095    pop bp                                    ; 5d
    1309113096    retn                                      ; c3
    13092 ahci_cmd_data_:                              ; 0xf893e LB 0x267
     13097ahci_cmd_data_:                              ; 0xf8949 LB 0x267
    1309313098    push bp                                   ; 55
    1309413099    mov bp, sp                                ; 89 e5
     
    1311513120    mov ax, 00080h                            ; b8 80 00
    1311613121    mov dx, word [bp-00ah]                    ; 8b 56 f6
    13117     call 09ff0h                               ; e8 74 16
     13122    call 0a000h                               ; e8 79 16
    1311813123    mov es, [bp-00ah]                         ; 8e 46 f6
    1311913124    mov word [es:di+00080h], 08027h           ; 26 c7 85 80 00 27 80
     
    1313313138    mov dx, word [es:si]                      ; 26 8b 14
    1313413139    mov si, strict word 00008h                ; be 08 00
    13135     call 09fd0h                               ; e8 10 16
     13140    call 09fe0h                               ; e8 15 16
    1313613141    mov es, [bp-00ah]                         ; 8e 46 f6
    1313713142    mov byte [es:di+00085h], dl               ; 26 88 95 85 00
     
    1314413149    mov dx, word [es:si]                      ; 26 8b 14
    1314513150    mov si, strict word 00010h                ; be 10 00
    13146     call 09fd0h                               ; e8 ea 15
     13151    call 09fe0h                               ; e8 ef 15
    1314713152    mov es, [bp-00ah]                         ; 8e 46 f6
    1314813153    mov byte [es:di+00086h], dl               ; 26 88 95 86 00
     
    1315613161    mov dx, word [es:si]                      ; 26 8b 14
    1315713162    mov si, strict word 00018h                ; be 18 00
    13158     call 09fd0h                               ; e8 be 15
     13163    call 09fe0h                               ; e8 c3 15
    1315913164    mov es, [bp-00ah]                         ; 8e 46 f6
    1316013165    mov byte [es:di+00088h], dl               ; 26 88 95 88 00
     
    1316713172    mov dx, word [es:si]                      ; 26 8b 14
    1316813173    mov si, strict word 00020h                ; be 20 00
    13169     call 09fd0h                               ; e8 98 15
     13174    call 09fe0h                               ; e8 9d 15
    1317013175    mov es, [bp-00ah]                         ; 8e 46 f6
    1317113176    mov byte [es:di+00089h], dl               ; 26 88 95 89 00
     
    1317813183    mov dx, word [es:si]                      ; 26 8b 14
    1317913184    mov si, strict word 00028h                ; be 28 00
    13180     call 09fd0h                               ; e8 72 15
     13185    call 09fe0h                               ; e8 77 15
    1318113186    mov es, [bp-00ah]                         ; 8e 46 f6
    1318213187    mov byte [es:di+0008ah], dl               ; 26 88 95 8a 00
     
    1319213197    mov bx, word [bp-010h]                    ; 8b 5e f0
    1319313198    xor cx, cx                                ; 31 c9
    13194     call 09f80h                               ; e8 ed 14
     13199    call 09f90h                               ; e8 f2 14
    1319513200    push dx                                   ; 52
    1319613201    push ax                                   ; 50
     
    1320213207    mov ax, 0026ah                            ; b8 6a 02
    1320313208    mov dx, word [bp-00ah]                    ; 8b 56 f6
    13204     call 09edah                               ; e8 2b 14
     13209    call 09ee5h                               ; e8 2b 14
    1320513210    mov es, [bp-00ah]                         ; 8e 46 f6
    1320613211    mov dx, word [es:di+0027eh]               ; 26 8b 95 7e 02
     
    1322513230    mov ax, word [es:bx+020h]                 ; 26 8b 47 20
    1322613231    test ax, ax                               ; 85 c0
    13227     je short 08b41h                           ; 74 3b
     13232    je short 08b4ch                           ; 74 3b
    1322813233    dec ax                                    ; 48
    1322913234    mov es, [bp-00ah]                         ; 8e 46 f6
     
    1324313248    mov al, byte [bp-008h]                    ; 8a 46 f8
    1324413249    cmp AL, strict byte 035h                  ; 3c 35
    13245     jne short 08b4eh                          ; 75 06
     13250    jne short 08b59h                          ; 75 06
    1324613251    mov byte [bp-008h], 040h                  ; c6 46 f8 40
    13247     jmp short 08b65h                          ; eb 17
     13252    jmp short 08b70h                          ; eb 17
    1324813253    cmp AL, strict byte 0a0h                  ; 3c a0
    13249     jne short 08b61h                          ; 75 0f
     13254    jne short 08b6ch                          ; 75 0f
    1325013255    or byte [bp-008h], 020h                   ; 80 4e f8 20
    1325113256    les bx, [bp-00eh]                         ; c4 5e f2
    1325213257    or byte [es:bx+00083h], 001h              ; 26 80 8f 83 00 01
    13253     jmp short 08b65h                          ; eb 04
     13258    jmp short 08b70h                          ; eb 04
    1325413259    mov byte [bp-008h], 000h                  ; c6 46 f8 00
    1325513260    or byte [bp-008h], 005h                   ; 80 4e f8 05
     
    1325813263    mov ax, word [bp-00eh]                    ; 8b 46 f2
    1325913264    mov dx, word [bp-00ch]                    ; 8b 56 f4
    13260     call 087e8h                               ; e8 71 fc
     13265    call 087f3h                               ; e8 71 fc
    1326113266    mov cx, word [bp-00ch]                    ; 8b 4e f4
    1326213267    mov bx, word [bp-00eh]                    ; 8b 5e f2
     
    1326513270    add ax, 0026ah                            ; 05 6a 02
    1326613271    mov dx, cx                                ; 89 ca
    13267     call 09f51h                               ; e8 c5 13
     13272    call 09f5ch                               ; e8 c5 13
    1326813273    mov es, cx                                ; 8e c1
    1326913274    mov al, byte [es:bx+003h]                 ; 26 8a 47 03
    1327013275    test al, al                               ; 84 c0
    13271     je short 08b9bh                           ; 74 05
     13276    je short 08ba6h                           ; 74 05
    1327213277    mov ax, strict word 00004h                ; b8 04 00
    13273     jmp short 08b9dh                          ; eb 02
     13278    jmp short 08ba8h                          ; eb 02
    1327413279    xor ah, ah                                ; 30 e4
    1327513280    lea sp, [bp-006h]                         ; 8d 66 fa
     
    1327913284    pop bp                                    ; 5d
    1328013285    retn                                      ; c3
    13281 ahci_port_deinit_current_:                   ; 0xf8ba5 LB 0x180
     13286ahci_port_deinit_current_:                   ; 0xf8bb0 LB 0x180
    1328213287    push bp                                   ; 55
    1328313288    mov bp, sp                                ; 89 e5
     
    1329413299    mov byte [bp-00ah], al                    ; 88 46 f6
    1329513300    cmp AL, strict byte 0ffh                  ; 3c ff
    13296     je short 08c26h                           ; 74 5f
     13301    je short 08c31h                           ; 74 5f
    1329713302    xor ah, ah                                ; 30 e4
    1329813303    sal ax, 007h                              ; c1 e0 07
     
    1333813343    xchg dx, ax                               ; 92
    1333913344    test ax, 0c011h                           ; a9 11 c0
    13340     je short 08c29h                           ; 74 07
     13345    je short 08c34h                           ; 74 07
    1334113346    mov AL, strict byte 001h                  ; b0 01
    13342     jmp short 08c2bh                          ; eb 05
    13343     jmp near 08d1ch                           ; e9 f3 00
     13347    jmp short 08c36h                          ; eb 05
     13348    jmp near 08d27h                           ; e9 f3 00
    1334413349    xor al, al                                ; 30 c0
    1334513350    cmp AL, strict byte 001h                  ; 3c 01
    13346     je short 08bf9h                           ; 74 ca
     13351    je short 08c04h                           ; 74 ca
    1334713352    mov cx, strict word 00020h                ; b9 20 00
    1334813353    xor bx, bx                                ; 31 db
    1334913354    mov ax, di                                ; 89 f8
    1335013355    mov dx, word [bp-00eh]                    ; 8b 56 f2
    13351     call 09ff0h                               ; e8 b4 13
     13356    call 0a000h                               ; e8 b9 13
    1335213357    lea ax, [di+00080h]                       ; 8d 85 80 00
    1335313358    mov cx, strict word 00040h                ; b9 40 00
    1335413359    xor bx, bx                                ; 31 db
    1335513360    mov dx, word [bp-00eh]                    ; 8b 56 f2
    13356     call 09ff0h                               ; e8 a5 13
     13361    call 0a000h                               ; e8 aa 13
    1335713362    lea ax, [di+00200h]                       ; 8d 85 00 02
    1335813363    mov cx, strict word 00060h                ; b9 60 00
    1335913364    xor bx, bx                                ; 31 db
    1336013365    mov dx, word [bp-00eh]                    ; 8b 56 f2
    13361     call 09ff0h                               ; e8 96 13
     13366    call 0a000h                               ; e8 9b 13
    1336213367    mov al, byte [bp-00ah]                    ; 8a 46 f6
    1336313368    xor ah, ah                                ; 30 e4
     
    1346413469    pop bp                                    ; 5d
    1346513470    retn                                      ; c3
    13466 ahci_port_init_:                             ; 0xf8d25 LB 0x24d
     13471ahci_port_init_:                             ; 0xf8d30 LB 0x24d
    1346713472    push bp                                   ; 55
    1346813473    mov bp, sp                                ; 89 e5
     
    1347413479    mov word [bp-00ah], dx                    ; 89 56 f6
    1347513480    mov byte [bp-008h], bl                    ; 88 5e f8
    13476     call 08ba5h                               ; e8 6c fe
     13481    call 08bb0h                               ; e8 6c fe
    1347713482    mov al, bl                                ; 88 d8
    1347813483    xor ah, ah                                ; 30 e4
     
    1352313528    xchg dx, ax                               ; 92
    1352413529    test ax, 0c011h                           ; a9 11 c0
    13525     je short 08daah                           ; 74 04
     13530    je short 08db5h                           ; 74 04
    1352613531    mov AL, strict byte 001h                  ; b0 01
    13527     jmp short 08dach                          ; eb 02
     13532    jmp short 08db7h                          ; eb 02
    1352813533    xor al, al                                ; 30 c0
    1352913534    cmp AL, strict byte 001h                  ; 3c 01
    13530     je short 08d75h                           ; 74 c5
     13535    je short 08d80h                           ; 74 c5
    1353113536    mov cx, strict word 00020h                ; b9 20 00
    1353213537    xor bx, bx                                ; 31 db
    1353313538    mov ax, si                                ; 89 f0
    1353413539    mov dx, word [bp-00ah]                    ; 8b 56 f6
    13535     call 09ff0h                               ; e8 33 12
     13540    call 0a000h                               ; e8 38 12
    1353613541    lea ax, [si+00080h]                       ; 8d 84 80 00
    1353713542    mov cx, strict word 00040h                ; b9 40 00
    1353813543    xor bx, bx                                ; 31 db
    1353913544    mov dx, word [bp-00ah]                    ; 8b 56 f6
    13540     call 09ff0h                               ; e8 24 12
     13545    call 0a000h                               ; e8 29 12
    1354113546    lea di, [si+00200h]                       ; 8d bc 00 02
    1354213547    mov cx, strict word 00060h                ; b9 60 00
     
    1354413549    mov ax, di                                ; 89 f8
    1354513550    mov dx, word [bp-00ah]                    ; 8b 56 f6
    13546     call 09ff0h                               ; e8 13 12
     13551    call 0a000h                               ; e8 18 12
    1354713552    mov bl, byte [bp-008h]                    ; 8a 5e f8
    1354813553    xor bh, bh                                ; 30 ff
     
    1356213567    mov ax, di                                ; 89 f8
    1356313568    mov dx, word [bp-00ah]                    ; 8b 56 f6
    13564     call 087cah                               ; e8 bf f9
     13569    call 087d5h                               ; e8 bf f9
    1356513570    mov es, [bp-00ah]                         ; 8e 46 f6
    1356613571    mov di, word [es:si+00260h]               ; 26 8b bc 60 02
     
    1360713612    mov ax, si                                ; 89 f0
    1360813613    mov dx, word [bp-00ah]                    ; 8b 56 f6
    13609     call 087cah                               ; e8 53 f9
     13614    call 087d5h                               ; e8 53 f9
    1361013615    mov es, [bp-00ah]                         ; 8e 46 f6
    1361113616    mov di, word [es:si+00260h]               ; 26 8b bc 60 02
     
    1371213717    pop bp                                    ; 5d
    1371313718    retn                                      ; c3
    13714 @ahci_read_sectors:                          ; 0xf8f72 LB 0xa8
     13719@ahci_read_sectors:                          ; 0xf8f7d LB 0xa8
    1371513720    push bp                                   ; 55
    1371613721    mov bp, sp                                ; 89 e5
     
    1372313728    sub bx, strict byte 0000ch                ; 83 eb 0c
    1372413729    cmp bx, strict byte 00004h                ; 83 fb 04
    13725     jbe short 08f98h                          ; 76 0f
     13730    jbe short 08fa3h                          ; 76 0f
    1372613731    push bx                                   ; 53
    1372713732    push 00c62h                               ; 68 62 0c
    1372813733    push 00c74h                               ; 68 74 0c
    1372913734    push strict byte 00007h                   ; 6a 07
    13730     call 01966h                               ; e8 d1 89
     13735    call 01966h                               ; e8 c6 89
    1373113736    add sp, strict byte 00008h                ; 83 c4 08
    1373213737    xor di, di                                ; 31 ff
     
    1374313748    mov dx, word [es:di+00232h]               ; 26 8b 95 32 02
    1374413749    xor ax, ax                                ; 31 c0
    13745     call 08d25h                               ; e8 60 fd
     13750    call 08d30h                               ; e8 60 fd
    1374613751    mov bx, strict word 00025h                ; bb 25 00
    1374713752    mov ax, si                                ; 89 f0
    1374813753    mov dx, word [bp+006h]                    ; 8b 56 06
    13749     call 0893eh                               ; e8 6e f9
     13754    call 08949h                               ; e8 6e f9
    1375013755    mov word [bp-006h], ax                    ; 89 46 fa
    1375113756    mov es, [bp+006h]                         ; 8e 46 06
     
    1377613781    pop bp                                    ; 5d
    1377713782    retn 00004h                               ; c2 04 00
    13778 @ahci_write_sectors:                         ; 0xf901a LB 0x86
     13783@ahci_write_sectors:                         ; 0xf9025 LB 0x86
    1377913784    push bp                                   ; 55
    1378013785    mov bp, sp                                ; 89 e5
     
    1378813793    sub dx, strict byte 0000ch                ; 83 ea 0c
    1378913794    cmp dx, strict byte 00004h                ; 83 fa 04
    13790     jbe short 09044h                          ; 76 0f
     13795    jbe short 0904fh                          ; 76 0f
    1379113796    push dx                                   ; 52
    1379213797    push 00c93h                               ; 68 93 0c
    1379313798    push 00c74h                               ; 68 74 0c
    1379413799    push strict byte 00007h                   ; 6a 07
    13795     call 01966h                               ; e8 25 89
     13800    call 01966h                               ; e8 1a 89
    1379613801    add sp, strict byte 00008h                ; 83 c4 08
    1379713802    xor bx, bx                                ; 31 db
     
    1380813813    mov dx, word [es:si+00232h]               ; 26 8b 94 32 02
    1380913814    xor ax, ax                                ; 31 c0
    13810     call 08d25h                               ; e8 b6 fc
     13815    call 08d30h                               ; e8 b6 fc
    1381113816    mov bx, strict word 00035h                ; bb 35 00
    1381213817    mov ax, si                                ; 89 f0
    1381313818    mov dx, cx                                ; 89 ca
    13814     call 0893eh                               ; e8 c5 f8
     13819    call 08949h                               ; e8 c5 f8
    1381513820    mov dx, ax                                ; 89 c2
    1381613821    mov es, cx                                ; 8e c1
     
    1382713832    pop bp                                    ; 5d
    1382813833    retn 00004h                               ; c2 04 00
    13829 ahci_cmd_packet_:                            ; 0xf90a0 LB 0x18a
     13834ahci_cmd_packet_:                            ; 0xf90ab LB 0x18a
    1383013835    push bp                                   ; 55
    1383113836    mov bp, sp                                ; 89 e5
     
    1383913844    mov dx, strict word 0000eh                ; ba 0e 00
    1384013845    mov ax, strict word 00040h                ; b8 40 00
    13841     call 0166ch                               ; e8 b1 85
     13846    call 0166ch                               ; e8 a6 85
    1384213847    mov si, 00122h                            ; be 22 01
    1384313848    mov word [bp-008h], ax                    ; 89 46 f8
    1384413849    cmp byte [bp+00ah], 002h                  ; 80 7e 0a 02
    13845     jne short 090e6h                          ; 75 1f
     13850    jne short 090f1h                          ; 75 1f
    1384613851    mov bx, 00da0h                            ; bb a0 0d
    1384713852    mov cx, ds                                ; 8c d9
    1384813853    mov ax, strict word 00004h                ; b8 04 00
    13849     call 01923h                               ; e8 51 88
     13854    call 01923h                               ; e8 46 88
    1385013855    push 00ca6h                               ; 68 a6 0c
    1385113856    push 00cb6h                               ; 68 b6 0c
    1385213857    push strict byte 00004h                   ; 6a 04
    13853     call 01966h                               ; e8 89 88
     13858    call 01966h                               ; e8 7e 88
    1385413859    add sp, strict byte 00006h                ; 83 c4 06
    1385513860    mov ax, strict word 00001h                ; b8 01 00
    13856     jmp near 09221h                           ; e9 3b 01
     13861    jmp near 0922ch                           ; e9 3b 01
    1385713862    test byte [bp+004h], 001h                 ; f6 46 04 01
    13858     jne short 090e0h                          ; 75 f4
     13863    jne short 090ebh                          ; 75 f4
    1385913864    mov ax, word [bp+006h]                    ; 8b 46 06
    1386013865    mov dx, word [bp+008h]                    ; 8b 56 08
     
    1386213867    sal ax, 1                                 ; d1 e0
    1386313868    rcl dx, 1                                 ; d1 d2
    13864     loop 090f5h                               ; e2 fa
     13869    loop 09100h                               ; e2 fa
    1386513870    mov es, [bp-008h]                         ; 8e 46 f8
    1386613871    mov word [es:si], ax                      ; 26 89 04
     
    1387613881    mov dx, word [bp+008h]                    ; 8b 56 08
    1387713882    xor cx, cx                                ; 31 c9
    13878     call 09fa0h                               ; e8 72 0e
     13883    call 09fb0h                               ; e8 77 0e
    1387913884    mov word [es:si+00eh], ax                 ; 26 89 44 0e
    1388013885    xor di, di                                ; 31 ff
     
    1389513900    mov bx, ax                                ; 89 c3
    1389613901    xor al, al                                ; 30 c0
    13897     call 08d25h                               ; e8 b8 fb
     13902    call 08d30h                               ; e8 b8 fb
    1389813903    mov al, byte [bp-006h]                    ; 8a 46 fa
    1389913904    xor ah, ah                                ; 30 e4
     
    1390313908    mov ax, 000c0h                            ; b8 c0 00
    1390413909    mov dx, word [bp-00ah]                    ; 8b 56 f6
    13905     call 0a000h                               ; e8 7e 0e
     13910    call 0a010h                               ; e8 83 0e
    1390613911    mov es, [bp-008h]                         ; 8e 46 f8
    1390713912    mov word [es:si+018h], di                 ; 26 89 7c 18
     
    1391013915    mov ax, word [es:si+01eh]                 ; 26 8b 44 1e
    1391113916    test ax, ax                               ; 85 c0
    13912     je short 091c0h                           ; 74 27
     13917    je short 091cbh                           ; 74 27
    1391313918    dec ax                                    ; 48
    1391413919    mov es, [bp-00ah]                         ; 8e 46 f6
     
    1392313928    mov ax, si                                ; 89 f0
    1392413929    mov dx, word [bp-008h]                    ; 8b 56 f8
    13925     call 0893eh                               ; e8 73 f7
     13930    call 08949h                               ; e8 73 f7
    1392613931    les bx, [bp-00eh]                         ; c4 5e f2
    1392713932    mov dx, word [es:bx+004h]                 ; 26 8b 57 04
     
    1395013955    mov ax, word [es:bx+006h]                 ; 26 8b 47 06
    1395113956    or ax, word [es:bx+004h]                  ; 26 0b 47 04
    13952     jne short 0921fh                          ; 75 05
     13957    jne short 0922ah                          ; 75 05
    1395313958    mov ax, strict word 00004h                ; b8 04 00
    13954     jmp short 09221h                          ; eb 02
     13959    jmp short 0922ch                          ; eb 02
    1395513960    xor ax, ax                                ; 31 c0
    1395613961    lea sp, [bp-004h]                         ; 8d 66 fc
     
    1395913964    pop bp                                    ; 5d
    1396013965    retn 0000ch                               ; c2 0c 00
    13961 ahci_port_detect_device_:                    ; 0xf922a LB 0x4e3
     13966ahci_port_detect_device_:                    ; 0xf9235 LB 0x4e3
    1396213967    push bp                                   ; 55
    1396313968    mov bp, sp                                ; 89 e5
     
    1397213977    xor ch, ch                                ; 30 ed
    1397313978    mov bx, cx                                ; 89 cb
    13974     call 08d25h                               ; e8 e0 fa
     13979    call 08d30h                               ; e8 e0 fa
    1397513980    mov dx, strict word 0000eh                ; ba 0e 00
    1397613981    mov ax, strict word 00040h                ; b8 40 00
    13977     call 0166ch                               ; e8 1e 84
     13982    call 0166ch                               ; e8 13 84
    1397813983    mov word [bp-00eh], 00122h                ; c7 46 f2 22 01
    1397913984    mov word [bp-016h], ax                    ; 89 46 ea
     
    1404514050    mov bx, strict word 0000fh                ; bb 0f 00
    1404614051    xor cx, cx                                ; 31 c9
    14047     call 087aeh                               ; e8 b5 f4
     14052    call 087b9h                               ; e8 b5 f4
    1404814053    test ax, ax                               ; 85 c0
    14049     jne short 09300h                          ; 75 03
    14050     jmp near 09705h                           ; e9 05 04
     14054    jne short 0930bh                          ; 75 03
     14055    jmp near 09710h                           ; e9 05 04
    1405114056    mov al, byte [bp-00ch]                    ; 8a 46 f4
    1405214057    xor ah, ah                                ; 30 e4
     
    1407714082    mov bx, strict word 0000fh                ; bb 0f 00
    1407814083    xor cx, cx                                ; 31 c9
    14079     call 087aeh                               ; e8 67 f4
     14084    call 087b9h                               ; e8 67 f4
    1408014085    cmp ax, strict word 00001h                ; 3d 01 00
    14081     je short 09300h                           ; 74 b4
     14086    je short 0930bh                           ; 74 b4
    1408214087    push strict byte 00000h                   ; 6a 00
    1408314088    mov bx, strict word 0000fh                ; bb 0f 00
     
    1408514090    mov ax, word [bp-01ah]                    ; 8b 46 e6
    1408614091    mov dx, di                                ; 89 fa
    14087     call 087aeh                               ; e8 53 f4
     14092    call 087b9h                               ; e8 53 f4
    1408814093    cmp ax, strict word 00003h                ; 3d 03 00
    14089     jne short 092fdh                          ; 75 9d
     14094    jne short 09308h                          ; 75 9d
    1409014095    mov ax, word [bp-01ch]                    ; 8b 46 e4
    1409114096    add ax, 00130h                            ; 05 30 01
     
    1411514120    mov byte [bp-008h], al                    ; 88 46 f8
    1411614121    cmp AL, strict byte 004h                  ; 3c 04
    14117     jc short 093aah                           ; 72 03
    14118     jmp near 09705h                           ; e9 5b 03
     14122    jc short 093b5h                           ; 72 03
     14123    jmp near 09710h                           ; e9 5b 03
    1411914124    mov ax, word [bp-01ch]                    ; 8b 46 e4
    1412014125    add ax, 00118h                            ; 05 18 01
     
    1416614171    add cl, 00ch                              ; 80 c1 0c
    1416714172    test dx, dx                               ; 85 d2
    14168     jne short 09470h                          ; 75 54
     14173    jne short 0947bh                          ; 75 54
    1416914174    cmp ax, 00101h                            ; 3d 01 01
    14170     jne short 09470h                          ; 75 4f
     14175    jne short 0947bh                          ; 75 4f
    1417114176    mov es, [bp-016h]                         ; 8e 46 ea
    1417214177    mov bx, word [bp-00eh]                    ; 8b 5e f2
     
    1418314188    mov ax, word [bp-00eh]                    ; 8b 46 f2
    1418414189    mov dx, es                                ; 8c c2
    14185     call 0893eh                               ; e8 dd f4
     14190    call 08949h                               ; e8 dd f4
    1418614191    mov byte [bp-00ah], cl                    ; 88 4e f6
    1418714192    test byte [bp-0022ah], 080h               ; f6 86 d6 fd 80
    14188     je short 09473h                           ; 74 08
     14193    je short 0947eh                           ; 74 08
    1418914194    mov ax, strict word 00001h                ; b8 01 00
    14190     jmp short 09475h                          ; eb 05
    14191     jmp near 09643h                           ; e9 d0 01
     14195    jmp short 09480h                          ; eb 05
     14196    jmp near 0964eh                           ; e9 d0 01
    1419214197    xor ax, ax                                ; 31 c0
    1419314198    mov dl, al                                ; 88 c2
     
    1420514210    mov word [bp-01eh], ax                    ; 89 46 e2
    1420614211    cmp word [bp-014h], 00fffh                ; 81 7e ec ff 0f
    14207     jne short 094c4h                          ; 75 1e
     14212    jne short 094cfh                          ; 75 1e
    1420814213    cmp di, strict byte 0ffffh                ; 83 ff ff
    14209     jne short 094c4h                          ; 75 19
     14214    jne short 094cfh                          ; 75 19
    1421014215    mov ax, word [bp-0015ch]                  ; 8b 86 a4 fe
    1421114216    mov word [bp-01eh], ax                    ; 89 46 e2
     
    1424614251    mov al, byte [bp-008h]                    ; 8a 46 f8
    1424714252    cmp AL, strict byte 001h                  ; 3c 01
    14248     jc short 0953fh                           ; 72 0c
    14249     jbe short 09547h                          ; 76 12
     14253    jc short 0954ah                           ; 72 0c
     14254    jbe short 09552h                          ; 76 12
    1425014255    cmp AL, strict byte 003h                  ; 3c 03
    14251     je short 0954fh                           ; 74 16
     14256    je short 0955ah                           ; 74 16
    1425214257    cmp AL, strict byte 002h                  ; 3c 02
    14253     je short 0954bh                           ; 74 0e
    14254     jmp short 09597h                          ; eb 58
     14258    je short 09556h                           ; 74 0e
     14259    jmp short 095a2h                          ; eb 58
    1425514260    test al, al                               ; 84 c0
    14256     jne short 09597h                          ; 75 54
     14261    jne short 095a2h                          ; 75 54
    1425714262    mov DL, strict byte 040h                  ; b2 40
    14258     jmp short 09551h                          ; eb 0a
     14263    jmp short 0955ch                          ; eb 0a
    1425914264    mov DL, strict byte 048h                  ; b2 48
    14260     jmp short 09551h                          ; eb 06
     14265    jmp short 0955ch                          ; eb 06
    1426114266    mov DL, strict byte 050h                  ; b2 50
    14262     jmp short 09551h                          ; eb 02
     14267    jmp short 0955ch                          ; eb 02
    1426314268    mov DL, strict byte 058h                  ; b2 58
    1426414269    mov bl, dl                                ; 88 d3
     
    1426614271    xor bh, bh                                ; 30 ff
    1426714272    mov ax, bx                                ; 89 d8
    14268     call 016ach                               ; e8 4f 81
     14273    call 016ach                               ; e8 44 81
    1426914274    test al, al                               ; 84 c0
    14270     je short 09597h                           ; 74 36
     14275    je short 095a2h                           ; 74 36
    1427114276    mov al, dl                                ; 88 d0
    1427214277    db  0feh, 0c0h
    1427314278    ; inc al                                    ; fe c0
    1427414279    xor ah, ah                                ; 30 e4
    14275     call 016ach                               ; e8 42 81
     14280    call 016ach                               ; e8 37 81
    1427614281    xor ah, ah                                ; 30 e4
    1427714282    mov cx, ax                                ; 89 c1
    1427814283    sal cx, 008h                              ; c1 e1 08
    1427914284    mov al, dl                                ; 88 d0
    14280     call 016ach                               ; e8 36 81
     14285    call 016ach                               ; e8 2b 81
    1428114286    xor ah, ah                                ; 30 e4
    1428214287    add ax, cx                                ; 01 c8
     
    1428514290    add AL, strict byte 002h                  ; 04 02
    1428614291    xor ah, ah                                ; 30 e4
    14287     call 016ach                               ; e8 26 81
     14292    call 016ach                               ; e8 1b 81
    1428814293    xor ah, ah                                ; 30 e4
    1428914294    mov word [bp-02ah], ax                    ; 89 46 d6
    1429014295    mov ax, bx                                ; 89 d8
    14291     call 016ach                               ; e8 1c 81
     14296    call 016ach                               ; e8 11 81
    1429214297    xor ah, ah                                ; 30 e4
    1429314298    mov word [bp-026h], ax                    ; 89 46 da
    14294     jmp short 095a9h                          ; eb 12
     14299    jmp short 095b4h                          ; eb 12
    1429514300    push word [bp-01eh]                       ; ff 76 e2
    1429614301    push word [bp-012h]                       ; ff 76 ee
     
    1429914304    mov dx, ss                                ; 8c d2
    1430014305    lea ax, [bp-02ah]                         ; 8d 46 d6
    14301     call 059cbh                               ; e8 22 c4
     14306    call 059cbh                               ; e8 17 c4
    1430214307    mov bx, 00da0h                            ; bb a0 0d
    1430314308    mov cx, ds                                ; 8c d9
    1430414309    mov ax, strict word 00004h                ; b8 04 00
    14305     call 01923h                               ; e8 6f 83
     14310    call 01923h                               ; e8 64 83
    1430614311    push word [bp-01eh]                       ; ff 76 e2
    1430714312    push word [bp-012h]                       ; ff 76 ee
     
    1432414329    push 00cd6h                               ; 68 d6 0c
    1432514330    push strict byte 00004h                   ; 6a 04
    14326     call 01966h                               ; e8 81 83
     14331    call 01966h                               ; e8 76 83
    1432714332    add sp, strict byte 0001ch                ; 83 c4 1c
    1432814333    mov al, byte [bp-00ah]                    ; 8a 46 f6
     
    1435514360    mov dx, strict word 00075h                ; ba 75 00
    1435614361    mov ax, strict word 00040h                ; b8 40 00
    14357     call 01650h                               ; e8 1f 80
     14362    call 01650h                               ; e8 14 80
    1435814363    mov bl, al                                ; 88 c3
    1435914364    db  0feh, 0c3h
     
    1436214367    mov dx, strict word 00075h                ; ba 75 00
    1436314368    mov ax, strict word 00040h                ; b8 40 00
    14364     call 0165eh                               ; e8 1e 80
    14365     jmp near 096f4h                           ; e9 b1 00
     14369    call 0165eh                               ; e8 13 80
     14370    jmp near 096ffh                           ; e9 b1 00
    1436614371    cmp dx, 0eb14h                            ; 81 fa 14 eb
    14367     jne short 0969dh                          ; 75 54
     14372    jne short 096a8h                          ; 75 54
    1436814373    cmp ax, 00101h                            ; 3d 01 01
    14369     jne short 0969dh                          ; 75 4f
     14374    jne short 096a8h                          ; 75 4f
    1437014375    mov es, [bp-016h]                         ; 8e 46 ea
    1437114376    mov bx, word [bp-00eh]                    ; 8b 5e f2
     
    1438214387    mov ax, word [bp-00eh]                    ; 8b 46 f2
    1438314388    mov dx, es                                ; 8c c2
    14384     call 0893eh                               ; e8 b0 f2
     14389    call 08949h                               ; e8 b0 f2
    1438514390    mov byte [bp-00ah], cl                    ; 88 4e f6
    1438614391    test byte [bp-0022ah], 080h               ; f6 86 d6 fd 80
    14387     je short 0969fh                           ; 74 07
     14392    je short 096aah                           ; 74 07
    1438814393    mov dx, strict word 00001h                ; ba 01 00
    14389     jmp short 096a1h                          ; eb 04
    14390     jmp short 096f4h                          ; eb 55
     14394    jmp short 096ach                          ; eb 04
     14395    jmp short 096ffh                          ; eb 55
    1439114396    xor dx, dx                                ; 31 d2
    1439214397    mov bl, byte [bp-008h]                    ; 8a 5e f8
     
    1442714432    pop bp                                    ; 5d
    1442814433    retn                                      ; c3
    14429 ahci_mem_alloc_:                             ; 0xf970d LB 0x43
     14434ahci_mem_alloc_:                             ; 0xf9718 LB 0x43
    1443014435    push bp                                   ; 55
    1443114436    mov bp, sp                                ; 89 e5
     
    1443714442    mov dx, 00413h                            ; ba 13 04
    1443814443    xor ax, ax                                ; 31 c0
    14439     call 0166ch                               ; e8 4f 7f
     14444    call 0166ch                               ; e8 44 7f
    1444014445    test ax, ax                               ; 85 c0
    14441     je short 09746h                           ; 74 25
     14446    je short 09751h                           ; 74 25
    1444214447    dec ax                                    ; 48
    1444314448    mov bx, ax                                ; 89 c3
     
    1444614451    sal ax, 1                                 ; d1 e0
    1444714452    rcl dx, 1                                 ; d1 d2
    14448     loop 09729h                               ; e2 fa
     14453    loop 09734h                               ; e2 fa
    1444914454    mov si, ax                                ; 89 c6
    1445014455    mov di, dx                                ; 89 d7
     
    1445214457    shr di, 1                                 ; d1 ef
    1445314458    rcr si, 1                                 ; d1 de
    14454     loop 09736h                               ; e2 fa
     14459    loop 09741h                               ; e2 fa
    1445514460    mov dx, 00413h                            ; ba 13 04
    1445614461    xor ax, ax                                ; 31 c0
    14457     call 0167ah                               ; e8 36 7f
     14462    call 0167ah                               ; e8 2b 7f
    1445814463    mov ax, si                                ; 89 f0
    1445914464    lea sp, [bp-00ah]                         ; 8d 66 f6
     
    1446514470    pop bp                                    ; 5d
    1446614471    retn                                      ; c3
    14467 ahci_hba_init_:                              ; 0xf9750 LB 0x16d
     14472ahci_hba_init_:                              ; 0xf975b LB 0x16d
    1446814473    push bp                                   ; 55
    1446914474    mov bp, sp                                ; 89 e5
     
    1447714482    mov dx, strict word 0000eh                ; ba 0e 00
    1447814483    mov ax, strict word 00040h                ; b8 40 00
    14479     call 0166ch                               ; e8 06 7f
     14484    call 0166ch                               ; e8 fb 7e
    1448014485    mov bx, 00122h                            ; bb 22 01
    1448114486    mov di, ax                                ; 89 c7
     
    1449414499    shr eax, 010h                             ; 66 c1 e8 10
    1449514500    xchg dx, ax                               ; 92
    14496     call 0970dh                               ; e8 83 ff
     14501    call 09718h                               ; e8 83 ff
    1449714502    mov word [bp-010h], ax                    ; 89 46 f0
    1449814503    test ax, ax                               ; 85 c0
    14499     jne short 09794h                          ; 75 03
    14500     jmp near 0989ch                           ; e9 08 01
     14504    jne short 0979fh                          ; 75 03
     14505    jmp near 098a7h                           ; e9 08 01
    1450114506    mov ax, word [bp-010h]                    ; 8b 46 f0
    1450214507    mov es, di                                ; 8e c7
     
    1454814553    xchg dx, ax                               ; 92
    1454914554    test AL, strict byte 001h                 ; a8 01
    14550     jne short 097eeh                          ; 75 de
     14555    jne short 097f9h                          ; 75 de
    1455114556    xor ax, ax                                ; 31 c0
    1455214557    xor cx, cx                                ; 31 c9
     
    1456614571    mov bx, strict word 0001fh                ; bb 1f 00
    1456714572    xor cx, cx                                ; 31 c9
    14568     call 087aeh                               ; e8 7a ef
     14573    call 087b9h                               ; e8 7a ef
    1456914574    db  0feh, 0c0h
    1457014575    ; inc al                                    ; fe c0
    1457114576    mov byte [bp-00ch], al                    ; 88 46 f4
    1457214577    mov byte [bp-00eh], 000h                  ; c6 46 f2 00
    14573     jmp short 09860h                          ; eb 21
     14578    jmp short 0986bh                          ; eb 21
    1457414579    xor al, al                                ; 30 c0
    1457514580    test al, al                               ; 84 c0
    14576     je short 09857h                           ; 74 12
     14581    je short 09862h                           ; 74 12
    1457714582    mov bl, byte [bp-00eh]                    ; 8a 5e f2
    1457814583    xor bh, bh                                ; 30 ff
    1457914584    xor ax, ax                                ; 31 c0
    1458014585    mov dx, word [bp-010h]                    ; 8b 56 f0
    14581     call 0922ah                               ; e8 d8 f9
     14586    call 09235h                               ; e8 d8 f9
    1458214587    dec byte [bp-00ch]                        ; fe 4e f4
    14583     je short 0989ah                           ; 74 43
     14588    je short 098a5h                           ; 74 43
    1458414589    inc byte [bp-00eh]                        ; fe 46 f2
    1458514590    cmp byte [bp-00eh], 020h                  ; 80 7e f2 20
    14586     jnc short 0989ah                          ; 73 3a
     14591    jnc short 098a5h                          ; 73 3a
    1458714592    mov cl, byte [bp-00eh]                    ; 8a 4e f2
    1458814593    xor ch, ch                                ; 30 ed
    1458914594    mov bx, strict word 00001h                ; bb 01 00
    1459014595    xor di, di                                ; 31 ff
    14591     jcxz 09872h                               ; e3 06
     14596    jcxz 0987dh                               ; e3 06
    1459214597    sal bx, 1                                 ; d1 e3
    1459314598    rcl di, 1                                 ; d1 d7
    14594     loop 0986ch                               ; e2 fa
     14599    loop 09877h                               ; e2 fa
    1459514600    mov ax, strict word 0000ch                ; b8 0c 00
    1459614601    xor cx, cx                                ; 31 c9
     
    1460814613    xchg dx, ax                               ; 92
    1460914614    test dx, di                               ; 85 fa
    14610     jne short 09896h                          ; 75 04
     14615    jne short 098a1h                          ; 75 04
    1461114616    test ax, bx                               ; 85 d8
    14612     je short 0983fh                           ; 74 a9
     14617    je short 0984ah                           ; 74 a9
    1461314618    mov AL, strict byte 001h                  ; b0 01
    14614     jmp short 09841h                          ; eb a7
     14619    jmp short 0984ch                          ; eb a7
    1461514620    xor ax, ax                                ; 31 c0
    1461614621    lea sp, [bp-00ah]                         ; 8d 66 f6
     
    1462214627    pop bp                                    ; 5d
    1462314628    retn                                      ; c3
    14624     db  00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0a5h, 099h, 083h, 099h, 089h, 099h, 08fh, 099h, 095h
    14625     db  099h, 09bh, 099h, 0a1h, 099h, 0a5h, 099h
    14626 _ahci_init:                                  ; 0xf98bd LB 0x119
     14629    db  00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0b0h, 099h, 08eh, 099h, 094h, 099h, 09ah, 099h, 0a0h
     14630    db  099h, 0a6h, 099h, 0ach, 099h, 0b0h, 099h
     14631_ahci_init:                                  ; 0xf98c8 LB 0x119
    1462714632    push bp                                   ; 55
    1462814633    mov bp, sp                                ; 89 e5
     
    1463114636    mov ax, 00601h                            ; b8 01 06
    1463214637    mov dx, strict word 00001h                ; ba 01 00
    14633     call 09df1h                               ; e8 24 05
     14638    call 09dfch                               ; e8 24 05
    1463414639    mov dx, ax                                ; 89 c2
    1463514640    cmp ax, strict word 0ffffh                ; 3d ff ff
    14636     je short 09920h                           ; 74 4c
     14641    je short 0992bh                           ; 74 4c
    1463714642    xor al, al                                ; 30 c0
    1463814643    shr ax, 008h                              ; c1 e8 08
     
    1464214647    xor ah, ah                                ; 30 e4
    1464314648    mov bx, strict word 00034h                ; bb 34 00
    14644     call 09df9h                               ; e8 10 05
     14649    call 09e04h                               ; e8 10 05
    1464514650    mov cl, al                                ; 88 c1
    1464614651    test cl, cl                               ; 84 c9
    14647     je short 09923h                           ; 74 34
     14652    je short 0992eh                           ; 74 34
    1464814653    mov bl, cl                                ; 88 cb
    1464914654    xor bh, bh                                ; 30 ff
     
    1465614661    mov dx, word [bp-010h]                    ; 8b 56 f0
    1465714662    mov ax, word [bp-00ch]                    ; 8b 46 f4
    14658     call 09df9h                               ; e8 eb 04
     14663    call 09e04h                               ; e8 eb 04
    1465914664    cmp AL, strict byte 012h                  ; 3c 12
    14660     je short 09923h                           ; 74 11
     14665    je short 0992eh                           ; 74 11
    1466114666    mov bl, cl                                ; 88 cb
    1466214667    db  0feh, 0c3h
     
    1466514670    mov dx, word [bp-010h]                    ; 8b 56 f0
    1466614671    mov ax, word [bp-00ch]                    ; 8b 46 f4
    14667     jmp short 098e6h                          ; eb c6
    14668     jmp near 099d0h                           ; e9 ad 00
     14672    jmp short 098f1h                          ; eb c6
     14673    jmp near 099dbh                           ; e9 ad 00
    1466914674    test cl, cl                               ; 84 c9
    14670     je short 09920h                           ; 74 f9
     14675    je short 0992bh                           ; 74 f9
    1467114676    add cl, 002h                              ; 80 c1 02
    1467214677    mov bl, cl                                ; 88 cb
     
    1468014685    mov dx, word [bp-00eh]                    ; 8b 56 f2
    1468114686    mov ax, word [bp-00ah]                    ; 8b 46 f6
    14682     call 09df9h                               ; e8 b0 04
     14687    call 09e04h                               ; e8 b0 04
    1468314688    cmp AL, strict byte 010h                  ; 3c 10
    14684     jne short 09920h                          ; 75 d3
     14689    jne short 0992bh                          ; 75 d3
    1468514690    mov byte [bp-004h], 000h                  ; c6 46 fc 00
    1468614691    mov bl, cl                                ; 88 cb
     
    1468914694    mov dx, word [bp-00eh]                    ; 8b 56 f2
    1469014695    mov ax, word [bp-00ah]                    ; 8b 46 f6
    14691     call 09e27h                               ; e8 c6 04
     14696    call 09e32h                               ; e8 c6 04
    1469214697    mov dx, ax                                ; 89 c2
    1469314698    and ax, strict word 0000fh                ; 25 0f 00
    1469414699    sub ax, strict word 00004h                ; 2d 04 00
    1469514700    cmp ax, strict word 0000bh                ; 3d 0b 00
    14696     jnbe short 099a5h                         ; 77 37
     14701    jnbe short 099b0h                         ; 77 37
    1469714702    push CS                                   ; 0e
    1469814703    pop ES                                    ; 07
    1469914704    mov cx, strict word 00008h                ; b9 08 00
    14700     mov di, 098a6h                            ; bf a6 98
     14705    mov di, 098b1h                            ; bf b1 98
    1470114706    repne scasb                               ; f2 ae
    1470214707    sal cx, 1                                 ; d1 e1
    1470314708    mov di, cx                                ; 89 cf
    14704     mov ax, word [cs:di-06753h]               ; 2e 8b 85 ad 98
     14709    mov ax, word [cs:di-06748h]               ; 2e 8b 85 b8 98
    1470514710    jmp ax                                    ; ff e0
    1470614711    mov byte [bp-004h], 010h                  ; c6 46 fc 10
    14707     jmp short 099a5h                          ; eb 1c
     14712    jmp short 099b0h                          ; eb 1c
    1470814713    mov byte [bp-004h], 014h                  ; c6 46 fc 14
    14709     jmp short 099a5h                          ; eb 16
     14714    jmp short 099b0h                          ; eb 16
    1471014715    mov byte [bp-004h], 018h                  ; c6 46 fc 18
    14711     jmp short 099a5h                          ; eb 10
     14716    jmp short 099b0h                          ; eb 10
    1471214717    mov byte [bp-004h], 01ch                  ; c6 46 fc 1c
    14713     jmp short 099a5h                          ; eb 0a
     14718    jmp short 099b0h                          ; eb 0a
    1471414719    mov byte [bp-004h], 020h                  ; c6 46 fc 20
    14715     jmp short 099a5h                          ; eb 04
     14720    jmp short 099b0h                          ; eb 04
    1471614721    mov byte [bp-004h], 024h                  ; c6 46 fc 24
    1471714722    mov cx, dx                                ; 89 d1
     
    1472014725    mov al, byte [bp-004h]                    ; 8a 46 fc
    1472114726    test al, al                               ; 84 c0
    14722     je short 099d0h                           ; 74 1c
     14727    je short 099dbh                           ; 74 1c
    1472314728    mov bl, al                                ; 88 c3
    1472414729    xor bh, bh                                ; 30 ff
     
    1472714732    mov al, byte [bp-008h]                    ; 8a 46 f8
    1472814733    xor ah, ah                                ; 30 e4
    14729     call 09e51h                               ; e8 8c 04
     14734    call 09e5ch                               ; e8 8c 04
    1473014735    test AL, strict byte 001h                 ; a8 01
    14731     je short 099d0h                           ; 74 07
     14736    je short 099dbh                           ; 74 07
    1473214737    and AL, strict byte 0f0h                  ; 24 f0
    1473314738    add ax, cx                                ; 01 c8
    14734     call 09750h                               ; e8 80 fd
     14739    call 0975bh                               ; e8 80 fd
    1473514740    lea sp, [bp-002h]                         ; 8d 66 fe
    1473614741    pop di                                    ; 5f
    1473714742    pop bp                                    ; 5d
    1473814743    retn                                      ; c3
    14739 apm_out_str_:                                ; 0xf99d6 LB 0x39
     14744apm_out_str_:                                ; 0xf99e1 LB 0x39
    1474014745    push bp                                   ; 55
    1474114746    mov bp, sp                                ; 89 e5
     
    1474314748    mov bx, ax                                ; 89 c3
    1474414749    cmp byte [bx], 000h                       ; 80 3f 00
    14745     je short 099ebh                           ; 74 0a
     14750    je short 099f6h                           ; 74 0a
    1474614751    mov al, byte [bx]                         ; 8a 07
    1474714752    out DX, AL                                ; ee
     
    1475014755    db  00ah, 0c0h
    1475114756    ; or al, al                                 ; 0a c0
    14752     jne short 099e3h                          ; 75 f8
     14757    jne short 099eeh                          ; 75 f8
    1475314758    lea sp, [bp-002h]                         ; 8d 66 fe
    1475414759    pop bx                                    ; 5b
    1475514760    pop bp                                    ; 5d
    1475614761    retn                                      ; c3
    14757     xor byte [bp+si-06548h], bl               ; 30 9a b8 9a
    14758     inc dx                                    ; 42
    14759     call far 09ab8h:09a5dh                    ; 9a 5d 9a b8 9a
    14760     mov byte [bp+si-06548h], bl               ; 88 9a b8 9a
    14761     mov si, 08d9ah                            ; be 9a 8d
    14762     call far 09a8dh:09a8dh                    ; 9a 8d 9a 8d 9a
    14763     std                                       ; fd
    14764     call far 09a8dh:09a8dh                    ; 9a 8d 9a 8d 9a
    14765     db  0f6h
     14762    cmp bx, word [bp+si-0653dh]               ; 3b 9a c3 9a
     14763    dec bp                                    ; 4d
     14764    call far 09ac3h:09a68h                    ; 9a 68 9a c3 9a
     14765    xchg bx, ax                               ; 93
     14766    call far 09ac9h:09ac3h                    ; 9a c3 9a c9 9a
     14767    cbw                                       ; 98
     14768    call far 09a98h:09a98h                    ; 9a 98 9a 98 9a
     14769    or byte [bp+di-06568h], bl                ; 08 9b 98 9a
     14770    cbw                                       ; 98
    1476614771    db  09ah
    14767 _apm_function:                               ; 0xf9a0f LB 0xf3
     14772    db  001h
     14773    wait                                      ; 9b
     14774_apm_function:                               ; 0xf9a1a LB 0xf3
    1476814775    push bp                                   ; 55
    1476914776    mov bp, sp                                ; 89 e5
     
    1477314780    xor ah, ah                                ; 30 e4
    1477414781    cmp ax, strict word 0000eh                ; 3d 0e 00
    14775     jnbe short 09a8dh                         ; 77 6c
     14782    jnbe short 09a98h                         ; 77 6c
    1477614783    mov bx, ax                                ; 89 c3
    1477714784    add bx, ax                                ; 01 c3
    1477814785    mov dx, word [bp+018h]                    ; 8b 56 18
    1477914786    or dl, 001h                               ; 80 ca 01
    14780     jmp word [cs:bx-0660fh]                   ; 2e ff a7 f1 99
     14787    jmp word [cs:bx-06604h]                   ; 2e ff a7 fc 99
    1478114788    mov word [bp+012h], 00102h                ; c7 46 12 02 01
    1478214789    mov word [bp+00ch], 0504dh                ; c7 46 0c 4d 50
    1478314790    mov word [bp+010h], strict word 00003h    ; c7 46 10 03 00
    14784     jmp near 09ab8h                           ; e9 76 00
     14791    jmp near 09ac3h                           ; e9 76 00
    1478514792    mov word [bp+012h], 0f000h                ; c7 46 12 00 f0
    14786     mov word [bp+00ch], 0a074h                ; c7 46 0c 74 a0
     14793    mov word [bp+00ch], 0a084h                ; c7 46 0c 84 a0
    1478714794    mov word [bp+010h], 0f000h                ; c7 46 10 00 f0
    1478814795    mov ax, strict word 0fff0h                ; b8 f0 ff
    1478914796    mov word [bp+006h], ax                    ; 89 46 06
    1479014797    mov word [bp+004h], ax                    ; 89 46 04
    14791     jmp near 09ab8h                           ; e9 5b 00
     14798    jmp near 09ac3h                           ; e9 5b 00
    1479214799    mov word [bp+012h], 0f000h                ; c7 46 12 00 f0
    1479314800    mov word [bp+00ch], 0da40h                ; c7 46 0c 40 da
     
    1480214809    mov si, ax                                ; 89 c6
    1480314810    sal esi, 010h                             ; 66 c1 e6 10
    14804     jmp near 09ab8h                           ; e9 30 00
     14811    jmp near 09ac3h                           ; e9 30 00
    1480514812    sti                                       ; fb
    1480614813    hlt                                       ; f4
    14807     jmp near 09ab8h                           ; e9 2b 00
     14814    jmp near 09ac3h                           ; e9 2b 00
    1480814815    mov bx, 00da0h                            ; bb a0 0d
    1480914816    mov cx, ds                                ; 8c d9
    1481014817    mov ax, strict word 00004h                ; b8 04 00
    14811     call 01923h                               ; e8 8b 7e
     14818    call 01923h                               ; e8 80 7e
    1481214819    push word [bp+00ch]                       ; ff 76 0c
    1481314820    push word [bp+012h]                       ; ff 76 12
    1481414821    push 00d29h                               ; 68 29 0d
    1481514822    push strict byte 00004h                   ; 6a 04
    14816     call 01966h                               ; e8 c0 7e
     14823    call 01966h                               ; e8 b5 7e
    1481714824    add sp, strict byte 00008h                ; 83 c4 08
    1481814825    mov ax, word [bp+012h]                    ; 8b 46 12
     
    1482614833    retn                                      ; c3
    1482714834    cmp word [bp+010h], strict byte 00003h    ; 83 7e 10 03
    14828     je short 09ae3h                           ; 74 1f
     14835    je short 09aeeh                           ; 74 1f
    1482914836    cmp word [bp+010h], strict byte 00002h    ; 83 7e 10 02
    14830     je short 09adbh                           ; 74 11
     14837    je short 09ae6h                           ; 74 11
    1483114838    cmp word [bp+010h], strict byte 00001h    ; 83 7e 10 01
    14832     jne short 09aebh                          ; 75 1b
    14833     mov dx, 08900h                            ; ba 00 89
     14839    jne short 09af6h                          ; 75 1b
     14840    mov dx, 0040fh                            ; ba 0f 04
    1483414841    mov ax, 00d10h                            ; b8 10 0d
    14835     call 099d6h                               ; e8 fd fe
    14836     jmp short 09ab8h                          ; eb dd
    14837     mov dx, 08900h                            ; ba 00 89
     14842    call 099e1h                               ; e8 fd fe
     14843    jmp short 09ac3h                          ; eb dd
     14844    mov dx, 0040fh                            ; ba 0f 04
    1483814845    mov ax, 00d18h                            ; b8 18 0d
    14839     jmp short 09ad6h                          ; eb f3
    14840     mov dx, 08900h                            ; ba 00 89
     14846    jmp short 09ae1h                          ; eb f3
     14847    mov dx, 0040fh                            ; ba 0f 04
    1484114848    mov ax, 00d20h                            ; b8 20 0d
    14842     jmp short 09ad6h                          ; eb eb
     14849    jmp short 09ae1h                          ; eb eb
    1484314850    or ah, 00ah                               ; 80 cc 0a
    1484414851    mov word [bp+012h], ax                    ; 89 46 12
    1484514852    mov word [bp+018h], dx                    ; 89 56 18
    14846     jmp short 09ab8h                          ; eb c2
     14853    jmp short 09ac3h                          ; eb c2
    1484714854    mov word [bp+012h], 00102h                ; c7 46 12 02 01
    14848     jmp short 09ab8h                          ; eb bb
     14855    jmp short 09ac3h                          ; eb bb
    1484914856    or ah, 080h                               ; 80 cc 80
    14850     jmp short 09aeeh                          ; eb ec
    14851 pci16_select_reg_:                           ; 0xf9b02 LB 0x24
     14857    jmp short 09af9h                          ; eb ec
     14858pci16_select_reg_:                           ; 0xf9b0d LB 0x24
    1485214859    push bp                                   ; 55
    1485314860    mov bp, sp                                ; 89 e5
     
    1486614873    pop bp                                    ; 5d
    1486714874    retn                                      ; c3
    14868 pci16_find_device_:                          ; 0xf9b26 LB 0xf9
     14875pci16_find_device_:                          ; 0xf9b31 LB 0xf9
    1486914876    push bp                                   ; 55
    1487014877    mov bp, sp                                ; 89 e5
     
    1488014887    mov byte [bp-008h], 000h                  ; c6 46 f8 00
    1488114888    test bl, 007h                             ; f6 c3 07
    14882     jne short 09b6eh                          ; 75 2d
     14889    jne short 09b79h                          ; 75 2d
    1488314890    mov dx, strict word 0000eh                ; ba 0e 00
    1488414891    mov ax, bx                                ; 89 d8
    14885     call 09b02h                               ; e8 b9 ff
     14892    call 09b0dh                               ; e8 b9 ff
    1488614893    mov dx, 00cfeh                            ; ba fe 0c
    1488714894    in AL, DX                                 ; ec
     
    1489014897    mov byte [bp-006h], al                    ; 88 46 fa
    1489114898    cmp AL, strict byte 0ffh                  ; 3c ff
    14892     jne short 09b5ch                          ; 75 06
     14899    jne short 09b67h                          ; 75 06
    1489314900    add bx, strict byte 00008h                ; 83 c3 08
    14894     jmp near 09befh                           ; e9 93 00
     14901    jmp near 09bfah                           ; e9 93 00
    1489514902    test byte [bp-006h], 080h                 ; f6 46 fa 80
    14896     je short 09b69h                           ; 74 07
     14903    je short 09b74h                           ; 74 07
    1489714904    mov word [bp-010h], strict word 00001h    ; c7 46 f0 01 00
    14898     jmp short 09b6eh                          ; eb 05
     14905    jmp short 09b79h                          ; eb 05
    1489914906    mov word [bp-010h], strict word 00008h    ; c7 46 f0 08 00
    1490014907    mov al, byte [bp-006h]                    ; 8a 46 fa
    1490114908    and AL, strict byte 007h                  ; 24 07
    1490214909    cmp AL, strict byte 001h                  ; 3c 01
    14903     jne short 09b96h                          ; 75 1f
     14910    jne short 09ba1h                          ; 75 1f
    1490414911    mov ax, bx                                ; 89 d8
    1490514912    shr ax, 008h                              ; c1 e8 08
    1490614913    test ax, ax                               ; 85 c0
    14907     jne short 09b96h                          ; 75 16
     14914    jne short 09ba1h                          ; 75 16
    1490814915    mov dx, strict word 0001ah                ; ba 1a 00
    1490914916    mov ax, bx                                ; 89 d8
    14910     call 09b02h                               ; e8 7a ff
     14917    call 09b0dh                               ; e8 7a ff
    1491114918    mov dx, 00cfeh                            ; ba fe 0c
    1491214919    in AL, DX                                 ; ec
     
    1491414921    ; sub ah, ah                                ; 2a e4
    1491514922    cmp al, byte [bp-008h]                    ; 3a 46 f8
    14916     jbe short 09b96h                          ; 76 03
     14923    jbe short 09ba1h                          ; 76 03
    1491714924    mov byte [bp-008h], al                    ; 88 46 f8
    1491814925    test di, di                               ; 85 ff
    14919     je short 09b9fh                           ; 74 05
     14926    je short 09baah                           ; 74 05
    1492014927    mov dx, strict word 00008h                ; ba 08 00
    14921     jmp short 09ba1h                          ; eb 02
     14928    jmp short 09bach                          ; eb 02
    1492214929    xor dx, dx                                ; 31 d2
    1492314930    mov ax, bx                                ; 89 d8
    14924     call 09b02h                               ; e8 5c ff
     14931    call 09b0dh                               ; e8 5c ff
    1492514932    mov dx, 00cfch                            ; ba fc 0c
    1492614933    in eax, DX                                ; 66 ed
     
    1493314940    mov word [bp-00eh], strict word 00000h    ; c7 46 f2 00 00
    1493414941    test di, di                               ; 85 ff
    14935     je short 09bd0h                           ; 74 0f
     14942    je short 09bdbh                           ; 74 0f
    1493614943    mov cx, strict word 00008h                ; b9 08 00
    1493714944    shr dx, 1                                 ; d1 ea
    1493814945    rcr ax, 1                                 ; d1 d8
    14939     loop 09bc4h                               ; e2 fa
     14946    loop 09bcfh                               ; e2 fa
    1494014947    mov word [bp-00ah], ax                    ; 89 46 f6
    1494114948    mov word [bp-00ch], dx                    ; 89 56 f4
    1494214949    mov ax, word [bp-00ch]                    ; 8b 46 f4
    1494314950    cmp ax, word [bp-014h]                    ; 3b 46 ec
    14944     jne short 09be0h                          ; 75 08
     14951    jne short 09bebh                          ; 75 08
    1494514952    mov ax, word [bp-00ah]                    ; 8b 46 f6
    1494614953    cmp ax, word [bp-012h]                    ; 3b 46 ee
    14947     je short 09be6h                           ; 74 06
     14954    je short 09bf1h                           ; 74 06
    1494814955    cmp word [bp-00eh], strict byte 00000h    ; 83 7e f2 00
    14949     je short 09bech                           ; 74 06
     14956    je short 09bf7h                           ; 74 06
    1495014957    dec si                                    ; 4e
    1495114958    cmp si, strict byte 0ffffh                ; 83 fe ff
    14952     je short 09c00h                           ; 74 14
     14959    je short 09c0bh                           ; 74 14
    1495314960    add bx, word [bp-010h]                    ; 03 5e f0
    1495414961    mov dx, bx                                ; 89 da
     
    1495714964    xor ah, ah                                ; 30 e4
    1495814965    cmp dx, ax                                ; 39 c2
    14959     jnbe short 09c00h                         ; 77 03
    14960     jmp near 09b3ch                           ; e9 3c ff
     14966    jnbe short 09c0bh                         ; 77 03
     14967    jmp near 09b47h                           ; e9 3c ff
    1496114968    cmp si, strict byte 0ffffh                ; 83 fe ff
    14962     jne short 09c09h                          ; 75 04
     14969    jne short 09c14h                          ; 75 04
    1496314970    mov ax, bx                                ; 89 d8
    14964     jmp short 09c0ch                          ; eb 03
     14971    jmp short 09c17h                          ; eb 03
    1496514972    mov ax, strict word 0ffffh                ; b8 ff ff
    1496614973    lea sp, [bp-004h]                         ; 8d 66 fc
     
    1496914976    pop bp                                    ; 5d
    1497014977    retn                                      ; c3
    14971     add byte [di-062e7h], bl                  ; 00 9d 19 9d
    14972     sub bx, word [di-062c1h]                  ; 2b 9d 3f 9d
    14973     push cx                                   ; 51
     14978    or bx, word [di-062dch]                   ; 0b 9d 24 9d
     14979    db  036h, 09dh
     14980    ; ss popfw                                  ; 36 9d
     14981    dec dx                                    ; 4a
    1497414982    popfw                                     ; 9d
    14975     db  064h, 09dh
    14976     ; fs popfw                                  ; 64 9d
    14977 _pci16_function:                             ; 0xf9c1f LB 0x1d2
     14983    pop sp                                    ; 5c
     14984    popfw                                     ; 9d
     14985    outsw                                     ; 6f
     14986    popfw                                     ; 9d
     14987_pci16_function:                             ; 0xf9c2a LB 0x1d2
    1497814988    push bp                                   ; 55
    1497914989    mov bp, sp                                ; 89 e5
     
    1498914999    xor ah, ah                                ; 30 e4
    1499015000    cmp bx, strict byte 00003h                ; 83 fb 03
    14991     jc short 09c51h                           ; 72 13
    14992     jbe short 09ca4h                          ; 76 64
     15001    jc short 09c5ch                           ; 72 13
     15002    jbe short 09cafh                          ; 76 64
    1499315003    cmp bx, strict byte 0000eh                ; 83 fb 0e
    14994     je short 09cach                           ; 74 67
     15004    je short 09cb7h                           ; 74 67
    1499515005    cmp bx, strict byte 00008h                ; 83 fb 08
    14996     jc short 09c5bh                           ; 72 11
     15006    jc short 09c66h                           ; 72 11
    1499715007    cmp bx, strict byte 0000dh                ; 83 fb 0d
    14998     jbe short 09cafh                          ; 76 60
    14999     jmp short 09c5bh                          ; eb 0a
     15008    jbe short 09cbah                          ; 76 60
     15009    jmp short 09c66h                          ; eb 0a
    1500015010    cmp bx, strict byte 00002h                ; 83 fb 02
    15001     je short 09c7ah                           ; 74 24
     15011    je short 09c85h                           ; 74 24
    1500215012    cmp bx, strict byte 00001h                ; 83 fb 01
    15003     je short 09c5eh                           ; 74 03
    15004     jmp near 09dbdh                           ; e9 5f 01
     15013    je short 09c69h                           ; 74 03
     15014    jmp near 09dc8h                           ; e9 5f 01
    1500515015    mov word [bp+020h], strict word 00001h    ; c7 46 20 01 00
    1500615016    mov word [bp+014h], 00210h                ; c7 46 14 10 02
     
    1500815018    mov word [bp+018h], 04350h                ; c7 46 18 50 43
    1500915019    mov word [bp+01ah], 02049h                ; c7 46 1a 49 20
    15010     jmp near 09deah                           ; e9 70 01
     15020    jmp near 09df5h                           ; e9 70 01
    1501115021    cmp word [bp+018h], strict byte 0ffffh    ; 83 7e 18 ff
    15012     jne short 09c86h                          ; 75 06
     15022    jne short 09c91h                          ; 75 06
    1501315023    or ah, 083h                               ; 80 cc 83
    15014     jmp near 09de3h                           ; e9 5d 01
     15024    jmp near 09deeh                           ; e9 5d 01
    1501515025    mov bx, word [bp+008h]                    ; 8b 5e 08
    1501615026    mov dx, word [bp+01ch]                    ; 8b 56 1c
    1501715027    mov ax, word [bp+018h]                    ; 8b 46 18
    1501815028    xor cx, cx                                ; 31 c9
    15019     call 09b26h                               ; e8 92 fe
     15029    call 09b31h                               ; e8 92 fe
    1502015030    cmp ax, strict word 0ffffh                ; 3d ff ff
    15021     jne short 09ca6h                          ; 75 0d
     15031    jne short 09cb1h                          ; 75 0d
    1502215032    mov ax, word [bp+020h]                    ; 8b 46 20
    1502315033    xor ah, ah                                ; 30 e4
    1502415034    or ah, 086h                               ; 80 cc 86
    15025     jmp near 09de3h                           ; e9 3f 01
    15026     jmp short 09cb1h                          ; eb 0b
     15035    jmp near 09deeh                           ; e9 3f 01
     15036    jmp short 09cbch                          ; eb 0b
    1502715037    mov word [bp+014h], ax                    ; 89 46 14
    15028     jmp near 09deah                           ; e9 3e 01
    15029     jmp near 09d78h                           ; e9 c9 00
    15030     jmp short 09cd6h                          ; eb 25
     15038    jmp near 09df5h                           ; e9 3e 01
     15039    jmp near 09d83h                           ; e9 c9 00
     15040    jmp short 09ce1h                          ; eb 25
    1503115041    mov bx, word [bp+008h]                    ; 8b 5e 08
    1503215042    mov ax, word [bp+01ch]                    ; 8b 46 1c
    1503315043    mov dx, word [bp+01eh]                    ; 8b 56 1e
    1503415044    mov cx, strict word 00001h                ; b9 01 00
    15035     call 09b26h                               ; e8 66 fe
     15045    call 09b31h                               ; e8 66 fe
    1503615046    cmp ax, strict word 0ffffh                ; 3d ff ff
    15037     jne short 09cd0h                          ; 75 0b
     15047    jne short 09cdbh                          ; 75 0b
    1503815048    mov ax, word [bp+020h]                    ; 8b 46 20
    1503915049    xor ah, ah                                ; 30 e4
    1504015050    or ah, 086h                               ; 80 cc 86
    15041     jmp near 09de3h                           ; e9 13 01
     15051    jmp near 09deeh                           ; e9 13 01
    1504215052    mov word [bp+014h], ax                    ; 89 46 14
    15043     jmp near 09deah                           ; e9 14 01
     15053    jmp near 09df5h                           ; e9 14 01
    1504415054    cmp word [bp+004h], 00100h                ; 81 7e 04 00 01
    15045     jc short 09ce3h                           ; 72 06
     15055    jc short 09ceeh                           ; 72 06
    1504615056    or ah, 087h                               ; 80 cc 87
    15047     jmp near 09de3h                           ; e9 00 01
     15057    jmp near 09deeh                           ; e9 00 01
    1504815058    mov dx, word [bp+004h]                    ; 8b 56 04
    1504915059    mov ax, word [bp+014h]                    ; 8b 46 14
    15050     call 09b02h                               ; e8 16 fe
     15060    call 09b0dh                               ; e8 16 fe
    1505115061    mov bx, word [bp+020h]                    ; 8b 5e 20
    1505215062    xor bh, bh                                ; 30 ff
    1505315063    sub bx, strict byte 00008h                ; 83 eb 08
    1505415064    cmp bx, strict byte 00005h                ; 83 fb 05
    15055     jnbe short 09d61h                         ; 77 68
     15065    jnbe short 09d6ch                         ; 77 68
    1505615066    add bx, bx                                ; 01 db
    15057     jmp word [cs:bx-063edh]                   ; 2e ff a7 13 9c
     15067    jmp word [cs:bx-063e2h]                   ; 2e ff a7 1e 9c
    1505815068    mov bx, word [bp+01ch]                    ; 8b 5e 1c
    1505915069    xor bl, bl                                ; 30 db
     
    1506615076    or bx, ax                                 ; 09 c3
    1506715077    mov word [bp+01ch], bx                    ; 89 5e 1c
    15068     jmp short 09d61h                          ; eb 48
     15078    jmp short 09d6ch                          ; eb 48
    1506915079    mov dx, word [bp+004h]                    ; 8b 56 04
    1507015080    xor dh, dh                                ; 30 f6
     
    1507315083    in ax, DX                                 ; ed
    1507415084    mov word [bp+01ch], ax                    ; 89 46 1c
    15075     jmp short 09d61h                          ; eb 36
     15085    jmp short 09d6ch                          ; eb 36
    1507615086    mov dx, 00cfch                            ; ba fc 0c
    1507715087    in eax, DX                                ; 66 ed
     
    1508215092    mov word [bp+01ch], ax                    ; 89 46 1c
    1508315093    mov word [bp+01eh], dx                    ; 89 56 1e
    15084     jmp short 09d61h                          ; eb 22
     15094    jmp short 09d6ch                          ; eb 22
    1508515095    mov ax, word [bp+01ch]                    ; 8b 46 1c
    1508615096    mov dx, word [bp+004h]                    ; 8b 56 04
     
    1508915099    add dx, 00cfch                            ; 81 c2 fc 0c
    1509015100    out DX, AL                                ; ee
    15091     jmp short 09d61h                          ; eb 10
     15101    jmp short 09d6ch                          ; eb 10
    1509215102    mov ax, word [bp+01ch]                    ; 8b 46 1c
    1509315103    mov dx, word [bp+004h]                    ; 8b 56 04
     
    1509615106    add dx, 00cfch                            ; 81 c2 fc 0c
    1509715107    out DX, ax                                ; ef
    15098     jmp near 09deah                           ; e9 86 00
     15108    jmp near 09df5h                           ; e9 86 00
    1509915109    mov ax, word [bp+01ch]                    ; 8b 46 1c
    1510015110    mov cx, word [bp+01eh]                    ; 8b 4e 1e
     
    1510515115    ; mov ax, cx                                ; 8b c1
    1510615116    out DX, eax                               ; 66 ef
    15107     jmp short 09deah                          ; eb 72
     15117    jmp short 09df5h                          ; eb 72
    1510815118    mov bx, word [bp+004h]                    ; 8b 5e 04
    1510915119    mov es, [bp+026h]                         ; 8e 46 26
     
    1511215122    mov cx, word [0f4a0h]                     ; 8b 0e a0 f4
    1511315123    cmp cx, word [es:bx]                      ; 26 3b 0f
    15114     jbe short 09d9eh                          ; 76 11
     15124    jbe short 09da9h                          ; 76 11
    1511515125    mov ax, word [bp+020h]                    ; 8b 46 20
    1511615126    xor ah, ah                                ; 30 e4
     
    1511815128    mov word [bp+020h], ax                    ; 89 46 20
    1511915129    or word [bp+02ch], strict byte 00001h     ; 83 4e 2c 01
    15120     jmp short 09db2h                          ; eb 14
     15130    jmp short 09dbdh                          ; eb 14
    1512115131    les di, [es:bx+002h]                      ; 26 c4 7f 02
    1512215132    mov si, 0f2c0h                            ; be c0 f2
     
    1513015140    les bx, [bp-008h]                         ; c4 5e f8
    1513115141    mov word [es:bx], ax                      ; 26 89 07
    15132     jmp short 09deah                          ; eb 2d
     15142    jmp short 09df5h                          ; eb 2d
    1513315143    mov bx, 00da0h                            ; bb a0 0d
    1513415144    mov cx, ds                                ; 8c d9
    1513515145    mov ax, strict word 00004h                ; b8 04 00
    15136     call 01923h                               ; e8 5b 7b
     15146    call 01923h                               ; e8 50 7b
    1513715147    mov ax, word [bp+014h]                    ; 8b 46 14
    1513815148    push ax                                   ; 50
     
    1514115151    push 00d5ch                               ; 68 5c 0d
    1514215152    push strict byte 00004h                   ; 6a 04
    15143     call 01966h                               ; e8 8e 7b
     15153    call 01966h                               ; e8 83 7b
    1514415154    add sp, strict byte 00008h                ; 83 c4 08
    1514515155    mov ax, word [bp+020h]                    ; 8b 46 20
     
    1515315163    pop bp                                    ; 5d
    1515415164    retn                                      ; c3
    15155 pci_find_classcode_:                         ; 0xf9df1 LB 0x8
     15165pci_find_classcode_:                         ; 0xf9dfc LB 0x8
    1515615166    push bp                                   ; 55
    1515715167    mov bp, sp                                ; 89 e5
     
    1515915169    pop bp                                    ; 5d
    1516015170    retn                                      ; c3
    15161 pci_read_config_byte_:                       ; 0xf9df9 LB 0x2e
     15171pci_read_config_byte_:                       ; 0xf9e04 LB 0x2e
    1516215172    push bp                                   ; 55
    1516315173    mov bp, sp                                ; 89 e5
     
    1518515195    pop bp                                    ; 5d
    1518615196    retn                                      ; c3
    15187 pci_read_config_word_:                       ; 0xf9e27 LB 0x2a
     15197pci_read_config_word_:                       ; 0xf9e32 LB 0x2a
    1518815198    push bp                                   ; 55
    1518915199    mov bp, sp                                ; 89 e5
     
    1520915219    pop bp                                    ; 5d
    1521015220    retn                                      ; c3
    15211 pci_read_config_dword_:                      ; 0xf9e51 LB 0x4e
     15221pci_read_config_dword_:                      ; 0xf9e5c LB 0x4e
    1521215222    push bp                                   ; 55
    1521315223    mov bp, sp                                ; 89 e5
     
    1523115241    int 01ah                                  ; cd 1a
    1523215242    test cx, cx                               ; 85 c9
    15233     jne short 09e90h                          ; 75 14
     15243    jne short 09e9bh                          ; 75 14
    1523415244    mov al, byte [bp-006h]                    ; 8a 46 fa
    1523515245    xor ah, ah                                ; 30 e4
     
    1524115251    int 01ah                                  ; cd 1a
    1524215252    test cx, cx                               ; 85 c9
    15243     je short 09e95h                           ; 74 05
     15253    je short 09ea0h                           ; 74 05
    1524415254    mov ax, strict word 00001h                ; b8 01 00
    15245     jmp short 09e97h                          ; eb 02
     15255    jmp short 09ea2h                          ; eb 02
    1524615256    xor ax, ax                                ; 31 c0
    1524715257    cwd                                       ; 99
     
    1525115261    pop bp                                    ; 5d
    1525215262    retn                                      ; c3
    15253 vds_is_present_:                             ; 0xf9e9f LB 0x1d
     15263vds_is_present_:                             ; 0xf9eaa LB 0x1d
    1525415264    push bx                                   ; 53
    1525515265    push bp                                   ; 55
     
    1525915269    mov es, ax                                ; 8e c0
    1526015270    test byte [es:bx], 020h                   ; 26 f6 07 20
    15261     je short 09eb7h                           ; 74 06
     15271    je short 09ec2h                           ; 74 06
    1526215272    mov ax, strict word 00001h                ; b8 01 00
    1526315273    pop bp                                    ; 5d
     
    1526815278    pop bx                                    ; 5b
    1526915279    retn                                      ; c3
    15270 vds_real_to_lin_:                            ; 0xf9ebc LB 0x1e
     15280vds_real_to_lin_:                            ; 0xf9ec7 LB 0x1e
    1527115281    push bx                                   ; 53
    1527215282    push cx                                   ; 51
     
    1527915289    sal ax, 1                                 ; d1 e0
    1528015290    rcl dx, 1                                 ; d1 d2
    15281     loop 09ecah                               ; e2 fa
     15291    loop 09ed5h                               ; e2 fa
    1528215292    xor cx, cx                                ; 31 c9
    1528315293    add ax, bx                                ; 01 d8
     
    1528715297    pop bx                                    ; 5b
    1528815298    retn                                      ; c3
    15289 vds_build_sg_list_:                          ; 0xf9eda LB 0x77
     15299vds_build_sg_list_:                          ; 0xf9ee5 LB 0x77
    1529015300    push bp                                   ; 55
    1529115301    mov bp, sp                                ; 89 e5
     
    1530115311    mov bx, word [bp+006h]                    ; 8b 5e 06
    1530215312    mov word [es:di+002h], bx                 ; 26 89 5d 02
    15303     call 09ebch                               ; e8 c3 ff
     15313    call 09ec7h                               ; e8 c3 ff
    1530415314    mov es, si                                ; 8e c6
    1530515315    mov word [es:di+004h], ax                 ; 26 89 45 04
    1530615316    mov word [es:di+006h], dx                 ; 26 89 55 06
    1530715317    mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00
    15308     call 09e9fh                               ; e8 93 ff
     15318    call 09eaah                               ; e8 93 ff
    1530915319    test ax, ax                               ; 85 c0
    15310     je short 09f21h                           ; 74 11
     15320    je short 09f2ch                           ; 74 11
    1531115321    mov es, si                                ; 8e c6
    1531215322    mov ax, 08105h                            ; b8 05 81
    1531315323    mov dx, strict word 00000h                ; ba 00 00
    1531415324    int 04bh                                  ; cd 4b
    15315     jc short 09f1eh                           ; 72 02
     15325    jc short 09f29h                           ; 72 02
    1531615326    db  032h, 0c0h
    1531715327    ; xor al, al                                ; 32 c0
    1531815328    cbw                                       ; 98
    15319     jmp short 09f48h                          ; eb 27
     15329    jmp short 09f53h                          ; eb 27
    1532015330    mov es, si                                ; 8e c6
    1532115331    mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00
     
    1533415344    pop bp                                    ; 5d
    1533515345    retn 00004h                               ; c2 04 00
    15336 vds_free_sg_list_:                           ; 0xf9f51 LB 0x2f
     15346vds_free_sg_list_:                           ; 0xf9f5c LB 0x34
    1533715347    push bp                                   ; 55
    1533815348    mov bp, sp                                ; 89 e5
     
    1534015350    push di                                   ; 57
    1534115351    mov bx, ax                                ; 89 c3
    15342     call 09e9fh                               ; e8 44 ff
     15352    call 09eaah                               ; e8 44 ff
    1534315353    test ax, ax                               ; 85 c0
    15344     je short 09f70h                           ; 74 11
     15354    je short 09f7bh                           ; 74 11
    1534515355    mov di, bx                                ; 89 df
    1534615356    mov es, dx                                ; 8e c2
     
    1534815358    mov dx, strict word 00000h                ; ba 00 00
    1534915359    int 04bh                                  ; cd 4b
    15350     jc short 09f6fh                           ; 72 02
     15360    jc short 09f7ah                           ; 72 02
    1535115361    db  032h, 0c0h
    1535215362    ; xor al, al                                ; 32 c0
     
    1535915369    pop bp                                    ; 5d
    1536015370    retn                                      ; c3
    15361     times 0x1 db 0
    15362 __U4M:                                       ; 0xf9f80 LB 0x20
     15371    times 0x6 db 0
     15372__U4M:                                       ; 0xf9f90 LB 0x20
    1536315373    pushfw                                    ; 9c
    1536415374    push si                                   ; 56
     
    1538715397    retn                                      ; c3
    1538815398    times 0x4 db 0
    15389 __U4D:                                       ; 0xf9fa0 LB 0x30
     15399__U4D:                                       ; 0xf9fb0 LB 0x30
    1539015400    pushfw                                    ; 9c
    1539115401    push DS                                   ; 1e
     
    1540215412    push dx                                   ; 52
    1540315413    push ax                                   ; 50
    15404     call 0a085h                               ; e8 d0 00
     15414    call 0a095h                               ; e8 d0 00
    1540515415    mov cx, word [bp-002h]                    ; 8b 4e fe
    1540615416    mov bx, word [bp-004h]                    ; 8b 5e fc
     
    1541315423    retn                                      ; c3
    1541415424    times 0xe db 0
    15415 __U8RS:                                      ; 0xf9fd0 LB 0x10
     15425__U8RS:                                      ; 0xf9fe0 LB 0x10
    1541615426    test si, si                               ; 85 f6
    15417     je short 09fdfh                           ; 74 0b
     15427    je short 09fefh                           ; 74 0b
    1541815428    shr ax, 1                                 ; d1 e8
    1541915429    rcr bx, 1                                 ; d1 db
     
    1542115431    rcr dx, 1                                 ; d1 da
    1542215432    dec si                                    ; 4e
    15423     jne short 09fd4h                          ; 75 f5
     15433    jne short 09fe4h                          ; 75 f5
    1542415434    retn                                      ; c3
    15425 __U8LS:                                      ; 0xf9fe0 LB 0x10
     15435__U8LS:                                      ; 0xf9ff0 LB 0x10
    1542615436    test si, si                               ; 85 f6
    15427     je short 09fefh                           ; 74 0b
     15437    je short 09fffh                           ; 74 0b
    1542815438    sal dx, 1                                 ; d1 e2
    1542915439    rcl cx, 1                                 ; d1 d1
     
    1543115441    rcl ax, 1                                 ; d1 d0
    1543215442    dec si                                    ; 4e
    15433     jne short 09fe4h                          ; 75 f5
     15443    jne short 09ff4h                          ; 75 f5
    1543415444    retn                                      ; c3
    15435 _fmemset_:                                   ; 0xf9ff0 LB 0x10
     15445_fmemset_:                                   ; 0xfa000 LB 0x10
    1543615446    push di                                   ; 57
    1543715447    mov es, dx                                ; 8e c2
     
    1544415454    retn                                      ; c3
    1544515455    times 0x3 db 0
    15446 _fmemcpy_:                                   ; 0xfa000 LB 0x3a
     15456_fmemcpy_:                                   ; 0xfa010 LB 0x3a
    1544715457    push bp                                   ; 55
    1544815458    db  08bh, 0ech
     
    1546915479    add byte [bx+si], al                      ; 00 00
    1547015480    add byte [bx+si], al                      ; 00 00
    15471     push ax                                   ; 50
    15472     mov AL, byte [0a052h]                     ; a0 52 a0
    15473     push si                                   ; 56
    15474     mov AL, byte [0a056h]                     ; a0 56 a0
    15475     push si                                   ; 56
    15476     mov AL, byte [0a058h]                     ; a0 58 a0
    15477     pop ax                                    ; 58
    15478     mov AL, byte [0a05ah]                     ; a0 5a a0
    15479     pop si                                    ; 5e
    15480     mov AL, byte [0a05eh]                     ; a0 5e a0
    15481     pushaw                                    ; 60
    15482     mov AL, byte [0a065h]                     ; a0 65 a0
    15483     db  067h
    15484     db  0a0h
    15485 apm_worker:                                  ; 0xfa03a LB 0x3a
     15481    db  060h, 0a0h, 062h, 0a0h, 066h, 0a0h, 066h, 0a0h, 066h, 0a0h, 068h, 0a0h, 068h, 0a0h, 06ah, 0a0h
     15482    db  06eh, 0a0h, 06eh, 0a0h, 070h, 0a0h, 075h, 0a0h, 077h, 0a0h
     15483apm_worker:                                  ; 0xfa04a LB 0x3a
    1548615484    sti                                       ; fb
    1548715485    push ax                                   ; 50
     
    1549515493    pop ax                                    ; 58
    1549615494    mov AH, strict byte 053h                  ; b4 53
    15497     jnc short 0a070h                          ; 73 25
    15498     jmp word [cs:bp-05fe0h]                   ; 2e ff a6 20 a0
    15499     jmp short 0a06eh                          ; eb 1c
     15495    jnc short 0a080h                          ; 73 25
     15496    jmp word [cs:bp-05fd0h]                   ; 2e ff a6 30 a0
     15497    jmp short 0a07eh                          ; eb 1c
    1550015498    sti                                       ; fb
    1550115499    hlt                                       ; f4
    15502     jmp short 0a06eh                          ; eb 18
    15503     jmp short 0a06eh                          ; eb 16
    15504     jmp short 0a070h                          ; eb 16
     15500    jmp short 0a07eh                          ; eb 18
     15501    jmp short 0a07eh                          ; eb 16
     15502    jmp short 0a080h                          ; eb 16
    1550515503    mov AH, strict byte 080h                  ; b4 80
    15506     jmp short 0a072h                          ; eb 14
    15507     jmp short 0a070h                          ; eb 10
     15504    jmp short 0a082h                          ; eb 14
     15505    jmp short 0a080h                          ; eb 10
    1550815506    mov ax, 00102h                            ; b8 02 01
    15509     jmp short 0a06eh                          ; eb 09
    15510     jmp short 0a06eh                          ; eb 07
     15507    jmp short 0a07eh                          ; eb 09
     15508    jmp short 0a07eh                          ; eb 07
    1551115509    mov BL, strict byte 000h                  ; b3 00
    1551215510    mov cx, strict word 00000h                ; b9 00 00
    15513     jmp short 0a06eh                          ; eb 00
     15511    jmp short 0a07eh                          ; eb 00
    1551415512    clc                                       ; f8
    1551515513    retn                                      ; c3
     
    1551715515    stc                                       ; f9
    1551815516    retn                                      ; c3
    15519 apm_pm16_entry:                              ; 0xfa074 LB 0x11
     15517apm_pm16_entry:                              ; 0xfa084 LB 0x11
    1552015518    mov AH, strict byte 002h                  ; b4 02
    1552115519    push DS                                   ; 1e
     
    1552515523    add bp, strict byte 00008h                ; 83 c5 08
    1552615524    mov ds, bp                                ; 8e dd
    15527     call 0a03ah                               ; e8 b8 ff
     15525    call 0a04ah                               ; e8 b8 ff
    1552815526    pop bp                                    ; 5d
    1552915527    pop DS                                    ; 1f
    1553015528    retf                                      ; cb
    15531 _DoUInt32Div:                                ; 0xfa085 LB 0x26b
     15529_DoUInt32Div:                                ; 0xfa095 LB 0x26b
    1553215530    push bp                                   ; 55
    1553315531    mov bp, sp                                ; 89 e5
     
    1554715545    mov [bp-006h], ds                         ; 8c 5e fa
    1554815546    cmp word [bx+002h], strict byte 00000h    ; 83 7f 02 00
    15549     jne short 0a0d5h                          ; 75 22
     15547    jne short 0a0e5h                          ; 75 22
    1555015548    mov ax, word [bx]                         ; 8b 07
    1555115549    test ax, ax                               ; 85 c0
    15552     je short 0a0d2h                           ; 74 19
     15550    je short 0a0e2h                           ; 74 19
    1555315551    cmp ax, strict word 00001h                ; 3d 01 00
    15554     jne short 0a0d5h                          ; 75 17
     15552    jne short 0a0e5h                          ; 75 17
    1555515553    xor ax, ax                                ; 31 c0
    1555615554    mov word [bp+00ah], ax                    ; 89 46 0a
     
    1556015558    mov ax, word [bp-01ah]                    ; 8b 46 e6
    1556115559    mov word [bp+006h], ax                    ; 89 46 06
    15562     jmp near 0a2ddh                           ; e9 08 02
     15560    jmp near 0a2edh                           ; e9 08 02
    1556315561    lds bx, [bp-00ch]                         ; c5 5e f4
    1556415562    mov ax, word [bx+002h]                    ; 8b 47 02
    1556515563    mov ds, [bp-006h]                         ; 8e 5e fa
    1556615564    cmp ax, word [si+002h]                    ; 3b 44 02
    15567     je short 0a0fbh                           ; 74 18
     15565    je short 0a10bh                           ; 74 18
    1556815566    mov ds, [bp-00ah]                         ; 8e 5e f6
    1556915567    mov ax, word [bx+002h]                    ; 8b 47 02
    1557015568    mov ds, [bp-006h]                         ; 8e 5e fa
    1557115569    cmp ax, word [si+002h]                    ; 3b 44 02
    15572     jbe short 0a0f6h                          ; 76 05
     15570    jbe short 0a106h                          ; 76 05
    1557315571    mov ax, strict word 00001h                ; b8 01 00
    15574     jmp short 0a11ch                          ; eb 26
     15572    jmp short 0a12ch                          ; eb 26
    1557515573    mov ax, strict word 0ffffh                ; b8 ff ff
    15576     jmp short 0a11ch                          ; eb 21
     15574    jmp short 0a12ch                          ; eb 21
    1557715575    mov ds, [bp-00ah]                         ; 8e 5e f6
    1557815576    mov ax, word [bx]                         ; 8b 07
    1557915577    mov ds, [bp-006h]                         ; 8e 5e fa
    1558015578    cmp ax, word [si]                         ; 3b 04
    15581     je short 0a11ah                           ; 74 13
     15579    je short 0a12ah                           ; 74 13
    1558215580    mov ds, [bp-00ah]                         ; 8e 5e f6
    1558315581    mov ax, word [bx]                         ; 8b 07
    1558415582    mov ds, [bp-006h]                         ; 8e 5e fa
    1558515583    cmp ax, word [si]                         ; 3b 04
    15586     jbe short 0a115h                          ; 76 02
    15587     jmp short 0a0f1h                          ; eb dc
     15584    jbe short 0a125h                          ; 76 02
     15585    jmp short 0a101h                          ; eb dc
    1558815586    mov ax, strict word 0ffffh                ; b8 ff ff
    15589     jmp short 0a11ch                          ; eb 02
     15587    jmp short 0a12ch                          ; eb 02
    1559015588    xor ax, ax                                ; 31 c0
    1559115589    test ax, ax                               ; 85 c0
    15592     jnl short 0a13eh                          ; 7d 1e
     15590    jnl short 0a14eh                          ; 7d 1e
    1559315591    lds bx, [bp-00ch]                         ; c5 5e f4
    1559415592    mov ax, word [bx]                         ; 8b 07
     
    1560015598    mov word [bx+002h], strict word 00000h    ; c7 47 02 00 00
    1560115599    mov word [bx], strict word 00000h         ; c7 07 00 00
    15602     jmp short 0a0d2h                          ; eb 94
    15603     jne short 0a155h                          ; 75 15
     15600    jmp short 0a0e2h                          ; eb 94
     15601    jne short 0a165h                          ; 75 15
    1560415602    mov ds, [bp-008h]                         ; 8e 5e f8
    1560515603    mov word [di+002h], ax                    ; 89 45 02
     
    1560815606    mov word [bx], strict word 00001h         ; c7 07 01 00
    1560915607    mov word [bx+002h], ax                    ; 89 47 02
    15610     jmp near 0a2ddh                           ; e9 88 01
     15608    jmp near 0a2edh                           ; e9 88 01
    1561115609    lds bx, [bp-00ch]                         ; c5 5e f4
    1561215610    mov ax, word [bx+002h]                    ; 8b 47 02
    1561315611    test ax, ax                               ; 85 c0
    15614     je short 0a170h                           ; 74 11
     15612    je short 0a180h                           ; 74 11
    1561515613    push ax                                   ; 50
    1561615614    mov ax, 0f000h                            ; b8 00 f0
    1561715615    mov ds, ax                                ; 8e d8
    15618     call 0a2f0h                               ; e8 88 01
     15616    call 0a300h                               ; e8 88 01
    1561915617    add sp, strict byte 00002h                ; 83 c4 02
    1562015618    add ax, strict word 00010h                ; 05 10 00
    15621     jmp short 0a17dh                          ; eb 0d
     15619    jmp short 0a18dh                          ; eb 0d
    1562215620    push word [bx]                            ; ff 37
    1562315621    mov ax, 0f000h                            ; b8 00 f0
    1562415622    mov ds, ax                                ; 8e d8
    15625     call 0a2f0h                               ; e8 76 01
     15623    call 0a300h                               ; e8 76 01
    1562615624    add sp, strict byte 00002h                ; 83 c4 02
    1562715625    mov word [bp-014h], ax                    ; 89 46 ec
     
    1562915627    mov ax, word [si+002h]                    ; 8b 44 02
    1563015628    test ax, ax                               ; 85 c0
    15631     je short 0a19bh                           ; 74 11
     15629    je short 0a1abh                           ; 74 11
    1563215630    push ax                                   ; 50
    1563315631    mov ax, 0f000h                            ; b8 00 f0
    1563415632    mov ds, ax                                ; 8e d8
    15635     call 0a2f0h                               ; e8 5d 01
     15633    call 0a300h                               ; e8 5d 01
    1563615634    add sp, strict byte 00002h                ; 83 c4 02
    1563715635    add ax, strict word 00010h                ; 05 10 00
    15638     jmp short 0a1a8h                          ; eb 0d
     15636    jmp short 0a1b8h                          ; eb 0d
    1563915637    push word [si]                            ; ff 34
    1564015638    mov ax, 0f000h                            ; b8 00 f0
    1564115639    mov ds, ax                                ; 8e d8
    15642     call 0a2f0h                               ; e8 4b 01
     15640    call 0a300h                               ; e8 4b 01
    1564315641    add sp, strict byte 00002h                ; 83 c4 02
    1564415642    mov dx, word [bp-014h]                    ; 8b 56 ec
     
    1565115649    mov word [bp-016h], ax                    ; 89 46 ea
    1565215650    test dx, dx                               ; 85 d2
    15653     je short 0a218h                           ; 74 56
     15651    je short 0a228h                           ; 74 56
    1565415652    mov cx, dx                                ; 89 d1
    1565515653    xor ch, dh                                ; 30 f5
     
    1565715655    mov ax, word [si]                         ; 8b 04
    1565815656    mov dx, word [si+002h]                    ; 8b 54 02
    15659     jcxz 0a1d6h                               ; e3 06
     15657    jcxz 0a1e6h                               ; e3 06
    1566015658    sal ax, 1                                 ; d1 e0
    1566115659    rcl dx, 1                                 ; d1 d2
    15662     loop 0a1d0h                               ; e2 fa
     15660    loop 0a1e0h                               ; e2 fa
    1566315661    mov word [bp-018h], ax                    ; 89 46 e8
    1566415662    mov word [bp-016h], dx                    ; 89 56 ea
     
    1566615664    lds bx, [bp-00ch]                         ; c5 5e f4
    1566715665    cmp ax, word [bx+002h]                    ; 3b 47 02
    15668     jnbe short 0a1f6h                         ; 77 0f
     15666    jnbe short 0a206h                         ; 77 0f
    1566915667    mov ax, word [bp-016h]                    ; 8b 46 ea
    1567015668    cmp ax, word [bx+002h]                    ; 3b 47 02
    15671     jne short 0a1fah                          ; 75 0b
     15669    jne short 0a20ah                          ; 75 0b
    1567215670    mov ax, word [bp-018h]                    ; 8b 46 e8
    1567315671    cmp ax, word [bx]                         ; 3b 07
    15674     jbe short 0a1fah                          ; 76 04
     15672    jbe short 0a20ah                          ; 76 04
    1567515673    mov AL, strict byte 001h                  ; b0 01
    15676     jmp short 0a1fch                          ; eb 02
     15674    jmp short 0a20ch                          ; eb 02
    1567715675    xor al, al                                ; 30 c0
    1567815676    test al, al                               ; 84 c0
    15679     je short 0a223h                           ; 74 23
     15677    je short 0a233h                           ; 74 23
    1568015678    shr word [bp-016h], 1                     ; d1 6e ea
    1568115679    rcr word [bp-018h], 1                     ; d1 5e e8
    1568215680    dec word [bp-012h]                        ; ff 4e ee
    15683     jmp short 0a223h                          ; eb 18
     15681    jmp short 0a233h                          ; eb 18
    1568415682    mov cx, strict word 0001fh                ; b9 1f 00
    1568515683    sal word [bp-018h], 1                     ; d1 66 e8
    1568615684    rcl word [bp-016h], 1                     ; d1 56 ea
    15687     loop 0a20eh                               ; e2 f8
    15688     jmp short 0a206h                          ; eb ee
     15685    loop 0a21eh                               ; e2 f8
     15686    jmp short 0a216h                          ; eb ee
    1568915687    mov ax, word [si]                         ; 8b 04
    1569015688    mov word [bp-018h], ax                    ; 89 46 e8
     
    1570315701    mov ds, [bp-006h]                         ; 8e 5e fa
    1570415702    cmp ax, word [si+002h]                    ; 3b 44 02
    15705     jnbe short 0a24fh                         ; 77 06
    15706     jne short 0a253h                          ; 75 08
     15703    jnbe short 0a25fh                         ; 77 06
     15704    jne short 0a263h                          ; 75 08
    1570715705    cmp dx, word [si]                         ; 3b 14
    15708     jc short 0a253h                           ; 72 04
     15706    jc short 0a263h                           ; 72 04
    1570915707    mov AL, strict byte 001h                  ; b0 01
    15710     jmp short 0a255h                          ; eb 02
     15708    jmp short 0a265h                          ; eb 02
    1571115709    xor al, al                                ; 30 c0
    1571215710    test al, al                               ; 84 c0
    15713     je short 0a2bah                           ; 74 61
     15711    je short 0a2cah                           ; 74 61
    1571415712    mov ds, [bp-008h]                         ; 8e 5e f8
    1571515713    mov ax, word [di+002h]                    ; 8b 45 02
    1571615714    cmp ax, word [bp-016h]                    ; 3b 46 ea
    15717     jnbe short 0a270h                         ; 77 0c
     15715    jnbe short 0a280h                         ; 77 0c
    1571815716    cmp ax, word [bp-016h]                    ; 3b 46 ea
    15719     jne short 0a274h                          ; 75 0b
     15717    jne short 0a284h                          ; 75 0b
    1572015718    mov ax, word [di]                         ; 8b 05
    1572115719    cmp ax, word [bp-018h]                    ; 3b 46 e8
    15722     jc short 0a274h                           ; 72 04
     15720    jc short 0a284h                           ; 72 04
    1572315721    mov AL, strict byte 001h                  ; b0 01
    15724     jmp short 0a276h                          ; eb 02
     15722    jmp short 0a286h                          ; eb 02
    1572515723    xor al, al                                ; 30 c0
    1572615724    test al, al                               ; 84 c0
    15727     je short 0a2a0h                           ; 74 26
     15725    je short 0a2b0h                           ; 74 26
    1572815726    mov ax, word [bp-018h]                    ; 8b 46 e8
    1572915727    mov ds, [bp-008h]                         ; 8e 5e f8
     
    1573415732    xor dx, dx                                ; 31 d2
    1573515733    mov cx, word [bp-012h]                    ; 8b 4e ee
    15736     jcxz 0a298h                               ; e3 06
     15734    jcxz 0a2a8h                               ; e3 06
    1573715735    sal ax, 1                                 ; d1 e0
    1573815736    rcl dx, 1                                 ; d1 d2
    15739     loop 0a292h                               ; e2 fa
     15737    loop 0a2a2h                               ; e2 fa
    1574015738    lds bx, [bp-010h]                         ; c5 5e f0
    1574115739    or word [bx], ax                          ; 09 07
     
    1574615744    mov ds, [bp-006h]                         ; 8e 5e fa
    1574715745    cmp ax, word [si+002h]                    ; 3b 44 02
    15748     jc short 0a2b6h                           ; 72 06
    15749     jne short 0a2bch                          ; 75 0a
     15746    jc short 0a2c6h                           ; 72 06
     15747    jne short 0a2cch                          ; 75 0a
    1575015748    cmp dx, word [si]                         ; 3b 14
    15751     jnc short 0a2bch                          ; 73 06
     15749    jnc short 0a2cch                          ; 73 06
    1575215750    mov AL, strict byte 001h                  ; b0 01
    15753     jmp short 0a2beh                          ; eb 04
    15754     jmp short 0a2ddh                          ; eb 21
     15751    jmp short 0a2ceh                          ; eb 04
     15752    jmp short 0a2edh                          ; eb 21
    1575515753    xor al, al                                ; 30 c0
    1575615754    test al, al                               ; 84 c0
    15757     je short 0a2d1h                           ; 74 0f
    15758     jmp short 0a2ddh                          ; eb 19
     15755    je short 0a2e1h                           ; 74 0f
     15756    jmp short 0a2edh                          ; eb 19
    1575915757    mov cx, strict word 0001fh                ; b9 1f 00
    1576015758    sal word [bp-018h], 1                     ; d1 66 e8
    1576115759    rcl word [bp-016h], 1                     ; d1 56 ea
    15762     loop 0a2c7h                               ; e2 f8
    15763     jmp short 0a2d7h                          ; eb 06
     15760    loop 0a2d7h                               ; e2 f8
     15761    jmp short 0a2e7h                          ; eb 06
    1576415762    shr word [bp-016h], 1                     ; d1 6e ea
    1576515763    rcr word [bp-018h], 1                     ; d1 5e e8
    1576615764    dec word [bp-012h]                        ; ff 4e ee
    15767     jmp near 0a259h                           ; e9 7c ff
     15765    jmp near 0a269h                           ; e9 7c ff
    1576815766    mov ax, word [bp-01ch]                    ; 8b 46 e4
    1576915767    mov dx, word [bp-01ah]                    ; 8b 56 e6
     
    1577415772    retn                                      ; c3
    1577515773    times 0x6 db 0
    15776 _ASMBitLastSetU16:                           ; 0xfa2f0 LB 0x18
     15774_ASMBitLastSetU16:                           ; 0xfa300 LB 0x18
    1577715775    push bp                                   ; 55
    1577815776    db  08bh, 0ech
     
    1578015778    mov cx, word [bp+004h]                    ; 8b 4e 04
    1578115779    test cx, cx                               ; 85 c9
    15782     je short 0a304h                           ; 74 0a
     15780    je short 0a314h                           ; 74 0a
    1578315781    mov ax, strict word 00010h                ; b8 10 00
    1578415782    sal cx, 1                                 ; d1 e1
    15785     jc short 0a306h                           ; 72 05
     15783    jc short 0a316h                           ; 72 05
    1578615784    dec ax                                    ; 48
    15787     jmp short 0a2fdh                          ; eb f9
     15785    jmp short 0a30dh                          ; eb f9
    1578815786    db  033h, 0c0h
    1578915787    ; xor ax, ax                                ; 33 c0
     
    1579115789    retn                                      ; c3
    1579215790
    15793   ; Padding 0x36f8 bytes at 0xfa308
    15794   times 14072 db 0
     15791  ; Padding 0x36e8 bytes at 0xfa318
     15792  times 14056 db 0
    1579515793
    1579615794section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO
     
    1583915837    add bp, strict byte 00008h                ; 83 c5 08
    1584015838    push ebp                                  ; 66 55
    15841     mov bp, 0a076h                            ; bd 76 a0
     15839    mov bp, 0a086h                            ; bd 86 a0
    1584215840    add byte [bx+si], al                      ; 00 00
    1584315841    push ebp                                  ; 66 55
     
    1656516563    call 01c9fh                               ; e8 63 39
    1656616564    call 02118h                               ; e8 d9 3d
    16567     call 098bdh                               ; e8 7b b5
    16568     call 08748h                               ; e8 03 a4
     16565    call 098c8h                               ; e8 86 b5
     16566    call 08753h                               ; e8 0e a4
    1656916567    call 0ed2fh                               ; e8 e7 09
    1657016568    call 0e2d2h                               ; e8 87 ff
     
    1753417532    popfw                                     ; 9d
    1753517533    jmp short 0f8a5h                          ; eb 11
    17536     call 09a0fh                               ; e8 78 a1
     17534    call 09a1ah                               ; e8 83 a1
    1753717535    jmp short 0f88eh                          ; eb f5
    1753817536int15_handler_mouse:                         ; 0xff899 LB 0x5
     
    1779917797cpu_reset:                                   ; 0xffff0 LB 0x10
    1780017798    jmp far 0f000h:0e05bh                     ; ea 5b e0 00 f0
    17801     db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 055h
     17799    db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 001h
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette