On Wed, October 14, 2015 17:19, Marco van de Voort wrote:
> In our previous episode, Tomas Hajny said:
>> >> There's a lot of use in embedded targets:
>> >
>> > Ah, thank you. Finally an answer I can understand. :)
>>
>> The case of MS-DOS using it e.g. to provide direct access to the video
>> adapter memory ($B800:0000), low-level information maintained by BIOS
>> ($40:xxx), etc., as already mentioned by someone else (Marco?) is in
>> principle the same as use cases relevant for embedded targets.
>
> Yes, but I thought it was square brackets, not parentheses. Address is
> linearized using seg*16+ofs and addressed via %fs (for go32v2, for i8086
> it probably is used as is)

There are no parentheses nor brackets when used with "absolute":

---------------
var
 Shifts1: byte absolute $40:$17;   (* shift status as set by BIOS *)
 Shifts2: byte absolute $40:$18;   (* (extended and normal)       *)
===============

Brackets are used when using the other option for direct memory access -
accessing the memory as array via Mem[] / MemW[].

Tomas


_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to