Вопрос № 177962: Уважаемые эксперты, помогите с программой: Составить программу проверки эл-ов массива на 0. Числа располагаются во внутренней памяти, начиная с адреса 10H по 3FH. Надо зафиксировать адреса нулевых эл-ов массива и запомнить их во внутренней пам...
Вопрос № 177962:
Уважаемые эксперты, помогите с программой: Составить программу проверки эл-ов массива на 0. Числа располагаются во внутренней памяти, начиная с адреса 10H по 3FH. Надо зафиксировать адреса нулевых эл-ов массива и запомнить их во внутренней памяти. Коды программы должны начинаться с 0000H, байтовые переменные - с 08H, стек - с 60H, битовые переменные - с 20H, внешнее ОЗУ - с 0000H. Микроконтроллер MCS-51. Заранее благодарю.
Отвечает Лысков Игорь Витальевич, Модератор :
Здравствуйте, beyonda. Дополнительно посчитал еще и количество нулевых элементов
Код:
mov sp, #70h ;переносим вершину стека mov r0, #10h ;адрес, где исходный массив mov r1, #40h ;адрес, куда будем писать адреса
нулевых элементов mov r4, #30h ;количество элементов исходного массива loop: ;цикл mov a, @r0 ;читаем очередной элемент jnz next ;если не нуль, то обходим mov a, r0 ;адрес нулевого элемента! mov @r1, a ;пишем inc r1 ;адрес следующего элемента массива нулевых элементов next: inc r0 ;адрес следующего элемента исходного массива djnz r4, loop ;r4=r4-1; циклим, пока r4!=0 ;посчитаем число нулевых элементов mov a, r1 ;адр
ес конца clr c ;сбросим С (для subb) subb a, #40h ;a = конец - начало - C mov r2, a ;сохраним длину в r2
----- Удачи!
Ответ отправил: Лысков Игорь Витальевич, Модератор
Ответ отправлен: 22.04.2010, 10:09
Номер ответа: 260952 Украина, Кировоград Тел.: +380957525051 ICQ # 234137952 Mail.ru-агент: igorlyskov@mail.ru Абонент Skype: igorlyskov
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 260952
на номер 1151 (Россия) |
Еще номера »
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.