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

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.

Posted Date: 2/23/2013 12:02:55 AM | Location : United States







Related Discussions:- Masm procedure to perform letter case conversion, Assignment Help, Ask Question on Masm procedure to perform letter case conversion, Get Answer, Expert's Help, Masm procedure to perform letter case conversion Discussions

Write discussion on Masm procedure to perform letter case conversion
Your posts are moderated
Related Questions
Byteland county is very famous for luminous jewels. Luminous jewels are used in making beautiful necklaces. A necklace consists of various luminous jewels of particular colour. Nec

I need to create a connection to FIFA Ultimate Team 14, I want to utilize C++ specifically for the reason that that is the language I have the most experience in. There are a co

5 questions. plus i will provide the "vector.h" for the questions that needs it

What are the various types of control structures in programming? - Primarily there are 3 types of control structures in programming: Sequence, Selection and Repetition. - Se

A: Use references when you can use, and use pointers when you have to. References are generally preferred over pointers whenever you don't require "reseating". Usually this mean


Introduction to C++ C++ was developed by Bjarne Stroustrup at Bell Laboratories in 1983. Originally, it was known as " C with class". C+ as an enhancement to the C language was

Write a function that takes in a number n and divides the screen into n vertical bars, alternating black and white. (What should you do if someone puts in n=0 or n=-99?)

A:BinaryHeap.h ------------ #ifndef BINARY_HEAP_H_ #define BINARY_HEAP_H_ #include "dsexceptions.h" #include "vector.h" // BinaryHeap class // CONSTRUCTION: wi

A: The answer to this lies actually, how they used. Along ++i(PreIncrement) the variable is incremented and new value is returned. Thus it needs one instruction to increment the va