在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 6502單片機(jī)編程--偽指令2

            6502單片機(jī)編程--偽指令2

            作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
            **宏指令**
            令我感到極度興奮的是 6502_Macroassembler &Simulator有強(qiáng)大的宏功能.這無疑使程序
            的編寫又簡單方便許多了.
            我們先說說宏的格式
            宏名:.MACRO 宏虛參數(shù)1,宏虛參數(shù)2,宏虛參數(shù)3.....
            宏體
            .ENDM
            這里.MACRO.ENDM必須成對出現(xiàn)
            宏調(diào)用的格式:
            宏名宏實(shí)參數(shù)1,宏實(shí)參數(shù)2,宏參數(shù)3
            具有宏調(diào)用的源程序被編譯時,每個宏調(diào)用將被編譯程序展開,宏展開實(shí)際上是宏定義時設(shè)計(jì)的宏體去代替相應(yīng)的宏指令名,并且用實(shí)際參數(shù)去取代虛參數(shù),以形成符合功能并可以被執(zhí)行的實(shí)際代碼
            我們舉例說明:
            實(shí)現(xiàn)中斷指令 INT
            大家知道,現(xiàn)在的6502編譯器都不支持INT指令,給書寫造成不便,不過現(xiàn)在我們可以用宏來實(shí)現(xiàn)
            .ORG $0000
            INT:.MACRO INT_PARAM
            .DB $00
            .DW INT_PARAM
            .ENDM
            說明,這里 INT 是宏名,注意后面要接 : ,INT_PARAM 是虛參數(shù),由于INT的機(jī)器碼是 00,所以我們在宏體中 .DB $00,比如 INT $C008,機(jī)器碼是 00 08 C0,所以我們 .DW INT_PARAM.這樣,我們實(shí)現(xiàn) INT 指令,例如我們在程序里輸入 INT $C008,就和文曲星里的 INT $C008是一樣的功能.
            我再舉個例子,6502中沒有寄存器X直接入堆棧和彈出堆棧功能的指令,這里我們用宏實(shí)現(xiàn)
            .ORG $0000
            PHX:.MACRO
            TXA
            PHA
            .ENDM
            PLX:.MACRO
            PLA
            TAX
            .ENDM
            MAIN:PHX
            ...
            PLX
            RTS
            看到了吧,我們在程序中就可以用 PHX,PLX
            雖然宏的功能比較大,但是我們不可以亂用,因?yàn)楹旰妥映绦蚴遣灰粯拥?span xml:lang="EN-US">,
            子程序由 JSR 調(diào)用,RTS 返回,所以匯編后子程序的機(jī)器碼只占有一個程序段,不管調(diào)用多少次都是如此,比較節(jié)省內(nèi)存.宏指令每調(diào)用一次都要占一個程序段,調(diào)用次數(shù)越多,占用內(nèi)存就越多,所以從開銷來說,子程序優(yōu)于宏指令,但從程序的執(zhí)行時間來分析,每調(diào)用一次子程序都要保護(hù)和恢復(fù)返回地址,要消耗一些時間宏指令調(diào)用不需要這個過程,執(zhí)行時間較短,所以從執(zhí)行時間來看,宏指令又優(yōu)于子程序.
            所以說,當(dāng)某一需要多次訪問的程序段較長,訪問次數(shù)又不是太多時,選用子程序比較好;當(dāng)某一需要多次訪問程序段較短,訪問次數(shù)又很頻繁時,選用宏指令比較好.


            關(guān)鍵詞: 6502單片機(jī)編程偽指

            評論


            技術(shù)專區(qū)

            關(guān)閉