169 похожих чатов

Да и вроде movzx ecx, [mem] работает быстрее, чем mov

cl, [mem]?

25 ответов

20 просмотров
The Bird of Hermes- Автор вопроса

И это тоже вопрос

Да.

movzx ecx, word[mem] Есть в x86_64 вообще-то. Как и byte[mem]

The Bird of Hermes- Автор вопроса
КТ315
movzx ecx, word[mem] Есть в x86_64 вообще-то. Как ...

А лучше назначением rcx или ecx?

The Bird of Hermes- Автор вопроса
КТ315
movzx ecx, word[mem] Есть в x86_64 вообще-то. Как ...

Я потому и удивился, че это там не так

The Bird of Hermes- Автор вопроса
КТ315
Что не так?

В fastcall у фасма mov cl, param

The Bird of Hermes
В fastcall у фасма mov cl, param

И ты хочешь это переделать в movzx ecx, param ?

The Bird of Hermes- Автор вопроса
КТ315
И ты хочешь это переделать в movzx ecx, param ?

Агась. Я знаю, что сломается передача константы типа byte 25

The Bird of Hermes
Агась. Я знаю, что сломается передача константы ти...

Ну, переделывай. Никаких проблем не будет.

The Bird of Hermes
В fastcall у фасма mov cl, param

А call автоматически выбирает вызов? Или это сам по себе отдельный вызов

The Bird of Hermes- Автор вопроса
The Bird of Hermes- Автор вопроса
КТ315
Только rcx не используй.

Ну тип первый аргумент по соглашению о вызовах

The Bird of Hermes- Автор вопроса
КТ315
rcx а не ecx

А, ну это да

The Bird of Hermes
А, ну это да

param может быть регистром?

The Bird of Hermes- Автор вопроса
The Bird of Hermes
Да

А как там тогда работало mov cl, param? По логике, ты не мог тогда передать регистры больше, чем 1-а байтный. И числа не больше 255.

The Bird of Hermes- Автор вопроса
КТ315
А как там тогда работало mov cl, param? По логике,...

Он там по размеру операнда определяет, какую инструкцию использовать

The Bird of Hermes
Он там по размеру операнда определяет, какую инстр...

А, ну, тогда так: Для 1 байта: mov cl, param Для 2 байт: movzx ecx, param Для 4 байт: mov ecx, param Для 8 байт: mov rcx, param

The Bird of Hermes- Автор вопроса
The Bird of Hermes
А почему для 1 байта не movzx?

Ой, тьфу. Сам себе противоречу. Да, movzx.

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта