|
|
|
# The plan, 27 June 2015: Assembly Language, Linking, Machine Code
|
|
|
|
|
|
|
|
Matt's building up knowledge and experience about assembly language, linking, and binary codes.
|
|
|
|
Here's the plan
|
|
|
|
|
|
|
|
1. Convert the UM loader to Noweb and document it as a literate program
|
|
|
|
1. Come up to speed on `mk` (NR has documentation)
|
|
|
|
1. Finish the Universal Machine, and make sure valgrind blesses it on all the sample inputs.
|
|
|
|
2. Do the COMP 40 calculator project (write an RPN calculator in UM assembly code)
|
|
|
|
3. Review a COMP 40 UM Assembler project from 2009 or 2010 (we'll have to check)
|
|
|
|
4. Write a UM assembler in ML that targets `link` code
|
|
|
|
5. Implement `link`
|
|
|
|
6. Write a `loader` that reads `link` input and writes 32-bit words to a binary file. Test it with the existing UM.
|
|
|
|
7. Write a loader that reads `link` code directly into the UM
|
|
|
|
8. Create a shell script that works as a "load-and-go assembler" by stitching together the assembler, `link`, and the UM.
|
|
|
|
|
|
|
|
# The next plan
|
|
|
|
|
|
|
|
Design of an instruction set for uScheme. |