What help with this Assembly language Subroutine, Basic Computer Science

Assignment Help:
Write an ARM subroutine which will extract a substring from a string. You will need to use the library routine malloc to allocate memory for the new string.

The subroutine signature is:
char * mysubstring( char string[], int start, int end ) ;

where char string[] is the string to extract the substring from; it is passed into the ARM routine as a pointer in a1 to the first element of the character (byte) array,
int start is the first character to extract from the string to the substring; it is passed into the ARM routine as a value in a2,
int end is the last character to extract from the string to the substring; it is passed into the ARM routine as a value in a3.
The return is a pointer to the new string.

#include
#include

extern char * mysubstring( char string[], int start, int end ) ;

int main( int argc, char * argv[] )
{
char tosub[] = "this is the string to substring" ;
char * result ; /* pointer to new string */

result = mysubstring( tosub, 12, 17 ) ;
printf( "String: %s\nSubstring: %s\n", tosub, result ) ;

exit( 0 ) ;

}

To use the library routine malloc you need to calculate the number of bytes of memory you are requesting, put that number in a1 and bl malloc. Upon return from the library routine a1 will have a pointer to the allocated memory.

You may assume that the start and end values are within the string and malloc returns a proper pointer value.

Related Discussions:- What help with this Assembly language Subroutine

What is multi-protocol label switching (mpls), QUESTION (a) What is Mul...

QUESTION (a) What is Multi-Protocol Label Switching (MPLS)? List the main advantage of running MPLS in a service provider network (b) What is a label? Explain the structure

Languages used in artificial intelligence, R e presentations/Languages Us...

R e presentations/Languages Used: Many people are taught Artificial Intelligence with the opening line: "The three most essential things in Artificial Intelligence are repres

Computer architecture, #formular for calculating speed up factor fo super s...

#formular for calculating speed up factor fo super scalar architecture, super pipeline architecture and VLIW with m different functional units.

Python Identifiers, A Python identifier is a name used for classify a funct...

A Python identifier is a name used for classify a function, variable, class, module or any other object. An identifier begins with a letter A to Z or a to z or an underscore (_) fo

Ms-powerpoint presentation for promoting national parks, Ms-PowerPoint Pres...

Ms-PowerPoint Presentation for Promoting National Parks You have been hired by Tourism Department to make a presentation to the travel agents from different countries. Design

Briefly explain art driven character design, Question 1 What is role playi...

Question 1 What is role playing game? Explain the special design issues for sports games Question 2 What do you mean by collusion? Explain its types Question 3 Wri

Telephobn directory, #que1) Create telephone directory. • The heading shoul...

#que1) Create telephone directory. • The heading should be 16-point Arial font in bold • The rest of the document should use 10-point font size • Other headings should use 10-point

Types of browsers, Types of Browsers: Line Mode Browsers : The initia...

Types of Browsers: Line Mode Browsers : The initial browsers were line mode text browsers. These browsers were simple and used to display text line by line. They used to prov

Discrete Math, 3. Let f, g: R?R, where g(x) 1 - x + x2 and f (x)=ax + b. I...

3. Let f, g: R?R, where g(x) 1 - x + x2 and f (x)=ax + b. If (g ? f )(x)= 9x2 - 9x + 3, determine a, b.

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd