Программа для проверки того, присутствуют ли два символа в строке следующие друг за другом.
- title Автор: Довгополов Евгений Сергеевич
- .model small
- .stack 100h
- data segment public
- ____string ______db _"Microsoft Macro "
- _________________db _"Assembler$"
- ____strlen ______equ ($-string)
- ____charFound ___db _"The character is: $"
- ____charNotFound db _"There are no "
- _________________db _"consecutive "
- _________________db _"characters in the "
- _________________db _"string!$"
- ____char ________db _?
- data ends
- code segment public
- ____assume ds:data, cs:code
- ____main proc
- ________mov ____ax, seg data
- ________mov ____ds, ax
- ________xor_____si, si
- ________mov ____cx, strlen
- ________lea ____bx, ds:[string]
- ____MainLoop:
- ________mov ____al, byte ptr[bx+si]
- ________cmp ____al, byte ptr[bx+si+1]
- ________jne ____Continue
- ________mov ____char, al
- ________jmp ____Found
- ____Continue:
- ________inc ____si
- ________loop ___MainLoop
- ________mov ____ah, 09h
- ________lea ____dx, ds:[charNotFound]
- ________int ____21h
- ________jmp ____Done
- ____Found:
- ________mov ____ah, 09h
- ________lea ____dx, ds:[charFound]
- ________int ____21h
- ________mov ____ah, 02h
- ________mov ____dl, char
- ________int ____21h
- ____Done:
- ________mov ____ax, 4C00h
- ________int ____21h
- ____main endp
- code ends
- end main