QUOS,  ( at as ar -- )

publication: 22 novembre 2022 / mis à jour 6 janvier 2023

Read this page in english

 

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