[syslinux] problem reading PXELinux's code
Zenghui Yu
zenghuiyu96 at gmail.com
Wed Feb 28 01:19:28 PST 2018
Hi All,
I have encountered a problem when reading PXELinux's source code.
In syslinux/core/pxelinux.asm, function *pxenv* is as below:
pxenv:
pushfd
pushad
; We may be removing ourselves from memory
cmp bx,PXENV_RESTART_TFTP
......
push es
push di
push bx
.jump:
call 0:0
add sp,6
mov [cs:PXEStatus],ax
......
ret
"Around" .jump, we store ES:DI and BX on PXE stack, which points to PXE
parameter block and PXE opcode correspondingly. Then we should call !PXE's
EntryPointSP to call specified PXE API, but why we use *call 0:0* here?
What does physical address 0x0 have?
Can anyone who can please explain it?
Thanks and regards,
zenghui
More information about the Syslinux
mailing list