|
|
1.1 ! root 1: ////////// ! 2: / n1/i386/tables/aadd.t ! 3: ////////// ! 4: ! 5: ///////// ! 6: / ! 7: / Assigned add (+=). ! 8: / [OP0] is ZADD, [OP1] is ZINC. ! 9: / Identical to asub.t except for the _dadd and _fadd calls, ! 10: / I would like them to be one file again but don't see how to do it. ! 11: / ! 12: ///////// ! 13: ! 14: AADD: ! 15: ! 16: / Integer or pointer op= 1. ! 17: % PEFFECT|PVALUE|PREL ! 18: DWORD ANYR * * TEMP ! 19: ADR|LV DWORD|SHORT ! 20: 1|MMX * ! 21: [TL OP1] [AL] ! 22: [IFV] [TL ZMOVSX] [R],[AL] ! 23: [IFR] [REL0] [LAB] ! 24: ! 25: / Integer or pointer op= immediate long. ! 26: % PEFFECT|PVALUE|PREL ! 27: DWORD ANYR * * TEMP ! 28: ADR|LV DWORD|SHORT ! 29: IMM|MMX LONG ! 30: / Dword op= register long. ! 31: % PEFFECT|PVALUE|PREL ! 32: DWORD ANYR * * TEMP ! 33: ADR|LV DWORD ! 34: REG|MMX DWORD ! 35: [TL OP0] [AL],[AR] ! 36: [IFV] [TL ZMOVSX] [R],[AL] ! 37: [IFR] [REL0] [LAB] ! 38: ! 39: / Integer or pointer op= long. ! 40: % PEFFECT|PVALUE|PREL|P_SRT|PBYTE ! 41: DWORD ANYR * ANYR TEMP ! 42: ADR|LV DWORD|SHORT ! 43: TREG DWORD ! 44: [TL OP0] [AL],[TL R] ! 45: [IFV] [TL ZMOVSX] [R],[AL] ! 46: [IFR] [REL0] [LAB] ! 47: ! 48: ///////// ! 49: / Fields. ! 50: / The left hand operand is an lvalue bit field. ! 51: / The right operand has been preshifted to the appropriate place. ! 52: / If the value is required, there is a shift on top of the 'op=' node. ! 53: / Grab the machine object that holds the field, ! 54: / add the right operand to it, ! 55: / extract the result and replace the value in the machine object. ! 56: ///////// ! 57: ! 58: % PVALUE|PBYTE ! 59: LONG ANYR * * TEMP ! 60: ADR|LV FLD ! 61: ADR|IMM LONG ! 62: [TL ZMOVZX] [R],[AL] / fetch ! 63: [OP0] [R],[AR] / op ! 64: [ZAND] [R],[EMASK] / extract ! 65: [TL ZAND] [AL],[TL CMASK] / clear ! 66: [TL ZOR] [AL],[TL R] / store ! 67: ! 68: ////////// ! 69: / Floating point. ! 70: ////////// ! 71: ! 72: / IEEE or DECVAX software floating point. ! 73: / Double op= double. ! 74: % PEFFECT|PVALUE|P_SRT|PDECVAX|PIEEE ! 75: FF64 EDXEAX * EDXEAX TEMP ! 76: ADR|LV FF64 ! 77: TREG FF64 ! 78: [ZPUSH] [HI AL] ! 79: [ZPUSH] [LO AL] ! 80: [ZCALL] [GID _dadd] ! 81: [ZADD] [REGNO ESP],[CONST 8] ! 82: [ZMOV] [HI AL],[HI R] ! 83: [ZMOV] [LO AL],[LO R] ! 84: ! 85: / Float op= double. ! 86: % PEFFECT|PVALUE|P_SRT|PDECVAX|PIEEE ! 87: FF64 EDXEAX * EDXEAX TEMP ! 88: ADR|LV FF32 ! 89: TREG FF64 ! 90: [ZPUSH] [AL] ! 91: [ZCALL] [GID _fadd] ! 92: [ZADD] [REGNO ESP],[CONST 4] ! 93: [ZCALL] [GID _fdcvt] ! 94: [ZMOV] [AL], [LO R] ! 95: [IFV] [ZCALL] [GID _dfcvt] ! 96: ! 97: / Hardware coprocessor (NDP) floating point. ! 98: % PEFFECT|PVALUE|PNDP ! 99: FLOAT FPAC * FPAC FPAC ! 100: ADR|LV FLOAT ! 101: TREG FF64 ! 102: [TL ZFADDD] [AL] ! 103: [IFV] [TL ZFSTD] [AL] ! 104: [IFE] [TL ZFSTPD] [AL] ! 105: ! 106: ////////// ! 107: / end of n1/i386/tables/aadd.t ! 108: //////////
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.