This is so much better not being a programmer, and having no context. I just get to watch this get posted and people are enjoying whatever the fuck this is, and that makes me happy
post
Such an interrupting crow
"knock knock"
"Who's there"
"The interrupting cow"
"The interrupting cow wh.." "MOOOOOOO"
This irqs me
The thing that bothers me the most here is that the meme is using 64bit assembly instructions, which did not exist at the time keyboards were using IRQs to communicate. 🤣
Did they upgrade PS/2 to use something other than interrupts? Because my earliest 64-bit CPU was in a computer manufactured in the early 00s and I'm pretty sure that mobo still had actual PS/2 ports, not USB converters or something.
I viscerally recall, and don't think kids now will ever fully comprehend the one week where all 4 wheels fell off the meme bus and this was what people were literally posting. I'm legitimately triggered.
I remember laughing at this meme and now I turn my nose up at 6-7
Intergenerational humor time
E6-7
You sank my battleship!
USB keyboards yelling into the void in the background hoping to be noticed.
They ain't even, the host actually polls "interrupt" endpoints
Couldn't quite remember how it worked, just that USB didn't CPU interrupt:-)
Modern CPUs can manage what interrupts them. Almost nothing actually does.
Computers have a CPU just to get in the way of things interrupting the main CPU.
Modern CPUs can manage what interrupts them. Almost nothing actually does.
Based
If you want a USB host controller to interrupt your CPU, I can recommend some nice embedded SoCs
This is legit the biggest lol. Yes I’m aware this is the PS/2 path only and today it’s actually polling on USB or Bluetooth keyboards but this really tickled me. The face of that CPU bird!
I used to game with a guy that swore by ps/2 keyboard for the interrupt supposedly making his inputs easier to perfectly time, but he got into a heated argument with my other gaming buddy over whether or not his mobo just had a usb ps/2 port that was basically a built in adapter and I never heard from either of them since.
I wish arch was a thing back then so I could have thrown in the standard line and have the last laugh.
Can someone smarter than me explain what mov rax, rbx. Does it read keyboard input?
It moves the value of register (a CPU memory cell) rbx to register rax. It's not that important though.
Basically the comic shows that the CPU is happily chugging along, executing instructions when suddenly the keyboard sends an interrupt telling the CPU it must stop all work and listen to whatever it has to say.
That was how keyboards worked before USB (back when they used PS/2 or DIN connectors). With USB it's the other way around: the device gets polled X times per second to check if it has any data to send.
It's irrelevant to the humor, it's just an arbitrary x86 instruction. The point is that keyboard inputs (with a PS/2 keyboard) interrupt whatever the computer is doing
Though to answer your question, it moves the value from the rbx register to the rbx register
These are some assembly instructions that the computer is happily running with no keyboard input. The keyboard input is then coming in as an interrupt demanding immediate processing which is silencing the poor background bird process.
Why is this cropped?
USB keyboards don't use interrupts, but instead poll at a fixed frequency.
Technically, interrupts are still often involved... just from the USB controller on the state of the polling instead of the keyboard directly on a keypress
Some keyboards implement the USB Boot Keyboard profile specified in the USB Device Class Definition for Human Interface Devices (HID) v1.11 and are explicitly configured to use the boot protocol. These are limited to 6-key rollover (6KRO) and will interrupt the CPU every time the keyboard is polled (even if there is no state change) unless the USB controller is programmed to tell the keyboard to respond with negative acknowledgments, which the USB controller discards in hardware without interrupting the CPU, when there are no state changes to report
https://en.wikipedia.org/wiki/USB_human_interface_device_class#Keyboards
Is this assembly?


top 50 comments