2 * @brief - NHET Instruction Definition File
6 * (c) Texas Instruments 2009, All rights reserved.
10 #define __STD_NHET_H__
12 #if defined(_TMS470_BIG) || defined(__big_endian__)
19 # define HETBYTE unsigned char
22 typedef struct memory_format
24 unsigned int program_word ;
25 unsigned int control_word ;
26 unsigned int data_word ;
27 unsigned int reserved_word ;
31 /*---------------------------------------------*/
32 /* ACMP INSTRUCTION */
33 /*---------------------------------------------*/
34 typedef struct acmp_format
37 unsigned int reqnum : 3 ;
38 unsigned int brk : 1 ;
39 unsigned int next_program_address : 9 ;
40 unsigned int op_code : 4 ;
44 unsigned int request : 2 ;
45 unsigned int auto_read_clear : 1 ;
46 unsigned int coutprv : 1 ;
48 unsigned int en_pin_action : 1 ;
49 unsigned int cond_addr : 9 ;
50 unsigned int pin_select : 5 ;
51 unsigned int ext_reg : 1 ;
53 unsigned int pin_action : 1 ;
55 unsigned int t_register_select : 1 ;
56 unsigned int ab_register_select : 1 ;
57 unsigned int interrupt_enable : 1 ;
59 unsigned int data : 25 ;
71 /*---------------------------------------------*/
72 /* ECMP INSTRUCTION */
73 /*---------------------------------------------*/
74 typedef struct ecmp_format
77 unsigned int reqnum : 3 ;
78 unsigned int brk : 1 ;
79 unsigned int next_program_address : 9 ;
80 unsigned int op_code : 4 ;
81 unsigned int hr_lr : 1 ;
82 unsigned int angle_compare : 1 ;
86 unsigned int request : 2 ;
87 unsigned int auto_read_clear : 1 ;
89 unsigned int en_pin_action : 1 ;
90 unsigned int cond_addr : 9 ;
91 unsigned int pin_select : 5 ;
93 unsigned int sub_opcode : 2 ;
94 unsigned int pin_action : 1 ;
95 unsigned int opposite_action : 1 ;
96 unsigned int t_register_select : 1 ;
97 unsigned int ab_register_select : 1 ;
98 unsigned int interrupt_enable : 1 ;
101 unsigned int data : 25 ;
102 unsigned int hr_data : 7 ;
113 /*---------------------------------------------*/
114 /* SCMP INSTRUCTION */
115 /*---------------------------------------------*/
116 typedef struct scmp_format
119 unsigned int reqnum : 3 ;
120 unsigned int brk : 1 ;
121 unsigned int next_program_address : 9 ;
122 unsigned int op_code : 4 ;
128 unsigned int request : 2 ;
129 unsigned int auto_read_clear : 1 ;
130 unsigned int coutprv : 1 ;
132 unsigned int en_pin_action : 1 ;
133 unsigned int cond_addr : 9 ;
134 unsigned int pin_select : 5 ;
136 unsigned int compare_mode : 2 ;
137 unsigned int pin_action : 1 ;
139 unsigned int restart_en : 1 ;
140 unsigned int interrupt_enable : 1 ;
143 unsigned int data : 25 ;
155 /*---------------------------------------------*/
156 /* MCMP INSTRUCTION */
157 /*---------------------------------------------*/
158 typedef struct mcmp_format
161 unsigned int reqnum : 3 ;
162 unsigned int brk : 1 ;
163 unsigned int next_program_address : 9 ;
164 unsigned int op_code : 4 ;
165 unsigned int hr_lr : 1 ;
166 unsigned int angle_compare : 1 ;
168 unsigned int save_subtract : 1 ;
172 unsigned int request : 2 ;
173 unsigned int auto_read_clear : 1 ;
175 unsigned int en_pin_action : 1 ;
176 unsigned int cond_addr : 9 ;
177 unsigned int pin_select : 5 ;
179 unsigned int sub_opcode : 1 ;
180 unsigned int order : 1 ;
181 unsigned int pin_action : 1 ;
182 unsigned int opposite_action : 1 ;
183 unsigned int t_register_select : 1 ;
184 unsigned int ab_register_select : 1 ;
185 unsigned int interrupt_enable : 1 ;
188 unsigned int data : 25 ;
189 unsigned int hr_data : 7 ;
200 /*---------------------------------------------*/
201 /* MOV64 INSTRUCTION */
202 /*---------------------------------------------*/
203 typedef struct mov64_format
206 unsigned int brk : 1 ;
207 unsigned int next_program_address : 9 ;
208 unsigned int op_code : 4 ;
209 unsigned int remote_address : 9 ;
212 unsigned int request : 2 ;
213 unsigned int auto_read_clear : 1 ;
215 unsigned int en_pin_action : 1 ;
216 unsigned int cond_addr : 9 ;
217 unsigned int pin_select : 5 ;
219 unsigned int compare_mode : 2 ;
220 unsigned int pin_action : 1 ;
221 unsigned int opposite_action : 1 ;
222 unsigned int t_register_select : 1 ;
223 unsigned int ab_register_select : 1 ;
224 unsigned int interrupt_enable : 1 ;
227 unsigned int data : 25 ;
228 unsigned int hr_data : 7 ;
239 /*---------------------------------------------*/
240 /* DADM64 INSTRUCTION */
241 /*---------------------------------------------*/
242 typedef struct dadm64_format
245 unsigned int brk : 1 ;
246 unsigned int next_program_address : 9 ;
247 unsigned int op_code : 4 ;
248 unsigned int remote_address : 9 ;
251 unsigned int request : 2 ;
252 unsigned int auto_read_clear : 1 ;
254 unsigned int en_pin_action : 1 ;
255 unsigned int cond_addr : 9 ;
256 unsigned int pin_select : 5 ;
258 unsigned int compare_mode : 2 ;
259 unsigned int pin_action : 1 ;
260 unsigned int opposite_action : 1 ;
261 unsigned int t_register_select : 1 ;
262 unsigned int ab_register_select : 1 ;
263 unsigned int interrupt_enable : 1 ;
266 unsigned int data : 25 ;
267 unsigned int hr_data : 7 ;
273 DADM64_FIELDS dadm64 ;
275 } DADM64_INSTRUCTION;
278 /*---------------------------------------------*/
279 /* RADM64 INSTRUCTION */
280 /*---------------------------------------------*/
281 typedef struct RADM64_format
284 unsigned int brk : 1 ;
285 unsigned int next_program_address : 9 ;
286 unsigned int op_code : 4 ;
287 unsigned int remote_address : 9 ;
290 unsigned int request : 2 ;
291 unsigned int auto_read_clear : 1 ;
293 unsigned int en_pin_action : 1 ;
294 unsigned int cond_addr : 9 ;
295 unsigned int pin_select : 5 ;
297 unsigned int compare_mode : 2 ;
298 unsigned int pin_action : 1 ;
299 unsigned int opposite_action : 1 ;
300 unsigned int t_register_select : 1 ;
301 unsigned int ab_register_select : 1 ;
302 unsigned int interrupt_enable : 1 ;
305 unsigned int data : 25 ;
306 unsigned int hr_data : 7 ;
313 RADM64_FIELDS radm64 ;
315 } RADM64_INSTRUCTION;
318 /*---------------------------------------------*/
319 /* MOV32 INSTRUCTION */
320 /*---------------------------------------------*/
321 typedef struct MOV32_format
324 unsigned int brk : 1 ;
325 unsigned int next_program_address : 9 ;
326 unsigned int op_code : 4 ;
327 unsigned int remote_address : 9 ;
330 unsigned int auto_read_clear : 1 ;
332 unsigned int z_flag : 1 ;
334 unsigned int init_flag : 1 ;
335 unsigned int sub_opcode : 1 ;
336 unsigned int move_type : 2 ;
337 unsigned int t_register_select : 1 ;
338 unsigned int ab_register_select : 1 ;
342 unsigned int data : 25 ;
343 unsigned int hr_data : 7 ;
355 /*---------------------------------------------*/
356 /* ADM32 INSTRUCTION */
357 /*---------------------------------------------*/
358 typedef struct ADM32_format
361 unsigned int brk : 1 ;
362 unsigned int next_program_address : 9 ;
363 unsigned int op_code : 4 ;
364 unsigned int remote_address : 9 ;
367 unsigned int auto_read_clear : 1 ;
369 unsigned int init_flag : 1 ;
370 unsigned int sub_opcode : 1 ;
371 unsigned int move_type : 2 ;
372 unsigned int t_register_select : 1 ;
373 unsigned int ab_register_select : 1 ;
377 unsigned int data : 25 ;
378 unsigned int hr_data : 7 ;
390 /*---------------------------------------------*/
391 /* ADCNST INSTRUCTION */
392 /*---------------------------------------------*/
393 typedef struct ADCNST_format
396 unsigned int brk : 1 ;
397 unsigned int next_program_address : 9 ;
398 unsigned int op_code : 4 ;
399 unsigned int remote_address : 9 ;
402 unsigned int control : 1 ; /* pk */
404 unsigned int constant : 25 ;
407 unsigned int data : 25 ;
408 unsigned int hr_data : 7 ;
415 ADCNST_FIELDS adcnst ;
417 } ADCNST_INSTRUCTION;
420 /*----------------------------------------------*/
421 /* ADD INSTRUCTION */
422 /*----------------------------------------------*/
424 typedef struct ADD_format
427 unsigned int brk : 1 ;
428 unsigned int next_program_address : 9 ;
429 unsigned int op_code : 4 ;
430 unsigned int remote_address : 9 ;
433 unsigned int control : 1;
434 unsigned int sub_opcode3 : 3 ;
435 unsigned int src_1 : 4 ;
436 unsigned int src_2 : 3 ;
437 unsigned int shft_mode : 3 ;
438 unsigned int shft_cnt : 5 ;
439 unsigned int reg_ext : 1 ;
440 unsigned int init_flag : 1 ;
441 unsigned int sub_opcode1 : 1 ;
442 unsigned int rem_dest : 2 ;
443 unsigned int reg : 2 ;
447 unsigned int data : 25 ;
448 unsigned int hr_data : 7 ;
461 /*----------------------------------------------*/
462 /* ADC INSTRUCTION */
463 /*----------------------------------------------*/
465 typedef struct ADC_format
468 unsigned int brk : 1 ;
469 unsigned int next_program_address : 9 ;
470 unsigned int op_code : 4 ;
471 unsigned int remote_address : 9 ;
474 unsigned int control : 1;
475 unsigned int sub_opcode3 : 3 ;
476 unsigned int src_1 : 4 ;
477 unsigned int src_2 : 3 ;
478 unsigned int shft_mode : 3 ;
479 unsigned int shft_cnt : 5 ;
480 unsigned int reg_ext : 1 ;
481 unsigned int init_flag : 1 ;
482 unsigned int sub_opcode1 : 1 ;
483 unsigned int rem_dest : 2 ;
484 unsigned int reg : 2 ;
488 unsigned int data : 25 ;
489 unsigned int hr_data : 7 ;
502 /*----------------------------------------------*/
503 /* SUB INSTRUCTION */
504 /*----------------------------------------------*/
506 typedef struct SUB_format
509 unsigned int brk : 1 ;
510 unsigned int next_program_address : 9 ;
511 unsigned int op_code : 4 ;
512 unsigned int remote_address : 9 ;
515 unsigned int control : 1;
516 unsigned int sub_opcode3 : 3 ;
517 unsigned int src_1 : 4 ;
518 unsigned int src_2 : 3 ;
519 unsigned int shft_mode : 3 ;
520 unsigned int shft_cnt : 5 ;
521 unsigned int reg_ext : 1 ;
522 unsigned int init_flag : 1 ;
523 unsigned int sub_opcode1 : 1 ;
524 unsigned int rem_dest : 2 ;
525 unsigned int reg : 2 ;
529 unsigned int data : 25 ;
530 unsigned int hr_data : 7 ;
543 /*----------------------------------------------*/
544 /* SBB INSTRUCTION */
545 /*----------------------------------------------*/
547 typedef struct SBB_format
550 unsigned int brk : 1 ;
551 unsigned int next_program_address : 9 ;
552 unsigned int op_code : 4 ;
553 unsigned int remote_address : 9 ;
556 unsigned int control : 1;
557 unsigned int sub_opcode3 : 3 ;
558 unsigned int src_1 : 4 ;
559 unsigned int src_2 : 3 ;
560 unsigned int shft_mode : 3 ;
561 unsigned int shft_cnt : 5 ;
562 unsigned int reg_ext : 1 ;
563 unsigned int init_flag : 1 ;
564 unsigned int sub_opcode1 : 1 ;
565 unsigned int rem_dest : 2 ;
566 unsigned int reg : 2 ;
570 unsigned int data : 25 ;
571 unsigned int hr_data : 7 ;
584 /*----------------------------------------------*/
585 /* AND INSTRUCTION */
586 /*----------------------------------------------*/
588 typedef struct AND_format
591 unsigned int brk : 1 ;
592 unsigned int next_program_address : 9 ;
593 unsigned int op_code : 4 ;
594 unsigned int remote_address : 9 ;
597 unsigned int control : 1;
598 unsigned int sub_opcode3 : 3 ;
599 unsigned int src_1 : 4 ;
600 unsigned int src_2 : 3 ;
601 unsigned int shft_mode : 3 ;
602 unsigned int shft_cnt : 5 ;
603 unsigned int reg_ext : 1 ;
604 unsigned int init_flag : 1 ;
605 unsigned int sub_opcode1 : 1 ;
606 unsigned int rem_dest : 2 ;
607 unsigned int reg : 2 ;
611 unsigned int data : 25 ;
612 unsigned int hr_data : 7 ;
625 /*----------------------------------------------*/
627 /*----------------------------------------------*/
630 typedef struct OR_format
633 unsigned int brk : 1 ;
634 unsigned int next_program_address : 9 ;
635 unsigned int op_code : 4 ;
636 unsigned int remote_address : 9 ;
639 unsigned int control : 1;
640 unsigned int sub_opcode3 : 3 ;
641 unsigned int src_1 : 4 ;
642 unsigned int src_2 : 3 ;
643 unsigned int shft_mode : 3 ;
644 unsigned int shft_cnt : 5 ;
645 unsigned int reg_ext : 1 ;
646 unsigned int init_flag : 1 ;
647 unsigned int sub_opcode1 : 1 ;
648 unsigned int rem_dest : 2 ;
649 unsigned int reg : 2 ;
653 unsigned int data : 25 ;
654 unsigned int hr_data : 7 ;
667 /*----------------------------------------------*/
668 /* XOR INSTRUCTION */
669 /*----------------------------------------------*/
671 typedef struct XOR_format
674 unsigned int brk : 1 ;
675 unsigned int next_program_address : 9 ;
676 unsigned int op_code : 4 ;
677 unsigned int remote_address : 9 ;
680 unsigned int control : 1;
681 unsigned int sub_opcode3 : 3 ;
682 unsigned int src_1 : 4 ;
683 unsigned int src_2 : 3 ;
684 unsigned int shft_mode : 3 ;
685 unsigned int shft_cnt : 5 ;
686 unsigned int reg_ext : 1 ;
687 unsigned int init_flag : 1 ;
688 unsigned int sub_opcode1 : 1 ;
689 unsigned int rem_dest : 2 ;
690 unsigned int reg : 2 ;
694 unsigned int data : 25 ;
695 unsigned int hr_data : 7 ;
708 /*---------------------------------------------*/
709 /* CNT INSTRUCTION */
710 /*---------------------------------------------*/
711 typedef struct CNT_format
714 unsigned int brk : 1 ;
715 unsigned int next_program_address : 9 ;
716 unsigned int op_code : 4 ;
717 unsigned int angle_cnt : 1 ;
718 unsigned int t_register_select : 1 ;
719 unsigned int ab_register_select : 1 ;
721 unsigned int interrupt_enable : 1 ;
725 unsigned int request : 2 ;
726 unsigned int auto_read_clear : 1 ;
728 unsigned int max : 25 ;
731 unsigned int data : 25 ;
743 /*---------------------------------------------*/
744 /* APCNT INSTRUCTION */
745 /*---------------------------------------------*/
746 typedef struct apcnt_format
749 unsigned int reqnum : 3 ;
750 unsigned int brk : 1 ;
751 unsigned int next_program_address : 9 ;
752 unsigned int op_code : 4 ;
753 unsigned int interrupt_enable : 1 ;
754 unsigned int edge_select : 2 ;
758 unsigned int request : 2 ;
759 unsigned int auto_read_clear : 1 ;
760 unsigned int previous_bit : 1 ;
761 unsigned int count : 25 ;
764 unsigned int data : 25 ;
777 /*---------------------------------------------*/
778 /* PCNT INSTRUCTION */
779 /*---------------------------------------------*/
780 typedef struct pcnt_format
783 unsigned int reqnum : 3 ;
784 unsigned int brk : 1 ;
785 unsigned int next_program_address : 9 ;
786 unsigned int op_code : 4 ;
787 unsigned int interrupt_enable : 1 ;
788 unsigned int period_pulse_select : 2 ;
790 unsigned int pin_select : 5 ;
793 unsigned int request : 2 ;
794 unsigned int auto_read_clear : 1 ;
795 unsigned int previous_bit : 1 ;
796 unsigned int count : 25 ;
799 unsigned int data : 25 ;
800 unsigned int hr_data : 7 ;
811 /*---------------------------------------------*/
812 /* SCNT INSTRUCTION */
813 /*---------------------------------------------*/
814 typedef struct scnt_format
817 unsigned int brk : 1 ;
818 unsigned int next_program_address : 9 ;
819 unsigned int op_code : 4 ;
821 unsigned int count_mode : 2 ;
822 unsigned int step_width : 2 ;
826 unsigned int auto_read_clear : 1 ;
828 unsigned int gap_start : 25 ;
831 unsigned int data : 25 ;
844 /*---------------------------------------------*/
845 /* ACNT INSTRUCTION */
846 /*---------------------------------------------*/
847 typedef struct acnt_format
850 unsigned int reqnum : 3 ;
851 unsigned int brk : 1 ;
852 unsigned int next_program_address : 9 ;
853 unsigned int op_code : 4 ;
854 unsigned int edge_select : 1 ;
856 unsigned int interrupt_enable : 1 ;
859 unsigned int request : 2 ;
860 unsigned int auto_read_clear : 1 ;
861 unsigned int previous_bit : 1 ;
862 unsigned int gap_end : 25 ;
865 unsigned int data : 25 ;
877 /*---------------------------------------------*/
878 /* ECNT INSTRUCTION */
879 /*---------------------------------------------*/
880 typedef struct ecnt_format
883 unsigned int reqnum : 3 ;
884 unsigned int brk : 1 ;
885 unsigned int next_program_address : 9 ;
886 unsigned int op_code : 4 ;
888 unsigned int count_mode : 2 ;
892 unsigned int request : 2 ;
893 unsigned int auto_read_clear : 1 ;
894 unsigned int previous_bit : 1 ;
896 unsigned int cond_addr : 9 ;
897 unsigned int pin_select : 5 ;
899 unsigned int count_cond : 3 ;
901 unsigned int t_register_select : 1 ;
902 unsigned int ab_register_select : 1 ;
903 unsigned int interrupt_enable : 1 ;
906 unsigned int data : 25 ;
919 /*---------------------------------------------*/
920 /* RCNT INSTRUCTION */
921 /*---------------------------------------------*/
922 typedef struct rcnt_format
925 unsigned int reqnum : 3 ;
926 unsigned int brk : 1 ;
927 unsigned int next_program_address : 9 ;
928 unsigned int op_code : 4 ;
930 unsigned int count_mode : 2 ;
932 unsigned int count_mode1 : 1 ;
936 unsigned int control : 1 ;
938 unsigned int divisor : 25 ;
941 unsigned int data : 25 ;
953 /*---------------------------------------------*/
954 /* DJNZ INSTRUCTION */
955 /*---------------------------------------------*/
956 typedef struct djnz_format
959 unsigned int reqnum : 3 ;
960 unsigned int brk : 1 ;
961 unsigned int next_program_address : 9 ;
962 unsigned int op_code : 4 ;
964 unsigned int sub_opcode : 2 ;
968 unsigned int request : 2 ;
969 unsigned int auto_read_clear : 1 ;
971 unsigned int cond_addr : 9 ;
973 unsigned int t_register_select : 1 ;
974 unsigned int ab_register_select : 1 ;
975 unsigned int interrupt_enable : 1 ;
978 unsigned int data : 25 ;
990 /*---------------------------------------------*/
991 /* DJZ INSTRUCTION */
992 /*---------------------------------------------*/
993 typedef struct djz_format
996 unsigned int reqnum : 3 ;
997 unsigned int brk : 1 ;
998 unsigned int next_program_address : 9 ;
999 unsigned int op_code : 4 ;
1001 unsigned int sub_opcode : 2 ;
1005 unsigned int request : 2 ;
1006 unsigned int auto_read_clear : 1 ;
1008 unsigned int cond_addr : 9 ;
1010 unsigned int t_register_select : 1 ;
1011 unsigned int ab_register_select : 1 ;
1012 unsigned int interrupt_enable : 1 ;
1015 unsigned int data : 25 ;
1026 /*---------------------------------------------*/
1027 /* PWCNT INSTRUCTION */
1028 /*---------------------------------------------*/
1029 typedef struct pwcnt_format
1032 unsigned int reqnum : 3 ;
1033 unsigned int brk : 1 ;
1034 unsigned int next_program_address : 9 ;
1035 unsigned int op_code : 4 ;
1036 unsigned int hr_lr : 1 ;
1037 unsigned int count_mode : 2 ;
1041 unsigned int request : 2 ;
1042 unsigned int auto_read_clear : 1 ;
1044 unsigned int en_pin_action : 1 ;
1045 unsigned int cond_addr : 9 ;
1046 unsigned int pin_select : 5 ;
1048 unsigned int pin_action : 1 ;
1049 unsigned int opposite_action : 1 ;
1050 unsigned int t_register_select : 1 ;
1051 unsigned int ab_register_select : 1 ;
1052 unsigned int interrupt_enable : 1 ;
1055 unsigned int data : 25 ;
1056 unsigned int hr_data : 7 ;
1062 PWCNT_FIELDS pwcnt ;
1064 } PWCNT_INSTRUCTION;
1067 /*---------------------------------------------*/
1068 /* WCAP INSTRUCTION */
1069 /*---------------------------------------------*/
1070 typedef struct wcap_format
1073 unsigned int reqnum : 3 ;
1074 unsigned int brk : 1 ;
1075 unsigned int next_program_address : 9 ;
1076 unsigned int op_code : 4 ;
1077 unsigned int hr_lr : 1 ;
1081 unsigned int request : 2 ;
1082 unsigned int auto_read_clear : 1 ;
1083 unsigned int previous_bit : 1 ;
1085 unsigned int cond_addr : 9 ;
1086 unsigned int pin_select : 5 ;
1088 unsigned int capture_condition : 2 ;
1090 unsigned int t_register_select : 1 ;
1091 unsigned int ab_register_select : 1 ;
1092 unsigned int interrupt_enable : 1 ;
1095 unsigned int data : 25 ;
1096 unsigned int hr_data : 7 ;
1106 /*----------------------------------------------*/
1107 /* WCAPE INSTRUCTION */
1108 /*----------------------------------------------*/
1109 typedef struct wcape_format
1112 unsigned int reqnum : 3 ;
1113 unsigned int brk : 1 ;
1114 unsigned int next_program_address : 9 ;
1115 unsigned int op_code : 4 ;
1119 unsigned int request : 2 ;
1120 unsigned int auto_read_clear : 1 ;
1121 unsigned int previous_bit : 1 ;
1123 unsigned int cond_addr : 9 ;
1124 unsigned int pin_select : 5 ;
1126 unsigned int capture_condition : 2 ;
1128 unsigned int t_register_select : 1 ;
1129 unsigned int ab_register_select : 1 ;
1130 unsigned int interrupt_enable : 1 ;
1133 unsigned int ts_data : 25 ;
1134 unsigned int ec_data : 7 ;
1140 WCAPE_FIELDS wcape ;
1142 } WCAPE_INSTRUCTION;
1145 /*---------------------------------------------*/
1146 /* BR INSTRUCTION */
1147 /*---------------------------------------------*/
1148 typedef struct br_format
1151 unsigned int reqnum : 3 ;
1152 unsigned int brk : 1 ;
1153 unsigned int next_program_address : 9 ;
1154 unsigned int op_code : 4 ;
1158 unsigned int request : 2 ;
1159 unsigned int auto_read_clear : 1 ;
1160 unsigned int previous_bit : 1 ;
1162 unsigned int cond_addr : 9 ;
1163 unsigned int pin_select : 5 ;
1166 unsigned int branch_condition : 5 ;
1168 unsigned int branch_condition : 3 ;
1174 unsigned int interrupt_enable : 1 ;
1177 unsigned int data : 25 ;
1178 unsigned int hr_data : 7 ;
1189 /*---------------------------------------------*/
1190 /* SHFT INSTRUCTION */
1191 /*---------------------------------------------*/
1192 typedef struct shft_format
1195 unsigned int reqnum : 3 ;
1196 unsigned int brk : 1 ;
1197 unsigned int next_program_address : 9 ;
1198 unsigned int op_code : 4 ;
1200 unsigned int shift_mode : 4 ;
1203 unsigned int request : 2 ;
1204 unsigned int auto_read_clear : 1 ;
1205 unsigned int previous_bit : 1 ;
1207 unsigned int cond_addr : 9 ;
1208 unsigned int pin_select : 5 ;
1210 unsigned int shift_condition : 2 ;
1212 unsigned int t_register_select : 1 ;
1213 unsigned int ab_register_select : 1 ;
1214 unsigned int interrupt_enable : 1 ;
1217 unsigned int data : 25 ;
1228 /* ---------------------------------------------------------------------------------------------------- */
1230 #elif defined(_TMS470_LITTLE) || defined(__little_endian__)
1233 # define HETBYTE unsigned char
1236 typedef struct memory_format
1238 unsigned int program_word ;
1239 unsigned int control_word ;
1240 unsigned int data_word ;
1241 unsigned int reserved_word ;
1244 /*---------------------------------------------*/
1245 /* ACMP INSTRUCTION */
1246 /*---------------------------------------------*/
1247 typedef struct acmp_format
1250 unsigned int op_code : 4 ;
1251 unsigned int next_program_address : 9 ;
1252 unsigned int brk : 1 ;
1253 unsigned int reqnum : 3 ;
1256 unsigned int interrupt_enable : 1 ;
1257 unsigned int ab_register_select : 1 ;
1258 unsigned int t_register_select : 1 ;
1260 unsigned int pin_action : 1 ;
1262 unsigned int pin_select : 5 ;
1263 unsigned int cond_addr : 9 ;
1264 unsigned int en_pin_action : 1 ;
1266 unsigned int coutprv : 1 ;
1267 unsigned int auto_read_clear : 1 ;
1268 unsigned int request : 2 ;
1272 unsigned int data : 25 ;
1283 /*---------------------------------------------*/
1284 /* ECMP INSTRUCTION */
1285 /*---------------------------------------------*/
1286 typedef struct ecmp_format
1289 unsigned int angle_compare : 1 ;
1290 unsigned int hr_lr : 1 ;
1291 unsigned int op_code : 4 ;
1292 unsigned int next_program_address : 9 ;
1293 unsigned int brk : 1 ;
1294 unsigned int reqnum : 3 ;
1297 unsigned int interrupt_enable : 1 ;
1298 unsigned int ab_register_select : 1 ;
1299 unsigned int t_register_select : 1 ;
1300 unsigned int opposite_action : 1 ;
1301 unsigned int pin_action : 1 ;
1302 unsigned int sub_opcode : 2 ;
1304 unsigned int pin_select : 5 ;
1305 unsigned int cond_addr : 9 ;
1306 unsigned int en_pin_action : 1 ;
1308 unsigned int auto_read_clear : 1 ;
1309 unsigned int request : 2 ;
1312 unsigned int hr_data : 7 ;
1313 unsigned int data : 25 ;
1324 /*---------------------------------------------*/
1325 /* SCMP INSTRUCTION */
1326 /*---------------------------------------------*/
1327 typedef struct scmp_format
1332 unsigned int op_code : 4 ;
1333 unsigned int next_program_address : 9 ;
1334 unsigned int brk : 1 ;
1335 unsigned int reqnum : 3 ;
1338 unsigned int interrupt_enable : 1 ;
1339 unsigned int restart_en : 1 ;
1341 unsigned int pin_action : 1 ;
1342 unsigned int compare_mode : 2 ;
1344 unsigned int pin_select : 5 ;
1345 unsigned int cond_addr : 9 ;
1346 unsigned int en_pin_action : 1 ;
1348 unsigned int coutprv : 1 ;
1349 unsigned int auto_read_clear : 1 ;
1350 unsigned int request : 2 ;
1354 unsigned int data : 25 ;
1365 /*---------------------------------------------*/
1366 /* MCMP INSTRUCTION */
1367 /*---------------------------------------------*/
1368 typedef struct mcmp_format
1371 unsigned int save_subtract : 1 ;
1373 unsigned int angle_compare : 1 ;
1374 unsigned int hr_lr : 1 ;
1375 unsigned int op_code : 4 ;
1376 unsigned int next_program_address : 9 ;
1377 unsigned int brk : 1 ;
1378 unsigned int reqnum : 3 ;
1381 unsigned int interrupt_enable : 1 ;
1382 unsigned int ab_register_select : 1 ;
1383 unsigned int t_register_select : 1 ;
1384 unsigned int opposite_action : 1 ;
1385 unsigned int pin_action : 1 ;
1386 unsigned int order : 1 ;
1387 unsigned int sub_opcode : 1 ;
1389 unsigned int pin_select : 5 ;
1390 unsigned int cond_addr : 9 ;
1391 unsigned int en_pin_action : 1 ;
1393 unsigned int auto_read_clear : 1 ;
1394 unsigned int request : 2 ;
1398 unsigned int hr_data : 7 ;
1399 unsigned int data : 25 ;
1409 /*---------------------------------------------*/
1410 /* MOV64 INSTRUCTION */
1411 /*---------------------------------------------*/
1412 typedef struct mov64_format
1414 unsigned int remote_address : 9 ;
1415 unsigned int op_code : 4 ;
1416 unsigned int next_program_address : 9 ;
1417 unsigned int brk : 1 ;
1420 unsigned int interrupt_enable : 1 ;
1421 unsigned int ab_register_select : 1 ;
1422 unsigned int t_register_select : 1 ;
1423 unsigned int opposite_action : 1 ;
1424 unsigned int pin_action : 1 ;
1425 unsigned int compare_mode : 2 ;
1427 unsigned int pin_select : 5 ;
1428 unsigned int cond_addr : 9 ;
1429 unsigned int en_pin_action : 1 ;
1431 unsigned int auto_read_clear : 1 ;
1432 unsigned int request : 2 ;
1435 unsigned int hr_data : 7 ;
1436 unsigned int data : 25 ;
1442 MOV64_FIELDS mov64 ;
1444 } MOV64_INSTRUCTION;
1447 /*---------------------------------------------*/
1448 /* DADM64 INSTRUCTION */
1449 /*---------------------------------------------*/
1450 typedef struct dadm64_format
1452 unsigned int remote_address : 9 ;
1453 unsigned int op_code : 4 ;
1454 unsigned int next_program_address : 9 ;
1455 unsigned int brk : 1 ;
1458 unsigned int interrupt_enable : 1 ;
1459 unsigned int ab_register_select : 1 ;
1460 unsigned int t_register_select : 1 ;
1461 unsigned int opposite_action : 1 ;
1462 unsigned int pin_action : 1 ;
1463 unsigned int compare_mode : 2 ;
1465 unsigned int pin_select : 5 ;
1466 unsigned int cond_addr : 9 ;
1467 unsigned int en_pin_action : 1 ;
1469 unsigned int auto_read_clear : 1 ;
1470 unsigned int request : 2 ;
1473 unsigned int hr_data : 7 ;
1474 unsigned int data : 25 ;
1480 DADM64_FIELDS dadm64 ;
1482 } DADM64_INSTRUCTION;
1485 /*---------------------------------------------*/
1486 /* RADM64 INSTRUCTION */
1487 /*---------------------------------------------*/
1488 typedef struct RADM64_format
1490 unsigned int remote_address : 9 ;
1491 unsigned int op_code : 4 ;
1492 unsigned int next_program_address : 9 ;
1493 unsigned int brk : 1 ;
1496 unsigned int interrupt_enable : 1 ;
1497 unsigned int ab_register_select : 1 ;
1498 unsigned int t_register_select : 1 ;
1499 unsigned int opposite_action : 1 ;
1500 unsigned int pin_action : 1 ;
1501 unsigned int compare_mode : 2 ;
1503 unsigned int pin_select : 5 ;
1504 unsigned int cond_addr : 9 ;
1505 unsigned int en_pin_action : 1 ;
1507 unsigned int auto_read_clear : 1 ;
1508 unsigned int request : 2 ;
1511 unsigned int hr_data : 7 ;
1512 unsigned int data : 25 ;
1519 RADM64_FIELDS radm64 ;
1521 } RADM64_INSTRUCTION;
1524 /*---------------------------------------------*/
1525 /* MOV32 INSTRUCTION */
1526 /*---------------------------------------------*/
1527 typedef struct MOV32_format
1529 unsigned int remote_address : 9 ;
1530 unsigned int op_code : 4 ;
1531 unsigned int next_program_address : 9 ;
1532 unsigned int brk : 1 ;
1536 unsigned int ab_register_select : 1 ;
1537 unsigned int t_register_select : 1 ;
1538 unsigned int move_type : 2 ;
1539 unsigned int sub_opcode : 1 ;
1540 unsigned int init_flag : 1 ;
1542 unsigned int z_flag : 1 ;
1544 unsigned int auto_read_clear : 1 ;
1547 unsigned int hr_data : 7 ;
1548 unsigned int data : 25 ;
1555 MOV32_FIELDS mov32 ;
1557 } MOV32_INSTRUCTION;
1560 /*---------------------------------------------*/
1561 /* ADM32 INSTRUCTION */
1562 /*---------------------------------------------*/
1563 typedef struct ADM32_format
1565 unsigned int remote_address : 9 ;
1566 unsigned int op_code : 4 ;
1567 unsigned int next_program_address : 9 ;
1568 unsigned int brk : 1 ;
1572 unsigned int ab_register_select : 1 ;
1573 unsigned int t_register_select : 1 ;
1574 unsigned int move_type : 2 ;
1575 unsigned int sub_opcode : 1 ;
1576 unsigned int init_flag : 1 ;
1578 unsigned int auto_read_clear : 1 ;
1581 unsigned int hr_data : 7 ;
1582 unsigned int data : 25 ;
1589 ADM32_FIELDS adm32 ;
1591 } ADM32_INSTRUCTION;
1594 /*---------------------------------------------*/
1595 /* ADCNST INSTRUCTION */
1596 /*---------------------------------------------*/
1597 typedef struct ADCNST_format
1599 unsigned int remote_address : 9 ;
1600 unsigned int op_code : 4 ;
1601 unsigned int next_program_address : 9 ;
1602 unsigned int brk : 1 ;
1605 unsigned int constant : 25 ;
1609 unsigned int hr_data : 7 ;
1610 unsigned int data : 25 ;
1617 ADCNST_FIELDS adcnst ;
1619 } ADCNST_INSTRUCTION;
1623 /*----------------------------------------------*/
1624 /* ADD INSTRUCTION */
1625 /*----------------------------------------------*/
1626 typedef struct ADD_format
1629 unsigned int remote_address : 9 ;
1630 unsigned int op_code : 4 ;
1631 unsigned int next_program_address : 9 ;
1632 unsigned int brk : 1 ;
1636 unsigned int reg : 2 ;
1637 unsigned int rem_dest : 2 ;
1638 unsigned int sub_opcode1 : 1 ;
1639 unsigned int init_flag : 1 ;
1640 unsigned int reg_ext : 1 ;
1641 unsigned int shft_cnt : 5 ;
1642 unsigned int shft_mode : 3 ;
1643 unsigned int src_2 : 3 ;
1644 unsigned int src_1 : 4 ;
1645 unsigned int sub_opcode3 : 3 ;
1646 unsigned int control : 1 ;
1649 unsigned int hr_data : 7 ;
1650 unsigned int data : 25 ;
1665 /*----------------------------------------------*/
1666 /* ADC INSTRUCTION */
1667 /*----------------------------------------------*/
1670 typedef struct ADC_format
1673 unsigned int remote_address : 9 ;
1674 unsigned int op_code : 4 ;
1675 unsigned int next_program_address : 9 ;
1676 unsigned int brk : 1 ;
1680 unsigned int reg : 2 ;
1681 unsigned int rem_dest : 2 ;
1682 unsigned int sub_opcode1 : 1 ;
1683 unsigned int init_flag : 1 ;
1684 unsigned int reg_ext : 1 ;
1685 unsigned int shft_cnt : 5 ;
1686 unsigned int shft_mode : 3 ;
1687 unsigned int src_2 : 3 ;
1688 unsigned int src_1 : 4 ;
1689 unsigned int sub_opcode3 : 3 ;
1690 unsigned int control : 1 ;
1693 unsigned int hr_data : 7 ;
1694 unsigned int data : 25 ;
1709 /*----------------------------------------------*/
1710 /* SUB INSTRUCTION */
1711 /*----------------------------------------------*/
1713 typedef struct SUB_format
1716 unsigned int remote_address : 9 ;
1717 unsigned int op_code : 4 ;
1718 unsigned int next_program_address : 9 ;
1719 unsigned int brk : 1 ;
1723 unsigned int reg : 2 ;
1724 unsigned int rem_dest : 2 ;
1725 unsigned int sub_opcode1 : 1 ;
1726 unsigned int init_flag : 1 ;
1727 unsigned int reg_ext : 1 ;
1728 unsigned int shft_cnt : 5 ;
1729 unsigned int shft_mode : 3 ;
1730 unsigned int src_2 : 3 ;
1731 unsigned int src_1 : 4 ;
1732 unsigned int sub_opcode3 : 3 ;
1733 unsigned int control : 1 ;
1736 unsigned int hr_data : 7 ;
1737 unsigned int data : 25 ;
1753 /*----------------------------------------------*/
1754 /* SBB INSTRUCTION */
1755 /*----------------------------------------------*/
1757 typedef struct SBB_format
1760 unsigned int remote_address : 9 ;
1761 unsigned int op_code : 4 ;
1762 unsigned int next_program_address : 9 ;
1763 unsigned int brk : 1 ;
1767 unsigned int reg : 2 ;
1768 unsigned int rem_dest : 2 ;
1769 unsigned int sub_opcode1 : 1 ;
1770 unsigned int init_flag : 1 ;
1771 unsigned int reg_ext : 1 ;
1772 unsigned int shft_cnt : 5 ;
1773 unsigned int shft_mode : 3 ;
1774 unsigned int src_2 : 3 ;
1775 unsigned int src_1 : 4 ;
1776 unsigned int sub_opcode3 : 3 ;
1777 unsigned int control : 1 ;
1780 unsigned int hr_data : 7 ;
1781 unsigned int data : 25 ;
1796 /*----------------------------------------------*/
1797 /* AND INSTRUCTION */
1798 /*----------------------------------------------*/
1800 typedef struct AND_format
1803 unsigned int remote_address : 9 ;
1804 unsigned int op_code : 4 ;
1805 unsigned int next_program_address : 9 ;
1806 unsigned int brk : 1 ;
1810 unsigned int reg : 2 ;
1811 unsigned int rem_dest : 2 ;
1812 unsigned int sub_opcode1 : 1 ;
1813 unsigned int init_flag : 1 ;
1814 unsigned int reg_ext : 1 ;
1815 unsigned int shft_cnt : 5 ;
1816 unsigned int shft_mode : 3 ;
1817 unsigned int src_2 : 3 ;
1818 unsigned int src_1 : 4 ;
1819 unsigned int sub_opcode3 : 3 ;
1820 unsigned int control : 1 ;
1823 unsigned int hr_data : 7 ;
1824 unsigned int data : 25 ;
1838 /*----------------------------------------------*/
1839 /* OR INSTRUCTION */
1840 /*----------------------------------------------*/
1842 typedef struct OR_format
1845 unsigned int remote_address : 9 ;
1846 unsigned int op_code : 4 ;
1847 unsigned int next_program_address : 9 ;
1848 unsigned int brk : 1 ;
1852 unsigned int reg : 2 ;
1853 unsigned int rem_dest : 2 ;
1854 unsigned int sub_opcode1 : 1 ;
1855 unsigned int init_flag : 1 ;
1856 unsigned int reg_ext : 1 ;
1857 unsigned int shft_cnt : 5 ;
1858 unsigned int shft_mode : 3 ;
1859 unsigned int src_2 : 3 ;
1860 unsigned int src_1 : 4 ;
1861 unsigned int sub_opcode3 : 3 ;
1862 unsigned int control : 1 ;
1865 unsigned int hr_data : 7 ;
1866 unsigned int data : 25 ;
1880 /*----------------------------------------------*/
1881 /* XOR INSTRUCTION */
1882 /*----------------------------------------------*/
1884 typedef struct XOR_format
1887 unsigned int remote_address : 9 ;
1888 unsigned int op_code : 4 ;
1889 unsigned int next_program_address : 9 ;
1890 unsigned int brk : 1 ;
1894 unsigned int reg : 2 ;
1895 unsigned int rem_dest : 2 ;
1896 unsigned int sub_opcode1 : 1 ;
1897 unsigned int init_flag : 1 ;
1898 unsigned int reg_ext : 1 ;
1899 unsigned int shft_cnt : 5 ;
1900 unsigned int shft_mode : 3 ;
1901 unsigned int src_2 : 3 ;
1902 unsigned int src_1 : 4 ;
1903 unsigned int sub_opcode3 : 3 ;
1904 unsigned int control : 1 ;
1907 unsigned int hr_data : 7 ;
1908 unsigned int data : 25 ;
1923 /*---------------------------------------------*/
1924 /* CNT INSTRUCTION */
1925 /*---------------------------------------------*/
1926 typedef struct CNT_format
1928 unsigned int interrupt_enable : 1 ;
1930 unsigned int ab_register_select : 1 ;
1931 unsigned int t_register_select : 1 ;
1932 unsigned int angle_cnt : 1 ;
1933 unsigned int op_code : 4 ;
1934 unsigned int next_program_address : 9 ;
1935 unsigned int brk : 1 ;
1938 unsigned int max : 25 ;
1940 unsigned int auto_read_clear : 1 ;
1941 unsigned int request : 2 ;
1945 unsigned int data : 25 ;
1956 /*---------------------------------------------*/
1957 /* APCNT INSTRUCTION */
1958 /*---------------------------------------------*/
1959 typedef struct apcnt_format
1962 unsigned int edge_select : 2 ;
1963 unsigned int interrupt_enable : 1 ;
1964 unsigned int op_code : 4 ;
1965 unsigned int next_program_address : 9 ;
1966 unsigned int brk : 1 ;
1967 unsigned int reqnum : 3 ;
1970 unsigned int count : 25 ;
1971 unsigned int previous_bit : 1 ;
1972 unsigned int auto_read_clear : 1 ;
1973 unsigned int request : 2 ;
1977 unsigned int data : 25 ;
1983 APCNT_FIELDS apcnt ;
1985 } APCNT_INSTRUCTION;
1989 /*---------------------------------------------*/
1990 /* PCNT INSTRUCTION */
1991 /*---------------------------------------------*/
1992 typedef struct pcnt_format
1994 unsigned int pin_select : 5 ;
1996 unsigned int period_pulse_select : 2 ;
1997 unsigned int interrupt_enable : 1 ;
1998 unsigned int op_code : 4 ;
1999 unsigned int next_program_address : 9 ;
2000 unsigned int brk : 1 ;
2001 unsigned int reqnum : 3 ;
2004 unsigned int count : 25 ;
2005 unsigned int previous_bit : 1 ;
2006 unsigned int auto_read_clear : 1 ;
2007 unsigned int request : 2 ;
2010 unsigned int hr_data : 7 ;
2011 unsigned int data : 25 ;
2022 /*---------------------------------------------*/
2023 /* SCNT INSTRUCTION */
2024 /*---------------------------------------------*/
2025 typedef struct scnt_format
2028 unsigned int step_width : 2 ;
2029 unsigned int count_mode : 2 ;
2031 unsigned int op_code : 4 ;
2032 unsigned int next_program_address : 9 ;
2033 unsigned int brk : 1 ;
2036 unsigned int gap_start : 25 ;
2038 unsigned int auto_read_clear : 1 ;
2042 unsigned int data : 25 ;
2052 /*---------------------------------------------*/
2053 /* ACNT INSTRUCTION */
2054 /*---------------------------------------------*/
2055 typedef struct acnt_format
2057 unsigned int interrupt_enable : 1 ;
2059 unsigned int edge_select : 1 ;
2060 unsigned int op_code : 4 ;
2061 unsigned int next_program_address : 9 ;
2062 unsigned int brk : 1 ;
2063 unsigned int reqnum : 3 ;
2066 unsigned int gap_end : 25 ;
2067 unsigned int previous_bit : 1 ;
2068 unsigned int auto_read_clear : 1 ;
2069 unsigned int request : 2 ;
2073 unsigned int data : 25 ;
2084 /*---------------------------------------------*/
2085 /* ECNT INSTRUCTION */
2086 /*---------------------------------------------*/
2087 typedef struct ecnt_format
2090 unsigned int count_mode : 2 ;
2092 unsigned int op_code : 4 ;
2093 unsigned int next_program_address : 9 ;
2094 unsigned int brk : 1 ;
2095 unsigned int reqnum : 3 ;
2098 unsigned int interrupt_enable : 1 ;
2099 unsigned int ab_register_select : 1 ;
2100 unsigned int t_register_select : 1 ;
2102 unsigned int count_cond : 3 ;
2104 unsigned int pin_select : 5 ;
2105 unsigned int cond_addr : 9 ;
2107 unsigned int previous_bit : 1 ;
2108 unsigned int auto_read_clear : 1 ;
2109 unsigned int request : 2 ;
2113 unsigned int data : 25 ;
2124 /*---------------------------------------------*/
2125 /* RCNT INSTRUCTION */
2126 /*---------------------------------------------*/
2127 typedef struct rcnt_format
2130 unsigned int count_mode1 : 1 ;
2132 unsigned int count_mode : 2 ;
2134 unsigned int op_code : 4 ;
2135 unsigned int next_program_address : 9 ;
2136 unsigned int brk : 1 ;
2137 unsigned int reqnum : 3 ;
2141 unsigned int divisor : 25 ;
2143 unsigned int control : 1 ;
2148 unsigned int data : 25 ;
2160 /*---------------------------------------------*/
2161 /* DJNZ INSTRUCTION */
2162 /*---------------------------------------------*/
2163 typedef struct djnz_format
2166 unsigned int sub_opcode : 2 ;
2168 unsigned int op_code : 4 ;
2169 unsigned int next_program_address : 9 ;
2170 unsigned int brk : 1 ;
2171 unsigned int reqnum : 3 ;
2174 unsigned int interrupt_enable : 1 ;
2175 unsigned int ab_register_select : 1 ;
2176 unsigned int t_register_select : 1 ;
2178 unsigned int cond_addr : 9 ;
2180 unsigned int auto_read_clear : 1 ;
2181 unsigned int request : 2 ;
2185 unsigned int data : 25 ;
2196 /*---------------------------------------------*/
2197 /* DJZ INSTRUCTION */
2198 /*---------------------------------------------*/
2199 typedef struct djz_format
2202 unsigned int sub_opcode : 2 ;
2204 unsigned int op_code : 4 ;
2205 unsigned int next_program_address : 9 ;
2206 unsigned int brk : 1 ;
2207 unsigned int reqnum : 3 ;
2210 unsigned int interrupt_enable : 1 ;
2211 unsigned int ab_register_select : 1 ;
2212 unsigned int t_register_select : 1 ;
2214 unsigned int cond_addr : 9 ;
2216 unsigned int auto_read_clear : 1 ;
2217 unsigned int request : 2 ;
2221 unsigned int data : 25 ;
2231 /*---------------------------------------------*/
2232 /* PWCNT INSTRUCTION */
2233 /*---------------------------------------------*/
2234 typedef struct pwcnt_format
2237 unsigned int count_mode : 2 ;
2238 unsigned int hr_lr : 1 ;
2239 unsigned int op_code : 4 ;
2240 unsigned int next_program_address : 9 ;
2241 unsigned int brk : 1 ;
2242 unsigned int reqnum : 3 ;
2245 unsigned int interrupt_enable : 1 ;
2246 unsigned int ab_register_select : 1 ;
2247 unsigned int t_register_select : 1 ;
2248 unsigned int opposite_action : 1 ;
2249 unsigned int pin_action : 1 ;
2251 unsigned int pin_select : 5 ;
2252 unsigned int cond_addr : 9 ;
2253 unsigned int en_pin_action : 1 ;
2255 unsigned int auto_read_clear : 1 ;
2256 unsigned int request : 2 ;
2260 unsigned int hr_data : 7 ;
2261 unsigned int data : 25 ;
2267 PWCNT_FIELDS pwcnt ;
2269 } PWCNT_INSTRUCTION;
2272 /*---------------------------------------------*/
2273 /* WCAP INSTRUCTION */
2274 /*---------------------------------------------*/
2275 typedef struct wcap_format
2278 unsigned int hr_lr : 1 ;
2279 unsigned int op_code : 4 ;
2280 unsigned int next_program_address : 9 ;
2281 unsigned int brk : 1 ;
2282 unsigned int reqnum : 3 ;
2285 unsigned int interrupt_enable : 1 ;
2286 unsigned int ab_register_select : 1 ;
2287 unsigned int t_register_select : 1 ;
2289 unsigned int capture_condition : 2 ;
2291 unsigned int pin_select : 5 ;
2292 unsigned int cond_addr : 9 ;
2294 unsigned int previous_bit : 1 ;
2295 unsigned int auto_read_clear : 1 ;
2296 unsigned int request : 2 ;
2299 unsigned int hr_data : 7 ;
2300 unsigned int data : 25 ;
2310 /*----------------------------------------------*/
2311 /* WCAPE INSTRUCTION */
2312 /*----------------------------------------------*/
2313 typedef struct wcape_format
2316 unsigned int op_code : 4 ;
2317 unsigned int next_program_address : 9 ;
2318 unsigned int brk : 1 ;
2319 unsigned int reqnum : 3 ;
2322 unsigned int interrupt_enable : 1 ;
2323 unsigned int ab_register_select : 1 ;
2324 unsigned int t_register_select : 1 ;
2326 unsigned int capture_condition : 2 ;
2328 unsigned int pin_select : 5 ;
2329 unsigned int cond_addr : 9 ;
2330 unsigned int previous_bit : 1 ;
2331 unsigned int auto_read_clear : 1 ;
2332 unsigned int request : 2 ;
2335 unsigned int ec_data : 7 ;
2336 unsigned int ts_data : 25 ;
2342 WCAPE_FIELDS wcape ;
2344 } WCAPE_INSTRUCTION;
2347 /*---------------------------------------------*/
2348 /* BR INSTRUCTION */
2349 /*---------------------------------------------*/
2350 typedef struct br_format
2353 unsigned int op_code : 4 ;
2354 unsigned int next_program_address : 9 ;
2355 unsigned int brk : 1 ;
2356 unsigned int reqnum : 3 ;
2359 unsigned int interrupt_enable : 1 ;
2363 unsigned int branch_condition : 3 ;
2364 unsigned int pin_select : 5 ;
2365 unsigned int cond_addr : 9 ;
2367 unsigned int previous_bit : 1 ;
2368 unsigned int auto_read_clear : 1 ;
2369 unsigned int request : 2 ;
2372 unsigned int hr_data : 7 ;
2373 unsigned int data : 25 ;
2384 /*---------------------------------------------*/
2385 /* SHFT INSTRUCTION */
2386 /*---------------------------------------------*/
2387 typedef struct shft_format
2389 unsigned int shift_mode : 4 ;
2391 unsigned int op_code : 4 ;
2392 unsigned int next_program_address : 9 ;
2393 unsigned int brk : 1 ;
2394 unsigned int reqnum : 3 ;
2397 unsigned int interrupt_enable : 1 ;
2398 unsigned int ab_register_select : 1 ;
2399 unsigned int t_register_select : 1 ;
2401 unsigned int shift_condition : 2 ;
2403 unsigned int pin_select : 5 ;
2404 unsigned int cond_addr : 9 ;
2406 unsigned int previous_bit : 1 ;
2407 unsigned int auto_read_clear : 1 ;
2408 unsigned int request : 2 ;
2412 unsigned int data : 25 ;
2425 /*--------------------------- End Of File ----------------------------------*/