1 Ostatnio edytowany przez andriu (2007-10-18 16:27:57)

Gdy dawno pierwszy raz zetknąłem się z językiem procesora bardzo zawiodłem się widząc wartości w systemie hex oraz polecenia procesora jako 3 literowe hasła.Być może wytrawni progrmiści moga to jakoś znieść,lecz ja postanowiłem napisac asembler który akceptuje polecenia w formie przypominającej języki programowania.Jak wiadomo występują tu miedzy innymi zmienne a,x,y,s,f czy też tez bitowe z,c,v,n i inne.Jako wartość adresu pamięci użyłem m[$adres].Wszysko oczywiście podajemy 10,ale oczywiście będzi opcja podawania w postaci hex.Jak komu wygodnie

http://ftalo.ovh.org/asembler-4.htm

przykładowy kod

sub cm1() adr=$%1000
a=m[s],S++;        
m[$500]=y
A+=M[$2000+x]+c
c=0
wolny

//komentarz

sub cm2()
a*=2
Z=(a==m2[$200+y])
m[s]=a,s--;
m[$500]=y
A+=M[$2000+x]+c
if(c==1)$cm1()
return

skrypt nie jest ukończony,ale większość już jest,nie zupełnie działają skoki warunkowe,ale już wkrótce  będzie poprawiony.
Uwaga działa tylko pod firefox,powód nie mam czasu na dosotosowywanie się do błędów IE

2

Może to Cię zainteresuje:
  http://neshla.sourceforge.net/
A na Twojej stronie nawet ten przykład się nie kompiluje :(

: 404. Stopka not found

3 Ostatnio edytowany przez Bober (2007-10-18 17:42:33)

1. w konquerorze tez dziala, choc mam wrazenie, ze sie jakos rozjezdza (albo uklad strony jest dziwny).
2. przyklad ze strony dla odmiany sie kompiluje :)

4

ktoś już poruszał ten temat na atariage, ogólnie chodzi o to aby nie wprowadzać nowych dziwnych składni, symboli, kodów itp. tylko wykorzystać ogólnie znane, jak np. NESHLA (składnia C), albo składnia Pascal-a, Atari Basic-a, ACTION!

na pewno będzie to bardziej przyswajalne i zdobędzie większą popularność

David A. Wheeler's 6502 Language Implementation Approaches http://www.dwheeler.com/6502/index.html

EFFECTUS http://www.atariage.com/forums/index.ph … pic=112501

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

5

No cóż,jeśli chodzi o gotowe kompilatory czegokolwiek,to mam równie niemiłe wrażenie,ponieważ zawsze są jakieś niedogodności utrudnienia,które bycmoze autorom pasują.Dlatego zrobiłem coś bardzo prostego.Jeśli chodzi o składnię,trudno mówić o jakiejś nadzwycznjnej składni.U mnie sa trzy typy sub,byte i word.paramatrey opcjonalne adr i offset a dla byte moze być też jest length.Skoki robi się przez podanie nazwy sub.
Prościej się chyba nie da,a jeśli chodzi o design samej strony,na firefox jest ok,być może konqeror nie obsługuje 100% szerokości elementów,nie wiem ,bo nie mam linuxa.

Jedynym problemem będzie dla mnie jak przenieść w najprostrzy sposób listing w formie hex (a1ff1918cdea) do pliku cas,lub do pamięci atari.Bo binarnie się nie da bo www nie daje takiej możliwości.

6

mozesz zastosowac cos w stylu zgrywusa (ktorego tajemnice atari promowalo) - tylko taki, co plik tekstowy z liczbami zapisze do pliku jako binarka.
zeby  bylo latwiej dodaj jeszcze atarowskie bloki ffff do wynikowego kodu.

7

andriu napisał/a:

Bo binarnie się nie da bo www nie daje takiej możliwości.

Mało wiesz. Tu prosty przykład, nie bijcie, że się pewnie nie waliduje - ale jem właśnie kolację.

<html>
    <head>
        <script type="text/javascript">
            function send(){
                window.open('data:application/x-atari800win,%ff%ff%00%20%07%20%a9%00%8d%c6%02%4c%05%20');
            }
        </script>
    </head>
    <body>
        <a href="#" onclick="send();">klik</a>
    </body>
</html>

Powyższe "demo" zmienia kolor tła ekranu na czarny jakby komuś nie chciało się odpalać :) Co prawda nie będzie działać pod IE, ale cały Twój "asembler" też nie działa.

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

8

Dzięki,od pewnego czasu nie zgłębiam tajników mozilli stąd take wynalazki to dla mnie nowość.Fajnie to działa:)

Asembler też działa,ale trzeba znać składnię,a niestety nie jest podana ani nie jest zgodna z tą w tablece na stronie.

Sprawdziłem effectusa,bardzo fajny,ale zastanawiam się czy nadaje się do robienia np gier,chodzi mi o szybkość,bo przykłady dołączone opierały się na basicu ,czyli wielkie opóźnienia.Druga rzecz to gdzie ejst dokumentacja do składni i poleceń tego programu.Nie znam pascala,to czy przez to nie mogę używać tego programu,a mnie tylko interesują polecenia samego effectusa a nie całego pascala.

9

Effectus to cross compiler dla ACTION! języka stworzonego dla Atari XE/XL a którego składnia rzeczywiście jest podobna do Pascala

Effectus nie wykorzystuje BASIC-a, tłumaczy składnie ACTION! na kod assemblera, na końcu asembluje tak powstały kod

Jak to nie znasz Pascala, wszyscy znają Pascala, w końcu powstał on z myślą o nauce programowania

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

10

tebe napisał/a:

Effectus nie wykorzystuje BASIC-a, tłumaczy składnie ACTION! na kod assemblera, na końcu asembluje tak powstały kod

Trochę kiepawo, że do większości poleceń Effectus korzysta z procedur OS zamiast optymalizowanych procek tworzonych przez scenę.

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

11

prawdopodobnie (nie znam sie na Action!, a szkoda) to sie da obejsc stosujac wlasne biblioteki.
procki optymalizowane maja to do siebie, ze czesto dzialaja tylko w scisle okreslonych warunkach (a to wybrany tryb graficzny, a to potrzeba iles tam ramu itd, itp...)

12 Ostatnio edytowany przez tebe (2007-10-21 21:35:56)

można dodawać wstawki w ASM do woli

procki optymalizowane maja to do siebie, ze czesto dzialaja tylko w scisle okreslonych warunkach (a to wybrany tryb graficzny, a to potrzeba iles tam ramu itd, itp...)

święte słowa

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

13

kilka błędów poprawiłem,dówód że działa.W basic odpalamy i powinno narysować linię(wstukujemy data,do póki nie będzie cas-ów)

//ustawienie 
sub f1() adr=$30000
start;x=50;a=3

//pętla while
sub f2();m[$40000+x]=a;x++;z=(x==200);if(z==0)$f2()
return

Trzeba dodać że mój asembler ma tylko polecenia procesora,żadnych dodaków,pętle i obliczenia trzeba sobie samemu zbudować jak to jest w powyższym przykładzie.Można pisać w linijce wiele poleceń aby właśnie pogrupować polecenia w jakiś układ

5 lat temu bez żadnego asemblera zrobiłem różne programy,korzystając tylko z tabelki i prostego programiku w basic obliczającego skoki.I działało,tyle że po latach wyszedłem z wprawy i nie bardzo nawet na tym wiem jakby zrobić prostą grę ale dla chcącego nic trudnego.

14

Ani to asembler, ani to język wysokiego poziomu... Mam mieszane uczucia.

15

trzeba ukierunkowac energie kolegi:
http://pl.wikipedia.org/wiki/Kategoria: … gramowania

http://atari.pl/hsc/ad.php?i=1.

16

to kto pisze whitespace na atari? :)