我这里有几段C代码,俺学艺不精,想请各位大大帮忙转成asm,谢谢
C代码: int ncolors = (1 << bi.biBitCount)
C代码: MEMORYSIZE = bi.biSize + ncolors * sizeof(RGBQUAD)
C代码: lpbi = (LPBITMAPINFOHEADER)hDib;
*lpbi = bi
GetDIBits(hdc, bitmap, 0L, (DWORD)bi.biHeight,
(LPBYTE)NULL, (LPBITMAPINFO)lpbi, (DWORD)DIB_RGB_COLORS );
bi = *lpbi;
if (bi.biSizeImage == 0)
{
bi.biSizeImage = ((((bi.biWidth * bi.biBitCount) + 31) & ~31) / 8)* bi.biHeight;
}
MEMORYSIZE += bi.biSizeImage
C代码: hDib = handle
C代码: lpbi = (LPBITMAPINFOHEADER)hDib;
BOOL bgotbits = GetDIBits( hdc, bitmap,
0L,
(DWORD)bi.biHeight,
(LPBYTE)lpbi
+ (bi.biSize + ncolors * sizeof(RGBQUAD)),
(LPBITMAPINFO)lpbi,
(DWORD)DIB_RGB_COLORS);
C代码: if (BitWidth > SysWidth)
BitWidth = SysWidth;
if (BitHeight > SysHeight)
BitHeight = SysHeight
C代码: plmagePoint = (LPBYTE)hDib
C代码: if (bitSize%US_MAXSIZE)
{
send(NewSock,(char*)plmagePoint,sizeof(BYTE)*GlobalSize(hDib)%US_MAXSIZE,MSG_OOB);
recv(NewSock,(char*)&BitMsg,sizeof(BitMsg)+1,0);
}
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课