Pagina creata il 15/07/2009 [5621 giorni fa] |
Sezione Assembler | Utilizzo con Qedit [4 di 4] [21 di 51] |
1. Leggi subito!
2. Per chi parte da zero
3. Cos'è
4. Come si installa
5. Come si usa
6. Apri shell DOS dal Sito 7. Adatta shell DOS 8. Lancia EXE on-line 9. Scarica ASM 10. Caratteri strani 11. Prima compilazione 12. Download |
9. Nuovo Ambiente Assembler - Utilizzo con Qedit [1 di 4] [2 di 4] [3 di 4] [4 di 4] |
Istruzioni specifiche per l'uso dell'Ambiente con editor Qedit |
Bene!! Non ti resta che smanettare e imparare la nobile arte .. Ma prima di lasciarti ti voglio proporre una situazione nella quale tuo malgrado incorrerai spesso, almeno le prime volte: che succede se sbagli qualcosa?
Per fortuna l'Assemblatore e il linker sono in grado di accorgersi se qualcosa va storto (come al solito, per ogni dettaglio ti rimando al capitolo 2 del mio Tutorial Assembly); il grande vantaggio sta nel fatto che il Gestore MACRO.BAT provvede in proprio a darti tutte le informazioni sull'eventuale errore commesso.
Supponiamo di aver digitato male il nome di una procedura; per esempio alla riga 74 del sorgente PROVA.ASM (ricaricalo e scorri il sorgente fino a localizzarle questo numero, sulla barra blu in alto a sinistra, nel piano di editazione) il sorgente prevede l'istruzione CALL BIOScls
Supponiamo di aver scritto, invece, CALL BIOSclr, per disattenzione ...
Osserva la riga di controllo blu in alto: in essa è indicata in ogni momento anche la riga e la colonna corrente del cursore, in questo caso la riga 74: annota mentalmente questa informazione, utilizzata dal compilatore per segnalare il punto in cui si è verificato l'errore.
Non appena si provvede alla fase creazione dell'eseguibile (chiudendo il sorgente e quindi scegliendo l'opzione "2" dal menu interattivo e poi la sottoOpzione "2" dal riquadro seguente) il gestore che lancia automaticamente l'assembler si accorge subito dell'imprecisione, segnalandola immediatamente con il messaggio Masm_1 03 (che può essere richiamato anche dal menu, in ogni momento, scegliendo l'opzione "6" ( Tasto 6 per leggere gli errori di COMPILAZIONE ):
Questo tipo d'errore è tipico della fase di Compilazione (assembler); se in essa il compilatore rileva errori provvede ad elencarli a video uno dopo l'altro e, se essi fossero molto numerosi, non c'è verso di leggerli tutti perchè scorrono via velocemente: sul monitor restano visibili solo gli ultimi.
Per questa ragione Gestore interattivo provvede automaticamente al recupero di questa preziosa informazione creando un file di testo, ErrCmp.txt, che li raccoglie tutti e mostrando a video in che modo poterne fruire:
tornare subito al menu ( tasto 0 ) per rientrare nell'editor (e correggere gli errori) | ||
riprodurre di nuovo a video la sequenza degli errori ( tasto 1 , possibilità opportuna solo se gli errori sono pochi); in questo caso la schermata viene inizializzata dal messaggio Masm_1 11 ed è del tipo: |
aprire nell'editor ( tasto 2 ) il file d'errore appena creato, ErrCmp.txt, come si vede in figura: |
In queste segnalazioni c'è tutto quello che è necessario sapere: il messaggio restituito da MASM indica su quale riga del testo sorgente ("prova.asm(74)" si è manifestato l'errore, chiaramente alla riga 74 del sorgente PROVA.ASM, e il tipo d'errore ("error A2006: undefined symbol: BIOSclr", chiaramente un simbolo non riconosciuto, essendo BIOSclr diverso da BIOScls).
Da notare che la versione precedente di MASM (la 5.10) mostra messaggi più dettagliati, anche se quelli di sostanza non mancano:
Se la compilazione (assembler) ha prodotto errori il modo migliore per correggerli è assumere il file ErrCmp.TXT direttamente dentro il file sorgente (con la tecnica ^kR, tenendo premuto Ctrl digita in sequenza prima K e poi R); è così possibile consultare con comodo l'elenco degli errori, saltando alla linea indicata e cercando di eliminare la causa d'errore. |
Certo, ora dovrai imparare ad interpretare questi tipi di informazione cercando di capire che tipo d'errore hai commesso; naturalmente ho già previsto sul mio Tutorial Assembly una serie di indicazioni utili, in questo senso, che ti consiglio di leggere qui.
E' importante sapere che gli errori che si possono manifestare nella creazione dell'eseguibile possono essere dovuti anche alla fase Collegamento (linking) dell'oggetti (OBJ del sorgente e procedure esterne) coinvolti nella creazione stessa; anche in questo caso il gestore, lanciando automaticamente il linker, si accorge subito dell'imprecisione, segnalandola immediatamente con il messaggio Masm_1 04 (che può essere richiamato anche dal menu, in ogni momento, scegliendo l'opzione "7" ( Tasto 7 per leggere gli errori di COLLEGAMENTO ):
Questo tipo d'errore viene rilevato dal linker che provvede ad elencarli a video uno dopo l'altro; anche per essi il Gestore interattivo crea un file di testo, ErrLnk.txt, che li raccoglie tutti e mostrando a video in che modo poterne fruire:
tornare subito al menu ( tasto 0 ) per rientrare nell'editor (e correggere gli errori) | ||
riprodurre di nuovo a video la sequenza degli errori ( tasto 1 , possibilità opportuna solo se gli errori sono pochi); in questo caso la schermata viene inizializzata dal messaggio Masm_1 21 ed è del tipo: |
aprire nell'editor ( tasto 2 ) il file d'errore appena creato, ErrLnk.txt, come si vede in figura: |
Se il collegamento (linker) ha prodotto errori il modo migliore per correggerli è assumere il file ErrLnk.TXT direttamente dentro il file sorgente (con la tecnica ^kR, tenendo premuto Ctrl digita in sequenza prima K e poi R); è così possibile consultare con comodo l'elenco degli errori, saltando alla linea indicata e cercando di eliminare la causa d'errore. |
Questo metodo d'accesso all'Ambiente Assembler non prevede esplicitamente i servizi accessori integrati nei comandi degli editor grafici utilizzati dagli altri; ma ovviamente questo non significa che essi non possano essere disponibili.
La fase di debug è attivabile in ogni momento semplicemente digitando il comando debug al prompt e confermando con invio:
C:\ARCH-LAB\LAVORO> debug
Ogni dettaglio per un suo corretto utilizzo lo puoi trovare qui; per esempio per analizzare l'eseguibile prova.com sarà necessario passargli il nome del file da aprire come parametro digitando come primi 2 comandi (al prompt di debug, cioè subito dopo la lineetta lampeggiante): - n prova.com + <invio> (per specificare il nome del file da aprire con debug, nel nostro caso prova.com) e poi - l <invio> (per dare a debug il comando di caricarlo, load, in memoria):
Subito dopo potrai operare come al solito, per esempio per disassemblare (unassembly):
Poichè l'ambiente garantito da questo metodo d'accesso è intrinsecamente "a carattere" anche il prezioso programma Weg_2.15 [Copyright Dave Pearson, lo straordinario gestore di archivi di dati (Expert Guide Reader for Windows) pensato per aiutarti a scoprire molti gioielli di questo nostro tesoro], non è controllabile direttamente, ma è sempre possibile attivare l'esecuzione per altra via cliccando sul collegamento WEG_2.15 predisposto nella cartella C:\Arch-Lab\_Tools\=%SystemDrive%\Arch-Lab\_Tools\:
E' tuttavia previsto e configurato il gestore d'archivi TSR The Norton Guide [Copyright 1987 Peter Norton Computing, con un adeguato archivio di informazioni relative alla programmazione Assembly DOS a 16 bit (da noi praticata in questo sito in ogni dettaglio); per renderlo disponibile è necessario digitare il comando ng al prompt, confermandolo con invio:
C:\ARCH-LAB\LAVORO> ng
Come si vede vuene subito suggerito il modo per utilizzarlo: in ogni momento esso offrirà i dati dell'archivio corrente premendo i tasti Shift + F10, anche mentre si sta editando il sorgente, essendo un gestore che funziona in modo latente. La figura mostra (per esempio pratico) la cartella con le indicazioni relative alle istruzioni dell80x86:
Ecco: per utilizzare al meglio il metodo storico questo è proprio tutto!
La guida d'uso con Qedit termina qui; per tua comodità ho predisposto una copia PFD da leggere, stampare e scaricare a tuo piacimento:
Scarica il documento PDF
relativo a questa GUIDA
[Scaricato 3620 volte] |
Cliccando sulla freccia a destra (nella barra orizzontale qui sotto) puoi proseguire con la descrizione delle tecniche che ho utilizzato per configurare ciascuna delle versioni d'accesso descritte nelle pagine precedenti per il suo miglior utilizzo in ambito Assembly.
Prosegui con la configurazione di Qedit per adeguato uso in Ambiente |
Torna alla pagina principale dell'Ambiente Assembler |
Assembler | Utilizzo con Qedit [4 di 4] | |||||||
21 di 51 |
|
Home |
|
|||||||
|
Motore Ricerca |
|