# Reverse a 16 bits number using 8086 Microprocessor

Here, we are going to learn how to reverse a 16 bits number using 8086 Microprocessor using 8 bits operation?
Submitted by Ayush Sharma, on October 26, 2018

Problem statement:

Write an assembly language program in 8086 microprocessor to reverse 16 bit number using 8 bits operation.

Example: Assume 16 bit number is stored at memory location 2050 and 2051.

Algorithm:

1. Load contents of memory location 2050 in register AL
2. Load contents of memory location 2051 in register AH
3. Assign 0004 to CX Register Pair
4. Rotate the contents of AL by executing ROL instruction using CX
5. Rotate the contents of AH by executing ROL instruction using CX
6. Store the content of AH in memory location 2050
7. Store the content of AL in memory location 2051

Program:

400 MOV AL, [2050] AL<-[2050]
404 MOV AH, [2051] AH<-[2051]
408 MOV CX, 0004 CX <- 0004
40B ROL AL, CX Rotate AL content left by 4 bits(value of CX)
40D ROL AH, CX Rotate AH content left by 4 bits(value of CX)
40F MOV [2050], AH [2050]<-AH
413 MOV [2051], AL [2051]<-AL
417 HLT Stop Execution

Explanation

1. MOV AL, [2050]: loads contents of memory location 2050 in AL
2. MOV AH, [2051]: loads contents of memory location 2051 in AH
3. MOV CX, 0004: assign 0004 to CX register pair
4. ROL AL, CX: rotate the content of AL register left by 4 bits i.e. value of CX register pair
5. ROL AH, CX: rotate the content of AH register left by 4 bits i.e. value of CX register pair
6. MOV [2050], AH: stores the content of AH in 2050 memory address
7. MOV [2051], AL: stores the content of AL in 2051 memory address
8. HLT: stops executing the program

What's New

Top Interview Coding Problems/Challenges!

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates