Инструменты пользователя

Инструменты сайта


msx:basic_dialogue_programming_language:208

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
msx:basic_dialogue_programming_language:208 [2023-02-19 21:05]
GreyWolf [2.8.5. Регистры статуса и регистры команд]
msx:basic_dialogue_programming_language:208 [2023-02-19 21:22] (текущий)
GreyWolf
Строка 2552: Строка 2552:
 Кратко расскажем Вам о назначении каждого бита. Кратко расскажем Вам о назначении каждого бита.
  
-FL:  флаг светового пера (флаг светового пера установлен). Если ​ световым+  * <​WRAP>​FL:  флаг светового пера (флаг светового пера установлен). Если ​ световым
 пером определены координаты точки на экране,​ то этот бит (FL),​также как и пером определены координаты точки на экране,​ то этот бит (FL),​также как и
 бит IE2, должен быть установлен для возможности прерывания. бит IE2, должен быть установлен для возможности прерывания.
  
 Обычно при считывании ​ регистра статуса ​ с  номером 1 значение бита FL сбрасывается. Если же второй переключатель "​мыши"​ нажат, то  при ​ считывании регистра статуса с номером 1 значение бита FL не сбрасывается;​ Обычно при считывании ​ регистра статуса ​ с  номером 1 значение бита FL сбрасывается. Если же второй переключатель "​мыши"​ нажат, то  при ​ считывании регистра статуса с номером 1 значение бита FL не сбрасывается;​
- +</​WRAP>​ 
-LPS:  переключатель светового пера ​ (установка флага светового пера). ​ Нажат переключатель светового пера. В этом случае при ​ считывании ​ регистра статуса с номером 1 значение бита LPS не сбрасывается. Переключатель ​ "​мыши"​ 1 (флаг "​мыши"​ установлен). Первый переключатель "​мыши"​ нажат. В этом случае при считывании регистра статуса с номером 1 значение бита ​ LPS  не +  ​* ​LPS:  переключатель светового пера ​ (установка флага светового пера). ​ Нажат переключатель светового пера. В этом случае при ​ считывании ​ регистра статуса с номером 1 значение бита LPS не сбрасывается. Переключатель ​ "​мыши"​ 1 (флаг "​мыши"​ установлен). Первый переключатель "​мыши"​ нажат. В этом случае при считывании регистра статуса с номером 1 значение бита ​ LPS  не сбрасывается. 
-сбрасывается. +  ​* ​FH:  флаг прерывания от горизонтального сканирования (который устанавливается в регистре с номером 19). Если бит IE1 установлен,​ то возможно прерывание. При считывании регистра статуса с номером 1 значение бита FH  сбрасывается.
- +
-FH:  флаг прерывания от горизонтального сканирования (который устанавливается в регистре с номером 19). Если бит IE1 установлен,​ то возможно прерывание. При считывании регистра статуса с номером 1 значение бита FH  сбрасывается.+
  
 __//​Регистр статуса с номером 2.//__ __//​Регистр статуса с номером 2.//__
Строка 2579: Строка 2577:
  * CE: флаг выполнения команды. Он указывает,​ что в настоящее время выполняется команда видеопроцессора.  * CE: флаг выполнения команды. Он указывает,​ что в настоящее время выполняется команда видеопроцессора.
  
-<​code>​ +__//Регистры статуса с номерами// 3, 4, 5, 6.__
-   Р е г и с т р ы  с т а т у с а  с  н о м е р а м и  3, 4, 5, 6. +
-   ​────────────────────────────────────────────────────────────── +
-   ​Эти регистры предназначены для указания координат ​ столкновения ​ спрай- +
-тов, координат местонахождения светового пера и координат ​ относительного +
-смещения "​мыши"​.+
  
-   ​Заметим, что при считывании содержимого регистра статуса ​ ​с ​ номером 5 +Эти регистры предназначены для указания координат  столкновения ​ спрайтов, координат ​местонахождения светового пера и координат  относительного ​смещения "​мыши"​.
-содержимое ​регистров статуса с номерами 3,4,5 сбрасывается.+
  
