Вопрос № 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