summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorVictor van den Elzen <victor.vde@gmail.com>2009-02-25 17:32:00 +0100
committerVictor van den Elzen <victor.vde@gmail.com>2009-02-25 17:32:00 +0100
commit154e5920a1ee2c816e502b70fe0c4ab3ea6ab7c1 (patch)
tree7c20d04a4f5b12241c58b54fd03d0d0ea3a030e0 /test
parentbabebffb71f42e1d55095afea96f41e15acc28b1 (diff)
downloadnasm-154e5920a1ee2c816e502b70fe0c4ab3ea6ab7c1.tar.gz
Do not confuse segmentless adresses and unknown forward references
Also be optimistic with immediate forward references.
Diffstat (limited to 'test')
-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