Найти сумму положительных чисел массива - Assembler

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

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

Для программы ниже дописать ввод массива с клавиатуры и вывод результата на экран

Решение задачи: «Найти сумму положительных чисел массива»

textual
Листинг программы
InputInt proc 
    push dx
    push bx
    push cx
    push si
    push di
    push ds
    push cs
    pop ds
    mov ah,0ah
    xor di,di
    mov dx, offset buff 
    int 21h
    mov dl,0ah
    mov ah,02
    int 21h 
    mov si,offset buff+2 
    cmp byte ptr [si],"-"
    jnz ii1
    mov di,1  
    inc si    
ii1:
    xor ax,ax
    mov bx,10  
ii2:
    mov cl,[si] 
    cmp cl,0dh  
    jz enddecin
    
    cmp cl,'0'  
    jl er
    cmp cl,'9'  
    ja er
 
    sub cl,'0'
    mul bx   
    add ax,cx
    inc si    
    jmp ii2  
er:  
    mov dx, offset error
    mov ah,09
    int 21h
    int 20h
 
enddecin:
    cmp di,1 
    jnz ii3
    neg ax   
ii3:
    pop ds
    pop di
    pop si
    pop cx
    pop bx
    pop dx
    ret
error db "incorrect number$"
buff    db 6,7 Dup(?)
InputInt endp

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


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

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

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