]> granicus.if.org Git - yasm/commitdiff
Add automated arch/x86 tests. Some were moved from tests/nasm, others are new.
authorPeter Johnson <peter@tortall.net>
Thu, 3 Oct 2002 19:10:56 +0000 (19:10 -0000)
committerPeter Johnson <peter@tortall.net>
Thu, 3 Oct 2002 19:10:56 +0000 (19:10 -0000)
svn path=/trunk/yasm/; revision=734

57 files changed:
modules/arch/x86/Makefile.inc
modules/arch/x86/tests/Makefile.inc [new file with mode: 0644]
modules/arch/x86/tests/addbyte.asm [moved from tests/nasm/addbyte.asm with 100% similarity]
modules/arch/x86/tests/addbyte.errwarn [new file with mode: 0644]
modules/arch/x86/tests/addbyte.hex [new file with mode: 0644]
modules/arch/x86/tests/addrop-err.asm [new file with mode: 0644]
modules/arch/x86/tests/addrop-err.errwarn [new file with mode: 0644]
modules/arch/x86/tests/addrop.asm [moved from tests/nasm/addrop.asm with 75% similarity]
modules/arch/x86/tests/addrop.errwarn [new file with mode: 0644]
modules/arch/x86/tests/addrop.hex [new file with mode: 0644]
modules/arch/x86/tests/cpubasic-err.asm [new file with mode: 0644]
modules/arch/x86/tests/cpubasic-err.errwarn [new file with mode: 0644]
modules/arch/x86/tests/div-err.asm [new file with mode: 0644]
modules/arch/x86/tests/div-err.errwarn [new file with mode: 0644]
modules/arch/x86/tests/effaddr.asm [new file with mode: 0644]
modules/arch/x86/tests/effaddr.errwarn [new file with mode: 0644]
modules/arch/x86/tests/effaddr.hex [new file with mode: 0644]
modules/arch/x86/tests/lds-err.asm [new file with mode: 0644]
modules/arch/x86/tests/lds-err.errwarn [new file with mode: 0644]
modules/arch/x86/tests/opsize-err.asm [moved from tests/nasm/opsize.asm with 100% similarity]
modules/arch/x86/tests/opsize-err.errwarn [new file with mode: 0644]
modules/arch/x86/tests/ret.asm [new file with mode: 0644]
modules/arch/x86/tests/ret.errwarn [new file with mode: 0644]
modules/arch/x86/tests/ret.hex [new file with mode: 0644]
modules/arch/x86/tests/shift.asm [moved from tests/nasm/shift.asm with 100% similarity]
modules/arch/x86/tests/shift.errwarn [new file with mode: 0644]
modules/arch/x86/tests/shift.hex [new file with mode: 0644]
modules/arch/x86/tests/x86_test.sh [new file with mode: 0755]
src/arch/x86/Makefile.inc
src/arch/x86/tests/Makefile.inc [new file with mode: 0644]
src/arch/x86/tests/addbyte.asm [new file with mode: 0644]
src/arch/x86/tests/addbyte.errwarn [new file with mode: 0644]
src/arch/x86/tests/addbyte.hex [new file with mode: 0644]
src/arch/x86/tests/addrop-err.asm [new file with mode: 0644]
src/arch/x86/tests/addrop-err.errwarn [new file with mode: 0644]
src/arch/x86/tests/addrop.asm [new file with mode: 0644]
src/arch/x86/tests/addrop.errwarn [new file with mode: 0644]
src/arch/x86/tests/addrop.hex [new file with mode: 0644]
src/arch/x86/tests/cpubasic-err.asm [new file with mode: 0644]
src/arch/x86/tests/cpubasic-err.errwarn [new file with mode: 0644]
src/arch/x86/tests/div-err.asm [new file with mode: 0644]
src/arch/x86/tests/div-err.errwarn [new file with mode: 0644]
src/arch/x86/tests/effaddr.asm [new file with mode: 0644]
src/arch/x86/tests/effaddr.errwarn [new file with mode: 0644]
src/arch/x86/tests/effaddr.hex [new file with mode: 0644]
src/arch/x86/tests/lds-err.asm [new file with mode: 0644]
src/arch/x86/tests/lds-err.errwarn [new file with mode: 0644]
src/arch/x86/tests/opsize-err.asm [new file with mode: 0644]
src/arch/x86/tests/opsize-err.errwarn [new file with mode: 0644]
src/arch/x86/tests/ret.asm [new file with mode: 0644]
src/arch/x86/tests/ret.errwarn [new file with mode: 0644]
src/arch/x86/tests/ret.hex [new file with mode: 0644]
src/arch/x86/tests/shift.asm [new file with mode: 0644]
src/arch/x86/tests/shift.errwarn [new file with mode: 0644]
src/arch/x86/tests/shift.hex [new file with mode: 0644]
src/arch/x86/tests/x86_test.sh [new file with mode: 0755]
tests/nasm/lds.asm [deleted file]

