|
AntiPetya
Гость
|
 |
« : 02-04-2007 00:41 » |
|
Здрасти сем ) не ну какбы я ВБ изучил немнога, ПХП тоже, ну и делфи шпрехаю , но боше сево хачу ассемблю знать .. скачал ужо многа учебникав, там ну ничо не панятно... может плохие качал. ненаю) наверна плохие) вот.. ну обьясните мне пажалустаблин ну как мне после трёх лет привыкания к ПХП понять ета  : mov чётотам dw dsf 'sdf' db asda 1 start ends (Это была просто отбалды набранная хня) Очень просьба, чуть мне обьяснить как ВЫЫЫЫЫ начале учить асм и с чего начать, просто ну не пойму я сразу ети сегменты памяти, чо куда двигать чтобы екзешник работающий получался )) асм хочу учить патамучто это СИЛЬНО )) и патамучто ета мала весит всё)))) ну кароче идеально но сложно..  вот.. всё высказал)  мене в мыло можно песать, на antipetya@bk.ru или в асю на 339991881 или ещё куданибуть) а, ещё в майлагент на маё мыло можна песать.  типа хелп пожалуйста) 
|
|
|
|
« Последнее редактирование: 08-04-2007 20:43 от RXL »
|
Записан
|
|
|
|
|
Serg79
|
 |
« Ответ #1 : 02-04-2007 05:49 » |
|
AntiPetya, Ты на русском языке писать умеешь, или нет?
|
|
|
|
|
Записан
|
|
|
|
|
RXL
|
 |
« Ответ #2 : 02-04-2007 08:50 » |
|
AntiPetya, присоединяюсь к замечанию: пиши по-русски!
Вообще, начинать изучать ассемблер нужно не с "mov чётотам", а с архитектуры процессора. Ведь на ассемблере ты фактически пишешь именно инструкции процессора, а не абстрактные команды некого языка. Т.ч. первым делом посети developer.intel.com и скачай доки по архитектуре и командам. В принципе, все это должно быть изложено в "учебнике по ассемблеру".
Кстати, к слову "ассемблер" нужно добавлять название процессора или семейства процессоров - их много, они сильно отличаются архитектурно и в написаниях мнемоник! В твоем случае это семейство x86.
А теперь о побудительной стороне. Возможность написания более компактного и более быстрого кода компенсируется множеством других факторов: сложностью планирования и контроля за используемой памятью и регистрами, сложностью отладки и поиска ошибок, а также необходимостью отлично знать архитектуру целевого процессора и вариации в моделях. Еще раз подчеркну, что это возможности, а не гарантированные плюсы, за то негативные факторы - гарантированы. Как следствие, снижается КПД программиста по сравнению с языками верхнего уровня. Теперь ты попрежнему хочешь учиться или запал пропал?
|
|
|
|
« Последнее редактирование: 02-04-2007 08:52 от RXL »
|
Записан
|
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #3 : 02-04-2007 12:19 » |
|
Хочу всётаки дальше изучать .. просто у меня вот как:
я например PHP сначала вообще не понимал , потом вот верите нет, проснулся одним прекрастным днём, установил денвер, попробовал выполнить print "ченибуть"; Сматрю - выполнилось, потом смотрю -переменные обьявлять можно, а на данный момент PHP я знаю достаточно, я так думаю, )
Вот хочу также с ассемблером)
Ну послушаюсь вас, сейчасже начну изучать структуру и команды для процессора,
кстате помоему с ассемблером очень плотная связь имеет утилита в виндовсе "DEBUG.exe" .. сегменты памяти там смотреть всякие)
Я даж в ней ничо пока не понимаю,.. тока получилось несколько команд выполинть по образцу из учебника...
А вобще, я думаю , учебники пишут этакие батьки уже, и думают - вроде так понятно обьяснил, а на самом деле новичку - ето блин эверест целый )
|
|
|
|
« Последнее редактирование: 02-04-2007 13:19 от AntiPetya »
|
Записан
|
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #4 : 02-04-2007 13:11 » |
|
ну извините, я просто так привык писать , даже бывает в школе в сочинениях пишу "ЕТА" , или "НЕЧЕГА" )) больше не буду)
|
|
|
|
|
Записан
|
|
|
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #6 : 02-04-2007 13:25 » |
|
Архитектура процессора - это только звучит страшно. На самом деле это и есть учебник по ассемблеру. Начинай с ассемблера для DOS. Разберись с моделями памяти и сегментной адресацией, дальше - как по маслу.
Спасиб, вот это я и хотел услышать, после чего ассемблер станет понятным а не иностранным языком. )) если ну очень не лень, можно мне пожалуста мне и ссылочку на качественный учебник вот по этому: "Разберись с моделями памяти и сегментной адресацией" Буду очень благадарен)
|
|
|
|
|
Записан
|
|
|
|
|
RXL
|
 |
