home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
assemblr
/
library
/
edit
/
fremacsr
/
mintdefs.asm
< prev
next >
Wrap
Assembly Source File
|
1986-09-22
|
1KB
|
60 lines
;The form data structure:
; fb_prim requires that form_length be the first entry.
form struc
form_length dw ? ;* + [*] -> next *
name_length dw ? ;length in bytes of form name.
hash_link dw ? ;link to next item that hashes to this.
form_pointer dw ? ;number of bytes into the form so far.
data_length dw ? ;number of bytes of data.
form ends
;note that (size form) + name_length + data_length do not necessarily add
; up to form_length. The data length might be less than the maximum available
; to a form.
name_offset equ (size form)
free_space equ 200
NIL equ -1
sgap equ 80h
mark_overhead equ 3 ;one mark byte + one pointer (3 bytes total)
;see if di is still below actptr. If it isn't, we've run out of memory and
; must abort.
chk_actptr macro
cmp di,actptr
jb $+5
jmp nomem
endm
;see if di+cx is still below actptr. If it isn't, we've run out of memory and
; must abort.
chk_actptr_cnt macro
push di
add di,cx
cmp di,actptr
pop di
jb $+5
jmp nomem
endm
;make di point to fbgn and push a copy of it.
;this macro is used by functions that return a value and don't need their
; arguments. More efficient than di_points_fend.
di_points_fbgn macro
mov di,fbgn
dec di
push di
endm
;make di point to fend and push a copy of it.
;this macro is used by functions that need their arguments.
di_points_fend macro
mov di,fend
add di,2
push di
endm