Вы находитесь на странице: 1из 3

THE BASIC 8086 PROCESSOR RUN IN REAL MODE IT DOES NOT SUPPORT THE FEATURES SUCH AS VIRTUAL MEMORY

BESIDES ALL PROGRAMS ARE GIVEN A COMMON AREA ON THE MEMORY,SO ONE CANNOT IMPOSE A SECURE SYSTEM WHERE DIFFERENT PROGRAMS USE DIFFERENT MEMORIE S. IN THE CASE OF 80386 WHICH IS WIDELY DISCUSSED HERE ONE CAN IMPOSE SUCH RESTRICT IONS. ADVANTAGES OF PROGRAAMING IN PROTECTED MODE. 1.PROGRAMMING IS EASIER 2.ALL MODERN SYSTEMS RUN IN PROTECTED MODE 3.FREE SOFTWARES ARE AVIALBLE FOR OS RUNNING IN THIS MODE 4.SUPPORTS ADVANCED FEATURES SUCH AS VIRTUAL MEMORY,MEMORY PROTECTION COMPUTER ORGANISATION : EVERY MEMORY UNIT HAS A UNIQUE ADDRESS EVERY DATA IS STORED AS NUMBERS -> CHARACTERS ARE REPRESENTED BY RESPECTIVE CODE S. ONE OF TEH COMMON CODES : ASCII AND OTHER ONE IS UNICODE ONE MAJOR DIFFERENCE BETWEEN BOTH ARE THAT : ASCII } ENCODES USING 1 BYTE WHEREA S UNICODE } ENCODES USING 2 BYTES THE USE WITH UNICODE IS THAT IT CAN STORE A LARGE NUMBER OF CHARACTERS WHEREAS A SCII CAN ONLY ENCODE 256 CHARACTERS. 8088;8086 : HAS A LOT OF 16 BIT REGISTERS : AX,BX,CX,DX,SI,DI,BP,SP,CS,DS,SS,ES ,IP,FLAGS. IN THIS ARCHITECTURE ONLY 1 MB OF MEMORY CAN BE ACCESSED.BESIDES TH E PROGRAMS ARE TO BE DIVIDED INTO SEGMETNS EACH OF 64 KB SIZE.BESIDES THE PROCESSOR WORKS IN REAL MODE WITH THE POSSIBILITY OF DIFFERE NT PROGRAMS MAKING USE OF THE SAME MEMORY RESULTING IN DIFFICULTIES FOR SECURITY AND DEBUGGING. 80286 : HAS SOME MORE ADVANCE DNSTRUCIOTNS BESIDES A NEW 16-BIT PROTECTED M ODE IS AVAILABLE;CAN ACCESS 16MB MEMORY BUT PROGRAMS ARE STILL DIVIDED INTO SEGMENTS NOTE GREATER THAN 64KB 80386 : MAJOR DIFFERENCES HERE : EXTENDED REGISTER -> EAX,EBX,ECX,EDX,ESI,E DI,EBP,ESP,EIP;32 - BIT PROTECTED MODE;ACCESS UPTO 4GB MEMORY ;PROGRAM CAN BE DIVIDED INTO SEGMENTS OF UPTO 4GB.TWO NEW 16 BIT REGISTERS FS & GS 80486 : IMPROVES ON 80386'S EXECUTION SPEED (PENTIUM) PENTIUM MMX: ADDS MULTIMEDIA EXTENSIONS -> SPPEDS UP GRAPHICS APPLICATIONS PENTIUM 2 : NO MUCH CHANGE TO PENTIUM MMX PENTIUM 3 : FASTER PENTIUM 2 **************************************** 8086 - 16 BIT REGISTERS : GENERAL PURPOSE REGISTERS : AX,BX,CX,DX } CARRIES DATA MAINLY -> EACH CAN BE DIV IDED INTO AH,AL etc -> HIGH AND LOW EACH 8 BITS EACH. INDEX REGISTERS : SI,DI } CARRIES POINTERS -> NOT DECOMPOSED INTO 8 BI T REGISTERS. BP : BASE POINTER;SP : STACK POINTER } POINT TO DATA IN STACK SEGMENT REGISTERS : CS,DS,ES,SS } DECIDES WHERE THE VARIOUS PARTS OF THE PROGRAM RESIDES WHERE CS : CODE SEGMENT;DS : DATA SEGMENT;SS : STACK SEGMENT; ES : EXTRA SEGMENT INSTRUCTION POINTER : IP -> TOGETHER WITH CS KEEPS TRACK OF ADDRESS OF THE NEXT INSTRUCTION FLAGS REGISTER STORES IMPORTANT INFO ABOUT THE PREVIOUS OPERATION. IN 80386 : SOME OF THE REGISTERS ARE EXTENDED HERE FS AND GS ARE TWO NEW REGISTERS THAT SERVE AS TEMPORARY SEGMENT REGISTERS. ON REAL MODE : IN 8086 THE MEMORY TO BE ACCESSED IS UPTO 1MB THAT IS IT REQUIRES 20 BITS TO EXP RESS AN ADDREE -> 00000 - FFFFF,BUT NONE OF ITS 16 BIT REGISTERS COULD HOLD IT. THE PROBLEM WAS SOLVED BY MAING USE OF TWO 16 BIT REGISTERS WITH THE FIRST 16 BI T CALLED SELECTOR STORED IN SEGMENT REGISTERS,AND THE LATER CALLED OFFSET IN ANO

THER 16 BIT REGISTER,SO ANY ADDRESS CAN BE SPECIFIED AS SELECTOR:OFFSET SO THE RESULTING FORMULA FOR THE ADDRESS IS 16*SELECTOR+OFFSET. SINCE OFFSET ALONE COULD ONLY REFER TO 64KB OFF ADDRESS,THE SELECTOR SHOULD BE I NCREMENTED EVERY TIEM A PROGRAM MAKES USE OF MORE MEMORY THAN 64KB AND THIS IS C ALLED SEGMENTING THE PROGRAM EACH OF SIZE 64KB OR LESS.EACH TIME THE PROGRAM GET S OVER 64KB THE SELECTOR VALUE IS INCREMENTED MEANING NEXT SEGMENT. THIS INCREMENTATION IS DONE TO CS SEGMENT REGISTER SIMILARLY IF DATA IS GREATER THAN 64KB WE HAVE TO INCREMENT THE DS SEGMENT REGIS TER HERE THE GREATEST EPROBLEM IS THAT THERE ARE MULTIPLE VALUES OF SELETOR AND OFFS ET VALUES WHICH COULD POINT TO THE SAME ADDRESS. 16 BIT PROTECTED MODE -> 80286 : HERE THE SELECTOR IS ACTUALLY A DESCRIPTION IN A TABLE -> WHICH POINTS IT TO THE RIGHT PLACE FOR THE PROGRAM TO LOAD WHEN THE PROGRAM IS REQUIRED,HERE THE CONCE PT OF VIRTUAL MEMORY IS USED..BUT THE GREATEST PROBLEM IS THAT THE OFFSET IS STI LL 16 BIT REGISTERS -> MAX 64KB FOR EACH SEGMENT -> WHEN NEEDED THE REQUIRED COD E OR DATA IS TAKEN FROM THE DISK AREA WHICH SERVES AS VIRTUAL MEMORY. 32 BIT PROTECTED MODE -> 80386 : MAJOR DIFFERENCES : HERE THE OFFSETS ARE EXPANDED TO 32 BITS. -> OFFSETS CAN POI NT TO UPTO 4GB MEMORY INSTEAD OF SEGMENTS NOW THERE ARE SMALLER ENTITIES CALLED PA GES -> 4KB WHICH MAKES IT POSSIBLE FOR SELECTIVE PAGES TO BE IN THE MEMORY INSTE AD OF ENTIRE SEGMENTS AS IT BECOMES BIGGER IN 32 BIT INSTE AD OF 16 BIT TYPE. INTERRUPTS : USED BY THE SYSTEM TO ALLOW FOR THE EXECUTION OF A PARTICULAR HARDW ARE etc WHICH REQUIRES SUDDEN ATTENTION,THE CURRENT PROGRAM IS INTERRUPTED AND T HE EXECUTION IS DONE BY INTERRUPT HANDLERS;EACH OF THE HANDLERS HAVE A UNIQE INT EGRAL REPRESENTATION ESSENTIALLY THAT POINTS TO A TABLE IN THE BEGINNING OF DESC .TABLE WHICH HAS A LIST OF INTERRUPT VECTORS WHICH ARE ACCORDINGLY CALLED AND AF TER THE EXECUTION THE REGISTERS etc ARE RETURNED TO THEIRORIGINAL VALUES THE INT ERRUPTED PROGRAM RUNS AS THOUGH NOTHING HAS HAPPENED TO IT BUT IT WILL LOOSE SOM E CPU CYCLES. ASSEMBLY LANGUAGE : THERE ARE FOUR BASIC KIND OF OPERANDS THE BASIC FORM OF AN ASSEMBLY INSTRUCTION IS -> MNEMONIC OPERAND(S) THE OPERANDS CAN BE OF 4 TYPES : 1.REGISTER : IMPLIES AN EXISTING REGISTER THAT CAN BE USED TO ADD etc 2.MEMORY : REFERS TO MEMORY ADDRESS THAT CAN BE SPECIFIED TO ADD etc 3.IMMEDIATE : THE CONSTANT IS MENTIONED IN THE CODE ITSELF THESE ARE NOT STORED IN THE DS BUT IN CS ITSELF 4.IMPLIED : EG:THE INCREMENT OPERATOR ADDS 1 TO THE REFERED REGISTER etc THIS IS NOT SPECIFIED BUT IS IMPLIED. 3 FUNDAMENTAL OPERATIONS : MOV EG : MOV EAX,EBX -> COPIES EBX TO EAX ;IT IS TO NOTE HERE THAT BOTH THE OPER ANDS SHOULD HAVE THE SAME SIZE,BESIDES IT IS TO BE NOTED THAT BOTH THE OPERANDS SHOULD NOT BE MEMORY ADDRESSES. ADD EAX,EBX ;EAX = EAX+EBX ;ADD EAX,4 -> EAX=EAX+4 SUB EAX,EBX -> EAX=EAX-EBX INC : EG : INC EAX -> EAX++ : INCREMENT OPERATOR DEC : EG : DEC EBX -> EBX-- : DECREMENT OPERATOR DIRECTIVES : MUCH LIKE THE ONES IN C ;BUT HERE INSTEAD OF # IT STARTS BY % EQU DIRECTIVE : USED TO DEFINE SYMBOLS EG : A EQU 5 -> A -> 5 THROUGHOUT THE PRO GRAM -> CANNOT BE REDEFINED LATER %DEFINE : DIRECTIVE IS USED TO DEFINE MACROS EG : %DEFINE SIZE 100 => SIZE REMAI NS 100 UNTIL REDEFINED : THE USE OF MACROS OVER SYMBOLS IS THAT IT CAN BE REDEFI NED

Вам также может понравиться