Форум программистов, компьютерный форум, киберфорум
Наши страницы

Микроконтроллеры

Войти
Регистрация
Восстановить пароль
 
Egarshan
0 / 0 / 0
Регистрация: 23.04.2017
Сообщений: 5
#1

Фиксация чисел в ячейках РПД - Микроконтроллеры

05.05.2017, 07:57. Просмотров 227. Ответов 6

Реализовать на микроконтроллере МК51 программу, фиксирующую в
ячейках 20Н и 21Н РПД наибольшее число из массива двухбайтовых чисел
без знака (30Н-3FН).

Только начал изучать Ассемблер, решил начать с памяти, буду рад коду с подробными объяснениями.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2017, 07:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Фиксация чисел в ячейках РПД (Микроконтроллеры):

Подсчет количества нечетных чисел в ячейках $8200-$82ff - AVR
Нужна программа, производящую подсчет количества нечетных чисел в ячейках $8200...$82ff. Если кто может, напишите пожалуйста, а то сам...

Фиксация тактовой кнопки - Электроника
Да, знаю, подобная тема уже была, создавалась мной же, т.д... Но сейчас хотелось бы получить свежее мнение. Начнем. Требуется...

Массив из 12 ячеек заполнить рандом, заменить нули в ячейках с четным индексом на 1 в ячейках с нечетным на -1 - C++
Массив из 12 ячеек, заполнить рандомно числами в диапазоне от -30 до 30. Заменить нули в ячейках с четным индексом на 1, в ячейках с...

Сумма чисел в ячейках QTableWidget - C++ Qt
Приветствую. Нужно посчитать сумму чисел в выбранных ячейах. Сам алгоритм в теории понятен, но как мне считать и запомнить числа с...

Копирование чисел в ячейках с циклом Do - VBA
Добрый день! Помогите мне, пожалуйста! Не могу понять, что делаю не так! Проходим ВБ для новичков, но я и в упрощённом варианте не...

Формат чисел в ячейках DataGridView - C#
Есть DataGridView, туда вносятся данные в формате double и нужно их красиво отобразить. Какое свойство используется для подобного...

6
Витальич
1204 / 1115 / 159
Регистрация: 02.12.2013
Сообщений: 4,570
05.05.2017, 21:52 #2
Давайте посмотрим, что у Вас получилось
0
pyzhman
705 / 401 / 56
Регистрация: 15.05.2012
Сообщений: 2,199
06.05.2017, 08:39 #3
А уж мы-то как будем рады увидеть плоды ваших усилий.
0
Egarshan
0 / 0 / 0
Регистрация: 23.04.2017
Сообщений: 5
06.05.2017, 17:15  [ТС] #4
В общем, вышло что-то рабочее, но не то что нужно, ячейки памяти не те, да и числа, фиксирующиеся в них не те.
Код программы:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
ORG 0
mov dptr,#0050h
mov b,#30h
mov 25,#15
JMP GGG
Beg:mov 21h,a
ANL 21h,#00001111b
mov b,21h
ORL b,#00110000b
GGG:
Beg1:mov a,25
dec a
mov 25,a
movc a,@a+dptr
 
JB a.3,Q15
JB b.3,Beg1
JMP W15
Q15:JNB b.3,Beg
W15:
 
JB a.2,Q14
JB b.2,Beg1
JMP W14
Q14:JNB b.2,Beg
W14:
 
JB a.1,Q13
JB b.1,Beg1
JMP W13
Q13:JNB b.1,Beg
W13:
 
JB a.0,Q12
JB b.0,Beg1
JMP W12
Q12:JNB b.0,Beg
W12:
 
org 50h
db 3Fh
db 3Eh
db 3Dh
db 3Ch
db 3Bh
db 3Ah
db 39h
db 38h
db 37h
db 36h
db 35h
db 34h
db 33h
db 32h
db 31h
end
0
Ethereal
2853 / 1193 / 146
Регистрация: 17.02.2013
Сообщений: 1,970
07.05.2017, 04:12 #5
Цитата Сообщение от Egarshan Посмотреть сообщение
ячейки памяти не те,
То есть в условии задачи упоминаются ячейки 20Н и 21Н и еще 30Н-3FН. Но руки сами набрали
Цитата Сообщение от Egarshan Посмотреть сообщение
Assembler
1
mov dptr,#0050h
. Ты им "руки, суки, двадцать и тридцать !", а они, подлые все равно набирают 50. И ничего с этим нельзя поделать.
0
paskal
445 / 294 / 26
Регистрация: 15.08.2011
Сообщений: 878
07.05.2017, 09:46 #6
Egarshan, вы все не по заданию делаете. В задании сказано РПД, это внутреннее ОЗУ. Оно адресуется через @R0 и @R1, а вы пытаетесь через @a+dptr. А через dptr к ПЗУ обращаются. Вы и записать то в ПЗУ физически ничего не сможете.
И где сравнение чисел? Чтоб найти наибольшее надо сравнивать, в 8051 это вычитанием и анализом флага переноса делается.
0
Egarshan
0 / 0 / 0
Регистрация: 23.04.2017
Сообщений: 5
10.05.2017, 18:46  [ТС] #7
Воспользуюсь вашим советом и попробую всё переделать.
0
10.05.2017, 18:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2017, 18:46
Привет! Вот еще темы с ответами:

Цикл с условием для чисел в ячейках - VBA
Очень прошу помочь с задачей! В столбце C заданы n значений угла в радианах в пределах . Вычислить синус первого числа, меньшего pi ...

Макрос для пересчета чисел в ячейках - VBA
ПРЕДПОЛОЖИМ В ЯЧЕЙКАХ A1:B4 содержатся некоторые цифры, любые. Нужно все эти цифры разделить например на 28. Т.е. идея вот в чем,...

Найти сумму квадратов чисел, находящихся в ячейках А1 и А3 - VBA
Найти сумму квадратов чисел, находящихся в ячейках А1 и А3. от полученного результата вычислить куб числа,находящегося в ячейке А2.

Подсчитать сумму чисел в ячейках на другом листе - MS Excel
Здравствуйте. Может здесь кто-то поможет. Есть лист в котором в ячейках A1, A2, ... находятся ссылки на другие листы этого файла. На этих...


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

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

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