Commit graph

15 commits

Author SHA1 Message Date
Sami Samhuri
e77ac481d8 ruby 1.9 compatible case statements 2013-01-20 22:50:51 -08:00
Sami Samhuri
509c7a88ce implement OR for r/m32, r32 and r/m8, imm8 2010-02-14 18:56:43 -08:00
Sami Samhuri
e3b220dd2d implement AND for r/m32, r32 2010-02-14 18:56:23 -08:00
Sami Samhuri
7ee7b8ec48 implemented MOV r/m8, imm8 2010-01-20 23:19:26 -08:00
Sami Samhuri
b3dad0b947 register? is more robust, rm? works with sizes properly, e.g. [:byte, <addr/var>] 2010-01-20 23:17:34 -08:00
Sami Samhuri
f9acae7e15 replace hardcoded variable sizes with the MachineBytes constant 2010-01-20 23:15:00 -08:00
Sami Samhuri
0c21d1abc6 [big commit] use variable proxies to defer address calculation 2010-01-19 23:23:54 -08:00
sjs
de366ea542 Removed duplication thanks to caliper @ http://devver.net 2009-10-20 18:04:10 -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
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
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