17 a = strtol(line, &line, 10);
20 b = strtol(line, &line, 10);
32 if(setjmp(errjmp) == 1)
34 m = strtol(line, &line, 10);
35 if((f = getf(line)) == -1)
37 print("%d\n", V(cells[m], f));
49 if(setjmp(errjmp) == 1)
80 if((f = getf(line)) == -1)
83 print("%d\n", V(reg, f));
95 l = strtol(line, nil, 10);
108 print("Assembly complete\n");
115 file = estrdup(strim(l));
116 if(asmfile(file) == -1) {
120 Binit(&bin, 0, OREAD);
126 filename = "<stdin>";
127 if(setjmp(errjmp) == 0)
130 Binit(&bin, 0, OREAD);
139 line = strskip(line);
143 l = strtol(line, nil, 10);
144 if(l < 0 || l > 4000)
146 print("%I\n", cells[l]);
151 mixprint(int m, int words)
161 for(i = 4; i > -1; i--)
162 *rp++ = mixtorune(w>>i*BITS & MASK1);
174 line = strskip(line);
177 l = strtol(strskip(line+1), &line, 10);
178 line = strskip(line);
181 i = strtol(strskip(line+1), &line, 10);
182 line = strskip(line);
188 l = strtol(line, nil, 10);
200 clearsyms((Sym*)s->c[0]);
201 clearsyms((Sym*)s->c[1]);
212 Binit(&bin, 0, OREAD);
214 if(go && vmstart != -1) {
222 if((line = Brdline(&bin, '\n')) == nil)
225 if((len = Blinelen(&bin)) == 1)
231 switch(c = line[0]) {
242 if(asm(line+1) == -1)
246 if(breakp(line+1) == -1)
250 ra = rx = ri[0] = ri[1] = ri[2] = ri[3] = ri[4] = ri[5] = ri[6] = 0;
251 memset(cells, 0, sizeof(cells));
254 clearsyms((Sym*)syms->root);
259 if(disasm(line+1) == -1)
263 if(out(line+1) == -1)
267 if(dispreg(line+1) == -1)
276 if(setjmp(errjmp) == 0)
277 vmstart = mixvm(vmstart, once);
285 print("at %d:\t%I\n", vmstart, cells[vmstart]);