Я наткнулся на программу регистрации ключей в asm на форуме.Я думал, что я мог бы создать регистратор ключей сам.Когда я читал код, чтобы увидеть, что на самом деле происходит в этой программе, я натолкнулся на некоторые интересные вещи.
1.Программа почти никогда не помещала переменную в стек.Он переместил значение переменной в регистр, а затем выдвинул регистр.например.
;hInst:DWORD 4
lea esi, hInst
push esi
2. Программа очистила массивы с помощью stosd.Например:
;array1 BYTE 256 DUP(?)
lea edi, array1
push 256/4
xor eax, eax
rep stosd 3
Программа использовала push-pop для присвоения значений, как в приведенном выше примере.
Каковы преимущества вышеуказанных соглашений?