Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2007, 18:00   #1
steck
/\/\Et@/\|/|$T
Пользователь
 
Аватар для steck
 
Регистрация: 26.03.2007
Сообщений: 89
Злость Не компилируется исходник

ребята я пару дней назад начал учить ассемблер ,у меня компилятор borland assembler 5.0 ,почему я написал программу и он не открывает её ,пишет (я в английском не силён ) типа программа имеет не поддерживаемую таблицу я не понимаю этого.
Может я чтото не так зделал? Я открыл исходник ассемблеровский(который делали умные люди) и тоже самое .Как код открыть?
there are no programmers there is no life
steck вне форума Ответить с цитированием
Старый 26.04.2007, 19:51   #2
SteelRat
Брэйнфакер Про
Пользователь
 
Аватар для SteelRat
 
Регистрация: 21.02.2007
Сообщений: 51
По умолчанию

Ммм.. Не очень понятно, что у тебя за проблема. Точнее совсем непонятно. На всякий случай: это компилятор работающий с командной строки. А ещё полезно брать в руки словарь и переводить всё что тебе пишет компилятор. Программист без английского - это как женщина за рулём. Или типа того. =)
SteelRat вне форума Ответить с цитированием
Старый 26.04.2007, 20:14   #3
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

батник
Код:
cls
echo off
d:\tasm_5\BIN\tasm32 /m3 /ml %1,,;
d:\tasm_5\BIN\tlink32 /Tpe /aa %1,%1,,d:\TASM_5\Lib\import32.lib
echo "Succesful"
ему надо передавать путь к asm файлу без расширения, желательно это батник и исходник деражать в папке d:\tasm_5\
rpy3uH вне форума Ответить с цитированием
Старый 27.04.2007, 04:03   #4
Alexander77
Пользователь
 
Аватар для Alexander77
 
Регистрация: 27.04.2007
Сообщений: 13
По умолчанию

Планируешь писать реальные вещи под Винду — возьмись лучше за masm. Если Linux — то nasm, а для программирования flash BIOS лучше подойдёт fasm.
По masm можно много найти на masmforum.com, однако, как и везде в мире IT, они там все на своём инглише общаются, — значит, и нам его нужно знать.
Компиляторы с языка ассемблера — это обыкновенные консольные (т. е., с интерфейсом командной строки) приложения, в качестве параметров им надо передавать имена файлов (с путями, т. е., полные) и ключи; на выходе они выдадут нам объектный файл, его надо «обработать» линкером, чтобы получился исполняемый модуль (dll, exe, com, sys — для ОС от M$).
Например, bat-файл для создания одной моей утилитки выглядит так:
Код:
@echo off
echo ================================================================
echo         Making project: Any2DB v1.5
echo ================================================================
if exist Any2DB.obj del Any2DB.obj
if exist Any2DB.exe del Any2DB.exe
d:\masm\bin\ml /c /coff /nologo Any2DB.asm
if errorlevel 1 goto err_asm
d:\masm\bin\rc Any2DB.rc
if errorlevel 1 goto err_res
d:\masm\bin\Link /ALIGN:16 /MERGE:.rdata=.data /SUBSYSTEM:WINDOWS Any2DB.obj Any2DB.res
if errorlevel 1 goto err_lnk
goto success
:err_asm
echo ----------------------------------------------------------------
echo ERROR: .asm file could not be compiled
echo ----------------------------------------------------------------
goto end_err
:err_res
echo ----------------------------------------------------------------
echo ERROR: .rc file could not be processed
echo ----------------------------------------------------------------
goto end_err
:err_lnk
echo ----------------------------------------------------------------
echo ERROR: .obj file could not be linked
echo ----------------------------------------------------------------
goto end_err
:end_err
echo Press any key to close this window...
pause > nul
:success
del Any2DB.obj
Alexander77 вне форума Ответить с цитированием
Старый 27.04.2007, 20:05   #5
steck
/\/\Et@/\|/|$T
Пользователь
 
Аватар для steck
 
Регистрация: 26.03.2007
Сообщений: 89
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
батник
Код:
cls
echo off
d:\tasm_5\BIN\tasm32 /m3 /ml %1,,;
d:\tasm_5\BIN\tlink32 /Tpe /aa %1,%1,,d:\TASM_5\Lib\import32.lib
echo "Succesful"
ему надо передавать путь к asm файлу без расширения, желательно это батник и исходник деражать в папке d:\tasm_5\
поподробнее можно ,что такое батник?
и ещё masm это мягколобые презенст
there are no programmers there is no life
steck вне форума Ответить с цитированием
Старый 27.04.2007, 20:10   #6
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Alexander77 Посмотреть сообщение
Планируешь писать реальные вещи под Винду — возьмись лучше за masm. Если Linux — то nasm, а для программирования flash BIOS лучше подойдёт fasm.
FASM подо всё подходит!!!!!
и под винду и под линукс
такой системы макросов нет ни в одном ассемблере + полный контроль над размещением данных в файле

теперь по теме:
батник это bat файл, вызваешь его через командную строку передав ему имя файла исходника
rpy3uH вне форума Ответить с цитированием
Старый 27.04.2007, 21:13   #7
SteelRat
Брэйнфакер Про
Пользователь
 
Аватар для SteelRat
 
Регистрация: 21.02.2007
Сообщений: 51
По умолчанию

Цитата:
Сообщение от steck Посмотреть сообщение
и ещё masm это мягколобые презенст
Откуда столь неуважительное отношение к MASM?
SteelRat вне форума Ответить с цитированием
Старый 27.04.2007, 23:11   #8
Alexander77
Пользователь
 
Аватар для Alexander77
 
Регистрация: 27.04.2007
Сообщений: 13
По умолчанию

2 rpy3uH: А я говорил, что не подходит? Просто в masm программировать для Windows удобнее: существует множество инструментов для автоматизированного создания inc-файлов из dll, def, h и других; большинство исходников на асме под Винду — как раз написаны для masm; насчёт работы с макросами — и fasm, и masm имеют отличную поддержку макросов, причём ещё и здóрово отличную друг от друга
Насчёт контроля над сегментами в бинарных файлах — да, fasm тут умеет делать это, в отличии от masm'а — но, строго говоря, это задача линкера, а не ассемблера как такового. Да и часто ли при разработке обкновенных пользовательских программ возникает необходимость столь подробного контроля над над сегментами? Другое дело, если мы пишем ОС-независимый участок кода, работа которого полагается на строго определённые состояния оборудования (регистров, портов, памяти...) — как в случае собственной ОС, системного загрузчика или модификации flash BIOS. Тут нам поможет только fasm. То есть, в любом случае можно изловчиться и написать, например, boot loader, на masm, tasm или даже gas — штука в том, что это куда как менее удобно.
Хотя, как известно, "de gustibus non est disputandum", то есть, «о вкусах не спорят», мне было бы очень интересно увидеть здесь доводы в пользу применения fasm для разработки ПО для Windows: это поможет избежать ограничений, с которыми сталкиваются разработчики, принимающие лицензионное соглашение MS, в соответствии скоторым распространяется masm.
Alexander77 вне форума Ответить с цитированием
Старый 28.04.2007, 07:43   #9
steck
/\/\Et@/\|/|$T
Пользователь
 
Аватар для steck
 
Регистрация: 26.03.2007
Сообщений: 89
По умолчанию

где masm можно скачать?
он много весит?
на нём баты делать не надо?
there are no programmers there is no life
steck вне форума Ответить с цитированием
Старый 28.04.2007, 11:25   #10
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

батники надо делать!
MASM32:
http://www.masm32.com/download/m32v9r.zip
качай
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
delphi. Не компилируется! dimple Помощь студентам 2 30.04.2008 11:00
Не компилируется исходник FASM nikleb Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 09.03.2008 17:34
не компилируется исходник на FASM pro-john Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 15.01.2008 18:40
Не компилируется исходник deathsurgut Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 20.09.2007 20:15