jnz和djnz 51微控制器之系統指令

2021-10-13 02:00:16 字數 3777 閱讀 8565

文章目錄

前言資料傳送指令

movmovc

movx

xchxchd

push

pop運算子指令

addaddc

subb

muldiv

dainc

dec邏輯運算指令

anlorl

xrlclr

cplrl

rrrlc

rrcswap

控制轉移類指令

acall

lcall

retreti

sjmp

ljmp

ajmp

cjne

djnz

jzjnz

jcjnc

jbjnb

jbcnop

前言89c51/s51系統指令可分為5大類:

28條 資料傳送指令

24條 算術運算指令

25條 邏輯運算及位移指令

17條 控制轉移指令

17條 位操作指令或布林操作

此文章總結各種指令是方便學習微控制器的同學查詢指令

此文章分別討論5大類系統指令的助記符、含義、用法等屬性。

資料傳送指令

mov助記符:mov

英文全稱:move

含義:對內部資料暫存器(內部ram)和特殊功能暫存器(sfr)進行資料傳送

movc

助記符:movc

英文全稱:move code

含義:讀取程式暫存器(rom,包含內部rom和外部rom)的資料**的資料進行傳送

movx

助記符:movx

英文全稱:move extenal ram

含義:對外部資料暫存器(外部ram)的資料傳送

xch助記符:xch

英文全稱:exchange

含義:位元組交換

xchd

助記符:xchd

英文全稱:exchange low-order digit

含義:低半位元組交換

push

助記符:push

英文全稱:push onto stack

含義:入棧

pop助記符:pop

英文全稱:pop from stack

含義:出棧

運算子指令

add助記符:add

英文全稱:addition

含義:加法

addc

助記符:addc

英文全稱:add with carry

含義:帶進製加法

subb

助記符:subb

英文全稱:sub tract with borrow

含義:帶借位的減法

mul助記符:mul

英文全稱:multiplication

含義:乘法

div助記符:div

英文全稱:division

含義:除法

da助記符:da

英文全稱:decimal adjust

含義:十進位制調整

inc助記符inc

英文全稱:increment

含義:加一

dec助記符

英文全稱:decrement

含義:減一

邏輯運算指令

anl助記符:anl

英文全稱:and logic

含義:邏輯與

作用:可以使某些位置0(清零)

orl助記符:orl

英文全稱:or logic

含義:邏輯或

作用:可以使某些位置1

xrl助記符:xrl

英文全稱:exclusive - or logic

含義:邏輯異或

作用:可以使某些位置取反

clr助記符:clr

英文全稱:clear

含義:清零

cpl助記符:cpl

英文全稱:complement

含義:取反

rl助記符:rl

英文全稱:rotate left

含義:迴圈左移

rr助記符:rr

英文全稱:rotate right

含義:迴圈右移

rlc助記符:rlc

英文全稱:rotate left through the carry flag

含義:帶進製的迴圈左移

rrc助記符:rrc

英文全稱:rotate right through the carry flag

含義:帶進製的迴圈右移

swap

助記符:swap

英文全稱:swap

含義:乙個位元組內低四位與高四位交換

控制轉移類指令

acall

助記符:acall

英文全稱:absolute subroutine call

含義:子程式絕對呼叫

lcall

助記符:lcall

英文全稱:long subroutine call

含義:子程式長呼叫

ret助記符:ret

英文全稱:return from subroutine

含義:子程式返回

reti

助記符:reti

英文全稱:return from interruption

含義:中斷返回

sjmp

助記符:sjmp

英文全稱:short jump

含義:短轉移

ljmp

助記符:ljmp

英文全稱:long jump

含義:長轉移

ajmp

助記符:ajmp

英文全稱:absolute jump

含義:絕對轉移

cjne

助記符:cjne

英文全稱:compare jump of not equal

含義:比較不相等則轉移

djnz

助記符:djnz

英文全稱:decrement jump if not zero

含義:減一後不為0則轉移

jz助記符:jz

英文全稱:jump if zero

含義:結果為0,則轉移

jnz助記符:jnz

英文全稱:jump if not zero

含義:結果不為0,則轉移

jc助記符:jc

英文全稱:jump if the carry flag is set

含義:有進製,則轉移

jnc助記符:jnc

英文全稱:jump if not carry

含義:無進製,則轉移

jb助記符:jb

英文全稱:jump if the bit is set

含義:位為一,則轉移

jnb助記符:jnb

英文全稱:jump if the bit is not set

含義:位為零,則轉移

jbc助記符:jbc

英文全稱:jump if the bit is set and clear the bit

含義:位為一,則轉移,並清楚該位

nop助記符:nop

英文全稱:no operation

含義:空操作

51微控制器之邏輯運算指令anl、orl、xrl等

51微控制器之資料轉移指令mov、movx、movc等

51微控制器之位操作指令setb、cpl等

51微控制器之控制轉移指令sjmp、ljmp等

51微控制器之算術運算指令addc、subb等

由本人水平有限,文章難免有錯誤,望告知

jnz和djnz 第3章微控制器指令系統 練習

第3章指令系統 一 簡答題 1.at89c51共有幾種定址方式?舉例說明每種定址方式的特點。例如 mov a,56h 單位元組立即數56h送入a mov dptr,data16 雙位元組數data16送入dptr 例如 mov a,40h 設 40h 3ah,則執行該條指令即將40h單元中的資料3a...

51微控制器之EEPROM IIC

由於 51 微控制器沒有硬體 iic 介面,即使有硬體接 們通常還是採用軟體模擬 i2c。主要原因是硬體 iic 設計的比較複雜,而且穩定性不怎麼好,程式移植比較麻煩,用軟體模擬 iic,最大的好處就是移植方便,同乙個 相容所有微控制器,任何乙個微控制器只要有 io 口 不需要特定 io 都可以很快...

51微控制器auxr暫存器 51微控制器之printf

typedef char va list 我先在知道想要在51微控制器使用printf有兩種辦法,一種是用庫自己的printf,一種是寫自己的printf,不過都很簡單,我先介紹一下庫的printf吧。1 首先新增標頭檔案 include 2 配置一下串列埠,但是在串列埠初始化的時候ti必須為1,否...