|
 |
Gli strumenti di Lavoro |
ASSEMBLATORE 11/17
[30 di 87] |
 |
|
A cosa servono i files CRF e REF? (Il
file REF) |
|
 | Poiché il file opzionale
CRF, come detto, non
è direttamente
leggibile, il pacchetto MASM
prevede un programma di conversione in chiaro,
CREF.EXE(scarica
o esegui qui), in grado di
trasformare il codice esadecimale del file CRF
in un file di testo Ascii,
con estensione REF. |
 | Nel caso dei nostri 2 esempi sono stati
forniti i seguenti comandi:
C:\ARCH-LAB\LAVORO>
CREF
Microsoft (R) Cross-Reference Utility Version 5.10
Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved.
Cross-reference [.CRF]: PROVA
Listing [PROVA.REF]:
5 Symbols |
C:\ARCH-LAB\LAVORO>
CREF
Microsoft (R) Cross-Reference Utility Version 5.10
Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved.
Cross-reference [.CRF]: PROVA1
Listing [PROVA1.REF]:
8 Symbols |
|
 |
Nella cartella sono stati creati i 2 nuovi
files:
|
 | Con il comando type del
Dos è ora possibile
vederne e utilizzarne il contenuto; per i nostri esempi abbiamo:
C:\ARCH-LAB\LAVORO> type PROVA.REF
Microsoft Cross-Reference Version 5.10 Thu Aug 16 22:31:45 2001
Symbol Cross-Reference (# definition, + modification) Cref-1
@CPU . . . . . . . . . . . . . . 1#
@VERSION . . . . . . . . . . . . 1#
CODE . . . . . . . . . . . . . . 1
INIZIO . . . . . . . . . . . . . 4# 12
_PROG. . . . . . . . . . . . . . 1# 2 2 11
5 Symbols |
C:\ARCH-LAB\LAVORO> type PROVA1.REF
Microsoft Cross-Reference Version 5.10 Thu Aug 16 22:31:53 2001
Symbol Cross-Reference (# definition, + modification) Cref-1
@CPU . . . . . . . . . . . . . . 1#
@VERSION . . . . . . . . . . . . 1#
BIOSCLS. . . . . . . . . . . . . 10# 15
CODE . . . . . . . . . . . . . . 1
INIZIO . . . . . . . . . . . . . 4# 21
KEYWAIT. . . . . . . . . . . . . 6# 16
MAIN . . . . . . . . . . . . . . 4 15#
_PROG. . . . . . . . . . . . . . 1# 2 2 20
8 Symbols |
|
 | La presenza del marcatore
# introduce qualcosa di interessante e originale, rivalutando in
parte questo file: con # viene marcata
la riga in cui abbiamo definito il simbolo che
le corrisponde. |
 | Ancora più accattivante è la capacità del
cross-reference di segnalare, con il marcatore +,
istruzioni in grado di cambiare il valore del simbolo
sotto test; nei nostri esempi questo fatto non si verifica ma nel successivo
estratto dei files LST e
REF possiamo vederne un esempio, con riferimento
alla variabile pubblica ATTRIB (da noi
ampiamente usata in futuro):
Symbol Cross-Reference (# definition, + modification)
ATTRIB . . . . . . . . . . . . . . . 3 8# 10+ 15+
18
--------------------------------------------------------
3 PUBLIC
ATTRIB ;Attributo di colore
;------------------------------------------
8 ATTRIB DB
0FH ;AREA DATI DEL PROGRAMMA
;------------------------------------------
10 MOV
Byte Ptr CS:[ATTRIB],4FH ; estratto
15 MOV
Byte Ptr CS:[ATTRIB],1FH
; del
18 MOV
AL,CS:[ATTRIB]
; programma |
Alla riga 3
viene dichiarata pubblica (prima di
definirla); alla riga 8 viene definita;
alle righe 10, 15 e 18 viene usata
ma alle righe 10 e 15 viene anche modificata.
|
 | Risulta evidente che la consultazione
contemporanea dei 2 files LST e
REF, offerti opzionalmente da MASM, può
dare nuova luce allo studio dei meccanismi che governano il processo di
compilazione. |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|