From fe76dfae6630917aa40eacf56772fb5d9d63e2f4 Mon Sep 17 00:00:00 2001 From: James Wekel Date: Wed, 9 Nov 2022 16:10:56 -0700 Subject: [PATCH 1/4] CUSE Performance Improvement --- Hercules_VS2008.vcproj | 40 + Hercules_VS2015.vcxproj | 10 + Hercules_VS2015.vcxproj.filters | 30 + Hercules_VS2017.vcxproj | 10 + Hercules_VS2017.vcxproj.filters | 30 + Hercules_VS2019.vcxproj | 10 + Hercules_VS2019.vcxproj.filters | 30 + Hercules_VS2022.vcxproj | 10 + Hercules_VS2022.vcxproj.filters | 30 + general1.c | 751 ++++++++- tests/CUSE-01-basic.asm | 2028 +++++++++++++++++++++++++ tests/CUSE-01-basic.core | Bin 0 -> 79884 bytes tests/CUSE-01-basic.list | 2510 +++++++++++++++++++++++++++++++ tests/CUSE-01-basic.pdf | Bin 0 -> 340228 bytes tests/CUSE-01-basic.tst | 17 + tests/CUSE-02-performance.asm | 680 +++++++++ tests/CUSE-02-performance.core | Bin 0 -> 59824 bytes tests/CUSE-02-performance.list | 1054 +++++++++++++ tests/CUSE-02-performance.pdf | Bin 0 -> 310759 bytes tests/CUSE-02-performance.tst | 46 + tests/Makefile.am | 10 + 21 files changed, 7258 insertions(+), 38 deletions(-) create mode 100644 tests/CUSE-01-basic.asm create mode 100644 tests/CUSE-01-basic.core create mode 100644 tests/CUSE-01-basic.list create mode 100644 tests/CUSE-01-basic.pdf create mode 100644 tests/CUSE-01-basic.tst create mode 100644 tests/CUSE-02-performance.asm create mode 100644 tests/CUSE-02-performance.core create mode 100644 tests/CUSE-02-performance.list create mode 100644 tests/CUSE-02-performance.pdf create mode 100644 tests/CUSE-02-performance.tst diff --git a/Hercules_VS2008.vcproj b/Hercules_VS2008.vcproj index 1ac47f47e..1fe33cf1c 100644 --- a/Hercules_VS2008.vcproj +++ b/Hercules_VS2008.vcproj @@ -3442,6 +3442,14 @@ RelativePath=".\tests\cpu0off.core" > + + + + @@ -4481,6 +4489,14 @@ RelativePath=".\tests\csxtr.tst" > + + + + @@ -4901,6 +4917,14 @@ RelativePath=".\tests\CMPSC.asm" > + + + + @@ -5292,6 +5316,22 @@ RelativePath=".\tests\CMPSC.pdf" > + + + + + + + + diff --git a/Hercules_VS2015.vcxproj b/Hercules_VS2015.vcxproj index ef4ea403a..9baacfc7b 100644 --- a/Hercules_VS2015.vcxproj +++ b/Hercules_VS2015.vcxproj @@ -930,6 +930,16 @@ + + + + + + + + + + diff --git a/Hercules_VS2015.vcxproj.filters b/Hercules_VS2015.vcxproj.filters index bce2a2875..c9c53ebfe 100644 --- a/Hercules_VS2015.vcxproj.filters +++ b/Hercules_VS2015.vcxproj.filters @@ -1715,6 +1715,12 @@ Other Files\tests\core + + Other Files\tests\core + + + Other Files\tests\core + Other Files\tests\core @@ -2018,6 +2024,12 @@ Other Files\tests\scripts\tst + + Other Files\tests\core + + + Other Files\tests\core + Other Files\tests\scripts\tst @@ -2264,6 +2276,12 @@ Other Files\tests\scripts\asm + + Other Files\tests\core + + + Other Files\tests\core + Other Files\tests\scripts\asm @@ -2468,6 +2486,18 @@ Other Files\tests\scripts\asm\list + + Other Files\tests\scripts\asm\list + + + Other Files\tests\scripts\asm\list + + + Other Files\tests\scripts\asm\list + + + Other Files\tests\scripts\asm\list + Other Files\tests\scripts\asm\list diff --git a/Hercules_VS2017.vcxproj b/Hercules_VS2017.vcxproj index 30f775d49..ab76e41c3 100644 --- a/Hercules_VS2017.vcxproj +++ b/Hercules_VS2017.vcxproj @@ -930,6 +930,16 @@ + + + + + + + + + + diff --git a/Hercules_VS2017.vcxproj.filters b/Hercules_VS2017.vcxproj.filters index bce2a2875..c9c53ebfe 100644 --- a/Hercules_VS2017.vcxproj.filters +++ b/Hercules_VS2017.vcxproj.filters @@ -1715,6 +1715,12 @@ Other Files\tests\core + + Other Files\tests\core + + + Other Files\tests\core + Other Files\tests\core @@ -2018,6 +2024,12 @@ Other Files\tests\scripts\tst + + Other Files\tests\core + + + Other Files\tests\core + Other Files\tests\scripts\tst @@ -2264,6 +2276,12 @@ Other Files\tests\scripts\asm + + Other Files\tests\core + + + Other Files\tests\core + Other Files\tests\scripts\asm @@ -2468,6 +2486,18 @@ Other Files\tests\scripts\asm\list + + Other Files\tests\scripts\asm\list + + + Other Files\tests\scripts\asm\list + + + Other Files\tests\scripts\asm\list + + + Other Files\tests\scripts\asm\list + Other Files\tests\scripts\asm\list diff --git a/Hercules_VS2019.vcxproj b/Hercules_VS2019.vcxproj index f7c8fdf29..c73bfb4ef 100644 --- a/Hercules_VS2019.vcxproj +++ b/Hercules_VS2019.vcxproj @@ -930,6 +930,16 @@ + + + + + + + + + + diff --git a/Hercules_VS2019.vcxproj.filters b/Hercules_VS2019.vcxproj.filters index bce2a2875..c9c53ebfe 100644 --- a/Hercules_VS2019.vcxproj.filters +++ b/Hercules_VS2019.vcxproj.filters @@ -1715,6 +1715,12 @@ Other Files\tests\core + + Other Files\tests\core + + + Other Files\tests\core + Other Files\tests\core @@ -2018,6 +2024,12 @@ Other Files\tests\scripts\tst + + Other Files\tests\core + + + Other Files\tests\core + Other Files\tests\scripts\tst @@ -2264,6 +2276,12 @@ Other Files\tests\scripts\asm + + Other Files\tests\core + + + Other Files\tests\core + Other Files\tests\scripts\asm @@ -2468,6 +2486,18 @@ Other Files\tests\scripts\asm\list + + Other Files\tests\scripts\asm\list + + + Other Files\tests\scripts\asm\list + + + Other Files\tests\scripts\asm\list + + + Other Files\tests\scripts\asm\list + Other Files\tests\scripts\asm\list diff --git a/Hercules_VS2022.vcxproj b/Hercules_VS2022.vcxproj index 1015fd2f4..eb2f65574 100644 --- a/Hercules_VS2022.vcxproj +++ b/Hercules_VS2022.vcxproj @@ -930,6 +930,16 @@ + + + + + + + + + + diff --git a/Hercules_VS2022.vcxproj.filters b/Hercules_VS2022.vcxproj.filters index bce2a2875..c9c53ebfe 100644 --- a/Hercules_VS2022.vcxproj.filters +++ b/Hercules_VS2022.vcxproj.filters @@ -1715,6 +1715,12 @@ Other Files\tests\core + + Other Files\tests\core + + + Other Files\tests\core + Other Files\tests\core @@ -2018,6 +2024,12 @@ Other Files\tests\scripts\tst + + Other Files\tests\core + + + Other Files\tests\core + Other Files\tests\scripts\tst @@ -2264,6 +2276,12 @@ Other Files\tests\scripts\asm + + Other Files\tests\core + + + Other Files\tests\core + Other Files\tests\scripts\asm @@ -2468,6 +2486,18 @@ Other Files\tests\scripts\asm\list + + Other Files\tests\scripts\asm\list + + + Other Files\tests\scripts\asm\list + + + Other Files\tests\scripts\asm\list + + + Other Files\tests\scripts\asm\list + Other Files\tests\scripts\asm\list diff --git a/general1.c b/general1.c index f246ad602..5115fa205 100644 --- a/general1.c +++ b/general1.c @@ -3898,22 +3898,342 @@ BYTE termchar; /* Terminating character */ #if defined( FEATURE_STRING_INSTRUCTION ) + +#undef CUSE_DEBUG +#define CUSE_DEBUG ( 0 ) + +#undef MEM_CMP_NPOS +#define MEM_CMP_NPOS ( -1 ) + +/*-------------------------------------------------------------------*/ +/* mem_cmp_first_equ -- compare memory for first equal byte */ +/*-------------------------------------------------------------------*/ +/* Input: */ +/* regs CPU register context */ +/* ea1 Logical address of leftmost byte of operand-1 */ +/* b1 Operand-1 base register */ +/* ea2 Logical address of leftmost byte of operand-2 */ +/* b2 Operand-2 base register */ +/* len Compare length */ +/* Output: */ +/* rc MEM_CMP_NPOS : no equ byte */ +/* 0 to (len-1) : index of equ byte */ +/* */ +/*-------------------------------------------------------------------*/ +int ARCH_DEP( mem_cmp_first_equ ) +( + REGS* regs, // register context + VADR ea1, int b1, // op-1 (dst) + VADR ea2, int b2, // op-2 (src) + U32 len // compare length +) +{ + BYTE *m1, *m2; // operand mainstor addresses + U32 i; // loop index + + /* fast exit */ + if (len == 0) return MEM_CMP_NPOS; + + // Translate left most byte of each operand + m1 = MADDRL(ea1 & ADDRESS_MAXWRAP( regs ), PAGEFRAME_PAGESIZE - (ea1 & PAGEFRAME_PAGEMASK), b1, regs, ACCTYPE_READ, regs->psw.pkey ); + m2 = MADDRL(ea2 & ADDRESS_MAXWRAP( regs ), PAGEFRAME_PAGESIZE - (ea2 & PAGEFRAME_PAGEMASK), b2, regs, ACCTYPE_READ, regs->psw.pkey ); + + for (i = 0; i < len ; i++) + { + /* compare bytes */ + if (*m1 == *m2) + return i; + + /* update mainstore addresses; check for page boundary */ + if ( ( (uintptr_t) m1 & PAGEFRAME_PAGEMASK ) != PAGEFRAME_PAGEMASK ) + m1++; + else + m1 = MADDRL((ea1 + (i+1)) & ADDRESS_MAXWRAP( regs ), PAGEFRAME_PAGEMASK, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + + if ( ( (uintptr_t) m2 & PAGEFRAME_PAGEMASK) != PAGEFRAME_PAGEMASK ) + m2++; + else + m2 = MADDRL((ea2 + (i+1)) & ADDRESS_MAXWRAP( regs ), PAGEFRAME_PAGEMASK, b2, regs, ACCTYPE_READ, regs->psw.pkey ); + } + + /* no equ byte in memory */ + return MEM_CMP_NPOS; + +} /* end ARCH_DEP( mem_cmp_first_equ ) */ + +/*-------------------------------------------------------------------*/ +/* mem_cmp_first_substr - compare memory for first possible substring*/ +/* */ +/* Possile substrings are searched right to left to find the */ +/* rightmost non-equal byte. The next byte establishes the next */ +/* possible substring starting position for comparison. */ +/*-------------------------------------------------------------------*/ +/* Input: */ +/* regs CPU register context */ +/* ea1 Logical address of leftmost byte of operand-1 */ +/* b1 Operand-1 base register */ +/* ea2 Logical address of leftmost byte of operand-2 */ +/* b2 Operand-2 base register */ +/* len Compare length */ +/* sublen Substring length */ +/* *equlen possile substring length (if requested) */ +/* Output: */ +/* rc MEM_CMP_NPOS : no equ byte */ +/* 0 to (len-1) : index of first possible substring */ +/* */ +/*-------------------------------------------------------------------*/ +int ARCH_DEP( mem_cmp_first_substr ) +( + REGS* regs, // register context + VADR ea1, int b1, // op-1 (dst) + VADR ea2, int b2, // op-2 (src) + int len, // compare length + int sublen, // substring length + int* equlen // # of equal bytes +) +{ + BYTE *m1, *m2; // operand mainstor addresses + BYTE *m1prior, *m2prior; // operand mainstor addresses (work) + int ss_index=0; // possible substring index + int ss_scan_index=0; // substring scan index + int ss_scan_work; // substring scan length + int ss_equ_len; // substring equal length + + /* Is caller interested in equality length? */ + if (equlen) + *equlen = 0; + + /* fast exits */ + if (len <= 0) return MEM_CMP_NPOS; + if (sublen <= 0) return MEM_CMP_NPOS; + + /* operand mainstore addresses */ + m1 = MADDRL(ea1, PAGEFRAME_PAGESIZE - (ea1 & PAGEFRAME_PAGEMASK), b1, regs, ACCTYPE_READ, regs->psw.pkey ); + m2 = MADDRL(ea2, PAGEFRAME_PAGESIZE - (ea2 & PAGEFRAME_PAGEMASK), b2, regs, ACCTYPE_READ, regs->psw.pkey ); + + for (ss_index = 0; ss_index < len; ss_index = ( ss_scan_index +1 ) ) + { + /* reset candidate substring length */ + ss_equ_len = 0; + + /* righttmost byte of candidate substring */ + ss_scan_index = min( ss_index + (sublen-1), (len-1)); + ss_scan_work = ss_scan_index - ss_index; + +#if CUSE_DEBUG + logmsg("CUSE: MEM_CMP_FIRST_SUBSTR outer: len=%d, sublen=%d, scan_ss_index=%d, ss_index=%d, ss_equ_len=%d, ea1+idx=%X , m1=%p, ea2+idx=%X, m2=%p \n", + len, sublen, ss_scan_index, ss_index, ss_equ_len, ea1+ss_scan_index, m1, ea2+ss_scan_index, m2); +#endif + /* operand-1 candidate substring rightmost mainstore address and check for page cross */ + m1prior = m1; + m1 += ss_scan_work; + + if ( ( (uintptr_t) m1 & PAGEFRAME_PAGEMASK ) < ( (uintptr_t) m1prior & PAGEFRAME_PAGEMASK )) + m1 = MADDRL((ea1 + ss_scan_index) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + + /* operand-2 candidate substring rightmost mainstore address and check for page cross */ + m2prior = m2; + m2 += ss_scan_work; + + if ( ( (uintptr_t) m2 & PAGEFRAME_PAGEMASK ) < ( (uintptr_t) m2prior & PAGEFRAME_PAGEMASK )) + m2 = MADDRL((ea2 + ss_scan_index) & ADDRESS_MAXWRAP( regs ), 1, b2, regs, ACCTYPE_READ, regs->psw.pkey ); + + /* check candidate substring - right to left */ + for ( ; ss_scan_index >= ss_index ; ss_scan_index-- ) + { + +#if CUSE_DEBUG + logmsg("CUSE: MEM_CMP_FIRST_SUBSTR inner: len=%d, sublen=%d, scan_ss_index=%d, ss_index=%d, ss_equ_len=%d, m1=%p, m2=%p \n", + len, sublen, ss_scan_index, ss_index, ss_equ_len, m1, m2); +#endif + + /* compare bytes */ + if (*m1 != *m2) + break; + + /* update partial substring length */ + ss_equ_len++; + + /* update mainstore addresses; check for page boundary */ + if ( (uintptr_t) m1 & PAGEFRAME_PAGEMASK ) + m1--; + else + m1 = MADDRL((ea1 + (ss_scan_index-1)) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + + if ( (uintptr_t) m2 & PAGEFRAME_PAGEMASK ) + m2--; + else + m2 = MADDRL((ea2 + (ss_scan_index-1)) & ADDRESS_MAXWRAP( regs ), 1, b2, regs, ACCTYPE_READ, regs->psw.pkey ); + + } /* end check candidate substring - right to left */ + + /* Is caller interested in equality length? */ + if (equlen) + *equlen = ss_equ_len; + + /* substring found? */ + if ( ss_scan_index < ss_index ) return ss_index; + + /* last possible substring extends beyond length? */ + if ( ss_equ_len > 0 && ss_index + sublen >= len) return ss_scan_index +1; + + /* update mainstore addresses to next byte; check for page boundary */ + if ( ( (uintptr_t) m1 & PAGEFRAME_PAGEMASK ) != PAGEFRAME_PAGEMASK) + m1++; + else + m1 = MADDRL((ea1 + (ss_scan_index +1)) & ADDRESS_MAXWRAP( regs ), PAGEFRAME_PAGESIZE, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + + if ( ( (uintptr_t) m2 & PAGEFRAME_PAGEMASK ) != PAGEFRAME_PAGEMASK) + m2++; + else + m2 = MADDRL((ea2 + (ss_scan_index +1)) & ADDRESS_MAXWRAP( regs ), PAGEFRAME_PAGESIZE, b2, regs, ACCTYPE_READ, regs->psw.pkey ); + + } /* end check for substring */ + + /* no substring; no equal bytes found */ + /* Is caller interested in equality length? */ + if (equlen) + *equlen = 0; + + return MEM_CMP_NPOS; + +} /* end ARCH_DEP( mem_cmp_first_substr ) */ + +/*-------------------------------------------------------------------*/ +/* mem_cmp_last_neq -- compare memory for last neq byte */ +/*-------------------------------------------------------------------*/ +/* Input: */ +/* regs CPU register context */ +/* ea1 Logical address of leftmost byte of operand-1 */ +/* b1 Operand-1 base register */ +/* ea2 Logical address of leftmost byte of operand-2 */ +/* b2 Operand-2 base register */ +/* len Compare length */ +/* Output: */ +/* rc MEM_CMP_NPOS : no neq byte (memory is equal) */ +/* 0 to (len-1) : index of neq byte */ +/* */ +/*-------------------------------------------------------------------*/ +int ARCH_DEP( mem_cmp_last_neq ) +( + REGS* regs, // register context + VADR ea1, int b1, // op-1 (dst) + VADR ea2, int b2, // op-2 (src) + int len // compare length +) +{ + BYTE *m1, *m2; // operand mainstor addresses + int i; // loop index + + /* fast exit */ + if (len <= 0) return MEM_CMP_NPOS; + + // Translate righttmost byte of each operand + m1 = MADDRL((ea1 + (len-1)) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + m2 = MADDRL((ea2 + (len-1)) & ADDRESS_MAXWRAP( regs ), 1, b2, regs, ACCTYPE_READ, regs->psw.pkey ); + + for (i = (len-1); i >= 0 ; i--) + { + /* compare bytes */ + if (*m1 != *m2) + return i; + + /* update mainstore addresses; check for page boundary */ + if ( (uintptr_t) m1 & PAGEFRAME_PAGEMASK ) + m1--; + else + m1 = MADDRL((ea1 + (i-1)) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + + if ( (uintptr_t) m2 & PAGEFRAME_PAGEMASK) + m2--; + else + m2 = MADDRL((ea2 + (i-1)) & ADDRESS_MAXWRAP( regs ), 1, b2, regs, ACCTYPE_READ, regs->psw.pkey ); + } + + /* no neq bytes; memory is equal */ + return MEM_CMP_NPOS; + +} /* end ARCH_DEP( mem_cmp_last_neq ) */ + +/*-------------------------------------------------------------------*/ +/* mem_pad_cmp_last_neq -- compare memory to pad for last neq byte */ +/*-------------------------------------------------------------------*/ +/* Input: */ +/* regs CPU register context */ +/* ea1 Logical address of leftmost byte of operand-1 */ +/* b1 Operand-1 base register */ +/* pad Padding byte */ +/* len Compare length */ +/* Output: */ +/* rc MEM_CMP_NPOS : no neq byte (memory is equal to pad) */ +/* 0 to (len-1) : index of neq byte */ +/* */ +/*-------------------------------------------------------------------*/ +int ARCH_DEP( mem_pad_cmp_last_neq ) +( + REGS* regs, // register context + VADR ea1, int b1, // op-1 (dst) + const BYTE pad, // pad byte + int len // compare length +) +{ + BYTE *m1; // operand mainstor addresses + int i; // loop index + + if (len <= 0) return MEM_CMP_NPOS; + + // Translate righttmost byte of operand + m1 = MADDRL((ea1 + (len-1)) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + + for (i = (len-1); i >= 0 ; i--) + { + /* compare byte to pad */ + if (*m1 != pad) + return i; + + /* update mainstore addresses; check for page boundary */ + if ( (uintptr_t) m1 & PAGEFRAME_PAGEMASK ) + m1--; + else + m1 = MADDRL((ea1 + (i-1)) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + + } + + /* no neq bytes; memory is equal to pad */ + return MEM_CMP_NPOS; + +} /* end ARCH_DEP( mem_pad_cmp_last_neq ) */ + /*-------------------------------------------------------------------*/ /* B257 CUSE - Compare Until Substring Equal [RRE] */ /*-------------------------------------------------------------------*/ +#undef CUSE_MAX +#define CUSE_MAX _4K +#undef CUSE_INTERRUPT_POINT +#define CUSE_INTERRUPT_POINT _1K + DEF_INST( compare_until_substring_equal ) { -int r1, r2; /* Values of R fields */ -int i; /* Loop counter */ -int cc = 0; /* Condition code */ -VADR addr1, addr2; /* Operand addresses */ -VADR eqaddr1, eqaddr2; /* Address of equal substring*/ -S64 len1, len2; /* Operand lengths */ -S64 remlen1, remlen2; /* Lengths remaining */ -BYTE byte1, byte2; /* Operand bytes */ -BYTE pad; /* Padding byte */ -BYTE sublen; /* Substring length */ -BYTE equlen = 0; /* Equal byte counter */ + int r1, r2; // Values of R fields + int i; // Loop counter + int cc = 0; // Condition code + VADR addr1, addr2; // Operand addresses + VADR eqaddr1, eqaddr2; // Address of equal substring + S64 len1, len2; // Operand lengths + S64 remlen1, remlen2; // Lengths remaining + BYTE byte1, byte2; // Operand bytes + BYTE pad; // Padding byte + BYTE sublen; // Substring length + BYTE equlen = 0; // Equal byte counter + + int peeklen; // Operand look ahead length + int scanlen; // scan length + int padlen; // Operand pad length + int ruptcnt = CUSE_INTERRUPT_POINT; // when to save GPRs + int lastneq; // mem_cmp_last_neq return + int firstequ; // mem_cmp_first_equ return + int rc; // work - return code + U32 idx =0; // mem_cmp() - index RRE( inst, regs, r1, r2 ); PER_ZEROADDR_LCHECK2( regs, r1, r1+1, r2, r2+1 ); @@ -3969,17 +4289,386 @@ BYTE equlen = 0; /* Equal byte counter */ /* Process operands from left to right */ for (i=0; len1 > 0 || len2 > 0 ; i++) { -#undef CUSE_MAX -#define CUSE_MAX _4K - /* If 4096 bytes have been compared, and the last bytes - compared were unequal, exit with condition code 3 */ - if (equlen == 0 && i >= CUSE_MAX) +#if CUSE_DEBUG + logmsg("CUSE: addr1=%X, len1=%ld, addr2=%X, len2=%ld, equlen=%ld, eqaddr1=%X, remlen1=%ld, eqaddr2=%X, remlen2=%ld, i=%d \n", + addr1, len1, addr2, len2, equlen, eqaddr1, remlen1, eqaddr2, remlen2, i); +#endif + + /* If equal byte count has reached substring length + exit with condition code zero */ + if (equlen == sublen) { - cc = 3; + cc = 0; break; } + /* interrupt and cc=3 checks: last comparision was unequal */ + if ( equlen == 0 ) + { + /* If 4096 bytes have been compared, and the last bytes + compared were unequal, exit with condition code 3 */ + if (i >= CUSE_MAX) + { + cc = 3; + break; + } + + /* update GPRs if scanned 1024 bytes - could get interrupt */ + if (i >= ruptcnt) + { + ruptcnt += CUSE_INTERRUPT_POINT; + + /* Update R1 and R2 to point to next bytes to compare */ + SET_GR_A( r1, regs, addr1 ); + SET_GR_A( r2, regs, addr2 ); + + /* Set R1+1 and R2+1 to remaining operand lengths */ + SET_GR_A( r1+1, regs, len1 ); + SET_GR_A( r2+1, regs, len2 ); + } + } + + /* ---------------------------- */ + /* Special Cases Optimizations */ + /* ---------------------------- */ + + /* ---------------------------------- */ + /* Special case: substring length = 1 */ + /* ---------------------------------- */ + if (sublen == 1 ) + { + scanlen = min ( min ( len1, len2 ), CUSE_INTERRUPT_POINT); + firstequ = ARCH_DEP( mem_cmp_first_equ )( regs, addr1, r1, addr2, r2, scanlen); + +#if CUSE_DEBUG + logmsg("CUSE: mem_cmp_first_equ: addr1=%X, addr2=%X, scanlen=%d, firstequ=%d \n", + addr1, addr2, scanlen, firstequ); +#endif + + if (firstequ == MEM_CMP_NPOS) + { + /* no matching byte */ + addr1 += scanlen; + addr1 &= ADDRESS_MAXWRAP( regs ); + len1 -= scanlen; + + addr2 += scanlen; + addr2 &= ADDRESS_MAXWRAP( regs ); + len2 -= scanlen; + + /* update bytes compared for cc=3 check */ + i += scanlen; + + equlen = 0; + cc = 2; + continue; + } + else + { + /* found a matching byte */ + addr1 += firstequ; + addr1 &= ADDRESS_MAXWRAP( regs ); + len1 -= firstequ; + + addr2 += firstequ; + addr2 &= ADDRESS_MAXWRAP( regs ); + len2 -= firstequ; + + /* Update equal string addresses and lengths */ + eqaddr1 = addr1; + eqaddr2 = addr2; + remlen1 = len1; + remlen2 = len2; + + equlen = 1; + cc = 0; + continue; + } + } /* end Special case: substring length = 1 */ + + /* --------------------------------------------------- */ + /* Special case: partial substring found */ + /* - continue compare */ + /* --------------------------------------------------- */ + if (equlen > 0 && len1 > 0 && len2 > 0) + { + scanlen = min (sublen - equlen, min( len1, len2) ); + rc = ARCH_DEP( mem_cmp ) (regs, addr1, r1, addr2, r2, scanlen, &idx); + +#if CUSE_DEBUG + logmsg("CUSE: mem_cmp: addr1=%X, addr2=%X, scanlen=%d, sublen=%d, rc=%d, idx=%u \n", + addr1, addr2, scanlen, sublen, rc, idx); +#endif + + if (rc == 0) + { + /* larger partial substring found - may need pad to complete */ + addr1 += scanlen; + addr1 &= ADDRESS_MAXWRAP( regs ); + len1 -= scanlen; + + addr2 += scanlen; + addr2 &= ADDRESS_MAXWRAP( regs ); + len2 -= scanlen; + + equlen += scanlen; + + /* update bytes compared for cc=3 check */ + i += scanlen; + + cc = ( sublen == equlen ) ? 0 : 1; + continue; + } + + else + { + /* substring not found */ + /* update to nonequal byte */ + addr1 += (idx +1); + addr1 &= ADDRESS_MAXWRAP( regs ); + len1 -= (idx +1); + + addr2 += (idx +1); + addr2 &= ADDRESS_MAXWRAP( regs ); + len2 -= (idx +1); + + equlen = 0; + + /* update bytes compared for cc=3 check */ + i += (idx +1); + + cc = 2; + continue; + } + } /* end Special case: partial substring found */ + + /* ----------------------------------------------------------------------- */ + /* Special case: no partial substring - scan for first possible substring */ + /* ----------------------------------------------------------------------- */ + scanlen = min( len1, len2 ); + if (equlen == 0 && scanlen > sublen) + { + int ss_len = 0; + firstequ = ARCH_DEP( mem_cmp_first_substr )( regs, addr1, r1, addr2, r2, scanlen, sublen, &ss_len); + +#if CUSE_DEBUG + logmsg("CUSE: mem_cmp_first_substr: addr1=%X, addr2=%X, scanlen=%d, sublen=%d, firstequ=%d, ss_len=%d \n", + addr1, addr2, scanlen, sublen, firstequ, ss_len); +#endif + + if (firstequ == MEM_CMP_NPOS) + { + /* no possible substring found - update to next end of scanned memory */ + addr1 += scanlen ; + addr1 &= ADDRESS_MAXWRAP( regs ); + len1 -= scanlen; + + addr2 += scanlen; + addr2 &= ADDRESS_MAXWRAP( regs ); + len2 -= scanlen; + + /* update bytes compared for cc=3 check */ + i += scanlen; + + /* save the start of possible substring addresses and remaining lengths */ + eqaddr1 = addr1; + eqaddr2 = addr2; + remlen1 = len1; + remlen2 = len2; + equlen = 0; + + cc = 2; + } + + else + { + /* found a start of possible substring byte */ + + /* save the start of possible substring addresses and remaining lengths */ + eqaddr1 = addr1 + firstequ; + eqaddr2 = addr2 + firstequ; + remlen1 = len1 - firstequ; + remlen2 = len2 - firstequ; + equlen = ss_len; + + /* update address and length to next byte */ + addr1 += (firstequ + ss_len); + addr1 &= ADDRESS_MAXWRAP( regs ); + len1 -= (firstequ + ss_len); + + addr2 += (firstequ + ss_len); + addr2 &= ADDRESS_MAXWRAP( regs ); + len2 -= (firstequ + ss_len); + + /* update bytes compared for cc=3 check */ + i += (firstequ + ss_len); + + cc = ( sublen == equlen ) ? 0 : 1; + } + continue; + + } /*end Special case: no partial substring - scan for first possible substring */ + + /* ------------------------------------------------------------------- */ + /* Special case: scan substring right to left */ + /* ------------------------------------------------------------------- */ + /* Peek look ahead at last non-pad byte of candidate substring */ + peeklen = min( sublen - equlen, min ( len1, len2 ) ); + if (peeklen > 1) + { + lastneq = ARCH_DEP( mem_cmp_last_neq )( regs, addr1, r1, addr2, r2, peeklen); + +#if CUSE_DEBUG + logmsg("CUSE: mem_cmp_last_neq: addr1=%X, addr2=%X, peaklen=%d, lastneq=%d \n", + addr1, addr2, peeklen, lastneq); +#endif + + if (lastneq == MEM_CMP_NPOS) + { + if (sublen == peeklen + equlen) + { + /* complete substring found */ + cc = 0; + break; + } + else + { + /* partial substring found - possibly need padding */ + addr1 += peeklen; + addr1 &= ADDRESS_MAXWRAP( regs ); + len1 -= peeklen; + + addr2 += peeklen; + addr2 &= ADDRESS_MAXWRAP( regs ); + len2 -= peeklen; + + /* update bytes compared for cc=3 check */ + i += peeklen; + + equlen += peeklen; + cc = 1; + continue; + } + } + + else + { + /* found a mismatch - update to nonequal byte */ + addr1 += (lastneq +1); + addr1 &= ADDRESS_MAXWRAP( regs ); + len1 -= (lastneq +1); + + addr2 += (lastneq +1); + addr2 &= ADDRESS_MAXWRAP( regs ); + len2 -= (lastneq +1); + + /* update bytes compared for cc=3 check */ + i += (lastneq +1); + + equlen = 0; + cc = 2; + continue; + } + } /* end Special case: scan substring right to left */ + + /* -------------------------------------------------------------- */ + /* Special case: only have operand-1. only padding check required */ + /* -------------------------------------------------------------- */ + if ( len1 > 0 && len2 == 0) + { + padlen = min( len1, (sublen - equlen)); + lastneq = ARCH_DEP( mem_pad_cmp_last_neq )( regs, addr1, r1, pad, padlen ); + +#if CUSE_DEBUG + logmsg("CUSE: op-1 pad check: addr1=%X, len1=%ld, padlen=%d, eqaddr1=%X, equlen=%d, remlen1=%d, lastneq=%d \n", + addr1, len1, padlen, eqaddr1, equlen, remlen1, lastneq ); +#endif + + if (lastneq == MEM_CMP_NPOS) + { + addr1 += padlen; + addr1 &= ADDRESS_MAXWRAP( regs ); + len1 -= padlen; + + equlen += padlen; + + cc = (sublen == equlen ) ? 0 : 1; + break; + } + + else + { + /* found a mismatch - update to nonequal byte */ + addr1 += (lastneq +1); + addr1 &= ADDRESS_MAXWRAP( regs ); + len1 -= (lastneq +1); + + /* update bytes compared for cc=3 check */ + i += (lastneq +1); + + eqaddr1 = addr1; + remlen1 = len1; + + equlen = 0; + cc = 2; + continue; + } + } /* end Special case: only have operand-1. only padding check required */ + + /* -------------------------------------------------------------- */ + /* Special case: only have operand-2. only padding check required */ + /* -------------------------------------------------------------- */ + if ( len1 == 0 && len2 > 0) + { + padlen = min( len2, (sublen - equlen)); + lastneq = ARCH_DEP( mem_pad_cmp_last_neq )( regs, addr2, r2, pad, padlen ); + +#if CUSE_DEBUG + logmsg("CUSE: op-2 pad check: addr2=%X, len2=%ld, padlen=%d, eqaddr2=%X, equlen=%d, remlen2=%d, lastneq=%d \n", + addr2, len2, padlen, eqaddr2, equlen, remlen2, lastneq ); +#endif + + if (lastneq == MEM_CMP_NPOS) + { + addr2 += padlen; + addr2 &= ADDRESS_MAXWRAP( regs ); + len2 -= padlen; + + equlen += padlen; + + cc = (sublen == equlen ) ? 0 : 1; + break; + } + else + { + /* found a mismatch - update to nonequal byte */ + addr2 += (lastneq +1); + addr2 &= ADDRESS_MAXWRAP( regs ); + len2 -= (lastneq +1); + + /* update bytes compared for cc=3 check */ + i += (lastneq +1); + + eqaddr2 = addr2; + remlen2 = len2; + + equlen = 0; + cc = 2; + continue; + } + } /* Special case: only have operand-2. only padding check required */ + + /* ------------------------------------------------------- */ + /* General case: */ + /* Scan left to right byte by byte */ + /* ------------------------------------------------------- */ + +#if CUSE_DEBUG + logmsg("CUSE: general: addr1=%X, len1=%ld, addr2=%X, len2=%ld, equlen=%d \n", + addr1, len1, addr2, len2, equlen); +#endif + /* Fetch byte from first operand, or use padding byte */ if (len1 > 0) byte1 = ARCH_DEP( vfetchb )( addr1, r1, regs ); @@ -4034,30 +4723,15 @@ BYTE equlen = 0; /* Equal byte counter */ len2--; } - /* update GPRs if we just crossed half page - could get rupt */ - if ((addr1 & 0x7FF) == 0 || (addr2 & 0x7FF) == 0) - { - /* Update R1 and R2 to point to next bytes to compare */ - SET_GR_A( r1, regs, addr1 ); - SET_GR_A( r2, regs, addr2 ); - - /* Set R1+1 and R2+1 to remaining operand lengths */ - SET_GR_A( r1+1, regs, len1 ); - SET_GR_A( r2+1, regs, len2 ); - } - - /* If equal byte count has reached substring length - exit with condition code zero */ - if (equlen == sublen) - { - cc = 0; - break; - } - } /* end for(i) */ +#if CUSE_DEBUG + logmsg("CUSE: scan complete: addr1=%X, len1=%ld, addr2=%X, len2=%ld, equlen=%ld, eqaddr1=%X, remlen1=%ld, eqaddr2=%X, remlen2=%ld, i=%d, cc=%d \n", + addr1, len1, addr2, len2, equlen, eqaddr1, remlen1, eqaddr2, remlen2, i, cc); +#endif + /* Update the registers */ - if (cc < 2) + if (cc < 2 && equlen > 0) { /* Update R1 and R2 to point to the equal substring */ SET_GR_A( r1, regs, eqaddr1 ); @@ -4083,6 +4757,7 @@ BYTE equlen = 0; /* Equal byte counter */ regs->psw.cc = cc; } /* end DEF_INST( compare_until_substring_equal ) */ + #endif /* defined( FEATURE_STRING_INSTRUCTION ) */ diff --git a/tests/CUSE-01-basic.asm b/tests/CUSE-01-basic.asm new file mode 100644 index 000000000..dc4e97b02 --- /dev/null +++ b/tests/CUSE-01-basic.asm @@ -0,0 +1,2028 @@ + TITLE ' CUSE-01-basic (Test CUSE instruction)' +*********************************************************************** +* +* CUSE basic instruction tests +* +*********************************************************************** +* +* This program tests proper functioning of the CUSE instruction. +* Specification Exceptions are not tested. +* +* PLEASE NOTE that the tests are very SIMPLE TESTS designed to catch +* obvious coding errors. None of the tests are thorough. They are +* NOT designed to test all aspects of the instruction. +* +* NOTE: This test is based on the CLCL-et-al Test but modified to +* only test the CUSE instruction. -- James Wekel November 2022 +* +*********************************************************************** +* +* Example Hercules Testcase: +* +* +* *Testcase CUSE-01-basic (Test CUSE instructions) +* +* # ------------------------------------------------------------ +* # This tests only the basic function of the CUSE instruction. +* # Specification Exceptions are NOT tested. +* # ------------------------------------------------------------ +* +* mainsize 16 +* numcpu 1 +* sysclear +* archlvl z/Arch +* loadcore "$(testpath)/CUSE-01-basic.core" 0x0 +* runtest 1 +* *Done +* +* +*********************************************************************** + SPACE 2 +CUSE1TST START 0 + USING CUSE1TST,R0 Low core addressability + SPACE 2 + ORG CUSE1TST+X'1A0' z/Architecure RESTART PSW + DC X'0000000180000000' + DC AD(BEGIN) + SPACE 2 + ORG CUSE1TST+X'1D0' z/Architecure PROGRAM CHECK PSW + DC X'0002000180000000' + DC AD(X'DEAD') + SPACE 3 + ORG CUSE1TST+X'200' Start of actual test program... + EJECT +*********************************************************************** +* The actual "CUSE1TST" program itself... +*********************************************************************** +* +* Architecture Mode: z/Arch +* Register Usage: +* +* R0 CUSE - SS length +* R1 CUSE - Pad byte +* R2 CUSE - First-Operand Address +* R3 CUSE - First-Operand Length +* R4 CUSE - Second-Operand Address +* R5 CUSE - Second-Operand Length +* R6 Testing control table - base current entry +* R7 (work) +* R8 First base register +* R9 Second base register +* R10-R13 (work) +* R14 Subroutine call +* R15 Secondary Subroutine call or work +* +*********************************************************************** + SPACE + USING BEGIN,R8 FIRST Base Register + USING BEGIN+4096,R9 SECOND Base Register + SPACE +BEGIN BALR R8,0 Initalize FIRST base register + BCTR R8,0 Initalize FIRST base register + BCTR R8,0 Initalize FIRST base register + SPACE + LA R9,2048(,R8) Initalize SECOND base register + LA R9,2048(,R9) Initalize SECOND base register + SPACE 2 +*********************************************************************** +* Run the test(s)... +*********************************************************************** + SPACE + BAL R14,TEST01 Test CUSE instruction + SPACE 2 +*********************************************************************** +* Test for normal or unexpected test completion... +*********************************************************************** + SPACE + CLI TESTNUM,X'F4' Did we end on expected test? + BNE FAILTEST No?! Then FAIL the test! + SPACE + CLI SUBTEST,X'04' Did we end on expected SUB-test? + BNE FAILTEST No?! Then FAIL the test! + SPACE + B EOJ Yes, then normal completion! + EJECT +*********************************************************************** +* Fixed test storage locations ... +*********************************************************************** + SPACE 2 + ORG CUSE1TST+X'400' + SPACE 4 +TESTADDR DS 0D Where test/subtest numbers will go +TESTNUM DC X'99' Test number of active test +SUBTEST DC X'99' Active test sub-test number + SPACE 4 + ORG *+X'100' + EJECT +*********************************************************************** +* TEST01 Test CUSE instruction +*********************************************************************** + SPACE +TEST01 MVI TESTNUM,X'01' + SPACE + LA R6,CUSECTL Point R6 --> testing control table + USING CUSETEST,R6 What each table entry looks like + SPACE +TST1LOOP EQU * + IC R10,TNUM Set test number + STC R10,TESTNUM +* +** Initialize operand data (move data to testing address) +* +* Build Operand-1 + SPACE + L R2,OP1WHERE Where to move operand-1 data to + L R3,OP1LEN Get operand-1 length + L R10,SS1ADDR Calculate OP 1 starting + SR R10,R3 address + A R10,SS1LEN + L R11,OP1LEN + MVCL R2,R10 + SPACE + BCTR R2,0 less one for last char addr + MVC 0(0,R2),SS1LAST set last char + SPACE +* Build Operand-2 + SPACE + L R4,OP2WHERE Where to move operand-1 data to + L R5,OP2LEN Get operand-1 length + L R10,SS2ADDR Calculate OP 2 starting + SR R10,R5 address + A R10,SS2LEN + L R11,OP2LEN + MVCL R4,R10 + SPACE + BCTR R4,0 less one for last char addr + MVC 0(0,R4),SS2LAST set last char + SPACE 2 +** Execute CUSE instruction and check for expected condition code + SPACE + L R11,FAILMASK (failure CC) + SLL R11,4 (shift to BC instr CC position) + SPACE + IC R0,SSLEN Set SS length + IC R1,PAD Set SS Pad byte + SPACE + LM R2,R5,OPSWHERE + SPACE + MVI SUBTEST,X'00' (primary test) +DOAGAIN CUSE R2,R4 Do Test + SPACE + EX R11,CUSEBC fail if... + BC B'0001',DOAGAIN cc=3, not finished + SPACE 2 +* +** Verify R2,R3,R4,R5 contain (or still contain!) expected values +* + LM R10,R11,ENDOP1 end OP-1 address and length + SPACE + MVI SUBTEST,X'01' (R2 result - op1 found addr) + CLR R2,R10 R2 correct? + BNE CUSEFAIL No, FAILTEST! + SPACE + MVI SUBTEST,X'02' (R3 result - op1 remaining len) + CLR R3,R11 R3 correct + BNE CUSEFAIL No, FAILTEST! + SPACE + LM R10,R11,ENDOP2 end OP-2 address and length + SPACE + MVI SUBTEST,X'03' (R4 result - op2 found addr) + CLR R4,R10 R4 correct + BNE CUSEFAIL No, FAILTEST! + SPACE + MVI SUBTEST,X'04' (R3 result - op2 remaining len) + CLR R5,R11 R5 correct + BNE CUSEFAIL No, FAILTEST! + SPACE + LA R6,CUSENEXT Go on to next table entry + CLC =F'0',0(R6) End of table? + BNE TST1LOOP No, loop... + B CUSEDONE Done! (success!) + SPACE 2 +CUSEFAIL LA R14,FAILTEST Unexpected results! +CUSEDONE BR R14 Return to caller or FAILTEST + SPACE 2 +CUSEBC BC 0,CUSEFAIL (fail if unexpected condition code) + SPACE 2 + DROP R6 + DROP R15 + USING BEGIN,R8 + EJECT +*********************************************************************** +* Normal completion or Abnormal termination PSWs +*********************************************************************** + SPACE 5 +EOJPSW DC 0D'0',X'0002000180000000',AD(0) + SPACE +EOJ LPSWE EOJPSW Normal completion + SPACE 5 +FAILPSW DC 0D'0',X'0002000180000000',AD(X'BAD') + SPACE +FAILTEST LPSWE FAILPSW Abnormal termination + SPACE 7 +*********************************************************************** +* Working Storage +*********************************************************************** + SPACE 2 + LTORG , Literals pool + SPACE 3 +K EQU 1024 One KB +PAGE EQU (4*K) Size of one page +K4 EQU (4*K) 4 KB +K32 EQU (32*K) 32 KB +K64 EQU (64*K) 64 KB +MB EQU (K*K) 1 MB + EJECT +CUSE1TST CSECT , + SPACE 2 +*********************************************************************** +* CUSETEST DSECT +*********************************************************************** + SPACE 2 +CUSETEST DSECT , +TNUM DC X'00' CUSE table number + DC XL3'00' + SPACE 2 +SSLEN DC AL1(0) CUSE - SS length +PAD DC X'00' CUSE - Pad byte +SS1LAST DC X'00' First-Operand SS last byte +SS2LAST DC X'00' Second-Operand SS last byte + SPACE 2 +SS1ADDR DC A(0) First-Operand SS Address +SS1LEN DC A(0) First-Operand SS length +SS2ADDR DC A(0) Second-Operand SS Address +SS2LEN DC A(0) Second-Operand SS length + SPACE 2 +OPSWHERE EQU * +OP1WHERE DC A(0) Where Operand-1 data should be placed +OP1LEN DC F'0' CUSE - First-Operand Length +OP2WHERE DC A(0) Where Operand-2 data should be placed +OP2LEN DC F'0' CUSE - Second-Operand Length + + SPACE 2 +FAILMASK DC A(0) Failure Branch on Condition mask + SPACE 2 +* Ending register values +ENDOP1 DC A(0) Operand 1 address + DC A(0) Operand 1 length +ENDOP2 DC A(0) Operand 2 address + DC A(0) Operand 2 length + SPACE 2 +CUSENEXT EQU * Start of next table entry... + SPACE 5 +REG2PATT EQU X'AABBCCDD' Polluted Register pattern +REG2LOW EQU X'DD' (last byte above) + EJECT +*********************************************************************** +* CUSE Testing Control tables (ref: CUSETEST DSECT) +*********************************************************************** + SPACE +CUSE1TST CSECT , +CUSECTL DC 0A(0) start of table + SPACE +*********************************************************************** +* tests with CC=0 +*********************************************************************** + SPACE +CC0T1 DS 0F + DC X'01' Test Num + DC XL3'00' +* + DC AL1(1) SS Length + DC X'00' Pad Byte + DC X'AA' First-Operand SS last byte + DC X'AA' Second-Operand SS last byte +* Source + DC A(COP1A),A(001) Op-1 SS & length + DC A(COP2A),A(001) OP-2 SS & length +* Target + DC A(1*MB+(1*K32)),A(1) Op-1 & length + DC A(2*MB+(1*K32)),A(1) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(1*MB+(1*K32)+000),A(001) OP-1 + DC A(2*MB+(1*K32)+000),A(001) OP-2 + SPACE 2 +CC0T2 DS 0F + DC X'02' Test Num + DC XL3'00' +* + DC AL1(1) SS Length + DC X'00' Pad Byte + DC X'BB' First-Operand SS last byte + DC X'BB' Second-Operand SS last byte +* Source + DC A(COP1A),A(001) Op-1 SS & length + DC A(COP2A),A(001) OP-2 SS & length +* Target + DC A(1*MB+(2*K32)),A(2) Op-1 & length + DC A(2*MB+(2*K32)),A(2) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(1*MB+(2*K32)+001),A(001) OP-1 + DC A(2*MB+(2*K32)+001),A(001) OP-2 + SPACE 2 +CC0T3 DS 0F + DC X'03' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'00' Pad Byte + DC X'CC' First-Operand SS last byte + DC X'CC' Second-Operand SS last byte +* Source + DC A(COP1A),A(004) Op-1 SS & length + DC A(COP2A),A(004) OP-2 SS & length +* Target + DC A(1*MB+(3*K32)),A(8) Op-1 & length + DC A(2*MB+(3*K32)),A(8) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(1*MB+(3*K32)+(8-4)),A(004) OP-1 + DC A(2*MB+(3*K32)+(8-4)),A(004) OP-2 + SPACE 2 +CC0T4 DS 0F + DC X'04' Test Num + DC XL3'00' +* + DC AL1(13) SS Length + DC X'00' Pad Byte + DC X'DD' First-Operand SS last byte + DC X'DD' Second-Operand SS last byte +* Source + DC A(COP1A),A(013) Op-1 SS & length + DC A(COP2A),A(013) OP-2 SS & length +* Target + DC A(1*MB+(4*K32)),A(63) Op-1 & length + DC A(2*MB+(4*K32)),A(63) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(1*MB+(4*K32)+(63-13)),A(013) OP-1 + DC A(2*MB+(4*K32)+(63-13)),A(013) OP-2 + SPACE 2 +CC0T5 DS 0F + DC X'05' Test Num + DC XL3'00' +* + DC AL1(62) SS Length + DC X'00' Pad Byte + DC X'EE' First-Operand SS last byte + DC X'EE' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(1*MB+(5*K32)),A(512) Op-1 & length + DC A(2*MB+(5*K32)),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(1*MB+(5*K32)+(512-62)),A(062) OP-1 + DC A(2*MB+(5*K32)+(512-62)),A(062) OP-2 + SPACE 2 +CC0T6 DS 0F + DC X'06' Test Num + DC XL3'00' +* + DC AL1(127) SS Length + DC X'00' Pad Byte + DC X'FF' First-Operand SS last byte + DC X'FF' Second-Operand SS last byte +* Source + DC A(COP1A),A(127) Op-1 SS & length + DC A(COP2A),A(127) OP-2 SS & length +* Target + DC A(1*MB+(6*K32)),A(2048) Op-1 & length + DC A(2*MB+(6*K32)),A(2048) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(1*MB+(6*K32)+(2048-127)),A(127) OP-1 + DC A(2*MB+(6*K32)+(2048-127)),A(127) OP-2 + SPACE +* Cross page bounday tests + SPACE +* Cross page bounday - operand-1 + SPACE +CC0T7 DS 0F + DC X'07' Test Num + DC XL3'00' +* + DC AL1(62) SS Length + DC X'00' Pad Byte + DC X'55' First-Operand SS last byte + DC X'55' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(1*MB+(7*K32)-128),A(512) Op-1 & length + DC A(2*MB+(7*K32)),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(1*MB+(7*K32)+(512-62)-128),A(062) OP-1 + DC A(2*MB+(7*K32)+(512-62)),A(062) OP-2 + SPACE +* Cross page bounday - operand-2 + SPACE +CC0T8 DS 0F + DC X'08' Test Num + DC XL3'00' +* + DC AL1(62) SS Length + DC X'00' Pad Byte + DC X'66' First-Operand SS last byte + DC X'66' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(1*MB+(8*K32)),A(512) Op-1 & length + DC A(2*MB+(8*K32)-128),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(1*MB+(8*K32)+(512-62)),A(062) OP-1 + DC A(2*MB+(8*K32)+(512-62)-128),A(062) OP-2 + SPACE +* Cross page bounday - operand-1 and operand-2 + SPACE +CC0T9 DS 0F + DC X'09' Test Num + DC XL3'00' +* + DC AL1(62) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(1*MB+(9*K32)-96),A(512) Op-1 & length + DC A(2*MB+(9*K32)-128),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(1*MB+(9*K32)+(512-62)-96),A(062) OP-1 + DC A(2*MB+(9*K32)+(512-62)-128),A(062) OP-2 + SPACE +* PAD tests + SPACE +* Pad - operand-1 + SPACE +CC0TA DS 0F + DC X'0A' Test Num + DC XL3'00' +* + DC AL1(62) SS Length + DC X'40' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(1*MB+(10*K32)),A(500) Op-1 & length + DC A(2*MB+(10*K32)),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(1*MB+(10*K32)+(512-62)),A(062-(512-500)) OP-1 + DC A(2*MB+(10*K32)+(512-62)),A(062) OP-2 + SPACE +* Pad - operand-2 + SPACE +CC0TB DS 0F + DC X'0B' Test Num + DC XL3'00' +* + DC AL1(62) SS Length + DC X'40' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(1*MB+(11*K32)),A(512) Op-1 & length + DC A(2*MB+(11*K32)),A(500) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(1*MB+(11*K32)+(512-62)),A(062) OP-1 + DC A(2*MB+(11*K32)+(512-62)),A(062-(512-500)) OP-2 + SPACE +* PAD and Cross page bounday tests + SPACE +* Pad - operand-1 ; Cross page bounday - operand-1 + SPACE +CC0TC DS 0F + DC X'0C' Test Num + DC XL3'00' +* + DC AL1(62) SS Length + DC X'40' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(1*MB+(12*K32)-96),A(500) Op-1 & length + DC A(2*MB+(12*K32)),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(1*MB+(12*K32)+(512-62)-96),A(062-(512-500)) OP-1 + DC A(2*MB+(12*K32)+(512-62)),A(062) OP-2 + SPACE +* Pad - operand-1 ; Cross page bounday - operand-2 + SPACE +CC0TD DS 0F + DC X'0D' Test Num + DC XL3'00' +* + DC AL1(62) SS Length + DC X'40' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(1*MB+(13*K32)),A(500) Op-1 & length + DC A(2*MB+(13*K32)-96),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(1*MB+(13*K32)+(512-62)),A(062-(512-500)) OP-1 + DC A(2*MB+(13*K32)+(512-62)-96),A(062) OP-2 + SPACE +* Pad - operand-2 ; Cross page bounday - operand-1 + SPACE +CC0TE DS 0F + DC X'0E' Test Num + DC XL3'00' +* + DC AL1(62) SS Length + DC X'40' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(1*MB+(14*K32)-96),A(512) Op-1 & length + DC A(2*MB+(14*K32)),A(500) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(1*MB+(14*K32)+(512-62)-96),A(062) OP-1 + DC A(2*MB+(14*K32)+(512-62)),A(062-(512-500)) OP-2 + SPACE +* Pad - operand-2 ; Cross page bounday - operand-2 + SPACE +CC0TF DS 0F + DC X'0F' Test Num + DC XL3'00' +* + DC AL1(62) SS Length + DC X'40' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(1*MB+(15*K32)),A(512) Op-1 & length + DC A(2*MB+(15*K32)-96),A(500) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(1*MB+(15*K32)+(512-62)),A(062) OP-1 + DC A(2*MB+(15*K32)+(512-62)-96),A(062-(512-500)) OP-2 + EJECT +*********************************************************************** +* tests with CC=1 +*********************************************************************** + SPACE +CC1T1 DS 0F + DC X'11' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'11' Pad Byte + DC X'11' First-Operand SS last byte + DC X'11' Second-Operand SS last byte +* Source + DC A(COP1A),A(001) Op-1 SS & length + DC A(COP2A),A(001) OP-2 SS & length +* Target + DC A(3*MB+(1*K32)),A(1) Op-1 & length + DC A(4*MB+(1*K32)),A(1) Op-2 & length +* + DC A(11) CC1 Fail mask +* Ending register values + DC A(3*MB+(1*K32)+000),A(001) OP-1 + DC A(4*MB+(1*K32)+000),A(001) OP-2 + SPACE 2 +CC1T2 DS 0F + DC X'12' Test Num + DC XL3'00' +* + DC AL1(2) SS Length + DC X'00' Pad Byte + DC X'BB' First-Operand SS last byte + DC X'BB' Second-Operand SS last byte +* Source + DC A(COP1A),A(001) Op-1 SS & length + DC A(COP2A),A(001) OP-2 SS & length +* Target + DC A(3*MB+(2*K32)),A(2) Op-1 & length + DC A(4*MB+(2*K32)),A(2) Op-2 & length +* + DC A(11) CC1 Fail mask +* Ending register values + DC A(3*MB+(2*K32)+001),A(001) OP-1 + DC A(4*MB+(2*K32)+001),A(001) OP-2 + SPACE 2 +CC1T3 DS 0F + DC X'13' Test Num + DC XL3'00' +* + DC AL1(6) SS Length + DC X'00' Pad Byte + DC X'CC' First-Operand SS last byte + DC X'CC' Second-Operand SS last byte +* Source + DC A(COP1A),A(004) Op-1 SS & length + DC A(COP2A),A(004) OP-2 SS & length +* Target + DC A(3*MB+(3*K32)),A(8) Op-1 & length + DC A(4*MB+(3*K32)),A(8) Op-2 & length +* + DC A(11) CC1 Fail mask +* Ending register values + DC A(3*MB+(3*K32)+(8-4)),A(004) OP-1 + DC A(4*MB+(3*K32)+(8-4)),A(004) OP-2 + SPACE 2 +CC1T4 DS 0F + DC X'14' Test Num + DC XL3'00' +* + DC AL1(18) SS Length + DC X'00' Pad Byte + DC X'DD' First-Operand SS last byte + DC X'DD' Second-Operand SS last byte +* Source + DC A(COP1A),A(013) Op-1 SS & length + DC A(COP2A),A(013) OP-2 SS & length +* Target + DC A(3*MB+(4*K32)),A(63) Op-1 & length + DC A(4*MB+(4*K32)),A(63) Op-2 & length +* + DC A(11) CC1 Fail mask +* Ending register values + DC A(3*MB+(4*K32)+(63-13)),A(013) OP-1 + DC A(4*MB+(4*K32)+(63-13)),A(013) OP-2 + SPACE 2 +CC1T5 DS 0F + DC X'15' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'00' Pad Byte + DC X'EE' First-Operand SS last byte + DC X'EE' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(3*MB+(5*K32)),A(512) Op-1 & length + DC A(4*MB+(5*K32)),A(512) Op-2 & length +* + DC A(11) CC1 Fail mask +* Ending register values + DC A(3*MB+(5*K32)+(512-62)),A(062) OP-1 + DC A(4*MB+(5*K32)+(512-62)),A(062) OP-2 + SPACE 2 +CC1T6 DS 0F + DC X'16' Test Num + DC XL3'00' +* + DC AL1(128) SS Length + DC X'00' Pad Byte + DC X'FF' First-Operand SS last byte + DC X'FF' Second-Operand SS last byte +* Source + DC A(COP1A),A(127) Op-1 SS & length + DC A(COP2A),A(127) OP-2 SS & length +* Target + DC A(3*MB+(6*K32)),A(2048) Op-1 & length + DC A(4*MB+(6*K32)),A(2048) Op-2 & length +* + DC A(11) CC1 Fail mask +* Ending register values + DC A(3*MB+(6*K32)+(2048-127)),A(127) OP-1 + DC A(4*MB+(6*K32)+(2048-127)),A(127) OP-2 + SPACE +* Cross page bounday tests + SPACE +* Cross page bounday - operand-1 + SPACE +CC1T7 DS 0F + DC X'17' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'00' Pad Byte + DC X'55' First-Operand SS last byte + DC X'55' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(3*MB+(7*K32)-128),A(512) Op-1 & length + DC A(4*MB+(7*K32)),A(512) Op-2 & length +* + DC A(11) CC1 Fail mask +* Ending register values + DC A(3*MB+(7*K32)+(512-62)-128),A(062) OP-1 + DC A(4*MB+(7*K32)+(512-62)),A(062) OP-2 + SPACE +* Cross page bounday - operand-2 + SPACE +CC1T8 DS 0F + DC X'18' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'00' Pad Byte + DC X'66' First-Operand SS last byte + DC X'66' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(3*MB+(8*K32)),A(512) Op-1 & length + DC A(4*MB+(8*K32)-128),A(512) Op-2 & length +* + DC A(11) CC1 Fail mask +* Ending register values + DC A(3*MB+(8*K32)+(512-62)),A(062) OP-1 + DC A(4*MB+(8*K32)+(512-62)-128),A(062) OP-2 + SPACE +* Cross page bounday - operand-1 and operand-2 + SPACE +CC1T9 DS 0F + DC X'19' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(3*MB+(9*K32)-96),A(512) Op-1 & length + DC A(4*MB+(9*K32)-128),A(512) Op-2 & length +* + DC A(11) CC1 Fail mask +* Ending register values + DC A(3*MB+(9*K32)+(512-62)-96),A(062) OP-1 + DC A(4*MB+(9*K32)+(512-62)-128),A(062) OP-2 + SPACE +* PAD tests + SPACE +* Pad - operand-1 + SPACE +CC1TA DS 0F + DC X'1A' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'40' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(3*MB+(10*K32)),A(500) Op-1 & length + DC A(4*MB+(10*K32)),A(512) Op-2 & length +* + DC A(11) CC1 Fail mask +* Ending register values + DC A(3*MB+(10*K32)+(512-62)),A(062-(512-500)) OP-1 + DC A(4*MB+(10*K32)+(512-62)),A(062) OP-2 + SPACE +* Pad - operand-2 + SPACE +CC1TB DS 0F + DC X'1B' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'40' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(3*MB+(11*K32)),A(512) Op-1 & length + DC A(4*MB+(11*K32)),A(500) Op-2 & length +* + DC A(11) CC1 Fail mask +* Ending register values + DC A(3*MB+(11*K32)+(512-62)),A(062) OP-1 + DC A(4*MB+(11*K32)+(512-62)),A(062-(512-500)) OP-2 + SPACE +* PAD and Cross page bounday tests + SPACE +* Pad - operand-1 ; Cross page bounday - operand-1 + SPACE +CC1TC DS 0F + DC X'1C' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'40' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(3*MB+(12*K32)-96),A(500) Op-1 & length + DC A(4*MB+(12*K32)),A(512) Op-2 & length +* + DC A(11) CC1 Fail mask +* Ending register values + DC A(3*MB+(12*K32)+(512-62)-96),A(062-(512-500)) OP-1 + DC A(4*MB+(12*K32)+(512-62)),A(062) OP-2 + SPACE +* Pad - operand-1 ; Cross page bounday - operand-2 + SPACE +CC1TD DS 0F + DC X'1D' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'40' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(3*MB+(13*K32)),A(500) Op-1 & length + DC A(4*MB+(13*K32)-96),A(512) Op-2 & length +* + DC A(11) CC1 Fail mask +* Ending register values + DC A(3*MB+(13*K32)+(512-62)),A(062-(512-500)) OP-1 + DC A(4*MB+(13*K32)+(512-62)-96),A(062) OP-2 + SPACE +* Pad - operand-2 ; Cross page bounday - operand-1 + SPACE +CC1TE DS 0F + DC X'1E' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'40' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(3*MB+(14*K32)-96),A(512) Op-1 & length + DC A(4*MB+(14*K32)),A(500) Op-2 & length +* + DC A(11) CC1 Fail mask +* Ending register values + DC A(3*MB+(14*K32)+(512-62)-96),A(062) OP-1 + DC A(4*MB+(14*K32)+(512-62)),A(062-(512-500)) OP-2 + SPACE +* Pad - operand-2 ; Cross page bounday - operand-2 + SPACE +CC1TF DS 0F + DC X'1F' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'40' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(3*MB+(15*K32)),A(512) Op-1 & length + DC A(4*MB+(15*K32)-96),A(500) Op-2 & length +* + DC A(11) CC1 Fail mask +* Ending register values + DC A(3*MB+(15*K32)+(512-62)),A(062) OP-1 + DC A(4*MB+(15*K32)+(512-62)-96),A(062-(512-500)) OP-2 + EJECT +*********************************************************************** +* tests with CC=2 +*********************************************************************** + SPACE +CC2T1 DS 0F + DC X'21' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'11' Pad Byte + DC X'11' First-Operand SS last byte + DC X'12' Second-Operand SS last byte +* Source + DC A(COP1A),A(001) Op-1 SS & length + DC A(COP2A),A(001) OP-2 SS & length +* Target + DC A(5*MB+(1*K32)),A(1) Op-1 & length + DC A(6*MB+(1*K32)),A(1) Op-2 & length +* + DC A(13) not CC2 Fail mask +* Ending register values + DC A(5*MB+(1*K32)+001),A(000) OP-1 + DC A(6*MB+(1*K32)+001),A(000) OP-2 + SPACE 2 +CC2T2 DS 0F + DC X'22' Test Num + DC XL3'00' +* + DC AL1(2) SS Length + DC X'00' Pad Byte + DC X'BB' First-Operand SS last byte + DC X'BC' Second-Operand SS last byte +* Source + DC A(COP1A),A(001) Op-1 SS & length + DC A(COP2A),A(001) OP-2 SS & length +* Target + DC A(5*MB+(2*K32)),A(2) Op-1 & length + DC A(6*MB+(2*K32)),A(2) Op-2 & length +* + DC A(13) not CC2 Fail mask +* Ending register values + DC A(5*MB+(2*K32)+002),A(000) OP-1 + DC A(6*MB+(2*K32)+002),A(000) OP-2 + SPACE 2 +CC2T3 DS 0F + DC X'23' Test Num + DC XL3'00' +* + DC AL1(6) SS Length + DC X'00' Pad Byte + DC X'CC' First-Operand SS last byte + DC X'CD' Second-Operand SS last byte +* Source + DC A(COP1A),A(004) Op-1 SS & length + DC A(COP2A),A(004) OP-2 SS & length +* Target + DC A(5*MB+(3*K32)),A(8) Op-1 & length + DC A(6*MB+(3*K32)),A(8) Op-2 & length +* + DC A(13) not CC2 Fail mask +* Ending register values + DC A(5*MB+(3*K32)+8),A(000) OP-1 + DC A(6*MB+(3*K32)+8),A(000) OP-2 + SPACE 2 +CC2T4 DS 0F + DC X'24' Test Num + DC XL3'00' +* + DC AL1(18) SS Length + DC X'00' Pad Byte + DC X'DD' First-Operand SS last byte + DC X'DE' Second-Operand SS last byte +* Source + DC A(COP1A),A(013) Op-1 SS & length + DC A(COP2A),A(013) OP-2 SS & length +* Target + DC A(5*MB+(4*K32)),A(63) Op-1 & length + DC A(6*MB+(4*K32)),A(63) Op-2 & length +* + DC A(13) not CC2 Fail mask +* Ending register values + DC A(5*MB+(4*K32)+63),A(000) OP-1 + DC A(6*MB+(4*K32)+63),A(000) OP-2 + SPACE 2 +CC2T5 DS 0F + DC X'25' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'00' Pad Byte + DC X'EE' First-Operand SS last byte + DC X'EF' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(5*MB+(5*K32)),A(512) Op-1 & length + DC A(6*MB+(5*K32)),A(512) Op-2 & length +* + DC A(13) not CC2 Fail mask +* Ending register values + DC A(5*MB+(5*K32)+512),A(000) OP-1 + DC A(6*MB+(5*K32)+512),A(000) OP-2 + SPACE 2 +CC2T6 DS 0F + DC X'26' Test Num + DC XL3'00' +* + DC AL1(128) SS Length + DC X'00' Pad Byte + DC X'FF' First-Operand SS last byte + DC X'F0' Second-Operand SS last byte +* Source + DC A(COP1A),A(127) Op-1 SS & length + DC A(COP2A),A(127) OP-2 SS & length +* Target + DC A(5*MB+(6*K32)),A(2048) Op-1 & length + DC A(6*MB+(6*K32)),A(2048) Op-2 & length +* + DC A(13) not CC2 Fail mask +* Ending register values + DC A(5*MB+(6*K32)+2048),A(000) OP-1 + DC A(6*MB+(6*K32)+2048),A(000) OP-2 + SPACE +* Cross page bounday tests + SPACE +* Cross page bounday - operand-1 + SPACE +CC2T7 DS 0F + DC X'27' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'00' Pad Byte + DC X'55' First-Operand SS last byte + DC X'56' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(5*MB+(7*K32)-128),A(512) Op-1 & length + DC A(6*MB+(7*K32)),A(512) Op-2 & length +* + DC A(13) not CC2 Fail mask +* Ending register values + DC A(5*MB+(7*K32)+512-128),A(000) OP-1 + DC A(6*MB+(7*K32)+512),A(000) OP-2 + SPACE +* Cross page bounday - operand-2 + SPACE +CC2T8 DS 0F + DC X'28' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'00' Pad Byte + DC X'67' First-Operand SS last byte + DC X'66' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(5*MB+(8*K32)),A(512) Op-1 & length + DC A(6*MB+(8*K32)-128),A(512) Op-2 & length +* + DC A(13) not CC2 Fail mask +* Ending register values + DC A(5*MB+(8*K32)+512),A(000) OP-1 + DC A(6*MB+(8*K32)+512-128),A(000) OP-2 + SPACE +* Cross page bounday - operand-1 and operand-2 + SPACE +CC2T9 DS 0F + DC X'29' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'00' Pad Byte + DC X'78' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(5*MB+(9*K32)-96),A(512) Op-1 & length + DC A(6*MB+(9*K32)-128),A(512) Op-2 & length +* + DC A(13) not CC2 Fail mask +* Ending register values + DC A(5*MB+(9*K32)+512-96),A(000) OP-1 + DC A(6*MB+(9*K32)+512-128),A(000) OP-2 + SPACE +* PAD tests + SPACE +* Pad - operand-1 + SPACE +CC2TA DS 0F + DC X'2A' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'41' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(5*MB+(10*K32)),A(500) Op-1 & length + DC A(6*MB+(10*K32)),A(512) Op-2 & length +* + DC A(13) not CC2 Fail mask +* Ending register values + DC A(5*MB+(10*K32)+500),A(000) OP-1 + DC A(6*MB+(10*K32)+512),A(000) OP-2 + SPACE +* Pad - operand-2 + SPACE +CC2TB DS 0F + DC X'2B' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'41' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(5*MB+(11*K32)),A(512) Op-1 & length + DC A(6*MB+(11*K32)),A(500) Op-2 & length +* + DC A(13) not CC2 Fail mask +* Ending register values + DC A(5*MB+(11*K32)+512),A(000) OP-1 + DC A(6*MB+(11*K32)+500),A(000) OP-2 + SPACE +* PAD and Cross page bounday tests + SPACE +* Pad - operand-1 ; Cross page bounday - operand-1 + SPACE +CC2TC DS 0F + DC X'2C' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'41' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(5*MB+(12*K32)-96),A(500) Op-1 & length + DC A(6*MB+(12*K32)),A(512) Op-2 & length +* + DC A(13) not CC2 Fail mask +* Ending register values + DC A(5*MB+(12*K32)+500-96),A(000) OP-1 + DC A(6*MB+(12*K32)+512),A(000) OP-2 + SPACE +* Pad - operand-1 ; Cross page bounday - operand-2 + SPACE +CC2TD DS 0F + DC X'2D' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'41' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(5*MB+(13*K32)),A(500) Op-1 & length + DC A(6*MB+(13*K32)-96),A(512) Op-2 & length +* + DC A(13) not CC2 Fail mask +* Ending register values + DC A(5*MB+(13*K32)+500),A(000) OP-1 + DC A(6*MB+(13*K32)+512-96),A(000) OP-2 + SPACE +* Pad - operand-2 ; Cross page bounday - operand-1 + SPACE +CC2TE DS 0F + DC X'2E' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'41' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(5*MB+(14*K32)-96),A(512) Op-1 & length + DC A(6*MB+(14*K32)),A(500) Op-2 & length +* + DC A(13) not CC2 Fail mask +* Ending register values + DC A(5*MB+(14*K32)+512-96),A(000) OP-1 + DC A(6*MB+(14*K32)+500),A(000) OP-2 + SPACE +* Pad - operand-2 ; Cross page bounday - operand-2 + SPACE +CC2TF DS 0F + DC X'2F' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'41' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(062) Op-1 SS & length + DC A(COP2B),A(062) OP-2 SS & length +* Target + DC A(5*MB+(15*K32)),A(512) Op-1 & length + DC A(6*MB+(15*K32)-96),A(500) Op-2 & length +* + DC A(13) not CC2 Fail mask +* Ending register values + DC A(5*MB+(15*K32)+512),A(000) OP-1 + DC A(6*MB+(15*K32)+500-96),A(000) OP-2 + EJECT +*********************************************************************** +* tests with CC=3 +*********************************************************************** + SPACE +CC3T1 DS 0F + DC X'31' Test Num + DC XL3'00' +* + DC AL1(1) SS Length + DC X'00' Pad Byte + DC X'AA' First-Operand SS last byte + DC X'AA' Second-Operand SS last byte +* Source + DC A(COP1A),A(1) Op-1 SS & length + DC A(COP2A),A(1) OP-2 SS & length +* Target + DC A(7*MB+(1*K32)),A(4096+128) Op-1 & length + DC A(8*MB+(1*K32)),A(4096+128) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(7*MB+(1*K32)+4096+128-1),A(001) OP-1 + DC A(8*MB+(1*K32)+4096+128-1),A(001) OP-2 + SPACE 2 +CC3T3 DS 0F + DC X'33' Test Num + DC XL3'00' +* + DC AL1(6) SS Length + DC X'00' Pad Byte + DC X'CC' First-Operand SS last byte + DC X'CC' Second-Operand SS last byte +* Source + DC A(COP1A),A(004) Op-1 SS & length + DC A(COP2A),A(004) OP-2 SS & length +* Target + DC A(7*MB+(3*K32)),A(4096+128) Op-1 & length + DC A(8*MB+(3*K32)),A(4096+128) Op-2 & length +* + DC A(10) not CC1 or CC3 Fail mask +* Ending register values + DC A(7*MB+(3*K32)+(4096+128-4)),A(004) OP-1 + DC A(8*MB+(3*K32)+(4096+128-4)),A(004) OP-2 + SPACE 2 +CC3T4 DS 0F + DC X'34' Test Num + DC XL3'00' +* + DC AL1(18) SS Length + DC X'00' Pad Byte + DC X'DD' First-Operand SS last byte + DC X'DE' Second-Operand SS last byte +* Source + DC A(COP1A),A(013) Op-1 SS & length + DC A(COP2A),A(013) OP-2 SS & length +* Target + DC A(7*MB+(4*K32)),A(4096+63) Op-1 & length + DC A(8*MB+(4*K32)),A(4096+63) Op-2 & length +* + DC A(12) not CC2 or CC3 Fail mask +* Ending register values + DC A(7*MB+(4*K32)+4096+63),A(000) OP-1 + DC A(8*MB+(4*K32)+4096+63),A(000) OP-2 + SPACE +* Cross page bounday tests + SPACE +* Cross page bounday - operand-1 + SPACE +CC3T7 DS 0F + DC X'37' Test Num + DC XL3'00' +* + DC AL1(62) SS Length + DC X'00' Pad Byte + DC X'55' First-Operand SS last byte + DC X'55' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(7*MB+(7*K32)-128),A(4096+128) Op-1 & length + DC A(8*MB+(7*K32)),A(4096+128) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(7*MB+(7*K32)+(4096+128-62)-128),A(062) OP-1 + DC A(8*MB+(7*K32)+(4096+128-62)),A(062) OP-2 + SPACE +* Cross page bounday - operand-2 + SPACE +CC3T8 DS 0F + DC X'38' Test Num + DC XL3'00' +* + DC AL1(62) SS Length + DC X'00' Pad Byte + DC X'66' First-Operand SS last byte + DC X'66' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(7*MB+(8*K32)),A(4096+128) Op-1 & length + DC A(8*MB+(8*K32)-128),A(4096+128) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(7*MB+(8*K32)+(4096+128-62)),A(062) OP-1 + DC A(8*MB+(8*K32)+(4096+128-62)-128),A(062) OP-2 + SPACE +* Cross page bounday - operand-1 and operand-2 + SPACE +CC3T9 DS 0F + DC X'39' Test Num + DC XL3'00' +* + DC AL1(62) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(7*MB+(9*K32)-96),A(4096+128) Op-1 & length + DC A(8*MB+(9*K32)-128),A(4096+128) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(7*MB+(9*K32)+(4096+128-62)-96),A(062) OP-1 + DC A(8*MB+(9*K32)+(4096+128-62)-128),A(062) OP-2 + EJECT +*********************************************************************** +* tests - special pad test +*********************************************************************** + SPACE +* Op-1 - length=0 +PAD4T1 DS 0F + DC X'41' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'40' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(000) Op-1 SS & length + DC A(COP2B),A(4) OP-2 SS & length +* Target + DC A(9*MB+(1*K32)),A(000) Op-1 & length + DC A(10*MB+(1*K32)),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(9*MB+(1*K32)),A(000) OP-1 + DC A(10*MB+(1*K32)+(512-4)),A(004) OP-2 + SPACE 2 +* Op-2 - length=0 +PAD4T2 DS 0F + DC X'42' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'40' Pad Byte + DC X'40' First-Operand SS last byte + DC X'40' Second-Operand SS last byte +* Source + DC A(COP1B),A(4) Op-1 SS & length + DC A(COP2B),A(000) OP-2 SS & length +* Target + DC A(9*MB+(2*K32)),A(512) Op-1 & length + DC A(10*MB+(2*K32)),A(0) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(9*MB+(2*K32)+(512-4)),A(004) OP-1 + DC A(10*MB+(2*K32)),A(000) OP-2 + EJECT +*********************************************************************** +* tests for Special Cases Optimizations +*********************************************************************** + SPACE 2 +* tests for Special Cases Optimizations + SPACE +SC5T1 DS 0F + DC X'51' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1C),A(032) Op-1 SS & length + DC A(COP2C),A(032) OP-2 SS & length +* Target + DC A(9*MB+(7*K32)-96),A(512) Op-1 & length + DC A(10*MB+(7*K32)-128),A(512) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(9*MB+(7*K32)+(512-32)-96-3),A(032+3) OP-1 + DC A(10*MB+(7*K32)+(512-32)-128-3),A(032+3) OP-2 + SPACE +SC5T2 DS 0F + DC X'52' Test Num + DC XL3'00' +* + DC AL1(7) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1C),A(027) Op-1 SS & length + DC A(COP2C),A(027) OP-2 SS & length +* Target + DC A(9*MB+(8*K32)-96),A(512) Op-1 & length + DC A(10*MB+(8*K32)-128),A(512) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(9*MB+(8*K32)+(512-27)-96-3),A(027+3) OP-1 + DC A(10*MB+(8*K32)+(512-27)-128-3),A(027+3) OP-2 + SPACE +SC5T3 DS 0F + DC X'53' Test Num + DC XL3'00' +* + DC AL1(1) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1B),A(027) Op-1 SS & length + DC A(COP2B),A(027) OP-2 SS & length +* Target + DC A(9*MB+(9*K32)-96),A(512) Op-1 & length + DC A(10*MB+(9*K32)-128),A(512) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(9*MB+(9*K32)+(512-27)-96),A(027) OP-1 + DC A(10*MB+(9*K32)+(512-27)-128),A(027) OP-2 + SPACE +SC5T4 DS 0F + DC X'54' Test Num + DC XL3'00' +* + DC AL1(3) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1D),A(027) Op-1 SS & length + DC A(COP2D),A(027) OP-2 SS & length +* Target + DC A(9*MB+(10*K32)-96),A(512) Op-1 & length + DC A(10*MB+(10*K32)-128),A(512) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(9*MB+(10*K32)+(512-27)-96),A(27) OP-1 + DC A(10*MB+(10*K32)+(512-27)-128),A(27) OP-2 + SPACE +* subtring starts on a page boundary + SPACE +SC5T5 DS 0F + DC X'55' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'00' Pad Byte + DC X'CC' First-Operand SS last byte + DC X'CC' Second-Operand SS last byte +* Source + DC A(COP1A),A(004) Op-1 SS & length + DC A(COP2A),A(004) OP-2 SS & length +* Target + DC A(9*MB+(11*K32)-4),A(8) Op-1 & length + DC A(10*MB+(11*K32)-4),A(8) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(9*MB+(11*K32)-4+(8-4)),A(004) OP-1 + DC A(10*MB+(11*K32)-4+(8-4)),A(004) OP-2 + SPACE +* subtring starts on a byte before page boundary + SPACE +SC5T6 DS 0F + DC X'56' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'00' Pad Byte + DC X'CC' First-Operand SS last byte + DC X'CC' Second-Operand SS last byte +* Source + DC A(COP1A),A(004) Op-1 SS & length + DC A(COP2A),A(004) OP-2 SS & length +* Target + DC A(9*MB+(12*K32)-5),A(8) Op-1 & length + DC A(10*MB+(12*K32)-5),A(8) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(9*MB+(12*K32)-5+(8-4)),A(004) OP-1 + DC A(10*MB+(12*K32)-5+(8-4)),A(004) OP-2 + SPACE +* subtring starts on a byte after page boundary + SPACE +SC5T7 DS 0F + DC X'57' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'00' Pad Byte + DC X'CC' First-Operand SS last byte + DC X'CC' Second-Operand SS last byte +* Source + DC A(COP1A),A(004) Op-1 SS & length + DC A(COP2A),A(004) OP-2 SS & length +* Target + DC A(9*MB+(13*K32)-3),A(8) Op-1 & length + DC A(10*MB+(13*K32)-3),A(8) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(9*MB+(13*K32)-3+(8-4)),A(004) OP-1 + DC A(10*MB+(13*K32)-3+(8-4)),A(004) OP-2 + SPACE +* Strings with multiple equal bytes +* subtring starts on a page boundary + SPACE +SC5T8 DS 0F + DC X'58' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'00' Pad Byte + DC X'CC' First-Operand SS last byte + DC X'CC' Second-Operand SS last byte +* Source + DC A(COP1C),A(004) Op-1 SS & length + DC A(COP2C),A(004) OP-2 SS & length +* Target + DC A(9*MB+(14*K32)-4),A(8) Op-1 & length + DC A(10*MB+(14*K32)-4),A(8) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(9*MB+(14*K32)-4+(8-7)),A(007) OP-1 + DC A(10*MB+(14*K32)-4+(8-7)),A(007) OP-2 + SPACE +* subtring starts on a byte before page boundary + SPACE +SC5T9 DS 0F + DC X'59' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'00' Pad Byte + DC X'CC' First-Operand SS last byte + DC X'CC' Second-Operand SS last byte +* Source + DC A(COP1C),A(004) Op-1 SS & length + DC A(COP2C),A(004) OP-2 SS & length +* Target + DC A(9*MB+(15*K32)-5),A(8) Op-1 & length + DC A(10*MB+(15*K32)-5),A(8) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(9*MB+(15*K32)-5+(8-7)),A(007) OP-1 + DC A(10*MB+(15*K32)-5+(8-7)),A(007) OP-2 + SPACE +* subtring starts on a byte after page boundary + SPACE +SC5TA DS 0F + DC X'5A' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'00' Pad Byte + DC X'CC' First-Operand SS last byte + DC X'CC' Second-Operand SS last byte +* Source + DC A(COP1C),A(004) Op-1 SS & length + DC A(COP2C),A(004) OP-2 SS & length +* Target + DC A(9*MB+(16*K32)-3),A(8) Op-1 & length + DC A(10*MB+(16*K32)-3),A(8) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(9*MB+(16*K32)-3+(8-7)),A(007) OP-1 + DC A(10*MB+(16*K32)-3+(8-7)),A(007) OP-2 + SPACE +* Strings with multiple equal bytes +* subtring starts on a page boundary + SPACE +SC5TB DS 0F + DC X'5B' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'00' Pad Byte + DC X'CC' First-Operand SS last byte + DC X'CC' Second-Operand SS last byte +* Source + DC A(COP1D),A(004) Op-1 SS & length + DC A(COP2D),A(004) OP-2 SS & length +* Target + DC A(9*MB+(17*K32)-4),A(8) Op-1 & length + DC A(10*MB+(17*K32)-4),A(8) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(9*MB+(17*K32)-4+(8-4)),A(004) OP-1 + DC A(10*MB+(17*K32)-4+(8-4)),A(004) OP-2 + SPACE +* subtring starts on a byte before page boundary + SPACE +SC5TC DS 0F + DC X'5C' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'00' Pad Byte + DC X'CC' First-Operand SS last byte + DC X'CC' Second-Operand SS last byte +* Source + DC A(COP1D),A(004) Op-1 SS & length + DC A(COP2D),A(004) OP-2 SS & length +* Target + DC A(9*MB+(18*K32)-5),A(8) Op-1 & length + DC A(10*MB+(18*K32)-5),A(8) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(9*MB+(18*K32)-5+(8-4)),A(004) OP-1 + DC A(10*MB+(18*K32)-5+(8-4)),A(004) OP-2 + SPACE +* subtring starts on a byte after page boundary + SPACE +SC5TD DS 0F + DC X'5D' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'00' Pad Byte + DC X'CC' First-Operand SS last byte + DC X'CC' Second-Operand SS last byte +* Source + DC A(COP1D),A(004) Op-1 SS & length + DC A(COP2D),A(004) OP-2 SS & length +* Target + DC A(9*MB+(19*K32)-3),A(8) Op-1 & length + DC A(10*MB+(19*K32)-3),A(8) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(9*MB+(19*K32)-3+(8-4)),A(004) OP-1 + DC A(10*MB+(19*K32)-3+(8-4)),A(004) OP-2 + + EJECT +*********************************************************************** +* potential tests for CUSE-02-performance +*********************************************************************** + SPACE +* Cross page bounday - operand-1 and operand-2 + SPACE +PTE1 DS 0F + DC X'E1' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'00' Pad Byte + DC X'EE' First-Operand SS last byte + DC X'EE' Second-Operand SS last byte +* Source + DC A(COP1A),A(004) Op-1 SS & length + DC A(COP2A),A(004) OP-2 SS & length +* Target + DC A(11*MB+(1*K32)-63),A(512) Op-1 & length + DC A(12*MB+(1*K32)-56),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(11*MB+(1*K32)-63+(512-4)),A(004) OP-1 + DC A(12*MB+(1*K32)-56+(512-4)),A(004) OP-2 + SPACE +PTE2 DS 0F + DC X'E2' Test Num + DC XL3'00' +* + DC AL1(8) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(008) Op-1 SS & length + DC A(COP2A),A(008) OP-2 SS & length +* Target + DC A(11*MB+(2*K32)-96),A(512) Op-1 & length + DC A(12*MB+(2*K32)-128),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(11*MB+(2*K32)+(512-8)-96),A(008) OP-1 + DC A(12*MB+(2*K32)+(512-8)-128),A(008) OP-2 + SPACE 2 +PTE3 DS 0F + DC X'E3' Test Num + DC XL3'00' +* + DC AL1(16) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(016) Op-1 SS & length + DC A(COP2A),A(016) OP-2 SS & length +* Target + DC A(11*MB+(3*K32)-96),A(512) Op-1 & length + DC A(12*MB+(3*K32)-128),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(11*MB+(3*K32)+(512-16)-96),A(016) OP-1 + DC A(12*MB+(3*K32)+(512-16)-128),A(016) OP-2 + SPACE 2 +PTE4 DS 0F + DC X'E4' Test Num + DC XL3'00' +* + DC AL1(32) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(032) Op-1 SS & length + DC A(COP2A),A(032) OP-2 SS & length +* Target + DC A(11*MB+(4*K32)-96),A(512) Op-1 & length + DC A(12*MB+(4*K32)-128),A(512) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(11*MB+(4*K32)+(512-32)-96),A(032) OP-1 + DC A(12*MB+(4*K32)+(512-32)-128),A(032) OP-2 + SPACE 2 +PTE5 DS 0F + DC X'E5' Test Num + DC XL3'00' +* + DC AL1(64) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(064) Op-1 SS & length + DC A(COP2A),A(064) OP-2 SS & length +* Target + DC A(11*MB+(5*K32)-96),A(512) Op-1 & length + DC A(12*MB+(5*K32)-128),A(512) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(11*MB+(5*K32)+(512-64)-96),A(064) OP-1 + DC A(12*MB+(5*K32)+(512-64)-128),A(064) OP-2 + SPACE 2 +PTE6 DS 0F + DC X'E6' Test Num + DC XL3'00' +* + DC AL1(1) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(032) Op-1 SS & length + DC A(COP2A),A(032) OP-2 SS & length +* Target + DC A(11*MB+(6*K32)-96),A(512) Op-1 & length + DC A(12*MB+(6*K32)-128),A(512) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(11*MB+(6*K32)+(512-32)-96),A(032) OP-1 + DC A(12*MB+(6*K32)+(512-32)-128),A(032) OP-2 + SPACE 2 +PTE7 DS 0F + DC X'E7' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1C),A(032) Op-1 SS & length + DC A(COP2C),A(032) OP-2 SS & length +* Target + DC A(11*MB+(7*K32)-96),A(512) Op-1 & length + DC A(12*MB+(7*K32)-128),A(512) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(11*MB+(7*K32)+(512-32)-96-3),A(032+3) OP-1 + DC A(12*MB+(7*K32)+(512-32)-128-3),A(032+3) OP-2 + EJECT +*********************************************************************** +* potential tests for CUSE-02-performance +*********************************************************************** + SPACE +PTF1 DS 0F + DC X'F1' Test Num + DC XL3'00' +* + DC AL1(62) SS Length + DC X'00' Pad Byte + DC X'EE' First-Operand SS last byte + DC X'EE' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(13*MB+(1*K32)),A(512) Op-1 & length + DC A(14*MB+(1*K32)),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(13*MB+(1*K32)+(512-62)),A(062) OP-1 + DC A(14*MB+(1*K32)+(512-62)),A(062) OP-2 + SPACE +* Cross page bounday - operand-1 and operand-2 + SPACE +PTF2 DS 0F + DC X'F2' Test Num + DC XL3'00' +* + DC AL1(32) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(032) Op-1 SS & length + DC A(COP2A),A(032) OP-2 SS & length +* Target + DC A(13*MB+(2*K32)-96),A(512) Op-1 & length + DC A(14*MB+(2*K32)-128),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(13*MB+(2*K32)+(512-32)-96),A(032) OP-1 + DC A(14*MB+(2*K32)+(512-32)-128),A(032) OP-2 + SPACE 2 +PTF3 DS 0F + DC X'F3' Test Num + DC XL3'00' +* + DC AL1(62) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(062) Op-1 SS & length + DC A(COP2A),A(062) OP-2 SS & length +* Target + DC A(13*MB+(3*K32)-96),A(2048) Op-1 & length + DC A(14*MB+(3*K32)-128),A(2048) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(13*MB+(3*K32)+(2048-62)-96),A(062) OP-1 + DC A(14*MB+(3*K32)+(2048-62)-128),A(062) OP-2 + SPACE 2 +PTF4 DS 0F + DC X'F4' Test Num + DC XL3'00' +* + DC AL1(32) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(032) Op-1 SS & length + DC A(COP2A),A(032) OP-2 SS & length +* Target + DC A(13*MB+(4*K32)-96),A(4096-128) Op-1 & length + DC A(14*MB+(4*K32)-128),A(4096-128) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(13*MB+(4*K32)+(4096-128-32)-96),A(032) OP-1 + DC A(14*MB+(4*K32)+(4096-128-32)-128),A(032) OP-2 + SPACE 3 + DC A(0) end of table + DC A(0) end of table + EJECT +*********************************************************************** +* CUSE Operand-1 scan data... +*********************************************************************** + SPACE + DS 0F + DC 2048XL4'98765432' +COP1A DC 256XL4'111111F0' + SPACE + DS 0F + DC 2048XL4'98765432' +COP1B DC 256XL4'40404040' + SPACE + DS 0F + DC 2048XL4'11223344' +COP1C DC 256XL4'40404040' + SPACE + DS 0F + DC 2048XL4'11223344' +COP1D DC 256XL4'40404040' + SPACE 4 +*********************************************************************** +* CUSE Operand-2 scan data +*********************************************************************** + SPACE + DS 0F + DC 2048XL4'89ABCDEF' +COP2A DC 256XL4'111111F0' + SPACE + DS 0F + DC 2048XL4'89ABCDEF' +COP2B DC 256XL4'40404040' + SPACE + DS 0F + DC 2048XL4'FF1223344' +COP2C DC 256XL4'40404040' + SPACE + DS 0F + DC 2048XL4'FF223377' +COP2D DC 256XL4'40404040' + SPACE 4 +*********************************************************************** +* Register equates +*********************************************************************** + SPACE 2 +R0 EQU 0 +R1 EQU 1 +R2 EQU 2 +R3 EQU 3 +R4 EQU 4 +R5 EQU 5 +R6 EQU 6 +R7 EQU 7 +R8 EQU 8 +R9 EQU 9 +R10 EQU 10 +R11 EQU 11 +R12 EQU 12 +R13 EQU 13 +R14 EQU 14 +R15 EQU 15 + SPACE 2 + END diff --git a/tests/CUSE-01-basic.core b/tests/CUSE-01-basic.core new file mode 100644 index 0000000000000000000000000000000000000000..3cfab1aa56e87b92dd404e94f3a44a0250104492 GIT binary patch literal 79884 zcmeI4TWl2P701t*W!D7^YwoRSVr)ZFnzmtaAXO`~YXg?@#2q(DrN!K&K9K~KJha+b zFIAeSINW01TyagJNXEQGN?L*G0}qJ=NR|4M$k5wMl{hUAmDI`&w7=|e65 z2hIHFoA3M2`R2^;%x z=Hlv}r;BTP28;Dg7oQ(2F6tR7u35Yx-F#n~rI_x?7n^%_7TeIDZMuy9<>+r){9HPJ zU-DASp!MYILz3!}VyY`!oIkLxxcap8MZ*WAZQD@gH{IFFPX^vCK83i^iVdi+_fOYh z?+3bvF`C(zSGM4$WTPp8+9==ldBE!R# zJJ$1+;|t%z@lib<+4{~qBF`=g%{xJ}F`DRZb`{CUlw`Q#J#Hn_JzmZC#stF*YPcd6vi zYQQnm`Dk>=XP>#Z!@V7{G)51usKwR19mOG&x(i-C8%xD}vI?cOWhr`o49#_4~qcG>T$jg3GJ#zEHRuYoBzh$4RO@t;krfss@7W;kCFqEtgbdBV8jqG*I;K*#V4OsgSi+z$W^DSc|BL1L04i#oK%CG(4jTh<*MFIUV~jhSD`DP zRD+wm2D)O5Kz#Fh4R(dNt8p-&RD^lDtpxf=r}=Dfw? zc1X9y%{@MocT0>O^=e$d-YpgvUW=PsixH?nl+%DC-KfFO-CKJP?vBxeDfYUWw-3j#^aj<(FKTeiy|wq?9vy@! z9&%Oho-k!O6jUFfsKNcy;_mSpI22<9;+wau4V*8;eGy!;^Ary!do6xj~ov1H()nk$mgfk;65D$o{p$myaw54e2E+h z@xP6pWN#ciM^w!NZy)xt94S9ic?xT?S8D+tWTF~(e{@z`ax}#K4t5j0`(yN|*RNai zyg$T~qv5*0JEK?Q;{3-jU}DY(A{@hV4Clo1J*5oR$+= z^T??sc8>3xH{qRfLh}pHDUYvdIq}9r8-6OpFQAda1KN2;%Rbkoq(8EYOZX~X*r9paw3n(C3`-c8XFcwv zNpa7Xe}Umma;dCU-Lw~*dFH*Ob4A?tpl3bqrAcwmMZtSHGOs=!62Ie|D`{Tp<+7_@ z+PN5qF#K{*JRoQAj{g%~@Vc5;zmupp=z*EM=S%-K?-f_|o{u9NekEv6)ob@C<#|rY z`SCF4E3W1p*YjoMO3)w8EJgE$EBZ(C?vBy`JA|lkz;^dA=4@!3_6ziuXb(=B<7YMIHHjf2efJIKElBQ?0?F@~>_9&GK(mA7WE)OxkA^yjaa!FGJ4c z%_@@_xgHJJ@LSQVs(-*HTk~e!o0aQc3%5#fHSYCtzYV`tKCb#lY?^D{X7@JBb&q?i z8aFM&QEbCUqN3`bu*uiFdH3dJ*yD~=O@9e_5R-V&y%A;|ArBXxw`9f z9<9zfBlmpH55k=P4sS;-SGCV(_jJy<-4ArmP>p-fDDiUGC&5% z02v?yWPl8i0Wv@a$N(8217u)!Gk~9>k8x!V$iUoWfY0yQ{ru+rfDDiUWdMKPi3>Bp49w9CG`4Ko z#+5lB17v^fDDiUGC&5%02v?yWPl8i0WvVV z8JMF#d*Ed=1Iz$2z~}euetz@*@&1tkGC&5%02v?yWPl8i0Wv@a$N(8217v^fDDiUGC&5%02v?yWPl8i0Wv@a$iVDops}%Wj4N|M2IeLMe16aF=Qr;k z?;jZ;17v^fDDiUGC&5%02v?yWPl7P19SH; zpYY0=0cPL}{0%U!%mEo717v^fDDiUGC&5% z02v?yWPl8if!WOfe*wV^FavWp1LG~5PI6@q$N(8217v^fDDiUGC&5%02v?yWPl9JZU*M=FCTd2%m6d+AEC*#;s5{u literal 0 HcmV?d00001 diff --git a/tests/CUSE-01-basic.list b/tests/CUSE-01-basic.list new file mode 100644 index 000000000..60a8dcd3f --- /dev/null +++ b/tests/CUSE-01-basic.list @@ -0,0 +1,2510 @@ +ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 1 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 2 *********************************************************************** + 3 * + 4 * CUSE basic instruction tests + 5 * + 6 *********************************************************************** + 7 * + 8 * This program tests proper functioning of the CUSE instruction. + 9 * Specification Exceptions are not tested. + 10 * + 11 * PLEASE NOTE that the tests are very SIMPLE TESTS designed to catch + 12 * obvious coding errors. None of the tests are thorough. They are + 13 * NOT designed to test all aspects of the instruction. + 14 * + 15 * NOTE: This test is based on the CLCL-et-al Test but modified to + 16 * only test the CUSE instruction. -- James Wekel November 2022 + 17 * + 18 *********************************************************************** + 19 * + 20 * Example Hercules Testcase: + 21 * + 22 * + 23 * *Testcase CUSE-01-basic (Test CUSE instructions) + 24 * + 25 * # ------------------------------------------------------------ + 26 * # This tests only the basic function of the CUSE instruction. + 27 * # Specification Exceptions are NOT tested. + 28 * # ------------------------------------------------------------ + 29 * + 30 * mainsize 16 + 31 * numcpu 1 + 32 * sysclear + 33 * archlvl z/Arch + 34 * loadcore "$(testpath)/CUSE-01-basic.core" 0x0 + 35 * runtest 1 + 36 * *Done + 37 * + 38 * + 39 *********************************************************************** + + + 00000000 0001380B 41 CUSE1TST START 0 +00000000 00000000 42 USING CUSE1TST,R0 Low core addressability + + +00000000 00000000 000001A0 44 ORG CUSE1TST+X'1A0' z/Architecure RESTART PSW +000001A0 00000001 80000000 45 DC X'0000000180000000' +000001A8 00000000 00000200 46 DC AD(BEGIN) + + +000001B0 000001B0 000001D0 48 ORG CUSE1TST+X'1D0' z/Architecure PROGRAM CHECK PSW +000001D0 00020001 80000000 49 DC X'0002000180000000' +000001D8 00000000 0000DEAD 50 DC AD(X'DEAD') + + + +000001E0 000001E0 00000200 52 ORG CUSE1TST+X'200' Start of actual test program... + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 2 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 54 *********************************************************************** + 55 * The actual "CUSE1TST" program itself... + 56 *********************************************************************** + 57 * + 58 * Architecture Mode: z/Arch + 59 * Register Usage: + 60 * + 61 * R0 CUSE - SS length + 62 * R1 CUSE - Pad byte + 63 * R2 CUSE - First-Operand Address + 64 * R3 CUSE - First-Operand Length + 65 * R4 CUSE - Second-Operand Address + 66 * R5 CUSE - Second-Operand Length + 67 * R6 Testing control table - base current entry + 68 * R7 (work) + 69 * R8 First base register + 70 * R9 Second base register + 71 * R10-R13 (work) + 72 * R14 Subroutine call + 73 * R15 Secondary Subroutine call or work + 74 * + 75 *********************************************************************** + +00000200 00000200 77 USING BEGIN,R8 FIRST Base Register +00000200 00001200 78 USING BEGIN+4096,R9 SECOND Base Register + +00000200 0580 80 BEGIN BALR R8,0 Initalize FIRST base register +00000202 0680 81 BCTR R8,0 Initalize FIRST base register +00000204 0680 82 BCTR R8,0 Initalize FIRST base register + +00000206 4190 8800 00000800 84 LA R9,2048(,R8) Initalize SECOND base register +0000020A 4190 9800 00000800 85 LA R9,2048(,R9) Initalize SECOND base register + + + 87 *********************************************************************** + 88 * Run the test(s)... + 89 *********************************************************************** + +0000020E 45E0 8302 00000502 91 BAL R14,TEST01 Test CUSE instruction + + + 93 *********************************************************************** + 94 * Test for normal or unexpected test completion... + 95 *********************************************************************** + +00000212 95F4 8200 00000400 97 CLI TESTNUM,X'F4' Did we end on expected test? +00000216 4770 83F0 000005F0 98 BNE FAILTEST No?! Then FAIL the test! + +0000021A 9504 8201 00000401 100 CLI SUBTEST,X'04' Did we end on expected SUB-test? +0000021E 4770 83F0 000005F0 101 BNE FAILTEST No?! Then FAIL the test! + +00000222 47F0 83D8 000005D8 103 B EOJ Yes, then normal completion! + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 3 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 105 *********************************************************************** + 106 * Fixed test storage locations ... + 107 *********************************************************************** + + +00000226 00000226 00000400 109 ORG CUSE1TST+X'400' + + + + +00000400 111 TESTADDR DS 0D Where test/subtest numbers will go +00000400 99 112 TESTNUM DC X'99' Test number of active test +00000401 99 113 SUBTEST DC X'99' Active test sub-test number + + + + +00000402 00000402 00000502 115 ORG *+X'100' + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 4 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 117 *********************************************************************** + 118 * TEST01 Test CUSE instruction + 119 *********************************************************************** + +00000502 9201 8200 00000400 121 TEST01 MVI TESTNUM,X'01' + +00000506 4160 83F8 000005F8 123 LA R6,CUSECTL Point R6 --> testing control table +0000050A 00000000 124 USING CUSETEST,R6 What each table entry looks like + + 0000050A 00000001 126 TST1LOOP EQU * +0000050A 43A0 6000 00000000 127 IC R10,TNUM Set test number +0000050E 42A0 8200 00000400 128 STC R10,TESTNUM + 129 * + 130 ** Initialize operand data (move data to testing address) + 131 * + 132 * Build Operand-1 + +00000512 5820 6018 00000018 134 L R2,OP1WHERE Where to move operand-1 data to +00000516 5830 601C 0000001C 135 L R3,OP1LEN Get operand-1 length +0000051A 58A0 6008 00000008 136 L R10,SS1ADDR Calculate OP 1 starting +0000051E 1BA3 137 SR R10,R3 address +00000520 5AA0 600C 0000000C 138 A R10,SS1LEN +00000524 58B0 601C 0000001C 139 L R11,OP1LEN +00000528 0E2A 140 MVCL R2,R10 + +0000052A 0620 142 BCTR R2,0 less one for last char addr +0000052C D200 2000 6006 00000000 00000006 143 MVC 0(0,R2),SS1LAST set last char + + 145 * Build Operand-2 + +00000532 5840 6020 00000020 147 L R4,OP2WHERE Where to move operand-1 data to +00000536 5850 6024 00000024 148 L R5,OP2LEN Get operand-1 length +0000053A 58A0 6010 00000010 149 L R10,SS2ADDR Calculate OP 2 starting +0000053E 1BA5 150 SR R10,R5 address +00000540 5AA0 6014 00000014 151 A R10,SS2LEN +00000544 58B0 6024 00000024 152 L R11,OP2LEN +00000548 0E4A 153 MVCL R4,R10 + +0000054A 0640 155 BCTR R4,0 less one for last char addr +0000054C D200 4000 6007 00000000 00000007 156 MVC 0(0,R4),SS2LAST set last char + + + 158 ** Execute CUSE instruction and check for expected condition code + +00000552 58B0 6028 00000028 160 L R11,FAILMASK (failure CC) +00000556 89B0 0004 00000004 161 SLL R11,4 (shift to BC instr CC position) + +0000055A 4300 6004 00000004 163 IC R0,SSLEN Set SS length +0000055E 4310 6005 00000005 164 IC R1,PAD Set SS Pad byte + +00000562 9825 6018 00000018 166 LM R2,R5,OPSWHERE + +00000566 9200 8201 00000401 168 MVI SUBTEST,X'00' (primary test) +0000056A B257 0024 169 DOAGAIN CUSE R2,R4 Do Test + +0000056E 44B0 83BE 000005BE 171 EX R11,CUSEBC fail if... + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 5 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +00000572 4710 836A 0000056A 172 BC B'0001',DOAGAIN cc=3, not finished + + + 174 * + 175 ** Verify R2,R3,R4,R5 contain (or still contain!) expected values + 176 * +00000576 98AB 602C 0000002C 177 LM R10,R11,ENDOP1 end OP-1 address and length + +0000057A 9201 8201 00000401 179 MVI SUBTEST,X'01' (R2 result - op1 found addr) +0000057E 152A 180 CLR R2,R10 R2 correct? +00000580 4770 83B8 000005B8 181 BNE CUSEFAIL No, FAILTEST! + +00000584 9202 8201 00000401 183 MVI SUBTEST,X'02' (R3 result - op1 remaining len) +00000588 153B 184 CLR R3,R11 R3 correct +0000058A 4770 83B8 000005B8 185 BNE CUSEFAIL No, FAILTEST! + +0000058E 98AB 6034 00000034 187 LM R10,R11,ENDOP2 end OP-2 address and length + +00000592 9203 8201 00000401 189 MVI SUBTEST,X'03' (R4 result - op2 found addr) +00000596 154A 190 CLR R4,R10 R4 correct +00000598 4770 83B8 000005B8 191 BNE CUSEFAIL No, FAILTEST! + +0000059C 9204 8201 00000401 193 MVI SUBTEST,X'04' (R3 result - op2 remaining len) +000005A0 155B 194 CLR R5,R11 R5 correct +000005A2 4770 83B8 000005B8 195 BNE CUSEFAIL No, FAILTEST! + +000005A6 4160 603C 0000003C 197 LA R6,CUSENEXT Go on to next table entry +000005AA D503 83F4 6000 000005F4 00000000 198 CLC =F'0',0(R6) End of table? +000005B0 4770 830A 0000050A 199 BNE TST1LOOP No, loop... +000005B4 47F0 83BC 000005BC 200 B CUSEDONE Done! (success!) + + +000005B8 41E0 83F0 000005F0 202 CUSEFAIL LA R14,FAILTEST Unexpected results! +000005BC 07FE 203 CUSEDONE BR R14 Return to caller or FAILTEST + + +000005BE 4700 83B8 000005B8 205 CUSEBC BC 0,CUSEFAIL (fail if unexpected condition code) + + +000005C2 207 DROP R6 +000005C2 208 DROP R15 +000005C2 00000200 209 USING BEGIN,R8 + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 6 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 211 *********************************************************************** + 212 * Normal completion or Abnormal termination PSWs + 213 *********************************************************************** + + + + + +000005C8 00020001 80000000 215 EOJPSW DC 0D'0',X'0002000180000000',AD(0) + +000005D8 B2B2 83C8 000005C8 217 EOJ LPSWE EOJPSW Normal completion + + + + + +000005E0 00020001 80000000 219 FAILPSW DC 0D'0',X'0002000180000000',AD(X'BAD') + +000005F0 B2B2 83E0 000005E0 221 FAILTEST LPSWE FAILPSW Abnormal termination + + + + + + + + 223 *********************************************************************** + 224 * Working Storage + 225 *********************************************************************** + + +000005F4 227 LTORG , Literals pool +000005F4 00000000 228 =F'0' + + + + 00000400 00000001 230 K EQU 1024 One KB + 00001000 00000001 231 PAGE EQU (4*K) Size of one page + 00001000 00000001 232 K4 EQU (4*K) 4 KB + 00008000 00000001 233 K32 EQU (32*K) 32 KB + 00010000 00000001 234 K64 EQU (64*K) 64 KB + 00100000 00000001 235 MB EQU (K*K) 1 MB + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 7 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 00000000 0001380B 237 CUSE1TST CSECT , + + + 239 *********************************************************************** + 240 * CUSETEST DSECT + 241 *********************************************************************** + + + 243 CUSETEST DSECT , +00000000 00 244 TNUM DC X'00' CUSE table number +00000001 000000 245 DC XL3'00' + + +00000004 00 247 SSLEN DC AL1(0) CUSE - SS length +00000005 00 248 PAD DC X'00' CUSE - Pad byte +00000006 00 249 SS1LAST DC X'00' First-Operand SS last byte +00000007 00 250 SS2LAST DC X'00' Second-Operand SS last byte + + +00000008 00000000 252 SS1ADDR DC A(0) First-Operand SS Address +0000000C 00000000 253 SS1LEN DC A(0) First-Operand SS length +00000010 00000000 254 SS2ADDR DC A(0) Second-Operand SS Address +00000014 00000000 255 SS2LEN DC A(0) Second-Operand SS length + + + 00000018 00000001 257 OPSWHERE EQU * +00000018 00000000 258 OP1WHERE DC A(0) Where Operand-1 data should be placed +0000001C 00000000 259 OP1LEN DC F'0' CUSE - First-Operand Length +00000020 00000000 260 OP2WHERE DC A(0) Where Operand-2 data should be placed +00000024 00000000 261 OP2LEN DC F'0' CUSE - Second-Operand Length + 262 + + +00000028 00000000 264 FAILMASK DC A(0) Failure Branch on Condition mask + + + 266 * Ending register values +0000002C 00000000 267 ENDOP1 DC A(0) Operand 1 address +00000030 00000000 268 DC A(0) Operand 1 length +00000034 00000000 269 ENDOP2 DC A(0) Operand 2 address +00000038 00000000 270 DC A(0) Operand 2 length + + + 0000003C 00000001 272 CUSENEXT EQU * Start of next table entry... + + + + + + AABBCCDD 00000001 274 REG2PATT EQU X'AABBCCDD' Polluted Register pattern + 000000DD 00000001 275 REG2LOW EQU X'DD' (last byte above) + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 8 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 277 *********************************************************************** + 278 * CUSE Testing Control tables (ref: CUSETEST DSECT) + 279 *********************************************************************** + + 00000000 0001380B 281 CUSE1TST CSECT , +000005F8 282 CUSECTL DC 0A(0) start of table + + 284 *********************************************************************** + 285 * tests with CC=0 + 286 *********************************************************************** + +000005F8 288 CC0T1 DS 0F +000005F8 01 289 DC X'01' Test Num +000005F9 000000 290 DC XL3'00' + 291 * +000005FC 01 292 DC AL1(1) SS Length +000005FD 00 293 DC X'00' Pad Byte +000005FE AA 294 DC X'AA' First-Operand SS last byte +000005FF AA 295 DC X'AA' Second-Operand SS last byte + 296 * Source +00000600 0000380C 00000001 297 DC A(COP1A),A(001) Op-1 SS & length +00000608 0000C80C 00000001 298 DC A(COP2A),A(001) OP-2 SS & length + 299 * Target +00000610 00108000 00000001 300 DC A(1*MB+(1*K32)),A(1) Op-1 & length +00000618 00208000 00000001 301 DC A(2*MB+(1*K32)),A(1) Op-2 & length + 302 * +00000620 00000007 303 DC A(7) CC0 Fail mask + 304 * Ending register values +00000624 00108000 00000001 305 DC A(1*MB+(1*K32)+000),A(001) OP-1 +0000062C 00208000 00000001 306 DC A(2*MB+(1*K32)+000),A(001) OP-2 + + +00000634 308 CC0T2 DS 0F +00000634 02 309 DC X'02' Test Num +00000635 000000 310 DC XL3'00' + 311 * +00000638 01 312 DC AL1(1) SS Length +00000639 00 313 DC X'00' Pad Byte +0000063A BB 314 DC X'BB' First-Operand SS last byte +0000063B BB 315 DC X'BB' Second-Operand SS last byte + 316 * Source +0000063C 0000380C 00000001 317 DC A(COP1A),A(001) Op-1 SS & length +00000644 0000C80C 00000001 318 DC A(COP2A),A(001) OP-2 SS & length + 319 * Target +0000064C 00110000 00000002 320 DC A(1*MB+(2*K32)),A(2) Op-1 & length +00000654 00210000 00000002 321 DC A(2*MB+(2*K32)),A(2) Op-2 & length + 322 * +0000065C 00000007 323 DC A(7) CC0 Fail mask + 324 * Ending register values +00000660 00110001 00000001 325 DC A(1*MB+(2*K32)+001),A(001) OP-1 +00000668 00210001 00000001 326 DC A(2*MB+(2*K32)+001),A(001) OP-2 + + +00000670 328 CC0T3 DS 0F +00000670 03 329 DC X'03' Test Num +00000671 000000 330 DC XL3'00' + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 9 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 331 * +00000674 04 332 DC AL1(4) SS Length +00000675 00 333 DC X'00' Pad Byte +00000676 CC 334 DC X'CC' First-Operand SS last byte +00000677 CC 335 DC X'CC' Second-Operand SS last byte + 336 * Source +00000678 0000380C 00000004 337 DC A(COP1A),A(004) Op-1 SS & length +00000680 0000C80C 00000004 338 DC A(COP2A),A(004) OP-2 SS & length + 339 * Target +00000688 00118000 00000008 340 DC A(1*MB+(3*K32)),A(8) Op-1 & length +00000690 00218000 00000008 341 DC A(2*MB+(3*K32)),A(8) Op-2 & length + 342 * +00000698 00000007 343 DC A(7) CC0 Fail mask + 344 * Ending register values +0000069C 00118004 00000004 345 DC A(1*MB+(3*K32)+(8-4)),A(004) OP-1 +000006A4 00218004 00000004 346 DC A(2*MB+(3*K32)+(8-4)),A(004) OP-2 + + +000006AC 348 CC0T4 DS 0F +000006AC 04 349 DC X'04' Test Num +000006AD 000000 350 DC XL3'00' + 351 * +000006B0 0D 352 DC AL1(13) SS Length +000006B1 00 353 DC X'00' Pad Byte +000006B2 DD 354 DC X'DD' First-Operand SS last byte +000006B3 DD 355 DC X'DD' Second-Operand SS last byte + 356 * Source +000006B4 0000380C 0000000D 357 DC A(COP1A),A(013) Op-1 SS & length +000006BC 0000C80C 0000000D 358 DC A(COP2A),A(013) OP-2 SS & length + 359 * Target +000006C4 00120000 0000003F 360 DC A(1*MB+(4*K32)),A(63) Op-1 & length +000006CC 00220000 0000003F 361 DC A(2*MB+(4*K32)),A(63) Op-2 & length + 362 * +000006D4 00000007 363 DC A(7) CC0 Fail mask + 364 * Ending register values +000006D8 00120032 0000000D 365 DC A(1*MB+(4*K32)+(63-13)),A(013) OP-1 +000006E0 00220032 0000000D 366 DC A(2*MB+(4*K32)+(63-13)),A(013) OP-2 + + +000006E8 368 CC0T5 DS 0F +000006E8 05 369 DC X'05' Test Num +000006E9 000000 370 DC XL3'00' + 371 * +000006EC 3E 372 DC AL1(62) SS Length +000006ED 00 373 DC X'00' Pad Byte +000006EE EE 374 DC X'EE' First-Operand SS last byte +000006EF EE 375 DC X'EE' Second-Operand SS last byte + 376 * Source +000006F0 0000380C 0000003E 377 DC A(COP1A),A(062) Op-1 SS & length +000006F8 0000C80C 0000003E 378 DC A(COP2A),A(062) OP-2 SS & length + 379 * Target +00000700 00128000 00000200 380 DC A(1*MB+(5*K32)),A(512) Op-1 & length +00000708 00228000 00000200 381 DC A(2*MB+(5*K32)),A(512) Op-2 & length + 382 * +00000710 00000007 383 DC A(7) CC0 Fail mask + 384 * Ending register values + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 10 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +00000714 001281C2 0000003E 385 DC A(1*MB+(5*K32)+(512-62)),A(062) OP-1 +0000071C 002281C2 0000003E 386 DC A(2*MB+(5*K32)+(512-62)),A(062) OP-2 + + +00000724 388 CC0T6 DS 0F +00000724 06 389 DC X'06' Test Num +00000725 000000 390 DC XL3'00' + 391 * +00000728 7F 392 DC AL1(127) SS Length +00000729 00 393 DC X'00' Pad Byte +0000072A FF 394 DC X'FF' First-Operand SS last byte +0000072B FF 395 DC X'FF' Second-Operand SS last byte + 396 * Source +0000072C 0000380C 0000007F 397 DC A(COP1A),A(127) Op-1 SS & length +00000734 0000C80C 0000007F 398 DC A(COP2A),A(127) OP-2 SS & length + 399 * Target +0000073C 00130000 00000800 400 DC A(1*MB+(6*K32)),A(2048) Op-1 & length +00000744 00230000 00000800 401 DC A(2*MB+(6*K32)),A(2048) Op-2 & length + 402 * +0000074C 00000007 403 DC A(7) CC0 Fail mask + 404 * Ending register values +00000750 00130781 0000007F 405 DC A(1*MB+(6*K32)+(2048-127)),A(127) OP-1 +00000758 00230781 0000007F 406 DC A(2*MB+(6*K32)+(2048-127)),A(127) OP-2 + + 408 * Cross page bounday tests + + 410 * Cross page bounday - operand-1 + +00000760 412 CC0T7 DS 0F +00000760 07 413 DC X'07' Test Num +00000761 000000 414 DC XL3'00' + 415 * +00000764 3E 416 DC AL1(62) SS Length +00000765 00 417 DC X'00' Pad Byte +00000766 55 418 DC X'55' First-Operand SS last byte +00000767 55 419 DC X'55' Second-Operand SS last byte + 420 * Source +00000768 0000380C 0000003E 421 DC A(COP1A),A(062) Op-1 SS & length +00000770 0000C80C 0000003E 422 DC A(COP2A),A(062) OP-2 SS & length + 423 * Target +00000778 00137F80 00000200 424 DC A(1*MB+(7*K32)-128),A(512) Op-1 & length +00000780 00238000 00000200 425 DC A(2*MB+(7*K32)),A(512) Op-2 & length + 426 * +00000788 00000007 427 DC A(7) CC0 Fail mask + 428 * Ending register values +0000078C 00138142 0000003E 429 DC A(1*MB+(7*K32)+(512-62)-128),A(062) OP-1 +00000794 002381C2 0000003E 430 DC A(2*MB+(7*K32)+(512-62)),A(062) OP-2 + + 432 * Cross page bounday - operand-2 + +0000079C 434 CC0T8 DS 0F +0000079C 08 435 DC X'08' Test Num +0000079D 000000 436 DC XL3'00' + 437 * +000007A0 3E 438 DC AL1(62) SS Length +000007A1 00 439 DC X'00' Pad Byte + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 11 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +000007A2 66 440 DC X'66' First-Operand SS last byte +000007A3 66 441 DC X'66' Second-Operand SS last byte + 442 * Source +000007A4 0000380C 0000003E 443 DC A(COP1A),A(062) Op-1 SS & length +000007AC 0000C80C 0000003E 444 DC A(COP2A),A(062) OP-2 SS & length + 445 * Target +000007B4 00140000 00000200 446 DC A(1*MB+(8*K32)),A(512) Op-1 & length +000007BC 0023FF80 00000200 447 DC A(2*MB+(8*K32)-128),A(512) Op-2 & length + 448 * +000007C4 00000007 449 DC A(7) CC0 Fail mask + 450 * Ending register values +000007C8 001401C2 0000003E 451 DC A(1*MB+(8*K32)+(512-62)),A(062) OP-1 +000007D0 00240142 0000003E 452 DC A(2*MB+(8*K32)+(512-62)-128),A(062) OP-2 + + 454 * Cross page bounday - operand-1 and operand-2 + +000007D8 456 CC0T9 DS 0F +000007D8 09 457 DC X'09' Test Num +000007D9 000000 458 DC XL3'00' + 459 * +000007DC 3E 460 DC AL1(62) SS Length +000007DD 00 461 DC X'00' Pad Byte +000007DE 77 462 DC X'77' First-Operand SS last byte +000007DF 77 463 DC X'77' Second-Operand SS last byte + 464 * Source +000007E0 0000380C 0000003E 465 DC A(COP1A),A(062) Op-1 SS & length +000007E8 0000C80C 0000003E 466 DC A(COP2A),A(062) OP-2 SS & length + 467 * Target +000007F0 00147FA0 00000200 468 DC A(1*MB+(9*K32)-96),A(512) Op-1 & length +000007F8 00247F80 00000200 469 DC A(2*MB+(9*K32)-128),A(512) Op-2 & length + 470 * +00000800 00000007 471 DC A(7) CC0 Fail mask + 472 * Ending register values +00000804 00148162 0000003E 473 DC A(1*MB+(9*K32)+(512-62)-96),A(062) OP-1 +0000080C 00248142 0000003E 474 DC A(2*MB+(9*K32)+(512-62)-128),A(062) OP-2 + + 476 * PAD tests + + 478 * Pad - operand-1 + +00000814 480 CC0TA DS 0F +00000814 0A 481 DC X'0A' Test Num +00000815 000000 482 DC XL3'00' + 483 * +00000818 3E 484 DC AL1(62) SS Length +00000819 40 485 DC X'40' Pad Byte +0000081A 40 486 DC X'40' First-Operand SS last byte +0000081B 40 487 DC X'40' Second-Operand SS last byte + 488 * Source +0000081C 00005C0C 0000003E 489 DC A(COP1B),A(062) Op-1 SS & length +00000824 0000EC0C 0000003E 490 DC A(COP2B),A(062) OP-2 SS & length + 491 * Target +0000082C 00150000 000001F4 492 DC A(1*MB+(10*K32)),A(500) Op-1 & length +00000834 00250000 00000200 493 DC A(2*MB+(10*K32)),A(512) Op-2 & length + 494 * +0000083C 00000007 495 DC A(7) CC0 Fail mask + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 12 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 496 * Ending register values +00000840 001501C2 00000032 497 DC A(1*MB+(10*K32)+(512-62)),A(062-(512-500)) OP-1 +00000848 002501C2 0000003E 498 DC A(2*MB+(10*K32)+(512-62)),A(062) OP-2 + + 500 * Pad - operand-2 + +00000850 502 CC0TB DS 0F +00000850 0B 503 DC X'0B' Test Num +00000851 000000 504 DC XL3'00' + 505 * +00000854 3E 506 DC AL1(62) SS Length +00000855 40 507 DC X'40' Pad Byte +00000856 40 508 DC X'40' First-Operand SS last byte +00000857 40 509 DC X'40' Second-Operand SS last byte + 510 * Source +00000858 00005C0C 0000003E 511 DC A(COP1B),A(062) Op-1 SS & length +00000860 0000EC0C 0000003E 512 DC A(COP2B),A(062) OP-2 SS & length + 513 * Target +00000868 00158000 00000200 514 DC A(1*MB+(11*K32)),A(512) Op-1 & length +00000870 00258000 000001F4 515 DC A(2*MB+(11*K32)),A(500) Op-2 & length + 516 * +00000878 00000007 517 DC A(7) CC0 Fail mask + 518 * Ending register values +0000087C 001581C2 0000003E 519 DC A(1*MB+(11*K32)+(512-62)),A(062) OP-1 +00000884 002581C2 00000032 520 DC A(2*MB+(11*K32)+(512-62)),A(062-(512-500)) OP-2 + + 522 * PAD and Cross page bounday tests + + 524 * Pad - operand-1 ; Cross page bounday - operand-1 + +0000088C 526 CC0TC DS 0F +0000088C 0C 527 DC X'0C' Test Num +0000088D 000000 528 DC XL3'00' + 529 * +00000890 3E 530 DC AL1(62) SS Length +00000891 40 531 DC X'40' Pad Byte +00000892 40 532 DC X'40' First-Operand SS last byte +00000893 40 533 DC X'40' Second-Operand SS last byte + 534 * Source +00000894 00005C0C 0000003E 535 DC A(COP1B),A(062) Op-1 SS & length +0000089C 0000EC0C 0000003E 536 DC A(COP2B),A(062) OP-2 SS & length + 537 * Target +000008A4 0015FFA0 000001F4 538 DC A(1*MB+(12*K32)-96),A(500) Op-1 & length +000008AC 00260000 00000200 539 DC A(2*MB+(12*K32)),A(512) Op-2 & length + 540 * +000008B4 00000007 541 DC A(7) CC0 Fail mask + 542 * Ending register values +000008B8 00160162 00000032 543 DC A(1*MB+(12*K32)+(512-62)-96),A(062-(512-500)) OP-1 +000008C0 002601C2 0000003E 544 DC A(2*MB+(12*K32)+(512-62)),A(062) OP-2 + + 546 * Pad - operand-1 ; Cross page bounday - operand-2 + +000008C8 548 CC0TD DS 0F +000008C8 0D 549 DC X'0D' Test Num +000008C9 000000 550 DC XL3'00' + 551 * + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 13 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +000008CC 3E 552 DC AL1(62) SS Length +000008CD 40 553 DC X'40' Pad Byte +000008CE 40 554 DC X'40' First-Operand SS last byte +000008CF 40 555 DC X'40' Second-Operand SS last byte + 556 * Source +000008D0 00005C0C 0000003E 557 DC A(COP1B),A(062) Op-1 SS & length +000008D8 0000EC0C 0000003E 558 DC A(COP2B),A(062) OP-2 SS & length + 559 * Target +000008E0 00168000 000001F4 560 DC A(1*MB+(13*K32)),A(500) Op-1 & length +000008E8 00267FA0 00000200 561 DC A(2*MB+(13*K32)-96),A(512) Op-2 & length + 562 * +000008F0 00000007 563 DC A(7) CC0 Fail mask + 564 * Ending register values +000008F4 001681C2 00000032 565 DC A(1*MB+(13*K32)+(512-62)),A(062-(512-500)) OP-1 +000008FC 00268162 0000003E 566 DC A(2*MB+(13*K32)+(512-62)-96),A(062) OP-2 + + 568 * Pad - operand-2 ; Cross page bounday - operand-1 + +00000904 570 CC0TE DS 0F +00000904 0E 571 DC X'0E' Test Num +00000905 000000 572 DC XL3'00' + 573 * +00000908 3E 574 DC AL1(62) SS Length +00000909 40 575 DC X'40' Pad Byte +0000090A 40 576 DC X'40' First-Operand SS last byte +0000090B 40 577 DC X'40' Second-Operand SS last byte + 578 * Source +0000090C 00005C0C 0000003E 579 DC A(COP1B),A(062) Op-1 SS & length +00000914 0000EC0C 0000003E 580 DC A(COP2B),A(062) OP-2 SS & length + 581 * Target +0000091C 0016FFA0 00000200 582 DC A(1*MB+(14*K32)-96),A(512) Op-1 & length +00000924 00270000 000001F4 583 DC A(2*MB+(14*K32)),A(500) Op-2 & length + 584 * +0000092C 00000007 585 DC A(7) CC0 Fail mask + 586 * Ending register values +00000930 00170162 0000003E 587 DC A(1*MB+(14*K32)+(512-62)-96),A(062) OP-1 +00000938 002701C2 00000032 588 DC A(2*MB+(14*K32)+(512-62)),A(062-(512-500)) OP-2 + + 590 * Pad - operand-2 ; Cross page bounday - operand-2 + +00000940 592 CC0TF DS 0F +00000940 0F 593 DC X'0F' Test Num +00000941 000000 594 DC XL3'00' + 595 * +00000944 3E 596 DC AL1(62) SS Length +00000945 40 597 DC X'40' Pad Byte +00000946 40 598 DC X'40' First-Operand SS last byte +00000947 40 599 DC X'40' Second-Operand SS last byte + 600 * Source +00000948 00005C0C 0000003E 601 DC A(COP1B),A(062) Op-1 SS & length +00000950 0000EC0C 0000003E 602 DC A(COP2B),A(062) OP-2 SS & length + 603 * Target +00000958 00178000 00000200 604 DC A(1*MB+(15*K32)),A(512) Op-1 & length +00000960 00277FA0 000001F4 605 DC A(2*MB+(15*K32)-96),A(500) Op-2 & length + 606 * +00000968 00000007 607 DC A(7) CC0 Fail mask + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 14 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 608 * Ending register values +0000096C 001781C2 0000003E 609 DC A(1*MB+(15*K32)+(512-62)),A(062) OP-1 +00000974 00278162 00000032 610 DC A(2*MB+(15*K32)+(512-62)-96),A(062-(512-500)) OP-2 + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 15 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 612 *********************************************************************** + 613 * tests with CC=1 + 614 *********************************************************************** + +0000097C 616 CC1T1 DS 0F +0000097C 11 617 DC X'11' Test Num +0000097D 000000 618 DC XL3'00' + 619 * +00000980 04 620 DC AL1(4) SS Length +00000981 11 621 DC X'11' Pad Byte +00000982 11 622 DC X'11' First-Operand SS last byte +00000983 11 623 DC X'11' Second-Operand SS last byte + 624 * Source +00000984 0000380C 00000001 625 DC A(COP1A),A(001) Op-1 SS & length +0000098C 0000C80C 00000001 626 DC A(COP2A),A(001) OP-2 SS & length + 627 * Target +00000994 00308000 00000001 628 DC A(3*MB+(1*K32)),A(1) Op-1 & length +0000099C 00408000 00000001 629 DC A(4*MB+(1*K32)),A(1) Op-2 & length + 630 * +000009A4 0000000B 631 DC A(11) CC1 Fail mask + 632 * Ending register values +000009A8 00308000 00000001 633 DC A(3*MB+(1*K32)+000),A(001) OP-1 +000009B0 00408000 00000001 634 DC A(4*MB+(1*K32)+000),A(001) OP-2 + + +000009B8 636 CC1T2 DS 0F +000009B8 12 637 DC X'12' Test Num +000009B9 000000 638 DC XL3'00' + 639 * +000009BC 02 640 DC AL1(2) SS Length +000009BD 00 641 DC X'00' Pad Byte +000009BE BB 642 DC X'BB' First-Operand SS last byte +000009BF BB 643 DC X'BB' Second-Operand SS last byte + 644 * Source +000009C0 0000380C 00000001 645 DC A(COP1A),A(001) Op-1 SS & length +000009C8 0000C80C 00000001 646 DC A(COP2A),A(001) OP-2 SS & length + 647 * Target +000009D0 00310000 00000002 648 DC A(3*MB+(2*K32)),A(2) Op-1 & length +000009D8 00410000 00000002 649 DC A(4*MB+(2*K32)),A(2) Op-2 & length + 650 * +000009E0 0000000B 651 DC A(11) CC1 Fail mask + 652 * Ending register values +000009E4 00310001 00000001 653 DC A(3*MB+(2*K32)+001),A(001) OP-1 +000009EC 00410001 00000001 654 DC A(4*MB+(2*K32)+001),A(001) OP-2 + + +000009F4 656 CC1T3 DS 0F +000009F4 13 657 DC X'13' Test Num +000009F5 000000 658 DC XL3'00' + 659 * +000009F8 06 660 DC AL1(6) SS Length +000009F9 00 661 DC X'00' Pad Byte +000009FA CC 662 DC X'CC' First-Operand SS last byte +000009FB CC 663 DC X'CC' Second-Operand SS last byte + 664 * Source +000009FC 0000380C 00000004 665 DC A(COP1A),A(004) Op-1 SS & length + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 16 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +00000A04 0000C80C 00000004 666 DC A(COP2A),A(004) OP-2 SS & length + 667 * Target +00000A0C 00318000 00000008 668 DC A(3*MB+(3*K32)),A(8) Op-1 & length +00000A14 00418000 00000008 669 DC A(4*MB+(3*K32)),A(8) Op-2 & length + 670 * +00000A1C 0000000B 671 DC A(11) CC1 Fail mask + 672 * Ending register values +00000A20 00318004 00000004 673 DC A(3*MB+(3*K32)+(8-4)),A(004) OP-1 +00000A28 00418004 00000004 674 DC A(4*MB+(3*K32)+(8-4)),A(004) OP-2 + + +00000A30 676 CC1T4 DS 0F +00000A30 14 677 DC X'14' Test Num +00000A31 000000 678 DC XL3'00' + 679 * +00000A34 12 680 DC AL1(18) SS Length +00000A35 00 681 DC X'00' Pad Byte +00000A36 DD 682 DC X'DD' First-Operand SS last byte +00000A37 DD 683 DC X'DD' Second-Operand SS last byte + 684 * Source +00000A38 0000380C 0000000D 685 DC A(COP1A),A(013) Op-1 SS & length +00000A40 0000C80C 0000000D 686 DC A(COP2A),A(013) OP-2 SS & length + 687 * Target +00000A48 00320000 0000003F 688 DC A(3*MB+(4*K32)),A(63) Op-1 & length +00000A50 00420000 0000003F 689 DC A(4*MB+(4*K32)),A(63) Op-2 & length + 690 * +00000A58 0000000B 691 DC A(11) CC1 Fail mask + 692 * Ending register values +00000A5C 00320032 0000000D 693 DC A(3*MB+(4*K32)+(63-13)),A(013) OP-1 +00000A64 00420032 0000000D 694 DC A(4*MB+(4*K32)+(63-13)),A(013) OP-2 + + +00000A6C 696 CC1T5 DS 0F +00000A6C 15 697 DC X'15' Test Num +00000A6D 000000 698 DC XL3'00' + 699 * +00000A70 40 700 DC AL1(64) SS Length +00000A71 00 701 DC X'00' Pad Byte +00000A72 EE 702 DC X'EE' First-Operand SS last byte +00000A73 EE 703 DC X'EE' Second-Operand SS last byte + 704 * Source +00000A74 0000380C 0000003E 705 DC A(COP1A),A(062) Op-1 SS & length +00000A7C 0000C80C 0000003E 706 DC A(COP2A),A(062) OP-2 SS & length + 707 * Target +00000A84 00328000 00000200 708 DC A(3*MB+(5*K32)),A(512) Op-1 & length +00000A8C 00428000 00000200 709 DC A(4*MB+(5*K32)),A(512) Op-2 & length + 710 * +00000A94 0000000B 711 DC A(11) CC1 Fail mask + 712 * Ending register values +00000A98 003281C2 0000003E 713 DC A(3*MB+(5*K32)+(512-62)),A(062) OP-1 +00000AA0 004281C2 0000003E 714 DC A(4*MB+(5*K32)+(512-62)),A(062) OP-2 + + +00000AA8 716 CC1T6 DS 0F +00000AA8 16 717 DC X'16' Test Num +00000AA9 000000 718 DC XL3'00' + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 17 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 719 * +00000AAC 80 720 DC AL1(128) SS Length +00000AAD 00 721 DC X'00' Pad Byte +00000AAE FF 722 DC X'FF' First-Operand SS last byte +00000AAF FF 723 DC X'FF' Second-Operand SS last byte + 724 * Source +00000AB0 0000380C 0000007F 725 DC A(COP1A),A(127) Op-1 SS & length +00000AB8 0000C80C 0000007F 726 DC A(COP2A),A(127) OP-2 SS & length + 727 * Target +00000AC0 00330000 00000800 728 DC A(3*MB+(6*K32)),A(2048) Op-1 & length +00000AC8 00430000 00000800 729 DC A(4*MB+(6*K32)),A(2048) Op-2 & length + 730 * +00000AD0 0000000B 731 DC A(11) CC1 Fail mask + 732 * Ending register values +00000AD4 00330781 0000007F 733 DC A(3*MB+(6*K32)+(2048-127)),A(127) OP-1 +00000ADC 00430781 0000007F 734 DC A(4*MB+(6*K32)+(2048-127)),A(127) OP-2 + + 736 * Cross page bounday tests + + 738 * Cross page bounday - operand-1 + +00000AE4 740 CC1T7 DS 0F +00000AE4 17 741 DC X'17' Test Num +00000AE5 000000 742 DC XL3'00' + 743 * +00000AE8 40 744 DC AL1(64) SS Length +00000AE9 00 745 DC X'00' Pad Byte +00000AEA 55 746 DC X'55' First-Operand SS last byte +00000AEB 55 747 DC X'55' Second-Operand SS last byte + 748 * Source +00000AEC 0000380C 0000003E 749 DC A(COP1A),A(062) Op-1 SS & length +00000AF4 0000C80C 0000003E 750 DC A(COP2A),A(062) OP-2 SS & length + 751 * Target +00000AFC 00337F80 00000200 752 DC A(3*MB+(7*K32)-128),A(512) Op-1 & length +00000B04 00438000 00000200 753 DC A(4*MB+(7*K32)),A(512) Op-2 & length + 754 * +00000B0C 0000000B 755 DC A(11) CC1 Fail mask + 756 * Ending register values +00000B10 00338142 0000003E 757 DC A(3*MB+(7*K32)+(512-62)-128),A(062) OP-1 +00000B18 004381C2 0000003E 758 DC A(4*MB+(7*K32)+(512-62)),A(062) OP-2 + + 760 * Cross page bounday - operand-2 + +00000B20 762 CC1T8 DS 0F +00000B20 18 763 DC X'18' Test Num +00000B21 000000 764 DC XL3'00' + 765 * +00000B24 40 766 DC AL1(64) SS Length +00000B25 00 767 DC X'00' Pad Byte +00000B26 66 768 DC X'66' First-Operand SS last byte +00000B27 66 769 DC X'66' Second-Operand SS last byte + 770 * Source +00000B28 0000380C 0000003E 771 DC A(COP1A),A(062) Op-1 SS & length +00000B30 0000C80C 0000003E 772 DC A(COP2A),A(062) OP-2 SS & length + 773 * Target +00000B38 00340000 00000200 774 DC A(3*MB+(8*K32)),A(512) Op-1 & length + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 18 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +00000B40 0043FF80 00000200 775 DC A(4*MB+(8*K32)-128),A(512) Op-2 & length + 776 * +00000B48 0000000B 777 DC A(11) CC1 Fail mask + 778 * Ending register values +00000B4C 003401C2 0000003E 779 DC A(3*MB+(8*K32)+(512-62)),A(062) OP-1 +00000B54 00440142 0000003E 780 DC A(4*MB+(8*K32)+(512-62)-128),A(062) OP-2 + + 782 * Cross page bounday - operand-1 and operand-2 + +00000B5C 784 CC1T9 DS 0F +00000B5C 19 785 DC X'19' Test Num +00000B5D 000000 786 DC XL3'00' + 787 * +00000B60 40 788 DC AL1(64) SS Length +00000B61 00 789 DC X'00' Pad Byte +00000B62 77 790 DC X'77' First-Operand SS last byte +00000B63 77 791 DC X'77' Second-Operand SS last byte + 792 * Source +00000B64 0000380C 0000003E 793 DC A(COP1A),A(062) Op-1 SS & length +00000B6C 0000C80C 0000003E 794 DC A(COP2A),A(062) OP-2 SS & length + 795 * Target +00000B74 00347FA0 00000200 796 DC A(3*MB+(9*K32)-96),A(512) Op-1 & length +00000B7C 00447F80 00000200 797 DC A(4*MB+(9*K32)-128),A(512) Op-2 & length + 798 * +00000B84 0000000B 799 DC A(11) CC1 Fail mask + 800 * Ending register values +00000B88 00348162 0000003E 801 DC A(3*MB+(9*K32)+(512-62)-96),A(062) OP-1 +00000B90 00448142 0000003E 802 DC A(4*MB+(9*K32)+(512-62)-128),A(062) OP-2 + + 804 * PAD tests + + 806 * Pad - operand-1 + +00000B98 808 CC1TA DS 0F +00000B98 1A 809 DC X'1A' Test Num +00000B99 000000 810 DC XL3'00' + 811 * +00000B9C 40 812 DC AL1(64) SS Length +00000B9D 40 813 DC X'40' Pad Byte +00000B9E 40 814 DC X'40' First-Operand SS last byte +00000B9F 40 815 DC X'40' Second-Operand SS last byte + 816 * Source +00000BA0 00005C0C 0000003E 817 DC A(COP1B),A(062) Op-1 SS & length +00000BA8 0000EC0C 0000003E 818 DC A(COP2B),A(062) OP-2 SS & length + 819 * Target +00000BB0 00350000 000001F4 820 DC A(3*MB+(10*K32)),A(500) Op-1 & length +00000BB8 00450000 00000200 821 DC A(4*MB+(10*K32)),A(512) Op-2 & length + 822 * +00000BC0 0000000B 823 DC A(11) CC1 Fail mask + 824 * Ending register values +00000BC4 003501C2 00000032 825 DC A(3*MB+(10*K32)+(512-62)),A(062-(512-500)) OP-1 +00000BCC 004501C2 0000003E 826 DC A(4*MB+(10*K32)+(512-62)),A(062) OP-2 + + 828 * Pad - operand-2 + +00000BD4 830 CC1TB DS 0F + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 19 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +00000BD4 1B 831 DC X'1B' Test Num +00000BD5 000000 832 DC XL3'00' + 833 * +00000BD8 40 834 DC AL1(64) SS Length +00000BD9 40 835 DC X'40' Pad Byte +00000BDA 40 836 DC X'40' First-Operand SS last byte +00000BDB 40 837 DC X'40' Second-Operand SS last byte + 838 * Source +00000BDC 00005C0C 0000003E 839 DC A(COP1B),A(062) Op-1 SS & length +00000BE4 0000EC0C 0000003E 840 DC A(COP2B),A(062) OP-2 SS & length + 841 * Target +00000BEC 00358000 00000200 842 DC A(3*MB+(11*K32)),A(512) Op-1 & length +00000BF4 00458000 000001F4 843 DC A(4*MB+(11*K32)),A(500) Op-2 & length + 844 * +00000BFC 0000000B 845 DC A(11) CC1 Fail mask + 846 * Ending register values +00000C00 003581C2 0000003E 847 DC A(3*MB+(11*K32)+(512-62)),A(062) OP-1 +00000C08 004581C2 00000032 848 DC A(4*MB+(11*K32)+(512-62)),A(062-(512-500)) OP-2 + + 850 * PAD and Cross page bounday tests + + 852 * Pad - operand-1 ; Cross page bounday - operand-1 + +00000C10 854 CC1TC DS 0F +00000C10 1C 855 DC X'1C' Test Num +00000C11 000000 856 DC XL3'00' + 857 * +00000C14 40 858 DC AL1(64) SS Length +00000C15 40 859 DC X'40' Pad Byte +00000C16 40 860 DC X'40' First-Operand SS last byte +00000C17 40 861 DC X'40' Second-Operand SS last byte + 862 * Source +00000C18 00005C0C 0000003E 863 DC A(COP1B),A(062) Op-1 SS & length +00000C20 0000EC0C 0000003E 864 DC A(COP2B),A(062) OP-2 SS & length + 865 * Target +00000C28 0035FFA0 000001F4 866 DC A(3*MB+(12*K32)-96),A(500) Op-1 & length +00000C30 00460000 00000200 867 DC A(4*MB+(12*K32)),A(512) Op-2 & length + 868 * +00000C38 0000000B 869 DC A(11) CC1 Fail mask + 870 * Ending register values +00000C3C 00360162 00000032 871 DC A(3*MB+(12*K32)+(512-62)-96),A(062-(512-500)) OP-1 +00000C44 004601C2 0000003E 872 DC A(4*MB+(12*K32)+(512-62)),A(062) OP-2 + + 874 * Pad - operand-1 ; Cross page bounday - operand-2 + +00000C4C 876 CC1TD DS 0F +00000C4C 1D 877 DC X'1D' Test Num +00000C4D 000000 878 DC XL3'00' + 879 * +00000C50 40 880 DC AL1(64) SS Length +00000C51 40 881 DC X'40' Pad Byte +00000C52 40 882 DC X'40' First-Operand SS last byte +00000C53 40 883 DC X'40' Second-Operand SS last byte + 884 * Source +00000C54 00005C0C 0000003E 885 DC A(COP1B),A(062) Op-1 SS & length +00000C5C 0000EC0C 0000003E 886 DC A(COP2B),A(062) OP-2 SS & length + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 20 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 887 * Target +00000C64 00368000 000001F4 888 DC A(3*MB+(13*K32)),A(500) Op-1 & length +00000C6C 00467FA0 00000200 889 DC A(4*MB+(13*K32)-96),A(512) Op-2 & length + 890 * +00000C74 0000000B 891 DC A(11) CC1 Fail mask + 892 * Ending register values +00000C78 003681C2 00000032 893 DC A(3*MB+(13*K32)+(512-62)),A(062-(512-500)) OP-1 +00000C80 00468162 0000003E 894 DC A(4*MB+(13*K32)+(512-62)-96),A(062) OP-2 + + 896 * Pad - operand-2 ; Cross page bounday - operand-1 + +00000C88 898 CC1TE DS 0F +00000C88 1E 899 DC X'1E' Test Num +00000C89 000000 900 DC XL3'00' + 901 * +00000C8C 40 902 DC AL1(64) SS Length +00000C8D 40 903 DC X'40' Pad Byte +00000C8E 40 904 DC X'40' First-Operand SS last byte +00000C8F 40 905 DC X'40' Second-Operand SS last byte + 906 * Source +00000C90 00005C0C 0000003E 907 DC A(COP1B),A(062) Op-1 SS & length +00000C98 0000EC0C 0000003E 908 DC A(COP2B),A(062) OP-2 SS & length + 909 * Target +00000CA0 0036FFA0 00000200 910 DC A(3*MB+(14*K32)-96),A(512) Op-1 & length +00000CA8 00470000 000001F4 911 DC A(4*MB+(14*K32)),A(500) Op-2 & length + 912 * +00000CB0 0000000B 913 DC A(11) CC1 Fail mask + 914 * Ending register values +00000CB4 00370162 0000003E 915 DC A(3*MB+(14*K32)+(512-62)-96),A(062) OP-1 +00000CBC 004701C2 00000032 916 DC A(4*MB+(14*K32)+(512-62)),A(062-(512-500)) OP-2 + + 918 * Pad - operand-2 ; Cross page bounday - operand-2 + +00000CC4 920 CC1TF DS 0F +00000CC4 1F 921 DC X'1F' Test Num +00000CC5 000000 922 DC XL3'00' + 923 * +00000CC8 40 924 DC AL1(64) SS Length +00000CC9 40 925 DC X'40' Pad Byte +00000CCA 40 926 DC X'40' First-Operand SS last byte +00000CCB 40 927 DC X'40' Second-Operand SS last byte + 928 * Source +00000CCC 00005C0C 0000003E 929 DC A(COP1B),A(062) Op-1 SS & length +00000CD4 0000EC0C 0000003E 930 DC A(COP2B),A(062) OP-2 SS & length + 931 * Target +00000CDC 00378000 00000200 932 DC A(3*MB+(15*K32)),A(512) Op-1 & length +00000CE4 00477FA0 000001F4 933 DC A(4*MB+(15*K32)-96),A(500) Op-2 & length + 934 * +00000CEC 0000000B 935 DC A(11) CC1 Fail mask + 936 * Ending register values +00000CF0 003781C2 0000003E 937 DC A(3*MB+(15*K32)+(512-62)),A(062) OP-1 +00000CF8 00478162 00000032 938 DC A(4*MB+(15*K32)+(512-62)-96),A(062-(512-500)) OP-2 + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 21 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 940 *********************************************************************** + 941 * tests with CC=2 + 942 *********************************************************************** + +00000D00 944 CC2T1 DS 0F +00000D00 21 945 DC X'21' Test Num +00000D01 000000 946 DC XL3'00' + 947 * +00000D04 04 948 DC AL1(4) SS Length +00000D05 11 949 DC X'11' Pad Byte +00000D06 11 950 DC X'11' First-Operand SS last byte +00000D07 12 951 DC X'12' Second-Operand SS last byte + 952 * Source +00000D08 0000380C 00000001 953 DC A(COP1A),A(001) Op-1 SS & length +00000D10 0000C80C 00000001 954 DC A(COP2A),A(001) OP-2 SS & length + 955 * Target +00000D18 00508000 00000001 956 DC A(5*MB+(1*K32)),A(1) Op-1 & length +00000D20 00608000 00000001 957 DC A(6*MB+(1*K32)),A(1) Op-2 & length + 958 * +00000D28 0000000D 959 DC A(13) not CC2 Fail mask + 960 * Ending register values +00000D2C 00508001 00000000 961 DC A(5*MB+(1*K32)+001),A(000) OP-1 +00000D34 00608001 00000000 962 DC A(6*MB+(1*K32)+001),A(000) OP-2 + + +00000D3C 964 CC2T2 DS 0F +00000D3C 22 965 DC X'22' Test Num +00000D3D 000000 966 DC XL3'00' + 967 * +00000D40 02 968 DC AL1(2) SS Length +00000D41 00 969 DC X'00' Pad Byte +00000D42 BB 970 DC X'BB' First-Operand SS last byte +00000D43 BC 971 DC X'BC' Second-Operand SS last byte + 972 * Source +00000D44 0000380C 00000001 973 DC A(COP1A),A(001) Op-1 SS & length +00000D4C 0000C80C 00000001 974 DC A(COP2A),A(001) OP-2 SS & length + 975 * Target +00000D54 00510000 00000002 976 DC A(5*MB+(2*K32)),A(2) Op-1 & length +00000D5C 00610000 00000002 977 DC A(6*MB+(2*K32)),A(2) Op-2 & length + 978 * +00000D64 0000000D 979 DC A(13) not CC2 Fail mask + 980 * Ending register values +00000D68 00510002 00000000 981 DC A(5*MB+(2*K32)+002),A(000) OP-1 +00000D70 00610002 00000000 982 DC A(6*MB+(2*K32)+002),A(000) OP-2 + + +00000D78 984 CC2T3 DS 0F +00000D78 23 985 DC X'23' Test Num +00000D79 000000 986 DC XL3'00' + 987 * +00000D7C 06 988 DC AL1(6) SS Length +00000D7D 00 989 DC X'00' Pad Byte +00000D7E CC 990 DC X'CC' First-Operand SS last byte +00000D7F CD 991 DC X'CD' Second-Operand SS last byte + 992 * Source +00000D80 0000380C 00000004 993 DC A(COP1A),A(004) Op-1 SS & length + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 22 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +00000D88 0000C80C 00000004 994 DC A(COP2A),A(004) OP-2 SS & length + 995 * Target +00000D90 00518000 00000008 996 DC A(5*MB+(3*K32)),A(8) Op-1 & length +00000D98 00618000 00000008 997 DC A(6*MB+(3*K32)),A(8) Op-2 & length + 998 * +00000DA0 0000000D 999 DC A(13) not CC2 Fail mask + 1000 * Ending register values +00000DA4 00518008 00000000 1001 DC A(5*MB+(3*K32)+8),A(000) OP-1 +00000DAC 00618008 00000000 1002 DC A(6*MB+(3*K32)+8),A(000) OP-2 + + +00000DB4 1004 CC2T4 DS 0F +00000DB4 24 1005 DC X'24' Test Num +00000DB5 000000 1006 DC XL3'00' + 1007 * +00000DB8 12 1008 DC AL1(18) SS Length +00000DB9 00 1009 DC X'00' Pad Byte +00000DBA DD 1010 DC X'DD' First-Operand SS last byte +00000DBB DE 1011 DC X'DE' Second-Operand SS last byte + 1012 * Source +00000DBC 0000380C 0000000D 1013 DC A(COP1A),A(013) Op-1 SS & length +00000DC4 0000C80C 0000000D 1014 DC A(COP2A),A(013) OP-2 SS & length + 1015 * Target +00000DCC 00520000 0000003F 1016 DC A(5*MB+(4*K32)),A(63) Op-1 & length +00000DD4 00620000 0000003F 1017 DC A(6*MB+(4*K32)),A(63) Op-2 & length + 1018 * +00000DDC 0000000D 1019 DC A(13) not CC2 Fail mask + 1020 * Ending register values +00000DE0 0052003F 00000000 1021 DC A(5*MB+(4*K32)+63),A(000) OP-1 +00000DE8 0062003F 00000000 1022 DC A(6*MB+(4*K32)+63),A(000) OP-2 + + +00000DF0 1024 CC2T5 DS 0F +00000DF0 25 1025 DC X'25' Test Num +00000DF1 000000 1026 DC XL3'00' + 1027 * +00000DF4 40 1028 DC AL1(64) SS Length +00000DF5 00 1029 DC X'00' Pad Byte +00000DF6 EE 1030 DC X'EE' First-Operand SS last byte +00000DF7 EF 1031 DC X'EF' Second-Operand SS last byte + 1032 * Source +00000DF8 0000380C 0000003E 1033 DC A(COP1A),A(062) Op-1 SS & length +00000E00 0000C80C 0000003E 1034 DC A(COP2A),A(062) OP-2 SS & length + 1035 * Target +00000E08 00528000 00000200 1036 DC A(5*MB+(5*K32)),A(512) Op-1 & length +00000E10 00628000 00000200 1037 DC A(6*MB+(5*K32)),A(512) Op-2 & length + 1038 * +00000E18 0000000D 1039 DC A(13) not CC2 Fail mask + 1040 * Ending register values +00000E1C 00528200 00000000 1041 DC A(5*MB+(5*K32)+512),A(000) OP-1 +00000E24 00628200 00000000 1042 DC A(6*MB+(5*K32)+512),A(000) OP-2 + + +00000E2C 1044 CC2T6 DS 0F +00000E2C 26 1045 DC X'26' Test Num +00000E2D 000000 1046 DC XL3'00' + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 23 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 1047 * +00000E30 80 1048 DC AL1(128) SS Length +00000E31 00 1049 DC X'00' Pad Byte +00000E32 FF 1050 DC X'FF' First-Operand SS last byte +00000E33 F0 1051 DC X'F0' Second-Operand SS last byte + 1052 * Source +00000E34 0000380C 0000007F 1053 DC A(COP1A),A(127) Op-1 SS & length +00000E3C 0000C80C 0000007F 1054 DC A(COP2A),A(127) OP-2 SS & length + 1055 * Target +00000E44 00530000 00000800 1056 DC A(5*MB+(6*K32)),A(2048) Op-1 & length +00000E4C 00630000 00000800 1057 DC A(6*MB+(6*K32)),A(2048) Op-2 & length + 1058 * +00000E54 0000000D 1059 DC A(13) not CC2 Fail mask + 1060 * Ending register values +00000E58 00530800 00000000 1061 DC A(5*MB+(6*K32)+2048),A(000) OP-1 +00000E60 00630800 00000000 1062 DC A(6*MB+(6*K32)+2048),A(000) OP-2 + + 1064 * Cross page bounday tests + + 1066 * Cross page bounday - operand-1 + +00000E68 1068 CC2T7 DS 0F +00000E68 27 1069 DC X'27' Test Num +00000E69 000000 1070 DC XL3'00' + 1071 * +00000E6C 40 1072 DC AL1(64) SS Length +00000E6D 00 1073 DC X'00' Pad Byte +00000E6E 55 1074 DC X'55' First-Operand SS last byte +00000E6F 56 1075 DC X'56' Second-Operand SS last byte + 1076 * Source +00000E70 0000380C 0000003E 1077 DC A(COP1A),A(062) Op-1 SS & length +00000E78 0000C80C 0000003E 1078 DC A(COP2A),A(062) OP-2 SS & length + 1079 * Target +00000E80 00537F80 00000200 1080 DC A(5*MB+(7*K32)-128),A(512) Op-1 & length +00000E88 00638000 00000200 1081 DC A(6*MB+(7*K32)),A(512) Op-2 & length + 1082 * +00000E90 0000000D 1083 DC A(13) not CC2 Fail mask + 1084 * Ending register values +00000E94 00538180 00000000 1085 DC A(5*MB+(7*K32)+512-128),A(000) OP-1 +00000E9C 00638200 00000000 1086 DC A(6*MB+(7*K32)+512),A(000) OP-2 + + 1088 * Cross page bounday - operand-2 + +00000EA4 1090 CC2T8 DS 0F +00000EA4 28 1091 DC X'28' Test Num +00000EA5 000000 1092 DC XL3'00' + 1093 * +00000EA8 40 1094 DC AL1(64) SS Length +00000EA9 00 1095 DC X'00' Pad Byte +00000EAA 67 1096 DC X'67' First-Operand SS last byte +00000EAB 66 1097 DC X'66' Second-Operand SS last byte + 1098 * Source +00000EAC 0000380C 0000003E 1099 DC A(COP1A),A(062) Op-1 SS & length +00000EB4 0000C80C 0000003E 1100 DC A(COP2A),A(062) OP-2 SS & length + 1101 * Target +00000EBC 00540000 00000200 1102 DC A(5*MB+(8*K32)),A(512) Op-1 & length + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 24 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +00000EC4 0063FF80 00000200 1103 DC A(6*MB+(8*K32)-128),A(512) Op-2 & length + 1104 * +00000ECC 0000000D 1105 DC A(13) not CC2 Fail mask + 1106 * Ending register values +00000ED0 00540200 00000000 1107 DC A(5*MB+(8*K32)+512),A(000) OP-1 +00000ED8 00640180 00000000 1108 DC A(6*MB+(8*K32)+512-128),A(000) OP-2 + + 1110 * Cross page bounday - operand-1 and operand-2 + +00000EE0 1112 CC2T9 DS 0F +00000EE0 29 1113 DC X'29' Test Num +00000EE1 000000 1114 DC XL3'00' + 1115 * +00000EE4 40 1116 DC AL1(64) SS Length +00000EE5 00 1117 DC X'00' Pad Byte +00000EE6 78 1118 DC X'78' First-Operand SS last byte +00000EE7 77 1119 DC X'77' Second-Operand SS last byte + 1120 * Source +00000EE8 0000380C 0000003E 1121 DC A(COP1A),A(062) Op-1 SS & length +00000EF0 0000C80C 0000003E 1122 DC A(COP2A),A(062) OP-2 SS & length + 1123 * Target +00000EF8 00547FA0 00000200 1124 DC A(5*MB+(9*K32)-96),A(512) Op-1 & length +00000F00 00647F80 00000200 1125 DC A(6*MB+(9*K32)-128),A(512) Op-2 & length + 1126 * +00000F08 0000000D 1127 DC A(13) not CC2 Fail mask + 1128 * Ending register values +00000F0C 005481A0 00000000 1129 DC A(5*MB+(9*K32)+512-96),A(000) OP-1 +00000F14 00648180 00000000 1130 DC A(6*MB+(9*K32)+512-128),A(000) OP-2 + + 1132 * PAD tests + + 1134 * Pad - operand-1 + +00000F1C 1136 CC2TA DS 0F +00000F1C 2A 1137 DC X'2A' Test Num +00000F1D 000000 1138 DC XL3'00' + 1139 * +00000F20 40 1140 DC AL1(64) SS Length +00000F21 41 1141 DC X'41' Pad Byte +00000F22 40 1142 DC X'40' First-Operand SS last byte +00000F23 40 1143 DC X'40' Second-Operand SS last byte + 1144 * Source +00000F24 00005C0C 0000003E 1145 DC A(COP1B),A(062) Op-1 SS & length +00000F2C 0000EC0C 0000003E 1146 DC A(COP2B),A(062) OP-2 SS & length + 1147 * Target +00000F34 00550000 000001F4 1148 DC A(5*MB+(10*K32)),A(500) Op-1 & length +00000F3C 00650000 00000200 1149 DC A(6*MB+(10*K32)),A(512) Op-2 & length + 1150 * +00000F44 0000000D 1151 DC A(13) not CC2 Fail mask + 1152 * Ending register values +00000F48 005501F4 00000000 1153 DC A(5*MB+(10*K32)+500),A(000) OP-1 +00000F50 00650200 00000000 1154 DC A(6*MB+(10*K32)+512),A(000) OP-2 + + 1156 * Pad - operand-2 + +00000F58 1158 CC2TB DS 0F + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 25 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +00000F58 2B 1159 DC X'2B' Test Num +00000F59 000000 1160 DC XL3'00' + 1161 * +00000F5C 40 1162 DC AL1(64) SS Length +00000F5D 41 1163 DC X'41' Pad Byte +00000F5E 40 1164 DC X'40' First-Operand SS last byte +00000F5F 40 1165 DC X'40' Second-Operand SS last byte + 1166 * Source +00000F60 00005C0C 0000003E 1167 DC A(COP1B),A(062) Op-1 SS & length +00000F68 0000EC0C 0000003E 1168 DC A(COP2B),A(062) OP-2 SS & length + 1169 * Target +00000F70 00558000 00000200 1170 DC A(5*MB+(11*K32)),A(512) Op-1 & length +00000F78 00658000 000001F4 1171 DC A(6*MB+(11*K32)),A(500) Op-2 & length + 1172 * +00000F80 0000000D 1173 DC A(13) not CC2 Fail mask + 1174 * Ending register values +00000F84 00558200 00000000 1175 DC A(5*MB+(11*K32)+512),A(000) OP-1 +00000F8C 006581F4 00000000 1176 DC A(6*MB+(11*K32)+500),A(000) OP-2 + + 1178 * PAD and Cross page bounday tests + + 1180 * Pad - operand-1 ; Cross page bounday - operand-1 + +00000F94 1182 CC2TC DS 0F +00000F94 2C 1183 DC X'2C' Test Num +00000F95 000000 1184 DC XL3'00' + 1185 * +00000F98 40 1186 DC AL1(64) SS Length +00000F99 41 1187 DC X'41' Pad Byte +00000F9A 40 1188 DC X'40' First-Operand SS last byte +00000F9B 40 1189 DC X'40' Second-Operand SS last byte + 1190 * Source +00000F9C 00005C0C 0000003E 1191 DC A(COP1B),A(062) Op-1 SS & length +00000FA4 0000EC0C 0000003E 1192 DC A(COP2B),A(062) OP-2 SS & length + 1193 * Target +00000FAC 0055FFA0 000001F4 1194 DC A(5*MB+(12*K32)-96),A(500) Op-1 & length +00000FB4 00660000 00000200 1195 DC A(6*MB+(12*K32)),A(512) Op-2 & length + 1196 * +00000FBC 0000000D 1197 DC A(13) not CC2 Fail mask + 1198 * Ending register values +00000FC0 00560194 00000000 1199 DC A(5*MB+(12*K32)+500-96),A(000) OP-1 +00000FC8 00660200 00000000 1200 DC A(6*MB+(12*K32)+512),A(000) OP-2 + + 1202 * Pad - operand-1 ; Cross page bounday - operand-2 + +00000FD0 1204 CC2TD DS 0F +00000FD0 2D 1205 DC X'2D' Test Num +00000FD1 000000 1206 DC XL3'00' + 1207 * +00000FD4 40 1208 DC AL1(64) SS Length +00000FD5 41 1209 DC X'41' Pad Byte +00000FD6 40 1210 DC X'40' First-Operand SS last byte +00000FD7 40 1211 DC X'40' Second-Operand SS last byte + 1212 * Source +00000FD8 00005C0C 0000003E 1213 DC A(COP1B),A(062) Op-1 SS & length +00000FE0 0000EC0C 0000003E 1214 DC A(COP2B),A(062) OP-2 SS & length + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 26 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 1215 * Target +00000FE8 00568000 000001F4 1216 DC A(5*MB+(13*K32)),A(500) Op-1 & length +00000FF0 00667FA0 00000200 1217 DC A(6*MB+(13*K32)-96),A(512) Op-2 & length + 1218 * +00000FF8 0000000D 1219 DC A(13) not CC2 Fail mask + 1220 * Ending register values +00000FFC 005681F4 00000000 1221 DC A(5*MB+(13*K32)+500),A(000) OP-1 +00001004 006681A0 00000000 1222 DC A(6*MB+(13*K32)+512-96),A(000) OP-2 + + 1224 * Pad - operand-2 ; Cross page bounday - operand-1 + +0000100C 1226 CC2TE DS 0F +0000100C 2E 1227 DC X'2E' Test Num +0000100D 000000 1228 DC XL3'00' + 1229 * +00001010 40 1230 DC AL1(64) SS Length +00001011 41 1231 DC X'41' Pad Byte +00001012 40 1232 DC X'40' First-Operand SS last byte +00001013 40 1233 DC X'40' Second-Operand SS last byte + 1234 * Source +00001014 00005C0C 0000003E 1235 DC A(COP1B),A(062) Op-1 SS & length +0000101C 0000EC0C 0000003E 1236 DC A(COP2B),A(062) OP-2 SS & length + 1237 * Target +00001024 0056FFA0 00000200 1238 DC A(5*MB+(14*K32)-96),A(512) Op-1 & length +0000102C 00670000 000001F4 1239 DC A(6*MB+(14*K32)),A(500) Op-2 & length + 1240 * +00001034 0000000D 1241 DC A(13) not CC2 Fail mask + 1242 * Ending register values +00001038 005701A0 00000000 1243 DC A(5*MB+(14*K32)+512-96),A(000) OP-1 +00001040 006701F4 00000000 1244 DC A(6*MB+(14*K32)+500),A(000) OP-2 + + 1246 * Pad - operand-2 ; Cross page bounday - operand-2 + +00001048 1248 CC2TF DS 0F +00001048 2F 1249 DC X'2F' Test Num +00001049 000000 1250 DC XL3'00' + 1251 * +0000104C 40 1252 DC AL1(64) SS Length +0000104D 41 1253 DC X'41' Pad Byte +0000104E 40 1254 DC X'40' First-Operand SS last byte +0000104F 40 1255 DC X'40' Second-Operand SS last byte + 1256 * Source +00001050 00005C0C 0000003E 1257 DC A(COP1B),A(062) Op-1 SS & length +00001058 0000EC0C 0000003E 1258 DC A(COP2B),A(062) OP-2 SS & length + 1259 * Target +00001060 00578000 00000200 1260 DC A(5*MB+(15*K32)),A(512) Op-1 & length +00001068 00677FA0 000001F4 1261 DC A(6*MB+(15*K32)-96),A(500) Op-2 & length + 1262 * +00001070 0000000D 1263 DC A(13) not CC2 Fail mask + 1264 * Ending register values +00001074 00578200 00000000 1265 DC A(5*MB+(15*K32)+512),A(000) OP-1 +0000107C 00678194 00000000 1266 DC A(6*MB+(15*K32)+500-96),A(000) OP-2 + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 27 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 1268 *********************************************************************** + 1269 * tests with CC=3 + 1270 *********************************************************************** + +00001084 1272 CC3T1 DS 0F +00001084 31 1273 DC X'31' Test Num +00001085 000000 1274 DC XL3'00' + 1275 * +00001088 01 1276 DC AL1(1) SS Length +00001089 00 1277 DC X'00' Pad Byte +0000108A AA 1278 DC X'AA' First-Operand SS last byte +0000108B AA 1279 DC X'AA' Second-Operand SS last byte + 1280 * Source +0000108C 0000380C 00000001 1281 DC A(COP1A),A(1) Op-1 SS & length +00001094 0000C80C 00000001 1282 DC A(COP2A),A(1) OP-2 SS & length + 1283 * Target +0000109C 00708000 00001080 1284 DC A(7*MB+(1*K32)),A(4096+128) Op-1 & length +000010A4 00808000 00001080 1285 DC A(8*MB+(1*K32)),A(4096+128) Op-2 & length + 1286 * +000010AC 00000006 1287 DC A(6) not CC0 or CC3 Fail mask + 1288 * Ending register values +000010B0 0070907F 00000001 1289 DC A(7*MB+(1*K32)+4096+128-1),A(001) OP-1 +000010B8 0080907F 00000001 1290 DC A(8*MB+(1*K32)+4096+128-1),A(001) OP-2 + + +000010C0 1292 CC3T3 DS 0F +000010C0 33 1293 DC X'33' Test Num +000010C1 000000 1294 DC XL3'00' + 1295 * +000010C4 06 1296 DC AL1(6) SS Length +000010C5 00 1297 DC X'00' Pad Byte +000010C6 CC 1298 DC X'CC' First-Operand SS last byte +000010C7 CC 1299 DC X'CC' Second-Operand SS last byte + 1300 * Source +000010C8 0000380C 00000004 1301 DC A(COP1A),A(004) Op-1 SS & length +000010D0 0000C80C 00000004 1302 DC A(COP2A),A(004) OP-2 SS & length + 1303 * Target +000010D8 00718000 00001080 1304 DC A(7*MB+(3*K32)),A(4096+128) Op-1 & length +000010E0 00818000 00001080 1305 DC A(8*MB+(3*K32)),A(4096+128) Op-2 & length + 1306 * +000010E8 0000000A 1307 DC A(10) not CC1 or CC3 Fail mask + 1308 * Ending register values +000010EC 0071907C 00000004 1309 DC A(7*MB+(3*K32)+(4096+128-4)),A(004) OP-1 +000010F4 0081907C 00000004 1310 DC A(8*MB+(3*K32)+(4096+128-4)),A(004) OP-2 + + +000010FC 1312 CC3T4 DS 0F +000010FC 34 1313 DC X'34' Test Num +000010FD 000000 1314 DC XL3'00' + 1315 * +00001100 12 1316 DC AL1(18) SS Length +00001101 00 1317 DC X'00' Pad Byte +00001102 DD 1318 DC X'DD' First-Operand SS last byte +00001103 DE 1319 DC X'DE' Second-Operand SS last byte + 1320 * Source +00001104 0000380C 0000000D 1321 DC A(COP1A),A(013) Op-1 SS & length + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 28 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +0000110C 0000C80C 0000000D 1322 DC A(COP2A),A(013) OP-2 SS & length + 1323 * Target +00001114 00720000 0000103F 1324 DC A(7*MB+(4*K32)),A(4096+63) Op-1 & length +0000111C 00820000 0000103F 1325 DC A(8*MB+(4*K32)),A(4096+63) Op-2 & length + 1326 * +00001124 0000000C 1327 DC A(12) not CC2 or CC3 Fail mask + 1328 * Ending register values +00001128 0072103F 00000000 1329 DC A(7*MB+(4*K32)+4096+63),A(000) OP-1 +00001130 0082103F 00000000 1330 DC A(8*MB+(4*K32)+4096+63),A(000) OP-2 + + 1332 * Cross page bounday tests + + 1334 * Cross page bounday - operand-1 + +00001138 1336 CC3T7 DS 0F +00001138 37 1337 DC X'37' Test Num +00001139 000000 1338 DC XL3'00' + 1339 * +0000113C 3E 1340 DC AL1(62) SS Length +0000113D 00 1341 DC X'00' Pad Byte +0000113E 55 1342 DC X'55' First-Operand SS last byte +0000113F 55 1343 DC X'55' Second-Operand SS last byte + 1344 * Source +00001140 0000380C 0000003E 1345 DC A(COP1A),A(062) Op-1 SS & length +00001148 0000C80C 0000003E 1346 DC A(COP2A),A(062) OP-2 SS & length + 1347 * Target +00001150 00737F80 00001080 1348 DC A(7*MB+(7*K32)-128),A(4096+128) Op-1 & length +00001158 00838000 00001080 1349 DC A(8*MB+(7*K32)),A(4096+128) Op-2 & length + 1350 * +00001160 00000006 1351 DC A(6) not CC0 or CC3 Fail mask + 1352 * Ending register values +00001164 00738FC2 0000003E 1353 DC A(7*MB+(7*K32)+(4096+128-62)-128),A(062) OP-1 +0000116C 00839042 0000003E 1354 DC A(8*MB+(7*K32)+(4096+128-62)),A(062) OP-2 + + 1356 * Cross page bounday - operand-2 + +00001174 1358 CC3T8 DS 0F +00001174 38 1359 DC X'38' Test Num +00001175 000000 1360 DC XL3'00' + 1361 * +00001178 3E 1362 DC AL1(62) SS Length +00001179 00 1363 DC X'00' Pad Byte +0000117A 66 1364 DC X'66' First-Operand SS last byte +0000117B 66 1365 DC X'66' Second-Operand SS last byte + 1366 * Source +0000117C 0000380C 0000003E 1367 DC A(COP1A),A(062) Op-1 SS & length +00001184 0000C80C 0000003E 1368 DC A(COP2A),A(062) OP-2 SS & length + 1369 * Target +0000118C 00740000 00001080 1370 DC A(7*MB+(8*K32)),A(4096+128) Op-1 & length +00001194 0083FF80 00001080 1371 DC A(8*MB+(8*K32)-128),A(4096+128) Op-2 & length + 1372 * +0000119C 00000006 1373 DC A(6) not CC0 or CC3 Fail mask + 1374 * Ending register values +000011A0 00741042 0000003E 1375 DC A(7*MB+(8*K32)+(4096+128-62)),A(062) OP-1 +000011A8 00840FC2 0000003E 1376 DC A(8*MB+(8*K32)+(4096+128-62)-128),A(062) OP-2 + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 29 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 1378 * Cross page bounday - operand-1 and operand-2 + +000011B0 1380 CC3T9 DS 0F +000011B0 39 1381 DC X'39' Test Num +000011B1 000000 1382 DC XL3'00' + 1383 * +000011B4 3E 1384 DC AL1(62) SS Length +000011B5 00 1385 DC X'00' Pad Byte +000011B6 77 1386 DC X'77' First-Operand SS last byte +000011B7 77 1387 DC X'77' Second-Operand SS last byte + 1388 * Source +000011B8 0000380C 0000003E 1389 DC A(COP1A),A(062) Op-1 SS & length +000011C0 0000C80C 0000003E 1390 DC A(COP2A),A(062) OP-2 SS & length + 1391 * Target +000011C8 00747FA0 00001080 1392 DC A(7*MB+(9*K32)-96),A(4096+128) Op-1 & length +000011D0 00847F80 00001080 1393 DC A(8*MB+(9*K32)-128),A(4096+128) Op-2 & length + 1394 * +000011D8 00000006 1395 DC A(6) not CC0 or CC3 Fail mask + 1396 * Ending register values +000011DC 00748FE2 0000003E 1397 DC A(7*MB+(9*K32)+(4096+128-62)-96),A(062) OP-1 +000011E4 00848FC2 0000003E 1398 DC A(8*MB+(9*K32)+(4096+128-62)-128),A(062) OP-2 + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 30 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 1400 *********************************************************************** + 1401 * tests - special pad test + 1402 *********************************************************************** + + 1404 * Op-1 - length=0 +000011EC 1405 PAD4T1 DS 0F +000011EC 41 1406 DC X'41' Test Num +000011ED 000000 1407 DC XL3'00' + 1408 * +000011F0 04 1409 DC AL1(4) SS Length +000011F1 40 1410 DC X'40' Pad Byte +000011F2 40 1411 DC X'40' First-Operand SS last byte +000011F3 40 1412 DC X'40' Second-Operand SS last byte + 1413 * Source +000011F4 00005C0C 00000000 1414 DC A(COP1B),A(000) Op-1 SS & length +000011FC 0000EC0C 00000004 1415 DC A(COP2B),A(4) OP-2 SS & length + 1416 * Target +00001204 00908000 00000000 1417 DC A(9*MB+(1*K32)),A(000) Op-1 & length +0000120C 00A08000 00000200 1418 DC A(10*MB+(1*K32)),A(512) Op-2 & length + 1419 * +00001214 00000007 1420 DC A(7) CC0 Fail mask + 1421 * Ending register values +00001218 00908000 00000000 1422 DC A(9*MB+(1*K32)),A(000) OP-1 +00001220 00A081FC 00000004 1423 DC A(10*MB+(1*K32)+(512-4)),A(004) OP-2 + + + 1425 * Op-2 - length=0 +00001228 1426 PAD4T2 DS 0F +00001228 42 1427 DC X'42' Test Num +00001229 000000 1428 DC XL3'00' + 1429 * +0000122C 04 1430 DC AL1(4) SS Length +0000122D 40 1431 DC X'40' Pad Byte +0000122E 40 1432 DC X'40' First-Operand SS last byte +0000122F 40 1433 DC X'40' Second-Operand SS last byte + 1434 * Source +00001230 00005C0C 00000004 1435 DC A(COP1B),A(4) Op-1 SS & length +00001238 0000EC0C 00000000 1436 DC A(COP2B),A(000) OP-2 SS & length + 1437 * Target +00001240 00910000 00000200 1438 DC A(9*MB+(2*K32)),A(512) Op-1 & length +00001248 00A10000 00000000 1439 DC A(10*MB+(2*K32)),A(0) Op-2 & length + 1440 * +00001250 00000007 1441 DC A(7) CC0 Fail mask + 1442 * Ending register values +00001254 009101FC 00000004 1443 DC A(9*MB+(2*K32)+(512-4)),A(004) OP-1 +0000125C 00A10000 00000000 1444 DC A(10*MB+(2*K32)),A(000) OP-2 + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 31 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 1446 *********************************************************************** + 1447 * tests for Special Cases Optimizations + 1448 *********************************************************************** + + + 1450 * tests for Special Cases Optimizations + +00001264 1452 SC5T1 DS 0F +00001264 51 1453 DC X'51' Test Num +00001265 000000 1454 DC XL3'00' + 1455 * +00001268 04 1456 DC AL1(4) SS Length +00001269 00 1457 DC X'00' Pad Byte +0000126A 77 1458 DC X'77' First-Operand SS last byte +0000126B 77 1459 DC X'77' Second-Operand SS last byte + 1460 * Source +0000126C 0000800C 00000020 1461 DC A(COP1C),A(032) Op-1 SS & length +00001274 0001100C 00000020 1462 DC A(COP2C),A(032) OP-2 SS & length + 1463 * Target +0000127C 00937FA0 00000200 1464 DC A(9*MB+(7*K32)-96),A(512) Op-1 & length +00001284 00A37F80 00000200 1465 DC A(10*MB+(7*K32)-128),A(512) Op-2 & length + 1466 * +0000128C 00000006 1467 DC A(6) not CC0 or CC3 Fail mask + 1468 * Ending register values +00001290 0093817D 00000023 1469 DC A(9*MB+(7*K32)+(512-32)-96-3),A(032+3) OP-1 +00001298 00A3815D 00000023 1470 DC A(10*MB+(7*K32)+(512-32)-128-3),A(032+3) OP-2 + +000012A0 1472 SC5T2 DS 0F +000012A0 52 1473 DC X'52' Test Num +000012A1 000000 1474 DC XL3'00' + 1475 * +000012A4 07 1476 DC AL1(7) SS Length +000012A5 00 1477 DC X'00' Pad Byte +000012A6 77 1478 DC X'77' First-Operand SS last byte +000012A7 77 1479 DC X'77' Second-Operand SS last byte + 1480 * Source +000012A8 0000800C 0000001B 1481 DC A(COP1C),A(027) Op-1 SS & length +000012B0 0001100C 0000001B 1482 DC A(COP2C),A(027) OP-2 SS & length + 1483 * Target +000012B8 0093FFA0 00000200 1484 DC A(9*MB+(8*K32)-96),A(512) Op-1 & length +000012C0 00A3FF80 00000200 1485 DC A(10*MB+(8*K32)-128),A(512) Op-2 & length + 1486 * +000012C8 00000006 1487 DC A(6) not CC0 or CC3 Fail mask + 1488 * Ending register values +000012CC 00940182 0000001E 1489 DC A(9*MB+(8*K32)+(512-27)-96-3),A(027+3) OP-1 +000012D4 00A40162 0000001E 1490 DC A(10*MB+(8*K32)+(512-27)-128-3),A(027+3) OP-2 + +000012DC 1492 SC5T3 DS 0F +000012DC 53 1493 DC X'53' Test Num +000012DD 000000 1494 DC XL3'00' + 1495 * +000012E0 01 1496 DC AL1(1) SS Length +000012E1 00 1497 DC X'00' Pad Byte +000012E2 77 1498 DC X'77' First-Operand SS last byte +000012E3 77 1499 DC X'77' Second-Operand SS last byte + 1500 * Source + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 32 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +000012E4 00005C0C 0000001B 1501 DC A(COP1B),A(027) Op-1 SS & length +000012EC 0000EC0C 0000001B 1502 DC A(COP2B),A(027) OP-2 SS & length + 1503 * Target +000012F4 00947FA0 00000200 1504 DC A(9*MB+(9*K32)-96),A(512) Op-1 & length +000012FC 00A47F80 00000200 1505 DC A(10*MB+(9*K32)-128),A(512) Op-2 & length + 1506 * +00001304 00000006 1507 DC A(6) not CC0 or CC3 Fail mask + 1508 * Ending register values +00001308 00948185 0000001B 1509 DC A(9*MB+(9*K32)+(512-27)-96),A(027) OP-1 +00001310 00A48165 0000001B 1510 DC A(10*MB+(9*K32)+(512-27)-128),A(027) OP-2 + +00001318 1512 SC5T4 DS 0F +00001318 54 1513 DC X'54' Test Num +00001319 000000 1514 DC XL3'00' + 1515 * +0000131C 03 1516 DC AL1(3) SS Length +0000131D 00 1517 DC X'00' Pad Byte +0000131E 77 1518 DC X'77' First-Operand SS last byte +0000131F 77 1519 DC X'77' Second-Operand SS last byte + 1520 * Source +00001320 0000A40C 0000001B 1521 DC A(COP1D),A(027) Op-1 SS & length +00001328 0001340C 0000001B 1522 DC A(COP2D),A(027) OP-2 SS & length + 1523 * Target +00001330 0094FFA0 00000200 1524 DC A(9*MB+(10*K32)-96),A(512) Op-1 & length +00001338 00A4FF80 00000200 1525 DC A(10*MB+(10*K32)-128),A(512) Op-2 & length + 1526 * +00001340 00000006 1527 DC A(6) not CC0 or CC3 Fail mask + 1528 * Ending register values +00001344 00950185 0000001B 1529 DC A(9*MB+(10*K32)+(512-27)-96),A(27) OP-1 +0000134C 00A50165 0000001B 1530 DC A(10*MB+(10*K32)+(512-27)-128),A(27) OP-2 + + 1532 * subtring starts on a page boundary + +00001354 1534 SC5T5 DS 0F +00001354 55 1535 DC X'55' Test Num +00001355 000000 1536 DC XL3'00' + 1537 * +00001358 04 1538 DC AL1(4) SS Length +00001359 00 1539 DC X'00' Pad Byte +0000135A CC 1540 DC X'CC' First-Operand SS last byte +0000135B CC 1541 DC X'CC' Second-Operand SS last byte + 1542 * Source +0000135C 0000380C 00000004 1543 DC A(COP1A),A(004) Op-1 SS & length +00001364 0000C80C 00000004 1544 DC A(COP2A),A(004) OP-2 SS & length + 1545 * Target +0000136C 00957FFC 00000008 1546 DC A(9*MB+(11*K32)-4),A(8) Op-1 & length +00001374 00A57FFC 00000008 1547 DC A(10*MB+(11*K32)-4),A(8) Op-2 & length + 1548 * +0000137C 00000007 1549 DC A(7) CC0 Fail mask + 1550 * Ending register values +00001380 00958000 00000004 1551 DC A(9*MB+(11*K32)-4+(8-4)),A(004) OP-1 +00001388 00A58000 00000004 1552 DC A(10*MB+(11*K32)-4+(8-4)),A(004) OP-2 + + 1554 * subtring starts on a byte before page boundary + +00001390 1556 SC5T6 DS 0F + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 33 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +00001390 56 1557 DC X'56' Test Num +00001391 000000 1558 DC XL3'00' + 1559 * +00001394 04 1560 DC AL1(4) SS Length +00001395 00 1561 DC X'00' Pad Byte +00001396 CC 1562 DC X'CC' First-Operand SS last byte +00001397 CC 1563 DC X'CC' Second-Operand SS last byte + 1564 * Source +00001398 0000380C 00000004 1565 DC A(COP1A),A(004) Op-1 SS & length +000013A0 0000C80C 00000004 1566 DC A(COP2A),A(004) OP-2 SS & length + 1567 * Target +000013A8 0095FFFB 00000008 1568 DC A(9*MB+(12*K32)-5),A(8) Op-1 & length +000013B0 00A5FFFB 00000008 1569 DC A(10*MB+(12*K32)-5),A(8) Op-2 & length + 1570 * +000013B8 00000007 1571 DC A(7) CC0 Fail mask + 1572 * Ending register values +000013BC 0095FFFF 00000004 1573 DC A(9*MB+(12*K32)-5+(8-4)),A(004) OP-1 +000013C4 00A5FFFF 00000004 1574 DC A(10*MB+(12*K32)-5+(8-4)),A(004) OP-2 + + 1576 * subtring starts on a byte after page boundary + +000013CC 1578 SC5T7 DS 0F +000013CC 57 1579 DC X'57' Test Num +000013CD 000000 1580 DC XL3'00' + 1581 * +000013D0 04 1582 DC AL1(4) SS Length +000013D1 00 1583 DC X'00' Pad Byte +000013D2 CC 1584 DC X'CC' First-Operand SS last byte +000013D3 CC 1585 DC X'CC' Second-Operand SS last byte + 1586 * Source +000013D4 0000380C 00000004 1587 DC A(COP1A),A(004) Op-1 SS & length +000013DC 0000C80C 00000004 1588 DC A(COP2A),A(004) OP-2 SS & length + 1589 * Target +000013E4 00967FFD 00000008 1590 DC A(9*MB+(13*K32)-3),A(8) Op-1 & length +000013EC 00A67FFD 00000008 1591 DC A(10*MB+(13*K32)-3),A(8) Op-2 & length + 1592 * +000013F4 00000007 1593 DC A(7) CC0 Fail mask + 1594 * Ending register values +000013F8 00968001 00000004 1595 DC A(9*MB+(13*K32)-3+(8-4)),A(004) OP-1 +00001400 00A68001 00000004 1596 DC A(10*MB+(13*K32)-3+(8-4)),A(004) OP-2 + + 1598 * Strings with multiple equal bytes + 1599 * subtring starts on a page boundary + +00001408 1601 SC5T8 DS 0F +00001408 58 1602 DC X'58' Test Num +00001409 000000 1603 DC XL3'00' + 1604 * +0000140C 04 1605 DC AL1(4) SS Length +0000140D 00 1606 DC X'00' Pad Byte +0000140E CC 1607 DC X'CC' First-Operand SS last byte +0000140F CC 1608 DC X'CC' Second-Operand SS last byte + 1609 * Source +00001410 0000800C 00000004 1610 DC A(COP1C),A(004) Op-1 SS & length +00001418 0001100C 00000004 1611 DC A(COP2C),A(004) OP-2 SS & length + 1612 * Target + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 34 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +00001420 0096FFFC 00000008 1613 DC A(9*MB+(14*K32)-4),A(8) Op-1 & length +00001428 00A6FFFC 00000008 1614 DC A(10*MB+(14*K32)-4),A(8) Op-2 & length + 1615 * +00001430 00000007 1616 DC A(7) CC0 Fail mask + 1617 * Ending register values +00001434 0096FFFD 00000007 1618 DC A(9*MB+(14*K32)-4+(8-7)),A(007) OP-1 +0000143C 00A6FFFD 00000007 1619 DC A(10*MB+(14*K32)-4+(8-7)),A(007) OP-2 + + 1621 * subtring starts on a byte before page boundary + +00001444 1623 SC5T9 DS 0F +00001444 59 1624 DC X'59' Test Num +00001445 000000 1625 DC XL3'00' + 1626 * +00001448 04 1627 DC AL1(4) SS Length +00001449 00 1628 DC X'00' Pad Byte +0000144A CC 1629 DC X'CC' First-Operand SS last byte +0000144B CC 1630 DC X'CC' Second-Operand SS last byte + 1631 * Source +0000144C 0000800C 00000004 1632 DC A(COP1C),A(004) Op-1 SS & length +00001454 0001100C 00000004 1633 DC A(COP2C),A(004) OP-2 SS & length + 1634 * Target +0000145C 00977FFB 00000008 1635 DC A(9*MB+(15*K32)-5),A(8) Op-1 & length +00001464 00A77FFB 00000008 1636 DC A(10*MB+(15*K32)-5),A(8) Op-2 & length + 1637 * +0000146C 00000007 1638 DC A(7) CC0 Fail mask + 1639 * Ending register values +00001470 00977FFC 00000007 1640 DC A(9*MB+(15*K32)-5+(8-7)),A(007) OP-1 +00001478 00A77FFC 00000007 1641 DC A(10*MB+(15*K32)-5+(8-7)),A(007) OP-2 + + 1643 * subtring starts on a byte after page boundary + +00001480 1645 SC5TA DS 0F +00001480 5A 1646 DC X'5A' Test Num +00001481 000000 1647 DC XL3'00' + 1648 * +00001484 04 1649 DC AL1(4) SS Length +00001485 00 1650 DC X'00' Pad Byte +00001486 CC 1651 DC X'CC' First-Operand SS last byte +00001487 CC 1652 DC X'CC' Second-Operand SS last byte + 1653 * Source +00001488 0000800C 00000004 1654 DC A(COP1C),A(004) Op-1 SS & length +00001490 0001100C 00000004 1655 DC A(COP2C),A(004) OP-2 SS & length + 1656 * Target +00001498 0097FFFD 00000008 1657 DC A(9*MB+(16*K32)-3),A(8) Op-1 & length +000014A0 00A7FFFD 00000008 1658 DC A(10*MB+(16*K32)-3),A(8) Op-2 & length + 1659 * +000014A8 00000007 1660 DC A(7) CC0 Fail mask + 1661 * Ending register values +000014AC 0097FFFE 00000007 1662 DC A(9*MB+(16*K32)-3+(8-7)),A(007) OP-1 +000014B4 00A7FFFE 00000007 1663 DC A(10*MB+(16*K32)-3+(8-7)),A(007) OP-2 + + 1665 * Strings with multiple equal bytes + 1666 * subtring starts on a page boundary + +000014BC 1668 SC5TB DS 0F + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 35 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +000014BC 5B 1669 DC X'5B' Test Num +000014BD 000000 1670 DC XL3'00' + 1671 * +000014C0 04 1672 DC AL1(4) SS Length +000014C1 00 1673 DC X'00' Pad Byte +000014C2 CC 1674 DC X'CC' First-Operand SS last byte +000014C3 CC 1675 DC X'CC' Second-Operand SS last byte + 1676 * Source +000014C4 0000A40C 00000004 1677 DC A(COP1D),A(004) Op-1 SS & length +000014CC 0001340C 00000004 1678 DC A(COP2D),A(004) OP-2 SS & length + 1679 * Target +000014D4 00987FFC 00000008 1680 DC A(9*MB+(17*K32)-4),A(8) Op-1 & length +000014DC 00A87FFC 00000008 1681 DC A(10*MB+(17*K32)-4),A(8) Op-2 & length + 1682 * +000014E4 00000007 1683 DC A(7) CC0 Fail mask + 1684 * Ending register values +000014E8 00988000 00000004 1685 DC A(9*MB+(17*K32)-4+(8-4)),A(004) OP-1 +000014F0 00A88000 00000004 1686 DC A(10*MB+(17*K32)-4+(8-4)),A(004) OP-2 + + 1688 * subtring starts on a byte before page boundary + +000014F8 1690 SC5TC DS 0F +000014F8 5C 1691 DC X'5C' Test Num +000014F9 000000 1692 DC XL3'00' + 1693 * +000014FC 04 1694 DC AL1(4) SS Length +000014FD 00 1695 DC X'00' Pad Byte +000014FE CC 1696 DC X'CC' First-Operand SS last byte +000014FF CC 1697 DC X'CC' Second-Operand SS last byte + 1698 * Source +00001500 0000A40C 00000004 1699 DC A(COP1D),A(004) Op-1 SS & length +00001508 0001340C 00000004 1700 DC A(COP2D),A(004) OP-2 SS & length + 1701 * Target +00001510 0098FFFB 00000008 1702 DC A(9*MB+(18*K32)-5),A(8) Op-1 & length +00001518 00A8FFFB 00000008 1703 DC A(10*MB+(18*K32)-5),A(8) Op-2 & length + 1704 * +00001520 00000007 1705 DC A(7) CC0 Fail mask + 1706 * Ending register values +00001524 0098FFFF 00000004 1707 DC A(9*MB+(18*K32)-5+(8-4)),A(004) OP-1 +0000152C 00A8FFFF 00000004 1708 DC A(10*MB+(18*K32)-5+(8-4)),A(004) OP-2 + + 1710 * subtring starts on a byte after page boundary + +00001534 1712 SC5TD DS 0F +00001534 5D 1713 DC X'5D' Test Num +00001535 000000 1714 DC XL3'00' + 1715 * +00001538 04 1716 DC AL1(4) SS Length +00001539 00 1717 DC X'00' Pad Byte +0000153A CC 1718 DC X'CC' First-Operand SS last byte +0000153B CC 1719 DC X'CC' Second-Operand SS last byte + 1720 * Source +0000153C 0000A40C 00000004 1721 DC A(COP1D),A(004) Op-1 SS & length +00001544 0001340C 00000004 1722 DC A(COP2D),A(004) OP-2 SS & length + 1723 * Target +0000154C 00997FFD 00000008 1724 DC A(9*MB+(19*K32)-3),A(8) Op-1 & length + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 36 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +00001554 00A97FFD 00000008 1725 DC A(10*MB+(19*K32)-3),A(8) Op-2 & length + 1726 * +0000155C 00000007 1727 DC A(7) CC0 Fail mask + 1728 * Ending register values +00001560 00998001 00000004 1729 DC A(9*MB+(19*K32)-3+(8-4)),A(004) OP-1 +00001568 00A98001 00000004 1730 DC A(10*MB+(19*K32)-3+(8-4)),A(004) OP-2 + 1731 + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 37 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 1733 *********************************************************************** + 1734 * potential tests for CUSE-02-performance + 1735 *********************************************************************** + + 1737 * Cross page bounday - operand-1 and operand-2 + +00001570 1739 PTE1 DS 0F +00001570 E1 1740 DC X'E1' Test Num +00001571 000000 1741 DC XL3'00' + 1742 * +00001574 04 1743 DC AL1(4) SS Length +00001575 00 1744 DC X'00' Pad Byte +00001576 EE 1745 DC X'EE' First-Operand SS last byte +00001577 EE 1746 DC X'EE' Second-Operand SS last byte + 1747 * Source +00001578 0000380C 00000004 1748 DC A(COP1A),A(004) Op-1 SS & length +00001580 0000C80C 00000004 1749 DC A(COP2A),A(004) OP-2 SS & length + 1750 * Target +00001588 00B07FC1 00000200 1751 DC A(11*MB+(1*K32)-63),A(512) Op-1 & length +00001590 00C07FC8 00000200 1752 DC A(12*MB+(1*K32)-56),A(512) Op-2 & length + 1753 * +00001598 00000007 1754 DC A(7) CC0 Fail mask + 1755 * Ending register values +0000159C 00B081BD 00000004 1756 DC A(11*MB+(1*K32)-63+(512-4)),A(004) OP-1 +000015A4 00C081C4 00000004 1757 DC A(12*MB+(1*K32)-56+(512-4)),A(004) OP-2 + +000015AC 1759 PTE2 DS 0F +000015AC E2 1760 DC X'E2' Test Num +000015AD 000000 1761 DC XL3'00' + 1762 * +000015B0 08 1763 DC AL1(8) SS Length +000015B1 00 1764 DC X'00' Pad Byte +000015B2 77 1765 DC X'77' First-Operand SS last byte +000015B3 77 1766 DC X'77' Second-Operand SS last byte + 1767 * Source +000015B4 0000380C 00000008 1768 DC A(COP1A),A(008) Op-1 SS & length +000015BC 0000C80C 00000008 1769 DC A(COP2A),A(008) OP-2 SS & length + 1770 * Target +000015C4 00B0FFA0 00000200 1771 DC A(11*MB+(2*K32)-96),A(512) Op-1 & length +000015CC 00C0FF80 00000200 1772 DC A(12*MB+(2*K32)-128),A(512) Op-2 & length + 1773 * +000015D4 00000007 1774 DC A(7) CC0 Fail mask + 1775 * Ending register values +000015D8 00B10198 00000008 1776 DC A(11*MB+(2*K32)+(512-8)-96),A(008) OP-1 +000015E0 00C10178 00000008 1777 DC A(12*MB+(2*K32)+(512-8)-128),A(008) OP-2 + + +000015E8 1779 PTE3 DS 0F +000015E8 E3 1780 DC X'E3' Test Num +000015E9 000000 1781 DC XL3'00' + 1782 * +000015EC 10 1783 DC AL1(16) SS Length +000015ED 00 1784 DC X'00' Pad Byte +000015EE 77 1785 DC X'77' First-Operand SS last byte +000015EF 77 1786 DC X'77' Second-Operand SS last byte + 1787 * Source + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 38 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +000015F0 0000380C 00000010 1788 DC A(COP1A),A(016) Op-1 SS & length +000015F8 0000C80C 00000010 1789 DC A(COP2A),A(016) OP-2 SS & length + 1790 * Target +00001600 00B17FA0 00000200 1791 DC A(11*MB+(3*K32)-96),A(512) Op-1 & length +00001608 00C17F80 00000200 1792 DC A(12*MB+(3*K32)-128),A(512) Op-2 & length + 1793 * +00001610 00000007 1794 DC A(7) CC0 Fail mask + 1795 * Ending register values +00001614 00B18190 00000010 1796 DC A(11*MB+(3*K32)+(512-16)-96),A(016) OP-1 +0000161C 00C18170 00000010 1797 DC A(12*MB+(3*K32)+(512-16)-128),A(016) OP-2 + + +00001624 1799 PTE4 DS 0F +00001624 E4 1800 DC X'E4' Test Num +00001625 000000 1801 DC XL3'00' + 1802 * +00001628 20 1803 DC AL1(32) SS Length +00001629 00 1804 DC X'00' Pad Byte +0000162A 77 1805 DC X'77' First-Operand SS last byte +0000162B 77 1806 DC X'77' Second-Operand SS last byte + 1807 * Source +0000162C 0000380C 00000020 1808 DC A(COP1A),A(032) Op-1 SS & length +00001634 0000C80C 00000020 1809 DC A(COP2A),A(032) OP-2 SS & length + 1810 * Target +0000163C 00B1FFA0 00000200 1811 DC A(11*MB+(4*K32)-96),A(512) Op-1 & length +00001644 00C1FF80 00000200 1812 DC A(12*MB+(4*K32)-128),A(512) Op-2 & length + 1813 * +0000164C 00000006 1814 DC A(6) not CC0 or CC3 Fail mask + 1815 * Ending register values +00001650 00B20180 00000020 1816 DC A(11*MB+(4*K32)+(512-32)-96),A(032) OP-1 +00001658 00C20160 00000020 1817 DC A(12*MB+(4*K32)+(512-32)-128),A(032) OP-2 + + +00001660 1819 PTE5 DS 0F +00001660 E5 1820 DC X'E5' Test Num +00001661 000000 1821 DC XL3'00' + 1822 * +00001664 40 1823 DC AL1(64) SS Length +00001665 00 1824 DC X'00' Pad Byte +00001666 77 1825 DC X'77' First-Operand SS last byte +00001667 77 1826 DC X'77' Second-Operand SS last byte + 1827 * Source +00001668 0000380C 00000040 1828 DC A(COP1A),A(064) Op-1 SS & length +00001670 0000C80C 00000040 1829 DC A(COP2A),A(064) OP-2 SS & length + 1830 * Target +00001678 00B27FA0 00000200 1831 DC A(11*MB+(5*K32)-96),A(512) Op-1 & length +00001680 00C27F80 00000200 1832 DC A(12*MB+(5*K32)-128),A(512) Op-2 & length + 1833 * +00001688 00000006 1834 DC A(6) not CC0 or CC3 Fail mask + 1835 * Ending register values +0000168C 00B28160 00000040 1836 DC A(11*MB+(5*K32)+(512-64)-96),A(064) OP-1 +00001694 00C28140 00000040 1837 DC A(12*MB+(5*K32)+(512-64)-128),A(064) OP-2 + + +0000169C 1839 PTE6 DS 0F +0000169C E6 1840 DC X'E6' Test Num + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 39 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +0000169D 000000 1841 DC XL3'00' + 1842 * +000016A0 01 1843 DC AL1(1) SS Length +000016A1 00 1844 DC X'00' Pad Byte +000016A2 77 1845 DC X'77' First-Operand SS last byte +000016A3 77 1846 DC X'77' Second-Operand SS last byte + 1847 * Source +000016A4 0000380C 00000020 1848 DC A(COP1A),A(032) Op-1 SS & length +000016AC 0000C80C 00000020 1849 DC A(COP2A),A(032) OP-2 SS & length + 1850 * Target +000016B4 00B2FFA0 00000200 1851 DC A(11*MB+(6*K32)-96),A(512) Op-1 & length +000016BC 00C2FF80 00000200 1852 DC A(12*MB+(6*K32)-128),A(512) Op-2 & length + 1853 * +000016C4 00000006 1854 DC A(6) not CC0 or CC3 Fail mask + 1855 * Ending register values +000016C8 00B30180 00000020 1856 DC A(11*MB+(6*K32)+(512-32)-96),A(032) OP-1 +000016D0 00C30160 00000020 1857 DC A(12*MB+(6*K32)+(512-32)-128),A(032) OP-2 + + +000016D8 1859 PTE7 DS 0F +000016D8 E7 1860 DC X'E7' Test Num +000016D9 000000 1861 DC XL3'00' + 1862 * +000016DC 04 1863 DC AL1(4) SS Length +000016DD 00 1864 DC X'00' Pad Byte +000016DE 77 1865 DC X'77' First-Operand SS last byte +000016DF 77 1866 DC X'77' Second-Operand SS last byte + 1867 * Source +000016E0 0000800C 00000020 1868 DC A(COP1C),A(032) Op-1 SS & length +000016E8 0001100C 00000020 1869 DC A(COP2C),A(032) OP-2 SS & length + 1870 * Target +000016F0 00B37FA0 00000200 1871 DC A(11*MB+(7*K32)-96),A(512) Op-1 & length +000016F8 00C37F80 00000200 1872 DC A(12*MB+(7*K32)-128),A(512) Op-2 & length + 1873 * +00001700 00000006 1874 DC A(6) not CC0 or CC3 Fail mask + 1875 * Ending register values +00001704 00B3817D 00000023 1876 DC A(11*MB+(7*K32)+(512-32)-96-3),A(032+3) OP-1 +0000170C 00C3815D 00000023 1877 DC A(12*MB+(7*K32)+(512-32)-128-3),A(032+3) OP-2 + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 40 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 1879 *********************************************************************** + 1880 * potential tests for CUSE-02-performance + 1881 *********************************************************************** + +00001714 1883 PTF1 DS 0F +00001714 F1 1884 DC X'F1' Test Num +00001715 000000 1885 DC XL3'00' + 1886 * +00001718 3E 1887 DC AL1(62) SS Length +00001719 00 1888 DC X'00' Pad Byte +0000171A EE 1889 DC X'EE' First-Operand SS last byte +0000171B EE 1890 DC X'EE' Second-Operand SS last byte + 1891 * Source +0000171C 0000380C 0000003E 1892 DC A(COP1A),A(062) Op-1 SS & length +00001724 0000C80C 0000003E 1893 DC A(COP2A),A(062) OP-2 SS & length + 1894 * Target +0000172C 00D08000 00000200 1895 DC A(13*MB+(1*K32)),A(512) Op-1 & length +00001734 00E08000 00000200 1896 DC A(14*MB+(1*K32)),A(512) Op-2 & length + 1897 * +0000173C 00000007 1898 DC A(7) CC0 Fail mask + 1899 * Ending register values +00001740 00D081C2 0000003E 1900 DC A(13*MB+(1*K32)+(512-62)),A(062) OP-1 +00001748 00E081C2 0000003E 1901 DC A(14*MB+(1*K32)+(512-62)),A(062) OP-2 + + 1903 * Cross page bounday - operand-1 and operand-2 + +00001750 1905 PTF2 DS 0F +00001750 F2 1906 DC X'F2' Test Num +00001751 000000 1907 DC XL3'00' + 1908 * +00001754 20 1909 DC AL1(32) SS Length +00001755 00 1910 DC X'00' Pad Byte +00001756 77 1911 DC X'77' First-Operand SS last byte +00001757 77 1912 DC X'77' Second-Operand SS last byte + 1913 * Source +00001758 0000380C 00000020 1914 DC A(COP1A),A(032) Op-1 SS & length +00001760 0000C80C 00000020 1915 DC A(COP2A),A(032) OP-2 SS & length + 1916 * Target +00001768 00D0FFA0 00000200 1917 DC A(13*MB+(2*K32)-96),A(512) Op-1 & length +00001770 00E0FF80 00000200 1918 DC A(14*MB+(2*K32)-128),A(512) Op-2 & length + 1919 * +00001778 00000007 1920 DC A(7) CC0 Fail mask + 1921 * Ending register values +0000177C 00D10180 00000020 1922 DC A(13*MB+(2*K32)+(512-32)-96),A(032) OP-1 +00001784 00E10160 00000020 1923 DC A(14*MB+(2*K32)+(512-32)-128),A(032) OP-2 + + +0000178C 1925 PTF3 DS 0F +0000178C F3 1926 DC X'F3' Test Num +0000178D 000000 1927 DC XL3'00' + 1928 * +00001790 3E 1929 DC AL1(62) SS Length +00001791 00 1930 DC X'00' Pad Byte +00001792 77 1931 DC X'77' First-Operand SS last byte +00001793 77 1932 DC X'77' Second-Operand SS last byte + 1933 * Source + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 41 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +00001794 0000380C 0000003E 1934 DC A(COP1A),A(062) Op-1 SS & length +0000179C 0000C80C 0000003E 1935 DC A(COP2A),A(062) OP-2 SS & length + 1936 * Target +000017A4 00D17FA0 00000800 1937 DC A(13*MB+(3*K32)-96),A(2048) Op-1 & length +000017AC 00E17F80 00000800 1938 DC A(14*MB+(3*K32)-128),A(2048) Op-2 & length + 1939 * +000017B4 00000007 1940 DC A(7) CC0 Fail mask + 1941 * Ending register values +000017B8 00D18762 0000003E 1942 DC A(13*MB+(3*K32)+(2048-62)-96),A(062) OP-1 +000017C0 00E18742 0000003E 1943 DC A(14*MB+(3*K32)+(2048-62)-128),A(062) OP-2 + + +000017C8 1945 PTF4 DS 0F +000017C8 F4 1946 DC X'F4' Test Num +000017C9 000000 1947 DC XL3'00' + 1948 * +000017CC 20 1949 DC AL1(32) SS Length +000017CD 00 1950 DC X'00' Pad Byte +000017CE 77 1951 DC X'77' First-Operand SS last byte +000017CF 77 1952 DC X'77' Second-Operand SS last byte + 1953 * Source +000017D0 0000380C 00000020 1954 DC A(COP1A),A(032) Op-1 SS & length +000017D8 0000C80C 00000020 1955 DC A(COP2A),A(032) OP-2 SS & length + 1956 * Target +000017E0 00D1FFA0 00000F80 1957 DC A(13*MB+(4*K32)-96),A(4096-128) Op-1 & length +000017E8 00E1FF80 00000F80 1958 DC A(14*MB+(4*K32)-128),A(4096-128) Op-2 & length + 1959 * +000017F0 00000006 1960 DC A(6) not CC0 or CC3 Fail mask + 1961 * Ending register values +000017F4 00D20F00 00000020 1962 DC A(13*MB+(4*K32)+(4096-128-32)-96),A(032) OP-1 +000017FC 00E20EE0 00000020 1963 DC A(14*MB+(4*K32)+(4096-128-32)-128),A(032) OP-2 + + + +00001804 00000000 1965 DC A(0) end of table +00001808 00000000 1966 DC A(0) end of table + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 42 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 1968 *********************************************************************** + 1969 * CUSE Operand-1 scan data... + 1970 *********************************************************************** + +0000180C 1972 DS 0F +0000180C 98765432 98765432 1973 DC 2048XL4'98765432' +0000380C 111111F0 111111F0 1974 COP1A DC 256XL4'111111F0' + +00003C0C 1976 DS 0F +00003C0C 98765432 98765432 1977 DC 2048XL4'98765432' +00005C0C 40404040 40404040 1978 COP1B DC 256XL4'40404040' + +0000600C 1980 DS 0F +0000600C 11223344 11223344 1981 DC 2048XL4'11223344' +0000800C 40404040 40404040 1982 COP1C DC 256XL4'40404040' + +0000840C 1984 DS 0F +0000840C 11223344 11223344 1985 DC 2048XL4'11223344' +0000A40C 40404040 40404040 1986 COP1D DC 256XL4'40404040' + + + + + 1988 *********************************************************************** + 1989 * CUSE Operand-2 scan data + 1990 *********************************************************************** + +0000A80C 1992 DS 0F +0000A80C 89ABCDEF 89ABCDEF 1993 DC 2048XL4'89ABCDEF' +0000C80C 111111F0 111111F0 1994 COP2A DC 256XL4'111111F0' + +0000CC0C 1996 DS 0F +0000CC0C 89ABCDEF 89ABCDEF 1997 DC 2048XL4'89ABCDEF' +0000EC0C 40404040 40404040 1998 COP2B DC 256XL4'40404040' + +0000F00C 2000 DS 0F +0000F00C F1223344 F1223344 2001 DC 2048XL4'FF1223344' +0001100C 40404040 40404040 2002 COP2C DC 256XL4'40404040' + +0001140C 2004 DS 0F +0001140C FF223377 FF223377 2005 DC 2048XL4'FF223377' +0001340C 40404040 40404040 2006 COP2D DC 256XL4'40404040' + + + + + 2008 *********************************************************************** + 2009 * Register equates + 2010 *********************************************************************** + + + 00000000 00000001 2012 R0 EQU 0 + 00000001 00000001 2013 R1 EQU 1 + 00000002 00000001 2014 R2 EQU 2 + 00000003 00000001 2015 R3 EQU 3 + 00000004 00000001 2016 R4 EQU 4 + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 43 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 00000005 00000001 2017 R5 EQU 5 + 00000006 00000001 2018 R6 EQU 6 + 00000007 00000001 2019 R7 EQU 7 + 00000008 00000001 2020 R8 EQU 8 + 00000009 00000001 2021 R9 EQU 9 + 0000000A 00000001 2022 R10 EQU 10 + 0000000B 00000001 2023 R11 EQU 11 + 0000000C 00000001 2024 R12 EQU 12 + 0000000D 00000001 2025 R13 EQU 13 + 0000000E 00000001 2026 R14 EQU 14 + 0000000F 00000001 2027 R15 EQU 15 + + + 2029 END + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 44 + + SYMBOL TYPE VALUE LENGTH DEFN REFERENCES + +BEGIN I 00000200 2 80 46 77 78 209 +CC0T1 F 000005F8 4 288 +CC0T2 F 00000634 4 308 +CC0T3 F 00000670 4 328 +CC0T4 F 000006AC 4 348 +CC0T5 F 000006E8 4 368 +CC0T6 F 00000724 4 388 +CC0T7 F 00000760 4 412 +CC0T8 F 0000079C 4 434 +CC0T9 F 000007D8 4 456 +CC0TA F 00000814 4 480 +CC0TB F 00000850 4 502 +CC0TC F 0000088C 4 526 +CC0TD F 000008C8 4 548 +CC0TE F 00000904 4 570 +CC0TF F 00000940 4 592 +CC1T1 F 0000097C 4 616 +CC1T2 F 000009B8 4 636 +CC1T3 F 000009F4 4 656 +CC1T4 F 00000A30 4 676 +CC1T5 F 00000A6C 4 696 +CC1T6 F 00000AA8 4 716 +CC1T7 F 00000AE4 4 740 +CC1T8 F 00000B20 4 762 +CC1T9 F 00000B5C 4 784 +CC1TA F 00000B98 4 808 +CC1TB F 00000BD4 4 830 +CC1TC F 00000C10 4 854 +CC1TD F 00000C4C 4 876 +CC1TE F 00000C88 4 898 +CC1TF F 00000CC4 4 920 +CC2T1 F 00000D00 4 944 +CC2T2 F 00000D3C 4 964 +CC2T3 F 00000D78 4 984 +CC2T4 F 00000DB4 4 1004 +CC2T5 F 00000DF0 4 1024 +CC2T6 F 00000E2C 4 1044 +CC2T7 F 00000E68 4 1068 +CC2T8 F 00000EA4 4 1090 +CC2T9 F 00000EE0 4 1112 +CC2TA F 00000F1C 4 1136 +CC2TB F 00000F58 4 1158 +CC2TC F 00000F94 4 1182 +CC2TD F 00000FD0 4 1204 +CC2TE F 0000100C 4 1226 +CC2TF F 00001048 4 1248 +CC3T1 F 00001084 4 1272 +CC3T3 F 000010C0 4 1292 +CC3T4 F 000010FC 4 1312 +CC3T7 F 00001138 4 1336 +CC3T8 F 00001174 4 1358 +CC3T9 F 000011B0 4 1380 +COP1A X 0000380C 4 1974 297 317 337 357 377 397 421 443 465 625 645 665 685 + 705 725 749 771 793 953 973 993 1013 1033 1053 1077 1099 + 1121 1281 1301 1321 1345 1367 1389 1543 1565 1587 1748 1768 1788 + 1808 1828 1848 1892 1914 1934 1954 + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 45 + + SYMBOL TYPE VALUE LENGTH DEFN REFERENCES + +COP1B X 00005C0C 4 1978 489 511 535 557 579 601 817 839 863 885 907 929 1145 + 1167 1191 1213 1235 1257 1414 1435 1501 +COP1C X 0000800C 4 1982 1461 1481 1610 1632 1654 1868 +COP1D X 0000A40C 4 1986 1521 1677 1699 1721 +COP2A X 0000C80C 4 1994 298 318 338 358 378 398 422 444 466 626 646 666 686 + 706 726 750 772 794 954 974 994 1014 1034 1054 1078 1100 + 1122 1282 1302 1322 1346 1368 1390 1544 1566 1588 1749 1769 1789 + 1809 1829 1849 1893 1915 1935 1955 +COP2B X 0000EC0C 4 1998 490 512 536 558 580 602 818 840 864 886 908 930 1146 + 1168 1192 1214 1236 1258 1415 1436 1502 +COP2C X 0001100C 4 2002 1462 1482 1611 1633 1655 1869 +COP2D X 0001340C 4 2006 1522 1678 1700 1722 +CUSE1TST J 00000000 79884 41 44 48 52 109 42 +CUSEBC I 000005BE 4 205 171 +CUSECTL A 000005F8 4 282 123 +CUSEDONE I 000005BC 2 203 200 +CUSEFAIL I 000005B8 4 202 181 185 191 195 205 +CUSENEXT U 0000003C 1 272 197 +CUSETEST 4 00000000 60 243 124 +DOAGAIN I 0000056A 4 169 172 +ENDOP1 A 0000002C 4 267 177 +ENDOP2 A 00000034 4 269 187 +EOJ I 000005D8 4 217 103 +EOJPSW D 000005C8 8 215 217 +FAILMASK A 00000028 4 264 160 +FAILPSW D 000005E0 8 219 221 +FAILTEST I 000005F0 4 221 98 101 202 +IMAGE 1 00000000 79884 0 +K U 00000400 1 230 231 232 233 234 235 +K32 U 00008000 1 233 300 301 305 306 320 321 325 326 340 341 345 346 360 + 361 365 366 380 381 385 386 400 401 405 406 424 425 + 429 430 446 447 451 452 468 469 473 474 492 493 497 + 498 514 515 519 520 538 539 543 544 560 561 565 566 + 582 583 587 588 604 605 609 610 628 629 633 634 648 + 649 653 654 668 669 673 674 688 689 693 694 708 709 + 713 714 728 729 733 734 752 753 757 758 774 775 779 + 780 796 797 801 802 820 821 825 826 842 843 847 848 + 866 867 871 872 888 889 893 894 910 911 915 916 932 + 933 937 938 956 957 961 962 976 977 981 982 996 997 + 1001 1002 1016 1017 1021 1022 1036 1037 1041 1042 1056 1057 1061 + 1062 1080 1081 1085 1086 1102 1103 1107 1108 1124 1125 1129 1130 + 1148 1149 1153 1154 1170 1171 1175 1176 1194 1195 1199 1200 1216 + 1217 1221 1222 1238 1239 1243 1244 1260 1261 1265 1266 1284 1285 + 1289 1290 1304 1305 1309 1310 1324 1325 1329 1330 1348 1349 1353 + 1354 1370 1371 1375 1376 1392 1393 1397 1398 1417 1418 1422 1423 + 1438 1439 1443 1444 1464 1465 1469 1470 1484 1485 1489 1490 1504 + 1505 1509 1510 1524 1525 1529 1530 1546 1547 1551 1552 1568 1569 + 1573 1574 1590 1591 1595 1596 1613 1614 1618 1619 1635 1636 1640 + 1641 1657 1658 1662 1663 1680 1681 1685 1686 1702 1703 1707 1708 + 1724 1725 1729 1730 1751 1752 1756 1757 1771 1772 1776 1777 1791 + 1792 1796 1797 1811 1812 1816 1817 1831 1832 1836 1837 1851 1852 + 1856 1857 1871 1872 1876 1877 1895 1896 1900 1901 1917 1918 1922 + 1923 1937 1938 1942 1943 1957 1958 1962 1963 +K4 U 00001000 1 232 +K64 U 00010000 1 234 +MB U 00100000 1 235 300 301 305 306 320 321 325 326 340 341 345 346 360 + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 46 + + SYMBOL TYPE VALUE LENGTH DEFN REFERENCES + + 361 365 366 380 381 385 386 400 401 405 406 424 425 + 429 430 446 447 451 452 468 469 473 474 492 493 497 + 498 514 515 519 520 538 539 543 544 560 561 565 566 + 582 583 587 588 604 605 609 610 628 629 633 634 648 + 649 653 654 668 669 673 674 688 689 693 694 708 709 + 713 714 728 729 733 734 752 753 757 758 774 775 779 + 780 796 797 801 802 820 821 825 826 842 843 847 848 + 866 867 871 872 888 889 893 894 910 911 915 916 932 + 933 937 938 956 957 961 962 976 977 981 982 996 997 + 1001 1002 1016 1017 1021 1022 1036 1037 1041 1042 1056 1057 1061 + 1062 1080 1081 1085 1086 1102 1103 1107 1108 1124 1125 1129 1130 + 1148 1149 1153 1154 1170 1171 1175 1176 1194 1195 1199 1200 1216 + 1217 1221 1222 1238 1239 1243 1244 1260 1261 1265 1266 1284 1285 + 1289 1290 1304 1305 1309 1310 1324 1325 1329 1330 1348 1349 1353 + 1354 1370 1371 1375 1376 1392 1393 1397 1398 1417 1418 1422 1423 + 1438 1439 1443 1444 1464 1465 1469 1470 1484 1485 1489 1490 1504 + 1505 1509 1510 1524 1525 1529 1530 1546 1547 1551 1552 1568 1569 + 1573 1574 1590 1591 1595 1596 1613 1614 1618 1619 1635 1636 1640 + 1641 1657 1658 1662 1663 1680 1681 1685 1686 1702 1703 1707 1708 + 1724 1725 1729 1730 1751 1752 1756 1757 1771 1772 1776 1777 1791 + 1792 1796 1797 1811 1812 1816 1817 1831 1832 1836 1837 1851 1852 + 1856 1857 1871 1872 1876 1877 1895 1896 1900 1901 1917 1918 1922 + 1923 1937 1938 1942 1943 1957 1958 1962 1963 +OP1LEN F 0000001C 4 259 135 139 +OP1WHERE A 00000018 4 258 134 +OP2LEN F 00000024 4 261 148 152 +OP2WHERE A 00000020 4 260 147 +OPSWHERE U 00000018 1 257 166 +PAD X 00000005 1 248 164 +PAD4T1 F 000011EC 4 1405 +PAD4T2 F 00001228 4 1426 +PAGE U 00001000 1 231 +PTE1 F 00001570 4 1739 +PTE2 F 000015AC 4 1759 +PTE3 F 000015E8 4 1779 +PTE4 F 00001624 4 1799 +PTE5 F 00001660 4 1819 +PTE6 F 0000169C 4 1839 +PTE7 F 000016D8 4 1859 +PTF1 F 00001714 4 1883 +PTF2 F 00001750 4 1905 +PTF3 F 0000178C 4 1925 +PTF4 F 000017C8 4 1945 +R0 U 00000000 1 2012 42 163 +R1 U 00000001 1 2013 164 +R10 U 0000000A 1 2022 127 128 136 137 138 140 149 150 151 153 177 180 187 + 190 +R11 U 0000000B 1 2023 139 152 160 161 171 177 184 187 194 +R12 U 0000000C 1 2024 +R13 U 0000000D 1 2025 +R14 U 0000000E 1 2026 91 202 203 +R15 U 0000000F 1 2027 208 +R2 U 00000002 1 2014 134 140 142 143 166 169 180 +R3 U 00000003 1 2015 135 137 184 +R4 U 00000004 1 2016 147 153 155 156 169 190 +R5 U 00000005 1 2017 148 150 166 194 + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 47 + + SYMBOL TYPE VALUE LENGTH DEFN REFERENCES + +R6 U 00000006 1 2018 123 124 197 198 207 +R7 U 00000007 1 2019 +R8 U 00000008 1 2020 77 80 81 82 84 209 +R9 U 00000009 1 2021 78 84 85 +REG2LOW U 000000DD 1 275 +REG2PATT U AABBCCDD 1 274 +SC5T1 F 00001264 4 1452 +SC5T2 F 000012A0 4 1472 +SC5T3 F 000012DC 4 1492 +SC5T4 F 00001318 4 1512 +SC5T5 F 00001354 4 1534 +SC5T6 F 00001390 4 1556 +SC5T7 F 000013CC 4 1578 +SC5T8 F 00001408 4 1601 +SC5T9 F 00001444 4 1623 +SC5TA F 00001480 4 1645 +SC5TB F 000014BC 4 1668 +SC5TC F 000014F8 4 1690 +SC5TD F 00001534 4 1712 +SS1ADDR A 00000008 4 252 136 +SS1LAST X 00000006 1 249 143 +SS1LEN A 0000000C 4 253 138 +SS2ADDR A 00000010 4 254 149 +SS2LAST X 00000007 1 250 156 +SS2LEN A 00000014 4 255 151 +SSLEN R 00000004 1 247 163 +SUBTEST X 00000401 1 113 100 168 179 183 189 193 +TEST01 I 00000502 4 121 91 +TESTADDR D 00000400 8 111 +TESTNUM X 00000400 1 112 97 121 128 +TNUM X 00000000 1 244 127 +TST1LOOP U 0000050A 1 126 199 +=F'0' F 000005F4 4 228 198 + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 48 + +MACRO DEFN REFERENCES + +No defined macros + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 49 + + DESC SYMBOL SIZE POS ADDR + +Entry: 0 + +Image IMAGE 79884 00000-1380B 00000-1380B + Region 79884 00000-1380B 00000-1380B + CSECT CUSE1TST 79884 00000-1380B 00000-1380B + ASMA Ver. 0.2.1 CUSE-01-basic (Test CUSE instruction) 09 Nov 2022 15:53:17 Page 50 + + STMT FILE NAME + +1 /devstor/dev/tests/CUSE-01-basic.asm + + +** NO ERRORS FOUND ** + + \ No newline at end of file diff --git a/tests/CUSE-01-basic.pdf b/tests/CUSE-01-basic.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ba97dd33f55fb43af8e416e3df41f8630d1098b1 GIT binary patch literal 340228 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%0AZd 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 X} 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%0AXf~8s<^yP)h{e^j3s=87o@HelR_P@^Db?`0+|g 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 O0tnF6tCC7mp#KBRMbmr$ literal 0 HcmV?d00001 diff --git a/tests/CUSE-01-basic.tst b/tests/CUSE-01-basic.tst new file mode 100644 index 000000000..ea36ea81b --- /dev/null +++ b/tests/CUSE-01-basic.tst @@ -0,0 +1,17 @@ +*Testcase CUSE-01-basic (Test CUSE instruction) + +# --------------------------------------------------------------------- +# This tests only the basic function of the CUSE instruction. +# Specification Exceptions are NOT tested. +# --------------------------------------------------------------------- + +mainsize 16 +numcpu 1 +sysclear +archlvl z/Arch + +loadcore "$(testpath)/CUSE-01-basic.core" 0x0 + +runtest 1 + +*Done diff --git a/tests/CUSE-02-performance.asm b/tests/CUSE-02-performance.asm new file mode 100644 index 000000000..faac99f5e --- /dev/null +++ b/tests/CUSE-02-performance.asm @@ -0,0 +1,680 @@ + TITLE ' CUSE-02-performance (Test CUSE instructions)' +*********************************************************************** +* +* CUSE Performance instruction tests +* +*********************************************************************** +* +* This program ONLY tests the performance of the CUSE instructions. +* +* +* ******************** +* ** IMPORTANT! ** +* ******************** +* +* This test uses the Hercules Diagnose X'008' interface +* to display messages and thus your .tst runtest script +* MUST contain a "DIAG8CMD ENABLE" statement within it! +* +* +* NOTE: This test is based on the CLCL-et-al Test but modified to +* only test the CUSE instruction. -- James Wekel November 2022 +* +*********************************************************************** +* +* Example Hercules Testcase: +* +* +* *Testcase CUSE-02-performance (Test CUSE instructions) +* +* mainsize 16 +* numcpu 1 +* sysclear +* archlvl z/Arch +* loadcore "$(testpath)/CUSE-02-performance.core" 0x0 +* diag8cmd enable # (needed for messages to Hercules console) +* #r 408=ff # (enable timing tests) +* runtest 500 # (test duration, depends on host) +* diag8cmd disable # (reset back to default) +* *Done +* +* +*********************************************************************** + EJECT +*********************************************************************** +* +* Tests: +* Both opernand-1 and operand-2 cross a page boundary. +* +* 1. CUSE of 512 bytes - substring length 1 +* 2. CUSE of 512 bytes - substring length 4 +* 3. CUSE of 512 bytes - substring length 8 +* 4. CUSE of 512 bytes - substring length 32 +* 5. CUSE of 512 bytes - substring length 32 (different strings) +* 6. CUSE of 4160 (4096+64) bytes - substring length 32 +* which results in a CC=3, and a branch back +* to complete the CUSE instruction. +* +*********************************************************************** + SPACE 3 +CUSE2TST START 0 + USING CUSE2TST,R0 Low core addressability + SPACE 4 + ORG CUSE2TST+X'1A0' z/Architecure RESTART PSW + DC X'0000000180000000' + DC AD(BEGIN) + SPACE 2 + ORG CUSE2TST+X'1D0' z/Architecure PROGRAM CHECK PSW + DC X'0002000180000000' + DC AD(X'DEAD') + SPACE 4 + ORG CUSE2TST+X'200' Start of actual test program... + EJECT +*********************************************************************** +* The actual "CUSE2TST" program itself... +*********************************************************************** +* +* Architecture Mode: z/Arch +* Register Usage: +* +* R0 (work) +* R1 (work) +* R2 (work) or MSG subroutine call +* R3 (work) +* R4 (work) +* R6 CUSETEST Base (of current test) +* R7 (work) +* R8 First base register +* R9 Second base register +* R10-R13 (work) +* R14 Subroutine call +* R15 Secondary Subroutine call or work +* +*********************************************************************** + SPACE + USING BEGIN,R8 FIRST Base Register + USING BEGIN+4096,R9 SECOND Base Register + SPACE +BEGIN BALR R8,0 Initalize FIRST base register + BCTR R8,0 Initalize FIRST base register + BCTR R8,0 Initalize FIRST base register + SPACE + LA R9,2048(,R8) Initalize SECOND base register + LA R9,2048(,R9) Initalize SECOND base register + SPACE +*********************************************************************** +* Run the performance test(s)... +*********************************************************************** + SPACE + BAL R14,TEST91 Time CUSE instruction (speed test) + SPACE 2 +*********************************************************************** +* Test for normal or unexpected test completion... +*********************************************************************** + SPACE + CLI TIMEOPT,X'FF' Was this a timing run? + BNE EOJ No, timing run; just go end normally + SPACE + CLI TESTNUM,X'F4' Did we end on expected test? + BNE FAILTEST No?! Then FAIL the test! + SPACE + CLI SUBTEST,X'99' Did we end on expected SUB-test? + BNE FAILTEST No?! Then FAIL the test! + SPACE + B EOJ Yes, then normal completion! + EJECT +*********************************************************************** +* Fixed test storage locations ... +*********************************************************************** + SPACE 2 + ORG CUSE2TST+X'400' + SPACE 4 +TESTADDR DS 0D Where test/subtest numbers will go +TESTNUM DC X'99' Test number of active test +SUBTEST DC X'99' Active test sub-test number + SPACE 2 + DS 0D +TIMEOPT DC X'00' Set to non-zero to run timing tests + SPACE 2 + DS 0D +SAVE2T5 DC 4F'0' +SAVER2 DC F'0' +SAVER6 DC F'0' + SPACE 4 + ORG *+X'100' + EJECT +*********************************************************************** +* TEST91 Time CUSE instruction (speed test) +*********************************************************************** + SPACE +TEST91 TM TIMEOPT,X'FF' Is timing tests option enabled? + BZR R14 No, skip timing tests + SPACE + LA R6,CUSEPERF Point R5 --> testing control table + USING CUSETEST,R6 What each table entry looks like + SPACE +TST91LOP EQU * + ST R6,SAVER6 Save current pref table base + SPACE + IC R7,TNUM Set test number + STC R7,TESTNUM +* +** Initialize operand data (move data to testing address) +* +* Build Operand-1 + SPACE + L R2,OP1WHERE Where to move operand-1 data to + L R3,OP1LEN Get operand-1 length + L R10,SS1ADDR Calculate OP 1 starting + SR R10,R3 address + A R10,SS1LEN + L R11,OP1LEN + MVCL R2,R10 + SPACE + BCTR R2,0 less one for last char addr + MVC 0(0,R2),SS1LAST set last char + SPACE +* Build Operand-2 + SPACE + L R4,OP2WHERE Where to move operand-1 data to + L R5,OP2LEN Get operand-1 length + L R10,SS2ADDR Calculate OP 2 starting + SR R10,R5 address + A R10,SS2LEN + L R11,OP2LEN + MVCL R4,R10 + SPACE + BCTR R4,0 less one for last char addr + MVC 0(0,R4),SS2LAST set last char + SPACE +* Set Substring length and pad byte + SPACE + IC R0,SSLEN Set SS length + IC R1,PAD Set SS Pad byte + EJECT +*********************************************************************** +* Define come helpful macros to ensure our counts are correct +*********************************************************************** + SPACE 4 + MACRO + OVERONLY &NUM &NUM = number of sets + LCLA &CTR +&CTR SETA &NUM +.LOOP ANOP +.* +* + LM R2,R5,OPSWHERE + BC B'0001',*+4 +.* +&CTR SETA &CTR-1 + AIF (&CTR GT 0).LOOP + MEND + SPACE 5 + MACRO + DOINSTR &NUM &NUM = number of sets + LCLA &CTR +&CTR SETA &NUM +.LOOP ANOP +.* +* + LM R2,R5,OPSWHERE + CUSE R2,R4 + BC B'0001',*-4 +.* +&CTR SETA &CTR-1 + AIF (&CTR GT 0).LOOP + MEND + EJECT +*********************************************************************** +* Next, time the overhead... +*********************************************************************** + SPACE + L R7,NUMLOOPS + STCK BEGCLOCK + STM R2,R5,SAVE2T5 + BALR R10,0 +* 100 sets of overhead + OVERONLY 2 (first 2) + SPACE +* .........ETC......... + SPACE + PRINT OFF + OVERONLY 96 (3-98) + PRINT ON + SPACE + OVERONLY 2 (last 2) + SPACE + BCTR R7,R10 + STCK ENDCLOCK + BAL R15,CALCDUR + MVC OVERHEAD,DURATION + EJECT +*********************************************************************** +* Now do the actual timing run... +*********************************************************************** + SPACE + L R7,NUMLOOPS + STCK BEGCLOCK + BALR R10,0 +* 100 sets of instructions + DOINSTR 2 (first 2) + SPACE +* .........ETC......... + SPACE + PRINT OFF + DOINSTR 96 (3-98) + PRINT ON + SPACE + DOINSTR 2 (last 2) + SPACE + BCTR R7,R10 + STCK ENDCLOCK + SPACE + LM R2,R5,SAVE2T5 + MVC PRTLINE+33(5),=CL5'CUSE' + BAL R15,RPTSPEED +* +** More performance tests? +* + L R6,SAVER6 Restore perf table base + LA R6,CUSENEXT Go on to next table entry + CLC =F'0',0(R6) End of table? + BNE TST91LOP No, loop... + BR R14 Return to caller or FAILTEST + EJECT +*********************************************************************** +* RPTSPEED Report instruction speed +*********************************************************************** + SPACE +RPTSPEED ST R15,RPTSAVE Save return address + STM R5,R7,RPTSVR5T7 Save R5-7 + SPACE + BAL R15,CALCDUR Calculate duration + SPACE + LA R5,OVERHEAD Subtract overhead + LA R6,DURATION From raw timing + LA R7,DURATION Yielding true instruction timing + BAL R15,SUBDWORD Do it + SPACE + LM R10,R11,DURATION Convert to... + SRDL R10,12 ... microseconds + SPACE + CVD R10,TICKSAAA Convert HIGH part to decimal + CVD R11,TICKSBBB Convert LOW part to decimal + SPACE + ZAP TICKSTOT,TICKSAAA Calculate... + MP TICKSTOT,=P'4294967296' ...decimal... + AP TICKSTOT,TICKSBBB ...microseconds + SPACE + MVC PRTLINE+43(L'EDIT),EDIT (edit into... + ED PRTLINE+43(L'EDIT),TICKSTOT+3 ...print line) + SPACE 3 +* +* Use Hercules Diagnose for Message to console +* + STM R0,R2,RPTDWSAV Save regs used by MSG + LA R0,PRTLNG Message length + LA R1,PRTLINE Message address + BAL R2,MSG Call Hercules console MSG display + LM R0,R2,RPTDWSAV Restore regs + SPACE 2 + LM R5,R7,RPTSVR5T7 Restore R5-7 + L R15,RPTSAVE Restore return address + BR R15 Return to caller + SPACE +RPTSAVE DC F'0' R15 save area +RPTSVR5T7 DC 3F'0' R5-R7 save area + SPACE +RPTDWSAV DC 2D'0' R0-R2 save area for MSG call + EJECT +*********************************************************************** +* CALCDUR Calculate DURATION +*********************************************************************** + SPACE +CALCDUR ST R15,CALCRET Save return address + STM R5,R7,CALCWORK Save work registers + SPACE + LM R6,R7,BEGCLOCK Remove CPU number from clock value + SRDL R6,6 " + SLDL R6,6 " + STM R6,R7,BEGCLOCK " + SPACE + LM R6,R7,ENDCLOCK Remove CPU number from clock value + SRDL R6,6 " + SLDL R6,6 " + STM R6,R7,ENDCLOCK " + SPACE + LA R5,BEGCLOCK Starting time + LA R6,ENDCLOCK Ending time + LA R7,DURATION Difference + BAL R15,SUBDWORD Calculate duration + SPACE + LM R5,R7,CALCWORK Restore work registers + L R15,CALCRET Restore return address + BR R15 Return to caller + SPACE +CALCRET DC F'0' R15 save area +CALCWORK DC 3F'0' R5-R7 save area + SPACE 4 +*********************************************************************** +* SUBDWORD Subtract two doublewords +* R5 --> subtrahend, R6 --> minuend, R7 --> result +*********************************************************************** + SPACE +SUBDWORD STM R1,R4,SUBDWSAV Save registers + SPACE + LM R1,R2,0(R5) Subtrahend (value to subtract) + LM R3,R4,0(R6) Minuend (what to subtract FROM) + SLR R4,R2 Subtract LOW part + BNM *+4+4 (branch if no borrow) + SL R3,=F'1' (otherwise do borrow) + SLR R3,R1 Subtract HIGH part + STM R3,R4,0(R7) Store results + SPACE + LM R1,R4,SUBDWSAV Restore registers + BR R15 Return to caller + SPACE +SUBDWSAV DC 2D'0' R1-R4 save area + EJECT +*********************************************************************** +* Issue HERCULES MESSAGE pointed to by R1, length in R0 +* R2 = return address +*********************************************************************** + SPACE +MSG CH R0,=H'0' Do we even HAVE a message? + BNHR R2 No, ignore + SPACE + STM R0,R2,MSGSAVE Save registers + SPACE + CH R0,=AL2(L'MSGMSG) Message length within limits? + BNH MSGOK Yes, continue + LA R0,L'MSGMSG No, set to maximum + SPACE +MSGOK LR R2,R0 Copy length to work register + BCTR R2,0 Minus-1 for execute + EX R2,MSGMVC Copy message to O/P buffer + SPACE + LA R2,1+L'MSGCMD(,R2) Calculate true command length + LA R1,MSGCMD Point to true command + SPACE + DC X'83',X'12',X'0008' Issue Hercules Diagnose X'008' + BZ MSGRET Return if successful + DC H'0' CRASH for debugging purposes + SPACE +MSGRET LM R0,R2,MSGSAVE Restore registers + BR R2 Return to caller + SPACE 6 +MSGSAVE DC 3F'0' Registers save area +MSGMVC MVC MSGMSG(0),0(R1) Executed instruction + SPACE 2 +MSGCMD DC C'MSGNOH * ' *** HERCULES MESSAGE COMMAND *** +MSGMSG DC CL95' ' The message text to be displayed + EJECT +*********************************************************************** +* Normal completion or Abnormal termination PSWs +*********************************************************************** + SPACE 2 +EOJPSW DC 0D'0',X'0002000180000000',AD(0) + SPACE +EOJ LPSWE EOJPSW Normal completion + SPACE 3 +FAILPSW DC 0D'0',X'0002000180000000',AD(X'BAD') + SPACE +FAILTEST LPSWE FAILPSW Abnormal termination + SPACE 4 +*********************************************************************** +* Working Storage +*********************************************************************** + SPACE + LTORG , Literals pool + SPACE 2 +K EQU 1024 One KB +PAGE EQU (4*K) Size of one page +K32 EQU (32*K) 32 KB +K64 EQU (64*K) 64 KB +MB EQU (K*K) 1 MB + SPACE +NUMLOOPS DC F'10000' 10,000 * 100 = 1,000,000 + SPACE +BEGCLOCK DC 0D'0',8X'BB' Begin +ENDCLOCK DC 0D'0',8X'EE' End +DURATION DC 0D'0',8X'DD' Diff +OVERHEAD DC 0D'0',8X'FF' Overhead + SPACE +TICKSAAA DC PL8'0' Clock ticks high part +TICKSBBB DC PL8'0' Clock ticks low part +TICKSTOT DC PL8'0' Total clock ticks + SPACE +PRTLINE DC C' 1,000,000 iterations of XXXXX' + DC C' took 999,999,999 microseconds' +PRTLNG EQU *-PRTLINE +EDIT DC X'402020206B2020206B202120' + EJECT +*********************************************************************** +* CUSETEST DSECT +*********************************************************************** + SPACE 2 +CUSETEST DSECT , +TNUM DC X'00' CUSE table number + DC XL3'00' + SPACE 2 +SSLEN DC AL1(0) CUSE - SS length +PAD DC X'00' CUSE - Pad byte +SS1LAST DC X'00' First-Operand SS last byte +SS2LAST DC X'00' Second-Operand SS last byte + SPACE 2 +SS1ADDR DC A(0) First-Operand SS Address +SS1LEN DC A(0) First-Operand SS length +SS2ADDR DC A(0) Second-Operand SS Address +SS2LEN DC A(0) Second-Operand SS length + SPACE 2 +OPSWHERE EQU * +OP1WHERE DC A(0) Where Operand-1 data should be placed +OP1LEN DC F'0' CUSE - First-Operand Length +OP2WHERE DC A(0) Where Operand-2 data should be placed +OP2LEN DC F'0' CUSE - Second-Operand Length + + SPACE 2 +FAILMASK DC A(0) Failure Branch on Condition mask + SPACE 2 +* Ending register values +ENDOP1 DC A(0) Operand 1 address + DC A(0) Operand 1 length +ENDOP2 DC A(0) Operand 2 address + DC A(0) Operand 2 length + SPACE 2 +CUSENEXT EQU * Start of next table entry... + SPACE 6 +REG2PATT EQU X'AABBCCDD' Polluted Register pattern +REG2LOW EQU X'DD' (last byte above) + EJECT +*********************************************************************** +* CUSE Performace Test data... +*********************************************************************** + SPACE +CUSE2TST CSECT , +CUSEPERF DC 0A(0) Start of table + SPACE 2 +*********************************************************************** +* performance test data +*********************************************************************** + SPACE +* Cross page bounday - operand-1 and operand-2 + SPACE +PTE6 DS 0F + DC X'E6' Test Num + DC XL3'00' +* + DC AL1(1) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(032) Op-1 SS & length + DC A(COP2A),A(032) OP-2 SS & length +* Target + DC A(11*MB+(6*K32)-96),A(512) Op-1 & length + DC A(12*MB+(6*K32)-128),A(512) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(11*MB+(6*K32)+(512-32)-96),A(032) OP-1 + DC A(12*MB+(6*K32)+(512-32)-128),A(032) OP-2 + SPACE 2 +PTE1 DS 0F + DC X'E1' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'00' Pad Byte + DC X'EE' First-Operand SS last byte + DC X'EE' Second-Operand SS last byte +* Source + DC A(COP1A),A(004) Op-1 SS & length + DC A(COP2A),A(004) OP-2 SS & length +* Target + DC A(11*MB+(1*K32)-63),A(512) Op-1 & length + DC A(12*MB+(1*K32)-56),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(11*MB+(1*K32)-63+(512-4)),A(004) OP-1 + DC A(12*MB+(1*K32)-56+(512-4)),A(004) OP-2 + SPACE +PTE2 DS 0F + DC X'E2' Test Num + DC XL3'00' +* + DC AL1(8) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(008) Op-1 SS & length + DC A(COP2A),A(008) OP-2 SS & length +* Target + DC A(11*MB+(2*K32)-96),A(512) Op-1 & length + DC A(12*MB+(2*K32)-128),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(11*MB+(2*K32)+(512-8)-96),A(008) OP-1 + DC A(12*MB+(2*K32)+(512-8)-128),A(008) OP-2 + SPACE 2 +PTF2 DS 0F + DC X'F2' Test Num + DC XL3'00' +* + DC AL1(32) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(032) Op-1 SS & length + DC A(COP2A),A(032) OP-2 SS & length +* Target + DC A(13*MB+(2*K32)-96),A(512) Op-1 & length + DC A(14*MB+(2*K32)-128),A(512) Op-2 & length +* + DC A(7) CC0 Fail mask +* Ending register values + DC A(13*MB+(2*K32)+(512-32)-96),A(032) OP-1 + DC A(14*MB+(2*K32)+(512-32)-128),A(032) OP-2 + SPACE 2 +PTE7 DS 0F + DC X'E7' Test Num + DC XL3'00' +* + DC AL1(4) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1C),A(032) Op-1 SS & length + DC A(COP2C),A(032) OP-2 SS & length +* Target + DC A(11*MB+(7*K32)-96),A(512) Op-1 & length + DC A(12*MB+(7*K32)-128),A(512) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(11*MB+(7*K32)+(512-32)-96-3),A(032+3) OP-1 + DC A(12*MB+(7*K32)+(512-32)-128-3),A(032+3) OP-2 + SPACE 2 +PTF4 DS 0F + DC X'F4' Test Num + DC XL3'00' +* + DC AL1(32) SS Length + DC X'00' Pad Byte + DC X'77' First-Operand SS last byte + DC X'77' Second-Operand SS last byte +* Source + DC A(COP1A),A(032) Op-1 SS & length + DC A(COP2A),A(032) OP-2 SS & length +* Target + DC A(13*MB+(4*K32)-96),A(4096-128) Op-1 & length + DC A(14*MB+(4*K32)-128),A(4096-128) Op-2 & length +* + DC A(6) not CC0 or CC3 Fail mask +* Ending register values + DC A(13*MB+(4*K32)+(4096-128-32)-96),A(032) OP-1 + DC A(14*MB+(4*K32)+(4096-128-32)-128),A(032) OP-2 + SPACE 3 + DC A(0) end of table + DC A(0) end of table + EJECT +*********************************************************************** +* CUSE Operand-1 scan data... +*********************************************************************** + SPACE + DS 0F + DC 2048XL4'98765432' +COP1A DC 256XL4'111111F0' + SPACE + DS 0F + DC 2048XL4'98765432' +COP1B DC 256XL4'40404040' + SPACE + DS 0F + DC 2048XL4'11223344' +COP1C DC 256XL4'40404040' + SPACE 4 +*********************************************************************** +* CUSE Operand-2 scan data +*********************************************************************** + SPACE + DS 0F + DC 2048XL4'89ABCDEF' +COP2A DC 256XL4'111111F0' + SPACE + DS 0F + DC 2048XL4'89ABCDEF' +COP2B DC 256XL4'40404040' + SPACE + DS 0F + DC 2048XL4'FF223344' +COP2C DC 256XL4'40404040' + SPACE 4 +*********************************************************************** +* Register equates +*********************************************************************** + SPACE 2 +R0 EQU 0 +R1 EQU 1 +R2 EQU 2 +R3 EQU 3 +R4 EQU 4 +R5 EQU 5 +R6 EQU 6 +R7 EQU 7 +R8 EQU 8 +R9 EQU 9 +R10 EQU 10 +R11 EQU 11 +R12 EQU 12 +R13 EQU 13 +R14 EQU 14 +R15 EQU 15 + SPACE 2 + END diff --git a/tests/CUSE-02-performance.core b/tests/CUSE-02-performance.core new file mode 100644 index 0000000000000000000000000000000000000000..5fc4c62e77caa9fa9b7b0bf958286a3b074812c6 GIT binary patch literal 59824 zcmeI5e`phD9Eaa@X;QS*REmg}d2`WC5z(&f4=Hld)}V+KDH^2HLu7&$38PadZcTsK zS-mTnv>}yFLfeUGJF;4&Y;Hu`ZDlyAp^AtrwR9>@x=e~pDR%EA-z8s%;$LG6{hVB$ zC%t=ncW<7=1WGFemjC$-SbWJ7%t+cxB}1_Nhr3?7A8p9=+2lW$|EO^JgQ8@l_U-1W znk={1@HJ1=2+3e`OO3^(J7)M^_1&;N-DaSrCEd>Wzd7H}!w=+YY1Qmw|h)~ks% z-WuUiw7H%YTD~WwWzBEj7SggkVJ$yrsZEIrMQApUswtjQ%_+A#=6@l#=gIBPoDDWL zDpaA_*9y(L)}dv3yhcxVrqSzPRO84D1s7>^-HzH;Vh6F4*h9QX>?d9!4iRq?$A}M! z6U4~`>#W3VVjeM{=p-&977~ky#l(%oGGaM#7qNm^NjyxfBkIH^Vk@zO*h%amUL^Jt zuMmfbw~1rKhr|iuWP(Sm#B5?7F`wupE+ZBai-^U=pBOspg7#3o`Z zv4hx2>>*wx_7krVhlsa{W5kEV3F2ge^;TjwF^`x}bP|^l3yDR?HQs4$0?Aq$H-Vh}w-oW8m*+PvV)=y;V5fj{2y%H~BF02h1O* z{L>8PIn3uVU(CFK`D*4Hm~Uaellea8hnUwhKf(MI^Rvt^Fu%+?=pYH{8`G6 z&R{-=`9kK)nXh8Lj`?Qh+nMiSzMpvw^G4<;nV)9f&HOv&KQX_-e3bb(^QS3qurZ&_ z{B`C_nZL_?4f9RRw=sX8`3KBDVSbExfO#A9FPVSM{0HVy=EKY%Fn^r#V;RhIn9pOr zn0W#7)yy|A-@<$+^L@+@F|TKSg83=tXPIAMewq1I=C_#NW&Viyvy>m7!F&$$h0K>T zU&VYK^Uch+GvC8}f8v!aDF4@wS{rkXGbOR(r##6A@(V30& z8w-c!t?`>bLswiv6uTTotVGd!gYte*erJz7f_>`M@2%vSRLV0s7~F02>YA__a`j7> z_ap3nM4n}@Jj+P(Eaez^jLH`s!=I<03C=DR!9q9>5|F91vnj}^~ZAeH$`9ddnPC3%?pov%{=ZbpSWWlSJIrT=qw4j`)JNcoaQ~b1oxK}V8tAu z0W^RH&;S}h184vZpaC?12G9T+Km%w14WI!ufCkV28bAYR01co4G=K)s02)Z|26A(A zV^}cia9_7 zXaEhM0W^RH&;S}h184vZpaC?12G9T+Km%w14WI!ufCkV28bAYR01co4G?3m6;O{<7 z&%gVG#~qKm*#KU@)BE)sj~^aCG=K)s02)98XaEhM0W^RH&;S}h184vZpaC?12G9T+ zKm%w14WI!ufCkV28ZaA3{vr?vW&krV?Pg#~{{1hkm;*F`2G9T+Km%w14WI!ufCkV2 x8bAYR01co4G=K)s02)98XaEhM0W^RH&;S}h1L@tswEKYvTrg$;GmxBtzW}D^mM;JR literal 0 HcmV?d00001 diff --git a/tests/CUSE-02-performance.list b/tests/CUSE-02-performance.list new file mode 100644 index 000000000..6d4099f62 --- /dev/null +++ b/tests/CUSE-02-performance.list @@ -0,0 +1,1054 @@ +ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 1 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 2 *********************************************************************** + 3 * + 4 * CUSE Performance instruction tests + 5 * + 6 *********************************************************************** + 7 * + 8 * This program ONLY tests the performance of the CUSE instructions. + 9 * + 10 * + 11 * ******************** + 12 * ** IMPORTANT! ** + 13 * ******************** + 14 * + 15 * This test uses the Hercules Diagnose X'008' interface + 16 * to display messages and thus your .tst runtest script + 17 * MUST contain a "DIAG8CMD ENABLE" statement within it! + 18 * + 19 * + 20 * NOTE: This test is based on the CLCL-et-al Test but modified to + 21 * only test the CUSE instruction. -- James Wekel November 2022 + 22 * + 23 *********************************************************************** + 24 * + 25 * Example Hercules Testcase: + 26 * + 27 * + 28 * *Testcase CUSE-02-performance (Test CUSE instructions) + 29 * + 30 * mainsize 16 + 31 * numcpu 1 + 32 * sysclear + 33 * archlvl z/Arch + 34 * loadcore "$(testpath)/CUSE-02-performance.core" 0x0 + 35 * diag8cmd enable # (needed for messages to Hercules console) + 36 * #r 408=ff # (enable timing tests) + 37 * runtest 500 # (test duration, depends on host) + 38 * diag8cmd disable # (reset back to default) + 39 * *Done + 40 * + 41 * + 42 *********************************************************************** + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 2 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 44 *********************************************************************** + 45 * + 46 * Tests: + 47 * Both opernand-1 and operand-2 cross a page boundary. + 48 * + 49 * 1. CUSE of 512 bytes - substring length 1 + 50 * 2. CUSE of 512 bytes - substring length 4 + 51 * 3. CUSE of 512 bytes - substring length 8 + 52 * 4. CUSE of 512 bytes - substring length 32 + 53 * 5. CUSE of 512 bytes - substring length 32 (different strings) + 54 * 6. CUSE of 4160 (4096+64) bytes - substring length 32 + 55 * which results in a CC=3, and a branch back + 56 * to complete the CUSE instruction. + 57 * + 58 *********************************************************************** + + + + 00000000 0000E9AF 60 CUSE2TST START 0 +00000000 00000000 61 USING CUSE2TST,R0 Low core addressability + + + + +00000000 00000000 000001A0 63 ORG CUSE2TST+X'1A0' z/Architecure RESTART PSW +000001A0 00000001 80000000 64 DC X'0000000180000000' +000001A8 00000000 00000200 65 DC AD(BEGIN) + + +000001B0 000001B0 000001D0 67 ORG CUSE2TST+X'1D0' z/Architecure PROGRAM CHECK PSW +000001D0 00020001 80000000 68 DC X'0002000180000000' +000001D8 00000000 0000DEAD 69 DC AD(X'DEAD') + + + + +000001E0 000001E0 00000200 71 ORG CUSE2TST+X'200' Start of actual test program... + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 3 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 73 *********************************************************************** + 74 * The actual "CUSE2TST" program itself... + 75 *********************************************************************** + 76 * + 77 * Architecture Mode: z/Arch + 78 * Register Usage: + 79 * + 80 * R0 (work) + 81 * R1 (work) + 82 * R2 (work) or MSG subroutine call + 83 * R3 (work) + 84 * R4 (work) + 85 * R6 CUSETEST Base (of current test) + 86 * R7 (work) + 87 * R8 First base register + 88 * R9 Second base register + 89 * R10-R13 (work) + 90 * R14 Subroutine call + 91 * R15 Secondary Subroutine call or work + 92 * + 93 *********************************************************************** + +00000200 00000200 95 USING BEGIN,R8 FIRST Base Register +00000200 00001200 96 USING BEGIN+4096,R9 SECOND Base Register + +00000200 0580 98 BEGIN BALR R8,0 Initalize FIRST base register +00000202 0680 99 BCTR R8,0 Initalize FIRST base register +00000204 0680 100 BCTR R8,0 Initalize FIRST base register + +00000206 4190 8800 00000800 102 LA R9,2048(,R8) Initalize SECOND base register +0000020A 4190 9800 00000800 103 LA R9,2048(,R9) Initalize SECOND base register + + 105 *********************************************************************** + 106 * Run the performance test(s)... + 107 *********************************************************************** + +0000020E 45E0 8328 00000528 109 BAL R14,TEST91 Time CUSE instruction (speed test) + + + 111 *********************************************************************** + 112 * Test for normal or unexpected test completion... + 113 *********************************************************************** + +00000212 95FF 8208 00000408 115 CLI TIMEOPT,X'FF' Was this a timing run? +00000216 4770 8D80 00000F80 116 BNE EOJ No, timing run; just go end normally + +0000021A 95F4 8200 00000400 118 CLI TESTNUM,X'F4' Did we end on expected test? +0000021E 4770 8D98 00000F98 119 BNE FAILTEST No?! Then FAIL the test! + +00000222 9599 8201 00000401 121 CLI SUBTEST,X'99' Did we end on expected SUB-test? +00000226 4770 8D98 00000F98 122 BNE FAILTEST No?! Then FAIL the test! + +0000022A 47F0 8D80 00000F80 124 B EOJ Yes, then normal completion! + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 4 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 126 *********************************************************************** + 127 * Fixed test storage locations ... + 128 *********************************************************************** + + +0000022E 0000022E 00000400 130 ORG CUSE2TST+X'400' + + + + +00000400 132 TESTADDR DS 0D Where test/subtest numbers will go +00000400 99 133 TESTNUM DC X'99' Test number of active test +00000401 99 134 SUBTEST DC X'99' Active test sub-test number + + +00000408 136 DS 0D +00000408 00 137 TIMEOPT DC X'00' Set to non-zero to run timing tests + + +00000410 139 DS 0D +00000410 00000000 00000000 140 SAVE2T5 DC 4F'0' +00000420 00000000 141 SAVER2 DC F'0' +00000424 00000000 142 SAVER6 DC F'0' + + + + +00000428 00000428 00000528 144 ORG *+X'100' + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 5 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 146 *********************************************************************** + 147 * TEST91 Time CUSE instruction (speed test) + 148 *********************************************************************** + +00000528 91FF 8208 00000408 150 TEST91 TM TIMEOPT,X'FF' Is timing tests option enabled? +0000052C 078E 151 BZR R14 No, skip timing tests + +0000052E 4160 8E40 00001040 153 LA R6,CUSEPERF Point R5 --> testing control table +00000532 00000000 154 USING CUSETEST,R6 What each table entry looks like + + 00000532 00000001 156 TST91LOP EQU * +00000532 5060 8224 00000424 157 ST R6,SAVER6 Save current pref table base + +00000536 4370 6000 00000000 159 IC R7,TNUM Set test number +0000053A 4270 8200 00000400 160 STC R7,TESTNUM + 161 * + 162 ** Initialize operand data (move data to testing address) + 163 * + 164 * Build Operand-1 + +0000053E 5820 6018 00000018 166 L R2,OP1WHERE Where to move operand-1 data to +00000542 5830 601C 0000001C 167 L R3,OP1LEN Get operand-1 length +00000546 58A0 6008 00000008 168 L R10,SS1ADDR Calculate OP 1 starting +0000054A 1BA3 169 SR R10,R3 address +0000054C 5AA0 600C 0000000C 170 A R10,SS1LEN +00000550 58B0 601C 0000001C 171 L R11,OP1LEN +00000554 0E2A 172 MVCL R2,R10 + +00000556 0620 174 BCTR R2,0 less one for last char addr +00000558 D200 2000 6006 00000000 00000006 175 MVC 0(0,R2),SS1LAST set last char + + 177 * Build Operand-2 + +0000055E 5840 6020 00000020 179 L R4,OP2WHERE Where to move operand-1 data to +00000562 5850 6024 00000024 180 L R5,OP2LEN Get operand-1 length +00000566 58A0 6010 00000010 181 L R10,SS2ADDR Calculate OP 2 starting +0000056A 1BA5 182 SR R10,R5 address +0000056C 5AA0 6014 00000014 183 A R10,SS2LEN +00000570 58B0 6024 00000024 184 L R11,OP2LEN +00000574 0E4A 185 MVCL R4,R10 + +00000576 0640 187 BCTR R4,0 less one for last char addr +00000578 D200 4000 6007 00000000 00000007 188 MVC 0(0,R4),SS2LAST set last char + + 190 * Set Substring length and pad byte + +0000057E 4300 6004 00000004 192 IC R0,SSLEN Set SS length +00000582 4310 6005 00000005 193 IC R1,PAD Set SS Pad byte + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 6 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 195 *********************************************************************** + 196 * Define come helpful macros to ensure our counts are correct + 197 *********************************************************************** + + + + + 199 MACRO + 200 OVERONLY &NUM &NUM = number of sets + 201 LCLA &CTR + 202 &CTR SETA &NUM + 203 .LOOP ANOP + 204 .* + 205 * + 206 LM R2,R5,OPSWHERE + 207 BC B'0001',*+4 + 208 .* + 209 &CTR SETA &CTR-1 + 210 AIF (&CTR GT 0).LOOP + 211 MEND + + + + + + 213 MACRO + 214 DOINSTR &NUM &NUM = number of sets + 215 LCLA &CTR + 216 &CTR SETA &NUM + 217 .LOOP ANOP + 218 .* + 219 * + 220 LM R2,R5,OPSWHERE + 221 CUSE R2,R4 + 222 BC B'0001',*-4 + 223 .* + 224 &CTR SETA &CTR-1 + 225 AIF (&CTR GT 0).LOOP + 226 MEND + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 7 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 228 *********************************************************************** + 229 * Next, time the overhead... + 230 *********************************************************************** + +00000586 5870 8DB4 00000FB4 232 L R7,NUMLOOPS +0000058A B205 8DB8 00000FB8 233 STCK BEGCLOCK +0000058E 9025 8210 00000410 234 STM R2,R5,SAVE2T5 +00000592 05A0 235 BALR R10,0 + 236 * 100 sets of overhead + 237 OVERONLY 2 (first 2) + 238+* +00000594 9825 6018 00000018 239+ LM R2,R5,OPSWHERE +00000598 4710 839C 0000059C 240+ BC B'0001',*+4 + 241+* +0000059C 9825 6018 00000018 242+ LM R2,R5,OPSWHERE +000005A0 4710 83A4 000005A4 243+ BC B'0001',*+4 + + 245 * .........ETC......... + + 247 PRINT OFF + 537 PRINT ON + + 539 OVERONLY 2 (last 2) + 540+* +000008A4 9825 6018 00000018 541+ LM R2,R5,OPSWHERE +000008A8 4710 86AC 000008AC 542+ BC B'0001',*+4 + 543+* +000008AC 9825 6018 00000018 544+ LM R2,R5,OPSWHERE +000008B0 4710 86B4 000008B4 545+ BC B'0001',*+4 + +000008B4 067A 547 BCTR R7,R10 +000008B6 B205 8DC0 00000FC0 548 STCK ENDCLOCK +000008BA 45F0 8C30 00000E30 549 BAL R15,CALCDUR +000008BE D207 8DD0 8DC8 00000FD0 00000FC8 550 MVC OVERHEAD,DURATION + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 8 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 552 *********************************************************************** + 553 * Now do the actual timing run... + 554 *********************************************************************** + +000008C4 5870 8DB4 00000FB4 556 L R7,NUMLOOPS +000008C8 B205 8DB8 00000FB8 557 STCK BEGCLOCK +000008CC 05A0 558 BALR R10,0 + 559 * 100 sets of instructions + 560 DOINSTR 2 (first 2) + 561+* +000008CE 9825 6018 00000018 562+ LM R2,R5,OPSWHERE +000008D2 B257 0024 563+ CUSE R2,R4 +000008D6 4710 86D2 000008D2 564+ BC B'0001',*-4 + 565+* +000008DA 9825 6018 00000018 566+ LM R2,R5,OPSWHERE +000008DE B257 0024 567+ CUSE R2,R4 +000008E2 4710 86DE 000008DE 568+ BC B'0001',*-4 + + 570 * .........ETC......... + + 572 PRINT OFF + 958 PRINT ON + + 960 DOINSTR 2 (last 2) + 961+* +00000D66 9825 6018 00000018 962+ LM R2,R5,OPSWHERE +00000D6A B257 0024 963+ CUSE R2,R4 +00000D6E 4710 8B6A 00000D6A 964+ BC B'0001',*-4 + 965+* +00000D72 9825 6018 00000018 966+ LM R2,R5,OPSWHERE +00000D76 B257 0024 967+ CUSE R2,R4 +00000D7A 4710 8B76 00000D76 968+ BC B'0001',*-4 + +00000D7E 067A 970 BCTR R7,R10 +00000D80 B205 8DC0 00000FC0 971 STCK ENDCLOCK + +00000D84 9825 8210 00000410 973 LM R2,R5,SAVE2T5 +00000D88 D204 8E11 8DA8 00001011 00000FA8 974 MVC PRTLINE+33(5),=CL5'CUSE' +00000D8E 45F0 8BA6 00000DA6 975 BAL R15,RPTSPEED + 976 * + 977 ** More performance tests? + 978 * +00000D92 5860 8224 00000424 979 L R6,SAVER6 Restore perf table base +00000D96 4160 603C 0000003C 980 LA R6,CUSENEXT Go on to next table entry +00000D9A D503 8D9C 6000 00000F9C 00000000 981 CLC =F'0',0(R6) End of table? +00000DA0 4770 8332 00000532 982 BNE TST91LOP No, loop... +00000DA4 07FE 983 BR R14 Return to caller or FAILTEST + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 9 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 985 *********************************************************************** + 986 * RPTSPEED Report instruction speed + 987 *********************************************************************** + +00000DA6 50F0 8C10 00000E10 989 RPTSPEED ST R15,RPTSAVE Save return address +00000DAA 9057 8C14 00000E14 990 STM R5,R7,RPTSVR5T7 Save R5-7 + +00000DAE 45F0 8C30 00000E30 992 BAL R15,CALCDUR Calculate duration + +00000DB2 4150 8DD0 00000FD0 994 LA R5,OVERHEAD Subtract overhead +00000DB6 4160 8DC8 00000FC8 995 LA R6,DURATION From raw timing +00000DBA 4170 8DC8 00000FC8 996 LA R7,DURATION Yielding true instruction timing +00000DBE 45F0 8C84 00000E84 997 BAL R15,SUBDWORD Do it + +00000DC2 98AB 8DC8 00000FC8 999 LM R10,R11,DURATION Convert to... +00000DC6 8CA0 000C 0000000C 1000 SRDL R10,12 ... microseconds + +00000DCA 4EA0 8DD8 00000FD8 1002 CVD R10,TICKSAAA Convert HIGH part to decimal +00000DCE 4EB0 8DE0 00000FE0 1003 CVD R11,TICKSBBB Convert LOW part to decimal + +00000DD2 F877 8DE8 8DD8 00000FE8 00000FD8 1005 ZAP TICKSTOT,TICKSAAA Calculate... +00000DD8 FC75 8DE8 8DAD 00000FE8 00000FAD 1006 MP TICKSTOT,=P'4294967296' ...decimal... +00000DDE FA77 8DE8 8DE0 00000FE8 00000FE0 1007 AP TICKSTOT,TICKSBBB ...microseconds + +00000DE4 D20B 8E1B 8E34 0000101B 00001034 1009 MVC PRTLINE+43(L'EDIT),EDIT (edit into... +00000DEA DE0B 8E1B 8DEB 0000101B 00000FEB 1010 ED PRTLINE+43(L'EDIT),TICKSTOT+3 ...print line) + + + + 1012 * + 1013 * Use Hercules Diagnose for Message to console + 1014 * +00000DF0 9002 8C20 00000E20 1015 STM R0,R2,RPTDWSAV Save regs used by MSG +00000DF4 4100 0044 00000044 1016 LA R0,PRTLNG Message length +00000DF8 4110 8DF0 00000FF0 1017 LA R1,PRTLINE Message address +00000DFC 4520 8CB8 00000EB8 1018 BAL R2,MSG Call Hercules console MSG display +00000E00 9802 8C20 00000E20 1019 LM R0,R2,RPTDWSAV Restore regs + + +00000E04 9857 8C14 00000E14 1021 LM R5,R7,RPTSVR5T7 Restore R5-7 +00000E08 58F0 8C10 00000E10 1022 L R15,RPTSAVE Restore return address +00000E0C 07FF 1023 BR R15 Return to caller + +00000E10 00000000 1025 RPTSAVE DC F'0' R15 save area +00000E14 00000000 00000000 1026 RPTSVR5T7 DC 3F'0' R5-R7 save area + +00000E20 00000000 00000000 1028 RPTDWSAV DC 2D'0' R0-R2 save area for MSG call + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 10 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 1030 *********************************************************************** + 1031 * CALCDUR Calculate DURATION + 1032 *********************************************************************** + +00000E30 50F0 8C74 00000E74 1034 CALCDUR ST R15,CALCRET Save return address +00000E34 9057 8C78 00000E78 1035 STM R5,R7,CALCWORK Save work registers + +00000E38 9867 8DB8 00000FB8 1037 LM R6,R7,BEGCLOCK Remove CPU number from clock value +00000E3C 8C60 0006 00000006 1038 SRDL R6,6 " +00000E40 8D60 0006 00000006 1039 SLDL R6,6 " +00000E44 9067 8DB8 00000FB8 1040 STM R6,R7,BEGCLOCK " + +00000E48 9867 8DC0 00000FC0 1042 LM R6,R7,ENDCLOCK Remove CPU number from clock value +00000E4C 8C60 0006 00000006 1043 SRDL R6,6 " +00000E50 8D60 0006 00000006 1044 SLDL R6,6 " +00000E54 9067 8DC0 00000FC0 1045 STM R6,R7,ENDCLOCK " + +00000E58 4150 8DB8 00000FB8 1047 LA R5,BEGCLOCK Starting time +00000E5C 4160 8DC0 00000FC0 1048 LA R6,ENDCLOCK Ending time +00000E60 4170 8DC8 00000FC8 1049 LA R7,DURATION Difference +00000E64 45F0 8C84 00000E84 1050 BAL R15,SUBDWORD Calculate duration + +00000E68 9857 8C78 00000E78 1052 LM R5,R7,CALCWORK Restore work registers +00000E6C 58F0 8C74 00000E74 1053 L R15,CALCRET Restore return address +00000E70 07FF 1054 BR R15 Return to caller + +00000E74 00000000 1056 CALCRET DC F'0' R15 save area +00000E78 00000000 00000000 1057 CALCWORK DC 3F'0' R5-R7 save area + + + + + 1059 *********************************************************************** + 1060 * SUBDWORD Subtract two doublewords + 1061 * R5 --> subtrahend, R6 --> minuend, R7 --> result + 1062 *********************************************************************** + +00000E84 9014 8CA8 00000EA8 1064 SUBDWORD STM R1,R4,SUBDWSAV Save registers + +00000E88 9812 5000 00000000 1066 LM R1,R2,0(R5) Subtrahend (value to subtract) +00000E8C 9834 6000 00000000 1067 LM R3,R4,0(R6) Minuend (what to subtract FROM) +00000E90 1F42 1068 SLR R4,R2 Subtract LOW part +00000E92 47B0 8C9A 00000E9A 1069 BNM *+4+4 (branch if no borrow) +00000E96 5F30 8DA0 00000FA0 1070 SL R3,=F'1' (otherwise do borrow) +00000E9A 1F31 1071 SLR R3,R1 Subtract HIGH part +00000E9C 9034 7000 00000000 1072 STM R3,R4,0(R7) Store results + +00000EA0 9814 8CA8 00000EA8 1074 LM R1,R4,SUBDWSAV Restore registers +00000EA4 07FF 1075 BR R15 Return to caller + +00000EA8 00000000 00000000 1077 SUBDWSAV DC 2D'0' R1-R4 save area + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 11 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 1079 *********************************************************************** + 1080 * Issue HERCULES MESSAGE pointed to by R1, length in R0 + 1081 * R2 = return address + 1082 *********************************************************************** + +00000EB8 4900 8DA4 00000FA4 1084 MSG CH R0,=H'0' Do we even HAVE a message? +00000EBC 07D2 1085 BNHR R2 No, ignore + +00000EBE 9002 8CF0 00000EF0 1087 STM R0,R2,MSGSAVE Save registers + +00000EC2 4900 8DA6 00000FA6 1089 CH R0,=AL2(L'MSGMSG) Message length within limits? +00000EC6 47D0 8CCE 00000ECE 1090 BNH MSGOK Yes, continue +00000ECA 4100 005F 0000005F 1091 LA R0,L'MSGMSG No, set to maximum + +00000ECE 1820 1093 MSGOK LR R2,R0 Copy length to work register +00000ED0 0620 1094 BCTR R2,0 Minus-1 for execute +00000ED2 4420 8CFC 00000EFC 1095 EX R2,MSGMVC Copy message to O/P buffer + +00000ED6 4120 200A 0000000A 1097 LA R2,1+L'MSGCMD(,R2) Calculate true command length +00000EDA 4110 8D02 00000F02 1098 LA R1,MSGCMD Point to true command + +00000EDE 83120008 1100 DC X'83',X'12',X'0008' Issue Hercules Diagnose X'008' +00000EE2 4780 8CE8 00000EE8 1101 BZ MSGRET Return if successful +00000EE6 0000 1102 DC H'0' CRASH for debugging purposes + +00000EE8 9802 8CF0 00000EF0 1104 MSGRET LM R0,R2,MSGSAVE Restore registers +00000EEC 07F2 1105 BR R2 Return to caller + + + + + + +00000EF0 00000000 00000000 1107 MSGSAVE DC 3F'0' Registers save area +00000EFC D200 8D0B 1000 00000F0B 00000000 1108 MSGMVC MVC MSGMSG(0),0(R1) Executed instruction + + +00000F02 D4E2C7D5 D6C8405C 1110 MSGCMD DC C'MSGNOH * ' *** HERCULES MESSAGE COMMAND *** +00000F0B 40404040 40404040 1111 MSGMSG DC CL95' ' The message text to be displayed + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 12 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 1113 *********************************************************************** + 1114 * Normal completion or Abnormal termination PSWs + 1115 *********************************************************************** + + +00000F70 00020001 80000000 1117 EOJPSW DC 0D'0',X'0002000180000000',AD(0) + +00000F80 B2B2 8D70 00000F70 1119 EOJ LPSWE EOJPSW Normal completion + + + +00000F88 00020001 80000000 1121 FAILPSW DC 0D'0',X'0002000180000000',AD(X'BAD') + +00000F98 B2B2 8D88 00000F88 1123 FAILTEST LPSWE FAILPSW Abnormal termination + + + + + 1125 *********************************************************************** + 1126 * Working Storage + 1127 *********************************************************************** + +00000F9C 1129 LTORG , Literals pool +00000F9C 00000000 1130 =F'0' +00000FA0 00000001 1131 =F'1' +00000FA4 0000 1132 =H'0' +00000FA6 005F 1133 =AL2(L'MSGMSG) +00000FA8 C3E4E2C5 40 1134 =CL5'CUSE' +00000FAD 04294967 296C 1135 =P'4294967296' + + + 00000400 00000001 1137 K EQU 1024 One KB + 00001000 00000001 1138 PAGE EQU (4*K) Size of one page + 00008000 00000001 1139 K32 EQU (32*K) 32 KB + 00010000 00000001 1140 K64 EQU (64*K) 64 KB + 00100000 00000001 1141 MB EQU (K*K) 1 MB + +00000FB4 00002710 1143 NUMLOOPS DC F'10000' 10,000 * 100 = 1,000,000 + +00000FB8 BBBBBBBB BBBBBBBB 1145 BEGCLOCK DC 0D'0',8X'BB' Begin +00000FC0 EEEEEEEE EEEEEEEE 1146 ENDCLOCK DC 0D'0',8X'EE' End +00000FC8 DDDDDDDD DDDDDDDD 1147 DURATION DC 0D'0',8X'DD' Diff +00000FD0 FFFFFFFF FFFFFFFF 1148 OVERHEAD DC 0D'0',8X'FF' Overhead + +00000FD8 00000000 0000000C 1150 TICKSAAA DC PL8'0' Clock ticks high part +00000FE0 00000000 0000000C 1151 TICKSBBB DC PL8'0' Clock ticks low part +00000FE8 00000000 0000000C 1152 TICKSTOT DC PL8'0' Total clock ticks + +00000FF0 40404040 40404040 1154 PRTLINE DC C' 1,000,000 iterations of XXXXX' +00001016 40A39696 9240F9F9 1155 DC C' took 999,999,999 microseconds' + 00000044 00000001 1156 PRTLNG EQU *-PRTLINE +00001034 40202020 6B202020 1157 EDIT DC X'402020206B2020206B202120' + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 13 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 1159 *********************************************************************** + 1160 * CUSETEST DSECT + 1161 *********************************************************************** + + + 1163 CUSETEST DSECT , +00000000 00 1164 TNUM DC X'00' CUSE table number +00000001 000000 1165 DC XL3'00' + + +00000004 00 1167 SSLEN DC AL1(0) CUSE - SS length +00000005 00 1168 PAD DC X'00' CUSE - Pad byte +00000006 00 1169 SS1LAST DC X'00' First-Operand SS last byte +00000007 00 1170 SS2LAST DC X'00' Second-Operand SS last byte + + +00000008 00000000 1172 SS1ADDR DC A(0) First-Operand SS Address +0000000C 00000000 1173 SS1LEN DC A(0) First-Operand SS length +00000010 00000000 1174 SS2ADDR DC A(0) Second-Operand SS Address +00000014 00000000 1175 SS2LEN DC A(0) Second-Operand SS length + + + 00000018 00000001 1177 OPSWHERE EQU * +00000018 00000000 1178 OP1WHERE DC A(0) Where Operand-1 data should be placed +0000001C 00000000 1179 OP1LEN DC F'0' CUSE - First-Operand Length +00000020 00000000 1180 OP2WHERE DC A(0) Where Operand-2 data should be placed +00000024 00000000 1181 OP2LEN DC F'0' CUSE - Second-Operand Length + 1182 + + +00000028 00000000 1184 FAILMASK DC A(0) Failure Branch on Condition mask + + + 1186 * Ending register values +0000002C 00000000 1187 ENDOP1 DC A(0) Operand 1 address +00000030 00000000 1188 DC A(0) Operand 1 length +00000034 00000000 1189 ENDOP2 DC A(0) Operand 2 address +00000038 00000000 1190 DC A(0) Operand 2 length + + + 0000003C 00000001 1192 CUSENEXT EQU * Start of next table entry... + + + + + + + AABBCCDD 00000001 1194 REG2PATT EQU X'AABBCCDD' Polluted Register pattern + 000000DD 00000001 1195 REG2LOW EQU X'DD' (last byte above) + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 14 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 1197 *********************************************************************** + 1198 * CUSE Performace Test data... + 1199 *********************************************************************** + + 00000000 0000E9AF 1201 CUSE2TST CSECT , +00001040 1202 CUSEPERF DC 0A(0) Start of table + + + 1204 *********************************************************************** + 1205 * performance test data + 1206 *********************************************************************** + + 1208 * Cross page bounday - operand-1 and operand-2 + +00001040 1210 PTE6 DS 0F +00001040 E6 1211 DC X'E6' Test Num +00001041 000000 1212 DC XL3'00' + 1213 * +00001044 01 1214 DC AL1(1) SS Length +00001045 00 1215 DC X'00' Pad Byte +00001046 77 1216 DC X'77' First-Operand SS last byte +00001047 77 1217 DC X'77' Second-Operand SS last byte + 1218 * Source +00001048 000031B0 00000020 1219 DC A(COP1A),A(032) Op-1 SS & length +00001050 00009DB0 00000020 1220 DC A(COP2A),A(032) OP-2 SS & length + 1221 * Target +00001058 00B2FFA0 00000200 1222 DC A(11*MB+(6*K32)-96),A(512) Op-1 & length +00001060 00C2FF80 00000200 1223 DC A(12*MB+(6*K32)-128),A(512) Op-2 & length + 1224 * +00001068 00000006 1225 DC A(6) not CC0 or CC3 Fail mask + 1226 * Ending register values +0000106C 00B30180 00000020 1227 DC A(11*MB+(6*K32)+(512-32)-96),A(032) OP-1 +00001074 00C30160 00000020 1228 DC A(12*MB+(6*K32)+(512-32)-128),A(032) OP-2 + + +0000107C 1230 PTE1 DS 0F +0000107C E1 1231 DC X'E1' Test Num +0000107D 000000 1232 DC XL3'00' + 1233 * +00001080 04 1234 DC AL1(4) SS Length +00001081 00 1235 DC X'00' Pad Byte +00001082 EE 1236 DC X'EE' First-Operand SS last byte +00001083 EE 1237 DC X'EE' Second-Operand SS last byte + 1238 * Source +00001084 000031B0 00000004 1239 DC A(COP1A),A(004) Op-1 SS & length +0000108C 00009DB0 00000004 1240 DC A(COP2A),A(004) OP-2 SS & length + 1241 * Target +00001094 00B07FC1 00000200 1242 DC A(11*MB+(1*K32)-63),A(512) Op-1 & length +0000109C 00C07FC8 00000200 1243 DC A(12*MB+(1*K32)-56),A(512) Op-2 & length + 1244 * +000010A4 00000007 1245 DC A(7) CC0 Fail mask + 1246 * Ending register values +000010A8 00B081BD 00000004 1247 DC A(11*MB+(1*K32)-63+(512-4)),A(004) OP-1 +000010B0 00C081C4 00000004 1248 DC A(12*MB+(1*K32)-56+(512-4)),A(004) OP-2 + +000010B8 1250 PTE2 DS 0F + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 15 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +000010B8 E2 1251 DC X'E2' Test Num +000010B9 000000 1252 DC XL3'00' + 1253 * +000010BC 08 1254 DC AL1(8) SS Length +000010BD 00 1255 DC X'00' Pad Byte +000010BE 77 1256 DC X'77' First-Operand SS last byte +000010BF 77 1257 DC X'77' Second-Operand SS last byte + 1258 * Source +000010C0 000031B0 00000008 1259 DC A(COP1A),A(008) Op-1 SS & length +000010C8 00009DB0 00000008 1260 DC A(COP2A),A(008) OP-2 SS & length + 1261 * Target +000010D0 00B0FFA0 00000200 1262 DC A(11*MB+(2*K32)-96),A(512) Op-1 & length +000010D8 00C0FF80 00000200 1263 DC A(12*MB+(2*K32)-128),A(512) Op-2 & length + 1264 * +000010E0 00000007 1265 DC A(7) CC0 Fail mask + 1266 * Ending register values +000010E4 00B10198 00000008 1267 DC A(11*MB+(2*K32)+(512-8)-96),A(008) OP-1 +000010EC 00C10178 00000008 1268 DC A(12*MB+(2*K32)+(512-8)-128),A(008) OP-2 + + +000010F4 1270 PTF2 DS 0F +000010F4 F2 1271 DC X'F2' Test Num +000010F5 000000 1272 DC XL3'00' + 1273 * +000010F8 20 1274 DC AL1(32) SS Length +000010F9 00 1275 DC X'00' Pad Byte +000010FA 77 1276 DC X'77' First-Operand SS last byte +000010FB 77 1277 DC X'77' Second-Operand SS last byte + 1278 * Source +000010FC 000031B0 00000020 1279 DC A(COP1A),A(032) Op-1 SS & length +00001104 00009DB0 00000020 1280 DC A(COP2A),A(032) OP-2 SS & length + 1281 * Target +0000110C 00D0FFA0 00000200 1282 DC A(13*MB+(2*K32)-96),A(512) Op-1 & length +00001114 00E0FF80 00000200 1283 DC A(14*MB+(2*K32)-128),A(512) Op-2 & length + 1284 * +0000111C 00000007 1285 DC A(7) CC0 Fail mask + 1286 * Ending register values +00001120 00D10180 00000020 1287 DC A(13*MB+(2*K32)+(512-32)-96),A(032) OP-1 +00001128 00E10160 00000020 1288 DC A(14*MB+(2*K32)+(512-32)-128),A(032) OP-2 + + +00001130 1290 PTE7 DS 0F +00001130 E7 1291 DC X'E7' Test Num +00001131 000000 1292 DC XL3'00' + 1293 * +00001134 04 1294 DC AL1(4) SS Length +00001135 00 1295 DC X'00' Pad Byte +00001136 77 1296 DC X'77' First-Operand SS last byte +00001137 77 1297 DC X'77' Second-Operand SS last byte + 1298 * Source +00001138 000079B0 00000020 1299 DC A(COP1C),A(032) Op-1 SS & length +00001140 0000E5B0 00000020 1300 DC A(COP2C),A(032) OP-2 SS & length + 1301 * Target +00001148 00B37FA0 00000200 1302 DC A(11*MB+(7*K32)-96),A(512) Op-1 & length +00001150 00C37F80 00000200 1303 DC A(12*MB+(7*K32)-128),A(512) Op-2 & length + 1304 * + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 16 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + +00001158 00000006 1305 DC A(6) not CC0 or CC3 Fail mask + 1306 * Ending register values +0000115C 00B3817D 00000023 1307 DC A(11*MB+(7*K32)+(512-32)-96-3),A(032+3) OP-1 +00001164 00C3815D 00000023 1308 DC A(12*MB+(7*K32)+(512-32)-128-3),A(032+3) OP-2 + + +0000116C 1310 PTF4 DS 0F +0000116C F4 1311 DC X'F4' Test Num +0000116D 000000 1312 DC XL3'00' + 1313 * +00001170 20 1314 DC AL1(32) SS Length +00001171 00 1315 DC X'00' Pad Byte +00001172 77 1316 DC X'77' First-Operand SS last byte +00001173 77 1317 DC X'77' Second-Operand SS last byte + 1318 * Source +00001174 000031B0 00000020 1319 DC A(COP1A),A(032) Op-1 SS & length +0000117C 00009DB0 00000020 1320 DC A(COP2A),A(032) OP-2 SS & length + 1321 * Target +00001184 00D1FFA0 00000F80 1322 DC A(13*MB+(4*K32)-96),A(4096-128) Op-1 & length +0000118C 00E1FF80 00000F80 1323 DC A(14*MB+(4*K32)-128),A(4096-128) Op-2 & length + 1324 * +00001194 00000006 1325 DC A(6) not CC0 or CC3 Fail mask + 1326 * Ending register values +00001198 00D20F00 00000020 1327 DC A(13*MB+(4*K32)+(4096-128-32)-96),A(032) OP-1 +000011A0 00E20EE0 00000020 1328 DC A(14*MB+(4*K32)+(4096-128-32)-128),A(032) OP-2 + + + +000011A8 00000000 1330 DC A(0) end of table +000011AC 00000000 1331 DC A(0) end of table + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 17 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 1333 *********************************************************************** + 1334 * CUSE Operand-1 scan data... + 1335 *********************************************************************** + +000011B0 1337 DS 0F +000011B0 98765432 98765432 1338 DC 2048XL4'98765432' +000031B0 111111F0 111111F0 1339 COP1A DC 256XL4'111111F0' + +000035B0 1341 DS 0F +000035B0 98765432 98765432 1342 DC 2048XL4'98765432' +000055B0 40404040 40404040 1343 COP1B DC 256XL4'40404040' + +000059B0 1345 DS 0F +000059B0 11223344 11223344 1346 DC 2048XL4'11223344' +000079B0 40404040 40404040 1347 COP1C DC 256XL4'40404040' + + + + + 1349 *********************************************************************** + 1350 * CUSE Operand-2 scan data + 1351 *********************************************************************** + +00007DB0 1353 DS 0F +00007DB0 89ABCDEF 89ABCDEF 1354 DC 2048XL4'89ABCDEF' +00009DB0 111111F0 111111F0 1355 COP2A DC 256XL4'111111F0' + +0000A1B0 1357 DS 0F +0000A1B0 89ABCDEF 89ABCDEF 1358 DC 2048XL4'89ABCDEF' +0000C1B0 40404040 40404040 1359 COP2B DC 256XL4'40404040' + +0000C5B0 1361 DS 0F +0000C5B0 FF223344 FF223344 1362 DC 2048XL4'FF223344' +0000E5B0 40404040 40404040 1363 COP2C DC 256XL4'40404040' + + + + + 1365 *********************************************************************** + 1366 * Register equates + 1367 *********************************************************************** + + + 00000000 00000001 1369 R0 EQU 0 + 00000001 00000001 1370 R1 EQU 1 + 00000002 00000001 1371 R2 EQU 2 + 00000003 00000001 1372 R3 EQU 3 + 00000004 00000001 1373 R4 EQU 4 + 00000005 00000001 1374 R5 EQU 5 + 00000006 00000001 1375 R6 EQU 6 + 00000007 00000001 1376 R7 EQU 7 + 00000008 00000001 1377 R8 EQU 8 + 00000009 00000001 1378 R9 EQU 9 + 0000000A 00000001 1379 R10 EQU 10 + 0000000B 00000001 1380 R11 EQU 11 + 0000000C 00000001 1381 R12 EQU 12 + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 18 + + LOC OBJECT CODE ADDR1 ADDR2 STMT + + 0000000D 00000001 1382 R13 EQU 13 + 0000000E 00000001 1383 R14 EQU 14 + 0000000F 00000001 1384 R15 EQU 15 + + + 1386 END + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 19 + + SYMBOL TYPE VALUE LENGTH DEFN REFERENCES + +BEGCLOCK D 00000FB8 8 1145 233 557 1037 1040 1047 +BEGIN I 00000200 2 98 65 95 96 +CALCDUR I 00000E30 4 1034 549 992 +CALCRET F 00000E74 4 1056 1034 1053 +CALCWORK F 00000E78 4 1057 1035 1052 +COP1A X 000031B0 4 1339 1219 1239 1259 1279 1319 +COP1B X 000055B0 4 1343 +COP1C X 000079B0 4 1347 1299 +COP2A X 00009DB0 4 1355 1220 1240 1260 1280 1320 +COP2B X 0000C1B0 4 1359 +COP2C X 0000E5B0 4 1363 1300 +CUSE2TST J 00000000 59824 60 63 67 71 130 61 +CUSENEXT U 0000003C 1 1192 980 +CUSEPERF A 00001040 4 1202 153 +CUSETEST 4 00000000 60 1163 154 +DURATION D 00000FC8 8 1147 550 995 996 999 1049 +EDIT X 00001034 12 1157 1009 1010 +ENDCLOCK D 00000FC0 8 1146 548 971 1042 1045 1048 +ENDOP1 A 0000002C 4 1187 +ENDOP2 A 00000034 4 1189 +EOJ I 00000F80 4 1119 116 124 +EOJPSW D 00000F70 8 1117 1119 +FAILMASK A 00000028 4 1184 +FAILPSW D 00000F88 8 1121 1123 +FAILTEST I 00000F98 4 1123 119 122 +IMAGE 1 00000000 59824 0 +K U 00000400 1 1137 1138 1139 1140 1141 +K32 U 00008000 1 1139 1222 1223 1227 1228 1242 1243 1247 1248 1262 1263 1267 1268 1282 + 1283 1287 1288 1302 1303 1307 1308 1322 1323 1327 1328 +K64 U 00010000 1 1140 +MB U 00100000 1 1141 1222 1223 1227 1228 1242 1243 1247 1248 1262 1263 1267 1268 1282 + 1283 1287 1288 1302 1303 1307 1308 1322 1323 1327 1328 +MSG I 00000EB8 4 1084 1018 +MSGCMD C 00000F02 9 1110 1097 1098 +MSGMSG C 00000F0B 95 1111 1091 1108 1089 +MSGMVC I 00000EFC 6 1108 1095 +MSGOK I 00000ECE 2 1093 1090 +MSGRET I 00000EE8 4 1104 1101 +MSGSAVE F 00000EF0 4 1107 1087 1104 +NUMLOOPS F 00000FB4 4 1143 232 556 +OP1LEN F 0000001C 4 1179 167 171 +OP1WHERE A 00000018 4 1178 166 +OP2LEN F 00000024 4 1181 180 184 +OP2WHERE A 00000020 4 1180 179 +OPSWHERE U 00000018 1 1177 239 242 250 253 256 259 262 265 268 271 274 277 280 + 283 286 289 292 295 298 301 304 307 310 313 316 319 + 322 325 328 331 334 337 340 343 346 349 352 355 358 + 361 364 367 370 373 376 379 382 385 388 391 394 397 + 400 403 406 409 412 415 418 421 424 427 430 433 436 + 439 442 445 448 451 454 457 460 463 466 469 472 475 + 478 481 484 487 490 493 496 499 502 505 508 511 514 + 517 520 523 526 529 532 535 541 544 562 566 575 579 + 583 587 591 595 599 603 607 611 615 619 623 627 631 + 635 639 643 647 651 655 659 663 667 671 675 679 683 + 687 691 695 699 703 707 711 715 719 723 727 731 735 + 739 743 747 751 755 759 763 767 771 775 779 783 787 + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 20 + + SYMBOL TYPE VALUE LENGTH DEFN REFERENCES + + 791 795 799 803 807 811 815 819 823 827 831 835 839 + 843 847 851 855 859 863 867 871 875 879 883 887 891 + 895 899 903 907 911 915 919 923 927 931 935 939 943 + 947 951 955 962 966 +OVERHEAD D 00000FD0 8 1148 550 994 +PAD X 00000005 1 1168 193 +PAGE U 00001000 1 1138 +PRTLINE C 00000FF0 38 1154 1156 974 1009 1010 1017 +PRTLNG U 00000044 1 1156 1016 +PTE1 F 0000107C 4 1230 +PTE2 F 000010B8 4 1250 +PTE6 F 00001040 4 1210 +PTE7 F 00001130 4 1290 +PTF2 F 000010F4 4 1270 +PTF4 F 0000116C 4 1310 +R0 U 00000000 1 1369 61 192 1015 1016 1019 1084 1087 1089 1091 1093 1104 +R1 U 00000001 1 1370 193 1017 1064 1066 1071 1074 1098 1108 +R10 U 0000000A 1 1379 168 169 170 172 181 182 183 185 235 547 558 970 999 + 1000 1002 +R11 U 0000000B 1 1380 171 184 999 1003 +R12 U 0000000C 1 1381 +R13 U 0000000D 1 1382 +R14 U 0000000E 1 1383 109 151 983 +R15 U 0000000F 1 1384 549 975 989 992 997 1022 1023 1034 1050 1053 1054 1075 +R2 U 00000002 1 1371 166 172 174 175 234 239 242 250 253 256 259 262 265 + 268 271 274 277 280 283 286 289 292 295 298 301 304 + 307 310 313 316 319 322 325 328 331 334 337 340 343 + 346 349 352 355 358 361 364 367 370 373 376 379 382 + 385 388 391 394 397 400 403 406 409 412 415 418 421 + 424 427 430 433 436 439 442 445 448 451 454 457 460 + 463 466 469 472 475 478 481 484 487 490 493 496 499 + 502 505 508 511 514 517 520 523 526 529 532 535 541 + 544 562 563 566 567 575 576 579 580 583 584 587 588 + 591 592 595 596 599 600 603 604 607 608 611 612 615 + 616 619 620 623 624 627 628 631 632 635 636 639 640 + 643 644 647 648 651 652 655 656 659 660 663 664 667 + 668 671 672 675 676 679 680 683 684 687 688 691 692 + 695 696 699 700 703 704 707 708 711 712 715 716 719 + 720 723 724 727 728 731 732 735 736 739 740 743 744 + 747 748 751 752 755 756 759 760 763 764 767 768 771 + 772 775 776 779 780 783 784 787 788 791 792 795 796 + 799 800 803 804 807 808 811 812 815 816 819 820 823 + 824 827 828 831 832 835 836 839 840 843 844 847 848 + 851 852 855 856 859 860 863 864 867 868 871 872 875 + 876 879 880 883 884 887 888 891 892 895 896 899 900 + 903 904 907 908 911 912 915 916 919 920 923 924 927 + 928 931 932 935 936 939 940 943 944 947 948 951 952 + 955 956 962 963 966 967 973 1015 1018 1019 1066 1068 1085 + 1087 1093 1094 1095 1097 1104 1105 +R3 U 00000003 1 1372 167 169 1067 1070 1071 1072 +R4 U 00000004 1 1373 179 185 187 188 563 567 576 580 584 588 592 596 600 + 604 608 612 616 620 624 628 632 636 640 644 648 652 + 656 660 664 668 672 676 680 684 688 692 696 700 704 + 708 712 716 720 724 728 732 736 740 744 748 752 756 + 760 764 768 772 776 780 784 788 792 796 800 804 808 + 812 816 820 824 828 832 836 840 844 848 852 856 860 + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 21 + + SYMBOL TYPE VALUE LENGTH DEFN REFERENCES + + 864 868 872 876 880 884 888 892 896 900 904 908 912 + 916 920 924 928 932 936 940 944 948 952 956 963 967 + 1064 1067 1068 1072 1074 +R5 U 00000005 1 1374 180 182 234 239 242 250 253 256 259 262 265 268 271 + 274 277 280 283 286 289 292 295 298 301 304 307 310 + 313 316 319 322 325 328 331 334 337 340 343 346 349 + 352 355 358 361 364 367 370 373 376 379 382 385 388 + 391 394 397 400 403 406 409 412 415 418 421 424 427 + 430 433 436 439 442 445 448 451 454 457 460 463 466 + 469 472 475 478 481 484 487 490 493 496 499 502 505 + 508 511 514 517 520 523 526 529 532 535 541 544 562 + 566 575 579 583 587 591 595 599 603 607 611 615 619 + 623 627 631 635 639 643 647 651 655 659 663 667 671 + 675 679 683 687 691 695 699 703 707 711 715 719 723 + 727 731 735 739 743 747 751 755 759 763 767 771 775 + 779 783 787 791 795 799 803 807 811 815 819 823 827 + 831 835 839 843 847 851 855 859 863 867 871 875 879 + 883 887 891 895 899 903 907 911 915 919 923 927 931 + 935 939 943 947 951 955 962 966 973 990 994 1021 1035 + 1047 1052 1066 +R6 U 00000006 1 1375 153 154 157 979 980 981 995 1037 1038 1039 1040 1042 1043 + 1044 1045 1048 1067 +R7 U 00000007 1 1376 159 160 232 547 556 970 990 996 1021 1035 1037 1040 1042 + 1045 1049 1052 1072 +R8 U 00000008 1 1377 95 98 99 100 102 +R9 U 00000009 1 1378 96 102 103 +REG2LOW U 000000DD 1 1195 +REG2PATT U AABBCCDD 1 1194 +RPTDWSAV D 00000E20 8 1028 1015 1019 +RPTSAVE F 00000E10 4 1025 989 1022 +RPTSPEED I 00000DA6 4 989 975 +RPTSVR5T7 F 00000E14 4 1026 990 1021 +SAVE2T5 F 00000410 4 140 234 973 +SAVER2 F 00000420 4 141 +SAVER6 F 00000424 4 142 157 979 +SS1ADDR A 00000008 4 1172 168 +SS1LAST X 00000006 1 1169 175 +SS1LEN A 0000000C 4 1173 170 +SS2ADDR A 00000010 4 1174 181 +SS2LAST X 00000007 1 1170 188 +SS2LEN A 00000014 4 1175 183 +SSLEN R 00000004 1 1167 192 +SUBDWORD I 00000E84 4 1064 997 1050 +SUBDWSAV D 00000EA8 8 1077 1064 1074 +SUBTEST X 00000401 1 134 121 +TEST91 I 00000528 4 150 109 +TESTADDR D 00000400 8 132 +TESTNUM X 00000400 1 133 118 160 +TICKSAAA P 00000FD8 8 1150 1002 1005 +TICKSBBB P 00000FE0 8 1151 1003 1007 +TICKSTOT P 00000FE8 8 1152 1005 1006 1007 1010 +TIMEOPT X 00000408 1 137 115 150 +TNUM X 00000000 1 1164 159 +TST91LOP U 00000532 1 156 982 +=AL2(L'MSGMSG) R 00000FA6 2 1133 1089 +=CL5'CUSE' C 00000FA8 5 1134 974 + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 22 + + SYMBOL TYPE VALUE LENGTH DEFN REFERENCES + +=F'0' F 00000F9C 4 1130 981 +=F'1' F 00000FA0 4 1131 1070 +=H'0' H 00000FA4 2 1132 1084 +=P'4294967296' P 00000FAD 6 1135 1006 + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 23 + + MACRO DEFN REFERENCES + +DOINSTR 214 560 573 960 +OVERONLY 200 237 248 539 + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 24 + + DESC SYMBOL SIZE POS ADDR + +Entry: 0 + +Image IMAGE 59824 0000-E9AF 0000-E9AF + Region 59824 0000-E9AF 0000-E9AF + CSECT CUSE2TST 59824 0000-E9AF 0000-E9AF + ASMA Ver. 0.2.1 CUSE-02-performance (Test CUSE instructions) 09 Nov 2022 16:02:40 Page 25 + + STMT FILE NAME + +1 /devstor/dev/tests/CUSE-02-performance.asm + + +** NO ERRORS FOUND ** + + \ No newline at end of file diff --git a/tests/CUSE-02-performance.pdf b/tests/CUSE-02-performance.pdf new file mode 100644 index 0000000000000000000000000000000000000000..28d93c61f3392889a7dc2b09d59163fa2c8f241a GIT binary patch literal 310759 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%0AZd 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 X} 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%0AXf~8s<^yP)h{e^j3s=87o@HelR_P@^Db?`0+|g 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 z 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 A-2eap literal 0 HcmV?d00001 diff --git a/tests/CUSE-02-performance.tst b/tests/CUSE-02-performance.tst new file mode 100644 index 000000000..89bb0c78a --- /dev/null +++ b/tests/CUSE-02-performance.tst @@ -0,0 +1,46 @@ +*Testcase CUSE-02-performance (Test CUSE instruction) + +# ------------------------------------------------------------------------------ +# This ONLY tests the performance of the CUSE instruction. +# +# The default is to NOT run performance tests. To enable this performance +# test, uncomment the "#r 408=ff # (enable timing tests)" line below. +# +# Tests: +# Both opernand-1 and operand-2 cross a page boundary. +# +# 1. CUSE of 512 bytes - substring length 1 +# 2. CUSE of 512 bytes - substring length 4 +# 3. CUSE of 512 bytes - substring length 8 +# 4. CUSE of 512 bytes - substring length 32 +# 5. CUSE of 512 bytes - substring length 32 (different strings) +# 6. CUSE of 4160 (4096+64) bytes - substring length 32 +# which results in a CC=3, and a branch back +# to complete the CUSE instruction. +# +# Output: +# +# For each test, a console line will the generated with timing +# results, as follows: +# +# 1,000,000 iterations of CUSE took 406,437 microseconds +# 1,000,000 iterations of CUSE took 2,496,775 microseconds +# 1,000,000 iterations of CUSE took 1,205,304 microseconds +# 1,000,000 iterations of CUSE took 340,440 microseconds +# 1,000,000 iterations of CUSE took 2,210,040 microseconds +# 1,000,000 iterations of CUSE took 2,313,153 microseconds +# ------------------------------------------------------------------------------ + +mainsize 16 +numcpu 1 +sysclear +archlvl z/Arch + +loadcore "$(testpath)/CUSE-02-performance.core" 0x0 + +diag8cmd enable # (needed for messages to Hercules console) +#r 408=ff # (enable timing tests) +runtest 500 # (test duration, depends on host) +diag8cmd disable # (reset back to default) + +*Done diff --git a/tests/Makefile.am b/tests/Makefile.am index bf120aac0..a0986bff3 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -214,6 +214,16 @@ EXTRA_DIST = \ csxtr.assemble \ csxtr.listing \ csxtr.tst \ + CUSE-01-basic.asm \ + CUSE-01-basic.core \ + CUSE-01-basic.list \ + CUSE-01-basic.pdf \ + CUSE-01-basic.tst \ + CUSE-02-performance.asm \ + CUSE-02-performance.core \ + CUSE-02-performance.list \ + CUSE-02-performance.pdf \ + CUSE-02-performance.tst \ cxgbr.txt \ cxgtr.txt \ dc-float.asm \ From a2967b5c52cf61d9fcea742d152f4ce36d68b0f9 Mon Sep 17 00:00:00 2001 From: James Wekel Date: Wed, 9 Nov 2022 16:56:52 -0700 Subject: [PATCH 2/4] Fix vcxproj.filters --- Hercules_VS2015.vcxproj.filters | 8 ++++---- Hercules_VS2017.vcxproj.filters | 8 ++++---- Hercules_VS2019.vcxproj.filters | 8 ++++---- Hercules_VS2022.vcxproj.filters | 8 ++++---- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Hercules_VS2015.vcxproj.filters b/Hercules_VS2015.vcxproj.filters index c9c53ebfe..c344124ce 100644 --- a/Hercules_VS2015.vcxproj.filters +++ b/Hercules_VS2015.vcxproj.filters @@ -2025,10 +2025,10 @@ Other Files\tests\scripts\tst - Other Files\tests\core + Other Files\tests\scripts\tst - Other Files\tests\core + Other Files\tests\scripts\tst Other Files\tests\scripts\tst @@ -2277,10 +2277,10 @@ Other Files\tests\scripts\asm - Other Files\tests\core + Other Files\tests\scripts\asm - Other Files\tests\core + Other Files\tests\scripts\asm Other Files\tests\scripts\asm diff --git a/Hercules_VS2017.vcxproj.filters b/Hercules_VS2017.vcxproj.filters index c9c53ebfe..c344124ce 100644 --- a/Hercules_VS2017.vcxproj.filters +++ b/Hercules_VS2017.vcxproj.filters @@ -2025,10 +2025,10 @@ Other Files\tests\scripts\tst - Other Files\tests\core + Other Files\tests\scripts\tst - Other Files\tests\core + Other Files\tests\scripts\tst Other Files\tests\scripts\tst @@ -2277,10 +2277,10 @@ Other Files\tests\scripts\asm - Other Files\tests\core + Other Files\tests\scripts\asm - Other Files\tests\core + Other Files\tests\scripts\asm Other Files\tests\scripts\asm diff --git a/Hercules_VS2019.vcxproj.filters b/Hercules_VS2019.vcxproj.filters index c9c53ebfe..c344124ce 100644 --- a/Hercules_VS2019.vcxproj.filters +++ b/Hercules_VS2019.vcxproj.filters @@ -2025,10 +2025,10 @@ Other Files\tests\scripts\tst - Other Files\tests\core + Other Files\tests\scripts\tst - Other Files\tests\core + Other Files\tests\scripts\tst Other Files\tests\scripts\tst @@ -2277,10 +2277,10 @@ Other Files\tests\scripts\asm - Other Files\tests\core + Other Files\tests\scripts\asm - Other Files\tests\core + Other Files\tests\scripts\asm Other Files\tests\scripts\asm diff --git a/Hercules_VS2022.vcxproj.filters b/Hercules_VS2022.vcxproj.filters index c9c53ebfe..c344124ce 100644 --- a/Hercules_VS2022.vcxproj.filters +++ b/Hercules_VS2022.vcxproj.filters @@ -2025,10 +2025,10 @@ Other Files\tests\scripts\tst - Other Files\tests\core + Other Files\tests\scripts\tst - Other Files\tests\core + Other Files\tests\scripts\tst Other Files\tests\scripts\tst @@ -2277,10 +2277,10 @@ Other Files\tests\scripts\asm - Other Files\tests\core + Other Files\tests\scripts\asm - Other Files\tests\core + Other Files\tests\scripts\asm Other Files\tests\scripts\asm From 95ef42172b803c92032135b9ace246ae7c519e77 Mon Sep 17 00:00:00 2001 From: James Wekel Date: Tue, 15 Nov 2022 20:34:09 -0700 Subject: [PATCH 3/4] Major error: fix cross page checks --- general1.c | 187 ++++++++++++++++++++++++++++------------------------- 1 file changed, 99 insertions(+), 88 deletions(-) diff --git a/general1.c b/general1.c index 5115fa205..7335f4e66 100644 --- a/general1.c +++ b/general1.c @@ -3905,6 +3905,12 @@ BYTE termchar; /* Terminating character */ #undef MEM_CMP_NPOS #define MEM_CMP_NPOS ( -1 ) +#undef PAGEBYTES +#define PAGEBYTES( _ea ) (PAGEFRAME_PAGESIZE - ((_ea) & PAGEFRAME_BYTEMASK)) + +#undef MAINSTOR_PAGEBASE +#define MAINSTOR_PAGEBASE( _ma ) ((BYTE*) ((uintptr_t) ( _ma ) & PAGEFRAME_PAGEMASK)) + /*-------------------------------------------------------------------*/ /* mem_cmp_first_equ -- compare memory for first equal byte */ /*-------------------------------------------------------------------*/ @@ -3929,14 +3935,18 @@ int ARCH_DEP( mem_cmp_first_equ ) ) { BYTE *m1, *m2; // operand mainstor addresses + BYTE *m1pg, *m2pg; // operand page U32 i; // loop index /* fast exit */ if (len == 0) return MEM_CMP_NPOS; // Translate left most byte of each operand - m1 = MADDRL(ea1 & ADDRESS_MAXWRAP( regs ), PAGEFRAME_PAGESIZE - (ea1 & PAGEFRAME_PAGEMASK), b1, regs, ACCTYPE_READ, regs->psw.pkey ); - m2 = MADDRL(ea2 & ADDRESS_MAXWRAP( regs ), PAGEFRAME_PAGESIZE - (ea2 & PAGEFRAME_PAGEMASK), b2, regs, ACCTYPE_READ, regs->psw.pkey ); + m1 = MADDRL(ea1 & ADDRESS_MAXWRAP( regs ), PAGEBYTES( ea1 ), b1, regs, ACCTYPE_READ, regs->psw.pkey ); + m2 = MADDRL(ea2 & ADDRESS_MAXWRAP( regs ), PAGEBYTES( ea2 ), b2, regs, ACCTYPE_READ, regs->psw.pkey ); + + m1pg = MAINSTOR_PAGEBASE ( m1 ); + m2pg = MAINSTOR_PAGEBASE ( m2 ); for (i = 0; i < len ; i++) { @@ -3944,16 +3954,21 @@ int ARCH_DEP( mem_cmp_first_equ ) if (*m1 == *m2) return i; - /* update mainstore addresses; check for page boundary */ - if ( ( (uintptr_t) m1 & PAGEFRAME_PAGEMASK ) != PAGEFRAME_PAGEMASK ) - m1++; - else - m1 = MADDRL((ea1 + (i+1)) & ADDRESS_MAXWRAP( regs ), PAGEFRAME_PAGEMASK, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + /* update mainstore addresses */ + m1++; + m2++; - if ( ( (uintptr_t) m2 & PAGEFRAME_PAGEMASK) != PAGEFRAME_PAGEMASK ) - m2++; - else - m2 = MADDRL((ea2 + (i+1)) & ADDRESS_MAXWRAP( regs ), PAGEFRAME_PAGEMASK, b2, regs, ACCTYPE_READ, regs->psw.pkey ); + /* check for page cross */ + if (MAINSTOR_PAGEBASE ( m1 ) != m1pg) + { + m1 = MADDRL((ea1 + (i+1)) & ADDRESS_MAXWRAP( regs ), PAGEFRAME_PAGESIZE, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + m1pg = MAINSTOR_PAGEBASE ( m1 ); + } + if (MAINSTOR_PAGEBASE ( m2 ) != m2pg) + { + m2 = MADDRL((ea2 + (i+1)) & ADDRESS_MAXWRAP( regs ), PAGEFRAME_PAGESIZE, b2, regs, ACCTYPE_READ, regs->psw.pkey ); + m2pg = MAINSTOR_PAGEBASE ( m2 ); + } } /* no equ byte in memory */ @@ -3993,7 +4008,8 @@ int ARCH_DEP( mem_cmp_first_substr ) ) { BYTE *m1, *m2; // operand mainstor addresses - BYTE *m1prior, *m2prior; // operand mainstor addresses (work) + BYTE *m1pg, *m2pg; // operand page + int ss_index=0; // possible substring index int ss_scan_index=0; // substring scan index int ss_scan_work; // substring scan length @@ -4008,8 +4024,11 @@ int ARCH_DEP( mem_cmp_first_substr ) if (sublen <= 0) return MEM_CMP_NPOS; /* operand mainstore addresses */ - m1 = MADDRL(ea1, PAGEFRAME_PAGESIZE - (ea1 & PAGEFRAME_PAGEMASK), b1, regs, ACCTYPE_READ, regs->psw.pkey ); - m2 = MADDRL(ea2, PAGEFRAME_PAGESIZE - (ea2 & PAGEFRAME_PAGEMASK), b2, regs, ACCTYPE_READ, regs->psw.pkey ); + m1 = MADDRL(ea1, PAGEBYTES( ea1 ), b1, regs, ACCTYPE_READ, regs->psw.pkey ); + m2 = MADDRL(ea2, PAGEBYTES( ea2 ), b2, regs, ACCTYPE_READ, regs->psw.pkey ); + + m1pg = MAINSTOR_PAGEBASE ( m1 ); + m2pg = MAINSTOR_PAGEBASE ( m2 ); for (ss_index = 0; ss_index < len; ss_index = ( ss_scan_index +1 ) ) { @@ -4024,29 +4043,29 @@ int ARCH_DEP( mem_cmp_first_substr ) logmsg("CUSE: MEM_CMP_FIRST_SUBSTR outer: len=%d, sublen=%d, scan_ss_index=%d, ss_index=%d, ss_equ_len=%d, ea1+idx=%X , m1=%p, ea2+idx=%X, m2=%p \n", len, sublen, ss_scan_index, ss_index, ss_equ_len, ea1+ss_scan_index, m1, ea2+ss_scan_index, m2); #endif - /* operand-1 candidate substring rightmost mainstore address and check for page cross */ - m1prior = m1; + /* operand candidate substring rightmost mainstore address */ m1 += ss_scan_work; - - if ( ( (uintptr_t) m1 & PAGEFRAME_PAGEMASK ) < ( (uintptr_t) m1prior & PAGEFRAME_PAGEMASK )) - m1 = MADDRL((ea1 + ss_scan_index) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); - - /* operand-2 candidate substring rightmost mainstore address and check for page cross */ - m2prior = m2; m2 += ss_scan_work; - if ( ( (uintptr_t) m2 & PAGEFRAME_PAGEMASK ) < ( (uintptr_t) m2prior & PAGEFRAME_PAGEMASK )) + /* check for page cross */ + if (MAINSTOR_PAGEBASE ( m1 ) != m1pg) + { + m1 = MADDRL((ea1 + ss_scan_index) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + m1pg = MAINSTOR_PAGEBASE ( m1 ); + } + if (MAINSTOR_PAGEBASE ( m2 ) != m2pg) + { m2 = MADDRL((ea2 + ss_scan_index) & ADDRESS_MAXWRAP( regs ), 1, b2, regs, ACCTYPE_READ, regs->psw.pkey ); + m2pg = MAINSTOR_PAGEBASE ( m2 ); + } /* check candidate substring - right to left */ for ( ; ss_scan_index >= ss_index ; ss_scan_index-- ) { - #if CUSE_DEBUG logmsg("CUSE: MEM_CMP_FIRST_SUBSTR inner: len=%d, sublen=%d, scan_ss_index=%d, ss_index=%d, ss_equ_len=%d, m1=%p, m2=%p \n", len, sublen, ss_scan_index, ss_index, ss_equ_len, m1, m2); #endif - /* compare bytes */ if (*m1 != *m2) break; @@ -4054,17 +4073,21 @@ int ARCH_DEP( mem_cmp_first_substr ) /* update partial substring length */ ss_equ_len++; - /* update mainstore addresses; check for page boundary */ - if ( (uintptr_t) m1 & PAGEFRAME_PAGEMASK ) - m1--; - else - m1 = MADDRL((ea1 + (ss_scan_index-1)) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + /* update mainstore addresses */ + m1--; + m2--; - if ( (uintptr_t) m2 & PAGEFRAME_PAGEMASK ) - m2--; - else + /* check for page cross */ + if (MAINSTOR_PAGEBASE ( m1 ) != m1pg) + { + m1 = MADDRL((ea1 + (ss_scan_index-1)) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + m1pg = MAINSTOR_PAGEBASE ( m1 ); + } + if (MAINSTOR_PAGEBASE ( m2 ) != m2pg) + { m2 = MADDRL((ea2 + (ss_scan_index-1)) & ADDRESS_MAXWRAP( regs ), 1, b2, regs, ACCTYPE_READ, regs->psw.pkey ); - + m2pg = MAINSTOR_PAGEBASE ( m2 ); + } } /* end check candidate substring - right to left */ /* Is caller interested in equality length? */ @@ -4077,17 +4100,21 @@ int ARCH_DEP( mem_cmp_first_substr ) /* last possible substring extends beyond length? */ if ( ss_equ_len > 0 && ss_index + sublen >= len) return ss_scan_index +1; - /* update mainstore addresses to next byte; check for page boundary */ - if ( ( (uintptr_t) m1 & PAGEFRAME_PAGEMASK ) != PAGEFRAME_PAGEMASK) - m1++; - else - m1 = MADDRL((ea1 + (ss_scan_index +1)) & ADDRESS_MAXWRAP( regs ), PAGEFRAME_PAGESIZE, b1, regs, ACCTYPE_READ, regs->psw.pkey ); - - if ( ( (uintptr_t) m2 & PAGEFRAME_PAGEMASK ) != PAGEFRAME_PAGEMASK) - m2++; - else - m2 = MADDRL((ea2 + (ss_scan_index +1)) & ADDRESS_MAXWRAP( regs ), PAGEFRAME_PAGESIZE, b2, regs, ACCTYPE_READ, regs->psw.pkey ); + /* update mainstore addresses to next byte */ + m1++; + m2++; + /* check for page cross */ + if (MAINSTOR_PAGEBASE ( m1 ) != m1pg) + { + m1 = MADDRL((ea1 + (ss_scan_index +1)) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + m1pg = MAINSTOR_PAGEBASE ( m1 ); + } + if (MAINSTOR_PAGEBASE ( m2 ) != m2pg) + { + m2 = MADDRL((ea2 + (ss_scan_index +1)) & ADDRESS_MAXWRAP( regs ), 1, b2, regs, ACCTYPE_READ, regs->psw.pkey ); + m2pg = MAINSTOR_PAGEBASE ( m2 ); + } } /* end check for substring */ /* no substring; no equal bytes found */ @@ -4123,6 +4150,7 @@ int ARCH_DEP( mem_cmp_last_neq ) ) { BYTE *m1, *m2; // operand mainstor addresses + BYTE *m1pg, *m2pg; // operand page int i; // loop index /* fast exit */ @@ -4132,22 +4160,30 @@ int ARCH_DEP( mem_cmp_last_neq ) m1 = MADDRL((ea1 + (len-1)) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); m2 = MADDRL((ea2 + (len-1)) & ADDRESS_MAXWRAP( regs ), 1, b2, regs, ACCTYPE_READ, regs->psw.pkey ); + m1pg = MAINSTOR_PAGEBASE ( m1 ); + m2pg = MAINSTOR_PAGEBASE ( m2 ); + for (i = (len-1); i >= 0 ; i--) { /* compare bytes */ if (*m1 != *m2) return i; - /* update mainstore addresses; check for page boundary */ - if ( (uintptr_t) m1 & PAGEFRAME_PAGEMASK ) - m1--; - else - m1 = MADDRL((ea1 + (i-1)) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + /* update mainstore addresses */ + m1--; + m2--; - if ( (uintptr_t) m2 & PAGEFRAME_PAGEMASK) - m2--; - else + /* check for page cross */ + if (MAINSTOR_PAGEBASE ( m1 ) != m1pg) + { + m1 = MADDRL((ea1 + (i-1)) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + m1pg = MAINSTOR_PAGEBASE ( m1 ); + } + if (MAINSTOR_PAGEBASE ( m2 ) != m2pg) + { m2 = MADDRL((ea2 + (i-1)) & ADDRESS_MAXWRAP( regs ), 1, b2, regs, ACCTYPE_READ, regs->psw.pkey ); + m2pg = MAINSTOR_PAGEBASE ( m2 ); + } } /* no neq bytes; memory is equal */ @@ -4178,12 +4214,14 @@ int ARCH_DEP( mem_pad_cmp_last_neq ) ) { BYTE *m1; // operand mainstor addresses + BYTE *m1pg; // operand page int i; // loop index if (len <= 0) return MEM_CMP_NPOS; // Translate righttmost byte of operand m1 = MADDRL((ea1 + (len-1)) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + m1pg = MAINSTOR_PAGEBASE ( m1 ); for (i = (len-1); i >= 0 ; i--) { @@ -4191,12 +4229,15 @@ int ARCH_DEP( mem_pad_cmp_last_neq ) if (*m1 != pad) return i; - /* update mainstore addresses; check for page boundary */ - if ( (uintptr_t) m1 & PAGEFRAME_PAGEMASK ) - m1--; - else - m1 = MADDRL((ea1 + (i-1)) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + /* update mainstore address */ + m1--; + /* check for page cross */ + if (MAINSTOR_PAGEBASE ( m1 ) != m1pg) + { + m1 = MADDRL((ea1 + (i-1)) & ADDRESS_MAXWRAP( regs ), 1, b1, regs, ACCTYPE_READ, regs->psw.pkey ); + m1pg = MAINSTOR_PAGEBASE ( m1 ); + } } /* no neq bytes; memory is equal to pad */ @@ -4209,8 +4250,6 @@ int ARCH_DEP( mem_pad_cmp_last_neq ) /*-------------------------------------------------------------------*/ #undef CUSE_MAX #define CUSE_MAX _4K -#undef CUSE_INTERRUPT_POINT -#define CUSE_INTERRUPT_POINT _1K DEF_INST( compare_until_substring_equal ) { @@ -4229,7 +4268,6 @@ DEF_INST( compare_until_substring_equal ) int peeklen; // Operand look ahead length int scanlen; // scan length int padlen; // Operand pad length - int ruptcnt = CUSE_INTERRUPT_POINT; // when to save GPRs int lastneq; // mem_cmp_last_neq return int firstequ; // mem_cmp_first_equ return int rc; // work - return code @@ -4289,12 +4327,10 @@ DEF_INST( compare_until_substring_equal ) /* Process operands from left to right */ for (i=0; len1 > 0 || len2 > 0 ; i++) { - #if CUSE_DEBUG logmsg("CUSE: addr1=%X, len1=%ld, addr2=%X, len2=%ld, equlen=%ld, eqaddr1=%X, remlen1=%ld, eqaddr2=%X, remlen2=%ld, i=%d \n", addr1, len1, addr2, len2, equlen, eqaddr1, remlen1, eqaddr2, remlen2, i); #endif - /* If equal byte count has reached substring length exit with condition code zero */ if (equlen == sublen) @@ -4313,20 +4349,6 @@ DEF_INST( compare_until_substring_equal ) cc = 3; break; } - - /* update GPRs if scanned 1024 bytes - could get interrupt */ - if (i >= ruptcnt) - { - ruptcnt += CUSE_INTERRUPT_POINT; - - /* Update R1 and R2 to point to next bytes to compare */ - SET_GR_A( r1, regs, addr1 ); - SET_GR_A( r2, regs, addr2 ); - - /* Set R1+1 and R2+1 to remaining operand lengths */ - SET_GR_A( r1+1, regs, len1 ); - SET_GR_A( r2+1, regs, len2 ); - } } /* ---------------------------- */ @@ -4338,14 +4360,13 @@ DEF_INST( compare_until_substring_equal ) /* ---------------------------------- */ if (sublen == 1 ) { - scanlen = min ( min ( len1, len2 ), CUSE_INTERRUPT_POINT); + scanlen = min ( len1, len2 ); firstequ = ARCH_DEP( mem_cmp_first_equ )( regs, addr1, r1, addr2, r2, scanlen); #if CUSE_DEBUG logmsg("CUSE: mem_cmp_first_equ: addr1=%X, addr2=%X, scanlen=%d, firstequ=%d \n", addr1, addr2, scanlen, firstequ); #endif - if (firstequ == MEM_CMP_NPOS) { /* no matching byte */ @@ -4400,7 +4421,6 @@ DEF_INST( compare_until_substring_equal ) logmsg("CUSE: mem_cmp: addr1=%X, addr2=%X, scanlen=%d, sublen=%d, rc=%d, idx=%u \n", addr1, addr2, scanlen, sublen, rc, idx); #endif - if (rc == 0) { /* larger partial substring found - may need pad to complete */ @@ -4420,7 +4440,6 @@ DEF_INST( compare_until_substring_equal ) cc = ( sublen == equlen ) ? 0 : 1; continue; } - else { /* substring not found */ @@ -4456,7 +4475,6 @@ DEF_INST( compare_until_substring_equal ) logmsg("CUSE: mem_cmp_first_substr: addr1=%X, addr2=%X, scanlen=%d, sublen=%d, firstequ=%d, ss_len=%d \n", addr1, addr2, scanlen, sublen, firstequ, ss_len); #endif - if (firstequ == MEM_CMP_NPOS) { /* no possible substring found - update to next end of scanned memory */ @@ -4480,7 +4498,6 @@ DEF_INST( compare_until_substring_equal ) cc = 2; } - else { /* found a start of possible substring byte */ @@ -4523,7 +4540,6 @@ DEF_INST( compare_until_substring_equal ) logmsg("CUSE: mem_cmp_last_neq: addr1=%X, addr2=%X, peaklen=%d, lastneq=%d \n", addr1, addr2, peeklen, lastneq); #endif - if (lastneq == MEM_CMP_NPOS) { if (sublen == peeklen + equlen) @@ -4551,7 +4567,6 @@ DEF_INST( compare_until_substring_equal ) continue; } } - else { /* found a mismatch - update to nonequal byte */ @@ -4584,7 +4599,6 @@ DEF_INST( compare_until_substring_equal ) logmsg("CUSE: op-1 pad check: addr1=%X, len1=%ld, padlen=%d, eqaddr1=%X, equlen=%d, remlen1=%d, lastneq=%d \n", addr1, len1, padlen, eqaddr1, equlen, remlen1, lastneq ); #endif - if (lastneq == MEM_CMP_NPOS) { addr1 += padlen; @@ -4596,7 +4610,6 @@ DEF_INST( compare_until_substring_equal ) cc = (sublen == equlen ) ? 0 : 1; break; } - else { /* found a mismatch - update to nonequal byte */ @@ -4628,7 +4641,6 @@ DEF_INST( compare_until_substring_equal ) logmsg("CUSE: op-2 pad check: addr2=%X, len2=%ld, padlen=%d, eqaddr2=%X, equlen=%d, remlen2=%d, lastneq=%d \n", addr2, len2, padlen, eqaddr2, equlen, remlen2, lastneq ); #endif - if (lastneq == MEM_CMP_NPOS) { addr2 += padlen; @@ -4668,7 +4680,6 @@ DEF_INST( compare_until_substring_equal ) logmsg("CUSE: general: addr1=%X, len1=%ld, addr2=%X, len2=%ld, equlen=%d \n", addr1, len1, addr2, len2, equlen); #endif - /* Fetch byte from first operand, or use padding byte */ if (len1 > 0) byte1 = ARCH_DEP( vfetchb )( addr1, r1, regs ); From e50e679610a7beea8031ae5f31ce121c4080597a Mon Sep 17 00:00:00 2001 From: James Wekel Date: Tue, 15 Nov 2022 20:35:02 -0700 Subject: [PATCH 4/4] Minor: reduce tst timeout to 300 --- tests/CUSE-02-performance.tst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/CUSE-02-performance.tst b/tests/CUSE-02-performance.tst index 89bb0c78a..21a7966e6 100644 --- a/tests/CUSE-02-performance.tst +++ b/tests/CUSE-02-performance.tst @@ -40,7 +40,7 @@ loadcore "$(testpath)/CUSE-02-performance.core" 0x0 diag8cmd enable # (needed for messages to Hercules console) #r 408=ff # (enable timing tests) -runtest 500 # (test duration, depends on host) +runtest 300 # (test duration, depends on host) diag8cmd disable # (reset back to default) *Done