<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.mcselec.com/bavr/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=%24LIB%2Fde</id>
		<title>$LIB/de - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=%24LIB%2Fde"/>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=$LIB/de&amp;action=history"/>
		<updated>2026-04-05T16:48:23Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.18.6</generator>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=$LIB/de&amp;diff=1962&amp;oldid=prev</id>
		<title>Admin: 1 revision</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=$LIB/de&amp;diff=1962&amp;oldid=prev"/>
				<updated>2013-02-15T19:07:05Z</updated>
		
		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:07, 15 February 2013&lt;/td&gt;
		&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=$LIB/de&amp;diff=1961&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;= &lt;span class=&quot;f_Header&quot;&gt;Action&lt;/span&gt; =  Informs the compiler about the used libraries.  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;n...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=$LIB/de&amp;diff=1961&amp;oldid=prev"/>
				<updated>2013-02-06T20:12:13Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =  Informs the compiler about the used libraries.  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;n...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== (**COPIED FROM ENGLISH PAGE**) === &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Informs the compiler about the used libraries.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;$LIB&amp;lt;/span&amp;gt;&amp;amp;nbsp;&amp;quot;libname1&amp;quot; [, &amp;quot;libname2&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Libname1 is the name of the library that holds ASM routines that are used by your program. More filenames can be specified by separating the names by a comma.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The specified libraries will be searched when you specify the routines to use with the $EXTERNAL directive.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The search order is the same as the order you specify the library names.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The MCS.LBX will be searched last and is always included so you don't need to specify it with the $LIB directive.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because the MCS.LBX is searched last you can include duplicate routines in your own library. These routines will be used instead of the ones from the default MCS.LBX library. This is a good way when you want to enhance the MCS.LBX routines. Just copy the MCS.LIB to a new file and make the changes in this new file. When we make changes to the library your changes will be preserved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Creating your own LIB file&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A library file is a simple ASCII file. It can be created with the BASCOM editor, notepad or any other ASCII editor.&lt;br /&gt;
&lt;br /&gt;
When you use BASCOM, make sure that the LIB extension is added to the Options, Environment, Editor, &amp;quot;No reformat extension&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This will prevent the editor to reformat the LIB file when you open it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file must include the following header information. It is not used yet but will be later.&lt;br /&gt;
&lt;br /&gt;
copyright = Your name&lt;br /&gt;
&lt;br /&gt;
www = optional location where people can find the latest source&lt;br /&gt;
&lt;br /&gt;
email = your email address&lt;br /&gt;
&lt;br /&gt;
comment = AVR compiler library&lt;br /&gt;
&lt;br /&gt;
libversion = the version of the library in the format&amp;amp;nbsp;: 1.00&lt;br /&gt;
&lt;br /&gt;
date = date of last modification&lt;br /&gt;
&lt;br /&gt;
statement = A statement with copyright and usage information&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The routine must start with the name in brackets and must end with the [END].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following ASM routine example is from the MYLIB.LIB library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[test]&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
&lt;br /&gt;
ldd r26,y+2&amp;amp;nbsp;; load address of X&lt;br /&gt;
&lt;br /&gt;
ldd r27,y+3&lt;br /&gt;
&lt;br /&gt;
ld r24,x&amp;amp;nbsp;; get value into r24&lt;br /&gt;
&lt;br /&gt;
Inc r24&amp;amp;nbsp;; value + 1&lt;br /&gt;
&lt;br /&gt;
St x,r24&amp;amp;nbsp;; put back&lt;br /&gt;
&lt;br /&gt;
ldd r26,y+0&amp;amp;nbsp;; address of Y&lt;br /&gt;
&lt;br /&gt;
ldd r27,y+1&lt;br /&gt;
&lt;br /&gt;
st x,r24&amp;amp;nbsp;; store&lt;br /&gt;
&lt;br /&gt;
ret&amp;amp;nbsp;; ready&lt;br /&gt;
&lt;br /&gt;
[END]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have saved your library in the&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;LIB&amp;lt;/span&amp;gt;&amp;amp;nbsp;subdirectory you must compile it with the&amp;amp;nbsp;[[Tools LIB Manager|LIB Manager]]. Or you can include it with the LIB extension in which case you don’t have to compile it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;About the assembler.&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
When you reference constants that are declared in your basic program you need to put a star(*) before the line.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'basic program&lt;br /&gt;
&lt;br /&gt;
CONST myconst = 7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'asm lib&lt;br /&gt;
&lt;br /&gt;
*sbi portb, myconst&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By adding the *, the line will be compiled when the basic program is compiled. It will not be changed into object code in the LBX file.&lt;br /&gt;
&lt;br /&gt;
When you use constants you need to use valid BASIC constants:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ldi r24,12&lt;br /&gt;
&lt;br /&gt;
Ldi r24, 1+1&lt;br /&gt;
&lt;br /&gt;
Ldi r24, &amp;amp;B001&lt;br /&gt;
&lt;br /&gt;
Ldi r24,0b001&lt;br /&gt;
&lt;br /&gt;
Ldi r24,&amp;amp;HFF&lt;br /&gt;
&lt;br /&gt;
Ldi r24,$FF&lt;br /&gt;
&lt;br /&gt;
Ldi r24,0xFF&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other syntax is NOT supported.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[$EXTERNAL]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot;&lt;br /&gt;
$crystal = 4000000&lt;br /&gt;
$baud = 19200&lt;br /&gt;
Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'In order to let this work you must put the mylib.lib file in the LIB dir&lt;br /&gt;
'And compile it to a LBX&lt;br /&gt;
'-------------------------------------------------------------------------&lt;br /&gt;
'define the used library&lt;br /&gt;
$lib&amp;quot;mylib.lbx&amp;quot;&lt;br /&gt;
'you can also use the original ASM :&lt;br /&gt;
'$LIB &amp;quot;mylib.LIB&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
'also define the used routines&lt;br /&gt;
$external Test&lt;br /&gt;
 &lt;br /&gt;
'this is needed so the parameters will be placed correct on the stack&lt;br /&gt;
Declare Sub Test(byval X Asbyte , Y Asbyte)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'reserve some space&lt;br /&gt;
Dim Z As Byte&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
'call our own sub routine&lt;br /&gt;
Call Test(1 , Z)&lt;br /&gt;
 &lt;br /&gt;
'z will be 2 in the used example&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM_Language_Reference/de]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>