第3章80C51的匯編語(yǔ)言與程序設(shè)計(jì)課件_第1頁(yè)
第3章80C51的匯編語(yǔ)言與程序設(shè)計(jì)課件_第2頁(yè)
第3章80C51的匯編語(yǔ)言與程序設(shè)計(jì)課件_第3頁(yè)
第3章80C51的匯編語(yǔ)言與程序設(shè)計(jì)課件_第4頁(yè)
第3章80C51的匯編語(yǔ)言與程序設(shè)計(jì)課件_第5頁(yè)
已閱讀5頁(yè),還剩69頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2023/12/61第3章80C51的指令系統(tǒng)匯編語(yǔ)言概述3.180C51的指令系統(tǒng)3.2數(shù)據(jù)傳送指令(29條)算數(shù)運(yùn)算指令(24條)邏輯運(yùn)算與循環(huán)類(lèi)指令(24條)控制轉(zhuǎn)移類(lèi)指令(17條)位操作類(lèi)指令(17條)偽操作類(lèi)指令80C51匯編語(yǔ)言的編程方法3.32023/12/623.1匯編語(yǔ)言概述3.1.1機(jī)器指令的字節(jié)編碼形式單字節(jié)指令(49條)機(jī)器指令:計(jì)算機(jī)能直接識(shí)別和執(zhí)行的指令。由操作碼和操作數(shù)組成。操作碼規(guī)定指令執(zhí)行的操作功能,操作數(shù)是指參與操作的數(shù)據(jù)。機(jī)器指令的字節(jié)編碼形式就是指機(jī)器指令以什么樣的二進(jìn)制碼形式存儲(chǔ)在ROM中。雙字節(jié)指令(45條)三字節(jié)指令(17條)2023/12/63

8位編碼僅為操作碼單字節(jié)指令(49條)位號(hào)76543210字節(jié)opcode如:INCA編碼為:00000100即:04H

8位編碼含操作碼和寄存器編碼位號(hào)76543210字節(jié)opcoderrr如:MOVA,R0編碼為:11101000即:E8H2023/12/64雙字節(jié)指令(45條)位號(hào)76543210字節(jié)opcodedata或direct三字節(jié)指令(17條)位號(hào)76543210字節(jié)opcodedata或directdata或direct如:MOVA,#50H編碼為:0111010001010000即:74H50H如:MOV20H,#50H編碼為:011101010010000001010000即:75H20H50H2023/12/65注意:操作碼不能缺少,表示指令碼的功能操作數(shù)個(gè)數(shù)可為:1、2、3個(gè)2個(gè)操作數(shù)的指令,目的操作數(shù)在左邊格式中的標(biāo)點(diǎn)符號(hào)都是英文符號(hào)一般格式3.1.2符號(hào)指令的書(shū)寫(xiě)格式[標(biāo)號(hào):]操作碼

[操作數(shù)1,][操作數(shù)2,][操作數(shù)3,][;注釋]2023/12/66非數(shù)字字符開(kāi)頭,后跟字母、數(shù)字、“-”、“?”等不能用已定義的保留字(指令助記符、偽指令等)后跟英文冒號(hào)“:”標(biāo)號(hào)(即符號(hào)地址)數(shù)據(jù):二進(jìn)制(B)十進(jìn)制(D或省略D)十六進(jìn)制(H),注意A~F開(kāi)頭時(shí)要加“0”ASCII碼,如‘A’,‘1245’操作數(shù)注釋英文分號(hào)“;”開(kāi)頭2023/12/67指令中出現(xiàn)的描述符號(hào)的含義Rn(n=0~7)-當(dāng)前工作寄存器組中的寄存器R0~R7之一Ri(i=0,1)-當(dāng)前工作寄存器組中的寄存器R0或R1@----------間址寄存器前綴,表示后面寄存器中數(shù)據(jù)為地址#data------8位立即數(shù)#data16-----16位立即數(shù)direct------片內(nèi)低128個(gè)RAM單元地址及SFR名稱(chēng)addr11------表示2KB范圍內(nèi)11位目的地址addr16------表示64KB范圍內(nèi)16位目的地址rel---------8位地址偏移量,范圍:-128~+127bit---------片內(nèi)RAM位地址、SFR的位地址或名稱(chēng)$----------當(dāng)前指令的首地址(×)------表示×地址單元或寄存器中的內(nèi)容/----------位操作數(shù)的取反操作前綴2023/12/6880C51單片機(jī)有7種尋址方式尋址方式:尋找操作數(shù)操作所在的位置(地址),把操作數(shù)取出來(lái)的方法。1、寄存器尋址 2、直接尋址3、寄存器間接尋址 4、立即尋址5、相對(duì)尋址 6、變址尋址7、位尋址3.1.280C51的尋址方式2023/12/691寄存器尋址操作數(shù)存放在工作寄存器中,指令中直接給出工作寄存器名稱(chēng)的尋址方式。操作數(shù)表示符號(hào)—

