แอสเซมเบลอร์ขนาดเล็กที่ทำงานบนมินิซีพียู
สถาปัตยกรรมซีพียูขนาดเล็กได้รับการพัฒนาเป็นเครื่องมือการสอนโดยศาสตราจารย์ Daniele Braga ที่ Politecnico di Milano ซึ่งได้มาจากเครื่องนามธรรมที่นำเสนอในหนังสือ Informatica: arte e mestiere
โปรเจ็กต์นี้ใช้ภาษาที่เหมือนแอสเซมบลีและโปรแกรมจำลองเพื่อรัน
$ make all
$ ./assembler examples/sum.masm
$ ./runner examples/sum
คำแนะนำทั้งหมดเรียกว่าดังนี้:
OPCODE <operand>
ยกเว้น ADD, DIF, NOP, HALT
ที่ไม่ต้องใช้ตัวถูกดำเนินการ
OPCODES <op> type
0000 0 LOADA addr. copy in A the value from RAM cell <op>
0001 1 LOADB addr. copy in B the value from RAM cell <op>
0010 2 STOREA addr. store in RAM cell <op> the value from A
0011 3 STOREB addr. store in RAM cell <op> the value from B
0100 4 READ addr. read from console, store in RAM cell <op>
0101 5 WRITE addr. write to console from RAM cell <op>
0110 6 ADD - load A + B in A
0111 7 DIF - load A - B in A
1000 -8 LDCA value load <op> in A
1001 -7 LDCB value load <op> in B
1010 -6 JMP addr. run instruction at RAM cell <op> next
1011 -5 JMPZ addr. do the same as jump, if A == 0
1100 -4 NOP - do nothing
1101 -3 HALT - stop execution