Автор Тема: кто за ассемблер  (Прочитано 36530 раз)

0 Пользователей и 1 Гость просматривают эту тему.

acme

  • Гость
кто за ассемблер
« : 24 Январь 2006, 21:38:08 »
привет всем!
Я так посмотрю программистов-активистов здесь маловато или все по личке?
Предлагаю здесь заинтересованным решать проблемы с ассемблером
Сам имею некоторый опыт, но вопросов много
отзовитесь!

nik7

  • Гость
Re:кто за ассемблер
« Ответ #1 : 26 Январь 2006, 22:01:48 »
 Да и я хотелбы сним разобратся. Кое что понимаю, но вот конкретно с ним разобратся очень сильно хочется.
Хотя бы о софте. Ведь много всяких дебагеров. А спросить практически некого... Вот и приходится себе всё в голову вбивать самостоятельно.
Так что acme, хорошо что ты поднял эту тему. Вот только потянутса люди сюда? Все хотят иметь готовый продукт...
Я тут как то раз поднял вопрос по поводу IDA. А в ответ тишина. Такое ощющениё, что сюда даже не заходят!
Ну что попробуем начать! ;D

acme

  • Гость
Re:кто за ассемблер
« Ответ #2 : 27 Январь 2006, 00:44:13 »
Ну как бы это не прозвучало - начнем. 8)
Я когда-то начинал с Абеля
но потом забросил это дело

Не так давно решил писать под Win32
не прошло, понял что нужны основы

В данный момент решил начать с рассылки Калашникова
Не ахти конешно но не помешает(ну вообще нормально)

Кстати Ида мне тоже Очень интересна, а в ней без асма делать нечего
Но доков по ней нормальных так и не нашел

И вот у меня такой вопрос возник по организации памяти в досе
Вроде понятно что адрес задается сегмент:смещение но
прочитал что можно задавать один и тот же адрес несколькими
парами сегмент:смещение и вот не догнал пока(там не подробно было)

ворос конечно не такой ,чтоб вообще тупиковый
но по-моему просто интересный момент (даже основной)

nik7

  • Гость
Re:кто за ассемблер
« Ответ #3 : 27 Январь 2006, 02:30:01 »
Абель  конечно труд интересный соченил, но для меня это както..
Попалась как то раз книжеца, на работе, жаль забыл автора, но могу узнать. была она у меня не много ни мало 3 дня. так в ней было кратко и доходчевей всё описано, чем у Абеля. Приводились всякии примеры, по типу код - команда.
Цитировать
В данный момент решил начать с рассылки Калашникова Не ахти конешно но не помешает(ну вообще нормально)
А что за рассылка?
Цитировать
Кстати Ида мне тоже Очень интересна, а в ней без асма делать нечего Но доков по ней нормальных так и не нашел
Кое что попалось, но вещь серьёзная, каждый шаг контролируеш самостоятельно. Там не только асм знать, там и архетектуру проца знать надо...
Цитировать
можно задавать один и тот же адрес несколькими
парами сегмент:смещение
Чет не понял,а где прочитал?

Uri

  • Гость
Re:кто за ассемблер
« Ответ #4 : 27 Январь 2006, 09:05:15 »
Hi!

...Я так посмотрю программистов-активистов здесь маловато или все по личке?
Предлагаю здесь заинтересованным решать проблемы с ассемблером
Сам имею некоторый опыт, но вопросов много
отзовитесь!


Активность форума зависит от активности форумчан. Задавайте вопросы, отвечайте на вопросы, которые знаете, привлекайте новых участников - и форум заживёт, начнёт расти и наполятся инфой.

Best Regards

acme

  • Гость
Re:кто за ассемблер
« Ответ #5 : 27 Январь 2006, 14:03:54 »
kalashikoff.ru - рассылка вроде прекратилась(пока), но там есть архив( < метра )

"...обычный физический адрес ячейки можно получить SA*16+OA...
двухкомпонентные адреса FF3Ah:2367h и FF38h:2387h указывают
на одну и ту же ячейку..."("Ассемблер.Учебный курс" ,Пирогов В.Ю.)
SA - адрес сегмента, OA - адрес смещения

почему-то я думал что идет адрес сегмента и для него от 0 и до FFFFh адреса смещений
потом следующий адрес сегмента и т.д., те я как бы выделял сегмент памяти в отдельную область

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