R0、R1、……R7【例】若(R0)=30H,

執(zhí)行MOVA,R0后,(A)=?2023/12/6102直接尋址在這種尋址方式中,操作數(shù)項(xiàng)給出的是參加運(yùn)算的操作數(shù)的地址。操作數(shù)表示符號(hào)—

direct【例】若(50H)=3AH,

執(zhí)行MOVA,50H后,(A)=?2023/12/6113立即尋址指令碼中直接給出操作數(shù)的尋址方式。立即數(shù)前必須加“#”標(biāo)記。指令中的立即數(shù)有8位立即數(shù)和16位立即數(shù)。注意區(qū)別這個(gè)指令:MOVA,50H通用符號(hào):#data(8位),#data16(16位)【例】執(zhí)行指令MOVA,#50H和MOVDPTR,#3050H,A值分別是多少?小結(jié):立即數(shù)與地址的區(qū)別是什么?2023/12/6124寄存器間接尋址在這種尋址方式中,操作數(shù)項(xiàng)中的工作寄存器中存放的不是真正的數(shù)據(jù),而是操作數(shù)的地址。間接尋址要在工作寄存器前加@表示間址操作。符號(hào)

@R0和@R1【例】若(R0)=30H,(30H)=5AH執(zhí)行MOVA,@R0后,(A)=?

【例】若(R1)=4CH,(A)=26H執(zhí)行MOV@R1,A后,(R1)=?,(4CH)=?2023/12/6135變址尋址(基址寄存器+變址寄存器的間接尋址)【例】(A)=05H;(DPTR)=2400H

執(zhí)行MOVCA,@A+DPTR后結(jié)果:(A)=?以某個(gè)基址寄存器的內(nèi)容為基礎(chǔ),在這個(gè)基礎(chǔ)上再加上地址偏移量,形成真正的操作數(shù)地址?;芳拇嫫髦荒苁荄PTR或PC,變址寄存器只能是累加器A。采用變址尋址的指令有兩條:MOVCA,@A+DPTR(最常用)

MOVCA,@A+PC2023/12/6146相對(duì)尋址相對(duì)尋址主要針對(duì)將程序轉(zhuǎn)移到相對(duì)地址的跳轉(zhuǎn)指令。以當(dāng)前PC值作為基址,以rel作為變址,兩者之和作為新的地址?!纠咳鬝JMP75H存放在1000H地址中,執(zhí)行指令SJMP75H后,PC值是多少?通過(guò)查詢(xún)指令表,指令SJMP75H的二進(jìn)制碼為80H,75H,為兩字節(jié)指令,因此新的PC值為1000H+2H+75H=1077H2023/12/6157位尋址【例】位地址00H內(nèi)容為1,MOVC,00H執(zhí)行后,位地址PSW.7的內(nèi)容為1。對(duì)位地址中的內(nèi)容進(jìn)行位操作的尋址方式。注意:與MOVA,00H的區(qū)別。2023/12/616分類(lèi)數(shù)據(jù)傳送類(lèi)指令29數(shù)學(xué)運(yùn)算類(lèi)指令24邏輯運(yùn)算類(lèi)指令24控制轉(zhuǎn)移類(lèi)指令17位操作指令17共有111條匯編指令3.28051單片機(jī)指令系統(tǒng)2023/12/617數(shù)據(jù)傳送類(lèi)指令29條2023/12/618數(shù)學(xué)運(yùn)算類(lèi)指令24條2023/12/619邏輯運(yùn)算類(lèi)指令24條2023/12/620控制轉(zhuǎn)移類(lèi)指令17條2023/12/621位操作指令17條2023/12/622經(jīng)常使用的指令25條2023/12/623主要指令精講傳送類(lèi)指令有兩大類(lèi)

一般傳送MOV(最重要的指令)特殊傳送,如:

MOVC(較為重要的指令)MOVXPUSH、POPXCH、XCHDSWAP

