Ассемблер
Как установить TASM в DOSBox
TASM в DOSBox обычно не устанавливают через мастер установки. Его размещают в папке на диске, подключают эту папку в DOSBox через mount, добавляют каталог с TASM.EXE и TLINK.EXE в PATH, а затем проверяют сборку на маленьком .asm-файле. DOSBox нужен потому, что TASM — старый DOS-инструмент, который не рассчитан на обычный запуск в современной 64-битной Windows
Что нужно заранее
Для работы нужны:
- DOSBox;
- файлы TASM, обычно
TASM.EXE; - linker, обычно
TLINK.EXE; - рабочая папка для исходников.
Отдельно стоит сказать про происхождение файлов. TASM — старый коммерческий инструмент Borland. Не стоит скачивать случайные архивы с неизвестных сайтов. Лучше использовать легальный учебный комплект, архив от преподавателя или другой источник, в котором вы понимаете происхождение файлов
Разложите файлы по папкам
Создайте папку:
C:\asm
Внутри сделайте:
C:\asm\BIN
C:\asm\WORK
Положите в BIN:
TASM.EXE
TLINK.EXE
В WORK будут лежать ваши .asm-файлы. Такой порядок удобен: инструменты отдельно, проекты отдельно. Путь короткий, латинский, без пробелов
Подключите папку в DOSBox
Откройте DOSBox:
mount c c:\asm
c:
dir
Вы должны увидеть папки BIN и WORK. Если не видите, значит DOSBox подключил не ту папку или на Windows путь отличается
Проверьте запуск TASM
Можно вызвать TASM с полным путем:
c:\bin\tasm
Если программа запускается и показывает справку или сообщение об использовании, значит DOSBox видит файл
Чтобы команда tasm работала из любой папки внутри диска C:, выполните:
set path=c:\bin
Теперь проверьте:
tasm
Если DOSBox пишет Illegal command, значит PATH не настроен или TASM.EXE лежит не там, где вы думаете
Соберите пробную программу
Создайте C:\asm\WORK\HELLO.ASM:
.model small
.stack 100h
.data
msg db 'TASM works$'
.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
В DOSBox выполните:
c:
cd work
tasm hello.asm
tlink hello.obj
hello.exe
Если все получилось, на экране будет:
TASM works
Как сделать настройку удобнее
После закрытия DOSBox команды mount и set path могут потребоваться снова. Когда вы уже проверили ручной запуск, можно добавить эти строки в конфигурацию DOSBox:
mount c c:\asm
c:
set path=c:\bin
cd work
Но лучше не начинать с автозапуска. Ручной порядок полезен: вы понимаете, какой диск подключен, где лежит TASM и из какой папки запускается сборка
Частые ошибки при установке
Положили TASM в папку с кириллицей
Сделайте простой путь вроде C:\asm\BIN. Так меньше проблем
Есть TASM, но нет TLINK
TASM создает .obj, а для .exe нужен linker. Если TLINK.EXE нет, сборка остановится на промежуточном файле
Запускают Windows x64 пример
TASM в DOSBox нужен для 16-битных DOS-примеров. Код под NASM Linux x64 или MASM x64 не будет собираться теми же командами
Файл называется hello.asm.txt
Windows может скрывать расширения. Проверьте, что файл действительно называется HELLO.ASM, а не HELLO.ASM.TXT
Что почитать дальше по ассемблеру
Если нужен общий маршрут по теме, откройте рубрику ассемблеру. Для соседних задач пригодятся эти разборы:
- CMP, JMP, JE, JNZ: условия и циклы в ассемблере
- DOSBox: как пользоваться ассемблером
- I8080, AVR и STM32 на ассемблере: когда идти в нишевые ветки
- MASM, NASM, FASM, SASM: что выбрать новичку