Почему неправильно использовать два операнда памяти в команде movx в x86? Есть ли какие-либо проблемы с оборудованием?Использование двух операндов памяти в x86
ответ
память - только память. Он не знает, как перемещаться вокруг - это то, что делает процессор, поэтому вы 1) копируете из памяти в CPU и 2) из CPU обратно в память. Инструкция mov делает это.
Проводка команды mov внутри ЦП должна быть более сложной, поэтому она может косвенно делать обе эти вещи, вероятно, не принесет никакой пользы.
Более специализированная инструкция MOVS
может перемещаться между двумя инструкциями памяти, хотя для этого требуется 2 регистра, поэтому часто бывает полезно, если вам нужно сохранить эти регистры.
Существуют и другие устройства, такие как двигатель DMA, которые могут выгрузить нагрузку от CPU.
Аппаратная проблема заключается в том, что набор инструкций не имеет таких инструкций.
ЦП может, конечно, быть расширен с инструкциями, позволяющими использовать два операнда памяти, но Intel этого не сделала, потому что на самом деле это не принесло бы большой пользы. Почему они?
- 1. asm использование операндов местоположения памяти
- 2. x86 операнды памяти памяти
- 3. Освещенность операндов памяти памяти
- 4. x86: использование значений памяти/обмена?
- 5. Конфликт размеров операндов в x86 Assembly?
- 6. Недопустимая комбинация опкода и операндов? (X86 DOS)
- 7. x86 - изучение памяти
- 8. x86 ошибка сегментации памяти
- 9. памяти - дос сборки x86
- 10. Размер переменных в памяти x86
- 11. Использование памяти при компиляции в x64 с сборками x86
- 12. Являются ли команды bts, btr, btc атомарными для операндов памяти?
- 13. Ограничение памяти для микропроцессоров x86
- 14. x86 Распределение Procedure Call Памяти
- 15. Признание типов операндов из сборника синтаксиса intel x86
- 16. Путаница в сегментации памяти в x86
- 17. Использование логических операндов в javascript с объектами
- 18. Использование x64 dll в приложении x86
- 19. Использование C2DM в Android-x86
- 20. x86 использование частичного регистра
- 21. x86-64 Использование LFENCE
- 22. craft handmade x86 сборка в выделенной памяти
- 23. распределение памяти в x86 Язык ассемблера
- 24. Использование ntop Win32 x86
- 25. Добавление двух больших чисел в сборке x86
- 26. x86 сборка, как добавить переменные, хранящиеся в памяти?
- 27. Использование двух указателей после выделения памяти в функции
- 28. Использование памяти в двух графических процессорах (Multi GPU)
- 29. проверка доступа к памяти сборка x86-64
- 30. 32b x86 сборка scanf использование
Для полноты инструкции PUSH и POP могут также использоваться для копирования из памяти в память. – Sparky