3.2.1數(shù)據(jù)傳送類(lèi)指令(29條)2023/12/624數(shù)據(jù)傳送類(lèi)指令29條2023/12/625一般傳送指令通用格式:

MOV目的操作數(shù),源操作數(shù)含義:將源操作數(shù)傳送到目的操作數(shù)中。類(lèi)似于C語(yǔ)言的賦值語(yǔ)句。MOVDPTR,#data16;DPTR←data16一般傳送指令注意:工作寄存器不能同時(shí)出現(xiàn)在源操作數(shù)和目的操作數(shù)中16位傳送指令2023/12/626【例3-13】執(zhí)行指令MOVDPTR,#1234H

后(DPTR)=?,(DPH)=?,(DPL)=?【例3-10】若(R1)=20H,(20H)=55H。執(zhí)行指令

MOVA,@R1

后,(A)=??!纠?-9】執(zhí)行指令MOVR6,#50H

后,(R6)=?【例3-11】若(R1)=50H,(50H)=18H,執(zhí)行指令

MOV40H,@R1

后,(40H)=?【例3-12】若(R1)=30H,(A)=20H,執(zhí)行指令

MOV@R1,A

后,(30H)=?思考:將R5中數(shù)送到R4中,如何處理?2023/12/6273.3.2特殊傳送指令

以DPTR內(nèi)容為基址(較重要)讀ROM中數(shù)據(jù),必須使用指令MOVCMOVCA,@A+DPTR;A←((A)+(DPTR))

以PC內(nèi)容為基址MOVCA,@A+PC;A←((A)+(PC))由于ROM只能讀不能寫(xiě),因此ROM中的數(shù)據(jù)傳送都是單向的。

【例3-14】若(DPTR)=3000H,(A)=20H;ROM中的(3020H)=78H,(3021H)=26H,執(zhí)行指令

MOVCA,@A+DPTR

后,(A)=?。【例3-15】若(DPTR)=3016H,(A)=25H;ROM中的(303BH)=22H,(3041H)=35H,執(zhí)行指令

MOVCA,@A+DPTR

后,(A)=?。2023/12/628

讀片外RAM讀寫(xiě)片外RAM數(shù)據(jù)的指令MOVX片外RAM中數(shù)據(jù)傳送都是通過(guò)間接尋址的方式來(lái)實(shí)現(xiàn)的MOVXA,@DPTR;A←((DPTR))MOVXA,@Ri;A←((Ri))

寫(xiě)片外RAMMOVX@DPTR,A;((DPTR))←AMOVX@Ri,A;((Ri))←A2023/12/629注意:(1)地址寄存器只能使用DPTR和Ri,其中DPTR是16位,而Ri是8位的;(2)與片外RAM傳送數(shù)據(jù)只能通過(guò)累加器A來(lái)實(shí)現(xiàn);(3)與片外RAM傳送數(shù)據(jù)只能使用MOVX指令?!纠?-15】若(DPTR)=3000H,(3000H)=20H;執(zhí)行指令MOVXA,@DPTR

后,(A)=?。思考:MOV、MOVC、MOVX指令的區(qū)別?2023/12/630

入棧指令PUSH堆棧操作指令PUSH和POP堆棧是一片存儲(chǔ)區(qū),遵循“后進(jìn)先出”原則,棧頂由SP指示。主要用于系統(tǒng)發(fā)生中斷時(shí)保存中斷現(xiàn)場(chǎng)信息。PUSHdirect;SP←(SP)+1,(SP)←(direct)出棧指令POPPOPdirect;(direct)←((SP)),SP←(SP)-12023/12/631(40H)=23H,(50H)=45H

MOVSP,#6FHPUSH40HPUSH50HPOP40HPOP50H;(SP)=6FH;(SP)=70H,(70H)=(40H)=23H結(jié)論:地址40H和50H中數(shù)據(jù)交換,這種情況一般不允許。;(SP)=71H,(71H)=(50H)=

45H;(40H)=(71H)=45H,(SP)=70H;(50H)=(70H)=23H,(SP)=6FH2023/12/632(40H)=23H,(50H)=45H

MOVSP,#6FHPUSH40HPUSH50HPOP50HPOP40H;(SP)=6FH;(SP)=70H,(70H)=(40H)=23H結(jié)論:地址40H和50H中數(shù)據(jù)入棧前和出棧后數(shù)據(jù)保持一致,遵循“先進(jìn)后出”的原則。這是正常使用。;(SP)=71H,(71H)=(50H)=

