Re:CMSC 430: Design and Implementation of Programming Languages
by pjmorris on Wednesday October 05, 2022 @10:26AM
(#33095988)
I love this idea. Do you have any specific courses you can point to?
[ Parent
| on HN ]
Re:CMSC 430: Design and Implementation of Programming Languages
by benrow on Wednesday October 05, 2022 @12:21PM
(#33097493)
If you don't mind working with software emulation, nand2tetris takes you from logic gates up to a CPU, assembler, compiler. I'm working through the book: https://www.nand2tetris.org/book. It doesn't focus on an existing architecture like 6502 but focuses on simplicity instead to make the ideas really clear.
If you'd like to work with real hardware, +1 to the Ben Eater suggestion. He sells kits for all the components for an 6502 machine so you don't get bogged down in sourcing them. Great videos too.
(Quick edit, not 8086, showing my inexperience with hardware!)
Re:CMSC 430: Design and Implementation of Programming Languages
by a-dub on Wednesday October 05, 2022 @10:51AM
(#33096301)
a good computer organization/design or intro computer architecture course will have the same effect.
the classic text is computer organization and design by patterson and hennessy.
Re:CMSC 430: Design and Implementation of Programming Languages
by pjmorris on Wednesday October 05, 2022 @04:13PM
(#33100727)
I've got H&P on the bookshelf. It's the 'get down and dirty with a breadboard an x86 chip and maybe a soldering iron' aspect I am surfing for. 'Like Ben Eater but for x86', preferably as a course, is what I'm aiming at/curious about.
Re:CMSC 430: Design and Implementation of Programming Languages
by a-dub on Wednesday October 05, 2022 @09:02PM
(#33103114)
i think some logic design courses are like this. you're given a fpga dev board (that has a bunch of peripherals and ports on it) and you code up a cpu and a few memory/io controllers and then in order to do something you have to assemble some machine code and run it.
my understanding is that it is a substantial undertaking, especially if you're interfacing with hardware peripherals.
alternatively you could write a mips (subset) emulator and assembler in python and probably get the same understanding in a fraction of the time.
Re:CMSC 430: Design and Implementation of Programming Languages
by mixmastamyk on Wednesday October 05, 2022 @08:01PM
(#33102751)
Petzold's Code book is like this, without the hardware. But could certainly be combined with it.
Re:CMSC 430: Design and Implementation of Programming Languages
by jgwil2 on Wednesday October 05, 2022 @11:22AM
(#33096732)
Ben Eater has a video series called "'Hello, world' from scratch on a 6502" that you might find interesting: https://www.youtube.com/watch?v=LnzuMJLZRdU&list=PLowKtXNTBy...