Example 4. The Function From Example 3 Compiled With the -O2 and --optimizer_interlist Options

;*************************************************************** ;* FNAME: _copy FR SIZE: 0 * ;* * ;* FUNCTION ENVIRONMENT * ;* * ;* FUNCTION PROPERTIES * ;* 0 Parameter, 0 Auto, 0 SOE * ;*************************************************************** _copy: ;*** 6 ----------------------- if ( n <= 0 ) goto g4; CMPB AL,#0 ; |6| B L2,LEQ ; |6| ; branch occurs ; |6| ;*** ----------------------- #pragma MUST_ITERATE(1, 4294967295, 1) :*** ----------------------- L$1 = n-1; ADDB AL,#-1 MOVZ AR6,AL L1: ;*** -----------------------g3: ;*** 7 ----------------------- *str++ = *s++; ;*** 7 ----------------------- if ( (--L$1) != (-1) ) goto g3; MOV AL,*XAR5++ ; |7| MOV *XAR4++,AL ; |7| BANZ L1,AR6-- ; branch occurs ; |7| ;*** -----------------------g4: ;*** ----------------------- return; L2: LRETR ; return occurs