Add M0.hex2.

This commit is contained in:
Andrius Štikonas 2022-09-25 23:00:52 +01:00
parent cf07861e37
commit d647ffa3a6
8 changed files with 3257 additions and 5 deletions

1175
amd64/Development/M0.M1 Normal file

File diff suppressed because it is too large Load Diff

1035
amd64/Development/M0.S Normal file

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
targets = kaem-optional hex0 hex1 hex2 catm
targets = kaem-optional hex0 hex1 hex2 catm M0
cc = clang
cflags = -ffreestanding -MMD -mno-red-zone -std=c11 -target x86_64-unknown-windows -masm=intel

View File

@ -109,7 +109,7 @@ DEFINE sub_rax, 83E8
DEFINE sub_rbx, 4883EB
DEFINE sub_rsp, 4883EC
DEFINE sub_rax,rdx 4829D0
DEFINE test_esi_esi 85F6
DEFINE test_esi,esi 85F6
DEFINE xor_eax,eax 31C0
DEFINE xor_edx,edx 31D2
DEFINE xor_esi,esi 31F6
@ -496,7 +496,7 @@ DEFINE xor_r9,r9 4D31C9
pop_r11 # restore r11
# If the file ended (0 bytes read) return EOF
test_esi_esi
test_esi,esi
jne %Read_byte_1
mov_rax, %-4 # Put EOF in rax

1034
amd64/M0.hex2 Normal file

File diff suppressed because it is too large Load Diff

View File

@ -118,7 +118,7 @@ F0 00 # SizeOfOptionalHeader
# [0x148]
# Start of section headers
00 00 00 00 00 00 00 00 ; Name of the section (empty) but could set to ".text"
2E 74 65 78 74 00 00 00 ; Name of the section: ".text"
%PE32_end>PE32_text ; VirtualSize
00 10 00 00 ; VirtualAddress
%PE32_end>PE32_text ; SizeOfRawData

View File

@ -515,7 +515,7 @@ DD 06 00 00 ; SizeOfRawData
415B ; pop_r11 # restore r11
# If the file ended (0 bytes read) return EOF
85F6 ; test_esi_esi
85F6 ; test_esi,esi
0F85 %y ; jne %Read_byte_1
48C7C0 FCFFFFFF ; mov_rax, %-4 # Put EOF in rax

View File

@ -26,3 +26,11 @@ amd64\artifact\hex1.efi amd64\hex2.hex1 amd64\artifact\hex2-0.efi
amd64\artifact\hex2-0.efi amd64\catm.hex2 amd64\artifact\catm.efi
# catm removes the need for cat or shell support for redirection by providing
# equivalent functionality via catm output_file input1 input2 ... inputN
###############################
# Phase-3 Build M0 from hex2 #
###############################
amd64\artifact\catm.efi amd64\artifact\M0.hex2 amd64\PE32-amd64.hex2 amd64\M0.hex2
amd64\artifact\hex2-0.efi amd64\artifact\M0.hex2 amd64\artifact\M0.efi
# M0 is the architecture specific version of M1 and is by design single
# architecture only and will be replaced by the C code version of M1