Системный отладчик - Спецификация формата окна

Системный отладчик - Спецификация формата окна

Задает количество байтов для вывода данного адреса. Один из трех элементов информации, используемых при обращении к памяти на диске в системном отладчике.

Спецификация окна задает количество байтов для вывода и имеет следующий общий формат:

;window

Здесь указывается количество байтов для вывода. Максимальное значение ограничивается размером запрашиваемых данных.

Спецификация смещения (явная):

;offset,window -или- ;offset.window

В этом формате указываются смещение (offset) и окно (window), где смещение - это положительное или отрицательное число, обозначающее смещение от адреса, заданного в спецификации формата данных ("data.format.specification"), а окно - положительное число. Этот формат работает и для трассировки за исключением случая, когда адрес указывается в форме косвенной ссылки из регистра памяти, адрес которого задан в формате "!fidaddr.dataaddr".

Спецификации окна (неявная):

;coffset -или- ;coffset.window -или- ;coffset,window

Функционально смещение (offset) и окно (window) здесь те же, что и выше, а "c" (code) обозначает тип поля. Если спецификация окна отсутствует, размер окна определяется в зависимости от типа используемого поля. В остальных случаях используется формат, заданный ранее.

Возможные значения параметра "с": b ширина поля = 1 бит.

c ширина поля = 1 байт.

d ширина поля = 4 байта.

f ширина поля = 6 байтов.

h ширина поля = 1 байт.

r ширина поля = 8 байтов.

s ширина поля = 6 байтов.

t ширина поля = 2 байта.

Или:

;c

Здесь "с" тот же параметр, что и выше, но смещение 0 подразумевается; окно и формат данных также подразумеваются.

Для "битового вывода" (b) используется следующий общий формат:

;boffset.window -или- ;boffset,window

Эта форма означает "битовый вывод", который начинается с бита 0 (со смещения относительно адресной базы), а ширина окна равна "window" бит. Биты и битовые поля могут трассироваться любым видом трассировки. Смещение, заданное для символической переменной типа "бит", исчисляется в битах. Поэтому при прямом обращении к данным формат "fidaddr.dataaddr" будет интерпретировать "dataaddr" как счетчик "битов".