Стеком сколько угодно, пока не будет переполнения.
Еще один извращенский вариант:
Код:
var
a,b,c,d,...,z:integer;
begin
asm
mov esi, offset z
mov ecx, 25
mov ebx, z
@1:
sub esi, 4
mov eax, [esi]
mov [esi+4], eax
loop @1
mov eax, [esi]
mov a, ebx
end;
end;
Правда сработает ТОЛЬКО если эти переменные подряд объявлены и если компилятор не поменяет их порядок.
Хотя обычно компилятор такой ерундой не занимается.