Merge branch 'master' of https://codeberg.org/eaxcc/eaxcc
This commit is contained in:
commit
8514fde8b1
@ -89,14 +89,8 @@ static void delay (form when,
|
||||
|
||||
static void asmdirimm (form when,
|
||||
size_index size,
|
||||
//~next redo,
|
||||
next data) {
|
||||
/* */
|
||||
//~next i;
|
||||
|
||||
//~for (i = 0; i < redo; ++i) {
|
||||
print (when, size, data);
|
||||
//~}
|
||||
print (when, size, data);
|
||||
}
|
||||
|
||||
static form front (form data) { return ((data >= 4) && (data <= 7)); }
|
||||
@ -359,8 +353,12 @@ void assemble (next count,
|
||||
asmdirmem (1, array [index + 1]);
|
||||
index += 1;
|
||||
} else if (array [index] == ASMDIRIMM) {
|
||||
asmdirimm (1, array [index + 1], array [index + 2]);
|
||||
index += 2;
|
||||
next repeat;
|
||||
for (repeat = 0; repeat < array [index + 2]; ++repeat) {
|
||||
asmdirimm (1, array [index + 1],
|
||||
array [index + 3 + repeat]);
|
||||
}
|
||||
index += 2 + array [index + 2];
|
||||
//~} else if (array [index] == ASMDIRREP) {
|
||||
} else if ((array [index] >= REGULAR_BEGIN)
|
||||
&& (array [index] <= REGULAR_END)) {
|
||||
|
@ -1,10 +1,16 @@
|
||||
unix program heyo_world
|
||||
s8 <> heyo = "Heyo world!"
|
||||
s8 <> heyo = "Heyo world!\n"
|
||||
s8 <> cyaa = "Cyaa world!\n"
|
||||
begin
|
||||
/*
|
||||
nop mov eax 1
|
||||
nop mov edi 1
|
||||
nop mov esi 4198610
|
||||
nop mov esi heyo
|
||||
nop mov edx 12
|
||||
nop syscall
|
||||
nop mov eax 1
|
||||
nop mov edi 1
|
||||
nop mov esi cyaa
|
||||
nop mov edx 12
|
||||
nop syscall
|
||||
*/
|
||||
@ -53,27 +59,6 @@ end program
|
||||
ASMDIRIMM, D8, 33,
|
||||
ASMDIRIMM, D8, 10,
|
||||
ASMDIRMEM, 1,
|
||||
ASMDIRIMM, D8, 67,
|
||||
ASMDIRIMM, D8, 121,
|
||||
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,
|
||||
|
@ -176,7 +176,17 @@ int main (void) {
|
||||
} else if (index == token_count) {
|
||||
if (isdigit (buffer [offset - size - 1]) != 0) {
|
||||
if (scope_directive) {
|
||||
tokenize (atoi (& buffer [offset - size - 1]));
|
||||
scope = atoi (& buffer [offset - size - 1]);
|
||||
tokenize (scope);
|
||||
do {
|
||||
leq_string (& buffer [offset], & word, & size);
|
||||
index = 0;
|
||||
do {
|
||||
if (word == token_leq [index]) break;
|
||||
} while (++index != token_count);
|
||||
offset += size + 1;
|
||||
tokenize (atoi (& buffer [offset - size - 1]));
|
||||
} while (--scope != 0);
|
||||
scope_directive = 0;
|
||||
} else {
|
||||
buffer [offset - 1] = '\0';
|
||||
|
@ -6,5 +6,5 @@ nop syscall
|
||||
nop mov eax 60
|
||||
nop mov edi 60
|
||||
nop syscall
|
||||
nop . heyo db 72 db 69 db 89 db 79 db 10
|
||||
nop . heyo db 5 72 69 89 79 10
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user