Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
3 / 3 / 4
Регистрация: 10.03.2010
Сообщений: 52
1

Изучение системы команд микроконтроллеров семейства MCS-51

21.10.2012, 19:15. Просмотров 1893. Ответов 11
Метки нет (Все метки)

всем привет..помогите разобраться как это реализовать.
1)исследование команд передачи данных

(R0) <- 5
((R0)) <- 10
(R0) <- 10h
(A) <-> (R0)
(R1) <- ((R0))
(Ao..3) <-> (R0o..3)

2)Исследование команд арифметических операций

(B) <- 10
(A) <- (B)-25h
(A)+30+(C)
(R0o..3) <-> (Ao..3)
(B) <- (A)+(R0)

3)Исследование команд логических операций

(36) <- B3h
(A) <- 14
(B) <- (A) and (36)
(Bo..3) <-> (A1..7)
(A) or (B)
(A) xor (36)

4)Исследование команд операций с битами

в ячейку с адресом 2Fh поместить число C3h. Используя

операции с битами выполнить операцию "логическое ИЛИ"

между старшей и младшей тетрадами данной ячейки.

Полученое 4-х разрядное число поместить в аккумулятор.

Добавлено через 1 час 39 минут
1)
Assembler
1
2
3
4
5
6
7
8
mov R0,5;
mov @R0,10;
mov R0,10h;
xch a,R0;
mov A,@R0;
mov R1,A;
XCHD a,@R0;
stop:jmp stop
так ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.10.2012, 19:15
Ответы с готовыми решениями:

Изучение системы команд процессора ARM
Это линк на статью с Марсохода. Для общего развития. Упор на ассемблер. Хотя статье два года, думаю...

Система команд MCS-51
В AVR были такие замечательные команды как SBIC/SBIS/SBRC/SBRS которые позволяли проверить бит и...

С чего начать изучение микроконтроллеров?
Всем привет! Я сам ПОшник, но в последнее время заинтересовался робототехникой, и хотелось бы...

Изучение микроконтроллеров и языка програмирования
обсуждение перенесено из этой ветки https://www.cyberforum.ru/avr/thread2390435.html между...

11
903 / 543 / 81
Регистрация: 15.05.2012
Сообщений: 3,181
22.10.2012, 09:27 2
Assembler
1
2
3
4
5
6
7
8
9
mov R0,5    ;(R0) <- 5  верно
mov @R0,10  ;((R0)) <- 10   верно
mov R0,10h  ;(R0) <- 10h    верно
xch a,R0    ;(A) <-> (R0)   верно
mov A,@R0   ;(R1) <- ((R0)) верно
mov R1,A    ;
XCHD a,@R0  ;(Ao..3) <-> (R0o..3)   неверно. Обмен идет между ячейкой памяти, косвенно адресуемой. А по условию нужен обмен в регистре R0.
 
stop:jmp stop
1
3 / 3 / 4
Регистрация: 10.03.2010
Сообщений: 52
22.10.2012, 10:07  [ТС] 3
а как будет правильно???и если можно помочь с остальными разобраться...
0
903 / 543 / 81
Регистрация: 15.05.2012
Сообщений: 3,181
22.10.2012, 11:56 4
Как вариант для (Ao..3) <-> (R0o..3):
Assembler
1
2
3
4
mov R1,70; в R1 адрес ячейки памяти(для примера 70)
mov @R1,R0; в эту ячейку заносим содержимое R0
XCHD A,@R1; меняем младшие тетрады
mov R0,@R1; извлекаем обратно в R0
помочь с остальными
Как?

Добавлено через 6 минут
Поскольку команд пересылки между регистрами нет, то дополнить командами, осуществляющими это.
1
3 / 3 / 4
Регистрация: 10.03.2010
Сообщений: 52
22.10.2012, 15:17  [ТС] 5
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
mov R0,#5;
mov @R0, #10;
MOV R0,#10H;
XCH A,R0;
MOV B,A;
MOV A,@R0;
MOV R1,A;
MOV A,B;
MOV R1,#20;
MOV 20,R0;
XCHD A,@R1;
MOV R0,20;
STOP:JMP STOP
для первого задания правильно рабочий код
0
903 / 543 / 81
Регистрация: 15.05.2012
Сообщений: 3,181
22.10.2012, 15:56 6
И теперь для закрепления материала сравниваем с моим.
1
3 / 3 / 4
Регистрация: 10.03.2010
Сообщений: 52
22.10.2012, 17:58  [ТС] 7
mov @R1,R0; в эту ячейку заносим содержимое R0
так нельзя( так препод сказал)
помоги с остальным разобраться..если есть время
0
903 / 543 / 81
Регистрация: 15.05.2012
Сообщений: 3,181
22.10.2012, 18:10 8
Цитата Сообщение от AkaDo.XD Посмотреть сообщение
mov @R1,R0; в эту ячейку заносим содержимое R0
так нельзя( так препод сказал)
Правильно сказал. Я ж писал:
Поскольку команд пересылки между регистрами нет,
помоги с остальным разобраться
Еще раз спрошу: как я могу помочь?
1
3 / 3 / 4
Регистрация: 10.03.2010
Сообщений: 52
22.10.2012, 18:38  [ТС] 9
запрограммировать остальные задания что бы я по листингу разобрался...да и так быстрее будет чем я сам буду вникать, да и к тому же неправильно...если конечно у вас есть на это время..
0
903 / 543 / 81
Регистрация: 15.05.2012
Сообщений: 3,181
22.10.2012, 18:53 10
В личку отписал.
0
Почетный модератор
21200 / 8935 / 1080
Регистрация: 11.04.2010
Сообщений: 11,014
23.10.2012, 06:53 11
Цитата Сообщение от pyzhman Посмотреть сообщение
В личку отписал
Нужно решать все на форуме
0
3 / 3 / 4
Регистрация: 10.03.2010
Сообщений: 52
25.10.2012, 10:28  [ТС] 12
еще актуально..в личке не помогли
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2012, 10:28

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

Выбор микроконтроллера, изучение программирования микроконтроллеров
Добрый день! Несколько дней назад заинтересовался радиотехникой и программированием...

Где найти список команд для микроконтроллеров
Немного наивный вопрос, но вопрос простой. Где найти список команд, которые поддерживает...

Изучение команд
Уважаемые форумчане, напишите пожалуйста команды которые помогут работать с Дизайнером...

Изучение команд пересылки данных между регистрами
c=a-b длина WORD .586 .model flat,stdcall extern ExitProcess@4:near; includelib...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.