diff --git a/README.md b/README.md index 3b81c8d..1c6b28d 100644 --- a/README.md +++ b/README.md @@ -79,13 +79,13 @@ Counting number of instructions by `wc -l $file.hack` ### Without Symbols -- [ ] `MaxL.asm` -- [ ] `RectL.asm` -- [ ] `PongL.asm` +- [x] `MaxL.asm` +- [x] `RectL.asm` +- [x] `PongL.asm` +- [x] `Add.asm` ### Symbolic Programs -- [ ] `Add.asm` - [ ] `Max.asm` - [ ] `Rect.asm` - [ ] `Pong.asm` diff --git a/assembler/assembler.rb b/assembler/assembler.rb index 04e056b..a9dc69a 100644 --- a/assembler/assembler.rb +++ b/assembler/assembler.rb @@ -103,10 +103,10 @@ class Parser end def comp - if dest and jump + if dest && jump line.split('=').last.split(';').first elsif dest - line.split('=').first + line.split('=').last elsif jump line.split(';').first else diff --git a/assembler/test b/assembler/test index bb2654f..96e37ea 100755 --- a/assembler/test +++ b/assembler/test @@ -1,19 +1,5 @@ -#!/bin/sh -pushd ../projects/06/add -../../../tools/Assembler.sh Add.asm -popd - -pushd ../projects/06/max -../../../tools/Assembler.sh Max.asm -../../../tools/Assembler.sh MaxL.asm -popd - -pushd ../projects/06/rect -../../../tools/Assembler.sh Rect.asm -../../../tools/Assembler.sh RectL.asm -popd - -pushd ../projects/06/pong -../../../tools/Assembler.sh Pong.asm -../../../tools/Assembler.sh PongL.asm -popd +#!/bin/bash +diff ../projects/06/add/Add.hack <(ruby assembler.rb ../projects/06/add/Add.asm) +diff ../projects/06/max/MaxL.hack <(ruby assembler.rb ../projects/06/max/MaxL.asm) +diff ../projects/06/rect/RectL.hack <(ruby assembler.rb ../projects/06/rect/RectL.asm) +diff ../projects/06/pong/PongL.hack <(ruby assembler.rb ../projects/06/pong/PongL.asm)