发布网友 发布时间:2022-05-15 08:07
共1个回答
热心网友 时间:2023-08-15 08:14
什么教做判断立即数有效还是无效?立即数还能判断有效还是无效?是arm汇编的的立即数是否满足8位位图之类的吗?追问嗯嗯追答我刚看到你的追问。。
譬如说arm汇编的mov指令,它规定立即数是:8位数循环右移偶数位得到的,只有符合这个条件才是立即数(周立功书称之为8位位图)。
之所以有这个规定,指令是按照字编址的(字就是4个字节,我指的是arm汇编),用高20位说明指令的类型(当前要执行的是什么指令),剩下的12位用于保存数据,arm规定,用8位保存数据,剩下4位用于保存这个8位数循环左移的次数,arm为了尽可能让立即数的取值可以大些,会将循环左移的数值*2,也就是我们立即数的范围是(0~255)* 2^(2n),如果你的立即数不是这个范围就是非法的,口诀:如果立即数不能由8位数循环移动偶数次得到,那么他就是一个非法的立即数,为什么是循环左移偶数次?2n=》表示的是一个偶数,因为左移一位相当于乘2操作,所以是左移。。。