Форум программистов, компьютерный форум, киберфорум
Assembler: i8080/8085/KP580
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
242 / 120 / 14
Регистрация: 15.10.2010
Сообщений: 395
1

Работа с памятью

22.03.2011, 19:03. Показов 2323. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Осталась одна лаба по Организации ЭВМ и систем, первые три добил. Работа на микроконтроллере МК580(ну то есть на его эмуляторе). Всю лабу делать не прошу, надо только подсказать. Задание:
создать программный пакет тестирования ОЗУ шахматным кодом. Пакет состоит из двух программ. Первая заполняет ячейки ОЗУ выбранного диапазона шахматным кодом. При этом в i - ю ячейку записывается код 01010101, а в i+1 – ю код 10101010. Вторая программа производит проверку записанной информации. В случае успеха выдавать в порт 05 комбинацию 01h, а при сбое комбинацию 0FFh. Диапазон тестируемой памяти: 0810 - 09FF.
В последнем предложении как раз и загвоздка. Как программа, так и данные пишутся в ОЗУ, диапазон адресов которого 0800 - 0BB0. Код программы хранится начиная с 0800. Но её не уместить в 16 байт. Как мне разместить код программы на другом участке памяти? И как потом обратиться к нему?
В институте явно изучали когда то, может что вспомните
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2011, 19:03
Ответы с готовыми решениями:

Работа с памятью
Друзья, ассемблер только начал изучать. Ассемблер начал изучать недавно и сейчас передо мной стоит...

работа со страничной памятью
Доброго времени суток! Занят написанием манагера памяти для ОСи, в данный момент застрял на...

Область видимости и работа с памятью
Вопрос касается работы с переменными в ассемблере. а именно области видимости и работы с памятью. ...

работа с памятью через Virtual Pascal
все в духе "на уроках изучаем 2+2=4, а контрольная "расчитайте сколько самолет будет падать до...

2
242 / 120 / 14
Регистрация: 15.10.2010
Сообщений: 395
25.03.2011, 13:31  [ТС] 2
Никто не помнит что ли?
0
242 / 120 / 14
Регистрация: 15.10.2010
Сообщений: 395
05.04.2011, 21:04  [ТС] 3
Это есть в настройках эмулятора оказывается.
Вот код, может кому понадобится:
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
              lxi B,02EF  ;счетчик
              lxi H,0810   ;адрес начала тестируемой памяти
              mvi A,55    ; в регистр A помещаем 01010101
 link:      mov M,A    ;по адресу в HL записываем число
              inx H           ;переход к следующей ячейке 
              rlc              ;8 разрядный сдвиг аккумулятора
              dcr C         ;декремент счетчика
              jnz link     ;если счетчик не равен нулю, повторяем цикл
              dcr B    ;инкремент старшего байта
              jnz link  ;если не ноль, то продолжаем
               
                   lxi H, 0810   ;начало тестируемой памяти
                   mvi E,55      ;01010101 в Е
                   lxi B, 02EF   ;счетчик
while:         mov A,E       ;с чем будем сравнивать
                   sub M           ;вычитаем
                   jnz bad         ;если не ноль, то тест не прошел
                   inx H             ;переход к след ячейке
                   mov A,E          ;функция сдвига
                   rlc
                   mov E,A
                   dcr C             ;декремент счетчика
                   jnz while        ;если не ноль, то цикл продолжаем
                  dcr B              ;декремент старшего байта
                  jnz while         ;если не ноль, то продолжаем
                  jmp good       ;иначе тест завершился положительно
                   
bad:         mvi A,FF       ;вывод, если тест не прошел
                 out 05
                 hlt
good:       mvi A, 01       ;вывод если прошел
                 out 05
                 hlt
0
05.04.2011, 21:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2011, 21:04
Помогаю со студенческими работами здесь

Masm организация управления основной памятью
Со сдачей затянул,сейчас надо срочно сдать. С ассемблером почти не знаком (полный нуб), изучать...

Ускорить xchg c памятью. Вопрос на засыпку по оптимизации!
Как известно, инструкция xchg, оперирующая с памятью, занимается нехорошим делом: блокировкой шины....

Нужна книга, где рассматриваются работа с прерываниями, указатели, работа с памятью, ассемблерные вставки
Привет всем! Подскажите, пожалуйста, хорошую книгу по C (именно C, не C++). Интересует работа с...

Работа с памятью
Форумчане, доброго времени суток. Заранее извиняюсь за нубские вопросы, но должен разобраться в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru