汇编指令本质是机器指令的助记符,然而在英文环境诞生的汇编助记符给非母语学习者的记忆带来了一些困难。
最好的记忆方式是英文全称理解 + 多编码
研究arm指令发现,arm指令字母编排是有规律可循的,现做记录如下,应该也有人发现这规律了,就写给那些英语基础薄弱的人看啦
直接举例子吧:
MCR: move coprocessor register to arm core register
翻译过来就是把协处理器寄存器中的内容传送到核心处理器的寄存器,那么就是写了,写是相对于核心处理器而言的,输入到核心处理器就是写。
M字母好理解,最常用的MOV指令就是MOV,这里M也是MOVE
C就是coprocessor,协处理器,c跟协处理器相关,比如协处理器的寄存器编号是c0,c1,c2.... ,而通常的核心处理器寄存器用的是字母R,如r0,r1,r2
MRC :同理啦
再有一对比如:MSR与MRS是操作程序状态寄存器的,s代表status register, r前面讲了,通常的核心处理器寄存器用的就是字母r。
这样,MSR就是move to status register from core register ,to与from要记好,这样对于初学者来说,拿到一个指令,就能很快反应出来它的功能
LDR与STR: LD代表load,ST代表store,R的意思就不赘述了。
再比如带后缀的指令,既指令后缀和条件执行后缀,这些后缀都是加在对应指令尾部,通常是几个单词的首字母缩写,如MOVB中的B代表byte,beq中b是branch,意为跳转,eq是equal,意为判等,整个意思加起来就是相等则跳转。
类似的规律还有很多,在熟记一些基本单词的前提下,很快就能将繁杂的指令记住。
后面如果有机会,会整理一篇助记表发出来。