2 |
- |
1 |
# include "t.h"
|
|
|
2 |
/* tr.c: number register allocation */
|
|
|
3 |
char *nregs[] = {
|
|
|
4 |
/* this array must have at least 3*qcol entries
|
|
|
5 |
or illegal register names will result */
|
|
|
6 |
"40", "41", "42", "43", "44", "45", "46", "47", "48", "49",
|
|
|
7 |
"50", "51", "52", "53", "54", "55", "56", "57", "58", "59",
|
|
|
8 |
"60", "61", "62", "63", "64", "65", "66", "67", "68", "69",
|
|
|
9 |
"70", "71", "72", "73", "74", "75", "76", "77", "78", "79",
|
|
|
10 |
"80", "81", "82", "83", "84", "85", "86", "87", "88", "89",
|
|
|
11 |
"90", "91", "92", "93", "94", "95", "96", "97", "4q", "4r",
|
|
|
12 |
"4s", "4t", "4u", "4v", "4w", "4x", "4y", "4z", "4;", "4.",
|
|
|
13 |
"4a", "4b", "4c", "4d", "4e", "4f", "4g", "4h", "4i", "4j",
|
|
|
14 |
"4k", "4l", "4m", "4n", "4o", "4p", "5a", "5b", "5c", "5d",
|
|
|
15 |
"5e", "5f", "5g", "5h", "5i", "5j", "5k", "5l", "5m", "5n",
|
|
|
16 |
"5o", "5p", "5q", "5r", "5s", "5t", "5u", "5v", "5w", "5x",
|
|
|
17 |
|
|
|
18 |
};
|
|
|
19 |
|
|
|
20 |
char *
|
|
|
21 |
reg(int col, int place)
|
|
|
22 |
{
|
|
|
23 |
if (nelem(nregs) - 1 < 3 * qcol)
|
|
|
24 |
error("Too many columns for registers");
|
|
|
25 |
return (nregs[qcol*place+col]);
|
|
|
26 |
}
|