- proc.c: fencepost error - print.c, etc: use erealloc - main.c: add kernel wiggles - lex.c: handle unicode, and use "acid; " as the prompt - dot.c: add ocdot (see /sys/doc/acid.ms) - dbg.y: allow nil members list - cvtitoa: handle signed/vs unsigned - builtin: handle redirection overflow - itoafmt: handle full range of integer sizes Reference: /n/atom/patch/applied2013/acidcdot Date: Wed Jun 19 17:53:19 CES 2013 Signed-off-by: quanstro@quanstro.net --- /sys/src/cmd/acid/acid.h Wed Jun 19 17:53:08 2013 +++ /sys/src/cmd/acid/acid.h Wed Jun 19 17:53:08 2013 @@ -189,6 +189,8 @@ void deinstall(int); void delete(List*, int n, Node*); void dostop(int); +void* emalloc(long); +void* erealloc(void*, long); Lsym* enter(char*, int); void error(char*, ...); void execute(Node*); @@ -214,8 +216,9 @@ void notes(int); int nproc(char**); void nthelem(List*, int, Node*); -int numsym(char); +int numsym(Rune); void odot(Node*, Node*); +void ocdot(Node*, Node*); void pcode(Node*, int); void pexpr(Node*); int popio(void); @@ -292,6 +295,7 @@ OINDEX, OINDC, ODOT, + OCDOT, OLOCAL, OFRAME, OCOMPLEX, --- /sys/src/cmd/acid/builtin.c Wed Jun 19 17:53:08 2013 +++ /sys/src/cmd/acid/builtin.c Wed Jun 19 17:53:08 2013 @@ -94,10 +94,10 @@ void mkprint(Lsym *s) { - prnt = malloc(sizeof(Node)); + prnt = gmalloc(sizeof(Node)); memset(prnt, 0, sizeof(Node)); prnt->op = OCALL; - prnt->left = malloc(sizeof(Node)); + prnt->left = gmalloc(sizeof(Node)); memset(prnt->left, 0, sizeof(Node)); prnt->left->sym = s; } @@ -593,6 +593,10 @@ free(db); buf = malloc(n); + if(buf == nil){ + close(fd); + error("readfile: malloc fail: %r"); + } n = read(fd, buf, n); if(n > 0) { @@ -686,59 +690,101 @@ r->fmt = 'V'; } -static char *fmtflags = "-0123456789. #,u"; -static char *fmtverbs = "bdox"; +static Rune vtab[] = L"dxXob"; +static char ftab[] = "0123456789,+- #"; +static char itab[] = "lh"; +static char *wtab[] = {[1] "hh", [2] "h", [4] "", [8] "ll", }; +extern int fsize[]; + +static char* +itoafmt(char *s, int slen, char *fmt, Node *n) +{ + char *u; + int i, f; + Rune r; + static char buf[100], ebuf[100]; -static int -acidfmt(char *fmt, char *buf, int blen) -{ - char *r, *w, *e; - - w = buf; - e = buf+blen; - for(r=fmt; *r; r++){ - if(w >= e) - return -1; - if(*r != '%'){ - *w++ = *r; + memset(buf, 0, sizeof buf); + i = 0; + f = -1; + u = ""; + + for(;;){ + if(i + 3 + UTFmax + 1 >= sizeof buf) + return "fmt too large"; + fmt += chartorune(&r, fmt); + if(r == 0) + break; + if(f == -1){ + i += runetochar(buf+i, &r); + if(r == '%') + f = 0; continue; } - if(*r == '%'){ - *w++ = *r++; - if(*r == '%'){ - if(w >= e) - return -1; - *w++ = *r; - continue; - } - while(*r && strchr(fmtflags, *r)){ - if(w >= e) - return -1; - *w++ = *r++; - } - if(*r == 0 || strchr(fmtverbs, *r) == nil) - return -1; - if(w+3 > e) - return -1; - *w++ = 'l'; - *w++ = 'l'; - *w++ = *r; + if(rfmt]], u, r); + break; } + snprint(ebuf, sizeof ebuf, "unexpected fmt character %C", r); + return ebuf; } - if(w >= e) - return -1; - *w = 0; - return 0; + if(f != 2) + return "no verb"; + if(strlen(fmt) + i > sizeof buf - 2) + return "fmt too long"; + + /* trailing stuff */ + memcpy(buf+i, fmt, strlen(fmt)); + i += strlen(fmt); + + buf[i] = 0; + +// print("fsize[n->fmt] = <%c> %d\n", n->fmt, fsize[n->fmt]); + switch(fsize[n->fmt]){ + default: + error("acid: internal error: type %d has size %d", n->type, fsize[n->type]); + case 1: + snprint(s, slen, buf, (uchar)n->ival); + break; + case 2: + snprint(s, slen, buf, (ushort)n->ival); + break; + case 4: + snprint(s, slen, buf, (uint)n->ival); + break; + case 8: + snprint(s, slen, buf, n->ival); + break; + } + + return nil; } void cvtitoa(Node *r, Node *args) { - Node res; + Node n, str; Node *av[Maxarg]; - vlong ival; - char buf[128], fmt[32]; + char buf[128], *e, *fmt; if(args == 0) err: @@ -747,20 +793,25 @@ flatten(av, args); if(na == 0 || na > 2) goto err; - expr(av[0], &res); - if(res.type != TINT) + expr(av[0], &n); + if(n.type != TINT) error("itoa(number [, fmt]): arg type"); - ival = res.ival; - strncpy(fmt, "%lld", sizeof(fmt)); + if(na == 2){ - expr(av[1], &res); - if(res.type != TSTRING) + expr(av[1], &str); + if(str.type != TSTRING) error("itoa(number [, fmt]): fmt type"); - if(acidfmt(res.string->string, fmt, sizeof(buf))) - error("itoa(number [, fmt]): malformed fmt"); + fmt = str.string->string; } + else if(n.fmt == 'U' || n.fmt == 'u') + fmt = "%llud"; + else + fmt = "%lld"; + + e = itoafmt(buf, sizeof buf, fmt, &n); + if(e != nil) + error("itoa(number [, fmt]): %s", e); - snprint(buf, sizeof(buf), fmt, ival); r->op = OCONST; r->type = TSTRING; r->string = strnode(buf); @@ -1189,6 +1240,8 @@ Binit(b, fd, OWRITE); Bflush(bout); + if(iop == nelem(io)) + sysfatal("printto: too many redirections; make io[] bigger"); io[iop++] = bout; bout = b; --- /sys/src/cmd/acid/dbg.y Wed Jun 19 17:53:08 2013 +++ /sys/src/cmd/acid/dbg.y Wed Jun 19 17:53:08 2013 @@ -33,7 +33,7 @@ %left Tlsh Trsh %left '+' '-' %left '*' '/' '%' -%right Tdec Tinc Tindir '.' '[' '(' +%right Tdec Tinc Tindir '.' Tcdot '[' '(' %token Tid %token Tconst Tfmt @@ -77,11 +77,8 @@ zsemi : | ';' zsemi -members : - { - $$ = nil; - } - | member members +members : member + | members member { $$ = an(OLIST, $1, $2); } @@ -350,6 +347,11 @@ | term '.' Tid { $$ = an(ODOT, $1, ZN); + $$->sym = $3; + } + | term Tcdot Tid + { + $$ = an(OCDOT, $1, ZN); $$->sym = $3; } | term Tindir Tid --- /sys/src/cmd/acid/dot.c Wed Jun 19 17:53:08 2013 +++ /sys/src/cmd/acid/dot.c Wed Jun 19 17:53:08 2013 @@ -61,6 +61,40 @@ } +void +ocdot(Node *n, Node *r) +{ + char *s; + Type *t; + Node res; + uvlong addr; + + s = n->sym->name; + if(s == 0) + fatal("dodot: no tag"); + + expr(n->left, &res); + if(res.comt == 0) + error("no type specified for (expr).%s", s); + + if(res.type != TINT) + error("pointer must be integer for (expr).%s", s); + + t = srch(res.comt, s); + if(t == 0) + error("no tag for (expr).%s", s); + +// /* Propagate types */ +// if(t->type) +// r->comt = t->type->lt; + + addr = res.ival+t->offset; + r->op = OCONST; + r->fmt = 'X'; + r->type = TINT; + r->ival = addr; +} + static Type **tail; static Lsym *base; @@ -82,7 +116,7 @@ buildtype(m->left, d+1); break; default: - t = malloc(sizeof(Type)); + t = emalloc(sizeof(Type)); t->next = 0; t->depth = d; t->tag = m->sym; @@ -141,9 +175,7 @@ return; } } - f = malloc(sizeof(Frtype)); - if(f == 0) - fatal("out of memory"); + f = emalloc(sizeof(Frtype)); f->type = type->lt; --- /sys/src/cmd/acid/expr.c Wed Jun 19 17:53:08 2013 +++ /sys/src/cmd/acid/expr.c Wed Jun 19 17:53:08 2013 @@ -6,7 +6,7 @@ #define Extern extern #include "acid.h" -static int fsize[] = +int fsize[] = { ['A'] 4, ['B'] 4, @@ -47,6 +47,7 @@ switch(v->fmt) { default: + assert(v->fmt < nelem(fsize)); return fsize[v->fmt]; case 'i': case 'I': @@ -1030,6 +1031,7 @@ [OINDEX] oindex, [OINDC] oindc, [ODOT] odot, + [OCDOT] ocdot, [OLOCAL] 0, [OFRAME] oframe, [OCOMPLEX] 0, --- /sys/src/cmd/acid/lex.c Wed Jun 19 17:53:08 2013 +++ /sys/src/cmd/acid/lex.c Wed Jun 19 17:53:08 2013 @@ -37,7 +37,7 @@ 0, 0 }; -char cmap[256] = +char cmap[] = { ['0'] '\0'+1, ['n'] '\n'+1, @@ -67,6 +67,7 @@ int line; char *text; char *ip; + char *start; Biobuf *fin; IOstack *prev; }; @@ -88,9 +89,7 @@ if(b == 0) error("pushfile: %s: %r", file); - io = malloc(sizeof(IOstack)); - if(io == 0) - fatal("no memory"); + io = emalloc(sizeof(IOstack)); io->name = strdup(file); if(io->name == 0) fatal("no memory"); @@ -107,9 +106,7 @@ { IOstack *io; - io = malloc(sizeof(IOstack)); - if(io == 0) - fatal("no memory"); + io = gmalloc(sizeof(IOstack)); io->line = line; line = 1; io->name = strdup(""); @@ -121,6 +118,7 @@ if(io->text == 0) fatal("no memory"); io->ip = io->text; + io->start = io->ip; io->fin = 0; io->prev = lexio; lexio = io; @@ -182,40 +180,43 @@ } void -unlexc(int s) +unlexc(int c) { - if(s == '\n') + if(c == '\n') line--; if(lexio->fin) - Bungetc(lexio->fin); - else - lexio->ip--; + Bungetrune(lexio->fin); + else{ + lexio->ip -= runelen(c); + assert(lexio->ip >= lexio->start); + } } int lexc(void) { - int c; + int r; + Rune c; if(lexio->fin) { - c = Bgetc(lexio->fin); + r = Bgetrune(lexio->fin); if(gotint) error("interrupt"); - return c; + return r; } - c = *lexio->ip++; + lexio->ip += chartorune(&c, lexio->ip); if(c == 0) return -1; return c; } int -escchar(char c) +escchar(int c) { - int n; char buf[Strsize]; + int n; if(c >= '0' && c <= '9') { n = 1; @@ -224,7 +225,7 @@ c = lexc(); if(c == Eof) error("%d: in escape sequence", line); - if(strchr("0123456789xX", c) == 0) { + if(c >= Runeself || strchr("0123456789xX", c) == 0) { unlexc(c); break; } @@ -236,7 +237,9 @@ return strtol(buf, 0, 0); } - n = cmap[c]; + n = 0; + if(c < nelem(cmap)) + n = cmap[c]; if(n == 0) return c; return n-1; @@ -247,6 +250,7 @@ { int esc, c, cnt; char buf[Strsize]; + Rune r; esc = 0; for(cnt = 0;;) { @@ -276,10 +280,11 @@ c = escchar(c); esc = 0; } - buf[cnt++] = c; + r = c; + cnt += runetochar(buf+cnt, &r); break; } - if(cnt >= Strsize) + if(cnt >= Strsize - UTFmax - 1) error("string token too long"); } done: @@ -318,6 +323,7 @@ stacked = 0; needprompt = 0; Bprint(bout, "\nacid; "); + Bprint(bout, "\nacid: "); goto loop; } return Eof; @@ -356,7 +362,10 @@ return numsym('.'); return '.'; - + + case L'·': + return Tcdot; + case '(': case ')': case '[': @@ -470,14 +479,13 @@ } int -numsym(char first) +numsym(Rune first) { int c, isbin, isfloat, ishex; char *sel, *p; Lsym *s; - symbol[0] = first; - p = symbol; + p = symbol+runetochar(symbol, &first); ishex = 0; isbin = 0; @@ -485,7 +493,7 @@ if(first == '.') isfloat = 1; - if(isdigit(*p++) || isfloat) { + if(isdigit(symbol[0]) || isfloat) { for(;;) { c = lexc(); if(c < 0) @@ -532,11 +540,12 @@ error("%d eating symbols", line); if(c == '\n') line++; - if(c != '_' && c != '$' && c <= '~' && !isalnum(c)) { /* checking against ~ lets UTF names through */ + if(c != '_' && c != '$' && c < Runeself && !isalnum(c) || c == L'·') { unlexc(c); break; } - *p++ = c; + first = c; + p += runetochar(p, &first); } *p = '\0'; --- /sys/src/cmd/acid/main.c Wed Jun 19 17:53:08 2013 +++ /sys/src/cmd/acid/main.c Wed Jun 19 17:53:08 2013 @@ -261,8 +261,10 @@ if(mtype != 0){ symmap = newmap(0, 1); - if(symmap == 0) + if(symmap == nil) print("%s: (error) loadmap: cannot make symbol map\n", argv0); + else + symmap->kernel = kernel; length = 1<<24; d = dirfstat(text); if(d != nil){ @@ -281,8 +283,10 @@ } symmap = loadmap(0, text, &fhdr); - if(symmap == 0) + if(symmap == nil) print("%s: (error) loadmap: cannot make symbol map\n", argv0); + else + symmap->kernel = kernel; if(syminit(text, &fhdr) < 0) { print("%s: (error) syminit: %r\n", argv0); @@ -492,6 +496,26 @@ dogc += l; p = malloc(l); if(p == 0) + fatal("out of memory"); + return p; +} + +void* +emalloc(long l) +{ + void *p; + + p = malloc(l); + if(p == 0) + fatal("out of memory"); + return p; +} + +void* +erealloc(void *p, long l) +{ + p = realloc(p, l); + if(l>0 && p == nil) fatal("out of memory"); return p; } --- /sys/src/cmd/acid/print.c Wed Jun 19 17:53:08 2013 +++ /sys/src/cmd/acid/print.c Wed Jun 19 17:53:08 2013 @@ -58,9 +58,7 @@ max = 0; f = 0; g = 100; - vec = malloc(sizeof(char*)*g); - if(vec == 0) - fatal("out of memory"); + vec = emalloc(sizeof(char*)*g); for(i = 0; i < Hashsize; i++) { for(l = hash[i]; l; l = l->hash) { @@ -71,14 +69,12 @@ max = n; if(f >= g) { g *= 2; - vec = realloc(vec, sizeof(char*)*g); - if(vec == 0) - fatal("out of memory"); + vec = erealloc(vec, sizeof(char*)*g); } vec[f++] = l->name; } } - qsort(vec, f, sizeof(char*), cmp); + qsort(vec, f, sizeof(char*), cmp); max++; col = 60/max; s = (f+col-1)/col; @@ -88,6 +84,7 @@ Bprint(bout, "%-*s", max, vec[j]); Bprint(bout, "\n"); } + free(vec); } void --- /sys/src/cmd/acid/proc.c Wed Jun 19 17:53:08 2013 +++ /sys/src/cmd/acid/proc.c Wed Jun 19 17:53:08 2013 @@ -103,7 +103,7 @@ Lsym *s; Value *v; int i, fd; - char buf[128]; + char buf[129]; List *l, **tail; s = look("notes"); @@ -121,7 +121,7 @@ v->l = 0; tail = &v->l; for(;;) { - i = read(fd, buf, sizeof(buf)); + i = read(fd, buf, sizeof(buf) - 1); if(i <= 0) break; buf[i] = '\0'; --- /sys/doc/acid.ms Wed Jun 19 17:53:08 2013 +++ /sys/doc/acid.ms Wed Jun 19 17:53:08 2013 @@ -1,4 +1,3 @@ -.HTML "Acid Manual .am DS .ft I .. @@ -599,6 +598,7 @@ postfix-expression \f(CW[\fP expression \f(CW]\fP postfix-expression \f(CW(\fP argument-list \f(CW)\fP postfix-expression \f(CW.\fP tag + postfix-expression \f(CW·\fP tag postfix-expression \f(CW->\fP tag postfix-expression \f(CW++\fP postfix-expression \f(CW--\fP @@ -718,10 +718,18 @@ .I unary-expression with a complex type structure. The result may then be dereferenced using the -.CW . +.CW .\fP, +.CW · and .CW -> -operators. +operators. The expression +.CW x·y +operator is equvalent to +.CW "x\eX + offsetof(Xtype, y)" . +Thus setting an +.CW Aggr +member may be accomplished with and expression such as +.CW "*(p·privatemem) = 0" . .PP An Acid variable may be associated with a complex type to enable accessing the type's members: @@ -808,10 +816,8 @@ .I string or .I list -type then addition is defined as concatenation. -Adding a string and an integer is treated as concatenation -with the Unicode character corresponding to the integer. -Subtraction is undefined for strings and lists. +type then addition is defined as concatenation. Subtraction is undefined for +these two types. .DS shift-expression: additive-expression @@ -1202,38 +1208,6 @@ .\" .\" .\" -.Ip fmt fmtof item "Get format -.CW fmtof -evaluates the expression -.I item -and returns the format of the result. -.Ex -acid: +fmtof(33) -W -acid: +fmtof("string") -s -.Ee -.\" -.\" -.\" -.Ip integer fmtsize item "Get format size -.CW fmtsize -evaluates the expression -.I item -and returns the size in bytes of a single element of result's format. -.Ex -acid: +fmtsize('c') -8 -acid: +fmtsize('c'\ec) -1 -acid: +fmtsize(0\eX) -4 -acid: +fmtsize('c'\e3) -10 -.Ee -.\" -.\" -.\" .Ip list fnbound integer "Find start and end address of a function .CW fnbound interprets its @@ -1363,6 +1337,20 @@ kill(head proclist); proclist = tail proclist; } +.Ee +.\" +.\" +.\" +.Ip integer offsetof integer "Get the offset of an \f(CWAggr\fP member +.CW offsetof +returns the offset of an +.CW Aggr +member. For example to set an +.CW Aggr +member +.Ex +x = offsetof(proc, privatemem) +*(x\eX) = 1 .Ee .\" .\" --- /sys/doc/acid.ps Wed Jun 19 17:53:08 2013 +++ /sys/doc/acid.ps Wed Jun 19 17:53:08 2013 @@ -4233,63 +4233,63 @@ (debug\255) 4701 1956 w (ging library to show how language and program interact:) 720 2076 w 9 /LucidaTypewriter f -(%) 1008 2246 w -(acid) 1138 2246 w -(/bin/ls) 1463 2246 w -(/bin/ls:mips) 1008 2356 w -(plan) 1853 2356 w -(9) 2178 2356 w -(executable) 2308 2356 w -(/sys/lib/acid/port) 1008 2576 w -(/sys/lib/acid/mips) 1008 2686 w -(acid:) 1008 2796 w -(new\(\)) 1398 2796 w -(75721:) 1008 2906 w -(system) 1463 2906 w -(call) 1918 2906 w -(_main) 2308 2906 w -(ADD) 2698 2906 w -($-0x14,R29) 3023 2906 w -(75721:) 1008 3016 w -(breakpoint) 1463 3016 w -(main+0x4) 2308 3016 w -(MOVW) 3023 3016 w -(R31,0x0\(R29\)) 3413 3016 w -(acid:) 1008 3126 w -(bpset\(ls\)) 1398 3126 w -(acid:) 1008 3236 w -(cont\(\)) 1398 3236 w -(75721:) 1008 3346 w -(breakpoint) 1463 3346 w -(ls) 2308 3346 w -(ADD) 2698 3346 w -($-0x16c8,R29) 3023 3346 w -(acid:) 1008 3456 w -(stk\(\)) 1398 3456 w -(At) 1008 3566 w -(pc:0x0000141c:ls) 1203 3566 w -(/sys/src/cmd/ls.c:87) 2308 3566 w -(ls\(s=0x0000004d,multi=0x00000000\)) 1008 3676 w -(/sys/src/cmd/ls.c:87) 3218 3676 w -(called) 1268 3786 w -(from) 1723 3786 w -(main+0xf4) 2048 3786 w -(/sys/src/cmd/ls.c:79) 2698 3786 w -(main\(argc=0x00000000,argv=0x7ffffff0\)) 1008 3896 w -(/sys/src/cmd/ls.c:48) 3478 3896 w -(called) 1268 4006 w -(from) 1723 4006 w -(_main+0x20) 2048 4006 w -(/sys/src/libc/mips/main9.s:10) 2763 4006 w -(acid:) 1008 4116 w -(PC) 1398 4116 w -(0xc0000f60) 1008 4226 w -(acid:) 1008 4336 w -(*PC) 1398 4336 w -(0x0000141c) 1008 4446 w -(acid:) 1008 4556 w -(ls) 1398 4556 w -(0x0000141c) 1008 4666 w +(%) 920 2246 w +(acid) 1050 2246 w +(/bin/ls) 1375 2246 w +(/bin/ls:mips) 920 2356 w +(plan) 1765 2356 w +(9) 2090 2356 w +(executable) 2220 2356 w +(/sys/lib/acid/port) 920 2576 w +(/sys/lib/acid/mips) 920 2686 w +(acid:) 920 2796 w +(new\(\)) 1310 2796 w +(75721:) 920 2906 w +(system) 1375 2906 w +(call) 1830 2906 w +(_main) 2220 2906 w +(ADD) 2610 2906 w +($-0x14,R29) 2935 2906 w +(75721:) 920 3016 w +(breakpoint) 1375 3016 w +(main+0x4) 2220 3016 w +(MOVW) 2935 3016 w +(R31,0x0\(R29\)) 3325 3016 w +(acid:) 920 3126 w +(bpset\(ls\)) 1310 3126 w +(acid:) 920 3236 w +(cont\(\)) 1310 3236 w +(75721:) 920 3346 w +(breakpoint) 1375 3346 w +(ls) 2220 3346 w +(ADD) 2610 3346 w +($-0x16c8,R29) 2935 3346 w +(acid:) 920 3456 w +(stk\(\)) 1310 3456 w +(At) 920 3566 w +(pc:0x0000141c:ls) 1115 3566 w +(/sys/src/cmd/ls.c:87) 2220 3566 w +(ls\(s=0x0000004d,multi=0x00000000\)) 920 3676 w +(/sys/src/cmd/ls.c:87) 3130 3676 w +(called) 1180 3786 w +(from) 1635 3786 w +(main+0xf4) 1960 3786 w +(/sys/src/cmd/ls.c:79) 2610 3786 w +(main\(argc=0x00000000,argv=0x7ffffff0\)) 920 3896 w +(/sys/src/cmd/ls.c:48) 3390 3896 w +(called) 1180 4006 w +(from) 1635 4006 w +(_main+0x20) 1960 4006 w +(/sys/src/libc/mips/main9.s:10) 2675 4006 w +(acid:) 920 4116 w +(PC) 1310 4116 w +(0xc0000f60) 920 4226 w +(acid:) 920 4336 w +(*PC) 1310 4336 w +(0x0000141c) 920 4446 w +(acid:) 920 4556 w +(ls) 1310 4556 w +(0x0000141c) 920 4666 w 10 /LucidaSansUnicode00 f (The) 720 4846 w (function) 948 4846 w @@ -4915,28 +4915,28 @@ (the) 4885 3984 w (variable. For example:) 720 4104 w 9 /LucidaTypewriter f -(acid:) 1008 4274 w -(x=10) 1398 4274 w -(acid:) 1008 4384 w -(print\(x\)) 1398 4384 w -(0x0000000a) 1008 4494 w -(acid:) 1008 4604 w -(x) 1398 4604 w -(=) 1528 4604 w -(fmt\(x,) 1658 4604 w -('D'\)) 2113 4604 w -(acid:) 1008 4714 w -(print\(x,) 1398 4714 w -(fmt\(x,) 1983 4714 w -('X'\)\)) 2438 4714 w -(10) 1008 4824 w -(0x0000000a) 1203 4824 w -(acid:) 1008 4934 w -(x) 1398 4934 w -(10) 1008 5044 w -(acid:) 1008 5154 w -(x\\o) 1398 5154 w -(12) 1008 5264 w +(acid:) 920 4274 w +(x=10) 1310 4274 w +(acid:) 920 4384 w +(print\(x\)) 1310 4384 w +(0x0000000a) 920 4494 w +(acid:) 920 4604 w +(x) 1310 4604 w +(=) 1440 4604 w +(fmt\(x,) 1570 4604 w +('D'\)) 2025 4604 w +(acid:) 920 4714 w +(print\(x,) 1310 4714 w +(fmt\(x,) 1895 4714 w +('X'\)\)) 2350 4714 w +(10) 920 4824 w +(0x0000000a) 1115 4824 w +(acid:) 920 4934 w +(x) 1310 4934 w +(10) 920 5044 w +(acid:) 920 5154 w +(x\\o) 1310 5154 w +(12) 920 5264 w 10 /LucidaSansUnicode00 f (The supported format characters are:) 720 5444 w 10 /LucidaTypewriter f @@ -5070,11 +5070,11 @@ 10 /LucidaTypewriter f (r) 970 2640 w 10 /LucidaSansUnicode00 f -(Print a two-byte integer as a rune.) 1220 2640 w +(Print a four-byte integer as a rune.) 1220 2640 w 10 /LucidaTypewriter f (R) 970 2796 w 10 /LucidaSansUnicode00 f -(Print successive two-byte integers as runes until a zero rune is reached.) 1220 2796 w +(Print successive four-byte integers as runes until a zero rune is reached.) 1220 2796 w 10 /LucidaTypewriter f (i) 970 2952 w 10 /LucidaSansUnicode00 f @@ -5219,28 +5219,28 @@ (C) 4971 4380 w (structure) 720 4500 w 9 /LucidaTypewriter f -(struct) 1008 4670 w -(List) 1463 4670 w -({) 1788 4670 w -(int) 1528 4780 w -(type;) 2308 4780 w -(struct) 1528 4890 w -(List) 1983 4890 w -(*next;) 2308 4890 w -(};) 1008 5000 w +(struct) 920 4670 w +(List) 1375 4670 w +({) 1700 4670 w +(int) 1440 4780 w +(type;) 2220 4780 w +(struct) 1440 4890 w +(List) 1895 4890 w +(*next;) 2220 4890 w +(};) 920 5000 w 10 /LucidaSansUnicode00 f (is described by the Acid statement) 720 5180 w 9 /LucidaTypewriter f -(complex) 1008 5350 w -(List) 1528 5350 w -({) 1853 5350 w -('D') 1528 5460 w -(0) 2048 5460 w -(type;) 2568 5460 w -('X') 1528 5570 w -(4) 2048 5570 w -(next;) 2568 5570 w -(};) 1008 5680 w +(complex) 920 5350 w +(List) 1440 5350 w +({) 1765 5350 w +('D') 1440 5460 w +(0) 1960 5460 w +(type;) 2480 5460 w +('X') 1440 5570 w +(4) 1960 5570 w +(next;) 2480 5570 w +(};) 920 5680 w 10 /LucidaSans-Demi f (Scope) 720 5980 w 10 /LucidaSansUnicode00 f @@ -5775,18 +5775,18 @@ (it) 4974 4380 w (unique. Acid reports a list of each name change at startup. The report looks like this:) 720 4500 w 9 /LucidaTypewriter f -(/bin/sam:) 1008 4670 w -(mips) 1658 4670 w -(plan) 1983 4670 w -(9) 2308 4670 w -(executable) 2438 4670 w -(/lib/acid/port) 1008 4780 w -(/lib/acid/mips) 1008 4890 w -(Symbol) 1008 5000 w -(renames:) 1463 5000 w -(append=$append) 1528 5110 w -(T/0xa4e40) 2503 5110 w -(acid:) 1008 5220 w +(/bin/sam:) 920 4670 w +(mips) 1570 4670 w +(plan) 1895 4670 w +(9) 2220 4670 w +(executable) 2350 4670 w +(/lib/acid/port) 920 4780 w +(/lib/acid/mips) 920 4890 w +(Symbol) 920 5000 w +(renames:) 1375 5000 w +(append=$append) 1440 5110 w +(T/0xa4e40) 2415 5110 w +(acid:) 920 5220 w 10 /LucidaSansUnicode00 f (The) 720 5400 w (symbol) 935 5400 w @@ -5950,7 +5950,7 @@ (parameters or local variables in the current stack of a program.) 720 2280 w (For example:) 3859 2280 w 9 /LucidaTypewriter f -(*main:argc) 1008 2450 w +(*main:argc) 920 2450 w 10 /LucidaSansUnicode00 f (prints) 720 2630 w (the) 1045 2630 w @@ -6031,30 +6031,30 @@ 10 /LucidaSansUnicode00 f (.) 4060 3386 w 9 /LucidaTypewriter f -(acid:) 1008 3556 w -(x) 1398 3556 w -(=) 1528 3556 w -(10) 1658 3556 w -(acid:) 1008 3666 w -(l) 1398 3666 w -(=) 1528 3666 w -({) 1658 3666 w -(1,) 1788 3666 w -(x,) 1983 3666 w -(2\\D) 2178 3666 w -(}) 2438 3666 w -(acid:) 1008 3776 w -(x) 1398 3776 w -(=) 1528 3776 w -(20) 1658 3776 w -(acid:) 1008 3886 w -(l) 1398 3886 w -({0x00000001) 1008 3996 w -(,) 1788 3996 w -(0x0000000a) 1918 3996 w -(,) 2633 3996 w -(2) 2763 3996 w -(}) 2893 3996 w +(acid:) 920 3556 w +(x) 1310 3556 w +(=) 1440 3556 w +(10) 1570 3556 w +(acid:) 920 3666 w +(l) 1310 3666 w +(=) 1440 3666 w +({) 1570 3666 w +(1,) 1700 3666 w +(x,) 1895 3666 w +(2\\D) 2090 3666 w +(}) 2350 3666 w +(acid:) 920 3776 w +(x) 1310 3776 w +(=) 1440 3776 w +(20) 1570 3776 w +(acid:) 920 3886 w +(l) 1310 3886 w +({0x00000001) 920 3996 w +(,) 1700 3996 w +(0x0000000a) 1830 3996 w +(,) 2545 3996 w +(2) 2675 3996 w +(}) 2805 3996 w 10 /LucidaSans-Demi f (Lists) 720 4296 w 10 /LucidaSansUnicode00 f @@ -6142,29 +6142,29 @@ 10 /LucidaSansUnicode00 f (evaluates to the rest.) 3517 5652 w 9 /LucidaTypewriter f -(acid:) 1008 5822 w -(head) 1398 5822 w -({}) 1723 5822 w -({}) 1008 5932 w -(acid:) 1008 6042 w -(head) 1398 6042 w -({1,) 1723 6042 w -(2,) 1983 6042 w -(3,) 2178 6042 w -(4}) 2373 6042 w -(0x00000001) 1008 6152 w -(acid:) 1008 6262 w -(tail) 1398 6262 w -({1,) 1723 6262 w -(2,) 1983 6262 w -(3,) 2178 6262 w -(4}) 2373 6262 w -({0x00000002) 1008 6372 w -(,) 1788 6372 w -(0x00000003) 1918 6372 w -(,) 2633 6372 w -(0x00000004) 2763 6372 w -(}) 3478 6372 w +(acid:) 920 5822 w +(head) 1310 5822 w +({}) 1635 5822 w +({}) 920 5932 w +(acid:) 920 6042 w +(head) 1310 6042 w +({1,) 1635 6042 w +(2,) 1895 6042 w +(3,) 2090 6042 w +(4}) 2285 6042 w +(0x00000001) 920 6152 w +(acid:) 920 6262 w +(tail) 1310 6262 w +({1,) 1635 6262 w +(2,) 1895 6262 w +(3,) 2090 6262 w +(4}) 2285 6262 w +({0x00000002) 920 6372 w +(,) 1700 6372 w +(0x00000003) 1830 6372 w +(,) 2545 6372 w +(0x00000004) 2675 6372 w +(}) 3390 6372 w 10 /LucidaSansUnicode00 f (The) 720 6552 w (first) 950 6552 w @@ -6256,27 +6256,27 @@ 10 /LucidaSansUnicode00 f (\255 7 \255) 2783 480 w 9 /LucidaTypewriter f -(acid:) 1528 830 w -(append) 1918 830 w -({1,) 2373 830 w -(2},) 2633 830 w -(3) 2893 830 w -({0x00000001) 1528 940 w -(,) 2308 940 w -(0x00000002) 2438 940 w -(,) 3153 940 w -(0x00000003) 3283 940 w -(}) 3998 940 w -(acid:) 1528 1050 w -(delete) 1918 1050 w -({1,) 2373 1050 w -(2,) 2633 1050 w -(3},) 2828 1050 w -(1) 3088 1050 w -({0x00000001) 1528 1160 w -(,) 2308 1160 w -(0x00000003) 2438 1160 w -(}) 3153 1160 w +(acid:) 1440 830 w +(append) 1830 830 w +({1,) 2285 830 w +(2},) 2545 830 w +(3) 2805 830 w +({0x00000001) 1440 940 w +(,) 2220 940 w +(0x00000002) 2350 940 w +(,) 3065 940 w +(0x00000003) 3195 940 w +(}) 3910 940 w +(acid:) 1440 1050 w +(delete) 1830 1050 w +({1,) 2285 1050 w +(2,) 2545 1050 w +(3},) 2740 1050 w +(1) 3000 1050 w +({0x00000001) 1440 1160 w +(,) 2220 1160 w +(0x00000003) 2350 1160 w +(}) 3065 1160 w 10 /LucidaSansUnicode00 f (Assigning a list to a variable) 970 1376 w (copies) 2374 1376 w @@ -6345,387 +6345,392 @@ (tag) 2620 2552 w (postfix-expression) 1580 2672 w 10 /LucidaTypewriter f -(->) 2516 2672 w +(\267) 2516 2672 w 10 /LucidaSans-Italic f -(tag) 2692 2672 w +(tag) 2620 2672 w (postfix-expression) 1580 2792 w 10 /LucidaTypewriter f -(++) 2516 2792 w +(->) 2516 2792 w 10 /LucidaSans-Italic f +(tag) 2692 2792 w (postfix-expression) 1580 2912 w 10 /LucidaTypewriter f -(--) 2516 2912 w +(++) 2516 2912 w 10 /LucidaSans-Italic f -(argument-list:) 1330 3152 w -(expression) 1580 3272 w -(argument-list , expression) 1580 3392 w -10 /LucidaSansUnicode00 f -(The) 720 3572 w -10 /LucidaTypewriter f -([) 933 3572 w -10 /LucidaSans-Italic f -(expression) 1037 3572 w -10 /LucidaTypewriter f -(]) 1584 3572 w -10 /LucidaSansUnicode00 f -(operator performs indexing.) 1688 3572 w -(The indexing) 3130 3572 w -(expression) 3800 3572 w -(must) 4364 3572 w -(result) 4640 3572 w -(in) 4949 3572 w -(an) 720 3692 w -(expression) 886 3692 w -(of) 1465 3692 w -10 /LucidaSans-Italic f -(integer) 1611 3692 w -10 /LucidaSansUnicode00 f -(type,) 2003 3692 w -(say) 2291 3692 w -10 /LucidaSans-Italic f -(n) 2497 3692 w -10 /LucidaSansUnicode00 f -(.) 2559 3692 w -(The) 2671 3692 w -(operation) 2900 3692 w -(depends) 3413 3692 w -(on) 3875 3692 w -(the) 4046 3692 w -(type) 4249 3692 w -(of) 4505 3692 w -10 /LucidaSans-Italic f -(postfix-) 4651 3692 w -(expression) 720 3812 w -10 /LucidaSansUnicode00 f -(.) 1235 3812 w -(If) 1352 3812 w -(the) 1472 3812 w -10 /LucidaSans-Italic f -(postfix-expression) 1681 3812 w -10 /LucidaSansUnicode00 f -(yields) 2639 3812 w -(an) 2973 3812 w -10 /LucidaSans-Italic f -(integer) 3144 3812 w -10 /LucidaSansUnicode00 f -(it) 3542 3812 w -(is) 3662 3812 w -(assumed) 3796 3812 w -(to) 4281 3812 w -(be) 4433 3812 w -(the) 4606 3812 w -(base) 4815 3812 w -(address) 720 3932 w -(of) 1138 3932 w -(an) 1274 3932 w -(array) 1429 3932 w -(in) 1711 3932 w -(the) 1840 3932 w -(memory) 2033 3932 w -(image.) 2467 3932 w -(The) 2864 3932 w -(index) 3083 3932 w -(offsets) 3392 3932 w -(into) 3760 3932 w -(this) 3987 3932 w -(array;) 4204 3932 w -(the) 4518 3932 w -(size) 4711 3932 w -(of) 4942 3932 w -(the) 720 4052 w -(array) 914 4052 w -(members) 1197 4052 w -(is) 1689 4052 w -(determined) 1808 4052 w -(by) 2403 4052 w -(the) 2557 4052 w -(format) 2751 4052 w -(associated) 3115 4052 w -(with) 3664 4052 w -(the) 3909 4052 w -10 /LucidaSans-Italic f -(postfix-expression) 4104 4052 w -10 /LucidaSansUnicode00 f -(.) 5008 4052 w -(If) 720 4172 w -(the) 824 4172 w -10 /LucidaSans-Italic f -(postfix-expression) 1017 4172 w -10 /LucidaSansUnicode00 f -(yields) 1959 4172 w -(a) 2277 4172 w -10 /LucidaSans-Italic f -(string) 2370 4172 w -10 /LucidaSansUnicode00 f -(the) 2695 4172 w -(index) 2887 4172 w -(operator) 3195 4172 w -(fetches) 3647 4172 w -(the) 4034 4172 w +(postfix-expression) 1580 3032 w +10 /LucidaTypewriter f +(--) 2516 3032 w 10 /LucidaSans-Italic f -(n) 4226 4172 w -10 /LucidaSansUnicode20 f -(\031) 4288 4172 w -10 /LucidaSansUnicode00 f -(th) 4320 4172 w -(character) 4456 4172 w -(of) 4942 4172 w -(the) 720 4292 w -(string.) 918 4292 w -(If) 1275 4292 w -(the) 1384 4292 w -(index) 1582 4292 w -(points) 1896 4292 w -(beyond) 2243 4292 w -(the) 2644 4292 w -(end) 2843 4292 w -(of) 3068 4292 w -(the) 3210 4292 w -(string,) 3409 4292 w -(a) 3767 4292 w -(zero) 3866 4292 w -(is) 4125 4292 w -(returned.) 4249 4292 w -(If) 4775 4292 w -(the) 4885 4292 w -10 /LucidaSans-Italic f -(postfix-expression) 720 4412 w -10 /LucidaSansUnicode00 f -(yields) 1664 4412 w -(a) 1984 4412 w -10 /LucidaSans-Italic f -(list) 2078 4412 w -10 /LucidaSansUnicode00 f -(then) 2262 4412 w -(the) 2518 4412 w -(indexing) 2712 4412 w -(operation) 3175 4412 w -(returns) 3679 4412 w -(the) 4068 4412 w +(argument-list:) 1330 3272 w +(expression) 1580 3392 w +(argument-list , expression) 1580 3512 w +10 /LucidaSansUnicode00 f +(The) 720 3692 w +10 /LucidaTypewriter f +([) 933 3692 w +10 /LucidaSans-Italic f +(expression) 1037 3692 w +10 /LucidaTypewriter f +(]) 1584 3692 w +10 /LucidaSansUnicode00 f +(operator performs indexing.) 1688 3692 w +(The indexing) 3130 3692 w +(expression) 3800 3692 w +(must) 4364 3692 w +(result) 4640 3692 w +(in) 4949 3692 w +(an) 720 3812 w +(expression) 886 3812 w +(of) 1465 3812 w +10 /LucidaSans-Italic f +(integer) 1611 3812 w +10 /LucidaSansUnicode00 f +(type,) 2003 3812 w +(say) 2291 3812 w +10 /LucidaSans-Italic f +(n) 2497 3812 w +10 /LucidaSansUnicode00 f +(.) 2559 3812 w +(The) 2671 3812 w +(operation) 2900 3812 w +(depends) 3413 3812 w +(on) 3875 3812 w +(the) 4046 3812 w +(type) 4249 3812 w +(of) 4505 3812 w +10 /LucidaSans-Italic f +(postfix-) 4651 3812 w +(expression) 720 3932 w +10 /LucidaSansUnicode00 f +(.) 1235 3932 w +(If) 1352 3932 w +(the) 1472 3932 w +10 /LucidaSans-Italic f +(postfix-expression) 1681 3932 w +10 /LucidaSansUnicode00 f +(yields) 2639 3932 w +(an) 2973 3932 w +10 /LucidaSans-Italic f +(integer) 3144 3932 w +10 /LucidaSansUnicode00 f +(it) 3542 3932 w +(is) 3662 3932 w +(assumed) 3796 3932 w +(to) 4281 3932 w +(be) 4433 3932 w +(the) 4606 3932 w +(base) 4815 3932 w +(address) 720 4052 w +(of) 1138 4052 w +(an) 1274 4052 w +(array) 1429 4052 w +(in) 1711 4052 w +(the) 1840 4052 w +(memory) 2033 4052 w +(image.) 2467 4052 w +(The) 2864 4052 w +(index) 3083 4052 w +(offsets) 3392 4052 w +(into) 3760 4052 w +(this) 3987 4052 w +(array;) 4204 4052 w +(the) 4518 4052 w +(size) 4711 4052 w +(of) 4942 4052 w +(the) 720 4172 w +(array) 914 4172 w +(members) 1197 4172 w +(is) 1689 4172 w +(determined) 1808 4172 w +(by) 2403 4172 w +(the) 2557 4172 w +(format) 2751 4172 w +(associated) 3115 4172 w +(with) 3664 4172 w +(the) 3909 4172 w +10 /LucidaSans-Italic f +(postfix-expression) 4104 4172 w +10 /LucidaSansUnicode00 f +(.) 5008 4172 w +(If) 720 4292 w +(the) 824 4292 w +10 /LucidaSans-Italic f +(postfix-expression) 1017 4292 w +10 /LucidaSansUnicode00 f +(yields) 1959 4292 w +(a) 2277 4292 w +10 /LucidaSans-Italic f +(string) 2370 4292 w +10 /LucidaSansUnicode00 f +(the) 2695 4292 w +(index) 2887 4292 w +(operator) 3195 4292 w +(fetches) 3647 4292 w +(the) 4034 4292 w 10 /LucidaSans-Italic f -(n) 4262 4412 w +(n) 4226 4292 w 10 /LucidaSansUnicode20 f -(\031) 4324 4412 w +(\031) 4288 4292 w 10 /LucidaSansUnicode00 f -(th) 4356 4412 w -(item) 4494 4412 w -(of) 4748 4412 w +(th) 4320 4292 w +(character) 4456 4292 w +(of) 4942 4292 w +(the) 720 4412 w +(string.) 918 4412 w +(If) 1275 4412 w +(the) 1384 4412 w +(index) 1582 4412 w +(points) 1896 4412 w +(beyond) 2243 4412 w +(the) 2644 4412 w +(end) 2843 4412 w +(of) 3068 4412 w +(the) 3210 4412 w +(string,) 3409 4412 w +(a) 3767 4412 w +(zero) 3866 4412 w +(is) 4125 4412 w +(returned.) 4249 4412 w +(If) 4775 4412 w (the) 4885 4412 w -(list.) 720 4532 w -(If the list contains less than) 962 4532 w 10 /LucidaSans-Italic f -(n) 2332 4532 w +(postfix-expression) 720 4532 w 10 /LucidaSansUnicode00 f -(items the empty list) 2426 4532 w -10 /LucidaTypewriter f -({}) 3422 4532 w +(yields) 1664 4532 w +(a) 1984 4532 w +10 /LucidaSans-Italic f +(list) 2078 4532 w 10 /LucidaSansUnicode00 f -(is returned.) 3598 4532 w -(The) 970 4688 w -10 /LucidaTypewriter f -(++) 1185 4688 w -10 /LucidaSansUnicode00 f -(and) 1364 4688 w -10 /LucidaTypewriter f -(--) 1579 4688 w -10 /LucidaSansUnicode00 f -(operators) 1758 4688 w -(increment) 2259 4688 w -(and) 2781 4688 w -(decrement) 2996 4688 w -(integer) 3546 4688 w -(variables.) 3924 4688 w -(The) 4454 4688 w -(amount) 4670 4688 w -(of) 720 4808 w -(increment) 856 4808 w -(or) 1381 4808 w -(decrement) 1521 4808 w -(depends) 2073 4808 w -(on) 2524 4808 w -(the) 2684 4808 w -(format) 2876 4808 w -(code.) 3237 4808 w -(These) 3537 4808 w -(postfix) 3862 4808 w -(operators) 4238 4808 w -(return) 4741 4808 w -(the value of the variable before the increment or decrement has taken place.) 720 4928 w +(then) 2262 4532 w +(the) 2518 4532 w +(indexing) 2712 4532 w +(operation) 3175 4532 w +(returns) 3679 4532 w +(the) 4068 4532 w 10 /LucidaSans-Italic f -(unary-expression:) 1330 5108 w -(postfix-expression) 1580 5228 w -10 /LucidaTypewriter f -(++) 1580 5348 w +(n) 4262 4532 w +10 /LucidaSansUnicode20 f +(\031) 4324 4532 w +10 /LucidaSansUnicode00 f +(th) 4356 4532 w +(item) 4494 4532 w +(of) 4748 4532 w +(the) 4885 4532 w +(list.) 720 4652 w +(If the list contains less than) 962 4652 w +10 /LucidaSans-Italic f +(n) 2332 4652 w +10 /LucidaSansUnicode00 f +(items the empty list) 2426 4652 w +10 /LucidaTypewriter f +({}) 3422 4652 w +10 /LucidaSansUnicode00 f +(is returned.) 3598 4652 w +(The) 970 4808 w +10 /LucidaTypewriter f +(++) 1185 4808 w +10 /LucidaSansUnicode00 f +(and) 1364 4808 w +10 /LucidaTypewriter f +(--) 1579 4808 w +10 /LucidaSansUnicode00 f +(operators) 1758 4808 w +(increment) 2259 4808 w +(and) 2781 4808 w +(decrement) 2996 4808 w +(integer) 3546 4808 w +(variables.) 3924 4808 w +(The) 4454 4808 w +(amount) 4670 4808 w +(of) 720 4928 w +(increment) 856 4928 w +(or) 1381 4928 w +(decrement) 1521 4928 w +(depends) 2073 4928 w +(on) 2524 4928 w +(the) 2684 4928 w +(format) 2876 4928 w +(code.) 3237 4928 w +(These) 3537 4928 w +(postfix) 3862 4928 w +(operators) 4238 4928 w +(return) 4741 4928 w +(the value of the variable before the increment or decrement has taken place.) 720 5048 w 10 /LucidaSans-Italic f -(unary-expression) 1756 5348 w +(unary-expression:) 1330 5228 w +(postfix-expression) 1580 5348 w 10 /LucidaTypewriter f -(--) 1580 5468 w +(++) 1580 5468 w 10 /LucidaSans-Italic f (unary-expression) 1756 5468 w -(unary-operator: one of) 1330 5708 w 10 /LucidaTypewriter f -(*) 1580 5828 w -(@) 1684 5828 w -(+) 1788 5828 w -(-) 1892 5828 w -10 /LucidaSans-Italic f -(~) 1996 5828 w -10 /LucidaTypewriter f -(!) 2091 5828 w -10 /LucidaSansUnicode00 f -(The) 720 6008 w -(operators) 936 6008 w -10 /LucidaTypewriter f -(*) 1437 6008 w -10 /LucidaSansUnicode00 f -(and) 1544 6008 w -10 /LucidaTypewriter f -(@) 1759 6008 w -10 /LucidaSansUnicode00 f -(are) 1866 6008 w -(the) 2053 6008 w -(indirection) 2243 6008 w -(operators.) 2798 6008 w -10 /LucidaTypewriter f -(@) 3363 6008 w -10 /LucidaSansUnicode00 f -(references) 3470 6008 w -(a) 4012 6008 w -(value) 4102 6008 w -(from) 4391 6008 w -(the) 4658 6008 w -(text) 4849 6008 w -(file) 720 6128 w -(of) 906 6128 w -(the) 1039 6128 w -(program) 1229 6128 w -(being) 1680 6128 w -(debugged.) 1987 6128 w -(The) 2573 6128 w -(size) 2789 6128 w -(of) 3016 6128 w -(the) 3148 6128 w -(value) 3337 6128 w -(depends) 3625 6128 w -(on) 4073 6128 w -(the) 4230 6128 w -(format) 4419 6128 w -(code.) 4777 6128 w -(The) 720 6248 w -10 /LucidaTypewriter f -(*) 940 6248 w -10 /LucidaSansUnicode00 f -(operator) 1051 6248 w -(fetches) 1505 6248 w -(a) 1894 6248 w -(value) 1988 6248 w -(from) 2281 6248 w -(the) 2553 6248 w -(memory) 2748 6248 w -(image) 3184 6248 w -(of) 3519 6248 w -(a) 3657 6248 w -(process.) 3752 6248 w -(If) 4198 6248 w -(either) 4304 6248 w -(operator) 4625 6248 w -(appears) 720 6368 w -(on) 1137 6368 w -(the) 1293 6368 w -(left-hand) 1481 6368 w -(side) 1973 6368 w -(of) 2205 6368 w -(an) 2336 6368 w -(assignment) 2486 6368 w -(statement,) 3077 6368 w -(either) 3626 6368 w -(the) 3940 6368 w -(file) 4128 6368 w -(or) 4312 6368 w -(memory) 4447 6368 w -(will) 4876 6368 w -(be) 720 6488 w -(written.) 875 6488 w -(The) 1282 6488 w -(file) 1499 6488 w -(can) 1686 6488 w -(only) 1890 6488 w -(be) 2130 6488 w -(modified) 2285 6488 w -(when) 2752 6488 w -(Acid) 3046 6488 w -(is) 3295 6488 w -(invoked) 3412 6488 w -(with) 3830 6488 w -(the) 4072 6488 w -10 /LucidaTypewriter f -(-w) 4264 6488 w -10 /LucidaSansUnicode00 f -(option.) 4445 6488 w -(The) 4859 6488 w -(prefix) 720 6608 w -10 /LucidaTypewriter f -(++) 1053 6608 w -10 /LucidaSansUnicode00 f -(and) 1243 6608 w -10 /LucidaTypewriter f -(--) 1469 6608 w -10 /LucidaSansUnicode00 f -(operators) 1659 6608 w -(perform) 2171 6608 w -(the) 2608 6608 w -(same) 2808 6608 w -(operation) 3108 6608 w -(as) 3618 6608 w -(their) 3769 6608 w -(postfix) 4039 6608 w -(counterparts) 4423 6608 w -(but) 720 6728 w -(return) 915 6728 w -(the) 1247 6728 w -(value) 1435 6728 w -(after) 1722 6728 w -(the) 1981 6728 w -(increment) 2169 6728 w -(or) 2689 6728 w -(decrement) 2824 6728 w -(has) 3372 6728 w -(been) 3573 6728 w -(performed.) 3844 6728 w -(Since) 4421 6728 w -(the) 4707 6728 w -10 /LucidaTypewriter f -(++) 4896 6728 w -10 /LucidaSansUnicode00 f -(and) 720 6848 w -10 /LucidaTypewriter f -(*) 946 6848 w -10 /LucidaSansUnicode00 f -(operators) 1064 6848 w -(fetch) 1576 6848 w -(and) 1865 6848 w -(increment) 2090 6848 w -(the) 2622 6848 w -(correct) 2822 6848 w -(amount) 3205 6848 w -(for) 3620 6848 w -(the) 3804 6848 w -(specified) 4004 6848 w -(format,) 4484 6848 w -(the) 4885 6848 w -(following) 720 6968 w -(function) 1202 6968 w -(prints) 1638 6968 w -(correct) 1956 6968 w -(machine) 2329 6968 w -(instructions) 2772 6968 w -(on) 3381 6968 w -(a) 3540 6968 w -(machine) 3631 6968 w -(with) 4075 6968 w -(variable) 4316 6968 w -(length) 4732 6968 w -(instructions, such as the 68020 or 386:) 720 7088 w +(--) 1580 5588 w +10 /LucidaSans-Italic f +(unary-expression) 1756 5588 w +(unary-operator: one of) 1330 5828 w +10 /LucidaTypewriter f +(*) 1580 5948 w +(@) 1684 5948 w +(+) 1788 5948 w +(-) 1892 5948 w +10 /LucidaSans-Italic f +(~) 1996 5948 w +10 /LucidaTypewriter f +(!) 2091 5948 w +10 /LucidaSansUnicode00 f +(The) 720 6128 w +(operators) 936 6128 w +10 /LucidaTypewriter f +(*) 1437 6128 w +10 /LucidaSansUnicode00 f +(and) 1544 6128 w +10 /LucidaTypewriter f +(@) 1759 6128 w +10 /LucidaSansUnicode00 f +(are) 1866 6128 w +(the) 2053 6128 w +(indirection) 2243 6128 w +(operators.) 2798 6128 w +10 /LucidaTypewriter f +(@) 3363 6128 w +10 /LucidaSansUnicode00 f +(references) 3470 6128 w +(a) 4012 6128 w +(value) 4102 6128 w +(from) 4391 6128 w +(the) 4658 6128 w +(text) 4849 6128 w +(file) 720 6248 w +(of) 906 6248 w +(the) 1039 6248 w +(program) 1229 6248 w +(being) 1680 6248 w +(debugged.) 1987 6248 w +(The) 2573 6248 w +(size) 2789 6248 w +(of) 3016 6248 w +(the) 3148 6248 w +(value) 3337 6248 w +(depends) 3625 6248 w +(on) 4073 6248 w +(the) 4230 6248 w +(format) 4419 6248 w +(code.) 4777 6248 w +(The) 720 6368 w +10 /LucidaTypewriter f +(*) 940 6368 w +10 /LucidaSansUnicode00 f +(operator) 1051 6368 w +(fetches) 1505 6368 w +(a) 1894 6368 w +(value) 1988 6368 w +(from) 2281 6368 w +(the) 2553 6368 w +(memory) 2748 6368 w +(image) 3184 6368 w +(of) 3519 6368 w +(a) 3657 6368 w +(process.) 3752 6368 w +(If) 4198 6368 w +(either) 4304 6368 w +(operator) 4625 6368 w +(appears) 720 6488 w +(on) 1137 6488 w +(the) 1293 6488 w +(left-hand) 1481 6488 w +(side) 1973 6488 w +(of) 2205 6488 w +(an) 2336 6488 w +(assignment) 2486 6488 w +(statement,) 3077 6488 w +(either) 3626 6488 w +(the) 3940 6488 w +(file) 4128 6488 w +(or) 4312 6488 w +(memory) 4447 6488 w +(will) 4876 6488 w +(be) 720 6608 w +(written.) 875 6608 w +(The) 1282 6608 w +(file) 1499 6608 w +(can) 1686 6608 w +(only) 1890 6608 w +(be) 2130 6608 w +(modified) 2285 6608 w +(when) 2752 6608 w +(Acid) 3046 6608 w +(is) 3295 6608 w +(invoked) 3412 6608 w +(with) 3830 6608 w +(the) 4072 6608 w +10 /LucidaTypewriter f +(-w) 4264 6608 w +10 /LucidaSansUnicode00 f +(option.) 4445 6608 w +(The) 4859 6608 w +(prefix) 720 6728 w +10 /LucidaTypewriter f +(++) 1053 6728 w +10 /LucidaSansUnicode00 f +(and) 1243 6728 w +10 /LucidaTypewriter f +(--) 1469 6728 w +10 /LucidaSansUnicode00 f +(operators) 1659 6728 w +(perform) 2171 6728 w +(the) 2608 6728 w +(same) 2808 6728 w +(operation) 3108 6728 w +(as) 3618 6728 w +(their) 3769 6728 w +(postfix) 4039 6728 w +(counterparts) 4423 6728 w +(but) 720 6848 w +(return) 915 6848 w +(the) 1247 6848 w +(value) 1435 6848 w +(after) 1722 6848 w +(the) 1981 6848 w +(increment) 2169 6848 w +(or) 2689 6848 w +(decrement) 2824 6848 w +(has) 3372 6848 w +(been) 3573 6848 w +(performed.) 3844 6848 w +(Since) 4421 6848 w +(the) 4707 6848 w +10 /LucidaTypewriter f +(++) 4896 6848 w +10 /LucidaSansUnicode00 f +(and) 720 6968 w +10 /LucidaTypewriter f +(*) 946 6968 w +10 /LucidaSansUnicode00 f +(operators) 1064 6968 w +(fetch) 1576 6968 w +(and) 1865 6968 w +(increment) 2090 6968 w +(the) 2622 6968 w +(correct) 2822 6968 w +(amount) 3205 6968 w +(for) 3620 6968 w +(the) 3804 6968 w +(specified) 4004 6968 w +(format,) 4484 6968 w +(the) 4885 6968 w +(following) 720 7088 w +(function) 1202 7088 w +(prints) 1638 7088 w +(correct) 1956 7088 w +(machine) 2329 7088 w +(instructions) 2772 7088 w +(on) 3381 7088 w +(a) 3540 7088 w +(machine) 3631 7088 w +(with) 4075 7088 w +(variable) 4316 7088 w +(length) 4732 7088 w +(instructions, such as the 68020 or 386:) 720 7208 w cleartomark showpage saveobj restore @@ -6737,20 +6742,20 @@ 10 /LucidaSansUnicode00 f (\255 8 \255) 2783 480 w 9 /LucidaTypewriter f -(defn) 1528 830 w -(asm\(addr\)) 1853 830 w -({) 1528 940 w -(addr) 2048 1050 w -(=) 2373 1050 w -(fmt\(addr,) 2503 1050 w -('i'\);) 3153 1050 w -(loop) 2048 1160 w -(1,) 2373 1160 w -(10) 2568 1160 w -(do) 2763 1160 w -(print\(*addr++,) 2568 1270 w -("\\n"\);) 3543 1270 w -(}) 1528 1380 w +(defn) 1440 830 w +(asm\(addr\)) 1765 830 w +({) 1440 940 w +(addr) 1960 1050 w +(=) 2285 1050 w +(fmt\(addr,) 2415 1050 w +('i'\);) 3065 1050 w +(loop) 1960 1160 w +(1,) 2285 1160 w +(10) 2480 1160 w +(do) 2675 1160 w +(print\(*addr++,) 2480 1270 w +("\\n"\);) 3455 1270 w +(}) 1440 1380 w 10 /LucidaSansUnicode00 f (The operators) 720 1560 w 10 /LucidaTypewriter f @@ -6807,306 +6812,299 @@ (then) 4352 2520 w (be) 4602 2520 w (deref\255) 4754 2520 w -(erenced using the) 720 2640 w -10 /LucidaTypewriter f -(.) 1622 2640 w -10 /LucidaSansUnicode00 f -(and) 1726 2640 w -10 /LucidaTypewriter f -(->) 1938 2640 w -10 /LucidaSansUnicode00 f -(operators.) 2114 2640 w -(An) 970 2796 w -(Acid) 1146 2796 w -(variable) 1403 2796 w -(may) 1828 2796 w -(be) 2074 2796 w -(associated) 2239 2796 w -(with) 2794 2796 w -(a) 3045 2796 w -(complex) 3146 2796 w -(type) 3606 2796 w -(to) 3860 2796 w -(enable) 4004 2796 w -(accessing) 4371 2796 w -(the) 4885 2796 w -(type) 720 2916 w +(erenced) 720 2640 w +(using) 1140 2640 w +(the) 1441 2640 w +10 /LucidaTypewriter f +(.) 1631 2640 w +10 /LucidaSansUnicode00 f +(,) 1703 2640 w +10 /LucidaTypewriter f +(\267) 1770 2640 w +10 /LucidaSansUnicode00 f +(and) 1877 2640 w +10 /LucidaTypewriter f +(->) 2092 2640 w +10 /LucidaSansUnicode00 f +(operators.) 2271 2640 w +(The) 2836 2640 w +(expression) 3052 2640 w +10 /LucidaTypewriter f +(x\267y) 3618 2640 w +10 /LucidaSansUnicode00 f +(operator) 3869 2640 w +(is) 4319 2640 w +(equvalent) 4434 2640 w +(to) 4942 2640 w +10 /LucidaTypewriter f +(x\\X) 720 2760 w +(+) 1029 2760 w +(offsetof\(Xtype,) 1194 2760 w +(y\)) 2367 2760 w +10 /LucidaSansUnicode00 f +(.) 2511 2760 w +(Thus) 2628 2760 w +(setting) 2919 2760 w +(an) 3306 2760 w +10 /LucidaTypewriter f +(Aggr) 3476 2760 w +10 /LucidaSansUnicode00 f +(member) 3817 2760 w +(may) 4272 2760 w +(be) 4525 2760 w +(accom\255) 4696 2760 w +(plished with and expression such as) 720 2880 w +10 /LucidaTypewriter f +(*\(p\267privatemem\) = 0) 2513 2880 w +10 /LucidaSansUnicode00 f +(.) 3881 2880 w +(An) 970 3036 w +(Acid) 1146 3036 w +(variable) 1403 3036 w +(may) 1828 3036 w +(be) 2074 3036 w +(associated) 2239 3036 w +(with) 2794 3036 w +(a) 3045 3036 w +(complex) 3146 3036 w +(type) 3606 3036 w +(to) 3860 3036 w +(enable) 4004 3036 w +(accessing) 4371 3036 w +(the) 4885 3036 w +(type) 720 3156 w 10 /LucidaSansUnicode20 f -(\031) 928 2916 w +(\031) 928 3156 w 10 /LucidaSansUnicode00 f -(s members:) 960 2916 w +(s members:) 960 3156 w 9 /LucidaTypewriter f -(acid:) 1008 3086 w -(complex) 1398 3086 w -(List) 1918 3086 w -({) 2243 3086 w -('D') 1528 3196 w -(0) 2048 3196 w -(type;) 2568 3196 w -('X') 1528 3306 w -(4) 2048 3306 w -(next;) 2568 3306 w -(};) 1008 3416 w -(acid:) 1008 3526 w -(complex) 1398 3526 w -(List) 1918 3526 w -(lhead) 2243 3526 w -(acid:) 1008 3636 w -(lhead.type) 1398 3636 w -(10) 1008 3746 w -(acid:) 1008 3856 w -(lhead) 1398 3856 w -(=) 1788 3856 w -(\(\(List\)lhead\).next) 1918 3856 w -(acid:) 1008 3966 w -(lhead.type) 1398 3966 w -(-46) 1008 4076 w -10 /LucidaSansUnicode00 f -(Note that the) 720 4256 w -10 /LucidaTypewriter f -(next) 1390 4256 w -10 /LucidaSansUnicode00 f -(field cannot be given a complex type automatically.) 1710 4256 w -(When) 970 4412 w -(entered) 1275 4412 w -(at) 1685 4412 w -(the) 1816 4412 w -(top) 2010 4412 w -(level) 2210 4412 w -(of) 2471 4412 w -(the) 2608 4412 w -(interpreter,) 2802 4412 w -(an) 3392 4412 w -(expression) 3549 4412 w -(of) 4120 4412 w -(complex) 4258 4412 w -(type) 4712 4412 w -(is) 4960 4412 w -(treated) 720 4532 w -(specially.) 1105 4532 w -(If) 1624 4532 w -(the) 1730 4532 w -(type) 1925 4532 w -(is) 2173 4532 w -(called) 2293 4532 w -10 /LucidaTypewriter f -(T) 2616 4532 w -10 /LucidaSansUnicode00 f -(and) 2728 4532 w -(an) 2948 4532 w -(Acid) 3105 4532 w -(function) 3357 4532 w -(also) 3798 4532 w -(called) 4034 4532 w -10 /LucidaTypewriter f -(T) 4356 4532 w -10 /LucidaSansUnicode00 f -(exists,) 4467 4532 w -(then) 4823 4532 w -(that) 720 4652 w -(function) 953 4652 w -(will) 1396 4652 w -(be) 1602 4652 w -(called) 1763 4652 w -(with) 2088 4652 w -(the) 2335 4652 w -(expression) 2532 4652 w -(as) 3105 4652 w -(its) 3253 4652 w -(argument.) 3412 4652 w -(The) 3986 4652 w -(compiler) 4210 4652 w -(options) 4676 4652 w -10 /LucidaTypewriter f -(-a) 720 4772 w -10 /LucidaSansUnicode00 f -(and) 900 4772 w -10 /LucidaTypewriter f -(-aa) 1116 4772 w -10 /LucidaSansUnicode00 f -(will) 1368 4772 w -(generate) 1568 4772 w -(Acid) 2029 4772 w -(source) 2277 4772 w -(code) 2635 4772 w -(defining) 2902 4772 w -(such) 3337 4772 w -(complex) 3598 4772 w -(types) 4047 4772 w -(and) 4341 4772 w -(functions;) 4556 4772 w -(see) 720 4892 w -10 /LucidaSans-Italic f -(2c) 915 4892 w -10 /LucidaSansUnicode00 f -(\(1\).) 1028 4892 w -(A) 970 5048 w -10 /LucidaSans-Italic f -(unary-expression) 1077 5048 w -10 /LucidaSansUnicode00 f -(may) 1981 5048 w -(be) 2219 5048 w -(qualified) 2376 5048 w -(with) 2837 5048 w -(a) 3080 5048 w -(format) 3173 5048 w -(specifier) 3535 5048 w -(using) 3986 5048 w -(the) 4290 5048 w -10 /LucidaTypewriter f -(\\) 4483 5048 w -10 /LucidaSansUnicode00 f -(operator.) 4593 5048 w -(This has the same effect as passing the expression to the) 720 5168 w -10 /LucidaTypewriter f -(fmt) 3547 5168 w -10 /LucidaSansUnicode00 f -(builtin function.) 3795 5168 w -10 /LucidaSans-Italic f -(multiplicative-expression:) 1330 5348 w -(cast-expression) 1580 5468 w -(multiplicative-expression) 1580 5588 w -10 /LucidaTypewriter f -(*) 2845 5588 w -10 /LucidaSans-Italic f -(multiplicative-expression) 2949 5588 w -(multiplicative-expression) 1580 5708 w +(acid:) 920 3326 w +(complex) 1310 3326 w +(List) 1830 3326 w +({) 2155 3326 w +('D') 1440 3436 w +(0) 1960 3436 w +(type;) 2480 3436 w +('X') 1440 3546 w +(4) 1960 3546 w +(next;) 2480 3546 w +(};) 920 3656 w +(acid:) 920 3766 w +(complex) 1310 3766 w +(List) 1830 3766 w +(lhead) 2155 3766 w +(acid:) 920 3876 w +(lhead.type) 1310 3876 w +(10) 920 3986 w +(acid:) 920 4096 w +(lhead) 1310 4096 w +(=) 1700 4096 w +(\(\(List\)lhead\).next) 1830 4096 w +(acid:) 920 4206 w +(lhead.type) 1310 4206 w +(-46) 920 4316 w +10 /LucidaSansUnicode00 f +(Note that the) 720 4496 w +10 /LucidaTypewriter f +(next) 1390 4496 w +10 /LucidaSansUnicode00 f +(field cannot be given a complex type automatically.) 1710 4496 w +(When) 970 4652 w +(entered) 1275 4652 w +(at) 1685 4652 w +(the) 1816 4652 w +(top) 2010 4652 w +(level) 2210 4652 w +(of) 2471 4652 w +(the) 2608 4652 w +(interpreter,) 2802 4652 w +(an) 3392 4652 w +(expression) 3549 4652 w +(of) 4120 4652 w +(complex) 4258 4652 w +(type) 4712 4652 w +(is) 4960 4652 w +(treated) 720 4772 w +(specially.) 1105 4772 w +(If) 1624 4772 w +(the) 1730 4772 w +(type) 1925 4772 w +(is) 2173 4772 w +(called) 2293 4772 w +10 /LucidaTypewriter f +(T) 2616 4772 w +10 /LucidaSansUnicode00 f +(and) 2728 4772 w +(an) 2948 4772 w +(Acid) 3105 4772 w +(function) 3357 4772 w +(also) 3798 4772 w +(called) 4034 4772 w +10 /LucidaTypewriter f +(T) 4356 4772 w +10 /LucidaSansUnicode00 f +(exists,) 4467 4772 w +(then) 4823 4772 w +(that) 720 4892 w +(function) 953 4892 w +(will) 1396 4892 w +(be) 1602 4892 w +(called) 1763 4892 w +(with) 2088 4892 w +(the) 2335 4892 w +(expression) 2532 4892 w +(as) 3105 4892 w +(its) 3253 4892 w +(argument.) 3412 4892 w +(The) 3986 4892 w +(compiler) 4210 4892 w +(options) 4676 4892 w +10 /LucidaTypewriter f +(-a) 720 5012 w +10 /LucidaSansUnicode00 f +(and) 900 5012 w +10 /LucidaTypewriter f +(-aa) 1116 5012 w +10 /LucidaSansUnicode00 f +(will) 1368 5012 w +(generate) 1568 5012 w +(Acid) 2029 5012 w +(source) 2277 5012 w +(code) 2635 5012 w +(defining) 2902 5012 w +(such) 3337 5012 w +(complex) 3598 5012 w +(types) 4047 5012 w +(and) 4341 5012 w +(functions;) 4556 5012 w +(see) 720 5132 w +10 /LucidaSans-Italic f +(2c) 915 5132 w +10 /LucidaSansUnicode00 f +(\(1\).) 1028 5132 w +(A) 970 5288 w +10 /LucidaSans-Italic f +(unary-expression) 1077 5288 w +10 /LucidaSansUnicode00 f +(may) 1981 5288 w +(be) 2219 5288 w +(qualified) 2376 5288 w +(with) 2837 5288 w +(a) 3080 5288 w +(format) 3173 5288 w +(specifier) 3535 5288 w +(using) 3986 5288 w +(the) 4290 5288 w +10 /LucidaTypewriter f +(\\) 4483 5288 w +10 /LucidaSansUnicode00 f +(operator.) 4593 5288 w +(This has the same effect as passing the expression to the) 720 5408 w 10 /LucidaTypewriter f -(/) 2845 5708 w +(fmt) 3547 5408 w +10 /LucidaSansUnicode00 f +(builtin function.) 3795 5408 w 10 /LucidaSans-Italic f -(multiplicative-expression) 2949 5708 w +(multiplicative-expression:) 1330 5588 w +(cast-expression) 1580 5708 w (multiplicative-expression) 1580 5828 w 10 /LucidaTypewriter f -(%) 2845 5828 w +(*) 2845 5828 w 10 /LucidaSans-Italic f (multiplicative-expression) 2949 5828 w +(multiplicative-expression) 1580 5948 w +10 /LucidaTypewriter f +(/) 2845 5948 w +10 /LucidaSans-Italic f +(multiplicative-expression) 2949 5948 w +(multiplicative-expression) 1580 6068 w +10 /LucidaTypewriter f +(%) 2845 6068 w +10 /LucidaSans-Italic f +(multiplicative-expression) 2949 6068 w 10 /LucidaSansUnicode00 f -(These) 720 6008 w -(operate) 1043 6008 w -(on) 1447 6008 w +(These) 720 6248 w +(operate) 1043 6248 w +(on) 1447 6248 w 10 /LucidaSans-Italic f -(integer) 1605 6008 w +(integer) 1605 6248 w 10 /LucidaSansUnicode00 f -(and) 1984 6008 w +(and) 1984 6248 w 10 /LucidaSans-Italic f -(float) 2199 6008 w +(float) 2199 6248 w 10 /LucidaSansUnicode00 f -(types) 2457 6008 w -(and) 2751 6008 w -(perform) 2967 6008 w -(the) 3395 6008 w -(expected) 3586 6008 w -(operations:) 4065 6008 w +(types) 2457 6248 w +(and) 2751 6248 w +(perform) 2967 6248 w +(the) 3395 6248 w +(expected) 3586 6248 w +(operations:) 4065 6248 w 10 /LucidaTypewriter f -(*) 4649 6008 w +(*) 4649 6248 w 10 /LucidaSansUnicode00 f -(multi\255) 4757 6008 w -(plication,) 720 6128 w +(multi\255) 4757 6248 w +(plication,) 720 6368 w 10 /LucidaTypewriter f -(/) 1200 6128 w +(/) 1200 6368 w 10 /LucidaSansUnicode00 f -(division,) 1304 6128 w +(division,) 1304 6368 w 10 /LucidaTypewriter f -(%) 1744 6128 w +(%) 1744 6368 w 10 /LucidaSansUnicode00 f -(modulus.) 1848 6128 w +(modulus.) 1848 6368 w 10 /LucidaSans-Italic f -(additive-expression:) 1330 6308 w -(multiplicative-expression) 1580 6428 w -(additive-expression) 1580 6548 w +(additive-expression:) 1330 6548 w +(multiplicative-expression) 1580 6668 w +(additive-expression) 1580 6788 w 10 /LucidaTypewriter f -(+) 2576 6548 w +(+) 2576 6788 w 10 /LucidaSans-Italic f -(multiplicative-expression) 2680 6548 w -(additive-expression) 1580 6668 w +(multiplicative-expression) 2680 6788 w +(additive-expression) 1580 6908 w 10 /LucidaTypewriter f -(-) 2576 6668 w +(-) 2576 6908 w 10 /LucidaSans-Italic f -(multiplicative-expression) 2680 6668 w +(multiplicative-expression) 2680 6908 w 10 /LucidaSansUnicode00 f -(These) 720 6848 w -(operators) 1042 6848 w -(perform) 1542 6848 w -(as) 1968 6848 w -(expected) 2108 6848 w -(for) 2585 6848 w +(These) 720 7088 w +(operators) 1042 7088 w +(perform) 1542 7088 w +(as) 1968 7088 w +(expected) 2108 7088 w +(for) 2585 7088 w 10 /LucidaSans-Italic f -(integer) 2758 6848 w +(integer) 2758 7088 w 10 /LucidaSansUnicode00 f -(and) 3136 6848 w +(and) 3136 7088 w 10 /LucidaSans-Italic f -(float) 3350 6848 w -10 /LucidaSansUnicode00 f -(operands.) 3607 6848 w -(Unlike) 4157 6848 w -(in) 4494 6848 w -(C,) 4619 6848 w -10 /LucidaTypewriter f -(+) 4754 6848 w -10 /LucidaSansUnicode00 f -(and) 4860 6848 w -10 /LucidaTypewriter f -(-) 720 6968 w +(float) 3350 7088 w 10 /LucidaSansUnicode00 f -(do) 840 6968 w -(not) 1012 6968 w -(scale) 1220 6968 w -(the) 1510 6968 w -(addition) 1713 6968 w -(based) 2160 6968 w -(on) 2496 6968 w -(the) 2667 6968 w -(format) 2870 6968 w -(of) 3242 6968 w -(the) 3388 6968 w -(expression.) 3591 6968 w -(This) 4233 6968 w -(means) 4485 6968 w -(that) 4849 6968 w +(operands.) 3607 7088 w +(Unlike) 4157 7088 w +(in) 4494 7088 w +(C,) 4619 7088 w 10 /LucidaTypewriter f -(i=i+1) 720 7088 w +(+) 4754 7088 w 10 /LucidaSansUnicode00 f -(will) 1118 7088 w -(always) 1320 7088 w -(add) 1677 7088 w -(1) 1896 7088 w -(but) 1997 7088 w +(and) 4860 7088 w 10 /LucidaTypewriter f -(i++) 2197 7088 w -10 /LucidaSansUnicode00 f -(will) 2451 7088 w -(add) 2653 7088 w -(the) 2872 7088 w -(size) 3065 7088 w -(corresponding) 3296 7088 w -(to) 4037 7088 w -(the) 4174 7088 w -(format) 4368 7088 w -(stored) 4731 7088 w -(with) 720 7208 w -10 /LucidaTypewriter f -(i) 975 7208 w -10 /LucidaSansUnicode00 f -(.) 1047 7208 w -(If) 1161 7208 w -(both) 1277 7208 w -(operands) 1550 7208 w -(are) 2052 7208 w -(of) 2254 7208 w -(either) 2402 7208 w -10 /LucidaSans-Italic f -(string) 2733 7208 w -10 /LucidaSansUnicode00 f -(or) 3070 7208 w -10 /LucidaSans-Italic f -(list) 3222 7208 w +(-) 720 7208 w 10 /LucidaSansUnicode00 f -(type) 3417 7208 w -(then) 3675 7208 w -(addition) 3942 7208 w -(is) 4390 7208 w -(defined) 4519 7208 w -(as) 4934 7208 w +(do) 840 7208 w +(not) 1012 7208 w +(scale) 1220 7208 w +(the) 1510 7208 w +(addition) 1713 7208 w +(based) 2160 7208 w +(on) 2496 7208 w +(the) 2667 7208 w +(format) 2870 7208 w +(of) 3242 7208 w +(the) 3388 7208 w +(expression.) 3591 7208 w +(This) 4233 7208 w +(means) 4485 7208 w +(that) 4849 7208 w cleartomark showpage saveobj restore @@ -7117,33 +7115,49 @@ 9 pagesetup 10 /LucidaSansUnicode00 f (\255 9 \255) 2783 480 w -(concatenation.) 720 840 w -(Adding) 1471 840 w -(a) 1859 840 w -(string) 1954 840 w -(and) 2276 840 w -(an) 2496 840 w -(integer) 2653 840 w -(is) 3036 840 w -(treated) 3156 840 w -(as) 3541 840 w -(concatenation) 3687 840 w -(with) 4406 840 w -(the) 4651 840 w -(Uni\255) 4847 840 w -(code) 720 960 w -(character) 997 960 w -(corresponding) 1492 960 w -(to) 2241 960 w -(the) 2385 960 w -(integer.) 2586 960 w -(Subtraction) 3039 960 w -(is) 3637 960 w -(undefined) 3763 960 w -(for) 4298 960 w -(strings) 4482 960 w -(and) 4860 960 w -(lists.) 720 1080 w +10 /LucidaTypewriter f +(i=i+1) 720 840 w +10 /LucidaSansUnicode00 f +(will) 1118 840 w +(always) 1320 840 w +(add) 1677 840 w +(1) 1896 840 w +(but) 1997 840 w +10 /LucidaTypewriter f +(i++) 2197 840 w +10 /LucidaSansUnicode00 f +(will) 2451 840 w +(add) 2653 840 w +(the) 2872 840 w +(size) 3065 840 w +(corresponding) 3296 840 w +(to) 4037 840 w +(the) 4174 840 w +(format) 4368 840 w +(stored) 4731 840 w +(with) 720 960 w +10 /LucidaTypewriter f +(i) 958 960 w +10 /LucidaSansUnicode00 f +(.) 1030 960 w +(If) 1127 960 w +(both) 1226 960 w +(operands) 1482 960 w +(are) 1967 960 w +(of) 2152 960 w +(either) 2283 960 w +10 /LucidaSans-Italic f +(string) 2597 960 w +10 /LucidaSansUnicode00 f +(or) 2917 960 w +10 /LucidaSans-Italic f +(list) 3052 960 w +10 /LucidaSansUnicode00 f +(type) 3230 960 w +(then) 3503 960 w +(addition) 3753 960 w +(is defined as con\255) 4185 960 w +(catenation. Subtraction is undefined for these two types.) 720 1080 w 10 /LucidaSans-Italic f (shift-expression:) 1330 1260 w (additive-expression) 1580 1380 w @@ -7842,36 +7856,36 @@ 10 /LucidaSansUnicode00 f (\255 11 \255) 2752 480 w 9 /LucidaTypewriter f -(acid:) 1008 830 w -(defn) 1398 830 w -(code\(*e\)) 1723 830 w -({) 2308 830 w -(return) 2438 830 w -(e;) 2893 830 w -(}) 3088 830 w -(acid:) 1008 940 w -(x) 1398 940 w -(=) 1528 940 w -(code\(v+atoi\("100"\)\\D\)) 1658 940 w -(acid:) 1008 1050 w -(print\(x\)) 1398 1050 w -(\(v+atoi\("100"\)\)\\D;) 1008 1160 w -(acid:) 1008 1270 w -(eval) 1398 1270 w -(x) 1723 1270 w -(:5:) 1008 1380 w -(\(error\)) 1723 1380 w -(v) 2243 1380 w -(used) 2373 1380 w -(but) 2698 1380 w -(not) 2958 1380 w -(set) 3218 1380 w -(acid:) 1008 1490 w -(v=5) 1398 1490 w -(acid:) 1008 1600 w -(eval) 1398 1600 w -(x) 1723 1600 w -(105) 1008 1710 w +(acid:) 920 830 w +(defn) 1310 830 w +(code\(*e\)) 1635 830 w +({) 2220 830 w +(return) 2350 830 w +(e;) 2805 830 w +(}) 3000 830 w +(acid:) 920 940 w +(x) 1310 940 w +(=) 1440 940 w +(code\(v+atoi\("100"\)\\D\)) 1570 940 w +(acid:) 920 1050 w +(print\(x\)) 1310 1050 w +(\(v+atoi\("100"\)\)\\D;) 920 1160 w +(acid:) 920 1270 w +(eval) 1310 1270 w +(x) 1635 1270 w +(:5:) 920 1380 w +(\(error\)) 1635 1380 w +(v) 2155 1380 w +(used) 2285 1380 w +(but) 2610 1380 w +(not) 2870 1380 w +(set) 3130 1380 w +(acid:) 920 1490 w +(v=5) 1310 1490 w +(acid:) 920 1600 w +(eval) 1310 1600 w +(x) 1635 1600 w +(105) 920 1710 w 10 /LucidaSans-Demi f (Source Code Management) 720 2010 w 10 /LucidaSansUnicode00 f @@ -8515,70 +8529,172 @@ (0x00001020 ADD) 1170 4680 w ($-64,R29) 2370 4680 w 10 /LucidaSans-Italic f -(fmt) 720 4836 w +(list) 720 4836 w 10 /LucidaTypewriter f -(fmtof\() 953 4836 w +(fnbound\() 929 4836 w 10 /LucidaSans-Italic f -(item) 1385 4836 w -10 /LucidaTypewriter f -(\)) 1598 4836 w -10 /LucidaSansUnicode00 f -(Get format) 4519 4836 w +(integer) 1505 4836 w 10 /LucidaTypewriter f -(fmtof) 970 4992 w +(\)) 1849 4836 w 10 /LucidaSansUnicode00 f -(evaluates the expression) 1362 4992 w -10 /LucidaSans-Italic f -(item) 2597 4992 w -10 /LucidaSansUnicode00 f -(and returns the format of the result.) 2842 4992 w -10 /LucidaTypewriter f -(acid: +fmtof\(33\)) 1170 5148 w -(W) 1170 5268 w -(acid: +fmtof\("string"\)) 1170 5388 w -(s) 1170 5508 w -10 /LucidaSans-Italic f -(integer) 720 5664 w -10 /LucidaTypewriter f -(fmtsize\() 1128 5664 w -10 /LucidaSans-Italic f -(item) 1704 5664 w -10 /LucidaTypewriter f -(\)) 1917 5664 w -10 /LucidaSansUnicode00 f -(Get format size) 4294 5664 w -10 /LucidaTypewriter f -(fmtsize) 970 5820 w -10 /LucidaSansUnicode00 f -(evaluates) 1515 5820 w -(the) 2009 5820 w -(expression) 2206 5820 w -10 /LucidaSans-Italic f -(item) 2779 5820 w -10 /LucidaSansUnicode00 f -(and) 3034 5820 w -(returns) 3256 5820 w -(the) 3648 5820 w -(size) 3845 5820 w -(in) 4080 5820 w -(bytes) 4213 5820 w -(of) 4514 5820 w -(a) 4654 5820 w -(single) 4751 5820 w -(element of result) 970 5940 w -10 /LucidaSansUnicode20 f -(\031) 1797 5940 w -10 /LucidaSansUnicode00 f -(s format.) 1829 5940 w -10 /LucidaTypewriter f -(acid: +fmtsize\('c'\)) 1170 6096 w -(8) 1170 6216 w -(acid: +fmtsize\('c'\\c\)) 1170 6336 w -(1) 1170 6456 w -(acid: +fmtsize\(0\\X\)) 1170 6576 w -(4) 1170 6696 w -(acid: +fmtsize\('c'\\3\)) 1170 6816 w -(10) 1170 6936 w +(Find start and end address of a function) 3092 4836 w +10 /LucidaTypewriter f +(fnbound) 970 4992 w +10 /LucidaSansUnicode00 f +(interprets) 1546 4992 w +(its) 2091 4992 w +10 /LucidaSans-Italic f +(integer) 2280 4992 w +10 /LucidaSansUnicode00 f +(argument) 2696 4992 w +(as) 3236 4992 w +(an) 3415 4992 w +(address) 3605 4992 w +(in) 4058 4992 w +(the) 4222 4992 w +(text) 4450 4992 w +(of) 4714 4992 w +(the) 4885 4992 w +(debugged) 970 5112 w +(program.) 1500 5112 w +10 /LucidaTypewriter f +(fnbound) 2023 5112 w +10 /LucidaSansUnicode00 f +(returns) 2570 5112 w +(a) 2963 5112 w +(list) 3061 5112 w +(containing) 3250 5112 w +(two) 3803 5112 w +(integers) 4021 5112 w +(correspond\255) 4457 5112 w +(ing) 970 5232 w +(to) 1157 5232 w +(the) 1289 5232 w +(start) 1478 5232 w +(and) 1733 5232 w +(end) 1947 5232 w +(addresses) 2162 5232 w +(of) 2683 5232 w +(the) 2816 5232 w +(function) 3006 5232 w +(containing) 3442 5232 w +(the) 3987 5232 w +(supplied) 4177 5232 w +(address.) 4628 5232 w +(If) 970 5352 w +(the) 1070 5352 w +10 /LucidaSans-Italic f +(integer) 1259 5352 w +10 /LucidaSansUnicode00 f +(address) 1637 5352 w +(is) 2051 5352 w +(not) 2165 5352 w +(in) 2359 5352 w +(the) 2484 5352 w +(text) 2673 5352 w +(segment) 2898 5352 w +(of) 3349 5352 w +(the) 3481 5352 w +(program) 3670 5352 w +(then) 4120 5352 w +(the) 4371 5352 w +(empty) 4560 5352 w +(list) 4894 5352 w +(is returned.) 970 5472 w +10 /LucidaTypewriter f +(fnbound) 1596 5472 w +10 /LucidaSansUnicode00 f +(is used by) 2132 5472 w +10 /LucidaTypewriter f +(next) 2655 5472 w +10 /LucidaSansUnicode00 f +(to detect stepping into new functions.) 2975 5472 w +10 /LucidaTypewriter f +(acid: print\(fnbound\(main\)\)) 1170 5628 w +({0x00001050, 0x000014b8}) 1170 5748 w +({}) 720 5904 w +(follow\() 1008 5904 w +10 /LucidaSans-Italic f +(integer) 1512 5904 w +10 /LucidaTypewriter f +(\)) 1856 5904 w +10 /LucidaSansUnicode00 f +(Compute follow set) 4097 5904 w +(The) 970 6060 w +(follow) 1199 6060 w +(set) 1541 6060 w +(is) 1733 6060 w +(defined) 1861 6060 w +(as) 2275 6060 w +(the) 2429 6060 w +(set) 2632 6060 w +(of) 2824 6060 w +(program) 2971 6060 w +(counter) 3436 6060 w +(values) 3855 6060 w +(that) 4209 6060 w +(could) 4449 6060 w +(result) 4764 6060 w +(from) 970 6180 w +(executing) 1245 6180 w +(an) 1764 6180 w +(instruction.) 1924 6180 w +10 /LucidaTypewriter f +(follow) 2553 6180 w +10 /LucidaSansUnicode00 f +(interprets) 3028 6180 w +(its) 3544 6180 w +10 /LucidaSans-Italic f +(integer) 3704 6180 w +10 /LucidaSansUnicode00 f +(argument) 4091 6180 w +(as) 4602 6180 w +(a) 4751 6180 w +(text) 4849 6180 w +(address,) 970 6300 w +(decodes) 1419 6300 w +(the) 1857 6300 w +(instruction) 2049 6300 w +(at) 2608 6300 w +(that) 2737 6300 w +(address) 2965 6300 w +(and,) 3382 6300 w +(with) 3631 6300 w +(the) 3873 6300 w +(current) 4065 6300 w +(register) 4453 6300 w +(set,) 4864 6300 w +(builds) 970 6420 w +(a) 1300 6420 w +(list) 1388 6420 w +(of) 1567 6420 w +(possible) 1698 6420 w +(next) 2134 6420 w +(program) 2383 6420 w +(counter) 2832 6420 w +(values.) 3235 6420 w +(If) 3605 6420 w +(the) 3704 6420 w +(instruction at the speci\255) 3892 6420 w +(fied address cannot be decoded) 970 6540 w +10 /LucidaTypewriter f +(follow) 2555 6540 w +10 /LucidaSansUnicode00 f +(raises an error.) 3019 6540 w +10 /LucidaTypewriter f +(follow) 3820 6540 w +10 /LucidaSansUnicode00 f +(is) 4285 6540 w +(used) 4398 6540 w +(to) 4663 6540 w +(plant) 4794 6540 w +(breakpoints) 970 6660 w +(on) 1579 6660 w +(all) 1735 6660 w +(potential) 1881 6660 w +(paths) 2343 6660 w +(of execution. The following code fragment plants) 2644 6660 w +(breakpoints on top of all potential following instructions.) 970 6780 w cleartomark showpage saveobj restore @@ -8589,364 +8705,327 @@ 13 pagesetup 10 /LucidaSansUnicode00 f (\255 13 \255) 2752 480 w -10 /LucidaSans-Italic f -(list) 720 876 w 10 /LucidaTypewriter f -(fnbound\() 929 876 w +(lst = follow\(*PC\);) 1170 876 w +(while lst do) 1170 996 w +({) 1170 1116 w +(*head lst = bpinst;) 1370 1236 w +(lst = tail lst;) 1370 1356 w +(}) 1170 1476 w +({}) 720 1632 w +(include\() 1008 1632 w +10 /LucidaSans-Italic f +(string) 1584 1632 w +10 /LucidaTypewriter f +(\)) 1871 1632 w +10 /LucidaSansUnicode00 f +(Take input from a new file) 3762 1632 w +10 /LucidaTypewriter f +(include) 970 1788 w +10 /LucidaSansUnicode00 f +(opens) 1525 1788 w +(the) 1869 1788 w +(file) 2075 1788 w +(specified) 2277 1788 w +(by) 2763 1788 w +10 /LucidaSans-Italic f +(string) 2929 1788 w +10 /LucidaSansUnicode00 f +(and) 3267 1788 w +(uses) 3498 1788 w +(its) 3769 1788 w +(contents) 3937 1788 w +(as) 4405 1788 w +(command) 4562 1788 w +(input) 970 1908 w +(to) 1259 1908 w +(the) 1393 1908 w +(interpreter.) 1584 1908 w +(The) 2203 1908 w +(interpreter) 2420 1908 w +(restores) 2974 1908 w +(input) 3403 1908 w +(to) 3691 1908 w +(its) 3824 1908 w +(previous) 3976 1908 w +(source) 4426 1908 w +(when) 4783 1908 w +(it) 970 2028 w +(encounters) 1070 2028 w +(either) 1643 2028 w +(an) 1958 2028 w +(end) 2109 2028 w +(of) 2324 2028 w +(file) 2456 2028 w +(or) 2641 2028 w +(an) 2777 2028 w +(error.) 2928 2028 w +10 /LucidaTypewriter f +(include) 3266 2028 w +10 /LucidaSansUnicode00 f +(can) 3804 2028 w +(be) 4006 2028 w +(used) 4159 2028 w +(to) 4425 2028 w +(incremen\255) 4557 2028 w +(tally load symbol table information without leaving the interpreter.) 970 2148 w +10 /LucidaTypewriter f +(acid: include\("/sys/src/cmd/acme/syms"\)) 1170 2304 w +({}) 720 2460 w +(interpret\() 1008 2460 w 10 /LucidaSans-Italic f -(integer) 1505 876 w +(string) 1728 2460 w 10 /LucidaTypewriter f -(\)) 1849 876 w +(\)) 2015 2460 w 10 /LucidaSansUnicode00 f -(Find start and end address of a function) 3092 876 w -10 /LucidaTypewriter f -(fnbound) 970 1032 w -10 /LucidaSansUnicode00 f -(interprets) 1546 1032 w -(its) 2091 1032 w -10 /LucidaSans-Italic f -(integer) 2280 1032 w -10 /LucidaSansUnicode00 f -(argument) 2696 1032 w -(as) 3236 1032 w -(an) 3415 1032 w -(address) 3605 1032 w -(in) 4058 1032 w -(the) 4222 1032 w -(text) 4450 1032 w -(of) 4714 1032 w -(the) 4885 1032 w -(debugged) 970 1152 w -(program.) 1500 1152 w -10 /LucidaTypewriter f -(fnbound) 2023 1152 w -10 /LucidaSansUnicode00 f -(returns) 2570 1152 w -(a) 2963 1152 w -(list) 3061 1152 w -(containing) 3250 1152 w -(two) 3803 1152 w -(integers) 4021 1152 w -(correspond\255) 4457 1152 w -(ing) 970 1272 w -(to) 1157 1272 w -(the) 1289 1272 w -(start) 1478 1272 w -(and) 1733 1272 w -(end) 1947 1272 w -(addresses) 2162 1272 w -(of) 2683 1272 w -(the) 2816 1272 w -(function) 3006 1272 w -(containing) 3442 1272 w -(the) 3987 1272 w -(supplied) 4177 1272 w -(address.) 4628 1272 w -(If) 970 1392 w -(the) 1070 1392 w -10 /LucidaSans-Italic f -(integer) 1259 1392 w -10 /LucidaSansUnicode00 f -(address) 1637 1392 w -(is) 2051 1392 w -(not) 2165 1392 w -(in) 2359 1392 w -(the) 2484 1392 w -(text) 2673 1392 w -(segment) 2898 1392 w -(of) 3349 1392 w -(the) 3481 1392 w -(program) 3670 1392 w -(then) 4120 1392 w -(the) 4371 1392 w -(empty) 4560 1392 w -(list) 4894 1392 w -(is returned.) 970 1512 w -10 /LucidaTypewriter f -(fnbound) 1596 1512 w -10 /LucidaSansUnicode00 f -(is used by) 2132 1512 w -10 /LucidaTypewriter f -(next) 2655 1512 w -10 /LucidaSansUnicode00 f -(to detect stepping into new functions.) 2975 1512 w -10 /LucidaTypewriter f -(acid: print\(fnbound\(main\)\)) 1170 1668 w -({0x00001050, 0x000014b8}) 1170 1788 w -({}) 720 1944 w -(follow\() 1008 1944 w -10 /LucidaSans-Italic f -(integer) 1512 1944 w -10 /LucidaTypewriter f -(\)) 1856 1944 w -10 /LucidaSansUnicode00 f -(Compute follow set) 4097 1944 w -(The) 970 2100 w -(follow) 1199 2100 w -(set) 1541 2100 w -(is) 1733 2100 w -(defined) 1861 2100 w -(as) 2275 2100 w -(the) 2429 2100 w -(set) 2632 2100 w -(of) 2824 2100 w -(program) 2971 2100 w -(counter) 3436 2100 w -(values) 3855 2100 w -(that) 4209 2100 w -(could) 4449 2100 w -(result) 4764 2100 w -(from) 970 2220 w -(executing) 1245 2220 w -(an) 1764 2220 w -(instruction.) 1924 2220 w -10 /LucidaTypewriter f -(follow) 2553 2220 w -10 /LucidaSansUnicode00 f -(interprets) 3028 2220 w -(its) 3544 2220 w -10 /LucidaSans-Italic f -(integer) 3704 2220 w -10 /LucidaSansUnicode00 f -(argument) 4091 2220 w -(as) 4602 2220 w -(a) 4751 2220 w -(text) 4849 2220 w -(address,) 970 2340 w -(decodes) 1419 2340 w -(the) 1857 2340 w -(instruction) 2049 2340 w -(at) 2608 2340 w -(that) 2737 2340 w -(address) 2965 2340 w -(and,) 3382 2340 w -(with) 3631 2340 w -(the) 3873 2340 w -(current) 4065 2340 w -(register) 4453 2340 w -(set,) 4864 2340 w -(builds) 970 2460 w -(a) 1300 2460 w -(list) 1388 2460 w -(of) 1567 2460 w -(possible) 1698 2460 w -(next) 2134 2460 w -(program) 2383 2460 w -(counter) 2832 2460 w -(values.) 3235 2460 w -(If) 3605 2460 w -(the) 3704 2460 w -(instruction at the speci\255) 3892 2460 w -(fied address cannot be decoded) 970 2580 w -10 /LucidaTypewriter f -(follow) 2555 2580 w -10 /LucidaSansUnicode00 f -(raises an error.) 3019 2580 w -10 /LucidaTypewriter f -(follow) 3820 2580 w -10 /LucidaSansUnicode00 f -(is) 4285 2580 w -(used) 4398 2580 w -(to) 4663 2580 w -(plant) 4794 2580 w -(breakpoints) 970 2700 w -(on) 1579 2700 w -(all) 1735 2700 w -(potential) 1881 2700 w -(paths) 2343 2700 w -(of execution. The following code fragment plants) 2644 2700 w -(breakpoints on top of all potential following instructions.) 970 2820 w -10 /LucidaTypewriter f -(lst = follow\(*PC\);) 1170 2976 w -(while lst do) 1170 3096 w -({) 1170 3216 w -(*head lst = bpinst;) 1370 3336 w -(lst = tail lst;) 1370 3456 w -(}) 1170 3576 w -({}) 720 3732 w -(include\() 1008 3732 w -10 /LucidaSans-Italic f -(string) 1584 3732 w -10 /LucidaTypewriter f -(\)) 1871 3732 w -10 /LucidaSansUnicode00 f -(Take input from a new file) 3762 3732 w -10 /LucidaTypewriter f -(include) 970 3888 w -10 /LucidaSansUnicode00 f -(opens) 1525 3888 w -(the) 1869 3888 w -(file) 2075 3888 w -(specified) 2277 3888 w -(by) 2763 3888 w -10 /LucidaSans-Italic f -(string) 2929 3888 w -10 /LucidaSansUnicode00 f -(and) 3267 3888 w -(uses) 3498 3888 w -(its) 3769 3888 w -(contents) 3937 3888 w -(as) 4405 3888 w -(command) 4562 3888 w -(input) 970 4008 w -(to) 1259 4008 w -(the) 1393 4008 w -(interpreter.) 1584 4008 w -(The) 2203 4008 w -(interpreter) 2420 4008 w -(restores) 2974 4008 w -(input) 3403 4008 w -(to) 3691 4008 w -(its) 3824 4008 w -(previous) 3976 4008 w -(source) 4426 4008 w -(when) 4783 4008 w -(it) 970 4128 w -(encounters) 1070 4128 w -(either) 1643 4128 w -(an) 1958 4128 w -(end) 2109 4128 w -(of) 2324 4128 w -(file) 2456 4128 w -(or) 2641 4128 w -(an) 2777 4128 w -(error.) 2928 4128 w -10 /LucidaTypewriter f -(include) 3266 4128 w -10 /LucidaSansUnicode00 f -(can) 3804 4128 w -(be) 4006 4128 w -(used) 4159 4128 w -(to) 4425 4128 w -(incremen\255) 4557 4128 w -(tally load symbol table information without leaving the interpreter.) 970 4248 w +(Take input from a string) 3858 2460 w 10 /LucidaTypewriter f -(acid: include\("/sys/src/cmd/acme/syms"\)) 1170 4404 w -({}) 720 4560 w -(interpret\() 1008 4560 w -10 /LucidaSans-Italic f -(string) 1728 4560 w +(interpret) 970 2616 w +10 /LucidaSansUnicode00 f +(evaluates) 1651 2616 w +(the) 2137 2616 w +10 /LucidaSans-Italic f +(string) 2325 2616 w +10 /LucidaSansUnicode00 f +(expression) 2645 2616 w +(and) 3209 2616 w +(uses) 3422 2616 w +(its) 3675 2616 w +(result) 3825 2616 w +(as) 4135 2616 w +(command) 4275 2616 w +(input) 4787 2616 w +(for) 970 2736 w +(the) 1157 2736 w +(interpreter.) 1360 2736 w +(The) 1991 2736 w +(interpreter) 2220 2736 w +(restores) 2787 2736 w +(input) 3229 2736 w +(to) 3530 2736 w +(its) 3675 2736 w +(previous) 3839 2736 w +(source) 4301 2736 w +(when) 4670 2736 w +(it) 4974 2736 w +(encounters) 970 2856 w +(either) 1551 2856 w +(the) 1874 2856 w +(end) 2071 2856 w +(of) 2294 2856 w +(string) 2434 2856 w +(or) 2759 2856 w +(an) 2904 2856 w +(error.) 3064 2856 w +(The) 3379 2856 w +10 /LucidaTypewriter f +(interpret) 3603 2856 w +10 /LucidaSansUnicode00 f +(function) 4294 2856 w +(allows) 4738 2856 w +(Acid programs to write Acid code for later evaluation.) 970 2976 w +10 /LucidaTypewriter f +(acid: interpret\("main+10;"\)) 1170 3132 w +(0x0000102a) 1170 3252 w +10 /LucidaSans-Italic f +(string) 720 3408 w +10 /LucidaTypewriter f +(itoa\() 1071 3408 w +10 /LucidaSans-Italic f +(integer[,string]) 1431 3408 w +10 /LucidaTypewriter f +(\)) 2160 3408 w +10 /LucidaSansUnicode00 f +(Convert integer to string) 3843 3408 w +10 /LucidaTypewriter f +(itoa) 970 3564 w +10 /LucidaSansUnicode00 f +(takes) 1298 3564 w +(an) 1595 3564 w +(integer) 1752 3564 w +(argument) 2136 3564 w +(and) 2645 3564 w +(converts) 2866 3564 w +(it) 3318 3564 w +(into) 3425 3564 w +(an) 3655 3564 w +(ASCII) 3813 3564 w +(string) 4104 3564 w +(in) 4427 3564 w +(the) 4559 3564 w +10 /LucidaTypewriter f +(D) 4755 3564 w +10 /LucidaSansUnicode00 f +(for\255) 4868 3564 w +(mat.) 970 3684 w +(an) 1266 3684 w +(alternate) 1430 3684 w +(format) 1904 3684 w +(string) 2274 3684 w +(may) 2602 3684 w +(be) 2848 3684 w +(provided) 3013 3684 w +(in) 3487 3684 w +(the) 3624 3684 w +10 /LucidaTypewriter f +(%) 3825 3684 w +10 /LucidaSansUnicode00 f +(style) 3943 3684 w +(of) 4214 3684 w +10 /LucidaSans-Italic f +(print) 4358 3684 w +10 /LucidaSansUnicode00 f +(\(2\).) 4596 3684 w +(This) 4835 3684 w +(function is commonly used to build) 970 3804 w +10 /LucidaTypewriter f +(rc) 2721 3804 w +10 /LucidaSansUnicode00 f +(command lines.) 2897 3804 w +10 /LucidaTypewriter f +(acid: rc\("cat /proc/"+itoa\(pid\)+"/segment"\)) 1170 3960 w +(Stack) 1170 4080 w +(7fc00000 80000000) 1818 4080 w +(1) 3330 4080 w +(Data) 1170 4200 w +(00001000 00009000) 1818 4200 w +(1) 3330 4200 w +(Data) 1170 4320 w +(00009000 0000a000) 1818 4320 w +(1) 3330 4320 w +(Bss) 1170 4440 w +(0000a000 0000c000) 1818 4440 w +(1) 3330 4440 w +({}) 720 4596 w +(kill\() 1008 4596 w +10 /LucidaSans-Italic f +(integer) 1368 4596 w +10 /LucidaTypewriter f +(\)) 1712 4596 w +10 /LucidaSansUnicode00 f +(Kill a process) 4395 4596 w +10 /LucidaTypewriter f +(kill) 970 4752 w +10 /LucidaSansUnicode00 f +(writes) 1294 4752 w +(a) 1621 4752 w +(kill) 1712 4752 w +(control) 1893 4752 w +(message) 2271 4752 w +(into) 2731 4752 w +(the) 2956 4752 w +(control) 3148 4752 w +(file) 3527 4752 w +(of) 3715 4752 w +(the) 3850 4752 w +(process) 4042 4752 w +(specified) 4453 4752 w +(by) 4925 4752 w +(the) 970 4872 w +10 /LucidaSans-Italic f +(integer) 1179 4872 w +10 /LucidaSansUnicode00 f +(pid.) 1577 4872 w +(If) 1850 4872 w +(the) 1970 4872 w +(process) 2179 4872 w +(was) 2607 4872 w +(previously) 2844 4872 w +(installed) 3394 4872 w +(by) 3859 4872 w +10 /LucidaTypewriter f +(setproc) 4028 4872 w +10 /LucidaSansUnicode00 f +(it) 4585 4872 w +(will) 4704 4872 w +(be) 4921 4872 w +(removed) 970 4992 w +(from) 1441 4992 w +(the) 1722 4992 w +(list) 1926 4992 w +(of) 2121 4992 w +(active) 2268 4992 w +(processes.) 2597 4992 w +(If) 3191 4992 w +(the) 3306 4992 w +10 /LucidaSans-Italic f +(integer) 3510 4992 w +10 /LucidaSansUnicode00 f +(has) 3903 4992 w +(the) 4120 4992 w +(same) 4325 4992 w +(value) 4630 4992 w +(as) 4934 4992 w +10 /LucidaTypewriter f +(pid) 970 5112 w +10 /LucidaSansUnicode00 f +(,) 1186 5112 w +(then) 1262 5112 w +10 /LucidaTypewriter f +(pid) 1523 5112 w +10 /LucidaSansUnicode00 f +(will) 1783 5112 w +(be) 1991 5112 w +(set) 2154 5112 w +(to) 2342 5112 w +(0.) 2484 5112 w +(To) 2655 5112 w +(continue) 2823 5112 w +(debugging,) 3286 5112 w +(a) 3882 5112 w +(new) 3980 5112 w +(process) 4218 5112 w +(must) 4635 5112 w +(be) 4921 5112 w +(selected using) 970 5232 w +10 /LucidaTypewriter f +(setproc) 1699 5232 w +10 /LucidaSansUnicode00 f +(.) 2203 5232 w +(For example, to kill all the active processes:) 2299 5232 w +10 /LucidaTypewriter f +(while proclist do {) 1170 5388 w +(kill\(head proclist\);) 1370 5508 w +(proclist = tail proclist;) 1370 5628 w +(}) 1170 5748 w +10 /LucidaSans-Italic f +(integer) 720 5904 w +10 /LucidaTypewriter f +(offsetof\() 1128 5904 w +10 /LucidaSans-Italic f +(integer) 1776 5904 w +10 /LucidaTypewriter f +(\)) 2120 5904 w +10 /LucidaSansUnicode00 f +(Get the offset of an) 3344 5904 w +10 /LucidaTypewriter f +(Aggr) 4318 5904 w +10 /LucidaSansUnicode00 f +(member) 4638 5904 w +10 /LucidaTypewriter f +(offsetof) 970 6060 w +10 /LucidaSansUnicode00 f +(returns) 1586 6060 w +(the) 1976 6060 w +(offset) 2171 6060 w +(of) 2490 6060 w +(an) 2628 6060 w +10 /LucidaTypewriter f +(Aggr) 2785 6060 w +10 /LucidaSansUnicode00 f +(member.) 3113 6060 w +(For) 3619 6060 w +(example) 3816 6060 w +(to) 4270 6060 w +(set) 4409 6060 w +(an) 4594 6060 w 10 /LucidaTypewriter f -(\)) 2015 4560 w +(Aggr) 4752 6060 w 10 /LucidaSansUnicode00 f -(Take input from a string) 3858 4560 w +(member) 970 6180 w 10 /LucidaTypewriter f -(interpret) 970 4716 w -10 /LucidaSansUnicode00 f -(evaluates) 1651 4716 w -(the) 2137 4716 w -10 /LucidaSans-Italic f -(string) 2325 4716 w -10 /LucidaSansUnicode00 f -(expression) 2645 4716 w -(and) 3209 4716 w -(uses) 3422 4716 w -(its) 3675 4716 w -(result) 3825 4716 w -(as) 4135 4716 w -(command) 4275 4716 w -(input) 4787 4716 w -(for) 970 4836 w -(the) 1157 4836 w -(interpreter.) 1360 4836 w -(The) 1991 4836 w -(interpreter) 2220 4836 w -(restores) 2787 4836 w -(input) 3229 4836 w -(to) 3530 4836 w -(its) 3675 4836 w -(previous) 3839 4836 w -(source) 4301 4836 w -(when) 4670 4836 w -(it) 4974 4836 w -(encounters) 970 4956 w -(either) 1551 4956 w -(the) 1874 4956 w -(end) 2071 4956 w -(of) 2294 4956 w -(string) 2434 4956 w -(or) 2759 4956 w -(an) 2904 4956 w -(error.) 3064 4956 w -(The) 3379 4956 w -10 /LucidaTypewriter f -(interpret) 3603 4956 w -10 /LucidaSansUnicode00 f -(function) 4294 4956 w -(allows) 4738 4956 w -(Acid programs to write Acid code for later evaluation.) 970 5076 w -10 /LucidaTypewriter f -(acid: interpret\("main+10;"\)) 1170 5232 w -(0x0000102a) 1170 5352 w -10 /LucidaSans-Italic f -(string) 720 5508 w -10 /LucidaTypewriter f -(itoa\() 1071 5508 w -10 /LucidaSans-Italic f -(integer[,string]) 1431 5508 w -10 /LucidaTypewriter f -(\)) 2160 5508 w -10 /LucidaSansUnicode00 f -(Convert integer to string) 3843 5508 w -10 /LucidaTypewriter f -(itoa) 970 5664 w -10 /LucidaSansUnicode00 f -(takes) 1298 5664 w -(an) 1595 5664 w -(integer) 1752 5664 w -(argument) 2136 5664 w -(and) 2645 5664 w -(converts) 2866 5664 w -(it) 3318 5664 w -(into) 3425 5664 w -(an) 3655 5664 w -(ASCII) 3813 5664 w -(string) 4104 5664 w -(in) 4427 5664 w -(the) 4559 5664 w -10 /LucidaTypewriter f -(D) 4755 5664 w -10 /LucidaSansUnicode00 f -(for\255) 4868 5664 w -(mat.) 970 5784 w -(an) 1266 5784 w -(alternate) 1430 5784 w -(format) 1904 5784 w -(string) 2274 5784 w -(may) 2602 5784 w -(be) 2848 5784 w -(provided) 3013 5784 w -(in) 3487 5784 w -(the) 3624 5784 w -10 /LucidaTypewriter f -(%) 3825 5784 w -10 /LucidaSansUnicode00 f -(style) 3943 5784 w -(of) 4214 5784 w -10 /LucidaSans-Italic f -(print) 4358 5784 w -10 /LucidaSansUnicode00 f -(\(2\).) 4596 5784 w -(This) 4835 5784 w -(function is commonly used to build) 970 5904 w -10 /LucidaTypewriter f -(rc) 2721 5904 w -10 /LucidaSansUnicode00 f -(command lines.) 2897 5904 w -10 /LucidaTypewriter f -(acid: rc\("cat /proc/"+itoa\(pid\)+"/segment"\)) 1170 6060 w -(Stack) 1170 6180 w -(7fc00000 80000000) 1818 6180 w -(1) 3330 6180 w -(Data) 1170 6300 w -(00001000 00009000) 1818 6300 w -(1) 3330 6300 w -(Data) 1170 6420 w -(00009000 0000a000) 1818 6420 w -(1) 3330 6420 w -(Bss) 1170 6540 w -(0000a000 0000c000) 1818 6540 w -(1) 3330 6540 w +(x = offsetof\(proc, privatemem\)) 1170 6336 w +(*\(x\\X\) = 1) 1170 6456 w cleartomark showpage saveobj restore @@ -8957,537 +9036,502 @@ 14 pagesetup 10 /LucidaSansUnicode00 f (\255 14 \255) 2752 480 w +10 /LucidaSans-Italic f +(list) 720 876 w 10 /LucidaTypewriter f -({}) 720 876 w -(kill\() 1008 876 w +(map\() 929 876 w 10 /LucidaSans-Italic f -(integer) 1368 876 w +(list) 1217 876 w 10 /LucidaTypewriter f -(\)) 1712 876 w +(\)) 1362 876 w 10 /LucidaSansUnicode00 f -(Kill a process) 4395 876 w +(Set or retrieve process memory map) 3282 876 w 10 /LucidaTypewriter f -(kill) 970 1032 w -10 /LucidaSansUnicode00 f -(writes) 1294 1032 w -(a) 1621 1032 w -(kill) 1712 1032 w -(control) 1893 1032 w -(message) 2271 1032 w -(into) 2731 1032 w -(the) 2956 1032 w -(control) 3148 1032 w -(file) 3527 1032 w -(of) 3715 1032 w -(the) 3850 1032 w -(process) 4042 1032 w -(specified) 4453 1032 w -(by) 4925 1032 w -(the) 970 1152 w -10 /LucidaSans-Italic f -(integer) 1179 1152 w -10 /LucidaSansUnicode00 f -(pid.) 1577 1152 w -(If) 1850 1152 w -(the) 1970 1152 w -(process) 2179 1152 w -(was) 2607 1152 w -(previously) 2844 1152 w -(installed) 3394 1152 w -(by) 3859 1152 w -10 /LucidaTypewriter f -(setproc) 4028 1152 w -10 /LucidaSansUnicode00 f -(it) 4585 1152 w -(will) 4704 1152 w -(be) 4921 1152 w -(removed) 970 1272 w -(from) 1441 1272 w -(the) 1722 1272 w -(list) 1926 1272 w -(of) 2121 1272 w -(active) 2268 1272 w -(processes.) 2597 1272 w -(If) 3191 1272 w -(the) 3306 1272 w -10 /LucidaSans-Italic f -(integer) 3510 1272 w -10 /LucidaSansUnicode00 f -(has) 3903 1272 w -(the) 4120 1272 w -(same) 4325 1272 w -(value) 4630 1272 w -(as) 4934 1272 w -10 /LucidaTypewriter f -(pid) 970 1392 w -10 /LucidaSansUnicode00 f -(,) 1186 1392 w -(then) 1262 1392 w -10 /LucidaTypewriter f -(pid) 1523 1392 w -10 /LucidaSansUnicode00 f -(will) 1783 1392 w -(be) 1991 1392 w -(set) 2154 1392 w -(to) 2342 1392 w -(0.) 2484 1392 w -(To) 2655 1392 w -(continue) 2823 1392 w -(debugging,) 3286 1392 w -(a) 3882 1392 w -(new) 3980 1392 w -(process) 4218 1392 w -(must) 4635 1392 w -(be) 4921 1392 w -(selected using) 970 1512 w -10 /LucidaTypewriter f -(setproc) 1699 1512 w -10 /LucidaSansUnicode00 f -(.) 2203 1512 w -(For example, to kill all the active processes:) 2299 1512 w -10 /LucidaTypewriter f -(while proclist do {) 1170 1668 w -(kill\(head proclist\);) 1370 1788 w -(proclist = tail proclist;) 1370 1908 w -(}) 1170 2028 w -10 /LucidaSans-Italic f -(list) 720 2184 w -10 /LucidaTypewriter f -(map\() 929 2184 w -10 /LucidaSans-Italic f -(list) 1217 2184 w -10 /LucidaTypewriter f -(\)) 1362 2184 w -10 /LucidaSansUnicode00 f -(Set or retrieve process memory map) 3282 2184 w -10 /LucidaTypewriter f -(map) 970 2340 w -10 /LucidaSansUnicode00 f -(either) 1234 2340 w -(retrieves) 1563 2340 w -(all) 2030 2340 w -(the) 2191 2340 w -(mappings) 2394 2340 w -(associated) 2920 2340 w -(with) 3477 2340 w -(a) 3730 2340 w -(process) 3833 2340 w -(or) 4255 2340 w -(sets) 4405 2340 w -(a) 4648 2340 w -(single) 4751 2340 w -(map) 970 2460 w -(entry) 1215 2460 w -(to) 1497 2460 w -(a) 1629 2460 w -(new) 1718 2460 w -(value.) 1947 2460 w -(If) 2299 2460 w -(the) 2399 2460 w -10 /LucidaSans-Italic f -(list) 2588 2460 w -10 /LucidaSansUnicode00 f -(argument) 2767 2460 w -(is) 3269 2460 w -(omitted) 3383 2460 w -(then) 3793 2460 w -10 /LucidaTypewriter f -(map) 4043 2460 w -10 /LucidaSansUnicode00 f -(returns) 4292 2460 w -(a) 4675 2460 w -(list) 4763 2460 w -(of) 4942 2460 w -(lists.) 970 2580 w -(Each) 1256 2580 w -(sublist) 1535 2580 w -(has) 1914 2580 w -(four) 2139 2580 w -(values) 2397 2580 w -(and) 2760 2580 w -(describes) 2998 2580 w -(a) 3517 2580 w -(single) 3630 2580 w -(region) 3977 2580 w -(of) 4346 2580 w -(contiguous) 4502 2580 w -(addresses) 970 2700 w -(in) 1493 2700 w -(the) 1620 2700 w -(memory) 1811 2700 w -(or) 2243 2700 w -(file) 2381 2700 w -(image) 2568 2700 w -(of) 2899 2700 w -(the) 3033 2700 w -(debugged) 3224 2700 w -(program.) 3747 2700 w -(The) 4231 2700 w -(first) 4447 2700 w -(entry) 4677 2700 w -(is) 4960 2700 w -(the) 970 2820 w -(name) 1174 2820 w -(of) 1489 2820 w -(the) 1636 2820 w -(mapping.) 1840 2820 w -(If) 2348 2820 w -(the) 2463 2820 w -(name) 2667 2820 w -(begins) 2982 2820 w -(with) 3354 2820 w -10 /LucidaTypewriter f -(*) 3608 2820 w -10 /LucidaSansUnicode00 f -(it) 3729 2820 w -(denotes) 3844 2820 w -(a) 4280 2820 w -(map) 4385 2820 w -(into) 4646 2820 w -(the) 4885 2820 w -(memory) 970 2940 w -(of) 1413 2940 w -(an) 1558 2940 w -(active) 1721 2940 w -(process.) 2047 2940 w -(The) 2531 2940 w -(second) 2758 2940 w -(and) 3148 2940 w -(third) 3374 2940 w -(values) 3652 2940 w -(specify) 4003 2940 w -(the) 4388 2940 w -(base) 4589 2940 w -(and) 4860 2940 w -(end address of) 970 3060 w -(the) 1726 3060 w -(region) 1914 3060 w -(and) 2258 3060 w -(the) 2471 3060 w -(fourth) 2659 3060 w -(number) 2992 3060 w -(specifies) 3402 3060 w -(the) 3858 3060 w -(offset) 4046 3060 w -(in) 4358 3060 w -(the) 4482 3060 w -(file) 4670 3060 w -(cor\255) 4854 3060 w -(responding to the first location of the region.) 970 3180 w -(A map entry may be set by supplying) 3237 3180 w -(a) 970 3300 w -(list) 1061 3300 w -(in) 1243 3300 w -(the) 1370 3300 w -(same) 1561 3300 w -(format) 1852 3300 w -(as) 2212 3300 w -(the) 2354 3300 w -(sublist) 2545 3300 w -(described) 2903 3300 w -(above.) 3412 3300 w -(The) 3767 3300 w -(name) 3984 3300 w -(of) 4286 3300 w -(the) 4421 3300 w -(mapping) 4613 3300 w -(must) 970 3420 w -(match) 1255 3420 w -(a) 1595 3420 w -(region) 1692 3420 w -(already) 2045 3420 w -(defined) 2438 3420 w -(by) 2845 3420 w -(the) 3001 3420 w -(current) 3197 3420 w -(map.) 3588 3420 w -(Maps) 3904 3420 w -(are) 4200 3420 w -(set) 4393 3420 w -(automati\255) 4578 3420 w -(cally) 970 3540 w -(for) 1226 3540 w -(Plan) 1405 3540 w -(9) 1646 3540 w -(processes) 1749 3540 w -(and) 2270 3540 w -(some) 2490 3540 w -(kernels;) 2791 3540 w -(they) 3216 3540 w -(may) 3463 3540 w -(need) 3703 3540 w -(to) 3980 3540 w -(be) 4118 3540 w -(set) 4277 3540 w -(by) 4462 3540 w -(hand) 4618 3540 w -(for) 4901 3540 w -(other kernels and programs that run on bare hardware.) 970 3660 w -10 /LucidaTypewriter f -(acid: map\({"text", _start, end, 0x30}\)) 1170 3816 w -10 /LucidaSans-Italic f -(integer) 720 3972 w -10 /LucidaTypewriter f -(match\() 1128 3972 w -10 /LucidaSans-Italic f -(item,list) 1560 3972 w -10 /LucidaTypewriter f -(\)) 1950 3972 w -10 /LucidaSansUnicode00 f -(Search list for matching value) 3603 3972 w -10 /LucidaTypewriter f -(match) 970 4128 w -10 /LucidaSansUnicode00 f -(compares) 1371 4128 w -(each) 1883 4128 w -(item) 2148 4128 w -(in) 2404 4128 w -10 /LucidaSans-Italic f -(list) 2536 4128 w -10 /LucidaSansUnicode00 f -(using) 2722 4128 w -(the) 3029 4128 w -(equality) 3225 4128 w -(operator) 3650 4128 w -10 /LucidaTypewriter f -(==) 4107 4128 w -10 /LucidaSansUnicode00 f -(with) 4293 4128 w -10 /LucidaSans-Italic f -(item) 4540 4128 w -10 /LucidaSansUnicode00 f -(.) 4753 4128 w -(The) 4859 4128 w -10 /LucidaSans-Italic f -(item) 970 4248 w -10 /LucidaSansUnicode00 f -(can) 1217 4248 w -(be) 1419 4248 w -(of) 1572 4248 w -(any) 1704 4248 w -(type.) 1907 4248 w -(If) 2181 4248 w -(the) 2281 4248 w -(match) 2470 4248 w -(succeeds) 2802 4248 w -(the) 3276 4248 w -(result) 3464 4248 w -(is) 3773 4248 w -(the) 3886 4248 w -(integer) 4074 4248 w -(index) 4450 4248 w -(of) 4754 4248 w -(the) 4885 4248 w -(matching value, otherwise -1.) 970 4368 w +(map) 970 1032 w +10 /LucidaSansUnicode00 f +(either) 1234 1032 w +(retrieves) 1563 1032 w +(all) 2030 1032 w +(the) 2191 1032 w +(mappings) 2394 1032 w +(associated) 2920 1032 w +(with) 3477 1032 w +(a) 3730 1032 w +(process) 3833 1032 w +(or) 4255 1032 w +(sets) 4405 1032 w +(a) 4648 1032 w +(single) 4751 1032 w +(map) 970 1152 w +(entry) 1215 1152 w +(to) 1497 1152 w +(a) 1629 1152 w +(new) 1718 1152 w +(value.) 1947 1152 w +(If) 2299 1152 w +(the) 2399 1152 w +10 /LucidaSans-Italic f +(list) 2588 1152 w +10 /LucidaSansUnicode00 f +(argument) 2767 1152 w +(is) 3269 1152 w +(omitted) 3383 1152 w +(then) 3793 1152 w +10 /LucidaTypewriter f +(map) 4043 1152 w +10 /LucidaSansUnicode00 f +(returns) 4292 1152 w +(a) 4675 1152 w +(list) 4763 1152 w +(of) 4942 1152 w +(lists.) 970 1272 w +(Each) 1256 1272 w +(sublist) 1535 1272 w +(has) 1914 1272 w +(four) 2139 1272 w +(values) 2397 1272 w +(and) 2760 1272 w +(describes) 2998 1272 w +(a) 3517 1272 w +(single) 3630 1272 w +(region) 3977 1272 w +(of) 4346 1272 w +(contiguous) 4502 1272 w +(addresses) 970 1392 w +(in) 1493 1392 w +(the) 1620 1392 w +(memory) 1811 1392 w +(or) 2243 1392 w +(file) 2381 1392 w +(image) 2568 1392 w +(of) 2899 1392 w +(the) 3033 1392 w +(debugged) 3224 1392 w +(program.) 3747 1392 w +(The) 4231 1392 w +(first) 4447 1392 w +(entry) 4677 1392 w +(is) 4960 1392 w +(the) 970 1512 w +(name) 1174 1512 w +(of) 1489 1512 w +(the) 1636 1512 w +(mapping.) 1840 1512 w +(If) 2348 1512 w +(the) 2463 1512 w +(name) 2667 1512 w +(begins) 2982 1512 w +(with) 3354 1512 w +10 /LucidaTypewriter f +(*) 3608 1512 w +10 /LucidaSansUnicode00 f +(it) 3729 1512 w +(denotes) 3844 1512 w +(a) 4280 1512 w +(map) 4385 1512 w +(into) 4646 1512 w +(the) 4885 1512 w +(memory) 970 1632 w +(of) 1413 1632 w +(an) 1558 1632 w +(active) 1721 1632 w +(process.) 2047 1632 w +(The) 2531 1632 w +(second) 2758 1632 w +(and) 3148 1632 w +(third) 3374 1632 w +(values) 3652 1632 w +(specify) 4003 1632 w +(the) 4388 1632 w +(base) 4589 1632 w +(and) 4860 1632 w +(end address of) 970 1752 w +(the) 1726 1752 w +(region) 1914 1752 w +(and) 2258 1752 w +(the) 2471 1752 w +(fourth) 2659 1752 w +(number) 2992 1752 w +(specifies) 3402 1752 w +(the) 3858 1752 w +(offset) 4046 1752 w +(in) 4358 1752 w +(the) 4482 1752 w +(file) 4670 1752 w +(cor\255) 4854 1752 w +(responding to the first location of the region.) 970 1872 w +(A map entry may be set by supplying) 3237 1872 w +(a) 970 1992 w +(list) 1061 1992 w +(in) 1243 1992 w +(the) 1370 1992 w +(same) 1561 1992 w +(format) 1852 1992 w +(as) 2212 1992 w +(the) 2354 1992 w +(sublist) 2545 1992 w +(described) 2903 1992 w +(above.) 3412 1992 w +(The) 3767 1992 w +(name) 3984 1992 w +(of) 4286 1992 w +(the) 4421 1992 w +(mapping) 4613 1992 w +(must) 970 2112 w +(match) 1255 2112 w +(a) 1595 2112 w +(region) 1692 2112 w +(already) 2045 2112 w +(defined) 2438 2112 w +(by) 2845 2112 w +(the) 3001 2112 w +(current) 3197 2112 w +(map.) 3588 2112 w +(Maps) 3904 2112 w +(are) 4200 2112 w +(set) 4393 2112 w +(automati\255) 4578 2112 w +(cally) 970 2232 w +(for) 1226 2232 w +(Plan) 1405 2232 w +(9) 1646 2232 w +(processes) 1749 2232 w +(and) 2270 2232 w +(some) 2490 2232 w +(kernels;) 2791 2232 w +(they) 3216 2232 w +(may) 3463 2232 w +(need) 3703 2232 w +(to) 3980 2232 w +(be) 4118 2232 w +(set) 4277 2232 w +(by) 4462 2232 w +(hand) 4618 2232 w +(for) 4901 2232 w +(other kernels and programs that run on bare hardware.) 970 2352 w +10 /LucidaTypewriter f +(acid: map\({"text", _start, end, 0x30}\)) 1170 2508 w +10 /LucidaSans-Italic f +(integer) 720 2664 w +10 /LucidaTypewriter f +(match\() 1128 2664 w +10 /LucidaSans-Italic f +(item,list) 1560 2664 w +10 /LucidaTypewriter f +(\)) 1950 2664 w +10 /LucidaSansUnicode00 f +(Search list for matching value) 3603 2664 w +10 /LucidaTypewriter f +(match) 970 2820 w +10 /LucidaSansUnicode00 f +(compares) 1371 2820 w +(each) 1883 2820 w +(item) 2148 2820 w +(in) 2404 2820 w +10 /LucidaSans-Italic f +(list) 2536 2820 w +10 /LucidaSansUnicode00 f +(using) 2722 2820 w +(the) 3029 2820 w +(equality) 3225 2820 w +(operator) 3650 2820 w +10 /LucidaTypewriter f +(==) 4107 2820 w +10 /LucidaSansUnicode00 f +(with) 4293 2820 w +10 /LucidaSans-Italic f +(item) 4540 2820 w +10 /LucidaSansUnicode00 f +(.) 4753 2820 w +(The) 4859 2820 w +10 /LucidaSans-Italic f +(item) 970 2940 w +10 /LucidaSansUnicode00 f +(can) 1217 2940 w +(be) 1419 2940 w +(of) 1572 2940 w +(any) 1704 2940 w +(type.) 1907 2940 w +(If) 2181 2940 w +(the) 2281 2940 w +(match) 2470 2940 w +(succeeds) 2802 2940 w +(the) 3276 2940 w +(result) 3464 2940 w +(is) 3773 2940 w +(the) 3886 2940 w +(integer) 4074 2940 w +(index) 4450 2940 w +(of) 4754 2940 w +(the) 4885 2940 w +(matching value, otherwise -1.) 970 3060 w +10 /LucidaTypewriter f +(acid: list={8,9,10,11}) 1170 3216 w +(acid: print\(list[match\(10, list\)]\\D\)) 1170 3336 w +(10) 1170 3456 w +({}) 720 3612 w +(newproc\() 1008 3612 w +10 /LucidaSans-Italic f +(string) 1584 3612 w 10 /LucidaTypewriter f -(acid: list={8,9,10,11}) 1170 4524 w -(acid: print\(list[match\(10, list\)]\\D\)) 1170 4644 w -(10) 1170 4764 w -({}) 720 4920 w -(newproc\() 1008 4920 w -10 /LucidaSans-Italic f -(string) 1584 4920 w -10 /LucidaTypewriter f -(\)) 1871 4920 w -10 /LucidaSansUnicode00 f -(Create a new process) 4006 4920 w -10 /LucidaTypewriter f -(newproc) 970 5076 w -10 /LucidaSansUnicode00 f -(starts) 1515 5076 w -(a) 1828 5076 w -(new) 1924 5076 w -(process) 2161 5076 w -(with) 2577 5076 w -(an) 2824 5076 w -(argument) 2983 5076 w -(vector) 3493 5076 w -(constructed) 3833 5076 w -(from) 4447 5076 w -10 /LucidaSans-Italic f -(string) 4721 5076 w -10 /LucidaSansUnicode00 f -(.) 5008 5076 w -(The) 970 5196 w -(argument) 1188 5196 w -(vector) 1693 5196 w -(excludes) 2027 5196 w -(the) 2492 5196 w -(name) 2683 5196 w -(of) 2985 5196 w -(the) 3119 5196 w -(program) 3310 5196 w -(to) 3762 5196 w -(execute) 3896 5196 w -(and) 4311 5196 w -(each) 4527 5196 w -(argu\255) 4787 5196 w -(ment) 970 5316 w -(in) 1260 5316 w -10 /LucidaSans-Italic f -(string) 1393 5316 w -10 /LucidaSansUnicode00 f -(must) 1722 5316 w -(be) 2007 5316 w -(space) 2168 5316 w -(separated.) 2486 5316 w -(A) 3037 5316 w -(new) 3148 5316 w -(process) 3385 5316 w -(can) 3801 5316 w -(accept) 4011 5316 w -(no) 4366 5316 w -(more) 4531 5316 w -(than) 4824 5316 w -(512) 970 5436 w -(arguments.) 1207 5436 w -(The) 1806 5436 w -(internal) 2035 5436 w -(variable) 2454 5436 w -10 /LucidaTypewriter f -(pid) 2881 5436 w -10 /LucidaSansUnicode00 f -(is) 3144 5436 w -(set) 3271 5436 w -(to) 3462 5436 w -(the) 3607 5436 w -(pid) 3809 5436 w -(of) 4011 5436 w -(the) 4156 5436 w -(newly) 4358 5436 w -(created) 4681 5436 w -(process.) 970 5556 w -(The) 1413 5556 w -(new) 1631 5556 w -(pid) 1863 5556 w -(is) 2055 5556 w -(also) 2172 5556 w -(appended) 2405 5556 w -(to) 2923 5556 w -(the) 3059 5556 w -(list) 3252 5556 w -(of) 3436 5556 w -(active) 3572 5556 w -(processes) 3890 5556 w -(stored) 4409 5556 w -(in) 4756 5556 w -(the) 4885 5556 w -(variable) 970 5676 w -10 /LucidaTypewriter f -(proclist) 1395 5676 w -10 /LucidaSansUnicode00 f -(.) 1971 5676 w -(The) 2080 5676 w -(new) 2306 5676 w -(process) 2546 5676 w -(is) 2965 5676 w -(created) 3090 5676 w -(then) 3493 5676 w -(halted) 3754 5676 w -(at) 4100 5676 w -(the) 4236 5676 w -(first) 4435 5676 w -(instruc\255) 4674 5676 w -(tion,) 970 5796 w -(causing) 1230 5796 w -(the) 1641 5796 w -(debugger) 1835 5796 w -(to) 2339 5796 w -(call) 2476 5796 w -10 /LucidaTypewriter f -(stopped) 2679 5796 w -10 /LucidaSansUnicode00 f -(.) 3183 5796 w -(The) 3286 5796 w -(library) 3506 5796 w -(functions) 3856 5796 w -10 /LucidaTypewriter f -(new) 4348 5796 w -10 /LucidaSansUnicode00 f -(and) 4604 5796 w -10 /LucidaTypewriter f -(win) 4824 5796 w -10 /LucidaSansUnicode00 f -(should) 970 5916 w -(be) 1350 5916 w -(used) 1521 5916 w -(to) 1805 5916 w -(start) 1955 5916 w -(processes) 2228 5916 w -(when) 2761 5916 w -(using) 3070 5916 w -(the) 3388 5916 w -(standard) 3594 5916 w -(debugging) 4072 5916 w -(environ\255) 4644 5916 w -(ment.) 970 6036 w -10 /LucidaTypewriter f -(acid: newproc\("-l ."\)) 1170 6192 w -(56720: system call) 1170 6312 w -(_main) 2570 6312 w -(ADD) 2970 6312 w -($-0x14,R29) 3370 6312 w -10 /LucidaSans-Italic f -(string) 720 6468 w -10 /LucidaTypewriter f -(pcfile\() 1071 6468 w -10 /LucidaSans-Italic f -(integer) 1575 6468 w -10 /LucidaTypewriter f -(\)) 1919 6468 w -10 /LucidaSansUnicode00 f -(Convert text address to source file name) 3062 6468 w -10 /LucidaTypewriter f -(pcfile) 970 6624 w -10 /LucidaSansUnicode00 f -(interprets) 1449 6624 w -(its) 1969 6624 w -10 /LucidaSans-Italic f -(integer) 2133 6624 w -10 /LucidaSansUnicode00 f -(argument) 2525 6624 w -(as) 3041 6624 w -(a) 3195 6624 w -(text) 3298 6624 w -(address) 3537 6624 w -(in) 3965 6624 w -(the) 4104 6624 w -(debugged) 4307 6624 w -(pro\255) 4842 6624 w -(gram.) 970 6744 w -(The) 1296 6744 w -(address) 1520 6744 w -(and) 1942 6744 w -(symbol) 2164 6744 w -(table) 2555 6744 w -(are) 2837 6744 w -(used) 3031 6744 w -(to) 3305 6744 w -(generate) 3445 6744 w -(a) 3912 6744 w -(string) 4009 6744 w -(containing) 4333 6744 w -(the) 4885 6744 w -(name) 970 6864 w -(of) 1273 6864 w -(the) 1408 6864 w -(source) 1600 6864 w -(file) 1959 6864 w -(corresponding) 2147 6864 w -(to) 2888 6864 w -(the) 3024 6864 w -(text) 3217 6864 w -(address.) 3446 6864 w -(If) 3896 6864 w -(the) 4000 6864 w -(address) 4193 6864 w -(does) 4611 6864 w -(not) 4880 6864 w -(lie within the program the string) 970 6984 w +(\)) 1871 3612 w +10 /LucidaSansUnicode00 f +(Create a new process) 4006 3612 w 10 /LucidaTypewriter f -(?file?) 2580 6984 w +(newproc) 970 3768 w +10 /LucidaSansUnicode00 f +(starts) 1515 3768 w +(a) 1828 3768 w +(new) 1924 3768 w +(process) 2161 3768 w +(with) 2577 3768 w +(an) 2824 3768 w +(argument) 2983 3768 w +(vector) 3493 3768 w +(constructed) 3833 3768 w +(from) 4447 3768 w +10 /LucidaSans-Italic f +(string) 4721 3768 w +10 /LucidaSansUnicode00 f +(.) 5008 3768 w +(The) 970 3888 w +(argument) 1188 3888 w +(vector) 1693 3888 w +(excludes) 2027 3888 w +(the) 2492 3888 w +(name) 2683 3888 w +(of) 2985 3888 w +(the) 3119 3888 w +(program) 3310 3888 w +(to) 3762 3888 w +(execute) 3896 3888 w +(and) 4311 3888 w +(each) 4527 3888 w +(argu\255) 4787 3888 w +(ment) 970 4008 w +(in) 1260 4008 w +10 /LucidaSans-Italic f +(string) 1393 4008 w +10 /LucidaSansUnicode00 f +(must) 1722 4008 w +(be) 2007 4008 w +(space) 2168 4008 w +(separated.) 2486 4008 w +(A) 3037 4008 w +(new) 3148 4008 w +(process) 3385 4008 w +(can) 3801 4008 w +(accept) 4011 4008 w +(no) 4366 4008 w +(more) 4531 4008 w +(than) 4824 4008 w +(512) 970 4128 w +(arguments.) 1207 4128 w +(The) 1806 4128 w +(internal) 2035 4128 w +(variable) 2454 4128 w +10 /LucidaTypewriter f +(pid) 2881 4128 w +10 /LucidaSansUnicode00 f +(is) 3144 4128 w +(set) 3271 4128 w +(to) 3462 4128 w +(the) 3607 4128 w +(pid) 3809 4128 w +(of) 4011 4128 w +(the) 4156 4128 w +(newly) 4358 4128 w +(created) 4681 4128 w +(process.) 970 4248 w +(The) 1413 4248 w +(new) 1631 4248 w +(pid) 1863 4248 w +(is) 2055 4248 w +(also) 2172 4248 w +(appended) 2405 4248 w +(to) 2923 4248 w +(the) 3059 4248 w +(list) 3252 4248 w +(of) 3436 4248 w +(active) 3572 4248 w +(processes) 3890 4248 w +(stored) 4409 4248 w +(in) 4756 4248 w +(the) 4885 4248 w +(variable) 970 4368 w +10 /LucidaTypewriter f +(proclist) 1395 4368 w 10 /LucidaSansUnicode00 f -(is returned.) 3044 6984 w +(.) 1971 4368 w +(The) 2080 4368 w +(new) 2306 4368 w +(process) 2546 4368 w +(is) 2965 4368 w +(created) 3090 4368 w +(then) 3493 4368 w +(halted) 3754 4368 w +(at) 4100 4368 w +(the) 4236 4368 w +(first) 4435 4368 w +(instruc\255) 4674 4368 w +(tion,) 970 4488 w +(causing) 1230 4488 w +(the) 1641 4488 w +(debugger) 1835 4488 w +(to) 2339 4488 w +(call) 2476 4488 w +10 /LucidaTypewriter f +(stopped) 2679 4488 w +10 /LucidaSansUnicode00 f +(.) 3183 4488 w +(The) 3286 4488 w +(library) 3506 4488 w +(functions) 3856 4488 w +10 /LucidaTypewriter f +(new) 4348 4488 w +10 /LucidaSansUnicode00 f +(and) 4604 4488 w +10 /LucidaTypewriter f +(win) 4824 4488 w +10 /LucidaSansUnicode00 f +(should) 970 4608 w +(be) 1350 4608 w +(used) 1521 4608 w +(to) 1805 4608 w +(start) 1955 4608 w +(processes) 2228 4608 w +(when) 2761 4608 w +(using) 3070 4608 w +(the) 3388 4608 w +(standard) 3594 4608 w +(debugging) 4072 4608 w +(environ\255) 4644 4608 w +(ment.) 970 4728 w +10 /LucidaTypewriter f +(acid: newproc\("-l ."\)) 1170 4884 w +(56720: system call) 1170 5004 w +(_main) 2570 5004 w +(ADD) 2970 5004 w +($-0x14,R29) 3370 5004 w +10 /LucidaSans-Italic f +(string) 720 5160 w +10 /LucidaTypewriter f +(pcfile\() 1071 5160 w +10 /LucidaSans-Italic f +(integer) 1575 5160 w +10 /LucidaTypewriter f +(\)) 1919 5160 w +10 /LucidaSansUnicode00 f +(Convert text address to source file name) 3062 5160 w +10 /LucidaTypewriter f +(pcfile) 970 5316 w +10 /LucidaSansUnicode00 f +(interprets) 1449 5316 w +(its) 1969 5316 w +10 /LucidaSans-Italic f +(integer) 2133 5316 w +10 /LucidaSansUnicode00 f +(argument) 2525 5316 w +(as) 3041 5316 w +(a) 3195 5316 w +(text) 3298 5316 w +(address) 3537 5316 w +(in) 3965 5316 w +(the) 4104 5316 w +(debugged) 4307 5316 w +(pro\255) 4842 5316 w +(gram.) 970 5436 w +(The) 1296 5436 w +(address) 1520 5436 w +(and) 1942 5436 w +(symbol) 2164 5436 w +(table) 2555 5436 w +(are) 2837 5436 w +(used) 3031 5436 w +(to) 3305 5436 w +(generate) 3445 5436 w +(a) 3912 5436 w +(string) 4009 5436 w +(containing) 4333 5436 w +(the) 4885 5436 w +(name) 970 5556 w +(of) 1273 5556 w +(the) 1408 5556 w +(source) 1600 5556 w +(file) 1959 5556 w +(corresponding) 2147 5556 w +(to) 2888 5556 w +(the) 3024 5556 w +(text) 3217 5556 w +(address.) 3446 5556 w +(If) 3896 5556 w +(the) 4000 5556 w +(address) 4193 5556 w +(does) 4611 5556 w +(not) 4880 5556 w +(lie within the program the string) 970 5676 w +10 /LucidaTypewriter f +(?file?) 2580 5676 w +10 /LucidaSansUnicode00 f +(is returned.) 3044 5676 w +10 /LucidaTypewriter f +(acid: print\("Now at ", pcfile\(*PC\), ":", pcline\(*PC\)\)) 1170 5832 w +(Now at ls.c:46) 1170 5952 w +10 /LucidaSans-Italic f +(integer) 720 6108 w +10 /LucidaTypewriter f +(pcline\() 1128 6108 w +10 /LucidaSans-Italic f +(integer) 1632 6108 w +10 /LucidaTypewriter f +(\)) 1976 6108 w +10 /LucidaSansUnicode00 f +(Convert text address to source line number) 2926 6108 w +10 /LucidaTypewriter f +(pcline) 970 6264 w +10 /LucidaSansUnicode00 f +(interprets) 1449 6264 w +(its) 1969 6264 w +10 /LucidaSans-Italic f +(integer) 2133 6264 w +10 /LucidaSansUnicode00 f +(argument) 2525 6264 w +(as) 3041 6264 w +(a) 3195 6264 w +(text) 3298 6264 w +(address) 3537 6264 w +(in) 3965 6264 w +(the) 4104 6264 w +(debugged) 4307 6264 w +(pro\255) 4842 6264 w +(gram.) 970 6384 w +(The) 1286 6384 w +(address) 1500 6384 w +(and) 1913 6384 w +(symbol) 2126 6384 w +(table) 2508 6384 w +(are) 2781 6384 w +(used) 2966 6384 w +(to) 3231 6384 w +(generate an integer containing the) 3362 6384 w +(line) 970 6504 w +(number) 1195 6504 w +(in) 1621 6504 w +(the) 1761 6504 w +(source) 1965 6504 w +(file) 2336 6504 w +(corresponding) 2536 6504 w +(to) 3288 6504 w +(the) 3435 6504 w +(text) 3639 6504 w +(address.) 3879 6504 w +(If) 4340 6504 w +(the) 4455 6504 w +(address) 4660 6504 w +(does not lie within the program the integer 0 is returned.) 970 6624 w +10 /LucidaTypewriter f +(acid: +file\("main.c"\)[pcline\(main\)]) 1170 6780 w +(main\(int argc, char *argv[]\)) 1170 6900 w cleartomark showpage saveobj restore @@ -9499,387 +9543,381 @@ 10 /LucidaSansUnicode00 f (\255 15 \255) 2752 480 w 10 /LucidaTypewriter f -(acid: print\("Now at ", pcfile\(*PC\), ":", pcline\(*PC\)\)) 1170 876 w -(Now at ls.c:46) 1170 996 w +({}) 720 876 w +(print\() 1008 876 w 10 /LucidaSans-Italic f -(integer) 720 1152 w +(item,item,...) 1440 876 w 10 /LucidaTypewriter f -(pcline\() 1128 1152 w -10 /LucidaSans-Italic f -(integer) 1632 1152 w +(\)) 2026 876 w +10 /LucidaSansUnicode00 f +(Print expressions) 4202 876 w 10 /LucidaTypewriter f -(\)) 1976 1152 w -10 /LucidaSansUnicode00 f -(Convert text address to source line number) 2926 1152 w -10 /LucidaTypewriter f -(pcline) 970 1308 w -10 /LucidaSansUnicode00 f -(interprets) 1449 1308 w -(its) 1969 1308 w -10 /LucidaSans-Italic f -(integer) 2133 1308 w -10 /LucidaSansUnicode00 f -(argument) 2525 1308 w -(as) 3041 1308 w -(a) 3195 1308 w -(text) 3298 1308 w -(address) 3537 1308 w -(in) 3965 1308 w -(the) 4104 1308 w -(debugged) 4307 1308 w -(pro\255) 4842 1308 w -(gram.) 970 1428 w -(The) 1286 1428 w -(address) 1500 1428 w -(and) 1913 1428 w -(symbol) 2126 1428 w -(table) 2508 1428 w -(are) 2781 1428 w -(used) 2966 1428 w -(to) 3231 1428 w -(generate an integer containing the) 3362 1428 w -(line) 970 1548 w -(number) 1195 1548 w -(in) 1621 1548 w -(the) 1761 1548 w -(source) 1965 1548 w -(file) 2336 1548 w -(corresponding) 2536 1548 w -(to) 3288 1548 w -(the) 3435 1548 w -(text) 3639 1548 w -(address.) 3879 1548 w -(If) 4340 1548 w -(the) 4455 1548 w -(address) 4660 1548 w -(does not lie within the program the integer 0 is returned.) 970 1668 w -10 /LucidaTypewriter f -(acid: +file\("main.c"\)[pcline\(main\)]) 1170 1824 w -(main\(int argc, char *argv[]\)) 1170 1944 w -({}) 720 2100 w -(print\() 1008 2100 w -10 /LucidaSans-Italic f -(item,item,...) 1440 2100 w -10 /LucidaTypewriter f -(\)) 2026 2100 w -10 /LucidaSansUnicode00 f -(Print expressions) 4202 2100 w -10 /LucidaTypewriter f -(print) 970 2256 w -10 /LucidaSansUnicode00 f -(evaluates) 1370 2256 w -(each) 1863 2256 w -10 /LucidaSans-Italic f -(item) 2127 2256 w -10 /LucidaSansUnicode00 f -(supplied) 2380 2256 w -(in) 2836 2256 w -(its) 2968 2256 w -(argument) 3126 2256 w -(list) 3635 2256 w -(and) 3822 2256 w -(prints) 4043 2256 w -(it) 4367 2256 w -(to) 4474 2256 w -(standard) 4613 2256 w -(output.) 970 2376 w -(Each) 1360 2376 w -(argument) 1618 2376 w -(will) 2122 2376 w -(be) 2321 2376 w -(printed) 2475 2376 w -(according) 2861 2376 w -(to) 3371 2376 w -(its) 3504 2376 w -(associated) 3656 2376 w -(format) 4200 2376 w -(character.) 4559 2376 w -(When) 970 2496 w -(the) 1269 2496 w -(interpreter) 1458 2496 w -(is) 2011 2496 w -(executing,) 2125 2496 w -(output) 2667 2496 w -(is) 3023 2496 w -(buffered) 3137 2496 w -(and) 3586 2496 w -(flushed) 3800 2496 w -(every) 4194 2496 w -(5000) 4485 2496 w -(state\255) 4771 2496 w -(ments) 970 2616 w -(or) 1303 2616 w -(when) 1439 2616 w -(the) 1729 2616 w -(interpreter) 1917 2616 w -(returns) 2469 2616 w -(to) 2852 2616 w -(interactive) 2983 2616 w -(mode.) 3521 2616 w -10 /LucidaTypewriter f -(print) 3891 2616 w -10 /LucidaSansUnicode00 f -(accepts) 4284 2616 w -(a) 4681 2616 w -(maxi\255) 4769 2616 w -(mum of 512 arguments.) 970 2736 w -10 /LucidaTypewriter f -(acid: print\(10, "decimal ", 10\\D, "octal ", 10\\o\)) 1170 2892 w -(0x0000000a decimal 10 octal 000000000012) 1170 3012 w -(acid: print\({1, 2, 3}\)) 1170 3132 w -({0x00000001 , 0x00000002 , 0x00000003 }) 1170 3252 w -(acid: print\(main, main\\a, "\\t", @main\\i\)) 1170 3372 w -(0x00001020 main) 1170 3492 w -(ADD) 2370 3492 w -($-64,R29) 2770 3492 w -({}) 720 3648 w -(printto\() 1008 3648 w -10 /LucidaSans-Italic f -(string,item,item,...) 1584 3648 w -10 /LucidaTypewriter f -(\)) 2489 3648 w -10 /LucidaSansUnicode00 f -(Print expressions to file) 3889 3648 w -10 /LucidaTypewriter f -(printto) 970 3804 w -10 /LucidaSansUnicode00 f -(offers) 1513 3804 w -(a) 1835 3804 w -(limited) 1929 3804 w -(form) 2304 3804 w -(of) 2575 3804 w -(output) 2712 3804 w -(redirection.) 3073 3804 w -(The) 3670 3804 w -(first) 3890 3804 w -10 /LucidaSans-Italic f -(string) 4125 3804 w -10 /LucidaSansUnicode00 f -(argument) 4452 3804 w -(is) 4960 3804 w -(used) 970 3924 w -(as) 1250 3924 w -(the) 1404 3924 w -(path) 1607 3924 w -(name) 1872 3924 w -(of) 2186 3924 w -(a) 2332 3924 w -(new) 2435 3924 w -(file) 2678 3924 w -(to) 2876 3924 w -(create.) 3021 3924 w -(Each) 3428 3924 w -10 /LucidaSans-Italic f -(item) 3697 3924 w -10 /LucidaSansUnicode00 f -(is) 3957 3924 w -(then) 4084 3924 w -(evaluated) 4348 3924 w -(and) 4860 3924 w -(printed) 970 4044 w -(to) 1378 4044 w -(the) 1533 4044 w -(newly) 1745 4044 w -(created) 2078 4044 w -(file.) 2494 4044 w -(When) 2734 4044 w -(all) 3057 4044 w -(items) 3227 4044 w -(have) 3551 4044 w -(been) 3834 4044 w -(printed) 4129 4044 w -(the) 4538 4044 w -(file) 4751 4044 w -(is) 4960 4044 w -(closed.) 970 4164 w -10 /LucidaTypewriter f -(printto) 1377 4164 w -10 /LucidaSansUnicode00 f -(accepts a maximum of 512 arguments.) 1913 4164 w -10 /LucidaTypewriter f -(acid: printto\("/env/foo", "hello"\)) 1170 4320 w -(acid: rc\("echo -n $foo"\)) 1170 4440 w -(hello) 1170 4560 w -10 /LucidaSans-Italic f -(string) 720 4716 w -10 /LucidaTypewriter f -(rc\() 1071 4716 w -10 /LucidaSans-Italic f -(string) 1287 4716 w -10 /LucidaTypewriter f -(\)) 1574 4716 w -10 /LucidaSansUnicode00 f -(Execute a shell command) 3807 4716 w -10 /LucidaTypewriter f -(rc) 970 4872 w -10 /LucidaSansUnicode00 f -(evaluates) 1174 4872 w -10 /LucidaSans-Italic f -(string) 1687 4872 w -10 /LucidaSansUnicode00 f -(to) 2034 4872 w -(form) 2192 4872 w -(a) 2484 4872 w -(shell) 2599 4872 w -(command.) 2886 4872 w -(A) 3456 4872 w -(new) 3585 4872 w -(command) 3841 4872 w -(interpreter) 4380 4872 w -(is) 4960 4872 w -(started) 970 4992 w -(to) 1357 4992 w -(execute) 1502 4992 w -(the) 1928 4992 w -(command.) 2130 4992 w -(The) 2687 4992 w -(Acid) 2914 4992 w -(interpreter) 3172 4992 w -(blocks) 3737 4992 w -(until) 4096 4992 w -(the) 4361 4992 w -(command) 4562 4992 w -(completes.) 970 5112 w -(The) 1542 5112 w -(return) 1767 5112 w -(value) 2110 5112 w -(is) 2408 5112 w -(the) 2532 5112 w -(empty) 2731 5112 w -(string) 3076 5112 w -(if) 3402 5112 w -(the) 3512 5112 w -(command) 3711 5112 w -(succeeds,) 4233 5112 w -(other\255) 4750 5112 w -(wise the exit status of the failed command.) 970 5232 w -10 /LucidaTypewriter f -(acid: rc\("B "+itoa\(-pcline\(addr\)\)+" "+pcfile\(addr\)\);) 1170 5388 w -10 /LucidaSans-Italic f -(string) 720 5544 w -10 /LucidaTypewriter f -(readfile\() 1071 5544 w -10 /LucidaSans-Italic f -(string) 1719 5544 w -10 /LucidaTypewriter f -(\)) 2006 5544 w -10 /LucidaSansUnicode00 f -(Read file contents into a string) 3549 5544 w -10 /LucidaTypewriter f -(readfile) 970 5700 w -10 /LucidaSansUnicode00 f -(takes) 1589 5700 w -(the) 1889 5700 w -(contents) 2088 5700 w -(of) 2549 5700 w -(the) 2691 5700 w -(file) 2890 5700 w -(specified) 3085 5700 w -(by) 3564 5700 w -10 /LucidaSans-Italic f -(string) 3723 5700 w -10 /LucidaSansUnicode00 f -(and) 4054 5700 w -(returns) 4278 5700 w -(its) 4672 5700 w -(con\255) 4833 5700 w -(tents) 970 5820 w -(as) 1259 5820 w -(a) 1411 5820 w -(new) 1512 5820 w -(string.) 1753 5820 w -(If) 2145 5820 w -10 /LucidaTypewriter f -(readfile) 2257 5820 w -10 /LucidaSansUnicode00 f -(encounters) 2879 5820 w -(a) 3463 5820 w -(zero) 3563 5820 w -(byte) 3823 5820 w -(in) 4076 5820 w -(the) 4212 5820 w -(file,) 4412 5820 w -(it) 4640 5820 w -(termi\255) 4751 5820 w -(nates.) 970 5940 w -(If) 1350 5940 w -10 /LucidaTypewriter f -(readfile) 1471 5940 w -10 /LucidaSansUnicode00 f -(encounters) 2102 5940 w -(an) 2696 5940 w -(error) 2868 5940 w -(opening) 3163 5940 w -(or) 3613 5940 w -(reading) 3770 5940 w -(the) 4194 5940 w -(file) 4405 5940 w -(then) 4612 5940 w -(the) 4885 5940 w -(empty) 970 6060 w -(list) 1305 6060 w -(is) 1485 6060 w -(returned.) 1599 6060 w -10 /LucidaTypewriter f -(readfile) 2115 6060 w -10 /LucidaSansUnicode00 f -(can) 2725 6060 w -(be) 2927 6060 w -(used) 3080 6060 w -(to) 3346 6060 w -(read) 3478 6060 w -(the) 3727 6060 w -(contents) 3916 6060 w -(of) 4367 6060 w -(device) 4498 6060 w -(files) 4838 6060 w -(whose lines are not terminated with newline characters.) 970 6180 w -10 /LucidaTypewriter f -(acid: ""+readfile\("/dev/label"\)) 1170 6336 w -(helix) 1170 6456 w -10 /LucidaSans-Italic f -(string) 720 6612 w -10 /LucidaTypewriter f -(reason\() 1071 6612 w -10 /LucidaSans-Italic f -(integer) 1575 6612 w -10 /LucidaTypewriter f -(\)) 1919 6612 w -10 /LucidaSansUnicode00 f -(Print cause of program stoppage) 3451 6612 w -10 /LucidaTypewriter f -(reason) 970 6768 w -10 /LucidaSansUnicode00 f -(uses) 1436 6768 w -(machine-dependent) 1690 6768 w -(information) 2708 6768 w -(to) 3309 6768 w -(generate) 3441 6768 w -(a) 3900 6768 w -(string) 3989 6768 w -(explaining) 4306 6768 w -(why) 4849 6768 w -(a) 970 6888 w -(process) 1059 6888 w -(has) 1467 6888 w -(stopped.) 1669 6888 w -(The) 2129 6888 w -10 /LucidaSans-Italic f -(integer) 2344 6888 w -10 /LucidaSansUnicode00 f -(argument) 2722 6888 w -(is) 3224 6888 w -(the) 3338 6888 w -(value) 3527 6888 w -(of) 3815 6888 w -(an) 3946 6888 w -(architecture) 4096 6888 w -(depen\255) 4707 6888 w -(dent status register, for example) 970 7008 w +(print) 970 1032 w +10 /LucidaSansUnicode00 f +(evaluates) 1370 1032 w +(each) 1863 1032 w +10 /LucidaSans-Italic f +(item) 2127 1032 w +10 /LucidaSansUnicode00 f +(supplied) 2380 1032 w +(in) 2836 1032 w +(its) 2968 1032 w +(argument) 3126 1032 w +(list) 3635 1032 w +(and) 3822 1032 w +(prints) 4043 1032 w +(it) 4367 1032 w +(to) 4474 1032 w +(standard) 4613 1032 w +(output.) 970 1152 w +(Each) 1360 1152 w +(argument) 1618 1152 w +(will) 2122 1152 w +(be) 2321 1152 w +(printed) 2475 1152 w +(according) 2861 1152 w +(to) 3371 1152 w +(its) 3504 1152 w +(associated) 3656 1152 w +(format) 4200 1152 w +(character.) 4559 1152 w +(When) 970 1272 w +(the) 1269 1272 w +(interpreter) 1458 1272 w +(is) 2011 1272 w +(executing,) 2125 1272 w +(output) 2667 1272 w +(is) 3023 1272 w +(buffered) 3137 1272 w +(and) 3586 1272 w +(flushed) 3800 1272 w +(every) 4194 1272 w +(5000) 4485 1272 w +(state\255) 4771 1272 w +(ments) 970 1392 w +(or) 1303 1392 w +(when) 1439 1392 w +(the) 1729 1392 w +(interpreter) 1917 1392 w +(returns) 2469 1392 w +(to) 2852 1392 w +(interactive) 2983 1392 w +(mode.) 3521 1392 w +10 /LucidaTypewriter f +(print) 3891 1392 w +10 /LucidaSansUnicode00 f +(accepts) 4284 1392 w +(a) 4681 1392 w +(maxi\255) 4769 1392 w +(mum of 512 arguments.) 970 1512 w +10 /LucidaTypewriter f +(acid: print\(10, "decimal ", 10\\D, "octal ", 10\\o\)) 1170 1668 w +(0x0000000a decimal 10 octal 000000000012) 1170 1788 w +(acid: print\({1, 2, 3}\)) 1170 1908 w +({0x00000001 , 0x00000002 , 0x00000003 }) 1170 2028 w +(acid: print\(main, main\\a, "\\t", @main\\i\)) 1170 2148 w +(0x00001020 main) 1170 2268 w +(ADD) 2370 2268 w +($-64,R29) 2770 2268 w +({}) 720 2424 w +(printto\() 1008 2424 w +10 /LucidaSans-Italic f +(string,item,item,...) 1584 2424 w 10 /LucidaTypewriter f -(CAUSE) 2598 7008 w +(\)) 2489 2424 w 10 /LucidaSansUnicode00 f -(on the MIPS.) 2990 7008 w +(Print expressions to file) 3889 2424 w +10 /LucidaTypewriter f +(printto) 970 2580 w +10 /LucidaSansUnicode00 f +(offers) 1513 2580 w +(a) 1835 2580 w +(limited) 1929 2580 w +(form) 2304 2580 w +(of) 2575 2580 w +(output) 2712 2580 w +(redirection.) 3073 2580 w +(The) 3670 2580 w +(first) 3890 2580 w +10 /LucidaSans-Italic f +(string) 4125 2580 w +10 /LucidaSansUnicode00 f +(argument) 4452 2580 w +(is) 4960 2580 w +(used) 970 2700 w +(as) 1250 2700 w +(the) 1404 2700 w +(path) 1607 2700 w +(name) 1872 2700 w +(of) 2186 2700 w +(a) 2332 2700 w +(new) 2435 2700 w +(file) 2678 2700 w +(to) 2876 2700 w +(create.) 3021 2700 w +(Each) 3428 2700 w +10 /LucidaSans-Italic f +(item) 3697 2700 w +10 /LucidaSansUnicode00 f +(is) 3957 2700 w +(then) 4084 2700 w +(evaluated) 4348 2700 w +(and) 4860 2700 w +(printed) 970 2820 w +(to) 1378 2820 w +(the) 1533 2820 w +(newly) 1745 2820 w +(created) 2078 2820 w +(file.) 2494 2820 w +(When) 2734 2820 w +(all) 3057 2820 w +(items) 3227 2820 w +(have) 3551 2820 w +(been) 3834 2820 w +(printed) 4129 2820 w +(the) 4538 2820 w +(file) 4751 2820 w +(is) 4960 2820 w +(closed.) 970 2940 w +10 /LucidaTypewriter f +(printto) 1377 2940 w +10 /LucidaSansUnicode00 f +(accepts a maximum of 512 arguments.) 1913 2940 w +10 /LucidaTypewriter f +(acid: printto\("/env/foo", "hello"\)) 1170 3096 w +(acid: rc\("echo -n $foo"\)) 1170 3216 w +(hello) 1170 3336 w +10 /LucidaSans-Italic f +(string) 720 3492 w +10 /LucidaTypewriter f +(rc\() 1071 3492 w +10 /LucidaSans-Italic f +(string) 1287 3492 w +10 /LucidaTypewriter f +(\)) 1574 3492 w +10 /LucidaSansUnicode00 f +(Execute a shell command) 3807 3492 w +10 /LucidaTypewriter f +(rc) 970 3648 w +10 /LucidaSansUnicode00 f +(evaluates) 1174 3648 w +10 /LucidaSans-Italic f +(string) 1687 3648 w +10 /LucidaSansUnicode00 f +(to) 2034 3648 w +(form) 2192 3648 w +(a) 2484 3648 w +(shell) 2599 3648 w +(command.) 2886 3648 w +(A) 3456 3648 w +(new) 3585 3648 w +(command) 3841 3648 w +(interpreter) 4380 3648 w +(is) 4960 3648 w +(started) 970 3768 w +(to) 1357 3768 w +(execute) 1502 3768 w +(the) 1928 3768 w +(command.) 2130 3768 w +(The) 2687 3768 w +(Acid) 2914 3768 w +(interpreter) 3172 3768 w +(blocks) 3737 3768 w +(until) 4096 3768 w +(the) 4361 3768 w +(command) 4562 3768 w +(completes.) 970 3888 w +(The) 1542 3888 w +(return) 1767 3888 w +(value) 2110 3888 w +(is) 2408 3888 w +(the) 2532 3888 w +(empty) 2731 3888 w +(string) 3076 3888 w +(if) 3402 3888 w +(the) 3512 3888 w +(command) 3711 3888 w +(succeeds,) 4233 3888 w +(other\255) 4750 3888 w +(wise the exit status of the failed command.) 970 4008 w +10 /LucidaTypewriter f +(acid: rc\("B "+itoa\(-pcline\(addr\)\)+" "+pcfile\(addr\)\);) 1170 4164 w +10 /LucidaSans-Italic f +(string) 720 4320 w +10 /LucidaTypewriter f +(readfile\() 1071 4320 w +10 /LucidaSans-Italic f +(string) 1719 4320 w +10 /LucidaTypewriter f +(\)) 2006 4320 w +10 /LucidaSansUnicode00 f +(Read file contents into a string) 3549 4320 w +10 /LucidaTypewriter f +(readfile) 970 4476 w +10 /LucidaSansUnicode00 f +(takes) 1589 4476 w +(the) 1889 4476 w +(contents) 2088 4476 w +(of) 2549 4476 w +(the) 2691 4476 w +(file) 2890 4476 w +(specified) 3085 4476 w +(by) 3564 4476 w +10 /LucidaSans-Italic f +(string) 3723 4476 w +10 /LucidaSansUnicode00 f +(and) 4054 4476 w +(returns) 4278 4476 w +(its) 4672 4476 w +(con\255) 4833 4476 w +(tents) 970 4596 w +(as) 1259 4596 w +(a) 1411 4596 w +(new) 1512 4596 w +(string.) 1753 4596 w +(If) 2145 4596 w +10 /LucidaTypewriter f +(readfile) 2257 4596 w +10 /LucidaSansUnicode00 f +(encounters) 2879 4596 w +(a) 3463 4596 w +(zero) 3563 4596 w +(byte) 3823 4596 w +(in) 4076 4596 w +(the) 4212 4596 w +(file,) 4412 4596 w +(it) 4640 4596 w +(termi\255) 4751 4596 w +(nates.) 970 4716 w +(If) 1350 4716 w +10 /LucidaTypewriter f +(readfile) 1471 4716 w +10 /LucidaSansUnicode00 f +(encounters) 2102 4716 w +(an) 2696 4716 w +(error) 2868 4716 w +(opening) 3163 4716 w +(or) 3613 4716 w +(reading) 3770 4716 w +(the) 4194 4716 w +(file) 4405 4716 w +(then) 4612 4716 w +(the) 4885 4716 w +(empty) 970 4836 w +(list) 1305 4836 w +(is) 1485 4836 w +(returned.) 1599 4836 w +10 /LucidaTypewriter f +(readfile) 2115 4836 w +10 /LucidaSansUnicode00 f +(can) 2725 4836 w +(be) 2927 4836 w +(used) 3080 4836 w +(to) 3346 4836 w +(read) 3478 4836 w +(the) 3727 4836 w +(contents) 3916 4836 w +(of) 4367 4836 w +(device) 4498 4836 w +(files) 4838 4836 w +(whose lines are not terminated with newline characters.) 970 4956 w +10 /LucidaTypewriter f +(acid: ""+readfile\("/dev/label"\)) 1170 5112 w +(helix) 1170 5232 w +10 /LucidaSans-Italic f +(string) 720 5388 w +10 /LucidaTypewriter f +(reason\() 1071 5388 w +10 /LucidaSans-Italic f +(integer) 1575 5388 w +10 /LucidaTypewriter f +(\)) 1919 5388 w +10 /LucidaSansUnicode00 f +(Print cause of program stoppage) 3451 5388 w +10 /LucidaTypewriter f +(reason) 970 5544 w +10 /LucidaSansUnicode00 f +(uses) 1436 5544 w +(machine-dependent) 1690 5544 w +(information) 2708 5544 w +(to) 3309 5544 w +(generate) 3441 5544 w +(a) 3900 5544 w +(string) 3989 5544 w +(explaining) 4306 5544 w +(why) 4849 5544 w +(a) 970 5664 w +(process) 1059 5664 w +(has) 1467 5664 w +(stopped.) 1669 5664 w +(The) 2129 5664 w +10 /LucidaSans-Italic f +(integer) 2344 5664 w +10 /LucidaSansUnicode00 f +(argument) 2722 5664 w +(is) 3224 5664 w +(the) 3338 5664 w +(value) 3527 5664 w +(of) 3815 5664 w +(an) 3946 5664 w +(architecture) 4096 5664 w +(depen\255) 4707 5664 w +(dent status register, for example) 970 5784 w +10 /LucidaTypewriter f +(CAUSE) 2598 5784 w +10 /LucidaSansUnicode00 f +(on the MIPS.) 2990 5784 w +10 /LucidaTypewriter f +(acid: print\(reason\(*CAUSE\)\)) 1170 5940 w +(system call) 1170 6060 w +10 /LucidaSans-Italic f +(integer) 720 6216 w +10 /LucidaTypewriter f +(regexp\() 1128 6216 w +10 /LucidaSans-Italic f +(pattern,string) 1632 6216 w +10 /LucidaTypewriter f +(\)) 2312 6216 w +10 /LucidaSansUnicode00 f +(Regular expression match) 3779 6216 w +10 /LucidaTypewriter f +(regexp) 970 6372 w +10 /LucidaSansUnicode00 f +(matches) 1442 6372 w +(the) 1887 6372 w +10 /LucidaSans-Italic f +(pattern) 2082 6372 w +10 /LucidaSansUnicode00 f +(string) 2483 6372 w +(supplied) 2805 6372 w +(as) 3261 6372 w +(its) 3408 6372 w +(first) 3566 6372 w +(argument) 3802 6372 w +(with) 4311 6372 w +(the) 4557 6372 w +10 /LucidaSans-Italic f +(string) 4753 6372 w +10 /LucidaSansUnicode00 f +(supplied) 970 6492 w +(as) 1427 6492 w +(its) 1573 6492 w +(second.) 1730 6492 w +(If) 2178 6492 w +(the) 2284 6492 w +(pattern) 2479 6492 w +(matches) 2870 6492 w +(the) 3315 6492 w +(result) 3510 6492 w +(is) 3826 6492 w +(the) 3946 6492 w +(value) 4141 6492 w +(1,) 4435 6492 w +(otherwise) 4570 6492 w +(0.) 970 6612 w +10 /LucidaTypewriter f +(acid: print\(regexp\(".*bar", "foobar"\)\)) 1170 6768 w +(1) 1170 6888 w cleartomark showpage saveobj restore @@ -9891,380 +9929,455 @@ 10 /LucidaSansUnicode00 f (\255 16 \255) 2752 480 w 10 /LucidaTypewriter f -(acid: print\(reason\(*CAUSE\)\)) 1170 876 w -(system call) 1170 996 w +({}) 720 876 w +(setproc\() 1008 876 w 10 /LucidaSans-Italic f -(integer) 720 1152 w +(integer) 1584 876 w 10 /LucidaTypewriter f -(regexp\() 1128 1152 w +(\)) 1928 876 w +10 /LucidaSansUnicode00 f +(Set debugger focus) 4102 876 w +10 /LucidaTypewriter f +(setproc) 970 1032 w +10 /LucidaSansUnicode00 f +(selects) 1516 1032 w +(the) 1889 1032 w +(default) 2086 1032 w +(process) 2467 1032 w +(used) 2883 1032 w +(for) 3157 1032 w +(memory) 3338 1032 w +(and) 3776 1032 w +(control) 3998 1032 w +(operations.) 4383 1032 w +(It) 4974 1032 w +(effectively) 970 1152 w +(shifts) 1517 1152 w +(the) 1838 1152 w +(focus) 2047 1152 w +(of) 2363 1152 w +(control) 2515 1152 w +(between) 2911 1152 w +(processes.) 3372 1152 w +(The) 3939 1152 w +10 /LucidaSans-Italic f +(integer) 4174 1152 w +10 /LucidaSansUnicode00 f +(argument) 4572 1152 w +(specifies the pid of the process to look at.) 970 1272 w +(The) 3081 1272 w +(variable) 3295 1272 w +10 /LucidaTypewriter f +(pid) 3708 1272 w +10 /LucidaSansUnicode00 f +(is) 3957 1272 w +(set) 4070 1272 w +(to) 4247 1272 w +(the) 4378 1272 w +(pid) 4566 1272 w +(of) 4754 1272 w +(the) 4885 1272 w +(selected) 970 1392 w +(process.) 1407 1392 w +(If) 1851 1392 w +(the) 1955 1392 w +(process) 2148 1392 w +(is) 2560 1392 w +(being) 2678 1392 w +(selected) 2988 1392 w +(for) 3425 1392 w +(the) 3601 1392 w +(first) 3793 1392 w +(time) 4025 1392 w +(its) 4277 1392 w +(pid) 4431 1392 w +(is) 4623 1392 w +(added) 4740 1392 w +(to the list of active processes) 970 1512 w +10 /LucidaTypewriter f +(proclist) 2420 1512 w +10 /LucidaSansUnicode00 f +(.) 2996 1512 w +10 /LucidaTypewriter f +(acid: setproc\(68382\)) 1170 1668 w +(acid: procs\(\)) 1170 1788 w +(>68382: Stopped at main+0x4 setproc\(68382\)) 1170 1908 w +({}) 720 2064 w +(start\() 1008 2064 w 10 /LucidaSans-Italic f -(pattern,string) 1632 1152 w +(integer) 1440 2064 w +10 /LucidaTypewriter f +(\)) 1784 2064 w +10 /LucidaSansUnicode00 f +(Restart execution) 4193 2064 w 10 /LucidaTypewriter f -(\)) 2312 1152 w -10 /LucidaSansUnicode00 f -(Regular expression match) 3779 1152 w -10 /LucidaTypewriter f -(regexp) 970 1308 w -10 /LucidaSansUnicode00 f -(matches) 1442 1308 w -(the) 1887 1308 w -10 /LucidaSans-Italic f -(pattern) 2082 1308 w -10 /LucidaSansUnicode00 f -(string) 2483 1308 w -(supplied) 2805 1308 w -(as) 3261 1308 w -(its) 3408 1308 w -(first) 3566 1308 w -(argument) 3802 1308 w -(with) 4311 1308 w -(the) 4557 1308 w -10 /LucidaSans-Italic f -(string) 4753 1308 w -10 /LucidaSansUnicode00 f -(supplied) 970 1428 w -(as) 1427 1428 w -(its) 1573 1428 w -(second.) 1730 1428 w -(If) 2178 1428 w -(the) 2284 1428 w -(pattern) 2479 1428 w -(matches) 2870 1428 w -(the) 3315 1428 w -(result) 3510 1428 w -(is) 3826 1428 w -(the) 3946 1428 w -(value) 4141 1428 w -(1,) 4435 1428 w -(otherwise) 4570 1428 w -(0.) 970 1548 w -10 /LucidaTypewriter f -(acid: print\(regexp\(".*bar", "foobar"\)\)) 1170 1704 w -(1) 1170 1824 w -({}) 720 1980 w -(setproc\() 1008 1980 w -10 /LucidaSans-Italic f -(integer) 1584 1980 w -10 /LucidaTypewriter f -(\)) 1928 1980 w -10 /LucidaSansUnicode00 f -(Set debugger focus) 4102 1980 w -10 /LucidaTypewriter f -(setproc) 970 2136 w -10 /LucidaSansUnicode00 f -(selects) 1516 2136 w -(the) 1889 2136 w -(default) 2086 2136 w -(process) 2467 2136 w -(used) 2883 2136 w -(for) 3157 2136 w -(memory) 3338 2136 w -(and) 3776 2136 w -(control) 3998 2136 w -(operations.) 4383 2136 w -(It) 4974 2136 w -(effectively) 970 2256 w -(shifts) 1517 2256 w -(the) 1838 2256 w -(focus) 2047 2256 w -(of) 2363 2256 w -(control) 2515 2256 w -(between) 2911 2256 w -(processes.) 3372 2256 w -(The) 3939 2256 w -10 /LucidaSans-Italic f -(integer) 4174 2256 w -10 /LucidaSansUnicode00 f -(argument) 4572 2256 w -(specifies the pid of the process to look at.) 970 2376 w -(The) 3081 2376 w -(variable) 3295 2376 w -10 /LucidaTypewriter f -(pid) 3708 2376 w -10 /LucidaSansUnicode00 f -(is) 3957 2376 w -(set) 4070 2376 w -(to) 4247 2376 w -(the) 4378 2376 w -(pid) 4566 2376 w -(of) 4754 2376 w -(the) 4885 2376 w -(selected) 970 2496 w -(process.) 1407 2496 w -(If) 1851 2496 w -(the) 1955 2496 w -(process) 2148 2496 w -(is) 2560 2496 w -(being) 2678 2496 w -(selected) 2988 2496 w -(for) 3425 2496 w -(the) 3601 2496 w -(first) 3793 2496 w -(time) 4025 2496 w -(its) 4277 2496 w -(pid) 4431 2496 w -(is) 4623 2496 w -(added) 4740 2496 w -(to the list of active processes) 970 2616 w -10 /LucidaTypewriter f -(proclist) 2420 2616 w -10 /LucidaSansUnicode00 f -(.) 2996 2616 w -10 /LucidaTypewriter f -(acid: setproc\(68382\)) 1170 2772 w -(acid: procs\(\)) 1170 2892 w -(>68382: Stopped at main+0x4 setproc\(68382\)) 1170 3012 w -({}) 720 3168 w -(start\() 1008 3168 w -10 /LucidaSans-Italic f -(integer) 1440 3168 w -10 /LucidaTypewriter f -(\)) 1784 3168 w -10 /LucidaSansUnicode00 f -(Restart execution) 4193 3168 w -10 /LucidaTypewriter f -(start) 970 3324 w -10 /LucidaSansUnicode00 f -(writes) 1365 3324 w -(a) 1691 3324 w -10 /LucidaTypewriter f -(start) 1782 3324 w -10 /LucidaSansUnicode00 f -(message) 2178 3324 w -(to) 2638 3324 w -(the) 2772 3324 w -(control) 2963 3324 w -(file) 3341 3324 w -(of) 3528 3324 w -(the) 3662 3324 w -(process) 3853 3324 w -(specified) 4263 3324 w -(by) 4734 3324 w -(the) 4885 3324 w -(pid) 970 3444 w -(supplied) 1166 3444 w -(as) 1622 3444 w -(its) 1768 3444 w -10 /LucidaSans-Italic f -(integer) 1925 3444 w -10 /LucidaSansUnicode00 f -(argument.) 2309 3444 w -10 /LucidaTypewriter f -(start) 2881 3444 w -10 /LucidaSansUnicode00 f -(draws) 3281 3444 w -(an) 3608 3444 w -(error) 3765 3444 w -(if) 4045 3444 w -(the) 4151 3444 w -(process) 4346 3444 w -(is) 4760 3444 w -(not) 4880 3444 w -(in the) 970 3564 w -10 /LucidaTypewriter f -(Stopped) 1280 3564 w -10 /LucidaSansUnicode00 f -(state.) 1816 3564 w -10 /LucidaTypewriter f -(acid: start\(68382\)) 1170 3720 w -(acid: procs\(\)) 1170 3840 w -(>68382: Running at main+0x4 setproc\(68382\)) 1170 3960 w -({}) 720 4116 w -(startstop\() 1008 4116 w -10 /LucidaSans-Italic f -(integer) 1728 4116 w -10 /LucidaTypewriter f -(\)) 2072 4116 w -10 /LucidaSansUnicode00 f -(Restart execution, block until stopped) 3190 4116 w -10 /LucidaTypewriter f -(startstop) 970 4272 w -10 /LucidaSansUnicode00 f -(performs) 1660 4272 w -(the) 2145 4272 w -(same) 2342 4272 w -(actions) 2639 4272 w -(as) 3027 4272 w -(a) 3175 4272 w -(call) 3272 4272 w -(to) 3479 4272 w -10 /LucidaTypewriter f -(start) 3620 4272 w -10 /LucidaSansUnicode00 f -(followed) 4023 4272 w -(by) 4479 4272 w -(a) 4637 4272 w -(call) 4735 4272 w -(to) 4942 4272 w -10 /LucidaTypewriter f -(stop) 970 4392 w -10 /LucidaSansUnicode00 f -(.) 1258 4392 w -(The) 1362 4392 w -10 /LucidaSans-Italic f -(integer) 1583 4392 w -10 /LucidaSansUnicode00 f -(argument) 1967 4392 w -(specifies) 2475 4392 w -(the) 2938 4392 w -(pid) 3133 4392 w -(of) 3328 4392 w -(the) 3465 4392 w -(process) 3659 4392 w -(to) 4072 4392 w -(control.) 4209 4392 w -(The) 4622 4392 w -(pro\255) 4842 4392 w -(cess) 970 4512 w -(must) 1228 4512 w -(be) 1520 4512 w -(in) 1688 4512 w -(the) 1828 4512 w -10 /LucidaTypewriter f -(Stopped) 2032 4512 w -10 /LucidaSansUnicode00 f -(state.) 2585 4512 w -(Execution) 2934 4512 w -(is) 3456 4512 w -(restarted,) 3585 4512 w -(the) 4103 4512 w -(debugger) 4308 4512 w -(then) 4823 4512 w -(waits) 970 4632 w -(for) 1253 4632 w -(the) 1426 4632 w -(process) 1615 4632 w -(to) 2023 4632 w -(return) 2155 4632 w -(to) 2488 4632 w -(the) 2620 4632 w -10 /LucidaTypewriter f -(Stopped) 2809 4632 w -10 /LucidaSansUnicode00 f -(state.) 3347 4632 w -(A) 3648 4632 w -(process) 3750 4632 w -(will) 4157 4632 w -(stop) 4354 4632 w -(if) 4599 4632 w -(a) 4698 4632 w -(start\255) 4786 4632 w -(stop) 970 4752 w -(message) 1227 4752 w -(has) 1696 4752 w -(been) 1909 4752 w -(written) 2191 4752 w -(to) 2575 4752 w -(its) 2718 4752 w -(control) 2880 4752 w -(file) 3267 4752 w -(and) 3463 4752 w -(any) 3688 4752 w -(of) 3903 4752 w -(the) 4047 4752 w -(following) 4248 4752 w -(condi\255) 4741 4752 w -(tions) 970 4872 w -(becomes) 1255 4872 w -(true:) 1731 4872 w -(the) 2004 4872 w -(process) 2204 4872 w -(executes) 2623 4872 w -(or) 3098 4872 w -(returns) 3245 4872 w -(from) 3640 4872 w -(a) 3917 4872 w -(system) 4017 4872 w -(call,) 4402 4872 w -(the) 4643 4872 w -(pro\255) 4842 4872 w -(cess) 970 4992 w -(generates) 1234 4992 w -(a) 1765 4992 w -(trap) 1875 4992 w -(or) 2126 4992 w -(the) 2283 4992 w -(process) 2493 4992 w -(receives) 2922 4992 w -(a) 3369 4992 w -(note.) 3479 4992 w -10 /LucidaTypewriter f -(startstop) 3814 4992 w -10 /LucidaSansUnicode00 f -(is) 4518 4992 w -(used) 4654 4992 w -(to) 4942 4992 w -(implement single stepping.) 970 5112 w -10 /LucidaTypewriter f -(acid: startstop\(pid\)) 1170 5268 w -(75374: breakpoint) 1170 5388 w -(ls) 2570 5388 w -(ADD) 2770 5388 w -($-0x16c8,R29) 3170 5388 w -10 /LucidaSans-Italic f -(string) 720 5544 w -10 /LucidaTypewriter f -(status\() 1071 5544 w -10 /LucidaSans-Italic f -(integer) 1575 5544 w -10 /LucidaTypewriter f -(\)) 1919 5544 w -10 /LucidaSansUnicode00 f -(Return process state) 4045 5544 w -10 /LucidaTypewriter f -(status) 970 5700 w -10 /LucidaSansUnicode00 f -(uses) 1467 5700 w -(the) 1752 5700 w -(pid) 1972 5700 w -(supplied) 2192 5700 w -(by) 2674 5700 w -(its) 2855 5700 w -10 /LucidaSans-Italic f -(integer) 3038 5700 w -10 /LucidaSansUnicode00 f -(argument) 3448 5700 w -(to) 3982 5700 w -(generate) 4146 5700 w -(a) 4637 5700 w -(string) 4758 5700 w -(describing) 970 5820 w -(the) 1520 5820 w -(state) 1718 5820 w -(of) 1997 5820 w -(the) 2138 5820 w -(process.) 2336 5820 w -(The) 2817 5820 w -(string) 3040 5820 w -(corresponds) 3364 5820 w -(to) 4007 5820 w -(the) 4147 5820 w -(state) 4344 5820 w -(returned) 4622 5820 w -(by) 970 5940 w -(the) 1128 5940 w -(sixth) 1326 5940 w -(column) 1609 5940 w -(of) 2011 5940 w -(the) 2153 5940 w -10 /LucidaSans-Italic f -(ps) 2352 5940 w -10 /LucidaSansUnicode00 f -(\(1\)) 2462 5940 w -(command.) 2635 5940 w -(A) 3221 5940 w -(process) 3334 5940 w -(must) 3752 5940 w -(be) 4039 5940 w -(in) 4202 5940 w -(the) 4337 5940 w +(start) 970 2220 w +10 /LucidaSansUnicode00 f +(writes) 1365 2220 w +(a) 1691 2220 w 10 /LucidaTypewriter f -(Stopped) 4536 5940 w +(start) 1782 2220 w +10 /LucidaSansUnicode00 f +(message) 2178 2220 w +(to) 2638 2220 w +(the) 2772 2220 w +(control) 2963 2220 w +(file) 3341 2220 w +(of) 3528 2220 w +(the) 3662 2220 w +(process) 3853 2220 w +(specified) 4263 2220 w +(by) 4734 2220 w +(the) 4885 2220 w +(pid) 970 2340 w +(supplied) 1166 2340 w +(as) 1622 2340 w +(its) 1768 2340 w +10 /LucidaSans-Italic f +(integer) 1925 2340 w +10 /LucidaSansUnicode00 f +(argument.) 2309 2340 w +10 /LucidaTypewriter f +(start) 2881 2340 w +10 /LucidaSansUnicode00 f +(draws) 3281 2340 w +(an) 3608 2340 w +(error) 3765 2340 w +(if) 4045 2340 w +(the) 4151 2340 w +(process) 4346 2340 w +(is) 4760 2340 w +(not) 4880 2340 w +(in the) 970 2460 w +10 /LucidaTypewriter f +(Stopped) 1280 2460 w +10 /LucidaSansUnicode00 f +(state.) 1816 2460 w +10 /LucidaTypewriter f +(acid: start\(68382\)) 1170 2616 w +(acid: procs\(\)) 1170 2736 w +(>68382: Running at main+0x4 setproc\(68382\)) 1170 2856 w +({}) 720 3012 w +(startstop\() 1008 3012 w +10 /LucidaSans-Italic f +(integer) 1728 3012 w +10 /LucidaTypewriter f +(\)) 2072 3012 w +10 /LucidaSansUnicode00 f +(Restart execution, block until stopped) 3190 3012 w +10 /LucidaTypewriter f +(startstop) 970 3168 w +10 /LucidaSansUnicode00 f +(performs) 1660 3168 w +(the) 2145 3168 w +(same) 2342 3168 w +(actions) 2639 3168 w +(as) 3027 3168 w +(a) 3175 3168 w +(call) 3272 3168 w +(to) 3479 3168 w +10 /LucidaTypewriter f +(start) 3620 3168 w +10 /LucidaSansUnicode00 f +(followed) 4023 3168 w +(by) 4479 3168 w +(a) 4637 3168 w +(call) 4735 3168 w +(to) 4942 3168 w +10 /LucidaTypewriter f +(stop) 970 3288 w +10 /LucidaSansUnicode00 f +(.) 1258 3288 w +(The) 1362 3288 w +10 /LucidaSans-Italic f +(integer) 1583 3288 w +10 /LucidaSansUnicode00 f +(argument) 1967 3288 w +(specifies) 2475 3288 w +(the) 2938 3288 w +(pid) 3133 3288 w +(of) 3328 3288 w +(the) 3465 3288 w +(process) 3659 3288 w +(to) 4072 3288 w +(control.) 4209 3288 w +(The) 4622 3288 w +(pro\255) 4842 3288 w +(cess) 970 3408 w +(must) 1228 3408 w +(be) 1520 3408 w +(in) 1688 3408 w +(the) 1828 3408 w +10 /LucidaTypewriter f +(Stopped) 2032 3408 w +10 /LucidaSansUnicode00 f +(state.) 2585 3408 w +(Execution) 2934 3408 w +(is) 3456 3408 w +(restarted,) 3585 3408 w +(the) 4103 3408 w +(debugger) 4308 3408 w +(then) 4823 3408 w +(waits) 970 3528 w +(for) 1253 3528 w +(the) 1426 3528 w +(process) 1615 3528 w +(to) 2023 3528 w +(return) 2155 3528 w +(to) 2488 3528 w +(the) 2620 3528 w +10 /LucidaTypewriter f +(Stopped) 2809 3528 w +10 /LucidaSansUnicode00 f +(state.) 3347 3528 w +(A) 3648 3528 w +(process) 3750 3528 w +(will) 4157 3528 w +(stop) 4354 3528 w +(if) 4599 3528 w +(a) 4698 3528 w +(start\255) 4786 3528 w +(stop) 970 3648 w +(message) 1227 3648 w +(has) 1696 3648 w +(been) 1909 3648 w +(written) 2191 3648 w +(to) 2575 3648 w +(its) 2718 3648 w +(control) 2880 3648 w +(file) 3267 3648 w +(and) 3463 3648 w +(any) 3688 3648 w +(of) 3903 3648 w +(the) 4047 3648 w +(following) 4248 3648 w +(condi\255) 4741 3648 w +(tions) 970 3768 w +(becomes) 1255 3768 w +(true:) 1731 3768 w +(the) 2004 3768 w +(process) 2204 3768 w +(executes) 2623 3768 w +(or) 3098 3768 w +(returns) 3245 3768 w +(from) 3640 3768 w +(a) 3917 3768 w +(system) 4017 3768 w +(call,) 4402 3768 w +(the) 4643 3768 w +(pro\255) 4842 3768 w +(cess) 970 3888 w +(generates) 1234 3888 w +(a) 1765 3888 w +(trap) 1875 3888 w +(or) 2126 3888 w +(the) 2283 3888 w +(process) 2493 3888 w +(receives) 2922 3888 w +(a) 3369 3888 w +(note.) 3479 3888 w +10 /LucidaTypewriter f +(startstop) 3814 3888 w +10 /LucidaSansUnicode00 f +(is) 4518 3888 w +(used) 4654 3888 w +(to) 4942 3888 w +(implement single stepping.) 970 4008 w +10 /LucidaTypewriter f +(acid: startstop\(pid\)) 1170 4164 w +(75374: breakpoint) 1170 4284 w +(ls) 2570 4284 w +(ADD) 2770 4284 w +($-0x16c8,R29) 3170 4284 w +10 /LucidaSans-Italic f +(string) 720 4440 w +10 /LucidaTypewriter f +(status\() 1071 4440 w +10 /LucidaSans-Italic f +(integer) 1575 4440 w +10 /LucidaTypewriter f +(\)) 1919 4440 w +10 /LucidaSansUnicode00 f +(Return process state) 4045 4440 w +10 /LucidaTypewriter f +(status) 970 4596 w +10 /LucidaSansUnicode00 f +(uses) 1467 4596 w +(the) 1752 4596 w +(pid) 1972 4596 w +(supplied) 2192 4596 w +(by) 2674 4596 w +(its) 2855 4596 w +10 /LucidaSans-Italic f +(integer) 3038 4596 w +10 /LucidaSansUnicode00 f +(argument) 3448 4596 w +(to) 3982 4596 w +(generate) 4146 4596 w +(a) 4637 4596 w +(string) 4758 4596 w +(describing) 970 4716 w +(the) 1520 4716 w +(state) 1718 4716 w +(of) 1997 4716 w +(the) 2138 4716 w +(process.) 2336 4716 w +(The) 2817 4716 w +(string) 3040 4716 w +(corresponds) 3364 4716 w +(to) 4007 4716 w +(the) 4147 4716 w +(state) 4344 4716 w +(returned) 4622 4716 w +(by) 970 4836 w +(the) 1128 4836 w +(sixth) 1326 4836 w +(column) 1609 4836 w +(of) 2011 4836 w +(the) 2153 4836 w +10 /LucidaSans-Italic f +(ps) 2352 4836 w +10 /LucidaSansUnicode00 f +(\(1\)) 2462 4836 w +(command.) 2635 4836 w +(A) 3221 4836 w +(process) 3334 4836 w +(must) 3752 4836 w +(be) 4039 4836 w +(in) 4202 4836 w +(the) 4337 4836 w +10 /LucidaTypewriter f +(Stopped) 4536 4836 w +10 /LucidaSansUnicode00 f +(state to modify its memory or registers.) 970 4956 w +10 /LucidaTypewriter f +(acid: ""+status\(pid\)) 1170 5112 w +(Stopped) 1170 5232 w +({}) 720 5388 w +(stop\() 1008 5388 w +10 /LucidaSans-Italic f +(integer) 1368 5388 w +10 /LucidaTypewriter f +(\)) 1712 5388 w +10 /LucidaSansUnicode00 f +(Wait for a process to stop) 3795 5388 w +10 /LucidaTypewriter f +(stop) 970 5544 w +10 /LucidaSansUnicode00 f +(writes a) 1290 5544 w +10 /LucidaTypewriter f +(stop) 1700 5544 w +10 /LucidaSansUnicode00 f +(message) 2020 5544 w +(to) 2477 5544 w +(the) 2608 5544 w +(control) 2796 5544 w +(file) 3171 5544 w +(of) 3355 5544 w +(the) 3486 5544 w +(process) 3674 5544 w +(specified) 4081 5544 w +(by) 4549 5544 w +(the) 4697 5544 w +(pid) 4885 5544 w +(supplied) 970 5664 w +(as) 1430 5664 w +(its) 1580 5664 w +10 /LucidaSans-Italic f +(integer) 1741 5664 w +10 /LucidaSansUnicode00 f +(argument.) 2129 5664 w +(The) 2705 5664 w +(interpreter) 2930 5664 w +(blocks) 3493 5664 w +(until) 3850 5664 w +(the) 4113 5664 w +(debugged) 4312 5664 w +(pro\255) 4842 5664 w +(cess) 970 5784 w +(enters) 1223 5784 w +(the) 1570 5784 w +10 /LucidaTypewriter f +(Stopped) 1769 5784 w +10 /LucidaSansUnicode00 f +(state.) 2317 5784 w +(A) 2661 5784 w +(process) 2774 5784 w +(will) 3192 5784 w +(stop) 3400 5784 w +(if) 3656 5784 w +(a) 3766 5784 w +(stop) 3865 5784 w +(message) 4121 5784 w +(has) 4590 5784 w +(been) 4803 5784 w +(written) 970 5904 w +(to) 1342 5904 w +(its) 1473 5904 w +(control) 1623 5904 w +(file) 1998 5904 w +(and) 2182 5904 w +(any) 2395 5904 w +(of) 2597 5904 w +(the following conditions becomes true: the pro\255) 2728 5904 w +(cess) 970 6024 w +(executes) 1215 6024 w +(or) 1681 6024 w +(returns) 1819 6024 w +(from) 2206 6024 w +(a) 2475 6024 w +(system) 2567 6024 w +(call,) 2944 6024 w +(the) 3177 6024 w +(process) 3369 6024 w +(generates) 3780 6024 w +(a) 4293 6024 w +(trap,) 4385 6024 w +(the) 4650 6024 w +(pro\255) 4842 6024 w +(cess) 970 6144 w +(is) 1220 6144 w +(scheduled) 1341 6144 w +(or) 1874 6144 w +(the) 2016 6144 w +(process) 2211 6144 w +(receives) 2625 6144 w +(a) 3057 6144 w +(note.) 3152 6144 w +10 /LucidaTypewriter f +(stop) 3472 6144 w +10 /LucidaSansUnicode00 f +(is) 3800 6144 w +(used) 3920 6144 w +(to) 4192 6144 w +(wait) 4330 6144 w +(for) 4568 6144 w +(a) 4747 6144 w +(pro\255) 4842 6144 w +(cess) 970 6264 w +(to) 1213 6264 w +(halt) 1345 6264 w +(before) 1562 6264 w +(planting) 1910 6264 w +(a) 2343 6264 w +(breakpoint) 2432 6264 w +(since) 2991 6264 w +(Plan) 3274 6264 w +(9) 3509 6264 w +(only) 3607 6264 w +(allows) 3846 6264 w +(a) 4183 6264 w +(process) 4273 6264 w +10 /LucidaSansUnicode20 f +(\031) 4647 6264 w 10 /LucidaSansUnicode00 f -(state to modify its memory or registers.) 970 6060 w +(s) 4679 6264 w +(mem\255) 4765 6264 w +(ory to be written while it is in the) 970 6384 w 10 /LucidaTypewriter f -(acid: ""+status\(pid\)) 1170 6216 w -(Stopped) 1170 6336 w +(Stopped) 2613 6384 w +10 /LucidaSansUnicode00 f +(state.) 3149 6384 w cleartomark showpage saveobj restore @@ -10276,507 +10389,505 @@ 10 /LucidaSansUnicode00 f (\255 17 \255) 2752 480 w 10 /LucidaTypewriter f -({}) 720 876 w -(stop\() 1008 876 w -10 /LucidaSans-Italic f -(integer) 1368 876 w -10 /LucidaTypewriter f -(\)) 1712 876 w -10 /LucidaSansUnicode00 f -(Wait for a process to stop) 3795 876 w -10 /LucidaTypewriter f -(stop) 970 1032 w -10 /LucidaSansUnicode00 f -(writes a) 1290 1032 w -10 /LucidaTypewriter f -(stop) 1700 1032 w -10 /LucidaSansUnicode00 f -(message) 2020 1032 w -(to) 2477 1032 w -(the) 2608 1032 w -(control) 2796 1032 w -(file) 3171 1032 w -(of) 3355 1032 w -(the) 3486 1032 w -(process) 3674 1032 w -(specified) 4081 1032 w -(by) 4549 1032 w -(the) 4697 1032 w -(pid) 4885 1032 w -(supplied) 970 1152 w -(as) 1430 1152 w -(its) 1580 1152 w -10 /LucidaSans-Italic f -(integer) 1741 1152 w -10 /LucidaSansUnicode00 f -(argument.) 2129 1152 w -(The) 2705 1152 w -(interpreter) 2930 1152 w -(blocks) 3493 1152 w -(until) 3850 1152 w -(the) 4113 1152 w -(debugged) 4312 1152 w -(pro\255) 4842 1152 w -(cess) 970 1272 w -(enters) 1223 1272 w -(the) 1570 1272 w -10 /LucidaTypewriter f -(Stopped) 1769 1272 w -10 /LucidaSansUnicode00 f -(state.) 2317 1272 w -(A) 2661 1272 w -(process) 2774 1272 w -(will) 3192 1272 w -(stop) 3400 1272 w -(if) 3656 1272 w -(a) 3766 1272 w -(stop) 3865 1272 w -(message) 4121 1272 w -(has) 4590 1272 w -(been) 4803 1272 w -(written) 970 1392 w -(to) 1342 1392 w -(its) 1473 1392 w -(control) 1623 1392 w -(file) 1998 1392 w -(and) 2182 1392 w -(any) 2395 1392 w -(of) 2597 1392 w -(the following conditions becomes true: the pro\255) 2728 1392 w -(cess) 970 1512 w -(executes) 1215 1512 w -(or) 1681 1512 w -(returns) 1819 1512 w -(from) 2206 1512 w -(a) 2475 1512 w -(system) 2567 1512 w -(call,) 2944 1512 w -(the) 3177 1512 w -(process) 3369 1512 w -(generates) 3780 1512 w -(a) 4293 1512 w -(trap,) 4385 1512 w -(the) 4650 1512 w -(pro\255) 4842 1512 w -(cess) 970 1632 w -(is) 1220 1632 w -(scheduled) 1341 1632 w -(or) 1874 1632 w -(the) 2016 1632 w -(process) 2211 1632 w -(receives) 2625 1632 w -(a) 3057 1632 w -(note.) 3152 1632 w -10 /LucidaTypewriter f -(stop) 3472 1632 w -10 /LucidaSansUnicode00 f -(is) 3800 1632 w -(used) 3920 1632 w -(to) 4192 1632 w -(wait) 4330 1632 w -(for) 4568 1632 w -(a) 4747 1632 w -(pro\255) 4842 1632 w -(cess) 970 1752 w -(to) 1213 1752 w -(halt) 1345 1752 w -(before) 1562 1752 w -(planting) 1910 1752 w -(a) 2343 1752 w -(breakpoint) 2432 1752 w -(since) 2991 1752 w -(Plan) 3274 1752 w -(9) 3509 1752 w -(only) 3607 1752 w -(allows) 3846 1752 w -(a) 4183 1752 w -(process) 4273 1752 w -10 /LucidaSansUnicode20 f -(\031) 4647 1752 w -10 /LucidaSansUnicode00 f -(s) 4679 1752 w -(mem\255) 4765 1752 w -(ory to be written while it is in the) 970 1872 w -10 /LucidaTypewriter f -(Stopped) 2613 1872 w -10 /LucidaSansUnicode00 f -(state.) 3149 1872 w -10 /LucidaTypewriter f -(defn bpset\(addr\) {) 1170 2028 w -(if \(status\(pid\)!="Stopped"\) then {) 1370 2148 w -(print\("Waiting...\\n"\);) 1570 2268 w -(stop\(pid\);) 1570 2388 w -(}) 1370 2508 w -(...) 1370 2628 w -(}) 1170 2748 w -10 /LucidaSans-Italic f -(list) 720 2904 w -10 /LucidaTypewriter f -(strace\() 929 2904 w -10 /LucidaSans-Italic f -(pc,sp,linkreg) 1433 2904 w -10 /LucidaTypewriter f -(\)) 2058 2904 w -10 /LucidaSansUnicode00 f -(Stack trace) 4513 2904 w -10 /LucidaTypewriter f -(strace) 970 3060 w -10 /LucidaSansUnicode00 f -(generates) 1471 3060 w -(a) 2016 3060 w -(list) 2140 3060 w -(of) 2356 3060 w -(lists) 2524 3060 w -(corresponding) 2791 3060 w -(to) 3564 3060 w -(procedures) 3732 3060 w -(called) 4347 3060 w -(by) 4700 3060 w -(the) 4885 3060 w -(debugged) 970 3180 w -(program.) 1501 3180 w -(Each) 1993 3180 w -(sublist) 2259 3180 w -(describes) 2625 3180 w -(a) 3130 3180 w -(single) 3229 3180 w -(stack) 3562 3180 w -(frame) 3858 3180 w -(in) 4184 3180 w -(the) 4319 3180 w -(active) 4518 3180 w -(pro\255) 4842 3180 w -(cess.) 970 3300 w -(The) 1294 3300 w -(first) 1526 3300 w -(element) 1772 3300 w -(is) 2212 3300 w -(an) 2343 3300 w -10 /LucidaSans-Italic f -(integer) 2511 3300 w -10 /LucidaSansUnicode00 f -(of) 2906 3300 w -(format) 3055 3300 w -10 /LucidaTypewriter f -(X) 3430 3300 w -10 /LucidaSansUnicode00 f -(specifying) 3553 3300 w -(the) 4096 3300 w -(address) 4303 3300 w -(of) 4735 3300 w -(the) 4885 3300 w -(called) 970 3420 w -(function.) 1292 3420 w -(The) 1764 3420 w -(second) 1984 3420 w -(element) 2367 3420 w -(is) 2795 3420 w -(the) 2914 3420 w -(value) 3107 3420 w -(of) 3399 3420 w -(the) 3535 3420 w -(program) 3728 3420 w -(counter) 4182 3420 w -(when) 4590 3420 w -(the) 4885 3420 w -(function) 970 3540 w -(was) 1413 3540 w -(called.) 1638 3540 w -(The) 1995 3540 w -(third) 2218 3540 w -(and) 2492 3540 w -(fourth) 2714 3540 w -(elements) 3056 3540 w -(contain) 3539 3540 w -(lists) 3939 3540 w -(of) 4179 3540 w -(parameter) 4320 3540 w -(and) 4860 3540 w -(automatic) 970 3660 w -(variables) 1487 3660 w -(respectively.) 1955 3660 w -(Each) 2629 3660 w -(element) 2888 3660 w -(of) 3314 3660 w -(these) 3449 3660 w -(lists) 3748 3660 w -(contains) 3982 3660 w -(a) 4426 3660 w -(string) 4517 3660 w -(with) 4835 3660 w -(the) 970 3780 w -(name) 1168 3780 w -(of) 1477 3780 w -(the) 1618 3780 w -(variable) 1816 3780 w -(and) 2240 3780 w -(an) 2464 3780 w -10 /LucidaSans-Italic f -(integer) 2625 3780 w -10 /LucidaSansUnicode00 f -(value) 3013 3780 w -(of) 3311 3780 w -(format) 3453 3780 w -10 /LucidaTypewriter f -(X) 3821 3780 w -10 /LucidaSansUnicode00 f -(containing) 3937 3780 w -(the) 4491 3780 w -(current) 4690 3780 w -(value) 970 3900 w -(of) 1262 3900 w -(the) 1398 3900 w -(variable.) 1591 3900 w -(The) 2073 3900 w -(arguments) 2292 3900 w -(to) 2849 3900 w -10 /LucidaTypewriter f -(strace) 2985 3900 w -10 /LucidaSansUnicode00 f -(are) 3455 3900 w -(the) 3645 3900 w -(current) 3837 3900 w -(value) 4224 3900 w -(of) 4515 3900 w -(the) 4650 3900 w -(pro\255) 4842 3900 w -(gram) 970 4020 w -(counter,) 1265 4020 w -(the) 1711 4020 w -(current) 1910 4020 w -(value) 2304 4020 w -(of) 2603 4020 w -(the) 2746 4020 w -(stack) 2946 4020 w -(pointer,) 3243 4020 w -(and) 3669 4020 w -(the) 3894 4020 w -(address) 4094 4020 w -(of) 4519 4020 w -(the) 4662 4020 w -(link) 4862 4020 w -(register.) 970 4140 w -(All) 1415 4140 w -(three) 1582 4140 w -(parameters) 1873 4140 w -(must) 2460 4140 w -(be) 2742 4140 w -(integers.) 2900 4140 w -(The) 3397 4140 w -(setting) 3617 4140 w -(of) 3990 4140 w -10 /LucidaSans-Italic f -(linkreg) 4127 4140 w -10 /LucidaSansUnicode00 f -(is) 4506 4140 w -(architec\255) 4625 4140 w -(ture) 970 4260 w -(dependent.) 1213 4260 w -(On) 1810 4260 w -(the) 1997 4260 w -(MIPS) 2199 4260 w -(linkreg) 2470 4260 w -(is) 2854 4260 w -(set) 2981 4260 w -(to) 3172 4260 w -(the) 3317 4260 w -(address) 3519 4260 w -(of) 3947 4260 w -(saved) 4093 4260 w -10 /LucidaTypewriter f -(R31) 4418 4260 w -10 /LucidaSansUnicode00 f -(,) 4634 4260 w -(on) 4714 4260 w -(the) 4885 4260 w -(SPARC) 970 4380 w -(to) 1334 4380 w -(the) 1486 4380 w -(address) 1695 4380 w -(of) 2129 4380 w -(saved) 2281 4380 w -10 /LucidaTypewriter f -(R15) 2612 4380 w -10 /LucidaSansUnicode00 f -(.) 2828 4380 w -(For) 2945 4380 w -(the) 3154 4380 w -(other) 3362 4380 w -(architectures) 3672 4380 w -10 /LucidaSans-Italic f -(linkreg) 4354 4380 w -10 /LucidaSansUnicode00 f -(is) 4747 4380 w -(not) 4880 4380 w -(used, but must point to valid memory.) 970 4500 w -10 /LucidaTypewriter f -(acid: print\(strace\(*PC, *SP, linkreg\)\)) 1170 4656 w -({{0x0000141c, 0xc0000f74,) 1170 4776 w -({{"s", 0x0000004d}, {"multi", 0x00000000}},) 1170 4896 w -({{"db", 0x00000000}, {"fd", 0x000010a4},) 1170 5016 w -({"n", 0x00000001}, {"i", 0x00009824}}}}) 1170 5136 w -({}) 720 5292 w -(waitstop\() 1008 5292 w -10 /LucidaSans-Italic f -(integer) 1656 5292 w -10 /LucidaTypewriter f -(\)) 2000 5292 w -10 /LucidaSansUnicode00 f -(Wait for a process to stop) 3795 5292 w -10 /LucidaTypewriter f -(waitstop) 970 5448 w -10 /LucidaSansUnicode00 f -(writes) 1588 5448 w -(a) 1921 5448 w -(waitstop) 2018 5448 w -(message) 2470 5448 w -(to) 2936 5448 w -(the) 3076 5448 w -(control) 3273 5448 w -(file) 3657 5448 w -(of) 3850 5448 w -(the) 3990 5448 w -(process) 4188 5448 w -(specified) 4605 5448 w -(by) 970 5568 w -(the) 1131 5568 w -(pid) 1332 5568 w -(supplied) 1533 5568 w -(as) 1995 5568 w -(its) 2147 5568 w -10 /LucidaSans-Italic f -(integer) 2310 5568 w -10 /LucidaSansUnicode00 f -(argument.) 2700 5568 w -(The) 3278 5568 w -(interpreter) 3505 5568 w -(will) 4069 5568 w -(remain) 4278 5568 w -(blocked) 4659 5568 w -(until) 970 5688 w -(the) 1237 5688 w -(debugged) 1440 5688 w -(process) 1975 5688 w -(enters) 2397 5688 w -(the) 2749 5688 w -10 /LucidaTypewriter f -(Stopped) 2953 5688 w -10 /LucidaSansUnicode00 f -(state.) 3506 5688 w -(A) 3855 5688 w -(process) 3973 5688 w -(will) 4396 5688 w -(stop) 4609 5688 w -(if) 4870 5688 w -(a) 4985 5688 w -(waitstop) 970 5808 w -(message) 1418 5808 w -(has) 1880 5808 w -(been) 2086 5808 w -(written) 2361 5808 w -(to) 2738 5808 w -(its) 2874 5808 w -(control) 3029 5808 w -(file) 3409 5808 w -(and) 3598 5808 w -(any) 3816 5808 w -(of) 4022 5808 w -(the) 4157 5808 w -(following) 4349 5808 w -(con\255) 4833 5808 w -(ditions) 970 5928 w -(becomes) 1362 5928 w -(true:) 1853 5928 w -(the) 2141 5928 w -(process) 2356 5928 w -(generates) 2790 5928 w -(a) 3326 5928 w -(trap) 3441 5928 w -(or) 3697 5928 w -(receives) 3859 5928 w -(a) 4312 5928 w -(note.) 4428 5928 w -(Unlike) 4737 5928 w -10 /LucidaTypewriter f -(stop) 970 6048 w -10 /LucidaSansUnicode00 f -(,) 1258 6048 w -(the) 1330 6048 w -10 /LucidaTypewriter f -(waitstop) 1525 6048 w -10 /LucidaSansUnicode00 f -(function) 2140 6048 w -(is) 2580 6048 w -(passive;) 2699 6048 w -(it) 3127 6048 w -(does) 3232 6048 w -(not) 3502 6048 w -(itself) 3701 6048 w -(cause) 3979 6048 w -(the) 4293 6048 w -(program) 4487 6048 w -(to) 4942 6048 w -(stop.) 970 6168 w -10 /LucidaTypewriter f -(acid: waitstop\(pid\)) 1170 6324 w -(75374: breakpoint) 1170 6444 w -(ls) 2570 6444 w -(ADD) 2770 6444 w -($-0x16c8,R29) 3170 6444 w +(defn bpset\(addr\) {) 1170 876 w +(if \(status\(pid\)!="Stopped"\) then {) 1370 996 w +(print\("Waiting...\\n"\);) 1570 1116 w +(stop\(pid\);) 1570 1236 w +(}) 1370 1356 w +(...) 1370 1476 w +(}) 1170 1596 w +10 /LucidaSans-Italic f +(list) 720 1752 w +10 /LucidaTypewriter f +(strace\() 929 1752 w +10 /LucidaSans-Italic f +(pc,sp,linkreg) 1433 1752 w +10 /LucidaTypewriter f +(\)) 2058 1752 w +10 /LucidaSansUnicode00 f +(Stack trace) 4513 1752 w +10 /LucidaTypewriter f +(strace) 970 1908 w +10 /LucidaSansUnicode00 f +(generates) 1471 1908 w +(a) 2016 1908 w +(list) 2140 1908 w +(of) 2356 1908 w +(lists) 2524 1908 w +(corresponding) 2791 1908 w +(to) 3564 1908 w +(procedures) 3732 1908 w +(called) 4347 1908 w +(by) 4700 1908 w +(the) 4885 1908 w +(debugged) 970 2028 w +(program.) 1501 2028 w +(Each) 1993 2028 w +(sublist) 2259 2028 w +(describes) 2625 2028 w +(a) 3130 2028 w +(single) 3229 2028 w +(stack) 3562 2028 w +(frame) 3858 2028 w +(in) 4184 2028 w +(the) 4319 2028 w +(active) 4518 2028 w +(pro\255) 4842 2028 w +(cess.) 970 2148 w +(The) 1294 2148 w +(first) 1526 2148 w +(element) 1772 2148 w +(is) 2212 2148 w +(an) 2343 2148 w +10 /LucidaSans-Italic f +(integer) 2511 2148 w +10 /LucidaSansUnicode00 f +(of) 2906 2148 w +(format) 3055 2148 w +10 /LucidaTypewriter f +(X) 3430 2148 w +10 /LucidaSansUnicode00 f +(specifying) 3553 2148 w +(the) 4096 2148 w +(address) 4303 2148 w +(of) 4735 2148 w +(the) 4885 2148 w +(called) 970 2268 w +(function.) 1292 2268 w +(The) 1764 2268 w +(second) 1984 2268 w +(element) 2367 2268 w +(is) 2795 2268 w +(the) 2914 2268 w +(value) 3107 2268 w +(of) 3399 2268 w +(the) 3535 2268 w +(program) 3728 2268 w +(counter) 4182 2268 w +(when) 4590 2268 w +(the) 4885 2268 w +(function) 970 2388 w +(was) 1413 2388 w +(called.) 1638 2388 w +(The) 1995 2388 w +(third) 2218 2388 w +(and) 2492 2388 w +(fourth) 2714 2388 w +(elements) 3056 2388 w +(contain) 3539 2388 w +(lists) 3939 2388 w +(of) 4179 2388 w +(parameter) 4320 2388 w +(and) 4860 2388 w +(automatic) 970 2508 w +(variables) 1487 2508 w +(respectively.) 1955 2508 w +(Each) 2629 2508 w +(element) 2888 2508 w +(of) 3314 2508 w +(these) 3449 2508 w +(lists) 3748 2508 w +(contains) 3982 2508 w +(a) 4426 2508 w +(string) 4517 2508 w +(with) 4835 2508 w +(the) 970 2628 w +(name) 1168 2628 w +(of) 1477 2628 w +(the) 1618 2628 w +(variable) 1816 2628 w +(and) 2240 2628 w +(an) 2464 2628 w +10 /LucidaSans-Italic f +(integer) 2625 2628 w +10 /LucidaSansUnicode00 f +(value) 3013 2628 w +(of) 3311 2628 w +(format) 3453 2628 w +10 /LucidaTypewriter f +(X) 3821 2628 w +10 /LucidaSansUnicode00 f +(containing) 3937 2628 w +(the) 4491 2628 w +(current) 4690 2628 w +(value) 970 2748 w +(of) 1262 2748 w +(the) 1398 2748 w +(variable.) 1591 2748 w +(The) 2073 2748 w +(arguments) 2292 2748 w +(to) 2849 2748 w +10 /LucidaTypewriter f +(strace) 2985 2748 w +10 /LucidaSansUnicode00 f +(are) 3455 2748 w +(the) 3645 2748 w +(current) 3837 2748 w +(value) 4224 2748 w +(of) 4515 2748 w +(the) 4650 2748 w +(pro\255) 4842 2748 w +(gram) 970 2868 w +(counter,) 1265 2868 w +(the) 1711 2868 w +(current) 1910 2868 w +(value) 2304 2868 w +(of) 2603 2868 w +(the) 2746 2868 w +(stack) 2946 2868 w +(pointer,) 3243 2868 w +(and) 3669 2868 w +(the) 3894 2868 w +(address) 4094 2868 w +(of) 4519 2868 w +(the) 4662 2868 w +(link) 4862 2868 w +(register.) 970 2988 w +(All) 1415 2988 w +(three) 1582 2988 w +(parameters) 1873 2988 w +(must) 2460 2988 w +(be) 2742 2988 w +(integers.) 2900 2988 w +(The) 3397 2988 w +(setting) 3617 2988 w +(of) 3990 2988 w +10 /LucidaSans-Italic f +(linkreg) 4127 2988 w +10 /LucidaSansUnicode00 f +(is) 4506 2988 w +(architec\255) 4625 2988 w +(ture) 970 3108 w +(dependent.) 1213 3108 w +(On) 1810 3108 w +(the) 1997 3108 w +(MIPS) 2199 3108 w +(linkreg) 2470 3108 w +(is) 2854 3108 w +(set) 2981 3108 w +(to) 3172 3108 w +(the) 3317 3108 w +(address) 3519 3108 w +(of) 3947 3108 w +(saved) 4093 3108 w +10 /LucidaTypewriter f +(R31) 4418 3108 w +10 /LucidaSansUnicode00 f +(,) 4634 3108 w +(on) 4714 3108 w +(the) 4885 3108 w +(SPARC) 970 3228 w +(to) 1334 3228 w +(the) 1486 3228 w +(address) 1695 3228 w +(of) 2129 3228 w +(saved) 2281 3228 w +10 /LucidaTypewriter f +(R15) 2612 3228 w +10 /LucidaSansUnicode00 f +(.) 2828 3228 w +(For) 2945 3228 w +(the) 3154 3228 w +(other) 3362 3228 w +(architectures) 3672 3228 w +10 /LucidaSans-Italic f +(linkreg) 4354 3228 w +10 /LucidaSansUnicode00 f +(is) 4747 3228 w +(not) 4880 3228 w +(used, but must point to valid memory.) 970 3348 w +10 /LucidaTypewriter f +(acid: print\(strace\(*PC, *SP, linkreg\)\)) 1170 3504 w +({{0x0000141c, 0xc0000f74,) 1170 3624 w +({{"s", 0x0000004d}, {"multi", 0x00000000}},) 1170 3744 w +({{"db", 0x00000000}, {"fd", 0x000010a4},) 1170 3864 w +({"n", 0x00000001}, {"i", 0x00009824}}}}) 1170 3984 w +({}) 720 4140 w +(waitstop\() 1008 4140 w +10 /LucidaSans-Italic f +(integer) 1656 4140 w +10 /LucidaTypewriter f +(\)) 2000 4140 w +10 /LucidaSansUnicode00 f +(Wait for a process to stop) 3795 4140 w +10 /LucidaTypewriter f +(waitstop) 970 4296 w +10 /LucidaSansUnicode00 f +(writes) 1588 4296 w +(a) 1921 4296 w +(waitstop) 2018 4296 w +(message) 2470 4296 w +(to) 2936 4296 w +(the) 3076 4296 w +(control) 3273 4296 w +(file) 3657 4296 w +(of) 3850 4296 w +(the) 3990 4296 w +(process) 4188 4296 w +(specified) 4605 4296 w +(by) 970 4416 w +(the) 1131 4416 w +(pid) 1332 4416 w +(supplied) 1533 4416 w +(as) 1995 4416 w +(its) 2147 4416 w +10 /LucidaSans-Italic f +(integer) 2310 4416 w +10 /LucidaSansUnicode00 f +(argument.) 2700 4416 w +(The) 3278 4416 w +(interpreter) 3505 4416 w +(will) 4069 4416 w +(remain) 4278 4416 w +(blocked) 4659 4416 w +(until) 970 4536 w +(the) 1237 4536 w +(debugged) 1440 4536 w +(process) 1975 4536 w +(enters) 2397 4536 w +(the) 2749 4536 w +10 /LucidaTypewriter f +(Stopped) 2953 4536 w +10 /LucidaSansUnicode00 f +(state.) 3506 4536 w +(A) 3855 4536 w +(process) 3973 4536 w +(will) 4396 4536 w +(stop) 4609 4536 w +(if) 4870 4536 w +(a) 4985 4536 w +(waitstop) 970 4656 w +(message) 1418 4656 w +(has) 1880 4656 w +(been) 2086 4656 w +(written) 2361 4656 w +(to) 2738 4656 w +(its) 2874 4656 w +(control) 3029 4656 w +(file) 3409 4656 w +(and) 3598 4656 w +(any) 3816 4656 w +(of) 4022 4656 w +(the) 4157 4656 w +(following) 4349 4656 w +(con\255) 4833 4656 w +(ditions) 970 4776 w +(becomes) 1362 4776 w +(true:) 1853 4776 w +(the) 2141 4776 w +(process) 2356 4776 w +(generates) 2790 4776 w +(a) 3326 4776 w +(trap) 3441 4776 w +(or) 3697 4776 w +(receives) 3859 4776 w +(a) 4312 4776 w +(note.) 4428 4776 w +(Unlike) 4737 4776 w +10 /LucidaTypewriter f +(stop) 970 4896 w +10 /LucidaSansUnicode00 f +(,) 1258 4896 w +(the) 1330 4896 w +10 /LucidaTypewriter f +(waitstop) 1525 4896 w +10 /LucidaSansUnicode00 f +(function) 2140 4896 w +(is) 2580 4896 w +(passive;) 2699 4896 w +(it) 3127 4896 w +(does) 3232 4896 w +(not) 3502 4896 w +(itself) 3701 4896 w +(cause) 3979 4896 w +(the) 4293 4896 w +(program) 4487 4896 w +(to) 4942 4896 w +(stop.) 970 5016 w +10 /LucidaTypewriter f +(acid: waitstop\(pid\)) 1170 5172 w +(75374: breakpoint) 1170 5292 w +(ls) 2570 5292 w +(ADD) 2770 5292 w +($-0x16c8,R29) 3170 5292 w 10 /LucidaSans-Demi f -(Library Functions) 720 6684 w +(Library Functions) 720 5532 w 10 /LucidaSansUnicode00 f -(A) 970 6840 w -(standard) 1087 6840 w -(debugging) 1562 6840 w -(environment) 2131 6840 w -(is) 2790 6840 w -(provided) 2918 6840 w -(by) 3394 6840 w -(modules) 3557 6840 w -(automatically) 4020 6840 w -(loaded) 4713 6840 w -(when) 720 6960 w -(Acid) 1024 6960 w -(is) 1283 6960 w -(started.) 1410 6960 w -(These) 1861 6960 w -(modules) 2196 6960 w -(are) 2658 6960 w -(located) 2857 6960 w -(in) 3256 6960 w -(the) 3394 6960 w -(directory) 3595 6960 w -10 /LucidaTypewriter f -(/sys/lib/acid) 4072 6960 w -10 /LucidaSansUnicode00 f -(.) 5008 6960 w -(These) 720 7080 w -(functions) 1070 7080 w -(may) 1584 7080 w -(be) 1846 7080 w -(overridden,) 2027 7080 w -(personalized,) 2645 7080 w -(or) 3362 7080 w -(added) 3526 7080 w -(to) 3888 7080 w -(by) 4048 7080 w -(code) 4226 7080 w -(defined) 4520 7080 w -(in) 4949 7080 w -10 /LucidaTypewriter f -($home/lib/acid) 720 7200 w -10 /LucidaSansUnicode00 f -(.) 1728 7200 w -(The) 1844 7200 w -(implementation) 2077 7200 w -(of) 2891 7200 w -(these) 3041 7200 w -(functions) 3355 7200 w -(can) 3859 7200 w -(be) 4078 7200 w -(examined) 4248 7200 w -(using) 4774 7200 w +(A) 970 5688 w +(standard) 1087 5688 w +(debugging) 1562 5688 w +(environment) 2131 5688 w +(is) 2790 5688 w +(provided) 2918 5688 w +(by) 3394 5688 w +(modules) 3557 5688 w +(automatically) 4020 5688 w +(loaded) 4713 5688 w +(when) 720 5808 w +(Acid) 1024 5808 w +(is) 1283 5808 w +(started.) 1410 5808 w +(These) 1861 5808 w +(modules) 2196 5808 w +(are) 2658 5808 w +(located) 2857 5808 w +(in) 3256 5808 w +(the) 3394 5808 w +(directory) 3595 5808 w +10 /LucidaTypewriter f +(/sys/lib/acid) 4072 5808 w +10 /LucidaSansUnicode00 f +(.) 5008 5808 w +(These) 720 5928 w +(functions) 1070 5928 w +(may) 1584 5928 w +(be) 1846 5928 w +(overridden,) 2027 5928 w +(personalized,) 2645 5928 w +(or) 3362 5928 w +(added) 3526 5928 w +(to) 3888 5928 w +(by) 4048 5928 w +(code) 4226 5928 w +(defined) 4520 5928 w +(in) 4949 5928 w +10 /LucidaTypewriter f +($home/lib/acid) 720 6048 w +10 /LucidaSansUnicode00 f +(.) 1728 6048 w +(The) 1844 6048 w +(implementation) 2077 6048 w +(of) 2891 6048 w +(these) 3041 6048 w +(functions) 3355 6048 w +(can) 3859 6048 w +(be) 4078 6048 w +(examined) 4248 6048 w +(using) 4774 6048 w +(the) 720 6168 w +10 /LucidaTypewriter f +(whatis) 907 6168 w +10 /LucidaSansUnicode00 f +(operator and then modified during debugging sessions.) 1371 6168 w +10 /LucidaTypewriter f +({}) 720 6324 w +(Bsrc\() 1008 6324 w +10 /LucidaSans-Italic f +(integer) 1368 6324 w +10 /LucidaTypewriter f +(\)) 1712 6324 w +10 /LucidaSansUnicode00 f +(Load editor with source) 3898 6324 w +10 /LucidaTypewriter f +(Bsrc) 970 6480 w +10 /LucidaSansUnicode00 f +(interprets) 1297 6480 w +(the) 1809 6480 w +10 /LucidaSans-Italic f +(integer) 2003 6480 w +10 /LucidaSansUnicode00 f +(argument) 2386 6480 w +(as) 2893 6480 w +(a) 3038 6480 w +(text) 3133 6480 w +(address.) 3364 6480 w +(The) 3816 6480 w +(text) 4037 6480 w +(address) 4268 6480 w +(is) 4688 6480 w +(used) 4808 6480 w +(to) 970 6600 w +(produce) 1101 6600 w +(a) 1531 6600 w +(pathname) 1619 6600 w +(and) 2135 6600 w +(line) 2348 6600 w +(number) 2557 6600 w +(suitable) 2967 6600 w +(for) 3382 6600 w +(the) 3554 6600 w +10 /LucidaTypewriter f +(B) 3742 6600 w +10 /LucidaSansUnicode00 f +(command) 3847 6600 w +(to) 4358 6600 w +(send) 4489 6600 w +(to) 4754 6600 w +(the) 4885 6600 w +(text) 970 6720 w +(editor) 1199 6720 w +10 /LucidaSans-Italic f +(sam) 1524 6720 w +10 /LucidaSansUnicode00 f +(\(1\)) 1727 6720 w +(or) 1894 6720 w +10 /LucidaSans-Italic f +(acme) 2034 6720 w +10 /LucidaSansUnicode00 f +(\(1\).) 2291 6720 w +10 /LucidaTypewriter f +(Bsrc) 2522 6720 w +10 /LucidaSansUnicode00 f +(builds) 2848 6720 w +(an) 3183 6720 w +10 /LucidaSans-Italic f +(rc) 3339 6720 w +10 /LucidaSansUnicode00 f +(\(1\)) 3437 6720 w +(command) 3605 6720 w +(to) 4122 6720 w +(invoke) 4259 6720 w +10 /LucidaTypewriter f +(B) 4616 6720 w +10 /LucidaSansUnicode00 f +(,) 4688 6720 w +(which) 4759 6720 w +(either) 970 6840 w +(selects) 1286 6840 w +(an) 1652 6840 w +(existing) 1804 6840 w +(source) 2226 6840 w +(file) 2583 6840 w +(or) 2769 6840 w +(loads) 2906 6840 w +(a) 3200 6840 w +(new) 3290 6840 w +(source) 3520 6840 w +(file) 3877 6840 w +(into) 4062 6840 w +(the) 4285 6840 w +(editor.) 4474 6840 w +(The) 4859 6840 w +(line) 970 6960 w +(of) 1184 6960 w +(source) 1320 6960 w +(corresponding) 1680 6960 w +(to) 2421 6960 w +(the) 2557 6960 w +(text) 2750 6960 w +(address) 2979 6960 w +(is) 3397 6960 w +(then) 3515 6960 w +(selected.) 3770 6960 w +(In) 4271 6960 w +(the) 4400 6960 w +(following) 4593 6960 w +(example) 970 7080 w +10 /LucidaTypewriter f +(stopped) 1423 7080 w +10 /LucidaSansUnicode00 f +(is) 1967 7080 w +(redefined) 2086 7080 w +(so) 2588 7080 w +(that) 2739 7080 w +(the) 2969 7080 w +(editor) 3163 7080 w +(follows) 3489 7080 w +(and) 3873 7080 w +(displays) 4092 7080 w +(the) 4524 7080 w +(source) 4718 7080 w +(line currently being executed.) 970 7200 w cleartomark showpage saveobj restore @@ -10787,345 +10898,311 @@ 18 pagesetup 10 /LucidaSansUnicode00 f (\255 18 \255) 2752 480 w -(the) 720 840 w -10 /LucidaTypewriter f -(whatis) 907 840 w -10 /LucidaSansUnicode00 f -(operator and then modified during debugging sessions.) 1371 840 w 10 /LucidaTypewriter f -({}) 720 996 w -(Bsrc\() 1008 996 w -10 /LucidaSans-Italic f -(integer) 1368 996 w -10 /LucidaTypewriter f -(\)) 1712 996 w -10 /LucidaSansUnicode00 f -(Load editor with source) 3898 996 w -10 /LucidaTypewriter f -(Bsrc) 970 1152 w -10 /LucidaSansUnicode00 f -(interprets) 1297 1152 w -(the) 1809 1152 w -10 /LucidaSans-Italic f -(integer) 2003 1152 w -10 /LucidaSansUnicode00 f -(argument) 2386 1152 w -(as) 2893 1152 w -(a) 3038 1152 w -(text) 3133 1152 w -(address.) 3364 1152 w -(The) 3816 1152 w -(text) 4037 1152 w -(address) 4268 1152 w -(is) 4688 1152 w -(used) 4808 1152 w -(to) 970 1272 w -(produce) 1101 1272 w -(a) 1531 1272 w -(pathname) 1619 1272 w -(and) 2135 1272 w -(line) 2348 1272 w -(number) 2557 1272 w -(suitable) 2967 1272 w -(for) 3382 1272 w -(the) 3554 1272 w -10 /LucidaTypewriter f -(B) 3742 1272 w -10 /LucidaSansUnicode00 f -(command) 3847 1272 w -(to) 4358 1272 w -(send) 4489 1272 w -(to) 4754 1272 w -(the) 4885 1272 w -(text) 970 1392 w -(editor) 1199 1392 w -10 /LucidaSans-Italic f -(sam) 1524 1392 w -10 /LucidaSansUnicode00 f -(\(1\)) 1727 1392 w -(or) 1894 1392 w -10 /LucidaSans-Italic f -(acme) 2034 1392 w -10 /LucidaSansUnicode00 f -(\(1\).) 2291 1392 w -10 /LucidaTypewriter f -(Bsrc) 2522 1392 w -10 /LucidaSansUnicode00 f -(builds) 2848 1392 w -(an) 3183 1392 w -10 /LucidaSans-Italic f -(rc) 3339 1392 w -10 /LucidaSansUnicode00 f -(\(1\)) 3437 1392 w -(command) 3605 1392 w -(to) 4122 1392 w -(invoke) 4259 1392 w -10 /LucidaTypewriter f -(B) 4616 1392 w -10 /LucidaSansUnicode00 f -(,) 4688 1392 w -(which) 4759 1392 w -(either) 970 1512 w -(selects) 1286 1512 w -(an) 1652 1512 w -(existing) 1804 1512 w -(source) 2226 1512 w -(file) 2583 1512 w -(or) 2769 1512 w -(loads) 2906 1512 w -(a) 3200 1512 w -(new) 3290 1512 w -(source) 3520 1512 w -(file) 3877 1512 w -(into) 4062 1512 w -(the) 4285 1512 w -(editor.) 4474 1512 w -(The) 4859 1512 w -(line) 970 1632 w -(of) 1184 1632 w -(source) 1320 1632 w -(corresponding) 1680 1632 w -(to) 2421 1632 w -(the) 2557 1632 w -(text) 2750 1632 w -(address) 2979 1632 w -(is) 3397 1632 w -(then) 3515 1632 w -(selected.) 3770 1632 w -(In) 4271 1632 w -(the) 4400 1632 w -(following) 4593 1632 w -(example) 970 1752 w -10 /LucidaTypewriter f -(stopped) 1423 1752 w -10 /LucidaSansUnicode00 f -(is) 1967 1752 w -(redefined) 2086 1752 w -(so) 2588 1752 w -(that) 2739 1752 w -(the) 2969 1752 w -(editor) 3163 1752 w -(follows) 3489 1752 w -(and) 3873 1752 w -(displays) 4092 1752 w -(the) 4524 1752 w -(source) 4718 1752 w -(line currently being executed.) 970 1872 w -10 /LucidaTypewriter f -(defn stopped\(pid\) {) 1170 2028 w -(pstop\(pid\);) 1370 2148 w -(Bsrc\(*PC\);) 1370 2268 w -(}) 1170 2388 w -({}) 720 2544 w -(Fpr\(\)) 1008 2544 w -10 /LucidaSansUnicode00 f -(Display double precision floating registers) 2985 2544 w -(For) 970 2700 w -(machines) 1163 2700 w -(equipped) 1659 2700 w -(with) 2151 2700 w -(floating) 2394 2700 w -(point,) 2804 2700 w -10 /LucidaTypewriter f -(Fpr) 3126 2700 w -10 /LucidaSansUnicode00 f -(displays) 3380 2700 w -(the) 3811 2700 w -(contents) 4004 2700 w -(of) 4459 2700 w -(the) 4595 2700 w -(float\255) 4788 2700 w -(ing point registers as double precision values.) 970 2820 w -10 /LucidaTypewriter f -(acid: Fpr\(\)) 1170 2976 w -(F0) 1170 3096 w -(0.) 1530 3096 w -(F2) 1770 3096 w -(0.) 2130 3096 w -(F4) 1170 3216 w -(0.) 1530 3216 w -(F6) 1770 3216 w -(0.) 2130 3216 w -(F8) 1170 3336 w -(0.) 1530 3336 w -(F10) 1770 3336 w -(0.) 2130 3336 w -(...) 1170 3456 w -({}) 720 3612 w -(Ureg\() 1008 3612 w +(defn stopped\(pid\) {) 1170 876 w +(pstop\(pid\);) 1370 996 w +(Bsrc\(*PC\);) 1370 1116 w +(}) 1170 1236 w +({}) 720 1392 w +(Fpr\(\)) 1008 1392 w +10 /LucidaSansUnicode00 f +(Display double precision floating registers) 2985 1392 w +(For) 970 1548 w +(machines) 1163 1548 w +(equipped) 1659 1548 w +(with) 2151 1548 w +(floating) 2394 1548 w +(point,) 2804 1548 w +10 /LucidaTypewriter f +(Fpr) 3126 1548 w +10 /LucidaSansUnicode00 f +(displays) 3380 1548 w +(the) 3811 1548 w +(contents) 4004 1548 w +(of) 4459 1548 w +(the) 4595 1548 w +(float\255) 4788 1548 w +(ing point registers as double precision values.) 970 1668 w +10 /LucidaTypewriter f +(acid: Fpr\(\)) 1170 1824 w +(F0) 1170 1944 w +(0.) 1530 1944 w +(F2) 1770 1944 w +(0.) 2130 1944 w +(F4) 1170 2064 w +(0.) 1530 2064 w +(F6) 1770 2064 w +(0.) 2130 2064 w +(F8) 1170 2184 w +(0.) 1530 2184 w +(F10) 1770 2184 w +(0.) 2130 2184 w +(...) 1170 2304 w +({}) 720 2460 w +(Ureg\() 1008 2460 w 10 /LucidaSans-Italic f -(integer) 1368 3612 w +(integer) 1368 2460 w 10 /LucidaTypewriter f -(\)) 1712 3612 w +(\)) 1712 2460 w 10 /LucidaSansUnicode00 f -(Display contents of Ureg structure) 3377 3612 w +(Display contents of Ureg structure) 3377 2460 w 10 /LucidaTypewriter f -(Ureg) 970 3768 w -10 /LucidaSansUnicode00 f -(interprets) 1293 3768 w -(the) 1801 3768 w -(integer) 1991 3768 w -(passed) 2369 3768 w -(as) 2743 3768 w -(its) 2884 3768 w -(first) 3036 3768 w -(argument) 3266 3768 w -(as) 3769 3768 w -(the) 3910 3768 w -(address) 4100 3768 w -(of) 4515 3768 w -(a) 4648 3768 w -(kernel) 4738 3768 w -10 /LucidaTypewriter f -(Ureg) 970 3888 w -10 /LucidaSansUnicode00 f -(structure.) 1303 3888 w -(Each) 1818 3888 w -(element) 2084 3888 w -(of) 2517 3888 w -(the) 2659 3888 w -(structure) 2858 3888 w -(is) 3340 3888 w -(retrieved) 3464 3888 w -(and) 3939 3888 w -(printed.) 4163 3888 w -(The) 4622 3888 w -(size) 4847 3888 w -(and) 970 4008 w -(contents) 1187 4008 w -(of) 1641 4008 w -(the) 1776 4008 w -10 /LucidaTypewriter f -(Ureg) 1968 4008 w -10 /LucidaSansUnicode00 f -(structure) 2293 4008 w -(are) 2768 4008 w -(architecture) 2957 4008 w -(dependent.) 3572 4008 w -(This) 4191 4008 w -(function) 4433 4008 w -(can) 4872 4008 w -(be) 970 4128 w -(used) 1125 4128 w -(to) 1393 4128 w -(decode) 1527 4128 w -(the) 1913 4128 w -(first) 2104 4128 w -(argument) 2335 4128 w -(passed) 2839 4128 w -(to) 3213 4128 w -(a) 3346 4128 w -10 /LucidaSans-Italic f -(notify) 3436 4128 w -10 /LucidaSansUnicode00 f -(\(2\)) 3715 4128 w -(function) 3879 4128 w -(after) 4315 4128 w -(a) 4576 4128 w -(process) 4666 4128 w -(has received a note.) 970 4248 w -10 /LucidaTypewriter f -(acid: Ureg\(*notehandler:ur\)) 1170 4404 w -(status) 1370 4524 w -(0x3000f000) 1970 4524 w -(pc) 1370 4644 w -(0x1020) 1570 4644 w -(sp) 1370 4764 w -(0x7ffffe00) 1570 4764 w -(cause) 1370 4884 w -(0x00004002) 1770 4884 w -(...) 1170 5004 w -({}) 720 5160 w -(acidinit\(\)) 1008 5160 w -10 /LucidaSansUnicode00 f -(Interpreter startup) 4143 5160 w +(Ureg) 970 2616 w +10 /LucidaSansUnicode00 f +(interprets) 1293 2616 w +(the) 1801 2616 w +(integer) 1991 2616 w +(passed) 2369 2616 w +(as) 2743 2616 w +(its) 2884 2616 w +(first) 3036 2616 w +(argument) 3266 2616 w +(as) 3769 2616 w +(the) 3910 2616 w +(address) 4100 2616 w +(of) 4515 2616 w +(a) 4648 2616 w +(kernel) 4738 2616 w +10 /LucidaTypewriter f +(Ureg) 970 2736 w +10 /LucidaSansUnicode00 f +(structure.) 1303 2736 w +(Each) 1818 2736 w +(element) 2084 2736 w +(of) 2517 2736 w +(the) 2659 2736 w +(structure) 2858 2736 w +(is) 3340 2736 w +(retrieved) 3464 2736 w +(and) 3939 2736 w +(printed.) 4163 2736 w +(The) 4622 2736 w +(size) 4847 2736 w +(and) 970 2856 w +(contents) 1187 2856 w +(of) 1641 2856 w +(the) 1776 2856 w +10 /LucidaTypewriter f +(Ureg) 1968 2856 w +10 /LucidaSansUnicode00 f +(structure) 2293 2856 w +(are) 2768 2856 w +(architecture) 2957 2856 w +(dependent.) 3572 2856 w +(This) 4191 2856 w +(function) 4433 2856 w +(can) 4872 2856 w +(be) 970 2976 w +(used) 1125 2976 w +(to) 1393 2976 w +(decode) 1527 2976 w +(the) 1913 2976 w +(first) 2104 2976 w +(argument) 2335 2976 w +(passed) 2839 2976 w +(to) 3213 2976 w +(a) 3346 2976 w +10 /LucidaSans-Italic f +(notify) 3436 2976 w +10 /LucidaSansUnicode00 f +(\(2\)) 3715 2976 w +(function) 3879 2976 w +(after) 4315 2976 w +(a) 4576 2976 w +(process) 4666 2976 w +(has received a note.) 970 3096 w +10 /LucidaTypewriter f +(acid: Ureg\(*notehandler:ur\)) 1170 3252 w +(status) 1370 3372 w +(0x3000f000) 1970 3372 w +(pc) 1370 3492 w +(0x1020) 1570 3492 w +(sp) 1370 3612 w +(0x7ffffe00) 1570 3612 w +(cause) 1370 3732 w +(0x00004002) 1770 3732 w +(...) 1170 3852 w +({}) 720 4008 w +(acidinit\(\)) 1008 4008 w +10 /LucidaSansUnicode00 f +(Interpreter startup) 4143 4008 w +10 /LucidaTypewriter f +(acidinit) 970 4164 w +10 /LucidaSansUnicode00 f +(is) 1588 4164 w +(called) 1710 4164 w +(by) 2035 4164 w +(the) 2192 4164 w +(interpreter) 2389 4164 w +(after) 2951 4164 w +(all) 3220 4164 w +(modules) 3376 4164 w +(have) 3834 4164 w +(been) 4102 4164 w +(loaded) 4382 4164 w +(at) 4752 4164 w +(ini\255) 4887 4164 w +(tialization) 970 4284 w +(time.) 1503 4284 w +(It) 1835 4284 w +(is) 1954 4284 w +(used) 2087 4284 w +(to) 2372 4284 w +(set) 2523 4284 w +(up) 2720 4284 w +(machine) 2898 4284 w +(specific) 3359 4284 w +(variables) 3779 4284 w +(and) 4262 4284 w +(the) 4494 4284 w +(default) 4701 4284 w +(source path.) 970 4404 w 10 /LucidaTypewriter f -(acidinit) 970 5316 w +(acidinit) 1637 4404 w 10 /LucidaSansUnicode00 f -(is) 1588 5316 w -(called) 1710 5316 w -(by) 2035 5316 w -(the) 2192 5316 w -(interpreter) 2389 5316 w -(after) 2951 5316 w -(all) 3220 5316 w -(modules) 3376 5316 w -(have) 3834 5316 w -(been) 4102 5316 w -(loaded) 4382 5316 w -(at) 4752 5316 w -(ini\255) 4887 5316 w -(tialization) 970 5436 w -(time.) 1503 5436 w -(It) 1835 5436 w -(is) 1954 5436 w -(used) 2087 5436 w -(to) 2372 5436 w -(set) 2523 5436 w -(up) 2720 5436 w -(machine) 2898 5436 w -(specific) 3359 5436 w -(variables) 3779 5436 w -(and) 4262 5436 w -(the) 4494 5436 w -(default) 4701 5436 w -(source path.) 970 5556 w -10 /LucidaTypewriter f -(acidinit) 1637 5556 w -10 /LucidaSansUnicode00 f -(should not be called by user code.) 2245 5556 w -10 /LucidaTypewriter f -({}) 720 5712 w -(addsrcdir\() 1008 5712 w -10 /LucidaSans-Italic f -(string) 1728 5712 w -10 /LucidaTypewriter f -(\)) 2015 5712 w -10 /LucidaSansUnicode00 f -(Add element to source search path) 3343 5712 w -10 /LucidaTypewriter f -(addsrcdir) 970 5868 w -10 /LucidaSansUnicode00 f -(interprets) 1664 5868 w -(its) 2183 5868 w -(string) 2346 5868 w -(argument) 2674 5868 w -(as) 3188 5868 w -(a) 3340 5868 w -(new) 3441 5868 w -(directory) 3683 5868 w -10 /LucidaTypewriter f -(findsrc) 4161 5868 w -10 /LucidaSansUnicode00 f -(should) 4712 5868 w -(search) 970 5988 w -(when) 1342 5988 w -(looking) 1655 5988 w -(for) 2073 5988 w -(source) 2268 5988 w -(code) 2645 5988 w -(files.) 2931 5988 w -10 /LucidaTypewriter f -(addsrcdir) 3252 5988 w -10 /LucidaSansUnicode00 f -(draws) 3955 5988 w -(an) 4297 5988 w -(error) 4469 5988 w -(if) 4764 5988 w -(the) 4885 5988 w -(directory is already in the source search path. The search path) 970 6108 w -(may) 4032 6108 w -(be) 4265 6108 w -(examined) 4417 6108 w -(by) 4925 6108 w -(looking at the variable) 970 6228 w +(should not be called by user code.) 2245 4404 w +10 /LucidaTypewriter f +({}) 720 4560 w +(addsrcdir\() 1008 4560 w +10 /LucidaSans-Italic f +(string) 1728 4560 w 10 /LucidaTypewriter f -(srcpath) 2087 6228 w +(\)) 2015 4560 w 10 /LucidaSansUnicode00 f -(.) 2591 6228 w +(Add element to source search path) 3343 4560 w 10 /LucidaTypewriter f -(acid: rc\("9fs fornax"\)) 1170 6384 w -(acid: addsrcpath\("/n/fornax/sys/src/cmd"\)) 1170 6504 w +(addsrcdir) 970 4716 w +10 /LucidaSansUnicode00 f +(interprets) 1664 4716 w +(its) 2183 4716 w +(string) 2346 4716 w +(argument) 2674 4716 w +(as) 3188 4716 w +(a) 3340 4716 w +(new) 3441 4716 w +(directory) 3683 4716 w +10 /LucidaTypewriter f +(findsrc) 4161 4716 w +10 /LucidaSansUnicode00 f +(should) 4712 4716 w +(search) 970 4836 w +(when) 1342 4836 w +(looking) 1655 4836 w +(for) 2073 4836 w +(source) 2268 4836 w +(code) 2645 4836 w +(files.) 2931 4836 w +10 /LucidaTypewriter f +(addsrcdir) 3252 4836 w +10 /LucidaSansUnicode00 f +(draws) 3955 4836 w +(an) 4297 4836 w +(error) 4469 4836 w +(if) 4764 4836 w +(the) 4885 4836 w +(directory is already in the source search path. The search path) 970 4956 w +(may) 4032 4956 w +(be) 4265 4956 w +(examined) 4417 4956 w +(by) 4925 4956 w +(looking at the variable) 970 5076 w +10 /LucidaTypewriter f +(srcpath) 2087 5076 w +10 /LucidaSansUnicode00 f +(.) 2591 5076 w +10 /LucidaTypewriter f +(acid: rc\("9fs fornax"\)) 1170 5232 w +(acid: addsrcpath\("/n/fornax/sys/src/cmd"\)) 1170 5352 w +({}) 720 5508 w +(asm\() 1008 5508 w +10 /LucidaSans-Italic f +(integer) 1296 5508 w +10 /LucidaTypewriter f +(\)) 1640 5508 w +10 /LucidaSansUnicode00 f +(Disassemble machine instructions) 3386 5508 w +10 /LucidaTypewriter f +(asm) 970 5664 w +10 /LucidaSansUnicode00 f +(interprets) 1228 5664 w +(its) 1743 5664 w +(integer) 1902 5664 w +(argument) 2288 5664 w +(as) 2799 5664 w +(a) 2948 5664 w +(text) 3046 5664 w +(address) 3280 5664 w +(from) 3703 5664 w +(which) 3978 5664 w +(to) 4302 5664 w +(disassemble) 4443 5664 w +(machine) 970 5784 w +(instructions.) 1412 5784 w +10 /LucidaTypewriter f +(asm) 2083 5784 w +10 /LucidaSansUnicode00 f +(prints) 2332 5784 w +(the) 2648 5784 w +(instruction) 2836 5784 w +(address) 3391 5784 w +(in) 3804 5784 w +(symbolic) 3928 5784 w +(and) 4390 5784 w +(hexadec\255) 4603 5784 w +(imal) 970 5904 w +(form,) 1242 5904 w +(then) 1572 5904 w +(prints) 1855 5904 w +(the) 2204 5904 w +(instructions) 2425 5904 w +(with) 3064 5904 w +(addressing) 3335 5904 w +(modes.) 3934 5904 w +(Up) 4356 5904 w +(to) 4554 5904 w +(twenty) 4719 5904 w +(instructions) 970 6024 w +(will) 1590 6024 w +(be) 1801 6024 w +(disassembled.) 1967 6024 w +10 /LucidaTypewriter f +(asm) 2738 6024 w +10 /LucidaSansUnicode00 f +(stops) 3001 6024 w +(disassembling) 3311 6024 w +(when) 4052 6024 w +(it) 4355 6024 w +(reaches) 4467 6024 w +(the) 4885 6024 w +(end) 970 6144 w +(of) 1190 6144 w +(the) 1327 6144 w +(current) 1521 6144 w +(function.) 1910 6144 w +(Instructions) 2414 6144 w +(are) 3027 6144 w +(read) 3219 6144 w +(from) 3474 6144 w +(the) 3746 6144 w +(file) 3941 6144 w +(image) 4132 6144 w +(using) 4467 6144 w +(the) 4773 6144 w +10 /LucidaTypewriter f +(@) 4968 6144 w +10 /LucidaSansUnicode00 f +(operator.) 970 6264 w +10 /LucidaTypewriter f +(acid: asm\(main\)) 1170 6420 w +(main) 1170 6540 w +(0x00001020 ADD) 1818 6540 w +($-0x64,R29) 3114 6540 w +(main+0x4 0x00001024 MOVW) 1170 6660 w +(R31,0x0\(R29\)) 3114 6660 w +(main+0x8 0x00001028 MOVW) 1170 6780 w +(R1,argc+4\(FP\)) 3114 6780 w +(main+0xc 0x0000102c MOVW) 1170 6900 w +($bin\(SB\),R1) 3114 6900 w cleartomark showpage saveobj restore @@ -11138,435 +11215,419 @@ (\255 19 \255) 2752 480 w 10 /LucidaTypewriter f ({}) 720 876 w -(asm\() 1008 876 w +(bpdel\() 1008 876 w 10 /LucidaSans-Italic f -(integer) 1296 876 w +(integer) 1440 876 w 10 /LucidaTypewriter f -(\)) 1640 876 w +(\)) 1784 876 w 10 /LucidaSansUnicode00 f -(Disassemble machine instructions) 3386 876 w +(Delete breakpoint) 4174 876 w 10 /LucidaTypewriter f -(asm) 970 1032 w -10 /LucidaSansUnicode00 f -(interprets) 1228 1032 w -(its) 1743 1032 w -(integer) 1902 1032 w -(argument) 2288 1032 w -(as) 2799 1032 w -(a) 2948 1032 w -(text) 3046 1032 w -(address) 3280 1032 w -(from) 3703 1032 w -(which) 3978 1032 w -(to) 4302 1032 w -(disassemble) 4443 1032 w -(machine) 970 1152 w -(instructions.) 1412 1152 w -10 /LucidaTypewriter f -(asm) 2083 1152 w -10 /LucidaSansUnicode00 f -(prints) 2332 1152 w -(the) 2648 1152 w -(instruction) 2836 1152 w -(address) 3391 1152 w -(in) 3804 1152 w -(symbolic) 3928 1152 w -(and) 4390 1152 w -(hexadec\255) 4603 1152 w -(imal) 970 1272 w -(form,) 1242 1272 w -(then) 1572 1272 w -(prints) 1855 1272 w -(the) 2204 1272 w -(instructions) 2425 1272 w -(with) 3064 1272 w -(addressing) 3335 1272 w -(modes.) 3934 1272 w -(Up) 4356 1272 w -(to) 4554 1272 w -(twenty) 4719 1272 w -(instructions) 970 1392 w -(will) 1590 1392 w -(be) 1801 1392 w -(disassembled.) 1967 1392 w -10 /LucidaTypewriter f -(asm) 2738 1392 w -10 /LucidaSansUnicode00 f -(stops) 3001 1392 w -(disassembling) 3311 1392 w -(when) 4052 1392 w -(it) 4355 1392 w -(reaches) 4467 1392 w -(the) 4885 1392 w -(end) 970 1512 w -(of) 1190 1512 w -(the) 1327 1512 w -(current) 1521 1512 w -(function.) 1910 1512 w -(Instructions) 2414 1512 w -(are) 3027 1512 w -(read) 3219 1512 w -(from) 3474 1512 w -(the) 3746 1512 w -(file) 3941 1512 w -(image) 4132 1512 w -(using) 4467 1512 w -(the) 4773 1512 w -10 /LucidaTypewriter f -(@) 4968 1512 w -10 /LucidaSansUnicode00 f -(operator.) 970 1632 w -10 /LucidaTypewriter f -(acid: asm\(main\)) 1170 1788 w -(main) 1170 1908 w -(0x00001020 ADD) 1818 1908 w -($-0x64,R29) 3114 1908 w -(main+0x4 0x00001024 MOVW) 1170 2028 w -(R31,0x0\(R29\)) 3114 2028 w -(main+0x8 0x00001028 MOVW) 1170 2148 w -(R1,argc+4\(FP\)) 3114 2148 w -(main+0xc 0x0000102c MOVW) 1170 2268 w -($bin\(SB\),R1) 3114 2268 w -({}) 720 2424 w -(bpdel\() 1008 2424 w -10 /LucidaSans-Italic f -(integer) 1440 2424 w -10 /LucidaTypewriter f -(\)) 1784 2424 w -10 /LucidaSansUnicode00 f -(Delete breakpoint) 4174 2424 w +(bpdel) 970 1032 w +10 /LucidaSansUnicode00 f +(removes) 1374 1032 w +(a) 1828 1032 w +(previously) 1927 1032 w +(set) 2468 1032 w +(breakpoint) 2657 1032 w +(from) 3227 1032 w +(memory.) 3504 1032 w +(The) 4009 1032 w +10 /LucidaSans-Italic f +(integer) 4235 1032 w +10 /LucidaSansUnicode00 f +(supplied) 4624 1032 w +(as) 970 1152 w +(its) 1124 1152 w +(argument) 1289 1152 w +(must) 1804 1152 w +(be) 2094 1152 w +(the) 2260 1152 w +(address) 2462 1152 w +(of) 2889 1152 w +(a) 3034 1152 w +(previously) 3136 1152 w +(set) 3679 1152 w +(breakpoint.) 3870 1152 w +(The) 4506 1152 w +(break\255) 4734 1152 w +(point) 970 1272 w +(address) 1260 1272 w +(is) 1678 1272 w +(deleted) 1796 1272 w +(from) 2194 1272 w +(the) 2464 1272 w +(active) 2657 1272 w +(breakpoint) 2975 1272 w +(list) 3538 1272 w +10 /LucidaTypewriter f +(bplist) 3722 1272 w +10 /LucidaSansUnicode00 f +(,) 4154 1272 w +(then) 4224 1272 w +(the) 4479 1272 w +(original) 4672 1272 w +(instruction) 970 1392 w +(is) 1536 1392 w +(copied) 1660 1392 w +(from) 2026 1392 w +(the) 2301 1392 w +(file) 2499 1392 w +(image) 2693 1392 w +(to) 3031 1392 w +(the) 3172 1392 w +(memory) 3370 1392 w +(image) 3809 1392 w +(so) 4147 1392 w +(that) 4302 1392 w +(the) 4536 1392 w +(break\255) 4734 1392 w +(point is removed.) 970 1512 w +10 /LucidaTypewriter f +(acid: bpdel\(main+4\)) 1170 1668 w +({}) 720 1824 w +(bpset\() 1008 1824 w +10 /LucidaSans-Italic f +(integer) 1440 1824 w +10 /LucidaTypewriter f +(\)) 1784 1824 w +10 /LucidaSansUnicode00 f +(Set a breakpoint) 4249 1824 w +10 /LucidaTypewriter f +(bpset) 970 1980 w +10 /LucidaSansUnicode00 f +(places) 1364 1980 w +(a) 1703 1980 w +(breakpoint) 1792 1980 w +(instruction) 2351 1980 w +(at) 2907 1980 w +(the) 3033 1980 w +(address) 3222 1980 w +(specified) 3636 1980 w +(by) 4106 1980 w +(its) 4256 1980 w +10 /LucidaSans-Italic f +(integer) 4408 1980 w +10 /LucidaSansUnicode00 f +(argu\255) 4787 1980 w +(ment,) 970 2100 w +(which) 1292 2100 w +(must) 1615 2100 w +(be) 1900 2100 w +(in) 2061 2100 w +(the) 2194 2100 w +(text) 2390 2100 w +(segment.) 2622 2100 w +10 /LucidaTypewriter f +(bpset) 3144 2100 w +10 /LucidaSansUnicode00 f +(draws) 3545 2100 w +(an) 3873 2100 w +(error) 4031 2100 w +(if) 4312 2100 w +(a) 4419 2100 w +(breakpoint) 4515 2100 w +(has already been set at the specified address.) 970 2220 w +(A list) 3252 2220 w +(of) 3532 2220 w +(current) 3663 2220 w +(breakpoints) 4046 2220 w +(is) 4655 2220 w +(main\255) 4768 2220 w +(tained) 970 2340 w +(in) 1322 2340 w +(the) 1463 2340 w +(variable) 1668 2340 w +10 /LucidaTypewriter f +(bplist) 2098 2340 w +10 /LucidaSansUnicode00 f +(.) 2530 2340 w +(Unlike) 2644 2340 w +(in) 2997 2340 w +10 /LucidaSans-Italic f +(db) 3138 2340 w +10 /LucidaSansUnicode00 f +(\(1\),) 3260 2340 w +(breakpoints) 3470 2340 w +(are) 4095 2340 w +(left) 4296 2340 w +(in) 4504 2340 w +(memory) 4644 2340 w +(even) 970 2460 w +(when) 1229 2460 w +(a) 1520 2460 w +(process) 1609 2460 w +(is) 2017 2460 w +(stopped,) 2131 2460 w +(and) 2591 2460 w +(the) 2805 2460 w +(process) 2994 2460 w +(must) 3402 2460 w +(exist,) 3679 2460 w +(perhaps) 3979 2460 w +(by) 4404 2460 w +(being) 4553 2460 w +(cre\255) 4859 2460 w +(ated) 970 2580 w +(by) 1216 2580 w +(either) 1366 2580 w +10 /LucidaTypewriter f +(new) 1682 2580 w +10 /LucidaSansUnicode00 f +(or) 1933 2580 w +10 /LucidaTypewriter f +(win) 2070 2580 w +10 /LucidaSansUnicode00 f +(,) 2286 2580 w +(in) 2353 2580 w +(order) 2478 2580 w +(to) 2774 2580 w +(place) 2906 2580 w +(a) 3194 2580 w +(breakpoint.) 3283 2580 w +(\() 3906 2580 w +10 /LucidaTypewriter f +(Db) 3939 2580 w +10 /LucidaSansUnicode00 f +(accepts) 4117 2580 w +(breakpoint) 4515 2580 w +(commands) 970 2700 w +(before) 1545 2700 w +(the) 1905 2700 w +(process) 2106 2700 w +(is) 2526 2700 w +(started.\)) 2652 2700 w +(On) 3135 2700 w +(the) 3322 2700 w +(MIPS) 3524 2700 w +(and) 3795 2700 w +(SPARC) 4022 2700 w +(architectures,) 4379 2700 w +(breakpoints) 970 2820 w +(at) 1612 2820 w +(function) 1770 2820 w +(entry) 2237 2820 w +(points) 2551 2820 w +(should) 2920 2820 w +(be) 3314 2820 w +(set) 3499 2820 w +(4) 3709 2820 w +(bytes) 3838 2820 w +(into) 4163 2820 w +(the) 4418 2820 w +(function) 4639 2820 w +(because) 970 2940 w +(the) 1415 2940 w +(instruction) 1621 2940 w +(scheduler) 2194 2940 w +(may) 2716 2940 w +(fill) 2967 2940 w +10 /LucidaTypewriter f +(JAL) 3142 2940 w +10 /LucidaSansUnicode00 f +(branch) 3409 2940 w +(delay) 3794 2940 w +(slots) 4100 2940 w +(with) 4381 2940 w +(the) 4638 2940 w +(first) 4845 2940 w +(instruction of the function.) 970 3060 w 10 /LucidaTypewriter f -(bpdel) 970 2580 w -10 /LucidaSansUnicode00 f -(removes) 1374 2580 w -(a) 1828 2580 w -(previously) 1927 2580 w -(set) 2468 2580 w -(breakpoint) 2657 2580 w -(from) 3227 2580 w -(memory.) 3504 2580 w -(The) 4009 2580 w -10 /LucidaSans-Italic f -(integer) 4235 2580 w -10 /LucidaSansUnicode00 f -(supplied) 4624 2580 w -(as) 970 2700 w -(its) 1124 2700 w -(argument) 1289 2700 w -(must) 1804 2700 w -(be) 2094 2700 w -(the) 2260 2700 w -(address) 2462 2700 w -(of) 2889 2700 w -(a) 3034 2700 w -(previously) 3136 2700 w -(set) 3679 2700 w -(breakpoint.) 3870 2700 w -(The) 4506 2700 w -(break\255) 4734 2700 w -(point) 970 2820 w -(address) 1260 2820 w -(is) 1678 2820 w -(deleted) 1796 2820 w -(from) 2194 2820 w -(the) 2464 2820 w -(active) 2657 2820 w -(breakpoint) 2975 2820 w -(list) 3538 2820 w -10 /LucidaTypewriter f -(bplist) 3722 2820 w -10 /LucidaSansUnicode00 f -(,) 4154 2820 w -(then) 4224 2820 w -(the) 4479 2820 w -(original) 4672 2820 w -(instruction) 970 2940 w -(is) 1536 2940 w -(copied) 1660 2940 w -(from) 2026 2940 w -(the) 2301 2940 w -(file) 2499 2940 w -(image) 2693 2940 w -(to) 3031 2940 w -(the) 3172 2940 w -(memory) 3370 2940 w -(image) 3809 2940 w -(so) 4147 2940 w -(that) 4302 2940 w -(the) 4536 2940 w -(break\255) 4734 2940 w -(point is removed.) 970 3060 w -10 /LucidaTypewriter f -(acid: bpdel\(main+4\)) 1170 3216 w +(acid: bpset\(main+4\)) 1170 3216 w ({}) 720 3372 w -(bpset\() 1008 3372 w -10 /LucidaSans-Italic f -(integer) 1440 3372 w +(bptab\(\)) 1008 3372 w +10 /LucidaSansUnicode00 f +(List active breakpoints) 3950 3372 w 10 /LucidaTypewriter f -(\)) 1784 3372 w +(bptab) 970 3528 w +10 /LucidaSansUnicode00 f +(prints) 1370 3528 w +(a) 1693 3528 w +(list) 1788 3528 w +(of) 1974 3528 w +(currently) 2112 3528 w +(installed) 2583 3528 w +(breakpoints.) 3034 3528 w +(The) 3682 3528 w +(list) 3903 3528 w +(contains) 4089 3528 w +(the) 4538 3528 w +(break\255) 4734 3528 w +(point) 970 3648 w +(address) 1278 3648 w +(in) 1713 3648 w +(symbolic) 1859 3648 w +(and) 2343 3648 w +(hexadecimal) 2578 3648 w +(form) 3243 3648 w +(as) 3530 3648 w +(well) 3691 3648 w +(as) 3937 3648 w +(the) 4098 3648 w +(instruction) 4308 3648 w +(the) 4885 3648 w +(breakpoint) 970 3768 w +(replaced.) 1532 3768 w +(Breakpoints) 2015 3768 w +(are) 2623 3768 w +(not) 2812 3768 w +(maintained) 3009 3768 w +(across) 3587 3768 w +(process) 3934 3768 w +(creation) 4345 3768 w +(using) 4774 3768 w +10 /LucidaTypewriter f +(new) 970 3888 w +10 /LucidaSansUnicode00 f +(and) 1223 3888 w +10 /LucidaTypewriter f +(win) 1440 3888 w +10 /LucidaSansUnicode00 f +(.) 1656 3888 w +(They) 1757 3888 w +(are) 2027 3888 w +(maintained) 2216 3888 w +(across) 2794 3888 w +(a) 3141 3888 w +(fork,) 3233 3888 w +(but) 3498 3888 w +(care) 3696 3888 w +(must) 3935 3888 w +(be) 4214 3888 w +(taken) 4369 3888 w +(to) 4673 3888 w +(keep) 4807 3888 w +(control of the child process.) 970 4008 w +10 /LucidaTypewriter f +(acid: bpset\(ls+4\)) 1170 4164 w +(acid: bptab\(\)) 1170 4284 w +(0x00001420 ls+0x4) 1370 4404 w +(MOVW) 2738 4404 w +(R31,0x0\(R29\)) 3170 4404 w +({}) 720 4560 w +(casm\(\)) 1008 4560 w 10 /LucidaSansUnicode00 f -(Set a breakpoint) 4249 3372 w +(Continue disassembly) 3977 4560 w 10 /LucidaTypewriter f -(bpset) 970 3528 w -10 /LucidaSansUnicode00 f -(places) 1364 3528 w -(a) 1703 3528 w -(breakpoint) 1792 3528 w -(instruction) 2351 3528 w -(at) 2907 3528 w -(the) 3033 3528 w -(address) 3222 3528 w -(specified) 3636 3528 w -(by) 4106 3528 w -(its) 4256 3528 w -10 /LucidaSans-Italic f -(integer) 4408 3528 w -10 /LucidaSansUnicode00 f -(argu\255) 4787 3528 w -(ment,) 970 3648 w -(which) 1292 3648 w -(must) 1615 3648 w -(be) 1900 3648 w -(in) 2061 3648 w -(the) 2194 3648 w -(text) 2390 3648 w -(segment.) 2622 3648 w -10 /LucidaTypewriter f -(bpset) 3144 3648 w -10 /LucidaSansUnicode00 f -(draws) 3545 3648 w -(an) 3873 3648 w -(error) 4031 3648 w -(if) 4312 3648 w -(a) 4419 3648 w -(breakpoint) 4515 3648 w -(has already been set at the specified address.) 970 3768 w -(A list) 3252 3768 w -(of) 3532 3768 w -(current) 3663 3768 w -(breakpoints) 4046 3768 w -(is) 4655 3768 w -(main\255) 4768 3768 w -(tained) 970 3888 w -(in) 1322 3888 w -(the) 1463 3888 w -(variable) 1668 3888 w -10 /LucidaTypewriter f -(bplist) 2098 3888 w -10 /LucidaSansUnicode00 f -(.) 2530 3888 w -(Unlike) 2644 3888 w -(in) 2997 3888 w -10 /LucidaSans-Italic f -(db) 3138 3888 w -10 /LucidaSansUnicode00 f -(\(1\),) 3260 3888 w -(breakpoints) 3470 3888 w -(are) 4095 3888 w -(left) 4296 3888 w -(in) 4504 3888 w -(memory) 4644 3888 w -(even) 970 4008 w -(when) 1229 4008 w -(a) 1520 4008 w -(process) 1609 4008 w -(is) 2017 4008 w -(stopped,) 2131 4008 w -(and) 2591 4008 w -(the) 2805 4008 w -(process) 2994 4008 w -(must) 3402 4008 w -(exist,) 3679 4008 w -(perhaps) 3979 4008 w -(by) 4404 4008 w -(being) 4553 4008 w -(cre\255) 4859 4008 w -(ated) 970 4128 w -(by) 1216 4128 w -(either) 1366 4128 w -10 /LucidaTypewriter f -(new) 1682 4128 w -10 /LucidaSansUnicode00 f -(or) 1933 4128 w -10 /LucidaTypewriter f -(win) 2070 4128 w -10 /LucidaSansUnicode00 f -(,) 2286 4128 w -(in) 2353 4128 w -(order) 2478 4128 w -(to) 2774 4128 w -(place) 2906 4128 w -(a) 3194 4128 w -(breakpoint.) 3283 4128 w -(\() 3906 4128 w -10 /LucidaTypewriter f -(Db) 3939 4128 w -10 /LucidaSansUnicode00 f -(accepts) 4117 4128 w -(breakpoint) 4515 4128 w -(commands) 970 4248 w -(before) 1545 4248 w -(the) 1905 4248 w -(process) 2106 4248 w -(is) 2526 4248 w -(started.\)) 2652 4248 w -(On) 3135 4248 w -(the) 3322 4248 w -(MIPS) 3524 4248 w -(and) 3795 4248 w -(SPARC) 4022 4248 w -(architectures,) 4379 4248 w -(breakpoints) 970 4368 w -(at) 1612 4368 w -(function) 1770 4368 w -(entry) 2237 4368 w -(points) 2551 4368 w -(should) 2920 4368 w -(be) 3314 4368 w -(set) 3499 4368 w -(4) 3709 4368 w -(bytes) 3838 4368 w -(into) 4163 4368 w -(the) 4418 4368 w -(function) 4639 4368 w -(because) 970 4488 w -(the) 1415 4488 w -(instruction) 1621 4488 w -(scheduler) 2194 4488 w -(may) 2716 4488 w -(fill) 2967 4488 w -10 /LucidaTypewriter f -(JAL) 3142 4488 w -10 /LucidaSansUnicode00 f -(branch) 3409 4488 w -(delay) 3794 4488 w -(slots) 4100 4488 w -(with) 4381 4488 w -(the) 4638 4488 w -(first) 4845 4488 w -(instruction of the function.) 970 4608 w -10 /LucidaTypewriter f -(acid: bpset\(main+4\)) 1170 4764 w -({}) 720 4920 w -(bptab\(\)) 1008 4920 w -10 /LucidaSansUnicode00 f -(List active breakpoints) 3950 4920 w -10 /LucidaTypewriter f -(bptab) 970 5076 w -10 /LucidaSansUnicode00 f -(prints) 1370 5076 w -(a) 1693 5076 w -(list) 1788 5076 w -(of) 1974 5076 w -(currently) 2112 5076 w -(installed) 2583 5076 w -(breakpoints.) 3034 5076 w -(The) 3682 5076 w -(list) 3903 5076 w -(contains) 4089 5076 w -(the) 4538 5076 w -(break\255) 4734 5076 w -(point) 970 5196 w -(address) 1278 5196 w -(in) 1713 5196 w -(symbolic) 1859 5196 w -(and) 2343 5196 w -(hexadecimal) 2578 5196 w -(form) 3243 5196 w -(as) 3530 5196 w -(well) 3691 5196 w -(as) 3937 5196 w -(the) 4098 5196 w -(instruction) 4308 5196 w -(the) 4885 5196 w -(breakpoint) 970 5316 w -(replaced.) 1532 5316 w -(Breakpoints) 2015 5316 w -(are) 2623 5316 w -(not) 2812 5316 w -(maintained) 3009 5316 w -(across) 3587 5316 w -(process) 3934 5316 w -(creation) 4345 5316 w -(using) 4774 5316 w -10 /LucidaTypewriter f -(new) 970 5436 w -10 /LucidaSansUnicode00 f -(and) 1223 5436 w -10 /LucidaTypewriter f -(win) 1440 5436 w -10 /LucidaSansUnicode00 f -(.) 1656 5436 w -(They) 1757 5436 w -(are) 2027 5436 w -(maintained) 2216 5436 w -(across) 2794 5436 w -(a) 3141 5436 w -(fork,) 3233 5436 w -(but) 3498 5436 w -(care) 3696 5436 w -(must) 3935 5436 w -(be) 4214 5436 w -(taken) 4369 5436 w -(to) 4673 5436 w -(keep) 4807 5436 w -(control of the child process.) 970 5556 w -10 /LucidaTypewriter f -(acid: bpset\(ls+4\)) 1170 5712 w -(acid: bptab\(\)) 1170 5832 w -(0x00001420 ls+0x4) 1370 5952 w -(MOVW) 2738 5952 w -(R31,0x0\(R29\)) 3170 5952 w -({}) 720 6108 w -(casm\(\)) 1008 6108 w -10 /LucidaSansUnicode00 f -(Continue disassembly) 3977 6108 w -10 /LucidaTypewriter f -(casm) 970 6264 w -10 /LucidaSansUnicode00 f -(continues) 1311 6264 w -(to) 1835 6264 w -(disassemble) 1986 6264 w -(instructions) 2636 6264 w -(from) 3262 6264 w -(where) 3547 6264 w -(the) 3892 6264 w -(last) 4100 6264 w -10 /LucidaTypewriter f -(asm) 4326 6264 w -10 /LucidaSansUnicode00 f -(or) 4596 6264 w -10 /LucidaTypewriter f -(casm) 4752 6264 w -10 /LucidaSansUnicode00 f -(command) 970 6384 w -(stopped.) 1517 6384 w -(Like) 2012 6384 w -10 /LucidaTypewriter f -(asm) 2277 6384 w -10 /LucidaSansUnicode00 f -(,) 2493 6384 w -(this) 2593 6384 w -(command) 2840 6384 w -(stops) 3386 6384 w -(disassembling) 3717 6384 w -(at) 4479 6384 w -(function) 4639 6384 w -(boundaries.) 970 6504 w -10 /LucidaTypewriter f -(acid: casm\(\)) 1170 6660 w -(main+0x10 0x00001030) 1170 6780 w -(MOVW) 2770 6780 w -($0x1,R3) 3170 6780 w -(main+0x14 0x00001034) 1170 6900 w -(MOVW) 2770 6900 w -(R3,0x8\(R29\)) 3170 6900 w -(main+0x18 0x00001038) 1170 7020 w -(MOVW) 2770 7020 w -($0x1,R5) 3170 7020 w -(main+0x1c 0x0000103c) 1170 7140 w -(JAL) 2770 7140 w -(Binit\(SB\)) 3170 7140 w +(casm) 970 4716 w +10 /LucidaSansUnicode00 f +(continues) 1311 4716 w +(to) 1835 4716 w +(disassemble) 1986 4716 w +(instructions) 2636 4716 w +(from) 3262 4716 w +(where) 3547 4716 w +(the) 3892 4716 w +(last) 4100 4716 w +10 /LucidaTypewriter f +(asm) 4326 4716 w +10 /LucidaSansUnicode00 f +(or) 4596 4716 w +10 /LucidaTypewriter f +(casm) 4752 4716 w +10 /LucidaSansUnicode00 f +(command) 970 4836 w +(stopped.) 1517 4836 w +(Like) 2012 4836 w +10 /LucidaTypewriter f +(asm) 2277 4836 w +10 /LucidaSansUnicode00 f +(,) 2493 4836 w +(this) 2593 4836 w +(command) 2840 4836 w +(stops) 3386 4836 w +(disassembling) 3717 4836 w +(at) 4479 4836 w +(function) 4639 4836 w +(boundaries.) 970 4956 w +10 /LucidaTypewriter f +(acid: casm\(\)) 1170 5112 w +(main+0x10 0x00001030) 1170 5232 w +(MOVW) 2770 5232 w +($0x1,R3) 3170 5232 w +(main+0x14 0x00001034) 1170 5352 w +(MOVW) 2770 5352 w +(R3,0x8\(R29\)) 3170 5352 w +(main+0x18 0x00001038) 1170 5472 w +(MOVW) 2770 5472 w +($0x1,R5) 3170 5472 w +(main+0x1c 0x0000103c) 1170 5592 w +(JAL) 2770 5592 w +(Binit\(SB\)) 3170 5592 w +({}) 720 5748 w +(cont\(\)) 1008 5748 w +10 /LucidaSansUnicode00 f +(Continue program execution) 3647 5748 w +10 /LucidaTypewriter f +(cont) 970 5904 w +10 /LucidaSansUnicode00 f +(restarts) 1296 5904 w +(execution) 1704 5904 w +(of) 2218 5904 w +(the) 2355 5904 w +(currently) 2549 5904 w +(active) 3019 5904 w +(process.) 3338 5904 w +(If) 3815 5904 w +(the) 3920 5904 w +(process) 4114 5904 w +(is) 4527 5904 w +(stopped) 4646 5904 w +(on) 970 6024 w +(a) 1141 6024 w +(breakpoint,) 1243 6024 w +(the) 1847 6024 w +(breakpoint) 2049 6024 w +(is) 2621 6024 w +(first) 2748 6024 w +(removed,) 2990 6024 w +(the) 3491 6024 w +(program) 3693 6024 w +(is) 4156 6024 w +(single) 4283 6024 w +(stepped,) 4619 6024 w +(the) 970 6144 w +(breakpoint) 1164 6144 w +(is) 1728 6144 w +(replaced) 1847 6144 w +(and) 2300 6144 w +(the) 2520 6144 w +(program) 2715 6144 w +(is) 3171 6144 w +(then) 3291 6144 w +(set) 3548 6144 w +(executing.) 3732 6144 w +(This) 4280 6144 w +(may) 4525 6144 w +(cause) 4765 6144 w +10 /LucidaTypewriter f +(stopped\(\)) 970 6264 w +10 /LucidaSansUnicode00 f +(to) 1667 6264 w +(be) 1814 6264 w +(called) 1982 6264 w +(twice.) 2314 6264 w +10 /LucidaTypewriter f +(cont) 2677 6264 w +10 /LucidaSansUnicode00 f +(causes) 3014 6264 w +(the) 3389 6264 w +(interpreter) 3593 6264 w +(to) 4161 6264 w +(block) 4308 6264 w +(until) 4618 6264 w +(the) 4885 6264 w +(process enters the) 970 6384 w +10 /LucidaTypewriter f +(Stopped) 1898 6384 w +10 /LucidaSansUnicode00 f +(state.) 2434 6384 w +10 /LucidaTypewriter f +(acid: cont\(\)) 1170 6540 w +(95197: breakpoint) 1170 6660 w +(ls+0x4) 2570 6660 w +(MOVW) 3170 6660 w +(R31,0x0\(R29\)) 3570 6660 w cleartomark showpage saveobj restore @@ -11579,426 +11640,386 @@ (\255 20 \255) 2752 480 w 10 /LucidaTypewriter f ({}) 720 876 w -(cont\(\)) 1008 876 w +(dump\() 1008 876 w +10 /LucidaSans-Italic f +(integer,integer,string) 1368 876 w +10 /LucidaTypewriter f +(\)) 2407 876 w 10 /LucidaSansUnicode00 f -(Continue program execution) 3647 876 w +(Formatted memory dump) 3802 876 w 10 /LucidaTypewriter f -(cont) 970 1032 w +(dump) 970 1032 w +10 /LucidaSansUnicode00 f +(interprets) 1298 1032 w +(its) 1811 1032 w +(first) 1969 1032 w +(argument) 2205 1032 w +(as) 2714 1032 w +(an) 2861 1032 w +(address,) 3019 1032 w +(its) 3472 1032 w +(second) 3630 1032 w +(argument) 4015 1032 w +(as) 4524 1032 w +(a) 4671 1032 w +(count) 4767 1032 w +(and) 970 1152 w +(its) 1190 1152 w +(third) 1347 1152 w +(as) 1619 1152 w +(a) 1765 1152 w +(format) 1860 1152 w +(string.) 2224 1152 w +10 /LucidaTypewriter f +(dump) 2610 1152 w +10 /LucidaSansUnicode00 f +(fetches) 2938 1152 w +(an) 3328 1152 w +(object) 3485 1152 w +(from) 3822 1152 w +(memory) 4093 1152 w +(at) 4528 1152 w +(the) 4659 1152 w +(cur\255) 4853 1152 w +(rent) 970 1272 w +(address) 1205 1272 w +(and) 1625 1272 w +(prints) 1845 1272 w +(it) 2168 1272 w +(according) 2274 1272 w +(to) 2789 1272 w +(the) 2927 1272 w +(format.) 3122 1272 w +(The) 3518 1272 w +(address) 3739 1272 w +(is) 4159 1272 w +(incremented) 4279 1272 w +(by) 4925 1272 w +(the) 970 1392 w +(number) 1176 1392 w +(of) 1604 1392 w +(bytes) 1753 1392 w +(specified) 2063 1392 w +(by) 2549 1392 w +(the) 2715 1392 w +(format) 2921 1392 w +(and) 3296 1392 w +(the) 3527 1392 w +(process) 3733 1392 w +(is) 4158 1392 w +(repeated) 4289 1392 w +(count) 4767 1392 w +(times. The format string is any) 970 1512 w +(combination) 2497 1512 w +(of) 3133 1512 w +(format) 3264 1512 w +(characters,) 3621 1512 w +(each) 4186 1512 w +(preceded) 4443 1512 w +(by) 4925 1512 w +(an) 970 1632 w +(optional) 1139 1632 w +(count.) 1588 1632 w +(For) 1977 1632 w +(each) 2184 1632 w +(object,) 2459 1632 w +10 /LucidaTypewriter f +(dump) 2840 1632 w +10 /LucidaSansUnicode00 f +(prints) 3179 1632 w +(the) 3513 1632 w +(address) 3719 1632 w +(in) 4150 1632 w +(hexadecimal,) 4292 1632 w +(a) 4985 1632 w +(colon, the object and then a newline.) 970 1752 w +10 /LucidaTypewriter f +(dump) 2830 1752 w +10 /LucidaSansUnicode00 f +(uses) 3150 1752 w +10 /LucidaTypewriter f +(mem) 3402 1752 w +10 /LucidaSansUnicode00 f +(to fetch each object.) 3650 1752 w +10 /LucidaTypewriter f +(acid: dump\(main+35, 4, "X2bi"\)) 1170 1908 w +(0x00001043: 0x0c8fa700 108 143 lwc2 r0,0x528f\(R4\)) 1170 2028 w +(0x0000104d: 0xa9006811) 1170 2148 w +(0) 2970 2148 w +(0 swc3 r0,0x0\(R24\)) 3258 2148 w +(0x00001057: 0x2724e800) 1170 2268 w +(4) 2970 2268 w +(37 ADD) 3186 2268 w +($-0x51,R23,R31) 3762 2268 w +(0x00001061: 0xa200688d) 1170 2388 w +(6) 2970 2388 w +(0 NOOP) 3258 2388 w +(0x0000106b: 0x2710c000) 1170 2508 w +(7) 2970 2508 w +(0 BREAK) 3258 2508 w +({}) 720 2664 w +(findsrc\() 1008 2664 w +10 /LucidaSans-Italic f +(string) 1584 2664 w +10 /LucidaTypewriter f +(\)) 1871 2664 w +10 /LucidaSansUnicode00 f +(Use source path to load source file) 3354 2664 w +10 /LucidaTypewriter f +(findsrc) 970 2820 w +10 /LucidaSansUnicode00 f +(interprets) 1528 2820 w +(its) 2055 2820 w +10 /LucidaSans-Italic f +(string) 2226 2820 w +10 /LucidaSansUnicode00 f +(argument) 2567 2820 w +(as) 3090 2820 w +(a) 3251 2820 w +(source) 3361 2820 w +(file.) 3738 2820 w +(Each) 3976 2820 w +(directory) 4253 2820 w +(in) 4739 2820 w +(the) 4885 2820 w +(source) 970 2940 w +(path) 1335 2940 w +(is) 1595 2940 w +(searched) 1718 2940 w +(in) 2196 2940 w +(turn) 2330 2940 w +(for) 2575 2940 w +(the) 2757 2940 w +(file.) 2955 2940 w +(If) 3181 2940 w +(the) 3290 2940 w +(file) 3488 2940 w +(is) 3682 2940 w +(found,) 3805 2940 w +(the) 4165 2940 w +(source) 4363 2940 w +(text) 4727 2940 w +(is) 4960 2940 w +(loaded) 970 3060 w +(using) 1342 3060 w +10 /LucidaTypewriter f +(file) 1653 3060 w +10 /LucidaSansUnicode00 f +(and) 1986 3060 w +(stored) 2211 3060 w +(in) 2565 3060 w +(the) 2701 3060 w +(list) 2901 3060 w +(of) 3092 3060 w +(active) 3235 3060 w +(source) 3560 3060 w +(files) 3927 3060 w +(called) 4175 3060 w +10 /LucidaTypewriter f +(srctext) 4504 3060 w +10 /LucidaSansUnicode00 f +(.) 5008 3060 w +(The) 970 3180 w +(name) 1194 3180 w +(of) 1503 3180 w +(the) 1644 3180 w +(file) 1842 3180 w +(is) 2036 3180 w +(added) 2159 3180 w +(to) 2502 3180 w +(the) 2643 3180 w +(source) 2841 3180 w +(file) 3206 3180 w +(name) 3400 3180 w +(list) 3708 3180 w +10 /LucidaTypewriter f +(srcfiles) 3896 3180 w +10 /LucidaSansUnicode00 f +(.) 4472 3180 w +(Users) 4578 3180 w +(are) 4888 3180 w +(unlikely) 970 3300 w +(to) 1390 3300 w +(call) 1531 3300 w +10 /LucidaTypewriter f +(findsrc) 1738 3300 w +10 /LucidaSansUnicode00 f +(from) 2285 3300 w +(the) 2560 3300 w +(command) 2758 3300 w +(line,) 3279 3300 w +(but) 3530 3300 w +(may) 3735 3300 w +(use) 3978 3300 w +(it) 4190 3300 w +(from) 4299 3300 w +(scripts) 4575 3300 w +(to) 4942 3300 w +(preload) 970 3420 w +(source) 1388 3420 w +(files) 1760 3420 w +(for) 2012 3420 w +(a) 2201 3420 w +(debugging) 2305 3420 w +(session.) 2875 3420 w +(This) 3317 3420 w +(function) 3571 3420 w +(is) 4021 3420 w +(used) 4150 3420 w +(by) 4431 3420 w +10 /LucidaTypewriter f +(src) 4595 3420 w +10 /LucidaSansUnicode00 f +(and) 4860 3420 w +10 /LucidaTypewriter f +(line) 970 3540 w +10 /LucidaSansUnicode00 f +(to) 1297 3540 w +(locate) 1434 3540 w +(and) 1762 3540 w +(load) 1981 3540 w +(source) 2228 3540 w +(code.) 2590 3540 w +(The) 2893 3540 w +(default) 3114 3540 w +(search) 3493 3540 w +(path) 3849 3540 w +(for) 4106 3540 w +(the) 4285 3540 w +(MIPS) 4480 3540 w +(is) 4744 3540 w +10 /LucidaTypewriter f +(./) 4864 3540 w +10 /LucidaSansUnicode00 f +(,) 5008 3540 w +10 /LucidaTypewriter f +(/sys/src/libc/port) 970 3660 w +10 /LucidaSansUnicode00 f +(,) 2266 3660 w +10 /LucidaTypewriter f +(/sys/src/libc/9sys) 2330 3660 w +10 /LucidaSansUnicode00 f +(,) 3626 3660 w +10 /LucidaTypewriter f +(/sys/src/libc/mips) 3690 3660 w +10 /LucidaSansUnicode00 f +(.) 4986 3660 w +10 /LucidaTypewriter f +(acid: findsrc\(pcfile\(main\)\);) 1170 3816 w +({}) 720 3972 w +(fpr\(\)) 1008 3972 w +10 /LucidaSansUnicode00 f +(Display single precision floating registers) 3030 3972 w +(For) 970 4128 w +(machines) 1163 4128 w +(equipped) 1659 4128 w +(with) 2151 4128 w +(floating) 2394 4128 w +(point,) 2804 4128 w +10 /LucidaTypewriter f +(fpr) 3126 4128 w +10 /LucidaSansUnicode00 f +(displays) 3380 4128 w +(the) 3811 4128 w +(contents) 4004 4128 w +(of) 4459 4128 w +(the) 4595 4128 w +(float\255) 4788 4128 w +(ing) 970 4248 w +(point) 1156 4248 w +(registers) 1441 4248 w +(as) 1898 4248 w +(single) 2037 4248 w +(precision) 2359 4248 w +(values.) 2835 4248 w +(When) 3205 4248 w +(the interpreter stores or manip\255) 3504 4248 w +(ulates floating point values it converts into double precision values.) 970 4368 w +10 /LucidaTypewriter f +(acid: fpr\(\)) 1170 4524 w +(F0) 1170 4644 w +(0.) 1530 4644 w +(F1) 1770 4644 w +(0.) 2130 4644 w +(F2) 1170 4764 w +(0.) 1530 4764 w +(F3) 1770 4764 w +(0.) 2130 4764 w +(F4) 1170 4884 w +(0.) 1530 4884 w +(F5) 1770 4884 w +(0.) 2130 4884 w +(...) 1170 5004 w +({}) 720 5160 w +(func\(\)) 1008 5160 w 10 /LucidaSansUnicode00 f -(restarts) 1296 1032 w -(execution) 1704 1032 w -(of) 2218 1032 w -(the) 2355 1032 w -(currently) 2549 1032 w -(active) 3019 1032 w -(process.) 3338 1032 w -(If) 3815 1032 w -(the) 3920 1032 w -(process) 4114 1032 w -(is) 4527 1032 w -(stopped) 4646 1032 w -(on) 970 1152 w -(a) 1141 1152 w -(breakpoint,) 1243 1152 w -(the) 1847 1152 w -(breakpoint) 2049 1152 w -(is) 2621 1152 w -(first) 2748 1152 w -(removed,) 2990 1152 w -(the) 3491 1152 w -(program) 3693 1152 w -(is) 4156 1152 w -(single) 4283 1152 w -(stepped,) 4619 1152 w -(the) 970 1272 w -(breakpoint) 1164 1272 w -(is) 1728 1272 w -(replaced) 1847 1272 w -(and) 2300 1272 w -(the) 2520 1272 w -(program) 2715 1272 w -(is) 3171 1272 w -(then) 3291 1272 w -(set) 3548 1272 w -(executing.) 3732 1272 w -(This) 4280 1272 w -(may) 4525 1272 w -(cause) 4765 1272 w -10 /LucidaTypewriter f -(stopped\(\)) 970 1392 w -10 /LucidaSansUnicode00 f -(to) 1667 1392 w -(be) 1814 1392 w -(called) 1982 1392 w -(twice.) 2314 1392 w -10 /LucidaTypewriter f -(cont) 2677 1392 w -10 /LucidaSansUnicode00 f -(causes) 3014 1392 w -(the) 3389 1392 w -(interpreter) 3593 1392 w -(to) 4161 1392 w -(block) 4308 1392 w -(until) 4618 1392 w -(the) 4885 1392 w -(process enters the) 970 1512 w -10 /LucidaTypewriter f -(Stopped) 1898 1512 w -10 /LucidaSansUnicode00 f -(state.) 2434 1512 w -10 /LucidaTypewriter f -(acid: cont\(\)) 1170 1668 w -(95197: breakpoint) 1170 1788 w -(ls+0x4) 2570 1788 w -(MOVW) 3170 1788 w -(R31,0x0\(R29\)) 3570 1788 w -({}) 720 1944 w -(dump\() 1008 1944 w -10 /LucidaSans-Italic f -(integer,integer,string) 1368 1944 w -10 /LucidaTypewriter f -(\)) 2407 1944 w -10 /LucidaSansUnicode00 f -(Formatted memory dump) 3802 1944 w -10 /LucidaTypewriter f -(dump) 970 2100 w -10 /LucidaSansUnicode00 f -(interprets) 1298 2100 w -(its) 1811 2100 w -(first) 1969 2100 w -(argument) 2205 2100 w -(as) 2714 2100 w -(an) 2861 2100 w -(address,) 3019 2100 w -(its) 3472 2100 w -(second) 3630 2100 w -(argument) 4015 2100 w -(as) 4524 2100 w -(a) 4671 2100 w -(count) 4767 2100 w -(and) 970 2220 w -(its) 1190 2220 w -(third) 1347 2220 w -(as) 1619 2220 w -(a) 1765 2220 w -(format) 1860 2220 w -(string.) 2224 2220 w -10 /LucidaTypewriter f -(dump) 2610 2220 w -10 /LucidaSansUnicode00 f -(fetches) 2938 2220 w -(an) 3328 2220 w -(object) 3485 2220 w -(from) 3822 2220 w -(memory) 4093 2220 w -(at) 4528 2220 w -(the) 4659 2220 w -(cur\255) 4853 2220 w -(rent) 970 2340 w -(address) 1205 2340 w -(and) 1625 2340 w -(prints) 1845 2340 w -(it) 2168 2340 w -(according) 2274 2340 w -(to) 2789 2340 w -(the) 2927 2340 w -(format.) 3122 2340 w -(The) 3518 2340 w -(address) 3739 2340 w -(is) 4159 2340 w -(incremented) 4279 2340 w -(by) 4925 2340 w -(the) 970 2460 w -(number) 1176 2460 w -(of) 1604 2460 w -(bytes) 1753 2460 w -(specified) 2063 2460 w -(by) 2549 2460 w -(the) 2715 2460 w -(format) 2921 2460 w -(and) 3296 2460 w -(the) 3527 2460 w -(process) 3733 2460 w -(is) 4158 2460 w -(repeated) 4289 2460 w -(count) 4767 2460 w -(times. The format string is any) 970 2580 w -(combination) 2497 2580 w -(of) 3133 2580 w -(format) 3264 2580 w -(characters,) 3621 2580 w -(each) 4186 2580 w -(preceded) 4443 2580 w -(by) 4925 2580 w -(an) 970 2700 w -(optional) 1139 2700 w -(count.) 1588 2700 w -(For) 1977 2700 w -(each) 2184 2700 w -(object,) 2459 2700 w -10 /LucidaTypewriter f -(dump) 2840 2700 w -10 /LucidaSansUnicode00 f -(prints) 3179 2700 w -(the) 3513 2700 w -(address) 3719 2700 w -(in) 4150 2700 w -(hexadecimal,) 4292 2700 w -(a) 4985 2700 w -(colon, the object and then a newline.) 970 2820 w -10 /LucidaTypewriter f -(dump) 2830 2820 w -10 /LucidaSansUnicode00 f -(uses) 3150 2820 w -10 /LucidaTypewriter f -(mem) 3402 2820 w -10 /LucidaSansUnicode00 f -(to fetch each object.) 3650 2820 w -10 /LucidaTypewriter f -(acid: dump\(main+35, 4, "X2bi"\)) 1170 2976 w -(0x00001043: 0x0c8fa700 108 143 lwc2 r0,0x528f\(R4\)) 1170 3096 w -(0x0000104d: 0xa9006811) 1170 3216 w -(0) 2970 3216 w -(0 swc3 r0,0x0\(R24\)) 3258 3216 w -(0x00001057: 0x2724e800) 1170 3336 w -(4) 2970 3336 w -(37 ADD) 3186 3336 w -($-0x51,R23,R31) 3762 3336 w -(0x00001061: 0xa200688d) 1170 3456 w -(6) 2970 3456 w -(0 NOOP) 3258 3456 w -(0x0000106b: 0x2710c000) 1170 3576 w -(7) 2970 3576 w -(0 BREAK) 3258 3576 w -({}) 720 3732 w -(findsrc\() 1008 3732 w -10 /LucidaSans-Italic f -(string) 1584 3732 w -10 /LucidaTypewriter f -(\)) 1871 3732 w -10 /LucidaSansUnicode00 f -(Use source path to load source file) 3354 3732 w -10 /LucidaTypewriter f -(findsrc) 970 3888 w -10 /LucidaSansUnicode00 f -(interprets) 1528 3888 w -(its) 2055 3888 w -10 /LucidaSans-Italic f -(string) 2226 3888 w -10 /LucidaSansUnicode00 f -(argument) 2567 3888 w -(as) 3090 3888 w -(a) 3251 3888 w -(source) 3361 3888 w -(file.) 3738 3888 w -(Each) 3976 3888 w -(directory) 4253 3888 w -(in) 4739 3888 w -(the) 4885 3888 w -(source) 970 4008 w -(path) 1335 4008 w -(is) 1595 4008 w -(searched) 1718 4008 w -(in) 2196 4008 w -(turn) 2330 4008 w -(for) 2575 4008 w -(the) 2757 4008 w -(file.) 2955 4008 w -(If) 3181 4008 w -(the) 3290 4008 w -(file) 3488 4008 w -(is) 3682 4008 w -(found,) 3805 4008 w -(the) 4165 4008 w -(source) 4363 4008 w -(text) 4727 4008 w -(is) 4960 4008 w -(loaded) 970 4128 w -(using) 1342 4128 w -10 /LucidaTypewriter f -(file) 1653 4128 w -10 /LucidaSansUnicode00 f -(and) 1986 4128 w -(stored) 2211 4128 w -(in) 2565 4128 w -(the) 2701 4128 w -(list) 2901 4128 w -(of) 3092 4128 w -(active) 3235 4128 w -(source) 3560 4128 w -(files) 3927 4128 w -(called) 4175 4128 w -10 /LucidaTypewriter f -(srctext) 4504 4128 w -10 /LucidaSansUnicode00 f -(.) 5008 4128 w -(The) 970 4248 w -(name) 1194 4248 w -(of) 1503 4248 w -(the) 1644 4248 w -(file) 1842 4248 w -(is) 2036 4248 w -(added) 2159 4248 w -(to) 2502 4248 w -(the) 2643 4248 w -(source) 2841 4248 w -(file) 3206 4248 w -(name) 3400 4248 w -(list) 3708 4248 w -10 /LucidaTypewriter f -(srcfiles) 3896 4248 w -10 /LucidaSansUnicode00 f -(.) 4472 4248 w -(Users) 4578 4248 w -(are) 4888 4248 w -(unlikely) 970 4368 w -(to) 1390 4368 w -(call) 1531 4368 w -10 /LucidaTypewriter f -(findsrc) 1738 4368 w -10 /LucidaSansUnicode00 f -(from) 2285 4368 w -(the) 2560 4368 w -(command) 2758 4368 w -(line,) 3279 4368 w -(but) 3530 4368 w -(may) 3735 4368 w -(use) 3978 4368 w -(it) 4190 4368 w -(from) 4299 4368 w -(scripts) 4575 4368 w -(to) 4942 4368 w -(preload) 970 4488 w -(source) 1388 4488 w -(files) 1760 4488 w -(for) 2012 4488 w -(a) 2201 4488 w -(debugging) 2305 4488 w -(session.) 2875 4488 w -(This) 3317 4488 w -(function) 3571 4488 w -(is) 4021 4488 w -(used) 4150 4488 w -(by) 4431 4488 w -10 /LucidaTypewriter f -(src) 4595 4488 w -10 /LucidaSansUnicode00 f -(and) 4860 4488 w -10 /LucidaTypewriter f -(line) 970 4608 w -10 /LucidaSansUnicode00 f -(to) 1297 4608 w -(locate) 1434 4608 w -(and) 1762 4608 w -(load) 1981 4608 w -(source) 2228 4608 w -(code.) 2590 4608 w -(The) 2893 4608 w -(default) 3114 4608 w -(search) 3493 4608 w -(path) 3849 4608 w -(for) 4106 4608 w -(the) 4285 4608 w -(MIPS) 4480 4608 w -(is) 4744 4608 w -10 /LucidaTypewriter f -(./) 4864 4608 w -10 /LucidaSansUnicode00 f -(,) 5008 4608 w -10 /LucidaTypewriter f -(/sys/src/libc/port) 970 4728 w -10 /LucidaSansUnicode00 f -(,) 2266 4728 w -10 /LucidaTypewriter f -(/sys/src/libc/9sys) 2330 4728 w -10 /LucidaSansUnicode00 f -(,) 3626 4728 w -10 /LucidaTypewriter f -(/sys/src/libc/mips) 3690 4728 w -10 /LucidaSansUnicode00 f -(.) 4986 4728 w -10 /LucidaTypewriter f -(acid: findsrc\(pcfile\(main\)\);) 1170 4884 w -({}) 720 5040 w -(fpr\(\)) 1008 5040 w -10 /LucidaSansUnicode00 f -(Display single precision floating registers) 3030 5040 w -(For) 970 5196 w -(machines) 1163 5196 w -(equipped) 1659 5196 w -(with) 2151 5196 w -(floating) 2394 5196 w -(point,) 2804 5196 w -10 /LucidaTypewriter f -(fpr) 3126 5196 w -10 /LucidaSansUnicode00 f -(displays) 3380 5196 w -(the) 3811 5196 w -(contents) 4004 5196 w -(of) 4459 5196 w -(the) 4595 5196 w -(float\255) 4788 5196 w -(ing) 970 5316 w -(point) 1156 5316 w -(registers) 1441 5316 w -(as) 1898 5316 w -(single) 2037 5316 w -(precision) 2359 5316 w -(values.) 2835 5316 w -(When) 3205 5316 w -(the interpreter stores or manip\255) 3504 5316 w -(ulates floating point values it converts into double precision values.) 970 5436 w -10 /LucidaTypewriter f -(acid: fpr\(\)) 1170 5592 w -(F0) 1170 5712 w -(0.) 1530 5712 w -(F1) 1770 5712 w -(0.) 2130 5712 w -(F2) 1170 5832 w -(0.) 1530 5832 w -(F3) 1770 5832 w -(0.) 2130 5832 w -(F4) 1170 5952 w -(0.) 1530 5952 w -(F5) 1770 5952 w -(0.) 2130 5952 w -(...) 1170 6072 w -({}) 720 6228 w -(func\(\)) 1008 6228 w -10 /LucidaSansUnicode00 f -(Step while in function) 3989 6228 w -10 /LucidaTypewriter f -(func) 970 6384 w -10 /LucidaSansUnicode00 f -(single) 1299 6384 w -(steps) 1629 6384 w -(the) 1928 6384 w -(active) 2124 6384 w -(process) 2445 6384 w -(until) 2860 6384 w -(it) 3121 6384 w -(leaves) 3229 6384 w -(the) 3570 6384 w -(current) 3767 6384 w -(function) 4159 6384 w -(by) 4602 6384 w -(either) 4759 6384 w -(calling) 970 6504 w -(another) 1347 6504 w -(function) 1780 6504 w -(or) 2240 6504 w -(returning) 2401 6504 w -(to) 2912 6504 w -(its) 3069 6504 w -(caller.) 3245 6504 w -10 /LucidaTypewriter f -(func) 3629 6504 w -10 /LucidaSansUnicode00 f -(will) 3976 6504 w -(execute) 4199 6504 w -(a) 4637 6504 w -(single) 4751 6504 w -(instruction after leaving the current function.) 970 6624 w +(Step while in function) 3989 5160 w +10 /LucidaTypewriter f +(func) 970 5316 w +10 /LucidaSansUnicode00 f +(single) 1299 5316 w +(steps) 1629 5316 w +(the) 1928 5316 w +(active) 2124 5316 w +(process) 2445 5316 w +(until) 2860 5316 w +(it) 3121 5316 w +(leaves) 3229 5316 w +(the) 3570 5316 w +(current) 3767 5316 w +(function) 4159 5316 w +(by) 4602 5316 w +(either) 4759 5316 w +(calling) 970 5436 w +(another) 1347 5436 w +(function) 1780 5436 w +(or) 2240 5436 w +(returning) 2401 5436 w +(to) 2912 5436 w +(its) 3069 5436 w +(caller.) 3245 5436 w +10 /LucidaTypewriter f +(func) 3629 5436 w +10 /LucidaSansUnicode00 f +(will) 3976 5436 w +(execute) 4199 5436 w +(a) 4637 5436 w +(single) 4751 5436 w +(instruction after leaving the current function.) 970 5556 w +10 /LucidaTypewriter f +(acid: func\(\)) 1170 5712 w +(95197: breakpoint) 1170 5832 w +(ls+0x8) 2570 5832 w +(MOVW) 3170 5832 w +(R1,R8) 3570 5832 w +(95197: breakpoint) 1170 5952 w +(ls+0xc) 2570 5952 w +(MOVW) 3170 5952 w +(R8,R1) 3570 5952 w +(95197: breakpoint) 1170 6072 w +(ls+0x10) 2570 6072 w +(MOVW) 3170 6072 w +(R8,s+4\(FP\)) 3570 6072 w +(95197: breakpoint) 1170 6192 w +(ls+0x14) 2570 6192 w +(MOVW) 3170 6192 w +($0x2f,R5) 3570 6192 w +(95197: breakpoint) 1170 6312 w +(ls+0x18) 2570 6312 w +(JAL) 3170 6312 w +(utfrrune\(SB\)) 3570 6312 w +(95197: breakpoint) 1170 6432 w +(utfrrune) 2570 6432 w +(ADD) 3170 6432 w +($-0x18,R29) 3570 6432 w +({}) 720 6588 w +(gpr\(\)) 1008 6588 w +10 /LucidaSansUnicode00 f +(Display general purpose registers) 3408 6588 w +10 /LucidaTypewriter f +(gpr) 970 6744 w +10 /LucidaSansUnicode00 f +(prints the values of the general purpose processor registers.) 1218 6744 w cleartomark showpage saveobj restore @@ -12010,347 +12031,389 @@ 10 /LucidaSansUnicode00 f (\255 21 \255) 2752 480 w 10 /LucidaTypewriter f -(acid: func\(\)) 1170 876 w -(95197: breakpoint) 1170 996 w -(ls+0x8) 2570 996 w -(MOVW) 3170 996 w -(R1,R8) 3570 996 w -(95197: breakpoint) 1170 1116 w -(ls+0xc) 2570 1116 w -(MOVW) 3170 1116 w -(R8,R1) 3570 1116 w -(95197: breakpoint) 1170 1236 w -(ls+0x10) 2570 1236 w -(MOVW) 3170 1236 w -(R8,s+4\(FP\)) 3570 1236 w -(95197: breakpoint) 1170 1356 w -(ls+0x14) 2570 1356 w -(MOVW) 3170 1356 w -($0x2f,R5) 3570 1356 w -(95197: breakpoint) 1170 1476 w -(ls+0x18) 2570 1476 w -(JAL) 3170 1476 w -(utfrrune\(SB\)) 3570 1476 w -(95197: breakpoint) 1170 1596 w -(utfrrune) 2570 1596 w -(ADD) 3170 1596 w -($-0x18,R29) 3570 1596 w -({}) 720 1752 w -(gpr\(\)) 1008 1752 w -10 /LucidaSansUnicode00 f -(Display general purpose registers) 3408 1752 w -10 /LucidaTypewriter f -(gpr) 970 1908 w -10 /LucidaSansUnicode00 f -(prints the values of the general purpose processor registers.) 1218 1908 w -10 /LucidaTypewriter f -(acid: gpr\(\)) 1170 2064 w -(R1) 1170 2184 w -(0x00009562 R2) 1370 2184 w -(0x000010a4 R3) 2370 2184 w -(0x00005d08) 3370 2184 w -(R4) 1170 2304 w -(0x0000000a R5) 1370 2304 w -(0x0000002f R6) 2370 2304 w -(0x00000008) 3370 2304 w -(...) 1170 2424 w -({}) 720 2580 w -(labstk\() 1008 2580 w -10 /LucidaSans-Italic f -(integer) 1512 2580 w -10 /LucidaTypewriter f -(\)) 1856 2580 w -10 /LucidaSansUnicode00 f -(Print stack trace from label) 3732 2580 w -10 /LucidaTypewriter f -(labstk) 970 2736 w -10 /LucidaSansUnicode00 f -(performs) 1437 2736 w -(a) 1915 2736 w -(stack) 2005 2736 w -(trace) 2292 2736 w -(from) 2567 2736 w -(a) 2834 2736 w -(Plan) 2924 2736 w -(9) 3160 2736 w -10 /LucidaSans-Italic f -(label.) 3259 2736 w -10 /LucidaSansUnicode00 f -(The) 3592 2736 w -(kernel,) 3809 2736 w -(C) 4179 2736 w -(compilers) 4284 2736 w -(store) 4794 2736 w -(continuations) 970 2856 w -(in) 1669 2856 w -(a) 1800 2856 w -(common) 1895 2856 w -(format.) 2356 2856 w -(Since) 2752 2856 w -(the) 3043 2856 w -(compilers) 3237 2856 w -(all) 3750 2856 w -(use) 3902 2856 w -(caller) 4110 2856 w -(save) 4410 2856 w -(conven\255) 4663 2856 w -(tions) 970 2976 w -(a) 1244 2976 w -(continuation) 1333 2976 w -(may) 1975 2976 w -(be) 2209 2976 w -(saved) 2362 2976 w -(by) 2673 2976 w -(storing) 2822 2976 w -(a) 3199 2976 w -10 /LucidaTypewriter f -(PC) 3289 2976 w -10 /LucidaSansUnicode00 f -(and) 3468 2976 w -10 /LucidaTypewriter f -(SP) 3683 2976 w -10 /LucidaSansUnicode00 f -(pair.) 3862 2976 w -(This) 4117 2976 w -(data) 4357 2976 w -(structure) 4602 2976 w -(is) 970 3096 w -(called) 1100 3096 w -(a) 1433 3096 w -(label) 1538 3096 w -(and) 1820 3096 w -(is) 2050 3096 w -(used) 2180 3096 w -(by) 2462 3096 w -(the) 2627 3096 w -(the) 2832 3096 w -(C) 3037 3096 w -(function) 3155 3096 w -10 /LucidaTypewriter f -(longjmp) 3605 3096 w -10 /LucidaSansUnicode00 f -(and) 4158 3096 w -(the) 4387 3096 w -(kernel) 4591 3096 w -(to) 4942 3096 w -(schedule) 970 3216 w -(threads) 1445 3216 w -(and) 1855 3216 w -(processes.) 2080 3216 w -10 /LucidaTypewriter f -(labstk) 2670 3216 w -10 /LucidaSansUnicode00 f -(interprets) 3147 3216 w -(its) 3666 3216 w -10 /LucidaSans-Italic f -(integer) 3829 3216 w -10 /LucidaSansUnicode00 f -(argument) 4219 3216 w -(as) 4733 3216 w -(the) 4885 3216 w -(address) 970 3336 w -(of) 1383 3336 w -(a label and produces a stack trace for the thread of execution. The value) 1514 3336 w -(of the function) 970 3456 w -10 /LucidaTypewriter f -(ALEF_tid) 1720 3456 w -10 /LucidaSansUnicode00 f -(is a suitable argument for) 2328 3456 w -10 /LucidaTypewriter f -(labstk) 3612 3456 w -10 /LucidaSansUnicode00 f -(.) 4044 3456 w -10 /LucidaTypewriter f -(acid: labstk\(*mousetid\)) 1170 3612 w -(At pc:0x00021a70:Rendez_Sleep+0x178 rendez.l:44) 1170 3732 w -(Rendez_Sleep\(r=0xcd7d8,bool=0xcd7e0,t=0x0\) rendez.l:5) 1170 3852 w -(called from ALEF_rcvmem+0x198 recvmem.l:45) 1370 3972 w -(ALEF_rcvmem\(c=0x000cd764,l=0x00000010\) recvmem.l:6) 1170 4092 w -(...) 1170 4212 w -({}) 720 4368 w -(lstk\(\)) 1008 4368 w -10 /LucidaSansUnicode00 f -(Stack trace with local variables) 3556 4368 w -10 /LucidaTypewriter f -(lstk) 970 4524 w -10 /LucidaSansUnicode00 f -(produces) 1298 4524 w -(a) 1786 4524 w -(long) 1881 4524 w -(format) 2135 4524 w -(stack) 2499 4524 w -(trace.) 2791 4524 w -(The) 3135 4524 w -(stack) 3356 4524 w -(trace) 3649 4524 w -(includes) 3930 4524 w -(each) 4374 4524 w -(function) 4639 4524 w -(in) 970 4644 w -(the) 1104 4644 w -(stack,) 1302 4644 w -(where) 1629 4644 w -(it) 1964 4644 w -(was) 2072 4644 w -(called) 2297 4644 w -(from,) 2622 4644 w -(and) 2928 4644 w -(the) 3150 4644 w -(value) 3347 4644 w -(of) 3643 4644 w -(the) 3783 4644 w -(parameters) 3980 4644 w -(and) 4570 4644 w -(auto\255) 4792 4644 w -(matic) 970 4764 w -(variables) 1269 4764 w -(for) 1734 4764 w -(each) 1907 4764 w -(function.) 2165 4764 w -10 /LucidaTypewriter f -(lstk) 2664 4764 w -10 /LucidaSansUnicode00 f -(displays) 2986 4764 w -(the) 3413 4764 w -(value) 3603 4764 w -(rather) 3892 4764 w -(than) 4219 4764 w -(the) 4470 4764 w -(address) 4660 4764 w -(of) 970 4884 w -(each) 1116 4884 w -(variable) 1388 4884 w -(and) 1816 4884 w -(all) 2044 4884 w -(variables) 2204 4884 w -(are) 2682 4884 w -(assumed) 2881 4884 w -(to) 3359 4884 w -(be) 3504 4884 w -(an) 3670 4884 w -(integer) 3834 4884 w -(in) 4224 4884 w -(format) 4362 4884 w -10 /LucidaTypewriter f -(X) 4733 4884 w -10 /LucidaSansUnicode00 f -(.) 4805 4884 w -(To) 4916 4884 w -(print) 970 5004 w -(a) 1249 5004 w -(variable) 1351 5004 w -(in) 1779 5004 w -(its) 1918 5004 w -(correct) 2083 5004 w -(format) 2469 5004 w -(use) 2841 5004 w -(the) 3058 5004 w -10 /LucidaTypewriter f -(:) 3261 5004 w -10 /LucidaSansUnicode00 f -(operator) 3381 5004 w -(to) 3844 5004 w -(find) 3990 5004 w -(the) 4229 5004 w -(address) 4432 5004 w -(and) 4860 5004 w -(apply) 970 5124 w -(the) 1268 5124 w -(appropriate) 1459 5124 w -(format) 2059 5124 w -(before) 2419 5124 w -(indirection) 2769 5124 w -(with) 3325 5124 w -(the) 3566 5124 w -10 /LucidaTypewriter f -(*) 3757 5124 w -10 /LucidaSansUnicode00 f -(operator.) 3865 5124 w -(It) 4348 5124 w -(may) 4449 5124 w -(be) 4684 5124 w -(nec\255) 4838 5124 w -(essary) 970 5244 w -(to) 1314 5244 w -(single) 1450 5244 w -(step) 1777 5244 w -(a) 2022 5244 w -(couple) 2115 5244 w -(of) 2475 5244 w -(instructions) 2612 5244 w -(into) 3224 5244 w -(a) 3452 5244 w -(function) 3546 5244 w -(to) 3986 5244 w -(get) 4123 5244 w -(a) 4317 5244 w -(correct) 4411 5244 w -(stack) 4788 5244 w -(trace) 970 5364 w -(because) 1258 5364 w -(the) 1699 5364 w -(frame) 1901 5364 w -(pointer) 2230 5364 w -(adjustment) 2626 5364 w -(instruction) 3219 5364 w -(may) 3788 5364 w -(get) 4035 5364 w -(scheduled) 4237 5364 w -(down) 4777 5364 w -(into the body of the function.) 970 5484 w -10 /LucidaTypewriter f -(acid: lstk\(\)) 1170 5640 w -(At pc:0x00001024:main+0x4 ls.c:48) 1170 5760 w -(main\(argc=0x00000001,argv=0x7fffefec\) ls.c:48) 1170 5880 w -(called from _main+0x20 main9.s:10) 1370 6000 w -(_argc=0x00000000) 1370 6120 w -(_args=0x00000000) 1370 6240 w -(fd=0x00000000) 1370 6360 w -(buf=0x00000000) 1370 6480 w -(i=0x00000000) 1370 6600 w -({}) 720 6756 w -(mem\() 1008 6756 w -10 /LucidaSans-Italic f -(integer,string) 1296 6756 w -10 /LucidaTypewriter f -(\)) 1959 6756 w -10 /LucidaSansUnicode00 f -(Print memory object) 4058 6756 w -10 /LucidaTypewriter f -(mem) 970 6912 w -10 /LucidaSansUnicode00 f -(interprets) 1224 6912 w -(its) 1735 6912 w -(first) 1890 6912 w -10 /LucidaSans-Italic f -(integer) 2123 6912 w -10 /LucidaSansUnicode00 f -(argument) 2505 6912 w -(as) 3011 6912 w -(the) 3155 6912 w -(address) 3348 6912 w -(of) 3766 6912 w -(an) 3902 6912 w -(object) 4057 6912 w -(to) 4394 6912 w -(be) 4531 6912 w -(printed) 4689 6912 w -(according) 970 7032 w -(to) 1482 7032 w -(the) 1617 7032 w -(format) 1809 7032 w -(supplied) 2170 7032 w -(in) 2623 7032 w -(its) 2751 7032 w -(second) 2905 7032 w -10 /LucidaSans-Italic f -(string) 3286 7032 w -10 /LucidaSansUnicode00 f -(argument.) 3610 7032 w -(The) 4179 7032 w -(format) 4397 7032 w -(string) 4758 7032 w -(can be any combination of format characters, each preceded by an optional count.) 970 7152 w +(acid: gpr\(\)) 1170 876 w +(R1) 1170 996 w +(0x00009562 R2) 1370 996 w +(0x000010a4 R3) 2370 996 w +(0x00005d08) 3370 996 w +(R4) 1170 1116 w +(0x0000000a R5) 1370 1116 w +(0x0000002f R6) 2370 1116 w +(0x00000008) 3370 1116 w +(...) 1170 1236 w +({}) 720 1392 w +(labstk\() 1008 1392 w +10 /LucidaSans-Italic f +(integer) 1512 1392 w +10 /LucidaTypewriter f +(\)) 1856 1392 w +10 /LucidaSansUnicode00 f +(Print stack trace from label) 3732 1392 w +10 /LucidaTypewriter f +(labstk) 970 1548 w +10 /LucidaSansUnicode00 f +(performs) 1437 1548 w +(a) 1915 1548 w +(stack) 2005 1548 w +(trace) 2292 1548 w +(from) 2567 1548 w +(a) 2834 1548 w +(Plan) 2924 1548 w +(9) 3160 1548 w +10 /LucidaSans-Italic f +(label.) 3259 1548 w +10 /LucidaSansUnicode00 f +(The) 3592 1548 w +(kernel,) 3809 1548 w +(C) 4179 1548 w +(compilers) 4284 1548 w +(store) 4794 1548 w +(continuations) 970 1668 w +(in) 1669 1668 w +(a) 1800 1668 w +(common) 1895 1668 w +(format.) 2356 1668 w +(Since) 2752 1668 w +(the) 3043 1668 w +(compilers) 3237 1668 w +(all) 3750 1668 w +(use) 3902 1668 w +(caller) 4110 1668 w +(save) 4410 1668 w +(conven\255) 4663 1668 w +(tions) 970 1788 w +(a) 1244 1788 w +(continuation) 1333 1788 w +(may) 1975 1788 w +(be) 2209 1788 w +(saved) 2362 1788 w +(by) 2673 1788 w +(storing) 2822 1788 w +(a) 3199 1788 w +10 /LucidaTypewriter f +(PC) 3289 1788 w +10 /LucidaSansUnicode00 f +(and) 3468 1788 w +10 /LucidaTypewriter f +(SP) 3683 1788 w +10 /LucidaSansUnicode00 f +(pair.) 3862 1788 w +(This) 4117 1788 w +(data) 4357 1788 w +(structure) 4602 1788 w +(is) 970 1908 w +(called) 1100 1908 w +(a) 1433 1908 w +(label) 1538 1908 w +(and) 1820 1908 w +(is) 2050 1908 w +(used) 2180 1908 w +(by) 2462 1908 w +(the) 2627 1908 w +(the) 2832 1908 w +(C) 3037 1908 w +(function) 3155 1908 w +10 /LucidaTypewriter f +(longjmp) 3605 1908 w +10 /LucidaSansUnicode00 f +(and) 4158 1908 w +(the) 4387 1908 w +(kernel) 4591 1908 w +(to) 4942 1908 w +(schedule) 970 2028 w +(threads) 1445 2028 w +(and) 1855 2028 w +(processes.) 2080 2028 w +10 /LucidaTypewriter f +(labstk) 2670 2028 w +10 /LucidaSansUnicode00 f +(interprets) 3147 2028 w +(its) 3666 2028 w +10 /LucidaSans-Italic f +(integer) 3829 2028 w +10 /LucidaSansUnicode00 f +(argument) 4219 2028 w +(as) 4733 2028 w +(the) 4885 2028 w +(address) 970 2148 w +(of) 1383 2148 w +(a label and produces a stack trace for the thread of execution. The value) 1514 2148 w +(of the function) 970 2268 w +10 /LucidaTypewriter f +(ALEF_tid) 1720 2268 w +10 /LucidaSansUnicode00 f +(is a suitable argument for) 2328 2268 w +10 /LucidaTypewriter f +(labstk) 3612 2268 w +10 /LucidaSansUnicode00 f +(.) 4044 2268 w +10 /LucidaTypewriter f +(acid: labstk\(*mousetid\)) 1170 2424 w +(At pc:0x00021a70:Rendez_Sleep+0x178 rendez.l:44) 1170 2544 w +(Rendez_Sleep\(r=0xcd7d8,bool=0xcd7e0,t=0x0\) rendez.l:5) 1170 2664 w +(called from ALEF_rcvmem+0x198 recvmem.l:45) 1370 2784 w +(ALEF_rcvmem\(c=0x000cd764,l=0x00000010\) recvmem.l:6) 1170 2904 w +(...) 1170 3024 w +({}) 720 3180 w +(lstk\(\)) 1008 3180 w +10 /LucidaSansUnicode00 f +(Stack trace with local variables) 3556 3180 w +10 /LucidaTypewriter f +(lstk) 970 3336 w +10 /LucidaSansUnicode00 f +(produces) 1298 3336 w +(a) 1786 3336 w +(long) 1881 3336 w +(format) 2135 3336 w +(stack) 2499 3336 w +(trace.) 2791 3336 w +(The) 3135 3336 w +(stack) 3356 3336 w +(trace) 3649 3336 w +(includes) 3930 3336 w +(each) 4374 3336 w +(function) 4639 3336 w +(in) 970 3456 w +(the) 1104 3456 w +(stack,) 1302 3456 w +(where) 1629 3456 w +(it) 1964 3456 w +(was) 2072 3456 w +(called) 2297 3456 w +(from,) 2622 3456 w +(and) 2928 3456 w +(the) 3150 3456 w +(value) 3347 3456 w +(of) 3643 3456 w +(the) 3783 3456 w +(parameters) 3980 3456 w +(and) 4570 3456 w +(auto\255) 4792 3456 w +(matic) 970 3576 w +(variables) 1269 3576 w +(for) 1734 3576 w +(each) 1907 3576 w +(function.) 2165 3576 w +10 /LucidaTypewriter f +(lstk) 2664 3576 w +10 /LucidaSansUnicode00 f +(displays) 2986 3576 w +(the) 3413 3576 w +(value) 3603 3576 w +(rather) 3892 3576 w +(than) 4219 3576 w +(the) 4470 3576 w +(address) 4660 3576 w +(of) 970 3696 w +(each) 1116 3696 w +(variable) 1388 3696 w +(and) 1816 3696 w +(all) 2044 3696 w +(variables) 2204 3696 w +(are) 2682 3696 w +(assumed) 2881 3696 w +(to) 3359 3696 w +(be) 3504 3696 w +(an) 3670 3696 w +(integer) 3834 3696 w +(in) 4224 3696 w +(format) 4362 3696 w +10 /LucidaTypewriter f +(X) 4733 3696 w +10 /LucidaSansUnicode00 f +(.) 4805 3696 w +(To) 4916 3696 w +(print) 970 3816 w +(a) 1249 3816 w +(variable) 1351 3816 w +(in) 1779 3816 w +(its) 1918 3816 w +(correct) 2083 3816 w +(format) 2469 3816 w +(use) 2841 3816 w +(the) 3058 3816 w +10 /LucidaTypewriter f +(:) 3261 3816 w +10 /LucidaSansUnicode00 f +(operator) 3381 3816 w +(to) 3844 3816 w +(find) 3990 3816 w +(the) 4229 3816 w +(address) 4432 3816 w +(and) 4860 3816 w +(apply) 970 3936 w +(the) 1268 3936 w +(appropriate) 1459 3936 w +(format) 2059 3936 w +(before) 2419 3936 w +(indirection) 2769 3936 w +(with) 3325 3936 w +(the) 3566 3936 w +10 /LucidaTypewriter f +(*) 3757 3936 w +10 /LucidaSansUnicode00 f +(operator.) 3865 3936 w +(It) 4348 3936 w +(may) 4449 3936 w +(be) 4684 3936 w +(nec\255) 4838 3936 w +(essary) 970 4056 w +(to) 1314 4056 w +(single) 1450 4056 w +(step) 1777 4056 w +(a) 2022 4056 w +(couple) 2115 4056 w +(of) 2475 4056 w +(instructions) 2612 4056 w +(into) 3224 4056 w +(a) 3452 4056 w +(function) 3546 4056 w +(to) 3986 4056 w +(get) 4123 4056 w +(a) 4317 4056 w +(correct) 4411 4056 w +(stack) 4788 4056 w +(trace) 970 4176 w +(because) 1258 4176 w +(the) 1699 4176 w +(frame) 1901 4176 w +(pointer) 2230 4176 w +(adjustment) 2626 4176 w +(instruction) 3219 4176 w +(may) 3788 4176 w +(get) 4035 4176 w +(scheduled) 4237 4176 w +(down) 4777 4176 w +(into the body of the function.) 970 4296 w +10 /LucidaTypewriter f +(acid: lstk\(\)) 1170 4452 w +(At pc:0x00001024:main+0x4 ls.c:48) 1170 4572 w +(main\(argc=0x00000001,argv=0x7fffefec\) ls.c:48) 1170 4692 w +(called from _main+0x20 main9.s:10) 1370 4812 w +(_argc=0x00000000) 1370 4932 w +(_args=0x00000000) 1370 5052 w +(fd=0x00000000) 1370 5172 w +(buf=0x00000000) 1370 5292 w +(i=0x00000000) 1370 5412 w +({}) 720 5568 w +(mem\() 1008 5568 w +10 /LucidaSans-Italic f +(integer,string) 1296 5568 w +10 /LucidaTypewriter f +(\)) 1959 5568 w +10 /LucidaSansUnicode00 f +(Print memory object) 4058 5568 w +10 /LucidaTypewriter f +(mem) 970 5724 w +10 /LucidaSansUnicode00 f +(interprets) 1224 5724 w +(its) 1735 5724 w +(first) 1890 5724 w +10 /LucidaSans-Italic f +(integer) 2123 5724 w +10 /LucidaSansUnicode00 f +(argument) 2505 5724 w +(as) 3011 5724 w +(the) 3155 5724 w +(address) 3348 5724 w +(of) 3766 5724 w +(an) 3902 5724 w +(object) 4057 5724 w +(to) 4394 5724 w +(be) 4531 5724 w +(printed) 4689 5724 w +(according) 970 5844 w +(to) 1482 5844 w +(the) 1617 5844 w +(format) 1809 5844 w +(supplied) 2170 5844 w +(in) 2623 5844 w +(its) 2751 5844 w +(second) 2905 5844 w +10 /LucidaSans-Italic f +(string) 3286 5844 w +10 /LucidaSansUnicode00 f +(argument.) 3610 5844 w +(The) 4179 5844 w +(format) 4397 5844 w +(string) 4758 5844 w +(can be any combination of format characters, each preceded by an optional count.) 970 5964 w +10 /LucidaTypewriter f +(acid: mem\(bdata+0x326, "2c2Xb"\)) 1170 6120 w +(P = 0xa94bc464 0x3e5ae44d) 1170 6240 w +(19) 3114 6240 w +({}) 720 6396 w +(new\(\)) 1008 6396 w +10 /LucidaSansUnicode00 f +(Create new process) 4093 6396 w +10 /LucidaTypewriter f +(new) 970 6552 w +10 /LucidaSansUnicode00 f +(starts) 1221 6552 w +(a) 1528 6552 w +(new) 1618 6552 w +(copy) 1848 6552 w +(of) 2111 6552 w +(the) 2245 6552 w +(debugged) 2436 6552 w +(program.) 2959 6552 w +(The) 3443 6552 w +(new) 3660 6552 w +(program) 3891 6552 w +(is) 4343 6552 w +(started) 4459 6552 w +(with) 4835 6552 w +(the) 970 6672 w +(program) 1187 6672 w +(arguments) 1665 6672 w +(set) 2246 6672 w +(by) 2451 6672 w +(the) 2627 6672 w +(variable) 2843 6672 w +10 /LucidaTypewriter f +(progargs) 3284 6672 w +10 /LucidaSansUnicode00 f +(.) 3860 6672 w +(The) 3985 6672 w +(new) 4227 6672 w +(program) 4483 6672 w +(is) 4960 6672 w +(stopped) 970 6792 w +(in) 1416 6792 w +(the) 1559 6792 w +(second) 1766 6792 w +(instruction) 2162 6792 w +(of) 2736 6792 w +10 /LucidaTypewriter f +(main) 2887 6792 w +10 /LucidaSansUnicode00 f +(.) 3175 6792 w +(The) 3292 6792 w +(breakpoint) 3526 6792 w +(list) 4104 6792 w +(is) 4303 6792 w +(reinitialized.) 4436 6792 w +10 /LucidaTypewriter f +(new) 970 6912 w +10 /LucidaSansUnicode00 f +(may) 1223 6912 w +(be) 1460 6912 w +(used) 1616 6912 w +(several) 1885 6912 w +(times) 2262 6912 w +(to) 2565 6912 w +(instantiate) 2700 6912 w +(several) 3247 6912 w +(copies) 3624 6912 w +(of) 3972 6912 w +(a) 4107 6912 w +(program) 4199 6912 w +(simulta\255) 4651 6912 w +(neously. The user can rotate between the copies using) 970 7032 w +10 /LucidaTypewriter f +(setproc) 3648 7032 w +10 /LucidaSansUnicode00 f +(.) 4152 7032 w cleartomark showpage saveobj restore @@ -12362,330 +12425,329 @@ 10 /LucidaSansUnicode00 f (\255 22 \255) 2752 480 w 10 /LucidaTypewriter f -(acid: mem\(bdata+0x326, "2c2Xb"\)) 1170 876 w -(P = 0xa94bc464 0x3e5ae44d) 1170 996 w -(19) 3114 996 w -({}) 720 1152 w -(new\(\)) 1008 1152 w -10 /LucidaSansUnicode00 f -(Create new process) 4093 1152 w -10 /LucidaTypewriter f -(new) 970 1308 w -10 /LucidaSansUnicode00 f -(starts) 1221 1308 w -(a) 1528 1308 w -(new) 1618 1308 w -(copy) 1848 1308 w -(of) 2111 1308 w -(the) 2245 1308 w -(debugged) 2436 1308 w -(program.) 2959 1308 w -(The) 3443 1308 w -(new) 3660 1308 w -(program) 3891 1308 w -(is) 4343 1308 w -(started) 4459 1308 w -(with) 4835 1308 w -(the) 970 1428 w -(program) 1187 1428 w -(arguments) 1665 1428 w -(set) 2246 1428 w -(by) 2451 1428 w -(the) 2627 1428 w -(variable) 2843 1428 w -10 /LucidaTypewriter f -(progargs) 3284 1428 w -10 /LucidaSansUnicode00 f -(.) 3860 1428 w -(The) 3985 1428 w -(new) 4227 1428 w -(program) 4483 1428 w -(is) 4960 1428 w -(stopped) 970 1548 w -(in) 1416 1548 w -(the) 1559 1548 w -(second) 1766 1548 w -(instruction) 2162 1548 w -(of) 2736 1548 w -10 /LucidaTypewriter f -(main) 2887 1548 w -10 /LucidaSansUnicode00 f -(.) 3175 1548 w -(The) 3292 1548 w -(breakpoint) 3526 1548 w -(list) 4104 1548 w -(is) 4303 1548 w -(reinitialized.) 4436 1548 w -10 /LucidaTypewriter f -(new) 970 1668 w -10 /LucidaSansUnicode00 f -(may) 1223 1668 w -(be) 1460 1668 w -(used) 1616 1668 w -(several) 1885 1668 w -(times) 2262 1668 w -(to) 2565 1668 w -(instantiate) 2700 1668 w -(several) 3247 1668 w -(copies) 3624 1668 w -(of) 3972 1668 w -(a) 4107 1668 w -(program) 4199 1668 w -(simulta\255) 4651 1668 w -(neously. The user can rotate between the copies using) 970 1788 w -10 /LucidaTypewriter f -(setproc) 3648 1788 w -10 /LucidaSansUnicode00 f -(.) 4152 1788 w -10 /LucidaTypewriter f -(acid: progargs="-l") 1170 1944 w -(acid: new\(\)) 1170 2064 w -(60: external interrupt) 1170 2184 w -(_main) 2770 2184 w -(ADD) 3170 2184 w -($-0x14,R29) 3570 2184 w +(acid: progargs="-l") 1170 876 w +(acid: new\(\)) 1170 996 w +(60: external interrupt) 1170 1116 w +(_main) 2770 1116 w +(ADD) 3170 1116 w +($-0x14,R29) 3570 1116 w +(60: breakpoint) 1170 1236 w +(main+0x4) 2370 1236 w +(MOVW) 2970 1236 w +(R31,0x0\(R29\)) 3370 1236 w +({}) 720 1392 w +(next\(\)) 1008 1392 w +10 /LucidaSansUnicode00 f +(Step through language statement) 3420 1392 w +10 /LucidaTypewriter f +(next) 970 1548 w +10 /LucidaSansUnicode00 f +(steps) 1325 1548 w +(through) 1651 1548 w +(a) 2106 1548 w +(single) 2229 1548 w +(language) 2586 1548 w +(level) 3097 1548 w +(statement) 3387 1548 w +(without) 3939 1548 w +(tracing) 4372 1548 w +(down) 4777 1548 w +(through) 970 1668 w +(each) 1398 1668 w +(statement) 1663 1668 w +(in) 2188 1668 w +(a) 2320 1668 w +(called) 2416 1668 w +(function.) 2740 1668 w +(For) 3214 1668 w +(each) 3411 1668 w +(statement,) 3676 1668 w +10 /LucidaTypewriter f +(next) 4233 1668 w +10 /LucidaSansUnicode00 f +(prints) 4562 1668 w +(the) 4885 1668 w +(machine) 970 1788 w +(instructions) 1426 1788 w +(executed) 2047 1788 w +(as) 2537 1788 w +(part) 2691 1788 w +(of) 2935 1788 w +(the) 3081 1788 w +(statement.) 3284 1788 w +(After) 3848 1788 w +(the) 4136 1788 w +(statement) 4339 1788 w +(has) 4872 1788 w +(executed, source lines around the current program counter are displayed.) 970 1908 w +10 /LucidaTypewriter f +(acid: next\(\)) 1170 2064 w +(60: breakpoint) 1170 2184 w +(Binit+0x4 MOVW) 2370 2184 w +(R31,0x0\(R29\)) 3570 2184 w (60: breakpoint) 1170 2304 w -(main+0x4) 2370 2304 w -(MOVW) 2970 2304 w -(R31,0x0\(R29\)) 3370 2304 w -({}) 720 2460 w -(next\(\)) 1008 2460 w -10 /LucidaSansUnicode00 f -(Step through language statement) 3420 2460 w -10 /LucidaTypewriter f -(next) 970 2616 w -10 /LucidaSansUnicode00 f -(steps) 1325 2616 w -(through) 1651 2616 w -(a) 2106 2616 w -(single) 2229 2616 w -(language) 2586 2616 w -(level) 3097 2616 w -(statement) 3387 2616 w -(without) 3939 2616 w -(tracing) 4372 2616 w -(down) 4777 2616 w -(through) 970 2736 w -(each) 1398 2736 w -(statement) 1663 2736 w -(in) 2188 2736 w -(a) 2320 2736 w -(called) 2416 2736 w -(function.) 2740 2736 w -(For) 3214 2736 w -(each) 3411 2736 w -(statement,) 3676 2736 w -10 /LucidaTypewriter f -(next) 4233 2736 w -10 /LucidaSansUnicode00 f -(prints) 4562 2736 w -(the) 4885 2736 w -(machine) 970 2856 w -(instructions) 1426 2856 w -(executed) 2047 2856 w -(as) 2537 2856 w -(part) 2691 2856 w -(of) 2935 2856 w -(the) 3081 2856 w -(statement.) 3284 2856 w -(After) 3848 2856 w -(the) 4136 2856 w -(statement) 4339 2856 w -(has) 4872 2856 w -(executed, source lines around the current program counter are displayed.) 970 2976 w -10 /LucidaTypewriter f -(acid: next\(\)) 1170 3132 w -(60: breakpoint) 1170 3252 w -(Binit+0x4 MOVW) 2370 3252 w -(R31,0x0\(R29\)) 3570 3252 w -(60: breakpoint) 1170 3372 w -(Binit+0x8 MOVW) 2370 3372 w -(f+8\(FP\),R4) 3570 3372 w -(binit.c:93) 1170 3492 w -(88) 1242 3612 w -(89) 1242 3732 w -(int) 1570 3732 w -(90) 1242 3852 w -(Binit\(Biobuf *bp, int f, int mode\)) 1570 3852 w -(91) 1242 3972 w -({) 1570 3972 w -(>92) 1170 4092 w -(return Binits\(bp, f, mode, bp->b, BSIZE\);) 1770 4092 w -(93) 1242 4212 w -(}) 1570 4212 w -({}) 720 4368 w -(notestk\() 1008 4368 w -10 /LucidaSans-Italic f -(integer) 1584 4368 w -10 /LucidaTypewriter f -(\)) 1928 4368 w -10 /LucidaSansUnicode00 f -(Stack trace after receiving a note) 3450 4368 w -10 /LucidaTypewriter f -(notestk) 970 4524 w -10 /LucidaSansUnicode00 f -(interprets) 1532 4524 w -(its) 2063 4524 w -10 /LucidaSans-Italic f -(integer) 2238 4524 w -10 /LucidaSansUnicode00 f -(argument) 2640 4524 w -(as) 3166 4524 w -(the) 3331 4524 w -(address) 3545 4524 w -(of) 3984 4524 w -(a) 4141 4524 w -10 /LucidaTypewriter f -(Ureg) 4255 4524 w -10 /LucidaSansUnicode00 f -(structure) 4602 4524 w -(passed) 970 4644 w -(by) 1361 4644 w -(the) 1528 4644 w -(kernel) 1735 4644 w -(to) 2089 4644 w -(a) 2239 4644 w -10 /LucidaSans-Italic f -(notify) 2346 4644 w -10 /LucidaSansUnicode00 f -(\(2\)) 2625 4644 w -(function) 2805 4644 w -(during) 3257 4644 w -(note) 3627 4644 w -(processing.) 3894 4644 w -10 /LucidaTypewriter f -(notestk) 4536 4644 w -10 /LucidaSansUnicode00 f -(uses) 970 4764 w -(the) 1241 4764 w -10 /LucidaTypewriter f -(PC) 1447 4764 w -10 /LucidaSansUnicode00 f -(,) 1591 4764 w -10 /LucidaTypewriter f -(SP) 1674 4764 w -10 /LucidaSansUnicode00 f -(,) 1818 4764 w -(and) 1902 4764 w -(link) 2134 4764 w -(register) 2364 4764 w -(from) 2789 4764 w -(the) 3073 4764 w -10 /LucidaTypewriter f -(Ureg) 3280 4764 w -10 /LucidaSansUnicode00 f -(to) 3620 4764 w -(print) 3770 4764 w -(a) 4054 4764 w -(stack) 4161 4764 w -(trace) 4465 4764 w -(corre\255) 4757 4764 w -(sponding) 970 4884 w -(to) 1462 4884 w -(the) 1599 4884 w -(point) 1793 4884 w -(in) 2084 4884 w -(the) 2213 4884 w -(program) 2406 4884 w -(where) 2860 4884 w -(the) 3190 4884 w -(note) 3383 4884 w -(was) 3637 4884 w -(received.) 3858 4884 w -(To) 4364 4884 w -(get) 4526 4884 w -(a) 4719 4884 w -(valid) 4812 4884 w -(stack) 970 5004 w -(trace) 1255 5004 w -(on) 1529 5004 w -(the) 1686 5004 w -(MIPS) 1875 5004 w -(and) 2133 5004 w -(SPARC) 2347 5004 w -(architectures) 2691 5004 w -(from) 3354 5004 w -(a) 3620 5004 w -(notify) 3709 5004 w -(routine,) 4021 5004 w -(the) 4435 5004 w -(program) 4624 5004 w -(must) 970 5124 w -(stop) 1251 5124 w -(in) 1501 5124 w -(a) 1630 5124 w -(new) 1723 5124 w -(function) 1956 5124 w -(called) 2395 5124 w -(from) 2716 5124 w -(the) 2986 5124 w -(notify) 3179 5124 w -(routine) 3495 5124 w -(so) 3881 5124 w -(that) 4031 5124 w -(the) 4260 5124 w -(link) 4452 5124 w -(register) 4667 5124 w -(is valid and the notify routine) 970 5244 w +(Binit+0x8 MOVW) 2370 2304 w +(f+8\(FP\),R4) 3570 2304 w +(binit.c:93) 1170 2424 w +(88) 1242 2544 w +(89) 1242 2664 w +(int) 1570 2664 w +(90) 1242 2784 w +(Binit\(Biobuf *bp, int f, int mode\)) 1570 2784 w +(91) 1242 2904 w +({) 1570 2904 w +(>92) 1170 3024 w +(return Binits\(bp, f, mode, bp->b, BSIZE\);) 1770 3024 w +(93) 1242 3144 w +(}) 1570 3144 w +({}) 720 3300 w +(notestk\() 1008 3300 w +10 /LucidaSans-Italic f +(integer) 1584 3300 w +10 /LucidaTypewriter f +(\)) 1928 3300 w +10 /LucidaSansUnicode00 f +(Stack trace after receiving a note) 3450 3300 w +10 /LucidaTypewriter f +(notestk) 970 3456 w +10 /LucidaSansUnicode00 f +(interprets) 1532 3456 w +(its) 2063 3456 w +10 /LucidaSans-Italic f +(integer) 2238 3456 w +10 /LucidaSansUnicode00 f +(argument) 2640 3456 w +(as) 3166 3456 w +(the) 3331 3456 w +(address) 3545 3456 w +(of) 3984 3456 w +(a) 4141 3456 w +10 /LucidaTypewriter f +(Ureg) 4255 3456 w +10 /LucidaSansUnicode00 f +(structure) 4602 3456 w +(passed) 970 3576 w +(by) 1361 3576 w +(the) 1528 3576 w +(kernel) 1735 3576 w +(to) 2089 3576 w +(a) 2239 3576 w +10 /LucidaSans-Italic f +(notify) 2346 3576 w +10 /LucidaSansUnicode00 f +(\(2\)) 2625 3576 w +(function) 2805 3576 w +(during) 3257 3576 w +(note) 3627 3576 w +(processing.) 3894 3576 w +10 /LucidaTypewriter f +(notestk) 4536 3576 w +10 /LucidaSansUnicode00 f +(uses) 970 3696 w +(the) 1241 3696 w +10 /LucidaTypewriter f +(PC) 1447 3696 w +10 /LucidaSansUnicode00 f +(,) 1591 3696 w +10 /LucidaTypewriter f +(SP) 1674 3696 w +10 /LucidaSansUnicode00 f +(,) 1818 3696 w +(and) 1902 3696 w +(link) 2134 3696 w +(register) 2364 3696 w +(from) 2789 3696 w +(the) 3073 3696 w +10 /LucidaTypewriter f +(Ureg) 3280 3696 w +10 /LucidaSansUnicode00 f +(to) 3620 3696 w +(print) 3770 3696 w +(a) 4054 3696 w +(stack) 4161 3696 w +(trace) 4465 3696 w +(corre\255) 4757 3696 w +(sponding) 970 3816 w +(to) 1462 3816 w +(the) 1599 3816 w +(point) 1793 3816 w +(in) 2084 3816 w +(the) 2213 3816 w +(program) 2406 3816 w +(where) 2860 3816 w +(the) 3190 3816 w +(note) 3383 3816 w +(was) 3637 3816 w +(received.) 3858 3816 w +(To) 4364 3816 w +(get) 4526 3816 w +(a) 4719 3816 w +(valid) 4812 3816 w +(stack) 970 3936 w +(trace) 1255 3936 w +(on) 1529 3936 w +(the) 1686 3936 w +(MIPS) 1875 3936 w +(and) 2133 3936 w +(SPARC) 2347 3936 w +(architectures) 2691 3936 w +(from) 3354 3936 w +(a) 3620 3936 w +(notify) 3709 3936 w +(routine,) 4021 3936 w +(the) 4435 3936 w +(program) 4624 3936 w +(must) 970 4056 w +(stop) 1251 4056 w +(in) 1501 4056 w +(a) 1630 4056 w +(new) 1723 4056 w +(function) 1956 4056 w +(called) 2395 4056 w +(from) 2716 4056 w +(the) 2986 4056 w +(notify) 3179 4056 w +(routine) 3495 4056 w +(so) 3881 4056 w +(that) 4031 4056 w +(the) 4260 4056 w +(link) 4452 4056 w +(register) 4667 4056 w +(is valid and the notify routine) 970 4176 w 10 /LucidaSansUnicode20 f -(\031) 2399 5244 w +(\031) 2399 4176 w 10 /LucidaSansUnicode00 f -(s parameters are addressable.) 2431 5244 w +(s parameters are addressable.) 2431 4176 w 10 /LucidaTypewriter f -(acid: notestk\(*notify:ur\)) 1170 5400 w -(Note pc:0x00001024:main+0x4 ls.c:48) 1170 5520 w -(main\(argc=0x00000001,argv=0x7fffefec\) ls.c:48) 1170 5640 w -(called from _main+0x20 main9.s:10) 1370 5760 w -(_argc=0x00000000) 1370 5880 w -(_args=0x00000000) 1370 6000 w -({}) 720 6156 w -(pfl\() 1008 6156 w -10 /LucidaSans-Italic f -(integer) 1296 6156 w -10 /LucidaTypewriter f -(\)) 1640 6156 w -10 /LucidaSansUnicode00 f -(Print source file and line) 3859 6156 w -10 /LucidaTypewriter f -(pfl) 970 6312 w -10 /LucidaSansUnicode00 f -(interprets) 1228 6312 w -(its) 1743 6312 w -(argument) 1902 6312 w -(as) 2412 6312 w -(a) 2560 6312 w -(text) 2658 6312 w -(address) 2892 6312 w -(and) 3315 6312 w -(uses) 3538 6312 w -(it) 3801 6312 w -(to) 3910 6312 w -(print) 4051 6312 w -(the) 4326 6312 w -(source) 4524 6312 w -(file) 4889 6312 w -(and) 970 6432 w -(line) 1186 6432 w -(number) 1398 6432 w -(corresponding) 1811 6432 w -(to) 2549 6432 w -(the) 2682 6432 w -(address.) 2872 6432 w -(The) 3319 6432 w -(output) 3535 6432 w -(has) 3892 6432 w -(the) 4095 6432 w -(same) 4285 6432 w -(format) 4575 6432 w -(as) 4934 6432 w -(file addresses in) 970 6552 w -10 /LucidaSans-Italic f -(acme) 1795 6552 w -10 /LucidaSansUnicode00 f -(\(1\).) 2052 6552 w -10 /LucidaTypewriter f -(acid: pfl\(main\)) 1170 6708 w -(ls.c:48) 1170 6828 w +(acid: notestk\(*notify:ur\)) 1170 4332 w +(Note pc:0x00001024:main+0x4 ls.c:48) 1170 4452 w +(main\(argc=0x00000001,argv=0x7fffefec\) ls.c:48) 1170 4572 w +(called from _main+0x20 main9.s:10) 1370 4692 w +(_argc=0x00000000) 1370 4812 w +(_args=0x00000000) 1370 4932 w +({}) 720 5088 w +(pfl\() 1008 5088 w +10 /LucidaSans-Italic f +(integer) 1296 5088 w +10 /LucidaTypewriter f +(\)) 1640 5088 w +10 /LucidaSansUnicode00 f +(Print source file and line) 3859 5088 w +10 /LucidaTypewriter f +(pfl) 970 5244 w +10 /LucidaSansUnicode00 f +(interprets) 1228 5244 w +(its) 1743 5244 w +(argument) 1902 5244 w +(as) 2412 5244 w +(a) 2560 5244 w +(text) 2658 5244 w +(address) 2892 5244 w +(and) 3315 5244 w +(uses) 3538 5244 w +(it) 3801 5244 w +(to) 3910 5244 w +(print) 4051 5244 w +(the) 4326 5244 w +(source) 4524 5244 w +(file) 4889 5244 w +(and) 970 5364 w +(line) 1186 5364 w +(number) 1398 5364 w +(corresponding) 1811 5364 w +(to) 2549 5364 w +(the) 2682 5364 w +(address.) 2872 5364 w +(The) 3319 5364 w +(output) 3535 5364 w +(has) 3892 5364 w +(the) 4095 5364 w +(same) 4285 5364 w +(format) 4575 5364 w +(as) 4934 5364 w +(file addresses in) 970 5484 w +10 /LucidaSans-Italic f +(acme) 1795 5484 w +10 /LucidaSansUnicode00 f +(\(1\).) 2052 5484 w +10 /LucidaTypewriter f +(acid: pfl\(main\)) 1170 5640 w +(ls.c:48) 1170 5760 w +({}) 720 5916 w +(procs\(\)) 1008 5916 w +10 /LucidaSansUnicode00 f +(Print active process list) 3920 5916 w +10 /LucidaTypewriter f +(procs) 970 6072 w +10 /LucidaSansUnicode00 f +(prints) 1369 6072 w +(a) 1691 6072 w +(list) 1785 6072 w +(of) 1970 6072 w +(active) 2107 6072 w +(process) 2426 6072 w +(attached) 2840 6072 w +(to) 3296 6072 w +(the) 3434 6072 w +(debugger.) 3629 6072 w +(Each) 4166 6072 w +(process) 4428 6072 w +(pro\255) 4842 6072 w +(duces) 970 6192 w +(a) 1289 6192 w +(single) 1380 6192 w +(line) 1705 6192 w +(of) 1917 6192 w +(output) 2051 6192 w +(giving) 2409 6192 w +(the) 2741 6192 w +(pid,) 2932 6192 w +(process) 3155 6192 w +(state,) 3565 6192 w +(the) 3869 6192 w +(address) 4060 6192 w +(the) 4476 6192 w +(process) 4666 6192 w +(is) 970 6312 w +(currently) 1086 6312 w +(executing,) 1553 6312 w +(and) 2097 6312 w +(the) 2313 6312 w +10 /LucidaTypewriter f +(setproc) 2504 6312 w +10 /LucidaSansUnicode00 f +(command) 3044 6312 w +(required) 3558 6312 w +(to) 4005 6312 w +(make) 4139 6312 w +(that) 4438 6312 w +(process) 4666 6312 w +(current.) 970 6432 w +(The) 1421 6432 w +(current) 1639 6432 w +(process) 2026 6432 w +(is) 2437 6432 w +(marked) 2554 6432 w +(in) 2957 6432 w +(the) 3085 6432 w +(first) 3277 6432 w +(column) 3508 6432 w +(with) 3902 6432 w +(a) 4143 6432 w +10 /LucidaTypewriter f +(>) 4234 6432 w +10 /LucidaSansUnicode00 f +(character.) 4342 6432 w +(The) 4859 6432 w +(debugger maintains a list of processes in the variable) 970 6552 w +10 /LucidaTypewriter f +(proclist) 3602 6552 w +10 /LucidaSansUnicode00 f +(.) 4178 6552 w +10 /LucidaTypewriter f +(acid: procs\(\)) 1170 6708 w +(>62: Stopped at main+0x4 setproc\(62\)) 1170 6828 w +(60: Stopped at Binit+0x8 setproc\(60\)) 1242 6948 w cleartomark showpage saveobj restore @@ -12698,366 +12760,291 @@ (\255 23 \255) 2752 480 w 10 /LucidaTypewriter f ({}) 720 876 w -(procs\(\)) 1008 876 w +(pstop\() 1008 876 w +10 /LucidaSans-Italic f +(integer) 1440 876 w +10 /LucidaTypewriter f +(\)) 1784 876 w 10 /LucidaSansUnicode00 f -(Print active process list) 3920 876 w +(Print reason process stopped) 3626 876 w 10 /LucidaTypewriter f -(procs) 970 1032 w +(pstop) 970 1032 w 10 /LucidaSansUnicode00 f -(prints) 1369 1032 w -(a) 1691 1032 w -(list) 1785 1032 w -(of) 1970 1032 w -(active) 2107 1032 w -(process) 2426 1032 w -(attached) 2840 1032 w -(to) 3296 1032 w -(the) 3434 1032 w -(debugger.) 3629 1032 w -(Each) 4166 1032 w -(process) 4428 1032 w -(pro\255) 4842 1032 w -(duces) 970 1152 w -(a) 1289 1152 w -(single) 1380 1152 w -(line) 1705 1152 w -(of) 1917 1152 w -(output) 2051 1152 w -(giving) 2409 1152 w -(the) 2741 1152 w -(pid,) 2932 1152 w -(process) 3155 1152 w -(state,) 3565 1152 w -(the) 3869 1152 w -(address) 4060 1152 w -(the) 4476 1152 w -(process) 4666 1152 w -(is) 970 1272 w -(currently) 1086 1272 w -(executing,) 1553 1272 w -(and) 2097 1272 w -(the) 2313 1272 w -10 /LucidaTypewriter f -(setproc) 2504 1272 w -10 /LucidaSansUnicode00 f -(command) 3044 1272 w -(required) 3558 1272 w -(to) 4005 1272 w -(make) 4139 1272 w -(that) 4438 1272 w -(process) 4666 1272 w -(current.) 970 1392 w -(The) 1421 1392 w -(current) 1639 1392 w -(process) 2026 1392 w -(is) 2437 1392 w -(marked) 2554 1392 w -(in) 2957 1392 w -(the) 3085 1392 w -(first) 3277 1392 w -(column) 3508 1392 w -(with) 3902 1392 w -(a) 4143 1392 w -10 /LucidaTypewriter f -(>) 4234 1392 w -10 /LucidaSansUnicode00 f -(character.) 4342 1392 w -(The) 4859 1392 w -(debugger maintains a list of processes in the variable) 970 1512 w -10 /LucidaTypewriter f -(proclist) 3602 1512 w -10 /LucidaSansUnicode00 f -(.) 4178 1512 w -10 /LucidaTypewriter f -(acid: procs\(\)) 1170 1668 w -(>62: Stopped at main+0x4 setproc\(62\)) 1170 1788 w -(60: Stopped at Binit+0x8 setproc\(60\)) 1242 1908 w -({}) 720 2064 w -(pstop\() 1008 2064 w +(prints) 1366 1032 w +(the) 1685 1032 w +(status) 1876 1032 w +(of) 2205 1032 w +(the) 2339 1032 w +(process) 2530 1032 w +(specified) 2940 1032 w +(by) 3411 1032 w +(the) 3562 1032 w 10 /LucidaSans-Italic f -(integer) 1440 2064 w +(integer) 3754 1032 w +10 /LucidaSansUnicode00 f +(pid) 4135 1032 w +(supplied) 4327 1032 w +(as) 4780 1032 w +(its) 4923 1032 w +(argument.) 970 1152 w 10 /LucidaTypewriter f -(\)) 1784 2064 w +(pstop) 1551 1152 w 10 /LucidaSansUnicode00 f -(Print reason process stopped) 3626 2064 w +(is) 1960 1152 w +(usually) 2089 1152 w +(called) 2478 1152 w +(from) 2810 1152 w 10 /LucidaTypewriter f -(pstop) 970 2220 w +(stopped) 3091 1152 w 10 /LucidaSansUnicode00 f -(prints) 1366 2220 w -(the) 1685 2220 w -(status) 1876 2220 w -(of) 2205 2220 w -(the) 2339 2220 w -(process) 2530 2220 w -(specified) 2940 2220 w -(by) 3411 2220 w -(the) 3562 2220 w -10 /LucidaSans-Italic f -(integer) 3754 2220 w -10 /LucidaSansUnicode00 f -(pid) 4135 2220 w -(supplied) 4327 2220 w -(as) 4780 2220 w -(its) 4923 2220 w -(argument.) 970 2340 w -10 /LucidaTypewriter f -(pstop) 1551 2340 w -10 /LucidaSansUnicode00 f -(is) 1960 2340 w -(usually) 2089 2340 w -(called) 2478 2340 w -(from) 2810 2340 w -10 /LucidaTypewriter f -(stopped) 3091 2340 w -10 /LucidaSansUnicode00 f -(every) 3644 2340 w -(time) 3949 2340 w -(a) 4212 2340 w -(process) 4315 2340 w -(enters) 4737 2340 w -(the) 970 2460 w -10 /LucidaTypewriter f -(Stopped) 1157 2460 w -10 /LucidaSansUnicode00 f -(state.) 1693 2460 w -10 /LucidaTypewriter f -(acid: pstop\(62\)) 1170 2616 w -(0x0000003e: breakpoint) 1170 2736 w -(main+0x4) 2770 2736 w -(MOVW) 3370 2736 w -(R31,0x0\(R29\)) 3770 2736 w -({}) 720 2892 w -(regs\(\)) 1008 2892 w -10 /LucidaSansUnicode00 f -(Print registers) 4360 2892 w -10 /LucidaTypewriter f -(regs) 970 3048 w -10 /LucidaSansUnicode00 f -(prints) 1291 3048 w -(the) 1607 3048 w -(contents) 1795 3048 w -(of) 2245 3048 w -(both) 2376 3048 w -(the) 2633 3048 w -(general) 2822 3048 w -(and) 3217 3048 w -(special) 3431 3048 w -(purpose) 3799 3048 w -(registers.) 4230 3048 w -10 /LucidaTypewriter f -(regs) 4752 3048 w -10 /LucidaSansUnicode00 f -(calls) 970 3168 w -10 /LucidaTypewriter f -(spr) 1217 3168 w -10 /LucidaSansUnicode00 f -(then) 1465 3168 w -10 /LucidaTypewriter f -(gpr) 1714 3168 w -10 /LucidaSansUnicode00 f -(to display the contents of the registers.) 1962 3168 w -10 /LucidaTypewriter f -({}) 720 3324 w -(source\(\)) 1008 3324 w -10 /LucidaSansUnicode00 f -(Summarize source data base) 3647 3324 w -10 /LucidaTypewriter f -(source) 970 3480 w -10 /LucidaSansUnicode00 f -(prints) 1456 3480 w -(the) 1793 3480 w -(directory) 2002 3480 w -(search) 2487 3480 w -(path) 2857 3480 w -(followed) 3128 3480 w -(by) 3595 3480 w -(a) 3764 3480 w -(list) 3873 3480 w -(of) 4074 3480 w -(currently) 4227 3480 w -(loaded) 4713 3480 w -(source) 970 3600 w -(files.) 1328 3600 w -(The) 1598 3600 w -(source) 1815 3600 w -(management) 2172 3600 w -(functions) 2838 3600 w -10 /LucidaTypewriter f -(src) 3325 3600 w -10 /LucidaSansUnicode00 f -(and) 3576 3600 w -10 /LucidaTypewriter f -(findsrc) 3791 3600 w -10 /LucidaSansUnicode00 f -(use) 4330 3600 w -(the) 4534 3600 w -(search) 4724 3600 w -(path) 970 3720 w -(to) 1234 3720 w -(locate) 1379 3720 w -(and) 1715 3720 w -(load) 1942 3720 w -(source) 2198 3720 w -(files.) 2568 3720 w -(Source) 2850 3720 w -(files) 3223 3720 w -(are) 3473 3720 w -(loaded) 3673 3720 w -(incrementally) 4048 3720 w -(into) 4748 3720 w -(a) 4985 3720 w -(source) 970 3840 w -(data) 1334 3840 w -(base) 1586 3840 w -(during) 1853 3840 w -(debugging.) 2214 3840 w -(A) 2809 3840 w -(list) 2920 3840 w -(of) 3108 3840 w -(loaded) 3248 3840 w -(files) 3617 3840 w -(is) 3861 3840 w -(stored) 3982 3840 w -(in) 4332 3840 w -(the) 4464 3840 w -(variable) 4660 3840 w -10 /LucidaTypewriter f -(srcfiles) 970 3960 w -10 /LucidaSansUnicode00 f -(and the contents of each source file in the variable) 1578 3960 w -10 /LucidaTypewriter f -(srctext) 4071 3960 w -10 /LucidaSansUnicode00 f -(.) 4575 3960 w -10 /LucidaTypewriter f -(acid: source\(\)) 1170 4116 w -(/n/bootes/sys/src/libbio/) 1170 4236 w -(/sys/src/libc/port/) 1170 4356 w -(/sys/src/libc/9sys/) 1170 4476 w -(/sys/src/libc/mips/) 1170 4596 w -(binit.c) 1370 4716 w -({}) 720 4872 w -(spr\(\)) 1008 4872 w -10 /LucidaSansUnicode00 f -(Print special purpose registers) 3565 4872 w -10 /LucidaTypewriter f -(spr) 970 5028 w -10 /LucidaSansUnicode00 f -(prints) 1226 5028 w -(the) 1549 5028 w -(contents) 1745 5028 w -(of) 2203 5028 w -(the) 2342 5028 w -(processor) 2538 5028 w -(control) 3055 5028 w -(and) 3438 5028 w -(memory) 3659 5028 w -(management) 4096 5028 w -(regis\255) 4768 5028 w -(ters.) 970 5148 w -(Where) 1237 5148 w -(possible,) 1588 5148 w -(the) 2072 5148 w -(contents) 2276 5148 w -(of) 2742 5148 w -(the) 2889 5148 w -(registers) 3093 5148 w -(are) 3566 5148 w -(decoded) 3767 5148 w -(to) 4229 5148 w -(provide) 4376 5148 w -(extra) 4790 5148 w -(information;) 970 5268 w -(for) 1613 5268 w -(example) 1796 5268 w -(the) 2253 5268 w -10 /LucidaTypewriter f -(CAUSE) 2452 5268 w -10 /LucidaSansUnicode00 f -(register) 2856 5268 w -(on) 3273 5268 w -(the) 3440 5268 w -(MIPS) 3639 5268 w -(is) 3907 5268 w -(printed) 4031 5268 w -(both) 4426 5268 w -(in) 4693 5268 w -(hex\255) 4828 5268 w -(adecimal and using the) 970 5388 w -10 /LucidaTypewriter f -(reason) 2130 5388 w -10 /LucidaSansUnicode00 f -(function.) 2594 5388 w -10 /LucidaTypewriter f -(acid: spr\(\)) 1170 5544 w -(PC) 1170 5664 w -(0x00001024 main+0x4) 1370 5664 w -(ls.c:48) 2882 5664 w -(SP) 1170 5784 w -(0x7fffef68 LINK) 1370 5784 w -(0x00006264 _main+0x28 main9.s:12) 2570 5784 w -(STATUS) 1170 5904 w -(0x0000ff33 CAUSE) 1770 5904 w -(0x00000024 breakpoint) 2970 5904 w -(TLBVIR) 1170 6024 w -(0x000000d3 BADVADR) 1770 6024 w -(0x00001020) 3170 6024 w -(HI) 1170 6144 w -(0x00000004 LO) 1370 6144 w -(0x00001ff7) 2570 6144 w -({}) 720 6300 w -(src\() 1008 6300 w -10 /LucidaSans-Italic f -(integer) 1296 6300 w -10 /LucidaTypewriter f -(\)) 1640 6300 w -10 /LucidaSansUnicode00 f -(Print lines of source) 4073 6300 w -10 /LucidaTypewriter f -(src) 970 6456 w -10 /LucidaSansUnicode00 f -(interprets) 1237 6456 w -(its) 1761 6456 w -10 /LucidaSans-Italic f -(integer) 1929 6456 w -10 /LucidaSansUnicode00 f -(argument) 2324 6456 w -(as) 2843 6456 w -(a) 3000 6456 w -(text) 3106 6456 w -(address) 3348 6456 w -(and) 3779 6456 w -(uses) 4010 6456 w -(this) 4281 6456 w -(address) 4511 6456 w -(to) 4942 6456 w -(print) 970 6576 w -(5) 1235 6576 w -(lines) 1331 6576 w -(of source before and after the address. The current line is marked with) 1591 6576 w -(a) 970 6696 w -10 /LucidaTypewriter f -(>) 1084 6696 w -10 /LucidaSansUnicode00 f -(character.) 1215 6696 w -10 /LucidaTypewriter f -(src) 1787 6696 w -10 /LucidaSansUnicode00 f -(uses) 2062 6696 w -(the) 2342 6696 w -(source) 2557 6696 w -(search) 2939 6696 w -(path) 3315 6696 w -(maintained) 3592 6696 w -(by) 4193 6696 w +(every) 3644 1152 w +(time) 3949 1152 w +(a) 4212 1152 w +(process) 4315 1152 w +(enters) 4737 1152 w +(the) 970 1272 w +10 /LucidaTypewriter f +(Stopped) 1157 1272 w +10 /LucidaSansUnicode00 f +(state.) 1693 1272 w +10 /LucidaTypewriter f +(acid: pstop\(62\)) 1170 1428 w +(0x0000003e: breakpoint) 1170 1548 w +(main+0x4) 2770 1548 w +(MOVW) 3370 1548 w +(R31,0x0\(R29\)) 3770 1548 w +({}) 720 1704 w +(regs\(\)) 1008 1704 w +10 /LucidaSansUnicode00 f +(Print registers) 4360 1704 w +10 /LucidaTypewriter f +(regs) 970 1860 w +10 /LucidaSansUnicode00 f +(prints) 1291 1860 w +(the) 1607 1860 w +(contents) 1795 1860 w +(of) 2245 1860 w +(both) 2376 1860 w +(the) 2633 1860 w +(general) 2822 1860 w +(and) 3217 1860 w +(special) 3431 1860 w +(purpose) 3799 1860 w +(registers.) 4230 1860 w +10 /LucidaTypewriter f +(regs) 4752 1860 w +10 /LucidaSansUnicode00 f +(calls) 970 1980 w +10 /LucidaTypewriter f +(spr) 1217 1980 w +10 /LucidaSansUnicode00 f +(then) 1465 1980 w +10 /LucidaTypewriter f +(gpr) 1714 1980 w +10 /LucidaSansUnicode00 f +(to display the contents of the registers.) 1962 1980 w +10 /LucidaTypewriter f +({}) 720 2136 w +(source\(\)) 1008 2136 w +10 /LucidaSansUnicode00 f +(Summarize source data base) 3647 2136 w +10 /LucidaTypewriter f +(source) 970 2292 w +10 /LucidaSansUnicode00 f +(prints) 1456 2292 w +(the) 1793 2292 w +(directory) 2002 2292 w +(search) 2487 2292 w +(path) 2857 2292 w +(followed) 3128 2292 w +(by) 3595 2292 w +(a) 3764 2292 w +(list) 3873 2292 w +(of) 4074 2292 w +(currently) 4227 2292 w +(loaded) 4713 2292 w +(source) 970 2412 w +(files.) 1328 2412 w +(The) 1598 2412 w +(source) 1815 2412 w +(management) 2172 2412 w +(functions) 2838 2412 w +10 /LucidaTypewriter f +(src) 3325 2412 w +10 /LucidaSansUnicode00 f +(and) 3576 2412 w +10 /LucidaTypewriter f +(findsrc) 3791 2412 w +10 /LucidaSansUnicode00 f +(use) 4330 2412 w +(the) 4534 2412 w +(search) 4724 2412 w +(path) 970 2532 w +(to) 1234 2532 w +(locate) 1379 2532 w +(and) 1715 2532 w +(load) 1942 2532 w +(source) 2198 2532 w +(files.) 2568 2532 w +(Source) 2850 2532 w +(files) 3223 2532 w +(are) 3473 2532 w +(loaded) 3673 2532 w +(incrementally) 4048 2532 w +(into) 4748 2532 w +(a) 4985 2532 w +(source) 970 2652 w +(data) 1334 2652 w +(base) 1586 2652 w +(during) 1853 2652 w +(debugging.) 2214 2652 w +(A) 2809 2652 w +(list) 2920 2652 w +(of) 3108 2652 w +(loaded) 3248 2652 w +(files) 3617 2652 w +(is) 3861 2652 w +(stored) 3982 2652 w +(in) 4332 2652 w +(the) 4464 2652 w +(variable) 4660 2652 w +10 /LucidaTypewriter f +(srcfiles) 970 2772 w +10 /LucidaSansUnicode00 f +(and the contents of each source file in the variable) 1578 2772 w +10 /LucidaTypewriter f +(srctext) 4071 2772 w +10 /LucidaSansUnicode00 f +(.) 4575 2772 w +10 /LucidaTypewriter f +(acid: source\(\)) 1170 2928 w +(/n/bootes/sys/src/libbio/) 1170 3048 w +(/sys/src/libc/port/) 1170 3168 w +(/sys/src/libc/9sys/) 1170 3288 w +(/sys/src/libc/mips/) 1170 3408 w +(binit.c) 1370 3528 w +({}) 720 3684 w +(spr\(\)) 1008 3684 w +10 /LucidaSansUnicode00 f +(Print special purpose registers) 3565 3684 w +10 /LucidaTypewriter f +(spr) 970 3840 w +10 /LucidaSansUnicode00 f +(prints) 1226 3840 w +(the) 1549 3840 w +(contents) 1745 3840 w +(of) 2203 3840 w +(the) 2342 3840 w +(processor) 2538 3840 w +(control) 3055 3840 w +(and) 3438 3840 w +(memory) 3659 3840 w +(management) 4096 3840 w +(regis\255) 4768 3840 w +(ters.) 970 3960 w +(Where) 1237 3960 w +(possible,) 1588 3960 w +(the) 2072 3960 w +(contents) 2276 3960 w +(of) 2742 3960 w +(the) 2889 3960 w +(registers) 3093 3960 w +(are) 3566 3960 w +(decoded) 3767 3960 w +(to) 4229 3960 w +(provide) 4376 3960 w +(extra) 4790 3960 w +(information;) 970 4080 w +(for) 1613 4080 w +(example) 1796 4080 w +(the) 2253 4080 w +10 /LucidaTypewriter f +(CAUSE) 2452 4080 w +10 /LucidaSansUnicode00 f +(register) 2856 4080 w +(on) 3273 4080 w +(the) 3440 4080 w +(MIPS) 3639 4080 w +(is) 3907 4080 w +(printed) 4031 4080 w +(both) 4426 4080 w +(in) 4693 4080 w +(hex\255) 4828 4080 w +(adecimal and using the) 970 4200 w +10 /LucidaTypewriter f +(reason) 2130 4200 w +10 /LucidaSansUnicode00 f +(function.) 2594 4200 w +10 /LucidaTypewriter f +(acid: spr\(\)) 1170 4356 w +(PC) 1170 4476 w +(0x00001024 main+0x4) 1370 4476 w +(ls.c:48) 2882 4476 w +(SP) 1170 4596 w +(0x7fffef68 LINK) 1370 4596 w +(0x00006264 _main+0x28 main9.s:12) 2570 4596 w +(STATUS) 1170 4716 w +(0x0000ff33 CAUSE) 1770 4716 w +(0x00000024 breakpoint) 2970 4716 w +(TLBVIR) 1170 4836 w +(0x000000d3 BADVADR) 1770 4836 w +(0x00001020) 3170 4836 w +(HI) 1170 4956 w +(0x00000004 LO) 1370 4956 w +(0x00001ff7) 2570 4956 w +({}) 720 5112 w +(src\() 1008 5112 w +10 /LucidaSans-Italic f +(integer) 1296 5112 w +10 /LucidaTypewriter f +(\)) 1640 5112 w +10 /LucidaSansUnicode00 f +(Print lines of source) 4073 5112 w +10 /LucidaTypewriter f +(src) 970 5268 w +10 /LucidaSansUnicode00 f +(interprets) 1237 5268 w +(its) 1761 5268 w +10 /LucidaSans-Italic f +(integer) 1929 5268 w +10 /LucidaSansUnicode00 f +(argument) 2324 5268 w +(as) 2843 5268 w +(a) 3000 5268 w +(text) 3106 5268 w +(address) 3348 5268 w +(and) 3779 5268 w +(uses) 4010 5268 w +(this) 4281 5268 w +(address) 4511 5268 w +(to) 4942 5268 w +(print) 970 5388 w +(5) 1235 5388 w +(lines) 1331 5388 w +(of source before and after the address. The current line is marked with) 1591 5388 w +(a) 970 5508 w +10 /LucidaTypewriter f +(>) 1084 5508 w +10 /LucidaSansUnicode00 f +(character.) 1215 5508 w +10 /LucidaTypewriter f +(src) 1787 5508 w +10 /LucidaSansUnicode00 f +(uses) 2062 5508 w +(the) 2342 5508 w +(source) 2557 5508 w +(search) 2939 5508 w +(path) 3315 5508 w +(maintained) 3592 5508 w +(by) 4193 5508 w 10 /LucidaTypewriter f -(source) 4368 6696 w +(source) 4368 5508 w 10 /LucidaSansUnicode00 f -(and) 4860 6696 w +(and) 4860 5508 w 10 /LucidaTypewriter f -(addsrcdir) 970 6816 w +(addsrcdir) 970 5628 w 10 /LucidaSansUnicode00 f -(to locate the required source files.) 1650 6816 w +(to locate the required source files.) 1650 5628 w cleartomark showpage saveobj restore Binary files /sys/doc/acid.pdf and acid.pdf differ