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

Мне нужно сложить N и i (N - слово, i

-байт). Корректно ли так делать?

mov ax, N
cbw
add i, al

12 ответов

19 просмотров

Вот этот cbw вообще к чему?

mov ax, N xor dh, dh mov dl, i add ax, dx или может с movzx вместо xor

Ыиу- Автор вопроса
КТ315
Вот этот cbw вообще к чему?

Расширил al до ax, чтобы потом al сложить. Или в старший байт aх ничего не попадет и все будет в младшем?

Ыиу
Расширил al до ax, чтобы потом al сложить. Или в с...

Ты уже в AX значение положил, зачем там что-то расширять?

А смысл тебе расширять до слова, если ты с al складываешь

КТ315
movzx ax, i add N, ax

Разве movzx не медленная?

КТ315
Какая разница?

Ну тип... Привыкать писать оптимальный код...

The Bird of Hermes
Ну тип... Привыкать писать оптимальный код...

В условии не говорится, про какой процессор речь. Так что без разницы.

КТ315
В условии не говорится, про какой процессор речь. ...

Хм? А на современных процах она не медленнее?

The Bird of Hermes
Хм? А на современных процах она не медленнее?

Нет. movsx = 4 xor = 1 + mov r8, m8 = 4 = 5. На современных процессорах вообще худшее, что можно сделать - это работать с 8-ми байтными регистрами. Процессору приходится их постоянно сливать.

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

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

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Заметил в ghci 9.4.8: > :t (<*>) @((->)_) (<*>) @((->)_) :: (w -> (a -> b)) -> (w -> a) -> w -> b Разве не должно (w -> (a -> b)) быть записано как (w -> a -> b)? Это баг, ил...
Михаил
13
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Any electron dev here?
Sayanth Tezro
12
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
так это может кто что знает или использует что-то как макбук только не макбук? на 13…14 дюймов
Michael
9
Карта сайта