07/03/03 20:43:07
>>38
俺もアセンブリ言語を通してポインタの理解を深めたクチだから、
悪い選択じゃないと思う。
なあに、分かってしまえば大したことは無いさ。
eax == 0x12031000 の場合、
mov byte ptr [eax], dl
|0x12031000|
| dl |
mov word ptr [eax], dx
|0x12031000|0x12031001|
| dx |
mov word ptr [eax], edx
|0x12031000|0x12031001|0x12031002|0x12031003|
| edx |
こういう風に代入される。
それぞれ、
*(char*)eax = dl;
*(short*)eax = dx;
*(int*)eax = edx;
に対応する感じ。
char が 1 バイト、short が 2 バイト(1 ワード)、int が 4 バイト(2 ワード)と仮定してるけど。
1 word == 2 bytes, 2 words == 1 dword == 4 bytes な。