0% found this document useful (0 votes)
13 views17 pages

Lecture 1.3.1 (Levels of Programming Languages, Assembly Language Instructions, Machine Instructions)

The document outlines the curriculum for the Computer Organization & Architecture course, focusing on programming languages, assembly language, and machine instructions. It includes learning objectives, content structure, and applications of the concepts in software and hardware interaction. Additionally, it provides references for further study and encourages feedback from students.

Uploaded by

greyking2001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views17 pages

Lecture 1.3.1 (Levels of Programming Languages, Assembly Language Instructions, Machine Instructions)

The document outlines the curriculum for the Computer Organization & Architecture course, focusing on programming languages, assembly language, and machine instructions. It includes learning objectives, content structure, and applications of the concepts in software and hardware interaction. Additionally, it provides references for further study and encourages feedback from students.

Uploaded by

greyking2001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

Academic Session 2025-26

ODD Semester Jul-Dec 2025


UNIVERSITY INSTITUTE OF ENGINEERING
DEPARTMENT OF COMPUTER SCIENCE &
ENGINEERING
BACHELOR OF ENGINEERING
CSE/IT/ THIRD SEMESTER
COMPUTER ORGANIZATION & ARCHITECTURE
(24CST-201/24ITT-201)
Unit No. 1 Chapter No. 1.3 Lecture No. 1.3.1
Topic : Levels of Programming Languages, Assembly Language Instructions, Machine
Instructions
Learning Objectives
1

1. To understand the hierarchy of programming languages


from high-level to low-level (machine language).
2. To learn the structure and syntax of assembly language
and how it maps to machine instructions.
3. To analyze how instructions are executed by the
processor and how programming level affects system
control and performance.
Content
2

• Levels of Programming Languages


• Language Processors
• Assembly Language Instructions
• Machine Instructions
• Machine and Bus Cycle
Levels of Programming Languages
3

1. Machine Instruction: Instructions in terms of


0 and 1
Ex-00000000: STOP PROGRAM
00000001: TURN BULB ON

2. Assembly Language: In terms of opcode and


operand
Ex- MOV A, #25H

3. High-Level Language: In English terms


according to the language syntax. Ex-Java, Python
Language Processors/Translators
4

1. Compilers: Translator which is used to convert


programs in high-level language to low-level
language.

2. Interpreters: Translator which is used to


convert programs in high-level language to low-
level language.

3. Assemblers: Translator which is used to


translate the assembly language code into
machine language code.
Assembly Language Instructions
5

 Assembly language instructions are a human-readable, symbolic representation of the


machine instructions that a processor can execute.
 Components of an Assembly Language Instruction:
• Mnemonic (Opcode): It represents the operation to be performed (e.g., ADD, MOV,
JMP).
• Operands: The data or addresses on which the operation will be performed (e.g.,
registers, memory locations, immediate values).
• Labels: Symbolic names used to represent memory addresses or instruction locations.
• Directives: Instructions that are not executed by the processor but rather instruct the
assembler on how to process the code (e.g., allocating memory, setting up sections).
 Example: ADD AX, BX
6

Machine Language Instructions


 Machine Instructions are commands or programs written in machine code of a machine (computer)
that it can recognize and execute.
 Components of a Machine Language Instruction:
• Mnemonic (Opcode): It represents the operation to be performed (e.g., 05 for ADD, B8 for MOV).
• Operands: The data or addresses on which the operation will be performed (e.g., registers, memory
locations, immediate values).
• Labels: Symbolic names used to represent memory addresses or instruction locations.
• Directives: Instructions that are not executed by the processor but rather instruct the assembler on
how to process the code.
 Example: B8 05 00 ; MOV AX, 05H
05 03 00 ; ADD AX, 03H
7

Machine Cycle and Bus Cycle


• MACHINE CYCLE: The machine cycle is the number of cycles needed to do either
a fetch, read or write operation. The read or write may be more than a single bus
cycle if the transaction between the CPU and memory is longer than the data
width fetched or written.
• BUS CYCLE: The bus cycle is the cycle or time required to make a single read or
write transaction between the CPU and an external device such as external
memory.

• For example, on an 8085 machine, the data bus width is 8 bits. If the CPU needs
to fetch or write 16 bits of data, that will require two bus cycles and one machine
cycle as it will use a 16-bit register directly to fetch or write the data.
Applications
8

• System Software Development (e.g., Compilers, Assemblers): Requires deep


understanding of programming language levels and machine instructions to
translate high-level code into optimized low-level code.
• Embedded Systems Programming: Uses assembly language and machine-level
instructions for direct hardware control, efficient memory usage, and real-time
responsiveness.
• Hardware-Software Interaction Analysis: Concepts like machine cycle and bus
cycle are critical in understanding how the CPU fetches, decodes, and executes
instructions, useful for performance tuning and hardware debugging.
• Operating System and Device Driver Development: Involves managing I/O
devices and memory by issuing machine-level instructions and controlling bus
cycles to ensure efficient communication between hardware and software.
Summary of the Lecture
9

1. Programming languages exist at various levels—from high-level, human-


readable code to low-level machine instructions understood by
hardware.
2. Assembly language acts as a bridge, using mnemonics to represent
machine operations.
3. Machine instructions are the binary codes directly executed by the CPU.
4. The machine cycle describes the steps a processor takes to fetch,
decode, and execute each instruction, while the bus cycle refers to the
communication between the CPU, memory, and I/O devices during these
steps.
5. Together, these concepts form the foundation of how software interacts
with and controls hardware in computing systems.
Next Lecture
10

• Addressing Modes
• Instruction Cycle
• Operations
• Types of Instruction
• Instruction Set Format
Quiz
11

Q1. Which of the following is true about assembly language?


A. It is portable across different processor architectures
B. It uses high-level control structures like loops and functions
C. It uses mnemonic codes to represent machine instructions
D. It can be directly executed by the CPU

Q2. In the machine cycle, which of the following is the correct sequence of steps?
A. Execute → Decode → Fetch → Store
B. Decode → Fetch → Execute
C. Fetch → Decode → Execute
D. Store → Execute → Fetch

Q3. What is the primary role of the bus cycle in a computer system?
A. Execute arithmetic operations
B. Manage cache memory
C. Transfer data between CPU and peripherals or memory
D. Convert machine code to high-level language
References/ Articles/ Videos
12

Text Books:
● Carl Hamacher, Zvonko Vranesic, Safwat Zaky, and Naraig Manjikian, ‘Computer
Organization and Embedded Systems’, Sixth Edition, McGraw-Hill Education, 2012.
● M. Morris Mano, ‘Computer System Architecture’, Third Edition, Pearson Education, 2023.
Reference Books:
● John P. Hayes, ‘Computer Architecture and Organization’, Third Edition, McGraw-Hill
Education, 1998.
● William Stallings, ‘Computer Organization and Architecture: Designing for Performance’,
Eleventh Edition, Pearson Education, 2021.
● Vincent P. Heuring, and Harry F. Jordan, ‘Computer Systems Design and Architecture’,
Second Edition, Pearson Education, 2003.
References/ Articles/ Videos
13

Reference Website
● https://thebittheories.com/levels-of-programming-languages-b6a38a68c0f2
● https://www.cs.toronto.edu/~gpenn/csc324/lecture2.pdf
● https://www.britannica.com/technology/computer-programming-language

Video References
● https://www.youtube.com/watch?v=RHvioCFOzZo
● https://youtu.be/LdWU8JEfPhg?si=Br2ghmi3oKfzY5sc
● https://youtu.be/aboFJeULi3I?si=8-znp_I7MqO1IO9r
● https://youtu.be/dfLlooMveMc?si=kYxlsg54urFCRG41
14
Faculty-curated videos, NPTEL,
Coursera, LinkedIn, or other relevant
learning resources
• https://onlinecourses.nptel.ac.in/noc23_cs93/preview
• https://archive.nptel.ac.in/courses/106/105/106105163/
• https://www.linkedin.com/learning/learning-assembly-language
• https://www.linkedin.com/learning/computer-architecture-essenti
als/assembly-language
• https://www.coursera.org/learn/zarchitecture-assembler-language
-part-1-the-basics
• https://www.coursera.org/learn/zarchitecture-assembler-language
-pt-2-machine-instructions
Class-Wise Feedback
15

Faculty members are encouraged to generate a class specific QR


code at the end of each session to collect brief student feedback.
This can support self-reflection, improve teaching practices, and
allow students to share insights, suggestions, or concerns
anonymously.
16

Thank You

You might also like