4 * (C) Copyright 1993-2002
19 register struct expr *esp;
22 register struct area *espa;
26 if ((c = getnb()) == '#') {
28 esp->e_mode = S_IMMED;
29 } else if (c == ',') {
47 } else if (c == '*') {
50 if (esp->e_addr & ~0xFF)
74 if ((esp->e_mode = admode(axs)) != 0) {
78 espa = esp->e_base.e_ap;
83 if (esp->e_flag == 0 &&
85 (espv & ~0xFF) == 0) {
126 return (esp->e_mode);
130 * Enter admode() to search a specific addressing mode table
131 * for a match. Return the addressing value on a match or
136 register struct adsym *sp;
146 while ( *(ptr = &sp[i].a_str[0]) ) {
157 * srch --- does string match ?
166 while (*ptr && *str) {
167 if(ccase[*ptr & 0x007F] != ccase[*str & 0x007F])
172 if (ccase[*ptr & 0x007F] == ccase[*str & 0x007F]) {
178 if (any(*ptr," \t\n,];")) {
186 * any --- does str contain c?
199 struct adsym axs[] = { /* a, x, or s registers */