zdravim mam problem so zadanim ...vypisuje mi toto
http://i43.tinypic.com/or8nzs.png-------------------------
a tu je zdrojak...ma vypisat slova v ktorych je 2krat viac oepratorov ako malych znakov...tie chyby su kokretne v tychto raidkoch
mov al, male_znaky
mov ah, 2
mul ah
cmp al, operatori
----------------
a tu je cely zdrojak...prosim pomozte v stvrtok to mam odovzdat nevem cim to jeeee...diks
.MODEL SMALL
.STACK 100H
.DATA
retazec DB "Zadaj retazec : ",10,13,"$"
pocet_slov DB "Pocet vyhovujucich slov : $"
operatori DW 0
male_znaky DW 0
vyh_slovo DB 0
.CODE
START:
mov AX,@DATA
mov DS,AX
mov AH,09H
mov DX,OFFSET retazec
mov ah,0Ah
int 21H
mov bx, offset retazec
xor cx, cx
mov cl, byte ptr[bx+1]
mov si, bx
add si, 2
MAIN:
cmp [bx+si], 20h ; medzera = nove slovo
je KONTROLA
cmp [bx+si], 61h ; kontrola, ci sa jedna o male pismeno
jl OPERATOR
cmp [bx+si], 7Ah
jg OPERATOR
inc male_znaky
jmp DALSI_ZNAK
OPERATOR:
cmp [bx+si], 2Ah ; kontrola, ci sa jedna o operator
jl DALSI_ZNAK
cmp [bx+si], 2Fh
jg DALSI_ZNAK
inc operatori
jmp DALSI_ZNAK
KONTROLA:
call SKONTROLUJ
DALSI_ZNAK:
inc si
loop START
call SKONTROLUJ
KONIEC:
mov AH,09H
mov DX,OFFSET pocet_slov
int 21H
mov ax, 4C00h
int 21h
SKONTROLUJ PROC
mov ax, male_znaky
mov di, 2
mul di
cmp ax, operatori
jne DELETE
inc vyh_slovo
DELETE:
mov male_znaky, 0
mov operatori, 0
ret 0
ENDP SKONTROLUJ
END START