aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/avr8/devices/atmega64/device.asm
blob: 1bfc5bb3279e86b08dd0b6c88c5c386279600157 (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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
; Partname:  ATmega64
; generated automatically, do not edit

.nolist
	.include "m64def.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_ANALOG_COMPARATOR = 0
.set WANT_AD_CONVERTER = 0
.set WANT_SPI = 0
.set WANT_TWI = 0
.set WANT_USART0 = 0
.set WANT_USART1 = 0
.set WANT_CPU = 0
.set WANT_BOOT_LOAD = 0
.set WANT_JTAG = 0
.set WANT_MISC = 0
.set WANT_EXTERNAL_INTERRUPT = 0
.set WANT_EEPROM = 0
.set WANT_PORTA = 0
.set WANT_PORTB = 0
.set WANT_PORTC = 0
.set WANT_PORTD = 0
.set WANT_PORTE = 0
.set WANT_PORTF = 0
.set WANT_PORTG = 0
.set WANT_TIMER_COUNTER_0 = 0
.set WANT_TIMER_COUNTER_1 = 0
.set WANT_TIMER_COUNTER_2 = 0
.set WANT_TIMER_COUNTER_3 = 0
.set WANT_WATCHDOG = 0
.equ intvecsize = 2 ; please verify; flash size: 65536 bytes
.equ pclen = 2 ; please verify
.overlap
.org 2
	 rcall isr ; External Interrupt Request 0
.org 4
	 rcall isr ; External Interrupt Request 1
.org 6
	 rcall isr ; External Interrupt Request 2
.org 8
	 rcall isr ; External Interrupt Request 3
.org 10
	 rcall isr ; External Interrupt Request 4
.org 12
	 rcall isr ; External Interrupt Request 5
.org 14
	 rcall isr ; External Interrupt Request 6
.org 16
	 rcall isr ; External Interrupt Request 7
.org 18
	 rcall isr ; Timer/Counter2 Compare Match
.org 20
	 rcall isr ; Timer/Counter2 Overflow
.org 22
	 rcall isr ; Timer/Counter1 Capture Event
.org 24
	 rcall isr ; Timer/Counter1 Compare Match A
.org 26
	 rcall isr ; Timer/Counter Compare Match B
.org 28
	 rcall isr ; Timer/Counter1 Overflow
.org 30
	 rcall isr ; Timer/Counter0 Compare Match
.org 32
	 rcall isr ; Timer/Counter0 Overflow
.org 34
	 rcall isr ; SPI Serial Transfer Complete
.org 36
	 rcall isr ; USART0, Rx Complete
.org 38
	 rcall isr ; USART0 Data Register Empty
.org 40
	 rcall isr ; USART0, Tx Complete
.org 42
	 rcall isr ; ADC Conversion Complete
.org 44
	 rcall isr ; EEPROM Ready
.org 46
	 rcall isr ; Analog Comparator
.org 48
	 rcall isr ; Timer/Counter1 Compare Match C
.org 50
	 rcall isr ; Timer/Counter3 Capture Event
.org 52
	 rcall isr ; Timer/Counter3 Compare Match A
.org 54
	 rcall isr ; Timer/Counter3 Compare Match B
.org 56
	 rcall isr ; Timer/Counter3 Compare Match C
.org 58
	 rcall isr ; Timer/Counter3 Overflow
.org 60
	 rcall isr ; USART1, Rx Complete
.org 62
	 rcall isr ; USART1, Data Register Empty
.org 64
	 rcall isr ; USART1, Tx Complete
.org 66
	 rcall isr ; 2-wire Serial Interface
.org 68
	 rcall isr ; Store Program Memory Read
.equ INTVECTORS = 35
.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 35
mcu_name:
	.dw  8
	.db "ATmega64"
.set codestart=pc