« Ответ #7 : 02-04-2007 13:41 » |
|
AntiPetya, чем мучить себя debug.exe (наигавеннейший отладчик из тех, что я видел), поставь себе BC3++ - в комплекте идут tasm и отладчик (tdebug). Взять можно здесь: http://club.shelek.ru/viewfiles.php?id=6Если нужно будет под винду, сгодится отладчик от MS VS или Borland.
|
|
|
|
|
Записан
|
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #8 : 02-04-2007 13:45 » |
|
Т.ч. первым делом посети developer.intel.com и скачай доки по архитектуре и командам. ненашол( там ссылок стока, а я в английском не ас (
|
|
|
|
|
Записан
|
|
|
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #10 : 03-04-2007 10:04 » |
|
Вчера скачал справочник спецально для таких как я - нелюбящих толсте книжки - там на двух страницах обьяснялось чо да как - я понял всё , кул. патом понял , как двигать значения в памяти, почти ) понял что такое push , дошло дело до компилирования, а учебник учит ассемблеру для win32 и для компиляции нужен TASM, я скачал его , там написано как кампилить, но у меня тока ети файлы создались: sample.lst sample.obj sample.map из sample.asm а мне нужен исполняемый(( Вот код программы: ну её не я делал, но я там всё понял чо зачем )) .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
как в екзешник то перекомпелировать?
|
|
|
|
|
Записан
|
|
|
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #12 : 05-04-2007 11:53 » |
|
А мне асм в винду и нужен, вирусы писать да мож еще пригодиться для чего)
|
|
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
 |
« Ответ #13 : 05-04-2007 12:13 » |
|
А мне асм в винду и нужен, вирусы писать да мож еще пригодиться для чего)
AntiPetya, Вирусы говориш  Ню ню. Ты наверно точно правил не читал
|
|
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
Алексей1153++
кот глобальный и пушистый
Глобальный модератор
Offline
Златоуст, Россия Сообщений: 13
|
 |
« Ответ #14 : 05-04-2007 13:04 » |
|
AntiPetya, уже вижу: Бойтесь , люди, идёт новый вирус "Петя" !!! Приобретайте Антипетю...
|
|
|
|
|
Записан
|
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #15 : 05-04-2007 20:26 » |
|
Ну и просто .интересно новый язык изучить... кстате насчет компиляции...
tlnk'ом пользовался , да там библиотека нужна вотэта import32.lib Де её взять?
Я блин по все мпоисковикам искал... так либо каку выдают, либо TASM 5 0 а када скачаю, так там нет етай библеотеки, а без неё компилю - TLINK ошибку пишет что неизвестные типа штуки - MessageBoxA и ExitProcess - вот кто под вин 32 работает в АСМе , (ну чтобы мой код, каторый выше я выложил =) ) вот чтобы его скомпилить... чем да как??? подскажите) пажалуста. )
|
|
|
|
|
Записан
|
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #16 : 05-04-2007 20:29 » |
|
А мне асм в винду и нужен, вирусы писать да мож еще пригодиться для чего)
AntiPetya, Вирусы говориш  Ню ню. Ты наверно точно правил не читал неа, я на форумах никагда правила не читаю... ))) да и может хобана - чонить дельное написать смогу потом... вон например скачал прогу на АСМе - класс - кароче нада тебе например не весь зип архив с нета качать а тока один файл из него или несколько - ссылку пишеш и он тебе содержимое выдаёт, и всё отдельно можно скачать ... полезная вещь) я б прикрепил програмку, ток незнаю как тут у вас прикреплять, а на rapidshare.de - ой фу.... ненавижу!
|
|
|
|
|
Записан
|
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #17 : 05-04-2007 20:37 » |
|
а да еще, : db - 1 байт dw - 2 байта - 1 слово dd - 4 байта - 2 слова dq - 8 байт - 4 слова dt - 10 байт тоесть када я буду в память сувать значения, то нада я так понял указать с помощью db или dw или dd и т.д - какого размера значение, засовываемое в память?
тоесть если я кладу значение обьемом 9 байт то надо dt делать? я прально понял? .... и ответтьте пожалуйста на вопрос который вверх через одно находится сообщение .
Вот я ща узнаю ответы на ети два вопроса и всё.. ничё больше от жизни ненада)) ха зарание спасиба
|
|
|
|
« Последнее редактирование: 05-04-2007 20:39 от AntiPetya »
|
Записан
|
|
|
|
Tuborg
Команда клуба
Offline
|
 |
« Ответ #18 : 06-04-2007 07:24 » |
|
1) lib. Ты весь тасм качаешь? там должно быть по крайней мере 3 папочки bin, include и lib. вот в папке lib лежит как раз тобой искомое. 2) 9 байт. Нет, ты понял не совсем правильно. db, dw, dd используются как адресация (через байт, если массив хочешь читать по-байтно, через слово, если массив хочешь читать по-словно и т.д.) а чтобы например задать константу 9 байтную пиши так: my_const db 1,2,3,4,5,6,7,8,9
в памяти это будет выглядеть так: 01 02 03 04 05 06 07 08 09
если же ты задашь через dd, например: my_const dd 1,2,3,4,5,6,7,8,9 то в памяти будут хранится следующие значения (указываю перевёрнутое значение, а не как на самом деле хранится в памяти) 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 и т.д.
вообще найди например Зубков С.В. "Assembler. Язык неограниченных возможностей". Там всё обстоятельно рассказано с азов под DOS и до Винды с Юниксом.
|
|
|
|
« Последнее редактирование: 06-04-2007 07:28 от Tuborg »
|
Записан
|
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #19 : 06-04-2007 09:53 » |
|
Спасиб , очень понятно обьяснил .. круто.. ) ток вот насчёт библиотеки... ет я ж не дурак.. знаю что там ДОЛЖНА быть (в lib) эта библиотека а её блин козы такой нету нигде((
|
|
|
|
|
Записан
|
|
|
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #21 : 06-04-2007 16:10 » |
|
Спасиб, всё уже.. на фтп нашол ... гы.. на диалапе качал 10 мегабайт (ТАСМ) 3 часа)), файл 100 кб качается 6-8 секунд а вот запрос к файлу идёт около минуты... какойто глючный фтп )) всем спасиба
|
|
|
|
|
Записан
|
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #22 : 06-04-2007 17:13 » |
|
Ёпрст!!!!!!!!!!!!!! непашет! екзешник получается но компилятор выдает ощибку ну и екзешник канешна тоже Turbo Link Version 1.6.71.0 Copyright (c) 1993,1996 Borland Internation Error: Unresolved external 'MessageBoxA' referenced from module new.ASM Error: Unresolved external 'ExitProcess' referenced from module new.ASM
может кто .. если не влом, явиться добровольцем и прокомпилит эту хрень, если получится, сюда впишие командную строку с параметрами для компиляции. В справочнике и в том и втом написано разное.. итак и сяк пробовал - нехочет блин, пользуюсь хелпом самого компилятора, так блин он тупой... написано - C:\TASM\BIN\TLINK32 /Tpe /aa %1 %1 %1 C:\TASM\LIB\IMPORT32.LIB (эт батник) каторый нехрена не работает!!! ааааааааааааа! палево! тупые компиляторы... неужели блин я так и несмогу скомпилировать этут тупую простейшую фичу "Hello world!!!" блин СТЫДНА)))
|
|
|
|
|
Записан
|
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #23 : 06-04-2007 17:16 » |
|
Нада придумать такое, чтобы жмёшь "Обзор..." - находиш sdfsdfsdfs.asm , жмёш "Do it!" и чтобы всё готово было! , ужОс
|
|
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
 |
