OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 14:26

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 5 ] 
Autor Zpráva
 Předmět příspěvku: Zhuštěná syntax SJASM(+)
PříspěvekNapsal: 13.01.2018, 22:25 
Offline
Radil

Registrován: 21.10.2013, 09:25
Příspěvky: 286
Has thanked: 161 times
Been thanked: 116 times
Koukal jsem na demo od Goblinish na vložený zdrojak a neporozuměl jsem některým zapisům.
Adresa na pouet: http://www.pouet.net/prod.php?which=73239

Ve zdrojáku je například řádek:
ld a,l,(fy1+1),a
ld a,h,(fy2+1),a
co nakonec vloží do a?

fx:
ld (hl),$ED:inc hl
ld (hl),$A0:inc hl
proč takto? kvůli velikosti výsledného kodu?

Ještě toto:
inc hl,hl
Díky


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak porozumět tomuto asm?
PříspěvekNapsal: 13.01.2018, 23:01 
Offline
Radil
Uživatelský avatar

Registrován: 19.07.2013, 14:21
Příspěvky: 258
Bydliště: Košice
Has thanked: 143 times
Been thanked: 380 times
To su vsetko (bohuzial) zapisy assembleru SjASM alebo SJASM+ ... potom je pruser to citat pre kohokolvek. :roll:
Btw nedavno, ked z00m/Cizo/Busy pripravovali SjAsmPlus do cross-platform kompilovatelnej podoby, tak sa normalne chvilu uvazovalo, ze tieto hnus-featury odtial vyhodime :lol:

V preklade to znamena jednoducho iba:
Kód:
ld a,l
ld (fy1+1),a
ld a,h
ld (fy2+1),a

ld (hl),$ED
inc hl
ld (hl),$A0
inc hl

inc hl
inc hl


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak porozumět tomuto asm?
PříspěvekNapsal: 14.01.2018, 01:10 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
Presne ako pise mborik128, su to zjednodusene zapisy viacerych instrukcii v zdrojaku pre SjASM(+). Povodne boli myslene ako ulahcenie pisania programov, ale ja osobne ich nemam rad a ani ich nepouzivam, pretoze niekedy dokazu program dost zneprehladnit aj samotnemu pisatelovi. A dokonca obcas vedu k nepochopitelnym chybam v programe. Napriklad ked clovek napise
add a,b
tak logicky ocakava ze sa k a pripocita b. Co je aj pravda. Podobne tak napr. napise
sub a,b
ale ak logicky ocakava ze sa od a odcita b, tak ... to je omyl. V skutocnosti tato rozsirena syntax pisania sposobi to, ze sub a,b sa prelozi do dvoch instrukcii:
sub a
sub b

a clovek sa potom hrozne divi, ako to ze a) ma potom v registri a uplne nieco ine nez ocakava b) sa mu rozpadne casovanie programu (napr. multicolor). A az pri debugovani zisti, ze SjASM, namiesto toho aby akceptoval tuto syntax ako niektore ine kompilery, alebo ked nie tak aspon zahlasil chybu syntaxe, tam "prepasoval" to sub a ktore tam nema co robit.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak porozumět tomuto asm?
PříspěvekNapsal: 16.01.2018, 13:32 
Offline
Radil

Registrován: 21.10.2013, 09:25
Příspěvky: 286
Has thanked: 161 times
Been thanked: 116 times
Tak nějak pochopeno :) chtěl jsem to zkusit prevest na PMD a základ se podařil.
Myslel jsem že převedu jen asm, ale tak jednoduché to není ;)
Samozřejmě jsem neřeši šíři dat 8bit a pouze jsem použil 6bitu, proto je to kostrbaté. Také generovaná data jsou dost rozsáhlá a proto mi to zatím běží pouze na PMD3.

Zde ukázka:
phpBB [video]


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Jak porozumět tomuto asm?
PříspěvekNapsal: 16.01.2018, 13:49 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
No parada, gratulujem k uspesnej portacii ! :thumbup:
Skus naprogramovat aj nieco vlastne a posli na Forever do kategorie Other 8bit 1k intro compo :poke: ;)


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 5 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz