[Allegro] "new" mit a99 v33.2

Thomas Berger ThB at Gymel.com
Mo Jun 17 14:37:04 CEST 2013


Lieber Herr Eversberg,

>>> [Ich habe den Eindruck, dass Sie mit den Flags bei
>>> atF manchmal Arithmetik (+, -) betreiben statt
>>> AND / OR bzw. Maskierung, insofern koennte es durchaus
>>> ab und zu <0 also >32 vorkommen]
>>>
> Nein, die Stellen, an denen eine Arithmetik vorkommt, haben dieselbe
> Wirkung, die in den Fällen eine entspr. Maskierung hätte.
> (atF ist die .TAB-Datei, kein Array, das Flag sitzt darin jeweils
> zwischen den 4Byte-Adressen bzw. internen Satznummern der "alten" bzw.
> "neuen" Fassung des Satzes, d.h. je Satz hat man dort 9 Byte; s. dazu
> die Funktion  tabOut() in a99.cpp; die Werte des Flags, die binär
> kombiniert werden, stehen unter  "Record status byte")

ja, aber wenn ich mit dem Byte x dort x-16 rechne, dann ist
der erhoffte Effekt (Bit 5 wegnehmen) nur dann gegeben, wenn
Bit 5 auch wirklich gesetzt war (wissen Sie das immer so genau?).

D.h. x &~ 16 waere die konservativere Operation (bzw.
C++ macht es anscheinend ohnehin lieber anders, aber egal.)

viele Gruesse
Thomas Berger




Mehr Informationen über die Mailingliste Allegro