第3章(匯編指令)_第1頁
第3章(匯編指令)_第2頁
第3章(匯編指令)_第3頁
第3章(匯編指令)_第4頁
第3章(匯編指令)_第5頁
已閱讀5頁,還剩86頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 cpu08匯編語言約定 m68hc08尋址方式 m68hc08指令系統(tǒng) 3.1 m68hc083.1 m68hc08匯編語言的相關(guān)約定匯編語言的相關(guān)約定 1、不同數(shù)制的表示 在68hc08系列指令系統(tǒng)中,可以使用二進(jìn)制、十進(jìn)制和 十六進(jìn)制3種數(shù)制。 數(shù)數(shù) 制制 二進(jìn)制 十進(jìn)制 十六進(jìn)制 前綴表示法前綴表示法后綴表示法后綴表示法舉例說明舉例說明 % 數(shù)字 ! 數(shù)字 $ 數(shù)字 數(shù)字 q 數(shù)字 t 數(shù)字 h %01011010 或 01011010q ! 90 或 90t $ 5a 或 5ah 無前、后綴時(shí)系統(tǒng)默認(rèn)為是十六進(jìn)制。 2、在數(shù)字前面加前綴#表示立即數(shù) 立即數(shù)也就是常數(shù) 如: lda #

2、%01011010 lda #$10 3、單引號或雙引號“”所括的內(nèi)容表示ascii 碼字符或字符串。 如:string fcb mc68hc908gp32 該指令的作用是將字符串mc68hc908gp32存放在以 string為首地址的存儲器單元中。 3.1 m68hc083.1 m68hc08匯編語言的相關(guān)約定匯編語言的相關(guān)約定 4、用*或$作為操作數(shù)時(shí),表示當(dāng)前存儲器地址 (操作數(shù)的概念下節(jié)介紹)。 如: bra * bra $ 這兩條指令均表示程序在當(dāng)前位置處原地“踏步”。 5、“ * ”處于匯編語句中的第一列時(shí),表示該行 為注釋語句。 “ ;”之后的內(nèi)容為注釋。如: 為日后的閱讀提供

3、方便而加注釋 lda $5a ;傳數(shù)指令 3.1 m68hc083.1 m68hc08匯編語言的相關(guān)約定匯編語言的相關(guān)約定 6、m68hc08指令系統(tǒng)中的操作數(shù)多數(shù)為8位,但可 以通過在字節(jié)數(shù)前面加“”的方法將其擴(kuò)展為16 位。 如:and $40 通過擴(kuò)展將操作數(shù)的地址由8位擴(kuò)展為16位即由$40擴(kuò)展 為$0040 7、存儲單元地址及單元內(nèi)容。 常用括號加地址表示單元內(nèi)容。 如:(0080h)=5ah 表示地址為0080h的存儲器單元內(nèi)容為5ah 3.1 m68hc083.1 m68hc08匯編語言的相關(guān)約定匯編語言的相關(guān)約定 1 1、指令的組成、指令的組成 一條匯編語言指令由一條匯編語言指

4、令由操作碼操作碼和和操作數(shù)操作數(shù)兩部分組成。兩部分組成。 操作碼:操作碼:指計(jì)算機(jī)將執(zhí)行的某種操作,它是一條指令中指計(jì)算機(jī)將執(zhí)行的某種操作,它是一條指令中 不可缺少的部分。不可缺少的部分。 操作數(shù):操作數(shù):是指令執(zhí)行的參與者,通俗地說即是計(jì)算機(jī)執(zhí)是指令執(zhí)行的參與者,通俗地說即是計(jì)算機(jī)執(zhí) 行各種操作的對象。操作數(shù)可以是具體的數(shù)值,也可以行各種操作的對象。操作數(shù)可以是具體的數(shù)值,也可以 是存放操作數(shù)的寄存器或存儲器地址。是存放操作數(shù)的寄存器或存儲器地址。 如:如: lda #$30 inca lda #$30 inca 操作數(shù)隱含在操作數(shù)隱含在a a中中 add $8fadd $8f 3.2 m6

5、8hc083.2 m68hc08尋址方式尋址方式 操作碼 操作數(shù) 操作碼 3.2.1 3.2.1 隱含尋址方式(隱含尋址方式(inhinh) 操作數(shù)隱含在累加器、變址寄存器、或狀態(tài)寄存器操作數(shù)隱含在累加器、變址寄存器、或狀態(tài)寄存器ccrccr中。中。 所有隱含尋址的指令都是單字節(jié),匯編后生成的操作碼在所有隱含尋址的指令都是單字節(jié),匯編后生成的操作碼在 程序存儲區(qū)只占用一個(gè)字節(jié)。程序存儲區(qū)只占用一個(gè)字節(jié)。 如:如:inca inca ;a+1aa+1a rti rti ;中斷返回中斷返回 incx incx ;x+1xx+1x tax tax ;aax x deca deca ;a-1aa-1a

6、 txa txa ;xxa a sei sei;中斷屏蔽位中斷屏蔽位i i置置1 1,i=1i=1 cli cli;中斷屏蔽位清中斷屏蔽位清0 0,i=0 i=0 mul mul;a a* *xx:axx:a rtsrts;子程序返回子程序返回 3.2 m68hc083.2 m68hc08尋址方式尋址方式 3.2.2 3.2.2 立即尋址方式(立即尋址方式(immimm) 立即尋址方式中,操作數(shù)包含在操作碼的后繼字符立即尋址方式中,操作數(shù)包含在操作碼的后繼字符 中,立即尋址指令多為中,立即尋址指令多為2 2個(gè)字節(jié),第一字節(jié)為操作碼,個(gè)字節(jié),第一字節(jié)為操作碼, 第二字節(jié)為操作數(shù)。第二字節(jié)為操作數(shù)

7、。 ldalda#%01011010 #%01011010 ;%01011010%01011010aa add add $30 $30 ; (a+$30)a(a+$30)a adcadc#$30 #$30 ; (a+$30+c)(a+$30+c)a a andand#$ff #$ff ; (a$ff)(a$ff)a a ldhx ldhx $8030 $8030 ;$8030$8030h:xh:x中,中,8080h h,3030xx 3.2 m68hc083.2 m68hc08尋址方式尋址方式 3.2.3 3.2.3 直接尋址方式(直接尋址方式(dirdir) 操作數(shù)的有效地址包含于操作碼的一

8、個(gè)字節(jié)中,操操作數(shù)的有效地址包含于操作碼的一個(gè)字節(jié)中,操 作數(shù)的有效地址僅為一個(gè)字節(jié),因此,能直接尋址作數(shù)的有效地址僅為一個(gè)字節(jié),因此,能直接尋址 的只是存儲器的只是存儲器0 0頁中頁中256256b b(0000h0000h00ffh00ffh)的空間。)的空間。 ldalda$00 $00 ; (00h)(00h)a a sta $40 sta $40 ; a a(40h)40h) adcadc$50 $50 ; a+(50h)+ca+(50h)+ca a asl $60 asl $60 ;將存儲單元將存儲單元00600060中的內(nèi)容算術(shù)左移一位。中的內(nèi)容算術(shù)左移一位。 3.2 m68hc

