|
|
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: PTX 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: //////////
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.