Еще одна задача - расчет чисел Фиббоначчи, решена с помощью интерпретатора.
http://forumfiles.ru/files/0019/c1/72/61595.zip

Не поддерживается команда ",", мне она не понадобилась. Да и сам интерпретатор тормозной из-за простой реализации.

Код:
;compile sjasmplus
;original BF code:
;>++++++++++>+>+[
;    [+++++[>++++++++<-]>.<++++++[>--------<-]+<<<]>.>>[
;        [-]<[>+<-]>>[<<+>+>-]<[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-
;            [>+<-[>+<-[>+<-[>[-]>+>+<<<-[>+<-]]]]]]]]]]]+>>>
;    ]<<<
;]
; program uses $8000-$83ff only 8 bytes
	device zxspectrum128
        ORG #6000
begin

;костылек ужясма
  LD            HL ,$5CB6
  LD            ($5C4F),HL
  LD            DE ,$15AF
  LD            BC ,$0015
  EX            DE ,HL
  LDIR
  EX            DE ,HL
  DEC           HL
  LD            ($5C57),HL
  INC           HL
  LD            ($5C53),HL
  LD            ($5C4B),HL
  LD            (HL)  ,$80
  INC           HL
  LD            ($5C59),HL;E-LINE

;2
 ld hl,$15C6
 ld de,$5C10
 ld bc,$0E
 ldir

;открытие потока
 ld a,2
 call $1601

	ld a,22
	rst 10h

	xor a
	rst 10h
	rst 10h

;	jr $
	ei
;start interpret
	ld hl,$8000
	ld de,prg

ilp:
	ld a,(de)
;	inc de
	or a
	jr z,$
	cp ">":jp z,case1
	cp "<":jp z,case2
	cp "-":jp z,case3
	cp "+":jp z,case4
	cp ".":jp z,case5
	cp "[":jp z,case6
	cp "]":jp z,case7
	jp inxt;ilp
case1:
	inc hl
	res 2,h
	jp inxt;ilp
case2:
	dec hl
	bit 7,h
	jp nz,inxt;ilp
	ld hl,$83ff
	jp inxt;ilp
case3:
	dec (hl)
	jp inxt;ilp
case4:
	inc (hl)
	jp inxt;ilp
case5:
	ld a,(hl)
	rst 10h
	jp inxt;ilp


case6: ;[
	ld a,(hl)
	or a
	jp nz,inxt;ilp

;find matching [
	ld b,1
wh1:
	inc de
	ld a,(de)
	cp "]"
	jr nz,bra1
	dec b
bra1:
	cp "["
	jr nz,bra2
	inc b
bra2:
	inc b
	dec b
	jr nz,wh1
	jp inxt;ilp

case7:;]
	ld a,(hl)
	or a
	jp z,inxt;ilp
;find matching [
	ld b,-1
wh2:
	dec de
	ld a,(de)
	cp "]"
	jr nz,bra3
	dec b
bra3:
	cp "["
	jr nz,bra4
	inc b
bra4:
	inc b
	dec b
	jr nz,wh2

;	jp ilp
inxt:
	inc de
	jp ilp
prg:
; incbin "fib.b"
 db ">+++++++++++++>+>+["
 db "    [+++++[>++++++++<-]>.<++++++[>--------<-]+<<<]>.>>[        [-]<[>+<-]>>[<<+>+>-]<[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-"
 db "            [>+<-[>+<-[>+<-[>[-]>+>+<<<-[>+<-]]]]]]]]]]]+>>>    ]<<<]"
; incbin "hlw.b"
;++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.
 db 0
end
	display /d,end-begin
	savesna "!void.sna",begin