Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
dimaxano
1 / 1 / 0
Регистрация: 01.05.2015
Сообщений: 18
1

Cумма элементов массива (ATMega128, AVR Studio 4)

01.05.2015, 17:34. Просмотров 1003. Ответов 3
Метки нет (Все метки)

Инициализировать массив натуральных чисел от 0 до 900 и найти сумму его эл-ов.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
.include "m128def.inc"
 
.EQU Number = 900
 
.DSEG
N:          .BYTE 2
SUM:        .BYTE 4
ARRAY       .BYTE 2*NUMBER
 
 
.CSEG 
 
;Инициализируем N
 
 
        ldi r16, low (Number)
        sts N, r16
 
        ldi r17, high (Number)
        sts N+1, r16
 
; Загрузка [r21, r20] N
 
        lds r20, N
        lds r21, N+1
 
; Формируем индекс i [r17, r16]
 
        ldi r16, 0
        ldi r17, 0
 
; Формируем индекс delta [r19, r18]
 
        ldi r18, 1
        ldi r19, 0
 
;Загружаем начальный адрес массива
        ldi ZL, low (ARRAY)
        ldi ZH, high (ARRAY)
 
m0:     st Z+, r16
        st Z+, r17
 
        add r16, r18
        add r17, r19
 
        cp  r16, r20
        cpc r17, r21
        
        brlo m0
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2015, 17:34
Ответы с готовыми решениями:

Работа с ATMega128 . AVR studio
Всем привет! Я написал код на ассемблере , но не знаю как написать точно такой...

Секундомер на Assembler от 0 до 999 (AVR Studio, atmega128)
Разработка МП системы, высвечивающей в трех разрядах ЖК-индикатора десятичный...

CAVR против AVR Studio, что не так в программе под AVR Studio
Проблема такая, есть исходник, если его компилировать в CAVR заливаю в МК все...

Работа с дисплеем (ATMega128, Code Vision AVR)
Здравствуйте! При попытке настроить нужные ножки МК для работы с дисплеем,...

Копирование массива из ОЗУ в ATMega8535 (AVR Studio 4)
Составить программу копирования массива. Адрес массива-источника - находится в...

3
Ethereal
5200 / 1943 / 251
Регистрация: 17.02.2013
Сообщений: 2,882
02.05.2015, 13:57 2
Цитата Сообщение от dimaxano Посмотреть сообщение
add r16, r18
add r17, r19
add r16,r18
adc r17,r19
0
dimaxano
1 / 1 / 0
Регистрация: 01.05.2015
Сообщений: 18
07.05.2015, 20:29  [ТС] 3
Да, спасибо
Исправлю
Но как найти сумму?
0
pyzhman
791 / 485 / 66
Регистрация: 15.05.2012
Сообщений: 2,744
08.05.2015, 06:24 4
Хм, команда add суммирует. Вроде. До сегодняшнего дня так было. Если это не так, то можно применить команду sub, преобразовав числа в допкод. Если и такое отменили в атмеле за ночь, то можно применить inc или dec. Если и их переиначили, то можно применить сдвиги, правда придется голову поднапрячь.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2015, 06:24

AVR ассемблер. объявление массива .db Atmel Studio 7, ошибка компиляции?
Столкнулся со странной проблемой. Написал код для дисплея. код рабочий...

AVR Studio 6 и AVR Toolchain вопросы!
Всем доброго времени суток. Решил я написать софтинку в новой студии от...

GCC и AVR Studio 5 и AVR Studio 4.18
Доброго дня Всем! Кто может подсказать следующее - у меня установлена AVR...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru