-
Recent Posts
Recent Comments
- ubershmekel on Two bugs don’t make a right
- Ram Rachum on Optimizing Django ORM / Postgres queries using left join
- Dimensions in Mathematics on Beautiful Code
- Tomer Filiba on Collision: the story of the random bug
- Brendan Dolan-Gavitt on Collision: the story of the random bug
Archives
- August 2012
- July 2012
- June 2012
- June 2011
- February 2011
- January 2011
- December 2010
- April 2010
- March 2010
- February 2010
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- February 2007
Categories
- Algorithms
- Assembly
- C
- Challenges
- Compilation
- computer science
- Cryptography
- CSS
- Databases
- decompilation
- Design
- Fractals
- Game Development
- Geometry
- gotchas
- Graphics
- Group Theory
- Humour
- Javascript
- Linux
- Math
- Miscellaneous
- Optimization
- Optimization
- Optimization
- Optimization
- Origami
- Personal
- Programming
- Programming Philosophy
- Projects
- Protocols
- Python
- rants
- Research
- Security
- Sound
- startup
- Statistics
- Teaching Programming
- Testing
- Uncategorized
- Utility Functions
- web-design
Category Archives: Assembly
Some Assembly Required No. 1
I’ve been working on some of the instruction tests in vial, and I wanted to test the implementation of LOOP variants. My objective was to make sure the vial version is identical to the real CPU version (as discussed here). … Continue reading
Posted in Assembly, Challenges, Programming, Testing
Tagged Assembly, challenge, Testing, vial
2 Comments
First Code Transformation: Removing Flag Computations
Short introduction to code transformations If you intend to write a decompiler, you’ll find yourself writing code transformations. In our context, code transformations are operations that take as input an expression tree, and return an equivalent but different expression tree. … Continue reading
Posted in Algorithms, Assembly, decompilation, Programming
Tagged code transformations, decompilation, Disassembly, Distorm, removing flag computations, vial, VM
1 Comment
Issues in Writing a VM – Part 2
Writing a VM capable of executing expression trees is different from writing a VM for executing assembly instructions. Here I’ll cover several issues stemming from this difference. The first group of issues involve generality. Supporting a specific instruction set is … Continue reading
Posted in Algorithms, Assembly, computer science, Programming, Projects, Python
Tagged delay slot, Disassembly, Distorm, Python generators, vial, VM
7 Comments
Issues in writing a VM – Part 1
Arkon and I decided to write a VM for vial. First though, a short explanation on what is vial: vial is a project aimed at writing a general disassembler that outputs expression trees instead of text. On top of vial, … Continue reading
Posted in Assembly, computer science, Programming, Projects, Testing
Tagged Compilation, Disassembly, Distorm, fuzzing, Testing, vial, VM
Leave a comment
Writing a Quad Interpreter
My compilation homework is writing a compiler from simplified CPL to Quad, a made up assembly language. The compiler was going well, and when it started to emit code, I naturally wanted to test it. The problem is, I work … Continue reading
Posted in Assembly, Compilation, computer science, Personal, Programming, Python
Tagged Compilation, homework, VM
Leave a comment