Ввод двух чисел, сложение и вывод - Assembler

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

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

Добрый день. В ступоре от ассемблера))) не в обиду ни кому, просто не привычно. Необходимо ввести 2 числа, сложить их и вывести. Числа только целые и положительные. Код для ввода одного 2х значного числа есть:
code segment
assume cs: code, ds: data;
begin:
        mov ax, data
        mov ds, ax
; Вывод запрса на ввод двух чисел
        mov ah, 09h
        mov dx, offset zapros
        int 21h
; Ввод двух чисел
        mov cx, 2
inpt:  mov ah, 08h
        int 21h
        ; Цифровой символ?
        cmp al, '0'
        jb inpt       ; Если ниже нуля повторный ввод
        cmp al, '9'
        ja inpt       ; Если больше девяти повторный ввод
        ; вывод цифры
        mov ah, 02h
        mov dl, al
        int 21h
        loop inpt     ; Вывод следующей цифры
; Задержка для просмотра результатов
        mov ah, 01h
        int 21h
; Выход 
        mov ax, 4C00h
        int 21h
code ends
;--------------------------------------------------
data segment
        zapros db 'Enter two numbers ->  $'
data ends
;--------------------------------------------------
stk segment stack
        db 100h dup (0)
stk ends
;--------------------------------------------------
end begin
Тему завел т.к. много вопросов по коду. Заранее спасибо за ответы.

Решение задачи: «Ввод двух чисел, сложение и вывод»

textual
Листинг программы
inpt:  mov ah, 08h
        int 21h

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

  1. Устанавливаем значение регистра ah в 08h (номер 1)
  2. Вызываем interrupt 21h (номер 2)

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


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

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

13   голосов , оценка 3.846 из 5
Похожие ответы