Prologue |
|
xiii | |
Preface |
|
xv | |
About the Author |
|
xvii | |
Background and Use of the Book |
|
xix | |
References |
|
xxvi | |
|
Chapter 1 Arithmetical Macros |
|
|
1 | (52) |
|
|
1 | (1) |
|
|
2 | (1) |
|
|
3 | (2) |
|
|
5 | (1) |
|
|
6 | (1) |
|
|
7 | (1) |
|
|
8 | (2) |
|
|
10 | (1) |
|
|
10 | (2) |
|
|
12 | (2) |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
16 | (1) |
|
|
17 | (2) |
|
|
19 | (1) |
|
1.15 Macro "Hbit_CNT" (High Bit Counter) |
|
|
19 | (11) |
|
1.16 Macro "Lbit_CNT" (Low Bit Counter) |
|
|
30 | (3) |
|
1.17 Examples for Arithmetical Macros |
|
|
33 | (18) |
|
|
34 | (3) |
|
|
37 | (1) |
|
|
38 | (1) |
|
|
39 | (3) |
|
|
42 | (1) |
|
|
43 | (1) |
|
|
44 | (1) |
|
|
44 | (4) |
|
|
48 | (3) |
|
|
51 | (2) |
|
|
53 | (32) |
|
|
53 | (1) |
|
|
53 | (3) |
|
|
56 | (1) |
|
|
57 | (1) |
|
|
58 | (2) |
|
|
60 | (3) |
|
|
63 | (1) |
|
|
64 | (1) |
|
|
65 | (1) |
|
|
66 | (3) |
|
|
69 | (2) |
|
2.11 The Macro "RlxnorR2" |
|
|
71 | (1) |
|
|
72 | (1) |
|
|
73 | (3) |
|
2.14 An Example for Logical Macros |
|
|
76 | (9) |
|
Chapter 3 Shift and Rotate Macros |
|
|
85 | (112) |
|
|
85 | (1) |
|
3.1 Macro "Ashift_R" (Arithmetic Shift Right Rin) |
|
|
86 | (1) |
|
3.2 Macro "Ashift_R_16" (Arithmetic Shift Right Rin) |
|
|
87 | (2) |
|
3.3 Macro "Lshift_R" (Logical Shift Right Rin) |
|
|
89 | (1) |
|
3.4 Macro "Lshift_R_16" (Logical Shift Right Rin) |
|
|
90 | (3) |
|
3.5 Macro "Lshift_L" (Logical Shift Left Rin) |
|
|
93 | (1) |
|
3.6 Macro "Lshift_L_16" (Logical Shift Left Rin) |
|
|
94 | (3) |
|
3.7 Macro "shift_R" (Shift Right Rin) |
|
|
97 | (2) |
|
3.8 Macro "shift_R_16" (Shift Right Rin) |
|
|
99 | (2) |
|
3.9 Macro "shift_L" (Shift Left Rin) |
|
|
101 | (2) |
|
3.10 Macro "shift_L_16" (Shift Left Rin) |
|
|
103 | (2) |
|
3.11 Macro "rotate_R" (Rotate Right Rin) |
|
|
105 | (5) |
|
3.12 Macro "rotate_R_16" (Rotate Right Rin) |
|
|
110 | (3) |
|
3.13 Macro "rotate_L" (Rotate Left Rin) |
|
|
113 | (3) |
|
3.14 Macro "rotate_L_16" (Rotate Left Rin) |
|
|
116 | (3) |
|
|
119 | (3) |
|
3.16 Examples for Shift and Rotate Macros |
|
|
122 | (75) |
|
|
129 | (10) |
|
|
139 | (9) |
|
|
148 | (9) |
|
|
157 | (10) |
|
|
167 | (10) |
|
|
177 | (9) |
|
|
186 | (11) |
|
Chapter 4 Selection Macros |
|
|
197 | (124) |
|
|
197 | (1) |
|
4.1 Macro "move_R" (Move) |
|
|
198 | (1) |
|
4.2 Macro "load_R" (Load) |
|
|
198 | (3) |
|
4.3 Macro "select" (Selection of One of Two 8-Bit Input Variables) |
|
|
201 | (1) |
|
4.4 Macro "select_16" (Selection of One of Two 16-Bit Input Variables) |
|
|
201 | (2) |
|
4.5 Macro "max_5" (Maximum in Five 8-Bit Variables) |
|
|
203 | (5) |
|
4.6 Macro "max_10" (Maximum in Ten 8-Bit Variables) |
|
|
208 | (1) |
|
4.7 Macro "max_N80" (Maximum in N 8-Bit Variables, N = 2, 3, ..., 80) |
|
|
209 | (1) |
|
4.8 Macro "max_N40_16" (Maximum in N 16-Bit Variables, N = 2, 3, ..., 40) |
|
|
210 | (3) |
|
4.9 Macro "max_N255" (Maximum in N 8-Bit Variables, N = 2, 3, ..., 255) |
|
|
213 | (1) |
|
4.10 Macro "max_N255_16" (Maximum in N 16-Bit Variables, N = 2, 3, ..., 255) |
|
|
214 | (2) |
|
4.11 Macro "min _5" (Minimum in Five 8-Bit Variables) |
|
|
216 | (2) |
|
4.12 Macro min_10" (Minimum in Ten 8-Bit Variables) |
|
|
218 | (1) |
|
4.13 Macro "min_N80" (Minimum in N 8-Bit Variables, N = 2, 3, ..., 80) |
|
|
218 | (3) |
|
4.14 Macro "min_N40_16" (Minimum in N 16-Bit Variables, N = 2, 3, ..., 40) |
|
|
221 | (2) |
|
4.15 Macro "min_N255" (Minimum in N 8-Bit Variables, N = 2,3, ..., 255) |
|
|
223 | (2) |
|
4.16 Macro "min_N255_16" (Minimum in N 16-Bit Variables, N = 2, 3, ..., 255) |
|
|
225 | (2) |
|
|
227 | (1) |
|
|
228 | (1) |
|
|
229 | (1) |
|
|
230 | (1) |
|
|
230 | (1) |
|
|
231 | (1) |
|
|
231 | (2) |
|
|
233 | (1) |
|
|
233 | (1) |
|
|
234 | (1) |
|
|
235 | (1) |
|
|
236 | (1) |
|
|
237 | (1) |
|
|
238 | (3) |
|
4.31 Examples for Selection Macros |
|
|
241 | (80) |
|
|
243 | (4) |
|
|
247 | (1) |
|
|
248 | (1) |
|
|
249 | (3) |
|
|
252 | (9) |
|
|
261 | (2) |
|
|
263 | (5) |
|
|
268 | (7) |
|
|
275 | (4) |
|
|
279 | (5) |
|
|
284 | (7) |
|
|
291 | (5) |
|
|
296 | (7) |
|
|
303 | (3) |
|
|
306 | (2) |
|
|
308 | (1) |
|
|
308 | (2) |
|
|
310 | (1) |
|
|
310 | (3) |
|
|
313 | (3) |
|
|
316 | (2) |
|
|
318 | (3) |
|
Chapter 5 Demultiplexer Macros |
|
|
321 | (58) |
|
|
321 | (1) |
|
5.1 Macro "Dmux_1_2" (1×2 DMUX) |
|
|
322 | (1) |
|
5.2 Macro "Dmux_1_2_E" (1×2 DMUX with Enable Input) |
|
|
322 | (1) |
|
5.3 Macro "Dmux_1_4" (1×4 DMUX) |
|
|
323 | (1) |
|
5.4 Macro "Dmux_1_4_E" (1×4 DMUX with Enable Input) |
|
|
323 | (2) |
|
5.5 Macro "Dmux_1_8" (1×8 DMUX) |
|
|
325 | (1) |
|
5.6 Macro "Dmux_1_8_E" (1×8 DMUX with Enable Input) |
|
|
325 | (5) |
|
5.7 Macro "Dmux_1_16" (1×16 DMUX) |
|
|
330 | (1) |
|
5.8 Macro "Dmux_1_16_E" (1×16 DMUX with Enable Input) |
|
|
330 | (1) |
|
5.9 Macro "B_Dmux_1_2_E" (1×2 Byte DeMultiplexer with Enable Input) |
|
|
331 | (3) |
|
5.10 Macro "B_Dmux_1_4_E" (1×4 Byte DeMultiplexer with Enable Input) |
|
|
334 | (2) |
|
5.11 Macro "B_Dmux_1_8_E" (1×8 Byte DeMultiplexer with Enable Input) |
|
|
336 | (3) |
|
5.12 Macro "Dispatcher_1_8_E" (1×8 Dispatcher with Enable Input) |
|
|
339 | (2) |
|
5.13 Macro "Patcher_8_1_E" (8×1 Patcher with Enable Input) |
|
|
341 | (5) |
|
5.14 Examples for Demultiplexer Macros |
|
|
346 | (33) |
|
|
353 | (4) |
|
|
357 | (2) |
|
|
359 | (2) |
|
|
361 | (4) |
|
|
365 | (2) |
|
|
367 | (2) |
|
|
369 | (3) |
|
|
372 | (4) |
|
|
376 | (3) |
|
Chapter 6 Conversion Macros |
|
|
379 | (70) |
|
|
379 | (1) |
|
6.1 Macro "Conv_UsInt_2_BCD_U" (Unsigned Short Integer to Unpacked BCD Conversion) |
|
|
380 | (3) |
|
6.2 Macro "Conv_UsInt_2_BCD_P" (Unsigned Short Integer to Packed BCD Conversion) |
|
|
383 | (2) |
|
6.3 Macro "Conv_UInt_2_BCD_U" (Unsigned Integer to Unpacked BCD Conversion) |
|
|
385 | (1) |
|
6.4 Macro "Conv_UInt_2_BCD_P" (Unsigned Integer to Packed BCD Conversion) |
|
|
386 | (3) |
|
6.5 Macro "Conv_BCD_U_2_UInt" (5-Digit Unpacked BCD to Unsigned Integer Conversion) |
|
|
389 | (3) |
|
6.6 Macro "Conv_BCD_P_2_UInt" (5-Digit Packed BCD to Unsigned Integer Conversion) |
|
|
392 | (3) |
|
6.7 Seven-Segment LED Displays |
|
|
395 | (4) |
|
6.8 Macro "Segment_CCD" (Segment_CCD Instruction) |
|
|
399 | (7) |
|
6.9 Macro "Segment_CAD" (Segment_CAD Instruction) |
|
|
406 | (4) |
|
6.10 Macro "Conv_Bin_2_Gray" (Binary to Gray Code Conversion) |
|
|
410 | (2) |
|
6.11 Macro "Conv_Bin_2_Gray_16" (Binary to Gray Code Conversion) |
|
|
412 | (2) |
|
6.12 Macro "Conv_Gray_2_Bin" (Gray Code to Binary Conversion) |
|
|
414 | (4) |
|
6.13 Macro "Conv_Gray_2_Bin_16" (Gray Code to Binary Conversion) |
|
|
418 | (2) |
|
6.14 Examples for Conversion Macros |
|
|
420 | (28) |
|
|
424 | (3) |
|
|
427 | (1) |
|
|
428 | (2) |
|
|
430 | (1) |
|
|
431 | (2) |
|
|
433 | (1) |
|
|
434 | (1) |
|
|
435 | (1) |
|
|
436 | (1) |
|
|
437 | (2) |
|
|
439 | (2) |
|
|
441 | (7) |
|
|
448 | (1) |
About the Downloadable Files for Intermediate Concepts |
|
449 | (2) |
Index |
|
451 | |