由于没查到相关资料,所以自己动手分析了一下arm64 mov指令的位域。不确定是否全部正确。但我已经验证过常用情况。若有发现错误的地方,还请指正。
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 区分W/X寄存器 |
mov指令标识 mov:0101010 movn:0010010 movz:1010010 movk:1110010 | 表明是立即数 | 是否需要位移,以及位移多少位。 01:16 10:32 11:64 | 立即数 | 第一个寄存器 | ||||||||||||||||||||||||||
| 非立即数模式的情况下为第二个寄存器 | |||||||||||||||||||||||||||||||
本文作者自行分析了ARM64架构中的mov指令,包括movn,movz,movk的区别,涉及位移标志和寄存器使用。读者可参考其对立即数处理和非立即数模式的理解。
2662

被折叠的 条评论
为什么被折叠?



