Mercurial > hg > Members > kono > nitros9-code
changeset 530:c43b678c0055
Mainly section structures added.
author | roug |
---|---|
date | Sat, 12 Oct 2002 12:03:22 +0000 |
parents | 871ccf549428 |
children | 86139e126926 |
files | docs/ccguide/asm.appendix docs/ccguide/chap1.chapter docs/ccguide/chap2.chapter |
diffstat | 3 files changed, 342 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/docs/ccguide/asm.appendix Fri Oct 11 19:11:01 2002 +0000 +++ b/docs/ccguide/asm.appendix Sat Oct 12 12:03:22 2002 +0000 @@ -41,7 +41,7 @@ </para> </blockquote> <section> - <title>Symbolic Names</title> +<title>Symbolic Names</title> <para> A symbolic name is valid if it consists of from one to nine uppercase or lowercase characters, decimal digits or the characters @@ -49,4 +49,126 @@ uppercase. The names "Hi.you" and "HI.YOU" are distinct names. </para> </section> + +<section> +<title>Label field</title> +<para> +If a symbolic name in the label field of a source statement is +followed by a <quote>:</quote> (colon), the name will be known +<emphasis>globally</emphasis> (by all modules linked together). +If no colon appears, the name will be known only in the PSECT +in which it was defined. PSECT will be described later. +</para> +</section> + +<section> +<title>Undefined names</title> +<para> +</para> +</section> + +<section> +<title>Listing format</title> +<para> +</para> +</section> + +<section> +<title>Section Location Counters</title> +<para> +</para> +</section> + +<section> +<title>Section Directives</title> +<para> +</para> + +<section> +<title>PSECT Directive</title> +<para> +</para> +</section> + +<section> +<title>VSECT Directive</title> +<para> +</para> +</section> + +<section> +<title>CSECT Directive</title> +<para> +</para> +</section> + +<section> +<title>RZB statement</title> +<para> +</para> +</section> +</section> + +<section> +<title>Comparison Between Assembly Programs for the Microware Interactive Assember +and the Relocating Macro Assembler</title> +<para> +The following two program examples simply fork a BASIC09. The +purpose of the examples are to show some of the differences in the +new relocating assembler. The differences are apparent. +</para> +<programlisting> +* this program forks a basic09 + ifp1 + use ..../defs/os9defs.a + endc + + +</programlisting> +<section> +<title>Macro Interactive Assembler Source</title> +<programlisting> + ifp1 + use defsfile + +prmsize equ *-prm + +siz equ +</programlisting> +</section> +</section> + +<section> +<title>Introduction to Macros</title> +<para> +</para> +</section> + +<section> +<title>Operations</title> + +<section> +<title>Macro Definition</title> +<para> +</para> +</section> + +<section> +<title>Nested Macro Calls</title> +<para> +</para> +</section> + +<section> +<title>Labels</title> +<para> +</para> +</section> + +<section> +<title>Additional Pseudo-Instructions</title> +<para> +</para> +</section> +</section> </appendix>
--- a/docs/ccguide/chap1.chapter Fri Oct 11 19:11:01 2002 +0000 +++ b/docs/ccguide/chap1.chapter Sat Oct 12 12:03:22 2002 +0000 @@ -11,7 +11,37 @@ language that can handle tasks that previously would have required complex assembly language programming. </para> - +<para> +C was originally developed at Bell Telephone Laboratories as an +implementation language for the UNIX operating system by Brian +Kernighan and Dennis Ritchie. They also wrote a book titled <quote>The +C Programming Language</quote> which is universally accepted as the standard +for the language. It is an interesting reflection on the language +that although no formal industry-wide <quote>standard</quote> was ever developed +for C, programs written in C tend to be far more portable between +radically different computer systems as compared to so-called +<quote>standardized</quote> languages such as BASIC, COBOL, and PASCAL. The +reason C is so portable is that the language is so inherently +expandable that is some special function is required, the user can +create a portable extension to the language, as opposed to the +common practice of adding additional statements to the language. +For example, the number of special-purpose BASIC dialects defies all +reason. A lesser factor is the underlying UNIX operating system, +which is also sufficiently versatile to discourage bastardization of +the language. Indeed, standard C compilers and Unix are intimately +related. +</para> +<para> +Fortunately, the 6809 microprocessor, the OS-9 operating +system, and the C language form an outstanding combination. The +6809 was specifically designed to efficiently run high-level +languages, and its stack-oriented instruction set and versatile +repertoire of addressing modes handle the C language very well. As +mentioned previously, UNIX and C are closely related, and because +OS-9 is derived from UNIX, it also supports C to the degree that +almost any application written in C can be transported from a UNIX +system to an OS-9 system, recompiled, and correctly executed. +</para> </section> <section> <title>The Language Implementation</title> @@ -26,8 +56,124 @@ parts of C that are obsolete or the constraints imposed by memory size limitations. </para> +</section> +<section> +<title>Differences from the K & R Specification</title> +<para> +</para> </section> + +<section> +<title>Enhancements and Extensions</title> + +<section> +<title>The <quote>Direct</quote> Storage Class</title> +<para> +</para> +</section> + +<section> +<title>Embedded Assembly Language</title> +<para> +</para> +</section> + +<section> +<title>Control Character Escape Sequences</title> +<para> +</para> +</section> +</section> + +<section> +<title>Implementation-dependent Characteristics</title> +<para> +</para> + +<section> +<title>Data Representation and Storage Requirements</title> +<para> +</para> +</section> + +<section> +<title>Register Variables</title> +<para> +</para> +</section> + +<section> +<title>Access To Command Line Parameters</title> +<para> +</para> +</section> +</section> + +<section> +<title>System Calls and the Standard Library</title> + +<section> +<title>Operating System Calls</title> +<para> +</para> +</section> + +<section> +<title>The Standard Library</title> +<para> +</para> +</section> +</section> + +<section> +<title>Run-time Arithmetic Error Handling</title> +<para> +</para> +</section> + +<section> +<title>Achieving Maximum Program Performance</title> +<para> +</para> + +<section> +<title>Programming Considerations</title> +<para> +</para> +</section> + +<section> +<title>The Optimizer Pass</title> +<para> +</para> +</section> + +<section> +<title>The Profiler</title> +<para> +</para> +</section> +</section> + +<section> +<title>C Compiler Component Files and File Usage</title> +<para> +</para> + +<section> +<title>Temporary Files</title> +<para> +</para> +</section> +</section> + +<section> +<title>Running the Compiler</title> +<para> +</para> +</section> + <section> <title>Compiler Option Flags</title> <para>
--- a/docs/ccguide/chap2.chapter Fri Oct 11 19:11:01 2002 +0000 +++ b/docs/ccguide/chap2.chapter Sat Oct 12 12:03:22 2002 +0000 @@ -37,5 +37,77 @@ set to $81 (Reentrant + 1). </para> </section> + +<section> +<title>Execution Offset</title> +<para> +</para> +</section> + +<section> +<title>Storage Size</title> +<para> +</para> +</section> + +<section> +<title>Module Name</title> +<para> +</para> +</section> + +<section> +<title>Information</title> +<para> +</para> +</section> + +<section> +<title>Executable Code</title> +<para> +</para> +</section> + +<section> +<title>String Literals</title> +<para> +</para> +</section> + +<section> +<title>Initializing Data and its Size</title> +<para> +</para> +</section> + +<section> +<title>Data References</title> +<para> +</para> +</section> +</section> + +<section> +<title>Memory Management</title> +<para> +The C compiler and its support programs have default conditions +such that the average programmer need not be concerned with details +of memory management. However, there are situations where advanced +programmers may wish to tailor the storage allocation of a program +for special situations. The following information explains in +detail how a C program's data area is allocated and used. +</para> + +<section> +<title>Typical C Program Memory Map</title> +<para> +</para> +</section> + +<section> +<title>Compile Time Memory Allocation</title> +<para> +</para> +</section> </section> </chapter>