-  Номера битов        7     ​6 ​    ​5 ​    ​4 ​    ​3 ​    ​2 ​    ​1 ​    0 +Заметим, что при считывании ​содержимого регистра статуса  ​с  номером 5 содержимое регистров статуса ​с номерами 3,4,5 сбрасывается.
-                   ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +
-Регистр статуса 3  │  X7 │  X6 │  X5 │  X4 │  X3 │  X2 │  X1 │  X0 │ +
-                   ​└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +
-                   ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +
-Регистр статуса ​ │  1  │  1  │  1  │  1  │  1  │  1  │  1  │  X8 │ +
-                   ​└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +
-                   ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +
-Регистр статуса ​5  │  Y7 │  Y6 │  Y5 │  Y4 │  Y3 │  Y2 │  Y1 │  Y0 │ +
-                   ​└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +
-                   ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +
-Регистр статуса 6  │  1  │  1  │  1  │  1  │  1  │  1  │  1  │  Y8 │ +
-                   ​└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘+
  
-   Значения,​ содержащиеся в регистрах состояния с номерами 3,4,5 будут оп+|Регистр статуса 3|<​code>​ 
-ределять координаты смещения в соответствии с формулами:​ +                                     ​Номера битов 
-    Х(содержимое регистра статуса 5, содержимое регистра статуса 3)  +   ​7 ​    ​6 ​    ​5 ​    ​4 ​    ​3 ​    ​2 ​    ​1 ​    0 
-    Y(содержимое регистра статуса 5, содержимое регистра статуса 5). +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
-   ​Координаты столкновения спрайтов легко находятся по формулам:​ +│  X7 │  X6 │  X5 │  X4 │  X3 │  X2 │  X1 │  X0 │ 
-                        XC = X/12  ,   YC = Y/8+└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
 +</​code>​| 
 +|Регистр статуса 4|<​code>​ 
 +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
 +│  1  │  1  │  1  │  1  │  1  │  1  │  1  │  X8 │ 
 +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
 +</​code>​| 
 +|Регистр статуса 5|<​code>​ 
 +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
 +│  Y7 │  Y6 │  Y5 │  Y4 │  Y3 │  Y2 │  Y1 │  Y0 │ 
 +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
 +</​code>​| 
 +|Регистр статуса 6|<​code>​ 
 +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
 +│  1  │  1  │  1  │  1  │  1  │  1  │  1  │  Y8 │ 
 +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
 +</​code>​| 
 +Значения,​ содержащиеся в регистрах состояния с номерами 3,4,5 будут определять координаты смещения в соответствии с формулами:​ 
 +  ​* ​Х(содержимое регистра статуса 5, содержимое регистра статуса 3)  
 +  ​* ​Y(содержимое регистра статуса 5, содержимое регистра статуса 5).
  
-   Р е г и с т р  ​с т а т у с а  ​н о м е р  7  (регистр цвета). +Координаты столкновения спрайтов легко находятся по формулам: 
-   ​─────────────────────────────────────────────────────────── +<​code>​ 
-   Этот  регистр ​ используется ​в том случаекогда выполняется ​команда ви- +XC = X/12  ,   YC = Y/8 
-деопроцессора ​POINT или команды видеопроцессора типа "VRAM - to CPU". +</​code>​
-Данные из VRAM размещаются в этом регистре.+
  
 +__//​Регистр статуса номер//​ 7  (регистр цвета).__
  
-   Р е г и с т р ы  с т а т у с а  с  н о м е р а м и  8  и  9. +Этот  регистр ​ используется ​в том случае,​ когда выполняется команда ​видеопроцессора POINT или команды видеопроцессора типа "VRAM - to CPU". 
-   ​─────────────────────────────────────────────────────────── +Данные из VRAM размещаются ​в этом регистре.
-   В эти ​регистры помещается ​значение координаты Х в случае,​когда выполня+
-ется команда поиска SRCH (см.Приложение ​2,раздел 8.3.10) и обнаружен цвет +
-бордюра.+
  
-  Номера битов ​       7     ​6 ​    ​5 ​    ​4 ​    ​3 ​    ​2 ​    ​1 ​    0 
-                   ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
-Регистр статуса 8  │ BX7 │ BX6 │ BX5 │ BX4 │ BX3 │ BX2 │ BX1 │ BX0 │ 
-(координата X гра- └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
-ницы (младшая часть)) 
-                   ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
-Регистр статуса 9  │  1  │  1  │  1  │  1  │  1  │  1  │  1  │ BX8 │ 
-(координата X гра- └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
-ницы (старшая часть)) 
  
 +__//​Регистры статуса с номерами 8 и 9.//__
  
-                    Р е г и с т р ы   ​к о м а н д+В эти регистры ​помещается значение координаты Х в случае,​когда выполняется ​команда поиска SRCH (см. [[#​n28310|Приложение 2, раздел 8.3.10]]) и обнаружен цвет бордюра.
  
-   ​Следующие регистры команд используются при выполнении команд  ​видеопро- +егистр статуса 8|<​code>​ 
-цессора. Работа с ними ​описана в Приложении 2, раздел 8.3 .+                                     ​Номера битов 
 +   ​7 ​    ​6 ​    ​5 ​    ​4 ​    ​3 ​    ​2 ​    ​1 ​    0 
 +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
 +│ BX7 │ BX6 │ BX5 │ BX4 │ BX3 │ BX2 │ BX1 │ BX0 │ 
 +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
 +</​code>​(координата X границы (младшая часть))| 
 +егистр статуса 9|<​code>​ 
 +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
 +│  1  │  1  │  1  │  1  │  1  │  1  │  1  │ BX8 │ 
 +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
 +</​code>​(координата X границы (старшая часть))|
  
-    Номера битов ​         7     ​6 ​    ​5 ​    ​4 ​    ​3 ​    ​2 ​    ​1 ​    0 +//Регистры команд//
-                       ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +
-    ​Р е г и с т р  ​32 ​ │  X7 │  X6 │  X5 │  X4 │  X3 │  X2 │  X1 │  X0 │ +
-(регистр исходной ​коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +
-динаты X (младшая часть)) +
-                       ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +
-    Р е г и с т р  33  │  0  │  0  │  0  │  0  │  0  │  0  │  0  │ SX8 │ +
-(регистр исходной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +
-динаты X (старшая часть))+
  
-                       ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +Следующие регистры команд используются при выполнении команд  ​видеопроцессора. Работа с ними описана в Приложении 2, раздел 8.3 .
-    Р е г и с т р  34  │ SY7 │ SY6 │ SY5 │ SY4 │ SY3 │ SY2 │ SY1 │ SY0 │ +
-(регистр ​исходной ​коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +
-динаты Y (младшая часть)) +
-                       ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +
-    Р е г и с т р  ​35 ​ │  0  │  0  │  0  │  0  │  0  │  0  │ SY9 │ SY8 │ +
-егистр ​исходной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +
-динаты Y (старшая часть))+
  
-                       ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +|//​Регистр//​ 32|<​code>​ 
-    Р е г и с т р  ​36  ​│ ​DX7 │ DX6 │ DX5 │ DX4 │ DX3 │ DX2 │ DX1 │ DX0 │ +                                     ​Номера битов 
-(регистр ​конечной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +   ​7 ​    ​6 ​    ​5 ​    ​4 ​    ​3 ​    ​2 ​    ​1 ​    0 
-динаты ​(младшая часть)) +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
-                       ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│  X7 │  X6 │  X5 │  X4 │  X3 │  X2 │  X1 │  X0 │ 
-    Р е г и с т р  37  ​│  0  │  0  │  0  │  0  │  0  │  0  │  ​0  ​│ DX8 │ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
-(регистр ​конечной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +</​code>​(регистр исходной координаты X (младшая часть))| 
-динаты X (старшая часть)) +|//Регистр// 33|<​code>​ 
- +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
-                       ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│   ​│ ​ ​0  ​│  ​0  ​│  ​0  ​│  ​0  ​│  ​0  ​│  ​0  ​│ SX8 │ 
-    Р е г и с т р  38  ​│ ​DY7 │ DY6 │ DY5 │ DY4 │ DY3 │ DY2 │ DY1 │ DY0 │ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
-(регистр конечной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +</​code>​(регистр ​исходной координаты X (старшая часть))| 
-динаты Y (младшая часть)) +|//​Регистр//​ 34|<​code>​ 
-                       ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
-    Р е г и с т р  39  ​│  0  │  0  │  0  │  0  │  0  │  0  │ DY9 │ DY8 │ +│ SY7 │ SY6 │ SY5 │ SY4 │ SY3 │ SY2 │ SY1 │ SY0 │ 
-(регистр конечной коор-└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
-динаты Y (старшая часть)) +</​code>​(регистр исходной координаты ​(младшая часть))
- +|//​Регистр//​ 35|<​code>​ 
-                       ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
-    Р е г и с т р  40  ​│ NX7 │ NX6 │ NX5 │ NX4 │ NX3 │ NX2 │ NX1 │ NX0 │ +│  0  │  0  │  0  │  0  │  0  │  0  │ SY9 │ SY8 │ 
-(количество точек по X └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
-координате (младшая часть)) +</​code>​(регистр ​исходной координаты Y (старшая часть))| 
-                       ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +|//​Регистр//​ 36|<​code>​ 
-    Р е г и с т р  41  ​│  0  │  0  │  0  │  0  │  0  │  0  │  0  │ NX8 │ +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
-(количество точек по X └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +│ DX7 │ DX6 │ DX5 │ DX4 │ DX3 │ DX2 │ DX1 │ DX0 │ 
-координате (старшая часть)) +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
- +</​code>​(регистр конечной координаты X (младшая часть))| 
-                       ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +|//​Регистр//​ 37|<​code>​ 
-    Р е г и с т р  42  ​│ NY7 │ NY6 │ NY5 │ NY4 │ NY3 │ NY2 │ NY1 │ NY0 │ +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
-(количество точек по Y └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +│   ​│ ​ ​0  ​│  ​0  ​│  ​0  ​│  ​0  ​│  ​0  ​│  ​0  ​│ DX8 │ 
-координате (младшая часть)) +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
-                       ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +</​code>​(регистр конечной координаты X (старшая часть))| 
-    Р е г и с т р  43  ​│  0  │  0  │  0  │  0  │  0  │  0  │ NY9 │ NY8 │ +|//​Регистр//​ 38|<​code>​ 
-(количество точек по Y └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
-координате (старшая часть)) +│ DY7 │ DY6 │ DY5 │ DY4 │ DY3 │ DY2 │ DY1 │ DY0 │ 
-                       ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
-    Р е г и с т р  44  ​│ CH3 │ CH2 │ CH1 │ CH0 │ CL3 │ CL2 │ CL1 │ CL0 │ +</​code>​(регистр конечной координаты Y (младшая часть))
-     (регистр цвета) ​  └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +|//​Регистр//​ 39|<​code>​ 
-                       ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
-    Р е г и с т р  45  ​│  0  │ MXC │ MXD │ MXS │ DIY │ DIX │  EQ │ MAJ │ +│  0  │  0  │  0  │  0  │  0  │  0  │ DY9 │ DY8 │ 
-  ​(регистр аргумента)  ​└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
-                       ​┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +</​code>​(регистр конечной координаты Y (старшая часть))| 
-    Р е г и с т р  46  ​│ CM3 │ CM2 │ CM1 │ CM0 │ LO3 │ LO2 │ LO1 │ LO0 │ +|//​Регистр//​ 40|<​code>​ 
-    ​(регистр команды)  ​└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
- +│ NX7 │ NX6 │ NX5 │ NX4 │ NX3 │ NX2 │ NX1 │ NX0 │ 
-</​code>​+└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
 +</​code>​(количество точек по X координате (младшая часть))
 +|//​Регистр//​ 41|<​code>​ 
 +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
 +│  0  │  0  │  0  │  0  │  0  │  0  │  0  │ NX8 │ 
 +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
 +</​code>​(количество точек по X координате (старшая часть))| 
 +|//​Регистр//​ 42|<​code>​ 
 +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
 +│ NY7 │ NY6 │ NY5 │ NY4 │ NY3 │ NY2 │ NY1 │ NY0 │ 
 +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
 +</​code>​(количество точек по Y координате (младшая часть))
 +|//​Регистр//​ 43|<​code>​ 
 +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
 +│  0  │  0  │  0  │  0  │  0  │  0  │ NY9 │ NY8 │ 
 +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
 +</​code>​(количество точек по Y координате (старшая часть))
 +|//​Регистр//​ 44|<​code>​ 
 +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
 +│ CH3 │ CH2 │ CH1 │ CH0 │ CL3 │ CL2 │ CL1 │ CL0 │ 
 +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
 +</​code>​(регистр цвета)| 
 +|//​Регистр//​ 45|<​code>​ 
 +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
 +│  0  │ MXC │ MXD │ MXS │ DIY │ DIX │  EQ │ MAJ │ 
 +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
 +</​code>​(регистр аргумента)| 
 +|//​Регистр//​ 46|<​code>​ 
 +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ 
 +│ CM3 │ CM2 │ CM1 │ CM0 │ LO3 │ LO2 │ LO1 │ LO0 │ 
 +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ 
 +</​code>​(регистр команды)|
  
  
msx/basic_dialogue_programming_language/208.1676829907.txt.gz · Последние изменения: 2023-02-19 21:05 — GreyWolf