summaryrefslogtreecommitdiff
path: root/test/convergence.asm
diff options
context:
space:
mode:
Diffstat (limited to 'test/convergence.asm')
-rw-r--r--test/convergence.asm39
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