Acabo de empezar a aprender el lenguaje ensamblador. Se me ocurrió el concepto de EQU. Al principio, ha tenido perfecto sentido hasta que llegué a DC.B. ¿Cuál es la diferencia entre DC.B y EQU? ¿No puedes usar EQU para cada constante? Gracias por la ayuda.EQU vs DC.B. ¿Cuál es la diferencia?
Respuesta
No estoy familiarizado con su sintaxis específica de ensamblador, por lo que esta es una suposición educada.
La directiva EQU se usa para decirle al ensamblador que usted desea tener una constante simbólica llamado (a menudo calculada a partir de otros valores ensamblador incluyendo otras definiciones EQU) que se puede hacer referencia a otros lugares en el texto original montaje. Siempre se debe escribir
symbolname EQU constantexpression
Esto le permite escribir symbolName en lugar de la ConstantExpression en otros lugares en su texto original. Pero este nombre por sí mismo no tiene un efecto directo en los datos binarios del programa ensamblado final.
"DB.B" (supongo que 'definir constante (byte)' se usa para decirle al ensamblador que con el programa ensamblado final tiene un byte de datos incrustado en la posición relativa en el archivo fuente " . usted escribe
optionalname DB.B constantexpression
que tienen el valor calculado de la expresión constante colocado en un byte de datos en los datos binarios del programa montado.
por lo tanto, es posible escribir
AnEvenNumber EQU 2
MyEvenNumber DB.B AnEvenNumber
La primera línea produce solo una constante con nombre, y sin la segunda, no tiene efecto en su binario. La segunda línea produce un byte en su binario, que contiene el valor designado por la constante de símbolo nombrada.
Observe que la directiva DB.B también permite un nombre opcional; este símbolo también se puede usar en otros lugares en su código. Dependiendo de la sofisticación de su ensamblador, es posible que pueda definir
LocationOfEvenNumber EQU MyEvenNumber
y
DW.W LocationOfEvenNumber
ahora la producción de una palabra en su archivo binario que "puntos" a su byte de datos binarios.
- 1. ¿Cuál es la diferencia entre equ y db en NASM?
- 2. ¿Cuál es la diferencia entre% define y equ en NASM?
- 3. ¿Cuál es la diferencia entre() vs [] vs {}?
- 4. SET vs. SELECT - ¿Cuál es la diferencia?
- 5. JIT vs NGen: ¿cuál es la diferencia?
- 6. CATALINA_OPTS vs JAVA_OPTS - ¿Cuál es la diferencia?
- 7. Char.IsDigit() vs Char.IsNumber(), ¿cuál es la diferencia?
- 8. node.js vs. meteor.js ¿cuál es la diferencia?
- 9. Cuál es la diferencia entre colorWithSRGBRed vs colorWithDeviceRed vs colorWithCalibratedRed
- 10. Paquete Java Vs Carpeta-Estructura? cuál es la diferencia
- 11. Cuál es la diferencia entre String (value) vs value.toString()
- 12. ¿Cuál es la diferencia entre gets.chomp() vs. STDIN.gets.chomp()?
- 13. ¿Cuál es la diferencia entre X = X ++; vs X ++ ;?
- 14. ¿Cuál es la diferencia entre Cassandra vs Oracle Coherence?
- 15. VSTO vs. Ensambles primarios de interoperabilidad, ¿cuál es la diferencia?
- 16. ¿Cuál es la diferencia entre "git reset" vs "git rebase"?
- 17. ¿Cuál es la diferencia entre Selenium's Remote Control vs WebDriver?
- 18. Bases de datos relacionales vs. dimensionales, ¿cuál es la diferencia?
- 19. Linq. Cualquier VS. Exists - ¿Cuál es la diferencia?
- 20. GWT VS Google Closure, ¿cuál es la diferencia?
- 21. Java war vs. jar: ¿cuál es la diferencia?
- 22. Datastore Category vs. String: ¿cuál es la diferencia?
- 23. ¿Cuál es la diferencia entre Console.WriteLine() vs Debug.WriteLine()?
- 24. ¿Cuál es la diferencia entre "origen maestro" vs "origen/maestro"
- 25. Método vs propiedad en C# - ¿cuál es la diferencia
- 26. WPF Panel.Children vs Panel.InternalChildren - ¿Cuál es la diferencia?
- 27. git clone vs copy paste, ¿cuál es la diferencia?
- 28. Factory Girl vs. User.create: ¿cuál es la diferencia?
- 29. git project vs repository, ¿cuál es la diferencia fundamental?
- 30. -ms-filter vs filter ¿Cuál es la diferencia?
¿Con qué ensamblador está trabajando, en qué sistema operativo? Para que procesador? –
HC12? EQU solo define un símbolo constante, DC reserva espacio para una variable (.B lo convierte en un byte). – harold