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

Microcontroladores 8051

4.2. Instructions arithmétiques

Arithmétique des instructions microcontrôleur 8051.

Instructions arithmétiques de ces microcontrôleurs sont très limitées, peut additionner, soustraire, augmentation, diminution et a exceptionnellement été intégrée des produits et division de nombres entiers.

ADD A, octet. Somme des 8 bits. Ajouter le contenu de l'accumulateur avec un octet à l'adresse indiquée, le résultat est dans le réservoir.

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, octet. Addition avec Carry. La somme s'élève à Carry permet entier supérieur à 8 bits.

Exemple: Ajoutez deux variables entier de 16 bits qui sont les emplacements de mémoire 30H et 32H. Le résultat devrait être une troisième variable en position 34.

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

La figure suivante montre un aperçu du contenu de la mémoire pour effectuer l'addition de deux nombres entiers de 16 bits. Il est supposé que les données de la somme (35FEH 00003 H) ont déjà été établis et sont à l'étude dans cet exemple.

Somme des entiers 16-bit à l'Assemblée

SUBBED Un octet. Soustraire avec Carry. Soustraire le contenu d'un accumulateur d'octets à l'adresse indiquée, le résultat est dans le réservoir.

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

octet INC. Augmentation. Unité augmente le contenu d'un octet (Acc, registre, mémoire), à l'adresse indiquée.

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

octet décembre Diminution. Diminution d'une unité le contenu d'un octet (Acc, registre, mémoire), à l'adresse indiquée.

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

DA A. Ajuster accumulateur décimal. Cette instruction effectue la mise en format BCD (0-9) grignote de l'accumulateur (b0-b3 et b4 bits les moins significatifs b7-bits), le résultat de la somme avec les ADD ou d'une instruction ADDC. Cette instruction est utilisée lorsque vous travaillez avec BCD à 7 segments chiffres est nécessaire de travailler.

MUL AB. Multiplication de 8 bits. Effectue une multiplication d'entiers de 8 bits des valeurs non signées contenues dans le registre A et B. Le résultat est un entier de 16 bits, laissant la partie la moins importante dans l'accumulateur et le plus significatif dans le registre B.

DIV AB. Division 8-bit. Effectuer la division entière accumulateur 8-bits non signé entre le registre B. L'accumulateur est le résultat (quotient), tandis que le reste de la division entière est dans le registre B.

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