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


Groups > pl.comp.programming > #30460 > unrolled thread

(announce) organic asm

Started byfir <profesor.fir@gmail.com>
First post2017-08-24 16:05 -0700
Last post2017-09-15 13:16 -0700
Articles 20 on this page of 61 — 11 participants

Back to article view | Back to pl.comp.programming


Contents

  (announce) organic asm fir <profesor.fir@gmail.com> - 2017-08-24 16:05 -0700
    Re: (announce) organic asm fir <profesor.fir@gmail.com> - 2017-08-25 01:15 -0700
      Re: (announce) organic asm fir <profesor.fir@gmail.com> - 2017-08-25 10:26 -0700
        Re: (announce) organic asm fir <profesor.fir@gmail.com> - 2017-08-26 02:40 -0700
          Re: (announce) organic asm fir <profesor.fir@gmail.com> - 2017-08-26 02:43 -0700
    [OT] (announce) organic asm wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-08-30 19:04 +0200
      Re: [OT] (announce) organic asm wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-09-03 20:47 +0200
        Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-03 14:02 -0700
          Re: [OT] (announce) organic asm wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-09-04 21:14 +0200
            Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-04 13:20 -0700
              Re: [OT] (announce) organic asm Szyk Cech <szyk100@o2.pl> - 2017-09-05 00:13 +0200
                Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-05 02:16 -0700
                  Re: [OT] (announce) organic asm "M.M." <mmarszik@gmail.com> - 2017-09-06 04:17 -0700
                    Re: [OT] (announce) organic asm w systemie siła 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-09-06 14:15 +0200
                      Re: [OT] (announce) organic asm w systemie siła 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-09-06 16:53 +0200
                    Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-06 07:57 -0700
                      Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-06 08:02 -0700
                        Re: [OT] (announce) organic asm "M.M." <mmarszik@gmail.com> - 2017-09-06 09:02 -0700
                          Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-06 09:23 -0700
                            Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-06 13:00 -0700
                              Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-06 14:33 -0700
                              Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-06 15:27 -0700
                              Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-07 08:20 -0700
                                Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-07 10:52 -0700
                                  Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-07 16:12 -0700
                                    Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-07 16:27 -0700
                                      Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-08 15:17 -0700
                                        Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-09 05:20 -0700
                                          Re: [OT] (announce) organic asm wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-09-09 21:57 +0200
                                            Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-09 16:50 -0700
                                              Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-10 02:33 -0700
                                                Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-11 07:55 -0700
                                                  Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-11 08:03 -0700
                                                    Re: [OT] (announce) organic asm "M.M." <mmarszik@gmail.com> - 2017-09-12 05:57 -0700
                                                      Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-12 07:59 -0700
                                                        Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-13 14:59 -0700
                                                          Re: [OT] (announce) organic asm wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-09-14 21:11 +0200
                                                            Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-14 13:08 -0700
                                                              Re: [OT] (announce) organic asm wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-09-15 21:43 +0200
                          Re: [OT] (announce) organic asm wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-09-06 21:01 +0200
                            Re: [OT] (announce) organic asm Roman Tyczka <noemail@because.no> - 2017-09-06 21:59 +0200
                              Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-06 13:35 -0700
                                Re: [OT] (announce) organic asm Szyk Cech <szyk100@o2.pl> - 2017-09-07 01:16 +0200
                                  Re: [OT] (announce) organic asm wloochacz <wloochacz@no.spam.gmail.com> - 2017-09-07 17:46 +0200
                                    Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-07 10:11 -0700
                                      Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-07 10:53 -0700
                                    Re: [OT] (announce) organic asm wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-09-07 20:17 +0200
                                  Re: [OT] (announce) organic asm "AK" <nobody@nowhere.net> - 2017-12-22 12:18 +0100
                                    Re: [OT] (announce) organic asm "M.M." <mmarszik@gmail.com> - 2017-12-22 03:33 -0800
                                      Re: [OT] (announce) organic asm "AK" <nobody@nowhere.net> - 2017-12-22 12:47 +0100
                                    Re: [OT] (announce) organic asm Wojciech Muła <wojtek.mula@gmail.com> - 2017-12-22 11:10 -0800
                                      Re: [OT] (announce) organic asm "AK" <nobody@nowhere.net> - 2017-12-22 20:54 +0100
                                        Re: [OT] (announce) organic asm Yakhub <aa@aa.aa> - 2017-12-24 19:30 +0100
                                          Re: [OT] (announce) organic asm Wojciech Muła <wojtek.mula@gmail.com> - 2017-12-30 10:38 -0800
                                        Re: [OT] (announce) organic asm Wojciech Muła <wojtek.mula@gmail.com> - 2017-12-30 10:21 -0800
                                      Re: [OT] (announce) organic asm "M.M." <mmarszik@gmail.com> - 2017-12-23 01:25 -0800
                                        Re: [OT] (announce) organic asm "AK" <nobody@nowhere.net> - 2017-12-23 12:58 +0100
                                        Re: [OT] (announce) organic asm Borneq <borneq@antyspam.hidden.pl> - 2017-12-23 14:50 +0100
                                        Re: [OT] (announce) organic asm Wojciech Muła <wojtek.mula@gmail.com> - 2017-12-30 10:31 -0800
        Re: [OT] (announce) organic asm wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl> - 2017-09-15 21:46 +0200
          Re: [OT] (announce) organic asm fir <profesor.fir@gmail.com> - 2017-09-15 13:16 -0700

Page 2 of 4 — ← Prev page 1 [2] 3 4  Next page →


#30652 — Re: [OT] (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-09-06 14:33 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<a8a24e4a-33b5-4de6-b791-ec7c6754aacc@googlegroups.com>
In reply to#30649
w ogole moge dodac ze takie "pisanie pod specyfikacje okreslonego formatu" jest
jakos dziwnie stresujace - Wiadomo zreszta z czego to wynika jak sie koduje normalnie to albo cos zadziala tak albo inaczej ale zadziala, a pisanie pod format albo cos zadziala jak jest zgodne z formatem albo wogole - i to sie dziwnie pisze, zwlaszcza jak ten format jest rozbudowany

[toc] | [prev] | [next] | [standalone]


