From 01481e7d472be98d34fd6614e9d8e3c110a75b61 Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Wed, 20 Feb 2002 08:16:13 +0000 Subject: [PATCH] Test circular reference detection. Very basic examples from NASM's docs on critical expressions. NASM behavior: 1-3 fail, 4 generates a 4-byte offset in the memory expression. YASM behavior: 1&2 fail (and rightfully so :), 3 works as expected, and 4 generates a 1-byte offset. svn path=/trunk/yasm/; revision=473 --- tests/nasm/circular1.asm | 2 ++ tests/nasm/circular2.asm | 2 ++ tests/nasm/circular3.asm | 3 +++ tests/nasm/circular4.asm | 2 ++ 4 files changed, 9 insertions(+) create mode 100644 tests/nasm/circular1.asm create mode 100644 tests/nasm/circular2.asm create mode 100644 tests/nasm/circular3.asm create mode 100644 tests/nasm/circular4.asm diff --git a/tests/nasm/circular1.asm b/tests/nasm/circular1.asm new file mode 100644 index 00000000..dc96746c --- /dev/null +++ b/tests/nasm/circular1.asm @@ -0,0 +1,2 @@ + times (label-$) db 0 +label: db 'Where am I?' diff --git a/tests/nasm/circular2.asm b/tests/nasm/circular2.asm new file mode 100644 index 00000000..ea558aed --- /dev/null +++ b/tests/nasm/circular2.asm @@ -0,0 +1,2 @@ + times (label-$+1) db 0 +label: db 'NOW where am I?' diff --git a/tests/nasm/circular3.asm b/tests/nasm/circular3.asm new file mode 100644 index 00000000..9edc4725 --- /dev/null +++ b/tests/nasm/circular3.asm @@ -0,0 +1,3 @@ + mov ax, symbol1 +symbol1 equ symbol2 +symbol2: diff --git a/tests/nasm/circular4.asm b/tests/nasm/circular4.asm new file mode 100644 index 00000000..87a7b218 --- /dev/null +++ b/tests/nasm/circular4.asm @@ -0,0 +1,2 @@ + mov eax, [ebx+offset] +offset equ 10 -- 2.40.0