La Web del Programador: Comunidad de Programadores
 
    Pregunta:  65226 - COMANDOS ASSEMBLER
Autor:  Exduy Valenzuela
Buenas tardes, este código me lo enviaron y supuestamente debería mostrar los caracteres consecutivos desde la A a la I..pero no funciona..por favor si ves el error y me explicas un poco te lo agradecería , feliz tarde...el código a continuación:

.model small
.data
PRINT_A_J PROC
MOV DL, A ; inicia con el carácter A
MOV CX, 10 ; imprime 10 caracteres
PRINT_LOOP:
CALL WRITE_CHAR ; imprime carácter
INC DL ; siguiente carácter del alfabeto
LOOP PRINT_LOOP ; continua
MOV AH, 0ACH ; retorna al DOS
INT 21h
PRINT_A_J ENDP
WRITE_CHAR PROC
MOV AH, 02 ; activa el código de la función para sacar CHAR
INT 21h ; imprime el carácter que está en DL
RET
WRITE_CHAR ENDP
END PRINT_A_J

  Respuesta:  Raul
Creo que todo el problema es como especificas los datos.

Al principio tienes MOV DL, A no sé si tu compilador lo aceptará como un carácter o como valor héxadecimal. Prueba mejor MOV DL, 41h.

La siguiente MOV CX, 10d ó MOV CX, Ah

La función de retorno al DOS no me suena, yo siempre uso:
MOV AX, 4C00h
INT 21h

Y para imprimir el carácter:
MOV AH, 02h