Finished testing, works as expected...
This commit is contained in:
parent
a5f5b68640
commit
c8b11c71f5
@ -1,44 +1,18 @@
|
||||
unix program heyo_world
|
||||
s8 [] heyo = "Heyo world!\n"
|
||||
s8 [] cyaa = "Cyaa world!\n"
|
||||
begin
|
||||
mov eax 1
|
||||
mov edi 1
|
||||
mov esi heyo
|
||||
mov edx 12
|
||||
syscall
|
||||
mov eax 1
|
||||
mov edi 1
|
||||
mov esi cyaa
|
||||
mov edx 12
|
||||
syscall
|
||||
mov eax 60
|
||||
mov edi 60
|
||||
syscall
|
||||
end program
|
||||
|
||||
/*
|
||||
7F 45 4C 46 02 01 01 03
|
||||
00 00 00 00 00 00 00 00
|
||||
02 00 3E 00 01 00 00 00
|
||||
B0 00 40 00 00 00 00 00
|
||||
40 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00
|
||||
00 00 00 00 40 00 38 00
|
||||
02 00 40 00 00 00 00 00
|
||||
|
||||
01 00 00 00 05 00 00 00
|
||||
00 00 00 00 00 00 00 00
|
||||
00 00 40 00 00 00 00 00
|
||||
00 00 40 00 00 00 00 00
|
||||
22 00 00 00 00 00 00 00
|
||||
22 00 00 00 00 00 00 00
|
||||
00 10 00 00 00 00 00 00
|
||||
|
||||
01 00 00 00 06 00 00 00
|
||||
D2 00 00 00 00 00 00 00
|
||||
D2 10 40 00 00 00 00 00
|
||||
D2 10 40 00 00 00 00 00
|
||||
0C 00 00 00 00 00 00 00
|
||||
0C 00 00 00 00 00 00 00
|
||||
00 10 00 00 00 00 00 00
|
||||
|
||||
B0 01 00 00 00 B7 01 00 00 00 B6 D2 10 40 00 B2 0C 00 00 00
|
||||
0F 05 B0 3C 00 00 00 B7 00 00 00 00 0F 05
|
||||
|
||||
68 65 79 6F 20 77 6F 72 6C 64 21 0A
|
||||
*/
|
||||
|
@ -15,6 +15,11 @@ static unsigned int array [] = {
|
||||
NOP, MOV, D32, REG, R0, IMM, 1,
|
||||
NOP, MOV, D32, REG, R7, IMM, 1,
|
||||
NOP, MOV, D32, REG, R6, REL, 1,
|
||||
NOP, MOV, D32, REG, R2, IMM, 20,
|
||||
NOP, SYSCALL,
|
||||
NOP, MOV, D32, REG, R0, IMM, 1,
|
||||
NOP, MOV, D32, REG, R7, IMM, 1,
|
||||
NOP, MOV, D32, REG, R6, REL, 2,
|
||||
NOP, MOV, D32, REG, R2, IMM, 12,
|
||||
NOP, SYSCALL,
|
||||
NOP, MOV, D32, REG, R0, IMM, 60,
|
||||
@ -22,7 +27,7 @@ static unsigned int array [] = {
|
||||
NOP, SYSCALL,
|
||||
NOP,
|
||||
ASMDIRMEM, 0,
|
||||
ASMDIRIMM, D8, 72,
|
||||
ASMDIRIMM, D8, 72, /* ARRAY SUPPORT */
|
||||
ASMDIRIMM, D8, 101,
|
||||
ASMDIRIMM, D8, 121,
|
||||
ASMDIRIMM, D8, 111,
|
||||
@ -40,6 +45,27 @@ static unsigned int array [] = {
|
||||
ASMDIRIMM, D8, 97,
|
||||
ASMDIRIMM, D8, 97,
|
||||
ASMDIRIMM, D8, 32,
|
||||
ASMDIRIMM, D8, 102,
|
||||
ASMDIRIMM, D8, 117,
|
||||
ASMDIRIMM, D8, 99,
|
||||
ASMDIRIMM, D8, 107,
|
||||
ASMDIRIMM, D8, 105,
|
||||
ASMDIRIMM, D8, 110,
|
||||
ASMDIRIMM, D8, 103,
|
||||
ASMDIRIMM, D8, 32,
|
||||
ASMDIRIMM, D8, 119,
|
||||
ASMDIRIMM, D8, 111,
|
||||
ASMDIRIMM, D8, 114,
|
||||
ASMDIRIMM, D8, 108,
|
||||
ASMDIRIMM, D8, 100,
|
||||
ASMDIRIMM, D8, 33,
|
||||
ASMDIRIMM, D8, 10,
|
||||
ASMDIRMEM, 2,
|
||||
ASMDIRIMM, D8, 77,
|
||||
ASMDIRIMM, D8, 101,
|
||||
ASMDIRIMM, D8, 109,
|
||||
ASMDIRIMM, D8, 101,
|
||||
ASMDIRIMM, D8, 32,
|
||||
ASMDIRIMM, D8, 119,
|
||||
ASMDIRIMM, D8, 111,
|
||||
ASMDIRIMM, D8, 114,
|
||||
@ -56,9 +82,11 @@ int main (void) {
|
||||
|
||||
file = fopen ("run_me_please", "w+");
|
||||
|
||||
assemble ((unsigned int) (sizeof (array) / sizeof (array [0])), array);
|
||||
|
||||
elf_main_header (1, 1, 1, 0);
|
||||
elf_text_sector (70);
|
||||
elf_data_sector (70, 24);
|
||||
elf_text_sector (text_sector_size);
|
||||
elf_data_sector (text_sector_size, 36+8);
|
||||
|
||||
fwrite (elf_main_header_byte, 1UL, ELF_MAIN_HEADER_SIZE, file);
|
||||
fwrite (elf_text_sector_byte, 1UL, ELF_TEXT_SECTOR_SIZE, file);
|
||||
@ -66,60 +94,11 @@ int main (void) {
|
||||
|
||||
printf ("> %u\n", (unsigned int) (sizeof (array) / sizeof (array [0])));
|
||||
|
||||
assemble ((unsigned int) (sizeof (array) / sizeof (array [0])), array);
|
||||
|
||||
fwrite (text_sector_byte, 1UL, (size_t) text_sector_size, file);
|
||||
|
||||
//~fwrite ("Heyo world!\n", 1UL, 12, file);
|
||||
|
||||
free (text_sector_byte);
|
||||
|
||||
fclose (file);
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*
|
||||
7F_45_4C_46_02_01_01_03_00_00_00_00_00_00_00_00_
|
||||
02_00_3E_00_01_00_00_00_B0_00_40_00_00_00_00_00_
|
||||
40_00_00_00_00_00_00_00_00_00_00_00_00_00_00_00_
|
||||
00_00_00_00_40_00_38_00_02_00_40_00_00_00_00_00_
|
||||
01_00_00_00_05_00_00_00_00_00_00_00_00_00_00_00_
|
||||
00_00_40_00_00_00_00_00_00_00_40_00_00_00_00_00_
|
||||
D2_00_00_00_00_00_00_00_D2_00_00_00_00_00_00_00_
|
||||
00_10_00_00_00_00_00_00_01_00_00_00_06_00_00_00_
|
||||
D2_00_00_00_00_00_00_00_D2_10_40_00_00_00_00_00_
|
||||
D2_10_40_00_00_00_00_00_0C_00_00_00_00_00_00_00_
|
||||
0C_00_00_00_00_00_00_00_00_10_00_00_00_00_00_00_
|
||||
90_B8_01_00_00_00_
|
||||
90_BF_01_00_00_00_
|
||||
90_BE_00_40_10_2A_
|
||||
90_BA_0C_00_00_00_
|
||||
90_0F_05_
|
||||
90_B8_3C_00_00_00_
|
||||
90_BF_3C_00_00_00_
|
||||
90_0F_05_
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
GOOD
|
||||
--------------------------------------------------------------------------------
|
||||
7F 45 4C 46 02 01 01 03 00 00 00 00 00 00 00 00
|
||||
02 00 3E 00 01 00 00 00 B0 00 40 00 00 00 00 00
|
||||
40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 40 00 38 00 02 00 40 00 00 00 00 00
|
||||
01 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 40 00 00 00 00 00 00 00 40 00 00 00 00 00
|
||||
DA 00 00 00 00 00 00 00 DA 00 00 00 00 00 00 00
|
||||
00 10 00 00 00 00 00 00 01 00 00 00 06 00 00 00
|
||||
DA 00 00 00 00 00 00 00 DA 10 40 00 00 00 00 00
|
||||
DA 10 40 00 00 00 00 00 0C 00 00 00 00 00 00 00
|
||||
0C 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00
|
||||
90 B8 01 00 00 00
|
||||
90 BF 01 00 00 00
|
||||
90 BE DA 10 40 00
|
||||
90 BA 0C 00 00 00
|
||||
90 0F 05
|
||||
90 B8 3C 00 00 00
|
||||
90 BF 3C 00 00 00
|
||||
90 0F 05 48 65 79 6F 20 77 6F 72 6C 64 21 0A
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user