Показать сообщение отдельно
  #3  
Старый 18.11.2015, 00:03
Аватар для a.n.d.r.e.w
a.n.d.r.e.w a.n.d.r.e.w вне форума
Прохожий
 
Регистрация: 01.07.2015
Сообщения: 28
Версия Delphi: delphi xe7
Репутация: 10
По умолчанию

конструкции эти создает сам компилятор
если поставить точку останова на начало
функции и посмотреть сасемблированный компилятором код
то можно увидеть

Код:
push ebp
move ebp,esp
add esp, -$0c
move [ebp-$02], cx
move [ebp-$08], eax
move [ebp-$0c], edx

потом идут строки моего кода

в eax приходит указатель на себя
в edx на aUnit
в ecx Cnt и Pos
причем как-то странно
например
pos=6 cnt=8 ecx $000E0006
pos=1 cnt=2 ecx $00030001
pos=7 cnt=9 ecx $00100007
тоесть в старшем слове ecx сумма pos+cnt
в младшем pos

это в варианте с блоком бегин энд

а если без то

Код:
push ebp
move ebp,esp
add esp, -$08
move [ebp-$04], eax
move [ebp-$08], edx



с комментарием. ну напутал чуть. сори
Ответить с цитированием