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.Then you can simply do this...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 '---------------------------------------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.Code:for x = 0 to 9 @ PortOut _X, 1 next x
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,
Darrel




Bookmarks