Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #32483

Re: elementy furii

Newsgroups pl.comp.programming
Date 2019-03-26 05:50 -0700
References <72227e68-b3c3-4b05-ac8a-aa741d510212@googlegroups.com> <143d8bb8-0807-44bf-8847-6a4a666d98e8@googlegroups.com> <d8806ca8-f1c6-47e2-97ac-a7820c663079@googlegroups.com>
Message-ID <15bc6b2d-ce2a-4797-b35f-71081865d12d@googlegroups.com> (permalink)
Subject Re: elementy furii
From fir <profesor.fir@gmail.com>

Show all headers | View raw


W dniu wtorek, 26 marca 2019 13:37:41 UTC+1 użytkownik fir napisał:
> W dniu wtorek, 26 marca 2019 12:08:09 UTC+1 użytkownik fir napisał:
> > W dniu wtorek, 26 marca 2019 11:30:01 UTC+1 użytkownik fir napisał:
> > > w zeszly roku w kilka dni napisalem pewne elementy kompilatora takiego jakby "pre c"
> > > (jezyka ktory w zamysle raczej jest wstepem 
> > > do C/C2/hipermodularnego c bo prawie nic tam nie dziala, no ale mowie pisalem to z piec dni
> > > 
> > > tak czy owak da sie skompilowac cos w rodzaju helloworda na windows 32 (wywoluje moja wlasna dllke by ladniej wygladalo niz zwyczjanie na konsoli)
> > > 
> > > http://minddetonator.htw.pl/furia3.zip 
> > > 
> > > screenshot w outputu 
> > > 
> > > http://minddetonator.htw.pl/furia3.png 
> > > 
> > > bylo to o tyle mozliwe ze z rok wczesniej (w 2017? niezbyt pamietam te daty bo ostatnio sie zaczalem mega lenic) nap[isalem asembler (organic asm)... ...ten asm nie ma tez wklepanych wielu mnemonikow, bo mi sie nie chcialo, nie ma tez chyab wszystkich trybow adresowan, dlatego rozbudowayanie tego kompilatora wymaga grzebania i w jednym i drugim i przez to jest lekko ciezkie (nie az tak co prawda ale chyba faktycznie przyznam ze pisanie kompilatora i asma na x86/win32
> > > jest projektem nieco trudniejszej klasy niz 
> > > pisanie bardziej typowych apek.. nie jest 'zbyt' trudne ale poprostu trzebbyc involved (troche bardziej niz zwykle) i to troche meczy, nie zawsze mi sie chce
> > > 
> > > z drugiej strony fajnie miec swoj kompilatorek..zastanawiam sie kiedy sie w sobie zewre by napisac troche wiecej featurez :/
> > 
> > och god, ladnie napisalem posta i przypadkowe nacisniecie dwu klawiszow naraz spowodowalo ze nizknal w ulamek sekundy
> > 
> > kod jaki to kompiluje jest taki 
> > 
> > 
> >  int becground_color: 0
> > 
> >  int RunFramePointer: 0
> > 
> >   void RunFrame()
> >     becground_color = becground_color + 65536
> >     becground_color = becground_color + 512
> >     becground_color = becground_color + 3
> > 
> >     cdecl green_fire  SprintCB(-1, becground_color)
> >     cdecl green_fire  ClearFrameData(becground_color);
> >     cdecl green_fire  SprintXY(10, 10)
> >     cdecl green_fire  sprint("  Helllo World from Furia  \x00");
> >   return
> > 
> > 
> >   void main()
> >     asm  mov eax RunFrame
> >     asm  mov (RunFramePointer) eax
> >     cdecl green_fire         RegisterRunFrame( RunFramePointer );
> >     cdecl green_fire         SetSleepValue(30)
> >     cdecl green_fire         SetupWindow2(" furia pre c compiler \x00",  4, 5,  567, 443 );
> >   return
> > 
> > troche slabo to przypomina c ale pisalem by jak nalatwiej mis ie to pisalo a nie by od razu przypominalo c
> > 
> > chyba 3 rzeczy powinienem poprawic na poczatek, 
> > 
> > 1) moj asm nie wspiera o ile pamietam wywolywanie funkcji z calbackami dlatego mam tutaj stub w asmie
> > 
> >     asm  mov eax RunFrame
> >     asm  mov (RunFramePointer) eax
> >     cdecl green_fire         RegisterRunFrame( RunFramePointer );
> > 
> > zamiast
> > 
> >     cdecl green_fire         RegisterRunFrame( RunFrame );
> > 
> > a to daltego ze asm wspiera 
> > 
> >    push (RunFramePointer)
> >     call green_fire.RegisterRunFrame
> >    pop eax
> > 
> > ale nie 
> > 
> >    push (RunFrame)
> >     call green_fire.RegisterRunFrame
> >    pop eax
> > 
> > w pierwszej wersji etykiete jest z sekcji .data a w drugiej to label z codu
> > 
> > ale to chyab mozna poprawic (jakbym sie troche skupil)
> > 
> > 2)
> > 
> >  int becground_color: 0
> >  int RunFramePointer: 0
> > 
> > powinienem przerobic na zwykle
> > 
> >  int becground_color = 0
> >  int RunFramePointer = 0
> > 
> > nie wiem czemu tak nawet napisalem chyab chialem odrozniac deklaracje-inicjalizacje od przypisan ale skoro int jest z lewej to wiadomo ze to deklaracja
> > 
> > 3) te wszystkie 
> > 
> >     cdecl green_fire  SprintXY(10, 10)
> > 
> > wygladaja glupio jesli tego jest za duzo
> > wiec chyab trzeba zbudowac  zbiorcza tablice importow cos w stylu
> > 
> > import  cdecl "green_fire" SprintXY SprintCB sprint RegisterRunFrame SetSleepValue SetupWindow2
> > 
> > co jest swoja draga mniej logiczne ale pozniej kody nizej wygladaja bardziej c-owo
> > 
> > ostatnio czuje sie jak na mega kacu 9zdrowie ciagle fatalne, dusi mnie w plucahc niesamowicie), ale jakbym sie zebral to to mnie teraz czeka
> 
> ok poprawilem tego calbacka,
> 
> http://minddetonator.htw.pl/furia4.zip
> 
>  wiec kompilator kompiluje teraz ciut bardziej strawny kod
> 
> 
>  int becground_color = 0
> 
> 
>   void RunFrame()
>     becground_color = becground_color + 65536 + 512 + 3
>     cdecl green_fire  SprintCB(-1, becground_color)
>     cdecl green_fire  ClearFrameData(becground_color);
>     cdecl green_fire  SprintXY(10, 10)
>     cdecl green_fire  sprint("  Helllo World from Furia  \x00");
>   return
> 
> 
>   void main()
>     cdecl green_fire         RegisterRunFrame( &RunFrame );
>     cdecl green_fire         SetSleepValue(30)
>     cdecl green_fire         SetupWindow2(" furia pre c compiler \x00",  4, 5,  567, 443 );
>   return
> 
> musze dodac ze nie wszystkie "wyrazenia" dzialaja (praktycznie to prawie zadne)
> aiec trzeba tu troche rzeczy podopisywac,
> ale wywolania z dllek dzialaja (dzilaja tez chyab proste ify i fory)  wiec jest
> poczatkowy fun
> 
> 
> troche strach przyznam grzebac w moim asemblerze bo asembler jest troche zagmatwany, najgorsze w nim jest to ze
> jak sie liczy adresy do etykiet to trzeba to sklafdowac, obliczac, a pozniej jeszcze ew fizupowac i mozna sie troche pogubic, - sam jestem leniwy i nie zawsze lubie sie zaglebiac a w powierzchniowym trybie nie wszystko da sie ad-hoc dopicac, tak ze az sie balem grzebac w tym calbacku - ale jakos poszlo ;c

