Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
8086 Articles
Page 2 of 5
8086 program to reverse 16 bit number using 8 bit operation
In this program we will see how to reverse a 16-bit number using 8-bit operation.Problem StatementWrite 8086 Assembly language program to reverse a 16-bit number which is stored at location 2000 and 2001, using 8-bit operations.Discussion8086 has 8-bit operation for rotation. For 16-bit number, we are taking the bytes from 2000 and 2001. Then rotate each byte with ROL instruction. After that put the numbers in reverse form to reverse the bytes. Like the content of 2000 will be stored at 2001 after reverse, and content of 2001 will be stored at 2000 after reverse.InputAddressData……2000AB2001CD…… Flow Diagram ProgramOutputAddressData……2000DC2001BA……
Read More8086 program to reverse 8 bit number using 8 bit operation
In this program we will see how to reverse an 8-bit number using 8-bit operation.Problem StatementWrite 8086 Assembly language program to reverse an 8-bit number which is stored at location 2000, using 8-bit operations.Discussion8086 has 8-bit operation for rotation. we are taking the byte from 2000. Then rotate that byte with ROL instruction. After that put the number into memory in reverse form.InputAddressData……2000AB…… Flow Diagram ProgramOutputAddressData……2000BA……
Read More8086 program to sort an integer array in descending order
In this program we will see how to sort array elements in descending order.Problem StatementWrite 8086 Assembly language program to sort in descending order of the elements in a given array, which is starts from memory offset 501. The size of the series is stored at memory offset 500.DiscussionHere we are sorting the number in bubble sorting technique. In this sorting technique there will be n passes for n different numbers. In ith pass the ith smallest element will be placed at the end. This is comparison based sort. We taking two consecutive numbers, compare them, and then swap them ...
Read MoreInterface 8255 with 8085 microprocessor for addition
In this program we will see how to perform addition by using ports to take data and send the result into the port.Problem StatementWrite 8085 Assembly language program for interfacing between 8085 and 8255. Here Port A and Port B are holding two values, take the numbers from port A and B, add them, and send the result at port C.DiscussionThe task is very simple. At first we have to setup the control word register of 8255 chip. After that we will take the input from port A and B, add the content, and send it to port C.The control ...
Read MoreGeneral purpose registers in 8086 microprocessor
The general purpose registers are used to store temporary data in the time of different operations in microprocessor. 8086 has eight general purpose registers. The description of these general purpose registersRegisterFunctionAXThis is the accumulator. It is 16-bit registers, but it is divided into two 8-bit registers. These registers are AH and AL. AX generally used for arithmetic or logical instructions, but it is not mandatory in 8086.BXBX is another register pair consisting of BH and BL. This register is used to store the offset values.CXCX is generally used as control register. It has two parts CH and CL. For different looping ...
Read MoreString manipulation instructions in 8086 microprocessor
String is a group of bytes/words and their memory is always allocated in a sequential order. String is either referred as byte string or word string. Here we will see some instructions which are used to manipulate the string related operations.The String manipulation instructions are as follows.OpcodeOperandDescriptionREPInstructionUsed to repeat the given instruction till CX ≠ 0.REPE/REPZInstructionUsed to repeat the given instruction until CX = 0 or zero flag ZF = 1.REPNE/REPNZInstructionUsed to repeat the given instruction until CX = 0 or zero flag ZF = 1.MOVS/MOVSB/MOVSW----Used to move the byte/word from one string to another.COMS/COMPSB/COMPSW----Used to compare two string bytes/words.INS/INSB/INSW----Used ...
Read MoreProgram execution transfer instructions in 8086 microprocessor
These instructions are used to transfer/branch the instructions during an execution. There are two types of branching instructions. The unconditional branch and conditional branch.The Unconditional Program execution transfer instructions are as follows.OpcodeOperandDescriptionCALLaddressUsed to call a procedure and save their return address to the stack.RET----Used to return from the procedure to the main program.JMPaddressUsed to jump to the provided address to proceed to the next instruction.LOOPaddressUsed to loop a group of instructions until the condition satisfies, i.e., CX = 0 Now let us see the Conditional Program execution transfer instructions.OpcodeOperandDescriptionJCaddressUsed to jump if carry flag CY = 1JNCaddressUsed to jump if no ...
Read MoreReset Accumulator (8085 & 8086 microprocessor)
In this section we will see how to reset the accumulator content in Intel 8085 and 8086 microprocessors.In both of the microprocessors, there are four instructions to do the work. These instructions are doing the same in both cases.Let us see the 8085 instructions first to reset the Accumulator.MnemonicsDescriptionMVI A, 00HThis instruction loads 00H into the accumulator. This is two-byte instruction.ANI 00HThis instruction performs AND operation between accumulator and 00H. This is also a two-byte instruction.XRA AThis one-byte instruction is performing the XOR operation with accumulator itself.SUB ASUB A is another one-byte instruction. It subtracts accumulator value from the accumulator. The ...
Read More8086 program to add two 8 bit BCD numbers
In this program we will see how to add two 8-bit BCD numbers.Problem StatementWrite 8086 Assembly language program to add two 8-bit BCD number stored in memory address offset 600.DiscussionThis task is too simple. Here we are taking the numbers from memory and after adding we need to put DAA instruction to adjust the accumulator content to decimal form. The DAA will check the AC and CY flags to adjust a number to its decimal form.InputAddressData……5009950125…… Flow Diagram Program OutputAddressData……6002560101……
Read More8086 program to add two 16-bit numbers with or without carry
In this program we will see how to add two 16-bit numbers with and without carry.Problem StatementWrite 8086 Assembly language program to add two 16-bit number stored in memory location 3000H – 3001H and 3002H – 3003H.Discussion8086 is 16-bit register. We can simply take the numbers from memory to AX and BX register, then add them using ADD instruction. When the Carry is present store carry into memory, otherwise only store AX into memory.We are taking two numbers BCAD + FE2D = 1BADAInput:AddressData……3000AD3001BC30022D3003FE…… Flow Diagram ProgramOutputAddressData……3004DA3005BA300601……
Read More