21...............................
Answer:
oid changeCase (char char_array[], int array_size ) {
__asm{
mov eax, char_array;
mov edi, 0;
readArray:
cmp edi, array_size;
jge exit;
mov ebx, edi;
shl ebx, 2;
mov cl, [eax + ebx];
check:
//working on it
cmp cl, 0x41;
jl next_indx;
cmp cl, 0x7A;
jg next_indx;
cmp cl, 'a';
jl convert_down;
jge convert_up;
convert_down:
or cl, 0x20; //make it lowercase
jmp write;
convert_up:
and cl, 0x20;
jmp write;
write:
mov byte ptr [eax + ebx], cl
next_indx:
inc edi;
exit:
cmp edi, array_size;
jl readArray;
mov char_array, eax;
}
}
Explanation:
- Move char_array to eax as it is base image
.
- Use ebx as offset
.
- Use ecx as the storage register
.
- check if cl is <= than ASCII value 65 (A)
.
False because it might damage it more but if it was recommended by lots of people i mean the software then its true
Overflow occurs when the magnitude of a number exceeds the range allowed by the size of the bit field. The sum of two identically-signed numbers may very well exceed the range of the bit field of those two numbers, and so in this case overflow is a possibility.
Answer:
Memory-mapped I/O and port-mapped I/O are two complementary methods of performing input/output between the central processing unit and peripheral devices in a computer. An alternative approach is using dedicated I/O processors, commonly known as channels on mainframe computers, which execute their own instructions.