DATOS SEGMENT RES DW 1 DIEZ DW 10 MENSAJE DB "$" LINEA_FACTOR DB 13,10," $" ERROR_INGRESO DB 13,10,"$" CADENANUM DB 4 DUP(?) CADENARES DB 10 DUP(?) DATOS ENDS ; PILA SEGMENT STACK DB 252 DUP(?) PILA ENDS ; CODIGO SEGMENT ASSUME CS:CODIGO, DS:DATOS, SS:PILA INICIO: MOV AX,DATOS MOV DS,AX MOV DX,OFFSET MENSAJE ;IMPRIMIR MENSAJE MOV AH,9 INT 21H ; MOV DX,OFFSET CADENANUM ;LEE CADENA NUMERICA MOV SI,DX MOV BYTE PTR[SI],2 ; UN SOLO DIGITO MOV AH,0AH INT 21H SUB CH,CH ; HACER CH = 0 MOV CL,[SI+2] ; CARACTER DE DIGITO A NUMERO SUB CL,"0" ; CX CONTIENE NUMERO CMP CL,9 JE ERRORNUMERO ; CALL FACTORIAL ; LLAMA AL PROCEDIMIENTO FACTORIAL ; EL VALOR DEL FACTORIAL ESTA EN LA VARIABLE RES ; ; ; INICIO DE CONVIERTE NUMERO A CADENA MOV CX,0 ; CONTADOR DE NUMERO DE DIGITOS SALVADOS EN LA PILA MOV AX,RES ; NUMERO A CONVERTIR EN CADENA O...
Comentarios
Publicar un comentario