1. Необязательно это должен быть jmp (т.е.

lsvmo писал(-а):
Насколько я знаю, начиная с 16-ого байта от конца должна быть инструкция EA адрес...
то есть jmp адрес
А у меня её нет.
1. Необязательно это должен быть jmp (т.е. можно извратиться кучей других способов для передачи управления в нужную точку), хотя обычно производители не страдают извращениями:).

2. Необязательно jmp будет первой же инструкцией по 0xFFFF:0xFFF0.
3. Необязательно код операции jmp будет равен 0xEA:).
4.
loc_FFF0:
wbinvd
jmp loc_FF28

loc_FF28:
cli
mov     al, 1
out     80h, al
mov     ax, 0F000h
mov     ds, ax
mov     si, 0FFF0h
cmp     byte ptr [si], 0EAh
jnz     short loc_FF3F
jmp     far ptr 0F000h:0E05Bh

loc_FF3F:
mov     al, 2
out     80h, al
db      66h
lgdt    qword ptr cs:0FFB8h
mov     eax, cr0
or      al, 1
mov     cr0, eax
cld
mov     ax, 8
mov     ds, ax
mov     es, ax
mov     ss, ax
mov     fs, ax
mov     gs, ax
jmp     large far ptr 10h:0FFFFFC9Fh
Т.е. bootblock у вас вполне адекватный.

Собираем образ BIOS из EFI-капсулы или "Как вынуть из интеловского файла бинарник для прошивки на программаторе?"