彙編之中斷申請(例子)

來源:互聯網
上載者:User
;*****************************************************************************;  This file is a base code template for assembley code generation on the 8PE53.;*****************************************************************************;* TITLE        :;* REVISION     :;* AUTHOR       :;* COMPANY      :;* DATE         :;* CHIP         :8PE53;* CONFIG       :;*****************************************************************************;---------------Include files Segment-----------------------------------------#include        <8PE53.ASH>;---------------Custom define segment-----------------------------------------RG_INT_ACCTMP   REG     0x10                    ;example register definitionRG_INT_STATMP   REG     0x11                    ;example register definitionRG_INT_PCHTMP   REG     0x12                    ;example register definition;---RG_TEMP         REG     0x13                    ;example register definitionRG_COUNT0 REG  0x15RG_COUNT1 REG  0x16RG_COUNT2 REG  0x17RG_COUNT3 REG  0x18;---------------vaule segment-------------------------------------------------EQ_AAA          EQU     0x55                    ;example value definition;---------------Program segment-----------------------------------------------                ORG     0x000;---------------Software Interrupt Vector segment-----------------------------                ORG     0x002                   ;Software INT vector                                                ;Software interrupt program is written here.;---------------Hardware Interrupt Vector segment-----------------------------                ORG     0x008                   ;Hardware INT vector                MOVAR   RG_INT_ACCTMP                SWAPR   STATUS,A                MOVAR   RG_INT_STATMP                SWAPR   PCHBUF,A                MOVAR   RG_INT_PCHTMP           ;Save ACC STATUS PCHBUF template code                ;---INCR RG_COUNT0, 1;Increament RGCOUNT0BTRSC STATUS, 2;Test STATUS Z bitINCR RG_COUNT1, 1;If RG_COUNT0 is verflow, increse RG_COUNT1ANDIA 0X04;---            MOVIA 0X00                    ;Hardware interrupt program is written here.MOVAR INTFLAG;Clear interrupt FLA FLAG                ;---INT_EXIT:                SWAPR   RG_INT_PCHTMP,A                MOVAR   PCHBUF                SWAPR   RG_INT_STATMP,A                MOVAR   STATUS                SWAPR   RG_INT_ACCTMP,R                SWAPR   RG_INT_ACCTMP,A                RETFIE                          ;Restore ACC STATUS PCHBUF template code;--------------------init---------------------------------------------------------INIT:             CLRAMOVAR   PORTBMOVIA 0X00IOST PORTB  ;Set PortB to output mode, IOB3 is input onlyMOVIA 0X00OPTION ;Use internel clock sourceMOVIA 0X81MOVAR INTEN;Enable time0 intrCLRAMOVAR RG_COUNT0;Init counterMOVAR RG_COUNT1MOVAR RG_COUNT2MOVAR RG_COUNT3GOTO    MAIN;---------------------main--------------------------------------------------------MAIN:BTRSS RG_COUNT0,  0GOTO    INITGOTO MAIN;---------------MCU Boot/Reset Vector segment---------------------------------                ORG     0x3FF                   ;MCU reset vector                GOTO    INIT

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.