diff --git a/Architecture.md b/Architecture.md index 941b666..aafc027 100644 --- a/Architecture.md +++ b/Architecture.md @@ -1,6 +1,36 @@ # Architecture +## Introduction + +To get the PDP-10 to solve sudokus and learn how to code in PDP-10 assembly, we +should first consider, what functions we need, and how to structure the code, so +we can build small, fast and reusable functions. Since organising code in +assembly is a lot harder than in high-level programming languages such as LISP +and C, we should first plan how the program should look like, before we start +writing the actual code. This way, we can encapsulate the code and make it +reusable. The program will follow a simple flow: + ```mermaid -flowchart LR - id +--- +title: Program-Flow +--- +flowchart TD + start((Start)) + print1["Print Welcome Message"] + cmdline["Read file name from command line"] + fileexists{"File Exists?"} + loadfile["Load grid from file"] + print2["Print board"] + solve[["Solve the puzzle"]] + print3["Print solved board"] + stop((Stop)) + + start --> print1 + print1 --> fileexists + fileexists -->|No| stop + fileexists -->|Yes| loadfile + loadfile --> print2 + print2 --> solve + solve --> print3 + print3 --> stop ```