___ instrucción qstnhdr ___ en el ensamblaje 8051 ______ qstntxt ___

Tengo problemas para entender qué hace esta instrucción Número de MOV, # (4 + 3) SHL (4) SHR (4) Google me dio este "operand1 SHL operand2" que es diferente a la instrucción que escribí anteriormente. ¿Alguien puede por favor explicármelo? También tengo problemas para entender qué hace este código. %code%

    
______ answer337080 ___

Los registros en el 8051 se asignan a las primeras direcciones de la RAM interna, de este modo:

0x00 - > 0x07 --- > Los registros R0 a R7 del conjunto de registros 0

0x08 - > 0x0F --- > Los registros R0 a R7 del conjunto de registros 1

0x10 - > 0x17 --- > Los registros R0 a R7 del conjunto de registros 2

0x18 - > 0x1F --- > Los registros R0 a R7 del conjunto de registros 3

Dado que muchas de las instrucciones 8051 pueden abordar directamente la RAM interna, es posible componer una instrucción MOV que pueda mover datos a uno de los registros utilizando su dirección RAM interna correspondiente.

Algunos compiladores o conjuntos de herramientas de lenguaje ensamblador crearán símbolos intrínsecos que especifican direcciones de RAM internas. AR0 es un ejemplo de esto. Es común que AR0 se defina como 0x00 para que haga referencia a la ubicación de la memoria donde el registro R0 se almacena en el conjunto de registros 0. En su ejemplo, la declaración "USANDO 1" dice que se use el conjunto de registros 1 para que cuando la siguiente instrucción "MOV Se encuentra R0, # 1 "y termina almacenando el valor de 1 en la ubicación de la memoria interna 8, mientras que la siguiente instrucción" MOV AR0, # 2 "coloca el valor de 2 en la dirección que representa AR0 (probablemente 0x00).

    
___

0

Tengo problemas para entender qué hace esta instrucción Número de MOV, # (4 + 3) SHL (4) SHR (4) Google me dio este "operand1 SHL operand2" que es diferente a la instrucción que escribí anteriormente. ¿Alguien puede por favor explicármelo? También tengo problemas para entender qué hace este código. using 1 MOV R0,#1 MOV AR0,#2 /* what do we use AR0? since I have always used the instruction mov rn,#immediate and this one is new to me */ SETB RS0
MOV R0,#3

    
pregunta layla

1 respuesta

3

Los registros en el 8051 se asignan a las primeras direcciones de la RAM interna, de este modo:

0x00 - > 0x07 --- > Los registros R0 a R7 del conjunto de registros 0

0x08 - > 0x0F --- > Los registros R0 a R7 del conjunto de registros 1

0x10 - > 0x17 --- > Los registros R0 a R7 del conjunto de registros 2

0x18 - > 0x1F --- > Los registros R0 a R7 del conjunto de registros 3

Dado que muchas de las instrucciones 8051 pueden abordar directamente la RAM interna, es posible componer una instrucción MOV que pueda mover datos a uno de los registros utilizando su dirección RAM interna correspondiente.

Algunos compiladores o conjuntos de herramientas de lenguaje ensamblador crearán símbolos intrínsecos que especifican direcciones de RAM internas. AR0 es un ejemplo de esto. Es común que AR0 se defina como 0x00 para que haga referencia a la ubicación de la memoria donde el registro R0 se almacena en el conjunto de registros 0. En su ejemplo, la declaración "USANDO 1" dice que se use el conjunto de registros 1 para que cuando la siguiente instrucción "MOV Se encuentra R0, # 1 "y termina almacenando el valor de 1 en la ubicación de la memoria interna 8, mientras que la siguiente instrucción" MOV AR0, # 2 "coloca el valor de 2 en la dirección que representa AR0 (probablemente 0x00).

    
respondido por el Michael Karas

Lea otras preguntas en las etiquetas