Foros del Web » Programación para mayores de 30 ;) » Programación General »

Programar en ensamblador una tabla de multiplicar

Estas en el tema de Programar en ensamblador una tabla de multiplicar en el foro de Programación General en Foros del Web. Muy buenas, estaba intentando programar en ensamblador una tabla de multiplicar, puede ser de cualquier dígito (por ejemplo del 2) pero no me sale nada ...
  #1 (permalink)  
Antiguo 13/05/2012, 09:44
 
Fecha de Ingreso: mayo-2012
Mensajes: 60
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta Programar en ensamblador una tabla de multiplicar

Muy buenas, estaba intentando programar en ensamblador una tabla de multiplicar, puede ser de cualquier dígito (por ejemplo del 2) pero no me sale nada pues casi no tengo información.
Tendrían algún ejemplo de una rutina de multiplicación o una tabla ya hecha para entenderla por favor?
Gracias
  #2 (permalink)  
Antiguo 16/05/2012, 15:38
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 14 años, 6 meses
Puntos: 69
Respuesta: Programar en ensamblador una tabla de multiplicar

pero sabes como obtener el numero, o el numero ya viene declarado en el codigo?
aquí te escribo uno para cualquier numero:

Código:
.model small
.stack 32
.data
	;aqui se definen tus variables, pero no vamos a definir vamos a leer una
.code
	main proc far
	mov ax, @data
	mov ds, ax
	;aqui inicia nuestro código
	
	;pedimos un número
	mov ah, 01h
	int 21h
	
	;esa interrupcion nos da el carácter (asccii) del número en AL
	sub al, 48
	;al restarle 48 obtendremos el numero en realidad y no el ascci del numero

	mov cx, 1 ;para iniciar desde el uno las tablas
	mov ah, 0 ;limpio la parte alta de AX
	
tabla:
	cmp cx, 10
	je salir ;cuando CX sea 10 sale y deja de imprimir la tabla, si la querés hasta el 100 ps poned un 100
	
	mov bl, al ;guardamos nuestro numero en otro registro
	mul cl ;esto multiplica el valor de CL por AL y te da el resultado en AX
	;ahora lo imprimimos poniendolo en dl
	mov dx, ax
	add dx, 48 ;sumamos 48 para que salga el char ascci y no otro caracter raro
	mov ah, 02h
	int 21h
	
	;regresamos el numero a al para la siguiente multiplicacion
	mov al, bl
	
	;incrementamos CX para obtener el siguiente
	inc cx
	jmp tabla ;esto hace un salto a la etiqueta tabla, osea vuelve a hacer lo de arriba
	
salir:
	;aqui finaliza nuestro código
	mov ax, 4c00h
	int 21h
	main endp
end
Si no estas usando las interrupciones aún, pues lo haces con un numero declarado en .data...los comentarios inican con ;;;; (punto y coma) no creas que son para finalizar sentencias
__________________
De nada, hay te encargo +1...

Última edición por zero0097; 16/05/2012 a las 17:35 Razón: faltas de ortografía xD
  #3 (permalink)  
Antiguo 21/05/2012, 14:50
 
Fecha de Ingreso: mayo-2012
Mensajes: 60
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Programar en ensamblador una tabla de multiplicar

me valio muchas gracias!!!

Etiquetas: acarreo, ensamblador, multiplicacion, multiplicar, programacion, registros, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:55.