How to resolve the algorithm Bitwise operations step by step in the 8051 Assembly programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Bitwise operations step by step in the 8051 Assembly programming language

Table of Contents

Problem Statement

Write a routine to perform a bitwise AND, OR, and XOR on two integers, a bitwise NOT on the first integer, a left shift, right shift, right arithmetic shift, left rotate, and right rotate. All shifts and rotates should be done on the first integer with a shift/rotate amount of the second integer. If any operation is not available in your language, note it.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Bitwise operations step by step in the 8051 Assembly programming language

Source code in the 8051 programming language

; bitwise AND
anl a, b

; bitwise OR
orl a, b

; bitwise XOR
xrl a, b

; bitwise NOT
cpl a

; left shift
inc b
rrc a
loop:
rlc a
clr c
djnz b, loop

; right shift
inc b
rlc a
loop:
rrc a
clr c
djnz b, loop

; arithmetic right shift
push 20
inc b
rlc a
mov 20.0, c
loop:
rrc a
mov c, 20.0
djnz b, loop
pop 20

; left rotate
inc b
rr a
loop:
rl a
djnz b, loop

; right rotate
inc b
rl a
loop:
rr a
djnz b, loop


  

You may also check:How to resolve the algorithm Spinning rod animation/Text step by step in the BASIC256 programming language
You may also check:How to resolve the algorithm Sort stability step by step in the Oz programming language
You may also check:How to resolve the algorithm Kaprekar numbers step by step in the CLU programming language
You may also check:How to resolve the algorithm Bitmap/Midpoint circle algorithm step by step in the bash programming language
You may also check:How to resolve the algorithm Associative array/Iteration step by step in the VBScript programming language