Changes compared to BASCOM-8051/de

From MCS Wiki AVR
< Changes compared to BASCOM-8051(Difference between revisions)
Jump to: navigation, search
m (1 revision)
 
Line 1: Line 1:
== (**COPIED FROM ENGLISH PAGE**) ==The design goal was to make BASCOM-AVR compatible with BASCOM-8051.
+
Ziel bei der Entwicklung von BASCOM-AVR war eine Kompatibilität mit BASCOM-8051.
  
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
For the AVR compiler some statements had to be removed.
+
Beim AVR Compiler mussten einige Befehle entfernt werden.
 
+
Neue Befehle wurden hinzugefügt. Einige Befehle wurden modifiziert.
New statements were also added. And some statements were changed.
+
  
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
They need specific attention, but the changes to the syntax will be made available to BASCOM-8051 too in the future.
+
Die Änderungen müssen beachtet werden - werden nach und nach auch in BASCOM-8051 umgesetzt werden.
  
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
Line 15: Line 14:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
Statements that were removed
+
Befehle, die entfernt wurden
 
<div style="padding: 0px; margin: 0px 0px 0px 4px;">
 
<div style="padding: 0px; margin: 0px 0px 0px 4px;">
 
{| width="627" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;"
 
{| width="627" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;"
Line 30: Line 29:
  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
Not needed anymore.
+
Wird nicht mehr benötigt.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 37: Line 36:
  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
Code always starts at address 0 for the AVR. Added again in 1.11.6.2
+
Code startet immer an Adresse 0. Wieder hinzugefügt in 1.11.6.2
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 44: Line 43:
  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
Use LCD Hex(var) instead.
+
Benutzen Sie LCD Hex(var) stattdessen.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 51: Line 50:
  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
Not needed anymore. Added in 1.11.6.2
+
Wird nicht mehr benötigt. Hinzugefügt bei Version 1.11.6.2
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 58: Line 57:
  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
Not needed anymore
+
Wird nicht mehr benötigt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 65: Line 64:
  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
Can't be used anymore because there is no object code that can be used for it.
+
Kann nicht mehr benutzt werden weil es keinen Objekt Code gibt der dafür benutzt werden könnte.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 72: Line 71:
  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
Removed.
+
Entfernt.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 79: Line 78:
  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
Can't be used anymore because there is no object code that can be used for it.
+
Kann nicht mehr benutzt werden weil es keinen Objekt Code gibt der dafür benutzt werden könnte.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 86: Line 85:
  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
AVR does no allow setting priority of interrupts
+
AVR erlaubt nicht das Setzen von Interrupt-Prioritäten.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 93: Line 92:
  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
You can use Print Hex(var) now
+
Sie können jetzt Print Hex(var) benutzen
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 100: Line 99:
  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 509px; border: 1px solid rgb(0, 0, 0);" |  
You can use Lcd Hex(var) now
+
Sie können jetzt Lcd Hex(var) benutzen
  
 
|}
 
|}
Line 108: Line 107:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
Statements that were added
+
Neue Befehle
 
<div style="padding: 0px; margin: 0px 0px 0px 4px;">
 
<div style="padding: 0px; margin: 0px 0px 0px 4px;">
 
{| width="627" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;"
 
{| width="627" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;"
Line 123: Line 122:
  
 
| valign="top" width="100%" style="width: 459px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 459px; border: 1px solid rgb(0, 0, 0);" |  
You can define your own user FUNCTIONS.
+
Sie können Ihre eigenen Benutzer-FUNCTIONS definieren.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 130: Line 129:
  
 
| valign="top" width="100%" style="width: 459px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 459px; border: 1px solid rgb(0, 0, 0);" |  
You can have LOCAL variables in SUB routines or FUNCTIONS.
+
Sie können LOCAL Variablen in SUB Routinen oder FUNCTIONS benutzen.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 137: Line 136:
  
 
| valign="top" width="100%" style="width: 459px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 459px; border: 1px solid rgb(0, 0, 0);" |  
New math statement. Var = 2 ^ 3 will return 2*2*2
+
Neuer mathematischer Operator. Var = 2 ^ 3 ergibt 2*2*2
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 144: Line 143:
  
 
| valign="top" width="100%" style="width: 459px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 459px; border: 1px solid rgb(0, 0, 0);" |  
Because ROTATE was changed, I added the SHIFT statement. SHIFT works just like ROTATE, but when shifted left, the LS BIT is cleared and the carry doesn't go to the LS BIT.
+
Weil ROTATE geändert wurde ist SHIT hinzugefügt worden. SHIFT arbeitet wie ROTATE aber hinausgeschobene Bits gehen verloren und Nullen werden hineingeschoben.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 151: Line 150:
  
 
| valign="top" width="100%" style="width: 459px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 459px; border: 1px solid rgb(0, 0, 0);" |  
LTRIM, trims the leftmost spaces of a string.
+
Entfernt die linkesten Leerzeichen einer Zeichenkette..
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 158: Line 157:
  
 
| valign="top" width="100%" style="width: 459px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 459px; border: 1px solid rgb(0, 0, 0);" |  
RTRIM, trims the rightmost spaces of a string.
+
Entfernt die rechtesten Leerzeichen einer Zeichenkette.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 165: Line 164:
  
 
| valign="top" width="100%" style="width: 459px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 459px; border: 1px solid rgb(0, 0, 0);" |  
TRIM, trims both the leftmost and rightmost spaces of a string.
+
Entfernt sowohl die linken als auch die rechten Leerzeichen
  
 
|}
 
|}
Line 173: Line 172:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
Statements that behave differently
+
Veränderte Befehle
 
<div style="padding: 0px; margin: 0px 0px 0px 4px;">
 
<div style="padding: 0px; margin: 0px 0px 0px 4px;">
 
{| width="627" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;"
 
{| width="627" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;"
Line 188: Line 187:
  
 
| valign="top" width="100%" style="width: 515px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 515px; border: 1px solid rgb(0, 0, 0);" |  
Rotate now behaves like the ASM rotate, this means that the carry will go to the most significant bit of a variable or the least significant bit of a variable.
+
ROTATE verhält sich jetzt wie Assembler Rotate. Das heißt, dass der Übertrag zum Most Significant Bit bzw. zum Least Significant Bit bewegt wird.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 195: Line 194:
  
 
| valign="top" width="100%" style="width: 515px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 515px; border: 1px solid rgb(0, 0, 0);" |  
String were added to the CONST statement. I also changed it to be compatible with QB.
+
Zeichenketten können jetzt beim CONST Befehl benutzt werden. Kompatibilität mit QB wurde verbessert.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 202: Line 201:
  
 
| valign="top" width="100%" style="width: 515px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 515px; border: 1px solid rgb(0, 0, 0);" |  
BYVAL has been added since real subprograms are now supported.
+
BYVAL wurde hinzugefügt weil richtige Unterprogramme jetzt unterstützt werden.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 209: Line 208:
  
 
| valign="top" width="100%" style="width: 515px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 515px; border: 1px solid rgb(0, 0, 0);" |  
You can now specify the location in memory of the variable.
+
Man kann jetzt die Speicheradresse einer Variablen festlegen.
 
+
<span style="font-family: Arial;">&nbsp;</span>
+
  
Dim v as byte AT 100, will use memory location 100.
+
<span style="font-family: Arial;"></span>
 +
Dim v as byte AT 100 ' benutzt Speicheradresse 100.
  
 
|}
 
|}

Latest revision as of 01:43, 17 February 2013

Ziel bei der Entwicklung von BASCOM-AVR war eine Kompatibilität mit BASCOM-8051.

 

Beim AVR Compiler mussten einige Befehle entfernt werden. Neue Befehle wurden hinzugefügt. Einige Befehle wurden modifiziert.

 

Die Änderungen müssen beachtet werden - werden nach und nach auch in BASCOM-8051 umgesetzt werden.

 

 

Befehle, die entfernt wurden

STATEMENT

DESCRIPTION

$LARGE

Wird nicht mehr benötigt.

$ROMSTART

Code startet immer an Adresse 0. Wieder hinzugefügt in 1.11.6.2

$LCDHEX

Benutzen Sie LCD Hex(var) stattdessen.

$NOINIT

Wird nicht mehr benötigt. Hinzugefügt bei Version 1.11.6.2

$NOSP

Wird nicht mehr benötigt

$NOBREAK

Kann nicht mehr benutzt werden weil es keinen Objekt Code gibt der dafür benutzt werden könnte.

$OBJ

Entfernt.

BREAK

Kann nicht mehr benutzt werden weil es keinen Objekt Code gibt der dafür benutzt werden könnte.

PRIORITY

AVR erlaubt nicht das Setzen von Interrupt-Prioritäten.

PRINTHEX

Sie können jetzt Print Hex(var) benutzen

LCDHEX

Sie können jetzt Lcd Hex(var) benutzen

 

 

Neue Befehle

STATEMENT

DESCRIPTION

FUNCTION

Sie können Ihre eigenen Benutzer-FUNCTIONS definieren.

LOCAL

Sie können LOCAL Variablen in SUB Routinen oder FUNCTIONS benutzen.

^

Neuer mathematischer Operator. Var = 2 ^ 3 ergibt 2*2*2

SHIFT

Weil ROTATE geändert wurde ist SHIT hinzugefügt worden. SHIFT arbeitet wie ROTATE aber hinausgeschobene Bits gehen verloren und Nullen werden hineingeschoben.

LTRIM

Entfernt die linkesten Leerzeichen einer Zeichenkette..

RTRIM

Entfernt die rechtesten Leerzeichen einer Zeichenkette.

TRIM

Entfernt sowohl die linken als auch die rechten Leerzeichen

 

 

Veränderte Befehle

STATEMENT

DESCRIPTION

ROTATE

ROTATE verhält sich jetzt wie Assembler Rotate. Das heißt, dass der Übertrag zum Most Significant Bit bzw. zum Least Significant Bit bewegt wird.

CONST

Zeichenketten können jetzt beim CONST Befehl benutzt werden. Kompatibilität mit QB wurde verbessert.

DECLARE

BYVAL wurde hinzugefügt weil richtige Unterprogramme jetzt unterstützt werden.

DIM

Man kann jetzt die Speicheradresse einer Variablen festlegen.

Dim v as byte AT 100 ' benutzt Speicheradresse 100.



Languages   English Deutsch  
Personal tools
Namespaces
Variants
Actions
Navigation
In other languages
Language