Skip to main content
GameDev.net gamedev.net
🔒 Locked

ASM: Copying array data

Started by CGameProgrammer Oct 5, 1999 at 9:35 AM 0 replies 950+ views
Original Post
CGameProgrammer
CGameProgrammer
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).]

~CGameProgrammer( ); Developer Image Exchange -- New Features: Upload screenshots of your games (size is unlimited) and upload the game itself (up to 10MB). Free. No registration needed.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.