.MODEL SMALL
.STACK 64
.DATA
N DB ?
ASC1 DB 3 DUP(?)
ASC2 DB 3 DUP(?)
ASCRES DB 4 DUP(?)
MSG1 DB 13,10,'== MULTIPLICACION == INTRODUCIR EL TAMANO DEL NUMERO: $',13,10
MSG2 DB 13,10,'INTRODUCIR EL NUMERO: $',13,10
MSG3 DB 13,10,'LA TECLA PRESIONADA NO ES NUMERO$',13,10
MSG4 DB 13,10,'LA MULTIPLICACION ES: $',13,10
.CODE
MAIN PROC NEAR
MOV AX,@DATA
MOV DS,AX
LEA DX, MSG1
MOV AH,09
INT 21H
MOV AH,01H
INT 21H
CMP AL,030H
JS S
CMP AL,03AH
JNS S
SUB AL,30H
MOV N,AL
LEA DX,MSG2
MOV AH,09
INT 21H
MOV CL,N
MOV SI,0
R:
MOV AH,01H
INT 21H
MOV ASC1[SI],AL
INC SI
LOOP R
LEA DX,MSG2
MOV AH,09
INT 21H
MOV CL,N
MOV SI,0
RR:
MOV AH,01H
INT 21H
MOV ASC2[SI],AL
INC SI
CLC
LOOP RR
LEA SI,ASC1+2
LEA DI,ASC2+2
LEA BX,ASCRES+3
MOV CX,03
A20:
MOV AH,00
MOV AL,[SI]
MOV CL,[DI]
MUL AL
AAM
MOV [BX],AL
DEC SI
DEC DI
DEC BX
LOOP A20
MOV [BX],AH
LEA BX,ASCRES+3
MOV CX,04
A30:
OR BYTE PTR[BX],30H
DEC BX
LOOP A30
LEA DX,MSG4
MOV AH,09H
INT 21H
MOV AH,09H
LEA DX,ASCRES
INT 21H
JMP SALIR
S:
LEA DX,MSG3
MOV AH,09H
INT 21H
SALIR:
MOV AX,4C00H
INT 21H
MAIN ENDP
END