У меня еще такая трабла: допустим есть две строки
first    db   '2','$'   
second db   '5','$'

что мне надо сделать чтобы получить 7?
те надо взять эти строки как числа и сложить

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

nik7

  • Гость
Re:кто за ассемблер
« Ответ #6 : 09 Февраль 2006, 01:23:19 »
е могу разобратся с IDA4.8, Нет при загрузки анализа,приходится всё делать в ручную.

Sliders

  • Гость
Re:кто за ассемблер
« Ответ #7 : 13 Февраль 2006, 00:17:44 »
У меня еще такая трабла: допустим есть две строки
first    db   '2','$'  
second db   '5','$'

что мне надо сделать чтобы получить 7?
те надо взять эти строки как числа и сложить


Не совсем понятен вопрос ???
Ассемблер гораздо проще... не стоит подходить к нему с "высокого" уровня....

vitaliy

  • Гость
Re:кто за ассемблер
« Ответ #8 : 13 Февраль 2006, 14:12:28 »
kalashikoff.ru - рассылка вроде прекратилась(пока), но там есть архив( < метра )

"...обычный физический адрес ячейки можно получить SA*16+OA...
двухкомпонентные адреса FF3Ah:2367h и FF38h:2387h указывают
на одну и ту же ячейку..."("Ассемблер.Учебный курс" ,Пирогов В.Ю.)
SA - адрес сегмента, OA - адрес смещения

почему-то я думал что идет адрес сегмента и для него от 0 и до FFFFh адреса смещений
потом следующий адрес сегмента и т.д., те я как бы выделял сегмент памяти в отдельную область

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

У меня еще такая трабла: допустим есть две строки
first    db   '2','$'   
second db   '5','$'

что мне надо сделать чтобы получить 7?
те надо взять эти строки как числа и сложить

Но я еще не настолько много  всего прочитал чтобы задавать много вопросов
В смысле надо самому еще читать, читать и писать и  эти проблемы решатся
Вопросы возникают когда пытаешься создать что-то свое
а о чём это?
если 2 бакса плюс 5 баксов
то типа
MVI M 2
MVI  R 5
ADD M
MOV 7 баксов в карман



vitashar1

  • Гость
Re:кто за ассемблер
« Ответ #9 : 19 Февраль 2006, 16:18:07 »
ну во, это уже интересно, может и я чемунибуть научусь.

Ruslan_f

  • Гость
Re:кто за ассемблер
« Ответ #10 : 22 Февраль 2006, 13:28:02 »
Да, ассемблер знать нужно, но сложно (может мне так кажется) ::)
Сам недавно пробовал изучать, блин, но непонимаю, хотя знаю, что нужно знать на нём все, и основано, если не считать машинных кодов и команд. :-\
Интересные сайты:
  1. http://wasm.ru/ всё про ассемблер и не только.
  2. http://www.cracklab.ru/ неплохой форум по изучению ПО и всё что сним связанно.

Охота видеть и наш  Казахстанский форум по изучению ассемблера. :)

vitashar1

  • Гость
Re:кто за ассемблер
« Ответ #11 : 22 Февраль 2006, 22:57:26 »
ну для начала можно и на пиках по стажероватся.
например на  pic16f84 они многоразовые. и проги и литературы много по ним и всякие приблуды с них делают. карточки в том числе и блокеры для карт нтв+ тоже на них были. и бигушки. такчто я думаю от малого к большому проще если нет навыков.

nik7

  • Гость
Re:кто за ассемблер
« Ответ #12 : 24 Февраль 2006, 23:37:16 »
http://web.host.kz/ida1/ Первая часть, 14 архивов рар.
http://web.host.kz/ida2/ Вторая.
http://web.host.kz/ida3/ Целиком не мог закачать, хост с ограничениями, пришлось так. Но мне кажется так даже и удобно скачивать будет. Всё работает, проверено. Сам я только новичек в этом деле, пока с меня советов не будет, но я думаю может вместе с теми, кто заинтересован, что то и понятней для начала станет.

vitaliy

  • Гость
