Азы. Помогите, пожалуйста, начинающему

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
Арсений_который_физтех
Сообщения: 7
Зарегистрирован: 31 янв 2010, 22:35

Здравствуйте. Начал изучение ассемблера с masm(10й, скачал c http://www.masm32.com/)
1. Начал компилить простенькую 1.asm линкер находит постоянно ошибку.
2. Не могу найти библиотеки.
3. Попытался скомпилировать 2.asm, тоже фигня(сейчас хоть на kernel32 перестал ругаться).
Так вот, пожалуйста, помогите решить мне эти 3 проблемы, и если masm зло, подскажите нормальный компилятор.
Всё о чем я говорил: http://www.sharemania.ru/0178048 или http://depositfiles.com/files/ul5e4g8wm .
Аватара пользователя
mc-black
Сообщения: 250
Зарегистрирован: 08 май 2008, 16:09
Откуда: Россия, Нижний Новгород
Контактная информация:

Вы скачали правильный компилятор и с правильного места, поздравляю! Хотя для работы там всего хватает, вам необходимо получше изучить командную строку и потренироваться писать свои собственные bat-файлы для сборки всего, что требуется. Когда научитесь это делать руками и в простом блокноте, тогда можете начинать пользоваться нормальными IDE, например RadASM (там весь процесс компиляции сводится к нажатию единственной кнопочки). Все lib-файлы в MASM32 лежат в папке \masm32\lib\, все inc-файлы - в папке \masm32\include\

1.asm компилируйте так "1.bat":

Код: Выделить всё

\masm32\bin\ml.exe /c /coff 1.asm
\masm32\bin\link.exe /SUBSYSTEM:WINDOWS 1.obj
pause
Про 2.asm, там ты используешь какой-то свой файл MyLib.inc, не знаю что там, но в большинстве случаев можно обойтись указанием тех inc-файлов, что в \masm32\lib\ Линкер у тебя первый раз ругнулся на то, что ты ассемблировал без параметра /coff, а второй раз на main - это не Си, можешь вызывать подпрограмму с любым именем ))))

В \masm32\examples\ есть очень много хороших примеров, потренируйся на них. И вообще, почаще бывай на http://www.wasm.ru, http://www.wasm.ru/forum
На заказ: VBA, Excel mc-black@yandex.ru
Арсений_который_физтех
Сообщения: 7
Зарегистрирован: 31 янв 2010, 22:35

http://www.sharemania.ru/0156890 MyLib.inc
/SUBSYSTEM:WINDOWS - можно ли использовать для консоли ?
/SUBSYSTEM:CONSOLE - для консоли в чем отличие от предыдущей ?
Аватара пользователя
mc-black
Сообщения: 250
Зарегистрирован: 08 май 2008, 16:09
Откуда: Россия, Нижний Новгород
Контактная информация:

В 1.txt ты не используешь консоль. И ничего не используешь, кроме регистра. А вообще для консоли ты все верно указал линкеру.
На заказ: VBA, Excel mc-black@yandex.ru
Арсений_который_физтех
Сообщения: 7
Зарегистрирован: 31 янв 2010, 22:35

Усё! c:\masm32\bin\link.exe /SUBSYSTEM:CONSOLE 2.obj c:\masm32\lib\kernel32.lib
Всё сработатало!) Спасибо за помощь!
Аватара пользователя
mc-black
Сообщения: 250
Зарегистрирован: 08 май 2008, 16:09
Откуда: Россия, Нижний Новгород
Контактная информация:

Вот немного поправил твой пример как тебе надо и сохранил в dos-кодировке для правильного отображения в консоли: [ATTACH]1204[/ATTACH] Здесь поправленный на мой вкус исходник, bat-файл для компиляции и скрин.
Вложения
console.zip
(2.41 КБ) 15 скачиваний
На заказ: VBA, Excel mc-black@yandex.ru
Ответить