45H;(40H)=(70H)=23H,(SP)=6FH;(50H)=(71H)=45H,(SP)=70H2023/12/633

字節(jié)交換指令XCH數(shù)據(jù)交換指令XCH、XCHD和SWAP數(shù)據(jù)交換屬于同時(shí)進(jìn)行的雙向傳送【例3-20】若(R0)=80H,(A)=20H。執(zhí)行指令

XCHA,R0

后,(A)=?,(R0)=?。

2023/12/634

半字節(jié)交換指令XCHD【例3-21】若(R0)=30H,(30H)=67H,(A)=20H。執(zhí)行指令XCHDA,@R0指令后,(A)=?,(30H)=?

XCHD是間址操作數(shù)的低半字節(jié)與A的低半字節(jié)互換。SWAP是累加器的高低4位互換【例3-22】若(A)=30H,執(zhí)行指令SWAPA后,(A)=?。2023/12/6353.2.2算數(shù)運(yùn)算類(lèi)指令(24條)算數(shù)運(yùn)算結(jié)果要影響PSW中標(biāo)志位

CY為1,無(wú)符號(hào)數(shù)(字節(jié))加減發(fā)生進(jìn)位或借位

OV為1,有符號(hào)數(shù)(字節(jié))加減發(fā)生溢出錯(cuò)誤

AC為1,低半字節(jié)出現(xiàn)進(jìn)位或借位

P為1,存于累加器A中操作結(jié)果的“1”的個(gè)數(shù)為奇數(shù)

標(biāo)志位意義2023/12/636算數(shù)運(yùn)算影響標(biāo)志位示例【例】有2個(gè)參與相加的機(jī)器數(shù),一個(gè)是84H,另一個(gè)是8DH。試分析運(yùn)算過(guò)程及其對(duì)狀態(tài)標(biāo)志的影響。問(wèn)題:CY為?;AC為?;OV為?;P為?結(jié)果:CY為1;AC為1;OV為1;P為0

OV=D7⊕D62023/12/637數(shù)學(xué)運(yùn)算類(lèi)指令24條2023/12/638不帶進(jìn)位加法ADD、帶進(jìn)位加法ADDC、帶借位減法SUBB加1、減1指令注意:沒(méi)有DECDPTR指令。思考:DPTR能不能實(shí)現(xiàn)自減呢?2023/12/639乘法和除法指令MULAB;B中為積的高8位,A中為積的低8位

;CY總是被清0,OV=1表示積大于FFH【例3-28】若(A)=50H,(B)=A0H,執(zhí)行指令MULAB后,(A)=00H,(B)=32H,(OV)=1。DIVAB;A中為商的整數(shù)部分,B中為余數(shù);CY總是被清0;OV=1表示除數(shù)為0

【例3-29】若(A)=FBH(251),(B)=12H(18),執(zhí)行指令DIVAB后,(A)=0DH,(B)=11H,(OV)=0。251/18=13余17,除數(shù)不為02023/12/640十進(jìn)制調(diào)整指令(基本不用)DAA;調(diào)整A的內(nèi)容為正確的BCD碼兩個(gè)壓縮的BCD碼按二進(jìn)制相加后,必須經(jīng)過(guò)調(diào)整方能得到正確的和。

當(dāng)A中低4位出現(xiàn)了非BCD碼(1010~1111)或低4位的進(jìn)位AC=1,則應(yīng)在低4位加6調(diào)整。當(dāng)A中高4位出現(xiàn)了非BCD碼(1010~1111)或高4位的進(jìn)位CY=1,則應(yīng)在高4位加6調(diào)整。

執(zhí)行十進(jìn)制調(diào)整指令后,PSW中的CY表示結(jié)果的百位值2023/12/641【例3-24】若(A)=01101001B,表示的BCD碼為(R2)=01011000B,表示的BCD碼為,執(zhí)行指令:ADDA,R2DAA(A)=00100111B,即且(CY)=1,即正確的結(jié)果為:127

2023/12/6423.2.3邏輯運(yùn)算與循環(huán)移位類(lèi)指令(24條)2023/12/6433.2.3邏輯運(yùn)算與循環(huán)移位類(lèi)指令(24條)邏輯與、邏輯或、邏輯異或邏輯運(yùn)算:與、或、異或、清0和取反循環(huán)移位:左、右移,帶進(jìn)位位左、右移用的較多2023/12/644【例】(A)=C3H,(R0)=55H,執(zhí)行指令ORLA,R0后,(A)=D7H或操作常用于對(duì)某些指定位進(jìn)行“置1”,同時(shí)“保留”其他位不變【例】(A)=C3H,(R0)=AAH,執(zhí)行指令XRLA,R0后,(A)=69H異或操作常用于對(duì)某些指定位進(jìn)行“取反”,同時(shí)“保留”其他位不變【例】(A)=C3H,(R0)=AAH,執(zhí)行指令A(yù)NLA,R0后,(A)=82H與操作常用于對(duì)某些指定位進(jìn)行“清0”,同時(shí)“保留”其他位不變2023/12/645邏輯清0和取反CLRA指令與MOVA,#00H功能相同,只是用MOV指令時(shí)要多占用1字節(jié)空間

2023/12/646累加器循環(huán)移位2023/12/647【例3-37】若(A)=C5H,執(zhí)行指令RLA后,(A)=8BH?!纠?-38】若(A)=45H,(CY)=1,執(zhí)行指令RLCA后,(A)=8BH,(CY)=0。【例3-39】若(A)=C5H,執(zhí)行指令RRA后,(A)=E2H?!纠?-40】若(A)=C5H,(CY)=1,執(zhí)行指令RRCA后,(A)=E2H,(CY)=1。2023/12/6483.2.4控制轉(zhuǎn)移類(lèi)指令(17條)2023/12/6493.2.4控制轉(zhuǎn)移類(lèi)指令(17條)1無(wú)條件轉(zhuǎn)移AJMPaddr11;PC←(PC)+2,PC10~0←addr11LJMPaddr16;PC←addr16(用的最多)SJMPrel;PC←(PC)+2,PC←(PC)+relAJMP標(biāo)號(hào);跳轉(zhuǎn)范圍為2KBLJMP標(biāo)號(hào);跳轉(zhuǎn)范圍為64KBSJMP標(biāo)號(hào);跳轉(zhuǎn)范圍為256B2023/12/650非數(shù)字字符開(kāi)頭,后跟字母、數(shù)字、“-”、“?”等不能用已定義的保留字(指令助記符、偽指令等)后跟英文冒號(hào)“:”標(biāo)號(hào):是指令的符號(hào)地址,通常作為轉(zhuǎn)移指令的操作數(shù)。

LOOP:MOVA,#7FHLJMPLOOPHERE:LJMPHERE或LJMP$HERE:AJMPHERE或AJMP$HERE:SJMPHERE或SJMP$編程時(shí),經(jīng)常遇到等待中斷或調(diào)試程序,常使程序“原地踏步的需要,可使用以下指令:2023/12/651比較不等轉(zhuǎn)移注意:該指令會(huì)改變PSW寄存器中的CY值。(1)若目的字節(jié)中內(nèi)容小于源字節(jié)中內(nèi)容時(shí),CY置1;(2)若目的字節(jié)中內(nèi)容大于或等于源字節(jié)中內(nèi)容時(shí),CY清02條件轉(zhuǎn)移用的較多2023/12/652減1不為0轉(zhuǎn)移累加器判0轉(zhuǎn)移(基本不用)用的較多2023/12/653【例3-48】有一段程序如下,該程序執(zhí)行后,A中的值是多少?

MOVR0,#0AHCLRALOOPX:ADDA,R0DJNZR0,LOOPXSJMP$(A)=10+9+8+7+6+5+4+3+2+1=37H,本例中23H地址就是一個(gè)軟計(jì)數(shù)器思考:能否有其他方法編寫(xiě)這段程序?55/16=372023/12/654

MOVR0,#10CLRALOOPX:ADDA,R0 DECR0CJNER0,#0,LOOPXSJMP$2023/12/6553子程序調(diào)用與返回調(diào)用指令返回指令RET指令的功能是從堆棧中彈出調(diào)用指令壓入堆棧保護(hù)的返回地址(又稱(chēng)為斷點(diǎn))。RETI專(zhuān)用于中斷服務(wù)程序返回,它具有清除內(nèi)部相應(yīng)的中斷狀態(tài)觸發(fā)器(以保證正確的中斷邏輯)的功能。普通子程序返回指令中斷子程序返回指令2023/12/6564空操作NOP;PC←(PC)+1,占1個(gè)周期、一個(gè)字節(jié)

