Eugene
Парни, правильно понимаю, что если я хочу обновить квант времени под текущий поток под виндой, нужно сделать Sleep(0), а не SwitchToThread ? Это же сработает? Т.е. нужно сделать так, чтобы последующий код работал некоторое (небольшое) кол-во времени без переключений контекста.
Eugene
Как я понял, основная разница в том, что SwitchToThread не будет переключать контекст на процесс с более низким приоритетом (в отличие от Sleep(0)), что бессмысленно, если я установил высокий приоритет текущего потока. Однако, это не защитит меня от того, что ОС может в любом момент переключить выполнение с моего потока на поток с более низким приоритетом. Она же может? :)
Eugene
Или наоборот Sleep(0) не переключает на потоки с более низким приоритетом? Что-то в разных местах разная инфа...
Anonymous
есть какие то учебники или интересная литература по aarch64 ?
Anonymous
.section .data msg: .byte "HACKER",0x0a .section .text .global _start _start: mov x0,0x5555 movk x0,0x6547,lsl 16 bfi x5,x0,20,7 mov x8,0x40 mov x0,0x01 adr x1,msg mov x2,7 svc 0x80 mov x8,0x5d svc 0x80
Anonymous
.\prog.asm:3: Error: cannot represent BFD_RELOC_8 relocation in this object file format
Eugene
NoB0dy
.\prog.asm:3: Error: cannot represent BFD_RELOC_8 relocation in this object file format
Может .global _start надо до сегмента кода объявить
Aiwan \ (•◡•) / _bot
еще обнова
и еще одна
Anonymous
посоветуйте литературу по ядру linux
Eugene
Наконец-то вышли свежие маны Intel SDM, качаем! :)
Vladimir
xk8.ru/inteldoc
Лучше начинать изучать с мануалов на i386
­
На одногруппницу бывшую похожа.
Eugene
У кого-нибудь есть дока/ссылка на список всех микроархитектур и codenames процессоров Intel и AMD и соответствующие им Family/Model/Stepping из CPUID. Пока только вот такая дока нашлась по Intel: https://www.intel.com/content/dam/www/public/us/en/documents/corporate-information/SA00233-microcode-update-guidance.pdf
Eugene
Про cpuid. Кто-нибудь знает, какое наименьшее значение максимального номер "листа" cpuid существует в реальных процессорах? Т.е. eax=0/cpuid возвращает в eax максимальный номер (без учёта 0x80000000+ и т.п.). Соответственно, при запросе какого-либо "листа" мы должны сравнивать его номер с этим значением, чтобы проверить, существует ли этот "лист". Но есть ли смысл проверять существование первого "листа" или eax=1/cpuid всегда работает? А eax=2...? И т.д. Как обстоят дела? Полагаю, нужно смотреть на самые старые компы, где этот cpuid появился (i80486 вроде и какой там AMD был?) Есть инфа на этот счёт?
Eugene
В первую очередь eax=1 интересует, остальные можно и проверить. Ну и 0x80000001, конечно, тоже, чего уж там :)
Aiwan \ (•◡•) / _bot
типа этого?
Aiwan \ (•◡•) / _bot
типа этого?
https://board.flatassembler.net/topic.php?t=20722 мож там че полезное есть
Marsel
кто нибудь в курсе почему может быть что 4g модем после разблокировки и смены imei перестал звонки принимать ?
Aiwan \ (•◡•) / _bot
модем, звонки?
Marsel
да
Eugene
https://board.flatassembler.net/topic.php?t=20722 мож там че полезное есть
Гляну, спс, но меня интересует уровень, который гарантировано есть в любом процессоре.
R
Привет, что лучше NASM или GAS ? Недавно у FASM я обнаружил недостаток, он не умеет в отладочные символы в каком бы то ни было известном формате, и следовательно программы написанные на фасме не получается отлаживать в том же gdb. Теперь вот думаю на что лучше перейти?
NoB0dy
nasm, gas вроде уже устарел, если не ошибаюсь
R
nasm, gas вроде уже устарел, если не ошибаюсь
хм, как он мог устареть, если асм вставки с си можно делать только на нем?
s54820
хм, как он мог устареть, если асм вставки с си можно делать только на нем?
Асм-вставки тоже устарели. Хочешь писать на асме — пиши функции целиком. Не хочешь — не мешай компилятору писать за тебя.
R
окей, буду смотреть в сторону nasm'а..
R
Кстати, nasm хорошо умеет в x86-64 ? Просто где-то читал, что он поддерживает якобы не все инструкции, но сталкивался ли кто-нибудь с этим на практике?
Eugene
Как GAS может устареть, если код C/C++ с опцией -S транслируется в GAS? А так без разницы, ИМХО, что учить. Я лично GAS не шибко хорошо знаю, но там как минимум можно писать как в Intel, так и в AT&T синтаксисе. Про NASM поддерживает не все инструкции — ИМХО, брехня.
Eugene
Вот список: https://www.nasm.us/doc/nasmdocb.html Плюс, можно указывать размер константы в адресе, выбирать абсолютную/относительную адресацию (где можно в x64) и т.п.
R
ясно, пасибо
­
https://t.me/proasm/21764
Eugene
Подскажите, как получить имя физического диска под виндой? Скажем, есть "\\.\PhysicalDrive0", мне получить прошитое в устройстве имя. Наверняка же есть какой-то DeviceIoControl, только никак найти не могу... К примеру, если ввести команду wmic diskdrive list brief, мы увидим в столбцах Caption и Model что-то вроде такого: JetFlash Transcend 16GB USB Device ST2000DM006-2DM164 ST31000528AS ST2000DM001-1CH164 PLEXTOR PX-128M6Pro USB DISK 2.0 USB Device USB2.0 Flash Disk USB Device Вот такие названия мне нужны!
Ask
Как опрашивать?
иоконтролом читать смарт можно вроде
Ask
и гугл грит еще потыкать IOCTL_STORAGE_QUERY_PROPERTY можно
Eugene
и гугл грит еще потыкать IOCTL_STORAGE_QUERY_PROPERTY можно
Да, я тоже наткнулся на такое, но засомневался...
Eugene
Разобрался. Да, нужен IOCTL_STORAGE_QUERY_PROPERTY. Запрос StorageDeviceProperty, поле ProductIdOffset.
Герман
Добрый день, представляю вашему вниманию замечательную программу под названием SASM
Герман
https://ru.wikipedia.org/wiki/SASM
Герман
https://dman95.github.io/SASM/english.html - это ссылка на скачивание с офф сайта, программа очень удобная и доступна os Windows и Linux
Герман
В роликах парень демонстрирует как все работает и как установить и настроить
Герман
https://www.youtube.com/watch?v=4wArC2ac0mU
­
Оформил бы это одним постом.
Герман
Во втором ролике этот парень показывает как в одну строчку Вводить и выводить значения как в C++,С## и тп , с помощью одной библиотеки
Герман
так же если возникнут какие-то вопросы, то и можно задать этому парню в комментах, он отвечает, мне ответил, это не реклама, а рекомендация одного из лучших программных средств для записи кода на асме
Aiwan \ (•◡•) / _bot
https://ru.wikipedia.org/wiki/SASM
Программа работает «из коробки» и хорошо подходит для начинающих изучать язык ассемблера. пробовал из коробки запустить фасм, так ине получилось
Aiwan \ (•◡•) / _bot
Во втором ролике этот парень показывает как в одну строчку Вводить и выводить значения как в C++,С## и тп , с помощью одной библиотеки
это не прироготива данного редактора, а наличие доступа к этой библиотеке из ассемблера
Aiwan \ (•◡•) / _bot
Во втором ролике этот парень показывает как в одну строчку Вводить и выводить значения как в C++,С## и тп , с помощью одной библиотеки
в одну строчку писать код новичкам лучше учиться писать мнемоники инструкций, а не макросы, которые новички не знают во что превращаются. а потом путают что есть макрос, что функция, а что мнемоника инстукции
Aiwan \ (•◡•) / _bot
а когда просишь скинуть бинарник скомпиленной проги для отладки, там такой ад творится, что невозможно разобраться и пропадает желание как либо помочь
Aiwan \ (•◡•) / _bot
вот, это круче
для масма (и его форков) я пользуюсь вот этим
Aiwan \ (•◡•) / _bot
+ Смысл изучать асм и писать макросами? Уж лучше тогда на Питоне, ну или на Сях писать.
да макросами то можно, просто надо понимать во что они превращаются, чтоб при отладке (хотя бы) не удивляться "че за отладчик глючный, я же это не писал"
Eugene
да макросами то можно, просто надо понимать во что они превращаются, чтоб при отладке (хотя бы) не удивляться "че за отладчик глючный, я же это не писал"
Лучше написать самому этот макрос :) Ну или изучить хорошенько хотя бы. С другой стороны, есть, конечно, библиотечные функции типа printf и т.д. Но самому тоже надо уметь делать такое, ИМХО.
Герман
Я имел ввиду, что если кодить на постоянке , то постоянно писать тонны кода для ввода и вывода на асме жёстко , можно и так как вы предлагаете.
Aiwan \ (•◡•) / _bot
Я имел ввиду, что если кодить на постоянке , то постоянно писать тонны кода для ввода и вывода на асме жёстко , можно и так как вы предлагаете.
поэтому и есть такой пакет как masm32, и он никак не связан с sasm, который ты советуешь как супер-пупер-мега-ультра ide для асма (я утрирую)
Герман
Как раз таки связан
Aiwan \ (•◡•) / _bot
Герман
Пакет есть а sasme
Aiwan \ (•◡•) / _bot
Как раз таки связан
скажи, что такое printf во втором видео чувака, котого ты скинул?
Aiwan \ (•◡•) / _bot
Пакет есть а sasme
сасм, это простой редактор, как notepad
Aiwan \ (•◡•) / _bot
Пакет есть а sasme
он грузится отдельно или уже имеется в самом установщик?
Герман
Так и нотепад хорош, каждому свое , я просто показал и все
Герман
Вот тут точно не помню, у меня уже просто стоял masm32 , поэтому мб скипнуло
Aiwan \ (•◡•) / _bot
Вот тут точно не помню, у меня уже просто стоял masm32 , поэтому мб скипнуло
стоял, ибо масм32 нельзя распростронять вместе с другими продуктами, как вариант указывать ссылку на сайт для скачки самому либо через тот же инсталятор. асмы которые можно распростронять (fasm gas nasm) находятся непосредственно в инсталяторе, точно так же как и на гитхабе. в твоём случае надо было говорить "как хорош пакет masm32, в нем есть все необходимое для быстрого написания прог - макросы, библиотеки, примеры, разнообразные инструменты, хелпы и т. д."
Aiwan \ (•◡•) / _bot
Пакет есть а sasme
также можно сказать и об visualmasm
Ask
радасм форева, особенно за умение гуй рисовать)
Eugene
Far Manager для труЪ.
NoB0dy
Norton
Eugene
debug.com :)
­
debug.com :)
Сайт о комарах?
Eugene
Про сайт не знаю. Тулза такая была. Думаю, знаешь сам :)