eGospodarka.pl

eGospodarka.plGrupypl.comp.programming › (announce) organic asm
Ilość wypowiedzi w tym wątku: 49

  • 1. Data: 2017-08-25 01:05:19
    Temat: (announce) organic asm
    Od: fir <p...@g...com>

    jak wspomnielem zaczlem pisac swoj wlasny asembler na x86

    na razie dodalem jedynie pare mnemoniekow (i zero kontroli bledow ani nawet logow)
    ale ogolnie poczatkowa wersja dziala

    minddetonator.htw.pl/organic2.zip

    na razie jest zdolne kompilowac takiego asma jak nizej (prosts testy czy wywola
    printfa albo czy stack po callach sie zgadza)

    pisanie tego asma jest wielce pouczajace o czym jednak pozniej


    (pewnie w weekend dodam wiekszosc podstawowych mnemonikow i jakas elementarna
    kontrole bledow)


    .code


    mov eax 10
    back:
    dec eax
    push eax
    push note
    call msvcrt.printf
    pop eax
    pop eax
    cmp eax 0
    jne back

    mov eax esp

    push eax
    push note2
    call msvcrt.printf
    pop eax
    pop eax

    push 0
    push zero
    push msg
    push 0
    call user32.MessageBoxA

    mov eax esp

    push eax
    push note2
    call msvcrt.printf
    pop eax
    pop eax

    push 0
    push zero
    push msg
    push 0
    call user32.MessageBoxA

    push 0
    call kernel32.ExitProcess

    .data

    note: " x = %d " 10 0
    note2: " esp = %x " 10 0

    msg: " hello asm world ! " 0
    zero: 0


  • 2. Data: 2017-08-25 10:15:08
    Temat: Re: (announce) organic asm
    Od: fir <p...@g...com>

    W dniu piątek, 25 sierpnia 2017 01:05:21 UTC+2 użytkownik fir napisał:
    > jak wspomnielem zaczlem pisac swoj wlasny asembler na x86
    >
    > na razie dodalem jedynie pare mnemoniekow (i zero kontroli bledow ani nawet logow)
    ale ogolnie poczatkowa wersja dziala
    >
    > minddetonator.htw.pl/organic2.zip
    >
    > na razie jest zdolne kompilowac takiego asma jak nizej (prosts testy czy wywola
    printfa albo czy stack po callach sie zgadza)
    >
    > pisanie tego asma jest wielce pouczajace o czym jednak pozniej
    >
    >
    > (pewnie w weekend dodam wiekszosc podstawowych mnemonikow i jakas elementarna
    kontrole bledow)
    >
    >
    > .code
    >
    >
    > mov eax 10
    > back:
    > dec eax
    > push eax
    > push note
    > call msvcrt.printf
    > pop eax
    > pop eax
    > cmp eax 0
    > jne back
    >
    > mov eax esp
    >
    > push eax
    > push note2
    > call msvcrt.printf
    > pop eax
    > pop eax
    >
    > push 0
    > push zero
    > push msg
    > push 0
    > call user32.MessageBoxA
    >
    > mov eax esp
    >
    > push eax
    > push note2
    > call msvcrt.printf
    > pop eax
    > pop eax
    >
    > push 0
    > push zero
    > push msg
    > push 0
    > call user32.MessageBoxA
    >
    > push 0
    > call kernel32.ExitProcess
    >
    > .data
    >
    > note: " x = %d " 10 0
    > note2: " esp = %x " 10 0
    >
    > msg: " hello asm world ! " 0
    > zero: 0

    wyglad asma tutaj jeszcze jako tako mi sie podoba - choc nie wiem czy etykiety nie
    nalezaloby jednak pisac jakos inaczej, by bylo czytelniej

    niepodoba mi sie wyglad sekcji danych - ale na razie nie wiem jak to przerobic - o
    tym moze pozniej


  • 3. Data: 2017-08-25 19:26:18
    Temat: Re: (announce) organic asm
    Od: fir <p...@g...com>


    minddetonator.htw.pl/organic3.zip

    dorobilem jakies reportowanie
    wynikow roboty assemblera (co jest przydatne imo)

    wyglada to mw tak ->


    Organic Assembler (org-asm) by fir 2017

    note: this is very early version with some artificial
    constraints, no error messages and only few mnemonics implemented,
    i will work on it in few days, though

    Opening: input.asm

    Code selected for assembly :

    0 ''
    1 ''
    2 'mov eax 10'
    3 'back:'
    4 'dec eax'
    5 'push eax'
    6 'push note'
    7 'call msvcrt.printf'
    8 'pop eax'
    9 'pop eax'
    10 'cmp eax 0'
    11 'jne back'
    12 ''
    13 'mov eax esp'
    14 ''
    15 'push eax'
    16 'push note2'
    17 'call msvcrt.printf'
    18 'pop eax'
    19 'pop eax'
    20 ''
    21 'push 0'
    22 'push zero'
    23 'push msg'
    24 'push 0'
    25 'call user32.MessageBoxA'
    26 ''
    27 'mov eax esp'
    28 ''
    29 'push eax'
    30 'push note2'
    31 'call msvcrt.printf'
    32 'pop eax'
    33 'pop eax'
    34 ''
    35 'push 0'
    36 'push zero'
    37 'push msg'
    38 'push 0'
    39 'call user32.MessageBoxA'
    40 ''
    41 'push 0'
    42 'call kernel32.ExitProcess'
    43 ''

    Data selected for build :

    0 ''
    1 'note: " x = %d " 10 0'
    2 'note2: " esp = %x " 10 0'
    3 ''
    4 'msg: " hello asm world ! " 0'
    5 'zero: 0'
    6 ''

    Building imports :

    msvcrt
    printf (0x00402400)

    user32
    MessageBoxA (0x00402440)

    kernel32
    ExitProcess (0x00402480)

    Building data section :

    label note: (0x00403000)
    label note2: (0x0040300b)
    label msg: (0x00403017)
    label zero: (0x0040302b)

    44 (0x002c) bytes collected in data section

    Assembling asm :

    111 (0x006f) bytes assembled:

    401000 b8 0a 00 00 00 48 50 68 00 30 40 00 ff 15 00 24
    401010 40 00 58 58 3d 00 00 00 00 0f 85 e6 ff ff ff 89
    401020 e0 50 68 0b 30 40 00 ff 15 00 24 40 00 58 58 6a
    401030 00 68 2b 30 40 00 68 17 30 40 00 6a 00 ff 15 40
    401040 24 40 00 89 e0 50 68 0b 30 40 00 ff 15 00 24 40
    401050 00 58 58 6a 00 68 2b 30 40 00 68 17 30 40 00 6a
    401060 00 ff 15 40 24 40 00 6a 00 ff 15 80 24 40 00

    Saving Output: result.exe

    OK


    teraz trzebby dorobic wiecej mnemonikow, (podobnie skoki to etykiety dzialaja tylko w
    tyl ;c


  • 4. Data: 2017-08-26 11:40:48
    Temat: Re: (announce) organic asm
    Od: fir <p...@g...com>

    dodalem jeszcze troche nowsza wersje

    minddetonator.htw.pl/organic4.zip


    ktora moze kompilowac kilka wiecej mnemonikow.. w weekend jak mi ogolne obolenie
    minie dodam jeszcze
    pare

    code

    mov eax 7
    call print_eax

    hoo:
    add eax 3
    call print_eax
    ; jmp hoo

    sub eax 5
    call print_eax

    imul eax 8
    call print_eax

    mov eax some_value
    call print_eax_hex

    mov ecx eax
    mov eax (ecx)
    call print_eax


    mov eax 55
    cmp eax 5
    jne skip
    mov eax 100
    call print_eax
    skip:
    mov eax 200
    call print_eax

    mov eax 10
    back:
    dec eax
    call print_eax
    cmp eax 0
    jne back

    ; zzzzz

    call print_esp
    call show_msgbox_hello
    call print_esp
    call show_msgbox_hello

    push 0
    call kernel32.ExitProcess

    print_esp:
    mov eax esp
    push eax
    push note_esp
    call msvcrt.printf
    pop eax
    pop eax
    ret

    print_eax:
    push eax
    push note_eax
    call msvcrt.printf
    pop eax
    pop eax
    ret

    print_eax_hex:
    push eax
    push note_eax_hex
    call msvcrt.printf
    pop eax
    pop eax
    ret

    show_msgbox_hello:
    push 0
    push null_string
    push hello_message
    push 0
    call user32.MessageBoxA
    ret

    test:
    mov eax (ecx)
    mov (ecx) eax
    ret

    .data

    note_eax: " eax = %d " 10 0
    note_eax_hex: " eax = %x " 10 0

    note_esp: " esp = 0x%08x " 10 0

    hello_message: " hello asm world ! " 0
    null_string: 0
    some_value: 33 0 0 0


  • 5. Data: 2017-08-26 11:43:51
    Temat: Re: (announce) organic asm
    Od: fir <p...@g...com>

    jak ktos chce moze dodac jakies pszykladowe snipety w asmie ktore dobrze by bylo
    zasemblowac i dodam mnemoniki

    podobnie moge przemyslec ogolne idee
    co i jak nalezy zrobic


  • 6. Data: 2017-08-30 19:04:10
    Temat: [OT] (announce) organic asm
    Od: wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <N...@g...pl>

    a tak na poważnie...

    Profesorze! ten Twój post to chyba nie jest do końca taki przypadkowy...
    nie?

    nagle okazało się, że jakieś dziwne zielone ludziki potrzebują
    programistów niskiego poziomu...

    cóż to za jakieś dziwne i nieistniejące zagadnienie którego nie da się
    oprogramować w androidzie w java?

    jak się o tym dowiedzieliśmy (grupa frajers) to informacje ostro zostały
    "zdjęte"...

    no ale smaczek pozostał... do czego to świat, wolny europejski świat
    potrzebował asemblerowców? do dymania? (taki słabointegracyjny żartki
    przepraszam musiałem)


  • 7. Data: 2017-09-03 20:47:15
    Temat: Re: [OT] (announce) organic asm
    Od: wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <N...@g...pl>

    (w obowiązku)

    jest interpretacja: jedynie c i java na zawsze...


  • 8. Data: 2017-09-03 23:02:35
    Temat: Re: [OT] (announce) organic asm
    Od: fir <p...@g...com>

    W dniu niedziela, 3 września 2017 20:47:56 UTC+2 użytkownik wół, wół roboczy, wół
    dojno roboczo obronny 'POPIS/EU napisał:
    > (w obowiązku)
    >
    > jest interpretacja: jedynie c i java na zawsze...

    nie wydaje mi sie by w swiecie programistow byl jakis spisek antyasmowy - z tego co
    obserwuje po necie to dobrzy programisci znaja asma (na tyle ile trzeba) .. slabi
    moze i go nie znają ale kto by sie przejmowal slabymi ...


    chwilowo robie przerwe a jak naladuje baterie pousuwam limitacje w tym moim asmie..
    pozniej moze go przerobie na jakis "auto assembler" (mam na mysli cos bardziej
    zaawansowanego niz makro assembler - a poznie moze jakis mix asma z c czy b - a
    pozniej moze kompilator c2 - ale na razie troche za wczesnie by o tym konkretnie
    pisac.. potrzebuje troche przerwy by dobrze odciazyc lepetyne


  • 9. Data: 2017-09-04 21:14:34
    Temat: Re: [OT] (announce) organic asm
    Od: wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <N...@g...pl>

    > chwilowo robie przerwe a jak naladuje baterie pousuwam limitacje w tym moim asmie..
    pozniej moze go przerobie na jakis "auto assembler" (mam na mysli cos bardziej
    zaawansowanego niz makro assembler - a poznie moze jakis mix asma z c czy b - a
    pozniej moze kompilator c2 - ale na razie troche za wczesnie by o tym konkretnie
    pisac.. potrzebuje troche przerwy by dobrze odciazyc lepetyne

    jam tam frajer, ale odnoszę wrażenie, że Profesor porusza się pewną
    znaną mi już drogą...


  • 10. Data: 2017-09-04 22:20:46
    Temat: Re: [OT] (announce) organic asm
    Od: fir <p...@g...com>

    W dniu poniedziałek, 4 września 2017 21:15:18 UTC+2 użytkownik wół, wół roboczy, wół
    dojno roboczo obronny 'POPIS/EU napisał:
    > > chwilowo robie przerwe a jak naladuje baterie pousuwam limitacje w tym moim
    asmie.. pozniej moze go przerobie na jakis "auto assembler" (mam na mysli cos
    bardziej zaawansowanego niz makro assembler - a poznie moze jakis mix asma z c czy b
    - a pozniej moze kompilator c2 - ale na razie troche za wczesnie by o tym konkretnie
    pisac.. potrzebuje troche przerwy by dobrze odciazyc lepetyne
    >
    > jam tam frajer, ale odnoszę wrażenie, że Profesor porusza się pewną
    > znaną mi już drogą...

    jaką?

strony : [ 1 ] . 2 ... 5



Szukaj w grupach

Szukaj w grupach

REKLAMA

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:

Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Prywatności. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.