From 4b4d4fde1f32303ccbc6faadbb0caedd46e21ee2 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 31 Jul 2002 00:14:11 +0000 Subject: 2002-07-30 Joel Sherrill * callconf.t: Added some markups for fonts and clarified some places. --- doc/supplements/i960/ChangeLog | 4 ++++ doc/supplements/i960/callconv.t | 26 +++++++++++++------------- 2 files changed, 17 insertions(+), 13 deletions(-) (limited to 'doc/supplements') diff --git a/doc/supplements/i960/ChangeLog b/doc/supplements/i960/ChangeLog index e869715868..775f8c260c 100644 --- a/doc/supplements/i960/ChangeLog +++ b/doc/supplements/i960/ChangeLog @@ -1,3 +1,7 @@ +2002-07-30 Joel Sherrill + + * callconf.t: Added some markups for fonts and clarified + some places. 2002-03-27 Ralf Corsepius * Makefile.am: Remove AUTOMAKE_OPTIONS. diff --git a/doc/supplements/i960/callconv.t b/doc/supplements/i960/callconv.t index 4ea8bd3027..d112e67123 100644 --- a/doc/supplements/i960/callconv.t +++ b/doc/supplements/i960/callconv.t @@ -38,22 +38,22 @@ branch-and-link and an integrated call and return mechanism. On a branch-and-link, the processor branches to the invoked procedure and saves the return address in a register, -G14. Typically, the invoked procedure will not invoke another +@code{G14}. Typically, the invoked procedure will not invoke another procedure and is referred to as a leaf procedure. Many high-level language compilers for the i960 family recognize leaf procedures and automatically optimize them to utilize the branch-and-link mechanism. Branch-and-link procedures are -invoked using the bal and balx instructions and return control -via the bx instruction. By convention, G14 is zero when not in +invoked using the @code{bal} and @code{balx} instructions and return control +via the @code{bx} instruction. By convention, @code{G14} is zero when not in a leaf procedure. It is the responsibility of the leaf -procedure to clear G14 before returning. +procedure to clear @code{G14} before returning. The integrated call and return mechanism also branches to the invoked procedure and saves the return address as did the branch and link mechanism. However, the important -difference is that the call, callx, and calls instructions save -the local register set (R0 through R15) before transferring -control to the invoked procedure. The ret instruction +difference is that the @code{call}, @code{callx}, and @code{calls} instructions save +the local register set (@code{R0} through @code{R15}) before transferring +control to the invoked procedure. The @code{ret} instruction automatically restores the previous local register set. The i960CA provides a register cache which can be configured to retain the last five to sixteen recent register caches. When @@ -62,23 +62,23 @@ written to the stack. @section Calling Mechanism -All RTEMS directives are invoked using either a call -or callx instruction and return to the user via the ret +All RTEMS directives are invoked using either a @code{call} +or @code{callx} instruction and return to the user via the @code{ret} instruction. @section Register Usage -As discussed above, the call and callx instructions +As discussed above, the @code{call} and @code{callx} instructions automatically save the current contents of the local register -set (R0 through R15). The contents of the local registers will +set (@code{R0} through @code{R15}). The contents of the local registers will be restored as part of returning to the application. The -contents of global registers G0 through G7 are not preserved by +contents of global registers @code{G0} through @code{G7} are not preserved by RTEMS directives. @section Parameter Passing RTEMS uses the standard i960 family C parameter -passing mechanism in which G0 contains the first parameter, G1 +passing mechanism in which @code{G0} contains the first parameter, @code{G1} the second, and so on for the remaining parameters. No RTEMS directive requires more than six parameters. -- cgit v1.2.3