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

Сложение 32-х разрядных чисел на 16 разрядных регистрах

28.10.2014, 16:17. Показов 4021. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Нужно написать программу для сложение двух чисел: одно 16разрядное, другое 32разрядное. При этом нельзя использовать регистры EAX и т.д... А только AX, BX, CX, DX. Я совсем не понимаю, как это можно реализовать. Поместить старшие и младшие разряды отдельно?
ну и вот моя, какая-никакая попытка

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
org 0100h
MODEL TINY
STACK 256
CODESEG
start:
x dw 1194h
star dw 545h
mlad dw 6584h
mov ax,star
mov bx,mlad
mov cx,x
add bx,cx
RET
end start
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2014, 16:17
Ответы с готовыми решениями:

Деление 32 разрядных чисел с использованием 16 разрядных регистров
Здравствуйте. Когда у нас одно из чисел 32 разрядное, то мы выполняем деление записывая 32 разр....

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

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

Найти количество чисел, попадающих в заданный диапазон в массиве 16-разрядных чисел со знаком
помогите выполнить. Найти количество чисел, попадающих в заданный диапазон в массиве 16-разрядных...

3
2833 / 1642 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
28.10.2014, 16:36 2
Ещё
Assembler
1
adc ax, 0
чтобы возможный перенос учесть. И данные надо бы после кода размещать или jmp через них делать.
0
Ушел с форума
Автор FAQ
16161 / 7499 / 1031
Регистрация: 11.11.2010
Сообщений: 13,496
28.10.2014, 16:41 3
vikusechk,
я правильно понимаю, что к 5456584h нужно прибавить 1194h?
Assembler
1
2
3
4
5
6
mov ax,0
mov bx,[mlad]
add bx,[x]; bx=7718h
adc ax,[star]; ax=545h
mov [result],bx
mov [result+2],ax; [result]=5457718h
1
1 / 1 / 0
Регистрация: 16.03.2014
Сообщений: 107
28.10.2014, 18:24  [ТС] 4
Спасибо большое! скажите, а как можно просмотреть значение переменной result или занести это значение в регистры?

Добавлено через 50 минут
Цитата Сообщение от Mikl___ Посмотреть сообщение
я правильно понимаю, что к 5456584h нужно прибавить 1194h?
Код ASM
1
2
3
4
5
6
mov ax,0
mov bx,[mlad]
add bx,[x]; bx=7718h
adc ax,[star]; ax=545h
mov [result],bx
mov [result+2],ax; [result]=5457718h
Вот, я исправила код, мне нужно чтобы результаты записывались в рег AX и BX, но у меня почему-то туда заносятся 0ACD (AX) и A100 (BX)

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
org 0100h
MODEL TINY
STACK 256
CODESEG
start:
x dw 1194h
star dw 545h
mlad dw 6584h
result dw ?
mov ax,0
mov bx,[mlad]
add bx,[x]; bx=7718h
adc ax,[star]; ax=545h
mov [result],bx
mov [result+2],ax; [result]=5457718h
mov ax, word ptr [result];
mov bx, word ptr [result+2];
 
RET
end start
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2014, 18:24
Помогаю со студенческими работами здесь

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

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

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

Вычитание двух 32-разрядных двоичных чисел
Добрый день! Понимаю, что задача простейшая, но все же вызывает затруднения. Мне надо написать...


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

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

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