Perform the carry save operation of MPCAND10 and MPLIER14 Re
Perform the carry save operation of MPCAND=-10 and MPLIER=-14. Recall that the carry save operation makes use if the arithmetic shift.
Solution
%!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
