Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Assembler » test und cmp

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
13.10.2004, 17:55 Uhr
(un)wissender
Niveauwart


Moin!

Habe mal eine FRage zu cmp und test, beide setzen doch das Zero-flag auf ein wenn ein Vergleich 0 ergibt.

Die folgende Prozedur realisiert strcpy, hier wird cmp für den Vergleich mit 0 benutzt.
test sollte auch exakt passen, aber es funzt damit nicht, warum?


Code:
stringCpy PROC destination:PTR, source:PTR
    push esi
    push edi
    mov esi, source
    mov edi, destination
copy:
    cmp byte ptr [esi], 00h ;test sollte auch gehen, tut es aber nicht
    je return
    mov al, byte ptr [esi]
    mov byte ptr [edi], al
    inc esi
    inc edi
    jmp copy
    
return:
    mov byte ptr [edi], 00h
    mov eax, destination
    pop edi
    pop esi
    ret
stringCpy ENDP


--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.10.2004, 19:23 Uhr
(un)wissender
Niveauwart


Also man muss test byte ptr [esi], FFh nehmen, da test ein verkapptes AND ist und AND mit 0 ist immer 0...
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Assembler ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: