Title sound (сom) Людвиг ван Бетховен \" к элизе \";разр-к Зуев Л. В icon

Title sound (сom) Людвиг ван Бетховен " к элизе ";разр-к Зуев Л. В




Скачати 90.24 Kb.
НазваTitle sound (сom) Людвиг ван Бетховен " к элизе ";разр-к Зуев Л. В
Дата18.09.2012
Розмір90.24 Kb.
ТипДокументи

TITLE SOUND (СOM) Людвиг ван Бетховен " К ЭЛИЗЕ ";разр-к Зуев Л.В.

SOUNSG SEGMENT PARA 'CODE' ;17.03.94 конт.тел.41-70-13

ASSUME CS:SOUNSG,DS:SOUNSG,SS:SOUNSG

ORG 100H

BEGIN: JMP PROG

;--------------------------------------------------------------------

NAMEPAR LABEL BYTE

MAXLEN DB 3

ACTLEN DB ?

NAMEFLD DB 3 DUP(' ')

CAC DB ?

ROW DB ? ;СТРОКА ЭКРАНА

COL DB ? ;СТОЛБЕЦ ЭКРАНА

BUFER DW ?

PROB DB 78 DUP(' '),'$' ;СТРОКА ПРОБЕЛОВ

TEXT1 DB 'МУЗЫКАЛЬНАЯ ПРОГРАММА',10,10,10,10,10,13

DB 26 DUP(' '),'(Тактовая частота РС-20 МНZ)',23 DUP(' '),10,10,10,13

DB 4 DUP(' '),'Ваша проблемная программа будет более эффектной '

DB 'и удобной в эксплуатации ',10,13

DB ' при использовании музыкальных заставок:',36 DUP(' '),10,13

DB 17 DUP(' '),'-начала и конца программы;',35 DUP(' '),10,13

DB 17 DUP(' '),'-реакции программы на некорректные действия пользователя; ',10,13

DB 17 DUP(' '),'-подтверждения правильных ответов пользователя и т.п. ',10,10,13

DB 17 DUP(' '),'17.03.94 ','Разработчик: Зуев Леонид Вячеславович ',10,13

DB 27 DUP(' '),'Конт. тел. : 41-70-13 г.Запорожье, з-д "Спутник" ',10,13,'$'

TEXT2 DB '" К Э Л И З Е "'

TEXT3 DB 'МЕЛОДИЯ ИЛИ ВЫХОД ИЗ ПРОГРАММЫ (ENTER/N)?','$'

TEXT4 DB 'ПРИ НЕОБХОДИМОСТИ ИЗМЕНИТЕ ТОНАЛЬНОСТЬ (ENTER/N/или от "-9" до "+9")','$'

TEXT5 DB 'ПРИ НЕОБХОДИМОСТИ ИЗМЕНИТЕ ТЕМП (ENTER/N/или от "-9" до "+9")','$'

;--------------------------------------------------------------------

PAUSA DW 00 ;ПАУЗА

REGT DW 00 ;РЕГУЛЯТОР ТОНАЛЬНОСТИ НОТЫ

REGD DW 00 ;РЕГУЛЯТОР ДЛИТЕЛЬНОСТИ НОТЫ

TON DW ? ;ТОНАЛЬНОСТЬ НОТЫ

DUR DW ? ;ДЛИТЕЛЬНОСТЬ НОТЫ

DLOK DW ? ;КОД ДЛИТЕЛЬНОСТЬ-ОКТАВА

POLEN DW 'do','d#','re','r#','mi','fa','f#','so','s#','la','l#','ci'

POLET0 DW 20158,19027,17959,16951,16000,15102,14254,13454,12699,11986,11314,10679

POLET1 DW 10079,9514,8980,8476,8000,7551,7127,6727,6349,5993,5657,5339

POLET2 DW 5040,4757,4490,4238,4000,3775,3563,3363,3175,2997,2828,2670

POLED0 DW 60,63,67,71,75,79,84,89,94,100,106,112

POLED1 DW 119,126,134,142,150,159,169,179,189,200,212,225

POLED2 DW 238,252,267,283,300,318,337,357,378,400,424,450

POLED3 DW 476,504,534,566,600,636,674,714,756,800,848,900

