Commit graph

56 commits

Author SHA1 Message Date
Sami Samhuri
0269598c16 cleaned up comments on relocation info 2010-01-19 23:18:50 -08:00
Sami Samhuri
c452fc1c28 formatted comments 2010-01-19 23:18:16 -08:00
Sami Samhuri
aea6e5c070 updated .gitignore 2010-01-19 23:13:13 -08:00
Sami Samhuri
874578f9e8 added test for large object file generation 2010-01-19 23:07:47 -08:00
Sami Samhuri
fe37723c2f added relocation tables 2010-01-18 20:24:37 -08:00
Sami Samhuri
558d5e73a9 fixed compiling. (had only been running tests which require and use the build method directly) 2010-01-13 21:50:30 -08:00
Sami Samhuri
9d31c1e983 cleaned up README 2010-01-13 21:36:08 -08:00
sjs
63cf421501 fixed a syntax error and argument error -- always test before commiting 2009-10-20 18:25:38 -07:00
sjs
de366ea542 Removed duplication thanks to caliper @ http://devver.net 2009-10-20 18:04:10 -07:00
sjs
dd297479f6 fixed markdown in README (again) 2009-09-24 15:37:54 -07:00
sjs
fac04f27da fixed markdown in README (again) 2009-09-24 15:37:07 -07:00
sjs
eb0caa0272 fixed markdown in README 2009-09-24 15:31:14 -07:00
sjs
8af853188f updated README, converted to markdown 2009-09-24 15:29:56 -07:00
sjs
fe05aa73ad added README 2009-09-23 15:55:25 -07:00
Sami Samhuri
1877d7e4d7 [CHANGED] updated comments, removed some unnecessary code 2009-06-26 15:37:48 -07:00
Sami Samhuri
a7a30b329a [CHANGED] added trash to .gitignore 2009-06-26 11:39:52 -07:00
Sami Samhuri
ed1a3444c7 [CHANGED] Removed use of the LOOP instruction. 2009-06-26 11:37:45 -07:00
Sami Samhuri
448c47156e [CHANGED] Factored out opcode group #3 (MUL, IMUL, DIV, IDIV, NEG, and NOT) 2009-06-26 11:25:10 -07:00
Sami Samhuri
42c07eb18d [CHANGED] default test suite now includes big_test 2009-06-26 11:22:48 -07:00
Sami Samhuri
0fbb366e9c [NEW] Encode [esp] and [ebp] as [esp+0] and [ebp+0] using SIB and disp8 respectively. 2009-06-26 10:13:49 -07:00
Sami Samhuri
99ad11f724 [NEW] support for IMUL, IDIV, CDQ, and XCHG. big_test now passes as well. 2009-06-25 17:55:17 -07:00
Sami Samhuri
bc6a3d4d3b [NEW] Binary assembler outputs working machine code and Mach-O object files that can be linked into working executables. 2009-06-25 09:42:56 -07:00
Sami Samhuri
47ce9043e4 [FIXED] print on Darwin ... probably still violates calling convention. 2009-05-25 17:18:58 -07:00
Sami Samhuri
a4506bab10 [NEW] First hints of cross-platform support. Compiles to Mach-O on Darwin with nasm and gcc.
There is no binary assembler support for Darwin yet! I'm not sure when I will dive into the details
of generating a Mach-O binary from Ruby or C.

[MERGED] Binary assembler support.  It *should* work on ELF but it needs testing on Linux.
2009-05-25 16:26:21 -07:00
sjs
76d4d2be3a [BUNK] moving to macbook, broken commit. 2009-05-24 20:29:17 -07:00
sjs
83accb5bba [NEW] x86_inc instruction with some binary encoding. 2009-05-24 14:05:40 -07:00
sjs
5e317aaacc [NEW] broke assembler code into its own module before merging machinecode branch. 2009-05-24 13:45:06 -07:00
sjs
3fad8e3522 updated Makefiles 2009-05-24 13:29:25 -07:00
sjs
d89ab8f1b1 [NEW] test dir and better tests 2009-05-24 13:01:45 -07:00
sjs
574a793638 updated .gitignore (new test dir) 2009-05-24 13:01:12 -07:00
sjs
b8581b8b24 [FIXED] relations and the do loop. abstracted simple loops. 2009-05-24 12:57:56 -07:00
sjs
41eb590d44 [NEW] real tokens and boolean operators (logic withstanding) 2009-05-24 08:24:43 -07:00
sjs
ead7e52e92 updated .gitignore, removed generated asm for tests 2009-05-21 14:15:19 -07:00
sjs
dc23e23b92 [NEW] Boolean expressions. Print statement. 2009-05-21 13:39:20 -07:00
sjs
55c047d0ef [FIXED] handle unary plus and minary properly 2009-05-20 13:48:30 -07:00
sjs
f7e63cbe21 [NEW] do statement, d 10 a = a * a e 2009-05-20 13:32:17 -07:00
sjs
dd6d342dd4 [NEW] simple VB style for loop, f x = 1 >> 5 s = s + x e 2009-05-20 11:47:28 -07:00
sjs
9607df73d2 added min2 to .gitignore 2009-05-19 18:38:28 -07:00
sjs
d22e3b6306 [FIXED] compiler appends _exit code to binary output 2009-05-19 18:09:28 -07:00
sjs
b7a4b408bb [CHANGED] elfwriter now outputs 3 segments/phdrs: text, data, bss (with new sizes) 2009-05-19 17:31:31 -07:00
sjs
a93c8d2fa6 updated .gitignore 2009-05-19 17:30:56 -07:00
sjs
e20e1399bd [NEW] some notes on x86 encoding. 2009-05-19 17:04:18 -07:00
sjs
3f070cd0db [NEW] Emit x86 code for the mov instruction. Barely works 1/2 the time.
The supporting infrastructure includes a C program for reading a
binary blob of x86 code and wrapping it in an ELF executable for Linux
x86.  Unsure about getting the data for other sections of the binary
besides .text.
2009-05-19 17:01:14 -07:00
sjs
221efca282 [NEW] while, until, repeat, and break keywords.
While and until loops work as in C and Ruby.  Repeat loops infinitely
(or until a break is encountered).  Break is used to break out of the
innermost loop construct.
2009-05-17 08:13:43 -07:00
sjs
e547804711 [CHANGED] only generate required labels in if-else 2009-05-16 15:40:43 -07:00
sjs
0431cd60f3 [CHANGED] if statement supports else clause 2009-05-16 15:34:14 -07:00
sjs
f5678a312e [NEW] Rudimentary if statement. No else yet. 2009-05-16 14:49:26 -07:00
sjs
cc83fdfabc [NEW] Added the bare-bones interpreter with i/o primitives. 2009-05-15 09:38:16 -07:00
sjs
785f229eec [CHANGED] subtraction is now implemented it terms of ADD. 2009-05-15 09:37:44 -07:00
sjs
e7a6162e7b added .gitignore 2009-05-14 13:21:07 -07:00