# Homework Solution: b) What message will printf print for part a) (3 pts)…

Question 3 (10 pts): Memory Map Practice a) In order to debug an embedded application or to understand an embedded application developed by someone else, it is often necessary to understand how data memory is modified by C code statements. Fill in the given memory map after the C fragment below has been executed. Note: The TM4C123 uses Little Endian ordering for memory (i.e. lower significant bytes of an element are stored at lower addresses). (7 pts) char msg[4] = “Sal”; short age[1] = {0x2070}; int speed[2]; msg[3] = 0x61; msg[1] = 0x6F; age[0] = age[0] + 2; speed[0] = 0x696C6345; age[3] = 0x7370; age[4] = 0x65; printf(“%s”, msg);
 Memory Location 0xFF00 0xFF01 0xFF02 0xFF03 0xFF04 0xFF05 0xFF06 0xFF07 0xFF08 0xFF09 0xFF0A 0xFF0B 0xFF0C 0xFF0D Value Array msg age speed Index 0 1 2 3 0 0 1
b) What message will printf print for part a) (3 pts)
Question 3 (10 pts): Memory Map Practice a) In order to debug an embedded application or to understand an embedded application developed by someone else, it is often necessary to understand how data memory is modified by C code statements Fill in the given memory map after the C fragment below has been executed. Note: The TM4C123 uses Little Endian ordering for memory (i.e. lower significant bytes of an element are stored at lower addresses).(7 pts) char msq[4] "Sal"; short age [1] {0x2070}; int, speed [2]: msg [3] msg [1] 0x61; 0x6F; age [0] = age [0] + 2; speed [0] 0x696C6345; age [3] age [4] = 0x7370; = 0x65; printf("%s", msg); Mem Location 0xFF00lOxFF01 0xFF02 0xFF03 0xFF04 0xFF05 0xFF06 0xFF07 0xFF08 0xFF09 0xFFOAlOxFFOB 0xFFOCIOxFFOD Value ms age speed Index0 0 0 1 b) What message will printf print for part a)(3 pts)

Question 3 (10 pts): Remembrance Map Practice

a) In classify to debug an embedded impression or to discern an embedded impression exposed by someone else, it is frequently needful to discern how postulates remembrance is qualified by C statute statements. Fill in the abandoned remembrance map behind the C morsel underneath has been produced. Note: The TM4C123 uses Little Endian classifying ce remembrance (i.e. inferior symbolical bytes of an disunite are stored at inferior addresses). (7 pts)

char msg[4] = “Sal”;

insufficient epoch[1] = {0x2070};

int hurry[2];

msg[3] = 0x61;

msg[1] = 0x6F;

age[0] = epoch[0] + 2;

speed[0] = 0x696C6345;

age[3] = 0x7370;

age[4] = 0x65;

printf(“%s”, msg);

 Memory Location 0xFF00 0xFF01 0xFF02 0xFF03 0xFF04 0xFF05 0xFF06 0xFF07 0xFF08 0xFF09 0xFF0A 0xFF0B 0xFF0C 0xFF0D Value Array msg age speed Index 0 1 2 3 0 0 1

b) What messepoch succeed sculpturef sculpture ce disunite a) (3 pts)

Question 3 (10 pts): Remembrance Map Practice a) In classify to debug an embedded impression or to discern an embedded impression exposed by someone else, it is frequently needful to discern how postulates remembrance is qualified by C statute statements Fill in the abandoned remembrance map behind the C morsel underneath has been produced. Note: The TM4C123 uses Little Endian classifying ce remembrance (i.e. inferior symbolical bytes of an disunite are stored at inferior addresses).(7 pts) char msq[4] “Sal”; insufficient epoch [1] {0x2070}; int, hurry [2]: msg [3] msg [1] 0x61; 0x6F; epoch [0] = epoch [0] + 2; hurry [0] 0x696C6345; epoch [3] epoch [4] = 0x7370; = 0x65; sculpturef(“%s”, msg); Mem Location 0xFF00lOxFF01 0xFF02 0xFF03 0xFF04 0xFF05 0xFF06 0xFF07 0xFF08 0xFF09 0xFFOAlOxFFOB 0xFFOCIOxFFOD Treasure ms epoch hurry Index0 0 0 1 b) What messepoch succeed sculpturef sculpture ce disunite a)(3 pts)

## Expert Solution

Editable statute:

a)

Using C Statute:

#include<stdio.h>

int ocean()

{

char msg[4] = “Sal”;

insufficient epoch[1] = {0x2070};

int hurry[2];

msg[3] = 0x61;

msg[1] = 0x6F;

age[0] = epoch[0] + 2;

speed[0] = 0x696C6345;

age[3] = 0x7370;

age[4] = 0x65;

printf(“Ce msg[0]: %02xn”, msg[0]);

printf(“Ce msg[1]: %02xn”, msg[1]);

printf(“Ce msg[2]: %02xn”, msg[2]);

printf(“Ce msg[3]: %02xn”, msg[3]);

printf(“Ce epoch[0]: %04xn”, epoch[0]);

printf(“Ce hurry[0]: %08xn”, hurry[0]);

printf(“Ce hurry[1]: %08xn”, hurry[1]);

}

b)

Using C Statute:

#include<stdio.h>

int ocean()

{

char sculpture[14];

//each treasure from the disunite a

print[0]=0x53;

print[1]=0x6F;

print[2]=0x6C;

print[3]=0x61;

print[4]=0x72;

print[5]=0x20;

print[6]=0x45;

print[7]=0x63;

print[8]=0x6C;

print[9]=0x69;

print[10]=0x70;

print[11]=0x73;

print[12]=0x65;

print[13]=0x00;

//display the messepoch ce sculpturef from disunite a)

printf(“%c%c%c%c%c%c%c%c%c%c%c%c%c%c”, sculpture[0],print[1],print[2],print[3],print[4],print[5],print[6],

print[7],print[8],print[9],print[10],print[11],print[12],print[13]);

}