POLED4 DW 952,1009,1069,1133,1200,1271,1347,1427,1512,1602,1697,1798

C1 DB ? ;СЧЕТЧИК 1

C2 DB ? ;СЧЕТЧИК 2

C3 DB ? ;СЧЕТЧИК 3

;--------------------------------------------------------------------

MUS PROC NEAR

MOV CX,12

MOV PAUSA,00

SUB SI,SI

M1: CMP AX,POLEN[SI]

JE M2

INC SI

INC SI

LOOP M1

MOV PAUSA,01 ;НОТА НЕ НАЙДЕНА

M2: ADD SI,REGT ;ФОРМИРОВАНИЕ

MOV AX,POLET1[SI] ; БАЗОВОЙ ЧАСТОТЫ НОТЫ

MOV TON,AX ; В TON

ADD SI,REGD ;ФОРМИРОВАНИЕ

MOV AX,POLED2[SI] ; БАЗОВОЙ ДЛИТЕЛЬНОСТИ

MOV DUR,AX ; НОТЫ В DUR

RET

MUS ENDP


;--------------------------------------------------------------------

GEN PROC NEAR

MOV DLOK,AX ;ЗАПОМНИТЬ ДЛИТЕЛЬНОСТЬ И ОКТАВУ

AND AL,0FH

DEC AL

MOV CL,AL ;ПЕРЕХОД

SHL DUR,CL ; НА

MOV CL,AL ; НУЖНУЮ

SHR TON,CL ; ОКТАВУ

MOV AX,DLOK ;УСТАНОВКА

AND AH,0FH ; НУЖНОЙ

DEC AH ; ДЛИТЕЛЬ-

MOV CL,AH ; НОСТИ

SHR DUR,CL ; НОТЫ


IN AL,61H ;ПОЛУЧИТЬ И СОХРАНИТЬ

PUSH AX ; ДАННЫЕ ПОРТА

CLI ;ЗАПРЕТИТЬ ПРЕРЫВАНИЯ

MOV DX,DUR ;УСТАНОВИТЬ ВРЕМЯ ЗВУЧАНИЯ

G10:

AND AL,11111100B ;ОЧИСТИТЬ БИТЫ 0 1

OUT 61H,AL ;ПЕРЕДАТЬ НА ДИНАМИК

MOV CX,TON ;УСТАНОВИТЬ ЧАСТОТУ

G20:

LOOP G20 ;ЗАДЕРЖКА ВРЕМЕНИ

CMP PAUSA,00

JNZ G30

OR AL,00000010B ;УСТАНОВИТЬ БИТ 1

G30: OUT 61H,AL ;ПЕРЕДАТЬ НА ДИНАМИК

MOV CX,TON ;УСТАНОВИТЬ ЧАСТОТУ

G40:

LOOP G40 ;ЗАДЕРЖКА ВРЕМЕНИ

DEC DX ;УМЕНЬШИТЬ ВРЕМЯ ЗВУЧАНИЯ

JNZ G10 ;ПРОДОЛЖАТЬ?

POP AX ;ВОССТАНОВИТЬ ЗНАЧЕНИЕ

OUT 61H,AL ; ПОРТА

STI ;РАЗРЕШИТЬ ПРЕРЫВАНИЯ

RET

GEN ENDP


;--------------------------------------------------------------------

MCLR PROC NEAR ;ОЧИСТКА ЭКРАНА

MOV AX,0600H

MOV BH,20H ;ЧЕРНЫЙ ПО ЗЕЛЕНОМУ

MOV CX,0000

MOV DX,184FH

INT 10H

RET

MCLR ENDP


;--------------------------------------------------------------------

MCURS PROC NEAR ;УСТАНОВКА КУРСОРА

MOV AH,02

MOV BH,00

MOV DH,ROW

MOV DL,COL

INT 10H

RET

MCURS ENDP


;--------------------------------------------------------------------

INOUT PROC NEAR ;ПОДПР-МА ВЫВОД СООБЩЕНИЯ

MOV ROW,22 ; И ВВОД ОТВЕТА

MOV COL,00

CALL MCURS ;УСТАНОВКА КУРСОРА

