Как, используя клавиатуру, преобразовать цифру в 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 — Возврат в основную программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д