\
\    Mecrisp-Across - A Forth cross compiler for small MSP430 microcontrollers
\    Copyright (C) 2016  Matthias Koch
\
\    This program is free software: you can redistribute it and/or modify
\    it under the terms of the GNU General Public License as published by
\    the Free Software Foundation, either version 3 of the License, or
\    (at your option) any later version.
\
\    This program is distributed in the hope that it will be useful,
\    but WITHOUT ANY WARRANTY; without even the implied warranty of
\    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
\    GNU General Public License for more details.
\
\    You should have received a copy of the GNU General Public License
\    along with this program.  If not, see <http://www.gnu.org/licenses/>.
\


\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\  8. Teil: Schließlich jenes, was kompiliert werden soll :-)
\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 

new \ Das Dictionary des Crosscompilers zurücksetzen

\ <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
    TARGET
\ <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>

: vorbereitung ( -- )

  $5A14 $120 ! \ Watchdog-Interrupt mit ACLK/32768 = 1 s  
  1 ie1 c!      \ Watchdog-Interrupt aktivieren
    
  65  p1dir c!
   1  p1out c!
  
  eint
;

: tick ( -- ) 64 p1out cxor! ;

\ <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
    HOST
\ <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>

\ Compileroptionen wählen

true inlining !

kanonischer-zustand-tos-im-register kanonischer-zustand !
\ kanonischer-zustand-tos-auf-stack kanonischer-zustand !

false kanonischer-rückfall !

\ -----------------------------------------------------------------------------

\ Vektortabelle füllen und Einsprungpunkte definieren

$FFF4 vector tick              \ Watchdog
$FFFE vector vorbereitung       \ Reset

\ Zeit für die Crosscompilation !

crosscompile

\ -----------------------------------------------------------------------------

\ Was hat der Compiler daraus gemacht ?

\ t-listing
t-listing-file irqblinky.list

\ Was ist entstanden ? Einen tiefen Einblick für den Menschen ermöglichen.

disimage
disimage-file irqblinky.asm

\ Und die fertige Intel-Hex-Datei für den Chip ausgeben.

hexdump
hexdump-file irqblinky.hex

 
