Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
.model small
.stack 100h
.data
F DW 0; типа периода(обратно пропорционально частоте)
T DB 5; время в секундах
str1 db "Input Freq: $"
str2 db "Input Time: $"
.code
mov ax,@data
mov ds,ax
;--------------------ВВОД F---------------------------------------------------------------------------------
mov ah, 09h;
mov dx, offset str1
int 21h
mov cx, 5
xor ax, ax
push ax
la:
mov ah, 08h
int 21h; ввод цифры
cmp al, 13d
je ex
cmp al, 48d
jb la
cmp al, 57d
ja la; проверка
mov bl, al; перенос в bx цифры
mov bh, 0h
mov dl, al
mov ah, 02h
int 21h
sub bx, 48d; переводим символ в цифру (код клавиши 0 - 48)
pop ax
mov dx, 10d
mul dx; умножаем ах на 10 и добавляем новую цифру
jc er
add ax, bx
jc er
push ax
loop la
jmp ex
er:push 0ffffh
ex:
pop ax
mov F, ax
;-----------------------------------------------------------------------------------------------------
mov dl, 0ah
mov ah, 02h
int 21h
mov dl, 0dh
mov ah, 02h
int 21h
;-----------------------------------------------------------------------------------------------------
mov ah, 09h
mov dx, offset str2
int 21h
mov cx, 3
xor ax, ax
push ax
la2:
mov ah, 08h
int 21h ;ввод цифры
cmp al, 13d
je ex2
cmp al, 48d
jb la
cmp al, 57d
ja la;проверка
mov bl, al;перенос в bl цифры
mov dl, al
mov ah, 02h
int 21h
sub bl, 48d ;переводим символ в цифру
pop ax
mov dl, 10d
mul dl; умножаем ах на 10 и добавляем новую цифру
jc er2
add al, bl
jc er2
push ax
loop la2
jmp ex2
er2:push 0ffh
ex2:
pop ax
mov T, al
;-----------------------------------------------------------------------------------------------------
IN al, 61H ;ВКЛЮЧАЕМ ДИНАМИК
OR al,00000011B
OUT 61H,al
mov SI,0
mov al,0B6H
OUT 43H,al
mov dx, F;ЗАПИСЬ ЧАСТОТЫ В ПОРТ
mov al,DL
OUT 42H,al
mov al,DH
OUT 42H,al
mov ah,0;ТАЙМЕР НАЧАЛО
INT 1AH
MOV AL, T; РАСЧЁТ ВРЕМЕНИ
MOV CX, 10
MUL CL
mov CX, AX
mov bx,dx
ADD bx,cx
ST_SOU: INT 1AH ;ТАЙМЕР
CMP dx,bx
JNE ST_SOU
IN al,61H;ВЫКЛЮЧЕНИЕ ДИНАМИКА
AND al,0FCH
OUT 61H,al
mov ax,4c00h
int 21h
end