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

MOVSB - это команда ассемблера, используемая в процессорах семейства x86

для копирования одного байта данных из операнда источника в операнд приемник.
В зависимости от режима исполнения программы 16-ти, 32-х или 64 битный будет зависеть и использование регистров источника и приемника SI:DI ESI:EDI RSI:RDI соответственно

В зависимости от состояния флага df изменить значение регистров источника и приемника:
- если df=0, то увеличить содержимое этих регистров на длину структурного элемента последовательности;
- если df=1, то уменьшить содержимое этих регистров на длину структурного элемента последовательности

Также может использоваться префикс повторения.
Существует несколько типов префиксов повторения:

REP - Повторять команду, пока ЕСХ > О
REPZ,REPE - Повторять команду, пока ЕСХ > О и флаг нуля установлен (ZF =1)
REPNZ,REPNE - Повторять команду, пока ЕСХ > О и флаг нуля сброшен (ZF = 0)


Такое определение можно считать правильным ?

8 ответов

25 просмотров

Да.

Max- Автор вопроса
КТ315
Да.

Спасибо большое! Завтра на экзамене очень пригодится )

Max
Спасибо большое! Завтра на экзамене очень пригодит...

Хотя, не совсем. Подправь начало, вот так: MOVSB - это мнемоника опкода (0xA4) из языка ассемблера, используемая в процессорах семейства x86 для копирования одного байта данных из операнда источника в операнд приемник.

Max- Автор вопроса

MOWSB - мнемоника опкода (0xA4) MOWSW - мнемоника опкода (0xA5) MOWSD - мнемоника опкода (0xA6) MOWSQ - мнемоника опкода (0xA7) Правильно понимаю?

Max
MOWSB - мнемоника опкода (0xA4) MOWSW - мнемоника ...

Да. А вот опкод — это уже инструкция\команда процессора. Но зачастую называют сами опкоды командами процессора, это неправильно (хотя и не критично)

Max
MOWSB - мнемоника опкода (0xA4) MOWSW - мнемоника ...

Подожди, у тебя у MOVSQ неправильный опкод. У x86_64 должна быть приставка REX у опкодов (которые работают с 64-х битными регистрами), вот так: 48:A5 (0x48A5 - в HEX) А movsw и movsd имеют одинаковый опкод 0xA5, однако в 32-х битном окружении (или в x86_64) movsw будет закодирован с приставкой 66 (0x66A5) По итогу: MOWSB - мнемоника опкода (0xA4) MOWSW - мнемоника опкода (0x66:A5) MOWSD - мнемоника опкода (0xA5) MOWSQ - мнемоника опкода (0x48:A5)

Ещё стоит добавить, что на 16-ти и 32-ух битных архитектурах для адресации источника используется ds, а приёмника - es сегментные регистры

Max
MOWSB - мнемоника опкода (0xA4) MOWSW - мнемоника ...

Тут похоже на дичь, movsb имеет свой опкод остальные разделяют какой-то другой, но он рядышком, их различают по префиксам

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта