+ Ответить в теме
Показано с 1 по 10 из 10

Тема: Что означает movl?

  1. #1
    developer Слива is on a distinguished road
    Регистрация
    19.03.2016
    Сообщений
    123
    Вес репутации
    2

    По умолчанию Что означает movl?

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

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
  3. #2
    system architect somewhere will become famous soon enough somewhere will become famous soon enough Аватар для somewhere
    Регистрация
    31.08.2006
    Адрес
    71 RUS
    Возраст
    35
    Сообщений
    1,837
    Вес репутации
    16

    По умолчанию Re: Что означает movl?

    Это команда архитектуры Y86
    Как лично я это понимаю: это упрощенная архитектура, основанная на х86 (IA-32) с целью обучения ассемблеру. Регистров там меньше, все они 32-разрядные, есть стек, базовые математические и логические инструкции.
    Более простое кодирование команд, хотя и не совсем оптимальное.
    http://cs.slu.edu/~fritts/CSCI224_S1...-intro-Y86.pdf
    It's a long way to the top if you wanna rock'n'roll

  4. #3
    developer Слива is on a distinguished road
    Регистрация
    19.03.2016
    Сообщений
    123
    Вес репутации
    2

    По умолчанию Re: Что означает movl?

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

  5. #4
    system architect somewhere will become famous soon enough somewhere will become famous soon enough Аватар для somewhere
    Регистрация
    31.08.2006
    Адрес
    71 RUS
    Возраст
    35
    Сообщений
    1,837
    Вес репутации
    16

    По умолчанию Re: Что означает movl?

    Ну, Linux - это не процессор. Вероятно, этот код компилируется все таки в нормальный IA-32. А если нет (что скорее всего) - значит он генерит свой байткод, который потом в зависимости от процессора этой ОС переводит это в инструкции целевой системы. Типа Java, только более низкоуровневый.
    It's a long way to the top if you wanna rock'n'roll

  6. #5
    developer Слива is on a distinguished road
    Регистрация
    19.03.2016
    Сообщений
    123
    Вес репутации
    2

    По умолчанию Re: Что означает movl?

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

  7. #6
    system architect somewhere will become famous soon enough somewhere will become famous soon enough Аватар для somewhere
    Регистрация
    31.08.2006
    Адрес
    71 RUS
    Возраст
    35
    Сообщений
    1,837
    Вес репутации
    16

    По умолчанию Re: Что означает movl?

    Архитектура интел (Intel Architecture), которая из семейства x86. Просто люди все время путают архитектуру и семейство процессоров.
    It's a long way to the top if you wanna rock'n'roll

  8. #7
    Недохакер system architect Сионист is an unknown quantity at this point Аватар для Сионист
    Регистрация
    31.03.2014
    Сообщений
    1,078
    Вес репутации
    0

    По умолчанию Re: Что означает movl?

    Цитата Сообщение от somewhere Посмотреть сообщение
    Это команда архитектуры Y86
    А что это за архитектура? Что то новое? Или только разрабатываемое?
    Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.

  9. #8
    Недохакер system architect Сионист is an unknown quantity at this point Аватар для Сионист
    Регистрация
    31.03.2014
    Сообщений
    1,078
    Вес репутации
    0

    По умолчанию Re: Что означает movl?

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

  10. #9
    Недохакер system architect Сионист is an unknown quantity at this point Аватар для Сионист
    Регистрация
    31.03.2014
    Сообщений
    1,078
    Вес репутации
    0

    По умолчанию Re: Что означает movl?

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

  11. #10
    Недохакер system architect Сионист is an unknown quantity at this point Аватар для Сионист
    Регистрация
    31.03.2014
    Сообщений
    1,078
    Вес репутации
    0

    По умолчанию Re: Что означает movl?

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

+ Ответить в теме

Похожие темы

  1. Что означает MISSING в References?
    Открываю проект в VB6, в котором используется класс OCX-компонента (назовём его A). При запуске проекта выдаётся ошибка "Can't find project or...
    от Defder в разделе MS Office и VB(A).

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения