| XXXXXXXXXX0000 | ||
| abuf[1] | XXXXXXXXXX0001 | |
| abuf[2] | XXXXXXXXXX0010 | |
| abuf[3] | XXXXXXXXXX0011 | |
| abuf[4] | XXXXXXXXXX0100 | |
| abuf[5] | XXXXXXXXXX0101 | |
| bbuf | bbuf[0] | XXXXXXXXXX0110 |
| bbuf[1] | XXXXXXXXXX0111 | |
| bbuf[2] | XXXXXXXXXX1000 | |
| cbuf | cbuf[0] | XXXXXXXXXX1001 |
| cbuf[1] | XXXXXXXXXX1010 | |
| cbuf[2] | XXXXXXXXXX1011 | |
| cbuf[3] | XXXXXXXXXX1100 | |
| XXXXXXXXXX1101 | ||
| … | ||
Следующий пример показывает использование трех директив для объявления трех различных кольцевых буферов:
.VAR/CIRC abuf[6];
.VAR/CIRC bbuf[3];
.VAR/CIRC cbuf[5];
Поскольку буферы объявлены отдельно, все они будут кольцевыми и не будут объединены. Правила размещения для каждого из этих буферов такие же, как в рассмотренном выше примере для одиночного буфера abuf. Размещение этих буферов в памяти процессора показано в табл. 11.3.
Таблица 11.3
| Имя буфера | Элемент буфера | Двоичный адрес |
|---|---|---|
| … | ||
| abuf | abuf[0] | XXXXXXXXX00000 |
| abuf[1] | XXXXXXXXX00001 | |
| abuf[2] | XXXXXXXXX00010 | |
| abuf[3] | XXXXXXXXX00011 | |
| abuf[4] | XXXXXXXXX00100 | |
