initial eax value on x86

Joel Sherrill joel.sherrill at
Sat Aug 13 13:05:58 UTC 2011

Eax is normally a scratch register. What is this code in? Are you jumping into the middle of something?


Chris Johns <chrisj at> wrote:

>On 12/08/11 2:06 AM, Philipp Eppelt wrote:
>> Hello RTEMS-User,
>> I am a student at Dresden University of Technology and I am currently
>> working on a student project with the goal to get RTEMS working on L4
>> with the help of the L4-vCPU interface.
>> I have a simple HelloWorld and compiled it for i386+pc586. I load the
>> hello.exe elf into my program, set the IP to the entry_point, zeroed the
>> area between filesize and memsize and set the SP to the end of that area.
>> So far it works. But I get a PageFault on 100018, which is the asm
>> instruction:
>> 00100018 cmp (%eax),%dh
>Which file in RTEMS is this instruction from ?
>> So after the entry point 10000c there is only one instruction touching eax:
>> 00100010 dec %eax
>> Initially %eax is 0, then its -1.
>> This is quite confusing and I couldn't find any hint in the start.S or
>> bootcard.c if eax has to be initialized with a special value.
>> Or did I completely miss something?
>The PC BSP assumes a boot loader. There may be some register protocol 
>between the boot loader and the start up code.
>rtems-users mailing list
>rtems-users at

More information about the users mailing list