![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
![]()
Приветствую всех посетителей этого форума. Возник вопрос начинающего (т.к. я только начинаю изучать ассемблер). Я написал простую программку по книге крупника и слегка ее изменил. Masm начал выбивать ошибки. В пятьдесят раз больше, чем у меня строк в коде.
![]() Код:
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
![]()
Если никто не знает, то киньте мне свой windows.inc (для MASM естественно). Может MASM не хороший попался.
p.s. Извините за большое количество сообщений (подряд идущих). |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 01.05.2011
Сообщений: 23
|
![]()
При компиляции нужно указыать некоторые условные символы (для условной компиляции внутри windows.inc).
У меня нормально компилирует с такими параметрами: -c -nologo -Cx -coff -DMASM6 -DBLD_COFF -DIS_32 |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
_PROGRAMM_
Не знаю что там у тебя с windows.inc, этот файл собрание всевозможных констант и структур. Все что тебе нужно это найти в твоем windows.inc константы STD_OUTPUT_HANDLE и NULL и вставить их в свой ассемблерный файл сразу после строки .model flat, stdcall а перед строкой include \myasm\include\windows.inc поставить "точку с запятой" Код:
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 01.05.2011
Сообщений: 23
|
![]()
Пардон - условной компиляции тут действительно нет (перепутал с Win DDK).
Всё должно быть нормально так: .386 .model flat, stdcall option casemap:none ... |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
UsamaBenLadan
мы же не знаем с какими ключами идет компиляция у _PROGRAMM_, например, добавление ключа компиляции /Cp - "сохранить регистр символов во всех идентификаторах" позволяет не писать каждый раз в тексте ассемблерного файла "option casemap:none". Добавление ключа компиляции /I:путь - "установить путь для включаемых файлов" позволяет нам не указывать каждый раз полный путь к inc-файлам. Добавление ключа компиляции /Gz - "Определить соглашение о именах и стиле вызова функций stdcall" позволяет нам не указывать каждый раз "stdcall". Ключ /LIBPATH:путь говорит линкеру, где находятся библиотеки импорта, что позволяет нам не указывать каждый раз полный путь к lib-файлам. |
![]() |
![]() |
![]() |
#8 | ||
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
![]() Цитата:
Цитата:
Mikl___, UsamaBenLadan огромное вам спасибо |
||
![]() |
![]() |
![]() |
#9 |
Регистрация: 20.11.2010
Сообщений: 5
|
![]()
PROGRAMM_ на счет твоей ошибки:
Открой windows.inc в блокноте и закоменть вначале идущие строки. ; комментарий Т.е. Текст который в начале файла либо удали полностью или перед каждой строкой поставь ; |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при загрузке Windows XP | Login60 | Помощь студентам | 10 | 16.04.2011 01:09 |
Windows 7 ошибка на этапе загрузки | delphin100 | Windows | 1 | 18.12.2010 12:48 |
Ошибка Windows.Помогите! | proglamer | Помощь студентам | 2 | 09.12.2009 13:26 |
Ошибка.Windows.Vista | Krost | Windows | 6 | 04.11.2009 00:14 |