|
|
发表于 2012-5-28 11:21:34
|
显示全部楼层
本帖最后由 fujian810 于 2012-5-28 11:25 编辑
我在BITMAP.RAR中的hello.asm中测试了这句话:
mov esi,offset stBitmapFileHeader
mov eax,[esi].BITMAPFILEHEADER.bfOffBits
mov ebx,[BITMAPFILEHEADER.bfOffBits+esi]
mov eax,BITMAPFILEHEADER.bfOffBits[esi]
通过反汇编(OD),可以看到这几句话实际是等效的,就是将stBitmapFileHeader.bfOffBits复制给eax,这里顺便指出下书中和MSDN的不同之处,书中BITMAPINFOHEADER结构体长度为36(24h),MSDN中BITMAPINFOHEADER结构体长度为40(28H),实际找了个BMP图片(rar中有),用UE打开可以看出,BITMAPINFOHEADER结构体长度为40(28H),以MSDN为准。
|
|