8086 మైక్రోప్రాసెసర్
Jump to navigation
Jump to search
ఈ వ్యాసం మౌలిక పరిశోధన కలిగివుండవచ్చు. |
తయారీ | From 1978 to 1990s |
---|---|
ఉమ్మడి రూపకర్తలు |
|
గరిష్ఠ సీపీయూ సమయం | 5 MHz to 10 MHz |
Min. feature size | 3μm |
Instruction set | x86-16 |
Predecessor | (8080) |
Successor | 80186 |
Package(s) |
|
Variant | 8088 |
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