0 / 0 / 0
Регистрация: 01.11.2017
Сообщений: 6
1

[intel8051] Реализовать подпрограммы на ассемблере для сложения, вычитания, умножения 32 разрядных чисел

16.12.2017, 11:50. Показов 3154. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Реализовать три подпрограммы (вызываемые с помощью команды call), принимающие в качестве аргументов в регистрах r0–r3 первое беззнаковое 32-битовое число и в r4–r7 – второе и возвращающие результат в виде знакового 64-битового числа в регистрах r0–r7. Функции подпрограмм:
- первая: сложить первое и второе числа;
- вторая: из первого числа вычесть второе;
- третья: перемножить числа.

_____
please, HELP!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2017, 11:50
Ответы с готовыми решениями:

Реализовать операции сложения, вычитания, умножения для целых знаковых 32-х разрядных чисел
Помогите плиз.

Реализовать процедуры сложения и умножения двух сто разрядных чисел
Выручайте, совершенно ничего не понимаю в программировании,а в университете поставили данную...

Реализовать алгоритм умножения 2 целых чисел с использованием только операций сложения и вычитания
Доброго времени суток, необходимо реализовать алгоритм умножения 2 целых чисел с использованием...

На перегрузку операторов. Описать класс комплексных чисел. Реализовать операцию сложения, умножения, вычитания
На перегрузку операторов. Описать класс комплексных чисел. Реализовать операцию сложения,...

Создать класс для работы с двоичными числами реализовать в нем операцию сложения, умножения, вычитания
создать класс для работы с двоичными числами реализовать в нем операцию сложения умнежения вычитания

5
пофигист широкого профиля
4682 / 3118 / 857
Регистрация: 15.07.2013
Сообщений: 17,970
17.12.2017, 02:09 2
Вы ничего не напутали в формулировке вашего учебного задания?
Ну 1 и 2 задание реализовать - как "два пальца об асфальт". А вот третье...
Для 8-битного процессора 8051 задача умножения/деления двух 16-битных чисел уже выливается в весьма сложную процедуру.
0
1162 / 641 / 108
Регистрация: 15.05.2012
Сообщений: 3,935
17.12.2017, 08:02 3
Цитата Сообщение от Kalancha Посмотреть сообщение
перемножить числа.
Легко.
Цитата Сообщение от northener Посмотреть сообщение
в весьма сложную
Относительно первой и второй. Достаточно прочитать Фрунзе "Микроконтроллеры? Это же просто!" и убедиться в этом.
0
Модератор
Эксперт по электронике
8843 / 6623 / 902
Регистрация: 14.02.2011
Сообщений: 23,311
17.12.2017, 09:17 4
Цитата Сообщение от pyzhman Посмотреть сообщение
Легко.
ой ли
смотрим условие
Цитата Сообщение от Kalancha Посмотреть сообщение
r0–r3 первое беззнаковое 32-битовое число и в r4–r7 – второе и возвращающие результат в виде знакового 64-битового
как из безнакового получить знаковое?
например умножь FFFFFFFF(4294967295) на FFFFFFFF
получим FFFFFFFE00000001( в знаковом -8589934591)
0
483 / 330 / 32
Регистрация: 15.08.2011
Сообщений: 1,054
17.12.2017, 10:33 5
Цитата Сообщение от ValeryS Посмотреть сообщение
получим FFFFFFFE00000001( в знаковом -8589934591)
А его и не возможно перевести в знаковое при заданном в условии количестве разрядов. Надо либо ввести знак переполнения (т.е. ошибка операции), либо оставить как есть. Так как другие числа переводятся в знаковые без изменения содержимого, а флаг ошибки автоматически получается в самом старшем разряде.
0
6718 / 2694 / 375
Регистрация: 17.02.2013
Сообщений: 3,963
23.12.2017, 03:08 6
Цитата Сообщение от ValeryS Посмотреть сообщение
как из безнакового получить знаковое?
Так условие сформулировано не вполне корректно.

Добавлено через 13 минут
Цитата Сообщение от northener Посмотреть сообщение
Для 8-битного процессора 8051 задача умножения/деления двух 16-битных чисел уже выливается в весьма сложную процедуру.
На вскидку вроде бы так (умножение 16-битных беззнаковых):
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
; Z = X * Y
        mov     a, X_lo
        mov     B, Y_lo
        mul     ab
        mov     Z_lo, a
        mov     Z_melo, B
;
        mov     a, X_hi
        mov     B, Y_lo
        mul     ab
        add     a, Z_melo
        mov     Z_melo, a
        jnc     @1
        inc     B
@1:     mov     Z_mehi, B
;
        mov     a, X_lo
        mov     B, Y_hi
        mul     ab
        add     a, Z_melo
        mov     Z_melo, a
        mov     a, B
        addc    a, Z_mehi
        mov     Z_mehi, a
        clr     a
        rlc     a
        mov     Z_hi, a
;
        mov     a, X_hi
        mov     B, Y_hi
        mul     ab
        add     a, Z_mehi
        mov     Z_mehi, a
        mov     a, B
        addc    a, Z_hi
        mov     Z_hi, a
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2017, 03:08
Помогаю со студенческими работами здесь

Отладить функцию для сложения, вычитания, умножения и деления двух чисел
Не могу найти ошибок,программа не правильно работает. Вот условие : Напишите программу, которая...

Класс для выполнения операций сложения, вычитания и умножения комплексных чисел
Условие: Составить описание класса для представления комплексных чисел. Обеспечить выполнение...

Реализовать функции сложения, вычитания и умножения матриц
Задание: Разработать программу для работы с двумя матрицами. Реализовать функции сложения,...

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

Как написать программу сложения двух целых 16- разрядных чисел?На ассемблере
Как написать программу сложения двух целых 16- разрядных чисел?На ассемблере. Только начал изучать...

Реализовать класс векторов, переопределив операции сложения, вычитания, умножения
Реализовать класс векторов, переопределив операции сложения, вычитания, умножения векторов и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru