Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

работа с MASM

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Прочее] >> работа с MASM
Имя
Сообщение << Старые топики   Новые топики >>
работа с MASM - 2007-10-17 05:41:27.033333   
Dgedit

Сообщений: 131
Оценки: 0
Присоединился: 2007-02-04 15:07:37.163333
Недавно начал изучать язык Ассемблера и столкнулся с такой проблемой:
Пишу простенькую программу такого вида
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; .386
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; .model flat, stdcall
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; includelib \lib\kernel32.lib&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ExitProcess proto :DWORD
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; .code
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; start:&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; mov eax, 2
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; add eax, 3
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; invoke ExitProcess, 0
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; end start
Я поставил MASM 6.12. при установке указал что запускать ассемблер буду под DOS и Windows.
С помощью ml.exe сразу получаю obj файл и&nbsp; exe(хотя в процессе линкования выдает ошибку L2029 '_ExitProcess@4' : unresolved external) . Программа работает, но когда я с помощью дизассемблера OllyDbg пытаюсь его открыть он предупреждает, что программа 16-битная (Olly - 32) и предлагает попытаться открыть, я разрешаю и в итоге мне выводится системная программа ntvdm.exe а не моя.
В чем моя ошибка. В книге написано что моя программа 32-х битная. Если нет, то как создать 32 с помощью MASM.
И потом, там написано, что для запуска WinAPI функций необходимо подкл указанную выше библиотеку,а в папке MASM\LIB такой нет и, скорее всего, по этому ругается на ExitProcess. Как тогда подключить функуции API.
Post #: 1
RE: работа с MASM - 2007-10-17 15:41:32.883333   
IncVisit0r

Сообщений: 81
Оценки: 5
Присоединился: 2007-09-08 10:37:12.296666
Лучше используй Flat Assembler - он и бесплатный и много чего может и при этом простой как две копейки :)
Post #: 2
RE: работа с MASM - 2007-10-17 16:19:03.210000   
redsh

Сообщений: 338
Оценки: 0
Присоединился: 2007-06-17 22:35:25.540000
напиши include win32.inc, ExitProcess proto :DWORD выкинь
Post #: 3
RE: работа с MASM - 2007-10-21 02:50:51.790000   
Necromancer13

Сообщений: 146
Оценки: 0
Присоединился: 2007-06-28 02:00:57.563333
похоже ты учишь язык по учебнику Крупник…
очень сложно
начинай с рассылки Калашникова
http://kalashnikoff.ru/Assembler
там скачаешь и рассылку и все необходимое ПО:)
Post #: 4
RE: работа с MASM - 2007-10-21 15:39:04.476666   
Flint_ta

Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
х.з у мну твой код нормально скомпилился и запустился под олей без проблем.
на всякий случай попробуй так:
.386
.model flat, stdcall
include masm32\include\kernel32.inc
includelib masm32\lib\kernel32.lib  
.code
start:  
mov eax, 2
add eax, 3
invoke ExitProcess, 0
end start
Post #: 5
RE: работа с MASM - 2007-10-31 21:07:08.530000   
DeBreaker

Сообщений: 4
Оценки: 0
Присоединился: 2007-10-31 20:50:46.920000
Вообще для тех, кто юзает Асму, советую - вышла в свет книга Калашникова А.О.
"Ассемблер? Это просто!"
Оч хороший учебник, особенно для тех, кто только начал, как я…
посмотрите на озоне или где-нибудь есчо 8|
Post #: 6
RE: работа с MASM - 2007-11-24 14:38:11.983333   
TronoX

Сообщений: 13
Оценки: 0
Присоединился: 2007-11-24 11:10:25.553333
тебе нужен справочник по апи функциям, бо как там для каждой функции указана нужная библиотека… и бери лучше буржуйский, бо как переведённый урезан..)

и ещё.. чтоб удобно было кодить под вин32 вродь неплохо использовать редасм )
Post #: 7
RE: работа с MASM - 2007-11-28 03:01:40.040000   
Timoti

Сообщений: 31
Оценки: 0
Присоединился: 2007-06-08 23:19:41.400000
А с какими ты параметрами компилировал? :)
Post #: 8
RE: работа с MASM - 2008-01-23 18:07:04.673333   
hachik

Сообщений: 2
Оценки: 0
Присоединился: 2008-01-23 17:51:33.633333
линк в пальцы - WASM.ru (неофиту)
Справочник по функциям Win32 API (Р.Д.Верма)
Ассемблер для Windows (Владислав Пирогов, BHV)
Искусство программирования на ассемблере (Надежда Голубь, DiaSoft)

Смени пакет масма на последнюю версию. Используй fn ExitProcess,0
Post #: 9
RE: работа с MASM - 2008-01-23 18:11:08.116666   
hachik

Сообщений: 2
Оценки: 0
Присоединился: 2008-01-23 17:51:33.633333
IDE для начинающего Notepad++, можно MASM Builder(в старых версиях был баг, вносящий изменения в сорец)
Post #: 10
RE: работа с MASM - 2008-01-29 05:42:36.826666   
crbunny

Сообщений: 223
Оценки: 0
Присоединился: 2006-06-22 21:20:01
Калашников это да….
Мне бы калашников….
[sm=aq.gif][sm=cl.gif][sm=cl.gif][sm=cl.gif][sm=bb.gif]
Писать сразу в ноутпаде++ я бы не стал у масм32 есть оболочка, winasm, кажется или kingasm - давненько с виндой не общался.
Post #: 11
RE: работа с MASM - 2008-02-08 01:00:32.386666   
Dgedit

Сообщений: 131
Оценки: 0
Присоединился: 2007-02-04 15:07:37.163333
Спасибо всем за помощь.
Сам потом по мере изучения вопроса догнал что у меня макет масма старый был, вот он и пытался из воей программы написаной как 32-битное приложение скомпилить 16 битное и просто надо было поставить масм версии выше 8.0 если не ошибаюсь еще раз спасибо всем за помощь.

Если можно то тему надо закрыть я думаю
Post #: 12
Страниц:  [1]
Все форумы >> [Прочее] >> работа с MASM







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.