Смекни!
smekni.com

Программируемый периферийный интерфейс. Генерация звука с запретом и без запрета прерываний (стр. 2 из 2)

je outinfo

jmp next

outinfo:

pop es

mov ah,9

lea dx,Message ;Сообщение о том что командная строка

int 21h ;содержит не верный параметр

jmp exit

next: ;Выполняется если данные в командной строке

pop es

cli ;корректны

mov dx,offset int1Ch

mov ax,251Ch ;Устанавливаем новый обработчик прерывания 1Ch

int 21h

sti

mov dx,offset int_7h

mov ax,2507h ;Устанавливаем новый обработчик прерывания 07h

int 21h

lea dx,Message2 ;Вывод сообщения о том что программа была

mov ah,9 ;загружена

int 21h

lea dx,start ;Оставляем резидентной

int 27h

exit:

mov ah,4ch

int21h

StrToTime PROC ;Перевод строки времени в число

xor dh,dh

mov [count],dh

lea si,atime

conv:

xor ax,ax

mov cx,10

mov ah,es:[di]

cmp ah,'0'

jb res

cmp ah,'9'

ja res

xor ax,ax

@st:

xor bx,bx

mov bl,es:[di]

cmp bl,'9'

ja @e1

cmp bl,'0'

jb @e1

sub bl,'0'

mul cx

add ax,bx

inc di

jmp @st

@e1:

inc [count]

call ConvtoBCD

mov [si],ax

inc si

inc si

inc di

cmp [count],3

jb conv

xor ax,ax

jmp stop1

res:

mov ax,1

stop1: ;Содержит 1 если ппроизошла ошибка при переводе

ret

ENDP

StrToMusic PROC ;Преобразует строку содержащую номер мелодии

xor bx,bx ;в число

mov bl,es:[di]

cmp bl,'9'

ja @en1

cmp bl,'0'

jb @en1

sub bl,'0'

mov [musn],bl

xor ax,ax

jmp fin

@en1:

xor ax,ax

mov ax,1 ;Содержит 1 если произошла ошибка при переводе

fin:

ret

ENDP

ConvToBCD PROC ;Преобразует к BCD входные и выходные данные в ax

push bx

push cx

push dx

mov bx,10

div bx

mov cx,dx

mov bx,16

mul bx

add ax,cx

pop dx

pop cx

pop bx

ret

ENDP

ENDBegin


Заключение

В ходе выполнения практической работы были закреплены и систематизированы полученные мною теоретические знания. Задача курсовой работы была выполнена:

1. создана система с использованием средств языка программирования ассемблер.

2. Создана система генерации звука .

3. Поставленная задача выполнена.


Список используемой литературы

1) А. Алексеев – Assembler2) А. Фог - Оптимизация для процессоров семейства Pentium3) В. Еpшов - Ассемблер и программирование для IBM PC.4) В. Пирогов - Ассемблер для Windows.5) В.Юров - Assembler. Учебный курс.6) Д.Брэдли - Программируем на языке ассемблера.7) К. Финогенов - Основы языка ассемблера.rar8) П. Абель - Ассемблер и программирование для IBM PC.9) Р.Журден - Справочник программиста на персональном компьютере IBM PC.