PC is in words not bytes.
minor cleanup
Off-by-one error in size of RAM.
Handle negative numbers a little better.