#30653 — Re: [OT] (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-09-06 15:27 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<15617d87-5be9-460f-a6e3-5d071832a255@googlegroups.com>
In reply to#30649
ok wstepnie to przetestowalem z ta funkcja 
XY2Linear i to chyba dziala, mam nadzieje ze tu nie ma jakiegos uga bo idzie sie w tym troche zagubic (wczesniej mialem to zrobione zupelnie na odwal tj wszystko kopiowalem do sekcji pod ofsety x+y*max_x
co oczywiscie marnowalo mase pamieci teraz z tym tlumaczeniem na linearne offsety przynajmniej to jest upakowane

w tym asmie jest zreszta wiecej tego typu glupich problemow - glownie taki ze w sekcji kodu odwoluje sie do sekcji data i sekcji importow a generujac sekcje kodu jeszcze nie wiem gdzie leza konkretnie data i importy (bo leza po sekcji kodu a ta ma zmienna dlugosc - trzeba wiec wygenerowac chyba kod z nullami i tablica fixupow ktora na koniec trzeba wypelnic 
- na razie zrobilem to na stale przy zalozeniu maksymalnego rozmiaru sekcji kodu i to sa wlasnie te glowne ograniczenia (constrainty) ktore jeszcze musze usunac

[toc] | [prev] | [next] | [standalone]


#30656 — Re: [OT] (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-09-07 08:20 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<bbdd5e73-0c8a-407f-ac48-2a57b66e5520@googlegroups.com>
In reply to#30649
W dniu środa, 6 września 2017 22:00:08 UTC+2 użytkownik fir napisał:
> tak wogole pisanie asma nie jest trudne choc ma troche trudniejsze kawalki
> 
> moe przedstawic jeden problem bo zrobilem na odwal (tj pierwsza iteracje problemu)
> i musze tu troche poprawic
> 
> najpierw asembler zbiera info nt importow
> (na co slkada sie lista nazw dll-ek i wywolywanych z nich funkcji)
> 
> ja to zbieram do tablicy o stalym rozmarze (np 100 na 100) ktora ma taka zawartosc
> 
> "moduleX",  "fooA", "fooB", NULL, NULL, ...
> "moduleY",  "fooG", "fooH", "fooI", NULL, 
> ..
> "moduleZ", "fooP", "fooQ", "fooR", NULL, ...
> 
> "moduleW", "fooI", NULL, NULL, NULL,
> "moduleT", "fooS", "fooT", NULL, NULL,
> NULL, 
> NULL,
> 
> 
> i to jest jeden maly problem bo moze nastapic przepelnienie jesli importowanych dll-ek bedzie wiecej niz 100 lub importowanych funkcji dla jednej dll-ki bedzie wiecej niz 99
> 
> taka tablica jest jednak wygodna 
> i prosta 
> 
> sam to pewnie zostawie tak jak jest tylko rozmaiar zahardkoduje na wiekszy np 1000 na 1000 (jest to tablica wskaznikow wiec te pare mega mozna poswiecic ;c - ale nie jest to ideologicznie czyste (w takich wypadkach jednak wole zrobic w pierwszej iteracji cos co jest proste niz ogolne)
> 
> dalej problem jest nawet wiekszy bo na podstawie zawartosci tej tablicy trzeba zbudowac sekcje importow w exacu
> 
> ta sekcja sklada sie z czegos takiego:
> 
> 1)
> najpierw jest tablica (N+1)*20 bajtow
> gdzie N to liczna importowanych modulow
> gdzie ustawia sie pewne wskazniki 
> - to sie buduje dosyc latwo
> 
>  dalej sa jeszcze dwie rzeczy to wpisania
> 
> 2 trzebe przekopiowac te wszystki stringi z wspomnienej tablicy importow
> 
> zdaje sie ze ich kolejnosc nie jest nawet zbyt wazna wiec moge jakby poleciec po kolei wierszami ignorujac nule i wrzucajac strcpy (chyba moge zalozyc ze nazwy maja max 32 znaki choc nie jestem pewien
> 
> wymaga to jednach chyba napisania dosyc glupiej funkcji 
> 
> int RowColumn2LinearOrder(x,y)
> 
> bo pozniej bede potrzebowal uzyskania dokladnego offsetu do tej nazyw dla 
> ukladu modul-funkcja
> 
> taka funkcja przeliczania z x y na ten linearny offset jest dosyc glupia, ale chyab tak zrobie (glupia ale stosunkowo malo roboty a musze chodzic na kompromisy z wlasnym lenistwem/ograniczeniami energetycznymi)
> 
> 3) dalej trzeba jeszcze zbudowac listy wskaznikow na te nazwy, te listy wskaznikow maja byc per-modul i bodajrze konczyc sie zerem na koncu listy funkci dla kazdego modulu
> 
> w sumie tutaj chyba moge wykorzystac ten sam liniowy porzadek korzystajac z tego ze w tym liniowym listy nazw funkcji sa przetykane nazwami modulow, tylko zamiast wskaznika na nazwe modulu dam zero 
> 
> to chyab da sie zrobic latwo jesli gdzies sie nie walne (ogolnie to nie jest trudne ale problem jest ze zrozumieniem zasad tego formatu oraz z nie popelnieniem pomylki w generowaniu tych danych)
> 
> oprocz tego trzeba jeszcze zrobic identyczna kopie tej tablicy bo jedna trzyma nazwy na stale a druga wypelnia
> prawdziwymi wskaznikami do implementacji
> loader windowsa
> 
> na koniec w tej tablicy z punktu 1) wypelnie sie wskazniki do tych 2 list, 
> i do nazwy modulu dla kazdego modulu
> 
> w sumie to powinno dzialac sa tylko dwie wspomniene niedogodnosci
> 1) mozna osiagnac limit kwadratowej tablicy
> 2) ta funkcja przechodzenia z x,y na linerana kolejnosc jest drobinke glupia/brzydka
> 
> w sumie pewnie trzebbylo to zrobic inaczej tj budowac liste par modul-funkcja na koniec ja posortowac i nie byloby straty pamieci i linearny porzadek
> sam by sie zrobil, ale chyba zalozylem ze kwadratowa tablica bedzie prostsza (nie trzeba bylo pisac sortowania ;c
> 
> na razie chyba zrobie na kwadratowej moze kiedys pozniej poprawie na ta liste 1d - ew nastepnym razem bedzie wiadomo by takie przypadki robic od razu na liscie 1d

w sumei chyba dobrze ze sie nameczylem wklepujac ten opis bo sam sobie moge odpowiedziec
1) co do tego dziwnego kodu z tlumaczeniem pozycji w 2 wymiarowej tablicy na linearny to nie jest on az tak dziwny gdy 'wbudowac' to w kod ktory wstawia alementy do tej tablicy (bo temu i tak sie przyda pamietanie ile elementow jest w wierszu)
2) problem z przepelnieniem sie statycznej tablicy dwuwymiarowej mozna zasadniczo rozwiacac robiac z tego kontener typu "petla mallokow w malloku"
no i po prostu realokujac wiersze przy wstawianiu, to rozwiaze tez (czesciowo ;c) problem z nadmierną zajatoscia pamieci na nic czyli NULLE, koszty czasowe czyli pewnie ta milisekunde (czy pare czy ile to jest) na jako zejdzie wywolanie 1000 reallokow przy wstawianiu tysiaca nazw, moge sobie chyba darowac

