Vergleich BASCOM- Aneres BASIC

umsteiger

Neues Mitglied
25. Jan. 2010
90
0
0
Haiterbach
Sprachen
Hallo BASCOM-Spezialisten, entschuldigt mir, dass ich zu einem solchen Vergleich auffordere..
- alo, ich kenne "Quik Basic" auf DOS- ebne für PC. ich kenne das "intel-AH Basic" für die 8052 und will mich nun mit den "Atmels" bescheftigen.. Bitte seid mir nicht böse, wenn ich hier Vergleiche aufstelle...
--Schon vor einigen Jahren habe ich versucht mir die Leistungen, Eigenschaften, des BASCOM klar zu machen, dabei kahm ich zu der Erkenntniss: - Bascom ist ein Basiccompiler, soll heissen, es werden Basicprogramme in Textform geschrieben, compiliert, in den AVR-Chip gebrannt(übertragen) und dann funktioniert es oder auch nicht, und das "debugging" des BASIC-Surcecodes folgt...
-- Das INTEL-AH-Basic ist anders, es ist vorrangig ein "Interpereter", soll heisen, der BASIC-Code befindete sich im 8052-Chip, der Aufbau mit zusätzlichem RAM kommunizeirt mit einem Terminal und der Interpreter hat vorerst einen "SOFORT"- Mode, das heisst, Basicbefehle können eingegeben werden und sofort ausgeführt werden..
z.B.
> 10 Print 240* 2 "eingaben"
auf dem Terminal folgt sofort die Ausgabe:

> 480
Das funktioniert auch mit komplexen aritmethischen Befehlen oder mehrzeiligen Instruktionen, Mathematik wie beim Taschenrechner..

Zum Unterschied, kennt das "BASCOM" wenn ich mich da nicht irre, keine Gleitkommaaritmethik. Darum würde ich mich bei den AVR-´s auch nicht für "BASCOM" entscheiden...

-würde mich gerne eines besseren belehren lassen und für BASCOM entscheiden...

-- Noch was für eventuelle 8051-HA Basic interessierte. - INTEL hat das AH-Basic scheinbar frei gegeben, inklusive Surce-Code, man kann sich es aus dem I-Net laden in einen Chip (auch die 89C52 Typen) von ATMEL brennen und ein Board aufbauen....
-Ach, noch ein Vergleich hier zwischen den AVR-Chips und den 8051-ern, zu deren Nachteil..

- Die AVR-´s schaffen es mit jedem Taktzyklus einen elementar-Befehl auszuführen.....
-- Die standard 8051-er benötigen für einen Elementarbefehle 12 Taktzyklen....
--das heisst, bei selber Taktfrequenz, machen die AVR´s ein 12-fach beseres "MIPS" -Ergebniss

- Allerdings, gibt es auch schon von anderen Herrstellern Chips der 8051-serie, die einen Elementarbefehl in 4 oder sogar 2 Taktzyklen erledigen....


- Wolfgang
 
...
Zum Unterschied, kennt das "BASCOM" wenn ich mich da nicht irre, keine Gleitkommaaritmethik. Darum würde ich mich bei den AVR-´s auch nicht für "BASCOM" entscheiden...

-würde mich gerne eines besseren belehren lassen und für BASCOM entscheiden...

Hallo Wolfgang
Hier ein Auszug aus der BASCOM-AVR Help
Elementary Data Types



· Bit (1/8 byte). A bit can hold only the value 0 or 1. A group of 8 bits is called a byte.

· Byte (1 byte). Bytes are stores as unsigned 8-bit binary numbers ranging in value from 0 to 255.

· Integer (two bytes). Integers are stored as signed sixteen-bit binary numbers ranging in value from -32,768 to +32,767.

· Word (two bytes). Words are stored as unsigned sixteen-bit binary numbers ranging in value from 0 to 65535.

· Long (four bytes). Longs are stored as signed 32-bit binary numbers ranging in value from -2147483648 to 2147483647.

· Single. Singles are stored as signed 32 bit binary numbers. Ranging in value from 1.5 x 10^–45 to 3.4 x 10^38

· Double. Doubles are stored as signed 64 bit binary numbers. Ranging in value from 5.0 x 10^–324 to 1.7 x 10^308

· String (up to 254 bytes). Strings are stored as bytes and are terminated with a 0-byte. A string dimensioned with a length of 10 bytes will occupy 11 bytes.



Variables can be stored internal (default) , external or in EEPROM.

Das rechnen Single und Double dauert aller Dings deutlich länger (als mit Ganzzahl):stupido3:

Man kann auch bei der Programmerstellung direckt im Basic ASM-Code einbauen
Dim a As Byte At &H60 'A is stored at location &H60
Ldi R27 , $00 'Load R27 with MSB of address
Ldi R26 , $60 'Load R26 with LSB of address
Ld R1, X 'load memory location $60 into R1
!SWAP R1 'swap nibbles


Ein weiterer Vorteil, ist meines Erachten, das das ein Compiler ist, und somit ein "agilerer", kompakterer Code erzeugt wird, da kein Platz durch den Interpreter verbraten wird.

CU:ciao:
merlin.r
 
Zum Unterschied, kennt das "BASCOM" wenn ich mich da nicht irre, keine Gleitkommaaritmethik. Darum würde ich mich bei den AVR-´s auch nicht für "BASCOM" entscheiden...

-würde mich gerne eines besseren belehren lassen und für BASCOM entscheiden...

Hallo Wolfgang!

Vielleicht helfen dir die Zeilen aus der BASCOM-Hilfe ja weiter.... ;)


Floating point SINGLE (4 BYTE)(ASM code used is supplied by Jack Tidwell)

Single numbers conforming to the IEEE binary floating point standard.

An eight bit exponent and 24 bit mantissa are supported.

Using four bytes the format is shown below:





31 30________23 22______________________________0



s exponent mantissa





The exponent is biased by 128. Above 128 are positive exponents and below are negative. The sign bit is 0 for positive numbers and 1 for negative. The mantissa is stored in hidden bit normalized format so that 24 bits of precision can be obtained.



All mathematical operations are supported by the single.

You can also convert a single to an integer or word or vise versa:



Dim I as Integer, S as Single



S = 100.1 'assign the single

I = S 'will convert the single to an integer





Here is a fragment from the Microsoft knowledge base about FP:



Floating-point mathematics is a complex topic that confuses many programmers. The tutorial below should help you recognize programming situations where floating-point errors are likely to occur and how to avoid them. It should also allow you to recognize cases that are caused by inherent floating-point math limitations as opposed to actual compiler bugs.







Decimal and Binary Number Systems

Normally, we count things in base 10. The base is completely arbitrary. The only reason that people have traditionally used base 10 is that they have 10 fingers, which have made handy counting tools.





The number 532.25 in decimal (base 10) means the following:



(5 * 10^2) + (3 * 10^1) + (2 * 10^0) + (2 * 10^-1) + (5 * 10^-2)



500 + 30 + 2 + 2/10 + 5/100

_________



= 532.25





In the binary number system (base 2), each column represents a power of 2 instead of 10. For example, the number 101.01 means the following:

(1 * 2^2) + (0 * 2^1) + (1 * 2^0) + (0 * 2^-1) + (1 * 2^-2)

4 + 0 + 1 + 0 + 1/4

_________

= 5.25 Decimal


Dies ist aber nur ein Auszug aus der BASCOM-Hilfe!
Du solltest dir das einfach noch mal genauer ansehen und durchlesen!

Gruß,
Cassio
 
Hallo Wolfgang!

Vielleicht helfen dir die Zeilen aus der BASCOM-Hilfe ja weiter.... ;)





Dies ist aber nur ein Auszug aus der BASCOM-Hilfe!
Du solltest dir das einfach noch mal genauer ansehen und durchlesen!

Gruß,
Cassio


Danke Euch, werde mir BASCOM auch mal näher ansehen, leider kann ich mit "C" nicht viel anfangen. Vorerst will ich mit Assembler den MEGA32 dazu bringrn ein Display mit dem Hitachi-Cip zu laufen. Habe ein solches Display schon 1982? mit dem 8048 zm laufen gebracht unter schweren bedinungen, da mein enlisch damals so gut war wie heute mein chinesisch.
Habe mir soeben den "DRAGON" angesehen, ich denke den werde ich mir zulegen, ist scheinbar das, was man braucht um den ATMEL´s auf die Finger zu schauen.

Wünsche Euch noch ein schönes Wochenende

Wolfgang
 
Danke Euch, werde mir BASCOM auch mal näher ansehen, leider kann ich mit "C" nicht viel anfangen. Vorerst will ich mit Assembler den MEGA32 dazu bringrn ein Display mit dem Hitachi-Cip zu laufen. Habe ein solches Display schon 1982? mit dem 8048 zm laufen gebracht unter schweren bedinungen, da mein enlisch damals so gut war wie heute mein chinesisch.
Habe mir soeben den "DRAGON" angesehen, ich denke den werde ich mir zulegen, ist scheinbar das, was man braucht um den ATMEL´s auf die Finger zu schauen.

Wünsche Euch noch ein schönes Wochenende

Wolfgang

Hallo liebe AVR-Freunde, möchte hier noch anhängen, als ich in den 60-er Jahren mich für das Abitur vorbereitete, damals gab es noch keine Taschnerechner mit denen man sich hätte helfen können. Also, musste man sich mit Rechenschiebern auseinandersetzen und das war schon ein grosser Vorteil. Ich erinnere mich an die Arbeit mit Logarithmentabellen, 10-er oder Naturallogarithmen, es war einfach ein Vortschritt, dass es diese Tabellen gab und mann als Abituranwerter diese benutzen konnte.., durfte..
-- einen Taschenrechner der alles beherrschte, hatte ich mir angeschafft, leider hat er die Belastungen bis zu Ende nicht durchgahalten...
-- Einen wissenschafftlicher Taschenrechner von heute... Hätt ich mir damals nicht in den kühnsten Treumen vorgestellt....


Wolfgan

p.s. Verzeiht also, wenn meine beiträge ein wenig altertümlich erscheinen.....
 
Hi Wolfgang,

damals gab es noch keine Taschnerechner mit denen man sich hätte helfen können. Also, musste man sich mit Rechenschiebern auseinandersetzen und das war schon ein grosser Vorteil. Ich erinnere mich an die Arbeit mit Logarithmentabellen, 10-er oder Naturallogarithmen, es war einfach ein Vortschritt, dass es diese Tabellen gab und mann als Abituranwerter diese benutzen konnte.., durfte..
-- einen Taschenrechner der alles beherrschte, hatte ich mir angeschafft, leider hat er die Belastungen bis zu Ende nicht durchgahalten...
-- Einen wissenschafftlicher Taschenrechner von heute... Hätt ich mir damals nicht in den kühnsten Treumen vorgestellt....
ich kenne noch Taschenrechner mit den 4 Grundrechenarten und LED-Anzeige ;)
Nen Rechenschieber hab ich selber noch rumfliegen und nen mechanischen
Rechner (Addifix) hab ich auch noch. Da hat man mit nem Metallgriffel in
Ausschnitten rumgestochert und Zahnscheiben weitergedreht. :D

Die älteren die den gesamten Prozessor-Urschleim mitgemacht haben
können sich unter den Begriffen des Prozessorinneren (ALU, PC, SP, Flags,...)
wenigstens noch was vorstellen. Heutzutage wird das ja nur noch als
Black Box erklärt.

Gruß
Dino
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)