Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на Ассемблере как общего так и конкретного характера.
 
важное примечание
для тех кто считает, что здесь место халявных исполнений курсовых и лабораторных работ.
тут обычно помогают тем, кто сам хоть что-то пытается понять и сделать, но что-то не понимает, что-то не получается...
ведь ассемблер изучают и задачки на нём дают обычно не менеджерам по продажам и даже не всем физ.-мат. специальностям
вы сами избрали этот путь? вот и идите по нему сами, ножками... с ручками и с головой...
 
короче, тут не сборище придурков-альтруистов, которым нечего делать и они ждут-не дождутся когда вы их попросите
что-то сделать _за_ вас
если позарез надо и вы даже готовы заплатить, тогда вам сюда
удачи
 
некоторые ресурсы
http://www.wasm.ru/ Самый популярный русскоязычный ресурс. https://wasm.in/
Ассемблер - книги (ASM, Assembler)
 
Просьба все большие листинги оформлять тегом more.
 
если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:42 29-11-2006 | Исправлено: akaGM, 17:44 11-06-2020
bomzz

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ни у кого нет желания в масм х64 поковыряться?

Всего записей: 3412 | Зарегистр. 29-03-2016 | Отправлено: 21:46 05-05-2017
Triton77

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите с сисемблером. Как писать ассемблерные вставки на code blocks с MinGW64? Пишет, что _asm не декларирован. Задача - сложить два числа и поместить бит переноса в переменную типа bool. Проблема в том, что слагаемые имеют разрядность типа long long int, из-за чего перенос прямо на c++ теряется. Если бы хоть long int, то можно перед сложением привести тип к более длинному и сумму положить в буфер более длинного типа, тогда бит переноса попадёт в младший из битов, которых не было в исходном типе слагаемых. А если слагаемые long long int, то просто нет готового целого типа большей разрядности для данного грязного хака, придётся в переменную класть флаг переноса из регистра флагов. А у меня в принципе не получается асм-вставка, кодоблоки ругаются уже на синтаксис самого слова asm.

Всего записей: 49 | Зарегистр. 25-04-2017 | Отправлено: 08:32 06-05-2017 | Исправлено: Triton77, 07:25 11-05-2017
bomzz

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
про вставки в теме Си спроси
http://forum.ru-board.com/topic.cgi?forum=33&bm=1&topic=4338&start=7660#lt
не то что я гавнюк какой то, тебя посылаю, там народу больше, причем шарящего, и сразу ответят. а когда по коду вопрос возникнет придется тут ждать

Всего записей: 3412 | Зарегистр. 29-03-2016 | Отправлено: 08:50 06-05-2017 | Исправлено: bomzz, 09:28 06-05-2017
BioScum

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть ли интересные учебники или курсы по x64 ассемблеру и ассемблеру для linux?

Всего записей: 4 | Зарегистр. 02-07-2017 | Отправлено: 13:55 05-07-2017
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BioScum, можно начать, например с: Introduction to 64 Bit Assembly Programming for Linux by Ray Seyfarth. А так мануалы intel-a или конкретного компилятора + книжки по архитектуре систем. Всё зависит от целей, реверсинг ли это, оптимизация какого-то кода или что-то ещё.

Всего записей: 418 | Зарегистр. 23-03-2010 | Отправлено: 09:07 07-07-2017
lets_go_champ



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BioScum

Цитата:
Есть ли интересные учебники или курсы по x64 ассемблеру и ассемблеру для linux?

 
в линупсах асм не приветствуется особо, там переносимость в приоритете.
 
а учебников никаких нет, на русском выходило от аблязова руслана Программирование на ассемблере на платформе x86-64 , но книга шлак.
 
там особенно и не надо ничего, соглашение по вызову х32 и х64 , и вперед. хатчиссон скоро масм64 запилит, там мануал будет и все инклуды.
 
отладчиков вот только путных нет, а так в целом все тоже самое.

Всего записей: 195 | Зарегистр. 08-03-2017 | Отправлено: 21:49 04-08-2017
Benchmark



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lets_go_champ

Цитата:
отладчиков вот только путных нет

Почему ? Майкрософтовский WinDbg никто не отменял. Да и x64dbg вполне неплох. Встроенный отладчик в IDA - тоже.

Всего записей: 6833 | Зарегистр. 01-10-2002 | Отправлено: 17:37 10-11-2017 | Исправлено: Benchmark, 17:38 10-11-2017
SatinWood



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
отладчиков вот только путных нет

 
Их надо только поискать... точнее поработать в них!

Всего записей: 815 | Зарегистр. 30-01-2009 | Отправлено: 16:45 25-02-2018
zzz528

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
отладчиков вот только путных нет
Их надо только поискать... точнее поработать в них!  

 
Пользуюсь www.ollydbg.de, удобней ниго пока нe знаю, но бывает он глючит. А самый лучший был давно - softice.  И пробовал WinDbg - абсолютно неудобная вещь и не понятно где ткнуть чтоб поставить точку останова.  x64dbg не знаю, стоит ли пробовать.
 
 
 
 

Всего записей: 1651 | Зарегистр. 20-06-2005 | Отправлено: 13:32 27-04-2018
JFK2005



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть уже давно хороший отладчик. Опенсорсный.
 
https://x64dbg.com/
 
Я пользовался им для реверса и дампа реальных программ - работает прекрасно, лучше чем оля. В ранних версиях были недочёты, да.

Всего записей: 2060 | Зарегистр. 26-10-2005 | Отправлено: 19:28 27-04-2018 | Исправлено: JFK2005, 19:31 27-04-2018
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а показ мхх/ссе/авх регистров НЕ в виде тупого хекс-дампа там наконец появился?

Всего записей: 11563 | Зарегистр. 03-08-2008 | Отправлено: 20:40 27-04-2018
ne_viens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Change SIMD Register Display Mode:
Hexadecimal
Float
Double
etc...

Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 12:19 29-04-2018
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Зачем мне ручной выбор? Я что, перед каждой инструкцией буду выставлять соответствующий ей формат, чтоб посмотреть, правильно ли отработало?  
Ещё раз:  
- отладчик умеет пошаговое исполнение ммх/ссе/авх?  
- отладчик может понять, как текущая команда использует регистры?  
- так какого ж хрена он не показывает мне эти регистры в том виде, в котором они в данный момент данной конкретной командой (которая выделена курсором) используются?

Всего записей: 11563 | Зарегистр. 03-08-2008 | Отправлено: 13:29 29-04-2018
borka8

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mercury, тут нет спецов по программингу, ибо железячники лентяи, сели на тему и дрочат, никого не пускают или не умеют, иди в фриноду, начни с rom каналов, лет через n будешь нужный майкрософту, мне некогда, я качать буду мышцы, ибо бычья кругом немеряно..

Всего записей: 9 | Зарегистр. 27-04-2018 | Отправлено: 04:15 30-04-2018
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
"
тут малец с поправкой влез...
"

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 11:45 30-04-2018
borka8

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вот "мальцу" ваще работать резона нет никакого..тише едешь дальше будешь от места куда едешь..битие определяет сознание..хорошего человека должно быть много..пуля не воробей вылетит заклюют "нет-нет, это не надо"(цитата)

Всего записей: 9 | Зарегистр. 27-04-2018 | Отправлено: 23:14 01-05-2018 | Исправлено: borka8, 23:25 01-05-2018
Aleksandr N

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите знающие люди, наверняка найдутся здесь такие. Нужно переписать пару строк на Pascal без вставки ASM.
Есть:

Код:
 
TInject = record
    del: Pointer;
    FileName: DWORD;
  end;
 

Перевести нужно это:

Код:
 
function InjectedCode(param: pointer): dword; stdcall;
var injected: TInject;
begin
  injected := TInject(param^);
  asm
    push injected.filename;
    call injected.del;
  end;
  Result := 0;
end;
 

Спасибо.

Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 20:56 24-05-2018
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Aleksandr N
 
попробуй:

Код:

type
  TProc = procedure(FN: DWORD); stdcall;
 
TInject = record
  del: TProc;
  FileName: DWORD;
end;
   
 
function InjectedCode(param: pointer): dword; stdcall;
  var injected: TInject;
begin
  injected := TInject(param^);
{
  asm
    push injected.filename;
    call injected.del;
  end;
}
  injected.del(injected.FileName);
 
  Result := 0;
end;


Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 21:40 24-05-2018
Aleksandr N

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Да, сработало. Осталось допилить 64-битность. Спасибо.

Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 23:06 24-05-2018
contrafack

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Коллеги, кто сможет помочь с лабораторной?  
задача по работе с интерфейсом UART и виртуальным COM-портом.
Имеется наработка вся, но что то неверно работает.  
 
могу архивом (с заданий) или выслать напрямую или на файлообменник загрузить.  
 
буду очень благодарен!  
 
 

Всего записей: 3336 | Зарегистр. 21-04-2008 | Отправлено: 15:55 11-06-2018
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru