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/amforth.asm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 amforth-6.5/avr8/amforth.asm (limited to 'amforth-6.5/avr8/amforth.asm') diff --git a/amforth-6.5/avr8/amforth.asm b/amforth-6.5/avr8/amforth.asm new file mode 100644 index 0000000..3e9a9f2 --- /dev/null +++ b/amforth-6.5/avr8/amforth.asm @@ -0,0 +1,39 @@ +;;;; avr forth +;;;; +;;;; GPL V2 (only) + +.set AMFORTH_NRWW_SIZE=(FLASHEND-AMFORTH_RO_SEG)*2 + +.set corepc = pc +.org $0000 + jmp_ PFA_COLD + +.org corepc +.include "drivers/generic-isr.asm" +; lower part of the dictionary +.include "dict/rww.inc" +.include "dict_appl.inc" + +.set DPSTART = pc +.if(pc>AMFORTH_RO_SEG) +.error "RWW Segment Overflow, please edit your dict_appl.inc" +.endif + +.org AMFORTH_RO_SEG +.include "amforth-interpreter.asm" +.include "dict/nrww.inc" +.include "dict_appl_core.inc" + +.set flashlast = pc +.if (pc>FLASHEND) + .error "*** Flash size exceeded, please edit your dict_appl_core file to use less space! Aborting." +.endif + +.dseg +; define a label for the 1st free ram address +HERESTART: +.eseg +.include "amforth-eeprom.inc" +; 1st free address in EEPROM. +EHERESTART: +.cseg -- cgit v1.2.3