|
|
1.1 ! root 1: ## ! 2: ## Copyright (c) 1982 Regents of the University of California ! 3: ## @(#)instrs 4.9 6/30/83 ! 4: ## ! 5: ## Robert R. Henry ! 6: ## University of California, Berkeley ! 7: ## Berkeley, CA ! 8: ## February 6, 1982 ! 9: ## ! 10: ## Updated 19 May 83 to include the page number in the ! 11: ## architecture reference manual (1981 edition) the instruction ! 12: ## is documented on, and to enumerate the instructions in the same ! 13: ## order as the reference manual does. ! 14: ## ! 15: ## THIS FILE IS BOTH AN AWK SCRIPT AND THE DATA ! 16: ## ! 17: ## Instruction definitions for the TAHOE ! 18: ## ! 19: ## This file is processed by an awk script, viz: ! 20: ## (echo "FLAVOR AS"; cat instrs) | awk -f instrs > as.instrs ! 21: ## (echo "FLAVOR ADB"; cat instrs) | awk -f instrs > as.instrs ! 22: ## (echo "FLAVOR SDB"; cat instrs) | awk -f instrs > as.instrs ! 23: ## (echo "FLAVOR C2"; cat instrs) | awk -f instrs > c2.instrs ! 24: ## ! 25: ## The data in this file is shared between: ! 26: ## as assembler ! 27: ## c2 optimizer ! 28: ## adb debugger ! 29: ## sdb symbolic debugger ! 30: ## ! 31: ## The awk script reads itself, and produces macros understood ! 32: ## by the appropriate consumer. The awk script determines how ! 33: ## to interpret the file by looking for a line of the form: ! 34: ## FLAVOR AS ! 35: ## FLAVOR ADB (same as AS, but without pseudo instructions) ! 36: ## FLAVOR SDB (same as ADB) ! 37: ## FLAVOR C2 (radically different format for instructions) ! 38: ## and proceeding accordingly. This line should be prepended to ! 39: ## the front of this file. ! 40: ## ! 41: ## Lines starting with # are always comments to awk ! 42: ## Lines starting with ## are always comments ! 43: ## Lines starting with a single # are data lines, to be output. ! 44: ## ! 45: ## Empty lines are passed through ! 46: ## ! 47: ## field user(s) what ! 48: ## ! 49: ## $2 awk #: comment to awk ! 50: ## ! 51: ## $3 as, c2, adb instruction name ! 52: ## ! 53: ## $4 c2 instruction class ! 54: ## $5 c2 instruction sub class ! 55: ## HARD, TN1, TNX2, OP ! 56: ## ! 57: ## $6 as, adb opcode byte ! 58: ## ! 59: ## $7 as, adb number of arguments ! 60: ## $8 as, adb 1st operand: access A,R,W,M,I,B ! 61: ## $9 as, adb 1st operand: type, BWLQOFDGH ! 62: ## ! 63: ## $10 as, adb 2nd operand: access ! 64: ## ... ! 65: ## ! 66: ## ! 67: ## These are the definitions used in this file: ! 68: ## instruction class (c2) ! 69: ## understood only by c2. If it is HARD, the second field ! 70: ## is ignored. ! 71: ## instruction subclass: (c2) ! 72: ## HARD paired with the class ! 73: ## S single valued attribute to C2 ! 74: ## TN1 class + type of 1st operand ! 75: ## TNX2 class + type of 1st and 2nd operand ! 76: ## OP class + type of 1st operand and # of args ! 77: ## default class + subclass ! 78: ## ! 79: ## ! 80: ## code byte ! 81: ## number of arguments ! 82: ## Access type ! 83: ## A for address, only in memory ! 84: ## W for writing ! 85: ## R for reading ! 86: ## M for modifying ! 87: ## B for branch displacement ! 88: ## Data types ! 89: ## B byte ! 90: ## W word ! 91: ## L long ! 92: ## Q quad ! 93: ## F f_float ! 94: ## D d_float ! 95: ## ! 96: ## The order of instructions in this table is not critical; ! 97: ## the clients take care of their own table construction and ordering. ! 98: ## The instructions are grouped (more or less) into functional groups. ! 99: ## ! 100: ## The following is the awk program to interpret this table. ! 101: ! 102: BEGIN{ ! 103: flavor = AS; ! 104: ## ! 105: ## magic padding before the string for AS ! 106: ## 4 bytes of 0's: seek position of the string ! 107: ## 2 bytes, value 2, indicating core resident ! 108: ## 2 bytes, value 0, length ! 109: ## ! 110: ASpad = "\\0\\0\\0\\0" "\\2\\0"; ! 111: } ! 112: { ! 113: if (NF == 0){ ! 114: printf("\n"); ! 115: next; ! 116: } ! 117: if ($1 == "FLAVOR"){ ! 118: flavor = $2; ! 119: if (flavor == "SDB"){ ! 120: flavor = "ADB"; ! 121: } ! 122: next; ! 123: } ! 124: if ($1 != "#"){ ! 125: next; ! 126: } ! 127: ! 128: if ($6 == "MACR"){ ! 129: if (flavor == "ADB"){ ! 130: next; ! 131: } ! 132: if (flavor == "AS"){ ! 133: if ($4 == "CBR") ! 134: $4 = "IJXXX"; ! 135: printf("PSEUDO(\"%s\\0%o\\0%s\",", ASpad,length($3),$3); ! 136: printf("%s, %s),\n", $7, $4); ! 137: next; ! 138: } ! 139: if (flavor == "C2"){ ! 140: if ($5 == "C2X") ! 141: next; ! 142: printf("\"%s\",", $3); ! 143: if ($4 == "CBR" && $5 != "JBR"){ ! 144: printf("T(CBR,%s),\n", $5); ! 145: } else { ! 146: printf("%s,\n", $5); ! 147: } ! 148: next; ! 149: } ! 150: } ! 151: ! 152: if (flavor == "C2"){ ! 153: printf("\"%s\",", $3); ! 154: if ($4 == "HARD"){ # 0 value ! 155: printf("0,\n"); ! 156: next; ! 157: } ! 158: if ($5 == "S"){ # single value ! 159: printf("%s,\n", $4); ! 160: next; ! 161: } ! 162: if ($5 == "TN1"){ # use type of 1st operand ! 163: printf("T(%s,TYP%s),\n", $4, $10); ! 164: next; ! 165: } ! 166: if ($5 == "TNX2"){ # cross product of 1st and 2nd operand ! 167: printf("T(%s,U(TYP%s,TYP%s)),\n", $4, $10, $12); ! 168: next; ! 169: } ! 170: if ($5 == "OP"){ # arithmetic operator ! 171: printf("T(%s,U(TYP%s,OP%d)),\n", $4, $10, $8); ! 172: next; ! 173: } ! 174: printf("T(%s,%s),\n", $4, $5); # special value ! 175: next; ! 176: } ! 177: if (flavor == "AS"){ ! 178: printf("OP(\"%s\\0%o\\0%s\", ", ASpad, length($3), $3); ! 179: printf("%s, %d", $6, $7); ! 180: } else { ! 181: printf("OP(\"%s\", %s, %d", $3, $6, $7); ! 182: } ! 183: if (flavor == "AS" || flavor == "ADB"){ ! 184: for (i = 8; i+1 <= NF; i = i + 2){ ! 185: printf(", A_%s%s", $i, $(i+1)); ! 186: } ! 187: for (i = $7; i < 6; i++){ ! 188: printf(",0"); ! 189: } ! 190: printf("),\n"); ! 191: } ! 192: } ! 193: ## ! 194: ##------------------------------------------------------- ! 195: ##1 2 3 4 5 6 7 8 9 ! 196: ## ! 197: ## ! 198: ## PSEUDO (MACR) operators come first ! 199: ! 200: ## Data initializers ! 201: ! 202: # 000a .byte IBYTE C2X MACR 0 VAR ! 203: # 000b .word IWORD WGEN MACR 0 VAR ! 204: # 000c .int IINT LGEN MACR 0 VAR ! 205: # 000d .long ILONG LGEN MACR 0 VAR ! 206: # 000a .quad IQUAD C2X MACR 0 VAR ! 207: # 000a .float IFFLOAT C2X MACR 0 VAR ! 208: # 000a .double IDFLOAT C2X MACR 0 VAR ! 209: # 000a .ffloat IFFLOAT C2X MACR 0 VAR ! 210: # 000a .dfloat IDFLOAT C2X MACR 0 VAR ! 211: # 000a .space ISPACE C2X MACR 0 1 ! 212: # 000a .fill IFILL C2X MACR 0 2 ! 213: # 000a .ascii IASCII C2X MACR 0 VAR ! 214: # 000a .asciz IASCIZ C2X MACR 0 VAR ! 215: ! 216: # 000a .data IDATA DATA MACR 0 1 ! 217: # 000a .text ITEXT TEXT MACR 0 1 ! 218: # 000a .align IALIGN ALIGN MACR 0 1 ! 219: ! 220: # 000a .line ILINENO C2X MACR 0 1 ! 221: # 000a .file IFILE C2X MACR 0 1 ! 222: ! 223: # 000a .globl IGLOBAL EROU MACR 0 1 ! 224: # 000a .comm ICOMM COMM MACR 0 2 ! 225: # 000a .lcomm ILCOMM LCOMM MACR 0 2 ! 226: # 000a .set ISET SET MACR 0 2 ! 227: # 000a .lsym ILSYM C2X MACR 0 2 ! 228: # 000a .org IORG C2X MACR 0 1 ! 229: ! 230: # 000a .stab ISTAB C2X MACR 0 6 ! 231: # 000a .stabd ISTABDOT C2X MACR 0 3 ! 232: # 000a .stabn ISTABNONE C2X MACR 0 3 ! 233: # 000a .stabs ISTABSTR C2X MACR 0 3 ! 234: ! 235: # 000a .ABORT IABORT C2X MACR 0 0 ! 236: ! 237: ## Pseudo jumps ! 238: ! 239: # 000a jbc CBR JBC MACR 0x1e 1 B B ! 240: # 000a jbs CBR JBS MACR 0x0e 1 B B ! 241: ! 242: # 000a jbr CBR JBR MACR 0x11 1 B B ! 243: # 000a jcc CBR C2X MACR 0xf1 1 B B ! 244: # 000a jcs CBR C2X MACR 0xe1 1 B B ! 245: # 000a jvc CBR C2X MACR 0xc1 1 B B ! 246: # 000a jvs CBR C2X MACR 0xd1 1 B B ! 247: # 000a jlss CBR JLT MACR 0x91 1 B B ! 248: # 000a jlssu CBR JLO MACR 0xf1 1 B B ! 249: # 000a jleq CBR JLE MACR 0x51 1 B B ! 250: # 000a jlequ CBR JLOS MACR 0xb1 1 B B ! 251: # 000a jeql CBR JEQ MACR 0x31 1 B B ! 252: # 000a jeqlu CBR JEQ MACR 0x31 1 B B ! 253: # 000a jneq CBR JNE MACR 0x21 1 B B ! 254: # 000a jnequ CBR JNE MACR 0x21 1 B B ! 255: # 000a jgeq CBR JGE MACR 0x81 1 B B ! 256: # 000a jgequ CBR JHIS MACR 0xe1 1 B B ! 257: # 000a jgtr CBR JGT MACR 0x41 1 B B ! 258: # 000a jgtru CBR JHI MACR 0xa1 1 B B ! 259: ## ! 260: ## Registers ! 261: ## ! 262: # 000a r0 REG C2X MACR 0 0 ! 263: # 000a r1 REG C2X MACR 1 0 ! 264: # 000a r2 REG C2X MACR 2 0 ! 265: # 000a r3 REG C2X MACR 3 0 ! 266: # 000a r4 REG C2X MACR 4 0 ! 267: # 000a r5 REG C2X MACR 5 0 ! 268: # 000a r6 REG C2X MACR 6 0 ! 269: # 000a r7 REG C2X MACR 7 0 ! 270: # 000a r8 REG C2X MACR 8 0 ! 271: # 000a r9 REG C2X MACR 9 0 ! 272: # 000a r10 REG C2X MACR 10 0 ! 273: # 000a r11 REG C2X MACR 11 0 ! 274: # 000a r12 REG C2X MACR 12 0 ! 275: # 000a r13 REG C2X MACR 13 0 ! 276: # 000a r14 REG C2X MACR 14 0 ! 277: # 000a r15 REG C2X MACR 15 0 ! 278: # 000a fp REG C2X MACR 13 0 ! 279: # 000a sp REG C2X MACR 14 0 ! 280: # 000a pc REG C2X MACR 15 0 ! 281: ! 282: ## Normal instructions ! 283: ! 284: # 158a kcall HARD HARD 0xcf 1 R W ! 285: # 160a prober PROBER TN1 0xc0 3 R B A B R L ! 286: # 160a probew PROBEW TN1 0xd0 3 R B A B R L ! 287: # 161a rei HARD HARD 0x20 0 ! 288: # 163a ldpctx HARD HARD 0x60 0 ! 289: # 163b svpctx HARD HARD 0x70 0 ! 290: # 165a mtpr MTPR TN1 0xad 2 R L R L ! 291: # 165b mfpr MFPR TN1 0xbd 2 R L W L ! 292: # 169a bpt HARD HARD 0x30 0 ! 293: # 171a halt HARD HARD 0x00 0 ! 294: # 175a movb MOV TN1 0x09 2 R B W B ! 295: # 175b movw MOV TN1 0x0b 2 R W W W ! 296: # 175c movl MOV TN1 0x0d 2 R L W L ! 297: # 175d movblk HARD HARD 0xf8 0 ! 298: # 177a movob HARD HARD 0xc9 2 R B W B ! 299: # 177b movow HARD HARD 0xcb 2 R W W W ! 300: # 180a pushb PUSH TN1 0xd9 1 R B ! 301: # 180b pushw PUSH TN1 0xdb 1 R W ! 302: # 180a pushl PUSH TN1 0xdd 1 R L ! 303: # 180d pushd HARD HARD 0x67 0 ! 304: # 181a clrb CLR TN1 0x49 1 W B ! 305: # 181b clrw CLR TN1 0x4b 1 W W ! 306: # 181c clrl CLR TN1 0x4d 1 W L ! 307: # 182a mnegb NEG TN1 0xe8 2 R B W B ! 308: # 182b mnegw NEG TN1 0xea 2 R W W W ! 309: # 182c mnegl NEG TN1 0xec 2 R L W L ! 310: # 182d negf HARD HARD 0xb6 0 ! 311: # 182e negd HARD HARD 0xb7 0 ! 312: # 183a mcomb COM TN1 0x29 2 R B W B ! 313: # 183b mcomw COM TN1 0x2b 2 R W W W ! 314: # 183c mcoml COM TN1 0x2d 2 R L W L ! 315: # 184A cvtbw CVT TNX2 0x99 2 R B W W ! 316: # 184B cvtbl CVT TNX2 0x89 2 R B W L ! 317: # 184C cvtwb CVT TNX2 0x33 2 R W W B ! 318: # 184D cvtwl CVT TNX2 0x23 2 R W W L ! 319: # 184E cvtlb CVT TNX2 0x6f 2 R L W B ! 320: # 184F cvtlw CVT TNX2 0x7f 2 R L W W ! 321: # 184a cvfl CVT TN1 0x86 1 W L ! 322: # 184b cvdl CVT TN1 0x87 1 W L ! 323: # 184c cvlf CVT TN1 0x76 1 R L ! 324: # 184d cvld CVT TN1 0x77 1 R L ! 325: # 184e cvdf HARD HARD 0xa6 0 ! 326: # 187a movzbw MOVZ TNX2 0xb9 2 R B W W ! 327: # 187b movzbl MOVZ TNX2 0xa9 2 R B W L ! 328: # 187c movzwl MOVZ TNX2 0xc3 2 R W W L ! 329: # 188a cmpb CMP TN1 0x19 2 R B R B ! 330: # 188b cmpw CMP TN1 0x1b 2 R W R W ! 331: # 188c cmpl CMP TN1 0x1d 2 R L R L ! 332: # 188d cmpf CMP TN1 0x36 1 R F ! 333: # 188e cmpf2 CMP TN1 0x46 2 R F R F ! 334: # 188f cmpd CMP TN1 0x37 1 R D ! 335: # 188g cmpd2 CMP TN1 0x47 2 R D R D ! 336: # 189a incb INC TN1 0x69 1 M B ! 337: # 189b incw INC TN1 0x6b 1 M W ! 338: # 189c incl INC TN1 0x6d 1 M L ! 339: # 190a tstb TST TN1 0x59 1 R B ! 340: # 190b tstw TST TN1 0x5b 1 R W ! 341: # 190c tstl TST TN1 0x5d 1 R L ! 342: # 190d tstf HARD HARD 0x56 0 ! 343: # 190e tstd HARD HARD 0x57 0 ! 344: # 191a addb2 ADD OP 0x08 2 R B M B ! 345: # 191b addb3 ADD OP 0x18 3 R B R B W B ! 346: # 191c addw2 ADD OP 0x0a 2 R W M W ! 347: # 191d addw3 ADD OP 0x1a 3 R W R W W W ! 348: # 191e addl2 ADD OP 0x0c 2 R L M L ! 349: # 191f addl3 ADD OP 0x1c 3 R L R L W L ! 350: # 191g addf ADD OP 0xc6 1 R F ! 351: # 191h addd ADD OP 0xc7 1 R D ! 352: # 191i adda ADD OP 0x8e 2 R L M L ! 353: # 193a adwc HARD HARD 0x8d 2 R L M L ! 354: # 194a andb2 AND OP 0xa8 2 R B M B ! 355: # 194b andb3 AND OP 0xb8 3 R B R B W B ! 356: # 194c andw2 AND OP 0xaa 2 R W M W ! 357: # 194d andw3 AND OP 0xba 3 R W R W W W ! 358: # 194e andl2 AND OP 0xac 2 R L M L ! 359: # 194f andl3 AND OP 0xbc 3 R L R L W L ! 360: # 195c subb2 SUB OP 0x28 2 R B M B ! 361: # 195d subb3 SUB OP 0x38 3 R B R B W B ! 362: # 195e subw2 SUB OP 0x2a 2 R W M W ! 363: # 195f subw3 SUB OP 0x3a 3 R W R W W W ! 364: # 195g subl2 SUB OP 0x2c 2 R L M L ! 365: # 195h subl3 SUB OP 0x3c 3 R L R L W L ! 366: # 195i subf SUB OP 0xd6 1 R F ! 367: # 195j subd SUB OP 0xd7 1 R D ! 368: # 195k suba SUB OP 0x9e 2 R L M L ! 369: # 197a decb DEC TN1 0x79 1 M B ! 370: # 197b decw DEC TN1 0x7b 1 M W ! 371: # 197c decl DEC TN1 0x7d 1 M L ! 372: # 198a sbwc HARD HARD 0x9d 2 R L M L ! 373: # 199a mull2 MUL OP 0x4c 2 R L M L ! 374: # 199b mull3 MUL OP 0x5c 3 R L R L W L ! 375: # 199c mulf MUL OP 0xe6 1 R F ! 376: # 199d muld MUL OP 0xe7 1 R D ! 377: # 201a emul HARD HARD 0x2e 4 R L R L R L W Q ! 378: # 204a divl2 DIV OP 0x6c 2 R L M L ! 379: # 204b divl3 DIV OP 0x7c 3 R L R L W L ! 380: # 204c divf DIV OP 0xf6 1 R F ! 381: # 204d divd DIV OP 0xf7 1 R D ! 382: # 205a ediv HARD HARD 0x3e 4 R L R Q W L W L ! 383: # 207a bitb BIT TN1 0x39 2 R B R B ! 384: # 207b bitw BIT TN1 0x3b 2 R W R W ! 385: # 207c bitl BIT TN1 0x3d 2 R L R L ! 386: # 208a ldf HARD HARD 0x06 1 R F ! 387: # 208b ldd HARD HARD 0x07 1 R D ! 388: # 208c ldfd HARD HARD 0x97 1 R F ! 389: # 208d lnf HARD HARD 0x16 1 R F ! 390: # 208e lnd HARD HARD 0x17 1 R D ! 391: # 208f stf HARD HARD 0x26 1 W F ! 392: # 208g std HARD HARD 0x27 1 W D ! 393: # 209a orb2 OR OP 0x88 2 R B M B ! 394: # 209b orb3 OR OP 0x98 3 R B R B W B ! 395: # 209c orw2 OR OP 0x8a 2 R W M W ! 396: # 209d orw3 OR OP 0x9a 3 R W R W W W ! 397: # 209e orl2 OR OP 0x8c 2 R L M L ! 398: # 209f orl3 OR OP 0x9c 3 R L R L W L ! 399: # 210a xorb2 XOR OP 0xc8 2 R B M B ! 400: # 210b xorb3 XOR OP 0xd8 3 R B R B W B ! 401: # 210c xorw2 XOR OP 0xca 2 R W M W ! 402: # 210d xorw3 XOR OP 0xda 3 R W R W W W ! 403: # 210e xorl2 XOR OP 0xcc 2 R L M L ! 404: # 210f xorl3 XOR OP 0xdc 3 R L R L W L ! 405: # 211a shal HARD HARD 0x4e 3 R B R L W L ! 406: # 211b shar HARD HARD 0x5e 3 R B R L W L ! 407: # 212a shll HARD HARD 0x48 3 R B R L W L ! 408: # 212b shlq HARD HARD 0x4a 3 R B R Q W Q ! 409: # 212c shrl HARD HARD 0x58 3 R B R L W L ! 410: # 212c shrq HARD HARD 0x5a 3 R B R Q W Q ! 411: # 220a storer HARD HARD 0xbb 2 R W A L ! 412: # 221a loadr HARD HARD 0xab 2 R W A L ! 413: # 222a movpsl HARD HARD 0xcd 1 W L ! 414: # 223a bispsw HARD HARD 0x8b 1 R W ! 415: # 223b bicpsw HARD HARD 0x9b 1 R W ! 416: # 224a movab MOVA TN1 0xe9 2 A B W L ! 417: # 224a pushab PUSHA TN1 0xf9 1 A B ! 418: # 224b movaw MOVA TN1 0xeb 2 A W W L ! 419: # 224b pushaw PUSHA TN1 0xfb 1 A W ! 420: # 224c moval MOVA TN1 0xed 2 A L W L ! 421: # 224c pushal PUSHA TN1 0xfd 1 A L ! 422: # 232a insque HARD HARD 0xe0 2 A L A L ! 423: # 234a remque HARD HARD 0xf0 1 A L ! 424: # 251a ffc HARD HARD 0xbe 2 R L W L ! 425: # 251b ffs HARD HARD 0xae 2 R L W L ! 426: # 261a bneq CBR JNE 0x21 1 B B ! 427: # 261b bnequ CBR JNE 0x21 1 B B ! 428: # 261c beql CBR JEQ 0x31 1 B B ! 429: # 261d beqlu CBR JEQ 0x31 1 B B ! 430: # 261e bgtr CBR JGT 0x41 1 B B ! 431: # 261f bleq CBR JLE 0x51 1 B B ! 432: # 261g bgeq CBR JGE 0x81 1 B B ! 433: # 261h blss CBR JLT 0x91 1 B B ! 434: # 261i bgtru CBR JHI 0xa1 1 B B ! 435: # 261j blequ CBR JLOS 0xb1 1 B B ! 436: # 261k bvc CBR 0 0xc1 1 B B ! 437: # 261l bvs CBR 0 0xd1 1 B B ! 438: # 261m bgequ CBR JHIS 0xe1 1 B B ! 439: # 261n bcc CBR JHIS 0xf1 1 B B ! 440: # 261o blssu CBR JLO 0xf1 1 B B ! 441: # 261p bcs CBR JLO 0xe1 1 B B ! 442: # 261q btcs CBR 0 0xce 1 R B ! 443: # 263a brb JBR S 0x11 1 B B ! 444: # 263b brw JBR S 0x13 1 B W ! 445: # 263c jmp JMP S 0x71 1 A B ! 446: # 264a bbs CBR JBS 0x0e 3 R L R L B W ! 447: # 264b bbc CBR JBC 0x1e 3 R L R L B W ! 448: # 266a bbssi CBR JBSS 0x5f 3 R L M L B W ! 449: # 270a aoblss AOBLSS S 0x2f 3 R L M L B W ! 450: # 270b aobleq AOBLEQ S 0x3f 3 R L M L B W ! 451: # 273a casel CASE TN1 0xfc 3 R L R L R L ! 452: # 282a calls CALL S 0xbf 2 R B A B ! 453: # 282b callf CALL S 0xfe 2 R B A B ! 454: # 284a ret JBR RET 0x40 0 ! 455: # 288a movs2 HARD HARD 0x82 0 ! 456: # 288b movs3 HARD HARD 0xc2 0 ! 457: # 294a cmps2 HARD HARD 0x92 0 ! 458: # 294b cmps3 HARD HARD 0xd2 0 ! 459: # 300a sinf HARD HARD 0x05 0 ! 460: # 300b cosf HARD HARD 0x15 0 ! 461: # 300c atanf HARD HARD 0x25 0 ! 462: # 300d logf HARD HARD 0x35 0 ! 463: # 300e sqrtf HARD HARD 0x45 0 ! 464: # 300f expf HARD HARD 0x55 0 ! 465: # 385a nop HARD HARD 0x10 0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.