Instrucțiuni de lucru cu șiruri

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

Extras din laborator

Instructiunile LODS si STOS

Mnemonic: LODS dst,src - Muta un octet, doi octeti sau 4 octeti de la adresa la adresa DS:SI in AL, AX sau EAX. Aceasta instructiune este echivalenta cu LODSB,LODSW si LODSD care nu au insa operanzi expliciti.

Mnemonic: STOS dst,src - Muta continutul lui AL, AX sau EAX in memorie la adresa ES:DI. Aceasta instructiune este echivalenta cu STOSB,STOSW si STOSD care nu au insa operanzi expliciti.

Pentru instructiunile de transfer LODSB, LODSW si LODSW, sursa este locatia de memorie cu adresa efectiva data de registrul index sursa SI si adresa de segment data de DS.

Pentru instructiunile de transfer STOSB, STOSW si STOSD destinatia este locatia de memorie cu adresa efectiva data de registrul index destinatie DI si adresa de segment data de ES.

In urma efectuarii unei astfel de instructiuni, registrul index SI respectiv DI se modifica in functie de starea flagului DF (de directie). Daca DF este 0, registrul index va fi incrementat cu 1 la LODSB si STOSB, cu 2 la LODSW si STOSW si cu 4 la LODSD si STOSD . Daca DF este 1, registrul index va fi decrementat cu 1, 2, respectiv cu 4.

Registrul general implicit este AL la transferul de un octet, AX la transferul de doi octeti si EAX la transferul pe 4 octeti.

In exemplul urmator se arata utilizarea unor astfel de instructiuni la copierea unui bloc dintr-o zona memorie in alta

Exemplul 6.1:

.radix 16

.model small

.stack 100h

LungimeBloc equ 30

.data

BlocSursa db 40 dup(56)

BlocDest db 40 dup(?)

.code

start:

mov ax,seg BlocSursa ;Se putea folosi si mov ax,@data

mov ds,ax ;Segmentul sursa in DS

mov ax,seg BlocDst ;Necesar numai daca blocurile ;sunt in segmente diferite

mov es,ax ;Segmentul destinatie in ES

cld ;directia in sensul cresterii ;adreselor

mov si, offset BlocSursa ;AE a sursei in SI

mov di, offset BlocDest ;AE a destinatiei in DI

mov cx, LungimeBloc ;Numarul de transferuri in CX

bucla:

lodsb ;Incarca in AL un octet

stosb ;si il trimite la destinatie

loop bucla ;Decrementeaza CX si reia ;bucla pana cand CX devine 0

term:

jmp term

end start

Modul de lucru:

P 6.1 Sa se initializeze un bloc de 20h de cuvinte de forma 1122h in memorie si sa se scrie un program care sa copieze acest bloc intr-o zona incepand de la adresa 60h din segmentul de date.

Observatie: Reamintim ca dupa incarcarea lui DS, zona de memorie afisata in fereastra DUMP va fi cea a segmentului ES. Pentru a vdea segmentul de date se da comanda Dump din submeniul View, avand activa fereastra CPU.

Preview document

Instrucțiuni de lucru cu șiruri - Pagina 1
Instrucțiuni de lucru cu șiruri - Pagina 2
Instrucțiuni de lucru cu șiruri - Pagina 3
Instrucțiuni de lucru cu șiruri - Pagina 4
Instrucțiuni de lucru cu șiruri - Pagina 5
Instrucțiuni de lucru cu șiruri - Pagina 6
Instrucțiuni de lucru cu șiruri - Pagina 7
Instrucțiuni de lucru cu șiruri - Pagina 8
Instrucțiuni de lucru cu șiruri - Pagina 9

Conținut arhivă zip

  • Instructiuni de lucru cu siruri.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

Proiectarea unui sistem pe baza microprocesorului I8086

1 Microprocesorul Intel 8086 1.1 Generalitati Lansat în 1978 de firma Intel, se prezintă sub forma unei capsule cu 40 de pini, este realizat în...

Proiectarea Nucleului de Microsistem

1. Introducere Proiectul dat reprezinta structura de proiectare a nucleului unui microcalculator didactic care realizeaza programul de triere a...

Conectarea Memoriei de Tip ROM și RAM la Microprocesor

I. Scopul lucrării: Elaborarea schemelor structurală şi electrică pentru conectarea memoriei de tip ROM şi RAM la microprocesorul Intel 8086 (regim...

Arhitectura calculatoarelor

ARHITECTURA CALCULATOARELOR 2003/2004 CURSUL 1 CAPITOLUL 1: Stocarea datelor 1.1 Stocarea bitilor Calculatoarele utilizate în prezent...

Limbajul C

În continuare vom defini un calculator, ca fiind un sistem electronic de foarte mare complexitate, capabil de prelucrarea automata a datelor de...

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...

Laboratoare SOLTR

Descrierea pachetului de programe MASM (I) Scopul lucrarii Lucrarea urmareste familiarizarea studenþilor cu mediul de dezvoltare a programelor...

Programare în Java

Introducere Incepand cu anul 1977 incepe utilizarea pe scara larga a calculatoarelor personale, pretul acestora facandu-le accesibile tuturor. In...

Ai nevoie de altceva?