Article View: pl.comp.lang.asm
Article #1766Re: Metody programowania
From: Korsarz Jej Królewskiej Mości I ...
Date: Sat, 05 Apr 2008 12:56
Date: Sat, 05 Apr 2008 12:56
42 lines
3856 bytes
3856 bytes
Bogdan (bogdro) zapisał:
> Korsarz Jej Królewskiej Mości I Rp. Królowej „Marysienki” pisze:
>> Michal Schulz zapisał:
>>> Bo to jest wlasnie assembler. Jesli oczekujesz "wyzszej warstwy kodu"
>>> to zainteresuj sie C/C++. O zgrozo (a moze na szczescie ;)) C jest
>>> obecnie uwazany za taki assembler wysokiego poziomu :)
>> No wlasnie tak sie sklada, ze znam C, i uwazam, ze to jest asembler
>> wysokiego poziomu, ale tylko i wylacznie wtedy, gdy wylaczy sie w
>> kompilatorze C optymalizator (czego czesto tak naprawde nie da sie
>> wylaczyc do konca, mimo ze dokumentacja mowi, ze sie da). Ale C opiera
>> sie na troche innej koncepcji niz jezyk asemblera, poniewaz wprowadza
>> wlasne instrukcje blokowe, ktore sa nieobecne w jezyku maszynowym
>> (chociaz mozna uznac, ze ograniczenia blokow —takie jak instrukcje
>> warunkowego skoku— sa obecne). A mnie chodzi o cos takiego, ze kiedy
>> chce napisac na przyklad procedure ‘inline’ to moge ja wywolac tylko
>> jawnie jako odrebna procedure albo bawic sie z makropoleceniami, i
>> takich przykladow moglbym poszukac wiecej. To nie jest ani C, ani
>> zwykly asembler.
>
> Prawdą jest, że instrukcji blokowych nie ma w języku procesora, są
> tylko skoki warunkowe. Jeśli Ci ich brak, używaj MASMa/FASMa, które
> umożliwiają pisanie takich wyrażeń:
>
> .if eax > 0
> .else
> .endif
>
> (lub podobnych). O ile w FASMie są to makra, to w MASMie już nie, tylko
> elementy składni kompilatora.
No tak… skoki warunkowe wystarczają, by zachować funkcjonalność instrukcji blokowych, ale zwykle nie używa się kompilatora C tylko po to, by używać go bez optymalizacji kodu. I o to mi chodzi. Natomiast nie odpowiadają mi instrukcje blokowe języka C, a dokładnie ich funkcjonalność. Przy czym mógłby ktoś powiedzieć: „To jakie mają być te instrukcje blokow?”. Ale właśnie sam o to pytam, bo może już coś takiego istnieje.
Tak, słyszałem już nieraz, że mówię o rozwiązaniach, które istnieją w ‟Lispie” i podobnych językach, ale to jest inna grupa języków, a mnie chodzi o język imperatywny, który nie wydaje rozkazów instrukcjami asemblera, gdyż jest wiele różnych procesorów.
> W C nie ma procedur "inline". Zaś same te procedury różnią się w
> większości przypadków od makropoleceń tylko sprawdzaniem typu. Jak
> piszesz w C++ procedurę "inline", to jest ona "wklejana" przez
> kompilator w miejsce wywołania, dokładnie jak makro w asemblerze.
No… nie tak prosto jest wklejana…
--
qo |) CPL<=dataDPL CPL==/>=codeDPL:conform'/nc';max=CPL! AV0ID bHp
_x/ , CPL<=TSS,gateDPL CPL>=/==dest_DPL:/(jmp&nc') ,RPL!- #GP -o0o
| ng __ -- __ -- __ -- __ -- __ -- __ -- __ -- __ -x86-, EV3RY o0o
,__ -- __ -- Current/Requested/DescriptorPrivilegeLevel C/R/DPL , d4y m:#=
Technical Details
Message-ID:
<ft7st8$ld5$1@news.mixmin.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed.straub-nv.de!news.mixmin.net!not-for-mailReferences:
<fsbkje$2da$1@news.mixmin.net> <fsicfv$7ad$1@news.mixmin.net> <fsiduo$jri$1@news.onet.pl> <fsied5$8ja$1@news.mixmin.net> <fsj8qq$qdo$4@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed.straub-nv.de!news.mixmin.net!not-for-mail From: Korsarz Jej Królewskiej Mości I Rp. Królowej „Marysienki” <rwt@psychicsdirectory.com> Newsgroups: pl.comp.lang.asm Subject: Re: Metody programowania Date: Sat, 5 Apr 2008 12:56:11 +0000 (UTC) Organization: opRWTng Lines: 42 Message-ID: <ft7st8$ld5$1@news.mixmin.net> References: <fsbkje$2da$1@news.mixmin.net> <fsicfv$7ad$1@news.mixmin.net> <fsiduo$jri$1@news.onet.pl> <fsied5$8ja$1@news.mixmin.net> <fsj8qq$qdo$4@inews.gazeta.pl> Mime-Version: 1.0 X-Trace: news.mixmin.net 1207400171 21925 77.65.144.81 (5 Apr 2008 12:56:11 GMT) X-Complaints-To: abuse@mixmin.net NNTP-Posting-Date: Sat, 5 Apr 2008 12:56:11 +0000 (UTC) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit