Implemented : for ; without LIT2
This commit is contained in:
parent
65c3a72730
commit
f06a600231
|
@ -212,6 +212,7 @@ walktoken(char *w)
|
||||||
case ']': return 0;
|
case ']': return 0;
|
||||||
case '.': return 2; /* zero-page: LIT addr-lb */
|
case '.': return 2; /* zero-page: LIT addr-lb */
|
||||||
case ',': return 2; /* relative: LIT addr-rel */
|
case ',': return 2; /* relative: LIT addr-rel */
|
||||||
|
case ':': return 2; /* absolute: addr-hb addr-lb */
|
||||||
case ';': return 3; /* absolute: LIT addr-hb addr-lb */
|
case ';': return 3; /* absolute: LIT addr-hb addr-lb */
|
||||||
case '$': return shex(w + 1);
|
case '$': return shex(w + 1);
|
||||||
case '#': return slen(w + 1) == 4 ? 3 : 2;
|
case '#': return slen(w + 1) == 4 ? 3 : 2;
|
||||||
|
@ -239,6 +240,9 @@ parsetoken(char *w)
|
||||||
return error("Address is too far", w);
|
return error("Address is too far", w);
|
||||||
pushbyte((Sint8)off, 1);
|
pushbyte((Sint8)off, 1);
|
||||||
return ++l->refs;
|
return ++l->refs;
|
||||||
|
} else if(w[0] == ':' && (l = findlabel(w + 1))) { /* absolute */
|
||||||
|
pushshort(l->addr, 0);
|
||||||
|
return ++l->refs;
|
||||||
} else if(w[0] == ';' && (l = findlabel(w + 1))) { /* absolute */
|
} else if(w[0] == ';' && (l = findlabel(w + 1))) { /* absolute */
|
||||||
pushshort(l->addr, 1);
|
pushshort(l->addr, 1);
|
||||||
return ++l->refs;
|
return ++l->refs;
|
||||||
|
|
Loading…
Reference in New Issue