版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
ASM51宏匯編使用手冊2007-01-2110:33
ASM-51
宏匯編使用手冊
ASM-51
宏匯編主要用來開發(fā)Inter8051系列單片機(jī),它具有宏處理,數(shù)據(jù)處理,列表處理和條件處理等多種功能。源程序的編寫完全采用
Inter標(biāo)準(zhǔn)助記符和行格式。在編寫程序過程中,可借助于文本編輯(Windows的記事本)或文字處理軟件Word等編輯,
經(jīng)ASM-51匯編后生成列表輸出文件(.LST和目標(biāo)代碼文件(.HEX。
此目標(biāo)代碼文件(.HEX可直接用CZS-51或MedWin、Keil、Debug8051進(jìn)行模擬/調(diào)試,或直接用于硬件仿真器上運(yùn)行。當(dāng)然,這也是要燒寫到單片機(jī)ROM中的代碼。
1、
宏匯編語言的基本語法
1、1
宏匯編的特點
ASM-51宏匯編完全支持Inter助記符的匯編語言,它含有宏語句,英文大小寫字母,變量名,標(biāo)號等不受限制,有二,十,十六進(jìn)制和串參數(shù)類型,有匯編控制指令和多層條件語句,程序邏輯分段,
還有模塊化程序設(shè)計的連接功能,匯編速度快等特點。
1、2
匯編處理過程
(1
用行編輯EDLIN或文字處理軟件WS或全屏幕編輯軟件PE等,編輯宏匯編
語言源程序,它的文件擴(kuò)展名為。ASM。
(2
用ASM-51宏匯編程序?qū)ι鲜鲈闯绦蛭募M(jìn)行匯編,產(chǎn)生擴(kuò)展名為.LST的列表輸出文件和擴(kuò)展名為.HEX的目標(biāo)代碼文件(.HEX。
列表輸出文件包含源程序語句所匯編成的代碼,以及有關(guān)的地址,語句和符號表等。
目標(biāo)代碼文件包含源程序語句所匯編成的代碼,
不包含任何符號信息或助記符。
進(jìn)行模擬/調(diào)試,或直接用于硬件仿真器上運(yùn)行。
1、3
語句
匯編語言可分為兩類語句:指令性語句和指示性語句。
(1指令性語句
這一類語句是指在匯編過程中能生成指令代碼的語句(如
MOV
,DEC等。其格式為:
[標(biāo)號:]
[指令助記符]
[操作數(shù)]
[;注釋]
其中方括號[
]中為選擇項。下同。
(2指示性語句
這一類語句即通常所說的偽指令,它指示匯編程序后面的指示性語句如何產(chǎn)生代碼。
ASM-51宏匯編完全支持Inter助記符的匯編語言,因此匯編程序的格式,指令完全與8051匯編語言一樣,這里不再介紹它們的指令系統(tǒng)。
1、4
常量與數(shù)值運(yùn)算
(1
常量及其表示
常量,就是在匯編時已經(jīng)確定的值。
在匯編語言中,常量主要用作指令性語句中的直接操作數(shù),也可用于存儲器操作的組成部分(如位移量,或者為偽指令中的變量輸初值。
為便于程序設(shè)計,常量有多種表示形式:二、十、十六進(jìn)制數(shù)和字符串等,它們的格式各不相同,并采用不同的基數(shù)標(biāo)記加以區(qū)分。表--1列出其格式。
表--1
數(shù)據(jù)形式
格
式
取值范圍
例
如
備
注
2進(jìn)制
********B
0,1
10011100B
10進(jìn)制
******
0,1,2...9
45723
缺省基數(shù)標(biāo)記
16進(jìn)制
****H
0,1...E,F(xiàn)
0CDE3H
最前面一個字符應(yīng)是0--9
ASCII
'**'
ASCII
'AD'
只有DB命令中使用
常量以數(shù)值形式直接寫在匯編語言的語句中稱為字面常量,
若預(yù)先為它定義一個符號名,然后在語句中用符號名來表示該常量稱符號常量。使用符號常量的優(yōu)點可改善程序的可讀性,它的定義需要使用偽操作命令"EQU"或“=“。
(2
數(shù)值運(yùn)算
宏匯編中,所有參數(shù)值均被認(rèn)為是整數(shù),并以16位的形式存放,表示的范圍是065535,所有算術(shù)操作均對整數(shù)以補(bǔ)碼形式運(yùn)算。
(1
基本運(yùn)算
匯編語言對常量允許進(jìn)行算術(shù)運(yùn)算,邏輯運(yùn)算,分離運(yùn)算等三種類型的運(yùn)算。如表--2所示。
表--2
基本運(yùn)算
運(yùn)
算
操
作
含
義
以ADD為例
算
+
加操作
ADD
A,R1+36
-
減操作
ADD
A,R1-2EH
*
乘操作
ADD
A,R1*0E3H
術(shù)
/
除操作
ADD
A,R1/23
MOD
模除
ADD
A,R1
MOD
12
SHR
右移
ADD
A,R1
SHR
3
SHL
左移
ADD
A,R1
SHL
2
邏
AND
與操作
ADD
A,R1
AND
10000101B
OR
或操作
ADD
A,R1
OR
00110000B
XOR
異或操作
ADD
A,R1
XOR
36H
輯
NOT
非操作
ADD
A,
NOT
45H
分
HIGH
高字節(jié)分離
ADD
A,
HIGH
05E2H
離
LOW
低字節(jié)分離
ADD
A,
LOW
77F0H
說明:
R1為符號常量(即內(nèi)存地址)。
(2
綜合運(yùn)算
綜合運(yùn)算規(guī)則
1:
計算表達(dá)式時,所有的運(yùn)算全部從左到右順序進(jìn)行,遇到操作數(shù)就進(jìn)行運(yùn)算,不考慮優(yōu)先關(guān)系,括號有助于視覺理解,但不改變表達(dá)式的?計算順序。
例如:
R1
SET
NOT(0C5FH
OR
000CH
其結(jié)果應(yīng)為
0F3ACH。
綜合運(yùn)算規(guī)則
2:
當(dāng)兩個操作數(shù)之間沒有參數(shù)相隔時,
第二個操作符優(yōu)先于第一個操作符計算。
例如:
R1
SET
NOT
10011010B
其結(jié)果應(yīng)為
65H。
1、5
程序分段
8051系列的處理器的結(jié)構(gòu),
把內(nèi)存分成五個獨(dú)立的內(nèi)存段,
即代碼段(段名CSEG,數(shù)據(jù)段(段名DSEG,
外部段(段名XSEG,
功能段(段名FSEG和位段(段名BSEG等。
各個段在源程序中的次序可以任意,段的數(shù)目可以根據(jù)需要確定,原則上不受限制。程序中的所有段都必須用段名開頭,段結(jié)束語句ENDS結(jié)束。
1、6
源文件
源文件是由匯編語言代碼和匯編程序指令組成的
ASCII
字符文件,
擴(kuò)展名為。ASM。源文件的每一語句行,最多有四個域。每一行的長度不超過80個字符,
且以“回車“鍵結(jié)束。
1、7
列表輸出文件和目標(biāo)代碼文件
(1
目標(biāo)代碼文件(.HEX
目標(biāo)代碼文件(.HEX是ASCII文件,它只包含由各種程序語句所生成的代碼,而不包含任何信息或助記符。
該文件是能夠在處理器上運(yùn)行的實際機(jī)器指令碼。
目標(biāo)代碼文件格式如下:
:cc
aaaa
tt
dd
aa
dd
ss
計數(shù)器
數(shù)據(jù)類型
記錄地址
回車
記錄地址
代碼的字節(jié)
和校驗
目標(biāo)代碼文件(.HEX的每一行以一個冒號開始,
后面跟著的數(shù)字和符號分別表示十六進(jìn)制數(shù)據(jù)的計數(shù)器(cc,記錄第一個數(shù)據(jù)字節(jié)的16位地址(aaaa,目標(biāo)記錄的數(shù)據(jù)類型(tt,代碼的實際字節(jié)(dd,計數(shù)器從第一個數(shù)據(jù)字節(jié)到最后的所有字節(jié)值累加和的相反數(shù)即和校驗(ss等等。
(2列表輸出文件(.LST
列表輸出文件也是個ASCII文件,它由源程序和目標(biāo)代碼文件組成,
可作為程序文檔也可被打印。
列表輸出文件是分頁顯示,打印的,其長度由缺省值或偽指令$PAGE決定。
每頁一開始指出匯編程序的類型,版本以及頁號等。
2、
偽操作指令
匯編語言中的指示性語句(偽指令,不象指令性語句會產(chǎn)生目標(biāo)代碼,
它主要是用來“控制指揮“匯編程序如何把指令性語句翻譯成目標(biāo)代碼。除本身偽指令申請分配一部分存貯空間作數(shù)據(jù)區(qū)和堆棧區(qū)外,不產(chǎn)生任何目標(biāo)代碼。
按照它們的功能,大致分成七類:
符號定義偽操作,段定義偽操作,數(shù)據(jù)定義崐偽操作,列表偽操作,條件偽操作,宏處理偽操作以及其它操作等。如表--3所示。
表--3
偽操作指令
序號
分
類
偽
操
作
指
令
1
符號定義偽操作
EQU,=,DATA,BYTE,WORD,BIT,SET
2
段定義偽操作
ORG,END,CSEG,DSEG,XSEG,F(xiàn)SEG,ENDS
3
數(shù)據(jù)定義偽操作
DB,DW,DS
4
列表偽操作
$TITLE,$SUBTTL,$PAGE,$LIST,$NOLIST,$NOCODE
5
條件偽操作
IF,ELSE,ENDIF
6
宏處理偽操作
MACRO,ENDM
7
其
它
ALTNAME,INCLUDE
2、1
符號定義偽操作
符號定義偽操作及其格式:
符號名
符號定義名
常量或表達(dá)式
其中符號定義名可以為EQU,=,DATA,BYTE,WORD,BIT,SET等。下面就是這些符
號定義偽操作的用法及說明。如表--4所示。
表--4
符號定義偽操作
符號定義名
用
法
說
明
EQU
為常量,符號名等定義符號化常量名
符號名不能重名定義
=
為常量,符號名等定義符號化常量名
符號名不能重名定義
DATA
用來為一個字節(jié)類型的符號定值
符號名不能重名定義
BYTE
用來為一個字節(jié)類型的符號定值
符號名不能重名定義
WORD
用來為一個字類型的符號定值
符號名不能重名定義
8051中沒有字操作
BIT
用來定義一個字位類型
SET
用來定義整數(shù)類型的符號名
符號名可重名定義
DATA與BYTE的區(qū)別:
DATA與BYTE是相類似的偽指令。
當(dāng)程序運(yùn)行到DATA偽指令定義的符號名時,該符號名將被顯示;而由BYTE定義的符號名不被顯示。
2、2
段定義偽操作
(1
ORG
用于設(shè)置或改變程序計數(shù)器的值。
其格式為:
ORG
常數(shù)或表達(dá)式
例如:
ORG
0008H
ORG
$+5
其中$表示程序計數(shù)器的當(dāng)前值。
(2
END
表示源代碼結(jié)束。
其格式為:
END
常數(shù)或表達(dá)式
匯編程序遇到END語句即停止運(yùn)行。
若程序中沒有END,則在匯編源程序時顯出錯
(3
8051系列的處理器把內(nèi)存結(jié)構(gòu)分成五個段,代碼段CSEG,數(shù)據(jù)段DSEG,外部段XSEG,功能段FSEG和位段BSEG等,其用法及區(qū)別如
表--5所示。
在匯編以上各段所定義的符號時,系統(tǒng)根據(jù)符號所在不同段,賦與不同類型的字母,如表--6所示。
2、3
數(shù)據(jù)定義偽操作
數(shù)據(jù)定義偽操作格式:
[
標(biāo)號:
]
數(shù)據(jù)定義名
[
表達(dá)式1,表達(dá)式2,。。。
]
其中數(shù)據(jù)定義名可為DB,DW,DS等。
如表--7所示,數(shù)據(jù)定義偽操作的含義及說明。
表--5
段定義偽操作
段
用
法
及
區(qū)
別
代碼段(CSEG
包含由處理器所執(zhí)行的程序。段名可缺省。有目標(biāo)代碼生成。
數(shù)據(jù)段(DESG
由內(nèi)部工作寄存器的處理器的RAM組成。用來對程序使用的數(shù)據(jù)地址賦符號名,大多以O(shè)RG,DATA,BYTE,WORD,EDNS等組成。
無目標(biāo)碼生成。
外部段(XSEG
由外部工作寄存區(qū)和RAM組成。使用方法同數(shù)據(jù)段。無目標(biāo)碼生成。
功能段(FSEG
由特殊寄存器位置組成(如:輸入/輸出部件,計時器,中斷控制和連續(xù)的寄存器部件接口等。無目標(biāo)代碼生成。
位
段(BSEG
由一些獨(dú)立的位組成,可以用布爾函數(shù)實現(xiàn)。
該段地址被解釋為位地址。無目標(biāo)代碼生成。
表--6
程序分段的類型符號
段
標(biāo)號(Label
字節(jié)型操作數(shù)(Byte
字型操作數(shù)(Word
代碼段CSEG
L
D
W
數(shù)據(jù)段DSEG
D
D
W
外部段XSEG
X
X
E
功能段FSEG
F
F
G
位
段BSEG
B
B
B
說明:
(1在不同的段中類型符號不同;
(2字節(jié)型操作數(shù)(Byte一般通過DATA指令賦給符號;
字型操作數(shù)
一般通過WORD指令賦給符號;
(3如果各段中用BYTE賦值,則在各段中符號全以S表示;在SIM51模
擬/調(diào)試中的符號區(qū)顯示功能中,對BYTE賦值的將被跳過。
(4在各段中,位類型可以用BIT指令賦給。
表--7
數(shù)據(jù)定義偽操作
數(shù)據(jù)定義名
含
義
說
明
DB
用于定義一個字節(jié)包含的值
表達(dá)式不是字符串時,每個表達(dá)式賦給一個字節(jié),是字符串時,用單引號
“
'
“
作為分隔符。
DW
用于定義一個字(16位
每個表達(dá)式占16位。
如果表達(dá)式中的存貯內(nèi)容為字符串,只取最后兩個字符。若字符串只有一個字符,高字節(jié)置“0“。
DS
定義一個存貯區(qū)
通常用在代碼段中,作為程序的一部分。若用在數(shù)據(jù)段,外部段,則作為位置標(biāo)志使用。
表--8
列表偽操作
偽指令
含義及格式
說
明
$TITLE
給源程序指定一個標(biāo)題
標(biāo)題不加
“
“,其最大長度
格式:
$TITLE
[標(biāo)題行]
60個字符。若標(biāo)題行省略,
原來定義的標(biāo)題行作廢。
$SUBTTL
給源程序指定一個副標(biāo)題
副標(biāo)題不加
“
“,其最大長
格式:
$SUBTTL
[副標(biāo)題行]
度60字符。若副標(biāo)題行省略,原來定義的副標(biāo)題行作廢。
$PAGE
用于形成或定義新的一頁或行數(shù)
匯編時頁長為66行(適合于格式:
$PAGE
[表達(dá)式]
標(biāo)準(zhǔn)打印紙。表達(dá)式最大為65535,最小為12,
表達(dá)式缺省,則從新的一頁開始。
$LIST
使源程序匯編時,產(chǎn)生程序清單
匯編時無此指令照樣產(chǎn)生清單。
格式:
$LIST
$NOLIST
使源程序匯編時不產(chǎn)生程序清單
格式:
$NOLIST
$NOCODE
源程序匯編時,條件匯編程序值
沒有此指令匯編時,不論其值是為假的不產(chǎn)生清單。真、假的條件都不產(chǎn)生目標(biāo)碼。
格式:
$NOCODE
2、4
列表偽操作
如表--8所示,列表偽操作的含義,格式及說明。
2、5
條件偽操作
條件偽操作格式:
IF
表達(dá)式
[
程序塊1
]
[
ELSE
]
[
程序塊2
]
ENDIF
當(dāng)IF指令中的表達(dá)式為真時,被匯編的代碼段是程序塊1;當(dāng)IF指令中的表達(dá)式為假時,被匯編的代碼段是程序塊2。
在一個條件結(jié)構(gòu)中,僅有一個代碼段被匯編,其它的則被忽略。
2、6
宏處理操作
在源程序中,如果有一段程序需要多次使用,為使程序不重復(fù)書寫這段程序,可用宏定義把所需要重復(fù)出現(xiàn)的程序塊定義成宏指令,此后在宏指令出現(xiàn)的地方,宏匯編程序總是自動地把它們替換成相應(yīng)的代碼段。
(1
宏指令格式
[
宏指令名
]
MACRO
[形式參數(shù),。。。]
代碼段
ENDM
在宏定義中,使用了“形式參數(shù)“,它們引用宏指令時被給出的一些名字或數(shù)值(實在參數(shù)所替換。使用形式參數(shù)給宏指令帶來了很大的靈活性。
(2宏調(diào)用格式
[
宏指令名
]
[實在參數(shù),。。。]
注意:1、當(dāng)有兩個以上的實參數(shù)時,它們之間要用逗號,空格或列表符隔開。
2、實參數(shù)項將對應(yīng)替換宏指令中形式參數(shù)。如果形式參數(shù)為標(biāo)號時,則在宏調(diào)用中,實參也應(yīng)為標(biāo)號,且要求實參是唯一的。如果宏定義中有自己的標(biāo)號,則在宏調(diào)用時,匯編程序自動地把標(biāo)號變成唯一的標(biāo)號。
2、7
其他
(1
替換名
ALTNAME
功能:
這一偽指令用來自定義名字,以替換源程序中原來的保留字,替換的保留字均可等效地用于子程序中。
格式:
ALTNAME
保留字
自定義名
注意:
自定義名與保留字之間首字符必須相同。
(2
附加文件的鏈結(jié)
INCLUDE
功能:
利用此偽指令可將一個源文件插入到當(dāng)前源文件中一起匯編,最終成為一個完整的源程序。
格式:
INCLUDE
[
驅(qū)動器名:
]
[
路徑名
]
文件名
注意:1、文件名中若沒有擴(kuò)展名,則系統(tǒng)默認(rèn)是。ASM(該文件必須是能打開的。
2、被插入的源程序中不能包含END偽指令,否則匯編會停止運(yùn)行。被鏈接文件的每一行,在程序清單中以“I“開頭。
3、鏈接偽指令可有8級嵌套,
若要求嵌套的多,
則要修改
DOS
中的
CONFIG。SYS文件的FILES參數(shù)。
3
宏匯編運(yùn)行
3、1
系統(tǒng)運(yùn)行環(huán)境
ASM-51宏匯編要在IBM-PC及其兼容機(jī)上運(yùn)行(至少128K字節(jié)的RAM;具有一個軟驅(qū)動器或硬驅(qū)動器,采用ANSI標(biāo)準(zhǔn)終端(包括鍵盤,顯示控制器,打印機(jī),至少一個RS-232異步通訊接口。軟件有PC-DOS,MS-DOS
2。0
以上版本,ASM_51系統(tǒng)。
3、2
宏匯編程序的運(yùn)行
以
8051
宏匯編為例,在DOS系統(tǒng)的提示符下鍵入
A>
ASM51
文件名。ASM
等錯誤的個數(shù)出現(xiàn)后
,鍵入
變返回到DOS提示符下。8051的宏匯編與此相似。
4
匯編的使用
使用ASM-51宏匯編是將8051源程序匯編生成列表輸出文件和目標(biāo)代碼文件,供模擬/調(diào)試時使用。我們使用的宏匯編完全采用Inter標(biāo)準(zhǔn)助記符和行格式,因此在編寫源程序時,可以使用宏匯編中的偽指令,
以增加源程序的運(yùn)行速度和可讀性。也可以直接用
Inter
標(biāo)準(zhǔn)助記符來編寫源程序。再經(jīng)過ASM-51宏匯編進(jìn)行匯編,便可得到列表輸出文件和目標(biāo)代碼文件。
匯編的格式如下:
>
ASM51
文件名。ASM
[
可選項
]
其中可選項為:
/L,
/H,
/S,
/P,
/N
/L
表示源程序匯編后不生成列表冊輸出文件(.LST,只顯示在屏幕上。
/H
表示源程序匯編后不生成目標(biāo)代碼文件(.HEX。
/S
表示源程序匯編后不生成符號表。
/P
表示源程序匯編后生成符號表。
/N
表示源程序匯編后,程序是連續(xù)的顯示。
如果沒有選擇項,則表示產(chǎn)生列表輸出文件和目標(biāo)代碼文件,且在LST文件后面列出符號表。
生成的目標(biāo)代碼便可以進(jìn)行模擬/調(diào)試,如果在模擬/調(diào)試中發(fā)現(xiàn)錯誤,則源程序要經(jīng)過修改,重新匯編,然后再進(jìn)行模擬/調(diào)試,直到完全正確。
若程序匯編過程中有錯誤,則給出出錯信息(出錯信息見附錄。
生成的目標(biāo)代碼可以進(jìn)行模擬/調(diào)試/燒寫。
附錄
ASM-51
匯編出錯信息表
1
Address
Out
of
Range
一個被計值的目標(biāo)地址超出了當(dāng)前語句的范圍。
2
Badly
Formed
Argument
數(shù)字規(guī)定的類型中有非法數(shù)字存在。
3
Illefal
Equale
有不允許的類型約定。
4
Label
Name
Conflicts
With
Symbol
Name
在程序中有兩個符號相同。
5
Label
Address
Changed
On
Pass
2。
源程序在此錯誤之前,還有一些錯誤。
6
Missing
Argument
in
Expression
表達(dá)式中算術(shù)運(yùn)算符后面沒有操作數(shù)。
7
Missing
END
Statrment
匯編的源程序結(jié)尾未發(fā)現(xiàn)END語句。
8
Multiply
Defined
Label
源程序中定義了兩個標(biāo)號。
9
Unbalanced
Parentheses
表達(dá)式中多余或缺少括號。
10
Undefined
Symbol
語句中的符號名可能拼錯或未被定義。
11
Unrecognized
Statemen
or
Undefined
Argument
未定義參數(shù)的指令或代碼。
12
&#118alue
Out
of
Range
有一個非法的值來說明一個有著可能值限制的語句。
MCS-51匯編語言指令集2007年04月29日星期日下午03:30MCS-51匯編語言指令集
符號定義表
符號
含義
Rn
R0~R7寄存器n=0~7
Direct
直接地址,內(nèi)部數(shù)據(jù)區(qū)的地址RAM(00H~7FH
SFR(80H~FFHB,ACC,PSW,IP,P3,IE,P2,SCON,P1,TCON,P0
@Ri
間接地址Ri=R0或R1
8051/31RAM地址(00H~7FH
8052/32RAM地址(00H~FFH
#data
8位常數(shù)
#data16
16位常數(shù)
Addr16
16位的目標(biāo)地址
Addr11
11位的目標(biāo)地址
Rel
相關(guān)地址
bit
內(nèi)部數(shù)據(jù)RAM(20H~2FH,特殊功能寄存器的直接地址的位
2
指令介紹
指令
字節(jié)
周期
動作說明
算數(shù)運(yùn)算指令
1.ADDA,Rn
1
1
將累加器與寄存器的內(nèi)容相加,結(jié)果存回累加器
2.ADDA,direct
2
1
將累加器與直接地址的內(nèi)容相加,結(jié)果存回累加器
3.ADDA,@Ri
1
1
將累加器與間接地址的內(nèi)容相加,結(jié)果存回累加器
4.ADDA,#data
2
1
將累加器與常數(shù)相加,結(jié)果存回累加器
5.ADDCA,Rn
1
1
將累加器與寄存器的內(nèi)容及進(jìn)位C相加,結(jié)果存回累加器
6.ADDCA,direct
2
1
將累加器與直接地址的內(nèi)容及進(jìn)位C相加,結(jié)果存回累加器
7.ADDCA,@Ri
1
1
將累加器與間接地址的內(nèi)容及進(jìn)位C相加,結(jié)果存回累加器
8.ADDCA,#data
2
1
將累加器與常數(shù)及進(jìn)位C相加,結(jié)果存回累加器
9.SUBBA,Rn
1
1
將累加器的值減去寄存器的值減借位C,結(jié)果存回累加器
10.SUBBA,direct
2
1
將累加器的值減直接地址的值減借位C,結(jié)果存回累加器
11.SUBBA,@Ri
1
1
將累加器的值減間接地址的值減借位C,結(jié)果存回累加器
12.SUBBA,0data
2
1
將累加器的值減常數(shù)值減借位C,結(jié)果存回累加器
13.INCA
1
1
將累加器的值加1
14.INCRn
1
1
將寄存器的值加l
15.INCdirect
2
1
將直接地址的內(nèi)容加1
16.INC@Ri
1
1
將間接地址的內(nèi)容加1
17.INCDPTR
1
1
數(shù)據(jù)指針寄存器值加1
說明:將16位的DPTR加1,當(dāng)DPTR的低字節(jié)(DPL從FFH溢出至00H時,會使高字節(jié)(DPH加1,不影響任何標(biāo)志位
18.DECA
1
1
將累加器的值減1
19.DECRn
1
1
將寄存器的值減1
20.DECdirect
2
1
將直接地址的內(nèi)容減1
21.DEC@Ri
1
1
將間接地址的內(nèi)容減1
22.MULAB
1
4
將累加器的值與B寄存器的值相乘,乘積的低位字節(jié)存回累加器,高位字節(jié)存回B寄存器
說明:將累加器A和寄存器B內(nèi)的無符號整數(shù)相乘,產(chǎn)生16位的積,低位字節(jié)存入A,高位字節(jié)存入B寄存器。如果積大于FFH,則溢出標(biāo)志位(OV被設(shè)定為1,而進(jìn)位標(biāo)志位為0
23.DIVAB
1
4
將累加器的值除以B寄存器的值,結(jié)果的商存回累加器,余數(shù)存回B寄存器
說明:無符號的除法運(yùn)算,將累加器A除以B寄存器的值,商存入A,余數(shù)存入B。執(zhí)行本指令后,進(jìn)位位(C及溢出位(OV被清除為0
24.DAA
1
1
將累加器A作十進(jìn)制調(diào)整,
若(A3-0>9或(AC=1,則(A3-0←(A3-0+6
若(A7-4>9或(C=1,則(A7-4←(A7-4+6
邏輯運(yùn)算指令
25.ANLA,Rn
1
1
將累加器的值與寄存器的值做AND的邏輯判斷,結(jié)果存回累加器
26.ANLA,direct
2
1
將累加器的值與直接地址的內(nèi)容做AND的邏輯判斷,結(jié)果存回累加器
27.ANLA,@Ri
1
1
將累加器的值與間接地址的內(nèi)容做AND的邏輯判斷,結(jié)果存回累加器
28.ANLA,#data
2
1
將累加器的值與常數(shù)做AND的邏輯判斷,結(jié)果存回累加器
29.ANLdirect,A
2
1
將直接地址的內(nèi)容與累加器的值做AND的邏輯判斷,結(jié)果存回該直接地址
30.ANLdirect,#data
3
2
將直接地址的內(nèi)容與常數(shù)值做AND的邏輯判斷,結(jié)果存回該直接地址
31.ORLA,Rn
1
1
將累加器的值與寄存器的值做OR的邏輯判斷,結(jié)果存回累加器
32.ORLA,direct
2
1
將累加器的值與直接地址的內(nèi)容做OR的邏輯判斷,結(jié)果存回累加器
33.ORLA,@Ri
1
1
將累加器的值與間接地址的內(nèi)容做OR的邏輯判斷,結(jié)果存回累加器
34.ORLA,#data
2
1
將累加器的值與常數(shù)做OR的邏輯判斷,結(jié)果存回累加器
35.ORLdirect,A
2
1
將直接地址的內(nèi)容與累加器的值做OR的邏輯判斷,結(jié)果存回該直接地址
36.ORLdirect,#data
3
2
將直接地址的內(nèi)容與常數(shù)值做OR的邏輯判斷,結(jié)果存回該直接地址
37.XRLA,Rn
1
1
將累加器的值與寄存器的值做XOR的邏輯判斷,結(jié)果存回累加器
38.XRLA,direct
2
1
將累加器的值與直接地址的內(nèi)容做XOR的邏輯判斷,結(jié)果存回累加器
39.XRLA,@Ri
1
1
將累加器的值與間接地扯的內(nèi)容做XOR的邏輯判斷,結(jié)果存回累加器
40.XRLA,#data
2
1
將累加器的值與常數(shù)作XOR的邏輯判斷,結(jié)果存回累加器
41.XRLdirect,A
2
1
將直接地址的內(nèi)容與累加器的值做XOR的邏輯判斷,結(jié)果存回該直接地址
42.XRLdirect,#data
3
2
將直接地址的內(nèi)容與常數(shù)的值做XOR的邏輯判斷,結(jié)果存回該直接地址
43.CLRA
1
1
清除累加器的值為0
44.CPLA
1
1
將累加器的值反相
45.RLA
1
1
將累加器的值左移一位
46.RLCA
1
1
將累加器含進(jìn)位C左移一位
47.RRA
1
1
將累加器的值右移一位
48.RRCA
1
1
將累加器含進(jìn)位C右移一位
49.SWAPA
1
1
將累加器的高4位與低4位的內(nèi)容交換。(A3-0←(A7-4
數(shù)據(jù)轉(zhuǎn)移指令
50.MOVA,Rn
1
1
將寄存器的內(nèi)容載入累加器
51.MOVA,direct
2
1
將直接地址的內(nèi)容載入累加器
52.MOVA,@Ri
1
1
將間接地址的內(nèi)容載入累加器
53.MOVA,#data
2
1
將常數(shù)載入累加器
54.MOVRn,A
1
1
將累加器的內(nèi)容載入寄存器
55.MOVRn,direct
2
2
將直接地址的內(nèi)容載入寄存器
56.MOVRn,gdata
2
1
將常數(shù)載入寄存器
57.MOVdirect,A
2
1
將累加器的內(nèi)容存入直接地址
58.MOVdirect,Rn
2
2
將寄存器的內(nèi)容存入直接地址
59.MOVdirect1,direct2
3
2
將直接地址2的內(nèi)容存入直接地址1
60.MOVdirect,@Ri
2
2
將間接地址的內(nèi)容存入直接地址
61.MOVdirect,#data
3
2
將常數(shù)存入直接地址
62.MOV@Ri,A
1
1
將累加器的內(nèi)容存入某間接地址
63.MOV@Ri,direct
2
2
將直接地址的內(nèi)容存入某間接地址
64.MOV@Ri,#data
2
1
將常數(shù)存入某間接地址
65.MOVDPTR,#data16
3
2
將16位的常數(shù)存入數(shù)據(jù)指針寄存器
66.MOVCA,@A+DPTR
1
2
(A←((A+(DPTR
累加器的值再加數(shù)據(jù)指針寄存器的值為其所指定地址,將該地址的內(nèi)容讀入累加器
67.MOVCA,@A+PC
1
2
(PC←(PC+1;(A←((A+(PC累加器的值加程序計數(shù)器的值作為其所指定地址,將該地址的內(nèi)容讀入累加器
68.MOVXA,@Ri
1
2
將間接地址所指定外部存儲器的內(nèi)容讀入累加器(8位地址
69.MOVXA,@DPTR
1
2
將數(shù)據(jù)指針?biāo)付ㄍ獠看鎯ζ鞯膬?nèi)容讀入累加器(16位地址
70.MOVX@Ri,A
1
2
將累加器的內(nèi)容寫入間接地址所指定的外部存儲器(8位地址
71.MOVX@DPTR,A
1
2
將累加器的內(nèi)容寫入數(shù)據(jù)指針?biāo)付ǖ耐獠看鎯ζ?16位地址
72.PUSHdirect
2
2
將直接地址的內(nèi)容壓入堆棧區(qū)
73.POPdirect
2
2
從堆棧彈出該直接地址的內(nèi)容
74.XCHA,Rn
1
1
將累加器的內(nèi)容與寄存器的內(nèi)容互換
75.XCHA,d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)品全生命周期合作協(xié)議
- 互聯(lián)網(wǎng)行業(yè)刑事和解協(xié)議書
- 買賣車輛合同書
- 個人租房合同樣本租客專用版
- 人類學(xué)實習(xí)生實習(xí)合同書
- 臨時工勞動合同文化娛樂
- 倉庫建設(shè)土方挖掘協(xié)議書
- 乳制品加工衛(wèi)生感染考核標(biāo)準(zhǔn)
- 交通運(yùn)營管理托管合伙協(xié)議書
- 傳媒實習(xí)勞動合同樣本
- 2024年時事政治考點大全(173條)
- 書籍小兵張嘎課件
- 生鮮豬肉銷售合同模板
- 2024年經(jīng)濟(jì)師考試-中級經(jīng)濟(jì)師考試近5年真題集錦(頻考類試題)帶答案
- 2024年黑龍江哈爾濱市通河縣所屬事業(yè)單位招聘74人(第二批)易考易錯模擬試題(共500題)試卷后附參考答案
- 私募基金管理人-廉潔從業(yè)管理準(zhǔn)則
- 醫(yī)療器械質(zhì)量方針和目標(biāo)管理制度
- 北京市城管執(zhí)法行政處罰裁量區(qū)域分類管理臺帳
- 5.1+走近老師(課件)2024-2025學(xué)年七年級道德與法治上冊
- 退役軍人事務(wù)員職業(yè)技能理論考試復(fù)習(xí)題及答案
- 農(nóng)村農(nóng)產(chǎn)品加工行業(yè)市場需求分析及未來三年行業(yè)預(yù)測報告
評論
0/150
提交評論