c++.dos.32-bits - Problem with union REG Registers to fit a memory pointer in ES:BX
- Nils Koehler (32/32) Jun 01 2006 Hello
- tjulian (4/11) Jun 01 2006 Function _int86x will let you specify segment registers.
- Nils Koehler (7/18) Jun 01 2006 Hi Tim,
Hello
I tryed to google information about Union Reg structure members i found
informations but not detailed enough to get rid of my problem.
For a BIOS call with DOS Extenter 32 Bit i need to fit a memory pointer into
Registers ES:BX.
Below is my code to fit the registers it will compile but not work. I am not
shure that the e.ebx is the right way to match ES:BX
int ReadID(int id_pointer)
{
myregs.x.ax=0xEA01; // Bios call
int 15 Get BIOS ID
myregs.x.dx=0x4648; // Constatnt
Value
myregs.h.cl=2; //
Board Number
myregs.e.ebx=id_pointer; // ***
Problem Line ***
int86(JIDAINT,&myregs,&myregs);
return(0);
}
Could anyone help?
Kind Regards
Nils Köhler
--
-----------------------------------------------
Nils Köhler
IBT Interfaces
Im Taubhaus 19
63322 Rödermark
Germany
Tel: +49-6074-6964-160
Fax: +49-6074-6964-161
Jun 01 2006
Nils Koehler wrote:
myregs.e.ebx=id_pointer; // ***
Problem Line ***
int86(JIDAINT,&myregs,&myregs);
Function _int86x will let you specify segment registers.
--
TimJ
Jun 01 2006
Hi Tim, Thank you for the good hint. I have googled _int86x. And i think this should work. Nils "tjulian" <tjulian removethis.oldi.com> schrieb im Newsbeitrag news:e5mjia$98u$1 digitaldaemon.com...Nils Koehler wrote:myregs.e.ebx=id_pointer; // *** Problem Line *** int86(JIDAINT,&myregs,&myregs);Function _int86x will let you specify segment registers. -- TimJ
Jun 01 2006








"Nils Koehler" <nils.koehler ibt-interfaces.de>