Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

08.06.2007, 17:54
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Эх.. Fasm Rulit - нету мозгоебки с компилом
|
|
|

08.06.2007, 18:49
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
Сообщение от slesh
ml.exe [имя_файла].asm /AT
чуть попозже выложу текст ошибки, которую масм выдает при таком способе=\
Сообщение от slesh
Эх.. Fasm Rulit - нету мозгоебки с компилом
возможно, но я уже купил книжку Калашникова, а она про masm. хотел в электронной версии прочитать, но решил купить.
еще вопрос: в каком случае надо компилить в com, а в каком в exe?
+еще один: зачем нужны файлы в расширении *.obj?
Спасибо!=)
Последний раз редактировалось Piflit; 08.06.2007 в 18:51..
|
|
|

08.06.2007, 19:08
|
|
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
Провел на форуме: 1089794
Репутация:
134
|
|
После ассемблирования (с помощью ml) исходник превращается в промежуточную форму - объектный модуль (.obj). Для генерации exe'шника необходимо запустить компоновщик (link), указав ему объектный модуль.
|
|
|

08.06.2007, 23:20
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Ну COM - это уже отжившее своё.
Такчто в любом случае лучше компилить EXE
Хотя у комов размер меньше.
Вообще у ассемблеров не очень большое различие.
Вот я с легкостью перешел с TASM на FASM и при этом я понял, что с FASM'a надо было начинать с самого начала. Потому что на нем можно тварить чудеса.
// Анекдот в тему: Решил хакер блины печь, первый блин как всегда вышел Комом, а второй уже EXE'шником
|
|
|

08.06.2007, 23:23
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
Сообщение от slesh
// Анекдот в тему: Решил хакер блины печь, первый блин как всегда вышел Комом, а второй уже EXE'шником
в тему))
я тоже хотел начать с fasm'a, но не нашел подходящей литературы, поэтому пришлось поучить masm.
2 slesh, в чем основные различия tasm/masm и fasm? (наиболее интересен синтаксис)
|
|
|

09.06.2007, 00:18
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
FASM рулит в том что не надо мучаться с компилом.
Все параметры компила пишутся в исходнике проги.
Вот к примеру некоторые из них:
1) format PE GUI at 5000000h - компилит в PE EXE под графическую оболочку и базовый адрес кода - 5000000h
2) format PE - тоже PE EXE но под консоль
3) format PE64 - под 64 битные системы
4) use16 - 16-ти битный bin файла
5) use32 - 32-х битный bin файла
6) format ELF - вообще под линух.
Ну и в томже духе. И вообще в FASM можно ресурсы прописывать внутри кода программы.
|
|
|

09.06.2007, 20:21
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
2 slesh
1. если указать в исходнике format PE или format PE GUI at 5000000h, то строчкой ниже надо писать use16 или use32?
2. почему com весит 25 байт, а ехе 1 кб, причем при запуске ехе вылезает ошибка. вот сам код:
Код:
format PE ; com компилился с format binary
use16 ; закомментивание этой строчки не помогло
org 100h
mov ah,9
mov dx,msg
int 21h
mov ah,0
int 16h
int 20h
msg db 'Hello World$'
|
|
|

09.06.2007, 20:24
|
|
Moderator - Level 7
Регистрация: 21.03.2007
Сообщений: 1,200
Провел на форуме: 7134052
Репутация:
1204
|
|
2Piflit:
1. Формат PE подразумевает 32 битную адресацию.
2. com - программа на диске находится в таком же состоянии как и в памяти, а в exe присутствует ещё туча всякой служебной инфы, PE заголовок, стаб и т.д.
И ещё, какие нафик прерывания, если ты пишешь под винду? =) Или тогда уже пиши под дос.
|
|
|

09.06.2007, 20:27
|
|
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
Провел на форуме: 1089794
Репутация:
134
|
|
причем при запуске ехе вылезает ошибка. вот сам код:
Этот код не может исполняться под Windows(иметь PE формат), т.к. напрямую использует прерывания.
|
|
|

09.06.2007, 20:36
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
нафиг дос))) буду писать под винду, просто сорц из книжки был именно такой...
чувствую, придется еще одну покупать, типа "асм под вин32"...
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|