• Domingo 22 de Diciembre de 2024, 14:38

Autor Tema:  Modo Protegido  (Leído 3860 veces)

thecayoman

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Modo Protegido
« en: Lunes 12 de Junio de 2006, 02:25 »
0
hola como estas bueno necesito mucha ayuda sobre la programacion en nodo protegido en assembler bueno tengo que hacer muchos programas en modo protegido necesito tooooooda acerca de esta programacion.

Bicholey

  • Moderador
  • ******
  • Mensajes: 1234
    • Ver Perfil
Re: Modo Protegido
« Respuesta #1 en: Lunes 12 de Junio de 2006, 10:05 »
0
:D
Podrias empezar leyendo esto:

http://en.wikipedia.org/wiki/Protected_mode
[size=109]LOS GATOS SIEMPRE CAEMOS DE PIE !!![/size]


thecayoman

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Modo Protegido
« Respuesta #2 en: Lunes 12 de Junio de 2006, 18:30 »
0
Cita de: "thecayoman"
hola como estas bueno necesito mucha ayuda sobre la programacion en nodo protegido en assembler bueno tengo que hacer muchos programas en modo protegido necesito tooooooda acerca de esta programacion.
gracias necesito por lo menos un programa para guiarme o talvez como declarar el modo protegido:comp:

Bicholey

  • Moderador
  • ******
  • Mensajes: 1234
    • Ver Perfil
Re: Modo Protegido
« Respuesta #3 en: Martes 13 de Junio de 2006, 23:27 »
0
ojala esto te pueda ayudar:

El modo real
El modo real del microprocesador i486 puede ejecutar programas escritos para 8086, 8088, 80186, 80188, 80286, y 80386, o para programas escritos para 80286 y 80386 en modo real.
La arquitectura del i486 en modo real es muy similar a sus procesadores previos. Para un programador, el 486 en modo real se presenta como un 8086 de alta velocidad con extensiones al conjunto de instrucciones y registros
Entrando y Saliendo del modo real.
El procesador queda en modo real de direccionamiento después de una inicialización por RESET
Cambiando a modo protegido.
La única forma de dejar el modo real es cambiar a modo protegido. El procesador entra en modo protegido cuando las intrucciones MOV o CR0 encienden el bit PE (protection enable) en el registro CR0.
Regresando al modo real de direccionamiento.
El procesador regresa al modo real de direccionamiento si el software limpia el valor del registro CR0, con las instrucciones MOV o CR0.
[size=109]LOS GATOS SIEMPRE CAEMOS DE PIE !!![/size]


thecayoman

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Modo Protegido
« Respuesta #4 en: Jueves 15 de Junio de 2006, 03:47 »
0
Cita de: "Radoslav"
ojala esto te pueda ayudar:

El modo real
El modo real del microprocesador i486 puede ejecutar programas escritos para 8086, 8088, 80186, 80188, 80286, y 80386, o para programas escritos para 80286 y 80386 en modo real.
La arquitectura del i486 en modo real es muy similar a sus procesadores previos. Para un programador, el 486 en modo real se presenta como un 8086 de alta velocidad con extensiones al conjunto de instrucciones y registros
Entrando y Saliendo del modo real.
El procesador queda en modo real de direccionamiento después de una inicialización por RESET
Cambiando a modo protegido.
La única forma de dejar el modo real es cambiar a modo protegido. El procesador entra en modo protegido cuando las intrucciones MOV o CR0 encienden el bit PE (protection enable) en el registro CR0.
Regresando al modo real de direccionamiento.
El procesador regresa al modo real de direccionamiento si el software limpia el valor del registro CR0, con las instrucciones MOV o CR0.
gracias ahora como puedo definir una macro para mis programas ? o tal vez que es macro.

Bicholey

  • Moderador
  • ******
  • Mensajes: 1234
    • Ver Perfil
Re: Modo Protegido
« Respuesta #5 en: Jueves 15 de Junio de 2006, 07:53 »
0
;)
De nada pero ahora no entiendo si me estas preguntando otra cosa
[size=109]LOS GATOS SIEMPRE CAEMOS DE PIE !!![/size]


thecayoman

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Modo Protegido
« Respuesta #6 en: Viernes 16 de Junio de 2006, 01:56 »
0
Cita de: "Radoslav"
;)
De nada pero ahora no entiendo si me estas preguntando otra cosa
que es una macro... como se declara en el programa y para que nos serve hacer una macro :comp:

Bicholey

  • Moderador
  • ******
  • Mensajes: 1234
    • Ver Perfil
