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