Tutte le operazioni vengono svolte attraverso l’utilizzo di registri che sono delle
memorie molto veloci costruite sui nostri processori.
Il processore 8086 possiede 14 registri i quali vengono definiti registri general
purpose e quindi utilizzabili per tutti gli scopi.
TIPI DI REGISTRI
REGISTRO AX: parte alta definita AH
parte bassa definita AL
REGISTRO BX: parte alta definita BH
parte bassa definita BL
REGISTRO CX: parte alta definita CH
parte bassa definita CL
REGISTRO DX: parte alta definita DH
parte bassa definita DL
PROGRAMMI DA UTILIZZARE PER POTER
PROGRAMMARE IN ASSEMBLY
PSPAD = editor di testo che ci permette di scrivere in una serie di linguaggi con
estensione .ASM contenente il programma sorgente
TASM-TURBO ASSEMBLER = assembla i singoli file sorgente, e genera
altrettanti file oggetto, con estensione .OBJ
TLINK = permette di creare il file eseguibile con estensione .EXE
TURBO DEBUGGER = verifica e corregge gli eventuali errori
COME CREARE UN PROGRAMMA IN ASSEMBLY
.CODE
1. Con la prima istruzione andremo a definire un modello per il nostro
programma che può essere di vario tipo come ad esempio small, large, tiny,
medium, ecc….
2. Con la seconda si dice al compilatore quanto spazio bisogna riservare per
lo stack. Se viene omesso, il compilatore usa per default 400h (1Kb)
3. Con la terza istruzione inseriamo le variabili che in assembly sono solo due
DB = 1 BYTE = 8 BIT
DW = 2 BYTE = 16 BIT
4. Con l’ultima istruzione inseriamo tutte le istruzioni del programma
In assembly non è possibile effettuare operazioni senza usare i registri.
Quindi la prima operazione da fare per poter ad esempio sommare due
variabili è l’istruzione MOV, la quale ci permette di copiare una variabile in
un’altra o in un registro.
N.B. non è possibile fare la somma di due variabili. Almeno una variabile deve
essere all’interno di un registro.
ESEMPIO = MOV AL, gatto
ADD AL, CANE
MOV SOMMA, AL ; copio il valore AL in somma
Per poter terminare il programma come ultima istruzione bisogna scrivere END
Salvare l’esercizio.asm
Sotto l’istruzione .CODE aggiungiamo l’istruzione .STARTUP la quale servirà per
dire al nostro computer il punto da cui far partire il nostro programma.