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 |