Sunteți pe pagina 1din 21

Arhitectura microprocesoarelor ndrumar de laborator

Corneliu Burileanu

Anexa

ANEXA SETUL DE INSTRUCIUNI Microprocesoare compatibile Intel x86


Convenii: s: d: AL|AX: mem: surs; destinaie; acumulatorul implicit de 8 sau de 16 bii; coninutul unei locaii de memorie sau coninutul a dou locaii de memorie succesive, adresate cu unul dintre modurile de adresare permise pentru memoria de date, cu excepia adresrii imediate; coninutul a dou locaii de memorie succesive adresate cu unul dintre modurile de adresare permise pentru memoria de date, cu excepia adresrii imediate; coninutul a patru locaii de memorie succesive adresate cu unul dintre modurile de adresare permise pentru memoria de date, cu excepia adresrii imediate; un registru oarecare de 8 sau de 16 bii, exceptnd registrele segment; un registru de 8 bii; un registru de 16 bii, exceptnd registrele segment; un registru segment (CS, SS, DS, ES); un operand de 8 sau 16 bii care face parte din formatul instruciunii (adresare imediat); un operand de 8 bii care face parte din formatul instruciunii (adresare imediat); un operand de 16 bii care face parte din formatul instruciunii (adresare imediat); deplasament pe 8 bii (face parte din formatul instruciunii); deplasament pe 16 bii (face parte din formatul instruciunii); o adres complet (pe 16 bii); o adres scurt (pe 8 bii); o adres logic exprimat pe patru octei succesivi; adresa (numrul de ordine) unui port de intrare/ieire, de regul pe 8 bii; un operand de 8 bii care indic tipul unei ntreruperi i face parte din formatul instruciunii (adresare imediat);
1

mem16:

mem32:

r | ri | rj: r8: r16: rs: data: data8: data16: disp8: disp16: adr: adr8: adr32: port: tip:

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu

Anexa

nrcel: AE:

numrul de celule cu care se poate face deplasarea sau rotaia unui operand; adresa efectiv.

Pentru fanioane: x: 1: 0: ?: blanc:

fanionul se schimb n conformitate cu rezultatul operaiunii; fanionul este setat necondiionat; fanionul este resetat necondiionat; fanionul este afectat impredictibil; fanionul nu este afectat.

