Browse Source

Add tests for btc/btr/bts

Fabian 3 years ago
parent
commit
390b8c4cbb

+ 32 - 0
tests/nasm/btc-imm.asm

@@ -0,0 +1,32 @@
+global _start
+
+%include "header.inc"
+
+    mov dword [esp], 0x03479aef
+    mov dword [esp+4], 0x03479aef
+    mov dword [esp+8], 0x03479aef
+    mov dword [esp+12], 0x03479aef
+    mov dword [esp+16], 0x03479aef
+    mov dword [esp+20], 0x03479aef
+    mov dword [esp+24], 0x03479aef
+    mov dword [esp+28], 0x03479aef
+
+    btc word [esp], 0
+    btc word [esp], 4
+    btc word [esp], 9
+    btc word [esp], 16
+    btc word [esp], 31
+    btc word [esp], 32
+    btc word [esp], 55
+    btc word [esp], 200
+
+    btc dword [esp], 1
+    btc dword [esp], 5
+    btc dword [esp], 10
+    btc dword [esp], 17
+    btc dword [esp], 30
+    btc dword [esp], 33
+    btc dword [esp], 56
+    btc dword [esp], 201
+
+%include "footer.inc"

+ 29 - 0
tests/nasm/btc-reg16.asm

@@ -0,0 +1,29 @@
+global _start
+
+%include "header.inc"
+
+    mov dword [esp], 0x03479aef
+    mov dword [esp+4], 0x03479aef
+    mov dword [esp+8], 0x03479aef
+    mov dword [esp+12], 0x03479aef
+    mov dword [esp+16], 0x03479aef
+    mov dword [esp+20], 0x03479aef
+    mov dword [esp+24], 0x03479aef
+    mov dword [esp+28], 0x03479aef
+
+    mov eax, 0
+    btc word [esp], ax
+    mov eax, -5
+    btc word [esp + 4], ax
+    mov eax, 1
+    btc word [esp], ax
+    mov eax, 31
+    btc word [esp], ax
+    mov eax, 32
+    btc word [esp], ax
+    mov eax, 63
+    btc word [esp], ax
+    mov eax, 99
+    btc word [esp], ax
+
+%include "footer.inc"

+ 29 - 0
tests/nasm/btc-reg32.asm

@@ -0,0 +1,29 @@
+global _start
+
+%include "header.inc"
+
+    mov dword [esp], 0x03479aef
+    mov dword [esp+4], 0x03479aef
+    mov dword [esp+8], 0x03479aef
+    mov dword [esp+12], 0x03479aef
+    mov dword [esp+16], 0x03479aef
+    mov dword [esp+20], 0x03479aef
+    mov dword [esp+24], 0x03479aef
+    mov dword [esp+28], 0x03479aef
+
+    mov eax, 0
+    btc dword [esp], eax
+    mov eax, -5
+    btc dword [esp + 4], eax
+    mov eax, 1
+    btc dword [esp], eax
+    mov eax, 31
+    btc dword [esp], eax
+    mov eax, 32
+    btc dword [esp], eax
+    mov eax, 63
+    btc dword [esp], eax
+    mov eax, 99
+    btc dword [esp], eax
+
+%include "footer.inc"

+ 32 - 0
tests/nasm/btr-imm.asm

@@ -0,0 +1,32 @@
+global _start
+
+%include "header.inc"
+
+    mov dword [esp], -1
+    mov dword [esp+4], -1
+    mov dword [esp+8], -1
+    mov dword [esp+12], -1
+    mov dword [esp+16], -1
+    mov dword [esp+20], -1
+    mov dword [esp+24], -1
+    mov dword [esp+28], -1
+
+    btr word [esp], 0
+    btr word [esp], 4
+    btr word [esp], 9
+    btr word [esp], 16
+    btr word [esp], 31
+    btr word [esp], 32
+    btr word [esp], 55
+    btr word [esp], 200
+
+    btr dword [esp], 1
+    btr dword [esp], 5
+    btr dword [esp], 10
+    btr dword [esp], 17
+    btr dword [esp], 30
+    btr dword [esp], 33
+    btr dword [esp], 56
+    btr dword [esp], 201
+
+%include "footer.inc"

+ 29 - 0
tests/nasm/btr-reg16.asm

@@ -0,0 +1,29 @@
+global _start
+
+%include "header.inc"
+
+    mov dword [esp], -1
+    mov dword [esp+4], -1
+    mov dword [esp+8], -1
+    mov dword [esp+12], -1
+    mov dword [esp+16], -1
+    mov dword [esp+20], -1
+    mov dword [esp+24], -1
+    mov dword [esp+28], -1
+
+    mov eax, 0
+    btr word [esp], ax
+    mov eax, -5
+    btr word [esp + 4], ax
+    mov eax, 1
+    btr word [esp], ax
+    mov eax, 31
+    btr word [esp], ax
+    mov eax, 32
+    btr word [esp], ax
+    mov eax, 63
+    btr word [esp], ax
+    mov eax, 99
+    btr word [esp], ax
+
+%include "footer.inc"

+ 29 - 0
tests/nasm/btr-reg32.asm

@@ -0,0 +1,29 @@
+global _start
+
+%include "header.inc"
+
+    mov dword [esp], -1
+    mov dword [esp+4], -1
+    mov dword [esp+8], -1
+    mov dword [esp+12], -1
+    mov dword [esp+16], -1
+    mov dword [esp+20], -1
+    mov dword [esp+24], -1
+    mov dword [esp+28], -1
+
+    mov eax, 0
+    btr dword [esp], eax
+    mov eax, -5
+    btr dword [esp + 4], eax
+    mov eax, 1
+    btr dword [esp], eax
+    mov eax, 31
+    btr dword [esp], eax
+    mov eax, 32
+    btr dword [esp], eax
+    mov eax, 63
+    btr dword [esp], eax
+    mov eax, 99
+    btr dword [esp], eax
+
+%include "footer.inc"

+ 32 - 0
tests/nasm/bts-imm.asm

@@ -0,0 +1,32 @@
+global _start
+
+%include "header.inc"
+
+    mov dword [esp], 0
+    mov dword [esp+4], 0
+    mov dword [esp+8], 0
+    mov dword [esp+12], 0
+    mov dword [esp+16], 0
+    mov dword [esp+20], 0
+    mov dword [esp+24], 0
+    mov dword [esp+28], 0
+
+    bts word [esp], 0
+    bts word [esp], 4
+    bts word [esp], 9
+    bts word [esp], 16
+    bts word [esp], 31
+    bts word [esp], 32
+    bts word [esp], 55
+    bts word [esp], 200
+
+    bts dword [esp], 1
+    bts dword [esp], 5
+    bts dword [esp], 10
+    bts dword [esp], 17
+    bts dword [esp], 30
+    bts dword [esp], 33
+    bts dword [esp], 56
+    bts dword [esp], 201
+
+%include "footer.inc"

+ 29 - 0
tests/nasm/bts-reg16.asm

@@ -0,0 +1,29 @@
+global _start
+
+%include "header.inc"
+
+    mov dword [esp], 0
+    mov dword [esp+4], 0
+    mov dword [esp+8], 0
+    mov dword [esp+12], 0
+    mov dword [esp+16], 0
+    mov dword [esp+20], 0
+    mov dword [esp+24], 0
+    mov dword [esp+28], 0
+
+    mov eax, 0
+    bts word [esp], ax
+    mov eax, -5
+    bts word [esp + 4], ax
+    mov eax, 1
+    bts word [esp], ax
+    mov eax, 31
+    bts word [esp], ax
+    mov eax, 32
+    bts word [esp], ax
+    mov eax, 63
+    bts word [esp], ax
+    mov eax, 99
+    bts word [esp], ax
+
+%include "footer.inc"

+ 29 - 0
tests/nasm/bts-reg32.asm

@@ -0,0 +1,29 @@
+global _start
+
+%include "header.inc"
+
+    mov dword [esp], 0
+    mov dword [esp+4], 0
+    mov dword [esp+8], 0
+    mov dword [esp+12], 0
+    mov dword [esp+16], 0
+    mov dword [esp+20], 0
+    mov dword [esp+24], 0
+    mov dword [esp+28], 0
+
+    mov eax, 0
+    bts dword [esp], eax
+    mov eax, -5
+    bts dword [esp + 4], eax
+    mov eax, 1
+    bts dword [esp], eax
+    mov eax, 31
+    bts dword [esp], eax
+    mov eax, 32
+    bts dword [esp], eax
+    mov eax, 63
+    bts dword [esp], eax
+    mov eax, 99
+    bts dword [esp], eax
+
+%include "footer.inc"