Я пытаюсь понять, как такие фрагменты вызываются во время выполнения:
__asm{
PUSH ES
MOV CX,0
//... More x86 assembly
};
Не повредит ли настройка регистров выполнение потока программы?
Например: если CX выше содержит какое-то значение, не будет ли это означать, что это значение регистра больше не будет действительным?
Заботится ли компилятор об этих зависимостях или выполнение фрагмента происходит при особых обстоятельствах?
В каких компиляторах использование встроенной сборки непрозрачно?