Tak jak w tytule jak w asemblerze można napisać podwójną pętlę for (pętla w pętli) gdzie oba liczniki będą powyżej 65536 i bez użycia stosu. Z góry wielkie dzięki
0
1
A jaki jest tu problem konkretnie? Trzymasz sobie liczniki w jakichś "zmiennych" i masz dwie sekcje ze skokami. Coś w stylu:
loop1:
; operacje petli zewnetrznej
loop2:
; operacje petli wewnetrznej
mov eax, [m]
cmp eax, 0
ja loop2
mov eax, [n]
cmp eax, 0
ja loop1
0
Robię program wyznaczający liczby pierwsze od k do n. Nie do końca o to mi chodziło, ale wielkie dzięki.
0
Zawsze możesz spojrzeć, co wygenerował kompilator. Trochę to upiększyłem i zmieniłem odwołania do pamięci na odwołania do rejestrów. Poza tym jest to dzieło kompilatora. :D
[bits 32]
section .text
xor eax, eax
jmp check_outside
continue_outside:
xor ebx, ebx
jmp check_inside
continue_inside:
;do something
inc eax
check_inside:
cmp eax, 2
jle continue_inside
inc eax
check_outside:
cmp eax, 4
jle continue_outside
ret
PS nasm