Masm procedure to perform letter case conversion, C/C++ Programming

Assignment Help:

Assignment:  write a C program and a MASM procedure.  The C program calls the MASM procedure to perform letter case conversion.

Text sections covered:  12.1 to 12.3.1

Write a C program containing two input arrays and two output arrays.  The first input array consists of lower case alphabetical characters.  The second input array consists of upper case alphabetical characters.  This C program will call a MASM procedure that converts the characters in the input array to either upper or lower case and places them in the output array.  The procedure is called with the following parameters:

            MASMprocedure (input_array, output_array, input_array_length, to_lower);

input_array                  =          the input array as described above

output_array                =          the output array as described above

input_array_length      =          the length (in bytes) of the input array

to_lower                      =          Boolean variable (false = convert to upper case,
                                                true = convert to lower case)

The MASMprocedure declaration in your C program should have a return type of void.

These C variables are to be declared as follows:

char     input_array[] = "lower or upper case letters";

char     output_array[sizeof input_array];

long     input_array_length;

bool     to_lower;

Your C program should call the MASM procedure twice.  The first call should be with the array containing lower case letters that your MASM procedure will convert to upper case.  The second call should be with the array containing upper case letters that your MASM procedure will convert to lower case.

When your C program completes, display both the input arrays and the output arrays.

A few notes you should be aware of:

1)      You do not have to use a header file as described on page 413.  Simply put the extern directive in your main .cpp file.

2)      If you wish to debug your C program (or step through it using breakpoints), you need to set the debug option in the general screen for the C++ compiler.  See the Debug Information

3)      C/C++ long variables are passed as DWORD types to MASM.

4)      C/C++ Boolean variables are passed as BYTE types to MASM.

5)      You should account for the trailing NULL when handling C/C++ strings.

6)      Any use of a JMP instruction in your MASM procedure should use the syntax:

                                     jmp            short         

7)      Create both the .asm and .cpp programs in the same project file within Visual Studio.  Use the same settings for the .asm program as any other .asm program you have written in this class.


Related Discussions:- Masm procedure to perform letter case conversion

Using substitution model write corresponding constructor, (a) Pairs may be ...

(a) Pairs may be represented using a lambda. Using only lambdas, create a procedure (triple x y z) that constructs a triplet. You may NOT use car, cons or cdr in the triplet proced

Define functions with arguments and return values, Define Functions with ar...

Define Functions with arguments and return values? The earlier category functions receive values from the calling function through arguments but do not send back any value rath

Padovan string, padovan string for n natural numbers p(n)=1,p(n)=2,p(n)=3 a...

padovan string for n natural numbers p(n)=1,p(n)=2,p(n)=3 and use padovan formul to get output 1

Enumeration types, Write a simple program in C++ to investigate the safety ...

Write a simple program in C++ to investigate the safety of its enumeration types. Include at least 10 different operations on enumeration types that are incorrect/unsafe things to

Square maze, SquareMaze The SquareMaze class should be declared and defined...

SquareMaze The SquareMaze class should be declared and defined in maze.h and maze.cpp, respectively. Each SquareMaze object will represent a randomly-generated square maze and its

Simple program of c++ , Simple program of c++: int main() {    i...

Simple program of c++: int main() {    int   bushels;    float dollars, rate;                 cout                 cin >> dollars;                 cout

Artificial block, What if I cannot wrap the local in an artificial block? n...

What if I cannot wrap the local in an artificial block? need help on Artificial Block in c++.

Change to palindrome, a palindrome is a string that reads the same from bho...

a palindrome is a string that reads the same from bhote the ends

Output, #include void func(int num, b=5) { auto int total=0; static ...

#include void func(int num, b=5) { auto int total=0; static int sum=0; for ( int i=num; i>0 ; i--) total+=i; sum+=total; cout

When are temporary variables formed by c++ compiler?, A: Provided that func...

A: Provided that function parameter is "const reference", compiler create temporary variable in following two ways. a) The actual argument is the correct type, however it isn't

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