aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/avr8/devices/atmega64c1/device.asm
blob: 41f6d9783d1fa9526e287893da35ee23c5b3a230 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
; Partname:  ATmega64C1
; generated automatically, do not edit

.nolist
	.include "m64C1def.inc"
.list

.equ ramstart =  256
.equ CELLSIZE = 2
.macro readflashcell
	lsl zl
	rol zh
	lpm @0, Z+
	lpm @1, Z+
.endmacro
.macro writeflashcell
	lsl zl
	rol zh
.endmacro
.set WANT_PORTB = 0
.set WANT_PORTC = 0
.set WANT_PORTD = 0
.set WANT_CAN = 0
.set WANT_ANALOG_COMPARATOR = 0
.set WANT_DA_CONVERTER = 0
.set WANT_CPU = 0
.set WANT_PORTE = 0
.set WANT_TIMER_COUNTER_0 = 0
.set WANT_TIMER_COUNTER_1 = 0
.set WANT_AD_CONVERTER = 0
.set WANT_LINUART = 0
.set WANT_SPI = 0
.set WANT_WATCHDOG = 0
.set WANT_EXTERNAL_INTERRUPT = 0
.set WANT_EEPROM = 0
.equ intvecsize = 2 ; please verify; flash size: 65536 bytes
.equ pclen = 2 ; please verify
.overlap
.org 2
	 rcall isr ; Analog Comparator 0
.org 4
	 rcall isr ; Analog Comparator 1
.org 6
	 rcall isr ; Analog Comparator 2
.org 8
	 rcall isr ; Analog Comparator 3
.org 10
	 rcall isr ; PSC Fault
.org 12
	 rcall isr ; PSC End of Cycle
.org 14
	 rcall isr ; External Interrupt Request 0
.org 16
	 rcall isr ; External Interrupt Request 1
.org 18
	 rcall isr ; External Interrupt Request 2
.org 20
	 rcall isr ; External Interrupt Request 3
.org 22
	 rcall isr ; Timer/Counter1 Capture Event
.org 24
	 rcall isr ; Timer/Counter1 Compare Match A
.org 26
	 rcall isr ; Timer/Counter1 Compare Match B
.org 28
	 rcall isr ; Timer1/Counter1 Overflow
.org 30
	 rcall isr ; Timer/Counter0 Compare Match A
.org 32
	 rcall isr ; Timer/Counter0 Compare Match B
.org 34
	 rcall isr ; Timer/Counter0 Overflow
.org 36
	 rcall isr ; CAN MOB, Burst, General Errors
.org 38
	 rcall isr ; CAN Timer Overflow
.org 40
	 rcall isr ; LIN Transfer Complete
.org 42
	 rcall isr ; LIN Error
.org 44
	 rcall isr ; Pin Change Interrupt Request 0
.org 46
	 rcall isr ; Pin Change Interrupt Request 1
.org 48
	 rcall isr ; Pin Change Interrupt Request 2
.org 50
	 rcall isr ; Pin Change Interrupt Request 3
.org 52
	 rcall isr ; SPI Serial Transfer Complete
.org 54
	 rcall isr ; ADC Conversion Complete
.org 56
	 rcall isr ; Watchdog Time-Out Interrupt
.org 58
	 rcall isr ; EEPROM Ready
.org 60
	 rcall isr ; Store Program Memory Read
.equ INTVECTORS = 31
.nooverlap

; compatability layer (maybe empty)
.equ EEPE = EEWE
.equ EEMPE = EEMWE

; controller data area, environment query mcu-info
mcu_info:
mcu_ramsize:
	.dw 4096
mcu_eepromsize:
	.dw 2048
mcu_maxdp:
	.dw 57344 
mcu_numints:
	.dw 31
mcu_name:
	.dw 10
	.db "ATmega64C1"
.set codestart=pc