delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/08/20/23:11:04

From: "Andrew Crabtree" <andrewc AT rosemail DOT rose DOT hp DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Function Sizes (how to in asm?)
Date: 20 Aug 1997 23:39:09 GMT
Organization: Hewlett Packard
Lines: 33
Message-ID: <01bcadc2$6da34ad0$45111d0f@ros51675cra>
References: <Pine DOT SUN DOT 3 DOT 91 DOT 970819161648 DOT 21250R-100000 AT is> <33FA2DB2 DOT 3DC3 AT cornell DOT edu>
NNTP-Posting-Host: ros51675cra.rose.hp.com
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp


A. Sinan Unur <asu1 AT cornell DOT edu> wrote in article
<33FA2DB2 DOT 3DC3 AT cornell DOT edu>...
> assuming i have the interrupt handler written in assembly, how do i go
> about locking it? i would appreciate it if someone could tell me how it
> is done, or point me to an example.
There is a dpmi call, __dpmi_lock... something or other.  Should be in the
info libc dpmi reference.  Also,
the faq probaly has a bit about it.  In assembly just define a label at the
end of your function, and subtract the 
entry symbol from it to get the size of the function.  

> also, i call a software interrupt using data structures set up in
> conventional memory (i am not using the transfer buffer.) do i need to
> lock those areas, too?
I asked this several months ago as was told that all real mode memory was
automatically locked.
 
> totally unrelated, but could anyone tell me where to look for how to
> access the individual bits of the flags field in the dpmi regs structs?
> i looked in the dpmi.h and go32.h files and couldn't locate any info.
I suspect you will have to define your own bitmasks to detect them.  

#define CARRY_BIT 1
#define PARITY_BIT 4
#define AUX_BIT       16
#define ZERO_FLAG 64
#define SIGN_BIT      128

or sth. similar.

Andrew

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019