|
|
1.1 ! root 1: # ! 2: # @(#)awkprog 1.1 86/02/03 SMI ! 3: # ! 4: BEGIN{ ! 5: flavor = "AS" ! 6: FS = " " ! 7: } ! 8: { ! 9: if (NF == 0){ ! 10: printf("\n") ! 11: next ! 12: } ! 13: if ($1 == "FLAVOR"){ ! 14: flavor = $2 ! 15: next ! 16: } ! 17: if ($1 == "##"){ ! 18: next ! 19: } ! 20: if ($9 == "" ){ ! 21: $9 = 0 ! 22: } else if ( $9 == "68020"){ ! 23: $9 = "I20" ! 24: } else if ( $9 == "68881"){ ! 25: $9 = "I81" ! 26: } else { ! 27: next ! 28: } ! 29: nop = split( $2, op, "," ) ! 30: noperand = split( $5, touch, ",") ! 31: if (flavor == "C2"){ ! 32: if ( nop == 2){ ! 33: $2 = op[2] ! 34: } ! 35: printf( "I(\"%s\", OP_%s, SUBOP_%s, ", $1, $2, $3 ) ! 36: if (touch[1] == "X"){ ! 37: printf("T_X, ") ! 38: } else { ! 39: if (noperand == 1){ ! 40: printf("T_ONE(%s),", $5) ! 41: } else if (noperand == 2){ ! 42: printf("T_TWO(%s),", $5) ! 43: } else { ! 44: printf("T_THREE(%s),",$5) ! 45: } ! 46: } ! 47: print " {" $6 "}, " $7 ", " $8 ")" ! 48: } else if (flavor == "AS"){ ! 49: if ( $2 == "PSEUDO"){ ! 50: nop = split( $3, op, "," ) ! 51: if ($8 == "") $8 = "0" ! 52: naccess = split( $8, access, ",") ! 53: printf( "P(\"%s\", %s, OP_%s, SUBOP_%s, %d, %d, %d, ", $1, op[1], op[2], $4, $5, $6, $7 ) ! 54: if (naccess==1){ ! 55: printf("A_ONE( %s )", $8 ) ! 56: } else if (naccess==2){ ! 57: printf("A_TWO( %s )", $8 ) ! 58: } else printf("help") ! 59: print ")\n" ! 60: next ! 61: } ! 62: naccess = split( $6, access, ",") ! 63: ncode = split( $4, code, "," ) ! 64: if (touch[1] == "X"){ ! 65: noperand = 0 ! 66: $6 = 0 ! 67: } ! 68: if (op[1] == "BRANCH" ){ ! 69: if ($1 ~ /b..s/ ){ ! 70: op[1] = "BRNCHS" ! 71: } else if ( $1 ~ /b..l/){ ! 72: op[1] = "BRNCHL" ! 73: } ! 74: if (op[2]==""){ ! 75: op[2] = "BRANCH" ! 76: } ! 77: } ! 78: if (op[2] == "") op[2] = "OTHER" ! 79: if (length($3) == 1) $3 = "SUBOP_" $3 ! 80: printf("I(\"%s\", %s, OP_%s, %s, ", $1, op[1], op[2], $3 ) ! 81: printf("%d, ", noperand) ! 82: if (touch[1] == "X"){ ! 83: printf("T_X, ") ! 84: } else { ! 85: if (noperand == 1){ ! 86: printf("T_ONE(%s),", $5) ! 87: } else if (noperand == 2){ ! 88: printf("T_TWO(%s),", $5) ! 89: } else { ! 90: printf("T_THREE(%s),",$5) ! 91: } ! 92: } ! 93: if (ncode==1) { ! 94: printf("A_ONE(%s), ",$4) ! 95: } else if (ncode==2){ ! 96: printf("A_TWO(%s, %s), ",code[1], code[2]) ! 97: } else if (ncode==3){ ! 98: printf("A_TH3(%s, %s, %s), ",code[1], code[2], code[3] ) ! 99: } else if (ncode==4){ ! 100: printf("A_4R(%s, %s, %s, %s), ", code[1], code[2], code[3], code[4] ) ! 101: } else { ! 102: printf("A_5V(%s, %s, %s, %s, %s), ", code[1], code[2], code[3], code[4], code[5] ) ! 103: } ! 104: if (naccess == 1){ ! 105: printf("A_ONE(%s) ", access[1] ) ! 106: } else if (naccess==2){ ! 107: printf("A_TWO(%s, %s) ", access[1], access[2] ) ! 108: } else if (naccess==3){ ! 109: printf("A_TH3(%s, %s, %s) ", access[1], access[2], access[3] ) ! 110: } else if (naccess==4){ ! 111: printf("A_4R(%s, %s, %s, %s) ", access[1], access[2], access[3], access[4] ) ! 112: } else if (naccess==5){ ! 113: printf("A_5V(%s, %s, %s, %s, %s) ", access[1], access[2], access[3], access[4], access[5] ) ! 114: } else if (naccess==6){ ! 115: printf("A_6X(%s, %s, %s, %s, %s, %s) ", access[1], access[2], access[3], access[4], access[5], access[6] ) ! 116: } else if (naccess==7){ ! 117: printf("A_SEVEN(%s, %s, %s, %s, %s, %s, %s) ", access[1], access[2], access[3], access[4], access[5], access[6], access[7] ) ! 118: } else if (naccess==8){ ! 119: printf("A_EIGHT(%s, %s, %s, %s, %s, %s, %s, %s) ", access[1], access[2], access[3], access[4], access[5], access[6], access[7], access[8] ) ! 120: } ! 121: printf( ", %s )\n", $9 ) ! 122: } else { ! 123: print "FLAVOR IS " flavor ! 124: exit ! 125: } ! 126: next ! 127: ! 128: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.