#!perl -w use strict; no strict "vars"; use Bit::ShiftReg qw(:all); # ====================================================================== # $carry = ROL_32($value); # $carry = ROR_32($value); # $carry = SHL_32($value,$carry); # $carry = SHR_32($value,$carry); # ====================================================================== if (bits_of_byte() != 8) { print "1..1\n"; print "not ok 1\n"; exit; } else { print "1..60\n"; } $n = 1; $byte3 = hex("FF"); $byte2 = hex("FF"); $byte1 = hex("FF"); $byte0 = hex("FF"); if (SHL_byte($byte3, SHL_byte($byte2, SHL_byte($byte1, # ROL SHL_byte($byte0, MSB_byte($byte3))))) == 1) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte0 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte1 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte2 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte3 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; $byte3 = hex("FF"); $byte2 = hex("FF"); $byte1 = hex("FF"); $byte0 = hex("FF"); if (SHR_byte($byte0, SHR_byte($byte1, SHR_byte($byte2, # ROR SHR_byte($byte3, LSB_byte($byte0))))) == 1) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte0 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte1 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte2 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte3 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; $byte3 = hex("FF"); $byte2 = hex("FF"); $byte1 = hex("FF"); $byte0 = hex("FF"); if (SHL_byte($byte3, SHL_byte($byte2, SHL_byte($byte1, # SHL SHL_byte($byte0, 1)))) == 1) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte0 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte1 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte2 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte3 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; $byte3 = hex("FF"); $byte2 = hex("FF"); $byte1 = hex("FF"); $byte0 = hex("FF"); if (SHR_byte($byte0, SHR_byte($byte1, SHR_byte($byte2, # SHR SHR_byte($byte3, 1)))) == 1) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte0 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte1 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte2 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte3 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; $byte3 = hex("FF"); $byte2 = hex("FF"); $byte1 = hex("FF"); $byte0 = hex("FF"); if (SHL_byte($byte3, SHL_byte($byte2, SHL_byte($byte1, # SHL SHL_byte($byte0, 0)))) == 1) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte0 == hex("FE")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte1 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte2 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte3 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; $byte3 = hex("FF"); $byte2 = hex("FF"); $byte1 = hex("FF"); $byte0 = hex("FF"); if (SHR_byte($byte0, SHR_byte($byte1, SHR_byte($byte2, # SHR SHR_byte($byte3, 0)))) == 1) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte0 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte1 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte2 == hex("FF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte3 == hex("7F")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; $byte3 = hex("81"); $byte2 = hex("7E"); $byte1 = hex("FF"); $byte0 = hex("5A"); if (SHL_byte($byte3, SHL_byte($byte2, SHL_byte($byte1, # ROL SHL_byte($byte0, MSB_byte($byte3))))) == 1) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte0 == hex("B5")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte1 == hex("FE")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte2 == hex("FD")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte3 == hex("02")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; $byte3 = hex("81"); $byte2 = hex("7E"); $byte1 = hex("FF"); $byte0 = hex("5A"); if (SHR_byte($byte0, SHR_byte($byte1, SHR_byte($byte2, # ROR SHR_byte($byte3, LSB_byte($byte0))))) == 0) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte0 == hex("AD")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte1 == hex("7F")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte2 == hex("BF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte3 == hex("40")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; $byte3 = hex("81"); $byte2 = hex("7E"); $byte1 = hex("FF"); $byte0 = hex("5A"); if (SHL_byte($byte3, SHL_byte($byte2, SHL_byte($byte1, # SHL SHL_byte($byte0, 0)))) == 1) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte0 == hex("B4")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte1 == hex("FE")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte2 == hex("FD")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte3 == hex("02")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; $byte3 = hex("81"); $byte2 = hex("7E"); $byte1 = hex("FF"); $byte0 = hex("5A"); if (SHL_byte($byte3, SHL_byte($byte2, SHL_byte($byte1, # SHL SHL_byte($byte0, 1)))) == 1) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte0 == hex("B5")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte1 == hex("FE")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte2 == hex("FD")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte3 == hex("02")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; $byte3 = hex("81"); $byte2 = hex("7E"); $byte1 = hex("FF"); $byte0 = hex("5A"); if (SHR_byte($byte0, SHR_byte($byte1, SHR_byte($byte2, # SHR SHR_byte($byte3, 0)))) == 0) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte0 == hex("AD")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte1 == hex("7F")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte2 == hex("BF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte3 == hex("40")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; $byte3 = hex("81"); $byte2 = hex("7E"); $byte1 = hex("FF"); $byte0 = hex("5A"); if (SHR_byte($byte0, SHR_byte($byte1, SHR_byte($byte2, # SHR SHR_byte($byte3, 1)))) == 0) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte0 == hex("AD")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte1 == hex("7F")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte2 == hex("BF")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; if ($byte3 == hex("C0")) {print "ok $n\n";} else {print "not ok $n\n";} $n++; __END__