Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- format mz
- jmp start
- string db 13,10,' Enter string..........: $'
- ;keyword db 13,10,' Enter keyword........: $'
- keywordPrint db 13,10,' Keyword...............: $'
- buff db 80,0,80 dup(0) ; буфер для строки
- keywordBuff db 80,0,80 dup(0)
- start: mov dx,string ;
- call message ;
- mov ah,0Ah ; fn(0A) ввод в буфер
- mov dx,buff ;
- int 21h ;
- ; mov dx,keyword ;
- ; call message ;
- ; mov ah,0Ah ; fn(0A) ввод в буфер
- ; mov dx,keyword
- ; int 21h
- mov dx,keywordPrint;
- call message ;
- xor cx,cx ;
- mov ax,'s' ; символ для поиска
- call findSymbol ; зовём функцию..
- ;mov dx,keywordPrint ;
- ;call message ;
- ;mov bl,'s' ;
- ;call findSymbol ;
- exit: xor ax,ax ;
- int 16h ;
- int 20h ; выход!
- ;eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
- message: ;
- mov ah,9 ; выводим на экран сообщение
- int 21h ;
- ret ;
- ;------------------------------------------------------
- findSymbol: ; символ для поиска в AL
- xor ah,ah ; AH будет счётчиком
- mov cl,[buff+1] ;
- mov di,buff+2 ;
- cycle: repne scasb ; поиск..
- or cx,cx ; всю строку проверили?
- jz print ;
- inc ah ; счётчик +1
- jmp cycle ;
- print: shr ax,8 ; отправляем результат в AL
- aam ; переводим в распакованное BCD
- or ax,3030h ; ..и в символы
- xchg ah,al ;
- int 29h ;
- shr ax,8 ;
- int 29h ; выводим число на экран
- ret ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement