Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;Заполнить массив байт фиксированной длины с клавиатуры числами от 0 до 9.
- ;Найти произведение элементов массива.
- model small
- .386
- .stack 100h
- .data
- strLen db 10,13, 'Length: $'
- strInAr db 10,13, 'Input Array: $'
- strMul db 10,13, 'Mul Array: $'
- strEr db 10,13, 'Error $'
- ar db 10 dup(0)
- len db ?
- digit dd 0
- mult dd 1
- error db 0
- temp db 0
- avg db 0
- .code
- input proc
- mov ah, 01h
- int 21h
- sub al, '0'
- cmp al, 9
- ja @error
- jmp @exit1
- @error:
- mov error, 1
- mov ah, 09h
- mov dx, OFFSET strEr
- int 21h
- @exit1:
- ret
- input endp
- inputAr proc
- mov ah, 09h
- mov dx, OFFSET strinar
- int 21h
- mov cl, len
- xor si, si
- @loop:
- call input
- cmp error, 1
- je @exitf
- mov ar[si], cl
- inc si
- loop @loop
- @exitf:
- ret
- inputAr endp
- multi proc
- mov cl, len
- xor si, si
- xor eax, eax
- @loop2:
- mov al, ar[si]
- mul mult
- mov mult,eax
- inc si
- loop @loop2
- mov ah, 09h
- mov dx, offset strmul
- int 21h
- ret
- multi endp
- main:
- mov ax, @data
- mov ds, ax
- mov ah, 09h
- mov dx, OFFSET strLen
- int 21h
- call input
- cmp error, 1
- je @exit
- mov len, al
- call inputAr
- cmp error, 1
- je @exit
- call multi
- @exit:
- mov ah, 04Ch
- int 21h
- end main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement