home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
MNUM416D.SZH
/
LOWLEVEL.ASM
< prev
next >
Wrap
Assembly Source File
|
1990-03-08
|
5KB
|
258 lines
;
; Message Base Renumberer
;
; This module was originally written by Bob Hartman
; Sysop of FidoNet node 1:132/101
;
; Spark Software, 427-3 Amherst St, CS 2032, Suite 232, Nashua, NH 03061
;
; This program source code is being released with the following provisions:
;
; 1. You are free to make changes to this source code for use on your own
; machine, however, altered source files may not be distributed without the
; consent of Spark Software.
;
; 2. You may distribute "patches" or "diff" files for any changes that you
; have made, provided that the "patch" or "diff" files are also sent to Spark
; Software for inclusion in future releases of the entire package. A "diff"
; file for the source archives may also contain a compiled version, provided
; it is clearly marked as not being created from the original source code.
; No other executable versions may be distributed without the consent of
; Spark Software.
;
; 3. You are free to include portions of this source code in any program you
; develop, providing: a) Credit is given to Spark Software for any code that
; may is used, and b) The resulting program is free to anyone wanting to use
; it, including commercial and government users.
;
; 4. There is NO technical support available for dealing with this source
; code, or the accompanying executable files. This source code is provided
; as is, with no warranty expressed or implied (I hate legalease). In other
; words, if you don't know what to do with it, don't use it, and if you are
; brave enough to use it, you're on your own.
;
; Spark Software may be contacted by modem at (603) 888-8179 (node 1:132/101)
; on the public FidoNet network, or at the address given above.
;
.xlist
page 64,132
title LowLevel
subttl by Bob Hartman
name LowLevel
;
;
;
; The following macro files come with the MicroSoft "C" compiler
;
include version.inc
include msdos.inc
include cmacros.inc
.sall
.list
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
sBegin code
assumes cs,code
assumes ds,data
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
cProc fast_open,<PUBLIC>
parmDP fname
parmB mode
cBegin
; Set-up for the DOS open file call
mov dx,fname
mov al,mode
callos open
jnc fo_no_err
test BYTE PTR mode,1
jne fo_creat
test BYTE PTR mode,2
je fo_err
fo_creat:
mov dx,fname
sub cx,cx
callos create
jnc fo_no_err
fo_err:
mov ax,-1
fo_no_err:
cEnd
cProc fast_close,<PUBLIC>
parmW handle
cBegin
mov bx,handle
callos close
jnc fc_no_err
mov ax,-1
jmp SHORT fc_out
fc_no_err:
sub ax,ax
fc_out:
cEnd
cProc fast_read,<PUBLIC>
parmW handle
parmDP string
parmW length
cBegin
mov bx,handle
mov dx,string
mov cx,length
callos read
jnc fr_no_err
mov ax,-1
fr_no_err:
cEnd
cProc fast_write,<PUBLIC>
parmW handle
parmDP string
parmW length
cBegin
mov bx,handle
mov dx,string
mov cx,length
callos write
jnc fw_no_err
mov ax,-1
fw_no_err:
cEnd
cProc fast_lseek,<PUBLIC>
parmW handle
parmW offset1
parmW offset2
parmW where
cBegin
mov ax,where
mov bx,handle
mov dx,offset1
mov cx,offset2
callos lseek
jnc fl_no_err
mov ax,-1
mov dx,-1
fl_no_err:
cEnd
cProc rename,<PUBLIC>,<es,di>
parmDP oldname
parmDP newname
cBegin
mov ax,ds
mov es,ax
mov dx,oldname
mov di,newname
callos rename
jc ren_exit
xor ax,ax
ren_exit:
cEnd
cProc unlink,<PUBLIC>
parmDP fname
cBegin
mov dx,fname
callos delete
jc unl_exit
xor ax,ax
unl_exit:
cEnd
cProc match_byte,<PUBLIC>,<di>
parmDP string
parmW matcher
parmW length
cBegin
mov di,string
mov ax,matcher
mov cx,length
repne scasb
dec di
cmp BYTE PTR [di],al
mov ax,di
je get_out
mov ax,0
get_out:
cEnd
cProc chdir,<PUBLIC>
parmDP dir
cBegin
mov dx,dir
callos chdir
jc c_exit
sub ax,ax
c_exit:
cEnd
cProc change_disk,<PUBLIC>
parmW disknum
cBegin
mov dx,disknum
callos selectdisk
cEnd
sEnd
end