📄 dpjjx15.htm
字号:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>单片机第十三课</TITLE>
<META NAME="Template" CONTENT="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
</HEAD>
<BODY LINK="#0000ff" VLINK="#800080" background="../back.jpg">
<FONT FACE="宋体" LANG="ZH-CN">
<P ALIGN="JUSTIFY">逻辑与指令</P>
</FONT><P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">ANL		A,Rn</font><FONT FACE="宋体" LANG="ZH-CN">		</FONT><FONT FACE="System" LANG="ZH-CN">;A</FONT><FONT FACE="宋体" LANG="ZH-CN">与</FONT><FONT FACE="System" LANG="ZH-CN">Rn</FONT><FONT FACE="宋体" LANG="ZH-CN">中的值按位</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">与</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">,结果送入</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">中</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">ANL		A,direct ;A</font><FONT FACE="宋体" LANG="ZH-CN">与</FONT><FONT FACE="System" LANG="ZH-CN">direct</FONT><FONT FACE="宋体" LANG="ZH-CN">中的值按位</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">与</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">,结果送入</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">中</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">ANL		A,@Ri ;A</font><FONT FACE="宋体" LANG="ZH-CN">与间址寻址单元</FONT><FONT FACE="System" LANG="ZH-CN">@Ri</FONT><FONT FACE="宋体" LANG="ZH-CN">中的值按位</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">与</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">,结果送入</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">中</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">ANL		A,#data ;A</font><FONT FACE="宋体" LANG="ZH-CN">与立即数</FONT><FONT FACE="System" LANG="ZH-CN">data</FONT><FONT FACE="宋体" LANG="ZH-CN">按位</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">与</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">,结果送入</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">中</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">ANL		direct,A ;direct</font><FONT FACE="宋体" LANG="ZH-CN">中值与</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">中的值按位</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">与</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">,结果送入</FONT><FONT FACE="System" LANG="ZH-CN">direct</FONT><FONT FACE="宋体" LANG="ZH-CN">中</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">ANL		direct,#data ;direct</font><FONT FACE="宋体" LANG="ZH-CN">中的值与立即数</FONT><FONT FACE="System" LANG="ZH-CN">data</FONT><FONT FACE="宋体" LANG="ZH-CN">按位</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">与</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">,结果送入</FONT><FONT FACE="System" LANG="ZH-CN">direct</FONT><FONT FACE="宋体" LANG="ZH-CN">中。</font></P><FONT FACE="宋体" LANG="ZH-CN">
<P ALIGN="JUSTIFY">这几条指令的关键是知道什么是逻辑与。这里的逻辑与是指按位与</P>
</FONT><P ALIGN="JUSTIFY"><FONT FACE="宋体" LANG="ZH-CN">例:</font><FONT FACE="System" LANG="ZH-CN">71H</FONT><FONT FACE="宋体" LANG="ZH-CN">和</FONT><FONT FACE="System" LANG="ZH-CN">56H</FONT><FONT FACE="宋体" LANG="ZH-CN">相与则将两数写成二进制形式:</font></P><P ALIGN="JUSTIFY">
<FONT FACE="宋体" LANG="ZH-CN">(</font><FONT FACE="System" LANG="ZH-CN">71H</FONT><FONT FACE="宋体" LANG="ZH-CN">)</FONT> <FONT FACE="System" LANG="ZH-CN">01110001</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="宋体" LANG="ZH-CN">(</font><FONT FACE="System" LANG="ZH-CN">56H</FONT><FONT FACE="宋体" LANG="ZH-CN">)</FONT> <FONT FACE="System" LANG="ZH-CN">00100110</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="宋体" LANG="ZH-CN">结果</font> <FONT FACE="System" LANG="ZH-CN">00100000 </FONT><FONT FACE="宋体" LANG="ZH-CN">即</FONT><FONT FACE="System" LANG="ZH-CN">20H</FONT><FONT FACE="宋体" LANG="ZH-CN">,从上面的式子可以看出,两个参与运算的值只要其中有一个位上是</FONT><FONT FACE="System" LANG="ZH-CN">0</FONT><FONT FACE="宋体" LANG="ZH-CN">,则这位的结果就是</FONT><FONT FACE="System" LANG="ZH-CN">0</FONT><FONT FACE="宋体" LANG="ZH-CN">,两个同是</FONT><FONT FACE="System" LANG="ZH-CN">1</FONT><FONT FACE="宋体" LANG="ZH-CN">,结果才是</FONT><FONT FACE="System" LANG="ZH-CN">1</FONT><FONT FACE="宋体" LANG="ZH-CN">。</font></P><FONT FACE="宋体" LANG="ZH-CN">
<P ALIGN="JUSTIFY">理解了逻辑与的运算规则,结果自然就出来了。看每条指令后面的注释</P>
<P ALIGN="JUSTIFY">下面再举一些例子来看。</P>
</FONT><P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">MOV		A</font><FONT FACE="宋体" LANG="ZH-CN">,</FONT><FONT FACE="System" LANG="ZH-CN">#45H ;(A)=45H</font></P><P ALIGN="JUSTIFY">
<FONT FACE="System" LANG="ZH-CN">MOV		R1</font><FONT FACE="宋体" LANG="ZH-CN">,</FONT><FONT FACE="System" LANG="ZH-CN">#25H ;(R1)=25H</font></P><P ALIGN="JUSTIFY">
<FONT FACE="System" LANG="ZH-CN">MOV		25H</font><FONT FACE="宋体" LANG="ZH-CN">,</FONT><FONT FACE="System" LANG="ZH-CN">#79H ;(25H)=79H</font></P><P ALIGN="JUSTIFY">
<FONT FACE="System" LANG="ZH-CN">ANL		A</font><FONT FACE="宋体" LANG="ZH-CN">,</FONT><FONT FACE="System" LANG="ZH-CN">@R1 ;45H</FONT><FONT FACE="宋体" LANG="ZH-CN">与</FONT><FONT FACE="System" LANG="ZH-CN">79H</FONT><FONT FACE="宋体" LANG="ZH-CN">按位与,结果送入</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">中为</FONT> <FONT FACE="System" LANG="ZH-CN">41H </FONT><FONT FACE="宋体" LANG="ZH-CN">(</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">)</FONT><FONT FACE="System" LANG="ZH-CN">=41H</font></P><P ALIGN="JUSTIFY">
<FONT FACE="System" LANG="ZH-CN">ANL		25H,#15H ;25H</font><FONT FACE="宋体" LANG="ZH-CN">中的值(</FONT><FONT FACE="System" LANG="ZH-CN">79H</FONT><FONT FACE="宋体" LANG="ZH-CN">)与</FONT><FONT FACE="System" LANG="ZH-CN">15H</FONT><FONT FACE="宋体" LANG="ZH-CN">相与结果为(</FONT><FONT FACE="System" LANG="ZH-CN">25H</FONT><FONT FACE="宋体" LANG="ZH-CN">)</FONT><FONT FACE="System" LANG="ZH-CN">=11H</FONT><FONT FACE="宋体" LANG="ZH-CN">)</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">ANL		25H,A ;25H</font><FONT FACE="宋体" LANG="ZH-CN">中的值(</FONT><FONT FACE="System" LANG="ZH-CN">11H</FONT><FONT FACE="宋体" LANG="ZH-CN">)与</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">中的值(</FONT><FONT FACE="System" LANG="ZH-CN">41H)</FONT><FONT FACE="宋体" LANG="ZH-CN">相与,结果为</FONT><FONT FACE="System" LANG="ZH-CN">(25H)=11H</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="宋体" LANG="ZH-CN">在知道了逻辑与指令的功能后,逻辑或和逻辑异或的功能就很简单了。逻辑或是按位“或”,即有“</font><FONT FACE="System" LANG="ZH-CN">1</FONT><FONT FACE="宋体" LANG="ZH-CN">”为</FONT><FONT FACE="System" LANG="ZH-CN">1</FONT><FONT FACE="宋体" LANG="ZH-CN">,全“</FONT><FONT FACE="System" LANG="ZH-CN">0</FONT><FONT FACE="宋体" LANG="ZH-CN">”为</FONT><FONT FACE="System" LANG="ZH-CN">0</FONT><FONT FACE="宋体" LANG="ZH-CN">。例:</font></P>
<FONT FACE="System" LANG="ZH-CN"><P ALIGN="JUSTIFY">10011000</P>
</FONT><P ALIGN="JUSTIFY"><FONT FACE="宋体" LANG="ZH-CN">或</font> <FONT FACE="System" LANG="ZH-CN">01100001</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="宋体" LANG="ZH-CN">结果</font> <FONT FACE="System" LANG="ZH-CN">11111001</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="宋体" LANG="ZH-CN">而异或则是按位“异或”,相同为“</font><FONT FACE="System" LANG="ZH-CN">0</FONT><FONT FACE="宋体" LANG="ZH-CN">”,相异为“</FONT><FONT FACE="System" LANG="ZH-CN">1</FONT><FONT FACE="宋体" LANG="ZH-CN">”。例:</font></P>
<FONT FACE="System" LANG="ZH-CN"><P ALIGN="JUSTIFY">10011000</P>
</FONT><P ALIGN="JUSTIFY"><FONT FACE="宋体" LANG="ZH-CN">异或</font> <FONT FACE="System" LANG="ZH-CN">01100001</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="宋体" LANG="ZH-CN">结果</font> <FONT FACE="System" LANG="ZH-CN">11111001</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="宋体" LANG="ZH-CN">而所有的或指令,就是将与指仿中的</font><FONT FACE="System" LANG="ZH-CN">ANL </FONT><FONT FACE="宋体" LANG="ZH-CN">换成</FONT><FONT FACE="System" LANG="ZH-CN">ORL</FONT><FONT FACE="宋体" LANG="ZH-CN">,而异或指令则是将</FONT><FONT FACE="System" LANG="ZH-CN">ANL	</FONT><FONT FACE="宋体" LANG="ZH-CN">换成</FONT><FONT FACE="System" LANG="ZH-CN">XRL</FONT><FONT FACE="宋体" LANG="ZH-CN">。即</font></P><FONT FACE="宋体" LANG="ZH-CN">
<P ALIGN="JUSTIFY">或指令:</P>
</FONT><P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">ORL		A,Rn</font><FONT FACE="宋体" LANG="ZH-CN">		</FONT><FONT FACE="System" LANG="ZH-CN">;A</FONT><FONT FACE="宋体" LANG="ZH-CN">和</FONT><FONT FACE="System" LANG="ZH-CN">Rn</FONT><FONT FACE="宋体" LANG="ZH-CN">中的值按位</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">或</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">,结果送入</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">中</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">ORL		A,direct ;A</font><FONT FACE="宋体" LANG="ZH-CN">和与间址寻址单元</FONT><FONT FACE="System" LANG="ZH-CN">@Ri</FONT><FONT FACE="宋体" LANG="ZH-CN">中的值按位</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">或</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">,结果送入</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">中</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">ORL		A,#data ;A</font><FONT FACE="宋体" LANG="ZH-CN">和立</FONT><FONT FACE="System" LANG="ZH-CN">direct</FONT><FONT FACE="宋体" LANG="ZH-CN">中的值按位</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">或</FONT><FONT FACE="System" LANG="ZH-CN">'</FONT><FONT FACE="宋体" LANG="ZH-CN">,结果送入</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">中</font></P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -