×
all 39 comments

[–]RepostSleuthBot[M] [score hidden] stickied commentlocked comment (0 children)

Looks like a repost. I've seen this image 3 times.

First Seen Here on 2024-03-07 83.2% match. Last Seen Here on 2025-07-21 79.69% match

View Search On repostsleuth.com


Scope: This Sub | Target Percent: 75% | Max Age: None | Searched Images: 1,098,813,021 | Search Time: 1.46695s

[–]FurySh0ck 347 points348 points  (1 child)

"Hi JSON, wanna hear about..."

More from r/ProgrammerHumor

  Hide

Comments, continued...

[–]krexelapp 57 points58 points  (2 children)

normal brain: names dev brain: irrelevant also dev brain at 3am: let me explain segmentation

[–]Tabsels[S] 17 points18 points  (1 child)

normal website: here are 10 ways to get that beach bod you've always wanted. dev website: here are 10 ways little endian is superior to big endian.

[–]krexelapp 2 points3 points  (0 children)

dev website: 10 ways to explain it, still nobody asked

[–]xcookiekiller 24 points25 points  (6 children)

I wanna hear about that, honestly. Anybody here who wants to explain

[–]Tabsels[S] 51 points52 points  (5 children)

So, when Intel designed the 8086 that originated the x86 instruction set, they based it on earlier processor designs featuring a 16-bit address space (64 kB). However, as RAM had become cheaper and thus the market for CPUs capable of addressing more memory had been increasing, they decided to extend its address space to 20 bits (1 MB).

They did this by adding 16-bit segment registers (CS, DS, ES and SS; FS and GS came later) which could then be combined with a 16-bit offset to generate the resulting 20-bit linear address. This worked by shifting the segment value 4 bits to the right left and adding the 16-bit offset. So 0013:0042h is equal to (0013h << 4) + 0042h = 00130h + 0042h = 00172h. But, important for our story here, 0014:0032h has the same 20-bit linear address 00172h.

Thus: every 16 bytes a new segment begins.

Edit: note that this is all about real mode x86. In protected mode (on the 80286 and later) segments are indexes in a descriptor table, and in paged mode (on the 80386 and later) the virtual memory backing the segments can be in arbitrary locations in physical memory.

[–]HeavyCaffeinate 7 points8 points  (2 children)

Also worth to mention that every x86 processor starts in real mode at first (afaik)

[–]Tabsels[S] 7 points8 points  (0 children)

Say Jerry, wanna hear about the A20 gate and how it came about?

[–]Akaino 1 point2 points  (0 children)

I read all that. I really did. I couldn't answer a single question to those few lines though.

LGTM; merged.

[–]dexter2011412 1 point2 points  (0 children)

Damn, I know all this

And also how std::allocator came about trying to deal with this but then C++ being C++ kept the baggage and now we need to deal with historic foitguns 😭

Also did you mean "4 bits to the left"?

[–]Ill_Carry_44 50 points51 points  (2 children)

Claude, explain ARM7TDMI to me like I'm five.

later

Claude, explain ARM7TDMI to me like I'm four.

[–]DustyAsh69 -5 points-4 points  (1 child)

later

Claude, explain ARM7DTMI to me like I'm one.

I'd stay away from using AI to learn. Videos are generally better. 

[–]ATE47 3 points4 points  (0 children)

Even if I didn’t find AI attractive first, I wouldn’t say it’s good to stay away to learn. It’s really rare to be able to go deeply in a context with videos, usually documentation or code examples are much better for details. AI can be really good to extract these details and to explain them.

The only error is to follow blindly an AI or to only rely on it

[–]Facemate 10 points11 points  (0 children)

ngl, remembering JSON's name sounds pretty easy

[–]Tabsels[S] 16 points17 points  (0 children)

I'm terribly sorry if this is at all useful information to you

[–]stillalone 2 points3 points  (1 child)

Thanks for sharing this.  I forgot about real mode x86; assembly.  Now if you excuse me I'm going to try to rebuild my TSR I wrote in Turbo Pascal that creates a screensaver that does the "copper bar" effect, by perfectly timing color palette changes to the horizontal refresh of a crt monitor.

[–]serwer-z-kartofla 1 point2 points  (0 children)

Now, do the same in python. ....

....

  .....

[–]xgabipandax 2 points3 points  (0 children)

Not gonna lie i was expecting the name to turn out as JSON before reading the last part

[–]Chrisuan 2 points3 points  (1 child)

actually funny post that's not about AI? where am I

[–]Tabsels[S] 0 points1 point  (0 children)

In the reply section of an elegant meme for a more civilised age. Before the dark times. Before the empAIre.

[–]oofos_deletus 2 points3 points  (2 children)

As someone who is currently learning x86asm in uni, please enlighten me

[–]LegendaryMauricius 1 point2 points  (0 children)

JSON? Sounds like some slow and dirty black magic.

[–]frikilinux2 0 points1 point  (0 children)

Json, that easy. It's just a format way more tricky than they tell you it is.

[–]Ok_Reserve_8659 0 points1 point  (0 children)

At least you get +1 video game skill for knowing how computers work and this can help when you’re retired

[–]GehennanWyrm 0 points1 point  (0 children)

Octothorp?

[–]isr0 0 points1 point  (0 children)

Hey Jarvis, move assembly topic cd 80