. We can allocate string literals and global variables in the .data section of a
ID: 3793331 • Letter: #
Question
. We can allocate string literals and global variables in the .data section of an assembly language program. Write MARS directives which would allocate the following C-like variables in the .data section.
char ch1 = ' ', ch2 = '$'; // Assume char variables/values are 1-byte
int x = 0, y = -1, z; // Assume int variables/values are 4-bytes
char *name = "Marge Simpson"; // name is a label assoc'd with the address of the first char
int iarray[250] = { 0 }; // iarray is an array of 250 ints, all initialized to 0
char carray[250] = { 0 }; // carray is an array of 250 chars, all initialized to 0
Explanation / Answer
Following are the MARS directives:
.data # This command tells the assembler that we are in the data segment
x: .word 0 # variable x is declared with initial value 0
y: .word -1,z
ch1: .byte ' '
ch2: .byte '$'
iarray: .space 1000 0 # declare 1000 bytes of storage to hold an array of 250 integers initialized to 0
carray: .space 500 0 #250 elements character array initialized to 0
name: .asciiz "Marge Simpson"
.text
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.