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
- .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
Programa que desplaza una palabra hacia arriba y abajo con las teclas 1 y 2 respectivamente
- .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
lightme
2006-09-26 19:09:07
Dicho y hecho...el asm es un joda :P
Victor
2006-09-26 19:55:24
y valla que si jeje
Claudia
2006-10-13 12:13:54
hola amiguito
Victor
2006-10-13 12:29:41
Hola amiguita :D jeje ... ¡Póngase a estudiar y no esté dejando SPAM por donde quiera!
alex
2006-11-12 19:02:21
oye necesito ayuda con ensamblador....
Victor
2006-11-12 19:22:02
Alex, ¿Podrías poner tu pregunta acerca de ensamblador en el <a href="http://www.mis-algoritmos.com/foro" rel="nofollow">foro</a> porfavor ;-)?
link
2006-11-13 14:04:37
pongan programas en java
Victor
2006-11-13 14:50:00
Tal vez para despues de Enero comienze a poner ejemplos en Java. Por el momento es solo proyecto a futuro :D sorry :-(
DJK
2006-11-27 20:38:25
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
Victor
2006-11-28 10:16:20
hmm, ya lo haz insertado en <a href="http://www.mis-algoritmos.com/asm_in.php" title="Agregar código fuente en Ensamblador" rel="nofollow">el formulario</a>?
GEN
2009-05-18 15:16:23
Tengo de kompilador el NASM y no me jala kon su kodigo,
jaja no c por ke??????????????????
ke kompilador utilizan?
bye
Victor De la Rocha
2009-05-20 17:23:52
Puedes utilizar el ensamblador de Microsoft (hasta la version 5.x) es MASM.EXE o el ensamblador de Borland TASM.EXE.
Y para mayor información, te recomiendo comprar el siguiente libro:
<a href="http://books.google.com.mx/books?id=SSx9RVJmqa4C">Lenguaje ensamblador y programación para IBM PC y compatibles</a> (<i>Escrito por Peter Abel, Víctor Hugo Ibarra Mercado</i>)
rOsa
2010-04-13 19:33:15
cual es codigo necesario en lenguaje ensamblador que permita leer un caracter
y un codigo que permita leer el numero de una cifra
Leeandro
2010-08-21 15:47:21
Mae en que asm estas, en tasm?? o cual
tienes informacion acerca de la interrupcion 07h del 21h
Arauz
2010-11-27 13:21:02
Hola que tal, am quise utilizar tu codigo del "Programa que desplaza una palabra hacia arriba y abajo con las teclas 1 y 2 respectivamente" para realizar el de uno en el q imprima un asterisco y pueda moverlo en la direccion deseada, pero en la linea 19 m marca un error sobre el comando "lea" lo cambie por un MOV y creo q quedo. Creo que tambien en esa misma linea pusiste "lea dx,msg" en cuanto a lo que se, msg no es una direccion de memoria, entoncs m podrias ayudar en cuanto a que direccion puedo poner ahi?
Saludos.