ZX Spectrum > PROGRAMOWANIE
sjasmplus
azesmbog:
--- Cytat: Powolniak w 2011.11.07, 22:35:32 ---Istnieje coś takiego? Ruskie pewnie zrobili.
--- Koniec cytatu ---
SjASMPlus Z80
+ Crimson Editor + Spectaculator
--- Kod: --- device zxspectrum128
;------------------------------------------------------------------------------
org #8000
start:
;ld hl,0
loop push hl
ld de,#4000
ld bc,6144
ldir
pop hl
inc l
jr loop
savesna "test.sna" ,start
emptytrd "test.trd"
savetrd "test.trd", "test.C", start, $-start
--- Koniec kodu ---
Pyza^Illusion:
Wszystko fajnie, ale nie robi .TAP'a. Też uważam, że SjASMPlus to świetny kompiler!
RafalM:
Potwierdzam że jest świetny :)
Mi brakuje w nim jednej rzeczy - nazwijmy to makro ze zmienną.
Chodzi mi żeby zamiast np pisać
LD A,1
LD A,2
LD A,3
LD A,4
móc napisać coś w stylu
REPT 4 (N=1 TO 4)
LD A,N
ENDR
Inne kompilatory jak Pasmo robią coś takiego, ale ja chcę być wierny Sjasm ;)
Tygrys:
Probowalem uzywac sjasmplus, nawet w malym stopniu wsparlem jego rozwoj, niemniej ostatecznie uzywam pasma. ma wszystko co trzeba, robi tapy i to mi wystarczy :-)
RafalM:
Azemsbog,
Razreshi shto ya budu pisat po polski. Uvidel shto ty v sostoyanii sdelat perevod :)
DUP albo REPT pozwala kilka razy powtórzyć dany blok instrukcji w niezmienionej postaci
Ja chciałbym, tak jak w przykładzie używać zmiennych w instrukcjach typu LD A,N, ADD A,N, LD HL,NN, OR N, CP N itp. Przykład który podałem jest bardzo prosty i nie ma praktycznego zastosowania, ponadto można go zastąpić jedną instrukcją.
No więc dobrze, niech będzie przykład z życia - szybkie kopiowanie ekranu przez stos bez pętli. Mogłem gdzieś się pomylić bo piszę na szybko z głowy, ale chodzi o ideę.
--- Kod: ---LD SP,Buffer
POP BC
POP DE
POP HL
EXX
POP BC
POP DE
POP HL
POP AF
LD SP,Screen+14
EXX
PUSH BC
PUSH DE
PUSH HL
EXX
PUSH BC
PUSH DE
PUSH HL
PUSH AF
LD SP,Buffer+14
...
LD SP,Screen+28
...
LD SP,Buffer+28
...
LD SP,Screen+42
...
itd
--- Koniec kodu ---
Czegoś takiego nie da się chyba napisać w bloku DUP albo REPT w Sjasm.
Nawigacja
[#] Następna strona
Idź do wersji pełnej