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

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



Рассмотрим, к примеру, команду DBF, которая работает так: сначала
проверяется регистр (первый операнд), и если там ноль, то ветвление
игнорируется. В противном случае из этого регистра вычитается единица и
происходит ветвление по второму операнду. Типичный вид цикла DBF:
move #counter-1,D0 ;число итераций минус один
loop: .... ;тело цикла

....
dbf D0,loop ;если D0 не равен нулю, декремент и

;ветвление
Обратите внимание, что начальное содержимое счетчика должно быть на единицу
меньше, чем число повторений цикла (так как проверка счетчика производится
ДО его уменьшения).
Другие команды DBcc используются для организации циклов с дополнительным
условием. Например, DBEQ можно трактовать как \"цикл, пока не ноль\".
Примеры на применение команд DBcc мы рассмотрим в следующих разделах.
Команды STOP и RESET являются привелегированными, но даже в режиме
супервизора не рекомендуется их использовать (это может привести к
\"зависанию\").
Команды TRAP имеют параметр - номер генерируемого TRAP-исключения, который
определяет адрес вектора исключения (из диапазона $0080-$00BF). Некоторые
операционные системы для 680x0 используют TRAP-векторы для своих запросов,
но об этом мы поговорим позже.
Арифметические команды.
Вспомним пример с командой CMP, которую мы использовали для сравнения
содержимого регистра данных с некоторым числом. Напомним, что команда CMP
производит вычитание первого операнда из второго и на основании полученного
результата выставляет флаги условий, причем ни один из операндов не
изменяется. MC680x0 также имеет и специальную команду для вычитания - SUB,
отличие которой от CMP состоит в том, что в случае SUB результат вычитания
записывается во второй операнд, старое содержимое которого теряется.
Существует и аналогичная команда для сложения - ADD. Во многих
восьмиразрядных процессорах (например, в 6502) этим и ограничивается набор
арифметических операций, в то время как MC680x0 может еще умножать,
делить и производить ряд других действий над целочисленными операндами.
Большинство арифметических команд процессора MC680x0 требуют два аргумента.

 

 

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