I have programmed by looking up op codes in a table on a sheet of paper and entering the hex codes into an EPROM programmer.
Programmer Humor
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
Did this in university in the very first week, quite a few people dropped out after that ๐
Ah yes, the great filter
You are.... Old?
Fucking ancient. This was for a Z80 based system using discreet logic for addressing and IO, constructed on a wire-wrapped board.
Oh that's interesting. I started poking around with a Gameboy emulator guide implemented in Python that intended to emulate a Z80. Got any good resource recommendation in case I decide to pick this back up and inevitably get stuck?
If you want some modern day fun with this, try the Zachtronics programming games; TIS-100, Shenzhen I/O, and Exapunks.
Or, my personal favorite I only discovered somewhat recently, try Turing Complete. You start by designing all your logic gates from just a negate gate IIRC. You eventually build up an ALU and everything else you need and then create your own computer. Then you define your own assembly language and have to write programs in your assembly language that run on the computer you've designed to complete different tasks. It's a highly underrated game, although it takes a certain type of person to enjoy.
Another interesting low-level interpreter/emulated system to look into for anyone else trying to get started with this type of thing is the CHIP-8! It's a pretty basic 8/16-bit instruction set (there are 35 opcodes, the instructions themselves are mostly simple) and there are tons of detailed guides on making one and writing roms for them.
Ah, memories. That was me on a Spectrum. It's all fun and games until you forget to save (to tape) and your code hangs the machine, losing everything.
Did the same in school on a Z80
When I was young, we didn't have hex codes, we only had 1 and 0s. One time we where all out of 1s, and I had to code a whole Database system with only 0s!
Same, and also for the C64 :-)
You're a god amongst men around these parts.
I once knew somebody who supposedly thought that ASM was high level.
ASM is high level. Real programmers use punch cards
Real programmers use a magnetized needle and a steady hand.
There's an emacs-command to do that.
No, the emacs command is for the butterfly
REAL programmers tap into the electron flow across the CPU and set bits in real time
Once met a man who said he loved assembly language because it was so much nicer than punch cards and FORTRAN, but C was OK too.
This was last year. In his defense though, he's been retired for years, used to work as a professor.
Wait until you learn about micro ops and processor internals. That somebody isn't as wrong as you think.
There is no way ASM is high level
It's a matter of perspective. To someone who's job is to write the system which interprets ASM, ASM is high level
Exactly. For every level of abstraction, the abstractor is the high level and the abstractee is the lower level. Those aren't real words perhaps, but you get what I'm saying. It's all relative along the chain of abstraction.
I would argue they don't know what that means really. Assembly is pretty much a mapping of words to machine code. It's just a way to make machine code easier to read. It doesn't actually change how it works.
A compiler re-arranges and modifies things so what you write isn't the same as the final program that is created. With assembly it is. It's not really an abstraction, but a translation. It doesn't move you further from the machine, it only makes it so you're speaking the same language.
When I learnt programming (back in early 2000s) the textbook said C is a high level 3rd generation language with 4th gen languages being something higher (I don't remember what examples were given specifically). This is back when the java applets and action script for flash were the hot things. How I miss the days without the world being cursed by JS.
I think C was 2nd, 3. is Java and Python, 4 SQL and 5th would be some hypothetical AI instruction language?
I mean, C is a high level language? Now, sure, C isn't a super expressive language and every C statement compiles to very few assembly instructions comparatively speaking, but it has a whole lot of stuff that assembly doesn't have. Like nice loops and other control structures and such, and not worry about which processor registers are used.
But quiche is tasty!