Advertisement
Guest User

Untitled

a guest
Dec 25th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;ports
  2. #define PORT_ADD_LOW 02h
  3. #define PORT_ADD_HIGH 03h
  4. #define PORT_COMMAND 04h
  5. #define PORT_TIMER_FREQ_LOW 05h
  6. #define PORT_TIMER_FREQ_HIGH 06h
  7.  
  8. ;for commands for PORT_COMMAND
  9. #define COMMAND_WRITE_SERIEL 01h
  10. #define COMMAND_ENABLE_TIMER 02h
  11. #define COMMAND_DISABLE_TIMER 03h
  12. #define COMMAND_NMI_ACK 04h
  13.  
  14. #define INTURUPT_CAUESE_ADDRESS 77 ;temp
  15. #define INTURUPT_CAUES_TIMER 0x01
  16.  
  17. #define output(x, y) ld a,y \ out (x),a
  18. #define command(x) output(PORT_COMMAND, x)
  19.  
  20.  
  21.  
  22. .org 0
  23.  ld sp,stack
  24.  im 1
  25.  ei
  26.  output(PORT_ADD_LOW, testfoo & FFh)
  27.  output(PORT_ADD_HIGH, testfoo >> 8)
  28.  command(COMMAND_WRITE_SERIEL)
  29.  output(PORT_ADD_LOW, output & FFh)
  30.  output(PORT_ADD_HIGH, output >> 8)
  31.  output(PORT_TIMER_FREQ_LOW, 88h)
  32.  output(PORT_TIMER_FREQ_HIGH, 10h)
  33.  command(COMMAND_ENABLE_TIMER)
  34.  jr $
  35.  ;leave a bit of space for SP
  36. .db 0,0
  37. .db 0,0
  38. .db 0,0
  39. .db 0,0
  40. stack:
  41. .db 0,0
  42.  
  43. .align 0038h
  44. inturupt:
  45. .if $ != 0038h
  46. .fail "& should be 38h"
  47. .endif
  48.  di
  49.  command(COMMAND_NMI_ACK)
  50.  command(COMMAND_WRITE_SERIEL)
  51.  ei
  52.  ret
  53.  
  54. output:
  55.  .db "int",0
  56. testfoo:
  57.  .db "test",0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement