istruzione stmw o stm (Memorizza più parole)
Memorizza il contenuto di registri consecutivi in una posizione di memoria specificata.
Sintassi
| bit | Valore |
|---|---|
| 0 - 5 | 47 |
| 6 - 10 | RT |
| 11 - 15 | RA |
| 16 - 31 | D |
Descrizione
Le istruzioni stmw e stm memorizzano N parole consecutive da GPR (general - purpose register) RS a GPR 31. La memoria inizia all'indirizzo effettivo (EA). N è un numero di registro uguale a 32 meno RS.
Se RA GPR non è 0, l'EA è la somma dei contenuti di RA e DGPR. La somma è un segno intero del complemento di due con segno a 16 bit - esteso a 32 bit. Se il GPR RA è 0, l'EA è D.
L'istruzione stmw ha un formato di sintassi. Se l'EA non è un multiplo di 4, i risultati sono indefiniti.
L'istruzione stm ha un formato di sintassi e non influisce sul campo 0 del registro delle eccezioni a punto fisso o del registro delle condizioni.
Parametri
| Elemento | Descrizione |
|---|---|
| RS | Specifica il registro di origine generico dei dati memorizzati. |
| A | Specifica un segno intero complemento a due con segno a 16 bit - esteso a 32 bit per il calcolo EA. |
| RA | Specifica il registro di origine generico per il calcolo EA. |
Esempi:
Il seguente codice memorizza i contenuti dal GPR 29 al GPR 31 in una posizione in memoria:
.csect data[rw]
buffer: .long 0,0,0
# Assume GPR 29 contains 0x1000 2200.
# Assume GPR 30 contains 0x1000 3300.
# Assume GPR 31 contains 0x1000 4400.
.csect text[pr]
stmw 29,buffer(4)
# Three consecutive words in storage beginning at the address
# of buffer are now 0x1000 2200 1000 3300 1000 4400.