Thread overview | |||||
---|---|---|---|---|---|
|
June 01, 2006 Problem with union REG Registers to fit a memory pointer in ES:BX | ||||
---|---|---|---|---|
| ||||
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 |
June 01, 2006 Re: Problem with union REG Registers to fit a memory pointer in ES:BX | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nils Koehler | Nils Koehler wrote:
>
> myregs.e.ebx=id_pointer; // ***
> Problem Line ***
>
>
> int86(JIDAINT,&myregs,&myregs);
>
Function _int86x will let you specify segment registers.
--
TimJ
|
June 01, 2006 Re: Problem with union REG Registers to fit a memory pointer in ES:BX | ||||
---|---|---|---|---|
| ||||
Posted in reply to tjulian | 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 |
Copyright © 1999-2021 by the D Language Foundation