PDA

Просмотр полной версии : Компиляция в ассемблере


Tikson
02.02.2006, 00:21
Вот допустим у меня есть определенный код, что мне надо сделать чтобы из него получить экзешник, я пользовался масмом 32 вставляю туда код жму кнопку компилировать а мне в ответ ошибка
Недавно вышла прграмма которая совмещает в себе функции масма, насма и тд пробовал и сней но тоже ничего не вышло
-----------
Вобщем я спрашивал на разных кодерских сайтах, но мне ничего вразмительного не ответили....
Помогите понять как происходит этот процес от написания кода до получения необходимого результата
кодеры хелп!

tclover
02.02.2006, 00:28
Если тебе с самого начала - то тебе к калашникову http://www.kalashnikoff.ru/
На www.wasm.ru есть много хороших хелпов по ассму. Удачи в изучении!

Tikson
02.02.2006, 00:55
про www.wasm.ru я знал давно... а вот про калашникова я забыл, вернее я знал но не придал значения... дальше главной страницы не пошол, теперь посмотрел форум и faq )))
----------
а какую литературу порекомендуете почитать (кроме питера абеля...=) )
у меня вот есть книги Крупника и Рудольфа Марека, я их уже по раз наверно 20 перечитывал но чето все еще не вьехал с асму ((( .Там кстати в книге Крупника был описан процес компиляции(на мой взгляд коряво) уж больно непонятно... автор ссылался на то что одного файла может не быть для компиляции и описывал как его создать(тоже непонятно и запутанно это делал) Кстатти на обложке книги было написана цитата "Ассемблер - любимый язык хакеров" и вправду автор описыват ассемблер как оружие для создание вирусов имхо ))))) ... инетересный автор))))
----------------
вобщем я нехочу вдаватся пока сильно в техническую сторону этого языка.... ну может кто знает всетаки как можно создать экзешник и опишет пару вариантов его создания ???

tclover
02.02.2006, 01:12
Программа-ассемблер (MASM, TASM, WASM, NASM и пр.) создает объектный файл с расширением OBJ. Данный файл является переходным между асемблерным файлом (.ASM) и программой (.COM / .EXE).
Потом obj нужно отлинковать и получить либо com либо exe.
Ассм в 2-х словах не бывает =) Прочитай хотя бы Калашникова. Он очень понятно обьясняет - а потом уже всё остальное.

ProTeuS
02.02.2006, 03:54
литература: Юров, Зубков + cracklab.ru, раздел "для на4инающих"

exe0n
02.02.2006, 04:04
Оффффтоп :

Про литературу - много раз слышал что есть книги некоего "Кнута" - И вроде как он очень крут.

Билл Гейтс сказал что вазьмет на работу таво кто прочитает и поймет все 3 тома Кнута :)

grinay
02.02.2006, 04:06
Вот пример рабочий.

.586
.model flat, stdcall
option casemap :none

include windows.inc
include kernel32.inc
include user32.inc
includelib kernel32.lib
includelib user32.lib

.data
capt db "Caption",0
text db "Compilation error on line 8!",0

.code

start:
invoke MessageBox,0, addr text, addr capt, MB_OK
invoke ExitProcess,0
end start

Далее собираем все это в екзешник
делаем бат файл для компиляции чтобы не писать все это в командную строку постоянно ручками

E:\masm32\bin\ml /c /coff /I E:\masm32\include test.asm
E:\masm32\bin\link /libpath:E:\masm32\lib /subsystem:windows test.obj
pause
И смотрим что выполнилось все без ошибок и мы получим исполняемый файл всего лиш выдаюших окно
Api функцией MessageBox. Вот.:)

Tikson
02.02.2006, 10:04
exe0n он это сказал если ШКОЛЬНИК прочтет и осмыслит 1 ту книгу то может смело слать резюме))))
Рудольфа Марека вроде неплохо пишет

tclover
02.02.2006, 10:18
Дайте мне ссылку на Кнута плз. Что-т я найти сам не могу....

ProTeuS
02.02.2006, 10:27
ну у меня есть все 3 книги, только слать многовато - там имхо окло 250 метров в ПДФе...

tclover
02.02.2006, 16:26
2 ProTeuS А ссылки у тебя нету? Очень охота прочитать...

ProTeuS
02.02.2006, 17:52
ска4ать незнаю где. единственное 4ем могу помо4ь, так это моЖешь недорого заказать их здесь: http://www.opensource.com.ua/

tloze
02.02.2006, 18:26
Кнут есть например в файлообменных сетях

первый том <a href="ed2k://|file|%D0%9A%D0%BD%D1%83%D1%82,_%D0%98%D1%81%D0%BA %D1%83%D1%81%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D1%80% D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0 %BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F,1.pdf|26953150|9 B2BC9407BD98291340282088C376E21|/">Кнут,_Искусство_программир вания,1.pdf</a>

второй том <a href="ed2k://|file|%D0%9A%D0%BD%D1%83%D1%82,_%D0%98%D1%81%D0%BA %D1%83%D1%81%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D1%80% D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0 %BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F,2.pdf|66689271|9 0ABBB1AE9EE518806C34AB050F8FFC6|/">Кнут,_Искусство_программир вания,2.pdf</a>

третий том <a href="ed2k://|file|%D0%9A%D0%BD%D1%83%D1%82,_%D0%98%D1%81%D0%BA %D1%83%D1%81%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D1%80% D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0 %BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F,3.pdf|3820584|25 D515D8F1226F44732625853D921F29|/">Кнут,_Искусство_программир вания,3.pdf</a>

чтоб скачать надо установить клиент (например Emule v0.46c), и разобраться там с настройками, но качать будет долга


думаю можно найти и так если очень надо, название книг
"Дональд Кнут Искусство програмирования Том 1,2,3"

тока он был вроде больше математиком ,чем програмистом и книги его об всяких алгоритмах типа сартировки массивов и поиски элементов, поэтому это не учебники по програмированию

tloze
02.02.2006, 18:36
нащет изначального вопроса то надо глянуть исходник, просто есть разные компиляторы с языка ассемблер и синтаксис у них различается поетому исходники написаные для одного компиляторы при поптки собрать их други будут выдавать одни сплошные шибки