1#!perl -w 2 3use strict; 4no strict "vars"; 5 6use Bit::ShiftReg qw(:all); 7 8# ====================================================================== 9# $carry = ROL_short($value); 10# $carry = ROR_short($value); 11# $carry = SHL_short($value,$carry); 12# $carry = SHR_short($value,$carry); 13# ====================================================================== 14 15print "1..38\n"; 16 17$n = 1; 18$value = hex("1E"); 19if (ROL_short($value) == 0) 20{print "ok $n\n";} else {print "not ok $n\n";} 21$n++; 22if ($value == hex("3C")) 23{print "ok $n\n";} else {print "not ok $n\n";} 24$n++; 25 26$value = -1; 27if (ROL_short($value) == 1) 28{print "ok $n\n";} else {print "not ok $n\n";} 29$n++; 30if ($value != 0) 31{print "ok $n\n";} else {print "not ok $n\n";} 32$n++; 33 34$value = hex("5A"); 35if (ROR_short($value) == 0) 36{print "ok $n\n";} else {print "not ok $n\n";} 37$n++; 38if ($value == hex("2D")) 39{print "ok $n\n";} else {print "not ok $n\n";} 40$n++; 41 42$value = hex("55"); 43if (ROR_short($value) == 1) 44{print "ok $n\n";} else {print "not ok $n\n";} 45$n++; 46if ($value != 0) 47{print "ok $n\n";} else {print "not ok $n\n";} 48$n++; 49if (LSB_short($value) == 0) 50{print "ok $n\n";} else {print "not ok $n\n";} 51$n++; 52if (MSB_short($value) == 1) 53{print "ok $n\n";} else {print "not ok $n\n";} 54$n++; 55 56$value = -1; 57if (ROR_short($value) == 1) 58{print "ok $n\n";} else {print "not ok $n\n";} 59$n++; 60if ($value != 0) 61{print "ok $n\n";} else {print "not ok $n\n";} 62$n++; 63 64$value = hex("1E"); 65if (SHL_short($value,0) == 0) 66{print "ok $n\n";} else {print "not ok $n\n";} 67$n++; 68if ($value == hex("3C")) 69{print "ok $n\n";} else {print "not ok $n\n";} 70$n++; 71 72$value = hex("1E"); 73if (SHL_short($value,1) == 0) 74{print "ok $n\n";} else {print "not ok $n\n";} 75$n++; 76if ($value == hex("3D")) 77{print "ok $n\n";} else {print "not ok $n\n";} 78$n++; 79 80$value = -1; 81if (SHL_short($value,0) == 1) 82{print "ok $n\n";} else {print "not ok $n\n";} 83$n++; 84if ($value != 0) 85{print "ok $n\n";} else {print "not ok $n\n";} 86$n++; 87if (LSB_short($value) == 0) 88{print "ok $n\n";} else {print "not ok $n\n";} 89$n++; 90if (MSB_short($value) == 1) 91{print "ok $n\n";} else {print "not ok $n\n";} 92$n++; 93 94$value = -1; 95if (SHL_short($value,1) == 1) 96{print "ok $n\n";} else {print "not ok $n\n";} 97$n++; 98if ($value != 0) 99{print "ok $n\n";} else {print "not ok $n\n";} 100$n++; 101if (LSB_short($value) == 1) 102{print "ok $n\n";} else {print "not ok $n\n";} 103$n++; 104if (MSB_short($value) == 1) 105{print "ok $n\n";} else {print "not ok $n\n";} 106$n++; 107 108$value = hex("5A"); 109if (SHR_short($value,0) == 0) 110{print "ok $n\n";} else {print "not ok $n\n";} 111$n++; 112if ($value == hex("2D")) 113{print "ok $n\n";} else {print "not ok $n\n";} 114$n++; 115 116$value = hex("55"); 117if (SHR_short($value,1) == 1) 118{print "ok $n\n";} else {print "not ok $n\n";} 119$n++; 120if ($value != 0) 121{print "ok $n\n";} else {print "not ok $n\n";} 122$n++; 123if (LSB_short($value) == 0) 124{print "ok $n\n";} else {print "not ok $n\n";} 125$n++; 126if (MSB_short($value) == 1) 127{print "ok $n\n";} else {print "not ok $n\n";} 128$n++; 129 130$value = -1; 131if (SHR_short($value,0) == 1) 132{print "ok $n\n";} else {print "not ok $n\n";} 133$n++; 134if ($value != 0) 135{print "ok $n\n";} else {print "not ok $n\n";} 136$n++; 137if (LSB_short($value) == 1) 138{print "ok $n\n";} else {print "not ok $n\n";} 139$n++; 140if (MSB_short($value) == 0) 141{print "ok $n\n";} else {print "not ok $n\n";} 142$n++; 143 144$value = -1; 145if (SHR_short($value,1) == 1) 146{print "ok $n\n";} else {print "not ok $n\n";} 147$n++; 148if ($value != 0) 149{print "ok $n\n";} else {print "not ok $n\n";} 150$n++; 151if (LSB_short($value) == 1) 152{print "ok $n\n";} else {print "not ok $n\n";} 153$n++; 154if (MSB_short($value) == 1) 155{print "ok $n\n";} else {print "not ok $n\n";} 156$n++; 157 158__END__ 159 160