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.