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
Aiwan \ (•◡•) / _bot
Anonymous
посоветуйте литературу по ядру linux
Eugene
Наконец-то вышли свежие маны Intel SDM, качаем! :)
Co(n)stantine👨🔬
На одногруппницу бывшую похожа.
Valeriy
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
да
Reason
R
Привет, что лучше NASM или GAS ? Недавно у FASM я обнаружил недостаток, он не умеет в отладочные символы в каком бы то ни было известном формате, и следовательно программы написанные на фасме не получается отлаживать в том же gdb. Теперь вот думаю на что лучше перейти?
NoB0dy
nasm, gas вроде уже устарел, если не ошибаюсь
R
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
Вот такие названия мне нужны!
Eugene
Ask
и гугл грит еще потыкать IOCTL_STORAGE_QUERY_PROPERTY можно
Eugene
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
Aiwan \ (•◡•) / _bot
а когда просишь скинуть бинарник скомпиленной проги для отладки, там такой ад творится, что невозможно разобраться и пропадает желание как либо помочь
Aiwan \ (•◡•) / _bot
для масма (и его форков) я пользуюсь вот этим
Eugene
Герман
Я имел ввиду, что если кодить на постоянке , то постоянно писать тонны кода для ввода и вывода на асме жёстко , можно и так как вы предлагаете.
Aiwan \ (•◡•) / _bot
Герман
Как раз таки связан
Aiwan \ (•◡•) / _bot
Eugene
Герман
Пакет есть а sasme
Aiwan \ (•◡•) / _bot
Как раз таки связан
скажи, что такое printf во втором видео чувака, котого ты скинул?
Aiwan \ (•◡•) / _bot
Пакет есть а sasme
он грузится отдельно или уже имеется в самом установщик?
Герман
Так и нотепад хорош, каждому свое , я просто показал и все
Герман
Вот тут точно не помню, у меня уже просто стоял masm32 , поэтому мб скипнуло
Aiwan \ (•◡•) / _bot
Вот тут точно не помню, у меня уже просто стоял masm32 , поэтому мб скипнуло
стоял, ибо масм32 нельзя распростронять вместе с другими продуктами, как вариант указывать ссылку на сайт для скачки самому либо через тот же инсталятор. асмы которые можно распростронять (fasm gas nasm) находятся непосредственно в инсталяторе, точно так же как и на гитхабе. в твоём случае надо было говорить "как хорош пакет masm32, в нем есть все необходимое для быстрого написания прог - макросы, библиотеки, примеры, разнообразные инструменты, хелпы и т. д."
Ask
радасм форева, особенно за умение гуй рисовать)
Eugene
Far Manager для труЪ.
NoB0dy
Norton
Eugene
debug.com :)
Eugene
Про сайт не знаю. Тулза такая была. Думаю, знаешь сам :)