Mas de ensamblador
Hace casi dos semanas que comencé a programar en ensamblador y apenas comienzo a comprender cosas que antes ni con frijolitos entendía,… Aunque aún no se decir cuales jeje… Solo se que todo me confunde!!
Después de casi un mes de estar ensamblando código asm, hoy toca el turno al maestro de ensamblarnos a todos con su examen, y quien sabe que tan difícil valla a estar… Ya me tiemblan las patas de miedo, y encima de todo, estoy esperando los ataques de nervios que llegan cuando estoy en el examen… y cuando sucede, se me olvida todo y no me acuerdo ni de mi nombre!
Antes de morir en el examen dejaré mis últimos programas horriblemente desarrollados por mi ^^
Aplicación que muestra la tabla de multiplicar de un número dado
.stack
.data
N db ?
.code
.startup
;cls
mov ah,00h
mov al,03h
int 10h
;Tabla
mov ah,01h ;Input
int 21h ;Interrupcion de DOS
sub al,30h ;Ajustamos para realizar operaciones internas
mov N,al ;Tabla a visualizar
mov cl,00h ;Contador auxiliar
operaciones:
mov al,N ;AL = N
mul cl ;AL = AL * CL
aam ;Ajuste en ASCII para separa Acarreo
mov bx,ax ;AX lo almacenamos en BX
mov ah,02h ;Standar output
mov dl,' ' ;Separador
int 21h ;Interrupción de DOS
mov ah,02h ;Standar output
mov dl,bh ;PARTE ALTA
add dl,30h ;Ajuste para darle salida en pantalla
int 21h ;Interrupción de DOS
mov ah,02h ;Standar output
mov dl,bl ;PARTE BAJA
add dl,30h ;Ajuste para salida en pantalla
int 21h ;Interrupción de DOS
inc cl ;CL = CL + 1
cmp cl,10 ;IF CL = 10
je salir ;[salir]
;else
jne operaciones ;[Operaciones]
salir:
.exit
end
Programa que desplaza una palabra hacia arriba y abajo con las teclas 1 y 2 respectivamente
.stack
.data
msg db 'mis-algoritmos.com$'
fle db ?
.code
.startup
;cls
mov ah,00h ;Set video mode
mov al,03h ;mode
int 10h ;Interrupcion de video
;posición
mov ah,02h ;Salida
mov dh,08 ;row
mov dl,02 ;columna
int 10h ;interrupcion de video
;mensaje
mov ah,09h ;Print string
lea dx,msg ;
int 21h ;Interrupcion de DOS
movimiento: ;Determina movimiento a realizar
mov ah,07h ;Direct STDIN input, no echo
int 21h ;interrupcion de DOS
jmp compara ;VERIFICAMOS EL CARACTER INTRODUCIDO
subir:
mov ah,06h ;Scroll page up
mov al,1 ;Number of lines to scroll window (0=blank whole window)
mov bh,01h ;Attibutes to be used on blanked lines
mov cx,0001h ;Ch=00H Cl=01h --> fila, colum -> of upper left corner of window to scroll
mov dx,184fh ;Dh=18H Dl=4f --> fila, colum -> of lower right corner of window
int 10h ;Interrupción de video
jmp movimiento
bajar:
mov ah,07h ;Scroll page down
mov al,1 ;numer of lines to scroll window (0 = blank whole window)
mov bh,02h ;attributes to be used on blanked lines
mov cx,02h ;CH=00 CL=02H --> fila, colum -> of upper left corner of window to scroll
mov dx,184fh ;DH=18H DL=4F --> fila, colum -> of lower right corner of window
int 10h ;Interrupción de video
jmp movimiento ;
compara:
cmp al,13 ;tecla Enter
je salir ;
cmp al,49 ;tecla 1
je bajar ;
cmp al,50 ;tecla 2
je subir ;
salir:
.exit
end
10 Comments
Make A CommentComments RSS Feed TrackBack URL




September 26th, 2006 at 7:09 pm
Dicho y hecho...el asm es un joda
September 26th, 2006 at 7:55 pm
y valla que si jeje
October 13th, 2006 at 12:13 pm
hola amiguito
October 13th, 2006 at 12:29 pm
Hola amiguita
jeje ... ¡Póngase a estudiar y no esté dejando SPAM por donde quiera!
November 12th, 2006 at 7:02 pm
oye necesito ayuda con ensamblador....
November 12th, 2006 at 7:22 pm
Alex, ¿Podrías poner tu pregunta acerca de ensamblador en el foro porfavor ;-)?
November 13th, 2006 at 2:04 pm
pongan programas en java
November 13th, 2006 at 2:50 pm
Tal vez para despues de Enero comienze a poner ejemplos en Java. Por el momento es solo proyecto a futuro
sorry 
November 27th, 2006 at 8:38 pm
Hola a todos, bueno quiero compartir este codigo con ustedes, trata sobre el booteo desde disket, esto lo hicimos como ejemplo en el curso de sistemas operativos espero ke les sirva, para poder usarlo tienen ke kopiar este texto dentro de un archivo de texto con cualkiero nombre yo le puse dos.asm, insertar un disket formateado en la disketera y luego desde el promt de Windows XP tipeamos DEBUG
November 28th, 2006 at 10:16 am
hmm, ya lo haz insertado en el formulario?