9、083.2 m68hc08尋址方式尋址方式 3.2.4 3.2.4 擴(kuò)展尋址方式擴(kuò)展尋址方式( (ext)ext) 操作數(shù)地址是雙字節(jié)。操作數(shù)地址是雙字節(jié)。 ldalda$0240 ; $0240 ; (0240)(0240)a a stasta$0240 ; $0240 ; a a(0240h)(0240h) adcadc$0250 ; $0250 ; a+(0250h)+ca+(0250h)+ca a 直接尋址與擴(kuò)展尋址方式均是對位于數(shù)據(jù)存儲空間直接尋址與擴(kuò)展尋址方式均是對位于數(shù)據(jù)存儲空間 的操作數(shù)進(jìn)行尋址,直接尋址方式的指令比擴(kuò)展尋的操作數(shù)進(jìn)行尋址,直接尋址方式的指令比擴(kuò)展尋 址方式指令

10、速度快,且指令所占的代碼空間更小。址方式指令速度快,且指令所占的代碼空間更小。 3.2 m68hc083.2 m68hc08尋址方式尋址方式 ldalda$20 ; $20 ; 按按8 8位存數(shù):位存數(shù):b620b620 ldalda$0020 ; b6 00 20 /$0020 ; b6 00 20 /優(yōu)化后優(yōu)化后b620b620 lda lda $0020 ; b6 00 20 $0020 ; b6 00 20 強(qiáng)制按擴(kuò)展尋址方式存放。強(qiáng)制按擴(kuò)展尋址方式存放。 3.2 m68hc083.2 m68hc08尋址方式尋址方式 3.2.5 3.2.5 變址尋址方式變址尋址方式 基本形式:基本形式

11、:操作碼操作碼 偏移量,偏移量,x x 分為三種:分為三種: (1) (1) 無偏移量變址尋址無偏移量變址尋址(ixix) lda ,x lda ,x ;(h:x)(h:x)a a inc ,xinc ,x ;(h:x)+1(h:x)+1(h:x)h:x) (2)(2) 8 8位偏移量變址尋址(位偏移量變址尋址(ix1ix1) lda $10,x lda $10,x ; (h:x+$10)(h:x+$10)a a inc $30,x ;inc $30,x ; (h:x+$30)+1(h:x+$30)(h:x+$30)+1(h:x+$30) 3.2 m68hc083.2 m68hc08尋址方式尋

12、址方式 (3) (3) 1616位偏移量變址尋址位偏移量變址尋址(ix2ix2) lda $0110,x ;lda $0110,x ; (h:x+$0110)(h:x+$0110)a a inc $0110,xinc $0110,x ;(h:x+$0110)+1(h:x+$0110)+1(h:x+$0110)h:x+$0110) 變址尋址方式中三種方式都可以訪問變址尋址方式中三種方式都可以訪問64k64k字節(jié)空間,字節(jié)空間, 但匯編后的指令有長短,速度有快慢。無偏移量指但匯編后的指令有長短,速度有快慢。無偏移量指 令最短,速度最快,擴(kuò)展尋址方式指令最長,速度令最短,速度最快,擴(kuò)展尋址方式指令最

13、長,速度 最慢。最慢。 3.2 m68hc083.2 m68hc08尋址方式尋址方式 3.2.6 3.2.6 相對尋址方式相對尋址方式 應(yīng)用在應(yīng)用在相對轉(zhuǎn)移指令相對轉(zhuǎn)移指令中,指相對本條指令所需跳轉(zhuǎn)的偏中,指相對本條指令所需跳轉(zhuǎn)的偏 移量。但在實(shí)際編程時(shí),用一個(gè)移量。但在實(shí)際編程時(shí),用一個(gè)地址標(biāo)號地址標(biāo)號代替偏移量,代替偏移量, 由匯編程序在匯編用戶程序時(shí)自動計(jì)算出偏移量。由匯編程序在匯編用戶程序時(shí)自動計(jì)算出偏移量。 偏移地址偏移地址pcpc值本指令所占字節(jié)數(shù)指令操作碼的值本指令所占字節(jié)數(shù)指令操作碼的8 8 位有符號地址。位有符號地址。 如:如: looploop: lda $10,xlda

14、$10,x bra bra looploop 3.2 m68hc083.2 m68hc08尋址方式尋址方式 3.2.7 3.2.7 堆棧尋址方式堆棧尋址方式 堆棧尋址方式中,操作數(shù)的地址由堆棧指針堆棧尋址方式中,操作數(shù)的地址由堆棧指針spsp和跟和跟 在操作碼后的無符號偏移量決定。在操作碼后的無符號偏移量決定。堆棧尋址方式與堆棧尋址方式與 變址尋址方式相似。變址尋址方式相似。 (1) 8(1) 8位偏移量堆棧尋址位偏移量堆棧尋址 lda $10,sp ; lda $10,sp ; (sp+10h)a(sp+10h)a inc $20,sp ; inc $20,sp ; (sp+10h)sp(s

15、p+10h)sp asr $30,sp ; asr $30,sp ; 將將(sp+30h)(sp+30h)單元單元的內(nèi)容算術(shù)右的內(nèi)容算術(shù)右 移一位。移一位。 3.2 m68hc083.2 m68hc08尋址方式尋址方式 3.2.7 3.2.7 堆棧尋址方式堆棧尋址方式 (2) 16(2) 16偏移量堆棧尋址偏移量堆棧尋址 ldalda$0110,sp $0110,sp ; ; (sp+0110h)a(sp+0110h)a add $0120,sp ; add $0120,sp ; a+(sp+0120h)aa+(sp+0120h)a and and $0130,sp ; $0130,sp ;

16、a a(sp+0123h)a(sp+0123h)a 3.2 m68hc083.2 m68hc08尋址方式尋址方式 3.2.8 3.2.8 存儲器到存儲器尋址存儲器到存儲器尋址 指令格式:指令格式:mov mov 源操作數(shù)地址,目的操作數(shù)地址源操作數(shù)地址,目的操作數(shù)地址 (1 1)立即尋址到直接尋址()立即尋址到直接尋址(imdimd) movmov#$ff,porta#$ff,porta; $ffa$ffa口數(shù)據(jù)寄存器口數(shù)據(jù)寄存器 mov #$ff,$00 mov #$ff,$00 ; $ff(00h)$ff(00h)即即a a口數(shù)據(jù)寄存器口數(shù)據(jù)寄存器 (2 2)直接尋址到直接尋址方式()直接

17、尋址到直接尋址方式(dddd) movmovportb,portaportb,porta;b b口數(shù)據(jù)寄存器口數(shù)據(jù)寄存器aa口數(shù)據(jù)寄存器口數(shù)據(jù)寄存器 mov $60,portb ;mov $60,portb ;($60)($60)b b口數(shù)據(jù)寄存器口數(shù)據(jù)寄存器 mov $60,$50 ;mov $60,$50 ;($60)($60)($50$50) ) 3.2 m68hc083.2 m68hc08尋址方式尋址方式 (3) (3) 自動變址尋址到直接尋址自動變址尋址到直接尋址( (ix+d)ix+d) mov x+,$40 ; mov x+,$40 ; (h:x)($40) (h:x)($40)

18、 h:x+1h:xh:x+1h:x (4) (4) 直接尋址到自動變址直接尋址到自動變址( (dix+)dix+) mov $40,x+ ; mov $40,x+ ; ($40)(h:x) ($40)(h:x) h:x+1h:xh:x+1h:x 存儲器到存儲器的尋址方式中,只允許采用直接存儲器到存儲器的尋址方式中,只允許采用直接 尋址的方式,不能采用擴(kuò)展尋址方式,即存儲器尋址的方式,不能采用擴(kuò)展尋址方式,即存儲器 地址只能是八位。地址只能是八位。 3.2 m68hc083.2 m68hc08尋址方式尋址方式 3.2.93.2.9無偏移量變址加無偏移量變址加1 1尋址方式(尋址方式(ixix)

19、在在mc68hc08mc68hc08指令系統(tǒng)中,僅指令系統(tǒng)中,僅cbeqx+,relcbeqx+,rel, ,這條指令采這條指令采 用這種尋址方式用這種尋址方式1616偏移量堆棧尋址。偏移量堆棧尋址。 如:如: cbeq x+,pro1 ;cbeq x+,pro1 ; (h:x)-a=0?h:x)-a=0? 3.2 m68hc083.2 m68hc08尋址方式尋址方式 是是pro1pro1 否否順序執(zhí)行順序執(zhí)行 3.2.10 83.2.10 8位偏移量變址后加位偏移量變址后加1 1尋址方式尋址方式 該尋址方式與上述的基本相同,只是多了一個(gè)該尋址方式與上述的基本相同,只是多了一個(gè)8 8位偏位偏

20、移量。移量。 如:如: cbeqcbeq$10,x+, pro1$10,x+, pro1 (h:x+10h)-a=0?h:x+10h)-a=0? 3.2 m68hc083.2 m68hc08尋址方式尋址方式 是是pro1pro1 否否順序執(zhí)行順序執(zhí)行 作業(yè)3: p73 第第1題題 為了更好地使用單片機(jī)這個(gè)芯片,前面講過該芯為了更好地使用單片機(jī)這個(gè)芯片,前面講過該芯 片與普通邏輯芯片有所不同,內(nèi)部用程序控制芯片片與普通邏輯芯片有所不同,內(nèi)部用程序控制芯片 外圍引腳電平,并可輸出一些控制信號,所以,在外圍引腳電平,并可輸出一些控制信號,所以,在 使用前,首先需要掌握指令系統(tǒng)。使用前,首先需要掌握指

21、令系統(tǒng)。 mc68hc08有有100多條基本指令,每條指令又有多條基本指令,每條指令又有 幾種不同尋址方式,共派生出幾種不同尋址方式,共派生出257條指令。條指令。 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 全部指令共分六大類全部指令共分六大類: (1)數(shù)據(jù)傳送類指令;)數(shù)據(jù)傳送類指令; (2)算術(shù)運(yùn)算類指令;)算術(shù)運(yùn)算類指令; (3)邏輯運(yùn)算類指令;)邏輯運(yùn)算類指令; (4)位操作類指令;)位操作類指令; (5)轉(zhuǎn)移類指令;)轉(zhuǎn)移類指令; (6)其它類指令。)其它類指令。 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 3.3.1 3.3.1 數(shù)據(jù)傳送類指令

22、數(shù)據(jù)傳送類指令 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) ram opr a ccrh:xsp cpu 1 1、立即數(shù)到、立即數(shù)到cpucpu寄存器的指令寄存器的指令 clra a clrx0 x clrh h lda #opr ; #opr8aa ldh x #opr ; #opr16h:xh:x rsp ;$00ffsp 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 2 2、8 8位立即數(shù)到內(nèi)部位立即數(shù)到內(nèi)部ramram的指令的指令 clr opr ; 0(opr8) clr opr, x ; 0(h:x+opr8) clr , x ; 0(h:x) c

