Тема: MY LIB
Показать сообщение отдельно
Старый 12.06.2006, 19:09   #9
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Вот решил пока выложить исходник либы... может ктонить ее быстрее сделает?
.586p
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
;include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
;includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

.data
;AppName db "PAX DLL",0

.code


DllEntry proc hInstance:HINSTANCE, reason:DWORD, reserved1:DWORD
	.if reason==DLL_PROCESS_ATTACH
		;
	.elseif reason==DLL_PROCESS_DETACH
		;
	.elseif reason==DLL_THREAD_ATTACH
		;
	.else        ; DLL_THREAD_DETACH
		;
	.endif
	mov  eax,TRUE
	ret
DllEntry Endp

PAXARGB proc  Alpfa:DWORD, RRed:DWORD,  GGreen:DWORD, BBlue:DWORD
      PUSH EBX
      MOV EAX, Alpfa
      SHL EAX,24
      MOV EBX, RRed
      SHL EBX,16  
      OR EAX, EBX
      MOV EBX, GGreen
      MOV AH, BL
      OR EAX, BBlue
      POP EBX
 	ret	
PAXARGB endp

PAXARGBX proc  Alpfa:DWORD, RRed:DWORD,  GGreen:DWORD, BBlue:DWORD
      MOV EAX, Alpfa
      SHL EAX,24
      MOV EBX, RRed
      SHL EBX,16
      OR EAX, EBX
      MOV EBX, GGreen
      MOV AH, BL
      OR EAX, BBlue
 	ret	
PAXARGBX endp

PAXXRGB proc  RRed:DWORD,  GGreen:DWORD, BBlue:DWORD
      PUSH EBX
      MOV EAX, RRed
      SHL EAX,16  
      OR EAX, 0FF000000h
      MOV EBX, GGreen
      MOV AH, BL
      OR EAX, BBlue
      POP EBX
 	ret	
PAXXRGB endp

PAXXRGBX proc  RRed:DWORD,  GGreen:DWORD, BBlue:DWORD
      MOV EAX, RRed
      SHL EAX,16  
      OR EAX, 0FF000000h
      MOV EBX, GGreen
      MOV AH, BL
      OR EAX, BBlue
 	ret	
PAXXRGBX endp

PAXARGB_Alpha proc  pARGB:DWORD
      MOV EAX, pARGB
      SHR EAX,24
 	ret	
PAXARGB_Alpha endp

PAXARGB_Red proc  pARGB:DWORD
      MOV EAX, pARGB
      SHR EAX,16
      AND EAX, 0FFh
 	ret	
PAXARGB_Red endp

PAXARGB_Green proc  pARGB:DWORD
      MOV EAX, pARGB
      SHR EAX,8
      AND EAX, 0FFh
 	ret	
PAXARGB_Green endp

PAXARGB_Blue proc  pARGB:DWORD
      MOV EAX, pARGB
      AND EAX, 0FFh
 	ret	
PAXARGB_Blue endp

End DllEntry
Написал на MASM32
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием