Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 46

Вычислить значение выражения А+В*120 на 8051

31.03.2016, 01:15. Показов 1582. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый день! возникла такая проблема, задали написать программу на асемб. суть программы заключается:
Индексная адресация, есть уравнение А+В*120 где А-87В437h , B-9C3Bh , 120-78h .
умножение вроде вышло сделать но прибавить 2 числа от умножения не смог, соответственно А+В тоже. если есть возможность объяснить как код написать пожалуйста помогите.
Текст мой программы я вложил.
Вложения
Тип файла: rar al.rar (10.6 Кб, 5 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.03.2016, 01:15
Ответы с готовыми решениями:

На МК 8051 посчитать значение выражения
ТЗ: Напишите программу на Ассемблере, которая реализует выражение (скрин). Результат вычисления должен отображаться на лампочках порта...

Вычислить значение выражения, используя перевод выражения в постфиксную запись
Нужна помощь в решении задачи. Дано выражение в инфиксной записи. Вычислить его, используя перевод выражения в постфиксную запись....

Вычислить значение выражения и вывести его на экран монитора, при этом необходимо предусмотреть возможность вычисления значения выражения несколькими
Вычислить для треугольника со сторонами _ a,b и углом между ними y диаметр _ D окружности ,которая или вписано в него , или описана...

11
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
31.03.2016, 10:23
вроде как-то так, результат dx:ax
Assembler
1
2
3
4
5
6
7
A dd 87В437h
..............
mov bx,120
mov ax,9C3Bh
mul bx
add ax,[A]
adc dx,[A+2]
0
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
31.03.2016, 15:23
MansMI,
87В437h число для ЕАХ, а не для dx:ax
0
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
31.03.2016, 15:26
Constantin Cat, архива не смотрел, но из чего это следует?
1
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
31.03.2016, 16:18
MansMI,

Сорри сработала прывычка работать в регистре, а не с парой.
0
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 46
31.03.2016, 19:12  [ТС]
ну в чем суть, я как бы перемножил 9C3B на 120 сделал это по байтам, вышло два 2-байтных числа. но эти 2-байтные числа что вышли я плюсануть не могу!
0
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
31.03.2016, 19:18
Qastom,
Вы перепутали 51 контролер с х86
0
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 46
31.03.2016, 19:49  [ТС]
добрый день! возникла такая проблема, задали написать программу на асемб. суть программы заключается:
Индексная адресация, есть уравнение А+В*120 где А-87В437h , B-9C3Bh , 120-78h .
умножение вроде вышло сделать (сделал разбив 2-байтное число по байтам и по очереди перемножил) получил 2 2-байтных числа, но прибавить 2 числа от умножения не смог, соответственно А+В тоже. если есть возможность объяснить как код написать пожалуйста помогите.
Текст мой программы я вложил.
Вложения
Тип файла: rar al.rar (10.6 Кб, 0 просмотров)
0
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 46
31.03.2016, 19:49  [ТС]
может и такое быть! мож не в тот раздел написал, то я извиняюсь) мне на 8051 контроллер надо)

Добавлено через 12 минут
тему перенес в другой раздел!!!!
0
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 46
01.04.2016, 00:54  [ТС]
вроде как по Фрунзе я сделал приплюсовку 2 чисел если можете посмотрите на правельность текста, если там что то не так, то по возможности если сможете исправить буду признателен!
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
.aseg ddd,data ; cr, lf
.aseg ccc,code   ; cr, lf
 
 
            mov r0,#2fh     ;
mov @r0,#09Ch    ;
inc r0  ;
mov @r0,#03Bh     ;
 
mov a,@r0       ;
mov b,#78h      ;
mul ab         ;
mov r1,#5h     ;
mov @r1,a       ;
dec r1          ;
mov @r1,b      ;
dec r0          ;
 
 
mov a,@r0       ;
mov b,#78h      ;
mul ab         ;
mov r1,#3h     ;
mov @r1,a       ;
dec r1          ;
mov @r1,b      ;
dec r0          ;
 
mov r1, #4h     ;
mov A,@r1      ;
mov A,@r1       ;
mov r0, #3h     ;
mov B,@r0       ;
addc A,B        ;
mov r1, #11h    ;
mov @r1, A     ;
inc r1         ;
dec r1         ;
 
clr c           ;
mov r1, #2h     ;
mov A,@r1         ;
mov r0, #5h        ;
mov B,@r0        ;
MOV A, B         ;
                mov r1, #10h;
mov @r1, B;
add A,B;
                mov r1, #12h;
mov @r1, A;
  inc r1;
dec r1;
 
                 mov r0,#5eh     ;
mov @r0,#087h    ;
inc r0  ;
mov @r0,#0B4h     ;
inc r0  ;
mov @r0,#037h     ;
 
jmp $            ;
.end
Вложения
Тип файла: rar al.rar (10.9 Кб, 0 просмотров)
0
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
01.04.2016, 08:31
Цитата Сообщение от Qastom Посмотреть сообщение
но эти 2-байтные числа что вышли я плюсануть не могу!
Значит нужно реализовывать умножение в столбик.

120 назовем С и под него выделяем один байт. По 3-и байта выделяем под В и В*С
С сдвигаем вправо: CF=1 - суммируем с переносом В*С и В; CF=1 ничего не делаем. Суммируем с переносом В+В или другими словами сдвигаем В влево.
Всё это продолжаем пока С>0.
0
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 46
01.04.2016, 13:44  [ТС]
а примерно текстом программы просто я не очень понимаю, я прибавить смог но много сдвигов вставлял. вот код как у меня вышло, но я пытаюсь сделать типо что бы не много dec вставлять а в цыкле. не могу понять как сделать что бы сдвигался до определенного значения допустим 6 сдвигов! если сможете обьясните как)
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
68
.aseg ddd,data ; cr, lf
.aseg ccc,code   ; cr, lf
 
 
            mov r0,#2fh     ;
mov @r0,#08Ah    ;
inc r0  ;
mov @r0,#09Bh     ;
 
mov a,@r0       ;
mov b,#78h      ;
mul ab         ;
mov r1,#5h     ;
mov @r1,a       ;
dec r1          ;
mov @r1,b      ;
dec r0          ;
 
 
mov a,@r0       ;
mov b,#78h      ;
mul ab         ;
mov r1,#3h     ;
mov @r1,a       ;
dec r1          ;
mov @r1,b      ;
dec r0          ;
 
mov r1, #4h     ;
mov A,@r1      ;
mov A,@r1       ;
mov r0, #3h     ;
mov B,@r0       ;
add A,B        ;
mov r1, #11h    ;
mov @r1, A     ;
inc r1         ;
dec r1         ;
 
clr c           ;
mov r1, #2h     ;
mov A,@r1         ;
mov r0, #5h        ;
mov B,@r0        ;
MOV A, B         ;
dec A;
 
                 mov r1, #12h;
mov @r1, B;
 
 M1: dec B;
 ajmp M1;
 
add A,B;
                mov r1, #10h;
mov @r1, A;
inc r1;
 
 
                 mov r0,#5eh     ;
mov @r0,#087h    ;
inc r0  ;
mov @r0,#0B4h     ;
inc r0  ;
mov @r0,#037h     ;
 
jmp $            ;
.end
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.04.2016, 13:44
Помогаю со студенческими работами здесь

Вычислить значение выражения и записать это значение в файл
Даны целые положительные числа m и n. Получить...(скрин формулы). Результат записать в файл. (При исчислении использовать процедуру или...

Вычислить значение выражения (значение х ввести с компонента Edit)
Перевести математическую формулу на язык с++

Вычислить сумму чисел:в указанном пределе, с неопределенным пределом. Вычислить значение выражения
s=\sum_{n=1}^{15}*{(-1)}^{n+1}*\frac{2*sin(n*x)}{n},y=x Помогите найти ошибку. unit Unit1; interface uses Windows,...

Вычислить значение выражения, факториал вычислить с помощью рекурсии
Помогите пожалуйста с задачей на языке С Вычислить значение выражения y = (n! + a!)/p. Вычисление факториала оформить в виде...

Вычислить значение выражения при заданных исходных данных. Сравнить полученное значение с указанным правильным результат
При x = 3.74 ; y=–0.825; z = 0.16 2 10− × 2 ×10 ответ s = 1.05534.


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru