Viktor
Ну как ни в каком, в собственном же. 00 - rax, 0F - r15.
Ну как-то странно это называть адресным пространством
Vladimir
Слышал название "регистровый файл". Хотя к файлам тоже никаким боком.
Vladimir
Хотя это языковое скорее.
Aiwan \ (•◡•) / _bot
shl rdx, 32 mov rax, rdx mov eax, ecx последняя команда затирает RAX как этого избежать?
Aiwan \ (•◡•) / _bot
в частности старшую часть rax
Ask
это издержки), or rax, ecx прокатит?
Aiwan \ (•◡•) / _bot
нет, тоже затирает
Ask
ну and rcx ,0xffffffff or rax,rcx
Ask
вместо анд mov rcx,ecx можно тогда наверное
Aiwan \ (•◡•) / _bot
ну and rcx ,0xffffffff or rax,rcx
вот здесь норм
Ask
мов короче если размер важен)
k0rs4r
Там про это явно сказано в доке вообще
k0rs4r
k0rs4r
Aiwan \ (•◡•) / _bot
мов короче если размер важен)
пробовал mov r11, rdx mov r11d,ecx тоже затирает
Ask
нее
k0rs4r
а почему не должно ? 2-я инструкция же с 32-битным операндом
Ask
mov rcx,ecx чтоб обнулить старший дворд перед or
Aiwan \ (•◡•) / _bot
вот здесь норм
вот только вместо 4 байтов расширил до 8
Aiwan \ (•◡•) / _bot
почему эта команда and rcx, 0xffffffffffffffff регистр никкак не меняет а результат с or получается нормальным, как и задумывалось?
k0rs4r
она не должна менять. Потому что в булевой алгебре 1 and 1 = 1 и 1 and 0 = 0
k0rs4r
там же все биты единицы
Aiwan \ (•◡•) / _bot
ну тогда раз не меняет, то если эту команду удалить, то or сраюатывает не так как надо. почему?
Ask
нужно and rcx,0xffffffff а не -1
Ask
ты должен от бнулить старший дворд рсх
Aiwan \ (•◡•) / _bot
и так и так правильно
Ask
нет -1 это 64 бита, если в 63:32 rcx будет чтото оно не затрется и прибавится к rax, поэтому надо только 32 бита оставить
Ask
ну если у тебя в rcx старший дворд 100% 0 то можно без and
Aiwan \ (•◡•) / _bot
значит использование or оптимальнее для копирования младших частей регистра без порчи старшей
Aiwan \ (•◡•) / _bot
спс
Aiwan \ (•◡•) / _bot
по аналогии с х32, работа с младшими частями регистров отличается от х64
Ask
угу, главное не забывай чистить лишнее)
Aiwan \ (•◡•) / _bot
но эт вроде касается только r-регистров
Aiwan \ (•◡•) / _bot
ща проверю
Ask
так imm оно 64бита
Ask
как и m
k0rs4r
А почему настолько важно некоторые операции делать именно 32-битными ?
Ask
32-bit operands generate a 32-bit result, zero-extended to a 64-bit result in the destination general-purpose register.
Aiwan \ (•◡•) / _bot
но эт вроде касается только r-регистров
да вено, все тоже сделать с 32-битными, то все правильно работает, старщая часть e-регистра не затирается
Ask
так что можно вместо and rcx,.. юзать mov rcx,ecx
Aiwan \ (•◡•) / _bot
Ask
)
Anonymous
я так понимаю, в файловых системах работает функционал сродни с динамическим выделением памяти
Anonymous
да?
s54820
я так понимаю, в файловых системах работает функционал сродни с динамическим выделением памяти
Не совсем. При динамическом выделении памяти обычно нужен непрерывный кусок. А в файловых системах фрагментация допустима.
Anonymous
т.к. не нужен скоростной доступ
Anonymous
но, к примеру, в базах данных типа Redis фрагментация уже недопустима, так?
s54820
но, к примеру, в базах данных типа Redis фрагментация уже недопустима, так?
Не знаю, как там в Redis. Можно выделять чанками и память тоже, класть в какой-нибудь связный список, но работать с этим уже сложнее, чем в случае, когда память одним куском.
Anonymous
я очень хочу научиться этому, т.е. самостоятельно реализовать функционал выделения памяти. Со связным списком идея хорошая, мне понравилось
s54820
я очень хочу научиться этому, т.е. самостоятельно реализовать функционал выделения памяти. Со связным списком идея хорошая, мне понравилось
Все еще не понимаю вопроса. Простая реализация маллока в K&R разбирается. И вообще статей полно. Если вопрос в этом, конечно.
Anonymous
да не, я не спрашиваю, как это работает, естественно.
Anonymous
чисто про файловые системы. Ну, потихоньку утрясаю понимание в голове
Vladimir
я очень хочу научиться этому, т.е. самостоятельно реализовать функционал выделения памяти. Со связным списком идея хорошая, мне понравилось
Можно еще организовать пул с перемещениями. Фрагментация отсутствует как класс, но для работы с объектами придется использовать блокировки, да и дополнительная косвенность производительности не добавляет.
⁣no mute
Ребяточки, привет. Есть плюсоведы тут? Чата конкретно по плюсам не нашел.
а как искал
⁣no mute
Загуглил «c++ telegram», на первом же сайте был чат, ссылка на который не активна.
⁣no mute
На гитхабе потерял список.
bilka00
pro.cxx
первая же ссылка
ctrl+f, c++
⁣no mute
Да плевать
⁣no mute
Сам решу
Список чатов с гитхаба хорошо ищется по goq telegram
почти как coq только goq ник того чувака
Vladimir
Да все норм. Хороший сишник обязан уметь работать и с ассемблером и с машинным кодом.
Vladimir
Так что этот чятег тоже тебе гож
⁣no mute
Да все норм. Хороший сишник обязан уметь работать и с ассемблером и с машинным кодом.
Я с ассемблером знаком на уровне «начинающий», да и тупо в реверсе и во вставках его привык встречать
⁣no mute
Не, ну фактически я не против такого чатика, может скоро возьмусь за полноценное обучение асму, по этому да, пригодится.
Anatoly
ты бы уже десять раз вопрос задал, есть не нулевая вероятность помощи прям здесь
⁣no mute
Мне нужен человек, который умеет работать с пайпом и редиректом туда некоторых данных.
⁣no mute
Но я сам
⁣no mute
Всё сам
⁣no mute
Просто неделю уже ночью только прогаю, крыша едет немного и иногда задаюсь вопросом «а что эт я ещё не спросил ни у кого совета?»
⁣no mute
Попытался, не получил, да и фиолетово как-то.
Vladimir
Можешь доступнее объяснить, что ты тут предложил?
Погугли про перемещающие сборщики мусора, идея примерно та же.
Anonymous
сяб, гуглю)
Vitaliy ◀️TriΔng3l▶️
А есть чатик про руби?
bilka00
Недавно я видел чатик про анальные утехи, подойдет?