Pentru calculul numrului de stri : cAE - timpul de calcul al adresei efective, i anume - adresare direct: AE=disp8|disp16 6 stri; - adresare indexat: AE=(SI)|(DI)+ disp8|disp16 9 stri; - adresare indirect implicit: AE=(SI)|(DI 5 stri; - adresare relativ la baz direct, fr deplasament: AE=(BX) 5 stri; - adresare relativ la baz direct, cu deplasament: AE=(BX)+disp8|disp16 9 stri; - adresare relativ la baz indexat: AE=(BX)+(SI)|(DI)+disp8|disp16 12 stri; - adresare relativ la baz implicit: AE=(BX)+(SI)|(DI) 8 stri; - adresare n stiv direct, fr deplasament: AE=(BP) 5 stri; - adresare n stiv direct, cu deplasament: AE=(BP)+disp8|disp16 9 stri; - adresare n stiv indexat: AE=(BP)+(SI)|(DI)+disp8|disp16 12 stri; - adresare n stiv implicit: AE=(BP)+(SI)|(DI) 8 stri; - pentru redirecionarea segmentului se mai adaug 2 stri.

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu

Anexa

AAA

Ajustare ASCII pentru adunare

OF DF IF TF SF ZF AF PF CF ? ? ? x ? x

Operanzi

Nr.de stri
4

Octei
1 AAA

Exemple

AAD

Ajustare ASCII pentru mprire (se face nainte de mprire)

OF DF IF TF SF ZF AF PF CF ? x x ? x

Operanzi

Nr.de stri
60

Octei
AAD

Exemple

AAM

Ajustare ASCII pentru nmulire (se face dup nmulire)

OF DF IF TF SF ZF AF PF CF ? x x ? x

Operanzi

Nr.de stri
83

Octei
AAM

Exemple

AAS

Ajustare ASCII pentru scdere

OF DF IF TF SF ZF AF PF CF ? ? ? x ?

Operanzi

Nr.de stri
4

Octei
1 AAS

Exemple

Adunare cu ADC d,s transport

OF DF IF TF SF ZF AF PF CF x x x x x

Operanzi
AL|AX, data r, data mem, data r1, r2 r, mem mem, r

Nr.de stri
4 4 17+cAE 3 9+cAE 16+cAE

Octei
2-3 3-4 3-6 2 2-4 2-4 ADC ADC ADC ADC ADC ADC

Exemple
AX,9D81H CL,36H [SI],2D31H BX,SI AX,[BX] [BX+SI+64H],DI

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu

Anexa

ADD

d,s

Adunare

OF DF IF TF SF ZF AF PF CF x x x x x

Operanzi
AL|AX, data r, data mem, data r1, r2 r, mem mem, r

Nr.de stri
4 4 17+cAE 3 9+cAE 16+cAE

Octei
2-3 3-4 3-6 2 2-4 2-4 ADD ADD ADD ADD ADD ADD

Exemple
AX,0F0FH DX,0F0F0H [100H],2H SI,CX DI,[BX+22H] [BX+SI],CL

AND

d,s

SI logic

OF DF IF TF SF ZF AF PF CF 0 x x ? x

Operanzi
AL|AX, data r, data mem, data r1, r2 r, mem mem, r

Nr.de stri
4 4 17+cAE 3 9+cAE 16+cAE

Octei
2-3 3-4 3-6 2 2-4 2-4 AND AND AND AND AND AND

Exemple
AL,7FH CX,0F0H [BX],01010000B AL,BL DL,[BX+SI] [DI+10H],AL

Apelarea unui CALL adr subprogram

OF DF IF TF SF ZF AF PF CF

Operanzi
adr32 disp16 r16 mem* mem**

Nr.de stri
28 28 16 21+cAE 37+cAE

Octei
5 3 2 2-4 2-4 CALL CALL CALL CALL CALL

Exemple
PROC-ALT-SEG SUMA BX [BX] [SI]

* apelare de subprogram cu adresare indirect definit cu directiva de asamblare ca apelare intra-segment; ** apelare de subprogram cu adresare indirect definit cu directiva de asamblare ca apelare inter-segment.

CBW

Extindere (cu semn) a unui octet la un cuvnt

OF DF IF TF SF ZF AF PF CF

Operanzi

Nr.de stri
2

Octei
1 CBW

Exemple

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu

Anexa

CLC

Resetarea fanionului de transport

OF DF IF TF SF ZF AF PF CF 0

Operanzi

Nr.de stri
2

Octei
1 CLC

Exemple

CLD

Resetarea fanionului de direcie

OF DF IF TF SF ZF AF PF CF 0

Operanzi

Nr.de stri
2

Octei
1 CLD

Exemple

CLI

Resetarea fanionului de validare a ntreruperilor

OF DF IF TF SF ZF AF PF CF 0

Operanzi

Nr.de stri
2

Octei
1 CLI

Exemple

CMC

Complementarea fanionului de transport

OF DF IF TF SF ZF AF PF CF x

Operanzi

Nr.de stri
2

Octei
1 CMC

Exemple

Compararea a doi CMP s1,s2 operanzi

OF DF IF TF SF ZF AF PF CF x x x x x

Operanzi
AL|AX, data r, data mem, data r1, r2 r, mem mem, r

Nr.de stri
4 4 17+cAE 3 9+cAE 16+cAE

Octei
2-3 3-4 3-6 2 2-4 2-4 CMP CMP CMP CMP CMP CMP

Exemple
AL,0DH SI,200H [BX+DI+55H],2222H CL,DH DH,[4321H] [BP+2],SI

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu Compararea CMPS componentelor din dou iruri

Anexa

OF DF IF TF SF ZF AF PF CF x x x x x

Operanzi

Nr.de stri
22 22

Octei
1 1 CMPSB CMPSW

; pe octei ; pe cuvinte

Exemple

Obs.: Primitiva CMPS poate fi nsoit de unul dintre prefixele de repetabilitate REP, REPE|REPZ sau REPNE|REPNZ; acestea adaug 9 stri.

CWD

Extindere (cu semn) a unui cuvnt la un cuvnt dublu

OF DF IF TF SF ZF AF PF CF

Operanzi

Nr.de stri
5

Octei
1 CWD

Exemple

DAA

Ajustare zecimal pentru adunare

OF DF IF TF SF ZF AF PF CF ? x x x x

Operanzi

Nr.de stri
4

Octei
1 DAA

Exemple

DAS

Ajustare zecimal pentru scdere

OF DF IF TF SF ZF AF PF CF ? x x x x

Operanzi

Nr.de stri
4

Octei
1 DAS

Exemple

DEC

Decrementarea sursei

OF DF IF TF SF ZF AF PF CF x x x x x

Operanzi
r16 r8 mem

Nr.de stri
2 3 15+cAE

Octei
1 2 2-4 DEC DEC DEC

Exemple
CX BH [SI+20H]

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu Imprire

Anexa

DIV

OF DF IF TF SF ZF AF PF CF ? ? ? ? ?

Operanzi
r8 r16 mem8 mem16

Nr.de stri
80- 90 144-162 86- 96+ cAE 150-168+ cAE

Octei
2 2 2-4 2-4 DIV DIV DIV DIV BL CX [400H]

Exemple

[SI+10H]

ESC

Plaseaz coninutul unei locaii de memorie pe magistrala de date

OF DF IF TF SF ZF AF PF CF

Operanzi
mem

Nr.de stri
7 + cAE

Octei
2-4 ESC

Exemple
[BX+SI]

HLT

Introduce procesorul n starea de "halt"

OF DF IF TF SF ZF AF PF CF

Operanzi

Nr.de stri
2

Octei
1 HLT

Exemple

Imprire IDIV s cu semn

OF DF IF TF SF ZF AF PF CF ? ? ? ? ?

Operanzi
r8 r16 mem8 mem16

Nr.de stri
101-112 165-184 107-118+ cAE 171-190+ cAE

Octei
2 2 2-4 2-4 IDIV IDIV IDIV IDIV

Exemple
CL BX [SI+100H] [BX+1000H]

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu Inmulire IMUL s cu semn

Anexa

OF DF IF TF SF ZF AF PF CF x ? ? ? ?

Operanzi
r8 r16 mem8 mem16

Nr.de stri
80- 98 128-154 86-104+ cAE 134-160+ cAE

Octei
2 2 2-4 2-4 IMUL IMUL IMUL IMUL CL BX [BX]

Exemple

[BP+DI+30H]

IN

d,s

Transferul unui octet sau cuvnt de la un port n acumulator

OF DF IF TF SF ZF AF PF CF

Operanzi
AL|AX, port AL|AX, DX

Nr.de stri
10 8

Octei
2 1 IN IN AL,1FH AX,DX

Exemple

INC

Incrementarea sursei

OF DF IF TF SF ZF AF PF CF x x x x x

Operanzi
r16 r8 mem

Nr.de stri
2 3 15+cAE

Octei
1 2 2-4 INC INC INC

Exemple
SI BL [BX+SI]

INT

[tip]

Cerere de ntrerupere software

OF DF IF TF SF ZF AF PF CF 0 0

Operanzi
tip (tip<>3)

Nr.de stri
52 51

Octei
1 2

Exemple
INT ; ntrerupere tip 3 INT 67

INTO

Cerere de ntrerupere de tip 4 (dac exist "depire")

OF DF IF TF SF ZF AF PF CF 0 0

Operanzi

Nr.de stri

Octei
INTO

Exemple

53 sau 4

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu Intoarcere din rutina de deservire a unei ntreruperi

Anexa

IRET

OF DF IF TF SF ZF AF PF CF x x x x x x x x

Operanzi

Nr.de stri
24

Octei
1 IRET

Exemple

JA | JNBE disp8

Salt dac "peste" | dac "nu sub sau egal"(pt. operaii fr semn)

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stri

Octei
JA ET1

Exemple
;salt dac ;CF)sau(ZF)=0

