Microcontroller Articles

Page 20 of 33

String manipulation instructions in 8086 microprocessor

George John
George John
Updated on 30-Jul-2019 12K+ 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

8085 program to reverse 16 bit number

Arjun Thakur
Arjun Thakur
Updated on 30-Jul-2019 1K+ Views

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 More

Reset Accumulator (8085 & 8086 microprocessor)

George John
George John
Updated on 30-Jul-2019 3K+ 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

8085 program to show masking of lower and higher nibbles of 8-bit number

Chandu yadav
Chandu yadav
Updated on 30-Jul-2019 3K+ Views

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 More

8086 program to add two 8 bit BCD numbers

Arjun Thakur
Arjun Thakur
Updated on 30-Jul-2019 6K+ 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…… 

Read More

Assembly program to transfer the status of switches

Ankith Reddy
Ankith Reddy
Updated on 30-Jul-2019 575 Views

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 More

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

Chandu yadav
Chandu yadav
Updated on 30-Jul-2019 21K+ 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……

Read More

Interface 8255 with 8085 microprocessor for addition

Chandu yadav
Chandu yadav
Updated on 30-Jul-2019 2K+ Views

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 More

8086 program to add two 16 bit BCD numbers with carry

George John
George John
Updated on 30-Jul-2019 3K+ 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……

Read More

Program execution transfer instructions in 8086 microprocessor

Chandu yadav
Chandu yadav
Updated on 30-Jul-2019 10K+ 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
Showing 191–200 of 321 articles
« Prev 1 18 19 20 21 22 33 Next »
Advertisements