flat assembler
Message board for the users of flat assembler.

Index > MenuetOS > Function 43

Author
Thread Post new topic Reply to topic
dooright



Joined: 08 Dec 2004
Posts: 1
dooright 10 Dec 2004, 04:41
I am trying to learn how the Menuet program communicates over RS-232 by studying the source code to ppp.asm and terminal.asm. Unfortunately, the part I want to understand has an undocumented system call, #43.

Is there some reason this call is not included in the API docs? If it were to be included, how would it be defined?
Post 10 Dec 2004, 04:41
View user's profile Send private message Reply with quote
spideros1



Joined: 17 Jan 2004
Posts: 77
Location: Poland
spideros1 10 Dec 2004, 07:23
it's sys_outport system call. someone has probably forgotten to add it to documentation.
Post 10 Dec 2004, 07:23
View user's profile Send private message Visit poster's website Reply with quote
Madis731



Joined: 25 Sep 2003
Posts: 2139
Location: Estonia
Madis731 10 Dec 2004, 10:07
Anyone looking this thread - knowing how to call 43 - please post us some documentation.

Maybe one with enough power could update manuetos.org with this document. Smile
Post 10 Dec 2004, 10:07
View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger Reply with quote
spideros1



Joined: 17 Jan 2004
Posts: 77
Location: Poland
spideros1 10 Dec 2004, 10:43
43 = SEND DATA TO DEVICE
bx=port
cl=data
return:
eax = 0 if OK
otherwise error
Post 10 Dec 2004, 10:43
View user's profile Send private message Visit poster's website Reply with quote
mike.dld



Joined: 03 Oct 2003
Posts: 235
Location: Belarus, Minsk
mike.dld 10 Dec 2004, 10:49
Code:
43 = SEND/READ DATA TO/FROM DEVICE

     OUTPUT:

     bx  : port #
     cl  : data

     result : eax = 0 if OK, error code otherwise

     INPUT:

     ecx : port # (31st bit must be set)

     result : eax = 0 if OK, error code otherwise
               bl = data    

Before any I/O operations, port (or group of ports) must be reserved (and freed when no longer needed):

Code:
46 = RESERVE/FREE PORT AREA

     ebx  0 reserve
          1 free
     ecx  port area start
     edx  port area end

     result: eax = 0 if OK,
                   1 if error.    
Post 10 Dec 2004, 10:49
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
profkid13



Joined: 21 Aug 2003
Posts: 111
profkid13 23 Dec 2004, 08:31
spideros1 wrote:
43 = SEND DATA TO DEVICE
bx=port
cl=data
return:
eax = 0 if OK
otherwise error


how comes not all the functs are in sysfuncs.txt?

and shouldnt it be cx = port and bl = data ?:p
Post 23 Dec 2004, 08:31
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.