Адрес и биты LEN для каждого из четырех условий контрольной точки определяют диапазон последовательных адресов байтов для контрольной точки данных. Биты LEN позволяют задание одно-, двухи четырех-байтового диапазона. Двух-байтовые диапазоны должны быть выравнены по границе слова (адреса, кратные двум), а четырех-байтовые диапазоны должны быть выравнены по границе двойного слова (адреса, кратные четырем). Эти требования принудительно устанавливаются процессором; он использует биты LEN для маскирования младших адресных битов в отладочных регистрах. Невыравненные адреса контрольных точек кода или данных не дадут ожидаемых результатов.
Контрольная точка данных на чтение или запись срабатывает, когда любые из байтов, участвующих в операции доступа к памяти, находятся в диапазоне, определенном адресным регистром контрольной точки и его битами длины LEN. В Таблице 11-1 приводится несколько примеров комбинаций адресов и полей со ссылками к памяти, вызывающие и не вызывающие срабатывание ловушки.
Контрольные точки данных для невыравненного операнда могут быть составлены из двух наборов элементов в регистрах контрольной точки, где каждый отдельный элемент выравнен по границе байта, а два элемента вместе покрывают весь нужный операнд. Такая контрольная точка генерирует исключения только для операнда, но не для каких-либо соседних байтов.
Адреса контрольных точек для команд должны иметь заданную длину в один байт (LEN = 00); поведение таких контрольных точек в случае других размеров операнда неопределено. Процессор распознает адрес контрольной точки команды только когда он указывает на первый байт команды. Если команда имеет какие-либо префиксы, адрес контрольной точки должен указывать на первый префикс.
Таблица 11-1. Примеры контрольных точек ----------------------------------------------------------------- Комментарий | Адрес | Длина |(шестнадцатиричный) | (в байтах)-----------------------------------------------------------------Содержимое регистра | DR0| A0001 |1 (LEN0 = 00)Содержимое регистра | DR1| A0002 |2 (LEN0 = 00)Содержимое регистра | DR2| B0002 |2 (LEN0 = 01)Содержимое регистра | DR3| C0000 |4 (LEN0 = 11)---------------------------|---------------------|--------------- | A0001 | 1 | A0002 | 1 | A0001 | 2Операции с памятью, | A0002 | 2вызывающие срабатывание | B0002 | 2ловушки | B0001 | 4 | C0000 | 4 | C0001 | 2 | C0003 | 1---------------------------|---------------------|---------------Операции с памятью, | A0000 | 1не вызывающие срабатывание | A0003 | 4ловушки | B0000 | 2 | C0004 | 4-----------------------------------------------------------------