2010-05-23 5 views
2

j'ai écrit échange sur l'assemblage, mais je ne suis pas sûr que mon code est bon, c'est le codeéchange sur l'assemblage

swap: mov r1, -(sp) 

    mov (sp) r1 
    mov 2(sp) (sp) 
    mov r1 2(sp) 

    mov (sp)+, r1 
    rts pc 

échange reçoit le pointeur de la pile

+0

De quelle architecture s'agit-il? PPC? – kennytm

+0

non, pdp-11, je travaille à partir du simulateur – lego69

+0

[Pas de réponse en rapport]: Pouvez-vous s'il vous plaît spécifier l'émulateur .. Je cherche un :) – Betamoo

Répondre

1

est sp un StackPointer? Il y a généralement la commande ldw rA, 0(rB) (0 est le décalage et rB est l'adresse que vous allez charger, les données réelles sont maintenant dans rA). ldw charge un mot entier dans la mémoire, ldb charge un octet, stw rA, 0(rB) stocke un mot. mov copie généralement un registre à un autre.