Computational Software You Can Bank On™


Volume 1.0

PROM 
PC-1270 News


SBC Compiler
Version 3.3 Available

The new SBC SHARP PC-1270 Compiler Version 3.3. is now available at no charge to authorized CF-Series Flash Card PC-1270 Developers.

This version employs new, optimizing techniques to minimize the size of your program. This allows you to put even more code into your existing and new Flash and RAM cards.

In addition, it has a new Virtual Operator to specify implied multiplication.

(The PC-1270 and other Sharp S’BASIC calculators allow the use of implied multiplication which saves space and increases program execution speed.)

With the new Virtual Operator, you can specify implied multiplication in your source code. The new operator allows you to retain all the advanced features of the SBC compiler such as the use of long variable names, no line numbers, etc.

Implied multiplication can even be performed between variables with long names and/or array variables. Sequences that contain embedded keywords are also properly interpreted as implied multiplication.

This new version of the compiler has been developed especially for the newest INTEL Pentium® and faster processors. It is fully compatible with earlier versions of SBC. Call us today at 800 843-7766 (Fax 866 329-7766) or  email us at the address at the bottom of this page.

RAM Initialization Files

Use of RAM Initialization files can save you time both when programming batches of Flash cards and when debugging programs. You make one Flash card, initialize it to put all the variables into RAM, and then copy the configured RAM to a disk file. (For security reasons, you must have a copy of the program on your PC to do this.)

When each subsequent Flash card is programmed, you can initialize the RAM memory in less than 1/2 a second while programming the card. As long as the programmed Flash card is placed in a PC-1270 within a few minutes, the RAM will stay initialized.

This technique also saves you time when debugging a program. If you initialize the RAM, you can run the program immediately to check your bug fixes. No need to reload the initialization data or examples.

You can also look at all the variables in the PC-1270’s memory by making a ".VAR" file. This shows the current contents of every variable and provides a complete report of memory usage.

Implied Multiplication

The S'BASIC language permits the use of implied multiplication. When two (or more) numeric variables are found together without intervening operators, the variables are multiplied by each other even though there are no multiplication operators. For example, the statement PRINT ABC is equivalent to PRINT A*B*C.

Virtual Operator "|"

To specify implied multiplication, we should write

PRINT A | B | Z | X

which is compiled to

PRINT ABZX

(The "|" symbol is found on U.S. keyboards as Shift "\" (backslash). It is the symbol used in the C language for the binary "or" operator and has the ASCII value of 124 (7CH). It is called a virtual operator because it does not actually take any space in the compiled code. It is just a way to tell the compiler that you specifically want implied multiplication to occur.)

The source code must contain a "|" operator in all places where you wish implied multiplication to appear or an error will be reported. You can use any sequence of letters, even if they form or contain a keyword. For example, the statement PRINT L|E|N will be compiled as PRINT LEN and "LEN" will be interpreted as L*E*N. (This is NOT true if the second method described below is used.)

Implied Multiplication Rules

Implied multiplication can be used between any two numeric variables (simple or array), and between a leading constant and one or more variables, e.g., 12 * A * B can be written as 12 | A | B. Simple and array numeric variables can be used in any sequence, e.g., the following is legal

B = 1.2|F(10)|A|B|S(20,2)

This is compiled as (note that the "|" operators do not take any space in the compiled code):

B=1.2F(10)ABS(20,2)

Note that the sequence ABS(20,2) is properly interpreted as A * B * S(20,2) because of the "|" "|" operators.

Implied multiplication has the highest priority and is performed before power or division operations. It does not follow the normal rules of priority, for example, B/CD is not the same as B/C*D, but is the same as B/(C*D).

Long Variable Names

Long variable names can be used with implied multiplication. Just separate the long variable names with the new virtual operator "|", e.g.,

PRINT PMT | TERM

The implied multiplication operator can also be used with computed addresses or offsets into a table of data statements or routines. For example, consider the following:

Table_1:

DATA 123,111,1,"RED"
DATA 456,111,2,"BLUE"
DATA 567,123,5,"GREEN"
DATA 789,543,2,"ORANGE"

INPUT "PAIR NUM?"; X

RESTORE Table_1 + X | 2 :
READ A, B, C, D$, \
E, F, G, H$

which retrieves pairs of data statements.

Any sequence of letters can be used, even if they form (or contain) an S’BASIC keyword. Thus you can use implied multiplication freely throughout your programs to increase speed and save space.


For inquiries, email us at

© 2006 PROM Software Inc  All Rights Reserved   -   Terms of Use
PROM®, PROMSOFT® , LoanMaker® & LeaseMaker® are registered trademarks of PROM Software Inc.