Your code should be loaded to F000:E000 or FE00:0000.
org 01FF0h ; should present address FE00:1FF0 or F000:FFF0 or FFFF:0000
db 0eah ; <- Reset entry of x86
dw 0E05bh
dw 0F000h ; Jump to F000:E05b
|
V
org 0005bh ; jump to post entry point (if code is loaded to F000:E000)
PORT80 POST_INTR_SEG_JUMP ;post_f0h
db 0eah ; jumps to startTest (as mtmike has already mentioned)
public resetVectorOffset
resetVectorOffset:
dw OFFSET startTest
dw 0F000h
Main Topics
Browse All Topics





by: mtmikePosted on 2003-12-18 at 12:08:20ID: 9966908
0xEA is the opcode of a far jump. So,
db 0eah
resetVectorOffset:
dw OFFSET startTest
dw 0F000h
jumps to startTest. The resetVectorOffset label is placed in the middle of the jmp instruction, most likely to save space in some other part of the code.