移位与循环移位指令如表4-23所示。
表4-23 移位与循环移位指令
名称
指令格式
(语句表)
功能
操作数
字节移位指令
srb out,n
将字节out右移n位,左边的位依次用0填充
in,out,n:vb,ib,qb,mb,sb,smb,lb,ac,*vd,*ac,*ld
in和n还可以是常数
slb out,n
将字节out左移n位,右边的位依次用0填充
rrb out,n
将字节out循环右移n位,从右边移出的位送到out的左位
rlb out,n
将字节out循环左移n位,从左边移出的位送到out的右位
字移位指令
srw out,n
将字out右移n位,左边的位依次用0填充
in,out:vw,iw,qw,mw,sw,smw,lw,t,c,ac,*vd,*ac,*ld
in还可以是aiw和常数
n:vb,ib,qb,mb,sb,smb,lb,ac,*vd,*ac,*ld,常数
slw out,n
将字out左移n位,右边的位依次用0填充
rrw out,n
将字out循环右移n位,从右边移出的位送到out的左位
rlw out,n
将字out循环左移n位,从左边移出的位送到out的右位
双字移位指令
srd out,n
将双字out右移n位,左边的位依次用0填充
in,out:vd,id,qd,md,sd,smd,ld,ac,*vd,*ac,*ld
in还可以是hc和常数
n:vb,ib,qb,mb,sb,smb,lb,ac,*vd,*ac,*ld,常数
sld out,n
将双字out左移n位,右边的位依次用0填充
rrd out,n
将双字out循环右移n位,从右边移出的位送到out的左位
rld out,n
将双字out循环左移n位,从左边移出的位送到out的右位
位移位寄存器指令
shrb data,s_bit,n
将data的值(位型)移入移位寄存器;s_bit指定移位寄存器的低位,n指定移位寄存器的长度(正向移位=n,反向移位=-n)
data,s_bit:i,q,m,sm,t,c,v,s,l
n:vb,ib,qb,mb,sb,smb,lb,ac,*vd,*ac,*ld,常数