Jump to content

  • Log In with Google      Sign In   
  • Create Account


ASM: Copying array data


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
1 reply to this topic

#1 CGameProgrammer   Members   -  Reputation: 640

Like
Likes
Like

Posted 05 October 1999 - 03:35 AM

I'm trying to write a routine to load a bitmap from a file, in Assembly. (I'm insane.) An error occurs when I try copying the BGR information from the bitmap to a temporary RGB array.

Here's the situation: Both have been successfully allocated, with EDX pointing to the source of BGR (blue,green,red) byte triplets, and EBX pointing to an array that I need to fill with R,G,B byte triplets. ECX holds the size (width*height) of the bitmap.

Code:


BeginLoop:

.If g_wBitsPerPixel == 24

Add EDX, 2 ; Position src ptr so we're at the red value.
Mov AL, Byte Ptr [EDX]
Mov Byte Ptr [EBX], AL
Inc EBX
Dec EDX ; Position src ptr so we're at the green value.
Mov AL, Byte Ptr [EDX]
Mov Byte Ptr [EBX], AL
Inc EBX
Dec EDX ; Position src ptr so we're at the blue value.
Mov AL, Byte Ptr [EDX]
Mov Byte Ptr [EBX], AL
Inc EBX
Add EDX, 3 ; Position src ptr for next loop.

.EndIf

Dec ECX
Cmp ECX, 0
JNE BeginLoop ; If ECX != 0 goto BeginLoop

Somewhere in there, an error is occuring. Any ideas?

------------------
~CGameProgrammer( );

[This message has been edited by CGameProgrammer (edited October 05, 1999).]


Sponsor:

#2 Jim Adams   Members   -  Reputation: 440

Like
Likes
Like

Posted 05 October 1999 - 03:35 AM

Are you taking into account that the bitmap width must be a multple of 4?

Jim





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS