bootstrap: Include necessary M1 sources.
M1 -f stage0/x86.M1 -f mlibc/crt1.M1 --LittleEndian --Architecture=1 > mlibc/crt1.hex2 M1 -f stage0/x86.M1 -f mlibc/mini-libc-mes.M1 --LittleEndian --Architecture=1 > mlibc/libc-mes.hex2 M1 -f stage0/x86.M1 -f src/mes.M1 --LittleEndian --Architecture=1 > src/mes.hex2 hex2 --LittleEndian --Architecture=1 --BaseAddress=0x1000000 -f stage0/elf32-header.hex2 -f mlibc/crt1.hex2 -f mlibc/libc-mes.hex2 -f src/mes.hex2 -f stage0/elf32-footer-single-main.hex2 > src/mes-mes exec_enable src/mes-mes * mlibc/crt1.M1: New File. * mlibc/libc-mes.M1: New File. * src/mes.M1: New File.
This commit is contained in:
parent
81ddc698bb
commit
6c55f4bd28
33
mlibc/crt1.M1
Normal file
33
mlibc/crt1.M1
Normal file
|
@ -0,0 +1,33 @@
|
|||
|
||||
|
||||
:_start
|
||||
push___%ebp
|
||||
mov____%esp,%ebp
|
||||
sub____%esp,$i32 %0x1054
|
||||
mov____%ebp,%eax
|
||||
add____$i8,%eax !4
|
||||
movzbl_(%eax),%eax
|
||||
add____$i8,%eax !3
|
||||
shl____$i8,%eax !0x02
|
||||
add____%ebp,%eax
|
||||
mov____%eax,0x32 &g_environment
|
||||
mov____%ebp,%eax
|
||||
add____$i8,%eax !8
|
||||
push___%eax
|
||||
mov____%ebp,%eax
|
||||
add____$i8,%eax !4
|
||||
movzbl_(%eax),%eax
|
||||
push___%eax
|
||||
# main();
|
||||
call32 %main
|
||||
add____$i8,%esp !0x0
|
||||
test___%eax,%eax
|
||||
mov____%eax,%ebx
|
||||
mov____$i32,%eax %1
|
||||
int____$0x80
|
||||
hlt
|
||||
leave
|
||||
ret
|
||||
|
||||
:g_environment
|
||||
!0x00 !0x00 !0x00 !0x00
|
1917
mlibc/libc-mes.M1
Normal file
1917
mlibc/libc-mes.M1
Normal file
File diff suppressed because it is too large
Load diff
26483
src/mes.M1
Normal file
26483
src/mes.M1
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue