Changes compared to BASCOM-8051/de
m (1 revision) |
|||
Line 1: | Line 1: | ||
− | + | Ziel bei der Entwicklung von BASCOM-AVR war eine Kompatibilität mit BASCOM-8051. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Beim AVR Compiler mussten einige Befehle entfernt werden. | |
− | + | Neue Befehle wurden hinzugefügt. Einige Befehle wurden modifiziert. | |
− | + | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Die Änderungen müssen beachtet werden - werden nach und nach auch in BASCOM-8051 umgesetzt werden. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
Line 15: | Line 14: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | 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);" | | ||
− | + | 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 | + | 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);" | | ||
− | + | 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);" | | ||
− | + | 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);" | | ||
− | + | 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);" | | ||
− | + | 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);" | | ||
− | + | 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);" | | ||
− | + | 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 | + | 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);" | | ||
− | + | 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);" | | ||
− | + | Sie können jetzt Lcd Hex(var) benutzen | |
|} | |} | ||
Line 108: | Line 107: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | 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);" | | ||
− | + | 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);" | | ||
− | + | 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);" | | ||
− | + | 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);" | | ||
− | + | 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);" | | ||
− | + | 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);" | | ||
− | + | 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);" | | ||
− | + | Entfernt sowohl die linken als auch die rechten Leerzeichen | |
|} | |} | ||
Line 173: | Line 172: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | 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 | + | 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);" | | ||
− | + | 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 | + | 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);" | | ||
− | + | Man kann jetzt die Speicheradresse einer Variablen festlegen. | |
− | + | ||
− | + | ||
− | Dim v as byte AT 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 |
---|