Browse Prior Art Database

CRC Accumulation Routine for 8 Bit Program Control Unit

IP.com Disclosure Number: IPCOM000076135D
Original Publication Date: 1972-Jan-01
Included in the Prior Art Database: 2005-Feb-24
Document File: 2 page(s) / 60K

Publishing Venue

IBM

Related People

Houdek, ME: AUTHOR [+2]

Abstract

Generation of a cyclic redundancy check (CRC) character in a data transmission system can be accomplished utilizing software techniques. Such techniques commonly require a shift right instruction which is not available in a system having a limited instruction set.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 66% of the total text.

Page 1 of 2

CRC Accumulation Routine for 8 Bit Program Control Unit

Generation of a cyclic redundancy check (CRC) character in a data transmission system can be accomplished utilizing software techniques. Such techniques commonly require a shift right instruction which is not available in a system having a limited instruction set.

This technique for generating a CRC character requires a small micro processor with four 8-bit registers identified as: CRCH - High-order 8 bits of the CRC character CRCL - Low-order 8 bits of the CRC character AUX - Auxiliary Register DATA - Data register containing the data byte to be accumulated in to the CRC character.

The program subroutine is expressed in terms of the following instructions. XOR, A, B The contents of A is Exclusive-ORed with the contents of B, with the result placed in A. XOR, A, DATA The contents of A is Exclusive-ORed with data, with the result placed in A. LOAD, A, B Move the contents of B to A. LOAD, A, DATA Move data to A. ADD, A, B The contents of A is added to the contents of B, with the result placed in A. ADDC, A, B The contents of A, the contents of B, and a possible carry from a previous ADD instruction, is added together with the result in A. JNZ, A Jump to instruction address A, if the previous result was not zero. JC, A Jump to instruction address A, if the previous instruction execution resulted in a carry.

The subroutine modifies the contents of the cyclic redundancy check (CRC) registers - CRCH and CRCL - wit...