Skip to content

RoseLeBlood/virtualSoC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

virtualSoC

virtual Chip with own instruction set and IDE with Compiler and Debugger (viSoC Studio 2018)

viSoC Studio 2018

IDE for the virtual Chip

Demo PreRelease https://github.com/RoseLeBlood/virtualSoC/releases

Screenshot

Current using Mnemonic

  • NOP: No operating - NOP
  • HLT: Beendet das Programm - HLT
  • ADD: Add Number, Register, Pointer to AX - ADD #d5
  • CLR: Setze pointer oder register auf 0 - CLR AX
  • DIV: Div Number, Register, Pointer to AX - DIV #d5
  • JMP: Jump zu Adresse - JMP Test
  • MUL: Mul Number, Register, Pointer to AX - MUL #d5
  • PEEK: Lese aktullen Wert auf den Stack - PEEK @d255
  • POP: Pop element vom Stack - POP @d255
  • PUSH: Puscht element auf den Stack - PUSH @d255
  • SUB: Sub Number, Register, Pointer to AX - SUB #d5
  • MOV: Setze Pointer oder Register Wert - MOV AX, #d5
  • OR: Oder Operator2 Operator3 to Operator1 - OR @d255, #d5, #d5
  • XOR: Exclusiv Oder Operator2 Operator3 to Operator1 - XOR @d255, #d5, #d5
  • AND: And Operator2 Operator3 to Operator1 AND @d255, #d5, #d5
  • NOR: Nicht oder Operator2 Operator3 to Operator1 - NOR @d255, #d5, #d5
  • NXOR: Nicht exclusiv oder Operator2 Operator3 to Operator1 - NXOR @d255, #d5, #d5
  • NOT: NOT Operator2 to Operator1 NOT @d255, #d5
  • NAND: Not And Operator2 Operator3 to Operator1 - NAND @d255, #d5, #d5
  • CALL: Springe zum unter Programm und lege ip+9 in den stack
  • RET: Springe zurück aus dem Unterprogramm - RET
  • FBI: Initalisiert den Framebuffer - FBI
  • FBSET: Setzt ein Pixel an position x, y - FBSET #d5, #d5, #hff0000
  • ADR: Add Operator2 Operator3 to Operator1 ADR @d255, #d5, #d5
  • SBR: Sub Operator2 Operator3 to Operator1 - SBR @d255, #d5, #d5
  • DVR: Div Operator2 Operator3 to Operator1 DVR @d255, #d5, #d5
  • MLR: Multiplikation Operator2 Operator3 to Operator1 MLR @d255, #d5, #d5
  • JO: Jump wenn OverFlow Flag 1 ist - JO test
  • JC: Jump wenn Carry 1 ist - JC @d255
  • JNC: Jump wenn Carry 0 ist JNC Test
  • JN0: Jump wenn OverFlow Flag 0 ist - JNO test
  • INC: Incremiert ein Pointer oder Register - INC @d255
  • DEC: Decriment Pointer oder Register - DEC AX
  • STO: Setze pointer oder register auf 1 - STO AX
  • INV: Invetiere ein Pointer oder Register - Inv @d255