byc moze moge sobie nawet tak naprawde napisac taki resizowalny kontener bazujac na mojej idei czunkow ("resizable chunk of resizable chunks") moze pozniej zakoduje bo to malo roboty

[toc] | [prev] | [next] | [standalone]


#30659 — Re: [OT] (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-09-07 10:52 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<38076763-18e1-4e44-ba7d-1cf1f704ccc4@googlegroups.com>
In reply to#30656
acha zapomnielem ze jeszcze nalezaloby podliczyc rozmiar tej sekcji importow

zalozuwszy M - liczba modulow, N - liczba wszystkich nazw

rozmiar 'deskryptorow' modulow = (M+1)* 20

rozmiar wszystkich nazw = n*0x20

rozmiar tablic 2* (n+1) * 4


to chyba wszystko wiec 

m*20+20 + n*32 + (n+1)*8 = 

28 + 20*m + n*40 

o ile si enie pomylilem, dla 10 moduliow i 40 nazw byloby 1600 + 200 + 28 bajtow

(wyliczenia potrzebne bo w pliku exe trzeba miescic i przesuwac te sekcje co wlasnie mi robi troche problemu)

[toc] | [prev] | [next] | [standalone]


#30663 — Re: [OT] (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-09-07 16:12 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<f9b097f5-548c-4df1-bbf8-8f9c091417eb@googlegroups.com>
In reply to#30659
jutro jeszcze (zapewne) opisze jeszcze smutne kwestie multipasow i fixupow (ciekawe tylko jesli ktos chce wiedziec jak dziala asm, mi samemu przyda si o tym wspomniec by uzyskac wieksza jasnosc jak to dziala a jest to troche zagmatwane

moze w sumie pare slow juz teraz

1) na poczatku skanujac zrodlo buduje  sekcje importow - oprocz samego binarnego bloku tejh sekcji mam tez funkcja podajaca dla danego importu (podawanego po nazwie) wartosc relatywnego wskaznika
wskazujacego miejsce gdzie lezy pointer do tej funkcji (ktory zostanie wypelniony 
przez loader windy)
Oprocz tego istatna dana jest tez koncowy rozmiar tej sekcji

2) skanujac zrodlo buduje sekcje data oprocz niej mam funkcje ktora dla danego labelu z sekcji data podaje re;atywny wskaznik do adekwatnej komorki w tej sekcji - oprocz tego wazna dana jest finalny rozmiar tej sekcji

3) skanuje zrodlo i asembl;uje mnemoniki,
oprocz samych mnemonikow w zrodla mozna tam napotkac 4 rzeczy
l) label okreslajacy miejsce w kodzie (definicja np poczatku procedury)
c) odwolanie do labelu w kodzie (w przod lub w tyl) (glownie przez skoki)
d) odwolanie do labelu w danych (glownie przez mov)
i) odwolanie do importu (glownie przez call)

o tym co trzeba z tym zrobic moze jutro

(wlasciwie zadnego z tych labeli nie mozna przetlumaczyc na inta w pierwszym podejsciu:
l) te labele trzeba zrzucic do tablicy razem z ich wartosciami (ktore przynajmniej mozna od razu wyznaczyc)
c) odwolanie trzeba zrzucic do tablicy 
razem z miejscem w kodzie ktore trzeba wypwlnic (ktore to miejsce tez na szczescie mozna od razu ustalic)
d) odwolanie do danych tez trzeba zrzucic do tablicy razem z miejscem w kodzie ktore trzeba wypelnic 
i) odwolania do importow trzeba zrzucic do tablicy (azem zmiejscami ktore trzeba wypelnic)

po zasemblowaniu tego otrzymuje sie rozmar sekcji kodu, ktory trzeba wyrownac w gore co pozwala uzyskac polozenie sekcji importow, dodanie rozmiary wyrownanego w gore rozmiaru sekcji importow daje adres poczatku sekcji data

teraz z tego co sie orientuje trzeba przeiterowac wszystkie 4 tabele i zarzucic te fixupy, w wyniku czego powinnq powstac poprawnie wypelniona sekcja kodu, ktora razem z sekcja importow i danych zapisuje sie na dyck
i zrobione 

niby nie takie trudne ale obraz troche
komplikuja lekkie subtelnosci, glowni eto ze aligmenty sekcji w ramie sa ine niz w pliku a same adresy czasem podaje sie w postaci relatywnych offsetow (zdaje sie ze wiekszosc w sekcji importow juz nie pamietam a te w sekcji kodu raczej w postaci pelnych absolutnych wskaznikow) idzie sie pogubic

do tego trzeba jeszcze poustawiac odpowiednie pola w naglowkach pe co tez jest co nieco nieczytelee i dziwne

wiekszosc tego mam zrobione ale polozenie sekcji data i imports wklepalem na sztywno (dzieki czemu nie musialem robic tabel fixupow dla danych i importow) i teraz wlasnie musze to pewnie w weekend poprawic bytan asm wlasni enie mial ograniczen

(wogole szczerze mowiac nawet nieco dziwne mozna powiedziec jest to ze jak kodowalem tego asma to wiekszosc problemow jakie tu wspomnialem udawalo sie jakos zakodowac jakby w transie bez myslania o nich,  jest to ciekawa zdolnosc , zdolnosc do kodowania nez myslania o czyms o czym wydawaloby sie trzeba pomyslec) (pozniej jednak, czyli teraz kapka myslania na te tematy sie przydaje - zeby miec jasnosci i nie przeoczyc moze czegos, i moe tez po to by sie troche tego jak to dziala nauczyc na pamiec)

[toc] | [prev] | [next] | [standalone]


#30664 — Re: [OT] (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-09-07 16:27 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<b89d3e17-a0fc-4a7b-b78b-ae5c121d982d@googlegroups.com>
In reply to#30663
W dniu piątek, 8 września 2017 01:12:35 UTC+2 użytkownik fir napisał:
> jutro jeszcze (zapewne) opisze jeszcze smutne kwestie multipasow i fixupow (ciekawe tylko jesli ktos chce wiedziec jak dziala asm, mi samemu przyda si o tym wspomniec by uzyskac wieksza jasnosc jak to dziala a jest to troche zagmatwane
> 
> moze w sumie pare slow juz teraz
> 
> 1) na poczatku skanujac zrodlo buduje  sekcje importow - oprocz samego binarnego bloku tejh sekcji mam tez funkcja podajaca dla danego importu (podawanego po nazwie) wartosc relatywnego wskaznika
> wskazujacego miejsce gdzie lezy pointer do tej funkcji (ktory zostanie wypelniony 
> przez loader windy)
> Oprocz tego istatna dana jest tez koncowy rozmiar tej sekcji
> 
> 2) skanujac zrodlo buduje sekcje data oprocz niej mam funkcje ktora dla danego labelu z sekcji data podaje re;atywny wskaznik do adekwatnej komorki w tej sekcji - oprocz tego wazna dana jest finalny rozmiar tej sekcji
> 
> 3) skanuje zrodlo i asembl;uje mnemoniki,
> oprocz samych mnemonikow w zrodla mozna tam napotkac 4 rzeczy
> l) label okreslajacy miejsce w kodzie (definicja np poczatku procedury)
> c) odwolanie do labelu w kodzie (w przod lub w tyl) (glownie przez skoki)
> d) odwolanie do labelu w danych (glownie przez mov)
> i) odwolanie do importu (glownie przez call)
> 
> o tym co trzeba z tym zrobic moze jutro
> 
> (wlasciwie zadnego z tych labeli nie mozna przetlumaczyc na inta w pierwszym podejsciu:
> l) te labele trzeba zrzucic do tablicy razem z ich wartosciami (ktore przynajmniej mozna od razu wyznaczyc)
> c) odwolanie trzeba zrzucic do tablicy 
> razem z miejscem w kodzie ktore trzeba wypwlnic (ktore to miejsce tez na szczescie mozna od razu ustalic)
> d) odwolanie do danych tez trzeba zrzucic do tablicy razem z miejscem w kodzie ktore trzeba wypelnic 
> i) odwolania do importow trzeba zrzucic do tablicy (azem zmiejscami ktore trzeba wypelnic)
> 
> po zasemblowaniu tego otrzymuje sie rozmar sekcji kodu, ktory trzeba wyrownac w gore co pozwala uzyskac polozenie sekcji importow, dodanie rozmiary wyrownanego w gore rozmiaru sekcji importow daje adres poczatku sekcji data
> 
> teraz z tego co sie orientuje trzeba przeiterowac wszystkie 4 tabele i zarzucic te fixupy, w wyniku czego powinnq powstac poprawnie wypelniona sekcja kodu, ktora razem z sekcja importow i danych zapisuje sie na dyck
> i zrobione 
> 
> niby nie takie trudne ale obraz troche
> komplikuja lekkie subtelnosci, glowni eto ze aligmenty sekcji w ramie sa ine niz w pliku a same adresy czasem podaje sie w postaci relatywnych offsetow (zdaje sie ze wiekszosc w sekcji importow juz nie pamietam a te w sekcji kodu raczej w postaci pelnych absolutnych wskaznikow) idzie sie pogubic
> 
> do tego trzeba jeszcze poustawiac odpowiednie pola w naglowkach pe co tez jest co nieco nieczytelee i dziwne
> 
> wiekszosc tego mam zrobione ale polozenie sekcji data i imports wklepalem na sztywno (dzieki czemu nie musialem robic tabel fixupow dla danych i importow) i teraz wlasnie musze to pewnie w weekend poprawic bytan asm wlasni enie mial ograniczen
> 
> (wogole szczerze mowiac nawet nieco dziwne mozna powiedziec jest to ze jak kodowalem tego asma to wiekszosc problemow jakie tu wspomnialem udawalo sie jakos zakodowac jakby w transie bez myslania o nich,  jest to ciekawa zdolnosc , zdolnosc do kodowania nez myslania o czyms o czym wydawaloby sie trzeba pomyslec) (pozniej jednak, czyli teraz kapka myslania na te tematy sie przydaje - zeby miec jasnosci i nie przeoczyc moze czegos, i moe tez po to by sie troche tego jak to dziala nauczyc na pamiec)

tak naprawde chyab to jest jeszcze bardziej skomplikowane, mianowicie zawartosc sekcji importow zalezy od jej polozenia, a jej polozenie zalezy od rozmiaru sekcji kodu - co wymusza inna kolejnosc niz pisalem 

zdaje sie 
- najpierw cod
- pozniej importy
- pozniej dane
- na koniec fixupy

idzie sie z leka pochlastac (zwlaszcza ze musze to przerabiac w stosunku do wersji z polozeniemi sekcji wkodowanymi 'na sztywno')

[toc] | [prev] | [next] | [standalone]


#30675 — Re: [OT] (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-09-08 15:17 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<09bb986e-3e82-454d-8523-9f8376efbc74@googlegroups.com>
In reply to#30664
W dniu piątek, 8 września 2017 01:27:29 UTC+2 użytkownik fir napisał:
> W dniu piątek, 8 września 2017 01:12:35 UTC+2 użytkownik fir napisał:
> > jutro jeszcze (zapewne) opisze jeszcze smutne kwestie multipasow i fixupow (ciekawe tylko jesli ktos chce wiedziec jak dziala asm, mi samemu przyda si o tym wspomniec by uzyskac wieksza jasnosc jak to dziala a jest to troche zagmatwane
> > 
> > moze w sumie pare slow juz teraz
> > 
> > 1) na poczatku skanujac zrodlo buduje  sekcje importow - oprocz samego binarnego bloku tejh sekcji mam tez funkcja podajaca dla danego importu (podawanego po nazwie) wartosc relatywnego wskaznika
> > wskazujacego miejsce gdzie lezy pointer do tej funkcji (ktory zostanie wypelniony 
> > przez loader windy)
> > Oprocz tego istatna dana jest tez koncowy rozmiar tej sekcji
> > 
> > 2) skanujac zrodlo buduje sekcje data oprocz niej mam funkcje ktora dla danego labelu z sekcji data podaje re;atywny wskaznik do adekwatnej komorki w tej sekcji - oprocz tego wazna dana jest finalny rozmiar tej sekcji
> > 
> > 3) skanuje zrodlo i asembl;uje mnemoniki,
> > oprocz samych mnemonikow w zrodla mozna tam napotkac 4 rzeczy
> > l) label okreslajacy miejsce w kodzie (definicja np poczatku procedury)
> > c) odwolanie do labelu w kodzie (w przod lub w tyl) (glownie przez skoki)
> > d) odwolanie do labelu w danych (glownie przez mov)
> > i) odwolanie do importu (glownie przez call)
> > 
> > o tym co trzeba z tym zrobic moze jutro
> > 
> > (wlasciwie zadnego z tych labeli nie mozna przetlumaczyc na inta w pierwszym podejsciu:
> > l) te labele trzeba zrzucic do tablicy razem z ich wartosciami (ktore przynajmniej mozna od razu wyznaczyc)
> > c) odwolanie trzeba zrzucic do tablicy 
> > razem z miejscem w kodzie ktore trzeba wypwlnic (ktore to miejsce tez na szczescie mozna od razu ustalic)
> > d) odwolanie do danych tez trzeba zrzucic do tablicy razem z miejscem w kodzie ktore trzeba wypelnic 
> > i) odwolania do importow trzeba zrzucic do tablicy (azem zmiejscami ktore trzeba wypelnic)
> > 
> > po zasemblowaniu tego otrzymuje sie rozmar sekcji kodu, ktory trzeba wyrownac w gore co pozwala uzyskac polozenie sekcji importow, dodanie rozmiary wyrownanego w gore rozmiaru sekcji importow daje adres poczatku sekcji data
> > 
> > teraz z tego co sie orientuje trzeba przeiterowac wszystkie 4 tabele i zarzucic te fixupy, w wyniku czego powinnq powstac poprawnie wypelniona sekcja kodu, ktora razem z sekcja importow i danych zapisuje sie na dyck
> > i zrobione 
> > 
> > niby nie takie trudne ale obraz troche
> > komplikuja lekkie subtelnosci, glowni eto ze aligmenty sekcji w ramie sa ine niz w pliku a same adresy czasem podaje sie w postaci relatywnych offsetow (zdaje sie ze wiekszosc w sekcji importow juz nie pamietam a te w sekcji kodu raczej w postaci pelnych absolutnych wskaznikow) idzie sie pogubic
> > 
> > do tego trzeba jeszcze poustawiac odpowiednie pola w naglowkach pe co tez jest co nieco nieczytelee i dziwne
> > 
> > wiekszosc tego mam zrobione ale polozenie sekcji data i imports wklepalem na sztywno (dzieki czemu nie musialem robic tabel fixupow dla danych i importow) i teraz wlasnie musze to pewnie w weekend poprawic bytan asm wlasni enie mial ograniczen
> > 
> > (wogole szczerze mowiac nawet nieco dziwne mozna powiedziec jest to ze jak kodowalem tego asma to wiekszosc problemow jakie tu wspomnialem udawalo sie jakos zakodowac jakby w transie bez myslania o nich,  jest to ciekawa zdolnosc , zdolnosc do kodowania nez myslania o czyms o czym wydawaloby sie trzeba pomyslec) (pozniej jednak, czyli teraz kapka myslania na te tematy sie przydaje - zeby miec jasnosci i nie przeoczyc moze czegos, i moe tez po to by sie troche tego jak to dziala nauczyc na pamiec)
> 
> tak naprawde chyab to jest jeszcze bardziej skomplikowane, mianowicie zawartosc sekcji importow zalezy od jej polozenia, a jej polozenie zalezy od rozmiaru sekcji kodu - co wymusza inna kolejnosc niz pisalem 
> 
> zdaje sie 
> - najpierw cod
> - pozniej importy
> - pozniej dane
> - na koniec fixupy
> 
> idzie sie z leka pochlastac (zwlaszcza ze musze to przerabiac w stosunku do wersji z polozeniemi sekcji wkodowanymi 'na sztywno')

nowsza wersja 

minddetonator.htw.pl/organic8.zip

wiekszosc constraintow usunieta - jeszcze cos tam zostalo i asm pewnie wywali sie na zbyt duzej asemblacji ale jestem zbyt 'sterany' by to dzis poprawic, ale jako ze zdaje sie wiekszosc roboty zrobiona spokojnie poprawi sie to jutro i asm juz bedzie w koncu 'limitless' (jeszcze mi tylko zostanie wtedy doklepac reszte opkodow)

[toc] | [prev] | [next] | [standalone]


#30676 — Re: [OT] (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-09-09 05:20 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<18d74527-14c3-40e4-89d4-30ef43dc19da@googlegroups.com>
In reply to#30675
W dniu sobota, 9 września 2017 00:17:34 UTC+2 użytkownik fir napisał:
> 
> minddetonator.htw.pl/organic8.zip
> 
> wiekszosc constraintow usunieta - jeszcze cos tam zostalo i asm pewnie wywali sie na zbyt duzej asemblacji ale jestem zbyt 'sterany' by to dzis poprawic, ale jako ze zdaje sie wiekszosc roboty zrobiona spokojnie poprawi sie to jutro i asm juz bedzie w koncu 'limitless' (jeszcze mi tylko zostanie wtedy doklepac reszte opkodow)

minddetonator.htw.pl/organic9.zip 

wynikowy exe prawdopodobnie nadal sie wywali jesli ktoras z sekcji przekroczy
rozmiarem aligment sekcji (domyslnie 64 kb choc mozna ustawic pewnie i na 100 MB)
ale jednak poprawie to troche poziej (bo wymaga lekkiego ogarniecia) - w kazdym razie juz tylko o krok od limitless / w pewlni ogolnego asemblowania

[toc] | [prev] | [next] | [standalone]


#30677 — Re: [OT] (announce) organic asm

Fromwół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl>
Date2017-09-09 21:57 +0200
SubjectRe: [OT] (announce) organic asm
Message-ID<op1h2k$f9a$1@node1.news.atman.pl>
In reply to#30676
w czym to piszesz? :O)

[toc] | [prev] | [next] | [standalone]


#30678 — Re: [OT] (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-09-09 16:50 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<10131e91-ccfb-4fd4-add2-6f46f775d223@googlegroups.com>
In reply to#30677
W dniu sobota, 9 września 2017 21:57:10 UTC+2 użytkownik wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU napisał:
> w czym to piszesz? :O)

w c, 120 kb (czyli 6 tys linijek) zrodla (z czego 20 kb to moja biblioteczka do tekstow, 45 kb asmowy switch a 55 kb to reszta kodu) z api to potzebne jest fread fwrite printf i niewiele wiecej

strasznie sie wlasnie nameczylem nad tymi fixupami (ktore wynikaja z tego ze wartosci w sekcjach zaleza od polozen sekcji ktore zaleza od ich rozmiarow i sie robi kaszana) i chyba dziala ale bedzie terzeba porzadnie testowac a z mojej satysfakci z kodu zrobila sie troche kaszana

no ale skoro dziala to jest chyba ok ;c (tak naprawde nie wiem na ile fakt dzialania mozna uznac za fakt bezblednosci - ale jest przynajmniej jakis spory procent szansy ze jest ok, w nastepnych dniach sie potestuje)

[toc] | [prev] | [next] | [standalone]


#30679 — Re: [OT] (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-09-10 02:33 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<ced479e7-378d-42b7-af36-25ff705dc044@googlegroups.com>
In reply to#30678
minddetonator.htw.pl/organic10.zip

no dobra jak dziala to chyba nie jest tak zle,
te fixupy mnie strasznie denerwowaly, ale jak dziala to chyba jest ok, (jeszcze musze dodac sekcje .bb bo nie dodalem ale to sie chyba da zrobic prosto)
pozatym trzebedzie potestowac piszac rozne asemblerowe example, polampic sie wewnatrz kodu czy nie dostrzege jakichs beldow i troche zrefaktoryzowac na czytelniejsze, no i mozna by doklepac reszte mnemonikow

na razie jednak trzeba pewnie odpoczac bo jestem w tej fazie w ktorej koduje 7 razy wolniej a to nie jest za dobre

[toc] | [prev] | [next] | [standalone]


#30680 — Re: [OT] (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-09-11 07:55 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<d01ed5df-8904-4977-b319-b0bcc1712387@googlegroups.com>
In reply to#30679
ok bss ez dodalem, (wystarczy sekcje data zadeklarowac jako o rezerwe wiekszą a rozmiar w pliku podac jako tylko tym z wypelnionymi danymi i po prostu uzywac tej resztki jako ststycznego bss-ramu

w sumie pewnie moge wkleiic ten kod ktory nagywa header exe na dysk - u mnie to sa tylko minimalne pola tkniete ale dziala



void BuildAndSavePE(char* filename)
{
     FILE *file = fopen(filename, "wb");

 ////////////////////////////////////////////////////
////////////////////// pe headers /////////////////////////////

    IMAGE_DOS_HEADER dosHeader= {0};
     dosHeader.e_magic = 0x5a4d;    // MZ
     dosHeader.e_lfanew = 0x00000040; //pe header offset in file

//0x40
    IMAGE_NT_HEADERS ntHeader= {0};
     ntHeader.Signature = 0x00004550;  //PE 0 0

    IMAGE_FILE_HEADER header= {0};
     header.Machine              = 0x014c; //i386
     header.NumberOfSections     = 3;
     header.SizeOfOptionalHeader = 0x00e0; //not sure
     header.Characteristics      = 0x0002 + 0x0100; //executable + 32bit_machine
//0x58
    IMAGE_OPTIONAL_HEADER opHeader= {0};     //Optional Header of PE files present in NT Header structure
     opHeader.Magic = 0x010b;
     opHeader.AddressOfEntryPoint =  Give_CodeSection_RamOffset();
     opHeader.ImageBase =   pe_base_ram_adr;
     opHeader.SectionAlignment =  ram_section_alignment;
     opHeader.FileAlignment = file_section_alignment;
     opHeader.MajorSubsystemVersion = 4;
     opHeader.SizeOfImage = GiveRamImageSize(bss_reserve);
     opHeader.SizeOfHeaders = file_section_alignment;

     if(show_console)
      opHeader.Subsystem = 3; //2-gui, 3 - console
     else
      opHeader.Subsystem = 2; //2-gui, 3 - console

     opHeader.NumberOfRvaAndSizes = 16;

//0x0138
     opHeader.DataDirectory[1].VirtualAddress = Give_ImportsSection_RamOffset();

/////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////

    IMAGE_SECTION_HEADER secHeaderCode= {0};

     secHeaderCode.Name[0] = '.';
     secHeaderCode.Name[1] = 'c';
     secHeaderCode.Name[2] = 'o';
     secHeaderCode.Name[3] = 'd';
     secHeaderCode.Name[4] = 'e';

     secHeaderCode.Misc.VirtualSize =   AlignNumberUp( Give_Code_UnalignedSize() , ram_section_alignment);
     secHeaderCode.VirtualAddress = Give_CodeSection_RamOffset();

     secHeaderCode.SizeOfRawData = AlignNumberUp( Give_Code_UnalignedSize() , file_section_alignment);

     secHeaderCode.PointerToRawData = Give_CodeSection_FileOffset();

     secHeaderCode.Characteristics = 0x00000020 + 0x20000000 + 0x40000000;

/////
    IMAGE_SECTION_HEADER secHeaderImports= {0};

     secHeaderImports.Name[0] = '.';
     secHeaderImports.Name[1] = 'i';
     secHeaderImports.Name[2] = 'm';
     secHeaderImports.Name[3] = 'p';
     secHeaderImports.Name[4] = 'o';
     secHeaderImports.Name[5] = 'r';
     secHeaderImports.Name[6] = 't';
     secHeaderImports.Name[7] = 's';

     secHeaderImports.Misc.VirtualSize =  AlignNumberUp( Give_Imports_UnalignedSize() , ram_section_alignment);
     secHeaderImports.VirtualAddress = Give_ImportsSection_RamOffset();
     secHeaderImports.SizeOfRawData = AlignNumberUp( Give_Imports_UnalignedSize() , file_section_alignment);;
     secHeaderImports.PointerToRawData = Give_ImportsSection_FileOffset();
     secHeaderImports.Characteristics = 0x00000040 + 0x40000000;


//////
    IMAGE_SECTION_HEADER secHeaderData= {0};

     secHeaderData.Name[0] = '.';
     secHeaderData.Name[1] = 'd';
     secHeaderData.Name[2] = 'a';
     secHeaderData.Name[3] = 't';
     secHeaderData.Name[4] = 'a';


     secHeaderData.Misc.VirtualSize = AlignNumberUp( Give_Data_UnalignedSize()  , ram_section_alignment)
                                    + AlignNumberUp( bss_reserve  , ram_section_alignment) ;
     secHeaderData.VirtualAddress = Give_DataSection_RamOffset() ;
     secHeaderData.SizeOfRawData = AlignNumberUp( Give_Data_UnalignedSize() , file_section_alignment);
     secHeaderData.PointerToRawData = Give_DataSection_FileOffset();
     secHeaderData.Characteristics = 0x00000040 + 0x40000000 +0x80000000 ;

////////

    fwrite((char*)&dosHeader, 1, sizeof(dosHeader), file);

     fwrite((char*)&ntHeader, 1, 4, file);
     fwrite((char*)&header,   1, sizeof(header), file);
     fwrite((char*)&opHeader, 1, sizeof(opHeader), file);
     fwrite((char*)&secHeaderCode,    1, sizeof(secHeaderCode), file);
     fwrite((char*)&secHeaderImports, 1, sizeof(secHeaderImports), file);
     fwrite((char*)&secHeaderData,    1, sizeof(secHeaderData), file);


     int header_size = +  sizeof(dosHeader)
                       + 4
                       + sizeof(header)
                       + sizeof(opHeader)
                       + sizeof(secHeaderCode)
                       + sizeof(secHeaderImports)
                       + sizeof(secHeaderData);

 ////////////////////////////////////////////////////
////////////////////// code /////////////////////////////
    fseek( file, Give_CodeSection_FileOffset(), SEEK_SET );
    fwrite(code, 1, AlignNumberUp( Give_Code_UnalignedSize() , file_section_alignment), file);

    fseek( file, Give_ImportsSection_FileOffset(), SEEK_SET );
    fwrite((char*)idata, 1, AlignNumberUp( Give_Imports_UnalignedSize() , file_section_alignment), file);

    fseek( file, Give_DataSection_FileOffset(), SEEK_SET );
    fwrite(data, 1, AlignNumberUp( Give_Data_UnalignedSize() , file_section_alignment), file);

  ///// /// save last byte and exit
    char zero =0;
    fseek( file, GiveFileSize() - 1, SEEK_SET );
    fwrite((char*)&zero,   1, 1,   file);
    fclose(file);

}


dobrze ze ten asmik dziala i w sumie nie wykluczone ze napisze jeszcze pare tekstow na ten temat 
1) bo to ciekawsze niz hallo worldy a rownoczesnie nie jakos strasznie duze 
spokojnie daloby sie omowic nawet na grupie w calosci (big hallo world)
2) jest dobrym krokiem wyjscia do innych ciekawych tematow

