Path: csiph.com!usenet.pasdenom.info!aioe.org!.POSTED!not-for-mail From: "Rod Pemberton" Newsgroups: comp.lang.forth Subject: Re: Epic Fail Date: Fri, 18 Apr 2014 09:17:46 -0400 Organization: Aioe.org NNTP Server Lines: 39 Message-ID: References: <2014Apr9.181655@mips.complang.tuwien.ac.at> <64idnem648RzN9jOnZ2dnUVZ8iWdnZ2d@supernews.com> <2014Apr11.192347@mips.complang.tuwien.ac.at> <2014Apr14.152248@mips.complang.tuwien.ac.at> <2014Apr17.185616@mips.complang.tuwien.ac.at> <7xtx9qamv9.fsf@ruckus.brouhaha.com> NNTP-Posting-Host: CNsg4fVcCsvs3UaOgZtQCw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Opera Mail/12.16 (Linux) X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com comp.lang.forth:29700 On Fri, 18 Apr 2014 07:38:34 -0400, Paul Rubin wrote: > C is a lousy assembly language anyway, [...] Having written 75% of a basic operating system in ANSI C for x86 PCs with very minimal assembly, I can't understand how you can make that claim. C captures the essence of microprocessors. I.e., almost everything that general purpose microprocessor instructions do, C can do too. For my OS project, I need a few special x86 instructions to setup the processor mode or access I/O ports, an assembly routine for interrupts to transfer from assembly to C and back, and I support an additional, special startup method that needs assembly. I do use some C library calls, but they're independent of the host. The majority of the code is ANSI C. I.e., those calls will likely be implemented in ANSI C too or rewritten, if I ever have time to return to it. For non-x86 PCs, you'd likely only need the interrupt wrapper, if the C compiler doesn't support an "interrupt" keyword. Non-x86 PCs shouldn't need any special processor instructions. > [...] as the C-- doex explain. Well, I'll have to peruse that yet again to see why... AIR, from what I saw, C-- sucked as an assembly language. I remember thinking you could do what it did in C much easier, in C, with far less syntax. I also recall thinking LLVM had some potential, but I don't recall if that was for use as an assembler or not. Rod Pemberton