23、lr opr, sp ; 0(opr8+sp) mov #opr, opr ; #opr8(opr8) 舉例:clr$40 clr $10, x mov #$30, $30 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 3 3、內(nèi)部、內(nèi)部ramram到到cpucpu內(nèi)部寄存器的傳數(shù)指令內(nèi)部寄存器的傳數(shù)指令 lda opr ;(opr8 /opr16)aa lda opr, x ;(opr8 /opr16+h:x)a lda , x ; (h:x)a lda opr, sp ; (opr8 /opr16 +sp)a ldhx opr ; (opr8, opr8+1)h:x ldx

24、 opr ; (opr8 /opr16)xx ldx opr, x ; (opr8 /opr16+h:x)xx ldx , x ; (h:x)xx ldx opr, sp ; (opr8 /opr16 +sp)xx 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 4 4、cpucpu寄存器到內(nèi)部寄存器到內(nèi)部ramram指令指令 sta opr ; aa(opr8 /opr16) sta opr, x ; aa(opr8/opr16 +h:x) sta , x ; aa(h:x) sta opr, sp ; aa(opr8/opr16 +sp) sthx opr ; h:x(opr

25、8,opr8+1)(opr8,opr8+1) stx opr ; x(opr8 /opr16) stx opr, x ; xx(opr8 /opr16+h:x) stx , x ; xx(h:x) stx opr, sp ; xx(opr8 /opr16 +sp) 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 5.5.內(nèi)部內(nèi)部ramram到到ramram的指令的指令 movopr,opr ; (opr1)(opr2) mov opr, x+ ; (opr8)(h:x) h:x+1h:xh:x mov x+, opr ; (h:x)(opr8) h:x+1h:xh:x 3.3 m

26、68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 6 6、cpucpu內(nèi)部寄存器之間的指令內(nèi)部寄存器之間的指令 tap ; accraccr tpa ; ccraccra tax ; axax txa ; xaxa tsx ; sp+1h:x spsp+1h:x sp不變不變 txs ; h:x-1sp h:xh:x-1sp h:x不變不變 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 3.3.2 3.3.2 算術(shù)類指令算術(shù)類指令 算術(shù)類指令主要包括加法指令、減法類指令、算術(shù)類指令主要包括加法指令、減法類指令、 無符號數(shù)乘法指令、除法指令、自動加無符號數(shù)乘法指令、除法指令、自

27、動加1/自自 動減動減1指令、求補(bǔ)指令、求補(bǔ)/求反指令,求反指令,h:x/sp 增加增加 指令、比較指令、比較/測試指令等。測試指令等。 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 1 1、加法指令、加法指令 分不帶進(jìn)位分不帶進(jìn)位c和帶進(jìn)位和帶進(jìn)位c加法加法(add , adc), 運(yùn)算結(jié)果影響運(yùn)算結(jié)果影響ccr中的標(biāo)志中的標(biāo)志(除(除i位外)。位外)。 addopr ; a+#opr8a add opr ; a+(opr8/opr16)a add , x ; a+(h:x)a add opr, x ; a+(h:x+opr8/opr16)a add opr, sp ; a+

28、(sp+opr8/opr16)a 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 帶進(jìn)位加法指令帶進(jìn)位加法指令adcadc與與addadd相似,僅多加上進(jìn)相似,僅多加上進(jìn) 位標(biāo)志位標(biāo)志c c。 adc #opr ; a+#opr8+ca adc opr ; a+(opr8/opr16)+ca adc , x ; a+(h:x)+ca adc opr, x ; a+(h:x+opr8/opr16)+ca adc opr, sp; a+(sp+opr8/opr16)+ca 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 2 2、減法指令、減法指令 減法指令也分帶進(jìn)位減法

29、指令也分帶進(jìn)位c和不帶進(jìn)位和不帶進(jìn)位c減法指令,減法指令, 差值存在差值存在a中。中。 subopr ; a-#opr8a sub opr ; a-(opr8/opr16)a sub , x ; a-(h:x)a sub opr, x ; a-(h:x+opr8/opr16)a sub opr, sp; a-(sp+opr8/opr16)a 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) sbcopr ; a-#opr8-ca sbc opr ; a-(opr8/opr16)-ca sbc , x ; a-(h:x)-ca sbc opr, x ; a-(h:x+opr8/opr

30、16)-ca sbc opr, sp; a-(sp+opr8/opr16)-ca 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 3 3、乘除法指令、乘除法指令 乘法指令乘法指令 mul x * a x:a0h, c 除法指令除法指令 div h:ax a 余數(shù)余數(shù)h z、c標(biāo)志位受影響標(biāo)志位受影響 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 4 4、自動加、自動加1/1/自動減自動減1 1指令指令 對累加器對累加器a,變址寄存器,變址寄存器x及存儲單元中的值自動加及存儲單元中的值自動加 1/減減1,執(zhí)行指令后影響,執(zhí)行指令后影響v、n、z標(biāo)志位。標(biāo)志位。 in

31、ca ; a+1a incx ; x+1x inc opr ; (opr8)+1(opr8) inc opr, x ; (h:x+opr8)+1(h:x+opr8) inc opr, sp ; (sp+opr8)+1(sp+opr8) 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) deca ; a-1a decx ; x-1x dec opr ; (opr8)-1(opr8) dec opr, x ; (h:x+opr8)-1(h:x+opr8) dec opr, sp ; (sp+opr8)-1(sp+opr8) 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng)

32、5 5、求補(bǔ)、求補(bǔ)/ /求反指令求反指令 將將cpu內(nèi)部寄存器內(nèi)部寄存器a、x或存儲單元中的值求補(bǔ)或存儲單元中的值求補(bǔ)/求求 反后,再放回到原處,對反后,再放回到原處,對h、i標(biāo)志位標(biāo)志無影響。標(biāo)志位標(biāo)志無影響。 nega ; 0-aa negx ; 0-xx neg opr ; 0-(opr8)(opr8) neg , x ; 0-(h:x)(h:x) neg opr, x ; 0-(h:x+opr8)(h:x+opr8) neg opr, sp ; 0-(sp+opr8)(sp+opr8) 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) coma ; ffh-aa comx

33、; ffh -xx com opr ; ffh-(opr8)(opr8) com , x ; ffh-(h:x)(h:x) com opr, x ; ffh-(opr8+h:x)(opr8+h:x) com opr, sp ; ffh-(opr8+sp)(opr8+sp) 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 6 6、h:x/sph:x/sp增加指令增加指令 該指令用于將該指令用于將16位變址寄存器位變址寄存器h:x或或16位堆棧指針位堆棧指針sp 中的值直接加一個(gè)中的值直接加一個(gè)8位有符號數(shù)即立即數(shù),位有符號數(shù)即立即數(shù),8位有符號位有符號 數(shù)的表示范圍為數(shù)的表示范圍為

34、128127, 超出此范圍為非法。超出此范圍為非法。 aix# $opr ;h:x+ #opr8(h:x) ais # $opr ; sp+ #opr8sp 立即數(shù)必須是立即數(shù)必須是8位有符號數(shù),位有符號數(shù),8位有符號數(shù)的位有符號數(shù)的 范圍是范圍是-128+127。 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 7 7、比較、比較/ /零測試指令零測試指令 將將a、x或或h:x中的值與立即數(shù)或存儲單元中數(shù)相減,中的值與立即數(shù)或存儲單元中數(shù)相減, 執(zhí)行減法操作后,不改變原來寄存器或單元的內(nèi)容,執(zhí)行減法操作后,不改變原來寄存器或單元的內(nèi)容, 根據(jù)結(jié)果影響標(biāo)志位根據(jù)結(jié)果影響標(biāo)志位(影

35、響(影響v、n、z、c)。)。 cmp opr ; a-opr8 cmp opr ; a-(opr8/opr16) cmp , x ; a-(h:x) cmp opr, x ; a-(opr8/opr16+h:x) cmp opr, sp ; a-(opr8/opr16+sp) 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) cpx opr ; x-opr8 cpx opr ; x-(opr8/opr16) cpx , x ; x-(h:x) cpx opr, x ; x-(opr8/opr16+h:x) cpx opr, sp ; x-(opr8/opr16+sp) cphx

36、#opr16 ; h:x-opr16 cphx opr; h:x-(opr8): (opr8+1) 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 零測試指令零測試指令tst用于測試用于測試a/x/存儲單元的值是存儲單元的值是 否小于等于否小于等于0,它執(zhí)行減,它執(zhí)行減0的操作,但不改變原的操作,但不改變原 操作數(shù),只是根據(jù)結(jié)果改變操作數(shù),只是根據(jù)結(jié)果改變n、z標(biāo)志位。標(biāo)志位。 tsta ; a-00 tstx ; x-00 tst opr ; (opr8)-00 tst opr, x ; (opr8+h:x)-00 tst opr, sp ; (opr8+sp)-00 3.3

37、m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 作業(yè)4: 現(xiàn)有兩個(gè)數(shù),分別存放在現(xiàn)有兩個(gè)數(shù),分別存放在90h和和91h單元中,單元中, 請編寫一段程序?qū)崿F(xiàn)這兩個(gè)數(shù)相乘,并把其請編寫一段程序?qū)崿F(xiàn)這兩個(gè)數(shù)相乘,并把其 積存入積存入92h:93h中。中。 3.3.3 3.3.3 邏輯類指令邏輯類指令 1 1、與、與/ /或或/ /異或指令異或指令 and #opr ; a a a a a a| #opr8a ora opr ; a| (opr8/opr16)a ora , x ; a|(h:x)a ora opr, x ; a|(opr8/opr16 +h:x)a ora opr, sp ;

38、a|(opr8/opr16 +sp)a eor #opr ; a #opr8a eor opr ; a (opr8/opr16)a eor , x ; a(h:x)a eor opr, x ; a(opr8/opr16 +h:x)a eor opr, sp ; a(opr8/opr16 +sp)a 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 2 2、移位指令、移位指令 算術(shù)左移算術(shù)左移 asla ; a左移一位左移一位 aslx ; x左移一位左移一位 asl opr8 ; (opr8)左移一位左移一位 asl , x ; (h:x)左移一位左移一位 asl opr8, x

39、; (opr8+h:x) 左移一位左移一位 asl opr8, sp ; (opr8+sp) 左移一位左移一位 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) cd7d6.d00 算術(shù)右移算術(shù)右移 asra ; a右移一位右移一位 asrx ; x右移一位右移一位 asr opr8 ; (opr8)右移一位右移一位 asr , x ; (h:x)右移一位右移一位 asr opr8, x ; (opr8+h:x)右移一位右移一位 asr opr8, sp ; (opr8+sp)右移一位右移一位 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) c d7d6.d0 邏輯左

40、移邏輯左移 lsla ; a左移一位左移一位 lslx ; x左左移一位移一位 lsl opr8 ; (opr8)左左移一位移一位 lsl , x ; (h:x)左移一位左移一位 lsl opr8, x ; (opr8+h:x)左左移一位移一位 lsl opr8, sp ; (opr8+sp)左移一位左移一位 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) cd7d6d00 邏輯右移邏輯右移 lsra ; a右移一位右移一位 lsrx ; x右移一位右移一位 lsr opr8 ; (opr8)右移一位右移一位 lsr , x ; (h:x)右移一位右移一位 lsr opr8, x

41、 ; (opr8+h:x) 右右移一位移一位 lsr opr8, sp ; (opr8+sp) 右移一位右移一位 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) d7d6.d0c0 循環(huán)左移循環(huán)左移 rola ; a循環(huán)左移一位循環(huán)左移一位 rolx ; x循環(huán)左移循環(huán)左移一位一位 rol opr8 ; (opr8)循環(huán)左移循環(huán)左移一位一位 rol , x ; (h:x)循環(huán)左移一位循環(huán)左移一位 rol opr8, x ; (opr8+h:x)循環(huán)左移循環(huán)左移一位一位 rol opr8, sp ; (opr8+sp)循環(huán)左移一位循環(huán)左移一位 3.3 m68hc083.3 m68h

42、c08指令系統(tǒng)指令系統(tǒng) cd7d6.d0 循環(huán)右移循環(huán)右移 rora ; a循環(huán)左移一位循環(huán)左移一位 rorx ; x循環(huán)左移循環(huán)左移一位一位 ror opr8 ; (opr8)循環(huán)左移循環(huán)左移一位一位 ror , x ; (h:x)循環(huán)左移一位循環(huán)左移一位 ror opr8, x ; (opr8+h:x)循環(huán)左移循環(huán)左移一位一位 ror opr8, sp ; (opr8+sp)循環(huán)左移一位循環(huán)左移一位 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) d7d6.d0c 3 3、位測試指令、位測試指令 位測試指令位測試指令bit用于測試用于測試a中的值與操作數(shù)的各個(gè)位中的值與操作數(shù)

43、的各個(gè)位 是否一致,不影響原來的操作數(shù),影響標(biāo)志位是否一致,不影響原來的操作數(shù),影響標(biāo)志位n,z, 及及0v。 bit #opr ;a a a a a opr8地址單元第地址單元第n位清位清0。 bset n, opr; opr8地址單元第地址單元第n位置位置1。 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 2、ccr位操作指令位操作指令 clc; 進(jìn)位標(biāo)志進(jìn)位標(biāo)志c清清0 sec ;進(jìn)位標(biāo)志進(jìn)位標(biāo)志c置置1 cli ;0i,開中斷,開中斷 sei ;1i, 關(guān)中斷關(guān)中斷 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 3.3 m68hc083.3 m68hc0

44、8指令系統(tǒng)指令系統(tǒng) 3.3.5 3.3.5 轉(zhuǎn)移類指令轉(zhuǎn)移類指令 轉(zhuǎn)移類指令分為轉(zhuǎn)移類指令分為: bitnbitn=0 ;=0 ; 位測試轉(zhuǎn)移指令位測試轉(zhuǎn)移指令 bitnbitn=1;=1; pnpn=l=l pnpn=h=h 有條件轉(zhuǎn)移有條件轉(zhuǎn)移 累加器比較相等轉(zhuǎn)移累加器比較相等轉(zhuǎn)移 減減1不為不為0轉(zhuǎn)移指令轉(zhuǎn)移指令 ccr轉(zhuǎn)移指令轉(zhuǎn)移指令 無條件轉(zhuǎn)移無條件轉(zhuǎn)移 不作任何測試,無條件轉(zhuǎn)移到指定的標(biāo)號不作任何測試,無條件轉(zhuǎn)移到指定的標(biāo)號 1、位測試轉(zhuǎn)移指令、位測試轉(zhuǎn)移指令 brclr n , opr, rel ; (opr8)第第n位位=0則轉(zhuǎn)移則轉(zhuǎn)移 brset n , opr, rel ;

45、 (opr8)第第n位位=1則轉(zhuǎn)移則轉(zhuǎn)移 bil rel ; irq引腳引腳=0則轉(zhuǎn)移則轉(zhuǎn)移 bih rel ; irq引腳引腳=1則轉(zhuǎn)移則轉(zhuǎn)移 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 2、累加器、累加器a比較相等轉(zhuǎn)移指令比較相等轉(zhuǎn)移指令 cbeqa opr, rel ; a-opr8為為0則轉(zhuǎn)至則轉(zhuǎn)至rel,否則順序執(zhí)行,否則順序執(zhí)行 cbeqx #opr, rel ; x-opr8為為0則轉(zhuǎn)至則轉(zhuǎn)至rel,否則順序執(zhí)行,否則順序執(zhí)行 cbeq opr, rel ; a-(opr8) 為為0則轉(zhuǎn)至則轉(zhuǎn)至rel,否則順序執(zhí)行,否則順序執(zhí)行 cbeq x+, rel ; a

46、-(h:x) 為為0則轉(zhuǎn)至則轉(zhuǎn)至rel,否則順序執(zhí)行,否則順序執(zhí)行 h:x+1h:x cbeq opr , x+, rel; a-(h:x+opr8) 為為0則轉(zhuǎn)至則轉(zhuǎn)至rel,否則順序,否則順序 執(zhí)行,執(zhí)行,h:x+1h:x cbeq opr, sp, rel; a-(sp+opr8) 為為0則轉(zhuǎn)至則轉(zhuǎn)至rel,否則順序,否則順序 執(zhí)行,執(zhí)行,h:x+1h:x 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 3、減、減1不為不為0轉(zhuǎn)移指令轉(zhuǎn)移指令dbnz 對寄存器對寄存器a/x,或某存儲單元的值進(jìn)行減,或某存儲單元的值進(jìn)行減1,運(yùn)算結(jié)果存,運(yùn)算結(jié)果存 放原處。若結(jié)果不為放原處。

47、若結(jié)果不為0則轉(zhuǎn)移,若結(jié)果為則轉(zhuǎn)移,若結(jié)果為0則執(zhí)行下一條則執(zhí)行下一條 指令,該指令不影響指令,該指令不影響ccr標(biāo)志位。標(biāo)志位。 dbnza rel dbnzx rel dbnz opr, rel dbnz x, rel dbnz opr, x, rel dbnz opr, sp, rel 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) a/x或存儲單元 -1 4、ccr轉(zhuǎn)移指令轉(zhuǎn)移指令 bxx rel ; xx為條件,如果為條件,如果xx條件滿足就轉(zhuǎn)移。條件滿足就轉(zhuǎn)移。 xx hcc ; h=0 hcs ; h=1 mc ; i=0 ms ; i=1 cc ; c=0 cs

48、; c=1 hs ; c=0 lo ; c=1 hi ; c|z=0 ls ; c|z=1 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) xx ne ; z=0 eq ; z=1 pl ; n=0 mi ; n=1 ge ; (nv)=0 lt ; (nv)=1 gt ; z|(nv)=0 le ; z|(nv)=0 實(shí)際上,上述條件有些包括了大于實(shí)際上,上述條件有些包括了大于/小于小于/等于概念,等于概念, 如果把條件加入到通用指令里,得到判斷下列是否如果把條件加入到通用指令里,得到判斷下列是否 相等的條件。相等的條件。 3.3 m68hc083.3 m68hc08指令系統(tǒng)指

49、令系統(tǒng) bcs rel; 小于則轉(zhuǎn)移(無符號數(shù))小于則轉(zhuǎn)移(無符號數(shù)) blo rel; bls rel; 小于或等于則轉(zhuǎn)移小于或等于則轉(zhuǎn)移 bhi rel;大于則轉(zhuǎn)移(無符號數(shù))大于則轉(zhuǎn)移(無符號數(shù)) bne rel;不等于則轉(zhuǎn)移不等于則轉(zhuǎn)移 beq rel;相等則轉(zhuǎn)移相等則轉(zhuǎn)移 bpl rel;結(jié)果為正則轉(zhuǎn)移結(jié)果為正則轉(zhuǎn)移 bmi rel;結(jié)果為負(fù)則轉(zhuǎn)移結(jié)果為負(fù)則轉(zhuǎn)移 bge rel;大于等于則轉(zhuǎn)移(有符號數(shù))大于等于則轉(zhuǎn)移(有符號數(shù)) bgt rel;大于則轉(zhuǎn)移(有符號數(shù))大于則轉(zhuǎn)移(有符號數(shù)) blt rel;小于則轉(zhuǎn)移(有符號數(shù))小于則轉(zhuǎn)移(有符號數(shù)) ble rel;小于等于則轉(zhuǎn)移

50、(有符號數(shù))小于等于則轉(zhuǎn)移(有符號數(shù)) 以后要比較兩個(gè)數(shù)大小時(shí),則用上述條件指令。以后要比較兩個(gè)數(shù)大小時(shí),則用上述條件指令。 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 5、無條件轉(zhuǎn)移指令、無條件轉(zhuǎn)移指令 bra rel ; 相對轉(zhuǎn)移到標(biāo)號相對轉(zhuǎn)移到標(biāo)號 jmp opr ; 跳轉(zhuǎn)到跳轉(zhuǎn)到opr jmp , x ; 跳轉(zhuǎn)到跳轉(zhuǎn)到h:x jmp opr, x ; 跳轉(zhuǎn)到跳轉(zhuǎn)到 opr+h:x 舉例:舉例:bra * ; 無條件重復(fù)執(zhí)行此語句。無條件重復(fù)執(zhí)行此語句。 jmp $f000h ; $f000pc jmp $8000, x ; h:x+8000pc 3.3 m68hc08

51、3.3 m68hc08指令系統(tǒng)指令系統(tǒng) 3.3.6 3.3.6 其它指令其它指令 1、堆棧指令、堆棧指令 pshaa/h/x 入棧,入棧, pshh每次入棧后,每次入棧后,sp-1sp pshx pula a/h/x 出棧出棧, pulh 每次出棧,每次出棧,sp+1sp pulx sp指針總是指向下一個(gè)可用空單元。指針總是指向下一個(gè)可用空單元。 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 2、子程序調(diào)用、子程序調(diào)用/返回指令返回指令 bsr rel ; 子程序調(diào)用,相對尋址:子程序調(diào)用,相對尋址:-126+129 jsr opr ; 絕對調(diào)用到絕對調(diào)用到opr標(biāo)號的子程序標(biāo)

52、號的子程序 jsr , x ; 絕對調(diào)用到絕對調(diào)用到h:x寄存器指定的地址寄存器指定的地址 jsr opr, x; 絕對調(diào)用到絕對調(diào)用到opr+h:x地址地址 rts; 子程序返回子程序返回 rti; 中斷返回中斷返回 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令系統(tǒng) 3、空操作指令、空操作指令 nop brn rel 4、特殊指令、特殊指令 swi ;軟件中斷指令軟件中斷指令 stop ;停止指令停止指令 wait ;等待指令等待指令 nsa ;a的高、低的高、低4位互換位互換 daa ;bcd碼加法調(diào)整指令碼加法調(diào)整指令 3.3 m68hc083.3 m68hc08指令系統(tǒng)指令

53、系統(tǒng) 作業(yè)5: 1、p73第第3題題 2、p74第第5題題 計(jì)算機(jī)執(zhí)行的程序是計(jì)算機(jī)執(zhí)行的程序是機(jī)器代碼,機(jī)器代碼,每條指令是單字每條指令是單字 節(jié)、雙字節(jié)或多字節(jié)的節(jié)、雙字節(jié)或多字節(jié)的16進(jìn)制數(shù)。早期計(jì)算機(jī)編程人進(jìn)制數(shù)。早期計(jì)算機(jī)編程人 員編寫程序就是設(shè)計(jì)這些代碼。但是機(jī)器代碼對人來員編寫程序就是設(shè)計(jì)這些代碼。但是機(jī)器代碼對人來 說既不方便,不容易記憶,又容易出錯(cuò),所以采用一說既不方便,不容易記憶,又容易出錯(cuò),所以采用一 種字符助記法種字符助記法助記符號,助記符號,這種用這種用助記符助記符的方法來的方法來 編寫的程序稱編寫的程序稱匯編語言,匯編語言,一條指令有其固定的助記符。一條指令有其固定

