Question
How do you convert this C code to PIC24 Assembly language to produce the same output? #include pic24_all.h // check_val is an unsigned integer that
How do you convert this C code to PIC24 Assembly language to produce the same output?
#include "pic24_all.h"
// check_val is an unsigned integer that is having its number of one bits counted.
// ones_count is the count value for the number of one bits.
// first_one is the location of the first bit set.
uint16 check_val;
uint8 ones_count, first_one;
void main(void) {
check_val = 0xF508;
ones_count = 0x00; // Number of ones is initially set to 0.
int n, i = 15; // i is 15 since the number being checked is a 16 bit int.
while(check_val){
n = check_val & 0x8000;
if(n){ // Conditional checks if the ones_count needs to be incremented.
ones_count++;
first_one = i;
}
check_val<<=1; //Shift next value to the left.
i--; // Decrement i.
} while(1);
}
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started