Скачиваний:
2
Добавлен:
24.05.2023
Размер:
15.45 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

Федеральное государственное образовательное бюджетное учреждение

высшего профессионального образования

«Санкт-Петербургский государственный университет телекоммуникаций

им. проф. М. А. Бонч-Бруевича»

_________________________________________________________________

Кафедра: «Программной инженерии и вычислительной техники»

Дисциплина: «Микропроцессорные устройства»

Ассемблер ARM (Cortex A9)

Отчёт по лабораторной работе №3

Выполнили ст. группы РТ-01

Принял: Анохин Ю.В.

Санкт-Петербург

2022

Лабораторная работа № 3.

Ассемблер ARM (Cortex A9)

Прогр. 1.

.text

.global _start

1._start: LDR R0, ADR1 // базовый адрес порта тумблеров в R0

2. LDR R1, =ARR // базовый адрес пространства под массив

3. MOV R2, #5 // счетчик элементов массива

4. M1: LDR R3, [R0] // считывание числа с тумблеров в R3

5. STR R3, [R1], #4 // копирование числа в массив

6. SUBS R2, #1 // уменьшение состояния счетчика массива

7. BNE M1 // продолжение считывания, счетчик не «0»

8. LDMDB R1!, {R4-R8} // копирование массива в регистры

9.stop: B stop // останов, бесконечный цикл

ADR1: .word 0xFF200040

ARR: .space 20

.end

№команды

Состояние используемого регистра

Адрес используемой ячейки памяти

Содержимое ячейки памяти

Состояние PC

1.

R0 = FF200040

00000024

FF200040

PC = 00000000

2.

R1= 00000028

00000028

0

PC = 00000004

3.

R2 = 5

-

-

PC = 00000008

4.

R3 = 77

FF200040

77

PC = 0000000C

5.

R3 = 77

R1 = 0000002C

00000028

77

PC = 00000010

6.

R2 = 4

-

-

PC = 00000014

7.

-

-

-

PC = 00000018

4.

R3 = 1

FF200040

1

PC = 0000000C

5.

R3 = 1

R1 = 00000030

0000002C

1

PC = 00000010

6.

R2 = 3

-

-

PC = 00000014

7.

-

-

-

PC = 00000018

4.

R3 = 3C0

FF200040

3C0

PC = 0000000C

5.

R3 = 3C0

R1 = 00000034

00000030

3C0

PC = 00000010

6.

R2 = 2

-

-

PC = 00000014

7.

-

-

-

PC = 00000018

4.

R3 = 38C

FF200040

38C

PC = 0000000C

5.

R3 = 38C

R1 = 00000038

00000034

38C

PC = 00000010

6.

R2 = 1

-

-

PC = 00000014

7.

-

-

-

PC = 00000018

4.

R3 = 3A0

FF200040

3A0

PC = 0000000C

5.

R3 = 3A0

R1 = 0000003C

00000038

3A0

PC = 00000010

6.

R2 = 0

-

-

PC = 00000014

7.

-

-

-

PC = 00000018

8.

R4 = 77 R5 = 1

R6 = 3C0

R7 = 38C R8 = 3A0

00000028

0000002C

00000030

00000034

00000038

77

1

3C0

38C

3A0

PC = 0000001C

Соседние файлы в папке лабы