domingo, 31 de octubre de 2010

Hola mundo ensamblador 8086

Este es el primer programa clásico del HOLA MUNDO en ensamblador 8086. Se muestran los comentarios con un punto y coma. Lo he corrido en emu8086 Cualquier pregunta favor de ponerla en comentarios.




name "hola a todos" ;Esta línea es solo para ponerle un nombre al programa
org 100h ; El vector de interrupciones se dirige a la dirección 100h
; Qué diablos es esto? ORG 100h es obligatoria en programas COM
; porque se cargaran en memoria en la posicion CS:100

jmp etiqueta ; salta a la etiqueta inicio
; verás que esta es una sección de variables y que no deben tomarse en cuenta
; por eso hay un salto hasta la línea donde está la etiqueta inicio
dato db "Hello, World!", 0Dh,0Ah,24h ; 0Dh,0Ah,24h --> equivale a '\n' en C++
msg2 db "Hola, mundo!",0Ah,24h ; 0Ah hace el salto
msg3 db "Alo mondo!",0Ah,24h ; 0Dh hace retorna al inicio del renglón
msg4 db "Ojos pispiretos!",0Ah,24h ; db es el tipo byte para declarar palabras.

inicio: ; aquí está la etiqueta inicio
mov dx, dato ; lee el contenido de la variable dato en el registro dx.
mov ah, 09h ; para imprimir el valor, ah debe contener el 9.
int 21h ; hazlo! Lo muestra en el puerto de video

mov dx, msg2 ; lee el contenido de la variable msg2 en el registro dx.
mov ah, 09h
int 21h

mov dx, offset msg3
mov ah, 09h
int 21h

mov dx, msg4
; lee el contenido de la variable msg4 en el registro dx.
mov ah, 09h
int 21h

mov ah, 0
int 16h
;esperando presionar cualquier tecla equivale a getch()

ret ; retorna el control al sistema operativo.

martes, 17 de noviembre de 2009

Tema 1






EJERCICIOS CON OPERACIONES BINARIAS



















REFERENCIAS

Componentes de un sistema de computo
http://www.mitecnologico.com/Main/ComponentesDeUnSistemaDeComputo

Sistemas numéricos
http://www.fismat.umich.mx/~elizalde/curso/node110.html

decimal
http://www.fismat.umich.mx/~elizalde/curso/node111.html
binario
http://www.fismat.umich.mx/~elizalde/curso/node112.html
octal
http://www.fismat.umich.mx/~elizalde/curso/node117.html
hexadecimal
http://www.fismat.umich.mx/~elizalde/curso/node118.html
Arquitecturas CISC y RISC
http://academia.uaa.mx/files/buzones/Terminos_en_Hardware,_Software_y_Firmware/PROCESADORES_CISC_VS_RISC%28n%29.pdf

Tema 2







REFERENCIAS
BAKERWOLF (2009), “Conceptos de programación de sistemas”, México DF. Recuperado el 10 de noviembre de 2009 en:
http:\\www.todobytes.net/Articulos/Programacion_de_Sistemas/programacion_de_sistemas.html

Tema 3




REFERENCIAS

mixtli.utm.mx/~resdi/Ensambladores.pdf
www.eie.fceia.unr.edu.ar/~digital2/Documentos/ClaseEntorno(imp).pdf
http://www.brioazul.com.mx/paginas/informatica/programacion/lenguajes_programacion.pdf

Tema 4




REFERENCIA

http://books.google.com/books?id=hLVAOIb2FhsC&pg=PP1&dq=Louden,+Kenneth+C.&hl=es#v=onepage&q=&f=false

Tema 5





REFERENCIAS

http://www.mailxmail.com/curso-aprende-programar/pasos-desarrollo-software
http://moisesrbb.tripod.com/m_direct.html