1. fotoaparati
  2. Car Audio & Electronics
  3. Home Audio
  4. Osobni Audio
  5. TV
  6. Pametna kuća
  >> Hrvatska Electronic Technology >  >> TV >> daljinski upravljači

Što su upute za pomak i rotaciju?

Upute za smjenu

Instrukcije pomaka pomiču bitove registra lijevo ili desno. Ovo može biti korisno u različite svrhe, kao što su:

* Množenje ili dijeljenje potencijama broja 2

* Ekstrakcija ili umetanje određenih bitova iz registra

* Obrnuti redoslijed bitova u registru

Postoje dvije glavne vrste instrukcija pomaka:logički pomaci i aritmetički pomaci.

* Logične promjene pomaknuti sve bitove u registru, uključujući bit predznaka. To znači da se vrijednost registra može promijeniti nakon logičkog pomaka.

* Aritmetički pomaci pomaknite samo bitove podataka u registru, a ne bit predznaka. To znači da se vrijednost registra neće promijeniti nakon aritmetičkog pomaka.

Sljedeća tablica prikazuje različite upute za pomak dostupne u većini procesora:

| Uputa | Opis |

|---|---|

| `SHL` | Logički pomak lijevo |

| `SHR` | Logički pomak desno |

| `SAR` | Aritmetika pomaka udesno |

| `ROL` | Zakreni lijevo |

| `ROR` | Zakreni desno |

Upute za rotiranje

Instrukcije rotiranja slične su instrukcijama pomaka, osim što rotiraju bitove registra umjesto da ih pomiču. To znači da će se bitovi na jednom kraju registra pomaknuti na drugi kraj.

Upute za rotiranje mogu biti korisne u razne svrhe, kao što su:

* Generiranje kružnih međuspremnika

* Zamjena sadržaja dvaju registara

* Implementacija određenih kriptografskih algoritama

Sljedeća tablica prikazuje različite upute za rotiranje dostupne u većini procesora:

| Uputa | Opis |

|---|---|

| `ROL` | Zakreni lijevo |

| `ROR` | Zakreni desno |

Primjeri

Evo nekoliko primjera kako se mogu koristiti upute za pomak i rotaciju:

* Za množenje broja s 2, možete upotrijebiti instrukciju pomicanja ulijevo. Na primjer, sljedeći kod množi vrijednost u registru `EAX` s 2:

```

shl eax, 1

```

* Za dijeljenje broja s 2, možete upotrijebiti instrukciju pomicanja udesno. Na primjer, sljedeći kod dijeli vrijednost u registru `EAX` s 2:

```

shr eax, 1

```

* Za izdvajanje najmanje značajnog bajta iz registra, možete koristiti instrukciju pomaka udesno. Na primjer, sljedeći kod izvlači najmanje značajan bajt iz registra `EAX` i pohranjuje ga u registar `AL`:

```

shr eax, 8

mov al, eax

```

* Za umetanje određenog bajta u registar, možete koristiti instrukciju pomaka ulijevo. Na primjer, sljedeći kod umeće vrijednost 0x12 u najmanje značajan bajt registra `EAX`:

```

mov al, 0x12

shl eax, 8

```

* Za obrnuti redoslijed bitova u registru, možete koristiti instrukciju rotiranja ulijevo. Na primjer, sljedeći kod mijenja redoslijed bitova u registru `EAX`:

```

rol eax, 8

```

  1. Kako spojiti RCA analogni TV pretvarač & videorekorder
  2. Kako instalirati Philips Antena
  3. Kako Spojite videorekorder na prijenosni TV
  4. Kako spojiti više TV
  5. Kako pronaći signal za jelo Satellite