IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Assembler (http://www.imho.ws/showthread.php?t=107136)

Skazachnik 17.08.2006 01:16

Assembler
 
Господа! Я собственно решил освоить Assembler... Написал свою первою програмку... но собственно есть трудность не могу её откомпелировать, т.к. весьма смутно представляю как это сделать...
Пожалуйста помогите!

Merlin Cori 17.08.2006 10:52

прямо для тебя.... все по шагам

_http://www.geocities.com/thestarman3/asm/masm.htm

Skazachnik 17.08.2006 16:56

:молись: Спасибо... Если всё получиться отпишусь :)

NetS 17.08.2006 16:58

Цитата:

Skazachnik:
Спасибо... Если всё получиться отпишусь
- запрещено создание сообщений типа "спасибо", "thanks" и т.п. Для выражения благодарности есть Персональные Сообщения (ПС) и Репутация пользователя

читай правила :contract:
http://www.imho.ws/announcement.php?...uncementid=116
Удачи!

Skazachnik 19.08.2006 23:32

NetS, Правила - это хорошо... Но писать:Фибропозотулятор и ионизация магнитного поля...Если всё получиться отпишусь :) - стрёмно :)))

crazydown 24.08.2006 03:09

Рекомендую посмотреть этот ресурс. http://www.kalashnikoff.ru/Assembler/. Много уроков по ассемблеру для новичков.

Skazachnik 30.08.2006 23:22

Господа!У меня ещё вопрос по ассемблеру, точнее по FASM'у...
FASM позволяет обходиться без линкера, но при этом раскладку секций в PE-файле и таблицу импорта приходится создавать своими ручками.
Внимание вопрос: КАК?
P.S. Насколько я понимаю с помощью специальных директив ассемблера...

Madness 31.08.2006 01:29

Skazachnik
В каталоге examples что удивительно есть примеры, из которых следует что секция задается как: section '.data' data readable writeable или section '.code' code readable executable или аналогично.

Skazachnik 02.09.2006 17:00

Господа! Поздравьте меня (но только в привате, а то администратор не оценит :)) я на писал свою первою программу на ассемблере!!! На Fasm'ме! Вот её исходник:
include 'win32a.inc'
.code
start:
mov eax, 2
add eax, 3
ret
section '.data' data readable writeable
.end start
И решил открыть в OllyDbg v1.10...
А она мою прогу откомпилиную отказалась открыть выдав ошибку!
Почему?

Skazachnik 04.09.2006 15:37

Кто знает поскажите, плиз где можно слить документацию по FASM'у на русском?

Merlin Cori 04.09.2006 15:42

Например, здесь....

_http://mythrillus.land.ru/tajga-tut/preproc.html

или здесь

_http://ruwiki.com/article/Fasm

Или набери в яндексе fasm и получишь море ссылок

Nero 05.09.2006 17:43

Помогите разобраться почему выводит только Menu1 при проверке Area

AreaLeft RECT <1,0,1280,1>
AreaTop RECT <0,1,1,1028>

.ELSEIF uMsg==WM_LBUTTONDOWN
mov eax, lParam
mov ecx, eax
shr ecx, 16 ; ecx = Y
and eax, 0ffffh ; eax = X
invoke CheckForButton, eax, ecx
.IF eax==LeftBorder
invoke ShowMsg, addr Menu1
.ELSEIF eax==TopBorder
invoke ShowMsg, addr Menu2

.ENDIF
xor eax, eax

;---------------------

CheckForButton proc dwX:DWORD, dwY:DWORD

invoke PtInRect, ADDR AreaLeft, dwX, dwY
.IF eax!=0
mov eax, LeftBorder
ret
.ENDIF

invoke PtInRect, ADDR AreaTop, dwX, dwY
.IF eax!=0
mov eax, TopBorder
ret
.ENDIF

xor eax, eax
ret
CheckForButton endp

Skazachnik 13.09.2006 18:16

Господа! Требуется помощь... Проблема заключается вот в чём: при установке SoftICE 89% прог на моём компе начинают орать и отказываюся работать(насколько я знаю создаёт SoftICE в реестре ключи без котрых он работать не может, а программы их "палят"). Так вот подскажите как "спрятать" SoftICE чтобы он стоял на машине, а программы его не палили.
Предлагайте свои альтернативы(отладчики, например беспалевные... кроме ОллиДебагера, конечно :))
З.Ы. Все спасибы за советы напишу в приват :contract:

Madness 13.09.2006 19:06

Skazachnik
http://imho.ws/showthread.php?p=1240873#post1240873

lewa 19.09.2006 01:35

Вложений: 2
Здравствуйте Madness!
Когда то вы мне помогли запустить Паркан и заразили меня тягой к Ассемблеру. Но я видать такой тупой, что не могу сдвинуться с места. Короче я зашел на сайт Калашникова, скачал книгу и примеры и начал - вернее хотел начать. У меня MASM32 версии 8.2 и я в нем хотел запустить программу Hello World! Но у меня даже это не получилось. Вот решил обратиться к вам! Может поможете? Я выложу jpeg файлы может вам будет ясна моя ошибка? Кстати я потом скачал MASM6.11 но и это не помогло, видать руки совсем не оттуда. Помогите пожалуйста.
(хотел написать в приват но у вас превышен лимит писем)

вот файлы

Merlin Cori 19.09.2006 10:44

lewa
ну ты голубь даешь...... У тебя тест программы лежит d:\downloads\assembler\выпуски\файлы -приложения\001
а masm ты запускаешь из d:\masm11\bin....
ты либо masm запускай из папки где лежат исходники либо указывай полный путь до него....

Т.е вот так:

Ты находишься в
d:\downloads\assembler\выпуски\файлы -приложения\001

и командная строка будет выглядеть следующим образом:

d:\masm11\bin\ml.exe prog.asm

тож самое с линкером...

А вообще, прежде чем заниматься ассемблером не мешалоб основы DOS выучить... Про абсолютные и относительные пути, понятия и структуру файловой системы, переменные среды окружения... Это тривиальные вещи которые необходимо знать и тогда подобные ошибке не будут вызывать изумления

Madness 19.09.2006 11:13

lewa
Было дело, не все ж ломать :) Приходится вот баги править, и не только в паркане :)

Если прописать каталог masm/bin в переменную окружения path, то можно будет не указывать пути к ехешникам ассемблера. На втором скрине у тебя нету пробела перед /AT <- это команда для ml.exe, а у тебя оно воспринимается как кусок имени.
По первому скрину не понятно, похоже на ключ /coff ругается, хотя мож и нет.

ЗЫ. Под виндовс, мне кажется, проще, понятней и нужней щас изучать ассемблер. Тут мануалов пачка. Оболочка RadASM есть удобная, только настроить нужно.

lewa 19.09.2006 22:52

Madness ЗА ответ и за ссылку особая благодарность! Я разобрался! Так же нашел RadASM буду пробовать. А нет ли еще чего почитать для начинающих по Асму? Калашников у меня уже есть.

Merlin Cori Да, все дело было в элементарных путях. И еще я пытался запустить это дело из под винды, а потом установил Дос навигатор и в нем все пошло как по маслу. Только все как в досе. А я, расчитывал как в Делфи, сразу окошки увидеть :) Ну так ведь я вчера его начал изучать. Спасибо, за советы.

lewa 20.09.2006 22:43

Madness Там по той ссылке уроки для тех кто имеет кое какой опыт, а не подскажите по Асму для винды, с нуля есть какой нибудь материал?

Madness 20.09.2006 22:57

lewa
Цитата:

Iczelion, пер. Aquila - Win32 API. Урок 1. Основы
Во втором уроке примеры есть. Классика это уже.
Ну если не нравится, то вот, вот и вот. Ну и так далее по гуглу.

lewa 21.09.2006 23:51

