-         
Ergebnis 1 bis 7 von 7

Thema: DB (pseudo Befehl) Wie verwenden?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    09.05.2007
    Beiträge
    5

    DB (pseudo Befehl) Wie verwenden?

    Anzeige

    Moin
    habe da ein problem bei der Ausgabe von Texten....
    habe bei Sprut eine so genannten DB befehl gefunden der aus einem buchstaben (zeichen) ein 8 bit Binärzahl macht nun habe ich damit schon einbisl rumprobiert habe aber kein brauchbares ergebnis Erziehlt...
    kann mir jemand sagen wie ich denn verwende und wo er die gewandelten Binärzaglen speichert?
    bin für jede hilfe dankbar
    mfg Dennse

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.06.2006
    Alter
    27
    Beiträge
    113
    *variable* = DB(zeichen)
    so wuerdei ch das jetzt denken.. also das DB einen wert zurueckliefert welchen du in einer variable speichern kannst.

    Edit: Ich denke die "Binaerzahl" ist der ASCII-Code von dem zeichen.
    Stell dir vor es ist krieg - und keiner geht hin.
    Gewinner des Roboterwettbewerbs "Zukunft durch Innovation" des Bundeslandes NRW in Aachen.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    08.04.2004
    Ort
    Regensburg
    Alter
    39
    Beiträge
    55
    Hi,

    was ist denn "Sprut"?
    Wenn du z.B. aus einer 7 (00000111) die Bits haben willst dann kannst du das in einer Schleife machen.
    Code:
    unsigned char Bit[8];
    unsigned char sieben = 7;
    for(i=0;i<8;i--)
    {
      Bit[i] = (sieben & ( 0x01U << i))+48;
    }
    Somit hast du in dem Array "Bit" die Binärdarstellung der Zahl "sieben" als ASCII-Zeichen und könntest sie dann in einer Schleife mit printf oder so anzeigen lassen.
    Glaube das Problem bei DB ist, dass du der Funktion, falls es eine ist, ein Array per Referenz übergeben musst, damit diese bei einem unsigned char die 8 ASCII-Zeichen für ein Zahl zwischen 0 und 255 als ASCII in das Array schreiben kann. Welche Programmiersprache soll das denn überhaupt sein?

    LG
    Martin

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    DB wird (sehr verbreitet bei Assemblern) dazu verwendet, Programm-speicher zu definieren . Ist sowas wie "DATA" beim Basic.

    LABEL:
    DB 'A'

    belegt ein byte /Wort uns schreibt 'A' rein (= d'65' = 0x41)

    DAS IST KEINE FUNKTION zur RUNTIME !
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    13.08.2005
    Beiträge
    195
    @martin: sprut hat ne homepage (sprut.de) und da sind ganz viele praktische sachen rund um den pic und die assembler sprache.

    d.h. DB ist das gleiche wie DE? wo liegt dann der unterschied?

    Code:
    	org H'2100'            ; Adresse des EEPROM für den Brenner 
    	de b'00000000'
    	de b'00000000'
    	de b'00000000'
    	de b'00000000'
    SEIDL.

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    08.04.2004
    Ort
    Regensburg
    Alter
    39
    Beiträge
    55
    Assembler naja, bei 2 Buchstaben und auch noch groß geschrieben hätte ich da auch selber drauf kommen können

  7. #7
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.996
    Hallo!

    Sowohl "DB" als auch "DE" sind MPASM Direktiven. Der unterschied liegt daran, dass sich "DB" auf Programmspeicher und "DE" auf EEPROM bezieht. Beide definieren ein Byte im entsprechenden Speicher als Data.

    MfG

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •