|
|
Le quintuple sono poco leggibili! 00H1n 01H0n Nello stato 0 si possono verificare due eventi diversi 0: se (0) allora scrivi 1 e vai in H se (1) allora scrivi 0 e vai in H H: Halt Si possono semplificare le istruzioni? Sequenzialità 0: se (0) allora scrivi 1 e vai in 2 1: se (1) allora scrivi 0 2: Halt L'istruzione se… può solo "cambiare stato" in modo condizionato/incondizionato; scrivi e vai diventano singole 0: se (1) allora vai in 2 1: se (0) allora vai in 4 2: scrivi 0 3: vai in 5 4: scrivi 1 5: Halt In Inglese 0: JUMPGREATERTHANZERO 2 1: JUMPEQUALZERO 4 2: OUTPUT 0 3: JUMP 5 4: OUTPUT 1 5: HALT Abbreviando: Codici Mnemonici 0: JGT 2 1: JEQ 4 2: OUT 0 3: JMP 5 4: OUT 1 5: ALT Nomi simbolici per gli "stati": le istruzioni diventano delle triple: Indirizzo, Codice Mnemonico e Indirizzo/dato JGT Zero
JEQ Uno
Zero OUT 0
JMP Fine
Uno OUT 1
Fine ALT
Nomi simbolici per i "dati": le istruzioni diventano delle triple: Indirizzo, Codice Mnemonico e Operando JGT Zero
JEQ Uno
Zero OUT Z
JMP Fine
Uno OUT U
Fine ALT
Z DAT 0
U DAT 1
END
Se le caselle sono parole allora possono rappresentare (con una codifica in binario) numeri e caratteri. Introduciamo l'A.L.U. (Unità Aritmetica-Logica) che svolge le operazioni più frequenti. ADD, SUB, MUL, DIV, INC, DEC, AND, OR, NOT, ... |
|