Tags: franeklubi/dino
Tags
Add 8086 compatibility (#8) * Figure out the pushes needed * Introduce some new consts * Optimize for size. (#4) * Optimize for size. Main changes: * Switch to using `bp` as the pointer to the variable area instead of using absolute memory references (saves 1 byte per modr/m). * Use `ds` segment override for `movsb` and `es` segment override for `lodsb` to "reverse" the segments. * Clear the variable area in one pass. Currently 17 bytes left over. * Optimize further * Use bytes instead of words for sprite positions * Use `lea` * Optimize: Load two byte registers using a single word operation * Fix variable clearing Only the source segment of string ops can be overridden, but unfortunately not the `es` destination segment. * A bit more constant 0 optimizations * Fix newlines; Correct makefile * Update README.md Co-authored-by: Jaen <639345+jaens@users.noreply.github.com>