Я написал swap на ассемблере, но я не уверен, что мой код правильный, это код
swap: mov r1, -(sp) mov (sp) r1 mov 2(sp) (sp) mov r1 2(sp) mov (sp)+, r1 rts pc
своп получает указатель из стека
sp это указатель стека?Обычно есть команда ldw rA, 0(rB) (0 - это смещение, а rB - это адрес, с которого вы будете загружать, фактические данные теперь находятся в rA).ldw загружает целое слово в память, ldb загружает байт, stw rA, 0(rB) сохраняет слово.mov обычно копирует один регистр в другой.
ldw rA, 0(rB)
stw rA, 0(rB)
mov