Commit graph

  • 5da06f938c
    Update email address in readme master Sami Samhuri 2025-06-08 19:14:47 -0700
  • eae0998878 Fix a typo Sami Samhuri 2019-12-02 09:22:19 -0800
  • 7d12f1f994 comment Sami Samhuri 2014-02-22 12:10:41 -0800
  • 767e97d1c4 fix a bug encoding MOV [r/m byte] [immediate byte] Sami Samhuri 2014-02-22 12:10:35 -0800
  • 7fbee3ae4f use intermediate variables to clean up a method Sami Samhuri 2014-02-22 11:55:38 -0800
  • 8013b8796c remove trailing whitespace Sami Samhuri 2014-02-22 11:53:38 -0800
  • 87672a1a00 fix a typo Sami Samhuri 2014-02-22 11:42:37 -0800
  • 4cf2f09a73 modify in build.rb, not test.rb Sami Samhuri 2014-05-20 14:51:36 -0700
  • 20c758ae85 small bug fixes Sami Samhuri 2013-01-20 22:51:10 -0800
  • e77ac481d8 ruby 1.9 compatible case statements Sami Samhuri 2013-01-20 22:50:51 -0800
  • 88a7ca99e9 trying to fix github saying compiler.rb is not found Sami Samhuri 2010-09-25 11:35:29 -0700
  • be4bd30315 build test files in bin/ subdir, cleaned up Makefile and .gitignore. Sami Samhuri 2010-02-14 23:26:11 -0800
  • 9b5c3b795e implement lazy boolean OR and AND operators, || and && respectively Sami Samhuri 2010-02-14 23:15:38 -0800
  • f7e44b7472 finished bitwise AND, OR, and XOR Sami Samhuri 2010-02-14 23:14:39 -0800
  • 8f5269fffc add tests for boolean and bitwise ops Sami Samhuri 2010-02-14 23:12:38 -0800
  • 10c4576569 rearranged a few things Sami Samhuri 2010-02-14 19:02:15 -0800
  • 18d3bab844 add bit manipulation ops | (OR) & (AND) and ^ (XOR) Sami Samhuri 2010-02-14 19:01:57 -0800
  • d2e7c987d8 # comments till the end of the current line Sami Samhuri 2010-02-14 18:59:05 -0800
  • 509c7a88ce implement OR for r/m32, r32 and r/m8, imm8 Sami Samhuri 2010-02-14 18:56:43 -0800
  • e3b220dd2d implement AND for r/m32, r32 Sami Samhuri 2010-02-14 18:56:23 -0800
  • 9667c21e8b op precedence pseudo-bnf Sami Samhuri 2010-02-14 18:55:51 -0800
  • 5940ac99c0 remove some crufty comments Sami Samhuri 2010-02-14 12:00:51 -0800
  • 3422f201d1 clean up block by moving keywords into a lookup table. Sami Samhuri 2010-02-08 23:37:27 -0800
  • 0db6becd33 add huge test to default suite Sami Samhuri 2010-01-20 23:22:04 -0800
  • 90bcdbf659 declare variable sizes in bytes, and stop trampling other vars in memory. Sami Samhuri 2010-01-20 23:20:33 -0800
  • 7ee7b8ec48 implemented MOV r/m8, imm8 Sami Samhuri 2010-01-20 23:19:26 -0800
  • b3dad0b947 register? is more robust, rm? works with sizes properly, e.g. [:byte, <addr/var>] Sami Samhuri 2010-01-20 23:17:34 -0800
  • f9acae7e15 replace hardcoded variable sizes with the MachineBytes constant Sami Samhuri 2010-01-20 23:15:00 -0800
  • 3495c0450a updated README to reflect current implementation of print Sami Samhuri 2010-01-20 20:50:18 -0800
  • cfd97c5cbd Revert "use print correctly in tests" Sami Samhuri 2010-01-20 20:49:12 -0800
  • 72508aafbf use print correctly in tests Sami Samhuri 2010-01-20 20:31:11 -0800
  • 0298c9bbf3 updated README Sami Samhuri 2010-01-20 00:00:07 -0800
  • 7aa6fa7d15 cleaning out the cruft Sami Samhuri 2010-01-19 23:32:30 -0800
  • 0c21d1abc6 [big commit] use variable proxies to defer address calculation twopass Sami Samhuri 2010-01-19 23:23:54 -0800
  • 19d79c8836 symbol table now uses offsets instead of absolute addresses Sami Samhuri 2010-01-19 23:22:40 -0800
  • ce1f5bb4dc support relocation info Sami Samhuri 2010-01-19 23:19:47 -0800
  • 0269598c16 cleaned up comments on relocation info Sami Samhuri 2010-01-19 23:18:50 -0800
  • c452fc1c28 formatted comments Sami Samhuri 2010-01-19 23:18:16 -0800
  • aea6e5c070 updated .gitignore Sami Samhuri 2010-01-19 23:13:13 -0800
  • 874578f9e8 added test for large object file generation Sami Samhuri 2010-01-19 23:07:47 -0800
  • fe37723c2f added relocation tables Sami Samhuri 2010-01-18 20:24:37 -0800
  • 558d5e73a9 fixed compiling. (had only been running tests which require and use the build method directly) Sami Samhuri 2010-01-13 21:50:30 -0800
  • 9d31c1e983 cleaned up README Sami Samhuri 2010-01-13 21:36:08 -0800
  • 63cf421501 fixed a syntax error and argument error -- always test before commiting sjs 2009-10-20 18:25:38 -0700
  • de366ea542 Removed duplication thanks to caliper @ http://devver.net sjs 2009-10-20 18:04:10 -0700
  • dd297479f6 fixed markdown in README (again) sjs 2009-09-24 15:37:54 -0700
  • fac04f27da fixed markdown in README (again) sjs 2009-09-24 15:37:07 -0700
  • eb0caa0272 fixed markdown in README sjs 2009-09-24 15:31:14 -0700
  • 8af853188f updated README, converted to markdown sjs 2009-09-24 15:29:56 -0700
  • fe05aa73ad added README sjs 2009-09-23 15:55:25 -0700
  • 1877d7e4d7 [CHANGED] updated comments, removed some unnecessary code Sami Samhuri 2009-06-26 15:37:48 -0700
  • a7a30b329a [CHANGED] added trash to .gitignore Sami Samhuri 2009-06-26 11:39:52 -0700
  • ed1a3444c7 [CHANGED] Removed use of the LOOP instruction. Sami Samhuri 2009-06-26 11:37:45 -0700
  • 448c47156e [CHANGED] Factored out opcode group #3 (MUL, IMUL, DIV, IDIV, NEG, and NOT) Sami Samhuri 2009-06-26 11:25:10 -0700
  • 42c07eb18d [CHANGED] default test suite now includes big_test Sami Samhuri 2009-06-26 11:22:48 -0700
  • 0fbb366e9c [NEW] Encode [esp] and [ebp] as [esp+0] and [ebp+0] using SIB and disp8 respectively. Sami Samhuri 2009-06-26 10:13:49 -0700
  • 99ad11f724 [NEW] support for IMUL, IDIV, CDQ, and XCHG. big_test now passes as well. Sami Samhuri 2009-06-25 17:55:17 -0700
  • bc6a3d4d3b [NEW] Binary assembler outputs working machine code and Mach-O object files that can be linked into working executables. Sami Samhuri 2009-06-25 09:42:56 -0700
  • 47ce9043e4 [FIXED] print on Darwin ... probably still violates calling convention. Sami Samhuri 2009-05-25 17:18:58 -0700
  • a4506bab10 [NEW] First hints of cross-platform support. Compiles to Mach-O on Darwin with nasm and gcc. Sami Samhuri 2009-05-25 16:26:21 -0700
  • 76d4d2be3a [BUNK] moving to macbook, broken commit. sjs 2009-05-24 20:27:28 -0700
  • 83accb5bba [NEW] x86_inc instruction with some binary encoding. sjs 2009-05-24 14:05:40 -0700
  • 5e317aaacc [NEW] broke assembler code into its own module before merging machinecode branch. sjs 2009-05-24 13:45:06 -0700
  • 3fad8e3522 updated Makefiles sjs 2009-05-24 13:29:25 -0700
  • d89ab8f1b1 [NEW] test dir and better tests sjs 2009-05-24 13:01:45 -0700
  • 574a793638 updated .gitignore (new test dir) sjs 2009-05-24 13:01:12 -0700
  • b8581b8b24 [FIXED] relations and the do loop. abstracted simple loops. sjs 2009-05-24 12:57:56 -0700
  • 41eb590d44 [NEW] real tokens and boolean operators (logic withstanding) sjs 2009-05-24 08:24:43 -0700
  • ead7e52e92 updated .gitignore, removed generated asm for tests sjs 2009-05-21 14:08:51 -0700
  • dc23e23b92 [NEW] Boolean expressions. Print statement. sjs 2009-05-21 13:39:20 -0700
  • 55c047d0ef [FIXED] handle unary plus and minary properly sjs 2009-05-20 13:48:30 -0700
  • f7e63cbe21 [NEW] do statement, d 10 a = a * a e sjs 2009-05-20 13:28:44 -0700
  • dd6d342dd4 [NEW] simple VB style for loop, f x = 1 >> 5 s = s + x e sjs 2009-05-20 11:39:21 -0700
  • 9607df73d2 added min2 to .gitignore sjs 2009-05-19 18:38:28 -0700
  • d22e3b6306 [FIXED] compiler appends _exit code to binary output sjs 2009-05-19 18:09:28 -0700
  • b7a4b408bb [CHANGED] elfwriter now outputs 3 segments/phdrs: text, data, bss (with new sizes) sjs 2009-05-19 17:31:31 -0700
  • a93c8d2fa6 updated .gitignore sjs 2009-05-19 17:30:56 -0700
  • e20e1399bd [NEW] some notes on x86 encoding. sjs 2009-05-19 17:04:18 -0700
  • 3f070cd0db [NEW] Emit x86 code for the mov instruction. Barely works 1/2 the time. sjs 2009-05-19 17:01:14 -0700
  • 221efca282 [NEW] while, until, repeat, and break keywords. sjs 2009-05-17 08:13:43 -0700
  • e547804711 [CHANGED] only generate required labels in if-else sjs 2009-05-16 15:40:43 -0700
  • 0431cd60f3 [CHANGED] if statement supports else clause sjs 2009-05-16 15:34:14 -0700
  • f5678a312e [NEW] Rudimentary if statement. No else yet. sjs 2009-05-16 14:49:26 -0700
  • cc83fdfabc [NEW] Added the bare-bones interpreter with i/o primitives. sjs 2009-05-15 09:38:16 -0700
  • 785f229eec [CHANGED] subtraction is now implemented it terms of ADD. sjs 2009-05-15 09:37:44 -0700
  • e7a6162e7b added .gitignore sjs 2009-05-14 13:21:07 -0700
  • bd0408fa2f [NEW] ignore most whitespace. Fixed division (use cdq before idiv). sjs 2009-05-14 01:12:48 -0700
  • c008ed007a [NEW] Parse numbers of any length, instead of only one digit. sjs 2009-05-13 23:29:52 -0700
  • 42ca4451a8 [NEW] Parse identifiers of any length, instead of only one char. sjs 2009-05-13 23:27:47 -0700
  • 268c6f6c29 [NEW] Parse assignment statements. Added template and test code. sjs 2009-05-13 23:20:51 -0700
  • ff2b68a8f2 [NEW] Expression grouping with parens. (end of part 2) sjs 2009-05-13 21:16:51 -0700
  • af95bd9dec Initial commit of a compiler in Ruby. sjs 2009-05-13 20:56:46 -0700