Программирование на JAVA

В следующем разделе рассказывается о том, как описанные режимы адресации кодируются в машинных командах. Более подробная информация по данной те­ме приведена в [1].

Команды IA-32

Набор команд архитектуры IA-32 очень обширен. Машинные команды имеют пе­ременную длину и не всегда однотипный формат, о чем будет рассказано ниже. В большинстве команд IA-32 задаются один или два операнда. Если опе­рандов два, только один их них может храниться в памяти, а другой должен находиться в регистре процессора. Наряду с обычными командами для пересыл­ки данных между памятью и регистрами процессора, выполнения арифметиче­ских операций в наборе команд IA-32 имеется множество команд для реализации логических операций, операций сдвига и циклического сдвига, а также для мани­пулирования стеком процессора. Для обработки нечисловых данных предусмот­рены команды, оперирующие строками байтов.

Мы начнем с рассмотрения небольшого набора команд и покажем, как они мо­гут использоваться в сравнительно небольшой программе. Команда

ADD dst,src

выполняет операцию

dst <- [dst] + [src]

а команда

MOV dst,src

как вы уже знаете, — операцию

dst <- [src]

Предположим, что операнды хранятся в регистрах ЕАХ и ЕВХ


<< назад вперед >>