Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #30460 > unrolled thread
| Started by | fir <profesor.fir@gmail.com> |
|---|---|
| First post | 2017-08-24 16:05 -0700 |
| Last post | 2017-09-15 13:16 -0700 |
| Articles | 20 on this page of 61 — 11 participants |
Back to article view | Back to pl.comp.programming
(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 →
| From | fir <profesor.fir@gmail.com> |
|---|---|
| Date | 2017-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]
| From | fir <profesor.fir@gmail.com> |
|---|---|
| Date | 2017-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]
| From | fir <profesor.fir@gmail.com> |
|---|---|
| Date | 2017-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]
| From | fir <profesor.fir@gmail.com> |
|---|---|
| Date | 2017-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]
| From | fir <profesor.fir@gmail.com> |
|---|---|
| Date | 2017-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]
| From | wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl> |
|---|---|
| Date | 2017-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]
| From | wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl> |
|---|---|
| Date | 2017-09-03 20:47 +0200 |
| Subject | Re: [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]
| From | fir <profesor.fir@gmail.com> |
|---|---|
| Date | 2017-09-03 14:02 -0700 |
| Subject | Re: [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]
| From | wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <NOSPAMtestowanije@go2.pl> |
|---|---|
| Date | 2017-09-04 21:14 +0200 |
| Subject | Re: [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]
| From | fir <profesor.fir@gmail.com> |
|---|---|
| Date | 2017-09-04 13:20 -0700 |
| Subject | Re: [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]
| From | Szyk Cech <szyk100@o2.pl> |
|---|---|
| Date | 2017-09-05 00:13 +0200 |
| Subject | Re: [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]
| From | fir <profesor.fir@gmail.com> |
|---|---|
| Date | 2017-09-05 02:16 -0700 |
| Subject | Re: [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]
| From | "M.M." <mmarszik@gmail.com> |
|---|---|
| Date | 2017-09-06 04:17 -0700 |
| Subject | Re: [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]
| From | w systemie siła 'POPIS/EU <NOSPAMtestowanije@go2.pl> |
|---|---|
| Date | 2017-09-06 14:15 +0200 |
| Subject | Re: [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]
| From | w systemie siła 'POPIS/EU <NOSPAMtestowanije@go2.pl> |
|---|---|
| Date | 2017-09-06 16:53 +0200 |
| Subject | Re: [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]
| From | fir <profesor.fir@gmail.com> |
|---|---|
| Date | 2017-09-06 07:57 -0700 |
| Subject | Re: [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]
| From | fir <profesor.fir@gmail.com> |
|---|---|
| Date | 2017-09-06 08:02 -0700 |
| Subject | Re: [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]
| From | "M.M." <mmarszik@gmail.com> |
|---|---|
| Date | 2017-09-06 09:02 -0700 |
| Subject | Re: [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]
| From | fir <profesor.fir@gmail.com> |
|---|---|
| Date | 2017-09-06 09:23 -0700 |
| Subject | Re: [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]
| From | fir <profesor.fir@gmail.com> |
|---|---|
| Date | 2017-09-06 13:00 -0700 |
| Subject | Re: [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