機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
邏輯運算指令
邏輯運算指令
 更新時間:2009-11-4 14:55:43  點擊數:0
【字體: 字體顏色

1.    邏輯運算指令的一般性說明

*          與、或、異或的邏輯運算指令可以Acc或direct為目標。但是以direct為目標時,另一操作數只能是Acc或立即數。

*          與、或、異或是對位邏輯運算。

*          其他邏輯運算指令只對Acc操作。

*          小循環(huán)不影響Cy,大循環(huán)Cy在循環(huán)圈內。

*          除了RLC和RRC,邏輯運算指令不影響P以外的標志位。


2.           與、或、異或的特殊用途

*          用ANL指令屏蔽指定位

例:ANL  A,#0FH  ;屏蔽高4位

*          用ORL指令將指定位置1

例:ORL  A,#0FH  ;將低4位置1

*          用ORL指令拼接一個字節(jié)

例:ANL  A,#0FH

ANL  B,#0F0H

ORL  A,B

*          用XRL指令將指定位取反

例:XRL  A,#55H  ;將D0、D2、D4、D6等位取反

表 3-4  邏輯運算指令

操作碼

目標操作數

參與運算的操作數

說         明

 

ANL

    A

 Rn; direct; @Ri; # data

 

  邏輯與

  direct

 A; # data

 

 ORL

    A

 Rn; direct; @Ri; # data

 

  邏輯或

  direct

 A; # data

 

 XRL

    A

 Rn; direct; @Ri; # data

 

  邏輯異或

  direct

 A; # data

CPL A

累加器(A)取反

CLR A

累加器(A)清零

RL

 

    A

                           

   (A)左小循環(huán),不影響Cy

RLC

 

A

 

  ←  (A)左大循環(huán)

RR

 

A

 

     (A)右小循環(huán),不影響Cy

RRC

 

A

 

   →   (A)右大循環(huán)

 

 

3.    循環(huán)移位邏輯運算指令的應用

*          乘除法運算

左移=無符號數乘2,右移=有符號數除2。

例:A×B,積存(BA)

算法:乘數在(A),積在(R2)(A)。

1)     (A)右移一位;

2)     (A)移出的一位若為1,則(R2)+被乘數(B);

3)     積(R2)(A)雙字節(jié)右移一位;第2、3步循環(huán)8次。

為簡化,假定為4位,循環(huán)4次。(A)=1011, (B)=1111


MOV  R2,#0

MOV  R3,#8

CLR   C

RRC  A

 LP:XCH  A,R2

JNC  RRR

ADD  A,B

RRR:RRC  A

XCH  A,R2  ;①

RRC  A       ;②

DJNZ  R3,LP

MOV  B,R2

   下表第一列為:循環(huán)次數-執(zhí)行點

其余各列為邏輯運算指令執(zhí)行點的操作結果。

循環(huán)

R2

C

A

C

初態(tài)

0000

0101

1

1-①

0111

1

0101

1-②

0111

1010

1

2-①

1011

0

1010

2-②

1011

0101

0

3-①

0101

1

0101

3-②

0101

1010

1

4-①

1010

1

1010

4-②

1010

0101

0

 

 
 

 

 

 

 

 邏輯尺以二進制數表示二值邏輯序列,逐位移出,并據此行邏輯控制。

  • 上一篇: 程序控制指令
  • 下一篇: 沒有了
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網站

    網站經營許可證:浙B2-20080178-1