h, 9; завантажена
int 21h
lea dx, start; Залишаємо резидентної
int 27h:
mov ah, 4ch
int 21hPROC; Переклад рядки часу в число
xor dh, dh
mov [count], dh
lea si, atime:
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:
mov ax, 1
stop1:; Містить 1 якщо ппроізошла помилка при перекладі
retPROC; Перетворює рядок містить номер мелодії
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 якщо сталася помилка при перекладі:
retPROC; Перетворює до 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
END Begin
Висновок
У ході виконання практичної роботи були закріплені та систематизовано отримані мною теоретичні знання....