Вопрос № 143688: Доброго времени суток,уважаемые эксперты! Только приступил к изучению Ассемблера (MASM32) и нуждаюсь в Вашей помощи. Найти значение выражения: (a – d)/b + d при a=12; b=17; d=2110 Часть программы в приложении. Благодарен Вам за помощь....Вопрос № 143744: Здравстуйте, уважаемые эксперты! Сегодня меня поздравили с днем программиста. А я не в состоянии написать на Ассемблере программу: сложить два числа и результат вывести
на экран. Передо мной лежат две книги по Ассемблеру (Калашникова и Галисеев...
Вопрос № 143.688
Доброго времени суток,уважаемые эксперты! Только приступил к изучению Ассемблера (MASM32) и нуждаюсь в Вашей помощи. Найти значение выражения: (a – d)/b + d при a=12; b=17; d=2110 Часть программы в приложении. Благодарен Вам за помощь.
cdq ;преобразование двойного слова в учетверенное слово, копирует знаковый бит EAX на все биты EDX idiv @@b ;/@@b
add eax,@@d ;+ @@d
ret Get_Result ENDP
start:
push
d push b push a call Get_Result ;или invoke Get_Result, a,b,d
mov res,eax ;res:= (12 – 2110)/17 + 2110 = 1987
nop
;... ;выход из программы ;...
END start
Ответ отправил: Trulala (статус: 3-ий класс)
Ответ отправлен: 12.09.2008, 04:50
Отвечает: Boriss
Здравствуйте, Alexkharkov! Вот еще вариант более соответствующий masm32 - используются полезные макросы (отсюда и название masm ) Снабдил кое-какими пояснениями, если не понятно что будет - пишите
Приложение:
--------- Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор) Россия, Саранск Организация: Мордовский госуниверситет, Саранск, Факультет Электронной Техники WWW:Программирование на Паскале ---- Ответ отправлен: 12.09.2008, 11:44
Вопрос № 143.744
Здравстуйте, уважаемые эксперты! Сегодня меня поздравили с днем программиста. А я не в состоянии написать на Ассемблере программу: сложить два числа и результат вывести на экран. Передо мной лежат две книги по Ассемблеру (Калашникова и Галисеева). Там много чего есть, в том числе и примеры на арифметические действия, только вывод на экран результата не дается. А я без этого не могу двинутся дальше. У меня на компьютере MASM611 с сайта Калашникова. С уважением, Анатолий.
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Швецов Анатолий Прокофьевич!
В приложении программа, которая вводит 3-и числа и считает функцию X*Y+Z, после этого выводится результат. Думаю она будет Вам полезна. Число выводится из регистра. Удачи!
Приложение:
--------- Итерация от человека, рекурсия — от Бога (Питер Дойч)
Ответ отправил: Зенченко Константин Николаевич (статус: Профессор) Украина, Киев Тел.: +380979536619 Адрес: Украина г.Киев ---- Ответ отправлен: 12.09.2008, 17:19 Оценка за ответ: 5 Комментарий оценки: Константин Николаевич, рад знакомству.
Признаюсь, что программа для меня пока сложновата для разбора. Мне на данном этапе было бы достаточно программы для функции y=a+b. Я воспользуюсь Вашим предложением и вышлю код программы мне вполне понятной, но без вывода результата. Спасибо за участие в моем образовании!
Отвечает: Trulala
Здравствуйте, Швецов Анатолий Прокофьевич!
Пример подпрограммы вывода на экран целого числа.
Приложение:
Ответ отправил: Trulala (статус: 3-ий класс)
Ответ отправлен: 13.09.2008, 23:03 Оценка за ответ: 5
Вы имеете возможность оценить этот выпуск рассылки. Нам очень важно Ваше мнение!
* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.
Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!
Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.
Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.