Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

The starter project has a file perfect.S. It has an empty version of perfect_cube in it as a starting point. Your task is to implement

The starter project has a file perfect.S. It has an empty version of perfect_cube in it as a starting point. Your task is to implement the function perfect_cube in assembly language:\ \ /**\ * Determine if a number is a perfect cube.\ * x0 - Passed in value: num\ * Returns 1 if num is a perfect cube.\ */\ perfect_cube:\ ret\ This function works like this:\ \ long _perfect_cube(unsigned long num) {\ unsigned long n;\ unsigned long n_sqr = 1;\ unsigned long n_cube = 1;\ unsigned long max;\ \ max = 1;\ max <<= 32;\ \ for(n=1; n < max; n++) {\ if(n_cube == num) {\ break;\ }\ \ if(n_cube > num) {\ return 0;\ }\ \ n_cube += 3 * n_sqr + 3 * n + 1;\ n_sqr += 2 * n + 1;\ }\ \ return 1;\ } \ This function determines if a number is a perfect cube, meaning that cube(num)3 == num. It does this in the dumbest way possible. If computes 13, 23, 33, etc. Starting at 1, it computes n3 for all values up to 4294967295. When it finds a value that is equal to num, we have found the cube and the number is a perfect cube, so it returns a value of 1 (for true). If it finds a value greater than num, we have gone past the num, so the number is not a perfect cube. In that case, it returns a value of 0 (for false).

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Concepts International Edition

Authors: David M. Kroenke

6th Edition International Edition

0133098222, 978-0133098228

More Books

Students also viewed these Databases questions