index 69e91bd6422618bb125265b6424f72c1f4959564..914364b337725d5f29f86143f14ff1a9bab34111 100644 (file)
@@ -17,5 +17,8 @@ CLEANFILES += \
        x86id.c
 
 EXTRA_DIST += \
+       src/arch/x86/tests/Makefile.inc \
        src/arch/x86/README     \
        src/arch/x86/x86id.re
+
+include src/arch/x86/tests/Makefile.inc
diff --git a/modules/arch/x86/tests/Makefile.inc b/modules/arch/x86/tests/Makefile.inc
new file mode 100644 (file)
index 0000000..227a344
--- /dev/null
@@ -0,0 +1,54 @@
+# $IdPath$
+
+TESTS += \
+       src/arch/x86/tests/x86_test.sh
+
+EXTRA_DIST += \
+       src/arch/x86/tests/x86_test.sh          \
+       src/arch/x86/tests/addbyte.asm          \
+       src/arch/x86/tests/addbyte.errwarn      \
+       src/arch/x86/tests/addbyte.hex          \
+       src/arch/x86/tests/addrop.asm           \
+       src/arch/x86/tests/addrop.errwarn       \
+       src/arch/x86/tests/addrop.hex           \
+       src/arch/x86/tests/addrop-err.asm       \
+       src/arch/x86/tests/addrop-err.errwarn   \
+       src/arch/x86/tests/cpubasic-err.asm     \
+       src/arch/x86/tests/cpubasic-err.errwarn \
+       src/arch/x86/tests/div-err.asm          \
+       src/arch/x86/tests/div-err.errwarn      \
+       src/arch/x86/tests/effaddr.asm          \
+       src/arch/x86/tests/effaddr.errwarn      \
+       src/arch/x86/tests/effaddr.hex          \
+       src/arch/x86/tests/lds-err.asm          \
+       src/arch/x86/tests/lds-err.errwarn      \
+       src/arch/x86/tests/opsize-err.asm       \
+       src/arch/x86/tests/opsize-err.errwarn   \
+       src/arch/x86/tests/ret.asm              \
+       src/arch/x86/tests/ret.errwarn          \
+       src/arch/x86/tests/ret.hex              \
+       src/arch/x86/tests/shift.asm            \
+       src/arch/x86/tests/shift.errwarn        \
+       src/arch/x86/tests/shift.hex
+
+CLEANFILES += \
+       addbyte \
+       addbyte.ew \
+       addbyte.hx \
+       addrop \
+       addrop.ew \
+       addrop.hx \
+       addrop-err.ew \
+       cpubasic-err.ew \
+       div-err.ew \
+       effaddr \
+       effaddr.ew \
+       effaddr.hx \
+       lds-err.ew \
+       opsize-err.ew \
+       ret \
+       ret.ew \
+       ret.hx \
+       shift \
+       shift.ew \
+       shift.hx
diff --git a/modules/arch/x86/tests/addbyte.errwarn b/modules/arch/x86/tests/addbyte.errwarn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/modules/arch/x86/tests/addbyte.hex b/modules/arch/x86/tests/addbyte.hex
new file mode 100644 (file)
index 0000000..8f92a5e
--- /dev/null
@@ -0,0 +1,13 @@
+05 
+*
+00 
+83 
+c0 
+05 
+81 
+c3 
+05 
+00 
+83 
+c3 
+05 
diff --git a/modules/arch/x86/tests/addrop-err.asm b/modules/arch/x86/tests/addrop-err.asm
new file mode 100644 (file)
index 0000000..152f466
--- /dev/null
@@ -0,0 +1,2 @@
+[BITS 32]
+a16 idiv byte [dword 0]                ; 67 F6 3D 00 00 00 00
diff --git a/modules/arch/x86/tests/addrop-err.errwarn b/modules/arch/x86/tests/addrop-err.errwarn
new file mode 100644 (file)
index 0000000..500ba51
--- /dev/null
@@ -0,0 +1 @@
+./src/arch/x86/tests/addrop-err.asm:2: invalid effective address (displacement size)
similarity index 75%
rename from tests/nasm/addrop.asm
rename to modules/arch/x86/tests/addrop.asm
index 23574cbad5ddc4080ac38d84345a0393f62cfbf2..81237ebb4f5ccedde9609cc4d89bbbb781222c60 100644 (file)
@@ -1,23 +1,13 @@
 [BITS 32]
