miércoles, 4 de julio de 2012

Tabla de multiplicar en Assembly

En la facultad nos empezaron a enseñar Assembly muy básico, como sabrán es un lenguaje de bajo nivel, sirve básicamente para comunicación directa con Hardware. Les quiero dejar un ejemplo de como hacer la tabla de multiplicar del numero que ingresen, lastimosamente el numero tiene que ser de un dígito, después le hago al entrada para que observen como leer números de 2 o más dígitos.

.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


Disculpad que no les coloree el texto pero el plugin no tiene soporte para Assembly Lenguage :(, en fin cualquier duda con gusto.

2 comentarios:

  1. Hola amigo como andas? por las dudas podrias pasarme un tutorial de como crear un filtro MAC para un modem KOZUMI por favor

    ResponderEliminar
    Respuestas
    1. Solo entra a la configuracion de tu modem colocando tu Puerta de enlace predeterminada en un navegador, i por alli busca ajustes o herramientas, y busca por el filtro mac, o el dhcp... para ese modem en particular no te se decir exactamente como se hace, puedes chekar si hay alguna info en su pagina oficial: http://www.kozumi-usa.com/

      Eliminar

Deja un comentario! =)