Как, используя клавиатуру, преобразовать цифру в ASCII-код и вывести на дисплей? - Assembler
Формулировка задачи:
Как, используя клавиатуру, преобразовать цифру в ASCII-код и вывести на дисплей? С подсказками, которые есть на сайте не получается там синтаксис немного отличается. Помогите пожалуйста.
Решение задачи: «Как, используя клавиатуру, преобразовать цифру в ASCII-код и вывести на дисплей?»
textual
Листинг программы
- RD #40
- WR R1
- RD #10
- WR R2
- CALL M
- WR R6
- RD #60
- WR R1
- RD #5
- WR R2
- CALL M
- WR R7
- RD #80
- WR R1
- RD #10
- WR R2
- CALL M
- ADD R7
- ADD R6
- DIV #3
- OUT
- HLT
- M: RD #0
- WR R3
- L2: RD @R1+
- JNS M1
- RD R3
- ADD #1
- WR R3
- M1: JRNZ R2,L2
- RD R3
- RET
Объяснение кода листинга программы
- RD #40 — Чтение числа 40 из памяти в регистр R1.
- WR R1 — Запись значения регистра R1 в память.
- RD #10 — Чтение числа 10 из памяти в регистр R2.
- WR R2 — Запись значения регистра R2 в память.
- CALL M — Вызов подпрограммы M.
- WR R6 — Запись значения регистра R6 в память.
- RD #60 — Чтение числа 60 из памяти в регистр R1.
- WR R1 — Запись значения регистра R1 в память.
- RD #5 — Чтение числа 5 из памяти в регистр R2.
- CALL M — Вызов подпрограммы M.
- WR R7 — Запись значения регистра R7 в память.
- RD #80 — Чтение числа 80 из памяти в регистр R1.
- WR R1 — Запись значения регистра R1 в память.
- RD #10 — Чтение числа 10 из памяти в регистр R2.
- CALL M — Вызов подпрограммы M.
- ADD R7 — Сложение значения регистра R7 с неизвестным числом (недостающая операция).
- ADD R6 — Сложение значения регистра R6 с неизвестным числом (недостающая операция).
- DIV #3 — Деление значения регистра R6 на 3 (недостающая операция).
- OUT — Вывод результата на дисплей.
- HLT — Остановка выполнения программы. Подпрограмма M:
- RD #0 — Чтение числа 0 из памяти в регистр R3.
- WR R3 — Запись значения регистра R3 в память.
- L2: RD @R1+ — Чтение значения регистра R1 и его инкремент на 1, затем переход на следующий байт.
- JNS M1 — Если значение регистра R2 (счетчик числа) не равно нулю, то переход на подпрограмму M1.
- RD R3 — Чтение значения регистра R3 из памяти.
- ADD #1 — Увеличение значения регистра R3 на 1.
- WR R3 — Запись значения регистра R3 в память.
- M1: JRNZ R2,L2 — Если значение регистра R2 не равно нулю, то повторный вызов подпрограммы L2.
- RD R3 — Чтение значения регистра R3 из памяти.
- RET — Возврат в основную программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д