Index

CEF32 differences from the specification


CEF32 provides all of the features of the CEF specification, except as described in this section.  Additional capabilities are also described here.

The Master assembler Add_Reference and Add_Reference_Ex methods only support bit ranges that reside entirely within a single byte.

Bases from 37 through 49, inclusive, are supported in addition to the CEF standard 2 through 36.

The Media Manager will automatically construct and pass a TTape_Media object to any tape Presenter that it requests.  The Presenter can safely cast the TMedia to a TTape_Media.

CEF32 supports localized text.  By default, it uses English for all text.  You can specify replacement text via a language file.  CEF32 will uses the language indicated in the CEF32.ini file (if present in the same folder as CEF32.exe), after the line starting with "LANGUAGE=".  It will look in the "languages" subfolder for a file with the specified language name, and no extension.  For instance, if CEF32.ini contains a line that is "LANGUAGE=French", the program will look for the file "Languages\French."  If found, it will load the text from that file use it in place of the default English text.  Language files are simple text files, with one line per replacement text.  The first line corresponds to text item 0, the second line to text item 1, etc.  Look at _TextStrs.inc in the source files for a list of all the current English text items.  Pay attention to the order specified by the ID_* constants.  If the file has less text than required, all missing text will be supplied in English.

CEF32 supports additional features in expressions.  The following additional operators are available:
Operator
Description
!
Factorial (do a factorial of the previous value)
%
Percentage (divide the previous value by 100)
MOD
Division remainder only
MIN
Return left side value if greater than the right side value, otherwise, return the right side value
MAX
Return left side value if less than the right side value, otherwise, return the right side value
SHR
Shift value right (value interpreted as a signed 2s complement integer)
SHL
Shift value left (value interpreted as a signed 2s complement integer)
AND
Bitwise and (value interpreted as a signed 2s complement integer)
OR
Bitwise or (value interpreted as a signed 2s complement integer)
XOR
Bitwise exclusive-or (value interpreted as a signed 2s complement integer)
&
Bitwise and (synonym of AND)
|
Bitwise or (synonym of OR)
<<
Shift value left (Synonym of SHL).
>>
Shift value right (Synonym of SHR).
PI  is  a  predefined  constant  equal  to  3.14159265...

Functions have the form:

FUNCTION(expression)

where  expression  is  the  value  to  perform  the  function  on. Available trigonometric functions are:
Function
Description
TAN
Tangent
SIN
Sine
COS
Cosine
SEC
Secant
COT
Cotangent
CSC
Cosecant
ARC and Hyperbolic functions are available by prefixing the trigonometric function name with "ARC", "HYP", or "HYPARC" (eg ARCTAN and HYPARCSEC).  Other functions available:
Function
Description
RAD
Degree to radian conversion
DEG
Radian to degree conversion
ABS
Absolute value
EXP
Constant E raised to the specified power
INT
Integer
LOG
Natural logarithm
LOG10
Common logarithm
SQR
Square root
SGN
Sign (returns -1 if negative, 1 if positive, or 0 if 0).
FIB
Fibonacci sequence