Soy muy nuevo en Lenguaje de ensamblaje. Estaba leyendo acerca de MIPS arquitectura y estoy atascado con el último campo del formato de registro (formato R). Aquí está su representación visual, ¿Alguien puede por favor ayudarme con qué significa el sexto campo y cómo lo calculamos? Gracias de antemano.¿Qué significa func en el conjunto de instrucciones R-Format?
Respuesta
como la descripción menciona todas las instrucciones de tipo R (por ejemplo ADD
, AND
, SLL
y otros) tienen los 6 bits más significativos (= op) establece en 0, que significa que la única manera de distinguir entre ellos es mira los 6 bits menos significativos (= funct). En otras palabras, determinan el tipo de instrucción. Tal vez un ejemplo ayude.
ADD $1, $2, $3
tiene:
op = 0 (as all R-type instructions)
rs = 2
rt = 3
rd = 1
shamt = 0
funct = 0x20 = 0b00000100000 = 32
La codificación se por lo tanto ser:
0000 0000 0100 0011 0000 1000 0010 0000
Por ejemplo, XOR
(otro tipo de R) instrucción funct es 0b100110 = 0x26 = 38
. Entonces lo "calcula" buscando qué instrucción quiere codificar.
(tomado de MIPS Instruction Reference).
Desde siguiente tabla:
http://en.wikibooks.org/wiki/MIPS_Assembly/Instruction_Formats#Opcodes
Casi Todo código de operación de la instrucción R-Type es 00, por lo que la func seleccione la función ALU.
Func Para obtener instrucciones que comparten un código de operación, el parámetro de func contiene los códigos de control necesarias para diferenciar las diferentes instrucciones. 6 bits de largo (0 a 5). Ejemplo: Opcode 0x00 accede a la ALU y la función selecciona qué función ALU usar.
: Gracias por la respuesta. –
- 1. ¿Qué significa el error "CPU que seleccionó no admite el conjunto de instrucciones x86-64"?
- 2. ¿Qué es el conjunto de instrucciones ARM Thumb?
- 3. ¿Qué conjunto de instrucciones utilizan los microprocesadores Tilera?
- 4. ¿Qué significa exactamente el conjunto de caracteres y la intercalación?
- 5. x86 conjunto de instrucciones hoja de ruta
- 6. ¿Qué significa un "conjunto + 0" en una declaración de SQL?
- 7. ¿Qué significa el texto entre paréntesis en las instrucciones @interface y @implementation?
- 8. Dirección/Signo Extender bit en conjunto de instrucciones x86
- 9. ¿Qué ensambladores actualmente son compatibles con el conjunto de instrucciones AVX?
- 10. Scala: ¿Qué significa para aprobar un conjunto a la función de mapa de un conjunto
- 11. ¿Qué significa doble paréntesis en una llamada a función? p.ej. func (cosas) (cosas)?
- 12. ¿Qué significa $$ en el shell?
- 13. ¿Qué significa "?" significa en Java?
- 14. Conjunto de instrucciones alfanumérico x86 de Turing Completo (Subconjunto)
- 15. ¿qué significa "$ &" significa en Ruby
- 16. ¿Qué significa '??' significa en C#?
- 17. ¿Qué significa el parcial?
- 18. ¿Qué significa @! significa en un De declaración
- 19. ¿Qué significa el DTMobileIS?
- 20. ¿Qué significa Field.Index.NOT_ANALYZED_NO_NORMS significa
- 21. ¿Qué significa ('../') significa?
- 22. ¿Qué significa "if (stage) init();" significa en ActionScript?
- 23. ¿Qué significa "babosa" significa
- 24. ¿Qué nombres de directorios '.' y '..' significa y ¿qué significa faDirectory?
- 25. ¿Qué significa "$$" en el script de shell?
- 26. ¿Qué significa el símbolo '/' en el CSS
- 27. ¿Cómo habilito el conjunto de instrucciones SSE/SSE2 en Visual Studio 2008 (usando CMake)?
- 28. ¿Qué significa "outb" en AT & T asm?
- 29. ¿Qué significa "1"? significa en Perl?
- 30. ¿Qué significa "rc" significa en archivos punto
¿Puedes explicar cómo obtuviste func = 0x20? –
@JustAnotherProgrammer: lo busqué en una tabla (como la de arsane [linked] (http://en.wikibooks.org/wiki/MIPS_Assembly/Instruction_Formats#Opcodes) to). La función para 'agregar' es' 0x20'. – user786653
Gracias por la ayuda :) –