1 #define NSYM 50 2 #define NSNAME 8 3 4 /* R0 is return */ 5 #define REGEXT 7 6 /* A7 is sp A6 is sb */ 7 #define AREGEXT 5 8 /* F0 is ret */ 9 #define FREGEXT 7 10 11 enum as 12 { 13 AXXX = 0, 14 AABCD, 15 AADDB, 16 AADDL, 17 AADDW, 18 AADDXB, 19 AADDXL, 20 AADDXW, 21 AADJSP, 22 AANDB, 23 AANDL, 24 AANDW, 25 AASLB, 26 AASLL, 27 AASLW, 28 AASRB, 29 AASRL, 30 AASRW, 31 ABCASE, 32 ABCC, 33 ABCHG, 34 ABCLR, 35 ABCS, 36 ABEQ, 37 ABFCHG, 38 ABFCLR, 39 ABFEXTS, 40 ABFEXTU, 41 ABFFFO, 42 ABFINS, 43 ABFSET, 44 ABFTST, 45 ABGE, 46 ABGT, 47 ABHI, 48 ABKPT, 49 ABLE, 50 ABLS, 51 ABLT, 52 ABMI, 53 ABNE, 54 ABPL, 55 ABRA, 56 ABSET, 57 ABSR, 58 ABTST, 59 ABVC, 60 ABVS, 61 ACALLM, 62 ACAS2B, 63 ACAS2L, 64 ACAS2W, 65 ACASB, 66 ACASEW, 67 ACASL, 68 ACASW, 69 ACHK2B, 70 ACHK2L, 71 ACHK2W, 72 ACHKL, 73 ACHKW, 74 ACLRB, 75 ACLRL, 76 ACLRW, 77 ACMP2B, 78 ACMP2L, 79 ACMP2W, 80 ACMPB, 81 ACMPL, 82 ACMPW, 83 ADATA, 84 ADBCC, 85 ADBCS, 86 ADBEQ, 87 ADBF, 88 ADBGE, 89 ADBGT, 90 ADBHI, 91 ADBLE, 92 ADBLS, 93 ADBLT, 94 ADBMI, 95 ADBNE, 96 ADBPL, 97 ADBT, 98 ADBVC, 99 ADBVS, 100 ADIVSL, 101 ADIVSW, 102 ADIVUL, 103 ADIVUW, 104 AEND, 105 AEORB, 106 AEORL, 107 AEORW, 108 AEXG, 109 AEXTBL, 110 AEXTBW, 111 AEXTWL, 112 AFABSB, 113 AFABSD, 114 AFABSF, 115 AFABSL, 116 AFABSW, 117 AFACOSB, 118 AFACOSD, 119 AFACOSF, 120 AFACOSL, 121 AFACOSW, 122 AFADDB, 123 AFADDD, 124 AFADDF, 125 AFADDL, 126 AFADDW, 127 AFASINB, 128 AFASIND, 129 AFASINF, 130 AFASINL, 131 AFASINW, 132 AFATANB, 133 AFATAND, 134 AFATANF, 135 AFATANHB, 136 AFATANHD, 137 AFATANHF, 138 AFATANHL, 139 AFATANHW, 140 AFATANL, 141 AFATANW, 142 AFBEQ, 143 AFBF, 144 AFBGE, 145 AFBGT, 146 AFBLE, 147 AFBLT, 148 AFBNE, 149 AFBT, 150 AFCMPB, 151 AFCMPD, 152 AFCMPF, 153 AFCMPL, 154 AFCMPW, 155 AFCOSB, 156 AFCOSD, 157 AFCOSF, 158 AFCOSHB, 159 AFCOSHD, 160 AFCOSHF, 161 AFCOSHL, 162 AFCOSHW, 163 AFCOSL, 164 AFCOSW, 165 AFDBEQ, 166 AFDBF, 167 AFDBGE, 168 AFDBGT, 169 AFDBLE, 170 AFDBLT, 171 AFDBNE, 172 AFDBT, 173 AFDIVB, 174 AFDIVD, 175 AFDIVF, 176 AFDIVL, 177 AFDIVW, 178 AFETOXB, 179 AFETOXD, 180 AFETOXF, 181 AFETOXL, 182 AFETOXM1B, 183 AFETOXM1D, 184 AFETOXM1F, 185 AFETOXM1L, 186 AFETOXM1W, 187 AFETOXW, 188 AFGETEXPB, 189 AFGETEXPD, 190 AFGETEXPF, 191 AFGETEXPL, 192 AFGETEXPW, 193 AFGETMANB, 194 AFGETMAND, 195 AFGETMANF, 196 AFGETMANL, 197 AFGETMANW, 198 AFINTB, 199 AFINTD, 200 AFINTF, 201 AFINTL, 202 AFINTRZB, 203 AFINTRZD, 204 AFINTRZF, 205 AFINTRZL, 206 AFINTRZW, 207 AFINTW, 208 AFLOG10B, 209 AFLOG10D, 210 AFLOG10F, 211 AFLOG10L, 212 AFLOG10W, 213 AFLOG2B, 214 AFLOG2D, 215 AFLOG2F, 216 AFLOG2L, 217 AFLOG2W, 218 AFLOGNB, 219 AFLOGND, 220 AFLOGNF, 221 AFLOGNL, 222 AFLOGNP1B, 223 AFLOGNP1D, 224 AFLOGNP1F, 225 AFLOGNP1L, 226 AFLOGNP1W, 227 AFLOGNW, 228 AFMODB, 229 AFMODD, 230 AFMODF, 231 AFMODL, 232 AFMODW, 233 AFMOVEB, 234 AFMOVED, 235 AFMOVEF, 236 AFMOVEL, 237 AFMOVEM, 238 AFMOVEMC, 239 AFMOVEW, 240 AFMULB, 241 AFMULD, 242 AFMULF, 243 AFMULL, 244 AFMULW, 245 AFNEGB, 246 AFNEGD, 247 AFNEGF, 248 AFNEGL, 249 AFNEGW, 250 AFREMB, 251 AFREMD, 252 AFREMF, 253 AFREML, 254 AFREMW, 255 AFRESTORE, 256 AFSAVE, 257 AFSCALEB, 258 AFSCALED, 259 AFSCALEF, 260 AFSCALEL, 261 AFSCALEW, 262 AFSEQ, 263 AFSF, 264 AFSGE, 265 AFSGT, 266 AFSINB, 267 AFSIND, 268 AFSINF, 269 AFSINHB, 270 AFSINHD, 271 AFSINHF, 272 AFSINHL, 273 AFSINHW, 274 AFSINL, 275 AFSINW, 276 AFSLE, 277 AFSLT, 278 AFSNE, 279 AFSQRTB, 280 AFSQRTD, 281 AFSQRTF, 282 AFSQRTL, 283 AFSQRTW, 284 AFST, 285 AFSUBB, 286 AFSUBD, 287 AFSUBF, 288 AFSUBL, 289 AFSUBW, 290 AFTANB, 291 AFTAND, 292 AFTANF, 293 AFTANHB, 294 AFTANHD, 295 AFTANHF, 296 AFTANHL, 297 AFTANHW, 298 AFTANL, 299 AFTANW, 300 AFTENTOXB, 301 AFTENTOXD, 302 AFTENTOXF, 303 AFTENTOXL, 304 AFTENTOXW, 305 AFTSTB, 306 AFTSTD, 307 AFTSTF, 308 AFTSTL, 309 AFTSTW, 310 AFTWOTOXB, 311 AFTWOTOXD, 312 AFTWOTOXF, 313 AFTWOTOXL, 314 AFTWOTOXW, 315 AGLOBL, 316 AGOK, 317 AHISTORY, 318 AILLEG, 319 AINSTR, 320 AJMP, 321 AJSR, 322 ALEA, 323 ALINKL, 324 ALINKW, 325 ALOCATE, 326 ALONG, 327 ALSLB, 328 ALSLL, 329 ALSLW, 330 ALSRB, 331 ALSRL, 332 ALSRW, 333 AMOVB, 334 AMOVEM, 335 AMOVEPL, 336 AMOVEPW, 337 AMOVESB, 338 AMOVESL, 339 AMOVESW, 340 AMOVL, 341 AMOVW, 342 AMULSL, 343 AMULSW, 344 AMULUL, 345 AMULUW, 346 ANAME, 347 ANBCD, 348 ANEGB, 349 ANEGL, 350 ANEGW, 351 ANEGXB, 352 ANEGXL, 353 ANEGXW, 354 ANOP, 355 ANOTB, 356 ANOTL, 357 ANOTW, 358 AORB, 359 AORL, 360 AORW, 361 APACK, 362 APEA, 363 ARESET, 364 AROTLB, 365 AROTLL, 366 AROTLW, 367 AROTRB, 368 AROTRL, 369 AROTRW, 370 AROXLB, 371 AROXLL, 372 AROXLW, 373 AROXRB, 374 AROXRL, 375 AROXRW, 376 ARTD, 377 ARTE, 378 ARTM, 379 ARTR, 380 ARTS, 381 ASBCD, 382 ASCC, 383 ASCS, 384 ASEQ, 385 ASF, 386 ASGE, 387 ASGT, 388 ASHI, 389 ASLE, 390 ASLS, 391 ASLT, 392 ASMI, 393 ASNE, 394 ASPL, 395 AST, 396 ASTOP, 397 ASUBB, 398 ASUBL, 399 ASUBW, 400 ASUBXB, 401 ASUBXL, 402 ASUBXW, 403 ASVC, 404 ASVS, 405 ASWAP, 406 ASYS, 407 ATAS, 408 ATEXT, 409 ATRAP, 410 ATRAPCC, 411 ATRAPCS, 412 ATRAPEQ, 413 ATRAPF, 414 ATRAPGE, 415 ATRAPGT, 416 ATRAPHI, 417 ATRAPLE, 418 ATRAPLS, 419 ATRAPLT, 420 ATRAPMI, 421 ATRAPNE, 422 ATRAPPL, 423 ATRAPT, 424 ATRAPV, 425 ATRAPVC, 426 ATRAPVS, 427 ATSTB, 428 ATSTL, 429 ATSTW, 430 AUNLK, 431 AUNPK, 432 AWORD, 433 ASIGNAME, 434 435 ALAST 436 }; 437 438 enum 439 { 440 NREG = 8, 441 442 D_R0 = 0, 443 D_A0 = NREG, 444 D_F0 = D_A0+NREG, 445 D_NONE = D_F0+NREG, 446 D_TOS, 447 D_BRANCH, 448 D_STACK, 449 D_TREE, 450 D_EXTERN, 451 D_STATIC, 452 D_AUTO, 453 D_PARAM, 454 D_CONST, 455 D_FCONST, 456 D_QUICK, 457 458 D_CCR, 459 D_SR, 460 D_SFC, 461 D_CACR, 462 D_USP, 463 D_VBR, 464 D_CAAR, 465 D_MSP, 466 D_ISP, 467 D_DFC, 468 D_FPCR, 469 D_FPSR, 470 D_FPIAR, 471 D_SCONST, 472 D_FILE, 473 474 D_TC, /* new for 68040 */ 475 D_ITT0, 476 D_ITT1, 477 D_DTT0, 478 D_DTT1, 479 D_MMUSR, 480 D_URP, 481 D_SRP, 482 483 D_FILE1, 484 485 D_MASK = 63/(D_SRP>=63?0:1), 486 487 I_DIR = (D_MASK+1)*0, 488 I_INDINC = (D_MASK+1)*1, 489 I_INDDEC = (D_MASK+1)*2, 490 I_INDIR = (D_MASK+1)*3, 491 I_ADDR = (D_MASK+1)*4, 492 493 I_INDEX1 = (D_MASK+1)*1, 494 I_INDEX2 = (D_MASK+1)*2, 495 I_INDEX3 = (D_MASK+1)*3, 496 497 I_MASK = (D_MASK+1)*7, 498 499 T_FIELD = 1<<0, 500 T_INDEX = 1<<1, 501 T_TYPE = 1<<2, 502 T_OFFSET = 1<<3, 503 T_FCONST = 1<<4, 504 T_SYM = 1<<5, 505 T_SCONST = 1<<6 506 }; 507 508 /* 509 * this is the ranlib header 510 */ 511 #define SYMDEF "__.SYMDEF" 512 513 /* 514 * this is the simulated IEEE floating point 515 */ 516 typedef struct ieee Ieee; 517 struct ieee 518 { 519 long l; /* contains ls-man 0xffffffff */ 520 long h; /* contains sign 0x80000000 521 exp 0x7ff00000 522 ms-man 0x000fffff */ 523 }; 524