Article View: pl.comp.lang.c
Article #309105Re: wirtulny asembler + wirtulny komputer + sound
From: Luke
Date: Sun, 12 Feb 2017 13:42
Date: Sun, 12 Feb 2017 13:42
41 lines
3201 bytes
3201 bytes
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 L.
Technical Details
Message-ID:
<58a06654$0$5152$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer03.am4!peer.am4.highwinds-media.com!peer02.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<20b055aa-ce5e-4acb-b6af-d0f10b85c63c@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer03.am4!peer.am4.highwinds-media.com!peer02.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Subject: Re: wirtulny asembler + wirtulny komputer + sound Newsgroups: pl.comp.lang.c References: <20b055aa-ce5e-4acb-b6af-d0f10b85c63c@googlegroups.com> From: Luke <luke@luke.net> Date: Sun, 12 Feb 2017 14:42:44 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <20b055aa-ce5e-4acb-b6af-d0f10b85c63c@googlegroups.com> X-Antivirus: avast! (VPS 170211-0, 2017-02-11), Outbound message X-Antivirus-Status: Clean Lines: 45 Message-ID: <58a06654$0$5152$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 83.9.24.238 X-Trace: 1486906965 unt-rea-a-01.news.neostrada.pl 5152 83.9.24.238:58991 X-Complaints-To: abuse@news.neostrada.pl X-Received-Bytes: 2964 X-Received-Body-CRC: 2962628953 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit