Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Как работает стек и указатель стека в мк51.Содержание книги
Поиск на нашем сайте 12. Как работает стек и указатель стека в МК51? Стек - специально организованная область ОЗУ, предназначенная для временного хранения данных или адресов. Число, записанное в стек последним, извлекается из него первым. Указатель стека SP хранит адрес последней ячейки стека, в которой записана информация. При вызове подпрограммы в стеке автоматически сохраняется адрес возврата в основную программу. Как правило, в начале каждой подпрограммы сохраняют в стеке содержимое всех задействованных при ее выполнении регистров, а в конце подпрограммы восстанавливают их из стека. После сброса МК51 указатель стека устанавливается равным 7.
13. Разработайте программу перемещения (копирования) массива резидентной памяти данных МК51. Поскольку адрес начала массива и его размер не заданы, выберем их самостоятельно. Выберем начальный адрес исходного массива 20Н, длина массива 48 байт (т.е.30Н). Скопируем массив на другое место, например с 60Н по 8FH ячейки РПД. Пример программы:
MOV R7, #30H; присваиваем регистру R7 значение числа элементов массива MOV R1, #20H; присваиваем регистру R1 значение начальной ячейки исходного массива MOV R0, #60H; присваиваем регистру R0 значение начальной ячейки нового массива-копии М1: MOV A, @R1; копируем в аккумулятор (А) значение из ячейки с адресом R1 МОV @R0, А; записываем значение из А в ячейку с адресом R0 INC R0 ; увеличение R0 на 1 INC R1 ; увеличение R1 на 1 DJNZ R7, M1 ; Цикл (уменьшение R7 на 1. пока не 0, идем на М1)
14. Определить содержимое аккумулятора после выполнения команд (два шестнадцатеричных символа ) Числа могут быть представлены в различном коде: двоичном (В), десятичном (без символа на конце), шестнадцатеричном(Н) и восьмеричном(Q). Для вычислительных операций необходимо привести все к одному виду, лучше к десятичному. MOV B, # N; запись в расширитель аккумулятора числа N MOV A, # M; запись в аккумулятор числа M ADD A, B; сложение чисел А и В. Младший байт заносится в А, старший в В DA A; десятичная коррекция А Команда DA всегда идет вслед за командами ADD или ADDC и используется для обработки чисел, представления их в двоично-десятичном коде. К примеру, надо привести число 9FH к двоично-десятичному виду. Находим десятичный код этого числа 9FH=159. Далее полученный код записываем как 16-ричное, т.е. 0159Н – именно это число и надо представить в ответе.
|
||
|
Последнее изменение этой страницы: 2024-06-17; просмотров: 63; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.) |