right - as Dave mentioned...
mov eax,[esi]
and eax,0FFFFFFh
the address in ESI is calculated, based on the location of the desired pixel
image base address + ( line number * bytes per line) + ( 3 * column number)
notice that most BMP images are upside-down (top image line is last in file)
the sign of the height value in the header tells you if it is right-side up :P
bytes per line is always some multiple of 4
so, if you have a 24-bit image that is 3 pixels wide, the bytes per line will be 12