- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 14

Thema: ORG Anweisung - RN-Wissen-Artikel

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    11.01.2017
    Beiträge
    5

    ORG Anweisung - RN-Wissen-Artikel

    Guten Tag zusammen,

    ich versuche gerade, den Assembler-Code eines nicht mehr verfügbaren Kollegen zu verstehen.

    Dieser ist geschrieben für einen PIC 12C672.

    Eine der letzten Unklarheiten stellt die Verwendung der ORG-Anweisung dar.

    So sieht der Code grob aus:

    Code:
    list p=12C672		    ; Prozessortyp
    			    ; list directive to define processor
    #include <p12c672.inc>      ; processor specific variable definitions
    
    __CONFIG _CP_ALL & _PWRTE_ON & _WDT_OFF & _WDTE_OFF & _HS_OSC 
    
    
    ... EQU ...
    ... etliche EQU Registeradressen-Benennungen
    
    #define ..
    ... einige #define - Anweisungen
    
    org	5
    goto 	start
    
    ; Initialisierung
    
    ; Main - Dauerschleife
    
    org	03ffh
    return
    	
    end
    Ich kann mir nicht erklären, welchen Zweck das
    org 5
    erfüllen sollte.

    Edit: Dass es den Platz im Speicher angibt, ab wo der folgende Code im PIC abgelegt werden soll, habe ich mittlerweile verstanden.
    Warum nimmt man dann aber die Adresse 0x05 und nicht einfach die 0x00?

    Hat da jemand eine Idee?

    Wenn ich den Code mit MPLAB X IDE v3.50 im Simulator versuche zu debuggen, kommt bei mir die Fehlermeldung
    no source code lines were found at current pc 0x0
    .

    Wenn ich den Code auf
    org 0
    ändere, funktioniert das debuggen problemlos.

    Ich verstehe nur leider weder die Fehlermeldung noch den Grund, warum die Fehlermeldung nach dieser Änderung nicht mehr auftaucht.



    Desweiteren verstehe ich die Verwendung der ORG-Anweisung auf in folgendem Artikel an mehreren Stellen nicht:
    http://rn-wissen.de/wiki/index.php?title=PIC_Assembler

    Code:
    org     0x03B8          ; diese Adresse kann gleich max.Adresse - 47h sein
    
    org	0x0023          ; hier fängt das "Erstes" an
    
    ORG     0x0358                  ; diese Adresse kann gleich max.Adresse - A7h sein
    
    org	0x3EF                   ; diese Adresse kann gleich max.Adresse - 10h sein
    
    org	0x001E          ; ab da kann eigener Code anfangen
    
    org	0x3DF                   ; diese Adresse kann gleich max.Adresse - 20h sein

    Wie kommt man auf genau diese spezifischen Speicherstellen?

    Besten Dank im Voraus!
    Wenn ihr weitere Informationen von mir braucht, bekommt Ihr die natürlich gerne!

    Beste Grüße
    Matze
    Geändert von Matze235 (11.01.2017 um 18:32 Uhr) Grund: Detaillierte Informationen

Ähnliche Themen

  1. RN-Wissen Artikel zum Wild Thumper Roboter und dessen Controller WTR-CK1
    Von Dirk im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 27
    Letzter Beitrag: 05.07.2017, 19:44
  2. Arduino Nano (mit Bootlader) per USB aus BASCOM brennen /RN-Wissen-Artikel
    Von jguethe im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 28.02.2017, 18:33
  3. If-Anweisung
    Von 1udo1 im Forum C - Programmierung (GCC u.a.)
    Antworten: 13
    Letzter Beitrag: 20.01.2009, 14:17
  4. CCRP5-Artikel auf RN-Wissen
    Von pischke im Forum Robby CCRP5
    Antworten: 3
    Letzter Beitrag: 09.01.2007, 12:36
  5. [ERLEDIGT] Problem mit der anweisung LCD var
    Von AVRJIS im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 25.02.2005, 08:05

Stichworte

Berechtigungen

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

Labornetzteil AliExpress