Hi I am trying to write a program that counts the number of letter in a string.
My code compiles fine but doesnt work when I run it.
My output should be "Capital letters appear x times in y"
Where x is the num (from my code) and y is (txt)
.8086
.model small
.stack 100h
.data
txt db "A Student of Carleton University", 0dh, 0ah, "$"
rslt db "Capital Letter appear x times in y", 0dh, 0ah, "$"
num db ?
.code
main PROC
MOV AX, @data
MOV DS, AX
MOV BX, offset txt
MOV SI, 0
MOV rslt+ 33, AL
CheckForDone:
CMP BYTE PTR [BX+SI], 0dh
JE Done
CMP BYTE PTR [BX+SI], 'A'
JL NEXT
CMP BYTE PTR [BX+SI], 'Z'
JG NEXT
ADD num, 1
NEXT:
ADD SI, 1
JMP CheckForDone
Done:
MOV AL, num
MOV rslt+22, AL
MOV AX, 09h
MOV DX, offset rslt
INT 21h
Exit:
MOV AX, 4C00h
INT 21h
main ENDP
END main