You are on page 1of 2

Department of Computer Science

School of Systems and Technology

University of Management & Technology

Computer Organization & Assembly Language Lab Student Name: Bilawal Hassan

Student ID: F2021266175

Resource Person: Waseem Iqbal Section: V-5

Lab Report # 05

Title: Conditional flags, Control flags

Objectives:
The objectives of this lab report are to understand the conditional flags and control flags in assembly
language, and to learn how to use them effectively in programming.

Understanding:
Conditional flags are used to test the result of an instruction, and to change the flow of control in the program
based on that result. Some of the conditional flags in assembly language are:
 Zero flag (ZF): set to 1 if the result of an operation is zero
 Sign flag (SF): set to 1 if the result of an operation is negative
 Carry flag (CF): set to 1 if the result of an addition operation exceeds the maximum value that can be
stored in the register
 Overflow flag (OF): set to 1 if the result of an operation is too large to be stored in the register
 Parity flag (PF): set to 1 if the number of set bits in the result of an operation is even
Control flags are used to control the operation of the processor, and to enable or disable certain features.
Some of the control flags in assembly language are:
 Direction flag (DF): determines the direction of string operations (forward or backward)
 Interrupt flag (IF): determines whether interrupts are enabled or disabled
 Trap flag (TF): determines whether the processor enters single-step mode after executing each
instruction
 Alignment flag (AF): determines whether the processor generates an alignment check exception when
executing unaligned memory accesses
 Virtual 8086 mode flag (VM): determines whether the processor is in virtual 8086 mode

Learning/Conclusions:

In conclusion, conditional flags and control flags are important concepts in assembly language programming.
They allow programmers to test the result of an instruction, and to control the operation of the processor. By
understanding these flags and how to use them effectively, programmers can write more efficient and reliable
code.

You might also like