« Ответ #24 : 06-04-2007 20:03 » |
|
AntiPetya, В компьютерном мире, так исторически сложилось, что нужно знание английского языка хотя бы на уровне свободного чтения и понимания технической литературы. Error: Unresolved external 'MessageBoxA' referenced from module new.ASM Error: Unresolved external 'ExitProcess' referenced from module new.ASM
Эти ошибки говорят о том, что при линковке не подключена одна из основных библиотек. В которой описаны функции MessageBoxA, ExitProcess. Нада придумать такое, чтобы жмёшь "Обзор..." - находиш sdfsdfsdfs.asm , жмёш "Do it!" и чтобы всё готово было! , ужОс
Ты родился слишком рано. Искуственный интелект (Artificial Intelligence: AI) еше не был изобретен. 
|
|
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #25 : 06-04-2007 20:44 » |
|
AntiPetya, В компьютерном мире, так исторически сложилось, что нужно знание английского языка хотя бы на уровне свободного чтения и понимания технической литературы. Error: Unresolved external 'MessageBoxA' referenced from module new.ASM Error: Unresolved external 'ExitProcess' referenced from module new.ASM
Эти ошибки говорят о том, что при линковке не подключена одна из основных библиотек. В которой описаны функции MessageBoxA, ExitProcess. Нада придумать такое, чтобы жмёшь "Обзор..." - находиш sdfsdfsdfs.asm , жмёш "Do it!" и чтобы всё готово было! , ужОс
Ты родился слишком рано. Искуственный интелект (Artificial Intelligence: AI) еше не был изобретен.  а разве я сказал что эти ошибки я не понимаю?  я их отлично понял, просто я подумал ... если я у опытных то спрашиваю.. то вы наверно сразу поймёте... у меня фишка в чём, этаа библиотека не подключается(( если в параметре при компиляции указать неправильный путь, то компилятор орёт что типа нету там библиотеки, а если правильный путь до import32.lib то орёт что это неправильный OBJ файл... вот это вот как опнять я уже не знаю... логика левая )
|
|
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
 |
« Ответ #26 : 06-04-2007 20:54 » |
|
По своему опыту могу сказать, что как правило библиотеки подключаются через опции линковшика. Так верно для С/С++. Просмотри в хелпе линковшика как это делать. Например для gcc опция -I. И команда на линковку будет выглядеть примерно так gcc -I C:\TASM\LIB\IMPORT32.LIB ............
Offtopic: AntiPetya, Нескромный вопрос: Твой опыт работы в программировании? Ассемблер это твой первый язык программирования из универсальных? Просто как правило программирование учат с более простых языков для понимания. Например Паскаль.
Поставлю в угол.
|
|
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #27 : 06-04-2007 20:59 » |
|
Ну я бейсик сначала в школе, патом интересна стало, делфи, визуал бэйсик, терь вот еще и PHP знаю... даже JavaScript ы)) ну из всех этих PHP я знаю отлично., да насчёт параметра для задания пути к библиотеке - вот в том то и дело - нету параметра - там их просто в тупую через запятую указывать нада , и тамм написана в каком порядке, а я его междупрочем Соблюдал ) Syntax: TLINK32 objfiles, exefile, mapfile, libfiles, deffile, resfiles я делал: tlink32 new.obj,new.exe,new.map,C:\TASM\LIB\IMPORT32.lib и вместо запятых пробелы пробовал... непомагает(((( 
|
|
|
|
« Последнее редактирование: 06-04-2007 21:04 от AntiPetya »
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
 |
« Ответ #28 : 06-04-2007 21:06 » |
|
Набери tlink /help >>demo.txt
Может быть tlink /? >>demo.txt
У тебя должен появится в каталоге файл demo.txt с Help по линковшику. Приатач его сюда. Я просматрю
|
|
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
|
AntiPetya
Гость
|
 |
« Ответ #29 : 06-04-2007 21:09 » |
|
ой... а чо TASM'овские файлы можно в gcc компилить в екзешки?  если да то мне ж блин просто комп перезагрузить и линуху запустить))
|
|
|
|
|
Записан
|
|
|
|
|