On Thu, 23 Aug 2018 09:32:58 +0200 Florian Klämpfl <flor...@freepascal.org> wrote:
> Am 21.08.2018 um 11:42 schrieb Marco Borsari via fpc-pascal: > > Il 20/08/2018 17:32, Giuliano Colla ha scritto: > > > >> On the Intel architecture you cannot perform pointer arithmetic as if a > >> pointer were just a number. > >> A pointer is composed of two parts: a "selector" and an "offset", which > >> must be handled separately. > > > > Ah, I saw, 32 bit segmentation is quite complicated. > > Thank you twice, Marco > > I still miss the point of a hand coded branch table ... It would be for the Wirth optimization in the access of an array, when the index is 0 or 1, allowing the elimination of a multiplication. case idx of 0: (*adr:=adr*); 1: adr:=adr+lel; end else adr:=adr+idx*lel; It's half for paranoia and half for the desire to learn, I am sorry, Marco _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal