|
...
|
...
|
@@ -308,6 +308,7 @@ parse(char *w, FILE *f)
|
|
308
|
308
|
case '&': /* sublabel */
|
|
309
|
309
|
if(!makelabel(sublabel(subw, p.scope, w + 1)))
|
|
310
|
310
|
return error("Invalid sublabel", w);
|
|
|
311
|
+ findlabel(p.scope)->refs++;
|
|
311
|
312
|
litlast = 0;
|
|
312
|
313
|
break;
|
|
313
|
314
|
case '#': /* literals hex */
|
|
...
|
...
|
@@ -343,8 +344,10 @@ parse(char *w, FILE *f)
|
|
343
|
344
|
while((c = w[++i]))
|
|
344
|
345
|
if(!writebyte(c)) return 0;
|
|
345
|
346
|
break;
|
|
346
|
|
- case '[': if (slen(w) == 1) break; /* else FALLTHROUGH */
|
|
347
|
|
- case ']': if (slen(w) == 1) break; /* else FALLTHROUGH */
|
|
|
347
|
+ case '[':
|
|
|
348
|
+ if(slen(w) == 1) break; /* else FALLTHROUGH */
|
|
|
349
|
+ case ']':
|
|
|
350
|
+ if(slen(w) == 1) break; /* else FALLTHROUGH */
|
|
348
|
351
|
default:
|
|
349
|
352
|
/* opcode */
|
|
350
|
353
|
if(findopcode(w) || scmp(w, "BRK", 4)) {
|