🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #1765

Re: Metody programowania

#1765
From: Bogdan (bogdro)
Date: Fri, 28 Mar 2008 17:10
28 lines
2864 bytes
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.

  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.

-- 
Pozdrawiam/Regards - Bogdan                     (GNU/Linux & FreeDOS)
Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro
Grupy dyskusyjne o asm:  pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
www.JabberPL.org www.TorProject.org Soft (EN): miniurl.pl/bogdro-soft
Technical Details
Message-ID: <fsj8qq$qdo$4@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
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>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "Bogdan (bogdro)" <bogdan@poczta.gazeta.pl>
Newsgroups: pl.comp.lang.asm
Subject: Re: Metody programowania
Date: Fri, 28 Mar 2008 18:10:49 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 28
Message-ID: <fsj8qq$qdo$4@inews.gazeta.pl>
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>
NNTP-Posting-Host: 66.230.230.230
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1206724255 27064 66.230.230.230 (28 Mar 2008 17:10:55 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Fri, 28 Mar 2008 17:10:55 +0000 (UTC)
X-User: bog.d
In-Reply-To: <fsied5$8ja$1@news.mixmin.net>
User-Agent: Thunderbird 2.0.0.12 (X11/20080213)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit