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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2009, 01:55   #1
AlexeyLed
Пользователь
 
Регистрация: 26.01.2009
Сообщений: 12
По умолчанию Ошибка собранного EXE файла

Собрал программу приведенную в примере
Цитата:
.386
.model flat

extrn ExitProcess:PROC
extrn MessageBoxA:PROC

.data

Ttl db "First ASSEMBLER program",0h
Msg db 'Hello, World!!!!',0h

.code

start:
push 0h
push offset Msg
push offset Ttl
push 0h
call MessageBoxA
push 0h
call ExitProcess
end start
exe файл при попытке его запустить..выдает следующее -

Инструкция "0х00410002" обратилась к памяти по адресу "0х00410002". Память не может быть "read".

С чем это связанно?
AlexeyLed вне форума Ответить с цитированием
Старый 26.01.2009, 04:47   #2
AlexeyLed
Пользователь
 
Регистрация: 26.01.2009
Сообщений: 12
По умолчанию

Ещё вопрос, у разных версий MASM, разные правила написания программ?

А то я взял пример из книжки, и 10й версией его попробовал собрать, ну так ничего не получилось, создается впечатление что он ни одной строчки не понимает.
AlexeyLed вне форума Ответить с цитированием
Старый 26.01.2009, 08:15   #3
Д'якон
Форумчанин
 
Регистрация: 05.12.2007
Сообщений: 236
По умолчанию

Ну как минимум нужно подключить user32.dll и kernel32.dll так ты вызываешь из них функции MesageBox и ExitProcess

Написание программ везде одинаково, просто что-то неправильно делаешь

Последний раз редактировалось rpy3uH; 26.01.2009 в 08:50.
Д'якон вне форума Ответить с цитированием
Старый 26.01.2009, 10:27   #4
Google[Bot]
Пользователь
 
Аватар для Google[Bot]
 
Регистрация: 09.01.2009
Сообщений: 65
По умолчанию

Цитата:
.386
.model flat,stdcall


include \masm32\include\user32.inc
include \masm32\include\kernel32.inc

includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

.data

Ttl db "First ASSEMBLER program",0h
Msg db 'Hello, World!!!!',0h

.code

start:
push 0h
push offset Msg
push offset Ttl
push 0h
call MessageBoxA
push 0h
call ExitProcess
end start
Вот так работает
Google[Bot] вне форума Ответить с цитированием
Старый 26.01.2009, 18:17   #5
AlexeyLed
Пользователь
 
Регистрация: 26.01.2009
Сообщений: 12
По умолчанию

Спасибо, действительно заработало,...
Какую книжку посоветуете, чтобы в ней были приведены нормальные компилирующмиеся примеры? а то сложновато так учить
Вот скопировал из той, что пытался читать -

Цитата:
%include «win32n.inc»
EXTERN MessageBoxA
IMPORT MessageBoxA user32.dll
EXTERN ExitProcess
IMPORT ExitProcess kernel32.dll
SECTION CODE USE32 CLASS=CODE


start:
push UINT MB_OK
push LPCTSTR title
push LPCTSTR banner
push HWND NULL
call [MessageBoxA]
push UINT NULL
call [ExitProcess]
SECTION DATA USE32 CLASS=DATA
banner db 'Hello world!',OxD,OxA,0
titl e db 'Hello', 0

Последний раз редактировалось AlexeyLed; 26.01.2009 в 18:37.
AlexeyLed вне форума Ответить с цитированием
Старый 26.01.2009, 18:49   #6
Д'якон
Форумчанин
 
Регистрация: 05.12.2007
Сообщений: 236
По умолчанию

Зайди в раздел литературы. Если более менее освоился то В.Ю. Пирогова почитай "Ассемблер для Виндоус". Но только он игнорирует макро средства масма, но эт тоже полезно.
Д'якон вне форума Ответить с цитированием
Старый 26.01.2009, 20:21   #7
Google[Bot]
Пользователь
 
Аватар для Google[Bot]
 
Регистрация: 09.01.2009
Сообщений: 65
По умолчанию

http://bitfry.narod.ru/ Я начал изучение асма вот с этого, написано просто и доступно, но читать надо от корки до корки, иначе проблемки будут и недопонимания
Google[Bot] вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка в td.exe IgorKr Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 03.12.2008 12:03
Ошибка lssas.exe plavni4ok Windows 10 08.08.2008 16:15
версия exe-файла eks-s Общие вопросы Delphi 2 25.04.2008 05:25
Прописать запуск exe-файла Manitu Помощь студентам 4 07.03.2008 10:31
Ошибка svchost.exe. Проникновение на компьютер. Naruto Shippuuden Безопасность, Шифрование 15 17.12.2007 05:47