51單片機(jī)匯編指令及偽指令小結(jié)
51單片機(jī)匯編指令小結(jié)
一、數(shù)據(jù)傳送類(lèi)指令MOV用法MOVA,RnMOVA,@RiMOVA,#dataMOVA,directMOVRn,AMOVRn,#dataMOVRn,directMOV@Ri,AMOV@Ri,#dataMOV@Ri,directMOVdirect,AMOVdirect,@RiMOVdirect,Rn功能寄存器送累加器立即數(shù)送累加器直接尋址單元送累加器累加器送寄存器立即數(shù)送寄存器直接尋址單元送寄存器字節(jié)數(shù)122122周期11111121121222222222221111XCH不能出現(xiàn)兩個(gè)直接尋址地址R0和R1只能尋址片內(nèi)低128字節(jié)或者片外低256字節(jié)MOVX必須通過(guò)A與外部RAM傳值,另一個(gè)操作數(shù)必須用寄存器間接尋址MOVC必須通過(guò)A進(jìn)行注意事項(xiàng)MOV指令中不能出現(xiàn)兩個(gè)工作寄存器間接寄存器尋址只能用R0和R1R0和R1只能尋址片內(nèi)低128字節(jié)或者片外低256字節(jié)(SFR不能通過(guò)工作寄存器尋址)DPTR為唯一16位寄存器內(nèi)部RAM單元送累加器1累加器送內(nèi)部RAM單元1立即數(shù)送內(nèi)部RAM單元2直接尋址單元送內(nèi)部RAM單元累加器送直接尋址單元內(nèi)部RAM單元送直接尋址單元寄存器送直接尋址單元址單元223223MOVdirect,#data立即數(shù)送直接尋址單元MOVdirect2,direct1直接尋址單元送直接尋MOVDPTR,#data1616位立即數(shù)送數(shù)據(jù)指針3MOVXMOVXA,@Ri外部RAM單元送累加器1(8位地址)MOVXA,@DPTRMOVX@Ri,AMOVX@DPTR,AMOVCMOVCAA+DPTRXCHXCHD,@外部RAM單元送累加器(16位地址)累加器送外部RAM單元(8位地址)累加器送外部RAM單元(16位地址)查表數(shù)據(jù)送累加器(DPTR為基址)查表數(shù)據(jù)送累加器(PC為基址)累加器與寄存器交換累加器與內(nèi)部RAM單元交換累加器與直接尋址單元交換累加器與內(nèi)部RAM單元111111121MOVCA,@A+PCXCHA,RnXCHA,@RiXCHA,directXCHDA,@Ri低4位交換PUSH&POPPOPdirectPUSHdirect棧頂彈出指令直接尋址單元直接尋址單元壓入棧頂2222用ACC表示累加器堆棧在用戶RAM區(qū)
二、算術(shù)運(yùn)算類(lèi)指令指令A(yù)DD用法ADDA,RnADDA,@RiADDA,directADDA,#dataADDCADDCA,RnADDCA,@RiADDCA,#dataADDCA,directINCINCAINCRnINCdirectINC@Ri功能累加器加寄存器累加器加內(nèi)部RAM單元累加器加直接尋址單元累加器加立即數(shù)累加器加寄存器和進(jìn)位標(biāo)志累加器加內(nèi)部RAM單元和進(jìn)位標(biāo)志累加器加立即數(shù)和進(jìn)位標(biāo)志累加器加直接尋址單元和進(jìn)位標(biāo)志累加器加1寄存器加1直接尋址單元加1內(nèi)部RAM單元加1字節(jié)數(shù)112211221121周期111111111111注意事項(xiàng)ADD可以產(chǎn)生進(jìn)位,但不考慮進(jìn)位加法類(lèi)指令只能通過(guò)A進(jìn)行加法類(lèi)的和超過(guò)8位時(shí),CY置1,OV置1
ADDC可以產(chǎn)生進(jìn)位,也考慮進(jìn)位除了INCA改變奇偶標(biāo)識(shí)位,其他都不改變PSW(不改變CY)INCDPTRDASUBBDAASUBBA,RnSUBBA,@RiSUBBA,#dataSUBBA,directDECDECADECRnDEC@RiDECdirectMUL&MULABDIV數(shù)據(jù)指針加1十進(jìn)制調(diào)整累加器減寄存器和進(jìn)位標(biāo)志累加器減內(nèi)部RAM單元和進(jìn)位標(biāo)志累加器減立即數(shù)和進(jìn)位標(biāo)志累加器減直接尋址單元和進(jìn)位標(biāo)志累加器減1寄存器減1內(nèi)部RAM單元減1直接尋址單元減1累加器乘寄存器B1111221112121111111114結(jié)果存儲(chǔ)為BAA、B為單字節(jié)無(wú)符號(hào)數(shù)乘積大于255時(shí)(結(jié)果中B不為0),OV置1CY總為0結(jié)果儲(chǔ)存為:商A,余數(shù)B除數(shù)為0時(shí),OV置1與INC類(lèi)似DIVAB累加器除以寄存器B14三、邏輯運(yùn)算類(lèi)指令指令A(yù)NL用法ANLA,RnANLA,@RiANLA,#dataANLA,directANLdirect,AANLdirect,#dataORLORLA,RnORLA,@RiORLA,#dataORLA,direct功能累加器與寄存器累加器與內(nèi)部RAM單元累加器與立即數(shù)累加器與直接尋址單元直接尋址單元與累加器直接尋址單元與立即數(shù)累加器或寄存器累加器或內(nèi)部RAM單元累加器或立即數(shù)累加器或直接尋址單字節(jié)數(shù)1122231122周期注意事項(xiàng)111111111元ORLdirect,AORLdirect,#dataXRLXRLA,RnXRLA,@RiXRLA,#dataXRLA,directXRLdirect,AXRLdirect,#dataRLARRARLCARRCACPLACLRA直接尋址單元或累加器直接尋址單元或立即數(shù)累加器異或寄存器累加器異或內(nèi)部RAM單元累加器異或立即數(shù)累加器異或直接尋址單元直接尋址單元異或累加器直接尋址單元異或立即數(shù)累加器左循環(huán)移位累加器右循環(huán)移位累加器連進(jìn)位標(biāo)志左循環(huán)移位累加器連進(jìn)位標(biāo)志右循環(huán)移位累加器取反累加器清零2311222311111111111112111111邊上一位移入CY,另一側(cè)一位從CY移入ANL、ORL、XRL均可以對(duì)接口進(jìn)行操作
四、控制轉(zhuǎn)移類(lèi)指令類(lèi)指令用法ACALLaddr11功能2KB范圍內(nèi)絕對(duì)調(diào)用字節(jié)數(shù)2周期注意事項(xiàng)2Addr0~10賦給PC0~10PC11~15不變調(diào)用時(shí),地址分兩次壓棧調(diào)用時(shí),地址分兩次壓棧A+DPTR賦給PCLCALLaddr16AJMPaddr11LJMPaddr16SJMPrelJMP@A+DPTRRETRET1JCrel64kb范圍內(nèi)長(zhǎng)調(diào)用2KB范圍內(nèi)絕對(duì)轉(zhuǎn)移64KB范圍內(nèi)長(zhǎng)轉(zhuǎn)移-128B~127B相對(duì)短轉(zhuǎn)移相對(duì)長(zhǎng)轉(zhuǎn)移子程序返回中斷返回判斷CY=1轉(zhuǎn)移323211122222222JNCrelJZrelJNZrelCJNEA,#data,relCJNEA,direct,relCJNERn,#data,rel判斷CY=0轉(zhuǎn)移累加器為零轉(zhuǎn)移累加器非零轉(zhuǎn)移累加器與立即數(shù)不等轉(zhuǎn)移累加器與直接尋址單元不等轉(zhuǎn)移寄存器與立即數(shù)不等轉(zhuǎn)移22233332222222221影響CY:前數(shù)>=后數(shù),CY=0,反之CY=1CJNE@Ri,#data,relRAM單元與立即數(shù)不等轉(zhuǎn)移
五、位操作類(lèi)指令MOVMOVC,bitMOVbit,C直接尋址位送CC送直接尋址DJNZRn,relDJNZdirect,relNOP直接尋址單元減1不為零轉(zhuǎn)移空操作寄存器減1不為零轉(zhuǎn)移2312212Bit為RAM中20H~2FH中128個(gè)可尋址位,或SFR中可尋址儲(chǔ)存單元必須通過(guò)C傳送SETBJBbit,relJNBbit,relJBCbit,relSETBCSETBbit(bit)為1則轉(zhuǎn)移并清零3331222211邏輯操作與字節(jié)中的一致
51匯編常用偽指令
1.ORG16位地址:此指令用在原程序或數(shù)據(jù)塊的開(kāi)始,指明此語(yǔ)句后面目標(biāo)程序或數(shù)據(jù)塊存放的起始地址;
2.【標(biāo)號(hào)】DB字節(jié)數(shù)據(jù)項(xiàng)表:獎(jiǎng)項(xiàng)表中的字節(jié)數(shù)據(jù)存放到從標(biāo)號(hào)開(kāi)始的連續(xù)字節(jié)單元中。例如:SEG:DB88H,100,``7",``C";
3.【標(biāo)號(hào)】DW雙字節(jié)數(shù)據(jù)項(xiàng)表:定義16位地址表,16地址按低位地址存低位字節(jié),高位地址存高位字節(jié)。例如:TAB:DW1234H,7BH
名字EQU表達(dá)式或名字=表達(dá)式:用于給一個(gè)表達(dá)式賦值或給字符串起名字。之后名字可用作程序地址,數(shù)據(jù)地址或立即數(shù)地址使用。名字必須是一字母開(kāi)頭的字母數(shù)據(jù)串。例如:COUNT=10或SPACEEQU10H
5.名字DATA直接字節(jié)地址:給8位內(nèi)部或外部RAM單元起個(gè)名字,名字必須是一字母開(kāi)頭的字母數(shù)據(jù)串。同一單元可起多個(gè)名字。例如:ERRORDATA80H
6.XDATA直接字節(jié)地址:給8位外部RAM起個(gè)名字,名字規(guī)定同DATA偽指令。例如:IO_POTRXDATAOCF04H
7.名字Bit指令:給一位可尋址的位單元起個(gè)名字,規(guī)定同DATA偽指令。例如:SWTBIT30H
8.【標(biāo)號(hào)】END:指出源程序到此結(jié)束,匯編對(duì)其后的程序語(yǔ)句不予理睬。源程序只在主程序最后使用一個(gè)END。
注:DATA和EQU的區(qū)別在于用DATA定義的字符名稱(chēng)作為標(biāo)號(hào)登記在符號(hào)表中,故可先使用后定義;而用EQU定義的字符名稱(chēng)必須先定義后使用,其原因是EQU不定義在符號(hào)表中。
擴(kuò)展閱讀:小賢整理51單片機(jī)匯編偽指令集合
51單片機(jī)匯編偽指令集合
1、ALTNAME
功能:這一偽指令用來(lái)自定義名字,以替換源程序中原來(lái)的保留字,替換的保留字均可等效地用于子程序中。格式:
ALTNAME保留字自定義名
注意:自定義名與保留字之間首字符必須相同。
1、BIT
功能:指令用于將一個(gè)位地址賦給指定的符號(hào)名。格式:
符號(hào)名BIT位地址
經(jīng)BIT指令定義過(guò)的位符號(hào)名不能更改。例如:
X_ONBIT60H;定義一個(gè)絕對(duì)位地址X_OFFBIT24h.2;定義一個(gè)絕對(duì)位地址
2、BSEG
功能:絕對(duì)選擇指令指令BSEG選擇絕對(duì)位尋址數(shù)據(jù)段格式:
BSEG[AT絕對(duì)地址表達(dá)式]
3、CODE
功能:用于將程序存儲(chǔ)器ROM地址賦給指定的符號(hào)名。格式:
符號(hào)名CODE表達(dá)式例如:
RESETCODE00H
4、CSEG
功能:絕對(duì)選擇指令CSEG選擇絕對(duì)代碼段;格式:
CSEG[AT絕對(duì)地址表達(dá)式]
5、DATA(BYTE)
功能:指令用于將一個(gè)內(nèi)部RAM的地址賦給指定的符號(hào)名格式:
符號(hào)名DATA表達(dá)式
數(shù)值表達(dá)式的值應(yīng)在0~255之間,表達(dá)式必須是一個(gè)簡(jiǎn)單再定位表達(dá)式。例如:REGBUFDATA(BYTE)40HPORT0DATA(BYTE)80H
DATA與BYTE的區(qū)別:DATA與BYTE是相類(lèi)似的偽指令。當(dāng)程序運(yùn)行到DATA偽指令定義的符號(hào)名時(shí),該符號(hào)名將被顯示;而由BYTE定義的符號(hào)名不被顯示。
6、DB
功能:DB偽指令用于定義一個(gè)連續(xù)的存儲(chǔ)區(qū),給該存儲(chǔ)區(qū)的存儲(chǔ)單元賦值。該偽指令的參數(shù)即為存儲(chǔ)單元的值,在表達(dá)式中對(duì)變?cè)獋(gè)數(shù)沒(méi)有限制,只要此條偽指令能容納在源程序的一行內(nèi)。格式:
標(biāo)號(hào):DB表達(dá)式
只要表達(dá)式不是字符串,每一表達(dá)式值都被賦給一個(gè)字節(jié)。計(jì)算表達(dá)式值時(shí)按16位處理,但其結(jié)果只取低8位,若多個(gè)表達(dá)式出現(xiàn)在一個(gè)DB偽指令中,它們必須以逗號(hào)分開(kāi)。表達(dá)式中有字符串時(shí),以單引號(hào)“"”作分隔符,每個(gè)字符占一個(gè)字節(jié),字符串不加改變地被存在各字節(jié)中,并不將小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母。例如:DB00H01H03H46HDB"Thisisademo!"
7、DBIT
功能:在內(nèi)部數(shù)據(jù)區(qū)的BIT段以位為單位保留存儲(chǔ)空間。格式:[標(biāo)號(hào):]DBIT數(shù)值表達(dá)式其操作類(lèi)似于DB。
8、DS
功能:DS為定義存儲(chǔ)內(nèi)容的偽指令,用它定義一個(gè)存儲(chǔ)區(qū),并用指定的參數(shù)填滿該存儲(chǔ)區(qū)。DS偽指令包含兩個(gè)變?cè),第一個(gè)變?cè)x了存儲(chǔ)區(qū)的長(zhǎng)度的字節(jié)數(shù),在匯編時(shí),匯編程序?qū)⑻^(guò)這些單元把其它指令匯編在這些字節(jié)之后,因此在使用DS偽指令時(shí)第一個(gè)變?cè)豢苫盍Φ诙䝼(gè)變?cè)硎驹谶@些單元中真入什么值,第二個(gè)變?cè)梢曰盍盍r(shí)這些字節(jié)將不處理。下例中0173處有一條DS9,則空出9個(gè)字節(jié),下一第指令被匯編到017C處;在017C處空出1BH個(gè)單元,在這些字節(jié)中被27H所填充。格式:
標(biāo)號(hào):DS表達(dá)式1,表達(dá)式2
表達(dá)式1定義了存儲(chǔ)區(qū)的長(zhǎng)度(以字節(jié)為單位)。這個(gè)變?cè)荒苁÷。表達(dá)式2是可選擇的,它的值低8位用以填入所定義的存儲(chǔ)區(qū)。若省略則這部分存儲(chǔ)單元不處理。例如:
000004INCA0001DS9000A04INCA000BDS1BH,27H002604INCA
9、DSEG
功能:絕對(duì)選擇指令DSEG內(nèi)部絕對(duì)數(shù)據(jù)段格式:
DSEG[AT絕對(duì)地址表達(dá)式]
10、DW功能:DW為以字節(jié)為單元(十六位二進(jìn)制)來(lái)給一個(gè)的存儲(chǔ)區(qū)賦值。格式:
標(biāo)號(hào):DW表達(dá)式例如:
00003035D46BDW12341,54379,10110100101110B
11、END
功能:END語(yǔ)句標(biāo)志源代碼的結(jié)束,匯編程序遇到END語(yǔ)句即停止運(yùn)行。若沒(méi)有END語(yǔ)句,匯編將報(bào)錯(cuò)。END語(yǔ)句有一個(gè)參數(shù),可以是數(shù)值0,也可以是表達(dá)式。格式:
標(biāo)號(hào):END表達(dá)式
它的值就是程序的地址并且作為一個(gè)特殊的記錄寫(xiě)入HEX文件。若這個(gè)表達(dá)式省略,HEX文件中其值就是0。
12、EQU(=)
功能:存器名賦給一個(gè)指定符號(hào)名。格式:
符號(hào)名EQU(=)表達(dá)式符號(hào)名EQU(=)寄存器名
經(jīng)過(guò)EQU指令賦值的符號(hào)可在程序的其它地方使用,以代替其賦值。例如:
MAXEQU201*
則在程序的其它地方出現(xiàn)MAX,就用201*代替。
13、EXTRN
功能:EXTRN是與PUBLIC配套使用的,要調(diào)用其它模塊的函數(shù),就必須先在模塊前聲明。格式:
EXTRN段類(lèi)型(符號(hào),符號(hào))例如:
EXTRNCODE(TONGXING,ZHUANHUAN)調(diào)用外部TONGXING和ZHUANHUAN程序。
14、IDATA
功能:IDATA指令用于將一個(gè)間接尋址的內(nèi)部RAM地址賦給指定的符號(hào)名。格式:
符號(hào)名IDATA表達(dá)式例如:
FULLERIDATA60H
15、IF
格式:
IF表達(dá)式
[程序塊1][ELSE]
[程序塊2]ENDIF
當(dāng)IF指令中的表達(dá)式為真時(shí),被匯編的代碼段是程序塊1;當(dāng)IF指令中的表達(dá)式為假時(shí),被匯編的代碼段是程序塊2。在一個(gè)條件結(jié)構(gòu)中,僅有一個(gè)代碼段被匯編,其它的則被忽略。
16、INCLUDE
功能:利用此偽指令可將一個(gè)源文件插入到當(dāng)前源文件中一起匯編,最終成為一個(gè)完整的源程序。格式:
INCLUDE[驅(qū)動(dòng)器名:][路徑名]文件名
注意:1、文件名中若沒(méi)有擴(kuò)展名,則系統(tǒng)默認(rèn)是。ASM(該文件必須是能打開(kāi)的)。
2、被插入的源程序中不能包含END偽指令,否則匯編會(huì)停止運(yùn)行。被鏈接文件的每一行,在程序清單中以“I“開(kāi)頭。
3、鏈接偽指令可有8級(jí)嵌套,若要求嵌套的多,則要修改DOS中的CONFIG。SYS文件的FILES參數(shù)。
17、ISEG
功能:絕對(duì)選擇指令I(lǐng)SEG內(nèi)部間接尋址絕對(duì)數(shù)據(jù)段idata格式:
ISEG[AT絕對(duì)地址表達(dá)式]
18、MACRO
宏指令格式
[宏指令名]MACRO[形式參數(shù),。。。]代碼段ENDM宏調(diào)用格式
[宏指令名][實(shí)在參數(shù),。。。]
19、LIST
功能:LIST偽指令使匯編時(shí)主生程序清單,但即使不用該指令,匯編也會(huì)自動(dòng)產(chǎn)生清單。但如果使用了NOLIST偽指令后需要繼續(xù)主生清單則必須使用LIST偽指令。格式:$LIST
20、NAME
功能:用來(lái)給當(dāng)前模塊命名。格式:NAME模塊名例如:NAMETIMER
定義一個(gè)模塊名為T(mén)IMER的模塊。
21、NOCODE
格式:
$NOCODE
NOCODE偽指令使得在匯編時(shí),條件匯編程序結(jié)構(gòu)中那些真值為假的條件不產(chǎn)生清單。有關(guān)條件匯編結(jié)構(gòu)在下面介紹。如果沒(méi)有這條偽指令,匯編將主生所有條件下的清單,不論其真值是否為真。但是假的條件,不產(chǎn)生目標(biāo)碼。而NOCODE偽指令使匯編清單中只列出那些由匯編程序用到的部分,因此,當(dāng)使用NOCODE偽指令時(shí),程序清單與源程序并非逐行對(duì)應(yīng)。
22、NOLIST
格式:$NOLIST功能:
NOLIST偽指令使匯編時(shí)不產(chǎn)生清單,所有包含此偽指令及在這條偽指令之后的語(yǔ)句都不進(jìn)入列表文件。當(dāng)不需要任何列表文件,并且不需要顯示程序清單時(shí),可以在啟動(dòng)匯編時(shí)不加.L附加項(xiàng),且在源代碼的第一行加上NOLIST指令。
使用NOLIST偽指令與附加項(xiàng)/L不同之處是NOLIST偽指令可加在源程序中,與LIST偽指令配合使用,使源程序中某些部分不產(chǎn)生清單。而不加附加項(xiàng)/L則不產(chǎn)生任何程序清單。不過(guò),不管有無(wú)$NOLIST偽指令,程序在匯編時(shí)檢查到的錯(cuò)誤都將在屏幕上顯示出錯(cuò)的源代碼行及錯(cuò)誤信息
23、PAGE
功能:PAGE偽指令用于形成新的一中定義一面的行數(shù)。格式:
$PAGE表達(dá)式
若表達(dá)式缺省則開(kāi)始新的一頁(yè),若有表達(dá)式,則每頁(yè)行數(shù)重新定義。匯編開(kāi)始時(shí)頁(yè)長(zhǎng)為66行。一頁(yè)中除出頁(yè)外,剩余55行用于打印源程序,這一格式適用于標(biāo)準(zhǔn)打印紙。
如果變?cè)敌∮?6,頁(yè)內(nèi)可打印的源代碼行將相應(yīng)減少。頁(yè)長(zhǎng)最小值為12。若小于12時(shí),每頁(yè)內(nèi)除頁(yè)上只打印一行源程序。
頁(yè)長(zhǎng)變?cè)?6位字節(jié),因而每頁(yè)最長(zhǎng)可定義到65535行,這時(shí)分頁(yè)打印變?yōu)檫B續(xù)打印,在屏幕顯示程序清單或在卷筒紙上打印程序清單時(shí),常常使用連續(xù)打印,如果在啟動(dòng)匯編時(shí)用/N選項(xiàng),頁(yè)長(zhǎng)就是65535。
24、PUBLIC
功能:聲明可被其它模塊使用的公共函數(shù)名。格式:
PUBLIC符號(hào)[,符號(hào),符號(hào)[,]]
PUBLIC后可跟多個(gè)函數(shù)名,用逗號(hào)格開(kāi)。每個(gè)函數(shù)名都必須是在模塊內(nèi)定義過(guò)的。例如:
PUBLICINTER,_OUTER其中_OUTER可供C調(diào)用。
25、RSEG
功能:再定位段選擇指令為RSEG,用于選擇一個(gè)已在前面定義過(guò)的再定義段作為當(dāng)前段,格式:RSEG段名
段名必須是在前面聲明過(guò)的再定位段。例如:
DATASSEGMENTDATA:聲明一個(gè)再定位DATA段CODESSEGMENTCODE;聲明一個(gè)再定位CODE段BSEGAT60HRSEGCODES;選擇前面聲明的再定位CODE段作為當(dāng)前段。
26、SEGMENT
功能:SEGMENT指令用來(lái)聲明一個(gè)再定位段和一個(gè)可選的再定位類(lèi)型。格式:
再定位段型SEGMENT段類(lèi)型(再定位類(lèi)型)
段類(lèi)型用于指定所聲明的段將處的儲(chǔ)存器地址空間,可用的段類(lèi)型有CODE/XDATA/DATA/IDATA和BIT。例如:
FLAGSEGMENTBITPONITERSEGMENTIDATA
27、SET
功能:SET指令類(lèi)似于EQU指令,不同的是SET指令定義過(guò)的符號(hào)可重定義。格式:
符號(hào)名SET表達(dá)式符號(hào)名SET寄存器名例如:
MAXSET201*MAXSET3000
28、TTILE
功能:TITLE偽指令用于在列表文件頁(yè)頭建立一個(gè)標(biāo)題。格式:
$TITLE標(biāo)題行
這里標(biāo)量行就是將出現(xiàn)在頁(yè)頭的標(biāo)量與通常的字符串定義不同。這里標(biāo)量行不加引號(hào)。匯編從$TITLE之后的第一個(gè)可打印字符開(kāi)始,到回車(chē)符之間的字符串作為標(biāo)量標(biāo)量的最大長(zhǎng)度是60個(gè)字符,基標(biāo)量行省略,則標(biāo)題行為空行。若TITLE偽指令在一頁(yè),它說(shuō)明的標(biāo)量行包含在本頁(yè),否則,標(biāo)題將出現(xiàn)在下頁(yè)頁(yè)頭。
29、XDATA
功能:XDATA指令用于將一個(gè)外部RAM的地址賦給指定的符號(hào)名。格式:
符號(hào)名XDATA表達(dá)式例如:
RSEGXSEG1;選擇一個(gè)外部數(shù)據(jù)段ORG100H
MINGDS10;在標(biāo)號(hào)MING處保留10個(gè)字節(jié)HOURXDATAMING+5MUNITXDATAHOUR+5
30、XSEG
功能:絕對(duì)選擇指令XSEG外部絕對(duì)數(shù)據(jù)段xdata格下:XSEG[AT絕對(duì)地址表達(dá)式]
友情提示:本文中關(guān)于《51單片機(jī)匯編指令及偽指令小結(jié)》給出的范例僅供您參考拓展思維使用,51單片機(jī)匯編指令及偽指令小結(jié):該篇文章建議您自主創(chuàng)作。
來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。