Jump to content

8086 మైక్రోప్రాసెసర్

వికీపీడియా నుండి
ఇంటెల్ 8086
తయారీFrom 1978 to 1990s
ఉమ్మడి రూపకర్తలు
గరిష్ఠ సీపీయూ సమయం5 MHz to 10 MHz
Min. feature size3μm
Instruction setx86-16
Predecessor(8080)
Successor80186
Package(s)
Variant8088

8086 మైక్రోప్రాసెసర్ లేదా ఈఆఫ్క్ష్ 86 అనేది ఒక 16 బిట్ మైక్రోప్రాసెసర్ చిప్. దీనిని ఇంటెల్ వారు రూపొందించారు. ఇది 1976 - 1978 మధ్యలో ఇంటెల్ సంస్థ వారు రూపొందించారు.

చరిత్ర

[మార్చు]

నేపథ్యం

[మార్చు]

1972 లో ఇంటెల్ వారు 8008ని ప్రవెశపెటినారు. ఇది మొదటి 8-బిట్ మైక్రోప్రాసెసర్.

ఉదహరణ కోడ్

[మార్చు]

ఈ క్రింద ప్రొగ్రాం 8086/8088 లో నడిచే వీదంగా వ్రాయబదడింది.

   ; _memcpy(dst, src, len)
   ; Copy a block of memory from one location to another.
   ;
   ; Entry stack parameters
   ; [BP+6] = len, Number of bytes to copy
   ; [BP+4] = src, Address of source data block
   ; [BP+2] = dst, Address of target data block
   ;
   ; Return registers
   ; AX = Zero
 
0000:1000   org 1000h ; Start at 0000:1000h

0000:1000  _memcpy proc
0000:1000 55   push bp  ; Set up the call frame
0000:1001 89 E5   mov bp,sp
0000:1003 06   push es  ; Save ES
0000:1004 8B 4E 06  mov cx,[bp+6] ; Set CX = len
0000:1007 E3 11   jcxz done ; If len=0, return
0000:1009 8B 76 04  mov si,[bp+4] ; Set SI = src
0000:100C 8B 7E 02  mov di,[bp+2] ; Set DI = dst
0000:100F 1E   push ds  ; Set ES = DS
0000:1010 07   pop es

0000:1011 8A 04 loop mov al,[si] ; Load AL from [src]
0000:1013 88 05   mov [di],al ; Store AL to [dst]
0000:1015 46   inc si  ; Increment src
0000:1016 47   inc di  ; Increment dst
0000:1017 49   dec cx  ; Decrement len
0000:1018 75 F7   jnz loop ; Repeat the loop

0000:101A 07  done pop es  ; Restore ES
0000:101B 5D   pop bp  ; Restore previous call frame
0000:101C 29 C0   sub ax,ax ; Set AX = 0
0000:101E C3   ret   ; Return
0000:101F   end proc