; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; =COMP ERR$ ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Lib_Par CompErr ; - - - - - - - - - - - - - Dload a2 ; get the data area moveq #0,d3 ; clean out d3 move.w LErreur-CD(a2),d3 ; this is the length of the error string as a word beq.s .Vide ; if it's zero there's nothing to do Rjsr L_Demande ; get string space, put the address in a0 and a1 move.w d3,d0 ; preserve existing length in d0 move.l a0,d3 ; move the address into d3 move.w d0,(a1)+ ; put the length into the start of the string subq.w #1,d0 ; reduce the length by 1 lea Erreur-CD(a2),a0 ; load the error string address into a0 .Loop1 move.b (a0)+,(a1)+ ; copy a bit from a0 to a1 dbra d0,.Loop1 ; decrement d0. if d0 is greater than 0, go to loop move.w a1,d1; put the current target address into a1 and.w #$0001,d1 ; keep the lowest bit add.w d1,a1 ; add the current address to a1 move.l a1,HiChaine(a5) ; update the high end of string memory moveq #2,d2 rts .Vide move.l ChVide(a5),d3 ; return empty string moveq #2,d2 rts