Added new testing files...

This commit is contained in:
xolatile
2024-07-08 08:46:17 -04:00
parent 058ca4d4c9
commit b804aca257
2 changed files with 323 additions and 134 deletions

View File

@ -1,190 +1,215 @@
format ELF64 executable 3
segment readable executable
entry $
nop
nop
nop
fff:
nop
add rcx, r9
nop
add rcx, [x8]
nop
add rcx, 11223344h
nop
add [x8], rcx
nop
add qword[x8], 11223344h
nop
or ecx, r9d
nop
or ecx, [x4]
nop
or ecx, 11223344h
nop
or [x4], ecx
nop
or dword[x4], 11223344h
nop
adc cx, r9w
nop
adc cx, [x2]
nop
adc cx, 1122h
nop
adc [x2], cx
nop
adc word[x2], 1122h
nop
sbb cl, r9b
nop
sbb cl, [x1]
nop
sbb cl, 11h
nop
sbb [x1], cl
nop
sbb byte[x1], 11h
;~add rcx r9 | ADD D64 REG R1 REG R9
;~4C 01 C9 | 4C 01 C9
;~add rcx [x8] | ADD D64 REG R1 MEM 0
;~48 03 0D E1 11 00 00 | 48 03 0D FF FF FF FF
;~add rcx 11223344h | ADD D64 REG R1 IMM 0X11223344U
;~48 81 C1 44 33 22 11 | 48 81 C2 44 33 22 11
;~^^ ^^
;~add [x8] rcx | ADD D64 MEM 0 REG R9
;~48 01 0D D3 11 00 00 | 4C 01 0D FF FF FF FF
;~^^ ^^
;~add [x8] 11223344h | ADD D64 MEM 0 IMM 0X11223344U
;~48 81 05 C8 11 00 00 44 33 22 11 | 48 81 05 FF FF FF FF 44 33 22 11
nop
and rcx, r9
nop
and rcx, [x8]
nop
and rcx, 11223344h
nop
and [x8], rcx
nop
and qword[x8], 11223344h
nop
sub ecx, r9d
nop
sub ecx, [x4]
nop
sub ecx, 11223344h
nop
sub [x4], ecx
nop
sub dword[x4], 11223344h
nop
xor rcx, r9
xor rcx, [x8]
xor rcx, 11223344h
xor [x8], rcx
xor qword[x8], 11223344h
xor ecx, r9d
xor ecx, [x4]
xor ecx, 11223344h
xor [x4], ecx
xor dword[x4], 11223344h
xor cx, r9w
nop
xor cx, [x2]
nop
xor cx, 1122h
nop
xor [x2], cx
nop
xor word[x2], 1122h
xor cl, r9b
xor cl, [x1]
xor cl, 11h
xor [x1], cl
xor byte[x1], 11h
nop
cmp cl, r9b
nop
cmp cl, [x1]
nop
xor rcx, r9
xor rcx, [x8]
xor rcx, 11223344h
xor [x8], rcx
xor qword[x8], 11223344h
xor ecx, r9d
xor ecx, [x4]
xor ecx, 11223344h
xor [x4], ecx
xor dword[x4], 11223344h
xor cx, r9w
xor cx, [x2]
xor cx, 1122h
xor [x2], cx
xor word[x2], 1122h
xor cl, r9b
xor cl, [x1]
xor cl, 11h
xor [x1], cl
xor byte[x1], 11h
cmp cl, 11h
nop
cmp [x1], cl
nop
cmp byte[x1], 11h
nop
inc rcx
nop
inc qword[x8]
nop
inc ecx
nop
inc dword[x4]
nop
inc cx
nop
inc word[x2]
nop
inc cl
nop
inc byte[x1]
nop
nop
nop
div r9
nop
div qword[x8]
nop
div r9d
nop
div dword[x4]
nop
div r9w
nop
div word[x2]
nop
div r9b
nop
div byte[x1]
nop
nop
nop
ret
nop
leave
nop
lock
nop
hlt
nop
nop
nop
sysenter
nop
sysexit
nop
syscall
nop
sysret
nop
pause
nop
cpuid
;~nop
;~nop
;~nop
;~jo fff
;~jno fff
;~jb fff
;~jae fff
;~je fff
;~jne fff
;~jbe fff
;~ja fff
;~js fff
;~jns fff
;~jpe fff
;~jpo fff
;~jl fff
;~jge fff
;~jle fff
;~jg fff
;~nop
;~nop
;~nop
;~cmovo rax, rcx
;~cmovno rax, rcx
;~cmovb rax, rcx
;~cmovae rax, rcx
;~cmove rax, rcx
;~cmovne rax, rcx
;~cmovbe rax, rcx
;~cmova rax, rcx
;~cmovs rax, rcx
;~cmovns rax, rcx
;~cmovpe rax, rcx
;~cmovpo rax, rcx
;~cmovl rax, rcx
;~cmovge rax, rcx
;~cmovle rax, rcx
;~cmovg rax, rcx
nop
jo fff
nop
jno fff
nop
jb fff
nop
jae fff
nop
je fff
nop
jne fff
nop
jbe fff
nop
ja fff
nop
js fff
nop
jns fff
nop
jpe fff
nop
jpo fff
nop
jl fff
nop
jge fff
nop
jle fff
nop
jg fff
nop
cmovo rax, rcx
nop
cmovno rax, rcx
nop
cmovb rax, rcx
nop
cmovae rax, rcx
nop
cmove rax, rcx
nop
cmovne rax, rcx
nop
cmovbe rax, rcx
nop
cmova rax, rcx
nop
cmovs rax, rcx
nop
cmovns rax, rcx
nop
cmovpe rax, rcx
nop
cmovpo rax, rcx
nop
cmovl rax, rcx
nop
cmovge rax, rcx
nop
cmovle rax, rcx
nop
cmovg rax, rcx
;~;mov
;~;jmp
nop
nop
nop
;mov
;jmp
nop
nop

View File

@ -5,32 +5,111 @@
#include "../source/assembler.c"
static unsigned int array [] = {
ADD, D64, REG, R1, REG, R9,
ADD, D64, REG, R1, MEM, 0,
ADD, D64, REG, R1, IMM, 0X11223344U,
ADD, D64, MEM, 0, REG, R9,
ADD, D64, MEM, 0, IMM, 0X11223344U,
OR, D32, REG, R1, REG, R9,
OR, D32, REG, R1, MEM, 0,
OR, D32, REG, R1, IMM, 0X11223344U,
OR, D32, MEM, 0, REG, R9,
OR, D32, MEM, 0, IMM, 0X11223344U,
ADC, D16, REG, R1, REG, R9,
ADC, D16, REG, R1, MEM, 0,
ADC, D16, REG, R1, IMM, 0X11223344U,
ADC, D16, MEM, 0, REG, R9,
ADC, D16, MEM, 0, IMM, 0X11223344U,
SBB, D8, REG, R1, REG, R9,
SBB, D8, REG, R1, MEM, 0,
SBB, D8, REG, R1, IMM, 0X11223344U,
SBB, D8, MEM, 0, REG, R9,
SBB, D8, MEM, 0, IMM, 0X11223344U
NOP, ADD, D64, REG, R1, REG, R9,
NOP, ADD, D64, REG, R1, MEM, 0,
NOP, ADD, D64, REG, R1, IMM, 0X11223344,
NOP, ADD, D64, MEM, 0, REG, R1,
NOP, ADD, D64, MEM, 0, IMM, 0X11223344,
NOP, OR, D32, REG, R1, REG, R9,
NOP, OR, D32, REG, R1, MEM, 0,
NOP, OR, D32, REG, R1, IMM, 0X11223344,
NOP, OR, D32, MEM, 0, REG, R1,
NOP, OR, D32, MEM, 0, IMM, 0X11223344,
NOP, ADC, D16, REG, R1, REG, R9,
NOP, ADC, D16, REG, R1, MEM, 0,
NOP, ADC, D16, REG, R1, IMM, 0X1122,
NOP, ADC, D16, MEM, 0, REG, R1,
NOP, ADC, D16, MEM, 0, IMM, 0X1122,
NOP, SBB, D8, REG, R1, REG, R9,
NOP, SBB, D8, REG, R1, MEM, 0,
NOP, SBB, D8, REG, R1, IMM, 0X11,
NOP, SBB, D8, MEM, 0, REG, R1,
NOP, SBB, D8, MEM, 0, IMM, 0X11,
NOP, AND, D64, REG, R1, REG, R9,
NOP, AND, D64, REG, R1, MEM, 0,
NOP, AND, D64, REG, R1, IMM, 0X11223344,
NOP, AND, D64, MEM, 0, REG, R1,
NOP, AND, D64, MEM, 0, IMM, 0X11223344,
NOP, SUB, D32, REG, R1, REG, R9,
NOP, SUB, D32, REG, R1, MEM, 0,
NOP, SUB, D32, REG, R1, IMM, 0X11223344,
NOP, SUB, D32, MEM, 0, REG, R1,
NOP, SUB, D32, MEM, 0, IMM, 0X11223344,
NOP, XOR, D16, REG, R1, REG, R9,
NOP, XOR, D16, REG, R1, MEM, 0,
NOP, XOR, D16, REG, R1, IMM, 0X1122,
NOP, XOR, D16, MEM, 0, REG, R1,
NOP, XOR, D16, MEM, 0, IMM, 0X1122,
NOP, CMP, D8, REG, R1, REG, R9,
NOP, CMP, D8, REG, R1, MEM, 0,
NOP, CMP, D8, REG, R1, IMM, 0X11,
NOP, CMP, D8, MEM, 0, REG, R1,
NOP, CMP, D8, MEM, 0, IMM, 0X11,
//~NOP, D32, INC, REG, R1,
//~NOP, D32, INC, MEM, 0,
//~NOP, D32, DEC, REG, R1,
//~NOP, D32, DEC, MEM, 0,
//~NOP, D32, NOT, REG, R1,
//~NOP, D32, NOT, MEM, 0,
//~NOP, D32, NEG, REG, R1,
//~NOP, D32, NEG, MEM, 0,
//~NOP, D32, UMUL, REG, R9,
//~NOP, D32, UMUL, MEM, 0,
//~NOP, D32, IMUL, REG, R9,
//~NOP, D32, IMUL, MEM, 0,
//~NOP, D32, UDIV, REG, R9,
//~NOP, D32, UDIV, MEM, 0,
//~NOP, D32, IDIV, REG, R9,
//~NOP, D32, IDIV, MEM, 0,
//~NOP, RETN,
//~NOP, RETF,
//~NOP, LEAVE,
//~NOP, LOCK,
//~NOP, HLT,
//~NOP, SYSENTER,
//~NOP, SYSEXIT,
//~NOP, SYSCALL,
//~NOP, SYSRET,
//~NOP, PAUSE,
//~NOP, CPUID,
//~NOP, JO, 0X77FFFFFF,
//~NOP, JNO, 0X77FFFFFF,
//~NOP, JB, 0X77FFFFFF,
//~NOP, JAE, 0X77FFFFFF,
//~NOP, JE, 0X77FFFFFF,
//~NOP, JNE, 0X77FFFFFF,
//~NOP, JBE, 0X77FFFFFF,
//~NOP, JA, 0X77FFFFFF,
//~NOP, JS, 0X77FFFFFF,
//~NOP, JNS, 0X77FFFFFF,
//~NOP, JPE, 0X77FFFFFF,
//~NOP, JPO, 0X77FFFFFF,
//~NOP, JL, 0X77FFFFFF,
//~NOP, JGE, 0X77FFFFFF,
//~NOP, JLE, 0X77FFFFFF,
//~NOP, JG, 0X77FFFFFF,
//~NOP, CMOVO, D64, REG, R0, REG, R1,
//~NOP, CMOVNO,D64, REG, R0, REG, R1,
//~NOP, CMOVB, D64, REG, R0, REG, R1,
//~NOP, CMOVAE, D64, REG, R0, REG, R1,
//~NOP, CMOVE, D64, REG, R0, REG, R1,
//~NOP, CMOVNE, D64, REG, R0, REG, R1,
//~NOP, CMOVBE, D32, REG, R0, REG, R1,
//~NOP, CMOVA, D32, REG, R0, REG, R1,
//~NOP, CMOVS, D32, REG, R0, REG, R1,
//~NOP, CMOVNS, D32, REG, R0, REG, R1,
//~NOP, CMOVPE, D32, REG, R0, REG, R1,
//~NOP, CMOVPO, D32, REG, R0, REG, R1,
//~NOP, CMOVL, D32, REG, R0, REG, R1,
//~NOP, CMOVGE, D32, REG, R0, REG, R1,
//~NOP, CMOVLE, D16, REG, R0, REG, R1,
//~NOP, CMOVG, D16, REG, R0, REG, R1
};
int main (void) {
unsigned int index;
token_array = malloc (144UL * sizeof (* token_array));
token_array = malloc (1440UL * sizeof (* token_array));
assemble ((unsigned int) (sizeof (array) / sizeof (array [0])), array);
@ -44,3 +123,88 @@ int main (void) {
return (0);
}
/*
XOLATILE: FLAT:
4C 01 C9 4C 01 C9
48 03 0D FF FF FF FF 48 03 0D 52 12 00 00
48 81 C2 44 33 22 11 48 81 C1 44 33 22 11
48 01 0D FF FF FF FF 48 01 0D 42 12 00 00
48 81 05 FF FF FF FF 44 33 22 11 48 81 05 36 12 00 00 44 33 22 11
44 09 C9 44 09 C9
0B 0D FF FF FF FF 0B 0D 27 12 00 00
81 CA 44 33 22 11 81 C9 44 33 22 11
09 0D FF FF FF FF 09 0D 19 12 00 00
81 0D FF FF FF FF 44 33 22 11 81 0D 0E 12 00 00 44 33 22 11
66 44 11 C9 66 44 11 C9
66 13 0D FF FF FF FF 66 13 0D FF 11 00 00
66 81 D2 22 11 66 81 D1 22 11
66 11 0D FF FF FF FF 66 11 0D F1 11 00 00
66 81 15 FF FF FF FF 22 11 66 81 15 E7 11 00 00 22 11
44 18 C9 44 18 C9
1A 0D FF FF FF FF 1A 0D DB 11 00 00
80 D9 11 80 D9 11
18 0D FF FF FF FF 18 0D D0 11 00 00
80 1C FF FF FF FF 11 80 1D C8 11 00 00 11
4C 21 C9 4C 21 C9
48 23 0D FF FF FF FF 48 23 0D C3 11 00 00
48 81 E2 44 33 22 11 48 81 E1 44 33 22 11
48 21 0D FF FF FF FF 48 21 0D B3 11 00 00
48 81 25 FF FF FF FF 44 33 22 11 48 81 25 A7 11 00 00 44 33 22 11
44 29 C9 44 29 C9
2B 0D FF FF FF FF 2B 0D 98 11 00 00
81 EA 44 33 22 11 81 E9 44 33 22 11
29 0D FF FF FF FF 29 0D 8A 11 00 00
81 2D FF FF FF FF 44 33 22 11 81 2D 7F 11 00 00 44 33 22 11
66 44 31 C9 66 44 31 C9
66 33 0D FF FF FF FF 66 33 0D 70 11 00 00
66 81 F2 22 11 66 81 F1 22 11
66 31 0D FF FF FF FF 66 31 0D 62 11 00 00
66 81 35 FF FF FF FF 22 11 66 81 35 58 11 00 00 22 11
44 38 C9 44 38 C9
3A 0D FF FF FF FF 3A 0D 4C 11 00 00
80 F9 11 80 F9 11
38 0D FF FF FF FF 38 0D 41 11 00 00
80 3C FF FF FF FF 11 ****************************************
FASM:
90 4C 01 C9
90 48 03 0D 52 12 00 00
90 48 81 C1 44 33 22 11
90 48 01 0D 42 12 00 00
90 48 81 05 36 12 00 00 44 33 22 11
90 44 09 C9
90 0B 0D 27 12 00 00
90 81 C9 44 33 22 11
90 09 0D 19 12 00 00
90 81 0D 0E 12 00 00 44 33 22 11
90 66 44 11 C9
90 66 13 0D FF 11 00 00
90 66 81 D1 22 11
90 66 11 0D F1 11 00 00
90 66 81 15 E7 11 00 00 22 11
90 44 18 C9
90 1A 0D DB 11 00 00
90 80 D9 11
90 18 0D D0 11 00 00
90 80 1D C8 11 00 00 11
90 4C 21 C9
90 48 23 0D C3 11 00 00
90 48 81 E1 44 33 22 11
90 48 21 0D B3 11 00 00
90 48 81 25 A7 11 00 00 44 33 22 11
90 44 29 C9
90 2B 0D 98 11 00 00
90 81 E9 44 33 22 11
90 29 0D 8A 11 00 00
90 81 2D 7F 11 00 00 44 33 22 11
90 66 44 31 C9
90 66 33 0D 70 11 00 00
90 66 81 F1 22 11
90 66 31 0D 62 11 00 00
90 66 81 35 58 11 00 00 22 11
90 44 38 C9
90 3A 0D 4C 11 00 00
90 80 F9 11
90 38 0D 41 11 00 00
*/