Язык:
Русский
English
SPtr (функция)
Возвращает текущее значение регистра SP.
Объявление
Function SPtr : Word;
Режим
Windows, Real, Protected
Замечания
Возвращает смещение указателя на вершину стека внутри сегмента стека.
Смотри также
Пример
Язык:
Русский
English
{CSeg.PAS}
uses Crt;
var
I : Integer;
procedure WriteHexWord(W : Word);
const HexChars : array[0 .. $F] of Char = '0123456789ABCDEF';
begin
Write(HexChars[Hi(W) shr 4], HexChars[Hi(W) and $F],
HexChars[Lo(W) shr 4], HexChars[Lo(W) and $F]);
end;
begin
Write('Текущий сегмент кода : 16#');
WriteHexWord(CSeg);
WriteLn('#');
Write('Сегмент данных : 16#');
WriteHexWord(DSeg);
WriteLn('#');
Write('Сегмент стека : 16#');
WriteHexWord(SSeg);
WriteLn('#');
Write('Указатель на стек : 16#');
WriteHexWord(SPtr);
WriteLn('#');
Write('Переменная I по смещению : 16#');
WriteHexWord(Ofs(I));
Write('# в сегменте : 16#');
WriteHexWord(Seg(I));
WriteLn('#');
end.
var
I : Integer;
procedure WriteHexWord(W : Word);
const HexChars : array[0 .. $F] of Char = '0123456789ABCDEF';
begin
Write(HexChars[Hi(W) shr 4], HexChars[Hi(W) and $F],
HexChars[Lo(W) shr 4], HexChars[Lo(W) and $F]);
end;
begin
Write('Текущий сегмент кода : 16#');
WriteHexWord(CSeg);
WriteLn('#');
Write('Сегмент данных : 16#');
WriteHexWord(DSeg);
WriteLn('#');
Write('Сегмент стека : 16#');
WriteHexWord(SSeg);
WriteLn('#');
Write('Указатель на стек : 16#');
WriteHexWord(SPtr);
WriteLn('#');
Write('Переменная I по смещению : 16#');
WriteHexWord(Ofs(I));
Write('# в сегменте : 16#');
WriteHexWord(Seg(I));
WriteLn('#');
end.