Программа, которая проверяет, является ли строка строкой заголовком.
- title Автор: Довгополов Евгений Сергеевич
- .model small
- .stack 100h
- data segment public
- ____string ___db _"The Quick Brown Fox$"
- ____strlen ___equ ($-string)
- ____msg_true _db _"True$"
- ____msg_false db _"False$"
- data ends
- code segment public
- ____assume ds:data, cs:code
- ____main proc
- ________mov ____ax, seg data
- ________mov ____ds, ax
- ________mov ____cx, strlen
- ________lea ____si, ds:[string]
- ________call ___CheckString
- ________jnz ____FalseMessage
- ________lea ____dx, ds:[msg_true]
- ________jmp ____Done
- ____FalseMessage:
- ________lea ____dx, ds:[msg_false]
- ____Done:
- ________mov ____ah, 09h
- ________int ____21h
- ________mov ____ax, 4C00h
- ________int ____21h
- ____main endp
- ____CheckString proc
- ________push ___ax
- ________push ___si
- ________mov ____al, 1
- ________jmp ____CheckFirstLetter
- ____CheckLoop:
- ________cmp ____byte ptr[si-1], 20h
- ________jne ____Skip
- ____CheckFirstLetter:
- ________cmp ____byte ptr[si], 41h
- ________jb _____False
- ________cmp ____byte ptr[si], 5Ah
- ________ja _____False
- ________xor ____al, al
- ____Skip:
- ________inc ____si
- ________loop ___CheckLoop
- ________test ___al, al
- ____False:
- ________pop ____si
- ________pop ____ax
- ________ret
- ____CheckString endp
- code ends
- end main