📄 dpjjx14.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>
<P ALIGN="JUSTIFY">三、逻辑运算类指令:</P>
</FONT><OL><FONT FACE="宋体" LANG="ZH-CN">
<P ALIGN="JUSTIFY"></font><LI><FONT FACE="宋体" LANG="ZH-CN">对累加器</font><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">的逻辑操作:</font></LI><FONT FACE="宋体" LANG="ZH-CN"><p></P></font></OL>
<DIR> <FONT FACE="宋体" LANG="ZH-CN"> </font>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">CLR	A </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">0</FONT><FONT FACE="宋体" LANG="ZH-CN">,单周期单字节指令,与</FONT><FONT FACE="System" LANG="ZH-CN">MOV
A</FONT><FONT FACE="宋体" LANG="ZH-CN">,</FONT><FONT FACE="System" LANG="ZH-CN">#00H</FONT><FONT FACE="宋体" LANG="ZH-CN">效果相同。</font></P>
<FONT FACE="System" LANG="ZH-CN">
<P>
CPL	A </FONT><FONT FACE="宋体" LANG="ZH-CN">;将</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">中的值按位取反
<p></P>
</FONT><FONT FACE="System" LANG="ZH-CN">
<P>
<HR WIDTH="3%" SIZE=1>
RL		A </FONT><FONT FACE="宋体" LANG="ZH-CN">;将</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">中的值逻辑左移
<p></P>
</FONT><FONT FACE="System" LANG="ZH-CN">
<P ALIGN="JUSTIFY">
RLC	A </FONT><FONT FACE="宋体" LANG="ZH-CN">;将</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">中的值加上进位位进行逻辑左移
<p></P>
</font></DIR>
<P><FONT FACE="System" LANG="ZH-CN"> RR		A </font><FONT FACE="宋体" LANG="ZH-CN">;将</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">中的值进行逻辑右移</font></P>
<P><FONT FACE="System" LANG="ZH-CN"> RRC	A </font><FONT FACE="宋体" LANG="ZH-CN">;将</FONT><FONT FACE="System" LANG="ZH-CN">A</FONT><FONT FACE="宋体" LANG="ZH-CN">中的值加上进位位进行逻辑右移</font></P><DIR><FONT FACE="宋体" LANG="ZH-CN">
</font><P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">SWAP	A </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">4</FONT><FONT FACE="宋体" LANG="ZH-CN">位交换。</font></P><P ALIGN="JUSTIFY">
<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">=73H</FONT><FONT FACE="宋体" LANG="ZH-CN">,则执行</FONT><FONT FACE="System" LANG="ZH-CN">CPL		A</FONT><FONT FACE="宋体" LANG="ZH-CN">,这样进行:</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">73H</font><FONT FACE="宋体" LANG="ZH-CN">化为二进制为</FONT><FONT FACE="System" LANG="ZH-CN">01110011</FONT><FONT FACE="宋体" LANG="ZH-CN">,</font></P><P ALIGN="JUSTIFY">
<FONT FACE="宋体" LANG="ZH-CN">逐位取反即为</font> <FONT FACE="System" LANG="ZH-CN">10001100</FONT><FONT FACE="宋体" LANG="ZH-CN">,也就是</FONT><FONT FACE="System" LANG="ZH-CN">8CH</FONT><FONT FACE="宋体" LANG="ZH-CN">。</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">RL	A</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">7</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></P><P ALIGN="JUSTIFY">
<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">68H</FONT><FONT FACE="宋体" LANG="ZH-CN">,执行</FONT><FONT FACE="System" LANG="ZH-CN">RL		A</FONT><FONT FACE="宋体" LANG="ZH-CN">。</FONT><FONT FACE="System" LANG="ZH-CN">68H</FONT><FONT FACE="宋体" LANG="ZH-CN">化为二进制为</FONT><FONT FACE="System" LANG="ZH-CN">01101000</FONT><FONT FACE="宋体" LANG="ZH-CN">,按上图进行移动。</FONT><FONT FACE="System" LANG="ZH-CN">01101000</FONT><FONT FACE="宋体" LANG="ZH-CN">化为</FONT><FONT FACE="System" LANG="ZH-CN">11010000</FONT><FONT FACE="宋体" LANG="ZH-CN">,即</FONT><FONT FACE="System" LANG="ZH-CN">D0H</FONT><FONT FACE="宋体" LANG="ZH-CN">。</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">RLC		A</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">C</FONT><FONT FACE="宋体" LANG="ZH-CN">)进行移位。</font></P><P ALIGN="JUSTIFY">
<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">68H</FONT><FONT FACE="宋体" LANG="ZH-CN">,</FONT><FONT FACE="System" LANG="ZH-CN">C</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">RLC		A</font></P><P ALIGN="JUSTIFY">
<FONT FACE="System" LANG="ZH-CN">1 01101000</font><FONT FACE="宋体" LANG="ZH-CN">后,结果是</FONT><FONT FACE="System" LANG="ZH-CN">0 11010001</FONT><FONT FACE="宋体" LANG="ZH-CN">,也就是</FONT><FONT FACE="System" LANG="ZH-CN">C</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">A</FONT><FONT FACE="宋体" LANG="ZH-CN">)则变成了</FONT><FONT FACE="System" LANG="ZH-CN">D1H</FONT><FONT FACE="宋体" LANG="ZH-CN">。</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">RR	A</font><FONT FACE="宋体" LANG="ZH-CN">和</FONT><FONT FACE="System" LANG="ZH-CN">RRC		A</FONT><FONT FACE="宋体" LANG="ZH-CN">就不多谈了,请大家参考上面两个例子自行练习吧。</font></P>
<P ALIGN="JUSTIFY"><FONT FACE="System" LANG="ZH-CN">SWAP	A</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">4</FONT><FONT FACE="宋体" LANG="ZH-CN">位进行交换。</font></P><P ALIGN="JUSTIFY">
<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">=39H</FONT><FONT FACE="宋体" LANG="ZH-CN">,则执行</FONT><FONT FACE="System" LANG="ZH-CN">SWAP	A</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">93H</FONT><FONT FACE="宋体" LANG="ZH-CN">。怎么正好是这么前后交换呢?因为这是一个</FONT><FONT FACE="System" LANG="ZH-CN">16</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">16</FONT><FONT FACE="宋体" LANG="ZH-CN">进位数字代表</FONT><FONT FACE="System" LANG="ZH-CN">4</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">=39</FONT><FONT FACE="宋体" LANG="ZH-CN">,后面没</FONT><FONT FACE="System" LANG="ZH-CN">H</FONT><FONT FACE="宋体" LANG="ZH-CN">,执行</FONT><FONT FACE="System" LANG="ZH-CN">SWAP	A</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">=93</FONT><FONT FACE="宋体" LANG="ZH-CN">。要将它化成二进制再算:</FONT><FONT FACE="System" LANG="ZH-CN">39</FONT><FONT FACE="宋体" LANG="ZH-CN">化为二进制是</FONT><FONT FACE="System" LANG="ZH-CN">10111</FONT><FONT FACE="宋体" LANG="ZH-CN">,也就是</FONT><FONT FACE="System" LANG="ZH-CN">0001</FONT><FONT FACE="宋体" LANG="ZH-CN">,</FONT><FONT FACE="System" LANG="ZH-CN">0111</FONT><FONT FACE="宋体" LANG="ZH-CN">高</FONT><FONT FACE="System" LANG="ZH-CN">4</FONT><FONT FACE="宋体" LANG="ZH-CN">位是</FONT><FONT FACE="System" LANG="ZH-CN">0001</FONT><FONT FACE="宋体" LANG="ZH-CN">,低</FONT><FONT FACE="System" LANG="ZH-CN">4</FONT><FONT FACE="宋体" LANG="ZH-CN">位是</FONT><FONT FACE="System" LANG="ZH-CN">0111</FONT><FONT FACE="宋体" LANG="ZH-CN">,交换后是</FONT><FONT FACE="System" LANG="ZH-CN">01110001</FONT><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">113</FONT><FONT FACE="宋体" LANG="ZH-CN">。</font></P></DIR><P ALIGN="JUSTIFY">
<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">=39H</FONT><FONT FACE="宋体" LANG="ZH-CN">,执行下列指令后写出每步的结果</font></P>
<FONT FACE="System" LANG="ZH-CN"><P ALIGN="JUSTIFY">CPL			A</P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -