This is a cross compiler generating assembly code for ELTE RISC processor running as a von Neumann type computer. ELTE RISC is an extended (by write, system call, resume, interrupt, security, etc.) version of Donald E. Knuth's processor RISC described his book Stanford Graphbase. The compiler modified from the Small-C Compiler version 2.1 for CP/M written originally by Ron Cane (for 8080, in 1980) and in the final form by James E. Hendrix (for 8080, in 1982, 1983). Hence, of course Small-C and this compiler, too is much more closer to the old C version described in the book Kernighan -- Richie: The C Programming Language, Prentice Hall, Inc., 1978, as to ANSI C. Hence only differences to the old C version are mentioned here. Integers and characters are both 16 bit, hence no difference; the purpose of this to be ready for unicode. Undeclared identifyers considered external pointers/functions silently. No floating point, long and short, unsigned, bit fields, structures and unions. Casting goes silently. Preprocessing is done, including #asm and #endasm, but no #include: you may use separate preprocessor. Assembly code resulting from separately compiled blocks can be cat together and compiled in this form by the one pass assembler ERISCAL modified from Donald E. Knuth's MMIXAL for his MMIX. No linker and relocateble code. In spite of this deficiences this Small-C version for ELTE_RISC has his beauties and completely corresponds to their purposes: students can be understand it, extend it as exercise, it works from standard input to standard output hence easy to understand how it translate, contains a peephole optimiser, capable to translate itself (not even "for", "do" and "case' instructions are used in the code), and it would be possible to rewrite in it the Minix operating system of Tannenbaum.