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

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


Можете также написать программу для вычитания из первого
элемента таблицы всех последующих. Например, для таблицы
table: dc.w 50,8,4,6
у Вас должен получится результат 50-8-4-6 = 32 ($20).
4.2. Сортировка таблиц (массивов).
Продолжим работать с таблицами. В этом примере нам понадобится не только
читать данные из таблиц, но и изменять их так, чтобы в результате получить
отсортированную по возрастанию таблицу.
Для начала выберем алгоритм сортировки. Рассмотрим самый простой метод -
метод \"пузырька\":
Сначала сравниваем первый элемент со вторым. Если второй элемент больше, то
переходим к следующему шагу: сравниваем второй элемент с третьим, итд.
Если на каждом шаге предыдущий элемент меньше следующего, то таблица уже
отсортирована (сортировка не нужна).
Если же на каком-то шаге второй элемент меньше первого, то меняем их
местами и устанавливаем специальный флаг. Дойдя до конца таблицы, будем
проверять этот флаг: если он установлен, то таблица возможно еще не
отсортирована и нужно сделать еще один проход. Иначе - сортировка
закончена.
Теперь напишем программу, реализующую этот метод. Для начала определим
переменные, которые нам потребуются. Это, во-первых, указатель на таблицу
(A0), а также счетчик (D0) и флаг завершения (D1). Так как после каждого
прохода сортировки значения A0 и D0 меняются, нам понадобятся переменные
для хранения их первоначальных значений (будем использовать A1 и D2). Для
организации цикла будем использовать команду DBRA.
Итак, начнем собственно написание программы. Предположим, что перед вызовом
подпрограммы сортировки в A1 уже записан адрес таблицы, а в D2 - число
элементов.
;(4.2A) заголовочная часть подпрограммы сортировки
sort: move.l A1,A0 ;дублируем указатель на начало таблицы

move D2,D0 ;дублируем счетчик элементов

subq #2,D0 ;корректируем значение счетчика

moveq #0,D1 ;очищаем флаг завершения
table: dc.w 3,6,8,9,5
end
На этом подготовка к сортировке закончена: указатель и счетчик установлены,
флаг завершения очищен.

 

 

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