Aiwan \ (•◡•) / _bot
#book AMD64 Architecture Programmer’s Manual Volume 1 Application Programming
Aiwan \ (•◡•) / _bot
#book AMD64 Architecture Programmer’s Manual Volume 2 System Programming
Aiwan \ (•◡•) / _bot
#book AMD64 Architecture Programmer’s Manual Volume 3 General Purpose and System Instructions
Aiwan \ (•◡•) / _bot
#book AMD64 Architecture Programmer’s Manual Volume 4 128-bit and 256 bit media instructions
Aiwan \ (•◡•) / _bot
#book AMD64 Architecture Programmer’s Manual Volume 5 64-Bit Media and x87 Floating-Point Instructions
Aiwan \ (•◡•) / _bot
#book Compiler Usage Guidelines for AMD64 Platforms Application Note
Aiwan \ (•◡•) / _bot
#book Software Optimization Guide for AMD64 Processors
Eugene
🔥
­
Сейчас будет сложная шутка.
Eugene
Но ссылки, ИМХО, лучше, т.к. эти доки устаревают со временем. Плюс это не все доки, на сайте больше. Intel: https://software.intel.com/en-us/articles/intel-sdm AMD: https://developer.amd.com/resources/developer-guides-manuals/
­
#book Software Optimization Guide for AMD64 Processors
А есть такие же, но для Интел?
Eugene
А есть такие же, но для Интел?
https://software.intel.com/en-us/articles/intel-sdm#optimization
Eugene
Всё та же ссылка :)
Eugene
Ну и заодно вот это очень полезная страница (как раз по оптимизации): https://www.agner.org/optimize/
bilka00
блиин это как кусок ядра винды переписать самому
Не знаю почему они у тебя не пашут
bilka00
В свое время отлично все запускал
bilka00
Вот с 64 битным кодом есть заморочки, но в остальном все изи
bilka00
Ну и пожалуй стоит сказать что криптор с мапингом exe плохая идея
bilka00
Хорош тот криптор что вмешивается внутрь исполняемого файла, и работает там. По принципу протекторов
R
Хорош тот криптор что вмешивается внутрь исполняемого файла, и работает там. По принципу протекторов
который шифрует секции и добавляет код расшифровщика в секцию кода который расшифрет и сделает джамп?
bilka00
Ещё надо поиздеваться над кодом, где то динамический его разширововать в момент исполнения, где то замусорить, где то завиртуализировать
R
жесть
R
понятно
Anton
Всем привет У меня есть задача сложить 2 вектора Написал примерное решение, но оно почему то не работает Где может быть ошибка? ;Сорокин dseg segment para public 'data' n1 dw 6,2,1,3,1,1 n2 dw 2,1,2,1,4,3 n3 dw 0,0,0,0,0,0 dseg ends sseg segment para stack 'stack' db 256 dup (0) sseg ends cseg segment para public 'code' main proc near assume cs:cseg,ds:dseg,ss:sseg add bx, n1 add dx, n2 add di, n3 mov cx, 6 push ds pop es r: mov ax, bx add ax, dx stosw add bx, 2 add dx, 2 loop r mov ax,4C00H int 21H main endp cseg ends end main
Leon
Обнули регистры перед использованием
Anton
Обнули регистры перед использованием
dseg segment para public 'data' x dw 6,2,1,3 y dw 2,1,2,1 z dw 0,0,0,0 dseg ends sseg segment para stack 'stack' db 256 dup (0) sseg ends cseg segment para public 'code' main proc near assume cs:cseg,ds:dseg,ss:sseg start: mov ax,dseg mov ds,ax mov es,ax lea si, x lea bx,y lea di,z mov cx,4 M1: lodsb; получить в регистр AL элемент из массива X add al,[bx]; сложить с элементом из массива Y stosb ; отправить сумму в массив Z inc bx loop M1 mov ax,4C00H int 21H main endp cseg ends end main
Anton
А теперь у меня почему то в памяти остается только 3 символа из 6
Anton
работает правильно, но не со всем массивом до конца
Anton
Т.е. в выводе получаю только 8 3 а надо 8 3 3 4
Anton
О, все получилось
Aiwan \ (•◡•) / _bot
а вектор это разве не вещественное XYZ?
Pol
Всем привет. Вопрос по Си, Если работать со строками, то такая запись *buff++ работает быстрее, чем обращение по индексу?
usernameak
с оптимизациями я думаю одинаково
Aiwan \ (•◡•) / _bot
Всем привет. Вопрос по Си, Если работать со строками, то такая запись *buff++ работает быстрее, чем обращение по индексу?
слушай, так если ты си знаешь, подскажи как в Autocad 2017 сгладить изолинии для 500 масштаба? и есть ли там способ автоматической расстановки бергштрихов?
­
И вообще:
­
Pol
с оптимизациями я думаю одинаково
Оказывается, нет. Чем меньше переменных, тем быстрее код.
Aiwan \ (•◡•) / _bot
@lame_c
Pol
Pol
usernameak
Оказывается, нет. Чем меньше переменных, тем быстрее код.
оптимизатор их в 90% случаев приведет к одному виду
Eugene
Всем привет. Вопрос по Си, Если работать со строками, то такая запись *buff++ работает быстрее, чем обращение по индексу?
Играйся: godbolt.org Там и компиляторы можно выбирать, и ключи компиляции можно задавать, и сравнивать 2 кода рядышком.
Eugene
@lame_c
Есть местные чаты: @supapro (для начинающих), @procxx (для профи)
Aiwan \ (•◡•) / _bot
а по си есть?
Eugene
Там вроде один общий. Спроси прямо там, я не помню, давно не общался там.
Aiwan \ (•◡•) / _bot
@lame_c
я просто указал чат по си для начинающих, а не ++
Eugene
Хорошо :)
Eugene
Правда, народа там меньше на порядок. Но тоже почему бы и нет?
Pol
Есть местные чаты: @supapro (для начинающих), @procxx (для профи)
Я уже разобрался. Всё решает оптимизация.
R
думаю чайникам полезно будет https://www.youtube.com/watch?v=efYneVDdM1E
Aiwan \ (•◡•) / _bot
думаю чайникам полезно будет https://www.youtube.com/watch?v=efYneVDdM1E
признавайся, твоё видео? 1 подписчик, 18 просмотров, видео выложено час назад
Aiwan \ (•◡•) / _bot
Запускай вычислятор!
да по айпишнику уже проверил, хочу узнать, признает или нет
bilka00
bilka00
какой нафиг сишный код
електр🟢нік ✙🟠рчбеч ඞ
код вполне сишный
електр🟢нік ✙🟠рчбеч ඞ
а вот автр дилетант
bilka00
Я о том что какие основы реверса начиная из иды и сишного кода
bilka00
где базовый асм
bilka00
Еще и код на питоне забавный
bilka00
какой range когда на вход отдаешь статический массив
bilka00
или как там в питоне его называют
bilka00
for i in list() вроде не зря придумали
електр🟢нік ✙🟠рчбеч ඞ
нe ну там нужен как минимум enumerate()
bilka00
а стоп, ладно. Это я обосрался
bilka00
по классике так сказать
JeisonWi
И есть аналог для пользователей Emacs - https://github.com/emacsmirror/rmsbolt
JeisonWi
Eugene
Ничё не видно :) На компе, по крайней мере.
JeisonWi
JeisonWi
На телефоне всё ок.
Eugene
На телефоне всё ок.
Очень мелко, я вот к чему.
­
А вот и школьники попёрли...