
; Function ULngsToCur(ByVal unLow As Long, _
;           Optional ByVal unHigh As Long) As Currency

 .486          ; 32-bit instruction set
 .model flat   ; Protected memory, 4GB limit
 .code         ; Start of code

; Note - Unsigned dword and qword values assigned
; by ULngsToCur will display incorrectly in VB.

; This is intended for comparisons, and other
; situations where an unsigned qword is passed.

; Assigning unsigned longs to Currency within VB
; may corrupt the value by sign extending it.

ULngsToCur proc near

; ucSize = unFileSizeLow + unFileSizeHigh * (2 ^ 32)
; ucSize = unFileSizeLow + unFileSizeHigh << 32

  mov eax,[esp+8]
  mov ecx,[esp+12]
  mov edx,[esp+16]
  mov [edx],eax
  mov [edx+4],ecx
  xor eax, eax
  ret 16

ULngsToCur endp
end ULngsToCur
