Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Программа загрузки ячейки внешней памяти.

Пн июн 05, 2017 20:00:55

2. Написать программу загрузки ячейки внешней памяти с адресом 2А3СН константой 84Н. Адрес ячейки должен храниться в регистрах R5 (младший байт) и R7 (старший байт). Вот моё задание, я его сделал, проверьте пожалуйста.

MOV DPTR,#2A3CH
MOV A,#84H
MOVX A, @DPTR
MOV R5,82H
MOV R7,83H
Последний раз редактировалось aen Пн июн 05, 2017 20:19:34, всего редактировалось 1 раз.
Причина: Исправил. Нарушение Правил форума п. 1.4

Re: Помогите с программированием.

Пн июн 05, 2017 20:13:56

DPTR надо загружать значением из R5-R7, а не чисто константой. последние две строки вообще ни к селу, ни к городу... что такое 82H или 83H - в задании такого у вас нет

Re: Помогите с программированием.

Пн июн 05, 2017 20:57:10

DPTR надо загружать значением из R5-R7, а не чисто константой. последние две строки вообще ни к селу, ни к городу... что такое 82H или 83H - в задании такого у вас нет
82h 83h и дптр, это одно и тоже.
а как написать дружище скажи, мне для учёбы эту фигню надо

Re: Программа загрузки ячейки внешней памяти.

Вт июн 06, 2017 12:56:02

Ну и СТУДЕНЬ пошел...
:shock: :facepalm:
Это ж надо попутать источник с приемником!
Код:
movx a,@dptr ; из яп, адрес которой указан в DPTR в А
movx @dptr,a ; из А в яп, адрес которой указан в DPTR

и так далее...
А-ну ка брысь бегом систему команд учить!!!
:evil:

Re: Программа загрузки ячейки внешней памяти.

Чт июн 08, 2017 07:16:20

Ну и СТУДЕНЬ пошел...
:shock: :facepalm:
Это ж надо попутать источник с приемником!
Код:
movx a,@dptr ; из яп, адрес которой указан в DPTR в А
movx @dptr,a ; из А в яп, адрес которой указан в DPTR

и так далее...
А-ну ка брысь бегом систему команд учить!!!
:evil:

друг, что-то я не совсем понял что ты имеешь в виду, можешь просто написать как будет правлиьно?

Re: Программа загрузки ячейки внешней памяти.

Чт июн 08, 2017 09:31:06

Хотя-бы это почитать для начала:
ATMELs mcs51 instruction set.pdf
(1.1 MiB) Скачиваний: 253

8)

Re: Программа загрузки ячейки внешней памяти.

Пт июн 09, 2017 16:57:19

Хотя-бы это почитать для начала:
ATMELs mcs51 instruction set.pdf

8)

и к чему это? эти команды я смотрел в интернете, я не понял в чём у меня ошибка, можешь просто написать если тебе не трудно.

Re: Программа загрузки ячейки внешней памяти.

Сб июн 10, 2017 07:12:55

Наименование команды первый операнд(приемник), второй операнд(источник)
А у Вас чего??
Если это непонятно, тогда
БОЛЬШАЯ ПЕЧАЛЬКА...
(Уже ничего не поможет сдать зачет)
8)
Все же хочется заставить мозг СТУДНЯ хотя бы немножко изучаемую тему освоить...
:cry:

Re: Программа загрузки ячейки внешней памяти.

Сб июн 10, 2017 09:30:14

Наименование команды первый операнд(приемник), второй операнд(источник)
А у Вас чего??
Если это непонятно, тогда
БОЛЬШАЯ ПЕЧАЛЬКА...
(Уже ничего не поможет сдать зачет)
8)
Все же хочется заставить мозг СТУДНЯ хотя бы немножко изучаемую тему освоить...
:cry:

я знаю что первый операнд приёмник а второй источник, но я так не понял, мне надо было из аккамулятора в дптр что ли??

Re: Программа загрузки ячейки внешней памяти.

Сб июн 10, 2017 13:42:29

Как видим из начального сообщения (выделение и комментарий мой):
2. Написать программу загрузки ячейки внешней памяти с адресом 2А3СН константой 84Н. Адрес ячейки должен храниться в регистрах R5 (младший байт) и R7 (старший байт)
...
MOV DPTR,#2A3CH ; адрес ячейки 2A3CH загружен в DPTR
MOV A,#84H ; загружаю акумулятор константой 84Н
MOVX A, @DPTR ; читаю ячейку памяти с адресом 2А3СН в акумулятор
MOV R5,82H ; загружаю R5 содержимым регистра РСФ с адресом 82H
MOV R7,83H ; загружаю R7 содержимым регистра РСФ с адресом 83H

А как должно быть согласно Вашего же сообщения?

Загрузка ячейки памяти с адресом 2А3СН константой 84Н при условии, что начальное значение адреса ячейки находится в регистрах временного хранения R7 и R5...
Обмен с внешним ОЗУ ведется с помощью косвенной адресации по содержимому DPTR,
МК акумуляторного типа (за редким исключением все операции выполняются через акумулятор).
Т.е. сначала считываем содержимое R7:R5 в DPH:DPL,
затем загружаем в А константу 84Н
а затем пересылаем содержимое из А в ячейку памяти по указателю в DPTR.
Поднапрягите мозги однако...
:wink:
Ответить