asm でループを作成しようとすると、いくつかの問題が発生しました。そこで、ループだけで別のコードを作成しました。問題は、 をデクリメントまたはインクリメントするecx
と、変数がめちゃくちゃになることです。decなしでループ命令を使用しても機能しません。ecx
to ループを使用するにはどうすればよいですか?
コード
section .text
global main
extern printf
section .data
FORMAT: db "L", 10, 0 ; just to print the L 10 times
main:
mov ecx, 10 ; start the counter in 10
jmp runloop ; i imagine i dont need it
runloop:
push FORMAT
call printf
add esp, 4
dec ecx
cmp ecx, 0
jne runloop