Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.misc > #2075 > unrolled thread
| Started by | "James Harris" <james.harris.1@gmail.com> |
|---|---|
| First post | 2014-04-30 12:32 +0100 |
| Last post | 2016-08-07 03:56 -0700 |
| Articles | 20 on this page of 23 — 5 participants |
Back to article view | Back to comp.lang.misc
Smaller C "James Harris" <james.harris.1@gmail.com> - 2014-04-30 12:32 +0100
Re: Smaller C Nils M Holm <news2009@t3x.org> - 2014-04-30 15:56 +0000
Re: Smaller C "James Harris" <james.harris.1@gmail.com> - 2014-05-01 12:25 +0100
Re: Smaller C Nils M Holm <news2009@t3x.org> - 2014-05-01 13:32 +0000
Re: Smaller C alexfrunews@gmail.com - 2014-08-07 10:22 -0700
Re: Smaller C alexfrunews@gmail.com - 2014-08-07 10:28 -0700
Re: Smaller C alexfrunews@gmail.com - 2014-09-14 03:07 -0700
Re: Smaller C alexfrunews@gmail.com - 2014-11-09 03:26 -0800
Re: Smaller C alexfrunews@gmail.com - 2014-11-28 04:07 -0800
Re: Smaller C alexfrunews@gmail.com - 2014-12-21 01:59 -0800
Re: Smaller C alexfrunews@gmail.com - 2015-01-10 10:38 -0800
Re: Smaller C alexfrunews@gmail.com - 2015-04-19 23:56 -0700
Re: Smaller C alexfrunews@gmail.com - 2015-04-25 21:11 -0700
Re: Smaller C alexfrunews@gmail.com - 2015-05-16 17:50 -0700
Re: Smaller C luserdroog <mijoryx@yahoo.com> - 2015-05-20 02:26 -0700
Re: Smaller C alexfrunews@gmail.com - 2015-05-20 05:16 -0700
Re: Smaller C luserdroog <mijoryx@yahoo.com> - 2015-05-20 10:02 -0700
Re: Smaller C alexfrunews@gmail.com - 2015-05-21 03:21 -0700
Re: Smaller C alexfrunews@gmail.com - 2015-08-15 02:15 -0700
Re: Smaller C alexfrunews@gmail.com - 2015-09-06 15:56 -0700
Re: Smaller C alexfrunews@gmail.com - 2016-08-07 03:04 -0700
Re: Smaller C James Harris <james.harris.1@gmail.com> - 2016-08-07 11:15 +0100
Re: Smaller C alexfrunews@gmail.com - 2016-08-07 03:56 -0700
Page 1 of 2 [1] 2 Next page →
| From | "James Harris" <james.harris.1@gmail.com> |
|---|---|
| Date | 2014-04-30 12:32 +0100 |
| Subject | Smaller C |
| Message-ID | <ljqn0t$p54$1@dont-email.me> |
I have seen posts about Smaller C in other newsgroups but I don't believe the author has posted here. It seems to support a reasonable set of features. https://github.com/alexfru/SmallerC/wiki/Smaller-C-Wiki I took a look at this as I was looking for a compiler to generate 16-bit x86 code. This compiler does that but, at present, when generating assembly in that mode doesn't support integers longer than 16 bits. Oddly, that's what I was looking for: while the compiler I have been using (bcc) does support 32-bit integers it seems to have a bug or two in handling them. Anyway, the above compiler looks quite good and is under active development. I thought folks here might find it interesting. James
[toc] | [next] | [standalone]
| From | Nils M Holm <news2009@t3x.org> |
|---|---|
| Date | 2014-04-30 15:56 +0000 |
| Message-ID | <bsckq5FjhlqU1@mid.individual.net> |
| In reply to | #2075 |
James Harris <james.harris.1@gmail.com> wrote: > I have seen posts about Smaller C in other newsgroups but I don't believe > the author has posted here. It seems to support a reasonable set of > features. > > https://github.com/alexfru/SmallerC/wiki/Smaller-C-Wiki > > I took a look at this as I was looking for a compiler to generate 16-bit x86 > code. This compiler does that but, at present, when generating assembly in > that mode doesn't support integers longer than 16 bits. Oddly, that's what I > was looking for: while the compiler I have been using (bcc) does support > 32-bit integers it seems to have a bug or two in handling them. Here's an even smaller C compiler: http://www.t3x.org/subc/index.html It's subset is a little smaller than Smaller C's, but it has an optimizer and an own libc. It generates code for the 8086 (full tool chain included), 386, x86-64, and ARMv6. The runtime code has been ported to FreeBSD, Linux, NetBSD, OpenBSD, Darwin, DOS, and Windows. I am working on it on and off. -- Nils M Holm < n m h @ t 3 x . o r g > www.t3x.org
[toc] | [prev] | [next] | [standalone]
| From | "James Harris" <james.harris.1@gmail.com> |
|---|---|
| Date | 2014-05-01 12:25 +0100 |
| Message-ID | <ljtav9$amu$1@dont-email.me> |
| In reply to | #2079 |
"Nils M Holm" <news2009@t3x.org> wrote in message news:bsckq5FjhlqU1@mid.individual.net... > James Harris <james.harris.1@gmail.com> wrote: >> I have seen posts about Smaller C in other newsgroups but I don't believe >> the author has posted here. It seems to support a reasonable set of >> features. >> >> https://github.com/alexfru/SmallerC/wiki/Smaller-C-Wiki >> >> I took a look at this as I was looking for a compiler to generate 16-bit >> x86 >> code. This compiler does that but, at present, when generating assembly >> in >> that mode doesn't support integers longer than 16 bits. Oddly, that's >> what I >> was looking for: while the compiler I have been using (bcc) does support >> 32-bit integers it seems to have a bug or two in handling them. > > Here's an even smaller C compiler: > > http://www.t3x.org/subc/index.html > > It's subset is a little smaller than Smaller C's, but it has an optimizer > and an own libc. It generates code for the 8086 (full tool chain > included), > 386, x86-64, and ARMv6. The runtime code has been ported to FreeBSD, > Linux, > NetBSD, OpenBSD, Darwin, DOS, and Windows. > > I am working on it on and off. I took a look at it for os=DOS and cpu=8086. Unfortunately for me from looking at the limits.h file it seems that in that mode it doesn't support the integer types I wanted: unsigned and signed 32-bit. It looks like a well-structured piece of software, though. James
[toc] | [prev] | [next] | [standalone]
| From | Nils M Holm <news2009@t3x.org> |
|---|---|
| Date | 2014-05-01 13:32 +0000 |
| Message-ID | <bsf0ncF4a8fU1@mid.individual.net> |
| In reply to | #2104 |
James Harris <james.harris.1@gmail.com> wrote: > > Here's an even smaller C compiler: > > > > http://www.t3x.org/subc/index.html > > > > It's subset is a little smaller than Smaller C's, but it has an optimizer > > and an own libc. It generates code for the 8086 (full tool chain > > included), > > 386, x86-64, and ARMv6. The runtime code has been ported to FreeBSD, > > Linux, > > NetBSD, OpenBSD, Darwin, DOS, and Windows. > > > > I am working on it on and off. > > I took a look at it for os=DOS and cpu=8086. Unfortunately for me from > looking at the limits.h file it seems that in that mode it doesn't support > the integer types I wanted: unsigned and signed 32-bit. Ah, so I have misunderstood you slightly. I had interpreted your original posting as "oddly, you were looking for a compiler not supporting long". (Which I thought was a bit odd, but then I did not read again.) > It looks like a > well-structured piece of software, though. Thanks! I'm glad to hear so! -- Nils M Holm < n m h @ t 3 x . o r g > www.t3x.org
[toc] | [prev] | [next] | [standalone]
| From | alexfrunews@gmail.com |
|---|---|
| Date | 2014-08-07 10:22 -0700 |
| Message-ID | <a4ca5bed-9fe6-4b71-8ab0-92b0f47d07b2@googlegroups.com> |
| In reply to | #2075 |
On Wednesday, April 30, 2014 4:32:52 AM UTC-7, James Harris wrote: > I have seen posts about Smaller C in other newsgroups but I don't believe > the author has posted here. It seems to support a reasonable set of > features. > > https://github.com/alexfru/SmallerC/wiki/Smaller-C-Wiki Indeed, I haven't yet posted here. I have on alt.os.development (since the compiler can be used for OS dev), comp.os.msdos.programmer (ditto for DOS and they don't make compilers for DOS anymore!), http://forum.osdev.org (another os dev place) and http://www.bttr-software.de/forum/ (another DOS place). That should've been enough for a modest intro. Or so I thought. :) > I took a look at this as I was looking for a compiler to generate 16-bit x86 > code. This compiler does that but, at present, when generating assembly in > that mode doesn't support integers longer than 16 bits. Oddly, that's what I > was looking for: while the compiler I have been using (bcc) does support > 32-bit integers it seems to have a bug or two in handling them. 32-bit ints (as well as 32-bit flat pointers (really, 20-bit)) are supported in the huge mode(l), if you're interested in having 32 bits in real mode (use the option -huge instead of -seg16t/-seg16/-flat16). I might add support for 32-bit ints in 16-bit mode(l)s, but that's nowhere in the current plans. I still need to implement a driver (to invoke the compiler core, NASM, and the linker, i.e. what gcc does for you) and a usable standard library (and I aim at all 3 platforms: DOS, Windows, Linux). > Anyway, the above compiler looks quite good and is under active development. > I thought folks here might find it interesting. Thanks, Alex
[toc] | [prev] | [next] | [standalone]
| From | alexfrunews@gmail.com |
|---|---|
| Date | 2014-08-07 10:28 -0700 |
| Message-ID | <3b0ba499-8de4-45c2-92cb-27fd65566601@googlegroups.com> |
| In reply to | #2608 |
On Thursday, August 7, 2014 10:22:54 AM UTC-7, alexf...@gmail.com wrote: ... > I might add support for 32-bit ints in 16-bit mode(l)s, but that's nowhere in the current plans. I still need to implement a driver (to invoke the compiler core, NASM, and the linker, i.e. what gcc does for you) and a usable standard library (and I aim at all 3 platforms: DOS, Windows, Linux). Oh, and the long overdue preprocessor exists only in dreams. However, gcc's, Open Watcom's, pcc's preprocessors can be used (I've adapted the most recent pcc's preprocessor for RetroBSD and RetroBSD runs my compiler just fine, giving you quite decent user experience). Alex
[toc] | [prev] | [next] | [standalone]
| From | alexfrunews@gmail.com |
|---|---|
| Date | 2014-09-14 03:07 -0700 |
| Message-ID | <4bfde00a-7a92-43da-8e77-ca68cc6f978a@googlegroups.com> |
| In reply to | #2608 |
I've uploaded binaries for DOS and most of the standard library.
Note: a few things are still missing from the library, most notably: <time.h> functionality, *scanf() functions.
Everyone's welcome to play with the compiler and report bugs.
How to install the .zip file downloaded from https://github.com/alexfru/SmallerC:
1. Create C:\SMLRC (any hard disk or name will do, but make the full path as short as possible) and copy into it the following subdirectories of the .zip file:
BIND
INCLUDE
LIB
TESTS
2. Include C:\SMLRC\BIND in the environment variable PATH
3. Don't forget to have NASM (2.10 is good) installed and also available via PATH
You should now be able to compile the following example from TESTS\hw.c:
/*
How to compile for DOS (all mode(l)s: tiny/.COM, small/.EXE, huge/.EXE):
smlrcc -dost hw.c -o hwdt.com
smlrcc -doss hw.c -o hwds.exe
smlrcc -dosh hw.c -o hwdh.exe
*/
#include <stdio.h>
int main(void)
{
puts("Hello, World!");
return 0;
}
I suggest to stick to the huge memory mode(l) as it supports 32-bit types such as long the functions that consume or return these types. In this mode(l) you can allocate all the available conventional memory via malloc() and you're not limited to objects smaller than 64KB.
The huge memory mode(l) is selected with the "-dosh" option, but you don't need to specify it explicitly when using a DOS version of smlrcc.
What else to know?
smlrcc can consume one or more of .c, .asm, .o or .a files and make an executable out of them.
If the command line is too long (over some 120 characters), you can put it into a file, say, mycmd.txt, and invoke smlrcc with @mycmd.txt (note the @ prefix) and it will extract the command line parameters from the file mycmd.txt. The linker (smlrl) supports this as well.
smlrcc supports the following useful options:
-c (compile only, don't link)
-S (compile to assembly only)
-v (verbose; show executed commands)
-map <mapfile> (produce the map file together with the binary)
You can compile your .c/.asm/.o files directly to a .a library file if you invoke smlrcc like so:
smlrcc [options] <file(s)> -c -o mylib.a
There's more but the documentation hasn't been updated for a while and so here I'm giving the most basic info only.
Enjoy.
Alex
[toc] | [prev] | [next] | [standalone]
| From | alexfrunews@gmail.com |
|---|---|
| Date | 2014-11-09 03:26 -0800 |
| Message-ID | <ca2d3c3a-9ba2-4fec-8e1c-3fa8c733d91a@googlegroups.com> |
| In reply to | #2686 |
I've just added support for Windows as both a host and a target platform. This means that there are now executables and libraries for both DOS and Windows and you can develop on either platform for either platform. The standard C library is practically complete (up to what the compiler supports in terms of the C language) and should be usable. There have been some other changes and improvements in the meantime. Alex
[toc] | [prev] | [next] | [standalone]
| From | alexfrunews@gmail.com |
|---|---|
| Date | 2014-11-28 04:07 -0800 |
| Message-ID | <880086a2-88b8-40bf-a446-b13ab29fa077@googlegroups.com> |
| In reply to | #2763 |
I've updated the documentation: https://github.com/alexfru/SmallerC/wiki Thanks, Alex
[toc] | [prev] | [next] | [standalone]
| From | alexfrunews@gmail.com |
|---|---|
| Date | 2014-12-21 01:59 -0800 |
| Message-ID | <91b9e31a-b59c-4123-bcbc-edc6702417f0@googlegroups.com> |
| In reply to | #2773 |
I've added Linux support (library and binaries). So, finally, all 3 platforms (DOS, Windows and Linux) are the host and the target platforms. Alex
[toc] | [prev] | [next] | [standalone]
| From | alexfrunews@gmail.com |
|---|---|
| Date | 2015-01-10 10:38 -0800 |
| Message-ID | <26276015-f798-469b-90e0-bc86e85bf83f@googlegroups.com> |
| In reply to | #2790 |
I've added an option (-ppg) to smlrcc to invoke gcc as a preprocessor and included the va_* macros in stdarg.h. This should help until there's a decent preprocessor in Smaller C. Alex
[toc] | [prev] | [next] | [standalone]
| From | alexfrunews@gmail.com |
|---|---|
| Date | 2015-04-19 23:56 -0700 |
| Message-ID | <38404e9f-1164-43d2-bea0-a9220c2846b4@googlegroups.com> |
| In reply to | #2886 |
For those interested, it's now possible to pass and return structures by value (x86 only, though). Alex
[toc] | [prev] | [next] | [standalone]
| From | alexfrunews@gmail.com |
|---|---|
| Date | 2015-04-25 21:11 -0700 |
| Message-ID | <7f1b9f2f-9579-4855-97bf-d78fe2c72afd@googlegroups.com> |
| In reply to | #2971 |
A few important bugfixes are uploaded. Alex
[toc] | [prev] | [next] | [standalone]
| From | alexfrunews@gmail.com |
|---|---|
| Date | 2015-05-16 17:50 -0700 |
| Message-ID | <84db9cf8-c062-40e2-8d0c-768c6af38039@googlegroups.com> |
| In reply to | #2972 |
Improvements: - .bss section (smaller binaries) - lifted limitations on string literal length (hooray!) - better concatenation of adjacent string literals (even across preprocessor directives) - type specifiers may occur in any order (e.g. "unsigned short int" and "int short unsigned") Alex
[toc] | [prev] | [next] | [standalone]
| From | luserdroog <mijoryx@yahoo.com> |
|---|---|
| Date | 2015-05-20 02:26 -0700 |
| Message-ID | <a5eccada-1e3f-475e-a916-17cb5810075f@googlegroups.com> |
| In reply to | #2978 |
On Saturday, May 16, 2015 at 7:50:06 PM UTC-5, alexf...@gmail.com wrote: > Improvements: > - .bss section (smaller binaries) > - lifted limitations on string literal length (hooray!) > - better concatenation of adjacent string literals > (even across preprocessor directives) > - type specifiers may occur in any order > (e.g. "unsigned short int" and "int short unsigned") > > Alex I suspect you may know this, but for anyone else, the book *Dr. Dobb's Toolbox of C* had the compiled, edited saga of the Hendrix Small C compiler with many contributed tools such as a (K&R) pre-processor written by Axel Tobias Schreiner (author of Object- Oriented C).
[toc] | [prev] | [next] | [standalone]
| From | alexfrunews@gmail.com |
|---|---|
| Date | 2015-05-20 05:16 -0700 |
| Message-ID | <5f72467f-644d-41b1-b364-384f3e8fb105@googlegroups.com> |
| In reply to | #2979 |
On Wednesday, May 20, 2015 at 2:26:52 AM UTC-7, luserdroog wrote: > On Saturday, May 16, 2015 at 7:50:06 PM UTC-5, alexf...@gmail.com wrote: > > Improvements: > > - .bss section (smaller binaries) > > - lifted limitations on string literal length (hooray!) > > - better concatenation of adjacent string literals > > (even across preprocessor directives) > > - type specifiers may occur in any order > > (e.g. "unsigned short int" and "int short unsigned") > > > > Alex > > I suspect you may know this, but for anyone else, > the book *Dr. Dobb's Toolbox of C* had the compiled, > edited saga of the Hendrix Small C compiler with > many contributed tools such as a (K&R) pre-processor > written by Axel Tobias Schreiner (author of Object- > Oriented C). Nope, hearing of this book for the first time. I've read an interview (article?) with Hendrix on Small-C and I know he's written a short book on Small-C, which included the compiler code and not much explanation/guide otherwise (The Small-C Handbook/Hendrix), the code is supposed to fill the gaps, I gather. There's a somewhat similar short book with another version of the compiler (A Book on C/ Berry & Meekings), RatC, which stands for "rationalized Small-C", whatever that means. There are many versions and ports and extensions of Small-C, AFAIK. There are also similar compilers, e.g. MICRO-C (Dunfield), SubC (Holm), etc. Mine has surpassed the feature and complexity level of many in the category of Small-C-like compilers. Alex
[toc] | [prev] | [next] | [standalone]
| From | luserdroog <mijoryx@yahoo.com> |
|---|---|
| Date | 2015-05-20 10:02 -0700 |
| Message-ID | <004934bb-c119-471e-8f2b-4e152027154f@googlegroups.com> |
| In reply to | #2980 |
On Wednesday, May 20, 2015 at 7:16:47 AM UTC-5, alexf...@gmail.com wrote: > On Wednesday, May 20, 2015 at 2:26:52 AM UTC-7, luserdroog wrote: > > On Saturday, May 16, 2015 at 7:50:06 PM UTC-5, alexf...@gmail.com wrote: > > > Improvements: > > > - .bss section (smaller binaries) > > > - lifted limitations on string literal length (hooray!) > > > - better concatenation of adjacent string literals > > > (even across preprocessor directives) > > > - type specifiers may occur in any order > > > (e.g. "unsigned short int" and "int short unsigned") > > > > > > Alex > > > > I suspect you may know this, but for anyone else, > > the book *Dr. Dobb's Toolbox of C* had the compiled, > > edited saga of the Hendrix Small C compiler with > > many contributed tools such as a (K&R) pre-processor > > written by Axel Tobias Schreiner (author of Object- > > Oriented C). > > Nope, hearing of this book for the first time. I've read > an interview (article?) with Hendrix on Small-C and I know > he's written a short book on Small-C, which included the > compiler code and not much explanation/guide otherwise > (The Small-C Handbook/Hendrix), the code is supposed to > fill the gaps, I gather. There's a somewhat similar short > book with another version of the compiler (A Book on C/ > Berry & Meekings), RatC, which stands for "rationalized > Small-C", whatever that means. I suspect that RatC has a non-standard preprocessor similar to the model for RATFOR from Kernighan and Plauger's Software Tools. >There are many versions > and ports and extensions of Small-C, AFAIK. There are also > similar compilers, e.g. MICRO-C (Dunfield), SubC (Holm), > etc. Mine has surpassed the feature and complexity level > of many in the category of Small-C-like compilers. > > Alex Understood. Specifically, I thought the preprocessor code/article might be useful. Somewhere in the README you mention wanting your own preprocessor.
[toc] | [prev] | [next] | [standalone]
| From | alexfrunews@gmail.com |
|---|---|
| Date | 2015-05-21 03:21 -0700 |
| Message-ID | <04788990-0809-462f-a892-63536c0d0095@googlegroups.com> |
| In reply to | #2981 |
On Wednesday, May 20, 2015 at 10:02:37 AM UTC-7, luserdroog wrote: > On Wednesday, May 20, 2015 at 7:16:47 AM UTC-5, alexf...@gmail.com wrote: > > On Wednesday, May 20, 2015 at 2:26:52 AM UTC-7, luserdroog wrote: > > > On Saturday, May 16, 2015 at 7:50:06 PM UTC-5, alexf...@gmail.com wrote: > > > > Improvements: > > > > - .bss section (smaller binaries) > > > > - lifted limitations on string literal length (hooray!) > > > > - better concatenation of adjacent string literals > > > > (even across preprocessor directives) > > > > - type specifiers may occur in any order > > > > (e.g. "unsigned short int" and "int short unsigned") > > > > > > > > Alex > > > > > > I suspect you may know this, but for anyone else, > > > the book *Dr. Dobb's Toolbox of C* had the compiled, > > > edited saga of the Hendrix Small C compiler with > > > many contributed tools such as a (K&R) pre-processor > > > written by Axel Tobias Schreiner (author of Object- > > > Oriented C). > > > > Nope, hearing of this book for the first time. I've read > > an interview (article?) with Hendrix on Small-C and I know > > he's written a short book on Small-C, which included the > > compiler code and not much explanation/guide otherwise > > (The Small-C Handbook/Hendrix), the code is supposed to > > fill the gaps, I gather. There's a somewhat similar short > > book with another version of the compiler (A Book on C/ > > Berry & Meekings), RatC, which stands for "rationalized > > Small-C", whatever that means. > > I suspect that RatC has a non-standard preprocessor > similar to the model for RATFOR from Kernighan and > Plauger's Software Tools. The compiler proper supports only #include and simple, non- parametrized #define. I'm not aware of any other preprocessor (standalone) to come with it. > >There are many versions > > and ports and extensions of Small-C, AFAIK. There are also > > similar compilers, e.g. MICRO-C (Dunfield), SubC (Holm), > > etc. Mine has surpassed the feature and complexity level > > of many in the category of Small-C-like compilers. > > > > Alex > > Understood. Specifically, I thought the preprocessor > code/article might be useful. Somewhere in the README > you mention wanting your own preprocessor. I've got the docs (e.g. gcc's preprocessor documentation is decent) and a few role model preprocessors, but am not yet ready to start coding mine. I should get there one day. Right now I'm addressing the remaining debt in the compiler proper, which needs to be done as well. I'm getting by with the -ppg option invoking gcc as a preprocessor for me. I hope it's not a permanent solution. :) Alex
[toc] | [prev] | [next] | [standalone]
| From | alexfrunews@gmail.com |
|---|---|
| Date | 2015-08-15 02:15 -0700 |
| Message-ID | <50658cab-9bf2-43b3-ac0a-143bc62819d8@googlegroups.com> |
| In reply to | #2978 |
What's new in the compiler? - DPMI support and DPMI binaries of the compiler itself - support for a.out (OMAGIC) executable format with relocation records in the linker https://github.com/alexfru/SmallerC Alex
[toc] | [prev] | [next] | [standalone]
| From | alexfrunews@gmail.com |
|---|---|
| Date | 2015-09-06 15:56 -0700 |
| Message-ID | <1b2d6a1c-a577-4e11-996f-236685f6318c@googlegroups.com> |
| In reply to | #3027 |
What's new in the compiler? - it can use FASM instead of NASM when compiling 32-bit protected mode code (DOS/DPMI32, Windows, Linux) There's now a wrapper around FASM, n2f.c, which if compiled into nasm[.exe] will transparently convert the assembly code generated by smlrc to the syntax and layout that FASM understands and invoke FASM on it. A kind of NASM replacement/substitution. This tool isn't general purpose, it converts only a very restricted subset of assembly code from NASM syntax to FASM syntax and layout. What does this mean? Well, for one thing, FASM is faster and smaller than NASM, so you can make a floppy with the compiler and the assembler and, say, DOS/DPMI32 library and you'll still have about a half of the space free on the floppy. And you can run this even in DOSBox without fearing that NASM would take forever to assemble code with many jump instructions and without having to give many many more CPU cycles to DOSBox. Another thing is that this makes Smaller C fully and easily portable to any x86 OS running apps in 32-bit protected mode. Smaller C can fully recompile its libraries and itself if there's NASM or YASM in your system. If porting NASM or YASM is somehow problematic or undesirable, there's now another option, FASM. FASM is written in 80386 assembly and can recompile itself without needing any other tools. So, you only need to teach FASM to use your OS syscalls and do the same with the Smaller C library. Alex
[toc] | [prev] | [next] | [standalone]
Page 1 of 2 [1] 2 Next page →
Back to top | Article view | comp.lang.misc
csiph-web