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
Microprocessor Articles
Page 26 of 42
Assembly program to transfer the status of switches
In this program we will see how to transfer the switch values from one port to another using 8085 and 8255 chip.Problem Statement:Write 8085 Assembly language program for interfacing between 8085 and 8255. Here eight switches are connected at port A. Transfer the status of these switches into port B. In port B the LEDs are connected.Discussion:The 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 send it to port B.The control word register is looks like this. It is holding ...
Read More8086 program to subtract two 8 bit BCD numbers
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……
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 More8086 program to subtract two 16 bit BCD numbers
In this program we will see how to subtract two 16-bit BCD numbers.Problem StatementWrite 8086 Assembly language program to subtract 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 subtracting lower byte and perform the DAS instruction, then Subtract higher bytes with borrow, and again DAS to adjust. The final result is stored at location offset 600H, and if borrow is present, it will be stored at 601H.We are taking two numbers 8523 - 7496 = 1027InputAddressData……50023501855029650374…… Flow Diagram Program OutputAddressData……600276011060200……
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 More8086 program to subtract two 16-bit numbers with or without borrow
In this program we will see how to subtract two 16-bit numbers with and without borrow.Problem StatementWrite 8086 Assembly language program to subtract 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 subtract them using SUB instruction. When the Borrow is present, the CY flag will be 1, so we can store borrow into memory, otherwise only store AX into memory.InputAddressData……30002D3001FE3002AD3003BC…… Flow Diagram Program OutputAddressData……300480300541300600……
Read More8086 program to multiply two 8-bit numbers
In this program we will see how to multiply two 8-bit numbers.Problem StatementWrite 8086 Assembly language program to multiply two 8-bit numbers stored in memory address offset 500 and 501.DiscussiontIn 8086 there is MUL instruction. So the task is too simple. Here we are taking the numbers from memory and after that performing the multiplication operation. As 8-bit numbers are taken, after multiplication AX (16-bit) will store the result.InputAddressData……5009950125…… Flow Diagram Program OutputAddressData……6001D60116……
Read More8086 program to multiply two 16-bit numbers
In this program we will see how to multiply two 16-bit numbers.Problem StatementWrite 8086 Assembly language program to multiply two 16-bit number stored in memory location 3000H – 3001H and 3002H – 3003H.DiscussionWe can do multiplication in 8086 with MUL instruction. For 16-bit data the result may exceed the range, the higher order 16-bit values are stored at DX register.We are taking two numbers BCAD * FE2D = 1BADAInputAddressData……3000AD3001BC30022D3003FE…… Flow Diagram Program OutputAddressData……3004693005D03006543007BB……
Read More8086 program to divide a 16 bit number by an 8 bit number
In this program we will see how to divide 16-bit number by an 8-bit number.Problem StatementWrite 8086 Assembly language program to divide 16-bit number stored in memory location offset 501. Divide it with 8-bit number stored in 500H. Also store result at memory offset 600.Discussiont8086 has DIV instruction to perform division. Take the 8-bit number into BL, and 16-bit number into AX. Now divide AX by BL. The result will be stored at AX.We are taking two numbers 24CF / 2D = D1InputAddressData……5002D501CF50224…… Flow Diagram Program OutputAddressData……600D1……
Read More8086 program to find sum of Even numbers in a given series
In this program we will see how to add even numbers in a given seriesProblem StatementWrite 8086 Assembly language program to add the even numbers stored in a given series starts from memory offset 501. The size of the series is stored at memory offset 500.DiscussionTo do this task we are initializing the Source Index (SI) register to the starting address of the series. We are also taking the series size into CL. The CL will be used as counter. To store add we are using AL register. Initially set AL to 0. To check the number is even or ...
Read More