Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- include io.asm
- sstack segment stack
- db 128 dup(0)
- sstack ends
- sdata segment
- aoshibka db "Oshibka", "$"
- oshibka dw aoshibka
- avvod_n db "Vvedite n>", "$"
- vvod_n dw avvod_n
- avvod_nv db "Vvedite novoe znachenie>", "$"
- vvod_nv dw avvod_nv
- n db 0
- newval db 0
- matrica db 100 dup(0)
- sdata ends
- scode segment
- .386
- assume cs:scode, ds:sdata, ss:sstack
- start:
- mov ax,sdata
- mov ds,ax
- mov dx,vvod_n
- outstr
- inint ax
- cmp ax,10
- ja toobig
- mov n,al
- mov dx,vvod_nv
- outstr
- inint ax
- cmp ax,255
- ja toobig
- mov newval,al
- mov al,n
- mul al
- mov cx,ax
- mov bx,offset matrica
- ; Ввод массива с клавиатуры
- cicl1:
- inint ax
- cmp ax,255
- ja toobig
- mov [bx],al
- inc bx
- loop cicl1
- newline
- ; Печать массива на экран
- mov ch,0
- mov cl,n
- mov bx,offset matrica
- cicl2:
- push cx
- mov ch,0
- mov cl,n
- cicl21:
- mov ah,0
- mov al,[bx]
- outint ax
- outch ' '
- inc bx
- loop cicl21
- newline
- pop cx
- loop cicl2
- newline
- ; Поиск нулевых элементов
- mov cx,0
- mov bx,offset matrica
- cycl3:
- push cx
- mov cx,0
- cycl31:
- mov al,[bx]
- cmp al,0
- jne nenull
- ;{
- pop dx
- outint dx
- push dx
- outch ' '
- outint cx
- newline
- mov al,newval
- mov [bx],al
- ;}
- nenull:
- inc cx
- inc bx
- cmp cl,n
- jne cycl31
- pop cx
- inc cx
- cmp cl,n
- jne cycl3
- newline
- ; Печать массива на экран
- mov ch,0
- mov cl,n
- mov bx,offset matrica
- cicl4:
- push cx
- mov ch,0
- mov cl,n
- cicl41:
- mov ah,0
- mov al,[bx]
- outint ax
- outch ' '
- inc bx
- loop cicl41
- newline
- pop cx
- loop cicl4
- jmp endprog
- toobig:
- mov dx,oshibka
- outstr
- endprog:
- finish
- scode ends
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement