aboutsummaryrefslogtreecommitdiffstats
path: root/src/asm-offsets.c
blob: 5035cef8f7fe1be9d2c007e6182c4ca5b2bde0e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Generate assembler offsets.

#include "gen-defs.h" // OFFSET
#include "bregs.h" // struct bregs
#include "biosvar.h" // struct bios_data_area_s

/* workaround for a warning with -Wmissing-prototypes */
void foo(void) VISIBLE16;

void foo(void)
{
    COMMENT("BREGS");
    OFFSET(BREGS_es, bregs, es);
    OFFSET(BREGS_ds, bregs, ds);
    OFFSET(BREGS_eax, bregs, eax);
    OFFSET(BREGS_ebx, bregs, ebx);
    OFFSET(BREGS_ecx, bregs, ecx);
    OFFSET(BREGS_edx, bregs, edx);
    OFFSET(BREGS_ebp, bregs, ebp);
    OFFSET(BREGS_esi, bregs, esi);
    OFFSET(BREGS_edi, bregs, edi);
    OFFSET(BREGS_flags, bregs, flags);
    OFFSET(BREGS_code, bregs, code);

    COMMENT("BDA");
    OFFSET(BDA_ebda_seg, bios_data_area_s, ebda_seg);

    COMMENT("EBDA");
    DEFINE(EBDA_OFFSET_TOP_STACK, EBDA_OFFSET_TOP_STACK);
    DEFINE(EBDA_SEGMENT_START, EBDA_SEGMENT_START);
}