- •Найти количество слов меньше первого.
- •Самое маленькое слово вывести
- •Int 21h ; ввод строки - прерывание дос
- •3. Самое маленькое слово найти.
- •Int 21h ; ввод строки - прерывание дос
- •Int 21h ; ввод строки - прерывание дос
- •Int 21h ; ввод строки - прерывание дос
- •5. Колличество слов в введенной строке.
- •6. Підрахувати кількість слів, коротших ніж останнє
- •7. Количество слов больше первого по длине
- •8. Підрахувати кількість слів праворуч найкоротшого
- •Int 21h ; ввод строки - прерывание дос
- •9. Для вывода слова
- •10. Подсчет колличества букв в слове.
- •11. Колличество слов, больше самого короткого.
- •12. Количество слов после самого короткого
- •13. Підрахувати кількість слів праворуч найбольшего.
9. Для вывода слова
;--------- Search end
xor ax,ax
xor bx,bx
mov al,buffer[1]
mov di,ax
add di,offset buffer + 2
mov exc,di
inc exc
mov bx,di
mov [bx],' '
;--------- Search space
xor bx,bx
xor si,si
mov ax,offset buffer + 2
mov save,ax
mov mas[bx],101
t1: xor ax,ax
cld
mov cl,mas[0]
t3: mov al,' '
mov di,save
cmp di,exc
je t4
REPNE SCAS buffer
je FOUND
NOTFOUND: push offset text
call WrStr
jmp t4
FOUND: xor ax,ax
mov ax,di
sub ax,save
cmp ax,1
je t2
sub di,2
push bx
mov ax,di
mov bx,save
sub ax,bx
pop bx
inc al
inc bx
add si,2
push ax
mov ax,save
mov mas_adr[si],ax
pop ax
mov mas[bx],al
mov al,mas[0]
sub al,mas[bx]
dec al
mov mas[0],al
add di,2
mov save,di
jmp t1
t2: dec cx
mov mas[0],cl
mov save,di
jmp t3
;--------- Search max
t4: xor ax,ax
mov si,1
mov Num,si
mov al,mas[si]
dec si
t6: add si,1
cmp al,mas[si]
jg t5
mov Num,si
mov al,mas[si]
t5: cmp bx,si
jne t6
;--------- Search min max
xor cx,cx
mov si,0
t8: inc si
cmp al,mas[si]
jle t7
inc cx
t7: cmp bx,si
jne t8
mov di,cx
mov cx,2
mov ax,bx
inc ax
mul cx
mov cx,ax
xor ax,ax
mov bx,2
mov si,[bp + 12]
a2: mov ax,mas_adr[bx]
mov [si],ax
add si,2
add bx,2
cmp bx,cx
jne a2
mov cx,di
mov bx,Num
xor ax,ax
mov al,mas[bx]
mov di,[bp + 14]
mov [di],ax
mov ax,Num
mov di,[bp + 10]
mov [di],ax
mov sp,bp
pop bp
ret
Processing endp
code ends
end start
10. Подсчет колличества букв в слове.
t2: dec cx
mov mas[0],cl
mov save,di
jmp t3
;--------- Search max
t4: xor ax,ax
mov si,1
mov Num,si
mov al,mas[si]
dec si
t6: add si,1
cmp al,mas[si]
jl t5
mov Num,si
mov al,mas[si]
t5: cmp bx,si
jne t6
mov cx,ax
mov ax,Num
mov di,[bp + 10]
mov [di],ax
mov sp,bp
pop bp
ret
Processing endp
code ends
end start
