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:
ojala esto te pueda ayudar:gracias ahora como puedo definir una macro para mis programas ? o tal vez que es macro.
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.
;)que es una macro... como se declara en el programa y para que nos serve hacer una macro :comp:
De nada pero ahora no entiendo si me estas preguntando otra cosa
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.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 portegidoCódigo: Text
PILA SEGMENT PARA STACK DB 64 DUP (' ') PILA ENDS DATA SEGMENT PARA 'DATA' BACK DB 950 DUP (' ') LOGO DB 13 DUP (' '),"-------------------------",14 DUP(' ') DB 13 DUP (' '),"***********",14 DUP(' ') DB 13 DUP (' '),"PROGRAMAEN LENGUAJEENSAMBLADOR",14 DUP(' ') DB 13 DUP (' ')," CON LA FAMILIA 8086/80386",14 DUP(' ') DB 13 DUP (' ')," ",14 DUP(' ') DB 13 DUP (' '),"-------------------------",14 DUP(' ') DB 13 DUP (' '),"-------------------------",14 DUP(' ') DB 13 DUP (' '),"-------------------------",14 DUP(' ') DB 13 DUP (' '),"-------------------------",14 DUP(' ') DB 13 DUP (' '),"*****************************************",14 DUP(' ') DB 13 DUP (' '),"****************",14 DUP(' ') DATA ENDS CODIGO SEGMENT PARA 'CODE' INICIO PROC FAR ASSUME CS:CODIGO,ES:DATA,SS:PILA PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV ES,AX LEA BP,BACK MOV DX,0000 MOV AH,10h MOV AL,1 MOV BL,01000000B MOV CX,0700h INT 10H LEA BP,LOGO MOV DH,09 MOV AH,19 MOV AL,1 MOV BL,01001110B MOV CX,230H INT 10H MOV AH,4CH INT 21H INICIO ENDP CODIGO ENDS END
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