Programmentwicklung auf dem PC - Assemblerprogrammierung Drucken E-Mail
Beitragsseiten
Programmentwicklung auf dem PC - Assemblerprogrammierung
Assemblerprogrammierung am PC
Unser 1. Assemblerprogramm
Direkte und indirekte Adressierung
Alle Seiten

 

Soll ein Gerät mithilfe eines Mikrocontrollers gesteuert werden, muss ein Programm am PC programmiert werden, welches dann in ein EPROM geschrieben wird.

In diesem EPROM ist das Steuerprogramm in Maschinensprache gespeichert. Ein EPROM kann bereits direkt am Controllerchip integriert oder extern angeschlossen sein.
Wie hier beim 80C517 ist ein ROM mit 32kByte bereits im Controller integriert.

 

Programmieren in Assemblersprache

Eine Assemblersprache ist eine spezielle Programmiersprache, welche die Maschinensprache einer spezifischen Prozessorarchitektur in einer für den Menschen lesbaren Form repräsentiert.
Jede Computerarchitektur hat folglich ihre eigene Assemblersprache.

Ein Programm in Assemblersprache wird auch als Assemblercode bezeichnet. Es wird durch einen speziellen Compiler, ebenfalls Assembler genannt, in direkt ausführbare Maschinensprache (auch Maschinencode) umgewandelt.

Programme in Assemblersprache zeichnen sich dadurch aus, dass man die komplette Bandbreite des Computers ausnutzen und Hardwarechips direkt programmieren kann.
Weil Assemblerprogramme faktisch auf Maschinencode-Ebene arbeiten, sind sie oftmals erheblich kleiner und schneller als Programme, die einen ähnlichen Grad an Komplexität aufweisen, aber eine Hochsprache als Basis haben.
Der Compiler einer höheren Programmiersprache erzeugt meistens mehr Code, weil er stark generalisiert geschrieben werden muss.

 

Beispiel eines Assemblercodes für ein Lauflicht welches links und rechst umschaltbar ist:

;80517A: Assembler-Programm
;**************************
; P4 Lauflicht (P4) links und rechts umschaltbar (P7); Zeitschleife als Unterprogramm

$ NOMOD51                           
$ INCLUDE (REG517A.INC)      

ORG    0000H       
MOV    A,#1

LOOP:    MOV    P4,A

MOV R4,P7
CJNE R4,#0C0h,RLauf    
MOV    R5,#120    

CALL Warten           

RL    A   
JMP    LOOP


RLauf:

MOV    R5,#240     
CALL Warten           
RR    A   
JMP    LOOP


WARTEN:
L1:     MOV R6,#20
L2:     MOV R7,#100
L3:     DJNZ R7,L3      
         DJNZ    R6,L2
         DJNZ    R5,L1
   

RET          

END

 



 

Samstag, 19. Mai 2012

Banner
Seitenaufrufe : 1040142