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

471, #que411stion..

#que411stion..

Input Devices, Keyboards, microphones, and mice have generally been used as...

Keyboards, microphones, and mice have generally been used as the standard input devices for most computer systems. The popularity of video and computer games has led to the introdu

What is computer, how to use computer and how we can manage it

how to use computer and how we can manage it

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

What is blu-ray disk, Question 1 Explain the configuration steps involved ...

Question 1 Explain the configuration steps involved in CMOS setup Date and time Error halt Floppy drive A Halt on Hard disk C HDD Delay Keyboard Memory

What are the features of microprocessor ?, Previously two sections the fund...

Previously two sections the fundamentals of the workings and architecture of the central processing unit has been explained. There has been a common look at easy processor architec

Sequential writing in fcb files, Previous to we can perform writing to the...

Previous to we can perform writing to the disk it is essential to define the data transfer region using for this end the 1AH function of the 21H interruption. The 1AH function does

M s word., explain the steps to form a colourful card

explain the steps to form a colourful card

Computer security, concepts and components of computer security

concepts and components of computer security

Memory, what is cache memory

what is cache memory

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