(Articolo di Phaze101) Linguaggio Macchina   Cos’è il Linguaggio Macchine Quindi, cos’è il Linguaggio Macchina? Che faccia ha? Questo è un semplice listato in Linguaggio Macchina per 6502: A2 01 8E 84 03 A9 02 6D 84 03 8D 85 03 60 Come potete vedere, per un essere umano sembra privo di significato. Per lo meno per la maggior parte, perché sono sicuro che un guru del 6502 sarebbe in grado di tradurlo al volo. Ma questo modo di scrivere In Linguaggio Macchina è un po’ estremo, e non saremo obbligati ad usarlo. E’ quello che il computer alla fine comprende, certo trasformato poi in binario (non in esadecibale), meglio ancora in segnali elettrci +5V o 0V, ma così andiamo troppo verso il profondo dell’hardware. Vediamo invece come rendere le cose più semplici. Partiamo da un po’ di Basic Di seguito un semplice programma basic. Nulla

di speciale, è veramente molto semplice: assegna un valore a X e Y, mette la somma dentro A e la stampa. 10 LET X = 1 20 LET Y = 2 30 A = X + Y 40 PRINT A Cosa succede quando scriviamo un programma così semplice? Quando diciamo al computer di eseguirlo, viene tradotto in Linguaggio Macchina e solo allora eseguito. Ovviamente è un processo lento, perché la traduzione deve avvenire prima che parta l’esecuzione vera e propria. Ho semplificato il processo reale, ma giusto per far capire a tutti, anche chi è proprio alle prime armi, qual è il processo che viene seguito. Questo excursus è utile per comprendere cosa diremo in seguito. Cos’è un Assembler? Un assembler è un programma che aiuta un essere umano a scrivere in assembly. L’assembly usa dei comandi mnemonici (rappresentati da 3 caratteri nel caso del 6502) per rappresentare le istruzione della CPU. Scrivere codice assembly vuol dire usare questi comandi. Ecco un listato in assembly che fa praticamente la stessa cosa del programma basic…

(Article by Phaze101) Machine Code   What is Machine code So, what is machine code and how it is written? Here is a simple 6502 program A2 01 8E 84 03 A9 02 6D 84 03 8D 85 03 60 As you can see it has no meaning to the human being. Well let me rephrase that. It has no meaning to most human beings, but I am sure that there are some 6502 Gurus out there that will be able to translate that. The above is the extreme and we will never write such a program thankfully. It is what the computer understands. Of course, they will be translated into binary (Not Hex) or better +5V and 0 but that is to deep down the line. So, let’s make things a bit simpler. Let’s do some BASIC Here is a simple basic program.  Nothing special, this is a

very simple Basic program. If is declaring X and Y with a value. Then it is just adding X + Y and storing the result in A. Then it prints contents of A which is the result. 10 LET X = 1 20 LET Y = 2 30 A = X + Y 40 PRINT A What happens when we write such a Basic program? Well, when we tell the computer to run this program the computer will translate the above into Machine Code and execute it for us. Of course, this is a slow process because of the translation that must happen before the machine code is execute. Please note I am trying to keep it simple here and not going into detail so as not to complicate things for beginners but in fact the process is more complex than what I explained. What is Assembler? An assembler is a program that helps the human being write assembly language. Assembly uses mnemonics (represented by 3 characters in the case of…