MOV AH,09 ;ОЧИСТКА ПОЛЯ ВВОДА-ВЫВОДА

LEA DX,PROB

INT 21H

MOV ROW,22

MOV COL,01

CALL MCURS ;УСТАНОВКА КУРСОРА

MOV AH,09 ;ВЫВОД СООБЩЕНИЯ

MOV DX,BUFER

INT 21H

MOV AH,0AH ;ВВОД ОТВЕТА

LEA DX,NAMEPAR

INT 21H

RET

INOUT ENDP


;--------------------------------------------------------------------

PROG PROC NEAR ;ПОДПР-МА "РАБОТА С ЭКРАНОМ"

CALL MCLR

MOV ROW,02

MOV COL,30

CALL MCURS

MOV AH,09

LEA DX,TEXT1

INT 21H ;ВЫВОД TEXT1 НА ЭКРАН


MOV CAC,16

LEA SI,TEXT2

MOV ROW,04

MOV COL,32

P10: CALL MCURS

MOV AH,09

MOV AL,[SI]

MOV BH,00

MOV BL,0D0H ;МИГАНИЕ НА СИРЕНЕВОМ ФОНЕ

MOV CX,01

INT 10H ;ВЫВОД 37 СИМВОЛОВ TEXT2

INC SI

INC COL

DEC CAC

JNZ P10


P20: MOV CAC,03 ;БЛОК ВЫВОДА TEXT3,TEXT4,TEXT5

P30: DEC CAC ; И ПРИЕМА ОТВЕТОВ

P40: CMP CAC,02

JNE P50

LEA AX,TEXT3 ;МЕЛОДИЯ ИЛИ ВЫХОД ИЗ ПРОГРАММЫ (ENTER/N)?

JMP P70

P50: CMP CAC,01

JNE P60

LEA AX,TEXT4 ;ПРИ НЕОБХОДИМОСТИ ИЗМЕНИТЕ ТОНАЛЬНОСТЬ

JMP P70

P60: LEA AX,TEXT5 ;ПРИ НЕОБХОДИМОСТИ ИЗМЕНИТЕ ТЕМП

P70: MOV BUFER,AX

CALL INOUT


CMP ACTLEN,00

JNE P90

CMP CAC,02

JE P30

CMP CAC,01

JNE P80

MOV REGT,00

JMP P30

P80: MOV REGD,00

JMP P130 ;НА ИСПОЛНЕНИЕ ТЕКСТА МЕЛОДИИ


P90: CMP ACTLEN,01

JNE P100

CMP NAMEFLD,4EH ;4EH-"N"

JNE P40

JMP P140 ;ВЫХОД ИЗ ПРОГРАММЫ


P100: CMP ACTLEN,02

JNE P40

CMP CAC,02

JE P40

MOV AL,NAMEFLD+1

CMP AL,30H

JB P40 ;ЕСЛИ НИЖЕ "0"

CMP AL,3CH

JA P40 ;ЕСЛИ ВЫШЕ "9",ВОЗМОЖНЫ СИМВОЛЫ (:),(;),(<)

AND AL,0FH

SHL AL,1

CMP NAMEFLD,2BH ;2BH-"+"

JE P110

CMP NAMEFLD,2DH ;2DH-"-"

JE P105

JMP P40

P105: NEG AL

P110: CBW

CMP CAC,01

JNE P120

MOV REGT,AX

JMP P30

P120: NEG AX

MOV REGD,AX

P130: CALL MAIN

JMP P20

P140: RET

PROG ENDP


;--------------------------------------------------------------------

MAIN PROC NEAR ;ТЕКСТ МЕЛОДИИ

MOV C1,02

MOV C2,01

MA1: CALL BLOK1

DEC C2

JNE MA3

MOV C2,02

DEC C1

JGE MA2

CALL BLOK3

JMP MA4

MA2: CALL BLOK4

JMP MA1

MA3: CALL BLOK2

JMP MA1

MA4: RET

MAIN ENDP


;--------------------------------------------------------------------

BLOK1 PROC NEAR

