Написать свою сложно, найдется немало подводных камней.

Например, используется ужясм. Проще сделать снапшот и гонять в эмуляторе. И тут начинается самое веселое - у снапшота область системных переменных просто испорчена, вся печать приведет к сбросу компьютера. Это решается через всякие костыли, но для начинающего слишком сложно. Сборка trd - тоже не для новичка.

Замена решению - pasmo, который вряд ли кто осиливает, даже создание .tap

Или, как вариант - не кросс-ассемблеры, а те, что есть на носителях. Но придется читать массу документации для Zeus,Storm,Gens. Но, как видно, для начинающих чтение доков не их конек.

В общем, я видел примеры печати текста Hello,world! под разные платформы - KC85-4, Sinclair QL, Atari ST, и это был явный не подарок.

Нужно просто упереться в любую задачу и копать до упора, добиться результата, а не бежать на форум в поисках разжеванного.

Начнем с простого
Код:
;compile with sjasmplus
	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

	ld a,2
	rst 10h

	ld a,2
	rst 10h

	ld de,msg_b
	ld bc,msg_e-msg_b
    call 8252           ; print our string,DE=adr,BC=len

	jr $
msg_b:
	db "Hello,Spectrum!"
msg_e:
end
	display /d,end-begin
	savesna "hlw.sna",begin
- - - Добавлено - - -

забыл упомянуть Zeus под венду. Кто-нить использует?