elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
08 Octubre 2008, 07:47  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderadores: Hendrix, E0N)
| | |-+  creando el sistema operativo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 Ir Abajo Imprimir
Autor Tema: creando el sistema operativo  (Leído 16385 veces)
manuelero

Desconectado Desconectado

Mensajes: 8



Ver Perfil
Re: creando el sistema operativo
« Respuesta #225 en: 15 Julio 2008, 03:19 »

Hola skapunky. Me parece que no es el 'salto de línea' el problema, con 'mov cx' especifico cual es el largo de la cadena y con '   mov   dh, mov dl' el X y el Y. Asi funciona 'mov ah,13h' de la 'int 10h'

1 saludo
En línea

"El auténtico conocimiento es conocer la extensión de la propia ignorancia"
Meta

Desconectado Desconectado

Mensajes: 987


Ver Perfil WWW
Re: creando el sistema operativo
« Respuesta #226 en: 15 Julio 2008, 04:30 »

Bue che. Nadie me da bola!
Les dejo el humilde codigo de lo que estuve haciendo...

Código:
;Autor: Manuel Vazquez
;Año: 2008

;org 7C00h
org 100h

jmp comienzo

msg00 db 'BMOS 1.0'
msg01 db 'BobMarley '
msg02 db 'Operative '
msg03 db 'System'


comienzo mov bh,00h ;pagina 0
;----------
mov dh,01h ;Columna (X)
mov dl,21h ;Fila (Y)

mov ah,13h ;funcion mostrar cadena de texto
mov al,01h ;subfuncion: escribo y despliego el cursor

mov bl,07h ;Color
mov bp,msg00 ;direccion de la cadena a mostrar
mov cx,08h ;largo de la cadena
int 10h ;Interrupcion de video que muestra
;----------

;*********************************
mov dh,03h ;Columna (X)
mov dl,18h ;Fila (Y)
;*********************************


;----------
mov ah,13h ;funcion mostrar cadena de texto
mov al,01h ;subfuncion: escribo y despliego el cursor

mov bl,0Ch ;Color
mov bp,msg01 ;direccion de la cadena a mostrar
mov cx,0Ah ;largo de la cadena
int 10h ;Interrupcion de video que muestra
;----------
mov ah,13h ;funcion mostrar cadena de texto
mov al,01h ;subfuncion: escribo y despliego el cursor

mov bl,0Eh ;Color
mov bp,msg02 ;direccion de la cadena a mostrar
mov cx,09h ;largo de la cadena

mov dl,22h ;Fila (Y)

int 10h ;Interrupcion de video que muestra
;----------
mov ah,13h ;funcion mostrar cadena de texto
mov al,01h ;subfuncion: escribo y despliego el cursor

mov bl,0Ah ;Color
mov bp,msg03 ;direccion de la cadena a mostrar
mov cx,06h ;largo de la cadena

mov dl,2Ch ;Fila (Y)

int 10h ;Interrupcion de video que muestra
;----------


mov ah,00h ;Funcion para esperar tecla
int 16h ;Interrupcion de teclado

int 20h ;Salir


cuando lo compilo con el nasm con 'org 100' y lo ejecuto como .COM anda bien. cuando lo compilo con 'org 7C00' y lo guardo en el sector 0 de un disquet se ven "simbolos extraños" en donde deberian verse los mensajes


No se este ASM pero como estoy con los ASM de PIC me suena muchas cosas. Qué ensamblador has usado. El del 8085, 8086, 8088. ¿Puedo trabajarlo con el MPLAB?

Por cierto con tu código, buen trabajo.
En línea

http://usuarios.lycos.es/electronicapic Manuales de electrónica general y PIC.
SERBice

Desconectado Desconectado

Mensajes: 891



Ver Perfil WWW
Re: creando el sistema operativo
« Respuesta #227 en: 15 Julio 2008, 09:32 »

usamos compiladores 8086 (en realidad x86, muchos optamos por usar i386+ por la simple cuestion de que el 386 tiene mejor control de memoria.. etc etc, pero cualqueir compilador x86 sirve, yo uso FASM)
En línea

Estrenando firma (Gracias Artikhacker):

Asus M2N-SLI (nFoce 560SLI) - 4GB DDR2 OCz System Elite @800MHz - AMD Athlon 64 x2 5200+ - GeForce 8800GS 384MB Alpha Dog Edition 680Mhz - HD SATA2 WD 7200rpm 500GB - Asus DRW-2014L1T


manuelero

Desconectado Desconectado

Mensajes: 8



Ver Perfil
Re: creando el sistema operativo
« Respuesta #228 en: 15 Julio 2008, 20:17 »

Citar
No se este ASM pero como estoy con los ASM de PIC me suena muchas cosas. Qué ensamblador has usado. El del 8085, 8086, 8088. ¿Puedo trabajarlo con el MPLAB?

Por cierto con tu código, buen trabajo.

Hola Meta, como dice SERBice

Citar
usamos compiladores 8086 (en realidad x86)
Yo uso el NASM.

Ah, no se que es MPLAB  :-[ ahora lo puse a bajar  :laugh:
En línea

"El auténtico conocimiento es conocer la extensión de la propia ignorancia"
Meta

Desconectado Desconectado

Mensajes: 987


Ver Perfil WWW
Re: creando el sistema operativo
« Respuesta #229 en: 16 Julio 2008, 20:26 »

En línea

http://usuarios.lycos.es/electronicapic Manuales de electrónica general y PIC.
eduar1

Desconectado Desconectado

Mensajes: 9



Ver Perfil
Re: creando el sistema operativo
« Respuesta #230 en: 17 Julio 2008, 20:33 »

hola saludos a todos , tambien me agrgo en esto del sistema operativo , como veo que nadie a estado pendiente en hacer la web para contactarnos etc
yo ya hice una http://proyecto-so.awardspace.com/
en realidad es el foro.
saludos
cesarine_1995@hotmail.com.
Quienes quieran ayudarme para mantenerla , y colocarlos en administrador , porfa registrense sigamos esto en http://proyecto-so.awardspace.com/

http://proyecto-so.awardspace.com/
http://proyecto-so.awardspace.com/
OK SALUDOS...
« Última modificación: 21 Julio 2008, 04:44 por eduar1 » En línea
eduar1

Desconectado Desconectado

Mensajes: 9



Ver Perfil
Re: creando el sistema operativo
« Respuesta #231 en: 18 Julio 2008, 08:29 »

A todos le sugiero que intalen el VIRTUALBOX
para hasi puedan ir probando el sistema operativo , en el foro podran colocar todo ya saben
http://proyecto-so.awardspace.com/
« Última modificación: 21 Julio 2008, 04:46 por eduar1 » En línea
SERBice

Desconectado Desconectado

Mensajes: 891



Ver Perfil WWW
Re: creando el sistema operativo
« Respuesta #232 en: 18 Julio 2008, 11:30 »

Citar
Connection Problems
Sorry, SMF was unable to connect to the database. This may be caused by the server being busy. Please try again later.
En línea

Estrenando firma (Gracias Artikhacker):

Asus M2N-SLI (nFoce 560SLI) - 4GB DDR2 OCz System Elite @800MHz - AMD Athlon 64 x2 5200+ - GeForce 8800GS 384MB Alpha Dog Edition 680Mhz - HD SATA2 WD 7200rpm 500GB - Asus DRW-2014L1T


manuelero

Desconectado Desconectado

Mensajes: 8



Ver Perfil
Re: creando el sistema operativo
« Respuesta #233 en: 18 Julio 2008, 20:14 »

EL PRIMER LOGRO
No soy ningún experto en nada. Solo intento aprender…

Compile el siguiente código y lo escribí en el primer sector de un disquete y anduvo bien.
Ya logre mostrar texto en pantalla… No entendí por que el código anteriormente publicado no anduvo, se que el anterior usaba ah,13h (función mostrar cadena de texto). Y el nuevo código que escribí usa una rutina para mostrar una cadena que funciona con ah,0Eh (función para imprimir un carácter)

Además aprendí que los dos últimos caracteres del primer sector deben ser 55AAh para que la Bios sepa que si tiene que ejecutar el código. Este código genera un archivo de exactamente 512 bytes y al final tiene el 55AAh. Tambien es importante que lo primero que se hace es poner los registros en 0.
Todo esta bien explicado en el código que les dejo a continuación, el cual trate de comentar lo mas posible de manera que todos puedan entender.

Compilado con NASM

Código:
;Manuel Vazquez
;Fecha: Jul 17, 2008

;Para boot loader
org 7C00h ;orden al compilador que el
;programa comienza en el offset 7C00
;(direccion necesaria para el boot)

;Para archivo .com
;org 100h
;call comienzo


;Poner los registros en 0 --------------------------
iniciar:
xor ax, ax ;pongo ax en 0
mov ds, ax ;copio ax en ds
mov dx, ax ;copio ax en dx
mov bx, ax ;copio ax en bx
;---------------------------------------------------



;---------------------------------------------------
;imprimir el primer texto centrado
comienzo:
mov ah,00h ;funcion para cambiar modo de pantalla
mov al,03h ;modo de pantalla
int 10h          ;Iniciar los graficos

mov dh,01h ;Fila (Y)
mov dl,21h ;Columna (X)
mov ah,02h ;funcion para posicionar el cursor
int 10h ;posicionar el cursor

mov bl,07h ;Color
mov si,msg00 ;pongo en SI la direccion de msg00
call print ;llamo a print
;---------------------------------------------------

;---------------------------------------------------
;imprimir el resto del texto con sus respectivos colores
mov dh,03h ;Fila (Y)
mov dl,18h ;Columna (X)
mov ah,02h ;funcion para posicionar el cursor
int 10h ;posicionar el cursor

mov bl,0Ch ;Color
mov si,msg01 ;pongo en SI la direccion de msg01
call print ;llamo a print
;----------
mov bl,0Eh ;Color
mov si,msg02 ;pongo en SI la direccion de msg02
call print ;llamo a print
;----------
mov bl,0Ah ;Color
mov si,msg03 ;pongo en SI la direccion de msg03
call print ;llamo a print
;----------
;---------------------------------------------------





;---------------------------------------------------
salir:
mov ah,00h ;Funcion para esperar tecla
int 16h ;Interrupcion de teclado

int 19h ;Reiniciar
;---------------------------------------------------


;Funcion para imprimir en pantalla------------------
;el registro SI es un puntero a la direccion de memoria a leer
;empiezo a leer hasta encontrar el caracter 0
print:
lodsb ;cargo en AL el caracter que se encuentra en DS:DI
;y dejo el registro en el siguiente caracter

test al,al ;veo (o comparo) el valor de AL
jz end_print    ;si AL es 0 termino de leer, de lo contrario sigo
;con la linea de abajo

mov ah,0Eh ;funcion para imprimr caracter de la int 10h
int 10h ;imprimimos el caracter en AL.

jmp print ;vuelvo a leer el siguiente caracter
end_print:
;-----------------------------------
ret ;salir de la funcion

;---------------------------------------------------


;DATOS----------------------------------------------
msg00 db 'BMOS 1.0',00 ;escribo en el codigo el texto y luego el carácter 0
msg01 db 'BobMarley ',00
msg02 db 'Operative ',00
msg03 db 'System',00
;---------------------------------------------------

;Necesario para el boot-----------------------------
;Cada sector tiene 512 bytes, 510 es 512
;menos los dos bytes 55AA que se explican
;a continuacion


times 510-($-$$) db 00h
;times repite una cantidad de veces una funcion
;en este caso ($-$$) representa la posicion actual
;o la cantidad de bytes que ya se escribieron de
;programa.
;Entonces escribo el caracter 0 (510-bytes escritos)veces
;y luego escribo 55AA


dw 0xAA55 ;La bios busca 55AA(DW lo escribe a la inversa)
;en la ultima parte del sector para saber si
;es tiene que iniciar el Sistema Operativo
;---------------------------------------------------

ah, me parece muy bien que hagan una pagina  ::)
yo habia pensado un blog o algo

ESPERO QUE LES GUSTE EL CODIGO! Y/O QUE LO MEJOREN
En línea

"El auténtico conocimiento es conocer la extensión de la propia ignorancia"
eduar1

Desconectado Desconectado

Mensajes: 9



Ver Perfil
Re: creando el sistema operativo
« Respuesta #234 en: 18 Julio 2008, 21:45 »

Citar
Connection Problems
Sorry, SMF was unable to connect to the database. This may be caused by the server being busy. Please try again later.

muy pronto ya va a estar lista problemas con la bd ok chaoo..
« Última modificación: 18 Julio 2008, 22:30 por eduar1 » En línea
eduar1

Desconectado Desconectado

Mensajes: 9



Ver Perfil
Re: creando el sistema operativo
« Respuesta #235 en: 18 Julio 2008, 21:48 »

http://blog.iespana.es/proyecto-os tambien visiten el blog , jeje
« Última modificación: 19 Julio 2008, 23:58 por eduar1 » En línea
eduar1

Desconectado Desconectado

Mensajes: 9



Ver Perfil
Re: creando el sistema operativo
« Respuesta #236 en: 19 Julio 2008, 02:17 »

disculpen todos pero no e podido subir el foro ya que el ftp no me quiere funcionar , mañana probare otrra vez
En línea
Meta

Desconectado Desconectado

Mensajes: 987


Ver Perfil WWW
Re: creando el sistema operativo
« Respuesta #237 en: 19 Julio 2008, 05:54 »

El foro no tira.
En línea

http://usuarios.lycos.es/electronicapic Manuales de electrónica general y PIC.
eduar1

Desconectado Desconectado

Mensajes: 9



Ver Perfil
Re: creando el sistema operativo
« Respuesta #238 en: 19 Julio 2008, 05:57 »

El foro no tira.
no la e subido probelma del ftp
En línea
eduar1

Desconectado Desconectado

Mensajes: 9



Ver Perfil
Re: creando el sistema operativo
« Respuesta #239 en: 20 Julio 2008, 00:41 »

Para todos ya esta listo el FORO visitenlo http://proyecto-so.awardspace.com/
« Última modificación: 21 Julio 2008, 04:39 por eduar1 » En línea
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC