Don't know about SPMs but is it any easier to code the equivalent "If A or (D and (B or C))"?

On 2014-12-16 14:45, Cali zMan wrote:


    I am trying to use the SPMs to construct the following:
      If A or ((B or C) and D)  Do stuff
    But I can't seem to get the right combination of ORs, ANDs, and ORIFs to 
make this work.
    The closest thing to working and what seems to me like it should work is:   
 IF (A),OR,       (B),ORIF,       (C),AND,       (D)
    A positive result for checking 'A' causes the code inside the 'IF' to run 
(which I want), but after the check for 'B', it jumps down into the code 
without checking 'D' like I want.
    The order of the tests is important, too. 'A' is a TM, 'B' is an ICM and if 
it's negative, 'C' is an LCR for the register. If the resulting LCR is positive 
(or 'B' was positive to start with), then I do 'D', an ICM for a non-zero value.
    The resulting code should look like:
    TM    A,BIT   JO    DOSTUFF   ICM   R1,15,CtlBlk   JP    DOTEST   LCR   
R1,R1   JZ    DONTDOSTUFFDOTEST   DS    0H   ICM   R1,15,FIELD(R1)   JZ    
DONTDOSTUFFDOSTUFF  DS    0H...DONTDOSTUFF DS  0H
    I've tried everything I can think of without splitting the 'IF' statement 
up, but thought I would ask here before doing that.
                                        

Reply via email to