Patent ID: 7394409
Filing Date: 2008-07-01
Classification: G06F

Abstract:
1. A method for packing data from an ASCII coded field to a field which is approximately half as wide, said method comprising the steps of: retrieving input data to be packed from a memory and storing it in an offset position in memory locations which represent a local array of bytes; setting a source pointer to point to the data at address “local array+1”; setting a target pointer to point to a position in memory location which represents a local array pack array which holds operation results; computing a first byte of a present block of the output as: (((BLOCK & 0x0F0F0F0F0F0F0F0F)<<4)|((BLOCK & 0X0F0F0F0F0F0F0F0F)<<4)) & 0xFF0000000000000), where “BLOCK” represents said block of said input data; generating the three remaining bytes of the present block by shifting and then ORing the byte to the 4-byte output block; incrementing said pointers and repeating the previous two steps four times, once for each said block; setting the last nibble to 0xC; and storing said pack array in said memory.