169 похожих чатов

Всем привет. Я пользователь ОС на базе GNU/Linux. Мне интересно

изучение Ассемблера с целью: расширение знаний об устройстве ПК на практике, возможно в дальнейшем вставка кода на Asembler-e в исходный код на Rust, Си(Знаю, что GCC и Rustc используют синтаксис AT&T непосредственно в исходном коде Си, Rust). Сталкивался с FASM, NASM. У каждого из них Intel синтаксис как я понял. Андрей Викторович Столяров в своей книге про Ассемблер на UNIX использует NASM, Аблязов Руслан Зяфарович в своей книге учит FASM, Крис Касперски в "Искусство Дизассемблирования"(2008), считает FASM "игрушечным" ассемблером. Цитата: "неординарный и весьма самобытный, но увы, игрушечный ассемблер" (стр 82.). В связи с этим у меня возникло несколько вопросов: 1) По Вашему личному мнению на каком Ассемблер-е лучше всего учиться писать программы(более углубленно)? 1.1) Какой Ассемблер лучше всего учить, что бы я мог писать на любом Ассемблере, просто открыв документацию по нему? Благодарю за внимание.

17 ответов

9 просмотров

Если линукс, то gas

На FASM.

GAS более полезен в данном случае будет, раз уж вставки в C и подобные яп

FASM

90% знаний ассемблера состоят из архитектуры системы команд процессора и алгоритмов. FASM наиболее простой способ начать писать программу и добиться результата. По крайней мере под Линуксом. А понимание разницы с другими ассемблерами потом само приложится.

Alexander Morozov
90% знаний ассемблера состоят из архитектуры систе...

Что-то все так его рекламируют, что стало интересно посмотреть. Проблема в том, что в дикой природе кроме gas просто ничего не встречается, и зачем изучать что-то другое мне не очень понятно

Как раз только недавно скидывал реализацию нейросети на FASM (две реализации). TinyPE недавно скидывал, тоже на FASM писан. На нём как раз больше всего проектов, именно написанных на чистом ассемблере. А вот GAS зачастую как вставочки используют, или линкуют с С-кодом, и это мне вообще непонятно.

КТ315
Как раз только недавно скидывал реализацию нейросе...

так вставки это почти 99% всего что на асме пишут

КТ315
Как раз только недавно скидывал реализацию нейросе...

Gas - это системный ассемблер. Все утилиты: objdump и прочие работают именно с ним. Банально опция компилятора -S выдаст gas. Все профилировщики работают с gas. Поэтому я просто ни разу на промышленных проектах ничего другого не видел

Mixail Frolov
так вставки это почти 99% всего что на асме пишут

Не совсем. Но я не в том плане, что вставки не нужны. А в том, что GAS не подходит тем, кто хочет писать на чистом ассемблере. Его как раз после FASM нужно использовать.

КТ315
Прямо "все"?)

Ну, если не брать го, то хотелось бы пример

Alex
Что-то все так его рекламируют, что стало интересн...

GAS уж очень специфичен. Он сделан не для человека, а для компьютера, а-ля, например, json. А в FASM хорошо конвертируются старые материалы по TASM и т.п.

Alexander Morozov
GAS уж очень специфичен. Он сделан не для человека...

Я смотрю чисто с практической точки зрения. Все работают с gas

КТ315
Не "все".

Ну, можно не игрушечный пример привести? Я выше написал, что кто-то nasm тянет, но при работе с промышленным кодом вероятность встретить не gas околонулевая

Alex
Я смотрю чисто с практической точки зрения. Все ра...

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

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Коллеги, доброе утро. Запустил на удаленном хосте приложение (ручками зашел туда по ssh и запустил, не командой удаленно). Создал потом ssh-туннель, и с моей машины приложение...
Δημήτηρ
9
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
12
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
31
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
10
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Книга Юрова В.И пойдёт для обучения?
Botsman
24
I was reading a lot about API and REST API and I still don't get it, what's a application programming interface? 😄 How to build a private API for getting other informations f...
Witold 🖤🩶
12
Всем доброго дня, ребят подскажите пожалуйста, если в курсе по ассемблеру используется MASM32, могу ли я использовать FASM? В чем явная разница и будет ли у меня все работать?
Botsman
17
Карта сайта