Annotation of coherent/b/bin/c/n1/i386/tables/bef.t, revision 1.1.1.1

1.1       root        1: //////////
                      2: / n1/i386/tables/bef.t
                      3: //////////
                      4: 
                      5: /////////
                      6: /
                      7: / Prefix increment and decrement (++@, --@).
                      8: / The PTX case, which does these operations on pointers,
                      9: / must handle anything on the right hand side.
                     10: / The other cases must only handle a 1.
                     11: / OP0 is ADD or SUB, OP1 is INC or DEC; cf. n1/i386/table1.c/optab[].
                     12: / For the TL OP1 implementation, cf. n1/i386/outmch.c/maptype().
                     13: /
                     14: /////////
                     15: 
                     16: INCBEF:
                     17: DECBEF:
                     18: 
                     19: / Increment integer or pointer by 1.
                     20: %      PEFFECT|PVALUE|PSREL
                     21:        DWORD           ANYR    *       *       TEMP
                     22:                ADR|LV          DWORD|SHORT
                     23:                1|MMX           *
                     24:                        [TL OP1]        [AL]
                     25:                [IFV]   [TL ZMOVSX]     [R],[AL]
                     26:                [IFR]   [REL0]          [LAB]
                     27: 
                     28: / Increment pointer by constant.
                     29: %      PEFFECT|PVALUE|PSREL
                     30:        DWORD           ANYR    *       *       TEMP
                     31:                ADR|LV          PTX
                     32:                IMM|MMX         LONG
                     33:                        [OP0]   [AL],[AR]
                     34:                [IFV]   [ZMOV]  [R],[AL]
                     35:                [IFR]   [REL0]  [LAB]
                     36: 
                     37: //////////
                     38: /
                     39: / Fields.
                     40: / The increment is preshifted.
                     41: /
                     42: //////////
                     43: 
                     44: / Field.
                     45: %      PEFFECT|PVALUE|PBYTE
                     46:        LONG            ANYR    *       *       TEMP
                     47:                ADR|LV          FLD
                     48:                IMM|MMX         LONG
                     49:                        [TL ZMOVZX]     [R],[AL]        / fetch
                     50:                        [OP0]           [R],[AR]        / bump
                     51:                        [ZAND]          [R],[EMASK]     / mask
                     52:                        [TL ZAND]       [AL],[TL CMASK] / clear
                     53:                        [TL ZOR]        [AL],[TL R]     / store
                     54: 
                     55: //////////
                     56: / end of n1/i386/tables/bef.t
                     57: //////////

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.