- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 5 von 5

Thema: Binär in Dezimal umwandeln in Assembler?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    15.02.2007
    Alter
    34
    Beiträge
    14

    Binär in Dezimal umwandeln in Assembler?

    Anzeige

    Powerstation Test
    Hallo an alle hier im Forum!

    Weiß jemand wie man eine 8bit Binärzahl in eine Dezimalzahl umwandeln kann? Das Ganze in Assembler?

    Vielen Dank für eure Hilfe

    Peter Holzer

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Mal für eine 16-Bit-Zahl:

    1) Wenn die Zahl < 0 ist gibst du ein - aus und ersetzt die Zahl durch ihr n-1 Komplement

    2) Solange die Zahl >= 10000 ist ziehst du 10000 ab und merkst, wie oft du den Wert abgezogen hast

    3) Analog für 1000, 100, 10, 1

    Die Assembler-Befehle zum Vergleichen sind: CP, CPI und CPC, die zum Subtrahieren: SUB, SBC

    The very code is left as an exercise to the reader
    Disclaimer: none. Sue me.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    15.02.2007
    Alter
    34
    Beiträge
    14
    Vielen Dank für deine Mühe

    Ich habe bereits eine Lösung entwickelt!

    Mfg Peter

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.12.2004
    Ort
    LEV
    Beiträge
    505
    Hallo Peter,
    Vielen Dank für deine Mühe

    Ich habe bereits eine Lösung entwickelt!
    Es wäre schön, wenn du deine Lösung hier mal
    vorstellen würdest, dann hätten wir alle was davon.

    Gruß Jan

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    15.02.2007
    Alter
    34
    Beiträge
    14
    Hi!

    Ich hatte leider bis jetzt keine Möglichkeit meine Lösung zu posten!

    DAS WÄRE MEINE LÖSUNG:

    bit0 EQU 0x20
    bit1 EQU 0x21
    bit2 EQU 0x22
    bit3 EQU 0x23
    bit4 EQU 0x24
    bit5 EQU 0x25
    bit6 EQU 0x26
    bit7 EQU 0x27
    bin EQU 0x28 ;Variable in jener der Binärcode gespeichert ist
    ergeb EQU 0x29


    main
    clrf bit0
    clrf bit1
    clrf bit2
    clrf bit3
    clrf bit4
    clrf bit5
    clrf bit6
    clrf bit7

    btfsc bin,0
    call set_0
    btfsc bin,1
    call set_1
    btfsc bin,2
    call set_2
    btfsc bin,3
    call set_3
    btfsc bin,4
    call set_4
    btfsc bin,5
    call set_5
    btfsc bin,6
    call set_6
    btfsc bin,7
    call set_7
    goto addieren

    set_0
    movlw D'1'
    movwf bit0
    return

    set_1
    movlw D'2'
    movwf bit1
    return

    set_2
    movlw D'4'
    movwf bit2
    return

    set_3
    movlw D'8'
    movwf bit3
    return

    set_4
    movlw D'16'
    movwf bit4
    return

    set_5
    movlw D'32'
    movwf bit5
    return

    set_6
    movlw D'64'
    movwf bit6
    return

    set_7
    movlw D'128'
    movwf bit7
    return


    addieren
    movf bit0,0 ;0....kopiert ins w-Reg.
    addwf bit1,1 ;1....ergebnis wird in bit1 gespeichert
    movf bit1,0
    addwf bit2,1
    movf bit2,0
    addwf bit3,1
    movf bit3,0
    addwf bit4,1
    movf bit4,0
    addwf bit5,1
    movf bit5,0
    addwf bit6,1
    movf bit6,0
    addwf bit7,1

    movf bit7,0
    movwf ergeb

    END

Berechtigungen

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

12V Akku bauen