简述如何判断字节指令和位操作指令? 51单片机,位操作指令有什么特点?

作者&投稿:虿很 (若有异议请与网页底部的电邮联系)
要了解什么是字节指令
即指令是单字节的,比如 wait、int 3、cli、sti、cld、std、clc、stc 等都是单字节指令。
位操作类指令
位操作又称为布尔操作,是以位为单位进行的各种操作。在布尔处理机中,借用进位标志Cy来存放逻辑运算结果,大部分操作都涉及Cy,因此它相当于布尔处理机的“累加器”,称为位累加器,用符号C表示。
(1) 位传送指令
MOV C,bit ;Cy←(bit)MOV bit,C ;bit←(Cy)这组指令其中的一个操作数必须是进位标志C,另一个可以使位地址(用bit表示)。

(2) 位置位和位清零指令
SETB C ;Cy←1SETB bit ;biT←1这两条指令可以实现地址单元与位累加器的置位。CLR C ; Cy←0CLR bit ; biT←0这两组指令可以实现地址单元与位累加器的清零。

(3) 位逻辑运算指令
① 位逻辑“与”指令
ANL C,bit ;CY←(CY)∧(bit)
ANL C,/bit ; CY←(CY)∧(bit)取反
这两条指令是将CY标志位中的内容与位地址单元的内容或其内容的反码进行逻辑与操作,并将相与的结果再送入到CY的标志位中。
② 位逻辑“或”指令
ORL C,bit ;CY←(CY)∨(bit)
ORL C,/bit ; CY←(CY) ∨(bit)取反
这两条指令是将CY标志位中的内容与直接位地址的内容或其内容的反码进行逻辑与操作,并将相与的结果再送入到CY的标志位中。、
③ 位逻辑“非”指令
CPL C ;CY (CY)取反
CPL bit ;bit←(bit)取反
(4) 位条件转移指令←
类比于JZ/JNZ
① 位累加器Cy状态判断转移指令
JC rel ;若(Cy)=1,转移
JNC rel ;若(Cy)=0,转移
② 位状态判断转移指令
JNB bit,rel ;若(bit)=0,转移
JBC bit,rel ;若(bit)=1,转移,且bit←
JB bit,rel ; 若(bit)=1,转移
其中JBC指令除了判断位地址的内容外,还将被测位清零。

如果你一直自己灵芝活和什么系统的指令,他们使用方法和用途来决定,直接定直接定

我们还是可以判断他的自觉指令和他的体操为令做指令的,并且能够给大家带来一种更好的帮助和使用。

一定要看清楚他怎么样操作指令,然后就能够判断清楚了,所以他一定要注意一下。

在学习单片机的过程中如何辨别是单字节指令 双字节指令 和三字节指令?谢谢回答...~

对于51单片机来说,是没有特别的规律的,只能靠强记忆,
http://wenku.baidu.com/view/403e9d04de80d4d8d15a4f71.html

以上给你个参考文件,你强记忆吧.

如果是考试,你只能强记,如果是为了工作,其实没有必要知道是双字节还是三字节指令,因为工作中很少用到汇编,即使是用到了,也不差那几个指令占用的空间.

所以,如果你一定要知道,那就强记吧

51单片机位操作指令又称布尔操作,它是以位为单位进行的各种操作。
我只学过80c51所以这里我只讲一下我所知道它的吧:
进行位操作的时候,以进位作为位累加器,位操作指令中的位地址有四种表示形式:
1、直接地址方式(如0D5H);
2、点操作符方式(如0D 0H.5;PSW.5等);
3、位名称方式(如F0);
4、伪指令定义方式(如MYFLAG BIT F0)。
而它进行位寻址的字节地址是有范围的:
是字节地址在20H到2FH内的都可以进行位寻址。另外部分的特殊功能寄存器也可以进行位寻址。

而你所说的位地址和你的字节地址相同的情况那完全不用考虑的,因为他们的寻址方式不同:一个是位寻址而另外一个是字节寻址。

51指令,如何区分地址是位寻址还是字节寻址?
答:我们可以通过间接的方法来识别,因为,我们知道,一条指令的两个操作数类型是必须匹配的,也就是说源操作数和目的操作数应该是类型相同的,要么全是字节,要么全是位。如:MOV A, 20H ; MOV ACC,20H。表面上看这两条指令好像是相同的,但是实际上是不同的。(MOV A, 20H)是直接寻址,其中20H ...

单片机中位寻址和字节寻址的区别?
答:字节寻址:直接将数据写入当前地址或将当前地址的内容读出,操作对象为8位字节数据。位寻址:执行位操作命令,写入或读出的是单个位(bit)变量。二、地址范围不同:在字节寻址中,例如指令`MOV A, 00H`,是将RAM中地址为00H的8位内容传递给累加器A。而在位寻址中,指令`MOV C, 00H`,是将特定...

单片机中位寻址和字节寻址的区别?
答:一、作用不同:字节寻址:把数据直接写入当前地址,或者把当前地址的内容读出。位寻址是位操作命令,写入和读出的是一个位bit变量。二、传递不同:MOV A,00H和MOV C,00H,前者是将RAM中地址为00H的8位内容传递给A,后者是将位寻址区(20H-2FH)中的地址为00H的1位内容传递给C。这两个00H不...

51单片机位地址7CH和字节地址7CH如何区别
答:从指令意义上讲,SETB 7CH; CLR 7CH; CPL 7CH三条指令都是位操作指令,分别对7CH这1位进行置位、清除、取反操作。MOV C,7CH; MOV 7CH,C; ANL C,7CH; ORL C,7CH都是7CH这一位和进位位间的操作。而其他MOV ;ADD ;SUB ; ANL ; ORL ;XOR ;等都是对字节进行处理的...

单片机字节地址与位地址区分
答:字节地址是在空间中开辟出来的一个空间,通过这个地址可以找到他,位地址只是某一字节中的一位!比如 一个字节0X55这个地址,就是在0X55这个地方开辟出来一个空间,0X55就相当于这个空间的门牌!所谓位,比如在0X11这个字节的第几位,就是这个位的地址!

单片机中的位寻址和字节寻址的区别是什么?
答:既可作为一般单元按字节寻址,也可按位进行寻址。位寻址区有16个字节,位地址为00H-7FH。由于单片机中只有内部RAM和特殊功能寄存器的部分单元有位地址,因此位寻址只能对有位地址的这两个空间进行寻址操作。位寻由指令给出直接位地址。与直接寻址不同的是,位寻址只给出位地址,而不是字节地址。

指令中那个是目的字节,那个是源字节
答:我们可以通过间接的方法来识别,因为,我们知道,一条指令的两个操作数类型是必须匹配的,也就是说源操作数和目的操作数应该是类型相同的,要么全是字节,要么全是位。如:MOV A, 20H ; MOV ACC,20H。表面上看这两条指令好像是相同的,但是实际上是不同的。(MOV A, 20H)是直接寻址,其中20H ...

汇编语言 怎么辨别单字节指令 双字节指令 三字节指令
答:汇编语言是根据指令的类别和完成的功能来识别指令的单双还是三字节指令的,比如:INC A;累加器加1,不会与任何其他操作数发生关系,所以是单字节指令。SJMP TTT;短转移,因为TTT在正负127之内,不会超过一个字节,所以是双字节指令。LJMP TTT;长转移,因为地址为十六位,所以是三字节指令。

指令字节是指指令的什么字节?
答:例:(1)单字节指令: 如MOV A,R2,(机器码11101010)(2)双字节指令:如MOV A,#0BH,(机器码74H,0BH)字节(Byte )是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成信息的一个小单位。最常用的字节是八位的字节,即它包含八位的二进制数。

51单片机,位操作指令有什么特点?
答:它们两个地址如果相同的话,是通过指令的不同来区分的,51单片机有特定的位操作指令,比如MOV 20H,#04H和 MOV 20H,C这两条中很明显后一条是位操作指令(C这个累加器只有在位操作才有),从而知道,前一条指令的20H指的是字节地址,后一条指令中的20H指的是位地址 ...