QUOS, ( at as ar -- )
publication: 22 novembre 2022 / mis à jour 6 janvier 2023
vocabulaire: xtensa
Quotient signé.
Mot d'instruction (RRR).
QUOS,
effectue une division en complément à deux sur 32 bits du contenu du registre d'adresse as par le contenu du registre d'adresse at et écrit le quotient dans le registre d'adresse ar.
L'ambiguïté qui existe lorsque le registre d'adresse as ou le registre d'adresse at est négatif est résolue en exigeant que le produit du quotient et du registre d'adresse at soit plus petit en valeur absolue que le registre d'adresse as. Si le contenu du registre d'adresse à est égal à zéro, QUOS lève une exception Integer Divide by Zero au lieu d'écrire un résultat. Le débordement (-2147483648 divisé par -1) n'est pas détecté.
Exemple:
\ for macros, see: \ https://github.com/MPETREMANN11/ESP32forth/blob/main/assembler/xtensaMacros.txt code my/MOD ( n1 n2 -- rem quot ) a1 32 ENTRY, a7 arPOP, \ divider in a7 a8 arPOP, \ value to divide in a8 a7 a8 a9 REMS, \ a9 = a8 MOD a7 a9 arPUSH, a7 a8 a9 QUOS, \ a9 = a8 / a7 a9 arPUSH, RETW.N, end-code
Legal: site web personnel sans commerce / personal site without seling