Der integrierte 24-Bit Mikroprozessor ist eine Eigenentwicklung von acam und verfügt über 1k x 8-Bit EEPROM Speicher (wiederprogrammierbar). Es gibt einen umfangreichen Befehlssatz, welcher eine komfortable und effiziente Programmierung in Assembler erlaubt und so die Anpassung des PSØ8 an verschiedene Aufgaben und Belange möglich macht.
Von den über 70 verfügbaren Opcodes sind einige sehr ähnlich zu den bekannten Befehlssätzen wie etwa dem des 8051, z.B.:
move x, 20 | -> x wird mit 20 gesetzt | | | add x, y | -> fügt den Inhalt von y zu x | | | clear x | -> löscht den Inhalt von x | | |
Darüber hinaus gibt es aber auch speziell auf die 24-Bit Architektur abgestimmte Befehle, welche sehr effektiv sind mächtig sind und dadurch Code einsparen, beispielsweise:
mult24 x, y | -> 24-Bit Multiplikation von Register x mit y | no2lcd | -> konvertiert eine Zahl direkt für die Darstellung auf dem LCD | gotoBitS x, 18, target | -> bedingter Sprung (wenn Bit 18 von x gesetzt ist, gehe zu target) |
Da Opcodes wie die 24-Bit Multiplikation lediglich 2 Bytes oder die Darstellung einer Zahl auf dem LCD-Display nur 3 Bytes benötigt, ist der verfügbare Speicher von 1K mehr als ausreichend für die meisten Applikationen. Eine Übersicht über die verfügbaren Opcodes sieht man in dem Bild auf der rechten Seite.
Neben dem umfangreichen Befehlssatz sind weitere Merkmale des Assemblers: - Ein- und mehrzeilige Kommentare
- es kann mit Include-Dateien gearbeitet werden
- bedingte und unbedingte Sprünge
- Konstantendeklaration
- Zahlenformatierung in Dezimal und Hexadezimal
- es kann mit Unterroutinen gearbeitet werden
Der Assembler selbst ist - neben dem Debugger und der Download-Schnittstelle - in eine komfortable grafische Oberfläche (GUI) eingebettet und ermöglicht so eine intuitive Bedienung der einzelnen Tools. Die PSØ8 Assembler Software wird von acam kostenfrei zur Verfügung gestellt und kann hier heruntergeladen werden. Um die Firmware schließlich auf den PSØ8 herunterladen zu können, benötigt man außer der Software noch den Programmer PicoProg.
|