Показать сообщение отдельно
  #16  
Старый 20.11.2015, 21:30
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Цитата:
вернулись с чего начали )
Нет. Pos заменится на CX сам, и будет сохранен твоим кодом в локальной переменной. Ошибки с несохранением CX не будет, потому что он сохранён. При этом, если Pos вдруг однажды переедет в другой регистр (в dx, например), то при сохранении в переменную делфа просто подставит вместо Pos регистр dx, и все по-прежнему будет нормально.
Цитата:
кстате self.fmemory она тоже "оптимизирует"
и что остается?
Потому что не Self.fMemory, а так, как я писал ранее из справки:
Цитата:
MOV EAX,(TRect PTR [EDX]).B.X
MOV EAX,TRect([EDX]).B.X
MOV EAX,TRect[EDX].B.X
MOV EAX,[EDX].TRect.B.X
Т.е. с явным указанием регистра, где сейчас находится self. Конечно, делфа запросто может не дать посмотреть значение в Watch с таким комментарием - потому что код делала не она, а ты, и она понятия не имеет, что там в каких регистрах находится.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием