Instrucțiuni de salt

Laborator
7/10 (1 vot)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 4 în total
Cuvinte : 1391
Mărime: 8.79KB (arhivat)
Publicat de: Theodor Marginean
Puncte necesare: 0

Extras din laborator

5.2 Instructiuni de salt conditionat

Mnemonic: Jcc deplasament, unde cc reprezinta conditia testata

Actiunea:

• Daca conditia este adevarata, PC<-PC+deplasament (se executa saltul la noua adresa )

• Daca conditia este falsa , PC<-PC+n, unde n este numarul de octeti ai instructiunii de salt (aceasta este ignorata si se continua cu instructiunea urmatoare).

Salturile conditionate sunt salturi relative, deci adresa de salt este data de suma intre continutul curent al PC si deplasamentul specificat de instructiune.

Deplasamentul admis de unele asambloare este cu numai 8 biti, astfel ca operandul “adr” trebuie sa difere de adresa curenta cu maxim +/- 128 octeti.

Procesoarele de la I386 in sus admit si salturi relative cu depalasament pe 16 sau 32 de biti, dar numai in interiorul aceluiasi segment. Daca se doreste saltul in afara segmentului, se va folosi instructiunea de salt relativ cu conditia inversa si dupa ea o instructiune de salt neconditionat intersegment.

In functie de indicatorii de conditii testati de instructiunea de salt, exista urmatoarele tipuri de salturi conditionate (cu variantele echivalente scrise in paranteze).

JP adr (JPE adr) – Jump if Parity - salt conditionat de paritate para

JNP adr (JPO adr) – Jump if Not Parity - salt conditionat de paritate impara

JO adr - Jump if Overflow- salt conditionat de OF =1 - a fost depasire

JNO adr - Jump if Not Overflow- salt conditionat de OF = 0 - nu a fost depasire

JS adr – Jump if Sign bit- salt conditionat de SF=1 - rezultatul a fost negativ

JNS adr - Jump if No Sign bit - salt conditionat de SF = 0 rezultatul a fost pozitiv

JE adr (JZ adr) – Jump if Equal (Jump if Zero flag) - salt conditionat de ZF=1 - egalitate la compartia anterioara

JNE adr (JNZ adr) - Jump if Not Equal (Jump if No Zero flag) - salt conditionatde ZF=0 - inegalitate la comparatia anterioara

Pentru compararea numerelor cu semn (MSB da semnul: 1 pentru negativ, 0 pentru pozitiv) se folosesc atributele Less si Greater:

JL adr (JNGE adr) – Jump if Less (Jump if Not Greater or Equal) - salt conditionat de SF<>OF (SF xor OF = 1) - mai mic la compartia anterioara a unor valori cu semn

JLE adr (JNG adr) - Jump if Less or Equal (Jump if Not Greater) salt conditionat de ZF=1 sau SF<>OF - mai mic sau egal la compartia anterioara a unor valori cu semn

JG adr (JNLE adr) – Jump if Greater (Jump if Not Less or Equal) - salt conditionat de ZF=0 si SF=OF - mai mare la compartia anterioara a unor valori cu semn

JGE adr (JNL adr) – Jump if Greater or Equal (Jump if Not Less) - salt conditionat de SF=OF - mai mare sau egal la compartia anterioara a unor valori cu semn

Pentru compararea numerelor fara semn se folosesc atributele Below si Above:

JB adr (JNAE adr , JC adr) – Jump if Below (Jump if Not Above or Equal) - salt conditionat de CF = 1 - mai mic la compartia anterioara a unor valori fara semn sau transport la operatia anterioara

JBE adr (JNA adr) – Jump if Below or Equal (Jump if Not Above) - salt conditionat de CF=1 sau ZF=1 - mai mic sau egal la compartia anterioara a unor valori fara semn

JA adr (JNBE adr ) – Jump if Above ( Jump if Not Below or Equal) - salt conditionat de CF =ZF = 0 - mai mare la compartia anterioara a unor valori fara semn

