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