Ассемблер
Как запустить пакет TASM 2.0 и Far Manager для ассемблера
Если у вас учебный пакет «TASM 2.0 + Far Manager», правильная логика такая: Far Manager используйте как удобную оболочку для просмотра папок и редактирования .asm-файлов, а саму сборку старых DOS-программ выполняйте через DOSBox с командами tasm, tlink и запуском .exe. Far Manager не является ассемблером. TASM собирает исходник, TLINK связывает объектный файл, DOSBox дает среду для запуска старых инструментов
Сначала разберитесь с ролями
В таком комплекте обычно есть несколько разных частей:
TASM.EXE— assembler, превращает.asmв.obj;TLINK.EXE— linker, превращает.objв.exe;- DOSBox — окружение для DOS-программ;
- Far Manager — файловый менеджер и редактор на Windows;
- ваши
.asm-файлы — исходный код.
Ошибка новичка — пытаться «запустить ассемблер» двойным кликом по каждому файлу подряд. Надежнее работать по шагам: открыть папку, изменить код, собрать, связать, запустить
Разместите пакет в простой папке
Например:
C:\asm
BIN
TASM.EXE
TLINK.EXE
WORK
HELLO.ASM
Если пакет уже распакован иначе, можно оставить его структуру. Но путь все равно лучше сделать коротким и латинским. Для DOSBox и TASM это важнее красоты названий
Как использовать Far Manager
Откройте Far Manager в Windows и перейдите в папку:
C:\asm\WORK
Там удобно создавать и редактировать .asm-файлы. После изменения сохраните файл. Far Manager в этой схеме похож на рабочий стол: он помогает быстро открыть файл, но не заменяет сборку
Если ваш учебный архив предлагает запускать команды прямо из Far Manager, проверьте, что они открывают именно DOSBox или корректную DOS-среду. Современный Far Manager сам по себе не делает старую DOS-программу совместимой с 64-битной Windows
Как собрать через DOSBox
Откройте DOSBox и выполните:
mount c c:\asm
c:
set path=c:\bin
cd work
tasm hello.asm
tlink hello.obj
hello.exe
После tasm должен появиться HELLO.OBJ. После tlink — HELLO.EXE. Если команды не находятся, значит DOSBox не видит папку BIN или PATH указан неверно
Пример hello.asm
.model small
.stack 100h
.data
msg db 'Hello from TASM 2.0$'
.code
main proc
mov ax, @data
mov ds, ax
mov ah, 09h
lea dx, msg
int 21h
mov ax, 4c00h
int 21h
main endp
end main
Этот пример подходит именно для DOS/TASM. Он использует int 21h, поэтому его не нужно пытаться собирать как Linux x64 программу
Как понять, где проблема
Если Far Manager открыл файл, но DOSBox его не видит, значит вы редактируете не ту папку, которую подключили через mount. Проверьте путь:
cd
dir
Если DOSBox видит файл, но tasm не находится, проверьте:
dir c:\bin
Если tasm собрал .obj, но tlink не создал .exe, смотрите сообщение linker. Часто ошибка в имени файла, отсутствующем объектном файле или неверном формате программы
Удобный рабочий порядок
- В Far Manager открыть
C:\asm\WORK. - Отредактировать
HELLO.ASM. - Сохранить файл.
- Перейти в DOSBox.
- Выполнить
tasm hello.asm. - Выполнить
tlink hello.obj. - Запустить
hello.exe. - Вернуться в Far Manager, если нужно исправить код.
Такой цикл похож на обычную разработку: редактор отдельно, сборка отдельно, запуск отдельно. Это помогает видеть, на каком этапе возникает ошибка
Частые ошибки
Пытаются запустить Far Manager внутри DOSBox
Современный Far Manager обычно является Windows-программой. Его используют рядом с DOSBox, а не вместо DOSBox
Путают TASM 2.0 и современные x64 tools
TASM 2.0 подходит для старых учебных DOS-примеров. Для Linux x64 выбирайте NASM или GAS
Редактируют один файл, а собирают другой
Проверьте путь в Far Manager и путь, подключенный через mount
Нет TLINK
Без linker вы получите .obj, но не получите запускаемый .exe
Что почитать дальше по ассемблеру
Если нужен общий маршрут по теме, откройте рубрику ассемблеру. Для соседних задач пригодятся эти разборы:
- Ассемблер онлайн: где запустить первый код
- Как запустить ассемблер в Visual Studio
- CMP, JMP, JE, JNZ: условия и циклы в ассемблере
- I8080, AVR и STM32 на ассемблере: когда идти в нишевые ветки