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-avr</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (AVR Assembler) - Theme (Breeze Dark)"/>
0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre>
0007 <span style="color:#7a7c7d">;********************************************************************</span>
0008 <span style="color:#7a7c7d">;* LED flasher: LED will flash with a X on/off ratio at PD6</span>
0009 <span style="color:#7a7c7d">;*</span>
0010 <span style="color:#7a7c7d">;* </span><span style="color:#81ca2d;background-color:#4d1f24;font-weight:bold">NOTE</span><span style="color:#7a7c7d">: delay depends in the value of X, 1 is fast, 255 is slow</span>
0011 <span style="color:#7a7c7d">;*</span>
0012 <span style="color:#7a7c7d">;* No copyright ©1998 RES® * FREEWARE *</span>
0013 <span style="color:#7a7c7d">;*</span>
0014 <span style="color:#7a7c7d">;* </span><span style="color:#81ca2d;background-color:#4d1f24;font-weight:bold">NOTE</span><span style="color:#7a7c7d">: Connect a low current LED with a 1k resistor in serie from </span>
0015 <span style="color:#7a7c7d">;*   Vdd to pin 11 of the MCU. (Or a normal LED with a 330ohm)</span>
0016 <span style="color:#7a7c7d">;*                                     </span>
0017 <span style="color:#7a7c7d">;* RES® can be reached by email: digitalaudio@mail.com        </span>
0018 <span style="color:#7a7c7d">;* or visit the website: http://home.wanadoo.nl/electro1/avr</span>
0019 <span style="color:#7a7c7d">;*</span>
0020 <span style="color:#7a7c7d">;* Version           :1.0                      </span>
0021 <span style="color:#7a7c7d">;* Date          :12/26/98</span>
0022 <span style="color:#7a7c7d">;* Author        :Rob's ElectroSoft®</span>
0023 <span style="color:#7a7c7d">;* Target MCU        :AT90S1200-12PI@4MHz                      </span>
0024 <span style="color:#7a7c7d">;********************************************************************</span>
0025 
0026 <span style="font-weight:bold">.include</span> <span style="color:#f44f4f">"1200def.inc"</span>
0027 
0028     <span style="color:#fdbc4b;font-weight:bold">rjmp</span>    RESET       <span style="color:#7a7c7d">;reset handle</span>
0029 
0030 
0031 <span style="color:#7a7c7d">;* Long delay </span>
0032 
0033 <span style="color:#7a7c7d">;* Register variables</span>
0034 
0035     <span style="font-weight:bold">.def</span>  T1      <span style="color:#3f8058">=</span> r1
0036     <span style="font-weight:bold">.def</span>  T2      <span style="color:#3f8058">=</span> r2
0037     <span style="font-weight:bold">.def</span>  temp    <span style="color:#3f8058">=</span> r19
0038 
0039 <span style="color:#7a7c7d">;* Code</span>
0040         
0041 <span style="color:#8e44ad">longDelay:</span>      
0042     <span style="font-weight:bold">clr</span>   T1      <span style="color:#7a7c7d">;T1 used as delay 2nd count</span>
0043     <span style="font-weight:bold">clr</span>   T2      <span style="color:#7a7c7d">;T2 used as delay 3d count</span>
0044 <span style="color:#8e44ad">delay_1:</span>    
0045     <span style="font-weight:bold">dec</span>   T2
0046     <span style="color:#fdbc4b;font-weight:bold">brne</span>  delay_1            
0047     <span style="font-weight:bold">dec</span>   T1
0048     <span style="color:#fdbc4b;font-weight:bold">brne</span>  delay_1           
0049     <span style="font-weight:bold">dec</span>   temp        <span style="color:#7a7c7d">;temp must be preset as </span>
0050     <span style="color:#fdbc4b;font-weight:bold">brne</span>  delay_1       <span style="color:#7a7c7d">; delay master count</span>
0051     <span style="color:#fdbc4b;font-weight:bold">ret</span>                     
0052 
0053 
0054 <span style="color:#7a7c7d">;* Resets the data direction register D</span>
0055 
0056 <span style="color:#7a7c7d">;* Defines</span>
0057 
0058     <span style="font-weight:bold">.equ</span>  led   <span style="color:#3f8058">=</span> <span style="color:#f67400">6</span>     <span style="color:#7a7c7d">;LED at PD6</span>
0059 
0060 <span style="color:#7a7c7d">;* Code</span>
0061 
0062 <span style="color:#8e44ad">RESET:</span>
0063     <span style="font-weight:bold">sbi</span>   DDRD<span style="color:#3f8058">,</span> led        <span style="color:#7a7c7d">;connect LED to PORTD pin 6</span>
0064         
0065 
0066 <span style="color:#7a7c7d">;* Main program</span>
0067 
0068 <span style="color:#7a7c7d">;* This part will let the LED go on and off by X</span>
0069 
0070 <span style="color:#7a7c7d">;* Register variables</span>
0071 
0072     <span style="font-weight:bold">.equ</span>  X   <span style="color:#3f8058">=</span>  <span style="color:#f67400">10</span>     <span style="color:#7a7c7d">;enter delaytime X</span>
0073 
0074 <span style="color:#8e44ad">flash:</span> 
0075     <span style="font-weight:bold">sbi</span>   PORTD<span style="color:#3f8058">,</span> led   <span style="color:#7a7c7d">;LED on</span>
0076     <span style="font-weight:bold">ldi</span>   temp<span style="color:#3f8058">,</span> X      <span style="color:#7a7c7d">;X sec delay           </span>
0077     <span style="color:#fdbc4b;font-weight:bold">rcall</span> longDelay             
0078     <span style="font-weight:bold">cbi</span>   PORTD<span style="color:#3f8058">,</span> led   <span style="color:#7a7c7d">;LED off            </span>
0079     <span style="font-weight:bold">ldi</span>   temp<span style="color:#3f8058">,</span> X      <span style="color:#7a7c7d">;X sec delay</span>
0080     <span style="color:#fdbc4b;font-weight:bold">rcall</span> longDelay
0081     <span style="color:#fdbc4b;font-weight:bold">rjmp</span>  flash     <span style="color:#7a7c7d">;another run</span>
0082 
0083 <span style="color:#7a7c7d">/* other </span>
0084 <span style="color:#7a7c7d">tests */</span>
0085 
0086 <span style="font-weight:bold">.org</span> LARGEBOOTSTART
0087 <span style="color:#7a7c7d">; the following sets up RAMPZ:Z to point to a FLASH data object, typically</span>
0088 <span style="color:#7a7c7d">; for use with ELPM.</span>
0089 <span style="font-weight:bold">ldi</span> ZL<span style="color:#3f8058">,</span> <span style="color:#8e44ad">low</span> <span style="color:#3f8058">(</span>cmdtable <span style="color:#3f8058">*</span> <span style="color:#f67400">2</span><span style="color:#3f8058">)</span>
0090 <span style="font-weight:bold">ldi</span> ZH<span style="color:#3f8058">,</span> <span style="color:#8e44ad">high</span> <span style="color:#3f8058">(</span>cmdtable <span style="color:#3f8058">*</span> <span style="color:#f67400">2</span><span style="color:#3f8058">)</span>
0091 <span style="font-weight:bold">.if</span> <span style="color:#3f8058">((</span>cmdtable <span style="color:#3f8058">*</span> <span style="color:#f67400">2</span><span style="color:#3f8058">)</span> <span style="color:#3f8058">></span> <span style="color:#f67400">65535</span><span style="color:#3f8058">)</span>
0092 <span style="font-weight:bold">ldi</span> r16<span style="color:#3f8058">,</span> <span style="color:#f67400">1</span>
0093 <span style="font-weight:bold">sts</span> RAMPZ<span style="color:#3f8058">,</span> r16
0094 <span style="font-weight:bold">.endif</span>
0095 <span style="color:#7a7c7d">; more code follows here</span>
0096 <span style="color:#8e44ad">cmdtable:</span> <span style="font-weight:bold">.db</span> <span style="color:#f44f4f">"foo"</span><span style="color:#3f8058">,</span> <span style="color:#f67400">0x0</span>
0097 <span style="font-weight:bold">.db</span> <span style="color:#f44f4f">"Hello</span><span style="color:#3daee9">\n</span><span style="color:#f44f4f">"</span> <span style="color:#7a7c7d">// is equivalent to:</span>
0098 <span style="font-weight:bold">.db</span> <span style="color:#3daee9">'H'</span><span style="color:#3f8058">,</span> <span style="color:#3daee9">'e'</span><span style="color:#3f8058">,</span> <span style="color:#3daee9">'l'</span><span style="color:#3f8058">,</span> <span style="color:#3daee9">'l'</span><span style="color:#3f8058">,</span> <span style="color:#3daee9">'o'</span><span style="color:#3f8058">,</span> <span style="color:#3daee9">'\\'</span><span style="color:#3f8058">,</span> <span style="color:#3daee9">'n'</span>
0099 <span style="font-weight:bold">.db</span> <span style="color:#3daee9">'\0'</span><span style="color:#3f8058">,</span> <span style="color:#3daee9">'\177'</span><span style="color:#3f8058">,</span> <span style="color:#3daee9">'\xff'</span>
0100 <span style="font-weight:bold">.db</span> <span style="color:#f44f4f">"</span><span style="color:#3daee9">\n</span><span style="color:#f44f4f">x</span><span style="color:#3daee9">\r</span><span style="color:#f44f4f">x</span><span style="color:#3daee9">\a</span><span style="color:#f44f4f">x</span><span style="color:#3daee9">\b</span><span style="color:#f44f4f">x</span><span style="color:#3daee9">\f</span><span style="color:#f44f4f">x</span><span style="color:#3daee9">\t</span><span style="color:#f44f4f">x</span><span style="color:#3daee9">\v</span><span style="color:#f44f4f">x</span><span style="color:#3daee9">\\</span><span style="color:#f44f4f">x</span><span style="color:#3daee9">\000</span><span style="color:#f44f4f">0</span><span style="color:#3daee9">\xff</span><span style="color:#f44f4f">f</span><span style="color:#3daee9">\0\1</span><span style="color:#f44f4f">"</span>
0101 <span style="color:#f67400">0b10_111_</span>2 <span style="color:#f67400">0xaf3_4</span> <span style="color:#f67400">0_12</span> <span style="color:#f67400">32_32</span> <span style="color:#f67400">$32_3</span>
0102 
0103 <span style="font-weight:bold">.macro</span> m
0104 <span style="font-weight:bold">ldi</span> <span style="color:#27aeae">@0</span><span style="color:#3f8058">,</span> <span style="color:#27aeae">@1</span>
0105 <span style="font-weight:bold">.endm</span> m r16<span style="color:#3f8058">,\</span> <span style="color:#f67400">0</span>
0106 
0107 <span style="color:#27ae60">#define</span> <span style="color:#27ae60">TEST</span> <span style="color:#3f8058">\</span>
0108 <span style="font-weight:bold">.IF</span> <span style="color:#27ae60">val</span> <span style="color:#3f8058">\</span>
0109 <span style="font-weight:bold">.DW</span> <span style="color:#27ae60">__TIME__</span> <span style="color:#3f8058">\</span>
0110 <span style="font-weight:bold">.ELSE</span> <span style="color:#3f8058">\</span>
0111 <span style="font-weight:bold">.DW</span> <span style="color:#f67400">1</span> <span style="color:#3f8058">\</span>
0112 <span style="font-weight:bold">.ENDIF</span>
0113 
0114 <span style="color:#27ae60">#</span><span style="color:#da4453;text-decoration:underline">defi</span> <span style="color:#27ae60">TEST</span>
0115 </pre></body></html>