51指令,如何区分地址是位寻址还是字节寻址?
2个回答
展开全部
我们知道,在51汇编中,只看一条指令是很难看出:”位寻址还是字节寻址“的。
我们可以通过间接的方法来识别,因为,我们知道,一条指令的两个操作数类型是必须匹配的,也就是说源操作数和目的操作数应该是类型相同的,要么全是字节,要么全是位。如:MOV A, 20H ; MOV ACC,20H。表面上看这两条指令好像是相同的,但是实际上是不同的。
(MOV A, 20H)是直接寻址,其中20H 表示的是 一个8位的字节地址;
(MOV ACC,20H)是位寻址,其中20H 表示的是 一个1位的位地址;因为ACC正是累加器A的位寻址的表示符号。
我们可以通过间接的方法来识别,因为,我们知道,一条指令的两个操作数类型是必须匹配的,也就是说源操作数和目的操作数应该是类型相同的,要么全是字节,要么全是位。如:MOV A, 20H ; MOV ACC,20H。表面上看这两条指令好像是相同的,但是实际上是不同的。
(MOV A, 20H)是直接寻址,其中20H 表示的是 一个8位的字节地址;
(MOV ACC,20H)是位寻址,其中20H 表示的是 一个1位的位地址;因为ACC正是累加器A的位寻址的表示符号。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询