MOV AX,'mi' ;1t

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'r#'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'mi' ;2t

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'r#'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'ci'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'re'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'do'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'la' ;3t

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'la'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'do'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'la'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'ci' ;4t

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'s#'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'s#'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'ci'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'do' ;5t

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'la'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'r#'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'mi' ;6t

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'r#'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'ci'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'re'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'do'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'la' ;7t

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'la'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'do'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'la'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'ci' ;8t

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'s#'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'do'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'ci'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'la' ;9t

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'la'

CALL MUS

MOV AX,'52'

CALL GEN

RET

BLOK1 ENDP


;--------------------------------------------------------------------

BLOK2 PROC NEAR

MOV AX,'ci' ;1t

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'do'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'re'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'mi' ;2t

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'so'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'do'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'so'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'fa'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'re' ;3t

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'so'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'ci'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'fa'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'re'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'do' ;4t

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'la'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'re'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'do'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'ci'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'52'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'pa'

CALL MUS

MOV AX,'83'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'mi' ;6t

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'pa'

CALL MUS

MOV AX,'84'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'55'

CALL GEN

MOV AX,'r#'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'r#'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'mi' ;7t

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'r#'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'54'

CALL GEN

MOV AX,'r#'

CALL MUS

MOV AX,'54'

CALL GEN

RET

BLOK2 ENDP


;--------------------------------------------------------------------

BLOK3 PROC NEAR

MOV AX,'do'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'mi'

CALL MUS

MOV AX,'53'

CALL GEN

MOV AX,'la'

CALL MUS

MOV AX,'33'

CALL GEN

RET

BLOK3 ENDP


;--------------------------------------------------------------------

BLOK4 PROC NEAR

MOV AX,'la'

CALL MUS

MOV AX,'41'

CALL GEN

RET

BLOK4 ENDP


;--------------------------------------------------------------------

SOUNSG ENDS

END BEGIN

Схожі:

Title sound (сom) Людвиг ван Бетховен \" к элизе \";разр-к Зуев Л. В iconTitle sound (сom) "полонез огинского";разр-к Зуев Л. В. Sounsg segment para 'code';14. 03. 94 конт тел. 41-70-13

Title sound (сom) Людвиг ван Бетховен \" к элизе \";разр-к Зуев Л. В iconTitle sound (сom) "гимн советского союза";разр-к Зуев Л. В. Sounsg segment para 'code';18. 03. 94 конт тел. 41-70-13

Title sound (сom) Людвиг ван Бетховен \" к элизе \";разр-к Зуев Л. В iconСпеціальні призи фестивалю
«Музична Таврія», партитурами В. Моцарт увертюра до опери «Весілля Фігаро», В. Моцарт увертюра до опери «Викрадення із сераля», Л....
Title sound (сom) Людвиг ван Бетховен \" к элизе \";разр-к Зуев Л. В iconProject title (title of idea) Author Surname

Title sound (сom) Людвиг ван Бетховен \" к элизе \";разр-к Зуев Л. В iconMerlin with Sound Effects

Title sound (сom) Людвиг ван Бетховен \" к элизе \";разр-к Зуев Л. В iconClassification approaches to ecologically sound goods dr., prof. Leonid Melnyk, Iryna Burlakova

Title sound (сom) Людвиг ван Бетховен \" к элизе \";разр-к Зуев Л. В iconРабота харьковского гистолога в. А. Павлова (1863-1931) в лаборатории профессора а. Ван гехухтена

Title sound (сom) Людвиг ван Бетховен \" к элизе \";разр-к Зуев Л. В iconНазва модуля: Інформатика Код модуля
Зуев Е. А. Программирование на языке Turbo Pascal 0, – М. – «Техносфера», 1993
Title sound (сom) Людвиг ван Бетховен \" к элизе \";разр-к Зуев Л. В iconК проблемам создания учебников нового поколения Постановка проблемы
Анализ последних исследований и публикаций. Вопросы представления в учебнике средств усвоения учебного материала впервые поднял В....
Title sound (сom) Людвиг ван Бетховен \" к элизе \";разр-к Зуев Л. В iconФонд Александра Ван Хамболдта The Alexander von Humboldt Foundation
Могут принимать участие в конкурсе ученые всех национальностей и любых специальностей
Додайте кнопку на своєму сайті:
Документи


База даних захищена авторським правом ©zavantag.com 2000-2013
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації
Документи