From 67d25d837ac55f28a366c0a3b262e439a6e75fc3 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 19 Aug 2017 12:15:28 +0200 Subject: Add AmForth --- amforth-6.5/avr8/devices/atmega1281/device.asm | 184 +++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 amforth-6.5/avr8/devices/atmega1281/device.asm (limited to 'amforth-6.5/avr8/devices/atmega1281/device.asm') diff --git a/amforth-6.5/avr8/devices/atmega1281/device.asm b/amforth-6.5/avr8/devices/atmega1281/device.asm new file mode 100644 index 0000000..cc65436 --- /dev/null +++ b/amforth-6.5/avr8/devices/atmega1281/device.asm @@ -0,0 +1,184 @@ +; Partname: ATmega1281 +; generated automatically, do not edit + +.nolist + .include "m1281def.inc" +.list + +.equ ramstart = 512 +.equ CELLSIZE = 2 +.macro readflashcell + clr temp7 + lsl zl + rol zh + rol temp7 + out_ RAMPZ, temp7 + elpm @0, Z+ + elpm @1, Z+ +.endmacro +.macro writeflashcell + clr temp7 + lsl zl + rol zh + rol temp7 + out_ RAMPZ, temp7 +.endmacro +.set WANT_ANALOG_COMPARATOR = 0 +.set WANT_USART0 = 0 +.set WANT_USART1 = 0 +.set WANT_TWI = 0 +.set WANT_SPI = 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_2 = 0 +.set WANT_WATCHDOG = 0 +.set WANT_TIMER_COUNTER_5 = 0 +.set WANT_TIMER_COUNTER_4 = 0 +.set WANT_TIMER_COUNTER_3 = 0 +.set WANT_TIMER_COUNTER_1 = 0 +.set WANT_EEPROM = 0 +.set WANT_JTAG = 0 +.set WANT_EXTERNAL_INTERRUPT = 0 +.set WANT_AD_CONVERTER = 0 +.set WANT_BOOT_LOAD = 0 +.set WANT_CPU = 0 +.equ intvecsize = 2 ; please verify; flash size: 131072 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 ; Pin Change Interrupt Request 0 +.org 20 + rcall isr ; Pin Change Interrupt Request 1 +.org 22 + rcall isr ; Pin Change Interrupt Request 2 +.org 24 + rcall isr ; Watchdog Time-out Interrupt +.org 26 + rcall isr ; Timer/Counter2 Compare Match A +.org 28 + rcall isr ; Timer/Counter2 Compare Match B +.org 30 + rcall isr ; Timer/Counter2 Overflow +.org 32 + rcall isr ; Timer/Counter1 Capture Event +.org 34 + rcall isr ; Timer/Counter1 Compare Match A +.org 36 + rcall isr ; Timer/Counter1 Compare Match B +.org 38 + rcall isr ; Timer/Counter1 Compare Match C +.org 40 + rcall isr ; Timer/Counter1 Overflow +.org 42 + rcall isr ; Timer/Counter0 Compare Match A +.org 44 + rcall isr ; Timer/Counter0 Compare Match B +.org 46 + rcall isr ; Timer/Counter0 Overflow +.org 48 + rcall isr ; SPI Serial Transfer Complete +.org 50 + rcall isr ; USART0, Rx Complete +.org 52 + rcall isr ; USART0 Data register Empty +.org 54 + rcall isr ; USART0, Tx Complete +.org 56 + rcall isr ; Analog Comparator +.org 58 + rcall isr ; ADC Conversion Complete +.org 60 + rcall isr ; EEPROM Ready +.org 62 + rcall isr ; Timer/Counter3 Capture Event +.org 64 + rcall isr ; Timer/Counter3 Compare Match A +.org 66 + rcall isr ; Timer/Counter3 Compare Match B +.org 68 + rcall isr ; Timer/Counter3 Compare Match C +.org 70 + rcall isr ; Timer/Counter3 Overflow +.org 72 + rcall isr ; USART1, Rx Complete +.org 74 + rcall isr ; USART1 Data register Empty +.org 76 + rcall isr ; USART1, Tx Complete +.org 78 + rcall isr ; 2-wire Serial Interface +.org 80 + rcall isr ; Store Program Memory Read +.org 82 + rcall isr ; Timer/Counter4 Capture Event +.org 84 + rcall isr ; Timer/Counter4 Compare Match A +.org 86 + rcall isr ; Timer/Counter4 Compare Match B +.org 88 + rcall isr ; Timer/Counter4 Compare Match C +.org 90 + rcall isr ; Timer/Counter4 Overflow +.org 92 + rcall isr ; Timer/Counter5 Capture Event +.org 94 + rcall isr ; Timer/Counter5 Compare Match A +.org 96 + rcall isr ; Timer/Counter5 Compare Match B +.org 98 + rcall isr ; Timer/Counter5 Compare Match C +.org 100 + rcall isr ; Timer/Counter5 Overflow +.org 102 + rcall isr ; USART2, Rx Complete +.org 104 + rcall isr ; USART2 Data register Empty +.org 106 + rcall isr ; USART2, Tx Complete +.org 108 + rcall isr ; USART3, Rx Complete +.org 110 + rcall isr ; USART3 Data register Empty +.org 112 + rcall isr ; USART3, Tx Complete +.equ INTVECTORS = 57 +.nooverlap + +; compatability layer (maybe empty) + +; controller data area, environment query mcu-info +mcu_info: +mcu_ramsize: + .dw 8192 +mcu_eepromsize: + .dw 4096 +mcu_maxdp: + .dw 65535 +mcu_numints: + .dw 57 +mcu_name: + .dw 10 + .db "ATmega1281" +.set codestart=pc -- cgit v1.2.3