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

при косвенной регистровой адресации исполь­зовать регистр общего назначения, нужно сначала загрузить в такой регистр ад­рес операнда команды. Это можно сделать двумя способами. Если для нужного адреса в программе явно определена адресная метка, скажем LOCATION, этот ад­рес можно загрузить в регистр при помощи команды Move и с применением непо­средственной адресации, вот так:

MOV EBX,OFFSET LOCATION

Данная команда загружает в регистр ЕВХ адрес, представленный меткой LO­CATION. В качестве альтернативы можно задействовать команду Load Effective Address (загрузка исполнительного адреса) с мнемоническим обозначением LEA. Команда

LEA EBX,LOCATION

выполняет ту же операцию, что и приведенная выше команда. При помощи ко­манды LEA можно загружать в регистры адреса, динамически вычисляемые во время выполнения программы. Предположим, нам нужно загрузить в регистр ЕВХ адрес операнда, для доступа к которому применяется базовая адресация со смещением. Команда

LEA ЕВХ,[ЕВР+12]

загрузит в регистр ЕВХ адрес операнда, расположенного по адресу [ЕВР]+12. Ад­рес зависит от содержимого регистра ЕВP в момент выполнения команды.

Программа для сложения чисел

Используя только что описанные команды, мы можем создать программу для сложения чисел при помощи цикла


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