223 lines
8.8 KiB
HTML
223 lines
8.8 KiB
HTML
|
<html>
|
||
|
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type"
|
||
|
content="text/html; charset=iso-8859-1">
|
||
|
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
|
||
|
<title>BitStream manipulation</title>
|
||
|
</head>
|
||
|
|
||
|
<body bgcolor="#FFFFFF">
|
||
|
|
||
|
<table border="0" cellpadding="0" cellspacing="0">
|
||
|
<caption align="top">Insert 5 bits at underlined cp</caption>
|
||
|
<tr>
|
||
|
<td> </td>
|
||
|
<td><font size="2" face="Courier New">i</font></td>
|
||
|
<td><font size="2" face="Courier New">(j)</font></td>
|
||
|
<td> </td>
|
||
|
<td> </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">1. </font></td>
|
||
|
<td><font size="2" face="Courier New">1<u>1</u>11 </font></td>
|
||
|
<td><font size="2" face="Courier New">1111</font></td>
|
||
|
<td> </td>
|
||
|
<td><font size="2" face="Courier New">Produce h=0111 and
|
||
|
l=1000</font></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">2.</font></td>
|
||
|
<td><font size="2" face="Courier New">1<u>1</u>11</font></td>
|
||
|
<td><font size="2" face="Courier New">xxxx </font></td>
|
||
|
<td><font size="2" face="Courier New">1111 </font></td>
|
||
|
<td><font size="2" face="Courier New">Insert 5/4 elems at
|
||
|
[i+1]</font></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">3.</font></td>
|
||
|
<td><font size="2" face="Courier New">0000</font></td>
|
||
|
<td><font size="2" face="Courier New">0111</font></td>
|
||
|
<td><font size="2" face="Courier New">1111</font></td>
|
||
|
<td><font size="2" face="Courier New">j = i+5/4; Zero out
|
||
|
[i] & move h to [j]</font></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">4.</font></td>
|
||
|
<td><font size="2" face="Courier New">0000</font></td>
|
||
|
<td><font size="2" face="Courier New">0011</font></td>
|
||
|
<td><font size="2" face="Courier New">1111</font></td>
|
||
|
<td><font size="2" face="Courier New">Shift up 5%4 bits
|
||
|
starting at [j]</font></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">5.</font></td>
|
||
|
<td><font size="2" face="Courier New">1<u>000</u></font></td>
|
||
|
<td><font size="2" face="Courier New"><u>00</u>11</font></td>
|
||
|
<td><font size="2" face="Courier New">1111</font></td>
|
||
|
<td><font size="2" face="Courier New">Or l to [i]</font></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<table border="0" cellpadding="0" cellspacing="0">
|
||
|
<caption align="top"><font size="3">Insert 5 bits at
|
||
|
underlined cp with gap (no shifting required)</font></caption>
|
||
|
<tr>
|
||
|
<td> </td>
|
||
|
<td><font size="2" face="Courier New">i</font></td>
|
||
|
<td> </td>
|
||
|
<td><font size="2" face="Courier New">(j)</font></td>
|
||
|
<td> </td>
|
||
|
<td> </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">1. </font></td>
|
||
|
<td><font size="2" face="Courier New">1<u>1</u>11 </font></td>
|
||
|
<td><font size="2" face="Courier New">1111</font></td>
|
||
|
<td> </td>
|
||
|
<td> </td>
|
||
|
<td><font size="2" face="Courier New">Produce h=0111 and
|
||
|
l=1000</font></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">2.</font></td>
|
||
|
<td><font size="2" face="Courier New">1<u>1</u>11</font></td>
|
||
|
<td><font size="2" face="Courier New">xxxx </font></td>
|
||
|
<td><font size="2" face="Courier New">xxxx </font></td>
|
||
|
<td><font size="2" face="Courier New">1111 </font></td>
|
||
|
<td><font size="2" face="Courier New">c = (5+3)/4; Insert
|
||
|
c elems at [i+1]</font></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">3.</font></td>
|
||
|
<td><font size="2" face="Courier New">1000</font></td>
|
||
|
<td><font size="2" face="Courier New">xxxx</font></td>
|
||
|
<td><font size="2" face="Courier New">0111</font></td>
|
||
|
<td><font size="2" face="Courier New">1111</font></td>
|
||
|
<td><font size="2" face="Courier New">j = i+c; Move l to
|
||
|
[i]; Move h to [j]</font></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">4.</font></td>
|
||
|
<td><font size="2" face="Courier New">1<u>000</u></font></td>
|
||
|
<td><font size="2" face="Courier New"><u>0</u>xxx</font></td>
|
||
|
<td><font size="2" face="Courier New"><u>0</u>111</font></td>
|
||
|
<td><font size="2" face="Courier New">1111</font></td>
|
||
|
<td><font size="2" face="Courier New">ibGap =
|
||
|
cp+(5/4)*RSIZE; cbGap = c*RSIZE - 5; </font></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<table border="0" cellpadding="0" cellspacing="0">
|
||
|
<caption align="top">Delete 7 bits at underlined cp</caption>
|
||
|
<tr>
|
||
|
<td> </td>
|
||
|
<td><font size="2" face="Courier New">i</font></td>
|
||
|
<td><font size="2" face="Courier New">(j)</font></td>
|
||
|
<td><font size="2" face="Courier New">k</font></td>
|
||
|
<td> </td>
|
||
|
<td> </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">1. </font></td>
|
||
|
<td><font size="2" face="Courier New">111<u>x</u> </font></td>
|
||
|
<td><font size="2" face="Courier New"><u>xxxx</u> </font></td>
|
||
|
<td><font size="2" face="Courier New"><u>xx</u>11 </font></td>
|
||
|
<td><font size="2" face="Courier New">0000 </font></td>
|
||
|
<td><font size="2" face="Courier New">Produce h=0011 and
|
||
|
l=1110</font></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">2.</font></td>
|
||
|
<td><font size="2" face="Courier New"><u>xxxx</u></font></td>
|
||
|
<td><font size="2" face="Courier New"><u>xx</u>11</font></td>
|
||
|
<td><font size="2" face="Courier New">0000</font></td>
|
||
|
<td> </td>
|
||
|
<td><font size="2" face="Courier New">Delete 7/4 elems at
|
||
|
[i]</font></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">3.</font></td>
|
||
|
<td><font size="2" face="Courier New">0000</font></td>
|
||
|
<td><font size="2" face="Courier New">0011</font></td>
|
||
|
<td><font size="2" face="Courier New">0000</font></td>
|
||
|
<td> </td>
|
||
|
<td><font size="2" face="Courier New">j = k-7/4; Zero out
|
||
|
[i] & move h to [j]</font></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">4.</font></td>
|
||
|
<td><font size="2" face="Courier New">0001</font></td>
|
||
|
<td><font size="2" face="Courier New">1000</font></td>
|
||
|
<td><font size="2" face="Courier New">0---</font></td>
|
||
|
<td> </td>
|
||
|
<td><font size="2" face="Courier New">Shift down 7%4 bits
|
||
|
starting at [i]</font></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">5.</font></td>
|
||
|
<td><font size="2" face="Courier New">1111</font></td>
|
||
|
<td><font size="2" face="Courier New">1000</font></td>
|
||
|
<td><font size="2" face="Courier New">0---</font></td>
|
||
|
<td> </td>
|
||
|
<td><font size="2" face="Courier New">Or l to [i]</font></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p> </p>
|
||
|
|
||
|
<table border="0" cellpadding="0" cellspacing="0">
|
||
|
<caption align="top">Delete 7 bits at underlined cp with gap
|
||
|
(no shifting required)</caption>
|
||
|
<tr>
|
||
|
<td> </td>
|
||
|
<td><font size="2" face="Courier New">i</font></td>
|
||
|
<td><font size="2" face="Courier New">(j)</font></td>
|
||
|
<td><font size="2" face="Courier New">k</font></td>
|
||
|
<td> </td>
|
||
|
<td> </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">1. </font></td>
|
||
|
<td><font size="2" face="Courier New">111<u>x</u> </font></td>
|
||
|
<td><font size="2" face="Courier New"><u>xxxx</u> </font></td>
|
||
|
<td><font size="2" face="Courier New"><u>xx</u>11 </font></td>
|
||
|
<td><font size="2" face="Courier New">0000 </font></td>
|
||
|
<td><font size="2" face="Courier New">Produce h=0011 and
|
||
|
l=1110</font></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">2.</font></td>
|
||
|
<td><font size="2" face="Courier New"><u>xxxx</u></font></td>
|
||
|
<td><font size="2" face="Courier New"><u>xx</u>11</font></td>
|
||
|
<td><font size="2" face="Courier New">0000</font></td>
|
||
|
<td> </td>
|
||
|
<td><font size="2" face="Courier New">c = 7/4; Delete c
|
||
|
elems at [i]</font></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">3.</font></td>
|
||
|
<td><font size="2" face="Courier New">1110</font></td>
|
||
|
<td><font size="2" face="Courier New">0011</font></td>
|
||
|
<td><font size="2" face="Courier New">0000</font></td>
|
||
|
<td> </td>
|
||
|
<td><font size="2" face="Courier New">j = k-c; Zero [i];
|
||
|
Move h to [j]; Or l to [i]</font></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td><font size="2" face="Courier New">4.</font></td>
|
||
|
<td><font size="2" face="Courier New">111x</font></td>
|
||
|
<td><font size="2" face="Courier New">xx11</font></td>
|
||
|
<td><font size="2" face="Courier New">0000</font></td>
|
||
|
<td> </td>
|
||
|
<td><font size="2" face="Courier New">ibGap = cp; cbGap =
|
||
|
7%4;</font></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</body>
|
||
|
</html>
|