Ahojte,
mám problém so zistením počtu veľkých písmen v reťazci. Neviem kde mám chybu v mojom kóde. Tak by som bol vďačný za každú radu :)
name echo
DATA SEGMENT
vstup db 80 ;bude sa citat 80 znakov
pocet db 0 ;tu sa ulozi ich skutocny pocet
; db 80 dup(?) ; miesto pre citany retazec
DATA ENDS
INCLUDE macro.inc
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
start: MOV AX,SEG DATA
MOV DS,AX
MOV AH,0Ah
MOV DX,OFFSET VSTUP
INT 21H
XOR AX,AX
XOR CX,CX
MOV CL,POCET
ADD DX,2
MOV SI,DX
MOV BX,OFFSET VYSTUP
ZNOVA:
MOV AL,[SI]
CMP AL,41h ;41h = 'A'
JB DALEJ
CMP AL,5bh ;5Ah = 'Z'
JNB DALEJ
ADD POCET,1
CMP AL,'$'
JE KONIEC_RETAZCA
DALEJ:
INC SI ;dalsi znak
LOOP ZNOVA
KONIEC_RETAZCA:
RIADOK
MOV DL,POCET
ADD DL,'0' ;prevedenie na znak
MOV AH,02h
INT 21h
mov ah,4ch
int 21h
code ends
end start