nodeus

IM2 interrupt processing

May 30th, 2012
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. MUZ   EQU #C000
  2.       ORG MUZ
  3. +     INCBIN "MUSIC"
  4.       ORG #6000
  5.       DI
  6.       CALL MUZ ;инициализируем музыку
  7.       LD HL, #FE00
  8.       LD A, H
  9.       LD I, A ;I=#FE
  10.       LD DE, #FE01
  11.       LD BC, #100
  12.       LD (HL), #5C
  13.       LDIR ;заполняем таблицу прерывания
  14.       LD L, (HL)
  15.       LD H, L ;HL=#5C5C
  16.       LD (HL), 195 ;JP
  17.       INC HL
  18.       LD (HL), IMER
  19.       INC HL
  20.       LD (HL), 'IMER
  21.      IM 2
  22.      EI
  23.  
  24.    <далее программа будет работать под музыку>
  25.  
  26.      IM 1 ;выключаем IM 2
  27.      JP MUZ ;выключаем музыку и выходим
  28.  
  29. IMER  PUSH AF
  30.      PUSH BC
  31.      PUSH DE
  32.      PUSH HL
  33.      PUSH IX
  34.      PUSH IY
  35.      CALL MUZ+5 ;вызываем музыку
  36.      POP IY
  37.      POP IX
  38.      POP HL
  39.      POP DE
  40.      POP BC
  41.      POP AF
  42.      EI
  43.      RET
Advertisement
Add Comment
Please, Sign In to add comment