Résumé de section

  • Welcome to "IST-4-ASM" where you will learn to program in assembly. This course has no theoretical prerequisites and relies fully on hands-on learning. So please bring your laptop with you (and install python if it is not done already).

    For all questions and demands, please e-mail us both: lionel.morel@insa-lyon.fr + guillaume.salagnac@insa-lyon.fr. Thanks !

    Lecture notes / worksheets

    1. Information Coding
      • topics: binary numbers, conversion to/from decimal, hexadecimal notation, ASCII encoding, RGB colors
      • files: rgb.py
    2. Binary Arithmetics
      • topics: binary addition and subtraction, two's complement representation, sign extension, binary multiplication
    3. The Von Neumann Architecture
      • topics: CPU, memory, registers, machine code vs assembly, immediate operands, step-by-step execution
      • files: scat.zip (assembler and simulator), isa-card.pdf (Instruction set reference sheet)
    4. Control Flow
      • topics: control structures (loops, alternatives), pseudo-instructions, mandatory vs conditional jumps, breakpoints
    5. Memory Load/Store Instructions
      • topics: addressing mode, base+offset register-indirect addressing, literal data with .word directive
    6. Memory-Mapped Input/Output
      • topics: address space, main memory vs peripherals, framebuffer
    7. Subroutines
      • topics: calling and returning from a procedure, Link Register, input and output parameters
    8. Execution Stack
      • topics: concept of memory stack, push/pop instructions, stack pointer, function prologue/epilogue
    9. Recursion
      • topics: recursive functions, calling conventions, parameter passing
     

    Past Exams