Да с английским у меня туговато, хотя онлайн переводчики в общем то неплохо переводят, но сама документация далеко не всегда достаточно разжевана, или лежит гдето где и не найдёшь нифига.
Впрочем это почти с любой докой так. В SjASMplus тоже далеко не всё прозрачно описано, хотя там мне нравится что всё в едином файле и можно полистать страницу. ))
Да этот абзац как-то проглядел .Any assembly opcode can be prefixed with ?, which allows the optimizer change it or elide it if needed. Opcodes without that prefix will always be compiled as written.
The '!' prefix marks the statement as volatile, which means it will be a subject to certain, but not all optimizations, in order to preserve its semantics.
Перевод онлайн:
Любой код операции сборки может иметь префикс ?, что позволяет оптимизатору изменить его или исключить при необходимости. Коды операций без этого префикса всегда будут компилироваться так, как написано.
'!' префикс помечает оператор как изменчивый, что означает, что он будет подвергаться определенным, но не всем оптимизациям, чтобы сохранить его семантику.
Честно не представляю каким образом оптимизатор будет чтото менять в готовых ассемблерных процедурах и по какому принципу исключать. По поводу '!' вообще непонятно. Похоже это всё типа задел на будущее.





Ответить с цитированием