Поскольку вызывающее соглашение функции утверждает, какие регистры сохраняются, может ли регистр использоваться как счетчик циклов?Могу ли я использовать регистр в качестве счетчика циклов?
Сперва подумал, что регистр ecx
используется как счетчик циклов, но после выяснения, что функция stdcall
, которую я использовал, не сохранил значение ecx
, иначе я думал бы.
Есть ли какой-либо реестр, который гарантирован (по большей части используемые соглашения о звонках как минимум), который необходимо сохранить?
Примечание: У меня нет проблем с использованием переменной стека в качестве счетчика циклов, я просто хочу убедиться, что это единственный способ.
вы можете нажать 'ecx' в стек и восстановить его перед вами' ret', или вы могли бы просто использовать другой регистр –
'нажимной ECX 'перед созданием' stdcall' и 'pop ecx' после возврата вызова каждый раз через цикл. – lurker