.title lshift ; ; Left SHIFT moves a character string n characters to the left ; ; call lshift( string, n ) ; .psect user$i lshift::tst (r5)+ ; skip nargs mov (r5)+,r0 ; get start of array mov r0,r1 ; copy it mov @(r5)+,r3 ; nchrs to shift ble 20$ ; 0 or - dum sub r3,r1 ; r1 => o/p 10$: tstb @r0 ; null ? beq 20$ movb (r0)+,(r1)+ ; copy excluding br 10$ 20$: return .end