Do && and || operators. Generate: (evaluate e1 and e2, if true goto cnop1) cnop3: NOP cg: [save reg code] ;if we must preserve reg CLR reg ;false result (set Z also) JMP cnop2
cnop1: NOP ;if e1 evaluates to true [save reg code] ;preserve reg
MOV reg,1 ;true result or CLR reg ;if return result in flags INC reg
cnop2: NOP ;mark end of code
See Implementation
Do && and || operators. Generate: (evaluate e1 and e2, if true goto cnop1) cnop3: NOP cg: [save reg code] ;if we must preserve reg CLR reg ;false result (set Z also) JMP cnop2
cnop1: NOP ;if e1 evaluates to true [save reg code] ;preserve reg
MOV reg,1 ;true result or CLR reg ;if return result in flags INC reg
cnop2: NOP ;mark end of code