跟電師傅學單片機(12):單片機算術運算加減法指令圖文新解

2021-01-08 電師傅

單片機算術運算類指令(24條)

單片機算術運算指令是8位二進位數進行加、減、乘、除四則運算,以及加1、減1、十進位調整等。

本節介紹其中加減法12條指令。

加減法指令示意圖

1:不帶進位加法指令(4條)

ADD:不帶進位標誌CY的加法,功能是累加器A中的內容與源操作數所確定單元中的內容相加,其結果仍存在A中。

ADD A,Rn;屬於寄存器尋址方式。指令功能是將寄存器Rn中的內容與累加器A中的內容相加,其結果送回A中。

ADD A,direct;屬於直接尋址方式。指令功能是將直接地址direct中的內容與累加器A中的內容相加,其結果送回A中。

ADD A,@Rn;屬於寄存器間接尋址方式。指令功能是將寄存器間接尋址單元中的內容與累加器A中的內容相加,其結果送回A中。

ADD A,#data;屬於立即數尋址方式。指令功能是將立即數data與累加器A中的內容相加,其結果送回A中。

2:帶進位加法指令(4條)

ADDC:帶進位標誌CY的加法,功能是累加器A中的內容與源操作數所確定單元中的內容相加,其結果仍存在A中。與ADD指令類似,不同之處是在執行加法時,還要將進位標誌CY的內容一起加進去。

進位加法計算

標誌寄存器PSW示意圖

標誌寄存器PSW功能圖

CY:是標誌寄存器PSW中的一個進位標誌位。標誌寄存器PSW也稱程序狀態字PSW,用於存放程序運行狀態信息。

單片機系統上電或復位時,PSW初始值為00H。

3:減法指令(4條)

SUBB:帶借位減法指令,與帶進位加法指令類似,指令功能是把累加器A中的內容減去源操作數所確定單元中的內容和進位標誌CY,其結果送回A中。

注意:在單片機減法指令裡面,只有帶借位的減法,沒有不帶借位的減法,做減法運算時,如果是低8位時,必須把CY清零。

相關焦點

  • 跟電師傅學單片機(5):時鐘電路與復位電路
    百家號:電師傅,專門請電師傅講解單片機應用技術,傾力奉獻,機會難得,力求做到圖文並茂、通俗易懂。歡迎電工電子愛好者關注和閱讀,留言討論,共同學習與提高,分享和普及電知識。課前一語:人生如逆旅,我亦是行人。駕馭命運的舵是奮鬥,不抱有一絲幻想,不放棄一點機會,不停止一日努力。
  • Cortex―M0單片機二-十進位整數轉換的快速算法
    關鍵詞:Cortex-M0;單片機;二-十進位轉換BCD碼;常數除法;快速算法引言 在單片機應用系統中,一般都需要高效快速地完成系統所需要的任務,並在任務完成後使系統進入睡眠或低功耗狀態,以便最大限度地節省系統功耗,增強系統的抗幹擾能力。因此,必須優化和提高系統中各個模塊的運算速度,以最大限度地壓縮軟體運行時間。
  • 51單片機教程:單片機存儲器結構
    單片機內部存儲結構分析本文引用地址:http://www.eepw.com.cn/article/171377.htm我們來思考一個問題,當我們在編程器中把一條指令寫進單片要內部
  • 51單片機指令周期,機器周期,時鐘周期詳解
    51單片機有指令周期,機器周期,時鐘周期的說法,看似相近,但是又都不太一樣,很容易混淆。還是詳細分析一下。本文引用地址:http://www.eepw.com.cn/article/201609/310558.htm  時鐘周期:單片機外接的晶振的振蕩周期就是時鐘周期,時鐘周期=振蕩周期。比方說,80C51單片機外接了一個11.0592M的晶體振蕩器,那我們就說這個單片機系統的時鐘周期是1/11.0592M,這裡要注意11.0592M是頻率,周期是頻率的倒數。
  • 常用單片機優缺點詳細剖析
    51單片機之所以成為經典,成為易上手的單片機主要有以下特點:特性1. 從內部的硬體到軟體有一套完整的按位作業系統,稱作位處理器,處理對象不是字或字節而是位。不但能對片內某些特殊功能寄存器的某位進行處理,如傳送、置位、清零、測試等,還能進行位的邏輯運算,其功能十分完備,使用起來得心應手。2.
  • AVR彙編初探之二《AVR的指令與彙編系統》
    學單片機那麼久了,感覺想要深入,還得看彙編語言,至少得了解單片機內部結構。   如上兩圖,左圖是虛線框內AVR CPU的內核結構,右圖是AVR單片機內核結構的方框圖,可以看出AVR單片機的數據總線(CPU字長)是8位的,也就說它是8位單片機。
  • 單片機c語言教程:C51運算符和表達式
    「==」符號是用來進行相 等關係運算。算術,增減量運算符對於 a+b,a/b 這樣的表達式大家都很熟悉,用在 C 語言中,+,/,就是算術運算符。單片機c語言 中的算術運算符有如下幾個,其中只有取正值和取負值運算符是單目運算符,其它則都是雙 目運算符:+ 加或取正值運算符- 減或取負值運算符* 乘運算符/ 除運算符% 取餘運算符 算術表達式的形式:表達式 1 算術運算符 表達式 2 如:a+b*(10-a), (x+9)/(y-a)
  • 單片機C語言實現求平方根算法
    但在單片機中調用此函數無疑會耗費大量資源和時間,是極不合適的。在此,總結下網上常見的四種單片機常用開方根算法:對於擁有專門的乘除法指令的單片機,可採用以下兩種方法:1、二分法對於一個非負數n,它的平方根不會小於大於(n/2+1)(謝謝@linzhi-cs提醒)。在[0, n/2+1]這個範圍內可以進行二分搜索,求出n的平方根。
  • 一種基於AT89C51單片機的十進位計算器系統
    本設計是基於AT89C51單片機進行的十進位計算器系統設計,可以完成計算器的鍵盤輸入,進行加、減、乘、除4位無符號數字的簡單四則運算,並在LED 上相應的顯示結果。
  • 51單片機整數二一十進位轉換的快速算法
    算法的關鍵是充分利用89C51單片機的兩條特殊指令――單字節乘和單字節除。其耗費時間不及使用sprintf()函數的1/10。關鍵詞 89C5l 單片機二一十進位轉換快速算法 89C5l系列單片機歷經20多年的發展,仍然長盛不衰,在工業控制及儀器儀表中得到廣泛應用;用於89C5l單片機軟體開發的Keil C51編譯系統也日臻成熟,成為89C5l系列單片機軟體開發的優先選擇。
  • 單片機實驗報告與心得體會
    學習單片機這門課程(教學中選用 inter公司的mcs-51),要掌握單片機指令系統中彙編語言各種基本語句的意義及彙編語言程序設計的基本知識和方法,以及單片機與其他設備相連接的輸入輸出中斷等接口技術。使學生從硬體軟體的結合上理論聯繫實際,提高動手能力,從而全面掌握單片機的應用。
  • 關於STC單片機的幾點建議
    其他的還有PIC、AVR、MSP430系列單片機,飛思卡爾(去年已經被高通收購)也是很不錯的單片機,工業上也有一定應用。3、另外一大領域是專用的工業用單片機,這種單片機往往突出某個方面的性能,比如AD,而簡化了其他性能,但好處是價格非常便宜。但這種單片機資料往往要少得多,燒寫器等都是專用的,比較貴,不適合學習者而更適合工業化大批量生產。
  • 單片機最小系統組成電路及其作用
    什麼是單片機最小系統呢?最小系統,就是指單片機能正常工作最簡單的電路。對51單片機來說,最小系統一般包括:電源、單片機、時鐘電路和復位電路。我們人的心臟每分鐘跳動幾十到上百次,而對於單片機來說,這實在太慢了。圖中的晶振頻率是 12MHz(1MHz=1,000,000Hz),正常工作起來,每秒鐘振蕩12,000,000次!實際上,時鐘電路的晶振並非必須是12M,也可以是其他的,但是要注意STC89C51這款單片機最高工作頻率不能超過80M(這個同樣可以通過晶片手冊查找)。
  • AVR單片機的優勢特徵及未來發展展望
    AVR單片機的優勢特徵及未來發展展望 工程師周亮 發表於 2018-11-12 15:49:08 本文就單片機在生活中具體的應用,娓娓道來單片機的發展歷程跟特性,並對單片機的前景進行了展望。
  • avr單片機和stm32區別與優缺點分析
    一、AVR單片機介紹   AVR單片機是1997年由ATMEL公司研發出的增強型內置Flash的RISC(Reduced Instruction Set CPU) 精簡指令集高速8位單片機。可以廣泛應用於計算機外部設備、工業實時控制、儀器儀表、通訊設備、家用電器等各個領域。
  • 浙江省2011年10月自學考試單片機原理與接口技術試題
    12.8051單片機串行口中斷的中斷入口地址是______。13.定時器T1有______種工作方式供用戶選擇使用。14.對於由多個LED組成的顯示器,有靜態顯示方式和______兩種。15.某51單片機欲直接擴展80個按鍵,則只能使用______式鍵盤。
  • 基於單片機的電動車36V鋰電池組保護電路設計方案
    1. 1 ATmega16 L單片機模塊從低功耗、低成本設計角度出發,單片機模塊採用高性能、低功耗的ATmega16 L單片機作為檢測與控制核心。由於其先進的指令集以及單時鐘周期指令執行時間,ATmega16 L的數據吞吐率高達1M IPS/MHz,從而可以緩減系統功耗和處理速度之間的矛盾。單片機的輸入輸出設計如圖2所示。
  • 51單片機定時器初值的計算
    什麼是指令周期?本文引用地址:http://www.eepw.com.cn/article/201611/318666.htm時鐘周期時鐘周期也稱為振蕩周期,定義為時鐘脈衝的倒數(可以這樣來理解,時鐘周期就是單片機外接晶振的倒數,例如12M的晶振,它的時間周期就是1/12 us),是計算機中最基本的、最小的時間單位。
  • 單片機c語言教程:運算符和表達式(關係運算符)
    單片機C語言中有六種關係運算符,這些東西同樣是在我們小時候學算術時就已經學習過了的:本文引用地址:http://www.eepw.com.cn/article/170887.htm> 大於< 小於>= 大於等於<= 小於等於== 等於
  • 單片機最小系統之|復位電路設計
    什麼是單片機的復位電路  單片機的復位電路就是在單片機的復位引腳產生一個復位信號,使單片機處於復位狀態,使單片機的程序從頭執行,從而避免了單片機程序的跑飛。  2. 單片機復位電路的作用是什麼  單片機復位的主要作用是把特殊功能寄存器的數值加載為默認值,由於單片機在運算過程中受外界幹擾造成寄存器中數據混亂不能使其正常繼續執行程序(稱死機)或單片機的指令不按照程序執行而指向了未知位置(俗稱跑飛),這時候就需要單片機復位一下,以使程序重新開始運行。  3.