Introducción a las instrucciones de montaje

1. Clasificación de las instrucciones de montaje

¡Hay en total 7 modos de direccionamiento y 111 instrucciones en las instrucciones de montaje!

  • Número de bytes
    • Instrucciones de un solo byte: 49
    • Instrucciones de doble byte: 46
    • Instrucciones de tres bytes: 16
  • calcular la velocidad
    • Instrucciones de ciclo único: 65
    • Instrucciones de dos ciclos: 44
    • Instrucciones de cuatro ciclos: 2
  • Caracteristicas
    • Categoría de transferencia de datos: 29
    • Operaciones aritméticas: 24 elementos
    • Operaciones lógicas: 24 elementos
    • Categoría de transferencia de control: 17
    • Categoría de operación de bits: 17

Dos, formato de instrucciones de montaje

[Etiqueta:] mnemónico [operando] [; comentario]

  • Etiqueta: indica la ubicación de la instrucción, lo que equivale a marcar la ubicación de la instrucción almacenada en la ROM;
  • Mnemotécnico: esta es una parte esencial de una instrucción;
  • Operando: puede haber varios o ninguno, debe determinarse de acuerdo con la instrucción;
  • Nota: Se utiliza para explicar el significado de la declaración escrita, o alguna descripción del programa, que se puede dar según sea necesario.

3. Descripción de símbolos comunes en las instrucciones de montaje

  • Rn: Uno de los registros R0 ... R7 en el registro de trabajo
  • Ri: Registrar R0 o R1 en el registro de trabajo
  • #data: datos inmediatos de 8 bits
  • # data16: datos inmediatos de 16 bits
  • directo: la dirección de la RAM en el chip o SFR (8 bits)
  • @: Registro de direccionamiento indirecto
  • Bit: dirección de bit que se puede direccionar en bit en la RAM o SFR en el chip
  • addr11: dirección de destino de 11 bits
  • addr16: dirección de destino de 16 bits
  • Rel: desplazamiento de dirección de 8 bits en complemento
  • $: La dirección del primer byte del comando actual
  • X: Dirección directa o registro de RAM en chip
  • (X): el contenido en la unidad de dirección correspondiente
  • ←: El contenido a la derecha de la flecha se envía a la unidad a la izquierda de la flecha
  • →: El contenido a la izquierda de la flecha se envía a la unidad a la derecha de la flecha

4. Instrucciones de transferencia de datos (29 elementos)

Instrucción mnemotécnica

MOV 、 MOVX 、 MOVC 、 XCH 、 XCHD 、 SWAP 、 PUSH 、 POP

Instrucciones con acumulador como operando de destino (4 elementos)

MOV A, Rn    		;Rn→A
MOV A, direct		;(direct)→A
MOV A, @Ri	   		;(Ri)→A
MOV A, #data			;data→A

Instrucciones con el registro Rn como operando de destino (3 elementos)

MOV Rn, A			;A →Rn	
MOV Rn, direct		 ;(direct)→Rn
MOV Rn, #data		;data→Rn

Instrucciones con dirección directa como operando de destino (5 elementos)

MOV direct, A		;A→(direct)
MOV direct, Rn		;Rn→(direct) 	
MOV direct1,direct2	
MOV direct, @Ri		;(Ri) →(direct) 
MOV direct, #data 	;data→(direct)

Instrucciones con dirección indirecta como operando de destino (3 elementos)

MOV @Ri, A          ;A →(Ri)
MOV @Ri, direct		;(direct) →(Ri)
MOV @Ri, #data		;data →(Ri)

Instrucción de transmisión de dieciséis dígitos (1 artículo)

MOV DPTR, #data16

8051 es una máquina de 8 bits, que es la única instrucción de transferencia inmediata de 16 bits.
Función: Envía un dato inmediato de 16 bits a DPTR. Los 8 bits superiores se envían a DPH y los 8 bits inferiores se envían a DPL.

Instrucciones de transferencia de datos entre el acumulador A y la RAM fuera del chip (4 elementos)

MOVX A, @Ri
MOVX @Ri, A
MOVX A, @DPTR
MOVX @DPTR, A

En 51, solo el acumulador A puede manejar la memoria RAM externa. Todos los datos que deben enviarse a la RAM externa deben enviarse a través de A, y todos los datos de la RAM externa que se van a leer también deben leerse a través de A.
Aquí podemos ver la diferencia entre RAM interna y externa, los datos se pueden transferir directamente entre RAM interna, pero no externa.

Leer las instrucciones de la memoria del programa (2 elementos)

MOVC A, @A+DPTR
MOVC A, @A+PC

Este grupo de instrucciones es enviar el número en ROM a A. Este grupo de instrucciones también se denomina instrucción de búsqueda de tabla Esta instrucción se utiliza a menudo para buscar una tabla que se ha preparado en ROM. Explicación: El resultado de la búsqueda se coloca en A. Por lo tanto, el valor en A es diferente antes y después de que se ejecute esta instrucción.

Operación de pila (2 artículos)

PUSH  direct    ;SP ← SP+1,(SP) ← (direct)
POP   direct    ;(direct) ← (SP), SP←SP-1

La primera es una instrucción push, que es enviar el contenido de direct a la pila; la
segunda es una instrucción pop, que es enviar el contenido de la pila de vuelta a direct.

Instrucciones de cambio (5 artículos)

XCH   A, Rn	    	;A←→Rn
XCH   A, direct   	;A←→(direct)
XCH   A, @Ri		;A←→(Ri)
XCHD  A, @Ri	   	;A.3~A.0←→(Ri).3~(Ri).0
SWAP  A		    	;A.3~A.0←→A.7~A.4

5. Instrucciones de operación aritmética (24 elementos)

Mnemotécnico

AÑADIR 、 ADDC 、 INC 、 SUBB 、 DEC 、 DA 、 MUL 、 DIV

Instrucción de adición

1. Instrucciones adicionales sin broca de transporte (4 artículos)

ADD A,#data 		;A+data→A
ADD A,direct 		;A+(direct )→A
ADD A,Rn 		    ;A+Rn→A
ADD A,@Ri 			;A+(Ri)→A

2. Instrucciones adicionales con broca de transporte (4 artículos)

Las instrucciones de adición con bit de acarreo se utilizan a menudo en instrucciones de adición de varios bytes

ADDC A,Rn			;A+Rn+CY→A
ADDC A,direct		;A+(direct )+CY→A
ADDC A,@Ri			;A+(Ri)+CY→A
ADDC A,#data		;A+data+CY→A

3. Agregue 1 instrucción (5 elementos)

INC  A			;A+1→A,影响P标志
INC  Rn			;Rn+1→Rn
INC  direct		;(direct)+1→(direct)
INC  @Ri		;((Ri))+1→((Ri))
INC  DPTR		;DPTR+1→DPTR

4. Instrucción de ajuste decimal (1 artículo)

Al realizar la adición de código BCD, se utiliza para corregir automáticamente el resultado de la adición de código BCD siguiendo las instrucciones ADD y ADDC.

DA  A

Ejemplo: A = 0001 0101 BCD (representa 15 en decimal)

ADD  A,#8	;执行完之后,A = 1DH
DA  A		;调整后,A = 23H

Instrucción de resta

1. Instrucciones de resta con préstamo (4 elementos)

SUBB A,Rn	     	;A-Rn-CY→A
SUBB A,direct 		;A-(direct )-CY→A
SUBB A,@Ri	     	;A-(Ri)-CY→A
SUBB A,#data		;A-data-CY→A

Supongo que te gusta

Origin blog.csdn.net/qq_43580193/article/details/108300852
Recomendado
Clasificación