Консультация № 201187
17.06.2021, 14:45
0.00 руб.
17.06.2021, 15:59
0 14 1
Здравствуйте! У меня возникли сложности с таким вопросом:
Необходимо модифицировать командный файл TASM.BAT таким образом, чтобы при отсутствии имени файла в командной строке осуществлялся ввод имени файла с клавиатуры. Предусмотреть также вывод на экран монитора содержимого файла листинга трансляции в постраничном режиме.

Обсуждение

давно
Модератор
137394
1850
17.06.2021, 15:34
общий
Адресаты:
Цитата: oligator.a.y 
Необходимо модифицировать командный файл 
переименуйте Ваш bat- файл в .txt и прикрепите к сообщению: пустое место модифицировать невозможно.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Старший Модератор
31795
6196
17.06.2021, 15:57
общий
Адресаты:
TASM какой?
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
31795
6196
17.06.2021, 15:59
общий
Адресаты:
Я забираю Ваш вопрос в Ассемблер
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Мастер-Эксперт
259041
7459
17.06.2021, 15:59
общий
Адресаты:
Вы что-то путаете или не знаете, что такое Файл?
Файл - это именованное место на Жёстком диске (или на флэшке, дискете, др носителе).
ОперСистема запрещает создавать файл БЕЗ имени. Таким образом, у Вас не может быть файла БЕЗ имени.

Вероятно, Вы создали какой-то текст или код, и при попытке сохранить его в файл на диске у Вас бывают ошибки, связанные с отсутствием имени или запретом задания имени, кот-е уже существует в родитель-папке?
Опишите подробнее свою задачу.
По-моему, Вы ошиблись адресом. Тема Вашей консультации - НЕ Windows , а вероятно программирование в Cmd / VBS или ASM .
давно
Модератор
137394
1850
18.06.2021, 11:14
общий
Адресаты:
Я получил в личное сообщение Ваш файл Tasm.txt. Я не увидел в нём ничего личного/конфиденциального, тем более, что он вызвал у меня недоумение:
Код:
start "" C:\Windows\System32\cmd.exe
Насколько я понял - tasm.bat не есть нечто стандартное в поставке Tasm. Я нашел нечто подобное, однако, чтобы решить Вашу задачу, я должен понимать порядок действий, которые Вы предпринимаете и файлы, которые создаются на каждом шаге обработки.
Итак, похоже у Вас есть исходный "файл.asm".
Далее, Вы хотите обработать его с помощью командного файла: [b]tasm.bat "файл"[/b]
Если tasm.bat запускается без параметра или файл отсутствует, то [b]tasm.bat [/b] должен позволить осуществлять ввод имени файла с клавиатуры.
Далее, ИМХО - я не спец по Tasm, [b]tasm.bat[/b] должен проделать какие -то шаги по обработке этого файла, при этом будут создаваться новые файлы с именами [b]"файл"[/b] и различными расширениями.
Необходимо знать:
1. Путь к этим файлам
2. Расширение этих файлов.
Чтобы "Предусмотреть также вывод на экран монитора содержимого файла листинга трансляции в постраничном режиме" необходимо знать полное имя файла (с путём) с листингом.
Кстати, попутно, просмотр листинга в постраничном режиме - не самый удобный способ анализа и отладки, я бы предпочел какой-нибудь простенький вьювер или редактор, чтобы можно было этот листинг скролить в любую сторону на любое число строк, например edit.com.
Так что для решения Вашей задачи необходимо подробно её описАть.
Кстати, если у Вас присутствует файл Tasm.exe, то наличие файла tasm.bat может привести к коллизии и непредсказуемым ошибкам, так как оба файла исполнимые, я бы предпочел другое имя, например, asm.bat
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Старший Модератор
31795
6196
18.06.2021, 14:07
общий
Адресаты:
[code lang=shell]start "" C:\Windows\System32\cmd.exe[/code]
Это код запуска командной строки. Аналог: <WIN> + <R>

Сейчас у меня WIN 10x64, но в х32, всегда пересылал на рабочий стол и менял этот параметр:

Автоматический вход в рабочую папку.

Т.к. у меня уже WIN 10x64, на рабочую папку настроен DosBox.


Содержимое ВАТ-файлов рабочей папки

ВАТ -файл, к примеру ТС2
[code lang=shell]D:\lang\tasm\tasm.2\tasm %1
D:\lang\tasm\tasm.2\tlink %1/t[/code]
В командной строке набираю ТС2 имя
В итоге у меня появляются OBJ + COM file, Если есть символ [b]L[/b ]в имени ВАТ-файла, это значит. что нужно создаватьь полный пакет для анализа.

Думаю, что автор вопроса хочет, чтобы в мой командный файл дабавили некотроый анализ введенных данных.


Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Модератор
137394
1850
18.06.2021, 17:50
общий
Адресаты:
Цитата: Зенченко Константин Николаевич
Думаю, что автор вопроса хочет, чтобы в мой командный файл дабавили некотроый анализ введенных данных.

Модернизирую Вашу первую строку. Пропишите правильные пути к файлам и убейте красное Echo для реальной работы, чтобы эта строка стала похожа на Вашу первую: я скачал TASM.ver.2.02.English.zip, но что-то с ним делать, кроме извлечения, не рискую.
Что делать далее - мне нужно понимание задачи, разъяснение, что далее.
Код:
@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
Я бы предпочел в Вашей первой строке все имена файлов писать в кавычках, не знаю, как Tasm на это среагирует.

И, повторюсь, не надо называть командный файл именем, совпадающим c exe-файлом или с иным другим исполнимым файлом. Назовём его, допустим, asm.bat или asm.cmd.
Я не знаю, как запустить bat-файл в DosBox.

[Offtop]Кстати, Вы можете рассказать мне, как настроить высоту окна для поста, чтобы в последующей попытке что-то сказать, не надо было бы его ручками заново растягивать? Уж очень неудобно. И диктатора беспокоить наивными вопросами не очень хочется. [/Offtop]
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Старший Модератор
31795
6196
18.06.2021, 20:30
общий
Адресаты:
Цитата: Megaloman
Что делать далее - мне нужно понимание задачи, разъяснение, что дале

Это реальная кофигурайия РС

С помощью DosBox и файла конфигурации:
Код:
. . .
[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
Mount d: c:\Cat\
d:
cd my

Я перехожу в рабочую папку:


В папке, my, есть несколько ВАТ-файлов, когда нужно использовать нужный колпилятор в нужном режиме, я вызываю его. К примеру вот только для Вас, написал(обратите внимание на число в низу и имя файла)

Запускаю DosBox и набираю команду TC2 210618(имя файла такое, компилирую и запускаю результат:

как-то так.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
31795
6196
18.06.2021, 21:05
общий
Адресаты:
Цитата: Megaloman
И, повторюсь, не надо называть командный файл именем, совпадающим c exe-файлом или с иным другим исполнимым файлом

Я не называю, сам ВАТ-файл не содержит имени исполняемого файлао, там %1-первый параметр, %2 - второой, . . . %5 - пятый, и так далеее.
К примеру ТC2L
Код:
D:\lang\tasm\tasm.2\tasm %1,,,
D:\lang\tasm\tasm.2\tlink %1

В MASM я каждое имя должен был бы прописыватоь отдельно и обязательно с расширением. В ТASM, как видете, достаточно запятых.

Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Модератор
137394
1850
18.06.2021, 21:07
общий
Адресаты:
УУУУ! В DosBox командный язык очень примитивный, от Dos 5.0 ?
И Tasm работает только из-под DosBox?
И смысла запускать C:\Windows\System32\cmd.exe из-под него вообще никакого - не работает.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Старший Модератор
31795
6196
18.06.2021, 22:12
общий
Адресаты:
Цитата: Megaloman
И Tasm работает только из-под DosBox

Даже то, что Tasm может создавать код под WIN, он работает в 16-ти битном режиме, Разработчики INTEL предложили систему POSIX, основаную на сегментации, каждой программе нарезался свой сегмент(хотя в защищенном режиме, нет сегментов, а селекторы), это был какбы селекторно-сегментный симбиоз. Разработчики ОСей отказалисьеё использовать = коммерция=время разработки -время эксперементов. Разработчики INTEL показали им "боровик" - по самый локоть, может больше, и в процессорах х64 убрали сегментацию, и после этого пропал 16-ти битный режим. В процессорах х32 этот режим ещё есть.

Начиная с WIN-ХР перестали поддерживатся графические режимы, выход был в DosBox или другом эмуляторе, к примеру как bosch
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Модератор
137394
1850
19.06.2021, 17:51
общий
Адресаты:
[offtop]"Какая гадость, эта Ваша заливная рыба!" - для DosBox приличный батник не напишешь. Даже Set /P не работает. Когда-то ненавидел батники за их убожество, решал задачи в JS и VBS, пока не увидел в более поздних осях весьма продвинутые возможности CMD и плотно стал работать предпочтительно с CMD.[/offtop]
Придумал решение:
Написал батник, который решает задачу, придуманную Вами , так как клиент не удосужился разжевать, что ему надо.
Идея: батник анализирует, есть ли в аргументе имя (без расширения) .asm - файла, если нет или он не найден, выдаётся диалог на его ввод, а затем формирует батник рядом с Tasm, который потом отправляет в DosBox.

Кстати, такой подход может быть очень удобным: я не знаю, в каком редакторе ваяются коды для Tasm, можно использовать любой, главное, чтобы коды хранились в прописанной папке рядом с Tasm. Можно на мой батник создать иконку, например на рабочем столе, и в проводнике на эту иконку затягивать мышью .asm -файл. Вообще руками его имя вводить не придётся.

Вот содержимое папки с Tasm (спойлера не хватает, пост получается плохо читаемым), красным выделено то, что осталось после работы батника, и, кстати, Asm.bat тоже надо было убить, он уже не нужен. А .lst можно было бы куда-нибудь переместить, чтобы не захламлял папку. Папку _Asm.My я создал для размещение своих (Вашего!) гениальных творений. Я бы и остальное разместил куда-нибудь в другое место, но не владею Tasm.
Код:
 Содержимое папки 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
Вот батник Asm.bat для DosBox, который изготовил основной батник.
Код:
@Echo Off
>>_meg.lst tasm.exe _ASM.My\_meg.Asm
If Exist _meg.obj >>_meg.lst tlink.exe _meg.obj
Pause
Exit

Он достаточно примитивен, и в DosBox выполняется.
Далее нотепадом или другим средством с комфортом просматриваем листинг.
Эклектика, конечно, но кто хочет сделать - ищет способ, кто не хочет - причину.
И наконец (Карфаген должен быть разрушен: спойлер бы получить!), сам код батника, его можно хранить где угодно, единственно пути прописать свои.
Код:
@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

Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Модератор
137394
1850
20.06.2021, 14:27
общий
Адресаты:
Я решил пересмотреть постановку задачи.
Считаю, ручками хоть где-то набирать имя файла, даже в формате 8.3 достаточно неприятный процесс.
В новом батнике при наличии имеющегося .asm файла вводить его имя руками не нужно никогда.
Во первых, осталась возможность создать на него иконку и затягивать на неё в проводнике .asm файл.
Во вторых, предоставляется графический интерфейс выбора файла.
Примечание: я не сумел заставить в самый первый раз попасть этим интерфейсом в папку по умолчанию, однако в последующих его вызовах интерфейс по умолчанию попадает в нужную папку.
При выборе файла (в аргументе батника или через графический интерфейс) этот файл попадает в редактор для возможного изменения, затем формируется для DosBox батник для выполнения, батник отправляется на выполнение в DosBox, после чего смотрим в редакторе листинг того, что получилось.

Кстати, в autoexec DosBox совершенно не обязательно прописывать для этого батника монтировку диска, при отправке батника с полным именем на DosBox диск прописывается автоматически на папку с батником.
Код:
@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
ИМХО, при написании кода придётся не раз его править, поэтому я дал возможность повторять процесс многократно - работать надо комфортнее.
Не знаю, насколько корректно я сделал, но, если .asm файл находится в непрописанной папке, то он туда скопируется и будет обрабатываться именно оттуда.
Еще подозреваю, что мне никто не объяснил, что такое листинг, поэтому не стреляйте в пианиста, он играет как умеет.
Батник сохранить в 1251 кодировке, например в Notepad.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Модератор
137394
1850
21.06.2021, 14:29
общий
это ответ
Я далёк от ассемблера, но, ИМХО, задача скорее на автоматизацию процесса. По моему мнению, запускать командный файл с ручным набором имени файла - очень некомфортно. Если взять за основу, что работаем в Tasm (у меня 2 версия - не думаю, что это принципиально) из-под DosBox, то можно предложить, ИМХО, прекрасное простое и удобное решение: Norton Commander!

1. Настройка DosBox. В опциях надо смонтировать диск на Вашу папку с Tasm.exe и прописать запуск NortonCommander из папки, в которую мы его поставим
Код:
[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


2. Берём АНГЛИЙСКУЮ версию Norton Commander (далее NC) 5.5 версии, распаковаваем её, получаем 3 папки nc551en1 nc551en2 nc551en3, создадим временную папку рядом с Tasm.exe, например Disk и сливаем туда содержимое этих трёх папок.

3. Запускаем DosBox.
CD Disk
Install
Устанавливаем NC. При установке укажем путь установки, я указал D:\COMANDER.5EN
D: - потому, что мы смонтировали именно этот диск.
Настройка NC "под себя" труда не составляет, я остановлюсь только на важных для работы моментах.
После того, как установка завершится, можете уже из-под NC убить папку Disk

4. Рядом с Tasm.exe создадим, например, asm1.bat
Код:
@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


5. Настроим NC для ассоциации файлов .asm c с обработкой посредством батника asm1.bat




В принципе, можно создать файл COMANDER.5EN\nc.ext и записать туда такую строку
Код:
asm: D:\asm1.bat !


6. Я создал папочку _Asm.My, куда поместил тестовые файлы .asm.
Заходим нортоном в эту папочку, выбираем файл, с которым мы работаем, по F4 можем его корректировать (кстати, в настройках нортона можно прописать более продвинутый редактор, например, COMANDER.5EN\ncedit.exe или любой другой Dos-редактор.), по Enter запустить его на обработку.
Ctrl/O (это буква) позволит посмотреть, что творилось во время обработки
Выбирая файл листинга, по F3 его можно комфортно просматривать.

Всё! Единственное, предложил бы в настройке DosBox убрать rem перед Exit - если Вы завершите NC (F10), то завершится и DosBox
И, возможно, прописать для DosBox опцию запуска полноэкранного режима.
fullscreen=true
fulldouble=false

Альтернативное решение, громоздкое но тоже рабочее, было предложено в минифоруме.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Форма ответа