www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik High- und Low-Byte


Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich soll ein High- und Low-Byte in Assembler schreiben. Hab aber keine 
Ahnung wie das funktioniert.
Wäre nett wenn ihr mir helfen könnt.

Danke schonmal in vorraus.

Andi

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wir, oder vielleicht nur ich haben keine Ahnung was du meinst.
Liefere bitte mehr Info´s oder du wirst als Troll enttarnt werden.

Autor: Hannes Lux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ich soll ...

Dann wäre es sinnvoll, mal den zu fragen, für den Du das sollst.

> Hab aber keine Ahnung

Dann hast Du vermutlich im Unterricht gepennt. Die Lösung findest Du 
vermutlich in Deinen Aufzeichnungen. Falls nicht, dann stehe dazu, dass 
Du es nicht kannst, sacke Deine (ehrlich verdiente) schlechte Note ein 
und mache es das nächste mal besser. Ohne Fleiß kein Preis.

...

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja. wir koennen ein Highbyte und ein Lowbyte schreiben, nur wird das 
wenig nuetzen, denn ausserhalb des Zusammenhanges bringt das eher wenig 
bis nichts.

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, aber im Unterricht hatten wir das noch nicht, sonst würde ich ja 
auch nicht fragen.

Autor: Marius Wensing (mw1987)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wird dir hier aber keiner glauben...

Warum sollte euch ein Lehrer eine Aufgabe stellen, obwohl ich im 
Unterricht noch gar nichts dazu gemacht habt? Zumindest die Grundlagen 
solltest du mitbekommen haben...

MfG
Marius

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wir machen ein Projekt: Anzeige von Temperatur und Uhrzeit auf 
4*7-Segment
und ich soll High-Byte und Low-Byte in Assembler schreiben. Die Aufgabe 
hat uns nicht mein Lehrer gegeben.

Autor: dos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wir helfen doch gerne:
ORG 100h                    ; Startoffset auf 100h setzen (Startpunkt für COM-Programme)
 
mov ax, cs                  ; Wert des Codesegmentregisters in Register ax übertragen
mov ds, ax                  ; Datensegment auf Wert von ax setzen
 
mov ah, 09h                 ; DOS-Funktion zum Schreiben von Text
mov dx, Meldung             ; Adresse des Textes
int 21h                     ; DOS-Funktion ausführen
 
mov ax, 4C00h               ; DOS-Funktion um das Programm zu beenden
int 21h
 
Meldung: db "ein High- und Low-Byte"   ; Unser Text
         db "$"             ; Markiert das Ende der Zeichenkette

DOS-Help

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen vielen Dank!

Echt super von dir.

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dos wrote:
> Wir helfen doch gerne:

:-)

Hier als Alternative die Lösung in C:
#include <stdio.h>

int main(int argc, char** argv)
{
  printf("ein High- und Low-Byte in Assembler\n");
  return 0;
}

Autor: von der Insel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und in Java:
/* ein_High_und_Low_Byte_in_Assembler.java */
 
public ein_High_und_Low_Byte_in_Assembler {
 
  public static void main(String[] args) {
    System.out.println("ein High- und Low-Byte in Assembler");    
  }
}

Autor: Ahem (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Wir sollen ein High- und ein Low-Byte schreiben". Meine Güte.

Lieber DOS, geht das auch in kariert und Dienstags mit Musik?
Ich habe so eine Ahnung, dass das ohne Musik ne schlechte Note gibt.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich habe so eine Ahnung, dass das ohne Musik ne schlechte Note gibt.

kannst ja ein paar ASCII 7 in den Text einbauen.

Autor: Ahem (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>kannst ja ein paar ASCII 7 in den Text einbauen.
Lieber ein Ctrl-Gong.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da Du nicht die geringste Ahnung zu haben scheinst, wozu "High- und 
Low-Byte" gut sind und in welchem Kontext man sie wie verwendet, 
beschreibe einfach mal in Worten, die Du kennst, was Du eigentlich 
machen willst.


Und Assembler gibt es über 100 verschiedene. Du mußt schon sagen, 
welchen Du meinst und für welches Target er Code generieren soll (genaue 
Chip-Bezeichnung, Hersteller oder Link darauf).


Peter

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Assembler ist 8051win

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Target AT89C5131

Autor: miraculix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist doch ganz einfach,
vor den Variablennamen "high" und "low" setzen,
der Assembler macht dann schon das Richtige.

High bedeutet den obern Teil des Word oder Bit 15...Bit 8
Low bedeutet den unteren Teil des Word oder Bit 7... Bit 0.

Word ist eine 16 Bit Variabel, oder 2 Byte....

Bespiel, 8051-Assembler.

public messwert ; Namensdefinition

messwert: dw 2; Speicherresevierung

start:
; irgendwelcher Code
.......
         mov  r0,high(messwert)
         mov  r1,low(messwert)
; und schon ist der 16-Bit, 1 Word, Messwert in
; ein High-Byte (in r0) und ein Low-Byte (in r1) aufgeteilt.
r0 und r1 sind Register im 8051.
Wenn man schon in Assembler programmieren will, sollte man
schon die Hardware des Zielprozessors kennen........
......
; weiter im Programm

Hoffe, ich konnte helfen.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
miraculix wrote:

> Hoffe, ich konnte helfen.

Ich hab so ein seltsames Gefühl :-)
Das Hauptproblem wird wohl die Ansteuerung der 7-Segment Anzeigen sein, 
die womöglich gemultiplext sind.

Im Satz "ich soll ein High- und Low-Byte in Assembler schreiben" wird 
wohl das eigentliche Problem beim Wörtchen 'schreiben' liegen.

@Andi
Und jetzt lehnst du dich mal zurück und formulierst eine ordentliche 
Frage.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.