Commands

Commands can be used to change the flow control of vectors by changing the value of the program counter while the program is running. Commands can be various types: loads registers or modify the next address provided by the program counter.

The following commands can be executed:

  1. NOP – No operation. Go to the next step, the sequencer will not affect the program counter.

  2. Set register to X. The sequencer will set register A, B, C, or D to a value given in the command. The value assigned to the command can be from 0 to 64K. If Register D is used, the 16 external event lines’ values are assigned to Register D.

  3. Jump to Step X. The sequencer enables you to program a jump to any location and it can be conditional or unconditional.The jump command can be near or far. If the far jump command is used, the address can be anywhere in the 1M 20-bit steps; however, the command cannot be conditional. If the jump is near, the address is 17 bits, 0 - 128K, within the current 128K memory page.

  4. Loop to Step X. The sequencer enables you to perform a programmed number of jumps (a series of jumps) from the same address. This command can be conditional or unconditional. The jump is always to the near address, between 0 - 128K, in the current 128K memory page.

  5. Call subroutine at X. The sequencer saves the address and allows you to perform a jump that remembers the location it jumped from (Y). It returns to Y+1 and can be conditional or unconditional. The address of the subroutine is a far address in eight step boundaries (0, 8, 16, etc.). One level can be used when calling a subroutine.

  6. Return. The sequencer returns to the address following the last Call command. The command can be conditional or unconditional.

  7. Pause. A pause in the program. The command can be conditional or unconditional.

  8. Halt. End of the program.

Note: See Appendix B for more information on how to code and decode commands.

Sequencer Command Table

#
COMMAND
 PARAMETERS
1
NOP - Continue to next step.
 
2
Set Register R to V Value. If R is D, the value is taken from External Event Lines.
R = A, B, C or D Registers 0 £ V £ 64K
3
Jump (FAR) to Step X.
0 £ X £ 1M
4
Jump (NEAR) to Step X on Register R Condition (optional) or on External Event Line B (high or low) (optional).
R = A, B, C or D Registers
0 £ B £ 3
X is the address in the current 128K page
5
Loop N Times to Step X on Register D Condition (optional).
N = A, B or C Registers
X is the address in the current 128K page
6
Call Subroutine at Step X on Register R Condition (optional) or on External Event Line B (high or low) (optional).
R = A, B, C or D Registers
0 £ B £ 3
0 £ X £ 1M  
Step X must be divided by 8 (0, 8, 16, 24, etc.)
7
Return from Subroutine on Register R Condition (optional) or on External Event Line # B (optional).
R = A, B, C or D Registers
0 £ B £ 3
 
8
Pause on Register R Condition (optional) or on External Event Line B (optional).
R = A, B, C or D Registers
0 £ B £ 3
9
Halt
 

 Sequencer Commands