Re: Modo Protegido
« Respuesta #7 en: Sábado 17 de Junio de 2006, 00:01 »
0
Una macro no es otra cosa que una definición, pero como parece ser capaz de ejecutar algunas decisiones lógicas ú operaciones matemáticas, tiene un nombre único.
Código: Text
  1.  
  2.  
  3. PILA SEGMENT PARA STACK
  4.  
  5. DB 64 DUP (' ')
  6. PILA ENDS
  7. DATA SEGMENT PARA 'DATA'
  8. BACK DB 950 DUP (' ')
  9. LOGO DB 13 DUP (' '),"-------------------------",14 DUP(' ')
  10.      DB 13 DUP (' '),"***********",14 DUP(' ')
  11.      DB 13 DUP (' '),"PROGRAMAEN LENGUAJEENSAMBLADOR",14 DUP(' ')
  12. DB 13 DUP (' '),"                CON LA FAMILIA 8086/80386",14 DUP(' ')
  13.      DB 13 DUP (' '),"                         ",14 DUP(' ')
  14.      DB 13 DUP (' '),"-------------------------",14 DUP(' ')
  15.      DB 13 DUP (' '),"-------------------------",14 DUP(' ')
  16.      DB 13 DUP (' '),"-------------------------",14 DUP(' ')
  17.      DB 13 DUP (' '),"-------------------------",14 DUP(' ')
  18. DB 13 DUP (' '),"*****************************************",14 DUP(' ')
  19. DB 13 DUP (' '),"****************",14 DUP(' ')
  20. DATA ENDS
  21.  
  22. CODIGO SEGMENT PARA 'CODE'
  23.    INICIO PROC FAR
  24.      ASSUME CS:CODIGO,ES:DATA,SS:PILA
  25.     
  26.      PUSH DS
  27.      SUB AX,AX
  28.      PUSH AX
  29.      MOV AX,DATA
  30.      MOV ES,AX
  31.      LEA BP,BACK
  32.      MOV DX,0000
  33.      MOV AH,10h
  34.      MOV AL,1
  35.      MOV BL,01000000B
  36.      MOV CX,0700h
  37.      INT 10H
  38.      LEA BP,LOGO
  39.      MOV DH,09
  40.      MOV AH,19
  41.      MOV AL,1
  42.      MOV BL,01001110B
  43.      MOV CX,230H
  44.      INT 10H
  45.      MOV AH,4CH
  46.      INT 21H
  47.      INICIO ENDP
  48.      CODIGO ENDS
  49.      END
  50.  
  51.  
  52.  

hay puedes ver db como una deficion tambien existe dw y creo que algunas otras lo que en C es #define, espero esto te ayude y no me este equivocando si alguien ve un error en lo que escribo por favor corregirme
[size=109]LOS GATOS SIEMPRE CAEMOS DE PIE !!![/size]


thecayoman

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Modo Protegido
« Respuesta #8 en: Domingo 18 de Junio de 2006, 02:09 »
0
Cita de: "Radoslav"
Una macro no es otra cosa que una definición, pero como parece ser capaz de ejecutar algunas decisiones lógicas ú operaciones matemáticas, tiene un nombre único.
Código: Text
  1.  
  2.  
  3. PILA SEGMENT PARA STACK
  4.  
  5. DB 64 DUP (' ')
  6. PILA ENDS
  7. DATA SEGMENT PARA 'DATA'
  8. BACK DB 950 DUP (' ')
  9. LOGO DB 13 DUP (' '),"-------------------------",14 DUP(' ')
  10.      DB 13 DUP (' '),"***********",14 DUP(' ')
  11.      DB 13 DUP (' '),"PROGRAMAEN LENGUAJEENSAMBLADOR",14 DUP(' ')
  12. DB 13 DUP (' '),"                CON LA FAMILIA 8086/80386",14 DUP(' ')
  13.      DB 13 DUP (' '),"                         ",14 DUP(' ')
  14.      DB 13 DUP (' '),"-------------------------",14 DUP(' ')
  15.      DB 13 DUP (' '),"-------------------------",14 DUP(' ')
  16.      DB 13 DUP (' '),"-------------------------",14 DUP(' ')
  17.      DB 13 DUP (' '),"-------------------------",14 DUP(' ')
  18. DB 13 DUP (' '),"*****************************************",14 DUP(' ')
  19. DB 13 DUP (' '),"****************",14 DUP(' ')
  20. DATA ENDS
  21.  
  22. CODIGO SEGMENT PARA 'CODE'
  23.    INICIO PROC FAR
  24.      ASSUME CS:CODIGO,ES:DATA,SS:PILA
  25.     
  26.      PUSH DS
  27.      SUB AX,AX
  28.      PUSH AX
  29.      MOV AX,DATA
  30.      MOV ES,AX
  31.      LEA BP,BACK
  32.      MOV DX,0000
  33.      MOV AH,10h
  34.      MOV AL,1
  35.      MOV BL,01000000B
  36.      MOV CX,0700h
  37.      INT 10H
  38.      LEA BP,LOGO
  39.      MOV DH,09
  40.      MOV AH,19
  41.      MOV AL,1
  42.      MOV BL,01001110B
  43.      MOV CX,230H
  44.      INT 10H
  45.      MOV AH,4CH
  46.      INT 21H
  47.      INICIO ENDP
  48.      CODIGO ENDS
  49.      END
  50.  
  51.  
  52.  

hay puedes ver db como una deficion tambien existe dw y creo que algunas otras lo que en C es #define, espero esto te ayude y no me este equivocando si alguien ve un error en lo que escribo por favor corregirme
gracias el codigo esta bien, ahora cuando trabajamos definimos las variable como dd o si no dw en que se diferencian tienes con "dd" cuando trabajamos en modo portegido