Cover V01, I03
Article
Figure 1
Listing 1
Listing 2
Sidebar 1

sep92.tar


Figure 1: Command List

%d

Pops an integer off of the stack and converts it to ACSCII without leading zeros.
%(1-9)d

EX %3d pops the integer off and uses 3 ASCII characters, if it is too small it is padded to the left with zeros. If it is too big, then it only uses the low order bits.
%c

Pops off an integer value and only uses the low order byte.
%h

Pops off an integer value and only keeps the 2 low order bytes.
%a

Pops an integer value like %h, but the order is reversed.
%Ixx

Includes the string whose attribute is xx.
%Gxx

Gets an integer from the variable xx and then pushes it on the stack.
%'c'

Pushes the character on the stack as low order byte of an integer and the high order set to zero.
%{nn}

Pushes positive or negative integer on the stack.
%Lxx

Pushes the length of the constant or string xx onto the stack.
%P(a-z)

Pops the stack and stores the value in an internal variable.
%g(a-z)

Pushes the specified internal variable on to the stack.
%+

Adds the first two values that are popped off the stack and then pushes the result.
%-

Subtracts the first two values that are popped off the stack and then pushes the result.
%*

Multiplies the two popped values and pushes the result.
%/

Divides the two popped values and pushes the result.
%m

Modulus the next two values and pushes the result.
%=

Compares the two popped values and pushes a 1 if they are equal.
%

If the second value popped off is greater than the first, pushes a 1 onto the stack.
%

If the second value popped off is less than the first, pushes a 1 onto the stack.
%!

Negates the variable popped and pushes the result.
%&

ANDs the first two variables popped and pushes the result.
%|

ORs the first two variables popped and pushes the result.
%^

EXCLUSIVE ORs the first two variables popped and pushes the result.
%~

ONE's COMPLEMENT the value and pushes the result.
%x

Passes through to the piocmdout subroutine the number of bytes specified by the passthru argument from input to output without modification.
%wx

While loop. Whenever the matching %; is reached, the internal variable specified is decremented by one. Execution is transferred back to the character following %wx as long as the value of the variable is greater than zero.

If Then Else

%? expr %t thenpart %e elsepart %;

Nested IF Then Else

%? expr %t thenpart %e expr %t thenpart %e elsepart %;