-db 0FFh
 idiv al                ; F6 F8
-db 0FEh
 idiv ax                ; 66 F7 F8
-db 0FDh
 idiv eax       ; F7 F8
-db 0FCh
 idiv byte [word 0]             ; 67 F6 3E 00 00
-db 0FBh
 idiv byte [dword 0xFFFFFFFF]   ; F6 3D FF FF FF FF
-db 0FAh
 idiv byte [0]                  ; F6 3D 00 00 00 00
-db 0F9h
 a16 idiv byte [word 0]         ; 67 67 F6 3E 00 00
-db 0F8h
-a16 idiv byte [dword 0]                ; 67 F6 3D 00 00 00 00
-db 0F7h
+;a16 idiv byte [dword 0]               ; 67 F6 3D 00 00 00 00
 a16 idiv byte [0]              ; 67 F6 3D 00 00
-db 0F6h
 a32 idiv byte [0]              ; F6 3D 00 00 00 00
 [BITS 16]
 nop
@@ -31,5 +21,5 @@ idiv byte [0]
 idiv dword [es:dword 5]
 idiv dword [byte es:5]
 idiv word [es:dword edi+5]
-idiv word [es:edi+dword 5]
+;idiv word [es:edi+dword 5]
 nop
diff --git a/modules/arch/x86/tests/addrop.errwarn b/modules/arch/x86/tests/addrop.errwarn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/modules/arch/x86/tests/addrop.hex b/modules/arch/x86/tests/addrop.hex
new file mode 100644 (file)
index 0000000..dca139c
--- /dev/null
@@ -0,0 +1,77 @@
+f6 
+f8 
+66 
+f7 
+f8 
+f7 
+f8 
+67 
+f6 
+3e 
+00 
+*
+f6 
+3d 
+ff 
+*
+f6 
+3d 
+00 
+*
+67 
+f6 
+3e 
+00 
+*
+67 
+f6 
+3e 
+00 
+*
+f6 
+3d 
+00 
+*
+90 
+f6 
+f8 
+f7 
+f8 
+66 
+f7 
+f8 
+90 
+f6 
+3e 
+00 
+*
+67 
+f6 
+3d 
+ff 
+*
+f6 
+3e 
+00 
+*
+26 
+66 
+67 
+f7 
+3d 
+05 
+00 
+*
+26 
+66 
+f7 
+3e 
+05 
+26 
+67 
+f7 
+bf 
+05 
+00 
+*
+90 
diff --git a/modules/arch/x86/tests/cpubasic-err.asm b/modules/arch/x86/tests/cpubasic-err.asm
new file mode 100644 (file)
index 0000000..d381eeb
--- /dev/null
@@ -0,0 +1,2 @@
+[cpu 8086]
+pause
diff --git a/modules/arch/x86/tests/cpubasic-err.errwarn b/modules/arch/x86/tests/cpubasic-err.errwarn
new file mode 100644 (file)
index 0000000..b89784f
--- /dev/null
@@ -0,0 +1 @@
+./src/arch/x86/tests/cpubasic-err.asm:2: invalid combination of opcode and operands
diff --git a/modules/arch/x86/tests/div-err.asm b/modules/arch/x86/tests/div-err.asm
new file mode 100644 (file)
index 0000000..0afd8cc
--- /dev/null
@@ -0,0 +1,7 @@
+div byte si
+div word si
+div dword si
+div byte esi
+div word esi
+div dword esi
+
diff --git a/modules/arch/x86/tests/div-err.errwarn b/modules/arch/x86/tests/div-err.errwarn
new file mode 100644 (file)
index 0000000..aab2490
--- /dev/null
@@ -0,0 +1,4 @@
+./src/arch/x86/tests/div-err.asm:1: cannot override register size
+./src/arch/x86/tests/div-err.asm:3: cannot override register size
+./src/arch/x86/tests/div-err.asm:4: cannot override register size
+./src/arch/x86/tests/div-err.asm:5: cannot override register size
diff --git a/modules/arch/x86/tests/effaddr.asm b/modules/arch/x86/tests/effaddr.asm
new file mode 100644 (file)
index 0000000..aff7866
--- /dev/null
@@ -0,0 +1,7 @@
+[bits 32]
+mov ax,[eax+ebx+ecx-eax]
+mov ax,[eax+ecx+ebx-eax]
+label
+dd 5
+label2
+mov ax,[eax+ebx*(label2-label)]
diff --git a/modules/arch/x86/tests/effaddr.errwarn b/modules/arch/x86/tests/effaddr.errwarn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/modules/arch/x86/tests/effaddr.hex b/modules/arch/x86/tests/effaddr.hex
new file mode 100644 (file)
index 0000000..46929f7
--- /dev/null
@@ -0,0 +1,15 @@
+66 
+8b 
+04 
+0b 
+66 
+8b 
+04 
+19 
+05 
+00 
+*
+66 
+8b 
+04 
+98 
diff --git a/modules/arch/x86/tests/lds-err.asm b/modules/arch/x86/tests/lds-err.asm
new file mode 100644 (file)
index 0000000..a9c70be
--- /dev/null
@@ -0,0 +1,6 @@
+lds ax,[1]
+lds ax,word [1]
+lds ax,dword [1]
+lds eax,[1]
+lds eax,word [1]
+lds eax,dword [1]
diff --git a/modules/arch/x86/tests/lds-err.errwarn b/modules/arch/x86/tests/lds-err.errwarn
new file mode 100644 (file)
index 0000000..5f1faa1
--- /dev/null
@@ -0,0 +1,4 @@
+./src/arch/x86/tests/lds-err.asm:2: invalid combination of opcode and operands
+./src/arch/x86/tests/lds-err.asm:3: invalid combination of opcode and operands
+./src/arch/x86/tests/lds-err.asm:5: invalid combination of opcode and operands
+./src/arch/x86/tests/lds-err.asm:6: invalid combination of opcode and operands
diff --git a/modules/arch/x86/tests/opsize-err.errwarn b/modules/arch/x86/tests/opsize-err.errwarn
new file mode 100644 (file)
index 0000000..5b884bd
--- /dev/null
@@ -0,0 +1 @@
+./src/arch/x86/tests/opsize-err.asm:3: invalid combination of opcode and operands
diff --git a/modules/arch/x86/tests/ret.asm b/modules/arch/x86/tests/ret.asm
new file mode 100644 (file)
index 0000000..ed37bff
--- /dev/null
@@ -0,0 +1,7 @@
+ret
+ret 4
+ret word 2
+retn 6
+retn word 2
+retf 8
+retf word 2
diff --git a/modules/arch/x86/tests/ret.errwarn b/modules/arch/x86/tests/ret.errwarn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/modules/arch/x86/tests/ret.hex b/modules/arch/x86/tests/ret.hex
new file mode 100644 (file)
index 0000000..1b5e664
--- /dev/null
@@ -0,0 +1,19 @@
+c3 
+c2 
+04 
+00 
+c2 
+02 
+00 
+c2 
+06 
+00 
+c2 
+02 
+00 
+ca 
+08 
+00 
+ca 
+02 
+00 
diff --git a/modules/arch/x86/tests/shift.errwarn b/modules/arch/x86/tests/shift.errwarn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/modules/arch/x86/tests/shift.hex b/modules/arch/x86/tests/shift.hex
new file mode 100644 (file)
index 0000000..ca17b1d
--- /dev/null
@@ -0,0 +1,8 @@
+d0 
+e0 
+d0 
+e0 
+d0 
+e0 
+d0 
+e0 
diff --git a/modules/arch/x86/tests/x86_test.sh b/modules/arch/x86/tests/x86_test.sh
new file mode 100755 (executable)
index 0000000..d7f9b9a
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+# $IdPath$
+${srcdir}/out_test.sh x86_test src/arch/x86/tests "x86 arch" "-f bin" ""
+exit $?
index 69e91bd6422618bb125265b6424f72c1f4959564..914364b337725d5f29f86143f14ff1a9bab34111 100644 (file)
@@ -17,5 +17,8 @@ CLEANFILES += \
        x86id.c
 
 EXTRA_DIST += \
+       src/arch/x86/tests/Makefile.inc \
        src/arch/x86/README     \
        src/arch/x86/x86id.re
+
+include src/arch/x86/tests/Makefile.inc
diff --git a/src/arch/x86/tests/Makefile.inc b/src/arch/x86/tests/Makefile.inc
new file mode 100644 (file)
index 0000000..227a344
--- /dev/null
@@ -0,0 +1,54 @@
+# $IdPath$
+
+TESTS += \
+       src/arch/x86/tests/x86_test.sh
+
+EXTRA_DIST += \
+       src/arch/x86/tests/x86_test.sh          \
+       src/arch/x86/tests/addbyte.asm          \
+       src/arch/x86/tests/addbyte.errwarn      \
+       src/arch/x86/tests/addbyte.hex          \
+       src/arch/x86/tests/addrop.asm           \
+       src/arch/x86/tests/addrop.errwarn       \
+       src/arch/x86/tests/addrop.hex           \
+       src/arch/x86/tests/addrop-err.asm       \
+       src/arch/x86/tests/addrop-err.errwarn   \
+       src/arch/x86/tests/cpubasic-err.asm     \
+       src/arch/x86/tests/cpubasic-err.errwarn \
+       src/arch/x86/tests/div-err.asm          \
+       src/arch/x86/tests/div-err.errwarn      \
+       src/arch/x86/tests/effaddr.asm          \
+       src/arch/x86/tests/effaddr.errwarn      \
+       src/arch/x86/tests/effaddr.hex          \
+       src/arch/x86/tests/lds-err.asm          \
+       src/arch/x86/tests/lds-err.errwarn      \
+       src/arch/x86/tests/opsize-err.asm       \
+       src/arch/x86/tests/opsize-err.errwarn   \
+       src/arch/x86/tests/ret.asm              \
+       src/arch/x86/tests/ret.errwarn          \
+       src/arch/x86/tests/ret.hex              \
+       src/arch/x86/tests/shift.asm            \
+       src/arch/x86/tests/shift.errwarn        \
+       src/arch/x86/tests/shift.hex
+
+CLEANFILES += \
+       addbyte \
+       addbyte.ew \
+       addbyte.hx \
+       addrop \
+       addrop.ew \
+       addrop.hx \
+       addrop-err.ew \
+       cpubasic-err.ew \
+       div-err.ew \
+       effaddr \
+       effaddr.ew \
+       effaddr.hx \
+       lds-err.ew \
+       opsize-err.ew \
+       ret \
+       ret.ew \
+       ret.hx \
+       shift \
+       shift.ew \
+       shift.hx
diff --git a/src/arch/x86/tests/addbyte.asm b/src/arch/x86/tests/addbyte.asm
new file mode 100644 (file)
index 0000000..285a3a9
--- /dev/null
@@ -0,0 +1,4 @@
+add ax,5
+add ax,byte 5
+add bx,5
+add bx,byte 5
diff --git a/src/arch/x86/tests/addbyte.errwarn b/src/arch/x86/tests/addbyte.errwarn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/src/arch/x86/tests/addbyte.hex b/src/arch/x86/tests/addbyte.hex
new file mode 100644 (file)
index 0000000..8f92a5e
--- /dev/null
@@ -0,0 +1,13 @@
+05 
+*
+00 
+83 
+c0 
+05 
+81 
+c3 
+05 
+00 
+83 
+c3 
+05 
diff --git a/src/arch/x86/tests/addrop-err.asm b/src/arch/x86/tests/addrop-err.asm
new file mode 100644 (file)
index 0000000..152f466
--- /dev/null
@@ -0,0 +1,2 @@
+[BITS 32]
+a16 idiv byte [dword 0]                ; 67 F6 3D 00 00 00 00
diff --git a/src/arch/x86/tests/addrop-err.errwarn b/src/arch/x86/tests/addrop-err.errwarn
new file mode 100644 (file)
index 0000000..500ba51
--- /dev/null
@@ -0,0 +1 @@
+./src/arch/x86/tests/addrop-err.asm:2: invalid effective address (displacement size)
diff --git a/src/arch/x86/tests/addrop.asm b/src/arch/x86/tests/addrop.asm
new file mode 100644 (file)
index 0000000..81237eb
--- /dev/null
@@ -0,0 +1,25 @@
+[BITS 32]
+idiv al                ; F6 F8
+idiv ax                ; 66 F7 F8
+idiv eax       ; F7 F8
+idiv byte [word 0]             ; 67 F6 3E 00 00
+idiv byte [dword 0xFFFFFFFF]   ; F6 3D FF FF FF FF
+idiv byte [0]                  ; F6 3D 00 00 00 00
+a16 idiv byte [word 0]         ; 67 67 F6 3E 00 00
+;a16 idiv byte [dword 0]               ; 67 F6 3D 00 00 00 00
+a16 idiv byte [0]              ; 67 F6 3D 00 00
+a32 idiv byte [0]              ; F6 3D 00 00 00 00
+[BITS 16]
+nop
+idiv al
+idiv ax
+idiv eax
+nop
+idiv byte [word 0]
+idiv byte [dword 0xFFFFFFFF]
+idiv byte [0]
+idiv dword [es:dword 5]
+idiv dword [byte es:5]
+idiv word [es:dword edi+5]
+;idiv word [es:edi+dword 5]
+nop
diff --git a/src/arch/x86/tests/addrop.errwarn b/src/arch/x86/tests/addrop.errwarn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/src/arch/x86/tests/addrop.hex b/src/arch/x86/tests/addrop.hex
new file mode 100644 (file)
index 0000000..dca139c
--- /dev/null
@@ -0,0 +1,77 @@
+f6 
+f8 
+66 
+f7 
+f8 
+f7 
+f8 
+67 
+f6 
+3e 
+00 
+*
+f6 
+3d 
+ff 
+*
+f6 
+3d 
+00 
+*
+67 
+f6 
+3e 
+00 
+*
+67 
+f6 
+3e 
+00 
+*
+f6 
+3d 
+00 
+*
+90 
+f6 
+f8 
+f7 
+f8 
+66 
+f7 
+f8 
+90 
+f6 
+3e 
+00 
+*
+67 
+f6 
+3d 
+ff 
+*
+f6 
+3e 
+00 
+*
+26 
+66 
+67 
+f7 
+3d 
+05 
+00 
+*
+26 
+66 
+f7 
+3e 
+05 
+26 
+67 
+f7 
+bf 
+05 
+00 
+*
+90 
diff --git a/src/arch/x86/tests/cpubasic-err.asm b/src/arch/x86/tests/cpubasic-err.asm
new file mode 100644 (file)
index 0000000..d381eeb
--- /dev/null
@@ -0,0 +1,2 @@
+[cpu 8086]
+pause
diff --git a/src/arch/x86/tests/cpubasic-err.errwarn b/src/arch/x86/tests/cpubasic-err.errwarn
new file mode 100644 (file)
index 0000000..b89784f
--- /dev/null
@@ -0,0 +1 @@
+./src/arch/x86/tests/cpubasic-err.asm:2: invalid combination of opcode and operands
diff --git a/src/arch/x86/tests/div-err.asm b/src/arch/x86/tests/div-err.asm
new file mode 100644 (file)
index 0000000..0afd8cc
--- /dev/null
@@ -0,0 +1,7 @@
+div byte si
+div word si
+div dword si
+div byte esi
+div word esi
+div dword esi
+
diff --git a/src/arch/x86/tests/div-err.errwarn b/src/arch/x86/tests/div-err.errwarn
new file mode 100644 (file)
index 0000000..aab2490
--- /dev/null
@@ -0,0 +1,4 @@
+./src/arch/x86/tests/div-err.asm:1: cannot override register size
+./src/arch/x86/tests/div-err.asm:3: cannot override register size
+./src/arch/x86/tests/div-err.asm:4: cannot override register size
+./src/arch/x86/tests/div-err.asm:5: cannot override register size
diff --git a/src/arch/x86/tests/effaddr.asm b/src/arch/x86/tests/effaddr.asm
new file mode 100644 (file)
index 0000000..aff7866
--- /dev/null
@@ -0,0 +1,7 @@
+[bits 32]
+mov ax,[eax+ebx+ecx-eax]
+mov ax,[eax+ecx+ebx-eax]
+label
+dd 5
+label2
+mov ax,[eax+ebx*(label2-label)]
diff --git a/src/arch/x86/tests/effaddr.errwarn b/src/arch/x86/tests/effaddr.errwarn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/src/arch/x86/tests/effaddr.hex b/src/arch/x86/tests/effaddr.hex
new file mode 100644 (file)
index 0000000..46929f7
--- /dev/null
@@ -0,0 +1,15 @@
+66 
+8b 
+04 
+0b 
+66 
+8b 
+04 
+19 
+05 
+00 
+*
+66 
+8b 
+04 
+98 
diff --git a/src/arch/x86/tests/lds-err.asm b/src/arch/x86/tests/lds-err.asm
new file mode 100644 (file)
index 0000000..a9c70be
--- /dev/null
@@ -0,0 +1,6 @@
+lds ax,[1]
+lds ax,word [1]
+lds ax,dword [1]
+lds eax,[1]
+lds eax,word [1]
+lds eax,dword [1]
diff --git a/src/arch/x86/tests/lds-err.errwarn b/src/arch/x86/tests/lds-err.errwarn
new file mode 100644 (file)
index 0000000..5f1faa1
--- /dev/null
@@ -0,0 +1,4 @@
+./src/arch/x86/tests/lds-err.asm:2: invalid combination of opcode and operands
+./src/arch/x86/tests/lds-err.asm:3: invalid combination of opcode and operands
+./src/arch/x86/tests/lds-err.asm:5: invalid combination of opcode and operands
+./src/arch/x86/tests/lds-err.asm:6: invalid combination of opcode and operands
diff --git a/src/arch/x86/tests/opsize-err.asm b/src/arch/x86/tests/opsize-err.asm
new file mode 100644 (file)
index 0000000..161a7f6
--- /dev/null
@@ -0,0 +1,3 @@
+mov ax,1
+mov ax,word 1
+mov ax,byte 1
diff --git a/src/arch/x86/tests/opsize-err.errwarn b/src/arch/x86/tests/opsize-err.errwarn
new file mode 100644 (file)
index 0000000..5b884bd
--- /dev/null
@@ -0,0 +1 @@
+./src/arch/x86/tests/opsize-err.asm:3: invalid combination of opcode and operands
diff --git a/src/arch/x86/tests/ret.asm b/src/arch/x86/tests/ret.asm
new file mode 100644 (file)
index 0000000..ed37bff
--- /dev/null
@@ -0,0 +1,7 @@
+ret
+ret 4
+ret word 2
+retn 6
+retn word 2
+retf 8
+retf word 2
diff --git a/src/arch/x86/tests/ret.errwarn b/src/arch/x86/tests/ret.errwarn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/src/arch/x86/tests/ret.hex b/src/arch/x86/tests/ret.hex
new file mode 100644 (file)
index 0000000..1b5e664
--- /dev/null
@@ -0,0 +1,19 @@
+c3 
+c2 
+04 
+00 
+c2 
+02 
+00 
+c2 
+06 
+00 
+c2 
+02 
+00 
+ca 
+08 
+00 
+ca 
+02 
+00 
diff --git a/src/arch/x86/tests/shift.asm b/src/arch/x86/tests/shift.asm
new file mode 100644 (file)
index 0000000..eb689a3
--- /dev/null
@@ -0,0 +1,6 @@
+blah equ 1
+
+shl al, 1
+shl al, 2-1
+shl al, blah
+shl al, 2-blah
diff --git a/src/arch/x86/tests/shift.errwarn b/src/arch/x86/tests/shift.errwarn
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/src/arch/x86/tests/shift.hex b/src/arch/x86/tests/shift.hex
new file mode 100644 (file)
index 0000000..ca17b1d
--- /dev/null
@@ -0,0 +1,8 @@
+d0 
+e0 
+d0 
+e0 
+d0 
+e0 
+d0 
+e0 
diff --git a/src/arch/x86/tests/x86_test.sh b/src/arch/x86/tests/x86_test.sh
new file mode 100755 (executable)
index 0000000..d7f9b9a
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+# $IdPath$
+${srcdir}/out_test.sh x86_test src/arch/x86/tests "x86 arch" "-f bin" ""
+exit $?
diff --git a/tests/nasm/lds.asm b/tests/nasm/lds.asm
deleted file mode 100644 (file)
index 596e54b..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-lds ax,[1]
-lds ax,dword [1]
-