Razne string instrukcije u 8086 mikroprocesoru?
Mikroprocesor 8086 pruža nekoliko nizova instrukcija koje specifično manipuliraju nizovima podataka. Ove instrukcije djeluju na izvornom nizu i odredišnom nizu, izvodeći operacije poput premještanja, uspoređivanja ili pretraživanja unutar nizova. Oni pojednostavljuju zadatke obrade nizova i povećavaju učinkovitost koda. Ovdje su neke od često korištenih string instrukcija u 8086 mikroprocesoru:
1. MOVS:
- Instrukcija MOVS koristi se za premještanje bajta ili riječi iz izvornog niza u odredišni niz.
- Sintaksa:MOVS odredište, izvor
- Primjer:MOVS BX, CX [Premješta bajt s memorijske lokacije na koju ukazuje CX na memorijsku lokaciju na koju ukazuje BX.]
2. MOVSB:
- MOVSB instrukcija posebno se koristi za premještanje bajta iz izvornog niza u odredišni niz.
- Sintaksa:MOVSB odredište, izvor
- Primjer:MOVSB [DI], [SI] [Premješta bajt s memorijske lokacije na koju ukazuje SI na memorijsku lokaciju na koju ukazuje DI.]
3. MOVSW:
- MOVSW instrukcija posebno se koristi za premještanje riječi iz izvornog niza u odredišni niz.
- Sintaksa:MOVSW odredište, izvor
- Primjer:MOVSW [BX], [CX] [Premješta riječ s memorijske lokacije na koju pokazuje CX na memorijsku lokaciju na koju pokazuje BX.]
4. CMPS:
- CMPS instrukcija uspoređuje bajt ili riječ iz izvornog niza s bajtom ili riječju iz odredišnog niza.
- Sintaksa:CMPS odredište, izvor
- Primjer:CMPS [DI], [SI] [Uspoređuje bajt na memorijskoj lokaciji na koju ukazuje DI s bajtom na memorijskoj lokaciji na koju ukazuje SI.]
5. CMPSB:
- CMPSB instrukcija posebno uspoređuje bajt iz izvornog niza s bajtom iz odredišnog niza.
- Sintaksa:CMPSB odredište, izvor
- Primjer:CMPSB [DX], AL [Uspoređuje bajt na memorijskoj lokaciji na koju ukazuje DX s bajtom u registru AL.]
6. CMPSW:
- CMPSW instrukcija posebno uspoređuje riječ iz izvornog niza s riječju iz odredišnog niza.
- Sintaksa:CMPSW odredište, izvor
- Primjer:CMPSW [BX], CX [Uspoređuje riječ na memorijskoj lokaciji na koju pokazuje BX s riječju u CX registru.]
7. SCAS:
- SCAS instrukcija uspoređuje bajt ili riječ iz izvornog niza s bajtom ili riječi u AL ili AX registru.
- Sintaksa:SCAS izvor
- Primjer:SCAS [DI] [Uspoređuje bajt na memorijskoj lokaciji na koju ukazuje DI s bajtom u AL registru.]
8. SCASB:
- SCASB instrukcija posebno uspoređuje bajt iz izvornog niza s bajtom u AL registru.
- Sintaksa:SCASB izvor
- Primjer:SCASB [DX] [Uspoređuje bajt na memorijskoj lokaciji na koju ukazuje DX s bajtom u AL registru.]
9. SCASW:
- SCASW instrukcija posebno uspoređuje riječ iz izvornog niza s riječju u AXE registru.
- Sintaksa:SCASW izvor
- Primjer:SCASW [BX] [Uspoređuje riječ na memorijskoj lokaciji koju pokazuje BX s riječju u AX registru.]
10. LODS:
- Instrukcija LODS učitava bajt ili riječ iz izvornog niza u registar AL ili AX.
- Sintaksa:LODS izvor
- Primjer:LODS [DI] [Učitava bajt s memorijske lokacije na koju ukazuje DI u AL registar.]
11. LODSB:
- LODSB instrukcija posebno učitava bajt iz izvornog niza u AL registar.
- Sintaksa:LODSB izvor
- Primjer:LODSB [DX] [Učitava bajt s memorijske lokacije na koju ukazuje DX u AL registar.]
12. LODSW:
- Instrukcija LODSW specifično učitava riječ iz izvornog niza u AX registar.
- Sintaksa:LODSW izvor
- Primjer:LODSW [BX] [Učitava riječ s memorijske lokacije na koju ukazuje BX u AX registar.]
13. STOS:
- STOS instrukcija sprema bajt ili riječ iz AL ili AX registra u odredišni niz.
- Sintaksa:STOS odredište
- Primjer:STOS [DI] [Pohranjuje bajt iz AL registra na memorijsku lokaciju na koju ukazuje DI.]
14. STOSB:
- Instrukcija STOSB posebno sprema bajt iz AL registra u odredišni niz.
- Sintaksa:STOSB odredište
- Primjer:STOSB [DX] [Pohranjuje bajt iz AL registra na memorijsku lokaciju na koju ukazuje DX.]
15. STOSW:
- STOSW instrukcija specifično sprema riječ iz AXE registra u odredišni niz.
- Sintaksa:STOSW odredište
- Primjer:STOSW [BX] [Pohranjuje riječ iz AX registra na memorijsku lokaciju na koju ukazuje BX.]
Ove instrukcije nizova mogu se koristiti za učinkovito izvođenje raznih zadataka manipulacije nizovima kao što su kopiranje, usporedba, pretraživanje i mijenjanje nizova. Oni optimiziraju obradu podataka niza i pojednostavljuju zadatke programiranja koji uključuju nizove.