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

Ipv4 and ipv6, IPv6 documented in 1994 (RFC 1752) is still a collection...

IPv6 documented in 1994 (RFC 1752) is still a collection of Draft and Proposed standards Several pre-standard implementations exist IPv6 was intended to be a pragmatic up

Kirchhoff’s law, A car battery is of 12 V. Eight dry cells of 1.5 V each ...

A car battery is of 12 V. Eight dry cells of 1.5 V each connected in series can give 12 V. But such cells are not used in starting a car. Why?

Constant , Constant: In contrast to a variable, which is used as ident...

Constant: In contrast to a variable, which is used as identifier for a value and which can change, constants are identifiers that are used for values, which cannot be changed.

Interpreter, Interpreter: An interpreter is a program that translates...

Interpreter: An interpreter is a program that translates each statement in the programming language into machine code and runs it.  Such an arrangement means that to run the

Democracy and ICT, Ask questio Discuss the idea of democracy and its overl...

Ask questio Discuss the idea of democracy and its overlapping meanings for IS design. How would you democratically design IS? How does participation help the practice of democrac

Java programming, what are the phases of oo progarmming or java?

what are the phases of oo progarmming or java?

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

Explain the concept of linking and relocation, Question 1 Write an assembl...

Question 1 Write an assembly language program to find the highest among two numbers Question2 Draw and explain the internal architecture of 8085 briefly Question3 Explai

Binary codes, Binary Codes: We have seen earlier that digital computer...

Binary Codes: We have seen earlier that digital computers use signals that have two distinct values and there exists a direct analogy between binary signals and binary digits.

DBMS, what is the meaning of data definition

what is the meaning of data definition

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