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 1 of 4  [1] 2 3 4  Next page →


#30460 — (announce) organic asm

Fromfir <profesor.fir@gmail.com>
Date2017-08-24 16:05 -0700
Subject(announce) organic asm
Message-ID<755087f8-e5ab-4fd7-b5bf-fc89c88210a0@googlegroups.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

[toc] | [next] | [standalone]


#30475

Fromfir <profesor.fir@gmail.com>
Date2017-08-25 01:15 -0700
Message-ID<dc236d62-39df-4a6b-ad7e-e00ec57ee5e9@googlegroups.com>
In reply to#30460
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

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


#30498

Fromfir <profesor.fir@gmail.com>
Date2017-08-25 10:26 -0700
Message-ID<0dca018c-680b-42a8-9e86-2d4bd5c29e9a@googlegroups.com>
In reply to#30475
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

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


#30508

Fromfir <profesor.fir@gmail.com>
Date2017-08-26 02:40 -0700
Message-ID<cdc95bc1-62ec-4118-a621-24e511910006@googlegroups.com>
In reply to#30498
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 

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


#30509

Fromfir <profesor.fir@gmail.com>
Date2017-08-26 02:43 -0700
Message-ID<5b21ef34-635d-49f5-9644-5d98b34c1a23@googlegroups.com>
In reply to#30508
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

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


#30595 — [OT] (announce) organic asm

Fromwół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl>
Date2017-08-30 19:04 +0200
Subject[OT] (announce) organic asm
Message-ID<oo6r6b$bcp$1@node1.news.atman.pl>
In reply to#30460
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)

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


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

Fromwół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl>
Date2017-09-03 20:47 +0200
SubjectRe: [OT] (announce) organic asm
Message-ID<oohior$19n$1@node2.news.atman.pl>
In reply to#30595
(w obowiązku)

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

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


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

Fromfir <profesor.fir@gmail.com>
Date2017-09-03 14:02 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<05289252-ba98-4d9a-8217-11d6de6d5be8@googlegroups.com>
In reply to#30634
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 

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


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

Fromwół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl>
Date2017-09-04 21:14 +0200
SubjectRe: [OT] (announce) organic asm
Message-ID<ook8o5$gs1$2@node2.news.atman.pl>
In reply to#30635
> 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ą...

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


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

Fromfir <profesor.fir@gmail.com>
Date2017-09-04 13:20 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<211f8ec8-cd5a-410b-92a6-eb93b10baf91@googlegroups.com>
In reply to#30636
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ą?

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


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

FromSzyk Cech <szyk100@o2.pl>
Date2017-09-05 00:13 +0200
SubjectRe: [OT] (announce) organic asm
Message-ID<ookj75$qs8$1@mx1.internetia.pl>
In reply to#30637
W dniu 04.09.2017 o 22:20, fir pisze:
> 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ą?
> 
Równią pochyłą. Na końcu której czekają ciepły, empatyczny dr. z 
psychotropami...

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


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

Fromfir <profesor.fir@gmail.com>
Date2017-09-05 02:16 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<80e3baf6-b568-4280-84ff-954d467e8cea@googlegroups.com>
In reply to#30638
W dniu wtorek, 5 września 2017 00:13:58 UTC+2 użytkownik Szyk Cech napisał:
> W dniu 04.09.2017 o 22:20, fir pisze:
> > 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ą?
> > 
> Równią pochyłą. Na końcu której czekają ciepły, empatyczny dr. z 
> psychotropami...

pisanie kompilatora to robota dosyc dobrze okreslona tak ze moim zdaniem oszalenie tu niezbyt grozi - ale sa tez inne chyab trudniejsze projekty ;c 

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


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

From"M.M." <mmarszik@gmail.com>
Date2017-09-06 04:17 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<1ec62db8-ecf0-495a-b46f-63392acab5bd@googlegroups.com>
In reply to#30639
On Tuesday, September 5, 2017 at 11:16:54 AM UTC+2, fir wrote:
> pisanie kompilatora to robota dosyc dobrze okreslona tak ze moim 
> zdaniem oszalenie tu niezbyt grozi - ale sa tez inne chyab 
> trudniejsze projekty ;c

Czego brakuje Ci w istniejących asemblerach - to nie będę wiedział
do końca życia. Fir, nie pisz tego. Opracuj lepiej kompilator 
do pythona lub innej schemy na bazie sztucznej inteligencji - tego
jeszcze nie ma.

Pozdrawiam

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


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

Fromw systemie siła 'POPIS/EU <NOSPAMtestowanije@go2.pl>
Date2017-09-06 14:15 +0200
SubjectRe: [OT] (announce) organic asm
Message-ID<oooot5$tte$1@node1.news.atman.pl>
In reply to#30640
a może skoro już pisze...

to może niech napisze dla unii europejskiej...

produkt dla unii musi wymuszać wonioskowywanie...

kilka standardowych numerów:
- optymalizacja na etapie pisania
- wycieki pamięci
- wskaźniki i obiekty! ale wskaźniki najważniejsze...

to może i grant dostanie!

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


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

Fromw systemie siła 'POPIS/EU <NOSPAMtestowanije@go2.pl>
Date2017-09-06 16:53 +0200
SubjectRe: [OT] (announce) organic asm
Message-ID<oop254$7d4$1@node1.news.atman.pl>
In reply to#30641
a jak doda "rozszerzenia gcc" no to już musi dostać nobla!

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


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

Fromfir <profesor.fir@gmail.com>
Date2017-09-06 07:57 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<0b1d7ec4-9cee-4946-85ea-fa263851e56c@googlegroups.com>
In reply to#30640
W dniu środa, 6 września 2017 13:17:38 UTC+2 użytkownik M.M. napisał:
> On Tuesday, September 5, 2017 at 11:16:54 AM UTC+2, fir wrote:
> > pisanie kompilatora to robota dosyc dobrze okreslona tak ze moim 
> > zdaniem oszalenie tu niezbyt grozi - ale sa tez inne chyab 
> > trudniejsze projekty ;c
> 
> Czego brakuje Ci w istniejących asemblerach - to nie będę wiedział
> do końca życia. Fir, nie pisz tego. Opracuj lepiej kompilator 
> do pythona lub innej schemy na bazie sztucznej inteligencji - tego
> jeszcze nie ma.
> 
skoro juz to napisalem to pisanie nie pisz tego nic tu nie da ;c (choc musze popracowac jeszcze troche pozniej by wklepac wszystkie mnemoniki i usunac ograniczenia)

zobacz przyklad wyzej na poczatku watku przyklad skladni w asmie w jakiej to asembluje, jest lepsza bez przecinkow itd a wywolania funkci z dll'ek masz bez ich deklarowania (to jest lepsze niz w obecnych asmach)

skladnia sekcji data jest co prawda niedopracowana ale to wymaga namyslu co tam zrobic

inne projekty tez pewnie bede robic ale ten okazal sie stosunkowo prosty.. nie jest niestety tak ze wszystko co sobie wymysle jestem w stanie bez problemow zakodowac.. np to co kiedys pisalem bylo by mi ew potrzebne

1) biblioteka gestow statkow kosmicznych w 3d, 2d (tj opracowanych i skodyfikowanych ruchow statkow kosmicznych w 3d) - to nie jest takie latwe

2) wlasna fizyka 3d/2d - tez sie trzeba namęczyc 

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


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

Fromfir <profesor.fir@gmail.com>
Date2017-09-06 08:02 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<12bd93f4-ecd4-4d6d-809e-c71fa681ab3f@googlegroups.com>
In reply to#30643
na razie odpoczywam a pozniej bede jednak poprawiac tego asma (( na dany moment dziala ale jest niepelny i ma sztuczne ograniczenia wpisane na sztywno dla ulatwienia tak ze jeszcze nie za bardzo da sie pokazywac ludziom))

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


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

From"M.M." <mmarszik@gmail.com>
Date2017-09-06 09:02 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<80e42869-34c7-46c6-b149-607c88a111bd@googlegroups.com>
In reply to#30644
On Wednesday, September 6, 2017 at 5:02:36 PM UTC+2, fir wrote:
> na razie odpoczywam a pozniej bede jednak poprawiac tego asma (( na dany moment dziala ale jest niepelny i ma sztuczne ograniczenia wpisane na sztywno dla ulatwienia tak ze jeszcze nie za bardzo da sie pokazywac ludziom))

A jak już się da pokazywać, to co będzie robił ten asm lepiej niż
inne (poza ograniczeniami)?

Pozdrawiam

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


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

Fromfir <profesor.fir@gmail.com>
Date2017-09-06 09:23 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<2d2be0a7-39f3-46e9-8852-2c62c4af4547@googlegroups.com>
In reply to#30645
W dniu środa, 6 września 2017 18:02:45 UTC+2 użytkownik M.M. napisał:
> On Wednesday, September 6, 2017 at 5:02:36 PM UTC+2, fir wrote:
> > na razie odpoczywam a pozniej bede jednak poprawiac tego asma (( na dany moment dziala ale jest niepelny i ma sztuczne ograniczenia wpisane na sztywno dla ulatwienia tak ze jeszcze nie za bardzo da sie pokazywac ludziom))
> 
> A jak już się da pokazywać, to co będzie robił ten asm lepiej niż
> inne (poza ograniczeniami)?
> 
> Pozdrawiam

W dniu środa, 6 września 2017 18:02:45 UTC+2 użytkownik M.M. napisał:
> On Wednesday, September 6, 2017 at 5:02:36 PM UTC+2, fir wrote:
> > na razie odpoczywam a pozniej bede jednak poprawiac tego asma (( na dany moment dziala ale jest niepelny i ma sztuczne ograniczenia wpisane na sztywno dla ulatwienia tak ze jeszcze nie za bardzo da sie pokazywac ludziom))
> 
> A jak już się da pokazywać, to co będzie robił ten asm lepiej niż
> inne (poza ograniczeniami)?
> 
> Pozdrawiam

na razie ma dwie zalety (pisalem o tym)

1) wspomniana skladnia samego asma w jakim sie pisze jest lepsza (jeszcze ja troche poprawie)

