¿Cuál es el significado de 0DH, 0AH, 24H usado para imprimir un mensaje en la Asamblea?

Voy a adivinar que estás codificando el ensamblado 8086 en DOS y haciendo llamadas al servicio MS-DOS interrumpe INT 21h , con AH configurado en el valor 9. O, tal vez estás usando CP / M y están llamando a la función BDOS 9.

¿Por qué? Porque esos detalles son importantes y deberían ser parte de su pregunta, en realidad. Hay muchos, muchos tipos de lenguaje ensamblador y muchos más entornos operativos. Ambos son importantes para su pregunta. Si mis suposiciones en el primer párrafo no son correctas, entonces al menos parte de mi respuesta puede ser incorrecta.

  • 0Dh es la constante hexadecimal para el carácter de retorno de carro en ASCII, a menudo abreviado CR.
  • 0Ah es la constante hexadecimal para el carácter de 0Ah línea en ASCII, a menudo abreviado LF.
  • 24h es la constante hexadecimal para el carácter ‘$’ en ASCII.

La secuencia CR + LF es la secuencia de final de línea en los sistemas MS-DOS y Windows. Así es como se especifica un salto de línea. Al imprimirlo, el cursor se mueve a la siguiente línea. Eso no es específico del lenguaje ensamblador, sino de lo que el sistema operativo define como final de línea . Otros sistemas operativos usan solo CR, LF o algún otro carácter si no están basados ​​en ASCII.

¿Qué tal 24h ? Es el ‘$’, que en la mayoría de los idiomas es solo un signo de dólar. Pero por cualquier razón loca, CP / M usó ‘$’ como un terminador de cadena para los mensajes impresos con esa API . MS-DOS copió CP / M. Entonces, 24h es un terminador de cadena en esos entornos operativos, cuando se usa esa API específica .

Ese detalle no es específico del lenguaje ensamblador per se, sino de CP / M y MS-DOS.

El contexto es importante para su pregunta. Mi respuesta solo se aplica si adivino su contexto correctamente. Debe incluir más contexto (qué procesador, qué ensamblador, qué sistema operativo, etc.) en futuras preguntas que haga aquí, para asegurarse de obtener una respuesta significativa.


EDITAR : Una cita divertida con respecto a este misterioso signo de dólar:

Pregúntele a Bill [Gates] por qué la cadena en la función [MS-DOS] 9 termina con un signo de dólar. Pregúntale, porque no puede responder. Solo yo se eso.

—Gary Kildall, autor de CP / M.