سلام.
دوستان من میخوا داخل یه رشته یه کلمه رو جستجو کنم و بگم که توی چندمین کاراکتر برگردونده شد....یهمی مثلا این کلمه از کاراکتر شماره 6 رشته شروع میشه
یه چیزهایی نوشتم ولی جواب نداده


کد:
data segment
    MSG1 DB 10,13,'ENTER ANY STRING :- $'
    MSG2 DB 10,13,'ENTER Key STRING :- $'
    MSG3 DB 10,13,' $'
    MSG4 DB 10,13,'NOTING FOUND IN THE STRING $' 
    MSG5 DB ' FOUND IN THE GIVEN STRING $'
    ;CHAR DB ?
    COUNT DB 0
    P1 LABEL BYTE
    P2 LABEL BYTE
    
    M1 DB 0FFH
    L1 DB ?
    P11 DB 0FFH DUP ('$')
    P22 DB 0FFH DUP ('$')
    pkey db "press any key...$"
ends



DISPLAY MACRO MSG
    MOV AH,9
    LEA DX,MSG
    INT 21H
ENDM 

ASSUME CS:CODE,DS:DATA


        MOV AX,DATA
        MOV DS,AX                
               
        DISPLAY MSG1
       
        LEA BX,P1
        MOV AH,0AH    
        INT 21H
        
        MOV BX,DX
        
        DISPLAY MSG2
        
             LEA DX,P2
        MOV AH,0AH    
        INT 21H
       
        
        DISPLAY MSG3
       
        LEA SI,P11
        LEA DI,P22
                      
        MOV CL,L1
        MOV CH,0  
        
        USEOF_REPSCAS:
       
CHECK:
        MOV AL,[SI]
        MOV BL,[DI]
        CMP BL,AL
        JNE SKIP
        INC COUNT       
SKIP:       
        INC SI
        INC DI
        LOOP CHECK
             
        CMP COUNT,0
        JE NOTFOUND
             
        DISPLAY MSG3
       
        MOV DL,COUNT
        ADD DL,30H
        MOV AH,2
        INT 21H 
               
        DISPLAY MSG5
        JMP EXIT 
NOTFOUND:      
        DISPLAY MSG4
               
EXIT:   MOV AH,4CH
        INT 21H


موضوعات مشابه: