How are comparisons done in 8086 assembly language, Computer Engineering

Assignment Help:

Q. How are comparisons done in 8086 assembly language?

There is a compare instruction CMP. Though this instruction just sets the flags on comparing two operands (both 16 bits and 8 bits). Compare instruction just subtracts value of source from destination without storing result however setting the flag at the time of the process. Normally only 3 comparisons are more important. These are:

Result of comparison    Flag(s) affected

Destination < source    Carry flag = 1

Destination = source    Zero flag = 1

Destination > source    Carry = 0, Zero = 0

Let us look at 3 illustration which show how flags are set when numbers are compared. In illustration 1 BL is less than 10 so carry flag is set. In illustration 2 the zero flag is set since both operands are equal. In illustration 3 the destination (BX) is greater than source so both zero and carry flags are clear.

Example 1: 

 MOV BL, 02h 

 CMP BL, 10h; Carry flag = 1

Example 2:

 MOV AX, F0F0h

 MOV DX, F0F0h

 CMP AX, DX; Zero flag = 1

Example 3:

MOV BX, 200H

CMP BX, 0; Zero and Carry flags = 0


Related Discussions:- How are comparisons done in 8086 assembly language

Minimum number of two input nand gates in assembly line, An assembly line c...

An assembly line consists of 3 fail safe sensors and one emergency shutdown switch. The line must keep moving unless any of the given conditions occur: a. When the emergency swi

Explain vector reduction instructions, Vector reduction Instructions Wh...

Vector reduction Instructions When operations on vector are being decreased to scalar items as a result then these are vector reduction instructions. These instructions are ref

Explain the real time system, What is real time system? A real time sys...

What is real time system? A real time system has well explained, fixed time constraints. Processing must be done within the explained constraints, or the system will fail. It i

Write decoder functionality in only one statement in verilog, Write decoder...

Write decoder functionality in only one statement in verilog module decoder( // Outputs dout, // Inputs din ); input [3:0] din; output [15:0] dout;

How do you import data from one more access database, The process of import...

The process of importing data from one more Access database follows these common steps they are. ? Preparing the document for import operation and make ensure that extensions ar

Define the for loop, The for Loop The for loop works well where the num...

The for Loop The for loop works well where the number of iterations of the loop is known before the loop is entered. The head of the loop consists of three parts separated by s

No. of decimal places for output within a write statement, The no of decima...

The no of decimal places for output can be describes within a write statement. This statement is right. Write:/ decimals 2.

Explain error-detection code, Q. (192.8)10 - (AE.E)16 = (X)8, Find value of...

Q. (192.8)10 - (AE.E)16 = (X)8, Find value of x. Use 8's complement method. Q. Write first 10 numbers in the base 4. Q. Explain Error-Detection code & Error-correction code w

Move a layout cell, If you need to line up the cells next to each other you...

If you need to line up the cells next to each other you can resize and move layout cells as you need. You can change size of a layout cell by using one of its resize handles. Yo

Connection machine fortran, Q. Connection Machine FORTRAN? Connection M...

Q. Connection Machine FORTRAN? Connection Machine Fortran was a subsequent SIMD language developed by Thinking Machines Corporation. Connection Machine Fortran incorporated all

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd