Questi probabilmente non sono in circolazione (come da domanda iniziale), ma tutti hanno un tema comune: le operazioni di memoria atomica. Il loro scopo è tipicamente quello di sincronizzare i thread e la loro inclusione a livello di set di istruzioni probabilmente indica che Atmel sta pianificando di lanciare un chip AVR multi-core. Dal momento che sono stati specificati, i fornitori di strumenti possono aggiungerli già agli assemblatori, ma non ne faranno granché finché i chip non avranno le istruzioni. (Edit: Come si è visto, l'altro core è la periferica USB, non una CPU Grazie a avakar di tali informazioni..)
Il comportamento, come ho letto dal Atmel AVR 8-bit Instruction Set Manual:
LAC - Carico e Clear, carica il contenuto della memoria * Z nel registro Rd mentre simultaneamente cancella i bit in * Z che sono stati impostati in Rd.
LAS - Carica e imposta contemporaneamente i bit in una posizione di memoria che sono stati impostati in un registro e carica il registro con i contenuti precedenti della posizione di memoria. Molto utile per i mutex a bit singolo, ad esempio.
LAT - Carica e attiva; come LAS, ma invece di bit o, usa bit xor bit, quindi commutando bit.
XCH - Scambio; semplicemente scambia la memoria e registra i contenuti.
Tutte sono istruzioni di accesso alla RAM (gli stati di riferimento 07/2014 eseguono due cicli), che combinano le operazioni in modo che possano anche rendere il codice che richiede una RAM più veloce di quanto non sia attualmente.
fonte
2012-01-25 14:06:40
Fa eXCHange Rd e il valore indicato da Z, ovviamente. –
Alcuni forum suggeriscono che sono probabilmente disponibili solo nella [serie XMEGA di microcontrollori AVR] (http://www.atmel.com/dyn/products/devices.asp?category_id=163&family_id=607&subfamily_id=1965). –
non ancora evidenti, i documenti xmega non mostrano le istruzioni nella lista.il più recente ha avuto il suo ultimo aggiornamento prima che il manuale del set di istruzioni fosse aggiunto. –