Re:кто за ассемблер
« Ответ #13 : 01 Март 2006, 10:35:26 »
тем кто хочет разобраться
нужна конкретная небольшая задачка,
для проца к которому хотите написать
нужно зать структуру пороца ,прерывания, адресацию памяти, портов, битность, иметь систему команд (машкод-мнемокод)...
иметь представления о логических операциях
составить алгоритм задачи
и начать писать
задавайте вопросы возможно найдутся и ответы
удачи

nik7

  • Гость
Re:кто за ассемблер
« Ответ #14 : 01 Март 2006, 19:48:51 »
Как на счет MIPS? Есть вся инфа!  ;)

vitaliy

  • Гость
Re:кто за ассемблер
« Ответ #15 : 02 Март 2006, 10:31:36 »
а зачем
для смарт карт что ли или аудио/видео устройств
посмотри про проги для NetCore AMD Alchemy из под никса,
mipsel-linux-as - ассемблер для архитектуры  MIPS32  
mipsel-linux-objdump - дизассемблер для архитектуры  MIPS32

может заинтересует
Green Hills MULTI
www.ghs.com

загляни на
http://www.idapro.ru/forum/viewtopic.php?t=214&sid=1980d0c60cfde908f2db469d37647242
удачи

Vlad

  • Гость
Re:кто за ассемблер
« Ответ #16 : 02 Март 2006, 20:58:14 »
а о чём это?
если 2 бакса плюс 5 баксов
то типа
MVI M 2
MVI  R 5
ADD M
MOV 7 баксов в карман


Были таки машины DEC.
Вариации на эту тему выпускались в СССР. Под псевдонимами ДВК и др.. А в самом упрощенном варианте - домашние БК-001.
И была у них система команд. Такая, что и на ассемблере писать было не надо - все лего писалось/читалось в машинных кодах. Так например если надо было сложиь два числа, то одной (!) командой можно было:

1. в качестве первого источника данных использовать ячейку, адрес которой указан в первом аперанде команды.
2. в второго первого источника данных использовать ячейку, адрес которой указан во втором аперанде команды
3. сложить оба числа
4. результат поместить в ячейку памяти, адрес которй указан в третьем праметре команды.
Можно было и напрямую числа указывать в качестве аперандов команд и одновременно инвертировать значения ячеек и пр. и пр.

А вот когда я первый раз сел за x86, то ужаснулся! Что бы сложить два числа их надо загать в какие-то аккумуляторы или в в регистры, потом сложить, потом самому отправить результат в ячеку памяти... А еще эти сегменты, смещения....
Кошмар! С тех пор питаю стойкую неприязнь к ассемблеру x86, а точнее к системе комманд этого процессора. Хотя раньше, бывало, писал на асме игры...
С тех пор, правда, приходилось писать кое-что на асме и для x86 (драйвера, обработчики прерываний и пр.), но сейчас вообще не вижу в этом смысла - если что то надо делать максимально на низком уровне , то есть C и/или C++. Так, например,на нем xNIX, в большинстве своем и написаны.
Пожалуй вот для чего реально может пригодиться Ассемблер - для кряков, патчей и пр.
Хотя, безусловно, знание основ машинных кодов и понимание как все это работате на самом низу - вещь нужная и полезная.
« Последнее редактирование: 02 Март 2006, 21:00:37 от Vladilen »

vitaliy

  • Гость
Re:кто за ассемблер
« Ответ #17 : 03 Март 2006, 10:45:46 »
а что подразумевается под ассемблером ( для меня программа с мнемоникой) и как писать машкодом (наизусть все цыфры помнить)?
что такое DEC честное слово не знаю ,
а вот электронику 60, двк, электронику 85, БК
прекрасно помню и там не так уж всё просто было,
коды и безадресные, и одно адресные идвух адресные,
адресация и через РОН (регистровая, косв.регистровая, автроинкементная, косв.автоинкрементная, автодекрементная,
косв.автодекриментная, индексная, косв.индексная)
ичерез СК(непосредственая, абсолютная, относительная, косв.оносительная)
а вот восмеричная считалка точно убивала количиством цифр,
а пятидюймовая дискета.....
и как жаль убитое время

vitaliy

  • Гость
Re: кто за ассемблер
« Ответ #18 : 09 Март 2006, 14:39:52 »
система команд st

NeiTRiNo

  • Гость
Re: кто за ассемблер
« Ответ #19 : 21 Апрель 2006, 19:09:07 »
Выложите ктонибуть систему команд ST, который выше не открывается.