Madness
Вот это да! вот это ответ! Жаль что к репутации ничего добавить не могу - уже столько раз добавлял, что не дают, а стоит еще тысячу раз добавить!

Skazachnik 01.10.2006 22:51

Подскажите, плиз, :confused: про программирование сетевых приложений на асьме...

Madness 01.10.2006 22:58

Skazachnik
http://wasm.ru/publist.php?list=16

Skazachnik 21.10.2006 22:35

Господа! Расскажите плиз про оптимизацию программ с помощью ассемблера...

GSergey 15.07.2009 23:41

Учусь ориентироваться на форуме.Уже сразу нахожу себя.
Может я не там пишу свои сообщения.Это интересно начинающим,может методистам.Трудный он.Но как звучит -
например:"указатель стека","дно стека".Вообще не могу представить где это и что это.Но каждый день читаю,заказал
еще книгу Питера Абеля.Там вроде азы.Но 7-е издание.В i8086
стек организован аппаратно.Там два регистра всего SS и SP.
В исходном состоянии стек пуст,векторный адрес SS:SP указывает на "дно стека"(.Хельма тупо сидела.).Пусть исходное состояние стека задано так.вект.адресом:SS:SP =1234:0040,вот он и указывает на дно стека.Дальше пословно доб.элемент,т.е.знач.16-разр.рег-стра (или слово памяти).Это выполн.команда PUSH,а в к-ве источника может выступать или регистр или слово памяти,напр.посл.команд MOV AX,89ABH
PUSH AX приведет к тому,что по адресу 1234:003E будет размещено значение AB89,а знач-е рег-ра уменьш-ся на 2 и станет SP=003E,т.е. будет указывать на вершину стека.Если т-рь ком-ду ADD AX,9 PUSH AX получим SP=003C, и по адресу SS:SP будет размещено значение B489.(Что и можно увидеть в отладчике).(стр.30 Шляго А.Н.).Пишите,если кому интересно.
С уважением Сергей.:mad:

crawler 16.07.2009 11:13

"о, сколько нам открытий трудных готовит провсещенья дух..."

Не в обиду, но ваши исследования в области архитектры компьютеров не несут никакой новизны. И если вы хотите вести блог с подробным описанием ваших танцев вокруг асма, то это легитимно. Но к форуму не имеет отношения.
А за решимость в изучении - респект.

GSergey 16.07.2009 22:53

