Embedded software consists of various functions performing particular tasks. Before writing any ASM or C code it is good to draw algorithm flow chart. Flow charts are visual method of representing inner algorithm. It is easer analyze the algorithm and write the code according to diagram.
The main parts of diagram:

Fig 1. Simple series instructions

Fig 2. Parallel instructions

Fig 3. if-then-else structure

Fig 4. while (for) structure

Fig 5. do until structure

Fig 6. case structure
For each function or procedure make separate algorithm flow charts – this enables easer integration of them in to main function.
Sample how program flow chart may look.

Fig 7. Sample program Flow Chart