This page (revision-16) was last changed on 03-Feb-2023 15:21 by Carsten Strotmann 

This page was created on 25-Apr-2010 09:12 by Carsten Strotmann

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
16 03-Feb-2023 15:21 10 KB Carsten Strotmann to previous
15 25-Apr-2010 10:56 8 KB Carsten Strotmann to previous | to last
14 25-Apr-2010 10:45 6 KB Carsten Strotmann to previous | to last
13 25-Apr-2010 10:37 5 KB Carsten Strotmann to previous | to last
12 25-Apr-2010 10:29 3 KB Carsten Strotmann to previous | to last
11 25-Apr-2010 10:29 3 KB Carsten Strotmann to previous | to last
10 25-Apr-2010 10:26 3 KB Carsten Strotmann to previous | to last
9 25-Apr-2010 10:19 2 KB Carsten Strotmann to previous | to last
8 25-Apr-2010 10:17 2 KB Carsten Strotmann to previous | to last
7 25-Apr-2010 09:49 1 KB Carsten Strotmann to previous | to last
6 25-Apr-2010 09:48 1 KB Carsten Strotmann to previous | to last
5 25-Apr-2010 09:48 1 KB Carsten Strotmann to previous | to last
4 25-Apr-2010 09:22 9 KB Carsten Strotmann to previous | to last
3 25-Apr-2010 09:20 9 KB Carsten Strotmann to previous | to last
2 25-Apr-2010 09:20 9 KB Carsten Strotmann to previous | to last
1 25-Apr-2010 09:12 9 KB Carsten Strotmann to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 109 added 2 lines
! NEXT
At line 113 added one line
! Zugriff auf den Stack
At line 123 added one line
! ROM Zugriff auf Commodore Maschinen
At line 125 added 18 lines
Beim Assemblerprogrammieren muß beachtetwerden, daß VolksForth das ROM abschaltet (bei Commodore Maschinen). Daher müssen Lesezugriffe ins ROM etwas anders organisiert warden. Beispiel fur den C16:
{{{
ffd2 jsr \ springt eine RAM-Routine an.
ff3e sta ffd2 jsr ff3f sta \ springt eine ROM-Routine an.
}}}
Sie funktioniert nur , wenn sie im unteren RAM-Bereich (<$8000) steht . Sonst folgen undefinierte Reaktionen.
Beim C64 ist eine Bankumschaltung nur für Lesezugriffe in das BASIC-ROM erforderlich. Hierbei ist zusätzlich zu beachten, daß eine Bankumschaltung mit {{{SEI}}} vorbereitet werden muß, da andernfalls der periodische Tastaturinterrupt zu einem Absturz führen wurde.
Auf dem C16 ist kein {{{SEI}}} erforderlich, da im RAM der Vektor $FFFE auf eine eigene Interruptroutine zeigt (sie benotigt ca. 1 Promille der Rechenzeit). Aus dem gleichen Grund fuhrt eine BRK-Instruktion zwar weiterhin in den Monitor, allerdings mit falschem Registerdump, da der Monitor auf dam Stack die Daten der Interruptroutine statt der Register vorfindet.
!! Glossar
! PushA ( -- addr )
Eine Konstante, welche die Adresse einer Maschinencode-Sequenz enthält, die den Inhalt des Akku vorzeichenbehaftet auf den Datenstack legt und dann zu NEXT springt. Wird als letzter Sprungbefehl in Code-Worten benutzt.