@ECHO OFF REM ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ REM ³ ADATTAMENTO per TUTORIAL ASSEMBLY -- www.giobe2000.it ³ REM ³ - versione WindowXp con esecuzione a pieno schermo - ³ REM ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ REM ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ REM ³ Il secondo parametro "." (un semplice punto) evita di tornare dentro ³ REM ³ il MENU interattivo dopo le operazioni di compilazione e allocamento ³ REM ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ REM ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ REM ³ Il secondo parametro "0" (un semplice "zero") evita di attivare il ³ REM ³ programma EXE2BIN, rendendo disponibile il file EXE invece del COM, ³ REM ³ anche quando la conversione sarebbe tecnicamente possibile ³ REM ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ IF "%FLAGm%"=="OK" GOTO START0 c:\arch-lab\chk\ORA c:\arch-lab\chk\DOSEDIT > nul IF NOT EXIST c:\arch-lab\chk\NCC.EXE GOTO START00 c:\arch-lab\chk\NCC /FAST > nul :START00 c:\arch-lab\chk\MAIUSCOL IF NOT EXIST C:\arch-lab\bin\NG.EXE GOTO START01 C:\arch-lab\bin\NG :START01 C:\arch-lab\chk\Delay20.COM C:\arch-lab\chk\Delay20.COM c:\arch-lab\bin\MASM_1 20 c:\arch-lab\bin\MASM_1 02 rem ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ MODE CON codepage prepare=((850) c:\arch-lab\bin\sys\ega.cpi) rem ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ MODE CON CODEPAGE SELECT=850 SET FLAGm=OK SET FLAGd=OK :START0 IF z%1 == z GOTO ERR1 IF z%2 == z/E GOTO EDITOR IF z%2 == z/e GOTO EDITOR :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 :EXEnoLIB MASM_1 12 MASM %1; |ERR-COMP c:\arch-lab\chk\Delay15 MASM_1 12 IF NOT EXIST %1.OBJ GOTO ERR2 LINK %1;/NOE | ERR-LINK c:\arch-lab\chk\Delay15 MASM_1 12 GOTO END1 :EXEsiLIB MASM_1 13 MASM %1;|ERR-COMP c:\arch-lab\chk\Delay15 MASM_1 13 IF NOT EXIST %1.OBJ GOTO ERR2 LINK %1,%1,nul,GIOBE.LIB /NOE | ERR-LINK c:\arch-lab\chk\Delay15 MASM_1 13 GOTO END1 :siLISTATO MASM_1 14 MASM %1,%1,%1,NUL |ERR-COMP c:\arch-lab\chk\Delay15 MASM_1 14 IF NOT EXIST %1.OBJ GOTO ERR2 DEL %1.OBJ MASM_1 10 GOTO MENU :onlyOBJ MASM_1 15 MASM %1;|ERR-COMP c:\arch-lab\chk\Delay15 MASM_1 15 IF NOT EXIST %1.OBJ GOTO ERR2 MASM_1 16 GOTO DOS :aggiornaLIB MASM_1 18 IF EXIST %1.OBJ GOTO EE MASM %1;|ERR-COMP :EE IF NOT EXIST %1.OBJ GOTO ERR2 c:\arch-lab\chk\Delay15 MASM_1 18 LIB GIOBE.LIB -%1+%1; DEL %1.OBJ MASM_1 17 if errorlevel 49 goto DOS if errorlevel 48 goto TrasLIB GOTO DOS :TrasLIB copy GIOBE.LIB C:\ARCH-LAB\BIN\GIOBE.LIB >nul MASM_1 19 GOTO DOS :ANNULLA CLS GOTO MENU :ERR1 IF "%FLAGd%"=="OK" GOTO DOS MASM_1 20 MASM_1 02 GOTO DOS :err002 CLS :ERR2 MASM_1 03 if errorlevel 51 goto err02 if errorlevel 50 goto READcom if errorlevel 49 goto LEGGIcom if errorlevel 48 goto MENU :err02 MASM %1,%1,%1,NUL |ERR-COMP c:\arch-lab\chk\Delay15 DEL %1.OBJ CLS Q %1.LST GOTO MENU :READcom CLS Q errcmp.txt GOTO MENU :err003 CLS :ERR3 MASM_1 04 if errorlevel 50 goto err03 if errorlevel 49 goto LEGGIlnk if errorlevel 48 goto MENU :err03 CLS Q errlnk.txt GOTO MENU :ERR4 MASM_1 05 GOTO MENU :ERR5 MASM_1 06 if errorlevel 49 goto err05 if errorlevel 48 goto Noexe :err05 MASM %1,%1,%1,NUL |ERR-COMP c:\arch-lab\chk\Delay15 DEL %1.OBJ GOTO Noexe :ERR6 MASM_1 06 if errorlevel 49 goto err06 if errorlevel 48 goto Noclear :err06 MASM %1,%1,%1,NUL |ERR-COMP DEL %1.OBJ GOTO Noclear :END1 IF NOT EXIST %1.EXE GOTO ERR3 IF EXIST %1.OBJ DEL %1.OBJ IF z%2 == z0 GOTO OKexe2 EXE2BIN %1 c:\arch-lab\chk\Delay15 :OKexe2 IF NOT EXIST %1.BIN GOTO END2 IF EXIST %1.COM DEL %1.COM REN %1.BIN %1.COM :END2 IF z%2 == z. GOTO DOS MASM_1 10 GOTO MENU :ESEGUI %1 GOTO MENU :EDITOR IF "%FLAGe%"=="OK" GOTO EDITOR1 SET FLAGe=OK MASM_1 08 :EDITOR1 CLS Q %1.ASM :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 :LEGGIlnk MASM_1 21 TYPE ERRLNK.TXT |more MASM_1 10 GOTO MENU :LEGGIcom MASM_1 11 TYPE ERRCMP.TXT |more MASM_1 10 GOTO MENU :PRINT CLS Q %1.LST GOTO MENU :NOclearEXE IF EXIST %1.LST DEL %1.LST GOTO NOclear :NOclearLST IF NOT EXIST %1.LST GOTO ERR5 GOTO NOexe :NOclearEL IF NOT EXIST %1.LST GOTO ERR6 GOTO NOclear :DOS SET FLAGd=no IF EXIST %1.LST DEL %1.LST :NOexe IF EXIST %1.COM IF EXIST %1.EXE DEL %1.EXE :NOclear acapo IF EXIST errcmp.txt DEL errcmp.txt IF EXIST errlnk.txt DEL errlnk.txt IF EXIST %1.BAK DEL %1.BAK