mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit Assempler


Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche in Assempler eine Stück Code zu schreiben. Aber ich bekomme 
es einfach nicht hin. Vielleicht könnt ihr mir helfen?

ich habe ein  char, welches überpruft werden soll, ob  zwischen 
0x30-0x39 und 0x41-0x46 hex liegt. Sollte es in diesem Bereich sein, 
dann soll in der Variable erg=1 sein, ansonsten erg=0 geschrieben 
werden.

Hat jemand eine ahnung?

Gruß
Hans

Autor: Holger Krull (krulli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hans wrote:

> Hat jemand eine ahnung?

Nein, solange Du uns nicht sagt für welchen Controller.

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh stimmt, einmal für einen AVR und für den PC zum vergleich!

Autor: Wegstabenverbuchsler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eikn Wort Assempler gibt es nicht. Das Zeugs heißt Assembler, von "to 
assemble", zusammensetzen

Versuch doch erst mal den Algorithmus NICHT in Assembler, sondern in 
einer dir genehmen Hochsprache zu formulieren. Und dann machst du dir 
Gedanken darüber, welchen Assemblerbefehl du nutzen könntest, um dieses 
zu codieren.

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, dass hilt mir aber auch nicht weiter!!!

Autor: Wegstabenverbuchsler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ja, dass hilt mir aber auch nicht weiter!!!

was? Das denken darüber wie der Algorithmus aussehen müßte?

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie ich den in Assembler schreibe!

Autor: Daniel Bauer (und3rt4ker)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

brsh--->branch if same or higher
brlo--->branch if lower

dürften weiterhelfen.

MfG und3rt4ker

Autor: OBJDUMP (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mov     r18, r24
subi    r24, 0x30
cpi     r24, 0x0A
brcs    .+8
ldi     r24, 0x00
subi    r18, 0x41
cpi     r18, 0x06
brcc    .+2
ldi     r24, 0x01
eor     r25, r25
ret

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein hilft es nicht, da er so für seine Hausaufgabe nur eine 4 bekommen 
würde. ;-)

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hält ihr hier von??

  char zeich;
  int erg;
  _asm
  {
    mov eax, zeich
    mov ebx, 0x30
    test eax, ebx    // oder cmd

    jb l1        // kleiner 0x30
    mov eax, 0
    jmp ende

l1:    mov ebx, 0x46
    test eax, ebx

    ja l2        // größer 0x46
    mov eax, 0
    jmp ende

l2:    mov ebx, 0x40
    test eax, ebx

    ja l3        // größer 0x40
    mov eax, 1
    jmp ende

l3:    mov ebx, 0x3A
    test eax, ebx

    jb l4        // kleiner 0x39
    mov eax, 1
    jmp ende

l4:    mov eax, 0


ende:   mov erg, eax
  }

Autor: X86 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja,


den X86 benutze ik nur zum wellenreiten und post lesen ... ansonsten 
darf der stromfresser auch mal nen uC programmieren ;-)

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
WAT???

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.