54、的助記符。 當(dāng)然,也有高級語言編程,但它效率沒有匯編語言的當(dāng)然,也有高級語言編程,但它效率沒有匯編語言的 效率高,對初學(xué)者來說,還是匯編語言更能反映單片效率高,對初學(xué)者來說,還是匯編語言更能反映單片 機(jī)執(zhí)行過程。機(jī)執(zhí)行過程。 3.4 m68hc083.4 m68hc08匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 3.4.1 3.4.1 符號與偽指令符號與偽指令 1、標(biāo)號與常量、標(biāo)號與常量 匯編語言中,為了方便地表示某個(gè)地址、寄存器、存匯編語言中,為了方便地表示某個(gè)地址、寄存器、存 儲單元或數(shù)據(jù),定義一些符號,符號分為標(biāo)號和常量儲單元或數(shù)據(jù),定義一些符號,符號分為標(biāo)號和常量 兩大類。兩大類。 標(biāo)號:標(biāo)號:

55、是地址的符號表示。主程序、子程序入口地址及是地址的符號表示。主程序、子程序入口地址及 程序中某一條語句地址,都可以用標(biāo)號來表示。程序中某一條語句地址,都可以用標(biāo)號來表示。標(biāo)號必標(biāo)號必 須在一行匯編語言的開頭部分出現(xiàn),須在一行匯編語言的開頭部分出現(xiàn),以以“:”與指令分開。與指令分開。 標(biāo)號最多為標(biāo)號最多為16個(gè)字符,并且必須以字母開頭,組成標(biāo)號個(gè)字符,并且必須以字母開頭,組成標(biāo)號 的字符可以是字母、數(shù)字和下劃線,字母不分大小寫,的字符可以是字母、數(shù)字和下劃線,字母不分大小寫, 標(biāo)號不能重復(fù)。標(biāo)號不能重復(fù)。 3.4 m68hc083.4 m68hc08匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) subrou

56、tine: psha main: rsp clrx bsr subroutine subroutine, main 都是標(biāo)號。都是標(biāo)號。 常量:常量:常量是指那些在編程時(shí)已經(jīng)有確定數(shù)值的量,常常量是指那些在編程時(shí)已經(jīng)有確定數(shù)值的量,常 量可以以數(shù)值形式出現(xiàn)在符號指令中,它又稱常數(shù)。量可以以數(shù)值形式出現(xiàn)在符號指令中,它又稱常數(shù)。 常數(shù)可以是二進(jìn)制、十進(jìn)制、十六進(jìn)制和常數(shù)可以是二進(jìn)制、十進(jìn)制、十六進(jìn)制和ascii碼等形碼等形 式。式。 3.4 m68hc083.4 m68hc08匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 2、偽指令、偽指令 偽指令是為了說明計(jì)算機(jī)在編譯匯編程序時(shí),如何處偽指令是為了說明計(jì)算

57、機(jī)在編譯匯編程序時(shí),如何處 理一些符號,它不是真正可執(zhí)行的指令。編譯過程結(jié)理一些符號,它不是真正可執(zhí)行的指令。編譯過程結(jié) 束,偽指令就消失。束,偽指令就消失。 (1)賦值偽指令)賦值偽指令 labelequn equ 相當(dāng)于相當(dāng)于“” n可以是一個(gè)數(shù)值,也可以是一個(gè)標(biāo)號??梢允且粋€(gè)數(shù)值,也可以是一個(gè)標(biāo)號。如:如: portaequ 0000h pta equ porta porta1 equ 1 rom_start equ 8000h 3.4 m68hc083.4 m68hc08匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) (2) 定位偽指令定位偽指令 org n 作用:把此語句后面的數(shù)據(jù)或程序連續(xù)存放在

58、以作用:把此語句后面的數(shù)據(jù)或程序連續(xù)存放在以n為為 起始的存儲空間中。如:起始的存儲空間中。如: org$0040 clra org $8000h (3) ram 存儲區(qū)變量定義偽指令存儲區(qū)變量定義偽指令 ds (或或rmb):預(yù)留字節(jié)定義預(yù)留字節(jié)定義 db (或或fcb):字節(jié)定義字節(jié)定義 dw (或或fdb):字定義字定義 3.4 m68hc083.4 m68hc08匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 標(biāo)號:標(biāo)號:ds(/rmb) n_ds 標(biāo)號:標(biāo)號:db(/fcb)n1_db, n2_db, nn_db 標(biāo)號:標(biāo)號:dw(/fdb) n1_dw, n2_dw,., nn_dw ds 偽指

59、令用于在偽指令用于在ram中定義中定義n_ds個(gè)連續(xù)的存儲空間,個(gè)連續(xù)的存儲空間, 該存儲空間不進(jìn)行初始化。該存儲空間不進(jìn)行初始化。 db 偽指令用于把后面的數(shù)據(jù)偽指令用于把后面的數(shù)據(jù)n1_db, n2_db,按字按字 節(jié)節(jié) 依次連續(xù)存放在以標(biāo)號為首地址的依次連續(xù)存放在以標(biāo)號為首地址的ram字節(jié)存字節(jié)存 儲單元中。儲單元中。 dw 偽指令用于把后面的數(shù)據(jù)偽指令用于把后面的數(shù)據(jù)n1_dw, n2_dw,.按字按字 (2字節(jié))依次連續(xù)存放在以標(biāo)號為首地址的字節(jié))依次連續(xù)存放在以標(biāo)號為首地址的 ram存儲單元中。存儲單元中。 3.4 m68hc083.4 m68hc08匯編語言程序設(shè)計(jì)匯編語言程序設(shè)

60、計(jì) 舉例:舉例: org$0040 data_ds ds 4 data_db fcb 12h, 34h, 56t, a, a, bc, bcd data_dw dw 12h, 34h, 56t, a, a, bc, bc, bcd 經(jīng)過上述定義后,經(jīng)過上述定義后,$0040$0061ram區(qū)共定義區(qū)共定義34字節(jié)字節(jié) 存儲單元。存儲單元。 3.4 m68hc083.4 m68hc08匯編語言程序設(shè)計(jì)匯編語言程序設(shè)計(jì) 3.4.2 3.4.2 匯編語言匯編語言 每行匯編語言格式如下:每行匯編語言格式如下: 標(biāo)號操作碼操作數(shù);注釋標(biāo)號操作碼操作數(shù);注釋 以上四部分,每段之間必須用空格以上四部分,每段

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論