inne problemy jest ze tam niemal nic nie dziala, np mam importowanie funkcji z dllek ale nei mam importow zmiennych, musialbym grzebac chyba w asmie a mi si enei chce, do tego nie ma tez chyab nawet przypisywania zwracanej zmiennej do inta,
do tego jak ja zarzuce callback (a moje libka dziala troche na calbackach to nie
mam narazie czytania lokalnych w tym calbacku ze stosu itd (wogole nie mam zmiennych lokalnych)

to wszystko nei sa strasznie duze poprawki ale tzreba to wklepac

narazie chyba czas troche odpoczac i wypic keliszek wina za jednak pewien skuces (wlasny kompilatorek z potencjalna kontrola nad wszystkimi etapami procesu to jest jednak cos fajnego, khu)

Back to pl.comp.programming | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

elementy furii fir <profesor.fir@gmail.com> - 2019-03-26 03:29 -0700
  Re: elementy furii fir <profesor.fir@gmail.com> - 2019-03-26 04:08 -0700
    Re: elementy furii queequeg@trust.no1 (Queequeg) - 2019-03-26 12:14 +0000
    Re: elementy furii fir <profesor.fir@gmail.com> - 2019-03-26 05:37 -0700
      Re: elementy furii fir <profesor.fir@gmail.com> - 2019-03-26 05:50 -0700
        Re: elementy furii fir <profesor.fir@gmail.com> - 2019-03-26 07:57 -0700
          Re: elementy furii queequeg@trust.no1 (Queequeg) - 2019-03-26 15:01 +0000
          Re: elementy furii fir <profesor.fir@gmail.com> - 2019-03-26 13:28 -0700
            Re: elementy furii queequeg@trust.no1 (Queequeg) - 2019-03-26 21:00 +0000
  Re: elementy furii queequeg@trust.no1 (Queequeg) - 2019-03-26 12:12 +0000
    Re: elementy furii fir <profesor.fir@gmail.com> - 2019-03-26 05:31 -0700
      Re: elementy furii queequeg@trust.no1 (Queequeg) - 2019-03-26 14:46 +0000
    Re: elementy furii Emru <emruemru1@gmail.com> - 2019-03-26 21:18 +0000
      Re: elementy furii queequeg@trust.no1 (Queequeg) - 2019-03-26 21:47 +0000
        Re: elementy furii fir <profesor.fir@gmail.com> - 2019-03-27 08:59 -0700
          Re: elementy furii queequeg@trust.no1 (Queequeg) - 2019-03-28 07:21 +0000
            Re: elementy furii fir <profesor.fir@gmail.com> - 2019-03-28 00:55 -0700
              Re: elementy furii godek.maciek@gmail.com - 2019-03-28 01:19 -0700
                Re: elementy furii fir <profesor.fir@gmail.com> - 2019-03-28 06:08 -0700
                Re: elementy furii fir <profesor.fir@gmail.com> - 2019-03-28 09:22 -0700
                Re: elementy furii queequeg@trust.no1 (Queequeg) - 2019-03-28 19:44 +0000
              Re: elementy furii queequeg@trust.no1 (Queequeg) - 2019-03-28 19:41 +0000
                Re: elementy furii godek.maciek@gmail.com - 2019-03-28 14:49 -0700
                Re: elementy furii fir <profesor.fir@gmail.com> - 2019-03-28 15:59 -0700
                Re: elementy furii Roman Tyczka <noemail@because.no> - 2019-03-29 08:20 +0100
                Re: elementy furii godek.maciek@gmail.com - 2019-03-29 01:17 -0700
                Re: elementy furii fir <profesor.fir@gmail.com> - 2019-03-29 02:04 -0700
                Re: elementy furii fir <profesor.fir@gmail.com> - 2019-03-29 02:06 -0700
                Re: elementy furii Roman Tyczka <noemail@because.no> - 2019-03-29 13:41 +0100
                Re: elementy furii godek.maciek@gmail.com - 2019-03-29 14:23 -0700
                Re: elementy furii fir <profesor.fir@gmail.com> - 2019-03-29 16:07 -0700
                Re: elementy furii fir <profesor.fir@gmail.com> - 2019-03-30 06:28 -0700

csiph-web