Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. %TITLE "Lab3: Sound"
  2.       IDEAL
  3.       MODEL  Small
  4.       STACK  256  
  5.       full EQU 2000
  6.       double EQU 4000
  7.       DATASEG
  8.       str1 db 'Vvedit goduny (1-12)',10,13, '$'
  9.       intime DB 4 DUP (’ ’) ;Область введення
  10.       clock=1193180
  11.       tone=clock / 600
  12.     pause=clock /65000
  13.     temp=4000
  14.       outtime dw tone,pause,tone,pause,tone,pause,tone,pause,tone,pause,tone,pause,tone,pause,tone,pause,tone,pause,tone,pause,tone,pause,tone,pause
  15.       Time dw 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10
  16.       ctime db 0
  17.       s1 dw 0
  18.       Skor dw 0
  19.       skor1 dw 0
  20.       mn dw 2
  21.  
  22. CODESEG
  23.        
  24. Start:
  25. mov ax,@data
  26. mov ds,ax
  27. mov es,ax
  28. mov ah,9
  29. mov dx, offset str1
  30. int 21h
  31. MOV AH,3Fh ; Запит на введення
  32. MOV BX,00 ; Номер для клавіатури
  33. MOV CX,4 ; Макс. байт для введення
  34. LEA DX,[intime] ; Адреса області введення
  35. INT 21h ; Виклик DOS
  36. mov cx, ax ; кількість введеного в cx
  37. sub cx, 2 ; Мінус символ ентеyра s кінця рядка
  38. mov ah,9;
  39. int 21h;
  40. mov bx, offset intime ; адреса першого введеного
  41. mov dx,0
  42. mov ax,0
  43. mov ax,[bx] ;/якщо ax тоді заносить два числа
  44. cmp ah,30h
  45. jb lowreg
  46. mov [ctime],10
  47. sub ah,48;
  48. add [ctime],ah;
  49. loop calling
  50. lowreg:
  51. sub al,48;
  52. add [ctime],al;
  53. mov al,[ctime];
  54. calling:
  55. mov al,[ctime];
  56. mov ah,0;
  57. mul [mn];
  58. mov [ctime],al
  59. call snd
  60. loop exit;
  61. proc snd  near  
  62.       mov ah,0
  63.       int 26
  64.       mov [s1],dx
  65.       mov dx,0ffffh
  66. m10:  
  67.       sub dx,1
  68.       cmp dx,0  
  69.       jne m10
  70.       mov ah,0
  71.       int 26
  72.       sub dx,[s1]
  73.       jne m4
  74.       mov dx,1
  75. m4:
  76.       mov ax,55  
  77.       mul dx  
  78.       mov [skor],ax  
  79.       mov [skor1],dx  
  80.       mov si,offset outtime  
  81.       mov di,offset Time  
  82.       mov cl,[ctime]
  83. m2:
  84.       mov al,182  
  85.       out 67,al
  86.       mov al,[si]
  87.       out 66,al
  88.       inc si  
  89.       mov al,[si]  
  90.       out 66,al
  91.       inc si  
  92.       in al,97
  93.       or al,3
  94.       out 97,al
  95.       mov bx,[di]
  96. m3:        
  97.       mov dx,0ffffh
  98. m1:  
  99.       sub dx,1
  100.       cmp dx,0  
  101.       jne m1
  102.       sub bx,1
  103.       cmp bx,0
  104.       jne m3
  105.       inc di  
  106.       inc di
  107.       loop m2
  108.       in al,97
  109.       and al,0fch
  110.       out 97,al
  111.       ret
  112. endp snd
  113. Exit:
  114.       mov ah, 4ch
  115.       mov al,0
  116.       int 21h
  117.       END Start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement