home *** CD-ROM | disk | FTP | other *** search
- {
- MARK OUELLET
-
- > How can I read what appears to be an Array from the Registers value
- > (this is after making the interrupt call, and is returned With
- > information... I'll be durned if I know how to use it):
-
- > values upon return
- > AX = clear on successful (or whatever ... not important)
- > ES:DX = see table 2.1
- >
- > table 2.1
- > offset - info (size)
- > -----------------------------
- > 00h - blah blah (4 Bytes)
- > 03h - blah blah (16 Bytes)
- > etc ....
- >
- > And the ES:DX usually points to what appears to be a Record, or a buffer
- > of data using an offset to identify what's what. How can I use and/or
- > access this info?
- }
-
- Type
- TablePtr = ^Table
- Table = Record
- BlahBlah1 : LongInt; { 4Bytes }
- BlahBlah2 : Array[1..16] of Byte;
- .
- .
- etc....
- end;
- {
- if using Intr() or MSDos() and the Registers structure defined in
- Dos.tpu then:
- }
- Var
- Regs : Registers; {Defined in Dos.tpu}
- MyTable : TablePtr;
-
- begin
- Regs.AX := ??;
- Regs.BX := ??;
- Intr(Regs);
- TablePtr := Ptr(Regs.ES, Regs.DX);
-
- Write(TablePtr^.BlahBlah1);
- .
- .
- etc...
-
-