Commit Graph
20 Commits
Author SHA1 Message Date
Billy Laws 8c8a8c84df unittests: Test for 16-bit popa insertion behaviour 2023-08-04 17:24:52 +01:00
Ryan Houdek 7629edcf61 OpcodeDispatcher: Implement support for 32-bit SALC instruction
This is an undocumented but supported instruction. It behaves just like
an `sbb al, al` but doesn't set flags and is one byte shorter.

The end result is that al is set to 0xFF or 0 depending on if CF is set
or not.
2023-03-29 14:34:51 -07:00
wannacu 73375a76ac unittests: Adds DAA, DAS, AAA, AAS, AAM and AAD unit test 2022-10-19 13:56:21 +08:00
Ryan Houdek e817f5d98c unittests: Adds 32-bit tests for signed displacement wraparound
A bit meta since it needs to JIT some minor code but easy enough.
Ensures something like #1517 won't happen again.
2022-01-23 18:38:44 -08:00
Ryan Houdek 2f1d44f838 unittests: Basic INTO test
This only tests for the non-faulting INTO instruction.

This is because our ASM tests can not test for signals. Nor can it
recover.
2021-12-28 19:58:35 -08:00
Ryan Houdek e63c832a5a unittests: Fixes 32-bit unit test missing flag
This was being run as 64-bit and happening to work
2021-11-13 01:36:09 -08:00
Ryan Houdek 28b3bc3508 unittests: Hotfix for older nasm
Newer nasm takes the size specifier for LEA, older ones do not
2021-08-22 21:59:57 -07:00
Ryan Houdek 23fb4baf46 unittests: Adds unit tests for storing segment register sizes 2021-08-21 17:43:39 -07:00
Ryan Houdek 09296fe73e unittests: Adds IRET unit tests 2021-08-20 23:52:42 -07:00
Ryan Houdek 6b7d508401 Adds a couple LEA unit tests for 16bit addressing mode 2021-01-13 12:02:20 -08:00
duck e610b12c97 Fix negative offset jumps on x86-32 by using 32-bit RIP 2021-01-11 03:20:25 -05:00
duck 86e6ea43a2 Fix test cases. 2021-01-10 18:31:23 -05:00
duck 9290e19fc5 Fix JCXZ on X86 2021-01-10 17:46:03 -05:00
Stefanos Kornilios Mitsis Poiitidis f6ef1fc8b5 Pop_Segments: pop cs is not a valid opcode 2020-12-04 01:17:39 +02:00
Ryan Houdek 9cf047317d Adds unit tests for 32bit segment register push and pop
This only tests to ensure we are pushing the correct amount data rather
than the segment registers being correct.

Bit difficult to test for anything other than null descriptor
2020-10-22 19:10:28 -07:00
Ryan Houdek 68f3a04f5b Adds unit tests for 32bit popa 2020-10-22 19:10:28 -07:00
Ryan Houdek d6c3518b74 Adds unit tests for 32bit pusha 2020-10-22 19:10:28 -07:00
Ryan Houdek 19f29c14a7 Adds 32bit move offset unit tests 2020-10-17 20:27:24 -07:00
Ryan Houdek 1818eab221 Adds 32bit LEAVE unit test 2020-10-06 19:18:21 -07:00
Ryan Houdek c4799404e4 Adds initial 32bit unit tests
This is a very small change, but it gets us starting to test 32bit
2020-09-07 22:32:17 -07:00