>> Tecnologia elettronica >  >> TV >> Telecomandi

Istruzioni di Shift e Rotate in Linguaggio Assembly: Riferimento Completo

Le istruzioni di shift e rotate sono operazioni bitwise fondamentali che manipolano il contenuto dei registri a livello binario. Sono essenziali per aritmetica efficiente, impacchettamento bit, crittografia e programmazione di sistemi di basso livello.

Istruzioni di Shift

Spostano bit a sinistra o destra, scartando i bit che cadono dall'estremo (tranne che nei flag).

Shift Logici

Shift Aritmetici

Riepilogo Istruzioni di Shift (x86)

IstruzioneOperazioneCFOFCaso d'uso
SHL r, cl/immr ← r << nUltimo bit spostato fuoriImpostato se cambia segno (shift 1 bit)Moltiplicazione non segnata ×2ⁿ rapida
SHR r, cl/immr ← r >> n (zero-fill)Ultimo bit spostato fuoriImpostato se cambia segno (shift 1 bit)Divisione non segnata ÷2ⁿ rapida
SAR r, cl/immr ← r >> n (sign-fill)Ultimo bit spostato fuoriSempre 0Divisione segnata ÷2ⁿ rapida

Istruzioni di Rotate

I bit si avvolgono—nessun bit perso. CF cattura il bit che attraversa il confine.

Tipi

Esempi Pratici (Assembly x86)

Moltiplica EAX per 8

shl eax, 3 ; EAX *= 8 (2^3)

Dividi EAX per 4 (non segnato)

shr eax, 2 ; EAX /= 4

Dividi EAX per 4 (segnato)

sar eax, 2 ; Preserva segno

Estrai Byte Basso in AL

movzx eax, al ; O: and eax, 0xFF

Inserisci Valore nei Bit 8-15

shl eax, 8 ; Sposta bit esistenti 8-15 a 16-23 mov al, 0x12 ; Inserisci nuovo byte basso (esempio) ; Meglio: and eax, 0xFFFF00FF; or eax, (0x12 << 8)

Scambia Bit Alti/Bassi 16 di EAX

rol eax, 16 ; Rotazione 32-bit

Indice Buffer Circolare (Modulo Potenza di 2)

inc edi and edi, BUFFER_SIZE-1 ; Se BUFFER_SIZE è potenza di 2 ; O con rotate per non-potenza-di-2 (complesso)

Inversione Bit Semplice (8-bit in AL)

mov cl, 8 .rev: ror al, 1 rcl bl, 1 loop .rev ; Risultato in BL

Flag Influenzati

Variazioni per Architettura

Nota Prestazioni

x86 moderno: Shift/rotate hanno 1 ciclo di latenza, 0.25-0.5 throughput. I compilatori convertono automaticamente ×/÷ per potenze di 2. L'uso manuale è necessario per manipolazione bit, crittografia, compressione, grafica.

  1. Il PSP ha un touchscreen? Solo i modelli successivi
  2. Istruzioni per il Funzionamento Ferguson F3090
  3. Come resettare telecomandi TV
  4. Cambiare Input su TV Emerson Senza Telecom: Guida Pannello Frontale
  5. Istruzioni telecomando universale AT&T 200B
  6. Istruzioni per il telecomando Panasonic EUR511502