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
Wir, oder vielleicht nur ich haben keine Ahnung was du meinst. Liefere bitte mehr Info´s oder du wirst als Troll enttarnt werden.
> 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. ...
Ja. wir koennen ein Highbyte und ein Lowbyte schreiben, nur wird das wenig nuetzen, denn ausserhalb des Zusammenhanges bringt das eher wenig bis nichts.
Sorry, aber im Unterricht hatten wir das noch nicht, sonst würde ich ja auch nicht fragen.
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
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.
Wir helfen doch gerne:
1 | ORG 100h ; Startoffset auf 100h setzen (Startpunkt für COM-Programme) |
2 | |
3 | mov ax, cs ; Wert des Codesegmentregisters in Register ax übertragen |
4 | mov ds, ax ; Datensegment auf Wert von ax setzen |
5 | |
6 | mov ah, 09h ; DOS-Funktion zum Schreiben von Text |
7 | mov dx, Meldung ; Adresse des Textes |
8 | int 21h ; DOS-Funktion ausführen |
9 | |
10 | mov ax, 4C00h ; DOS-Funktion um das Programm zu beenden |
11 | int 21h |
12 | |
13 | Meldung: db "ein High- und Low-Byte" ; Unser Text |
14 | db "$" ; Markiert das Ende der Zeichenkette |
DOS-Help
dos wrote:
> Wir helfen doch gerne:
:-)
Hier als Alternative die Lösung in C:
1 | #include <stdio.h> |
2 | |
3 | int main(int argc, char** argv) |
4 | {
|
5 | printf("ein High- und Low-Byte in Assembler\n"); |
6 | return 0; |
7 | }
|
und in Java:
1 | /* ein_High_und_Low_Byte_in_Assembler.java */
|
2 | |
3 | public ein_High_und_Low_Byte_in_Assembler { |
4 | |
5 | public static void main(String[] args) { |
6 | System.out.println("ein High- und Low-Byte in Assembler"); |
7 | }
|
8 | }
|
"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.
>Ich habe so eine Ahnung, dass das ohne Musik ne schlechte Note gibt.
kannst ja ein paar ASCII 7 in den Text einbauen.
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
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.
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.