Difference between revisions of "Control flow"
From Computer History Wiki
(An OK stub) |
m (link loop) |
||
Line 3: | Line 3: | ||
The underlying [[Central Processing Unit|CPU]]'s [[instruction set]] has a number of '''transfer of control''' primitives: jump/branch, both un-conditional as well as [[conditional branch]]es; and [[subroutine]] calls. | The underlying [[Central Processing Unit|CPU]]'s [[instruction set]] has a number of '''transfer of control''' primitives: jump/branch, both un-conditional as well as [[conditional branch]]es; and [[subroutine]] calls. | ||
− | [[Programming language]]s often add additional mechanisms, particularly '''block structures''', in which a group of instructions are treated as a unit for various control mechanisms (e.g. loop | + | [[Programming language]]s often add additional mechanisms, particularly '''block structures''', in which a group of instructions are treated as a unit for various control mechanisms (e.g. [[loop]]s, if-then-else constructs, etc). |
Blocks are also often used to control the [[scope]] over which variables (particularly [[local variable]]s) are accessible. | Blocks are also often used to control the [[scope]] over which variables (particularly [[local variable]]s) are accessible. | ||
[[Interrupt]]s and [[exception]]s also divert the flow of control in a computer, but at times which are not always predictable. | [[Interrupt]]s and [[exception]]s also divert the flow of control in a computer, but at times which are not always predictable. |
Revision as of 14:47, 6 November 2017
Control flow refers to the means for controlling the order in which sections of a program are executed.
The underlying CPU's instruction set has a number of transfer of control primitives: jump/branch, both un-conditional as well as conditional branches; and subroutine calls.
Programming languages often add additional mechanisms, particularly block structures, in which a group of instructions are treated as a unit for various control mechanisms (e.g. loops, if-then-else constructs, etc).
Blocks are also often used to control the scope over which variables (particularly local variables) are accessible.
Interrupts and exceptions also divert the flow of control in a computer, but at times which are not always predictable.