Article View: pl.comp.lang.c
Article #309107Re: wirtulny asembler + wirtulny komputer + sound
From: (fir)
Date: Sun, 12 Feb 2017 14:41
Date: Sun, 12 Feb 2017 14:41
82 lines
5899 bytes
5899 bytes
W dniu niedziela, 12 lutego 2017 14:42:46 UTC+1 użytkownik Luke napisał: > W dniu 2017-02-11 o 20:54, (fir) pisze: > > ostatnio (dokladniej wczoraj) napisalem sobie asembler > > ktory asembluje wirtualny asembler mojego wlasnego wymyslu > > do kodu binarnego tez mojego wymyslu > > Odnoszę wrażenie, że ostatnio każdy informatyk chce sobie udowodnić > swoją informatyczność przez stworzenie własnego języka programowania > i/lub maszyny wirtualnej ;) > > Bez informacji, po to to jest robione, odpowiedź na to pytanie nie jest > możliwa. > > Bo jeśli robisz to dla zabawy, ćwiczenia, zdobywania doświadczenia, czy > uczynienia się lepszym programistą przez rozwiązywanie problemów z tym > związanych, to nikt nie wie, z czego Ty sam będziesz miał "maxymalny fun". > > Jeśli maszyna wirtualna nie jest prawdziwą maszyną, ze swoimi > ograniczeniami sprzętowymi, tylko jest wirtualnym interpreterem cyferek, > to możesz sobie zrobić wszystko. > > Nawet możesz ponumerować funkcje biblioteki standardowej. Wtedy > wywołanie np. fopen() będzie wymagało umieszczenia w kilku rejestrach > adresów do parametrów i wywołanie jakiegoś przerwania (a przerwań może > być 65536, czyli całą bibliotekę ponumerujesz i jeszcze Ci zostanie). > Albo jedno z przerwań będzie do obsługi plików, a w rejestrze masz 65536 > możliwych operacji na plikach. Wtedy program w C kompiluje się do > ultrakrótkich pliczków dla takiej maszyny. > > Dodatkowo możesz analogicznie, oprogramować grafikę. Trzeba narysować > kółko? Proszę bardzo - do a i b współrzędne na ekranie, do c promień, do > d kolor, i wywołujemy odpowiednie przerwanie. Albo jedno przerwanie dla > wszystkich figur, a w rejestrze f ma być numerek figury. > > Odnośnie dźwięku, możesz też napisać dla tej maszyny całą bibliotekę. > Wtedy zagranie dowolnej muzyki będzie też się sprowadzało do wywołania > odpowiednich przerwań wirtualnych. > > Pytanie tylko: po co. Jeśli dla zabawy, to nikt nikomu nie broni. Ale > skąd my mamy wiedzieć, co da Ci ten maxymalny fun? :D > odpowiem 'od konca' no mozesz powiedziec co tobie da maxymalny fun i wtedy zobacze czy moj fun bylby dla mnie wiekszy ;-) ogolnie odpowiedz w temacie - zdaje sobie sprawe ze dosyc ciezko na to odpowiedziec ale zawsze ktos moze sprobowac ;o wlasnie na tym to polega ze mozna zakodowac kompletnie wszystko, dowolny proc dowolny asm + niemal dowolny 'hardware' (czy apis systemu) i to jest ciekawe robione to jest po to by zrozumiec mozliwie jak nabardziej iistote programowania czy tez pewnej jego czesci.. jak mialem 13 lat to klepelem w asmiena c64 ktory byl czyms bardzo podobnym do tego co zakodowalem teraz przy pomocy 500 lini w c rejestry sa 32 bitowe wiec przerwan moze byc wiecej niz 65536 ;-0 z tymi przerwaniami w sumie dobry pomysl - moglbym sie wogole bawic w probe napisania jakiegos mninimalnego osu w tym wlasnym asemblerze ale w asmie koduje sie jednak troche ciezko (jako temat i jak ktos ma troche nostaligii do starych czasow jest to chyba jednak ciekawe - jesli ktos jest w stanie sie w to zaglebic ;c - zrobic sobie swoj wlasny maly komputer z wlasnym asemblerem i to dosyc tanim kosztem (taniej niz w sklepie ;-)) ogolnie co do przerwan to dobry pomysl (zapomnielem ze kiedys sie uzywalo do tego przerwan bo na pc to chyba byly specjalne komendy "out" do umieszczania wartosci w porcie) (troche juz zapomnielem te stare czasy) z dzwiekiem jest taki problem ze nie mam wiekszego pojecia jak takie hardware dziwkowe powinno wygladac z ta grafika na przerwaniach tez dobry pomysl, ale by nie oszukiwac musialbym napisac te procedury (i jakis powiedzmy interpreter logo w samym asmie) moza za jakis czas (jesli si enie przerzuce na jakis inny projekt wrzuce assembler.exe i computer.exe ;-) do sieci, wiem ze i tak nikt nie bedzie tego uzywac ale sama idea naprawde fajna :) przede wszystkim latwo sie to pisze - nawet chyba latwiej niz mis ie zdawalo przed ruszeniem tego moze ktos ma jakies pomysly jaki program w takim wirtualnym asmie mozna napisac by si enie narobic? (jak dopisze opkody dla fpu to moge napisac wyswietlarke zbioru mandelbrota bo to akurat nawet w asmie latwo napisac (przepisac z c)) ala na jakies inne apki nie mam pomyslu.. niewykluczone ze powinienem trzasnac jakis prosty kompilatorek by sobie tego asma oszczedzic ale nad tym tez by trzeba poglowkowac, bopowinno to byc cos krytycznie prostego - tak bym dal rade to prosto napisac (nie chce sie od razu targac na pisanie kompilatora c)
Technical Details
Message-ID:
<d7ff234c-d95d-4ba9-8d98-7f6c9c011171@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!e137no549169itc.0!news-out.google.com!78ni1599itm.0!nntp.google.com!e137no550012itc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<20b055aa-ce5e-4acb-b6af-d0f10b85c63c@googlegroups.com> <58a06654$0$5152$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
X-Received: by 10.157.27.152 with SMTP id z24mr6588311otd.114.1486910504756; Sun, 12 Feb 2017 06:41:44 -0800 (PST) X-Received: by 10.157.41.149 with SMTP id n21mr1306035otb.4.1486910504693; Sun, 12 Feb 2017 06:41:44 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!e137no549169itc.0!news-out.google.com!78ni1599itm.0!nntp.google.com!e137no550012itc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Sun, 12 Feb 2017 06:41:44 -0800 (PST) In-Reply-To: <58a06654$0$5152$65785112@news.neostrada.pl> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=5.172.255.208; posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN NNTP-Posting-Host: 5.172.255.208 References: <20b055aa-ce5e-4acb-b6af-d0f10b85c63c@googlegroups.com> <58a06654$0$5152$65785112@news.neostrada.pl> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <d7ff234c-d95d-4ba9-8d98-7f6c9c011171@googlegroups.com> Subject: Re: wirtulny asembler + wirtulny komputer + sound From: "(fir)" <profesor.fir@gmail.com> Injection-Date: Sun, 12 Feb 2017 14:41:44 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit