|
| 1 | +```mermaid |
| 2 | +graph TD |
| 3 | +subgraph Overall Flowchart |
| 4 | + start([Start])-->read |
| 5 | + read[Read Code]-->preprocess |
| 6 | + preprocess[Process code in Preprocessor]-->|Data instruction|data |
| 7 | + preprocess[Process code in Preprocessor]-->|Code instruction|driver |
| 8 | + data[For each instruction]-->data_processor |
| 9 | + data_processor[Input instruction to data processor]-->data |
| 10 | + driver[Driver]-->instr |
| 11 | + instr[Input instruction to Interpreter]-->status |
| 12 | + status[Get Status code]-->status_action |
| 13 | + status_action[Take appropriate action]-->instr |
| 14 | + status_action[Take appropriate action]-->|Error|error |
| 15 | + error[Display Error Information]-->halt |
| 16 | + status_action[Take appropriate action]-->|Halt instruction|halt |
| 17 | + halt[Stop the emulator] |
| 18 | +end |
| 19 | +``` |
| 20 | + |
| 21 | +```mermaid |
| 22 | +graph TD |
| 23 | +subgraph Interpreter Process Flowchart |
| 24 | + start([Start])-->instr_command |
| 25 | + instr_command[Parse Instruction Command]-->action |
| 26 | + action[Take appropriate Action]-->return |
| 27 | + return([Return Status Value]) |
| 28 | +end |
| 29 | +``` |
| 30 | + |
| 31 | +```mermaid |
| 32 | +graph TD |
| 33 | +subgraph Data Process Flowchart |
| 34 | + start([Start])-->data_command |
| 35 | + data_command[Parse Data command]-->action |
| 36 | + action[Store Data in memory accordingly]-->return |
| 37 | + return([Return]) |
| 38 | +end |
| 39 | +``` |
| 40 | + |
| 41 | +```mermaid |
| 42 | +graph TD |
| 43 | +subgraph Preprocess Flowchart |
| 44 | + start([Start])-->input |
| 45 | + input(User Enters Code)-->|preprocess|case |
| 46 | + case[Make the case Uniform and parse numbers]-->labels |
| 47 | + labels[Process and store label locations]-->macro |
| 48 | + macro[Replace and process <br/>macro declaration and invocation]-->function |
| 49 | + function[Process and store function locations]-->verify |
| 50 | + verify[Verify syntax]-->|IR|split |
| 51 | + verify[Verify syntax]-->|error|error([Return Error]) |
| 52 | + split[Split data and program instructions]-->return |
| 53 | + return([Return Data and Code instructions <br/> Along with context information]) |
| 54 | +end |
| 55 | +``` |
0 commit comments