Documente Academic
Documente Profesional
Documente Cultură
RAM
Adresă Date
0001 2 Verze
0010 3 Pui
0011 3 Tomate
0100 7 Ridichi
0101 5 Cepe
0110 5 Boabe
Coriandru
Încarcă 0001
Mută 0010 Periferic (de ex.
Taie 0011
Monitor)
Prăjește 0100
Fierbe 0101 1111
Amestecă 0110
Așteaptă 0111
Compari 1000
Sari 1001
Adaugă treptat 1010
Regiștrii:
Ax 1000
Bx 1010
Astfel, dacă la început amestecam ridichiile și cepele, tăiam varza și puiul numai cu
registrul Ax și prăjeam totul în oală, în final adăugam treptat câte un bob de coriandru.
Adăugarea coriandrului s-a realizat folosind procesul de iterație cu o unitate. Rezolvarea
acestor cerințe folosind codul binar este redată mai jos. Prima coloană sau opcode reprezentă
instrucțiunea care trebuie executată în format 4 biți, a doua coloană reprezintă adresa RAM și
ultima coloană valoare ( sau adresa RAM la unele instrucțiuni):
1. 0001 0001 0010 – încarcă în primul sertar 2 verze
2. 0001 0010 0011 – încarcă în al doilea sertar 3 pui
3. 0001 0011 0011 – încarcă în al treilea sertar 3 tomate
4. 0001 0100 0111 – încarcă în al patrulea sertar 7 ridichi
5. 0001 0101 0101 – încarcă în al cincilea sertar 5 cepe
6. 0010 0100 1000 – mută sertarul al patrulea în registrul Ax
7. 0010 0101 1010 – mută sertarul al cincilea în registrul Bx
8. 0110 0000 0000 – amestecă
9. 0010 1000 1111 – mută ce se află în registrul Ax în oală
10. 0010 1010 1111 – mută ce se află în registrul Bx în oală
11. 0010 0001 1000 – mută ce se află în sertarul 1 în registrul Ax
12. 0011 1000 0000 – taie ce se află în registrul Ax
13. 0010 1000 1111 – mută ce se află în registrul Ax în oală
14. 0010 0010 1000 – mută ce se află în sertarul 2 în registrul Ax
15. 0011 1000 0000 - taie ce se află în registrul Ax
16. 0010 1000 1111 - mută ce se află în registrul Ax în oală
17. 0010 0011 1111 – muta ce se află în sertarul 3 în oală
18. 0100 0000 0000 – prăjește