Hi Jory: Here's the brochure on B.LO.C (pronounced "below C"). There's another, prettier version, but it uses non-standard fonts, so here's the simpler one. Content-wise, however, they are identical. The Example document will follow this one. It is also in PostScript form. Sorry about the delay in getting this to you. Regards, Anees Munshi Butterfly Signal Processing Inc. asm@eecg.toronto.edu PS. Please respond to the above address---the one in the header is incorrect. ---------included material starts------------------------------------- %!PS-Adobe-3.0 %%Creator: pscat %%For: kalam:asm (Anees S. Munshi) %%Title: stdin %%CreationDate: Tue Dec 7 08:20:02 1993 %%DocumentNeededResources: font Times-Roman Times-Italic Times-Bold Symbol Times-Roman %%DocumentSuppliedResources: font DIThacks %%Pages: (atend) %%EndComments % Start of pscat.pro -- prolog for troff translator % Copyright (c) 1985,1987 Adobe Systems Incorporated. All Rights Reserved. % GOVERNMENT END USERS: See Notice file in TranScript library directory % -- probably /usr/lib/ps/Notice % RCS: $Header: /disks/hobo/vp6/snichols/rel3.0/transcript/lib/RCS/pscat.pro,v 3.0 1991/06/17 17:08:31 snichols Exp $ save /pscatsave exch def /$pscat 50 dict def $pscat begin /fm [1 0 0 1 0 0] def /xo 0 def /yo 0 def /M /moveto load def /R /show load def /S {exch currentpoint exch pop moveto show}def /T {exch currentpoint pop exch moveto show}def /U {3 1 roll moveto show}def /siz 0 def /font 0 def /Z {/siz exch def SF}def /F {/font exch def SF}def /SF{font 0 ne {catfonts font 1 sub get fm 0 siz put fm 3 siz neg put fm makefont setfont}if}def /BP{save/catsv exch def 0 exch translate 72 432 div dup neg scale xo yo translate 0 0 moveto}def /EP{catsv restore showpage}def % definitions for PPROC callback functions % each PPROC is called with the following number on the stack: % pointsize charcode railmag pswidth pschar x y wid /$pprocs 50 dict def /fractm [.65 0 0 .6 0 0] def % fractions /PS1{gsave $pprocs begin /wid exch def pop pop pop pop pop /ch exch def /size exch def /pair $pprocs ch get def /cf currentfont def cf fractm makefont setfont 0 .3 size mul 6 mul 2 copy neg rmoveto pair 0 get show rmoveto currentfont cf setfont (\244) show setfont pair 1 get show grestore wid .06 div 0 rmoveto end}def $pprocs begin 8#34 [(1)(4)] def 8#36 [(1)(2)] def 8#46 [(3)(4)] def end %%BeginResource: font DIThacks % DIThacks fonts for some special chars 50 dict dup begin /FontType 3 def /FontName /DIThacks def /FontMatrix [.001 0.0 0.0 .001 0.0 0.0] def /FontBBox [-220 -280 900 900] def% a lie but ... /Encoding 256 array def 0 1 255{Encoding exch /.notdef put}for Encoding dup 8#040/space put %space dup 8#110/rc put %right ceil dup 8#111/lt put %left top curl dup 8#112/bv put %bold vert dup 8#113/lk put %left mid curl dup 8#114/lb put %left bot curl dup 8#115/rt put %right top curl dup 8#116/rk put %right mid curl dup 8#117/rb put %right bot curl dup 8#120/rf put %right floor dup 8#121/lf put %left floor dup 8#122/lc put %left ceil dup 8#140/sq put %square dup 8#141/bx put %box dup 8#142/ci put %circle dup 8#143/br put %box rule dup 8#144/rn put %root extender dup 8#145/vr put %vertical rule dup 8#146/ob put %outline bullet dup 8#147/bu put %bullet dup 8#150/ru put %rule dup 8#151/ul put %underline pop /DITfd 100 dict def /BuildChar{0 begin /cc exch def /fd exch def /charname fd /Encoding get cc get def /charwid fd /Metrics get charname get def /charproc fd /CharProcs get charname get def charwid 0 fd /FontBBox get aload pop setcachedevice 40 setlinewidth newpath 0 0 moveto gsave charproc grestore end}def /BuildChar load 0 DITfd put %/UniqueID 5 def /CharProcs 50 dict def CharProcs begin /space{}def /.notdef{}def /ru{500 0 rls}def /rn{0 750 moveto 500 0 rls}def /vr{20 800 moveto 0 -770 rls}def /bv{20 800 moveto 0 -1000 rls}def /br{20 770 moveto 0 -1040 rls}def /ul{0 -250 moveto 500 0 rls}def /ob{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath stroke}def /bu{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath fill}def /sq{80 0 rmoveto currentpoint dround newpath moveto 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath stroke}def /bx{80 0 rmoveto currentpoint dround newpath moveto 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath fill}def /ci{355 333 rmoveto currentpoint newpath 333 0 360 arc 50 setlinewidth stroke}def /lt{20 -200 moveto 0 550 rlineto currx 800 2cx s4 add exch s4 a4p stroke}def /lb{20 800 moveto 0 -550 rlineto currx -200 2cx s4 add exch s4 a4p stroke}def /rt{20 -200 moveto 0 550 rlineto currx 800 2cx s4 sub exch s4 a4p stroke}def /rb{20 800 moveto 0 -500 rlineto currx -200 2cx s4 sub exch s4 a4p stroke}def /lk{20 800 moveto 20 300 -280 300 s4 arcto pop pop 1000 sub currentpoint stroke moveto 20 300 4 2 roll s4 a4p 20 -200 lineto stroke}def /rk{20 800 moveto 20 300 320 300 s4 arcto pop pop 1000 sub currentpoint stroke moveto 20 300 4 2 roll s4 a4p 20 -200 lineto stroke}def /lf{20 800 moveto 0 -1000 rlineto s4 0 rls}def /rf{20 800 moveto 0 -1000 rlineto s4 neg 0 rls}def /lc{20 -200 moveto 0 1000 rlineto s4 0 rls}def /rc{20 -200 moveto 0 1000 rlineto s4 neg 0 rls}def end /Metrics 50 dict def Metrics begin /.notdef 0 def /space 500 def /ru 500 def /br 0 def /lt 250 def /lb 250 def /rt 250 def /rb 250 def /lk 250 def /rk 250 def /rc 250 def /lc 250 def /rf 250 def /lf 250 def /bv 250 def /ob 350 def /bu 350 def /ci 750 def /bx 750 def /sq 750 def /rn 500 def /ul 500 def /vr 0 def end DITfd begin /s2 500 def /s4 250 def /s3 333 def /a4p{arcto pop pop pop pop}def /2cx{2 copy exch}def /rls{rlineto stroke}def /currx{currentpoint pop}def /dround{transform round exch round exch itransform} def end end /DIThacks exch definefont pop %%EndResource %%EndProlog %%BeginSetup /catfonts [ %%IncludeResource: font Times-Roman /Times-Roman findfont %%IncludeResource: font Times-Italic /Times-Italic findfont %%IncludeResource: font Times-Bold /Times-Bold findfont %%IncludeResource: font Symbol /Symbol findfont /Times-Roman findfont /DIThacks findfont ] def %%IncludeFeature: *PageSize Letter %%EndSetup %%Page: ? 1 792.000 BP 3 F 108 Z 1341 510(Announcement:)U 2568 654(s)U 1 F 60 Z 432 819(I)U 3 F 108 Z 846 654(A)U 960(Compiler)S 1434(for)S 1608(PIC)S 1830(Microcontroller)S 1 F 60 Z 452 819(ntroducing)U 742(B.LO.C)S 961(\(pronounced)S 5 F 1294(")S 1 F (below)R 1495(C)S 5 F (")R 1 F (\),)R 1624(a)S 1680(C-like)S 1860(high)S 1996(level)S 2143(language)S 2390(and)S 2506(compiler)S 2749(speci\256cally)S 3001 888(s)U 432 957(a)U 432 888(designed)U 669(for)S 762(impleme)S 974(nting)S 1120(time-cri)S 1312(tical)S 1439(code)S 1575(in)S 1644(an)S 1723(ef\256cient)S 1943(manner)S 2146(on)S 2228(resource-scarce)S 2625(microcontrol)S 2937(ler)S 459 957(nd)U 539(digital)S 714(signal)S 878(processors.)S 432 1050(B)U (.LO.C)R 653(has)S 764(a)S 822(very)S 959(C-like)S 1140(syntax)S 1327(\(mostly)S 1541(stripped-down)S 1918(C\))S 2008(which)S 2185(makes)S 2369(learning)S 2597(B.LO.C)S 2817(easy)S 2954(for)S 432 1188(f)U 432 1119(those)U 582(who)S 708(are)S 805(already)S 1006(familia)S 1178(r)S 1221(with)S 1350(the)S 1446(C)S 1508(programming)S 1858(language.)S 2113(This)S 2242(also)S 2361(makes)S 2537(it)S 2593(easy)S 2722(to)S 2791(port)S 2910(code)S 452 1188(rom)U 569(a)S 616(proof-of-concept)S 1044(C-simulation)S 1379(to)S 1446(the)S 1540(target)S 1698(microcontrol)S 2010(ler)S 2094(for)S 2184(real-tim)S 2376(e)S 2423(execution.)S 432 1281(Salient)U 620(features)S 831(of)S 901(B.LO.C:)S 6 F 462 1374(g)U 1 F 514(C-like)S 685(syntax)S 6 F 462 1443(g)U 1 F 514(Locally)S 719(optimal)S 924(code)S 1058(generation)S 6 F 462 1581(g)U 462 1512(g)U 1 F 514(Superfast,)S 776(one-pass)S 1006(compilat)S 1218(ion)S 514 1581(Zero)U 648(stack)S 792(and)S 899(memory)S 1120(space)S 1274(used)S 6 F 462 1719(g)U 462 1650(g)U 1 F 514(Regular)S 725(and)S 832(Inline)S 993(functions)S 514 1719(Fully)U 661(annotated,)S 931(easy-to-read)S 1249(assembly)S 1493(code)S 1627(produced)S 1871(to)S 1938(facilit)S 2080(ate)S 2171(simulation.)S 6 F 462 1857(g)U 462 1788(g)U 1 F 514(Assembler)S 791(and)S 898(B.LO.C)S 1108(routines)S 1322(can)S 1426(call)S 1534(each)S 1665(other)S 514 1857(Inline)U 675(assembly)S 919(inclusion)S 6 F 462 1926(g)U 1 F 514(B.LO.C)S 730(is)S 796(a)S 848(mature)S 1041(product)S 1250(that)S 1366(has)S 1471(been)S 1610(used)S 1745(in)S 1817(a)S 1869(large)S 2015(ngineering)S 2298(project.)S 2506(In)S 2581(the)S 2680(process)S 2885(it)S 2944(has)S 432 2088(B)U 514 1995(been)U 648(extensively)S 943(revised)S 1137(and)S 1244(tested)S 5 F 1405(")S 1 F (in-\256eld)R 5 F (")R 1 F (.)R 472 2088(.LO.C)U 648(is)S 714(availabl)S 906(e)S 958(immedia)S 1170(tely)S 1286(for)S 1381(the)S 1480(PIC16CXX)S 1784(family.)S 2002(An)S 2100(immedia)S 2312(te)S 2381(release)S 2574(is)S 2639(planned)S 2855(for)S 2950(the)S 432 2250(B)U 432 2157(PIC17CXX)U 731(family)S 909(and,)S 1031(following)S 1285(that,)S 1411(for)S 1501(other)S 1645(microcontrol)S 1957(lers)S 2064(and)S 2171(digital)S 2346(signal)S 2510(processors.)S 472 2250(.LO.C/16CXX)U 850(is)S 915(availabl)S 1107(e)S 1159(for)S 1253(i386)S 1384(and)S 1495(newer)S 1666(machines)S 1918(running)S 2129(MSDOS,)S 2373(SunOS)S 2566(Release)S 2778(4.1.1,)S 2937(and)S 432 2412(B)U 432 2319(NeXTSTEP)U 742(3.0.)S 472 2412(.LO.C)U 642(is)S 702(attract)S 854(ively)S 995(priced,)S 1181(and)S 1288(there)S 1429(is)S 1489(an)S 1566(introductory)S 1884(discount)S 2108(in)S 2175(effect)S 2333(for)S 2423(the)S 2517(\256rst)S 2630(50)S 2710(units)S 2847(sold.)S 432 2598(F)U 432 2505(Site)U 546(licensing)S 784(availabl)S 976(e,)S 1038(as)S 1108(well)S 1232(as)S 1302(support)S 1502(and)S 1609(upgrade)S 1823(plans.)S 465 2598(or)U 535(further)S 719(information,)S 1039(please)S 1210(contact)S 1405(Butter\257y)S 1639(Signal)S 1813(Processing)S 2093(Inc.)S 432 2736(F)U 432 2667(Tel:)U 550(\(416\))S 700(929-5754)S 950(\(9AM-6PM)S 1252(EST/EDT\))S 465 2736(ax:)U 559(\(416\))S 709(929-5744)S 432 2805(I)U (nternet)R 640(email:)S 812(asm)S 5 F (@)R 1 F (eecg.toront)R 1234(o.edu.)S 1991 2874(.)U 432 2967(B)U 432 2874(Microchip)U 703(BBS:)S 853(butter\257y)S 1077(\(*email*)S 1312(will)S 1426(be)S 1503(answered)S 1750(promptly\))S 472 2967(utter\257y)U 670(Signal)S 847(Processing)S 1130(Inc.)S 1245(is)S 1308(a)S 1358(Toronto,)S 1590(Ontario)S 1797(based)S 1957(design/consulting)S 2405(engineering)S 2713(\256rm)S 2836(special-)S 432 3105(t)U 432 3036(izing)U 578(in)S 650(digital)S 830(signal)S 999(processing)S 1280(hardware,)S 1543(software)S 1774(and)S 1885(algorithm)S 2144(design.)S 2340(Butter\257y)S 2578(also)S 2699(manufacture)S 3001(s)S 449 3105(he)U 526(line)S 637(of)S 707(SmartSpeaker\(TM\))S 1195(brand)S 1352(of)S 1422(professional)S 1736(PA)S 1832(equipment.)S 432 3198(Doc)U 4 F (#)R 1 F (:)R 599(BLOC-19311/me)S EP %%Trailer pscatsave end restore %%Pages: 1