Advertisement
Guest User

Untitled

a guest
Sep 29th, 2016
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.15 KB | None | 0 0
  1. .286
  2. .model small
  3. .stack 20h
  4. .data
  5. msg1 db 13,10,'Введите T:',13,10,'$'
  6. msg2 db 13,10,'Введите To:',13,10,'$'
  7. msg label byte ;структура для ввода символов клавиатуры
  8. maxnum db 5 ;масимальное количество символов
  9. reallen db ?
  10. numfld db 5 dup (30H) ;буфер для ASCII кодов сивмволов
  11. T dw ?
  12. To dw ?
  13. sum dw ?
  14. z dw 0 ;результат преобразования символов в часло
  15. mult10 dw 0;вспомогательная переменая для преобразования символов в часло
  16. .code
  17.  
  18. sound proc
  19. pusha
  20. ;mov di,6000 ;частота звука
  21. ;mov bx,2000 ;длительность
  22. mov al,0b6H
  23. out 43H,al
  24. mov dx,0014H
  25. mov ax,4f38H
  26. div di
  27. out 42H,al
  28. mov al,ah
  29. out 42H,al
  30. in al,61H
  31. mov ah,al
  32. or al,3
  33. out 61H,al
  34. l1: mov cx,2801H
  35. l2: loop l2
  36. dec bx
  37. jnz l1
  38. mov al,ah
  39. out 61H,al
  40. popa
  41. ;mov ah,4cH
  42. ;int 21H
  43. ret
  44. sound endp
  45.  
  46. asbin proc ;процедура преобразования символов в часло
  47. mov mult10,0001 ;инициализация фактора преобразования
  48. mov z,0 ;обнуление результата
  49. mov cx,10 ;основание системы счисления
  50. lea si,numfld-1 ;установка указателя на начало буфера
  51. mov bl,reallen ;загрука фактического колиества символов часла
  52. sub bh,bh ;обнуление регистра bh
  53.  
  54. B20: ;цикл преобразования символов часло
  55. mov al,[si+bx] ;загрузка символа из конца буфера
  56. and ax,000fH ;выделение младешей тетрады
  57. mul mult10 ;выделение еденицы и умножение цифры на 10 в степени n
  58. add z,ax ;прибавление промежуточного результата
  59. mov ax,mult10 ;загрузка переменной нового значеня mult10 в ax
  60. mul cx ;умножение переменной mult10 на 10
  61. mov mult10,ax ;сохранение нового значение переменной
  62. dec bx ;перемещение указателя на следующий разряд числа
  63. jnz B20 ;продолжение цикла преобразования
  64. ret
  65. asbin endp
  66.  
  67. start:
  68. mov ax,@data
  69.  
  70. mov di,500 ; загрузка частоты звучания динамика
  71. mov bx,T; загрузка длительности звучания в тактах м/п
  72. call sound
  73.  
  74. mov di,1000 ; загрузка частоты звучания динамика
  75. mov bx,T; загрузка длительности звучания в тактах м/п
  76. call sound
  77.  
  78. mov di,1500 ; загрузка частоты звучания динамика
  79. mov bx,T; загрузка длительности звучания в тактах м/п
  80. call sound
  81.  
  82. kc:mov ah,4cH
  83. int 21H
  84.  
  85. end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement