You are to write an Intel x86 assembly language program which makes use of a loop to access the individual elements of the array containing the ASCII characters. You are to initialize the array with the following db directive: message db 'juMping JAck flaSh #1',10, 0 The ASCII character represented by decimal value 10 (0x0A) is the line feed character (similar to endl in C++). The byte with all zeros (the so called NULL character in ASCII) is used to represent the end of the string. Before entering the loop, which performs the case conversion, the program is to display on the screen the (original) contents of the string. Within the loop, the program is to determine whether the current character represents a lower case character. If the character is lower case, it is to be converted into its uppercase version. Non-alphabetic characters are to remain as is. Upon convertingall the lower case characters, the program is to display the string on the screen. Here is an example of a correct program execution: ted@cmos NASM 2:25pm >to_upper_with_display juMping JAck flaSh #1 JUMPING JACK FLASH #1 ted@cmos NASM 2:25pm > Test your program by running the executable from the Linux command prompt. If it works properly, you are done. If it does not work properly, debug your assembly language program using gdb. Consider the task of converting an array of ASCII characters from lower case into their upper-case equivalents. Any non-alphabetic characters are to remain as is. If the character is already in upper-case form, then it should remain as is. The last character in the array is the NULL character (ASCII code = 0). The lowercase ASCII characters a, b, c, ... z are represented with the ASCII codes 97 through to 122. To convert a lower-case ASCII alphabetic character into its upper-case equivalent, we simply subtract decimal 32 from the lower case ASCII value. For example, For example, A = a - 32 (65 = 97 - 32). I have written a code below please make changes to the part that is highlighted in gray. It is written in nasm
You are to write an Intel x86 assembly language program which makes use
of a loop to access the individual elements of the array containing the ASCII
characters. You are to initialize the array with the following db directive:
message db 'juMping JAck flaSh #1',10, 0
The ASCII character represented by decimal value 10 (0x0A) is the line feed
character (similar to endl in C++). The byte with all zeros (the so called NULL character in ASCII) is used to represent the end of the string.
Before entering the loop, which performs the case conversion, the program is to display on the screen the (original) contents of the string. Within the loop, the program is to determine whether the current character represents a lower case character. If the character is lower case, it is to be converted into its uppercase version. Non-alphabetic characters are to remain as is. Upon convertingall the lower case characters, the program is to display the string on the screen. Here is an example of a correct program execution:
ted@cmos NASM 2:25pm >to_upper_with_display
juMping JAck flaSh #1
JUMPING JACK FLASH #1
ted@cmos NASM 2:25pm >
Test your program by running the executable from the Linux command
prompt. If it works properly, you are done. If it does not work properly, debug your assembly language program using gdb.
Consider the task of converting an array of ASCII characters from lower case
into their upper-case equivalents. Any non-alphabetic characters are to remain
as is. If the character is already in upper-case form, then it should remain as
is. The last character in the array is the NULL character (ASCII code = 0). The lowercase ASCII characters a, b, c, ... z are represented with the ASCII codes 97 through to 122. To convert a lower-case ASCII alphabetic character
into its upper-case equivalent, we simply subtract decimal 32 from the lower
case ASCII value. For example, For example, A = a - 32 (65 = 97 - 32).
I have written a code below please make changes to the part that is highlighted in gray. It is written in nasm
Step by step
Solved in 2 steps with 4 images