5)
using C and inline Assembly . For Inline Assembly Code you can just extract assembly code from //below
#include <string.h>
int _tmain(int argc, _TCHAR* argv[])
{
char source[10] = "Hello";
char dest[] = "";
int i;
for (i = 0; i < 10; ++i)
{
dest[i] = source[10-i-1];
}
__asm
{
lea esi, source
cld
lodsb
lea edi, dest
mov eax, 0xFF
stosb
lea edi, dest
cld
mov ecx, length source
mov eax, 0x44
rep stosb
lea esi, source
lea edi, dest
mov ecx, length source
cld
rep movsb
}
printf("%s",source);
printf("%s" ,"\n");
printf("%s",dest);
getchar();
return 0;
}
5. (20 pts) Recall that we learnt that two threads consisting of n 1 and m 1 instructions, respectively, may interleave on a general time-shared CPU in one of ("+m) ways (and all the assumptions...