diff options
Diffstat (limited to 'test/convergence.asm')
-rw-r--r-- | test/convergence.asm | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/test/convergence.asm b/test/convergence.asm index 02ef2e1f..d037886e 100644 --- a/test/convergence.asm +++ b/test/convergence.asm @@ -4,34 +4,47 @@ BITS 32 +; Simple jmp foo times 124 nop foo: -jmp bar -times 125 nop -bar: - -db 0 - -jmp baz -times 126 nop -baz: - +; Must start short to converge optimally jmp car times 127 nop car: +; Always near +jmp cdr +times 128 nop +cdr: + + +; Simple add eax, quux2 - quux1 quux1: times 127 nop quux2: -; currently fails - short add possible but converges to long form +; Must start short corge1: add eax, corge2 - corge1 -times 124 nop +times 127 - 3 nop corge2: -; this needs to actually *work*... + +; Simple +lea eax, [bolug2-bolug1] +bolug1: +times 127 nop +bolug2: + +; Must start short +calog1: +lea eax, [calog2-calog1] +times 127 - 3 nop +calog2: + + +; Do not confuse forward references and segmentless addresses! jmp 12345 |