Reference no: EM13165501
Write an ARM assembly language subroutine that performs according to the following specification (Caesar cypher).
Given a mixed case alphabetic string from the C driver program, convert it to all upper case and create a new string for return to the C program. The new string has the characters from the old string replaced by upper case characters from the alphabet offset by the given amount in the alphabet.
If the character string is 'Abc' with an offset of -3 the new string would be 'XYZ'. For characters in the alphabet such as 'mno', the alphabet is 'JKL'. The beginning of the alphabet is wrapped to the end.
To convert a character to upper case, AND the character with 0xDF. Do not process the space character (leave it as a space) or the NULL byte terminator but be sure to include the NULL byte in the new string.
The C driver code:
/* C code for cipher */
#include <stdio.h>
#include <stdlib.h>
extern char * cypher( char * s, int offset ) ;
int main( int argc, char * argv[] )
{
char string[] = "The quick brown fox jumped over the lazy dog" ;
char * result ;
int offset = -5 ;
result = cypher( string, offset ) ;
printf( "Original:%s\n", string ) ;
printf( "Coded: %s\n", result ) ;
exit( 0 ) ;
}
The assembly routines definition is:
extern char * cypher( char * s, int offset )
where char * s is the pointer to the string,
int offset is the integer distance to move
returns a pointer to a string.
To determine the length of the string in order to reserve space for the new string use the library routine strlen. Register a1 contains a pointer to the string to measure and on return register a1 has the number of characters in the string. You need to add one to this result since strlen does not account for the null byte at the end.
You can pass this length to the malloc library routine to obtain space for the new string.
What is the empirical formula of the hydrocarbon
: 4.236-g sample of a hydrocarbon (CxHy) is combusted in O2 completely to give 3.810 g of H2O and 13.96 g of CO2. What is the empirical formula of the hydrocarbon?
|
Write a test program that prompts the user
: public static int binaryToDecimal(String binaryString)Write a test program that prompts the user to enter a binary string and displays its decimal equivalent.
|
What mass of iron would be required to cover
: What mass of iron would be required to cover a football playing surface of 120 yds × 60 yds to a depth of 1.0 mm?
|
Functions to make a main program
: write the required functions to make a main program that is already written
|
Length of the string in order to reserve space
: To determine the length of the string in order to reserve space for the new string use the library routine strlen. Register a1 contains a pointer to the string to measure and on return register a1 has the number of characters in the string. You..
|
What is the boiling point of water in breckenridge
: In Breckenridge, Colorado, the typical atmospheric pressure is 514 torr. What is the boiling point of water (ΔHvap = 40.7 kJ/mol) in Breckenridge?
|
Calculates the sum of the cube roots of two integers.
: Wrtie a program that calculates the sum of the cube roots of two integers. The program should use the following functions as well as a main funcion. 1) enter one positive value 2) compute the cube root of one integer 3) report the value of two intege..
|
What was the initial concentration
: A zero-order reaction has a constant rate of 1.60×10-4 . If after 35.0 seconds the concentration has dropped to 2.50×10-2 , what was the initial concentration?
|
You must also do the work of sorting
: You must also do the work of sorting in the method. You cannot just call another library method. Use loops to show the data in the original array as well as the repopulated array in ascending order.
|