Как, используя клавиатуру, преобразовать цифру в ASCII-код и вывести на дисплей? - Assembler

Узнай цену своей работы

Формулировка задачи:

Как, используя клавиатуру, преобразовать цифру в ASCII-код и вывести на дисплей? С подсказками, которые есть на сайте не получается там синтаксис немного отличается. Помогите пожалуйста.

Решение задачи: «Как, используя клавиатуру, преобразовать цифру в ASCII-код и вывести на дисплей?»

textual
Листинг программы
  1. RD #40
  2. WR R1
  3. RD #10
  4. WR R2
  5. CALL M
  6. WR R6
  7. RD #60
  8. WR R1
  9. RD #5
  10. WR R2
  11. CALL M
  12. WR R7
  13. RD #80
  14. WR R1
  15. RD #10
  16. WR R2
  17. CALL M
  18. ADD R7
  19. ADD R6
  20. DIV #3
  21. OUT
  22. HLT
  23. M: RD #0
  24. WR R3
  25. L2: RD @R1+
  26. JNS M1
  27. RD R3
  28. ADD #1
  29. WR R3
  30. M1: JRNZ R2,L2
  31. RD R3
  32. RET

Объяснение кода листинга программы

  1. RD #40 — Чтение числа 40 из памяти в регистр R1.
  2. WR R1 — Запись значения регистра R1 в память.
  3. RD #10 — Чтение числа 10 из памяти в регистр R2.
  4. WR R2 — Запись значения регистра R2 в память.
  5. CALL M — Вызов подпрограммы M.
  6. WR R6 — Запись значения регистра R6 в память.
  7. RD #60 — Чтение числа 60 из памяти в регистр R1.
  8. WR R1 — Запись значения регистра R1 в память.
  9. RD #5 — Чтение числа 5 из памяти в регистр R2.
  10. CALL M — Вызов подпрограммы M.
  11. WR R7 — Запись значения регистра R7 в память.
  12. RD #80 — Чтение числа 80 из памяти в регистр R1.
  13. WR R1 — Запись значения регистра R1 в память.
  14. RD #10 — Чтение числа 10 из памяти в регистр R2.
  15. CALL M — Вызов подпрограммы M.
  16. ADD R7 — Сложение значения регистра R7 с неизвестным числом (недостающая операция).
  17. ADD R6 — Сложение значения регистра R6 с неизвестным числом (недостающая операция).
  18. DIV #3 — Деление значения регистра R6 на 3 (недостающая операция).
  19. OUT — Вывод результата на дисплей.
  20. HLT — Остановка выполнения программы. Подпрограмма M:
  21. RD #0 — Чтение числа 0 из памяти в регистр R3.
  22. WR R3 — Запись значения регистра R3 в память.
  23. L2: RD @R1+ — Чтение значения регистра R1 и его инкремент на 1, затем переход на следующий байт.
  24. JNS M1 — Если значение регистра R2 (счетчик числа) не равно нулю, то переход на подпрограмму M1.
  25. RD R3 — Чтение значения регистра R3 из памяти.
  26. ADD #1 — Увеличение значения регистра R3 на 1.
  27. WR R3 — Запись значения регистра R3 в память.
  28. M1: JRNZ R2,L2 — Если значение регистра R2 не равно нулю, то повторный вызов подпрограммы L2.
  29. RD R3 — Чтение значения регистра R3 из памяти.
  30. RET — Возврат в основную программу.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы