🦥Alex Fails
@AlexFails прийде к нам, Князь Тьмы!
в принципе, можно попробовать, но я за золотую середину: сильно не выражаться, но если припекло, то норм.
имхо, одна из самых адекватных конференций
Aiwan \ (•◡•) / _bot
Aiwan \ (•◡•) / _bot
самодостаточная IDE для masm (16,32,64)
Дмитрий
Лучше radasm?
Aiwan \ (•◡•) / _bot
считай аналог
Aiwan \ (•◡•) / _bot
там справка харошая
Aiwan \ (•◡•) / _bot
по асму?)
по масм, винапи, встроенная, имхо
Aiwan \ (•◡•) / _bot
глюков много ловлю, так что мож радасм и лучше
Aiwan \ (•◡•) / _bot
в пизду, недописана она. хоть багрепорты строчи автору. MasmEd наверное самое оптимальное
Aiwan \ (•◡•) / _bot
#book masm v6.1 (eng)
Aiwan \ (•◡•) / _bot
Aiwan \ (•◡•) / _bot
Ask
радасм нашевсе)
Aiwan \ (•◡•) / _bot
MasmEd упрощенный радасм, но только для масм
Aiwan \ (•◡•) / _bot
#book Скляров masm32
Aiwan \ (•◡•) / _bot
кто нить подскажет, с какой версии masm эти строки не работают?
Artem
Может кому нужно ))
Aiwan \ (•◡•) / _bot
https://board.flatassembler.net/topic.php?t=20753 отладка fasm кода с символами в x64dbg
Aiwan \ (•◡•) / _bot
из недостатков, не работает х64 версия, кто может проверте на своей машине
bilka00
bilka00
дествительно на первый взгляд не умеет
bilka00
Но обычно я отлаживаю fasm без дебаг символов
bilka00
инты3 наше все
Aiwan \ (•◡•) / _bot
Ask
зачем асму вообще отладочные символы? map и все
Eugene
Нормалёк. Главное, не забыть выбрать Модули → xFasConv → Load symbols.
Aiwan \ (•◡•) / _bot
Нормалёк. Главное, не забыть выбрать Модули → xFasConv → Load symbols.
... и еще сделать этот fas командой build symbols в fasmw, или другим способом
Eugene
Добавил коммент про x64.
🦋
Всем привет хелпаните пожалуйста, мне нужно сделать функцию, допустим: void calc(float *arr, int) // буду вызывать ее из Си кода — 1) Правильно ли я понимаю, что для работы над float числами, нужно их сначала записывать в floating point unit (FPU) регистры, то есть в регистаы st0, st1 ... и дальше уже применять всякие операции над ними? 2) Если так, то как должен выглядеть воркфлоу? Вот я передаю массив флоатов в свою x86 функцию calc, дальше я так понял нужно использовать fld dword [rdi] для записи в st0 и в конце обратно записываю величину в свой массив fst dword [rdi]. Или как-то это иначе все делается? NASM, X86_64
🦋
Просто времени мало, я так со всех ресурсов пытаюсь сформировать картину для выполнения задачи
електр🟢нік ✙🟠рчбеч ඞ
но если с помощью х87 то так
🦋
но если с помощью х87 то так
Ну для лабораторки я думаю это же не грех на 87 написать?
електр🟢нік ✙🟠рчбеч ඞ
норм
Eugene
Скорее всего, передаёшь указатель на массив, а не сам массив. Если адрес массива в rcx, то fld dword [rcx] — читать; fstp dword [rcx] — писать. Второй элемент — [rcx+4].
Eugene
rbx rsi, rdi, rbp, r12-r15 лучше не использовать для записи без надобности, ибо их нужно сохранять.
Aiwan \ (•◡•) / _bot
А не, все правильно, они твои а не 'системные'
🦋
The only registers that the called function is required to preserve (the calle-save registers) are: rbp, rbx, r12, r13, r14, r15. All others are free to be changed by the called function.
🦋
Eugene
rsi - это ж аргумент, why его нужно сохранять
Это в Linux аргумент, а в винде нет. Хотя, он не уточнил ОС.
Eugene
Соглашения разные
🦋
Соглашения разные
Кого-то в этом мире винда вообще интересует?)) Спасибо!
🦋
fld dword [rcx] - это если rcx содержит адрес, а если там будет значение записано, то какую инструкцию использовать?
Eugene
Кого-то в этом мире винда вообще интересует?)) Спасибо!
Процентов 90 людей всего-то лишь. А так нет, кончено.
🦋
лан 89)
🦋
А, то есть через стэк
🦋
понял
🦋
спасибо
Eugene
В x64 всегда поддерживается SSE2, так что можно проще: movq xmm0,rcx
Eugene
Но если нужен fpu, тогда увы и ах, стек наше всё. Ну или переменная какая-нибудь (глобальная).
🦋
Я наоборот думал, что с SSE2 еще разбираться придется
Eugene
Это fastcall
В x64 единое соглашение в пределах одной ОС (Win, Lin). Там нет stdcall, cdecl, pascal и пр.
Eugene
Реф: https://www.agner.org/optimize/calling_conventions.pdf
tanjmaxalb
Не совсем вопрос по асму, а точнее по винапи. Пишу билд-сервер. Нужно интерактивно пускать выхлопы от сборки обратно к клиенту. Как можно извернуться в таком случае? Ничего кроме редиректа в буффер или файл не нашел. Есть идеи только с подменой функции в таблице импорта. Но учитывая, как тернисто устроен вывод в винде, оставил вариант на крайний случай
­
Заколебали эти ананистусы...
пробел - тоже символ
Eugene
Может, это non-breaked space (или как его там?)
s54820
Может, это non-breaked space (или как его там?)
Нет, там пробелы из корейского, которые технически не пробелы, поэтому телеграм их не удаляет.
Eugene
О, мне такой нужен, чтоб некоторые проги обманывать :)
Ivan
гайз, а можете глянуть одним глазком на вот такой дизасемблер джавовый? https://stackoverflow.com/questions/54316528/redundant-store-in-jit-disassemble я правильно понимаю что стор тут лишний?
Ivan
заранее спасибо
Aiwan \ (•◡•) / _bot
Aiwan \ (•◡•) / _bot