(no title)
yuye | 9 months ago
When I started compsci, it was the first year of a all-new curriculum for CompSci.
Literally the first week: We had to program an Arduino to play a song on a speaker by toggling GPIO, within a week. No assembly or any of that high-level mumbo-jumbo. We had to read the datasheet, look at the instructions and write the hex representation for each instruction in a txt file.
We had a "linker" tool: It took a basic bootloader (containing some helper functions for GPIO), turned our hex-txt file into actual binary, then just copies that to a set address. The bootloader did nothing more than init the GPIO pins and jump into our code.
We were given the locations of where these helper functions lived, nothing else.
It was to give a quick and intimate understanding of how CPUs actually work and why we use compilers and stuff. It worked really well, but it was so much of a pain that they changed it to allow students to use asm a year or two after.
tengwar2|9 months ago
You were lucky! We had to design and build the computer out of Z80-family components first before we could play around in binary.
There was actually a reason - this was back in '83/84 in a physics lab, and the idea was to be able to build your own logging / control device. PCs existed, but were terribly expensive.