С клавиатуры вводится 10 цифр. Вывести на экран их сумму - Assembler

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

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

Сделал через цикл чтобы вводились 10 цифр, но как сделать чтобы их сложить можно было?
data segment
data ends
code segment
start:  
assume cs:code, ds:data
        mov     ax,    data
        mov     ds,     ax
 
    mov ah, 01
    int 21h
    mov bl, al
    sub bl, 30h
    mov cx, 9
    mov dl, '0'
cikl:    
    int 21h
    inc dl
    loop cikl
mov     ax,     4C00h
int     21h
code ends 
end start

Решение задачи: «С клавиатуры вводится 10 цифр. Вывести на экран их сумму»

textual
Листинг программы
data segment
data ends
stk segment stack
db 1024 dup(?)
stk ends
code segment
start:
assume cs:code, ds:data
        mov     ax,     data
        mov     ds,     ax
 
        mov     bx,     0
        mov     cx,     10
@@For:
        mov     ah,     01h
        int     21h
        sub     al,     '0'
        add     bl,     al
 
        mov     ah,     02h
        mov     dl,     '+'
        int     21h
        loop    @@For
 
        mov     ah,     02h
        mov     dl,     8
        int     21h
        mov     ah,     02h
        mov     dl,     '='
        int     21h
 
 
        mov     ax,     bx
        aam
        add     ax,     '00'
        mov     bx,     ax
 
        mov     ah,     02h
        mov     dl,     bh
        int     21h
        mov     dl,     bl
        int     21h
 
        mov     ax,     4C00h
        int     21h
code ends
end start

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

  1. Ввод 10 цифр с клавиатуры
  2. Выполнение операции сложения цифр
  3. Вывод результата на экран

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


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

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

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