Computer Architecture and Assembly Language
Objectives
This course is designed to develop basic understanding of computers and their components at theoretical level and provides brief introduction to Assembly language programming. The course is also focused to develop creative and critical thinking in the students regarding computer architectures. The specific purpose of this course is to thoroughly prepare the students in the theoretical aspects of computer architecture and develop programming skills in Assembly Language.
Contents
Basic concepts and computer evolution, performance concepts, computer function and interconnection, locality and performance cache memory, internal memory, external memory, input/output, operating system support, arithmetic and logic, instruction sets, characteristics and functions, addressing modes and formats, the central processing unit, processor structure and function, reduced instruction set computers, instruction level parallelism and superscalar processors, control unit operations and microprogramed controls. Representation of Data in a Machine, Organization of Computer Hardware – Intel 8086, Comparison of low level and high level languages. Programming Model of Intel 8086 and above, Registers, Character input and output programs, Addressing of Data, addressing instructions. Role of segment and offset addresses. Storage of a word and double word in memory. Addressing modes and stack memory addressing instructions. branch operation, Arithmetic instructions, Conditional and unconditional jump, Control structures, Loops, Procedures in Assembly language. Programs using Procedures in assembly language Reentrant procedures, Parameter passing in procedures. Recursive procedures. Programs using parameter passing. Interrupts. Logical operations. bit masking, String Instructions, IN and OUT instructions. Their addressing modes. programming IO ports using IN and OUT instructions, File operations. Opening, closing, reading, writing and seeking a file.
| CLO | Description | Bloom's Level | PLO |
|---|---|---|---|
| CLO1 | Explain the Computer Architecture and working of Computer | — | — |
| CLO2 | Discuss and Analyse the working of different algorithms used in different components of computer | — | — |
| CLO3 | Knowledge of Assembly language programming | — | — |