delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/05/12/21:01:28

From: "Dark Angel" <mop45440 AT mail DOT telepac DOT pt>
Newsgroups: comp.os.msdos.djgpp
Subject: _farpokeb Function
Date: 13 May 1998 00:51:33 GMT
Organization: Dark Angel Soft
Lines: 40
Message-ID: <01bd7e00$9a643480$cafd41c2@default>
NNTP-Posting-Host: 194.65.253.202
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

I tried to convert the function _farpokeb to asm, but it didn't work(there
are things i don't understand)

(i looked at the header file sys/farptr.h:

__asm__volatile ("movw %w0, %%fs\n"  -What is the fs register?
					-Why move the selector to fs?
		".byte 0x64 \n"		-What is this? .byte 0x64? 
					 can someone tell me?
					-why don't the 0x64 as an $ sign, like all 	the other constants
					 what does it do?
		"movb %b1, (%k2)")	-what is the address of %k2? 

the funtion in asm i created looked like this

	movw	selector(%ebp), %fs
	movb	color(%ebp), %al
	movl	offset(%ebp), %ebx
	.byte	0x64
	movb	%al, (%ebx)

This code some times work, another times don't.
I know there is no problem when passing the parameters (selector, color,
offset).
can someone tell me what is wrong?


Another question:
What is the correspondent instruction in AT&T asm for "include" of intel
(to include an external file)?.

Yet, another question:
When i get the selector with _dpmi_segment_to_descriptor(0xa000) is it
always the same or it can change? can i get it once, and then use the value
as a constant?

Wait, i got another one!
How do i declare a global variable in AT&T asm?

Thank's, Jorge Lima, from Dark Angel Soft

- Raw text -


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