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

четверг, 22 апреля 2010 г.

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

VDS в надежном дата-центре Infobox по цене хостинга, за 400 руб./мес.
Subscribe.Ru

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

Нажмите, если рассылка отображается некорректно или без картинок 
Реклама

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

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

Чемпионы рейтинга экспертов в этой рассылке

Boriss
Статус: Академик
Рейтинг: 2092
• повысить рейтинг »
_Ayl_
Статус: Практикант
Рейтинг: 1865
• повысить рейтинг »
vladisslav
Статус: 5-й класс
Рейтинг: 1187
• повысить рейтинг »

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

Номер выпуска:1323
Дата выхода:22.04.2010, 21:00
Администратор рассылки:Лысков Игорь Витальевич, Модератор
Подписчиков / экспертов:337 / 62
Вопросов / ответов:1 / 1
IRC-канал по теме:#assembler

Вопрос № 177903: Уважаемые эксперты! Помогите, пожалуйста, решить задачу. Точнее, подправить уже имеющийся код под немного другое условие. Итак, есть пример задачи: Сложение N (N<16) двухбайтных чисел. Числа должны располагаться во внутренней или внешней пам...



Вопрос № 177903:

Уважаемые эксперты! Помогите, пожалуйста, решить задачу. Точнее, подправить уже имеющийся код под немного другое условие.
Итак, есть пример задачи:
Сложение N (N<16) двухбайтных чисел. Числа должны располагаться во внутренней или внешней памяти, начиная с определенного адреса. результат должен фиксироваться в регистрах R0 - R7 или ячейках внутренней памяти.
Решение задачи:
NAME LABORATORNAJA 1

DSEG AT 30h ; задаем начало сегмента внутренней памяти данных с адреса 30h.
CSEG AT 0h ; задаем начало сегмента памяти программ с адреса 0h.

mov r0, #30h
mov r1, #40h ; задаем начальные адреса ячеек внутренней памяти для хранения младших и старших байтов (соответственно) складываемых чисел.

mov 30h, 0FFh ; сохраняем в ячейке с адресом #30h младший байт 1-го слагаемого.
mov 31h, 0F2h ; -//- младший байт 2-го слагаемого.< br>mov 32h, 01Fh ; -//- младший байт 3-го слагаемого.
mov 33h, 0ABh ; -//- младший байт 4-го слагаемого.

mov 40h, 0F3h ; сохраняем в ячейке с адресом #40h старший байт 1-го слагаемого.
mov 41h, 0FFh ; -//- старший байт 2-го слагаемого.
mov 42h, 053h ; -//- старший байт 3-го слагаемого.
mov 43h, 0BFh ; -//- старший байт 4-го слагаемого.

clr a
mov r4, a
mov r3, a
mov r2, a ; очищаем аккумулятор и рабочие регистры.
mov r7, #4 ; задаем счетчик цикла, равный числу слагаемых.

sum: ; цикл подсчета суммы. результат получаем в виде r2r3r4.

clr c ; очищаем байт переноса.
mov a, @r0 ; считываем младший байт очередного элемента.
add a, r4 ; складываем младшие байты суммы и очередного элемента.
mov r4, a ; сохраняем результат младшего байта в регистре r4.
inc r0 ; подготавливаем младший байт следующего слагаемого.

mov a, @r1 ; считываем старший байт очередного элемента.
addc a, r3 ; складываем старшие байты суммы и очередного элемента, с учетом переноса от младшего разряда.
mov r3, a ; сохраняем результат старшего байта в регистре r4.
inc r1 ; подготавливаем старший байт следующего слагаемого.

clr a ; очищаем аккумулятор.
addc a, r2 ; добавляем к результату перенос от сложения старших байтов.
mov r2, a ; сохраняем старший разряд результата.

djnz r7, sum ; цикл продолжается, пока есть элем енты.

NOP
END

Просьба помочь изменить вышенаписанный код под такое условие задачи:
Составить программу сложения двух N-байтных чисел (2<N<8). Операнды должны располагаться во внутренней или внешней памяти, начиная с определенных адресов. Результат должен фиксироваться в регистрах R0-R7 или ячейках внутренней памяти.
Спасибо.
(На всякий случай, ОЭВМ серии MCS51, среда uVision2)

Отправлен: 17.04.2010, 20:46
Вопрос задал: Потапов Дмитрий Михайлович, Посетитель
Всего ответов: 1
Страница вопроса »


Отвечает Лысков Игорь Витальевич, Модератор :
Здравствуйте, Потапов Дмитрий Михайлович.
Программа в приложении. Учтите, что сумма будет на 1 байт длиннее
Не отлаживал, так что обязательно проверьте

Приложение:

-----
Удачи!

Ответ отправил: Лысков Игорь Витальевич, Модератор
Ответ отправлен: 19.04.2010, 10:42
Номер ответа: 260910
Украина, Кировоград
Тел.: +380957525051
ICQ # 234137952
Mail.ru-агент: igorlyskov@mail.ru
Абонент Skype: igorlyskov

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

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

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

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

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

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

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

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


    © 2001-2010, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.14 от 03.03.2010
     Как вам этот выпуск ?  Дайте свой отзыв  или  Оцените   5     4     3     2     1,   можно письмом:  5     4     3     2     1
    Скачай журнал Stereo&Video Скачай журнал Stereo&Video
    High End, а также 5 лучших телевизоров и 12 акустических систем за 1000 условных единиц

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

      Надоела сутулая спина и обвислый живот? Надоела сутулая спина и обвислый живот?
    Тренажер Ab Rocket - великолепный пресс всего за несколько недель!

     

    Новый Firefox3.6
    Быстрый и удобный браузер. Скачай бесплатно прямо сейчас!<>fx.yandex.ru

    Новости на gzt.ru.
    Все главные новости дня, обзор происшествий, мнения экспертов<>gzt.ru

    Споры вокруг Windows 7!
    Новая версия операционной системы Windows 7 - в чем ее обвиняют?<>luxury-info.ru


    Быстрая грамматика английского языка
    Если Вы уже когда-либо изучали английский язык, и хотите просто повторить его грамматику - наша рассылка для Вас. Мы публикуем все сведения из грамматики английского языка в сжатом виде. Благодаря нашей рассылке Вы сэкономите массу времени.
    Рассылки Subscribe.Ru подписаться по почте | на сайте >>>
    Поддержка подписчиков
    Другие рассылки этой тематики
    Другие рассылки этого автора
    Подписан адрес: admin10383.deep@blogger.com
    Код этой рассылки: comp.prog.assembler
    Архив рассылки    Обсудить рассылку
    Обсудить выпуск
    Этот выпуск в архиве
    Отписаться Вебом Почтой
    Убрать рекламу
    Вспомнить пароль
    Рассылка производится: Subscribe.Ru / ЗАО "Интернет-Проекты" / О компании / Политика конфиденциальности

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

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