16 sau 4

JAE|JNB|JNC disp8

Salt daca "peste sau egal" | daca"nu sub" | daca "nu transport" (pentru operaii fara semn)

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stari
16 sau 4

Octei
2 JAE ET2

Exemple
;salt dac (CF)=0

JB|JNAE|JC disp8

Salt dac "sub | dac"nu peste sau egal"| dac exist transport" (pentru operaii fr semn)

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stri

Octei
JB ET3

Exemple
;salt dac (CF)=1

16 sau 4

JBE | JNA disp8

Salt daca "sub sau egal"| daca "nu peste"(pentru operaii fara semn)

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stri
16 sau 4

Octei
2 JNA ET4

Exemple ;salt dac


;(CF)sau(ZF)=1

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu Salt dac (CX) = 0 OF DF IF TF SF ZF AF PF CF

Anexa

JCXZ disp8

Operanzi
disp8

Nr.de stri
16 sau 4

Octei
2 JCXZ GATA

Exemple

JE | JZ disp8

Salt dac "egal" | dac " zero" (pt. operaii cu semn)

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stri

Octei
JZ ET5

Exemple
;salt dac (ZF)=1

16 sau 4

JG | JNLE disp8

Salt dac "mai mare"| dac "nu mai mic sau egal"(pt. operaii cu semn)

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stri

Octei
JG

Exemple
ET6 ;salt dac ;((SF)(OF))sau(ZF)=0

16 sau 4

JGE | JNL disp8

Salt dac "mai mare sau egal "| dac "nu mai mic"(pt. operaii cu semn)

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stri

Octei
JGE ET7

Exemple
;salt dac ;(SF)(OF)=0

16 sau 4

JL | JNGE disp8

Salt dac "mai mic" | dac "nu mai mare sau egal"(pentru operaii cu semn)

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stri

Octei
JL ET8

16 sau 4

;(SF)(OF)=1

Exemple ;salt dac

10

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu Salt dac "mai mic sau egal "| dac "nu mai mare "(pt. operaii cu semn)

Anexa

OF DF IF TF SF ZF AF PF CF

JLE | JNG disp8

Operanzi
disp8

Nr.de stari
16 sau 4

Octei
2 JNG

ET9 ;((SF)(OF))sau(ZF)=1

Exemple ;salt dac

Salt propriu-zis, JMP adr necondiionat

OF DF IF TF SF ZF AF PF CF

Operanzi
adr32 disp16 disp8 r16 mem* mem**

Nr.de stri
15 15 15 11 18+cAE 24+cAE

Octei
5 3 2 2 2-4 2-4 JMP JMP JMP JMP JMP JMP

Exemple
ET_ALT_SEG ETICHETA_IN_SEGMENT ET_SALT_SCURT CX [BX+100H] [DI]

* salt cu adresare indirect definit cu directiv de asamblare ca salt intra-segment; ** salt cu adresare indirect definit cu directiv de asamblare ca salt inter-segment.

JNE | JNZ disp8

Salt dac "ne-egal" | dac " non-zero" (operaii cu semn)

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stri

Octei
JNE ET10

Exemple
;salt dac (ZF)=0

16 sau 4

JNO

disp8

Salt dac "nu exist depire"

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stari
16 sau 4

Octei
2 JNO ET11

Exemple ;salt dac (OF)=0

JNP | JPO disp8

Salt dac " nonparitate"| dac "impar"

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stri
16 sau 4

Octei
2 JPO ET12

Exemple
;salt dac` (PF)=0

11

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu Salt dac "non-semn" OF DF IF TF SF ZF AF PF CF

Anexa

JNS

disp8

Operanzi
disp8

Nr.de stri
16 sau 4

Octei
2 JNS ET13

Exemple ;salt dac (SF)=0

JO

disp8

Salt dac "depire"

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stri
16 sau 4

Octei
2 JO ET14

Exemple
;salt dac (OF)=1

JP | JPE disp8

Salt daca "exista paritate"| daca "par"

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stri
16 sau 4

Octei
2 JPO ET15

Exemple
;salt dac (PF)=1

JS

disp8

Salt dac "exist semn"

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stri
16 sau 4

Octei
2 JS ET16

Exemple
;salt dac (SF)=1

LAHF

ncarc(AH)cu octetul inferior al registrului F

OF DF IF TF SF ZF AF PF CF

Operanzi

Nr.de stri
4

Octei
1 LAHF

Exemple

LDS

d,s

ncarc un registru de 16 bii i reg. segment de date

OF DF IF TF SF ZF AF PF CF

Operanzi
r16, mem32

Nr.de stri
16+cAE

Octei
2-4 LDS

Exemple
SI,[10H]

12

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu ncrc un registru de 16 bii cu o adresa efectiva

Anexa

OF DF IF TF SF ZF AF PF CF

LEA

d,s

Operanzi
r16, mem16

Nr.de stri
2+cAE

Octei
2-4 LEA

Exemple
BX,[BX+SI+0FFFH]

LES

d,s

ncarc un registru de 16 bii i registrul ES

OF DF IF TF SF ZF AF PF CF

Operanzi
r16, mem32

Nr.de stri
16+cAE

Octei
2-4 LES

Exemple
DI,[BX]

LOCK

Pe durata instruciunii pe care o prefixeaz aloc magistrala C

OF DF IF TF SF ZF AF PF CF

Operanzi
mem

Nr.de stri
2

Octei
1 LOCK XCHG

Exemple
CL,BL

LODS

ncarc componentele unui ir n acumulator

OF DF IF TF SF ZF AF PF CF

Operanzi

Nr.de stri
12 12

Octei
1 1 LODSB LODSW

Exemple
; pe octei ; pe cuvinte

LOOP disp8

Cicleaz necondiionat

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stri
9 sau 5

Octei
2 LOOP

Exemple
CICLU_1

LOOPE|LOOPZ disp8

Cicleaz ct timp "egal" sau "zero"

OF DF IF TF SF ZF AF PF CF

Operanzi
disp8

Nr.de stri
11 sau 5

Octei
2 LOOPE

Exemple
CICLU_2

13

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu LOOPNE | LOOPNZ disp8 Cicleaz ct timp " ne-egal " sau "non-zero" OF DF IF TF SF ZF AF PF CF

Anexa

Operanzi
disp8

Nr.de stri
11 sau 5

Octei
2 LOOPNE

Exemple
CICLU_3

Copiaz sursa MOV d,s la destinaie

OF DF IF TF SF ZF AF PF CF

Operanzi
r, data mem, data AL|AX, mem mem, AL|AX r1, r2 r, mem mem, r rs*, r16 rs*, mem16 r16, rs mem16, rs

Nr.de stri
4 10+cAE 10 10 2 8+cAE 9+cAE 2 8+cAE 2 9+cAE

Octei
2-3 3-6 3 3 2 2-4 2-4 2 2-4 2 2-4 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV

Exemple
CX,3168H [BX],491FH AL,[1064H] [1064H],AX AX,CX BP,[BX+DELTA] [DI+100H],CX SS,DX DS,[1000H] BP,SS [2000H],CS

* registrul segment nu poate fi CS

MOVS

Transfer o component a irului surs n irul destinaie

OF DF IF TF SF ZF AF PF CF

Operanzi

Nr.de stri

Octei
MOVSB MOVSW

Exemple
; pe octei ; pe cuvinte

18 18

1 1

Obs.: Primitiva MOVS poate fi nsoit de prefixul de repetabilitate REP; acesta adaug 9 stri.
OF DF IF TF SF ZF AF PF CF x ? ? ? ?

MUL

Inmulire

Operanzi
r8 r16 mem8 mem16

Nr.de stri
70- 77 118-133 76- 83+ cAE 124-139+ cAE

Octei
2 2 2-4 2-4 MUL MUL MUL MUL

Exemple
BL CX [SI+300H] [200H]

14

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu Complementare fa de 2 a sursei

Anexa

NEG

OF DF IF TF SF ZF AF PF CF x x x x x

1*

Operanzi
r mem

Nr.de stri
3 16+cAE

Octei
2 2-4 NEG NEG AL [BX]

Exemple

* (CF) = 0 dac (s)=0H

NOT

Complementare fa de 1 a sursei

OF DF IF TF SF ZF AF PF CF

Operanzi
r mem

Nr.de stri
3 16+cAE

Octei
2 2-4 NOT NOT

Exemple
BL [1000H]

OR

d,s

SAU logic

OF DF IF TF SF ZF AF PF CF 0 x x ? x

Operanzi
AL|AX, data r, data mem, data r1, r2 r, mem mem, r

Nr.de stri
4 4 17+cAE 3 9+cAE 16+cAE

Octei
2-3 3-4 3-6 2 2-4 2-4 OR OR OR OR OR OR

Exemple
AX,3030H CX,001FH [BX+DI],1F1FH AH,BH DX,[DI] [BX],AX

OUT

d,s

Transferul unui octet sau cuvnt din acumulator la un port

OF DF IF TF SF ZF AF PF CF

Operanzi
port, AL|AX DX, AL|AX

Nr.de stri
10 8

Octei
2 1 OUT OUT 44,AX DX,AL

Exemple

POP

Transfer din stiv la destinaie

OF DF IF TF SF ZF AF PF CF

Operanzi
r16 mem16 rs (nu CS)

Nr.de stri
8 17+cAE 8

Octei
1 2-4 1 POP POP POP BX [SI] ES

Exemple

15

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu Transfer din stiv registrul de fanioane

Anexa

POPF

OF DF IF TF SF ZF AF PF CF x x x x x x x

Operanzi

Nr.de stri
8

Octei
1 POPF

Exemple

PUSH

Transfer n de la surs

stiv

OF DF IF TF SF ZF AF PF CF

Operanzi
r16 mem16 rs

Nr.de stri
11 16+cAE 10

Octei
1 2-4 1 PUSH PUSH PUSH SI [BX] DS

Exemple

PUSHF

Transfer n stiv registrul de fanioane

OF DF IF TF SF ZF AF PF CF

Operanzi

Nr.de stri
10

Octei
1 PUSHF

Exemple

Rotaie stnga cu RCL s, nrcel transport

OF DF IF TF SF ZF AF PF CF x

Operanzi
r, 1 r, CL mem, 1 mem, CL

Nr.de stri
2 8 +4/bit 15+cAE 20+cAE +4/bit

Octei
2 2 2-4 2-4 RCL RCL RCL RCL AX,1 BL,CL

Exemple

ALFA,1 [DI+ALFA],CL

Rotaie dreapta cu RCR s, nrcel transport

OF DF IF TF SF ZF AF PF CF x

Operanzi
r, 1 r, CL mem, 1 mem, CL

Nr.de stri
2 8 +4/bit 15+cAE 20+cAE +4/bit

Octei
2 2 2-4 2-4 RCR RCR RCR RCR BX,1 CX,CL

Exemple

[BX+20],1 [SI],CL

16

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu Repet necondiionat primitiva de operaie cu iruri pe care o precede

Anexa

OF DF IF TF SF ZF AF PF CF

REP

Operanzi

Nr.de stri
9

Octei
1 REP MOVSB

Exemple

REPE | REPZ

Repet ct timp "egal" | ct timp "zero" primitiva CMPS sau SCAS

OF DF IF TF SF ZF AF PF CF

Operanzi

Nr.de stri
9

Octei
1 REPE CMPSB

Exemple

REPNE|REPNZ

Repet ct timp "ne-egal"| ct timp "non-zero" primitiva CMPS sau SCAS

OF DF IF TF SF ZF AF PF CF

Operanzi

Nr.de stari
9

Octei
1 REPNE

Exemple
SCASW

Rentoarcere din RET [data16] subprogram

OF DF IF TF SF ZF AF PF CF

Operanzi
data16 data16

Nr.de stari
8 12 18 17

Octei
1 3 1 3 RET RET RET RET 4 2

Exemple
;intra-segment ;intra-segment ;inter-segment ;inter-segment

ROL s, nrcel

Rotaie stnga

OF DF IF TF SF ZF AF PF CF x

Operanzi
r, 1 r, CL mem, 1 mem, CL

Nr.de stri
2 8 +4/bit 15+cAE 20+cAE +4/bit

Octei
2 2 2-4 2-4 ROL ROL ROL ROL DI,1 BX,CL

Exemple

[DI+DELTA],1 [BX+DI],CL

17

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu

Anexa

ROR s, nrcel

Rotaie dreapta

OF DF IF TF SF ZF AF PF CF x

Operanzi
r, 1 r, CL mem, 1 mem, CL

Nr.de stri
2 8 +4/bit 15+cAE 20+cAE +4/bit

Octei
2 2 2-4 2-4 ROR ROR ROR ROR CX,1 BX,CL

Exemple

[SI],1 BETA,CL

SAHF

Incarc octetul inferior al registrului F cu (AH)

OF DF IF TF SF ZF AF PF CF x x x x

Operanzi

Nr.de stri
4

Octei
1 SAHF

Exemple

Deplasare stnga SAL | SHL s,nrcel logic sau aritmetic 2 8 +4/bit 15+cAE 20+cAE +4/bit

OF DF IF TF SF ZF AF PF CF x x x ? x

Operanzi
r, 1 r, CL mem, 1 mem, CL

Nr.de stri

Octei
2 2 2-4 2-4 SHL SAL SHL SHL AL,1 SI,CL

Exemple

[DI+100H],1 [BP+SI],CL

Deplasare dreapta SAR s, nrcel aritmetic

OF DF IF TF SF ZF AF PF CF x x x ? x

Operanzi
r, 1 r, CL mem, 1 mem, CL

Nr.de stri
2 8 +4/bit 15+cAE 20+cAE +4/bit

Octei
2 2 2-4 2-4 SAR SAR SAR SAR AH,1 DI,CL

Exemple

[BP],1 [DI],CL

18

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu

Anexa

SBB

d,s

Scdere cu mprumut

OF DF IF TF SF ZF AF PF CF x x x x x

Operanzi
AL|AX, data r, data mem, data r1, r2 r, mem mem, r

Nr.de stri
4 4 17+cAE 3 9+cAE 16+cAE

Octei
2-3 3-4 3-6 2 2-4 2-4 SBB SBB SBB SBB SBB SBB

Exemple
AX,4D2CH CL,1 [BP+SI],3F8H BL,DL DI,[BX+ALFA] [SI+100],AX

SCAS

Compar componentle unui ir cu acumulatorul

OF DF IF TF SF ZF AF PF CF x x x x x

Operanzi

Nr.de stri
15 15

Octei
1 1 SCASB SCASW

Exemple
; pe octei ; pe cuvinte

Obs.: Primitiva SCAS poate fi nsoit de unul dintre prefixele de repetabilitate REP, REPE|REPZ sau REPNE|REPNZ; acestea adaug 9 stri.
Deplasare dreapta SHR s, nrcel logic OF DF IF TF SF ZF AF PF CF x x x ? x

Operanzi
r, 1 r, CL mem, 1 mem, CL

Nr.de stri
2 8 +4/bit 15+cAE 20+cAE +4/bit

Octei
2 2 2-4 2-4 SHR SHR SHR SHR BL,1 SI,CL

Exemple

[BP+SI],1 [BX+DI+BETA],CL

STC

Setarea fanionului de transport

OF DF IF TF SF ZF AF PF CF 1

Operanzi

Nr.de stri
2

Octei
1 STC

Exemple

STD

Setarea fanionului de direcie

OF DF IF TF SF ZF AF PF CF 1

Operanzi

Nr.de stri
2

Octei
1 19 STD

Exemple

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu Setarea fanionului de validare a ntreruperilor OF DF IF TF SF ZF AF PF CF 1

Anexa

STI

Operanzi

Nr.de stri
2

Octei
1 STI

Exemple

STOS

Incarc componentle unui ir din acumulator

OF DF IF TF SF ZF AF PF CF

Operanzi

Nr.de stri
11 11

Octei
1 1 STOSB STOSW

Exemple
; pe octei ; pe cuvinte

Obs.: Primitiva STOS poate fi nsoit de prefixul de repetabilitate REP; acesta adaug 9 stri.
OF DF IF TF SF ZF AF PF CF x x x x x

SUB

d,s

Scdere

Operanzi
AL|AX, data r, data mem, data r1, r2 r, mem mem, r

Nr.de stri
4 4 17+cAE 3 9+cAE 16+cAE

Octei
2-3 3-4 3-6 2 2-4 2-4 SUB SUB SUB SUB SUB SUB

Exemple
AL,65H SI,5280 [SI+14H],136H CX,BX DH,[BP+4] [BP+10],CL

SI logic TEST s1,s2 nedistructiv

OF DF IF TF SF ZF AF PF CF 0 x x ? x

Operanzi
AL|AX, data r, data mem, data r1, r2 r, mem

Nr.de stri
4 5 11+cAE 3 9+cAE

Octei
2-3 3-4 3-6 2 2-4 TEST TEST TEST TEST TEST

Exemple
AX,0040H SI,0050 [BP],00100000B SI,DI AL,[55H]

WAIT

Introduce procesorul n starea de "wait", pn cnd semnalul TEST=0

OF DF IF TF SF ZF AF PF CF

Operanzi

Nr.de stri

Octei
1 WAIT

Exemple

20

Arhitectura microprocesoarelor ndrumar de laborator


Corneliu Burileanu

Anexa

XCHG

d,s

Transfer sursa la destinaie i destinaia la surs

OF DF IF TF SF ZF AF PF CF

Operanzi
r16 r1, r2 r, mem

Nr.de stri

Octei
XCHG XCHG XCHG

Exemple
BX ;XCHG AX este NOP AL,BL BX,[BP+SI]

3 4 17 + cAE

1 2 2-4

XLAT

Translateaz

OF DF IF TF SF ZF AF PF CF

Operanzi

Nr.de stri
11

Octei
1 XLAT

Exemple

XOR

d,s

SAU exclusiv

OF DF IF TF SF ZF AF PF CF 0 x x ? x

Operanzi
AL|AX, data r, data mem, data r1, r2 r, mem mem, r

Nr.de stri
4 4 17+cAE 3 9+cAE 16+cAE

Octei
2-3 3-4 3-6 2 2-4 2-4 XOR XOR XOR XOR XOR XOR

Exemple
AX,5522H SI,00C2H [BX+DI],2244H CX,BX AX,[SI] [SI+ALFA],DX

21

S-ar putea să vă placă și