eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › fajny assembler KoLoRoWy AsEmBLeR
Ilość wypowiedzi w tym wątku: 31

  • 11. Data: 2011-11-03 20:13:04
    Temat: Re: fajny assembler
    Od: " " <f...@N...gazeta.pl>


    > Fatal: 'fir.asm': Additional segments need to be defined in a .def file
    >
    > :(
    >

    wogole to nie wiem czy to blad z linkera, czy to obj z
    asemblera jest nie tak jak trzeba wygenerowany :-/
    te defy to chyba uzywa sie do dllek (wylacznie?) wiec to
    by moze znaczylo ze to moze byc cos nie tak z tym obj z asma :(



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


  • 12. Data: 2011-11-04 08:25:35
    Temat: Re: fajny assembler
    Od: " " <f...@N...gazeta.pl>

    <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)





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


  • 13. Data: 2011-11-04 16:23:30
    Temat: Re: fajny assembler
    Od: "Bogdan (bogdro)" <b...@p...gazeta.pl>

    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ć.

    --
    Pozdrawiam/Regards - Bogdan (GNU/Linux & FreeDOS)
    Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro
    Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
    www.Xiph.org www.TorProject.org Soft (EN): miniurl.pl/bogdro-soft


  • 14. Data: 2011-11-04 16:58:46
    Temat: Re: fajny assembler
    Od: " " <f...@N...gazeta.pl>

    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/


  • 15. Data: 2011-11-05 13:01:43
    Temat: Re: fajny assembler
    Od: " " <f...@N...gazeta.pl>

    >
    >
    >
    uff, chyba sie udalo (o ile nie wystapia dalsze problemy np
    z importem z asma), pomogly mi dwie rzeczy

    (1) disasemblujace mozliwosci objconv'a - zauwazylem ze w
    disasemblerze blok text jest oznaczony jako noexecute i
    listowany jako dane a nie jako kod
    (choc przy linkowaniu wczesniej i tak sie dawal uruchamiac
    chyba ze przoczylam jakas zmiane i wczeniej tak nie bylo,
    ale chyba nie, raczej musialo i wczesniej tak byc, ale juz nie wiem do konca)

    2) w necie znalazlem jak ktos uzywa zamiast "nasm -f obj prog.asm"
    "nasm -f win32 prog.asm" postosowalem to i okazalo sie ze po tym sekcja
    kodu jest ok - to produkuje coffa nie omfa ale objconvem moge dodac
    underskory i przerobic na omfa i zlinkowalo sie ok rozniez z sekcja danych
    - no to pewna ulga, troche odpoczne i zobacze czy sse zadziala

    fir.asm:

    ;-----------------------------
    global asm_routine
    ;-----------------------------
    section .text

    asm_routine:

    enter 0,0
    pusha

    mov eax, 1111
    mov ebx, 2222
    mov ecx, 3333
    mov edx, 4444

    popa
    mov eax, 7777 ; return back to C
    leave
    ret
    ;------------------------------
    section .data

    asm_routine_string db "asm routine string data", 0
    ;-----------------------------

    make.bat :

    rem assembly to win32 coff

    nasm -o fir_coff.obj -f win32 fir.asm

    rem convert win32 coff to bcc omf with underscores

    objconv -fomf -nu+ fir_coff.obj fir_omf.obj

    rem dissasembly for sure

    objconv -fnasm fir.obj fir_obj_nasm.asm
    objconv -fmasm fir.obj fir_obj_masm.asm
    objconv -fgas fir.obj fir_obj_gas.asm

    wynik disasemblacji w trybie nasm:

    ; Disassembly of file: fir.obj
    ; Sat Nov 05 13:37:17 2011
    ; Mode: 32 bits
    ; Syntax: YASM/NASM
    ; Instruction set: 80386


    global asm_routine

    absolut equ 00000000H ; 0
    @feat.00 equ 00000001H ; 1


    SECTION .text align=16 execute ; section number 1,
    code

    asm_routine:; Function begin
    enter 0, 0 ; 0000 _ C8, 0000, 00
    pushad ; 0004 _ 60
    mov eax, 1111 ; 0005 _ B8, 00000457
    mov ebx, 2222 ; 000A _ BB, 000008AE
    mov ecx, 3333 ; 000F _ B9, 00000D05
    mov edx, 4444 ; 0014 _ BA, 0000115C
    popad ; 0019 _ 61
    mov eax, 7777 ; 001A _ B8, 00001E61
    leave ; 001F _ C9
    ret ; 0020 _ C3
    ; asm_routine End of function


    SECTION .data align=4 noexecute ; section number 2,
    data

    asm_routine_string: ; byte
    db 61H, 73H, 6DH, 20H, 72H, 6FH, 75H, 74H ; 0000 _ asm rout
    db 69H, 6EH, 65H, 20H, 73H, 74H, 72H, 69H ; 0008 _ ine stri
    db 6EH, 67H, 20H, 64H, 61H, 74H, 61H, 00H ; 0010 _ ng data.

    nasm wstawil jakies dwa dziwne inty, nie wiem co to jest - ale trudno


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


  • 16. Data: 2011-11-05 16:26:20
    Temat: Re: fajny assembler KoLoRoWy AsEmBLeR
    Od: Kicer <...@...c>

    wrote:

    > czy ktos zna jakis fajny asembler, najlepiej
    > prosty (bezproblemowy) i kolorowy, moglby
    > miec kolorowe ide i jakas przyjazna skladnie
    > samych instrukcji (zeby nie trzeba bylo np
    > pisac tego chalowego 'dword ptr' i by fajnie
    > sie kodowalo) - nie wiem jak wyglada swiat
    > asemblera today ale chyba moze miec sie
    > calkiem dobrze - poprobowalbym popisac
    > troche obj-tow ktore moglbym dolinkowac
    > do c (z tym ze uzywam starego borlanda 55
    > i najlpeiej by mogl generowac omf-y)
    >

    fasm

    --
    Michał Walenciak
    gmail.com kicer86
    http://kicer.sileman.net.pl
    gg: 3729519


  • 17. Data: 2011-11-06 19:23:18
    Temat: [OT] fajny assembler KoLoRoWy AsEmBLeR
    Od: "identifikator: 20110701" <N...@g...pl>

    przeglądając internet natrafiłem na tą stronkę:
    http://www.phatcode.net/downloads.php?id=280
    można na niej ściągnąć TASMa, czy Ktoś się
    orientuje czy to jest legalne?


  • 18. Data: 2011-11-06 22:21:24
    Temat: Re: [OT] fajny assembler KoLoRoWy AsEmBLeR
    Od: "Wiktor S." <wswiktor&poczta,fm@no.spam>

    > przeglądając internet natrafiłem na tą stronkę:
    > http://www.phatcode.net/downloads.php?id=280
    > można na niej ściągnąć TASMa, czy Ktoś się
    > orientuje czy to jest legalne?

    Nie wiem, Borland kiedyś opublikował za darmo trochę swoich staroci, więc
    może.

    Ale na co komu TASM?


    --
    Azarien


  • 19. Data: 2011-11-06 22:46:11
    Temat: Re: [OT] fajny assembler KoLoRoWy AsEmBLeR
    Od: " " <f...@g...pl>

    Wiktor S. <wswiktor&poczta,fm@no.spam> napisał(a):

    > > przeglądając internet natrafiłem na tą stronkę:
    > > http://www.phatcode.net/downloads.php?id=280
    > > można na niej ściągnąć TASMa, czy Ktoś się
    > > orientuje czy to jest legalne?
    >
    > Nie wiem, Borland kiedyś opublikował za darmo trochę swoich staroci, więc
    > może.
    >
    > Ale na co komu TASM?
    >

    dla mnie TASM bylby dobry gdyby wspieral najnowszy zestaw
    instrukcji - tylko dlatego jest niedobry ze nie wspiera,

    ale jest tam link do jakiegos aktualizowanego 'lazy assembler',
    sciagnalem choc ja sciagam tysiace drobiazgow ktorych pozniej najczesciej
    wogole nie uruchamiam :/

    sam borland 5.5, jak mowie dla mnie ktory programuje w c (nie w c++),
    jest *zupelnie* aktualny (nie widze w nim nic co by bylo nieaktualnego,
    [poza ew tym ze nie kompiluje pod 64 bity ale ja pisze raczej pod 32 bity])
    na podobnej zasadzie na jakiej aktualne jest winapi;

    gcc za to podobno znacznie lepiej optymalizuje kod; sciagnalbym wspomiane
    mingw (nigdy nie uzywalem), gdyby mialo jakis normalny instalator - a chyba
    nie ma











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


  • 20. Data: 2011-11-06 22:55:22
    Temat: Re: [OT] fajny assembler KoLoRoWy AsEmBLeR
    Od: Bronek Kozicki <b...@s...net>

    Zamiast zawracac d*pe jakimiś starociami którymi mało kto się
    interesuje, ściągnij sobie VirtualPC, zainstaluj pod nim jakiegoś Linuxa
    i tam sobie eksperymentuj z gcc.

    Możesz też sobie zainstalować Visual Express C++ , jest przyjazny
    również komercyjnym zastosowaniom, przynajmniej będziesz miał porównanie.


    B.

strony : 1 . [ 2 ] . 3 . 4


Szukaj w grupach

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: