Язык:
Русский
English
DSeg (функция)
Возвращает текущее значение регистра DS.
Объявление
Function DSeg : Word;
Режим
Windows, Real, Protected
Замечания
Результат типа Word - сегментная часть адреса сегмента данных.
Смотри также
Пример
Язык:
Русский
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.