1/* Copyright 1992 NEC Corporation, Tokyo, Japan. 2 * 3 * Permission to use, copy, modify, distribute and sell this software 4 * and its documentation for any purpose is hereby granted without 5 * fee, provided that the above copyright notice appear in all copies 6 * and that both that copyright notice and this permission notice 7 * appear in supporting documentation, and that the name of NEC 8 * Corporation not be used in advertising or publicity pertaining to 9 * distribution of the software without specific, written prior 10 * permission. NEC Corporation makes no representations about the 11 * suitability of this software for any purpose. It is provided "as 12 * is" without express or implied warranty. 13 * 14 * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN 16 * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR 17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF 18 * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 19 * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 20 * PERFORMANCE OF THIS SOFTWARE. 21 * 22 * $Id: main.code,v 1.2 2002/10/20 04:10:29 aida_s Exp $ 23 */ 24/* 25 * bunrui.code: �����ʻ�ʬ��ɽ 26 * 27 * ���� 28 * [��٥�] ���� ��Ͽ����ɤ� 29 * 30 * 31 * �ѹ��� 32 * 1. ư��Ϣ�ѷ���̾��ˤʤ륰�롼�פ��ɲá�(̾��Ȥν�ʣ��Ͽ��ʤ�������) 33 * 2. �θ����̤�����(̾�졤����ư��ʤɤ�ʬ����ˡ),T00-T39,��40���롼�� 34 * ��³�����ˤ��,���롼��ʬ������ 35 * 3. �θ����̤�����(���졤����ư��ȥ�����Ѥ�ʬ����ˡ),F01-F15,��16���롼�� 36 * ��³�����ˤ��,���롼��ʬ������ 37 * 4. ���ƻ� 38 * 3�ĤΥ��롼�פ�ʬ������ 39 * 5. ����¾ 40 * ��³�ط���Ʊ��������³�졤��ư����碌�ơ��쥰�롼�פˤ����� 41 * 42 */ 43 44#define BUNMATU /* by fujieda@jaist.ac.jp */ 45#define LOGIC_HACK /* by fujieda@jaist.ac.jp */ 46 47#ifndef BUNMATU 48#define BM BB 49#endif 50 51/************************************************************************ 52 * ��Ω�� * 53 * ��Ω���ͭ�����뤿��ˡ���Ω������������ɤ���경���롥 * 54 * [��Ω�콪λ]�ޤǤιԤ����Ƥ��ѹ�����ȡ����̼���ϻ��ѤǤ��ʤ���* 55 ************************************************************************/ 56/* BB:ʸ��Ƭ/������ 57 * ʸ��ϤǤ���ñ�� 58 * ʸ���λ�Ǥ���ñ�� 59 */ 60BB _ _ 61 62#ifndef BM 63/* BM:ʸ�������� 64 * ʸ�Ϥ�λ�Ǥ���ñ�� 65 */ 66BM _ _ 67#endif 68 69/* �ʻ��ʬ�� */ 70TAIGEN _ _ /* �θ� */ 71YOUGEN _ _ /* �Ѹ� */ 72KAKUJS _ _ /* �ʽ��� */ 73 74/* ư��촴 75 * 76 * ��ư�����ɽ����������( )��ϲ��ط� 77 * 78 * ��������������������̤�� Ϣ�� ������ ���� ̿�� ��� 79 * 80 * K5 ����5�� �� �� �� �� �� �֤� 81 * ���������������������� (��) 82 * K5r ����5�ʤ�Ϣ�ѷ���̾�� �� 83 * C5r �Ԥ�5�ʤ�Ϣ�ѷ���̾�� 84 * ���������������������� �� �� �� �� �Ԥ� 85 * ���������������������� (��) 86 * G5 ����5�ʡ������� �� �� �� �� �� �Ĥ� 87 * ���������������������� (��) 88 * G5r ����5�ʤ�Ϣ�ѷ���̾�� �ޤ� 89 * S5 ����5�ʡ������� �� �� �� �� �� �֤� 90 * ���������������������� 91 * S5r ����5�ʤ�Ϣ�ѷ���̾�� �ܤ� 92 * T5 ����5�ʡ������� �� �� �� �� �� ��� 93 * ���������������������� (��) 94 * T5r ����5�ʤ�Ϣ�ѷ���̾�� �Ǥ� 95 * N5 �ʹ�5�ʡ������� �� �� �� �� �� ��� 96 * ���������������������� (��) 97 * B5 �й�5�ʡ������� �� �� �� �� �� ž�� 98 * ���������������������� (��) 99 * B5r �й�5�ʤ�Ϣ�ѷ���̾�� ͷ�� 100 * M5 ��5�ʡ������� �� �� �� �� �� ���� 101 * ���������������������� (��) 102 * M5r ��5�ʤ�Ϣ�ѷ���̾�� �Ԥ� 103 * R5 ���5�ʡ������� �� �� �� �� �� ��ĥ�� 104 * ���������������������� (��) 105 * R5r ���5�ʤ�Ϣ�ѷ���̾�� �դ� 106 * L5 ���5�ʡ������� �� �� �� �� �� ����ä���� 107 * (̿�������)������ (��) 108 * W5 ��(��)��5�� �� �� �� �� �� ���� 109 * �� (��) 110 * W5r ��(��)��5�ʤ�Ϣ�ѷ���̾�� ���� 111 * U5 ��5�� �� �� �� �� �� �� 112 * �� (��) 113 * U5r ��5�ʤ�Ϣ�ѷ���̾�� �䤦 114 * KS �岼���� �� �� �� �� �� �ߤ��[Ϳ����] 115 * �� 116 * KSr �岼���ʤǸ촴��̾�� ������[�¤���] 117 * KX ���� �� �� ���� ���� ���� ��� 118 * SX ���� �� �ؤ��� 119 * �� �� ���� ���� ���� 120 * ���������������������� 121 * ZX ���ѡ������������� ������ 122 * ���������������������� �� ���� ���� ���� 123 * ���������������������� 124 * NZX ���ѡ����������� �� �Ť� 125 * ���������������������� �� �� �� �� 126 * ���������������������� 127 * 128 */ 129K5 _ _ /* ����5��: �֤�*/ 130K5r _ _ /* ����5��,Ϣ�ѷ���̾��: �� */ 131C5r _ _ /* �Ԥ�5��,Ϣ�ѷ���̾��: �Ԥ� */ 132G5 _ _ /* ����5��: �Ĥ� */ 133G5r _ _ /* ����5��,Ϣ�ѷ���̾��: �ޤ� */ 134S5 _ _ /* ����5��: ���� */ 135S5r _ _ /* ����5��,Ϣ�ѷ���̾��: �ܤ� */ 136T5 _ _ /* ����5��: ��� */ 137T5r _ _ /* ����5��,Ϣ�ѷ���̾��: �Ǥ� */ 138N5 _ _ /* �ʹ�5��: ��� */ 139B5 _ _ /* �й�5��: ž�� */ 140B5r _ _ /* �й�5��,Ϣ�ѷ���̾��: ͷ�� */ 141M5 _ _ /* ��5��: ���� */ 142M5r _ _ /* ��5��,Ϣ�ѷ���̾��: �Ԥ� */ 143R5 _ _ /* ���5��: ��ĥ�� */ 144R5r _ _ /* ���5��,Ϣ�ѷ���̾��: �դ� */ 145L5 _ _ /* ���5��(̿�������): ����ä���� */ 146 /* ¾: ���ä����,������,������,�ʤ���,���ʤ���,��ʤ��� */ 147W5 _ _ /* ���5��: ���� */ 148W5r _ _ /* ���5��,Ϣ�ѷ���̾��: ���� */ 149U5 _ _ /* ��5��: �� */ 150U5r _ _ /* ��5��,Ϣ�ѷ���̾��: �䤦 */ 151KS _ _ /* �岼1��: �ߤ��,Ϳ���� */ 152KSr _ _ /* �岼1��,�촴��̾��: ������,�¤��� */ 153KX _ _ /* ���ѳ���ư��: ��� */ 154SX _ _ /* ���ѳ���ư��: �ؤ��� */ 155ZX _ _ /* ���ѳ���ư��: ������ */ 156NZX _ _ /* ���ѳ���ư��: �Ť� */ 157 158/* �θ�ʬ�� 159 * 160 * KJ ��ʸ������: ñ�����Ѵ��Τߤǻ��Ѥ��� 161 * CN ��̾ 162 * CNS ��̾(������Ĥ�) 163 * JCN ���Ȥ��Ƥ�Ȥ�����̾ 164 * JN ��̾ 165 * KK ���/���� 166 * 167 * T** ����Ū���θ���(̾��/����̾��/����ư��/����) 168 * 169 * ������ư��γ��� 170 * ̤�� Ϣ�� ���� Ϣ�� ���� ̿�� 171 * ���� ���� �� �� �ʤ� �� 172 * �� (��) 173 * �� 174 * 175 * ������Ǥ�ά��ɽ��(���ˤ��) 176 * ���� Ϣ����ˡ��,Ϣ����ˡ�ˤ�·�ä���� 177 * �����ʥ� Ϣ����ˡ�ΤΤ������ư�� 178 * ̾�ʥ�,̾������ Ϣ����ˡ��,Ϣ����ˡ�� �Τ���̾��(�촴��ʸ��ˤʤ��) 179 * �ȡ����� Ϣ����ˡ����,Ϣ����ˡ�ȤȤʤ��� 180 * �� �֤���פȷ�礷�ƥ��ѳ��Ѥ��� 181 * ̾ ̾�� 182 * �� ���� 183 * �������ʥ� �������ˡ�ȥ��ʥΤ���ˡ����� 184 * 185 * ����³������� 186 * -����³ ����ư����Ѥ�(���Ѹ������٤Ƥ��Ĥ�) �� 187 * ���ʤ� �� 188 * -����³ �֤��פ��Ĥ���̾�첽���� �� 189 * ���ʤ� �� 190 * -������³ �֤���פȷ�礷�ƥ��ѳ��Ѥ��� �� 191 * ���ʤ� �� 192 * �촴��ʸ�� �촴��ñ�Ȥ�ʸ��ˤʤ뤳�Ȥ��Ǥ��� �� 193 * �Ǥ��ʤ� �� 194 * �ʽ���³ �ʽ��줬��³���뤫(���٤Ƥγʽ������³��ǽ �� 195 * �֤ΡפΤߤ���³���� �� 196 * �ʽ���ˤ���³���ʤ� �� 197 * (�֤ˡפ��㳰 ? ) 198 * 199 * ��ŵ�Ǥ� -�� -�� -���� �촴�� �ʽ� ��� 200 * ɽ��ˡ ��³ ��³ ��³ ʸ�� ��³ 201 * 202 * T00 ̾���������ʥ� �� �� �� �� �� ���� 203 * ̾�ʥΡ��� ���� 204 * T01 �� �� �� �� �� 205 * T02 �� �� �� �� �� 206 * T03 ���ʥ� �� �� �� �� �� �������� 207 * T04 �� �� �� �� �� ��˽ 208 * T05 ̾�����ʥ� �� �� �� �� �� ���� 209 * ̾������ ����,����,�ʷ�,���� 210 * ̾�ʥ� ���� 211 * T06 �� �� �� �� �� ����,���,��䤫,���� 212 * T07 �������� �� �� �� �� �� ��ʬ 213 * T08 ���ʥ� �� �� �� �� �� �ճ�,��̿ 214 * T09 ���� �� �� �� �� �� �Ť�,���� 215 * T10 �� �� �� �� �� �¿�,�ⵤ,����,���� 216 * T11 �� �� �� �� �� ����,����,����,ľ�� 217 * T12 �� �� �� �� �� ¸ʬ 218 * T13 �� �� �� �� �� �繲�� 219 * T14 �� �� �� �� �� 220 * T15 ���� �� �� �� �� �� Ʊ��?(�ü�ʷ��ƻ�ȤνŤʤ�) 221 * ̾���������� ���� 222 * T16 �������ʥ� �� �� �� �� �� �Ƴ�,����,���ʤ� 223 * T17 ���ʥ� �� �� �� �� �� �䤿��,�Ԥä��� 224 * ���� �ռ�Ū,����Ū,�ʳ�Ū 225 * T18 �� �� �� �� �� ������,�Ÿ�,�²�,�ⵤ 226 * T19 �� �� �� �� �� ��ʤ�,����,�礶�ä� 227 * T20 �� �� �� �� �� 228 * T21 �� �� �� �� �� 229 * T22 �� �� �� �� �� 230 * T23 �� �� �� �� �� 231 * T24 �� �� �� �� �� 232 * T25 �� �� �� �� �� ʿ�� 233 * T26 �� �� �� �� �� 234 * T27 �� �� �� �� �� 235 * T28 �� �� �� �� �� 236 * T29 �� �� �� �� �� 237 * T30 ̾���� �� �� �� �� �� ����,����,����,���� 238 * T31 �� �� �� �� �� �� ����ä� 239 * T32 �� �� �� �� �� 240 * T33 �� �� �� �� �� 241 * T34 �� �� �� �� �� 242 * T35 ̾(����Ū��̾��)�� �� �� �� �� ���,�縰,��,��� 243 * ̾���� �ۤȤ�� 244 * T36 �� �� �� �� �� �� ��ۤ�,���֤�,�ޤ���� 245 * T37 �� �� �� �� �� �� ������,�ϤʤϤ� 246 * T38 �� �� �� �� �� 247 * T39 �� �� �� �� �� 248 * 249 * ��줬�ʤ��Ȥ���ϡ���������줬���ߤϸ��Ĥ���ʤ����ᡥ 250 * 251 */ 252KJ _ _ /* ��ʸ������(ñ�����Ѵ��Τߤǻ���) */ 253CN _ _ /* ��� */ 254CNS _ _ /* ����� */ 255JN _ _ /* ����,�� */ 256JNS _ _ /* ����¢�� (���˥塼�ɲ�ʬ) */ 257JNM _ _ /* ̾������ (���˥塼�ɲ�ʬ) */ 258JCN _ _ /* ��̾������:Ĺ�� */ 259KK _ _ /* �����ŵ� */ 260 261T00 _ _ /* ̾���������ʥΡ�̾�ʥΡ���: ����,���� */ 262T01 _ _ /* */ 263T02 _ _ /* */ 264T03 _ _ /* ���ʥ�: �������� */ 265T04 _ _ /* */ 266T05 _ _ /* ̾�����ʥ�,̾������,̾�ʥ�: ����,����,����,�ʷ�,����,���� */ 267T06 _ _ /* */ 268T07 _ _ /* ��������: ��ʬ */ 269T08 _ _ /* ���ʥ�: �ճ�,��̿ */ 270T09 _ _ /* ���ʥ�: �Ť�,���� */ 271T10 _ _ /* */ 272T11 _ _ /* */ 273T12 _ _ /* */ 274T13 _ _ /* */ 275T14 _ _ /* */ 276T15 _ _ /* ����,̾����������: Ʊ��?,������ */ 277T16 _ _ /* ��������,���ʥ�: �Ƴ�,���ʤ� */ 278T17 _ _ /* ����: �䤿��,����,�Ԥä���,�ռ�Ū,����Ū,�ʳ�Ū */ 279T18 _ _ /* */ 280T19 _ _ /* */ 281T20 _ _ /* */ 282T21 _ _ /* */ 283T22 _ _ /* */ 284T23 _ _ /* */ 285T24 _ _ /* */ 286T25 _ _ /* */ 287T26 _ _ /* */ 288T27 _ _ /* */ 289T28 _ _ /* */ 290T29 _ _ /* */ 291T30 _ _ /* ̾����: ���� */ 292T31 _ _ /* ��: ����ä� */ 293T32 _ _ /* */ 294T33 _ _ /* */ 295T34 _ _ /* */ 296T35 _ _ /* ̾,̾����: ��,���,�ۤȤ�� */ 297T36 _ _ /* ��: ��ۤ�,���֤� */ 298T37 _ _ /* ��: ������,�ϤʤϤ� */ 299T38 _ _ /* */ 300T39 _ _ /* */ 301 302/* 303 * F** ������(����ư��ȥ��뷿���Ѥ�ޤ�): 304 * �ȥ�����Ѥ����ư��ڤ�����ϡ������-����¿���褦�Ǥ��롥 305 * 306 * ������ư��ȡ�������� 307 * ̤�� Ϣ�� ���� Ϣ�� ���� ̿�� 308 * ���� ���� ���� ���� ���� ���� 309 * �� (��) 310 * ( )��ϥȳ��Ѥλ��Τ� 311 * 312 * ������Ǥ�ά��ɽ�� 313 * �� ���� 314 * �ȡ����� Ϣ����ˡ����,Ϣ����ˡ�ȤȤʤ��� 315 * �� �֤���פȷ�礷�ƥ��ѳ��Ѥ��� 316 * 317 * ����³������� 318 * -����³ ʸ�쥿����Ѥθ���Ǥη���Ϣ�ѷ��ˡ֤ȡפ������� 319 * -������³ ʸ�쥿����Ѥθ���Ǥη� 320 * -������³ �֤���פȷ�礷�ƥ��ѳ��Ѥ��륵�ѳ��Ѥ��뤫 321 * �촴��ʸ�� �촴��ñ�Ȥ�ʸ��ˤʤ뤳�Ȥ��Ǥ��뤫 322 * 323 * ��ŵ�Ǥ� -�� -���� -���� �촴�� ��� 324 * ɽ��ˡ ��³ ��³ ��³ ʸ�� 325 * 326 * F00 �����ȥ��� �� �� �� �� ����,���뤰��,�Ҥ��Ҥ�,�ġ� 327 * F01 �ȥ��롦�� �� �� �� �� Ƚ��,����,����,����,����,���� 328 * F02 �����ȥ��� �� �� �� �� ����,����,�Ǹ�,Ʋ��,�䡹,�䡹 329 * F03 �ȥ��� �� �� �� �� ����,�´�,����,����,�ۡ�,���� 330 * F04 ������ �� �� �� �� �դä��� 331 * �� ��ä��� 332 * F05 �ȡ��� �� �� �� �� ��������,����,���老��,���Ĥ��� 333 * F06 �� �� �� �� �� ����,����,�١�,�ŤͽŤ�,�ޤ��ޤ�,�श�श 334 * F07 �� �� �� �� 335 * F08 �� �� �� �� 336 * F09 �� �� �� �� 337 * F10 �� �� �� �� 338 * F11 �� �� �� �� �� 339 * F12 �� �� �� �� �� ���ä�,���ä�,�Ϥä�,�դ�,�ۤä�,��ä�,�������� 340 * F13 �� �� �� �� 341 * F14 �� �� �� �� ���Ѥ�餺,������,˰���ޤ� 342 * F15 �� �� �� �� 343 * 344 * ��줬�ʤ��Ȥ���ϡ���������줬���ߤϸ��Ĥ���ʤ����ᡥ 345 * 346 */ 347F00 _ _ /* �����ȥ���: ����,���뤰��,�Ҥ��Ҥ� */ 348F01 _ _ /* �ȥ��롦��: Ƚ�� */ 349F02 _ _ /* �����ȥ���: ����,�Ǹ�,Ʋ��,�䡹 */ 350F03 _ _ /* �ȥ���: ����,�´�,����,�ۡ�,����*/ 351F04 _ _ /* ����������: �դä���,��ä��� */ 352F05 _ _ /* �ȡ���: ��������,����,���老��,���Ĥ��� */ 353F06 _ _ /* ��: ����,����,�١�,�ŤͽŤ�,�ޤ��ޤ�,�श�श */ 354F07 _ _ /* */ 355F08 _ _ /* */ 356F09 _ _ /* */ 357F10 _ _ /* */ 358F11 _ _ /* */ 359F12 _ _ /* ��: ���ä�,���ä�,�ۤä�,�դ�,�ۤä�,��ä� */ 360F13 _ _ /* */ 361F14 _ _ /* */ 362F15 _ _ /* */ 363 364/* ���ƻ��ʬ�� 365 * 366 * �����ƻ�γ��� 367 * ̤�� Ϣ�� ���� Ϣ�� ���� ̿�� 368 * ���� �� �� �� ���� �� 369 * �� (��) 370 * �ä� ( )���ʸ��Ǥγ��� 371 * 372 * ������Ǥ�ά��ɽ�� 373 * �� ���ƻ� 374 * ̾�ʥΡ��� T05 �γ��Ѥȷ��ƻ�γ��Ѥ������� 375 * 376 * ��ŵ�Ǥ�ɽ��ˡ ��� 377 * 378 * KY �� ������ 379 * KYT ̾�ʥΡ��� �ͳѤ�,������ 380 * KYna �� ������,�礭��(���Ѥ�[��(Ϣ����ˡ��]��������ƻ�) 381 * KYmi �� �������Ť�(�ߤǽ����̾���ž��������ƻ�) 382 * KYme �� ���ᡢĹ��(��ǽ���ȷ���ư���ž��������ƻ�) 383 * KYU ���ƻ�Υ�����(�����夦) 384 * 385 */ 386KY _ _ /* ������ */ 387KYT _ _ /* �ͳѤ�,������*/ 388KYna _ _ /* �礭�����礭�� */ 389KYmi _ _ /* �ߤǽ����̾���ž�����Ťߡ����ޤ� */ 390KYme _ _ /* ��ǽ���ȷ���ư���ž����Ĺ�ᡢ�礭�� */ 391KYmime _ _ /* KYmi, KYme ��ξ�����������碌���ġ����ߡ����� */ 392KYU _ _ /* �����夦 */ 393 394/* ����¾: 395 * ��³�졤��ư����碌�롥��³�ط���Ʊ�����ᡥ 396 */ 397CJ _ _ /* ��³�졤��ư�졤Ϣ��ʤ�*/ 398RT _ _ /* Ϣ�λ� */ 399OKX _ _ /* ư�����ǫɽ���θ촴 �֤�ʹ���פȤ� */ 400