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

GESTORE D'AMBIENTE - MACRO 9/9 [62 di 87] 

    

    Cosa contiene Macro.Bat?
 
bulletAbbiamo detto all'inizio di questo paragrafo che Macro.bat è un file batch; in questo paragrafo mostreremo alcuni trucchi che fanno del nostro Gestore interattivo dell'Ambiente Assembler un buon file batch.
bulletSe vuoi leggere o scaricare (operazione non è necessaria se hai già provveduto a scaricare l'Ambiente Assembler) le versioni predisposte dall'autore per i sistemi Operativi Window 9x, Windows 2000 e Windows XP puoi cliccare sui 3 link seguenti :

      

[Macro.bat]windows9x   Leggi   SCARICA
[Macro.bat]windowsME   Leggi   SCARICA
[Macro.bat]windows2000   Leggi   SCARICA
[Macro.bat]windowsXP   Leggi   SCARICA
[Macro.bat]windowsNT   Leggi   SCARICA

      

bulletSe la lettura dei caratteri proposti dal tuo NotePAD (Blocco Note) di Windows appariranno in forma parzialmente illeggibile (leggi la scheda che tratta questo argomento) la causa sta nel font utilizzato per default, di solito Courier New o Times New Roman); per risolvere il problema scarica il font Giobe.TTF, fondamentale per vedere correttamente i sorgenti.
bulletDopo averlo scaricato (fallo ora!!) spostalo nella cartella Fonts di Windows.
bulletIntervenendo dunque sulla voce Imposta carattere del menu Modifica di NotePAD, scegli il nuovo font Giobe; dovresti apprezzare immediatamente la differenza..

      

Suggerimento In questa pagine mostriamo alcuni dettagli del file Macro.BAT; si tratta solo di un assaggio della potenza assicurata da questo strumento; anche senza conoscere il linguaggio di programmazione dei files batch è possibile intuirne le caratteristiche e la struttura.

      

bulletUna caratteristica di questi batch è la capacità di distinguere la prima chiamata dalle successive (con l'aiuto di una variabile di sistema, FLAGm): in questo modo può configurare l'ambiente dos (come il percorso, path) e lanciare alcuni applicativi (come per esempio Dosedit.com) solo la prima volta, evitando di ripetere in futuro queste preziose inizializzazioni:

      

@ECHO OFF
IF "%FLAGm%"=="OK" GOTO START0

PATH=C:\ARCH-LAB\CHK;C:\ARCH-LAB\BIN;.....
......
c:\arch-lab\chk\DOSEDIT > NUL
......
SET FLAGm=OK

:START0

      

bulletLa figura seguente mostra in che modo è possibile far capire al batch se c'è o meno lo switch /E: nel primo caso segnala errore e torna al dos mentre nel secondo apre l'editor. Da notare che le etichette DOS e MENU sono punti importanti del file batch (descritti più avanti).

      

:START0
IF z%1 == z GOTO ERR1
IF z%2 == z/E GOTO EDITOR
IF z%2 == z/e GOTO EDITOR
.........

:ERR1
IF "%FLAGd%"=="OK" GOTO DOS
MASM_1 20
MASM_1 02
GOTO DOS


IF EXIST %1.LST DEL %1.LST
IF EXIST %1.COM IF EXIST %1.EXE DEL %1.EXE
IF EXIST errcmp.txt DEL errcmp.txt
IF EXIST errlnk.txt DEL errlnk.txt
IF EXIST %1.BAK DEL %1.BAK
.........

:EDITOR
MASM_1 08
CLS
Q %1.ASM
GOTO MENU

      

bulletNel dettaglio successivo vediamo come il file batch gestisce le sottoOpzioni del menu di compilazione interno (la cui immagine è assicurata dal programma Masm_in1.COM):

      

:START1
MASM_IN1
if errorlevel 54 goto ANNULLA
if errorlevel 53 goto aggiornaLIB
if errorlevel 52 goto onlyOBJ
if errorlevel 51 goto siLISTATO
if errorlevel 50 goto EXEsiLIB
if errorlevel 49 goto EXEnoLIB

      

bulletIl dettaglio successivo mostra l'effettiva catena di realizzazione dell'eseguibile nel caso standard di accesso alla libreria GIOBE.LIB; notiamo la stampa dei messaggi iniziale (Masm_1 13) e finale (Masm_1 10) e soprattutto le chiamate di MASM %1, LINK %1,%1,nul,GIOBE.LIB /NOE e di EXE2BIN %1. Il file sorgente da elaborare è indicato da %1, che corrisponde al primo parametro passato a Macro.txt:

      

:EXEsiLIB
MASM_1 13
MASM %1;|ERR-COMP
IF NOT EXIST %1.OBJ GOTO ERR2
LINK %1,%1,nul,GIOBE.LIB /NOE|ERR-LINK


IF NOT EXIST %1.EXE GOTO ERR3
IF EXIST %1.OBJ DEL %1.OBJ
IF z%2 == z0 GOTO OKexe2
EXE2BIN %1

IF NOT EXIST %1.BIN GOTO END2
IF EXIST %1.COM DEL %1.COM
REN %1.BIN %1.COM

IF z%2 == z. GOTO DOS
MASM_1 10
GOTO MENU

      

bulletIn questa parte del file batch vediamo la gestione delle opzioni del menu principale, stampato da  Masm_1 09: in particolare notiamo il salto all'etichetta START1 (vista poco fa) quando si preme il tasto 2 (codice numerico 50):

      

:MENU
cls
MASM_1 09
if errorlevel 59 goto DOS
if errorlevel 58 goto NOclearEL
if errorlevel 57 goto NOclearLST
if errorlevel 56 goto NOclearEXE
if errorlevel 55 goto err003
if errorlevel 54 goto err002
if errorlevel 53 goto err02
if errorlevel 52 goto PRINT
if errorlevel 51 goto ESEGUI
if errorlevel 50 goto START1
if errorlevel 49 goto EDITOR1
GOTO DOS

      

bulletInfine mettiamo in evidenza la capacità di lasciar pulita la cartella, ogni volta che il programmatore decise di tornare al dos: viene verificata la presenza dei files LST, TXT e BAK e del file EXE (solo se c'è quello COM); in caso affermativo i files vengono cancellati:

      

:DOS
IF EXIST %1.LST DEL %1.LST
IF EXIST %1.COM IF EXIST %1.EXE DEL %1.EXE
IF EXIST errcmp.txt DEL errcmp.txt
IF EXIST errlnk.txt DEL errlnk.txt
IF EXIST %1.BAK DEL %1.BAK

      

Attenzione ! NB:  SOLO per Sistema Operativo Windows 2000
       Cosa fare se il Gestore d'Ambiente
(MACRO.BAT) segnala errore

      

bulletPer qualche imprevedibile ragione l'Ambiente BASE per Windows 2000 può talvolta, con un paio di versioni di  Windows 2000, non consentire al Gestore d'Ambiente (appunto MACRO.BAT) di funzionare correttamente e segnala questo errore:

               

               

Suggerimento NB: per risolvere questo problema ho predisposto una piccola integrazione,  Arch-Lab_Win2000_Patch.zip, descritta e scaricabile in questa pagina

    

Pagina Precedente Capitolo 2 Pagina Successiva GESTORE D'AMBIENTE - MACRO 9/9   Torna alla Home  del Capitolo1 del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
62 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