Compiled and ran an example...

This commit is contained in:
xolatile
2024-07-07 14:26:35 -04:00
parent d6c6135c58
commit fbcdb11f96
3 changed files with 14 additions and 7 deletions
documentation
source

@ -15,3 +15,8 @@ segment readable executable
segment readable writable
heyo: db "heyo world!", 10
; FASM
; 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 B8 01 00 00 00 BF 01 00 00 00 BE D2 10 40 00 BA 0C 00 00 00 0F 05 B8 3C 00 00 00 BF 00 00 00 00 0F 05 68 65 79 6F 20 77 6F 72 6C 64 21 0A
; 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 C5 00 00 00 00 00 00 00 C5 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 01 00 00 00 06 00 00 00 C5 00 00 00 00 00 00 00 C5 10 40 00 00 00 00 00 C5 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 B8 01 00 00 00 BD 01 00 00 00 BC D2 10 40 00 BB 0C 00 00 00 0F 05 B8 3C 00 00 00 BD 00 00 00 00 0F 05 68 65 79 6F 20 77 6F 72 6C 64 21 0A
; EAXHLA

@ -282,13 +282,13 @@ register: RAX { $$ = R0; }
| RGXMM7 { $$ = 0; }
/* XXX !!! */
register: EAX { $$ = R0; }
| EBX { $$ = R1; }
| ECX { $$ = R2; }
| EDX { $$ = R3; }
| ESI { $$ = R4; }
| EDI { $$ = R5; }
| EBP { $$ = R6; }
| ESP { $$ = R7; }
| EBX { $$ = R3; }
| ECX { $$ = R1; }
| EDX { $$ = R2; }
| ESI { $$ = R6; }
| EDI { $$ = R7; }
| EBP { $$ = R5; }
| ESP { $$ = R4; }
;
artimetric_block: '{' artimetric_expression '}' { $$ = $2; }

@ -69,6 +69,8 @@ void append_instruction_t6 (int t6, int w, int d, int r, int s, int i) {
append_token (r); // register
append_token (s); // source
append_token (i); // immediate
printf ("> MOV D32 REG %i IMM %i\n", r, i);
}
void append_instruction_t1 (int t1) {