

ADDENDUM to WORKSHEET FILE FORMAT Document (2-19-85):


The following supplements the discussion of the FORMULA record
type in the Worksheet File Format document.
__________________________________________________________________________


    Formula Record Type

		  byte 0 = format
                  byte 1 & 2 = column 
                  byte 3 & 4 = row
                  byte 5-12 = formula numeric value (IEEE long real)
                  byte 13 & 14 = formula size (bytes)
                  byte 15 & above = formula code, compiled Reverse-Polish
                                    Internal Notation; max of 2048 bytes 

        Opcode     Explanation
        ------     ------------

        0          push constant...followed by 8 byte #
        1          push variable...followed by 4 byte column,row...a
                      relative coordinate has its most significant bit set
        2          push range...followed by 8 byte begin/end column,row
        3          end of formula
        4          parentheses
        5          integer constant...followed by 2 byte integer
        6          push string...followed by null terminated string
        7          unused
        8          unary -
        9          binary +
       10          binary -

       11          *
       12          /
       13          ^
       14          =
       15          <>
       16          <=
       17          >=
       18          <
       19          >
       20          #AND#

       21          #OR#
       22          #NOT#
       23          unary +
       24          &
       25..30      unused

       31          @na
       32          @err
       33          @abs
       34          @int
       35          @sqrt
       36          @log
       37          @ln
       38          @pi
       39          @sin
       40          @cos

       41          @tan
       42          @atan2
       43          @atan
       44          @asin
       45          @acos
       46          @exp
       47          @mod
       48          @sel
       49          @isna
       50          @iserr

       51          @false
       52          @true
       53          @rand
       54          @date
       55          @now
       56          @pmt
       57          @pv
       58          @fv
       59          @if
       60          @day

       61          @month
       62          @year
       63          @round
       64          @time
       65          @hour
       66          @minute
       67          @second
       68          @isnumber
       69          @isstring
       70          @length

       71          @value
       72          @fixed
       73          @mid
       74          @chr
       75          @ascii
       76          @find
       77          @datevalue
       78          @timevalue
       79          @cell pointer
       80          @sum..followed by 1 byte >>> # of args

       81          @avg..same as above
       82          @cnt.. "    "   "
       83          @min.. "    "   "
       84          @max.. "    "   "
       85          @vlookup
       86          @npv
       87          @var
       88          @std
       89          @irr
       90          @hlookup

       91          @dsum
       92          @davg
       93          @dcnt
       94          @dmin
       95          @dmax
       96          @dvar
       97          @dstd
       98          @index
       99          @cols
      100          @rows

      101          @repeat
      102          @upper
      103          @lower
      104          @left
      105          @right
      106          @replace
      107          @proper
      108          @cell
      109          @trim
      110          @clean

      111          @s
      112          @v
      113          @streq
      114          @call
      115          @indirect


-- end of list --



   