-
-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add compatibility tests with nasm
#156
Comments
It appears that BITS 32
section .text
_start:
aor [ecx], ecx
BITS 32
section .text
_start:
clflush BYTE [ecx]
Also noticing slight differences in byte encoding of instructions: 2) Ronin::ASM::X86::Instructions::ADD#encode when given operands of types mem32, imm8 is expected to eq "\x80\x01A"
Failure/Error: expect(output.string).to eq(nasm(subject))
expected: "\x80\x01A"
got: "\x83\x01A"
(compared using ==)
# ./spec/x86/instructions/add_spec.rb:415:in `block (4 levels) in <top (required)>' |
Going to skip this due to |
Add specs that test whether
Program#assemble
can output the same bytes asnasm
would given the same ASM syntax. This should catch any remaining edge-cases inX86::Encoder
andX86_64::Encoder
with respect to exotic features, such as:_label[rip]
){k}
/{k}{z}
write masks{er}
/{sae}
The text was updated successfully, but these errors were encountered: