Anonymous
Спасибо всем за внимание ))
Anonymous
Или не обязательно искать именно для моего процессора документацию, тоесть есть ли там не знаю типо диапазон чтоле называть это, ну например от версии Т1 до Т8 ассемблер один и тот же ?
Anonymous
Или это жёстко все индивидуально ?
Anonymous
Или это группа для профессионалов ? Если так прошу прошения, я выйду и пойду искать клуб нубов ))
Aiwan \ (•◡•) / _bot
Aiwan \ (•◡•) / _bot
ты лучше б сказал какую инфу ты хочешь найти
Anonymous
Вы это посмотрели ? Если да, то я для начала хочу научиться писать именно для этой железяки, вот что и где читать для этого ?
Aiwan \ (•◡•) / _bot
Anonymous
Anonymous
Ничего себе
Anonymous
Какую книгу читать посоветуйте ?
Anonymous
все, но только понравившуюся дважды
😅 Я не знаю какую выбрать, я нашел сайтик с книжками, называется codernet.ru, там много книг, я думаю среди них есть те которых не стоит читать 😅 наверняка должны быть такие ) характерно новичка, поступил бы, какую книгу читали вы ? )
Aiwan \ (•◡•) / _bot
мануал к асму, + его же примеры. а дальше гуглежка по непонятным вопросам
Aiwan \ (•◡•) / _bot
так я получаю ту инормацию, которая необходима мне на тот или иной этап изучения, нет необходимости читать воду или то, что я и так уже знаю, или то что на данном этапе мне никак не пригодится
Aiwan \ (•◡•) / _bot
а для общего развития надо прочитать любую книгу, чтоб знать вообще о чем они пишут. они все одинаковые, но разные
Anonymous
Они все одинаковые но разные ? 🤯
Aiwan \ (•◡•) / _bot
одинаковые потому что пишут об одном и том же. разные потому что у каждого автора свой стиль изложения информации, важность которой определяет он сам
Anonymous
Aiwan \ (•◡•) / _bot
Eugene
xk8.ru/asmlinks – тут книги (названия), мануалы, инструменты. Какая книга лучше – не знаю, я книги по асму не читал больше 20 лет, сейчас только мануалы, спецификации в основном :). Но там (по ссылке) есть что выбрать.
Во-первых, надо ориентироваться на ОС, под которую будет писаться код (Windows, Linux – 32 бита или 64 бита, DOS – 16 бит) – в этом зависимость от платформы. И книгу можно выбирать в соответствии с этим. Во-вторых, если это семейство x86, то это одно, если ARM, то другое. И есть ещё 100500 других процессов и выдуманных систем типа LLVM. Это тоже является частью платформы. Платформа – это процессор + ОС.
У тебя х86. В целом, ассемблер там во многом одинаковый для всех ОС, есть только нюансы разной разрядности (16, 32, 64 бита) и разные системные ABI/API и методы взаимодействия с ними. Т.е. функция расчёта НОД или сортировки (если не надо выделять память) будет одинаковой для любой ОС (за исключением мелких нюансов), а вот функции выделения памяти или вывода сообщений очень сильно зависят от ОС.
Ассемблеры разных процессоров отличаются очень сильно, это почти что как разные языки.
Eugene
Anonymous
Eugene
Из более современного и для Linux: https://www.ozon.ru/products/267122010 (прям свежак, отзывы хорошие)
https://m.vk.com/wall-54530371_42703 (популярная книга)
Eugene
Сколько книг интересных появилось!
Вот, например, включает в себя AVX-512: https://www.ozon.ru/products/303224072
А вот по ARM (хотя год назад искал, ничего не нашёл, а книга 2017 года): https://www.ozon.ru/products/431278951
Eugene
А нет, вру, 2022 года.
Eugene
Не знаю только, в 320 страницах многое ли можно описать.
Anonymous
xk8.ru/asmlinks – тут книги (названия), мануалы, инструменты. Какая книга лучше – не знаю, я книги по асму не читал больше 20 лет, сейчас только мануалы, спецификации в основном :). Но там (по ссылке) есть что выбрать.
Во-первых, надо ориентироваться на ОС, под которую будет писаться код (Windows, Linux – 32 бита или 64 бита, DOS – 16 бит) – в этом зависимость от платформы. И книгу можно выбирать в соответствии с этим. Во-вторых, если это семейство x86, то это одно, если ARM, то другое. И есть ещё 100500 других процессов и выдуманных систем типа LLVM. Это тоже является частью платформы. Платформа – это процессор + ОС.
У тебя х86. В целом, ассемблер там во многом одинаковый для всех ОС, есть только нюансы разной разрядности (16, 32, 64 бита) и разные системные ABI/API и методы взаимодействия с ними. Т.е. функция расчёта НОД или сортировки (если не надо выделять память) будет одинаковой для любой ОС (за исключением мелких нюансов), а вот функции выделения памяти или вывода сообщений очень сильно зависят от ОС.
Ассемблеры разных процессоров отличаются очень сильно, это почти что как разные языки.
За сыль, санкью👍
Anonymous
Всем доброго времени суток!
У меня вопрос по nasm, на сегодняшний день оправдывается его изучение? Обратил внимание на nasm, т.к. использую linux и плюс к этому nasm есть и под винду. Ранее изучал masm (Калашников и др.кн.), но не практиковал в коде, а только читал команды в отладчике (люблю ковырять код...). Использовать asm от gcc, как-то запутанным показалось. Так что присматриваюсь к nasm (ищу техдоки и потихоньку читаю от скуки, но не шкодю), чтоб в будущем начать изучать, а далее практиковать (совместно с С/С++).
Заранее благодарен.
Eugene
Всем доброго времени суток!
У меня вопрос по nasm, на сегодняшний день оправдывается его изучение? Обратил внимание на nasm, т.к. использую linux и плюс к этому nasm есть и под винду. Ранее изучал masm (Калашников и др.кн.), но не практиковал в коде, а только читал команды в отладчике (люблю ковырять код...). Использовать asm от gcc, как-то запутанным показалось. Так что присматриваюсь к nasm (ищу техдоки и потихоньку читаю от скуки, но не шкодю), чтоб в будущем начать изучать, а далее практиковать (совместно с С/С++).
Заранее благодарен.
NASM — один из самых часто используемых, особенно для Linux. И особенно за бугром его любят.
FASM и MASM32 обычно используют под Windows, чаще русскоговорящие :)
Anonymous
masm используется еще самим MSVC )
Anonymous
по крайней мере в синтаксисе дампов
Anonymous
вроде ж нельзя другой синтаксис указать ему?
usernameak
Eugene
Я делал как-то набор файликов для облегчения работы в Linux.
И вот описание (ну и вообще про системные вызовы): https://www.cyberforum.ru/assembler-linux/thread2276428.html
Examples included...
usernameak
usernameak
как сейчас хз
Eugene
Вот версия для fasm/fasmg, там только макросы lsyscallx с fasmg не пашут. Недоисправленная версия, короче говоря :)
Собственно, fasmg нужен для редко используемого x32 ABI (не путать с x86). Всё остальное прекрасно работает, никакого гемора.
Anonymous
Ухты, как все сложно 🤯
Anonymous
Эти книжки
Ты знал, куда лез.
Anonymous
Да, я пока скопировал программу для вывода на экран надпись, даже нашёл 2 разных варианта, но выводят одно и то же... Пока понял я то, что какие кусочки цифр и символов какого то целого пересылается или не знаю как ещё это называется, я вроде понял это как перемещение, туда сюда в памяти... А регистры вообще анреал тема оказывается для новичка... Ух
Anonymous
Anonymous
И ещё, пытаюсь разобраться почему используются именно те или иные регистры
Anonymous
Anonymous
Я ещё научился сохранять процесс выполнения чтоле или процесс чтения кода, но это в документации называется "листинг", и там у меня было в начале какая ошибка, ну я в начале подумал что это ошибка, но оказывается предупреждение, там было написано над каждой командой, что то вроде
... error, in 32 bit mode 😁
Потом посмотрел заново все переписал и вуаля, предупреждение исчезла , прикольно)
Anonymous
И вообще не смог понять что такое директивы... Ну вот эти есть же, .text .data
Anonymous
И вообще мало что то в интернете руководство по ассемблерам + по процессорам и т.д я чёт не могу найти нормальную документацию, постоянно подаются такие ссылки типо, нажимаешь открывается вообще другая страница которая абсолютно не связана с программированием
Anonymous
Anonymous
Anonymous
Понятно
Anonymous
Anonymous
Anonymous
Anonymous
Теперь выдаёт ошибку 😅 ваще не понимаю
Anonymous
Через некоторое время выдаёт ошибку
Anonymous
А иногда все хорошо работает
Anonymous
Один и тот код
Anonymous
Я там ещё увидел, что типо "SECTION.DATA" идёт самом низу... И работает
Anonymous
Тоесть все равно чтоле компьютеру где именно находятся определенные функции ?
s54820
У тебя 32-битные сисколлы и 64-битный ELF. Выбери что-то одно. Например, сделай nasm -f elf32 или найди себе туториал о том, как делать 64-битные сисколлы.
Anonymous
Данный код будет выполнять ОС, загрузчик находит точку входа внутри структуры формата файла ELF, и оттуда начинает выполнение кода. Устанавливает структуру твой линковщик, когда ты указываешь _start
.data это секция данных, она не исполняется, там только данные
Понятно, о да кстати, могу ли я посмотреть как выглядит этот загрузчик и компоновщик ? про ELF я прочитал, тоже больная тема оказывается, с этим фарматом там связано куча программ которые типо помогают анализировать данный формат, что что именно там анализируется пока у меня туманно 😂
Anonymous
Anonymous
Anonymous
Уххтыыш, о май гаш, ассемблер видимо это весь айти 😂
Anonymous
Ядро, новая тема для чтения, спасибо, буду знакомиться.
Anonymous
А, обращение к системе называется - сисколл ? Понятно, спасибо
Anonymous
Тоесть, 80h - это система чтоле ? Система так называется чтоле ? Прикольно, 80аш )) это всегда так ? Тоесть 80 число не меняется ?
Anonymous
А почему именно 80 ? А почему вообще надо обращаться к системе ?
Anonymous
А
Anonymous
А кто тогда будет выполнять код 😅
Anonymous
Тоесть int 80h это функция или команда для обращения к системе ?
Потому что это номер.
Anonymous
Ассемблер сверху вниз читает код и выполняет ? Или если определенные условие или шаги