; m16.if ; adds slight structure to orca/m ; ; usage eg ; ; inc somevar ; if eq ; inc somevar+2 ; endif ; ; is equivalent to: ; inc somevar ; bne lab ; inc someevar+2 ;lab anop ; ; macro &l if &cond &l anop lclc &op aif C:&ifcnt<>0,.a gbla &ifcnt &ifcnt seta 0 .a aif "&cond"="cc",.cc aif "&cond"="cs",.cs aif "&cond"="eq",.eq aif "&cond"="ne",.ne aif "&cond"="pl",.pl aif "&cond"="mi",.mi aif "&cond"="vc",.vc aif "&cond"="vs",.vs mnote "if: unknown condition",1 mexit .cc &op setc "bcs" ago .work .cs &op setc "bcc" ago .work .eq &op setc "bne" ago .work .ne &op setc "beq" ago .work .mi &op setc "bpl" ago .work .pl &op setc "bmi" ago .work .vc &op setc "bvs" ago .work .vs &op setc "bvc" ago .work .work &ifcnt seta &ifcnt+1 &op ~if&ifcnt mend macro &l endif &l anop ~if&ifcnt anop mend