Amiga. Вычислительная техника
Меню сайта
Главная
Amiga
Amiga Corporation
Модельный ряд
История развития
Аппаратная платформа
Операционные системы
Эмуляция
AMIGA # 1
Программирование на Ассемблере
Организация процессоров
Методы защиты информации
Компьютерные новеллы
Боятся ли компьютеры адского пламени?
Виртуальная реальность
Корпоративные сети
Телекоммуникационные сети
Архитектура ЭВМ
ЕС ЭВМ
Рождение ЭВМ
Компьютер
Гарвардская архитектура
Современные высокопроизводительные компьютеры
Дорога в будущее
Vista
Инфоpматика
ЭВМ
Операционные системы
Linux
Windows
Освой компьютер
Макинтош
Набор текста
Поколения
Компьютерная грамотность
Устройство компьютера
Железо
Графика
Звук
Ремонт
Сети
Программирование
Информационные технологии
Криптография
Микроэлектроника
Истории
 
 

Программирование на Ассемблере



Существует еще одна разновидность регистрового метода адресации, которая
используется для доступа к адресным регистрам: команда MOVE.L #MARKER,A0
записывает адрес переменной MARKER в регистр A0.
Теперь переходим к менее тривиальным (и более интересным) методам адресации.
Рассмотрим еще один пример из BASIC\'а:
10 A=1000
20 POKE A,1
В первой строчке переменной A присваивается значение 1000. Такое
присвоение возможно и на ассемблере: MOVE.L #1000,A0 (здесь переменная A
размещается в адресном регистре A0).
В строке 20 значение 1 записывается не в саму переменную A, а в ячейку
памяти с адресом, содержащимся в A. Это еще один способ доступа к данным,
который легко записывается и на ассемблере:
MOVE.L #1000,A0 ;записать адрес в A0

MOVE #1,(A0) ;записать 1 по этому адресу
Скобки задают косвенный регистровый метод адресации. Этот метод работает
только с адресными регистрами.
Существует несколько разновидностей косвенных регистровых методов.
Например, может быть задано смещение, которое добавляется к адресному
регистру перед его использованием. Так, команда MOVE #1,4(A0) запишет
значение 1 по адресу 1000+4=1004. Смещение может быть как положительным,
так и отрицательным и должно лежать в диапазоне -32768..32767. Этот метод
адресации называется косвенным регистровым с 16-битным смещением.
Существует еще один похожий метод адресации - косвенный регистровый с
8-битным смещением. В этом методе в качестве дополнительного смещения может
использоваться значение какого-либо регистра, а размер основного смещения
ограничен восемью битами.
Поясним это на примере. Пусть наша программа использует следующую структуру
данных (массив):
...
RECORD: DC.B 2 ;число элементов массива минус один

DC.B 1,2,3 ;элементы массива
Будем использовать MOVE.L #RECORD,A0 для загрузки адреса структуры в A0 и
MOVE (A0),D0 для получения числа элементов массива.

 

 

© 2010 Amigo. All Rights Reserved
Создание сайтов ЕкатеринбургШаблоны сайтовПоиск товаров - справочник цен, каталог магазинов, прайс-листыБесплатные шаблоны дизайна компьютерных сайтов
Hosted by uCoz