bootstrap: Update 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/libc-mes.M1: Update.
* src/mes.M1: Udate.
This commit is contained in:
Jan Nieuwenhuizen 2017-11-18 12:14:07 +01:00
parent ada6ac99dd
commit 35b1be535a
2 changed files with 5960 additions and 2121 deletions

View file

@ -104,7 +104,10 @@
:strlen_4_continue :strlen_4_continue
mov____0x8(%ebp),%eax !0x-4 mov____0x8(%ebp),%eax !0x-4
mov____%eax,%edx mov____%eax,%edx
mov____0x8(%ebp),%edx !0x8 push___%eax
mov____0x8(%ebp),%eax !0x8
mov____%eax,%edx
pop____%eax
add____%edx,%eax add____%edx,%eax
movzbl_(%eax),%eax movzbl_(%eax),%eax
test___%eax,%eax test___%eax,%eax
@ -334,7 +337,10 @@
# i = ungetc_buf[ungetc_char] # i = ungetc_buf[ungetc_char]
mov____0x32,%eax &ungetc_char mov____0x32,%eax &ungetc_char
mov____%eax,%edx mov____%eax,%edx
mov____$i32,%edx &ungetc_buf push___%eax
mov____$i32,%eax &ungetc_buf
mov____%eax,%edx
pop____%eax
add____%edx,%eax add____%edx,%eax
movzbl_(%eax),%eax movzbl_(%eax),%eax
mov____%eax,0x8(%ebp) !0x-8 mov____%eax,0x8(%ebp) !0x-8
@ -355,7 +361,7 @@
setl___%al setl___%al
movzbl_%al,%eax movzbl_%al,%eax
# jmp test LABEL # jmp test LABEL
jge32 %getchar_58_break jge32 %getchar_60_break
# i += 256 # i += 256
mov____$i32,%eax %0x100 mov____$i32,%eax %0x100
push___%eax push___%eax
@ -364,8 +370,8 @@
add____%edx,%eax add____%edx,%eax
mov____%eax,0x8(%ebp) !0x-8 mov____%eax,0x8(%ebp) !0x-8
test___%eax,%eax test___%eax,%eax
jmp32 %getchar_58_break jmp32 %getchar_60_break
:getchar_58_break :getchar_60_break
mov____0x8(%ebp),%eax !0x-8 mov____0x8(%ebp),%eax !0x-8
leave leave
ret ret
@ -435,7 +441,10 @@
push___%eax push___%eax
mov____0x32,%eax &ungetc_char mov____0x32,%eax &ungetc_char
mov____%eax,%edx mov____%eax,%edx
mov____$i32,%edx &ungetc_buf push___%eax
mov____$i32,%eax &ungetc_buf
mov____%eax,%edx
pop____%eax
add____%edx,%eax add____%edx,%eax
mov____%eax,%edx mov____%eax,%edx
pop____%eax pop____%eax
@ -593,19 +602,19 @@
setl___%al setl___%al
movzbl_%al,%eax movzbl_%al,%eax
# jmp test LABEL # jmp test LABEL
jge32 %itoa_23_break jge32 %itoa_24_break
# sign = 1 # sign = 1
mov____$i32,%eax %0x1 mov____$i32,%eax %0x1
mov____%eax,0x8(%ebp) !0x-8 mov____%eax,0x8(%ebp) !0x-8
test___%eax,%eax test___%eax,%eax
jmp32 %itoa_23_break jmp32 %itoa_24_break
:itoa_23_break :itoa_24_break
# if (sign) ... # if (sign) ...
mov____0x8(%ebp),%eax !0x-8 mov____0x8(%ebp),%eax !0x-8
test___%eax,%eax test___%eax,%eax
# jmp test LABEL # jmp test LABEL
test___%eax,%eax test___%eax,%eax
je32 %itoa_37_break je32 %itoa_38_break
# x = -x # x = -x
push___%eax push___%eax
mov____0x8(%ebp),%eax !0x8 mov____0x8(%ebp),%eax !0x8
@ -615,10 +624,10 @@
sub____%edx,%eax sub____%edx,%eax
mov____%eax,0x8(%ebp) !0x8 mov____%eax,0x8(%ebp) !0x8
test___%eax,%eax test___%eax,%eax
jmp32 %itoa_37_break jmp32 %itoa_38_break
:itoa_37_break :itoa_38_break
# do xwhile (...); # do xwhile (...);
:itoa_53_loop :itoa_54_loop
# *p = '0' + x%10 # *p = '0' + x%10
mov____$i32,%eax %0x30 mov____$i32,%eax %0x30
push___%eax push___%eax
@ -652,20 +661,20 @@
idiv___%ebx idiv___%ebx
mov____%eax,0x8(%ebp) !0x8 mov____%eax,0x8(%ebp) !0x8
test___%eax,%eax test___%eax,%eax
:itoa_53_continue :itoa_54_continue
mov____0x8(%ebp),%eax !0x8 mov____0x8(%ebp),%eax !0x8
test___%eax,%eax test___%eax,%eax
# jmp test LABEL # jmp test LABEL
test___%eax,%eax test___%eax,%eax
je32 %itoa_53_break je32 %itoa_54_break
jmp32 %itoa_53_loop jmp32 %itoa_54_loop
:itoa_53_break :itoa_54_break
# if (sign && *(p + 1) != '0') ... # if (sign && *(p + 1) != '0') ...
mov____0x8(%ebp),%eax !0x-8 mov____0x8(%ebp),%eax !0x-8
test___%eax,%eax test___%eax,%eax
# jmp test LABEL # jmp test LABEL
test___%eax,%eax test___%eax,%eax
je32 %itoa_87_break je32 %itoa_89_break
mov____0x8(%ebp),%eax !0x-4 mov____0x8(%ebp),%eax !0x-4
add____$i8,%eax !0x1 add____$i8,%eax !0x1
movzbl_(%eax),%eax movzbl_(%eax),%eax
@ -684,7 +693,7 @@
sahf sahf
pop____%eax pop____%eax
# jmp test LABEL # jmp test LABEL
jne32 %itoa_87_break jne32 %itoa_89_break
# *p = '-' # *p = '-'
mov____$i32,%eax %0x2d mov____$i32,%eax %0x2d
push___%eax push___%eax
@ -694,8 +703,8 @@
mov____%al,(%edx) mov____%al,(%edx)
add____$i8,0x8(%ebp) !0x-4 !0x-1 add____$i8,0x8(%ebp) !0x-4 !0x-1
test___%eax,%eax test___%eax,%eax
jmp32 %itoa_87_break jmp32 %itoa_89_break
:itoa_87_break :itoa_89_break
mov____0x8(%ebp),%eax !0x-4 mov____0x8(%ebp),%eax !0x-4
add____$i8,%eax !0x1 add____$i8,%eax !0x1
leave leave
@ -1644,11 +1653,11 @@
mov____%eax,0x8(%ebp) !0x-8 mov____%eax,0x8(%ebp) !0x-8
# switch (c) { ...} # switch (c) { ...}
movzbl_0x8(%ebp),%eax !0x-8 movzbl_0x8(%ebp),%eax !0x-8
:vsprintf_41_clause0 :vsprintf_42_clause0
cmp____$i8,%eax !0x25 cmp____$i8,%eax !0x25
je32 %vsprintf_41_body0 je32 %vsprintf_42_body0
jmp32 %vsprintf_41_clause1 jmp32 %vsprintf_42_clause1
:vsprintf_41_body0 :vsprintf_42_body0
# *str = *p # *str = *p
mov____0x8(%ebp),%eax !0x-4 mov____0x8(%ebp),%eax !0x-4
movzbl_(%eax),%eax movzbl_(%eax),%eax
@ -1659,13 +1668,13 @@
mov____%al,(%edx) mov____%al,(%edx)
add____$i8,0x8(%ebp) !0x8 !0x1 add____$i8,0x8(%ebp) !0x8 !0x1
test___%eax,%eax test___%eax,%eax
jmp32 %vsprintf_41_break jmp32 %vsprintf_42_break
jmp32 %vsprintf_41_body1 jmp32 %vsprintf_42_body1
:vsprintf_41_clause1 :vsprintf_42_clause1
cmp____$i8,%eax !0x63 cmp____$i8,%eax !0x63
je32 %vsprintf_41_body1 je32 %vsprintf_42_body1
jmp32 %vsprintf_41_clause2 jmp32 %vsprintf_42_clause2
:vsprintf_41_body1 :vsprintf_42_body1
# char c; # char c;
# c = (char)(int*)(ap = ap + 4)[-1] # c = (char)(int*)(ap = ap + 4)[-1]
push___%eax push___%eax
@ -1695,13 +1704,13 @@
mov____%al,(%edx) mov____%al,(%edx)
add____$i8,0x8(%ebp) !0x8 !0x1 add____$i8,0x8(%ebp) !0x8 !0x1
test___%eax,%eax test___%eax,%eax
jmp32 %vsprintf_41_break jmp32 %vsprintf_42_break
jmp32 %vsprintf_41_body2 jmp32 %vsprintf_42_body2
:vsprintf_41_clause2 :vsprintf_42_clause2
cmp____$i8,%eax !0x64 cmp____$i8,%eax !0x64
je32 %vsprintf_41_body2 je32 %vsprintf_42_body2
jmp32 %vsprintf_41_clause3 jmp32 %vsprintf_42_clause3
:vsprintf_41_body2 :vsprintf_42_body2
# int d; # int d;
# d = (int)(int*)(ap = ap + 4)[-1] # d = (int)(int*)(ap = ap + 4)[-1]
push___%eax push___%eax
@ -1730,8 +1739,8 @@
mov____%eax,0x8(%ebp) !0x-14 mov____%eax,0x8(%ebp) !0x-14
test___%eax,%eax test___%eax,%eax
# while (*s) ... # while (*s) ...
jmp32 %vsprintf_121_continue jmp32 %vsprintf_124_continue
:vsprintf_121_loop :vsprintf_124_loop
# *str = *s++ # *str = *s++
mov____0x8(%ebp),%eax !0x-14 mov____0x8(%ebp),%eax !0x-14
push___%eax push___%eax
@ -1747,23 +1756,23 @@
mov____%al,(%edx) mov____%al,(%edx)
add____$i8,0x8(%ebp) !0x8 !0x1 add____$i8,0x8(%ebp) !0x8 !0x1
test___%eax,%eax test___%eax,%eax
:vsprintf_121_continue :vsprintf_124_continue
mov____0x8(%ebp),%eax !0x-14 mov____0x8(%ebp),%eax !0x-14
movzbl_(%eax),%eax movzbl_(%eax),%eax
test___%eax,%eax test___%eax,%eax
# jmp test LABEL # jmp test LABEL
test___%eax,%eax test___%eax,%eax
test___%al,%al test___%al,%al
je32 %vsprintf_121_break je32 %vsprintf_124_break
jmp32 %vsprintf_121_loop jmp32 %vsprintf_124_loop
:vsprintf_121_break :vsprintf_124_break
jmp32 %vsprintf_41_break jmp32 %vsprintf_42_break
jmp32 %vsprintf_41_body3 jmp32 %vsprintf_42_body3
:vsprintf_41_clause3 :vsprintf_42_clause3
cmp____$i8,%eax !0x73 cmp____$i8,%eax !0x73
je32 %vsprintf_41_body3 je32 %vsprintf_42_body3
jmp32 %vsprintf_41_clause4 jmp32 %vsprintf_42_clause4
:vsprintf_41_body3 :vsprintf_42_body3
# char *s; # char *s;
# s = (char*)(int*)(ap = ap + 4)[-1] # s = (char*)(int*)(ap = ap + 4)[-1]
push___%eax push___%eax
@ -1785,8 +1794,8 @@
mov____%eax,0x8(%ebp) !0x-18 mov____%eax,0x8(%ebp) !0x-18
test___%eax,%eax test___%eax,%eax
# while (*s) ... # while (*s) ...
jmp32 %vsprintf_171_continue jmp32 %vsprintf_175_continue
:vsprintf_171_loop :vsprintf_175_loop
# *str = *s++ # *str = *s++
mov____0x8(%ebp),%eax !0x-18 mov____0x8(%ebp),%eax !0x-18
push___%eax push___%eax
@ -1802,20 +1811,20 @@
mov____%al,(%edx) mov____%al,(%edx)
add____$i8,0x8(%ebp) !0x8 !0x1 add____$i8,0x8(%ebp) !0x8 !0x1
test___%eax,%eax test___%eax,%eax
:vsprintf_171_continue :vsprintf_175_continue
mov____0x8(%ebp),%eax !0x-18 mov____0x8(%ebp),%eax !0x-18
movzbl_(%eax),%eax movzbl_(%eax),%eax
test___%eax,%eax test___%eax,%eax
# jmp test LABEL # jmp test LABEL
test___%eax,%eax test___%eax,%eax
test___%al,%al test___%al,%al
je32 %vsprintf_171_break je32 %vsprintf_175_break
jmp32 %vsprintf_171_loop jmp32 %vsprintf_175_loop
:vsprintf_171_break :vsprintf_175_break
jmp32 %vsprintf_41_break jmp32 %vsprintf_42_break
jmp32 %vsprintf_41_body4 jmp32 %vsprintf_42_body4
:vsprintf_41_clause4 :vsprintf_42_clause4
:vsprintf_41_body4 :vsprintf_42_body4
# *str = *p # *str = *p
mov____0x8(%ebp),%eax !0x-4 mov____0x8(%ebp),%eax !0x-4
movzbl_(%eax),%eax movzbl_(%eax),%eax
@ -1826,8 +1835,8 @@
mov____%al,(%edx) mov____%al,(%edx)
add____$i8,0x8(%ebp) !0x8 !0x1 add____$i8,0x8(%ebp) !0x8 !0x1
test___%eax,%eax test___%eax,%eax
jmp32 %vsprintf_41_break jmp32 %vsprintf_42_break
:vsprintf_41_break :vsprintf_42_break
mov____0x8(%ebp),%eax !0x-4 mov____0x8(%ebp),%eax !0x-4
push___%eax push___%eax
mov____%ebp,%eax mov____%ebp,%eax

7950
src/mes.M1

File diff suppressed because it is too large Load diff