Что означает movl?

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Что означает movl?

Re: Что означает movl?

Сионист » 03 апр 2017, 19:34

somewhere писал(а):Архитектура интел (Intel Architecture), которая из семейства x86. Просто люди все время путают архитектуру и семейство процессоров.
Нет. IA - это x86 32. Тоже интелловская архитектура и даже с оригинальной x86 совместимая, но другая. Потомок x86, а не сама x86. А есть ещё IA 64 (реализована в итаниуме), тоже интелловская архитектура, но ни с x86, ни с x86 32 нифига не совместима.

Re: Что означает movl?

Сионист » 03 апр 2017, 19:25

Слива писал(а):Очень сильно непонравилось то, что операнды идет слева направо, а не справа налево, как принято в стандартной архитектуре Intel.
Не в архитектуре, а в ассемблере от intel. Ассемблер at&t собирает тот же самый код в системе команд intel, форматы опкодов ни как с синтаксисом не связаны. Кстати, movl - это разновидность mov для длинных операндов, если все регистры имеют одну разрядность, то суффикс l не имеет смысла. И в неизвестной даже викепедии архитектуре этой команды быть как раз не должно, а в x86 32 она есть. Потому что там есть и тридцатидвухбитные регистры, и накладывающиеся на их младшие слова шестнадцатибитные и даже накладывающиеся на старшие и младшие байты младших слов длинных регистров маленькие восьмибитные. Суффикс b означает байт, w - слово (помните: "в начале было слово и слово было два байта"? Так вот, это оно), l - двойное слово. В intel синтаксисе версия команды определяется по операндам, а если это не возможно, то для конкретизации используется специальная конструкция, входящая в операнд.

Re: Что означает movl?

Сионист » 03 апр 2017, 19:15

Слива писал(а):Спасибо за ответ. Я нашел вчера в Интернет что это команда для Linux(может быть даже буква l в этой команде означает Linux) и это соответствует истине. Эту команду я взял из программы для Linux. Очень сильно непонравилось то, что операнды идет слева направо, а не справа налево, как принято в стандартной архитектуре Intel.
Не бывает специальных ассемблерных команд для linux, для винды, или для TR-DOS.

Re: Что означает movl?

Сионист » 03 апр 2017, 19:12

somewhere писал(а):Это команда архитектуры Y86
А что это за архитектура? Что то новое? Или только разрабатываемое?

Re: Что означает movl?

somewhere » 28 дек 2016, 15:37

Архитектура интел (Intel Architecture), которая из семейства x86. Просто люди все время путают архитектуру и семейство процессоров.

Re: Что означает movl?

Слива » 28 дек 2016, 14:21

Ну, Linux, это не процессор, имеется ввиду компилятор ассемблерного кода для Linux. Что такое IA-32(никак не могу понять)?

Re: Что означает movl?

somewhere » 28 дек 2016, 11:00

Ну, Linux - это не процессор. Вероятно, этот код компилируется все таки в нормальный IA-32. А если нет (что скорее всего) - значит он генерит свой байткод, который потом в зависимости от процессора этой ОС переводит это в инструкции целевой системы. Типа Java, только более низкоуровневый.

Re: Что означает movl?

Слива » 28 дек 2016, 10:47

Спасибо за ответ. Я нашел вчера в Интернет что это команда для Linux(может быть даже буква l в этой команде означает Linux) и это соответствует истине. Эту команду я взял из программы для Linux. Очень сильно непонравилось то, что операнды идет слева направо, а не справа налево, как принято в стандартной архитектуре Intel.

Re: Что означает movl?

somewhere » 28 дек 2016, 10:32

Это команда архитектуры Y86
Как лично я это понимаю: это упрощенная архитектура, основанная на х86 (IA-32) с целью обучения ассемблеру. Регистров там меньше, все они 32-разрядные, есть стек, базовые математические и логические инструкции.
Более простое кодирование команд, хотя и не совсем оптимальное.
http://cs.slu.edu/~fritts/CSCI224_S12/s ... ro-Y86.pdf

Что означает movl?

Слива » 27 дек 2016, 12:19

Здравствуйте. Что означает команда movl? Дайте, пожалуйста, ссылку на описание команды или опишите здесь.

Вернуться к началу