2) generuje moim zdaniem uzyteczne raporty z przeprowadzonego dziela, (takie jak nizeej), co jest moim zdaniem przydatne (aczkolwiek sam kod w asmie tu jet glupawy bo to moje chaotyczne eksperymenty)







 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 'rdtsc'
   3 'mov ebx eax'
   4 'rdtsc'
   5 'sub eax ebx'
   6 ''
   7 'call print_eax'
   8 ';  rdtsc'
   9 ';  call print_eax'
  10 ''
  11 'mov eax 777'
  12 'call print_eax'
  13 ''
  14 'hoo:'
  15 'add eax 3'
  16 'call print_eax'
  17 ';  jmp hoo'
  18 ''
  19 'sub eax 5'
  20 'call print_eax'
  21 ''
  22 'imul eax 8'
  23 'call print_eax'
  24 ''
  25 'mov eax some_value'
  26 'call print_eax_hex'
  27 ''
  28 'mov ecx eax'
  29 'mov eax (ecx)'
  30 'call print_eax'
  31 ''
  32 ''
  33 'mov eax 55'
  34 'cmp eax 5'
  35 'jne skip'
  36 'mov eax 100'
  37 'call print_eax'
  38 'skip:'
  39 'mov eax 200'
  40 'call print_eax'
  41 ''
  42 'mov eax 10'
  43 'back:'
  44 'dec eax'
  45 'call print_eax'
  46 'cmp eax 0'
  47 'jne back'
  48 ''
  49 'call print_cpuid_info'
  50 '; zzzzz'
  51 ''
  52 'call print_esp'
  53 'call show_msgbox_hello'
  54 'call print_esp'
  55 'call show_msgbox_hello'
  56 ''
  57 'push 0'
  58 'call kernel32.ExitProcess'
  59 ''
  60 'print_cpuid_info:'
  61 'mov eax 1'
  62 'cpuid'
  63 'push edx'
  64 'push ecx'
  65 'push ebx'
  66 'push eax'
  67 'push cpuid_txt'
  68 'call msvcrt.printf'
  69 'pop eax'
  70 'pop eax'
  71 'pop eax'
  72 'pop eax'
  73 'pop eax'
  74 'ret'
  75 ''
  76 ''
  77 ''
  78 ''
  79 ''
  80 'print_esp:'
  81 'mov eax esp'
  82 'push eax'
  83 'push note_esp'
  84 'call msvcrt.printf'
  85 'pop eax'
  86 'pop eax'
  87 'ret'
  88 ''
  89 'print_eax:'
  90 'push eax'
  91 'push note_eax'
  92 'call msvcrt.printf'
  93 'pop eax'
  94 'pop eax'
  95 'ret'
  96 ''
  97 'print_eax_hex:'
  98 'push eax'
  99 'push note_eax_hex'
 100 'call msvcrt.printf'
 101 'pop eax'
 102 'pop eax'
 103 'ret'
 104 ''
 105 'show_msgbox_hello:'
 106 'push 0'
 107 'push null_string'
 108 'push hello_message'
 109 'push 0'
 110 'call user32.MessageBoxA'
 111 'ret'
 112 ''
 113 ';  z z a a a'
 114 'test:'
 115 'mov eax (ecx)'
 116 'mov (ecx) eax'
 117 'ret'
 118 ''
 119 ''
 120 ''

 Data selected for build : 

   0 ''
   1 'note_eax:    " eax = %d  "  10 0'
   2 'note_eax_hex:    " eax = %x  "  10 0'
   3 ''
   4 'note_esp:   " esp = 0x%08x " 10  0'
   5 'cpuid_txt:  "cpuid" 10 " eax = 0x%08x" 10 " ebx = 0x%08x" 10 " ecx = 0x%08x" 10 " edx = 0x%08x" 10'
   6 ''
   7 'hello_message:   " hello asm world ! "  0'
   8 'null_string:   0'
   9 'some_value: 33 0 0 0'
  10 ''
  11 ''

 Building imports :  

  kernel32
    ExitProcess  (0x00402400)

  msvcrt
    printf  (0x00402440)

  user32
    MessageBoxA  (0x00402480)

 Building data section : 

  label  note_eax:  (0x00403000)  
  label  note_eax_hex:  (0x0040300d)  
  label  note_esp:  (0x0040301a)  
  label  cpuid_txt:  (0x0040302a)  
  label  hello_message:  (0x00403068)  
  label  null_string:  (0x0040307c)  
  label  some_value:  (0x0040307d)  

  129 (0x0081) bytes collected in data section 

  402000 20 65 61 78 20 3d 20 25 64 20 20 0a 00 20 65 61
  402010 78 20 3d 20 25 78 20 20 0a 00 20 65 73 70 20 3d
  402020 20 30 78 25 30 38 78 20 0a 00 63 70 75 69 64 0a
  402030 20 65 61 78 20 3d 20 30 78 25 30 38 78 0a 20 65
  402040 62 78 20 3d 20 30 78 25 30 38 78 0a 20 65 63 78
  402050 20 3d 20 30 78 25 30 38 78 0a 20 65 64 78 20 3d
  402060 20 30 78 25 30 38 78 0a 20 68 65 6c 6c 6f 20 61
  402070 73 6d 20 77 6f 72 6c 64 20 21 20 00 00 21 00 00
  402080 00

 Assembling asm : 

  274 (0x0112) bytes assembled: 
 
  401000 0f 31 89 c3 0f 31 29 d8 e8 c7 00 00 00 b8 09 03
  401010 00 00 e8 bd 00 00 00 05 03 00 00 00 e8 b3 00 00
  401020 00 2d 05 00 00 00 e8 a9 00 00 00 69 c0 08 00 00
  401030 00 e8 9e 00 00 00 b8 7d 30 40 00 e8 a3 00 00 00
  401040 89 c1 8b 01 e8 8b 00 00 00 b8 37 00 00 00 3d 05
  401050 00 00 00 0f 85 0a 00 00 00 b8 64 00 00 00 e8 71
  401060 00 00 00 b8 c8 00 00 00 e8 67 00 00 00 b8 0a 00
  401070 00 00 48 e8 5c 00 00 00 3d 00 00 00 00 0f 85 ef
  401080 ff ff ff e8 1f 00 00 00 e8 36 00 00 00 e8 60 00
  401090 00 00 e8 2c 00 00 00 e8 56 00 00 00 68 00 00 00
  4010a0 00 ff 15 00 24 40 00 b8 01 00 00 00 0f a2 52 51
  4010b0 53 50 68 2a 30 40 00 ff 15 40 24 40 00 58 58 58
  4010c0 58 58 c3 89 e0 50 68 1a 30 40 00 ff 15 40 24 40
  4010d0 00 58 58 c3 50 68 00 30 40 00 ff 15 40 24 40 00
  4010e0 58 58 c3 50 68 0d 30 40 00 ff 15 40 24 40 00 58
  4010f0 58 c3 68 00 00 00 00 68 7c 30 40 00 68 68 30 40
  401100 00 68 00 00 00 00 ff 15 80 24 40 00 c3 8b 01 89
  401110 01 c3

 Saving Output:  result.exe 

 OK


co dorobie pozniej to jeszcze nie wiem

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


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

Fromfir <profesor.fir@gmail.com>
Date2017-09-06 13:00 -0700
SubjectRe: [OT] (announce) organic asm
Message-ID<fb0f283f-2e95-4eb2-b1b0-e89c37c7e90a@googlegroups.com>
In reply to#30646
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




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


Page 1 of 4  [1] 2 3 4  Next page →

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


csiph-web