[toc] | [prev] | [next] | [standalone]


#30681 — Re: [OT] (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-09-11 08:03 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<ec70df83-7e81-470a-845b-c85c1739dd0f@googlegroups.com>
In reply to#30680
ps jak ktos chce podyskutowac na jakies tematy to moze zajrzec na comp.lang.c 
gdzie ja czasem pisze wiecej w ostatnich latach
chyba wlasnie napisze cos o tym wspomnienym
'komtenerze' opartym na chunkach w ktorym moglbym trzymac dane nt importow i ktopry bylby resizowalny

[toc] | [prev] | [next] | [standalone]


#30682 — Re: [OT] (announce) organic asm

From"M.M." <mmarszik@gmail.com>
Date2017-09-12 05:57 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<09b4e817-2c2b-4bdb-adc1-55622cf684b2@googlegroups.com>
In reply to#30681
On Monday, September 11, 2017 at 5:03:55 PM UTC+2, fir wrote:
> ps jak ktos chce podyskutowac na jakies tematy to moze zajrzec na comp.lang.c 
> gdzie ja czasem pisze wiecej w ostatnich latach
> chyba wlasnie napisze cos o tym wspomnienym
> 'komtenerze' opartym na chunkach w ktorym moglbym trzymac dane nt importow i ktopry bylby resizowalny

Podziwiam Cię, że chce Ci się pisać swój asembler.

[toc] | [prev] | [next] | [standalone]


#30683 — Re: [OT] (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-09-12 07:59 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<8f0eb9a1-e706-4e96-bba8-54739a2ff735@googlegroups.com>
In reply to#30682
W dniu wtorek, 12 września 2017 14:57:02 UTC+2 użytkownik M.M. napisał:
> On Monday, September 11, 2017 at 5:03:55 PM UTC+2, fir wrote:
> > ps jak ktos chce podyskutowac na jakies tematy to moze zajrzec na comp.lang.c 
> > gdzie ja czasem pisze wiecej w ostatnich latach
> > chyba wlasnie napisze cos o tym wspomnienym
> > 'komtenerze' opartym na chunkach w ktorym moglbym trzymac dane nt importow i ktopry bylby resizowalny
> 
> Podziwiam Cię, że chce Ci się pisać swój asembler.

to nie bylo duzo roboty a korzysci sa naprawde ciekawe.. poza innymi rzeczami moge sobie zrobic teraz np zabawkowy ale w pewlni funkcjonalny kompilowany jezyk itd (ine glowne korzysci to zrozumienie 'gruntu' na jakim opiera sie c (czyli ta zabawa z sekcjami) - narazie troche odpoczne a pozniej wlasnie bedzie jakies jechane w kierunku czegos nowego

wogole pewnym impulsem aby go napisac bylo to ze mnemoniki do sse sa strasznie nieczytelne a chcialem moc pisac z kreskami jak to sobie wymyslilem,
cos w stylu

;  function sse_dot(float*, float*, float*) 

   mov         ecx  (!c) 
   mov         edx  (!8) 
   mov         eax  (!4) 
   mov-u-ps    x0  eax 
   mov-u-ps    x1  edx 
   mul-ps      x0  x1 
   mov-hl-ps   x1  x0 
   add-ps      x1  x0 
   mov-a-ps    x0  x1 
   shuf-ps     x1  x1 1 
   add-ss      x0  x1 
   mov-ss     (ecx) x0 
   ret 

tych mnemonikow do sse jeszcze nie wklepalem ale pozniej sie wklepie

[toc] | [prev] | [next] | [standalone]


#30684 — Re: [OT] (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-09-13 14:59 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<c0ad0c5e-79da-430f-9efa-3781cb08eee9@googlegroups.com>
In reply to#30683
W dniu wtorek, 12 września 2017 16:59:36 UTC+2 użytkownik fir napisał:
> W dniu wtorek, 12 września 2017 14:57:02 UTC+2 użytkownik M.M. napisał:
> > On Monday, September 11, 2017 at 5:03:55 PM UTC+2, fir wrote:
> > > ps jak ktos chce podyskutowac na jakies tematy to moze zajrzec na comp.lang.c 
> > > gdzie ja czasem pisze wiecej w ostatnich latach
> > > chyba wlasnie napisze cos o tym wspomnienym
> > > 'komtenerze' opartym na chunkach w ktorym moglbym trzymac dane nt importow i ktopry bylby resizowalny
> > 
> > Podziwiam Cię, że chce Ci się pisać swój asembler.
> 
> to nie bylo duzo roboty a korzysci sa naprawde ciekawe.. poza innymi rzeczami moge sobie zrobic teraz np zabawkowy ale w pewlni funkcjonalny kompilowany jezyk itd (ine glowne korzysci to zrozumienie 'gruntu' na jakim opiera sie c (czyli ta zabawa z sekcjami) - narazie troche odpoczne a pozniej wlasnie bedzie jakies jechane w kierunku czegos nowego
> 
> wogole pewnym impulsem aby go napisac bylo to ze mnemoniki do sse sa strasznie nieczytelne a chcialem moc pisac z kreskami jak to sobie wymyslilem,
> cos w stylu
> 
> ;  function sse_dot(float*, float*, float*) 
> 
>    mov         ecx  (!c) 
>    mov         edx  (!8) 
>    mov         eax  (!4) 
>    mov-u-ps    x0  eax 
>    mov-u-ps    x1  edx 
>    mul-ps      x0  x1 
>    mov-hl-ps   x1  x0 
>    add-ps      x1  x0 
>    mov-a-ps    x0  x1 
>    shuf-ps     x1  x1 1 
>    add-ss      x0  x1 
>    mov-ss     (ecx) x0 
>    ret 
> 
> tych mnemonikow do sse jeszcze nie wklepalem ale pozniej sie wklepie

jeszcze moge stwierdzic po napisaniu (bo asmik uporczywie dziala i jestem zadowolony, obecnie wersja 14) ze po napisaniu widac ze asembler na win32 to nie jest jakis duzy program to bardziej taki big hello world taka skala, wystarczy do jego napisania rozwiazac problemy charakterystyczne dla big hallo worlda (moje gierki, ktorych nie moge sonczyc, wydaja sie trudniejsze) [choc z drugiej strony pewne aspekty w asmie byly bardziej stresujace o czym pisalem, pisalem tez czemu  ]
tak czy owak jestem na dany moment dosyc zadowolony,
wszystko dziala a jesli sa jakies bugi to beda naprawde latwe do naprawienia (musze jeszcze wklepywac te mnemoniki co jest bardzo latwe ale wklepanie kazdego jednego pochlania X sekund i zawsze po wklepaniu z 20 mi sie to nudzi - a tych mnemonikow
(jesli liczyc odzielnie wszystkie kombinacje rejestrow i trybow - a trzeba liczyc ddzielnie jest chyba pare tysiecy, wklepalem moze ze 300)

[toc] | [prev] | [next] | [standalone]


#30687 — Re: [OT] (announce) organic asm

Fromwół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl>
Date2017-09-14 21:11 +0200
SubjectRe: [OT] (announce) organic asm
Message-ID<opek9h$cu4$2@node1.news.atman.pl>
In reply to#30684
:O)

napiszesz jakąś dokumentację?

[toc] | [prev] | [next] | [standalone]


#30688 — Re: [OT] (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-09-14 13:08 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<ab28d0ad-f371-42da-a95d-f8bfe106b4e7@googlegroups.com>
In reply to#30687
W dniu czwartek, 14 września 2017 21:11:46 UTC+2 użytkownik wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU napisał:
> :O)
> 
> napiszesz jakąś dokumentację?

zrobie kilkanascie przykladow tj plikow.asm 
przyklady szybko pokaza jak tego sie uzywa + ew pare slow wstepu

[toc] | [prev] | [next] | [standalone]


#30689 — Re: [OT] (announce) organic asm

Fromwół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl>
Date2017-09-15 21:43 +0200
SubjectRe: [OT] (announce) organic asm
Message-ID<ophahf$9mm$1@node2.news.atman.pl>
In reply to#30688
> zrobie kilkanascie przykladow tj plikow.asm
> przyklady szybko pokaza jak tego sie uzywa + ew pare slow wstepu

dobra rada - nie powtarzaj błędów liderów...
duża kasa na to idzie, ale i tak jestem święcie przekonany, że kiedyś to 
się zemści jakąś totalną katastrofą...

[toc] | [prev] | [next] | [standalone]


#30647 — Re: [OT] (announce) organic asm

Fromwół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl>
Date2017-09-06 21:01 +0200
SubjectRe: [OT] (announce) organic asm
Message-ID<oopgmr$lg0$3@node1.news.atman.pl>
In reply to#30645
odważny jest, co.
nie boi się przyznawać do znajomości assemblera.
boję się, żeby Mu się nic nie stało.

[toc] | [prev] | [next] | [standalone]


Page 2 of 4 — ← Prev page 1 [2] 3 4  Next page →

Back to top | Article view | pl.comp.programming


csiph-web