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
|