Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 03.11.2010
Сообщений: 4
1

По приведенному алгоритму произвести сложение двух 16 разрядных чисел с получением 32 разрядного результата

03.11.2010, 13:17. Просмотров 4595. Ответов 3
Метки нет (Все метки)

Задача №1
По приведенному алгоритму произвести сложение двух 16 разрядных чисел с получением 32 разрядного результата
1. Очистить счетчик переносов
2. Занести первое слагаемое в сумматор
3. Прибавить к сумматору второе слагаемое
4. Если есть перенос выполнить п. 5 иначе п. 6
5. Увеличить счетчик переносов
6. Закончить вычисления
Сложение двух 32 разрядных числа с получением 32 разрядного результата произвести по алгоритму:
1. Сложить младшие слова чисел
2. Операцией сложения с учетом переноса сложить старшие слова слагаемых
По алгоритму умножения двоичных чисел в столбик, произвести умножение двух 16 разрядных чисел с получением 32 разрядного результата
1. Обнулить сумматор
2. Указатель бита установить в 1
3. Если соответствующий бит множителя равен 1, выполнить п. 4 иначе п. 5
4. Увеличить сумму на множимое
5. Сдвинуть сумму на один разряд вправо
6. Сдвинуть влево указатель бита
7. Если бит не последний выполнить пункт 3
8. Закончить вычисления
Проделать умножение этих же чисел с помощью операции умножения и сравнить результаты.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.11.2010, 13:17
Ответы с готовыми решениями:

Умножение 16 разрядных чисел с получением 32 разрядного результата
Доброго времени суток, требуется написать программу - по алгоритму умножения двоичных чисел в...

PIC16f84A Сложение двух 2-х разрядных двоичных чисел
Помогите с кодом для PiC16f84a со следующими функциями: сложение двух 2-х разрядных двоичных...

Сложение 32-х разрядных чисел на 16 разрядных регистрах
Здравствуйте! Нужно написать программу для сложение двух чисел: одно 16разрядное, другое...

[NASM] Произвести сложение двух (любых) чисел
Произвести сложение двух (любых) чисел.

3
44 / 44 / 11
Регистрация: 10.06.2009
Сообщений: 311
Записей в блоге: 2
11.11.2010, 19:17 2
Цитата Сообщение от misha1987 Посмотреть сообщение
Задача №1
По приведенному алгоритму произвести сложение двух 16 разрядных чисел с получением 32 разрядного результата
1. Очистить счетчик переносов
2. Занести первое слагаемое в сумматор
3. Прибавить к сумматору второе слагаемое
4. Если есть перенос выполнить п. 5 иначе п. 6
5. Увеличить счетчик переносов
6. Закончить вычисления
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.model small
.stack 100h
.data
number1 db 25h
number2 db 30h
perenos db 00h
sumator db 00h
.code
mov ax, @data
mov ds, ax
mov al, number1
add al, number2
mov sumator, al
jc punkt5
jmp exit
punkt5:
add perenos, 1
exit:
mov ah, 4ch
int 21h
end
0
4074 / 1789 / 210
Регистрация: 06.10.2010
Сообщений: 4,001
11.11.2010, 19:41 3
Assembler
1
2
3
4
5
6
7
add al, number2
mov sumator, al
jc punkt5
jmp exit
punkt5:
add perenos, 1
exit:
Assembler
1
2
3
add al, number2
mov sumator, al
adc perenos, 0
Добавлено через 6 минут
По алгоритму умножения двоичных чисел в столбик, произвести умножение двух 16 разрядных чисел с получением 32 разрядного результата
1. Обнулить сумматор
2. Указатель бита установить в 1
3. Если соответствующий бит множителя равен 1, выполнить п. 4 иначе п. 5
4. Увеличить сумму на множимое
5. Сдвинуть сумму на один разряд вправо
6. Сдвинуть влево указатель бита
7. Если бит не последний выполнить пункт 3
8. Закончить вычисления
Assembler
1
2
3
4
5
6
7
8
9
xor ax,ax
mov dx,1
a:test [mnojitel],dx
  je b
  add ax,[mnojimoe]
  b:
  shr ax,1
  shl dx,1
jne a
0
44 / 44 / 11
Регистрация: 10.06.2009
Сообщений: 311
Записей в блоге: 2
12.11.2010, 18:35 4
Цитата Сообщение от misha1987 Посмотреть сообщение
Сложение двух 32 разрядных числа с получением 32 разрядного результата произвести по алгоритму:
1. Сложить младшие слова чисел
2. Операцией сложения с учетом переноса сложить старшие слова слагаемых
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@dosCall macro x
mov ah, x
int 21h
endm
.model small
.stack 100h
.data
slovo1 dd 25h
slovo2 dd 30h
suma dd 00h
.code
mov ax, @data
mov ds, ax
mov ax, word ptr slovo1 
add ax, word ptr slovo2
mov word ptr suma, ax
mov ax, word ptr slovo1+2
adc ax, word ptr slovo2+2
mov word ptr suma+2, ax
@dosCall 4ch
end
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2010, 18:35

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

Сложение двух 32-разрядных переменных
Нужно произвести сложение двух 32 разрядных переменных.(Делаю в 2 этапа сложение) Но почему-то при...


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

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

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