Along with the advantage of high efficiency due to direct programmer interaction with system hardware and resources came the undesirable consequence of having to manually update ad hoc organizational schemes, such as data structures, when even slight changes were made to an assembly language program.