Помощь - Поиск - Пользователи - Календарь
Полная версия: битовые операции > Информатика / Программирование
Образовательный студенческий форум > Другие дисциплины > Информатика / Программирование
magistr011
-Программа реализуется как ассемблерная вставка в языке высшего уровня (Паскаль, С++ и т.д.).

Заданы два числа <=15. Найти их произведение и с помощью битовых операций записать оба множителя и их произведение одно за другим в ячейку памяти размером в два байта без пропуска битов.

Программу написал на Builder C++ (вернее не всю а только запросы переменных и вывод в окно...) Теперь на асме надо сделать следующее...

в 2 байта по адресу поместить 3 числа (множитель, множитель, произведение), всё это надо без
Небольшая наработка есть, но я запутался (((

mov ebx,[a]; //в еbx множитель
shl еbx,10h; //сдвигаю влево на 4 бита
mov eax,[b]; //в еax второй множитель
or ebx,eax; //в ebx ложу оба множителя
mov dword ptr [с],ebx; //сохраняю в ebx по адресу "с"
imul [b]; // Умножаю
mov word ptr [с+1],ax; // сохраняю произведение по адресу "с+1"

хочу, чтобы в окне выводились числа например когда 15*15=225 выводиться должно 1515225
но когда вывожу "с" в отдельное окно, там всякая бредятина получается, но не например 1515225 (если 15*15=225)

Подскажите что не так ???

да и это с пропусками битов получится, т.к. я незнаю, адрес конца первого множителя... А если первый множитель = 1, в регистр всёравно положится второеймножитель, но не прямо сразу за первым...

Я думаю надо сделать поиск конца числа по адресу и сразу за этим числом по адресу ложить следующее число, попробовать с помощью процедур и меток...
Например: процедура нахождения адреса конца введённого числа -> прыг на ввод следующего числа -> опять процедура нахождения адреса конца числа...

Подскажите пожалуйста как тут быть, если кто может код написать, прошу, можно без расшифровки кода...

Спасибо...
magistr011
Разобрался сам, всем спасибо...
Собственно никому не спасибо ))))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.