subb指令舉例詳解 51單片機匯編中SUBB帶借位指令的意思?
51單片機匯編中SUBB帶借位指令的意思?51 MCU匯編中帶借位指令的sub的格式是:sub A,R(操作數(shù)),這意味著累加器中的數(shù)字減去源操作數(shù)和進位cy指示的數(shù)字,差值存儲在累加器A中。運算結(jié)果
51單片機匯編中SUBB帶借位指令的意思?
51 MCU匯編中帶借位指令的sub的格式是:sub A,R(操作數(shù)),這意味著累加器中的數(shù)字減去源操作數(shù)和進位cy指示的數(shù)字,差值存儲在累加器A中。運算結(jié)果影響PSW(程序狀態(tài)標志寄存器)。
在多字節(jié)減法操作中,有時減去的低位字節(jié)將產(chǎn)生一個到高位的借位。此時,cy(進位標志)被設(shè)置為1,因此這里必須使用帶借位的減法指令。應(yīng)注意,進位應(yīng)在單字節(jié)減法或多字節(jié)低8位減法之前清除。80C51指令系統(tǒng)中沒有無借減法指令。
例如:sub 49h,58h;49h-58h,這里是49h,是減去的,帶借位。
實際上,減法是計算機中的補碼加法。
匯編語言指令系統(tǒng)執(zhí)行計算和控制過程:
單片機的幾個主要部件構(gòu)成了單片機的硬件。硬件是看得見摸得著的實體。然而,有了這樣的硬件,就只能實現(xiàn)計算和控制的功能。
為了能夠計算和控制,MCU必須有軟件的配合。軟件主要指各種程序。只有將各種正確的程序“倒”(存)進單片機中,它才能有效地工作。
單片機之所以能自動進行計算和控制,是因為實現(xiàn)計算和控制的步驟是以命令即指令的形式逐級存儲在存儲器中的。單片機在CPU的控制下,將指令逐一取出,進行翻譯和執(zhí)行。對于兩個數(shù)字相加的簡單操作,當要計算的數(shù)字已存儲在內(nèi)存中時,需要執(zhí)行以下步驟:
步驟1:將第一個數(shù)字從其位置取出并發(fā)送到算術(shù)單元。
步驟2:從存儲單元中取出第二個數(shù)字并將其發(fā)送到算術(shù)單元;
步驟3:添加;
步驟4:將添加的結(jié)果發(fā)送到內(nèi)存中的指定單元。
匯編用什么指令判斷大小?
單片機比較大小可以通過減法指令來實現(xiàn),如比較a和B兩個數(shù)字的大小,步驟如下:1。
2. 執(zhí)行指令Subb,即a-b
示例如下:
cmpdat:
mov a,30h將減去的數(shù)據(jù)發(fā)送到累加器a
CLR C clear borrow
sub a,31h subtraction
JC cmpd1如果有borrow transfer
CLR P1.0點亮P1.0 LED燈,表示30h數(shù)大
RET
cmdpd1:
CLR P1.1點亮P1.1燈,表示31h數(shù)大。
RET