Ввести два любых числа с клавиатуры и вывести их сумму - Assembler
Формулировка задачи:
Компилятор Dos, приложение tasm 1.4
Решение задачи: «Ввести два любых числа с клавиатуры и вывести их сумму»
textual
Листинг программы
data segment a db 2 b db 3 y db ? Message db 'y=', '$' data ends code segment start: assume cs:code, ds:data mov ax, data mov ds, ax mov al, 2 add al, 3 mov [y], al ;вывод сообщения mov ah, 09h lea dx, [Message] int 21h ;вывод результата ; - преобразование числа в символ mov al, [y] ; - вывод символа результата вычисления mov ah,02h mov dl,al int 21h ;ожидание нажатия любой клавиши mov ah, 08h int 21h or al, al mov ah, 08h ;то считать расширенный символ int 21h ;очистив тем самым буфер клавиатуры ;конец программы mov ax, 4C00h int 21h
Объяснение кода листинга программы
- Ввод двух чисел с клавиатуры: в коде нет прямой инструкции для ввода чисел, но предполагается, что числа уже введены и сохранены в переменных ax и bx (код не проверяет их наличие или корректность ввода).
- Вычисление суммы введенных чисел: в коде есть инструкция mov al, 2, которая сохраняет в al первое число. Затем следует инструкция add al, 3, которая складывает это число (в al) с 3. Результат сохраняется в переменной y.
- Вывод сообщения и результата: в коде есть инструкции mov ah, 09h и lea dx, [Message], которые выводят сообщение 'y='. Затем следует инструкция int 21h, которая выводит символ доллара ($). Далее есть инструкции mov ah, 02h и mov dl, al, которые выводят результат вычисления (в данном случае, 5).
- Ожидание нажатия любой клавиши: в коде есть инструкция mov ah, 08h, которая устанавливает регистр ah в состояние, необходимое для ввода символа. Затем следует инструкция int 21h, которая ожидает нажатия клавиши.
- Очистка буфера клавиатуры: в коде есть инструкция mov ah, 08h, которая устанавливает регистр ah в состояние, необходимое для ввода символа. Затем следует инструкция int 21h, которая очищает буфер клавиатуры.
- Конец программы: в коде есть инструкция mov ax, 4C00h, которая устанавливает регистры ax и bx в значения, необходимые для завершения программы. Затем следует инструкция int 21h, которая завершает программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д