JAE adr (JNB adr , JNC adr) – Jump if Above or Equal (Jump if Not Below, Jump if Not Carry) - salt conditionat de CF=0 - mai mare sau egal la compartia anterioara a unor valori fara semn sau nu exista transport la operatia anterioara

JCXZ – (Jump if CX is Zero) - salt conditionat de continutul lui CX = 0

Preview document

Instrucțiuni de salt - Pagina 1
Instrucțiuni de salt - Pagina 2
Instrucțiuni de salt - Pagina 3
Instrucțiuni de salt - Pagina 4

Conținut arhivă zip

  • Instructiuni de salt.doc

Alții au mai descărcat și

Liste Dublu Înlănțuite Reprezentare cu Variabile Dinamice

/* Declaratii */ #ifndef LISTDINL_V1 #define LISTDINL_V1 #define INS_BEG 0 #define INS_END 1 #define ASC_ORD 2 #define DESC_ORD 3 #define NO_DUP...

Liste

3.1.1 Operatii fundamentale /* Declaratii */ typedef int INFO; typedef int NODEPTR, LISTA, POZITIE, BOOL; typedef struct nod { INFO info;...

Baze de Date

Clasif. utilizatorilor unor BD 1) utiliz. obisnuiti 2) utiliz. programatori de aplicatii 3) administrator de baza de date 4) administrator a...

Baze de date C6

2.Nivelul logic al BD Avem de-a face cu scheme conceptuale formeaza un model unitar al unei aplicatii complexe prin reunirea subschemelor...

Componente TCP IP

Fragmentare si defragmentare: Daca transfera pe o retea ETHERNET nu trebuie sa avem pachete mai mari de 1500 de octeti. IP poate cere un pachet...

Gestiunea adreselor pe Internet

Mecanismul de adresare ce servere pe domenii Forma: nume intercalate cu puncte. Cu cât numele sunt mai la dreapta, cu atât ierarhic e mai mare....

Intranet

Intranetul e o aplicatie a tehnologiei Internet intr-o organizatie de sine statatoare. Leaga resursele informatice interne si creaza un mecanism...

Magistrala AT si XT

BRIDGE PCI/PCI Exista 2 dialoguri. Legatura se face pe mai multe ramuri ale arhitecturii. Exista un BUS initiator (masterul) si un BUS tinta....

Te-ar putea interesa și

Automatizări Industriale în Mecatronică

Definirea sistemului flexibil de prelucrare Sistemul flexibil de prelucrare SFP poate fi definit ca un ansamblu integrat de maşini-unelte...

Execuția Speculativă a Instrucțiunilor

Execuţia speculativă a instrucţiunilor Execuţia speculativă este deocamdată cea mai avansată tehnică de procesare a instrucţiunilor de salt....

Evoluția microprocesoarelor

Arhitectura x86 Corporatia Cyrix este unul dintre furnizorii de baza ai solutiilor bazate pe microprocesoare, care a introdus noi standarde pe...

Evoluția microprocesoarelor

Evolutia procesoarelor Perioada 1993-1998 a fost foarte zbuciumata, marcata de o lupta foarte dura pe piata microprocesoarelor, in care Intel a...

Procesoare Evoluate

1. Cresterea de viteza, Legea lui Amdahl. (Speedup & Amdahl Law) Prin paralelizarea unui program secvential se urmareste in primul rand obtinerea...

Programare în Limbaj de Asamblare

1. Structura unui calculator numeric de tip John von Neumann 2. Ce sunt asambloarele? Descrieti etapele procesului de asamblare. Asambloarele...

Sisteme de Operare și Limbaje în Timp Real

1.1. Consideraþii generale Echipamentele numerice de conducere a proceselor industriale (regulatoarele numerice, calculatoarele de proces), ín...

Îndrumar laborator arhitectura microprocesoarelor

Îndrumar de laborator 1 INTRODUCERE ÎN STUDIUL MICROSISTEMELOR LECTRONICE 1. Obiectul lucrarii Lucrarea îsi propune o introducere în studiul...

Ai nevoie de altceva?