SLL по двойному слову в SPARC?

Есть ли способ сделать логический сдвиг влево для двойного слова в ассемблере SPARC?

У меня есть:

ldd [%fp - 8], %l0

для загрузки 64-битного адреса памяти. Обратите внимание, что это не целое число, а просто последовательность байтов, поэтому логический сдвиг влево не действует как умножение.


person Luke Cycon    schedule 17.02.2012    source источник


Ответы (1)


Основы компьютерной организации и дизайна, стр. 988 (можно найти в книгах Google):

sllx Rs1,Rs2,Rd 

Влево сдвигает 64-битное значение Rs1 на 6 младших битов Rs2 и сохраняет его в Rd. Многие инструкции из Sparc v8 имеют постфикс x для обозначения 64-битной версии этой инструкции. Например sllx, srax, srlx...

Кстати, я только что наткнулся на этот документ, который, кажется, намного проще получить информацию из самого руководства Sparc v9: https://openresearch-repository.anu.edu.au/bitstream/1885/40814/3/TR-CS-00-03.pdf

person cb88    schedule 17.01.2013