start "" C:\Windows\System32\cmd.exe
@Echo Off
cls
Set "PTasm=Z:\lang\tasm\tasm.2"
Set "PAsm=Z:\lang\tasm\tasm.2\ASM"
Set "ExtAsm=Asm"
Set "TasmExe=tasm.exe"
Set "TlinkExe=tlink.exe"
Pushd "%PTasm%" ||(
Echo "%PTasm%" not found
Pause
Exit /B 2
)
If "%1"=="" (
Call :Input "FAsm" ||Exit /B
) Else (
Set "FAsm=%PAsm%\%~1.%ExtAsm%"
If Not Exist "%PAsm%\%~1.%ExtAsm%" (
Echo "%~dpnx0 %1" !!! File in argument "%PAsm%\%~1.%ExtAsm%" not found!
Call :Input "FAsm" ||Exit /B
)
)
Echo %PTasm%\%TasmExe% %FAsm%
pause
Exit /B
:Input
SetLocal
Set "FTest="
SET /P "FTest=Input name Of .%ExtAsm% file "
Set "FTest=%PAsm%\%FTest%.%ExtAsm%"
If Exist "%FTest%" (EndLocal &Set "%~1=%FTest%" &Exit /B)
Echo File %FTest% not found
EndLocal
Echo.
CHOICE /C TC /N /M "T-Try again, C-Cancel"
If %ErrorLevel%==1 GoTo :Input
EndLocal
Exit /B 2
. . .
[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
Mount d: c:\Cat\
d:
cd my
D:\lang\tasm\tasm.2\tasm %1,,,
D:\lang\tasm\tasm.2\tlink %1
Содержимое папки Z:\lang\tasm\tasm.2
19.06.2021 16:29 <DIR> _Asm.My
19.06.2021 13:03 <DIR> ASM
28.09.2005 20:42 <DIR> DOC
28.09.2005 20:42 <DIR> INC
28.09.2005 20:42 <DIR> MISC
19.06.2021 16:49 107 Asm.bat
19.06.2021 16:39 797 _MEG.EXE
19.06.2021 16:39 717 _meg.lst
19.06.2021 16:49 569 ADD.EXE
13.03.1991 04:02 5 150 GREP.COM
13.03.1991 04:02 21 374 MAKE.EXE
13.03.1991 04:02 21 119 OBJXREF.COM
13.03.1991 04:02 19 641 README
13.03.1991 04:02 3 804 README.COM
13.03.1991 04:02 71 283 TASM.EXE
13.03.1991 04:02 167 927 TASM.TAH
13.03.1991 04:02 6 571 TCREF.EXE
03.01.1980 03:50 27 THELP.BAT
24.11.1992 15:27 7 882 THELP.COM
13.03.1991 04:02 21 315 TLIB.EXE
13.03.1991 04:02 35 124 TLINK.EXE
13.03.1991 04:02 3 891 TOUCH.COM
@Echo Off
>>_meg.lst tasm.exe _ASM.My\_meg.Asm
If Exist _meg.obj >>_meg.lst tlink.exe _meg.obj
Pause
Exit
@Echo Off
cls
rem Абсолютный путь к Tasm.exe
Set "PTasm=Z:\lang\tasm\tasm.2"
rem Относительные пути подпапок для исходного кода, для Obj, для Exe
Set "PAsm=_ASM.My"
Set "PObj=%PAsm%"
Set "PExe=%PAsm%"
rem ---------------------------
Set "ExtAsm=Asm"
Set "TasmExe=tasm.exe"
Set "TlinkExe=tlink.exe"
rem DOSBox -------
Set "DBox="C:\Program Files\DOSBox-0.74-3\DOSBox.exe" -userconf"
Pushd "%PTasm%" ||(
Echo "%PTasm%" not found
Pause
Exit /B 2
)
If "%1"=="" (
Call :Input "FAsm" ||Exit /B
) Else (
Set "FAsm=%~n1"
If Not Exist "%PAsm%\%~n1.%ExtAsm%" (
Echo "%~dpnx0 %1" !!! File in argument "%PAsm%\%~n1.%ExtAsm%" not found!
Call :Input "FAsm" ||Exit /B
)
)
Set "OutBat=%PTasm%\%ExtAsm%.bat"
2>nul (
Del "%PTasm%\%FAsm%.obj"
Del "%PTasm%\%FAsm%.map"
Del "%PTasm%\%FAsm%.exe"
>"%PTasm%\%FAsm%.lst" (
Echo %Date% %Time%
Echo -----------------------------------------------------------------------------
)
)
>%OutBat% (
Echo @Echo Off
Echo ^>^>%FAsm%.lst %TasmExe% %PAsm%\%FAsm%.%ExtAsm%
Echo If Exist %FAsm%.obj ^>^>%FAsm%.lst %TlinkExe% %FAsm%.obj/t
Echo Pause
Echo Exit
)
%DBox% %PTasm%\%ExtAsm%.bat
If Exist %PTasm%\%FAsm%.map >>%PTasm%\%FAsm%.lst (
Echo .
Echo .
Echo %PTasm%\%FAsm%.map
Echo ------------------------------
More %PTasm%\%FAsm%.map
)
2>nul (
Del "%PTasm%\%FAsm%.obj"
Del "%PTasm%\%FAsm%.map"
)
Start " " Notepad.exe %PTasm%\%FAsm%.lst
Exit /B
:Input
SetLocal
Set "FTest="
Echo .
SET /P "FTest=Input name Of .%ExtAsm% file "
Set "FTest=%FTest%"
If Exist "%PAsm%\%FTest%.%ExtAsm%" (EndLocal &Set "%~1=%FTest%" &Exit /B)
Echo File "%PAsm%\%FTest%.%ExtAsm%" not found
EndLocal
Echo .
CHOICE /C TC /N /M "T-Try again, C-Cancel"
If %ErrorLevel%==1 GoTo :Input
EndLocal
Exit /B 2
19.06.2021 17:54:31,04
-----------------------------------------------------------------------------
Turbo Assembler Version 2.02 Copyright (c) 1988, 1990 Borland International
Assembling file: _ASM.My\_meg.Asm to _meg.OBJ
Error messages: None
Warning messages: None
Passes: 1
Remaining memory: 491k
Turbo Link Version 3.01 Copyright (c) 1987, 1990 Borland International
Warning: No stack
.
.
Z:\lang\tasm\tasm.2\_meg.map
------------------------------
Start Stop Length Name Class
00000H 0011CH 0011DH _TEXT CODE
0011EH 0011EH 00000H _DATA DATA
Program entry point at 0000:0100
Warning: No stack
@Echo Off
cls
>nul Chcp 1251
rem Абсолютный путь к Tasm.exe
Set "PTasm=Z:\lang\tasm\tasm.2"
rem Относительные пути подпапок для исходного кода, для Obj, для Exe
Set "PAsm=_ASM.My"
Set "PObj=%PAsm%"
Set "PExe=%PAsm%"
rem ---------------------------
Set "TasmExe=tasm.exe"
Set "TlinkExe=tlink.exe"
rem DOSBox -------
Set "DBox="C:\Program Files\DOSBox-0.74-3\DOSBox.exe" -userconf"
Set "Editor=C:\Windows\System32\notepad.exe"
Set /A Log=0
If "%1"=="" GoTo :Repeat
Set /A Log=1
Set "FullFAsm=%~1"
Set "FAsm=%~n1"
Set "ExtAsm=%~x1"
Set "ExtAsm=%ExtAsm:~1%"
Set "PathFAsm=%~dp1"
Set "PathFAsm=%PathFAsm:~0,-1%"
:Repeat
Pushd "%PTasm%" ||(Echo "%PTasm%" not found &Pause &Exit /B 2)
If %Log%==0 Call :InFile "FullFAsm" "FAsm" "ExtAsm" "PathFAsm" ||Exit /B
Set /A Log=0
"%Editor%" "%FullFAsm%"
>nul 2>&1 Copy "%FullFAsm%" %PAsm%\%FAsm%.%ExtAsm%
Set "OutBat=%PTasm%\%ExtAsm%.bat"
2>nul (
Del "%PTasm%\%FAsm%.obj" "%PTasm%\%FAsm%.map" "%PTasm%\%FAsm%.exe" "%PTasm%\%FAsm%.com"
Del "%PathFAsm%\%FAsm%.exe" "%PathFAsm%\%FAsm%.com" "%PathFAsm%\%FAsm%.lst"
>"%PTasm%\%FAsm%.lst" (Echo %Date% %Time% &Echo -----------------------------------------------------------------------------)
)
>%OutBat% (
Echo @Echo Off
Echo ^>^>%FAsm%.lst %TasmExe% %PAsm%\%FAsm%.%ExtAsm%
Echo If Exist %FAsm%.obj ^>^>%FAsm%.lst %TlinkExe% %FAsm%.obj/t
Echo Pause
Echo Exit
)
%DBox% %PTasm%\%ExtAsm%.bat
If Exist %PTasm%\%FAsm%.map >>%PTasm%\%FAsm%.lst (
Echo .
Echo .
Echo %PTasm%\%FAsm%.map
Echo ------------------------------
More %PTasm%\%FAsm%.map
)
2>nul (
Del "%PTasm%\%FAsm%.obj" "%PTasm%\%FAsm%.map"
>nul 2>&1 Move "%PTasm%\%FAsm%.*" "%PathFAsm%"
)
Start " " "%Editor%" "%PathFAsm%\%FAsm%.lst"
cls
CHOICE /C RFC /N /M "R-Repeat job with same file, F-Input another file, C-Cancel"
If %ErrorLevel%==1 (Set /A Log=1 &GoTo :Repeat)
If %ErrorLevel%==2 (Set /A Log=0 &GoTo :Repeat)
Exit /B 0
:InFile
SetLocal
For /f "tokens=2 delims=:" %%i in ('chcp') Do (Set "sPrevCP=%%i" &>nul Chcp 1251)
For /f "usebackq delims=" %%i In (
`@"%systemroot%\system32\mshta.exe" "about:<FORM><INPUT type='file' name='qq'></FORM><script>document.forms[0].elements[0].click();var F=document.forms[0].elements[0].value;try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(F)};catch (e){};close();</script>" ^
1^|More`
) Do (Set "sFullFileName=%%i" &Set "sFileName=%%~ni" &Set "sFileExt=%%~xi" &Set "sFilePath=%%~dpi")
>nul Chcp %sPrevCP%
if Defined sFileName (EndLocal &(Set "%~1=%sFullFileName%" &Set "%~2=%sFileName%" &Set "%~3=%sFileExt:~1%" &Set "%~4=%sFilePath:~0,-1%" &Exit /B 0)
) Else (EndLocal &Exit /B 2)
Exit /B
[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
Mount D Z:\lang\tasm\tasm.2
D:
D:\Comander.5EN\NC.exe
rem Exit
@Echo Off
cls
2>nul del %1.obj
2>nul del %1.exe
2>nul del %1.com
2>nul del %1.map
D:\tasm.exe %1.asm
D:\tlink.exe %1.obj/t
asm: D:\asm1.bat !
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.