DVD Authoring 1.0 DVD своими руками

Типы команд


Всего существуют три типа команд согласно DVD стандарту. Это:

Первый тип (Type 1) - команды этого типа всегда состоят только из одной инструкции.

Второй тип (Type 2) - команды этого типа состоят из 2-х инструкций.

Третий тип (Type 3) - команды этого типа включают в себя команды из групп Compare, Set и Link to SubInstruction и тем самым состоят из трех инструкций.

Правила использования команд различных типов сведены в таблицу:

КомандаТипОписаниеКоличество инструкций в команде
GoTo1Меняет порядок выполнения инструкций1
Link1Начинает выполнение указанного действия внутри домена (включая выделение кнопки)1
Jump1То же самое, что и Link, но в другом домене1
Compare GoTo1Если результат сравнения истина (true), то выполнение команды GoTo1
Compare Link1Если результат сравнения истина (true), то выполнение команды Link1
Compare Jump1Если результат сравнения истина (true), то выполнение команды Jump1
SetSystem2Установка навигационных параметров (регистров) GPRM и SPRM2
Set2Установка GPRM2
Compare SetSystem2Если результат сравнения истина (true), то выполнение команды SetSystem2
Compare Set Если результат сравнения истина (true), то выполнение команды Set2
SetSystem Link2Сначала выполнение команды SetSystem, затем Link2
Set Link2Сначала выполнение команды Set, затем Link2
Set Compare LinkSIns3Сначала выполняется команда Set, затем, если результат сравнения по команде Compare истина (true), то переход к выполнению команды LinkSIns3
Compare & Set - LinkSIns3Сначала выполняется команда сравнения Compare и, если результат сравнения истина (true), то затем последовательно выполняются команды Set и LinkSIns3
Compare - Set & LinkSIns3Сначала выполняется команда сравнения Compare и, если результат сравнения истина (true), то затем последовательно выполняются команды Set и LinkSIns, причем LinkSIbs в этом случае игнорирует результат сравнения3

Для того, чтобы дальнейшая работа с командами в Scenarist была более понятной, позволим себе напомнить некоторые азы булевой алгебры, без которых освоение программирования в Scenarist будет затруднено. Итак, для начала рассмотрим операцию AND (И), которая в Scenarist (и не только в нем, конечно) также обозначается символом &. Эта операция также может называться логическим умножением. Scenarist всегда подразумевает, что данные в регистрах будут сравниваться побитово. Операция AND для каждого бита выполняется следующим образом:


0 & 0 = 0 (False - ложь)

0 & 1 = 0 (False - ложь)

1 & 0 = 0 (False - ложь)

1 & 1 = 1 (True - истина)

Поясним это на примере. Допустим, вы хотите сравнить значения по AND в двух регистрах. В одном из них десятичное число 25 (оно же двоичное 00011010, оно же шестнадцатиричное 1A) с другим, в котором содержится десятичное число 9 (оно же двоичное 00001001, оно же шестнадцатиричное 09). Результат будет таким:

     00011010

     00001001

     -------------

     00001000 = True (Истина)

Результат оказался true, поскольку одна единица появилась в результате. В противном случае результат был бы False (Ложь). Расшифровка обозначений операций сравнения в Scenarist приведена в таблице ниже:

&Логическое AND (И). Результат будет true (истина), если в нем есть хотя бы одна единица. В противном случае он будет равен false (ложь). Если результат true, то будет выполнена следующая команда.
==Если сравниваемые значения РАВНЫ, то команда будет выполнена.
!=Если сравниваемые значения НЕ РАВНЫ, то команда будет выполнена.
>=Если результат РАВЕН или БОЛЬШЕ, то команда будет выполнена.
>Если результат БОЛЬШЕ, то команда будет выполнена.
<=Если результат РАВЕН или МЕНЬШЕ, то команда будет выполнена.
<Если результат БОЛЬШЕ, то команда будет выполнена.
 © 1997-2003 , все права защищены.

Help file designed & created by  from


Содержание раздела