Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • M matt-vaughan-lots
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Norman Ramsey
  • matt-vaughan-lots
  • Wiki
  • Home

Home · Changes

Page history
The first plan authored Jun 27, 2015 by Norman Ramsey's avatar Norman Ramsey
Hide whitespace changes
Inline Side-by-side
Home.md 0 → 100644
View page @ 3ab8612f
# 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.
Clone repository
  • Home