首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

汇编之间断申请(例子)

2013-01-27 
汇编之中断申请(例子)*****************************************************************************

汇编之中断申请(例子)

;*****************************************************************************;  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


热点排行