Sami Samhuri
18d3bab844
add bit manipulation ops | (OR) & (AND) and ^ (XOR)
2010-02-14 19:01:57 -08:00
Sami Samhuri
d2e7c987d8
# comments till the end of the current line
2010-02-14 18:59:05 -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
9667c21e8b
op precedence pseudo-bnf
2010-02-14 18:55:51 -08:00
Sami Samhuri
5940ac99c0
remove some crufty comments
2010-02-14 12:00:51 -08:00
Sami Samhuri
3422f201d1
clean up block by moving keywords into a lookup table.
2010-02-08 23:37:27 -08:00
Sami Samhuri
0db6becd33
add huge test to default suite
2010-01-20 23:22:04 -08:00
Sami Samhuri
90bcdbf659
declare variable sizes in bytes, and stop trampling other vars in memory.
2010-01-20 23:20:33 -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
3495c0450a
updated README to reflect current implementation of print
2010-01-20 20:50:18 -08:00
Sami Samhuri
cfd97c5cbd
Revert "use print correctly in tests"
...
This reverts commit 72508aafbf .
2010-01-20 20:49:12 -08:00
Sami Samhuri
72508aafbf
use print correctly in tests
2010-01-20 20:31:11 -08:00
Sami Samhuri
0298c9bbf3
updated README
2010-01-20 00:22:47 -08:00
Sami Samhuri
7aa6fa7d15
cleaning out the cruft
2010-01-19 23:32:30 -08:00
Sami Samhuri
0c21d1abc6
[big commit] use variable proxies to defer address calculation
2010-01-19 23:23:54 -08:00
Sami Samhuri
19d79c8836
symbol table now uses offsets instead of absolute addresses
2010-01-19 23:22:40 -08:00
Sami Samhuri
ce1f5bb4dc
support relocation info
2010-01-19 23:19:47 -08:00
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