OK - this is really just simple arithmetic with hex and binary. I'll get you started - see if you can fill in the rest...
| Starting Address (Binary) | Starting Add. (Hex)| Ending Add. (Hex)|
4MB RAM1 | 0000 0000 0000 0000 0000 0000 | 00 00 00 | 3F FF FF |
4MB RAM2 | 0100 0000 0000 0000 0000 0000 | 40 00 00 | |
------------------------------------------------------------------------------------
64kB ROM1 | 1010 0000 0000 0000 0000 0000 | A0 00 00 | |
64kB ROM2 | | | |
A useful quantity to remember is 1 MB == 100000 in hexadecimal.
Also note that the unit for byte is B
(upper case), mega is M
(upper case) and kilo is k
(lower case). So it's kB
for kilobytes, and MB
for megabytes. If you think this is pedantic then note that lower case m
means "milli", which is 1/1000th of a unit - I doubt that your system has 4 millibyte RAM modules!