Did you really code it like that? Let's see what this actually does...
LIS 1 loads the accumulator with 1.
COM complements the 1 just loaded so it gets FE.
INC increments it so it gets FF.
AS S adds S to the accumulator and stores it there, so now the accumulator is S - 1.
LR S, A stores back the value so S has now decreased by 1, and the accumulator has the same decreased value.
However, if you're always subtracting 1 (and not more), you can use a decrement command instead, which is DS.
So you could write this shorter as:
DS S (decrements S)
LR A, S (you only need this if you also need the value to be in A afterwards)
Don't know what S refers to, though... do you write a definite register number instead of S, or is it another register I forgot?