cmp String



  • Ich habe folgende Funktion:

    ReadString:
        mov cx,10
        mov di,Array
        mov bx, 0007h ; Warum auch immer wieder
    
        loopit:
        xor ah,ah
        int 16h
        cmp al, 0Dh
        je fertig
        mov ah,0Eh
        int 10h
        stosb
        loop loopit
        fertig:
        mov al,0
        RET
    

    Ich bin noch ein Anfänger und würde wissen wie ich den einegeben string nun vergleichen kann :

    mov al,Array
        cmp al, 'reboot'   
        jz near test
    

    funktioniert nicht.
    Danke



  • google mal nach dem Befehl cmpsb, bzw. mit dem rep-Praefix, also rep cmpsb.

    Erwartet dann die Anzahl der zu vergleichenden Zeichen dann in cx, Pointer auf den einen String in ds:si und auf den 2. in es:di.
    Nach der Pruefung sind die Flags entsprechend gesetzt, so dass du das Ergebnis zB. mit je/jne ueberpruefen kannst.

    Zuletzt waere es evtl. sinnvoll darueber nachzudenken, was du in deinem eigenen Versuch geschrieben hast, und warum das so nicht funktionieren kann...


Log in to reply