IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> Общие вопросы, Вопросы по компиляции и работе с ассемблером идр.
сообщение
Сообщение #21


Гость






Цитата
там автоматом какие то дополнительные параметры что ли етот эдитор подставляет.
Ага... Вот у меня в WinAsm Studio, например, есть файлы проекта: *.WAP, так там явно указана строка параметров для компиляции и линковки:
Цитата
Assemble=/c /coff /Cp /nologo
Link=/SUBSYSTEM:CONSOLE /RELEASE /VERSION:4.0
Нечто подобное должно быль в любой IDE... Или файл проекта, или в настройках среды должны быть прописаны параметры по умолчанию...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #22


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Решил хоть немного выучить ассемблер.. Вот к примеру, создал я файл 1.asm с содержанием:

CSEG segment
org 100h

Begin:

mov ah,9
mov dx,offset Message
int 21h

int 20h

Message db 'Hello, world!$'
CSEG ends
end Begin



Из командной строки вызываю: ML.EXE 1.asm /AT

AT - это как я понял, затем, чтобы файл слинковался.. При компиляции выдаёт Fatal Error(могу привести полный код ошибки). Использую MASM 7.0


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #23


Гость






У тебя MASM? Значит:

.model tiny
.code
org 100h
start:
mov ah,9
mov dx, offset Message
int 21h

ret
Message db 'Hello, world!$'
end start


Компилировать и линковать - так:
>ml /c 1.asm
>link16 /tiny 1.obj, 1.com,,,,
(поскольку, судя по сообщению об ошибке, у тебя путь к MASM-у не прописан в PATH, может понадобиться указывать полные пути к ML и LINK16)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #24


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


А какой компилятор (или компоновщик, как это в ассемблере) использует синтаксис моего кода? Просто в рассылке, по которой я учусь, все примеры именно так...

Добавлено через 9 мин.
>ml /c 1.asm
>link16 /tiny 1.obj, 1.com,,,,

делаю так, ассемблирование проходит без ошибок, создаётся файл .obj. Когда пытаюсь слинковать (2-я строка),
то:
LINK : warning LNK4044: unrecognized option "tiny" ignored
1.obj : warning LNK4033: converting object format form OMF to COFF
1.obj : fatal error LNK 1190: invalid fixup found, type 0x0001

Код в саму программу вставил правильный. Как я понял, у link.exe (link16 у меня нету в папке BIN) нет параметра /tiny.


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #25


Гость






Цитата
link16 у меня нету в папке BIN
Ищи в других папках или отдельно в интернете. Код НЕ Windows-приложения должен собираться именно 16-битным линкером, никак не 32-битным.

Цитата
А какой компилятор (или компоновщик, как это в ассемблере) использует синтаксис моего кода?
Это синтаксис TASM
 К началу страницы 
+ Ответить 

2 страниц V < 1 2
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.04.2024 12:42
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name