
IL_PROC:
     POP   ACC             ; fetch high string address from stack
     MOV   DPH, A
     POP   ACC             ; fetch low string address from stack
     MOV   DPL, A
IL_LOOP:
     MOVC  A, @A+DPTR      ; get a byte of string
     INC   DPTR
     JZ    IL_END          ; exit the loop 
;
 ... (process the string byte in A register)...
;
     JMP   IL_LOOP
;
IL_END:
     MOV   A, DPL          ; restore return address
     PUSH  ACC
     MOV   A, DPH
     PUSH  ACC
     RET
