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
Microprocessor Articles
Page 25 of 42
8085 program to count the number of ones in contents of register B
In this program, we will see how to count the number of 1’s in an 8-bit number stored in register B.Problem StatementWrite 8085 Assembly language program to count the number of 1s in 8-bit number stored in register B.DiscussionIn this program, we are using the rotate operation to count the number of 1’s. As there are 8 different bits in 8-bit number, then we are rotating the number eight times. we can use RRC or RLC. Here we have used the RRC instruction. This instruction sends the LSb to MSb also to carry flag. So after each iteration, we can ...
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 More8085 program to find nth power of a number
In this program we will see how to find nth power of a number.Problem StatementWrite 8085 Assembly language program to find nth power of a number. The base is stored at location 8000H, and the exponent is stored at 8001H. Store the result at 8002H.DiscussionIn 8085, we cannot perform the multiplication operation directly. Here we are writing a subroutine to perform the multiplication by using repetitive addition. To perform nth power of a number, we have to multiply the number n times. The n value is used as a counter. If the base is 03H, exponent is 05H, then 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 More8085 program to find minimum value of digit in the 8 bit number
In this program we will see how to find the minimum digit from a two-digit number.Problem StatementWrite 8085 Assembly language program to find the minimum digit from a two-digit number. The number is stored at location 8000H, store the result at 8050H.DiscussionHere we are performing this task by using masking operation. Each digit takes one nibbles. We are masking the upper nibble by ANDing with 0FH (0000 1111). Store the lower nibble into another register. After that, we are taking the upper nibble. To get it, we are shifting the number to the right four times to convert lower nibble ...
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 More8085 program to reverse 16 bit number
In this program we will see how to reverse the digits of a 16-bit number using 8085.Problem StatementWrite 8085 Assembly language program to reverse a 16-bit number stored at location 8000H-8001H. Also, store the result at 8050H – 8051H.DiscussionHere the task is too simple. There are some rotating instructions in 8085. The RRC, RLC are used to rotate the Accumulator content to the right and left respectively without carry. We can use either RRC or RLC to perform this task. In the final result each digit of the H and L are reversed, and also the H and L values ...
Read More8086 program to add two 16 bit BCD numbers with carry
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……
Read More8085 program to show masking of lower and higher nibbles of 8-bit number
In this program we will see how to lower and upper nibbles are masked in 8085.Problem StatementWrite 8085 Assembly language program to mask the upper and lower nibble of an 8-bit number. The number is stored at location 8000H. Lower and Upper nibbles will be stored at location 8001H and 8002H.DiscussionThe masking is basically ANDing two numbers. When we want to mask the upper nibble of an 8-bit number say 2D (0010 1101), then we will AND with 0F (0000 1111), so we will get 0D (0000 1101). By masking with F0 (1111 0000), the result will be 20 (0010 ...
Read More8086 program to add the content of one segment to another segment
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