home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
VP2SRC.ZIP
/
LOWLVL2.ASM
< prev
next >
Wrap
Assembly Source File
|
1989-06-06
|
4KB
|
198 lines
;
; $Header: LOWLEVEL.ASM 3.3 87/12/12 00:47:46 Bob Exp $
;
; The Conference Mail System
;
; 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
;
; The Conference Mail System is a complete Echomail processing package. It
; is a superset of the original Echomail utilities created by Jeff Rush, and
; also contains ideas gleaned from the ARCmail, Renum, oMMM, MGM, and Opus
; programs that were created by various software authors.
;
; 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.
;
; To use this code you will need Microsoft C version 4.0, and also Microsoft
; Macro Assembler version 4.0.
;
;
;
; $Log: LOWLEVEL.ASM $
; Revision 3.3 87/12/12 00:47:46 Bob
; Source code release
;
;
; This modules looks really strange because it was originally created
; from a mixed C/ASM listing and converted over to straight ASM for speed.
;
.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 mem1cpy,<PUBLIC>,<es,si,di>
parmD dest
parmDP src
parmW len
cBegin
mov cx,len
if sizeD
push ds
lds si,src
else
mov si,src
endif
les di,dest
rep movsb
if sizeD
pop ds
endif
cEnd
cProc mem2cpy,<PUBLIC>,<ds,si,di>
parmDP dest
parmD src
parmW len
cBegin
mov cx,len
lds si,src
if sizeD
push es
les di,dest
else
mov di,dest
endif
rep movsb
if sizeD
pop es
endif
cEnd
cProc mem1set,<PUBLIC>,<es,si,di>
parmD dest
parmW val
parmW len
cBegin
mov cx,len
mov ax,val
les di,dest
rep stosb
cEnd
cProc match_byte,<PUBLIC>,<di>
parmDP str
parmW mbyte
parmW len
cBegin
if sizeD
push ds
push es
les di,str
mov ax,es
mov ds,ax
mov dx,ds
else
mov di,str
endif
mov ax,mbyte
mov cx,len
repne scasb
dec di
cmp BYTE PTR [di],al
mov ax,di
je get_out
if sizeD
mov dx,0
endif
mov ax,0
get_out:
if sizeD
pop es
pop ds
endif
cEnd
sEnd
end