Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

222 lines
8.8 KiB

  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type"
  4. content="text/html; charset=iso-8859-1">
  5. <meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
  6. <title>BitStream manipulation</title>
  7. </head>
  8. <body bgcolor="#FFFFFF">
  9. <table border="0" cellpadding="0" cellspacing="0">
  10. <caption align="top">Insert 5 bits at underlined cp</caption>
  11. <tr>
  12. <td>&nbsp;</td>
  13. <td><font size="2" face="Courier New">i</font></td>
  14. <td><font size="2" face="Courier New">(j)</font></td>
  15. <td>&nbsp;</td>
  16. <td>&nbsp;</td>
  17. </tr>
  18. <tr>
  19. <td><font size="2" face="Courier New">1. </font></td>
  20. <td><font size="2" face="Courier New">1<u>1</u>11 </font></td>
  21. <td><font size="2" face="Courier New">1111</font></td>
  22. <td>&nbsp;</td>
  23. <td><font size="2" face="Courier New">Produce h=0111 and
  24. l=1000</font></td>
  25. </tr>
  26. <tr>
  27. <td><font size="2" face="Courier New">2.</font></td>
  28. <td><font size="2" face="Courier New">1<u>1</u>11</font></td>
  29. <td><font size="2" face="Courier New">xxxx </font></td>
  30. <td><font size="2" face="Courier New">1111 </font></td>
  31. <td><font size="2" face="Courier New">Insert 5/4 elems at
  32. [i+1]</font></td>
  33. </tr>
  34. <tr>
  35. <td><font size="2" face="Courier New">3.</font></td>
  36. <td><font size="2" face="Courier New">0000</font></td>
  37. <td><font size="2" face="Courier New">0111</font></td>
  38. <td><font size="2" face="Courier New">1111</font></td>
  39. <td><font size="2" face="Courier New">j = i+5/4; Zero out
  40. [i] &amp; move h to [j]</font></td>
  41. </tr>
  42. <tr>
  43. <td><font size="2" face="Courier New">4.</font></td>
  44. <td><font size="2" face="Courier New">0000</font></td>
  45. <td><font size="2" face="Courier New">0011</font></td>
  46. <td><font size="2" face="Courier New">1111</font></td>
  47. <td><font size="2" face="Courier New">Shift up 5%4 bits
  48. starting at [j]</font></td>
  49. </tr>
  50. <tr>
  51. <td><font size="2" face="Courier New">5.</font></td>
  52. <td><font size="2" face="Courier New">1<u>000</u></font></td>
  53. <td><font size="2" face="Courier New"><u>00</u>11</font></td>
  54. <td><font size="2" face="Courier New">1111</font></td>
  55. <td><font size="2" face="Courier New">Or l to [i]</font></td>
  56. </tr>
  57. </table>
  58. <p>&nbsp;</p>
  59. <table border="0" cellpadding="0" cellspacing="0">
  60. <caption align="top"><font size="3">Insert 5 bits at
  61. underlined cp with gap (no shifting required)</font></caption>
  62. <tr>
  63. <td>&nbsp;</td>
  64. <td><font size="2" face="Courier New">i</font></td>
  65. <td>&nbsp;</td>
  66. <td><font size="2" face="Courier New">(j)</font></td>
  67. <td>&nbsp;</td>
  68. <td>&nbsp;</td>
  69. </tr>
  70. <tr>
  71. <td><font size="2" face="Courier New">1. </font></td>
  72. <td><font size="2" face="Courier New">1<u>1</u>11 </font></td>
  73. <td><font size="2" face="Courier New">1111</font></td>
  74. <td>&nbsp;</td>
  75. <td>&nbsp;</td>
  76. <td><font size="2" face="Courier New">Produce h=0111 and
  77. l=1000</font></td>
  78. </tr>
  79. <tr>
  80. <td><font size="2" face="Courier New">2.</font></td>
  81. <td><font size="2" face="Courier New">1<u>1</u>11</font></td>
  82. <td><font size="2" face="Courier New">xxxx </font></td>
  83. <td><font size="2" face="Courier New">xxxx </font></td>
  84. <td><font size="2" face="Courier New">1111 </font></td>
  85. <td><font size="2" face="Courier New">c = (5+3)/4; Insert
  86. c elems at [i+1]</font></td>
  87. </tr>
  88. <tr>
  89. <td><font size="2" face="Courier New">3.</font></td>
  90. <td><font size="2" face="Courier New">1000</font></td>
  91. <td><font size="2" face="Courier New">xxxx</font></td>
  92. <td><font size="2" face="Courier New">0111</font></td>
  93. <td><font size="2" face="Courier New">1111</font></td>
  94. <td><font size="2" face="Courier New">j = i+c; Move l to
  95. [i]; Move h to [j]</font></td>
  96. </tr>
  97. <tr>
  98. <td><font size="2" face="Courier New">4.</font></td>
  99. <td><font size="2" face="Courier New">1<u>000</u></font></td>
  100. <td><font size="2" face="Courier New"><u>0</u>xxx</font></td>
  101. <td><font size="2" face="Courier New"><u>0</u>111</font></td>
  102. <td><font size="2" face="Courier New">1111</font></td>
  103. <td><font size="2" face="Courier New">ibGap =
  104. cp+(5/4)*RSIZE; cbGap = c*RSIZE - 5; </font></td>
  105. </tr>
  106. </table>
  107. <p>&nbsp;</p>
  108. <table border="0" cellpadding="0" cellspacing="0">
  109. <caption align="top">Delete 7 bits at underlined cp</caption>
  110. <tr>
  111. <td>&nbsp;</td>
  112. <td><font size="2" face="Courier New">i</font></td>
  113. <td><font size="2" face="Courier New">(j)</font></td>
  114. <td><font size="2" face="Courier New">k</font></td>
  115. <td>&nbsp;</td>
  116. <td>&nbsp;</td>
  117. </tr>
  118. <tr>
  119. <td><font size="2" face="Courier New">1. </font></td>
  120. <td><font size="2" face="Courier New">111<u>x</u> </font></td>
  121. <td><font size="2" face="Courier New"><u>xxxx</u> </font></td>
  122. <td><font size="2" face="Courier New"><u>xx</u>11 </font></td>
  123. <td><font size="2" face="Courier New">0000 </font></td>
  124. <td><font size="2" face="Courier New">Produce h=0011 and
  125. l=1110</font></td>
  126. </tr>
  127. <tr>
  128. <td><font size="2" face="Courier New">2.</font></td>
  129. <td><font size="2" face="Courier New"><u>xxxx</u></font></td>
  130. <td><font size="2" face="Courier New"><u>xx</u>11</font></td>
  131. <td><font size="2" face="Courier New">0000</font></td>
  132. <td>&nbsp;</td>
  133. <td><font size="2" face="Courier New">Delete 7/4 elems at
  134. [i]</font></td>
  135. </tr>
  136. <tr>
  137. <td><font size="2" face="Courier New">3.</font></td>
  138. <td><font size="2" face="Courier New">0000</font></td>
  139. <td><font size="2" face="Courier New">0011</font></td>
  140. <td><font size="2" face="Courier New">0000</font></td>
  141. <td>&nbsp;</td>
  142. <td><font size="2" face="Courier New">j = k-7/4; Zero out
  143. [i] &amp; move h to [j]</font></td>
  144. </tr>
  145. <tr>
  146. <td><font size="2" face="Courier New">4.</font></td>
  147. <td><font size="2" face="Courier New">0001</font></td>
  148. <td><font size="2" face="Courier New">1000</font></td>
  149. <td><font size="2" face="Courier New">0---</font></td>
  150. <td>&nbsp;</td>
  151. <td><font size="2" face="Courier New">Shift down 7%4 bits
  152. starting at [i]</font></td>
  153. </tr>
  154. <tr>
  155. <td><font size="2" face="Courier New">5.</font></td>
  156. <td><font size="2" face="Courier New">1111</font></td>
  157. <td><font size="2" face="Courier New">1000</font></td>
  158. <td><font size="2" face="Courier New">0---</font></td>
  159. <td>&nbsp;</td>
  160. <td><font size="2" face="Courier New">Or l to [i]</font></td>
  161. </tr>
  162. </table>
  163. <p>&nbsp;</p>
  164. <table border="0" cellpadding="0" cellspacing="0">
  165. <caption align="top">Delete 7 bits at underlined cp with gap
  166. (no shifting required)</caption>
  167. <tr>
  168. <td>&nbsp;</td>
  169. <td><font size="2" face="Courier New">i</font></td>
  170. <td><font size="2" face="Courier New">(j)</font></td>
  171. <td><font size="2" face="Courier New">k</font></td>
  172. <td>&nbsp;</td>
  173. <td>&nbsp;</td>
  174. </tr>
  175. <tr>
  176. <td><font size="2" face="Courier New">1. </font></td>
  177. <td><font size="2" face="Courier New">111<u>x</u> </font></td>
  178. <td><font size="2" face="Courier New"><u>xxxx</u> </font></td>
  179. <td><font size="2" face="Courier New"><u>xx</u>11 </font></td>
  180. <td><font size="2" face="Courier New">0000 </font></td>
  181. <td><font size="2" face="Courier New">Produce h=0011 and
  182. l=1110</font></td>
  183. </tr>
  184. <tr>
  185. <td><font size="2" face="Courier New">2.</font></td>
  186. <td><font size="2" face="Courier New"><u>xxxx</u></font></td>
  187. <td><font size="2" face="Courier New"><u>xx</u>11</font></td>
  188. <td><font size="2" face="Courier New">0000</font></td>
  189. <td>&nbsp;</td>
  190. <td><font size="2" face="Courier New">c = 7/4; Delete c
  191. elems at [i]</font></td>
  192. </tr>
  193. <tr>
  194. <td><font size="2" face="Courier New">3.</font></td>
  195. <td><font size="2" face="Courier New">1110</font></td>
  196. <td><font size="2" face="Courier New">0011</font></td>
  197. <td><font size="2" face="Courier New">0000</font></td>
  198. <td>&nbsp;</td>
  199. <td><font size="2" face="Courier New">j = k-c; Zero [i];
  200. Move h to [j]; Or l to [i]</font></td>
  201. </tr>
  202. <tr>
  203. <td><font size="2" face="Courier New">4.</font></td>
  204. <td><font size="2" face="Courier New">111x</font></td>
  205. <td><font size="2" face="Courier New">xx11</font></td>
  206. <td><font size="2" face="Courier New">0000</font></td>
  207. <td>&nbsp;</td>
  208. <td><font size="2" face="Courier New">ibGap = cp; cbGap =
  209. 7%4;</font></td>
  210. </tr>
  211. </table>
  212. </body>
  213. </html>