Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/09/2009, 17:13
Cibercito
 
Fecha de Ingreso: septiembre-2009
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
Pregunta Una pequeña ayudita con Assembler!!!

Hola a todos, soy nuevo en este foro y la verdad que esta excelente; demasiados temas interesantes que sirven de muchisima ayuda.

Bueno les cuento mi problema e inconveniente.

He estado realizando un programita en Assembler que me permite calcular el factorial, pero no he podido realizar la impresion, ni la lectura para calcular dicho factorial, no se que me falta o en que voy mal.


Primero lo cargo en la direccion de tasm que me permite ver si esta bien y realmente no me sale ningun error, despues lo cargo en turbo assembler como tlink factorial.obj y todo perfecto ya despues al momento de ejecutarlo y llamarlo como factorial.exe no sale ningun mensaje, ni tampoco ninguna impresion.

De antemano muchas gracias por la colaboracion.

Tengo entendido que para la impresion de cadena de caracteres se utiliza:

mov ah,9
int 21 h

pero ni idea de donde colocarlo, ya que he intentado por todos lados y nada a no ser que me falte algo adicional.

Este es el programa Factorial.asm

DOSSEG
.MODEL SMALL
.STACK 100h
.DATA
DATO_1 DB 0
DATO_2 DB 0
.CODE
FACT_DATO_1 DW 0
RESULT DW 0,0


START PROC
MOV AX, (arroba)DATA
MOV DS, AX
MOV SP, 64
MOV CL, DATO_1
CALL FACTOR
MOV FACT_DATO_1, AX
MOV CL, DATO_2
CALL FACTOR
MOV BX, FACT_DATO_1
MUL BX
MOV RESULT, AX
MOV RESULT+2, DX
MOV DX, OFFSET RESULT + 2
MOV AX, 4c00H
INT 21H


START ENDP
FACTOR PROC NEAR
MOV AX, 1
XOR CH, CH
CMP CX, 0
JZ FIN
IR:
MUL CX
DEC CX
JNZ IR
FIN:
RET

FACTOR ENDP
END