Sezione

Indirizzi Base Registri Interni
Area Comunicazione BIOS Funzioni BIOS Funzioni DOS
Prefazione Capitolo 1 Capitolo 2 Schede
Libreria ASM Libreria MAC Palestra Progetti ASM
Info Download INDICE

Capitolo 2

Home » Programma il Computer » Tutorial Assembly

Capitolo 2 - Gli strumenti di lavoro

  Gli strumenti di Lavoro

ASSEMBLATORE 13/17 [32 di 87] 

    

    Quali sono gli errori di compilazione più frequenti? (Errori gravi)
     
bulletCi sono errori dovuti all'inesperienza e all'ignoranza delle regole (normalissima in tutti noi, nelle prime fasi di apprendimento) che bloccano il processo di creazione del nostro eseguibile, impedendo al compilatore di proseguire; vediamo di elencare i più probabili e comuni:

      

bulletgli operandi numerici delle istruzioni sono numeri binari espressi di norma in esadecimale; quelli a 8 bit vanno da 00H a FFH, quelli a 16 bit da 0000H a FFFFH. Il problema sta nel fatto che, a noi sembra ragionevole scriverli così come abbiamo appena fatto, dopo la virgola, nell'istruzione; ma l'assemblatore non ne vuole sapere: dopo MOV AX,FFFFH segnala errore!

      

test01.ASM(5): error A2009: Symbol not defined: FFFFH

0 Warning Errors
1 Severe Errors

      

L'istruzione deve essere corretta con MOV AX,0FFFFH: la fredda logica dell'assemblatore ha colpito ancora: per esso FFFFH non è un numero ma un'etichetta e come tale segnala errore perchè questo simbolo non esiste (nessuno lo ha definito, nel programma sorgente).

      

Ricorda... Ricorda: i numeri esadecimali che cominciano per lettera (per esempio A5H o FFFFH) devono essere scritti con uno 0 davanti (0A5H o 0FFFFH); solo così l'assemblatore li riconosce come numeri (ed evita di segnalare errore...)

      

bulletun altro errore che non perdona è il banale scambio di una O per uno 0; tutti prima o poi ci cascano e, per la fretta scrivono, per esempio,  MOV AL,OOH:
test02.ASM(5): error A2009: Symbol not defined: OOH

0 Warning Errors
1 Severe Errors

      

Naturalmente dovremo scrivere MOV AL,00H; l'errore è dello stesso tipo del precedente: l'assemblatore ha preso (giustamente) il nostro "numero" per un'etichetta e segnala errore perchè il simbolo OOH non esiste (nessuno lo ha definito, nel programma sorgente).  

      

bulletle istruzioni vanno imparate con pazienza e determinazione; bisogna ricordarsi che talune di esse lavorano con operandi predefiniti; così, per esempio, una situazione all'inizio piuttosto frequente è quella di passare operandi a 8 bit a istruzioni che trattano con quelli a 16 bit (come per esempio PUSH e POP); l'istruzione PUSH AL genera errore:
test03.ASM(5): error A2058: Byte register illegal

0 Warning Errors
1 Severe Errors

      

deve essere corretta con PUSH AX, e lo stesso vale per POP.

          

Suggerimento Bisogna sforzarsi di capire il messaggio d'errore; molto spesso (ma non sempre...) la traduzione letterale della sua definizione aiuta, ma certamente il miglior maestro è l'esperienza: commettere errori è una fortuna (?!), perchè così si impara a correggerli: basta non farci l'abitudine...

    

Pagina Precedente Capitolo 2 Pagina Successiva ASSEMBLATORE 13/17   Torna alla Home  del Capitolo1 del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
32 di 87
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87

    

CAP 2 » 1. Catena di Compilazione 2. Editor 3. Assemblatore 4. Linker 5. Exe2Bin
6.
Ambiente di Lavoro 7. Gestore d'Ambiente Macro 8. Gestore d'Archivi OG
9. Matrici per i Programmi Sorgente 10. Gestore di Librerie Lib 
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati