eGospodarka.pl
eGospodarka.pl poleca

  • Data: 2011-11-04 16:58:46
    Temat: Re: fajny assembler
    Od: " " <f...@N...gazeta.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Bogdan (bogdro) <b...@p...gazeta.pl> napisał(a):

    > W dniu 04.11.2011 09:25, f...@N...gazeta.pl pisze:
    > > <f...@N...gazeta.pl> napisał(a):
    > >
    > >>
    > >>> Fatal: 'fir.asm': Additional segments need to be defined in a .def file
    > >>> :(
    > >>
    > > cholerstwo.. chyba zaczynam troche rozumiec o co chodzi, ale
    > > nie za bardzo - PE i exe w ramie maja wydzielone sekcje (nie
    > > jestem pewien czy w jezyku linkera to samo nie nazywa wlasnie
    > > 'segment'),, oddzielnie linkowane moduly ((slowa modul uzywa
    > > linker do oznaczenia mw tego samego co ja czyli pliku .obj ))
    > > oddzielnie linkowane moduly mozna chyba z tego co rozumiem
    > > zlinkowac tak zeby sekcje data z main_in_c.obj i data z
    > > asm_routine.obj znalazly sie albo w oddzielnych segmentach
    > > (i wtedy nalezy podac linkerowi ew dodatkowe informacje w pliku
    > > DEF) albo ew w tym samym segmencie (ew tez moze nalezy coś
    > > podac w pliku .DEF), z sekcjami .text nie ma jakos problemu....
    > > przygnebia mnie ten problem bo jak tego nie rozwiaze to
    > > mi sie nie uda podlaczac te procedury w nasmie - a pouczylbym
    > > sie asma (na inny kompilator nie mam checi sie obecnie
    > > przesiadac bo to zbyt duza rewolucja w borlandzie czuje sie
    > > wygodnie jak w fotelu - jesli mowa o krzeslach)
    >
    > Tak to właśnie jest, jeśli dobrze pamiętam - jeśli definiujesz własne
    > segmenty, to trzeba je dodać do pliku *.def, który był tworzony przez
    > kompilator do większości programów (choć do programów w asemblerze,
    > bez innych języków, to raczej nie było potrzebne). Ale to było dawno,
    > więc mogę się mylić.
    > Z .text nie ma takiego problemu, bo sekcja .text jest tylko jedna i
    > widocznie nazywa się tak samo lub linker automatycznie ją widzi.
    > Myślałem, że Borland nazwie/stworzy sekcję danych tak, że nazwanie
    > naszej ".data" sprawi, że będzie działać. Ale skoro nie działa, to
    > zrób tak: napisz w C program/plik z jakimikolwiek danymi, wygeneruj
    > kompilatorem C pliki asemblerowe (opcja bodajże -s lub -S), zobacz,
    > jak w nich nazywa się segment danych i nazwij tak samo ten w pliku z
    > kodem asm. Potem skompiluj plik asm i spróbuj ponownie linkować.
    > Ja dalej nie podziała, możesz spróbować poszukać w sieci porad
    > dotyczących tego błędu (ewentualnie dodając asembler do kryteriów
    > wyszukiwania). Ewentualnie wystaw gdzieś w sieci plik asemblerowy
    > wygenerowany przez kompilator i podaj adres, to będzie się można
    > przyjrzeć.
    >

    ok, dzieki za odp;

    juz mi glowa trzeszczy od tego problemu bo przysiadlem przy
    tym ale nic nie moge zdzialac;

    wlasnie skonczylem przegladanie wszystkich opcji (bcc32) i
    czesci linkera (ilink32) (te opcje linkera sa malo zrozumiale
    i wygladaja na molo uzyteczne)

    Udalo mi sie zmusic linker do czytania pliku def ale nie
    wiem co tam wstawic, cos takiego wytworzonego napredce

    LIBRARY FIR.OBJ

    CODE

    DATA

    SEGMENTS
    aaaaa CLASS 'DATA'
    bbbbb CLASS 'TEXT'


    EXPORTS
    _asm_routine @1


    jest w stanie lyknac bez raportowania bledow skladni w def,
    ale linker wywala sie przy tym z komunikatem 'abnormal
    termination' (na stronce embarcadero jest opis skladni tego
    pliku ale nie jest tam napisane co ja mam tam wstawic)

    poprobuje tego co mowisz, co do kodu asma to ostatnio zapoznalem
    sie z fajnym programikiem objconv agnera foga - polecam - mozna
    tym elegancko 'disaseblnac' sobie dowolnego execa albo dll
    do pliku asm ito w skladniech kompatybilnych dla pieciu
    assemblerow, np

    objconv -fnasm myprog.exe myprog.asm

    sprawdzenie typu sekcji nie rpztszlo mi do glowy - sprawdze to




    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: