-
Data: 2017-09-08 01:12:34
Temat: Re: [OT] (announce) organic asm
Od: fir <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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)
Następne wpisy z tego wątku
- 08.09.17 01:27 fir
- 09.09.17 00:17 fir
- 09.09.17 14:20 fir
- 09.09.17 21:57 wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU
- 10.09.17 01:50 fir
- 10.09.17 11:33 fir
- 11.09.17 16:55 fir
- 11.09.17 17:03 fir
- 12.09.17 14:57 M.M.
- 12.09.17 16:59 fir
- 13.09.17 23:59 fir
- 14.09.17 21:11 wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU
- 14.09.17 22:08 fir
- 15.09.17 21:43 wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU
- 15.09.17 21:46 wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU
Najnowsze wątki z tej grupy
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
Najnowsze wątki
- 2025-12-26 Gdańsk => ERP Microsoft Dynamics 365 Commerce Consultant <=
- 2025-12-26 Kraków => Konsultant Microsoft Dynamics 365 Finance <=
- 2025-12-26 Kraków => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-26 wymieniłem termostat
- 2025-12-26 Warszawa => Senior Backend Java Developer <=
- 2025-12-25 Finlandia przywraca swastykę
- 2025-12-25 Skuteczność wymiaru sprawiedliwości
- 2025-12-24 Felgi
- 2025-12-24 2,5 x więcej niż Li-Ion
- 2025-12-24 No i kolejny ograniczony
- 2025-12-24 Warszawa => Młodszy Specjalista ds. wsparcia sprzedaży <=
- 2025-12-24 New York Times zagrożeniem bezpieczeństwa narodowego USA - POTUS D. Trump
- 2025-12-24 Podżeganie?
- 2025-12-24 => Senior Algorithm Developer (Java/Kotlin) <=
- 2025-12-24 otwarcie drugiej obwodnicy Trójmiasta




7 pułapek i okazji - zobacz co cię czeka podczas kupna mieszkania na wynajem