A HIPO chart is a description of the the various components of a project and their relationship to one and other in an implementation. HIPO stands for Hierarchy Input Process Output chart. So, to create such a chart, you must describe each of the processes in a project, the data that is given to them and that data they produce. The following is a hierarchy chart for the assembler. It only describes the processes. This technique is not very applicable to object oriented programming.
1. Initialize - give initial values to all global variables, get the name of the program file and open it.
2. Pass I - get addresses for all labels.
2.2 Add Label to Symbol Table - adds a label and its address to the symbol table.
2.3 Get Location of Next Instruction - get the address of the next instruction.
3. Sort Symbol Table and detect and report multiply defined labels. Record 999999 for their addresses. We will substitute ???? for the addresses when the translation is completed.
4. Pass II - generate the machine language equivalent of the assembler language program and display error messages.
4.3 Generate Instruction - display the original assembler instruction and its machine language equivalent.
4.4 Get Location of Next Instruction. Report error if we have exceeded to maximum memory size.