這條指令不產(chǎn)生任何功能性作用,在執(zhí)行時(shí)間上要消耗1個(gè)機(jī)器周期,因此主要用于較短暫精確時(shí)間延時(shí)。2023/12/657延時(shí)子程序示例Delay:MOVR4,#249 ;1個(gè)機(jī)器周期DL2: NOP

;1個(gè)機(jī)器周期 NOP ;1個(gè)機(jī)器周期 DJNZR4,DL2 ;2個(gè)機(jī)器周期 RET ;2個(gè)機(jī)器周期【例】若晶振頻率為12MHz,試計(jì)算下述延時(shí)子程序延時(shí)的時(shí)間。延時(shí)的時(shí)間為:(1*1+1*249+1*249+2*249+2*1)us=999us思考:若延時(shí)時(shí)間再長(zhǎng)些,比如10ms,如何處理?1次249次249次249次1次2023/12/658嵌套延時(shí)子程序示例Delay:MOVR5,#10 ;1個(gè)機(jī)器周期DL1: MOVR4,#249 ;1個(gè)機(jī)器周期DL2: NOP

;1個(gè)機(jī)器周期 NOP ;1個(gè)機(jī)器周期 DJNZR4,DL2 ;2個(gè)機(jī)器周期 DJNZR5,DL1 ;2個(gè)機(jī)器周期 RET ;2個(gè)機(jī)器周期延時(shí)的時(shí)間為:(1+1*10+4*2490+2*10+2*1)us=9993us,非常接近10ms1次10次249*10次249*10次249*10次10次1次2023/12/6593.2.5位操作類(lèi)指令(17條)位操作是以位為單位進(jìn)行的各種操作。位操作指令中的位地址有4種表示形式:直接地址(如,0D5H);點(diǎn)操作符(如,0D0H.4、PSW.4等);位名稱(chēng)(如,RS1);偽指令定義(如,MYFLAGBITF0)。以上幾種形式表示的都是PSW中的位5。位操作指令中,位累加器要用“C”表示。位累加器相當(dāng)于字節(jié)操作時(shí)的累加器A。2023/12/6601位傳送(用的很少)MOVbit,C;bit←(CY)MOVC,bit;CY←(bit)

2位狀態(tài)設(shè)置(用的較多)位清0位置位2023/12/6613位邏輯運(yùn)算(用的很少)位邏輯與位邏輯或位取反2023/12/662判CY轉(zhuǎn)移(注意與JZ和JNZ的區(qū)別)(用的很少)判bit轉(zhuǎn)移4位控制轉(zhuǎn)移;若(CY)=1,PC←(PC)+2+rel,否則順次執(zhí)行。;若(CY)=0;PC←(PC)+2+rel;否則順次執(zhí)行。;(bit)=1,PC←(PC)+3+rel,否則順次執(zhí)行。;(bit)=1,PC←(PC)+3+rel,bit←0,否則順次執(zhí)行;(bit)=0,PC←(PC)+3+rel,否則順次執(zhí)行用的較多2023/12/663偽指令,也叫匯編命令。僅對(duì)匯編過(guò)程進(jìn)行指示作用偽指令無(wú)對(duì)應(yīng)的單片機(jī)可執(zhí)行代碼

1、起始地址設(shè)定偽指令ORGORG表達(dá)式表達(dá)式通常為十六進(jìn)制地址,例:

ORG8000HSTART:MOVA,#30H

…ORG可多次使用,但地址值的順序要由小到大

2、結(jié)束匯編偽指令ENDEND該偽指令位于源程序的最后一行。3.2.6偽操作類(lèi)指令每次都用每次都用2023/12/6643、定義字節(jié)數(shù)據(jù)表偽指令DB1000H[標(biāo)號(hào):]DB字節(jié)數(shù)據(jù)表如:ORG1000HDB-2,-4,-6,8,10,18FEHFCHFAH08H0AH12H1001H用的較多4、定義位地址為符號(hào)名偽指令BIT符號(hào)名BIT位地址表達(dá)式如:STBITP1.0;將P1.0的位地址賦給符號(hào)名STCFBIT0D7H;將位地址為D7H的位定義為符號(hào)名初學(xué)用的較少2023/12/6655、定義常值為符號(hào)名偽指令EQU符號(hào)名EQU常值表達(dá)式

LEN

EQU10

SUM

EQU21HBLOCK

EQU22HCLRAMOVR7,#LENMOVR0,#BLOCKLOOP:ADDA,@R0INCR0DJNZR7,LOOPMOVSUM,A符號(hào)名為:地址常數(shù)段名字符串寄存

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論