如何学习51的指令呢?
我根据有关的经验,总结了几种方法。由于时间仓促,难免有不妥之处,欢迎大家批评指正。
1.目标操作数简化图法
此法就是把目的操作数放在一起,然后统一的去记,就可以一目了然了.以MOV A, XXX为例子
Direct
Rn
mov a,
@Ri
#data
本来有个大括号的,但我不会画,见谅了!哈哈!还有其它的,我就不一一列举了!!大家自己整理吧!
2,分类记忆法
数据传递类指令(29条)
算术运算类指令(24条)
逻辑运算类指令(24条)
控制转移类指令(17条)
位操作类指令(17条)
这样分门别类的去记就不会忘记了!
3,扩展单词记忆法
因为51指令用的是一些单词的英文简写,所以我们可以还原它们,去记忆!
swap 交换 push 推 pop 拉 add 加 sub--subtract 减法
inc--increase 增加(加一) dec--decrease 减少(减一)
mul-----multiplcation 乘法
div----division 除法
jump 跳 set 设置 clr--clrear 清除
jz--jundge zero 判断0跳
jnz--jundge not zero 判断不为0跳
cjne--compare jump not equal 比较 跳 出 不是零(不相等跳)
djnz---decrease jump not zero 减 跳出 不为 0(减一不为0跳)
4,不规则记忆
ANL -〉 AND LOGICAL
ORL -〉 or LOGICAL
或
5,口诀记忆法:
51指令要牢记
指令总数三个一
目的源头要分清
源头总共5大类
目的立即不可以
数据转移是MOV
A与本身不传递
片内片外分清楚
直接间接搞清晰
交换总共有5条
全部以A为目的
PUSH POP 的是地址
加减乘除与或非
全部要A来参与
加一减一有区别
跳来跳去多练习
记忆方法多应用
指令过关没问题
方法是外因,自己才是主要的,所以大家一定要多多的练习,相信你的水平会有很大的提高.还有什么问题的话,请大家指正!!!