www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/08/08/23:32:50

Message-ID: <37ADD81B.4840@iquest.net>
From: Mike Nansgar <dkw AT iquest DOT net>
X-Mailer: Mozilla 3.02Gold (Win16; I)
MIME-Version: 1.0
Newsgroups: comp.os.msdos.djgpp
Subject: calling a pointer
Lines: 25
Date: Sun, 08 Aug 1999 12:18:51 -0700
NNTP-Posting-Host: 209.43.59.232
X-Trace: news1.iquest.net 934132810 209.43.59.232 (Sun, 08 Aug 1999 12:20:10 EDT)
NNTP-Posting-Date: Sun, 08 Aug 1999 12:20:10 EDT
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

I am writing VESA VBE 2.0 routines using a combination of DJGPP and
NASM. It seems as if my code (which calls the NEAR p-mode code) half
works; it does set the page because when I write to the video, it sets
the right pixels. But immediately after setting them it crashes with a
GPF at my 'rep stosd' instruction! The same 'rep stosd' works perfectly
when used with the set bank interrupt. Any help would be greatly
appreciated. Thanks in advance!

/* My DJGPP Pointer (the VESAPMInfo struct has the right data): */

void *VESA_PMPgFn = (void *)((char *)VESAPMInfo +
VESAPMInfo->SetWindow);


;My NASM v0.98 Routine (Inputs: DX - the page number):

[EXTERN _VESA_PMPgFn]
VESA_SetBank:
    xor  BX,BX
    call [_VESA_PMPgFn]
    ret


Mike Nansgar
mnansgar AT hotmail DOT com

- Raw text -


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