engelmarkus
Erfahrenes Mitglied
Guten Abend zusammen!
Ich habe hier ein sehr merkwürdiges Problem, ich weiß nicht, woher das kommt.
In meinem Code habe ich eine kleine Schleife, mit "loop" gibts eine Access Violation, mit einer "selbstgeschriebenen" Schleife, die meiner Meinung nach exakt dasselbe tut, funktioniert es.
So wie er im Moment oben ist, funktioniert der Code nicht. Wenn man stattdessen das "loop" auskommentiert und dafür das mit cmp und jnz dazunimmt, geht es.
Ich habe hier ein sehr merkwürdiges Problem, ich weiß nicht, woher das kommt.
In meinem Code habe ich eine kleine Schleife, mit "loop" gibts eine Access Violation, mit einer "selbstgeschriebenen" Schleife, die meiner Meinung nach exakt dasselbe tut, funktioniert es.
Code:
section .data
titel db 'Hallo du!', 13, 10, 0
titelL equ $ - titel-1
section .code
global main
main:
push byte 1 ; Verschiebung
push word titelL-2 ; Länge
push dword titel ; Text
call CaesarVerschluesselung
....
ret
CaesarVerschluesselung:
push ebp
mov ebp, esp
mov esi, [ebp+8] ; Text
mov edi, esi
mov cx, [ebp+12] ; Länge
mov dl, [ebp+14] ; Verschiebung
xor dh, dh
@schleife:
lodsb
add ax, dx
stosb
; dec cx
; cmp cx, 0
; jnz @schleife
loop @schleife
mov esp, ebp
pop ebp
ret 7
So wie er im Moment oben ist, funktioniert der Code nicht. Wenn man stattdessen das "loop" auskommentiert und dafür das mit cmp und jnz dazunimmt, geht es.
Zuletzt bearbeitet: