Found 60 Articles for 8086

8086 program to subtract two 8 bit BCD numbers

Arjun Thakur
Updated on 30-Jul-2019 22:30:25

1K+ Views

In this program we will see how to subtract two 8-bit BCD numbers.Problem StatementWrite 8086 Assembly language program to subtract 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 DAS instruction to adjust the accumulator content to decimal form after the subtraction operation. The DAS will check the AC and CY flags to adjust a number to its decimal form.InputAddressData……5009950125…… Flow Diagram Program OutputAddressData……6007460100……

8086 program to add the content of one segment to another segment

Ankith Reddy
Updated on 30-Jul-2019 22:30:25

602 Views

In this program we will see how to add two 8-bit numbers which are in different segments.Problem StatementWrite 8086 Assembly language program to add content of memory location 2000:500 and 3000:600, and store the final result at 5000:700.DiscussionHere we are initializing the CX register with the base address of first operand. Also store this into data segment register. Now take the number from offset 500 to AX. Now point CX to 3000, and load DS with 3000. Then add the AX with data at position 3000:0600, and store result at AX. Now again load CX as 5000, and store the ... Read More

8255 Programmable Peripheral Interface Chip

Nancy Den
Updated on 30-Jul-2019 22:30:25

4K+ Views

Intel 8255 is a peripheral interface (PPI) chip which is programmable. It is used for the connection of peripheral devices and interfacing. We call Peripheral device also as Input Output device. We use Input Output ports for the connection of Input Output devices. Hence 8255 is a programmable Input Output port chip. It is a 40 pin chip available for dual line packaging. Power supply of +5 Volt DC is needed for its working. It consists of two programmable Input Output ports having of size 8 bits and two programmable Input Output ports of size 4 bits. We call them ... Read More

System Design Using Microcontroller

Nancy Den
Updated on 30-Jul-2019 22:30:25

1K+ Views

Microprocessors and microcontrollers can be used to design some tools or systems to perform some special tasks. Using microcontrollers, we can make different types of modules or systems. Here is a list of some systems that can be designed by using microcontrollers −Electronic Voting MachineRFID based Access Control SystemHeart Rate monitoring systemAutomatic Plant watering systemUltrasonic range finding systemWater level controlling systemGas leakage detection systemFrequency MetersTemperature measuring systemThere are many such systems that can be made by using some microcontrollers.To design a system, we have to follow some basic steps. We have to design the overview of the system, and some ... Read More

8086 program to add two 16 bit BCD numbers with carry

George John
Updated on 30-Jul-2019 22:30:25

2K+ Views

In this program we will see how to add two 16-bit BCD numbers with carry.Problem StatementWrite 8086 Assembly language program to add two 16-bit BCD numbers stored in memory offset 500H – 501H and 502H – 503H.DiscussionHere we are adding the 16-bit data byte by byte. At first we are adding lower byte and perform the DAA instruction, then Add higher bytes with carry, and again DAA to adjust. The final result is stored at location offset 600H, and if carry is present, it will be stored at 601H.We are taking two numbers 8523 + 7496 = 16019InputAddressData……50023501855029650374…… Flow Diagram Program OutputAddressData……600196016060201……

8086 program to add two 16-bit numbers with or without carry

Chandu yadav
Updated on 30-Jul-2019 22:30:25

16K+ Views

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……

8086 program to add two 8 bit BCD numbers

Arjun Thakur
Updated on 30-Jul-2019 22:30:25

4K+ Views

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…… 

Reset Accumulator (8085 & 8086 microprocessor)

George John
Updated on 30-Jul-2019 22:30:25

2K+ Views

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 More

Program execution transfer instructions in 8086 microprocessor

Chandu yadav
Updated on 30-Jul-2019 22:30:25

8K+ Views

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 More

String manipulation instructions in 8086 microprocessor

George John
Updated on 30-Jul-2019 22:30:25

9K+ Views

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 More

Advertisements