first working executable!
This commit is contained in:
parent
b88de92fc7
commit
d8bb5b8957
4 changed files with 134 additions and 13 deletions
|
@ -1,15 +1,18 @@
|
|||
; this is the format of the executables we produce:
|
||||
; elf header 2MB addresses 0x000000-0x200000 (no, it won't actually take up that much space)
|
||||
; entry point 2MB addresses 0x200000-0x3fffff this is where we put the code to call main(), etc. (again, it won't actually take up that much space)
|
||||
; code (functions) 4MB addresses 0x400000-0x7fffff
|
||||
; functions 4MB addresses 0x400000-0x7fffff
|
||||
; read-only data 4MB addresses 0x800000-0xbfffff
|
||||
; read-write data 4MB addresses 0xc00000-0xffffff
|
||||
; note that file offsets and runtime addresses are the same.
|
||||
; you should be able to change these constants without breaking anything:
|
||||
; you should be able to change these constants (in a way that's consistent) without breaking anything:
|
||||
#define ENTRY_ADDR 0x200000
|
||||
#define FUNCTIONS_ADDR 0x400000
|
||||
#define TOTAL_CODE_SIZE 0x600000
|
||||
#define RODATA_ADDR 0x800000
|
||||
#define RODATA_SIZE 0x400000
|
||||
#define RWDATA_ADDR 0xc00000
|
||||
#define RWDATA_SIZE 0x400000
|
||||
#define RWDATA_END 0x1000000
|
||||
#define EXECUTABLE_SIZE 0x1000000
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue