DCPU-16 incluye 8 registros generales llamados A, B, C, X, Y, Z, I
y J
. Es un poco un "tropo" de programador usar I
y J
para contadores de bucle. En DCPU-16, están los registros especializados I
y J
, que solo deben usarse en bucles, ¿o acaso todos terminan con el mismo color al final?¿Los registros I y J son especiales en DCPU-16?
Respuesta
Todo indica que los ocho registros principales del DCPU-16 son de "propósito general": mientras que están "destinados" para un uso determinado, los programadores pueden usarlos como lo deseen. El x86 tiene una arquitectura similar para sus registros generales.
El único propósito especial se registra en DCPU-16 son SP, PC y O.
Editar: La especificación DCPU 1,3 introduce una sola instrucción (MVI) que añade 1 tanto a I y J después de ejecutar, con el intención de ser utilizado como una copia de memoria rápida. Notch ha expresado que le desagrada esto, por lo que eventualmente podría perderse, pero ahora I y J son un poco especiales.
La intención de los registros x86 está codificada en el conjunto de instrucciones; si los utiliza como se los imaginó originalmente para ser utilizados, las instrucciones tienden a caber en 1 byte. http://www.swansontec.com/sregisters.html tiene un tratamiento completo – rmmh
Hoy aprendí, etc., etc. – zaratustra
Estoy seguro de que las convenciones surgirán pero el conjunto de instrucciones es completamente ortogonal con respecto a los registros A, B, C, X, Y, Z, I
y J
, por lo que no hay diferencia entre ellos inherente al DCPU-16
.
- 1. Es "int i = x ++, j = x ++;" ¿legal?
- 2. jQuery: Ajax diéresis y los caracteres especiales son un desastre
- 3. ¿Qué son los registros de llamadas y de llamadas guardadas?
- 4. cómo declarar i y j para que sea un ciclo infinito?
- 5. manejo de caracteres especiales, p. acentos en I
- 6. ¿Los punteros y matrices son diferentes en C?
- 7. accediendo a los registros OCaml
- 8. Caracteres especiales como @ y & en los datos de cURL POST
- 9. diferencia entre (++ i) y (i ++)
- 10. Dada una matriz no ordenada, encuentre el valor máximo de A [j] - A [i] donde j> i..en O (n) tiempo
- 11. Java XML DOM: ¿cómo son los Atributos id especiales?
- 12. ¿Por qué i = i + 1 es más rápido que i ++?
- 13. diferencia entre ++ i y i ++
- 14. ¿Los corchetes angulares (< or >) son especiales en una expresión regular?
- 15. ¿Cuáles son las diferencias prácticas entre formularios especiales y macros?
- 16. Lucene y caracteres especiales
- 17. ¿Por qué se nombran los registros x86 tal como son?
- 18. ¿Los registros de origen son frecuentes o infrecuentes?
- 19. buscar todos los registros donde dos condiciones son verdaderas
- 20. diferencia entre int * i y int * i
- 21. Seleccionar los 3 registros más recientes en los que los valores de una columna son distintos
- 22. Diferencia entre int * i y int ** i
- 23. evitar dos bucles en I
- 24. pykka - ¿Los actores son lentos?
- 25. ¿Cuál es la diferencia entre ++ $ i y $ i ++ en PHP?
- 26. Diferencia entre i ++ y ++ i en un bucle for
- 27. Funciones y tratar() en I
- 28. i = i ++ no incrementa i. ¿Por qué?
- 29. ¿Cuáles son los apodos para los personajes especiales de programación común?
- 30. ¿Qué son: + y &: + en Ruby?
Hasta donde yo sé, los únicos documentos oficiales están aquí: http://0x10c.com/doc/dcpu-16.txt. Así que no estoy seguro de que pueda obtener una respuesta a menos que Notch mismo visite este sitio :-) Supongo que no son registros "reservados" y que todos son de propósito general. –
El intérprete tiene 140 líneas de código C, no dude en echar un vistazo. No, nada especial sobre esos registros. –
@HansPassant ¿Dónde está este intérprete? –