51單片機(jī)匯編語(yǔ)言的指令格式
一個(gè)簡(jiǎn)單的循環(huán)燈實(shí)例下圖中的8個(gè)發(fā)光二極管代表 8 個(gè)彩燈,讓我們看看是如何實(shí)現(xiàn)的
STAT: MOV A , #01H ; 高電平對(duì)應(yīng)的發(fā)光二極管亮
LOOP: MOV P1, A ; 從 P1 口輸出到發(fā)光二極管
MOV R1, #10
DEL1: MOV R2 , #200
DEL2: MOV R3, #126
DEL3: DJNZ R3, DEL3
DJNZ R2, DEL2
DJNZ R1, DEL1
RL A
LJMP LOOP ; 左移一位 , 下一個(gè)發(fā)光二極管亮
END
匯編語(yǔ)言指令格式
[ 標(biāo)號(hào) ] : 操作碼 [ 目的操作數(shù) ] [ 源操作數(shù) ] ; [ 注釋 ]
↓ ↓ ↓ ↓ ↓
LOOP : MOVX A , @DPTR ; 將外部 RAM 單元內(nèi)容送到 A
標(biāo)號(hào): 又稱為指令地址符號(hào)。對(duì)標(biāo)號(hào)有如下規(guī)定:
一般由 1 ~ 8 個(gè) ASCII 字符組成,以字母開(kāi)頭,其余字符可以是字母、數(shù)字和其他特定字符。
不能使用助記符、偽指令或者寄存器的符號(hào)名稱做標(biāo)號(hào)。
與操作碼之間用冒號(hào)分開(kāi),帶方括號(hào)表示為可選項(xiàng)。
一個(gè)標(biāo)號(hào)只能在程序中出現(xiàn)一次,不能重復(fù)出現(xiàn)。
操作碼 是由助記符表示的字符串,它規(guī)定了指令要完成的具體操作。
操作數(shù) 指令操作的對(duì)象 . 操作數(shù)分為目的操作數(shù)(上例累加器 A) 和源操作數(shù)(上例中的 @DPTR). 目的操作數(shù)和源操作數(shù)的書(shū)寫(xiě)順序不能顛倒 .
注 釋 對(duì)指令功能的說(shuō)明,以便于閱讀,符號(hào)“;”后面的內(nèi)容為注釋。
匯編指令及其注釋中常用的符號(hào)
Rn ------選中當(dāng)前的工作寄存器區(qū)中的寄存器R0~R7之一
@ Ri------選中當(dāng)前的工作寄存器組中的寄存器R0或R1,間接尋址前綴符號(hào)direct------直接地址,一個(gè)內(nèi)部RAM單元地址或SFR地址.
#data ------------8位或16位常數(shù),也稱立即數(shù). #為立即數(shù)前綴標(biāo)志符號(hào)
addr11------------11位目的地址
addr16------------16位目的地址
rel ---------------8位地址偏移量,值在-128~+127范圍內(nèi)
bit---------------位地址.SFR的位地址(可用符號(hào)或名稱表示)
/-----------------位操作前綴,表示該位內(nèi)容求反
。ā粒------------表示以×為地址單元中內(nèi)容
。ǎā粒--------表示以×為地址單元中內(nèi)容為地址的單元中的

編輯:admin 最后修改時(shí)間:2018-05-08