_EFFICIENT MC68HC08 PROGRAMMING_ by Rand Gray and Deepak Mulchandani Example 1: 1 main() 2 { 3 int x; 4 int y; 5 int z; 6 7 y = 7; 8 x = 2*y+1; 9 z = 2*y+1; 10 11 } Example 2: Byte Cycle Instructions 3 4 mov #7, y+1 2 3 clr y 3 4 mov #15, x+1 2 3 clr x 3 4 mov #15, z+1 2 3 clr z Example 3: Byte Cycle Compiler-generated output 3 4 mov #7, y+1 2 3 clr y 2 3 ldx y 2 3 lda y+1 1 1 lsla 1 1 rolx 2 2 add #1 2 3 sta x+1 1 1 txa 2 2 adc #0 2 3 sta x 2 3 ldx y 2 3 lda y+1 1 1 lsla 1 1 rolx 2 2 add #1 2 3 sta z+1 1 1 txa 2 2 adc #0 2 3 sta z 1 1 rts Example 4: 1 main() 2 { 3 int x = 6; 4 int y; 5 6 if (x == 7) 7 { 8 y = 2*3+1; 9 x = 2*y+1 10 } 11 y = x; 12 13 } Example 5: Bytes Cycle(s) Compiler-generated output 3 4 mov #6, x+1 2 3 clr x 2 3 lda x+1 2 2 eor #7 2 3 bne L0005 2 3 lda x 2 3 bne L0005 3 4 mov #7, y+1 2 3 clr y 2 3 ldx y 2 3 lda y+1 1 1 lsla 1 1 rolx 2 2 add #1 2 3 sta x+1 1 1 txa 2 2 adc #0 2 3 sta x L0005: 3 5 mov x, y 3 5 mov x+1,y+1 1 1 rts