Class diagram chagnes

This commit is contained in:
Imbus 2024-04-21 21:01:54 +02:00
parent 39d04244cf
commit 273628c41a

View file

@ -15,6 +15,7 @@ classDiagram
+ abstract void write(Address address, Word data)
+ abstract void dump()
}
class Program
class ProgramCounter {
- int PC
- int SysTick
@ -28,7 +29,6 @@ classDiagram
+ boolean halted()
+ void halt()
}
class Program
class Instruction {
+ abstract void execute(Memory memory, ProgramCounter pc)
# abstract String opcode()
@ -62,14 +62,67 @@ classDiagram
+ String toString()
+ boolean equals(Object other)
}
class LongMemory {
- long[] memory
+ LongMemory()
+ LongMemory(int size)
+ Word read(Address address)
+ int size()
+ void write(Address address, Word data)
+ void dump()
class Add {
- Address src
- Word imm
- Address dest
+ Add(Address src, Word imm, Address dest)
+ void execute(Memory memory, ProgramCounter PC)
+ String opcode()
+ Object[] operands()
+ String toString()
}
class Copy {
- Word imm
- Address dest
+ Copy(Word imm, Address dest)
+ void execute(Memory memory, ProgramCounter PC)
+ String opcode()
+ Object[] operands()
+ String toString()
}
class Halt {
+ Halt()
+ void execute(Memory memory, ProgramCounter PC)
+ String opcode()
+ Object[] operands()
+ String toString()
}
class Jump {
- int index
+ Jump(int index)
+ void execute(Memory memory, ProgramCounter PC)
+ String opcode()
+ Object[] operands()
+ String toString()
}
class JumpEq {
- int index
- Address src
- Word imm
+ JumpEq(int index, Address src, Word imm)
+ void execute(Memory memory, ProgramCounter PC)
+ String opcode()
+ Object[] operands()
+ String toString()
}
class Mul {
- Address src1
- Address src2
- Address dest
+ Mul(Address src1, Address src2, Address dest)
+ void execute(Memory memory, ProgramCounter PC)
+ String opcode()
+ Object[] operands()
+ String toString()
}
class Print {
- Address address
+ Print(Address address)
+ void execute(Memory memory, ProgramCounter PC)
+ String opcode()
+ Object[] operands()
+ String toString()
}
Memory <|-- LongMemory
Word <|-- LongWord
@ -79,6 +132,18 @@ classDiagram
Computer --> Memory
Computer --> Program
Computer --> ProgramCounter
ProgramCounter --> Program
ProgramCounter --> Instruction
ProgramCounter : +toString()
Instruction : +toString()
Instruction <|-- Add
Instruction <|-- Copy
Instruction <|-- Halt
Instruction <|-- Jump
Instruction <|-- JumpEq
Instruction <|-- Mul
Instruction <|-- Print
Add --> Address
```
```mermaid