e 3417 src/decNumber/decNumber.c Int e; // E-part value e 3461 src/decNumber/decNumber.c e=0; // no E e 3463 src/decNumber/decNumber.c e=exp+dn->digits-1; // calculate E value e 3465 src/decNumber/decNumber.c if (eng && (e!=0)) { // engineering: may need to adjust e 3469 src/decNumber/decNumber.c if (e<0) { e 3470 src/decNumber/decNumber.c adj=(-e)%3; e 3474 src/decNumber/decNumber.c adj=e%3; e 3476 src/decNumber/decNumber.c e=e-adj; e 3483 src/decNumber/decNumber.c e=e+3; e 3535 src/decNumber/decNumber.c if (e!=0) { e 3539 src/decNumber/decNumber.c u=e; // .. e 3540 src/decNumber/decNumber.c if (e<0) { e 3542 src/decNumber/decNumber.c u=-e; // uInt, please e 913 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 919 src/dps8/dps8_eis.c switch (e -> TA [k - 1]) e 931 src/dps8/dps8_eis.c word18 address = e -> WN [k - 1]; e 932 src/dps8/dps8_eis.c uint nChars = i + e -> CN [k - 1]; e 941 src/dps8/dps8_eis.c e -> addr [k - 1].address = address; e 943 src/dps8/dps8_eis.c word36 data = EISRead (& e -> addr [k - 1]); // read it from memory e 949 src/dps8/dps8_eis.c switch (e -> TA [k - 1]) e 967 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "EISGet469 : k: %u TAk %u coffset %u c %o \n", k, e -> TA [k - 1], residue, c); e 975 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 981 src/dps8/dps8_eis.c switch (e -> TA [k - 1]) e 993 src/dps8/dps8_eis.c word18 address = e -> WN [k - 1]; e 994 src/dps8/dps8_eis.c uint nChars = i + e -> CN [k - 1]; e 1003 src/dps8/dps8_eis.c e -> addr [k - 1].address = address; e 1005 src/dps8/dps8_eis.c word36 data = EISRead (& e -> addr [k - 1]); // read it from memory e 1011 src/dps8/dps8_eis.c switch (e -> TA [k - 1]) e 1026 src/dps8/dps8_eis.c EISWriteIdx (& e -> addr [k - 1], 0, w, true); e 1119 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 1120 src/dps8/dps8_eis.c e -> addr [k - 1]. cacheValid = false; e 1159 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 1165 src/dps8/dps8_eis.c e -> MF1 = getbits36_7 (cpu.cu.IWB, 29); e 1170 src/dps8/dps8_eis.c e -> MF2 = getbits36_7 (cpu.cu.IWB, 11); e 1175 src/dps8/dps8_eis.c e -> MF3 = getbits36_7 (cpu.cu.IWB, 2); e 1179 src/dps8/dps8_eis.c word18 MFk = e -> MF [k - 1]; e 1188 src/dps8/dps8_eis.c word36 opDesc = e -> op [k - 1]; e 1234 src/dps8/dps8_eis.c e -> addr [k - 1].address = address; e 1270 src/dps8/dps8_eis.c e -> addr [k - 1].address = address; e 1274 src/dps8/dps8_eis.c e -> addr [k - 1].SNR = cpu.PR [n].SNR; e 1275 src/dps8/dps8_eis.c e -> addr [k - 1].RNR = max3 (cpu.PR [n].RNR, e 1279 src/dps8/dps8_eis.c e -> addr [k - 1].mat = viaPR; // ARs involved e 1284 src/dps8/dps8_eis.c e->addr [k - 1].mat = OperandRead; // no ARs involved yet e 1303 src/dps8/dps8_eis.c e -> addr [k - 1].address = address; e 1307 src/dps8/dps8_eis.c e -> op [k - 1] = EISRead (& e -> addr [k - 1]); e 1311 src/dps8/dps8_eis.c e->addr [k - 1].mat = OperandRead; // no ARs involved yet e 1335 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 1336 src/dps8/dps8_eis.c word18 MFk = e -> MF [k - 1]; e 1347 src/dps8/dps8_eis.c word36 opDesc = e -> op [k - 1]; e 1361 src/dps8/dps8_eis.c e -> TA [k - 1] = e -> TA [useTA - 1]; e 1363 src/dps8/dps8_eis.c e -> TA [k - 1] = getbits36_2 (opDesc, 21); // type alphanumeric e 1369 src/dps8/dps8_eis.c switch (e->TA[0]) e 1424 src/dps8/dps8_eis.c e -> addr [k - 1].SNR = cpu.PR [n].SNR; e 1425 src/dps8/dps8_eis.c e -> addr [k - 1].RNR = max3 (cpu.PR [n].RNR, cpu.TPR.TRR, cpu.PPR.PRR); e 1427 src/dps8/dps8_eis.c e -> addr [k - 1].mat = viaPR; // ARs involved e 1441 src/dps8/dps8_eis.c e -> N [k - 1] = (uint) getMFReg36 (reg, false, false, mod_fault); // RL=1: disallow du,n,ic e 1445 src/dps8/dps8_eis.c switch (e -> TA [k - 1]) e 1449 src/dps8/dps8_eis.c e -> N [k - 1] &= 017777777; // 22-bits of length e 1454 src/dps8/dps8_eis.c e -> N [k - 1] &= 07777777; // 21-bits of length. e 1465 src/dps8/dps8_eis.c e -> N [k - 1] = opDesc & 07777; e 1470 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "N%u %o\n", k, e->N[k-1]); e 1491 src/dps8/dps8_eis.c switch (e -> TA [k - 1]) e 1511 src/dps8/dps8_eis.c e -> CN [k - 1] = effCHAR; e 1512 src/dps8/dps8_eis.c e -> WN [k - 1] = effWORDNO; e 1515 src/dps8/dps8_eis.c k, e -> CN [k - 1]); e 1536 src/dps8/dps8_eis.c e -> CN [k - 1] = effCHAR; // ?????? e 1537 src/dps8/dps8_eis.c e -> WN [k - 1] = effWORDNO; e 1539 src/dps8/dps8_eis.c k, e -> CN [k - 1]); e 1562 src/dps8/dps8_eis.c e -> CN [k - 1] = effCHAR; // ?????? e 1563 src/dps8/dps8_eis.c e -> WN [k - 1] = effWORDNO; e 1565 src/dps8/dps8_eis.c k, e -> CN [k - 1]); e 1575 src/dps8/dps8_eis.c EISaddr * a = & e -> addr [k - 1]; e 1587 src/dps8/dps8_eis.c a -> TA = (int) e -> TA [k - 1]; e 1600 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 1601 src/dps8/dps8_eis.c word36 opDesc = e -> op [k - 1]; e 1629 src/dps8/dps8_eis.c e -> addr [k - 1].SNR = cpu.PR[n].SNR; e 1630 src/dps8/dps8_eis.c e -> addr [k - 1].RNR = max3 (cpu.PR [n].RNR, cpu.TPR.TRR, cpu.PPR.PRR); e 1631 src/dps8/dps8_eis.c e -> addr [k - 1].mat = viaPR; e 1642 src/dps8/dps8_eis.c e -> addr [k - 1].address = y; e 1655 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 1656 src/dps8/dps8_eis.c word18 MFk = e->MF[k-1]; e 1660 src/dps8/dps8_eis.c word36 opDesc = e->op[k-1]; e 1681 src/dps8/dps8_eis.c e->addr[k-1].SNR = cpu.PR[n].SNR; e 1682 src/dps8/dps8_eis.c e->addr[k-1].RNR = max3(cpu.PR[n].RNR, cpu.TPR.TRR, cpu.PPR.PRR); e 1684 src/dps8/dps8_eis.c e->addr[k-1].mat = viaPR; // ARs involved e 1690 src/dps8/dps8_eis.c e->TN[k-1] = getbits36_1 (opDesc, 21); // type numeric e 1695 src/dps8/dps8_eis.c if (e->TN[0]) e 1702 src/dps8/dps8_eis.c e->S[k-1] = getbits36_2 (opDesc, 22); // Sign and decimal type of data e 1703 src/dps8/dps8_eis.c e->SF[k-1] = SIGNEXT6_int (getbits36_6 (opDesc, 24)); // Scaling factor. e 1714 src/dps8/dps8_eis.c e->N[k-1] = getMFReg18(reg, false, false, mod_fault) & 077; // RL=1: disallow du,n,ic e 1717 src/dps8/dps8_eis.c e->N[k-1] = opDesc & 077; e 1719 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "parseNumericOperandDescriptor(): N%u %0o\n", k, e->N[k-1]); e 1731 src/dps8/dps8_eis.c e 1755 src/dps8/dps8_eis.c switch (e->TN[k-1]) e 1774 src/dps8/dps8_eis.c e->CN[k-1] = effCHAR; // ????? e 1791 src/dps8/dps8_eis.c e->CN[k-1] = effCHAR; // ????? e 1798 src/dps8/dps8_eis.c sim_printf ("parseNumericOperandDescriptor(ta=%d) How'd we get here 2?\n", e->TA[k-1]); e 1803 src/dps8/dps8_eis.c EISaddr *a = &e->addr[k-1]; e 1814 src/dps8/dps8_eis.c a->TN = (int) e->TN[k-1]; e 1817 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "parseNumericOperandDescriptor(): address:%06o cPos:%d bPos:%d N%u %u\n", cpu.du.Dk_PTR_W[k-1], a->cPos, a->bPos, k, e->N[k-1]); e 1819 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "parseNumericOperandDescriptor(): address:%06o cPos:%d bPos:%d N%u %u\n", a->address, a->cPos, a->bPos, k, e->N[k-1]); e 1833 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 1834 src/dps8/dps8_eis.c word18 MFk = e->MF[k-1]; e 1835 src/dps8/dps8_eis.c word36 opDesc = e->op[k-1]; e 1863 src/dps8/dps8_eis.c e->addr[k-1].SNR = cpu.PR[n].SNR; e 1864 src/dps8/dps8_eis.c e->addr[k-1].RNR = max3(cpu.PR[n].RNR, cpu.TPR.TRR, cpu.PPR.PRR); e 1865 src/dps8/dps8_eis.c e->addr[k-1].mat = viaPR; // ARs involved e 1876 src/dps8/dps8_eis.c e->N[k-1] = getMFReg36(reg, false, false, mod_fault) & 077777777; // RL=1: disallow du,n,ic e 1877 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "bitstring k %d RL reg %u val %"PRIo64"\n", k, reg, (word36)e->N[k-1]); e 1881 src/dps8/dps8_eis.c e ->N[k-1] = opDesc & 07777; e 1885 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "N%u %u\n", k, e->N[k-1]); e 1911 src/dps8/dps8_eis.c e->B[k-1] = effBITNO; e 1912 src/dps8/dps8_eis.c e->C[k-1] = effCHAR; e 1914 src/dps8/dps8_eis.c EISaddr *a = &e->addr[k-1]; e 1927 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 1928 src/dps8/dps8_eis.c if (e -> addr [k - 1].cacheValid && e -> addr [k - 1].cacheDirty) e 1930 src/dps8/dps8_eis.c EISWriteCache(& e -> addr [k - 1]); e 1932 src/dps8/dps8_eis.c e -> addr [k - 1].cacheDirty = false; e 2953 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 3003 src/dps8/dps8_eis.c if (!(e->MF[0] & MFkID) && e -> op [0] & 0000000010000) e 3014 src/dps8/dps8_eis.c e 3033 src/dps8/dps8_eis.c PNL (L68_ (if (max (e->N1, e->N2) < 128) e 3036 src/dps8/dps8_eis.c for (; cpu.du.CHTALLY < min (e->N1, e->N2); cpu.du.CHTALLY ++) e 3051 src/dps8/dps8_eis.c if (e -> N1 < e -> N2) e 3053 src/dps8/dps8_eis.c for( ; cpu.du.CHTALLY < e->N2; cpu.du.CHTALLY ++) e 3068 src/dps8/dps8_eis.c else if (e->N1 > e->N2) e 3070 src/dps8/dps8_eis.c for ( ; cpu.du.CHTALLY < e->N1; cpu.du.CHTALLY ++) e 3096 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 3144 src/dps8/dps8_eis.c if (!(e->MF[0] & MFkID) && e -> op [0] & 0000000010000) e 3148 src/dps8/dps8_eis.c if (!(e->MF[2] & MFkID) && e -> op [2] & 0000000777660) e 3174 src/dps8/dps8_eis.c if (! (e -> MF2 & MFkID) && ((e -> MF2 & MFkREGMASK) == 3)) // MF2.du e 3180 src/dps8/dps8_eis.c switch (e -> TA1) // Use TA1, not TA2 e 3188 src/dps8/dps8_eis.c c1 = (e -> ADDR2.address >> 13) & 017; e 3189 src/dps8/dps8_eis.c c2 = (e -> ADDR2.address >> 9) & 017; e 3198 src/dps8/dps8_eis.c c1 = (e -> ADDR2.address >> 12) & 077; e 3199 src/dps8/dps8_eis.c c2 = (e -> ADDR2.address >> 6) & 077; e 3208 src/dps8/dps8_eis.c c1 = (e -> ADDR2.address >> 9) & 0777; e 3209 src/dps8/dps8_eis.c c2 = (e -> ADDR2.address ) & 0777; e 3223 src/dps8/dps8_eis.c switch (e -> TA1) // Use TA1, not TA2 e 3242 src/dps8/dps8_eis.c PNL (L68_ (if (e->N1 < 128) e 3247 src/dps8/dps8_eis.c if (e -> N1) e 3249 src/dps8/dps8_eis.c uint limit = e -> N1 - 1; e 3266 src/dps8/dps8_eis.c EISWriteIdx (& e -> ADDR3, 0, CY3, true); e 3279 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 3327 src/dps8/dps8_eis.c if (!(e->MF[0] & MFkID) && e -> op [0] & 0000000010000) e 3331 src/dps8/dps8_eis.c if (!(e->MF[2] & MFkID) && e -> op [2] & 0000000777660) e 3357 src/dps8/dps8_eis.c if (! (e -> MF2 & MFkID) && ((e -> MF2 & MFkREGMASK) == 3)) // MF2.du e 3363 src/dps8/dps8_eis.c switch (e -> TA1) e 3371 src/dps8/dps8_eis.c c1 = (e -> ADDR2.address >> 13) & 017; e 3372 src/dps8/dps8_eis.c c2 = (e -> ADDR2.address >> 9) & 017; e 3381 src/dps8/dps8_eis.c c1 = (e -> ADDR2.address >> 12) & 077; e 3382 src/dps8/dps8_eis.c c2 = (e -> ADDR2.address >> 6) & 077; e 3391 src/dps8/dps8_eis.c c1 = (e -> ADDR2.address >> 9) & 0777; e 3392 src/dps8/dps8_eis.c c2 = (e -> ADDR2.address ) & 0777; e 3406 src/dps8/dps8_eis.c switch (e -> TA1) // Use TA1, not TA2 e 3428 src/dps8/dps8_eis.c PNL (L68_ (if (e->N1 < 128) e 3431 src/dps8/dps8_eis.c if (e -> N1) e 3433 src/dps8/dps8_eis.c uint limit = e -> N1 - 1; e 3452 src/dps8/dps8_eis.c EISWriteIdx (& e -> ADDR3, 0, CY3, true); e 3465 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 3526 src/dps8/dps8_eis.c if (!(e->MF[0] & MFkID) && e -> op [0] & 0000000010000) e 3530 src/dps8/dps8_eis.c if (!(e->MF[2] & MFkID) && e -> op [2] & 0000000777660) e 3557 src/dps8/dps8_eis.c if (! (e -> MF2 & MFkID) && ((e -> MF2 & MFkREGMASK) == 3)) // MF2.du e 3559 src/dps8/dps8_eis.c word18 duo = GETHI (e -> OP2); e 3564 src/dps8/dps8_eis.c switch (e -> TA1) e 3586 src/dps8/dps8_eis.c switch (e -> TA1) // use TA1, not TA2 e 3599 src/dps8/dps8_eis.c PNL (L68_ (if (e->N1 < 128) e 3602 src/dps8/dps8_eis.c uint limit = e -> N1; e 3621 src/dps8/dps8_eis.c EISWriteIdx (& e -> ADDR3, 0, CY3, true); e 3633 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 3694 src/dps8/dps8_eis.c if (!(e->MF[0] & MFkID) && e -> op [0] & 0000000010000) e 3702 src/dps8/dps8_eis.c if (!(e->MF[2] & MFkID) && e -> op [2] & 0000000777660) e 3729 src/dps8/dps8_eis.c if (! (e -> MF2 & MFkID) && ((e -> MF2 & MFkREGMASK) == 3)) // MF2.du e 3731 src/dps8/dps8_eis.c word18 duo = GETHI (e -> OP2); e 3736 src/dps8/dps8_eis.c switch (e -> TA1) e 3758 src/dps8/dps8_eis.c switch (e -> TA1) // use TA1, not TA2 e 3771 src/dps8/dps8_eis.c PNL (L68_ (if (e->N1 < 128) e 3774 src/dps8/dps8_eis.c uint limit = e -> N1; e 3792 src/dps8/dps8_eis.c EISWriteIdx (& e -> ADDR3, 0, CY3, true); e 3845 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 3895 src/dps8/dps8_eis.c if (!(e->MF[0] & MFkID) && e -> op [0] & 0000000010000) e 3899 src/dps8/dps8_eis.c if (!(e->MF[1] & MFkID) && e -> op [1] & 0000000777660) e 3903 src/dps8/dps8_eis.c if (!(e->MF[2] & MFkID) && e -> op [2] & 0000000777660) e 3918 src/dps8/dps8_eis.c "TCT CN1: %d TA1: %d\n", e -> CN1, TA1); e 3921 src/dps8/dps8_eis.c "TCT CN1: %d TA1: %d\n", e -> CN1, e -> TA1); e 3929 src/dps8/dps8_eis.c switch (e -> TA1) e 3962 src/dps8/dps8_eis.c e 3979 src/dps8/dps8_eis.c e 3985 src/dps8/dps8_eis.c "TCT N1 %d\n", e -> N1); e 3987 src/dps8/dps8_eis.c PNL (L68_ (if (e->N1 < 128) e 3990 src/dps8/dps8_eis.c for ( ; cpu.du.CHTALLY < e -> N1; cpu.du.CHTALLY ++) e 4009 src/dps8/dps8_eis.c word9 cout = xlate (&e->ADDR2, CTA9, m); e 4024 src/dps8/dps8_eis.c SC_I_TALLY (cpu.du.CHTALLY == e -> N1); e 4028 src/dps8/dps8_eis.c EISWriteIdx (& e -> ADDR3, 0, CY3, true); e 4037 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 4090 src/dps8/dps8_eis.c if (!(e->MF[0] & MFkID) && e -> op [0] & 0000000010000) e 4094 src/dps8/dps8_eis.c if (!(e->MF[1] & MFkID) && e -> op [1] & 0000000777660) e 4098 src/dps8/dps8_eis.c if (!(e->MF[2] & MFkID) && e -> op [2] & 0000000777660) e 4113 src/dps8/dps8_eis.c "TCTR CN1: %d TA1: %d\n", e -> CN1, TA1); e 4116 src/dps8/dps8_eis.c "TCTR CN1: %d TA1: %d\n", e -> CN1, e -> TA1); e 4124 src/dps8/dps8_eis.c switch (e -> TA1) e 4157 src/dps8/dps8_eis.c e 4174 src/dps8/dps8_eis.c e 4180 src/dps8/dps8_eis.c "TCT N1 %d\n", e -> N1); e 4182 src/dps8/dps8_eis.c PNL (L68_ (if (e->N1 < 128) e 4185 src/dps8/dps8_eis.c uint limit = e -> N1; e 4205 src/dps8/dps8_eis.c word9 cout = xlate (&e->ADDR2, CTA9, m); e 4220 src/dps8/dps8_eis.c SC_I_TALLY (cpu.du.CHTALLY == e -> N1); e 4224 src/dps8/dps8_eis.c EISWriteIdx (& e -> ADDR3, 0, CY3, true); e 4295 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 4329 src/dps8/dps8_eis.c if (!(e->MF[0] & MFkID) && e -> op [0] & 0000000010000) e 4333 src/dps8/dps8_eis.c if (!(e->MF[1] & MFkID) && e -> op [1] & 0000000010000) e 4351 src/dps8/dps8_eis.c switch (e -> TA1) e 4368 src/dps8/dps8_eis.c switch (e -> TA2) e 4420 src/dps8/dps8_eis.c PNL (L68_ (if (max (e->N1, e->N2) < 128) e 4424 src/dps8/dps8_eis.c bool ovp = (e -> N1 < e -> N2) && (fill & 0400) && (TA1 == 1) && e 4427 src/dps8/dps8_eis.c bool ovp = (e -> N1 < e -> N2) && (fill & 0400) && (e -> TA1 == 1) && e 4428 src/dps8/dps8_eis.c (e -> TA2 == 2); // (6-4 move) e 4436 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "MLR TALLY %u TA1 %u TA2 %u N1 %u N2 %u CN1 %u CN2 %u\n", cpu.du.CHTALLY, TA1, TA2, e -> N1, e -> N2, e -> CN1, e -> CN2); e 4438 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "MLR TALLY %u TA1 %u TA2 %u N1 %u N2 %u CN1 %u CN2 %u\n", cpu.du.CHTALLY, e -> TA1, e -> TA2, e -> N1, e -> N2, e -> CN1, e -> CN2); e 4458 src/dps8/dps8_eis.c e -> TA1 == CTA9 && // src and dst are both char 9 e 4459 src/dps8/dps8_eis.c e -> TA2 == CTA9 && e 4461 src/dps8/dps8_eis.c (e -> N1 % (PGSZ * 4)) == 0 && // a page e 4462 src/dps8/dps8_eis.c e -> N2 == e -> N1 && // the src is the same size as the dest. e 4463 src/dps8/dps8_eis.c e -> CN1 == 0 && // and it starts at a word boundary // BITNO? e 4464 src/dps8/dps8_eis.c e -> CN2 == 0 && e 4469 src/dps8/dps8_eis.c (e -> ADDR1.address & PGMK) == 0 && e 4470 src/dps8/dps8_eis.c (e -> ADDR2.address & PGMK) == 0) e 4474 src/dps8/dps8_eis.c while (cpu.du.CHTALLY < e -> N1) e 4477 src/dps8/dps8_eis.c EISReadPage (& e -> ADDR1, cpu.du.CHTALLY / 4, pg); e 4478 src/dps8/dps8_eis.c EISWritePage (& e -> ADDR2, cpu.du.CHTALLY / 4, pg); e 4498 src/dps8/dps8_eis.c e -> TA1 == CTA9 && // src and dst are both char 9 e 4499 src/dps8/dps8_eis.c e -> TA2 == CTA9 && e 4501 src/dps8/dps8_eis.c e -> N1 == 0 && // the source is entirely fill e 4502 src/dps8/dps8_eis.c (e -> N2 % (PGSZ * 4)) == 0 && // a page e 4503 src/dps8/dps8_eis.c e -> CN1 == 0 && // and it starts at a word boundary // BITNO? e 4504 src/dps8/dps8_eis.c e -> CN2 == 0 && e 4509 src/dps8/dps8_eis.c (e -> ADDR1.address & PGMK) == 0 && e 4510 src/dps8/dps8_eis.c (e -> ADDR2.address & PGMK) == 0) e 4525 src/dps8/dps8_eis.c while (cpu.du.CHTALLY < e -> N2) e 4527 src/dps8/dps8_eis.c EISWritePage (& e -> ADDR2, cpu.du.CHTALLY / 4, pg); e 4545 src/dps8/dps8_eis.c if (e -> TA1 == CTA9 && // src and dst are both char 9 e 4546 src/dps8/dps8_eis.c e -> TA2 == CTA9 && e 4548 src/dps8/dps8_eis.c e -> N1 % 4 == 0 && // a whole number of words in the src e 4549 src/dps8/dps8_eis.c e -> N2 == e -> N1 && // the src is the same size as the dest. e 4550 src/dps8/dps8_eis.c e -> CN1 == 0 && // and it starts at a word boundary // BITNO? e 4551 src/dps8/dps8_eis.c e -> CN2 == 0) e 4554 src/dps8/dps8_eis.c for ( ; cpu.du.CHTALLY < e -> N2; cpu.du.CHTALLY += 4) e 4557 src/dps8/dps8_eis.c word36 w = EISReadIdx (& e -> ADDR1, n); e 4558 src/dps8/dps8_eis.c EISWriteIdx (& e -> ADDR2, n, w, true); e 4575 src/dps8/dps8_eis.c if (e -> TA1 == CTA9 && // src and dst are both char 9 e 4576 src/dps8/dps8_eis.c e -> TA2 == CTA9 && e 4578 src/dps8/dps8_eis.c e -> N1 == 0 && // the source is entirely fill e 4579 src/dps8/dps8_eis.c e -> N2 % 4 == 0 && // a whole number of words in the dest e 4580 src/dps8/dps8_eis.c e -> CN1 == 0 && // and it starts at a word boundary // BITNO? e 4581 src/dps8/dps8_eis.c e -> CN2 == 0) e 4585 src/dps8/dps8_eis.c for ( ; cpu.du.CHTALLY < e -> N2; cpu.du.CHTALLY += 4) e 4588 src/dps8/dps8_eis.c EISWriteIdx (& e -> ADDR2, n, w, true); e 4598 src/dps8/dps8_eis.c for ( ; cpu.du.CHTALLY < min (e->N1, e->N2); cpu.du.CHTALLY ++) e 4606 src/dps8/dps8_eis.c if (e -> TA1 == e -> TA2) e 4646 src/dps8/dps8_eis.c if (ovp && (cpu.du.CHTALLY == e -> N1 - 1)) e 4662 src/dps8/dps8_eis.c if (e -> N1 < e -> N2) e 4664 src/dps8/dps8_eis.c for ( ; cpu.du.CHTALLY < e -> N2 ; cpu.du.CHTALLY ++) e 4667 src/dps8/dps8_eis.c if (ovp && (cpu.du.CHTALLY == e -> N2 - 1)) e 4681 src/dps8/dps8_eis.c if (e -> N1 > e -> N2) e 4693 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 4727 src/dps8/dps8_eis.c if (!(e->MF[0] & MFkID) && e -> op [0] & 0000000010000) e 4731 src/dps8/dps8_eis.c if (!(e->MF[1] & MFkID) && e -> op [1] & 0000000010000) e 4749 src/dps8/dps8_eis.c switch (e -> TA1) e 4766 src/dps8/dps8_eis.c switch (e -> TA2) e 4819 src/dps8/dps8_eis.c bool ovp = (e -> N1 < e -> N2) && (fill & 0400) && (TA1 == 1) && e 4822 src/dps8/dps8_eis.c bool ovp = (e -> N1 < e -> N2) && (fill & 0400) && (e -> TA1 == 1) && e 4823 src/dps8/dps8_eis.c (e -> TA2 == 2); // (6-4 move) e 4829 src/dps8/dps8_eis.c PNL (L68_ (if (max (e->N1, e->N2) < 128) e 4840 src/dps8/dps8_eis.c if (e -> TA1 == CTA9 && // src and dst are both char 9 e 4841 src/dps8/dps8_eis.c e -> TA2 == CTA9 && e 4843 src/dps8/dps8_eis.c e -> N1 % 4 == 0 && // a whole number of words in the src e 4844 src/dps8/dps8_eis.c e -> N2 == e -> N1 && // the src is the same size as the dest. e 4845 src/dps8/dps8_eis.c e -> CN1 == 0 && // and it starts at a word boundary // BITNO? e 4846 src/dps8/dps8_eis.c e -> CN2 == 0) e 4849 src/dps8/dps8_eis.c uint limit = e -> N2; e 4853 src/dps8/dps8_eis.c word36 w = EISReadIdx (& e -> ADDR1, n); e 4854 src/dps8/dps8_eis.c EISWriteIdx (& e -> ADDR2, n, w, true); e 4871 src/dps8/dps8_eis.c if (e -> TA1 == CTA9 && // src and dst are both char 9 e 4872 src/dps8/dps8_eis.c e -> TA2 == CTA9 && e 4874 src/dps8/dps8_eis.c e -> N1 == 0 && // the source is entirely fill e 4875 src/dps8/dps8_eis.c e -> N2 % 4 == 0 && // a whole number of words in the dest e 4876 src/dps8/dps8_eis.c e -> CN1 == 0 && // and it starts at a word boundary // BITNO? e 4877 src/dps8/dps8_eis.c e -> CN2 == 0) e 4884 src/dps8/dps8_eis.c uint limit = e -> N2; e 4885 src/dps8/dps8_eis.c for ( ; cpu.du.CHTALLY < e -> N2; cpu.du.CHTALLY += 4) e 4888 src/dps8/dps8_eis.c EISWriteIdx (& e -> ADDR2, n, w, true); e 4898 src/dps8/dps8_eis.c for ( ; cpu.du.CHTALLY < min (e -> N1, e -> N2); cpu.du.CHTALLY ++) e 4900 src/dps8/dps8_eis.c word9 c = EISget469 (1, e -> N1 - cpu.du.CHTALLY - 1); // get src char e 4906 src/dps8/dps8_eis.c if (e -> TA1 == e -> TA2) e 4908 src/dps8/dps8_eis.c EISput469 (2, e -> N2 - cpu.du.CHTALLY - 1, c); e 4952 src/dps8/dps8_eis.c EISput469 (2, e -> N2 - cpu.du.CHTALLY - 1, cout); e 4962 src/dps8/dps8_eis.c if (e -> N1 < e -> N2) e 4964 src/dps8/dps8_eis.c for ( ; cpu.du.CHTALLY < e -> N2 ; cpu.du.CHTALLY ++) e 4967 src/dps8/dps8_eis.c if (ovp && (cpu.du.CHTALLY == e -> N2 - 1)) e 4970 src/dps8/dps8_eis.c EISput469 (2, e -> N2 - cpu.du.CHTALLY - 1, 015); // 015 is decimal - e 4972 src/dps8/dps8_eis.c EISput469 (2, e -> N2 - cpu.du.CHTALLY - 1, 014); // 014 is decimal + e 4976 src/dps8/dps8_eis.c EISput469 (2, e -> N2 - cpu.du.CHTALLY - 1, fillT); e 4983 src/dps8/dps8_eis.c if (e -> N1 > e -> N2) e 5008 src/dps8/dps8_eis.c #define isDecimalZero(c) ((e->srcTA == CTA9) ? \ e 5021 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 5023 src/dps8/dps8_eis.c word9 *p = e->inBuffer; // p points to position in inBuffer where 4-bit chars are stored e 5024 src/dps8/dps8_eis.c memset(e->inBuffer, 0, sizeof(e->inBuffer)); // initialize to all 0's e 5026 src/dps8/dps8_eis.c int pos = (int) e->CN[k-1]; e 5028 src/dps8/dps8_eis.c int TN = (int) e->TN[k-1]; e 5029 src/dps8/dps8_eis.c int S = (int) e->S[k-1]; // This is where MVNE gets really nasty. e 5032 src/dps8/dps8_eis.c int N = (int) e->N[k-1]; // number of chars in src string e 5034 src/dps8/dps8_eis.c EISaddr *a = &e->addr[k-1]; e 5036 src/dps8/dps8_eis.c e->sign = 1; e 5037 src/dps8/dps8_eis.c e->exponent = 0; e 5083 src/dps8/dps8_eis.c e->sign = -1; e 5085 src/dps8/dps8_eis.c e->srcTally -= 1; // 1 less source char e 5089 src/dps8/dps8_eis.c e->exponent = (signed char)(c & 0377); // want to do a sign extend e 5090 src/dps8/dps8_eis.c e->srcTally -= 1; // 1 less source char e 5094 src/dps8/dps8_eis.c e->exponent = (c & 0xf);// << 4; e 5095 src/dps8/dps8_eis.c e->exponent <<= 4; e 5096 src/dps8/dps8_eis.c e->srcTally -= 1; // 1 less source char e 5100 src/dps8/dps8_eis.c e->exponent |= (c & 0xf); e 5102 src/dps8/dps8_eis.c signed char ce = (signed char) (e->exponent & 0xff); e 5103 src/dps8/dps8_eis.c e->exponent = ce; e 5105 src/dps8/dps8_eis.c e->srcTally -= 1; // 1 less source char e 5127 src/dps8/dps8_eis.c e->sign = -1; e 5128 src/dps8/dps8_eis.c e->srcTally -= 1; // 1 less source char e 5146 src/dps8/dps8_eis.c e->sign = -1; e 5147 src/dps8/dps8_eis.c e->srcTally -= 1; // 1 less source char e 5167 src/dps8/dps8_eis.c for (word9 *q = e->inBuffer; q < p; q ++) e 5182 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 5184 src/dps8/dps8_eis.c word9 * p = e -> inBuffer; e 5185 src/dps8/dps8_eis.c memset (e -> inBuffer, 0, sizeof (e -> inBuffer));// initialize to all 0's e 5193 src/dps8/dps8_eis.c uint N = min (e-> N1, 63); e 5204 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 5206 src/dps8/dps8_eis.c for (uint n = 0 ; n < (uint) e -> dstTally; n ++) e 5208 src/dps8/dps8_eis.c word9 c49 = e -> outBuffer [n]; e 5215 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 5224 src/dps8/dps8_eis.c if (e -> mvne) e 5239 src/dps8/dps8_eis.c ** dstAddr = c49 | (e -> editInsertionTable [7] & 0760); e 5291 src/dps8/dps8_eis.c e->dstTally -= 1; e 5334 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 5335 src/dps8/dps8_eis.c memset(&e->editInsertionTable, 0, sizeof(e->editInsertionTable)); // XXX do we really need this? e 5338 src/dps8/dps8_eis.c if (e->mopTally == 0) e 5340 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; e 5344 src/dps8/dps8_eis.c word9 entry = EISget49(&e->ADDR2, &e->mopPos, CTN9); // get mop table entries e 5346 src/dps8/dps8_eis.c word9 entry = EISget49(e->mopAddress, &e->mopPos, CTN9); // get mop table entries e 5348 src/dps8/dps8_eis.c e->editInsertionTable[i] = entry & 0777; // keep to 9-bits e 5349 src/dps8/dps8_eis.c e->mopTally -= 1; e 5378 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 5380 src/dps8/dps8_eis.c if (!(e->mopIF & 010)) e 5383 src/dps8/dps8_eis.c if (!e->mopES && !e->mopSN) e 5385 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[2]); e 5386 src/dps8/dps8_eis.c e->mopES = true; e 5389 src/dps8/dps8_eis.c if (!e->mopES && e->mopSN) e 5391 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[3]); e 5392 src/dps8/dps8_eis.c e->mopES = true; e 5396 src/dps8/dps8_eis.c if (!e->mopES) e 5399 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[4]); e 5400 src/dps8/dps8_eis.c e->mopES = true; e 5406 src/dps8/dps8_eis.c if (e->mopIF & 04) e 5407 src/dps8/dps8_eis.c e->mopBZ = true; e 5424 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 5427 src/dps8/dps8_eis.c if (e->mopIF == 0) e 5428 src/dps8/dps8_eis.c e->mopIF = 16; e 5430 src/dps8/dps8_eis.c for(int n = 0 ; n < e->mopIF ; n += 1) e 5432 src/dps8/dps8_eis.c if (e->dstTally == 0) e 5434 src/dps8/dps8_eis.c if (e->srcTally == 0) e 5437 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; e 5441 src/dps8/dps8_eis.c e->srcTally -= 1; e 5442 src/dps8/dps8_eis.c e->in += 1; e 5458 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 5460 src/dps8/dps8_eis.c if (e->mopIF >= 9 && e->mopIF <= 15) e 5462 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; e 5471 src/dps8/dps8_eis.c if (!e->mopES) e 5473 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[1]); e 5475 src/dps8/dps8_eis.c if (e->mopIF == 0) e 5477 src/dps8/dps8_eis.c if (e->mopTally == 0) e 5479 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; e 5483 src/dps8/dps8_eis.c EISget49(&e->ADDR2, &e->mopPos, CTN9); e 5485 src/dps8/dps8_eis.c EISget49(e->mopAddress, &e->mopPos, CTN9); e 5487 src/dps8/dps8_eis.c e->mopTally -= 1; e 5495 src/dps8/dps8_eis.c if (e->mopIF == 0) e 5497 src/dps8/dps8_eis.c if (e->mopTally == 0) e 5499 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; e 5503 src/dps8/dps8_eis.c word9 c = EISget49(&e->ADDR2, &e->mopPos, CTN9); e 5505 src/dps8/dps8_eis.c word9 c = EISget49(e->mopAddress, &e->mopPos, CTN9); e 5507 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, c); e 5508 src/dps8/dps8_eis.c e->mopTally -= 1; e 5514 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[e->mopIF-1]); e 5521 src/dps8/dps8_eis.c e 5526 src/dps8/dps8_eis.c e 5528 src/dps8/dps8_eis.c e 5531 src/dps8/dps8_eis.c e 5533 src/dps8/dps8_eis.c e 5535 src/dps8/dps8_eis.c e 5542 src/dps8/dps8_eis.c e 5544 src/dps8/dps8_eis.c e 5546 src/dps8/dps8_eis.c e 5549 src/dps8/dps8_eis.c e 5551 src/dps8/dps8_eis.c e 5554 src/dps8/dps8_eis.c e 5560 src/dps8/dps8_eis.c e 5562 src/dps8/dps8_eis.c e 5589 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 5591 src/dps8/dps8_eis.c if (e->mopIF >= 9 && e->mopIF <= 15) e 5593 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; e 5597 src/dps8/dps8_eis.c if (!e->mopES) e 5602 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[0]); e 5604 src/dps8/dps8_eis.c if (e->mopIF == 0) e 5606 src/dps8/dps8_eis.c if (e->mopTally == 0) e 5608 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; e 5612 src/dps8/dps8_eis.c EISget49(&e->ADDR2, &e->mopPos, CTN9); e 5614 src/dps8/dps8_eis.c EISget49(e->mopAddress, &e->mopPos, CTN9); e 5616 src/dps8/dps8_eis.c e->mopTally -= 1; e 5624 src/dps8/dps8_eis.c if (e->mopIF) e 5629 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[e->mopIF - 1]); e 5634 src/dps8/dps8_eis.c if (e->mopTally == 0) e 5636 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; e 5640 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, EISget49(&e->ADDR2, &e->mopPos, CTN9)); e 5643 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, EISget49(e->mopAddress, &e->mopPos, CTN9)); e 5646 src/dps8/dps8_eis.c e->mopTally -= 1; e 5665 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 5666 src/dps8/dps8_eis.c if (e->mopIF == 0) e 5667 src/dps8/dps8_eis.c e->mopIF = 16; e 5668 src/dps8/dps8_eis.c for(int n = 0 ; n < e->mopIF ; n += 1) e 5670 src/dps8/dps8_eis.c if (e->dstTally == 0) e 5672 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[0]); e 5696 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 5698 src/dps8/dps8_eis.c if (e->mopIF >= 9 && e->mopIF <= 15) e 5700 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; e 5708 src/dps8/dps8_eis.c if (e->mopIF == 0) e 5710 src/dps8/dps8_eis.c if (e->mopTally == 0) e 5712 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; e 5715 src/dps8/dps8_eis.c if (!e->mopSN) e 5721 src/dps8/dps8_eis.c EISget49(&e->ADDR2, &e->mopPos, CTN9); e 5723 src/dps8/dps8_eis.c EISget49(e->mopAddress, &e->mopPos, CTN9); e 5725 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[0]); e 5726 src/dps8/dps8_eis.c e->mopTally -= 1; e 5732 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, EISget49(&e->ADDR2, &e->mopPos, CTN9)); e 5734 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, EISget49(e->mopAddress, &e->mopPos, CTN9)); e 5737 src/dps8/dps8_eis.c e->mopTally -= 1; e 5742 src/dps8/dps8_eis.c if (e->mopSN) e 5746 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[e->mopIF - 1]); e 5748 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[0]); e 5765 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 5767 src/dps8/dps8_eis.c if (e->mopIF >= 9 && e->mopIF <= 15) e 5769 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; e 5773 src/dps8/dps8_eis.c if (e->mopIF == 0) e 5775 src/dps8/dps8_eis.c if (e->mopTally == 0) e 5777 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; e 5780 src/dps8/dps8_eis.c if (e->mopSN) e 5783 src/dps8/dps8_eis.c EISget49(&e->ADDR2, &e->mopPos, CTN9); e 5785 src/dps8/dps8_eis.c EISget49(e->mopAddress, &e->mopPos, CTN9); e 5787 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[0]); e 5788 src/dps8/dps8_eis.c e->mopTally -= 1; e 5791 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, EISget49(&e->ADDR2, &e->mopPos, CTN9)); e 5793 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, EISget49(e->mopAddress, &e->mopPos, CTN9)); e 5795 src/dps8/dps8_eis.c e->mopTally -= 1; e 5800 src/dps8/dps8_eis.c if (!e->mopSN) e 5802 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[e->mopIF - 1]); e 5804 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[0]); e 5823 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 5824 src/dps8/dps8_eis.c if (e->mopIF == 0 || (e->mopIF >= 9 && e->mopIF <= 15)) e 5826 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; e 5829 src/dps8/dps8_eis.c if (e->mopTally == 0) e 5831 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; e 5835 src/dps8/dps8_eis.c word9 next = EISget49(&e->ADDR2, &e->mopPos, CTN9); e 5837 src/dps8/dps8_eis.c word9 next = EISget49(e->mopAddress, &e->mopPos, CTN9); e 5839 src/dps8/dps8_eis.c e->mopTally -= 1; e 5841 src/dps8/dps8_eis.c e->editInsertionTable[e->mopIF - 1] = next; e 5842 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "LTE IT[%d]<=%d\n", e -> mopIF - 1, next); e 5886 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 5887 src/dps8/dps8_eis.c if (e->mopIF == 0) e 5888 src/dps8/dps8_eis.c e->mopIF = 16; e 5893 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "MFLC IF %d, srcTally %d, dstTally %d\n", e->mopIF, e->srcTally, e->dstTally); e 5894 src/dps8/dps8_eis.c for(int n = 0 ; n < e->mopIF ; n += 1) e 5896 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "MFLC n %d, srcTally %d, dstTally %d\n", n, e->srcTally, e->dstTally); e 5897 src/dps8/dps8_eis.c if (e->dstTally == 0) e 5899 src/dps8/dps8_eis.c if (e->srcTally == 0) e 5907 src/dps8/dps8_eis.c word9 c = *(e->in); e 5909 src/dps8/dps8_eis.c if (!e->mopES) { // e->mopES is OFF e 5916 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[0]); e 5917 src/dps8/dps8_eis.c e->in += 1; e 5918 src/dps8/dps8_eis.c e->srcTally -= 1; e 5924 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[4]); e 5926 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, e->srcSZ, e->dstSZ, c); e 5927 src/dps8/dps8_eis.c e->mopZ = false; // iszero() tested above. e 5928 src/dps8/dps8_eis.c e->in += 1; e 5929 src/dps8/dps8_eis.c e->srcTally -= 1; e 5931 src/dps8/dps8_eis.c e->mopES = true; e 5936 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, e->srcSZ, e->dstSZ, c); e 5939 src/dps8/dps8_eis.c e->mopZ = false; e 5940 src/dps8/dps8_eis.c e->in += 1; e 5941 src/dps8/dps8_eis.c e->srcTally -= 1; e 5992 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 5993 src/dps8/dps8_eis.c if (e->mopIF == 0) e 5994 src/dps8/dps8_eis.c e->mopIF = 16; e 5996 src/dps8/dps8_eis.c for(int n = 0 ; n < e->mopIF; n += 1) e 5998 src/dps8/dps8_eis.c if (e->dstTally == 0) e 6000 src/dps8/dps8_eis.c if (e->srcTally == 0) e 6003 src/dps8/dps8_eis.c word9 c = *(e->in); e 6005 src/dps8/dps8_eis.c if (!e->mopES) { // e->mopES is OFF e 6011 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[0]); e 6012 src/dps8/dps8_eis.c e->in += 1; e 6013 src/dps8/dps8_eis.c e->srcTally -= 1; e 6016 src/dps8/dps8_eis.c if (!e->mopSN) e 6022 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[2]); e 6024 src/dps8/dps8_eis.c e->in += 1; e 6025 src/dps8/dps8_eis.c e->srcTally -= 1; e 6026 src/dps8/dps8_eis.c e->mopZ = false; // iszero tested above e 6028 src/dps8/dps8_eis.c e 6030 src/dps8/dps8_eis.c e 6035 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, e->srcSZ, e->dstSZ, c); e 6037 src/dps8/dps8_eis.c e->mopES = true; e 6043 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[3]); e 6045 src/dps8/dps8_eis.c e->in += 1; e 6046 src/dps8/dps8_eis.c e->srcTally -= 1; e 6047 src/dps8/dps8_eis.c e->mopZ = false; // iszero tested above e 6049 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, e->srcSZ, e->dstSZ, c); e 6051 src/dps8/dps8_eis.c e->mopES = true; e 6057 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, e->srcSZ, e->dstSZ, c); e 6060 src/dps8/dps8_eis.c e->mopZ = false; e 6061 src/dps8/dps8_eis.c e->in += 1; e 6062 src/dps8/dps8_eis.c e->srcTally -= 1; e 6094 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 6095 src/dps8/dps8_eis.c if (e->mopIF == 0) e 6096 src/dps8/dps8_eis.c e->mopIF = 16; e 6098 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "MORS mopIF %d src %d dst %d\n", e->mopIF, e->srcTally, e->dstTally); e 6099 src/dps8/dps8_eis.c for(int n = 0 ; n < e->mopIF ; n += 1) e 6106 src/dps8/dps8_eis.c if (e->dstTally == 0) e 6108 src/dps8/dps8_eis.c if (e->srcTally == 0) e 6112 src/dps8/dps8_eis.c word9 c = (*e->in | (!e->mopSN ? e->editInsertionTable[2] : e->editInsertionTable[3])); e 6113 src/dps8/dps8_eis.c if (! isDecimalZero (*e->in)) e 6114 src/dps8/dps8_eis.c e->mopZ = false; e 6115 src/dps8/dps8_eis.c e->in += 1; e 6116 src/dps8/dps8_eis.c e->srcTally -= 1; e 6118 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, e->srcSZ, e->dstSZ, c); e 6136 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 6137 src/dps8/dps8_eis.c if (e->mopIF == 0) e 6138 src/dps8/dps8_eis.c e->mopIF = 16; e 6140 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "MVC mopIF %d\n", e->mopIF); e 6142 src/dps8/dps8_eis.c for(int n = 0 ; n < e->mopIF ; n += 1) e 6144 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "MVC n %d srcTally %d dstTally %d\n", n, e->srcTally, e->dstTally); e 6147 src/dps8/dps8_eis.c if (e->dstTally == 0) e 6149 src/dps8/dps8_eis.c if (e->srcTally == 0) e 6152 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "MVC write to output buffer %o\n", *e->in); e 6153 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, e->srcSZ, e->dstSZ, *e->in); e 6154 src/dps8/dps8_eis.c if (! isDecimalZero (*e->in)) e 6155 src/dps8/dps8_eis.c e->mopZ = false; e 6156 src/dps8/dps8_eis.c e->in += 1; e 6158 src/dps8/dps8_eis.c e->srcTally -= 1; e 6193 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 6194 src/dps8/dps8_eis.c if (e->mvne == true) e 6197 src/dps8/dps8_eis.c if (e->mopIF == 0) e 6198 src/dps8/dps8_eis.c e->mopIF = 16; e 6202 src/dps8/dps8_eis.c for(int n = 0 ; n < e->mopIF ; n += 1) e 6204 src/dps8/dps8_eis.c if (e->dstTally == 0) e 6206 src/dps8/dps8_eis.c if (e->srcTally == 0) e 6221 src/dps8/dps8_eis.c word9 c = *(e->in); e 6224 src/dps8/dps8_eis.c if (c & e->editInsertionTable[2]) // XXX only lower 4-bits are considered e 6227 src/dps8/dps8_eis.c else if (c & e->editInsertionTable[3]) // XXX only lower 4-bits are considered e 6229 src/dps8/dps8_eis.c e->mopSN = true; e 6234 src/dps8/dps8_eis.c e->in += 1; e 6235 src/dps8/dps8_eis.c e->srcTally -= 1; // XXX is this correct? No chars have been consumed, but ...... e 6237 src/dps8/dps8_eis.c e->mopZ = false; e 6238 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, e->srcSZ, e->dstSZ, c); e 6256 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 6257 src/dps8/dps8_eis.c if (e->mopIF == 0) e 6258 src/dps8/dps8_eis.c e->mopIF = 16; e 6260 src/dps8/dps8_eis.c for(int n = 0 ; n < e->mopIF ; n += 1) e 6262 src/dps8/dps8_eis.c if (e->dstTally == 0) e 6264 src/dps8/dps8_eis.c if (e->srcTally == 0) e 6267 src/dps8/dps8_eis.c word9 c = *e->in; e 6268 src/dps8/dps8_eis.c e->in += 1; e 6269 src/dps8/dps8_eis.c e->srcTally -= 1; e 6273 src/dps8/dps8_eis.c if (!e->mopES && isDecimalZero (c)) e 6278 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[1]); e 6282 src/dps8/dps8_eis.c else if ((! e->mopES) && (! isDecimalZero (c))) e 6286 src/dps8/dps8_eis.c e->mopZ = false; e 6287 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, e->srcSZ, e->dstSZ, c); e 6289 src/dps8/dps8_eis.c e->mopES = true; e 6290 src/dps8/dps8_eis.c } else if (e->mopES) e 6294 src/dps8/dps8_eis.c e->mopZ = false; e 6295 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, e->srcSZ, e->dstSZ, c); e 6322 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 6323 src/dps8/dps8_eis.c if (e->mopIF == 0) e 6324 src/dps8/dps8_eis.c e->mopIF = 16; e 6326 src/dps8/dps8_eis.c for(int n = 0 ; n < e->mopIF ; n += 1) e 6328 src/dps8/dps8_eis.c if (e->dstTally == 0) e 6330 src/dps8/dps8_eis.c if (e->srcTally == 0) e 6333 src/dps8/dps8_eis.c word9 c = *e->in; e 6334 src/dps8/dps8_eis.c e->srcTally -= 1; e 6335 src/dps8/dps8_eis.c e->in += 1; e 6339 src/dps8/dps8_eis.c if ((!e->mopES) && isDecimalZero (c)) e 6344 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[0]); e 6348 src/dps8/dps8_eis.c if ((! e->mopES) && (! isDecimalZero (c))) e 6352 src/dps8/dps8_eis.c e->mopZ = false; e 6353 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, e->srcSZ, e->dstSZ, c); e 6355 src/dps8/dps8_eis.c e->mopES = true; e 6356 src/dps8/dps8_eis.c } else if (e->mopES) e 6360 src/dps8/dps8_eis.c e->mopZ = false; e 6361 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, e->srcSZ, e->dstSZ, c); e 6383 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 6384 src/dps8/dps8_eis.c if (e->mopIF & 010) e 6385 src/dps8/dps8_eis.c e->mopES = true; e 6387 src/dps8/dps8_eis.c e->mopES = false; e 6389 src/dps8/dps8_eis.c if (e->mopIF & 04) e 6390 src/dps8/dps8_eis.c e->mopBZ = true; e 6448 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 6452 src/dps8/dps8_eis.c if (e == NULL) //-V547 e 6460 src/dps8/dps8_eis.c EISaddr *p = &e->ADDR2; e 6462 src/dps8/dps8_eis.c EISaddr *p = e->mopAddress; e 6468 src/dps8/dps8_eis.c if (e->mopPos > 3) // overflows to next word? e 6470 src/dps8/dps8_eis.c e->mopPos = 0; // reset to 1st byte e 6473 src/dps8/dps8_eis.c p->data = EISRead(&e->ADDR2); // read it from memory e 6476 src/dps8/dps8_eis.c PNL (p->data = EISRead(e->mopAddress)); // read it from memory e 6479 src/dps8/dps8_eis.c p->data = EISRead(e->mopAddress); // read it from memory e 6481 src/dps8/dps8_eis.c e->mopAddress->address = (e->mopAddress->address + 1) & AMASK; // bump source to next address e 6482 src/dps8/dps8_eis.c p->data = EISRead(e->mopAddress); // read it from memory e 6487 src/dps8/dps8_eis.c word9 mop9 = (word9) get9 (p -> data, e -> mopPos); // get 9-bit mop e 6489 src/dps8/dps8_eis.c e->mopIF = mop9 & 0xf; e 6492 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "MOP %s(%o) %o\n", m -> mopName, mop, e->mopIF); e 6493 src/dps8/dps8_eis.c e->m = m; e 6494 src/dps8/dps8_eis.c if (e->m == NULL || e->m->f == NULL) e 6496 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "getMop(e->m == NULL || e->m->f == NULL): mop:%d IF:%d\n", mop, e->mopIF); e 6500 src/dps8/dps8_eis.c e->mopPos += 1; e 6501 src/dps8/dps8_eis.c e->mopTally -= 1; e 6514 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 6517 src/dps8/dps8_eis.c e->mopTally = (int) e->N[KMOP]; // number of micro-ops e 6518 src/dps8/dps8_eis.c e->mopPos = (int) e->CN[KMOP]; // starting at char pos CN e 6520 src/dps8/dps8_eis.c e->mopAddress = &e->addr[kMop-1]; e 6521 src/dps8/dps8_eis.c e->mopTally = (int) e->N[kMop-1]; // number of micro-ops e 6522 src/dps8/dps8_eis.c e->mopPos = (int) e->CN[kMop-1]; // starting at char pos CN e 6525 src/dps8/dps8_eis.c word9 *p9 = e->editInsertionTable; // re-initialize edit insertion table e 6530 src/dps8/dps8_eis.c e->in = e->inBuffer; // reset input buffer pointer e 6531 src/dps8/dps8_eis.c e->out = e->outBuffer; // reset output buffer pointer e 6533 src/dps8/dps8_eis.c e->_faults = 0; // No faults (yet!) e 6542 src/dps8/dps8_eis.c while (e->dstTally) e 6544 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "mopExecutor srcTally %d dstTally %d mopTally %d\n", e->srcTally, e->dstTally, e->mopTally); e 6549 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; // XXX ill proc fault e 6555 src/dps8/dps8_eis.c if (e->_faults & FAULT_IPR) //-V547 e 6571 src/dps8/dps8_eis.c e 6577 src/dps8/dps8_eis.c if (e->mopTally == 0 || mres) e 6582 src/dps8/dps8_eis.c if (e->mopZ && e->mopBZ) e 6584 src/dps8/dps8_eis.c e->out = e->outBuffer; //-V1048 // reset output buffer pointer e 6585 src/dps8/dps8_eis.c e->dstTally = (int) e->N3; // number of chars in dst (max 63) e 6586 src/dps8/dps8_eis.c while (e->dstTally) e 6588 src/dps8/dps8_eis.c writeToOutputBuffer(&e->out, 9, e->dstSZ, e->editInsertionTable[0]); e 6591 src/dps8/dps8_eis.c else if (mres || e->dstTally) //-V560 e 6593 src/dps8/dps8_eis.c e->_faults |= FAULT_IPR; e 6599 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "mop faults %o src %d dst %d mop %d\n", e->_faults, e->srcTally, e->dstTally, e->mopTally); e 6614 src/dps8/dps8_eis.c e 6616 src/dps8/dps8_eis.c e 6617 src/dps8/dps8_eis.c e 6622 src/dps8/dps8_eis.c e 6624 src/dps8/dps8_eis.c e 6630 src/dps8/dps8_eis.c e 6632 src/dps8/dps8_eis.c e 6633 src/dps8/dps8_eis.c e 6639 src/dps8/dps8_eis.c e 6641 src/dps8/dps8_eis.c e 6645 src/dps8/dps8_eis.c if (e -> _faults) e 6651 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 6683 src/dps8/dps8_eis.c if (!(e->MF[0] & MFkID) && e -> op [0] & 0000000010000) e 6688 src/dps8/dps8_eis.c e 6692 src/dps8/dps8_eis.c if (!(e->MF[1] & MFkID) && e -> op [1] & 0000000010000) e 6696 src/dps8/dps8_eis.c if (!(e->MF[2] & MFkID) && e -> op [2] & 0000000010000) e 6710 src/dps8/dps8_eis.c e->mopES = false; // End Suppression flag e 6711 src/dps8/dps8_eis.c e->mopSN = false; // Sign flag e 6712 src/dps8/dps8_eis.c e->mopBZ = false; // Blank-when-zero flag e 6713 src/dps8/dps8_eis.c e->mopZ = true; // Zero flag e 6715 src/dps8/dps8_eis.c e->srcTally = (int) e->N1; // number of chars in src (max 63) e 6716 src/dps8/dps8_eis.c e->dstTally = (int) e->N3; // number of chars in dst (max 63) e 6719 src/dps8/dps8_eis.c e->srcTA = (int) TA1; // type of chars in src e 6721 src/dps8/dps8_eis.c e->srcTA = (int) e->TA1; // type of chars in src e 6724 src/dps8/dps8_eis.c switch (e -> srcTA) e 6727 src/dps8/dps8_eis.c e -> srcSZ = 4; e 6730 src/dps8/dps8_eis.c e -> srcSZ = 6; e 6733 src/dps8/dps8_eis.c e -> srcSZ = 9; e 6740 src/dps8/dps8_eis.c uint dstTA = e -> TA3; // type of chars in dst e 6746 src/dps8/dps8_eis.c e -> dstSZ = 4; e 6749 src/dps8/dps8_eis.c e -> dstSZ = 6; e 6752 src/dps8/dps8_eis.c e -> dstSZ = 9; e 6760 src/dps8/dps8_eis.c e -> mvne = false; e 6768 src/dps8/dps8_eis.c e -> dstTally = (int) e -> N3; // restore dstTally for output e 6778 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 6813 src/dps8/dps8_eis.c e 6817 src/dps8/dps8_eis.c if (!(e->MF[1] & MFkID) && e -> op [1] & 0000000070000) e 6822 src/dps8/dps8_eis.c e 6826 src/dps8/dps8_eis.c if (!(e->MF[2] & MFkID) && e -> op [2] & 0000000010000) e 6839 src/dps8/dps8_eis.c uint srcTN = e -> TN1; // type of chars in src e 6853 src/dps8/dps8_eis.c switch(e->S1) e 6856 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // need to account for the - sign e 6865 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // only 1 sign e 6869 src/dps8/dps8_eis.c n1 = (int) e->N1; // no sign e 6879 src/dps8/dps8_eis.c if (e->N[1] == 0) e 6884 src/dps8/dps8_eis.c if (e->N[2] == 0) e 6902 src/dps8/dps8_eis.c e->mopES = false; // End Suppression flag e 6903 src/dps8/dps8_eis.c e->mopSN = false; // Sign flag e 6904 src/dps8/dps8_eis.c e->mopBZ = false; // Blank-when-zero flag e 6905 src/dps8/dps8_eis.c e->mopZ = true; // Zero flag e 6907 src/dps8/dps8_eis.c e -> srcTally = (int) e -> N1; // number of chars in src (max 63) e 6908 src/dps8/dps8_eis.c e -> dstTally = (int) e -> N3; // number of chars in dst (max 63) e 6914 src/dps8/dps8_eis.c e->srcTA = CTA4; // type of chars in src e 6920 src/dps8/dps8_eis.c e->srcSZ = 4; //-V1037 // stored as 4-bit decimals e 6924 src/dps8/dps8_eis.c e->srcSZ = 4; //-V1037 // 'cause everything is stored as 4-bit decimals e 6931 src/dps8/dps8_eis.c uint dstTA = e->TA3; // type of chars in dst e 6937 src/dps8/dps8_eis.c e->dstSZ = 4; e 6941 src/dps8/dps8_eis.c e->dstSZ = 6; e 6945 src/dps8/dps8_eis.c e->dstSZ = 9; e 6952 src/dps8/dps8_eis.c e->N1, e->N2, e->N3, e->TN1, e->CN1, TA3, e->CN3); e 6956 src/dps8/dps8_eis.c e->N1, e->N2, e->N3, e->TN1, e->CN1, e->TA3, e->CN3); e 6972 src/dps8/dps8_eis.c for(int n = 0 ; n < e -> srcTally ; n ++) e 6973 src/dps8/dps8_eis.c sum += e -> inBuffer [n]; e 6974 src/dps8/dps8_eis.c if ((e -> sign == -1) && sum) e 6975 src/dps8/dps8_eis.c e -> mopSN = true; e 6978 src/dps8/dps8_eis.c e -> mvne = true; e 6986 src/dps8/dps8_eis.c e -> dstTally = (int) e -> N3; // restore dstTally for output e 7000 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 7052 src/dps8/dps8_eis.c if (!(e->MF[0] & MFkID) && e -> op [0] & 0000000010000) e 7058 src/dps8/dps8_eis.c e 7063 src/dps8/dps8_eis.c if (!(e->MF[2] & MFkID) && e -> op [2] & 0000000777600) e 7077 src/dps8/dps8_eis.c e->srcTA = (int) TA1; e 7082 src/dps8/dps8_eis.c e->srcTA = (int) e->TA1; e 7083 src/dps8/dps8_eis.c uint dstTA = e->TA2; e 7085 src/dps8/dps8_eis.c switch (e -> TA1) e 7089 src/dps8/dps8_eis.c e -> srcSZ = 4; e 7092 src/dps8/dps8_eis.c e -> srcSZ = 6; e 7095 src/dps8/dps8_eis.c e -> srcSZ = 9; e 7102 src/dps8/dps8_eis.c switch (e -> TA2) e 7106 src/dps8/dps8_eis.c e -> dstSZ = 4; e 7109 src/dps8/dps8_eis.c e -> dstSZ = 6; e 7112 src/dps8/dps8_eis.c e -> dstSZ = 9; e 7133 src/dps8/dps8_eis.c switch(e->TA1) e 7152 src/dps8/dps8_eis.c e 7157 src/dps8/dps8_eis.c int lastpageidx = ((int)e->N1 + (int)e->CN1 -1) / e->srcSZ; e 7159 src/dps8/dps8_eis.c EISReadIdx(&e->ADDR1, (uint)lastpageidx); e 7161 src/dps8/dps8_eis.c EISReadIdx(&e->ADDR3, 0); e 7162 src/dps8/dps8_eis.c EISReadIdx(&e->ADDR3, xlatSize-1); e 7169 src/dps8/dps8_eis.c switch(e->srcSZ) e 7181 src/dps8/dps8_eis.c __func__, e -> CN1, e -> CN2, e -> srcSZ, e -> dstSZ, T, e 7182 src/dps8/dps8_eis.c fill, fillT, e -> N1, e -> N2); e 7184 src/dps8/dps8_eis.c PNL (L68_ (if (max (e->N1, e->N2) < 128) e 7187 src/dps8/dps8_eis.c for ( ; cpu.du.CHTALLY < min(e->N1, e->N2); cpu.du.CHTALLY ++) e 7195 src/dps8/dps8_eis.c if (e->TA1 == e->TA2) e 7197 src/dps8/dps8_eis.c EISput469(2, cpu.du.CHTALLY, xlate (&e->ADDR3, dstTA, c)); e 7203 src/dps8/dps8_eis.c word9 cout = xlate(&e->ADDR3, dstTA, (uint) cidx); e 7215 src/dps8/dps8_eis.c switch (e->srcSZ) e 7218 src/dps8/dps8_eis.c switch(e->dstSZ) e 7228 src/dps8/dps8_eis.c switch(e->dstSZ) e 7248 src/dps8/dps8_eis.c if (e->N1 < e->N2) e 7250 src/dps8/dps8_eis.c word9 cfill = xlate(&e->ADDR3, dstTA, fillT); e 7251 src/dps8/dps8_eis.c switch (e->srcSZ) e 7254 src/dps8/dps8_eis.c switch(e->dstSZ) e 7264 src/dps8/dps8_eis.c switch(e->dstSZ) e 7276 src/dps8/dps8_eis.c for( ; cpu.du.CHTALLY < e->N2 ; cpu.du.CHTALLY ++) e 7284 src/dps8/dps8_eis.c if (e->N1 > e->N2) e 7300 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 7342 src/dps8/dps8_eis.c uint srcTN = e->TN1; // type of chars in src e 7356 src/dps8/dps8_eis.c switch(e->S1) e 7359 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // need to account for the - sign e 7369 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // only 1 sign e 7370 src/dps8/dps8_eis.c sc1 = -e->SF1; e 7374 src/dps8/dps8_eis.c n1 = (int) e->N1; // no sign e 7375 src/dps8/dps8_eis.c sc1 = -e->SF1; e 7382 src/dps8/dps8_eis.c switch(e->S2) e 7385 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // need to account for the sign e 7386 src/dps8/dps8_eis.c if (e->TN2 == CTN4) e 7395 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // 1 sign e 7396 src/dps8/dps8_eis.c sc2 = -e->SF2; e 7400 src/dps8/dps8_eis.c n2 = (int) e->N2; // no sign e 7401 src/dps8/dps8_eis.c sc2 = -e->SF2; e 7418 src/dps8/dps8_eis.c decNumber *op1 = decBCD9ToNumber(e->inBuffer, n1, sc1, &_1); e 7419 src/dps8/dps8_eis.c if (e->sign == -1) e 7421 src/dps8/dps8_eis.c if (e->S1 == CSFL) e 7422 src/dps8/dps8_eis.c op1->exponent = e->exponent; e 7426 src/dps8/dps8_eis.c decNumber *op2 = decBCD9ToNumber(e->inBuffer, n2, sc2, &_2); e 7427 src/dps8/dps8_eis.c if (e->sign == -1) e 7429 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 7430 src/dps8/dps8_eis.c op2->exponent = e->exponent; e 7607 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 7645 src/dps8/dps8_eis.c e->P = getbits36_1 (cpu.cu.IWB, 0) != 0; // 4-bit data sign character e 7652 src/dps8/dps8_eis.c uint srcTN = e->TN1; // type of chars in src e 7654 src/dps8/dps8_eis.c uint dstTN = e->TN2; // type of chars in dst e 7655 src/dps8/dps8_eis.c uint dstCN = e->CN2; // starting at char pos CN e 7659 src/dps8/dps8_eis.c e->TN1, e->CN1, e->N1, e->TN2, e->CN2, e->N2); e 7662 src/dps8/dps8_eis.c e->SF1, e->SF2); e 7665 src/dps8/dps8_eis.c e->OP1, e->OP2); e 7679 src/dps8/dps8_eis.c switch(e->S1) e 7682 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // need to account for the - sign e 7692 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // only 1 sign e 7693 src/dps8/dps8_eis.c sc1 = -e->SF1; e 7697 src/dps8/dps8_eis.c n1 = (int) e->N1; // no sign e 7698 src/dps8/dps8_eis.c sc1 = -e->SF1; e 7713 src/dps8/dps8_eis.c switch(e->S2) e 7716 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // need to account for the sign e 7725 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // 1 sign e 7729 src/dps8/dps8_eis.c n2 = (int) e->N2; // no sign e 7746 src/dps8/dps8_eis.c decNumber *op1 = decBCD9ToNumber (e->inBuffer, n1, sc1, &_1); e 7748 src/dps8/dps8_eis.c if (e->sign == -1) e 7750 src/dps8/dps8_eis.c if (e->S1 == CSFL) e 7751 src/dps8/dps8_eis.c op1->exponent = e->exponent; e 7763 src/dps8/dps8_eis.c char * res = formatDecimal (out, & set, op1, n2, (int) e->S2, e->SF2, R, e 7774 src/dps8/dps8_eis.c switch(e->S2) e 7784 src/dps8/dps8_eis.c if (e->P) e 7786 src/dps8/dps8_eis.c EISwrite49 (& e->ADDR2, & pos, (int) dstTN, e 7791 src/dps8/dps8_eis.c EISwrite49 (& e->ADDR2, & pos, (int) dstTN, e 7796 src/dps8/dps8_eis.c EISwrite49 (& e->ADDR2, & pos, (int) dstTN, e 7813 src/dps8/dps8_eis.c EISwrite49 (& e->ADDR2, & pos, (int) dstTN, e 7817 src/dps8/dps8_eis.c EISwrite49 (& e->ADDR2, & pos, (int) dstTN, (word9) res[i]); e 7822 src/dps8/dps8_eis.c switch(e->S2) e 7831 src/dps8/dps8_eis.c if (e->P) e 7833 src/dps8/dps8_eis.c EISwrite49 (& e->ADDR2, & pos, (int) dstTN, e 7838 src/dps8/dps8_eis.c EISwrite49 (& e->ADDR2, & pos, (int) dstTN, e 7844 src/dps8/dps8_eis.c EISwrite49 (& e->ADDR2, & pos, (int) dstTN, e 7856 src/dps8/dps8_eis.c EISwrite49 (& e->ADDR2, & pos, (int) dstTN, e 7858 src/dps8/dps8_eis.c EISwrite49 (& e->ADDR2, & pos, (int) dstTN, e 7862 src/dps8/dps8_eis.c EISwrite49 (& e->ADDR2, & pos, (int) dstTN, e 7874 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 7925 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 8012 src/dps8/dps8_eis.c e->ADDR1.cPos = (int) e->C1; e 8013 src/dps8/dps8_eis.c e->ADDR2.cPos = (int) e->C2; e 8015 src/dps8/dps8_eis.c e->ADDR1.bPos = (int) e->B1; e 8016 src/dps8/dps8_eis.c e->ADDR2.bPos = (int) e->B2; e 8027 src/dps8/dps8_eis.c e->ADDR1.mode = eRWreadBit; e 8036 src/dps8/dps8_eis.c e -> N1, e -> N2, e 8037 src/dps8/dps8_eis.c e -> C1, e -> C2, e -> B1, e -> B2, F, T, e 8039 src/dps8/dps8_eis.c e -> addr [0].SNR, e -> addr [0].address, e 8040 src/dps8/dps8_eis.c e -> addr [0].cPos, e -> addr [0].bPos, e 8041 src/dps8/dps8_eis.c e -> addr [1].SNR, e -> addr [1].address, e 8042 src/dps8/dps8_eis.c e -> addr [1].cPos, e -> addr [1].bPos); e 8047 src/dps8/dps8_eis.c PNL (L68_ (if (max (e->N1, e->N2) < 128) e 8050 src/dps8/dps8_eis.c for( ; cpu.du.CHTALLY < min(e->N1, e->N2); cpu.du.CHTALLY += 1) e 8052 src/dps8/dps8_eis.c bool b1 = EISgetBitRWN(&e->ADDR1, true); e 8053 src/dps8/dps8_eis.c e->ADDR2.mode = eRWreadBit; e 8054 src/dps8/dps8_eis.c bool b2 = EISgetBitRWN(&e->ADDR2, true); e 8065 src/dps8/dps8_eis.c e->ADDR2.bit = bR ? 1 : 0; // set bit contents to write e 8066 src/dps8/dps8_eis.c e->ADDR2.mode = eRWwriteBit; // we want to write the bit e 8069 src/dps8/dps8_eis.c EISgetBitRWN(&e->ADDR2, e->ADDR1.last_bit_posn == 35); // write bit w/ addr increment to memory e 8072 src/dps8/dps8_eis.c if (e->N1 < e->N2) e 8074 src/dps8/dps8_eis.c for(; cpu.du.CHTALLY < e->N2; cpu.du.CHTALLY += 1) e 8078 src/dps8/dps8_eis.c e->ADDR2.mode = eRWreadBit; e 8079 src/dps8/dps8_eis.c bool b2 = EISgetBitRWN(&e->ADDR2, true); e 8090 src/dps8/dps8_eis.c e->ADDR2.bit = bR ? 1 : 0; e 8091 src/dps8/dps8_eis.c e->ADDR2.mode = eRWwriteBit; e 8094 src/dps8/dps8_eis.c EISgetBitRWN(&e->ADDR2, e->ADDR1.last_bit_posn == 35); // write bit w/ addr increment to memory e 8098 src/dps8/dps8_eis.c EISWriteCache (&e->ADDR2); e 8104 src/dps8/dps8_eis.c if (e->N1 > e->N2) e 8211 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 8280 src/dps8/dps8_eis.c e->ADDR1.cPos = (int) e->C1; e 8281 src/dps8/dps8_eis.c e->ADDR2.cPos = (int) e->C2; e 8283 src/dps8/dps8_eis.c e->ADDR1.bPos = (int) e->B1; e 8284 src/dps8/dps8_eis.c e->ADDR2.bPos = (int) e->B2; e 8289 src/dps8/dps8_eis.c getBitOffsets((int) e->N1, (int) e->C1, (int) e->B1, &numWords1, &e->ADDR1.cPos, &e->ADDR1.bPos); e 8296 src/dps8/dps8_eis.c e->ADDR1.address += (word18) numWords1; e 8301 src/dps8/dps8_eis.c e->N1, e->C1, e->B1, numWords1, e->ADDR1.cPos, e->ADDR1.bPos); e 8302 src/dps8/dps8_eis.c getBitOffsets((int) e->N2, (int) e->C2, (int) e->B2, &numWords2, &e->ADDR2.cPos, &e->ADDR2.bPos); e 8305 src/dps8/dps8_eis.c e->N2, e->C2, e->B2, numWords2, e->ADDR2.cPos, e->ADDR2.bPos); e 8312 src/dps8/dps8_eis.c e->ADDR2.address += (word18) numWords2; e 8324 src/dps8/dps8_eis.c e->ADDR1.mode = eRWreadBit; e 8330 src/dps8/dps8_eis.c PNL (L68_ (if (max (e->N1, e->N2) < 128) e 8333 src/dps8/dps8_eis.c for( ; cpu.du.CHTALLY < min(e->N1, e->N2); cpu.du.CHTALLY += 1) e 8335 src/dps8/dps8_eis.c bool b1 = EISgetBitRWNR(&e->ADDR1, true); e 8337 src/dps8/dps8_eis.c e->ADDR2.mode = eRWreadBit; e 8338 src/dps8/dps8_eis.c bool b2 = EISgetBitRWNR(&e->ADDR2, true); e 8346 src/dps8/dps8_eis.c e->ADDR2.bit = bR ? 1 : 0; // set bit contents to write e 8347 src/dps8/dps8_eis.c e->ADDR2.mode = eRWwriteBit; // we want to write the bit e 8350 src/dps8/dps8_eis.c EISgetBitRWNR(&e->ADDR2, e->ADDR1.last_bit_posn == 0); e 8353 src/dps8/dps8_eis.c if (e->N1 < e->N2) e 8355 src/dps8/dps8_eis.c for(; cpu.du.CHTALLY < e->N2; cpu.du.CHTALLY += 1) e 8359 src/dps8/dps8_eis.c e->ADDR2.mode = eRWreadBit; e 8360 src/dps8/dps8_eis.c bool b2 = EISgetBitRWNR(&e->ADDR2, true); e 8371 src/dps8/dps8_eis.c e->ADDR2.bit = bR ? 1 : 0; e 8372 src/dps8/dps8_eis.c e->ADDR2.mode = eRWwriteBit; e 8375 src/dps8/dps8_eis.c EISgetBitRWNR(&e->ADDR2, e->ADDR1.last_bit_posn == 0); e 8379 src/dps8/dps8_eis.c EISWriteCache (&e->ADDR2); e 8385 src/dps8/dps8_eis.c if (e->N1 > e->N2) e 8410 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 8497 src/dps8/dps8_eis.c e->ADDR1.cPos = (int) e->C1; e 8498 src/dps8/dps8_eis.c e->ADDR2.cPos = (int) e->C2; e 8500 src/dps8/dps8_eis.c e->ADDR1.bPos = (int) e->B1; e 8501 src/dps8/dps8_eis.c e->ADDR2.bPos = (int) e->B2; e 8512 src/dps8/dps8_eis.c e->ADDR1.mode = eRWreadBit; e 8513 src/dps8/dps8_eis.c e->ADDR2.mode = eRWreadBit; e 8522 src/dps8/dps8_eis.c e -> N1, e -> N2, e 8523 src/dps8/dps8_eis.c e -> C1, e -> C2, e -> B1, e -> B2, F, T, e 8525 src/dps8/dps8_eis.c e -> addr [0].SNR, e -> addr [0].address, e 8526 src/dps8/dps8_eis.c e -> addr [0].cPos, e -> addr [0].bPos, e 8527 src/dps8/dps8_eis.c e -> addr [1].SNR, e -> addr [1].address, e 8528 src/dps8/dps8_eis.c e -> addr [1].cPos, e -> addr [1].bPos); e 8533 src/dps8/dps8_eis.c PNL (L68_ (if (max (e->N1, e->N2) < 128) e 8536 src/dps8/dps8_eis.c for( ; cpu.du.CHTALLY < min (e->N1, e->N2); cpu.du.CHTALLY += 1) e 8538 src/dps8/dps8_eis.c bool b1 = EISgetBitRWN (& e->ADDR1, true); e 8539 src/dps8/dps8_eis.c bool b2 = EISgetBitRWN (& e->ADDR2, true); e 8551 src/dps8/dps8_eis.c if (e->N1 < e->N2) e 8553 src/dps8/dps8_eis.c for (; cpu.du.CHTALLY < e->N2; cpu.du.CHTALLY += 1) e 8556 src/dps8/dps8_eis.c bool b2 = EISgetBitRWN (& e->ADDR2, true); e 8573 src/dps8/dps8_eis.c if (e->N1 > e->N2) e 8598 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 8667 src/dps8/dps8_eis.c e->ADDR1.cPos = (int) e->C1; e 8668 src/dps8/dps8_eis.c e->ADDR2.cPos = (int) e->C2; e 8670 src/dps8/dps8_eis.c e->ADDR1.bPos = (int) e->B1; e 8671 src/dps8/dps8_eis.c e->ADDR2.bPos = (int) e->B2; e 8676 src/dps8/dps8_eis.c getBitOffsets((int) e->N1, (int) e->C1, (int) e->B1, &numWords1, &e->ADDR1.cPos, &e->ADDR1.bPos); e 8683 src/dps8/dps8_eis.c e->ADDR1.address += (word18) numWords1; e 8688 src/dps8/dps8_eis.c e->N1, e->C1, e->B1, numWords1, e->ADDR1.cPos, e->ADDR1.bPos); e 8689 src/dps8/dps8_eis.c getBitOffsets((int) e->N2, (int) e->C2, (int) e->B2, &numWords2, &e->ADDR2.cPos, &e->ADDR2.bPos); e 8692 src/dps8/dps8_eis.c e->N2, e->C2, e->B2, numWords2, e->ADDR2.cPos, e->ADDR2.bPos); e 8699 src/dps8/dps8_eis.c e->ADDR2.address += (word18) numWords2; e 8711 src/dps8/dps8_eis.c e->ADDR1.mode = eRWreadBit; e 8717 src/dps8/dps8_eis.c PNL (L68_ (if (max (e->N1, e->N2) < 128) e 8720 src/dps8/dps8_eis.c for( ; cpu.du.CHTALLY < min(e->N1, e->N2); cpu.du.CHTALLY += 1) e 8722 src/dps8/dps8_eis.c bool b1 = EISgetBitRWNR(&e->ADDR1, true); e 8724 src/dps8/dps8_eis.c e->ADDR2.mode = eRWreadBit; e 8725 src/dps8/dps8_eis.c bool b2 = EISgetBitRWNR(&e->ADDR2, true); e 8737 src/dps8/dps8_eis.c if (e->N1 < e->N2) e 8739 src/dps8/dps8_eis.c for(; cpu.du.CHTALLY < e->N2; cpu.du.CHTALLY += 1) e 8743 src/dps8/dps8_eis.c e->ADDR2.mode = eRWreadBit; e 8744 src/dps8/dps8_eis.c bool b2 = EISgetBitRWNR(&e->ADDR2, true); e 8762 src/dps8/dps8_eis.c if (e->N1 > e->N2) e 8832 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 8879 src/dps8/dps8_eis.c int charPosn1 = (int) e->C1; e 8880 src/dps8/dps8_eis.c int charPosn2 = (int) e->C2; e 8882 src/dps8/dps8_eis.c int bitPosn1 = (int) e->B1; e 8883 src/dps8/dps8_eis.c int bitPosn2 = (int) e->B2; e 8890 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "cmpb N1 %d N2 %d\n", e -> N1, e -> N2); e 8902 src/dps8/dps8_eis.c e 8908 src/dps8/dps8_eis.c PNL (L68_ (if (max (e->N1, e->N2) < 128) e 8912 src/dps8/dps8_eis.c for(i = 0 ; i < min(e->N1, e->N2) ; i += 1) e 8914 src/dps8/dps8_eis.c bool b1 = EISgetBit (&e->ADDR1, &charPosn1, &bitPosn1); e 8915 src/dps8/dps8_eis.c bool b2 = EISgetBit (&e->ADDR2, &charPosn2, &bitPosn2); e 8931 src/dps8/dps8_eis.c if (e->N1 < e->N2) e 8933 src/dps8/dps8_eis.c for(; i < e->N2 ; i += 1) e 8936 src/dps8/dps8_eis.c bool b2 = EISgetBit(&e->ADDR2, &charPosn2, &bitPosn2); e 8951 src/dps8/dps8_eis.c } else if (e->N1 > e->N2) e 8953 src/dps8/dps8_eis.c for(; i < e->N1 ; i += 1) e 8955 src/dps8/dps8_eis.c bool b1 = EISgetBit(&e->ADDR1, &charPosn1, &bitPosn1); e 9099 src/dps8/dps8_eis.c e 9113 src/dps8/dps8_eis.c e 9114 src/dps8/dps8_eis.c e 9115 src/dps8/dps8_eis.c e 9166 src/dps8/dps8_eis.c e 9167 src/dps8/dps8_eis.c e 9186 src/dps8/dps8_eis.c e 9189 src/dps8/dps8_eis.c e 9261 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 9304 src/dps8/dps8_eis.c e->x = signExt9(x, n); // form proper 2's-complement integer e 9314 src/dps8/dps8_eis.c e 9316 src/dps8/dps8_eis.c e 9322 src/dps8/dps8_eis.c e 9329 src/dps8/dps8_eis.c e 9339 src/dps8/dps8_eis.c e 9358 src/dps8/dps8_eis.c e 9361 src/dps8/dps8_eis.c e 9370 src/dps8/dps8_eis.c e 9373 src/dps8/dps8_eis.c e 9385 src/dps8/dps8_eis.c e 9401 src/dps8/dps8_eis.c e 9405 src/dps8/dps8_eis.c e 9417 src/dps8/dps8_eis.c e 9429 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 9512 src/dps8/dps8_eis.c if (!(e->MF[0] & MFkID) && e -> op [0] & 0000000077700) e 9516 src/dps8/dps8_eis.c if (!(e->MF[1] & MFkID) && e -> op [1] & 0000000007700) e 9519 src/dps8/dps8_eis.c if (e->S[1] == 0) e 9532 src/dps8/dps8_eis.c e->P = getbits36_1 (cpu.cu.IWB, 0) != 0; // 4-bit data sign character control e 9534 src/dps8/dps8_eis.c if (e->N1 == 0 || e->N1 > 8) e 9537 src/dps8/dps8_eis.c uint dstTN = e->TN2; // type of chars in dst e 9538 src/dps8/dps8_eis.c uint dstCN = e->CN2; // starting at char pos CN e 9542 src/dps8/dps8_eis.c switch(e->S2) e 9546 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // 1 sign e 9550 src/dps8/dps8_eis.c n2 = (int) e->N2; // no sign e 9565 src/dps8/dps8_eis.c load9x((int) e->N1, &e->ADDR1, (int) e->CN1); e 9568 src/dps8/dps8_eis.c e->sign = 1; e 9570 src/dps8/dps8_eis.c word72 x = cast_128 (e->x); e 9571 src/dps8/dps8_eis.c if (islt_s128 (e->x, construct_s128 (0, 0))) e 9573 src/dps8/dps8_eis.c e->sign = -1; e 9592 src/dps8/dps8_eis.c word72 x = (word72)e->x; e 9593 src/dps8/dps8_eis.c if (e->x < 0) { e 9594 src/dps8/dps8_eis.c e->sign = -1; e 9614 src/dps8/dps8_eis.c if (e->sign == -1) e 9620 src/dps8/dps8_eis.c char * res = formatDecimal (out, &set, op1, n2, (int) e->S2, e->SF2, 0, &Ovr, &Trunc); e 9628 src/dps8/dps8_eis.c switch(e->S2) e 9634 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 9635 src/dps8/dps8_eis.c EISwrite49(&e->ADDR2, &pos, (int) dstTN, (decNumberIsNegative(op1) && !decNumberIsZero(op1)) ? 015 : 013); // special + e 9637 src/dps8/dps8_eis.c EISwrite49(&e->ADDR2, &pos, (int) dstTN, (decNumberIsNegative(op1) && !decNumberIsZero(op1)) ? 015 : 014); // default + e 9640 src/dps8/dps8_eis.c EISwrite49(&e->ADDR2, &pos, (int) dstTN, (decNumberIsNegative(op1) && !decNumberIsZero(op1)) ? '-' : '+'); e 9655 src/dps8/dps8_eis.c EISwrite49(&e->ADDR2, &pos, (int) dstTN, (word9) (res[i] - '0')); e 9658 src/dps8/dps8_eis.c EISwrite49(&e->ADDR2, &pos, (int) dstTN, (word9) res[i]); e 9663 src/dps8/dps8_eis.c switch(e->S2) e 9669 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 9670 src/dps8/dps8_eis.c EISwrite49(&e->ADDR2, &pos, (int) dstTN, (decNumberIsNegative(op1) && !decNumberIsZero(op1)) ? 015 : 013); // special + e 9672 src/dps8/dps8_eis.c EISwrite49(&e->ADDR2, &pos, (int) dstTN, (decNumberIsNegative(op1) && !decNumberIsZero(op1)) ? 015 : 014); // default + e 9676 src/dps8/dps8_eis.c EISwrite49(&e->ADDR2, &pos, (int) dstTN, (decNumberIsNegative(op1) && !decNumberIsZero(op1)) ? '-' : '+'); e 9707 src/dps8/dps8_eis.c e 9716 src/dps8/dps8_eis.c e 9721 src/dps8/dps8_eis.c e 9722 src/dps8/dps8_eis.c e 9736 src/dps8/dps8_eis.c e 9754 src/dps8/dps8_eis.c e 9761 src/dps8/dps8_eis.c e 9776 src/dps8/dps8_eis.c e 9783 src/dps8/dps8_eis.c e 9797 src/dps8/dps8_eis.c e 9804 src/dps8/dps8_eis.c e 9818 src/dps8/dps8_eis.c e 9825 src/dps8/dps8_eis.c e 9846 src/dps8/dps8_eis.c e 9855 src/dps8/dps8_eis.c e 9862 src/dps8/dps8_eis.c e 9863 src/dps8/dps8_eis.c e 9888 src/dps8/dps8_eis.c e 9902 src/dps8/dps8_eis.c e 9908 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 9940 src/dps8/dps8_eis.c if (!(e->MF[0] & MFkID) && e -> op [0] & 0000000007700) e 9946 src/dps8/dps8_eis.c if (!(e->MF[1] & MFkID) && e -> op [1] & 0000000077700) e 9953 src/dps8/dps8_eis.c if (e->S1 == 0 || e->SF1 != 0) e 9969 src/dps8/dps8_eis.c if (e->N2 == 0 || e->N2 > 8) e 9986 src/dps8/dps8_eis.c switch(e->S1) e 9990 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // only 1 sign e 9994 src/dps8/dps8_eis.c n1 = (int) e->N1; // no sign e 10008 src/dps8/dps8_eis.c word72 msk = subtract_128 (lshift_128 (construct_128 (0, 1), (9*e->N2-1)),construct_128 (0, 1)); e 10010 src/dps8/dps8_eis.c word72 msk = ((word72)1<<(9*e->N2-1))-1; // excluding sign e 10015 src/dps8/dps8_eis.c e 10016 src/dps8/dps8_eis.c e 10021 src/dps8/dps8_eis.c e 10033 src/dps8/dps8_eis.c x = add_128 (x, construct_128 (0, (uint) e->inBuffer[i])); e 10039 src/dps8/dps8_eis.c if (e->sign == -1) e 10047 src/dps8/dps8_eis.c x += e->inBuffer[i]; e 10052 src/dps8/dps8_eis.c if (e->sign == -1) e 10059 src/dps8/dps8_eis.c int pos = (int)e->CN2; e 10063 src/dps8/dps8_eis.c int shift = 9*((int)e->N2-1); e 10064 src/dps8/dps8_eis.c for(int i = 0; i < (int)e->N2; i++) { e 10066 src/dps8/dps8_eis.c EISwrite9(&e->ADDR2, &pos, (word9) rshift_128 (x, (uint) shift).l & 0777); e 10068 src/dps8/dps8_eis.c EISwrite9(&e->ADDR2, &pos, (word9) (x >> shift )& 0777); e 10073 src/dps8/dps8_eis.c SC_I_NEG (e->sign == -1); // set negative indicator e 10103 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 10140 src/dps8/dps8_eis.c e->P = getbits36_1 (cpu.cu.IWB, 0) != 0; // 4-bit data sign character control e 10147 src/dps8/dps8_eis.c uint srcTN = e->TN1; // type of chars in src e 10149 src/dps8/dps8_eis.c uint dstTN = e->TN2; // type of chars in dst e 10150 src/dps8/dps8_eis.c uint dstCN = e->CN2; // starting at char pos CN e 10152 src/dps8/dps8_eis.c e->ADDR3 = e->ADDR2; e 10166 src/dps8/dps8_eis.c switch(e->S1) e 10169 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // need to account for the - sign e 10179 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // only 1 sign e 10180 src/dps8/dps8_eis.c sc1 = -e->SF1; e 10184 src/dps8/dps8_eis.c n1 = (int) e->N1; // no sign e 10185 src/dps8/dps8_eis.c sc1 = -e->SF1; e 10192 src/dps8/dps8_eis.c switch(e->S2) e 10195 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // need to account for the sign e 10196 src/dps8/dps8_eis.c if (e->TN2 == CTN4) e 10205 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // 1 sign e 10206 src/dps8/dps8_eis.c sc2 = -e->SF2; e 10210 src/dps8/dps8_eis.c n2 = (int) e->N2; // no sign e 10211 src/dps8/dps8_eis.c sc2 = -e->SF2; e 10228 src/dps8/dps8_eis.c decNumber *op1 = decBCD9ToNumber(e->inBuffer, n1, sc1, &_1); e 10229 src/dps8/dps8_eis.c if (e->sign == -1) e 10231 src/dps8/dps8_eis.c if (e->S1 == CSFL) e 10232 src/dps8/dps8_eis.c op1->exponent = e->exponent; e 10236 src/dps8/dps8_eis.c decNumber *op2 = decBCD9ToNumber(e->inBuffer, n2, sc2, &_2); e 10237 src/dps8/dps8_eis.c if (e->sign == -1) e 10239 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 10240 src/dps8/dps8_eis.c op2->exponent = e->exponent; e 10250 src/dps8/dps8_eis.c int sf = e->S3==CSFL?op3->exponent:e->SF3; e 10283 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n2, (int) e->S2, e->SF2, R, &Ovr, &Trunc); e 10298 src/dps8/dps8_eis.c switch(e->S2) e 10305 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 10306 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 10308 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 10311 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 10326 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) (res[j] - '0')); e 10329 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) res[j]); e 10334 src/dps8/dps8_eis.c switch(e->S2) e 10340 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 10341 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 10343 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 10346 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 10356 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (op3->exponent >> 4) & 0xf); // upper 4-bits e 10357 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xf); // lower 4-bits e 10360 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xff); // write 8-bit exponent e 10371 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 10452 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 10491 src/dps8/dps8_eis.c e->P = getbits36_1 (cpu.cu.IWB, 0) != 0; // 4-bit data sign character control e 10498 src/dps8/dps8_eis.c uint srcTN = e->TN1; // type of chars in src e 10500 src/dps8/dps8_eis.c uint dstTN = e->TN3; // type of chars in dst e 10501 src/dps8/dps8_eis.c uint dstCN = e->CN3; // starting at char pos CN e 10515 src/dps8/dps8_eis.c switch(e->S1) e 10518 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // need to account for the - sign e 10528 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // only 1 sign e 10529 src/dps8/dps8_eis.c sc1 = -e->SF1; e 10533 src/dps8/dps8_eis.c n1 = (int) e->N1; // no sign e 10534 src/dps8/dps8_eis.c sc1 = -e->SF1; e 10541 src/dps8/dps8_eis.c switch(e->S2) e 10544 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // need to account for the sign e 10545 src/dps8/dps8_eis.c if (e->TN2 == CTN4) e 10554 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // 1 sign e 10555 src/dps8/dps8_eis.c sc2 = -e->SF2; e 10559 src/dps8/dps8_eis.c n2 = (int) e->N2; // no sign e 10560 src/dps8/dps8_eis.c sc2 = -e->SF2; e 10567 src/dps8/dps8_eis.c switch(e->S3) e 10570 src/dps8/dps8_eis.c n3 = (int) e->N3 - 1; // need to account for the sign e 10579 src/dps8/dps8_eis.c n3 = (int) e->N3 - 1; // 1 sign e 10583 src/dps8/dps8_eis.c n3 = (int) e->N3; // no sign e 10599 src/dps8/dps8_eis.c decNumber *op1 = decBCD9ToNumber(e->inBuffer, n1, sc1, &_1); e 10600 src/dps8/dps8_eis.c if (e->sign == -1) e 10602 src/dps8/dps8_eis.c if (e->S1 == CSFL) e 10603 src/dps8/dps8_eis.c op1->exponent = e->exponent; e 10607 src/dps8/dps8_eis.c decNumber *op2 = decBCD9ToNumber(e->inBuffer, n2, sc2, &_2); e 10608 src/dps8/dps8_eis.c if (e->sign == -1) e 10610 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 10611 src/dps8/dps8_eis.c op2->exponent = e->exponent; e 10631 src/dps8/dps8_eis.c int sf = e->S3==CSFL?op3->exponent:e->SF3; e 10664 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n3, (int) e->S3, e->SF3, R, &Ovr, &Trunc); e 10679 src/dps8/dps8_eis.c switch(e->S3) e 10686 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 10687 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 10689 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 10692 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 10707 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) (res[i] - '0')); e 10710 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) res[i]); e 10715 src/dps8/dps8_eis.c switch(e->S3) e 10721 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 10722 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 10724 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 10727 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 10737 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (op3->exponent >> 4) & 0xf); // upper 4-bits e 10738 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xf); // lower 4-bits e 10742 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xff); // write 8-bit exponent e 10753 src/dps8/dps8_eis.c if (e->S3 == CSFL) e 10794 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 10834 src/dps8/dps8_eis.c e->P = getbits36_1 (cpu.cu.IWB, 0) != 0; // 4-bit data sign character control e 10841 src/dps8/dps8_eis.c uint srcTN = e->TN1; // type of chars in src e 10843 src/dps8/dps8_eis.c uint dstTN = e->TN2; // type of chars in dst e 10844 src/dps8/dps8_eis.c uint dstCN = e->CN2; // starting at char pos CN e 10846 src/dps8/dps8_eis.c e->ADDR3 = e->ADDR2; e 10860 src/dps8/dps8_eis.c switch(e->S1) e 10863 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // need to account for the - sign e 10873 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // only 1 sign e 10874 src/dps8/dps8_eis.c sc1 = -e->SF1; e 10878 src/dps8/dps8_eis.c n1 = (int) e->N1; // no sign e 10879 src/dps8/dps8_eis.c sc1 = -e->SF1; e 10886 src/dps8/dps8_eis.c switch(e->S2) e 10889 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // need to account for the sign e 10890 src/dps8/dps8_eis.c if (e->TN2 == CTN4) e 10899 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // 1 sign e 10900 src/dps8/dps8_eis.c sc2 = -e->SF2; e 10904 src/dps8/dps8_eis.c n2 = (int) e->N2; // no sign e 10905 src/dps8/dps8_eis.c sc2 = -e->SF2; e 10921 src/dps8/dps8_eis.c decNumber *op1 = decBCD9ToNumber(e->inBuffer, n1, sc1, &_1); e 10922 src/dps8/dps8_eis.c if (e->sign == -1) e 10924 src/dps8/dps8_eis.c if (e->S1 == CSFL) e 10925 src/dps8/dps8_eis.c op1->exponent = e->exponent; e 10929 src/dps8/dps8_eis.c decNumber *op2 = decBCD9ToNumber(e->inBuffer, n2, sc2, &_2); e 10930 src/dps8/dps8_eis.c if (e->sign == -1) e 10932 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 10933 src/dps8/dps8_eis.c op2->exponent = e->exponent; e 10943 src/dps8/dps8_eis.c int sf = e->S3==CSFL?op3->exponent:e->SF3; e 10976 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n2, (int) e->S2, e->SF2, R, &Ovr, &Trunc); e 10991 src/dps8/dps8_eis.c switch(e->S2) e 10998 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 10999 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 11001 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 11004 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 11019 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) (res[i] - '0')); e 11022 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) res[i]); e 11027 src/dps8/dps8_eis.c switch(e->S2) e 11033 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 11034 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 11036 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 11039 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 11049 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (op3->exponent >> 4) & 0xf); // upper 4-bits e 11050 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xf); // lower 4-bits e 11054 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xff); // write 8-bit exponent e 11065 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 11106 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 11144 src/dps8/dps8_eis.c e->P = getbits36_1 (cpu.cu.IWB, 0) != 0; // 4-bit data sign character control e 11151 src/dps8/dps8_eis.c uint srcTN = e->TN1; // type of chars in src e 11153 src/dps8/dps8_eis.c uint dstTN = e->TN3; // type of chars in dst e 11154 src/dps8/dps8_eis.c uint dstCN = e->CN3; // starting at char pos CN e 11168 src/dps8/dps8_eis.c switch(e->S1) e 11171 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // need to account for the - sign e 11181 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // only 1 sign e 11182 src/dps8/dps8_eis.c sc1 = -e->SF1; e 11186 src/dps8/dps8_eis.c n1 = (int) e->N1; // no sign e 11187 src/dps8/dps8_eis.c sc1 = -e->SF1; e 11194 src/dps8/dps8_eis.c switch(e->S2) e 11197 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // need to account for the sign e 11198 src/dps8/dps8_eis.c if (e->TN2 == CTN4) e 11207 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // 1 sign e 11208 src/dps8/dps8_eis.c sc2 = -e->SF2; e 11212 src/dps8/dps8_eis.c n2 = (int) e->N2; // no sign e 11213 src/dps8/dps8_eis.c sc2 = -e->SF2; e 11220 src/dps8/dps8_eis.c switch(e->S3) e 11223 src/dps8/dps8_eis.c n3 = (int) e->N3 - 1; // need to account for the sign e 11232 src/dps8/dps8_eis.c n3 = (int) e->N3 - 1; // 1 sign e 11236 src/dps8/dps8_eis.c n3 = (int) e->N3; // no sign e 11253 src/dps8/dps8_eis.c decNumber *op1 = decBCD9ToNumber(e->inBuffer, n1, sc1, &_1); e 11254 src/dps8/dps8_eis.c if (e->sign == -1) e 11256 src/dps8/dps8_eis.c if (e->S1 == CSFL) e 11257 src/dps8/dps8_eis.c op1->exponent = e->exponent; e 11261 src/dps8/dps8_eis.c decNumber *op2 = decBCD9ToNumber(e->inBuffer, n2, sc2, &_2); e 11262 src/dps8/dps8_eis.c if (e->sign == -1) e 11264 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 11265 src/dps8/dps8_eis.c op2->exponent = e->exponent; e 11275 src/dps8/dps8_eis.c int sf = e->S3==CSFL?op3->exponent:e->SF3; e 11308 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n3, (int) e->S3, e->SF3, R, &Ovr, &Trunc); e 11321 src/dps8/dps8_eis.c switch(e->S3) e 11328 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 11329 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 11331 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 11334 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 11349 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) (res[i] - '0')); e 11352 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) res[i]); e 11357 src/dps8/dps8_eis.c switch(e->S3) e 11363 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 11364 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 11366 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 11369 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 11379 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (op3->exponent >> 4) & 0xf); // upper 4-bits e 11380 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xf); // lower 4-bits e 11384 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xff); // write 8-bit exponent e 11395 src/dps8/dps8_eis.c if (e->S3 == CSFL) e 11436 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 11473 src/dps8/dps8_eis.c e->P = getbits36_1 (cpu.cu.IWB, 0) != 0; // 4-bit data sign character control e 11480 src/dps8/dps8_eis.c uint srcTN = e->TN1; // type of chars in src e 11482 src/dps8/dps8_eis.c uint dstTN = e->TN2; // type of chars in dst e 11483 src/dps8/dps8_eis.c uint dstCN = e->CN2; // starting at char pos CN e 11485 src/dps8/dps8_eis.c e->ADDR3 = e->ADDR2; e 11499 src/dps8/dps8_eis.c switch(e->S1) e 11502 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // need to account for the - sign e 11512 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // only 1 sign e 11513 src/dps8/dps8_eis.c sc1 = -e->SF1; e 11517 src/dps8/dps8_eis.c n1 = (int) e->N1; // no sign e 11518 src/dps8/dps8_eis.c sc1 = -e->SF1; e 11525 src/dps8/dps8_eis.c switch(e->S2) e 11528 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // need to account for the sign e 11529 src/dps8/dps8_eis.c if (e->TN2 == CTN4) e 11538 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // 1 sign e 11539 src/dps8/dps8_eis.c sc2 = -e->SF2; e 11543 src/dps8/dps8_eis.c n2 = (int) e->N2; // no sign e 11544 src/dps8/dps8_eis.c sc2 = -e->SF2; e 11560 src/dps8/dps8_eis.c decNumber *op1 = decBCD9ToNumber(e->inBuffer, n1, sc1, &_1); e 11561 src/dps8/dps8_eis.c if (e->sign == -1) e 11563 src/dps8/dps8_eis.c if (e->S1 == CSFL) e 11564 src/dps8/dps8_eis.c op1->exponent = e->exponent; e 11568 src/dps8/dps8_eis.c decNumber *op2 = decBCD9ToNumber(e->inBuffer, n2, sc2, &_2); e 11569 src/dps8/dps8_eis.c if (e->sign == -1) e 11571 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 11572 src/dps8/dps8_eis.c op2->exponent = e->exponent; e 11579 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n2, (int) e->S2, e->SF2, R, &Ovr, &Trunc); e 11590 src/dps8/dps8_eis.c switch(e->S2) e 11597 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 11598 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 11600 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 11603 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 11618 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) (res[i] - '0')); e 11621 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) res[i]); e 11626 src/dps8/dps8_eis.c switch(e->S2) e 11632 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 11633 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 11635 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 11638 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 11648 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (op3->exponent >> 4) & 0xf); // upper 4-bits e 11649 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xf); // lower 4-bits e 11653 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xff); // write 8-bit exponent e 11664 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 11705 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 11743 src/dps8/dps8_eis.c e->P = getbits36_1 (cpu.cu.IWB, 0) != 0; // 4-bit data sign character control e 11750 src/dps8/dps8_eis.c uint srcTN = e->TN1; // type of chars in src e 11752 src/dps8/dps8_eis.c uint dstTN = e->TN3; // type of chars in dst e 11753 src/dps8/dps8_eis.c uint dstCN = e->CN3; // starting at char pos CN e 11767 src/dps8/dps8_eis.c switch(e->S1) e 11770 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // need to account for the - sign e 11780 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // only 1 sign e 11781 src/dps8/dps8_eis.c sc1 = -e->SF1; e 11785 src/dps8/dps8_eis.c n1 = (int) e->N1; // no sign e 11786 src/dps8/dps8_eis.c sc1 = -e->SF1; e 11793 src/dps8/dps8_eis.c switch(e->S2) e 11796 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // need to account for the sign e 11797 src/dps8/dps8_eis.c if (e->TN2 == CTN4) e 11806 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // 1 sign e 11807 src/dps8/dps8_eis.c sc2 = -e->SF2; e 11811 src/dps8/dps8_eis.c n2 = (int) e->N2; // no sign e 11812 src/dps8/dps8_eis.c sc2 = -e->SF2; e 11819 src/dps8/dps8_eis.c switch(e->S3) e 11822 src/dps8/dps8_eis.c n3 = (int) e->N3 - 1; // need to account for the sign e 11831 src/dps8/dps8_eis.c n3 = (int) e->N3 - 1; // 1 sign e 11835 src/dps8/dps8_eis.c n3 = (int) e->N3; // no sign e 11852 src/dps8/dps8_eis.c decNumber *op1 = decBCD9ToNumber(e->inBuffer, n1, sc1, &_1); e 11853 src/dps8/dps8_eis.c if (e->sign == -1) e 11855 src/dps8/dps8_eis.c if (e->S1 == CSFL) e 11856 src/dps8/dps8_eis.c op1->exponent = e->exponent; e 11860 src/dps8/dps8_eis.c decNumber *op2 = decBCD9ToNumber(e->inBuffer, n2, sc2, &_2); e 11861 src/dps8/dps8_eis.c if (e->sign == -1) e 11863 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 11864 src/dps8/dps8_eis.c op2->exponent = e->exponent; e 11882 src/dps8/dps8_eis.c char *res = formatDecimal(out, &set, op3, n3, (int) e->S3, e->SF3, R, &Ovr, &Trunc); e 11893 src/dps8/dps8_eis.c switch(e->S3) e 11900 src/dps8/dps8_eis.c if (e->P) // If TN2 and S2 specify a 4-bit signed number and P e 11904 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 11906 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 11909 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 11924 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) (res[i] - '0')); e 11927 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) res[i]); e 11932 src/dps8/dps8_eis.c switch(e->S3) e 11938 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 11939 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 11941 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 11944 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 11954 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (op3->exponent >> 4) & 0xf); // upper 4-bits e 11955 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xf); // lower 4-bits e 11958 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xff); // write 8-bit exponent e 11969 src/dps8/dps8_eis.c if (e->S3 == CSFL) e 12758 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 12796 src/dps8/dps8_eis.c e->P = getbits36_1 (cpu.cu.IWB, 0) != 0; // 4-bit data sign character control e 12803 src/dps8/dps8_eis.c uint srcTN = e->TN1; // type of chars in src e 12805 src/dps8/dps8_eis.c uint dstTN = e->TN2; // type of chars in dst e 12806 src/dps8/dps8_eis.c uint dstCN = e->CN2; // starting at char pos CN e 12808 src/dps8/dps8_eis.c e->ADDR3 = e->ADDR2; e 12822 src/dps8/dps8_eis.c switch(e->S1) e 12825 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // need to account for the - sign e 12835 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // only 1 sign e 12836 src/dps8/dps8_eis.c sc1 = -e->SF1; e 12840 src/dps8/dps8_eis.c n1 = (int) e->N1; // no sign e 12841 src/dps8/dps8_eis.c sc1 = -e->SF1; e 12848 src/dps8/dps8_eis.c switch(e->S2) e 12851 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // need to account for the sign e 12852 src/dps8/dps8_eis.c if (e->TN2 == CTN4) e 12861 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // 1 sign e 12862 src/dps8/dps8_eis.c sc2 = -e->SF2; e 12866 src/dps8/dps8_eis.c n2 = (int) e->N2; // no sign e 12867 src/dps8/dps8_eis.c sc2 = -e->SF2; e 12883 src/dps8/dps8_eis.c decNumber *op1 = decBCD9ToNumber(e->inBuffer, n1, sc1, &_1); // divisor e 12884 src/dps8/dps8_eis.c if (e->sign == -1) e 12886 src/dps8/dps8_eis.c if (e->S1 == CSFL) e 12887 src/dps8/dps8_eis.c op1->exponent = e->exponent; e 12896 src/dps8/dps8_eis.c memcpy (inBufferop1,e->inBuffer,sizeof(inBufferop1)); // save for clz1 calculation later e 12900 src/dps8/dps8_eis.c decNumber *op2 = decBCD9ToNumber(e->inBuffer, n2, sc2, &_2); // dividend e 12901 src/dps8/dps8_eis.c if (e->sign == -1) e 12903 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 12904 src/dps8/dps8_eis.c op2->exponent = e->exponent; e 12907 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 12921 src/dps8/dps8_eis.c if (e->inBuffer[i]!=0) // this still holds op2 digits e 12928 src/dps8/dps8_eis.c NQ = (n2-clz2+1) - (n1-clz1) + (-(e->S1==CSFL?op1->exponent:(int)e->SF1)); e 12930 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "dv2d S1 %d S2 %d N1 %d N2 %d clz1 %d clz2 %d E1 %d E2 %d SF2 %d NQ %d\n",e->S1,e->S2,e->N1,e->N2,clz1,clz2,op1->exponent,op2->exponent,e->SF2,NQ); e 12953 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 12984 src/dps8/dps8_eis.c if (e->S2 == CSFL) { e 13008 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n2 -1, (int) e->S2, e->SF2, R, &Ovr, &Trunc); e 13018 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n2, (int) e->S2, e->SF2, R, &Ovr, &Trunc); e 13022 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n2, (int) e->S2, e->SF2, R, &Ovr, &Trunc); e 13033 src/dps8/dps8_eis.c switch(e->S2) e 13040 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 13041 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 13043 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 13046 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 13061 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) (res[i] - '0')); e 13064 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) res[i]); e 13069 src/dps8/dps8_eis.c switch(e->S2) e 13075 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 13076 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 13078 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 13081 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 13091 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (op3->exponent >> 4) & 0xf); // upper 4-bits e 13092 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xf); // lower 4-bits e 13095 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xff); // write 8-bit exponent e 13106 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 13148 src/dps8/dps8_eis.c EISstruct * e = & cpu.currentEISinstruction; e 13187 src/dps8/dps8_eis.c e->P = getbits36_1 (cpu.cu.IWB, 0) != 0; // 4-bit data sign character control e 13194 src/dps8/dps8_eis.c uint srcTN = e->TN1; // type of chars in src e 13196 src/dps8/dps8_eis.c uint dstTN = e->TN3; // type of chars in dst e 13197 src/dps8/dps8_eis.c uint dstCN = e->CN3; // starting at char pos CN e 13211 src/dps8/dps8_eis.c switch(e->S1) e 13214 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // need to account for the - sign e 13224 src/dps8/dps8_eis.c n1 = (int) e->N1 - 1; // only 1 sign e 13225 src/dps8/dps8_eis.c sc1 = -e->SF1; e 13229 src/dps8/dps8_eis.c n1 = (int) e->N1; // no sign e 13230 src/dps8/dps8_eis.c sc1 = -e->SF1; e 13237 src/dps8/dps8_eis.c switch(e->S2) e 13240 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // need to account for the sign e 13241 src/dps8/dps8_eis.c if (e->TN2 == CTN4) e 13250 src/dps8/dps8_eis.c n2 = (int) e->N2 - 1; // 1 sign e 13251 src/dps8/dps8_eis.c sc2 = -e->SF2; e 13255 src/dps8/dps8_eis.c n2 = (int) e->N2; // no sign e 13256 src/dps8/dps8_eis.c sc2 = -e->SF2; e 13263 src/dps8/dps8_eis.c switch(e->S3) e 13266 src/dps8/dps8_eis.c n3 = (int) e->N3 - 1; // need to account for the sign e 13275 src/dps8/dps8_eis.c n3 = (int) e->N3 - 1; // 1 sign e 13279 src/dps8/dps8_eis.c n3 = (int) e->N3; // no sign e 13294 src/dps8/dps8_eis.c decNumber *op1 = decBCD9ToNumber(e->inBuffer, n1, sc1, &_1); e 13296 src/dps8/dps8_eis.c if (e->sign == -1) e 13298 src/dps8/dps8_eis.c if (e->S1 == CSFL) e 13299 src/dps8/dps8_eis.c op1->exponent = e->exponent; e 13308 src/dps8/dps8_eis.c memcpy (inBufferop1,e->inBuffer,sizeof(inBufferop1)); // save for clz1 calculation later e 13312 src/dps8/dps8_eis.c decNumber *op2 = decBCD9ToNumber(e->inBuffer, n2, sc2, &_2); e 13313 src/dps8/dps8_eis.c if (e->sign == -1) e 13315 src/dps8/dps8_eis.c if (e->S2 == CSFL) e 13316 src/dps8/dps8_eis.c op2->exponent = e->exponent; e 13335 src/dps8/dps8_eis.c if (e->S3 == CSFL) e 13349 src/dps8/dps8_eis.c if (e->inBuffer[i]!=0) // this still holds op2 digits e 13356 src/dps8/dps8_eis.c NQ = (n2-clz2+1) - (n1-clz1) + ((e->S2==CSFL?op2->exponent:(int)e->SF2)-(e->S1==CSFL?op1->exponent:(int)e->SF1)-(int)e->SF3); e 13358 src/dps8/dps8_eis.c sim_debug (DBG_TRACEEXT, & cpu_dev, "dv3d S1 %d S2 %d N1 %d N2 %d clz1 %d clz2 %d E1 %d E2 %d SF3 %d NQ %d\n",e->S1,e->S2,e->N1,e->N2,clz1,clz2,op1->exponent,op2->exponent,e->SF3,NQ); e 13381 src/dps8/dps8_eis.c if (e->S3 == CSFL) e 13412 src/dps8/dps8_eis.c if (e->S3 == CSFL) { e 13436 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n3 -1, (int) e->S3, e->SF3, R, &Ovr, &Trunc); e 13446 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n3, (int) e->S3, e->SF3, R, &Ovr, &Trunc); e 13450 src/dps8/dps8_eis.c res = formatDecimal(out, &set, op3, n3, (int) e->S3, e->SF3, R, &Ovr, &Trunc); e 13463 src/dps8/dps8_eis.c switch(e->S3) e 13470 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 13471 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 13473 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 13476 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 13491 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) (res[i] - '0')); e 13494 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (word9) res[i]); e 13499 src/dps8/dps8_eis.c switch(e->S3) e 13505 src/dps8/dps8_eis.c if (e->P) //If TN2 and S2 specify a 4-bit signed number and P = 1, then the 13(8) plus sign character is placed appropriately if the result of the operation is positive. e 13506 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 013); // special + e 13508 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? 015 : 014); // default + e 13511 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (decNumberIsNegative(op3) && !decNumberIsZero(op3)) ? '-' : '+'); e 13521 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, (op3->exponent >> 4) & 0xf); // upper 4-bits e 13522 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xf); // lower 4-bits e 13525 src/dps8/dps8_eis.c EISwrite49(&e->ADDR3, &pos, (int) dstTN, op3->exponent & 0xff); // write 8-bit exponent e 13536 src/dps8/dps8_eis.c if (e->S3 == CSFL) e 6061 src/dps8/dps8_ins.c int e = SIGNEXT8_int (cpu.rE); e 6062 src/dps8/dps8_ins.c e = e + y; e 6064 src/dps8/dps8_ins.c cpu.rE = e & 0377; e 6068 src/dps8/dps8_ins.c if (e > 127) e 6075 src/dps8/dps8_ins.c if (e < -128) e 57 src/dps8/dps8_math.c long double exp2l (long double e) { e 58 src/dps8/dps8_math.c return __builtin_exp2l(e); e 92 src/dps8/dps8_math.c int e = SIGNEXT8_int (cpu . rE & MASK8); // make signed e 95 src/dps8/dps8_math.c return -exp2l(e); e 119 src/dps8/dps8_math.c return (S ? -1 : 1) * ldexpl(m, e); e 144 src/dps8/dps8_math.c int e = SIGNEXT8_int (cpu . rE & MASK8); // make signed e 147 src/dps8/dps8_math.c return -exp2(e); e 166 src/dps8/dps8_math.c return (S ? -1 : 1) * ldexp(m, e); e 220 src/dps8/dps8_math.c int e = (int)exp; e 222 src/dps8/dps8_math.c putbits72 (& result, 71-64, 8, e & 0377); e 359 src/dps8/dps8_math.c e 362 src/dps8/dps8_math.c e 374 src/dps8/dps8_math.c e 422 src/dps8/dps8_math.c e 424 src/dps8/dps8_math.c e 846 src/dps8/dps8_math.c int e = * e0; e 866 src/dps8/dps8_math.c e -= 1; e 873 src/dps8/dps8_math.c e -= 1; e 886 src/dps8/dps8_math.c e -= 1; e 896 src/dps8/dps8_math.c e -= 1; e 905 src/dps8/dps8_math.c e -= 1; e 915 src/dps8/dps8_math.c e -= 1; e 928 src/dps8/dps8_math.c e -= 1; e 938 src/dps8/dps8_math.c e -= 1; e 948 src/dps8/dps8_math.c if (e < -128) { e 954 src/dps8/dps8_math.c * E = (word8) e & MASK8; e 967 src/dps8/dps8_math.c * e0 = e; e 1023 src/dps8/dps8_math.c e 1034 src/dps8/dps8_math.c e 1037 src/dps8/dps8_math.c e 1046 src/dps8/dps8_math.c e 4164 src/dps8/dps8_sys.c # define SYMTAB_ENUM32(e) { #e, SYM_ENUM, SYM_UINT32, e } e 256 src/dps8/utarray.h # define utarray_next(a,e) (((e)==NULL) ? utarray_front(a) : ((((a)->i) > (utarray_eltidx(a,e)+1)) ? _utarray_eltptr(a,utarray_eltidx(a,e)+1) : NULL)) e 257 src/dps8/utarray.h # define utarray_prev(a,e) (((e)==NULL) ? utarray_back(a) : ((utarray_eltidx(a,e) > 0) ? _utarray_eltptr(a,utarray_eltidx(a,e)-1) : NULL)) e 259 src/dps8/utarray.h # define utarray_eltidx(a,e) (((char*)(e) >= (char*)((a)->d)) ? (((char*)(e) - (char*)((a)->d))/(ssize_t)(a)->icd.sz) : -1)