The earlier papers on SKIPSM (separated-kernel image processing using finite state machines) concentrated mainly on implementations using pipelined hardware. Because of the potential for significant speed increases, the technique has even more to offer for software implementations. However, the gigantic structuring elements (e.g., 51 by 51 in one pass) readily available in binary morphology using SKIPSM are not practical in gray-level morphology. Nevertheless, useful structuring element sizes can be achieved. This paper describes two such applications: dilation with a 7 by 7 square and a 7 by 7 octagon. Previous 2-D SKIPSM implementations had one row machine and one column machine. Two of the implementations described here follow this pattern, but the other has four machines: row, column, and the two 45-degree diagonals. In operation, all of these are one-pass algorithms: The next pixel is 'fetched' from the input device, the two (or four) machines are updated in turn, and the resulting output pixel is written to the output device. All neighborhood information needed for processing is encoded in the state vectors of the finite-state machines. Therefore, no intermediate image stores are needed. Furthermore, even the input and output image stores can be eliminated if the image processor can keep up with the input pixel rate. Comparisons are provided between these finite-state-machine implementations and conventional implementation of the 2-step and 4-step decompositions, all based on the same structuring elements.