Ответ 1
В ecx
повторениях хранится содержимое eax
, где edi
указывает на, увеличивая или уменьшая edi
(в зависимости от флага направления) на 4 байта каждый раз. Обычно это используется для операции memset
.
Обычно эта инструкция просто записывается rep stosd
. Опытные сборщики кодов знают все подробности, упомянутые выше, просто видя это.: -)
ETA для полноты (спасибо PhiS): каждая итерация ecx
уменьшается на 1, и цикл останавливается, когда достигает нуля. Для stos
единственное, что вы увидите, это то, что ecx
очищается в конце. Но для scas
или тому подобного, где используются префиксы repz
/repnz
, ecx
может быть больше нуля, если операция остановлена до исчерпания ecx
байтов/слов/whatevers.
Перед тем, как вы спросите, scas
используется для выполнения операций strchr
-type.:-P