зависит от того что мы нопим, в данном случае, если занопить, в стеке fpu, в часности ST(0), останется висеть значение, которого там быть не должно. Поэтому занопливание, замену инструкций следует делать очень осторожно, или хотябы прочитать предварительно про то, что эта инструкция делает. fst копирует значение ST(i) в указанный адрес памяти. Чтобы получить округлённое целое - fistfstp передача вещественного ЧИСЛА из FPU в ячейку памяти, и вызывает смещение ST(i) выталкивая операнд из стека Точность будет такая, какая укажешь (dword/qword/tword) причем REAL4, REAL8 и REAL10 в памяти, REAL10 в регистрах FPU В данном случае fstp, значит операнд выпадет из стека и редактировать ST(0) не требуется, а только значения переданные в ячейку памяти fstp dword ptr [edi+000001C8] mov [edi+000001C8],#0 В случае fst dword ptr [edi+000001C8] fstp dword ptr [edi+000001C8] mov [edi+000001C8],#0 fld dword ptr [edi+000001C8] или же пролистать вверх по коду и найти инструкцию которая последней оказывает влияние на st(0) и там шаманить. По сути дела вы правы, суть в записи и чтении значения. Однако в версии CE 6.3 существует доступ и запись, я как правло ставлю оба бряка, а там по ситуации.Я за изменение входных/выходных данных, а не ломание исходного кода. Иногда предусмотреть какие инструкции в какой момент времени окажут влияние на значение невозможно, приоритетно выделяю те которые наиболее часто обращаются к значению, когда ничего собственно не происходит)