File indexing completed on 2024-05-19 15:23:13
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 Light)"/> 0006 </head><body style="background-color:#ffffff;color:#1f1c1b"><pre> 0007 <span style="color:#898887;">; Blank line</span> 0008 <span style="color:#644a9b;">loop</span> <span style="font-weight:bold;">sleep</span> <span style="color:#898887;">; Label and operation</span> 0009 <span style="font-weight:bold;">incf</span> <span style="color:#b08000;">6</span><span style="color:#ca60ca;">,</span><span style="color:#b08000;">1</span> <span style="color:#898887;">; Operation with 2 parameters</span> 0010 <span style="font-weight:bold;">goto</span> loop <span style="color:#898887;">; Operation with 1 parameter</span> 0011 0012 <span style="color:#006e28;">#define</span> X Y 0013 <span style="color:#006e28;">#</span><span style="color:#bf0303;text-decoration:underline;">defin</span> <span style="color:#898887;">; incomplete</span> 0014 <span style="color:#006e28;">#undefine</span> X 0015 0016 <span style="color:#644a9b;">number</span> <span style="color:#006e28;">equ</span> <span style="color:#b08000;">5</span> 0017 0018 <span style="color:#644a9b;">label_</span><span style="color:#924c9d;">#v</span><span style="color:#ca60ca;">((</span>number <span style="color:#ca60ca;">+</span> <span style="color:#b08000;">1</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">*</span> <span style="color:#b08000;">5</span><span style="color:#ca60ca;">)</span><span style="color:#644a9b;">_suffix</span> <span style="color:#006e28;">equ</span> <span style="color:#b08000;">0x</span><span style="color:#b08000;">10</span> 0019 0020 <span style="color:#006e28;">db</span> <span style="color:#b08000;">.</span><span style="color:#b08000;">34</span><span style="color:#ca60ca;">,</span><span style="color:#b08000;">O'</span><span style="color:#b08000;">35</span><span style="color:#b08000;">'</span><span style="color:#ca60ca;">,</span><span style="color:#b08000;">O'</span><span style="color:#bf0303;text-decoration:underline;">9</span>3'<span style="color:#ca60ca;">,</span><span style="color:#b08000;">0x</span><span style="color:#b08000;">Af</span><span style="color:#ca60ca;">,</span><span style="color:#b08000;">0x</span><span style="color:#b08000;">ad</span><span style="color:#bf0303;text-decoration:underline;">y</span><span style="color:#ca60ca;">,</span><span style="color:#924c9d;">a'a'</span><span style="color:#ca60ca;">,</span><span style="color:#924c9d;">a'a</span><span style="color:#bf0303;text-decoration:underline;">p</span><span style="color:#ca60ca;">,</span><span style="color:#924c9d;">A'\'</span> 0021 0022 <span style="color:#644a9b;">any</span> <span style="color:#006e28;">macro</span> parm 0023 <span style="font-weight:bold;">movlw</span> parm 0024 <span style="color:#006e28;">endm</span> 0025 any <span style="color:#b08000;">33</span> 0026 0027 <span style="color:#898887;">; Shift reg left</span> 0028 <span style="color:#644a9b;">slf</span> <span style="color:#006e28;">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:#ca60ca;">,</span>f 0031 <span style="color:#006e28;">endm</span> 0032 0033 <span style="color:#898887;">; Scale W by “factor”. Result in “reg”, W unchanged.</span> 0034 <span style="color:#644a9b;">scale</span> <span style="color:#006e28;">macro</span> reg<span style="color:#ca60ca;">,</span> factor 0035 <span style="color:#006e28;">if</span> <span style="color:#ca60ca;">(</span>factor <span style="color:#ca60ca;">==</span> <span style="color:#b08000;">1</span><span style="color:#ca60ca;">)</span> 0036 <span style="font-weight:bold;">movwf</span> reg <span style="color:#898887;">; 1 X is easy</span> 0037 <span style="color:#006e28;">else</span> 0038 scale reg<span style="color:#ca60ca;">,</span> <span style="color:#ca60ca;">(</span>factor <span style="color:#ca60ca;">/</span> <span style="color:#b08000;">2</span><span style="color:#ca60ca;">)</span> <span style="color:#898887;">; W * (factor / 2)</span> 0039 slf reg<span style="color:#ca60ca;">,</span>f <span style="color:#898887;">; double reg</span> 0040 <span style="color:#006e28;">if</span> <span style="color:#ca60ca;">((</span>factor <span style="color:#ca60ca;">&</span> <span style="color:#b08000;">1</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">==</span> <span style="color:#b08000;">1</span><span style="color:#ca60ca;">)</span> <span style="color:#898887;">; if lo-bit set ..</span> 0041 <span style="font-weight:bold;">addwf</span> reg<span style="color:#ca60ca;">,</span>f <span style="color:#898887;">; .. add W to reg</span> 0042 <span style="color:#006e28;">endif</span> 0043 <span style="color:#006e28;">endif</span> 0044 <span style="color:#006e28;">endm</span> 0045 0046 scale tmp<span style="color:#ca60ca;">,</span><span style="color:#b08000;">D'</span><span style="color:#b08000;">10</span><span style="color:#b08000;">'</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:#ca60ca;">,</span>f 0051 <span style="font-weight:bold;">addwf</span> tmp<span style="color:#ca60ca;">,</span>f 0052 0053 <span style="color:#644a9b;">spin</span> <span style="color:#006e28;">macro</span> n 0054 <span style="font-weight:bold;">movlw</span> n 0055 <span style="font-weight:bold;">addlw</span> <span style="color:#b08000;">0x</span><span style="color:#b08000;">ff</span> 0056 <span style="font-weight:bold;">btfss</span> STATUS<span style="color:#ca60ca;">,</span>Z 0057 <span style="font-weight:bold;">goto</span> $<span style="color:#ca60ca;">-</span><span style="color:#b08000;">2</span> 0058 <span style="color:#006e28;">endm</span> 0059 0060 <span style="color:#644a9b;">LOOP</span><span style="color:#ca60ca;">:</span> <span style="font-weight:bold;">BTFSS</span> flag<span style="color:#ca60ca;">,</span><span style="color:#b08000;">0x</span><span style="color:#b08000;">00</span> 0061 <span style="font-weight:bold;">GOTO</span> LOOP 0062 0063 0064 <span style="font-weight:bold;">BTFSS</span> flag<span style="color:#ca60ca;">,</span><span style="color:#b08000;">0x</span><span style="color:#b08000;">00</span> 0065 <span style="font-weight:bold;">GOTO</span> $ <span style="color:#ca60ca;">-</span> <span style="color:#b08000;">1</span> 0066 0067 </pre></body></html>