Round 5: A programmable computer


(Our first program for the armlet.)

Learning objectives

In this round you will learn …

  • … that programmability of a stored-program computer arises from three components:

    1. the program is a sequence of binary instructions that is stored in memory

    2. the processor executes the program by loading its instructions from memory, one after another, by default in the sequence order they are stored in memory

    3. control instructions such as jump and branch instructions can be used to alter the default flow of execution to implement loops and other control constructs

  • … that programs consisting of binary instructions can be written using assembly language

    • an assembly-language program is a textual representation of a sequence of binary instructions

    • an assembler is a program that translates program text in assembly language into a binary program

  • … the basics of assembly language programming (with the armlet architecture)

  • … that assembly-language programming is tedious

  • … that all programming languages are convenience tools that translate program text into machine instructions (*)

  • … the steps of this translation in the case of the Scala programming language (*)

(Material that is marked with one or more asterisks (*) is good-to-know, but not critical to solving the exercises or passing the course.)