User talk:Leo Gama

x86 no operation instruction
Hi and welcome to Wikibooks! In revision 3D07F7 you have added a section on the  mnemonic. The current draft revision says, there was a “dedicated” instruction. That’s not true. is an alias for  [16-bit machine],   [32/64-bit machine], or for that matter any other non-destructive instruction. It already says so in the instruction reference and it’s mentioned in X86 Assembly/Data Transfer. Maybe you wanna change that? Furthermore, I’m usually wary of ’s that haven’t been inserted automatically by the respective assembler. It potentially smells like a NOP slide. Maybe it’s worth noting there’s hardly a need to manually put them in your source code? ‑‑Kai Burghardt (discuss • contribs) 09:09, 31 October 2021 (UTC)


 * Hi! Thank you.
 * You are right,  is just a mnemonic, not a dedicated instruction. So it is like the multi-byte versions. I'll correct the text.
 * I thought it was decoded as  but had a different opcode. However, the Intel reference is somewhat circular about these definitions:
 * "'The one-byte NOP instruction is an alias mnemonic for the XCHG (E)AX, (E)AX instruction.', Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2B: Instruction Set Reference, M-U, page 163."
 * "'XCHG (E)AX, (E)AX (encoded instruction byte is 90H) is an alias for NOP regardless of data size prefixes, including REX.W.', Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2C: Instruction Set Reference, V-Z, page 587."
 * Regarding the deliberate use of  instructions in code, it may be wise to point out that situations in which one would need to insert them manually are rare. But there are legitimate uses beyond the infamous slide, such as the binary patching that I mentioned —and what brought me here in the first place. Leo Gama (discuss • contribs) 21:01, 31 October 2021 (UTC)
 * Please take a look at my last edition. Leo Gama (discuss • contribs) 23:27, 31 October 2021 (UTC)