Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. /*************************************************************/
  2. /* Работа с циклами */
  3. /*************************************************************/
  4.  
  5. #include "def21060.h"
  6. #define F 4
  7.  
  8.  
  9.  
  10. //------------------------------------------------------
  11. // Source Vector 2 and Result Vector
  12. .SECTION/DM dm_data;
  13. .VAR buffer[F]; // буфер
  14. .ENDSEG;
  15.  
  16. .SECTION/PM my_irq;
  17. bit clr IRPTL SFT0I;
  18. bit clr MODE2 TIMEN;
  19. I1 = B1;
  20. LCNTR = R6, DO qqq UNTIl LCE;
  21. R0 = DM(I1,M1);
  22. qqq: DM(OutPort) = R0;
  23. I1 = B1;
  24. bit set IRPTL SFT0I;
  25. bit set MODE2 TIMEN;
  26. TPeriod = 3;
  27. TCount = 3;
  28. R3 = 0;
  29. rti;
  30. .ENDSEG;
  31.  
  32. .SECTION/PM timer_hi;
  33. R1 = DM(InPort);
  34. R0 = R1 - R0;
  35. rti(DB);
  36. DM(OutPort) = R0;
  37. NOP;
  38. .ENDSEG;
  39. //----------------
  40. .SECTION/DM ext_data; // важно, чтобы эти переменные были именно в DM
  41. .VAR InPort; // переменная для входных данных
  42. .VAR OutPort;// переменная для выходных данных
  43. //------------------------------------------------------
  44.  
  45. //------------------------------------------------------
  46. .SECTION/PM pm_irq_svc;
  47. nop;
  48. jump start;
  49. nop;
  50. nop;
  51. .ENDSEG;
  52. //------------------------------------------------------
  53.  
  54. //------------------------------------------------------
  55. .SECTION/PM pm_code;
  56.  
  57.  
  58. start:
  59. R0 = 0;
  60. B1 = buffer;
  61. L1 = @buffer;
  62. M1 = 1;
  63.  
  64. TPeriod = 4;
  65. TCount = 4;
  66.  
  67. bit set IMASK TMZHI; //! разрешить прерывания от таймера
  68. bit set MODE2 TIMEN; //! включить таймер
  69. bit set MODE1 IRPTEN;// ! разрешить прерывания
  70.  
  71.  
  72.  
  73. wait: IDLE;
  74. jump wait;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement