DSP architectures typically provide indirect addressing modes with aut
oincrement and decrement. In addition, indexing mode is generally not
available, and there are usually few, if any, general-purpose register
s. Hence, it is necessary to use address registers and perform address
arithmetic to access automatic variables. Subsuming the address arith
metic into autoincrement and decrement modes improves the size of the
generated code. In this article we present a formulation of the proble
m of optimal storage assignment such that explicit instructions for ad
dress arithmetic are minimized. We prove that for the case of a single
address register the decision problem is NP-complete, even for a sing
le basic block. We then generalize the problem to multiple address reg
isters. For both cases heuristic algorithms are given, and experimenta
l results are presented.