我终于弄清楚了这个字段的含义。它实际上是嵌入在 ROM 标头中的 x86 指令。第一个字节“0xe9”是跳转指令。有兴趣的可以查看fcode套件源码了解更多详情
switch (data->reserved[1]) {
case 0xeb: /* short jump */
entry = data->reserved[2] + 2;
/* a short jump instruction is 2 bytes,
* we have to add those to the offset
*/
break;
case 0xe9: /* jump */
entry = ((data->reserved[3]<<8)|data->reserved[2]) + 3;
/* jump is 3 bytes, so add them */
break;
default:
entry=0;
break;
}
if (entry) {
/* 0x55aa rom signature plus 1 byte len */
entry += 3;
printf( " Entry point for INIT function:"
" 0x%x\n\n",entry);
} else
printf( " Unable to determine entry point for INIT"
" function. Please report.\n\n");
break;