• Aucun résultat trouvé

MAXIMUM MODE

Dans le document 1988 HANDBOOKS (Page 68-76)

BASIC SYSTEM TIMING

MAXIMUM MODE

eLK

\lSo,QS,

s;.r;.1i (EXCEPT HAI.TI

lEE NOTE

.j

AU

~

OUTI'IITI

IIDY (1ICI41M'11T1

DT/R

1lCll0UTIIUTI ~ OR IlIRC SIENOTO",

DEN

CL Includes Jig Capacitance

240029-17

240029-18

inter

WAVEFORMS

(Continued) MAXIMUM MODE (Continued)

WRITE CYCLE

DEN

82C88 OUTPUTS

NOTES 5,6 AMWC OR AIOWC

INTA CYCLE

MWfC OR IOWC

ADWADO NOTES 3,4

MCE/

80C86A

T,

POEN TClMCH

OT/R

---+":"'-":"',1

82C88 OUTPUTS NOTES 5,6 INTA

DEN

SOFTWARE

HAlT-(DEN

=

YoL;RD,MROC,IORC,MWTC,AMWC,

T,

iOWC,AIOWC,lNTA,

=

YOH) AO,.-AO-o--+"""I_-I-N-Y-A-Ll-O-A-O-O-R-E-S-S--TClAY

T, Tw

:.----\ ,r---_,

----52,5,,50 ' " - - - - - \, - - -

NOTES:

1. All timing measurements are made at 1.SV unless otherwise noted.

2. RDY is sampled near the end of T 2, T 3, T W to determine if T W machines states are to be inserted.

3. Cascade address is valid between first and second INTA cycle.

240029-19

4. Two INTA cycles run back-to-back. The 80C86A local ADDR/DATA BUS is floating during both INTA cycles. Control for pointer address is shown for second INTA cycle.

5. Signals at 82C84A or 82C88 are shown for reference onlY.

6. The issuance of the 82C88 command and control signals (MRDC, MWTC, AMWC, IORC, IOWC, AIOWC, INTA and DEN) lags the active high 82C88 CEN.

7. Status inactive in state just prior to T 4.

WAVEFORMS

(Continued)

ASYNCHRONOUS SIGNAL RECOGNITION

NIII} ~?_.

OOR SIGNAL ' :

TEST.

240029-20

NOT£: Setup requirements for asynchronous signals only to guarantee recognition at next eLK.

BUS LOCK SIGNAL TIMING (MAXIMUM MODE ONLy)

:.y--¥

LOCK

240029-21

RESET TIMING

VCC

CLK

AEIIT

REQUEST IGRANT SEQUENCE TIMING (MAXIMUM MODE ONLY)

~ 'CLK CYCU!I

240029-22

COPROCESSOR RELEASE

COPROCESSOR (SEE NOTE)

240029-23 NOTE: The coprocessor may not drive the buses outside the region shown without risking contention.

80~86A

WAVEFORMS

(Continued)

HOLD/HOLD ACKNOWLEDGE TIMING (MINIMUM MODE ONLY)

jjJJ 1 CLK CYCLE

Immediate to Register/Memory Immediate to Register Memory to Accumulator Accumulator to Memory

Register/Memory to Segment Register··

Segment Register to Register IMemory PUSH = Push:

Table 2. Instruction Set Summary

I

Instruction Code

76543210 76543210 76543210

100010dw mod reg rIm

1100011 w modOOOrlm data

1011 wreg data dataifw-l

1010000w addr-Iow addr-high

1010001w addr-Iow addr-high

10001110 mod 0 reg rIm

inter 80C86A

Table 2. Instruction Set Summary (Continued)

Mnemonic and

I

Instruction Code

Description

ARITHMETIC 76543210 76543210 76543210 76543210

ADD = Add:

Reg.lMemory wRh Register to Either OOOOOOdw mod reg r/m

Immediate to Register/Memory 100000sw modOOOr/m data dataifsw = 01

Immediate to Accumulator 0000010w data dataifw = 1

ADC = Add with Carry:

Reg.lMemory with Register to Either 000100dw modregr/m

Immediate to Register/Memory 100000sw mod 0 10 rIm data data ils w = 01

Immediate to Accumulator 0001010w 'data dataifw = 1

INC = Increment:

Register/Memory l l l l l l l w modOOOr/m

Register 01000reg

AAA = ASCII Adjust for Add 00110111 DAA = Decimal Adjust for Add 00100111

!lUB = Subtract:

Reg.lMemory'and Register to Either 001010dw mod reg r/m

Immediate from Register/Memory 100000sw mod 101 rIm data datailsw = 01

Immediate from Accumulator 0010110w data data ifw = 1

SBB = Subtract with Borrow

Reg.lMemory and Register to Either 000110dw mod reg r/m

Immadiate from Register/Memory 100000sw modOll rIm data data ils w = 01

Immadiate from Accumulator 0OO1110w data dataifw = 1

DEC = Decrement:

Register/Memory l l l l l l l w modOOI rIm

Register 01001 reg

NEG = Change Sign 1111011w modOll rIm

CMP = Compare:

Register/Memory and Register 001110dw modregr/m

Immediate with Register/Memory 100000sw mod 111 rIm data dataifsw = 01

Immediate with Accumulator 0011110w data dateifw = 1

AAS = ASCII Adjustfor Subtract 00111111 DAS = Decimal Adjust for Subtract 00101111

MUL = Multiply (Unsigned) 1111011 w mod 1 OOr/m IMUL = Inleger Multiply (Signed) 1111011w mod 1 01 rIm AAM = ASCII Adjust for Multiply 11010100 00001010

DIY = Divide (Unsigned) 1111011w modll0r/m

IDlY = Integer Divide (Signed) 111101 t'w modlll rIm AAD = ASCII Adjust for Divide 11010101 00001010 CBW = Convert Byte to Word 10011000

CWO = Convert Word to Double Word 10011001

inter 80C86A

8086/8088 Instruction Set Summary (Continued)

Mnemonic and

I

Instruction Code

Description

LOGIC 76543210 76543210 76543210 76543210

NOT = Invert 1111011w modO 1 Or/m

SHL/SAL = Shift Logical/Arithmetic Left 110100vw mod 1 OOr/m SHR = Shift Logical Right 110100vw mod t 01 rIm SAR = Shift Arithmetic Right 110100vw mod 111 rIm

ROL = Rotate Left 110100vw modOOOr/m

ROR = Rotate Right 110100vw modOOI rIm

RCL = Rotate Through Carry Flag Left 110100vw modOl0r/m RCR = Rotate Through Carry Right 110100vw mod 0 11 rIm AND = And:

Reg.lMemory and Register to Either 001000dw mod reg rIm

Immediate to Register/Memory 1000000w mod 1 00 rIm data dataifw = 1

Immediate to Accumulator 0010010w data dataifw = 1

TEST = And Function to Flags, No Result:

Register/Memory and Register 1000010w mod regr/m

Immediate Data and Register/Memory 1111011 w mod 00 0 rIm data dataifw = 1

Immediate Data and Accumulator 1010100w data dataifw = 1

OR = Or:

Reg.lMemory and Register to Either 000010dw mod reg r/m

Immediate to Register/Memory 1000000w modOOI rIm data dataifw = 1

Immediate to Accumulator 0000110w data dataifw= 1

XOR = Exclusive OR:

Reg.lMemory and Register to Either 001100dw mod reg rIm

Immediate to Register/Memory 1000000w mod 11 0 rIm data dataifw = 1

Immediate to Accumulator 0011010w data dataifw = 1

STRING MANIPULATION

REP = Repeat 1111001z

MOVS = Move Byte/Word 1010010w

CMPS = Compare Byte/Word 1010011w

SCAS = Scan Byte/Word 1010111w

LODS = Load Byte/Wd to AL/ AX 1010110w STOS = Stor Byte/Wd from ALI A 1010101w CONTROL TRANSFER

CALL = Call:

Direct Within Segment 11101000 disp-Iow disp-high

Indirect Within Segment 1 1 1 1 1 1 1 1 modOl0r/m

Direct Intersegment 10011010 offset-low offset-high

seg-Iow seg-high Indirect Intersegment 1 1 1 1 1 1 1 1 mod 0 11 rIm

inter 80C86A ..

Table 2. Instruction Set Summary (Continued)

Mnemonic and

I

Description Instruction Code

CONTROL TRANSFER (ContInued)

JMP = Unconditional Jump: 76543210 76543210 76543210

Direct Within Segment 11101001 dlsp-Iow disp-hlgh

Direct Within Segment-Short 11101011 disp

Indirect Within Segment 1111111 f modi OOr/m

Direct Intersegment 11101010 .offset-low offset-high

seg-Iow seg-high

Indirect Intersegment 11111111 modi 01 rIm

RET = Return from CALL:

Within Segment 11000011

·1

Within Ssg. Adding Immed to SP 11000010

I

data-low data-high

Intersegment 11001011

1

Intersegment Adding Immediate te SP 11001010

I

data-low data-high

JE/ JZ = Jump on Equel/Zero 01110100

I

disp

JL/JNGE = Jump on Less/Net Greeter 011111.00

.or Equal dlsp

JLElJNG = Jump en Less .or Equel/ 01111110

Not Greater disp

JB/JNAE = Jump en Below/Net Above 01110010

.or Equel disp

JBElJNA = Jump en Below or Equal/ 01110110

NetAbave disp

JP/JPE = Ju"]p en Parity/Parity Even 01111010 disp

JO = Jump en Overllow 01110000 disp

JS = Jump en Sign 01111000 disp

JNE/JNZ = Jump on Net Equal/Not Zero 01110101 disp JNL/JGE = Jump on Net Less/Greater 01111101

.or Equal dlsp

JNLE/JG = Jump en Net Less or Equal/ 01111111

Greater disp

JNB/JAE = Jump on Not BeIow/AbCNe 01110011

.or Equel disp

JNBE/JA = Jump en Not Below .or

od

10111 Equal/Above.

01111011 JNP/JPO = Jump en Net Par/Par Odd

disp disp

JNO = Jump en Net Overllow 01110001 disp

JNS = Jump on Net Sign 01111001 disp

LOOP = Loop

ex

Times 11100010 disp

LOOPZILOOPE = Loep While Zero/Equal 11100001 disp LooPNZlLOOPNE = Loop While Not 11100000

Zere/Equel dlsp

JCXZ = Jump en

ex

Zero 11100011 disp

INT = Interrupt

Type Specified 11001101 type

Type 3 11001100

INTO = Interrupt en Overflow 11001110

IRET = Interrupt Return 1,1001111

inter 80C86A

Table 2. Instruction Set Summary (Continued)

Mnemonic and

Above/below refers to unsigned value.

Greater = more positive:

less = less positive (more negative) signed values if d = 1 then "to" reg; if d = 0 then "from" reg

"MOV CS, REG/MEMORY not allowed.

Instruction Code

z is used for string primitives for comparison with ZF FLAG SEGMENT OVERRIDE PREFIX

001reg110

REG is assigned according to the following table:

16-Blt (w = 1) S-Blt(w = 0) Segment

Instructions which reference the flag register file as a 16·blt object use the symbol FLAGS to represent the file:

FLAGS =

X:X:X:X:(OF):(DF):(IF):(TF):(SF):(ZF):X:(AF):X:(PF):X:(CF) Mnemonics @ Intel, 1978

inter

80C86AL·

Dans le document 1988 HANDBOOKS (Page 68-76)