OpenCores
URL https://opencores.org/ocsvn/socgen/socgen/trunk

Subversion Repositories socgen

[/] [socgen/] [trunk/] [Projects/] [opencores.org/] [Mos6502/] [sw/] [io_irq/] [io_irq.asm] - Blame information for rev 131

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 131 jt_eaton
 
2
  include ../io_module/io_module.asm
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
        * = $c000  ; assemble start
13
               code
14
 
15
                   jmp  .nmi_vec               ;
16
                   jmp  .irq_vec               ;
17
.start             nop
18
                   ldx #00
19
                   ldy #00
20
                   lda io_base+io_gpio_0
21
                   sec
22
                   adc #00
23
                   sta io_base+io_gpio_0
24
                   lda io_base+io_gpio_0
25
                   sec
26
                   adc #00
27
                   sta io_base+io_gpio_0
28
 
29
 
30
                   lda #$01
31
                                ;
32
                   sta io_base+io_pic_irq_en
33
 
34
                   lda #$04
35
                   sta io_base+io_pic_nmi_en
36
 
37
 
38
 
39
                   lda #$c0
40
                   sta io_base+io_uart_cnt
41
                   lda #$42
42
                   sta io_base+io_uart_xmt
43
                   cli          ; was cli
44
                   lda #$fe
45
                   sta io_base+io_tim0_start
46
 
47
                   ldx #$00
48
                   inx
49
                   inx
50
                   inx
51
                   inx
52
                   inx
53
                   inx
54
                   inx
55
                   inx
56
                   inx
57
                   inx
58
                   inx
59
                   inx
60
                   inx
61
                   inx
62
                   inx
63
                   inx
64
 
65
 
66
.lab_80            lda $05
67
                   jmp .lab_80
68
 
69
 
70
 
71
 
72
 
73
 
74
.irq_vec           pha
75
                   txa
76
                   pha
77
                   tya
78
                   pha
79
                   lda io_base+io_gpio_0
80
                   sec
81
                   adc #00
82
                   sta io_base+io_gpio_0
83
                   lda #$fe
84
                   sta io_base+io_tim0_end
85
                   sta io_base+io_tim0_start
86
                   pla
87
                   tay
88
                   pla
89
                   tax
90
                   pla
91
                   rti
92
 
93
.nmi_vec           pha
94
                   lda io_base+io_uart_rcv
95
                   sec
96
                   adc #01
97
                   sta io_base+io_uart_xmt
98
                   lda io_base+io_gpio_1
99
                   sec
100
                   adc #00
101
                   sta io_base+io_gpio_1
102
                   pla
103
                   rti
104
 
105
 
106
             * = $c0fa         ; vectors
107
     dw .nmi_vec               ;
108
     dw .start                 ;
109
     dw .irq_vec               ;
110
 
111
 code
112
 
113
 
114
 
115
 
116
 
117
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.