Changeset 4b4d4fde in rtems


Ignore:
Timestamp:
Jul 31, 2002, 12:14:11 AM (18 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
219432f
Parents:
2d35d112
Message:

2002-07-30 Joel Sherrill <joel@…>

  • callconf.t: Added some markups for fonts and clarified some places.
Location:
doc/supplements/i960
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • doc/supplements/i960/ChangeLog

    r2d35d112 r4b4d4fde  
     12002-07-30      Joel Sherrill <joel@OARcorp.com>
     2
     3        * callconf.t: Added some markups for fonts and clarified
     4        some places.
    152002-03-27      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
    26
  • doc/supplements/i960/callconv.t

    r2d35d112 r4b4d4fde  
    3939On a branch-and-link, the processor branches to the
    4040invoked procedure and saves the return address in a register,
    41 G14.  Typically, the invoked procedure will not invoke another
     41@code{G14}.  Typically, the invoked procedure will not invoke another
    4242procedure and is referred to as a leaf procedure.  Many
    4343high-level language compilers for the i960 family recognize leaf
    4444procedures and automatically optimize them to utilize the
    4545branch-and-link mechanism.  Branch-and-link procedures are
    46 invoked using the bal and balx instructions and return control
    47 via the bx instruction.  By convention, G14 is zero when not in
     46invoked using the @code{bal} and @code{balx} instructions and return control
     47via the @code{bx} instruction.  By convention, @code{G14} is zero when not in
    4848a leaf procedure.  It is the responsibility of the leaf
    49 procedure to clear G14 before returning.
     49procedure to clear @code{G14} before returning.
    5050
    5151The integrated call and return mechanism also
    5252branches to the invoked procedure and saves the return address
    5353as did the branch and link mechanism. However, the important
    54 difference is that the call, callx, and calls instructions save
    55 the local register set (R0 through R15) before transferring
    56 control to the invoked procedure.  The ret instruction
     54difference is that the @code{call}, @code{callx}, and @code{calls} instructions save
     55the local register set (@code{R0} through @code{R15}) before transferring
     56control to the invoked procedure.  The @code{ret} instruction
    5757automatically restores the previous local register set.  The
    5858i960CA provides a register cache which can be configured to
     
    6363@section Calling Mechanism
    6464
    65 All RTEMS directives are invoked using either a call
    66 or callx instruction and return to the user via the ret
     65All RTEMS directives are invoked using either a @code{call}
     66or @code{callx} instruction and return to the user via the @code{ret}
    6767instruction.
    6868
    6969@section Register Usage
    7070
    71 As discussed above, the call and callx instructions
     71As discussed above, the @code{call} and @code{callx} instructions
    7272automatically save the current contents of the local register
    73 set (R0 through R15).  The contents of the local registers will
     73set (@code{R0} through @code{R15}).  The contents of the local registers will
    7474be restored as part of returning to the application.  The
    75 contents of global registers G0 through G7 are not preserved by
     75contents of global registers @code{G0} through @code{G7} are not preserved by
    7676RTEMS directives.
    7777
     
    7979
    8080RTEMS uses the standard i960 family C parameter
    81 passing mechanism in which G0 contains the first parameter, G1
     81passing mechanism in which @code{G0} contains the first parameter, @code{G1}
    8282the second,  and so on  for the remaining parameters.  No RTEMS
    8383directive requires more than six parameters.
Note: See TracChangeset for help on using the changeset viewer.