User: alciro    User
 Original    Translate to:  Deutsch  English  Français  中文  
 

Microcontroladores 8051

4.2. Arithmetische Befehle

Arithmetische Befehle Mikrocontroller 8051.

Arithmetisches Anweisungen dieser Mikrocontroller sind sehr begrenzt, kann addieren, subtrahieren, Inkrement, Dekrement und ausnahmsweise hat eine integrierte Produktpolitik und die Aufteilung der ganzen Zahlen ist.

ADD A, byte. Summe von 8 Bit. Den Inhalt des Speichers mit einem Byte mit der Adresse angegeben ist, das Ergebnis wird in den Tank.

MOV A,#3 ; A<-3 Mueve al Acumulador el dato inmediato 3
MOV R0,#2 ; A<-2 Mueve al registro 0 el dato inmediato 2
ADD A,R0 ; A<-(A)+(R0) Se suma el Acumulador con el Registro 0, el resultado queda en el Acumulador

ADDC A Byte. Addition mit Carry. Die Summe beläuft sich auf Carry erlaubt ganze Zahl größer als 8 Bit.

Beispiel: Fügen Sie zwei 16-Bit-Integer-Variablen, die den Speicherplätzen 30H und 32H sind. Das Ergebnis sollte eine dritte Variable in Position 34 sein.

MOV A,30H ; A<-(30H) Mueve el contenido de 30H al Acumulador, parte baja de Variable 1
ADD A,32H ; A<-(A)+(32H) Suma el Acumulador con la posición 32H, parte baja de la Variable 2
MOV 34H,A ; 34H<-(A) Mueve el Acumulador a la posición 34H, el resultado a parte baja de la Variable 3
MOV A,31H ; A<-(31H) Mueve el contenido de 31H al Acumulador, parte alta de Variable 1
ADDC A,33H ; A<-(A)+(32H) Suma el Acumulador y el Carry con la posición 33H, parte alta de la Variable 2
MOV 35H,A ; 35H<-(A) Mueve el Acumulador a la posición 35H, el resultado a parte alta de la Variable 3

Die folgende Abbildung zeigt eine Übersicht über den Inhalt des Arbeitsspeichers auf die Addition von zwei ganzen Zahlen von 16 Bit durchzuführen. Es wird davon ausgegangen, dass die Daten aus der Summe (00.003 35FEH H) wurden vorher festgelegt und werden in diesem Beispiel untersucht.

Sum 16-Bit-Integer in Versammlung

SUBBED ein Byte. Subtrahieren mit Carry. Subtrahiert den Inhalt von einem Byte Speicher mit der Adresse angegeben ist, das Ergebnis wird in den Tank.

MOV A,#5 ; A<-5 Mueve al Acumulador el dato inmediato 5
CLR C ; C<-0 Pone a 0 el carry, por si en operaciones anteriores ha sido afectado, para que no interfiera en la resta
SUBB A,#03H ; A<-(A)-3 Se resta al Acumulador el dato inmediato 3, el resultado queda en el Acumulador

INC Byte. Steigern. Einheit erhöht den Inhalt eines Byte (Acc, Register, Speicher), wobei die angegebene Adresse.

MOV R0,#30H ; R0<-30H Mueve al registro 0 el dato inmediato 30H
INC @R0 ; ((R0))<-((R0))+1 Incrementa el contenido de la posición de memoria que indica R0

Dezember Byte. Verkleinern. Abnahme von einer Einheit der Inhalt eines Byte (Acc, Register, Speicher), mit der Adresse angegeben.

DEC R1 ; (R1)<-(R1)-1 Decrementa el contenido de R1

DA A. Stellen dezimal Akkumulator. Diese Anweisung führt die Einstellung im BCD-Format (0-9) knabbert des Speichers (B0-B3 und Bits b4-b7 Bits) das Ergebnis der Summe mit der ADD oder ADDC Unterricht. Diese Anweisung wird verwendet, wenn die Arbeit mit stelliges 7-Segment BCD ist notwendig, um zu arbeiten.

MUL AB. Multiplikation von 8 Bit. Führt eine Multiplikation von ganzen Zahlen von 8 Bit vorzeichenlose Werte im Register A und B enthalten Das Ergebnis ist eine ganze Zahl von 16 Bit, so dass die am wenigsten wichtige Rolle in den Akkumulator und die wichtigsten in das Register B.

DIV AB. Division 8-Bit-Integer. Führt Ganzzahldivision vorzeichenlose 8-Bit Akkumulator zwischen dem Register B. Der Akkumulator ist das Ergebnis (Quotient), während der Rest der ganzzahligen Division ist in das Register B.

Loading
copyright © 2007-2024  www.alciro.org  All rights reserved.         
Share |