Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Листинг 2 Исходный файл программы lab1_part3_DE.s






 

/* Программа осуществляет поиск максимального числа в списке целых чисел. */

 

.equ LIST, 0x500 /* Адрес начала списка в памяти. Первый элемент списка будет содержать максимальное число, 2-ой - количество чисел в списке*/

.global _start

_start:

movia r4, LIST /* В регистр R4 записывается адрес начала списка */

ldw r5, 4(r4) /* Считываем в регистр R5 значение количества чисел в списке */

addi r6, r4, 8 /* Вычисляем адрес памяти, с которого начинают располагаться числа для поиска*/

ldw r7, (r6) /* В регистр R7 из памяти по адресу R6 считывается первое число списка */

 

LOOP:

subi r5, r5, 1 /* Уменьшаем значение количества чисел в списке */

beq r5, r0, DONE /* Если значение регистра R5 равно 0, то выходим из цикла */

 

addi r6, r6, 4 /*Увеличиваем адрес памяти на 4 (переходим к следующему числу */

 

ldw r8, (r6) /* Считываем из памяти следующее число */

 

bge r7, r8, LOOP /* Если текущее максимальное число больше или равно считанному, то возвращаемся в начало цикла*/

 

add r7, r8, r0 /* Иначе, записываем в R7 новое максимальное число */

 

br LOOP

DONE:

stw r7, (r4) /* Записываем максимальное число в память по адресу 0x500 */

 

STOP:

br STOP /* Бесконечный цикл */

 

.org 0x100

RESULT:

.skip 4 /* Выделяем 4 байта для хранения максимального числа */

N:

.word 7 /* Количество чисел в списке */

NUMBERS:

.word 4, 5, 3, 6, 1, 8, 2 /* Числа из списка */

 

.end

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.