File indexing completed on 2024-05-12 04:02:06

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>highlight.asm-picsrc</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (PicAsm) - Theme (Breeze Dark)"/>
0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre>
0007                 <span style="color:#7a7c7d">; Blank line</span>
0008 <span style="color:#8e44ad">loop</span>  <span style="font-weight:bold">sleep</span>     <span style="color:#7a7c7d">; Label and operation</span>
0009       <span style="font-weight:bold">incf</span> <span style="color:#f67400">6</span><span style="color:#3f8058">,</span><span style="color:#f67400">1</span>  <span style="color:#7a7c7d">; Operation with 2 parameters</span>
0010       <span style="color:#fdbc4b;font-weight:bold">goto</span> loop <span style="color:#7a7c7d">; Operation with 1 parameter</span>
0011 
0012 <span style="color:#27ae60">#define</span> X Y
0013 <span style="color:#27ae60">#</span><span style="color:#da4453;text-decoration:underline">defin</span> <span style="color:#7a7c7d">; incomplete</span>
0014 <span style="color:#27ae60">#undefine</span> X
0015 
0016 <span style="color:#8e44ad">number</span> <span style="color:#27ae60">equ</span> <span style="color:#f67400">5</span>
0017 
0018 <span style="color:#8e44ad">label_</span><span style="color:#3daee9">#v</span><span style="color:#3f8058">((</span>number <span style="color:#3f8058">+</span> <span style="color:#f67400">1</span><span style="color:#3f8058">)</span> <span style="color:#3f8058">*</span> <span style="color:#f67400">5</span><span style="color:#3f8058">)</span><span style="color:#8e44ad">_suffix</span> <span style="color:#27ae60">equ</span> <span style="color:#f67400">0x</span><span style="color:#f67400">10</span>
0019 
0020 <span style="color:#27ae60">db</span> <span style="color:#f67400">.</span><span style="color:#f67400">34</span><span style="color:#3f8058">,</span><span style="color:#f67400">O'</span><span style="color:#f67400">35</span><span style="color:#f67400">'</span><span style="color:#3f8058">,</span><span style="color:#f67400">O'</span><span style="color:#da4453;text-decoration:underline">9</span>3'<span style="color:#3f8058">,</span><span style="color:#f67400">0x</span><span style="color:#f67400">Af</span><span style="color:#3f8058">,</span><span style="color:#f67400">0x</span><span style="color:#f67400">ad</span><span style="color:#da4453;text-decoration:underline">y</span><span style="color:#3f8058">,</span><span style="color:#3daee9">a'a'</span><span style="color:#3f8058">,</span><span style="color:#3daee9">a'a</span><span style="color:#da4453;text-decoration:underline">p</span><span style="color:#3f8058">,</span><span style="color:#3daee9">A'\'</span>
0021 
0022 <span style="color:#8e44ad">any</span>   <span style="color:#27ae60">macro</span> parm
0023       <span style="font-weight:bold">movlw</span> parm
0024       <span style="color:#27ae60">endm</span>
0025       any <span style="color:#f67400">33</span>
0026 
0027 <span style="color:#7a7c7d">; Shift reg left</span>
0028 <span style="color:#8e44ad">slf</span>   <span style="color:#27ae60">macro</span> reg
0029       <span style="color:#000000;font-weight:bold;font-style:italic">clrc</span>
0030       <span style="font-weight:bold">rlf</span>   reg<span style="color:#3f8058">,</span>f
0031 <span style="color:#27ae60">endm</span>
0032 
0033 <span style="color:#7a7c7d">; Scale W by “factor”. Result in “reg”, W unchanged.</span>
0034 <span style="color:#8e44ad">scale</span> <span style="color:#27ae60">macro</span> reg<span style="color:#3f8058">,</span> factor
0035       <span style="color:#27ae60">if</span> <span style="color:#3f8058">(</span>factor <span style="color:#3f8058">==</span> <span style="color:#f67400">1</span><span style="color:#3f8058">)</span>
0036           <span style="font-weight:bold">movwf</span> reg                <span style="color:#7a7c7d">; 1 X is easy</span>
0037       <span style="color:#27ae60">else</span>
0038           scale reg<span style="color:#3f8058">,</span> <span style="color:#3f8058">(</span>factor <span style="color:#3f8058">/</span> <span style="color:#f67400">2</span><span style="color:#3f8058">)</span>  <span style="color:#7a7c7d">; W * (factor / 2)</span>
0039           slf   reg<span style="color:#3f8058">,</span>f              <span style="color:#7a7c7d">; double reg</span>
0040           <span style="color:#27ae60">if</span> <span style="color:#3f8058">((</span>factor <span style="color:#3f8058">&amp;</span> <span style="color:#f67400">1</span><span style="color:#3f8058">)</span> <span style="color:#3f8058">==</span> <span style="color:#f67400">1</span><span style="color:#3f8058">)</span>   <span style="color:#7a7c7d">; if lo-bit set ..</span>
0041               <span style="font-weight:bold">addwf</span> reg<span style="color:#3f8058">,</span>f          <span style="color:#7a7c7d">; .. add W to reg</span>
0042           <span style="color:#27ae60">endif</span>
0043       <span style="color:#27ae60">endif</span>
0044 <span style="color:#27ae60">endm</span>
0045 
0046       scale tmp<span style="color:#3f8058">,</span><span style="color:#f67400">D'</span><span style="color:#f67400">10</span><span style="color:#f67400">'</span>
0047 
0048       <span style="font-weight:bold">movwf</span>  tmp
0049       <span style="color:#000000;font-weight:bold;font-style:italic">clrc</span>
0050       <span style="font-weight:bold">rlf</span>    tmp<span style="color:#3f8058">,</span>f
0051       <span style="font-weight:bold">addwf</span>  tmp<span style="color:#3f8058">,</span>f
0052 
0053 <span style="color:#8e44ad">spin</span>  <span style="color:#27ae60">macro</span>  n
0054       <span style="font-weight:bold">movlw</span>  n
0055       <span style="font-weight:bold">addlw</span>  <span style="color:#f67400">0x</span><span style="color:#f67400">ff</span>
0056       <span style="font-weight:bold">btfss</span>  STATUS<span style="color:#3f8058">,</span>Z
0057       <span style="color:#fdbc4b;font-weight:bold">goto</span>   $<span style="color:#3f8058">-</span><span style="color:#f67400">2</span>
0058 <span style="color:#27ae60">endm</span>
0059 
0060 <span style="color:#8e44ad">LOOP</span><span style="color:#3f8058">:</span> <span style="font-weight:bold">BTFSS</span> flag<span style="color:#3f8058">,</span><span style="color:#f67400">0x</span><span style="color:#f67400">00</span>
0061       <span style="color:#fdbc4b;font-weight:bold">GOTO</span> LOOP
0062 
0063       
0064       <span style="font-weight:bold">BTFSS</span> flag<span style="color:#3f8058">,</span><span style="color:#f67400">0x</span><span style="color:#f67400">00</span>
0065       <span style="color:#fdbc4b;font-weight:bold">GOTO</span> $ <span style="color:#3f8058">-</span> <span style="color:#f67400">1</span>
0066 
0067 </pre></body></html>