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