Eugene
Не очень понятен смысл. Вообще, надо смотреть пропускную способность диска и сравнивать с ней. Тест диска сделай и посмотри — медленно это или нет. А вообще, запись побайтно всегда медленнее, чем большими блоками.
Понаползло то вас сколько...
Dan
Половина боты, наверное
Dan
@P9tigorsk и @Almads точно подозрительные
Anonymous
Уважаемые, подсобите, если хочу изучить ассемблер для себя чисто и для отладки.
masm32 будет достаточно и знает ли кто хорошую книгу по х86-64 ?
Начал с Калашникова, сидеть через dosbox не понравилось, но дочитал до конца )
Anonymous
По сути наверное был бы рад просто отправной точке )
Aiwan \ (•◡•) / _bot
Аблязов руслан
Anonymous
Aiwan \ (•◡•) / _bot
И отличие 86 от 64 минимальны, изучив 86 можно без проблем потом кодить на 64
Aiwan \ (•◡•) / _bot
А если не видно разницы зачем платить больше, платой в данном случае является время
Anonymous
Думаю Аблязова будет за глаза мне )
Aiwan \ (•◡•) / _bot
Изучай винапи тогда чтоб для винды писать, или закапывайся в маны линукса
Anonymous
Aiwan \ (•◡•) / _bot
Уроки айсцилиона на помощь
Anonymous
Aiwan \ (•◡•) / _bot
В архив wasm. Ru зайди
Anonymous
Anonymous
IDE кстати которая в закрепе как будет?)
Anonymous
я в vscode просто для синтасиса сижу
Aiwan \ (•◡•) / _bot
Anonymous
Че за ide?
https://gri-software.com/ru/asmvisual/?utm_source=wasm
Aiwan \ (•◡•) / _bot
Aiwan \ (•◡•) / _bot
Он весит этот редактор около 100мб, этот редактор писали те кто в асме не бум бум. Ибо на .net написан
Anonymous
Принял, забью )
Anonymous
а для отладки кто что посоветует?
Aiwan \ (•◡•) / _bot
x64dbg
Aiwan \ (•◡•) / _bot
Anonymous
спасибо )
JeisonWi
https://www.microsoft.com/en-us/research/uploads/prod/2018/12/popl19-vale.pdf
JeisonWi
Формально верифицируемый ассемблер
Да откуда вы полезли? Машка, тащи дихлофос, тута тараканы!
Maksym
енто бот
Maksym
/ban
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
Maksym
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
Maksym
Maksym
просто многие книги писались с использований плюшек осей
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
Maksym
системных вызовов и прочего
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
@Aiwan я тут про твой пятибитный байт думаю периодически. Кода много получается.
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
Хотя на х64 легко реализовать
Aiwan \ (•◡•) / _bot
нано думаю 32
Aiwan \ (•◡•) / _bot
или 16
Aiwan \ (•◡•) / _bot
#book
Aiwan \ (•◡•) / _bot
#book
Eugene
А как не привязываться к ОСи, когда ассемблер — очень платформозависимый язык? Хочется кроссплатформенности, пишите на Си, например :)
А если не привязываться, тогда просто надо брать учебники по МАСМ, НАСМ, фасм и т.п. Или маны Intel :)
Eugene
Вернее, не ИЛИ, а И.
Anonymous
А зачем не привязываться к оси?
Anonymous
Для кросса есть джава
Anonymous
Остальное должно быть сделано качественно под ось
Anonymous
firther
Ну кьют же:)
Maksym
Maksym
Который не предполагает что ось вообще есть
Maksym
Я об этом писал )
Дмитрий
А реально написать код который определит какая ось, не получив исключение?
Maksym
Мб написать код для загрузчика , а там уже где-то что-то прочитать )
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
Anonymous
Anonymous
Anonymous
Eugene
Тогда не надо ничего определять, просто разные define-ы сделать и условными директивами компиляции разный код генерить.
Eugene
Так обычно и делается и не только в асме.
Aiwan \ (•◡•) / _bot
#book win32 fasm
Дмитрий
Извини меня... Но код не будет спрашивать или знать где он запущен... Тупо на входе в функцию понять что за система и какая разрядность.. Хотя разрядность можно легко и позже посчитать
Eugene
Если пишется библиотека, то вполне нормально делать отдельную либу для Windows, отдельную для Linux. И для каждой разрядности тоже. И сказать программисту, который будет её использовать, что для такой ОСи нужно юзать вот это, а для секой — то. Нет смысла в рантайме определять ОСь — это лишний код. Ну или, если либа является "универсальным" исходником, то сказать юзеру, что для Windows нужно задать вот такую константу (или define), для Linux — другую.
А если пишется прога, то при компиляции также можно задавать разные define'ы/константы в зависимости от ОСи и разрядности (в командной строке при вызове компилятора).
Кстати говоря, некоторые ассемблеры позволяют определять во время компиляции ОС, под которую идёт компиляция и разрядность. К примеру, в NASM это __OUTPUT_FORMAT__ и __BITS__. С fasm посложнее с разрядностью (но тоже не шибко сложно), а вот определить ОС, насколько я знаю, нельзя, ибо это задаётся директивой format и довольно проблематично написать один исходник для разных ОС без танцев с бубенчиками, во время которых можно и константу определить и дальше в коде по ней определять ОС и выбирать какой код генерить.
Eugene
Очень странно, если в проге, откомпилипованной под Linux x64 будет содержаться, например, 4 варианта кода (для винды и линукса на 32 и 64 бита). А может, и больше: Для андроида, мака и пр :))
Так никто не делает, ибо это ж маразм какой-то. А ещё ведь и ассемблеры и опкоды одинаковых инструкций могут быть несовместимы :)
Aiwan \ (•◡•) / _bot
чего это с фасмом сложнее?? ты либо ставишь 64 либо нет
Aiwan \ (•◡•) / _bot
а на счет ОС, можно переменную времени компиляции сделаать, типа define и в зависмости от того какой значение, будет компилиться тот или иной участок кода
Aiwan \ (•◡•) / _bot
да и код самого фасма по сути один и тот же, просто есть выбор под какую ось его комплить. так сказать осязависымый код это как обертка, а внутри один и тот же код для всех осей
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
А может решить вопрос на уровне cmake ? Интерфейс то к либе один и тот же вроде как остаться должен.