Ejemplos en assembler
- Ejemplos introductorios assembler(Download PDF):En este archivo se encontrara la suma de números mediante asignación de datos a los registros, también nos enseña como mostrar por pantalla un carácter ASCII y hacer un bucle repetitivo todo esto se realiza en el DEBUG de windows.
Realizado en EMU8086 v4.08
Ejemplo 1: Mostrar su nombre en pantalla mediante interrupciones
org 100h ;Todo lo escrito despues de " ; " son comentarios ;escribir su nombre en pantalla jmp inicio ;salto incondicional a una etiqueta nombre db "Jorge Arce$";Para este caso el nombre tiene que terminar con $ inicio: ;etiqueta mov ah,9 ;con esto le digo a la interrupcion que escriba en pantalla mov dx,offset nombre ;con esto le indico la direccion del texto int 21h ;invoco a la interrupcion para escribir en pantalla int 20h ;invoco interrupcion para termina el programa ret
Ejemplo 2: Mostrar su nombre en pantalla mediante el acceso a la memoria del video en modo texto
org 100h
;escribir su nombre en pantalla accediendo a la memoria del video
jmp inicio
nombre db "Jorge Arce";Guardo en una variable mi nombre
inicio: ;etiqueta para saltos de memoria
mov dx,0b800h ;guardo la direccion del video en dx
mov es,dx ;direcciono el video al segmento extra
mov cx,10 ;guardo en cx la cantidad de caracteres de la variable nombre
mov si,0 ;inicializo la posicion del primer caracter
mov di,offset nombre ;direcciono en "di" la direccion inicial de nombre
bucle: ;etiqueta para el bucle o ciclo repetitivo
mov al,[di] ;direcciono en "al" el siguiente caracter de nombre
es:mov byte ptr[si],al ;muestro en pantalla el caracter en posicion "si"
add si,2 ;desplazo la posicion de puntero para seguir escribiendo
inc di ;incremento en 1 a "di" y paso al siguiente caracter
loop bucle ;regresa a bucle y resta cx en 1 hasta que cx sea igual a 0
int 20h ;invoco interrupcion para termina el programa
ret
Ejecución de los dos programas anteriores
No hay comentarios:
Publicar un comentario