Здравствуйте уважаемый crawler.Спасибо за ответ.Отнюдь не в обиду.Я чайник.Значит не там ищу общение.Подскажите где.
Но за 3 года (2006) мои и Ваше сообщение по асс.первые.Здесь.Изучать его мучительно сложно.Знаю,что надо месяцы.Идеальных книг нет.У меня их не одна.Чаще пользуюсь уч.информатики для школьников Шляго Александра Николаевича.Сегодня утром разобрал пример в дебаггере DOS.
Там понравилось перевод мнемокода в машинный код и наоборот.Впечатляет.Больше нигде ни в книгах ни в инете не видел.Но конечно пользуюсь и cv и afdpro.Еще честно признаюсь вчера только понял почему в 1килобайте 1024 байта,а не 1000.(2^10).Интересно все ли это знают?А вот я сомневаюсь,что архитектуру cpu понимают.Да программы пишут люди.Хотя основа ассемблера архитектура(простейшая хоть 8086 или 486).Хотелось бы знать Ваше мнение и мнение других.Повторяю,если я не там нахожусь,то пожалуйста подскажите где я найду соратников по нач.уровню.И чтобы там и были высказывания специалистов.
С уважением.Сергей.:(

BorLase 17.07.2009 10:15

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

GSergey 17.07.2009 23:05

Спасибо за ответ,уважаемый BorLase. Сегодня,кстати знакомая мне преподаватель информатики сказала,что за 19 лет работы,лишь один ученик выучил ассемблер - доказатель-
ством чему была написанная им программа.Но Ассемблер - это нечто большее,чем язык.Это образ мышления.Возможность попытаться познать прежде всего себя.Но пользователю,если он интересуется работой с восстановлением информации,редактированием дисков неизбежно столкнется с программами от Runtime Software(DiskExplorer,GetDataBack),впрочем и продукцией от Acronis(что более доступно).Да и та же FDISK и др.Также если заинтересуетесь вирусологией(конечно в плане безопасности),то Вам не понять будет,что в этих таблицах за цифры.Хотя сегодня коллеге я просто переустановил Винду,а не стал доискиваться причин.Для себя же я так не поступаю.
Завтра получу в Озоне еще одну книгу по Ассемблеру,которою по счету!На этот раз 7-е издание Пирогова.
С уважением Сергей.:(

Plague 17.07.2009 23:18

Комментарий Администратора:
GSergey, давайте всё-таки не будем здесь устраивать жж. если нужно жж - то это туда по определению. Здесь форум. и раздел называется "программирование". так что давайте закругляться с записками бытия, и перейдем к сабжу. если есть что-то предметное: вопросы, иль наоборот советы (про 1024 рекомендую рассказывать в школе, здесь кого-либо удивить этим не получится) - ради Бога. но никого не интересует что сегодня вы прочти иль чем заинтересовались, и уж тем более, что говорил преподаватель, особенно если это копипаст откуда то еще (форум переносов не ставит, и тем более, - там где не надо).

только конкретика, а не дневник.
за сим считаю дискуссию законченной.

BorLase 18.07.2009 00:35

Цитата:

Сообщение от GSergey (Сообщение 1665047)
Спасибо за ответ,уважаемый BorLase. Сегодня,кстати знакомая мне преподаватель информатики сказала,что за 19 лет работы,лишь один ученик выучил ассемблер - доказатель-
ством чему была написанная им программа.Но Ассемблер - это нечто большее,чем язык.Это образ мышления.Возможность попытаться познать прежде всего себя.Но пользователю,если он интересуется работой с восстановлением информации,редактированием дисков неизбежно столкнется с программами от Runtime Software(DiskExplorer,GetDataBack),впрочем и продукцией от Acronis(что более доступно).Да и та же FDISK и др.Также если заинтересуетесь вирусологией(конечно в плане безопасности),то Вам не понять будет,что в этих таблицах за цифры.Хотя сегодня коллеге я просто переустановил Винду,а не стал доискиваться причин.Для себя же я так не поступаю.
Завтра получу в Озоне еще одну книгу по Ассемблеру,которою по сч2ету!На этот раз 7-е издание Пирогова.
С уважением Сергей.:(

Сергей... сорри, если я сейчас выскажусь слишком категорично, но...

1) асм сейчас не нужен в 99% случаев. разве что есть супер-критичный по времени участок кода в цикле третьего уровня вложенности, когда даже миллисекунда важна. иначе - нафиг: понты и только

2) "Но Ассемблер - это нечто большее,чем язык.Это образ мышления." фигня на постном масле. ПРОГРАММИРОВАНИЕ - вот что образ мышления. а не язык. цикл - он и в асме цикл, и в си, и в бейсике. язык - это вторично.

3) пассаж по поводу восстановления данных я вообще не понял, если честно. какое отношение к ассемблеру имеет знание шестнадцитиричной системы счисления?

резюмируя - GSergey, если учиться кодингу, то асм - это далеко не лучший выбор. если же для понтов... :biggrin: тогда лучше учиться кодить сразу в hex-кодах процессора ;)

GSergey 18.07.2009 12:57

Уважаемые участники форума.
Спасибо за Ваши сообщения.Со всеми согласен.Мне стало понятно,что этот форум не для меня,а для профессионалов.
Желаю всем удачи.:(

BorLase 18.07.2009 13:02

GSergey, обижаться тут не на что.

Как отметил Plague, это форум, а не блог. Если возникает вопрос, "а как бы мне решить это тонкое место" - все ок. Но излагать тут историю своих поисков - не комильфо.


Часовой пояс GMT +4, время: 05:20.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.