Редактирование: (PLAY)

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

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

Текущая версия Ваш текст
Строка 7: Строка 7:
== Ввод слова (PLAY) ==
== Ввод слова (PLAY) ==
В [[Режим NUM|режиме NUM]] последовательно нажмите клавиши {{ШГ→}} &nbsp; [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]] [[Клавиша 6|{{Серая клавиша|6}}]] [[Клавиша -|{{Серая клавиша|−}}]] {{ШГ←}} [[Клавиша ,|{{Серая клавиша|1=<span style="position:relative;bottom:3px"> , </span>}}]] &nbsp; [[Клавиша P|{{Синяя клавиша|P}}]] {{ШГ←}}
В [[Режим NUM|режиме NUM]] последовательно нажмите клавиши {{ШГ→}} &nbsp; [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]] [[Клавиша 6|{{Серая клавиша|6}}]] [[Клавиша -|{{Серая клавиша|−}}]] {{ШГ←}} [[Клавиша ,|{{Серая клавиша|1=<span style="position:relative;bottom:3px"> , </span>}}]] &nbsp; [[Клавиша P|{{Синяя клавиша|P}}]] {{ШГ←}}
== Реализация ==
<pre>
1039 ;#xPLAY
1040 ; (PLAY)          ( a u −− )                          Играть музыку. Проиграть u нот, начиная с адреса a.
1041 LXPLAY:        .DB    6
1042                .TEXT  "(PLAY)"                ; ( адрес число−нот −− )
1043                .DW    LBEEP
1044 XPLAY:          .DW    JXPLAY
1045 JXPLAY:        PKRM03 KINT M0                  ; число нот
1046                RM3 1 + MA 1 + M3
1047                RM0 +/− KX<09                  ; число−нот должно быть положительным
1048                KRMA 10001 − KX>=09 M5
1049                9052 M8
1050 XPL1:          KRM5 RME ∗ KRM5 + MA            ; 2 байта: длительность
1051                KRM5 RME ∗ KRM5 + 10 / MB      ; 2 байта: частота∗10
1052 XPL2:          KRM8 FX=0 XPL2                  ; Подождать конца предыдущего сигнала
1053                RMB RMA KM8                    ; Формирование звукового сигнала
1054                FL0 XPL1
1055                KGOTO9
</pre>


== Пример ==
== Пример ==
Содержащий мелодию массив может быть подготовлен заранее или создан во время компиляции. Пример в блоке №43 из дистрибутива [[Каллисто|Каллисто 1.0]] содержит простой компилятор ММЯ — Музыкального Макро-Языка (строки 2-18), позволяющего проигрывать мелодию, ноты которой записаны латинскими буквами. Слово '''(play)''' упоминается в строке 18, а запускается в результате работы строки 27.
Содержащий мелодию массив может быть подготовлен заранее или создан во время компиляции. Пример в блоке №43 из дистрибутива Каллисто 1.0 содержит простой компилятор ММЯ — Музыкального Макро-Языка, позволяющего проигрывать мелодию, ноты которой записаны латинскими буквами. Слово '''(play)''' упоминается в строке 18, а запускается в результате работы строки 27.


<pre>
<pre>
Строка 64: Строка 43:
 28 \s
 28 \s
</pre>
</pre>
При желании развивать музыкальный макроязык можно изучить оператор PLAY в Бейсике. Его описание приведено, например, [http://www.helloworld.ru/texts/comp/lang/qbasic/book/qb1_c.html#c1 на сайте helloword.ru]. Англоязычную документацию по макроязыку PLAY можно найти на [https://en.wikibooks.org/wiki/QBasic/Appendix#PLAY Wikibooks], [http://www.qb64.net/wiki/index-php/PLAY/ QB64.net] или в [http://www.antonis.de/qbebooks/gwbasman/play.html руководстве по GW-Basic'у] ''(англ.)''.
При желании развивать музыкальный макроязык можно изучить оператор PLAY в Бейсике. Его описание приведено, например, [http://www.helloworld.ru/texts/comp/lang/qbasic/book/qb1_c.html#c1 на сайте helloword.ru]. Англоязычную документацию по макроязыку PLAY можно найти на [https://en.wikibooks.org/wiki/QBasic/Appendix#PLAY Wikibooks], [http://www.qb64.net/wiki/index.php/PLAY QB64.net] или в [http://www.antonis.de/qbebooks/gwbasman/play.html руководстве по GW-Basic'у] ''(англ.)''.


== Ссылки ==
== Ссылки ==
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)