С Новым годом! Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.05.2023
Сообщений: 2
1

Найти сумму и кол-во элементов равных и неравных константе k

03.10.2023, 11:27. Показов 638. Ответов 1

Author24 — интернет-сервис помощи студентам
Дана такая задача. Даны четыре двоичных числа. Найти сумму и кол-во элементов равных и неравных константе k.
Я вот как бы сделал код, но он по-моему не работает. В программировании в среде ассемблер я новичок и поэтому не совсем понимаю, как сделать цикл для программы, чтобы она последовательно выводила каждое число на микроконтроллере pic16f877 в порт с. И я не уверен что код правильный. Если кто-то поможет, буду очень благодарен.
Вот код:
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
57
58
59
60
61
62
63
64
65
66
67
#include p16f877.inc
R1 EQU h'20' ; R1 – символьное имя со значением 20h (адрес регистра).
R2 EQU h'21' ; R2 – символьное имя со значением 21h (адрес регистра).
R3 EQU h'22' ; R3 – символьное имя со значением 22h (адрес регистра).
R4 EQU h'23' ; R4 – символьное имя со значением 23h (адрес регистра).
K1 EQU h'24' ; K1 – символьное имя со значением 24h (адрес регистра).
SUM1 EQU h'25';
SUM2 EQU h'26';
COL1 EQU h'27';
COL2 EQU h'28';
RST   code  0x0 
      goto  Start
PGM   code
Start
CLRF STATUS ; Очистка регистра, выбор банка 0.
BSF STATUS, RP0 ; Выбор банка 1.
CLRF TRISC ; Конфигурировать все биты порта C как выход.
CLRF STATUS ; Выбор банк 0.
CLRF PORTC ; Записать в порт С нули (потушить световоды).
; Ввод данных.
MOVLW B'00110111' 
MOVWF R1
MOVLW B'00011001'
MOVWF R2 
MOVLW B'00001111'
MOVWF R3
MOVLW B'00101001'
MOVWF R4
MOVLW B'00101001'
MOVWF K1
SUBWF R1,0 ; Вычитание R1- K1(W). Результат пересылаем в W.
MOVWF PORTC ; Загрузить содержимое W в регистр PORTС.
BTFSS PORTC, C;
GOTO M1
BTFSS PORTC, Z;
GOTO M2
SUBWF R2,0 ; Вычитание R2 - K1(W). Результат пересылаем в W.
MOVWF PORTC ; Загрузить содержимое W в регистр PORTС.
BTFSS PORTC, C;
GOTO M1
BTFSS PORTC, Z;
GOTO M2
SUBWF R3,0 ; Вычитание R3 - K1(W). Результат пересылаем в W.
MOVWF PORTC ; Загрузить содержимое W в регистр PORTС.
BTFSS PORTC, C;
GOTO M1
BTFSS PORTC, Z;
GOTO M2
SUBWF R4,0 ; Вычитание R4 - K1(W). Результат пересылаем в W.
MOVWF PORTC ; Загрузить содержимое W в регистр PORTС.
BTFSS PORTC, C;
GOTO M1
BTFSS PORTC, Z;
GOTO M2
M1 BTFSS PORTC, C;
ADDWF SUM1,1;
INCF COL1,1;
MOVWF SUM1;
MOVWF COL1
GOTO $
M2 BTFSS PORTC, Z;
ADDWF SUM2,1;
INCF COL2,1;
MOVWF SUM1;
MOVWF COL1
GOTO $
END
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2023, 11:27
Ответы с готовыми решениями:

Найти сумму,и кол-во элементов массива >1.Найти кол-во элементов массива,равных == 3 и 5
Найти сумму,и кол-во элементов массива >1 (используя for) Найти кол-во элементов массива,равных ==...

Найти сумму,и кол-во элементов массива>1,найти кол-во элементов массива,равных == 3 и 5
Найти сумму,и кол-во элементов массива >1 (используя for) Найти кол-во элементов массива,равных ==...

Найти количество элементов из массива кратных трем, чтоб выводилось кол-во элементов равных 3
using System; namespace ConsoleApp40 { class Program { private static int...

Найти количество элементов из двухмерного массива кратных трем, чтоб выводилось кол-во элементов равных 3
using System; namespace ConsoleApp40 { class Program { private static int...

Найти сумму элементов матрицы, сумма индексов которых равна заданной константе
2. Составить программу суммирования элементов двумерного массива, сумма индексов которых равна...

1
0 / 0 / 0
Регистрация: 11.05.2023
Сообщений: 2
06.10.2023, 09:04  [ТС] 2
Кстати я тупанул немного, тут ошибка была. Я почему-то биты 0 и 2 сравнивал с портом с, а надо сравнивать с регистром статус. Пока что у меня умных мыслей нет, поэтому надеюсь на умные мысли профессионалов.
0
06.10.2023, 09:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2023, 09:04
Помогаю со студенческими работами здесь

Найти сумму элементов двумерного массива, сумма индексов которых равна заданной константе
Составьте программу суммирования элементов двумерного массива, сумма индексов которых равна...

Найти и напечатать ту из трёх матриц, у которой наибольшее кол-во элементов меньших или равных числу Х
Здравствуйте, окажите, пожалуйста, помощь в решение данной задачи, которую нужно решить с помощью...

дан одномерный массив 100 элементов заполненный от 0 до 10000 найти кол-во элеметов равных степени 2
дан одномерный массив 100 элементов заполненный от 0 до 10000 найти кол-во элеметов равных степени 2

Найти сумму положительных элементов и количество элементов массива, равных нулю
Дан двумерный массив А(5,5). найти сумму положительных элементов и количество элементов равных 0.

Найти количество элементов равных нулю и сумму элементов после минимального
1)Количество элементов массива, равных 0 2)Сумму элементов массива, расположенных после...

Найти количество элементов ,равных 0 и сумму элементов массива, распол-ых после минимального элемента
Я написала программу с двумя элементами ввода массивов, но результат выводит не неверный и после...


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

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