Функция CALL MULTIPLY в Ассемблере - PullRequest
0 голосов
/ 29 мая 2020

Итак, у меня есть небольшая практика через пару часов, и я почти закончил с приготовлениями. Есть одна задача, которую я не совсем понимаю.

Задача:

Для дальнейшей обработки измеренные значения m (0 ≤ m ≤ 255) сохраняются в памяти, начиная с адреса 0x81. Количество n измеряемых величин, подлежащих обработке, находится по адресу 0x80 (1 ≤ n ≤ 15). Напишите программу ОЦЕНКИ, в которой значение 310 умножается на каждое измеренное значение, а затем добавляется значение 510. Рассчитанные измеренные значения следует записать обратно в те же ячейки памяти. Чтобы осуществить умножение, программа MULTIPLY из предыдущей задачи должна быть вызвана как подпрограмма. Чтобы вернуться из подпрограммы в главную программу, подпрограмма должна быть завершена инструкцией RET. Убедитесь, что при вызове подпрограммы никакие соответствующие данные не теряются в основной программе. Стек можно использовать для сохранения данных. Основная программа должна начинаться с адреса 0x60, подпрограмма - с 0x40. Внесите программу в таблицу!

The Table

И мою программу МНОЖЕСТВЕННО надо звонить.

multymulty2

Мне действительно нужно только знать, как реализовать новую функцию, вызвать ее и вернуться без потери моих значений. Я уже проверил свою функцию в симуляторе, и она работает, поэтому не беспокойтесь. Любая помощь приветствуется!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...