Форум программистов, компьютерный форум, киберфорум
Наши страницы

Assembler, MASM, TASM

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.94
blinds
4 / 4 / 1
Регистрация: 22.02.2009
Сообщений: 35
#1

Умножение word*word - Assembler

15.09.2010, 01:03. Просмотров 2393. Ответов 3
Метки нет (Все метки)

Доброго всем времени суток. Есть такой вопрос:
Собственно при умножении word*word= dword. Результат храниться в dx:ax, как старшая часть:младшая часть. Если, к примеру, умножить 2*65000, получим 1FBD0h. dx=1h; ax=FBD0h;
Получается, старшая часть храниться в регистре dx просто как единица.
А если результат умножения мне надо поместить в переменную r типа dd, как это сделать?
Вот такой вариант вызывает ошибку. Перерыл много статей, но так и не нашел ответа на вопрос.
Assembler
1
2
mov r,ax
mov r+2,dx
Вот еще программа на всякий случай.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
data Segment
a dw 2
b dw 65000
r dd ?
 
data Ends
 
  code segment
  assume cs:code, ds:data
  begin:
mov ax,data
mov ds,ax
    mov ax,a
    mul b
    mov r,ax
    mov r+2,dx
    
mov      ax,4c00h      
int      21h
    code ends
    end begin
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2010, 01:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Умножение word*word (Assembler):

Умножение Byte на Word и Word на Byte - Assembler
Есть ли какая-то разница при умножении 1) Байта на Ворд 2) Ворда на Байт ???? во втором случае я применил для Байта СBW в...

Double Word - Assembler
нужно реализовать сумму,разность,умножение и деление целых положительных чисел типа DD (Define Double word). Плюс ввод, вывод длинных...

mov eax,ss: [word ptr bp] [di+4] - Assembler
Определите способ адресации операндов в команде и напишите результат её выполнения При вычислении адреса считать: DS=0010h, SS=1000h,...

Вычисление квадрата параметра типа word - Assembler
Условие: Дано число Y – слово. Вычислить Z = Y * Y. Подскажите пожалуйста, как исправить ошибки. Заранее спасибо. .model small ...

Установлен МАSМ32V11, как запустить Неllo Word - Assembler
Здравствуйте, только поставила МАSМ32V11, не понимаю как запустить Неllo Word. посмотрела видюху в вершине тем, но на этапе ml /c A.asm...

Вывести целое положительное число типа word на экран в десятичной СС. Прокомментировать код - Assembler
Вобщем, есть задача: Реализовать процедуру, выводящую целое положительное число типа word на экран в десятичной системе ...

3
Goodwin98
2521 / 817 / 9
Регистрация: 31.05.2009
Сообщений: 1,672
15.09.2010, 04:50 #2
Может быть
Assembler
1
2
mov word ptr [r],ax
mov word ptr [r+2],dx
1
blinds
4 / 4 / 1
Регистрация: 22.02.2009
Сообщений: 35
15.09.2010, 20:24  [ТС] #3
Спасибо, помогло. Не знал, что ptr можно так использовать. Я думал можно только брать часть от чего-то.
0
Goodwin98
2521 / 817 / 9
Регистрация: 31.05.2009
Сообщений: 1,672
15.09.2010, 20:29 #4
Вы тут и так берете часть чего-то - часть DWORD'а r
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2010, 20:29
Привет! Вот еще темы с ответами:

Запишите код команды ADD A,0B3h если смещение ячейки с именем А размером с word в сегменте данных равно 23D3h - Assembler
Запишите код команды ADD A,0B3h если смещение ячейки с именем А размером с word в сегменте данных равно 23D3h. Содержимое каких регистров...

"Hello Word!!!" не идет на masm - Assembler
Когда я не сохраняясь запустил программу то выдала ошибку как на скрине, а когда сохранил код то просто ничего не появилось. Помогите...

Кто-нибудь видел word-doc с созданием Doom на ассемблере? - Программирование
кто-нибудь видел word-doc с созданием Doom на ассемблере?

умножение - Assembler
нужно перемножить 2 числа 700 и 900. проблема именно в том, что числа большие и не знаю каким типом их описать, результат не влазиет в...


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

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

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