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

[asm].model small .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[/asm]

Programa que desplaza una palabra hacia arriba y abajo con las teclas 1 y 2 respectivamente

[asm].model small .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[/asm]

Comentarios

2006-09-26 19:09:07
lightme
Dicho y hecho...el asm es un joda :P
2006-09-26 19:55:24
Victor
y valla que si jeje
2006-10-13 12:13:54
Claudia
hola amiguito
2006-10-13 12:29:41
Victor
Hola amiguita :D jeje ... ¡Póngase a estudiar y no esté dejando SPAM por donde quiera!
2006-11-12 19:02:21
alex
oye necesito ayuda con ensamblador....
2006-11-12 19:22:02
Victor
Alex, ¿Podrías poner tu pregunta acerca de ensamblador en el foro porfavor ;-)?
2006-11-13 14:04:37
link
pongan programas en java
2006-11-13 14:50:00
Victor
Tal vez para despues de Enero comienze a poner ejemplos en Java. Por el momento es solo proyecto a futuro :D sorry :-(
2006-11-27 20:38:25
DJK
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
2006-11-28 10:16:20
Victor
hmm, ya lo haz insertado en el formulario?