Uno de mis ingenieros vino a mí con una pregunta que no puedo responder. Esto es para un proyecto que usa un controlador PIC16F, todo escrito en ensamblador.
Él está definiendo una constante que quiere que su programa use de dos maneras diferentes: como un entero para usar dentro del programa y el mismo entero expresado como una cadena ASCII para usar dentro de su comunicación serial rutinas.
La forma estándar en que he hecho esto en el pasado es simplemente hacer que el PIC convierta esa constante a una cadena ASCII en tiempo de ejecución. Sin embargo, como es una constante, debería ser posible hacer que el compilador realice la conversión.
Lo he pensado y la respuesta no me viene a la mente de inmediato.
Él está definiendo la constante de la siguiente manera:
#DEFINE gFORCE_MIN 250
Él está definiendo el equivalente ASCII de la siguiente manera:
#DEFINE gFORCE_MIN_STR "250"
La idea es que modifique solo una constante y el ensamblador automáticamente la convierta en el valor ASCII delimitado por comillas dobles.
Su último intento devuelve lo siguiente después del ensamblaje:
DT "gFORCE value ","gFORCE_MIN" returns: gFORCE value gFORCE_MIN
Actualmente está usando MPLAB 8.92.