.title padleft .ident /831205/ ; ;Pads out a string on the left with spaces to make it ;a required length ; ;Register usage ; R0 ; R1 length of string ; R2 string ; R3 required length ; R4 maximum length ; padlef:: mov sp,r0 mov (r0),r1 mov r4,(r0)+ mov (r0),r4 ;maximum length mov r3,(r0)+ mov (r0),r3 ;required length mov r2,(r0)+ mov (r0),r2 ;string mov r1,(r0) ; cmp r3,r4 ;see if allowable bhi 4$ ;too big ; mov #-1,r1 ;find length of string 1$: inc r1 tstb (r2)+ bne 1$ ; sub r1,r3 ;find length of pad ble 4$ ; mov r2,r0 ;make room for pad add r3,r0 inc r1 ; 2$: movb -(r2),-(r0) sob r1,2$ ; 3$: movb #' ,-(r0) sob r3,3$ ; 4$: mov (sp)+,r4 mov (sp)+,r3 mov (sp)+,r2 rts pc .end