Initial
This commit is contained in:
24
fileio/SCRAPS.TXT
Normal file
24
fileio/SCRAPS.TXT
Normal file
@@ -0,0 +1,24 @@
|
||||
if 0
|
||||
; LOCAL @@FWRITEsimpleWrite,@@FWRITEuseBuffer
|
||||
push ebx ; macro uses ebx, must preserve it
|
||||
cmp [FileInfo ptr[esi]].FileInfo@@mBufferIndex,MaxLength ; compare buffer index to MaxLength
|
||||
jl @@FWRITEsimpleWrite ; if it's less then insert char into buffer
|
||||
lea ebx,[FileInfo ptr[esi]].FileInfo@@mszBuffer
|
||||
WRITEFILE [FileInfo ptr[esi]].FileInfo@@mhFileHandle,ebx,MaxLength
|
||||
mov [FileInfo ptr[esi]].FileInfo@@mBufferIndex,0000h ; set buffer index to zero
|
||||
lea eax,[FileInfo ptr[esi]].FileInfo@@mszBuffer
|
||||
mov [FileInfo ptr[esi]].FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
@@FWRITEsimpleWrite: ; simple write sync address
|
||||
cmp [FileInfo ptr[esi]].FileInfo@@mlpBufferPointer,0000h ; is buffer pointer null?
|
||||
jne @@FWRITEuseBuffer ; if not then just use it
|
||||
lea eax,[FileInfo ptr[esi]].FileInfo@@mszBuffer
|
||||
mov [FileInfo ptr[esi]].FileInfo@@mlpBufferPointer,eax ; move address of buffer to lpBufferPointer
|
||||
@@FWRITEuseBuffer: ; use buffer sync address
|
||||
mov cl,byte ptr[edi] ; move byte to write to cl
|
||||
mov eax,[FileInfo ptr[esi]].FileInfo@@mlpBufferPointer ; move address of buffer to eax
|
||||
mov byte ptr[eax],cl ; move byte into buffer
|
||||
inc [FileInfo ptr[esi]].FileInfo@@mlpBufferPointer ; increment buffer pointer
|
||||
inc [FileInfo ptr[esi]].FileInfo@@mBufferIndex ; increment buffer index
|
||||
pop ebx ; restore ebx register
|
||||
mov eax,01h ; set return code
|
||||
endif
|
||||
Reference in New Issue
Block a user