Not all registers can be scaled (multiplied by 1, 2, 4, & 8), read on for details of why this is a thing due to machine encoding.
Some insctructions have the operand of immediate 1 hardcoded, but you can still use 1 as an operand value for the variale immediate data.
Some abuse and redundancy discussion involving scaling by 2 and other edge cases with the SIB table.
LEA is encoded with the MODR/M byte, even though that would allow for some invalid encodings. Read on if you want to explore what happens when we do this.
A test instruction that is valid in assembly language, but has no machine encoding. The assembler uses something logically equivalent when encoded.
It is invalid assembly to BSWAP 16-bit registers, read on to find out what happens when we try to do it anyway.
Use simple math instructions to modify other instructions for some fun self modifying code.
There were some questions to my methods for the original post on Vm0wd2Qy, so this is a follow-up to explain everything.
Encoding of the JMP instruction can have reduncancies, here we explore using less common encodings.