It has been a very long time since I have written any assembly code but the questions seems more philosophical. Without knowing the larger goals here are some ideas.
Converting every key as they are entered: Many times the program needs to respond to individual key strokes as the program is running, (ie dynamic commands, up, down, left etc.). In this case, the key strokes should be converted individually. Other times, a block of data or strings need to be converted and this operation is usually done at the conclusion of the enter key of is a larger block of data. These cases require the characters to be “looped” through and converted.
However, in either case the “work” should done in a generic subroutine that can be called from either type of situation.
I hope this helps,
Ed