Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
01.05.2014
Размер:
256.58 Кб
Скачать

4-11

Адрес регистра в окне

HWindow 15 чтение

HWindow 15 запись

17h

 

IOS2

16h

IOC1

IOS1

15h

IOC0

IOS0

14h

WSR

WSR

13h

 

 

12h

 

 

11h

 

 

10h

Reserved

Reserved

0Fh

Reserved

Reserved

0Eh

Reserved

Reserved

0Dh

T2CAPTURE(HI)

T2CAPTURE(HI)

0Ch

T2CAPTURE(LO)

T2CAPTURE(LO)

0Bh

IOC2

TIMER1(HI)

0Ah

WATCHDOG

TIMER1(LO)

09h

 

 

08h

 

 

07h

SBUF(TX)

SBUF(RX)

06h

 

 

05h

 

 

04h

 

 

03h

 

 

02h

 

 

01h

 

 

00h

 

 

 

Рисунок 4.6. HWindow 15.

 

4.6.СОЗДАНИЕ ВЕРТИКАЛЬНЫХ ОКОН

Создание вертикальных окон преобразует области верхнего Регистрового Файла в блоки старших ячеек нижнего Регистрового Файла, размером в 32-, 64-, или 128 байт, известные как вертикальные окна - VWindows. 8XC196KC имеет 16 32-байтных VWindows, 8 64-байтных VWindows и 4 128-байтных VWindows. Так как 8XC196KD имеет вдвое большее RAM (ОЗУ), чем 8XC196KC, то он также имеет вдвое больше вертикальных окон. Пример 128-байтного окна показан на рисунке 4.7.

Рисунок 4.7. Создание вертикальных окон.

4-12

4.6.1.Выбор Вертикального Окна

Регистр Выбора Окна (WSR, 14h) обеспечивает доступ к горизонтальным - HWindow и вертикальным - VWindows окнам. Установите WSR.4, WSR.5, или WSR.6 для выбора 128-, 64-, или 32-байтного VWindows соответственно (смотрите рисунок 4.8). Запишите номер VWindows в младшие биты WSR. В приложение С приведено полное описание WSR с таблицами, которые показывают необходимое содержимое WSR для выбора каждого VWindows. ( Для выбора вертикального окна, показанного на рисунке 4.7, загрузите 17h в WSR.)

Рисунок 4.8. Установка битов регистра выбора окна.

4.6.2.Создание Вертикальных Окон и Способы Адресации

При создании вертикальных окон возможны:

команды с прямой регистровой адресацией, которые используют адрес внутри окна нижнего Регистрового Файла, в действительности получают доступ к VWindows в верхнем Регистровом Файле;

команды с косвенной или индексной адресацией, использующие адрес внутри окна в нижнем Регистровом Файле или в VWindows, получают доступ к действительной ячейке памяти.

ПРИМЕЧАНИЕ. Косвенные операции сдвига выполняются неправильно, если WSR = X100 0000.

Расположенные ниже команды иллюстрируют различие между прямой регистровой и индексной адресациями, при использовании вертикальных окон:

PUSHA

; pushes the contents of WSR onto the stake

 

 

; (засылает содержимое WSR в стек)

LDB

WSR, #17h

; select VWindow 7, a 128-byte block

 

 

; (выбор VWindow 7, 128-байтный блок)

 

 

; The next instruction uses register-direct addr

 

 

;(следующая команда использует прямую регистровую

адресацию)

 

 

ADD

40h, 80h

; mem_word(40h) <- mem_word(40h) +mem_word(380h)

 

 

;The next two instructions use indirect addr

;

 

; (следующие две команды используют косвенную адресацию)

ADD

40h, 80h[0]

; mem_word(40h) <- mem_word(40h) + mem_word(80h+0)

 

 

;

ADD

40h, 380h[0]

; mem_word(40h) <- mem_word(40h) +mem_word(380h+0)

 

 

;

POPA

 

; reloads the previous contents into WSR

 

 

;(перегружает в WSR первоначальную информацию)

Соседние файлы в папке MPS_shprots