Hi John,

There's no way to do that with standard PBP commands. Normal PBP arrays must be completely contiguous. However, we can create a new command with a little assembly language.

This isn't exactly what you were looking for, but it does accomplish the exact same thing.

Put this code near the top of your program.
Code:
'------[ PortOut macro ]----------------
Temp_idx    VAR  byte
Temp_State  VAR  BIT

ASM
PortOut  macro idx, state
    MOVE?BB idx, _Temp_idx
    MOVE?CT state, _Temp_State
EndASM
    if Temp_idx < 5 then
        PORTA.0[Temp_idx] = Temp_State
    else
        Temp_idx = Temp_idx - 5
        PORTC.0[Temp_idx] = Temp_State
    endif
@   endm
'---------------------------------------
Then you can simply do this...
Code:
for x = 0 to 9
@   PortOut  _X, 1  
next x
With this code, the state("1" in this case) must be a constant. I did it that way just to be consistant with your request.

If you wanted to use a variable instead, simply change this line in the PortOut routine...

MOVE?CT state, _Temp_State

-- changed to --

MOVE?TT state, _Temp_State

HTH,
&nbsp;&nbsp;&nbsp;Darrel