This is similar to bug #1335 and even related.
Capstone fails to decode multiple nop instructions that take modrm.
./cstool x64 "0f 19 c0" - nop eax, eax Correct
./cstool x64 "0f 1a c0" - ERROR: invalid assembly code Incorrect
./cstool x64 "0f 1b c0" - ERROR: invalid assembly code Incorrect
./cstool x64 "0f 1c c0" - ERROR: invalid assembly code Incorrect
./cstool x64 "0f 1d c0" - ERROR: invalid assembly code Incorrect
./cstool x64 "0f 1e c0" - ERROR: invalid assembly code Incorrect
./cstool x64 "0f 1f c0" - nop eax Correct
All of these are documented in AMD's Architecture programmer's manual Volume 3
Table A-4. Secondary Opcode Map (Two-byte Opcodes), Low Nibble 8–Fh
Verified on hardware as well.
This is similar to bug #1335 and even related. Capstone fails to decode multiple nop instructions that take modrm. ./cstool x64 "0f 19 c0" -
nop eax, eax
Correct ./cstool x64 "0f 1a c0" -ERROR: invalid assembly code
Incorrect ./cstool x64 "0f 1b c0" -ERROR: invalid assembly code
Incorrect ./cstool x64 "0f 1c c0" -ERROR: invalid assembly code
Incorrect ./cstool x64 "0f 1d c0" -ERROR: invalid assembly code
Incorrect ./cstool x64 "0f 1e c0" -ERROR: invalid assembly code
Incorrect ./cstool x64 "0f 1f c0" -nop eax
CorrectAll of these are documented in AMD's Architecture programmer's manual Volume 3
Table A-4. Secondary Opcode Map (Two-byte Opcodes), Low Nibble 8–Fh
Verified on hardware as well.