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 -