WMmail.ru - сервис почтовых рассылок

вторник, 22 марта 2011 г.

RFpro.ru: Ассемблер? Это просто! Учимся программировать

 
Если выпуск не отображается, вы можете прочесть его на сайте Отказаться от рекламы
  
  
Все дело в размере! Все дело в размере!
Easy Curves - первый тренажер для женской груди!

  Вспомни детство! Вспомни детство!
Аппарат для приготовления сахарной ваты - отличное угощение!

  Скачай "Пятое колесо" Скачай "Пятое колесо"
Билет в первый класс. Nissan Juke. Кругом одни гибриды.

 
  

  Мои подписки      Мои группы      Мои новости     
        Автор 
Калашников О.А.
      
  
Компьютеры и интернет   →   Софт   →   Программирование   →   RFpro.ru: Ассемблер? Это просто! Учимся программировать
  
RFpro.ru: Ассемблер? Это просто! Учимся программировать
 
 

Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты данной рассылки

Boriss
Статус: Академик
Рейтинг: 2652
• повысить рейтинг »
Абаянцев Юрий Леонидович aka Ayl
Статус: Профессионал
Рейтинг: 2356
• повысить рейтинг »
vladisslav
Статус: 8-й класс
Рейтинг: 1341
• повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Assembler (Ассемблер)

Номер выпуска:1430
Дата выхода:23.03.2011, 07:30
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:217 / 67
Вопросов / ответов:1 / 1

Вопрос № 182479: Здравствуйте! Прошу помощи в следующем вопросе: В массиве, состоящим из N 16-разрядных кодов, определить минимальный элемент и зафиксировать его адрес. Массив находится во внешнем ОЗУ . оформить как подпрограмму. Параметры подпрограмм хра...



Вопрос № 182479:

Здравствуйте! Прошу помощи в следующем вопросе:
В массиве, состоящим из N 16-разрядных кодов, определить минимальный элемент и зафиксировать его адрес. Массив находится во внешнем ОЗУ . оформить как подпрограмму.
Параметры подпрограмм хранить в свободной зоне внутренней памяти данных.
Микроконтроллер ATmega8535.

Отправлен: 12.03.2011, 07:52
Вопрос задал: katbka (1-й класс)
Всего ответов: 1
Страница вопроса »


Отвечает Лысков Игорь Витальевич (Старший модератор) :
Здравствуйте, katbka!
Вот, попробовал ответить...
Я не уверен полностью в правильности, т.к. нет возможности проверить.
Даже не компилировал. Тянуть студию на 500 Мб мне почему-то не захотелось
Пробуйте сами. Если что не так, разберемся

Код:

.include "m8535def.inc"

.equ N=100 ;размерность массива

;Назначим регистрам символические имена
.def counter=r17 ;количество слов
;регистровые пары
.def curr_addr=r30 ;Z=r30-r31: адрес текущего элемента
.def min_addr=r28 ;r 28-r29: адрес минимального элемента
.def save_addr=r26 ;r26-r27: сохраненный адрес текущего элемента
;одиночные
.def work=r16 ;временный регистр
.def curr_lo=r18 ;r18-r19: текущее слово
.def curr_hi=r19
.def min_lo=r20 ;r20-r21: минимальный элемент
.def min_hi=r21

.ESEG ;сегмент в EEPROM
array:
.db 1,0 ;... задаем 100 слов (предоставляю Вам право набить 200 байт )

.CSEG ;кодовый сегмент
rjmp Start

Start: ;точка входа
ldi R16, low(RAMEND) ;зададим стек
out SPL, R16
ldi R16, high(RAMEND)
out SPH, R16

;Зададим адрес массива и число элементов
;результат в min_addr = r28:r29
;само значение в r20:r21
ldi ZL, low(array) ;мл байт адреса массива
ldi ZH, high(array) ;ст байт адреса массива
ldi counter, $N ;количество
call min ;ищем адрес минимально го элемента

wait: jmp wait ;зацикливаемся

min: ;поиск адреса минимального элемента
mov min_lo, $0ffh ;min = заведомо самому большому числу (0ffffh)
mov min_hi, $0ffh

loop: ;цикл по всем элементам
movw save_addr, curr_addr ;сохраним адрес текущего элемента
ld curr_lo, Z+ ;мл байт текущего элемента
ld curr_hi, Z+ ;ст байт текущего элемента
cp curr_hi, min_hi
cpc curr_lo, min_lo
brge next
;нашли новый минимальный
movw min_addr, save_adr ;сохраним адрес минимального
mov min_lo, curr_lo ;и его значение
mov min_hi, curr_hi
next: ;переходим на анализ следующего элемента
dec counter ;уменьшаем счетчик
brne loop ;циклим, пока counter=r17 не ноль
ret


-----
Люби своего ближнего, как самого себя

Ответ отправил: Лысков Игорь Витальевич (Старший модератор)
Ответ отправлен: 21.03.2011, 15:59
Номер ответа: 266344
Украина, Кировоград
Тел.: +380957525051
ICQ # 234137952
Mail.ru-агент: igorlyskov@mail.ru

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 266344 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


     
     
    Комментировать выпуск
         В избранное

    Прошлые выпуски
    RFpro.ru: Ассемблер? Это просто! Учимся программировать    22 марта 2011, 07:03
    RFpro.ru: Ассемблер? Это просто! Учимся программировать    19 марта 2011, 08:04
    RFpro.ru: Ассемблер? Это просто! Учимся программировать    16 марта 2011, 18:06

    Все выпуски рассылки
     
     

    Subscribe рекомендует
     
    Компьютеры и интернет  →   рассылки   и   группы
      
    Откровенно и с юмором о сетевом бизнесе
    А некдоты и юмор о себе и не только. В ыявление и преодоление недостатков в бизнесе. Т резвый взгляд в будущее. О бмен опытом между коллегами разных компаний.
    Темы: 201   Участники: 1341
      Чем хороша жизнь за границей?Все за и против
    А может поехать за границу? Там говорят хорошо?! Отзывы и общение с теми , кто уехал из России, но не прочь пообщаться с соотечественниками
    Темы: 247   Участники: 6032
      Отношения между мужчиной и женщиной
    Группа об отношениях между мужчиной и женщиной. Для того, чтобы лучше понять мужчину, нужно узнать его психологию, знать о чём он говорит и что на самом деле имеет ввиду.
    Темы: 2261   Участники: 4897
     
     
     
    Подписан адрес: admin10383.deep@blogger.com
    Код этой рассылки: comp.prog.assembler
    Архив рассылки
    Отписаться:  На сайте  Почтой
    Поддержка подписчиков
    Убрать рекламу
    Другие рассылки этой тематики
    Другие рассылки этого автора
     
    Рассылка производится: Subscribe.Ru / ЗАО «Интернет-Проекты» / О компании / Политика конфиденциальности

    Комментариев нет:

    Отправить комментарий