PUSH/POP vs MOV из памяти

Какой из двух ниже перечисленных примеров занимает меньше процессорного времени (тактов) ?

1:

AssemblerВыделить код

1
2
3
4
5

@@:
PUSH  ESI
;тут некий код
POP    ESI
LOOP  @b

2:

AssemblerВыделить код

1
2
3
4

@@:
MOV   ESI, [Variable_A]
;тут некий код
LOOP  @b

В первом случае два обращения к памяти, во втором одно. Но в первом адресуемся к [ESP] (стеку), что может быть в итоге быстрее.

Всё это происходит в цикле, поэтому вопрос, что быстрее не праздный.