Learning objectives
Explain the relationship between assembly language and machine code, describe the work of an assembler and the purpose of a symbolic address, and state why a one-pass assembler cannot always resolve a forward reference
Describe the structure of an assembly language instruction as an opcode and an operand, and trace a short program that uses data movement, arithmetic, comparison, branching and input and output instructions
Compare immediate, direct, indirect, indexed and relative addressing, work out the effective address in each case, and choose the mode best suited to stepping through an array
Write and trace a short assembly language routine that loops over a list of values held in consecutive memory locations using an index register
Apply logical, arithmetic and cyclic shifts to a binary value, describe the effect of each on the value represented, and use left and right shifts to multiply and divide by powers of two
Use bitwise AND, OR and XOR operations with a mask to test, set, clear or toggle individual bits of a byte, and describe a practical use such as reading flags from a status register
Continue with a revision plan
These learning objectives are available to everyone. Sign in with an eligible plan to read the full note and worked examples.
