The embedded control program for the dental appliance is given below.
There are at least two sensible programs for the toothbrush. The table shows one of them.
In the electronic memory of the toothbrush the program is stored as a sequence of bytes:
0000 0001 0000 0010 0000 1000 0000 0100 0000 0000
The processor starts at the beginning and performs the action described by that code and continues through the bytes in sequence until it reaches the one (at address 3) that says to start over. If the switch is moved to the "off" position, the processor skips that instruction and instead performs the "stop" instruction at address 4.
This is, of course, a silly example. Electric toothbrushes are not controlled by computer processors. And, the machine instructions of actual processors are much more detailed. But the essential ideas of the example are these:
If toothbrush user leaves the switch "on" for a while, the program repeats its operations many times. This is how most programs in real computers run — many little operations add up to a useful function, which is then repeated many times.
| Address | Machine Instruction | Meaning |
|---|---|---|
| 0 | 0000 0001 | Rotate bristles left |
| 1 | 0000 0010 | Rotate bristles right |
| 2 | 0000 1000 | Skip next instruction if switch is off |
| 3 | 0000 0100 | Go back to start of program |
| 4 | 0000 0000 | Stop running |
Will the toothbrush stop immediately when the switch is turned off? (Follow through the program to see if this happens.)