This is my cpu diagram and assembler created for learning purposes.
RISC Architecture
32 bit Data Line
3 bit Operation Step
4 Registers (0-4)
2 DISCKS and 1 BIOS
32 bit Data Line
3 bit Operation Step
4 Registers (0-4)
2 DISCKS and 1 BIOS
I. Download Repository From Release Branch.
II. Download Java Java
III. Go to APP Folder
IV. Run logisim-win-2.7.1.exe
V. Open File and load CPU.circ
VI. Load Images from OS Folder to Bios and Disk
VII. Have Fun <3
II. Download Java Java
III. Go to APP Folder
IV. Run logisim-win-2.7.1.exe
V. Open File and load CPU.circ
VI. Load Images from OS Folder to Bios and Disk
VII. Have Fun <3
Code | What do | Structure | ! |
---|---|---|---|
mmu | Set MMU locations on disk to jump there for example when you use loop. | mmu (Place on Disk in Hex) | Register 1 = MMU ID Register 2 = Disk Location !Location need by increment by one! |
gto | Fill Spaces betwaen MMU aplications | gto "Place on Disck in Hex" | |
jmp | Jump to MMU location. | jmp | Register 3 = Disk Register 1 = MMU ID !Compare need be set on true condition! |
var | Set Data on Register. | var (Register) "Data" | |
pri | Print text in terminal. | pri "Text" | |
nel | Go to next line. | nel | |
prr | Copy Data from one Register and paste data in another. | prr (Register) (Register) | |
out | Display Data from Register. | out (Register) | |
get | Get Data From Input and save in register. | get (Register) | |
sme | Save data from Register in RAM. | sme (Register) | RAM Location = Register 4 |
gme | Get Data From RAM and save in Register. | gme (Register) | RAM Location = Register 4 |
com | Compare two datas. | com | A = Register 1 B = Register 2 OP = Register 3 Avaible Operations: 0 -> > 1 -> = 2 -> < 3 -> <= 4 -> != 5 -> >= 6 -> True 7 -> False |
alu | Make ALU operations. | alu | OP = Register 0 A = Register 1 B = Register 2 Result = Register 3 |
wai | Wait for input. | wai | |
dsc | Go to Disk from Register. | dsc (Register) | You need set Jump before you go to Disck |
sav | Save data on disck. | sav | Disck = Register 3 Data = Register 2 Location = Register 1 |
end | End Program | end |
0. A
1. not A
2. AND
3. OR
4. XOR
5. NAND
6. NOR
7. ff
8. 00
9. ADD
10. Sub
11. Mult
12. Devider
13. Random
14.
15.
DESCRIPTION | OP | R | R | More Info |
---|---|---|---|---|
NULL | 0 | Do nothing | ||
R -> M | 1 | R | Save in RAM R4=location |
|
M -> R | 2 | R | Get from RAM R4=location |
|
JMP | 3 | R | R3=Disck to jmp R1 mmu loation Need compart 1 |
|
ALU | 4 | OP = Register 0 A = Register 1 B = Register 2 Result = Register 3 |
||
GET | 5 | R | get data to register | |
OUT | 6 | R | out data from register and display on tty | |
R -> R | 7 | R(from) | R(to) | copy from register to register |
R -> Rom | 8 | Save data on disck R3=Disck R2=Data R1=location |
||
NULL | 9 | |||
WAIT | A | Wait for input | ||
COMPARE | B | Compart A = Register 1 B = Register 2 OP = Register 3 Operations: 0 - > 1 -> = 2 -> < 3 -> <= 4 -> != 5 -> >= 6 -> True 7 -> False |
||
MMU | C | R1=location R2=content Need by set before jmp location +1 |
||
Change Disk | D | R | go to dick from register need set location to jmp before |
|
D - > R | E | R | D | Set register |
STOP | F | end program |