  Control code is a concept that is closely related to a frequently occurring
practitioner's view on what is a program: code that is capable of controlling
the behaviour of some machine. We present a logical approach to explain issues
concerning control codes that are independent of the details of the behaviours
that are controlled. Using this approach, such issues can be explained at a
very abstract level. We illustrate this among other things by means of an
example about the production of a new compiler from an existing one. The
approach is based on abstract machine models, called machine structures. We
introduce a model of systems that provide execution environments for the
executable codes of machine structures and use it to go into portability of
control codes.
