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

This page was created on 29-Jul-2010 10: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
5 03-Feb-2023 15:21 1 KB Carsten Strotmann to previous
4 26-Feb-2017 15:02 1 KB Carsten Strotmann to previous | to last
3 26-Feb-2017 15:02 1 KB Carsten Strotmann to previous | to last
2 29-Jul-2010 10:50 1 KB Carsten Strotmann to previous | to last
1 29-Jul-2010 10:12 638 bytes Carsten Strotmann to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 3 added 20 lines
! FIG-FORTH (also X-FORTH, ANTIC FORTH and other derivatives of FIG-FORTH ...)
{{{
NEXT
LDY #1
LDA (IP),Y ; Hi-Byte of wordaddress
STA W+1 ; store in W-Reg
DEY
LDA (IP),Y ; Lo-Byte of wordaddress
STA W ; store in W-Reg
CLC
LDA IP ; increment IP by 2
ADC #2
STA IP
BCC L54
INC IP+1
L54
JMP W-1 ; indirect jump to (W)
}}}
At line 6 changed 17 lines
LDA (IP),Y
STA W+1
DEY
LDA (IP),Y
STA W
LDA (W),Y
STA TMP
INY
LDA (W),Y
STA TMP+1
DEY
CLC
LDA IP
ADC #2
STA IP
BCC L816E
INC IP+1
LDA (IP),Y
STA W+1
DEY
LDA (IP),Y
STA W
LDA (W),Y
STA TMP
INY
LDA (W),Y
STA TMP+1
DEY
CLC
LDA IP
ADC #2
STA IP
BCC L816E
INC IP+1
At line 25 changed one line
See http://groups.google.de/group/comp.lang.forth/browse_thread/thread/19f7f2102e020583/8d1b52cf069d1258
See [http://groups.google.de/group/comp.lang.forth/browse_thread/thread/19f7f2102e020583/8d1b52cf069d1258]
! FOCO65
[https://github.com/piotr-wiszowaty/foco65]
{{{
next
ldy #0
lda (ip),y ; lade naechste Adresse (IP=Instruction Pointer)
sta w ; und speichere in die Speicherstelle "w"
iny
lda (ip),y
sta w+1
lda #2 ; den Instruction-Pointer um zwei erhoehen, so das
clc ; dieser auf den naechsten Befehl zeigt
adc ip
sta ip
lda #0
adc ip+1
sta ip+1
ldy #0
lda (w),y ; Sprung-Adresse des naechsten Befehls laden
sta z ; und in die Speicherstelle "z" schreiben
iny
lda (w),y
sta z+1
jmp (z) ; indirekt an die Adresse in Speicherstelle "z"
; springen
}}}