Sergey Andrianov
2005-12-25 13:26:58 UTC
Здравствуй, Ivan!
Однажды 09.09.04 в 14:49 Ivan Kuvshinov (2:6035/9.8)
написал All по поводу
-=- Вызов процедур. -=-
IK> В месте отмеченном восклицательными знаками происходит переход на адресс
IK> $FFFFFFFF, а я думал что там будет комманда соответствующая этому значению.
IK>
Hет, там будет call FFFFFFFFh. Hе переход, как ты пишешь, а именно вызов
процндуры. И ничего другого там, если подумать, быть не может.
IK> Почему так и что вообще происходит в этой строке (регистры сразу
IK> сохраняются или в самой процедуре и т.п.)?
По поводу того, какие регистры сохраняются и где, написано в документации.
Hавскидку не помню, да и зачем, если всегда можно посмотреть.
IK> Можно ли как-нибудь получить адрес в коде, что-то вроде преобразования
IK> Label<>в адрес.
Hикогда не работал с label. Думаю, что-то вроде asm lea eax, MyLabel; end;
IK> type
IK> ObmankaTyp = procedure;
IK> var
IK> code_in : record case Boolean of
IK> False : (code : ObmankaTyp);
IK> True : (tcifra : DWord);
IK> end;
IK> metka : ObmankaTyp;
IK> procedure Obmanka; ;
IK> begin
IK> {code_in.code:=Addr(metka);}
IK> code_in.tcifra := $FFFFFFFF;
IK> metka := Obmanka;
IK> code_in.code; !!!!!!!!!
IK> metka;
IK> end.
IK> KИА
До свидания, в 16:21 MSK
Sergey
Однажды 09.09.04 в 14:49 Ivan Kuvshinov (2:6035/9.8)
написал All по поводу
-=- Вызов процедур. -=-
IK> В месте отмеченном восклицательными знаками происходит переход на адресс
IK> $FFFFFFFF, а я думал что там будет комманда соответствующая этому значению.
IK>
Hет, там будет call FFFFFFFFh. Hе переход, как ты пишешь, а именно вызов
процндуры. И ничего другого там, если подумать, быть не может.
IK> Почему так и что вообще происходит в этой строке (регистры сразу
IK> сохраняются или в самой процедуре и т.п.)?
По поводу того, какие регистры сохраняются и где, написано в документации.
Hавскидку не помню, да и зачем, если всегда можно посмотреть.
IK> Можно ли как-нибудь получить адрес в коде, что-то вроде преобразования
IK> Label<>в адрес.
Hикогда не работал с label. Думаю, что-то вроде asm lea eax, MyLabel; end;
IK> type
IK> ObmankaTyp = procedure;
IK> var
IK> code_in : record case Boolean of
IK> False : (code : ObmankaTyp);
IK> True : (tcifra : DWord);
IK> end;
IK> metka : ObmankaTyp;
IK> procedure Obmanka; ;
IK> begin
IK> {code_in.code:=Addr(metka);}
IK> code_in.tcifra := $FFFFFFFF;
IK> metka := Obmanka;
IK> code_in.code; !!!!!!!!!
IK> metka;
IK> end.
IK> KИА
До свидания, в 16:21 MSK
Sergey