X86 Architecture 1 Byte Opcodes
Posted2 months agoActiveabout 2 months ago
sandpile.orgTechstory
calmpositive
Debate
20/100
X86 ArchitectureLow-Level ProgrammingComputer Architecture
Key topics
X86 Architecture
Low-Level Programming
Computer Architecture
The post shares a resource on 1-byte opcodes in x86 architecture, sparking discussion on its design, potential applications, and low-level programming.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
30m
Peak period
26
0-6h
Avg / period
10.3
Comment distribution31 data points
Loading chart...
Based on 31 loaded comments
Key moments
- 01Story posted
Oct 31, 2025 at 1:49 PM EDT
2 months ago
Step 01 - 02First comment
Oct 31, 2025 at 2:19 PM EDT
30m after posting
Step 02 - 03Peak activity
26 comments in 0-6h
Hottest window of the conversation
Step 03 - 04Latest activity
Nov 4, 2025 at 5:18 PM EST
about 2 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45774724Type: storyLast synced: 11/20/2025, 6:12:35 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
It's more or less the same information you get from the intel manuals (specifically appendix 2A of https://www.intel.com/content/www/us/en/developer/articles/t...). There you can also see what e.g. "Jb" means (a byte sized immediate following the instruction that specifies a sign-extended relative offset to the instruction).
One-byte opcodes here differs from 2 byte opcodes (386+ IIRC) prefixed by a 0F byte and even more convoluted stuff added later.
I downvote people when they say they don't know what something is when they could have used a LLM to explain it to them.
It's like complaining that the article is not written in French. It's noise in the comment section of an article. If someone wants such a thing, browsers have functionality to translate pages to French. Not every site needs to have their own French translation to suit such a person.
I know 8008, 8080, z80, 80186, 80286, 80386, 80486, and some fancy opcodes for SSEx. The table still, IMHO, needs further explanation. Some have provided pointers to more info; thank you.
Genuinely asking, for this post did you click on the link and say "yeah, I got the point" or did you involve an LLM? If you did, what did you ask it? I'm asking because I want to get better at LLM use (Another example post (and prompt) where you've used this, that's also fine)!
I asked it "Explain the syntax on the page https://www.sandpile.org/x86/opc_1.htm"
If they are willing to pay to level the playing field perhaps it might be worth your while to fill them in. The old scholastic business model — gotta pay to play. But to take precious time out your day to fill them in to your own personal disadvantage...?
In other circles where people have well-rounded feelings you might find someone willing to do it just for the warm fuzzies it gives them. But technically skilled people are generally void of such emotion. That is often what compels them towards technology in the first place.
If everyone stops asking questions and asks the LLM instead, there is no new training data for future LLMs to learn from. They will stagnate, or consume their own slop, and regress.
Essentially, the uppercase letter of an operand is a combination of the operand type (immediate, register, memory) along with how that is encoded (as ModR/M bytes have a register and a register/memory field), while the lowercase letter is the size of the operand (largely 8-bit/16-bit/32-bit/64-bit for the 1-byte opcodes).
https://www.felixcloutier.com/x86/xlat:xlatb
Additional resources:
http://www.sizecoding.org/wiki/DOS
A nice PDF with similar content:
https://pnx.tf/files/x86_opcode_structure_and_instruction_ov...